[發(fā)明專利]一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710081650.7 | 申請(qǐng)日: | 2017-02-15 |
| 公開(公告)號(hào): | CN106844746A | 公開(公告)日: | 2017-06-13 |
| 發(fā)明(設(shè)計(jì))人: | 趙文龍;何瀟洋;蘇芳 | 申請(qǐng)(專利權(quán))人: | 浪潮軟件集團(tuán)有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司37100 | 代理人: | 姜明 |
| 地址: | 250100 山東省*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 接口 編程 實(shí)現(xiàn) 通用 數(shù)據(jù) 交換 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及軟件系統(tǒng)集成領(lǐng)域,具體地說是一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法。
背景技術(shù)
數(shù)據(jù)交換涉及到數(shù)據(jù)發(fā)送方系統(tǒng)和數(shù)據(jù)接收方系統(tǒng),傳統(tǒng)的數(shù)據(jù)交換實(shí)現(xiàn)方法,主要有以下幾種方式:
(1)基于數(shù)據(jù)庫實(shí)現(xiàn)的數(shù)據(jù)交換
數(shù)據(jù)庫對(duì)數(shù)據(jù)庫的數(shù)據(jù)交換,利用數(shù)據(jù)庫之間的聯(lián)通技術(shù)比如Oracle的DBLink作為不同數(shù)據(jù)庫之間通信的橋梁,通過SQL或者存儲(chǔ)過程實(shí)現(xiàn)數(shù)據(jù)發(fā)送方系統(tǒng)與數(shù)據(jù)接收方系統(tǒng)之間的數(shù)據(jù)處理。這種實(shí)現(xiàn)方式雖然不依賴應(yīng)用程序,實(shí)現(xiàn)過程簡(jiǎn)單,但所有的功能都需要通過SQL或者存儲(chǔ)過程實(shí)現(xiàn),數(shù)據(jù)庫中的SQL或者存儲(chǔ)過程調(diào)試?yán)щy,不適用于復(fù)雜的業(yè)務(wù)邏輯處理。此外,需要將數(shù)據(jù)庫暴露出來,安全性會(huì)受到一定的威脅。
(2)基于消息中間件實(shí)現(xiàn)的數(shù)據(jù)交換
數(shù)據(jù)發(fā)送方系統(tǒng)通過消息中間件給數(shù)據(jù)接收方系統(tǒng)發(fā)送接收數(shù)據(jù)的指令消息,然后再以消息內(nèi)容為載體,將數(shù)據(jù)也以消息的形式傳送給數(shù)據(jù)接收方,數(shù)據(jù)接收方接收到數(shù)據(jù)接收指令消息之后,調(diào)用本地的程序接收來自數(shù)據(jù)發(fā)送方傳送消息中包含的數(shù)據(jù)。這種實(shí)現(xiàn)實(shí)現(xiàn)方式雖然和數(shù)據(jù)庫層解耦,但又必須依賴于消息中間件,數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方都需要對(duì)數(shù)據(jù)進(jìn)行加工處理才能完成數(shù)據(jù)的交換,并且這種實(shí)現(xiàn)方式通常不支持事務(wù)控制,數(shù)據(jù)一致性無法保證。
(3)直接調(diào)用程序?qū)崿F(xiàn)的數(shù)據(jù)交換
數(shù)據(jù)接收方提供接收數(shù)據(jù)的程序包以及程序說明文檔,數(shù)據(jù)發(fā)送方按照程序說明文檔傳遞對(duì)應(yīng)的數(shù)據(jù)交換參數(shù),直接調(diào)用數(shù)據(jù)接收方提供的數(shù)據(jù)接收程序?qū)崿F(xiàn)數(shù)據(jù)交換。這種方式雖然和數(shù)據(jù)庫層解耦,并且實(shí)現(xiàn)方式簡(jiǎn)單,但是不符合依賴倒置原則,不適用于面向?qū)ο箝_發(fā),如果針對(duì)同一個(gè)數(shù)據(jù)接收方的系統(tǒng)有很多數(shù)據(jù)接收程序需要調(diào)用,當(dāng)數(shù)據(jù)接收程序一旦發(fā)生變化時(shí),數(shù)據(jù)發(fā)送方系統(tǒng)的代碼維護(hù)將會(huì)變得非常復(fù)雜,增大了后期代碼維護(hù)的成本。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法,以面向接口的編程方式調(diào)用數(shù)據(jù)交換實(shí)現(xiàn)程序、數(shù)據(jù),記錄數(shù)據(jù)交換程序的調(diào)用參數(shù)和調(diào)用結(jié)果。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法,其特征在于以面向接口編程的方式調(diào)用數(shù)據(jù)交換程序;持久化保存數(shù)據(jù)交換信息支持失敗重新調(diào)用;事務(wù)控制數(shù)據(jù)交換過程保證數(shù)據(jù)一致性;分布式數(shù)據(jù)交換狀態(tài)機(jī)支持應(yīng)用集群;
以面向接口的方式調(diào)用數(shù)據(jù)交換程序,數(shù)據(jù)接收方以接口方式定義數(shù)據(jù)交換程序?qū)ο蟮臉?gòu)造方法、數(shù)據(jù)交換程序參數(shù)接收方法以及執(zhí)行數(shù)據(jù)交換的方法,具體實(shí)現(xiàn)過程在內(nèi)部封裝,對(duì)外不可見,并將接口調(diào)用方式和需要的參數(shù)說明提供給數(shù)據(jù)發(fā)送方;數(shù)據(jù)發(fā)送方以面向接口編程的方式先調(diào)用數(shù)據(jù)交換程序?qū)ο蟮臉?gòu)造方法獲取數(shù)據(jù)交換的執(zhí)行對(duì)象,然后再調(diào)用數(shù)據(jù)交換程序參數(shù)接收方法傳遞數(shù)據(jù)交換參數(shù),最后調(diào)用數(shù)據(jù)交換對(duì)象執(zhí)行數(shù)據(jù)交換的方法完成數(shù)據(jù)交換過程;
不是所有的數(shù)據(jù)交換過程都需要和業(yè)務(wù)邏輯處理過程組成一個(gè)事務(wù),即有些數(shù)據(jù)交換即使失敗了,也不能影響整個(gè)業(yè)務(wù)過程的繼續(xù)執(zhí)行,因此在這種數(shù)據(jù)交換失敗的情況下,首先保證整個(gè)業(yè)務(wù)過程可以繼續(xù)成功執(zhí)行,而調(diào)用失敗的數(shù)據(jù)交換需要支持重新再次調(diào)用,直到最終調(diào)用成功為止。為了實(shí)現(xiàn)數(shù)據(jù)交換失敗之后能夠重新調(diào)用,系統(tǒng)需要持久化保存數(shù)據(jù)交換的必要信息,包括數(shù)據(jù)交換調(diào)用的接口、調(diào)用參數(shù)等;
事務(wù)控制數(shù)據(jù)交換過程,將數(shù)據(jù)發(fā)送方系統(tǒng)業(yè)務(wù)邏輯處理的代碼和調(diào)用數(shù)據(jù)接收方數(shù)據(jù)交換的代碼都放在同一個(gè)事務(wù)控制的程序塊中,數(shù)據(jù)交換和業(yè)務(wù)邏輯處理這兩個(gè)子操作過程組成一個(gè)事務(wù),當(dāng)數(shù)據(jù)交換失敗回滾之后,對(duì)應(yīng)的業(yè)務(wù)邏輯處理成功結(jié)果也進(jìn)行回滾,這樣當(dāng)任意一個(gè)子過程失敗整個(gè)事務(wù)過程都將失敗,只有所有的子過程都成功,整個(gè)事務(wù)過程才成功,事務(wù)的回滾機(jī)制有效地保證了數(shù)據(jù)發(fā)送方系統(tǒng)和數(shù)據(jù)接收方系統(tǒng)的數(shù)據(jù)一致性;
當(dāng)應(yīng)用集群時(shí),同一個(gè)系統(tǒng)的應(yīng)用程序會(huì)被部署到多個(gè)分布式的應(yīng)用節(jié)點(diǎn),不同應(yīng)用節(jié)點(diǎn)的程序版本是相同的,如果每一個(gè)應(yīng)用節(jié)點(diǎn)包含的數(shù)據(jù)交換代碼都執(zhí)行,相同的數(shù)據(jù)交換代碼將會(huì)被執(zhí)行多次,導(dǎo)致數(shù)據(jù)交換過程重復(fù)執(zhí)行;分布式數(shù)據(jù)交換狀態(tài)機(jī),通過數(shù)據(jù)交換集群控制中心記錄各節(jié)點(diǎn)數(shù)據(jù)交換程序開始執(zhí)行和結(jié)束執(zhí)行的狀態(tài),當(dāng)一個(gè)數(shù)據(jù)交換開始執(zhí)行前,首先到數(shù)據(jù)交換集群控制中心檢測(cè)數(shù)據(jù)交換執(zhí)行狀態(tài),如果已有應(yīng)用節(jié)點(diǎn)開始執(zhí)行或者執(zhí)行完畢,本節(jié)點(diǎn)將不再執(zhí)行,如果還沒有應(yīng)用節(jié)點(diǎn)執(zhí)行,數(shù)據(jù)交換集群控制中心記錄開始執(zhí)行狀態(tài)并在本節(jié)點(diǎn)開始執(zhí)行,當(dāng)數(shù)據(jù)交換執(zhí)行完成之后,數(shù)據(jù)交換集群控制中心再記錄結(jié)束執(zhí)行的狀態(tài)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮軟件集團(tuán)有限公司,未經(jīng)浪潮軟件集團(tuán)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710081650.7/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置





