關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于接收表的ESB研究與設計

        基于接收表的ESB研究與設計

        作者: 時間:2009-12-16 來源:網絡 收藏

        (Enterprise Service Bus,企業服務總線),提供了消息交互的基礎結構,使得消息可以傳輸到對應的服務中去。目前大多數的系統都是采用基于內容的路由算法,即根據消息的內容把消息路由到正確的服務單元。當有較多服務單元接收消息時,此種算法的工作效率將大幅下降,也會承擔較大的負載,使得整個系統集成的效率降低。常規的解決方案是把判斷服務單元是否應該接收消息的邏輯分布到各個服務單元上,但此方法增加了維護的負擔。為了保持集中控制,可以在每條消息附帶的列表中指定這個消息所面向的接收者。這樣,當消息被廣播給所有可能的接收者時,不在接收者列表中的各個接收者可以丟掉該消息。
        但采用這種方法的缺點是效率低,每個潛在的接收者必須處理每一條消息。并且,如果要求消息不希望被某些接收者看到,采用這種解決方案是不適合的。例如在發送某些機密消息時,是不希望無關接收者收到消息的。
        為了解決上述問題,文中提出了基于接收表的ESB路由算法,可以提高消息交互的效率和消息的保密性。

        本文引用地址:http://www.104case.com/article/202595.htm


        1 接收表路由算法的分析與設計
        在基于接收表的路由算法中,應為每個接收者定義一個通道,可以定義一個規則庫來檢驗輸入的消息,確定需要該消息的接受者列表,并把消息轉發給與列表中接收者關聯的所有通道。
        1.1 路由設計
        在接收表的算法中,接收表路由器主要由接收者計算邏輯和消息分配器兩個部分組成,消息的傳遞過程,如圖1所示。

        接收者計算邏輯首先對消息進行處理,確定此消息應該發送到哪些服務中去,計算出接收者列表,進而分配器將消息轉發到服務所對應的通道中去,最后服務接收到此消息。在接收者計算邏輯中,要對消息的內容進行分析,并且要結合服務接收消息的規則來計算接收者的列表。
        接收者計算邏輯應將服務者與其服務地址及服務規則進行關聯,可以進行如下表示。
        Routing:=ser_id,ser_name,uri,{ser_rule}>
        (1)ser_id表示服務單元的編號;
        (2)ser_name表示服務的名稱;
        (3)uri表示服務的地址;
        (4){ser_rule}表示該服務單元的規則集。
        ser_rule應將規則的名稱和該規則要求的值進行關聯,可以進行如下表示:
        ser_rule:=rule_name,value>
        (1)rule_name表示規則的名稱;
        (2)value表示規則的對應值。
        接收者計算邏輯映射為xml文件的形式,并且將服務的地址和服務單元要求的規則進行了描述。


        上一頁 1 2 3 下一頁

        關鍵詞: ESB

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安丘市| 丰宁| 福州市| 山东省| 永康市| 抚宁县| 柳江县| 太湖县| 周口市| 商丘市| 南木林县| 巴南区| 营山县| 洞头县| 五常市| 牡丹江市| 建湖县| 铜梁县| 九江县| 尚志市| 若尔盖县| 大庆市| 读书| 且末县| 吴桥县| 盐亭县| 龙南县| 房产| 梨树县| 西乌| 丹巴县| 乌兰县| 和平县| 博罗县| 西藏| 合阳县| 凤冈县| 乌拉特前旗| 木兰县| 昔阳县| 白水县|