CN115131080A - 票据业务处理方法、服务器、计算机设备和存储介质 - Google Patents
票据业务处理方法、服务器、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115131080A CN115131080A CN202211052213.XA CN202211052213A CN115131080A CN 115131080 A CN115131080 A CN 115131080A CN 202211052213 A CN202211052213 A CN 202211052213A CN 115131080 A CN115131080 A CN 115131080A
- Authority
- CN
- China
- Prior art keywords
- value
- resource
- user identifier
- processing
- service request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 167
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000001914 filtration Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
Landscapes
- Business, Economics & Management (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种票据业务处理方法、服务器、计算机设备和存储介质,所述方法包括:获取用户终端发送的携带有用户标识的票据业务请求,用于请求服务器对目标业务进行处理;读取内存数据库中用户标识对应的可用资源的值为第一资源值;在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中所述用户标识对应的可用资源更新为第二资源值;并对目标业务进行处理;在处理结果为成功时,将硬盘数据库中用户标识对应的可用资源的值更新为第二资源值;在理结果为失败时,将内存数据库中所述用户标识对应的可用资源更新为第一资源值。采用该方法提高了处理票据业务的效率,缩短了处理周期。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种票据业务处理方法、服务器、计算机设备和存储介质。
背景技术
随着通信技术的发展,用户可以向服务商发送查验发票、开具发票、查验汇票等票据业务请求。为了方便收费,服务商提供了预付费的资源包,客户先购买资源包,当客户请求服务时,服务商从客户的余额中扣除服务费。
目前,扣费和服务商提供服务的步骤是串行进行的,扣费完成(即:将扣费后的余额写入硬盘数据库)才提供相应的服务,耗时长,效率低。在高并发请求时,服务商写操作的压力比较大,容易出现流量拥堵,甚至出现锁表锁库的情形,导致服务不可用。
因此,如何提高处理票据业务的效率是亟需解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高处理票据业务效率的票据业务处理方法、服务器、计算机设备和存储介质。
第一方面,本申请提供了一种票据业务处理方法,用于服务器,所述方法包括:
获取用户终端发送的携带有用户标识的票据业务请求,所述票据业务请求用于请求所述服务器对目标业务进行处理;
读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值;
在所述第一资源值大于或等于所述目标业务被处理所需的消耗资源值时,从所述第一资源值中减去所述消耗资源值得到第二资源值,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;并对所述目标业务进行处理;
在对所述目标业务进行处理的处理结果为成功时,根据所述第二资源值将硬盘数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;
在对所述目标业务进行处理的处理结果为失败时,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第一资源值。
在其中一个实施例中,在所述对所述目标业务进行处理之后,所述方法还包括:
将对所述目标业务进行处理后的处理结果存入消息队列,所述处理结果包括:成功或失败;
从所述消息队列中读取所述处理结果。
在其中一个实施例中,在所述获取用户终端发送的携带有用户标识的票据业务请求之后,所述方法还包括:
确定是否接收到过相同的所述票据业务请求;
若是,则结束处理本次所述票据业务请求;
若否,则执行所述读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值。
在其中一个实施例中,在所述内存数据库中存储了所述服务器的所有用户的用户标识和可用资源的值。
在其中一个实施例中,在所述获取用户终端发送的携带有用户标识的票据业务请求之后,所述方法还包括:
读取所述硬盘数据库中存储的所述用户标识对应的可用资源的值,并将所述用户标识和与所述用户标识对应的可用资源的值存储到所述内存数据库中。
在其中一个实施例中,响应于任一用户标识对应的资源需求订单,将所述用户标识和可用资源的值保存到所述内存数据库中。
在其中一个实施例中,所述方法还包括:
在所述第一资源值小于所述消耗资源值时,向所述用户终端发送提示消息,所述提示消息用于表示所述用户标识对应的可用资源不足;
在获取多个用户终端发送的携带有用户标识的票据业务请求时,响应任一票据业务请求,在满足预设条件之后,响应所述任一票据业务请求的下一条票据业务请求;
所述预设条件包括以下任一项:
在内存数据库中,将所述任一票据业务请求中用户标识所对应的可用资源的值更新为减去所述任一票据业务请求对应的目标业务被处理所需的消耗资源值;
或者,向发送所述任一票据业务请求的用户终端返回提示消息,所述提示消息用于表示所述任一票据业务请求对应的用户标识对应的可用资源不足。
第二方面,本申请还提供了一种服务器,所述服务器包括:通信模块、读取模块、第一处理模块、第二处理模块、内存数据库和硬盘数据库;其中,
所述通信模块,用于获取用户终端发送的携带有用户标识的票据业务请求,所述票据业务请求用于请求所述服务器对目标业务进行处理;
所述读取模块,用于读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值;
所述第一处理模块,用于在所述第一资源值大于或等于所述目标业务被处理所需的消耗资源值时,从所述第一资源值中减去所述消耗资源值得到第二资源值,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;并对所述目标业务进行处理;
所述第二处理模块,用于在所述目标业务的处理结果为成功时,根据所述第二资源值将硬盘数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;以及在所述目标业务的处理结果为失败时,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第一资源值。
第三方面,本申请还提供了一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取用户终端发送的携带有用户标识的票据业务请求,所述票据业务请求用于请求所述服务器对目标业务进行处理;
读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值;
在所述第一资源值大于或等于所述目标业务被处理所需的消耗资源值时,从所述第一资源值中减去所述消耗资源值得到第二资源值,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;并对所述目标业务进行处理;
在对所述目标业务进行处理的处理结果为成功时,根据所述第二资源值将硬盘数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;
在对所述目标业务进行处理的处理结果为失败时,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第一资源值。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序所述计算机程序被处理器执行时实现以下步骤。
获取用户终端发送的携带有用户标识的票据业务请求,所述票据业务请求用于请求所述服务器对目标业务进行处理;
读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值;
在所述第一资源值大于或等于所述目标业务被处理所需的消耗资源值时,从所述第一资源值中减去所述消耗资源值得到第二资源值,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;并对所述目标业务进行处理;
在对所述目标业务进行处理的处理结果为成功时,根据所述第二资源值将硬盘数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;
在对所述目标业务进行处理的处理结果为失败时,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第一资源值。
上述票据业务处理方法、服务器、计算机设备和存储介质,对票据业务进行处理时,根据内存数据库中存储的用户标识对应的可用资源的值,确定可用资源的值是否足以支付处理目标业务所需的消耗资源值,在可用资源的值足以支付消耗资源值时,将内存数据库中该用户的可用资源的值更新为减去消耗资源值后的值,然后对目标业务进行处理。由于对内存数据库的写操作比对硬盘数据库的写操作快,相对于现有技术先完成对硬盘数据库的写操作才对目标业务进行处理的方法来说,本申请实施例提供的技术方案对目标业务进行处理的时间节点提前了,提高了处理票据业务的效率,缩短了处理周期。
附图说明
图1为一个实施例中票据业务处理方法的应用环境图;
图2为一个实施例中票据业务处理方法的流程示意图;
图3为另一个实施例中票据业务处理方法的流程示意图;
图4为另一个实施例中票据业务处理方法的流程示意图;
图5为一个实施例中服务器的结构示意图;
图6为另一个实施例中服务器的结构示意图;
图7为另一个实施例中服务器的结构示意图;
图8为图7所示服务器中各模块之间的交互流程示意图;
图9为一个实施例中计算机设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的票据业务处理方法,可以应用于如图1所示的应用环境中。其中,用户100使用用户终端101通过网络向服务器102发送票据业务请求。用户终端101可以是台式机、平板电脑、智能手机等终端设备,用户100为了获取服务器102提供的票据业务的服务可以预先购买资源包,预先购买的资源包是用户可用资源的初始值,可以理解的,如果用户100购买了多个资源包,可用资源的值是多个资源包的累加值。服务器102处理用户终端101发送的业务请求时,会从用户100对应的可用资源值中减去服务器102处理票据请求所需消耗的资源值。举例来说,服务器102获取用户终端101发送的携带有用户标识的票据业务请求,票据业务请求用于请求服务器102对目标业务进行处理,本实施例对目标业务的具体业务内容不做限定,可以是发票查验、开具发票或者汇票查验等业务。服务器102读取内存数据库中用户100对应的可用资源的值为第一资源值,在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中用户100对应的可用资源的值更新为第二资源值;并对目标业务进行处理;在服务器102对目标业务进行处理的处理结果为成功时,根据第二资源值将硬盘数据库中用户100对应的可用资源的值更新为第二资源值;在服务器102对目标业务进行处理的处理结果为失败时,将内存数据库中用户100对应的可用资源的值更新为第一资源值。该实施例中在用户100的可用资源的值足以支付目标业务被处理所需的消耗资源值时,服务器102对请求的票据业务进行处理,不用等到将减去消耗资源值后的可用资源的值写到硬盘数据库才对请求的票据业务进行处理,提高了票据业务的处理效率。
在一实施例中,如图2所示,提供了一种票据业务处理方法,以该方法应用于图1中的服务器102为例进行说明,包括以下步骤。
201.获取用户终端发送的携带有用户标识的票据业务请求,票据业务请求用于请求服务器对目标业务进行处理。
其中,用户标识是用于唯一标识用户身份。用户标识可以是用户身份证号码、通信号码、即时通讯账号或用户在服务器上注册的账号等。票据可以是表征资源交付的凭证或用于兑换资源的凭证。票据可为电子票据或纸质票据。例如票据可以为发票或汇票等。目标业务可以是发票查验、开具发票或者汇票查验等业务,这里不做限定。
202.读取内存数据库中存储的该用户标识对应的可用资源的值为第一资源值。
内存数据库中可以存储服务器的所有用户的用户标识和每个用户的可用资源的值。资源可以是能够在互联网进行流通的资源。资源可以包括但不限于账户数值、虚拟货币等。
在一些可能的实施方式中,服务器的处理器可以在获取用户终端发送的携带有用户标识的票据业务请求之后,从硬盘数据库中读取用户标识对应的可用资源的值,并将用户标识和用户标识对应的可用资源的值存储到内存数据库中。
在另一些可能的实施方式中,用户购买资源包之后,响应用户购买资源需求订单,可以将用户的信息保存到硬盘数据库的同时将用户的用户标识和可用资源的值保存到内存数据库中。需要说明的是,硬盘数据库中除了存储用户的用户标识和可用资源的值以外,还可以存储用户的购买时间、购买的资源包的总额等更详细的信息。当服务器接收到票据业务请求时,根据内存数据库中存储的用户的可用资源的值确定可用资源是否足以支付处理目标业务所需的资源,由于不用从硬盘数据库中读取相关信息,所以提高了处理效率。
需要说明的是,用户的可用资源的值可以表示用户账户里剩余的具体金额,也可以表示该用户还可以获取的服务总量、或者表示该用户还可以获取的服务的次数等。
203.在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中该用户标识对应的可用资源的值更新为第二资源值;并对目标业务进行处理。
举例来说,若用户账户中的余额为8元,目标业务为发票查验业务,请求服务器查验一张发票的真假,服务器对一张发票进行查验的费用若为1元,则余额足以支付处理目标业务所需的费用,则将内存数据库中用户的余额更新为7元,然后服务器对请求查验的发票的真假进行查验。
在一些可能的实施方式中,在第一资源值小于消耗资源值时,向用户终端发送提示消息,提示消息用于表示用户标识对应的可用资源不足。
204.在对目标业务进行处理的处理结果为成功时,根据第二资源值将硬盘数据库中该用户标识对应的可用资源的值更新为第二资源值;在对目标业务进行处理的处理结果为失败时,将内存数据库中该用户标识对应的可用资源的值更新为第一资源值。
在一些可能的实施方式中,根据第二资源值将硬盘数据库中该用户标识对应的可用资源的值更新为第二资源值,可以采用如下方式实现:在硬盘数据库中查找存储该用户标识对应的可用资源的值的区域或位置,然后将该位置或区域中的可用资源的值更新为第二资源值。
以步骤203中所举示例来说,服务器经过查验若得出发票是真的或者得出发票是假的结论都属于处理结果成功,则将内存中该用户的余额7元同步到硬盘数据库中。若发票有残缺或者有污渍导致无法得出发票是真或假的结论,则属于处理结果失败,则不扣费,将内存数据库中该用户的余额恢复为8元。处理结果失败这种情况对硬盘数据库中该用户的余额不做处理。
上述票据业务处理方法中,对票据业务进行处理时,根据内存数据库中存储的用户标识对应的可用资源的值,确定可用资源的值是否足以支付目标业务所需的消耗资源值,在可用资源的值足以支付消耗资源值时,将内存数据库中该用户的可用资源的值更新为减去消耗资源值后的值,然后对目标业务进行处理。由于对内存数据库的写操作比对硬盘数据库的写操作快,相对于现有技术中完成对硬盘数据库的写操作才对目标业务进行处理的处理方式来说,本申请实施例提供的技术方案对目标业务进行处理的时间节点提前了,提高了处理请求的票据业务的效率,缩短了处理周期。
在一个实施例中,票据业务处理方法的流程如图3所示,以该方法应用于图1中的服务器102为例进行说明,包括以下步骤。
301.获取用户终端发送的携带有用户标识的票据业务请求,票据业务请求用于请求服务器对目标业务进行处理。
302.读取内存数据库中存储的该用户标识对应的可用资源的值为第一资源值。
303.在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中该用户标识对应的可用资源的值更新为第二资源值;并对目标业务进行处理。
304.将对目标业务进行处理后的处理结果存入消息队列,处理结果包括:成功或失败。
305.从消息队列中读取处理结果。
306.在对目标业务进行处理的处理结果为成功时,根据第二资源值将硬盘数据库中该用户标识对应的可用资源的值更新为第二资源值;在对目标业务进行处理的处理结果为失败时,将内存数据库中该用户标识对应的可用资源的值更新为第一资源值。
需要说明的是,步骤301至步骤303与图2中的步骤201至步骤203相同,步骤306与图2中的步骤204相同,相同的部分参见前面对图2中相关步骤的描述,为了简洁,这里不再赘述。
该实施例采用消息队列存储处理结果,方便根据处理结果更新内存数据库中用户的可用资源值或者将内存数据库中用户的可用资源值同步到硬盘数据库中。
在一个实施例中,票据业务处理方法的流程如图4所示,以该方法应用于图1中的服务器102为例进行说明,包括以下步骤。
401.获取用户终端发送的携带有用户标识的票据业务请求,票据业务请求用于请求服务器对目标业务进行处理。
402.判断是否接收到过相同的票据业务请求,若是,则执行步骤403,若否,则执行步骤404。
403.结束处理本次发票业务请求。
404.读取内存数据库中存储的该用户标识对应的可用资源的值为第一资源值。
405.在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中该用户标识对应的可用资源的值更新为第二资源值;并对目标业务进行处理。
406.将对目标业务进行处理后的处理结果存入消息队列,处理结果包括:成功或失败。
407.从消息队列中读取处理结果。
408.在对目标业务进行处理的处理结果为成功时,根据第二资源值将硬盘数据库中该用户标识对应的可用资源的值更新为第二资源值;在对目标业务进行处理的处理结果为失败时,将内存数据库中该用户标识对应的可用资源的值更新为第一资源值。
需要说明的是,步骤401与图3中的步骤301相同,步骤404至步骤408与图3中的步骤302至步骤306相同,相同的部分参见前面对相关步骤的描述,为了简洁,这里不再赘述。
在网络出现拥堵等异常情况时,可能会出现重复发送相同的票据业务请求的情况,该实施方式可以对这种情况进行处理,当确定已接收到过相同的票据业务请求时,则结束处理本次票据业务请求,避免重复操作导致浪费资源和计费出错。
在一些可能的实施方式中,在获取多个用户终端发送的携带有用户标识的票据业务请求时,响应任一票据业务请求,在满足预设条件之后,响应任一票据业务请求的下一条票据业务请求。预设条件包括以下任一项:在内存数据库中,将任一票据业务请求中用户标识所对应的可用资源的值更新为减去任一票据业务请求对应的目标业务被处理所需的消耗资源值;或者,向发送任一票据业务请求的用户终端返回提示消息,提示消息用于表示任一票据业务请求对应的用户标识对应的可用资源不足。对任一票据业务请求的处理参见前面任一方法实施例中的描述,这里不再赘述。
处理多个票据业务请求时,在满足预设条件后,响应任一票据业务请求的下一条业务请求,相对于现有技术中处理完一条票据业务请求才处理下一条票据业务请求来说,采用该实施方式提高了多个票据业务请求的处理效率。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的票据业务处理方法的服务器。该服务器所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的服务器实施例中的具体限定可以参见上文中对于票据业务处理方法的限定,在此不再赘述。
在一实施例中,如图5所示,提供了一种服务器的结构示意图。服务器包括:通信模块、读取模块、第一处理模块、第二处理模块、内存数据库和硬盘数据库。其中,通信模块,用于获取用户终端发送的携带有用户标识的票据业务请求,票据业务请求用于请求服务器对目标业务进行处理;读取模块,用于读取内存数据库中存储的用户标识对应的可用资源的值为第一资源值;第一处理模块,用于在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中该用户标识对应的可用资源的值更新为第二资源值;并对目标业务进行处理;第二处理模块,用于在目标业务的处理结果为成功时,根据第二资源值将硬盘数据库中用户标识对应的可用资源的值更新为第二资源值;以及在目标业务的处理结果为失败时,将内存数据库中用户标识对应的可用资源的值更新为第一资源值。
内存数据库中可以存储服务器的所有用户的用户标识和每个用户的可用资源的值。
在一些可能的实施方式中,在通信模块获取用户终端发送的携带有用户标识的票据业务请求之后,第一处理模块可以从硬盘数据库中读取用户标识对应的可用资源的值,并将用户标识和用户标识对应的可用资源的值存储到内存数据库中。
在另一些可能的实施方式中,用户购买资源包后,响应用户购买资源需求订单,第一处理模块可以将用户的信息保存到硬盘数据库的同时将用户的用户标识和可用资源的值保存到内存数据库中。需要说明的是,硬盘数据库中除了存储用户的用户标识和可用资源的值以外,还可以存储用户的购买时间、购买的资源包的总额等更详细的信息。当服务器接收到票据业务请求时,根据内存数据库中存储的用户的可用资源的值确定可用资源是否足以支付处理目标业务所需的资源,由于不用从硬盘数据库中读取相关信息,所以提高了处理效率。
需要说明的是,用户的可用资源的值可以表示用户账户里剩余的具体金额,也可以表示该用户还可以获取的服务总量、或者表示该用户还可以获取的服务的次数等。
上述服务器对票据业务进行处理时,第一处理模块根据内存数据库中存储的用户标识对应的可用资源的值,确定可用资源的值是否足以支付处理目标业务所需的消耗资源值,在可用资源的值足以支付消耗资源值时,将内存数据库中该用户的可用资源的值更新为减去消耗资源值后的值,然后对目标业务进行处理。由于对内存数据库的写操作比对硬盘数据库的写操作快,相对于现有技术先完成对硬盘数据库的写操作才对请求的票据业务进行处理的处理方式来说,本申请实施例提供的技术方案对目标业务进行处理的时间节点提前了,提高了处理票据业务的效率,缩短了处理周期。
在一实施例中,如图6所示,提供了一种服务器的结构示意图。与图5所示实施例的区别在于还包括消息队列模块,消息队列模块用于将第一处理模块对目标业务进行处理后的处理结果存入消息队列,所述处理结果包括:成功或失败;第二处理模块还用于从消息队列模块中读取处理结果。
该实施方式消息队列模块利用消息队列存储处理结果,方便第二处理模块从消息队列中获取处理结果,并根据处理结果更新内存数据库中用户的可用资源的值或者将内存数据库中用户的可用资源的值同步到硬盘数据库中。
在一实施例中,如图7所示,提供了一种服务器的结构示意图。与图6所示实施例的区别在于还包括过滤模块,过滤模块用于确定是否接收到过相同的所述票据业务请求,若是,则结束处理本次票据业务请求;若否,则第一处理模块执行对该票据业务请求进行处理。
在网络出现拥堵等异常情况时,可能会出现重复发送相同的业务请求的情况,该实施方式可以对这种情况进行处理,当确定已接收到过相同的发票业务请求时,则结束处理本次发票业务请求,避免重复操作导致浪费资源和计费出错。
在一些可能的实施方式中,通信模块在获取多个用户终端发送的携带有用户标识的票据业务请求时,第一处理模块在响应任一票据业务请求并且预设条件满足时,响应该任一票据业务请求的下一条票据业务请求。预设条件包括以下任一项:在内存数据库中,将任一票据业务请求中用户标识所对应的可用资源的值更新为减去任一票据业务请求对应的目标业务被处理所需的消耗资源值;或者,向发送任一票据业务请求的用户终端返回提示消息,提示消息用于表示任一票据业务请求对应的用户标识对应的可用资源不足。对任一票据业务请求的处理参见前面任一服务器实施例中的描述,这里不再赘述。
服务器在处理多个票据业务请求时,在满足预设条件后,第一处理模块响应任一票据业务请求的下一条业务请求,相对于现有技术中处理完一条票据业务请求才处理下一条票据业务请求来说,采用该实施方式提高了服务器处理多个票据业务请求的处理效率。
在一实施例中,以用户甲使用用户终端向服务器发送开发票的票据业务请求、用户甲的可用资源的值为用户甲的账户里的余额为例进行描述,如图8所示,服务器对该票据业务请求进行处理的过程包括如下步骤,服务器中的通信模块获取用户甲通过用户终端(比如台式机)发送的开发票请求,过滤模块判断之前是否收到过相同的开发票请求,若是,则结束处理本次开发票业务请求;若否,则第一处理模块中的计费处理模块读取内存数据库中存储的用户甲的账户对应的余额,确定余额是否足以支付开发票所需的费用;在余额足以支付开发票所需的费用时,根据扣费策略进行扣费计算,将内存数据库中用户甲的余额更新为扣除处理费后的值。然后第一处理模块中的业务处理模块对开发票请求进行处理,并将处理结果返回给用户。以及将处理结果保存到消息队列中,第二处理模块从消息队列中读取处理结果,若处理结果是已完成开发票,则执行步骤A1和步骤A2。
A1.第二处理模块从内存数据库中读取用户甲的余额。
A2.同步余额到硬盘数据库中。若处理结果是未完成开发票,则对内存数据库中用户甲的余额撤回扣费,用撤回扣费后的值更新内存数据库中用户甲的余额。
该实施例提供的技术方案对开具发票的业务请求进行处理的时间节点相对于现有技术提前了,提高了处理效率,缩短了处理周期。
上述服务器中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括内存数据库和硬盘数据库。该计算机设备的存储器用于存储票据业务处理方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该处理器执行计算机程序时实现以下步骤:获取用户终端发送的携带有用户标识的票据业务请求,票据业务请求用于请求该计算机设备对目标业务进行处理;读取内存数据库中存储的该用户标识对应的可用资源的值为第一资源值;在第一资源值大于或等于目标业务被处理所需的消耗资源值时,从第一资源值中减去消耗资源值得到第二资源值,将内存数据库中用户标识对应的可用资源的值更新为第二资源值;并对目标业务进行处理;在对目标业务进行处理的处理结果为成功时,根据第二资源值将硬盘数据库中用户标识对应的可用资源的值更新为第二资源值;在对目标业务进行处理的处理结果为失败时,将内存数据库中该用户标识对应的可用资源的值更新为所述第一资源值。
在一个实施例中,在对所述目标业务进行处理之后,处理器执行计算机程序时还实现以下步骤:将对目标业务进行处理后的处理结果存入消息队列,处理结果包括:成功或失败;从消息队列中读取处理结果。
在一个实施例中,服务器的处理器在获取用户终端发送的携带有用户标识的票据业务请求之后,处理器执行计算机程序时还实现以下步骤:确定是否接收到过相同的票据业务请求;若是,则结束处理本次票据业务请求;若否,则执行读取内存数据库中存储的该用户标识对应的可用资源的值为第一资源值。
在一个实施例中,在内存数据库中存储了服务器的所有用户的用户标识和可用资源的值。
在一个实施例中,服务器的处理器在获取用户终端发送的携带有用户标识的票据业务请求之后,处理器执行计算机程序时还实现以下步骤:读取硬盘数据库中存储的该用户标识对应的可用资源的值,并将该用户标识和与该用户标识对应的可用资源的值存储到内存数据库中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤: 响应于任一用户标识对应的资源需求订单,将所述用户标识和可用资源的值保存到内存数据库中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤: 在第一资源值小于消耗资源值时,向用户终端发送提示消息,提示消息用于表示该用户标识对应的可用资源不足;在获取多个用户终端发送的携带有用户标识的票据业务请求时,响应任一票据业务请求,在满足预设条件之后,响应该任一票据业务请求的下一条票据业务请求;预设条件包括以下任一项:在内存数据库中,将该任一票据业务请求中用户标识所对应的可用资源的值更新为减去该任一票据业务请求对应的目标业务被处理所需的消耗资源值;或者,向发送该任一票据业务请求的用户终端返回提示消息,提示消息用于表示该任一票据业务请求对应的用户标识对应的可用资源不足。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,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 RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种票据业务处理方法,其特征在于,用于服务器,所述方法包括:
获取用户终端发送的携带有用户标识的票据业务请求,所述票据业务请求用于请求所述服务器对目标业务进行处理;
读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值;
在所述第一资源值大于或等于所述目标业务被处理所需的消耗资源值时,从所述第一资源值中减去所述消耗资源值得到第二资源值,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;并对所述目标业务进行处理;
在对所述目标业务进行处理的处理结果为成功时,根据所述第二资源值将硬盘数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;
在对所述目标业务进行处理的处理结果为失败时,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第一资源值。
2.根据权利要求1所述的方法,其特征在于,在所述对所述目标业务进行处理之后,所述方法还包括:
将对所述目标业务进行处理后的处理结果存入消息队列,所述处理结果包括:成功或失败;
从所述消息队列中读取所述处理结果。
3.根据权利要求1所述的方法,其特征在于,在所述获取用户终端发送的携带有用户标识的票据业务请求之后,所述方法还包括:
确定是否接收到过相同的所述票据业务请求;
若是,则结束处理本次所述票据业务请求;
若否,则执行所述读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值。
4.根据权利要求1所述的方法,其特征在于,
在所述内存数据库中存储了所述服务器的所有用户的用户标识和可用资源的值。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述获取用户终端发送的携带有用户标识的票据业务请求之后,所述方法还包括:
读取所述硬盘数据库中存储的所述用户标识对应的可用资源的值,并将所述用户标识和与所述用户标识对应的可用资源的值存储到所述内存数据库中。
6.根据权利要求1至4任一项所述的方法,其特征在于,
响应于任一用户标识对应的资源需求订单,将所述用户标识和可用资源的值保存到所述内存数据库中。
7.根据权利要求1至4任一项所述的方法,其特征在于, 所述方法还包括:
在所述第一资源值小于所述消耗资源值时,向所述用户终端发送提示消息,所述提示消息用于表示所述用户标识对应的可用资源不足;
在获取多个用户终端发送的携带有用户标识的票据业务请求时,响应任一票据业务请求,在满足预设条件之后,响应所述任一票据业务请求的下一条票据业务请求;
所述预设条件包括以下任一项:
在内存数据库中,将所述任一票据业务请求中用户标识所对应的可用资源的值更新为减去所述任一票据业务请求对应的目标业务被处理所需的消耗资源值;
或者,向发送所述任一票据业务请求的用户终端返回提示消息,所述提示消息用于表示所述任一票据业务请求对应的用户标识对应的可用资源不足。
8.一种服务器,其特征在于,所述服务器包括:通信模块、读取模块、第一处理模块、第二处理模块、内存数据库和硬盘数据库;其中,
所述通信模块,用于获取用户终端发送的携带有用户标识的票据业务请求,所述票据业务请求用于请求所述服务器对目标业务进行处理;
所述读取模块,用于读取内存数据库中存储的所述用户标识对应的可用资源的值为第一资源值;
所述第一处理模块,用于在所述第一资源值大于或等于所述目标业务被处理所需的消耗资源值时,从所述第一资源值中减去所述消耗资源值得到第二资源值,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;并对所述目标业务进行处理;
所述第二处理模块,用于在所述目标业务的处理结果为成功时,根据所述第二资源值将硬盘数据库中所述用户标识对应的可用资源的值更新为所述第二资源值;以及在所述目标业务的处理结果为失败时,将所述内存数据库中所述用户标识对应的可用资源的值更新为所述第一资源值。
9.一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211052213.XA CN115131080A (zh) | 2022-08-31 | 2022-08-31 | 票据业务处理方法、服务器、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211052213.XA CN115131080A (zh) | 2022-08-31 | 2022-08-31 | 票据业务处理方法、服务器、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115131080A true CN115131080A (zh) | 2022-09-30 |
Family
ID=83386948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211052213.XA Pending CN115131080A (zh) | 2022-08-31 | 2022-08-31 | 票据业务处理方法、服务器、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115131080A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847284A (zh) * | 2016-05-16 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 一种通信服务处理方法、装置及以及服务器 |
CN106713388A (zh) * | 2015-11-13 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种突发业务处理方法及装置 |
CN110322612A (zh) * | 2018-03-29 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、计算设备及存储介质 |
CN110782240A (zh) * | 2019-10-12 | 2020-02-11 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
-
2022
- 2022-08-31 CN CN202211052213.XA patent/CN115131080A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713388A (zh) * | 2015-11-13 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种突发业务处理方法及装置 |
CN105847284A (zh) * | 2016-05-16 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 一种通信服务处理方法、装置及以及服务器 |
CN110322612A (zh) * | 2018-03-29 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、计算设备及存储介质 |
CN110782240A (zh) * | 2019-10-12 | 2020-02-11 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028009A (zh) | 可领取业务实体处理方法和装置 | |
CN112613288B (zh) | 结算单生成方法、装置、计算机设备和存储介质 | |
CN106529953B (zh) | 一种对业务属性进行风险识别的方法及装置 | |
CN109446208A (zh) | 一种数据存储方法、计算机可读存储介质及服务器 | |
CN113886135A (zh) | 一种区块链数据的恢复方法和装置 | |
CN111966538A (zh) | 一种区块链数据的恢复方法和装置 | |
CN113570459A (zh) | 一种区块链数据的删除方法和装置 | |
CN110134510B (zh) | 基于智能合约的ram资源分配方法及装置 | |
CN116071175A (zh) | 热点账户的管理方法以及热点账户的管理装置 | |
CN109614263B (zh) | 一种容灾数据处理方法、装置及系统 | |
CN114070847B (zh) | 服务器的限流方法、装置、设备及存储介质 | |
CN110689333B (zh) | 一种区块链自动对账方法、装置、系统和存储介质 | |
CN115131080A (zh) | 票据业务处理方法、服务器、计算机设备和存储介质 | |
CN113032036B (zh) | 业务数据处理方法、装置、系统、计算机设备和存储介质 | |
CN113835780A (zh) | 一种事件响应方法及装置 | |
CN116095074A (zh) | 资源分配方法、装置、相关设备及存储介质 | |
CN113902415A (zh) | 财务数据核对方法、装置、计算机设备和存储介质 | |
CN114186267A (zh) | 一种虚拟资产数据处理方法、装置及计算机可读存储介质 | |
CN111192113A (zh) | 订单处理方法、装置、设备及存储介质 | |
CN110740062A (zh) | 断点续传方法和装置 | |
CN118365452B (zh) | 基于Redis的热点账户的交易方法、装置、介质和设备 | |
CN117439982A (zh) | 资源管理方法、装置、计算机设备和存储介质 | |
CN106815289B (zh) | 一种交易处理系统中的数据存储方法及装置 | |
CN116881245A (zh) | 业务数据拼接方法、装置、计算机设备和存储介质 | |
CN117764728A (zh) | 一种区块链跨合约调用方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220930 |
|
RJ01 | Rejection of invention patent application after publication |