CN102520884A - 一种Linux下针对机械硬盘的预读方法 - Google Patents

一种Linux下针对机械硬盘的预读方法 Download PDF

Info

Publication number
CN102520884A
CN102520884A CN2011104200037A CN201110420003A CN102520884A CN 102520884 A CN102520884 A CN 102520884A CN 2011104200037 A CN2011104200037 A CN 2011104200037A CN 201110420003 A CN201110420003 A CN 201110420003A CN 102520884 A CN102520884 A CN 102520884A
Authority
CN
China
Prior art keywords
advance
read
reading
disk
mirror image
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.)
Granted
Application number
CN2011104200037A
Other languages
English (en)
Other versions
CN102520884B (zh
Inventor
张福新
吴少刚
陈杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Aerospace dragon dream Information Technology Co., Ltd.
Original Assignee
JIANGSU LEMOTE TECHNOLOGY Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by JIANGSU LEMOTE TECHNOLOGY Corp Ltd filed Critical JIANGSU LEMOTE TECHNOLOGY Corp Ltd
Priority to CN201110420003.7A priority Critical patent/CN102520884B/zh
Publication of CN102520884A publication Critical patent/CN102520884A/zh
Application granted granted Critical
Publication of CN102520884B publication Critical patent/CN102520884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种Linux下针对机械硬盘的预读方法,改方法包括步骤:1)收集需要预读的文件片断;2)预读文件片断;3)维持预读镜像的有效性;采用本发明所提出的预读方法,有效地把软件启动时刻的磁盘随机读访问转化为顺序读取,最大利用机械磁盘特性。同时预读顺序与正常访问顺序一致,有效解决了原有预读干扰问题。另外,对于文件系统元数据的读访问,也能进行预读。

Description

