1.本技术涉及数据存储技术领域,特别是涉及一种冲正数据的存储方法、装置。
背景技术:2.在金融行业日常的业务处理过程中,用户可以根据业务需求在对自己的账户金融相关的操作,如存款、贷款、取款等操作,从而产生正交易。由于特定原因(比如人工操作失误、系统误处理等),可能需要通过冲正交易(也可称为反交易)来撤销已发生的正交易,以确保业务的核心数据的准确。
3.相关技术中,金融信息系统会存储有业务数据表,业务数据表中有多个字段(即多列),一行为一条业务数据,通过主键标识每一条业务数据。另外,金融信息系统中也存储有各业务对应的冲正数据表,包括的字段有:所涉及的业务数据的主键标识,所涉及的业务数据的字段的修改前数据,修改后数据,使得在处理冲正交易业务请求时,根据冲正数据表保存的信息对业务数据表进行冲正(修改)。其中,不同的业务所实际的业务数据更新字段范围是不同,因此不同的业务对应的冲正数据表的结构是不同的,冲正数据表的结构与业务高度耦合。
4.然而,由于相关技术中的不同的业务需要对应于不同的冲正数据表,导致冲正数据表的维护难度较大。
技术实现要素:5.基于此,有必要针对上述技术问题,提供一种能够降低冲正数据表的维护难度的一种冲正数据的存储方法、装置、服务器设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种冲正数据的存储方法。所述方法包括:
7.接收正交易业务请求;
8.根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
9.确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
10.在其中一个实施例中,所述确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表,包括:
11.在确定所述正交易业务请求满足冲正交易业务条件的情况下,确定所述正交易业务请求对应的交易标识;
12.以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表。
13.在其中一个实施例中,所述冲正数据表还包括时间戳字段;
14.所述以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表,包括:
15.以所述交易标识为第二主键标识,将所述第一业务数据、所述正交易业务请求的请求时间戳存储至冲正数据表。
16.在其中一个实施例中,所述方法还包括:
17.在接收到冲正交易业务请求的情况下,根据所述冲正业务请求对应的正交易业务的交易标识,在所述冲正数据表中查询对应的冲正数据;
18.确定所述冲正数据中的业务数据字段所对应的目标主键标识;
19.根据所述目标主键标识,在所述业务数据表中查询对应的第二业务数据;所述冲正数据表包含交易标识与业务数据的对应关系;
20.将所述业务数据表中的第二业务数据替换为所述冲正数据的业务数据字段对应的业务数据。
21.在其中一个实施例中,所述将所述业务数据表中第二业务数据替换为所述第一业务数据,包括:
22.根据所述冲正数据中的时间戳字段,依时间戳逆序排列,确定所述冲正交易业务请求的冲正次序;
23.在确定冲正次序为所述冲正交易业务请求对应的冲正次序的情况下,将所述业务数据表中第二业务数据替换为所述冲正数据的业务数据字段的业务数据。
24.在其中一个实施例中,所述方法还包括:
25.将所述第二业务数据同步至关联业务系统,以使业务系统之间业务数据同步。
26.第二方面,本技术还提供了一种冲正数据的存储装置。所述装置包括:
27.接收模块,用于接收正交易业务请求;
28.查询模块,用于根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
29.存储模块,用于确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
30.第三方面,本技术还提供了一种服务器设备。所述服务器设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
31.接收正交易业务请求;
32.根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
33.确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
34.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
35.接收正交易业务请求;
36.根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
37.确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,
将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
38.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
39.接收正交易业务请求;
40.根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
41.确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
42.上述历史业务数据存储方法、装置、服务器设备、存储介质和计算机程序产品,通过以交易标识为第二主键标识,将第一业务数据存储至冲正数据表,使得不同业务的不同正交易都是以交易标识唯一确定,将业务与冲正数据表解耦合,从而将对不同的业务的冲正数据存储在同一冲正数据表中,降低了冲正数据表的维护难度。
附图说明
43.图1为本技术根据一个实施例示出的冲正数据的存储方法的应用环境图;
44.图2为本技术根据一个实施例示出的冲正数据的存储方法的流程示意图;
45.图3为本技术根据一个实施例示出的冲正数据的存储装置的结构框图;
46.图4为一个实施例中计服务器设备的内部结构图。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
48.相关技术中,比较典型的冲正交数据的存储的技术实现方式为:针对当前业务交易操纵的业务数据实体字段,设计与之密切匹配的冲正数据实体以记载业务数据变化的过程,当反交易发生时,基于这些冲正数据记录按时间戳逆序的方式做数据的现场恢复处理。
49.由于不同的业务正交易所操纵的业务数据的字段不同,相应地,设计的登记变化前、变化后的冲正数据实体的数据结构也不尽相同,所以各正交易需要设定与自身业务逻辑捆绑的数据现场保存步骤,这种保存方式决定了不同的业务正交易需要各自配备一个特定的反交易,才能将关键的业务数据内容更新回初始状态。
50.如表1所示,为本技术示出的业务数据表:
51.表1业务数据表
[0052][0053]
如下表所示,为本技术示出的进行了两笔取款业务后对应的冲正数据表:
[0054]
表2取款业务对应的冲正数据表
[0055][0056]
此时业务数据表中ida1这一条业务数据中的账户余额为1003.23,ida3这一条业务数据中的账户余额为708.99。
[0057]
如下表所示,为本技术示出修改利率的同时修改账户余额的业务对应的冲正数据表:
[0058]
表3修改利率的同时修改账户余额的业务对应的冲正数据表
[0059][0060]
此时业务数据表中ida2这一条业务数据中的账户余额为1063.22、利率为0.45%。
[0061]
表2的业务,会修改业务数据表中对应的业务数据的一个字段,即账户余额字段,表3的业务,会修改业务数据表中对应的业务数据的两个字段,即账户余额字段以及利率字段。
[0062]
当金融信息系统接收到一个正交易业务请求后,根据正交易业务请求携带有所要修改的业务数据的第一主键标识,在业务数据表中查询到对应的业务数据,并在对应的冲正数据表中以第一主键标识为标识创建一条冲正数据,每对业务数据的一个字段进行修改后,在冲正业务数据表中保存该字段修改前的内容以及修改后的内容。
[0063]
当金融信息系统接收到一个正交易对应的冲正交易业务请求后,根据冲正交易业
务请求中携带的第一主键标识,在业务数据表中查询到对应的业务数据,并在该业务对应的冲正数据表中查询对应的冲正数据。然后根据冲正数据表中保存的正交易对各个字段修改前的内容以及修改后的内容,对业务数据表中的业务数据进行修改,完成对正交易的冲正。
[0064]
由表2、表3可知,不同业务对应的冲正数据表的字段是不同的,换而言之,不同的业务对应的冲正数据的结构是不同的。
[0065]
以上仅是示例性的给出相关技术中的业务数据表以及冲正数据表,实际应用中,涉及的业务数据表、业务数据表所包含的字段更多,所涉及的业务也更多。当某个业务的业务需求发生变化,对业务数据所修改的字段发生变化,就需要修改对应的冲正数据表(增加字段或者删减字段)。
[0066]
从微观层面看,当业务数据的数量较多时,需要根据业务数据的字段的涉及范围来设计冲正数据的数据结构。在业务需求变化引发更新业务数据的字段范围发生增减时,需要频繁、针对性地修改冲正数据的数据结构和对应的数据保存逻辑,由此将引发新旧冲正数据之间的数据迁移,这对数据存储的稳定性带来冲击,系统所需维护成本显著增加。
[0067]
从宏观层面看,恢复数据现场本质上是一个技术行为,当业务数据数量众多且执行同类性质的恢复动作时,由于缺少统一的维护、协调机制会导致系统复杂度增加,从而影响业务系统的可扩展性。
[0068]
基于此,本技术提出一种冲正数据的存储方法,当接收正交易业务请求后,根据正交易业务请求携带的第一主键标识信息,在该正交易业务请求执行前的业务数据表中查询对应的第一业务数据。确定正交易业务请求对应的交易标识,并以该交易标识为第二主键标识,将查询到的第一业务数据存储至冲正数据表。其中,冲正数据表用于保存交易标识与业务数据的对应关系,包括第二主键标识字段、业务数据字段。
[0069]
本技术的冲正数据的存储方法,简化了冲正数据表的结构,提升了冲正数据的存储效率,并且避免了业务更新时冲正业务数据表的维护,增加了对业务更新的包容性。
[0070]
本技术实施例提供的一种冲正数据的存储方法,可以应用于如图1所示的应用环境中的服务器104上,图1为本技术示出的金融信息系统的结构示意图,用户或业务人员可以利用终端102通过通信网络与金融信息系统的服务器通信,以完成相关的业务。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的业务数据、冲正数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器设备或者是多个服务器设备组成的服务器集群来实现。
[0071]
接下来对本技术示出的一种冲正数据的存储方法进行详细的说明。如图2所示,为本技术根据一个实施例示出的一种冲正数据的存储方法的流程示意图,包括以下步骤:
[0072]
步骤201、接收正交易业务请求。
[0073]
在一个实施例中,用户或者业务人员在终端进行相关业务的操作,以使终端构建相应的正交易业务请求,并通过通信网络发送至金融信息系统中的服务器设备,以使金融信息系统中的服务器设备根据请求对保存的业务数据进行增删改等。
[0074]
其中,正交易业务请求一般是针对某一条业务数据的更改,携带有该业务数据的主键标识信息,以及修改业务数据的相关字段数据内容的信息。例如用户a取款产生的正交易业务请求,是针对用户a对应的业务数据中的余额进行更改的,携带的主键标识信息为用户a对应的id或者账号等,携带的修改信息为将余额更新为当前余额减取款额,用户c存款产生的正交易业务请求,是针对用户c对应的业务数据中的余额进行更改的,携带的主键标识信息为用户a对应的id或者账号等,携带的修改信息为将余额更新为当前余额加存款额。
[0075]
步骤203、根据该正交易业务请求携带的第一主键标识信息,在该正交易业务请求执行前的业务数据表中查询对应的第一业务数据。
[0076]
在一个实施例中,服务器设备接收到用户或者业务人员通过终端发送的正交易业务请求后,对正交易业务请求进行解析,确定该正交易携带的第一主键标识。服务器设备在对正交易业务请求进行解析时,可以根据约定的正交易业务请求结构,对正交易业务请求中所携带的内容进行读取,例如正交易业务请求的第一个字节为业务类型,正交易业务请求的第二、三个字节为第一主键标识,正交易业务请求的第四至十个字节为修改信息等。还可以预先约定起止符,不同内容对应的起止符不同,然后对正交易业务请求所携带的内容进行读取。
[0077]
本领域技术人员可以根据实际业务变化,对正交易业务请求进行设置,服务器设备可在正交易业务请求中获取第一主键标识即可。
[0078]
在一个实施例中,服务器设备接收到终端发送的正交易业务请求后,对正交易业务请求进行解析,确定正交易业务请求携带的修改信息,在根据正交易请求携带的修改信息对业务数据表中对应的业务数据进行修改前,即,在该正交易业务请求执行前,在业务数据表中根据正交易业务请求携带的第一主键标识信息,查询对应的第一业务数据。
[0079]
其中,第一主键标识用于在业务数据表中标识一条业务数据。第一业务数据,是在根据该正交易业务请求携带的修改信息对业务数据表中的业务数据进行修改前,根据该正交易业务携带的第一主键标识业务数据表中查询到的业务数据。例如,正交易业务请求是对业务数据表中主键为id6的业务数据的余额字段修改为400,其它字段不变,在该正交易请求执行前,业务数据表中主键为id6的业务数据的余额为600,因此,在根据该正交易业务请求携带的修改信息对业务数据表中的业务数据进行修改前,根据该正交易业务请求携带的主键信息查询到的业务数据中的余额字段为600,而非400。
[0080]
需要说明的是,查询到的第一业务数据,是业务数据表中存储的以第一主键标识为主键标识的整行数据,而非业务数据表中的某几个字段组成的业务数据。
[0081]
步骤205、确定该正交易业务请求对应的交易标识,并以该交易标识为第二主键标识,将查询到的第一业务数据存储至冲正数据表。
[0082]
其中,冲正数据表用于保存交易标识与业务数据的对应关系,包括第二主键标识字段、业务数据字段。第二主键标识(交易标识)用于标识一条冲正数据,也能够唯一标识一次正交易操作。
[0083]
在实际应用中,金融信息系统会随着正交易操作产生交易序列号,作为此次正交易的交易标识,正交易标识能够唯一标识出金融信息系统内一次特定的业务操作。因此,在一个实施例中,服务器设备为正交易业务请求生成交易序列号,确定为该正交易请求的交易标识。
[0084]
需要说明的是,服务器设备在将第一业务数据存储值冲正数据表时,并不需要确定第一业务数据的各个字段的具体内容,直接将第一业务数据作为一个整体存储至冲正数据表即可。
[0085]
如表4所示,为本技术示出的一种冲正数据的存储方法对应的冲正数据表:
[0086]
表4冲正数据表
[0087][0088][0089]
本技术示出的冲正数据表的结构,相对于业务数据表的结构,仅多了第二主键标识字段,即,交易标识字段。
[0090]
在一个实施例中,服务器设备以正交易业务请求的交易标识为第二主键标识,将第一业务数据存储至冲正数据表后,根据正交易业务请求携带的修改信息,对业务数据表中的第一业务数据进行修改,得到第二业务数据。
[0091]
首先,申请的冲正数据的存储方法,对于不同业务的正交易请求,都是以正交易业务请求对应的交易标识为第二主键标识,将未更改的第一业务数据存储至冲正数据表,因此不再需要每个业务正交易定制自身的冲正数据保存逻辑,及无需为每个业务构建对应的冲正数据表,即便因业务需求变化导致了业务数据更新字段范围发生改变,该业务的冲正数据的存储过程也无需进行修改,大大降低了保存冲正数据的维护成本,在需求频繁变动的业务系统中,这一效果尤为明显。
[0092]
其次,本技术的冲正数据的存储方法,简化了冲正数据表的表结构设计,业务数据的数据结构完全决定了冲正数据的数据结构,冲正数据的数据结构仅比业务数据的数据结
构多出交易标识一个字段,这显著降低了表结构的设计复杂度。
[0093]
最后,本技术的冲正数据的存储方法,降低了业务逻辑与技术模块之间的耦合程度。本技术通过交易标识能够直接锁定唯一的冲正数据记录,不会出现因正交易业务的不同或同一正交易的业务逻辑发生变化而导致对冲正数据的访问方式、内容发生改变,是的技术模块中去除了业务逻辑的耦合因素。
[0094]
在金融日常业务中,不是所有的请求都有冲正需求的,例如请求是对业务数据中用户名字段的修改或者预留手机号字段的修改,这些请求并不涉及金融业务的核心数据,换而言之,这并不涉及金融业务,因此不存在金融系统意义上的冲正需求,无需保存对应的冲正数据。
[0095]
所以,在一个实施例中,步骤205具体包括:
[0096]
在确定正交易业务请求满足冲正交易业务条件的情况下,确定正交易业务请求对应的交易标识,并以交易标识为第二主键标识,将第一业务数据存储至冲正数据表。
[0097]
在一个实施例中,可以在预先在服务器设备设置满足冲正交易业务条件的业务类型,如存款、取款业务可以进行冲正交易业务。若服务器设备确定正交易业务请求的业务类型为满足冲正交易业务条件的业务类型,则进一步确定正交易的业务标识。
[0098]
在一个实施例中,服务器设备可以对正交易业务请求进行解析得到该正交易业务请求所携带的修改信息,然后根据该正交易业务所携带的修改信息,确定该正交易业务请求所修改的字段,是否涉及金融核心业务字段。例如用户名的修改或者预留手机号的修改并不涉及金融核心业务,所以用户名字段或者预留手机号字段并不是金融核心业务字段,但余额、利率的变动涉及金融核心业务,所以余额字段、利率字段等是核心业务字段。若服务器设备确定该正交易业务请求所修改的字段涉及金融核心业务字段,确定该正交易业务请求满足冲正交易业务条件,为该正交易业务请求保存相应的冲正数据。若服务器设备确定该正交易业务请求所修改的字段不涉及金融核心业务字段,确定该正交易业务请求不满足冲正交易业务条件,不为该正交易业务请求保存相应的冲正数据。
[0099]
在此实施例中,只对可能需要进行冲正的正交易请求对应的业务数据保存相应的冲正数据,减少对不必要的冲正业务数据的保存。
[0100]
此外,实际用于中,可能会存在同一时间接收到多个冲正交易业务请求,为了保存业务逻辑的正确性,按照对应的正交易发生的时序进行逆序处理,即多个正交易在实际发生时彼此之间具有先后关系,冲正的发起必须是反向、有序的,比如,正交易的发生顺序是a
→b→
c,则冲正交易的发生顺序必须遵循c
→b→
a,不遵循这个顺序会导致系统产生无意义、错误的业务数据。因此在一个实施例中,上述的冲正数据表还包括时间戳字段,上述的步骤205具体包括:
[0101]
确定交易业务请求对应的交易标识,以该交易标识为第二主键标识,将第一业务数据、该正交易业务请求的请求时间戳存储至冲正数据表。
[0102]
如表5所示,为本说明书示出的另一种冲正数据的存储方法对应的冲正数据表:
[0103]
表5冲正数据表
[0104][0105]
在此实施例中,冲正数据表保存各个正交易请求时间戳,以使服务器设备能够确定各个正交易的执行过程。
[0106]
在一个实施例中,冲正数据的存储方法还可以包括:
[0107]
步骤207、在接收到冲正交易业务请求的情况下,根据该冲正业务请求对应的正交易业务的交易标识,在冲正数据表中查询对应的冲正数据。
[0108]
其中,冲正交易业务请求是针对某个正交易业务请求的,若没有执行正交易请求,不会存在冲正交易业务请求。即,当服务器设备接收到某个冲正交易业务请求后,服务器已经执行完该冲正交易业务对应的正交易请求。
[0109]
在一个实施例中,终端直接构建包含有某个正交易的交易标识的冲正交易业务请求发送至服务器设备,以发起对该正交易的冲正交易。服务器设备对冲正交易业务请求进行解析,得到该冲正业务携带的交易标识,即该冲正业务请求对应的正交易业务的交易标识。
[0110]
步骤209、确定冲正数据中的业务数据字段所携带的目标主键标识。
[0111]
在一个实施例中,服务器设备根据交易标识查询到冲正交易业务请求对应的冲正数据后,读取查询到的冲正数据中业务数据字段中的第一业务数据,确定第一业务数据中的主键标识字段中的目标主键标识。
[0112]
其中,服务器设备根据交易标识确定冲正交易业务请求所针对的正交易,根据查询到的冲正数据中业务数据字段中的第一业务数据的主键标识字段中的目标主键标识,确定冲正交易业务请求所针对的业务数据。
[0113]
步骤211、根据确定的目标主键标识,在业务数据表中查询对应的第二业务数据。
[0114]
其中,冲正数据表中保存的第一业务数据,是对该冲正交易业务请求的正交易业务请求执行前,业务数据表保存的目标主键标识对应的业务数据。业务数据表保存的第二业务数据,是对该冲正交易业务请求的正交易业务请求执行后,业务数据表保存的目标主键标识对应的业务数据。
[0115]
在一个实施例中,服务器设备以确定的目标主键标识为匹配项,在业务数据表中查询匹配的第二业务数据。
[0116]
其中,第二业务数据也是只包含所有字段内容的业务数据。
[0117]
步骤213、将业务数据表中的第二业务数据替换为冲正数据的业务数据字段的业务数据。
[0118]
在一个实施例中,服务器设备在业务数据表中查找到目标主键标识对应的第二业务数据后,直接将业务数据表中第二业务数据替换为查询到的冲正数据的业务数据字段的业务数据。
[0119]
例如,服务器设备根据冲正交易业务请求查询到的冲正数据为:第二主键标识字段:as0002,业务数据字段:[字段1:id5,字段2:000005,字段3:0.5%,字段4:26634.1]。然后根据业务数据字段携带的目标主键标识id5,在业务数据表中查询到的第二业务数据为:字段1:id5,字段2:000005,字段3:0.5%,字段4:20634.1,直接将业务数据表中第二业务数据替换为查询到的冲正数据的业务数据字段的业务数据后,业务数据表中主键标识为id5对应的业务数据为:字段1:id5,字段2:000005,字段3:0.5%,字段4:26634.1。
[0120]
相关技术中,不同的冲正数据通过业务数据中的主键标识以及时间戳确定,因此业务人员需要在正交易对应的操作界面进行冲正交易,不同业务的冲正交易的操作入口是不同的。
[0121]
在此实施例中,将各个不同的正交易业务的冲正交易流程集约为一个共同的冲正交易流程,当需要对某正交易进行冲正时,终端只需要构建携带有该正交易的交易标识的冲正交易业务请求发送至服务器设备,优化了业务处理流程,降低了业务操作风险。因此,业务人员只需要在终端上确定正交易的交易标识,就可以对对应的正交易进行冲正,这样能够减少了业务人员的时间成本,降低出错概率,并且单一操作入口的冲正交易也更加便于操作风险的集中管控。
[0122]
在一个实施例中,步骤213可以具体包括:
[0123]
步骤2131、根据冲正数据中的时间戳字段,依时间戳逆序排列,确定该冲正交易业务请求的冲正次序。
[0124]
在一个实施例中,服务器设备可能会同时接收到多个冲正交易业务请求,即,对多个正交易同时发起冲正交易业务请求。此时,服务器设备针对每个冲正交易业务请求,根据该冲正业务请求对应的正交易的正交易业务请求的交易标识,在冲正数据表中查询对应的冲正数据。然后,服务器设备根据每个冲正交易业务请求对应的冲正数据的时间戳字段,确定各个冲正交易业务请求对应的正交易业务请求发起顺序,按照逆序排列,得到各个冲正交易业务请求的冲正次序。
[0125]
步骤2133、在确定冲正次序为该冲正交易业务请求对应的冲正次序的情况下,将业务数据表中的第二业务数据替换为查询到的冲正数据的业务数据字段的业务数据。
[0126]
在一个实施例中,服务器设备确定多个冲正交易业务请求的冲正次序后,即多个
冲正交易业务请求执行次序,按照依照顺序完成对每个冲正交易业务请求的处理。对于每个冲正业务请求而言,服务器设备在执行各个冲正交易业务请求时,确定执行的冲正次序为该冲正业务请求对应的冲正次序的情况下,将业务数据表中第二业务数据替换为冲正数据的业务数据字段的业务数据。
[0127]
正交易业务请求在执行时,往往按照顺序执行,先a正交易请求后b正交易请求再c正交易请求,而冲正交易恰恰相反,先冲正c请求,再冲正b请求,最后冲正a请求。根据时间戳逆序排列,以契合业务需求执行逻辑。
[0128]
在一个实施例中,上述的方法还包括:
[0129]
将第二业务数据同步至关联业务系统,以使业务系统之间业务数据同步。
[0130]
在一个实施例中,由于冲正交易业务请求执行后,会对业务数据表中的业务数据进行修改,为了在业务层面保证各个系统之间数据的一致性,需要将修改后的第二业务数据同步至关联业务系统,以使关联业务系统对系统的相关数据进行修改。
[0131]
其中,关联业务系统可以是服务商系统,当金融信息系统的业务数据发生变化时,服务商系统对用户显示的业务数据就需要相应的更新,以确保用户所查看的业务数据的准确性,因此当金融信息系统的业务数据发生变化时,金融信息系统的服务器设备会将更新得到的第二业务数据同步至服务商系统。关联业务系统还可以是其它对业务数据有依赖的系统,本技术不一一列举。
[0132]
以上是本技术对冲正数据的存储方法的详细说明,应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0133]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的一种冲正数据的存储方法的冲正数据的存储装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个冲正数据的存储装置实施例中的具体限定可以参见上文中对于冲正数据的存储方法的限定,在此不再赘述。
[0134]
在一个实施例中,如图3所示,提供了一种冲正数据的存储装置,包括:接收模块301、查询模块303和存储模块305,其中:
[0135]
接收模块301,用于接收正交易业务请求;
[0136]
查询模块303,用于根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
[0137]
存储模块305,用于确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
[0138]
在其中一个实施例中,上述的存储模块305具体用于:
[0139]
在确定所述正交易业务请求满足冲正交易业务条件的情况下,确定所述正交易业
务请求对应的交易标识;
[0140]
以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表。
[0141]
在其中一个实施例中,所述冲正数据表还包括时间戳字段;此时,上述的存储模块305具体用于:
[0142]
确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据、所述正交易业务请求的请求时间戳存储至冲正数据表。
[0143]
在其中一个实施例中,上述装置还包括:
[0144]
冲正数据查询模块307(图中未示出):用于在接收到冲正交易业务请求的情况下,根据所述冲正业务请求对应的正交易业务的交易标识,在所述冲正数据表中查询对应的冲正数据;
[0145]
目标主键标识确定模块309(图中未示出):确定所述冲正数据中的业务数据字段所对应的目标主键标识;
[0146]
第二业务数据查询模块311(图中未示出):用于根据所述目标主键标识,在所述业务数据表中查询对应的第二业务数据;所述冲正数据表包含交易标识与业务数据的对应关系;
[0147]
替换模块313(图中未示出):用于将所述业务数据表中的第二业务数据替换为所述冲正数据的业务数据字段对应的业务数据。
[0148]
在其中一个实施例中,上述的替换模块313具体用于:
[0149]
根据所述冲正数据中的时间戳字段,依时间戳逆序排列,确定所述冲正交易业务请求的冲正次序;
[0150]
在确定冲正次序为所述冲正交易业务请求对应的冲正次序的情况下,将所述业务数据表中第二业务数据替换为所述冲正数据的业务数据字段的业务数据。
[0151]
在其中一个实施例中,所述装置还包括:
[0152]
关联模块315(图中未示出):用于将所述第二业务数据同步至关联业务系统,以使业务系统之间业务数据同步。
[0153]
上述冲正数据的存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于服务器设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0154]
在一个实施例中,提供了一种服务器设备,其内部结构图可以如图4所示。该服务器设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该服务器设备的处理器用于提供计算和控制能力。该服务器设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器设备的数据库用于存储冲正数据、业务数据。该服务器设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种冲正数据的存储方法。
[0155]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0156]
在一个实施例中,提供了一种服务器设备,包括存储器和处理器,存储器中存储有
计算机程序,该处理器执行计算机程序时实现以下步骤:
[0157]
接收正交易业务请求;
[0158]
根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
[0159]
确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
[0160]
在一个实施例中,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0161]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0162]
接收正交易业务请求;
[0163]
根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
[0164]
确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
[0165]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0166]
接收正交易业务请求;
[0167]
根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;
[0168]
确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
[0169]
在一个实施例中,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0170]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0171]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存
取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0172]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0173]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:1.一种冲正数据的存储方法,其特征在于,所述方法包括:接收正交易业务请求;根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。2.根据权利要求1所述的方法,其特征在于,所述确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表,包括:在确定所述正交易业务请求满足冲正交易业务条件的情况下,确定所述正交易业务请求对应的交易标识;以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表。3.根据权利要求1所述的方法,其特征在于,所述冲正数据表还包括时间戳字段;所述以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表,包括:以所述交易标识为第二主键标识,将所述第一业务数据、所述正交易业务请求的请求时间戳存储至冲正数据表。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在接收到冲正交易业务请求的情况下,根据所述冲正业务请求对应的正交易业务的交易标识,在所述冲正数据表中查询对应的冲正数据;确定所述冲正数据中的业务数据字段所对应的目标主键标识;根据所述目标主键标识,在所述业务数据表中查询对应的第二业务数据;所述冲正数据表包含交易标识与业务数据的对应关系;将所述业务数据表中的第二业务数据替换为所述冲正数据的业务数据字段对应的业务数据。5.根据权利要求4所述的方法,其特征在于,所述将所述业务数据表中第二业务数据替换为所述第一业务数据,包括:根据所述冲正数据中的时间戳字段,依时间戳逆序排列,确定所述冲正交易业务请求的冲正次序;在确定冲正次序为所述冲正交易业务请求对应的冲正次序的情况下,将所述业务数据表中第二业务数据替换为所述冲正数据的业务数据字段的业务数据。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述第二业务数据同步至关联业务系统,以使业务系统之间业务数据同步。7.一种冲正数据的存储装置,其特征在于,所述装置包括:接收模块,用于接收正交易业务请求;查询模块,用于根据所述正交易业务请求携带的第一主键标识信息,在所述正交易业务请求执行前的业务数据表中查询对应的第一业务数据;存储模块,用于确定所述正交易业务请求对应的交易标识,并以所述交易标识为第二主键标识,将所述第一业务数据存储至冲正数据表;其中,所述冲正数据表用于保存交易标识与业务数据的对应关系。
8.一种服务器设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
技术总结本申请提供一种冲正数据的存储方法、装置、服务器设备、存储介质和计算机程序产品。本申请涉及数据存储技术领域,尤其涉及金融科技领域或其他相关领域。所述方法包括:接收正交易业务请求,根据该正交易业务请求携带的第一主键标识信息,在该正交易业务请求执行前的业务数据表中查询对应的第一业务数据。确定该正交易业务请求对应的交易标识,并以确定的交易标识为第二主键标识,将查询的第一业务数据存储至冲正数据表。其中,冲正数据表用于保存交易标识与业务数据的对应关系。采用本方法,降低了冲正数据表的维护难度。低了冲正数据表的维护难度。低了冲正数据表的维护难度。
技术研发人员:朱亮 王凯 周洪菊 黄振飞
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2022.05.09
技术公布日:2022/7/5