数据更新方法、装置、电子设备及介质制造方法及图纸

技术编号:30653099 阅读:18 留言:0更新日期:2021-11-04 01:16
本申请实施例公开了一种数据更新方法、装置、电子设备及存储介质,其中,该方法包括:首先,获取目标账户的数据更新请求,数据更新请求携带目标账户的目标账户标识,之后,根据目标账户标识和目标数据库,判断目标账户是否为热点账户,若目标账户为热点账户,则根据数据更新请求,更新目标数据库中目标账户的第一数据,更新后的第一数据的数值大于或者等于0,且不等于更新前的第一数据的数值,最后,根据第一数据更新目标账户的第二数据。采用本申请,能够保证在存在多条未更新第二数据的数据更新请求时,第二数据不会并发更新,降低第二数据更新的错误率,提升账户的安全。提升账户的安全。提升账户的安全。

【技术实现步骤摘要】
数据更新方法、装置、电子设备及介质


[0001]本申请涉及信息
,尤其涉及一种数据更新方法、装置、电子设备及介质。

技术介绍

[0002]热点账户数据更新是性能瓶颈,在银行或者第三方支付系统的账务数据库的处理中,数据从一个账户转出,或者有数据转入一个账户,账户都会收到记账请求,并都有一个记账处理的过程。记账处理过程主要包括两部分,一是记录记账凭证,二是更新账户的余额。
[0003]现有技术中,为了保证账户不被其他请求影响数据的准确性,在进行记账处理时,会先对账户的资源加锁,记账处理完毕后会自动释放锁。随着账务处理业务量的增大,账务数据库中的账户常常会在瞬间产生多个并发操作,但所有对应的并发线程中只有一个线程能够持有当前账户的资源锁,其他线程必须等待该锁被释放后再逐一进行记账处理,这样该账户将会被频繁加锁释锁,使该账户成为账务数据库热点,产生性能瓶颈点,严重影响账务数据库的性能。

技术实现思路

