欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法與流程

文檔序號(hào):12667574閱讀:941來(lái)源:國(guó)知局

本發(fā)明涉及軟件系統(tǒng)集成領(lǐng)域,具體地說(shuō)是一種面向接口編程實(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ù)庫(kù)實(shí)現(xiàn)的數(shù)據(jù)交換

數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)交換,利用數(shù)據(jù)庫(kù)之間的聯(lián)通技術(shù)比如Oracle的DBLink作為不同數(shù)據(jù)庫(kù)之間通信的橋梁,通過(guò)SQL或者存儲(chǔ)過(guò)程實(shí)現(xiàn)數(shù)據(jù)發(fā)送方系統(tǒng)與數(shù)據(jù)接收方系統(tǒng)之間的數(shù)據(jù)處理。這種實(shí)現(xiàn)方式雖然不依賴應(yīng)用程序,實(shí)現(xiàn)過(guò)程簡(jiǎn)單,但所有的功能都需要通過(guò)SQL或者存儲(chǔ)過(guò)程實(shí)現(xiàn),數(shù)據(jù)庫(kù)中的SQL或者存儲(chǔ)過(guò)程調(diào)試?yán)щy,不適用于復(fù)雜的業(yè)務(wù)邏輯處理。此外,需要將數(shù)據(jù)庫(kù)暴露出來(lái),安全性會(huì)受到一定的威脅。

(2)基于消息中間件實(shí)現(xiàn)的數(shù)據(jù)交換

數(shù)據(jù)發(fā)送方系統(tǒng)通過(guò)消息中間件給數(shù)據(jù)接收方系統(tǒng)發(fā)送接收數(shù)據(jù)的指令消息,然后再以消息內(nèi)容為載體,將數(shù)據(jù)也以消息的形式傳送給數(shù)據(jù)接收方,數(shù)據(jù)接收方接收到數(shù)據(jù)接收指令消息之后,調(diào)用本地的程序接收來(lái)自數(shù)據(jù)發(fā)送方傳送消息中包含的數(shù)據(jù)。這種實(shí)現(xiàn)實(shí)現(xiàn)方式雖然和數(shù)據(jù)庫(kù)層解耦,但又必須依賴于消息中間件,數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方都需要對(duì)數(shù)據(jù)進(jìn)行加工處理才能完成數(shù)據(jù)的交換,并且這種實(shí)現(xiàn)方式通常不支持事務(wù)控制,數(shù)據(jù)一致性無(wú)法保證。

(3)直接調(diào)用程序?qū)崿F(xiàn)的數(shù)據(jù)交換

數(shù)據(jù)接收方提供接收數(shù)據(jù)的程序包以及程序說(shuō)明文檔,數(shù)據(jù)發(fā)送方按照程序說(shuō)明文檔傳遞對(duì)應(yīng)的數(shù)據(jù)交換參數(shù),直接調(diào)用數(shù)據(jù)接收方提供的數(shù)據(jù)接收程序?qū)崿F(xiàn)數(shù)據(jù)交換。這種方式雖然和數(shù)據(jù)庫(kù)層解耦,并且實(shí)現(xiàn)方式簡(jiǎn)單,但是不符合依賴倒置原則,不適用于面向?qū)ο箝_(kāi)發(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ù)的成本。



技術(shù)實(shí)現(xiàn)要素:

本發(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ù)問(wèn)題所采用的技術(shù)方案是:

一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法,其特征在于以面向接口編程的方式調(diào)用數(shù)據(jù)交換程序;持久化保存數(shù)據(jù)交換信息支持失敗重新調(diào)用;事務(wù)控制數(shù)據(jù)交換過(guò)程保證數(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)過(guò)程在內(nèi)部封裝,對(duì)外不可見(jiàn),并將接口調(diào)用方式和需要的參數(shù)說(shuō)明提供給數(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ù)交換過(guò)程;

