CN105931109A - 一种实现账户余额更新的方法及装置 - Google Patents
一种实现账户余额更新的方法及装置 Download PDFInfo
- Publication number
- CN105931109A CN105931109A CN201510600014.1A CN201510600014A CN105931109A CN 105931109 A CN105931109 A CN 105931109A CN 201510600014 A CN201510600014 A CN 201510600014A CN 105931109 A CN105931109 A CN 105931109A
- Authority
- CN
- China
- Prior art keywords
- money
- record
- transaction record
- transaction
- determined
- 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
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种实现账户余额更新的方法及装置,包括:确定设定时长内目标账户对应的每个交易记录;若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。本发明实施例先确定目标账户在设定时长内的每个交易记录,相比现有对目标账户余额的实时更新,避免了锁竞争引起的等待,提高了系统响应速度;进而再从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,保证了账户余额被击穿概率极小。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种实现账户余额更新的方法及装置。
背景技术
银行账务类系统和支付清算类系统等常面临热点账户问题。根据业务特点,这些系统中的某些账户需要与其他账户进行频繁交互,账户余额需要频繁更新,从而成为热点账户。
通常,在账务处理中,每一次账户余额更新都需要对相关账户进行锁操作,从而避免其他操作对正在处理的账户进行再次操作造成数据不一致,但是随着业务量的不断增大,热点账户会在瞬间产生多个并发操作,应用频繁向数据库同一账户发起更新请求,由于只有一个线程能够持有当时的资源锁,其他线程必须等待锁被释放后再逐一进行余额更新处理,导致系统响应速度大幅度下降,严重影响系统其他业务的处理。为了能够使得系统整体运转更加高效,这时可以不对每一笔交易记录进行实时余额更新,而是先记流水,在汇总流水总金额后一次批量更新账户余额。
但是,现有技术中在对热点账户余额进行批量更新的情况下,由于余额是否足够的判断和更新不是实时进行的,相当于先记明细账,再周期性汇总更新余额,因此有可能在汇总更新余额时,才发现账户余额已经不足,存在账户余额被击穿的风险。
发明内容
本发明实施例提供一种实现账户余额更新的方法及装置,用以解决现有技术中在对热点账户余额进行批量更新的的情况下,由于余额是否足够的判断和更新不是实时进行的,相当于先记明细账,再周期性汇总更新余额,因此有可能在汇总更新余额时,才发现账户余额已经不足,存在账户余额被击穿的风险的问题。
本发明实施例提供的一种实现账户余额更新的方法,包括:
确定设定时长内目标账户对应的每个交易记录;
若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。
本发明实施例,先确定目标账户在设定时长内的每个交易记录,相比现有对目标账户余额的实时更新,避免了锁竞争引起的等待,提高了系统响应速度;进而再从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,保证了账户余额被击穿概率极小。
可选的,根据下列方式确定需要删除的交易记录:
确定所述所有交易记录中的所有负金额的交易记录的组合方式,其中任意两种组合中包括的付金额的交易记录不完全相同;
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合;
从选择的组合中确定组合的金额最小的组合;
将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。
本发明实施例,通过确定所有交易记录中所有负金额交易记录的组合方式,从中确定出组合金额最小的组合,且选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合,从而将所有负金额交易记录中除确定的组合中的负金额交易记录之外的其他负金额交易记录进行删除,减小账户余额被击穿概率。
可选的,根据下列方式确定需要删除的交易记录:
通过动态规划算法,从所有的负金额的交易记录中确定需要删除的交易记录。
本发明实施例中,使用传统动态规划算法获得全局最优可入账交易集合,确定出需要删除的交易记录,极大程度的规避了业务资金透支风险。
可选的,所述从确定的所有交易记录中删除部分交易记录之后,还包括:
对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新。
本发明实施例中,在确定删除部分交易记录后,对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新,使得数据库更新操作频率大大降低,而插入操作能够支持高并发,显著降低目标账户的更新次数,有效避免锁竞争。
可选的,所述确定设定时长内目标账户对应的每个交易记录之后,还包括:
若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新。
本发明实施例中,确定设定时长内目标账户对应的每个交易记录之后,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新,提高目标账户记账效率。
本发明实施例提供了一种实现账户余额更新的装置,包括:
确定单元,用于确定设定时长内目标账户对应的每个交易记录;
处理单元,用于若所述确定单元确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。
可选的,所述处理单元具体用于根据下列方式确定需要删除的交易记录:
确定所述所有交易记录中的所有负金额的交易记录的组合方式,其中任意两种组合中包括的负金额的交易记录不完全相同;
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合;
从选择的组合中确定组合的金额最小的组合;
将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。
可选的,所述处理单元具体用于根据下列方式确定需要删除的交易记录:
通过动态规划算法,从所有的负金额的交易记录中确定需要删除的交易记录。
可选的,所述处理单元具体用于:
从确定的所有交易记录中删除部分交易记录之后,对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新。
可选的,所述确定单元具体用于:
确定设定时长内目标账户对应的每个交易记录之后,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新。
本发明实施例中,确定设定时长内目标账户对应的每个交易记录;若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。本发明实施例先确定目标账户在设定时长内的每个交易记录,相比现有对目标账户余额的实时更新,避免了锁竞争引起的等待,提高了系统响应速度;进而再从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,保证了账户余额被击穿概率极小。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的实现账户余额更新的方法流程图;
图2为本发明实施例提供的实现账户余额更新的方法示意图;
图3为本发明实施例提供的实现账户余额更新的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中,确定设定时长内目标账户对应的每个交易记录;若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。本发明实施例先确定目标账户在设定时长内的每个交易记录,相比现有对目标账户余额的实时更新,避免了锁竞争引起的等待,提高了系统响应速度;进而再从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,保证了账户余额被击穿概率极小。
下面结合说明书附图对本发明实施例作进一步详细描述。
本发明实施例提供的一种实现账户余额更新的方法,如图1所示,具体包括以下步骤:
步骤101,确定设定时长内目标账户对应的每个交易记录;
步骤102,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。
具体的,步骤101中确定设定时长内目标账户对应的每个交易记录,而不对每个交易记录进行实时更新,使得数据库更新操作频率大大降低,也降低了目标账户的更新次数,有效避免锁竞争。确定设定时长内目标账户对应的每个交易记录,其中,所述设定时长可以根据需要进行设定,在设定时长内确定目标账户对应的每个交易记录,可以是对在系统响应速度周期内发生的所有交易记录进行统计,也可以是在一个会计日过后,系统根据该目标账户前一会计日的记账流水记录,对每个交易记录进行汇总。其中,所述会计日以规定的时间点为界限,如21:00,即21:00~次日20:59为一个会计日。需要说明的是,确定设定时长内目标账户对应的每个交易记录,并不限于上述两种方式,其他所有能够确定设定时长内目标账户对应的每个交易记录的方式,都适用于本发明实施例。
在实施中,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。其中,所述阈值可以设定为零,也可根据目标账户的信用额度设定一定数值,对于信用额度较好的目标账户可允许透支一定金额,但为防止账户余额击穿,还需设定一个阈值,一旦到达这个阈值,目标账户则不能再进行金额透支。例如,所述目标账户当前余额为5000元,若确定的所有交易记录共有3笔,第一笔交易金额为负2000元,第二笔交易金额为负3000元,第三笔交易金额为负1000元。假设所述阈值设定为零,则由于确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,即确定的三笔交易记录的交易金额的总和为负6000元,与目标账户余额5000元之和为负1000元,因此需从三笔交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,在上述示例中,删除第三笔交易记录,则所述删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值;假设所述阈值设定为负1500元,则允许所述目标账户透支1500元,由于确定所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,即确定的三笔交易记录的交易金额的总和为负6000元,与目标账户余额5000元之和为负1000元,大于设定阈值负1500元,此时则无需删除部分交易记录。
本发明实施例中,先确定目标账户在设定时长内的每个交易记录,相比现有对目标账户余额的实时更新,避免了锁竞争引起的等待,提高了系统响应速度;进而再从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,保证了账户余额被击穿概率极小。
可选的,根据下列方式确定需要删除的交易记录:
确定所述所有交易记录中的所有负金额的交易记录的组合方式,其中任意两种组合中包括的负金额的交易记录不完全相同;
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合;
从选择的组合中确定组合的金额最小的组合;
将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。
可选的,确定所有交易记录中的所有负金额的交易记录的组合方式,可采用组合数Cm n(Combination)来表示,则从给定n个不同元素中取出m个元素的组合,不考虑排序。其中,n表示所有交易记录中所有的负金额交易记录,m表示从所有的负金额交易记录中选取的部分负金额交易记录,1≤m≤n。根据组合数公式:
确定所有交易记录中的所有负金额的交易记录的组合方式,其中,确定m取1至n之间(包括1和n)所有的数值时,根据上述组合数公式计算得到的每一种组合方式,并将所得到的每一种组合方式进行汇总,确定所有交易记录中的所有负金额的交易记录的组合;此外,也可筛选m取大于等于1且小于等于n的其中几个数值,确定组合方式,如下所述为m取2或3的场景:
假设所述目标账户当前余额为5000元,若确定的所有交易记录共有5笔,第一笔交易金额为500元,第二笔交易金额为负2000元,第三笔交易金额为负3000元,第四笔交易金额为负1000元,第五笔交易金额为负4000元。用组合数Cm n表示,其中,n=4,m可选取1、2、3、4,现需确定所述所有交易记录中的所有负金额的交易记录的组合方式,即需从上述4笔负金额的交易记录中取出部分负金额的交易记录的组合数,具体的,可以选择确定从上述4笔负金额的交易记录中取出2笔负金额的交易记录的组合数,则C2 4=6,即从4笔负金额的交易记录中取出两笔负金额的交易记录共有6种组合,{-2000,-3000}、{-2000,-1000}、{-2000,-4000}、{-3000,-1000}、{-3000,-4000}、{-1000,-4000},且其中任意两种组合中包括的负金额的交易记录不完全相同;也可确定从上述4笔负金额的交易记录中取出3笔负金额的交易记录的组合数,则C3 4=4,即从4笔负金额的交易记录中取出3笔负金额的交易记录共有4种组合,{-2000,-3000,-1000}、{-2000,-3000,-4000}、{-2000,-1000,-4000}、{-3000,-1000,-4000};
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合。在上述示例中,假设阈值设定为负1000元,则如果从上述4笔负金额的交易记录中取出2笔负金额的交易记录的组合数,从确定的6种组合中选择组合的金额、第一笔交易正金额的总和以及所述目标账户的余额三者之和不小于负1000元的组合,即有下列几种组合均满足上述设定条件:{-2000,-3000}、{-2000,-1000}、{-2000,-4000}、{-3000,-1000}、{-1000,-4000};如果从上述4笔负金额的交易记录中取出3笔负金额的交易记录的组合数,从确定的4种组合中选择组合的金额、第一笔交易正金额的总和以及所述目标账户的余额三者之和不小于负1000元的组合,即仅有下列组合满足上述设定条件:{-2000,-3000,-1000}。
再从选择的组合中确定组合的金额最小的组合。即从上述4笔负金额的交易记录中取出2笔负金额的交易记录的组合数,选择的组合{-2000,-3000}、{-2000,-1000}、{-2000,-4000}、{-3000,-1000}、{-1000,-4000}中,确定组合的金额最小的组合,即为{-2000,-4000};
最后将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。从上述示例中,从4笔负金额的交易记录中取出2笔负金额的交易记录的组合数,确定的组合中包括的负金额的交易记录为第二笔交易金额为负2000元以及第四笔交易金额为负1000元,其余除确定的组合中包括的负金额的交易记录之外的负金额的交易记录作为需要删除的交易记录,即删除第三笔交易金额为负3000元和第五笔交易为负4000元;从4笔负金额的交易记录中取出3笔负金额的交易记录的组合数,确定的组合中包括的负金额的交易记录为第二笔交易金额为负2000元、第三笔交易金额为负3000元以及第四笔交易金额为负1000元,剩余第五笔交易金额为负4000元的交易记录作为失败交易,进行删除。
需要说明的是,上述确定所述所有交易记录中的所有负金额的交易记录的组合方式仅是一个场景例子,其他能够确定所述所有交易记录中的所有负金额的交易记录的组合方式都适用于本发明实施例。
本发明实施例通过确定所有交易记录中所有负金额交易记录的组合方式,从中确定出组合金额最小的组合,且选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合,从而将所有负金额交易记录中除确定的组合中的负金额交易记录之外的其他负金额交易记录进行删除,减小账户余额被击穿概率。
可选的,还可以根据下列方式确定需要删除的交易记录:
通过动态规划算法,从所有的负金额的交易记录中确定需要删除的交易记录。
具体的,使用动态规划算法,套用0-1背包模型,确定出所有交易记录中最优可入账的负金额交易记录,并删除可入账的负金额交易记录之外的其他负金额交易记录。
假设场景:当前目标账户余额为100元,确定的设定时长内目标账户对应有7笔交易记录:
第一笔:记账-20
第二笔:记账-30
第三笔:记账-10
第四笔:记账-90
第五笔:记账-30
第六笔:记账-20
第七笔:记账-80
如上所述场景中,有能够计入账户余额为100元的记账系统,一共有7笔交易记录,分别用a、b、c、d、e、f、g表示,每笔交易记录的金额和价值分别为(20,20)、(30、30)、(10、10)、(90、90)、(30、30)、(20、20)、(80、80),这里,为计算方便,所述交易金额用正值表示,找到可计入记账系统中的交易记录集合,使得集合价值总和最多。
本发明实施例中,将结合下列表1对使用动态规划算法获得全局最优可入账负金额交易记录作进一步详细描述。
表1
名称 | 金额 | 价值 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
a | 20 | 20 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
b | 30 | 30 | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
c | 10 | 10 | 10 | 20 | 30 | 40 | 50 | 60 | 60 | 80 | 90 | 100 |
d | 90 | 90 | 0 | 20 | 30 | 30 | 50 | 50 | 50 | 80 | 90 | 100 |
e | 30 | 30 | 0 | 20 | 30 | 30 | 50 | 50 | 50 | 80 | 80 | 100 |
f | 20 | 20 | 0 | 20 | 20 | 20 | 20 | 20 | 20 | 80 | 80 | 100 |
g | 80 | 80 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 80 | 80 | 80 |
如表1所示,首先要明确这张表是至底向上,从左到右生成的。
为了叙述方便,用g(10)单元格表示g行账户余额为10列的单元格,这个单元格的意义是用来表示只有第7笔交易记录时,在当前仅能计入账户余额为10元的记账系统中,,那么这个记账系统的最大价值是0,因为第7笔交易记录的金额是80,在当前记账系统中并不能入账成功。
对于f(10)单元格,表示只有第6笔和第7笔交易记录时,在当前仅能计入账户余额为10元的记账系统中,,记账系统的最大价值仍然是0,因为第6笔和第7笔交易记录的金额在当前记账系统中均不能入账成功。
同理,e(10)=0,d(10)=0,c(10)=10,b(10)=10,a(10)=10。
以此类推,对于当前能够计入账户余额为100元的记账系统中,f(100)=100,即只有第6笔和第7笔交易记录时,账户余额为100元的记账系统,最大价值是100。
如上,根据0-1背包的状态转换方程,需要考察两个值,
一个是f[i-1][v],对于上述例子来说就是g(100)的价值80,另一个是f[i-1][v-w[i]]+v[i];
f[i-1][v]表示有一个能够计入账户余额为100元的记账系统,当只有第7笔交易记录可选时,这个记账系统的最大价值;
f[i-1][v-w[i]]表示有一个能够计入账户余额为80元的记账系统(等于当前记账系统中的金额减去第6笔交易记录的金额),当只有第7笔交易记录可选时,这个记账系统的最大价值;
f[i-1][v-w[i]]就是指单元格g(80),价值为80,v[i]指的是第6笔交易记录的价值,即20;
由于f[i-1][v-w[i]]+v[i]=80+20=100,大于f[i-1][v]=80,所以第6笔交易记录应该放入能够计入账户余额为100元的记账系统中。
根据动态规划中子问题重叠的性质,上述场景所选取的记账金额,由于这些计算过程中会出现重叠的结点,在出现最优解的情况下,即可停止计算。
从表1中可以看出,能够计入记账系统中最大价值为100的交易记录有多种组合,具体实施中,选择最先获得的价值总和最大的组合,在上述场景中,则选取第六笔和第七笔交易记录作为可入账的负金额交易记录,其余5笔负金额交易记录作为失败交易进行删除。
上述实施例只是“恰好计入账户余额为100元记账系统”时的最优解,但有时则并没有要求必须计入账户余额为100元,或者是也可以允许透支一定金额,只要符合相关条件即可。
本发明实施例,在上述场景下,即当前目标账户余额为100元,确定的设定时长内目标账户对应有7笔交易记录,分别为:第一笔记账-20;第二笔记账-30;第三笔记账-10;第四笔记账-90;第五笔记账-30;第六笔记账-20;第七笔记账-80;使用传统动态规划算法可获得的全局最优可入账交易记录为第六笔和第七笔,即-20和-80,其余5笔作为失败交易记录,进行删除。
本发明实施例中,使用传统动态规划算法获得全局最优可入账交易集合,确定出需要删除的交易记录,极大程度的规避了业务资金透支风险。
可选的,所述从确定的所有交易记录中删除部分交易记录之后,还包括:
对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新。
本发明实施例中,在确定删除部分交易记录后,对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新,使得数据库更新操作频率大大降低,而插入操作能够支持高并发,显著降低目标账户的更新次数,有效避免锁竞争。
可选的,所述确定设定时长内目标账户对应的每个交易记录之后,还包括:
若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新。
本发明实施例中,确定设定时长内目标账户对应的每个交易记录之后,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新,提高目标账户记账效率。
为了使本发明所解决的技术问题、技术方案以及有益效果更加清楚明白,以下结合实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2所示为本发明实施例提供的一种实现账户余额更新的方法示意图:
步骤201,确定设定时长内目标账户对应的每个交易记录;
步骤202,根据透支策略,判断账户余额是否足够,若是,则执行203,否则执行204;
步骤203,确定所有交易记录的交易金额汇总轧差后进行目标账户余额更新;
步骤204,正金额交易汇总加入余额,负金额交易动态规划,寻找全局最优可入账交易子集,删除最优可入账交易子集外剩余的负金额交易记录,并对交易金额汇总轧差后进行目标账户余额更新。
本发明实施例中,确定设定时长内目标账户对应的每个交易记录;若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。本发明实施例先确定目标账户在设定时长内的每个交易记录,相比现有对目标账户余额的实时更新,避免了锁竞争引起的等待,提高了系统响应速度;进而再从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,保证了账户余额被击穿概率极小。
基于相同的技术构思,本发明实施例还提供一种实现账户余额更新的装置,该装置可执行上述方法实施例,由于该装置解决问题的原理与前述一种实现账户余额更新的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供的一种实现账户余额更新的装置,如图3所示,包括:
确定单元301,用于确定设定时长内目标账户对应的每个交易记录;
处理单元302,用于若所述确定单元301确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。
可选的,所述处理单元302具体用于根据下列方式确定需要删除的交易记录:
确定所述所有交易记录中的所有负金额的交易记录的组合方式,其中任意两种组合中包括的负金额的交易记录不完全相同;
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合;
从选择的组合中确定组合的金额最小的组合;
将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。
可选的,所述处理单元302具体用于根据下列方式确定需要删除的交易记录:
通过动态规划算法,从所有的负金额的交易记录中确定需要删除的交易记录。
可选的,所述处理单元302具体用于:
从确定的所有交易记录中删除部分交易记录之后,对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新。
可选的,所述确定单元301具体用于:
确定设定时长内目标账户对应的每个交易记录之后,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种实现账户余额更新的方法,其特征在于,包括:
确定设定时长内目标账户对应的每个交易记录;
若确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。
2.根据权利要求1所述的方法,其特征在于,根据下列方式确定需要删除的交易记录:
确定所述所有交易记录中的所有负金额的交易记录的组合方式,其中任意两种组合中包括的负金额的交易记录不完全相同;
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合;
从选择的组合中确定组合的金额最小的组合;
将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。
3.根据权利要求1所述的方法,其特征在于,根据下列方式确定需要删除的交易记录:
通过动态规划算法,从所有的负金额的交易记录中确定需要删除的交易记录。
4.根据权利要求1所述的方法,其特征在于,所述从确定的所有交易记录中删除部分交易记录之后,还包括:
对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新。
5.根据权利要求1所述的方法,其特征在于,所述确定设定时长内目标账户对应的每个交易记录之后,还包括:
若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新。
6.一种实现账户余额更新的装置,其特征在于,包括:
确定单元,用于确定设定时长内目标账户对应的每个交易记录;
处理单元,用于若所述确定单元确定的所有交易记录的交易金额总和与所述目标账户的余额之和小于阈值,从确定的所有交易记录中删除部分交易记录,以使删除后的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值。
7.根据权利要求6所述的装置,其特征在于,所述处理单元具体用于根据下列方式确定需要删除的交易记录:
确定所述所有交易记录中的所有负金额的交易记录的组合方式,其中任意两种组合中包括的负金额的交易记录不完全相同;
从确定的所有组合中选择组合的金额、所有交易记录的正金额的总和以及所述目标账户的余额三者之和不小于阈值的组合;
从选择的组合中确定组合的金额最小的组合;
将所有的负金额的交易记录中除确定的组合中包括的负金额的交易记录之外的负金额的交易记录,作为需要删除的交易记录。
8.根据权利要求6所述的装置,其特征在于,所述处理单元具体用于根据下列方式确定需要删除的交易记录:
通过动态规划算法,从所有的负金额的交易记录中确定需要删除的交易记录。
9.根据权利要求6所述的装置,其特征在于,所述处理单元具体用于:
从确定的所有交易记录中删除部分交易记录之后,对剩余的交易记录的交易金额汇总轧差后进行目标账户余额更新。
10.根据权利要求6所述的装置,其特征在于,所述确定单元具体用于:
确定设定时长内目标账户对应的每个交易记录之后,若确定的所有交易记录的交易金额总和与所述目标账户的余额之和不小于阈值,则对确定的所有交易记录的交易金额汇总轧差后进行目标账户余额更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510600014.1A CN105931109A (zh) | 2015-09-18 | 2015-09-18 | 一种实现账户余额更新的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510600014.1A CN105931109A (zh) | 2015-09-18 | 2015-09-18 | 一种实现账户余额更新的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105931109A true CN105931109A (zh) | 2016-09-07 |
Family
ID=56839890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510600014.1A Pending CN105931109A (zh) | 2015-09-18 | 2015-09-18 | 一种实现账户余额更新的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105931109A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
CN107274162A (zh) * | 2017-05-31 | 2017-10-20 | 深圳市长亮科技股份有限公司 | 一种高交易并发量的处理方法 |
CN107977837A (zh) * | 2017-11-10 | 2018-05-01 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
CN108319691A (zh) * | 2018-02-01 | 2018-07-24 | 宝付网络科技(上海)有限公司 | 一种记账方法、账务系统及支付系统 |
CN109034990A (zh) * | 2018-08-31 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 记账方法、装置及电子设备 |
CN109242482A (zh) * | 2018-07-31 | 2019-01-18 | 北京比特大陆科技有限公司 | 一种实现数字货币交易记录整合的方法和装置 |
CN111242783A (zh) * | 2020-01-16 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 交易数据处理方法、装置、计算机设备以及存储介质 |
CN111382196A (zh) * | 2018-12-28 | 2020-07-07 | 中国银联股份有限公司 | 分布式账务处理方法及系统 |
CN113627919A (zh) * | 2021-08-11 | 2021-11-09 | 杭州橙鹰数据技术有限公司 | 资源追踪方法及装置 |
CN114998019A (zh) * | 2022-07-18 | 2022-09-02 | 中电金信软件有限公司 | 一种交易处理方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021628A (zh) * | 2014-06-23 | 2014-09-03 | 中国民生银行股份有限公司 | 数据处理方法和装置 |
WO2015049493A1 (en) * | 2013-10-02 | 2015-04-09 | Mastercard International Incorporated | Transaction systems and associated methods for enchanced account balance and status management |
CN104537563A (zh) * | 2015-01-05 | 2015-04-22 | 中国农业银行股份有限公司 | 一种额度数据处理方法及服务器 |
-
2015
- 2015-09-18 CN CN201510600014.1A patent/CN105931109A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015049493A1 (en) * | 2013-10-02 | 2015-04-09 | Mastercard International Incorporated | Transaction systems and associated methods for enchanced account balance and status management |
CN104021628A (zh) * | 2014-06-23 | 2014-09-03 | 中国民生银行股份有限公司 | 数据处理方法和装置 |
CN104537563A (zh) * | 2015-01-05 | 2015-04-22 | 中国农业银行股份有限公司 | 一种额度数据处理方法及服务器 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106952158A (zh) * | 2017-03-17 | 2017-07-14 | 证通股份有限公司 | 解决热点账户问题的记账方法及设备 |
CN107274162A (zh) * | 2017-05-31 | 2017-10-20 | 深圳市长亮科技股份有限公司 | 一种高交易并发量的处理方法 |
CN107977837A (zh) * | 2017-11-10 | 2018-05-01 | 中国银行股份有限公司 | 热点账户的余额控制方法及装置 |
CN108319691A (zh) * | 2018-02-01 | 2018-07-24 | 宝付网络科技(上海)有限公司 | 一种记账方法、账务系统及支付系统 |
CN109242482A (zh) * | 2018-07-31 | 2019-01-18 | 北京比特大陆科技有限公司 | 一种实现数字货币交易记录整合的方法和装置 |
CN109034990A (zh) * | 2018-08-31 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 记账方法、装置及电子设备 |
CN109034990B (zh) * | 2018-08-31 | 2021-10-22 | 创新先进技术有限公司 | 记账方法、装置及电子设备 |
CN111382196B (zh) * | 2018-12-28 | 2023-10-03 | 中国银联股份有限公司 | 分布式账务处理方法及系统 |
CN111382196A (zh) * | 2018-12-28 | 2020-07-07 | 中国银联股份有限公司 | 分布式账务处理方法及系统 |
CN111242783A (zh) * | 2020-01-16 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 交易数据处理方法、装置、计算机设备以及存储介质 |
CN111242783B (zh) * | 2020-01-16 | 2021-10-26 | 腾讯科技(深圳)有限公司 | 交易数据处理方法、装置、计算机设备以及存储介质 |
CN113627919A (zh) * | 2021-08-11 | 2021-11-09 | 杭州橙鹰数据技术有限公司 | 资源追踪方法及装置 |
CN114998019A (zh) * | 2022-07-18 | 2022-09-02 | 中电金信软件有限公司 | 一种交易处理方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105931109A (zh) | 一种实现账户余额更新的方法及装置 | |
CN107451659A (zh) | 用于位宽分区的神经网络加速器及其实现方法 | |
CN105550225B (zh) | 索引构建方法、查询方法及装置 | |
CN108090829A (zh) | 一种数据管理方法、数据管理装置及电子设备 | |
CN106201537A (zh) | 一种数据处理方法及装置 | |
CN106296399A (zh) | 业务规则公式化的数据处理方法和系统 | |
CN108958939A (zh) | 服务资源的分配方法、装置及服务器 | |
CN106325756A (zh) | 一种数据存储、数据计算方法和设备 | |
CN110689336A (zh) | 一种支付渠道的决策方法、装置及电子设备 | |
CN112633842B (zh) | 任务推送方法、装置及系统 | |
CN106096854A (zh) | 一种数据处理方法和装置 | |
CN111367951A (zh) | 一种流数据处理的方法及装置 | |
CN107679751A (zh) | 一种评估方法及装置 | |
CN113837628B (zh) | 一种基于深度强化学习的冶金工业车间天车调度方法 | |
CN107769755A (zh) | 一种并行fir抽取滤波器的设计方法和并行fir抽取滤波器 | |
CN104239520B (zh) | 一种基于历史信息的hdfs数据块放置策略 | |
CN105653243B (zh) | 一种通用图形处理器多任务并发执行的任务派发方法 | |
CN107391564A (zh) | 数据转换方法、装置以及电子设备 | |
CN114186989A (zh) | 一种资金分配决策方法、装置、服务器及存储介质 | |
CN107292602A (zh) | 一种避免利息损失的转账方法及系统 | |
CN104598567B (zh) | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 | |
CN106484879B (zh) | 一种基于MapReduce的Map端数据的聚合方法 | |
CN106228029A (zh) | 基于众包的量化问题求解方法和装置 | |
CN109660623A (zh) | 一种云服务资源的分配方法、装置和计算机可读存储介质 | |
CN113962689A (zh) | 多账户融合支付方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160907 |