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

數(shù)據(jù)服務(wù)請求應(yīng)答方法和數(shù)據(jù)服務(wù)協(xié)議棧的制作方法

文檔序號:7975512閱讀:293來源:國知局
專利名稱:數(shù)據(jù)服務(wù)請求應(yīng)答方法和數(shù)據(jù)服務(wù)協(xié)議棧的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域中業(yè)務(wù)運營支撐技術(shù),具體地,涉及數(shù)據(jù)服務(wù)請求應(yīng)答的方法及數(shù)據(jù)服務(wù)協(xié)議棧。
背景技術(shù)
目前很多大型企業(yè),如通信、金融等行業(yè)的企業(yè)都已經(jīng)開始實施SOA (Service-Oriented Architecture,面向服務(wù)架構(gòu))。SOA提供了一種構(gòu)建IT組織的標準和方法,通過建立可組合、可重用的服務(wù)體系來減少IT業(yè)務(wù)冗余,并加快項目開發(fā)的進程,SOA體系能夠使IT部門效率更高、開發(fā)周期更短、項目分發(fā)更快,在協(xié)助IT技術(shù)和業(yè)務(wù)整合方面有著較高的價值。SOA實施過程中的關(guān)鍵內(nèi)容之一在于數(shù)據(jù)服務(wù)的實現(xiàn),數(shù)據(jù)服務(wù)作為應(yīng)用與數(shù)據(jù)解耦的技術(shù),可實現(xiàn)軟件的高內(nèi)聚、松耦合,可以提高軟件的復(fù)用度。現(xiàn)有業(yè)界在數(shù)據(jù)服務(wù)的實現(xiàn)方面主要有EJB、C0RBA、DC0M和Web Service等技術(shù),其中比較流行的是Web Service。Web Service使用標準的、規(guī)范的XML描述接口,來描述與服務(wù)進行交互所需要的全部細節(jié),包括消息格式、傳輸協(xié)議和服務(wù)位置;而在對外的接口中隱藏了服務(wù)實現(xiàn)的細節(jié),僅提供一系列可執(zhí)行的操作,該操作獨立于軟硬件平臺和編寫服務(wù)所用的編程語言。Web Service的體系結(jié)構(gòu)主要基于服務(wù)注冊中心、服務(wù)請求者(即服務(wù)請求方)和服務(wù)提供者(即服務(wù)提供方)三種角色之間的交互,如圖1所示。三種角色的交互主要涉及發(fā)布、查找和綁定操作,服務(wù)提供者定義Web服務(wù)的服務(wù)描述并把它發(fā)布到服務(wù)注冊中心,服務(wù)請求者使用查找操作從本地或服務(wù)注冊中心檢索服務(wù)描述,然后使用服務(wù)描述與服務(wù)提供者進行綁定并調(diào)用Web服務(wù)。申請?zhí)枮?01010616910.4的中國專利申請介紹了一種Web Service服務(wù)的管理方法和系統(tǒng),包括:網(wǎng)絡(luò)服務(wù)器獲取客戶端發(fā)送的用戶身份認證請求;所述用戶身份認證請求包括:用戶數(shù)字證書和用戶身份認證信息;所述網(wǎng)絡(luò)服務(wù)器將其獲取到的用戶身份認證請求轉(zhuǎn)發(fā)給認證中心,以便所述認證中心對所述網(wǎng)絡(luò)服務(wù)器以及用戶身份進行認證;當所述認證中心完成認證后,所述網(wǎng)絡(luò)服務(wù)器接收所述認證中心返回的認證結(jié)果;根據(jù)所述認證結(jié)果,所述網(wǎng)絡(luò)服務(wù)器為所述客戶端提供網(wǎng)絡(luò)服務(wù)。本專利申請能夠提高Web Service的安全性,還能有效的解決驗證數(shù)字證書的使用者和所有者是否是同一實體的問題。申請?zhí)枮?00910167170.8的中國專利申請公開了一種提供數(shù)據(jù)服務(wù)的處理系統(tǒng)及方法,包括:在接收到用戶的提供數(shù)據(jù)服務(wù)的業(yè)務(wù)請求后,在需要調(diào)用外部接口時,基于調(diào)用外部接口的位置將業(yè)務(wù)拆分為初始邏輯業(yè)務(wù)和后續(xù)邏輯業(yè)務(wù);對初始邏輯業(yè)務(wù)進行處理,并向反向代理服務(wù)器返回分段響應(yīng)處理結(jié)果;反向代理服務(wù)器根據(jù)分段響應(yīng)結(jié)果的請求調(diào)用外部接口 ;在調(diào)用的外部接口返回響應(yīng)結(jié)果后,將分段響應(yīng)結(jié)果與調(diào)用外部接口返回的響應(yīng)結(jié)果整合成提供給用戶的數(shù)據(jù)服務(wù)結(jié)果;向用戶返回數(shù)據(jù)服務(wù)結(jié)果。本專利申請可以避免前端邏輯被阻塞,使得前端服務(wù)能夠連續(xù)處理新請求而不用浪費時間在等待外部服務(wù)請求的響應(yīng)上。
總體來說,上述現(xiàn)有方案雖然可以一定程度上解決Web Service數(shù)據(jù)服務(wù)的實現(xiàn)問題,但主要針對服務(wù)接口層面實現(xiàn),并不能深入到數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)進行規(guī)范說明,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)不能得到充分的解耦和復(fù)用,導(dǎo)致數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)比較復(fù)雜,影響數(shù)據(jù)服務(wù)的實現(xiàn)效率。

發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)中數(shù)據(jù)服務(wù)的實現(xiàn)效率較低的缺陷,提出一種數(shù)據(jù)服務(wù)請求應(yīng)答方法及數(shù)據(jù)服務(wù)協(xié)議棧。為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了 一種數(shù)據(jù)服務(wù)請求方法。根據(jù)本發(fā)明實施例的數(shù)據(jù)服務(wù)請求方法,包括:服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層、會話層、服務(wù)層和接口層將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包;服務(wù)請求方將封裝后的SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包發(fā)送給服務(wù)提供方,以使服務(wù)提供方將SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析處理后獲得服務(wù)查詢指令,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。在上述技術(shù)方案中,服務(wù)提供方將SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后獲得服務(wù)查詢指令,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)的步驟包括:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層、服務(wù)層、會話層和表示層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后獲得服務(wù)指標參數(shù);服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層和連接層根據(jù)服務(wù)指標參數(shù)組成服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。在上述技術(shù)方案中,將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的步驟包括:將服務(wù)指標參數(shù)通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層封裝成可擴展標記語言數(shù)據(jù),根據(jù)服務(wù)的交互類型通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層發(fā)起會話請求;通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中;通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行服務(wù)版本、路由、請求源和認證鑒權(quán)的封裝操作。在上述技術(shù)方案中,在將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的步驟與將封裝后的SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包發(fā)送給服務(wù)提供方的步驟之間還包括:通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名的操作。在上述技術(shù)方案中,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后獲得服務(wù)指標參數(shù)的步驟包括:通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名認證和數(shù)據(jù)解密;通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行解析,進行認證鑒權(quán)、請求源、路由和服務(wù)版本的控制操作,獲取SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體;通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體進行解析,獲取可擴展標記語言數(shù)據(jù);通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)協(xié)議棧的表示層;通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層對可擴展標記語言數(shù)據(jù)進行解析,獲取服務(wù)指標參數(shù)。在上述技術(shù)方案中,根據(jù)服務(wù)指標參數(shù)組成服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)的步驟具體包括:通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層將服務(wù)指標參數(shù)組裝成服務(wù)查詢指令;通過數(shù)據(jù)服務(wù)協(xié)議棧的連接層將服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了 一種數(shù)據(jù)服務(wù)應(yīng)答方法。根據(jù)本發(fā)明實施例的數(shù)據(jù)服務(wù)應(yīng)答方法,包括:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的連接層自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù),通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層、表示層、會話層、服務(wù)層和接口層將服務(wù)數(shù)據(jù)封裝成SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包;服務(wù)提供方將封裝后的SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包發(fā)送給服務(wù)請求方,以使服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層、服務(wù)層、會話層和表示層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后,獲取服務(wù)數(shù)據(jù)。在上述技術(shù)方案中,將服務(wù)數(shù)據(jù)封裝成SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的步驟包括:將服務(wù)數(shù)據(jù)通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層轉(zhuǎn)換為關(guān)系型數(shù)據(jù),并將該關(guān)系型數(shù)據(jù)通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層封裝成可擴展標記語言數(shù)據(jù);通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層;將可擴展標記語言數(shù)據(jù)通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中;通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行應(yīng)答結(jié)果、應(yīng)答時間、應(yīng)答編碼和應(yīng)答描述的控制信息的封裝操作。為實現(xiàn)上述目的,根據(jù)本發(fā)明的另一個方面,提供了一種數(shù)據(jù)服務(wù)請求數(shù)據(jù)服務(wù)協(xié)議棧。根據(jù)本發(fā)明實施例的數(shù)據(jù)服務(wù)協(xié)議棧,包括:表示層,用于將服務(wù)指標參數(shù)封裝成可擴展標記語言數(shù)據(jù),對可擴展標記語言數(shù)據(jù)進行解析,獲取服務(wù)指標參數(shù);會話層,用于根據(jù)服務(wù)的交互類型發(fā)起會話請求,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至表示層;服務(wù)層,用于將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體進行解析,獲取可擴展標記語言數(shù)據(jù);接口層,用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行服務(wù)版本、路由、請求源和認證鑒權(quán)的封裝操作,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行解析,進行認證鑒權(quán)、請求源、路由和服務(wù)版本的控制操作,獲取SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體;模型映射層,用于將服務(wù)指標參數(shù)組裝成服務(wù)查詢指令;連接層,用于將服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。在上述技術(shù)方案中,協(xié)議棧還包括:接口層,還用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名的操作,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名認證和數(shù)據(jù)解密。在上述技術(shù)方案中,協(xié)議棧還包括:接口層,還用于將數(shù)據(jù)服務(wù)對外發(fā)布,提供給服務(wù)請求方調(diào)用,并且通過企業(yè)服務(wù)總線控制數(shù)據(jù)服務(wù)的訪問,實現(xiàn)數(shù)據(jù)服務(wù)的集成和統(tǒng)一控制。
在上述技術(shù)方案中,協(xié)議棧還包括:模型映射層,還用于實現(xiàn)數(shù)據(jù)服務(wù)的數(shù)據(jù)模型與數(shù)據(jù)庫數(shù)據(jù)模型的映射。為實現(xiàn)上述目的,根據(jù)本發(fā)明的另一個方面,提供了 一種數(shù)據(jù)服務(wù)協(xié)議棧。根據(jù)本發(fā)明實施例的數(shù)據(jù)服務(wù)協(xié)議棧,包括:連接層,用于自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù);模型映射層,用于將服務(wù)數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù);表示層,用于將關(guān)系型數(shù)據(jù)封裝成可擴展標記語言數(shù)據(jù);會話層,用于獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至服務(wù)層;服務(wù)層,用于將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中;接口層,用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行應(yīng)答結(jié)果、應(yīng)答時間、應(yīng)答編碼和應(yīng)答描述的控制信息的封裝操作。本發(fā)明各實施例的數(shù)據(jù)服務(wù)請求應(yīng)答方法及數(shù)據(jù)服務(wù)協(xié)議棧,不僅可以實現(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)更加簡單、高效、清晰、靈活和可擴展。本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。


