亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)服務(wù)封裝的裝置及方法

文檔序號(hào):7983278閱讀:469來(lái)源:國(guó)知局
專利名稱:一種數(shù)據(jù)服務(wù)封裝的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件開發(fā)領(lǐng)域,具體來(lái)說(shuō),指一種數(shù)據(jù)服務(wù)封裝的裝置及方法。
背景技術(shù)
目前很多大型企業(yè)如通信、金融等行業(yè)的企業(yè)都已經(jīng)開始實(shí)施SOA (service-oriented arcnitecture)。SOA提供了一種構(gòu)建IT組織的標(biāo)準(zhǔn)和方法,通過(guò)建立可組合、可重用的服務(wù)體系來(lái)減少IT業(yè)務(wù)冗余,并加快項(xiàng)目開發(fā)的進(jìn)程,這種體系能夠使得IT部門效率更高、開發(fā)周期更短、項(xiàng)目分發(fā)更快,在幫助IT技術(shù)和業(yè)務(wù)整合方面有著深遠(yuǎn)的意義。而SOA實(shí)施的主要內(nèi)容之一是將現(xiàn)有的各種數(shù)據(jù)資源,統(tǒng)ー以服務(wù)的形式進(jìn)行封裝和接入,方便資源的訪問(wèn)、共享和管理。因此如何能夠高效的實(shí)現(xiàn)數(shù)據(jù)資源的服務(wù)封裝便成為問(wèn)題的關(guān)鍵。當(dāng)前包括商業(yè)的Microsoft、IBM、oracle公司,以及開源的Apache組織等都推出了服務(wù)的實(shí)現(xiàn)方案,例如WCF、AXIS和CXF等Web服務(wù)產(chǎn)品,都可以用于進(jìn)行數(shù)據(jù)服務(wù)的封裝。同時(shí)針對(duì)數(shù)據(jù)服務(wù)封裝技術(shù)的研究也在持續(xù)著,如ー篇申請(qǐng)?zhí)枮椤?00910200014.7”的中國(guó)專利申請(qǐng)文件中介紹了ー種基于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)封裝裝置及業(yè)務(wù)數(shù)據(jù)獲取方法。該發(fā)明用以解決業(yè)務(wù)應(yīng)用軟件和業(yè)務(wù)數(shù)據(jù)的耦合度較高的問(wèn)題,同時(shí)提升業(yè)務(wù)數(shù)據(jù)的安全性。數(shù)據(jù)封裝裝置包括:數(shù)據(jù)封裝應(yīng)用插件模塊,用于在接收到數(shù)據(jù)服務(wù)請(qǐng)求時(shí)發(fā)起服務(wù)調(diào)用請(qǐng)求,以及根據(jù)服務(wù)調(diào)用結(jié)果得到業(yè)務(wù)數(shù)據(jù)并返回;數(shù)據(jù)服務(wù)管理模塊,用于根據(jù)服務(wù)調(diào)用請(qǐng)求調(diào)用相應(yīng)的數(shù)據(jù)服務(wù),根據(jù)數(shù)據(jù)服務(wù)的配置信息調(diào)用對(duì)應(yīng)的協(xié)議插件,將服務(wù)調(diào)用請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)換,并調(diào)用數(shù)據(jù)服務(wù)對(duì)應(yīng)的數(shù)據(jù)邏輯封裝模塊,以及使用調(diào)用的協(xié)議插件對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行編碼,并返回服務(wù)調(diào)用結(jié)果;數(shù)據(jù)邏輯封裝模塊,用于將數(shù)據(jù)請(qǐng)求進(jìn)行解析和處理,到數(shù)據(jù)倉(cāng)庫(kù)中獲取業(yè)務(wù)數(shù)據(jù),并將業(yè)務(wù)數(shù)據(jù)返回給數(shù)據(jù)服務(wù)管理模塊。在ー篇申請(qǐng)?zhí)枮椤?01010610308.X”的中國(guó)專利申請(qǐng)文件中介紹了ー種基于SOA的業(yè)務(wù)數(shù)據(jù)的服務(wù)封裝方法及集成系統(tǒng)。該發(fā)明提供了一種基于SOA的業(yè)務(wù)數(shù)據(jù)的服務(wù)封裝方法,其包括以下步驟:1)構(gòu)建ー SOA集成開發(fā)系統(tǒng)平臺(tái);2)在所述的的業(yè)務(wù)層設(shè)置ー數(shù)據(jù)交換網(wǎng)關(guān);3)將多數(shù)個(gè)第三方業(yè)務(wù)系統(tǒng)軟件設(shè)置在資源層,通過(guò)所述數(shù)據(jù)交換網(wǎng)關(guān)對(duì)其業(yè)務(wù)數(shù)據(jù)封裝為WEB服務(wù),并設(shè)置在服務(wù)層;4)將多數(shù)個(gè)第三方業(yè)務(wù)系統(tǒng)軟件的數(shù)據(jù)庫(kù)系統(tǒng)設(shè)置在資源層,通過(guò)數(shù)據(jù)總線與所述全局?jǐn)?shù)據(jù)服務(wù)器連接并交互通訊;5)在所述應(yīng)用層設(shè)置一集成門戶網(wǎng)站,該門戶中集成有各第三方業(yè)務(wù)系統(tǒng)軟件的登錄鏈接。本發(fā)明還提供了一種實(shí)現(xiàn)上述方法的集成系統(tǒng)。本發(fā)明高效規(guī)范,可廣泛適用于各種企業(yè)協(xié)同管理系統(tǒng)的開發(fā)。商業(yè)公司雖然提供了比較完整的服務(wù)實(shí)現(xiàn)方案,可以快速的實(shí)現(xiàn)服務(wù)接ロ的封裝,但針對(duì)服務(wù)內(nèi)部實(shí)現(xiàn)細(xì)節(jié)的封裝,還是要交由開發(fā)人員自行編寫代碼來(lái)實(shí)現(xiàn),導(dǎo)致服務(wù)內(nèi)部的封裝實(shí)現(xiàn)不統(tǒng)一,不規(guī)范,代碼內(nèi)部的耦合度較高,沒(méi)法充分復(fù)用,實(shí)現(xiàn)比較復(fù)雜,月艮務(wù)的封裝效率比較低下。開源組織的服務(wù)實(shí)現(xiàn)方案跟商業(yè)公司存在著相同的問(wèn)題,主要著重于服務(wù)接ロ的封裝,而忽略了服務(wù)的內(nèi)部細(xì)節(jié)。申請(qǐng)?zhí)枮椤?01010616910.4”的中國(guó)專利申請(qǐng)文件中介紹了ー種基于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)封裝裝置及業(yè)務(wù)數(shù)據(jù)獲取方法。該發(fā)明主要針對(duì)數(shù)據(jù)倉(cāng)庫(kù),用以解決業(yè)務(wù)應(yīng)用軟件和業(yè)務(wù)數(shù)據(jù)的耦合度較高的問(wèn)題,但并不能用來(lái)提升數(shù)據(jù)服務(wù)的封裝效率。申請(qǐng)?zhí)枮椤?01010610308.X”的中國(guó)專利申請(qǐng)文件中介紹了ー種基于SOA的業(yè)務(wù)數(shù)據(jù)的服務(wù)封裝方法及集成系統(tǒng)。該發(fā)明主要提供了比較完整的SOA相關(guān)方案,適用于各種企業(yè)協(xié)同管理系統(tǒng)的開發(fā),但并不能用于解決數(shù)據(jù)服務(wù)本身的封裝效率問(wèn)題。總體來(lái)說(shuō),現(xiàn)有方案里然可以一定程度上解決數(shù)據(jù)服務(wù)的封裝問(wèn)題,但主要針對(duì)服務(wù)接ロ層面的封裝,并不能解決數(shù)據(jù)服務(wù)內(nèi)部的封裝問(wèn)題,也沒(méi)有針對(duì)數(shù)據(jù)服務(wù)內(nèi)部實(shí)現(xiàn)的封裝工具,使得服務(wù)內(nèi)部的封裝實(shí)現(xiàn)不統(tǒng)一,不規(guī)范,代碼內(nèi)部的耦合度較高,沒(méi)法充分復(fù)用,實(shí)現(xiàn)比較復(fù)雜,服務(wù)的封裝效率比較低下。

