CN110837537A - 订单数据同步方法、装置、计算机可读存储介质及服务器 - Google Patents

订单数据同步方法、装置、计算机可读存储介质及服务器 Download PDF

Info

Publication number
CN110837537A
CN110837537A CN201910966525.3A CN201910966525A CN110837537A CN 110837537 A CN110837537 A CN 110837537A CN 201910966525 A CN201910966525 A CN 201910966525A CN 110837537 A CN110837537 A CN 110837537A
Authority
CN
China
Prior art keywords
order data
data
level
order
synchronization
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.)
Granted
Application number
CN201910966525.3A
Other languages
English (en)
Other versions
CN110837537B (zh
Inventor
唐路桥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN201910966525.3A priority Critical patent/CN110837537B/zh
Publication of CN110837537A publication Critical patent/CN110837537A/zh
Application granted granted Critical
Publication of CN110837537B publication Critical patent/CN110837537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于计算机技术领域,尤其涉及一种订单数据同步方法、装置、计算机可读存储介质及服务器。所述方法在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据;从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。

Description

订单数据同步方法、装置、计算机可读存储介质及服务器
技术领域
本发明属于计算机技术领域,尤其涉及一种订单数据同步方法、装置、计算机可读存储介质及服务器。
背景技术
目前的各种交易系统规模庞大、结构复杂,往往会按照业务分类将整个系统划分为多个交易子系统,并由统一的主系统对各个交易子系统的订单数据进行汇总,常用的方式主要是通过接口调用的方法向多个不同的交易子系统实时获取订单数据,但这种方式无法抵抗订单数据在传输过程中可能产生的各种故障和异常,导致订单数据同步的一致性难以保证,错误率较高。
发明内容
有鉴于此,本发明实施例提供了一种订单数据同步方法、装置、计算机可读存储介质及服务器,以解决现有方法中订单数据同步的一致性难以保证,错误率较高的问题。
本发明实施例的第一方面提供了一种订单数据同步方法,可以包括:
在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
本发明实施例的第二方面提供了一种订单数据同步装置,可以包括:
第一订单数据获取模块,用于在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
第二订单数据获取模块,用于从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
订单数据比对模块,用于将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
订单数据同步模块,用于将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
本发明实施例的第四方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例充分考虑到订单数据在传输过程中可能产生的各种故障和异常,每隔一定的同步周期,即在预设的同步时刻从目标子系统中获取其在该同步周期内新增的订单数据,也即所述第一订单数据,并从主系统中获取对应的第二订单数据,然后将所述第一订单数据与所述第二订单数据进行比对,在比对结果中,所述第二订单数据相比于所述第一订单数据缺失的订单数据即为因在传输过程中可能产生的各种故障和异常所丢失的订单数据,也即所述第三订单数据,最后将所述第三订单数据添加入所述主系统中,从而达到保持所述主系统与所述目标子系统之间的订单数据同步的效果。通过这样的方式,保证了订单数据同步的一致性,避免了订单数据错漏情况的发生。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的一种具体应用场景的示意图;
图2为本发明实施例中一种订单数据同步方法的一个实施例流程图;
图3为主系统从目标子系统中获取订单数据的示意图;
图4为将第一订单数据与第二订单数据进行比对的示意流程图;
图5为本发明实施例中一种订单数据同步装置的一个实施例结构图;
图6为本发明实施例中一种服务器的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1所示为本发明实施例的一种具体应用场景,图中包括一个主系统和各个交易子系统,这些交易子系统包括但不限于:基金理财交易系统、黄金交易系统、国债交易系统、信用卡交易系统、商城交易系统等等。各个交易子系统用于对各自的订单数据分别进行处理,所述主系统用于对各个交易子系统的所有订单数据进行统一汇总。
请参阅图2,本发明实施例中一种订单数据同步方法的一个实施例可以包括:
步骤S201、在预设的同步时刻从预设的目标子系统中批量获取第一订单数据。
所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻。所述同步周期可以根据实际情况进行设置,例如,可以将其设置为一小时、两小时、三小时或者其它时间长度。优选地,可以将所述同步周期设置为一天,即每天进行一次订单数据的同步。本发明实施例的实施主体为所述主系统的服务器,其执行图2所示的同步过程的具体时间(也即所述同步时刻)可以根据实际情况进行设置,优选地,可以选择每天的系统闲时执行同步过程,以避免对正常业务产生干扰。
在每天的系统闲时,所述目标子系统可以生成包括其在所述同步周期内新增的所有订单数据在内的全量订单数据,也即所述第一订单数据,然后将所述第一订单数据上传至预设的文件服务器中,并通过预设的消息队列(MessageQueue,MQ)通知所述主系统的服务器,所述主系统的服务器根据该通知,直接从所述文件服务器中获取所述第一订单数据。
步骤S202、从预设的主系统中获取与所述目标子系统对应的第二订单数据。
所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据。
在所述同步周期内,所述主系统的服务器可以通过同步和异步相结合的方式获取所述第二订单数据,具体地,如图3所示,本实施例中优先通过同步方式实现数据流转,保持订单数据的强一致性,所述目标子系统将其在所述同步周期内产生的订单数据实时发送至所述主系统的服务器,这一部分实时的订单数据称之为同步订单数据,所述主系统的服务器对其进行接收。在所述主系统与所述目标子系统之间的传输和交互出现异常情况时,订单数据将无法实现实时同步流转,此时采用异步方式进行订单数据的处理,所述目标子系统将其在所述同步周期内的异常情况时产生的订单数据推送至所述消息队列中,这一部分非实时的订单数据称之为异步订单数据,在所述主系统与所述目标子系统之间的传输和交互恢复正常时,所述主系统的服务器从所述消息队列中获取所述异步订单数据。最后,所述主系统的服务器将所述同步订单数据和所述异步订单汇总为所述第二订单数据,并将所述第二订单数据存储入所述主系统中。
步骤S203、将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据。
所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据。
具体地,步骤S203可以包括如图4所示的过程:
步骤S2031、将所述第一订单数据与所述第二订单数据分别划分为L个层级。
其中,第l层级高于第l+1层级,第l层级的订单数据包括Nl个第l+1层级的订单数据,1≤l≤L-1,L≥2。
以所述第一订单数据为例,最高的层级(第1层级)的订单数据为整个所述第一订单数据,第1层级的订单数据可以按照订单数据生成的时刻划分为N1个第2层级的订单数据,每个第2层级的订单数据可以按照订单数据生成的时刻划分为N2个第3层级的订单数据,每个第3层级可以按照订单数据生成的时刻划分为N3个第4层级的订单数据,……,每个第l层级的订单数据可以按照订单数据生成的时刻划分为Nl个第l+1层级的订单数据,……,最后,每个第L-1层级的订单数据可以按照订单数据生成的时刻划分为NL-1个第L层级的订单数据。
例如,在本实施例的一种具体实现中,所述同步周期可以为从昨天的凌晨0点到今天的凌晨0点,将第1层级的订单数据可以按小时进行划分,即按照0点到1点、1点到2点、2点到3点、……、23点到0点划分为24个第2层级的订单数据;将每个第2层级的订单数据可以按十分钟进行划分,即按照第0分钟到第10分钟、第10分钟到第20分钟、第20分钟到第30分钟、……、第50分钟到第60分钟划分为6个第3层级的订单数据;将每个第3层级的订单数据可以按一分钟进行划分,即按照第0分钟到第1分钟、第1分钟到第2分钟、第2分钟到第3分钟、……、第9分钟到第10分钟划分为10个第4层级的订单数据;将每个第4层级的订单数据可以按十秒钟进行划分,即按照第0秒钟到第10秒钟、第10秒钟到第20秒钟、第20秒钟到第30秒钟、……、第50秒钟到第60秒钟划秒为6个第5层级的订单数据;将每个第5层级的订单数据可以按一秒钟进行划分,即按照第0秒钟到第1秒钟、第1秒钟到第2秒钟、第2秒钟到第3秒钟、……、第9秒钟到第10秒钟划分为10个第6层级的订单数据。
需要注意的是,以上仅为举例,在实际应用中可以根据具体情况选择各种其它的层级划分方式,本实施例对此不作具体限定。所述第二订单数据的层级划分与所述第一订单数据的层级划分类似,此处不再赘述。
步骤S2032、分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要。
具体地,可以根据下式分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要:
Figure BDA0002230665360000071
Figure BDA0002230665360000072
Figure BDA0002230665360000073
其中,nl为第l+1层级的订单数据的序号,1≤nl≤Nl
Figure BDA0002230665360000074
为第l层级的第nl-1个订单数据,DigFunc为预设的摘要计算函数,包括但不限于MD2、MD4、MD5、SHA-1、SHA-256、RIPEMD128、RIPEMD160等具体的摘要计算函数,
Figure BDA0002230665360000081
为第l层级的第nl-1个订单数据的数据摘要。
即首先对各个最低层级(第L层级)的订单数据进行摘要计算,得到其数据摘要,然后将属于同一上层订单数据的数据摘要进行级联,并对级联后的数据进行摘要计算,得到上层订单数据的数据摘要,不断重复该过程,直至计算得到最上层(第1层级)订单数据的数据摘要为止。
步骤S2033、按照层级从高到低的顺序对所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要进行比对,确定出所述第三订单数据。
具体地,首先对所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要进行比对,若所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要比对一致,则说明两者完全一致,确定所述第三订单数据为空,无需再进行后续比对过程。若所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要比对不一致,则对所述第一订单数据与所述第二订单数据的第k层级(此处,k的初始值为2)的指定订单数据的数据摘要进行比对,其中,第k层级的指定订单数据为由比对不一致的第k-1层级的订单数据划分出的第k层级的订单数据。若所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要比对不一致,则判断k是否等于L,若k不等于L,则将k增加一个计数单位,即:k=k+1,然后返回执行所述对所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要进行比对的步骤,若k等于L,则说明已经比对到最低层级的订单数据,此时可以从所述第一订单数据的第L层级的指定订单数据中查找出所述第三订单数据。
通过这样的方式,无需对各个订单数据进行逐一比对,而是按照数据摘要逐层进行订单数据比对,可以快速的定位出缺失的订单数据,大大提高了订单数据比对的效率。
步骤S204、将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
综上所述,本发明实施例充分考虑到订单数据在传输过程中可能产生的各种故障和异常,每隔一定的同步周期,即在预设的同步时刻从目标子系统中获取其在该同步周期内新增的订单数据,也即所述第一订单数据,并从主系统中获取对应的第二订单数据,然后将所述第一订单数据与所述第二订单数据进行比对,在比对结果中,所述第二订单数据相比于所述第一订单数据缺失的订单数据即为因在传输过程中可能产生的各种故障和异常所丢失的订单数据,也即所述第三订单数据,最后将所述第三订单数据添加入所述主系统中,从而达到保持所述主系统与所述目标子系统之间的订单数据同步的效果。通过这样的方式,保证了订单数据同步的一致性,避免了订单数据错漏情况的发生。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种订单数据同步方法,图5示出了本发明实施例提供的一种订单数据同步装置的一个实施例结构图。
本实施例中,一种订单数据同步装置可以包括:
第一订单数据获取模块501,用于在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
第二订单数据获取模块502,用于从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
订单数据比对模块503,用于将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
订单数据同步模块504,用于将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
进一步地,所述订单数据比对模块可以包括:
层级划分单元,用于将所述第一订单数据与所述第二订单数据分别划分为L个层级,其中,第l层级的订单数据包括Nl个第l+1层级的订单数据,1≤l≤L-1,L≥2;
数据摘要计算单元,用于分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要;
数据摘要比对单元,用于按照层级从高到低的顺序对所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要进行比对,确定出所述第三订单数据,其中,第l层级高于第l+1层级。
进一步地,所述数据摘要计算单元具体用于根据下式分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要:
Figure BDA0002230665360000101
Figure BDA0002230665360000102
Figure BDA0002230665360000103
其中,nl为第l+1层级的订单数据的序号,1≤nl≤Nl
Figure BDA0002230665360000104
为第l层级的第nl-1个订单数据,DigFunc为预设的摘要计算函数,
Figure BDA0002230665360000105
为第l层级的第nl-1个订单数据的数据摘要。
进一步地,所述数据摘要比对单元可以包括:
第一比对子单元,用于对所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要进行比对;
空数据确定子单元,用于若所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要比对一致,则确定所述第三订单数据为空;
第二比对子单元,用于若所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要比对不一致,则对所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要进行比对,其中,第k层级的指定订单数据为由比对不一致的第k-1层级的订单数据划分出的第k层级的订单数据,k的初始值为2;
层级判断子单元,用于若所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要比对不一致,则判断k是否等于L;
计数自增子单元,用于若k不等于L,则将k增加一个计数单位;
数据查找子单元,用于若k等于L,则从所述第一订单数据的第L层级的指定订单数据中查找出所述第三订单数据。
进一步地,所述订单数据同步装置还可以包括:
同步订单数据接收模块,用于接收所述目标子系统在所述同步周期内发送的同步订单数据;
异步订单数据获取模块,用于从预设的消息队列中获取所述目标子系统在所述同步周期内发送的异步订单数据;
数据汇总模块,用于将所述同步订单数据和所述异步订单汇总为所述第二订单数据,并将所述第二订单数据存储入所述主系统中。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图6示出了本发明实施例提供的一种服务器的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
如图6所示,该实施例的服务器6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个订单数据同步方法实施例中的步骤,例如图2所示的步骤S201至步骤S204。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至模块504的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述服务器6中的执行过程。
本领域技术人员可以理解,图6仅仅是服务器6的示例,并不构成对服务器6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器6还可以包括输入输出设备、网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述服务器6的内部存储单元,例如服务器6的硬盘或内存。所述存储器61也可以是所述服务器6的外部存储设备,例如所述服务器6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述服务器6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述服务器6所需的其它程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种订单数据同步方法,其特征在于,包括:
在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
2.根据权利要求1所述的订单数据同步方法,其特征在于,所述将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据包括:
将所述第一订单数据与所述第二订单数据分别划分为L个层级,其中,第l层级的订单数据包括Nl个第l+1层级的订单数据,1≤l≤L-1,L≥2;
分别计算所述第一订单数据与所述第二订单数据各个层级的每个订单数据的数据摘要;
按照层级从高到低的顺序对所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要进行比对,确定出所述第三订单数据,其中,第l层级高于第l+1层级。
3.根据权利要求2所述的订单数据同步方法,其特征在于,所述分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要包括:
根据下式分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要:
Figure FDA0002230665350000022
Figure FDA0002230665350000023
其中,nl为第l+1层级的订单数据的序号,1≤nl≤Nl
Figure FDA0002230665350000024
为第l层级的第nl-1个订单数据,DigFunc为预设的摘要计算函数,
Figure FDA0002230665350000025
为第l层级的第nl-1个订单数据的数据摘要。
4.根据权利要求2所述的订单数据同步方法,其特征在于,所述按照层级从高到低的顺序对所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要进行比对,确定出所述第三订单数据包括:
对所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要进行比对;
若所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要比对一致,则确定所述第三订单数据为空;
若所述第一订单数据与所述第二订单数据的第1层级的订单数据的数据摘要比对不一致,则对所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要进行比对,其中,第k层级的指定订单数据为由比对不一致的第k-1层级的订单数据划分出的第k层级的订单数据,k的初始值为2;
若所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要比对不一致,则判断k是否等于L;
若k不等于L,则将k增加一个计数单位,返回执行所述对所述第一订单数据与所述第二订单数据的第k层级的指定订单数据的数据摘要进行比对的步骤;
若k等于L,则从所述第一订单数据的第L层级的指定订单数据中查找出所述第三订单数据。
5.根据权利要求1至4中任一项所述的订单数据同步方法,其特征在于,在从预设的主系统中获取与所述目标子系统对应的第二订单数据之前,还包括:
接收所述目标子系统在所述同步周期内发送的同步订单数据;
从预设的消息队列中获取所述目标子系统在所述同步周期内发送的异步订单数据;
将所述同步订单数据和所述异步订单汇总为所述第二订单数据,并将所述第二订单数据存储入所述主系统中。
6.一种订单数据同步装置,其特征在于,包括:
第一订单数据获取模块,用于在预设的同步时刻从预设的目标子系统中批量获取第一订单数据,所述第一订单数据为所述目标子系统在预设的同步周期内新增的订单数据,所述目标子系统为预设的各个交易子系统中的任意一个,所述同步时刻为在所述同步周期后的任一时刻;
第二订单数据获取模块,用于从预设的主系统中获取与所述目标子系统对应的第二订单数据,所述第二订单数据为所述主系统在所述同步周期内从所述目标子系统中获取的新增的订单数据;
订单数据比对模块,用于将所述第一订单数据与所述第二订单数据进行比对,确定出第三订单数据,所述第三订单数据为所述第二订单数据相比于所述第一订单数据缺失的订单数据;
订单数据同步模块,用于将所述第三订单数据添加入所述主系统中,以保持所述主系统与所述目标子系统之间的订单数据同步。
7.根据权利要求6所述的订单数据同步装置,其特征在于,所述订单数据比对模块包括:
层级划分单元,用于将所述第一订单数据与所述第二订单数据分别划分为L个层级,其中,第l层级的订单数据包括Nl个第l+1层级的订单数据,1≤l≤L-1,L≥2;
数据摘要计算单元,用于分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要;
数据摘要比对单元,用于按照层级从高到低的顺序对所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要进行比对,确定出所述第三订单数据,其中,第l层级高于第l+1层级。
8.根据权利要求7所述的订单数据同步装置,其特征在于,所述数据摘要计算单元具体用于根据下式分别计算所述第一订单数据与所述第二订单数据各个层级的订单数据的数据摘要:
Figure FDA0002230665350000041
Figure FDA0002230665350000042
其中,nl为第l+1层级的订单数据的序号,1≤nl≤Nl
Figure FDA0002230665350000044
为第l层级的第nl-1个订单数据,DigFunc为预设的摘要计算函数,
Figure FDA0002230665350000045
为第l层级的第nl-1个订单数据的数据摘要。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的订单数据同步方法的步骤。
10.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述的订单数据同步方法的步骤。
CN201910966525.3A 2019-10-12 2019-10-12 订单数据同步方法、装置、计算机可读存储介质及服务器 Active CN110837537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910966525.3A CN110837537B (zh) 2019-10-12 2019-10-12 订单数据同步方法、装置、计算机可读存储介质及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910966525.3A CN110837537B (zh) 2019-10-12 2019-10-12 订单数据同步方法、装置、计算机可读存储介质及服务器

Publications (2)

Publication Number Publication Date
CN110837537A true CN110837537A (zh) 2020-02-25
CN110837537B CN110837537B (zh) 2024-05-31

Family

ID=69575300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910966525.3A Active CN110837537B (zh) 2019-10-12 2019-10-12 订单数据同步方法、装置、计算机可读存储介质及服务器

Country Status (1)

Country Link
CN (1) CN110837537B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010603A (zh) * 2021-03-17 2021-06-22 杭州遥望网络科技有限公司 一种订单数据的同步方法、装置、设备及存储介质
CN114266616A (zh) * 2021-12-01 2022-04-01 携程商旅信息服务(上海)有限公司 数据一致性方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005306A1 (en) * 2001-06-29 2003-01-02 Hunt Preston J. Message digest based data synchronization
US20140214763A1 (en) * 2013-01-25 2014-07-31 International Business Machines Corporation Synchronization of time between different simulation models
CN105162855A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 增量数据同步方法和装置
CN107689998A (zh) * 2017-09-14 2018-02-13 平安科技(深圳)有限公司 一种增量数据同步方法及终端设备
CN108769212A (zh) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 数据同步方法、装置、计算机设备和存储介质
CN109308421A (zh) * 2017-07-28 2019-02-05 腾讯科技(深圳)有限公司 一种信息防篡改方法、装置、服务器和计算机存储介质
CN110149373A (zh) * 2019-04-28 2019-08-20 平安科技(深圳)有限公司 基于点对点网络的数据存储方法、装置、介质及服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005306A1 (en) * 2001-06-29 2003-01-02 Hunt Preston J. Message digest based data synchronization
US20140214763A1 (en) * 2013-01-25 2014-07-31 International Business Machines Corporation Synchronization of time between different simulation models
CN105162855A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 增量数据同步方法和装置
CN109308421A (zh) * 2017-07-28 2019-02-05 腾讯科技(深圳)有限公司 一种信息防篡改方法、装置、服务器和计算机存储介质
CN107689998A (zh) * 2017-09-14 2018-02-13 平安科技(深圳)有限公司 一种增量数据同步方法及终端设备
CN108769212A (zh) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 数据同步方法、装置、计算机设备和存储介质
CN110149373A (zh) * 2019-04-28 2019-08-20 平安科技(深圳)有限公司 基于点对点网络的数据存储方法、装置、介质及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010603A (zh) * 2021-03-17 2021-06-22 杭州遥望网络科技有限公司 一种订单数据的同步方法、装置、设备及存储介质
CN114266616A (zh) * 2021-12-01 2022-04-01 携程商旅信息服务(上海)有限公司 数据一致性方法及系统

Also Published As

Publication number Publication date
CN110837537B (zh) 2024-05-31

Similar Documents

Publication Publication Date Title
CN107832062B (zh) 一种程序更新方法及终端设备
CN107689998B (zh) 一种增量数据同步方法、终端设备及计算机可读存储介质
CN107784063B (zh) 算法的生成方法及终端设备
CN112381382B (zh) 一种漏损管理方法、漏损管理装置及终端设备
CN110837537B (zh) 订单数据同步方法、装置、计算机可读存储介质及服务器
WO2021051782A1 (zh) 区块链的共识方法、装置及设备
CN113312338A (zh) 数据一致性的校验方法、装置、设备、介质及程序产品
WO2018166145A1 (zh) 还款数据分批报盘方法和装置
CN113010334A (zh) 一种请求处理方法、装置和设备
CN111369354A (zh) 面向区块链应用的数据监控方法、装置及存储介质
CN111274204B (zh) 终端识别方法、生成移动设备标识组合码的方法及其装置
CN108595685B (zh) 一种数据处理方法及装置
CN114676161A (zh) 一种数据处理方法、装置、设备及存储介质
CN110515591B (zh) 基于区块链的随机数生成方法及装置
CN109408035B (zh) 一种业务系统的流程配置方法、存储介质和服务器
CN109597819B (zh) 用于更新数据库的方法和装置
CN110046172B (zh) 在线计算数据处理方法及系统
CN111862894A (zh) 一种背光亮度的调整方法、装置、终端和可读存储介质
CN114896322A (zh) 一种基于json配置化数据转换方法、装置、设备及介质
CN111158994B (zh) 一种压测性能测试方法及装置
CN112463484A (zh) 一种数字输入输出电路测试方法、系统、终端及存储介质
CN108984101B (zh) 在分布式存储系统中确定事件之间关系的方法及装置
CN113781034B (zh) 一种基于缓存的记账及检查方法
CN110674214A (zh) 大数据同步方法、装置、计算机设备及存储介质
CN115563015B (zh) 一种代码热度统计方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant