CN109064248A - 订单数据同步的校验方法、装置及设备 - Google Patents
订单数据同步的校验方法、装置及设备 Download PDFInfo
- Publication number
- CN109064248A CN109064248A CN201810664013.7A CN201810664013A CN109064248A CN 109064248 A CN109064248 A CN 109064248A CN 201810664013 A CN201810664013 A CN 201810664013A CN 109064248 A CN109064248 A CN 109064248A
- Authority
- CN
- China
- Prior art keywords
- data
- order
- desired result
- result code
- consistency desired
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- 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
Abstract
本申请公开了一种订单数据同步的校验方法、装置及设备,涉及数据处理技术领域,可以及时发现双方订单数据不一致的情况,并且可以提高订单数据同步的校验效率。其中方法包括:获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码;通过对比所述发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致;若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。本申请适用于订单数据同步的校验。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及到一种订单数据同步的校验方法、装置及设备。
背景技术
客人在餐饮门店消费后,门店收银机会将客人的订单数据同步备份到云端的中心云服务器,而餐饮行业的特殊性决定门店收银机、中心云服务器需要部署在不同的机房里。由于网络环境、硬件、软件等的不稳定性,经常会导致订单数据漏传、丢失,进而会造成订单数据同步不一致的情况。
为了解决上述问题,目前可以采用轮询的方式进行订单数据同步校验,具体在发现双方订单数据不一致时,可从头到尾逐条核对订单数据的日志流水,从而找到同步缺失的订单数据。
然而,这种逐条核对订单数据的方式,不能及时发现双方订单数据不一致的情况,只能做到事后分析,并且如果遇到订单数量较大,会需要较长的核对校验时间,进而会影响订单数据同步的校验效率。
发明内容
有鉴于此,本申请提供了一种订单数据同步的校验方法、装置及设备,主要目的在于解决目前采用轮询的方式进行订单数据同步校验,不能及时发现双方订单数据不一致的情况,并且如果遇到订单数量较大,会需要较长的核对校验时间,进而会影响订单数据同步的校验效率的问题。
根据本申请的一个方面,提供了一种订单数据同步的校验方法,该方法包括:
获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码;其中,所述发送方一致性校验码在所述数据发送方发送订单数据时,按照订单发送的增量累加规则生成;所述接收方一致性校验码在所述数据接收方同步接收订单数据时,按照订单接收的增量累加规则生成;所述订单发送的增量累加规则和所述订单接收的增量累加规则的结构统一;
通过对比所述发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致;
若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。
优选的,所述发送方一致性校验码和所述接收方一致性校验码在生成时对应有生成时间段标记,所述通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据,具体包括:
获取双方周期内的发送方一致性校验码和接收方一致性校验码出现不一致时对应的生成时间段标记;
根据获取到的所述生成时间段标记,确定双方订单数据同步出现不一致时对应的时间段;
通过将在所述时间段内双方同步的订单数据进行逐条核对,确定双方订单数据同步的缺失数据。
优选的,所述发送方一致性校验码具体由所述数据发送方根据累加同步发送的第一总订单数量信息、不同预设订单维度分组的第一累加订单数量信息、不同预设累加分组的第一累加订单金额信息生成得到;
所述接收方一致性校验码具体由所述数据接收方根据累加同步接收的第二总订单数量信息、不同预设订单维度分组的第二累加订单数量信息、不同预设累加分组的第二累加订单金额信息生成得到。
优选的,若所述预设订单维度分组分别为堂食维度分组和外卖维度分组,且所述预设累加分组分别为堂食累加分组和外卖累加分组,则所述发送方一致性校验码具体由所述数据发送方将累加同步发送的第一总订单数量、所述堂食维度分组的第一累加订单数量、所述外卖维度分组的第一累加订单数量、所述堂食累加分组的第一累加订单金额、所述外卖累加分组的第一累加订单金额进行相加得到;及,
所述接收方一致性校验码具体由所述数据接收方将累加同步接收的第二总订单数量、所述堂食维度分组的第二累加接收订单数量、所述外卖维度分组的第二累加订单数量、所述堂食累加分组的第二累加订单金额、所述外卖累加分组的第二累加订单金额进行相加得到。
优选的,所述生成时间段标记按照双方各自的系统时间确定,所述通过对比所述发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致,具体包括:
检测所述发送方一致性校验码对应的生成时间段标记与所述接收方一致性校验码对应的生成时间段标记是否相同;
若相同,则在判定所述发送方一致性校验码和所述接收方一致性校验码一致时,确定双方订单数据同步一致;在判定所述发送方一致性校验码和所述接收方一致性校验码不一致时,确定双方订单数据同步不一致;
若不相同,则确定双方的系统时间不统一,并发送双方统一系统时间的校正指令。
优选的,在确定双方订单数据同步的缺失数据之后,所述方法还包括:
触发所述数据发送方根据所述缺失数据进行双方订单数据同步补缺处理;
在双方订单数据同步补缺处理完毕之后,向所述数据接收方发送一致性校验码的更新指令,使得所述数据接收方根据补缺的订单数据,对与最新接收的订单数据对应生成的接收方发送一致性校验码进行增量补缺更新。
优选的,所述获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码,具体包括:
定时或不定时触发获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码。
根据本申请的另一方面,提供了一种订单数据同步的校验装置,该装置包括:
获取单元,用于获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码;其中,所述发送方一致性校验码在所述数据发送方发送订单数据时,按照订单发送的增量累加规则生成;所述接收方一致性校验码在所述数据接收方同步接收订单数据时,按照订单接收的增量累加规则生成;所述订单发送的增量累加规则和所述订单接收的增量累加规则的结构统一;
确定单元,用于通过对比所述获取单元获取到的发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致;
若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。
优选的,所述发送方一致性校验码和所述接收方一致性校验码在生成时对应有生成时间段标记,
所述确定单元,具体用于获取双方周期内的发送方一致性校验码和接收方一致性校验码出现不一致时对应的生成时间段标记;
根据获取到的所述生成时间段标记,确定双方订单数据同步出现不一致时对应的时间段;
通过将在所述时间段内双方同步的订单数据进行逐条核对,确定双方订单数据同步的缺失数据。
优选的,所述发送方一致性校验码具体由所述数据发送方根据累加同步发送的第一总订单数量信息、不同预设订单维度分组的第一累加订单数量信息、不同预设累加分组的第一累加订单金额信息生成得到;
所述接收方一致性校验码具体由所述数据接收方根据累加同步接收的第二总订单数量信息、不同预设订单维度分组的第二累加订单数量信息、不同预设累加分组的第二累加订单金额信息生成得到。
优选的,若所述预设订单维度分组分别为堂食维度分组和外卖维度分组,且所述预设累加分组分别为堂食累加分组和外卖累加分组,则所述发送方一致性校验码具体由所述数据发送方将累加同步发送的第一总订单数量、所述堂食维度分组的第一累加订单数量、所述外卖维度分组的第一累加订单数量、所述堂食累加分组的第一累加订单金额、所述外卖累加分组的第一累加订单金额进行相加得到;及,
所述接收方一致性校验码具体由所述数据接收方将累加同步接收的第二总订单数量、所述堂食维度分组的第二累加接收订单数量、所述外卖维度分组的第二累加订单数量、所述堂食累加分组的第二累加订单金额、所述外卖累加分组的第二累加订单金额进行相加得到。
优选的,所述生成时间段标记按照双方各自的系统时间确定,
所述确定单元,具体还用于检测所述发送方一致性校验码对应的生成时间段标记与所述接收方一致性校验码对应的生成时间段标记是否相同;
若相同,则在判定所述发送方一致性校验码和所述接收方一致性校验码一致时,确定双方订单数据同步一致;在判定所述发送方一致性校验码和所述接收方一致性校验码不一致时,确定双方订单数据同步不一致;
若不相同,则确定双方的系统时间不统一,并发送双方统一系统时间的校正指令。
优选的,所述装置还包括:
触发单元,用于在确定双方订单数据同步的缺失数据之后,触发所述数据发送方根据所述缺失数据进行双方订单数据同步补缺处理;
在双方订单数据同步补缺处理完毕之后,向所述数据接收方发送一致性校验码的更新指令,使得所述数据接收方根据补缺的订单数据,对与最新接收的订单数据对应生成的接收方发送一致性校验码进行增量补缺更新。
优选的,所述获取单元,具体用于定时或不定时触发获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述订单数据同步的校验方法。
依据本申请再一个方面,提供了一种订单数据同步校验的实体设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述订单数据同步的校验方法。
借由上述技术方案,本申请提供的一种订单数据同步的校验方法、装置及设备,与目前采用轮询的方式进行订单数据同步校验方式相比,本申请在数据发送方发送订单数据时按照订单发送的增量累加规则生成发送方一致性校验码,并且在数据接收方同步接收订单数据时按照订单接收的增量累加规则生成接收方一致性校验码,由于双方一致性校验码生成规则结构事先统一,因此可通过对比双方的一致性校验码,及时判定双方订单数据同步是否一致,进而及时发现双方订单数据不一致的情况;如果数据同步不一致再通过查询双方周期内的一致性校验码,确定双方订单数据同步的缺失数据。通过这种预计算一致性校验码的工作,从而避免订单流水数据的逐条校对,节省了核对校验时间,提高了订单数据同步的校验效率,而且大大降低了传统数据校准的成本开销。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种订单数据同步的校验方法的流程示意图;
图2示出了本申请实施例提供的双方数据同步一致性校验的实例示意图;
图3示出了本申请实施例提供的按增量累加方式计算得到的一致性校验码进行双方数据同步一致性校验的流程示意图;
图4示出了本申请实施例提供的按生成时间段周期批量汇总的一致性校验码进行一致性校验的流程示意图;
图5示出了本申请实施例提供的双方数据同步一致性校验的整体流程示意图;
图6示出了本申请实施例提供的一种订单数据同步的校验装置的结构示意图;
图7示出了本申请实施例提供的另一种订单数据同步的校验装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对目前采用轮询的方式进行订单数据同步校验,这种事后分析方式不能及时发现双方订单数据不一致的情况,并且如果遇到订单数量较大,从头到尾逐条核对订单数据的日志流水会消耗较长的核对校验时间,进而会影响订单数据同步的校验效率的问题,本实施例提供了一种订单数据同步的校验方法,可以及时发现双方订单数据不一致的情况,并且可以提高订单数据同步的校验效率,如图1所示,该方法包括:
101、获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码。
其中,发送方一致性校验码在数据发送方发送订单数据时,按照订单发送的增量累加规则生成;接收方一致性校验码在数据接收方同步接收订单数据时,按照订单接收的增量累加规则生成;而订单发送的增量累加规则和订单接收的增量累加规则的结构统一,且这两个规则的具体内容可以根据实际业务需求预先统一设定。在本实施例中,双方一致性校验码的生成规则结构事先统一,使得在双方订单数据同步不丢失数据的情况下,保证最新的发送方一致性校验码与最新的接收方一致性校验码相同。
例如,数据发送方在实时发送订单数据时,可以根据实时累计发送订单的总数量、实时累计发送的在线支付订单的数量、实时累计发送的线下支付订单的数量等,生成这一订单数据对应的发送方一致性校验码;而数据接收方在实时接收该订单数据时,根据实时累计接收订单的总数量、实时累计接收的在线支付订单的数量、实时累计接收的线下支付订单的数量等,生成该订单数据对应的接收方一致性校验码。如果双方订单数据同步一直保持一致,没有缺失数据,那么当前正在同步的这单数据对应的发送方一致性校验码和接收方一致性校验码是相同的。
对于本实施例的执行主体可以为订单数据同步校验的装置或设备,用于数据发送方与数据接收方双方订单数据同步的校验,及时发现双方订单数据不一致的情况,并及时确定双方订单数据同步的缺失数据。
102、通过对比发送方一致性校验码和接收方一致性校验码,确定数据发送方与数据接收方双方订单数据同步是否一致。
在本实施例中,如果数据发送方与数据接收方双方最新同步的订单数据对应的发送方一致性校验码和接收方一致性校验码相同,说明双方订单数据同步一致;如果发送方一致性校验码和接收方一致性校验码不相同,发送方一致性校验码要大于接收方一致性校验码,说明数据发送方发送的各单流水数据,数据接收方并没有接收完整,存在漏传或丢失的订单数据,因此确定双方订单数据同步不一致。
103、若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。
其中,这里的周期可以根据触发双方数据同步一致性校验的周期长短来确定。双方周期内的发送方一致性校验码和接收方一致性校验码包括:双方最新同步的订单数据对应的发送方一致性校验码和接收方一致性校验码,以及这一周期内同步的其它订单数据对应的双方历史一致性校验码。对于本实施例,如果上一周期内双方数据同步校验后,确定双方数据同步一致或者在不一致时根据缺失的数据已经补缺了同步数据,那么在当前这一周期的双方数据一致性校验中,如果确定双方数据同步不一致,则只在当前这一周期内双方同步的订单数据中根据双方一致性校验码进行逐条核对即可找出缺失数据,无需再核对历史周期内双方同步的订单数据,与目前轮询的方式相比,在一定程度上,节省了的核对校验时间,提高了订单数据同步的校验效率。
例如,如图2所示,“业务系统A”对应数据发送方,代指订单数据生产系统,如下单系统等,生成的订单数据在实时同步到“业务系统B”时,同时生成一致性校验码;“业务系统B”对应数据接收方,代指接收数据的系统。如“服务后台”、“数据中心”等,在接收到同步过来的“业务系统A”的订单流水数据时,同时生成一致性校验码;然后通过双方生成的“一致性校验码”快速的进行校验双方的数据一致性。
需要说明的是,本实施例提供的方法,并不局限于订单数据的同步校验,还可应用于其它业务流水数据的同步校验。而数据发送方与数据接收方之间数据同步过程中,还可根据实际业务需求,随时双方角色互换,即原数据发送方更换为数据接收方,而原数据接收方更换为数据发送方,这时双方的一致性校验码生成规则也会随之改变,但双方规则的结构依然统一。基于原来累加结果的基础上,由原订单发送的增量累加规则变更为订单接收的增量累加规则,由原订单接收的增量累加规则变更为订单发送的增量累加规则,即更改双方各自订单发送和接收累加的规则,双方参考的是各自对应一方的订单数据同步累加总量,进而以此继续生成一致性校验码,保证双方数据同步依然可以利用一致性校验码进行同步校验。
通过本实施例上述订单数据同步的校验方法,与目前采用轮询的方式进行订单数据同步校验方式相比,构造快速校验的一致性校验码,进而快速校验订单数据同步是否一致,可避免订单流水数据的逐条较对,大大降低了传统数据校准的成本开销(网络、计算资源)。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了说明步骤103中的具体实施过程,实现快速定位双方同步缺失的数据,缩短逐条订单数据校对的时间,作为一种优选方式,发送方一致性校验码和接收方一致性校验码在生成时对应有生成时间段标记,例如,双方在2018年4月1日12点01分至12点59分之间生成一致性校验码时,为生成得到的这个一致性校验码标记这个生成时间段,具体可以用2018年4月1日12点对应的时间戳表示。对于生成时间段的标记形式可根据实际业务需求包含多种形式,例如,可直接生成按生成时间段进行批量汇总的一致性校验码等,进而可按指定的业务维度周期性的进行汇总,周期性生成的一致性校验码可以快速定位到出现问题的时间范围。
可利用上述生成时间段标记,缩小订单数据的逐条核对范围。相应的,步骤103具体可以包括:首先获取双方周期内的发送方一致性校验码和接收方一致性校验码出现不一致时对应的生成时间段标记;然后根据获取到的生成时间段标记,确定双方订单数据同步出现不一致时对应的时间段;最后可通过将在该时间段内双方同步的订单数据进行逐条核对,确定双方订单数据同步的缺失数据。
例如,业务系统A向业务系统B同步订单流水数据,且双方每同步一单数据时就会生成各自对应的一致性校验码。为了校验双方数据同步是否一致,按照每隔3小时触发一致性校验,通过双方生成的一致性校验码快速的校验双方的数据一致性,从3小时内双方同步的订单数据中找出同步缺失数据进行补缺。然而如果订单流水数据庞大,从这3小时内容逐条核对也会消耗过多的时间。为此双方一致性校验码对应的生成时间段标记可按照每隔10分钟进行配置,利用这3小时内双方一致性校验码出现不一致时对应的生成时间段标记,确定双方订单数据同步出现不一致时对应的时间段,即在哪个10分钟里开始出现的双方订单数据同步不一致,从这个10分钟内双方同步的订单数据中找出同步缺失数据进行补缺,在补缺数据并更新这10分钟的一致性校验码后再校验后续的几个10分钟内的双方一致性校验码,进而逐个时间段进行双方一致性校验。通过这种方式可以缩小订单数据的逐条核对范围,加快双方数据同步一致性校验的效率。
由于有可能双方生成一致性校验码的系统时间不一致,虽然实际时间相同但可能会造成后续定位时间范围时的定位精度不准确的情况。因此,为了解决这一问题,作为一种优选方式,生成时间段标记按照双方各自的系统时间确定,相应的步骤103具体可以包括:检测发送方一致性校验码对应的生成时间段标记与接收方一致性校验码对应的生成时间段标记是否相同;若双方一致性校验码对应的生成时间段标记相同,则在判定发送方一致性校验码和接收方一致性校验码一致时,确定双方订单数据同步一致;在判定发送方一致性校验码和接收方一致性校验码不一致时,确定双方订单数据同步不一致;若双方一致性校验码对应的生成时间段标记不相同,则确定双方的系统时间不统一,并发送双方统一系统时间的校正指令,使得双方的系统时间统一。
进一步的,为了说明双方一致性校验码的具体生成方式,优选的,发送方一致性校验码具体可由数据发送方根据累加同步发送的第一总订单数量信息、不同预设订单维度分组的第一累加订单数量信息、不同预设累加分组的第一累加订单金额信息生成得到;而接收方一致性校验码具体可由数据接收方根据累加同步接收的第二总订单数量信息、不同预设订单维度分组的第二累加订单数量信息、不同预设累加分组的第二累加订单金额信息生成得到。
其中,预设订单维度分组和预设累加分组可根据实际业务需求预先设置。例如,订单维度可以为菜品维度、支付方式维度、就餐方式维度、就餐地域维度、经销商维度等;对于菜品维度,预设订位维度分组可以分为快餐维度分组、中餐维度分组、西餐维度分组等,相应的累加订单数量信息可包括:快餐订单的累加数量、中餐订单的累加数量、西餐订单的累加数量等;除此之外还可分为具体每个菜品的维度分组等,相应的累加订单数量信息可包括:具体每个菜品的累加售卖数量;对于支付方式维度,预设订位维度分组可以分为在线支付维度分组、线下支付维度分组等,相应的累加订单数量信息可包括:在线支付订单的累加数量、线下支付订单的累加数量等;对于就餐方式维度,预设订位维度分组可以分为堂食维度分组、外卖维度分组等,相应的累加订单数量信息可包括:堂食订单的累加数量、外卖订单的累加数量等;对于就餐地域维度,预设订位维度分组可以分为地区A维度分组、地区B维度分组等,相应的累加订单数量信息可包括:地区A订单的累加数量、地区B订单的累加数量等。
预设累加分组可根据预设订单维度分组进行相应配置,也可单独进行配置。例如,预设累加分组可分为快餐累加分组、中餐累加分组、西餐累加分组等,相应的累加订单金额信息可包括:快餐的累加订单金额、中餐的累加订单金额、西餐的累加订单金额等;也可分为在线支付累加分组、线下支付累加分组等,相应的累加订单金额信息可包括:在线支付的累加订单金额、线下支付的累加订单金额等;还可分为堂食累加分组、外卖累加分组等,相应的累加订单金额信息可包括:堂食的累加订单金额、外卖的累加订单金额等。
在本实施例中,数据发送方和数据接收方都可对订单数据进行解析,确定订单中的内容,如订单中的菜品、各菜品金额、订单总金额、中餐或西餐、在线支付或线下支付、堂食或外卖等。对于数据发送方在生成正发送的订单数据的发送方一致性校验码时,可对该订单数据进行解析,然后根据解析结果统计累加同步发送的总订单数量信息、不同预设订单维度分组的累加订单数量信息、以及不同预设累加分组的累加订单金额信息,然后基于这些信息生成发送方一致性校验码;数据接收方在同步接收该订单数据的同时,也会对该订单数据进行解析,根据解析结果累加同步接收的总订单数量信息、不同预设订单维度分组的累加订单数量信息、以及不同预设累加分组的累加订单金额信息,然后基于数据接收方得到的这些信息生成接收方一致性校验码。
需要说明的是,通过上述这种方式生成得到的一致性校验码,综合了多种维度因素,与只根据订单累加发送和接收的数量生成一致性校验码相比,可以生成更加准确的用于双方数据同步一致性校验的校验码,并且考虑的维度因素越多其对应生成的一致性校验码更具有同步校验参考价值。以餐饮行业订单数据的业务特点为基础,针对性的对敏感维度进行实时、批量的针对性处理。进而可构造快速校验的一致性校验码,快速校验双方同步数据是否一致。
示例性的,为了更好说明上述一致性校验码的生成过程,作为一种可选实施例,若预设订单维度分组分别为堂食维度分组和外卖维度分组,且预设累加分组分别为堂食累加分组和外卖累加分组,则发送方一致性校验码具体由数据发送方将累加同步发送的第一总订单数量、堂食维度分组的第一累加订单数量、外卖维度分组的第一累加订单数量、堂食累加分组的第一累加订单金额、外卖累加分组的第一累加订单金额进行相加得到;接收方一致性校验码具体由数据接收方将累加同步接收的第二总订单数量、堂食维度分组的第二累加接收订单数量、外卖维度分组的第二累加订单数量、堂食累加分组的第二累加订单金额、外卖累加分组的第二累加订单金额进行相加得到。
例如,数据发送方在向数据接收方同步订单A的数据(堂食)时,此时已经同步了25000单(包括订单A)的数据,其中同步了10000单(包括订单A)的堂食订单数据以及15000单的外卖订单数据,且这10000单的堂食订单的消费总额为30000元,而15000单的外卖订单的消费总额为35000元。以此生成订单A对应的发送方一致性校验码为25000(单)+[10000堂食+15000外卖](维度分组)+[30000(元)堂食+35000(元)外卖](累加分组)的和值。相应的数据接收方在同步接收订单A的数据时也会一并生成订单A对应的接收方一致性校验码,具体生成规则与发送方一致性校验码的生成规则类似,但参考的是数据接收方的累加结果。如果生成的订单A对应的接收方一致性校验码为24998(单)+[9999堂食+14999外卖](维度分组)+[29980(元)堂食+34995(元)外卖](累加分组)的和值,那么双方一致性校验码不一致,说明双方数据同步存在丢失数据。
基于上述这种一致性校验码的生成方式,对于按生成时间段进行批量汇总的一致性校验码的生成方式,可以直接加入时间段周期。例如基于上述实例,如果订单A的数据是在2018年5月16日这一天生成并发送给数据接收方,那么对于订单A按生成时间段进行批量汇总的发送方一致性校验码为2018-5-16+25000(单)+[10000堂食+15000外卖](维度分组)+[30000(元)堂食+35000(元)外卖](累加分组)的和值。在确定双方数据同步存在丢失数据时,可以通过这种校验码准确定位出现问题的时间范围,进而在这个出现问题的时间范围内进行逐条订单数据核对,找出缺失数据。
如果数据同步过程中存在缺失数据,为了及时补缺这些缺失数据,在步骤103之后,本方法还可包括:触发数据发送方根据确定的缺失数据进行双方订单数据同步补缺处理;在双方订单数据同步补缺处理完毕之后,向数据接收方发送一致性校验码的更新指令,使得数据接收方根据补缺的订单数据,对与最新接收的订单数据对应生成的接收方发送一致性校验码进行增量补缺更新。这样在后续利用双方最新的一致性校验码进行校验的过程中,可准确进行双方数据同步一致性校验。
进一步的,为了及时发现双方数据同步的不一致,优选的,步骤101具体可以包括:定时或不定时触发获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码。其中,定时对应的周期间隔可以根据实际业务需求预先设定。例如,在订单数量较少的场景下,可以每三天进行一次双方数据同步一致性校验;在订单数量较多的场景下,可以每小时进行一次双方数据同步一致性校验。
为了方便理解本实施例提供的订单数据同步的校验方法,基于上述实施例所描述的内容,给出如下应用场景实例,但不限于此:
例如,在双方订单数据同步的过程中,双方会生成该订单数据各自对应的一致性校验码,这里会相应生成两种类型的一致性校验码,一种是增量累加方式进行计算;另一种则是按生成时间段进行周期批量汇总。在利用双方一致性校验码进行双方数据同步时,首先进行增量累加方式的一致性校验码的数据同步校验,如图3所示,核对双方最新的按增量累加方式计算得到的一致性校验码;当双方校验码一致时直接完成校验,此时不存在同步缺失数据;如果校验出不一致,再进行按照生成时间段的一致性校验码的校验,如图4所示,找出发现不一致的时间段,随后针对该时间段内同步的订单数据进行逐条核对,进而确定缺失数据并触发缺失同步,补缺双方数据同步缺失的数据,整体流程可以如图5所示,通过这种方式可以及时发现双方订单数据不一致的情况,并且做到及时补缺双方数据同步的缺失数据。
进一步的,作为图1至图5所示方法的具体实现,本申请实施例提供了一种订单数据同步的校验装置,如图6所示,该装置包括:获取单元21、确定单元22。
获取单元21,可用于获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码;其中,发送方一致性校验码在数据发送方发送订单数据时,按照订单发送的增量累加规则生成;接收方一致性校验码在数据接收方同步接收订单数据时,按照订单接收的增量累加规则生成;订单发送的增量累加规则和订单接收的增量累加规则的结构统一;获取单元21为本装置中获取双方一致性校验码的主要功能模块,在得到双方一致性校验码后,触发确定单元22进行一致性校验。
确定单元22,可用于通过对比获取单元21获取到的发送方一致性校验码和接收方一致性校验码,确定数据发送方与数据接收方双方订单数据同步是否一致;若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。确定单元22为本装置中进行双方数据同步一致性校验的主要功能模块,也是本装置中的核心功能模块。
在具体的应用场景中,为了实现快速定位双方同步缺失的数据,缩短逐条订单数据校对的时间,可选的,发送方一致性校验码和接收方一致性校验码在生成时对应有生成时间段标记,相应的,确定单元21,具体可用于获取双方周期内的发送方一致性校验码和接收方一致性校验码出现不一致时对应的生成时间段标记;根据获取到的生成时间段标记,确定双方订单数据同步出现不一致时对应的时间段;通过将在时间段内双方同步的订单数据进行逐条核对,确定双方订单数据同步的缺失数据。
在具体的应用场景中,为了生成更加准确的用于双方数据同步一致性校验的校验码,发送方一致性校验码具体由数据发送方根据累加同步发送的第一总订单数量信息、不同预设订单维度分组的第一累加订单数量信息、不同预设累加分组的第一累加订单金额信息生成得到;接收方一致性校验码具体由数据接收方根据累加同步接收的第二总订单数量信息、不同预设订单维度分组的第二累加订单数量信息、不同预设累加分组的第二累加订单金额信息生成得到。
在具体的应用场景中,若预设订单维度分组分别为堂食维度分组和外卖维度分组,且预设累加分组分别为堂食累加分组和外卖累加分组,则发送方一致性校验码具体由数据发送方将累加同步发送的第一总订单数量、堂食维度分组的第一累加订单数量、外卖维度分组的第一累加订单数量、堂食累加分组的第一累加订单金额、外卖累加分组的第一累加订单金额进行相加得到;及接收方一致性校验码具体由数据接收方将累加同步接收的第二总订单数量、堂食维度分组的第二累加接收订单数量、外卖维度分组的第二累加订单数量、堂食累加分组的第二累加订单金额、外卖累加分组的第二累加订单金额进行相加得到。
在具体的应用场景中,由于有可能双方生成一致性校验码的系统时间不一致,虽然实际时间相同但可能会造成后续定位时间范围时的定位精度不准确的情况。因此,为了解决这一问题,可选的,生成时间段标记按照双方各自的系统时间确定,相应的,确定单元22,具体还可用于检测发送方一致性校验码对应的生成时间段标记与接收方一致性校验码对应的生成时间段标记是否相同;若相同,则在判定发送方一致性校验码和接收方一致性校验码一致时,确定双方订单数据同步一致;在判定发送方一致性校验码和接收方一致性校验码不一致时,确定双方订单数据同步不一致;若不相同,则确定双方的系统时间不统一,并发送双方统一系统时间的校正指令。
在具体的应用场景中,如果数据同步过程中存在缺失数据,为了及时补缺这些缺失数据,如图7所示,本装置还包括:触发单元23;
触发单元23,可用于在确定双方订单数据同步的缺失数据之后,触发数据发送方根据缺失数据进行双方订单数据同步补缺处理;在双方订单数据同步补缺处理完毕之后,向数据接收方发送一致性校验码的更新指令,使得数据接收方根据补缺的订单数据,对与最新接收的订单数据对应生成的接收方发送一致性校验码进行增量补缺更新。
在具体的应用场景中,为了及时发现双方数据同步的不一致,获取单元21,具体可用于定时或不定时触发获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码。
需要说明的是,本实施例提供的一种订单数据同步的校验装置所涉及各功能单元的其它相应描述,可以参考图1至图5中的对应描述,在此不再赘述。
基于上述如图1至图5所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1至图5所示的订单数据同步的校验方法。该程序可以使用Java语言工具以及J2EE技术体系编写得到。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图5所示的方法,以及图6、图7所示的虚拟装置实施例,为了实现上述目的,本实施例还提供了一种订单数据同步校验的实体设备,具体可以为计算机,服务器,或者网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图5所示的订单数据同步的校验方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种订单数据同步校验的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述数据库数据同步的实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,可构造快速校验的一致性校验码,进而快速校验订单数据同步是否一致,可避免订单流水数据的逐条较对,大大降低了传统数据校准的成本开销。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种订单数据同步的校验方法,其特征在于,包括:
获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码;其中,所述发送方一致性校验码在所述数据发送方发送订单数据时,按照订单发送的增量累加规则生成;所述接收方一致性校验码在所述数据接收方同步接收订单数据时,按照订单接收的增量累加规则生成;所述订单发送的增量累加规则和所述订单接收的增量累加规则的结构统一;
通过对比所述发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致;
若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。
2.根据权利要求1所述的方法,其特征在于,所述发送方一致性校验码和所述接收方一致性校验码在生成时对应有生成时间段标记,所述通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据,具体包括:
获取双方周期内的发送方一致性校验码和接收方一致性校验码出现不一致时对应的生成时间段标记;
根据获取到的所述生成时间段标记,确定双方订单数据同步出现不一致时对应的时间段;
通过将在所述时间段内双方同步的订单数据进行逐条核对,确定双方订单数据同步的缺失数据。
3.根据权利要求2所述的方法,其特征在于,所述发送方一致性校验码具体由所述数据发送方根据累加同步发送的第一总订单数量信息、不同预设订单维度分组的第一累加订单数量信息、不同预设累加分组的第一累加订单金额信息生成得到;
所述接收方一致性校验码具体由所述数据接收方根据累加同步接收的第二总订单数量信息、不同预设订单维度分组的第二累加订单数量信息、不同预设累加分组的第二累加订单金额信息生成得到。
4.根据权利要求3所述的方法,其特征在于,若所述预设订单维度分组分别为堂食维度分组和外卖维度分组,且所述预设累加分组分别为堂食累加分组和外卖累加分组,则所述发送方一致性校验码具体由所述数据发送方将累加同步发送的第一总订单数量、所述堂食维度分组的第一累加订单数量、所述外卖维度分组的第一累加订单数量、所述堂食累加分组的第一累加订单金额、所述外卖累加分组的第一累加订单金额进行相加得到;及,
所述接收方一致性校验码具体由所述数据接收方将累加同步接收的第二总订单数量、所述堂食维度分组的第二累加接收订单数量、所述外卖维度分组的第二累加订单数量、所述堂食累加分组的第二累加订单金额、所述外卖累加分组的第二累加订单金额进行相加得到。
5.根据权利要求2所述的方法,其特征在于,所述生成时间段标记按照双方各自的系统时间确定,所述通过对比所述发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致,具体包括:
检测所述发送方一致性校验码对应的生成时间段标记与所述接收方一致性校验码对应的生成时间段标记是否相同;
若相同,则在判定所述发送方一致性校验码和所述接收方一致性校验码一致时,确定双方订单数据同步一致;在判定所述发送方一致性校验码和所述接收方一致性校验码不一致时,确定双方订单数据同步不一致;
若不相同,则确定双方的系统时间不统一,并发送双方统一系统时间的校正指令。
6.根据权利要求1所述的方法,其特征在于,在确定双方订单数据同步的缺失数据之后,所述方法还包括:
触发所述数据发送方根据所述缺失数据进行双方订单数据同步补缺处理;
在双方订单数据同步补缺处理完毕之后,向所述数据接收方发送一致性校验码的更新指令,使得所述数据接收方根据补缺的订单数据,对与最新接收的订单数据对应生成的接收方发送一致性校验码进行增量补缺更新。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码,具体包括:
定时或不定时触发获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码。
8.一种订单数据同步的校验装置,其特征在于,包括:
获取单元,用于获取数据发送方与数据接收方之间最新同步的订单数据对应的发送方一致性校验码以及接收方一致性校验码;其中,所述发送方一致性校验码在所述数据发送方发送订单数据时,按照订单发送的增量累加规则生成;所述接收方一致性校验码在所述数据接收方同步接收订单数据时,按照订单接收的增量累加规则生成;所述订单发送的增量累加规则和所述订单接收的增量累加规则的结构统一;
确定单元,用于通过对比所述获取单元获取到的发送方一致性校验码和所述接收方一致性校验码,确定所述数据发送方与所述数据接收方双方订单数据同步是否一致;
若双方订单数据同步不一致,则通过查询双方周期内的发送方一致性校验码和接收方一致性校验码,确定双方订单数据同步的缺失数据。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7中任一项所述的订单数据同步的校验方法。
10.一种订单数据同步的校验设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的订单数据同步的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810664013.7A CN109064248A (zh) | 2018-06-25 | 2018-06-25 | 订单数据同步的校验方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810664013.7A CN109064248A (zh) | 2018-06-25 | 2018-06-25 | 订单数据同步的校验方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109064248A true CN109064248A (zh) | 2018-12-21 |
Family
ID=64821459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810664013.7A Pending CN109064248A (zh) | 2018-06-25 | 2018-06-25 | 订单数据同步的校验方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109064248A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062028A (zh) * | 2019-03-21 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 数据同步的方法、装置、计算机设备及计算机存储介质 |
WO2021168654A1 (zh) * | 2020-02-25 | 2021-09-02 | 深圳市欢太科技有限公司 | 检测同步数据的方法、装置、服务器以及数据同步系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391311A (zh) * | 2013-06-24 | 2013-11-13 | 北京奇虎科技有限公司 | 一种多平台之间数据一致性校验的方法和系统 |
CN104809250A (zh) * | 2015-05-19 | 2015-07-29 | 福建新大陆电脑股份有限公司 | 一种松散式数据一致性校验方法 |
CN105405043A (zh) * | 2015-11-04 | 2016-03-16 | 湖南御家科技有限公司 | 一种电商平台订单抓取方法及系统 |
CN108038127A (zh) * | 2017-11-08 | 2018-05-15 | 中国平安人寿保险股份有限公司 | 一种数据同步的方法、装置、终端设备及存储介质 |
-
2018
- 2018-06-25 CN CN201810664013.7A patent/CN109064248A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391311A (zh) * | 2013-06-24 | 2013-11-13 | 北京奇虎科技有限公司 | 一种多平台之间数据一致性校验的方法和系统 |
CN104809250A (zh) * | 2015-05-19 | 2015-07-29 | 福建新大陆电脑股份有限公司 | 一种松散式数据一致性校验方法 |
CN105405043A (zh) * | 2015-11-04 | 2016-03-16 | 湖南御家科技有限公司 | 一种电商平台订单抓取方法及系统 |
CN108038127A (zh) * | 2017-11-08 | 2018-05-15 | 中国平安人寿保险股份有限公司 | 一种数据同步的方法、装置、终端设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062028A (zh) * | 2019-03-21 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 数据同步的方法、装置、计算机设备及计算机存储介质 |
WO2021168654A1 (zh) * | 2020-02-25 | 2021-09-02 | 深圳市欢太科技有限公司 | 检测同步数据的方法、装置、服务器以及数据同步系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104981742B (zh) | 分发装置、分发系统以及分发方法 | |
CN109949111A (zh) | 电子票据标识分配方法、电子票据生成方法、装置及系统 | |
CN109600186B (zh) | 时钟同步方法及装置 | |
CN109150929B (zh) | 高并发场景下的数据请求处理方法和装置 | |
CN104112156B (zh) | 更新电子货架标签的系统与方法及其更新装置与方法 | |
CN105335526A (zh) | 一种图片加载方法及装置 | |
CN109831820B (zh) | 定位基站时钟同步校准方法及装置 | |
CN109064248A (zh) | 订单数据同步的校验方法、装置及设备 | |
CN109002560A (zh) | 文档导出方法、装置、计算机设备及计算机可读存储介质 | |
CN106681921A (zh) | 数据参数化的实现方法和装置 | |
CN108255654A (zh) | 自动检测方法及装置 | |
CN111062660A (zh) | 一种网上商城库存数量计算方法及装置 | |
CN111198891B (zh) | 数据源融合方法、电子设备及非暂态计算机可读存储介质 | |
CN108021580A (zh) | 一种数据同步更新方法及其系统 | |
CN108075851B (zh) | 用于同步时钟的设备和方法 | |
CN111984606A (zh) | 数据查询方法、装置、终端设备和存储介质 | |
EP3627352A2 (en) | Offline briefcase synchronization | |
US8509751B2 (en) | System and method of object simulation in an intermittently connected mobile application | |
CN110532254A (zh) | 融合数据表的方法和装置 | |
CN112613724A (zh) | 企业的合规评估方法、装置、存储介质和电子设备 | |
CN108574547A (zh) | 一种时间校准方法及装置 | |
EP2777498B1 (en) | Blood glucose monitoring system having wireless communication module to which time synchronization method is applied | |
CN106875188B (zh) | 一种交易对象的同步管理系统、方法及装置 | |
CN109286461B (zh) | 用于匹配在检测传感器数据时的时间戳的方法 | |
CN109447293A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |
|
RJ01 | Rejection of invention patent application after publication |