[發明專利]一種基于虛擬機的實時通信系統有效
| 申請號: | 201410584801.7 | 申請日: | 2014-10-27 |
| 公開(公告)號: | CN104468307B | 公開(公告)日: | 2017-08-29 |
| 發明(設計)人: | 廖建;郭晶;彭健;蔡斐華;李鑫;賈長偉;褚厚斌;王彥靜;趙雯;侯雄;劉佳;王立偉;章樂平 | 申請(專利權)人: | 中國運載火箭技術研究院 |
| 主分類號: | H04L12/46 | 分類號: | H04L12/46;G06F9/455 |
| 代理公司: | 中國航天科技專利中心11009 | 代理人: | 安麗 |
| 地址: | 100076 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 虛擬機 實時 通信 系統 | ||
1.一種基于虛擬機的實時通信系統,其特征在于:包括Windows對稱多處理系統SMP通信虛擬機單元、虛擬機監控軟件VMM單元、物理設備單元、實時通信虛擬機單元;
實時通信虛擬機包括實時協議棧模塊、實時通信設備管理模塊、實時通信內存管理模塊;Windows SMP通信虛擬機單元,包括應用程序模塊、Windows內存管理模塊和Windows設備管理模塊;虛擬機監控軟件包括初始化模塊、第一存儲管理模塊、第一設備管理模塊、第二存儲管理模塊、第二設備管理模塊;物理設備單元,包括實時通信網卡、內存、非實時通信網卡以及其它接入設備;
Windows SMP通信虛擬機單元的應用程序模塊產生對Windows設備的操作指令及通信數據,將對Windows設備的操作指令傳送給Windows設備管理模塊,將通信數據傳送給Windows內存管理模塊;同時應用程序模塊接收Windows內存管理模塊發送過來的實時通信數據;
Windows設備管理模塊接收應用程序模塊對Windows設備的操作指令后,將該操作指令傳送給虛擬機監控軟件的第一設備管理模塊;
Windows內存管理模塊接收應用程序模塊產生的通信數據后,將實時通信數據轉發給虛擬機監控軟件的第一存儲管理模塊,Windows內存管理模塊從非實時通信網卡中提取從千兆以太網接收的非實時通信數據,儲存在該Windows內存管理模塊;同時Windows內存管理模塊接收虛擬機監控軟件的第一存儲管理模塊發送的實時通信數據;
虛擬機監控軟件的初始化模塊首先為第一存儲管理模塊和第一設備管理模塊、第二存儲管理模塊和第二設備管理模塊進行初始環境設置,即在運行該基于虛擬機的實時通信系統時,初始化模塊從Windows中根據實際需求釋放設定數量的內存以及實時通信網卡,并且初始化模塊為Windows SMP通信虛擬機和實時通信虛擬機分別分配獨立的CPU內核,將從Windows中釋放的實時通信網卡綁定到分配給實時虛擬通信機的CPU內核上,將除實時通信網卡外的Windows未釋放的全部輸入輸出設備靜態分配給Windows SMP虛擬機;
第一設備管理模塊,在初始環境設置后,等待接收Windows設備管理模塊發送過來的對Windows設備的操作指令,并進行安全性檢查,如果該操作指令是對實時通信網卡發出的操作指令,則截獲該操作指令,跳過這些指令的執行,完成實時通信網卡與CPU的隔離,如果接收Windows設備管理模塊發送過來的對Windows設備的操作指令是對物理設備單元中除實時通信網卡外的接入設備發出的操作指令,則將該操作指令發送給物理設備單元的該操作指令控制的相應設備;
第一存儲管理模塊設置影子頁表的訪問權限來實現存儲保護機制,第一存儲管理模塊將物理內存的一個物理頁表映射到兩個虛擬地址的地址空間來實現共享內存機制;Windows SMP通信虛擬機運行時,在CPU的頁表基地址寄存器CR3中裝載影子頁表的基地址,使用裝載基地址的影子頁表對CPU的所有線性地址訪問轉換進行尋址,以捕獲裝載基地址的影子頁表缺頁異常、影子頁表虛擬化INVLPG指令和轉移到CPU的頁表基地址寄存器指令Mov to CR3指令后,通過缺頁異常查找Windows SMP的頁表,以確定發生缺頁異常的線性地址對應的物理地址所在的頁表項,根據頁表項的訪問權限確定該缺頁異常的種類,如果該異常為影子頁表異常,則第一存儲管理模塊根據Windows SMP頁表項的內容生成或更新相應的影子頁表項,實現影子頁表的更新;如果第一存儲管理模塊捕獲INVLPG指令,將該INVLPG指令對應的影子頁表清空,實現影子頁表的更新;如果第一存儲管理模塊捕獲Mov to CR3指令,將影子頁表全部置為無效,實現影子頁表的更新;第一存儲管理模塊接收Windows內存管理模塊發送過來的實時通信數據,通過影子頁表的更新實現通信數據的更新,以共享內存的方式更新的 通信數據存入物理設備單元的內存中;同時第一存儲管理模塊接收物理設備單元的共享內存中的實時通信數據;
物理設備單元的非實時通信網卡如果接收到第一設備管理模塊發來的對物理設備單元的非實時通信網卡發出的操作指令,則從Windows內存管理模塊接收通信數據;
物理設備單元的內存,通過共享內存方式存儲需要進行實時通信的數據,物理設備單元的內存將第一存儲管理模塊發送過來的實時通信數據送至第二存儲管理模塊;同時,物理設備單元的內存將第二存儲管理模塊發送過來的實時通信數據送至第一存儲管理模塊;
第二存儲管理模塊,設置頁表的訪問權限來實現存儲保護機制,第二存儲管理模塊將一個物理頁表映射到兩個虛擬地址的地址空間來實現共享內存機制,第二存儲管理模塊,通過存儲保護機制和共享內存機制從物理設備單元的共享內存中存取實時通信數據,轉發給實時通信虛擬機的實時通信內存管理模塊;同時,第二存儲管理模塊將從實時通信內存管理模塊接收到的實時通信數據以共享內存機制和存儲保護機制存入物理設備單元的內存中;
實時通信內存管理模塊將從第二存儲管理模塊接收的實時通信數據發送至實時協議棧模塊,同時實時通信內存管理模塊將實時通信協議棧中的實時通信數據傳送給虛擬機監控軟件單元的第二存儲管理模塊;
實時通信協議棧模塊以IMAGE的文件格式,被虛擬機監控軟件加載運行,接收實時通信內存管理模塊發送過來的實時通信數據,將該實時通信數據根據協議棧逐層解包,以查詢是否存在數據發送請求,如果存在,則協議棧模塊對解包后的實時通信數據封裝,傳送給實時通信設備管理模塊;同時實時通信協議棧模塊接收實時通信設備管理模塊轉發的實時通信數據給實時通信內存管理模塊;
實時通信設備管理模塊,接收實時通信協議棧中的實時通信數據,將該實時通信數據對Windows設備的操作指令傳送給虛擬機監控軟件的第二設 備管理模塊,將實時通信數據傳送給實時通信網卡;同時,實時通信設備管理模塊接收實時通行網卡發送過來的實時通信數據;
第二設備管理模塊,在初始環境設置后,等待接收實時通信設備管理模塊發送過來的對Windows設備的操作指令,并進行安全性檢查,如果該操作指令是對實時通信網卡發出的操作指令則運行該操作指令,將該操作指令發送給實時通信網卡,完成實時通信網卡與CPU的隔離,如果該操作指令是對物理設備單元中除實時通信網卡外的接入設備發出的操作指令,則截獲該操作指令,跳過這些指令的執行,使這些操作指令不影響Windows SMP通信虛擬機的工作;
實時通信網卡如果接收到第二設備管理模塊的操作指令,則接收實時通信設備管理模塊發送過來的實時通信數據,轉發到以太網上;同時實時通信網卡接收以太網上的實時通信數據發送給實時通信設備管理模塊。
2.根據權利要求1所述的基于虛擬機的實時通信系統,其特征在于:所述的虛擬機監控軟件單元初始化模塊的實現過程為:
(1)將選定的內核從Windows中釋放;
(2)將實時通信網卡從Windows中釋放;
(3)從Windows中分配物理內存;
(4)將步驟(2)釋放的實時通信網卡綁定到步驟(1)釋放的的內核上;
(5)裝載實時虛擬通信機到步驟(3)中分配的物理內存上;
(6)建立主機虛擬機控制結構VMCS,取虛擬機監控軟件后繼操作地址存入主機虛擬機控制結構VMCS中,為后面的VMexit指令操作準備虛擬機監控軟件的入口點;
(7)執行VMexit指令使控制流導向虛擬機監控軟件步驟(6)進行后繼操作的入口點;
(8)為實時虛擬通信機建立存儲映射頁表,根據實時虛擬通信機應用 軟件裝載的物理地址和實時虛擬通信機應用軟件的邏輯地址為虛擬通信機建立相應的地址映射,限定應用程序僅能訪問分配給它的內存,實現存儲空間的隔離;
(9)設置步驟(6)的VMCS,使虛擬機監控軟件截獲實時通信虛擬機的缺頁異常和對Windows設備的操作指令,為實時通信虛擬機的內存管理和設備管理做準備;將實時通信虛擬機的入口地址和步驟(8)建立的存儲映射頁表的地址填到VMCS中;
(10)設置步驟(6)的VMCS,使虛擬機監控軟件截獲windows SMP通信虛擬機的缺頁異常和對Windows設備的操作指令,為Windows SMP通信虛擬機的內存管理和設備管理做準備;根據步驟(7)的后繼操作的入口點保存的Windows SMP通信虛擬機的現場,填寫VMCS的對應域,為Windows SMP通信虛擬機運行做準備;根據Windows SMP的頁表結構建立相應的影子頁表結構,實現SMP虛擬機的二次存儲管理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國運載火箭技術研究院,未經中國運載火箭技術研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410584801.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于電子郵件內容發起社交交互的方法和系統
- 下一篇:一種令牌的處理方法及裝置





