999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PyQt的實(shí)驗(yàn)室開放管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)

2022-09-01 11:33:34
通信電源技術(shù) 2022年9期
關(guān)鍵詞:實(shí)驗(yàn)室功能信息

于 倩

(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050000)

0 引 言

隨著網(wǎng)絡(luò)信息技術(shù)蓬勃發(fā)展,其使用范圍越來(lái)越廣泛,通過(guò)以互聯(lián)網(wǎng)信息技術(shù)為主導(dǎo)的綜合信息管理平臺(tái)對(duì)實(shí)驗(yàn)室的各種信息實(shí)施集中管理的技術(shù)手段已經(jīng)成為一種主要的解決的渠道。實(shí)驗(yàn)室是學(xué)校推行素質(zhì)教育、實(shí)施“重視實(shí)踐、激勵(lì)創(chuàng)新能力”教學(xué)模式的主要基地。由于實(shí)驗(yàn)室面對(duì)中小學(xué)生對(duì)外開放,可以最大限度使用教師教學(xué)的實(shí)驗(yàn)資料,拓寬中小學(xué)生的認(rèn)識(shí)面,培養(yǎng)中小學(xué)生的創(chuàng)新能力和自主動(dòng)手意識(shí),因此實(shí)驗(yàn)室對(duì)外開放是學(xué)校進(jìn)一步提高教學(xué)質(zhì)量的主要內(nèi)容之一[1-6]。實(shí)驗(yàn)室的開放管理是促進(jìn)試驗(yàn)室對(duì)外開放、提升對(duì)外開放效益與水平的關(guān)鍵技術(shù)手段。科研人員開展了實(shí)驗(yàn)室開放管理,但各個(gè)學(xué)校開放管理都不盡相同,很多院校都設(shè)計(jì)或研發(fā)了自己的實(shí)驗(yàn)室開放管理,并和其他的體系加以融合。

1 高校實(shí)驗(yàn)室管理難點(diǎn)

1.1 大學(xué)試驗(yàn)室種類多,試驗(yàn)室儀器設(shè)備多

為給研究生創(chuàng)造充分的實(shí)驗(yàn)時(shí)間,大學(xué)通常設(shè)有大量的實(shí)驗(yàn)室,同時(shí)各個(gè)實(shí)驗(yàn)室都能配備足夠多的實(shí)驗(yàn)器材。以南京大學(xué)軟件研究所為例,一個(gè)研究室通常有40~50個(gè)設(shè)備給本科生使用,而這樣的實(shí)驗(yàn)室大約有幾十個(gè)。但是如果缺乏對(duì)實(shí)驗(yàn)室開放管理的技術(shù)支持,將需要巨大的人工力量來(lái)控制實(shí)驗(yàn)室的開放管理以及對(duì)儀器的維修,而且人工控制的錯(cuò)誤風(fēng)險(xiǎn)也將大大超過(guò)計(jì)算機(jī)軟件控制。

1.2 高校實(shí)驗(yàn)室使用人員身份信息復(fù)雜

對(duì)于研究機(jī)構(gòu)或公司,其實(shí)驗(yàn)室通常是關(guān)閉的,可供研究組織的內(nèi)部人員使用,并且使用的人員在一定時(shí)期內(nèi)相對(duì)穩(wěn)定。然而,大學(xué)實(shí)驗(yàn)室的不同之處在于,公共實(shí)驗(yàn)室通常向全校師生開放,人數(shù)眾多,而且工作人員的身份也是隨機(jī)的。由于身份不同,因此不同的實(shí)驗(yàn)室工作人員使用實(shí)驗(yàn)室的方式也不同。學(xué)生進(jìn)入該系的研習(xí)班不收費(fèi),但教師進(jìn)入其他學(xué)科的研習(xí)班必須收費(fèi)。如果缺乏實(shí)驗(yàn)室開放管理制度,就無(wú)法識(shí)別實(shí)驗(yàn)人員的身份,無(wú)法了解實(shí)驗(yàn)人員所使用實(shí)驗(yàn)設(shè)施的情況,可能會(huì)影響到實(shí)驗(yàn)室的正常使用。

1.3 高校實(shí)驗(yàn)室對(duì)外開放時(shí)間各不相同

科研單位和專業(yè)的科研機(jī)構(gòu)一般有規(guī)定的辦公時(shí)間。大學(xué)實(shí)驗(yàn)室的開放時(shí)間通常都比較復(fù)雜,一般本科生與碩士使用的實(shí)驗(yàn)室開放時(shí)間不同,而一些單次實(shí)驗(yàn)持續(xù)時(shí)間比較長(zhǎng)的實(shí)驗(yàn)室開放時(shí)間也與其他研究所不同。

2 服務(wù)器端概述

