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

虛擬實驗環境中協同支撐的設計與實現

2011-09-17 07:34:46虞江鋒劉蘭英盛羽王建新
中南大學學報(自然科學版) 2011年8期
關鍵詞:實驗室用戶實驗

虞江鋒,劉蘭英,盛羽,王建新

(1. 浙江廣播電視大學 信息與工程學院,浙江 杭州,310030;2.中南大學 信息科學與工程學院,湖南 長沙,410083)

虛擬實驗環境對于節省教育成本、推進實驗教學改革具有廣泛而重要的應用價值,在現代遠程教育領域有著廣闊的發展前景,因此,虛擬實驗環境的建立一直是網絡計算技術領域的熱點研究課題[1?3]。目前,國內外的相關研究組織和個人對虛擬實驗環境的建設展開了大量而深入的研究工作,如:利用Java語言和數字信號處理技術相結合開發的仿真系統 J-DSP[3],以組件技術構架并通過 CORBA技術實現 Java 與Matlab 之間的無縫聯接的基于 Internet 的數字圖像處理仿真模型系統[2,4],基于組件的實時入侵檢測虛擬實驗室系統[5];采用純軟件技術將各種常見的集成電路芯片封裝成組件;開發出基于組件的計算機組成原理虛擬實驗室[6]、基于組件的模型機虛擬實驗平臺(CPU_VLAB)[7]等。然而,目前已經建成的虛擬實驗室在很多方面仍然存在一定缺陷和不足,無法滿足實驗用戶復雜多變的應用需求。主要體現在:這些虛擬實驗室產品都沒有對用戶的協同工作提供支持,很少有虛擬實驗平臺能夠提供不同實驗者之間的實驗指導和實驗協同設計功能,因此,現有的虛擬實驗平臺對實現人與人之間交互與協同顯得無能為力。而協同工作能力已經成為當代人才必備的能力之一,同時,協同工作功能在虛擬實驗室中的實現還有利于師生實驗過程的互動以及學生之間的相互學習,因此,在虛擬實驗室中提供協同工作的支持有著重要的意義。同時,現階段國內外科研機構在協同工作、分布計算、決策支持系統等方面進行了大量細致的研究工作,并且借助實際研究背景開發出了原型系統,如文獻[8?9]針對分布式環境中的協同問題進行了研究,文獻[10]就協同設計中的群體感知等問題提出了解決方案,建立了模型系統,文獻[11]對視頻會議中協同問題展開了研究,文獻[12]中基于 Applet[13]構建了動態的實時協作框架,在Applet之間復雜的通信方面提出了較好的通信策略,為遠程的虛擬實驗室協同工作提供了很好的方法。但是,將協同技術直接應用于真正應用中的虛擬實驗環境中的相關研究還比較欠缺,而虛擬實驗環境下的協同設計的權限控制與管理以及協同機制等方面都有許多問題需要進一步研究和深入探索。

針對以上問題,本文作者將協同技術與虛擬實驗環境技術相結合,以虛擬實驗為基礎,建立網上協同虛擬實驗室,在基于網絡環境的虛擬實驗環境中增加支持網絡協同工作的支撐功能,使得多個實驗者之間可以按照一定的規則實現協同實驗,提供實時的、真實的虛擬實驗系統。

1 虛擬實驗室中協同支撐的架構設計

基于虛擬實驗室的協同支撐環境的整體架構如圖1所示。平臺采用B/S架構模式,客戶端用戶只需要安裝瀏覽器,其他的工作都在服務器部署完成。系統客戶端采用瀏覽器嵌入Applet的方式實現,基于Java Applet的客戶端程序主要提供虛擬實驗組件的搭建平臺和協同命令的請求及執行等服務。Web服務器端程序主要提供已經開發好的經典實驗文件庫和系統開發好的實驗組件庫,客戶端可直接通過瀏覽器下載應用這些庫資源,應用服務器主要完成整個系統中的應用邏輯處理,用戶管理、協同控制以及其他輔助服務功能。

