CN101707785B - 移动通讯终端的数据同步方法 - Google Patents
移动通讯终端的数据同步方法 Download PDFInfo
- Publication number
- CN101707785B CN101707785B CN 200910185282 CN200910185282A CN101707785B CN 101707785 B CN101707785 B CN 101707785B CN 200910185282 CN200910185282 CN 200910185282 CN 200910185282 A CN200910185282 A CN 200910185282A CN 101707785 B CN101707785 B CN 101707785B
- Authority
- CN
- China
- Prior art keywords
- packet
- synchronizer
- synchronization
- data
- synchronous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
一种移动通讯终端的数据同步方法,用于至少两个同步设备之间的数据同步,包括:第一同步设备发送数据包i+1(i≥0)到第二同步设备;第二同步设备接收并处理第一同步设备发送的数据包i+1;第二同步设备发送确认信息到第一同步设备;判断是否是同步的最后一个数据包;如是,则结束数据包的同步;如否,则同步下个数据包i+2;还包括计算同步下个数据包i+2的最大值Si+2并置于所述的数据包i+1中。本发明揭示的移动通讯终端的数据同步方法,能最大限度的利用网络传输能力和服务器处理能力,从而在整体上减少同步时间,提高同步效率。
Description
技术领域
本发明涉及一种移动通讯终端的数据同步方法,尤其涉及一种移动通信终端通过网络与服务器同步数据的方法。
背景技术
在当今信息充斥的社会中,我们的日常工作、生活中需要传递各种数据信息。然而不同通信设备完成数据信息的交互时,要求我们存储于不同设备中的同一信息要时刻保持更新,这就是数据同步。SyncML同步协议提供了包括同步数据表示、同步规则、传输协议绑定、系统开发框架在内的一整套数据同步解决方案,是PIM业务的主要技术手段。
PIM业务,从实现上来讲,就是通过SyncML协议将移动终端的个人信息备份到网络侧的服务器上,或从网络侧的服务器获取个人信息同步到移动终端,最终达到移动终端和网络服务器的个人信息同步的目的。从概念上,我们这里所说的PIM业务是指一种无线增值业务,通过空中信道实现数据传输,比如中国移动的“号簿管家”业务、中国电信的“备份”业务,都可以叫做PIM业务。
PIM系统主要分为两个部分:同步客户端和同步服务器。PIM客户端通常指终端设备和客户端软件,它向服务器端发送终端的个人信息和同步数据,并且接收网络服务器端的响应消息。在PIM系统中,客户端设备通常是手机、PDA等移动终端。同步服务器通常包括一个服务器和一个同步引擎,同步服务器等待终端连接到服务器,接收终端的数据修改信息,并对这些信息进行处理,最后将修改信息发送给终端。
SyncML数据同步协议中定义了客户端和服务器之间消息的交互过程。协议定义了7种基本的同步类型:双向同步、慢同步、客户端单向同步、服务器端单向同步、客户端刷新同步、服务器端刷新同步、服务器端通告同步。
以一次完整的双向同步为例,图1反映了客户端和服务器端数据交互的全过程。
从图1中可以看出,一次最基本的同步经过了3次交互的过程,共发送了6个Package。Package #1和Package #2传输初始化消息,同步双方建立连接,进行安全验证并协商同步类型。Package #3和Package #4传输同步数据,同步双方根据SyncML协议,将需要同步的数据封装成xml/wbxml数据包发送。Package #5和Package #6传输LUID(本地唯一标识符)-GUID(全局唯一标识符)之间的映射关系,服务器端保存该映射关系,并反馈给客户端结果。
在实际应用中,一次同步需要传输的数据量往往很大,受移动终端处理能力、服务器承载能力尤其是网络传输能力的限制,无法一次完成整个Package的传输,需要分割为多个Message进行交互。基本原理是判断每个Message最后是否含有</Final>标志,含有</Final>标识符,认为一个Package已经结束。对于每个Message的大小,一般综合考虑终端处理能力、服务器承载能力和网络传输能力后,设定一个折衷值(经验值),在初始化阶段和服务器端协商,整个同步过程均使用该值对Package进行分割。
从上述介绍中看出,现有技术存在以下缺点:
1、没有考虑网络变化对同步过程的影响。PIM业务主要应用在无线网络环境,现有的移动终端,多数都工作在多种网络模式下,不同的网络模式(如GSM、TD-SCDMA、CDMA2000、WCDMA、EVDO等)传输速率相差很大。如果传输速率很小,但每次传输的Message数据包很大,很容易造成数据丢失,进而引起同步失败,降低同步成功率;如果网络传输速率很大,但分割后的Message数据包很小,会增加同步交互过程中收发的数据包总个数,进而增加同步时间,降低同步效率。
2、没有考虑服务器吞吐能力对同步过程的影响。PIM业务是由电信运营商发起的无线增值业务。业务用户数可能在千万以上,在不同时刻,发起同步的客户端数目不同。受服务器承载能力的影响,从单个客户端来看,每次发起同步时,服务器的处理能力是不同的,因此固定数据包的大小无法最大限度的利用服务器的处理能力,进而影响同步的效率。
中国专利申请号“200910003734.4”,名称为“设备间数据同步的方法和系统”的专利文本中,提供了一种用于三个以上联网设备的数据同步方法,所述联网设备包括至少一个客户端和一个服务器,所述方法用于在支持同步标记语言(SYNCML)协议的多个设备之间有效率地对数据进行同步。所述数据同步方法包括:当服务器接收到第一客户端发送的同步请求消息时,确定同步请求消息中包含的同步信息所指示的数据项是否存在于服务器的更改日志表中;以及,如果同步信息所指示的数据项不存在,则通过添加同步信息所指示的数据项来更新更改日志表,并向第二客户端发送包含数据标识符和所述数据项的更改日志的同步请求消息,否则通过向第一客户端发送包含状态信息的同步响应消息来结束数据同步
发明内容
本发明的目的在于提供一种移动通讯终端的数据同步的方法,该方法结合服务器负载能力、移动终端处理能力以及网络传输能力,动态调整每个数据包的大小,从而缩减同步时间,提高数据同步业务作为一个系统的工作效率。
本发明的另一目的在于揭示一种移动通讯终端的数据同步的方法,在同步交互过程中,系统可自动计算可支持的合适的数据包大小,并同步通知服务器端,以最大限度的利用网络传输能力和服务器实时处理能力。
一种移动通讯终端的数据同步方法,用于至少两个同步设备之间的数据同步,包括:
第一同步设备发送数据包i+1(i≥0)到第二同步设备;
第二同步设备接收并处理第一同步设备发送的数据包i+1;
第二同步设备发送确认信息到第一同步设备;
第二同步设备发送确认信息到第一同步设备的同时,还发送需同步的数据包i+1至第一同步设备,第一同步设备接收并处理第二同步设备发送的数据包i+1,之后第一同步设备更新数据库
判断是否是同步的最后一个数据包;
如是,则结束数据包的同步;
如否,则同步下个数据包i+2;
其特征在于,还包括计算同步下个数据包i+2的最大值Si+2并置于所述的数据包i+1中,其中同步下个数据包i+2的最大值Si+2根据当前网络状态及第一同步设备和第二同步设备的处理能力计算得到,记录第一同设备与第二同步设备同步数据包i的时间Ti与同步数据包i+1的时间Ti+1并计算时间间隔|Ti+1-Ti|,根据此时间间隔|Ti+1-Ti|判断网络状态和第二同步设备的处理能力,并据此动态调整第一同步设备下次同步的数据包i+2的最大值Si+2。
在本发明一个较佳实施例中,设定时间间隔的最小值ΔT,当记录的时间间隔|Ti+1-Ti|>ΔT,则判断需调整下次同步的数据包i+2的最大值Si+2;否则,下次同步的数据包i+2的最大值Si+2等于上一个同步的数据包的最大值Si+1。
在本发明一个较佳实施例中,设定数据包最小有效间隔ΔS,若记录的时间间隔|Ti+1-Ti|>ΔT,则下次同步的数据包i+2的最大值Si+2的计算公式为,
在本发明一个较佳实施例中,设定每次同步的数据包的上下限Smax和Smin,如Smin≤Si+2≤Smax,则判断本次Si+2有效,否则取Smax或Smin作为下次同步的数据包的最大值Si+2。
在本发明一个较佳实施例中,还包括更新初始参考数据包的最大值S0,其中S0的计算公式为,
在本发明一个较佳实施例中,如判断是最后一个同步的数据包,则存储最后一次计算得到的S0,作为下次同步时的数据包初始参考值。
在本发明一个较佳实施例中,还包括第一同步设备和第二同步设备之间进行初始化,第一同步设备读取初始数据包的初始大小值S0,设定第一个同步的数据包的最大值S1=S0。
本发明在客户端处理能力确定的情况下,根据当前网络状态和服务器实时处理能力,动态调整每个Message数据包的大小,最大限度的利用网络传输能力和服务器处理能力,从而在整体上减少同步时间,提高同步效率。
附图说明
图1是本发明背景技术中双向同步数据交互流程示意图;
图2是本发明实施例中数据同步流程的示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明实施例中,以手机与服务器的数据双向交互同步为例来说明本发明的主要构思,但本发明同样可以应用在其他产品的数据同步上,包括多个设备之间的数据同步,以及数据单向、双向或者多向的数据同步。
在本发明实施例中,当PIM业务同步开始后,首先在前一个或者两个数据包中,进行初始化,协商同步类型并交互双方的处理能力。在后面的数据包中,仅进行同步数据和映射关系的传输确认。当然,此过程并不是必须的,视实际同步需求而定。
本发明实施例的主要构思在于,在客户端发给服务器的每一个数据包的消息头(SyncHdr)部分,除目的地址、源地址等基本信息外,添加了一个MaxMsgSize元素,通过Max Msg Size标识符通知对方自己能够支持的最大数据包的大小。移动终端发送的每个数据包的大小,不能超过该值。服务器下发给移动终端的数据包,大小也不能超过该值。也就是说,同步双方可以通过Max Msg Size标识符,限定下一次交互过程中数据包的大小。这样,同步过程中就可以根据同步时的网络状态、服务器处理能力,结合本地移动终端的处理能力,动态调整每个数据包的大小,从而最大限度的利用网络传输能力和服务器处理能力,减少同步时间,提高同步效率。
确认数据包大小的基本思想是:假设本地移动终端的处理能力确定,同步时间仅受网络传输能力和服务器处理能力的影响,且同步时间和网络传输能力及服务器处理能力成反比。通过记录开始发送一个数据包和接收完毕服务器反馈数据包的时间,计算一次交互过程的时间间隔,与上一数据包同步的时间间隔做比较,从而判断出这一小段时间内的网络状态和服务器处理能力状况,据此推算下一小段时间内的相关状态,并动态调整下一次数据交互限定的数据包的最大值。
下面描述每个数据包最大值的限定策略。为描述方便,我们做如下约定:
数据包的最大值(Message Size)用字母S表示,每一个数据包的最大值用Si表示,i≥0,每个数据包用i表示;
同步一个数据包所用的时间,即手机发送数据包到服务器且手机接收完毕从服务器发送的数据包的时间差用字母T表示,每个数据包的时间差用Ti表示,i≥0;
将同步本次数据包所需花费的时间和同步上次数据包所需花费的时间差定义为时间间隔;
最小有效时间间隔用ΔT表示;
每个数据包最大值的最小有效间隔用ΔS表示。
如图2所示,通过流程图可以看出,一次同步过程可以分为以下具体步骤:
P1读取初始数据包大小S0,此处假设移动终端的处理能力确定,受计算速度,存储能力等的限制,数据包最大不能超过Smax;如果每个数据包过小,将增加同步交互的过程,增加同步数据包的个数,增加同步时间,所以设定数据包最小不能超过Smin;读取初始Message数据包大小S0,并且确认第一个数据包的大小并通知服务器端,令S1=S0。
P2记录数据包开始发送的时间,服务器开始接收数据包,然后服务器发送数据包至手机;
P3记录接收完毕服务器发送的数据包的时间,记录本次同步数据包所需要的时间为Ti;
通过P2和P3步骤每次记录每次交互同步的数据包所需花费的时间T1、T2、....Ti、Ti+1....,
P4计算时间间隔并判断是否需要更新下一次同步的数据包的最大值,本发明实施例中选用的规则为,如果|Ti+1-Ti|>ΔT,则需要重新计算下一个数据包的最大值,否则仍然使用上一个同步的数据包的最大值,即转到步骤P0,设定下一个数据包的最大值等于本次数据包的最大值;
P5计算下一个同步的数据包的最大值,通用计算公式为:
P6判断该数据包最大值的有效性,有效取值范围为Smin≤Si+2≤Smax,超出有效范围,取边界值。否则判断为有效;
P7更新初始参考数据包的最大值,计算公式为,
其中k为整数,取一经验值,比如100;
P8判断是否是最后一个数据包,如是,则进入P10步骤,然后结束同步过程,否则进入P9步骤;
P9继续发送下一个数据包,并记录时间差,然后重复P2~P7,直至同步结束。
P10存储最后一次计算得到的S0,作为下次同步时的初始参考值。
本发明实施例中,采用的是双向的数据同步方式,因此每一个交互过程中需要交互两次数据包,但只计算一次数据包的最大值,确定下次交互过程中两个数据包的最大值;如果是单向同步,则通过记录发送数据包的时间与接收到确认信息的时间差来计算下次同步的数据包的最大值,因此只有一个数据包在同步过程中同步,实际操作中,把确认信息也当做一个同步数据包,从而使得本发明的计算公式能够通用。相应的,如果涉及到多个同步设备的数据包同步,原理相同,此处不再赘述。
本发明揭示的数据同步方法,主要涉及一种动态更新并交换最大传输能力的应用方案;通过建立动态调整数据包大小的数学模型,来动态确认最大传输能力。
相比现有的技术方案,本发明充分考虑了实时网络状态以及服务器处理能力对同步过程的影响,通过动态调整每个数据包的大小,最大限度的利用了网络传输能力,服务器实时处理能力,缩短了同步时间,提高了成功率和同步效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (7)
1.一种移动通讯终端的数据同步方法,用于至少两个同步设备之间的数据同步,包括:
第一同步设备发送数据包i+1(i≥0)到第二同步设备;
第二同步设备接收并处理第一同步设备发送的数据包i+1;
第二同步设备发送确认信息到第一同步设备;
第二同步设备发送确认信息到第一同步设备的同时,还发送需同步的数据包i+1至第一同步设备,第一同步设备接收并处理第二同步设备发送的数据包i+1,之后第一同步设备更新数据库;
判断是否是同步的最后一个数据包;
如是,则结束数据包的同步;
如否,则同步下个数据包i+2;
其特征在于,还包括计算同步下个数据包i+2的最大值Si+2并置于所述的数据包i+1中,其中同步下个数据包i+2的最大值Si+2根据当前网络状态及第一同步设备和第二同步设备的处理能力计算得到,记录第一同设备与第二同步设备同步数据包i的时间Ti与同步数据包i+1的时间Ti+1并计算时间间隔|Ti+1-Ti|,根据此时间间隔|Ti+1-Ti|判断网络状态和第二同步设备的处理能力,并据此动态调整第一同步设备下次同步的数据包i+2的最大值Si+2。
2.根据权利要求1所述的移动通讯终端的数据同步方法,其特征在于,设定时间间隔的最小值ΔT,当记录的时间间隔|Ti+1-Ti|>ΔT,则判断需调整下次同步的数据包i+2的最大值Si+2;否则,下次同步的数据包i+2的最大值Si+2等于上一个同步的数据包的最大值Si+1。
3.根据权利要求2所述的移动通讯终端的数据同步方法,其特征在于,设定数据包最小有效间隔ΔS,若记录的时间间隔|Ti+1-Ti|>ΔT,则下次同步的数据包i+2的最大值Si+2的计算公式为,
4.根据权利要求3所述的移动通讯终端的数据同步方法,其特征在于,设定每次同步的数据包的上下限Smax和Smin,如Smin≤Si+2≤Smax,则判断本次Si+2有效,否则取Smax或Smin作为下次同步的数据包的最大值Si+2。
5.根据权利要求4所述的移动通讯终端的数据同步方法,其特征在于,还包括更新初始参考数据包的最大值S0,其中S0的计算公式为,
6.根据权利要求5所述的移动通讯终端的数据同步方法,其特征在于,如判断是最后一个同步的数据包,则存储最后一次计算得到的S0,作为下次同步时的数据包初始参考值。
7.根据权利要求6所述的移动通讯终端的数据同步方法,其特征在于,还包括第一同步设备和第二同步设备之间进行初始化,第一同步设备读取初始数据包的初始大小值S0,设定第一个同步的数据包的最大值S1=S0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910185282 CN101707785B (zh) | 2009-10-31 | 2009-10-31 | 移动通讯终端的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910185282 CN101707785B (zh) | 2009-10-31 | 2009-10-31 | 移动通讯终端的数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101707785A CN101707785A (zh) | 2010-05-12 |
CN101707785B true CN101707785B (zh) | 2013-01-09 |
Family
ID=42377947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910185282 Expired - Fee Related CN101707785B (zh) | 2009-10-31 | 2009-10-31 | 移动通讯终端的数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101707785B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484428B (zh) * | 2014-12-18 | 2018-11-20 | 深圳市科漫达智能管理科技有限公司 | 一种数据同步的方法、装置及系统 |
CN104519142B (zh) * | 2015-01-10 | 2019-09-20 | 蓝信移动(北京)科技有限公司 | 一种数据同步方法和系统、客户端、协议服务器 |
CN106453541A (zh) * | 2016-09-30 | 2017-02-22 | 厦门中控生物识别信息技术有限公司 | 一种数据同步的方法、服务器以及数据同步系统 |
CN107566481B (zh) * | 2017-08-30 | 2020-11-24 | 北京珞安科技有限责任公司 | 一种远程数据复制控制信息传输实现方法 |
CN112148793B (zh) * | 2020-09-17 | 2024-02-20 | 广东睿住智能科技有限公司 | 数据同步方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794724A (zh) * | 2005-10-27 | 2006-06-28 | 华为技术有限公司 | 在SyncML层实现数据同步的方法 |
CN101022612A (zh) * | 2006-02-16 | 2007-08-22 | 杭州波导软件有限公司 | 一种移动终端的用户信息数据备份方法 |
CN101227414A (zh) * | 2008-02-04 | 2008-07-23 | 浙江大学 | 基于传输数据包长度在线优化的无线网络数据传输方法 |
-
2009
- 2009-10-31 CN CN 200910185282 patent/CN101707785B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794724A (zh) * | 2005-10-27 | 2006-06-28 | 华为技术有限公司 | 在SyncML层实现数据同步的方法 |
CN101022612A (zh) * | 2006-02-16 | 2007-08-22 | 杭州波导软件有限公司 | 一种移动终端的用户信息数据备份方法 |
CN101227414A (zh) * | 2008-02-04 | 2008-07-23 | 浙江大学 | 基于传输数据包长度在线优化的无线网络数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101707785A (zh) | 2010-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100401289C (zh) | 配置同步会话 | |
CN101582927B (zh) | 一种用于信息备份及恢复的服务器、移动终端及方法 | |
CN1326346C (zh) | 在服务器的请求消息具有最大长度的同步系统中由服务器发起同步的方法 | |
KR101011216B1 (ko) | 데이터 동기 | |
CN101707785B (zh) | 移动通讯终端的数据同步方法 | |
CN101217295B (zh) | 基于蓝牙技术的文件发送方法、接收方法及装置 | |
HK1097375A1 (en) | System and method for communicating asynchronouslywith web services using message set definitions | |
KR20100050072A (ko) | 데이터 압축 방법 및 이를 이용한 데이터 통신 시스템 | |
JP4494970B2 (ja) | 中断された同期プロセスに対処してデータを同期させる方法、装置、システム | |
CN101674263A (zh) | 大数据对象的传输方法、传输系统及发送设备和接收设备 | |
CN101778134A (zh) | 数据同步方法及移动通信终端 | |
CN101355726A (zh) | 基于多媒体消息传递服务的数据库同步方法和系统 | |
CN103516673A (zh) | 一种网络数据通信方法、系统及客户端和服务器 | |
AU9607598A (en) | Method of storing and transmitting markup language documents in a mobile radio communications system | |
CN104301438A (zh) | 一种上传文件的方法 | |
US7203505B1 (en) | Message transfer from a source device via a mobile terminal device to a third device | |
CN105007310A (zh) | 信息同步方法、装置和系统 | |
CN102860049A (zh) | 一种短信处理方法、相关设备及系统 | |
CN104320447A (zh) | 一种中小型云存储数据同步方法及计算机可读介质、系统 | |
CN101730085A (zh) | 通信录数据同步方法和系统 | |
CN101702732A (zh) | 一种文件同步方法及文件同步系统 | |
CN109087096A (zh) | 区块链对账方法、装置、设备及存储介质 | |
CN102299937A (zh) | 一种基于网络的分配时钟服务器的方法及其系统 | |
CN101883419A (zh) | 客户端信息的同步方法和系统 | |
CN101459681A (zh) | 移动终端的dcd同步数据获取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130109 Termination date: 20191031 |