地區(qū)編號是否與當前所在地區(qū)組中的第一地區(qū)相對應,若為是,則返回步驟S655,若為否,則結束。
[0081]如圖8所示,在一個實施例中,一種同步網絡數(shù)據(jù)的系統(tǒng),包括接收模塊10和同步處理模塊30。
[0082]接收模塊10,用于接收同步數(shù)據(jù)包,從同步數(shù)據(jù)包提取上一跳地區(qū)組標識。
[0083]本實施例中,同步數(shù)據(jù)包的傳遞將用于實現(xiàn)地區(qū)組之間以及地區(qū)組內的網絡數(shù)據(jù)同步,進行同步數(shù)據(jù)包接收的地區(qū)組中將是根據(jù)與網絡數(shù)據(jù)同步相關的若干個地域配置的,每一地區(qū)組均包括了若干個服務器。
[0084]同步數(shù)據(jù)包由上一跳地區(qū)組傳遞至當前所在地區(qū)組,此時,當前所在地區(qū)組的接收模塊10將接收到同步數(shù)據(jù)包,并由接收的同步數(shù)據(jù)包中提取得到上一跳地區(qū)組標識,該上一跳地區(qū)組標識為同步數(shù)據(jù)包中的字段,例如,同步數(shù)據(jù)包中的LastRG字段,用于對傳遞了同步數(shù)據(jù)包的上一跳地區(qū)組進行標識,其中,當前所在地區(qū)組為配置的若干個地區(qū)組中的任意一個。
[0085]同步處理模塊30,用于根據(jù)上一跳地區(qū)標識和當前所在地區(qū)組的下一跳地區(qū)組將同步數(shù)據(jù)包中的網絡數(shù)據(jù)同步至當前所在地區(qū)組的下一跳地區(qū)組中。
[0086]本實施例中,同步數(shù)據(jù)包中的網絡數(shù)據(jù)可以是用戶狀態(tài)信息,也可以是用戶發(fā)布的各種消息,在此不一一進行列舉,網絡數(shù)據(jù)的具體內容將根據(jù)實際的應用場景相對應。例如,在即時通信工具中,同步數(shù)據(jù)包中的網絡數(shù)據(jù)即為用戶狀態(tài)信息,以實現(xiàn)即時通信工具中各聯(lián)系人在線或者離線狀態(tài)的同步。
[0087]進一步的,地區(qū)組將分別與網絡數(shù)據(jù)同步相關的若干個地域相對應。根據(jù)網絡數(shù)據(jù)所需要進行同步的地域范圍進行劃分,以得到若干個地域,進而在每一地域配置與之對應的地區(qū)組,即服務器群組,以便于通過地區(qū)組實現(xiàn)地域之間以及地域中的網絡數(shù)據(jù)同步。
[0088]例如,根據(jù)網絡數(shù)據(jù)所需要進行同步的地域范圍為全世界,此時,可將全世界劃分為中國北方地域、中國南方地域、東南亞地域和美國地域,相應的,將為這四個地域分別配置中國北方地區(qū)組、中國南方地區(qū)組、東南亞地區(qū)組和美國地區(qū)組。
[0089]進一步的,所有地區(qū)組之間,同步處理模塊30將使用最小連接樹策略進行網絡數(shù)據(jù)的同步,即任意兩個地區(qū)組之間,有且僅有一種相通路徑,例如,從中國北方地區(qū)組到美國地區(qū)組則必須經過中國南方地區(qū)組,別無它徑,以最小化地區(qū)組之間的網絡總流量。
[0090]如圖9所示,在一個實施例中,上述同步處理模塊30包括地區(qū)組判斷單元310和數(shù)據(jù)同步單元330。
[0091]地區(qū)組判斷單元310,用于判斷提取的上一跳地區(qū)組標識是否與當前所在地區(qū)組的下一跳地區(qū)組相符,若為否,則通知數(shù)據(jù)同步單元330,若為是,則通知地區(qū)同步單元350。
[0092]本實施例中,從接收的同步數(shù)據(jù)包提取得到上一跳地區(qū)組標識之后,地區(qū)組判斷單元310將判斷提取的上一跳地區(qū)組標識是否為當前所在地區(qū)組的下一跳地區(qū)組所對應的標識,若為是,則說明這一同步數(shù)據(jù)包即為當前所在地區(qū)組的下一跳地區(qū)組傳遞至當前所在地區(qū)組的,因此,將不需要進行地區(qū)組之間的網絡數(shù)據(jù)同步,而只需要地區(qū)同步單元350通過接收的同步數(shù)據(jù)包實現(xiàn)當前所在地區(qū)組內的同步即可。
[0093]數(shù)據(jù)同步單元330,用于將同步數(shù)據(jù)包中的網絡數(shù)據(jù)同步至當前所在地區(qū)組的下一跳地區(qū)組。
[0094]本實施例中,若判斷到提取的上一跳地區(qū)組標識并不是當前所在地區(qū)組的下一跳地區(qū)組所對應的標識,數(shù)據(jù)同步單元330將從同步數(shù)據(jù)包中提取得到網絡數(shù)據(jù),以將網絡數(shù)據(jù)同步至這一下一跳地區(qū)組中。
[0095]地區(qū)同步單元350,用于根據(jù)當前所在地區(qū)組中第一地區(qū)的同步數(shù)據(jù)包所包含的原始地區(qū)組標識,將同步數(shù)據(jù)包中的網絡數(shù)據(jù)同步至第一地區(qū)的下一跳地區(qū)。
[0096]本實施例中,判斷到提取的上一跳地區(qū)組標識與當前所在地區(qū)組的下一跳地區(qū)組相符,地區(qū)同步單元350將在同步數(shù)據(jù)包的當前所在地區(qū)組中進行網絡數(shù)據(jù)的同步。
[0097]具體的,每一地區(qū)組內也將根據(jù)其所在地域中包含的區(qū)域進行二級劃分,其中,每一區(qū)域都將設置了相應的地區(qū),該地區(qū)可為用于實現(xiàn)對應區(qū)域中網絡數(shù)據(jù)同步的服務器或者服務器群組,第一地區(qū)和下一跳地區(qū)均配置于當前所在地區(qū)組中。
[0098]例如,可對中國北方地區(qū)組進行二級劃分,根據(jù)中國北方這一地域中北京、天津和西安三個區(qū)域,分別在這三個區(qū)域中設置相應的服務器或服務器群組,即北京地區(qū)、天津地區(qū)和西安地區(qū),以實現(xiàn)中國北方地區(qū)組中的網絡數(shù)據(jù)同步。
[0099]進一步的,同步數(shù)據(jù)包中包含了原始地區(qū)組標識,該原始地區(qū)組標識將標記了生成同步數(shù)據(jù)包以及同步數(shù)據(jù)包中的網絡數(shù)據(jù)的地區(qū)組,地區(qū)同步單元350將根據(jù)原始地區(qū)組標識以及同步數(shù)據(jù)包當前所在地區(qū)組確定是否將同步數(shù)據(jù)包中的網絡數(shù)據(jù)同步至第一地區(qū)的下一跳地區(qū)中。
[0100]每一地區(qū)之間將采用完全連接圖策略進行網絡數(shù)據(jù)的同步,也就是說,每一地區(qū)之間均有至少一條相通路徑,以保證地區(qū)之間的網絡數(shù)據(jù)以最快的方式進行同步,以使得每一地區(qū)中的網絡數(shù)據(jù)都能夠得到最為及時的更新。
[0101]如圖10所示,在一個實施例中,上述地區(qū)同步單元350包括標識提取單元351、原始標識判斷單元353、地區(qū)數(shù)據(jù)同步單元355和編號判斷單元357。
[0102]標識提取單元351,用于從第一地區(qū)的同步數(shù)據(jù)包中提取原始地區(qū)組標識。
[0103]本實施例中,原始地區(qū)組標識為同步數(shù)據(jù)包中的字段,原始地區(qū)組標識將用于標記產生同步數(shù)據(jù)包的地區(qū)組,例如,同步數(shù)據(jù)包中的LastRG。
[0104]原始標識判斷單元353,用于判斷原始地區(qū)組標識是否與當前所在地區(qū)組相對應,若為否,則通知地區(qū)數(shù)據(jù)同步單元355,若為是,則通知編號判斷單元357。
[0105]本實施例中,原始標識判斷單元353判斷生成同步數(shù)據(jù)包的地區(qū)組是否即為該同步數(shù)據(jù)包當前所在地區(qū)組,若為否,則通知地區(qū)數(shù)據(jù)同步單元355直接在當前所在地區(qū)組中為各個地區(qū)進行同步數(shù)據(jù)包中網絡數(shù)據(jù)的同步即可,若為是,則需要通知編號判斷單元357進一步對該同步數(shù)據(jù)包的生成地區(qū)進行確認。
[0106]地區(qū)數(shù)據(jù)同步單元355,用于將同步數(shù)據(jù)包中的網絡數(shù)據(jù)同步至第一地區(qū)的下一跳地區(qū)。
[0107]本實施例中,在判斷到生成同步數(shù)據(jù)包的地區(qū)組并不是當前所在地區(qū)組時,地區(qū)數(shù)據(jù)同步單元355將直接對當前所在地區(qū)組中的地區(qū)進行同步數(shù)據(jù)包中網絡數(shù)據(jù)的同步。第一地區(qū)即為當前所在地區(qū)組中當前同步數(shù)據(jù)包所在的地區(qū),第一地區(qū)將是當前所在地區(qū)組中的任意一個地區(qū)。
[0108]編號判斷單元357,用于進一步判斷同步數(shù)據(jù)包中的原始地區(qū)編號是否與當前所在地區(qū)組中的第一地區(qū)相對應,若為是,則通知地區(qū)數(shù)據(jù)同步單元355,若為否,則停止執(zhí)行。
[0109]本實施例中,原始地區(qū)編號為同步數(shù)據(jù)包中的字段,例如,RealReg1n。編號判斷單元357從同步數(shù)據(jù)包中提取得到原始地區(qū)編號,以根據(jù)原始地區(qū)編號判斷當前所在地區(qū)組中的第一地區(qū)是否為生成該同步數(shù)據(jù)包的地區(qū),若為是,則直接將同步數(shù)據(jù)包中的網絡數(shù)據(jù)同步至第一地區(qū)的下一跳地區(qū)中,若為否,則不需要再進行同步數(shù)據(jù)包中網絡數(shù)據(jù)的同步。
[0110]在一個實施例中,如圖11所示,提供了一種可運行前述同步網絡數(shù)據(jù)的方法的服務器結構示意圖。該服務器500可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(central processing units, CPU) 522 (例如,一個或一個以上處理器)和存儲器532,一個或一個以上存儲應用程序542或數(shù)據(jù)544的存儲介質530 (例如一個或一個以上海量存儲設備)。其中,存儲器532和存儲介質530可以是短暫存儲或持久存儲。存儲在存儲介質530的程序可以包括一個或一個以上模塊