系統主要分為Applet客戶端和服務器端兩部分,客戶端主要包括3個功能模塊:虛擬實驗設計、協同工作支持和相關通信模塊。虛擬實驗設計模塊中用戶可以自主地進行實驗組件的搭建,并通過運行實驗檢驗結果的正確性。協同工作支持模塊中完成在協同實驗模式下的客戶端工作,如發送和接收服務器消息,解析命令,調用本地方法等,由通信模塊完成實驗設計平臺與協同支持平臺的通信,以及客戶端與服務器之間消息的互通。服務器端的Web服務器端通過資源部署支持多用戶同時在線并發訪問Web服務器、下載Applet實驗客戶端。應用服務器主要包括3個功能模塊:用戶管理、平臺操作權管理和實驗同步控制。其中,平臺操作權管理和同步控制是應用服務器中最主要的兩大功能模塊。操作權管理模塊結合用戶管理模塊對實驗室平臺的操作權限進行控制,結合虛擬實驗室主要用于演示教學活動的應用實際,本系統中通過將共享對象的修改訪問權加鎖的方法,保證在某一段時間內授予系統某個唯一的訪問者,從而保證數據的一致性。同步控制模塊主要用于保證協同中的客戶端實驗數據的一致性,針對客戶端在協同進行中途加入協同組或者因網絡原因等情況,在同步控制模塊進行檢測,并將最新的同步數據反饋至客戶端。應用服務器與客戶端的功能模塊如圖2所示。

圖1 協同支撐環境架構Fig.1 Collaborative support environment architecture

圖2 主要功能模塊圖Fig.2 Core functional module diagram

2 客戶端協同設計與實現

由圖1可以看出,客戶端支持的實驗方式主要有2種:單獨實驗和協同實驗。單獨實驗模式下,用戶可自主選擇虛擬實驗平臺中組件,將相應引腳進行連接,完成實驗的設計搭建,并可以動態設置相關實驗組件狀態,實驗平臺通過圖形化界面生動顯示運行實驗的結果,檢驗實驗數據的正確性。用戶可以根據需要進入協同實驗模式,在協同實驗模式下,在線用戶之間可以進行協同實驗、作業提交及語言交流討論等交互性活動。協同模式下,有實驗平臺操作權的用戶在對平臺進行操作時,客戶端產生本地操作響應,同時將相關的操作信息生成命令發送至服務器,經服務器轉發至其他用戶,使每個操作都能實時的體現于其他參與者的機器上。對協同狀態下沒有操作權限的用戶,在接到操作命令消息時,通過消息解析調用平臺相關方法,執行相同的操作,并在本地客戶端顯示執行結果,保證客戶端在協同狀態中實驗數據的一致性。為實現對用戶協同工作的支持環境,在客戶端中加入協同信息面板及相關通信模塊,它記錄用戶連接狀態,實時顯示出當前協同用戶及用戶交互消息及系統消息,同時負責協同相關信息的傳送、接受和執行處理。協同信息面板采用Java語言實現,與實驗設計平臺在層次上平行,在 Java Applet中整合實現,通過嵌入Web網頁的方式整體呈現于用戶面前。因此,在協同平臺與實驗設計平臺中的信息通信及交互上實現了無縫連接。其中客戶端的消息通信機制與消息封裝和解析是客戶端在協同設計實現過程中考慮的核心問題:

2.1 消息通信機制

