CN106775433A - 一种虚拟化硬盘数据存储、读取方法和装置 - Google Patents
一种虚拟化硬盘数据存储、读取方法和装置 Download PDFInfo
- Publication number
- CN106775433A CN106775433A CN201510812544.2A CN201510812544A CN106775433A CN 106775433 A CN106775433 A CN 106775433A CN 201510812544 A CN201510812544 A CN 201510812544A CN 106775433 A CN106775433 A CN 106775433A
- Authority
- CN
- China
- Prior art keywords
- memory block
- write
- hard disk
- data
- virtualization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000001914 filtration Methods 0.000 claims description 66
- 238000013500 data storage Methods 0.000 claims description 27
- 238000000151 deposition Methods 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 abstract description 14
- 230000007547 defect Effects 0.000 abstract description 5
- 230000004048 modification Effects 0.000 description 18
- 238000012986 modification Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种虚拟化硬盘数据存储、读取方法和装置。所述方法包括:在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。相对在先技术方案,本发明按照正序的方式将数据写入存储块中,因而可以避免系统预读机制不能使用的缺陷,由此解决系统中固有的预读机制不能正常使用的问题,提高了虚拟化硬盘的备份数据读取效率。
Description
技术领域
本发明涉及软件技术领域,特别是涉及一种虚拟化硬盘数据存储、读取方法和一种虚拟化硬盘数据存储、读取装置。
背景技术
随着计算机的发展,为了灵活的基于一个硬件提供给不同的系统使用,则产生了虚拟化硬盘的技术,虚拟化硬盘供给虚拟机使用,通过虚拟化硬盘,多个系统可以公用一个系统文件。虚拟化硬盘是基于实体硬盘,从实体硬盘中划分一段存储空间给该虚拟化硬盘的系统使用。系统文件是存储在虚拟化硬盘所对应的实体硬盘的存储空间的头部,也即按照通常的系统文件的存储方式,系统文件存在实体硬盘的靠前的盘面、柱面和扇区中。基于上述存储方式,各个系统启用时都可能会更新备份数据,但是更新的备份数据在接着系统文件的存储位置继续存储,那么前一个系统更新后,可能影响后一个系统的稳定性。
因此,目前技术中,对于各个系统更新的备份数据,则会从虚拟化硬盘尾部对应的实体硬盘,按倒序写入数据,即对于写入请求,从该实体硬盘的最后的存储位置逐个向前面的存储位置写入数据。假设虚拟化硬盘对应的对应了200个G的实体硬盘,公用的系统文件写实体硬盘的前10个G的存储空间中,而对于各个系统启动后的备份数据则从实体硬盘的200个G的最后一个扇区中按倒序写数据,写完一个扇区,再向前一个扇区写数据。实际上备份数据基本上是按照倒序存储的。
而在实际应用中,由于存储介质的特性,硬盘本身存取就比主存慢很多,再加上机械运动耗费,硬盘的存取速度往往是主存的几百分之一,因此为了提高效率,要尽量减少硬盘I/O(input/output,输入/输出)请求。为了达到这个目的,依据局部性原理,硬盘往往不是严格按需读取,而是采用了预读机制,即每次都会预读,即使只需要一个字节,硬盘也会从这个位置开始,顺序向后读取一定长度的数据放入内存。
那么,前述的按倒序的存储方式,导致读取一个数据时,其预读机制实际上就无法使用,导致硬盘数据的读取效率低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的虚拟化硬盘数据存储、读取方法和相应的虚拟化硬盘数据存储、读取装置。
依据本发明的一个方面,提供了一种虚拟化硬盘数据存储方法,包括:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:每当排序靠后的存储块写满,则判断所述排序靠后的存储块之前是否有存储块;
如果所述排序靠后的存储块之前有存储块,则将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
如果所述排序靠后的存储块之前没有存储块,则在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,当预先申请一个指定容量的存储块时,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块的步骤之前,还包括:
向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
可选地,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
通过所述硬盘过滤驱动拦截写入请求;
判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
如果所述写入请求包括第一标识,则修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
根据本发明的另一方面,提供了一种虚拟化硬盘数据读取方法,包括:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则判断所述排序靠后的存储块之前是否有存储块;
如果所述排序靠后的存储块之前有存储块,则将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
如果所述排序靠后的存储块之前没有存储块,则在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,当预先申请一个指定容量的存储块时,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块的步骤之前,还包括:
向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
可选地,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
通过所述硬盘过滤驱动拦截写入请求;
判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
如果所述写入请求包括第一标识,则修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
根据本发明的另一方面,提供了一种虚拟化硬盘数据存储装置,包括:
第一存储块申请模块,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
第一写入请求判断模块,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
第一数据写入模块,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述第一数据写入模块包括:
第一选择存储块写入子模块,适于每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述第一选择存储块写入子模块包括:
第一存储块判断子模块,适于每当排序靠后的存储块写满时,判断所述排序靠后的存储块之前是否有存储块;
第一前一存储块写入子模块,适于在所述排序靠后的存储块之前有存储块时,将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
第一新申请存储块写入子模块,适于在所述排序靠后的存储块之前没有存储块时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,当预先申请一个指定容量的存储块时,所述第一数据写入模块包括:
第一再申请存储块写入子模块,适于每当排序靠后的存储块写满时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,在所述第一存储块申请模块之前,还包括:
第一硬盘过滤驱动注册模块,适于向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
可选地,所述第一数据写入模块包括:
第一写入请求拦截子模块,适于通过所述硬盘过滤驱动拦截写入请求;
第一标识的第一判断子模块,适于判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
第一地址的第一修改子模块,适于在所述写入请求包括第一标识时,修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
根据本发明的另一方面,提供了一种虚拟化硬盘数据读取装置,包括:
数据判断模块,适于判断接收到的读取请求是否为针对存储块中存储的数据;
数据读取模块,适于在接收到的读取请求是针对存储块中存储的数据时,从所述存储块中,对应所述读取请求对应的存储位置读取数据,并读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下模块存储:
第二存储块申请模块,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
第二写入请求判断模块,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
第二数据写入模块,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述第二数据写入模块包括:
第二选择存储块写入子模块,适于每当排序靠后的存储块写满时,选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
可选地,所述第二选择存储块写入子模块包括:
第二存储块判断子模块,适于每当排序靠后的存储块写满时,判断所述排序靠后的存储块之前是否有存储块;
第二前一存储块写入子模块,适于在所述排序靠后的存储块之前有存储块时,将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
第二新申请存储块写入子模块,适于在所述排序靠后的存储块之前没有存储块时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,当预先申请一个指定容量的存储块时,所述第二数据写入模块包括:
第二再申请存储块写入子模块,适于每当排序靠后的存储块写满时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
可选地,在所述第二存储块申请模块之前,还包括:
第二硬盘过滤驱动注册模块,适于向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
可选地,所述第二数据写入模块包括:
第二写入请求拦截子模块,适于通过所述硬盘过滤驱动拦截写入请求;
第一标识的第二判断子模块,适于判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
第一地址的第二修改子模块,适于在所述写入请求是否包括第一标识时,修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
根据本发明的另一方面,提供了一种虚拟化硬盘数据存储设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
根据本发明的另一方面,提供了一种虚拟化硬盘数据存储设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
根据本发明的虚拟化硬盘数据存储、读取方法和装置,可以在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块,当接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的虚拟块开始,在虚拟块中按照正序的方式将写入请求对应的数据写入存储块中,相对在先技术中,本发明实施例按照正序的方式将数据写入存储块中,因而可以避免系统预读机制不能使用的缺陷,由此解决系统中固有的预读机制不能正常使用的问题,取得了提高虚拟化硬盘的备份数据读取效率的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的虚拟化硬盘数据存储方法的步骤流程图;
图2示出了根据本发明一个实施例的虚拟化硬盘数据存储方法的步骤流程图;
图3示出了根据本发明一个实施例的虚拟化硬盘数据存储方法的步骤流程图;
图4示出了根据本发明一个实施例的虚拟化硬盘数据读取方法的步骤流程图;
图5示出了根据本发明一个实施例的虚拟化硬盘数据存储装置的结构框图;
图6示出了根据本发明一个实施例的虚拟化硬盘数据存储装置的结构框图;
图7示出了根据本发明一个实施例的虚拟化硬盘数据存储装置的结构框图;
图8示出了根据本发明一个实施例的虚拟化硬盘数据读取装置的结构框图;
图9示出了本发明一个实施例的一种设备的结构框图;及
图10示出了本发明一个实施例的一种设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S110:在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
本发明实施例可以应用于多个系统使用虚拟化硬盘进行数据的写入。硬盘可以包括磁道、柱面及扇区。当需要将数据写入硬盘时,首先确定需要将数据写入哪个磁道即哪个扇区,进而获取到该磁道及扇区对应的物理地址,进而根据该物理地址将数据写入到硬盘中的相应位置。
对于多个系统公用一个虚拟化硬盘的方案中,该虚拟化硬盘头部所对应的实体硬盘的存储空间的头部中,是用于存储多个系统公用的数据,例如,某个系统在进行数据更新的操作时,该更新部分的备份数据并非是其他系统所需要的,因此,需要在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部选取一块存储空间以存储并非该多个系统公用部分的备份数据,因而,本发明实施例可以在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部预先申请至少一个的存储块以存储并非该多个系统公用的备份数据。
在本发明实施例中,存储块的个数以及容量是预先设置,预先申请的存储块是位于虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,申请至少一个指定容量的存储块,比如虚拟化硬盘对应的实体硬盘包括100个G,则可将最后1个G申请为存储备份数据的存储块,即将199-200G的容量部分申请为存储块。也可从100个G的尾部申请两个存储块,每个存储块为1个G容量,比如198-199的容量部分为一个存储块,199-200为一个存储块。
预先申请的指定容量的存储块,可以是一个,也可以是多个,优选的在本发明实施例中,可以预先只申请一个存储块。在实际应用中,本领域技术人员可以根据实际需要和指定容量的大小具体设置申请的存储块的个数,本发明对此不加以限制。
而指定容量是通过测试对存储在各存储块中的备份数据的实际读写速度得到的,本发明实施例中,可以逐步调整存储块的容量,比如每次调整100M,然后测试对存储在存储块中的备份数据的读写速度,将针对存储块的读写速度与该实体硬盘正常的读写速度进行比较,当其差值小于阈值时,则可以确定该容量为指定容量。在实际应用中,可以采用系统中预置性能监配工具监测虚拟化硬盘的实际读写速度,并根据监测到的虚拟化硬盘的实际读写速度预先设置存储块的指定容量的大小,例如,可以采用HDTune检测工具,HD Tune一种硬盘检测软件,可以测试硬盘的读写速度。
在实际应用,本领域技术人员可以根据实际需要自行选择适当的性能监配工具监测虚拟化硬盘的读写速度,本发明对此不加以限制。
步骤S120:判断是否接收到需要存储到虚拟化硬盘尾部的写入请求,如果接收到需要存储到虚拟化硬盘尾部的写入请求,则进入步骤S130。
本发明实施例中,多个系统公用一个虚拟化硬盘时,该虚拟化硬盘头部对应的实体硬盘的存储空间的头部中,存储的数据是多个系统公用的数据,而虚拟化硬盘尾部是用于存储非该多个系统公用的数据,例如,A、B、C三个系统共用一个虚拟化硬盘H,H的头部对应的实体硬盘用于存储系统A、B、C公用的数据,H的尾部对应的实体硬盘用于存储非系统A、B、C公用的数据,例如,可以是系统A、B、C更新数据后产生的备份数据等等。
可以预先设置相应的硬盘过滤驱动,在该硬盘过滤驱动中添加监听器,用以监听是否接收到需要存储到虚拟化硬盘尾部的写入请求,在接收到需要存储到虚拟化硬盘尾部的写入请求时,指行步骤S130。
在本发明实施例中,可以理解,上述虚拟化硬盘头部,对应实体硬盘存储空间的头部。上述虚拟化硬盘尾部,对应实体硬盘存储空间的尾部。在正常情况下,实体硬盘写任何数据都是从头部开始写数据,往尾部方向写数据,直到实体硬盘写满。
可以理解,本发明实施例的实体硬盘包括机械硬盘。
对写入请求进行监听的具体过程可以按照如下步骤进行:
步骤S1-1:构造写入请求事件A的事件监听器;
步骤S1-2:添加事件A对应的监听器对象:A.addActionListener(newWriteRequestsEventListener());
步骤S1-3:调用内部类方法WriteRequestsEventListener,实现ActionListener接口,当接收到写入请求事件A时,会触发对应的监听程序,返回true。
该事件A可以为指定进程的写入请求。
上述监听写入请求的过程只是作为更好地理解本发明实施例而列举的一种相关方案,并不能以此作为对本发明的一种限制。
步骤S130:从排序靠后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
本发明实施例中,如果系统中预先设置了一个存储块,那么在接收到需要存储到虚拟化硬盘尾部的写入请求时,直接将写入请求对应的数据按正序写入该存储块中即可。而当系统中预先设置了多个存储块时,从排序靠后的存储块开始,将写入请求对应的数据写入存储块,例如,对于200G的虚拟化硬盘对应的实体硬盘,预先设置有198-199G位置的存储块M2,199-200G位置的存储块M1,这两个存储块中,存储块M2排序靠最前,存储块M1排序靠最后,在接收到需要存储到虚拟化硬盘尾部的写入请求时,首先选择存储块M1,将写入请求对应的数据写入该存储块M1中,当存储块M1被写满时,再选择存储块M2将写入请求对应的数据写入存储块M2中,以此类推。
其中,在将数据写入每个存储块,按正序的方式写入。比如对于199-200G位置的存储块M1,其数据则从199G的位置开始写入数据。
对于某个大小的备份数据,如果指定进程要将该数据写入硬盘,首先发送一个写入请求,然后硬盘根据该写入请求确定存储该数据需要多少个扇区以及选用哪些扇区,然后再按照从前到后的顺序,将数据写入这些扇区中。比如存储块包括100个扇区,这100个扇区按实体硬盘的正常顺序,假设其编号为1、2、3……100,假设上述备份数据大小为比如5200byte的数据,而每个扇区的容量为520byte,那么需要10个扇区,则在将数据写入存储块时需要写入其中的10个扇区,假设该100个扇区都未写数据,那么可以先写第1个扇区,第一个扇区写完之后,写第2个扇区,直到第10个扇区,上述数据写入完毕。当有新的备份数据时,继续按正序开始写入。其他情况以此类推。
当然,在实际应用中,实体硬盘的扇区的物理地址编号是按照(扇面号、柱面号、扇区号)进行编号的,前述1-100的编号仅为了容易理解进行了简化,对于实际的编号,其原理类似。
优选地,当预先申请一个指定容量的存储块时,所述步骤S130可以包括:
子步骤S1302:每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
本发明实施例中,在预先申请的指定容量的存储块只有一个时,当该存储块中的存储空间写满时,则在该存储块之前再申请一个指定容量的存储,例如前述例子中,预先申请的一个指定容量的存储块M1,该存储块M1的所有扇区写完,在该存储块M1之前申请一个指定容量的存储块M2,该存储块M2,M2和M1的大小相同。然后可以继续在存储块M2中将写入请求对应的数据按照正序的写入方式写入该新申请的存储块M2。
本发明实施例可以在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块,当接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的虚拟块开始,在虚拟块中按照正序的方式将写入请求对应的数据写入存储块中,相对在先技术中,本发明实施例按照正序的方式将数据写入存储块中,因而可以避免系统预读机制不能使用的缺陷,由此解决系统中固有的预读机制不能正常使用的问题,提高了虚拟化硬盘的备份数据读取效率。
另外,由于本发明从虚拟化硬盘对应的实体硬盘的存储空间的尾部申请开始指定容量的存储块,该指定容量并不大,是小容量的存储块,该指定容量不超过1G,不用暴力的划分一大块存储块,比如对于200G的虚拟化硬盘,将后面的100个G划分为存储备份数据的存储块,那么实际上虚拟化硬盘对用户提供的可用硬盘就只有前100个G,严重浪费了存储空间,因此本发明可以在降低虚拟化硬盘的存储空间浪费的基础上,提供虚拟化硬盘的数据的读取效率。
实施例二
参照图2,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S210:在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
步骤S220:判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;如果接收到需要存储到虚拟化硬盘尾部的写入请求,则进入步骤S230。
本发明实施例中,在虚拟化硬盘的对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块,并预先判断是否接收到需要存储到虚拟化硬盘尾部的写入请求,在接收到需要存储到虚拟化硬盘尾部的写入请求时,指行步骤S230。
步骤S230:每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
本发明实施例中,在将写入请求对应的数据写入排序靠后的存储块,并当该排序靠后的存储块写满时,选择该排序靠后的存储块的前一个存储块,将写入请求对应的数据写入该存储块中,例如,系统中预先申请有2个指定容量的存储块,分别是存储块M1和存储块M2,存储块M2是排序靠后的存储块,则在将写入请求对应的数据写入存储块时,首先选择存储块M2将写入请求对应的数据写入,在存储块M2写满时,再选择存储块M2的前一个存储块,即存储块M1,并将写入请求对应的数据写入存储块M1。
优选地,所述步骤S230可以包括:
子步骤S2302:每当排序靠后的存储块写满,则判断所述排序靠后的存储之前是否有存储块;如果所述排序靠后的存储块之前有存储块,则进入步骤S2304,否则进入步骤S2306。
本发明实施例中,针对预先申请了至少两个存储块的情况,当排序靠后的存储块写满时,则判断该排序靠后的存储块之前是否有存储块,例如,系统中排序靠后的存储块为存储块M1,在将写入请求对应的数据写满存储块M1时,判断在存储块M1之前是否还有其他存储块。如果排序靠后的存储块之前有其他存储块,则进入步骤S2304,否则进入步骤S2306。
子步骤S2304:将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块。
本发明实施例中,当排序靠后的存储块之前有其他存储块,并且在排序靠后的存储块被写满时,则将写入请求对应的数据写入该排序靠后的存储块之前的前一个存储块,例如,系统中排序靠后的存储块为存储块M1,在存储块M1之前有存储块M2,存储块M2之前有存储块M3,在存储块M1被写满时,则将写入请求对应的数据写入存储块M2,在存储块M2被写满时,再将写入请求对应的数据写入存储块M3,直至将写入请求对应的数据全部写入存储块。
子步骤S2306:在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
本发明实施例中,当排序靠后的存储块之前没有其他存储块,并且在排序靠后的存储块被写满时,则在排序靠后的存储块之前申请一个指定容量的存储块,并将写入请求对应的数据,按正序写入的方式写入该新申请的存储块,例如,系统中排序靠后的存储块为存储块M1,在存储块M1之前没有其他存储块,则在存储块M1之前再申请一个指定容量的存储块,以将写入请求对应的数据按正序的写入方式写入该新申请的存储块中,以此类推,直到将写入请求对应的数据全部写入存储块中。
优选的,当预先申请一个指定容量的存储块时,所述步骤S230,包括:
子步骤S2308,每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
本发明实施例中,在预先申请的指定容量的存储块只有一个时,当该存储块中的存储空间写满时,则在该存储块之前再申请一个指定容量的存储,例如前述例子中,预先申请的一个指定容量的存储块M1,该存储块M1的所有扇区写完,在该存储块M1之前申请一个指定容量的存储块M2,该存储块M2,M2和M1的大小相同。然后可以继续在存储块M2中将写入请求对应的数据按照正序的写入方式写入该新申请的存储块M2。
在本发明实施例中,当一个存储块写满时,不用判断该存储块之前是否有存储块,而直接申请新的存储块以写入数据。
本发明实施例中,可以在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块,当接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的虚拟块开始,在虚拟块中按照正序的方式将写入请求对应的数据写入存储块中,相对在先技术中,本发明实施例按照正序的方式将数据写入存储块中,因而可以避免系统预读机制不能使用的缺陷,并且,本发明中通过预先申请指定容量的存储块以存储写入请求对应的数据,而并非是直接将虚拟化硬盘存储空间划分头尾两部分,因而,能够在将写入请求对应的数据写入虚拟化硬盘的同时,使得虚拟化硬盘的资源被最大化的利用。
实施例三
参照图3,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S310:向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
本发明实施例中,可以预先在系统中注册硬盘过滤驱动,该硬盘过滤驱动可以用于截获发送给硬盘的读取请求/写入请求,并根据实际需要进行调整,另外的,硬盘过滤驱动也可以用于申请存储块。
在实际应用中,很多系统都设置有过滤驱动机制,其可能存在多层过滤驱动,本发明实施例的虚拟化硬盘则可在上述过滤驱动中添加一层硬盘过滤驱动,然后在该硬盘过滤驱动中添加对操作硬盘的IRP(I/O requestpackage,I/O请求包)的进行过滤处理。比如对于写入请求,可以控制其写入实体硬盘的哪个位置,比如将写入请求的逻辑地址更改为预置的物理地址。比如将读取请求的逻辑地址更改为预置的物理地址等。
步骤S320:在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
步骤S330:判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;如果接收到需要存储到虚拟化硬盘尾部的写入请求,则进入步骤S340。
本发明实施例中,在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请了至少一个指定容量的存储块之后,判断是否接收到需要存储到虚拟化硬盘尾部的写入请求,在接收到需要存储到虚拟化硬盘尾部的写入请求时,进入步骤S340。
步骤S340:通过所述硬盘过滤驱动拦截写入请求。
本发明实施例中,在指定进程向下层发送IRP包时,该IRP包会逐层经过各过滤驱动,当本发明实施例的硬盘过滤驱动接收到IRP包时,会拦截该IRP包,然后进入步骤S350。
步骤S350:判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;如果所述写入请求包括第一标识,则进入步骤S360。
本发明实施例中,硬盘过滤驱动会对拦截的IRP包进行分析,本发明则可以分析该IRP中是否包括预定的第一标识,该第一标识表示需要将相应的备份数据存入前述存储块,则进入步骤S360。
在本发明实施例中,由于IRP包是某个进程向下发送的,该第一标识可以是进程名,也可以是该进程根据预先约定在IRP包中添加的。该第一标识可以为多个,比如多个进程名。在硬盘过滤驱动中,预先存储了各第一标识,用来判断IRP包中的第一标识。
步骤S360:修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
本发明实施例中,在硬盘过滤驱动拦截的写入请求中包含有第一标识时,将写入请求的写入地址修改为排序最后的一个未写满的存储块中的第一地址,例如,当系统中有存储块M1、M2、M3时,存储块M1在实体硬盘中的存储位置排序最靠后,存储块M2在存储块M1之前,存储块M3在存储块M2之前。那么本发明首先判断存储块M1是否被写满,当存储块M1未写满时,则硬盘过滤驱动将拦截到的写入请求的写入地址修改为存储块M1中的第一地址,该第一地址是在存储块M1中按正序选择的至少一个扇区。
当存储块M1被写满时,则判断存储块M2是否被写满,当存储块M2未写满时,则硬盘过滤驱动将拦截到的写入请求的写入地址修改为存储块M2中的第一地址。其他情况以此类推,直至将该写入请求对应的数据全部写入虚拟化硬盘对应的实体硬盘中的存储块。
本发明实施例中,通过预先设置相应的硬盘过滤驱动拦截写入请求,并在写入请求中包含有第一标识时,该第一标识表示需要写入请求对应的数据写入的一存储块,修改写入请求的写入地址为排序最后的一个未写满存储块中的第一地址,相对在先技术中,系统是将写入请求对应的数据依据存储块的排序方式将数据连续写入,即先将写入请求对应的数据写入排序靠前的存储块中,本发明实施例中,通过硬盘过滤驱动拦截写入请求,并修改写入请求中的第一标识的方式,能够使得写入请求改善原有的写入方式,从排序靠后的存储块中按正序开始写入,提高了虚拟化硬盘的备份数据读取效率。并且能够降低虚拟化硬盘的存储空间的浪费。
实施例四
参照图4,示出了根据本发明一个实施例的一种虚拟化硬盘数据读取方法实施例的步骤流程图,具体可以包括如下步骤:
步骤S410:判断接收到的读取请求是否为针对存储块中存储的数据;如果接收到的读取请求是针对存储块中存储的数据,则进入步骤S420。
在本发明实施例中,按照前述实施例的方式在存储块中存储了数据之后,相应的系统可以从该存储块中读取其中存储的数据。
在本发明实施例中,利用了实施例三中注册的硬盘过滤驱动,该硬盘过滤驱动还可以拦截上层发送的读取请求,该读取请求也是IRP包。
那么当某个进程需要读取存储于存储块中的数据时,向下发送IRP包,在该IRP包经过本发明实施例的硬盘过滤驱动时,则将拦截该IPR包,然后判断其是否为读取存储块中存储的数据。如果是,则进入步骤S420。
当需要从虚拟化硬盘读取数据时,系统可以将数据的逻辑地址传给虚拟化硬盘,硬盘的控制电路按照寻址逻辑将逻辑地址翻译成物理地址,即确定所读的数据在哪个磁道及哪个扇区。
步骤S420:从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据。
本发明实施例中,在对硬盘中的数据进行读取时,也是按照连续读取的方式进行读取的,从硬盘中读取数据时,每次都会预读,即使只需要一个字节,硬盘也会从相应的读取位置开始,正序向后读取一定长度的数据,其所遵循的局部性原理是:1、当一个数据被用到时,其附近的数据通常也会被马上用到;2、程序运行期间所需要的数据比较集中。由于硬盘顺序读取的效率很高,因此,对于具有局部性的程序而言,该预读机制可以提高I/O效率。
相应的,系统中固有的预读机制可以在存储块中读取该读取请求对应的存储位置的数据的同时,还可以预读取该存储位置之后连续至少一个存储位置的数据,例如,对于存储块M1中包含有1-100个扇区,并且读取请求对应的存储位置是对应于扇区80,则再读取到该存储位置的数据之后,还可以读取扇区80之后的一个或多个扇区的数据。具体个数根据实体硬盘预定的预读机制确定。
其中,所述存储块中的数据可以通过以下步骤存储:
步骤S430:在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
优选地,在所述步骤S430之前,还可以包括:
步骤S425:向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
步骤S440:判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;如果接收到需要存储到虚拟化硬盘尾部的写入请求,则进入步骤S150。
步骤S450:从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述步骤S450可以包括:
步骤S4500:每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述步骤S4500可以包括:
子步骤S45002:每当排序靠后的存储块写满,则判断所述排序靠后的存储块之前是否有存储块;如果所述排序靠后的存储块之前有存储块,则进入步骤S45004,否则,进入步骤S45006;
子步骤S45004:将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
子步骤S45006:在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
优选地,当预先申请一个指定容量的存储块时,所述步骤S450可以包括:
子步骤S4502:每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
优选地,所述步骤S450可以包括:
子步骤S4504:通过所述硬盘过滤驱动拦截写入请求;
子步骤S4506:判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;如果所述写入请求包括第一标识,则进入步骤S4508;
子步骤S4508:修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
在本发明实施例中,对于在虚拟化硬盘的存储块中存储数据的过程,即步骤S430-S450,及其优选的步骤,其原理与实施例一、二、三的原理类似,在此不再详述。
本发明实施例可以在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块,当接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的虚拟块开始,在虚拟块中按照正序的方式将写入请求对应的数据写入存储块中,相对在先技术中,本发明实施例按照正序的方式将数据写入存储块中,因而可以避免系统预读机制不能使用的缺陷,由此解决系统中固有的预读机制不能正常使用的问题,提高了虚拟化硬盘的备份数据读取效率。
另外,由于本发明从虚拟化硬盘对应的实体硬盘的存储空间的尾部申请开始指定容量的存储块,该指定容量并不大,是小容量的存储块,该指定容量不超过1G,不用暴力的划分一大块存储块,比如对于200G的虚拟化硬盘,将后面的100个G划分为存储备份数据的存储块,那么实际上虚拟化硬盘对用户提供的可用硬盘就只有前100个G,严重浪费了存储空间,因此本发明可以在降低虚拟化硬盘的存储空间浪费的基础上,提供虚拟化硬盘的数据的读取效率。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例五
参照图5,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储装置实施例的结构框图,具体可以包括如下模块:
第一存储块申请模块510,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
第一写入请求判断模块520,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求。
第一数据写入模块530,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,当预先申请一个指定容量的存储块时,所述第一数据写入模块530可以包括:
第一再申请存储块写入子模块5302,适于每当排序靠后的存储块写满时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
实施例六
参照图6,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储装置实施例的结构框图,具体可以包括如下模块:
第一存储块申请模块610,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
第一写入请求判断模块620,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求。
第一数据写入模块630,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述第一数据写入模块630可以包括:
第一选择存储块写入子模块6302,适于每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述第一选择存储块写入子模块6302可以包括:
第一存储块判断子模块63022,适于每当排序靠后的存储块写满时,判断所述排序靠后的存储块之前是否有存储块;
第一前一存储块写入子模块63024,适于在所述排序靠后的存储块之前有存储块时,将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
第一新申请存储块写入子模块63026,适于在所述排序靠后的存储块之前没有存储块时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
实施例七
参照图7,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储装置实施例的结构框图,具体可以包括如下模块:
第一硬盘过滤驱动注册模块710,适于向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
第一存储块申请模块720,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
第一写入请求判断模块730,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求。
第一数据写入模块740,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述第一数据写入模块740可以包括:
第一写入请求拦截子模块7402,适于通过所述硬盘过滤驱动拦截写入请求;
第一标识的第一判断子模块7404,适于判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
第一地址的第一修改子模块7406,适于在所述写入请求包括第一标识时,修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
实施例八
参照图8,示出了根据本发明一个实施例的一种虚拟化硬盘数据存储装置实施例的结构框图,具体可以包括如下模块:
数据判断模块810,适于判断接收到的读取请求是否为针对存储块中存储的数据。
数据读取模块820,适于在接收到的读取请求是针对存储块中存储的数据时,从所述存储块中,对应所述读取请求对应的存储位置读取数据,并读取所述存储位置之后连续至少一个存储位置的数据。
其中,所述存储块中的数据通过以下模块存储:
第二存储块申请模块830,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块。
优选地,在所述第二存储块申请模块830之前,还可以包括:
第二硬盘过滤驱动注册模块800,适于向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
第二写入请求判断模块840,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求。
第二数据写入模块850,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述第二数据写入模块850可以包括:
第二选择存储块写入模块8500,适于每当排序靠后的存储块写满时,选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,所述第二选择存储块写入模块8500可以包括:
第二存储块判断子模块85002,适于每当排序靠后的存储块写满时,判断所述排序靠后的存储块之前是否有存储块;
第二前一存储块写入子模块85004,适于在所述排序靠后的存储块之前有存储块时,将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
第二新申请存储块写入子模块85006,适于在所述排序靠后的存储块之前没有存储块时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
优选地,当预先申请一个指定容量的存储块时,所述第二数据写入模块850可以包括:
第二再申请存储块写入子模块8502,适于每当排序靠后的存储块写满时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
优选地,所述第二数据写入模块850可以包括:
第二写入请求拦截子模块8504,适于通过所述硬盘过滤驱动拦截写入请求;
第一标识的第二判断子模块8506,适于判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
第一地址的第二修改子模块8508,适于在所述写入请求是否包括第一标识时,修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
实施例九
参照图9,示出了本发明一个实施例的一种设备900的结构框图,具体可以包括:
存储器910,加载有多条可执行指令;
处理器920,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
实施例十
参照图10,示出了本发明一个实施例的一种设备1000的结构框图,具体可以包括:
存储器1010,加载有多条可执行指令;
处理器1020,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
优选地,本发明实施例的多条可执行指令还可包括前述各个步骤的方法,本发明实施例不对其加以限定。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟化硬盘数据存储设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了一种A1、虚拟化硬盘数据存储方法,包括:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
A2、如A1所述的方法,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
A3、如A2所述的方法,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:每当排序靠后的存储块写满,则判断所述排序靠后的存储块之前是否有存储块;
如果所述排序靠后的存储块之前有存储块,则将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
如果所述排序靠后的存储块之前没有存储块,则在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
A4、如A2所述的方法,当预先申请一个指定容量的存储块时,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
A5、如A1所述的方法,在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块的步骤之前,还包括:
向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
A6、如A5所述的方法,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
通过所述硬盘过滤驱动拦截写入请求;
判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
如果所述写入请求包括第一标识,则修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
本发明还公开了一种B7、虚拟化硬盘数据读取方法,包括:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
B8、如B7所述的方法,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
B9、如B8所述的方法,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则判断所述排序靠后的存储块之前是否有存储块;
如果所述排序靠后的存储块之前有存储块,则将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
如果所述排序靠后的存储块之前没有存储块,则在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
B10、如B8所述的方法,当预先申请一个指定容量的存储块时,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
B11、如B7所述的方法,在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块的步骤之前,还包括:
向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
B12、如B11所述的方法,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
通过所述硬盘过滤驱动拦截写入请求;
判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
如果所述写入请求包括第一标识,则修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
本发明还公开了一种C13、虚拟化硬盘数据存储装置,包括:
第一存储块申请模块,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
第一写入请求判断模块,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
第一数据写入模块,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
C14、如C13所述的装置,所述第一数据写入模块包括:
第一选择存储块写入子模块,适于每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
C15、如C14所述的装置,所述第一选择存储块写入子模块包括:
第一存储块判断子模块,适于每当排序靠后的存储块写满时,判断所述排序靠后的存储块之前是否有存储块;
第一前一存储块写入子模块,适于在所述排序靠后的存储块之前有存储块时,将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
第一新申请存储块写入子模块,适于在所述排序靠后的存储块之前没有存储块时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
C16、如C14所述的装置,当预先申请一个指定容量的存储块时,所述第一数据写入模块包括:
第一再申请存储块写入子模块,适于每当排序靠后的存储块写满时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
C17、如C13所述的装置,在所述第一存储块申请模块之前,还包括:
第一硬盘过滤驱动注册模块,适于向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
C18、如C17所述的装置,所述第一数据写入模块包括:
第一写入请求拦截子模块,适于通过所述硬盘过滤驱动拦截写入请求;
第一标识的第一判断子模块,适于判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
第一地址的第一修改子模块,适于在所述写入请求包括第一标识时,修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
本发明还公开了一种D19、虚拟化硬盘数据读取装置,包括:
数据判断模块,适于判断接收到的读取请求是否为针对存储块中存储的数据;
数据读取模块,适于在接收到的读取请求是针对存储块中存储的数据时,从所述存储块中,对应所述读取请求对应的存储位置读取数据,并读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下模块存储:
第二存储块申请模块,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
第二写入请求判断模块,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
第二数据写入模块,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
D20、如D19所述的装置,所述第二数据写入模块包括:
第二选择存储块写入子模块,适于每当排序靠后的存储块写满时,选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
D21、如D20所述的装置,所述第二选择存储块写入子模块包括:
第二存储块判断子模块,适于每当排序靠后的存储块写满时,判断所述排序靠后的存储块之前是否有存储块;
第二前一存储块写入子模块,适于在所述排序靠后的存储块之前有存储块时,将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
第二新申请存储块写入子模块,适于在所述排序靠后的存储块之前没有存储块时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
D22、如D20所述的装置,当预先申请一个指定容量的存储块时,所述第二数据写入模块包括:
第二再申请存储块写入子模块,适于每当排序靠后的存储块写满时,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
D23、如D19所述的装置,在所述第二存储块申请模块之前,还包括:
第二硬盘过滤驱动注册模块,适于向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
D24、如D23所述的装置,所述第二数据写入模块包括:
第二写入请求拦截子模块,适于通过所述硬盘过滤驱动拦截写入请求;
第一标识的第二判断子模块,适于判断所述写入请求是否包括第一标识;所述第一标识表示需要所述写入请求对应的数据写入一存储块;
第一地址的第二修改子模块,适于在所述写入请求是否包括第一标识时,修改所述写入请求的写入地址为存储块中的第一地址;所述存储块为排序最后的一个未写满的存储块;所述第一地址为所述存储块中正序下的至少一个扇区。
本发明还公开了一种E25、虚拟化硬盘数据存储设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
本发明还公开了一种F26、虚拟化硬盘数据存储设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
Claims (10)
1.一种虚拟化硬盘数据存储方法,包括:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
2.根据权利要求1所述的方法,其特征在于,所述从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块。
3.根据权利要求2所述的方法,其特征在于,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,则判断所述排序靠后的存储块之前是否有存储块;
如果所述排序靠后的存储块之前有存储块,则将所述写入请求对应的数据,按正序写入所述排序靠后的存储块之前的存储块;
如果所述排序靠后的存储块之前没有存储块,则在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
4.根据权利要求2所述的方法,其特征在于,当预先申请一个指定容量的存储块时,所述每当排序靠后的存储块写满,则选择所述存储块的前一个存储块,将所述写入请求对应的数据,按正序写入所述存储块的步骤,包括:
每当排序靠后的存储块写满,在所述排序靠后的存储块之前申请一个指定容量的存储块,并将所述写入请求对应的数据,按正序写入新申请的存储块。
5.根据权利要求1所述的方法,其特征在于,在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块的步骤之前,还包括:
向系统注册硬盘过滤驱动;所述硬盘过滤驱动用于拦截对存储块的读取请求/写入请求,以及用于申请存储块。
6.一种虚拟化硬盘数据读取方法,包括:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
7.一种虚拟化硬盘数据存储装置,包括:
第一存储块申请模块,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
第一写入请求判断模块,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
第一数据写入模块,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
8.一种虚拟化硬盘数据读取装置,包括:
数据判断模块,适于判断接收到的读取请求是否为针对存储块中存储的数据;
数据读取模块,适于在接收到的读取请求是针对存储块中存储的数据时,从所述存储块中,对应所述读取请求对应的存储位置读取数据,并读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下模块存储:
第二存储块申请模块,适于在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
第二写入请求判断模块,适于判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
第二数据写入模块,适于在接收到需要存储到虚拟化硬盘尾部的写入请求时,从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
9.一种虚拟化硬盘数据存储设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
10.一种虚拟化硬盘数据读取设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:
判断接收到的读取请求是否为针对存储块中存储的数据;
如果接收到的读取请求是针对存储块中存储的数据,则从所述存储块中,对应所述读取请求对应的存储位置读取数据,并预读取所述存储位置之后连续至少一个存储位置的数据;
其中,所述存储块中的数据通过以下步骤存储:
在虚拟化硬盘尾部所对应的实体硬盘的存储空间的尾部,预先申请至少一个指定容量的存储块;
判断是否接收到需要存储到虚拟化硬盘尾部的写入请求;
如果接收到需要存储到虚拟化硬盘尾部的写入请求,则从排序最后的存储块开始,在所述存储块中,将所述写入请求对应的数据,按正序写入所述存储块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510812544.2A CN106775433A (zh) | 2015-11-20 | 2015-11-20 | 一种虚拟化硬盘数据存储、读取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510812544.2A CN106775433A (zh) | 2015-11-20 | 2015-11-20 | 一种虚拟化硬盘数据存储、读取方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106775433A true CN106775433A (zh) | 2017-05-31 |
Family
ID=58886006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510812544.2A Pending CN106775433A (zh) | 2015-11-20 | 2015-11-20 | 一种虚拟化硬盘数据存储、读取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775433A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722880A (zh) * | 2020-05-11 | 2020-09-29 | 深圳市共进电子股份有限公司 | 一种设备生产方法、装置、终端设备及介质 |
-
2015
- 2015-11-20 CN CN201510812544.2A patent/CN106775433A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722880A (zh) * | 2020-05-11 | 2020-09-29 | 深圳市共进电子股份有限公司 | 一种设备生产方法、装置、终端设备及介质 |
CN111722880B (zh) * | 2020-05-11 | 2024-02-09 | 深圳市共进电子股份有限公司 | 一种设备生产方法、装置、终端设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10802946B2 (en) | Presenting differences between code entity invocations | |
CN104238963B (zh) | 一种数据存储方法、存储装置及存储系统 | |
US8131671B2 (en) | Uninterrupted data access during the migration of data between physical file systems | |
CN103197956B (zh) | 包括硬件及软件预取的方法和信息处理系统 | |
KR20150103262A (ko) | 성능 및 정확도에 대한 멀티 스레드 소프트웨어 프로그램들의 레코딩된 실행들의 시각화 | |
US6629158B1 (en) | System, apparatus, and method for configuring an array controller | |
JP2011039841A (ja) | データ移行方法、及びプログラム | |
CN104281535B (zh) | 一种映射表在内存中的处理方法和装置 | |
CN107111531A (zh) | 使用分配图的数据恢复 | |
US11748241B2 (en) | Method and apparatus for generating simulated test IO operations | |
US20080301717A1 (en) | Visualizing a memory footprint of an application program | |
CN107256233A (zh) | 一种数据存储方法和装置 | |
KR20200003178A (ko) | 사용자 인터페이스 요소들을 식별하기 위한 기술들 및 이를 사용하는 시스템들 및 디바이스들 | |
CN110249315A (zh) | 在跟踪重放期间存储器值的有效检索 | |
US20050060514A1 (en) | Memory quality assurance | |
Stone et al. | Immersive out-of-core visualization of large-size and long-timescale molecular dynamics trajectories | |
CN109614119A (zh) | 一种烧录方法、装置、电子设备及介质 | |
CN114924923A (zh) | 一种硬盘写入点正确性验证方法、系统、设备及介质 | |
CN106775433A (zh) | 一种虚拟化硬盘数据存储、读取方法和装置 | |
JPH09223024A (ja) | コンピュータプログラムのコンポーネントを記録するための方法及び装置 | |
US9779535B2 (en) | Configuring resources used by a graphics processing unit | |
TW201504937A (zh) | 由實體儲存裝置中所選分區所構成的虛擬儲存裝置 | |
JP2004030638A (ja) | マイクロプロセッサキャッシュ設計初期化 | |
CN100411044C (zh) | 处理光盘的读回数据发生解码错误的数据管理方法及光驱 | |
CN107861795B (zh) | 模拟物理tcm芯片的方法、系统、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170531 |