實(shí)驗(yàn)室的系統(tǒng)分為服務(wù)器端和客戶端兩個(gè)部門,系統(tǒng)全部數(shù)據(jù)處理都存放在客戶端,同時(shí)由客戶端承擔(dān)全部的處理。系統(tǒng)服務(wù)器端管理與終端用戶的通信,包括提供從服務(wù)器端獲取的信息和修改內(nèi)容。系統(tǒng)客戶端與服務(wù)器端之間使用自定義的協(xié)議集實(shí)現(xiàn)通信。

客戶端必須承擔(dān)對(duì)全部信息的保存和管理,并且只有客戶端才能進(jìn)行更新信息。

Spring能夠用來(lái)控制業(yè)務(wù)對(duì)象,因?yàn)槔肧pring所提出的控制反轉(zhuǎn)(Inversion Of Control,IOC)容器,能夠直接把目標(biāo)間的依賴性問(wèn)題交由Spring加以控制,從而減少了硬解碼所導(dǎo)致的過(guò)程耦合。由于利用Spring,開發(fā)者能夠不用再為單例模型類、屬性文件分析等很基礎(chǔ)的要求撰寫程序,從而能夠更加注重于上層應(yīng)用研究。Spring并不排斥所有優(yōu)秀的公開源代碼框架,能夠減少所有框架的應(yīng)用難度。Spring實(shí)現(xiàn)了對(duì)所有優(yōu)秀架構(gòu)的直接支援,并且能夠和MINA與Hibernate良好的協(xié)調(diào)運(yùn)作。Hibernate實(shí)現(xiàn)了數(shù)據(jù)的持久化服務(wù),采用Hibernate,開發(fā)人員在運(yùn)用數(shù)據(jù)庫(kù)系統(tǒng)時(shí)只要求操作面向?qū)ο螅艞壛藬?shù)據(jù)庫(kù)系統(tǒng)中心的思想,并引入了完整的面向?qū)ο笏枷搿?/p>

服務(wù)器端過(guò)程如圖1所示,以卡片掃描功能為例進(jìn)行詳細(xì)說(shuō)明。首先,服務(wù)器端發(fā)送卡片掃描消息。服務(wù)器端收到消息后,MINA對(duì)消息進(jìn)行編碼,并分析消息表單和包含的信息。此傳入信息是卡號(hào),然后由先前注冊(cè)的消息處理功能處理消息。在消息處理模式下,可以使用Spring對(duì)象池中的適當(dāng)對(duì)象算法編輯卡號(hào),以進(jìn)行Intranet分析和翻譯。此時(shí),對(duì)象必須讀取慣性數(shù)據(jù)庫(kù)中的信息,以確定卡號(hào)是否顯示在數(shù)據(jù)庫(kù)中、是否報(bào)告為丟失。如果操作方面沒(méi)有足夠的信息,將返回對(duì)象彈簧箱中的數(shù)據(jù),并返回相應(yīng)的結(jié)果,在根據(jù)計(jì)算結(jié)果對(duì)數(shù)據(jù)進(jìn)行編碼的同時(shí)進(jìn)行挖掘,并將數(shù)據(jù)返回給客戶。

圖1 服務(wù)器端處理過(guò)程示意

3 系統(tǒng)客戶端的實(shí)現(xiàn)

3.1 硬件控制層的實(shí)現(xiàn)

3.1.1 網(wǎng)絡(luò)功能實(shí)現(xiàn)

網(wǎng)絡(luò)功能主要依賴于PyQt IV的QtNetwork模塊,該模塊為開發(fā)人員所建立的可移植性應(yīng)用程式提供了許多類。該模塊既給出了Qhttp和Qftp等類型來(lái)實(shí)現(xiàn)更通用的應(yīng)用層協(xié)議定義;又提供了QtcpSocket、QtcpServer、QudpSocket等類型,實(shí)現(xiàn)更底層的應(yīng)用定義;還包括了QNetworkRequest、QnetworkReply和qnetwork Access Manager,為更高級(jí)別的應(yīng)用編程操作而提供,可以同時(shí)支援各種協(xié)議。

在實(shí)際開發(fā)中,主要使用本模塊中的Qtcp Socket類。網(wǎng)絡(luò)模塊中維護(hù)了QtcpSocket類的一個(gè)示例,用于網(wǎng)絡(luò)操作。

3.1.2 串口功能實(shí)現(xiàn)

串口模塊主要用來(lái)控制PLT-485模塊,而PLT-485模塊則通過(guò)電力線載波控制,完成了對(duì)實(shí)驗(yàn)儀器供電的管理。主機(jī)使用串口對(duì)PLT-485控制器發(fā)送操作命令的讀取工作。

PySerial封裝了串口的操作,并可以根據(jù)本地平臺(tái)類型(Windows、Linux、BSD、Jython或IronPython)選擇后端串口應(yīng)用程序界面(Application Program Interface,API)。

