一种SAN共享文件系统中实现离线写文件的方法技术方案

技术编号:8655768 阅读:238 留言:0更新日期:2013-05-01 23:24
本发明专利技术涉及一种SAN共享文件系统中实现离线写文件的方法,步骤如下:打开文件的步骤;获取元数据的步骤;所述的“获取元数据的步骤”中客户端在正常获取待写文件的元数据外还要获取磁盘预额空间的元数据;判断元数据服务器是否在线的步骤;在线写入文件的步骤;离线写入文件的步骤;文件写入结束的步骤。本发明专利技术利用客户端在向元数据服务器获取元数据时,有元数据预获取缓存过程,当元数据服务器或LAN网络出现故障时,客户端服务器可以根据本地的元数据备份继续正常把待写入文件内容写到磁盘预额空间内。本发明专利技术有效地提高SAN共享系统的文件写入效率,保证了文件写入的连续性、容错性和抗干扰性,提高了SAN共享文件系统的安全性。

【技术实现步骤摘要】

本专利技术涉及一种SAN共享文件系统中实现离线写文件的方法,是一种网络系统收录视频文件的方法,是一种适用于广电应用领域的SAN共享文件系统下的文件离线写入方法。
技术介绍
目前,通用的SAN共享文件系统由元数据服务器(MDS)、共享存储和多客户端通过LAN网络和SAN网络组成,元数据服务器和客户端都可以通过FC或ISCSI协议直接访问共享存储,分别为FC-SAN和IP-SAN架构。SAN网络由于是光纤传输,带宽、容量大、速度快,常用来传输数据量巨大的文件,如视频文件。SAN共享文件系统中的元数据是描述数据组织方法的数据结构,元数据主要记录了 SAN共享文件系统中该文件在块设备上的划分方法、存放位置以及文件的一些相关属性等。SAN共享文件系统通过元数据将连续的块设备存储组织成文件结构,元数据的大小与文件数据相比很小,所以不需要很高的传输带宽,所以用LAN网络传输。SAN共享文件系统上的元数据信息由元数据服务器统一管理。客户端在LAN网络下通过tcp/ip协议与元数据服务器相连并通讯。客户端要进行SAN共享文件系统中的文件写操作时,需通过LAN网络向元数据服务器不断的发起该文件的元数据请求,元数据服务器每次根据客户端申请的空间大小将该文件的对应元数据信息返回给客户端,客户端依据所获得的元数据信息将文件写入磁盘相应位置,当写入结束时,将写操作结束消息发送给元数据服务器,元数据服务器将写入数据的元数据信息进行整合,供系统中其他客户端进行读写访问。这种通用的SAN共享文件系统虽然具有效率高、适用性广的特点,但元数据服务器是其中的瓶颈和单点故障点,一旦元数据服务器出现问题,整个SAN网络就会瘫痪无法工作,因此多采用双机热备或集群的方式,保证元数据服务器高可用;即便在这样的情况下,还是难以避免当LAN网络出现问题或元数据服务器本机故障,导致客户端无法与系统中所有元数据服务器通讯,致使SAN网络瘫痪。在这种情况下传统的SAN共享文件系统做法是停止写操作,等待与元数据服务器恢复通信后,然后再进行写操作。
技术实现思路
克服现有技术的问题,本专利技术的目的是提出一种SAN共享文件系统中实现离线写文件的方法。所述的方法是在所有元数据服务器由于本机故障或LAN网络问题无法继续通信时,客户端根据预先申请的元数据所对应的临时磁盘空间继续进行文件写操作,待元数据服务器恢复通信时,将写入到临时磁盘空间的数据迁移到正确位置,并合并这些数据所对应的元数据信息。保证元数据服务器无法通讯时,客户端仍能继续进行SAN网络中的文件写入工作,保持业务的连续性。本专利技术的目的是这样实现的一种SAN共享文件系统中实现离线写文件的方法,所述的方法中所使用的硬件系统包括多个客户端通过传输视频文件的SAN网络与元数据服务器和磁盘列阵连接,所述的多个客户端通过传输元数据的LAN网络与元数据服务器连接,所述方法的步骤如下 打开文件的步骤用于客户端向元数据服务器发出请求,要求打开磁盘阵列中待写入的文件; 获取元数据的步骤用于客户端根据待写入文件的内容,向元数据服务器申请待写入内容所对应的元数据,客户端获取相应元数据,同时客户端接受分配给自己的机会锁; 所述的“获取元数据的步骤”中客户端在正常获取待写文件的元数据外还要获取磁盘预额空间的元数据; 判断元数据服务器是否在线的步骤用于判断所述的元数据服务器是否正常在线工作,如果“是”则进入“在线写入文件的步骤”,如果“否”则进入“离线写入文件的步骤”;在线写入文件的步骤用于所述的客户端获取元数据段,并根据所获得的元数据段,对磁盘阵列发起写入文件的块数据请求,以完成该元数据段对应块数据写入,循环的申请元数据段和写入元数据段对应的块数据,直至完成整个文件的写入磁盘阵列的常驻空间中,之后进入“文件写入结束的步骤”;如果在文件写入过程中元数据服务器离线,则进入“离线写入文件的步骤”; 离线写入文件的步骤用于所述的客户端使用预额空间的元数据将文件写入磁盘阵列的预额空间中,同时不断的检测元数据服务器是否上线,如果元数据服务器上线,则将写在磁盘预额空间中的文件同步到元数据服务器设定的磁盘阵列中并进入“文件写入结束的步骤”,如果磁盘预额空间已全部写满,客户端与元数据服务器仍然没有连通,则进入“文件写入结束的步骤”; 文件写入结束的步骤用于客户端向元数据服务器发出要求,关闭已打开的写入文件句柄,完成本次文件写入。本专利技术产生的有益效果是本专利技术利用客户端在写入文件流程中,向元数据服务器获取元数据时,提供特定的元数据预获取方法和缓存方法,使得在标准写流程正常进行的同时,客户端在本地保留一份磁盘预额空间的元数据备份,并通过同步方法保证该元数据的一致性和有效性,这样在元数据服务器或LAN网络出现故障时,客户端服务器可以根据本地的元数据备份继续正常把待写入文件内容写到磁盘预额空间内,本专利技术可实现在元数据服务器停止工作后,客户端服务器根据本地的备份元数据继续写SAN共享文件的功能。当检查到元数据服务器有效时,客户端服务器重新向元数据服务器申请元数据,以保证元数据的正确性,同时元数据服务器完成相应数据的同步功能。本专利技术有效地提高SAN共享系统的文件写入效率,保证了文件写入的连续性、容错性和抗干扰性,提高了 SAN共享文件系统的安全性。由于在广播电视行业的应用中,存在长时间不间断的大数据视音频收录,保证业务的连续性,这种应用非常适用本专利技术的文件离线写入方法。附图说明下面结合附图和实施例对本专利技术作进一步说明。图1是专利技术实施例一所述方法所使用的硬件系统示意 图2是专利技术实施例一所述方法的流程示意图; 图3是专利技术实施例二所述预额空间元数据获取的方法流程 图4是专利技术实施例三所述文件写入预额空间的方法流程图。具体实施例方式实施例一 本实施例是一种SAN共享文件系统中实现离线写入文件的方法,所述的方法所使用的硬件系统如图1所示,包括多个客户端通过传输视频文件的SAN网络与元数据服务器和磁盘列阵连接,所述的多个客户端通过传输元数据的LAN网络与元数据服务器连接。其中客户端可以是普通的PC机工作站,也可以是服务器,具有连接SAN网络的能力,并可以处理大型的文件,例如高清晰度视频文件。本实施例所述的SAN网络是由光纤交换机和光缆组成的光纤网,是带宽超过IG的宽带网络,可以传输高清晰度的视频文件,也可以用千M或万M的高速以太网构成SAN网络。本实施例所述的LAN网络是由以太交换机组成并使用TCP/IP为通讯协议的以太网,具有数百K的带宽,可以快速的传输几百K的元数据文件。在通常情况下可以为了避免元数据服务器出现问题而影响整个SAN系统的正常运行,可增加一台备用的元数据服务器,即两台元数据服务器,使其互为备份,在同步数据的基础上实现元数据服务器冗余。系统中的存储设备通常使用磁盘阵列,磁盘阵列通过SAN网络与客户端与元数据服务器相连,客户端和元数据服务器可以通过fc协议或iscsi协议对其进行访问。本实施例的基本思路是将磁盘阵列分为两个部分,一部分是常驻空间,一部分为预额空间。常驻空间为元数据服务器工作时将被存储文件正常写入的空间,预额空间则是元数据服务器离线时客户端自行将被存储文件的数据写入这部分磁盘空间中,以避免由于元数据服务器离线而造成整个系统瘫痪。为本文档来自技高网
...

