国产精品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>

      一種分布式服務端框架及其使用、交互、請求處理方法

      文檔序號:7554165閱讀:352來源:國知局
      專利名稱:一種分布式服務端框架及其使用、交互、請求處理方法
      技術領域
      本發(fā)明涉及服務端技術領域,特別涉及互聯(lián)網(wǎng)絡服務體系結(jié)構(gòu)的一種基于消息隊列的分布式服務端框架。
      背景技術
      在傳統(tǒng)的服務端中,往往都是為前臺客戶端與存儲接口所量身定制的。因此,該類服務端的通用性、可擴展性都比較差,而且維護的成本比較高。一旦出現(xiàn)新的需求與服務,就要花費不少的時間去維護與修改原來的代碼?,F(xiàn)在,需求的快速變更以及服務的多元化越來越普遍。原來傳統(tǒng)單一的服務端已經(jīng)難以滿足社會的需求了。相反,通用的高擴展性松耦合結(jié)構(gòu)的服務端將會逐漸成為服務端技術領域的主流。解決前述技術問題最有效的方法就是設計一種通用的服務端框架,取消服務端對前臺客戶端和存儲接口的依賴關系,把它從中脫離出來。1C (Inversion of Control),直觀地講,就是容器控制程序之間的關系,而非傳統(tǒng)實現(xiàn)中,由程序代碼直接操控。這也就是所謂“控制反轉(zhuǎn)”的概念所在。1C還有另外一
      個名字D1- “依賴注入(Dependency Injection)”。相對1C而言,“依賴注入”更加準
      確地描述了 1C的設計理念。所謂依賴注入,即組件之間的依賴關系由容器在運行期決定,形象地說,即由容器動態(tài)地將某種依賴關系注入到組件之中。從本質(zhì)上來說,1C和DI都是將組件和組件的之間的關系的依賴由原來的依賴“目標組件”改變?yōu)楝F(xiàn)在的依賴于“容器”。AOP (Aspect-Oriented Programming),面向切面編程,當前已經(jīng)成為一種比較成熟的編程技術,可以用來很好地解決應用系統(tǒng)中分布于各個模塊的交叉關注點問題。換句話說,就是可以通過預編譯方式和運行期動態(tài)代理實現(xiàn)在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術。其機理來自于代理模式,目的就是讓對象與對象(模塊與模塊)之間的關系沒有通過代碼來關聯(lián),都是通過配置類說明管理的。在控制反轉(zhuǎn)和面向切面編程技術的使用上,Spring框架無疑是最典型的成功例子,用于管理對象。

      發(fā)明內(nèi)容
      本發(fā)明解決的技術問題之一在于針對服務端組件的可移植性和可重用度低,靈活性和可擴展性不足的問題,提供一種松耦合通用的分布式服務端框架。實現(xiàn)對客戶端請求和存儲服務進行動態(tài)綁定、邏輯組件和通用服務組件的分離,從而大大提高該框架的靈活性、移植性和可擴展性。本發(fā)明解決的技術問題之二在于提供一種實現(xiàn)松耦合通用的分布式服務端框架的使用方法。本發(fā)明解決的技術問題之三在于提供一種實現(xiàn)松耦合通用的分布式服務端框架與其他應用和服務之間的交互模式方法。本發(fā)明解決的技術問題之四在于提供一種實現(xiàn)松耦合通用的分布式服務端框架內(nèi)部請求處理方法。本發(fā)明解決上技術問題之一的技術方案是:所述的框架由動態(tài)依賴綁定、消息處理、過程調(diào)用構(gòu)成;所述的動態(tài)依賴綁定,包括配置信息類以及依賴綁定類;通過依賴注入將操作請求者、參數(shù)的定位信息、響應定位信息、服務提供者四個元素動態(tài)地聯(lián)系起來,形成一個新的整體;所述的消息處理,包括過程調(diào)用前的消息解析以及過程調(diào)用后的響應封裝兩個模塊,該兩模塊作為應用邏輯組件被分離出來,根據(jù)動態(tài)依賴綁定提供的依賴關系統(tǒng)一進行消息處理;所述的過程調(diào)用,主要涉及代理模式、單態(tài)模式和反射調(diào)用;代理模式分別是通用接口、代理、真實對象,代理、真實對象實現(xiàn)同一接口,將真實對象作為代理的一個屬性,向客戶端公開代理;當客戶端調(diào)用代理時,代理結(jié)合反射調(diào)用,調(diào)用真實對象方法,在調(diào)用之如之后提供相關的服務。本發(fā)明解決上技術問題之二的技術方案是:將請求操作與服務方法之間的依賴關系以及參數(shù)的定位信息都寫入到框架的配置信息之后,服務端就以請求消息為參數(shù)調(diào)用框架的消息處理部分的消息解析模塊,返回解析結(jié)果;服務端以解析結(jié)果為參數(shù)調(diào)用框架的過程調(diào)用部分,反射調(diào)用相應的服務方法,返回調(diào)用結(jié)果;服務端以調(diào)用結(jié)果為參數(shù)調(diào)用框架的消息處理部分的響應封裝模塊,返回響應結(jié)果;框架的每一個部分都會自動讀取配置信息,從而作出正確的處理。本發(fā)明解決上技術問題之三的技術方案是:采用異步消息的松耦合交互模式;客戶端需要調(diào)用服務時,向消息中心發(fā)送操作消息,消息訂閱客戶端從隊列中獲取消息,消息訂閱客戶端通過調(diào)用本框架的接口實現(xiàn)消息解析、過程調(diào)用和響應封裝這三個步驟,最后將框架中所返回的響應發(fā)送回消息中心。本發(fā)明解決上技術問題之四的技術方案是:請求消息先經(jīng)過消息處理部分的消息解析模塊進行解析,解析過后交給過程調(diào)用部分來調(diào)用相應服務接口,再將調(diào)用結(jié)果交給消息處理部分的響應封裝模塊,把結(jié)果封裝成請求所想要得到的形式,最后返回封裝過后的響應結(jié)果;另外,由動態(tài)依賴綁定部分向其他兩個部分提供依賴關系配置信息。本發(fā)明基于通用服務端消息調(diào)用框架的思路,將服務端從傳統(tǒng)一一對應的模式中脫離出來,成為一種輕量型通用的松耦合結(jié)構(gòu)的編程框架。該框架提供一種“消息處理和過程調(diào)用”的技術,以一種通用的方式對不同類型的操作消息進行統(tǒng)一的消息處理和過程調(diào)用。并且能夠動態(tài)的修改請求與服務之間的依賴關系,使服務端能夠迅速響應不同的需求變更。在架構(gòu)方面,提高了組件的可移植性和可重用度,因為依賴注入機制減輕了組件之間的依賴關系;在實現(xiàn)方面,能夠更簡潔的編程實現(xiàn)。本發(fā)明的框架不僅可以管理對象,還可以用來做消息解析、執(zhí)行分布式過程調(diào)用等工作,屬于一個分布式的編程框架。本發(fā)明本框架和方法的主要特點是:解耦,主要有兩個形式的體現(xiàn):第一個體現(xiàn)是:框架中的各個部分之間,包括框架的核心類代碼之間和框架與所在的框架平臺之間,盡量形成一種松耦合的結(jié)構(gòu),使得框架有更多的靈活性,從而達到如果替換某個層而不影響整體架構(gòu)。第二個體現(xiàn)是:框架與其所在的上層應用系統(tǒng)的解耦。
      在實現(xiàn)這兩種形式的體現(xiàn)方面,框架內(nèi)部的類之間的解耦主要通過控制反轉(zhuǎn)的技術來實現(xiàn),框架與上層應用系統(tǒng)的解耦借助面向切面的技術來實現(xiàn)。本框架通過“動態(tài)依賴綁定”這個部分的配置來對一個個切面進行定義,至于“消息處理”部分就屬于面向切片編程中的增強,他定義了切面了中的實際邏輯,比如消息解析和響應封裝的實際代碼。最后在“過程調(diào)用”部分,通過代理來執(zhí)行切面邏輯,其中代理是指實際業(yè)務對象的代理對象。


      下面結(jié)合附圖對本發(fā)明進一步說明:圖1是本發(fā)明框架總體結(jié)構(gòu)圖;圖2是本發(fā)明框架與其他應用和服務之間的交互方法框圖;圖3是本發(fā)明框架內(nèi)部請求執(zhí)行的數(shù)據(jù)流程框圖。
      具體實施例方式見圖1所示,表示了本框架的總體結(jié)構(gòu)圖,通用消息處理和過程調(diào)用框架由動態(tài)依賴綁定、消息處理、過程調(diào)用這三個部分構(gòu)成。其中動態(tài)依賴綁定包括配置信息類以及依賴綁定類;消息處理包括消息解析和響應封裝。另外,本框架與其他組件共同構(gòu)成一個消息訂閱客戶端。本框架進行設計和開發(fā)時遵循的以下3條基本原則:1.在代碼中不直接創(chuàng)建目標對象,但是描述創(chuàng)建它們的方式。2.在代碼中不直接與服務對象連接,但使用配置數(shù)據(jù)來描述哪一個組件需要哪一項服務。3.程序在運行時,由容器負責將這些對象關聯(lián)在一起。動態(tài)依賴綁定:該部分通過依賴注入將操作請求者、參數(shù)的定位信息、響應定位信息、服務提供者這四個元素動態(tài)地聯(lián)系起來,形成一個新的整體。因為依賴注入機制減輕了組件之間的依賴關系,這也是J2EE平臺倡導“松藕合”的系統(tǒng)開發(fā)要求。這樣將能夠大大地減少對象的請求者對服務提供者的特定實現(xiàn)邏輯的依賴,因為我們已經(jīng)將依賴的具體“定位信息”從請求者中分離出來。有關示例說明如下表所示:
      權利要求
      1.一種基于消息隊列的分布式服務端框架,其特征在于:所述的框架由動態(tài)依賴綁定、消息處理、過程調(diào)用構(gòu)成; 所述的動態(tài)依賴綁定,包括配置信息類以及依賴綁定類;通過依賴注入將操作請求者、參數(shù)的定位信息、響應定位信息、服務提供者四個元素動態(tài)地聯(lián)系起來,形成一個新的整體; 所述的消息處理,包括過程調(diào)用前的消息解析以及過程調(diào)用后的響應封裝兩個模塊,該兩模塊作為應用邏輯組件被分離出來,根據(jù)動態(tài)依賴綁定提供的依賴關系統(tǒng)一進行消息處理; 所述的過程調(diào)用,主要涉及代理模式、單態(tài)模式和反射調(diào)用;代理模式分別是通用接口、代理、真實對象,代理、真實對象實現(xiàn)同一接口,將真實對象作為代理的一個屬性,向客戶端公開代理;當客戶端調(diào)用代理時,代理結(jié)合反射調(diào)用,調(diào)用真實對象方法,在調(diào)用之前之后提供相關的服務。
      2.權利要求1所述的框架的使用方法,其特征在于:將請求操作與服務方法之間的依賴關系以及參數(shù)的定位信息都寫入到框架的配置信息之后,服務端就以請求消息為參數(shù)調(diào)用框架的消息處理部分的消息解析模塊,返回解析結(jié)果;服務端以解析結(jié)果為參數(shù)調(diào)用框架的過程調(diào)用部分,反射調(diào)用相應的服務方法,返回調(diào)用結(jié)果;服務端以調(diào)用結(jié)果為參數(shù)調(diào)用框架的消息處理部分的響應封裝模塊,返回響應結(jié)果;框架的每一個部分都會自動讀取配置信息,從而作出正確的處理。
      3.權利要求1所述的框架與其他應用和服務之間的交互方法,其特征在于:采用異步消息的松耦合交互模式;客戶端需要調(diào)用服務時,向消息中心發(fā)送操作消息,消息訂閱客戶端從隊列中獲取消息,消息訂閱客戶端通過調(diào)用本框架的接口實現(xiàn)消息解析、過程調(diào)用和響應封裝這三個步驟,最后將框架中所返回的響應發(fā)送回消息中心。
      4.權利要求1所述的框架的請求處理方法,其特征在于:請求消息先經(jīng)過消息處理部分的消息解析模塊進行解析,解析過后交給過程調(diào)用部分來調(diào)用相應服務接口,再將調(diào)用結(jié)果交給消息處理部分的響應封裝模塊,把結(jié)果封裝成請求所想要得到的形式,最后返回封裝過后的響應結(jié)果;另外,由動態(tài)依賴綁定部分向其他兩個部分提供依賴關系配置信息。
      全文摘要
      本發(fā)明涉及服務端技術領域,特別涉及互聯(lián)網(wǎng)絡服務體系結(jié)構(gòu)的一種基于消息隊列的分布式服務端框架。本發(fā)明利用控制反轉(zhuǎn),實現(xiàn)對客戶端請求和存儲服務進行動態(tài)綁定;另一方面,利用面向切片編程,實現(xiàn)應用邏輯組件和通用服務組件的分離,從而大大提高該框架的靈活性、移植性和可擴展性。本發(fā)明解決了現(xiàn)有服務端為前臺客戶端與存儲接口所量身定制,通用性、可擴展性都比較差的問題;可以用于服務端架構(gòu)中。
      文檔編號H04L29/08GK103152433SQ201310101140
      公開日2013年6月12日 申請日期2013年3月26日 優(yōu)先權日2013年1月14日
      發(fā)明者謝毅, 肖翱, 吳冠權, 岳強 申請人:廣東電子工業(yè)研究院有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1