在協同模式下,客戶端之間的實時的交互及實驗平臺操作描述等協同信息通過客戶端的消息通信模塊進行發送和接收,客戶端之間通過Socket與服務器保持雙向并且持續的連接,方便地實現客戶端與服務器之間信息通信的不斷更新。在信息傳輸協議上,采用基于 TCP/UDP的傳輸協議相結合的方式,既保證客戶端通信質量同時實現即時通信的實時性,客戶登錄等信息采用TCP進行傳輸,客戶端之間即時通訊信息采用UDP傳輸協議進行發送和接收,該模塊采用多線程機制,當有實驗文件需要傳輸時,建立文件傳輸線程專門用于文件通信,各個線程的控制流彼此獨立,大大提高了消息處理的并發性和效率。

2.2 消息封裝與解析

合理有效的消息格式設置是完成客戶端命令生成與解析完成通信的重要組成部分,本系統中用Message類用于描述系統中各種消息,系統將每個消息視為一個二元組對象:。其中:MsgFlag是消息類型標志,MsgObj表示消息體。協同系統中Message的主要類型有 string和 experiment,string類型的消息為字符串信息,進一步分為平臺操作命令信息、登錄信息、用戶交互信息等;experiment類型的消息用于保障協同中實驗數據的同步。由于MsgObj的設置可以是一個Message對象,而且內容長度可以靈活設置,方便地用于將系統消息的進一步細分,因而適應系統中消息多樣化需求。

客戶端在接收到消息后,依據系統自定義規則進行消息解析,并調用執行相應方法,完成相同的平臺操作,例如操作用戶在實驗平臺上添加一個實驗組件,主要的實現代碼示例如下:

3 應用服務器的設計與實現

協同支撐平臺的應用服務器是實現協同支撐的樞紐。應用服務器采用了多線程并發處理的方式在服務器建立一個線程池,當有客戶端連接時就在池中開辟一個線程為它服務,同時服務器保存客戶端的一些基本的信息,如登錄客戶的名稱、登錄時間等,實現了用戶的登錄控制和管理,并檢測客戶端網絡連接情況。應用服務器負責整個系統中消息傳遞的中轉,為了避免大量消息到達時處理不過來而導致丟失的情況,服務器中使用消息隊列,服務端接收到消息后,壓入接收緩沖區,接收緩沖線程分析其中結構,根據類型實例化出相應消息對象,確認消息的接收方和發送方,得到接收方后再將消息封裝好壓入到發送隊列。

實驗平臺的操作權限控制和實驗數據一致性保證是實驗平臺實現協同支撐要解決的2個核心問題。在分布式協同環境中,由于不同用戶可以在參與協同工作的不同計算機上同時操作,因此,哪些操作有效,哪些操作無效的選擇與控制就變得非常重要,同時,新成員加入已有的實驗組,新成員的實驗平臺以及實驗平臺操作鎖等相關狀態為該實驗組的當前狀態,而不是新建狀態。系統平臺針對這些問題,采取了相應的控制策略。

3.1 實驗平臺操作權控制策略

系統采用實驗平臺的復制式應用共享策略,參加協同的每個計算機上都通過瀏覽器打開運行結構相同的虛擬實驗室客戶端,用戶對虛擬實驗平臺的操作(例如鼠標、鍵盤輸入消息等),通過應用程序共享技術被復制到其他計算機上,在其他計算機上產生同樣的輸出結果,使協同中每個用戶能夠感覺到其他人的存在,達到多用戶應用程序的網絡化協同。圖3所示為虛擬實驗平臺共享的實現結構。由圖3可以看出,客戶在實際運行的相當于多個結構相同的客戶端拷貝,協同的結果在本地產生,因而在這種機制中,要選擇當前獲得操作權限的用戶的輸入作為所有用戶節點實驗平臺的輸入,該功能由操作共享策略和權限模塊共同完成。對具有操作權限的用戶,執行命令回放模塊不起作用,其本地輸入直接送往實驗平臺處理,同時還要把輸入消息錄制下來,生成命令消息并發送到沒有操作權的用戶節點。而對沒有操作權的用戶節點,其輸入被屏蔽掉,本地執行模塊不起作用,實驗平臺不對本地輸入作響應,應用服務器把具有操作權限的節點發送過來的消息通過輸入回放模塊送往應用程序生成輸出結果。

