亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CTK插件框架的太赫茲人體安檢系統(tǒng)軟件設(shè)計

        2021-06-16 16:42:32張華坤劉力力卜偉華唐冠杰汪潮
        電子技術(shù)與軟件工程 2021年4期
        關(guān)鍵詞:赫茲插件調(diào)用

        張華坤 劉力力 卜偉華 唐冠杰 汪潮

        (博微太赫茲信息科技有限公司 安徽省合肥市 230088)

        1 背景

        太赫茲人體安檢系統(tǒng)采用被動式實時成像太赫茲人體安檢技術(shù),利用人體自身熱輻射產(chǎn)生的太赫茲波,通過一定的準(zhǔn)光系統(tǒng)將這些輻射收集到探測焦平面上,在焦平面上使用太赫茲探測器陣列完成對信號的采集。之后通過對信號的處理,可以形成人體輻射的太赫茲波強(qiáng)度圖,由于人身攜帶的物品對太赫茲波的遮擋和吸收,在太赫茲強(qiáng)度圖上這些物品所在的位置就會顯示出陰影輪廓,通過這個原理可以實時探測到人身攜帶物品的位置、大小和形狀,解決大客流場景下快速人體安檢的難題。[1]

        隨著各安檢場所對通行安全和通行效率的要求不斷提升,系統(tǒng)的應(yīng)用場景也越來越復(fù)雜多樣。為了能夠適應(yīng)快速多變的用戶需求,系統(tǒng)必須能針對不同的安檢場所、安檢級別對功能進(jìn)行快速定制和整合,因此對軟件框架的可擴(kuò)展性提出了很高的要求。

        2 插件框架

        2.1 框架簡介

        如圖1 所示,Common Toolkits(以下簡稱CTK)插件框架是面向C++語言的動態(tài)組件系統(tǒng),它直接基于OSGI 規(guī)范。該系統(tǒng)由許多可重用的不同組件動態(tài)地組成,并允許各組件之間通過服務(wù)進(jìn)行通信。官方提供了框架的分層模型包括:

        (1)插件(Plugins)--由開發(fā)人員創(chuàng)建的CTK 組件。

        (2)服務(wù)層(Services Layer)--通過為C++對象提供一個“發(fā)布-發(fā)現(xiàn)-綁定”模型來動態(tài)連接插件。

        (3)生命周期層(Life Cycle Layer)--用于安裝、啟動、停止、更新和卸載插件的API。

        (4)安全性(Security)--處理安全方面的內(nèi)容(尚未實現(xiàn))。

        使用CTK 插件框架開發(fā)就代表開發(fā)插件,各插件之間互相隱藏了內(nèi)部實現(xiàn),并通過良好的服務(wù)和其它插件進(jìn)行通信。內(nèi)部隱藏機(jī)制表明可以自由地更改本插件而不影響其它插件,面向服務(wù)的通信機(jī)制可以將插件之間的耦合性降到最低,大大提高系統(tǒng)的模塊化程度,使得代碼更加靈活,能夠更好地適應(yīng)變化。

        2.2 框架運行機(jī)理

        CTK 插件框架的使用主要分為以下幾個步驟:

        (1)初始化CTK 插件框架。

        (2)安裝并啟動插件。

        (3)獲取并調(diào)用服務(wù)。

        2.2.1 初始化CTK 插件框架

        圖1:CTK 插件框架的分層模型[2]

        圖2:框架初始化

        圖3:插件初始化

        如圖2所示,CTK插件框架(ctkFramework)進(jìn)行初始化(ctkPluginFramework::init) 時,首先對插件框架上下文(ctkPluginFrameworkContext) 進(jìn) 行 初 始 化(ctkPluginFra meworkContext::init),插件框架上下文則調(diào)用插件上下文(ctkPluginContext)的構(gòu)造函數(shù)進(jìn)行初始化。然后,啟動CTK 插件框架(ctkPluginFramework::start),根據(jù)插件框架的id 號獲取框架的指針(ctkPlugin::getPlugin),通過指針調(diào)用插件類(ctkPlugin)的啟動函數(shù)(ctkPlugin::start),完成插件框架的啟動工作。由此可以看出,CTK 插件框架本質(zhì)上也是一個CTK 插件,只不過插件框架對該框架內(nèi)的所有插件(ctkPlugins)和服務(wù)(ctkServices)進(jìn)行了管理。

        表1:日志服務(wù)定義表

        表2:主機(jī)交互插件事件定義

        表3:狀態(tài)監(jiān)控插件事件定義

        2.2.2 安裝并啟動插件

        如圖3 所示,插件框架初始化時獲取了插件上下文(ctkFrame work::getPluginContext),根據(jù)插件上下文安裝插件(ctkPluginCon text::installPlugin),安裝插件成功后返回該插件的指針,再通過指針調(diào)用插件類(ctkPlugin)的啟動函數(shù)(ctkPlugin::start),完成插件的啟動工作。

        2.2.3 獲取并調(diào)用服務(wù)

        仍然通過插件上下文獲取插件提供的服務(wù)(ctkPluginContext:: getService),getService 函數(shù)返回了服務(wù)的指針,其他插件可通過該指針調(diào)用服務(wù)。調(diào)用該函數(shù)時需要傳入服務(wù)的引用(ctkServiceReference),該引用同樣通過插件上下文進(jìn)行獲?。╟t kPluginContext::getServiceReference)。

        2.2.4 事件管理服務(wù)

        圖4:軟件插件化示意圖

        事件管理服務(wù)是CTK 插件框架提供的一種特殊的服務(wù),它采用了消息發(fā)布/訂閱模式,消息的發(fā)送者將消息分為不同的主題(Topic),消息的接收者只根據(jù)Topic 來接收感興趣的消息,兩者之間通過EventAdmin 插件(由CTK 官方提供)進(jìn)行通信,這極大地降低了插件之間的耦合性,使得多人并行開發(fā)成為可能。EventAdmin 插件實現(xiàn)了多線程并行發(fā)送事件、事件處理黑名單等諸多功能,開發(fā)人員也可按照插件框架的規(guī)范對EventAdmin 進(jìn)行定制開發(fā)。

        圖5:軟件參數(shù)設(shè)置界面

        3 軟件架構(gòu)設(shè)計

        3.1 需求分析

        太赫茲人體安檢系統(tǒng)集成了太赫茲成像主機(jī)、光學(xué)攝像頭、電源模塊等硬件設(shè)備,在不同的安檢場景下需要增加或減少某些設(shè)備,甚至可能需要集成新的設(shè)備。因此,硬件可配置、可擴(kuò)展成為軟件最主要的需求。

        3.2 插件化設(shè)計

        針對硬件可配置、可擴(kuò)展的要求,將每種硬件的功能以CTK插件的形式進(jìn)行封裝,在實際使用時,根據(jù)具體的硬件配置選擇加載相應(yīng)的插件。將軟件分為四層架構(gòu)(如圖4 所示),從上往下分別為:信息展示層、業(yè)務(wù)邏輯層、硬件代理層、基礎(chǔ)設(shè)施層,底層提供服務(wù),上層進(jìn)行調(diào)用。當(dāng)需要增加新的硬件時,只需在硬件代理層中添加相應(yīng)功能的插件,并對業(yè)務(wù)邏輯層和信息展示層中的某些相關(guān)插件進(jìn)行修改即可,最大程度地減小對軟件其他模塊的影響。

        3.3 主要插件設(shè)計

        3.3.1 日志管理插件

        日志管理插件用于記錄軟件運行過程中產(chǎn)生的日志信息,日志信息共分為4 級:調(diào)試、普通、警告和錯誤。作為基礎(chǔ)設(shè)施層中的模塊,該插件為軟件中的其他插件提供日志服務(wù),服務(wù)共提供9 項功能,具體信息如表1 所示。

        3.3.2 太赫茲主機(jī)交互插件

        太赫茲主機(jī)交互插件(以下簡稱主機(jī)交互插件)用于和太赫茲主機(jī)(以下簡稱主機(jī))進(jìn)行交互,包括接收太赫茲圖像數(shù)據(jù)、接收狀態(tài)信息、轉(zhuǎn)發(fā)主機(jī)控制命令、轉(zhuǎn)發(fā)參數(shù)設(shè)置命令等。主機(jī)交互插件提供服務(wù)SERVICE_DCHOST,SERVIC_DCHOST 可以有n 個實例,視硬件配置參數(shù)而定。主機(jī)交互插件內(nèi)部維護(hù)和主機(jī)的連接:在插件初始化時,連接到主機(jī);當(dāng)和主機(jī)的連接斷開時,定時嘗試重新連接到主機(jī);當(dāng)重新設(shè)置了主機(jī)的連接參數(shù)時,定時嘗試重新連接到主機(jī)。

        主機(jī)交互插件的服務(wù)以事件的形式提供,如表2 所示。

        3.3.3 狀態(tài)監(jiān)控插接件

        狀態(tài)監(jiān)控插件用于管理系統(tǒng)內(nèi)各硬件設(shè)備的工作狀態(tài),該插件收到其他模塊發(fā)送的狀態(tài)信息后,先進(jìn)行緩存,然后每2 秒向其他插件發(fā)送系統(tǒng)狀態(tài)信息更新。

        狀態(tài)監(jiān)控插件的服務(wù)以事件的形式提供,如表3 所示。

        3.4 應(yīng)用

        圖5 為基于CTK 插件框架設(shè)計的太赫茲人體安檢系統(tǒng)軟件的設(shè)置界面。在系統(tǒng)內(nèi)部硬件發(fā)生變化時,不必對系統(tǒng)框架和核心插件進(jìn)行修改,僅對與硬件交互的插件進(jìn)行配置即可實現(xiàn)功能的擴(kuò)展和裁剪。例如,在單機(jī)系統(tǒng)中只需要啟用1 個主機(jī)交互插件和1 個光學(xué)攝像頭交互插件即可,而在雙機(jī)通道式系統(tǒng)中可以同時開啟2個主機(jī)插件和2 個光學(xué)攝像頭交互插件。

        4 結(jié)論

        太赫茲人體安檢系統(tǒng)是一種人體安檢領(lǐng)域的新產(chǎn)品,代表了下一代人體安檢安防產(chǎn)品的發(fā)展方向[3]。在新產(chǎn)品的使用過程中,快速多變的用戶需求給軟件提出了更高的要求。為此,本文提出了以QT 為基礎(chǔ)平臺,基于CTK 插件框架的軟件設(shè)計方法,對CTK 插件框架的運行機(jī)理進(jìn)行了深入闡述,詳細(xì)描述了太赫茲人體安檢系統(tǒng)軟件的插件化分層框架,并舉例說明軟件中核心插件的設(shè)計方案。實際應(yīng)用表明,采用CTK 插件框架進(jìn)行軟件開發(fā),不但令軟件的結(jié)構(gòu)更清晰,模塊間的耦合性更低,開發(fā)難度更低,還極大地提高了軟件的復(fù)用性,降低了開發(fā)成本,具有較高的實用價值。

        猜你喜歡
        赫茲插件調(diào)用
        自編插件完善App Inventor與樂高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        核電項目物項調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于雙頻聯(lián)合處理的太赫茲InISAR成像方法
        太赫茲低頻段隨機(jī)粗糙金屬板散射特性研究
        太赫茲信息超材料與超表面
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        MapWindowGIS插件機(jī)制及應(yīng)用
        基于Revit MEP的插件制作探討
        利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
        蜜臀av毛片一区二区三区| 欧美日韩精品一区二区三区高清视频| 人妻无码aⅴ中文系列久久免费| 国产一区二区三区白浆在线观看 | 国产一区二区三区韩国| 青青草原亚洲在线视频| 成人免费av色资源日日| 无码人妻丰满熟妇区五十路| 人人妻人人玩人人澡人人爽| 亚洲成A人A∨久在线观看| 久久久人妻丰满熟妇av蜜臀| 综合国产婷婷精品久久99之一| 丰满人妻熟妇乱又伦精品软件| 抽插丰满内射高潮视频| 久久精品爱国产免费久久| 亚洲国产日韩综合天堂| 一区二区三区激情免费视频| 极品嫩模高潮叫床| 天堂sv在线最新版在线| 中文字幕一区韩国三级| 美女脱掉内裤扒开下面让人插| 国产欧美日韩va另类在线播放| 最新精品国偷自产在线| 亚洲精品久久久久高潮| 国产一区二区三区杨幂| 国产精品高清国产三级国产av | 大ji巴好深好爽又大又粗视频| 老妇肥熟凸凹丰满刺激| 色噜噜狠狠色综合中文字幕| 成人全部免费的a毛片在线看| 亚洲tv精品一区二区三区| 亚洲精品久久| 国产无线乱码一区二三区| 东京热加勒比日韩精品| 久久人妻一区二区三区免费 | 女人被躁到高潮嗷嗷叫| 三级国产自拍在线观看| 无码国内精品久久人妻| 日韩欧美在线综合网| 午夜无码国产18禁| 日本一区二区三区人妻|