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

账务数据的处理方法及装置、电子设备、存储介质与流程

2022-02-19 16:00:32 来源:中国专利 TAG:


1.本技术涉及账务处理技术领域,特别涉及一种账务数据的处理方法及装置、电子设备、存储介质。


背景技术:

2.与传统的单用户单账户的结构不同,多层级账户(账户树)是对账户进行分类分层管理的结构,即单个用户具有多个多层级的账户。所以一次交易过程中,需要操作用户的一个或多个叶子账户及其级联的上级父账户,即需要对多个账户进行多次更新操作。这使得在高并发的场景下,账务系统性能低下,会引起上层业务调用超时,甚至会影响账务系统的可用性。
3.为此现有的主要采用两种方式进行记账,一种是在交易时,同步对叶子账户进行记账,然后异步对级联的上级父账户记账,从而减少交易时操作的账户数量。另一种方式则是在交易时,只同步对根账户记账,后续再异步对级联下级子账户记账,从而在交易时只对一个账户进行操作。
4.但是第一种方式,在一次交易涉及到的用户账户较多时,同样需要对多个账户进行操作,依旧存在上述的问题。第二种情况由于容易存在用户总金额充足,但是在后续对下级账户进行记账时,会出现下级账户资金不足的情况,产生业务及资损问题。


技术实现要素:

