[发明专利]基于嵌入式虚拟化平台的域间文件数据共享方法有效

专利信息
申请号: 201110391529.7 申请日: 2011-11-30
公开(公告)号: CN102521300A 公开(公告)日: 2012-06-27
发明(设计)人: 金海;邵志远;李海峰;伍箴水 申请(专利权)人: 华中科技大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 华中科技大学专利中心 42201 代理人: 李智
地址: 430074 湖北*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 嵌入式 虚拟 平台 文件 数据 共享 方法
【权利要求书】:

1.一种基于嵌入式虚拟化平台的域间数据共享方法,其特征在于:VFS中的索引节点分为前端索引节点和后端索引节点,前端索引节点位于客户操作系统Domain域中,后端索引节点位于软件层一虚拟监控程序VMM中,该方法包括打开文件、读写文件和关闭文件三个步骤:

所述打开文件步骤为:

(A.1)Domain域的进程从待打开文件的路径获取待打开文件对应的前端索引节点F1和块设备BD1信息,为本次打开操作分配文件号,创建包含前端索引节点F1、块设备BD1和文件号信息的文件结构对象O1,将其加入文件描述符数组;

(A.2)若Domain域中已存在前端索引节点F1,则F1的使用计数加一,否则,在Domain域中建立前端索引节点F1,并在块设备BD1中读出待打开文件在块设备BD1上的物理位置分布信息;

(A.3)Domain域向VMM发送包含前端索引节点F1和块设备BD1的ID信息的超级调用请求,VMM对前端索引节点F1和块设备BD1的ID作哈希计算,依据计算得到的后端索引节点索引值在后端索引节点哈希链表中找到其对应的后端索引节点B1;

(A.4)若VMM中存在后端索引节点B1,则B1的使用计数加一,否则,在VMM中建立后端索引节点B1,将其插入后端索引节点哈希链表中,插入和查找该哈希链表所使用的哈希值依据前端索引节F1和块设备BD1的ID计算;

所述读写文件步骤包括读写文件请求子步骤和读写文件执行子步骤,所述读写文件请求子步骤将读写文件请求挂载到块设备的读写请求队列上,读写文件执行子步骤执行读写请求队列中的读写请求;

所述读写文件请求子步骤具体为:

(B.1)Domain域的进程发出读写操作请求,读写操作请求包含待读写文件的文件号、用户空间数据缓冲区、待读写文件的逻辑偏移、读写数据长度和读写类型;

(B.2)依据待读写文件的文件号索引进程的文件描述符数组找到文件结构对象O2;

(B.3)获取文件结构对象O2中的前端索引节点F2和块设备BD2;

(B.4)查询待读写文件的逻辑偏移对应的页缓存是否已经在内存中,若存在,进入步骤(B.5),否则,分配页缓存,进入步骤(B.5);

(B.5)查询待读写文件的逻辑偏移对应的页缓存标志位以判断所述页缓存是否是最新,若是,则进入步骤(B.6),否则,进入步骤(B.7);

(B.6)若为读请求,则将所述页缓存复制到用户空间数据缓冲区,读写操作结束,否则,将用户空间数据缓冲区复制到所述应页缓存中,读写操作结束;

(B.7)根据前端索引节点F2找到待读写文件在块设备BD2的物理位置分布信息,并结合待读写文件的逻辑偏移得到待读写文件在块设备上的物理位置,再根据该物理位置和读写数据长度得到读写区间;

(B.8)对前端索引节点F2和块设备BD2作哈希计算得到第一后端索引节点索引值,并分配读写请求对象R2和文件锁对象L2,所述读写请求对象R2包含待读写文件在块设备上的物理位置、读写数据长度、页缓存位置和进程号,所述文件锁对象L2包含读写区间和读写类型;

(B.9)Domain域向VMM发送包含第一后端索引节点索引值、读写请求对象R2和文件锁对象L2的超级调用请求;

(B.10)VMM依据第一后端索引节点索引值在后端索引节点哈希链表中查找对应的后端索引节点B2;

(B.11)依据文件锁对象L2中的读写类型和读写区间,判定该文件锁对象L2是否与后端索引节点B2的文件锁列表某一文件锁对象L0有冲突,若有冲突,则进入步骤(B.12),否则,进入(B.13);

(B.12)将读写操作请求对象R2和文件锁对象L2挂载在冲突的文件锁对象L0的冲突链表上,结束;

(B.13)将读写操作请求R2挂载到块设备BD2的读写请求队列,将文件锁对象L2挂载到后端索引节点B2的文件锁链表上,结束;

所述读写文件执行子步骤具体为:

(C.1)若块设备BD3的读写请求队列非空,则VMM执行块设备BD3的读写请求队列中的当前读写请求对象R3;

(C.2)执行完毕时释放R3对应的文件锁对象L3,更新页缓存的标志位,向读写请求对象R3的来源Domain域发出软中断以唤醒R3中的进程号指定的读写进程;

(C.3)若释放的文件锁对象L3的冲突链表非空,则激活当前文件锁对象L4,判定文件锁对象L4是否与其对应的后端索引节点B4的文件锁队列存在冲突,若有冲突,进入步骤(C.4),否则,进入步骤(C.5);

(C.4)被激活的文件锁对象L4及其对应的读写请求对象R4挂载在冲突的文件锁对象L`0的冲突链表上,返回步骤(C.1);

(C.5)将读写请求对象R4挂载到块设备BD3的读写请求队列,将文件锁对象L4挂载到后端索引节点B4的文件锁链表上,返回步骤(C.1);

所述关闭文件步骤具体为:

(D.1)将待关闭文件对应的前端索引节点F4的使用计数减一,若F4的使用计数为0,则释放F4;

(D.2)Domain域的进程对待关闭文件的前端索引节点F3和块设备BD4作哈希计算得到第二后端索引节点索引值;

(D.3)Domain域向VMM发出包含第二后端索引节点索引值的超级调用请求;

(D.4)VMM依据第二后端索引节点索引值在后端索引节点哈希链表中查找对应的后端索引节点B5,对后端索引节点B5的使用计数减一,若后端索引节点B5的使用计数为0,则释放后端索引节点B5。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110391529.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top