不是所有的數(shù)據(jù)交換過(guò)程都需要和業(yè)務(wù)邏輯處理過(guò)程組成一個(gè)事務(wù),即有些數(shù)據(jù)交換即使失敗了,也不能影響整個(gè)業(yè)務(wù)過(guò)程的繼續(xù)執(zhí)行,因此在這種數(shù)據(jù)交換失敗的情況下,首先保證整個(gè)業(yè)務(wù)過(guò)程可以繼續(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ù)交換過(guò)程,將數(shù)據(jù)發(fā)送方系統(tǒng)業(yè)務(wù)邏輯處理的代碼和調(diào)用數(shù)據(jù)接收方數(shù)據(jù)交換的代碼都放在同一個(gè)事務(wù)控制的程序塊中,數(shù)據(jù)交換和業(yè)務(wù)邏輯處理這兩個(gè)子操作過(guò)程組成一個(gè)事務(wù),當(dāng)數(shù)據(jù)交換失敗回滾之后,對(duì)應(yīng)的業(yè)務(wù)邏輯處理成功結(jié)果也進(jìn)行回滾,這樣當(dāng)任意一個(gè)子過(guò)程失敗整個(gè)事務(wù)過(guò)程都將失敗,只有所有的子過(guò)程都成功,整個(gè)事務(wù)過(guò)程才成功,事務(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ù)交換過(guò)程重復(fù)執(zhí)行;分布式數(shù)據(jù)交換狀態(tài)機(jī),通過(guò)數(shù)據(jù)交換集群控制中心記錄各節(jié)點(diǎn)數(shù)據(jù)交換程序開(kāi)始執(zhí)行和結(jié)束執(zhí)行的狀態(tài),當(dāng)一個(gè)數(shù)據(jù)交換開(kāi)始執(zhí)行前,首先到數(shù)據(jù)交換集群控制中心檢測(cè)數(shù)據(jù)交換執(zhí)行狀態(tài),如果已有應(yīng)用節(jié)點(diǎn)開(kāi)始執(zhí)行或者執(zhí)行完畢,本節(jié)點(diǎn)將不再執(zhí)行,如果還沒(méi)有應(yīng)用節(jié)點(diǎn)執(zhí)行,數(shù)據(jù)交換集群控制中心記錄開(kāi)始執(zhí)行狀態(tài)并在本節(jié)點(diǎn)開(kāi)始執(zhí)行,當(dāng)數(shù)據(jù)交換執(zhí)行完成之后,數(shù)據(jù)交換集群控制中心再記錄結(jié)束執(zhí)行的狀態(tài)。

優(yōu)選的,系統(tǒng)業(yè)務(wù)邏輯代碼和數(shù)據(jù)交換實(shí)現(xiàn)代碼解耦,封裝的數(shù)據(jù)交換實(shí)現(xiàn)代碼對(duì)業(yè)務(wù)邏輯代碼透明。

優(yōu)選的,同步執(zhí)行的業(yè)務(wù)邏輯處理代碼和數(shù)據(jù)交換代碼可以通過(guò)事務(wù)控制數(shù)據(jù)一致性,而異步執(zhí)行的業(yè)務(wù)邏輯代碼和數(shù)據(jù)交換代碼,持久化保存數(shù)據(jù)交換信息支持失敗重新調(diào)用。

優(yōu)選的,應(yīng)用集群環(huán)境,分布式數(shù)據(jù)交換狀態(tài)機(jī)有效保證數(shù)據(jù)交換被唯一執(zhí)行,增強(qiáng)數(shù)據(jù)交換程序水平擴(kuò)展性。

本發(fā)明的一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法和現(xiàn)有技術(shù)相比,具有以下有益效果:

面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,提搞了程序的復(fù)用性,而依賴倒置原則是面向?qū)ο蟪绦蛟O(shè)計(jì)方法遵循的原則之一,通過(guò)面向接口編程的方式調(diào)用數(shù)據(jù)交換程序,調(diào)用者只需要通過(guò)接口就能完成所要實(shí)現(xiàn)的功能,而不必關(guān)注數(shù)據(jù)交換具體的實(shí)現(xiàn)細(xì)節(jié);

持久化保存數(shù)據(jù)交換信息支持失敗重新調(diào)用,對(duì)于異步執(zhí)行數(shù)據(jù)交換程序的系統(tǒng),數(shù)據(jù)交換程序執(zhí)行過(guò)程和業(yè)務(wù)邏輯處理過(guò)程分離,當(dāng)數(shù)據(jù)交換失敗,系統(tǒng)持久化保存了數(shù)據(jù)交換的必要信息,支持重新調(diào)用,減少人工處理數(shù)據(jù)交換失敗的工作量;

事務(wù)控制數(shù)據(jù)交換過(guò)程保證數(shù)據(jù)的一致性,對(duì)于執(zhí)行數(shù)據(jù)交換對(duì)數(shù)據(jù)一致性要求較高的系統(tǒng),通過(guò)事務(wù)控制業(yè)務(wù)邏輯處理代碼和數(shù)據(jù)交換程序代碼,要么全部執(zhí)行成功,要么全部執(zhí)行失敗,最終保證數(shù)據(jù)的一致性;

分布式數(shù)據(jù)交換狀態(tài)機(jī)支持應(yīng)用系統(tǒng)集群,應(yīng)用集群系統(tǒng),通過(guò)分布式數(shù)據(jù)交換狀態(tài)機(jī)控制數(shù)據(jù)交換程序執(zhí)行時(shí)機(jī),有效保證數(shù)據(jù)交換被唯一執(zhí)行,增強(qiáng)數(shù)據(jù)交換程序的水平擴(kuò)展性,提高應(yīng)用系統(tǒng)整體可用性。

具體實(shí)施方式

下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。

一種面向接口編程實(shí)現(xiàn)通用數(shù)據(jù)交換的方法,其特征在于以面向接口編程的方式調(diào)用數(shù)據(jù)交換程序;持久化保存數(shù)據(jù)交換信息支持失敗重新調(diào)用;事務(wù)控制數(shù)據(jù)交換過(guò)程保證數(shù)據(jù)一致性;分布式數(shù)據(jù)交換狀態(tài)機(jī)支持應(yīng)用集群;

