[发明专利]基于消息队列及微服务的数据同步方法、装置及系统有效
申请号: | 202011068767.X | 申请日: | 2020-10-09 |
公开(公告)号: | CN111930529B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 黄菲;吴建英;吴建平;刘冬;李阳;杨士宏;谢鹏;施海娟;宋文君;谷西波;孙筱晔 | 申请(专利权)人: | 上海富友支付服务股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/54 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 顾嘉运 |
地址: | 201206 上海市浦东新区中国*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 消息 队列 微服 数据 同步 方法 装置 系统 | ||
1.一种基于消息队列及微服务的数据同步方法,包括:
注册并加载数据同步服务以创建数据同步模块;
以消息队列的生产者身份以工厂模式创建消息队列服务的长连接,并且以微服务消费者身份以微服务方式创建微服务的长连接;
接收或收集待同步数据;
以消息队列协议方式将所接收到的待同步数据以消息内容形式发送给消息队列中间件,再由所述消息队列中间件将所述消息内容分发给数据同步处理服务模块;
通过在监测期间捕捉发送异常的信息来判断在利用消息队列协议进行数据同步期间是否发生了数据同步失败的情况:
如果确定发生了数据同步失败的情况,则启动数据同步补偿机制以微服务的方式再次将所述消息内容发送给所述数据同步处理服务模块;以及
所述数据同步处理服务模块接收从所述数据同步模块发送的消息内容并对所述消息内容进行数据同步处理。
2. 如权利要求1所述的数据同步方法,其特征在于,所述方法还包括:在以消息队列协议方式发送消息内容之前,可以对所述待同步数据进行预处理,其中所述预处理包括:
将所述待同步数据转换为Json格式的数据报文形式的消息内容;以及
从所述待同步数据中标记出实体对象类型和发送系统的ID,并以公共参数的方式将它们标记于数据报文中。
3.如权利要求2所述的数据同步方法,其特征在于,所述方法还包括在以微服务的方式再次发送所述消息内容之前,将原来被转换为Json格式的数据报文形式的所述消息内容转换为供微服务网络传输的序列化对象。
4.如权利要求2所述的数据同步方法,其特征在于,所述数据同步处理服务模块对所述消息内容进行下述数据同步处理:
数据规则映射配置,包括:在所述数据同步处理服务模块初始化阶段以系统ID、源数据、目标数据源多个维度组合的形式构建规则并配置与所述规则相关联的配置文件;
数据接收,包括:以消息队列消费者的身份接收所述数据同步模块以所述消息队列协议方式发送的所述消息内容,或者以微服务提供者的身份接收所述数据同步模块以所述微服务方式发送的所述消息内容,并对接收到的所述消息内容进行初步消息报文验证及过滤;
数据解析转换,包括:从所接收的所述消息内容中解析出所述公共参数,所述公共参数包括:所述实体对象类型和所述发送系统的ID,根据所述公共参数从所述数据规则映射配置中获取匹配的规则,解析所述规则中的数据映射关系以导向至所述规则对应的处理模块来完成将对应目标数据源的数据对象转换成数据库SQL语句,通过所述规则中的目标数据源信息,从数据源连接池中获取并建立连接,进而执行数据同步;
监控处理,包括:在所述数据同步处理服务模块初始化时就启动监控告警定时扫描任务以监控在所述数据同步处理过程中出现同步失败情况,并在出现同步失败的情况下时,执行下述一项或多项操作:
以日志文件及数据表的形式记录同步失败信息;
将异常数据信息存储到相应的数据库中;以及
以邮件或短信形式发送或播报告警。
5.如权利要求1所述的数据同步方法,其特征在于,所述注册并加载数据同步服务包括:在应用系统中引入插件,所述插件可以同时在多个应用系统中分别注册,或在同一应用集群环境节点服务下进行注册以实现多来源采集和接收数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海富友支付服务股份有限公司,未经上海富友支付服务股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011068767.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于云计算构建大规模诱捕场景的方法及系统
- 下一篇:隧道内高度测量方法