一种通讯录分批同步和显示的方法和系统的制作方法

文档序号:8226081阅读:357来源:国知局
一种通讯录分批同步和显示的方法和系统的制作方法
【技术领域】
[0001]本发明涉及大型数据维护管理和分享领域,具体涉及一种通讯录分批同步和显示的方法和系统。
【背景技术】
[0002]如今随着移动互联网的普及,人们对于信息的同步要求越来越高。通讯录的同步是其中非常重要的一环。一般通讯录包括用户的联系人信息,如姓名、电话号码、单位、部门、电子邮箱等等。通常通讯录同步的做法是把客户端的通讯录数据上传到服务端处理后保存,服务端返回处理结果后通知客户端来标志一次同步完成。同时,为了让服务端和客户端的数据保持一致,每当客户端数据发生变化(增加、删除、修改),程序需要及时将变化更新到服务端。
[0003]企业通讯录和普通的个人通讯录有很大不同,首先企业通讯录不仅包括联系人的各种信息,还包括企业架构,人事关系等,是分层级的树状结构。第二,企业通讯录是多人使用,多人维护,多权限多隐私管理的通讯录。第三,企业通讯录的容量规模也远远高于个人通讯录。目前的企业通讯录同步机制都是跟个人通讯录相同的全量同步,对于移动客户端来说,其流量和时间消耗都是巨大瓶颈。
[0004]现行的企业通讯录同步无法满足超大规模企业通讯录数据规模同步的需求。一个大型企业员工动辄上万上十万人,全部同步的数据量至少有十几兆,即使是增量同步,企业人员流动和信息更新速度带来的数据更新量也远远不是一般个人通讯录能比,尤其在移动终端,用户对数据流量和应用的响应时间要求非常高,传统的个人通讯录同步更新的策略已经不适用于企业通讯录的同步了。其次,对于超大型企业而言,用户并不需要关心企业内部所有员工资料,一般也只跟与自身关系紧密的同事联系,而其余的同事并没有实时同步的需求。传统的实时同步策略并没有考虑企业用户之间关系,无差别的实时同步往往给用户带来巨大的流量和时间的浪费,因为他们的客户端往往要实时更新他们可能从来都不会访问到的联系人数据。

【发明内容】

[0005]本发明是为了解决以上传统通讯录同步的主要问题,为解决上述问题,本发明提供了一种分批同步和显示通讯录的方法,该方法包括如下步骤:
[0006]步骤1:客户端获取更新的部门节点ID列表;
[0007]步骤2:将所获取的更新部门节点ID列表与客户端本地部门节点数据对比,标记本地需要更新的部门节点;
[0008]步骤3:当客户端访问到某一部门节点,如果该部门节点被标记为需要更新或该部门节点为第一次访问,则发起该部门数据同步请求。
[0009]其中,服务端保存并维护通讯录中所有部门、成员以及企业框架结构的数据和更新时间。
[0010]所述步骤I具体包括:客户端登陆后向服务端发送上次同步时间并请求更新的部门节点ID列表;或者,当服务端数据有更改时,主动通知相关或全体客户端发起请求更新的部门节点ID列表的请求,该请求包括客户端上次同步时间。
[0011]所述更新部门节点ID列表中节点ID为本部门节点数据有更新的部门节点ID或其直属成员或直属子部门节点数据有更新的部门节点ID。
[0012]客户端不包含通讯录中所有节点数据,只保存有用户访问过的节点数据,用户未访问到的节点数据,客户端没有数据也不会同步。
[0013]客户端一次只展示部分通讯录数据,首次只展示一个部门数据,用户可以向上查看上级部门数据,也可以向下展开下级部门数据。
[0014]如果客户端是首次登陆,则以以下步骤代替前述步骤1-3:客户端直接发起“首次登陆同步”,服务端发送组织列表数据和/或用户所在部门数据给客户端;客户端首次展示的部门包括但不限于以下两种:用户所在组织/企业的组织列表数据;用户所在部门数据。
[0015]通过成员节点和成员名片映射,一个人可以从属于多个部门,只需在多个部门下创建相应的成员节点,并都映射到同一个成员名片上。
[0016]本发明还提供了一种分批同步和显示通讯录的系统,该系统包括:
[0017]初始化模块,用于客户端首次登陆时初始化本地通讯录,并获取客户端首次展示通讯录所需的用户所在部门节点数据和/或是组织列表数据。
[0018]获取模块,用于客户端获取更新的部门节点ID列表;
[0019]标记模块,用于将获取的更新部门节点ID列表与客户端本地部门节点数据对比,标记本地需要更新的部门节点;
[0020]更新请求模块,用于当客户端访问到某一部门节点,如果该部门节点被标记为需要更新或该部门节点为第一次访问,则发起该部门数据同步请求。
[0021]所述获取模块具体用于:客户端登陆后向服务端发送上次同步时间并请求更新的部门节点ID列表;或者,当服务端数据有更改时,主动通知相关或全体客户端的获取模块发起请求更新的部门节点ID列表的请求,该请求包括客户端上次同步时间。
[0022]本发明相相较于现有技术有如下优点:
[0023]1.客户端无需同步全量通讯录,极大的减少客户端流量,节约同步时间。
[0024]2.使用“同步标记”而非实时同步,减少客户端同步次数,即使多次修改访问一次也只需一次同步。
[0025]3.以部门为单位同步,符合真实企业管理需要。
[0026]4.拥有和全量同步一样的体验。
【附图说明】
[0027]图1为本发明实施例的客户端总体同步流程示意图;
[0028]图2为本发明实施例的客户端单部门同步流程示意图;
[0029]图3为本发明实施例的分批同步和显示通讯录的系统的结构示意图。
【具体实施方式】
[0030]下文将详细参考附图描述本发明的优选实施例,借此对本发明如何应用技术手段来解决技术问题,并达到技术效果的实现过程能充分理解并据以实施。为了全面理解本发明,在以下详细描述中提到了诸多细节,但本领域技术人员应该理解,本发明可以无需这些具体细节而实现。
[0031]本发明主要针对传统通讯录同步数据量大、耗时长、无用数据多的缺点而提出的分批式通讯录同步和显示的方法。使用此方法可以大大减少每次同步的数据量,同时能保证全部企业通讯录可以正确的同步到客户端中。
[0032]本方法适用具有树状层级结构的大型数据结构的同步,包括但不限于企业通讯录。其数据结构具有以下特征:
[0033]1.组织结构包括部门(含括公司、分公司、部门、学校、班级等)和成员两种节点。
[0034]2.每个成员和非顶级部门至少有一个所属部门。
[0035]3.每个部门可包含若干子部门或直属成员。
[0036]4.顶级部门可不止一个,它们之间可认为是相互独立的不同组织(例如企业的不同分公司或不同部门、学校的不同部门等)。
[0037]本发明提出的通讯录分批同步和显示的方法包括如下步骤:
[0038]步骤1:客户端登陆,向服务端发送上次同步时间并请求更新的部门节点ID列表;或者,当服务端数据有更改时,主动通知相关(或全体)客户端发起请求更新的部门节点ID列表的请求,该请求包括客户端上次同步时间。
[0039]所述服务端保存并维护通讯录中所有部门、成员以及企业框架结构的数据和更新时间。
[0040]步骤2:服务端检索当前时间和客户端上一次同步时间之间企业通讯录发生的所有更改,将所有有更新的所在部门节点ID传给客户端。其中如果是成员数据有更新,则将该成员所在部门节点
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1