附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:圖1為根據(jù)現(xiàn)有技術(shù)中的服務(wù)注冊中心、服務(wù)請求方和服務(wù)提供方交互關(guān)系示意圖;圖2為本發(fā)明的數(shù)據(jù)服務(wù)協(xié)議棧的結(jié)構(gòu)示意圖;圖3為本發(fā)明的連接層中數(shù)據(jù)源數(shù)據(jù)格式示意圖;圖4為本發(fā)明的LSQL的數(shù)據(jù)格式示意圖;圖5為本發(fā)明的SQL的數(shù)據(jù)格式示意圖;圖6為根據(jù)本發(fā)明模型映射層中關(guān)系型數(shù)據(jù)格式示意圖;圖7為根據(jù)本發(fā)明表示層的XML數(shù)據(jù)表示方式示意圖;圖8為根據(jù)本發(fā)明表示層的CSV數(shù)據(jù)表示方式示意圖;圖9為根據(jù)本發(fā)明表示層的Excel文件類型的數(shù)據(jù)示意圖;圖10為根據(jù)本發(fā)明會話層的在線請求-同步響應(yīng)方式的示意圖;圖11為根據(jù)本發(fā)明會話層的在線請求-異步響應(yīng)方式的示意圖;圖12為根據(jù)本發(fā)明會話層的發(fā)布-訂閱方式的示意圖;圖13為根據(jù)本發(fā)明服務(wù)層的封裝了請求消息體的SOAP請求報文數(shù)據(jù)格式示意圖14為根據(jù)本發(fā)明服務(wù)層的封裝了應(yīng)答消息體的SOAP應(yīng)答報文數(shù)據(jù)格式示意圖;圖15為根據(jù)本發(fā)明接口層的加入服務(wù)版本后的SOAP請求報文數(shù)據(jù)格式示意圖;圖16為根據(jù)本發(fā)明接口層的加入服務(wù)路由后的SOAP請求報文數(shù)據(jù)格式示意圖;圖17為根據(jù)本發(fā)明接口層的加入請求時間后的SOAP請求報文數(shù)據(jù)格式示意圖;圖18為根據(jù)本發(fā)明接口層的加入短連接認證信息后的SOAP請求報文數(shù)據(jù)格式示意圖;圖19為根據(jù)本發(fā)明接口層的加入長連接認證信息后的SOAP請求報文數(shù)據(jù)格式示意圖;圖20為根據(jù)本發(fā)明接口層的加入可靠請求源信息后的SOAP請求報文數(shù)據(jù)格式示意圖;圖21為根據(jù)本發(fā)明接口層的進行數(shù)字簽名后的SOAP請求報文數(shù)據(jù)格式示意圖;圖22為根據(jù)本發(fā)明接口層的加入控制信息后的SOAP應(yīng)答報文數(shù)據(jù)格式示意圖;圖23為根據(jù)本發(fā)明服務(wù)請求方向服務(wù)提供方發(fā)起服務(wù)請求的流程示意圖;圖24為根據(jù)本發(fā)明步驟102中KPI指標參數(shù)的數(shù)據(jù)格式示意圖;圖25為根據(jù)本發(fā)明步驟104中XML格式數(shù)據(jù)的數(shù)據(jù)格式示意圖;圖26為根據(jù)本發(fā)明步驟108中SOAP數(shù)據(jù)格式示意圖;圖27為本發(fā)明發(fā)起服務(wù)請求方法實施例中步驟110封裝后的數(shù)據(jù)格式示意圖;圖28為本發(fā)明發(fā)起服務(wù)請求方法實施例中步驟112數(shù)字簽名后的數(shù)據(jù)格式示意圖;圖29為根據(jù)本發(fā)明服務(wù)提供方對服務(wù)請求方發(fā)起的服務(wù)請求進行服務(wù)應(yīng)答的流程不意圖;圖30為根據(jù)本發(fā)明步驟202中數(shù)據(jù)源數(shù)據(jù)格式示意圖;圖31為根據(jù)本發(fā)明步驟204中關(guān)系型數(shù)據(jù)格式示意圖;圖32為根據(jù)本發(fā)明步驟206中封裝后XML數(shù)據(jù)格式示意圖;圖33為本發(fā)明進行服務(wù)應(yīng)答方法實施例中步驟210封裝后的數(shù)據(jù)格式示意圖;圖34為本發(fā)明進行服務(wù)應(yīng)答方法實施例中步驟212封裝后的SOAP數(shù)據(jù)包示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。現(xiàn)有的Web Service數(shù)據(jù)服務(wù)實現(xiàn)的技術(shù)方案,主要針對服務(wù)接口層面的實現(xiàn),并不能深入到數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)進行規(guī)范說明,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)不能得到充分的解耦和復(fù)用,導(dǎo)致數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)比較復(fù)雜,影響數(shù)據(jù)服務(wù)的實現(xiàn)效率。本發(fā)明公開數(shù)據(jù)服務(wù)請求應(yīng)答方法和數(shù)據(jù)服務(wù)協(xié)議棧,可以較好的解決上述問題,除了可以實現(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部實現(xiàn)的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)更加簡單、高效、清晰、靈活、可擴展。如圖2所示,本發(fā)明的數(shù)據(jù)服務(wù)協(xié)議棧共劃分為六層,自上而下依次是連接層、模型映射層、表示層、會話層、服務(wù)層和接口層;本發(fā)明的數(shù)據(jù)服務(wù)協(xié)議棧共分為兩部分:月艮務(wù)請求方部分和服務(wù)提供方部分,服務(wù)請求方部分自上而下由表示層、會話層、服務(wù)層和接口層組成,服務(wù)提供方部分自上而下由連接層、模型映射層、表示層、會話層、服務(wù)層和接口層組成;其中,服務(wù)請求方部分與服務(wù)提供方部分中的表示層、會話層、服務(wù)層和接口層的結(jié)構(gòu)和功能都相同。數(shù)據(jù)服務(wù)便是由數(shù)據(jù)源數(shù)據(jù),經(jīng)過數(shù)據(jù)服務(wù)協(xié)議棧中連接層到接口層的逐層封裝而成。1、連接層連接層用來實現(xiàn)數(shù)據(jù)服務(wù)對各種數(shù)據(jù)源的連接,以及數(shù)據(jù)源數(shù)據(jù)的操作,從而獲取數(shù)據(jù)服務(wù)所需要的數(shù)據(jù)源數(shù)據(jù)。連接層通過數(shù)據(jù)源連接技術(shù),例如JDBC、0DBC、FTP和SOAP等來實現(xiàn)對各種數(shù)據(jù)源的連接,并從數(shù)據(jù)源(即數(shù)據(jù)庫)取得數(shù)據(jù)源數(shù)據(jù)。連接層從數(shù)據(jù)源取得數(shù)據(jù)后,以比特流形式的數(shù)據(jù)格式存在,如圖3所示。2、模型映射層模型映射層用來實現(xiàn)數(shù)據(jù)服務(wù)的數(shù)據(jù)模型與數(shù)據(jù)源數(shù)據(jù)模型的映射,將數(shù)據(jù)服務(wù)的數(shù)據(jù)模型的查詢語句轉(zhuǎn)換為可執(zhí)行的數(shù)據(jù)源的數(shù)據(jù)模型的查詢語句,以及將連接層的數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù)。模型映射層為表示層提供的數(shù)據(jù)服務(wù)的數(shù)據(jù)模型的查詢語句接口,主要可以采用標準的SQL或者LSQL(LSQL為中國移動經(jīng)營分析系統(tǒng)數(shù)據(jù)倉庫邏輯查詢語言CMCC-LSQL)來實現(xiàn)。其中,SQL無法屏蔽數(shù)據(jù)庫和數(shù)據(jù)模型之間的差異,因此主要適用于速度要求較高,數(shù)據(jù)模型差異不大的應(yīng)用場景;而LSQL主要適用于速度要求不高,數(shù)據(jù)模型差異較大的應(yīng)用場景。LSQL的數(shù)據(jù)格式如圖4所示。SQL的數(shù)據(jù)格式如圖5所示。如果是SQL,則直接提交給連接層執(zhí)行,如果是LSQL,則需要經(jīng)過模型映射后轉(zhuǎn)換為可執(zhí)行的物理SQL,再提交給連接層執(zhí)行。連接層通過連接技術(shù)將SQL提交數(shù)據(jù)庫執(zhí)行,并將獲取的數(shù)據(jù)源數(shù)據(jù),返回給模型映射層,模型映射層為了方便表示層的數(shù)據(jù)表示,將數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù),關(guān)系型數(shù)據(jù)格式如圖6所示。3、表示層表示層用來表示數(shù)據(jù)服務(wù)交互過程中的數(shù)據(jù),實現(xiàn)將模型映射層中的關(guān)系型數(shù)據(jù)表示為數(shù)據(jù)服務(wù)交互過程中所需要的數(shù)據(jù)格式。數(shù)據(jù)表示方式主要包括:XML、CSV和二進制的方式,在不同的數(shù)據(jù)服務(wù)交互過程中,數(shù)據(jù)的表示方式可能不同,如:在“在線請求-同步響應(yīng)”的數(shù)據(jù)服務(wù)交互方式中采用XML作為數(shù)據(jù)的表示方式;在“在線請求-異步響應(yīng)”和“發(fā)布-訂閱”交互方式中的數(shù)據(jù)服務(wù)控制信息采用XML,而應(yīng)答的數(shù)據(jù)內(nèi)容采用CSV數(shù)據(jù)表示方式;在對數(shù)據(jù)格式有特殊要求的需求場合,可以采用二進制流的數(shù)據(jù)表示方式。XML的數(shù)據(jù)表示方式如圖7所示,CSV的數(shù)據(jù)表示方式如圖8所示。二進制流數(shù)據(jù)表示方式主要是根據(jù)具體應(yīng)用的需要或者用戶的要求,生成相應(yīng)文件類型的數(shù)據(jù),如Excel文件類型的數(shù)據(jù),如圖9所示。4、會話層
會話層是服務(wù)請求方與服務(wù)提供方進行交互會話的場所,會話層通過不同的交互方式來表示數(shù)據(jù)服務(wù)的交互過程。會話層的數(shù)據(jù)交互方式有“在線請求-同步響應(yīng)方式”、“在線請求-異步響應(yīng)方式”和“發(fā)布-訂閱方式”。該三種交互方式(即會話協(xié)商方式)的選擇主要由數(shù)據(jù)的服務(wù)提供方?jīng)Q定,服務(wù)提供方根據(jù)自身數(shù)據(jù)量、實時性要求等特點,在數(shù)據(jù)服務(wù)開發(fā)時確定采用何種數(shù)據(jù)交互方式。具體說明如下:(I)在線請求-同步響應(yīng)方式在線請求-同步響應(yīng)方式是指服務(wù)請求方向服務(wù)提供方發(fā)送數(shù)據(jù)請求,并進入阻塞狀態(tài),等待服務(wù)提供方的響應(yīng)數(shù)據(jù)返回。服務(wù)提供方在接收到數(shù)據(jù)請求后,進行一系列的業(yè)務(wù)處理獲取響應(yīng)數(shù)據(jù),并將響應(yīng)數(shù)據(jù)回復(fù)給服務(wù)請求方。服務(wù)請求方在接收到響應(yīng)數(shù)據(jù)后,中止阻塞狀態(tài)繼續(xù)運行。具體在線請求-同步響應(yīng)方式的數(shù)據(jù)交互流程如圖10所示。該方式適用于響應(yīng)速度比較快,且數(shù)據(jù)量比較小的場合。由于發(fā)送數(shù)據(jù)請求的服務(wù)請求方需要阻塞運行,因此如果響應(yīng)的速度比較慢,會造成服務(wù)請求方長時間阻塞不能運行,很可能會影響到服務(wù)請求方應(yīng)用的正常運行;同樣,如果傳輸?shù)臄?shù)據(jù)量比較大,那么傳輸?shù)倪^程中請求數(shù)據(jù)的服務(wù)也需要等待,造成等待時間過長。(2)在線請求-異步響應(yīng)方式在線請求-異步響應(yīng)方式是指服務(wù)請求方調(diào)用服務(wù)提供方的“準備數(shù)據(jù)方法”,向服務(wù)提供方發(fā)送數(shù)據(jù)請求。服務(wù)提供方在接收到數(shù)據(jù)請求后,返回請求成功標志、數(shù)據(jù)準備的預(yù)估處理時間、建議定期查詢數(shù)據(jù)準備情況的時間間隔和數(shù)據(jù)的獲取方式等消息。服務(wù)請求方在獲得上述消息后可繼續(xù)運行,不需要長時間處于阻塞狀態(tài)。服務(wù)提供方在返回上述消息后進行一系列的業(yè)務(wù)處理以準備數(shù)據(jù)。服務(wù)請求方在數(shù)據(jù)準備的預(yù)估處理時間到達后,按照建議定期查詢數(shù)據(jù)準備情況的時間間隔,服務(wù)請求方向服務(wù)提供方發(fā)送查詢數(shù)據(jù)準備情況的請求。如果數(shù)據(jù)未準備完畢,服務(wù)提供方返回數(shù)據(jù)未準備完畢的消息,服務(wù)請求方則在建議的時間間隔后繼續(xù)查詢;如果數(shù)據(jù)準備完畢,服務(wù)提供方返回包含何時何地如何獲取數(shù)據(jù)的消息。服務(wù)請求方即可以按照給定的時間到給定的地點(FTP或HTTP地址)在給定的有效期內(nèi)自行決定何時使用給定的方式(FTP或HTTP協(xié)議)取得數(shù)據(jù)。具體在線請求-異步響應(yīng)方式的數(shù)據(jù)交互流程如圖11所示。該方式適用于被請求的數(shù)據(jù)量產(chǎn)生時間比較長,或者數(shù)據(jù)量較大的場合。因為采用異步方式,不需要長時間的等待與阻塞,服務(wù)請求方可以正常運行其它功能,僅需要在接到數(shù)據(jù)準備完畢的信號之后再處理請求的數(shù)據(jù)。(3)發(fā)布-訂閱方式發(fā)布-訂閱方式是指服務(wù)請求方向服務(wù)提供方的“注冊方法”注冊請求數(shù)據(jù)的要求和通知服務(wù)。服務(wù)提供方在接到服務(wù)請求方的注冊消息后,返回請求成功的標志。服務(wù)請求方在獲得上述注冊消息后,可以繼續(xù)運行而不需要長時間處于阻塞狀態(tài),服務(wù)提供方在返回上述注冊消息后,進行一系列的業(yè)務(wù)處理以準備數(shù)據(jù)。當數(shù)據(jù)準備完畢,服務(wù)提供方調(diào)用服務(wù)請求方注冊的通知服務(wù),告知服務(wù)請求方數(shù)據(jù)準備情況和相關(guān)的獲取信息。服務(wù)請求方回復(fù)成功或失敗的標志,服務(wù)請求方即可以按照給定的時間到給定的地點(FTP或HTTP地址)在給定的有效期內(nèi)自行決定何時使用給定的方式(FTP或HTTP協(xié)議)取得數(shù)據(jù),從而實現(xiàn)數(shù)據(jù)的觸發(fā)式交互。具體發(fā)布-訂閱方式的交互流程如圖12所示。
該方式適用于觸發(fā)性傳輸各種數(shù)據(jù)量的數(shù)據(jù)封裝服務(wù),由于發(fā)布-訂閱方式本質(zhì)上是異步響應(yīng)方式,因此服務(wù)請求方不需要長時間的等待與阻塞,可以正常運行其它功能。5、服務(wù)層服務(wù)層主要通過服務(wù)實現(xiàn)技術(shù)對表示層的數(shù)據(jù)做進一步的封裝,把數(shù)據(jù)內(nèi)容的消息體封裝到數(shù)據(jù)服務(wù)的報文體中,并實現(xiàn)具體的數(shù)據(jù)服務(wù)。服務(wù)層數(shù)據(jù)服務(wù)的實現(xiàn)主要采用Web Service技術(shù),其中Web Service的服務(wù)提供方可以通過SOAP或者REST架構(gòu)來實現(xiàn)?;赟OAP實現(xiàn)的數(shù)據(jù)服務(wù),主要將表示層的數(shù)據(jù)內(nèi)容消息體封裝到SOAP協(xié)議的Body中,而基于REST實現(xiàn)的數(shù)據(jù)服務(wù),主要將消息體封裝到HTTP協(xié)議的報文體中。下面主要介紹基于SOAP的實現(xiàn)方式:5.1請求消息體封裝將表示層請求數(shù)據(jù)內(nèi)容的消息體封裝成SOAP請求報文的數(shù)據(jù)格式如圖13所示。5.2應(yīng)答消息體封裝將表示層應(yīng)答數(shù)據(jù)內(nèi)容的消息體封裝成SOAP應(yīng)答報文的數(shù)據(jù)格式如圖14所示。6、接口層接口層是在服務(wù)層的基礎(chǔ)上,實現(xiàn)對數(shù)據(jù)服務(wù)消息頭的安全、版本、路由和控制信息等的進一步封裝,并將數(shù)據(jù)服務(wù)對外發(fā)布,提供給服務(wù)請求方調(diào)用,同時通過ESB (Enterprise Service Bus,即企業(yè)服務(wù)總線)技術(shù)來控制數(shù)據(jù)服務(wù)的訪問,實現(xiàn)數(shù)據(jù)服務(wù)的集成和統(tǒng)一控制?;赟OAP實現(xiàn)的數(shù)據(jù)服務(wù),主要將消息頭封裝到SOAP協(xié)議的Header中;而基于REST實現(xiàn)的數(shù)據(jù)服務(wù),主要將消息頭封裝到HTTP協(xié)議報文頭的自定義變量HeaderReq中。下面主要介紹基于SOAP的實現(xiàn)方式:6.1請求消息頭封裝6.1.1服務(wù)版本服務(wù)版本用于控制服務(wù)請求方對不同版本的數(shù)據(jù)服務(wù)的訪問。在服務(wù)層SOAP請求報文的基礎(chǔ)上,封裝了服務(wù)版本消息頭的請求報文數(shù)據(jù)格式如圖15所示。6.1.2服務(wù)路由服務(wù)路由是將服務(wù)請求方的請求按照一定的路由規(guī)則發(fā)送到相應(yīng)的服務(wù)提供方,主要應(yīng)用于服務(wù)提供方進行分地區(qū)、分庫等集群部署的情況。例如:可以根據(jù)地區(qū)的路由信息,將服務(wù)請求發(fā)送到該地區(qū)所在的數(shù)據(jù)服務(wù)服務(wù)器。在服務(wù)層SOAP請求報文的基礎(chǔ)上,封裝了服務(wù)路由消息頭的請求報文數(shù)據(jù)格式如圖16所示。6.1.3請求時間 請求時間用來標識本次數(shù)據(jù)服務(wù)訪問的時間,作為訪問日志的主要內(nèi)容,方便日后的日志追S示排查。在服務(wù)層SOAP請求報文的基礎(chǔ)上,封裝了請求時間消息頭的請求報文數(shù)據(jù)格式如圖17所示。6.1.4認證鑒權(quán)認證鑒權(quán)用來對服務(wù)請求方是否合法進行鑒別和確認。通過認證鑒權(quán),可以使服務(wù)提供方確認服務(wù)請求方的身份,確定是否有該服務(wù)的訪問權(quán)限。認證鑒權(quán)主要有以下兩種方式:(I)短連接認證短連接認證方式主要適用于外部系統(tǒng)對數(shù)據(jù)服務(wù)的訪問,外部系統(tǒng)對數(shù)據(jù)服務(wù)的訪問效率一般不會太高,但安全性相對較高,因此服務(wù)請求方每次請求時都要提供用戶名、密碼等校驗信息來進行認證鑒權(quán)。在服務(wù)層SOAP請求報文的基礎(chǔ)上,封裝了短連接認證信息的請求報文數(shù)據(jù)格式如圖18所示。(2)長連接認證長連接認證方式主要適用于系統(tǒng)內(nèi)部應(yīng)用對數(shù)據(jù)服務(wù)的訪問,內(nèi)部應(yīng)用對數(shù)據(jù)服務(wù)的訪問效率一般會比較高,安全性也比較可靠,因此服務(wù)請求方只需在首次訪問服務(wù)提供方的用戶認證服務(wù)時,提供用戶名、密碼認證信息,經(jīng)過認證通過后,服務(wù)提供方為服務(wù)請求方生成唯一的令牌信息,服務(wù)請求方在令牌的有效期內(nèi),無需每次請求都提供用戶名、密碼等校驗信息。在服務(wù)層SOAP請求報文的基礎(chǔ)上,封裝了長連接認證信息的請求報文數(shù)據(jù)格式如圖19所示。6.1.5可靠請求源可靠請求源用來控制某個請求來源是否需要安全校驗功能,對于受信任的系統(tǒng),允許用戶不經(jīng)過安全校驗,就能訪問數(shù)據(jù)服務(wù),可以減少受信任系統(tǒng)的開發(fā)工作。在服務(wù)層SOAP請求報文的基礎(chǔ)上,封裝了可靠請求源信息的請求報文數(shù)據(jù)格式如圖20所示。6.1.6數(shù)字簽名數(shù)字簽名是基于非對稱加密技術(shù)的安全機制,通過數(shù)字簽名技術(shù)可以保障數(shù)據(jù)或業(yè)務(wù)流量信息的機密性,以及預(yù)防客戶端的抵賴行為。對SOAP請求報文進行數(shù)字簽名后的數(shù)據(jù)格式如圖21所示。6.2應(yīng)答消息頭封裝應(yīng)答消息頭中主要封裝了數(shù)據(jù)服務(wù)的應(yīng)答時間、應(yīng)答結(jié)果、應(yīng)答錯誤編碼、應(yīng)答錯誤信息等控制信息內(nèi)容,作為服務(wù)請求方對應(yīng)答成功或者失敗的判斷依據(jù),以及失敗原因的分析。在服務(wù)層SOAP應(yīng)答報文的基礎(chǔ)上,封裝了控制信息的應(yīng)答報文數(shù)據(jù)格式如圖22所示。方法實施例下面以在線請求-同步響應(yīng)交互方式的“關(guān)鍵指標監(jiān)控”應(yīng)用場景為例,來說明數(shù)據(jù)服務(wù)協(xié)議棧在服務(wù)請求和服務(wù)應(yīng)答過程中,進行協(xié)議包封裝及解析的流程。服務(wù)請求流程“關(guān)鍵指標監(jiān)控”應(yīng)用通過服務(wù)請求方向服務(wù)提供方發(fā)起服務(wù)請求時,數(shù)據(jù)服務(wù)協(xié)議棧進行協(xié)議包封裝及解析的流程,如圖23所示。具體流程步驟如下:步驟102 關(guān)鍵指標監(jiān)控”應(yīng)用通過服務(wù)請求方的界面輸入KPI指標參數(shù),向服務(wù)提供方發(fā)起應(yīng)用請求,KPI指標參數(shù)如圖24所示;
步驟104:服務(wù)請求方將KPI指標參數(shù)通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層,封裝到XML(Extensible Markup Language,可擴展標記語言)中,封裝后的XML格式數(shù)據(jù)如圖25所示。步驟106:服務(wù)請求方根據(jù)服務(wù)的交互方式,通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層發(fā)起在線請求-同步響應(yīng)方式的會話;步驟108:服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層,將XML數(shù)據(jù)封裝到SOAP數(shù)據(jù)包的包體中,封裝后的SOAP數(shù)據(jù)格式如圖26所示。步驟110:服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層,對SOAP數(shù)據(jù)包的包頭,進行服務(wù)版本、路由、請求源和認證鑒權(quán)等封裝操作,封裝后的數(shù)據(jù)格式如圖27所示;步驟112:服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層,對SOAP數(shù)據(jù)包進行數(shù)字簽名操作,簽名后的數(shù)據(jù)格式如圖28所示;步驟114:服務(wù)請求方將封裝完成后的SOAP數(shù)據(jù)包,以在線請求-同步響應(yīng)方式,通過HTTP通道發(fā)送給服務(wù)提供方;步驟116:服務(wù)提供方接收到服務(wù)請求后,通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層進行SOAP數(shù)據(jù)包的數(shù)字簽名認證和數(shù)據(jù)解密,并對SOAP數(shù)據(jù)包的包頭進行解析,進行認證鑒權(quán)、請求源、路由和版本等控制,然后獲取SOAP數(shù)據(jù)包的包體發(fā)送給數(shù)據(jù)服務(wù)協(xié)議棧的服
務(wù)層;步驟118:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層,對SOAP數(shù)據(jù)包的包體進行解析,獲取服務(wù)數(shù)據(jù)請求內(nèi)容的XML數(shù)據(jù);步驟120:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層,獲知目前的交互方式為在線請求-同步響應(yīng)方式后,通過同步方式將請求的XML數(shù)據(jù)轉(zhuǎn)發(fā)給數(shù)據(jù)服務(wù)協(xié)議棧的表示層;步驟122:服務(wù)提供方通過表示層,對XML數(shù)據(jù)進行解析,獲取服務(wù)請求的KPI參數(shù);步驟124:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層,將KPI指標參數(shù)組裝成KPI信息查詢的SQL語句;步驟126:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的連接層,將SQL語句通過JDBC連接技術(shù),提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)(即數(shù)據(jù)源數(shù)據(jù))。服務(wù)應(yīng)答流程服務(wù)提供方對“關(guān)鍵指標監(jiān)控”應(yīng)用發(fā)起的服務(wù)請求進行服務(wù)應(yīng)答時,數(shù)據(jù)服務(wù)協(xié)議進行數(shù)據(jù)包的封裝及解析的流程,如圖29所示。具體流程步驟如下:步驟202:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的連接層,自數(shù)據(jù)庫中獲取到服務(wù)數(shù)據(jù)(即數(shù)據(jù)源數(shù)據(jù)),數(shù)據(jù)源數(shù)據(jù)格式如圖30所示。步驟204:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層,將數(shù)據(jù)源數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù),方便數(shù)據(jù)服務(wù)協(xié)議棧的表示層的封裝,轉(zhuǎn)換后的關(guān)系型數(shù)據(jù)如圖31所示。步驟206:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層,將模型映射層中的關(guān)系型數(shù)據(jù)封裝到XML中,封裝后的XML數(shù)據(jù)格式如圖32所示。步驟208:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層,判斷本次交互為在線請求-同步響應(yīng)的方式,將XML數(shù)據(jù)轉(zhuǎn)發(fā)給數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層;步驟210:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層,將XML數(shù)據(jù)封裝到SOAP數(shù)據(jù)包的包體中,封裝后的數(shù)據(jù)格式如圖33所示;步驟212:服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層,對SOAP數(shù)據(jù)包的包頭,進行應(yīng)答結(jié)果、應(yīng)答時間、應(yīng)答編碼和應(yīng)答描述等控制信息的封裝,并將SOAP數(shù)據(jù)包發(fā)送給服務(wù)請求方,封裝后的SOAP數(shù)據(jù)包如圖34所示;步驟214:服務(wù)請求方依次通過接口層、服務(wù)層、會話層、表示層對SOAP數(shù)據(jù)包進行解析,最終獲取到數(shù)據(jù)源數(shù)據(jù),并通過“關(guān)鍵指標監(jiān)控”應(yīng)用展現(xiàn)出來。本發(fā)明的數(shù)據(jù)請求應(yīng)答方法,不僅可以實現(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)更加簡單、高效、清晰、靈活和可擴展。協(xié)議棧實施例根據(jù)本發(fā)明實施例,提供了一種數(shù)據(jù)服務(wù)協(xié)議棧。本實施例包括:表示層,用于將服務(wù)指標參數(shù)封裝成可擴展標記語言數(shù)據(jù),對可擴展標記語言數(shù)據(jù)進行解析,獲取服務(wù)指標參數(shù);會話層,用于根據(jù)服務(wù)的交互類型發(fā)起會話請求,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至表示層;服務(wù)層,用于將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體進行解析,獲取可擴展標記語言數(shù)據(jù);接口層,用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行服務(wù)版本、路由、請求源和認證鑒權(quán)的封裝操作,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行解析,進行認證鑒權(quán)、請求源、路由和服務(wù)版本的控制操作,獲取SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體;模型映射層,用于將服務(wù)指標參數(shù)組裝成服務(wù)查詢指令;連接層,用于將服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。其中:接口層,還用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名的操作,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名認證和數(shù)據(jù)解密。其中:接口層,還用于將數(shù)據(jù)服務(wù)對外發(fā)布,提供給服務(wù)請求方調(diào)用,并且通過企業(yè)服務(wù)總線控制數(shù)據(jù)服務(wù)的訪問,實現(xiàn)數(shù)據(jù)服務(wù)的集成和統(tǒng)一控制。其中:模型映射層,還用于實現(xiàn)數(shù)據(jù)服務(wù)的數(shù)據(jù)模型與數(shù)據(jù)庫數(shù)據(jù)模型的映射。根據(jù)本發(fā)明實施例,提供了一種數(shù)據(jù)服務(wù)協(xié)議棧。本實施例包括:連接層,用于自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù);模型映射層,用于將服務(wù)數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù);表示層,用于將關(guān)系型數(shù)據(jù)封裝成可擴展標記語言數(shù)據(jù);會話層,用于獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至服務(wù)層;服務(wù)層,用于將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中;
接口層,用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行應(yīng)答結(jié)果、應(yīng)答時間、應(yīng)答編碼和應(yīng)答描述的控制信息的封裝操作。本發(fā)明的數(shù)據(jù)服務(wù)協(xié)議棧,不僅可以實現(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)更加簡單、高效、清晰、靈活和可擴展。本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進行了詳細的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)服務(wù)請求方法,其特征在于,包括: 服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層、會話層、服務(wù)層和接口層將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包; 服務(wù)請求方將封裝后的SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包發(fā)送給服務(wù)提供方,以使服務(wù)提供方將所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析處理后獲得服務(wù)查詢指令,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,服務(wù)提供方將所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后獲得服務(wù)查詢指令,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)的步驟包括: 服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層、服務(wù)層、會話層和表示層對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后獲得所述服務(wù)指標參數(shù); 服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層和連接層根據(jù)所述服務(wù)指標參數(shù)組成服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的步驟包括: 將服務(wù)指標參數(shù)通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層封裝成可擴展標記語言數(shù)據(jù),根據(jù)服務(wù)的交互類型通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層發(fā)起會話請求; 通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中; 通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行服務(wù)版本、路由、請求源和認證鑒權(quán)的封裝操作。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的步驟與將封裝后的SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包發(fā)送給服務(wù)提供方的步驟之間還包括: 通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名的操作。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后獲得所述服務(wù)指標參數(shù)的步驟包括: 通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名認證和數(shù)據(jù)解密; 通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行解析,進行認證鑒權(quán)、請求源、路由和服務(wù)版本的控制操作,獲取SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體;通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體進行解析,獲取所述可擴展標記語言數(shù)據(jù); 通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將所述可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)協(xié)議棧的表示層; 通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層對所述可擴展標記語言數(shù)據(jù)進行解析,獲取服務(wù)指標參數(shù)。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述服務(wù)指標參數(shù)組成服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)的步驟具體包括:通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層將服務(wù)指標參數(shù)組裝成服務(wù)查詢指令; 通過數(shù)據(jù)服務(wù)協(xié)議棧的連接層將所述服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。
7.一種數(shù)據(jù)服務(wù)應(yīng)答方法,其特征在于,包括: 服務(wù)提供方通過數(shù)據(jù)服務(wù)協(xié)議棧的連接層自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù),通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層、表示層、會話層、服務(wù)層和接口層將所述服務(wù)數(shù)據(jù)封裝成SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包; 服務(wù)提供方將封裝后的SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包發(fā)送給服務(wù)請求方,以使服務(wù)請求方通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層、服務(wù)層、會話層和表示層對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析后,獲取所述服務(wù)數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,將服務(wù)數(shù)據(jù)封裝成SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的步驟包括: 將所述服務(wù)數(shù)據(jù)通過數(shù)據(jù)服務(wù)協(xié)議棧的模型映射層轉(zhuǎn)換為關(guān)系型數(shù)據(jù),并將該關(guān)系型數(shù)據(jù)通過數(shù)據(jù)服務(wù)協(xié)議棧的表示層封裝成可擴展標記語言數(shù)據(jù); 通過數(shù)據(jù)服務(wù)協(xié)議棧的會話層,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將所述可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層; 將所述可擴展標記語言數(shù)據(jù)通過數(shù)據(jù)服務(wù)協(xié)議棧的服務(wù)層封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中; 通過數(shù)據(jù)服務(wù)協(xié)議棧的接口層對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行應(yīng)答結(jié)果、應(yīng)答時間、應(yīng)答編碼和應(yīng)答描述的控制信息的封裝操作。
9.一種數(shù)據(jù)服務(wù)協(xié)議棧,其特征在于,包括: 表示層,用于將服務(wù)指標參數(shù)封裝成可擴展標記語言數(shù)據(jù),對可擴展標記語言數(shù)據(jù)進行解析,獲取服務(wù)指標參數(shù); 會話層,用于根據(jù)服務(wù)的交互類型發(fā)起會話請求,獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將所述可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至表示層; 服務(wù)層,用于將可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體進行解析,獲取所述可擴展標記語言數(shù)據(jù); 接口層,用于對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行服務(wù)版本、路由、請求源和認證鑒權(quán)的封裝操作,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行解析,進行認證鑒權(quán)、請求源、路由和服務(wù)版本的控制操作,獲取SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體; 模型映射層,用于將服務(wù)指標參數(shù)組裝成服務(wù)查詢指令; 連接層,用于將所述服務(wù)查詢指令提交到數(shù)據(jù)庫中執(zhí)行,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的協(xié)議棧,其特征在于,還包括: 接口層,還用于對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名的操作,對SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行數(shù)字簽名認證和數(shù)據(jù)解密。
11.根據(jù)權(quán)利要求9所述的協(xié)議棧,其特征在于,還包括: 接口層,還用于將數(shù)據(jù)服務(wù)對外發(fā)布,提供給服務(wù)請求方調(diào)用,并且通過企業(yè)服務(wù)總線控制數(shù)據(jù)服務(wù)的訪問,實現(xiàn)數(shù)據(jù)服務(wù)的集成和統(tǒng)一控制。
12.根據(jù)權(quán)利要求9所述的協(xié)議棧,其特征在于,還包括:模型映射層,還用于實現(xiàn)數(shù)據(jù)服務(wù)的數(shù)據(jù)模型與數(shù)據(jù)庫數(shù)據(jù)模型的映射。
13.一種數(shù)據(jù)服務(wù)協(xié)議棧,其特征在于,包括: 連接層,用于自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù); 模型映射層,用于將所述服務(wù)數(shù)據(jù)轉(zhuǎn)換為關(guān)系型數(shù)據(jù); 表示層,用于將所述關(guān)系型數(shù)據(jù)封裝成可擴展標記語言數(shù)據(jù); 會話層,用于獲知服務(wù)的交互類型,根據(jù)服務(wù)的交互類型將所述可擴展標記語言數(shù)據(jù)轉(zhuǎn)發(fā)至服務(wù)層; 服務(wù)層,用于將所述可擴展標記語言數(shù)據(jù)封裝到SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包體中; 接口層,用于對所述SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包的包頭進行應(yīng)答結(jié)果、應(yīng)答時間、應(yīng)答編碼和應(yīng)答描述的控制信息的封裝`操作。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)服務(wù)請求應(yīng)答方法及數(shù)據(jù)服務(wù)協(xié)議棧,其中,該方法包括服務(wù)請求方將服務(wù)指標參數(shù)封裝到SOAP數(shù)據(jù)包;服務(wù)請求方將封裝后的SOAP數(shù)據(jù)包發(fā)送給服務(wù)提供方,以使服務(wù)提供方將SOAP數(shù)據(jù)包或HTTP數(shù)據(jù)包進行解析處理后獲得服務(wù)查詢指令,自數(shù)據(jù)庫中獲取服務(wù)數(shù)據(jù)。本發(fā)明不僅可以實現(xiàn)應(yīng)用與數(shù)據(jù)的解耦,還可以實現(xiàn)數(shù)據(jù)服務(wù)內(nèi)部的解耦,使數(shù)據(jù)服務(wù)的內(nèi)部實現(xiàn)細節(jié)更加簡單、高效、清晰、靈活和可擴展。
文檔編號H04L29/06GK103117983SQ201110362878
公開日2013年5月22日 申請日期2011年11月16日 優(yōu)先權(quán)日2011年11月16日
發(fā)明者何鴻凌, 陶濤, 梁鍵, 鄭培強, 汪欽堤, 肖萬明, 王敏 申請人:中國移動通信集團公司, 福建新大陸軟件工程有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
名山县| 民和| 麻城市| 什邡市| 礼泉县| 盖州市| 佛坪县| 女性| 当阳市| 明水县| 西乡县| 曲靖市| 信丰县| 班玛县| 兴和县| 梧州市| 迁安市| 定安县| 东平县| 西贡区| 莱州市| 卢龙县| 丹东市| 西乡县| 西吉县| 新蔡县| 札达县| 怀化市| 淮北市| 博爱县| 怀安县| 牟定县| 连州市| 通江县| 子长县| 清水县| 沾益县| 边坝县| 冀州市| 遵义市| 湘潭市|