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

多信息和通信方式虛擬通信系統研究

2007-12-31 00:00:00王維毅
商場現代化 2007年12期

[摘要] 本文主要對虛擬信息類型和通信方式進行分析,并根據本文所要設計完成的計算機組成原理的特征,在現有的通信機制中選擇符合系統通信要求的通信機制,并將其封裝成一個子通信子系統,它可以支持多種信息類型和通信方式。

[關鍵詞] 虛擬 通信子系統 設計 實現

用現代計算機技術研究虛擬實驗室的應用,是近幾年國內外實驗教學研究的熱點。虛擬實驗室就是以計算機網絡為核心,將虛擬儀器通過網絡連接起來,以實現數據采集、分析和遠程操作的一個系統,它具有透明性、資源共享性、互操作性、用戶自主性、擴展性以及安全性等特點,是傳統實驗室無法比擬的。通信與調度管理是構建虛擬教學實驗室系統的關鍵問題,各種數據的傳輸需要一個良好的通信機制來保證,調度管理則是系統能夠有序化工作的關鍵。

一、虛擬教學實驗室通信子系統的通信機制選擇

在當下流行的多種通信方式中,共享的通信方式、NetBIOS和MailSlot的可靠性差。DDE,WM_COPYDATA和剪貼板是同一臺計算機中不同應用程序之間的進行數據交換的方式。Pipe的速度較慢,而MailSlot最大的缺陷是不可靠。Sockets由于是工作在通信的底層,實現起來比較復雜,但是如果是工作在Windows平臺之上,則不存在這個問題,因為微軟公司提供了相應的控件。RPC對外界屏蔽了通信細節,具有較好的結構化和抽象能力,它是分布在不同處理機上的程序進行合作的一種高級機制,并被廣泛地用于分布式操作系統、分布式數據庫和客戶/服務器計算機領域中。CORBA適用于異構的、大規模的分布式系統。它們各有各的優缺點,沒有哪一種是萬能的。因此,只有在合適的場合采用合適的方案,才是最好的解決辦法。

由于基于局域網的虛擬教學實驗室系統來說,主要是運行在Windows平臺之上,并結合本文所設計的計算機組成原理虛擬實驗室的特點,因此我們使用Socket來實現系統的通信。

二、虛擬教學實驗室通信子系統信息類型與通信方式設計

由于虛擬實驗室需要支持不同的信息流,如實驗數據、白板信息等,還要支持不同的通信方式,如單播、組播和廣播,從而實現學生可以單獨實驗、協同實驗和文本交流等功能。所以,虛擬實驗室必須解決多種消息類型和多種通信方式這一基本應用需求。

1.系統的信息類型設計。在虛擬實驗室系統當中,客戶端與服務器端之間存在著大量的信息交互,這些信息的類型多種多樣,而且這些信息對網絡的通信有不同的要求,有些對實時性要求較高,有些則對順序和可靠性要求較高。

(1)數據文本信息。主要指用戶所發送的實驗數據和服務器處理后的實驗數據。在本系統中,客戶端將用戶的操作及實驗數據以文本文件的形式傳送給應用服務器,服務器進行處理后,也是以文本文件的形式將處理結果傳回客戶端。由于該數據量不是很大,所以通常用TCP形式實現。

(2)白板信息。白板可以使每一個實驗成員利用圖形、文字等協同合作一個實驗。傳送的白板數據是對繪圖對象的操作,其先后相關性體現在各個繪圖對象的屬性變化上,任何數據的傳輸速度如果過慢的話,將體現不出協同和合作的特性,因此必須保證傳送的實時性,通常以UDP的形式實現。

(3)音頻/視頻信息。這兩種信息對于傳輸的實時性要求較高,對可靠性要求較低,因此通常以UDP的形式實現。但是為了提高可靠性,要在UDP的基礎上加上質量保證控制機制。

(4)文字信息。文字信息提供以文字形式交流的手段,多個用戶進行實驗時,可以互相進行簡單的文字交流,在虛擬實驗室當中,文字信息數據量小,以TCP形式實現。控制信息:控制信息是實現協同和管理的根本保證,必須以可靠的形式傳輸。由于其數據量很小,所以通常以TCP形式實現。

2.系統的通信方式設計。在虛擬實驗室當中,服務器和客戶端在通信中要求能夠實現單播、組播和廣播。單播是將數據從一個發送點傳輸到一個接收點,是點到點的通信方式。廣播是將數據發送給網絡中的所有節點,是點到所有節點的通信方式。組播是介于單播與廣播之間的一種點到點的通信方式,它是將數據從一個節點發送給特定“組”內的所有節點。

圖1單播通信結構示意圖