發(fā)明內(nèi)容
本申請(qǐng)針對(duì)現(xiàn)有技術(shù)的缺點(diǎn),提供了一種數(shù)據(jù)服務(wù)封裝的裝置及其方法,其能夠簡(jiǎn)化數(shù)據(jù)服務(wù)的實(shí)現(xiàn),降低數(shù)據(jù)服務(wù)內(nèi)部代碼的耦合度,提升數(shù)據(jù)服務(wù)的封裝效率。本發(fā)明提供了一種數(shù)據(jù)服務(wù)封裝的方法,包括:A、對(duì)數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行解析并獲取到數(shù)據(jù)服務(wù)請(qǐng)求參數(shù);B、根據(jù)所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)形成數(shù)據(jù)服務(wù)信息查詢指令;C、基于所述數(shù)據(jù)服務(wù)信息查詢指令從所述數(shù)據(jù)服務(wù)所對(duì)應(yīng)的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù);D、將所述數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù);將所述關(guān)系型數(shù)據(jù)封裝到應(yīng)答數(shù)據(jù)中;選擇所述數(shù)據(jù)服務(wù)的會(huì)話模式;將所述應(yīng)答數(shù)據(jù)封裝到數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中;E、對(duì)所述數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包頭進(jìn)行控制信息的封裝操作。本發(fā)明采取了上述技術(shù)方案以后,其規(guī)范了數(shù)據(jù)服務(wù)接ロ及數(shù)據(jù)服務(wù)封裝內(nèi)部實(shí)現(xiàn)的細(xì)節(jié),其降低了數(shù)據(jù)服務(wù)內(nèi)部代碼的耦合度,提高代碼的復(fù)用度,降低數(shù)據(jù)服務(wù)的開發(fā)工作量,提升數(shù)據(jù)服務(wù)的封裝效率,彌補(bǔ)了現(xiàn)有業(yè)界在對(duì)數(shù)據(jù)服務(wù)接口和數(shù)據(jù)服務(wù)內(nèi)部實(shí)現(xiàn)細(xì)節(jié)的空白。此外,本發(fā)明還提供了一種數(shù)據(jù)服務(wù)封裝的裝置,包括:模型映射層封裝模塊,用于對(duì)數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行解析并獲取到數(shù)據(jù)服務(wù)請(qǐng)求參數(shù);根據(jù)所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)形成數(shù)據(jù)服務(wù)信息查詢指令;連接層封裝模塊,用于根據(jù)所述數(shù)據(jù)服務(wù)信息查詢指令從所述數(shù)據(jù)服務(wù)所對(duì)應(yīng)的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù);所述模型映射層封裝模塊,還用于將所述數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù);表示層封裝模塊,用于將該關(guān)系型數(shù)據(jù)封裝到應(yīng)答數(shù)據(jù)中;
會(huì)話層封裝模塊,用于根據(jù)所述數(shù)據(jù)服務(wù)選擇服務(wù)會(huì)話模式;服務(wù)層封裝模塊,用于將所述應(yīng)答數(shù)據(jù)封裝到數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中;接ロ層封裝模塊,用于對(duì)所述數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包頭進(jìn)行控制信息的封裝操作。本發(fā)明采取來(lái)的數(shù)據(jù)服務(wù)封裝裝置,能夠根據(jù)數(shù)據(jù)服務(wù)的生成流程進(jìn)行封裝,進(jìn)而簡(jiǎn)化了數(shù)據(jù)服務(wù)的實(shí)現(xiàn),降低數(shù)據(jù)服務(wù)內(nèi)部代碼的耦合度,提高代碼的復(fù)用度,降低數(shù)據(jù)服務(wù)的開發(fā)工作量,提升數(shù)據(jù)服務(wù)的封裝效率。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見,或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。


