本发明涉及数据处理,尤其是涉及一种电子账单合并记账方法、装置、设备和介质。
背景技术:
1、随着电动汽车行业的不断发展,用户对充电需求逐渐增加。由于用户对充电时间的选择受工作时间以及充电费用等因素的影响,因此,容易在一定时间段内出现大量充电账单提交的情况。
2、现阶段,数据库对于充电账单的记账处理方式为逐一订单进行处理,因此,在短时间内接收到大量充电账单时,处理效率低下,容易出现处理过程阻塞的情况。
技术实现思路
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、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种电子账单合并记账方法,其特征在于,应用于服务器,包括:
2.根据权利要求1所述的方法,其特征在于,在依次获取至少一个待处理电子账单组的账户锁信息之前,还包括:
3.根据权利要求2所述的方法,其特征在于,在获取至少一个待处理电子账单的账单信息之后,还包括:
4.根据权利要求1所述的方法,其特征在于,所述在所述账户锁信息获取成功的情况之前,还包括:
5.根据权利要求4所述的方法,其特征在于,所述将对应的待处理电子账单组中各待处理电子账单的账单信息记录在数据库中,包括:
6.根据权利要求4所述的方法,其特征在于,所述在所述账户锁信息获取失败的情况下,获取账户锁状态之后,还包括:
7.一种电子账单合并记账装置,其特征在于,应用于服务器,包括:
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的电子账单合并记账方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现权利要求1至6任一项所述的电子账单合并记账方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的电子账单合并记账方法。