新四季網

一種用於集成環境的多層軟體總線結構的製作方法

2023-05-09 00:12:16 3

一種用於集成環境的多層軟體總線結構的製作方法
【專利摘要】一種用於集成環境的多層軟體總線結構,所述結構包括多層總線和插件;多層總線由若干處於不同層次的總線組成,這些總線按照樹的拓撲結構組織在一起:最底層有且只有一條總線,稱為全局總線,其他各層次的總線都稱為局部總線,以全局總線為樹根,形成多層的樹狀結構;插件是集成環境中被集成的軟體的封裝,以服務的形式將被集成軟體的功能加入集成環境中。本發明所提出的多層總線結構實現了總線協議的可擴展性,能夠通過增加新的局部總線,對總線協議進行擴展,以針對新類型工具進行更加高效、緊密的集成。
【專利說明】一種用於集成環境的多層軟體總線結構
【技術領域】
[0001]本發明涉及一種軟體體系結構,該體系結構採用了多層總線的設計,底層的總線為插件集成提供基本的動態加載、數據訪問支持,上層的總線則針對特定類型的插件提供相應的數據類型支持和運行控制支持。這一體系結構,既能夠保證工具集成系統的可擴展性,又簡化了系統實現的難度,有效地解決了各類軟體工具的集成問題。
【背景技術】
[0002]計算機軟體工具已被廣泛應用於各種產品研製流程中,一個產品研製流程中往往可能使用若干不同的軟體工具,這些工具之間的數據和控制交互需要人工完成,這引入了較大的工作量和潛在的質量問題,因此有必要將這些工具進行集成,實現自動化的工具間數據和控制交互。軟體總線技術是一種被廣泛使用的工具集成技術,不同的工具按照統一的規範連接到同一軟體總線上,實現數據的統一管理和工具的自動調用,提高產品研製的效率。
[0003]然而,在產品研製流程中使用的軟體可能來源不同、功能不同、操作方式不同、所使用的數據抽象層次和描述方式不同,定義統一的總線規範來對這些不同的工具進行統一的操作,並對工具的輸入輸出數據進行統一的描述,是非常困難的。為解決這一問題,本發明提出了一種多層總線的結構,底層總線提供基本的工具集成支持,上層總線則針對不同類型的工具提供專門的支持,通過這種方式解決上述問題。
[0004]目前工業界已發布並實現了若干用於軟體工具集成的軟體總線,例如IBM的Websphere、Oracle的Oracle Service Bus,其目的主要是將各自企業提供的軟體以Web服務的形式開放,以便企業自身開發人員以及第三方開發人員能夠方便的使用企業提供的軟體功能,構建、定製客戶所需的系統。這些軟體總線具有一定的可擴展性,通過統一的協議將不同工具集成在一起。但這些軟體總線都是基於Web服務的,工具間的通信效率較低,適用於分布式的工具集成,而不適用於軟體開發平臺、建模平臺、圖形處理平臺這類對響應速度和數據傳輸速度要求較高的情境;這些總線只支持工具的擴展,而不支持協議的擴展,而為了能夠支持不同種類工具的擴展,制定了複雜的通信協議(或互操作規範),也使得開發人員的學習成本較高。
[0005]另一類廣泛應用的工具集成技術是插件技術。插件是實現原系統平臺不具備的功能的程序,其只能運行在程序規定的系統平臺下,而不能脫離指定的平臺單獨運行,因為插件需要調用原系統提供的函數庫或者數據。在各種開源或商業軟體中,如開源的Eclipse項目、微軟的Visual Studio、IBM的Rational DOORS等系統中,都應用了插件技術,以便用戶能夠根據需要對原系統進行擴展和定製。本質上,插件所依賴的系統平臺即作為軟體總線,插件要按照系統平臺的要求進行開發,調用系統平臺提供的接口訪問相關資源,對功能進行擴展。插件技術多用於單機運行的軟體,工具調用效率和數據傳輸速度比較高。但這種方式不便於被集成工具間的通信,同時,也無法實現總線協議的擴展,因而所支持的工具種類受到了限制。[0006]本發明提出的多層總線結構以全局總線作為基礎,支持工具的擴展和總線的擴展,利用不同層次的局部總線實現對不同類型工具的高效集成。

【發明內容】

[0007]本發明解決的問題是:克服現有技術的不足,提供一種可擴展的、適用於對功能不同、所使用數據不同的工具進行集成的多層總線結構,以全局總線作為基礎,支持工具的擴展和總線的擴展,利用不同層次的局部總線實現對不同類型工具的高效集成。
[0008]本發明解決方案,該體系結構採用了多層總線的設計,底層的總線為插件提供基本的動態加載、數據訪問支持,上層的總線則針對特定類型的插件提供相應的數據類型支持和運行控制支持。這一體系結構,既能夠保證工具集成系統的可擴展性,又簡化了系統實現的難度,有效地解決了各類軟體工具的集成問題。
[0009]為達到上述目的,本發明的技術方案如下。
[0010]1.多層總線與插件的組織方式
[0011]多層總線是一種新型的軟體總線,由若干處於不同層次的總線組成,這些總線按照樹的拓撲結構組織在一起:最底層有且只有一條總線,稱為全局總線,其他各層次的總線都稱為局部總線,以全局總線為樹根,形成多層的樹狀結構。每一條總線上都可以直接連接多條局部總線,稱為該總線的子總線;每條局部總線有且只有一條與其直接連接的下層總線,稱為該總線的父總線。全局總線為所有類型的插件的集成和互操作提供基本的支持。而每一條局部總線針對一類插件的集成和互操作提供有針對性的支持以提高插件集成和互操作的效率。上一層總線所支持的插件的集和為其父總線所支持插件的子集,因此,子總線是其父總線的具體化。
[0012]全局總線與其子總線直接連接;局部總線與其父總線和子總線直接連接。總線之間通過上述連接進行數據傳遞和功能調用。
[0013]全局總線提供基本數據類型和基本操作類型的定義,以這些基本數據類型和基本操作類型為參數,實現插件間的數據傳遞或功能調用;全局總線還規定插件所必須實現的基本接口,通過這些接口,全局總線能夠按照基本操作的定義來調用插件的功能,或實現與插件的數據傳遞。
[0014]局部總線則根據一類插件的具體功能和輸入輸出數據,定義這類插件公用的擴展數據類型和擴展操作類型;並提供局部總線編程接口,以這些擴展數據類型和擴展操作類型為參數,實現該類插件間較高效的功能調用和數據傳遞;此外,局部總線還規定連接局部總線的插件應實現的擴展接口,通過這些擴展接口,局部總線能夠按照擴展操作的定義來調用插件的功能,或實現與插件的數據傳遞。
[0015]全局總線定義的基本數據類型和基本操作類型適用於描述所有類型插件的輸入輸出數據和操作,而所有局部總線所定義的擴展數據類型和擴展操作類型是基本數據類型和基本操作類型的子類,是對基本數據類型和基本操作類型的具體化,描述了一類數據或操作更多的語法和語義信息;同樣,局部總線中子總線所定義的擴展數據類型和擴展操作類型也是其父總線所定義類型的子類,比父總線定義的類型描述更具體的語法和語義信肩、O
[0016]插件是集成環境中被集成的軟體的封裝,以服務的形式將被集成軟體的功能加入集成環境中。一個插件提供一個或多個功能,每個功能對應插件所封裝的被集成軟體的一個功能。各插件都連接在多層總線上,通過多層總線進行插件間的數據傳遞和功能調用,並獲得集成環境提供的服務。
[0017]而插件與多層總線的連接具體是插件與多層總線中的某一條總線的連接實現的,該總線稱為插件的「直連總線」;反之,稱插件是其直連總線的「直連插件」。一般來說,插件應連接在與其類型匹配的最上層總線上,從而充分利用多層總線提供的針對該類型插件的支持。無任何局部總線支持的插件類型,可以直接連接在全局總線上。
[0018]插件與其直連總線間可以直接進行數據傳遞和功能調用,並通過其直連總線與其他總線、插件進行間接的數據傳遞和功能調用。
[0019]全局總線只能以基本數據類型和基本操作類型作為參數,實現兩個插件間的功能調用或數據傳遞時,兩個插件必須進行一對一的參數數據解析;局部總線根據工具的輸入輸出類型定義更豐富的數據類型和操作類型,並直接按照這些數據類型和操作類型進行參數的傳遞;此外,局部總線還能夠定義更豐富的插件功能調用方式,便於實現插件間的緊密集成。
[0020]2.插件信息的收集
[0021]一個插件提供一個或多個服務,作為供其他總線或插件調用的基本單位。在一個總線上,所有插件都具有一個唯一標識;一個插件上,所有服務具有一個唯一標識。同時,每個總線也具有一個全局的唯一標識。通過這些標識,可以對插件、服務進行查找。
[0022]在系統初始化時,全局總線和各局部總線各自掃描系統中存在的插件,根據插件的接口信息,識別直連插件,形成各自的直連插件列表和服務列表。
[0023]之後,從頂層總線開始,各層次總線將獲取子總線上連接的插件,形成總線上面直接或間接連接的所有總線的列表。
[0024]3.插件間的調用
[0025]當一個插件要調用其他插件的功能時,需要向其直連總線發送調用請求。發送調用請求是通過調用插件調用請求接口實現的,所有總線都提供格式相同的插件調用請求接口。直連總線首先從直連插件列表中查找對應的插件。若找到,則加載並調用該插件;若未找到,則向上一層總線發送操作請求,由上一層總線接手插件的查找和調用的任務;如此反覆,直到找到插件並調用成功。
[0026]從另一角度,當總線接收到插件調用請求並確定該插件直接或間接連接在自身時,首先查看插件是否在自身的直連插件列表中:若在,則直接調用;若不在,則向對應的子總線發送插件調用請求,再由子總線處理,直到找到插件的直連總線,由其實現對插件的調用。
[0027]當一個插件調用請求從上層總線轉發到下層總線時,上層總線要按照下層總線的數據格式對調用請求附帶的參數進行封裝,再進行發送。例如,全局總線上只定義了字符串和文件路徑兩種數據格式,如果全局總線上一層的局部總線要想全局總線轉發調用請求,必須將請求附帶的參數轉換成字符串或者保存為文件,再將字符串或文件路徑作為調用參數轉發給全局總線。
[0028]而當一個插件調用連接到統一總線上的插件時,則無需上述轉換。
[0029]反之,當一個通信請求從下層總線轉發到其子總線時,子總線需要對通信請求附帶的數據進行解包,通過文本解析、反射技術,將下層總線傳來的基本數據類型的數據轉換為子總線定義的更具體的擴展數據類型,從而便於進行後續處理。
[0030]圖2描述了兩個插件間調用的過程。圖中插件A與插件B都連接在局部總線X上,而插件C連接在局部總線Y上。局部總線X、局部總線Y都連接在全局總線上。插件A要調用插件B的服務BI時,首先向局部總線X發送調用請求,局部總線X在直連插件列表中找到插件B,並直接調用插件B的服務BI。而插件B要調用插件C的服務Cl時,需要向局部總線X發送調用那個請求。插件C沒有連接在局部總線X上,因此,局部總線X將調用請求的參數封裝後,將調用請求轉發給全局總線,全局總線再向局部總線Y轉發該調用請求。最後,插件C的直連總線,即局部總線Y,直接調用插件C的服務Cl,從而實現整個調用過程。
[0031]本發明與現有相比的優點在於:本發明所提出的多層總線結構實現了總線協議的可擴展性,能夠通過增加新的局部總線,對總線協議進行擴展,以針對新類型工具進行更加高效、緊密的集成。
【專利附圖】

