(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210469452.9 (22)申请日 2022.04.30 (71)申请人 苏州浪潮智能科技有限公司 地址 215100 江苏省苏州市吴中经济开发 区郭巷街道官浦路1号9幢 (72)发明人 陈圣惠 邓淮谦  (74)专利代理 机构 济南舜源专利事务所有限公 司 37205 专利代理师 杨彬 (51)Int.Cl. G06F 16/27(2019.01) G06F 16/25(2019.01) G06F 16/22(2019.01) G06F 16/23(2019.01) G06F 16/2455(2019.01)G06F 16/2457(2019.01) (54)发明名称 一种基于JAVA优化处理同步数据的方法及 装置 (57)摘要 本发明提供一种基于JAVA优化处理同步数 据的方法及装置, 属于数据同步技术领域, 所述 方法步骤如下: 主线程通过API端口实时获取同 步数据, 将同步数据保存到数据库中, 并从同步 数据中取出待处理文档ID, 将待处理文档ID及待 处理文档ID在数据库中索引保存到Redi  s库中, 生成队列任 务; 辅助线程依次从Redi  s库中取出 队列任务, 从队列任务中获取待处理文档ID, 并 通过队列数据处理服务根据待处理文档ID进行 文档处理, 再将处理后的文档更新到数据库中。 本发明在数据同步过程中, 利用Redi  s库缓存大 幅度降低数据库的负载, 利用辅助线程逐一进行 耗时多的运算或下载动作, 避免主线程阻塞影 响 系统运行的效能, 提高系统的稳定性。 权利要求书2页 说明书8页 附图2页 CN 114817405 A 2022.07.29 CN 114817405 A 1.一种基于JA VA优化处理同步数据的方法, 其特 征在于, 包括如下步骤: S1.主线程通过API端 口实时获取同步数据, 将同步数据保存到数据库中, 并从同步数 据中取出待处理文档ID, 将待处理文档ID及待处理文档ID在数据库中索引保存到Redis库 中, 生成队列任务; S2.辅助线程依次从Redis库中取出队列任务, 从队列任务中获取待处理文档ID, 并通 过队列数据处理服务根据待处理文档ID进行文档处理, 再将处理后的文档更新到数据库 中。 2.如权利 要求1所述的基于JAVA优化处理同步数据的方法, 其特征在于, 步骤S1具体步 骤如下: S11.通过POST或GET方式从API端口获取同步数据; S12.定位 一段同步数据; S13.将定位的同步数据保存到数据库中, 并取 出待处理文档ID; S14.将待处理文档ID及待处理文档ID在数据库 中索引保存到Redis库 中, 生成队列任 务, 并在Redis库中为待处 理文档ID创建任务索引; S15.判断同步数据是否 定位完毕; 若是, 进入步骤S2; 若否, 定位下一段同步数据, 返回步骤S13 。 3.如权利要求2所述的基于JAVA优化处理同步数据的方法, 其特征在于, 步骤S11之前 还包括如下步骤: S1A1.预先设置Redis库, 并为Redis库设置好索引前缀; S1A2.创建获取同步数据的主 线程以及进行Redis库检索的辅助线程; S1A3.基于JA VA创建进行文档处 理的队列数据处 理服务。 4.如权利 要求3所述的基于JAVA优化处理同步数据的方法, 其特征在于, 步骤S2具体步 骤如下: S21.启动辅助线程; S22.辅助线程定位Redis库中的任务索引; S23.辅助线程根据任务索引从Redis库中取出队列任务, 并从队列任务中获取待处理 文档ID; S24.辅助线程启动队列数据处 理服务; S25.队列数据处理服务根据待处理文档ID进行文档处理, 并将处理后文档根据对应数 据库中索引更新到数据库中, 再将完成文档处 理对应的任务索引从Redis库中进行删除; S26.辅助线程判断Redis库中任务索引是否 定位完毕; 若是, 结束; 若否, 定位到Redis库中的下一个任务索引, 返回步骤S23 。 5.如权利 要求4所述的基于JAVA优化处理同步数据的方法, 其特征在于, 待 处理文档ID 为待处理文档的路径; 步骤S25中根据待处 理文档ID进行文档处 理包括进行文档下 载和数据计算。 6.一种基于JA VA优化处理同步数据的装置, 其特 征在于, 包括: Redis库数据缓存模块(1), 用于主线程通过API端口实时获取同步数据, 将同步数据保权 利 要 求 书 1/2 页 2 CN 114817405 A 2存到数据库中, 并从 同步数据中取出待处理文档ID, 将待处理文档ID及待处理文档ID在数 据库中索引保存到Redis库中, 生成队列任务; 多线程数据处理模块(2), 用于辅助线程依次从Redis库中取出队列任务, 从队列任务 中获取待处理文档ID, 并通过队列数据处理服务根据待处理文档ID进行文档处理, 再将处 理后的文档更新到数据库中。 7.如权利要求6所述的基于JAVA优化处理同步数据的装置, 其特征在于, Redis库数据 缓存模块(1)包括: 同步数据获取 单元(1.1), 用于通过POST或GET方式从API端口获取同步数据; 同步数据定位单 元(1.2), 用于 定位一段同步数据; 待处理文档ID取出单元(1.3), 用于将定位的同步数据保存到数据库中, 并取出待 处理 文档ID; 待处理文档ID保存及任务索引生成单元(1.4), 用于将待处理文档ID及待处理文档ID 在数据库中索引保存到Redis库中, 生成队列任务, 并在Redis库中为待处理文档ID创建任 务索引; 同步数据定位完毕判断单 元(1.5), 用于判断同步数据是否 定位完毕; 同步数据再定位单 元(1.6), 用于同步数据未定位完毕时, 定位下一段同步数据。 8.如权利要求6所述的基于JAVA优化处理同步数据的装置, 其特征在于, Redis库数据 缓存模块(1)还 包括: Redis库预设单 元(1.7), 用于预 先设置Redis库, 并为Redis库设置好索引前缀; 多线程创建单元(1.8), 用于创建获取同步数据的主线程以及进行Redis库检索的辅助 线程; 文档处理服务创建单 元(1.9), 用于基于JA VA创建进行文档处 理的队列数据处 理服务。 9.如权利要求6所述的基于JAVA优化处理同步数据的装置, 其特征在于, 多线程数据处 理模块(2)包括: 辅助线程启动单 元(2.1), 用于启动辅助线程; 任务索引定位单 元(2.2), 用于 辅助线程定位Redis库中的任务索引; 待处理文档ID取出单元(2.3), 用于辅助线程根据任务索引从Redis库中取出队列任 务, 并从队列任务中获取待处 理文档ID; 数据处理服务启动单 元(2.4), 用于 辅助线程启动队列数据处 理服务; 文档处理单元(2.5), 用于队列数据处理服务根据待 处理文档ID进行文档处理, 并将处 理后文档根据对应数据库中索引更新到数据库中, 再将完成文档处理对应的任务索引从 Redis库中进行删除; 任务索引定位完毕判断单元(2.6), 用于辅助线程判断Redis库中任务索引是否定位完 毕; 任务索引再定位单元(2.7), 用于任务索引未定位完毕时, 定位到Redis库中的下一个 任务索引。 10.如权利要求6所述的基于JAVA优化处理同步数据的装置, 其特征在于, 文档处理单 元(2.5)中根据待处 理文档ID进行文档处 理包括进行文档下 载和数据计算。权 利 要 求 书 2/2 页 3 CN 114817405 A 3

PDF文档 专利 一种基于JAVA优化处理同步数据的方法及装置

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