国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種與第三方通信的接口平臺(tái)的制作方法

      文檔序號(hào):7696935閱讀:501來源:國知局
      專利名稱:一種與第三方通信的接口平臺(tái)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明屬于通信領(lǐng)域,涉及一種與第三方通信的接口平臺(tái)。
      背景技術(shù)
      隨著計(jì)算機(jī)技術(shù)的發(fā)展,信息化管理被越來越多的應(yīng)用到各行業(yè)各領(lǐng)域。信息系統(tǒng)之間的數(shù)據(jù)交互不可避免,因此實(shí)現(xiàn)數(shù)據(jù)共享,是一個(gè)完備系統(tǒng)不可或缺的重要環(huán)節(jié)。一個(gè)信息系統(tǒng),自身的業(yè)務(wù)數(shù)據(jù)一般都具有復(fù)雜的邏輯關(guān)系。從數(shù)據(jù)準(zhǔn)確性及安全性方面考慮,通過直接公開數(shù)據(jù)庫的方式實(shí)現(xiàn)數(shù)據(jù)共享,存在不小的安全隱患及業(yè)務(wù)邏輯上的功能缺陷。通過調(diào)用公開的系統(tǒng)接口傳遞數(shù)據(jù),可以根據(jù)業(yè)務(wù)要求實(shí)現(xiàn)復(fù)雜的邏輯,對(duì)不同的數(shù)據(jù)做出針對(duì)性處理,數(shù)據(jù)準(zhǔn)確性得以保障。通過接口方法將第三方系統(tǒng)與本系統(tǒng)數(shù)據(jù)庫之間隔離,降低了系統(tǒng)間耦合。因此,通過接口傳遞數(shù)據(jù)是實(shí)現(xiàn)系統(tǒng)間數(shù)據(jù)共享 的較好方式。系統(tǒng)間接口調(diào)用,能滿足復(fù)雜的業(yè)務(wù)邏輯要求,但同時(shí)在實(shí)現(xiàn)上存在不少需要考慮的問題。不同的第三方系統(tǒng)對(duì)接口通訊協(xié)議、數(shù)據(jù)壓縮及傳輸編碼方式的要求各不相同。為滿足不同業(yè)務(wù)需求,其對(duì)應(yīng)的接口方法需要承載不同的復(fù)雜數(shù)據(jù)。出于以上兩點(diǎn),接口的應(yīng)用一般在系統(tǒng)間,根據(jù)業(yè)務(wù)要求實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的連接,即一個(gè)接口僅實(shí)現(xiàn)一個(gè)業(yè)務(wù)功能點(diǎn)。為了保證接口的穩(wěn)定,相關(guān)保障措施不可缺少。例如考慮到傳入數(shù)據(jù)源來自第三方,因此對(duì)于傳入數(shù)據(jù)的格式校驗(yàn)必不可少;為便于問題排查,記錄接口調(diào)用的詳盡日志必不可少;考慮到網(wǎng)絡(luò)傳輸?shù)拳h(huán)境因素,如何保證業(yè)務(wù)的流暢,接口應(yīng)具備基本的出錯(cuò)處理、出錯(cuò)通知功能。以上可見,一個(gè)穩(wěn)定的系統(tǒng)接口,除了基本的業(yè)務(wù)需求,還需要其他的功能來保障。而往往由于系統(tǒng)開發(fā)周期或其他條件的限制,接口開發(fā)更注重于業(yè)務(wù),以嚴(yán)格的第三方調(diào)用規(guī)范來保證接口的正常運(yùn)行,以事后人工處理來解決所有出錯(cuò)情況。隨著業(yè)務(wù)發(fā)展,客戶系統(tǒng)增多,如此點(diǎn)對(duì)點(diǎn)的接口數(shù)量呈復(fù)合增長趨勢。接口管理與出錯(cuò)處理愈加困難,接口的穩(wěn)定對(duì)整個(gè)系統(tǒng)的影響也越來越大。實(shí)現(xiàn)接口穩(wěn)定與其對(duì)應(yīng)的高開發(fā)成本,形成一種博弈狀態(tài)。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供與第三方通信的接口平臺(tái),通過該平臺(tái)實(shí)現(xiàn)系統(tǒng)間接口的快速搭建,增加系統(tǒng)間接口的可用性、重用性,同時(shí)保證接口的穩(wěn)定高效。為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種與第三方通信的接口平臺(tái),設(shè)置在第三方和內(nèi)部系統(tǒng)之間,其特征在于,所述接口平臺(tái)包含有
      I、調(diào)度接口模塊,該調(diào)度接口模塊包含以下參數(shù)i、來源標(biāo)記,指明該請求來自于哪個(gè)授權(quán)的第三方;ii、調(diào)用標(biāo)記,該標(biāo)記為該次調(diào)用的唯一標(biāo)識(shí);iii、業(yè)務(wù)接口,指定要調(diào)用的業(yè)務(wù)接口函數(shù)名;iv、數(shù)據(jù)參數(shù),與業(yè)務(wù)接口函數(shù)所綁定的數(shù)據(jù);V、調(diào)用結(jié)果,該參數(shù)是一個(gè)輸出參數(shù),如果該調(diào)度成功,則該參數(shù)是該次調(diào)用的跟蹤ID,如果該調(diào)度失敗,則該參數(shù)的值為錯(cuò)誤信息;
      II、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊,該模塊根據(jù)來源標(biāo)記及接口平臺(tái)的預(yù)定義參數(shù),定位對(duì)應(yīng)第三方相關(guān)調(diào)度配置,對(duì)調(diào)度請求進(jìn)行基本驗(yàn)證,驗(yàn)證項(xiàng)包含以下幾部分i、來源標(biāo)記是否在授權(quán)范圍內(nèi);ii、業(yè)務(wù)接口是否為公開的可調(diào)用的接口方法;iii、數(shù)據(jù)參數(shù)是否使用約定的壓縮、編碼方式處理;iv、數(shù)據(jù)參數(shù)是否使用約定的承載格式;V、數(shù)據(jù)參數(shù)的具體內(nèi)容是否符合對(duì)應(yīng)的業(yè)務(wù)接口要求;
      III、數(shù)據(jù)轉(zhuǎn)換模塊,根據(jù)與第三方約定的數(shù)據(jù)承載格式,轉(zhuǎn)換數(shù)據(jù)參數(shù)處理為內(nèi)部系統(tǒng)方法所能理解的格式;
      IV、調(diào)度數(shù)據(jù)存儲(chǔ)模塊,將驗(yàn)證通過的調(diào)度數(shù)據(jù)(包括調(diào)度的來源標(biāo)記、對(duì)應(yīng)的接口方法信息、經(jīng)過轉(zhuǎn)換后的數(shù)據(jù)參數(shù)),存儲(chǔ)至接口方法函數(shù)指定的處理隊(duì)列,處理隊(duì)列可以根據(jù)配置選擇對(duì)應(yīng)的存儲(chǔ)方式,可采用數(shù)據(jù)庫方式存儲(chǔ)或本地文件存儲(chǔ)方式;
      V、接口平臺(tái)數(shù)據(jù)庫,與調(diào)度數(shù)據(jù)存儲(chǔ)模塊數(shù)據(jù)連接,用于存儲(chǔ)所屬處理隊(duì)列;
      VI、接口平臺(tái)運(yùn)行日志模塊,所述調(diào)度接口模塊、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊、數(shù)據(jù)轉(zhuǎn)換模塊均與接口平臺(tái)運(yùn)行日志模塊數(shù)據(jù)連接;
      所述的調(diào)度接口模塊、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊、數(shù)據(jù)轉(zhuǎn)換模塊、調(diào)度數(shù)據(jù)存儲(chǔ)模塊依次串聯(lián)。本發(fā)明的另一目的在于提供一種與第三方通信的接口平臺(tái)的處理流程,實(shí)現(xiàn)系統(tǒng)間接口的快速搭建,增加系統(tǒng)間接口的可用性、重用性,同時(shí)保證接口的穩(wěn)定高效。為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案一種與第三方通信的接口平臺(tái)的處理流程,其特征在于該流程包括以下步驟A、對(duì)請求進(jìn)行基本的驗(yàn)證,對(duì)于驗(yàn)證通過的調(diào)度請求,依據(jù)請求的數(shù)據(jù)參數(shù)來進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)化為內(nèi)部系統(tǒng)方法所能理解的格式,然后將該請求放入處理隊(duì)列,存儲(chǔ)在接口平臺(tái)數(shù)據(jù)庫內(nèi)、從接口平臺(tái)數(shù)據(jù)庫抽取調(diào)用請求;C、判斷是否外發(fā)調(diào)度項(xiàng),如否則調(diào)用內(nèi)部系統(tǒng)指定方法,如是則實(shí)現(xiàn)對(duì)第三方接口的調(diào)用,即轉(zhuǎn)換格式并向第三方發(fā)送調(diào)度請求;D、標(biāo)記調(diào)度項(xiàng)執(zhí)行情況,將調(diào)度信息回寫至接口平臺(tái)數(shù)據(jù)庫,并調(diào)用第三方公開的回執(zhí)方法,將調(diào)度執(zhí)行情況回傳;E、判斷調(diào)度是否成功,如失敗則進(jìn)行隊(duì)列出錯(cuò)處理,并將錯(cuò)誤信息發(fā)送至接口平臺(tái)運(yùn)行日志;如成功則判斷是否需要外發(fā)數(shù)據(jù),如是則生成外發(fā)調(diào)度項(xiàng),并將調(diào)度信息回寫至接口平臺(tái)數(shù)據(jù)庫,如否則直接結(jié)束。本發(fā)明實(shí)現(xiàn)了一種與第三方通信的接口平臺(tái),它應(yīng)用于快速構(gòu)建不同系統(tǒng)間的數(shù)據(jù)交互接口。以異步處理的方式隔離第三方系統(tǒng)與內(nèi)部系統(tǒng)方法,以隊(duì)列處理的方式,實(shí)現(xiàn)高效穩(wěn)定的接口,同時(shí)增強(qiáng)了系統(tǒng)穩(wěn)定性。本發(fā)明通過該平臺(tái)實(shí)現(xiàn)系統(tǒng)間接口的快速搭建,增加系統(tǒng)間接口的可用性、重用性,同時(shí)保證接口的穩(wěn)定高效。本發(fā)明還可通過預(yù)先實(shí)現(xiàn)并封裝接口的部分功能,以預(yù)定義參數(shù)的方式實(shí)現(xiàn)不同的接口的整合,使接口開發(fā)可以更著重于業(yè)務(wù)功能的實(shí)現(xiàn),而無需關(guān)心與第三方系統(tǒng)通信時(shí)的傳輸細(xì)節(jié),包括通信方式、數(shù)據(jù)格式轉(zhuǎn)換、錯(cuò)誤處理等,減少開發(fā)時(shí)間與缺陷率,從而提高了接口的開發(fā)效率。


      圖I為接口平臺(tái)、第三方系統(tǒng)、內(nèi)部系統(tǒng)之間基本的調(diào)用關(guān)系。圖2為接口平臺(tái)內(nèi)部接收調(diào)度請求的處理流程。
      圖3為本發(fā)明一實(shí)施例的接口平臺(tái)隊(duì)列處理流程。
      具體實(shí)施例方式下面對(duì)本發(fā)明進(jìn)行進(jìn)一步描述。圖I顯示了接口平臺(tái)、第三方系統(tǒng)、內(nèi)部系統(tǒng)之間基本的調(diào)用關(guān)系。第三方系統(tǒng)與內(nèi)部系統(tǒng)隔離,第三方請求,通過接口平臺(tái)轉(zhuǎn)發(fā)至內(nèi)部系統(tǒng);內(nèi)部系統(tǒng)的外發(fā)請求,同樣通過接口平臺(tái)轉(zhuǎn)發(fā)。所述接口平臺(tái)包含有
      I、調(diào)度接口模塊,該調(diào)度接口模塊包含的參數(shù)由以下幾部分組成i、來源標(biāo)記,指明該請求來自于哪個(gè)授權(quán)的第三方; 、調(diào)用標(biāo)記,該標(biāo)記作為該次調(diào)用的唯一標(biāo)識(shí),不同的調(diào)用,標(biāo)識(shí)應(yīng)當(dāng)不同,如果出現(xiàn)同一個(gè)調(diào)用請求需要多次調(diào)用,標(biāo)識(shí)應(yīng)當(dāng)相同;iii、業(yè)務(wù)接口,指定要調(diào)用的業(yè)務(wù)接口函數(shù)名,該名稱由雙方業(yè)務(wù)人員預(yù)先約定;iv、數(shù)據(jù)參數(shù),與業(yè)務(wù) 接口函數(shù)所綁定的數(shù)據(jù),該參數(shù)是業(yè)務(wù)數(shù)據(jù),經(jīng)過雙方約定的壓縮算法壓縮后,以約定編碼進(jìn)行處理后的字符串;V、調(diào)用結(jié)果,該參數(shù)是一個(gè)輸出參數(shù),如果該調(diào)度成功,則該參數(shù)是該次調(diào)用的跟蹤ID,第三方可用其查詢本次調(diào)度狀態(tài),如果該調(diào)度失敗,則該參數(shù)的值為錯(cuò)誤信息;
      II、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊,該模塊根據(jù)來源標(biāo)記及接口平臺(tái)的預(yù)定義參數(shù),定位對(duì)應(yīng)第三方相關(guān)調(diào)度配置,對(duì)調(diào)度請求進(jìn)行基本驗(yàn)證,驗(yàn)證項(xiàng)包含以下幾部分i、來源標(biāo)記是否在授權(quán)范圍內(nèi);ii、業(yè)務(wù)接口是否為公開的可調(diào)用的接口方法;iii、數(shù)據(jù)參數(shù)是否使用約定的壓縮、編碼方式處理;iv、數(shù)據(jù)參數(shù)是否使用約定的承載格式;V、數(shù)據(jù)內(nèi)容是否符合對(duì)應(yīng)的業(yè)務(wù)接口要求;
      III、數(shù)據(jù)轉(zhuǎn)換模塊,根據(jù)與第三方約定的數(shù)據(jù)承載格式,轉(zhuǎn)換數(shù)據(jù)參數(shù)處理為內(nèi)部系統(tǒng)方法所能理解的格式;
      IV、調(diào)度數(shù)據(jù)存儲(chǔ)模塊,將驗(yàn)證通過的調(diào)度數(shù)據(jù),存儲(chǔ)至接口方法函數(shù)指定的處理隊(duì)列,處理隊(duì)列可以根據(jù)配置選擇對(duì)應(yīng)的存儲(chǔ)方式可采用數(shù)據(jù)庫方式存儲(chǔ)或本地文件存儲(chǔ)方式;
      V、接口平臺(tái)數(shù)據(jù)庫,與調(diào)度數(shù)據(jù)存儲(chǔ)模塊數(shù)據(jù)連接,用于存儲(chǔ)所屬處理隊(duì)列;
      VI、接口平臺(tái)運(yùn)行日志模塊,所述調(diào)度接口模塊、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊、數(shù)據(jù)轉(zhuǎn)換模塊均與接口平臺(tái)運(yùn)行日志模塊數(shù)據(jù)連接;
      所述的調(diào)度接口模塊、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊、數(shù)據(jù)轉(zhuǎn)換模塊、調(diào)度數(shù)據(jù)存儲(chǔ)模塊依次串聯(lián)。圖2顯示了接口平臺(tái)內(nèi)部接收調(diào)度請求的處理流程。在本實(shí)施例,對(duì)外接口基于SOAP協(xié)議,并以WebService的形式對(duì)外公開;調(diào)度處理隊(duì)列采用數(shù)據(jù)庫方式存儲(chǔ),存儲(chǔ)在接口平臺(tái)數(shù)據(jù)庫內(nèi)。該接口平臺(tái)的實(shí)現(xiàn)方法,包括以下步驟A、對(duì)請求進(jìn)行基本的驗(yàn)證,對(duì)于驗(yàn)證通過的調(diào)度請求,依據(jù)請求的數(shù)據(jù)參數(shù)來進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)化為內(nèi)部系統(tǒng)方法所能理解的格式,然后將該請求放入處理隊(duì)列,存儲(chǔ)在接口平臺(tái)數(shù)據(jù)庫內(nèi)、從接口平臺(tái)數(shù)據(jù)庫抽取調(diào)用請求;C、判斷是否外發(fā)調(diào)度項(xiàng),如否則調(diào)用內(nèi)部系統(tǒng)指定方法,如是則實(shí)現(xiàn)對(duì)第三方接口的調(diào)用,即轉(zhuǎn)換格式并向第三方發(fā)送調(diào)度請求;D、標(biāo)記調(diào)度項(xiàng)執(zhí)行情況,并將調(diào)度信息回寫至接口平臺(tái)數(shù)據(jù)庫;E、判斷調(diào)度是否成功,如失敗則進(jìn)行隊(duì)列出錯(cuò)處理;如成功則判斷是否需要外發(fā)數(shù)據(jù),如是則生成外發(fā)調(diào)度項(xiàng),并將調(diào)度信息回寫至接口平臺(tái)數(shù)據(jù)庫,如否則直接結(jié)束。在該實(shí)現(xiàn)方法中,還將接口平臺(tái)本身的執(zhí)行情況及調(diào)度項(xiàng)的執(zhí)行情況,包括狀態(tài)、執(zhí)行結(jié)果、錯(cuò)誤信息等;以及從調(diào)用第三方對(duì)應(yīng)的回執(zhí)接口得到的回執(zhí)(包括主動(dòng)獲取和被動(dòng)接收兩種方式)寫入接口平臺(tái)運(yùn)行日志。在步驟A中,驗(yàn)證包括以下幾部分i、來源標(biāo)記是否在授權(quán)范圍內(nèi);U、業(yè)務(wù)接口是否為公開的可調(diào)用的接口方法;iii、數(shù)據(jù)參數(shù)是否使用約定的壓縮、編碼方式處理;iv、數(shù)據(jù)參數(shù)是否使用約定的承載格式;V、數(shù)據(jù)參數(shù)的具體內(nèi)容是否符合對(duì)應(yīng)的業(yè)務(wù)接口要求。I 數(shù)據(jù)參數(shù)壓縮編碼處理方式可以有多種選擇,例如
      數(shù)據(jù)參數(shù)傳輸是否需要釆用base64編碼、數(shù)據(jù)是否需要壓縮、釆用何種壓縮方式(例如Zlib壓縮、GZip壓縮、Zip壓縮)、字符編碼釆用何種方式(例如Utf-8、GBK)· I 數(shù)據(jù)承載格式,一般釆用標(biāo)準(zhǔn)的Xml格式,例如
      〈Data DocName=〃demo〃>
      〈Item Code=' . . 〃 State=' .. 〃>
      〈detail DocName="detail_demo">
      〈Item ID=〃. . . 〃 Name=' . . 〃 CreateTime=' . . 〃>〈/Item>
      〈Item ID=〃. . . 〃 Name=' . . 〃 CreateTime=' . . 〃>〈/Item> </detail>
      </Item>
      〈Item Code=' . . 〃 State=' .. 〃>
      〈detail DocName="detail_demo">
      〈Item ID=〃. . . 〃 Name=' . . 〃 CreateTime=' . . 〃>〈/Item>
      〈Item ID=〃. . . 〃 Name=' . . 〃 CreateTime=' . . 〃>〈/Item> </detail>
      </Item>
      〈/Data〉
      I 也可以由雙方約定,釆用雙方認(rèn)同的自定義格式,例如
      〈Interface Billtype=〃demo—type〃>
      〈Entry〉單條記錄標(biāo)示
      <ID>. . . </ID>具體業(yè)務(wù)數(shù)據(jù)字段
      〈Name〉· . .〈/Name〉
      <CreateTime>. . . </CreateTime>
      </Entry>
      <Entry>
      <ID>.. . </ID>
      〈Name〉· . .〈/Name〉
      <CreateTime>. . . </CreateTime>
      </Entry>〈/Interface〉
      〈Interface Billtype=〃demo_type〃>
      〈Bill〉主從單據(jù)記錄標(biāo)示
      〈BillHeader〉主單標(biāo)不
      〈Code〉· . .〈/Code〉
      <State>. . . </State>
      〈/BillHeader〉
      <BillBody>從單標(biāo)不 <Entry>
      <ID>. . . </ID>
      <Name>. . . </Name>
      <CreateTime>. . . </CreateTime>
      </Entry>
      <Entry>
      <ID>.. . </ID>
      <Name>. . . </Name>
      <CreateTime>. . . </CreateTime>
      </Entry>
      </BillBody>
      〈/Bill〉
      〈/Interface〉
      I 數(shù)據(jù)參數(shù)具體內(nèi)容的檢查,則是針對(duì)接口的具體業(yè)務(wù)而定,是對(duì)數(shù)據(jù)字段的具體
      要求
      例如參數(shù)中是否存在重復(fù)的數(shù)據(jù)字段,是否包含方法必須的數(shù)據(jù)字段、是否存在多余的數(shù)據(jù)字段、數(shù)據(jù)字段是否需要非空檢查、主從單據(jù)的清單是否允許為空等。
      本發(fā)明的內(nèi)部系統(tǒng)方法執(zhí)行,由處理隊(duì)列控制。處理隊(duì)列依據(jù)預(yù)先設(shè)置的規(guī)則,定期按順序抽取隊(duì)列中的請求,將其發(fā)送給內(nèi)部系統(tǒng)方法,并獲取執(zhí)行結(jié)果。隊(duì)列規(guī)則包括執(zhí)行時(shí)間段、時(shí)間頻率等。如果處理發(fā)生了異常,則依據(jù)隊(duì)列設(shè)置,自動(dòng)嘗試進(jìn)行重新執(zhí)行,或掛起隊(duì)列并通知人工處理。如果調(diào)度正常,則將內(nèi)部系統(tǒng)方法所返回的數(shù)據(jù)傳遞給第三方。接口平臺(tái)支持多隊(duì)列處理,以實(shí)現(xiàn)不同接口方法的并行處理,靈活應(yīng)對(duì)不同業(yè)務(wù)要求,提高處理效率。向第三方傳遞數(shù)據(jù)的外發(fā)請求,同樣通過對(duì)請求來源標(biāo)記的判斷,將對(duì)應(yīng)數(shù)據(jù)轉(zhuǎn)換處理為第三方認(rèn)同的格式,并以對(duì)應(yīng)的傳輸協(xié)議發(fā)送至第三方公開的接口
      除了以上所描述的,被動(dòng)接受第三方請求的功能,接口平臺(tái)還具有主動(dòng)調(diào)用的機(jī)制。通過隊(duì)列設(shè)置,模擬第三方調(diào)度,定期生成調(diào)度請求,實(shí)現(xiàn)內(nèi)部系統(tǒng)主動(dòng)發(fā)送數(shù)據(jù)的功能。接口平臺(tái)支持回執(zhí)功能?;貓?zhí)的作用是用于在第三方請求一次調(diào)用后,可在任意時(shí)刻得知該調(diào)用的執(zhí)行情況。回執(zhí)的傳遞形式分為兩種主動(dòng)獲取以及被動(dòng)接收。主動(dòng)獲取為第三方主動(dòng)查詢某次調(diào)用的情況;被動(dòng)接收為接口平臺(tái),在調(diào)度結(jié)束后主動(dòng)將執(zhí)行結(jié)果發(fā)往第三方。圖3顯示了接口平臺(tái)隊(duì)列處理流程,單個(gè)隊(duì)列,單次處理的流程。步驟301為從隊(duì)列中抽取請求,本實(shí)施例,調(diào)度處理隊(duì)列采用數(shù)據(jù)庫方式存儲(chǔ),隊(duì)列從接口平臺(tái)對(duì)應(yīng)的數(shù)據(jù)庫抽取調(diào)度請求。接口平臺(tái)根據(jù)調(diào)度請求類型不同,作對(duì)應(yīng)處理。步驟302為調(diào)用內(nèi)部系統(tǒng)方法。接口平臺(tái)根據(jù)調(diào)度請求的接口方法函數(shù)名,及預(yù)定義參數(shù),定位內(nèi)部系統(tǒng)的目標(biāo)方法,將數(shù)據(jù)發(fā)送給指定的內(nèi)部系統(tǒng)方法,由內(nèi)部系統(tǒng)方法完成對(duì)應(yīng)的業(yè)務(wù)邏輯處理
      當(dāng)調(diào)度請求為外發(fā)請求時(shí),通過步驟303、304實(shí)現(xiàn)對(duì)第三方接口的調(diào)用步驟303為數(shù)據(jù)格式轉(zhuǎn)換,由預(yù)定義參數(shù),獲取與第三方約定的數(shù)據(jù)承載格式,對(duì)待發(fā)送數(shù)據(jù)作對(duì)應(yīng)轉(zhuǎn)換處理
      步驟304為針對(duì)不同第三方接口的調(diào)用模塊,將步驟303得到的數(shù)據(jù),以與第三方約定的方式發(fā)送至指定接口
      步驟305為接口平臺(tái)根據(jù)調(diào)度執(zhí)行結(jié)果,標(biāo)記調(diào)度項(xiàng)狀態(tài)及相關(guān)信息,例如錯(cuò)誤信息,執(zhí)行時(shí)間等。標(biāo)記過程分為兩種
      1.更新處理隊(duì)列,本實(shí)施例,調(diào)度處理隊(duì)列采用數(shù)據(jù)庫方式存儲(chǔ),因此將調(diào)度項(xiàng)信息回寫至接口平臺(tái)對(duì)應(yīng)的數(shù)據(jù)庫;
      2.調(diào)用第三方對(duì)應(yīng)回執(zhí)接口,實(shí)現(xiàn)數(shù)據(jù)的執(zhí)行情況時(shí)時(shí)反饋。步驟306、307為調(diào)用執(zhí)行失敗的處理
      步驟306為隊(duì)列出錯(cuò)處理模塊。如果調(diào)度執(zhí)行發(fā)生異常,則依據(jù)預(yù)定義參數(shù)選擇是自動(dòng)處理還是人工處理。自動(dòng)處理表明接口平臺(tái)會(huì)自動(dòng)嘗試重新執(zhí)行若干次,如果皆失敗則放棄該調(diào)度。而人工處理則是在系統(tǒng)自動(dòng)嘗試重新執(zhí)行若干次后,如果皆失敗則處理流程掛起,待人工來處理問題,解決后通知該問題重試,或者拋棄。步驟307為錯(cuò)誤主動(dòng)發(fā)送模塊,根據(jù)預(yù)定義參數(shù)判斷是否需要發(fā)送錯(cuò)誤信息,例如報(bào)錯(cuò)立即發(fā)送錯(cuò)誤信息、調(diào)度請求拋棄發(fā)送錯(cuò)誤信息、隊(duì)列掛起發(fā)送錯(cuò)誤信息。如需要發(fā)送錯(cuò)誤信息,則根據(jù)具體的錯(cuò)誤類型,決定信息發(fā)送方式、信息接收人等
      步驟308為外發(fā)調(diào)度請求的生成,由預(yù)定義參數(shù)決定,當(dāng)前接口方法函數(shù)是否存在外發(fā)調(diào)度要求,由系統(tǒng)內(nèi)部方法執(zhí)行結(jié)果決定,當(dāng)前調(diào)度請求是否存在外發(fā)調(diào)度數(shù)據(jù)。如果存在外法調(diào)度要求,并且存在外發(fā)調(diào)度數(shù)據(jù),則生成對(duì)應(yīng)的外發(fā)調(diào)度請求,存儲(chǔ)至外發(fā)方法指定的處理隊(duì)列。本實(shí)施例,調(diào)度處理隊(duì)列采用數(shù)據(jù)庫方式存儲(chǔ),因此將調(diào)度項(xiàng)信息回寫至接口平臺(tái)對(duì)應(yīng)的數(shù)據(jù)庫。根據(jù)本發(fā)明的實(shí)施例,本發(fā)明的接口平臺(tái)預(yù)先實(shí)現(xiàn)并封裝接口的部分功能,包括
      i.第三方通訊協(xié)議、傳輸數(shù)據(jù)的壓縮編碼處理; .數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)完整性校驗(yàn);
      iii.調(diào)度項(xiàng)異步處理機(jī)制、定時(shí)主動(dòng)調(diào)度功能、調(diào)度項(xiàng)處理結(jié)果回執(zhí)功能;
      iv.調(diào)度項(xiàng)執(zhí)行日志記錄、異常處理機(jī)制。本發(fā)明的接口平臺(tái)使用單一的方法接口,根據(jù)方法傳入?yún)?shù),通過預(yù)定義參數(shù)在運(yùn)行期間決定調(diào)度請求的處理規(guī)范,包括以下預(yù)定義參數(shù)i第三方接口服務(wù)(選擇,接口平臺(tái)預(yù)實(shí)現(xiàn))、通訊地址;
      第三方傳輸數(shù)據(jù)壓縮、編碼方式;
      iii接口平臺(tái)處理隊(duì)列數(shù)據(jù)存儲(chǔ)方式;
      iv處理隊(duì)列執(zhí)行時(shí)間段、時(shí)間頻率、錯(cuò)誤處理機(jī)制,其中
      對(duì)于接口平臺(tái)運(yùn)行異常包括
      可恢復(fù)異常使用本地文件日志記錄;
      災(zāi)難性故障使用windows日志記錄;
      對(duì)于調(diào)度項(xiàng)執(zhí)行異常(包括數(shù)據(jù)編碼、格式錯(cuò)誤,以及業(yè)務(wù)邏輯上的錯(cuò)誤);
      記錄調(diào)度項(xiàng)執(zhí)行日志的同時(shí),依據(jù)請求所在隊(duì)列設(shè)置,自動(dòng)嘗試進(jìn)行重新執(zhí)行、拋棄、 V接口方法函數(shù)與內(nèi)部系統(tǒng)方法對(duì)應(yīng)關(guān)系包括
      接口方法函數(shù)與內(nèi)部系統(tǒng)方法,采用多對(duì)一的對(duì)應(yīng)關(guān)系;
      即一個(gè)接口方法必須有一個(gè)對(duì)應(yīng)的內(nèi)部系統(tǒng)方法、不同的接口方法可以對(duì)應(yīng)同一個(gè)內(nèi)部系統(tǒng)方法;
      vi接口方法數(shù)據(jù)參數(shù)格式;
      vii接口方法所在處理隊(duì)列、外發(fā)請求所在處理隊(duì)列; viii接口方法請求重試次數(shù)等; ix接口平臺(tái)錯(cuò)誤主動(dòng)通知功能。本發(fā)明采用異步處理調(diào)度請求,調(diào)度項(xiàng)接收與調(diào)度項(xiàng)執(zhí)行隔離,調(diào)度項(xiàng)接收于第三方調(diào)用為同步完成,與調(diào)度項(xiàng)執(zhí)行時(shí)間點(diǎn)沒有關(guān)系。本發(fā)明以隊(duì)列處理的方式實(shí)現(xiàn)調(diào)度請求的執(zhí)行,調(diào)度項(xiàng)執(zhí)行時(shí)間與調(diào)度方法本身無關(guān),調(diào)度項(xiàng)按對(duì)列分組,以所在對(duì)列的時(shí)間規(guī)則執(zhí)行,按照先到先執(zhí)行的原則處理;支持多對(duì)列并行處理,對(duì)列與對(duì)列之間隔離,互不干涉。以上所述,為本發(fā)明較常應(yīng)用的實(shí)施方式,并不用于限定本發(fā)明的保護(hù)范圍。本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方式,同樣屬于本發(fā)明的技術(shù)創(chuàng)新范圍。
      權(quán)利要求
      1.一種與第三方通信的接口平臺(tái),設(shè)置在第三方和內(nèi)部系統(tǒng)之間,其特征在于,所述接口平臺(tái)包含有 1.調(diào)度接口模塊,該調(diào)度接口模塊包含以下參數(shù)i、來源標(biāo)記,指明該請求來自于哪個(gè)授權(quán)的第三方;ii、調(diào)用標(biāo)記,該標(biāo)記為該次調(diào)用的唯一標(biāo)識(shí);iii、業(yè)務(wù)接口,指定要調(diào)用的業(yè)務(wù)接口函數(shù)名;iv、數(shù)據(jù)參數(shù),與業(yè)務(wù)接口函數(shù)所綁定的數(shù)據(jù);V、調(diào)用結(jié)果,該參數(shù)是一個(gè)輸出參數(shù),如果該調(diào)度成功,則該參數(shù)是該次調(diào)用的跟蹤ID,如果該調(diào)度失敗,則該參數(shù)的值為錯(cuò)誤信息; II、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊,該模塊根據(jù)來源標(biāo)記及接口平臺(tái)的預(yù)定義參數(shù),定位對(duì)應(yīng)第三方相關(guān)調(diào)度配置,對(duì)調(diào)度請求進(jìn)行基本驗(yàn)證,驗(yàn)證項(xiàng)包含以下幾部分i、來源標(biāo)記是否在授權(quán)范圍內(nèi);ii、業(yè)務(wù)接口是否為公開的可調(diào)用的接口方法;iii、數(shù)據(jù)參數(shù)是否使用約定的壓縮、編碼方式處理;iv、數(shù)據(jù)參數(shù)是否使用約定的承載格式;V、數(shù)據(jù)參數(shù)的具體內(nèi)容是否符合對(duì)應(yīng)的業(yè)務(wù)接口要求; III、數(shù)據(jù)轉(zhuǎn)換模塊,根據(jù)與第三方約定的數(shù)據(jù)承載格式,轉(zhuǎn)換數(shù)據(jù)參數(shù)處理為內(nèi)部系統(tǒng)方法所能理解的格式; IV、調(diào)度數(shù)據(jù)存儲(chǔ)模塊,將驗(yàn)證通過的調(diào)度數(shù)據(jù)(包括調(diào)度的來源標(biāo)記、對(duì)應(yīng)的接口方法信息、經(jīng)過轉(zhuǎn)換后的數(shù)據(jù)參數(shù)),存儲(chǔ)至接口方法函數(shù)指定的處理隊(duì)列,處理隊(duì)列可以根據(jù)配置選擇對(duì)應(yīng)的存儲(chǔ)方式,可采用數(shù)據(jù)庫方式存儲(chǔ)或本地文件存儲(chǔ)方式; V、接口平臺(tái)數(shù)據(jù)庫,與調(diào)度數(shù)據(jù)存儲(chǔ)模塊數(shù)據(jù)連接,用于存儲(chǔ)所屬處理隊(duì)列; VI、接口平臺(tái)運(yùn)行日志模塊,所述調(diào)度接口模塊、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊、數(shù)據(jù)轉(zhuǎn)換模塊均與接口平臺(tái)運(yùn)行日志模塊數(shù)據(jù)連接; 所述的調(diào)度接口模塊、基礎(chǔ)數(shù)據(jù)驗(yàn)證模塊、數(shù)據(jù)轉(zhuǎn)換模塊、調(diào)度數(shù)據(jù)存儲(chǔ)模塊依次串聯(lián)。
      2.該接口平臺(tái)的實(shí)現(xiàn)方法,包括以下步驟A、對(duì)請求進(jìn)行基本的驗(yàn)證,對(duì)于驗(yàn)證通過的調(diào)度請求,依據(jù)請求的數(shù)據(jù)參數(shù)來進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)化為內(nèi)部系統(tǒng)方法所能理解的格式,然后將該請求放入處理隊(duì)列,存儲(chǔ)在接口平臺(tái)數(shù)據(jù)庫內(nèi)、從接口平臺(tái)數(shù)據(jù)庫抽取調(diào)用請求;C、判斷是否外發(fā)調(diào)度項(xiàng),如否則調(diào)用內(nèi)部系統(tǒng)指定方法,如是則實(shí)現(xiàn)對(duì)第三方接口的調(diào)用,即轉(zhuǎn)換格式并向第三方發(fā)送調(diào)度請求;D、標(biāo)記調(diào)度項(xiàng)執(zhí)行情況,并將調(diào)度信息回寫至接口平臺(tái)數(shù)據(jù)庫;E、判斷調(diào)度是否成功,如失敗則進(jìn)行隊(duì)列出錯(cuò)處理;如成功則判斷是否需要外發(fā)數(shù)據(jù),如是則生成外發(fā)調(diào)度項(xiàng),并將調(diào)度信息回寫至接口平臺(tái)數(shù)據(jù)庫,如否則直接結(jié)束。
      3.如權(quán)利要求2所述的實(shí)現(xiàn)方法,其特征在于在步驟A中,驗(yàn)證包括以下幾部分i、來源標(biāo)記是否在授權(quán)范圍內(nèi);ii、業(yè)務(wù)接口是否為公開的可調(diào)用的接口方法;iii、數(shù)據(jù)參數(shù)是否使用約定的壓縮、編碼方式處理;iv、數(shù)據(jù)參數(shù)是否使用約定的承載格式;V、數(shù)據(jù)參數(shù)的具體內(nèi)容是否符合對(duì)應(yīng)的業(yè)務(wù)接口要求。
      4.如權(quán)利要求2或3所述的實(shí)現(xiàn)方法,其特征在于在該實(shí)現(xiàn)方法中,還將接口平臺(tái)本身的執(zhí)行情況及調(diào)度項(xiàng)的執(zhí)行情況,包括狀態(tài)、執(zhí)行結(jié)果、錯(cuò)誤信息等;以及從調(diào)用第三方對(duì)應(yīng)的回執(zhí)接口得到的回執(zhí)寫入接口平臺(tái)運(yùn)行日志。
      全文摘要
      本發(fā)明實(shí)現(xiàn)了一種與第三方通信的接口平臺(tái),它應(yīng)用于快速構(gòu)建不同系統(tǒng)間的數(shù)據(jù)交互接口。通過預(yù)先實(shí)現(xiàn)并封裝接口的部分功能,以預(yù)定義參數(shù)的方式實(shí)現(xiàn)不同的接口的整合,使接口開發(fā)可以更著重于業(yè)務(wù)功能的實(shí)現(xiàn),而無需關(guān)心與第三方系統(tǒng)通信時(shí)的傳輸細(xì)節(jié),從而提高了接口的開發(fā)效率。以異步處理的方式隔離第三方系統(tǒng)與內(nèi)部系統(tǒng)方法,以隊(duì)列處理的方式,實(shí)現(xiàn)高效穩(wěn)定的接口,同時(shí)增強(qiáng)了系統(tǒng)穩(wěn)定性。
      文檔編號(hào)H04L29/10GK102833357SQ20111016386
      公開日2012年12月19日 申請日期2011年6月17日 優(yōu)先權(quán)日2011年6月17日
      發(fā)明者肖湘 申請人:上海晨闌數(shù)據(jù)技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1