一种联合文件系统文件访问频率元数据采集方法及装置制造方法及图纸

技术编号:20025579 阅读:36 留言:0更新日期:2019-01-06 04:29
本发明专利技术公开了一种联合文件系统文件访问频率元数据采集方法及装置,在联合文件系统中直接实现了文件访问频率元数据的实时获取,极大的方便了文件系统之上的各种文件管理应用的构建和实施,例如可以直接获取到该数据,来决定文件是否应该转移到更加高速的层级中进行访问等,且获取方式为实时获取,在获取的时候,只需要进行两个链表节点的比较,简单,快速可以实时输出。

【技术实现步骤摘要】
一种联合文件系统文件访问频率元数据采集方法及装置
本公开涉及计算机领域,具体涉及一种联合文件系统文件访问频率元数据采集方法及装置。
技术介绍
联合文件系统是一种虚拟的文件系统,它并不具备真正的实体,而是通过将多个实体的文件系统聚合在一起,形成一个层级,构成的一个虚拟的文件系统,对这个文件系统的读写,将会映射到层级聚合的实体文件系统中。联合文件系统(UnionFS)是一种轻量级的高性能分层文件系统,它支持将文件系统中的修改信息作为一次提交,并层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,应用看到的是挂载的最终结果。在联合文件系统中进行文件访问频率的统计是各种文件缓存系统所必备的一个功能,常规的实现方法为通过分析缓存的访问日志进行统计,这种统计方法有一个缺点就是无法实时性太差,统计本身消耗的性能较大,文件访问频率数据作为一个文件的元数据,在文件的调度管理中有着非常重要的参考作用,但是目前的文件系统,均没有对该元数据的支持,这个数据的获取,一般都是通过对文件的访问日志进行统计得到,这种方法的实时性(要事先统计),便利性(需要额外的统计,不能直接获取)均非常的差。
技术实现思路
本公开提供一种联合文件系统文件访问频率元数据采集方法及装置,在联合文件系统中直接实现了该元数据的实时获取,极大的方便了文件系统之上的各种文件管理应用的构建和实施,例如可以直接获取到该数据,来决定文件是否应该转移到更加高速的层级中进行访问等。为了实现上述目的,根据本公开的一方面,提供一种联合文件系统文件访问频率元数据采集方法,所述方法包括以下步骤:步骤1,设立一个Hashmap用于存储文件访问频率的统计数据;步骤2,每个文件在Hashmap中以文件的访问路径作为键值分配一个独立的内存空间;步骤3,在给每个文件分配的内存空间中建立一个环形链表,用于存放文件访问的时间戳;步骤4,将环形链表的时间戳全部设定为当前时间;步骤5,在联合文件系统进行初始化的时候,在inode中加入一个最后访问时间戳指针,用于存放形链表最新插入的时间戳所在的链表节点的指针;步骤6,当发生文件访问的时候,时间戳插入到环形链表的当前时间戳的前一个链表节点中,并将inode中最新时间戳指针指向该链表节点;步骤7,在联合文件系统的ioctl中加入文件访问频率查询的分支;步骤8,调用ioctl的方法获取访问频率元数据:进一步地,在步骤2中,在Hashmap中为每个文件分配一个独立的内存空间。进一步地,在步骤4中,所述时间戳能够设置为当前时间,可人工调整时间,对时间不做限制。进一步地,在步骤5中,所述inode,即索引节点,为储存文件管理信息的区域,每个inode号码对应一个文件名,每一个文件都有对应的inode,inode中不仅仅存储着指针,还存储着对应资源的权限、属主、属组和大小,inode对于文件一般是一一对应的,但是有时可以共享一个inode,通过多个文件指向同一个inode,实现了借助不同的方式访问到同一个文件内容,这就是硬链接。inode包含文件的管理信息,具体有以下内容:文件的字节数、文件拥有者的UserID、文件的GroupID、文件的读、写、执行权限、文件的时间戳(文件的时间戳共有三个:ctime指inode上一次变动的时间,time指文件内容上一次变动的时间,atime指文件上一次打开的时间)、链接数,即有多少文件名指向这个inode、文件数据block的位置。每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inodetable的大小就会达到128MB,占整块硬盘的12.8%。进一步地,在步骤7中,ioctl是设备驱动程序中对设备的I/O通道进行管理的函数,所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的参数个数如下:intioctl(intfd,intcmd,…);其中fd就是用户程序打开设备时使用open函数返回的文件标示符,cmd就是用户程序对设备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和cmd的意义相关的。ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程序提供了对ioctl的支持,用户就能在用户程序中使用ioctl函数控制设备的I/O通道。进一步地,在步骤7中,所述文件访问频率查询的分支的方法为加入访问频率的计算公式,访问频率的计算公式为:进一步地,在步骤8中,调用ioctl的方法获取访问频率元数据的方法包括以下子步骤:步骤8.1,从inode中获取到最新时间戳指针,并进一步获取到该指针所指向的环形链表的下一个数据节点步骤8.2,从数据节点中获取到其中记录的时间戳,因为是环形链表,所以该时间戳是环形链表中最早的一次访问的时间戳;步骤8.3,访问频率的计算公式为:步骤8.4,将计算的结果作为文件的访问频率元数据。本专利技术还提供了一种联合文件系统文件访问频率元数据采集装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:存储设立单元,用于设立一个Hashmap用于存储文件访问频率的统计数据;内存分配单元,用于在每个文件在Hashmap中以文件的访问路径作为键值分配一个独立的内存空间;时间戳链表单元,用于在给每个文件分配的内存空间中建立一个环形链表,用于存放文件访问的时间戳;时间戳设置单元,用于将环形链表的时间戳全部设定为当前时间;inode指针单元,用于在联合文件系统进行初始化的时候,在inode中加入一个最后访问时间戳指针,用于存放形链表最新插入的时间戳所在的链表节点的指针;指针指向单元,用于在当发生文件访问的时候,时间戳插入到环形链表的当前时间戳的前一个链表节点中,并将inode中最新时间戳指针指向该链表节点;频率查询单元,用于在联合文件系统的ioctl中加入文件访问频率查询的分支;元数据输出单元,用于调用ioctl的方法获取访问频率元数据。本公开的有益效果为:本专利技术提供一种联合文件系统文件访问频率元数据采集方法及装置,在联合文件系统中直接实现了文件访问频率元数据的实时获取,极大的方便了文件系统之上的各种文件管理应用的构建和实施,例如可以直接获取到该数据,来决定文件是否应该转移到更加高速的层级中进行访问等,实时性与便利性都很好,且获取方式为实时获取,在获取的时候,只需要进行两个链表节点的比较,简单,快速可以实时输出。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种联合文件系统文件访问频率元采集的方法;图2所示为一种联合文件系统文件访问频率元数据采集初始化的方法;图3所示为一种联合文件系统文件访问频率元数据实时更本文档来自技高网...