一种Linux下针对机械硬盘的预读方法
技术领域
本发明涉及一种Linux下针对机械硬盘的预读方法。
背景技术
随着软件越来越复杂化,软件的启动速度也越来越慢,其通常主要因素源自启动时刻软件对磁盘的随机访问。
目前常见的机械硬盘,虽然有着不错的顺序访问性能,然而其随机访问性能却不高。
于是一些预读技术就被提出,来优化软件的启动速度。预读主要是在磁盘空闲间隙,按照磁盘顺序,提前读取接下来要访问的内容。
预读主要包含两个任务——“收集需要预读的文件片断”和“预读文件片断”。
目前在Linux上,已有预读方法如下:
1.收集需要预读的文件片断:在软件启动阶段采用fanotify/inotify系统调用来监视哪些文件被打开。启动完成后,再依次对前述打开过的文件使用mincore系统调用,来获知文件的哪些部分在内存中,在内存中的部分被认为是启动过程中被读取的,从而被记录下来,形成类似“文件路径:区间1,区间2,...”的一条记录。
最后将上述记录按照所在磁盘位置排列,写入到一个文件中。
2.预读文件片断:在软件启动一开始,预读程序根据上点生成的记录文件,逐个打开文件并通过readahead/posix_fadvise系统调用,来指示操作系统内核进行预读。
然而上述预读方法表现并不尽如人意。
首先,预读操作按照了磁盘序,固然提高了磁盘效率,却往往会干扰正常的读访问。例如某软件启动时,依次访问了四个文件片段:a,b,c,d,而其磁盘顺序为d,c,b,a。这样在启动时刻,按照磁盘序预读的d并不是立即需要的,反而与启动的软件竞争磁盘带宽。
其次,预读仅仅涵盖了启动时刻的文件访问,却忽略了对文件系统元数据的访问。在实测中,启动时刻相当一部分磁盘访问对应到了文件系统的元数据。
发明内容
本发明所要解决的技术问题是提供一种Linux下针对机械硬盘的预读方法,该方法可以有效改善机械硬盘上的软件启动速度。
为了解决上述的技术问题,本发明的一种Linux下针对机械硬盘的预读方法,包括步骤:
1)收集需要预读的文件片断。
无缝记录软件正常启动过程中的磁盘读访问。与已有方案相比,记录对象为磁盘块,从而能记录对文件系统元数据的读取;每次读取块的顺序和块号都将被记录。
启动完成后,按照其磁盘块被访问的顺序,写入到预读镜像。与已有方案相比,写入的是预读内容的一个副本,而非引用。
2)预读文件片断。
软件启动时刻,将优先尝试从预读镜像中读取所需块。与已有方案相比,由于预读镜像磁盘块的顺序与访问顺序一致,从而既满足了最大利用机械磁盘特性,又能避免预读非急需内容,干扰正常启动。
3)维持预读镜像的有效性。
定期同步预读镜像中的磁盘块副本。由于软件更新等原因造成的原件更新,将被发现并更新到镜像中的磁盘块副本中。
采用本发明所提出的预读方法,有效地把软件启动时刻的磁盘随机读访问转化为顺序读取,最大利用机械磁盘特性。同时预读顺序与正常访问顺序一致,有效解决了原有预读干扰问题。另外,对于文件系统元数据的读访问,也能进行预读。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明“收集需要预读的文件片断”任务在软件启动阶段的工作流程图;
图2是本发明“收集需要预读的文件片断”任务在软件启动完成后的工作流程图;
图3是本发明“预读文件片断”任务的工作流程图;
图4是本发明“维持预读镜像的有效性”任务的工作流程图;
具体实施方式
本发明实现使用了Linux内核的LVM子系统,LVM子系统能够将多个磁盘或镜像文件按照不同目标需求,组成一个虚拟的磁盘。
在本发明中,需要为LVM子系统增加一个readahead目标,该目标下,预读镜像与机械磁盘组成一个虚拟的磁盘。readahead目标对预读的三个任务实现如下:
1)收集需要预读的文件片断:在软件启动阶段,对磁盘块的读请求被依次记录到一块内存区域。图1显示了这个工作流。
在启动完成后,通知readahead目标,生成预读镜像。图2显示了这个工作流,即根据先前记录,依次从机械磁盘上读取磁盘块填充到预读镜像。预读镜像是启动时读取的磁盘块集合的一个副本,按照读取的顺序排列。
2)预读文件片断:所有磁盘的访问将通过虚拟磁盘。其中读请求优先从预读镜像中满足。图3显示了这个工作流,点状虚线代表请求的磁盘块不在预读镜像时,再从机械硬盘中查找。
3)维持预读镜像的有效性:所有磁盘的访问将通过虚拟磁盘,如果发现更新磁盘块在预读镜像中有副本,则对副本置位无效。系统周期性对无效副本进行重填。图4显示了这个工作流。
在说明书附图中,图1-3带有数字的小方框代表一个读请求,图4中带有数字的小方框代表一个写请求。框中数字代表请求的磁盘块号。
上述实施例不以任何方式限制本发明,凡是采用等同替换或等效变换的方式获得的技术方案均落在本发明的保护范围内。

Claims (1)

1.一种Linux下针对机械硬盘的预读方法,其特征在于包括以下步骤:
1)收集需要预读的文件片断,无缝记录软件正常启动过程中的磁盘读访问,启动完成后,按照其磁盘块被访问的顺序,写入到预读镜像;
2)预读文件片断,软件启动时刻,将优先尝试从预读镜像中读取所需块;
3)维持预读镜像的有效性,定期同步预读镜像中的磁盘块副本,对于各种原因造成的原件更新,将被发现并更新到镜像中的磁盘块副本中。
CN201110420003.7A 2011-12-15 2011-12-15 一种Linux下针对机械硬盘的预读方法 Active CN102520884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110420003.7A CN102520884B (zh) 2011-12-15 2011-12-15 一种Linux下针对机械硬盘的预读方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110420003.7A CN102520884B (zh) 2011-12-15 2011-12-15 一种Linux下针对机械硬盘的预读方法

