CN113837740A - 账户结算方法、装置、电子设备和存储介质 - Google Patents
账户结算方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113837740A CN113837740A CN202111122269.3A CN202111122269A CN113837740A CN 113837740 A CN113837740 A CN 113837740A CN 202111122269 A CN202111122269 A CN 202111122269A CN 113837740 A CN113837740 A CN 113837740A
- Authority
- CN
- China
- Prior art keywords
- account
- sub
- settlement
- ith
- task
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000015654 memory Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment 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/22—Payment schemes or models
- G06Q20/227—Payment schemes or models characterised in that multiple accounts are available, e.g. to the payer
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例提供了一种账户结算方法、装置、电子设备和存储介质,该方法包括:接收结算请求,获取账户状态信息,账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于等于1的整数;在比例小于等于预设值时,对第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到主账户的第i+1子账户集合;第i+1子账户集合的账户数小于第i子账户集合的账户数;在第i+1子账户集合中确定目标子账户;根据结算请求,对目标子账户进行账户结算。基于本申请提供的账户结算方法,可以提高主账户对多个结算任务的结算效率。
Description
技术领域
本申请实施例涉及电子商务技术领域,尤其涉及一种账户结算方法、装置、电子设备和计算机存储介质。
背景技术
在电子商务(Electronic Business)的账户系统中,对于某一个热点账户,在同一时间存在来自多个订单的结算任务(Settlement task),多个订单的结算任务存在时间冲突。在相关技术中,为了实现多个不同结算任务的独立性,采用主账户(Master Account)的多个不同的子账户(Sub Account)对多个不同的结算任务进行任务处理。
在对结算任务进行处理时,需要对子账户的账户余额(Account balances)进行扣减,随着子账户的账户余额的不断扣减,部分子账户的账户余额逐渐小于结算任务的扣减金额,越来越多的子账户将处于不可用状态。在此情况下,难以实现对多个订单的结算任务进行并行处理,对多个结算任务的结算效率较低。因此,如何提高主账户对多个结算任务的结算效率成为亟待解决的重要问题。
发明内容
本申请实施例提供了一种账户结算方法、装置、电子设备和计算机存储介质,可以提高主账户对多个结算任务的结算效率。
本申请实施例提供的一种账户结算方法,包括:
接收结算请求,获取账户状态信息,所述账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于等于1的整数;
在所述比例小于等于预设值时,对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到所述主账户的第i+1子账户集合;所述第i+1子账户集合的账户数小于所述第i子账户集合的账户数;
在所述第i+1子账户集合中确定目标子账户;根据所述结算请求,对所述目标子账户进行账户结算。
在一种实现方式中,所述结算请求用于对至少一个结算任务进行结算;所述在所述第i+1子账户集合中确定目标子账户,包括:
获取第一序列信息,所述第一序列信息用于指示对所述第i+1子账户集合中每一个子账户的序号信息;
获取第二序列信息,所述第二序列信息用于指示所述至少一个结算任务中每一个结算任务的序号信息;
根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户。
在一种实现方式中,所述第二序列信息包括第j个结算任务的序号;
所述根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户,包括:
根据所述第i+1子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
根据所述取模运算的结果,确定所述第j个结算任务对应的子账户在所述第一序列信息中的序号信息;
根据所述对应的子账户在所述第一序列信息中的序号信息,确定所述第j个结算任务对应的目标子账户。
在一种实现方式中,所述方法还包括:
在所述主账户的状态值指示所述第i子账户集合中每个子账户的账户余额的总和小于所述第一阈值时,向所述结算请求返回结算失败的提示信息;
在所述主账户的状态值指示对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配时,间隔预设时长后在所述第i+1子账户集合中确定目标子账户;
在所述主账户的状态值指示所述比例大于等于所述预设值时,在所述第i子账户集合中确定目标子账户。
在一种实现方式中,所述方法还包括:
确认对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配完成;对所述主账户的状态值进行更新。
在一种实现方式中,所述结算请求用于对至少一个结算任务进行结算;所述至少一个结算任务包括第j个结算任务;
所述在所述第i子账户集合中确定目标子账户,包括:
根据所述第一子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户满足预设条件时,将所述第k个子账户确定为所述目标子账户;
其中,所述预设条件包括账户余额大于所述第一阈值。
在一种实现方式中,所述方法还包括:
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户不满足所述预设条件时,获取所述第k+1个子账户的账户余额和所述第一阈值的比较结果;
根据所述比较结果,在所述第k+1个子账户满足所述预设条件时,将所述第k+1个子账户确定为所述目标子账户。
本申请实施例提供的一种账户结算装置,包括:
获取模块,用于接收结算请求,获取账户状态信息,所述账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于等于1的整数;
处理模块,用于在所述比例小于等于预设值时,对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到所述主账户的第i+1子账户集合;所述第i+1子账户集合的账户数小于所述第i子账户集合的账户数;
结算模块,用于在所述第i+1子账户集合中确定目标子账户;根据所述结算请求,对所述目标子账户进行账户结算。
在一种实现方式中,所述结算请求用于对至少一个结算任务进行结算;所述结算模块,用于在所述第i+1子账户集合中确定目标子账户,包括:
获取第一序列信息,所述第一序列信息用于指示对所述第i+1子账户集合中每一个子账户的序号信息;
获取第二序列信息,所述第二序列信息用于指示所述至少一个结算任务中每一个结算任务的序号信息;
根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户。
在一种实现方式中,所述第二序列信息包括第j个结算任务的序号;
所述结算模块,用于根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户,包括:
根据所述第i+1子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
根据所述取模运算的结果,确定所述第j个结算任务对应的子账户在所述第一序列信息中的序号信息;
根据所述对应的子账户在所述第一序列信息中的序号信息,确定所述第j个结算任务对应的目标子账户。
在一种实现方式中,所述处理模块,还用于:
在所述主账户的状态值指示所述第i子账户集合中每个子账户的账户余额的总和小于所述第一阈值时,向所述结算请求返回结算失败的提示信息;
在所述主账户的状态值指示对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配时,间隔预设时长后在所述第i+1子账户集合中确定目标子账户;
在所述主账户的状态值指示所述比例大于等于所述预设值时,在所述第i子账户集合中确定目标子账户。
在一种实现方式中,所述处理模块,还用于:
确认对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配完成;对所述主账户的状态值进行更新。
在一种实现方式中,所述结算请求用于对至少一个结算任务进行结算;所述至少一个结算任务包括第j个结算任务;
所述处理模块,用于在所述第i子账户集合中确定目标子账户,包括:
根据所述第一子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户满足预设条件时,将所述第k个子账户确定为所述目标子账户;
其中,所述预设条件包括账户余额大于所述第一阈值。
在一种实现方式中,所述处理模块,还用于:
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户不满足所述预设条件时,获取所述第k+1个子账户的账户余额和所述第一阈值的比较结果;
根据所述比较结果,在所述第k+1个子账户满足所述预设条件时,将所述第k+1个子账户确定为所述目标子账户。
本申请实施例提供一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的账户结算方法。
本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的账户结算方法。
基于本申请提供的账户结算方法,账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例;因此,可以实时监控子账户的在账户余额扣减后的处于可用状态的比例。在比例小于等于预设值时,对第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到主账户的第i+1子账户集合;由于第i+1子账户集合的账户数小于第i子账户集合的账户数;因此,第i+1子账户集合中每个子账户的账户余额的平均值大于第i子账户集合中每个子账户的账户余额的平均值,从而,提高了主账户的多个子账户中处于可用状态的子账户的比例。在第i+1子账户集合中确定目标子账户;根据结算请求,对目标子账户进行账户结算,可以提高主账户对多个结算任务的结算效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
图1为本申请实施例提供的一种账户结算方法的应用场景图;
图2为本申请实施例提供的一种账户结算方法的流程示意图;
图3为本申请实施例提供的在第i+1子账户集合中确定目标子账户的流程示意图;
图4为本申请实施例提供的在第i+1子账户集合中确定每一个结算任务对应的目标子账户的流程示意图;
图5为本申请实施例提供的又一种账户结算方法的流程示意图;
图6为本申请实施例提供的又一种账户结算方法的流程示意图;
图7为本申请实施例提供的一种账户结算装置的示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
图1示出了本申请实施例提供的一种账户结算方法的应用场景图。参见图1,在电子商务的账户系统中,对于某一个热点账户,建立主账户101的子账户集合102,子账户集合102中存在M个子账户。子账户集合102可以记作{账户A1、账户A2、账户A3、…账户Ai…、账户AM}。在同一时间存在来自多个订单的结算任务时,采用子账户集合102中的多个不同的子账户,对多个不同的结算任务进行任务处理。
在示例中,依据主账户的标识信息,在Redis数据库中记录主账户的状态值,指示主账户的运行状态。
表1第i子账户集合在Redis数据库中的字段信息
序号 | 字段 | 字段说明 |
1 | accout_id | 主账户的标识信息 |
2 | account_index | 子账户的位置 |
3 | Bal | 子账户的账户余额 |
4 | use_status | 主账户的可用状态 |
5 | Status | 主账户的状态值 |
在示例中,将每个子账户的账户余额记录在Redis数据库中。参见表1,第i子账户集合在数据库中的字段信息,可以包括以下字段信息:accout_id、account_index、bal、use_status、status。
其中,accout_id为主账户的标识信息;account_index为子账户的位置;bal为子账户的账户余额;use_status为主账户的可用状态;status为主账户的状态值。
以下,对本申请实施例采用的Redis数据库进行简要介绍。
在示例中,基于Redis数据库组件提供全局的锁机制,避免分布式下的并发任务竞争。分布式锁,属于分布式下各服务器通过获取唯一的外部锁。
在Redis数据库中,乐观锁属于SQL语句更新时不添加数据库的锁;悲观锁属于显示的添加数据库行级排他锁,防止其他任务并发操作同行数据。
在示例中,基于where条件语句里携带预期的版本号,对Redis数据库的版本号进行更新,更新期间若存在并发的结算任务,账户数据的版本号将增长。
应理解,SQL语句执行时,在查询条件不满足的情况下,在Redis数据库中更新0行数据,以此,处理并发更新问题。
在示例中,采用主备集群部署Redis数据库,保证Redis数据库处于高可用状态,订单任务的结算环境依赖Redis数据库。在Redis数据库处于异常状态时,可以将Redis数据库从主集群切换到备用集群。
图2示出了本申请实施例提供的账户结算方法的示意性流程图。参见图2,本申请实施例提供的账户结算方法,可以包括以下步骤:
步骤A201:接收结算请求,获取账户状态信息,账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于等于1的整数。
这里,主账户可以属于电商平台的结算系统中的账户,或者金融结算系统中的账户。以下,以电商平台的结算系统中的账户为例。
在示例中,电商平台的结算系统,接收发起方提交的结算请求,结算请求用于请求对主账户关联的至少一个结算任务进行结算。
例如,请求根据主账户关联的至少一个结算任务,对主账户的账户余额进行扣减,从主账户的账户余额中扣减预设金额。
在示例中,根据至少一个结算任务涉及商品订单的订单金额确定预设金额。
这里,采用哈希一致性算法分配主账户的子账户,得到第i子账户集合,第i子账户集合中可以包括M个子账户。参见表2,第i子账户集合可以记作{账户A1、账户A2、账户A3、…账户Ai…、账户AM}。
其中,账户Ai为第i子账户集合中第i个子账户,账户AM为第i子账户集合中第M个子账户。
表2第i子账户集合中的子账户信息
子账户的标识信息 | A<sub>1</sub> | A<sub>2</sub> | A<sub>3</sub> | … | A<sub>i</sub> | … | A<sub>M</sub> |
子账户的账户余额 | R<sub>1</sub> | R<sub>2</sub> | R<sub>3</sub> | … | R<sub>i</sub> | … | R<sub>M</sub> |
在示例中,将结算任务的扣减金额的最大值确定为第一阈值,或者,将主账户的历史订单中每个订单的平均扣减金额确定为第一阈值。
以下,将主账户的账户余额记作Sum,将第一阈值记作a。第i子账户集合中的子账户的账户数记作M,第i+1子账户集合中的子账户的账户数N。
在示例中,依据主账户的账户余额Sum和第一阈值a,确定第i子账户集合中的子账户的账户数M,计算公式的形式如下所示:
M=[Sum%a](1)
这里,[x]表示对x的取整运算。例如,主账户的账户余额Sum=10000,第一阈值a=1000,则第i子账户集合中的子账户的账户数M=[Sum%a]=[10000/500]=20。
应理解,在第i子账户集合中,在子账户的账户余额扣减前,对子账户余额初始化,根据子账户的账户数M将主账户的账户余额平均分成M份,确定每个子账户的账户余额。
在示例中,从Redis数据库中获取标识信息对应的子账户的账户信息,比较子账户的账户余额和第一阈值的大小,以此获取账户状态信息,账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例。
步骤A202:在比例小于等于预设值时,对第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到主账户的第i+1子账户集合;第i+1子账户集合的账户数小于第i子账户集合的账户数。
这里,第i+1子账户集合中可以包括N个子账户,参见表3,第i+1子账户集合可以记作{账户A1、账户A2、账户A3、…账户Ai…、账户AN}。其中,账户Ai为第i个子账户,账户AN为第N个子账户。
表3第i+1子账户集合中的子账户信息
子账户的标识信息 | A<sub>1</sub> | A<sub>2</sub> | A<sub>3</sub> | … | A<sub>i</sub> | … | A<sub>N</sub> |
子账户的账户余额 | R<sub>1</sub> | R<sub>2</sub> | R<sub>3</sub> | … | R<sub>i</sub> | … | R<sub>N</sub> |
应理解,在比例小于等于预设值时,说明主账户的多个子账户中处于可用状态的子账户的比例较低,需要进行重新初始化子账户的数量与金额。
例如,第i子账户集合中账户余额大于第一阈值的子账户的比例小于50%,此时,Redis数据库中不可用缓存set集合总数大于N/2,对第i子账户集合中每个子账户的账户余额的总和进行重新分配。
在此情况下,根据主账户的标识信息,在Redis数据库中将主账户的状态值更新为第1状态值,表示对第i子账户集合中每个子账户的账户余额的总和进行重新分配。
例如,第i子账户集合中子账户的账户数可以记作N,N为大于1的整数,在第i子账户集合中账户余额大于第一阈值的子账户的数量大于1时,将第i+1子账户集合中子账户的账户数设置为N=M/2。这里,M可以取值为偶数。
步骤A203:在第i+1子账户集合中确定目标子账户;根据结算请求,对目标子账户进行账户结算。
在示例中,在第i+1子账户集合中确定目标子账户,在Redis分布式锁锁定时,对目标子账户进行余额扣减操作,解决子账户余额扣减的时间冲突问题。
在示例中,根据结算请求,基于数据库的乐观锁,对目标子账户进行Redis加锁,如果加锁失败,重试待加锁成功。进而,对目标子账户进行账户结算,保障对主账户每次扣减金额的一致性。
应理解,在对目标子账户的账户余额扣减余额成功,表示对结算请求处理完成。
基于本申请提供的账户结算方法,账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例;因此,可以实时监控子账户的在账户余额扣减后的处于可用状态的比例。在比例小于等于预设值时,对第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到主账户的第i+1子账户集合;由于第i+1子账户集合的账户数小于第i子账户集合的账户数;因此,第i+1子账户集合中每个子账户的账户余额的平均值大于第i子账户集合中每个子账户的账户余额的平均值,从而,提高了主账户的多个子账户中处于可用状态的子账户的比例。在第i+1子账户集合中确定目标子账户;根据结算请求,对目标子账户进行账户结算,可以提高主账户对多个结算任务的结算效率。
在实际应用中,上述步骤A201至步骤A203可以采用处理器实现,上述处理器可以为专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital SignalProcessingDevice,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
基于前述实施例相同的技术构思,在一种实现方式中,上述步骤A202中,对第i子账户集合中每个子账户的账户余额的总和进行重新分配,可以包括以下步骤:
步骤1:依据主账户的标识信息,统计第i子账户集合中每个子账户的账户余额,确定第i子账户集合中每个子账户的账户余额的总和Sum(R1,R2,…,RM)。
步骤2:采用N对总和Sum(R1,R2,…,RM)进行整除,得到第i+1子账户集合中每个子账户对应的账户余额。
步骤3:将每个子账户对应的账户余额依次从总和Sum(R1,R2,…,RM)中扣除,存储到第i+1子账户集合每个子账户的标识信息对应的账户余额中。
应理解,在第i+1子账户集合中,第N个子账户BN的账户余额可以是总和Sum(R1,R2,…,RM)减去第1至第N-1个子账户中每个子账户的账户余额的金额。
在示例中,根据子账户的标识信息,将子账户的账户余额写入Redis数据库,同时,在Redis数据库中记录第i子账户集合到第i+1子账户集合的子账户变更记录,以及第i+1子账户集合中子账户的账户数。
即,记录每次重新分配的子账户的数量以及金额,监控整个子账户的账户余额扣减情况。
基于前述实施例相同的技术构思,在一种实现方式中,结算请求用于对至少一个结算任务进行结算;上述步骤A203中,在第i+1子账户集合中确定目标子账户,参见图3,可以包括以下步骤:
步骤A301:获取第一序列信息,第一序列信息用于指示对第i+1子账户集合中每一个子账户的序号信息。
这里,第一序列信息用于指示对第i+1子账户集合中每一个子账户的结算次序信息。
在示例中,根据主账户的标识信息,在Redis数据库中读取主账户的第i+1子账户集合中每一个子账户的序号信息。
步骤A302:获取第二序列信息,第二序列信息用于指示至少一个结算任务中每一个结算任务的序号信息。
这里,第二序列信息用于指示至少一个结算任务中每一个结算任务的时间序列信息。在第二序列信息中,第j个结算任务的序号j对应第j个结算任务。
在示例中,接收结算请求,对结算请求进行解析,确定待处理的至少一个结算任务的标识信息和至少一个结算任务中每一个结算任务的时间序列信息。
在示例中,根据至少一个结算任务中每一个结算任务的时间序列信息,建立待处理的结算任务的任务队列信息,在任务队列信息中为每一个结算任务分配一个序号。
步骤A303:根据第一序列信息和第二序列信息,在第i+1子账户集合中确定每一个结算任务对应的目标子账户。
在示例中,根据对第i+1子账户集合中每一个子账户的结算次序信息、至少一个结算任务中每一个结算任务的时间序列信息,对第i+1子账户集合中每一个子账户进行轮询,在第i+1子账户集合中确定每一个结算任务对应的目标子账户。
即,按照子账户的结算次序信息和结算任务的时间序列信息,确定结算任务对应第i+1子账户集合中的目标子账户,对目标子账户进行余额扣减。
在本申请实施例中,第一序列信息用于指示对第i+1子账户集合中每一个子账户的结算次序信息,第二序列信息用于指示至少一个结算任务中每一个结算任务的时间序列信息。因此,可以按照每一个结算任务的时间序列信息和每一个子账户的结算次序信息,在第i+1子账户集合中确定每一个结算任务对应的目标子账户。
基于前述实施例相同的技术构思,在一种实现方式中,第二序列信息包括第j个结算任务的序号;上述步骤A303中,根据第一序列信息和第二序列信息,在第i+1子账户集合中确定每一个结算任务对应的目标子账户,参见图4,可以包括以下步骤:
步骤A401:根据第i+1子账户集合的账户数,对第j个结算任务的序号进行取模运算。
在示例中,第i+1子账户集合的账户数为N,在确定目标子账户时,采用第i+1子账户集合的账户数N,对第j个结算任务的序号进行取模运算,这里,取模运算的计算形式如下所示:
V=mod(j%N)(2)
例如,账户数N=10,第17个结算任务的序号为17,采用账户数10对第17个结算任务的序号17进行取模运算,得到取模运算的结果mod(j%N)=mod(17%10)=7。
步骤A402:根据取模运算的结果,确定第j个结算任务对应的子账户在第一序列信息中的序号信息。
在示例中,根据取模运算的结果V=mod(j%N),确定第j个结算任务对应的子账户在第一序列信息中的序号为mod(j%N)。
步骤A403:根据对应的子账户在第一序列信息中的序号信息,确定第j个结算任务对应的目标子账户。
在示例中,根据第j个结算任务对应的子账户在第一序列信息中的序号mod(j%N),将第i+1子账户集合中序号为mod(j%N)的子账户确定为第j个结算任务对应的目标子账户。
在本申请实施例中,根据第i+1子账户集合的账户数,对第j个结算任务的序号进行取模运算。根据取模运算的结果,确定第j个结算任务对应的目标子账户。因此,可以实现对子账户集合中每一个子账户的账户余额进行均匀扣减,实现子账户集合中每一个子账户的负载均衡。
基于前述实施例相同的技术构思,在一种实现方式中,在上述账户结算方法中,还可以包括以下情况:
情况A1:在主账户的状态值指示第i子账户集合中每个子账户的账户余额的总和小于第一阈值时,向结算请求返回结算失败的提示信息。
在示例中,当接受到账户扣减请求后,根据主账户的标识信息,在Redis数据库中查询主账户的状态值,在主账户的状态值为第1状态值时,表示主账户的账户余额不足,则向结算请求返回结算失败的提示信息。
在实际应用中,确定第i子账户集合中账户余额大于第一阈值的子账户的数量,在N=1时,表示主账户的账户余额不足,将主账户的状态值由第2状态值更新为第1状态值。
这里,参见表4,第1状态值表示主账户处于不可用状态,或者,子账户的账户数小于预设阈值时,可以向结算请求返回告警信息。
在示例中,向用户发送告警信息,提示用户对主账户的账户余额进行充值。在主账户的账户余额充值完成后,重新分配主账户的子账户的账户金额以及账户数。
表4主账户的状态值和状态值的含义
情况A2:在主账户的状态值指示对第i子账户集合中每个子账户的账户余额的总和进行重新分配时,间隔预设时长后在第i+1子账户集合中确定目标子账户。
在示例中,当接受到账户扣减请求后,根据主账户的标识信息在Redis数据库中查询主账户的状态值,参见表4,在主账户的状态值为第1状态值时,表示主账户正在重新分配金额,等待预设时长后重试。
情况A3:在主账户的状态值指示比例大于等于预设值时,在第i子账户集合中确定目标子账户。
在示例中,参见表4,在主账户的状态值为第3状态值时,表示“第i子账户集合中账户余额大于第一阈值的子账户的比例”大于等于预设值,因此,可以在第i子账户集合中确定目标子账户。
例如,预设值为50%,第i子账户集合中账户余额大于第一阈值的子账户的比例大于50%,此时,不可用缓存set集合中子账户的总数小于M/2,对第i子账户集合中的子账户进行解锁,在第i子账户集合中确定目标账户。
基于前述实施例相同的技术构思,在一种实现方式中,在上述账户结算方法中,还可以包括以下步骤:
确认对第i子账户集合中每个子账户的账户余额的总和进行重新分配完成;对主账户的状态值进行更新。
在示例中,确认对第i子账户集合中每个子账户的账户余额的总和进行重新分配完成,在Redis数据库中将主账户的状态值更新为第3状态值,以对主账户的状态值进行更新。
基于前述实施例相同的技术构思,在一种实现方式中,结算请求用于对至少一个结算任务进行结算;至少一个结算任务包括第j个结算任务;
在上述账户结算方法中,在第i子账户集合中确定目标子账户,可以包括以下步骤:
根据第一子账户集合的账户数,对第j个结算任务的序号进行取模运算;在取模运算的结果为k,且第一子账户集合中的第k个子账户满足预设条件时,将第k个子账户确定为目标子账户。其中,预设条件包括账户余额大于第一阈值。
在示例中,基于Redis数据库提供的原子操作指令,在第二序列信息中获取第j个结算任务的序号,根据第一子账户集合的账户数,对第j个结算任务的序号进行取模运算,得到取模运算的结果k。
在示例中,在第一子账户集合中的第k个子账户满足预设条件时,将第k个子账户确定为目标子账户。采用Redis数据库的乐观锁,对目标子账户的账户余额进行更新。
基于前述实施例相同的技术构思,在一种实现方式中,在上述账户结算方法中,还可以包括以下步骤:
在取模运算的结果为k,且第一子账户集合中的第k个子账户不满足预设条件时,获取第k+1个子账户的账户余额和第一阈值的比较结果。根据比较结果,在第k+1个子账户满足预设条件时,将第k+1个子账户确定为目标子账户。
应理解,在取模运算的结果为k,且第一子账户集合中的第k个子账户不满足预设条件时,继续判断第k+1个子账户是否满足预设条件时,因此,可以在第k到第N个子账户中确定第j个结算任务的目标子账户。
基于前述实施例相同的技术构思,参见图5,本申请实施例提供的账户结算装置,可以包括以下步骤:
步骤A501:将主账户的账户余额均分成M份,对应M个子账户的账户余额。
在示例中,参见表5,将主账户的账户余额均分成8份,建立主账户的8个子账户,8个子账户的标识信息分别为0、1、2、3、4、5、6、7。每个子账户的账户余额可以大于第一阈值a。
表5第i+1子账户集合中的子账户信息
子账户的标识信息 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
子账户的账户余额 | >a | >a | >a | >a | >a | >a | >a | >a |
步骤A502:接受余额扣减请求,按照哈希一致性算法找到余额扣减请求对应的目标子账户,对目标子账户的账户余额进行余额扣减。
应理解,多个请求并发时,会分配到不同的子账户上,不会产生竞争。
步骤A503:当第i子账户的账户余额小于第一阈值时,将第i子账户标记为不可用状态,确认第i+1个子账户是否处于可用状态。
在示例中,参见表6,第2个子账户的账户余额小于第一阈值时,将第2个子账户标记为不可用状态,确认第3个子账户是否处于可用状态。
表6第i+1子账户集合中的子账户信息
子账户的标识信息 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
子账户的账户余额 | >a | <a | >a | >a | >a | >a | >a | >a |
例如,参见图5,顺时针寻找下一个处于可用状态的子账户,对处于可用状态的子账户的账户余额进行余额扣减。
在示例中,对第i子账户集合中每个子账户进行判断,在子账户的账户余额小于第一阈值时,将子账户的标识信息加到Redis数据库不可用的缓存set集合中,确定Redis数据库中不可用缓存set集合的子账户总数。
这里,Redis数据库中的Set集合属于String类型的无序集合。
步骤A504:随着余额扣减请求的增多,子账户的账户余额逐渐减小,处于不可用状态的子账户将增多,需要重新分配主账户的子账户。
在示例中,参见表7,随着余额扣减请求的增多,子账户的账户余额逐渐减小,处于不可用状态的子账户将增多,处于不可用状态的子账户的标识信息包括1、2、3、4、5。
在此情况下,“第i子账户集合中账户余额大于第一阈值的子账户的比例”为3/8=37.5%,37.5%小于预设值50%,需要重新分配主账户的子账户。
表7第i+1子账户集合中的子账户信息
子账户的标识信息 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
子账户的账户余额 | >a | <a | <a | <a | <a | <a | >a | >a |
步骤A505:当子账户集合中账户余额大于第一阈值的子账户的比例小于预设值时,缩减子账户集合的账户数,重新分配子账户的余额。
在示例中,重新分配子账户的余额,然后继续进行余额扣减,直到子账户集合的账户数N=1,且主账户处于不可用状态时,说明主账户的账户余额扣减完成。
基于前述实施例相同的技术构思,参见图6,本申请实施例提供的账户结算方法,可以包括以下步骤:
步骤A601:接收结算请求,获取主账户的状态值。
步骤A602:判断主账户的状态值是否为第1状态值。
在示例中,在主账户的状态值为第1状态值时,执行以下步骤A603,否则,执行以下步骤A604。
步骤A603:向结算请求返回结算失败的提示信息。
步骤A604:确定主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例。
步骤A605:判断主账户的状态值是否为第2状态值。
在示例中,在主账户的状态值为第2状态值时,执行以下步骤A606,否则,执行以下步骤A607。
步骤A606:在第i子账户集合中确定目标子账户。
在示例中,在第i子账户集合中确定目标子账户后,继续执行以下步骤A612。
步骤A607:对第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到主账户的第i+1子账户集合。
步骤A608:判断主账户的状态值是否为第3状态值。
在示例中,在主账户的状态值为第3状态值时,执行以下步骤A609和/或步骤A611,否则,执行以下步骤A610。
步骤A609:在Redis数据库中,将主账户的状态值由第2状态值更新为第3状态值。
步骤A610:等待第i+1子账户集合创建完成。
在示例中,等待第i+1子账户集合创建完成后,执行上述步骤A609和/或以下步骤A611。
步骤A611:在第i+1子账户集合中确定目标子账户。
步骤A612:根据结算请求,对目标子账户进行账户结算。
基于前述实施例相同的技术构思,参见图7,本申请实施例提供的账户结算装置,可以包括以下模块:
获取模块701,用于接收结算请求,获取账户状态信息,所述账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于等于1的整数;
处理模块702,用于在所述比例小于等于预设值时,对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到所述主账户的第i+1子账户集合;所述第i+1子账户集合的账户数小于所述第i子账户集合的账户数;
结算模块703,用于在所述第i+1子账户集合中确定目标子账户;根据所述结算请求,对所述目标子账户进行账户结算。
在一种实现方式中,所述结算请求用于对至少一个结算任务进行结算;所述结算模块703,用于在所述第i+1子账户集合中确定目标子账户,包括:
获取第一序列信息,所述第一序列信息用于指示对所述第i+1子账户集合中每一个子账户的序号信息;
获取第二序列信息,所述第二序列信息用于指示所述至少一个结算任务中每一个结算任务的序号信息;
根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户。
在一种实现方式中,所述第二序列信息包括第j个结算任务的序号;
所述结算模块703,用于根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户,包括:
根据所述第i+1子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
根据所述取模运算的结果,确定所述第j个结算任务对应的子账户在所述第一序列信息中的序号信息;
根据所述对应的子账户在所述第一序列信息中的序号信息,确定所述第j个结算任务对应的目标子账户。
在一种实现方式中,所述处理模块702,还用于:
在所述主账户的状态值指示所述第i子账户集合中每个子账户的账户余额的总和小于所述第一阈值时,向所述结算请求返回结算失败的提示信息;
在所述主账户的状态值指示对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配时,间隔预设时长后在所述第i+1子账户集合中确定目标子账户;
在所述主账户的状态值指示所述比例大于等于所述预设值时,在所述第i子账户集合中确定目标子账户。
在一种实现方式中,所述处理模块702,还用于:
确认对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配完成;对所述主账户的状态值进行更新。
在一种实现方式中,所述结算请求用于对至少一个结算任务进行结算;所述至少一个结算任务包括第j个结算任务;
所述处理模块702,用于在所述第i子账户集合中确定目标子账户,包括:
根据所述第一子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户满足预设条件时,将所述第k个子账户确定为所述目标子账户;
其中,所述预设条件包括账户余额大于所述第一阈值。
在一种实现方式中,所述处理模块702,还用于:
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户不满足所述预设条件时,获取所述第k+1个子账户的账户余额和所述第一阈值的比较结果;
根据所述比较结果,在所述第k+1个子账户满足所述预设条件时,将所述第k+1个子账户确定为所述目标子账户。
在实际应用中,获取模块701、处理模块702和结算模块703均可以采用电子设备的处理器实现,上述处理器可以是ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种,本申请实施例对此不作限制。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
基于前述实施例相同的技术构思,参见图8,本申请实施例提供的电子设备800,可以包括:存储器810和处理器820;其中,
存储器810,用于存储计算机程序和数据;
处理器820,用于执行存储器中存储的计算机程序,以实现前述实施例中的任意一种账户结算方法。
在实际应用中,上述存储器810可以是易失性存储器(volatile memory),示例性地RAM;或者非易失性存储器(non-volatile memory),示例性地ROM,快闪存储器(flashmemory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合。上述存储器810可以向处理器820提供指令和数据。
上文对各个实施例的描述倾向于强调各个实施例间的不同处,其相同或相似处可以互相参考,为了简洁,本文不再赘述
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,示例性地,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网格单元上;可以根据实际的可以选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。
以上,仅为本申请的具体实施方式,但本申请的保护范围不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种账户结算方法,其特征在于,包括:
接收结算请求,获取账户状态信息,所述账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于或等于1的整数;
在所述比例小于预设值时,对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到所述主账户的第i+1子账户集合;所述第i+1子账户集合的账户数小于所述第i子账户集合的账户数;
在所述第i+1子账户集合中确定目标子账户;根据所述结算请求,对所述目标子账户进行账户结算。
2.根据权利要求1所述的方法,其特征在于,所述结算请求用于对至少一个结算任务进行结算;所述在所述第i+1子账户集合中确定目标子账户,包括:
获取第一序列信息,所述第一序列信息用于指示对所述第i+1子账户集合中每一个子账户的序号信息;
获取第二序列信息,所述第二序列信息用于指示所述至少一个结算任务中每一个结算任务的序号信息;
根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户。
3.根据权利要求2所述的方法,其特征在于,所述第二序列信息包括第j个结算任务的序号,j大于0;
所述根据所述第一序列信息和所述第二序列信息,在所述第i+1子账户集合中确定所述每一个结算任务对应的目标子账户,包括:
根据所述第i+1子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
根据所述取模运算的结果,确定所述第j个结算任务对应的子账户在所述第一序列信息中的序号信息;
根据所述对应的子账户在所述第一序列信息中的序号信息,确定所述第j个结算任务对应的目标子账户。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述主账户的状态值指示所述第i子账户集合中每个子账户的账户余额的总和小于所述第一阈值时,向所述结算请求返回结算失败的提示信息;
在所述主账户的状态值指示对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配时,间隔预设时长后在所述第i+1子账户集合中确定目标子账户;
在所述主账户的状态值指示所述比例大于等于所述预设值时,在所述第i子账户集合中确定目标子账户。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确认对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配完成;对所述主账户的状态值进行更新。
6.根据权利要求4所述的方法,其特征在于,所述结算请求用于对至少一个结算任务进行结算;所述至少一个结算任务包括第j个结算任务;
所述在所述第i子账户集合中确定目标子账户,包括:
根据所述第一子账户集合的账户数,对所述第j个结算任务的序号进行取模运算;
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户满足预设条件时,将所述第k个子账户确定为所述目标子账户;
其中,所述预设条件包括账户余额大于所述第一阈值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述取模运算的结果为k,且所述第一子账户集合中的第k个子账户不满足所述预设条件时,获取所述第k+1个子账户的账户余额和所述第一阈值的比较结果;
根据所述比较结果,在所述第k+1个子账户满足所述预设条件时,将所述第k+1个子账户确定为所述目标子账户。
8.一种账户结算装置,其特征在于,包括:
获取模块,用于接收结算请求,获取账户状态信息,所述账户状态信息包括主账户的第i子账户集合中账户余额大于第一阈值的子账户的比例,i为大于等于1的整数;
处理模块,用于在所述比例小于等于预设值时,对所述第i子账户集合中每个子账户的账户余额的总和进行重新分配,得到所述主账户的第i+1子账户集合;所述第i+1子账户集合的账户数小于所述第i子账户集合的账户数;
结算模块,用于在所述第i+1子账户集合中确定目标子账户;根据所述结算请求,对所述目标子账户进行账户结算。
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7中任一项所述的账户结算方法。
10.一种计算机存储介质,所述存储介质存储有计算机程序;其特征在于,所述计算机程序被执行后能够实现权利要求1至7中任一项所述的账户结算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122269.3A CN113837740B (zh) | 2021-09-24 | 2021-09-24 | 账户结算方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111122269.3A CN113837740B (zh) | 2021-09-24 | 2021-09-24 | 账户结算方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113837740A true CN113837740A (zh) | 2021-12-24 |
CN113837740B CN113837740B (zh) | 2024-02-06 |
Family
ID=78970074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111122269.3A Active CN113837740B (zh) | 2021-09-24 | 2021-09-24 | 账户结算方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837740B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132674A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 一种交易处理方法和装置 |
CN112634024A (zh) * | 2020-12-29 | 2021-04-09 | 吉林亿联银行股份有限公司 | 一种热点账户的余额处理方法及装置 |
CN112712430A (zh) * | 2020-12-29 | 2021-04-27 | 吉林亿联银行股份有限公司 | 互联网银行的高频账户管理方法及装置 |
CN112905310A (zh) * | 2021-03-30 | 2021-06-04 | 中国建设银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
-
2021
- 2021-09-24 CN CN202111122269.3A patent/CN113837740B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132674A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 一种交易处理方法和装置 |
CN112634024A (zh) * | 2020-12-29 | 2021-04-09 | 吉林亿联银行股份有限公司 | 一种热点账户的余额处理方法及装置 |
CN112712430A (zh) * | 2020-12-29 | 2021-04-27 | 吉林亿联银行股份有限公司 | 互联网银行的高频账户管理方法及装置 |
CN112905310A (zh) * | 2021-03-30 | 2021-06-04 | 中国建设银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113837740B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11693723B2 (en) | Query watchdog | |
US11611445B2 (en) | Changing smart contracts recorded in block chains | |
US20190129644A1 (en) | Method, system and computer program product for managing storage system | |
CN106708975B (zh) | 商品库存信息的处理方法及系统 | |
US8145449B2 (en) | Computer product, apparatus, and method for system management | |
CN109725831B (zh) | 管理存储系统的方法、系统和计算机可读介质 | |
CN110023967B (zh) | 故障风险指标估计装置和故障风险指标估计方法 | |
US7712096B2 (en) | Method, system, and storage medium for dynamically reordering resource participation in two-phase commit to heuristically optimize for last-agent optimization | |
CN111932257B (zh) | 一种区块链并行化处理方法及装置 | |
US20150236724A1 (en) | Dynamically Controlling Erasure Code Distribution In An Object Store | |
CN110737393A (zh) | 数据读取方法、设备和计算机程序产品 | |
CN105190559A (zh) | 用于实现存储更新概率值的共享概率计数器的系统和方法 | |
WO2015016926A1 (en) | Versioned memory implementation | |
CN105190560A (zh) | 用于实现numa感知统计计数器的系统和方法 | |
CN113220598B (zh) | 系统的测试方法、装置、设备、介质及程序产品 | |
CN112598529B (zh) | 数据处理方法及装置、计算机可读存储介质、电子设备 | |
CN112612605B (zh) | 线程分配方法、装置、计算机设备和可读存储介质 | |
CN113837740B (zh) | 账户结算方法、装置、电子设备和存储介质 | |
US20210286529A1 (en) | Mapped raid (redundant array of independent disks) with drive health aware protection groups | |
US9430677B2 (en) | Memory management systems and methods for embedded systems | |
US20150006341A1 (en) | Billing transaction scheduling | |
CN112084031B (zh) | 一种进程分配方法、并行处理器及电子设备 | |
US10474544B1 (en) | Distributed monitoring agents for cluster execution of jobs | |
CN107851101A (zh) | 具有键/值存储检查点的基于流簇的处理 | |
CN113282565A (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 |