一种联合文件系统文件负载均衡方法及装置制造方法及图纸

技术编号:20074862 阅读:25 留言:0更新日期:2019-01-15 00:34
本发明专利技术公开了一种联合文件系统文件负载均衡方法及装置,在联合文件系统的多个层级目录中进行文件IO负载均衡,按照联合文件系统的次序,将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上,用于查找IO目标的标识在该线段中的位置所对应的层级目录;通过使用文件IO的路径作为哈希的主体,来进行一致性的哈希,保证了同一文件的IO总是发生在同一个层级,大大的提升了IO的效率,不需要进行复杂的文件发现和同步,该方法具有调度均衡,性能优秀的特点。

A Joint File System File Load Balancing Method and Device

The invention discloses a method and device for file load balancing of a joint file system. File IO load balancing is carried out in multiple hierarchical directories of the joint file system. According to the order of the joint file system, the priority of each hierarchy is mapped to a line segment with [0, total priority] as the endpoint, which is used to find the corresponding level of the location of the IO target mark in the line segment. Catalog; By using the path of file IO as the main body of hashing, consistency hashing is carried out, which ensures that the IO of the same file always occurs at the same level, greatly improves the efficiency of IO, and does not need complex file discovery and synchronization. This method has the characteristics of balanced scheduling and excellent performance.

【技术实现步骤摘要】
一种联合文件系统文件负载均衡方法及装置
本公开涉及计算机领域,具体涉及一种联合文件系统文件负载均衡方法及装置。
技术介绍
联合文件系统是一种虚拟的文件系统,它并不具备真正的实体,而是通过将多个实体的文件系统聚合在一起,形成一个层级,构成的一个虚拟的文件系统,对这个文件系统的读写,将会映射到层级聚合的实体文件系统中。联合文件系统(UnionFS)是一种轻量级的高性能分层文件系统,它支持将文件系统中的修改信息作为一次提交,并层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,应用看到的是挂载的最终结果。联合文件系统是一种linux系统中常见的文件系统,这种文件系统的核心结构是将多个不同的目录挂载成一个独立的文件目录,在这个独立的文件目录中,文件分层级的存储在多个组成的目录中,上层的文件将遮盖下层的文件,当发生文件写入的时候,可以选择多种策略将文件分散在各个层级目录中。联合文件系统中容易出问题的地方和主要是文件更新写入的性能比较低下,自带均衡方式在文件更新方面并没有太大的优势。
技术实现思路
本公开提供一种联合文件系统文件负载均衡方法及装置,在联合文件系统的多个层级目录中进行文件IO负载均衡的方法,该方法具有调度均衡,性能优秀的特点。为了实现上述目的,根据本公开的一方面,提供一种联合文件系统文件负载均衡方法,所述方法包括以下步骤:步骤1,为联合文件系统中的每一个层级目录设置一个IO优先级数值;步骤2,收到文件IO请求时对IO目标文件的完整路径进行CRC计算,得到一个32bit的数据作为IO标识;步骤3,将联合文件系统中所有层级的IO优先级的数值进行相加得到优先级总值;步骤4,使用优先级总值对IO标识进行取整得到IO目标的标识;步骤5,按照联合文件系统的次序,将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上;步骤6,查找IO目标的标识在该线段中的位置所对应的层级目录;步骤7,将该层级目录作为目标IO点执行本次文件IO。进一步地,在步骤1中,所述IO优先级数值为人工设置,设置依据为:如果某个层级的存储介质访问速度为所有介质的70%到100%,就将这个层级的存储截至的IO优先级设为高,高的取值范围为70~100;如果某个层级的存储介质访问速度为所有介质的35%到70%,就将这个层级的存储截至的IO优先级设为中,中的取值范围为35到70;如果某个层级的存储介质访问速度为所有介质的0%到35%,就将这个层级的存储截至的IO优先级设为低,低的取值范围为1到35;数值在使用过程中可根据实际情况调整。这样能让更多文件的IO发生在IO优先级设为高的层级,获取更好的性能或者某个层级的存储介质更稳定,更健壮,IO优先级设为中、低的层级减少文件IO错误带来的影响。进一步地,所述联合文件系统包括至少一个文件层级目录,每个文件层级目录都有唯一的层级ID,所述层级目录包括文件更新队列、文件同步程序,所述文件更新队列为文件信息的队列,文件信息排列顺序为更新时间的先后;所述当前层为待同步文件层级目录的上一层文件层级目录,所述文件同步程序用于待同步文件层级目录从上一层的文件层级目录中同步文件及文件更新队列,所述文件信息包括有文件名,数据偏移地址,发生更新的层级ID。进一步地,在步骤2中,所述CRC计算为根据CRC32算法进行计算。进一步地,在步骤3中,所述IO优先级的数值为正整数,优先级越高该数字越大,是一个相对的概念,各个层级的优先级相比较,大的优先级高,小的优先级低。进一步地,在步骤5中,所述联合文件系统的次序为层级目录从上到下的次序。进一步地,在步骤5中,所述将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上方法为按照层级目录从上到下的次序将IO优先级数值依次映射到以[0,优先级总值]为端点的一条线段。本专利技术还提供了一种联合文件系统文件负载均衡装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:优先级设置单元,用于为联合文件系统中的每一个层级目录设置一个IO优先级数值;标识计算单元,用于在收到文件IO请求时对IO目标文件的完整路径进行CRC计算,得到一个32bit的数据作为IO标识;总值计算单元,用于将联合文件系统中所有层级的IO优先级的数值进行相加得到优先级总值;目标计算单元,用于使用优先级总值对IO标识进行取整得到IO目标的标识;线段映射单元,用于按照联合文件系统的次序,将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上;标识定位单元,用于查找IO目标的标识在该线段中的位置所对应的层级目录;目标执行单元,用于将该层级目录作为目标IO点执行本次文件IO。本公开的有益效果为:本专利技术提供一种联合文件系统文件负载均衡方法及装置,通过使用文件IO的path作为哈希的主体,来进行一致性的哈希,保证了同一文件的IO总是发生在同一个层级,大大的提升了IO的效率,不需要进行复杂的文件发现和同步。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种联合文件系统文件负载均衡方法的流程图;图2所示为一种联合文件系统文件负载均衡装置图。具体实施方式以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。如图1所示为根据本公开的一种联合文件系统文件负载均衡方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种联合文件系统文件负载均衡方法。本公开提出一种联合文件系统文件负载均衡方法,具体包括以下步骤:步骤1,为联合文件系统中的每一个层级目录设置一个IO优先级数值;步骤2,收到文件IO请求时对IO目标文件的完整路径进行CRC计算,得到一个32bit的数据作为IO标识;步骤3,将联合文件系统中所有层级的IO优先级的数值进行相加得到优先级总值;步骤4,使用优先级总值对IO标识进行取整得到IO目标的标识;步骤5,按照联合文件系统的次序,将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上;步骤6,查找IO目标的标识在该线段中的位置所对应的层级目录;步骤7,将该层级目录作为目标IO点执行本次文件IO。进一步地,在步骤1中,所述IO优先级数值为人工设置,设置依据为:如果某个层级的存储介质访问速度为所有介质的70%到100%,就将这个层级的存储截至的IO优先级设为高,高的取值范围为70~100;如果某个层级的存储介质访问速度为所有介质的35%到70%,就将这个层级的存储截至的IO优先级设为中,中的取值范围为35到70;如果某个层级的存储介质访问速度为所有介质的0%到35%,就将这个层级的存储截至的IO优先级设为低,低的取值范围为1到35;数值在使用过程中可根据实际情况调整。这样能让更多文件的IO发生在IO优先级设为高的层级,获取更好本文档来自技高网...

