一种预算扣减方法和装置制造方法及图纸

技术编号:39186092 阅读:13 留言:0更新日期:2023-10-27 08:33
本发明专利技术提供了一种预算扣减方法和装置,其中,该方法包括:接收扣减请求,所述扣减请求中包括:扣减额度;当所述扣减额度大于预先存储的数据库DB链上任意一个DB的预算额度时,根据所述扣减额度和所述DB链上DB的预算额度,确定至少两个执行DB及各个所述执行DB的扣减份额;根据所述执行DB的扣减份额,对所述执行DB的预算额度进行扣减。算额度进行扣减。算额度进行扣减。

【技术实现步骤摘要】
一种预算扣减方法和装置


[0001]本专利技术涉及计算机
,特别涉及一种预算扣减方法和装置。

技术介绍

[0002]随着互联网技术的高速发展,应用系统的数据处理量越来越大。应用系统中一般设置多个数据库,以满足大量数据处理请求的需求。
[0003]例如,在预算系统中,设置有多个DB(Database,数据库),每个DB具有相应的预算额度。当预算系统接收到用户发送的扣减请求时,会根据扣减请求中的扣减额度对DB中的预算额度进行扣减。
[0004]在上述应用背景下,如何对扣减额度较大的扣减请求进行处理,是技术人员亟待解决的问题。

技术实现思路

[0005]鉴于此,本专利技术实施例提供了一种预算扣减方法和装置,能够处理扣减额度较大的扣减请求。
[0006]第一方面,本专利技术实施例提供了一种预算扣减方法,包括:
[0007]接收扣减请求,所述扣减请求中包括:扣减额度;
[0008]当所述扣减额度大于预先存储的DB链上任意一个DB的预算额度时,
[0009]根据所述扣减额度和所述DB链上DB的预算额度,确定至少两个执行DB及各个所述执行DB的扣减份额;
[0010]根据所述执行DB的扣减份额,对所述执行DB的预算额度进行扣减。
[0011]第二方面,本专利技术实施例提供了一种预算扣减装置,包括:
[0012]接收单元,用于接收扣减请求,所述扣减请求中包括:扣减额度;
[0013]确定单元,用于当所述扣减额度大于预先存储的DB链上任意一个DB的预算额度时,根据所述扣减额度和所述DB链上DB的预算额度,确定至少两个执行DB及各个所述执行DB的扣减份额;
[0014]扣减单元,用于根据所述执行DB的扣减份额,对所述执行DB的预算额度进行扣减。
[0015]本专利技术实施例采用的上述至少一个技术方案能够达到以下有益效果:该方法能够处理扣减额度大于预算额度的扣减请求。并且,该方法无需进行分布式事务,不需要根据多个DB的扣减结果来判断扣减请求的处理结果,能够提高扣减成功率。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术一个实施例提供的一种预算扣减方法的流程图;
[0018]图2是本专利技术一个实施例提供的一种单个DB链的结构示意图;
[0019]图3是本专利技术一个实施例提供的一种多个DB链的结构示意图;
[0020]图4是本专利技术另一个实施例提供的一种预算扣减方法的流程图;
[0021]图5是本专利技术一个实施例提供的一种预算扣减装置的结构示意图。
具体实施方式
[0022]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0023]如图1所示,本专利技术实施例提供了一种预算扣减方法,该方法可以包括以下步骤:
[0024]步骤101:接收扣减请求,扣减请求中包括:扣减额度。
[0025]在同一时间可以接收一个扣减请求,也可以接收若干扣减请求。除了扣减额度外,扣减请求中还可以包括业务标识等。当DB中存储有多个业务的预算额度时,该方法可以通过扣减请求中的业务标识区分不同的业务,以便于对相应的业务进行预算扣减。
[0026]在扣减请求中还可以包括各个DB的性能参数,在实际应用场景中,可以通过DB的性能参数确定DB处理的扣减请求的数量。
[0027]步骤102:当扣减额度大于预先存储的DB链上任意一个DB的预算额度时,根据扣减额度和DB链上DB的预算额度,确定至少两个执行DB及各个执行DB的扣减份额。
[0028]其中,执行DB为参与执行扣减请求的DB。DB链上包括至少两个DB,每个DB作为DB链的一个节点。不同DB的预算额度可能相同,也可能不同。
[0029]在实际应用场景中,存储的DB链的数量可以为一个,也可以为多个。为了描述方便,以下仅以一条DB链为例进行说明。
[0030]如图2所示,是由四个DB组成的DB链,A

