锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品成人综合色在线,gogo全球高清大胆亚洲,亚洲高清国产拍精品青青草原http://www.tkk7.com/nianzai/archive/2013/04/23/398272.htmlnianzainianzaiTue, 23 Apr 2013 05:19:00 GMThttp://www.tkk7.com/nianzai/archive/2013/04/23/398272.htmlhttp://www.tkk7.com/nianzai/comments/398272.htmlhttp://www.tkk7.com/nianzai/archive/2013/04/23/398272.html#Feedback0http://www.tkk7.com/nianzai/comments/commentRss/398272.htmlhttp://www.tkk7.com/nianzai/services/trackbacks/398272.html2銆乴eader鍚戞墍鏈夌殑QuorumPeer鍙戝嚭鎶曠エ璇鋒眰
3銆丵uorumPeer瀵硅璇鋒眰榪涜鎶曠エ錛屽鏋滄秷鎭殑txid澶т簬QuorumPeer鐨則xid鍒欓氳繃璇ユ姇紲紝鍚﹀垯鍙嶅璇ユ姇紲?br />4銆乴eader鏍規嵁鎵鏈夌殑QuorumPeer鎶曠エ緇撴灉榪涜璁$畻錛屽鏋滄湁涓鍗婁互涓婄殑QuorumPeer閫氳繃鍒欐帴鍙楁彁鍑鴻呯殑璇鋒眰錛屽惁鍒欐嫆緇濇彁鍑鴻呯殑璇鋒眰
        switch (message.getType())
        
{
            
case QuorumCode.ask://璇㈤棶綾誨瀷
                
//璇㈤棶璇ヤ簨鍔℃槸鍚﹀彲鎿嶄綔
                Ask task=new Ask(message,sc);
                My.executor.execute(task);
                m.setCode(JuiceCode.OK);
                
break;
            
case QuorumCode.vote://鎶曠エ綾誨瀷
                if(My.txid>=message.getTxid())
                    
//鎷掔粷
                    m.setCode(JuiceCode.ERROR);
                
else
                
{
                    
//閫氳繃
                    m.setCode(JuiceCode.OK);
                    My.updateMyTxid(message.getTxid());
                }

                
break;
            
case QuorumCode.ping://ping
                m.setCode(JuiceCode.OK);
                m.setMyid(message.getMyid());
                
break;
        }



    
public static boolean sendAndVote(Message m) throws IOException
    
{
        m.setType(QuorumCode.vote);
        Map
<Integer,Response> mp=new TreeMap<Integer,Response>();
        
for(Map.Entry<Integer,NIOClient> entry:voteClientMap.entrySet())
        
{
            NIOClient client
=entry.getValue();
            Response response
=client.send(ByteUtil.getBytes(m));
            mp.put(entry.getKey(), response);
        }


        Map
<Integer,Message> vote=new TreeMap<Integer,Message>();
        
for(Map.Entry<Integer,Response> entry:mp.entrySet())
            vote.put(entry.getKey(), (Message)ByteUtil.getObject(entry.getValue().getData()));

        
int ok=0;
        
for(Map.Entry<Integer,Message> entry:vote.entrySet())
        
{
            Message f
=entry.getValue();
            
if(f.getCode()==JuiceCode.OK)
                ok
++;
        }

        
if(ok/(vote.size()*1.0)>1/2.0)
            
return true;
        
return false;
    }




nianzai 2013-04-23 13:19 鍙戣〃璇勮
]]>
鍒嗗竷寮忔湇鍔″崗璁畃axos涓璴eader閫変婦瀹炵幇浠g爜http://www.tkk7.com/nianzai/archive/2013/04/17/397958.htmlnianzainianzaiWed, 17 Apr 2013 03:15:00 GMThttp://www.tkk7.com/nianzai/archive/2013/04/17/397958.htmlhttp://www.tkk7.com/nianzai/comments/397958.htmlhttp://www.tkk7.com/nianzai/archive/2013/04/17/397958.html#Feedback0http://www.tkk7.com/nianzai/comments/commentRss/397958.htmlhttp://www.tkk7.com/nianzai/services/trackbacks/397958.html1銆佹敹闆嗙涓杞姇紲ㄧ粨鏋?br />2銆佺粺璁℃姇紲ㄦ暟錛岃綆楀嚭鎶曠エ鏁版渶澶х殑id
3銆佸鏋滄姇紲ㄦ暟瓚呰繃1/2鍒欓夎id涓簂eader
4銆佸鏋滄渶澶ф姇紲ㄦ暟id娌℃湁瓚呰繃1/2,鍒欐帹鑽恡xid鏈澶х殑id涓簂eader
5銆佽綆楀嚭鏈澶х殑txid鍙婂叾鏈嶅姟鍣╥d
6銆佽綆楀嚭鏈澶х殑txid鏈夊嚑涓?br />7銆佸鏋滄渶澶xid瓚呰繃涓涓紝鍒欐瘮杈冩湇鍔″櫒id錛屾帹鑽愭湇鍔d鏈澶х殑涓簂eader
8銆佸彂璧風浜岃疆鎶曠エ