下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)的描述,以使得本發(fā)明的上述優(yōu)點(diǎn)更加明確。圖1是本發(fā)明數(shù)據(jù)服務(wù)的數(shù)據(jù)服務(wù)協(xié)議棧的流程示意圖;圖2是本發(fā)明數(shù)據(jù)服務(wù)封裝的方法的流程示意圖;圖3是本發(fā)明數(shù)據(jù)服務(wù)封裝的參數(shù)配置的流程示意圖;圖4是本發(fā)明數(shù)據(jù)服務(wù)封裝的配置裝置的示意圖;圖5是本發(fā)明的配置裝置的接ロ層配置模塊的示意圖;圖6是本發(fā)明數(shù)據(jù)服務(wù)封裝的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)的描述?,F(xiàn)有數(shù)據(jù)服務(wù)封裝的實(shí)現(xiàn)方案,主要針對(duì)服務(wù)接ロ層面的封裝,并不能解決數(shù)據(jù)服務(wù)內(nèi)部的封裝問(wèn)題,也沒(méi)有針對(duì)數(shù)據(jù)服務(wù)內(nèi)部實(shí)現(xiàn)的封裝工具,使得服務(wù)內(nèi)部的封裝實(shí)現(xiàn)不統(tǒng)一,不規(guī)范,代碼內(nèi)部的耦合度較高,沒(méi)法充分復(fù)用,實(shí)現(xiàn)比較復(fù)雜,服務(wù)的封裝效率比較低下。本發(fā)明公開的數(shù)據(jù)服務(wù)封裝的方法和裝置,可以較好的解決上述問(wèn)題,除了可以實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實(shí)現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部實(shí)現(xiàn)的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)更加簡(jiǎn)單、高效、清晰、靈活、可擴(kuò)展。為了較為清晰地對(duì)本發(fā)明進(jìn)行描述,需要對(duì)本發(fā)明的數(shù)據(jù)服務(wù)協(xié)議棧進(jìn)行介紹,在此,主要以數(shù)據(jù)服務(wù)提供方為例,如圖1所示,所述服務(wù)提供方的數(shù)據(jù)服務(wù)協(xié)議棧共劃分為六層,自上而下依次是連接層、模型映射層、表示層、會(huì)話層、服務(wù)層和接ロ層;而數(shù)據(jù)服務(wù)便是由具體數(shù)據(jù)源數(shù)據(jù),經(jīng)過(guò)數(shù)據(jù)服務(wù)協(xié)議棧中連接層到接ロ層的逐層封裝而成。其中,所述數(shù)據(jù)服務(wù)協(xié)議棧的各層的功能如下:1、連接層連接層用來(lái)實(shí)現(xiàn)數(shù)據(jù)服務(wù)對(duì)各種數(shù)據(jù)源的連接,以及數(shù)據(jù)源數(shù)據(jù)的操作,從而獲取數(shù)據(jù)服務(wù)所需要的數(shù)據(jù)源數(shù)據(jù)。其中,連接層通過(guò)數(shù)據(jù)源連接技術(shù),例如JDBC、ODBC、FTP和SOAP等來(lái)實(shí)現(xiàn)對(duì)各種數(shù)據(jù)源的連接,并從數(shù)據(jù)源(即數(shù)據(jù)庫(kù))取得數(shù)據(jù)源數(shù)據(jù)。連接層從數(shù)據(jù)源取得數(shù)據(jù)后,以比特流形式的數(shù)據(jù)格式存在,如圖3所示。2、模型映射層模型映射層用來(lái)實(shí)現(xiàn)數(shù)據(jù)服務(wù)的數(shù)據(jù)模型與數(shù)據(jù)源數(shù)據(jù)模型的映射,將數(shù)據(jù)服務(wù)的數(shù)據(jù)模型的查詢語(yǔ)句轉(zhuǎn)換為可執(zhí)行的數(shù)據(jù)源的數(shù)據(jù)模型的查詢語(yǔ)句,以及將連接層的數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù)。模型映射層為表示層提供的數(shù)據(jù)服務(wù)的數(shù)據(jù)模型的查詢語(yǔ)句接ロ,主要可以采用標(biāo)準(zhǔn)的SQL或者LSQL(LSQL為中國(guó)移動(dòng)經(jīng)營(yíng)分析系統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)邏輯查詢語(yǔ)言CMCC-LSQL)來(lái)實(shí)現(xiàn)。其中,SQL無(wú)法屏蔽數(shù)據(jù)庫(kù)和數(shù)據(jù)模型之間的差異,因此主要適用于速度要求較高,數(shù)據(jù)模型差異不大的應(yīng)用場(chǎng)景;而LSQL主要適用于速度要求不高,數(shù)據(jù)模型差異較大的應(yīng)用場(chǎng)景。LSQL的數(shù)據(jù)格式如下:
SELECT[客戶.客戶積分]FROM[客戶]WHERE[客戶.客戶編碼]=’ 200000001,SQL的數(shù)據(jù)格式如下:
SELECT CUS—POINT FROM CUSTOMER—INFO WHERE CUS—ID =, 200000001’如果是SQL,則直接提交給連接層執(zhí)行,如果是LSQL,則需要經(jīng)過(guò)模型映射后轉(zhuǎn)換為可執(zhí)行的物理SQL,再提交給連接層執(zhí)行。連接層通過(guò)連接技術(shù)將SQL提交數(shù)據(jù)庫(kù)執(zhí)行,并將獲取的數(shù)據(jù)源數(shù)據(jù),返回給模型映射層,模型映射層為了方便表示層的數(shù)據(jù)表示,將數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù)。3、表不層表示層用來(lái)表示數(shù)據(jù)服務(wù)交互過(guò)程中的數(shù)據(jù),實(shí)現(xiàn)將模型映射層中的關(guān)系型數(shù)據(jù)表示為數(shù)據(jù)服務(wù)交互過(guò)程中所需要的數(shù)據(jù)格式。數(shù)據(jù)表示方式主要包括:XML、CSV和ニ進(jìn)制的方式,在不同的數(shù)據(jù)服務(wù)交互過(guò)程中,數(shù)據(jù)的表示方式可能不同,如:在“在線請(qǐng)求-同步響應(yīng)”的數(shù)據(jù)服務(wù)交互方式中采用XML作為數(shù)據(jù)的表示方式;在“在線請(qǐng)求-異步響應(yīng)”和“發(fā)布-訂閱”交互方式中的數(shù)據(jù)服務(wù)控制信息采用XML,而應(yīng)答的數(shù)據(jù)內(nèi)容采用CSV數(shù)據(jù)表示方式;在對(duì)數(shù)據(jù)格式有特殊要求的需求場(chǎng)合,可以采用ニ進(jìn)制流的數(shù)據(jù)表示方式。ニ進(jìn)制流數(shù)據(jù)表示方式主要是根據(jù)具體應(yīng)用的需要或者用戶的要求,生成相應(yīng)文件類型的數(shù)據(jù),如Excel文件類型的數(shù)據(jù)。4、會(huì)話層會(huì)話層是服務(wù)請(qǐng)求方與服務(wù)提供方進(jìn)行交互會(huì)話的場(chǎng)所,會(huì)話層通過(guò)不同的交互方式來(lái)表示數(shù)據(jù)服務(wù)的交互過(guò)程。會(huì)話層的數(shù)據(jù)交互方式有“在線請(qǐng)求-同步響應(yīng)方式”、“在線請(qǐng)求-異步響應(yīng)方式”和“發(fā)布-訂閱方式”。 該三種交互方式(即會(huì)話協(xié)商方式)的選擇主要由數(shù)據(jù)的服務(wù)提供方?jīng)Q定,服務(wù)提供方根據(jù)自身數(shù)據(jù)量、實(shí)時(shí)性要求等特點(diǎn),在數(shù)據(jù)服務(wù)開發(fā)時(shí)確定采用何種數(shù)據(jù)交互方式。具體說(shuō)明如下:(I)在線請(qǐng)求-同步響應(yīng)方式在線請(qǐng)求-同步響應(yīng)方式是指服務(wù)請(qǐng)求方向服務(wù)提供方發(fā)送數(shù)據(jù)請(qǐng)求,并進(jìn)入阻塞狀態(tài),等待服務(wù)提供方的響應(yīng)數(shù)據(jù)返回。服務(wù)提供方在接收到數(shù)據(jù)請(qǐng)求后,進(jìn)行一系列的業(yè)務(wù)處理獲取響應(yīng)數(shù)據(jù),并將響應(yīng)數(shù)據(jù)回復(fù)給服務(wù)請(qǐng)求方。服務(wù)請(qǐng)求方在接收到響應(yīng)數(shù)據(jù)后,中止阻塞狀態(tài)繼續(xù)運(yùn)行。該方式適用于響應(yīng)速度比較快,且數(shù)據(jù)量比較小的場(chǎng)合。由于發(fā)送數(shù)據(jù)請(qǐng)求的服務(wù)請(qǐng)求方需要阻塞運(yùn)行,因此如果響應(yīng)的速度比較慢,會(huì)造成服務(wù)請(qǐng)求方長(zhǎng)時(shí)間阻塞不能運(yùn)行,很可能會(huì)影響到服務(wù)請(qǐng)求方應(yīng)用的正常運(yùn)行;同樣,如果傳輸?shù)臄?shù)據(jù)量比較大,那么傳輸?shù)倪^(guò)程中請(qǐng)求數(shù)據(jù)的服務(wù)也需要等待,造成等待時(shí)間過(guò)長(zhǎng)。(2)在線請(qǐng)求-異步響應(yīng)方式在線請(qǐng)求-異步響應(yīng)方式是指服務(wù)請(qǐng)求方調(diào)用服務(wù)提供方的“準(zhǔn)備數(shù)據(jù)方法”,向服務(wù)提供方發(fā)送數(shù)據(jù)請(qǐng)求。服務(wù)提供方在接收到數(shù)據(jù)請(qǐng)求后,返回請(qǐng)求成功標(biāo)志、數(shù)據(jù)準(zhǔn)備的預(yù)估處理時(shí)間、建議定期查詢數(shù)據(jù)準(zhǔn)備情況的時(shí)間間隔和數(shù)據(jù)的獲取方式等消息。服務(wù)請(qǐng)求方在獲得上述消息后可繼續(xù)運(yùn)行,不需要長(zhǎng)時(shí)間處于阻塞狀態(tài)。服務(wù)提供方在返回上述消息后進(jìn)行一系列的業(yè)務(wù)處理以準(zhǔn)備數(shù)據(jù)。服務(wù)請(qǐng)求方在數(shù)據(jù)準(zhǔn)備的預(yù)估處理時(shí)間到達(dá)后,按照建議定期查詢數(shù)據(jù)準(zhǔn)備情況的時(shí)間間隔,服務(wù)請(qǐng)求方向服務(wù)提供方發(fā)送查詢數(shù)據(jù)準(zhǔn)備情況的請(qǐng)求。如果數(shù)據(jù)未準(zhǔn)備完畢,服務(wù)提供方返回?cái)?shù)據(jù)未準(zhǔn)備完畢的消息,服務(wù)請(qǐng)求方則在建議的時(shí)間間隔后繼續(xù)查詢;如果數(shù)據(jù)準(zhǔn)備完畢,服務(wù)提供方返回包含何時(shí)何地如何獲取數(shù)據(jù)的消息。服務(wù)請(qǐng)求方即可以按照給定的時(shí)間到給定的地點(diǎn)(FTP或HTTP地址)在給定的有效期內(nèi)自行決定何時(shí)使用給定的方式(FTP或HTTP協(xié)議)取得數(shù)據(jù)。該方式適用于被請(qǐng)求的數(shù)據(jù)量產(chǎn)生時(shí)間比較長(zhǎng),或者數(shù)據(jù)量較大的場(chǎng)合。因?yàn)椴捎卯惒椒绞剑恍枰L(zhǎng)時(shí)間的等待與阻塞,服務(wù)請(qǐng)求方可以正常運(yùn)行其它功能,僅需要在接到數(shù)據(jù)準(zhǔn)備完畢的信號(hào)之后再處理請(qǐng)求的數(shù)據(jù)。(3)發(fā)布-訂閱方式發(fā)布-訂閱方式是指服務(wù)請(qǐng)求方向服務(wù)提供方的“注冊(cè)方法”注冊(cè)請(qǐng)求數(shù)據(jù)的要求和通知服務(wù)。服務(wù)提供方在接到服務(wù)請(qǐng)求方的注冊(cè)消息后,返回請(qǐng)求成功的標(biāo)志。服務(wù)請(qǐng)求方在獲得上述注冊(cè)消息后,可以繼續(xù)運(yùn)行而不需要長(zhǎng)時(shí)間處于阻塞狀態(tài),服務(wù)提供方在返回上述注冊(cè)消息后,進(jìn)行一系列的業(yè)務(wù)處理以準(zhǔn)備數(shù)據(jù)。當(dāng)數(shù)據(jù)準(zhǔn)備完畢,服務(wù)提供方調(diào)用服務(wù)請(qǐng)求方注冊(cè)的通知服務(wù),告知服務(wù)請(qǐng)求方數(shù)據(jù)準(zhǔn)備情況和相關(guān)的獲取信息。服務(wù)請(qǐng)求方回復(fù)成功或失敗的標(biāo)志,服務(wù)請(qǐng)求方即可以按照給定的時(shí)間到給定的地點(diǎn)(FTP或HTTP地址)在給定的有效期內(nèi)自行決定何時(shí)使用給定的方式(FTP或HTTP協(xié)議)取得數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的觸發(fā)式交互。該方式適用于觸發(fā)性傳輸各種數(shù)據(jù)量的數(shù)據(jù)封裝服務(wù),由于發(fā)布-訂閱方式本質(zhì)上是異步響應(yīng)方式,因此服務(wù)請(qǐng)求方不需要長(zhǎng)時(shí)間的等待與阻塞,可以正常運(yùn)行其它功能。5、服務(wù)層服務(wù)層主要通過(guò)服務(wù)實(shí)現(xiàn)技術(shù)對(duì)表示層的數(shù)據(jù)做進(jìn)一歩的封裝,把數(shù)據(jù)內(nèi)容的消息體封裝到數(shù)據(jù)服務(wù)的報(bào)文體中,并實(shí)現(xiàn)具體的數(shù)據(jù)服務(wù)。服務(wù)層數(shù)據(jù)服務(wù)的實(shí)現(xiàn)主要采用Web Service技術(shù),其中Web Service的服務(wù)提供方可以通過(guò)SOAP或者REST架構(gòu)來(lái)實(shí)現(xiàn)?;赟OAP實(shí)現(xiàn)的數(shù)據(jù)服務(wù),主要將表示層的數(shù)據(jù)內(nèi)容消息體封裝到SOAP協(xié)議的Body中,而基于REST實(shí)現(xiàn)的數(shù)據(jù)服務(wù),主要將消息體封裝到HTTP協(xié)議的報(bào)文體中。6、接ロ層接ロ層是在服務(wù)層的基礎(chǔ)上,實(shí)現(xiàn)對(duì)數(shù)據(jù)服務(wù)消息頭的安全、版本、路由和控制信息等的進(jìn)ー步封裝,并將數(shù)據(jù)服務(wù)對(duì)外發(fā)布,提供給服務(wù)請(qǐng)求方調(diào)用,同時(shí)通過(guò)服務(wù)接入網(wǎng)關(guān)來(lái)控制數(shù)據(jù)服務(wù)的訪問(wèn),實(shí)現(xiàn)數(shù)據(jù)服務(wù)的集成和統(tǒng)ー控制。其中,服務(wù)接入網(wǎng)關(guān)用于解決數(shù)據(jù)服務(wù)接入網(wǎng)絡(luò)的安全問(wèn)題,可以獨(dú)立部署,統(tǒng)ー負(fù)責(zé)數(shù)據(jù)服務(wù)的請(qǐng)求接入。對(duì)數(shù)據(jù)服務(wù)的訪問(wèn),只能通過(guò)服務(wù)接入網(wǎng)關(guān),起到網(wǎng)絡(luò)隔離的作用,保障了數(shù)據(jù)服務(wù)內(nèi)部網(wǎng)絡(luò)的安全,提升了數(shù)據(jù)服務(wù)的對(duì)外開放能力,也増加了系統(tǒng)部署的靈活性。服務(wù)管理接收服務(wù)接入網(wǎng)關(guān)轉(zhuǎn)發(fā)的服務(wù)訪問(wèn)請(qǐng)求,對(duì)數(shù)據(jù)服務(wù)的訪問(wèn)進(jìn)行安全、版本、路由、負(fù)載分?jǐn)偟瓤刂啤0踩芾碇饕脕?lái)保障服務(wù)訪問(wèn)和服務(wù)交換數(shù)據(jù)的安全。服務(wù)安全管理包括信息交換安全、認(rèn)證鑒權(quán)、權(quán)限管理和可靠請(qǐng)求源管理等功能。根據(jù)本發(fā)明的具體數(shù)據(jù)源數(shù)據(jù)通過(guò)連接層、模型映射層、表示層、會(huì)話層、服務(wù)層和接ロ層最終形成數(shù)據(jù)服務(wù),能夠?qū)崿F(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實(shí)現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部實(shí)現(xiàn)的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)更加簡(jiǎn)單、高效、清晰、靈活、可擴(kuò)展。
_2] 方法實(shí)施例一:以下對(duì)本發(fā)明的具體數(shù)據(jù)服務(wù)封裝的方法進(jìn)行詳細(xì)描述;其中,如圖2所示,根據(jù)本發(fā)明,所述方法具體包括下列步驟:SlOl:對(duì)數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行解析并獲取到數(shù)據(jù)服務(wù)請(qǐng)求參數(shù);根據(jù)本發(fā)明,數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求被發(fā)送到數(shù)據(jù)提供方處,數(shù)據(jù)提供方根據(jù)所述的數(shù)據(jù)服務(wù)請(qǐng)求,對(duì)所述數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行信息,并獲取到具體的數(shù)據(jù)服務(wù)請(qǐng)求參數(shù);例如,以KPI服務(wù)為例,所述KPI服務(wù)的請(qǐng)求報(bào)文具體如下表所示,該請(qǐng)求報(bào)文包括:服務(wù)鑒權(quán)信息、請(qǐng)求數(shù)據(jù)源信息、服務(wù)版本號(hào)信息、路由信息、KPI請(qǐng)求參數(shù)。
權(quán)利要求
1.一種數(shù)據(jù)服務(wù)封裝的方法,包括: A、對(duì)數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行解析并獲取到數(shù)據(jù)服務(wù)請(qǐng)求參數(shù); B、根據(jù)所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)形成數(shù)據(jù)服務(wù)信息查詢指令; C、基于所述數(shù)據(jù)服務(wù)信息查詢指令從所述數(shù)據(jù)服務(wù)所對(duì)應(yīng)的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù); D、將所述數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù);將所述關(guān)系型數(shù)據(jù)封裝到應(yīng)答數(shù)據(jù)中;選擇所述數(shù)據(jù)服務(wù)的會(huì)話模式;將所述應(yīng)答數(shù)據(jù)封裝到數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中; E、對(duì)所述數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包頭進(jìn)行控制信息的封裝操作。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)服務(wù)封裝的方法,其特征在于,步驟B中,具體包括: 將所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)轉(zhuǎn)換成SQL格式的數(shù)據(jù)服務(wù)信息查詢指令。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)服務(wù)封裝的方法,其特征在于,步驟C中,具體包括: 根據(jù)所述SQL格式的數(shù)據(jù)服務(wù)信息查詢指令發(fā)起對(duì)具體數(shù)據(jù)源的數(shù)據(jù)源數(shù)據(jù)獲取請(qǐng)求; 基于所述查詢指令從所述數(shù)據(jù)服務(wù)所對(duì)應(yīng)的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)服務(wù)封裝的方法,其特征在于,步驟D中,具體包括: 將所述數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù);將該關(guān)系型數(shù)據(jù)封裝到XML或CSV或者ニ進(jìn)制格式的應(yīng)答數(shù)據(jù)中; 選擇所述數(shù)據(jù)服務(wù)的會(huì)話模式; 將所述XML或CSV或者ニ進(jìn)制格式的應(yīng)答數(shù)據(jù)封裝到SOAP或REST格式的數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)服務(wù)封裝的方法,其特征在于,步驟E中,進(jìn)ー步具體包括: 將包括數(shù)據(jù)服務(wù)的訪問(wèn)鑒權(quán)信息、路由、負(fù)載分?jǐn)偤驼?qǐng)求數(shù)據(jù)源信息的控制信息封裝到數(shù)據(jù)服務(wù)數(shù)據(jù)數(shù)據(jù)包的包頭中;封裝成功后返回給數(shù)據(jù)服務(wù)請(qǐng)求方。
6.一種數(shù)據(jù)服務(wù)封裝的裝置,包括: 模型映射層封裝模塊,用于對(duì)數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行解析并獲取到數(shù)據(jù)服務(wù)請(qǐng)求參數(shù); 根據(jù)所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)形成數(shù)據(jù)服務(wù)信息查詢指令; 連接層封裝模塊,用于根據(jù)所述數(shù)據(jù)服務(wù)信息查詢指令從所述數(shù)據(jù)服務(wù)所對(duì)應(yīng)的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù); 所述模型映射層封裝模塊,還用于將所述數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù); 表示層封裝模塊,用于將該關(guān)系型數(shù)據(jù)封裝到應(yīng)答數(shù)據(jù)中; 會(huì)話層封裝模塊,用于根據(jù)所述數(shù)據(jù)服務(wù)選擇服務(wù)會(huì)話模式; 服務(wù)層封裝模塊,用于將所述應(yīng)答數(shù)據(jù)封裝到數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中; 接ロ層封裝模塊,用于對(duì)所述數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包頭進(jìn)行控制信息的封裝操作。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)服務(wù)封裝的裝置,其特征在于,所述模型映射層封裝模塊,具體包括: SQL解析単元,用于將所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)轉(zhuǎn)換成SQL格式的數(shù)據(jù)服務(wù)信息查詢指令。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)服務(wù)封裝的裝置,其特征在于,所述模型映射層封裝模塊,還包括: 數(shù)據(jù)查詢単元,用于根據(jù)所述SQL格式的數(shù)據(jù)服務(wù)信息查詢指令和所述數(shù)據(jù)源的訪問(wèn)參數(shù)發(fā)起對(duì)具體數(shù)據(jù)源的數(shù)據(jù)源數(shù)據(jù)獲取請(qǐng)求; 基于所述查詢指令和訪問(wèn)參數(shù)從具體的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù)。
9.根據(jù)權(quán)利要求6或7所述的數(shù)據(jù)服務(wù)封裝的裝置,其特征在干,所述表示層封裝模塊,包括格式封裝単元,用于將該關(guān)系型數(shù)據(jù)封裝到XML或CSV或者ニ進(jìn)制格式的應(yīng)答數(shù)據(jù)中; 所述服務(wù)層封裝模塊,包括數(shù)據(jù)包封裝単元,用于將所述XML或CSV或者ニ進(jìn)制格式的應(yīng)答數(shù)據(jù)封裝到SOAP或REST格式的數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)服務(wù)封裝的裝置,其特征在干,所述接ロ層封裝模塊,包括: 信息封裝単元,用于將包括數(shù)據(jù)服務(wù)的訪問(wèn)鑒權(quán)信息、路由、負(fù)載分?jǐn)偤驼?qǐng)求數(shù)據(jù)源信息的控制信息封裝到數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)數(shù)據(jù)包的包頭中; 信息發(fā)送單元,用于將所述數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)數(shù)據(jù)包發(fā)送給數(shù)據(jù)服務(wù)請(qǐng)求方。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)服務(wù)封裝的方法和裝置,具體包括A、對(duì)數(shù)據(jù)服務(wù)請(qǐng)求方發(fā)起的數(shù)據(jù)服務(wù)請(qǐng)求進(jìn)行解析并獲取到數(shù)據(jù)服務(wù)請(qǐng)求參數(shù);B、根據(jù)所述數(shù)據(jù)服務(wù)請(qǐng)求參數(shù)形成數(shù)據(jù)服務(wù)信息查詢指令;C、基于所述數(shù)據(jù)服務(wù)信息查詢指令從所述數(shù)據(jù)服務(wù)所對(duì)應(yīng)的數(shù)據(jù)源中獲取到數(shù)據(jù)源數(shù)據(jù);D、將所述數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換成關(guān)系型數(shù)據(jù);將所述關(guān)系型數(shù)據(jù)封裝到應(yīng)答數(shù)據(jù)中;選擇所述數(shù)據(jù)服務(wù)的會(huì)話模式;將所述應(yīng)答數(shù)據(jù)封裝到數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包體中;E、對(duì)所述數(shù)據(jù)服務(wù)應(yīng)答數(shù)據(jù)包的包頭進(jìn)行控制信息的封裝操作。本發(fā)明可以簡(jiǎn)化數(shù)據(jù)服務(wù)的實(shí)現(xiàn),降低數(shù)據(jù)服務(wù)內(nèi)部代碼的耦合度。
文檔編號(hào)H04L29/08GK103139234SQ201110375778
公開日2013年6月5日 申請(qǐng)日期2011年11月23日 優(yōu)先權(quán)日2011年11月23日
發(fā)明者何鴻凌, 陶濤, 梁鍵, 鄭培強(qiáng), 汪欽堤, 肖萬(wàn)明, 王敏 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司, 福建新大陸軟件工程有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1