系統(tǒng)業(yè)務(wù)邏輯代碼和數(shù)據(jù)交換實(shí)現(xiàn)代碼解耦,封裝的數(shù)據(jù)交換實(shí)現(xiàn)代碼對(duì)業(yè)務(wù)邏輯代碼透明。

同步執(zhí)行的業(yè)務(wù)邏輯處理代碼和數(shù)據(jù)交換代碼可以通過(guò)事務(wù)控制數(shù)據(jù)一致性,而異步執(zhí)行的業(yè)務(wù)邏輯代碼和數(shù)據(jù)交換代碼,持久化保存數(shù)據(jù)交換信息支持失敗重新調(diào)用。

應(yīng)用集群環(huán)境,分布式數(shù)據(jù)交換狀態(tài)機(jī)有效保證數(shù)據(jù)交換被唯一執(zhí)行,增強(qiáng)數(shù)據(jù)交換程序水平擴(kuò)展性。

以面向接口的方式調(diào)用數(shù)據(jù)交換程序,數(shù)據(jù)接收方以接口方式定義數(shù)據(jù)交換程序?qū)ο蟮臉?gòu)造方法、數(shù)據(jù)交換程序參數(shù)接收方法以及執(zhí)行數(shù)據(jù)交換的方法,具體實(shí)現(xiàn)過(guò)程在內(nèi)部封裝,對(duì)外不可見(jiàn),并將接口調(diào)用方式和需要的參數(shù)說(shuō)明提供給數(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ù)交換過(guò)程;

不是所有的數(shù)據(jù)交換過(guò)程都需要和業(yè)務(wù)邏輯處理過(guò)程組成一個(gè)事務(wù),即有些數(shù)據(jù)交換即使失敗了,也不能影響整個(gè)業(yè)務(wù)過(guò)程的繼續(xù)執(zhí)行,因此在這種數(shù)據(jù)交換失敗的情況下,首先保證整個(gè)業(yè)務(wù)過(guò)程可以繼續(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ù)交換過(guò)程,將數(shù)據(jù)發(fā)送方系統(tǒng)業(yè)務(wù)邏輯處理的代碼和調(diào)用數(shù)據(jù)接收方數(shù)據(jù)交換的代碼都放在同一個(gè)事務(wù)控制的程序塊中,數(shù)據(jù)交換和業(yè)務(wù)邏輯處理這兩個(gè)子操作過(guò)程組成一個(gè)事務(wù),當(dāng)數(shù)據(jù)交換失敗回滾之后,對(duì)應(yīng)的業(yè)務(wù)邏輯處理成功結(jié)果也進(jìn)行回滾,這樣當(dāng)任意一個(gè)子過(guò)程失敗整個(gè)事務(wù)過(guò)程都將失敗,只有所有的子過(guò)程都成功,整個(gè)事務(wù)過(guò)程才成功,事務(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ù)交換過(guò)程重復(fù)執(zhí)行;分布式數(shù)據(jù)交換狀態(tài)機(jī),通過(guò)數(shù)據(jù)交換集群控制中心記錄各節(jié)點(diǎn)數(shù)據(jù)交換程序開(kāi)始執(zhí)行和結(jié)束執(zhí)行的狀態(tài),當(dāng)一個(gè)數(shù)據(jù)交換開(kāi)始執(zhí)行前,首先到數(shù)據(jù)交換集群控制中心檢測(cè)數(shù)據(jù)交換執(zhí)行狀態(tài),如果已有應(yīng)用節(jié)點(diǎn)開(kāi)始執(zhí)行或者執(zhí)行完畢,本節(jié)點(diǎn)將不再執(zhí)行,如果還沒(méi)有應(yīng)用節(jié)點(diǎn)執(zhí)行,數(shù)據(jù)交換集群控制中心記錄開(kāi)始執(zhí)行狀態(tài)并在本節(jié)點(diǎn)開(kāi)始執(zhí)行,當(dāng)數(shù)據(jù)交換執(zhí)行完成之后,數(shù)據(jù)交換集群控制中心再記錄結(jié)束執(zhí)行的狀態(tài)。

通過(guò)上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開(kāi)的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。

除說(shuō)明書(shū)所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
哈尔滨市| 大埔县| 沾益县| 闽清县| 仁化县| 东平县| 临沭县| 新干县| 新沂市| 逊克县| 临猗县| 洛阳市| 德昌县| 兴国县| 抚顺市| 盘锦市| 万盛区| 遂宁市| 卓资县| 布拖县| 孟州市| 衢州市| 耿马| 龙南县| 永吉县| 农安县| 和平区| 北流市| 鲁甸县| 富源县| 伊金霍洛旗| 勃利县| 容城县| 徐州市| 绥德县| 沂源县| 广南县| 安多县| 离岛区| 镇原县| 东阿县|