5.基于上述现有技术的不足,本技术提供了一种账务数据的处理方法及装置、电子设备、存储介质,以解决现有的技术对系统性能存在影响,或易产生业务及资损的问题。
6.为了实现上述目的,本技术提供了以下技术方案:
7.本技术第一方面提供了一种账务数据的处理方法,包括:
8.接收用户发送的交易请求;
9.根据所述交易请求确定出各个目标账户;其中,所述目标账户为本次交易待动账的所述用户的账户;
10.从各个所述目标账户对应的账户聚合信息中,确定出各个所述目标账户的账户数据;其中,所述目标账户的账户数据至少包括所述目标账户的余额;一条所述账户聚合信息通过将一个用户的所有账户的账户数据进行聚合得到;
11.基于所述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整;
12.利用调整后的各个所述目标账户的账户数据对所述账户聚合信息进行更新。
13.可选地,在上述的账务数据的处理方法中,所述从各个所述目标账户对应的账户聚合信息中,确定出各个所述目标账户的账户数据之后,还包括:
14.判断所述账户聚合信息中是否包括每个所述目标账户的账户数据;
15.若判断出所述账户聚合信息中包括每个所述目标账户的账户数据,则判断基于所
述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整后,各个所述目标账户的账户数据中的余额是否均不小于0;
16.若判断出基于所述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整后,各个所述目标账户的账户数据中的余额均不小于0,则执行所述基于所述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整。
17.可选地,在上述的账务数据的处理方法中,所述利用调整后的各个所述目标账户的账户数据对所述账户聚合信息进行更新之后,还包括:
18.将更新后的所述账户聚合信息同步更新至缓存中;
19.利用更新后的所述账户聚合信息对缓存进行异步更新。
20.可选地,在上述的账务数据的处理方法中,还包括:
21.接收用户发的查询请求;其中,所述查询请求至少包括待查询账户的账户号;
22.基于所述待查询账户的账户号,从缓存中的所述待查询账户对应的账户聚合信息中查询出所述待查询账户的余额;
23.基于所述待查询账户的账户号,从数据库中的账户明细信息中查找到所述待查询账户的目标信息;
24.将所述待查询账户的余额与所述待查询账户的目标信息合并后进行反馈。
25.可选地,在上述的账务数据的处理方法中,利用调整后的各个所述目标账户的账户数据对所述账户聚合信息进行更新之后,还包括:
26.分别利用更新后的所述账户聚合信息对账户明细信息以及流水库信息进行异步更新。
27.本技术第二方面提供了一种账务数据的处理装置,包括:
28.第一接收单元,用于接收用户发送的交易请求;
29.目标账户确定单元,用于根据所述交易请求确定出各个目标账户;其中,所述目标账户为本次交易待动账的所述用户的账户;
30.账户数据确定单元,用于从各个所述目标账户对应的账户聚合信息中,确定出各个所述目标账户的账户数据;其中,所述目标账户的账户数据至少包括所述目标账户的余额;一条所述账户聚合信息通过将一个用户的所有账户的账户数据进行聚合得到;
31.调整单元,用于基于所述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整;
32.聚合信息更新单元,用于利用调整后的各个所述目标账户的账户数据对所述账户聚合信息进行更新。
33.可选地,在上述的账务数据的处理装置中,还包括:
34.第一判断单元,用于判断所述账户聚合信息中是否包括每个所述目标账户的账户数据;
35.第二判断单元,用于在判断出所述账户聚合信息中包括每个所述目标账户的账户数据时,判断基于所述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整后,各个所述目标账户的账户数据中的余额是否均不小于0;其中,若判断出基于所述交易请求中的交易金额对各个所述目标账户的账户数据中的余额进行调整后,各个所述目标账户的账户数据中的余额均不小于0,则执行所述基于所述交易请求中的交易金额对
各个所述目标账户的账户数据中的余额进行调整。
36.可选地,在上述的账务数据的处理装置中,还包括:
37.缓存同步更新单元,用于将更新后的所述账户聚合信息同步更新至缓存中;
38.缓存异步更新单元,用于利用更新后的所述账户聚合信息对缓存进行异步更新。
39.可选地,在上述的账务数据的处理装置中,还包括:
40.第二接收单元,用于接收用户发的查询请求;其中,所述查询请求至少包括待查询账户的账户号;
41.第一查询单元,用于基于所述待查询账户的账户号,从缓存中的所述待查询账户对应的账户聚合信息中查询出所述待查询账户的余额;
42.第二查询单元,用于基于所述待查询账户的账户号,从数据库中的账户明细信息中查找到所述待查询账户的目标信息;
43.反馈单元,用于将所述待查询账户的余额与所述待查询账户的目标信息合并后进行反馈。
44.可选地,在上述的账务数据的处理装置中,还包括:
45.信息更新单元,用于分别利用更新后的所述账户聚合信息对账户明细信息以及流水库信息进行异步更新。
46.本技术第三方面提供了一种电子设备,包括:
47.存储器和处理器;
48.其中,所述存储器用于存储程序;
49.所述处理器用于执行所述程序,所述程序被执行时,具体用于实现如上述任意一项所述的账务数据的处理方法。
50.本技术第四方面提供了一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,用于实现如上述任意一项所述的账务数据的处理方法。
51.本技术提供的一种账务数据的处理方法,预先将每个用户的所有账户的账户数据进行聚合,得到多条账户聚合信息。在接收用户发送的交易请求时,根据交易请求确定出各个在本次交易中待动账的该用户的目标账户。然后从各个目标账户对应的账户聚合信息中,确定出各个目标账户的账户数据。其中,目标账户的账户数据至少包括所述目标账户的余额。所以,基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整,最后利用调整后的各个目标账户的账户数据对账户聚合信息进行更新,完成对账户的余额的更新。从而在一次交易过程中,只对一条账户聚合信息进行一次操作,就可以对各个动账的账户进行记账,而不需要分别账户进行多次记账操作,有效避免了对系统性能的影响,也不会造成业务及资损问题。
附图说明
52.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
53.图1为本技术实施例提供的一种账务数据的处理方法的流程图;
54.图2为本技术实施例提供的一示例示出的一种多层级账户的结构示意图;
55.图3为本技术另一实施例提供的另一种账务数据的处理方法的流程图;
56.图4为本技术另一实施例提供的一种账务数据的查询方法的流程图;
57.图5为本技术另一实施例提供的一种账务数据的处理装置的结构示意图;
58.图6为本技术另一实施例提供的一种电子设备的结构示意图。
具体实施方式
59.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.在本技术中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
61.本技术实施例提供了一种账务数据的处理方法,如图1所示,具体包括以下步骤:
62.s101、接收用户发送的交易请求。
63.具体的,用户可以是通过前端进行确认交易时发送交易请求,此时相应地接收到用户发送的交易请求。
64.可选地,交易请求中可以包括交易金额,需要动账的目标账户的标识或者账户号等。
65.s102、根据交易请求确定出各个目标账户。
66.其中,目标账户为本次交易待动账的用户的账户,所以目标账户具体包括了需要动账的叶子账户以及级联的上级父账户。
67.需要说明的是,本技术实施例提供的账务数据的处理方法,主要针对的是多层级账户,即一个用户对应有多个不同层级的账户。例如,一个用户的多层级账户的结构可以如图2所示。
68.其中,在一次交易过程中,至少涉及到一个叶子账户,当然也可以涉及到多个叶子账户。
69.可选地,交易请求中可以包括有需要进行动账的各个叶子账户的标识,如账户号或者配置的唯一标识,然后根据每个叶子账户的标识确定出与其关联的所有的上级账户,然后将所有的叶子账户以及确定出的上级账户确定为目标账户。
70.当然这只是其中一种可选的方式,也可以是采用其他方式确定出目标账户,例如,在交易请求中就包括有每个目标账户的标识,从而可以直接从交易请求中确定出各个目标账户。
71.s103、从各个目标账户对应的账户聚合信息中,确定出各个目标账户的账户数据。
72.首先需要说明的是,在本技术实施例中,预先分别将每个用户的所有账户的账户数据进行聚合,得到多条聚合信息,即一条账户聚合信息通过将一个用户的所有账户的账户数据进行聚合得到,每个用户对应一条账户聚合信息。
73.其中,目标账户的账户数据至少包括目标账户的余额。当然,聚合信息中除包括有账户的余额外,还可以根据需求包括有其他信息,如账户的序列号、是否压缩标识等。
74.可选地,由于在账务系统中通常会维护有账户明细信息,一般以表格的方式进行存在,即设置并维护有账户明细信息表,用于存储每一个账户的明细信息。所以可以是从账户明细信息表中,提取出同一个用户的各个账户的账户数据,并基于提取出的账户数据生成账户聚合信息。同样,账户聚合信息也可以通过表格的方式进行存储。
75.例如,如表1所示的账户明细信息表中,存在两个用户的多个层级账户的账户明细信息。
76.表1
77.账户号总金额冻结金额账户层级序列号100001100011100001011000221000010101100033100002505011100002015050221000020101505033
78.分别将表1中的两个用户的各个账户的明细信息中的账户数据进行聚合,得到如表2所示的,两条账户聚合信息。
79.表2
[0080][0081]
需要说明的是,为了支持多层级账户结构,减少账户聚合信息的大小,所以只利用账户明细信息表的中部分字段的信息,生成账户聚合信息。例如,如上述例子的表2所示,账户数据中只保存了序列号,总金额,冻结金额。
[0082]
其中,序列号用于区分不同的账户。由于序列号所占存储空间相对较小,所以可以有效减少数据存储的大小。当然,也可以采用其他形式的标识进行账户的区别。总金额和冻结金额为账户的余额,所以必须要存在。
[0083]
可选地,账户聚合信息中还可以包括有版本号,由于区分不同版本的账户聚合信息,可以有效避免在获取账户聚合信息时存在错误。并且,还可以包括有是否压缩标识,用于确定是否对其进行压缩后进行存储,以减少存储空间及网络交互提升系统性能。
[0084]
由于账户聚合信息包括了用户的所有账户的账户数据,但是一次交易并不是所有的账户都需要进行动账,所以需要先确定出对应的账户聚合信息,然后从账户聚合信息中确定出各个目标账户的账户数据。
[0085]
可选地,可以是根据各个目标账户的账户号,从账户明细信息中,确定出目标账户的序列号,然后基于目标账户的序列号,从账户聚合信息中确定出目标账户的账户数据。
[0086]
s104、基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整。
[0087]
需要说明的是,若是交易请求涉及多个叶子账户,则交易请求中应该包括有各个叶子账户对应的交易金额。
[0088]
可选地,当交易请求是进行支付时,则将各个目标账户的账户数据中的余额减去相应的金额。具体将叶子账户直接减去对应的交易金额,而对于父账户,则应该减去其下的各个子账户减去的金额的总和。同理,若是交易请求为接收转账,则是加上相应的金额。
[0089]
s105、利用调整后的各个目标账户的账户数据对账户聚合信息进行更新。
[0090]
具体的,在对确定出的各个目标账户的账户数据中余额进行调整后,需要将调整后的余额对账户聚合信息。
[0091]
本技术实施例提供的一种账务数据的处理方法,预先将每个用户的所有账户逇账户数据进行聚合,得到多条账户聚合信息。在接收用户发送的交易请求时,根据交易请求确定出各个在本次交易中待动账的该用户的目标账户。然后从各个目标账户对应的账户聚合信息中,确定出各个目标账户的账户数据。其中,目标账户的账户数据至少包括所述目标账户的余额。所以,基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整,最后利用调整后的各个目标账户的账户数据对账户聚合信息进行更新,完成对账户的余额的更新。从而在一次交易过程中,只对一条账户聚合信息进行一次操作,就可以对各个动账的账户进行记账,而不需要分别账户进行多次记账操作,有效避免了对系统性能的影响,也不会造成业务及资损问题。
[0092]
本技术另一实施例提供了另一种账务数据的处理方法,如图3所示,包括以下步骤:
[0093]
s301、接收用户发送的交易请求。
[0094]
需要说明的是,步骤s301的具体实施方式,可相应地参考上述方法实施例中的步骤s101,此处不再赘述。
[0095]
s302、根据交易请求确定出各个目标账户。
[0096]
其中,目标账户为本次交易待动账的所述用户的账户。
[0097]
需要说明的是,步骤s302的具体实施方式,可相应地参考上述方法实施例中的步骤s102,此处不再赘述。
[0098]
s303、从各个目标账户对应的账户聚合信息中,确定出各个目标账户的账户数据。
[0099]
其中,目标账户的账户数据至少包括目标账户的余额。一条账户聚合信息通过将一个用户的所有账户的账户数据进行聚合得到。
[0100]
需要说明的是,步骤s303的具体实施方式,可相应地参考上述方法实施例中的步骤s103,此处不再赘述。
[0101]
s304、判断账户聚合信息中是否包括每个目标账户的账户数据。
[0102]
由于,当账户聚合信息中未包括有目标账户的账户数据时,也就无法就准确的记账,因此只有在判断出账户聚合信息中包括有每个目标账户的账户数据时,才执行步骤s305。
[0103]
s305、判断基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整后,各个目标账户的账户数据中的余额是否均不小于0。
[0104]
由于,目标账户中的余额在进行调整后小于零,则说明目标账户的余额并不能支持本次交易,为避免出现资损等问题,因此需要在判断出基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整后,各个目标账户的账户数据中的余额均不小于0时,才执行步骤s306。
[0105]
s306、基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整。
[0106]
s307、利用调整后的各个目标账户的账户数据对账户聚合信息进行更新。
[0107]
s308、将更新后的账户聚合信息同步更新至缓存中。
[0108]
可选地,为了便于用户能即使地查询到交易后,各个账户的信息,因此在本技术实施例中,会将更新后的账户聚合信息同步更新至缓存中,从而可以通过缓存及时地查找到账户的余额信息。
[0109]
s309、利用更新后的账户聚合信息对缓存进行异步更新。
[0110]
考虑到同步更新缓存中的账户聚合信息可能出现更新失败的情况,所以为了保证缓存中的账户聚合新与数据库中的完全一致,保证查询结果的准确性,因此在本技术实施例中,在执行步骤s308之后,后续还利用更新后的账户聚合信息对缓存进行异步更新,从而保证查询结果的准确性,也不会影响系统的性能。
[0111]
可选地,基于本技术实施例中步骤s308和步骤s309的缓存更新方式,本技术实施例还提供了一种账务数据的查询方法,如图4所示,包括以下步骤:
[0112]
s401、接收用户发的查询请求。
[0113]
其中,所述查询请求至少包括待查询账户的账户号。
[0114]
s402、基于待查询账户的账户号,从缓存中的待查询账户对应的账户聚合信息中查询出待查询账户的余额。
[0115]
可选地,可以是先基于待查询账户的账户号,从而账户明细信息中确定出待查询账户的序列号,然后基于待查询账户的序列中,从其对应的账户聚合信息中,查找到待查询账户的余额。
[0116]
s403、基于待查询账户的账户号,从数据库中的账户明细信息中查找到待查询账户的目标信息。
[0117]
由于,通常在进行查询时,并不仅仅可以查询出账户的余额,还可以查询账户的其他信息,例如账户状态信息、开户人信息等,而这些信息存储于数据库中的账户明细信息中,所以还可以进一步基于待查询账户的账户号,从数据库中的账户明细信息中查找到待查询账户的目标信息。
[0118]
其中,目标信息为指定查询的信息。可以是默认需要查询的信息,也可以用户指定查询的信息。
[0119]
s404、将待查询账户的余额与待查询账户的目标信息合并后进行反馈。
[0120]
可选地,在本技术另一实施例中,还可以通过配置对账户明细以及流水库信息进行异步更新,因此在执行步骤s307之后,还可以进一步包括:
[0121]
分别利用更新后的账户聚合信息对账户明细信息以及流水库信息进行异步更新。
[0122]
本技术另一实施例提供了一种账务数据的处理装置,如图5所示,包括以下单元:
[0123]
第一接收单元501,用于接收用户发送的交易请求。
[0124]
目标账户确定单元502,用于根据交易请求确定出各个目标账户。
[0125]
其中,目标账户为本次交易待动账的用户的账户。
[0126]
账户数据确定单元503,用于从各个目标账户对应的账户聚合信息中,确定出各个目标账户的账户数据。
[0127]
其中,目标账户的账户数据至少包括目标账户的余额。一条账户聚合信息通过将一个用户的所有账户的账户数据进行聚合得到。
[0128]
调整单元504,用于基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整。
[0129]
聚合信息更新单元505,用于利用调整后的各个目标账户的账户数据对账户聚合信息进行更新。
[0130]
可选地,在本技术另一实施例提供的账务数据的处理装置中,还包括:
[0131]
第一判断单元,用于判断账户聚合信息中是否包括每个目标账户的账户数据。
[0132]
第二判断单元,用于在判断出账户聚合信息中包括每个目标账户的账户数据时,判断基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整后,各个目标账户的账户数据中的余额是否均不小于0。
[0133]
其中,若判断出基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整后,各个目标账户的账户数据中的余额均不小于0,则调整单元执行基于交易请求中的交易金额对各个目标账户的账户数据中的余额进行调整。
[0134]
可选地,在本技术另一实施例提供的账务数据的处理装置中,还包括:
[0135]
缓存同步更新单元,用于将更新后的账户聚合信息同步更新至缓存中。
[0136]
缓存异步更新单元,用于利用更新后的账户聚合信息对缓存进行异步更新。
[0137]
可选地,在本技术另一实施例提供的账务数据的处理装置中,还包括:
[0138]
第二接收单元,用于接收用户发的查询请求。
[0139]
其中,查询请求至少包括待查询账户的账户号。
[0140]
第一查询单元,用于基于待查询账户的账户号,从缓存中的待查询账户对应的账户聚合信息中查询出待查询账户的余额。
[0141]
第二查询单元,用于基于待查询账户的账户号,从数据库中的账户明细信息中查找到待查询账户的目标信息。
[0142]
反馈单元,用于将待查询账户的余额与待查询账户的目标信息合并后进行反馈。
[0143]
可选地,在本技术另一实施例提供的账务数据的处理装置中,还包括:
[0144]
信息更新单元,用于分别利用更新后的账户聚合信息对账户明细信息以及流水库信息进行异步更新。
[0145]
需要说明的是,本技术上述实施例提供的各个单元的具体工作过程,可相应的参考上述方法实施例中的相应的步骤,此处不再赘述。
[0146]
本技术另一实施例提供了一种电子设备,如图6所示,包括:
[0147]
存储器601和处理器602。
[0148]
其中,存储器601用于存储程序。
[0149]
处理器602用于执行存储器601存储的程序,并且该程序被执行时,具体用于实现如上述任意一个实施例提供的账务数据的处理方法。
[0150]
本技术另一实施例提供了一种计算机存储介质,用于存储计算机程序,该计算机程序被执行时,用于实现如上述任意一项的账务数据的处理方法。
[0151]
计算机存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0152]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0153]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

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

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

相关文献