CN110618878B - 终态通知控速方法及装置 - Google Patents
终态通知控速方法及装置 Download PDFInfo
- Publication number
- CN110618878B CN110618878B CN201910741455.1A CN201910741455A CN110618878B CN 110618878 B CN110618878 B CN 110618878B CN 201910741455 A CN201910741455 A CN 201910741455A CN 110618878 B CN110618878 B CN 110618878B
- Authority
- CN
- China
- Prior art keywords
- final state
- state notification
- bank
- notification
- thread
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种终态通知控速方法及装置,其中方法包括:通过接收终态通知恢复请求,获取终态通知恢复白名单,终态通知恢复白名单包括至少一个银行标识;遍历终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;从预设的不同银行标识对应的单次通知允许发送数量中,获取与当前银行标识对应的单次通知允许发送数量;执行目标恢复线程,其中,在执行目标恢复线程的过程中,按照与当前银行标识对应的单次通知允许发送数量,向与当前银行标识对应的银行发送终态通知。由此,尽可能地避免大量的终态通知发送到银行,导致恶化银行交易系统的情形发生,保证交易的稳定可靠性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种终态通知控速方法及装置。
背景技术
目前,清算平台受理支付机构的交易,并请求银行受理该交易,若请求银行超时,清算平台会将受理的但交易超时的交易的状态推定为终态,并向银行发送终态通知。
在实际情形中,支付机构的交易具备高并发、大数据的特点,特别是支付机构的企业进行商业促销时,清算平台受理的支付机构的交易量可能大于银行交易受理能力,导致大量交易被推定为终态并发送大量终态通知到银行,进一步恶化银行交易系统。
申请内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种终态通知控速方法。
本申请的第二个目的在于提出一种终态通知控速装置。
本申请的第三个目的在于提出另一种终态通知控速装置。
本申请的第四个目的在于提出一种计算机可读存储介质。
本申请的第五个目的在于提出一种计算机程序产品。
为达上述目的,本申请第一方面实施例提出了一种终态通知控速方法,包括:
接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;
遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;
从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;
执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。
作为一种可能的实现方式,在所述接收终态通知恢复请求之前,还包括:
通过控速调整接口调整预设的不同银行标识对应的单次通知允许发送数量。
作为一种可能的实现方式,所述执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知,包括:
获取与所述当前银行标识对应的终态通知持久化文件;
读取所述终态通知持久化文件中的终态通知,并创建所读取的终态通知的执行线程,并将所述执行线程放入与当前银行标识对应的终态通知线程池;
按照与所述当前银行标识对应的单次通知允许发送数量,控制与当前银行标识对应的银行的令牌桶发放令牌;
控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌;
若令牌申请成功,则控制所述执行线程执行向与当前银行标识对应的银行恢复发送对应的终态通知的操作。
作为一种可能的实现方式,在所述控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌之后,还包括:
若令牌申请失败,则阻塞所述执行线程,阻塞的所述执行线程等待下一次令牌发放。
作为一种可能的实现方式,在将所述执行线程放入与当前银行标识对应的终态通知线程池之后,还包括:
监听所述终态通知线程池中的执行线程数量是否大于所述终态通知线程池的最大线程数;
若是,则阻塞执行线程放入操作。
作为一种可能的实现方式,在所述获取与所述当前银行标识对应的终态通知持久化文件之前,还包括:
确定在预设时长内获取到与所述当前银行标识对应的银行恢复执行锁。
作为一种可能的实现方式,所述获取与所述当前银行标识对应的终态通知持久化文件之前,还包括:
获取与所述当前银行标识对应的缓存列表,其中,所述缓存列表中包括一个或多个文件,所述文件包括缓存的与所述当前银行标识对应的终态通知;
将所述缓存列表中的文件进行序列化处理,并将序列化处理后的文件存储到配置路径中以所述当前银行标识为目录名称的目录下,进而形成与所述当前银行标识对应的终态通知持久化文件。
作为一种可能的实现方式,所述获取与所述当前银行标识对应的缓存列表包括:
查询配置路径中以所述当前银行标识为目录名称的目录,将查询到的与所述当前银行标识对应的初始终态通知持久化文件添加到与所述当前银行标识对应的缓存列表中;
查询与所述当前银行标识对应的银行的终态通知消息队列,将查询到的所述终态通知消息队列中的终态通知导出到缓存文件中,并将所述缓存文件添加到所述与所述当前银行标识对应的缓存列表中。
作为一种可能的实现方式,在所述获取与所述当前银行标识对应的缓存列表之前,还包括:
获取关单系统发送的终态通知;
判断所述终态通知的银行标识是否存在于预设的延时通知白名单中;
若所述终态通知的银行标识存在于所述延时通知白名单中,则将所述终态通知缓存至与所述银行标识对应的银行的终态通知消息队列中;
判断与所述银行标识对应的银行的终态通知消息队列中的容量,是否达到预设容量阈值;
若是,则对与所述银行标识对应的银行的所述终态通知消息队列中的终态通知进行序列化处理,并将序列化处理后的终态通知存储到配置路径中以所述银行标识为目录名称的目录下,形成与所述银行标识对应的初始终态通知持久化文件。
本申请实施例的终态通知控速方法,通过接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。由此,根据各个银行的单次通知允许发送数量控制单次发送到各个银行的终态通知数量,从而尽可能地避免大量的终态通知发送到银行,导致恶化银行交易系统的情形发生,保证交易的稳定可靠性。
为达上述目的,本申请第二方面实施例提出了一种终态通知控速装置,包括:
接收模块,用于接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;
处理模块,用于遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;
获取模块,用于从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;
执行模块,用于执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。
作为一种可能的实现方式,所述装置还包括:
调整模块,用于通过控速调整接口调整预设的不同银行标识对应的单次通知允许发送数量。
作为一种可能的实现方式,所述执行模块包括获取单元、处理单元、控制单元;
所述获取单元,用于获取与所述当前银行标识对应的终态通知持久化文件;
所述处理单元,用于读取所述终态通知持久化文件中的终态通知,并创建所读取的终态通知的执行线程,并将所述执行线程放入与当前银行标识对应的终态通知线程池;
所述控制单元,用于按照与所述当前银行标识对应的单次通知允许发送数量,控制与当前银行标识对应的银行的令牌桶发放令牌;
所述控制单元,还用于控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌;
所述控制单元,还用于若令牌申请成功,则控制所述执行线程执行向与当前银行标识对应的银行恢复发送对应的终态通知的操作。
作为一种可能的实现方式,所述控制单元,还用于在所述控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌之后,
若令牌申请失败,则阻塞所述执行线程,阻塞的所述执行线程等待下一次令牌发放。
作为一种可能的实现方式,所述处理单元,还用于
监听所述终态通知线程池中的执行线程数量是否大于所述终态通知线程池的最大线程数;若是,则阻塞执行线程放入操作。
作为一种可能的实现方式,所述执行模块,还包括:
确认单元,用于确定在预设时长内获取到与所述当前银行标识对应的银行恢复执行锁。
作为一种可能的实现方式,所述获取单元,还用于:
获取与所述当前银行标识对应的缓存列表,其中,所述缓存列表中包括一个或多个文件,所述文件包括缓存的与所述当前银行标识对应的终态通知;
将所述缓存列表中的文件进行序列化处理,并将序列化处理后的文件存储到配置路径中以所述当前银行标识为目录名称的目录下,进而形成与所述当前银行标识对应的终态通知持久化文件。
作为一种可能的实现方式,所述获取单元具体用于:查询配置路径中以所述当前银行标识为目录名称的目录,将查询到的与所述当前银行标识对应的初始终态通知持久化文件添加到与所述当前银行标识对应的缓存列表中;
查询与所述当前银行标识对应的银行的终态通知消息队列,将查询到的所述终态通知消息队列中的终态通知导出到缓存文件中,并将所述缓存文件添加到所述与所述当前银行标识对应的缓存列表中。
作为一种可能的实现方式,所述装置还包括缓存模块、持久化文件形成模块所述缓存模块,用于获取关单系统发送的终态通知;
所述缓存模块,还用于判断所述终态通知的银行标识是否存在于预设的延时通知白名单中;
所述缓存模块,还用于若所述终态通知的银行标识存在于所述延时通知白名单中,则将所述终态通知缓存至与所述银行标识对应的银行的终态通知消息队列中;
所述缓存模块,还用于判断与所述银行标识对应的银行的终态通知消息队列中的容量,是否达到预设容量阈值,若是,则触发持久化文件形成模块;
所述持久化文件形成模块,用于对与所述银行标识对应的银行的所述终态通知消息队列中的终态通知进行序列化处理,并将序列化处理后的终态通知存储到配置路径中以所述银行标识为目录名称的目录下,形成与所述银行标识对应的初始终态通知持久化文件。
本申请实施例的终态通知控速装置,通过接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。由此,根据各个银行的单次通知允许发送数量控制单次发送到各个银行的终态通知数量,从而尽可能地避免大量的终态通知发送到银行,导致恶化银行交易系统的情形发生,保证交易的稳定可靠性。
为达上述目的,本申请第三方面实施例提出了另一种终态通知控速装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的终态通知控速方法。
为达上述目的,本申请第四方面实施例提出了一种备付金系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的终态通知控速方法。
为了实现上述目的,本申请第五方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的终态通知控速方法。
为了实现上述目的,本申请第六方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的终态通知控速方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种终态通知控速方法的流程示意图;
图2为本申请实施例提供的一种终态通知控速方法的流程示意图;
图3为本申请实施例提供的一种终态通知控速装置的结构示意图;
图4为本申请实施例提供的另一种终态通知控速装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的终态通知控速方法及装置。
图1为本申请实施例提供的一种终态通知控速方法的流程示意图。如图1所示,该终态通知控速方法包括以下步骤:
步骤101、接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识。
具体的,本实施例提供的终态通知控速方法,执行主体为本申请提供的终态通知控速装置,该装置可以被配置在清算平台中,以实现清算平台对发送到银行的终态通知进行控速。
其中,终态通知恢复请求用于向银行恢复发送事先缓存的终态通知,终态通知恢复请求可以由守护线程定时触发,但并不限于此,触发周期根据实际情形进行设定,触发周期例如为1分钟,则守护线程每分钟触发一次终态通知恢复请求。其中,守护线程是指在程序运行的时候在后台提供一种通用服务的线程,守护线程的更多介绍详见技术。
其中,终态通知恢复白名单包括至少一个银行标识,与银行标识对应的银行为根据实际情形选择的需要将其事先缓存的终态通知进行恢复发送的银行,同时也是需要对终态通知的恢复发送的速度进行控制的银行。
其中,终态通知恢复白名单的存储位置不限,例如终态通知恢复白名单保存在Redis数据库中,Redis是一个高性能的key-value键值数据库。清算平台可以每隔预设时间周期向Redis数据库发起白名单同步请求,将Redis数据库保存的终态通知恢复白名单缓存到清算平台的内存中使用,以便在接收终态通知恢复请求时,从清算平台的内存中获取最新的终态通知恢复白名单。其中,预设时间周期例如为30秒。
步骤102、遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程。
具体的,需要为终态通知恢复白名单中每个银行标识对应的银行创建对应的目标恢复线程。目标恢复线程用于执行向与当前银行标识对应的银行恢复发送对应的终态通知的操作。
步骤103、从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量。
具体的,为了尽可能地避免大量的终态通知发送到各个银行,导致恶化银行交易系统的情形发生,考虑到各个银行的交易受理能力的不同,设置各个银行的单次通知允许发送数量,来实现对单次发送到各个银行的终态通知数量进行控制。
具体的,设置各个银行的单次通知允许发送数量,并将银行标识及对应的单次通知允许发送数量进行关联存储,这样,通过银行标识便可获取到与银行标识对应的单次通知允许发送数量。
进一步地,为了方便动态调整发送终态通知的速度,在步骤101之前,还包括:通过控速调整接口调整预设的不同银行标识对应的单次通知允许发送数量。其中,控速调整接口可供用户输入各个银行对应的单次通知允许发送数量,并根据用户输入的各个银行对应的单次通知允许发送数量调整预设的不同银行标识对应的单次通知允许发送数量。
例如,银行A的当前单次通知允许发送数量为10个。通过对一段时间内的数据分析,银行A交易系统未出现过恶化,银行A一次还可以处理更多的终态通知,这时,为了提升交易效率,可以将银行A当前单次通知允许发送数量从10个调整为12个。反之,银行A交易系统出现过恶化,银行A一次处理10个的终态通知有困难,这时,为了避免银行A的交易系统继续恶化,可以将银行A当前单次通知允许发送数量从10个调整为8个。
步骤104、执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。
具体的,目标恢复线程根据与当前银行标识对应的单次通知允许发送数量,一次或多次向与当前银行标识对应的银行发送终态通知,单次发送的终态通知数量小于或等于单次通知允许发送数量。
例如,待发送的给银行A的终态通知为50个,单次通知允许发送数量为10个,则目标恢复线程在执行过程中,单次最多发送10个终态通知到银行A中,分5次将全部的终态通知发送完毕。
本申请实施例提供的终态通知控速方法,通过接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。由此,根据各个银行的单次通知允许发送数量控制单次发送到各个银行的终态通知数量,从而尽可能地避免大量的终态通知发送到银行,导致恶化银行交易系统的情形发生,保证交易的稳定可靠性。
图2为本申请实施例提供的又一种终态通知控速方法的流程示意图。如图2所示,在图1所示的实施例的基础上,“所述执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知”,具体包括以下步骤:
步骤201、获取与所述当前银行标识对应的终态通知持久化文件。
本实施例中,在向与当前银行标识对应的银行发送终态通知之前,需要获取与当前银行标识对应的终态通知持久化文件。不同的银行,对应不同的终态通知持久化文件,每个银行的终态通知持久化文件中保存了关单系统发送的该银行的终态通知。其中,关单系统用于将受理的但交易超时的交易的状态推定为终态,并生成对应的终态通知。
具体的,事先形成了各个银行的终态通知持久化文件,并将每个银行的终态通知持久化文件保存至配置路径中以银行标识为目录名称的目录下。其中,配置路径例如为本地磁盘在的配置路径,每个银行的终态通知持久化文件的文件命名格式根据银行标识进行命名,以文件命名格式为银行ID_文件唯一标记.OBJ为例,示例的文件名为C1000000000000_07a93f52bbe7lccf9f2a02f26b51010d.obj。进而,可以根据银行标识获取对应的终态通知持久化文件的存放路径;根据所述存放路径获取与所述当前银行标识对应的终态通知持久化文件。
以下对如何形成终态通知持久化文件进行说明。
具体的,在步骤201之前,还包括以下步骤:
步骤11、获取与所述当前银行标识对应的缓存列表,其中,所述缓存列表中包括一个或多个文件,所述文件包括缓存的与所述当前银行标识对应的终态通知。
具体的,在将受理的但交易超时的交易的状态推定为终态时,即交易进入关单状态,这时关单系统会生成并缓存对应的终态通知。为了便于理解,对关单系统缓存终态通知进行说明。
具体的,在步骤11之前,所述方法还包括以下步骤:
步骤21、获取关单系统发送的终态通知。
具体的,每个终态通知都携带其对应的银行标识,以标识其所归属的银行。
步骤22、判断所述终态通知的银行标识是否存在于预设的延时通知白名单中。
具体的,延时通知白名单包括至少一个银行标识,与银行标识对应的银行为根据实际情形选择的需要进行延时发送对应的终态通知的银行。
其中,延时通知白名单的存储位置不限,例如延时通知白名单保存在Redis数据库中,Redis是一个高性能的key-value键值数据库。清算平台可以每隔预设时间周期向Redis数据库发起白名单同步请求,将Redis数据库保存的延时通知白名单缓存到清算平台的内存中使用,以使从清算平台的内存中存储最新的延时通知白名单。其中,预设时间周期例如为30秒。
步骤23、若所述终态通知的银行标识存在于所述延时通知白名单中,则将所述终态通知缓存至与所述银行标识对应的银行的终态通知消息队列中。
步骤24、判断与所述银行标识对应的银行的终态通知消息队列中的容量,是否达到预设容量阈值。
其中,预设容量阈值根据实际情形进行设定,预设容量阈值例如为500。
步骤25、若是,则对与所述银行标识对应的银行的所述终态通知消息队列中的终态通知进行序列化处理,并将序列化处理后的终态通知存储到配置路径中以所述银行标识为目录名称的目录下,形成与所述银行标识对应的初始化终态通知持久化文件。
以预设容量阈值为500为例,当终态通知消息队列中的终态通知数量达到500时,则将终态通知消息队列整体序列化到整体序列化到本地磁盘中配置路径下以银行ID为目录名称的目录下,文件命名格式为:银行ID_文件唯一标记.OBJ(例如:C1000000000000_07a93f52bbe7lccf9f2a02f26b51010d.obj)。
具体的,在配置路径中以所述当前银行标识为目录名称的目录中可能保存了与所述当前银行标识对应的初始终态通知持久化文件;与所述当前银行标识对应的银行的终态通知消息队列也可能也存在终态通知。
为了缓存的与当前银行标识对应的全部终态通知,步骤11的具体实现方式为:查询配置路径中以所述当前银行标识为目录名称的目录,将查询到的与所述当前银行标识对应的初始终态通知持久化文件添加到与所述当前银行标识对应的缓存列表中;查询与所述当前银行标识对应的银行的终态通知消息队列,将查询到的所述终态通知消息队列中的终态通知导出到缓存文件中,并将所述缓存文件添加到所述与所述当前银行标识对应的缓存列表中。
步骤12、将所述缓存列表中的文件进行序列化处理,并将序列化处理后的文件存储到配置路径中以所述当前银行标识为目录名称的目录下,进而形成与所述当前银行标识对应的终态通知持久化文件。
具体的,缓存列表中的文件进行序列化处理后形成与当前银行标识对应的终态通知持久化文件,与当前银行标识对应的终态通知持久化文件保存至配置路径中以当前银行标识为目录名称的目录下。其中,配置路径例如为本地磁盘中的配置路径。每个银行的终态通知持久化文件的文件命名格式根据银行标识进行命名。以文件命名格式为银行ID_文件唯一标记.OBJ为例,示例的文件名为如下:
C1000000000000_07a93f52bbe7lccf9f2a02f26b51010d.obj。进而,可以根据银行标识获取对应的终态通知持久化文件的存放路径;根据所述存放路径获取与所述当前银行标识对应的终态通知持久化文件。
步骤202、读取所述终态通知持久化文件中的终态通知,并创建所读取的终态通知的执行线程,并将所述执行线程放入与当前银行标识对应的终态通知线程池。
具体的,不同的银行,对应不同的终态通知线程池。对每个银行,依次读取该银行的通知持久化文件中的每个终态通知,并创建所读取的终态通知的执行线程,并将执行线程放入该银行的终态通知线程池中。
例如,银行A的通知持久化文件A中有10个终态通知,为每个终态通知创建对应的执行线程,将所创建的执行线程放入银行A的终态通知线程池中。
进一步地,为了释放存储空间,在所述读取所述终态通知持久化文件中的终态通知之后,还包括:删除所述终态通知持久化文件。
进一步地,在将所述执行线程放入与当前银行标识对应的终态通知线程池之后,所述方法还包括:监听所述终态通知线程池中的执行线程数量是否大于所述终态通知线程池的最大线程数;若是,则阻塞执行线程放入操作。
具体的,各个终态通知线程池都有其所对应的最大线程数,最大线程数为终态通知线程池中最多放入的执行线程数量。例如,终态通知线程池对应的最大队列长度为50,即终态通知线程池对应的最大线程数为50,在该,终态通知线程池最多放入的执行线程数量为50个。
需要指出的是,在执行线程执行完向银行发送终态通知的操作之后,在对应的终态通知线程池中删除该执行线程,这样,终态通知线程池可以放入更多的执行线程。
步骤203、按照与所述当前银行标识对应的单次通知允许发送数量,控制与当前银行标识对应的银行的令牌桶发放令牌。
具体的,根据每个银行的单次通知允许发送数量,为每个银行封装一个限流器,该限流器可以控制该银行对应的令牌桶单次发放令牌的最大令牌数量。其中,为了提供秒级的令牌平滑发放,可以采用Guava RateLimiter限流器。Guava是Java领域优秀的开源项目,Guava的RateLimiter能够提供秒级的令牌平滑发放。
步骤204、控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌。
步骤205、若令牌申请成功,则控制所述执行线程执行向与当前银行标识对应的银行恢复发送对应的终态通知的操作。
具体的,若令牌申请成功,申请到令牌的执行线程有权限执行向银行发送终态通知的操作。若令牌申请失败,则阻塞执行线程,阻塞的执行线程等待下一次令牌发放。由此,通过控制令牌桶单次发放令牌的最大令牌数量,实现单次获取到令牌的执行线程数目,进而控制单次发送到银行终态通知的数目。
需要指出的是,在令牌被执行线程申请成功后,在令牌桶中删除对应的令牌。在执行线程执行完向银行发送终态通知的操作之后,在对应的终态通知线程池中删除该执行线程。
例如,预先设置的银行A的单次通知允许发送数量为10个,则为银行A所封装的限流器能够控制银行A的令牌桶单次发放令牌的最多令牌数量为10个。银行A的令牌桶单次发放的发放令牌的最多令牌数量为10个,单次获取到令牌的执行线程的最多数量为10个,则单次向银行终态通知的最多数目为10个。
进一步地,在获取与所述当前银行标识对应的终态通知持久化文件之前,所述方法还包括:确定在预设时长内获取到与所述当前银行标识对应的银行恢复执行锁。
具体的,每个银行均有对应的银行恢复执行锁,若在预设时长内获取到与当前银行标识对应的银行恢复执行锁,则执行对该银行的终态通知恢复发送操作;若在预设时长内未获取到与当前银行标识对应的银行恢复执行锁,则拒绝执行对该银行的终态通知恢复发送操作。其中,预设时长根据实际情形进行设定,预设时长例如为1秒。
需要说明的是,在将银行的全部的终态通知均已向对应银行发送完毕后,释放该银行的终态通知恢复执行锁,等待下次终态通知恢复请求。
本申请实施例提供的终态通知控速方法,通过接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。由此,根据各个银行的单次通知允许发送数量控制单次发送到各个银行的终态通知数量,从而尽可能地避免大量的终态通知发送到银行,导致恶化银行交易系统的情形发生,保证交易的稳定可靠性。
图3为本申请实施例提供的一种终态通知控速装置的结构示意图。如图3所示,该终态通知控速装置包括:接收模块11、处理模块12、获取模块13、执行模块14;
接收模块11,用于接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;
处理模块12,用于遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;
获取模块13,用于从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;
执行模块14,用于执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。
作为一种可能的实现方式,所述装置还包括:
调整模块,用于通过控速调整接口调整预设的不同银行标识对应的单次通知允许发送数量。
作为一种可能的实现方式,所述执行模块14包括获取单元、处理单元、控制单元;
所述获取单元,用于获取与所述当前银行标识对应的终态通知持久化文件;
所述处理单元,用于读取所述终态通知持久化文件中的终态通知,并创建所读取的终态通知的执行线程,并将所述执行线程放入与当前银行标识对应的终态通知线程池;
所述控制单元,用于按照与所述当前银行标识对应的单次通知允许发送数量,控制与当前银行标识对应的银行的令牌桶发放令牌;
所述控制单元,还用于控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌;
所述控制单元,还用于若令牌申请成功,则控制所述执行线程执行向与当前银行标识对应的银行恢复发送对应的终态通知的操作。
作为一种可能的实现方式,所述控制单元,还用于在所述控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌之后,
若令牌申请失败,则阻塞所述执行线程,阻塞的所述执行线程等待下一次令牌发放。
作为一种可能的实现方式,所述处理单元,还用于监听所述终态通知线程池中的执行线程数量是否大于所述终态通知线程池的最大线程数;若是,则阻塞执行线程放入操作。
作为一种可能的实现方式,所述执行模块14,还包括:
确认单元,用于确定在预设时长内获取到与所述当前银行标识对应的银行恢复执行锁。
作为一种可能的实现方式,所述获取单元,还用于:
获取与所述当前银行标识对应的缓存列表,其中,所述缓存列表中包括一个或多个文件,所述文件包括缓存的与所述当前银行标识对应的终态通知;
将所述缓存列表中的文件进行序列化处理,并将序列化处理后的文件存储到配置路径中以所述当前银行标识为目录名称的目录下,进而形成与所述当前银行标识对应的终态通知持久化文件。
作为一种可能的实现方式,所述获取单元具体用于:查询配置路径中以所述当前银行标识为目录名称的目录,将查询到的与所述当前银行标识对应的初始终态通知持久化文件添加到与所述当前银行标识对应的缓存列表中;
查询与所述当前银行标识对应的银行的终态通知消息队列,将查询到的所述终态通知消息队列中的终态通知导出到缓存文件中,并将所述缓存文件添加到所述与所述当前银行标识对应的缓存列表中。
作为一种可能的实现方式,所述装置还包括缓存模块、持久化文件形成模块所述缓存模块,用于获取关单系统发送的终态通知;
所述缓存模块,还用于判断所述终态通知的银行标识是否存在于预设的延时通知白名单中;
所述缓存模块,还用于若所述终态通知的银行标识存在于所述延时通知白名单中,则将所述终态通知缓存至与所述银行标识对应的银行的终态通知消息队列中;
所述缓存模块,还用于判断与所述银行标识对应的银行的终态通知消息队列中的容量,是否达到预设容量阈值,若是,则触发持久化文件形成模块;
所述持久化文件形成模块,用于对与所述银行标识对应的银行的所述终态通知消息队列中的终态通知进行序列化处理,并将序列化处理后的终态通知存储到配置路径中以所述银行标识为目录名称的目录下,形成与所述银行标识对应的初始终态通知持久化文件。
需要说明的是,前述对终态通知控速方法实施例的解释说明也适用于该实施例的终态通知控速装置,其实现原理类似,此处不再赘述。
本申请实施例的终态通知控速装置,通过接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。由此,根据各个银行的单次通知允许发送数量控制单次发送到各个银行的终态通知数量,从而尽可能地避免大量的终态通知发送到银行,导致恶化银行交易系统的情形发生,保证交易的稳定可靠性。
图4为本申请实施例提供的另一种终态通知控速装置的结构示意图。该终态通知控速装置包括:
存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序。
处理器1002执行所述程序时实现上述实施例中提供的终态通知控速方法。
进一步地,终态通知控速装置还包括:
通信接口1003,用于存储器1001和处理器1002之间的通信。
存储器1001,用于存放可在处理器1002上运行的计算机程序。
存储器1001可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1002,用于执行所述程序时实现上述实施例所述的终态通知控速方法。
如果存储器1001、处理器1002和通信接口1003独立实现,则通信接口1003、存储器1001和处理器1002可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1001、处理器1002及通信接口1003,集成在一块芯片上实现,则存储器1001、处理器1002及通信接口1003可以通过内部接口完成相互间的通信。
处理器1002可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的终态通知控速方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (11)
1.一种终态通知控速方法,其特征在于,包括:
接收终态通知恢复请求,获取终态通知恢复白名单,所述终态通知恢复白名单包括至少一个银行标识;
遍历所述终态通知恢复白名单,并创建与遍历得到的当前银行标识对应银行的目标恢复线程;
从预设的不同银行标识对应的单次通知允许发送数量中,获取与所述当前银行标识对应的单次通知允许发送数量;
执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知。
2.如权利要求1所述的方法,其特征在于,在所述接收终态通知恢复请求之前,还包括:
通过控速调整接口调整预设的不同银行标识对应的单次通知允许发送数量。
3.如权利要求1所述的方法,其特征在于,所述执行所述目标恢复线程,其中,在执行所述目标恢复线程的过程中,按照与所述当前银行标识对应的单次通知允许发送数量,向与所述当前银行标识对应的银行发送终态通知,包括:
获取与所述当前银行标识对应的终态通知持久化文件;
读取所述终态通知持久化文件中的终态通知,并创建所读取的终态通知的执行线程,并将所述执行线程放入与当前银行标识对应的终态通知线程池;
按照与所述当前银行标识对应的单次通知允许发送数量,控制与当前银行标识对应的银行的令牌桶发放令牌;
控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌;
若令牌申请成功,则控制所述执行线程执行向与当前银行标识对应的银行恢复发送对应的终态通知的操作。
4.如权利要求3所述的方法,其特征在于,在所述控制所述终态通知线程池中的执行线程向所述令牌桶申请令牌之后,还包括:
若令牌申请失败,则阻塞所述执行线程,阻塞的所述执行线程等待下一次令牌发放。
5.如权利要求3所述的方法,其特征在于,在将所述执行线程放入与当前银行标识对应的终态通知线程池之后,还包括:
监听所述终态通知线程池中的执行线程数量是否大于所述终态通知线程池的最大线程数;
若是,则阻塞执行线程放入操作。
6.如权利要求3所述的方法,其特征在于,在所述获取与所述当前银行标识对应的终态通知持久化文件之前,还包括:
确定在预设时长内获取到与所述当前银行标识对应的银行恢复执行锁。
7.如权利要求3所述的方法,其特征在于,所述获取与所述当前银行标识对应的终态通知持久化文件之前,还包括:
获取与所述当前银行标识对应的缓存列表,其中,所述缓存列表中包括一个或多个文件,所述文件包括缓存的与所述当前银行标识对应的终态通知;
将所述缓存列表中的文件进行序列化处理,并将序列化处理后的文件存储到配置路径中以所述当前银行标识为目录名称的目录下,进而形成与所述当前银行标识对应的终态通知持久化文件。
8.如权利要求7所述的方法,其特征在于,所述获取与所述当前银行标识对应的缓存列表包括:
查询配置路径中以所述当前银行标识为目录名称的目录,将查询到的与所述当前银行标识对应的初始终态通知持久化文件添加到与所述当前银行标识对应的缓存列表中;
查询与所述当前银行标识对应的银行的终态通知消息队列,将查询到的所述终态通知消息队列中的终态通知导出到缓存文件中,并将所述缓存文件添加到所述与所述当前银行标识对应的缓存列表中。
9.如权利要求7所述的方法,其特征在于,在所述获取与所述当前银行标识对应的缓存列表之前,还包括:
获取终态通知;
判断所述终态通知的银行标识是否存在于预设的延时通知白名单中;
若所述终态通知的银行标识存在于所述延时通知白名单中,则将所述终态通知缓存至与所述银行标识对应的银行的终态通知消息队列中;
判断与所述银行标识对应的银行的终态通知消息队列中的容量,是否达到预设容量阈值;
若是,则对与所述银行标识对应的银行的所述终态通知消息队列中的终态通知进行序列化处理,并将序列化处理后的终态通知存储到配置路径中以所述银行标识为目录名称的目录下,形成与所述银行标识对应的初始终态通知持久化文件。
10.一种终态通知控速装置,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-9中任一所述的终态通知控速方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的终态通知控速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910741455.1A CN110618878B (zh) | 2019-08-12 | 2019-08-12 | 终态通知控速方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910741455.1A CN110618878B (zh) | 2019-08-12 | 2019-08-12 | 终态通知控速方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110618878A CN110618878A (zh) | 2019-12-27 |
CN110618878B true CN110618878B (zh) | 2022-02-01 |
Family
ID=68921800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910741455.1A Active CN110618878B (zh) | 2019-08-12 | 2019-08-12 | 终态通知控速方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618878B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494703A (zh) * | 2018-03-08 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 一种访问频率控制方法、装置及存储介质 |
CN109756528A (zh) * | 2017-11-01 | 2019-05-14 | 广州腾讯科技有限公司 | 频率控制方法及装置、设备、存储介质、服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9253113B2 (en) * | 2012-09-07 | 2016-02-02 | Oracle International Corporation | Customizable model for throttling and prioritizing orders in a cloud environment |
GB201516673D0 (en) * | 2015-09-21 | 2015-11-04 | Nicoventures Holdings Ltd | Topology |
-
2019
- 2019-08-12 CN CN201910741455.1A patent/CN110618878B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756528A (zh) * | 2017-11-01 | 2019-05-14 | 广州腾讯科技有限公司 | 频率控制方法及装置、设备、存储介质、服务器 |
CN108494703A (zh) * | 2018-03-08 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 一种访问频率控制方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110618878A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109862065B (zh) | 文件下载方法、装置和电子设备 | |
CN109936511B (zh) | 一种令牌获取方法、装置、服务器、终端设备及介质 | |
US7418465B1 (en) | File system block reservation manager | |
US20120167116A1 (en) | Automated merger of logically associated messgages in a message queue | |
US20110173506A1 (en) | Clearing SCSI Reservations for Non-Detectable Initiators for Extended Duration | |
US20120054175A1 (en) | Estimating and monitoring query processing time | |
CN109710695B (zh) | 事务请求有效性识别和发起方法、装置、设备和介质 | |
EP3295293B1 (en) | Thread safe lock-free concurrent write operations for use with multi-threaded in-line logging | |
CN108519920B (zh) | 一种调度重试方法及装置 | |
CN108958975B (zh) | 一种控制数据恢复速度的方法、装置及设备 | |
US20150134925A1 (en) | Granting and revoking supplemental memory allocation requests | |
CN108111325B (zh) | 一种资源分配方法及装置 | |
CN109471843B (zh) | 一种元数据缓存方法、系统及相关装置 | |
US11936568B2 (en) | Stream allocation using stream credits | |
US20220407817A1 (en) | Resource allocation using distributed segment processing credits | |
CN110618878B (zh) | 终态通知控速方法及装置 | |
US20060085598A1 (en) | Storage-device resource allocation method and storage device | |
CN110009320B (zh) | 资源转换方法、装置、系统、存储介质和计算机设备 | |
CN111242621B (zh) | 交易数据存储方法、装置、设备及存储介质 | |
EP3709178A1 (fr) | Procédé de gestion d'accès à un bus informatique partagé, et dispositif électronique correspondant | |
CN113905092B (zh) | 一种确定可复用代理队列的方法、装置、终端及存储介质 | |
CN110458537B (zh) | 出金交易处理方法及装置 | |
US10002077B2 (en) | Persistent memory controller based atomicity assurance | |
GB2509505A (en) | Issuing a write to a secondary storage device, when a write to a primary storage device takes too long | |
CN109347940B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |