一种组织和访问元数据文件日志的方法技术

技术编号:7494381 阅读:282 留言:0更新日期:2012-07-10 18:21
本发明专利技术提供了一种组织和访问元数据文件日志的方法,使用红黑树组织日志系统的一致性操作所涉及到所有文件,选取日志文件的文件名作红黑树的关键字。本发明专利技术通过引入红黑树管理可靠性操作涉及到的文件,减少了可靠性操作中的文件操作次数,提高了可靠性操作的性能。同时,将多个元数据操作写入磁盘的操作进行了聚合管理,极大的减少了文件的sync操作,降低了可靠性操作的处理时间。

【技术实现步骤摘要】

本专利技术涉及分布式文件系统中的日志管理,具体来说,涉及一种组织和访问基于本地文件系统实现的分布式文件系统中的元数据日志方法。
技术介绍
随着计算机技术的快速发展,网络、科学计算等领域对存储的要求越来越高,于是分布式文件系统渐渐被引入到这些领域,以满足这些领域的存储需要。考虑到实现的复杂性,许多分布式文件采用了基于本地文件系统的实现方式。在分布式文件系统中,元数据维护着所有的目录和文件等重要信息,因此,其可靠性非常重要。为了提高其可靠性,许多的分布式文件系统采用了日志系统来提高可靠性。这种基于本地文件系统的日志系统,所有的日志均是本地文件系统中的一个普通文件。为了进行可靠性操作,需要多次.反复的打开文件和写入文件。由于每一次打开文件都需要进行一次系统调用,因此,带来的时间开销非常大;同时,由于写入文件并不能真正写入磁盘,而必须进行sync(同步),而这种操作本身的时间开销非常大。这些问题都将显著的降低日志系统的性能。红黑树是一种自平衡二叉查找树,它的操作有着良好的最坏情况运行时间,并且在实践中是高效的它可以在0(log η)时间内做查找,插入和删除,这里的η是树中元素的数目。
技术实现思路
本专利技术旨在公开一种组织和访问基于本地文件系统实现的分布式文件系统中的元数据日志方法。目的是提高分布式文件系统中日志系统的性能。—种组织和访问元数据文件日志的方法,使用红黑树组织日志系统的一致性操作所涉及到所有文件,选取日志文件的文件名作红黑树的关键字。优选的,当日志系统打开未打开过的一个文件时,即在红黑树上申请一个节点,并将该文件的文件描述符号记录到该节点上。优选的,所述日志系统操作时,首先在红黑树上进行查询,若查到该文件,则直接使用已有的节点上的文件描述符;否则,继续加入到该红黑树中。优选的,所述文件打开的数量如果超过系统的上限,则选取部分的红黑树节点进行回收。优选的,所述回收的方法是,记录所有的文件的最近访问时间,并形成一个LRU队列,该队列按照最近访问的时间进行排序,每次回收时,先回收最久未访问的文件。优选的,将所述文件系统对同一文件的操作进行链接,挂入对应的红黑树节点上, 当将内存修改数据同步到磁盘时,以文件为单位同步到磁盘。优选的,所述文件的操作在挂入红黑树后,由内核中的回刷线程将数据写入磁盘。本专利技术通过引入红黑树管理可靠性操作涉及到的文件,减少了可靠性操作中的文件操作次数,提高了可靠性操作的性能。同时,将多个元数据操作写入磁盘的操作进行了聚合管理,极大的减少了文件的sync操作,降低了可靠性操作的处理时间。具体实施方式专利技术中的技术方案具体描述如下(1)使用红黑树组织日志系统的一致性操作所涉及到所有文件,选取日志文件的文件名作红黑树的关键字,当日志系统打开未打开过的一个文件时,为红黑树申请一个节点,并将该文件对应的文件描述符号记录到该节点上,后续日志系统操作,首先要在红黑树上进行查询,若查到该文件,则直接使用已有的节点上的文件描述符,否则,继续加入到该红黑树中。若打开的文件已经超过系统的上限,则选取部分的红黑树节点进行回收。回收的方法是,记录所有的文件的最近访问时间,并形成一个LRU队列,该队列按照最近访问的时间进行排序,每次回收时,先回收最久未访问的文件,这样使得打开的次数达到最低,提高了日志系统的性能。(2)由于元数据操作具有关联性,许多的日志操作可能是针对同一个文件进行, 因此,本专利技术将所有针对同一文件的操作进行链接,挂入对应的红黑树节点上,当修改的数据同步到磁盘时,以文件为单位,而不是以操作为单位,极大的降低的同步的次数,提高了日志系统的性能。同时,由于底层的文件系统有后台写入磁盘线程,即pdflush线程,该线程会每隔一段时间(一般为30s),在后台将数据刷入磁盘。因此,将同步操作聚合后,进行同步的时间间隔变大,使得可以充分利用后台的Pdflush的写入磁盘能力,进一步提高了日志系统的写入性能,最终加快了日志系统处理元数据操作。权利要求1.,其特征在于使用红黑树组织日志系统的一致性操作所涉及到所有文件,选取日志文件的文件名作红黑树的关键字。2.如权利要求1所述的方法,其特征在于当日志系统打开未打开过的一个文件时,即在红黑树上申请一个节点,并将该文件的文件描述符号记录到该节点上。3.如权利要求1或2所述的方法,其特征在于所述日志系统操作时,首先在红黑树上进行查询,若查到该文件,则直接使用已有的节点上的文件描述符;否则,继续加入到该红黑树中。4.如权利要求2所述的方法,其特征在于所述文件打开的数量如果超过系统的上限, 则选取部分的红黑树节点进行回收。5.如权利要求4所述的方法,其特征在于所述回收的方法是,记录所有的文件的最近访问时间,并形成一个LRU队列,该队列按照最近访问的时间进行排序,每次回收时,先回收最久未访问的文件。6.如权利要求1所述的方法,其特征在于将所述文件系统对同一文件的操作进行链接,挂入对应的红黑树节点上,当将内存修改数据同步到磁盘时,以文件为单位同步到磁ο7.如权利要求6所述的方法,其特征在于所述文件的操作在挂入红黑树后,由内核中的回刷线程将数据写入磁盘。全文摘要本专利技术提供了,使用红黑树组织日志系统的一致性操作所涉及到所有文件,选取日志文件的文件名作红黑树的关键字。本专利技术通过引入红黑树管理可靠性操作涉及到的文件,减少了可靠性操作中的文件操作次数,提高了可靠性操作的性能。同时,将多个元数据操作写入磁盘的操作进行了聚合管理,极大的减少了文件的sync操作,降低了可靠性操作的处理时间。文档编号G06F17/30GK102541982SQ20111032605公开日2012年7月4日 申请日期2011年10月25日 优先权日2011年10月25日专利技术者刘新春, 张东阳, 张玉龙, 王勇, 苗艳超, 邵宗有 申请人:曙光信息产业(北京)有限公司本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王勇张东阳张玉龙邵宗有刘新春苗艳超
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1
相关领域技术