移动终端pim业务中实现数据同步的方法、装置和系统的制作方法

文档序号:7926919阅读:255来源:国知局
专利名称:移动终端pim业务中实现数据同步的方法、装置和系统的制作方法
技术领域
本发明涉及移动终端互联网技术领域,尤其涉及一种移动终端PIM业务 中实现婆:据同步的方法、装置和系统。
背景技术
随着移动终端互联网技术的飞速发展,PIM ( Personal information Management,个人信息管理)技术开始大量的应用到移动终端互联网业务中。 PIM是基于任意平台(WWW、 WAP、 SMS)对终端用户进行个性化数据信 息管理的服务,其核心是对数据信息的组织和管理,管理对象集中于具有鲜 明的个性特征、局限某一个或某一类人及事物的数据信息,其服务对象可以 是某一个人、某一个企业甚至可以是某一个行业。而应用到移动终端互联业 务中的PIM使得人们能够使用移动终端接入互联网业务,充分、高效地管理 自己的时间、计划和数据信息;其中有关数据信息的管理,例如联系人信息 的管理,更是PIM的核心功能之一。
所谓PIM中数据信息管理,即是对用户的相关数据信息(例如联系人) 的个人资料管理,主要包含两种方式
第一种方式是PIM用户使用移动终端管理数据信息;以联系人信息为 例,包括增加、删除、修改联系人等操作,而PIM系统将这种信息的变更自 动同步到邮件服务器上。
第二种方式是当其他终端(如outlook等)发起请求或修改数据信息并 同步到邮件服务器上后,PIM系统能够将这些变化自动同步到用户的移动终端。
而目前常见的实现方式如图1所示,例如有500个联系人需要从邮件月l 务器同步到移动终端(例如手机),或者反之;每一个联系人的信息交换都遵 守PIM vCard协议的格式进行;那么实现大量联系人的快速同步时,除了无 线网络的限制之外,系统本身的实现机制也是一个很大的问题,主要有两个 方面
第一、当移动终端需要与邮件服务器进行信息交互时,需要进行大量的
网络握手连接,即每传输一个vCard都要进行一次网络握手连接;
第二、 一旦网络出现问题,例如临时断开时,而此时已完成部分数据信 息的传输,但并未全部传输完毕,在这种情况下不得不重传所有的信息,因 而占用了大量的网络资源。

