记账请求处理系统及方法与流程

文档序号:30156831发布日期:2022-05-26 07:46阅读:122来源:国知局
记账请求处理系统及方法与流程

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.本公开实施例的第二方面,提供了一种记账请求处理方法,所述方法包括:
44.根据记账请求中携带的账户标识,将记账请求路由至与该账户标识对应的记账处理服务器;
45.对路由至所述记账处理服务器中的多个记账请求,存储到所述记账处理服务器的记账请求队列中;
46.对所述记账请求队列中多个记账请求各自的记账数额进行汇总,得到总记账数额;
47.按照所述总记账数额,对与自身对应的账户标识所表征的目标账户进行余额更新。
48.本技术实施例中的记账请求处理系统,可以包括至少一个记账路由服务器和多个记账处理服务器,每个记账路由服务器可以根据记账请求中携带的账户标识,将记账请求路由至与该账户标识对应的记账处理服务器;每个记账处理服务器可以将携带与自身对应的账户标识的多个记账请求,存储到本地的记账请求队列中;对本地的记账请求队列中多个记账请求各自的记账数额进行汇总,得到总记账数额;并按照所述总记账数额,对与自身对应的账户标识所表征的目标账户进行余额更新。
49.一方面,由于本实施例中,记账路由服务器可以将记账请求路由至与该账户标识对应的记账处理服务器,如此,不同的记账路由服务器可以将同一个账户的记账请求路由至同一记账处理服务器,如此,实现了对用户发送至不同记账路由器的记账请求的汇总,进而,在记账处理服务器中,便可以对同一个账户的多个记账请求中的记账数额进行汇总后,再根据汇总后的总记账数额,对账户中的余额进行更新,因而避免根据每个记账请求都更新一次余额,可以应对一个账户具有大量交易的情况,从而极大地减少了账户余额更新的次数,提高了记账的效率,进而提高了记账的实时性。
50.另一方面,由于对用户发送至不同记账路由器的记账请求进行汇总,使得在同一个记账处理服务器中对汇总的记账请求进行处理,相比于分散多个子账户,在多个子账户中进行分散记账的方式,用户在查询账户流水时,由于已经具有汇总多个记账请求中的记账数额的过程和余额更新的结果,则可以反馈汇总多个记账请求中的记账数额的过程和余额更新的结果即可,从而提高了向用户反馈账户流水的效率。
附图说明
51.为了更清楚地说明本技术实施例的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
52.图1是本技术一实施例示出的一种记账请求处理系统的框架示意图;
53.图2是本技术一实施例示出的利用拼接向量样本对第三预设模型进行训练的示意图;
54.图3是本技术一实施例示出的中每个记账处理服务器所执行的记账处理的步骤流程图;
55.图4是本技术一实施例示出的每个记账处理服务器所执行的记账步骤;
56.图5是本技术一实施例示出的一种记账请求处理方法的步骤流程图。
具体实施方式
57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
58.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
59.为解决相关技术中的问题,本技术提出了一种记账请求处理系统,其中,参照图1所示,示出了本技术的记账请求处理系统的系统框架图,如图1所示,记账请求处理系统具体可以包括至少一个记账路由服务器和多个记账处理服务器。
60.其中,记账路由服务器可以接收多个用户发送的记账请求,具体而言,同一用户可以向不同的记账路由服务器发送记账请求,同一记账路由服务器也可以接收不同用户发送的记账请求。其中,多个记账路由服务器中不同记账路由服务器可以对应不同的前端应用,例如,一部分记账路由服务器是前端a应用的后台服务器,而另一部分记账路由服务器是前端b应用的后台服务器。
61.例如,如图1所示,在一个场景中,用户李某可以通过前端b应用向记账路由服务器2发起记账请求,以通过前端b应用完成线上交易,同时,用户李某也可以通过前端a应用向记账路由服务器1发起记账请求,以通过前端a应用完成线上交易。
62.本实施例中,每个记账路由服务器用于根据记账请求中携带的账户标识,将记账请求路由至与该账户标识对应的记账处理服务器。
63.参照图2所示,示出了记账请求处理系统对用户的记账请求进行处理的流程图,如图2所示,同一用户通过不同前端应用所发送的记账请求均可以路由至同一记账处理服务器中,例如,a账户向记账路由服务器1和记账路由服务器2所发送的记账请求均可以路由至记账处理服务器1进行处理,从而实现了将原本路径不同的记账请求汇总到同一台记账处理服务器中,由同一记账处理服务器进行汇总处理。这样,通过在同一台记账处理服务器中进行记账请求的处理,可以实现集中式记账,相比于分布式记账(例如,由多台服务器分别对部分记账请求进行处理,为了避免记账出错,在一个服务器上处理一部分记账请求时,需要对该账户锁定以禁止其他服务器处理),集中式的记账可以不用频繁锁定账户,从而可以
提高记账效率。
64.其中,可以指定每个记账处理服务器可以处理的账户,例如,预先指定记账处理服务器1可以处理账户c和账户b的记账请求,而记账处理服务器2可以处理账户d和账户e的记账请求。如此,不同账户的记账请求可以汇总到不同的记账处理服务器。
65.下面,对每个记账处理服务器如何处理记账请求进行说明:
66.参照图3所示,示出了多个记账处理服务器中每个记账处理服务器所执行的记账处理的步骤流程,具体可以包括以下步骤:
67.步骤s501:将携带与自身对应的账户标识的多个记账请求,存储到本地的记账请求队列中。
68.本实施例中,与自身对应的账户标识可以是指预先指定由本记账处理服务器处理的账户,如此,每个记账处理服务器可以对发送给自身对应的账户标识的多个记账请求存储到本地的记账请求队列中。
69.具体实施时,不同的账户标识可以对应不同的记账请求队列,如此,可以将账户标识的多个记账请求存储到本地的与该账户标识对应的记账请求队列中。
70.步骤s502:对本地的记账请求队列中多个记账请求各自的记账数额进行汇总,得到总记账数额。
71.本实施例中,记账处理服务器可以对同一个记账请求队列中多个记账请求各自的记账数额进行汇总,对记账数额进行汇总可以理解为是对记账数额按照对应的记账类型进行加减计算,从而得到总记账数额。
72.例如,记账请求h1中的记账数额是+20,而记账请求h2中的记账数额是-18,则总记账数额是2。
73.相应地,在一种实施方式中,每个记账处理服务器可以同时对多个记账请求队列中的记账请求进行汇总处理,即可以并行处理不同账户的多个记账请求。
74.步骤s503:按照所述总记账数额,对与自身对应的账户标识所表征的目标账户进行余额更新。
75.本实施例中,由于得到了总记账数额,如此,可以对总记账数额和目标账户中的余额进行加或减的计算,从而实现对余额的更新。这样,在更新目标账户的余额时,可以不用每次根据单条的记账请求更新一次余额,而只需根据多个记账请求的总记账数额,一次性更新余额,从而提高了记账速度。
76.采用本技术实施例提供的记账请求处理系统,一方面,由于记账路由服务器可以将同一个账户的多个记账请求路由至同一记账处理服务器,如此,实现了对用户发送至不同记账路由器的记账请求的汇总,进而,在记账处理服务器中,便可以对同一个账户的多个记账请求中的记账数额进行汇总后,再根据汇总后的总记账数额,对账户中的余额进行更新,因而避免根据每个记账请求都更新一次余额,可以应对一个账户具有大量交易的情况,从而极大地减少了账户余额更新的次数,提高了记账的效率,进而提高了记账的实时性。
77.另一方面,由于对用户发送至不同记账路由器的记账请求的汇总,使得在同一个记账处理服务器中对汇总的记账请求进行处理,相比于分散多个子账户,在多个子账户中进行分散记账的方式,用户在查询账户流水时,由于已经具有汇总多个记账请求中的记账数额的过程和余额更新的结果,则可以反馈汇总多个记账请求中的记账数额的过程和余额
更新的结果即可,从而提高了向用户反馈账户流水的效率。
78.下面,根据记账路由服务器和记账处理服务器各自在记账处理过程中所执行的功能,分别对记账路由服务器和记账处理服务器进行说明。
79.首先,对记账路由服务器在记账处理过程中所执行的功能说明如下:
80.在一种实施例中,每个记账路由服务器将记账请求路由至与该账户标识对应的记账处理服务器的过程可以是:在获得记账请求时,查询预存的索引列表,并在查询到与记账请求中携带的账户标识对应的记账处理服务器的情况下,将该记账请求分发至查询到的记账处理服务器。
81.本实施例中,每个记账路由服务器中可以预先存储一个索引列表,当然,不同的记账路由服务器中存储的索引列表可以是相同的。其中,索引列表中可以记录账户标识对应的记账处理服务器的标识,即本技术的索引列表主要用于查询接收到的记账请求所应路由至的记账处理服务器。
82.对每个记账路由服务器而言,在该记账路由服务器接收到该记账请求时,可以查询索引列表,在根据索引列表查询到存在与账户标识对应的记账处理服务器时,可以将该记账请求发送到记账处理服务器。
83.其中,对于每个记账路由服务器而言,在接收到不同账户的记账请求时,可以依据索引列表,将不同账户的记账请求分发到对应的记账处理服务器。
84.示例地,如图2所示,对于记账路由服务器1,其可以将a账户发送的记账请求分发至记账处理服务器1,将b账户发送的记账请求分发至记账处理服务器2。
85.在又一种实施例中,每个记账路由服务器还可以在未查询到与记账请求中携带的账户标识对应的记账处理服务器的情况下,将该记账请求分发至所述多个记账处理服务器中的特定记账处理服务器,以及,将该记账请求中携带的账户标识与所述特定记账处理服务器之间的对应关系添加至所述预存的索引列表中。
86.本实施例中,当根据索引列表查询到不存在与某个账户标识对应的记账处理服务器时,记账路由服务器可以根据多个记账处理服务器当前的负载,将负载最低的记账处理服务器作为特定记账处理服务器,之后,将账户标识对应的记账请求路由给特定记账处理服务器。
87.其中,一旦确定了将账户标识对应的记账请求路由给特定记账处理服务器时,便可以建立该特定记账处理服务器与该账户标识之间的对应关系,进而将该对应关系加入到索引列表中。这样,在该账户标识对应有新的记账请求时,便可以根据索引列表,将该新的记账请求路由到特定记账处理服务器中。
88.在一些实施例中,可以对索引列表中账户标识与记账处理服务器之间的对应关系进行动态更新,从而便于及时调整记账处理服务器要处理的账户。
89.其中,本实施例中每个记账路由服务器,可以将高频账户的记账请求路由至该账户标识对应的记账处理服务器,即,每个记账路由服务器可以对高频账户的记账请求执行路由处理,以便记账处理服务器对高频账户的多个记账请求进行汇总处理。
90.具体地,每个记账路由服务器,可以用于从各个账号标识中筛选出记账请求频次高于预设频次的账号标识;建立筛选出的各个账号标识分别与所述多个记账处理服务器之间的一一对应关系。
91.本实施例中,在索引列表中存储的可以是高频账户与记账处理服务器之间的对应关系,其中,频次可以反映账户标识对应的账户在单位时间内,例如1秒内发起记账请求的次数。
92.具体地,针对同一个账户标识的账户而言,可以统计单位时间内该账户标识的账户向多个记账路由服务器发送记账请求的总次数,进而得到该账户标识的账户发起记账请求的频次,从而将频次高于预设频次的账户标识筛选出加入到索引列表中,并建立筛选出的账户标识与记账处理服务器之间的对应关系。
93.其中,在建立索引列表中账号标识与多个记账处理服务器之间的一一对应关系时,对索引列表中的每个账户标识,可以根据多个记账处理服务器各自的平均负载,确定与该账户标识的频次对应的记账处理服务器。其中,频次越高,则可以对应平均负载越低的记账处理服务器,以实现对频次高的账户所发送的大量的记账请求的高效处理。其中,记账处理服务器的平均负载可以由历史过程中统计出的记账处理服务器的负载而确定。
94.采用本实施方式,记账路由服务器在接收到新的账户的记账请求时,可以根据该新的账户的账号标识,确定是否为高频账户,若是高频账户,可以将该新的账户的记账请求路由至对应的记账处理服务器,以此,通过记账处理服务器实现对高频账户的汇总处理。
95.接着,对记账处理服务器在记账处理过程中所执行的功能说明如下:
96.在一种实施例中,记账处理服务器可以用于对多个记账请求进行处理,以更新账户余额,具体的,记账处理服务器在对多个记账请求进行处理时,可以根据本地的记账请求队列中多个记账请求各自的记账类型,对所述多个记账请求进行排序,并按照所述多个记账请求各自的序号,依次生成所述多个记账请求各自对应的明细余额,并插入与自身对应的账户标识所表征的目标账户的账单中。
97.其中,记账类型为收入的记账请求均排在记账类型为支出的记账请求之前。
98.本实施例中,在更新账户余额时,可以根据多个记账请求的总记账数额更新该账户余额,这样使得记账效率得到极大提高。如此,在更新账户余额时或者在更新账户余额后,记账处理服务器也可以根据本地的记账请求队列中多个记账请求各自的记账类型,对所述多个记账请求进行排序,具体地,可以是记账类型为收入的记账请求排列在前,而记账类型为支出的记账请求排列在后,例如,有20条记账请求,其中有13条为收入的记账请求,则可以将13条为收入的记账请求排列在前,剩余7条为支出的记账请求排列在后。
99.在对各个记账请求进行排序后,可以对多个记账请求编号,即可以按照排序顺序进行编号,如此得到多个记账请求的序号。此时,可以生成各个记账请求对应的明细余额,即依次根据各个记账请求携带的记账数额和当前余额,生成明细余额,该明细余额可以反映每个记账请求与目标账户的余额发生交易的明细,在每个记账请求对应有明细余额时,可以将该明细余额插入到目标账户的账单中。
100.其中,目标账户的账单可以记录有目标账户在历史过程中发生的所有交易的明细余额。当然,插入各个记账请求的明细余额后的账单便可以称为流水账单,在查询流水时,便可以理解为是查询该目标账户的账单。
101.采用本实施方式时,由于在根据总记账数额更新目标账户的余额时,是一次性完成余额的更新,如此提高了余额更新效率。其中,为方便生成账单,则也会对各个记账请求生成明细余额,接着再将明细余额插入到目标账户的账单,如此,不仅提高了记账效率,也
可以保证账单的生成,且账户的生成可以延后进行,如此,在更新余额后便可以向用户反馈交易成功的信息,而账单的生成可以在后台进行处理。如此,并不影响用户的线上交易体验。
102.在一种实施例中,为响应用户的查询账户流水的需求,记账路由服务器可以根据流水查询请求中携带的账户标识,将流水查询请求路由至与该账户标识对应的记账处理服务器,接着,相应的记账处理服务器便可以响应于携带与自身对应的账户标识的流水查询请求,输出流水记录。
103.本实施例中,用户也有查询目标账户的流水的需求,因此,本技术的记账路由服务器作为面向用户的后台服务器,可以接收用户从前端发送的流水查询请求,接着,将该流水查询请求发送到记账处理服务器,从而记账处理器便可以响应于流水查询请求,查询账户的账单,从而输出流水记录。
104.在一种实施方式中,在输出流水记录时,可以根据流水查询请求中携带的时间段,查询时间段内的账单,从而输出流水记录。或者,可以直接查询预设时间段内的账单,输出流水记录。
105.其中,在输出流水记录时,记账处理服务器可以将流水记录返回给记账路由服务器,由记账路由服务器返回给用户。或者,为保护用户的隐私,也可以由记账处理服务器根据流水查询请求中的账户信息,直接将流水记录返回给用户。具体地,该流水查询请求中的账户信息可以是用户的手机号码信息或其他类型的通讯信息,如此,记账处理服务器在返回流水记录给用户时,可以以短信的形式返回流水记录,或者以邮件的形式返回流水记录。
106.在一种实施例中,为实现记账的实时性和效率,记账处理服务器一般是批量处理多个记账请求,如此,可以设置批量处理记账请求的最低数量,参照图4所示,示出了记账处理服务器批量处理多个记账请求的流程图,如图4所示,每个记账处理服务器可以通过以下方式处理路由至本地的多个记账请求:
107.检测本地的记账请求队列中记账请求的数量达到预设数量;在本地的记账请求队列中记账请求的数量达到所述预设数量时,提取预设数量的记账请求,以进行汇总;在本地的记账请求队列中记账请求的数量未达到所述预设数量时,等待预设时长。
108.在所述预设时长内,如果本地的记账请求队列中记账请求的数量达到所述预设数量,则提取预设数量的记账请求,以进行汇总;在所述预设时长内,如果本地的记账请求队列中记账请求的数量未达到所述预设数量,则提取所有的记账请求,以进行汇总。
109.本实施例中,每个记账处理服务器均可以接收到多个记账路由服务器所发送的属于同一账户的多个记账请求,这样,可以在每接收到一个记账请求时,可以将该记账请求存储到记账请求队列中。
110.其中,记账处理服务器可以在接收到某个记账路由服务器发送的记账请求时,开始检测记账请求队列中记账请求的数量,若一旦记账请求队列中的记账请求的数量达到预设数量,便可以对预设数量的记账请求进行汇总。其中。预设数量可以根据实际情况进行设置,例如,预设数量可以设置为20。
111.若记账请求队列中的记账请求的数量未达到预设数量,则可以等待预设时长,例如,等待1秒钟或者等待50ms等,再次确定记账请求队列中的记账请求的数量,若此时记账请求的数量仍未达到预设数量,则可以不再等待,提取所有的记账请求进行汇总。
112.采用此种实施方式时,可以既保证批量处理足够数量的记账请求,也可以保证记账请求数量不足时,对记账请求进行及时处理,以保证记账时效性。
113.相应地,在一些实施例中,每个记账处理服务器还可以在从本地的记账请求队列中提取记账请求之前,对所述目标账户进行加锁处理,以锁定该账户,避免对该账户进行交易。
114.当然,由于记账处理服务器是对目标账户的记账请求进行处理的,如此,在从高记账请求队列中提取记账请求之前,可以对目标账户进行加锁,即锁定目标账户,以禁止该目标账户在当前时刻的交易。
115.采用此种实施方式时,每个记账处理服务器可以保证大多数情况下都能批量处理足够数量的记账请求,提高记账效率。
116.在一种实施例中,示出了每个记账处理服务器根据记账请求的记账类型,对不同类型的记账请求进行处理的方式,具体地:
117.可以在所述总记账数额的类型为收入的情况下,确定余额更新成功,向所述多个记账请求的发送端返回对应的多个记账成功提示。
118.此种情况下,表征总记账数额是增加目标账户中的余额的情况,如此,不会发生透支的风险,继而可以确定余额更新成功,此种情况下,只要确定总记账数额的类型为收入,则可以向用户反馈余额更新成功的信息,即可以向发送端返回记账成功提示,以增强向用户反馈结果的时效性。
119.在所述总记账数额的类型为支出,且所述目标账户的当前余额不小于所述总记账数额的情况下,确定余额更新成功,生成所述多个记账请求对应的多个记账成功提示。
120.此种情况下,表征总记账数额是减少目标账户中的余额的情况,其中,目标账户的当前余额不小于总记账数额表示:目标账户的余额足以抵扣总记账数额,即扣除总记账数额后,不会发生透支的风险,此种情况也可以向发送端返回记账成功提示。
121.在所述总记账数额的类型为支出,且所述目标账户的当前余额小于所述总记账数额的情况下,确定余额更新失败,生成所述多个记账请求中记账类型为支出的记账请求对应的记账失败提示。
122.此种情况,表征总记账数额是减少目标账户中的余额且目标账户的当前余额不足以抵扣总记账数额,如果强行进行余额更新,会发生透支的风险,则一种实施方式是,记账处理服务器不执行余额更新,并向发送端反馈记账失败提示,以提示多个记账请求未被成功处理。
123.上述三种情况,均需要向发送端反馈记账成功提示或记账失败提示,其中,在反馈上述提示时,记账处理服务器可以沿着记账请求的原有路径进行反馈,即反馈给对应的记账路由服务器,由记账路由服务器反馈给发送端。当然,也可以如上述反馈流水记录相似的过程,由记账处理服务器以手机短信、邮箱等方式直接反馈给发送端。
124.其中,由于是直接根据总记账数额与余额之间的关系,确定出是否记账成功,如此可以提高向用户反馈记账情况的时效性。
125.相应地,在一种实施例中,在进行余额更新时,为避免总记账数额是支出类型,且额度大于账户的余额导致的透支的问题,每个记账处理服务器可以在所述总记账数额的类型为支出,且所述目标账户的当前余额小于所述总记账数额的情况下,对所述多个记账请
求中记账数额为收入的各个记账请求各自的记账数额进行汇总,得到总收入数额;
126.并按照所述总收入数额,对与自身对应的账户标识所表征的目标账户进行余额更新,生成所述多个记账请求中记账类型为收入的记账请求对应的记账成功提示。
127.采用本实施方式时,在总记账数额是减少目标账户中的余额且目标账户的当前余额不足以抵扣总记账数额时,为增加记账效率,可以对多个记账请求中记账数额为收入类型的记账请求进行处理,即对多个记账请求中记账数额为收入的各个记账请求各自的记账数额进行汇总,得到总收入数额,之后,根据总收入数额和目标账户的余额,对目标账户的余额进行更新。在更新后,可以向记账数额为收入类型的记账请求的发送端反馈记账成功提示。而对于记账数额为支出类型的记账请求的发送端反馈记账失败提示,即不对记账数额为支出类型的记账请求进行处理。
128.采用本技术实施例的记账请求处理系统,具有以下优点:
129.一、提高记账效率和记账实时性。
130.本实施例中,记账路由服务器可以将记账请求路由至与该账户标识对应的记账处理服务器,如此,不同的记账路由服务器可以将同一个账户的记账请求路由至同一记账处理服务器,如此,实现了对用户发送至不同记账路由器的记账请求的汇总,进而,在记账处理服务器中,便可以对同一个账户的多个记账请求中的记账数额进行汇总后,再根据汇总后的总记账数额,对账户中的余额进行更新,因而避免根据每个记账请求都更新一次余额,可以应对一个账户具有大量交易的情况,从而极大地减少了账户余额更新的次数,提高了记账的效率,并且,可以更加迅速地反馈给用户记账结果,进而提高了记账的实时性。
131.二、提高向用户反馈流水记录的效率。
132.由于对用户发送至不同记账路由器的记账请求的汇总,使得在同一个记账处理服务器中对汇总的记账请求进行处理,相比于分散多个子账户,在多个子账户中进行分散记账的方式,用户在查询账户流水时,由于已经具有汇总多个记账请求中的记账数额的过程和余额更新的结果,则可以反馈汇总多个记账请求中的记账数额的过程和余额更新的结果即可,从而提高了向用户反馈账户流水的效率。
133.三、提高记账的准确性,避免账户透支的风险。
134.一方面,由于每个记账处理服务器可以在从本地的记账请求队列中提取记账请求之前,对目标账户进行加锁处理,以锁定该账户,避免对该账户进行交易,如此避免了记账期间对目标账户的其他交易进行处理导致的记账不准确的问题。另一方面,总记账数额是减少目标账户中的余额且目标账户的当前余额不足以抵扣总记账数额的情况下,记账处理服务器不执行余额更新,并向发送端反馈记账失败提示,如此,可以避免对目标账户进行处理所导致的透支风险。
135.基于与上述实施例同一发明构思,本公开实施例的第二方面,提供了一种记账请求处理方法,参照图5所示,示出了记账请求处理方法的步骤流程图,具体可以包括以下步骤:
136.步骤s501:根据记账请求中携带的账户标识,将记账请求路由至与该账户标识对应的记账处理服务器。
137.步骤s502:对路由至所述记账处理服务器中的多个记账请求,存储到所述记账处理服务器的记账请求队列中。
138.步骤s503:对所述记账请求队列中多个记账请求各自的记账数额进行汇总,得到总记账数额。
139.步骤s504:按照所述总记账数额,对与自身对应的账户标识所表征的目标账户进行余额更新。
140.可选地,在根据记账请求中携带的账户标识,将记账请求路由至与该账户标识对应的记账处理服务器时,可以在获得记账请求时,查询预存的索引列表;在查询到与记账请求中携带的账户标识对应的记账处理服务器的情况下,将该记账请求分发至查询到的记账处理服务器。
141.可选地,所述方法还包括:在未查询到与记账请求中携带的账户标识对应的记账处理服务器的情况下,将该记账请求分发至所述多个记账处理服务器中的特定记账处理服务器,以及,将该记账请求中携带的账户标识与所述特定记账处理服务器之间的对应关系添加至所述预存的索引列表中。
142.可选地,所述方法还包括:
143.从各个账号标识中筛选出记账请求频次高于预设频次的账号标识;
144.建立筛选出的各个账号标识分别与所述多个记账处理服务器之间的一一对应关系。
145.可选地,所述方法还包括:
146.根据流水查询请求中携带的账户标识,将流水查询请求路由至与该账户标识对应的记账处理服务器,以使所述记账处理服务器响应于携带与自身对应的账户标识的流水查询请求,输出流水记录。
147.可选地,所述方法还包括:
148.根据本地的记账请求队列中多个记账请求各自的记账类型,对所述多个记账请求进行排序,其中,记账类型为收入的记账请求均排在记账类型为支出的记账请求之前;
149.按照所述多个记账请求各自的序号,依次生成所述多个记账请求各自对应的明细余额,并插入与自身对应的账户标识所表征的目标账户的账单中。
150.可选地,在对所述记账请求队列中多个记账请求各自的记账数额进行汇总时,可以检测本地的记账请求队列中记账请求的数量达到预设数量;
151.在本地的记账请求队列中记账请求的数量达到所述预设数量时,提取预设数量的记账请求,以进行汇总;
152.在本地的记账请求队列中记账请求的数量未达到所述预设数量时,等待预设时长;
153.在所述预设时长内,如果本地的记账请求队列中记账请求的数量达到所述预设数量,则提取预设数量的记账请求,以进行汇总;
154.在所述预设时长内,如果本地的记账请求队列中记账请求的数量未达到所述预设数量,则提取所有的记账请求,以进行汇总。
155.可选地,所述方法还包括:
156.在从本地的记账请求队列中提取记账请求之前,对所述目标账户进行加锁处理。
157.可选地,在按照所述总记账数额,对与自身对应的账户标识所表征的目标账户进行余额更新时,可以在所述总记账数额的类型为收入的情况下,确定余额更新成功,向所述
多个记账请求的发送端返回对应的多个记账成功提示;
158.在所述总记账数额的类型为支出,且所述目标账户的当前余额不小于所述总记账数额的情况下,确定余额更新成功,生成所述多个记账请求对应的多个记账成功提示;
159.在所述总记账数额的类型为支出,且所述目标账户的当前余额小于所述总记账数额的情况下,确定余额更新失败,生成所述多个记账请求中记账类型为支出的记账请求对应的记账失败提示。
160.可选地,所述方法还包括:
161.在所述总记账数额的类型为支出,且所述目标账户的当前余额小于所述总记账数额的情况下,对所述多个记账请求中记账数额为收入的各个记账请求各自的记账数额进行汇总,得到总收入数额;
162.按照所述总收入数额,对与自身对应的账户标识所表征的目标账户进行余额更新,生成所述多个记账请求中记账类型为收入的记账请求对应的记账成功提示。
163.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
164.本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
165.本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
166.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
167.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
168.尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
169.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作
之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
170.以上对本发明所提供的一种记账请求处理系统以及方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1