[发明专利]一种实现网络通讯录数据同步的方法有效
申请号: | 200610060168.7 | 申请日: | 2006-04-04 |
公开(公告)号: | CN101051925A | 公开(公告)日: | 2007-10-10 |
发明(设计)人: | 梁芝成 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 深圳市顺天达专利商标代理有限公司 | 代理人: | 郭伟刚;熊贤卿 |
地址: | 518057广东省深圳市高新科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 网络 通讯录 数据 同步 方法 | ||
技术领域
本发明涉及互联网的数据同步技术,具体来说,涉及一种在客户端/服务器端实现网络通讯录数据同步的方法。
背景技术
在服务器/客户端的网络结构中,可以采用网络通讯录的方式来存储通讯录数据。所谓网络通讯录,是指一种基于服务器/客户端结构的通讯录。网络通讯录有两份数据,一份保存在服务器端,一份保存在客户端本地(为了提高访问速度或方便离线操作),以服务器的数据为准。
但是,由于网络环境不稳定等因素的影响,数据包在网络传输过程中,有可能会出现丢失数据包的现象。这样就需要借助一些机制来保证网络通讯录在服务器端与在客户端的数据的一致性。
一般在网络通讯录的客户端设有一个序号来标记客户端目前的网络通讯录数据的版本(称之为数据版本号)。用户每次登录通讯录时,就会将客户端当前的数据版本号通知给服务器,服务器也设有一个数据版本号,如果客户端的数据版本低于服务器的数据版本,则表明客户端的数据需要更新;如果客户端的数据版本等于服务器的数据版本,则表明客户端的数据是最新的,不需要去服务器更新数据,而可以直接启用本地的数据。每次在服务器端进行修改数据的操作时,服务器就会把该网络数据版本号改变一次(如增加1),以标记当前服务器最新的数据版本。
如图1所示,示出了一种现有的客户端/服务器结构中在客户端修改网络通讯录数据的流程图。首先,在客户端修改网络通讯录的数据(步骤S10);客户端把修改的网络通讯录的数据打包成数据包发送给服务器(步骤S11);服务器收到来自客户端的数据包后,在服务器的网络通讯录中作相应的修改,如果修改成功,则将网络通讯录的数据版号加1,且该服务器将修改结果通知给客户端(步骤S12);客户端判断所收到的修改结果中表示服务器端是否为修改数据成功(步骤S13);如果为成功,则在客户端的网络通讯录中保存所述修改,并把客户端的数据版本号修改为服务器的数据版本号(步骤S14);如果失败,则在客户端的网络通讯录中放弃保存所述的修改(步骤S15)。
网络通讯录因为有一大批联系人资料,所以有不少操作是对成批数据进行处理的(例如导入或删除一批联系人数据),对成批数据的处理往往会花费比较长的时间。但是,用户的网络环境是不可预知的,当网络环境不稳定或网络速度比较慢时,就有可能出现网络传输的丢包现象。例如,在服务器修改网络通讯录中的数据后,把修改结果返回给客户端的中途,就有可能出现丢包现象。当在服务器端进行多次修改数据的操作时,如果中途某次发生超时,而最后那次的操作却成功时,客户端的数据版本序号用了最后成功返回的数据版本号,这样,服务器就误认为客户端的数据是最新的了,中间的操作超时引起的数据不一致就无法解决了。这样就会引起该网络通讯录在服务器端与客户端的数据不一致。例如:用户在客户端进行删除一批联系人的操作,删除中间某些联系人时发生超时失败,但最后那名联系人却被成功删除了,由于删除中间那些联系人时超时失败,所以客户端还会保存这些联系人的资料,但服务器却已经成功删除了这些联系人。于是,当用户再次请求删除这些还保存在客户端的联系人时,因为服务器已经删除了这些联系人,所以服务器会提示这个联系人已不存在,则在客户端无法直接删除这些联系人信息。
发明内容
本发明所要解决的技术问题在于,为克服现有技术的上述缺点,提供一种实现网络通讯录数据同步的方法,以保证网络通讯录在数据通信时使得客户端的数据与服务器的数据保持一致。
本发明为解决其技术问题所采用的技术方案为:提供一种实现网络通讯录数据同步的方法,包括:(a)在客户端对本地网络通讯录数据的修改操作超时后,且客户端通信层空闲时,客户端向服务器发送同步其网络通讯录数据的请求;(b)服务器接到来自客户端的同步请求后,将其最新的网络通讯录数据传送给该客户端;(c)客户端接收来自服务器的最新网络通讯录数据,更新本地网络通讯录,并将客户端的数据版本号改为与该服务器的数据版本号相同。
在本发明的实现网络通讯录数据同步的方法中,步骤(a)中进一步包括:(a1)在客户端对本地网络通讯录数据的修改操作超时后,启动一个定时器,在该定时周期内检测当前客户端的通信层是否空闲;(a2)若当前客户端的通信层未空闲,则等待至下一个定时周期,继续检测当前客户端的通信层是否空闲,直至当前客户端的通信层空闲;(a3)若当前客户端的通信层空闲,停止该定时器,则客户端向服务器发送同步其网络通讯录数据的请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610060168.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置