[發(fā)明專利]基于消息隊(duì)列及微服務(wù)的數(shù)據(jù)同步方法、裝置及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202011068767.X | 申請日: | 2020-10-09 |
| 公開(公告)號: | CN111930529B | 公開(公告)日: | 2021-02-05 |
| 發(fā)明(設(shè)計(jì))人: | 黃菲;吳建英;吳建平;劉冬;李陽;楊士宏;謝鵬;施海娟;宋文君;谷西波;孫筱曄 | 申請(專利權(quán))人: | 上海富友支付服務(wù)股份有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/54 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 顧嘉運(yùn) |
| 地址: | 201206 上海市浦東新區(qū)中國*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 消息 隊(duì)列 微服 數(shù)據(jù) 同步 方法 裝置 系統(tǒng) | ||
1.一種基于消息隊(duì)列及微服務(wù)的數(shù)據(jù)同步方法,包括:
注冊并加載數(shù)據(jù)同步服務(wù)以創(chuàng)建數(shù)據(jù)同步模塊;
以消息隊(duì)列的生產(chǎn)者身份以工廠模式創(chuàng)建消息隊(duì)列服務(wù)的長連接,并且以微服務(wù)消費(fèi)者身份以微服務(wù)方式創(chuàng)建微服務(wù)的長連接;
接收或收集待同步數(shù)據(jù);
以消息隊(duì)列協(xié)議方式將所接收到的待同步數(shù)據(jù)以消息內(nèi)容形式發(fā)送給消息隊(duì)列中間件,再由所述消息隊(duì)列中間件將所述消息內(nèi)容分發(fā)給數(shù)據(jù)同步處理服務(wù)模塊;
通過在監(jiān)測期間捕捉發(fā)送異常的信息來判斷在利用消息隊(duì)列協(xié)議進(jìn)行數(shù)據(jù)同步期間是否發(fā)生了數(shù)據(jù)同步失敗的情況:
如果確定發(fā)生了數(shù)據(jù)同步失敗的情況,則啟動數(shù)據(jù)同步補(bǔ)償機(jī)制以微服務(wù)的方式再次將所述消息內(nèi)容發(fā)送給所述數(shù)據(jù)同步處理服務(wù)模塊;以及
所述數(shù)據(jù)同步處理服務(wù)模塊接收從所述數(shù)據(jù)同步模塊發(fā)送的消息內(nèi)容并對所述消息內(nèi)容進(jìn)行數(shù)據(jù)同步處理。
2. 如權(quán)利要求1所述的數(shù)據(jù)同步方法,其特征在于,所述方法還包括:在以消息隊(duì)列協(xié)議方式發(fā)送消息內(nèi)容之前,可以對所述待同步數(shù)據(jù)進(jìn)行預(yù)處理,其中所述預(yù)處理包括:
將所述待同步數(shù)據(jù)轉(zhuǎn)換為Json格式的數(shù)據(jù)報文形式的消息內(nèi)容;以及
從所述待同步數(shù)據(jù)中標(biāo)記出實(shí)體對象類型和發(fā)送系統(tǒng)的ID,并以公共參數(shù)的方式將它們標(biāo)記于數(shù)據(jù)報文中。
3.如權(quán)利要求2所述的數(shù)據(jù)同步方法,其特征在于,所述方法還包括在以微服務(wù)的方式再次發(fā)送所述消息內(nèi)容之前,將原來被轉(zhuǎn)換為Json格式的數(shù)據(jù)報文形式的所述消息內(nèi)容轉(zhuǎn)換為供微服務(wù)網(wǎng)絡(luò)傳輸?shù)男蛄谢瘜ο蟆?/p>
4.如權(quán)利要求2所述的數(shù)據(jù)同步方法,其特征在于,所述數(shù)據(jù)同步處理服務(wù)模塊對所述消息內(nèi)容進(jìn)行下述數(shù)據(jù)同步處理:
數(shù)據(jù)規(guī)則映射配置,包括:在所述數(shù)據(jù)同步處理服務(wù)模塊初始化階段以系統(tǒng)ID、源數(shù)據(jù)、目標(biāo)數(shù)據(jù)源多個維度組合的形式構(gòu)建規(guī)則并配置與所述規(guī)則相關(guān)聯(lián)的配置文件;
數(shù)據(jù)接收,包括:以消息隊(duì)列消費(fèi)者的身份接收所述數(shù)據(jù)同步模塊以所述消息隊(duì)列協(xié)議方式發(fā)送的所述消息內(nèi)容,或者以微服務(wù)提供者的身份接收所述數(shù)據(jù)同步模塊以所述微服務(wù)方式發(fā)送的所述消息內(nèi)容,并對接收到的所述消息內(nèi)容進(jìn)行初步消息報文驗(yàn)證及過濾;
數(shù)據(jù)解析轉(zhuǎn)換,包括:從所接收的所述消息內(nèi)容中解析出所述公共參數(shù),所述公共參數(shù)包括:所述實(shí)體對象類型和所述發(fā)送系統(tǒng)的ID,根據(jù)所述公共參數(shù)從所述數(shù)據(jù)規(guī)則映射配置中獲取匹配的規(guī)則,解析所述規(guī)則中的數(shù)據(jù)映射關(guān)系以導(dǎo)向至所述規(guī)則對應(yīng)的處理模塊來完成將對應(yīng)目標(biāo)數(shù)據(jù)源的數(shù)據(jù)對象轉(zhuǎn)換成數(shù)據(jù)庫SQL語句,通過所述規(guī)則中的目標(biāo)數(shù)據(jù)源信息,從數(shù)據(jù)源連接池中獲取并建立連接,進(jìn)而執(zhí)行數(shù)據(jù)同步;
監(jiān)控處理,包括:在所述數(shù)據(jù)同步處理服務(wù)模塊初始化時就啟動監(jiān)控告警定時掃描任務(wù)以監(jiān)控在所述數(shù)據(jù)同步處理過程中出現(xiàn)同步失敗情況,并在出現(xiàn)同步失敗的情況下時,執(zhí)行下述一項(xiàng)或多項(xiàng)操作:
以日志文件及數(shù)據(jù)表的形式記錄同步失敗信息;
將異常數(shù)據(jù)信息存儲到相應(yīng)的數(shù)據(jù)庫中;以及
以郵件或短信形式發(fā)送或播報告警。
5.如權(quán)利要求1所述的數(shù)據(jù)同步方法,其特征在于,所述注冊并加載數(shù)據(jù)同步服務(wù)包括:在應(yīng)用系統(tǒng)中引入插件,所述插件可以同時在多個應(yīng)用系統(tǒng)中分別注冊,或在同一應(yīng)用集群環(huán)境節(jié)點(diǎn)服務(wù)下進(jìn)行注冊以實(shí)現(xiàn)多來源采集和接收數(shù)據(jù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海富友支付服務(wù)股份有限公司,未經(jīng)上海富友支付服務(wù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011068767.X/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種接口擁塞時延的計(jì)算方法及裝置
- 一種報文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置
- 基于人工智能服務(wù)云平臺的微服務(wù)管理方法和系統(tǒng)
- 域名管理方法、裝置及系統(tǒng)
- 微服務(wù)通信方法、裝置、電子設(shè)備及機(jī)器可讀存儲介質(zhì)
- 微服務(wù)應(yīng)用平臺及其資源保存方法和保存裝置
- 一種微服務(wù)關(guān)聯(lián)分析與預(yù)測方法
- 微服務(wù)配置信息管理系統(tǒng)、方法、服務(wù)器及存儲介質(zhì)
- 微服務(wù)容器之間服務(wù)啟動方法、裝置、設(shè)備及存儲介質(zhì)
- 微服務(wù)組合方法、裝置、設(shè)備及存儲介質(zhì)
- 微服務(wù)接口的發(fā)布方法、裝置、電子設(shè)備和存儲介質(zhì)
- 一種大規(guī)模微服務(wù)架構(gòu)及其管理方法