圖3 虛擬實驗平臺共享的實現結構Fig.3 Share-structure of virtual lab platform

系統采用粗粒度操作權加鎖的方法實現虛擬實驗室平臺的權限控制,將整個實驗平臺作為最小的加鎖對象,在某一段時間內只授予某個唯一的操作者對實驗平臺進行操作,在客戶端和服務器端中分別有一個操作權標志變量,它是一個布爾變量,由它來控制誰擁有操作權。當用戶事件送到網絡上之前,需要檢測該標志的狀態,只有在它使能的狀態下,事件消息才能分發給其他參與者。否則,其他參與用戶可以實時感知協同中操作效果,但是對平臺的操作不會發送給其他用戶,從而使對虛擬實驗平臺的操作得以串行化,進而保證同步數據的一致性。

3.2 協同同步機制

應用服務器中實驗信息同步控制模塊是保證實驗操作及數據一致性的重要組成模塊。同步協同支撐平臺可以為用戶提供在線的、實時的討論和實驗操作的同步,但是,在 Internet網絡連接條件下,網絡帶寬和傳輸速率成為實現同步協同的瓶頸,因此,同步控制模塊添加了服務器定時輪詢機制,保障用戶網絡通信質量,如果在設定時間內的操作同步都沒有到達,同步模塊將其視為新用戶,及時完成其本地實驗面板的更新,保證參與協同用戶實驗操作的流暢。

當服務端有新的用戶參與到協同組時,同步控制模塊檢測協同實驗是否正在進行,若沒有正在進行的協同實驗,則新用戶實驗平臺保持新建狀態,否則,由同步控制模塊發送同步需求命令給當前有操作權的用戶,通知處理它完成新用戶的實驗同步的處理,使得新用戶的實驗平臺與當前協同實驗平臺保持同步。此時具有操作權的用戶此時需要完成以下工作:暫停下一步將要進行的平臺動作,將當前最新的實驗狀態封裝為一個系統消息,即為experiment類型的消息,并指定接收者為新用戶。新用戶接收到相應experiment消息并解析消息并更新運行自己實驗平臺面板狀態,從而與協同組用戶實驗狀態達到同步。在完成新用戶的遲到信息的同步處理之后,新產生的動態的實驗同步信息將在協同組中統一轉發執行,使整個協同組保持同步處理狀態。應用服務器處理實驗同步的交互序列圖如圖4所示。

圖4 實驗同步處理模型Fig.4 Experimental synchronous process model

4 運行實例

以在組成原理虛擬實驗室中實現協同工作為例,給出在虛擬實驗環境中實現協同工作支撐的實例。計算機組成原理虛擬實驗室將各種常見的集成電路芯片封裝成組件的形式,實驗者通過選取組件、搭建實驗流程、運行并查看實驗結果的仿真實驗過程,驗證單個芯片的功能或進行組合邏輯測試,了解計算機的信息存儲以及邏輯運算的原理。由于組成原理實驗原理復雜,實驗組件繁多,在組成原理虛擬實驗環境中實現協同工作具有一定的代表性。

將經過數字簽名的Applet客戶端應用程序和相關資源程序部署在Tomcat Web服務器上,同時開始應用服務器等待用戶連接,協同工作支撐的應用服務器中可以進行服務器端口的設置,并用表格的形式記錄當前連接用戶的信息(包含用戶機IP,用戶名,登錄時間等),利用可視化功能按鈕方便的實現用戶管理功能。同時實時顯示應用服務器公告信息,標記當前操作權用戶等協同工作相關信息,并生成登錄日志,以備登錄歷史查詢使用。