Publications (2)

Publication Number Publication Date
CN102520884A true CN102520884A (zh) 2012-06-27
CN102520884B CN102520884B (zh) 2014-09-03

Family

ID=46291829

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110420003.7A Active CN102520884B (zh) 2011-12-15 2011-12-15 一种Linux下针对机械硬盘的预读方法

Country Status (1)

Country Link
CN (1) CN102520884B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999913B2 (en) * 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
CN101420360A (zh) * 2007-10-26 2009-04-29 徐广斌 一种块级网络存储访问方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999913B2 (en) * 2002-12-10 2006-02-14 John Alan Hensley Emulated read-write disk drive using a protected medium
CN101420360A (zh) * 2007-10-26 2009-04-29 徐广斌 一种块级网络存储访问方法

Also Published As

Publication number Publication date
CN102520884B (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN101814038B (zh) 一种加快计算机启动速度的方法
US9400603B2 (en) Implementing enhanced performance flash memory devices
CN102521349A (zh) 一种文件预读方法
JP2010134522A (ja) データベース管理方法、データベース管理プログラム、および、データベース管理装置
US10346368B2 (en) Method and apparatus of per-block-group journaling for ordered mode journaling file system
CN104267912A (zh) 一种nas加速方法及系统
TW201322124A (zh) 資料傳輸裝置及多個指令的整合方法
CN109375568A (zh) 一种多源数据实时采集装置
WO2018094649A1 (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
US9336293B2 (en) Data management apparatus and method for surveillance system
JP4892812B2 (ja) キャッシュ制御およびデータ処理システム並びにその処理プログラム
US8151053B2 (en) Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure
CN102520884B (zh) 一种Linux下针对机械硬盘的预读方法
KR20190089796A (ko) 감시 시스템의 영상 관리 장치 및 방법
CN110174998A (zh) 一种提高高速信号采集系统实时性的方法
JP4706029B2 (ja) ストレージ装置、データ書き込み方法、及びデータ書き込みプログラム
CN103150167B (zh) 一种软件运行加速的方法和装置
CN102681795A (zh) 一种Linux系统的SCSI Target模式的数据I/O写入方法
JP4984677B2 (ja) 情報処理装置
JP7073737B2 (ja) 通信ログ記録装置、通信ログ記録方法、および、通信ログ記録プログラム
JP2009087460A (ja) ディスク記憶装置のコマンド処理方法
CN111581241B (zh) 一种无锁处理的读缓存方法
CN102419757A (zh) 同一磁盘分区上的多个文件系统接口访问调节装置和方法
CN101764705A (zh) 一种基于日志信息处理的写磁盘方法和系统
JP2013114369A (ja) 情報処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: JIANGSU LONGXIN MENGLAN INFORMATION SECURITY TECHN

Free format text: FORMER OWNER: JIANGSU ZHONGKE MENGLAN TECHNOLOGY CO., LTD.

Effective date: 20150611

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150611

Address after: 215500 Jiangsu city of Suzhou province Changshou City Yushan Town Menglan Village

Patentee after: JIANGSU LONGXIN MENGLAN INFORMATION SAFETY TECHNOLOGY CO., LTD.

Address before: 215500 Jiangsu city of Suzhou province Changshou City Yushan Town Menglan Village

Patentee before: Jiangsu Lemote Technology Corporation Limited

CP03 Change of name, title or address

Address after: 215500 Changshou City, Jiangsu Province, Dream Road, No., No. 8

Patentee after: Jiangsu Aerospace dragon dream Information Technology Co., Ltd.

Address before: 215500 Jiangsu city of Suzhou province Changshou City Yushan Town Menglan Village

Patentee before: JIANGSU LONGXIN MENGLAN INFORMATION SAFETY TECHNOLOGY CO., LTD.

CP03 Change of name, title or address