一种基于移动端的客户订单信息同步方法与流程

文档序号:20949036发布日期:2020-06-02 20:01阅读:525来源:国知局
一种基于移动端的客户订单信息同步方法与流程

本发明涉及一种基于移动端的客户订单信息同步方法,属于数据同步技术领域。



背景技术:

随着移动互联网和智能手机的快速发展,越来越多公司开始开发移动端客户管理系统,对于移动端,从服务器端获取数据是重要一环,目前移动端获取数据有两种方法,方法1是实时从网络获取,方法2是从本地获取;方法1的特点在于能够实时获取到最新的数据,但是对于较大的数据,会浪费服务器资源和网络资源;方法2的特点在于移动端在无网络时可以查看数据,读取本地数据速度更快,但是缺点也很明显,移动端无法感知服务器数据变化。

目前已有的移动端同步服务器数据的方法,大多为全量同步,且没有对数据中值为的空属性进行过滤,客户信息中可能包含几十个字段,从实际数据来看,大部分客户信息中都有为空的,因为通常客户信息不能百分百的完善,而为空的字段通过网络传输也会占用带宽,对于较小的数据量,这样做没有问题,但是对于可能几千甚至上万多条的客户信息,全量同步对服务器资源和网络资源消耗较大。



技术实现要素:

本发明所要解决的技术问题是提供一种基于移动端的客户订单信息同步方法,能够提高了同步客户和订单信息的速度,降低服务器数据处理量,减少了对数据库资源的占用,以及降低了移动端的数据处理量,节约了网络带宽资源。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于移动端的客户订单信息同步方法,用于实现移动端本地客户表数据、订单表数据与服务器所存储客户表数据、订单表数据的同步;客户表数据包括客户id、客户时间戳、客户删除标记、以及预设各客户信息字段,其中,客户id用于表示客户的唯一标识,客户时间戳用于记录客户信息变化时的时间戳,客户删除标记用于标识客户是否已被删除;订单表数据包括订单id、客户id、订单时间戳、订单删除标记、以及预设各订单信息字段,其中,订单id用于表示订单的唯一标识,订单时间戳用于记录订单信息变化时的时间戳,订单删除标记用于标识订单是否已被删除;

所述客户订单信息同步方法包括移动端首次数据获取方法,如下步骤i至步骤v;

步骤i.移动端向服务器发送获取所有客户表数据、订单表数据的请求,并进入步骤ii;

步骤ii.服务器根据所接收的请求,由其所连服务器数据库中获取所有客户表数据、订单表数据,并组装为待发送整体数据,然后进入步骤iii;

步骤iii.服务器针对待发送整体数据进行空字段滤除操作,实现对待发送整体数据的更新,然后进入步骤iv;

步骤iv.服务器针对待发送整体数据进行压缩,获得整体数据压缩包,并发送给移动端,然后进入步骤v;

步骤v.移动端接收整体数据压缩包进行解析,获得客户表数据、订单表数据,存储至移动端数据库,实现移动端本地存储;

基于移动端首次数据获取方法,还包括移动端服务器数据同步方法,包括如下步骤a至步骤e如下,移动端按预设周期分别执行移动端服务器数据同步方法;

步骤a.移动端由其所连移动端数据库、获取其中客户表数据中的最新客户时间戳、以及订单表数据中的最新订单时间戳,然后进入步骤b;

步骤b.移动端向服务器发送包含最新客户时间戳、最新订单时间戳的数据同步请求,并进入步骤c;

步骤c.服务器接收数据同步请求,根据其中最新客户时间戳、最新订单时间戳,由其所连服务器数据库中获取距上次移动端服务器数据同步方法执行后,服务器新增或修改过、但移动端未新增或修改的查询结果,并将所获查询结果组装为待发送整体数据,然后进入步骤d;

步骤d.服务器针对待发送整体数据进行空字段滤除操作,实现对待发送整体数据的更新,并针对更新后的待发送整体数据进行压缩,获得整体数据压缩包,然后发送给移动端,再进入步骤e;

步骤e.移动端针对所接收整体数据压缩包进行解析,获取步骤c来自服务器的查询结果,并针对移动端数据库进行更新。

作为本发明的一种优选技术方案:所述步骤c中,服务器接收数据同步请求,根据其中最新客户时间戳、最新订单时间戳,执行如下步骤c1至步骤c5,由其所连服务器数据库中获取查询结果;

步骤c1.服务器查询服务器数据库客户表数据中客户时间戳大于最新客户时间戳、且客户删除标记为未删除的客户信息,构成客户列表查询结果;

步骤c2.服务器查询服务器数据库客户表数据中客户时间戳大于最新客户时间戳、且客户删除标记为已删除的客户id,构成删除客户列表查询结果;

步骤c3.服务器查询服务器数据库订单表数据中订单时间戳大于最新订单时间戳、且订单删除标记为未删除的订单信息,构成订单列表查询结果;

步骤c4.服务器查询服务器数据库订单表数据中订单时间戳大于最新订单时间戳、且订单删除标记为已删除的订单id,构成删除订单列表查询结果;

步骤c5.服务器针对客户列表查询结果、删除客户列表查询结果、订单列表查询结果、删除订单列表查询结果,构成查询结果。

作为本发明的一种优选技术方案:所述步骤e中,移动端针对所接收整体数据压缩包进行解析,获取步骤c来自服务器的查询结果,执行如下步骤e1至步骤e4,针对移动端数据库进行更新;

步骤e1.移动端针对查询结果中的客户列表查询结果进行遍历,将各客户信息依次插入移动端数据库中的客户表数据中,其中,先判断移动端数据库客户表数据中是否存在所插入客户信息的客户id,是则针对移动端数据库客户表数据中该客户id的数据记录更新,否则将该客户信息插入移动端数据库客户表数据中;

步骤e2.移动端针对查询结果中删除客户列表查询结果的各客户id进行遍历,删除移动端数据库客户表数据中对应该各客户id的客户信息;

步骤e3.移动端针对查询结果中的订单列表查询结果进行遍历,将各订单信息依次插入移动端数据库中的订单表数据中,其中,先判断移动端数据库订单表数据中是否存在所插入订单信息的订单id,是则针对移动端数据库订单表数据中该订单id的数据记录更新,否则将该订单信息插入移动端数据库订单表数据中;

步骤e4.移动端针对查询结果中删除订单列表查询结果的各订单id进行遍历,删除移动端数据库订单表数据中对应该各订单id的客户信息。

作为本发明的一种优选技术方案:所述步骤ii中,服务器根据所接收的请求,按如下步骤ii-1至步骤ii-4,由其所连服务器数据库中获取所有客户表数据、订单表数据;

步骤ii-1.服务器查询获得服务器数据库客户表数据中的所有客户信息;

步骤ii-2.服务器遍历所获所有客户信息,获得所有客户id的列表;

步骤ii-3.服务器根据所获所有客户id的列表,获得服务器数据库订单表数据中所关联的所有订单信息;

步骤ii-4.由所获所有客户信息、以及所有订单信息,构成所有客户表数据、订单表数据。

作为本发明的一种优选技术方案:所述客户表数据中的预设各客户信息字段包括客户姓名、客户手机号;所述订单表数据中的预设各订单信息字段包括订单状态。

本发明所述一种基于移动端的客户订单信息同步方法,采用以上技术方案与现有技术相比,具有以下技术效果:

本发明所设计基于移动端的客户订单信息同步方法,能够针对服务器的数据变化,在移动端实现同步更新,且更新方式只针对发生变化的数据进行更新,实现了数据的增量同步,并且在实现数据增量同步后,对数据进行去除空值、压缩,进一步减小了数据的体积,降低了服务器的数据处理量,减少了对数据库资源的占用,同时降低了移动端的数据处理量,节约了网络带宽资源。

附图说明

图1是本发明设计基于移动端的客户订单信息同步方法的架构示意图;

图2是本发明设计基于移动端的客户订单信息同步方法中服务器客户表数据、订单表数据示意图;

