(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210975229.1 (22)申请日 2022.08.15 (71)申请人 中信百信银行股份有限公司 地址 100029 北京市朝阳区安定路5号院3 号楼8层 (72)发明人 李林林 樊士卜  (74)专利代理 机构 北京市兰台律师事务所 11354 专利代理师 张博 张峰 (51)Int.Cl. G06Q 20/36(2012.01) G06F 16/25(2019.01) G06F 16/23(2019.01) G06F 9/52(2006.01) G06F 9/50(2006.01) (54)发明名称 基于循环队列处理热点账户性能的方法、 系 统、 终端设备及存 储介质 (57)摘要 本发明提供了一种基于循环队列处理热点 账户性能的方法、 系统、 终端设备及存储介质, 涉 及计算机系统领域。 其系统包括包括数据获取模 块、 数据入库模块以及处理模块, 本发明通过内 存循环队列, 提出一种解决热点账户性能瓶颈, 可用性高, 设计复杂度低的方案, 通过拆分热点 账户, 解决热点账户瓶颈问题。 通过内存循环队 列, 快速获取可用子账户, 提高可用性。 通过内存 循环队列和乐观锁, 利用数据库 自身事务能力, 以及失败重试机制, 降低数据更新失败率和提高 容错能力, 减少失败后的补偿。 缩短链条, 降低系 统复杂度。 权利要求书1页 说明书3页 附图2页 CN 115293765 A 2022.11.04 CN 115293765 A 1.一种基于循环队列处 理热点账户性能的方法, 其特 征在于, 包括以下步骤: 。 S1、 首先同一台服 务器的请求, 将依次遍历维护在本地各个子账户的状态; S2、 获取空 闲状态的子账户并更改本 机该子账户的状态; S3、 采用基于mysql的乐观锁进行子账户的账户操作, 若账户操作失败进行一定次数的 重复操作; S4、 若超出设定的重复操作次数后仍然失败, 则重复执 行步骤S1; S5、 若账户操作成功, 则恢复本次转账 所涉及的所有子账户的状态为可用。 2.根据权利要求1所述的方法, 其特 征在于, 子账户设有警戒阈值。 3.根据权利要求2所述的方法, 其特征在于, 触发安全阈值后对将该子账户下线 并将该 账户余额合并到下一个子账户, 充值后各个子账户重新上线。 4.根据权利要求2所述的方法, 其特征在于, 当交易金额大于各个 阈值且子账户余额不 足, 将依次合并空 闲账户进行支付。 5.根据权利要求1所述的方法, 其特征在于, 如果各个子账户全部繁忙则将进行一定次 数的重复遍历。 6.根据权利要求1所述的方法, 其特 征在于, 子账户设有安全阈值。 7.一种基于循环队列处理热点账户性 能的系统, 其特征在于, 包括数据获取模块, 用于 获取本地各个子账户的状态; 数据入库模块, 用于将获取到的子账户的状态保存到数据库中; 处理模块, 根据子账户的状态的状态对账户进行处理, 若账户操作失败进行一定次数 的重复操作; 若账户操作成功, 则恢复本次转账 所涉及的所有子账户的状态为可用。 8.一种终端设备, 其特征在于, 包括: 处理器、 存储介质和总线, 所述存储介质存储有所 述处理器可执行 的机器可读指令, 当所述终端设备运行时, 所述处理器与所述存储介质之 间通过总线通信, 所述处理器执行所述机器可读指令, 以执行时执行如权利要求1至6任一 项所述的方法的步骤。 9.一种存储介质, 其特征在于, 所述存储介质上存储有计算机程序, 所述计算机程序被 处理器运行时执 行如权利要求1至 6任一项所述的方法的步骤。权 利 要 求 书 1/1 页 2 CN 115293765 A 2基于循环队列处理热点账户性能的方 法、 系统、 终端设 备及存 储介质 技术领域 [0001]本发明涉及计算机系统领域, 具体而言, 涉及一种基于循环队列处理热点账户性 能的方法、 系统、 终端设备及存 储介质。 背景技术 [0002]目前公认的热点账户处理方案是采用Redis缓存加分布式锁, 记录汇总批量更新 热点账户来实现。 例如淘宝、 支付宝等知名案例。 [0003]同业也有拆分子账户的方案, 即将热点账户拆分为多个与热点账户结构相同的子 账户, 余额平分到 子账户上, 根据渠道, 用户值 等条件分散请求到不同子账户上。 [0004]通过Redis缓存操作, 记录交易流水, 再汇总交易流水批量更新库的方式, Redis余 额与数据库余额不是实时一致的, 当其中一端数据更新失败时会导致最终余额不一致, 可 能导致余额透支 等情况, 对于保持数据一致性需要做数据回滚, 补偿等设计, 加大了 设计的 复杂度, 当发生数据不 一致时, 加大了查找问题的难度。 [0005]对于拆分子账户的方案, 虽然可以将热点账户的操作分散到不 同子账户, 但是因 为算法问题, 子账户仍有成为热点账户的问题, 导 致更新账户余 额操作失败, 当子账户。 [0006]余额为0时, 仍会有请求先打到该账户, 造成不必要的性能损耗。 且因为子账户余 额扣减会有余数, 在锁子账户进 行大额扣减时, 需要 先汇总余额, 汇总余额的时候需要给多 个账户上锁, 影响性能。 发明内容 [0007]本发明实施例提供一种基于循环队列处理热点账户性能的方法、 系统、 终端设备 及存储介质。 [0008]一种基于循环队列处 理热点账户性能的方法, 具体步骤 包括: [0009]S1、 首先同一台服务器的请求, 将依次遍历维护在本地各个子账户的状态, 如果各 个子账户全部 繁忙则将进行一定次数的重复遍历。 [0010]S2、 获取空 闲状态的子账户并更改本 机该子账户的状态。 [0011]S3、 采用基于mysql的乐观锁进行子账户的账户操作, 若账户操作失败进行一定次 数的重复操作。 [0012]S4、 若超出设定的重复操作次数后仍然失败, 则重复执 行步骤S1。 [0013]S5、 若账户操作成功, 则恢复本次转账 所涉及的所有子账户的状态为可用。 [0014]进一步的: 子账户设有警戒阈值和以及安全阈值。 [0015]进一步的: 触发安全阈值后对将该子账户下线并将该账户余额合并到下一个子账 户, 充值后各个子账户重新上线。 [0016]进一步的: 当交易金额大于各个阈值且子账户余额不足, 将依次合并空闲账户进 行支付。说 明 书 1/3 页 3 CN 115293765 A 3

.PDF文档 专利 基于循环队列处理热点账户性能的方法、系统、终端设备及存储介质

安全报告 > 其他 > 文档预览
中文文档 7 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于循环队列处理热点账户性能的方法、系统、终端设备及存储介质 第 1 页 专利 基于循环队列处理热点账户性能的方法、系统、终端设备及存储介质 第 2 页 专利 基于循环队列处理热点账户性能的方法、系统、终端设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:38:16上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。