一种同步服务端离线数据的方法及系统与流程

文档序号:17696329发布日期:2019-05-17 21:33阅读:908来源:国知局
一种同步服务端离线数据的方法及系统与流程
本发明涉及数据处理领域,特别涉及一种同步服务端离线数据的方法及系统。
背景技术
:移动设备的便携移动给我们工作带来极大的方便,越来越多企业应用和工作场景向移动设备迁移,但考到这些设备计算能力、带宽和环境等因素,在不降低和不影响功能在企业应用顺利使用,终端设备需要缓存全部或部分数据,从而规避流量、网络环境不稳定造成的影响。然而数据一定会随着业务发生进行而变化,怎样提取变化数据,而后又怎样把变化数据下发到移动终端成为了当务之急。之前传统的数据同步中提取变化的方式是通过数据库更新的时间戳来提取,但这种单一方式对数据库时间戳机制依赖较高,某些特殊情况下会增加实现成本。接下来差异数据怎样下发,之前做法是单一打成数据包下发,再让端完成变化数据的整合。数据量变化大时的对终端计算能力要求会高,数据量变化小时服务端复杂的计算打包过程又会降低取数据的及时性,从而影响到用户的体验。技术实现要素:本申请的目的在于克服上述问题或者至少部分地解决或缓解上述问题。根据本申请的一个方面,提供了一种同步服务端离线数据的方法,包括如下步骤:s2:移动端将本地的移动端时间戳表达式传到服务器;s4:所述服务器根据所述移动端时间戳表达式产生服务器端时间戳表达式;s6:在所述移动端时间戳表达式和所述服务器端时间戳表达式之间的数据为差异数据。可选地,还包括:s8:通过阈值控制数据包生成器发送将所述差异数据打包。可选地,当所述差异数据的数据量低于第一阈值时,生成及时性数据包,当所述差异数据的数据量高于第二阈值时,生成对端计算能力要求较少的数据包。可选地,所述第一阈值等于所述第二阈值。根据本申请的另一个方面,提供了一种同步服务端离线数据的系统,使用上述任意一项所述的方法。根据本申请的另一个方面,还提供了一种计算机设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的方法。根据本申请的另一个方面,还提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现上述任一项所述的方法。根据本申请的另一个方面,还提供了一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。本申请的技术方案已经在t+移动仓管系统得以应用,通过时间戳表达式,在近乎不影响网络传送量的情况下,降低了数据同步方案的实现难度和给系统将来应对各种变化增加了可能性。通过阈值控制数据包生成器使用改善了小数据量变化和大数量时的用户同步数据时效率体验,同时让服务端后台生成数据包可以为下一次生成复用。根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。附图说明后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:图1是本申请一实施例中计算机设备的示意图;图2是本申请一实施例中计算机可读存储介质的示意图。图3是本申请一实施例中时间戳表达式的交互图。图4是本申请一实施例中阈值控制数据包生成器的交互图。具体实施方式请参照图1,本申请一实施例中,同步服务端离线数据的方法,包括如下步骤:s2:移动端将本地的移动端时间戳表达式传到服务器;s4:所述服务器根据所述移动端时间戳表达式产生服务器端时间戳表达式;s6:在所述移动端时间戳表达式和所述服务器端时间戳表达式之间的数据为差异数据。在本申请一实施例中,还包括:s8:通过阈值控制数据包生成器发送将所述差异数据打包。在本申请一实施例中,当所述差异数据的数据量低于第一阈值时,生成及时性数据包,当所述差异数据的数据量高于第二阈值时,生成对端计算能力要求较少的数据包。在本申请一实施例中,所述第一阈值等于所述第二阈值。本申请还提供一种同步服务端离线数据的系统,使用上述任意一项所述的方法。本申请还提供了一种计算机设备(请参照图1),包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的方法。本申请还提供了一种计算机可读存储介质(请参照图2),优选为非易失性可读存储介质,其内存储有计算机程序,其特征在于,所述计算机程序在由处理器执行时实现上述任意一项所述的方法。本申请还提供了一种计算机程序产品,包括计算机可读代码,其特征在于,当所述计算机可读代码由计算机设备执行时,导致所述计算机设备执行上述任一项所述的方法。时间戳表达式:同步数据设计开始就必须思考怎样提取变化?一定的有一个规则,数据库层面存在ts字段,通常如下即可实现提取变化数据:但对于有些变化由于结构问题不能通过ts实现,因此引入一个“时间戳表达式”设计,它可以根据系统架构不同而任意定义组合,对于大多数系统是应用服务器和数据库服务器构成,对应的表达式可以设计成如下:{ts},{数据库时间},{服务器时间}移动端上的数据包中会记录一个它的“时间戳表达式”。当客户端请求数据时回传此表达式。服务端接到请求后,产生一个服务端“时间戳表达式”,构造过程的伪代码如下:接下来生成服务根据配置和这两个“时间戳表达式”中的一项、几项或者全部因子组合条件提取数据,如下所示:整个交互过程如图3所示。由于“时间戳表达式”引入,对数据传送量几乎没有影响的前提下,减少对单一比对因子依赖和影响。而且随着系统改造变化,可以继续扩展构成“时间戳表达式”的因子。阈值控制数据包生成器:同步数据到移动端后,采用统一的方式合并变化数据,在大数据量变化面对移动设备计算能力普遍偏低情况下,用户体验会很差,而且在某些情况由于效率会严重影响到企业正常业务开展。在小数量变化情况下,服务器复杂计算打包压缩过程又会降低用户体验。综合上述情况,实现阈值控制数据包生成器的设计,简单说就是当变化量小于某阈值时,采取对移动端有利的a类型数据包(更新命令,数据条数小于阈值),当大于等于阈值时,生成另一种对移动端有利的b类型数据包(完整数据包,移动端只负责下载、解压和部分命令),其中交互过程如图4所示。其中3处服务端的“获取命令集”方法,就是此阈值控制数据包生成器的核心,内部的逻辑如下:步骤1:形成“命令”,加入“命令集合”步骤2:判断if(“命令集合”.count<阈值and有要生成的“命令”)==真)继续执行步骤1步骤3:判断if(“命令集合”.count>=阈值)返回空“命令集合”步骤4:启动后台任务生成包步骤5:返回“命令集合”这样实现的好处,既增加了及时性,又在将来如果数据没有变化的情况下,重用3处后台任务生成好的数据包,节省了其它移动端将来生成下载数据的时间。改善了服务器的压力。阈值是多少可以人为通过移动设备的计算处理能力和经验决定。这里讲的是1个阈值实现的控制装置,将来可以扩展出每一类设备一个阈值,或者所有设备一系列阈值,最终达到同步数据的极致。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetictape),软盘(英文:floppydisk),光盘(英文:opticaldisc)及其任意组合。以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1