客戶端通過打開瀏覽器下載Applet客戶端,進入虛擬實驗環境中,通過客戶端協作信息面板與應用服務器建立連接,用戶進入協同實驗模式,實驗平臺操作權閑置時,任何人都可以申請對平臺進行操作。取得操作權限之后,用戶對虛擬實驗平臺的操作將經由服務器以命令的形式轉發至其他協同用戶,保證協同成員及時同步操作。圖5所示為在協同過程中的3個用戶的客戶端顯示狀態。其中,具有操作權限的test1用戶通過拖拽的形式將實驗組件添加到實驗面板中,并將組件用導線連接,同時,另外的協同中的用戶同時執行應用服務器轉發的命令,其用戶界面上出現相同的組件并在實驗系統中建立了相應的組件連接關系。

圖5 虛擬實驗室中協同工作運行實例Fig.5 An instance of collaboration in Virtual Lab

5 結論

(1) 協同支撐環境與虛擬實驗室平臺實現無縫連接,提高了師生之間以及學生之間的交互性,增強了虛擬實驗室用戶的參與感和沉浸感。

(2) 協同支撐環境模塊化清晰,具有通用性,以此為基礎可以快速應用到多個虛擬實驗室,如數字通信原理、數字信號處理等課程的虛擬實驗室,為現代遠程教育中基于網絡的協同虛擬實驗室的應用開發提供了參考。

[1] Spanias A, Atti V, Papandreou-Suppappola, A, et al. On-line signal processing using J-DSP[J]. IEEE Signal Processing Letters, 2004, 11(10): 821?825.

[2] 王建新, 陸煒妮, 王偉平. 基于組件數字圖像處理仿真系統的設計與實現[J]. 系統仿真學報, 2004, 16(6): 1213?1216.WANG Jian-xin, LU Wei-ni, WANG Wei-ping. A component-based simulation system for digital image processing[J]. Journal of System Simulation, 2004, 16(6):1213?1216.

[3] Spanias A, Atti V. Interactive online undergraduate laboratories using J-DSP[J]. IEEE Transactions on Education, 2005, 48(4):735?749.

[4] WANG Jian-xin, Liu Li-juan, JIA Wei-jia. The design and implementation of digital signal processing virtual lab based on components[C]//International Conference of Web-Based Learning (ICWL2005). Berlin: Springer-Verlag, 2005: 291?301.

[5] 王建新, 安瑩, 吳國政, 等. 基于組件的實時入侵檢測虛擬實驗室的設計與實現[J]. 系統仿真學報, 2006, 18(11):3283?3286, 3296.WANG Jian-xin, AN Ying, WU Guo-zheng, et al. Design and implementation of real-time ids virtual lab based on component[J]. Journal of System Simulation, 2006, 18(11):3283?3286, 3296.

[6] 王建新, 張麗媛, 盛羽, 等. 基于組件的計算機組成原理虛擬實驗室的設計與實現[J]. 系統仿真學報, 2008, 20(9):2469?2474.WANG Jian-xin, ZHANG Li-yuan, SHENG Yu, et al. Design and implementation of principles of computer organization virtual lab based on component[J]. Journal of System Simulation,2008, 20(9): 2469?2474.

[7] 盛羽, 王建新, 謝朝暉. 模型機虛擬實驗平臺的設計與實現[J]. 中南大學學報: 自然科學版, 2009, 40(6): 1609?1615.SHENG Yu, WANG Jian-xin, XIE Zhao-hui. Design and implementation of model computer virtual lab[J]. Journal of Central South University: Science and Technology, 2009, 40(6):1609?1615.

[8] Tran M H, Raikundalia G K, Yang Y. Using an experimental study to develop group awareness support for real-time distributed collaborative writing[J]. Information and Software Technology, 2006(48): 1006?1024.

[9] Morris M R, Fisher D, Wigdor D. Search on surfaces: Exploring the potential of interactive tabletops for collaborative search tasks[J]. Information Processing & Management. [EB/OL].[2009.11.5]http://www.elsevier.com/locate/infoproman.