发明内容
有鉴于此,本发明解决的问题是提供一种移动终端PIM业务中实现数据 同步的方法、装置和系统,减少了同步通讯量,提高了传输效率。
为解决上述问题,本发明提供的技术方案如下
一种移动终端PIM业务中实现数据同步的方法,包括
接收移动终端发送的数据信息同步请求;
通过比较所有数据信息记录集与所述移动终端对应的数据信息记录集, 确定本地保存的数据信息与所述移动终端保存的数据信息的差异,并返回给 所述移动终端。
优选的,通过以下方式确定差异lt据信息
将所述所有的数据信息记录集与所述移动终端对应的数据信息记录集进 行异或,并将所述异或的结果确定为数据信息的差异部分。
优选的,通过迭代方式来确定差异lt据信息
所述移动终端发送的同步请求中包含迭代序号;
当接收到所述同步请求后,根据所述迭代序号确定是否为初次迭代,如 果是,则指示所述移动终端上传数据信息;否则,将所有数据信息记录集与 所述移动终端对应的数据信息记录集进行异或,并根据异或结果确定差异数 据信息;
当接收到所述移动终端上传的数据信息后,再利用所述异或方式确定差
异数据包。
优选的,所述将差异数据信息返回给所述移动终端可通过以下方式实现
将所述差异数据信息分块,并将所述分块的差异数据信息以及分块数发 送给所述移动终端。
优选的,该方法还包括当网络中断后,接收移动终端发送的包含重传 数据块序号的数据重传请求;
根据所述数据重传请求中的重传数据块序号确定需要重传的数据块,并 将该数据块及其之后各序号对应的数据块同时返回给所述移动终端。
优选的,在数据传输过程中将数据打包为共享业务握手认证的vcard流。
优选的,在数据传输过程中,采用二进制进行编码。
优选的,在数据传输过程中,采用gzip数据压缩技术对数据进行压缩。
一种邮件服务器,包括接收单元、差异确定单元和发送单元;其中,
所述接收单元用于接收移动终端发送的数据信息同步请求;
所述差异确定单元用于通过比较所有数据信息记录集与所述移动终端对 应的数据信息记录集,确定本地保存的数据信息与所述移动终端保存的数据 信息的差异,并通知给所述发送单元;
所述发送单元用于根据所述差异确定单元的通知,将所述差异数据信息 发送给所述移动终端。
优选的,所述差异确定单元包括比较单元和确定单元;其中,
所述比较单元用于将所述所有的数据信息记录集与所述移动终端对应的 数据信息记录集进行异或,并将异或结果通知给所述确定单元;
所述确定单元用于根据所述比较单元的通知将所述异或结果确定位数据 信息的差异部分,然后通知所述发送单元。
优选的,所述差异确定单元包括判断单元、指示单元和异或单元;其 中,所述接收单元进一步用于接收包含迭代序号的同步请求;所述判断单元用于根据所述请求中的迭代序号确定此次是否为初次迭
代,如果是,则通知所述指示单元;否则通知所述异或单元;
所述指示单元用于根据所述判断单元的通知,指示所述发送单元向移动 终端发送上传指示,指示所述移动终端上传数据信息;
所述异或单元用于根据所述判断单元的指示或者接收到所述移动终端上 传的数据信息后,将所有数据信息记录集与所述移动终端对应的数据信息记 录集进行异或,并根据异或结果确定差异数据信息。
优选的,所述发送单元包括分块单元和重传单元;其中,
所述分块单元用于将所述差异数据信息进行分块,并将所述分块的差异 数据信息以及分块数发送给所述移动终端;
当网络中断,所述接收单元接收到移动终端发送的包含重传数据块序号 的数据重传请求后,所述重传单元根据所述数据重传请求中的重传数据块序 号确定需要重传的数据块,并将该数据块及其之后各序号对应的数据块同时 返回给所述移动终端。
优选的,所述服务器还包括在数据传输过程中将数据打包为共享一个 业务4屋手iU正的vcard流的打包单元。
优选的,所述服务器还包括在数据传输过程中采用二进制进行编码的 编码单元。
优选的,所述服务器还包括在数据传输过程中采用gzip数据压缩技术 对数据进行压缩的压缩单元。
一种移动终端,包括发送单元和接收单元;其中,
所述发送单元用于向邮件服务器发送数据信息同步请求;
所述接收单元用于接收所述邮件服务器返回的差异数据信息。
优选的,该移动终端还包括查询单元、判断单元和设置单元;其中,
所述查询单元用于通知所述发送单元,在所述同步请求中包含查询数据 分块数的查询请求;
所述判断单元用于当网络中断后判断是否需要对数据进行断点续传,并 将判断结果通知给所述设置单元;
所述设置单元用于根据所述判断单元的通知,对需要重传的数据块的序 号进行设置,以使所述邮件服务器4艮据该序号执行数据块的再次传输。
一种移动通信系统,其特征在于,包括如上所述的邮件服务器和如上所 述的移动终端。
可以看出,采用本发明的方法、装置和系统,通过差异数据同步,有效
的减少了同步的数据量;同时,通过将原始数据包分块进行传输,使得当网 络出现中断时,不再重新传输整个原始数据包,而是从网络中断时传输失败 的数据块开始继续传输,从而实现了断点续传,减少了同步通讯量,节省了 大量的网络资源;并且,通过不同的编码和压缩方式也提高了数据的有效载 荷比、减少了it据流量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中移动终端和邮件服务器之间信息交互的流程示意图2是本发明实施例1的方法流程示意图3是本发明实施例1中通过迭代确定差异数据的流程示意图4是本发明实施例3中断点续传的方法流程示意图5是本发明实施例5的邮件服务器的结构示意图。
具体实施例方式
数据产生差异的部分,而不是完全下载,从而实现差异数据同步,有效的减 少了同步的数据量;同时,通过将原始数据包分块进行传输,使得当网络出 现中断时,不再重新传输整个原始数据包,而是从网络中断时传输失败的数 据块开始继续传输,从而实现了断点续传,减少了同步通讯量,不会占用大 量的网络资源。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例1提供了一种移动终端PIM业务中实现数据同步的方法, 如图2所示,该方法包括
步骤201:接收移动终端发送的数据信息同步请求;
具体的,邮件服务器在接收移动终端发起的同步握手连接后,向所述移 动终端返回同步握手响应信号,并锁定所述移动终端当前的数据信息记录集, 以避免其他移动终端发起的同步请求影响本次同步;
步骤202:通过比较所有数据信息记录集与所述移动终端对应的数据信息 记录集,确定本地保存的数据信息与所述移动终端保存的数据信息的差异, 并返回给所述移动终端;
其中,所述通过比较数据信息记录集确定数据信息的差异部分可通过多 种方式实现例如,将邮件服务器中保存的所有数据信息记录集与所述移动 终端对应的数据信息记录集进行异或,而所述异或的结果即为数据信息的差 异部分;当然,也可采用其他现有方式来确定差异数据信息,此处不再赘述; 而本实施例提出了一种通过迭代产生差异数据的方式,如图3所示^暇定邮 件服务器上的初始数据集合为A, x表示进行了第i次迭代后的差异数据集, c表示移动终端在第i次上传的数据,<formula>formula see original document page 12</formula>n表示移动终端上传数据的次数;
S301:当移动终端发送同步请求前,确定此次是否为初次迭代,并设置 相应的迭代序号保存于所述同步请求中;
S302:当所述邮件服务器接收到所述同步请求后,根据所述迭代序号确 定是否为初次迭代,如果是,则向所述移动终端返回消息,指示所述移动终 端上传数据信息包;否则,直接根据异或结果或者其他方式确定差异数据信 息并返回给所述移动终端;
S303:当邮件服务器接收到所述移动终端上传的数据信息包后,同样利 用异或或其他方式确定差异数据包,并将差异数据包返回给所述移动终端。
此外,本发明实施例3又提出在确定了差异数据信息之后,实现断点续 传的方法,如图4所示,包>^:
步骤401:移动终端在发送同步请求的同时发送查询请求,用以查询数据 包的分块数;当然,所述查询请求也可包含在所述同步请求中,不再赘述;
步骤402:邮件服务器在确定了差异数据信息之后,将所述差异数据信息 包分块,并将所述数据包的分块数返回给所述移动终端;
步骤403:当系统网络发生通讯故障时,例如网络中断,所述移动终端首 先判断是否需要执行断点续传,如果需要,则设置断点重传数据块的序号; 否则,将数据块的序号设置为O,表明重新传输所有数据;
步骤404:所述移动终端向所述邮件服务器发送数据重传请求,所述凄t据 重传请求中包含重传数据块的序号;
步骤405:所述邮件服务器接收到所述数据重传请求后,根据该请求中的 重传数据块的序号确定需要重传的数据块并返回给所述移动终端;
步骤406:所述移动终端将邮件服务器返回的数据块保存到数据库后,将 所述重传数据块的序号设置为原序号的下一位,并再次请求重传,直到所有 数据全部接收到为止;
当然,在步骤405中,所述邮件服务器在接收到所述重传请求并确定重
移动终端,从而完成了数据信息的同步;例如,假定原始差异数据包为X, 将其分为M块,则X=fx,
当第i块数据传输失败时,再次进行数据传输时并不从;c。块数据重新传 输,而是从第;c,块数据开始进行重新传输。
除此之外,上述实施例中交互的数据信息或数据块皆是以vcard协议的格 式打包的,因此每传输一个vcard包都仍然需要业务握手认证;针对此,本发 明实施例4提出,在上述实施例的基础上将多个vcard数据打包,组成一个 vcard流,并在服务器和客户端之间进行数据交换皆以vcard流为单位,而不 是以vcard为单位,即一个vcard流中的多个vcard共享一个业务握手认证; 如此,即可改变每个vcard都需要业务握手认证的情况,减少了非业务(例如 业务握手认证等)数据流量;
需要注意的是,上述实施例中出现的数据皆可采用"二进制"进行编码, 这样较以往的编码方式,例如base64编码,即可减少约30%的编码长度;此 外,数据交互过程中还可采用gzip数据压缩技术,这样也可大大减少交互过 程中的数据流量。
可以看出,釆用本发明实施例的方法,通过差异数据同步,有效的减少 了同步的数据量;同时,通过将原始数据包分块进行传输,使得当网络出现 中断时,不再重新传输整个原始数据包,而是从网络中断时传输失败的数据 块开始继续传输,从而实现了断点续传,减少了同步通讯量,节省了大量的 网络资源;并且,通过不同的编码和压缩方式也提高了数据的有效载荷比、 减少了数据流量。
基于上述思想,本发明实施例5又提出了一种邮件服务器,如图5所示, 包括接收单元501、差异确定单元502和发送单元503;其中,
所述接收单元用于接收移动终端发送的数据信息同步请求;
所述差异确定单元用于通过比较所有数据信息记录集与所述移动终端对 应的数据信息记录集,确定本地保存的数据信息与所述移动终端保存的数据
信息的差异,并通知给所述发送单元;
所述发送单元用于根据所述差异确定单元的通知,将所述差异数据信息 发送给所述移动终端。
优选的,所述差异确定单元包括比较单元和确定单元;其中,
所述比较单元用于将所述所有的数据信息记录集与所述移动终端对应的 数据信息记录集进行异或,并将异或结果通知给所述确定单元;
所述确定单元用于根据所述比较单元的通知将所述异或结果确定位数据 信息的差异部分,然后通知所述发送单元。
优选的所述差异确定单元包括判断单元、指示单元和异或单元;其中,
所述接收单元进一步用于接收包含迭代序号的同步请求;
所述判断单元用于根据所述请求中的迭代序号确定此次是否为初次迭 代,如果是,则通知所述指示单元;否则通知所述异或单元;
所述指示单元用于根据所述判断单元的通知,指示所述发送单元向移动 终端发送上传指示,指示所述移动终端上传数据信息;
所述异或单元用于根据所述判断单元的指示或者接收到所述移动终端上 传的数据信息后,将所有数据信息记录集与所述移动终端对应的数据信息记 录集进行异或,并根据异或结果确定差异数据信息。
此外,所述发送单元包括分块单元和重传单元;其中,
所述分块单元用于将所述差异数据信息进行分块,并将所述分块的差异 数据信息以及分块数发送给所述移动终端;
当网络中断,所述接收单元接收到移动终端发送的包含重传数据块序号 的数据重传请求后,所述重传单元根据所述数据重传请求中的重传数据块序 号确定需要重传的数据块,并将该数据块及其之后各序号对应的数据块同时
返回给所述移动终端。
需要注意的是,所述服务器还包括
在数据传输过程中将数据打包为共享一个业务握手认证的vcard流的打 包单元。
除此之外,所述服务器还包括在数据传输过程中采用二进制进行编码 的编码单元或在数据传输过程中采用gZip数据压缩技术对数据进行压缩的压
缩单元。
本发明实施例6又提出了一种移动终端,包括发送单元和接收单元; 其中,所述发送单元用于向邮件服务器发送数据信息同步请求;
所述接收单元用于接收所述邮件服务器返回的差异数据信息。
此外,所述移动终端还包括查询单元、判断单元和设置单元;其中,
所述查询单元用于通知所述发送单元,在所述同步请求中包含查询数据 分块数的查询请求;
所述判断单元用于当网络中断后判断是否需要对数据进行断点续传,并 将判断结果通知给所述设置单元;
所述设置单元用于根据所述判断单元的通知,对需要重传的数据块的序 号进行设置,以使所述邮件服务器根据该序号执行数据块的再次传输。
另外,从本发明实施例的思想还可以获得一种系统,该系统包括上述实 施例中所公开的邮件服务器和移动终端,即任何包含能够实现本发明上述实 施例装置功能的系统也皆应包含在本发明的保护范围之内。
本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一 种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以 表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
专业人员还可以进一步应能意识到,结合本文中所公开的实施例描述的 各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来 实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能
一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来 执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为 超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、 处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存
储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编 程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任 意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用 本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下, 在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例, 而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何 在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本 发明的—又利要求保护范围之内。
权利要求
1、一种移动终端PIM业务中实现数据同步的方法,其特征在于,包括接收移动终端发送的数据信息同步请求;通过比较所有数据信息记录集与所述移动终端对应的数据信息记录集,确定本地保存的数据信息与所述移动终端保存的数据信息的差异,并返回给所述移动终端。
2、 根据权利要求1所述的方法,其特征在于,通过以下方式确定差异数 据信息将所述所有的数据信息记录集与所述移动终端对应的数据信息记录集进 行异或,并将所述异或的结果确定为数据信息的差异部分。
3、 根据权利要求1所述的方法,其特征在于,通过迭代方式来确定差异 数据信息所述移动终端发送的同步请求中包含迭代序号;当接收到所述同步请求后,根据所述迭代序号确定是否为初次迭代,如 果是,则指示所述移动终端上传数据信息;否则,将所有数据信息记录集与 所述移动终端对应的数据信息记录集进行异或,并根据异或结果确定差异数 据信息;当接收到所述移动终端上传的数据信息后,再利用所述异或方式确定差 异数据包。
4、 根据权利要求1至3任意一项所述的方法,其特征在于,所述将差异 数据信息返回给所述移动终端可通过以下方式实现将所述差异数据信息分块,并将所述分块的差异数据信息以及分块数发 送给所述移动终端。
5、 根据权利要求4所述的方法,其特征在于,该方法还包括当网络中断后,接收移动终端发送的包含重传数据块序号的数据重传请求;根据所述数据重传请求中的重传数据块序号确定需要重传的数据块,并
6、 根据权利要求5所述的方法,其特征在于在数据传输过程中,将数据打包为共享一个业务握手认证的vcard流。
7、 根据权利要求5所述的方法,其特征在于 在数据传输过程中,采用二进制进行编码。
8、 根据权利要求5所述的方法,其特征在于 在数据传输过程中,采用gzip数据压缩技术对数据进行压缩。
9、 一种邮件服务器,其特征在于,包括接收单元、差异确定单元和发 送单元;其中,所述4妄收单元用于接收移动终端发送的数据信息同步请求;所述差异确定单元用于通过比较所有数据信息记录集与所述移动终端对 应的数据信息记录集,确定本地保存的数据信息与所述移动终端保存的数据 信息的差异,并通知给所述发送单元;所述发送单元用于根据所述差异确定单元的通知,将所述差异数据信息 发送给所述移动终端。
10、 根据权利要求9所述的服务器,其特征在于,所述差异确定单元包 括比较单元和确定单元;其中,所述比较单元用于将所述所有的数据信息记录集与所述移动终端对应的 数据信息记录集进行异或,并将异或结果通知给所述确定单元;所述确定单元用于根据所述比较单元的通知将所述异或结果确定位数据 信息的差异部分,然后通知所述发送单元。
11、 4艮据权利要求9所述的服务器,其特征在于,所述差异确定单元包 括判断单元、指示单元和异或单元;其中,所述接收单元进一步用于接收包含迭代序号的同步请求;所述判断单元用于根据所述请求中的迭代序号确定此次是否为初次迭 200810222587代,如果是,则通知所述指示单元;否则通知所述异或单元;所述指示单元用于#4居所述判断单元的通知,指示所述发送单元向移动 终端发送上传指示,指示所述移动终端上传数据信息;所述异或单元用于根据所述判断单元的指示或者接收到所述移动终端上 传的数据信息后,将所有数据信息记录集与所述移动终端对应的数据信息记 录集进行异或,并纟艮据异或结果确定差异数据信息。
12、 根据权利要求9至ll任意一项所述的服务器,其特征在于,所述发 送单元包括分块单元和重传单元;其中,所述分块单元用于将所述差异数据信息进行分块,并将所述分块的差异 数据信息以及分块数发送给所述移动终端;当网络中断,所述接收单元接收到移动终端发送的包含重传数据块序号 的数据重传请求后,所述重传单元根据所述数据重传请求中的重传数据块序 号确定需要重传的数据块,并将该数据块及其之后各序号对应的数据块同时 返回给所述移动终端。
13、 根据权利要求12所述的服务器,其特征在于,所述服务器还包括在数据传输过程中将数据打包为共享一个业务握手认证的vcard流的打 包单元。
14、 根据权利要求12所述的服务器,其特征在于,所述服务器还包括 在数据传输过程中采用二进制进行编码的编码单元。
15、 根据权利要求12所述的服务器,其特征在于,所述服务器还包括 在数据传输过程中采用gzip数据压缩技术对数据进行压缩的压缩单元。
16、 一种移动终端,其特征在于,包括发送单元和接收单元;其中, 所述发送单元用于向邮件服务器发送数据信息同步请求; 所述接收单元用于接收所述邮件服务器返回的差异数据信息。
17、 根据权利要求16所述的终端,其特征在于,还包括查询单元、判 断单元和设置单元;其中,所述查询单元用于通知所述发送单元,在所述同步请求中包含查询数据 分块数的查询请求;所述判断单元用于当网络中断后判断是否需要对数据进行断点续传,并 将判断结果通知给所述设置单元;所述设置单元用于根据所述判断单元的通知,对需要重传的数据块的序 号进行设置,以使所述邮件服务器根据该序号执行数据块的再次传输。
18、 一种移动通信系统,其特征在于,包括如权利要求9所述的邮件服 务器和如权利要求16所述的移动终端。
全文摘要
本发明提供一种移动终端PIM业务中实现数据同步的方法,包括接收移动终端发送的数据信息同步请求;通过比较所有数据信息记录集与所述移动终端对应的数据信息记录集,确定本地保存的数据信息与所述移动终端保存的数据信息的差异,并返回给所述移动终端。本发明还提供了邮件服务器、移动终端和系统。采用本发明的方法、装置和系统,通过差异数据同步,有效的减少了同步的数据量;同时,通过断点续传,减少了同步通讯量,节省了大量的网络资源;并且,通过不同的编码和压缩方式也提高了数据的有效载荷比、减少了数据流量。
文档编号H04L29/08GK101350839SQ20081022258
公开日2009年1月21日 申请日期2008年9月22日 优先权日2008年9月22日
发明者肖保锋, 胡彧辉 申请人:北京立通无限科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1