0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-05-03 10:10 ? 次閱讀

ESB(Enterprise Service Bus,企業(yè)服務總線),提供了消息交互的基礎結(jié)構(gòu),使得消息可以傳輸?shù)綄姆罩腥?。目前大多?shù)的ESB系統(tǒng)都是采用基于內(nèi)容的路由算法,即根據(jù)消息的內(nèi)容把消息路由到正確的服務單元。當有較多服務單元接收消息時,此種算法的工作效率將大幅下降,ESB也會承擔較大的負載,使得整個系統(tǒng)集成的效率降低。常規(guī)的解決方案是把判斷服務單元是否應該接收消息的邏輯分布到各個服務單元上,但此方法增加了維護的負擔。為了保持集中控制,可以在每條消息附帶的列表中指定這個消息所面向的接收者。這樣,當消息被廣播給所有可能的接收者時,不在接收者列表中的各個接收者可以丟掉該消息。

但采用這種方法的缺點是效率低,每個潛在的接收者必須處理每一條消息。并且,如果要求消息不希望被某些接收者看到,采用這種解決方案是不適合的。例如在發(fā)送某些機密消息時,是不希望無關接收者收到消息的。

為了解決上述問題,文中提出了基于接收表的ESB路由算法,可以提高消息交互的效率和消息的保密性。

1 接收表路由算法的分析與設計

在基于接收表的路由算法中,應為每個接收者定義一個通道,可以定義一個規(guī)則庫來檢驗輸入的消息,確定需要該消息的接受者列表,并把消息轉(zhuǎn)發(fā)給與列表中接收者關聯(lián)的所有通道。

1.1 路由設計

在接收表的算法中,接收表路由器主要由接收者計算邏輯和消息分配器兩個部分組成,消息的傳遞過程,如圖1所示。

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

接收者計算邏輯首先對消息進行處理,確定此消息應該發(fā)送到哪些服務中去,計算出接收者列表,進而分配器將消息轉(zhuǎn)發(fā)到服務所對應的通道中去,最后服務接收到此消息。在接收者計算邏輯中,要對消息的內(nèi)容進行分析,并且要結(jié)合服務接收消息的規(guī)則來計算接收者的列表。

接收者計算邏輯應將服務者與其服務地址及服務規(guī)則進行關聯(lián),可以進行如下表示。

Routing:=

(1)ser_id表示服務單元的編號;

(2)ser_name表示服務的名稱;

(3)uri表示服務的地址;

(4){ser_rule}表示該服務單元的規(guī)則集。

ser_rule應將規(guī)則的名稱和該規(guī)則要求的值進行關聯(lián),可以進行如下表示:

ser_rule:=

(1)rule_name表示規(guī)則的名稱;

(2)value表示規(guī)則的對應值。

接收者計算邏輯映射為xml文件的形式,并且將服務的地址和服務單元要求的規(guī)則進行了描述。

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

在上述xml形式的接收者計算邏輯中,以服務單元B為例對規(guī)則庫進行說明?!?/rule>”定義了服務地域的規(guī)則,即只服務北京的客戶,“</rule>”定義了服務客戶類型的規(guī)則,即只服務于企業(yè),“</rule>”定義了服務項貸款的最大金額,其值為5 000萬元。

獲取接收者列表的算法,可以進行如下描述:S為服務單元的集合,Si為的某個服務單元。ri為服務單元i的規(guī)則集,rij為服務單元i的某條規(guī)則,servicerList為接受者列表,在初始化時加載所有的服務單元(1≤i≤n,1≤j≤m,n為節(jié)點的個數(shù),m為某個服務節(jié)點的規(guī)則的個數(shù))。

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

//如果不能滿足此服務單元的路由規(guī)則,則接收者列表中刪除此服務單元。

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

1.2 動態(tài)化

為了使服務能夠動態(tài)的調(diào)整自己的服務對象,提高整個系統(tǒng)集成的靈活性。將路由規(guī)則分布到各個服務來控制,是一種理想的解決方案。通過接收表的動態(tài)化,整個系統(tǒng)的實時性也有進一步的提高。例如,服務單元N以前只能處理貸款金額<1 000萬元的服務請求,而服務單元N進行系統(tǒng)升級后,可以處理貸款金額<1億元的服務請求,此時應該對接收表中規(guī)則庫做相應的調(diào)整。為了實現(xiàn)這種功能,應在服務節(jié)點和接收表之間建立控制信息傳輸通道,使得服務節(jié)點能把自己處理消息的要求發(fā)送給接收表,并存儲到其規(guī)則庫中,其流程如圖2所示。

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

接口程序是由ESB路由器提供,服務單元只需調(diào)用ESB的(修改xml路由文件)服務接口,實現(xiàn)對接收表計算邏輯的修改。

接口設計:

class ServiceOperation

{

CreateServicer(Servicel s);//創(chuàng)建服務

UpdateServicer(Serricer s);//更新服務包括服務名,路徑的修改

RemoveServicer(String ServicerID);//根據(jù)服務的ID刪除對應服務在路由器中的信息

CreateServicerRule(String ServicerID,StringruleName,String rule Value);

//根據(jù)服務的ID,創(chuàng)建該服務新的規(guī)則

UpdateServicerRule(String ServicerID,StringruleName,String ruleValue);

//根據(jù)服務的ID和規(guī)則的名稱,更新規(guī)則的值

RemoveServicerRule(String ServicerID,StringruleName);

//根據(jù)服務的ID和規(guī)則的名稱,刪除該規(guī)則

}

此接口應以Web服務的方式暴露給與ESB集成的服務單元,使其可以調(diào)用接口中的方法來實時改變服務單元的服務。

1.3 事務處理

接收表在進行消息傳遞時,應使用事務性通道,把消息放置到輸出通道中屬于同一個事務的一部分。

為了保證事務,接收表路由器在發(fā)送消息m到服務單元后,服務單元應向接收表路由器發(fā)送ack消息。當接收表接收到所有應接收到消息m的服務單元返回的ack消息后,接收表路由器向服務單元發(fā)送commit消息,服務單元接收到commit消息后,才真正接收消息m。這樣就保證所有消息要么全部發(fā)送,要么都不發(fā)送,從而避免了有的服務單元得到消息而有的服務單元沒有得到消息的情況的發(fā)生,保證了整個系統(tǒng)的一致性。

1. 4 服務單元失效處理策略

以在應用ESB集成的系統(tǒng)環(huán)境中,服務單元可能會發(fā)生故障。為提高系統(tǒng)的可用性,采用以下服務單元失效處理策略。

每個服務單元定時向ESB的接受表路由器發(fā)送消息available告知服務處于活動狀態(tài)。每個服務單元保存ESB所集成的所有服務單元的信息表。該列表同時記錄最后一次收到各個節(jié)點available消息的時間。

當ESB的接受表路由器長時間收不到服務單元Ⅳ的available消息,則認為服務單元Ⅳ失效,接受表路由器刪除本地全局路由表中有關該服務單元的路由信息及其規(guī)則庫。

2 接收表的工作效率

與ESB集成的服務單元中,如果只有較少數(shù)量的服務單元接收消息,則基于內(nèi)容的路由算法,有一定的速度優(yōu)勢,但當有大多數(shù)服務單元接收消息的情況下,由于接收表同時向多個服務單元發(fā)送消息,則接收表路由算法的效率會更高。

在基于內(nèi)容的路由算法中,消息傳遞到服務單元的期望時間與接收此消息的服務單元的數(shù)理呈現(xiàn)線性增長(t=kn,t為從發(fā)送消息到所有消息都被服務單元接收所用的時間,n為服務單元的個數(shù),k為系數(shù))的關系。而應用接收表的算法中,消息傳遞到服務單元的期望時間與接收此消息的服務單元的數(shù)理呈現(xiàn)近似二次曲線(t2=kn)的關系。兩種路由算法的效率比較情況,如圖3所示。

針對效率和安全性的基于接收表ESB系統(tǒng)的解決方案

3 結(jié)束語

文中研究并設計了基于接收表的ESB路由算法,并對路由算法的效率、動態(tài)化、事務處理和失效處理等關鍵問題進行了分析。基于接收表的路由算法提高了消息交互的效率,并且保證了消息的安全性和實時性,是利用ESB進行系統(tǒng)集成的解決方案之一。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算
    +關注

    關注

    2

    文章

    450

    瀏覽量

    38820
  • 分配器
    +關注

    關注

    0

    文章

    194

    瀏覽量

    25763