【技术保护点】
1.一种联合文件系统文件负载均衡方法,其特征在于,所述方法包括以下步骤:步骤1,为联合文件系统中的每一个层级目录设置一个IO优先级数值;步骤2,收到文件IO请求时对IO目标文件的完整路径进行CRC计算,得到一个32bit的数据作为IO标识;步骤3,将联合文件系统中所有层级的IO优先级的数值进行相加得到优先级总值;步骤4,使用优先级总值对IO标识进行取整得到IO目标的标识;步骤5,按照联合文件系统的次序,将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上;步骤6,查找IO目标的标识在该线段中的位置所对应的层级目录;步骤7,将该层级目录作为目标IO点执行本次文件IO。

【技术特征摘要】
1.一种联合文件系统文件负载均衡方法,其特征在于,所述方法包括以下步骤:步骤1,为联合文件系统中的每一个层级目录设置一个IO优先级数值;步骤2,收到文件IO请求时对IO目标文件的完整路径进行CRC计算,得到一个32bit的数据作为IO标识;步骤3,将联合文件系统中所有层级的IO优先级的数值进行相加得到优先级总值;步骤4,使用优先级总值对IO标识进行取整得到IO目标的标识;步骤5,按照联合文件系统的次序,将各个层级的优先级映射到以[0,优先级总值]为端点的一条线段上;步骤6,查找IO目标的标识在该线段中的位置所对应的层级目录;步骤7,将该层级目录作为目标IO点执行本次文件IO。2.根据权利要求1所述的一种联合文件系统文件负载均衡方法,其特征在于,在步骤1中,所述IO优先级数值为人工设置,设置依据为:如果某个层级的存储介质访问速度为所有介质的70%到100%,就将这个层级的存储截至的IO优先级设为高,高的取值范围为70~100;如果某个层级的存储介质访问速度为所有介质的35%到70%,就将这个层级的存储截至的IO优先级设为中,中的取值范围为35到70;如果某个层级的存储介质访问速度为所有介质的0%到35%,就将这个层级的存储截至的IO优先级设为低,低的取值范围为1到35;数值在使用过程中可根据实际情况调整。3.根据权利要求1所述的一种联合文件系统文件负载均衡方法,其特征在于,在步骤...

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

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

1