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

        ?

        LXI網(wǎng)絡(luò)儀器后臺(tái)處理的設(shè)計(jì)與實(shí)現(xiàn)

        2019-03-21 11:35:38李延峰李宥謀閆海卿李曉俊
        關(guān)鍵詞:共享內(nèi)存后臺(tái)調(diào)用

        李延峰,李宥謀,閆海卿,李曉俊

        (西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,陜西 西安 710100)

        0 引 言

        目前,網(wǎng)絡(luò)儀器測控系統(tǒng)蓬勃發(fā)展,在促進(jìn)當(dāng)代生產(chǎn)中扮演關(guān)鍵角色[1]。同時(shí),總線技術(shù)是儀器進(jìn)步的基礎(chǔ)[2],總線技術(shù)由GPIB(general-purpose interface bus,通用接口總線)、VXI(VMEbus extension for instrumentation,VME總線在儀器領(lǐng)域的擴(kuò)展)、PXI(PCI extensions for instrumentation,面向儀器系統(tǒng)的PCI擴(kuò)展)向LXI(LAN extension for instrumentation,LAN在儀器領(lǐng)域的擴(kuò)展)發(fā)展過渡。

        GPIB、VXI、PXI儀器由于帶寬和底板結(jié)構(gòu)等限制,被測對(duì)象難于遠(yuǎn)距離分布[3]。LXI是繼GPIB儀器、VXI/PXI虛擬儀器后新型的基于以太網(wǎng)的模塊化互聯(lián)架構(gòu)標(biāo)準(zhǔn)[4]。LXI網(wǎng)絡(luò)儀器測控系統(tǒng)是集成了RTOS(embedded real-time operation system,嵌入式實(shí)時(shí)操作系統(tǒng))、嵌入式SNMP(simple network management protocol,簡單網(wǎng)絡(luò)管理協(xié)議)代理、嵌入式HiSLIP(high-speed LAN instrument protocol,高速以太網(wǎng)儀器協(xié)議)服務(wù)、嵌入式DHCP(dynamic host configuration protocol,動(dòng)態(tài)主機(jī)配置協(xié)議)模塊及各種接口驅(qū)動(dòng)的大型應(yīng)用系統(tǒng),提供網(wǎng)絡(luò)化儀器測量,實(shí)現(xiàn)儀器設(shè)備動(dòng)態(tài)重組,降低了系統(tǒng)的復(fù)雜度和成本消耗[5]。

        所以,文中對(duì)LXI網(wǎng)絡(luò)儀器后臺(tái)處理模塊進(jìn)行設(shè)計(jì),包括SNMP、HISLIP、DHCP等客戶端,實(shí)現(xiàn)儀器代理的主動(dòng)感知及IP自動(dòng)分配、控制指令和測量數(shù)據(jù)的實(shí)時(shí)高速傳輸、儀器代理的配置和測控管理等功能。另外,通過分析接口參數(shù),設(shè)計(jì)了調(diào)用后臺(tái)處理的統(tǒng)一接口程序,易于入門、方便后期功能擴(kuò)展、提高后臺(tái)操作與響應(yīng)速度。

        1 SNMP簡單網(wǎng)絡(luò)管理協(xié)議

        SNMP基于TCP/IP協(xié)議工作,是對(duì)網(wǎng)絡(luò)中支持該協(xié)議的網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行管理的標(biāo)準(zhǔn)協(xié)議[6]。其采用C/S模式[7],SNMP客戶端在管理端運(yùn)行,SNMP服務(wù)器在被管理端運(yùn)行。SNMP由SNMP代理、被管理的設(shè)備和網(wǎng)絡(luò)管理系統(tǒng)組成[8]。

        本項(xiàng)目中SNMP協(xié)議客戶端主要完成測控端后臺(tái)處理模塊與遠(yuǎn)端儀器之間變量的屬性信息、控制命令及異常信息的交互傳輸。SNMP客戶端的總體操作由3類組成:儀器設(shè)備設(shè)置操作、屬性值獲取操作和被監(jiān)管設(shè)備異常監(jiān)測操作??蛻舳送ㄟ^GET、GETBULK和GETNEXT向SNMP服務(wù)器請(qǐng)求相應(yīng)操作;通過SET對(duì)設(shè)備參數(shù)值進(jìn)行設(shè)置或修改;通過Trap將異常信息主動(dòng)發(fā)送到管理端。

        SNMP客戶端以模塊化方式設(shè)計(jì)實(shí)現(xiàn),各模塊間功能函數(shù)相互約束,同時(shí)接口函數(shù)相互配合,實(shí)現(xiàn)SNMP客戶端功能需求。

        2 HISLIP高速以太網(wǎng)儀器協(xié)議

        HISLIP由IVI聯(lián)盟推出,實(shí)現(xiàn)對(duì)儀器的控制和共享[9]。協(xié)議以C/S模式設(shè)計(jì),控制端運(yùn)行HISLIP客戶端,遠(yuǎn)端代理運(yùn)行HISLIP服務(wù)器端。HISLIP客戶端與標(biāo)準(zhǔn)儀器程控指令SCPI配合使用,實(shí)現(xiàn)對(duì)遠(yuǎn)端儀器代理的測量控制與管理[10]。HISLIP協(xié)議信息交互有異步通道和同步通道兩條鏈路,同步通道負(fù)責(zé)數(shù)據(jù)和指令的交互,異步通道負(fù)責(zé)異常處理[11]。

        本項(xiàng)目中HISLIP協(xié)議客戶端主要負(fù)責(zé)后臺(tái)處理模塊與遠(yuǎn)端代理間數(shù)據(jù)和指令的傳輸交互任務(wù)。HISLIP客戶端整體設(shè)計(jì)可劃分為數(shù)據(jù)包同步通道處理模塊、數(shù)據(jù)包異步通道處理模塊和雙向通道建立模塊三部分。處理模塊流程如圖1所示。

        圖1 HISLIP處理模塊流程

        HISLIP客戶端設(shè)計(jì)采用模塊化方式,相互制約配合,最終實(shí)現(xiàn)HISLIP客戶端的功能。

        3 DHCP動(dòng)態(tài)主機(jī)配置協(xié)議

        DHCP是優(yōu)化主機(jī)等設(shè)備IP地址管理分配的標(biāo)準(zhǔn)協(xié)議[12],本項(xiàng)目中主要負(fù)責(zé)管理和分配IP地址,動(dòng)態(tài)管理網(wǎng)絡(luò)設(shè)備的上網(wǎng)環(huán)境,使設(shè)備的入網(wǎng)效率大幅提升。

        LXI網(wǎng)絡(luò)儀器的DHCP模塊分四步實(shí)現(xiàn)。首先搭建DHCP服務(wù)器;其次以Linux系統(tǒng)的Inotify機(jī)制來監(jiān)控DHCP服務(wù)器日志文件中IP、MAC地址的數(shù)據(jù)變化;然后HISLIP客戶端給該IP設(shè)備發(fā)送SCPI指令獲取屬性;最后將儀器設(shè)備返回的屬性信息鏈接到IP地址的尾部。具體如圖2所示。

        圖2 自動(dòng)發(fā)現(xiàn)模塊DHCP功能測試

        4 后臺(tái)處理服務(wù)總調(diào)度模塊

        4.1 后臺(tái)處理服務(wù)總調(diào)度模塊架構(gòu)研究與設(shè)計(jì)

        LXI網(wǎng)絡(luò)儀器整體軟件結(jié)構(gòu)可分為三層,分別是:儀器設(shè)備層、核心組件層和應(yīng)用服務(wù)層[13]。儀器設(shè)備層實(shí)現(xiàn)測控?cái)?shù)據(jù)采集等功能;核心組件層解決應(yīng)用層的控制指令及儀器層上傳的測控?cái)?shù)據(jù)和異常消息,主要包含:HISLIP協(xié)議客戶端、SNMP協(xié)議客戶端、DHCP模塊和統(tǒng)一調(diào)用接口程序;應(yīng)用服務(wù)層負(fù)責(zé)提供友好界面以供人機(jī)交互,實(shí)現(xiàn)測量數(shù)據(jù)顯示與修改、儀器管理等功能。系統(tǒng)軟件結(jié)構(gòu)如圖3所示。

        圖3 LXI網(wǎng)絡(luò)儀器整體軟件結(jié)構(gòu)

        LXI網(wǎng)絡(luò)儀器后臺(tái)處理服務(wù)總調(diào)度模塊由統(tǒng)一接口、任務(wù)調(diào)度和數(shù)據(jù)處理模塊組成。統(tǒng)一接口模塊為

        外部調(diào)用后臺(tái)處理服務(wù)提供統(tǒng)一化指令格式;任務(wù)調(diào)度模塊主要為測控命令在后臺(tái)的調(diào)度與處理服務(wù);數(shù)據(jù)模塊主要為儀器代理的數(shù)據(jù)處理服務(wù)。

        為使程序健壯和穩(wěn)定,故以進(jìn)程實(shí)現(xiàn)調(diào)度,以共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)通信。后臺(tái)運(yùn)行時(shí),父進(jìn)程創(chuàng)建共享內(nèi)存和信號(hào)量后,實(shí)時(shí)監(jiān)控應(yīng)用層的命令[14]。當(dāng)測控指令產(chǎn)生,父進(jìn)程交由新建的子進(jìn)程去解決問題,其繼續(xù)監(jiān)聽。由于子進(jìn)程直接調(diào)用了可執(zhí)行代碼,父進(jìn)程不能直接接受數(shù)據(jù)結(jié)果,故以共享內(nèi)存去實(shí)現(xiàn)數(shù)據(jù)信息的交互,同時(shí)以信號(hào)量進(jìn)行讀寫的限制,流程如圖4所示。

        4.2 后臺(tái)處理服務(wù)統(tǒng)一接口模塊設(shè)計(jì)

        統(tǒng)一接口模塊能夠讓應(yīng)用服務(wù)層以統(tǒng)一指令格式對(duì)核心組件層的SNMP客戶端、HISLIP客戶端和DHCP模塊進(jìn)行調(diào)度處理,在Linux操作系統(tǒng)下三個(gè)模塊接口參數(shù)如下:

        ./snmp_client Instrument_IP OID Command;

        ./hislip_client Instrument_IP Command;

        ./dhcpr_client DHCP_SERVER_IP;

        參數(shù)說明如下:

        Instrument_IP:遠(yuǎn)端儀器代理的IP地址;

        OID:SNMP協(xié)議的對(duì)象標(biāo)識(shí)號(hào);

        Command:在SNMP客戶端中,SNMP協(xié)議操作:SET、GET、GETNEXT、GETBULK等操作;在HISLIP客戶端中,SCPI表示標(biāo)準(zhǔn)儀器的程控指令;

        DHCP_SERVER_IP:表示系統(tǒng)中DHCP服務(wù)器儀器設(shè)備的IP地址;

        圖4 后臺(tái)處理服務(wù)總調(diào)度設(shè)計(jì)流程

        為了實(shí)現(xiàn)對(duì)模塊接口的統(tǒng)一封裝,同時(shí)基于功能模塊的接口參數(shù)形式,定義命令格式如下:

        typedef struct interface

        {

        int port;

        charoid[60];

        charip[20];

        char command[120];

        }interface, *interface;

        統(tǒng)一接口模塊程序根據(jù)公共端口號(hào)的不同解析服務(wù)層請(qǐng)求,然后調(diào)用相應(yīng)客戶端。HISLIP客戶端端口號(hào)為4880,SNMP客戶端端口號(hào)為161及DHCP客戶端端口號(hào)為5000,所以本項(xiàng)目采用port參數(shù)作為區(qū)分三者的指標(biāo)參數(shù)。

        4.3 后臺(tái)處理服務(wù)總調(diào)度模塊的實(shí)現(xiàn)

        系統(tǒng)主機(jī)以TCP Socket的形式連接到后臺(tái)總調(diào)度模塊。總調(diào)度模塊接受主機(jī)指令,同時(shí)解析控制指令,根據(jù)解析結(jié)果去確定調(diào)用SNMP協(xié)議客戶端、HISLIP協(xié)議客戶端或DHCP自動(dòng)發(fā)現(xiàn)模塊[15]。后臺(tái)處理服務(wù)總調(diào)度模塊的父進(jìn)程創(chuàng)建子進(jìn)程去執(zhí)行相應(yīng)客戶端請(qǐng)求,將結(jié)果存入共享內(nèi)存后,由信號(hào)量通知主進(jìn)程讀取結(jié)果。其次,主進(jìn)程在讀取數(shù)據(jù)時(shí)通過信號(hào)量防止讀寫競爭。最后,總調(diào)度模塊將結(jié)果通過TCP套接字發(fā)送給系統(tǒng)控制主機(jī),完成主機(jī)對(duì)所需信息的獲取與修改??傉{(diào)度模塊的處理流程如圖5所示。

        圖5 后臺(tái)處理模塊的處理過程

        后臺(tái)處理服務(wù)總調(diào)度模塊的主進(jìn)程重復(fù)監(jiān)聽從系統(tǒng)控制主機(jī)發(fā)起的連接,當(dāng)連接產(chǎn)生時(shí),父進(jìn)程創(chuàng)建單一子進(jìn)程去處理該請(qǐng)求,子進(jìn)程以Linux的EXECVP系統(tǒng)調(diào)用實(shí)現(xiàn)功能,在進(jìn)程的代碼段載入其對(duì)應(yīng)客戶端的可執(zhí)行文件,同時(shí)后臺(tái)模塊填充EXECVP系統(tǒng)調(diào)用的環(huán)境變量與命令參數(shù),以此方式就可以實(shí)現(xiàn)相應(yīng)客戶端的傳參調(diào)用。

        后臺(tái)總調(diào)度模塊的子進(jìn)程調(diào)用EXECVP系統(tǒng)調(diào)用,然后相應(yīng)客戶端程序被對(duì)應(yīng)執(zhí)行。由于子進(jìn)程直接調(diào)用了可執(zhí)行代碼,父進(jìn)程不能直接接受數(shù)據(jù)結(jié)果,故以共享內(nèi)存去實(shí)現(xiàn)數(shù)據(jù)信息的交互。父進(jìn)程首先創(chuàng)建并初始化共享內(nèi)存,然后用信號(hào)量防止進(jìn)程對(duì)共享內(nèi)存的讀寫競爭。共享內(nèi)存有自己的權(quán)限位及擁有者,不受進(jìn)程存在的影響。所有進(jìn)程均可連接到共享內(nèi)存并得到指向該共享內(nèi)存的指針。當(dāng)子進(jìn)程將結(jié)果數(shù)據(jù)寫入共享內(nèi)存時(shí),子進(jìn)程會(huì)用信號(hào)量對(duì)共享內(nèi)存段加鎖,在寫數(shù)據(jù)結(jié)束后釋放鎖。父進(jìn)程讀取共享內(nèi)存時(shí),執(zhí)行相同操作,即對(duì)共享內(nèi)存加鎖,然后等讀數(shù)據(jù)結(jié)束后釋放鎖[16]。最后,將結(jié)果數(shù)據(jù)發(fā)送給系統(tǒng)控制主機(jī),完成數(shù)據(jù)修改、信息獲取。至此,后臺(tái)處理服務(wù)總調(diào)度模塊的功能就可以實(shí)現(xiàn)。

        5 LXI網(wǎng)絡(luò)儀器后臺(tái)處理功能測試

        采用control_client模擬應(yīng)用服務(wù)層向后臺(tái)處理模塊control_server下達(dá)調(diào)用HISLIP客戶端的命令請(qǐng)求,control_client的命令:

        ./control_client 192.168.1.122 192.168.1.232 4880 1.3.6.1.4.1.1199.1.1.1.1.1.1.0 *IDN?DATa?*IDN?*IDN?

        其中,192.168.1.122為后臺(tái)模塊系統(tǒng)主機(jī)的IP地址;192.168.1.232為儀器代理的IP地址;4880為HISLIP公共端口號(hào);1.3.6.1.4.1.1199.1.1.1.1.1.1.0為項(xiàng)目上MIB庫節(jié)點(diǎn);*IDN?DATa?*IDN?*IDN?是SCPI指令。

        control_client客戶端的運(yùn)行結(jié)果如圖6所示。

        圖6 control_client調(diào)用HISLIP客戶端的運(yùn)行結(jié)果

        后臺(tái)處理服務(wù)總調(diào)度模塊control_server服務(wù)器在接收到control_client客戶端調(diào)用HISLIP客戶端的任務(wù)指令后執(zhí)行相應(yīng)操作。

        后臺(tái)處理服務(wù)總調(diào)度模塊首先分析命令行參數(shù)。其次由統(tǒng)一接口程序根據(jù)接口4880確定調(diào)用HISLIP客戶端,并將HISLIP客戶端的命令行補(bǔ)齊。最后成功調(diào)用HISLIP客戶端服務(wù)。

        本章主要對(duì)后臺(tái)處理服務(wù)進(jìn)行測試,由測試結(jié)果可知功能模塊達(dá)到了預(yù)計(jì)需求。

        6 結(jié)束語

        綜上所述,為實(shí)現(xiàn)LXI網(wǎng)絡(luò)測控系統(tǒng)的后臺(tái)處理調(diào)度服務(wù)、提高儀器設(shè)備的使用效益、降低使用成本,以LXI總線標(biāo)準(zhǔn)和特點(diǎn)優(yōu)勢進(jìn)行設(shè)計(jì),將SNMP客戶端、HISLIP客戶端、DHCP客戶端等嵌入到測控系統(tǒng)中,并設(shè)計(jì)實(shí)現(xiàn)了調(diào)用后臺(tái)處理服務(wù)的統(tǒng)一接口程序。LXI網(wǎng)絡(luò)測控系統(tǒng)后臺(tái)處理模塊提高了后臺(tái)與應(yīng)用服務(wù)層、儀器設(shè)備層的傳輸效率,增加了系統(tǒng)的實(shí)時(shí)性和完備性,設(shè)計(jì)實(shí)現(xiàn)了LXI總線標(biāo)準(zhǔn)規(guī)范的網(wǎng)絡(luò)測控系統(tǒng)的核心組件層,對(duì)項(xiàng)目發(fā)展有積極意義。而且,該項(xiàng)目已被驗(yàn)收,運(yùn)行正常,達(dá)到了項(xiàng)目預(yù)期目標(biāo)。

        猜你喜歡
        共享內(nèi)存后臺(tái)調(diào)用
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        通過QT實(shí)現(xiàn)進(jìn)程間的通信
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        后臺(tái)暗戀
        基于PCI總線的多處理器協(xié)同機(jī)制研究
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        前臺(tái)、后臺(tái)精彩花絮停不了
        QNX下PEX8311多路實(shí)時(shí)數(shù)據(jù)采集的驅(qū)動(dòng)設(shè)計(jì)
        電子世界(2014年21期)2014-04-29 06:41:36
        電力調(diào)度中后臺(tái)監(jiān)控系統(tǒng)的應(yīng)用
        河南科技(2014年11期)2014-02-27 14:10:03
        一種高效RTAI 共享內(nèi)存管理層的研究與實(shí)現(xiàn)*
        国产精品高清一区二区三区人妖| 国产美女av一区二区三区| 完整在线视频免费黄片| 国产av区亚洲av毛片| 精品麻豆一区二区三区乱码| 国产成人大片在线播放| 国产激情视频高清在线免费观看 | 国产黄a三级三级三级av在线看| 国产午夜精品一区二区三区视频| 99久久久国产精品丝袜| 国产精品久久国产三级国| 美女脱掉内裤扒开下面让人插 | 亚洲综合一区无码精品| 国产极品喷水视频| 久久亚洲av熟女国产| 国产av剧情刺激对白| 麻豆md0077饥渴少妇| 天码人妻一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 亚洲AV无码专区国产H小说| 国产亚洲精品成人av在线| 国产内射一级一片内射高清视频1| 国产在线视频一区二区天美蜜桃| 国产综合在线观看| 国产精品人妻一区夜夜爱| 免费国产一级特黄aa大片在线 | 亚洲国产精品自拍一区| 成年视频网站在线观看777 | 免费人成视网站在线剧情| 色综合av综合无码综合网站| 国产精品欧美成人| 国产91色在线|亚洲| 国产毛片三区二区一区| 久久99天堂av亚洲av| 国产精品特级毛片一区二区三区| 搡老熟女老女人一区二区| 麻豆五月婷婷| 中文字幕有码手机视频| 午夜不卡无码中文字幕影院| 婷婷久久久亚洲欧洲日产国码av| 欧美日韩精品乱国产|