[10] SHEN Wei-ming, HAO Qi, LI Wei-dong. Computer supported collaborative design: Retrospective and perspective[J].Computers in Industry, 2008(59): 855?862.

[11] Ertl B, Fischer F, Mandl H. Conceptual and socio-cognitive support for collaborative learning in videoconferencing environments[J]. Computers & Education, 2006, 47(3):298?315.

[12] Jara C A, Candelas F A, Torres F, et al. Real-time collaboration of virtual laboratories through the Internet[J]. Computer &Education, 2009, 52(1): 126?140.

[13] Eckel B. Java編程思想[M]. 京京制作室, 譯. 北京: 機械工業出版社, 1999: 15?35.Eckel B. Thinking of java[M]. Jingjing Studio, trans. Beijing:Press of Mechanical Industry, 1999: 15?35.

猜你喜歡
實驗室用戶實驗
記一次有趣的實驗
做個怪怪長實驗
電競實驗室
電子競技(2019年22期)2019-03-07 05:17:26
電競實驗室
電子競技(2019年21期)2019-02-24 06:55:52
電競實驗室
電子競技(2019年20期)2019-02-24 06:55:35
電競實驗室
電子競技(2019年19期)2019-01-16 05:36:09
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
主站蜘蛛池模板: 亚洲中文字幕97久久精品少妇| 日本人妻一区二区三区不卡影院 | 四虎成人精品| 国产成人亚洲毛片| 五月婷婷丁香综合| 中文字幕亚洲综久久2021| 欧美在线黄| 黄色网页在线播放| 在线观看亚洲精品福利片| 亚洲第一中文字幕| 久久成人18免费| 青草娱乐极品免费视频| 嫩草影院在线观看精品视频| 亚洲高清资源| yy6080理论大片一级久久| 久久永久精品免费视频| 中文精品久久久久国产网址| 国产在线第二页| 久久国产av麻豆| 九九九国产| 日韩在线视频网| 一级不卡毛片| 好吊日免费视频| 欧美一区福利| 欧美日韩动态图| 久久综合结合久久狠狠狠97色| 国产成人综合亚洲欧美在| 国产在线观看精品| 呦女精品网站| 国产激情无码一区二区三区免费| 伊在人亚洲香蕉精品播放| 中文字幕精品一区二区三区视频| 99热这里只有成人精品国产| 国产成人高清精品免费5388| 毛片基地美国正在播放亚洲 | 91区国产福利在线观看午夜| 欧美亚洲日韩中文| 国产人成网线在线播放va| 秋霞午夜国产精品成人片| 亚洲人妖在线| 成人综合在线观看| 国产v精品成人免费视频71pao| 欧美中文一区| 色婷婷在线影院| 人妻无码中文字幕一区二区三区| 无码高清专区| 亚洲综合九九| av一区二区人妻无码| 九九精品在线观看| 久久精品最新免费国产成人| 免费无遮挡AV| 无码一区中文字幕| 国产精品亚洲专区一区| 欧美h在线观看| 美女国内精品自产拍在线播放| aa级毛片毛片免费观看久| 国产91视频观看| 在线观看亚洲人成网站| a天堂视频| 亚洲无码高清视频在线观看| av性天堂网| 亚洲天堂区| 国产一区二区三区免费| 国产呦精品一区二区三区下载| 欧美全免费aaaaaa特黄在线| 国产精品女人呻吟在线观看| 国产成人免费观看在线视频| 成人精品视频一区二区在线| 黄色a一级视频| 成年女人a毛片免费视频| 99久久亚洲综合精品TS| 综合网久久| 色婷婷成人| 国产免费怡红院视频| 高清无码不卡视频| 亚洲无码高清一区| 国产免费怡红院视频| 91精品国产91久无码网站| 亚洲中文在线看视频一区| 欧美性天天| 欧美国产日韩在线| 2020国产免费久久精品99|