D对应的预算额度都是1万。当扣减额度为2万时,按照由尾节点至头节点的扣减顺序,确定执行DB为D和C,对应的扣减份额都是1万。当扣减额度为2.5万时,对应的执行DB为D、C、B,对应的扣减份额分别为1万、1万、0.5万。
[0031]由上述内容可知,执行DB的预算额度之和可能大于扣减额度,也可能等于扣减额度。
[0032]在步骤101之前,该方法还可以包括:确定预算总额度,将预算总额度均分给DB链的DB,即每个DB具有相同的预算额度。
[0033]步骤103:根据执行DB的扣减份额,对执行DB的预算额度进行扣减。
[0034]根据执行DB的扣减份额与执行DB的预算额度的关系,步骤103具体可以包括如下两种情况:
[0035]情况1:执行DB的扣减份额均与其预算额度相等。
[0036]此时,当执行DB的扣减份额等于执行DB的预算额度时,从DB链中移除执行DB。
[0037]情况2:部分执行DB的扣减份额与其预算额度相等,其他的执行DB的扣减份额小于其预算额度。
[0038]此时,当执行DB的扣减份额等于执行DB的预算额度时,从DB链中移除执行DB。当执
行DB的扣减份额小于执行DB的预算额度时,在执行DB的预算额度中扣减执行DB的扣减份额。
[0039]针对情况2,该方法还可以包括:将执行DB的剩余额度追加到备用DB。其中,执行DB的剩余额度为执行DB的预算额度被扣减之后的额度。
[0040]沿用上例,执行DB为D、C、B,对应的扣减份额分别为1万、1万、0.5万。则从DB链中移除D和C,在B的预算额度中扣减0.5万。
[0041]该方法可以通过变更DB链的结构进行预算扣减,减少对DB的访问次数,提高扣减效率。
[0042]另外,该方法能够处理扣减额度大于预算额度的扣减请求,无需进行分布式事务,不需要根据多个DB的扣减结果来判断扣减请求的处理结果,能够提高扣减成功率。
[0043]在本专利技术的一个实施例中,该方法还包括:当扣减额度不大于预先存储的DB链上任意一个DB的预算额度时,在DB链的工作DB的预算额度中扣减扣减额度,其中,工作DB为DB链的头节点。
[0044]在本专利技术实施例中,为了保证扣减过程的有序进行,将DB链的头节点作为工作节点,每一条链有一个工作节点。当然,在实际应用场景中还可以将其他的DB作为工本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种预算扣减方法,包括:接收扣减请求,所述扣减请求中包括:扣减额度;当所述扣减额度大于预先存储的数据库DB链上任意一个DB的预算额度时,根据所述扣减额度和所述DB链上DB的预算额度,确定至少两个执行DB及各个所述执行DB的扣减份额;根据所述执行DB的扣减份额,对所述执行DB的预算额度进行扣减。2.如权利要求1所述的预算扣减方法,所述接收扣减请求之前,还包括:确定预算总额度,将预算总额度均分给所述DB链的各个DB。3.如权利要求1所述的预算扣减方法,所述DB链设置有多个。4.如权利要求1所述的预算扣减方法,所述扣减请求中还包括业务标识,所述业务标识用于区分不同的业务。5.如权利要求1所述的预算扣减方法,所述根据所述执行DB的扣减份额,对所述执行DB的预算额度进行扣减,包括:当所述执行DB的扣减份额等于所述执行DB的预算额度时,从所述DB链中移除所述执行DB。6.如权利要求5所述的预算扣减方法,进一步包括:当所述执行DB的扣减份额小于所述执行DB的预算额度时,在所述执行DB的预算额度中扣减所述执行DB的扣减份额。7.如权利要求1所述的预算扣减方法,进一步包括:当所述扣减额度不大于预先存储的DB链上任意一个DB的预算额度时,在所述DB链的工作DB的预算额度中扣减所述扣减额度,其中,所述工作DB为所述DB链的头节点。8.如权利要求7所述的预算扣减方法,进一步包括:当在所述工作DB的预算额度中扣减所述扣减额度失败时,在预设的备用DB的预算额度中扣减所述扣减额度。9.如权利要求8所述的预算扣减方法,进一步包括:当所述工作DB的剩余额度小于预设的第一阈值时,将所述工作DB的剩余额度回收至所述备用DB;将在DB链中与所述工作DB相连的DB更新为工作DB。10.如权利要求8所述的预算扣减方法,进...

【专利技术属性】
技术研发人员:李伟松李越甲
申请(专利权)人:创新先进技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1