(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
专利 一种基于JAVA优化处理同步数据的方法及装置
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-24 00:46:26上传分享