收藏 人收藏

    評論

    相關推薦

    如何保證汽車遠程信息系統(tǒng)安全性

    如何保證汽車遠程信息系統(tǒng)安全性        
    發(fā)表于 08-28 12:38

    數(shù)字電視條件接收系統(tǒng)安全性分析

    【作者】:陳翔;【來源】:《電視技術》2010年02期【摘要】:介紹了目前流行的數(shù)字電視條件接收系統(tǒng)(CAS)的基本加密原理,并對其安全性進行了詳細分析,討論了智能卡攻擊、控制字共享等安全
    發(fā)表于 04-23 11:19

    ADI和Freescale兼?zhèn)?b class='flag-5'>安全、性能和成本的智能電網(wǎng)解決方案

    和降低系統(tǒng)成本。Freescale新一代 Kinetis 無線解決方案在 ZigBee? 平臺上提供高性能及安全性,設計者可以根據(jù)他們的特定應用來優(yōu)化解決方案。
    發(fā)表于 12-12 16:35

    邊緣智能的邊緣節(jié)點安全性

    聯(lián)網(wǎng)設備的安全要求必須考慮安全失效的代價、攻擊的可能、主要攻擊途徑以及實施安全解決方案的成本。結(jié)語上述許多建議彼此沖突,且與
    發(fā)表于 10-22 16:52

    針對電機控制最新網(wǎng)絡化解決方案

    同步。ADI解決方案的價值主張針對電機控制系統(tǒng),工業(yè)系統(tǒng)設計要求是低功耗、高效率,ADI提供單個的器件以及完整的產(chǎn)品信號鏈可以加快
    發(fā)表于 10-26 11:37

    市場增長動力主要在于提高能源效率安全性的需要

    )、燃油/水泵和高能效交流發(fā)電機等也具備巨大的改進潛力。相關人士預計,通過改進這些組件,可使汽車燃油效率提升10%。英飛凌可為所有這些應用提供半導體解決方案。依靠電子器件提高汽車的安全性除有助于提高
    發(fā)表于 12-10 10:10

    如何支持物聯(lián)網(wǎng)安全性和低功耗要求設計

    戶世界中無縫工作的方式找到解決這些挑戰(zhàn)的解決方案。這種對隱形強健安全性的要求不再是一種選擇。如果產(chǎn)品中的安全漏洞破壞用戶數(shù)據(jù)完整或損壞設備本身,任何公司都無法承擔收入或聲譽的損害。用
    發(fā)表于 12-26 16:30

    怎么提高SRAM工藝FPGA的設計安全性?

    設計電路的克隆。為了保護設計者的知識產(chǎn)權(quán)以及推動SRAM工藝FPGA更大規(guī)模的應用,產(chǎn)業(yè)界和學術界從加密算法的角度對SRAM工藝FPGA的設計安全性提出了多種解決方案[1~2]。
    發(fā)表于 08-23 06:45

    如何最大限度地提升自助服務設備的安全性?

    門禁可讓自助服務機柜的擁有者或管理者輕松實現(xiàn)監(jiān)控和控制,從門鎖的電子及狀態(tài)到可能被篡改的數(shù)據(jù)、阻塞情況以及閉門狀態(tài)等。整合優(yōu)質(zhì)的電子門禁解決方案不僅可提高安全性,還能增強機柜功能,并優(yōu)化整機外觀,使客戶享受到極具吸引力的用戶界面。
    發(fā)表于 09-24 06:10

    如何提升嵌入式系統(tǒng)的VxWorks安全性?

    實時嵌入式系統(tǒng)與網(wǎng)絡的結(jié)合以及高可信覆蓋網(wǎng)絡的發(fā)展使得嵌入式實時操作系統(tǒng)安全性問題日益突出。提高實時嵌入式系統(tǒng)安全性和可靠
    發(fā)表于 10-30 06:03

    求一種高安全性RKE系統(tǒng)的實現(xiàn)方案

    本設計提出一種高安全性RKE系統(tǒng)的實現(xiàn)方案,詳細介紹了系統(tǒng)的硬件原理電路、軟件流程設計以及實現(xiàn)編碼解碼的原理。
    發(fā)表于 05-14 06:19

    數(shù)據(jù)庫安全性概述

    三、視圖機制四、審計(Audit)五、數(shù)據(jù)加密六、其他安全性保護數(shù)據(jù)庫的一大特點是數(shù)據(jù)共享數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享數(shù)據(jù)庫的安全性:保護
    發(fā)表于 07-30 06:42

    如何提高電動汽車的效率安全性?

    如何提高電動汽車的效率安全性
    發(fā)表于 11-09 07:51

    云端ESB系統(tǒng)安全研究與設計_李蕓

    云端ESB系統(tǒng)安全研究與設計_李蕓
    發(fā)表于 03-20 09:20 ?0次下載

    簽密方案安全性分析

    對六個簽密方案進行了安全性分析,指出它們都存在保密安全問題,其中兩個方案還存在不可偽造
    發(fā)表于 11-24 11:03 ?2次下載