分布式环境下的通用数据对账方法、服务器及存储介质技术

技术编号:27481580 阅读:23 留言:0更新日期:2021-03-02 17:53
本发明专利技术涉及一种分布式环境下的通用数据对账方法、服务器及存储介质,属于互联网技术领域。该方法首先实时将数据变更记录并推送至数据总线;消费该数据变更记录启动对账,并从数据变更记录过滤出待对账数据;进而构建对账任务及对账脚本;执行对账脚本产生对账结果,并进一步可以根据对账结果实现修复回调。由此一方面实现了将对账方法与业务的解耦合,可将其应用于分布式环境中任何的数据对账,另一方面该方法的实时性更强,数据准确度更高,用户体验也更好。体验也更好。体验也更好。

【技术实现步骤摘要】
分布式环境下的通用数据对账方法、服务器及存储介质


[0001]本专利技术涉及互联网
,特别涉及分布式系统的数据处理
,具体是指一种分布式环境下的通用数据对账方法、服务器及存储介质。

技术介绍

[0002]在分布式环境下,整个系统根据业务被拆分到多个服务中,而每个服务又会同时存在多个服务实例。实例与实例、服务与服务之间的通信也有可能存在调用失败的场景,所以整个分布式系统或多或少都会存在数据不一致的问题。
[0003]以电商业务举例,整个电商业务平台作为一个采用分布式的大系统,其根据应用被拆分为商城、订单、库存、支付、物流等多个服务。可能存在如下不一致的场景:
[0004]1.订单已创建但库存未扣除,造成超卖;
[0005]2.订单已取消但货款未退回;
[0006]3.仓库已经发货,但订单状态没有改变;
[0007]4.订单已经取消但优惠券等没有退还用户;等等。
[0008]这些场景均由于各服务间的数据不一致造成,会直接影响用户的正常使用,甚至导致用户投诉,乃至系统整体数据混乱。
[0009]所以如何保障每个服务间数据的一致性,是所有分布式系统都需要解决的问题。
[0010]目前主流的解决方案是,通过每个服务实现业务补偿,或使用离线对账来保障数据的最终一致性。但这些方案都会与业务强耦合,且离线对账实时性较差,无法及时的发现问题。

技术实现思路

