CN110223057A - 一种高并发分布式系统动态流量控制的方法及装置 - Google Patents
一种高并发分布式系统动态流量控制的方法及装置 Download PDFInfo
- Publication number
- CN110223057A CN110223057A CN201910377283.4A CN201910377283A CN110223057A CN 110223057 A CN110223057 A CN 110223057A CN 201910377283 A CN201910377283 A CN 201910377283A CN 110223057 A CN110223057 A CN 110223057A
- Authority
- CN
- China
- Prior art keywords
- money
- amount
- reimbursement
- state
- caching
- 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
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computer Security & Cryptography (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明适用于支付领域,提供了一种高并发分布式系统动态流量控制的方法及装置,首先实时获取支付订单,并将支付订单存储至数据库;获取退款订单;然后判断缓存金额是否大于等于退款订单金额;若判断缓存金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库;若判断缓存金额不大于等于退款订单金额,则根据数据库中存储的支付订单以及退款订单计算总汇总金额;再判断总汇总金额是否大于等于退款订单金额;若判断总汇总金额大于等于退款订单金额,则将缓存金额更新为总汇总金额减去退款订单金额的差;并执行退款流程,将退款订单存储至数据库;若判断总汇总金额不大于等于退款订单金额,则不执行退款流程;提高了数据处理效率。
Description
技术领域
本发明属于支付领域,尤其涉及一种高并发分布式系统动态流量控制的方法及装置。
背景技术
传统的高并发分布式系统动态流量控制的方法通过实时获取支付订单,并将支付订单存储至数据库;支付订单携带支付订单金额;获取退款订单;退款订单携带退款订单金额;根据数据库中存储的一个或多个支付订单以及一个或多个退款订单计算总汇总金额;判断总汇总金额是否大于等于退款订单金额;若判断总汇总金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库;若判断总汇总金额不大于等于退款订单金额,则不执行退款流程。
故传统的高并发分布式系统动态流量控制的方法存在在每次接收到退款订单时均需要根据数据库中的一个或多个支付订单以及一个或多个退款订单计算总汇总金额,从而导致地运算量大和数据处理效率低的缺陷。
发明内容
有鉴于此,本发明实施例提供了一种高并发分布式系统动态流量控制的方法及装置,旨在解决现有技术在每次接收到退款订单时均需要根据数据库中的一个或多个支付订单以及一个或多个退款订单计算总汇总金额,从而导致地运算量大和数据处理效率低的的问题。
本发明实施例的第一方面提供了一种高并发分布式系统动态流量控制的方法,包括:
实时获取支付订单,并将所述支付订单存储至数据库;所述支付订单携带支付订单金额;
获取退款订单;所述退款订单携带退款订单金额;
判断所述缓存金额是否大于等于所述退款订单金额;
若判断所述缓存金额大于等于所述退款订单金额,则执行退款流程,并将所述退款订单存储至所述数据库;
若判断所述缓存金额不大于等于所述退款订单金额,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单计算总汇总金额;
判断所述总汇总金额是否大于等于所述退款订单金额;
若判断所述总汇总金额大于等于所述退款订单金额,则将所述缓存金额更新为所述总汇总金额减去所述退款订单金额的差值;
执行所述退款流程,并将所述退款订单存储至所述数据库;
若判断所述总汇总金额不大于等于所述退款订单金额,则不执行所述退款流程。
本发明实施例的第二方面提供了一种高并发分布式系统动态流量控制的装置,包括:
支付订单获取模块,用于实时获取支付订单,并将所述支付订单存储至数据库;所述支付订单携带支付订单金额;
退款订单获取模块,用于获取退款订单;所述退款订单携带退款订单金额;
缓存金额判断模块,用于判断所述缓存金额是否大于等于所述退款订单金额;
第一退款模块,用于若所述缓存金额判断模块判断所述缓存金额大于等于所述退款订单金额,则执行退款流程,并将所述退款订单存储至所述数据库;
总汇总金额计算模块,用于若所述缓存金额判断模块判断所述缓存金额不大于等于所述退款订单金额,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单计算总汇总金额;
总汇总金额判断模块,用于判断所述总汇总金额是否大于等于所述退款订单金额;
缓存金额更新模块,用于若所述总汇总金额判断判断所述总汇总金额大于等于所述退款订单金额,则将所述缓存金额更新为所述总汇总金额减去所述退款订单金额的差值;
第二退款模块,用于执行所述退款流程,且将所述退款订单存储至所述数据库;
第一终止模块,用于若所述总汇总金额判断所述总汇总金额不大于等于所述退款订单金额,则不执行所述退款流程。
本发明实施例的第三方面提供了一种高并发分布式系统动态流量控制的装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述高并发分布式系统动态流量控制的方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述高并发分布式系统动态流量控制的方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:首先实时获取支付订单,并将支付订单存储至数据库;支付订单携带支付订单金额;获取退款订单;退款订单携带退款订单金额;然后判断缓存金额是否大于等于退款订单金额;若判断缓存金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库;若判断缓存金额不大于等于退款订单金额,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单计算总汇总金额;再判断总汇总金额是否大于等于退款订单金额;若判断总汇总金额大于等于退款订单金额,则将缓存金额更新为总汇总金额减去退款订单金额的差值;并执行退款流程,并将退款订单存储至数据库;若判断总汇总金额不大于等于退款订单金额,则不执行退款流程;由于仅在缓存金额不大于等于退款订单金额时计算总汇总金额,故避免了在每次接收到退款订单时均需要根据数据库中的一个或多个支付订单以及一个或多个退款订单计算总汇总金额的缺陷,减小了运算量和提高了数据处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的高并发分布式系统动态流量控制的方法的一种实现流程示意图;
图2是本发明实施例提供的高并发分布式系统动态流量控制的装置的一种示意图;
图3是本发明实施例提供的高并发分布式系统动态流量控制的装置的另一种示意图;
图4是本发明实施例提供的高并发分布式系统动态流量控制的装置第一退款模块和第一退款模块的一种示意图;
图5是本发明实施例提供的高并发分布式系统动态流量控制的装置的另一种示意图;
图6是本发明实施例提供的高并发分布式系统动态流量控制的装置总汇总金额计算模块的一种示意图;
图7是本发明实施例提供的高并发分布式系统动态流量控制的装置的另一种示意图;
图8是本发明实施例提供的高并发分布式系统动态流量控制的装置总汇总金额计算模块的另一种示意图;
图9是本发明实施例提供的高并发分布式系统动态流量控制的装置的另一种示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的高并发分布式系统动态流量控制的方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤102中,实时获取支付订单,并将支付订单存储至数据库;支付订单携带支付订单金额。
其中,支付订单指用户发起交易完成的订单。
在步骤103中,获取退款订单;退款订单携带退款订单金额。
其中,退款订单指用户对已完成的支付订单进行全额退款或部分退款。
在步骤104中,判断缓存金额是否大于等于退款订单金额;
在步骤105a中,若判断缓存金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库。
具体实施中,执行退款流程,并将退款订单存储至数据库具体包括步骤A和B。
在步骤A中,将缓存金额更新为缓存金额减去退款金额的差值。
在步骤B中,将退款订单存储至数据库。
在步骤105b中,若判断缓存金额不大于等于退款订单金额,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单计算总汇总金额。
步骤105b可以具体为:若判断缓存金额不大于等于退款订单金额,则根据数据库中存储的一个或多个支付订单计算支付订单汇总金额,根据数据库中存储的一个或多个一个或多个退款订单计算计算退款订单汇总金额,最后根据支付订单汇总金额和退款订单汇总金额计算总汇总金额。
在步骤106中,判断总汇总金额是否大于等于退款订单金额。
在步骤107a中,若判断总汇总金额大于等于退款订单金额,则将缓存金额更新为总汇总金额减去退款订单金额的差值。
通过仅在缓存金额不大于等于退款订单金额时计算总汇总金额并对缓存金额进行更新,故避免了在每次接收到退款订单时均需要根据数据库中的一个或多个支付订单以及一个或多个退款订单计算总汇总金额的缺陷。
在步骤108中,执行退款流程,并将退款订单存储至数据库。
步骤108也可以包括上述步骤A和上述步骤B。
在步骤107b中,若判断总汇总金额不大于等于退款订单金额,则不执行退款流程。
具体实施中,在步骤102之前还可以包括步骤101。
在步骤101中,将缓存金额设为0。
通过将缓存金额初始化为0,避免了冲正后的总汇总金额为负数。
本发明实施了由于仅在缓存金额不大于等于退款订单金额时计算总汇总金额,故避免了在每次接收到退款订单时均需要根据数据库中的一个或多个支付订单以及一个或多个退款订单计算总汇总金额的缺陷,减小了运算量和提高了数据处理效率。
具体实施中,步骤108之后可以还包括步骤108-2.
在步骤108-2中,将缓存金额状态设为激活状态,激活状态的有效期为第一预设时间。即:仅当缓存金额状态设为激活状态后的第一预设时间内,缓存金额状态为激活状态;当缓存金额状态设为激活状态第一预设时间之后,缓存金额状态为非激活状态。
缓存金额状态设为激活状态可以具体为:对存储有缓存金额的缓存进行加锁,该缓存的锁的有效期为第一预设时间。当缓存处于加锁状态时,无法在缓存中写入数据。
当步骤108之后可以还包括步骤108-2时,步骤105b可以包括步骤105b-1至步骤105b-3。
在步骤105b-1中,若判断缓存金额不大于等于退款订单金额,则判断缓存金额状态是否为激活状态;
在步骤105b-2中,若判断缓存金额状态为激活状态,则不执行退款流程;
在步骤105b-3中,若判断缓存金额状态不为激活状态,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单获取总汇总金额。
通过在更新缓存金额后设置缓存金额状态设为激活状态,使得在激活状态的第一预设时间内不执行计算总汇总金额并对缓存金额进行更新,进一步的减小了运算量。
具体实施中,步骤104之后还包括步骤104-2至步骤104-3。
在步骤104-2中,若判断缓存金额不大于等于退款订单金额,则判断数据库状态是否为查询状态;
在步骤104-3中,若判断数据库状态为查询状态,则等待预设时间后,执行判断数据库状态是否为查询状态的步骤;
若判断数据库状态不为查询状态,则执行步骤105b-1;
当步骤104之后还包括步骤104-2至步骤104-3时,步骤105b-3之前还包括步骤105b-3-1。
在步骤105b-3-1中,若判断缓存金额状态不为激活状态,则将数据库状态更新为查询状态,查询状态的有效期为第二预设时间。
将数据库状态更新为查询状态可以具体为:对数据库进行加锁,该数据库的锁的有效期为第二预设时间。当数据库处于加锁状态时,其它线程无法访问数据库。
通过在根据数据库中存储的一个或多个支付订单以及一个或多个退款订单获取总汇总金额之前将数据库状态更新为查询状态,避免了多个线程同时对数据库进行操作。
为了实现上述高并发分布式系统动态流量控制的方法,本发明实施例还提供了一种高并发分布式系统动态流量控制的装置,如图2所示,该高并发分布式系统动态流量控制的装置20包括支付订单获取模块220、退款订单获取模块230、缓存金额判断模块240、第一退款模块250、总汇总金额计算模块260、总汇总金额判断模块270、缓存金额更新模块280、第二退款模块290和第一终止模块2100。
支付订单获取模块220,用于实时获取支付订单,并将支付订单存储至数据库;支付订单携带支付订单金额;
退款订单获取模块230,用于获取退款订单;退款订单携带退款订单金额;
缓存金额判断模块240,用于判断缓存金额是否大于等于退款订单金额;
第一退款模块250,用于若缓存金额判断模块判断缓存金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库;
总汇总金额计算模块260,用于若缓存金额判断模块判断缓存金额不大于等于退款订单金额,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单计算总汇总金额;
总汇总金额判断模块270,用于判断总汇总金额是否大于等于退款订单金额;
总汇总金额判断模块280,用于若总汇总金额判断判断总汇总金额大于等于退款订单金额,则将缓存金额更新为总汇总金额减去退款订单金额的差值;
第二退款模块290,用于执行退款流程,且将退款订单存储至数据库;
第一终止模块2100,用于若总汇总金额判断总汇总金额不大于等于退款订单金额,则不执行退款流程。
如图3所示,该高并发分布式系统动态流量控制的装置30还可以包括初始化模块210。
初始化模块210,用于将缓存金额设为0。
如图3所示,第一退款模块250和第一退款模块290均包括缓存金额更新模块251和退款订单存储模块252。
缓存金额更新模块251,用于将缓存金额更新为缓存金额减去退款金额的差值;
退款订单存储模块252,用于将退款订单存储至数据库。
其中,如图4所示,该高并发分布式系统动态流量控制的装置30还可以包括激活状态设置模块2120。
激活状态设置模块2120,用于将缓存金额状态设为激活状态,激活状态的有效期为第一预设时间;
当该高并发分布式系统动态流量控制的装置30还可以包括激活状态设置模块2110时,如图5所示,总汇总金额计算模块260可以包括激活状态判断模块261、第二终止模块262和总汇总金额获取模块263。
激活状态判断模块261,用于若缓存金额判断模块判断缓存金额不大于等于退款订单金额,则判断缓存金额状态是否为激活状态;
第二终止模块262,用于若激活状态判断模块判断缓存金额状态是否为激活状态,则不执行退款流程;
总汇总金额获取模块263,用于若激活状态判断模块判断缓存金额状态不为激活状态,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单获取总汇总金额。
其中,如图6所示,该高并发分布式系统动态流量控制的装置30还可以包括查询状态判断模块2130和等待模块2140。
查询状态判断模块2130,用于若缓存金额判断模块判断缓存金额不大于等于退款订单金额,则判断数据库状态是否为查询状态;
等待模块2140,用于若查询状态判断模块判断数据库状态为查询状态,则等待预设时间后,执行判断数据库状态是否为查询状态的步骤;
若查询状态判断模块2120判断数据库状态不为查询状态,则触发激活状态判断模块261。
当该高并发分布式系统动态流量控制的装置30还可以包括查询状态判断模块2120和等待模块2130时,如图7所示,总汇总金额计算模块还包括数据库状态更新模块264。
数据库状态更新模块264,用于若激活状态判断模块判断缓存金额状态不为激活状态,则将数据库状态更新为查询状态,查询状态的有效期为第二预设时间。
综上所述,本发明实施例首先实时获取支付订单,并将支付订单存储至数据库;支付订单携带支付订单金额;获取退款订单;退款订单携带退款订单金额;然后判断缓存金额是否大于等于退款订单金额;若判断缓存金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库;若判断缓存金额不大于等于退款订单金额,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单计算总汇总金额;再判断总汇总金额是否大于等于退款订单金额;若判断总汇总金额大于等于退款订单金额,则将缓存金额更新为总汇总金额减去退款订单金额的差值;并执行退款流程,并将退款订单存储至数据库;若判断总汇总金额不大于等于退款订单金额,则不执行退款流程;由于仅在缓存金额不大于等于退款订单金额时计算总汇总金额,故避免了在每次接收到退款订单时均需要根据数据库中的一个或多个支付订单以及一个或多个退款订单计算总汇总金额的缺陷,减小了运算量和提高了数据处理效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图8是本发明一实施例提供的一种高并发分布式系统动态流量控制的装置的示意图。如图8所示,该实施例的一种高并发分布式系统动态流量控制的装置8包括:处理器80、存储器81以及存储在存储器81中并可在处理器80上运行的计算机程序82,例如人流量计数的程序。处理器80执行计算机程序82时实现上述各个高并发分布式系统动态流量控制的方法实施例中的步骤,例如图1所示的步骤101至106。或者,处理器80执行计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块210至2100的功能。
示例性的,计算机程序82可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器81中,并由处理器80执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序82在高并发分布式系统动态流量控制的装置8中的执行过程。例如,计算机程序82可以被分割成支付订单获取模块220、退款订单获取模块230、缓存金额判断模块240、第一退款模块250、总汇总金额计算模块260、总汇总金额判断模块270、缓存金额更新模块280、第二退款模块290和第一终止模块2100(虚拟装置中的模块),各模块具体功能如下:
支付订单获取模块220,用于实时获取支付订单,并将支付订单存储至数据库;支付订单携带支付订单金额;
退款订单获取模块230,用于获取退款订单;退款订单携带退款订单金额;
缓存金额判断模块240,用于判断缓存金额是否大于等于退款订单金额;
第一退款模块250,用于若缓存金额判断模块判断缓存金额大于等于退款订单金额,则执行退款流程,并将退款订单存储至数据库;
总汇总金额计算模块260,用于若缓存金额判断模块判断缓存金额不大于等于退款订单金额,则根据数据库中存储的一个或多个支付订单以及一个或多个退款订单计算总汇总金额;
总汇总金额判断模块270,用于判断总汇总金额是否大于等于退款订单金额;
缓存金额更新模块280,用于若总汇总金额判断判断总汇总金额大于等于退款订单金额,则将缓存金额更新为总汇总金额减去退款订单金额的差值;
第二退款模块290,用于执行退款流程,且将退款订单存储至数据库;
第一终止模块2100,用于若总汇总金额判断总汇总金额不大于等于退款订单金额,则不执行退款流程。
所述高并发分布式系统动态流量控制的装置9可以是服务器或其它设备。所述高并发分布式系统动态流量控制的装置可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是高并发分布式系统动态流量控制的装置9的示例,并不构成对高并发分布式系统动态流量控制的装置9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述高并发分布式系统动态流量控制的装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91可以是所述高并发分布式系统动态流量控制的装置9的内部存储单元,例如高并发分布式系统动态流量控制的装置9的硬盘或内存。所述存储器91也可以是所述高并发分布式系统动态流量控制的装置9的外部存储设备,例如所述高并发分布式系统动态流量控制的装置9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述高并发分布式系统动态流量控制的装置9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述高并发分布式系统动态流量控制的装置所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种高并发分布式系统动态流量控制的方法,其特征在于,所述方法包括:
实时获取支付订单,并将所述支付订单存储至数据库;所述支付订单携带支付订单金额;
获取退款订单;所述退款订单携带退款订单金额;
判断所述缓存金额是否大于等于所述退款订单金额;
若判断所述缓存金额大于等于所述退款订单金额,则执行退款流程,并将所述退款订单存储至所述数据库;
若判断所述缓存金额不大于等于所述退款订单金额,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单计算总汇总金额;
判断所述总汇总金额是否大于等于所述退款订单金额;
若判断所述总汇总金额大于等于所述退款订单金额,则将所述缓存金额更新为所述总汇总金额减去所述退款订单金额的差值;
执行所述退款流程,并将所述退款订单存储至所述数据库;
若判断所述总汇总金额不大于等于所述退款订单金额,则不执行所述退款流程。
2.如权利要求1所述的高并发分布式系统动态流量控制的方法,其特征在于,所述执行退款流程,并将所述退款订单存储至所述数据库具体为:
将所述缓存金额更新为所述缓存金额减去所述退款金额的差值;
将所述退款订单存储至所述数据库。
3.如权利要求1所述的高并发分布式系统动态流量控制的方法,其特征在于,所述若判断所述总汇总金额大于等于所述退款订单金额,则将所述缓存金额更新为所述总汇总金额减去所述退款订单金额的差值;执行所述退款流程,并将所述退款订单存储至所述数据库之后还包括:
将所述缓存金额状态设为激活状态,所述激活状态的有效期为第一预设时间;
所述若判断所述缓存金额不大于等于所述退款订单金额,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单计算总汇总金额包括:
所述若判断所述缓存金额不大于等于所述退款订单金额,则判断所述缓存金额状态是否为激活状态;
若判断所述缓存金额状态为激活状态,则不执行退款流程;
若判断所述缓存金额状态不为激活状态,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单获取总汇总金额。
4.如权利要求3所述的高并发分布式系统动态流量控制的方法,其特征在于,所述判断所述缓存金额是否大于等于所述退款订单金额之后还包括:
若判断所述缓存金额不大于等于所述退款订单金额,则判断所述数据库状态是否为查询状态;
若判断所述数据库状态为查询状态,则等待预设时间后,执行判断所述数据库状态是否为查询状态的步骤;
若判断所述数据库状态不为查询状态,则执行判断所述缓存金额状态是否为激活状态的步骤;
所述根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单获取总汇总金额之前还包括:
若判断所述缓存金额状态不为激活状态,则将所述数据库状态更新为查询状态,所述查询状态的有效期为第二预设时间。
5.一种高并发分布式系统动态流量控制的装置,其特征在于,包括:
支付订单获取模块,用于实时获取支付订单,并将所述支付订单存储至数据库;所述支付订单携带支付订单金额;
退款订单获取模块,用于获取退款订单;所述退款订单携带退款订单金额;
缓存金额判断模块,用于判断所述缓存金额是否大于等于所述退款订单金额;
第一退款模块,用于若所述缓存金额判断模块判断所述缓存金额大于等于所述退款订单金额,则执行退款流程,并将所述退款订单存储至所述数据库;
总汇总金额计算模块,用于若所述缓存金额判断模块判断所述缓存金额不大于等于所述退款订单金额,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单计算总汇总金额;
总汇总金额判断模块,用于判断所述总汇总金额是否大于等于所述退款订单金额;
缓存金额更新模块,用于若所述总汇总金额判断判断所述总汇总金额大于等于所述退款订单金额,则将所述缓存金额更新为所述总汇总金额减去所述退款订单金额的差值;
第二退款模块,用于执行所述退款流程,且将所述退款订单存储至所述数据库;
第一终止模块,用于若所述总汇总金额判断所述总汇总金额不大于等于所述退款订单金额,则不执行所述退款流程。
6.根据权利要求5所述的高并发分布式系统动态流量控制的装置,其特征在于,所述第一退款模块和所述第一退款模块均包括:
缓存金额更新模块,用于将所述缓存金额更新为所述缓存金额减去所述退款金额的差值;
退款订单存储模块,用于将所述退款订单存储至所述数据库。
7.根据权利要求5所述的高并发分布式系统动态流量控制的装置,其特征在于,所述装置还包括:
激活状态设置模块,用于将所述缓存金额状态设为激活状态,所述激活状态的有效期为第一预设时间;
所述总汇总金额计算模块包括:
激活状态判断模块,用于若所述缓存金额判断模块判断所述缓存金额不大于等于所述退款订单金额,则判断所述缓存金额状态是否为激活状态;
第二终止模块,用于若所述激活状态判断模块判断所述缓存金额状态是否为激活状态,则不执行退款流程;
总汇总金额获取模块,用于若所述激活状态判断模块判断所述缓存金额状态不为激活状态,则根据所述数据库中存储的一个或多个所述支付订单以及一个或多个所述退款订单获取总汇总金额。
8.根据权利要求7所述的高并发分布式系统动态流量控制的装置,其特征在于,所述装置还包括:
查询状态判断模块,用于若所述缓存金额判断模块判断所述缓存金额不大于等于所述退款订单金额,则判断所述数据库状态是否为查询状态;
等待模块,用于若所述查询状态判断模块判断所述数据库状态为查询状态,则等待预设时间后,执行判断所述数据库状态是否为查询状态的步骤;
若所述查询状态判断模块判断所述数据库状态不为查询状态,则触发激活状态判断模块;
所述总汇总金额计算模块还包括:
数据库状态更新模块,用于若所述激活状态判断模块判断所述缓存金额状态不为激活状态,则将所述数据库状态更新为查询状态,所述查询状态的有效期为第二预设时间。
9.一种高并发分布式系统动态流量控制的装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述高并发分布式系统动态流量控制的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述高并发分布式系统动态流量控制的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377283.4A CN110223057A (zh) | 2019-05-07 | 2019-05-07 | 一种高并发分布式系统动态流量控制的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377283.4A CN110223057A (zh) | 2019-05-07 | 2019-05-07 | 一种高并发分布式系统动态流量控制的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110223057A true CN110223057A (zh) | 2019-09-10 |
Family
ID=67820821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910377283.4A Pending CN110223057A (zh) | 2019-05-07 | 2019-05-07 | 一种高并发分布式系统动态流量控制的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110223057A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529720A (zh) * | 2020-12-28 | 2021-03-19 | 深轻(上海)科技有限公司 | 一种寿险精算模型计算结果的汇总方法 |
CN113535772A (zh) * | 2021-07-27 | 2021-10-22 | 中国银行股份有限公司 | 一种商户退款执行方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114774A1 (en) * | 2008-11-04 | 2010-05-06 | Moneygram International, Inc. | Chargeback decisioning system |
CN105279639A (zh) * | 2015-10-22 | 2016-01-27 | 北京京东尚科信息技术有限公司 | 订单资金信息处理方法及装置 |
CN106875189A (zh) * | 2017-02-16 | 2017-06-20 | 深圳市八零年代网络科技有限公司 | 即时退款方法及装置 |
CN106960336A (zh) * | 2017-03-14 | 2017-07-18 | 世纪禾光科技发展(北京)有限公司 | 跨境电商平台美国运通信用卡退款自动化的方法及系统 |
CN107016602A (zh) * | 2017-04-19 | 2017-08-04 | 国网冀北电力有限公司物资分公司 | 投标保证金的管理方法及管理系统 |
CN107945002A (zh) * | 2017-12-27 | 2018-04-20 | 长沙海米网络技术有限公司 | 一种自动对账方法、系统及存储装置 |
CN108256985A (zh) * | 2018-01-24 | 2018-07-06 | 中航技国际经贸发展有限公司 | 一种投标保证金管理方法及系统 |
-
2019
- 2019-05-07 CN CN201910377283.4A patent/CN110223057A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114774A1 (en) * | 2008-11-04 | 2010-05-06 | Moneygram International, Inc. | Chargeback decisioning system |
CN105279639A (zh) * | 2015-10-22 | 2016-01-27 | 北京京东尚科信息技术有限公司 | 订单资金信息处理方法及装置 |
CN106875189A (zh) * | 2017-02-16 | 2017-06-20 | 深圳市八零年代网络科技有限公司 | 即时退款方法及装置 |
CN106960336A (zh) * | 2017-03-14 | 2017-07-18 | 世纪禾光科技发展(北京)有限公司 | 跨境电商平台美国运通信用卡退款自动化的方法及系统 |
CN107016602A (zh) * | 2017-04-19 | 2017-08-04 | 国网冀北电力有限公司物资分公司 | 投标保证金的管理方法及管理系统 |
CN107945002A (zh) * | 2017-12-27 | 2018-04-20 | 长沙海米网络技术有限公司 | 一种自动对账方法、系统及存储装置 |
CN108256985A (zh) * | 2018-01-24 | 2018-07-06 | 中航技国际经贸发展有限公司 | 一种投标保证金管理方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529720A (zh) * | 2020-12-28 | 2021-03-19 | 深轻(上海)科技有限公司 | 一种寿险精算模型计算结果的汇总方法 |
CN113535772A (zh) * | 2021-07-27 | 2021-10-22 | 中国银行股份有限公司 | 一种商户退款执行方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074608A (zh) | 一种退款冲正挂销账结算的方法及装置 | |
CN109144647A (zh) | 一种表单设计方法与装置、终端设备以及存储介质 | |
JP7012689B2 (ja) | コマンド実行方法及び装置 | |
CN109598632A (zh) | 保险业务处理方法、装置、介质及电子设备 | |
CN110223057A (zh) | 一种高并发分布式系统动态流量控制的方法及装置 | |
CN110175908A (zh) | 一种进口增值税融资方法及装置 | |
CN107833129A (zh) | 一种银衍清算方法、装置及终端设备 | |
CN107368272A (zh) | 一种双屏异触异显的方法、装置及计算机可读存储介质 | |
CN109919588A (zh) | 一种防止重复支付的方法及设备 | |
CN108415758A (zh) | 分布式事务协调方法及装置 | |
CN109615508A (zh) | 用于网银系统的数据汇总核对方法及子系统 | |
WO2018184550A1 (zh) | 理赔金的计算方法、装置、终端设备及介质 | |
CN109472680A (zh) | 一种账务处理方法及系统 | |
CN110427389A (zh) | 一种用于区块链数字货币的数据处理和查询方法 | |
CN110060149A (zh) | 一种贷后风险管控方法及系统 | |
CN108256816A (zh) | 一种佣金数据处理方法、装置及设备 | |
CN111754330A (zh) | 定期账户提前支取的计息装置及方法 | |
CN107730774A (zh) | 大额存款的方法、金融机具及计算机可读存储介质 | |
CN103577570A (zh) | 一种数据处理中的数据记录方法和系统 | |
CN108961027A (zh) | 资金管理方法、装置、计算机设备及计算机可读存储介质 | |
US10650374B1 (en) | System, method, and computer program for implementing high performance digital wallets | |
KR20200032928A (ko) | 가상 화폐를 이용한 환율 고정식 환전 방법, 장치 및 컴퓨터-판독가능 기록매체 | |
CN107424038A (zh) | 退款方法及系统 | |
CN110175918B (zh) | 一种区块链服务结构及快速部署方法 | |
CN106030507B (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: 20190910 |
|
RJ01 | Rejection of invention patent application after publication |