CN104639613B - 基于改进网络协议的移动数据同步中间件的实现方法 - Google Patents
基于改进网络协议的移动数据同步中间件的实现方法 Download PDFInfo
- Publication number
- CN104639613B CN104639613B CN201510005304.1A CN201510005304A CN104639613B CN 104639613 B CN104639613 B CN 104639613B CN 201510005304 A CN201510005304 A CN 201510005304A CN 104639613 B CN104639613 B CN 104639613B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- mobile terminal
- tables
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000001360 synchronised effect Effects 0.000 claims abstract description 71
- 238000007726 management method Methods 0.000 claims description 24
- 230000006872 improvement Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 8
- 241001269238 Data Species 0.000 claims description 3
- 238000013523 data management Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 claims description 2
- 230000032683 aging Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/002—Mutual synchronization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/003—Arrangements to increase tolerance to errors in transmission or reception timing
Abstract
本发明提供基于改进网络协议的移动数据同步中间件的实现方法,包括:在SyncML头部加入SlowTablelLog对象标签,将该对象的属性Last值是否为空作为发起慢同步的条件,根据该对象Order属性的值决定同步哪张数据表;将推送式同步加入到一般同步中来减少不必要的重复上传;通过对Map指令增加TableName和DevCode字段,实现了用户具有多个设备、多张数据表进行数据同步时,移动端和服务器端映射信息的表示;将主动推送技术加入到基于Sync ML协议实现的移动数据同步;将拉入同步和推式同步相结合,推送式同步负责推送同步消息,拉入式同步负责从服务器端同步数据。
Description
技术领域
本发明属于计算机科学与技术领域,涉及一种网络协议的改进及其中间件的实现方法。
背景技术
在使用移动终端设备时,可能会经常在没有网络信号或者信号很弱的环境下,这样就不具备实时跟中心数据库同步的条件,而且如果移动终端实时连网,对其电量的消耗十分大,会造成移动设备使用时间变短,降低了移动设备和应用的用户使用体验,所以移动数据库不能实时地和中心数据库保持同步,同时,移动终端设备的资源十分有限,因此移动数据库只存贮用户需要的相关数据,不能存贮中心数据库中的所有数据,可见移动数据同步属于一种伪数据同步,它只同步中心数据库中一部分数据,而且移动数据库中的历史数据也需要进行有效管理。
SyncML同步协议(SyncML Sync Protocol)定义了同步协议的框架结构、基本原理、数据同步过程以及冲突处理方式等。Sync ML协议虽然解决了移动数据同步中的很多问题,但还存在以下不足:一是Sync ML协议规定的数据同步方式,慢同步可能会经常发生,但Sync ML协议没有提供策略来规避慢同步的发生,对于大数据传输过程中,如果突然发生网络连接不上,再次联网时该协议只会通过慢同步的方式来进行数据同步,不能实现数据续传,使大量数据在网络上重复传输,造成网络流量的浪费;二是Sync ML协议只实现了拉式的移动数据同步,没有能实现服务器主动推送的推式的移动数据同步,无法将变化数据及时推送到相关在线移动终端;
发明内容
针对Sync ML协议自身的缺点和解决此类应用中存在的问题,本发明提供一种基于改进网络协议的移动数据同步中间件的实现方法,通过对Sync ML协议进行改进,在Android平台上实现基于改进Sync ML协议的移动数据同步中间件。
为实现上述目的,本发明采用以下技术方案:
1.Sync ML协议的改进
(1)对慢同步的改进
在消息头加入SlowTableLog对象标签。对象包括TableName,Last和Order属性,TableName表示数据表的名称,数值类型为string;Last表示是否为该业务的最后一个数据表,数值类型为string;Order表示数据表在业务中的编号(1,2,…n)。同时,在消息头加入SyncType标签,SyncType标签取值为1时表示一般同步,取值为0时表示慢同步。改进的慢同步过程如下:以移动端存贮的SlowTableLog对象的Last属性为判断依据,如果Last值为空,则移动端发起慢同步,将Order值发送到服务端,从服务端同步编号为Order+1的数据表。在服务端,给Order赋值数据表对应的编号,TableName赋值数据表的表名,然后将数据表和SlowTableLog对象传输到移动端,如果是业务的最后一个数据表,除了上述操作外,还需要给Last赋值“last”。移动端如果接收到包括SlowTableLog对象的Last属性为“last”的数据,则在本地更新数据库成功后,将本地存贮的SlowTableLog对象的Last属性设置为“last”,终止数据同步,表示慢同步完成。
(2)对一般同步的改进
将推送式同步加入到一般同步中,服务器每隔一段时间(比如三分钟)遍历一次BC_ReprareSync表,向该表有记录的移动设备推送同步消息。移动端接收到同步消息后,系统在后台自动发起一般同步请求从服务端同步变化数据。除此之外,用户在非首次登陆时,移动端也会发起一般同步请求,向服务端同步上次变化的数据。对于移动端的变化数据,采用用户手动控制上传的方式实现,避免把没有采集完的部分数据同步到服务器端。通过这种改进,对于同步到移动端的变化数据,极大地提高了其时效性,对于移动端变化的数据,减少了不必要的重复上传,节省了用户的网络流量。具体实现流程图如图1。
(3)对Map指令和Satus指令的改进
对Map指令表示映射信息的字段进行扩充,建立表BC_Map,表示同一条信息在服务端和移动端的映射信息;新加入字段TableName表示存储数据的数据表的表名,字段DevCode表示设备唯一标识,字段ID表示主键,为int类型且自动增加;在服务器端和移动端都建立表BC_Map,服务端为永久存贮映射信息,移动端为临时性存贮,将移动端的信息发送到服务端后会清空该表数据。通过增加TableName和DevCode字段,实现了用户具有多个设备、多张数据表进行数据同步时,移动端和服务器端映射信息的表示。
对Status指令进行改进,在保留StateCode属性的基础上,在移动端建立表BC_Status表;同步到移动端的数据在本地更新数据库成功后,把与数据表相关的信息记录到BC_Status表,然后利用Status指令把数据发送到服务端,服务端以此数据为依据,删除服务端BC_PrepareSync表中表示要同步的相关数据,删除成功后服务端向移动端发送状态码StateCode,如果StateCode为10,则移动端清除BC_Status中的数据。
(4)其它改进
向消息头SyncHdr中加入UserName标签,表示用户登录名,将消息体的Cred对象标签移到消息头,并且添加Password属性,表示用户登录密码,向消息头添加DeviceInfor标签,表示移动设备的唯一标识。
2.基于改进后的Sync ML,实现移动数据同步中间件
(1)采用主动推送方式实现服务端推送同步通知消息
主要是通过数据库中的表BC_RepareSync来实现的,该表中存贮有需要推送信息的移动终端编号(DevCode)、用户标识(UserID)以及中心数据库记录变化数据的表BC_ChangLog的主键(KeyID)和用户所属的角色标识(RoleID)。服务器每隔一段时间(比如三分钟)遍历一次该表,然后向该表中记录的所有移动终端发送同步通知消息。移动终端收到同步消息后,立即向服务器发起同步请求,把中心数据库需要被同步的数据同步到自己的数据库中,并且发送给服务器完成状态信息。服务器根据移动端传来的信息清除BC_RePareSync表中的相关数据,并发送完成状态码给移动端。移动端如果收到完成状态码为10,就会删除该表中相应的数据。
(2)采用推送式同步和拉入式同步相结合的方式进行移动数据同步
本发明将推送式同步和拉入式同步结合起来,其中推送式同步主要负责向移动终端推送同步通知消息,通知移动端进行数据同步;拉入式同步根据同步通知,主动向服务器发起同步请求进行移动数据同步,包括在特定条件下发起的慢同步,如图2所示。在正常情况下,除了用户登录进入系统外,移动终端都是接收到同步通知消息后才会发起数据同步。本发明对需要同步的数据进行了分类,分为基础信息类、变化记录类和实时采集类三类,基础信息类和变化记录类数据进行服务器到移动端的单向同步,实时采集类数据进行双向同步。
移动终端第一次连接服务端数据库时,用户名密码验证通过后,进行移动终端唯一编号在服务器端的注册,注册完成后进行慢同步。慢同步只有在对改进Sync ML协议规定的触发条件下才会进行,且按照各个表的编号依次同步,直到所有表的数据都同步完成。本发明也针对数据同步过程中更新数据库中数据时可能会发生冲突的情况,设计出了合理的数据冲突处理方法。
对于变化数据的获取,在服务器端和移动终端,都采用了行级触发器来实现,数据表一有变化,就会把变化的类型、数据所在表、变化数据唯一标识等信息存贮到表示变化数据的信息表BC_ChangeLog(用于记录服务端和移动端捕获的变化数据)中。
(3)实现移动数据同步中间件
移动数据同步中间件包括服务端和移动端两部分,如图4所示。其中,
服务端实现以下功能:
推送管理:实现服务端推送同步消息到移动终端。
同步日志管理:实现对服务端中心数据库中变化数据的捕获。
同步数据操作管理:实现在同步过程中对数据的操作。包括同步类型判断,JSON数据解析,JSON生成,动态生成SQL语句,数据库操作,文件操作,慢同步和一般同步。
同步会话管理:实现服务端和移动终端建立同步会话,即对移动端发起的同步请求做出响应,是接受还是拒绝。它包括数据解压缩,JSON解析,用户验证三个部分。
数据冲突管理:针对在移动端数据同步到服务端,与服务端数据发生冲突或者不同移动终端更新同一条数据时发生冲突。
数据传输管理:负责对数据传输提供服务。实现对封装了同步数据的Sync ML对象转化为JSON、对JSON进行压缩处理、对服务端和移动端进行通信的网络协议配置和HTTP连接服务等。
移动端实现以下功能:
推送数据接收管理:主要是负责接收处理服务器端推送过来的同步消息。
同步日志管理:主要是通过SQLite数据库中提供的触发器机制,给数据采集类数据表建立行级触发器,相关表一有变化,就会把这些表中变化的数据记录到移动端的BC_ChangeLog表中,包括表名、主键、操作类型、操纵用户以及是否同步等信息,作为移动端同步数据到服务端数据源的钥匙。
同步数据操作管理:主要实现对数据同步过程中对数据的操作,包括JSON解析、JSON生成、生成同步数据、操作同步数据、操作文件数据、Map与Status数据操作和数据冲突处理。
同步数据传输管理:主要是负责对移动端的数据传输提供服务。主要实现对封装了同步数据和同步指令的Sync ML对象转化为JSON,同时对JSON数据进行压缩处理。
同步会话管理:主要是负责与服务端建立同步会话连接,它包括数据解压缩、JSON解析、发起数据同步三个功能。
历史数据管理:主要实现针对移动终端设备存贮空间有限,对移动数据库进行有效管理。
现有技术相比,本发明具有以下优点:
本发明通过改进Sync ML协议,在消息头加入SlowTableLog对象标签和SyncType标签,明显减少了慢同步发生的次数;通过慢同步的断点续传和一般同步只同步变化数据,明显提高了数据同步的效率,减少了无为数据的重复传输,节省用户的网络流量。
本发明将推送式同步和拉入式同步结合起来,推送式同步主要负责向移动终端推送同步通知消息,通知移动端进行数据同步;拉入式同步根据同步通知,主动向服务器发起同步请求进行移动数据同步,包括在特定条件下发起的慢同步,实现了服务器主动推送的推式的移动数据同步,将变化数据及时推送到相关在线移动终端,极大提高了服务器端新维护数据同步到移动端的时效性。
附图说明
图1为改进后慢同步的实现方法流程图;
图2为本发明中间件的功能示意图;
图3为本发明服务端数据冲突处理流程图;
图4为本发明同步数据使用中间件前后传输数据量对比图;
图5为本发明同步数据使用中间件前后数据同步时效性对比图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明对Sync ML协议进行了改进,改进的内容包括:慢同步,一般同步,Map指令和Satus指令及其它改进。
改进后慢同步的流程图如图1所示,按以下步骤实现:
移动端把慢同步请求(Slowtable的Order为0,SyncType为0,包含Sync空指令集合)通过数据包pkg1发送到服务端,服务端接收同步请求后,首先进行用户验证,若验证失败,则拒绝同步,若验证通过,则根据BC_BusinessTable表,找到编号为1的表,将其数据封装到SyncML消息体的Data属性,将其同步指令定为Add,SlowTable属性的Order设置为1,然后将SyncML消息包转化为JSON后通过数据包pkg2传输到移动端;移动端对接收JSON数据换为SyncML对象后,将该表数据存入移动数据库,如果表是采集类信息,需要把服务器和移动端的主键映射关系存入移动端BC_Map表中,将Order存入移动缓存;接着移动端将BC_Map中的数据存入MapItem属性中,同步指令设置为Map,消息头的SlowTable属性下的Order设置为1,然后将SynML消息包转化为JSON通过数据包pkg3传输到服务端;服务器接收到数据后,首先通过Map指令,将MpItem中的数据更新到服务器BC_Map表中,然后将BC_BusinessTable中编号为2的表中的数据封装到SyncML后转化为JSON以数据包pkg4同步到移动端,移动端接收到数据后,首先将移动数据库中的BC_Map中数据清除,然后向移动数据库添加同步数据,接着根据添加同步数据情况,更新BC_Map数据库和缓存Order属性,然后将BC_Map数据和Order通过数据包pkg5发送到服务器端。这样一直持续,直到服务端同步到BC_BusinessTable中该业务的最后一个表,则把SlowTable的Last数据设置为last,将最后一张表(该表为基础信息类表)的数据封装到SyncML消息中,进而转化为JSON同步到移动端,移动端在清除BC_Map表的数据后,将同步的数据添加到移动数据库,移动端根据服务传输过来的Last和Order值,根据Las属性值为last,判断慢同步完成,终止数据同步。
改进后一般同步的实现方法包括以下步骤:
移动终端在发起一般同步时,SyncML消息头的SyncType属性值必须设置为1,消息体必须包含Sync空指令集合,移动端通过数据包pkg1把同步请求传输到服务端。服务端首先对用户的身份和设备进行验证,验证通过后,检索服务端该设备还没有同步的数据,将其封装到SyncML消息体的Data属性,并且对不同数据设置不同的同步命令,包括Add,Update和Delete三种,然后将SyncML消息包转化为JSON后通过数据包pkg2传输到移动端,移动端根据传输的同步数据和同步指令更新本地数据库,并且将更新数据库的情况记录到BC_Status表中,如果是对信息采集类表添加数据,还会将移动端和服务端主键的映射信息存贮到移动数据库的BC_Map中,接着移动端将BC_Status表和BC_Map表中的数据通过Status指令和Map指令封装到Sync ML消息体中,转化为JSON后通过数据包pkg3传输到服务器端。服务端在收到数据包pkg3后,将JSON转化为SyncML对象,根据Map指令更新中心数据库中的BC_Map表中的数据,根据Status指令,将BC_RepareSync表中预同步的数据进行清除;操作成功后,将Satus指令中的StateCode属性设置为10,封装到Sync ML消息包,转化为JSON通过数据包pkg4传输到移动终端。移动终端对数据包解析后,根据StateCode值为10,清除移动数据库中的BC_Map表和BC_Status表的数据。至此,一次一般数据同步完成。
应用改进后的Sync ML协议处理数据冲突的方法包括以下步骤:
首先判断上次是否删除掉该条数据,若已删除,则无法更新;若没有删除,则比较上次更新时间和本次要更新的时间,如果小于阈值七天,对于修改操作,只有管理员和信息录入者或者最后修改者可以修改,如果是删除操作,只有信息录入者可以进行删除本条数据,其他角色的用户无权删除本条数据;如果上次修改时间距离本次要修改的时间间隔大于时间阈值7天,则管理员,信息录入者,最后修改者都可以对本条数据做修改或者删除操作,但是除了这些角色外的其他用户,只有查看的权限,无权变更数据,具体流程如图3。
基于改进的Sync ML协议实现的移动数据同步中间件包括服务端和移动端,其功能如图2所示。服务端实现推送管理、同步日志管理、同步数据操作管理、同步会话管理、数据冲突管理和数据传输管理功能;移动端实现推送数据接收管理、同步日志管理、同步数据操作管理、同步数据传输管理、同步会话管理和历史数据管理功能。
为了验证本发明的有效性,下面给出将本发明所述的中间件应用于一个移动信息采集系统的实例。移动信息采集系统以前使用的同步策略是每次登录时才能从服务端获取新数据,而且所有数据都一起传输到移动端,由移动端根据移动数据库决定是否更新数据本地数据库中,如果没有重新登陆的动作,就不会同步到服务端的最新数据。图4展示了使用中间件前后同步数据量的对比,以同步BS_Variety、BS_Pow_Crop和BS_Pow_Userl三张表的数据为例,横坐标表示同步的次数,纵坐标表示同步的累计数据量。图5展示了使用中间件前后同步变化数据时效性的对比,在八小时内每隔三分钟向数据表TG_KeyWord增加一条数据,横坐标表示八小时内用户登录系统的次数,纵坐标表示增加的数据同步到移动端的平均时间(单位为分钟)。由图4、5可知,将本发明所述的中间件应用到该系统后,通过慢同步的断点续传和一般同步只同步变化数据,明显提高了数据同步的效率,减少了无为数据的重复传输。同时,通过推送同步消息让移动端同步变化数据的方式,极大提高了服务器端新维护数据同步到移动端的时效性。
Claims (3)
1.一种基于改进网络协议的移动数据同步中间件的实现方法,其特征在于,所述方法包括以下步骤:
S1、对Sync ML网络协议进行改进;
对慢同步的改进,在消息头加入SlowTableLog对象标签,对象包括TableName,Last和Order属性,TableName表示数据表的名称,数值类型为string;Last表示是否为该业务的最后一个数据表,数值类型为string;Order表示数据表在业务中的编号;在消息头加入表示一般同步或慢同步的SyncType标签;
对一般同步的改进,将推送式同步加入到一般同步中,服务器每隔一段时间遍历一次BC_ReprareSync表,向该表有记录的移动设备推送同步消息;所述移动端接收到同步消息后,在后台自动发起一般同步请求,从服务端同步变化数据;除此之外,用户在非首次登陆时,移动端也会发起一般同步请求,向服务端同步上次变化的数据;对于移动端的变化数据,采用用户手动控制上传的方式实现,避免把没有采集完的部分数据同步到服务器端;
对Map指令和Satus指令的改进,对Map指令表示映射信息的字段进行扩充,建立表BC_Map,表示同一条信息在服务端和移动端的映射信息;新加入字段TableName表示存储数据的数据表的表名,字段DevCode表示设备唯一标识,字段ID表示主键,为int类型且自动增加;在服务器端和移动端都建立表BC_Map,服务端为永久存贮映射信息,移动端为临时性存贮,将移动端的信息发送到服务端后清空表BC_Map的数据;
对Status指令进行改进,在保留StateCode属性的基础上,在移动端建立BC_Status表;同步到移动端的数据在本地更新数据库成功后,把与数据表相关的信息记录到BC_Status表,然后利用Status指令把数据发送到服务端,服务端以此数据为依据,删除服务端BC_PrepareSync表中表示要同步的相关数据,删除成功后服务端向移动端发送状态码StateCode,如果StateCode为10,则移动端清除BC_Status中的数据;
其它改进,向消息头SyncHdr中加入用户登录名UserName标签,将消息体的Cred对象标签移到消息头,并且添加表示用户登录密码的Password属性;向消息头添加表示移动设备唯一标识的DeviceInfor标签;
S2、基于改进后的Sync ML网络协议,实现移动数据同步中间件
采用主动推送方式实现服务端推送同步通知消息,服务器每隔一段时间遍历一次SQLite数据库中的表BC_RepareSync,所述表中存贮了需要推送信息的移动终端编号、用户标识,以及中心数据库记录变化数据的表BC_ChangLog的主键和用户所属的角色标识,然后向表BC_RepareSync中记录的所有移动终端发送同步通知消息;移动终端收到同步消息后,立即向服务器发起同步请求,把中心数据库需要被同步的数据同步到自己的数据库中,并且发送给服务器完成状态信息;服务器根据移动端传来的信息清除BC_RePareSync表中的相关数据,并发送完成状态码给移动端;移动端根据收到的完成状态码,删除BC_RePareSync表中相应的数据;
采用推送式同步和拉入式同步相结合的方式进行移动数据同步,采用推送式同步向移动终端推送同步通知消息,通知移动端进行数据同步;拉入式同步根据所述同步通知,主动向服务器发起同步请求进行移动数据同步,包括在特定条件下发起的慢同步;基础信息类和变化记录类数据进行服务器到移动端的单向同步,实时采集类数据进行双向同步;
实现移动数据同步中间件;
其中,所述该业务为:移动数据同步中间件的实现过程。
2.根据权利要求1所述的基于改进网络协议的移动数据同步中间件的实现方法,其特征在于,改进后慢同步的实现过程如下:
以移动端存贮的SlowTableLog对象的Last属性为判断依据,如果Last值为空,则移动端发起慢同步,将Order值发送到服务端,从服务端同步编号为Order+1的数据表;在服务端,给Order赋值数据表对应的编号,TableName赋值数据表的表名,然后将数据表和SlowTableLog对象传输到移动端,如果是业务的最后一个数据表,除了上述操作外,给Last赋值“last”;移动端如果接收到包括SlowTableLog对象的Last属性为“last”的数据,则在本地更新数据库成功后,将本地存贮的SlowTableLog对象的Last属性设置为“last”,终止数据同步;
其中,所述上述操作为:将Order值发送到服务端,从服务端同步编号为Order+1的数据表;在服务端,给Order赋值数据表对应的编号,TableName赋值数据表的表名,然后将数据表和SlowTableLog对象传输到移动端。
3.根据权利要求1所述的基于改进网络协议的移动数据同步中间件的实现方法,其特征在于,S2所述的移动数据同步中间件包括服务端和移动端;服务端实现推送管理、同步日志管理、同步数据操作管理、同步会话管理、数据冲突管理和数据传输管理功能;移动端实现推送数据接收管理、同步日志管理、同步数据操作管理、同步数据传输管理、同步会话管理和历史数据管理功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510005304.1A CN104639613B (zh) | 2015-01-06 | 2015-01-06 | 基于改进网络协议的移动数据同步中间件的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510005304.1A CN104639613B (zh) | 2015-01-06 | 2015-01-06 | 基于改进网络协议的移动数据同步中间件的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104639613A CN104639613A (zh) | 2015-05-20 |
CN104639613B true CN104639613B (zh) | 2017-10-24 |
Family
ID=53217914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510005304.1A Expired - Fee Related CN104639613B (zh) | 2015-01-06 | 2015-01-06 | 基于改进网络协议的移动数据同步中间件的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104639613B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110958287B (zh) * | 2018-09-27 | 2022-06-24 | 阿里云计算有限公司 | 操作对象数据同步方法、装置及系统 |
CN113556371B (zh) * | 2020-04-26 | 2022-09-30 | 深信服科技股份有限公司 | 一种数据同步方法、系统、设备及计算机可读存储介质 |
CN114338121A (zh) * | 2021-12-23 | 2022-04-12 | 奇安信科技集团股份有限公司 | 防火墙安全防控方法、装置、系统、计算设备及存储介质 |
CN115499452B (zh) * | 2022-11-15 | 2023-02-28 | 四川蜀天信息技术有限公司 | 一种基于next的数据同步方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794724A (zh) * | 2005-10-27 | 2006-06-28 | 华为技术有限公司 | 在SyncML层实现数据同步的方法 |
-
2015
- 2015-01-06 CN CN201510005304.1A patent/CN104639613B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794724A (zh) * | 2005-10-27 | 2006-06-28 | 华为技术有限公司 | 在SyncML层实现数据同步的方法 |
Non-Patent Citations (3)
Title |
---|
基于SyncML的移动数据同步系统的设计;王文琴 等;《常州工学院学报》;20060430;全文 * |
基于移动端作物大田测试数据采集技术研究与实现;王虎 等;《中国农业科技导报》;20130430;全文 * |
移动数据同步协议SyncML分析;刘瑾 等;《计算机工程与设计》;20080531;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104639613A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729366B (zh) | 一种普适多源异构大规模数据同步系统 | |
CN104639613B (zh) | 基于改进网络协议的移动数据同步中间件的实现方法 | |
CN103297529B (zh) | 基于时间戳的树型结构数据同步方法 | |
CN104601665A (zh) | 一种对物联网感知设备进行云端实时仿真的系统和方法 | |
CN103916482A (zh) | 一种基于sqlite的数据同步传输方法 | |
CN105306585B (zh) | 一种多数据中心的数据同步方法 | |
CN105450654B (zh) | 基于中间件技术的智能家居开发平台及其业务开发方法 | |
CN102456052B (zh) | 一种嵌入式设备与数据库数据同步方法 | |
JP2021068470A (ja) | データベースのための遠隔データ同期方法及び装置 | |
CN103517405B (zh) | 一种网络定位的方法及系统、移动终端和网络侧设备 | |
CN107688611A (zh) | 一种基于saltstack的Redis键值管理系统及方法 | |
CN108600281A (zh) | 一种云存储系统、媒体数据存储方法及系统 | |
CN105450682A (zh) | 一种用于数据同步保存、向客户端同步数据的方法、装置和系统 | |
CN105472412A (zh) | 一种区分智能电视状态的大数据处理方法 | |
CN108206864B (zh) | 基于微信的车辆信息同步实时查询系统和信息同步方法 | |
CN110362618B (zh) | 一种分布式海洋在线监测数据的实时聚合系统及聚合方法 | |
CN100514928C (zh) | 一种快速生成网络设备树状拓扑结构的方法 | |
CN108011870B (zh) | 一种软件远程在线升级信息自动识别管理方法 | |
CN110149398B (zh) | 一种智能家居的智能门锁的用户管理方法 | |
CN101087263B (zh) | 一种通过搜索引擎获取用户状态信息的方法及系统 | |
CN103109498A (zh) | 用于对多级别层级式计算机管理系统的事件进行集中的方法 | |
CN103957119A (zh) | 一种采用mib文件对网络设备进行管理的方法及浏览器 | |
CN107968798A (zh) | 一种网管资源标签获取方法、缓存同步方法、装置及系统 | |
CN208210014U (zh) | 基于消息队列的嵌入式设备数据保存系统 | |
CN109743362A (zh) | 一种应用于全格式数据结构的数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
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: 20171024 |