全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210657140.0 (22)申请日 2022.06.10 (71)申请人 福建天晴数码有限公司 地址 350000 福建省福州市君竹路83号科 技发展中心大楼第四层Q476室 (自贸 试验区内) (72)发明人 刘德建 叶伟 李佳  (74)专利代理 机构 福州旭辰知识产权代理事务 所(普通合伙) 35233 专利代理师 卢丽花 (51)Int.Cl. G06F 16/23(2019.01) (54)发明名称 一种内存数据合并更新数据库库存的方法 及其系统 (57)摘要 本发明提供了一种内存数据合并更新数据 库库存的方法, 该方法为: 1、 收到库存更新请求, 生成唯一请求号, 转存成内存数据, 并写入本地 日志。 2、 读取一段时间内的数据, 按商品编号进 行分组合并扣减库存的数量, 合并成数据库更新 语句, 移除更新的内存数据, 并删除本地日志 。 3、 定时遍历本地日志, 如果有超过1s的日志, 则检 查内存是否有对应唯一请求号数据, 如果不存在 则把本地日志写回内存数据, 等待步骤2执行; 本 发明提高写入速度, 从而提高高并发下的吞吐 量。 权利要求书2页 说明书6页 附图1页 CN 115048395 A 2022.09.13 CN 115048395 A 1.一种内存数据合并更新数据库 库存的方法, 其特 征在于: 所述方法包括如下步骤: 步骤S1、 接收扣减库存更新请求, 为请求生成唯一请求号, 将请求号和请求数据转存成 内存数据, 并写入本地日志; 步骤S2、 读取一设定时间段内的内存数据, 按商品编号进行分组合并内存数据得到扣 减库存的数量, 根据重组后的扣减库存的数量来得到每个商品编号对应的库存扣减的数据 库更新语句, 根据数据库更新语句执 行数据库更新, 更新成功则 删除内存和日志中的数据; 步骤S3、 定时检查本地日志, 判断日志内容是否有大于1秒的数据, 否, 则不进行操作, 结束流程; 是, 则检查内存 是否有对应唯一请求号的数据, 是, 则不进 行操作, 结束流程; 否, 则把本地日志写回内存数据, 并执 行步骤S2。 2.根据权利要求1所述的一种内存数据合并更新数据库库存的方法, 其特征在于: 所述 步骤S1进一步具体为: 在收到扣减库存更新的请求后, 得到参数: 商品编号和扣减库存数, 为该请求生成一个唯一的请求号, 生成方式按照拼接规则: 即服务器编号+启动版本号+内 存最大编号加1生成, 生产时同步更新内存最大编号, 其中启动版本号会在服务器每次重新 启动的时候从文本日志中读取后加1, 再存回文本日志中, 这样能避免因服务器重启, 导致 唯一请求号存在重复的情况; 把收到的请求数据转化为内存数据结构{ ‘请求号’,‘商品编 号’,‘扣减库存数 ’,‘time’}, 其中time为当前请求时间戳, 存储至内存list中, 并写入本地 日志, 以防止因服务器异常奔溃, 在内存中未来得及写入数据库的数据能够从文本日志中 恢复。 3.根据权利要求1所述的一种内存数据合并更新数据库库存的方法, 其特征在于: 所述 步骤S2进一步具体为: 在内存list中读取0到200毫秒的数据, 遍历数据, 按商品编号进行分 组, 合并相同的商品编号的扣减库存数, 不同的商品编号的数据单独一组, 根据重组后的扣 减库存的数量来得到每组的商品编号对应的库存扣减的数据库更新语句, 执行数据库更 新, 更新成功则 删除对应的内存和日志中的数据。 4.根据权利要求1所述的一种内存数据合并更新数据库库存的方法, 其特征在于: 所述 步骤S3进一步具体为: 所述数据库更新语句还未执行成功之前服务器系统因异常奔溃重 启, 那么内存中的list数据将会丢失, 日志文件的内容保存的list内容将不会被清除; 则读 取当前服务器时间, 转换为时间戳t ime, 每设定时间检查一下本地日志文件, 判断日志内容 是否有大于1秒的数据, 否, 则不进行操作, 结束流程; 是, 则检查内存是否有对应唯一请求 号的数据, 是, 则不进行操作, 结束流 程; 否, 则把本地日志写回内存数据, 并执 行步骤S2。 5.一种内存数据合并更新数据库库存的系统, 其特征在于: 所述系统包括内存数据存 储模块、 内存数据合并更新模块、 以及日志检测模块; 所述内存数据存储模块, 接收扣减库存更新请求, 为请求生成唯一请求号, 将请求号和 请求数据转存成内存数据, 并写入本地日志; 所述内存数据合并更新模块, 读取一设定时间段内的内存数据, 按商品编号进行分组 合并内存数据得到扣减库存的数量, 根据重组后的扣减库存的数量来得到每个商品编号对 应的库存扣减的数据库更新语句, 根据数据库更新语句执行数据库更新, 更新成功则删除 内存和日志中的数据; 所述日志检测模块, 定时检查本地日志, 判断日志内容是否有大于1秒的数据, 否, 则不 进行操作, 结束流程; 是, 则检查内存是否有对应唯一请求号的数据, 是, 则不进行操作, 结权 利 要 求 书 1/2 页 2 CN 115048395 A 2束流程; 否, 则把本地日志写回内存数据, 并执 行内存数据合并更新模块。 6.根据权利要求5所述的一种内存数据合并更新数据库库存的系统, 其特征在于: 所述 内存数据存储模块的实现方式进一步具体为: 在收到扣减库存 更新的请求后, 得到参数: 商 品编号和扣减库存数, 为该请求生 成一个唯一的请求号, 生成方式按照拼接规则: 即服务器 编号+启动版本号 +内存最大编号加1生 成, 生产时同步更新内存最大编号, 其中启动版本号 会在服务器每次重新启动的时候从文本日志中读取后加1, 再存回文本日志中, 这样能避免 因服务器重启, 导致唯一请求号存在重复的情况; 把收到的请求数据转化为内存数据结构 {‘请求号’,‘商品编号 ’,‘扣减库存 数’,‘time’}, 其中time为当前请求时间戳, 存储至内存 list中, 并写入本地日志, 以防止因服务器异常奔溃, 在内存中未来得及 写入数据库的数据 能够从文本日志中恢复。 7.根据权利要求5所述的一种内存数据合并更新数据库库存的系统, 其特征在于: 所述 内存数据合并更新模块的实现方式进一步具体为: 在内存list 中读取0到200毫秒的数据, 遍历数据, 按商品编号进 行分组, 合并相同的商品编号的扣减库存数, 不同的商品编号的数 据单独一组, 根据重组后的扣减库存的数量来得到每组的商品编号对应的库存扣减的数据 库更新语句, 执 行数据库更新, 更新成功则 删除对应的内存和日志中的数据。 8.根据权利要求5所述的一种内存数据合并更新数据库库存的系统, 其特征在于: 所述 日志检测模块的实现方式进一步具体为: 所述数据库更新语句还未执行成功之前服务器系 统因异常奔溃重启, 那么内存中的list数据将会丢失, 日志文件的内容保存的list 内容将 不会被清除; 则读取当前服务器时间, 转换为时间戳t ime, 每设定时间检查一下本地日志文 件, 判断日志内容是否有 大于1秒的数据, 否, 则不进 行操作, 结束流程; 是, 则检查内存 是否 有对应唯一请求号的数据, 是, 则不进行操作, 结束流程; 否, 则把本地日志写回内存数据, 并执行内存数据合并更新模块。权 利 要 求 书 2/2 页 3 CN 115048395 A 3

PDF文档 专利 一种内存数据合并更新数据库库存的方法及其系统

文档预览
中文文档 10 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种内存数据合并更新数据库库存的方法及其系统 第 1 页 专利 一种内存数据合并更新数据库库存的方法及其系统 第 2 页 专利 一种内存数据合并更新数据库库存的方法及其系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:49:34上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。