一種維護組織結構信息的方法及裝置制造方法
【專利摘要】本發(fā)明涉及移動通信【技術領域】,尤其涉及一種維護組織結構信息的方法及裝置,用以解決現(xiàn)有技術中存在的維護企業(yè)組織結構信息的方法在應用于大型企業(yè)時,易造成服務器性能壓力較大,且容錯率較低的問題;本發(fā)明實施例提供的方法包括:客戶端確定服務器中對應組織結構信息的哈希樹信息與本地存儲的對應該組織結構信息的哈希樹信息中不同的節(jié)點信息,根據(jù)確定的節(jié)點信息獲取服務器中對應該節(jié)點信息的組織結構信息,進而更新本地存儲的組織結構信息;由于哈希樹信息的比較及組織結構信息的更新都是由客戶端來完成,因而能有效降低服務器的性能壓力,而且,即使某次組織結構信息更新出現(xiàn)故障,下次仍然可以進行正確的更新,容錯率較高。
【專利說明】一種維護組織結構信息的方法及裝置
【技術領域】
[0001]本發(fā)明涉及移動通信【技術領域】,尤其涉及一種維護組織結構信息的方法及裝置?!颈尘凹夹g】
[0002]在目前的企業(yè)即時通信系統(tǒng)中,往往需要用到企業(yè)組織結構信息??蛻舳双@得企業(yè)組織結構信息一般有兩種方法,一種是客戶端實時從服務器上查詢組織結構信息,并根據(jù)查詢結果進行顯示,另一種是客戶端登錄服務器后從服務器中下載企業(yè)組織結構信息到客戶端,然后客戶端進行本地查詢和顯示。前一種方法的優(yōu)點在于能夠?qū)崟r查詢到最新信息,并且能有效降低組織結構信息下載的流量消耗,但是該方法不適合應用于大型企業(yè),因為大型企業(yè)的組織結構信息量很大,頻繁的組織結構信息查詢會對服務器造成極大的性能壓力;第二種方法的優(yōu)點在于查詢和顯示效率較高,而且這種方式支持離線模式下的信息訪問。
[0003]現(xiàn)有技術中采用第二種方法進行組織結構信息查詢和顯示時,有的采用登錄服務器后下載最新版完整組織結構信息的方式,這種方式在大型企業(yè)中基本上不可用,因為大型企業(yè)組織結構信息量和相應的系統(tǒng)用戶量都很大,而用戶登錄時間往往都集中在早晨上班期間,這樣很容易對企業(yè)的網(wǎng)絡帶寬瞬間造成巨大的壓力。比如,某集團型企業(yè)早晨30分鐘內(nèi)有1.5萬人登錄上線,而組織結構信息中包含了 2萬部門和12萬人員信息,數(shù)據(jù)文件大小約為30M,經(jīng)測算平均網(wǎng)絡消耗為250M/S,企業(yè)對此基本上是無法承受的。
[0004]現(xiàn)有技術中采用第二種方法進行組織結構信息查詢和顯示時,還有的是采用根據(jù)時間戳更新本地組織結構信息的方法,即客戶端將自身與服務器中記錄的組織結構信息對應的時間戳進行比較,如果二者不同則從服務器上下載這兩個時間戳對應的時間段中組織結構信息的改動并根據(jù)這些改動進行本地組織結構信息更新,但是,這種根據(jù)時間戳更新本地組織結構信息的方法還存在如下缺點:
[0005]由于客戶端記錄的時間戳有很多,所以服務器需要同時針對不同時間戳生成不同的增量來更新客戶端記錄的組織結構信息,而且,由于組織結構信息對應的數(shù)據(jù)的變化不僅包括數(shù)據(jù)新增,還包括數(shù)據(jù)修改和刪除等,服務器必須針對每個客戶端提取所有變化的數(shù)據(jù),并進行數(shù)據(jù)封裝和發(fā)送,這樣就會給服務器造成較大的性能壓力;再者,如果某次更新本地組織結構信息的時候發(fā)生錯誤,后續(xù)更新則無法針對之前的錯誤進行修正,導致容錯率較低。
[0006]綜上,現(xiàn)有技術中維護企業(yè)組織結構信息的方法在應用于大型企業(yè)時容易造成服務器性能壓力較大,且容錯率較低。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供一種維護組織結構信息的方法及裝置,用以解決現(xiàn)有技術中存在的維護企業(yè)組織結構信息的方法在應用于大型企業(yè)時,易造成服務器性能壓力較大,且容錯率較低的問題。[0008]本發(fā)明實施例提供的一種維護組織結構信息的方法,包括:
[0009]所述客戶端確定服務器中對應所述組織結構信息的哈希樹信息與本地存儲的對應所述組織結構信息的哈希樹信息中不同的節(jié)點信息,所述不同的節(jié)點信息是所述服務器中與所述客戶端中對應同一節(jié)點的不同的哈希值和/或所述服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值和/或所述服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值;
[0010]所述客戶端根據(jù)確定的所述節(jié)點信息獲取所述服務器中對應所述節(jié)點信息的組織結構信息;
[0011]所述客戶端將本地存儲的與所述服務器中不同的節(jié)點信息所對應的本地組織結構信息更新為從所述服務器中獲取的所述組織結構信息,并在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為所述服務器中對應的節(jié)點信息,或基于獲取到的組織結構信息確定并更新對應的節(jié)點信息。
[0012]本發(fā)明實施例提供的一種維護組織結構信息的裝置,包括:
[0013]確定模塊,用于確定服務器中對應所述組織結構信息的哈希樹信息與本地存儲的對應所述組織結構信息的哈希樹信息中不同的節(jié)點信息,所述不同的節(jié)點信息是所述服務器中與本地對應同一節(jié)點的不同的哈希值和/或所述服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值和/或所述服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值;
[0014]獲取模塊,用于根據(jù)確定的所述節(jié)點信息獲取所述服務器中對應所述節(jié)點信息的組織結構信息;
[0015]更新模塊,用于將本地存儲的與所述服務器中不同的節(jié)點信息所對應的本地組織結構信息更新為從所述服務器中獲取的所述組織結構信息,并在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為所述服務器中對應的節(jié)點信息,或基于獲取到的組織結構信息確定并更新對應的節(jié)點信息。
[0016]本發(fā)明實施例中客戶端確定服務器中對應組織結構信息的哈希樹信息與本地存儲的對應該組織結構信息的哈希樹信息中不同的節(jié)點信息,根據(jù)確定的節(jié)點信息獲取服務器中對應該節(jié)點信息的組織結構信息,進而更新本地存儲的組織結構信息,由于哈希樹信息的比較及組織結構信息的更新都是由客戶端來完成,因而能有效降低服務器的性能壓力,而且,采用本發(fā)明實施例的方法及裝置,即使某次組織結構信息更新出現(xiàn)故障,下次更新的時候依然可以將本地存儲的與服務器中最新組織結構信息不同的信息找到并進行更新,容錯率較高。
【專利附圖】
【附圖說明】
[0017]圖1為本發(fā)明實施例提供的維護組織結構信息的方法流程圖;
[0018]圖2為本發(fā)明實施例提供的維護組織結構信息的較佳的實施例流程圖;
[0019]圖3為本發(fā)明實施例提供的對應某個組織結構的哈希樹結構示意圖;
[0020]圖4為本發(fā)明實施例提供的維護組織結構信息的裝置結構圖。
【具體實施方式】
[0021 ] 本發(fā)明實施例中客戶端確定服務器中對應組織結構信息的哈希樹信息與本地存儲的對應該組織結構信息的哈希樹信息中不同的節(jié)點信息,根據(jù)確定的節(jié)點信息獲取服務器中對應該節(jié)點信息的組織結構信息,進而更新本地存儲的組織結構信息,由于哈希樹信息的比較及組織結構信息的更新都是由客戶端自身來完成,因而能有效降低服務器的性能壓力,而且,采用本發(fā)明實施例的方法及裝置,即使某次組織結構信息更新出現(xiàn)故障,下次更新的時候依然可以將本地存儲的與服務器中最新組織結構信息不同的信息找到并進行更新,容錯率較高。
[0022]下面結合說明書附圖對本發(fā)明實施例作進一步詳細描述。
[0023]如圖1所示,為本發(fā)明實施例提供的維護組織結構信息的方法流程圖,包括以下步驟:
[0024]SlOl:客戶端確定服務器中對應組織結構信息的哈希樹信息與本地存儲的對應該組織結構信息的哈希樹信息中不同的節(jié)點信息,不同的節(jié)點信息是服務器中與客戶端中對應同一節(jié)點的不同的哈希值和/或服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值和/或服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值;
[0025]S102:客戶端根據(jù)確定的節(jié)點信息獲取服務器中對應該節(jié)點信息的組織結構信息;
[0026]S103:客戶端將本地存儲的與服務器中不同的節(jié)點信息所對應的本地組織結構信息更新為從服務器中獲取的組織結構信息,并在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為服務器中對應的節(jié)點信息,或基于獲取到的組織結構信息確定并更新對應的節(jié)點信息。
[0027]這里,本發(fā)明實施例的基本思想是通過建立對應組織結構信息的哈希樹信息,也即建立哈希樹信息中的不同的哈希值與組織結構信息中不同的組織成員信息的對應關系,通過比較哈希值的變化,對應找到組織結構信息的變化,進而進行本地組織結構信息的更新;建立的哈希樹信息可以有多級節(jié)點,其中根節(jié)點信息對應整個組織結構信息,根節(jié)點的下級節(jié)點信息對應組織結構信息的各個分支結構的信息,哈希樹最底層的葉子節(jié)點信息可以對應組織結構信息中單個成員的信息;
[0028]在具體實施過程中,客戶端可以首先針對本地存儲的組織結構信息,建立對應的哈希樹信息,也可以在首次登錄服務器獲取組織結構信息時,同時獲取服務器中建立的對應該組織結構信息的哈希樹信息,之后,客戶端根據(jù)服務器中組織結構信息及對應的哈希樹信息的變化情況,進行本地存儲的組織結構信息及對應的哈希樹信息的更新;
[0029]客戶端確定服務器當前存儲的哈希樹信息與本地存儲的哈希樹信息中不同的節(jié)點信息,不同的節(jié)點信息可以是以下信息的一種或幾種:
[0030]服務器中與客戶端中對應同一節(jié)點的不同的哈希值;
[0031]服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值;
[0032]服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值。
[0033]如,當組織結構信息中某個成員的個人信息發(fā)生了變化時,服務器中更新了對應該成員的節(jié)點的哈希值,這時客戶端中對應該成員的節(jié)點的哈希值仍然為服務器更新前的對應該成員的節(jié)點的哈希值,即會產(chǎn)生服務器中與客戶端中對應同一節(jié)點的不同的哈希值;當組織結構信息中增加了某個成員及對應的信息時,服務器中增加了對應該成員的節(jié)點及該節(jié)點的哈希值,但是客戶端中存儲的仍然為服務器增加該成員信息之前的組織結構信息對應的哈希樹信息,即會產(chǎn)生服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值;當組織結構信息中刪除了某個成員及對應的信息時,服務器中刪除了對應該成員的節(jié)點及該節(jié)點的哈希值,但是客戶端中存儲的仍然為服務器刪除該成員信息之前的組織結構信息對應的哈希樹信息,即會產(chǎn)生服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值。
[0034]較佳地,客戶端根據(jù)以下步驟確定不同的節(jié)點信息:
[0035]客戶端比較服務器中的哈希樹信息中根節(jié)點的哈希值與本地存儲的哈希樹信息中根節(jié)點的哈希值是否相同,
[0036]如果不相同,則獲取服務器中的哈希樹信息;
[0037]客戶端從獲取的哈希樹信息中確定與本地存儲的哈希樹信息中除根節(jié)點信息外不同的節(jié)點信息。
[0038]這里,當組織結構信息中某個成員信息發(fā)生變化時,就會導致哈希樹信息中對應該成員信息的節(jié)點的哈希值發(fā)生變化,根據(jù)哈希樹的結構特點,該節(jié)點的上級節(jié)點的哈希值也會對應發(fā)生變化,進而導致根節(jié)點的哈希值發(fā)生變化,因而,只需比較本地存儲的與服務器中的哈希樹根節(jié)點的哈希值,就可確定組織結構信息是否發(fā)生了變化。
[0039]在具體實施過程中,客戶端可以登錄服務器,然后從服務器中查詢對應組織結構信息的哈希樹信息的根節(jié)點的哈希值,將查詢到的根節(jié)點的哈希值與本地存儲的哈希樹信息中根節(jié)點的哈希值進行比較,若發(fā)現(xiàn)兩者不相同,則確定組織結構信息發(fā)生了變化,客戶端可以將服務器中的哈希樹信息下載下來,然后在本地將下載下來的哈希樹信息與本地存儲的哈希樹信息進行比較,確定服務器中當前存儲的哈希樹信息與本地存儲的哈希樹信息中除根節(jié)點信息外不同的節(jié)點信息,然后,可以將服務器中對應該節(jié)點信息的組織結構信息下載下來,再將本地存儲的與服務器中不同的節(jié)點信息所對應的本地組織結構信息替換為從服務器中下載下來的組織結構信息,并將本地存儲的與服務器中不同的節(jié)點信息更新為服務器中的節(jié)點信息。
[0040]這里,客戶端從服務器中下載哈希樹這種數(shù)據(jù)結構相比從服務器中直接下載組織結構信息這種實際的組織成員信息,遠遠降低了流量消耗,在確定發(fā)生變化的組織結構信息后,可以只將該組織結構信息從服務器中下載下來,有效減少了下載的組織結構信息量。
[0041]較佳地,節(jié)點信息是葉子節(jié)點信息,該葉子節(jié)點信息對應組織結構信息中單個成員的信息。
[0042]在具體實施過程中,上述客戶端確定的服務器當前存儲的哈希樹信息與本地存儲的哈希樹信息中不同的節(jié)點信息可以是哈希樹中任何節(jié)點的信息,但是,從下載的工作量上考慮,如果具體到能確定組織結構信息中變化的單個成員的信息所對應的節(jié)點信息,也即哈希樹中的葉子節(jié)點信息,那么在進行組織結構信息更新的時候,客戶端只需將服務器中對應該葉子節(jié)點信息的單個成員的信息下載下來,只將本地存儲的單個成員的信息進行更新即可,這樣便可有效節(jié)省下載流量;這里的單個成員的信息可以是單個成員的多種信息,如某個葉子節(jié)點信息對應組織結構中成員王某的信息,包括王某的性別、手機號、郵箱
坐坐寸寸o
[0043]較佳地,客戶端根據(jù)以下步驟確定不同的葉子節(jié)點信息:
[0044]客戶端針對獲取的哈希樹信息中根節(jié)點下的各層節(jié)點,逐級查找與本地存儲的哈希樹信息中根節(jié)點下的各層節(jié)點的不同節(jié)點信息,直到查找到服務器中與客戶端不同的哈希樹葉子節(jié)點信息。
[0045]在具體實施過程中,客戶端在比較服務器中與本地存儲的根節(jié)點的哈希值不同后,將服務器中的哈希樹信息下載下來,并與本地存儲的哈希樹信息進行比較,比較時,可以采用由上級到下級,也即由父節(jié)點到子節(jié)點的逐級比較的方式,在父節(jié)點的哈希值不同時,再比較對應該父節(jié)點的子節(jié)點的哈希值,直到查找到服務器中與客戶端不相同的哈希樹葉子節(jié)點信息。
[0046]較佳地,客戶端在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為服務器中對應的節(jié)點信息,包括:
[0047]客戶端獲取服務器中的哈希樹信息;并
[0048]使用獲取的哈希樹信息更新本地存儲的哈希樹信息。
[0049]在具體實施過程中,客戶端可以獲取服務器中的整個哈希樹信息,然后直接將本地存儲的哈希樹信息替換為從服務器中獲取的哈希樹信息,也可以只將本地存儲的確定的不同的節(jié)點信息替換為服務器中的節(jié)點信息。
[0050]較佳地,客戶端基于獲取到的組織結構信息確定并更新對應的節(jié)點信息;
[0051]在具體實施過程中,客戶端可以在更新完組織結構信息后,更新對應的哈希樹信息;采用這種方式進行哈希樹信息更新,可以保證本地存儲的組織結構信息與哈希樹信息的準確對應關系,可以在客戶端本次沒有準確更新組織結構信息時,后續(xù)再經(jīng)過本地與服務器中哈希樹信息的比較后,仍然可以將沒有準確更新的組織結構信息重新更新。具體地,可以只針對發(fā)生變化的組織結構信息計算并更新對應變化后的組織結構信息的節(jié)點的哈希值,也可以重新計算更新后的整個組織結構信息對應的節(jié)點的哈希值。
[0052]本發(fā)明實施例還提供一種服務器維護組織結構信息的方法,包括:
[0053]服務器建立對應組織結構信息的哈希樹信息,并
[0054]在該組織結構信息中的組織結構信息發(fā)生變化時,將建立的哈希樹信息中對應變化前的組織結構信息的節(jié)點信息替換為對應變化后的組織結構信息的節(jié)點信息。
[0055]如圖2所示,為本發(fā)明實施例提供的維護組織結構信息的較佳的實施例流程圖,包括:
[0056]S201:客戶端建立對應本地存儲的組織結構信息的哈希樹信息;
[0057]如圖3所示,為本發(fā)明實施例提供的對應某個組織結構的哈希樹結構示意圖,
[0058]假設該組織結構為一個公司,圖中的根節(jié)點I對應整個公司,根節(jié)點的下一級節(jié)點2和節(jié)點3可以對應該公司下的兩個部門,節(jié)點2的子節(jié)點4和5則可以對應節(jié)點2所對應的部門下的兩個公司成員,同樣,節(jié)點3的子節(jié)點6-8則可以對應節(jié)點3所對應的部門下的三個公司成員。
[0059]S202:客戶端比較服務器中對應該組織結構信息的哈希樹信息中根節(jié)點的哈希值與本地存儲的哈希樹信息中根節(jié)點的哈希值是否相同,如果相同,則結束操作,如果不同,則進入步驟S203 ;
[0060]如圖3所示,客戶端登錄服務器后,從服務器中查詢根節(jié)點I的哈希值,并將其與本地存儲的根節(jié)點的哈希值進行比較,若兩者相同,則說明組織結構信息沒有發(fā)生變化,如果兩者不同,則說明組織結構信息發(fā)生了變化。[0061]S203:客戶端獲取服務器中的哈希樹信息;
[0062]這里,客戶端可將服務器中的整個哈希樹信息下載下來,以便具體比較根節(jié)點的下幾級節(jié)點的哈希值是否相同。
[0063]S204:客戶端針對獲取的哈希樹信息中根節(jié)點下的各層節(jié)點,逐級查找與本地存儲的哈希樹信息中根節(jié)點下的各層節(jié)點的不同節(jié)點信息,直到查找到服務器中與客戶端不同的哈希樹葉子節(jié)點信息。
[0064]如圖3所示,客戶端繼續(xù)比較從服務器中下載下來的哈希樹信息中節(jié)點2和節(jié)點3的哈希值與本地存儲的節(jié)點2和節(jié)點3的哈希值,發(fā)現(xiàn)節(jié)點2的哈希值發(fā)生了變化,表明節(jié)點2所對應的部門下有成員信息的變動,客戶端繼續(xù)比較從服務器中下載下來的與本地存儲的哈希樹信息中節(jié)點2的子節(jié)點的哈希值,也即葉子節(jié)點4和5的哈希值,發(fā)現(xiàn)葉子節(jié)點4的哈希值發(fā)生了變化。
[0065]S205:客戶端從服務器中下載查找到的不同的哈希樹葉子節(jié)點信息所對應的組織成員信息;
[0066]如圖3所示,客戶端從服務器中下載葉子節(jié)點4所對應的組織成員信息。
[0067]S206:客戶端將本地存儲的對應查找到的不同的哈希樹葉子節(jié)點信息的組織成員信息更新為從服務器中下載的組織成員信息;
[0068]如圖3所示,客戶端將本地存儲的對應葉子節(jié)點4的組織成員信息替換為從服務器中下載的對應葉子節(jié)點4的組織成員信息。
[0069]S207:客戶端建立對應更新后組織結構信息的哈希樹信息;
[0070]這里,客戶端除了更新本地存儲的組織結構信息,還需要及時更新本地存儲的哈希樹信息,以便在下次服務器中更新了組織結構信息后,能夠繼續(xù)通過比較當前本地存儲的哈希樹信息與服務器中對應更新后的組織結構信息的哈希樹信息確定需要本地更新的組織結構信息。
[0071]基于同一發(fā)明構思,本發(fā)明實施例中還提供了一種與維護組織結構信息的方法對應的維護組織結構信息的裝置,由于該裝置解決問題的原理與本發(fā)明實施例維護組織結構信息的方法相似,因此該裝置的實施可以參見方法的實施,重復之處不再贅述。
[0072]如圖4所示,為本發(fā)明實施例提供的維護組織結構信息的裝置結構圖,包括:
[0073]確定模塊41,用于確定服務器中對應組織結構信息的哈希樹信息與本地存儲的對應該組織結構信息的哈希樹信息中不同的節(jié)點信息,不同的節(jié)點信息是服務器中與本地對應同一節(jié)點的不同的哈希值和/或服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值和/或服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值;
[0074]獲取模塊42,用于根據(jù)確定的節(jié)點信息獲取服務器中對應該節(jié)點信息的組織結構信息;
[0075]更新模塊43,用于將本地存儲的與服務器中不同的節(jié)點信息所對應的本地組織結構信息更新為從服務器中獲取的組織結構信息,并在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為服務器中對應的節(jié)點信息,或基于獲取到的組織結構信息確定并更新對應的節(jié)點信息。
[0076]較佳地,確定模塊41具體用于,
[0077]比較服務器中的哈希樹信息中根節(jié)點的哈希值與本地存儲的哈希樹信息中根節(jié)點的哈希值是否相同,
[0078]如果不相同,則獲取服務器中的哈希樹信息;
[0079]從獲取的哈希樹信息中確定與本地存儲的哈希樹信息中除根節(jié)點信息外不同的節(jié)點信息。
[0080]較佳地,確定模塊41確定的不同的節(jié)點信息是葉子節(jié)點信息,這里的葉子節(jié)點信息對應組織結構信息中單個成員的信息。
[0081]較佳地,確定模塊41具體用于,
[0082]針對獲取的哈希樹信息中根節(jié)點下的各層節(jié)點,逐級查找與本地存儲的哈希樹信息中根節(jié)點下的各層節(jié)點的不同節(jié)點信息,直到查找到服務器中與客戶端不同的哈希樹葉子節(jié)點信息。
[0083]較佳地,更新模塊43具體用于:
[0084]獲取服務器中的所述哈希樹信息;并
[0085]使用獲取的哈希樹信息更新本地存儲的哈希樹信息。
[0086]本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0087]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0088]這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0089]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0090]盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
[0091]顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權利要求】
1.一種維護組織結構信息的方法,其特征在于,該方法包括: 客戶端確定服務器中對應所述組織結構信息的哈希樹信息與本地存儲的對應所述組織結構信息的哈希樹信息中不同的節(jié)點信息,所述不同的節(jié)點信息是所述服務器中與所述客戶端中對應同一節(jié)點的不同的哈希值和/或所述服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值和/或所述服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值; 所述客戶端根據(jù)確定的所述節(jié)點信息獲取所述服務器中對應所述節(jié)點信息的組織結構信息; 所述客戶端將本地存儲的與所述服務器中不同的節(jié)點信息所對應的本地組織結構信息更新為從所述服務器中獲取的所述組織結構信息,并在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為所述服務器中對應的節(jié)點信息,或基于獲取到的組織結構信息確定并更新對應的節(jié)點信息。
2.如權利要求1所述的方法,其特征在于,所述客戶端根據(jù)以下步驟確定所述不同的節(jié)點信息: 所述客戶端比較所述服務器中的所述哈希樹信息中根節(jié)點的哈希值與本地存儲的哈希樹信息中根節(jié)點的哈希值是否相同; 如果不相同,則獲取所述服務器中的所述哈希樹信息; 所述客戶端從獲取的所述哈希樹信息中確定與本地存儲的所述哈希樹信息中除根節(jié)點信息外不同的節(jié)點信 息。
3.如權利要求2所述的方法,其特征在于,所述節(jié)點信息是葉子節(jié)點信息,所述葉子節(jié)點信息對應所述組織結構信息中單個成員的信息。
4.如權利要求3所述的方法,其特征在于,所述客戶端根據(jù)以下步驟確定不同的葉子節(jié)點信息: 所述客戶端針對獲取的所述哈希樹信息中根節(jié)點下的各層節(jié)點,逐級查找與本地存儲的哈希樹信息中根節(jié)點下的各層節(jié)點的不同節(jié)點信息,直到查找到所述服務器中與所述客戶端不同的哈希樹葉子節(jié)點信息。
5.如權利要求1所述的方法,其特征在于,所述客戶端在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為服務器中對應的節(jié)點信息,包括: 所述客戶端獲取所述服務器中的所述哈希樹信息;并 使用獲取的哈希樹信息更新本地存儲的哈希樹信息。
6.一種維護組織結構信息的裝置,其特征在于,包括: 確定模塊,用于確定服務器中對應所述組織結構信息的哈希樹信息與本地存儲的對應所述組織結構信息的哈希樹信息中不同的節(jié)點信息,所述不同的節(jié)點信息是所述服務器中與本地對應同一節(jié)點的不同的哈希值和/或所述服務器中存儲的本地沒有存儲的節(jié)點及該節(jié)點的哈希值和/或所述服務器中沒有存儲的本地存儲的節(jié)點及該節(jié)點的哈希值; 獲取模塊,用于根據(jù)確定的所述節(jié)點信息獲取所述服務器中對應所述節(jié)點信息的組織結構信息; 更新模塊,用于將本地存儲的與所述服務器中不同的節(jié)點信息所對應的本地組織結構信息更新為從所述服務器中獲取的所述組織結構信息,并在本地存儲的哈希樹信息中將確定的不同的節(jié)點信息更新為所述服務器中對應的節(jié)點信息,或基于獲取到的組織結構信息確定并更新對應的節(jié)點信息。
7.如權利要求6所述的裝置,其特征在于,所述確定模塊具體用于, 比較所述服務器中的所述哈希樹信息中根節(jié)點的哈希值與本地存儲的所述哈希樹信息中根節(jié)點的哈希值是否相同,如果不相同,則獲取所述服務器中的哈希樹信息;從獲取的哈希樹信息中確定與本地存儲的哈希樹信息中除根節(jié)點信息外不同的節(jié)點信息。
8.如權利要求7所述的裝置,其特征在于,所述確定模塊確定的不同的節(jié)點信息是葉子節(jié)點信息,所述葉子節(jié)點信息對應所述組織結構信息中單個成員的信息。
9.如權利要求8所述的裝置,其特征在于,所述確定模塊具體用于, 針對獲取的所述哈希樹信息中根節(jié)點下的各層節(jié)點,逐級查找與本地存儲的哈希樹信息中根節(jié)點下的各層節(jié)點的不同節(jié)點信息,直到查找到所述服務器中與所述客戶端不同的哈希樹葉子節(jié)點信息。
10.如權利要求6所述的裝置,其特征在于,所述更新模塊具體用于: 獲取所述服務器中 的所述哈希樹信息;并 使用獲取的哈希樹信息更新本地存儲的哈希樹信息。
【文檔編號】H04L29/08GK103812912SQ201210458511
【公開日】2014年5月21日 申請日期:2012年11月14日 優(yōu)先權日:2012年11月14日
【發(fā)明者】王雙 申請人:北京慧點科技股份有限公司