图3是本发明设计基于移动端的客户订单信息同步方法中移动端客户表数据、订单表数据示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明设计了一种基于移动端的客户订单信息同步方法,用于实现移动端本地客户表数据、订单表数据与服务器所存储客户表数据、订单表数据的同步;实际应用中,如图2所示,客户表数据包括客户id、客户时间戳、客户删除标记、客户姓名、客户手机号,其中,客户id即为主键,用于表示客户的唯一标识,实际应用中针对不同客户采用序号递增方式设计;客户时间戳用于记录客户信息变化时的时间戳,在对客户信息进行新增、修改、删除的同时,根据最新的更新时间记录该客户的客户时间戳;客户删除标记用于标识客户是否已被删除,该字段为枚举类型,取值只有两个,值为0表示该客户未被删除,值为1表示该客户已被删除;在进行新增或修改客户信息操作时,把该字段值保存为0;在进行删除客户信息操作时,只把该字段值更新为1,而不是物理删除数据。

如图2所示,订单表数据包括订单id、客户id、订单时间戳、订单删除标记、订单状态,其中,订单id即为主键,用于表示订单的唯一标识,实际应用中针对订单采用序号递增方式设计;订单时间戳用于记录订单信息变化时的时间戳,在对订单进行新增、修改、删除的同时,根据最新的更新时间记录该订单的订单时间戳;订单删除标记用于标识订单是否已被删除,该字段为枚举类型,取值只有两个,值为0表示该订单未被删除,值为1表示该订单已被删除,在进行新增或修改订单信息操作时,把该字段值保存为0,在进行删除订单信息操作时,只把该字段值更新为1,而不是物理删除数据。

后台管理系统是用来管理客户和订单的系统;后台管理系统中可以对客户信息进行新增、编辑、删除;同时后台管理系统中可以对订单信息进行新增、编辑、删除。应用中,在后台管理系统新增、修改客户信息时,将客户信息保存到数据库的同时,根据最新的更新时间记录该客户信息的客户时间戳;删除客户信息时,将客户删除标记更新为1(客户删除标记更新为1表示该客户已被删除)的同时,根据最新的更新时间记录该客户信息的客户时间戳。在后台管理系统新增、修改订单信息时,将订单信息保存到数据库的同时,根据最新的更新时间记录该订单信息的订单时间戳,删除订单信息时,将订单删除标记更新为1(订单删除标记更新为1表示该订单已被删除)的同时,根据最新的更新时间记录该订单信息的订单时间戳。

所述客户订单信息同步方法包括移动端首次数据获取方法,如图1所示,如下步骤i至步骤v。

步骤i.移动端向服务器发送获取所有客户表数据、订单表数据的请求,并进入步骤ii。

步骤ii.服务器根据所接收的请求,按如下步骤ii-1至步骤ii-4,由其所连服务器数据库中获取所有客户表数据、订单表数据,并组装为待发送整体数据,然后进入步骤iii。

步骤ii-1.服务器查询获得服务器数据库客户表数据中的所有客户信息。

步骤ii-2.服务器遍历所获所有客户信息,获得所有客户id的列表。

步骤ii-3.服务器根据所获所有客户id的列表,获得服务器数据库订单表数据中所关联的所有订单信息。

步骤ii-4.由所获所有客户信息、以及所有订单信息,构成所有客户表数据、订单表数据。

实际应用中,按如下代码方式,针对所获所有客户表数据、订单表数据,组装为待发送整体数据,

步骤iii.服务器针对待发送整体数据进行空字段滤除操作,实现对待发送整体数据的更新,实际应用中,诸如采用如下代码实现,然后进入步骤iv。

实际应用中,按上述步骤iii进行过滤,诸如数据中的客户手机号为空,就会被过滤,过滤后的数据如下:

步骤iv.服务器针对待发送整体数据进行压缩,获得整体数据压缩包,并发送给移动端,然后进入步骤v。实际应用中,应用spring的java开发框架进行数据设计,此设计支持gzip压缩,因此通过以下配置即可启用gzip压缩:

server.compression.enabled=true

