磁盘数据读写方法及磁盘存储装置制造方法及图纸

技术编号:11307888 阅读:242 留言:0更新日期:2015-04-16 03:33
本发明专利技术提供一种磁盘数据读写方法及磁盘存储装置。其中,所述方法包括:获取时间周期内的所有读取指令和/或写入指令对应的操作位置;获取磁头当前位置;根据所述磁头当前位置以及所述时间周期内的所有操作位置,对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短;根据排序结果,顺序执行相应的读取或存储操作。本发明专利技术实施例根据多进程读写指令对应的读取位置和/或写入位置,将多进程读写指令根据磁盘物理位置进行排序,以使所述磁头的寻道距离最短,进而缩短了磁头寻道时间,提高了数据存储的效率。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种磁盘数据读写方法及磁盘存储装置。其中,所述方法包括:获取时间周期内的所有读取指令和/或写入指令对应的操作位置;获取磁头当前位置;根据所述磁头当前位置以及所述时间周期内的所有操作位置,对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短;根据排序结果,顺序执行相应的读取或存储操作。本专利技术实施例根据多进程读写指令对应的读取位置和/或写入位置,将多进程读写指令根据磁盘物理位置进行排序,以使所述磁头的寻道距离最短,进而缩短了磁头寻道时间,提高了数据存储的效率。【专利说明】磁盘数据读写方法及磁盘存储装置
本专利技术涉及计算机数据存储技术,尤其涉及一种磁盘数据读写方法及磁盘存储装置。
技术介绍
随着网络的发展,数据量不断增大,基于关系数据模型的数据库,在数据检索速度上,逐渐不能满足人们的需要。而今科技的高速发展,海量硬盘逐渐走入了人们的生活,因此硬盘容量已不再是系统的制约因素,线性数据模型的优势得以显现。单机所能承载的数据总量不断上升,但是磁头寻道时间依旧是现有磁盘提高数据读写效率的主要瓶颈。
技术实现思路
本专利技术提供一种磁盘读写方法及磁盘存储装置,用于提高数据读写效率。 本专利技术的第一个方面是提供一种磁盘数据读写方法,包括: 获取时间周期内的所有读取指令和/或写入指令对应的操作位置; 获取磁头当前位置; 根据所述磁头当前位置以及所述时间周期内的所有操作位置,对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短; 根据排序结果,顺序执行相应的读取或存储操作。 本专利技术的另一个方面是提供一种磁盘存储装置,包括: 第一获取模块,用于获取时间周期内的所有读取指令和/或写入指令对应的操作位置; 第二获取模块,用于获取磁头当前位置; 排序模块,用于根据所述磁头当前位置以及所述时间周期内的所有操作位置,对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短; 执行模块,用于根据排序结果,顺序执行相应的读取或存储操作。 由上述技术方案可知,本专利技术实施例根据多进程读写指令对应的读取位置和/或写入位置,将多进程读写指令根据磁盘物理位置进行排序,以使所述磁头的寻道距离最短,进而缩短了磁头寻道时间,提高了数据存储的效率。 【专利附图】【附图说明】 图1为本专利技术实施例一提供的磁盘数据读写方法的流程示意图; 图2为本专利技术实施例一中例举的一具体磁道的原理不意图; 图3为本专利技术实施例三提供的磁盘存储装置的结构示意图。 【具体实施方式】 如图1所示,本专利技术实施例一提供的磁盘数据读写方法的流程示意图。如图1所示,本专利技术实施例一所述的方法的执行主体为磁盘存储装置,所述方法包括: 步骤101、获取时间周期内的所有读取指令和/或写入指令对应的操作位置。 其中,一个时间周期内可能只有一个或多个读取指令,可能只有一个或多个写入指令,还可能有一个或多个读取指令以及一个或多个写入指令。所述时间周期可预先设定。 具体地,本步骤的一种可能实现方式如下:遍历磁盘中的索引信息,分别获取所述时间周期内的所有读取指令欲读取数据在所述磁盘中的读取位置,所述读取位置为所述读取指令对应的操作位置;和/或根据所述时间周期内的所有写入指令,分别为各写入指令欲存储数据选取在所述磁盘中的写入位置,所述写入位置为所述写入指令对应的操作位置。更具体地,本实施例中磁盘存储装置可采用数据块为最小存储单位,较大数据的存储消耗多个连续的数据块,具体可采用bitmap打点算法记录数据块使用情况。磁盘存储装置可根据欲存储数据长度的匹配度来选择数据写入位置,即优先选择合适的空闲块,并能够根据数据长度统计信息决定是否对连续块进行切割,避免碎片的形成。 其中,所述磁盘中的索引信息可采用哈希结构,即分离链接哈希结构,长度可取素数。 步骤102、获取磁头当前位置。 其中,所述磁盘存储装置实时记录磁头的位置,以便获取当前时间周期开始时所述磁头的当前位置。 步骤103、根据所述磁头当前位置以及所述时间周期内的所有操作位置,对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短。 其中,磁盘是提供多个进程共享的存储设备,但磁盘每个时刻只能为一个进程服务器。当有进程在访问磁盘时,其他访问该磁盘的进程必须等待,直到磁盘一次工作结束。本实施例就是采用电梯调度算法对所述多个进程提出读取和/或写入指令进行排序,然后根据排序结果,顺序执行相应的读取或存储操作。 具体地,根据所述磁头当前位置以及所述时间周期内的所有操作位置,采用电梯调度算法对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短。 其中,所述电梯调度算法(又称SCAN算法)是磁头前进方向上的最短寻道时间优先算法,该算法避免了磁头在磁盘局部位置上的往复移动。所述电梯调度算法具体为:所述算法不仅考虑到欲访问的磁道与当前磁头所在磁道的距离,更优先考虑了磁头的当前移动方向。例如,当磁头正在自里向外移动时,所述算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直到再无更外的磁道需要访问才将磁臂换向,使磁头自外向里移动,此时,同样也是每次选择这样的进程来调度。由于这种算法中磁头移动的规律颇似电梯的运行,故称为电梯调度算法。 例如:如图2所示的磁道,假设在一个时间周期内磁盘存储装置顺序接收到三个读取指令,这三个读取指令对应的操作位置分别为:CBE,磁头当前位置为A。若磁盘存储装置按照读取指令接收顺序,则磁头的寻道过程为:磁头由A移至C,读取C处的数据后,磁头再由C移动至B,读取B处的数据后,磁头再由B移动至E,读取E处的数据。由此可知,磁头的寻道距离为: SI= (a.size+b.size) + (c.size+b.size) + (c.size+d.size) 其中,a.size为磁盘位置A处存储数据的大小,b.size为磁盘位置B处存储数据的大小,c.size为磁盘位置C处存储数据的大小,d.size为磁盘位置D处存储数据的大小。 采用本专利技术实施例提供的方法,即采用电梯调度算法,先对接收到的三个读取指令进行排序,即这三个读取指令排序后顺次对应的操作位置分别为:BCE。此时,磁头的寻道过程为:磁头由A移至B,读取B处的数据后,磁头再由B移动至C,读取C处的数据后,磁头再由C移动至E,读取E处的数据。因此,磁头的寻道距离为: S2=a.size+d.size 比较上述SI和S2,可明显的得出:采用本专利技术实施例提供的方法,磁盘寻道的距离最短。这里需要说明的是:本示例仅示出了多个读取指令的情况,多个写入指令以及多个读取指令和多个写入指令的情况,同理,此处不再赘述。 步骤104、根据排序结果,顺序执行相应的读取或存储操作。 具体地,所述执行读取操作具体为:读取磁盘上所述读取指令对应的操作位置处存储的数据,并启动所述操作位置对应的引用计数器加I ;读取完成后,所述引用计数器减 1 其中,读取操作时增加引用技术器加I的目的是:采用引用计数器来锁定数据块,使其不能被更改,防止本文档来自技高网...
磁盘数据读写方法及磁盘存储装置

【技术保护点】
一种磁盘数据读写方法,其特征在于,包括:获取时间周期内的所有读取指令和/或写入指令对应的操作位置;获取磁头当前位置;根据所述磁头当前位置以及所述时间周期内的所有操作位置,对所述时间周期内的所有读取指令和/或写入指令进行排序,以使所述磁头的寻道距离最短;根据排序结果,顺序执行相应的读取或存储操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:梁肖于晓明杨建武
申请(专利权)人:北大方正集团有限公司北京大学北京北大方正电子有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1