您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源軟件測(cè)試解決方案 >
一個(gè)開(kāi)源的IoC采集服務(wù)器體系結(jié)構(gòu)設(shè)計(jì)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/3 16:13:42 ] 推薦標(biāo)簽:

           下圖是基于IoC理念重新設(shè)計(jì)的通用的開(kāi)源采集服務(wù)器子系統(tǒng)體系結(jié)構(gòu):

8.         核心組件設(shè)計(jì)簡(jiǎn)介

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

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

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

本系統(tǒng)對(duì)外部系統(tǒng)的接口,目前沒(méi)有定義具體方法,屬于框架設(shè)計(jì)預(yù)留接口。框架使用者可以實(shí)現(xiàn)此接口,定制通信協(xié)議、通信方式實(shí)現(xiàn)與外部系統(tǒng)信息交互。外圍系統(tǒng)通過(guò)此接口向“業(yè)務(wù)調(diào)度核心類”發(fā)起通信命令、操控底層設(shè)備、實(shí)時(shí)提取設(shè)備狀態(tài)等業(yè)務(wù)請(qǐng)求。

3.  業(yè)務(wù)調(diào)度核心類

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

4.  任務(wù)隊(duì)列管理類

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

5.  采集調(diào)度控制類

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

6.  采集業(yè)務(wù)類

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

7.  業(yè)務(wù)狀態(tài)機(jī)類

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

8.  采集方式類

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

9.  通信協(xié)議類

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

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

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

3)           “采集調(diào)度控制器”采用“微內(nèi)核”的實(shí)時(shí)設(shè)計(jì)模式。

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

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

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

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

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

10.     應(yīng)有實(shí)例

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

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