【技术保护点】
1.一种联合文件系统文件访问频率元数据采集方法,其特征在于,所述方法包括以下步骤:步骤1,设立一个Hashmap用于存储文件访问频率的统计数据;步骤2,每个文件在Hashmap中以文件的访问路径作为键值分配一个独立的内存空间;步骤3,在给每个文件分配的内存空间中建立一个环形链表,用于存放文件访问的时间戳;步骤4,将环形链表的时间戳全部设定为当前时间;步骤5,在联合文件系统进行初始化的时候,在inode中加入一个最后访问时间戳指针,用于存放形链表最新插入的时间戳所在的链表节点的指针;步骤6,当发生文件访问的时候,时间戳插入到环形链表的当前时间戳的前一个链表节点中,并将inode中最新时间戳指针指向该链表节点;步骤7,在联合文件系统的ioctl中加入文件访问频率查询的分支;步骤8,调用ioctl的方法获取访问频率元数据。

【技术特征摘要】
1.一种联合文件系统文件访问频率元数据采集方法,其特征在于,所述方法包括以下步骤:步骤1,设立一个Hashmap用于存储文件访问频率的统计数据;步骤2,每个文件在Hashmap中以文件的访问路径作为键值分配一个独立的内存空间;步骤3,在给每个文件分配的内存空间中建立一个环形链表,用于存放文件访问的时间戳;步骤4,将环形链表的时间戳全部设定为当前时间;步骤5,在联合文件系统进行初始化的时候,在inode中加入一个最后访问时间戳指针,用于存放形链表最新插入的时间戳所在的链表节点的指针;步骤6,当发生文件访问的时候,时间戳插入到环形链表的当前时间戳的前一个链表节点中,并将inode中最新时间戳指针指向该链表节点;步骤7,在联合文件系统的ioctl中加入文件访问频率查询的分支;步骤8,调用ioctl的方法获取访问频率元数据。2.根据权利要求1所述的一种联合文件系统文件访问频率元数据采集方法,其特征在于,在步骤2中,在Hashmap中为每个文件分配一个独立的内存空间。3.根据权利要求1所述的一种联合文件系统文件访问频率元数据采集方法,其特征在于,在步骤4中,所述时间戳能够设置为当前时间,可人工调整时间,对时间不做限制。4.根据权利要求1所述的一种联合文件系统文件访问频率元数据采集方法,其特征在于,在步骤7中,所述文件访问频率查询的分支的方法为加入访问频率的计算公式,访问频率的计算公式为:5.根据权利要求1所述的一种联合文件系统文件访问频率元数据采集方法,其特征在于,在步骤8中,...

【专利技术属性】
技术研发人员:刘杰陈美任黄春豪黄衍博
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东,44

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

1