羅劍文, 許佳玲, 何炎明, 張以順
(中山大學(xué) 生命科學(xué)學(xué)院, 廣東 廣州 510275)
開放實驗教學(xué)是深化實驗教學(xué)改革、提高實驗教學(xué)質(zhì)量的一項創(chuàng)新工作,建立和規(guī)范開放實驗管理制度是確保開放式研究性實驗教學(xué)能否順利進(jìn)行的關(guān)鍵[1-2]。實驗室儀器開放管理中,接口技術(shù)的應(yīng)用[3]控制了用戶在預(yù)約時間段內(nèi)的儀器使用權(quán)限,提高了管理效率。
實驗人員經(jīng)常會觸及開、關(guān)機的問題,許多人認(rèn)為非常簡單的開機關(guān)機,也有值得我們探討的地方。如何令日常儀器管理中的開、關(guān)機操作規(guī)范化[4],減少因此對儀器造成的損害,發(fā)揮設(shè)備的科學(xué)和經(jīng)濟效益,延長設(shè)備的有效壽命是一個重要的科學(xué)管理問題[5]。
實驗室儀器開放管理系統(tǒng)由預(yù)約管理系統(tǒng)和刷卡控制系統(tǒng)組成(見圖1),從軟件上實現(xiàn)了實驗室與儀器的預(yù)約,通過接口從硬件上實現(xiàn)了控制實驗室與儀器的使用,是一個基于Web平臺的網(wǎng)絡(luò)管理模型[6]。其中,刷卡系統(tǒng)又分為服務(wù)器端和客戶端??蛻舳耸褂镁W(wǎng)絡(luò)接口[7-8]與服務(wù)器端連接,它可通過普通交換機拓展,也可以使用無線網(wǎng)絡(luò)方式通信[9],易用且拓展性好。
圖1 實驗室儀器開放管理系統(tǒng)結(jié)構(gòu)
在儀器開放管理中,軟件預(yù)約系統(tǒng)與刷卡控制系統(tǒng)緊密結(jié)合,使預(yù)約記錄與使用記錄相對一致,但缺乏監(jiān)督用戶正常關(guān)機的機制,需靠用戶熟練掌握操作流程,并自覺按標(biāo)準(zhǔn)執(zhí)行[10]。在開放管理中,特別是儀器使用經(jīng)驗不多的新用戶,有時難免出現(xiàn)差錯。儀器在運行狀態(tài)下斷電輕則影響使用壽命,重則損壞儀器。所以在大型設(shè)備共享平臺的儀器開放管理系統(tǒng)中[11],可引入儀器操作監(jiān)控機制[12-13],將軟件預(yù)約系統(tǒng)與控制接口的刷卡系統(tǒng)有機地結(jié)合在一起,合理地控制流程。其中,進(jìn)程管理模式比較適合大型儀器PC機控制端的操作監(jiān)控,可有效地引導(dǎo)用戶合法關(guān)機。
在配置PC機的大型儀器中,外圍配套設(shè)施必須經(jīng)過接口與PC機連接,并通過PC機的主程序去控制儀器執(zhí)行各項操作指令。在儀器控制主程序運行過程中,會在PC機的操作系統(tǒng)里生成一個進(jìn)程,從任務(wù)管理器中,可以查看到這個主程序進(jìn)程的存在;同理,當(dāng)程序完全退出的時候,這個進(jìn)程也會隨之關(guān)閉。
早期曾經(jīng)設(shè)想過用正在運行的“應(yīng)用程序”作為刷卡系統(tǒng)的判斷依據(jù),但這個對話框里的內(nèi)容很容易被隱藏,影響系統(tǒng)對儀器運行狀態(tài)的判斷。進(jìn)程對話框里的內(nèi)容相對來說更能體現(xiàn)正在運行的程序,向系統(tǒng)反饋用戶操作信息。
引入進(jìn)程監(jiān)控機制的儀器開放管理系統(tǒng),就是利用關(guān)鍵進(jìn)程存在與否,判斷用戶是否已退出主程序,繼而判斷用戶是否合法關(guān)機,是否有權(quán)限退出管理系統(tǒng)。當(dāng)用戶退出時,讀卡器將用戶的刷卡信息通過USB接口傳遞到PC機上[12-13],發(fā)出“下機”命令;如果用戶尚未退出主程序,接口控制程序會檢測到相應(yīng)的進(jìn)程未退出,提示用戶關(guān)閉儀器控制主程序后,再刷卡退出登錄狀態(tài),按規(guī)定順序開、關(guān)機[14],以防止儀器外圍設(shè)施在未復(fù)位的狀態(tài)下,被強行關(guān)機。
當(dāng)用戶正常關(guān)閉主程序時,接口控制程序則檢測到儀器使用程序不在任務(wù)管理器的進(jìn)程列表中,允許用戶刷卡退出登錄狀態(tài),終止計費。如果涉及多個主程序,還可以通過設(shè)定程序關(guān)閉的順序,更加有效地引導(dǎo)用戶用規(guī)范的方式退出系統(tǒng)。
在刷卡程序的客戶端,設(shè)計一個系統(tǒng)管理員初始化客戶端系統(tǒng)的對話框。在程序初始化的時候,設(shè)定服務(wù)器端與訪客戶端的通信IP地址,并抓取一個儀器維持使用所必須運行的主程序(關(guān)鍵進(jìn)程)作為刷卡系統(tǒng)判斷儀器運行狀態(tài)是否已退出的依據(jù)。
(1) 開機。開機流程見圖2。
圖2 開機流程圖
//上機消息處理
{
if (WindowsMessage.MY_SAS_TYPE_LOGON == sasType)//判斷是否刷卡登錄系統(tǒng)
{
//開始儀器使用的處理過程
if (!_authenticationView.TryLogin())
{
_authenticationView.ShowWaitLoginView();//授權(quán)驗證不成功,返回等待登錄界面
return;
}
}
//授權(quán)驗證成功,進(jìn)入登錄前處理
if (WindowsMessage.MY_SAS_TYPE_LOGON == sasType)
{
_authenticationView.OnLoggedOn();
_authenticationView.HiddenDialog();
}
}
(2) 關(guān)機。關(guān)機流程見圖3。
圖3 關(guān)機流程圖
進(jìn)程監(jiān)控管理的相關(guān)代碼:
//判斷進(jìn)程是否存在
{
string name = ″AuthenticationClient″;//程序進(jìn)程名稱
int ProgressCount = 1;//判斷進(jìn)程是否運行的標(biāo)識
Process[] prc = Process.GetProcesses();
foreach(Process pr in prc)//遍歷整個進(jìn)程
{
if (name == pr.ProcessName)//如果進(jìn)程存在
{
ProgressCount = 0;//計數(shù)器清空
return;
}
}
if (ProgressCount != 0)//如果計數(shù)器不為0,說明所指定程序沒有運行
{
switch(type)
{
case WindowsMessage.WM_USER_ON://下機消息
_winLogon.wlxSasNotify(WindowsMessage.MY_SAS_TYPE_LOGON);//通知程序處理登錄退出流程,向服務(wù)器返回刷卡記錄并終止計費
break;
case WindowsMessage.WM_USER_SHUTDOWN://關(guān)機消息
_winLogon.wlxSasNotify(WindowsMessage.MY_SAS_TYPE_SHUNTOWN);//通知程序處理登錄登出流程,向服務(wù)器返回刷卡記錄并終止計費
break;
default:
return;
}
}
else
{
MessageBox.Show(″請關(guān)閉儀器控制主程序后,再刷卡退出!″);
return;
}
}
這個模型引入了用戶操作的反饋機制,并利用操作系統(tǒng)自帶的任務(wù)管理器的進(jìn)程監(jiān)控功能來實現(xiàn),工作流程簡單可行。在大型儀器的關(guān)機操作中,有效地提示用戶按流程關(guān)機,減少了儀器在未復(fù)位狀態(tài)下關(guān)機帶來的損壞。本文研究的課題是實驗技術(shù)人員長期接觸各種儀器體會到的儀器使用的共性問題,所述的解決方法是專業(yè)技術(shù)和管理方法的完美結(jié)合。
[1] 溫光浩,程蕾.加強實驗室開放與共享為創(chuàng)新人才培養(yǎng)提供強有力支撐[J].實驗室研究與探索,2009,28(4):10-12.
[2] 何炎明,戚康標(biāo).實驗室全開放模式下安全管理的實踐與探索[J].實驗技術(shù)與管理,2012,29(5):213-216.
[3] 劉樂善. 微型計算機接口技術(shù)及應(yīng)用[M].武漢:華中科技大學(xué)出版社, 2000.
[4] 沈啟松, 周亞林.談如何提高醫(yī)護人員的儀器操作能力[J].醫(yī)療裝備,2005,18(12):30-31.
[5] 王金發(fā),戚康標(biāo).強化共享平臺建設(shè)促進(jìn) 教學(xué)與科研相互轉(zhuǎn)化[J].實驗室研究與探索,2009,28(4):216-217,235.
[6] 李捷,王汝傳.基于Web平臺的分布式網(wǎng)絡(luò)管理模型的研究與實現(xiàn)[J].計算機工程與應(yīng)用, 2003,39(36):134-137.
[7] 王亮,白晶.基于Internet的遠(yuǎn)程機電控制系統(tǒng)智能網(wǎng)絡(luò)接口設(shè)計[J].機電一體化,2007(1):52-55.
[8] 龔靜.信息家電網(wǎng)絡(luò)的嵌入式網(wǎng)絡(luò)接口設(shè)計[J].通信與廣播電視,2009(1):34-42.
[9] 吳海華,孔為民.無線網(wǎng)絡(luò)應(yīng)用實例分析[J].現(xiàn)代情報,2008(9):223-225.
[10] 董文祥.醫(yī)用電子儀器維護和修理的一般方法[J].醫(yī)療衛(wèi)生裝備,2008,29(5):120.
[11] 張以順,馮雙.實驗教學(xué)示范中心大型設(shè)備共享平臺建設(shè)探索與實踐[J].中國現(xiàn)代教育裝備,2012(21):15-18.
[12] 陳爭光, 楊雪松.系統(tǒng)進(jìn)程監(jiān)視及保護系統(tǒng)的實現(xiàn)[J].自動化技術(shù)與應(yīng)用,2008 ,27(2):64-66.
[13] 吳正國,周治國.自動化運維操作監(jiān)控審計技術(shù)的探討[J].電子技術(shù),2011(10):40-42.
[14] 王冬海,唐濤.USB總線的IC 卡讀卡器設(shè)計[J].北京交通大學(xué)學(xué)報,2004,28(5):88-91.