一種通訊錄分批同步和顯示的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大型數(shù)據(jù)維護(hù)管理和分享領(lǐng)域,具體涉及一種通訊錄分批同步和顯示的方法和系統(tǒng)。
【背景技術(shù)】
[0002]如今隨著移動(dòng)互聯(lián)網(wǎng)的普及,人們對(duì)于信息的同步要求越來(lái)越高。通訊錄的同步是其中非常重要的一環(huán)。一般通訊錄包括用戶(hù)的聯(lián)系人信息,如姓名、電話(huà)號(hào)碼、單位、部門(mén)、電子郵箱等等。通常通訊錄同步的做法是把客戶(hù)端的通訊錄數(shù)據(jù)上傳到服務(wù)端處理后保存,服務(wù)端返回處理結(jié)果后通知客戶(hù)端來(lái)標(biāo)志一次同步完成。同時(shí),為了讓服務(wù)端和客戶(hù)端的數(shù)據(jù)保持一致,每當(dāng)客戶(hù)端數(shù)據(jù)發(fā)生變化(增加、刪除、修改),程序需要及時(shí)將變化更新到服務(wù)端。
[0003]企業(yè)通訊錄和普通的個(gè)人通訊錄有很大不同,首先企業(yè)通訊錄不僅包括聯(lián)系人的各種信息,還包括企業(yè)架構(gòu),人事關(guān)系等,是分層級(jí)的樹(shù)狀結(jié)構(gòu)。第二,企業(yè)通訊錄是多人使用,多人維護(hù),多權(quán)限多隱私管理的通訊錄。第三,企業(yè)通訊錄的容量規(guī)模也遠(yuǎn)遠(yuǎn)高于個(gè)人通訊錄。目前的企業(yè)通訊錄同步機(jī)制都是跟個(gè)人通訊錄相同的全量同步,對(duì)于移動(dòng)客戶(hù)端來(lái)說(shuō),其流量和時(shí)間消耗都是巨大瓶頸。
[0004]現(xiàn)行的企業(yè)通訊錄同步無(wú)法滿(mǎn)足超大規(guī)模企業(yè)通訊錄數(shù)據(jù)規(guī)模同步的需求。一個(gè)大型企業(yè)員工動(dòng)輒上萬(wàn)上十萬(wàn)人,全部同步的數(shù)據(jù)量至少有十幾兆,即使是增量同步,企業(yè)人員流動(dòng)和信息更新速度帶來(lái)的數(shù)據(jù)更新量也遠(yuǎn)遠(yuǎn)不是一般個(gè)人通訊錄能比,尤其在移動(dòng)終端,用戶(hù)對(duì)數(shù)據(jù)流量和應(yīng)用的響應(yīng)時(shí)間要求非常高,傳統(tǒng)的個(gè)人通訊錄同步更新的策略已經(jīng)不適用于企業(yè)通訊錄的同步了。其次,對(duì)于超大型企業(yè)而言,用戶(hù)并不需要關(guān)心企業(yè)內(nèi)部所有員工資料,一般也只跟與自身關(guān)系緊密的同事聯(lián)系,而其余的同事并沒(méi)有實(shí)時(shí)同步的需求。傳統(tǒng)的實(shí)時(shí)同步策略并沒(méi)有考慮企業(yè)用戶(hù)之間關(guān)系,無(wú)差別的實(shí)時(shí)同步往往給用戶(hù)帶來(lái)巨大的流量和時(shí)間的浪費(fèi),因?yàn)樗麄兊目蛻?hù)端往往要實(shí)時(shí)更新他們可能從來(lái)都不會(huì)訪(fǎng)問(wèn)到的聯(lián)系人數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明是為了解決以上傳統(tǒng)通訊錄同步的主要問(wèn)題,為解決上述問(wèn)題,本發(fā)明提供了一種分批同步和顯示通訊錄的方法,該方法包括如下步驟:
[0006]步驟1:客戶(hù)端獲取更新的部門(mén)節(jié)點(diǎn)ID列表;
[0007]步驟2:將所獲取的更新部門(mén)節(jié)點(diǎn)ID列表與客戶(hù)端本地部門(mén)節(jié)點(diǎn)數(shù)據(jù)對(duì)比,標(biāo)記本地需要更新的部門(mén)節(jié)點(diǎn);
[0008]步驟3:當(dāng)客戶(hù)端訪(fǎng)問(wèn)到某一部門(mén)節(jié)點(diǎn),如果該部門(mén)節(jié)點(diǎn)被標(biāo)記為需要更新或該部門(mén)節(jié)點(diǎn)為第一次訪(fǎng)問(wèn),則發(fā)起該部門(mén)數(shù)據(jù)同步請(qǐng)求。
[0009]其中,服務(wù)端保存并維護(hù)通訊錄中所有部門(mén)、成員以及企業(yè)框架結(jié)構(gòu)的數(shù)據(jù)和更新時(shí)間。
[0010]所述步驟I具體包括:客戶(hù)端登陸后向服務(wù)端發(fā)送上次同步時(shí)間并請(qǐng)求更新的部門(mén)節(jié)點(diǎn)ID列表;或者,當(dāng)服務(wù)端數(shù)據(jù)有更改時(shí),主動(dòng)通知相關(guān)或全體客戶(hù)端發(fā)起請(qǐng)求更新的部門(mén)節(jié)點(diǎn)ID列表的請(qǐng)求,該請(qǐng)求包括客戶(hù)端上次同步時(shí)間。
[0011]所述更新部門(mén)節(jié)點(diǎn)ID列表中節(jié)點(diǎn)ID為本部門(mén)節(jié)點(diǎn)數(shù)據(jù)有更新的部門(mén)節(jié)點(diǎn)ID或其直屬成員或直屬子部門(mén)節(jié)點(diǎn)數(shù)據(jù)有更新的部門(mén)節(jié)點(diǎn)ID。
[0012]客戶(hù)端不包含通訊錄中所有節(jié)點(diǎn)數(shù)據(jù),只保存有用戶(hù)訪(fǎng)問(wèn)過(guò)的節(jié)點(diǎn)數(shù)據(jù),用戶(hù)未訪(fǎng)問(wèn)到的節(jié)點(diǎn)數(shù)據(jù),客戶(hù)端沒(méi)有數(shù)據(jù)也不會(huì)同步。
[0013]客戶(hù)端一次只展示部分通訊錄數(shù)據(jù),首次只展示一個(gè)部門(mén)數(shù)據(jù),用戶(hù)可以向上查看上級(jí)部門(mén)數(shù)據(jù),也可以向下展開(kāi)下級(jí)部門(mén)數(shù)據(jù)。
[0014]如果客戶(hù)端是首次登陸,則以以下步驟代替前述步驟1-3:客戶(hù)端直接發(fā)起“首次登陸同步”,服務(wù)端發(fā)送組織列表數(shù)據(jù)和/或用戶(hù)所在部門(mén)數(shù)據(jù)給客戶(hù)端;客戶(hù)端首次展示的部門(mén)包括但不限于以下兩種:用戶(hù)所在組織/企業(yè)的組織列表數(shù)據(jù);用戶(hù)所在部門(mén)數(shù)據(jù)。
[0015]通過(guò)成員節(jié)點(diǎn)和成員名片映射,一個(gè)人可以從屬于多個(gè)部門(mén),只需在多個(gè)部門(mén)下創(chuàng)建相應(yīng)的成員節(jié)點(diǎn),并都映射到同一個(gè)成員名片上。
[0016]本發(fā)明還提供了一種分批同步和顯示通訊錄的系統(tǒng),該系統(tǒng)包括:
[0017]初始化模塊,用于客戶(hù)端首次登陸時(shí)初始化本地通訊錄,并獲取客戶(hù)端首次展示通訊錄所需的用戶(hù)所在部門(mén)節(jié)點(diǎn)數(shù)據(jù)和/或是組織列表數(shù)據(jù)。
[0018]獲取模塊,用于客戶(hù)端獲取更新的部門(mén)節(jié)點(diǎn)ID列表;
[0019]標(biāo)記模塊,用于將獲取的更新部門(mén)節(jié)點(diǎn)ID列表與客戶(hù)端本地部門(mén)節(jié)點(diǎn)數(shù)據(jù)對(duì)比,標(biāo)記本地需要更新的部門(mén)節(jié)點(diǎn);
[0020]更新請(qǐng)求模塊,用于當(dāng)客戶(hù)端訪(fǎng)問(wèn)到某一部門(mén)節(jié)點(diǎn),如果該部門(mén)節(jié)點(diǎn)被標(biāo)記為需要更新或該部門(mén)節(jié)點(diǎn)為第一次訪(fǎng)問(wèn),則發(fā)起該部門(mén)數(shù)據(jù)同步請(qǐng)求。
[0021]所述獲取模塊具體用于:客戶(hù)端登陸后向服務(wù)端發(fā)送上次同步時(shí)間并請(qǐng)求更新的部門(mén)節(jié)點(diǎn)ID列表;或者,當(dāng)服務(wù)端數(shù)據(jù)有更改時(shí),主動(dòng)通知相關(guān)或全體客戶(hù)端的獲取模塊發(fā)起請(qǐng)求更新的部門(mén)節(jié)點(diǎn)ID列表的請(qǐng)求,該請(qǐng)求包括客戶(hù)端上次同步時(shí)間。
[0022]本發(fā)明相相較于現(xiàn)有技術(shù)有如下優(yōu)點(diǎn):
[0023]1.客戶(hù)端無(wú)需同步全量通訊錄,極大的減少客戶(hù)端流量,節(jié)約同步時(shí)間。
[0024]2.使用“同步標(biāo)記”而非實(shí)時(shí)同步,減少客戶(hù)端同步次數(shù),即使多次修改訪(fǎng)問(wèn)一次也只需一次同步。
[0025]3.以部門(mén)為單位同步,符合真實(shí)企業(yè)管理需要。
[0026]4.擁有和全量同步一樣的體驗(yàn)。
【附圖說(shuō)明】
[0027]圖1為本發(fā)明實(shí)施例的客戶(hù)端總體同步流程示意圖;
[0028]圖2為本發(fā)明實(shí)施例的客戶(hù)端單部門(mén)同步流程示意圖;
[0029]圖3為本發(fā)明實(shí)施例的分批同步和顯示通訊錄的系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030]下文將詳細(xì)參考附圖描述本發(fā)明的優(yōu)選實(shí)施例,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)到技術(shù)效果的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。為了全面理解本發(fā)明,在以下詳細(xì)描述中提到了諸多細(xì)節(jié),但本領(lǐng)域技術(shù)人員應(yīng)該理解,本發(fā)明可以無(wú)需這些具體細(xì)節(jié)而實(shí)現(xiàn)。
[0031]本發(fā)明主要針對(duì)傳統(tǒng)通訊錄同步數(shù)據(jù)量大、耗時(shí)長(zhǎng)、無(wú)用數(shù)據(jù)多的缺點(diǎn)而提出的分批式通訊錄同步和顯示的方法。使用此方法可以大大減少每次同步的數(shù)據(jù)量,同時(shí)能保證全部企業(yè)通訊錄可以正確的同步到客戶(hù)端中。
[0032]本方法適用具有樹(shù)狀層級(jí)結(jié)構(gòu)的大型數(shù)據(jù)結(jié)構(gòu)的同步,包括但不限于企業(yè)通訊錄。其數(shù)據(jù)結(jié)構(gòu)具有以下特征:
[0033]1.組織結(jié)構(gòu)包括部門(mén)(含括公司、分公司、部門(mén)、學(xué)校、班級(jí)等)和成員兩種節(jié)點(diǎn)。
[0034]2.每個(gè)成員和非頂級(jí)部門(mén)至少有一個(gè)所屬部門(mén)。
[0035]3.每個(gè)部門(mén)可包含若干子部門(mén)或直屬成員。
[0036]4.頂級(jí)部門(mén)可不止一個(gè),它們之間可認(rèn)為是相互獨(dú)立的不同組織(例如企業(yè)的不同分公司或不同部門(mén)、學(xué)校的不同部門(mén)等)。
[0037]本發(fā)明提出的通訊錄分批同步和顯示的方法包括如下步驟:
[0038]步驟1:客戶(hù)端登陸,向服務(wù)端發(fā)送上次同步時(shí)間并請(qǐng)求更新的部門(mén)節(jié)點(diǎn)ID列表;或者,當(dāng)服務(wù)端數(shù)據(jù)有更改時(shí),主動(dòng)通知相關(guān)(或全體)客戶(hù)端發(fā)起請(qǐng)求更新的部門(mén)節(jié)點(diǎn)ID列表的請(qǐng)求,該請(qǐng)求包括客戶(hù)端上次同步時(shí)間。
[0039]所述服務(wù)端保存并維護(hù)通訊錄中所有部門(mén)、成員以及企業(yè)框架結(jié)構(gòu)的數(shù)據(jù)和更新時(shí)間。
[0040]步驟2:服務(wù)端檢索當(dāng)前時(shí)間和客戶(hù)端上一次同步時(shí)間之間企業(yè)通訊錄發(fā)生的所有更改,將所有有更新的所在部門(mén)節(jié)點(diǎn)ID傳給客戶(hù)端。其中如果是成員數(shù)據(jù)有更新,則將該成員所在部門(mén)節(jié)點(diǎn)