[0004]本申请实施例提供一种数据更新方法、装置、电子设备及介质,以期望通过在一个专用的数据库中维护热点账户及热点账户的第一数据,确定获取到热点账户数据更新请求之后,通过更新该热点账户的第一数据,然后记录数据更新请求,在基于该专用的数据库处理数据更新请求不需要锁,能够基于第一数据快速辨别数据更新请求是否能够处理,并在更新第一数据成功的情况下,记录数据更新请求,以保证在存在多条未更新第二数据的数据更新请求时,第二数据不会并发更新,降低第二数据更新的错误率,提升账户的安全。
[0005]第一方面,本申请实施例提供了一种数据更新方法,包括:
[0006]获取目标账户的数据更新请求,所述数据更新请求携带所述目标账户的目标账户标识;
[0007]根据所述目标账户标识和目标数据库,判断所述目标账户是否为热点账户,所述目标数据库用于记录热点账户以及所述热点账户的第一数据,所述第一数据为所述第二数据的n倍,n大于0,所述目标数据库包括热点账户的账户标识;
[0008]若所述目标账户为热点账户,则根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,更新后的所述第一数据的数值大于或者等于0,且不等于更新前的所述第一数据的数值;
[0009]根据所述第一数据更新所述目标账户的第二数据。
[0010]在一个可能的示例中,所述根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,包括:
[0011]获取所述数据更新请求的请求流水号、来源系统、请求类型以及业务标识;
[0012]根据所述请求流水号、所述来源系统、所述请求类型以及所述业务标识生成所述
数据更新请求的目标索引;
[0013]判断所述目标索引是否为首次出现的索引;
[0014]若所述目标索引为首次出现的索引,则根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据。
[0015]在一个可能的示例中,所述获取所述数据更新请求的请求流水号、来源系统、请求类型以及业务标识,包括:
[0016]获取所述数据更新请求携带的所述请求流水号、所述来源系统、所述请求类型以及所述业务标识。
[0017]在一个可能的示例中,所述方法还包括:
[0018]若所述目标索引不为首次出现的索引,则结束当前进程;
[0019]根据所述数据更新请求生成第一信息,并向目标用户的用户设备发送所述第一信息,所述第一信息用于指示所述目标索引异常。
[0020]在一个可能的示例中,所述根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,包括:
[0021]获取所述目标账户的更新前的所述第一数据的数值;
[0022]判断所述数据更新请求是否为数值减少请求;
[0023]若所述请求类型为数值减少请求,则判断更新前的所述第一数据的数值是否大于或者等于所述数据更新请求对应的数值的
[0024]若更新前的所述第一数据的数值大于或者等于所述数据更新请求对应的数值的则根据更新前的所述第一数据的数值和所述数据更新请求对应的数值得到更新后的所述第一数据的数值,更新后的所述第一数据的数值等于更新前的所述第一数据的数值与所述数据更新请求对应的数值的的差值;
[0025]若所述请求类型为数值增加请求,则根据更新前的所述第一数据的数值和所述数据更新请求对应的数值得到更新后的所述第一数据的数值,更新后的所述第一数据的数值等于更新前的所述第一数据的数值与所述数据更新请求对应的数值的的和值。
[0026]在一个可能的示例中,所述判断更新前的所述第一数据的数值是否大于或者等于所述数据更新请求对应的数值的之后,所述方法还包括:
[0027]若更新前的所述第一数据的数值小于所述数据更新请求对应的数值的则结束当前进程;
[0028]根据所述数据更新请求生成第二信息,并向目标用户的用户设备发送所述第二信息,所述第二信息用于指示所述数据更新请求处理失败。
[0029]在一个可能的示例中,所述根据所述第一数据更新所述目标账户的第二数据,包括:
[0030]在所述第一数据的数值发生变化的情况下,将所述数据更新请求添加到请求列队,所述请求列队用于指示按照处理时间由前到后的顺序依次排列的未更新第二数据的数
据更新请求;
[0031]依次根据所述请求列队中的数据更新请求,更新所述第二账户的第二数据的数值。
[0032]第二方面,本申请实施例提供了一种数据更新装置,该装置包括:获取单元,用于获取目标账户的数据更新请求,所述数据更新请求携带所述目标账户的目标账户标识;
[0033]判断单元,用于根据所述目标账户标识和目标数据库,判断所述目标账户是否为热点账户,所述目标数据库用于记录热点账户以及所述热点账户的第一数据,所述第一数据为所述第二数据的n倍,n大于0,所述目标数据库包括热点账户的账户标识;
[0034]第一数据更新单元,用于若所述目标账户为热点账户,则根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,更新后的所述第一数据的数值大于或者等于0,且不等于更新前的所述第一数据的数值;
[0035]第二数据更新单元,用于根据所述第一数据更新所述目标账户的第二数据。
[0036]在一个可能的示例中,在所述根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据方面,所述第一数据更新单元具体用于:
[0037]获取所述数据更新请求的请求流水号、来源系统、请求类型以及业务标识;
[0038]根据所述请求流水号、所述来源系统、所述请求类型以及所述业务标识生成所述数据更新请求的目标索引;
[0039]判断所述目标索引是否为首次出现的索引;
[0040]若所述目标索引为首次出现的索引,则根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据。
[0041]在一个可能的示例中,在所述获取所述数据更新请求的请求流水号、来本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据更新方法,其特征在于,包括:获取目标账户的数据更新请求,所述数据更新请求携带所述目标账户的目标账户标识;根据所述目标账户标识和目标数据库,判断所述目标账户是否为热点账户,所述目标数据库用于记录热点账户以及所述热点账户的第一数据,所述第一数据为所述第二数据的n倍,n大于0,所述目标数据库包括热点账户的账户标识;若所述目标账户为热点账户,则根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,更新后的所述第一数据的数值大于或者等于0,且不等于更新前的所述第一数据的数值;根据所述第一数据更新所述目标账户的第二数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,包括:获取所述数据更新请求的请求流水号、来源系统、请求类型以及业务标识;根据所述请求流水号、所述来源系统、所述请求类型以及所述业务标识生成所述数据更新请求的目标索引;判断所述目标索引是否为首次出现的索引;若所述目标索引为首次出现的索引,则根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若所述目标索引不为首次出现的索引,则结束当前进程;根据所述数据更新请求生成第一信息,并向目标用户的用户设备发送所述第一信息,所述第一信息用于指示所述目标索引异常。4.根据权利要求1所述的方法,其特征在于,所述根据所述数据更新请求,更新所述目标数据库中所述目标账户的第一数据,包括:获取所述目标账户的更新前的所述第一数据的数值;判断所述数据更新请求是否为数值减少请求;若所述请求类型为数值减少请求,则判断更新前的所述第一数据的数值是否大于或者等于所述数据更新请求对应的数值的若更新前的所述第一数据的数值大于或者等于所述数据更新请求对应的数值的则根据更新前的所述第一数据的数值和所述数据更新请求对应的数值得到更新后的所述第一数据的数值,更新后的所述第一数据的数值等于更新前的所述第一数据的数值与所述数据更新请求对应的数值的的差值;若所述请求类型为数值增加请求,则根据更新前的所述第一数据的数值和所述数据更新请求对应的数值得到更新后的所述第一数据的数值,更新后的所述第一数据的数值等于更新前的所述第一数据的数值与所述数据更新请求对应的数值的的和值。5.根据权利要求4所述的方法,其特征在于,所述判断更新前的所述第一数据的数值是
否大于或者等于所述数据更新...

【专利技术属性】
技术研发人员:李子圣
申请(专利权)人:未鲲上海科技服务有限公司
类型:发明
国别省市:

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

1