[0011]本专利技术的目的是克服了上述现有技术中的缺点,提供一种可与业务解耦合,实时性强,用户体验更好的分布式环境下的通用数据对账方法、服务器及存储介质。
[0012]分布式环境至少包括第一数据系统与第二数据系统。为了实现上述的目的,本专利技术的分布式环境下的通用数据对账方法包括:
[0013]获取所述的第一数据系统的数据变更记录并推送至数据总线;
[0014]根据所述的数据变更记录获取待对账数据;
[0015]根据所述待对账数据获取对账任务,该对账任务包括对账脚本;
[0016]执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果。
[0017]该分布式环境下的通用数据对账方法中,所述的根据所述的数据变更记录获取待对账数据,具体为:
[0018]利用预设的规则,将所述的触发数据中符合规则的数据作为所述的待对账数据。
[0019]该分布式环境下的通用数据对账方法中,所述的根据所述待对账数据获取对账任务,具体包括:
[0020]根据所述待对账数据获取设定的对账任务;
[0021]获取该对账任务包括的对账脚本;
[0022]根据所述的对账脚本创建对账任务缓存。
[0023]该分布式环境下的通用数据对账方法中,在所述的根据所述的对账脚本创建对账任务缓存之后,还包括:
[0024]根据所述对账脚本内的延时时间确定该对账任务是否需要延时;
[0025]若不需要延时,则进入所述的执行所述的对账脚本的步骤;
[0026]若需要延时,则将所述的对账任务放入延时队列,当延时过后,从所述的延时队列获取所述的对账任务,并进入所述的执行所述的对账脚本的步骤。
[0027]该分布式环境下的通用数据对账方法中,所述的执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统进行比对,产生对账结果,具体包括:
[0028]检查所述的对账脚本是否为最新的版本,若是,则进入下一步骤;若否,则更新所述的对账脚本后进入下一步骤;
[0029]执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果。
[0030]该分布式环境下的通用数据对账方法中,该方法在所述的执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果之后,还包括以下步骤:
[0031]根据所述的对账任务中的任务配置确定是否需要修复回调,若是,则进入下一步骤;若否,则结束本方法;
[0032]根据所述的对账结果和所述的任务配置进行修复回调。
[0033]该分布式环境下的通用数据对账方法中,该方法在所述的执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果之后,还包括以下步骤:
[0034]根据所述的对账任务中的任务配置确定是否需要通知,若是,则进入下一步骤;若否,则结束本方法;
[0035]将所述的对账结果根据所述的任务配置进行通知。
[0036]本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述的分布式环境下的通用数据对账方法。
[0037]本专利技术还提供一种分布式环境下的通用数据对账服务器,该通用数据对账服务器通过数据总线连接第一数据系统与第二数据系统,该通用数据对账服务器包括处理器和存储器,所述的存储器存储有计算机程序,所述的计算机程序被所述的处理器执行时,该通用数据对账服务器通过与所述的第一数据系统及所述的第二数据系统进行数据交互实现权利要求1至8中任一项所述的分布式环境下的通用数据对账方法。
[0038]采用了该专利技术的分布式环境下的通用数据对账方法、服务器及存储介质,其首先实时将数据变更记录并推送至数据总线;消费该数据变更记录启动对账,并从数据变更记录过滤出待对账数据;进而构建对账任务及对账脚本;执行对账脚本产生对账结果,并进一步可以根据对账结果实现修复回调。由此一方面实现了将对账方法与业务的解耦合,可将其应用于分布式环境中任何的数据对账,另一方面该方法的实时性更强,数据准确度更高,
用户体验也更好。
附图说明
[0039]图1为本专利技术的分布式环境下的通用数据对账方法的步骤流程图;
[0040]图2为本专利技术的分布式环境下的通用数据对账服务器的功能模块结构示意图;
[0041]图3为利用本专利技术的通用数据对账方法实现两个系统间对账的流程示意图;
[0042]图4为利用本专利技术的通用数据对账方法创建对账任务的用户界面示意图。
具体实施方式
[0043]为了能够更清楚地理解本专利技术的
技术实现思路
,特举以下实施例详细说明。
[0044]请参阅图1所示,为本专利技术的分布式环境下的通用数据对账方法的步骤流程图。
[0045]在一种实施方式中,所述的分布式环境至少包括第一数据系统与第二数据系统,该分布式环境下的通用数据对账方法包括:
[0046](1)获取所述的第一数据系统的数据变更记录并推送至数据总线;
[0047](2)根据所述的数据变更记录获取待对账数据;
[0048](3)根据所述待对账数据获取对账任务,该对账任务包括对账脚本;
[0049](4)执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果。
[0050]其中,所述的步骤(1)获取所述的第一数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式环境下的通用数据对账方法,其特征在于,所述的分布式环境至少包括第一数据系统与第二数据系统,该通用数据对账方法包括:获取所述的第一数据系统的数据变更记录并推送至数据总线;根据所述的数据变更记录获取待对账数据;根据所述待对账数据获取对账任务,该对账任务包括对账脚本;执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果。2.根据权利要求1所述的分布式环境下的通用数据对账方法,其特征在于,所述的根据所述的数据变更记录获取待对账数据,具体为:利用预设的规则,将所述的触发数据中符合规则的数据作为所述的待对账数据。3.根据权利要求2所述的分布式环境下的通用数据对账方法,其特征在于,所述的根据所述待对账数据获取对账任务,具体包括:根据所述待对账数据获取设定的对账任务;获取该对账任务包括的对账脚本;根据所述的对账脚本创建对账任务缓存。4.根据权利要求3所述的分布式环境下的通用数据对账方法,其特征在于,在所述的根据所述的对账脚本创建对账任务缓存之后,还包括:根据所述对账脚本内的延时时间确定该对账任务是否需要延时;若不需要延时,则进入所述的执行所述的对账脚本的步骤;若需要延时,则将所述的对账任务放入延时队列,当延时过后,从所述的延时队列获取所述的对账任务,并进入所述的执行所述的对账脚本的步骤。5.根据权利要求4所述的分布式环境下的通用数据对账方法,其特征在于,所述的执行所述的对账脚本,将所述的待对账数据与所述的第二数据系统中对应的数据进行比对,产生对账结果,具体包括:检查所述的对账脚本是否为最新的版本,若是,则...

【专利技术属性】
技术研发人员:李健梁俊朱杰
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1