步骤v.移动端接收整体数据压缩包进行解析,获得客户表数据、订单表数据,存储至移动端数据库,实现移动端本地存储。

基于移动端首次数据获取方法,还包括移动端服务器数据同步方法,如图1所示,包括如下步骤a至步骤e如下,移动端按预设周期分别执行移动端服务器数据同步方法。

步骤a.移动端由其所连移动端数据库、获取其中客户表数据中的最新客户时间戳、以及订单表数据中的最新订单时间戳,然后进入步骤b。

步骤b.移动端向服务器发送包含最新客户时间戳、最新订单时间戳的数据同步请求,并进入步骤c。

步骤c.服务器接收数据同步请求,根据其中最新客户时间戳、最新订单时间戳,执行如下步骤c1至步骤c5,由其所连服务器数据库中获取距上次移动端服务器数据同步方法执行后,服务器新增或修改过、但移动端未新增或修改的查询结果,并将所获查询结果组装为待发送整体数据,然后进入步骤d。

步骤c1.服务器查询服务器数据库客户表数据中客户时间戳大于最新客户时间戳、且客户删除标记为未删除的客户信息,构成客户列表查询结果。

步骤c2.服务器查询服务器数据库客户表数据中客户时间戳大于最新客户时间戳、且客户删除标记为已删除的客户id,构成删除客户列表查询结果。

步骤c3.服务器查询服务器数据库订单表数据中订单时间戳大于最新订单时间戳、且订单删除标记为未删除的订单信息,构成订单列表查询结果。

步骤c4.服务器查询服务器数据库订单表数据中订单时间戳大于最新订单时间戳、且订单删除标记为已删除的订单id,构成删除订单列表查询结果。

步骤c5.服务器针对客户列表查询结果、删除客户列表查询结果、订单列表查询结果、删除订单列表查询结果,构成查询结果。

实际应用中,将所获查询结果组装为待发送整体数据,诸如按如下代码执行。

步骤d.服务器针对待发送整体数据进行空字段滤除操作,实现对待发送整体数据的更新,并针对更新后的待发送整体数据进行压缩,获得整体数据压缩包,然后发送给移动端,再进入步骤e。

步骤e.移动端针对所接收整体数据压缩包进行解析,获取步骤c来自服务器的查询结果,执行如下步骤e1至步骤e4,并针对移动端数据库进行更新。

移动端数据库中客户表数据的结构、订单表数据的结构,分别相对服务器数据库中的客户表数据的结构、订单表数据的结构来说,分别减少了客户删除标记、订单删除标记,如图3所示。

步骤e1.移动端针对查询结果中的客户列表查询结果进行遍历,将各客户信息依次插入移动端数据库中的客户表数据中,其中,先判断移动端数据库客户表数据中是否存在所插入客户信息的客户id,是则针对移动端数据库客户表数据中该客户id的数据记录更新,否则将该客户信息插入移动端数据库客户表数据中。

步骤e2.移动端针对查询结果中删除客户列表查询结果的各客户id进行遍历,删除移动端数据库客户表数据中对应该各客户id的客户信息。

步骤e3.移动端针对查询结果中的订单列表查询结果进行遍历,将各订单信息依次插入移动端数据库中的订单表数据中,其中,先判断移动端数据库订单表数据中是否存在所插入订单信息的订单id,是则针对移动端数据库订单表数据中该订单id的数据记录更新,否则将该订单信息插入移动端数据库订单表数据中。

步骤e4.移动端针对查询结果中删除订单列表查询结果的各订单id进行遍历,删除移动端数据库订单表数据中对应该各订单id的客户信息。

上述技术方案所设计基于移动端的客户订单信息同步方法,能够针对服务器的数据变化,在移动端实现同步更新,且更新方式只针对发生变化的数据进行更新,实现了数据的增量同步,并且在实现数据增量同步后,对数据进行去除空值、压缩,进一步减小了数据的体积,降低了服务器的数据处理量,减少了对数据库资源的占用,同时降低了移动端的数据处理量,节约了网络带宽资源。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1