[發明專利]一種基于Hypervisor多系統共享內存的管理方法有效
申請號: | 201811058843.1 | 申請日: | 2018-09-11 |
公開(公告)號: | CN109240800B | 公開(公告)日: | 2021-07-23 |
發明(設計)人: | 程德心;韋榮偉 | 申請(專利權)人: | 武漢光庭信息技術股份有限公司 |
主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/54 |
代理公司: | 武漢藍寶石專利代理事務所(特殊普通合伙) 42242 | 代理人: | 廉海濤 |
地址: | 430000 湖北省武漢市東湖開發區光谷軟*** | 國省代碼: | 湖北;42 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 基于 hypervisor 系統 共享 內存 管理 方法 | ||
1.一種基于Hypervisor多系統共享內存的管理方法,其特征在于,包括以下步驟:
由創建共享內存的guestOS在共享內存首頁創建多個管理列表并為每個client分配不同大小的共享內存空間;所述多個管理列表分別對應不同的client;所述管理列表中包括源索引、目標索引、該管理列表對應的索引號、該管理列表對應的共享內存長度、待發送數據隊列指針;
接收數據時,所有guestOS進行中斷操作,所有client檢測共享內存control page的status字段的低16位,獲取數據發送client的管理列表索引號;
根據所述管理列表索引號查詢數據發送client對應的管理列表,判斷本client是否為數據接收client,若是,則根據所述隊列指針讀取數據;
發送數據時,檢測共享內存中control page的status字段的高16位,數據發送client判斷數據接收client是否在線,并檢測數據發送client的共享內存中是否存在空閑的共享內存塊;
若存在,數據發送client將待發送數據寫入所述空閑的共享內存塊中,同時更新隊列指針。
2.根據權利要求1所述一種基于Hypervisor多系統共享內存的管理方法,其特征在于,所述管理列表,包括:
port字段,用于標記源索引和目標索引,用于client判斷自己是否為數據接收client;
index字段,用于記錄本client的管理列表索引號;
shmemdata字段,用于記錄本client管理的共享內存的首地址;
size字段,用于記錄本client共享內存的長度,以字節為單位;
wr_len字段,用于記錄本client每次操作共享內存的長度;
w_bit字段,用于作為shmem_arr數組的可用位表;
q_tab字段,包括queue_begin成員和queue_tail成員,分別用于標記待發送數據隊列的隊列頭與隊列尾;
shmem_arr數組,其每一個元素均包括next成員和data成員,next成員用于構建隊列指針,data成員用于指向一塊共享內存。
3.根據權利要求2所述一種基于Hypervisor多系統共享內存的管理方法,其特征在于,所述的根據所述管理列表索引號查詢其對應的管理列表,判斷本client是否為數據接收client,若是,則根據所述隊列指針讀取數據,包括:
根據所述數據發送client的管理列表索引號查詢該管理列表索引號對應的管理列表,判斷管理列表中port字段的目標索引與本client的索引號是否一致;
若一致,則說明本client為數據接收client,則根據所述數據發送client的管理列表中q_tab字段和shmem_arr數組記錄的數據,從共享內存中讀取數據,并將隊頭數據出隊。
4.根據權利要求3所述一種基于Hypervisor多系統共享內存的管理方法,其特征在于,所述的根據所述管理列表索引號查詢其對應的管理列表,判斷本client是否為數據接收client,若是,則根據所述隊列指針讀取數據,還包括:
判斷q_tab字段的queue_begin成員的值是否為NULL,若為NULL,則說明數據讀取完畢,否則根據所述數據發送client的管理列表中q_tab字段和shmem_arr數組記錄的數據,從共享內存中讀取數據,并將隊頭數據出隊。
5.根據權利要求2所述一種基于Hypervisor多系統共享內存的管理方法,其特征在于,所述的數據發送client將待發送數據寫入所述空閑的共享內存塊中,同時更新隊列指針,包括:
對于shmem_arr字段而言,其成員通過順序表和鏈表的特性實現環形隊列,用q_tab字段的queue_begin成員標記隊頭,當作環形內存的方式使用;
將待發送數據拷貝到共享內存中;
判斷數據是否發送完成,若未完成則將數據加入隊尾,并且用q_tab字段的queue_tail成員標記。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢光庭信息技術股份有限公司,未經武漢光庭信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811058843.1/1.html,轉載請聲明來源鉆瓜專利網。