(1)單播通信方式。單播通信,就是一個用戶在同一時間只能與另一用戶進行通信。其拓撲結構如圖1所示。當用戶1向用戶3發送信息時,用戶在信息包中聲明需要服務器提供點對點通信方式,同時在信息包中必須提供用戶3的IP地址。這樣服務器就為雙方建立了通信連接,信息就可以在兩個用戶之間傳遞,而網上其他用戶是無法得知信息內容的。圖中虛線表明信息的流動方向。

單獨完成某個實驗時,不需要和其他人合作完成,每個人各自完成自己所選的實驗,而互不干擾。因此,在這種情況下,采用單播的通信方式。

(2)組播通信。組播通信,就是一個用戶在同一時間可以與其它任意指定用戶之間進行通信,被指定的用戶數量必須大于2。其拓撲結構如圖2所示。

在該圖中,用戶1通過服務器同用戶2、用戶4建立鏈路。因此用戶1發送的信息可以被用戶2和用戶4同時接收。用戶1在發送信息時必須在信息包中表明多點傳送方式,以及接收該信息的用戶地址。

在本系統中,如果一個人需要合作完成某個實驗,也稱協同實驗,對于某個人在客戶端所作的實驗設計編輯操作,先由虛擬實驗平臺將它轉換為消息數據,在本地子網進行組播。于是,合作的組內成員客戶端可以直接收到組播的消息數據。

圖2組播通信結構示意圖

(3)廣播方式。廣播方式就是,一個用戶發出的信息包,被發往網上所有用戶。其通信方式如圖3所示。在本系統中,服務器需要向所有的客戶端發出一些簡單的消息,在這樣的情況下,使用廣播方式可以減輕服務器的負載,提高系統的效率。

圖3廣播方式結構圖

3.通信子系統的框架設計。根據虛擬教學實驗室系統的不同要求,為了屏蔽底層通信方式的差異,提供具有特定服務質量的通信服務。通過以上對多種信息類型和多種通信方式的分析,設計了一個系統,稱為通信子系統,它提供對單播、組播和廣播的支持,并且能夠完成系統客戶端和服務器端之間的通信。

圖4通信子系統框架

由于在本系統中,虛擬實驗模塊所產生的數據無論是用戶的注冊/登錄信息還是實驗據信息,都是文本數據,都采用TCP來實現。在協同實驗當中,白板模塊所產生的信息有可能是文字信息,也有可能是圖像信息,在本文中我們采用UDP的形式來實現。控制信息和文字信息都是以TCP來實現的。

三、虛擬實驗室通信子系統的功能實現

1.信息處理模塊。(1)阻塞和非阻塞通信原語。阻塞原語(也叫同步原語),當一個進程執行“發送”調用,信息正在發送時,執行“發送”原語的進程將被阻塞(即掛起)。系統調用“發送”命令之后的代碼不能執行直到信息已經發送出去。同樣的道理,對于“接收”命令,在沒有實際收到信息之前是不能返回調用進程的,而執行“接收”原語的進程一樣要掛起等待,哪怕等無限長時間。在虛擬教學實驗室系統中,“接收”和“發送”進程都是與特定的端口相連接的。也就是說,接收進程只能收到發送與之相關的特定端口的信息,對于其他信息則無法接收。同樣,“發送”進程也只能將信息發送到特定的端口(一般是接收方的接收端口)。

與阻塞原語相對應的是非阻塞原語(也叫異步原語)。在這種原語中,發送進程調用“發送”命令后不掛起,而是立即將控制權交給調用進程。非阻塞原語的優點是發送進程可以與信息的發送并行操作。然而,使用非阻塞原語在獲得良好性能的同時也帶來了缺點,這就是發送進程必須等待信息已經正確發送出去,才能修改發送緩沖區中的數據,否則可能帶來嚴重的正確性問題。

對于這個問題可以有兩種解決方案。一是將發送信息拷貝到信息緩存區,從而允許發送進程繼續運行。第二種方案是當信息發送成功后中斷發送進程,以便告之它可以繼續使用發送緩沖區,這種方法不需要信息的拷貝,從而節省時間。但用戶級的中斷會使程序變得較復雜,并會引入競爭條件,使得程序的執行不具有可重復性。在一般情況下,第一種選擇是最好的,容易理解而且實現起來也最簡單,不需要另外的緩沖區,可以很快地發送信息。另外,如果對于某些應用必須將處理和信息傳輸并行操作,那么,第二種是最好的。

(2)系統的兩種通信模式。在本系統中,客戶端和服務器端之間的通信我們采用了基于TCP/IP協議族上的TCP和UDP協議,該協議是利用傳輸層上的Socket構建的TCP協議和UDP協議根據虛擬教學實驗室系統的特點以及上面對信息流的分析,其實現方式包括以太網下TCP和UDP的Socket兩種通信模式,在本系統中,由于信息類型不同,我們使用基于TCP的Socket來完成對實驗數據這些數據的傳輸,用基于UDP的Socket來完成對白板和控制信息的傳輸。

