(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210367850.X
(22)申请日 2022.04.08
(71)申请人 昆明能讯科技有限责任公司
地址 650000 云南省昆明市经开区云大西
路104号云电科技园二期昆明能讯科
技有限责任公司
(72)发明人 黄绪勇 于辉 赵云
(74)专利代理 机构 昆明今威专利商标代理有限
公司 53115
专利代理师 赛晓刚 苏杭
(51)Int.Cl.
G06F 16/22(2019.01)
G06F 16/23(2019.01)
G06F 16/27(2019.01)
(54)发明名称
一种基于多系统间数据最终一致性的工作
任务同步方法
(57)摘要
本发明公开了一种基于多系统间数据最终
一致性的工作任务同步方法, 采用多线程的方
式, 将从数据队列中取出多个业务系统所产生的
业务数据, 通过每一条数据中的数据唯一ID、 源
系统、 处理人、 数据状态等信息进行融合, 形成能
够存储于内存缓存中的唯一标识, 并通过每一条
唯一标识数据的数据产生时间及数据状态, 来判
断这条数据是待办理数据还是已办理数据, 最终
确定该条数据是否存入关系型数据库中, 保证任
务数据的最终一致性, 解决因为了提高多系统间
数据交互性能而引入的数据时间顺序混乱导致
的数据逻辑错误, 直将最终结果数据存放于关系
数据库中, 避免因过程数据频繁操作数据库, 造
成的系统性能急剧下降的问题。
权利要求书2页 说明书6页 附图1页
CN 114780543 A
2022.07.22
CN 114780543 A
1.一种基于多系统间数据最终一致性的工作任务同步方法, 其特征在于, 采用多线程
的方式, 将从数据队列中取出多个业务系统所产生的业务数据, 通过将每一条数据构建的
唯一标识, 并通过每一条唯一标识数据的数据产生时间及数据状态, 来判断这条数据是待
办理数据还是已办理数据, 最终确定该 条数据是否存 入关系型 数据库中, 其包括以下步骤:
步骤S1、 使用多线程的方式从数据队列中获取各业务系统所传输的任务数据, 从消息
队列中获取一条 数据;
步骤S2、 将获取到的步骤S1中的该条数据进行解析, 并将解析后的信息中的任务ID、 处
理人、 数据状态按照统一的处理方式形成对每一条数据对应一条唯一标识数据; 且根据每
一条数据的唯一标识能够被从 缓存中获取 该条数据;
步骤S3、 基于唯一标识码 获取对应的数据后, 提取其数据状态并进行待办理\已办理的
判断, 若为待办理, 则进行步骤S4、 若为已办理, 则进行步骤S5;
步骤S4、 判断相应的缓存中是否已有该条数据, 若存在该数据, 无论为待办理还是已办
理均丢弃\删除该 条数据; 若不存在待办理数据, 则存 入该缓存数据库;
步骤S5、 判断相应的缓存中是否已有该条数据, 若存在该数据为待办理数据, 则存入数
据库并将待办理数据删除, 若存在该数据为已办理数据, 则丢弃\删除该条数据; 若不存在
待办理数据, 则存 入该缓存数据库并将待办理数据删除。
2.根据权利要求1所述的基于多系统间数据最终一致性的工作任务同步方法, 其特征
在于, 所述步骤S2~S 5中还包括加锁机制步骤, 所述加锁机制步骤包括: 将数据队列中获取
到一条处理人为某人 的数据, 与其数据编号相互关联, 并将构建为特定格式放入一个单线
程的线程池中, 该线程池中的单线程则通过使用散列算法计算出该条数据的Hash值, 并用
该Hash在内存中进行检索;
如果一旦检索到该Hash值, 则该单线程返回Locked状态, 若该单线程未在内存中查找
到该Hash值, 则该 单线程则将该Hash和系统当前时间存放于内存中并返回L ocked状态;
同时我们采用另外一个单线程去循环遍历内存中所有存放的Hash值, 取出每一个Hash
值所对应的时间, 如果存储于内存中的时间与系统当前时间有10分钟及以上 的差异, 则该
单线程将该Hash值从内存中清除, 以避免出现死锁的情况发生。
3.根据权利要求1所述的基于多系统间数据最终一致性的工作任务同步方法, 其特征
在于, 所述步骤S2中的唯一标识的处理方式包括: 将任务数据的ID使用除法余数法计算得
Code值, 而商值则继续除数, 最 终转换后的长度为N位长, 长度不够的在最后补 充符号; 若任
务数据的ID中存在字母, 则将字母转化为对应的ASCII后再进 行运算; 同时获取时间格式并
将时间进行转换; 数据中包含中文的则先转化为Unicode编码再进行上述的运算; 最终将编
码后的任务ID结合处理人和来源系统进行拼接, 然后用Hash算法得出最终的Hash值, 则获
得唯一标识。
4.根据权利要求1所述的基于多系统间数据最终一致性的工作任务同步方法, 其特征
在于, 所述加锁机制步骤还包括: 通过对工作任务数据加上时间、 处理人、 来源系统中的一
种或多种作为附加信息, 利用Hash值的方式在内存中对该任务进行加锁, 通过对该条工作
任务采用时间逻辑的判断, 将最终能够写入关系 数据库的数据保存于内存缓存中, 若超过
一个设定时间后, 数据未有变化, 则再将数据写入关系型 数据库中。
5.根据权利要求4所述的基于多系统间数据最终一致性的工作任务同步方法, 其特征权 利 要 求 书 1/2 页
2
CN 114780543 A
2在于, 对该条数据的工作任务采用时间逻辑的判断, 以剔除内存缓存中的过程数据, 只保留
需要写入关系型 数据库的数据。权 利 要 求 书 2/2 页
3
CN 114780543 A
3
专利 一种基于多系统间数据最终一致性的工作任务同步方法
安全报告 >
其他 >
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-24 08:50:03上传分享