[发明专利]一种基于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.vipzhuanli.com/pat/books/201811058843.1/1.html,转载请声明来源钻瓜专利网。