Java瀹炵幇浠g爜濡備笅錛?br />
        /**
         * 閫変婦leader
         * 
@param vote 鎶曠エ淇℃伅
         * 
@return
         
*/

        
public int forLeader(Map<Integer,Notification> vote)
        
{
            
//緇熻leader鎶曠エ鏁?/span>
            TreeMap<Integer,Integer> tmap=new TreeMap<Integer,Integer>();
            
for(Map.Entry<Integer,Notification> entry:vote.entrySet())
            
{
                Notification nf
=entry.getValue();
                
if(tmap.containsKey(nf.leader))
                    tmap.put(nf.leader, tmap.get(nf.leader)
+1);
                
else
                    tmap.put(nf.leader, 
1);
            }

            
//璁$畻鍑烘姇紲ㄦ暟鏈澶х殑id
            int a=0;
            
int l=0;
            
for(Map.Entry<Integer,Integer> entry:tmap.entrySet())
            
{
                
if(entry.getValue()>a)
                
{
                    a
=entry.getValue();
                    l
=entry.getKey();
                }

            }

            
//濡傛灉鎶曠エ鏁拌秴榪?/2鍒欓夎id涓簂eader
            if(a/(My.serverList.size()*1.0)>1/2.0)
            
{
                
//閫夊嚭leader
                if(l==My.myid)
                    My.myServerState
=ServerState.LEADING;
                
else
                    My.myServerState
=ServerState.FLLOWING;
                My.leader
=l;
                
                
return -1;
            }

            
//濡傛灉鏈澶ф姇紲ㄦ暟leader娌℃湁瓚呰繃1/2,鍒欐帹鑽恡xid鏈澶х殑id涓簂eader
            
//璁$畻鍑烘渶澶х殑txid鍙婂叾鏈嶅姟鍣╥d
            long txid=0;
            
int leader=0;
            
for(Map.Entry<Integer,Notification> entry:vote.entrySet())
            
{
                
if(entry.getValue().txid>txid)
                
{
                    leader
=entry.getKey();
                    txid
=entry.getValue().txid;
                }

            }

            
//璁$畻鍑烘渶澶х殑txid鏈夊嚑涓?/span>
            Map<Integer,Notification> vte=new TreeMap<Integer,Notification>();
            
for(Map.Entry<Integer,Notification> entry:vote.entrySet())
            
{
                
if(entry.getValue().txid==txid)
                
{
                    vte.put(entry.getValue().id, entry.getValue());
                }

            }

            
//濡傛灉瓚呰繃涓涓紝鍒欐瘮杈冩湇鍔″櫒id錛屾帹鑽愭湇鍔d鏈澶х殑涓簂eader
            if(vte.size()>1)
            
{
                
for(Map.Entry<Integer,Notification> entry:vte.entrySet())
                
{
                    
if(entry.getValue().id>leader)
                        leader
=entry.getKey();
                }

            }

            
return leader;
        }

    }



nianzai 2013-04-17 11:15 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产免费一级高清淫曰本片| 亚洲午夜av影院| 国产午夜成人免费看片无遮挡| 波多野结衣亚洲一级| 亚洲电影免费在线观看| 亚洲情侣偷拍精品| 日韩一级在线播放免费观看| 99国产精品免费观看视频| 中文字幕在线免费视频| 免费国产黄网站在线看| 亚洲AV无码国产一区二区三区| 亚洲国产av一区二区三区丶| 久久久久亚洲精品成人网小说| 亚洲第一视频在线观看免费| 日韩成人免费aa在线看| 免费国产作爱视频网站| 亚洲视频在线观看免费视频| 中文字幕日本人妻久久久免费| 国产精品一区二区三区免费| 国产成人综合久久精品亚洲| 国产精品亚洲一区二区在线观看| 国产精品亚洲精品| 亚洲一区在线视频| 亚洲国产成AV人天堂无码| 久久狠狠高潮亚洲精品 | 亚洲av成本人无码网站| 亚洲1234区乱码| 亚洲一区二区三区深夜天堂| 亚洲成a人片在线观| 亚洲成年人电影在线观看| 亚洲一区二区影院| 中文字幕亚洲色图| 亚洲人成网站18禁止久久影院 | 99re热精品视频国产免费| 国产成人精品一区二区三区免费 | 亚洲综合日韩中文字幕v在线 | 免费观看久久精彩视频| 免费人成黄页在线观看日本| 青青草无码免费一二三区| 1000部免费啪啪十八未年禁止观看| **毛片免费观看久久精品|