【附圖說明】
[0032]圖1是多層總線結構示意圖;
[0033]圖2是多層總線結構下插件間調用過程示意圖;
[0034]圖3是兩層總線實例結構圖。
【具體實施方式】
[0035]以下以一個高可信嵌入式軟體集成開發環境編碼部分的多層總線為例,對本發明做進一步說明。
[0036]實例對象為高可信嵌入式軟體集成開發環境的多層總線,包括全局總線以及編碼階段局部總線和測試階段局部總線。其中編碼階段局部總線上連接代碼編輯器、編譯器兩個插件;測試階段局部總線則連接著嵌入式系統仿真運行環境插件。
[0037]1.全局總線
[0038]全局總線定義「參數」、字符串和路徑這三種基本數據類型,定義調用服務這一種基本操作。
[0039]「參數」為最基本的數據類型,所有參數數據類型繼承自此數據類型,在編程實現中可採用Object (Java、C#)、CObject (MFC)來作為參數的數據結構實現。
[0040]字符串類型即一個字符串,繼承自「參數」類型。路徑類型則是一個特殊的字符串,繼承自字符串類型。
[0041]服務調用的基本操作是插件或總線調用適配器功能的基本接口,需要三個輸入參數:插件的標識、服務標識、輸入參數列表。
[0042]2.編碼階段局部總線
[0043]編碼階段局部總線定義「原始碼」、「目標碼」這兩種擴展數據類型(從數據結構上看,擴展數據類型為基本數據類型的子類);同時定義代碼編輯、代碼編譯兩種擴展操作(從數據結構上看,擴展操作對應數據結構為基本操作數據結構的子類)。
[0044]針對每類數據定義一個固定的描述方式,及所謂的公共數據模型,如下:
[0045](I)原始碼數據結構定義:[0046]
【權利要求】
1.一種用於集成環境的多層軟體總線結構,其特徵在於:所述結構包括多層總線和插件; 多層總線由若干處於不同層次的總線組成,這些總線按照樹的拓撲結構組織在一起:最底層有且只有一條總線,稱為全局總線,其他各層次的總線都稱為局部總線,以全局總線為樹根,形成多層的樹狀結構;每一條總線上都能夠直接連接多條局部總線,稱為該總線的子總線;每條局部總線有且只有一條與其直接連接的下層總線,稱為該總線的父總線;全局總線為所有類型的插件的集成和互操作提供基本的支持,而每一條局部總線針對一類插件的集成和互操作提供有針對性的支持以提高插件集成和互操作的效率;上一層總線所支持的插件的集和為其父總線所支持插件的子集,子總線是其父總線的具體化;全局總線與其子總線直接連接;局部總線與其父總線和子總線直接連接,總線之間通過上述連接進行數據傳遞和功能調用; 插件是集成環境中被集成的軟體的封裝,以服務的形式將被集成軟體的功能加入集成環境中;一個插件提供一個或多個功能,每個功能對應插件所封裝的被集成軟體的一個功能;各插件都連接在多層總線上,通過多層總線進行插件間的數據傳遞和功能調用,並獲得集成環境提供的服務;插件與多層總線的連接具體是插件與多層總線中的某一條總線的連接實現的,該總線稱為插件的「直連總線」;反之,稱插件是其直連總線的「直連插件」;插件應連接在與其類型匹配的最上層總線上,充分利用多層總線提供的針對該類型插件的支持,無任何局部總線支持的插件類型,可以直接連接在全局總線上; 插件與其直連總線間直接進行數據傳遞和功能調用,並通過其直連總線與其他總線、插件進行間接的數據傳遞和功能調用。
2.根據權利要求1所述的 一種用於集成環境的多層軟體總線結構,其特徵在於:所述全局總線,提供基本數據類型和基本操作類型的定義,以這些基本數據類型和基本操作類型為參數,實現插件間的數據傳遞或功能調用;全局總線還規定插件所必須實現的基本接口,通過這些接口,全局總線能夠按照基本操作的定義來調用插件的功能,或實現與插件的數據傳遞; 所述局部總線則根據一類插件的具體功能和輸入輸出數據,定義這類插件公用的擴展數據類型和擴展操作類型;並提供局部總線編程接口,以這些擴展數據類型和擴展操作類型為參數,實現該類插件間較高效的功能調用和數據傳遞;此外,局部總線還規定連接局部總線的插件應實現的擴展接口,通過這些擴展接口,局部總線能夠按照擴展操作的定義來調用插件的功能,或實現與插件的數據傳遞; 全局總線定義的基本數據類型和基本操作類型適用於描述所有類型插件的輸入輸出數據和操作,而所有局部總線所定義的擴展數據類型和擴展操作類型是基本數據類型和基本操作類型的子類,是對基本數據類型和基本操作類型的具體化,描述了一類數據或操作更多的語法和語義信息;同樣,局部總線中子總線所定義的擴展數據類型和擴展操作類型也是其父總線所定義類型的子類,比父總線定義的類型描述更具體的語法和語義信息;全局總線只能以基本數據類型和基本操作類型作為參數,實現兩個插件間的功能調用或數據傳遞時,兩個插件必須進行一對一的參數數據解析;局部總線根據工具的輸入輸出類型定義更豐富的數據類型和操作類型,並直接按照這些數據類型和操作類型進行參數的傳遞;此外,局部總線還能夠定義更豐富的插件功能調用方式,便於實現插件間的緊密集成。
3.根據權利要求1所述的一種用於集成環境的多層軟體總線結構,其特徵在於:所述各插件都連接在多層總線上,通過多層總線進行插件間的數據傳遞和功能調用,並獲得集成環境提供的服務的實現如下: (1)在初始化時,多層總線中的各條總線各自掃描系統中存在的插件,根據插件的接口信息,識別直連插件,形成各自的直連插件列表和服務列表;之後,從最上層總線開始,各層總線將獲取子總線上連接的插件和服務信息,形成總線上直接或間接連接的所有插件的列表; (2)當一個插件要與其他插件進行功能調用或數據傳遞時,需要向其直連總線發送通信請求,發送通信請求時通過通信接口實現的,所有總線都提供各式相同的通信接口 ;該插件的直連總線首先查找目標插件是否是其直連插件,若是,則加載並調用該插件進行通信,也即進行對應的功能調用或數據傳遞;若不是,則向上一層總線發送操作請求,由上一層總線接受進行通信請求的發送任務;如此反覆,直到找到目標插件,並進行功能調用或數據傳遞; (3)當總線接收到通信請求時,首先檢查目標插件是否直接或間接連接到自身;若否,則不做響應。若是,檢查目標插件是否是自身的直連插件:若是,則直接進行功能調用或數據傳遞;若否,則向所有子總線轉發該通信請求,再由子總線進行處理,直到找到目標插件的直連總線,尤其實現對插件的通信。
4.根據權利要求3所述的一種用於集成環境的多層軟體總線結構,其特徵在於:所述各插件通過多層總線發送調用數據時,需要依據數據傳輸過程中所經歷的各層總線的數據類型定義對數據進行封裝; 當一個通信請求從上層總線轉發到其父總線時,上層總線需要按照父總線的數據類型定義對通信請求附帶的數據進行封裝,再進行發送;` 反之,當一個通信請求從下層總線轉發到其子總線時,子總線需要對通信請求附帶的數據進行解包,通過文本解析、反射技術,將下層總線傳來的基本數據類型的轉換為子總線定義的較具體的擴展數據類型,從而便於進行後續處理。
【文檔編號】G06F13/40GK103714035SQ201310751618
【公開日】2014年4月9日 申請日期:2013年12月31日 優先權日:2013年12月31日
【發明者】楊孟飛, 郭向英, 顧斌, 趙雷, 陳睿, 郝偉, 盛莊, 黃晨, 沈沛 申請人:北京控制工程研究所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