[发明专利]一种基于虚拟化技术的读写方法及系统有效
申请号: | 201410132139.1 | 申请日: | 2014-04-02 |
公开(公告)号: | CN103942120B | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 刘胜坤;林旻达;吴阳;汪士清;杜宇;雷讯 | 申请(专利权)人: | 南京鼎岩信息科技有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F3/06 |
代理公司: | 南京钟山专利代理有限公司32252 | 代理人: | 戴朝荣 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟 技术 读写 方法 系统 | ||
1.一种基于虚拟化技术的读写方法,其特征在于,所述方法包括以下步骤:
接管用户向终端的指定目录发出的读写操作指令,在安卓系统的终端设备中加载一个驱动程序,由该驱动程序虚拟出多个存储设备,然后将这些虚拟的存储设备分别挂载到/sdcard、/system、/data这些指定的目录节点中,使这些目录节点变为虚拟目录;对这些目录的读写操作被转换成对虚拟设备的读写操作,对虚拟设备的读写操作又被转化成对网络服务器或本地缓存的读写操作;具体为采用替换open、filp_open或file_open_root这样的系统调用,或者修改file_open_name、do_sys_open、do_filp_open或者path_openat这样的内核函数,在挂钩后的系统调用或修改后的内核函数里面,检查调用该系统调用时的文件或目录的路径,如果处于/sdcard、/system、/data这些指定的目录节点中,则构造一个struct file,在这个结构中,成员变量f_op将指向一个特殊的文件操作函数表struct file_operations,于是,实现对这些目录读写访问的接管;
根据网络连接状态处理所述的读写操作指令,将其发送到所述服务器或终端的本地缓存其步骤包括:
在有网络时:
对于读操作指令,先尝试从终端的本地缓存中读取,如果本地缓存中没有,再从所述服务器中读取; 对于写操作指令则写入所述服务器或本地缓存;
在无网络时:
对于读操作指令则从本地缓存读取; 对于写操作指令则写入到本地缓存;
所述服务器对读请求的处理:(1)从当前镜像中寻找用户需要的数据;将存在的那部分数据读取出来;(2)检查是否读取完成,如果读取完成将数据返回给终端;(3)如果还没有读取完成,在该镜像的依赖镜像中寻找那些不存在的数据;将存在的那部分数据读取出来,合并到已经读取到的数据中;然后跳转到第(2)步执行;
所述服务器对写请求的处理:直接将数据写入到当前镜像中;然后,发送写成功数据包给终端驱动;
缓存方法:在本地缓存中还会存在两个缓存文件—读缓存和写缓存;其中,写缓存是在没有网络时以及备份过程中写数据时使用,读缓存会缓存系统正常运行所需要的数据;但是,在备份过程中本地缓存中并不会将写入所述服务器中所有的数据全部进行缓存,而只是缓存那些需要的数据;
在所述的服务器或终端的本地缓存中处理所述的读写操作指令并将处理结果发送给用户。
2.根据权利要求或1所述的一种基于虚拟化技术的读写方法,其特征在于,所述的终端为安卓系统的智能设备。
3.一种基于虚拟化技术的读写系统,其特征在于,所述的系统包括驱动模块、数据处理模块和终端的本地缓存,所述的驱动模块设于终端中,用于接管用户向终端的指定目录发出的读写操作指令,具体为采用替换open、filp_open或file_open_root这样的系统调用,或者修改file_open_name、do_sys_open、do_filp_open或者path_openat这样的内核函数,在挂钩后的系统调用或修改后的内核函数里面,检查调用该系统调用时的文件或目录的路径,如果处于/sdcard、/system、/data这些指定的目录节点中,则构造一个特殊的struct file,在这个结构中,成员变量f_op将指向一个特殊的文件操作函数表struct file_operations,于是,实现对这些目录读写访问的接管;根据网络连接状态处理所述的读写操作指令,将其发送到服务器或终端的本地缓存;该服务器为Windows或Linux服务器,在Windows或Linux服务器中,提供一个所述服务器程序,为安卓系统的终端设备提供空间,用于存储安卓系统终端设备的二进制可执行文件和用户数据;安卓系统中的二进制可执行文件通过网络读写所述服务器中提供的存储空间;当二进制可执行文件读写被接管的目录时,驱动程序将读写操作重定向到所述服务器中提供的存储空间;
在有网络时:
对于读操作指令,先尝试从终端的本地缓存中读取,如果本地缓存中没有,再从所述服务器中读取;
对于写操作指令则写入所述服务器或本地缓存;
在无网络时:
对于读操作指令则从本地缓存读取;
对于写操作指令则写入到本地缓存;
所述的数据处理模块设于所述服务器中,用于处理驱动模块发来的读写指令,将结果发送给用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京鼎岩信息科技有限公司,未经南京鼎岩信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410132139.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:两用电热壶
- 下一篇:用于压力锅的锅体组件和具有其的压力锅