一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式系统跨节点交易参数版本一致性处理方法及装置与流程

2021-12-04 02:26:00 来源:中国专利 TAG:


1.本发明涉及分布式系统技术领域,尤其涉及一种分布式系统跨节点交易参数版本一致性处理方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在分布式系统中,通常一笔交易的处理经过多个处理节点,每个节点处理时都需要使用对应的参数,由于每个节点的处理时点有一定时间差,特别是交易中涉及异步处理的情况,如果这个时间差中间出现参数变更,会导致不同的节点处理同一笔交易时使用的参数版本的不同,交易处理结果不一致,甚至导致对客的同步交易已经返回,但在异步处理过程中由于使用的参数版本不一致,导致交易失败的情况。


技术实现要素:

4.本发明实施例提供一种分布式系统跨节点交易参数版本一致性处理方法,用以保证分布式系统跨节点交易参数版本一致,该方法包括:
5.监控分布式系统中每一系统的参数变更情况;
6.在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻;
7.将当前系统的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统中;所述参数变更情况及其更新后的生效时刻和失效时刻用于与发起交易时刻一同完成分布式系统跨节点交易。
8.本发明实施例还提供一种分布式系统跨节点交易参数版本一致性处理装置,用以保证分布式系统跨节点交易参数版本一致,该装置包括:
9.监控单元,用于监控分布式系统中每一系统的参数变更情况;
10.更新单元,用于在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻;
11.处理单元,用于将当前系统的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统中;所述参数变更情况及其更新后的生效时刻和失效时刻用于与发起交易时刻一同完成分布式系统跨节点交易。
12.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式系统跨节点交易参数版本一致性处理方法。
13.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式系统跨节点交易参数版本一致性处理方法的计算机程序。
14.本发明实施例中,分布式系统跨节点交易参数版本一致性处理方案,通过:监控分
布式系统中每一系统的参数变更情况;在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻;将当前系统的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统中;所述参数变更情况及其更新后的生效时刻和失效时刻用于与发起交易时刻一同完成分布式系统跨节点交易,可以保证分布式系统跨节点交易参数版本一致,进而保证交易的成功率。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
16.图1为本发明实施例中分布式系统跨节点交易参数版本一致性处理方法的流程示意图;
17.图2为本发明实施例中分布式系统跨节点交易参数版本一致性处理原理示意图;
18.图3为本发明实施例中分布式系统跨节点交易参数版本一致性处理过程中涉及的架构示意图;
19.图4为本发明实施例中分布式系统跨节点交易时动态取参数切面的示意图;
20.图5为本发明实施例中分布式系统跨节点交易参数版本一致性处理装置的结构示意图。
具体实施方式
21.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
22.在分布式系统中,特别是分布式金融系统,为了提升对客户服务体验,会将一些交易处理步骤做成同步调用返回,另一些步骤做成异步调用,同步处理成功后即对客返回交易成功,此时同步处理步骤与异步处理步骤存在一定的时间差,如果期间发生参数变更,会导致异步处理时因所用参数版本与同步处理不一致而无法成功,但由于对客交易已成功返回,交易很难回退或撤回,即使人工强行撤回,会严重影响客户体验,这样该笔交易就处在进退两难的境地。
23.如果异步调用的交易较多且参数项不明,使用快照的方式进行记录和传输交易时点的所有参数,也是不可行的。
24.本发明要解决的技术问题是:在分布式系统中,当一个交易经过多个节点处理过程时,由于处理时刻不同,会出现系统中各个处理使用的参数版本不一致的问题。
25.目前已存在的方法有:
26.一、交易处理的第一个节点获取本交易所需的所有参数数据,并作为交易输入信息往后续节点传输,后续交易使用所需参数时直接从输入信息获取。该方案增加了交易上送信息的传输,而且很多时候第一个处理节点无法准确地知道后续处理节点需要哪些参数,导致该方案根本不可行。
27.二、新增一个系统全局参数版本号,每次参数变更时都同时更新全局参数版本号,每次获取参数时使用版本号去访问。
28.第一种方案中,第一个处理节点无法准确地知道后续处理节点需要哪些参数,导致现有方案根本不可行。
29.第二种方案中,每次参数更新时,需要保证全局参数版本号更新与参数记录的更新是在同一个事物,如果参数更新频繁,会导致全局参数版本号是一个热点资源,容易出现性能瓶颈;同时,版本号不便于做历史数据清理,会导致参数表越来越大。
30.考虑到上述技术问题,本发明实施例提出了一种分布式系统跨节点交易参数版本一致性处理方案,下面对该方案进行详细介绍。
31.图1为本发明实施例中分布式系统跨节点交易参数版本一致性处理方法的流程示意图,如图1所示,该方法包括如下步骤:
32.步骤101:监控分布式系统中每一系统的参数变更情况;
33.步骤102:在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻;
34.步骤103:将当前系统的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统中;所述参数变更情况及其更新后的生效时刻和失效时刻用于与发起交易时刻一同完成分布式系统跨节点交易。
35.本发明实施例提供的分布式系统跨节点交易参数版本一致性处理方法可以保证分布式系统跨节点交易参数版本一致,进而保证交易的成功率。下面结合图2至图4对该方法涉及的各个步骤进行详细介绍。
36.一、首先,介绍预先配置步骤,即参数的存储设计。
37.参数表中增加(预配置)生效时间和失效时间的控制;失效时间为当前参数被更新、失效、删除等时间点。
38.二、接着,为了便于理解,一同介绍上述步骤101和步骤102。
39.在上述步骤101中,可以实时监控分布式系统中每一系统的参数变更情况。
40.在一个实施例中,在上述步骤102中,在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻,可以包括:
41.在监控到是新增参数时,将新增参数的生效时间戳字段配置为当前系统时间戳。
42.在一个实施例中,在上述步骤102中,在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻,可以包括:
43.在监控到是修改参数时,将当前修改生效的参数记录的失效时间戳字段改为当前系统时间戳;同时,根据修改生效的参数新增一条参数记录,配置新增参数记录的生效时间戳字段为当前系统时间戳,失效时间戳为空。
44.在一个实施例中,在上述步骤102中,在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻,可以包括:
45.在监控到是删除参数时,将需删除的参数记录的失效时间戳字段改成当前系统时间戳。
46.具体实施时,参数变更时,如果是新增,新增记录的生效时间戳字段为当前系统时间戳;如果是修改,先将当前生效的参数记录失效时间戳字段改为当前系统时间戳,同时新
增一条参数记录,生效时间戳字段为当前系统时间戳,失效时间戳为空;如果是删除,将需删除的记录失效时间戳字段改成当前系统时间戳(如图3所示的参数)。
47.三、接着,介绍上述步骤103。
48.在上述步骤103中,将当前系统(如图2中的参数系统)的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统(也有涉及该变更参数的系统,如图2中的系统1、系统2和系统3)中,即每个需要异步调用的系统,实时同步所有参数,也即如图2所示,从参数的发出系统(监控到参数变化的系统),根据本系统所需要的所有参数进行实时同步(如图3所示的参数同步)。这样在发起分布式系统跨节点交易时根据发起交易时刻,以及参数变更情况及其更新后的生效时刻和失效时刻读取参数(如图3所示的参数读取:根据上送交易的发起交易时间戳作为参数切面位置以及参数的生效时间和失效时间读取参数),保证分布式系统跨节点交易参数一致性,进而保证了交易成功率,即如图4所示,在发起分布式系统跨节点交易时是动态取参数切面的实施方案:使用交易发起时间点切面的方式同步参数,被异步调用的交易,无论出于什么时间点,都通过交易发起时间点和当前需要获取的参数进行试点获取,达到一种根据交易发起时间点在所有参数中形成一个柔性时间切面的方式。
49.另外,图3中所示的系统:使用参数的分布式业务系统(在地域上分散分布),系统间调用可能出现异步情况。
50.四、接着,介绍本发明实施例进一步优选的步骤,即如图3所示参数清理的步骤。
51.1.首先介绍参数的动态清理。
52.在一个实施例中,上述分布式系统跨节点交易参数版本一致性处理方法还可以包括:
53.检测分布式系统中所有需要参数的交易中最早的交易时刻;
54.对在所述最早的交易时刻之前失效的参数进行过期参数清理处理。
55.具体实施时,参数的动态清理:考虑到交易参数更新极其频繁的情况,并且异步可能由于网络原因导致时间很长,为了能在内存中存储所有在用参数,进行过期和无用参数清理。(主要考虑使用频率低,更新频率高的参数)对于整体更新频率低的参数,则只清理过期参数。
56.具体地,举一例子,计算所有需要参数的交易中最早的交易时间,在该时间之前失效的(除了需要在该时间点用到的参数之外的)参数可以做过期参数清理。比如最早时间点是10:00,其中有一个参数在10点前7:00是最晚的一个有效参数(失效时间在10:00之后),那么这个7:00的参数需要保留,更早的参数就可以清理。
57.2.接着介绍参数的标记清理。
58.在一个实施例中,上述分布式系统跨节点交易参数版本一致性处理方法还可以包括:
59.根据预先为参数配置的参数清理标识,对参数进行清理。
60.具体实施时,参数的标记清理。所有可能异步调用使用参数的场景,记录交易发起时间点(时间点标记,即参数清理标识);无用参数清理时,对于未被标记的时间点的参数,则可以进行清理,参数清理标识(如图3所示的时间标记)的设置可以参见下表1。
[0061][0062]
表1
[0063]
具体地,举一例子,针对高频参数(数据量过大)计算所有的时间点标(参数清理标识),该交易发起时间点使用的最近参数之外的参数,可以清理。
[0064]
综上,本发明实施例提供的分布式系统跨节点交易参数版本一致性处理方法能保证分布式系统中处理一笔交易的各个节点使用的参数版本一致,同时不会引入新的热点资源瓶颈,也便于历史数据清理。
[0065]
本发明实施例中还提供了一种分布式系统跨节点交易参数版本一致性处理装置,如下面的实施例所述。由于该装置解决问题的原理与分布式系统跨节点交易参数版本一致性处理方法相似,因此该装置的实施可以参见分布式系统跨节点交易参数版本一致性处理方法的实施,重复之处不再赘述。
[0066]
图5为本发明实施例中分布式系统跨节点交易参数版本一致性处理装置的结构示意图,如图5所示,该装置包括:
[0067]
监控单元01,用于监控分布式系统中每一系统的参数变更情况;
[0068]
更新单元02,用于在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻;
[0069]
处理单元03,用于将当前系统的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统中;所述参数变更情况及其更新后的生效时刻和失效时刻用于与发起交易时刻一同完成分布式系统跨节点交易。
[0070]
在一个实施例中,所述更新单元具体用于:
[0071]
在监控到是新增参数时,将新增参数的生效时间戳字段配置为当前系统时间戳。
[0072]
在一个实施例中,所述更新单元具体用于:
[0073]
在监控到是修改参数时,将当前修改生效的参数记录的失效时间戳字段改为当前系统时间戳;同时,根据修改生效的参数新增一条参数记录,配置新增参数记录的生效时间戳字段为当前系统时间戳,失效时间戳为空。
[0074]
在一个实施例中,所述更新单元具体用于:
[0075]
在监控到是删除参数时,将需删除的参数记录的失效时间戳字段改成当前系统时间戳。
[0076]
在一个实施例中,上述分布式系统跨节点交易参数版本一致性处理装置还可以包括:
[0077]
检测单元,用于检测分布式系统中所有需要参数的交易中最早的交易时刻;
[0078]
第一参数清理单元,用于对在所述最早的交易时刻之前失效的参数进行过期参数
清理处理。
[0079]
在一个实施例中,上述分布式系统跨节点交易参数版本一致性处理装置还可以包括:
[0080]
第二参数清理单元,用于根据预先为参数配置的参数清理标识,对参数进行清理。
[0081]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述分布式系统跨节点交易参数版本一致性处理方法。
[0082]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述分布式系统跨节点交易参数版本一致性处理方法的计算机程序。
[0083]
本发明实施例中,通过:监控分布式系统中每一系统的参数变更情况;在监控到分布式系统中一个系统的参数发生变更时,更新预先为所述参数配置的生效时刻和失效时刻;将当前系统的参数变更情况及其更新后的生效时刻和失效时刻,同步到分布式系统中的其它相关系统中;所述参数变更情况及其更新后的生效时刻和失效时刻用于与发起交易时刻一同完成分布式系统跨节点交易,可以保证分布式系统跨节点交易参数版本一致,进而保证交易的成功率。
[0084]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0085]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0086]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0087]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0088]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献