【技术保护点】
一种SAN共享文件系统中实现离线写文件的方法,所述的方法中所使用的硬件系统包括:多个客户端通过传输视频文件的SAN网络与元数据服务器和磁盘列阵连接,所述的多个客户端通过传输元数据的LAN网络与元数据服务器连接,所述方法的步骤如下:打开文件的步骤:用于客户端向元数据服务器发出请求,要求打开磁盘阵列中待写入的文件;获取元数据的步骤:用于客户端根据待写入文件的内容,向元数据服务器申请待写入内容所对应的元数据,客户端获取相应元数据,同时客户端接受分配给自己的机会锁;其特征在于:所述的“获取元数据的步骤”中客户端在正常获取待写文件的元数据外还要获取磁盘预额空间的元数据;判断元数据服务器是否在线的步骤:用于判断所述的元数据服务器是否正常在线工作,如果“是”则进入“在线写入文件的步骤”,如果“否”则进入“离线写入文件的步骤”;在线写入文件的步骤:用于所述的客户端获取元数据段,并根据所获得的元数据段,对磁盘阵列发起写入文件的块数据请求,以完成该元数据段对应块数据写入,循环的申请元数据段和写入元数据段对应的块数据,直至完成整个文件的写入磁盘阵列的常驻空间中,之后进入“文件写入结束的步骤”;如果在文件写入过程中元数据服务器离线,则进入“离线写入文件的步骤”;离线写入文件的步骤:用于所述的客户端使用预额空间的元数据将文件写入磁盘阵列的预额空间中,同时不断的检测元数据服务器是否上线,如果元数据服务器上线,则将写在磁盘预额空间中的文件同步到元数据服务器设定的磁盘阵列中并进入“文件写入结束的步骤”,如果磁盘预额空间已全部写满,客户端与元数据服务器仍然没有连通,则进入“文件写入结束的步骤”;文件写入结束的步骤:用于客户端向元数据服务器发出要求,关闭已打开的写入文件句柄,完成本次文件写入。...

【技术特征摘要】
1.一种SAN共享文件系统中实现离线写文件的方法,所述的方法中所使用的硬件系统包括:多个客户端通过传输视频文件的SAN网络与元数据服务器和磁盘列阵连接,所述的多个客户端通过传输元数据的LAN网络与元数据服务器连接,所述方法的步骤如下: 打开文件的步骤:用于客户端向元数据服务器发出请求,要求打开磁盘阵列中待写入的文件; 获取元数据的步骤:用于客户端根据待写入文件的内容,向元数据服务器申请待写入内容所对应的元数据,客户端获取相应元数据,同时客户端接受分配给自己的机会锁; 其特征在于: 所述的“获取元数据的步骤”中客户端在正常获取待写文件的元数据外还要获取磁盘预额空间的元数据; 判断元数据服务器是否在线的步骤:用于判断所述的元数据服务器是否正常在线工作,如果“是”则进入“在线写入文件的步骤”,如果“否”则进入“离线写入文件的步骤”; 在线写入文件的步骤:用于所述的客户端获取元数据段,并根据所获得的元数据段,对磁盘阵列发起写入文件的块数据请求,以完成该元数据段对应块数据写入,循环的申请元数据段和写入元数据段对应的块数据,直至完成整个文件的写入磁盘阵列的常驻空间中,之后进入“文件写入结束的步骤”;如果在文件写入过程中元数据服务器离线,则进入“离线写入文件的步骤”; 离线写入文件的步骤:用于所述的客户端使用预额空间的元数据将文件写入磁盘阵列的预额空间中,同时不断的检测元数据服务器是否上线,如果元数据服务器上线,则将写在磁盘预额空间中的文件同步到元数据服务器设定的磁盘阵列中并进入“文件写入结束的步骤”,如果磁盘预额空间已全部写满,客户端与元数据服务器仍然没有连通,则进入“文件写入结束的步骤”; 文件写入结束的步骤:用于客户端向元数据服务器发出要求,关闭已打开的写入文件句柄,完成本次文件写入。2.根据权利要求1所述的方法,其特征在于,所述的“获取元数据的步骤”中获取磁盘预额空间的元数据包括以下子步骤: 检测是否有原始记录的子步骤:用于客户端在本地内存或硬盘中检查是否有预额空间的元数据的备份,如果“否”则进入“开辟存储空间的子步骤”,如果“是”则进入下一子步骤; 检测预额空间的元数据是否有效的子步骤:用于客户端检测本地内存或硬盘中的预额空间的元数据备份是否有效,如果“是”则进入“获取元数据结束的子步骤”,如果“否”则进...

【专利技术属性】
技术研发人员:徐荣波刘强方概王琪张跃李小莉
申请(专利权)人:北京中科大洋科技发展股份有限公司
类型:发明
国别省市:

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

1