當(dāng)向串口寫入信息后,先確定串口能否開啟,若不能開機(jī)則啟動(dòng)串口,并在寫入信息過(guò)程中捕捉異常值,如寫入錯(cuò)誤則返回-1。最終不管寫入成功還是錯(cuò)誤,在所有輸出結(jié)束后都必須關(guān)掉串口。

3.2 服務(wù)層的實(shí)現(xiàn)

3.2.1 數(shù)據(jù)幀編解碼實(shí)現(xiàn)

數(shù)據(jù)幀是計(jì)算機(jī)與PLT-485系統(tǒng)實(shí)現(xiàn)交流的基礎(chǔ)數(shù)據(jù)類型,通過(guò)數(shù)據(jù)幀格式,可以確定出數(shù)據(jù)幀數(shù)據(jù)結(jié)構(gòu)。在編碼過(guò)程中首先按照對(duì)數(shù)據(jù)幀實(shí)例中各個(gè)屬性的設(shè)定,分別在數(shù)據(jù)幀字節(jié)上填寫對(duì)應(yīng)數(shù)據(jù),然后再進(jìn)行校驗(yàn)和比較,并返回已經(jīng)編碼好的數(shù)據(jù)字符串。解碼流程也與此相似,只是流程方向相反。

3.2.2 消息編解碼實(shí)現(xiàn)

消息的具體解碼型后,再根據(jù)消息類型分為2種方法,首先使用MessageHandler類分析出了消息的具體類型,其次再使用更具體的消息編碼函數(shù),最后采用Python語(yǔ)言中的Struct模型完成了消息解碼運(yùn)算。Struct模型還可以作為Python字符串與原始二進(jìn)制文件互相轉(zhuǎn)化。在Struct模型中,既通過(guò)格式字符串說(shuō)明了轉(zhuǎn)換規(guī)則,也通過(guò)格式化字符串描述了在轉(zhuǎn)換時(shí)的文本字段的位置與內(nèi)容排布。

當(dāng)解碼過(guò)程開始時(shí),若消息長(zhǎng)度低于8Byte,則表示消息不完全。如果消息類型未注冊(cè),則無(wú)法解密。如果消息格式正確,首先分析消息數(shù)據(jù)的數(shù)據(jù)類型,然后通過(guò)Struct的解包功能完成從原始二進(jìn)制信息到Python數(shù)據(jù)類型的轉(zhuǎn)換。消息格式字符串通常為“LIS”,第一個(gè)“L”表示模塊使用網(wǎng)絡(luò)字節(jié)順序執(zhí)行轉(zhuǎn)換過(guò)程。“LIS”是指排列在消息數(shù)據(jù)塊中的2個(gè)整數(shù)字符串,它們最初是二進(jìn)制信息。處理程序是一個(gè)信息字典。鍵是描述消息類型的整數(shù),該值表示為消息數(shù)據(jù)類型的示例。在分析消息數(shù)據(jù)類型之后,根據(jù)特定消息數(shù)據(jù)類型的對(duì)應(yīng)實(shí)例進(jìn)一步說(shuō)明文件。

3.3 用戶界面層的實(shí)現(xiàn)

用戶界面維護(hù)包含用戶界面的創(chuàng)建和控件的管理。

卡有關(guān)的功能或與硬件有關(guān)的功能,都必須封裝在硬件層。但是,目前使用的磁卡系統(tǒng)的開發(fā)人員并不能實(shí)現(xiàn)這些設(shè)置。由于磁卡讀卡器利用USB端口可以直接連到電腦,而讀卡器在讀取卡片信息時(shí)會(huì)透過(guò)鍵盤事件的方式把卡號(hào)傳送至應(yīng)用程序,因此就等于使用者可以透過(guò)鼠標(biāo)直接輸入卡號(hào),卡的功能在邏輯上并沒(méi)有完全和用戶功能分離。

3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)

在對(duì)比了目前主要的數(shù)據(jù)庫(kù)管理系統(tǒng)以后,考慮選用MySQL,其特點(diǎn)如下。

(1)MySQL是開放式源代碼數(shù)據(jù)庫(kù)系統(tǒng),具備很好的可移植功能,并在各個(gè)編譯平臺(tái)通過(guò)了穩(wěn)定能力試驗(yàn);

(2)MySQL可以充分運(yùn)用CPU資源,運(yùn)用多線程編程,支撐多用戶、多任務(wù)。

(3)MySQL通過(guò)如Java數(shù)據(jù)庫(kù)連接(Java Database Connectioity,JDBC)、開放數(shù)據(jù)庫(kù)連接(Open Datebase Connectivity,ODBC)或者TCP/IP等多種形式完成數(shù)據(jù)庫(kù)系統(tǒng)網(wǎng)站鏈接,便于程式設(shè)計(jì)。

