您的位置:軟件測試 > 開源軟件測試 > 開源軟件測試解決方案 >
一個開源的IoC采集服務器體系結構設計
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2012/12/3 16:13:42 ] 推薦標簽:

           下圖是基于IoC理念重新設計的通用的開源采集服務器子系統(tǒng)體系結構:

8.         核心組件設計簡介

1.  業(yè)務數(shù)據(jù)接口

以統(tǒng)一的方式,輸出本框架按配置的“通信模塊”、“通信協(xié)議”、“采集業(yè)務類”所采集到的數(shù)據(jù)。框架使用者實現(xiàn)此接口的方法可以繼續(xù)分析、處理、存儲、展現(xiàn)業(yè)務數(shù)據(jù)。

2.  外部系統(tǒng)接口

本系統(tǒng)對外部系統(tǒng)的接口,目前沒有定義具體方法,屬于框架設計預留接口?蚣苁褂谜呖梢詫崿F(xiàn)此接口,定制通信協(xié)議、通信方式實現(xiàn)與外部系統(tǒng)信息交互。外圍系統(tǒng)通過此接口向“業(yè)務調度核心類”發(fā)起通信命令、操控底層設備、實時提取設備狀態(tài)等業(yè)務請求。

3.  業(yè)務調度核心類

是采集子系統(tǒng)的業(yè)務調度核心類和業(yè)務請求中轉站。外部系統(tǒng)的命令請求通過“外部系統(tǒng)接口”轉入到“業(yè)務調度核心類”,“業(yè)務調度核心類”將命令請求存入命令隊列中共“”執(zhí)行;“”采集到數(shù)據(jù)之后,調用“數(shù)據(jù)接口”的方法將數(shù)據(jù)返回到“業(yè)務調度核心類”,之后,“業(yè)務調度核心類”調用“業(yè)務數(shù)據(jù)接口”或者“外部系統(tǒng)接口”將業(yè)務數(shù)據(jù)反饋到更上層模塊。

4.  任務隊列管理類

下行任務信息緩存類。“業(yè)務調度核心類”向其中增加命令請求;“采集調度控制器”自動檢測是否有新命令請求,當檢測到后立即“中斷”通信握手,執(zhí)行請求,執(zhí)行成功之后,從隊列中刪除該命令。

5.  采集調度控制類

管理、協(xié)調其下的“采集業(yè)務類”、“通信實現(xiàn)類”、“業(yè)務狀態(tài)機類”、“通信協(xié)議類”等模塊,完成所有的通信控制及數(shù)據(jù)采集功能。通過調用任務接口獲取采集指令;之后,調用業(yè)務接口(業(yè)務接口由“采集業(yè)務類”實現(xiàn),在具體使用中由框架使用者根據(jù)自己的業(yè)務采集需求開發(fā)),獲取具體的通信指令;根據(jù)通信指令調用正確的協(xié)議接口(協(xié)議接口由“通信協(xié)議類”實現(xiàn),在具體使用中由框架使用者根據(jù)自己的通信協(xié)議需求開發(fā))獲得通信幀;后,啟動狀態(tài)機開始本次采集任務的執(zhí)行。采集調度控制器

6.  采集業(yè)務類

封裝當前系統(tǒng)的具體采集業(yè)務對象,為通用的“采集調度控制類”定制具體的采集任務。本質是:把上層的“抽象任務”細化成具體的“通信幀”和“通信控制步驟”、是一個簡單的“工作流定制器”。

7.  業(yè)務狀態(tài)機類

實現(xiàn)狀態(tài)機接口,根據(jù)采集業(yè)務狀態(tài)的控制、轉換需求,框架使用者定制開發(fā)。主要用于通信鏈路的通斷控制、數(shù)據(jù)收發(fā)、忙閑標識及轉換等業(yè)務狀態(tài)機邏輯。

8.  采集方式類

封裝具體的串口、TCP/IP、語音卡等通信采集類,實現(xiàn)具體的通信方式控制及通用的數(shù)據(jù)收發(fā)接口。

9.  通信協(xié)議類

封裝系統(tǒng)中軟件與底層軟件子系統(tǒng)、硬件設備、遠程終端的通信協(xié)議。
9.         設計模式與原理

1)           整個系統(tǒng)采用MVC的設計模式:業(yè)務數(shù)據(jù)、顯示控制及界面顯示嚴格分層,單獨實現(xiàn)。業(yè)務數(shù)據(jù)通過下層模塊產(chǎn)生,通用“業(yè)務調度核心”這個中介與“界面接口定制類”這個控制器交互;控制器“界面接口定制類”可以根據(jù)不同的顯示需要進行定制,與不同的界面組件交互,可滿足不同的顯示需求;在界面顯示層,引用了其它項目中實現(xiàn)的“標準界面通用組件庫”中的部分源碼。

2)           “業(yè)務調度核心類”采用Mediator模式。

3)           “采集調度控制器”采用“微內核”的實時設計模式。

4)           命令隊列采用Command模式:以強制分離命令的發(fā)起者與命令的執(zhí)行者。

5)           “業(yè)務狀態(tài)機”采用State模式:通過抽象業(yè)務狀態(tài)機,可以靈活地實現(xiàn)不同采集控制需求。并且,如果采集方式類是語音卡之類的設備時,采集類里面也往往采集“狀態(tài)機”模式來管理這類自身以狀態(tài)方式驅動的通信設備。

6)           “業(yè)務采集類”,對多協(xié)議的自動處理采用Chain Of Responsibility:將多個協(xié)議組件組織成一條“職責鏈”,實現(xiàn)對當前通信協(xié)議的自動識別、自動解析功能。

7)           “采集調度控制器”,考慮并發(fā)和性能,采用“通道”的實時設計模式:以盡可能地提升系統(tǒng)并發(fā)能力、提高系統(tǒng)吞吐能力。

8)           “采集調度控制器”,采用“輪巡”和“中斷”的實時設計模式:為檢測通信鏈路是否可用,在通信空閑時,系統(tǒng)要求與硬件終端進行定期“通信握手”,當“采集調度控制器”檢測到“命令隊列”或者“硬件終端”的任務請求時采用“中斷”方式立即響應上、下行命令。

10.     應有實例

    采用此框架的體系架構,框架使用者只需按“任務接口”實現(xiàn)自己特定的“任務隊列管理類”,按“業(yè)務接口”實現(xiàn)自己特定的“采集業(yè)務類”,按“狀態(tài)機接口”實現(xiàn)自己特定的通信業(yè)務控制“業(yè)務狀態(tài)機類”,再按“協(xié)議接口”實現(xiàn)自己特定的“通信協(xié)議類”,能夠非常快速地開發(fā)一個功能完備、運行穩(wěn)定的通信采集服務器。目前,應有此框架已成功構建“指紋采集系統(tǒng)”、“糧情測控系統(tǒng)”的通信采集服務器。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd