一种共享文件系统多文件快速聚合和读取的方法技术方案

技术编号:11122722 阅读:126 留言:0更新日期:2015-03-11 11:44
本发明专利技术涉及一种共享文件系统多文件快速聚合和读取的方法,包括:多文件快速聚合;打开文件;获取元数据;读取或修改文件;关闭文件。“多文件快速聚合”包括:检测聚合子文件有效性;检测聚合是否为追加聚合;创建聚合文件;建立聚合文件与聚合子文件映射关系;处理聚合子文件。“获取元数据的步骤”包括:开辟存储空间;选择处理;检测获取元数据的文件是否为聚合文件;获取聚合文件与聚合子文件映射关系;获取元数据。本发明专利技术通过快速聚合方法将多个客户端产生的文件在短时间内快速聚合成一个大文件或将多个文件快速追加聚合到已存在大文件后面,在聚合过程中不产生文件拷贝工作,快速聚合的文件和使用物理聚合方法后生成的文件完全相同。

【技术实现步骤摘要】

本专利技术涉及,是一种应用于共享文件系统视音频领域分布式转码、分布式打包等集群计算产生多个文件进行快速聚合的方法,是一种适用于广电应用领域的共享文件系统下的多文件快速聚合的方法。
技术介绍
目前,通用的共享文件系统由元数据服务器(MDS)、共享存储和多客户端通过LAN网络和SAN网络组成,元数据服务器和客户端都可以通过FC或ISCSI协议直接访问共享存储,分别为FC-SAN和IP-SAN架构。SAN网络由于是光纤传输,带宽、容量大、速度快,常用来传输数据量巨大的文件,如:视频文件。 SAN共享文件系统中的元数据是描述数据组织方法的数据结构,元数据主要记录了 SAN共享文件系统中该文件在块设备上的划分方法、存放位置以及文件的一些相关属性等。SAN共享文件系统通过元数据将连续的块设备存储组织成文件结构,元数据的大小与文件数据相比很小,所以不需要很高的传输带宽,所以用LAN网络传输。SAN共享文件系统上的元数据信息由元数据服务器统一管理。客户端在LAN网络下通过tcp/ip协议与元数据服务器相连并通讯。 SAN文件系统已广泛应用于广播电视节目的后期制作中,包括其中的一个重要应用场景:多个客户端可以同时对SAN共享文件系统中的文件进行存取操作,比如转码系统、打包系统。该系统是节目制作流程中的必经环节,同时也是计算高度密集型的应用,尤其面对当前的高清制作,需要耗费大量的计算时间,影响节目的制作效率。为此,利用分布式计算的分布式打包/转码技术应运而生,该技术使用SAN共享文件系统进行集群计算应用,与单机运算相比大幅缩短了运算时间。但该技术目前普遍存在一点不足,即集群计算结束后,每个客户端都会在共享存储上生成一个新的文件,这时需要在某个客户端上分别读取每个文件到客户端本地,然后在本地客户端对这些文件进行物理聚合,生成新的聚合大文件,最后把聚合生成的大文件再写到共享存储上,供其他客户端进行访问。这一使用分布式技术带来的额外的物理聚合的过程需要消耗很长的聚合时间,而且一旦进行集群计算的节点非常多,就会产生大量的待聚合的文件,从而进行聚合所耗费的时间也就越长。同时,如果在使用此种物理聚合方法,将会占用非常长的聚合时间,使得整个SAN网络运行变慢,长时间降低了元数据服务器对外提供服务的存储带宽。不仅如此,物理聚合需要对每个文件进行一次读操作,同时对新生成的物理聚合文件进行一次到共享存储(通常是磁盘阵列)的写操作,这些文件的读写操作也大量占用了磁盘阵列的输入输出能力和SAN网络的传输带宽。
技术实现思路
克服现有技术的问题,本专利技术的目的是提出。所述的方法是在集群计算结束后,通过特定的聚合方法将多个客户端产生的文件在短时间内快速聚合成一个大文件或将多个文件快速追加聚合到已存在大文件后面,在聚合过程中不产生文件实际内容的拷贝工作,同时对客户端而言,此快速聚合的文件和使用物理聚合方法后生成的文件在读取和写入时的操作完全相同,大大缩短了文件聚合占用的时间。 本专利技术的目的是这样实现的:一种共享文件系统多文件快速聚合方法,所述的方法中所使用的硬件系统包括:多个客户端通过传输大体积文件的高速网络与元数据服务器和磁盘列阵连接,所述的多个客户端同时还通过传输元数据和控制及交互信息的网络与元数据服务器连接,所述方法的步骤如下:生成子文件的步骤:多个客户端按照预设的聚合规则分别执行同一处理任务的不同部分,每部分生成为一个独立的子文件;多文件快速聚合的步骤:共享文件系统对需要聚合的的多个子文件进行有效检查并快速的进行“逻辑聚合”,把多个子文件快速聚合或快速追加聚合成一个聚合大文件。 进一步的,上述的“多文件快速聚合的步骤”包括以下子步骤:检测聚合子文件有效性的子步骤:文件系统在进行文件快速聚合时检测所有需要聚合的子文件有效性以及是否满足聚合规则,如果“否”则退出多文件快速聚合步骤,如果“是”则进入下一子步骤;检测聚合是否为追加聚合的子步骤:文件系统在进行文件快速聚合时检测聚合是否是在原来聚合文件的基础上进行追加聚合,如果为追加聚合需要检测已存在聚合文件是否满足追加聚合规则,如果是追加聚合且满足追加聚合规则进入建立聚合文件与聚合子文件映射关系的子步骤,否则如果是追加聚合但不满足追加聚合规则就退出多文件快速聚合步骤;如果不是追加聚合则进入下一子步骤;创建聚合文件的子步骤:根据客户端请求的聚合文件信息和各子文件属性信息创建聚合文件,并计算聚合文件的相关属性信息;建立聚合文件与聚合子文件映射关系的子步骤:根据需要聚合的每个子文件相关属性信息,更新聚合文件的相关属性信息,建立聚合文件和每个子文件的映射关系。 进一步的,上述的多文件快速聚合的步骤还包括处理聚合子文件的子步骤:聚合完成后,对聚合子文件进行处理,使客户端不再查看到聚合子文件信息。 进一步的,上述的“生成子文件的步骤”包括如下子步骤:处理任务分配的子步骤:将同一处理任务根据聚合规则的的要求拆分成多个子处理任务,将子任务分派给不同的客户端执行;计算子文件的子步骤:多个客户端对分配的子处理任务执行分布式计算,生成各自对应的子文件;在子文件的封装过程中如果子文件长度不是文件系统块大小的整数倍,必要时对不足位补空白数据。 进一步的,上述共享文件系统中实现多文件快速聚合的方法,所述的聚合规则包括子文件的大小为文件系统块的整数倍;进一步的,上述共享文件系统中实现多文件快速聚合的方法,所述的计算包括编码格式转换和/或渲染合成;进一步的,上述共享文件系统中实现多文件快速聚合的方法,所述的分别生成的方式为使用分布式计算的方式生成; 进一步的,上述共享文件系统中实现多文件快速聚合的方法,如果处理任务是转码任务或者打包任务,生成的目标文件的视频压缩编码选用固定码率的编码方式;一种述共享文件系统多文件快速聚合文件的读取方法,该方法的步骤包括:打开文件的步骤:用于客户端向元数据服务器发出请求,要求打开磁盘阵列中待读取的文件;处理元数据的步骤:客户端根据待读取文件的内容,向元数据服务器申请获取待读取文件所对应的元数据,客户端获取相应元数据,同时客户端接受分配给自己的机会锁;读取文件的步骤:客户端获取元数据段,并根据所获得的元数据段,对磁盘阵列发起读取文件的块数据请求,以完成该元数据段对应块数据读取操作,循环的申请元数据段和读取元数据段对应的块数据,直至完成所需数据的读取;文件关闭的步骤:客户端向元数据服务器发出要求,关闭已打开的读取文件句柄,完成本次文件读取。 进一步的,上述的“处理元数据的步骤”中元数据服务器在正常处理客户端请求待操作文件的元数据外还需要另外检测获取元数据的文件是否为聚合文件,包括以下子步骤:开辟存储空间的子步骤:用于客户端在本地内存或硬盘中开辟用于存储元数据的存储空间;选择处理的子步骤:用于客户端对元数据申请请求选择是放在后台队列等待还是实时处理,如果是后台等待则将元数据申请请求放入元数据请求队列中等待,如果是实时处理则进入下一子步骤;检测获取元数据的文件是否聚合文件的子步骤:用于元数据服务器检测客户端发起获取元数据请求的文件是否为聚合文件,如果“否”则进入“获取元数据的子步骤”,如果“是”则进入下一子步骤;获取聚合文件与聚合子文件映射关系子步骤本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201410600003.html" title="一种共享文件系统多文件快速聚合和读取的方法原文来自X技术">共享文件系统多文件快速聚合和读取的方法</a>

【技术保护点】
一种共享文件系统多文件快速聚合方法,所述的方法中所使用的硬件系统包括:多个客户端通过传输大体积文件的高速网络与元数据服务器和磁盘列阵连接,所述的多个客户端同时还通过传输元数据和控制及交互信息的网络与元数据服务器连接,所述方法的步骤如下:生成子文件的步骤:多个客户端按照预设的聚合规则分别执行同一处理任务的不同部分,每部分生成为一个独立的子文件; 多文件快速聚合的步骤:共享文件系统对需要聚合的多个子文件进行有效检查并快速的进行“逻辑聚合”,把多个子文件快速聚合或快速追加聚合成一个聚合大文件。

【技术特征摘要】
1.一种共享文件系统多文件快速聚合方法,所述的方法中所使用的硬件系统包括:多个客户端通过传输大体积文件的高速网络与元数据服务器和磁盘列阵连接,所述的多个客户端同时还通过传输元数据和控制及交互信息的网络与元数据服务器连接,所述方法的步骤如下: 生成子文件的步骤:多个客户端按照预设的聚合规则分别执行同一处理任务的不同部分,每部分生成为一个独立的子文件; 多文件快速聚合的步骤:共享文件系统对需要聚合的多个子文件进行有效检查并快速的进行“逻辑聚合”,把多个子文件快速聚合或快速追加聚合成一个聚合大文件。2.如权利要求1所述的共享文件系统多文件快速聚合方法,其特征在于, 所述的“多文件快速聚合的步骤”包括以下子步骤: 检测聚合子文件有效性的子步骤:文件系统在进行文件快速聚合时检测所有需要聚合的子文件有效性以及是否满足聚合规则,如果“否”则退出多文件快速聚合步骤,如果“是”则进入下一子步骤; 检测聚合是否为追加聚合的子步骤:文件系统在进行文件快速聚合时检测聚合是否是在原来聚合文件的基础上进行追加聚合,如果为追加聚合需要检测已存在聚合文件是否满足追加聚合规则,如果是追加聚合且满足追加聚合规则进入建立聚合文件与聚合子文件映射关系的子步骤,否则如果是追加聚合但不满足追加聚合规则就退出多文件快速聚合步骤;如果不是追加聚合则进入下一子步骤; 创建聚合文件的子步骤:根据客户端请求的聚合文件信息和各子文件属性信息创建聚合文件,并计算聚合文件的相关属性信息; 建立聚合文件与聚合子文件映射关系的子步骤:根据需要聚合的每个子文件相关属性信息,更新聚合文件的相关属性信息,建立聚合文件和每个子文件的映射关系。3.如权利要求2所述的共享文件系统多文件快速聚合方法,其特征在于,所述的多文件快速聚合的步骤还包括处理聚合子文件的子步骤:聚合完成后,对聚合子文件进行处理,使客户端不再查看到聚合子文件信息。4.如权利要求1所述的共享文件系统多文件快速聚合方法,其特征在于,所述的“生成子文件的步骤”包括如下子步骤: 处理任务分配的子步骤:将同一处理任务根据聚合规则的的要求拆分成多个子处理任务,将子任务分派给不同的客户端执行; 计算子文件的子步骤:多个客户端对分配的子处理任务执行分布式计算,生成各自对应的子文件;在子文件的封装过程中如果子文件长度不是文件系统块大小的整数倍,必要时对不足位补空...

【专利技术属性】
技术研发人员:褚震宇徐荣波王付生
申请(专利权)人:北京中科大洋科技发展股份有限公司
类型:发明
国别省市:北京;11

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

1