(4)MySQL有Navicat等相似的繪圖工具,便于使用者對(duì)數(shù)據(jù)庫(kù)信息系統(tǒng)管理、優(yōu)化、信息檢索等應(yīng)用。

(5) MySQL為各種主流編程語(yǔ)言,如C、C++、Ruby、Java和Python等,開通了API端口,便于程序設(shè)計(jì)。

(6) MySQL軟件系統(tǒng)小巧、特性強(qiáng)大、安裝方便,可以同步管理上千萬(wàn)條實(shí)時(shí)記錄。

(7) MySQL支援 Linux、Mac OS、Windows等各種操作系統(tǒng),并最終選定了 MySQL作為實(shí)驗(yàn)室管理系統(tǒng)的主要數(shù)據(jù)庫(kù)系統(tǒng)。

4 結(jié) 論

綜上所述,本文的分析主要利用了實(shí)驗(yàn)室開放系統(tǒng)的優(yōu)點(diǎn)。但經(jīng)過(guò)對(duì)比當(dāng)時(shí)市場(chǎng)上已有的實(shí)驗(yàn)室開源操作系統(tǒng),操作系統(tǒng)必須具備高功能、可擴(kuò)展性和通信穩(wěn)定性。系統(tǒng)使用Python編程語(yǔ)言開發(fā),并采用了PyQt作為圖形用戶界面架構(gòu),以便于進(jìn)行拓展功能。而電源管理使用了電力線載波控制,既不需要另外的控制線,還可以直接和現(xiàn)有的供電線路系統(tǒng)集成,以減少部署成本。

猜你喜歡
實(shí)驗(yàn)室功能信息
也談詩(shī)的“功能”
電競(jìng)實(shí)驗(yàn)室
電競(jìng)實(shí)驗(yàn)室
電競(jìng)實(shí)驗(yàn)室
電競(jìng)實(shí)驗(yàn)室
關(guān)于非首都功能疏解的幾點(diǎn)思考
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會(huì)信息
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
辨證施護(hù)在輕度認(rèn)知功能損害中的應(yīng)用
主站蜘蛛池模板: 国产成人乱无码视频| 免费国产在线精品一区| 蜜桃视频一区二区| 亚洲综合婷婷激情| 456亚洲人成高清在线| 欧美日韩国产在线人| 国产精品lululu在线观看| 99无码中文字幕视频| 国产成人精品男人的天堂| m男亚洲一区中文字幕| 国产亚洲成AⅤ人片在线观看| 久久久精品无码一区二区三区| 午夜a视频| 伊人色综合久久天天| 另类专区亚洲| 日本精品中文字幕在线不卡| 国产精品视频白浆免费视频| 国产爽妇精品| 精品国产一二三区| 久久国产精品娇妻素人| 手机在线看片不卡中文字幕| 天天摸夜夜操| 亚洲国产精品无码久久一线| 日韩一区二区三免费高清| 99re在线视频观看| 伊人91视频| 日韩欧美中文字幕一本| 精品无码视频在线观看| 宅男噜噜噜66国产在线观看| 91啪在线| 精品国产自在在线在线观看| 国产日韩欧美一区二区三区在线 | 亚洲欧美日韩成人高清在线一区| 国产99视频精品免费视频7| 久久这里只有精品国产99| 中文字幕人成乱码熟女免费| AV片亚洲国产男人的天堂| 一级毛片不卡片免费观看| 美女被狂躁www在线观看| 亚洲丝袜中文字幕| 国产一级做美女做受视频| 91麻豆国产在线| 中文字幕精品一区二区三区视频| 四虎永久在线| 国产精品毛片一区| 国产成人区在线观看视频| 久久亚洲国产视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久久久人妻一区精品色奶水 | 亚洲欧美成人网| 五月激情婷婷综合| 91福利一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 欧美综合在线观看| 久久这里只有精品免费| 欧美不卡视频在线| 999精品色在线观看| 欧美第九页| 国产免费好大好硬视频| 99视频免费观看| 国产丝袜无码一区二区视频| 青青青视频免费一区二区| 国产一区二区福利| 亚洲成在人线av品善网好看| 免费国产小视频在线观看| 亚州AV秘 一区二区三区| 成人免费一级片| 啊嗯不日本网站| 久久人搡人人玩人妻精品 | 亚洲AV无码一区二区三区牲色| 澳门av无码| 成人年鲁鲁在线观看视频| 欧美日韩精品综合在线一区| 精品国产美女福到在线不卡f| 日韩 欧美 小说 综合网 另类| 久久大香香蕉国产免费网站| 亚洲中文字幕在线精品一区| 亚洲AV无码乱码在线观看代蜜桃| 亚洲一级色| 国产一区二区在线视频观看| 无码 在线 在线| 精品国产一二三区|