公共安全标准网
文库搜索
切换导航
文件分类
频道
仅15元无限下载
联系我们
问题反馈
文件分类
仅15元无限下载
联系我们
问题反馈
批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 20221071480 3.8 (22)申请日 2022.06.22 (71)申请人 杭州每刻科技有限公司 地址 310000 浙江省杭州市钱塘新区万晶 湖畔中心西区2幢15 01室 (72)发明人 何建东 叶少宁 李翔 魏美钟 (74)专利代理 机构 杭州裕阳联合专利代理有限 公司 33289 专利代理师 何宇梁 (51)Int.Cl. G06Q 30/04(2012.01) G06F 16/2455(2019.01) G06F 16/23(2019.01) G06F 9/52(2006.01) (54)发明名称 一种基于分布式锁的开 票方法和系统 (57)摘要 本发明公开了一种基于分布式锁的开票方 法和系统, 所述方法包括: 连接在线票据接口, 获 取开票完毕的票据, 根据所述开票完毕票据获取 待开票金额数据; 获取所述待开票金额数据对应 的票据唯一编码; 在查询所述待开票金额数据前 添加锁逻辑; 添加锁逻辑 成功后执行已开票金额 的减扣操作; 完整所述已开票金额的减扣操作 后, 将减扣完毕的金额数据更新到数据库, 并执 行解锁操作。 权利要求书1页 说明书4页 附图1页 CN 114971753 A 2022.08.30 CN 114971753 A 1.一种基于分布式锁的开 票方法, 其特 征在于, 所述方法包括: 连接在线票据接口, 获取开票完毕的票据, 根据所述开票完毕票据获取待开票金额数 据; 获取所述待开 票金额数据对应的票据唯一编码; 在查询所述待开 票金额数据前 添加锁逻辑; 添加锁逻辑成功后执 行已开票金额的减扣操作; 完整所述已开票金额的减扣操作后, 将减扣完毕的金额数据更新到数据库, 并执行解 锁操作。 2.根据权利要求1所述的一种基于分布式锁的开票方法, 其特征在于, 在获取所述票据 唯一编码后, 将所述票据唯一编码拼接在票据锁逻辑名称前缀后作为锁逻辑键名, 并对所 述票据添加锁逻辑。 3.根据权利要求2所述的一种基于分布式锁的开票方法, 其特征在于, 所述添加锁逻辑 方法包括: 先判断当前缓存中是否存在锁逻辑对应的键名, 若不存在则在添加锁逻辑后将 生成的具有票据唯一编码信息的键名保存在缓存中, 保存成功后生成锁逻辑添加成功标 记。 4.根据权利要求2所述的一种基于分布式锁的开票方法, 其特征在于, 所述添加锁逻辑 方法还包括: 若先判断当前缓存中不存在锁逻辑对应的键名, 则返回错 误信息。 5.根据权利要求2所述的一种基于分布式锁的开票方法, 其特征在于, 所述锁逻辑采用 排他锁, 查询当前其他线程是否存在当前锁逻辑对应的键名, 若存在则返回错误信息; 若不 存在, 则当前线程持有当前锁逻辑对应的键名。 6.根据权利要求1所述的一种基于分布式锁的开票方法, 其特征在于, 在完成票据 金额 减扣操作并更新数据库后, 执行解锁逻辑, 所述解锁逻辑方法包括: 查找当前锁逻辑在缓存 中保存的具有票据唯一编码的键名, 并将该键名擦除后完成解锁逻辑。 7.根据权利要求1所述的一种基于分布式锁的开票方法, 其特征在于, 所述锁逻辑的方 法包括: 利用tryLock方法预设获取锁逻辑时间间隔, 通过所述tryLock尝试获取锁逻辑对 应键名, 若不存在, 则在预设的获取时间间隔后再次查询, 若存在, 则将锁逻辑生成的具有 对应票据唯一编码的键名保存于缓存中。 8.根据权利要求1所述的一种基于分布式锁的开票方法, 其特征在于, 所述缓存为 redies缓存, 所述锁逻辑对应的键名保存于所述redies缓存作为锁添加成功标志, 擦除所 述redies缓存中锁逻辑对应的键名, 则释放对应的锁逻辑。 9.一种基于分布式锁开票系统, 其特征在于, 所述系统执行权利要求1 ‑8中任意一项所 述的一种基于分布式锁的开 票方法。 10.一种计算机可读存储介质, 其特征在于, 所述计算机可读存储介质存储有计算机程 序, 所述计算机程序可被处理器执行权利要求1 ‑8中任意一项所述的一种基于分布式锁的 开票方法。权 利 要 求 书 1/1 页 2 CN 114971753 A 2一种基于分布式锁的开票方 法和系统 技术领域 [0001]本发明涉及互联网票据技术领域, 特别涉及一种基于分布式锁的开票方法和系 统。 背景技术 [0002]目前客户通过前端系统接口或openApi接口调用发票在线开具功能, 系统会根据 调用参数完成发票的在线开具任务。 发票成功开具后, 系统会通过查询数据库中的待开票 的金额信息, 将其与开具成功的发票金额进 行对比, 并在 对比后进 行相应扣减, 最后 将扣减 信息更新数据库。 若待开票金额扣减至零, 则还会同步更新待开票信息的状态为完成开票 状态。 当用户调用开票接口的批量开票功能时, 由同时开具多张发票引起的并发开票流程, 会导致系统在完成第一张发票的待开票金额扣减后数据更新前去为第二张完成开具的查 询待开票金额(从查询到更新平均用时100ms, 前后查询间隔平均用时60 ms), 此时获取的待 开票金额是不正确的, 因为该待开票金额尚未扣减第一张发票的金额。 即现有方案会在批 量开票时出现并发系统常见的数据不同步问题。 发明内容 [0003]本发明其中一个发明目的在于提供一种基于分布式锁的开票方法和系统, 所述方 法和系统通过添加分布式锁的方式, 将同一开票数据的流程进行原子化处理, 使得同一开 票流程从并行改为串行, 从而 避免同一 开票数据减扣不同步的问题。 [0004]本发明另一个发明目的在于提供一种基于分布式锁的开票方法和系统, 所述方法 和系统在轮询取锁的过程中, 通过添加线程暂停时间间隔, 从而 可以降低获取锁的CPU性能 暂用, 从而可以适配于大批量的开 票金额减扣操作。 [0005]本发明另一个发明目的在于提供一种基于分布式锁的开票方法和系统, 所述方法 和系统利用分布式排他锁进行开票金额减扣的原子化处理, 当锁被其他线程占用时, 返回 错误信息, 可避免同一个开票金额被不同线程操作, 保障开票金额的处理的唯一性和同步 性。 [0006]为了实现至少一个上述发明目的, 本发明进一步提供一种基于分布式锁的开票方 法, 所述方法包括: [0007]连接在线票据接 口, 获取开票完毕的票据, 根据所述开票完毕票据获取待开票金 额数据; [0008]获取所述待开 票金额数据对应的票据唯一编码; [0009]在查询所述待开 票金额数据前 添加锁逻辑; [0010]添加锁逻辑成功后执 行已开票金额的减扣操作; [0011]完整所述已开票金额的减扣操作后, 将减扣完毕的金额数据更新到数据库, 并执 行解锁操作。 [0012]根据本发明其中一个较佳实施例, 在获取所述票据唯一编码后, 将所述票据唯一说 明 书 1/4 页 3 CN 114971753 A 3
专利 一种基于分布式锁的开票方法和系统
文档预览
中文文档
7 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
赞助2元下载(无需注册)
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
下载文档到电脑,方便使用
赞助2元下载
本文档由 SC 于
2024-02-24 00:46:21
上传分享
举报
下载
原文档
(335.2 KB)
分享
友情链接
GB-T 42536-2023 车用高压储氢气瓶组合阀门.pdf
信通院 数据安全技术与产业发展研究报告-2021年.pdf
GB/T 25387.2-2021 风力发电机组 全功率变流器 第2部分:试验方法.pdf
GBT 41400-2022 信息安全技术 工业控制系统信息安全防护能力成熟度模型.pdf
GB-T 32918.3-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第3部分:密钥交换协议.pdf
AQ 1098-2014 露天煤矿安全设施设计编制导则.pdf
DB52-T 702-2011 杉木二元立木材积表 贵州省.pdf
数据出境安全评估办法 中英文.pdf
DB4401-T 28-2019 排水管渠维修养护技术规范 广州市.pdf
奇安信 天眼新一代威胁感知系统产品白皮书 2020.pdf
DB3502-T 056.1-2020 政务信息共享协同平台 第1部分:总体设计 厦门市.pdf
GB-T 39405-2020 机器人分类.pdf
DB13-T 1328-2010 混凝土砖及砌体结构技术规范 河北省.pdf
GB-T 43632-2024 供应链安全管理体系 供应链韧性的开发 要求及使用指南.pdf
GB/T 15055-2021 冲压件未注公差尺寸极限偏差.pdf
GB-T 33480-2016 党政机关电子公文元数据规范.pdf
GA-T 1718-2020 信息安全技术 大数据平台安全管理产品安全技术要求.pdf
GB-T 3098.23-2020 紧固件机械性能 M42~M72螺栓、螺钉和螺柱.pdf
DB52-T 1034-2019 压缩天然气车用气瓶充装安全管理规范 贵州省.pdf
GB-T 22240-2018 信息安全技术 网络安全等级保护定级指南.pdf
1
/
7
评价文档
赞助2元 点击下载(335.2 KB)
回到顶部
×
微信扫码支付
2
元 自动下载
官方客服微信:siduwenku
支付 完成后 如未跳转 点击这里 下载
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们
微信(点击查看客服)
,我们将及时删除相关资源。