2.系統管理模塊。在虛擬教學實驗室系統中,由于存在多個客戶同時訪問服務器的可能性,如果有多個用戶同時訪問服務器端,那么就會出現多個線程,那么就必須對這些線程進行統一的管理,要為所有的用戶維護接收和發送線程,還必須對這些用戶的線程進行調度,使這些線程按照一定的策略運行,維護著系統的運行。服務端還必須有一個主控線程負責對用戶列表進行初始化,建立各個通信中需要用到的套接字,創建控制線程、白板轉發線程:負責監聽來自客戶端的建立控制連接或白板連接的請求,有請求到來時建立通信連接。

3.應用接口。應用接口實現通信子系統與應用層程序的交互。它包括兩方面內容,一是應用程序的編寫應遵循通信子系統所規定的標準;二是應用程序可以通過通信子系統提供的應用程序接口使用通信子系統。應用通信子系統構建虛擬教學實驗室系統的目的是為了滿足系統對開放性、實時性、靈活性、可擴充性和易操作性的要求。

應用層可以通過通信子系統提供的應用程序接口使用通信子系統。在給用戶使用時,將接口的內部實現過程隱藏,提供類似Socket編程的外部接口,其應用接口如下:

addUsers():該函數以用戶信息為參數。主要功能是給協議字段中的TON,METHOD標志和USERINFO賦值。然后調用setHead設置協議頭。

send():該函數以消息為參數。主要功能是調用addHead給消息加上協議頭,調用reallysend向服務器端發送消息包。

read():該函數以消息包為參數。主要功能是接收服務器發來的消息包,并調用protocol進行對該信息包解析。

Sendservermsg():以消息和用戶信息為參數。內部處理過程:調用addhead給消息打包,調用reallySend發送服務器與客戶端直接交流的消息包。

sendusrmsg():以消息包為參數。內部處理過程:接受消息包,調用protocol分析協議頭,轉發客戶消息。

參考文獻:

[1]曾明李建軍:網絡工程與網絡管理[M].北京:電子工業出版社,2001

[2]楊寶德倪宏 蔣凡:多業務管理系統模型研究及實現[J].現代電信術,2005(8)

[3]羅軍舟黎波濤楊明:TCP/IP協議及網絡編程技術[M]. 北京:清華大學出版社,2004.10

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 国产综合另类小说色区色噜噜 | 欧美A级V片在线观看| 午夜高清国产拍精品| 亚洲日本韩在线观看| аv天堂最新中文在线| 久久国产精品娇妻素人| 亚洲不卡av中文在线| 国产丰满成熟女性性满足视频 | 欧美视频在线播放观看免费福利资源| 国产另类乱子伦精品免费女| 国产天天色| jizz在线观看| 免费毛片全部不收费的| 亚洲动漫h| 激情影院内射美女| 少妇人妻无码首页| 刘亦菲一区二区在线观看| 久久婷婷国产综合尤物精品| 一本大道AV人久久综合| 中文字幕久久亚洲一区| 久久综合九色综合97婷婷| 国产精品永久免费嫩草研究院| 婷婷亚洲视频| 婷婷中文在线| 精品无码人妻一区二区| 又大又硬又爽免费视频| 国产亚洲欧美在线中文bt天堂| 2021精品国产自在现线看| 日韩一级毛一欧美一国产| 污视频日本| 黄色在线网| 午夜激情福利视频| 成人午夜久久| 精品久久久久成人码免费动漫| A级毛片高清免费视频就| 青青操视频在线| 女人av社区男人的天堂| 呦视频在线一区二区三区| 毛片视频网| 无码精品一区二区久久久| a级毛片网| 99视频国产精品| 不卡网亚洲无码| 精品无码一区二区三区电影| 亚洲视频二| 国产成人91精品免费网址在线| 国产精品福利导航| 婷婷色中文网| 久久青草视频| 18禁高潮出水呻吟娇喘蜜芽| 日韩成人午夜| 国产福利在线免费| 免费jjzz在在线播放国产| 久久精品91麻豆| 成年人免费国产视频| a级毛片视频免费观看| 日本三级欧美三级| 国产精品网址在线观看你懂的| 日韩福利在线视频| 99视频精品全国免费品| 色悠久久久| 最新亚洲av女人的天堂| 日韩色图区| 香蕉色综合| 精品乱码久久久久久久| 亚洲永久视频| yy6080理论大片一级久久| 欧美色综合网站| 日韩欧美中文在线| 国产日韩精品欧美一区灰| 欧美精品黑人粗大| 国产麻豆永久视频| 男女性色大片免费网站| 四虎成人免费毛片| 国产成人精品高清不卡在线| 国产资源免费观看| 54pao国产成人免费视频| 欧美性精品| 国产超薄肉色丝袜网站| 欧美成a人片在线观看| 欧美精品啪啪一区二区三区| 欧美日韩专区|