CN104461940A - 网络虚拟磁盘客户端高效缓存及延迟写入方法 - Google Patents
网络虚拟磁盘客户端高效缓存及延迟写入方法 Download PDFInfo
- Publication number
- CN104461940A CN104461940A CN201410788824.XA CN201410788824A CN104461940A CN 104461940 A CN104461940 A CN 104461940A CN 201410788824 A CN201410788824 A CN 201410788824A CN 104461940 A CN104461940 A CN 104461940A
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- write
- network virtual
- sector
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网络虚拟磁盘客户端高效缓存及延迟写入方法,针对读请求预读多个扇区,虽然稍稍增大了部分传输数据量,但是有效的减少了传输的频率,规避了网络延时的不利因素;而针对写请求,把要写的扇区数据写入本地缓存后就返回,并不真正发送到服务端从而产生延迟合并作用,规避网络延时的不利因素,可以实现具有良好的性能、稳定性以及适应性的网络虚拟磁盘。
Description
技术领域
本发明涉及数据存储领域,尤其是一种对网络虚拟磁盘客户端读写的方法。
背景技术
网络虚拟磁盘***的本质就是,利用磁盘驱动技术,在操作***中虚拟“真实”的磁盘,拦截磁盘的所有读写请求,通过网络远程重定向到后台服务器存储,实现存储的虚拟化。虚拟磁盘驱动在客户端操作***中模拟的是块设备,所有的访问请求其实都象是针对物理磁盘一样的扇区读写请求,在这个层面上看,只有读、写两种操作,只是每次请求的扇区编号、以及扇区个数不同而已。注意操作***对磁盘的读写,总是以扇区为最小单位的。
在网络虚拟磁盘***的实现中,最难以克服的是效率问题,我们知道,一般U盘的读写速度在5~15MB/S,PC机硬盘的读写速度一般在50~100MB/S,服务器SCSI磁盘可以达到300~500MB/S,网络虚拟磁盘因为需要通过网络远程访问,网络的效率和延迟就成了制约整个***的最大的瓶颈,例如,百兆网环境下,网络传输的理论最高值为12.5MB/S,实际使用中,一般最高只能达到8-10MB/S或者更低,在这样的网络条件下,网络虚拟磁盘的效率将非常低下,比普通U盘都慢许多,基本不可用。
发明内容
本发明的目的是针对现有技术存在的不足,提供一种网络虚拟磁盘客户端高效缓存及延迟写入方法,能够针对网络带宽不足或不稳定网络,可以实现具有良好的性能、稳定性以及适应性的网络虚拟磁盘。
为实现上述发明目的,本发明网络虚拟磁盘客户端高效缓存及延迟写入方法可采用如下技术方案:
一种网络虚拟磁盘客户端高效缓存及延迟写入方法,包括:
针对读请求,当需要读取到某个磁盘扇区时,总是向后顺序预读取后续的若干扇区,并将所有读取的磁盘扇区中的数据都存入本地缓存中,当再次读扇区时,现在本地缓存中查找,如果找到了,就直接返回,不再通过网络传输;
针对写请求,把要写的扇区数据写入本地缓存后就返回,同时,定期监视扫描本地缓存,将缓存中的数据变化部分提取出来,然后打包、压缩、传输到服务器端,由服务器的守护进程将数据真正写入到磁盘的镜像文件中。
与现有技术相比,本发明中网络虚拟磁盘客户端高效缓存及延迟写入方法中针对读请求预读缓存的扇区命中率相当高,虽然稍稍增大了部分传输数据量,但是有效的减少了传输的频率,规避了网络延时的不利因素;而针对写请求,把要写的扇区数据写入本地缓存后就返回,并不真正发送到服务端从而产生延迟合并作用,当数据积累到一定的量或等待指定的时间后再真正写入磁盘从而提高写入性能,规避网络延时的不利因素,可以实现具有良好的性能、稳定性以及适应性的网络虚拟磁盘。
附图说明
图1为本发明网络虚拟磁盘客户端高效缓存及延迟写入方法的应用示意图。
具体实施方式
请参阅图1所示,本发明公开一种网络虚拟磁盘客户端高效缓存及延迟写入方法,包括:
针对读请求,当需要读取到某个磁盘扇区时,总是向后顺序预读取后续的若干扇区(一般定为64K字节,假设扇区大小为4k,就是16个扇区),并将所有读取的磁盘扇区中的数据都存入本地缓存中,当再次读扇区时,现在本地缓存中查找,如果找到了,就直接返回,不再通过网络传输;根据实际测试,预读缓存的扇区命中率相当高,虽然稍稍增大了部分传输数据量,但是有效的减少了传输的频率,规避了网络延时的不利因素。
针对写请求,把要写的扇区数据写入本地缓存后就返回,同时,定期监视扫描本地缓存,将缓存中的数据变化部分提取出来,然后打包、压缩、传输到服务器端,由服务器的守护进程将数据真正写入到磁盘的镜像文件中。
在写请求中,将虚拟磁盘需要的大型地址空间进行分段管理,如,以64M字节为一个管理单位,在磁盘上建立物理文件,并利用操作***的文件映射API将物理文件映射到内存,以提供快速的访问;在缓存单元的结构上进行了扩展,增加唯一并且严格递增的写入标记戳记录,以及扇区状态标识位等记录结构。针对写请求中,数据的处理方面,采用QuickLZ算法模块,对于磁盘块读写这种数据密度十分不均匀的场景做了很好的适配和优化。
在本发明中,提出的高效的缓存技术和优化的延迟写入算法,针对网络带宽不足或不稳定网络,可以实现具有良好的性能、稳定性以及适应性的网络虚拟磁盘产品。
Claims (3)
1.一种网络虚拟磁盘客户端高效缓存及延迟写入方法,其特征在于,包括:
针对读请求,当需要读取到某个磁盘扇区时,总是向后顺序预读取后续的若干扇区,并将所有读取的磁盘扇区中的数据都存入本地缓存中,当再次读扇区时,现在本地缓存中查找,如果找到了,就直接返回,不再通过网络传输;
针对写请求,把要写的扇区数据写入本地缓存后就返回,同时,定期监视扫描本地缓存,将缓存中的数据变化部分提取出来,然后打包、压缩、传输到服务器端,由服务器的守护进程将数据真正写入到磁盘的镜像文件中。
2.根据权利要求1所述的网络虚拟磁盘客户端高效缓存及延迟写入方法,其特征在于:针对写请求中,将虚拟磁盘需要的大型地址空间进行分段管理,在磁盘上建立物理文件,并利用操作***的文件映射API将物理文件映射到内存,以提供快速的访问;
在缓存单元的结构上进行了扩展,增加唯一并且严格递增的写入标记戳记录,以及扇区状态标识位等记录结构。
3.根据权利要求2所述的网络虚拟磁盘客户端高效缓存及延迟写入方法,其特征在于:针对写请求中,数据的处理方面,采用QuickLZ算法模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410788824.XA CN104461940A (zh) | 2014-12-17 | 2014-12-17 | 网络虚拟磁盘客户端高效缓存及延迟写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410788824.XA CN104461940A (zh) | 2014-12-17 | 2014-12-17 | 网络虚拟磁盘客户端高效缓存及延迟写入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104461940A true CN104461940A (zh) | 2015-03-25 |
Family
ID=52908026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410788824.XA Pending CN104461940A (zh) | 2014-12-17 | 2014-12-17 | 网络虚拟磁盘客户端高效缓存及延迟写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461940A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406981A (zh) * | 2016-09-18 | 2017-02-15 | 深圳市深信服电子科技有限公司 | 一种读、写磁盘数据的方法及虚拟机监视器 |
CN108628550A (zh) * | 2018-04-28 | 2018-10-09 | 深信服科技股份有限公司 | 一种读取磁盘映射文件的方法、装置及*** |
CN111045604A (zh) * | 2019-12-11 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种基于nvram的小文件读写加速方法和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050761A1 (en) * | 2005-08-30 | 2007-03-01 | Microsoft Corporation | Distributed caching of files in a network |
CN101419535A (zh) * | 2008-11-19 | 2009-04-29 | 北京航空航天大学 | 虚拟机的分布式虚拟磁盘*** |
CN101763226A (zh) * | 2010-01-19 | 2010-06-30 | 北京航空航天大学 | 一种虚拟存储设备的缓存方法 |
CN101996051A (zh) * | 2009-08-25 | 2011-03-30 | 联想(北京)有限公司 | 一种虚拟磁盘***、虚拟磁盘实现方法及终端设备 |
-
2014
- 2014-12-17 CN CN201410788824.XA patent/CN104461940A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050761A1 (en) * | 2005-08-30 | 2007-03-01 | Microsoft Corporation | Distributed caching of files in a network |
CN101419535A (zh) * | 2008-11-19 | 2009-04-29 | 北京航空航天大学 | 虚拟机的分布式虚拟磁盘*** |
CN101996051A (zh) * | 2009-08-25 | 2011-03-30 | 联想(北京)有限公司 | 一种虚拟磁盘***、虚拟磁盘实现方法及终端设备 |
CN101763226A (zh) * | 2010-01-19 | 2010-06-30 | 北京航空航天大学 | 一种虚拟存储设备的缓存方法 |
Non-Patent Citations (1)
Title |
---|
任婉: "Windows API中的文件映射应用", 《河南科技学院学报(自然科学版)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106406981A (zh) * | 2016-09-18 | 2017-02-15 | 深圳市深信服电子科技有限公司 | 一种读、写磁盘数据的方法及虚拟机监视器 |
CN108628550A (zh) * | 2018-04-28 | 2018-10-09 | 深信服科技股份有限公司 | 一种读取磁盘映射文件的方法、装置及*** |
CN108628550B (zh) * | 2018-04-28 | 2022-02-22 | 深信服科技股份有限公司 | 一种读取磁盘映射文件的方法、装置及*** |
CN111045604A (zh) * | 2019-12-11 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种基于nvram的小文件读写加速方法和设备 |
CN111045604B (zh) * | 2019-12-11 | 2022-11-01 | 苏州浪潮智能科技有限公司 | 一种基于nvram的小文件读写加速方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9058112B2 (en) | Retrieving data in a storage system using thin provisioning | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及*** | |
US8751725B1 (en) | Hybrid storage aggregate | |
US10282286B2 (en) | Address mapping using a data unit type that is variable | |
US8793466B2 (en) | Efficient data object storage and retrieval | |
US9069680B2 (en) | Methods and systems for determining a cache size for a storage system | |
Mao et al. | POD: Performance oriented I/O deduplication for primary storage systems in the cloud | |
WO2018019119A1 (zh) | 一种面向连续数据存储的动态局部并行数据布局方法及装置 | |
US7761648B2 (en) | Caching method for NAND flash translation layer | |
CN102609361B (zh) | 虚拟机存储数据迁移方法和装置 | |
CN105426127A (zh) | 一种分布式集群***的文件存储方法及装置 | |
CN108595349B (zh) | 大容量存储设备的地址转换方法与装置 | |
CN103399823B (zh) | 业务数据的存储方法、设备和*** | |
CN107562644B (zh) | 一种固态硬盘映射表的压缩方法 | |
CN113467705B (zh) | 数据组块的增强读取 | |
TWI584120B (zh) | 用於動態調適快取的方法及系統 | |
CN104461940A (zh) | 网络虚拟磁盘客户端高效缓存及延迟写入方法 | |
US9946463B2 (en) | Compression of indirection tables | |
WO2014153931A1 (zh) | 文件存储方法、装置、访问客户端及元数据服务器*** | |
CN106557277B (zh) | 磁盘阵列的读方法及装置 | |
CN103491124A (zh) | 一种对彩信数据进行处理的方法及分布式缓存*** | |
JP5924482B2 (ja) | ストレージ装置 | |
US10642494B2 (en) | Method, electronic device and computer program product for data processing | |
US20230418514A1 (en) | Key-To-Physical Table Optimization For Key Value Data Storage Devices | |
CN115826882B (zh) | 一种存储方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |
|
RJ01 | Rejection of invention patent application after publication |