利用虚拟文件系统技术实现网络数据处理的方法及系统 \n技术领域\n[0001] 本发明属于数据存储技术领域,具体涉及一种利用虚拟文件系统技术实现网络数据处理的方法及系统。该方法及系统可以应用到广电行业的视音频网络存储,以及其它对网络带宽、数据安全要求比较高的各种数据存储领域。 \n背景技术\n[0002] 近年来,在非编网络项目的设计和实施过程中,考虑最多的是网络的稳定、高速的带宽,稳定、高速是非编对文件存储系统的基本要求。非编对带宽的要求很高,带宽稍有波动就会造成播放画面的不连续,其后果要么是制作出来的节目质量不过关,要么造成非编系统的崩溃,甚至直接造成播出事故。 \n[0003] 由于电视广播的特殊性,目前视音频网络会经常遇到如下一些问题:如盘阵崩溃了如何处理,交换机损坏了如何应对,服务器宕机了如何解决等等,这就需要一系列的关于系统在极限状况下的应急处理方案。由于盘阵一次坏两块以上硬盘的概率是极小的,所以常规的解决方法一般是可以上双控制器,上双交换机,让服务器支持HA。这些解决方案除了成本成倍增长以外,并不能保证系统真的万无一失。一般情况下,上述系列解决方案可以保证数据不会丢失,但是不能保证系统能一直连续运行,而是总会有一段不可用时间,并且这一段时间是不能确定长短的。对于新闻生产等节目网络系统来说,1个小时以上的系统不可用时间,就有可能对即将播出的节目造成影响,所以寻找一个可节约成本并且更具实用性的应急方案,一直是广电行业相关技术人员追求的目标。 \n[0004] 另外,目前各个电视台已经将技术发展的视野转向高清节目,在这个领域,非编图文等单机设备已经做好了准备,但是由于高清节目的数据量远大于目前的标清节目,网络带宽尤其是盘阵的带宽成为推广高清节目网络化生产的主要障碍之一。这个障碍主要是体现在设备成本上,目前已经有一些高端的存储设备可以满足高清制作网络的需要,但是其价格非常昂贵,如何降低对高端硬件设备的依赖,是目前面临的主要问题。 [0005] 非编在非编网络中占用带宽资源是最高的,非编占用这些带宽的主要用途包括:\n素材采集、节目制作、素材下载、打包合成、节目审查等。在这些操作过程中,除了部分极简单的新闻类节目在制作环节花费的时间比较少以外,应该说节目制作花费的时间是最长,而且节目制作占用的带宽也最多,尤其是制作类型的网络就更明显。从分析中可以看出盘阵在更多的时候是在承担着“读”的操作,如果能尽量减少盘阵的“读”操作,将这部分工作放到别处,从而使盘阵承担更多“写”的操作,也就支持了更多的非编站点。 [0006] 随着无纸化办公的推动,远程办公、异地办公、家庭办公也逐步从概念成为现实,对于多数文件数据量不大的行业来说,远程办公已经没有任何技术上的障碍,目前的即时通讯、电子邮件、B/S架构的办公软件等已经足以满足上述远程办公的需要。但是,对于文件数据量比较大的行业,远程办公还是存在着数据传输的困难,这些困难主要表现在两个方面:(1)数据传输量大,需要大的延迟,造成某些应用软件无法流畅运行;(2)数据传输操作复杂,需要用户使用专门的软件,并且需要一定的计算机知识。造成这些困难的主要因素在于远程办公和本地办公在数据使用方式上存在着区别。在本地办公中,人们可以方便的访问和使用集中存储的数据,在Windows平台下最简单的使用方式是将共享路径映射成本地驱动器;而对于远程办公来说,要想使用集中的存储数据,可选的方式比较少,典型的有FTP、WebDAV等,这些方式在使用上和本地办公的网络映射相比,使用的方便性相差较大。 [0007] 随着信息化的快速发展,各个行业在数据存储方面的需求越来越大,并且这些需求的增长集中体现在数据量的增长上。一般来说,网络存储的扩容都会对上层的应用系统产生一定的影响,尤其是在应用系统没有考虑扩容这种需求的情况下,影响会更大,甚至导致整个系统的彻底升级,造成原有投资的浪费。如果能够有一种通用的办法,在不修改原有软件甚至原有软件配置的情况下,仅仅增加盘阵等硬件设备就可以实现系统网络存储容量的扩展,肯定会获得良好的效果,这样即不需要更多的软件投入,也可以继续使用原来的存储设备,更重要的是升级的过程几乎对应用系统的使用没有任何影响,可以实现后台的平滑升级。 \n[0008] 目前在数据保密领域,人们的目光大多集中到限制用户访问权限上,但是有一个重要的环节考虑的还不多,就是介质丢失。目前已经有一些厂家在从硬件上考虑对存储介质上数据进行加密,比如已有厂家推出带加密芯片的硬盘、RAID卡等,但这些都需要用户对原有的硬件设备进行升级才能达到目的,同时这些加密手段都是针对小型存储,对于企业级存储来说,要想防止介质丢失造成的泄密,目前还只能是从安保方面考虑,一旦介质丢失尚没有什么好的解决办法。\n[0009] 另外,目前数据压缩算法很多,流行的压缩软件也很多,性能也都不错,但是压缩过的文件都需要经过解压缩这个操作才能进行使用,十分不方便,虽然微软的NTFS支持压缩后存储,但这是一个封闭的技术,压缩的算法和级别都是固定的,而且也仅限于Windows操作系统可以使用,对于其他的网络存储来说还是遥不可及,如何将windows这种方式拓展开来方便用户使用是目前需要解决的问题。 \n发明内容\n[0010] 本发明的目的在于针对目前非编网络项目中所存在的上述问题,提供一种利用虚拟文件系统技术实现网络数据处理的方法及系统,从而更加合理的应对网络系统中可能出现的极限问题,实现网络存储容量的平滑升级,满足高清网络对带宽的需求,提高系统的安全性,保证其能够可靠、高速的运行。 \n[0011] 本发明的技术方案如下:一种利用虚拟文件系统技术实现网络数据处理的方法,该方法在工作站上通过虚拟文件系统软件虚拟出硬盘驱动器,虚拟硬盘驱动器分别与本地磁盘和网络盘阵之间建立数据连接,将工作站上层应用的操作数据同时存放在本地磁盘和网络盘阵中;所述的网络盘阵包括多个镜像盘阵,上层的写入数据同时存放到不同的两个或多个镜像盘阵上;通过镜像控制服务器与虚拟文件系统进行通讯,保持各个镜像盘阵之间的数据同步,并控制虚拟文件系统向哪些镜像盘阵中写入数据或者读取数据,具体方式如下: \n[0012] (1)虚拟文件系统向镜像控制服务器汇报状态:虚拟文件系统将自己对哪些镜像盘阵操作,以及操作的带宽汇报给镜像控制服务器,以便镜像控制服务器决定其他的虚拟文件系统可以使用哪些镜像盘阵; \n[0013] (2)虚拟文件系统从镜像控制服务器中获取配置信息:虚拟文件系统启动后或者接到镜像控制服务器配置变化的通知后,从镜像控制服务器获取最新的配置信息; [0014] (3)虚拟文件系统从镜像控制服务器中获知读写控制信息:虚拟文件系统在处理上层应用的读写请求时,从镜像控制服务器获取向哪些镜像盘阵进行实际的操作,如果在这个过程中镜像控制服务器发生了意外,那么虚拟文件系统就按照镜像控制服务器事前给定的逻辑,自己决定使用哪些镜像盘阵; \n[0015] (4)虚拟文件系统向镜像控制服务器汇报写入文件操作结果:如果虚拟文件系统在写入文件的时候仅仅向镜像盘阵中的部分盘阵写入了数据,则由镜像控制服务器完成异步镜像工作,为了方便镜像控制服务器的工作,虚拟文件系统需要将这些写入的数据发送给镜像控制服务器,如果此时和镜像控制服务器的通讯甚至镜像控制服务器发生了意外,虚拟文件系统暂时在本地缓存这些写入的数据,当镜像控制服务器正常后再将这些写入的数据发给镜像控制服务器。 \n[0016] 如上所述的利用虚拟文件系统技术实现网络数据处理的方法,其中,当上层软件进行读文件操作时,优先使用本地磁盘中存储的数据。 \n[0017] 如上所述的利用虚拟文件系统技术实现网络数据处理的方法,其中,当上层软件进行读文件操作时,如果工作站本地磁盘不存在相关数据,则从网络盘阵中读取数据返回给上层应用,并在传给上层应用的同时在本地磁盘中保留一份相同的数据文件;从网络盘阵中读取数据时,如果存在多个镜像盘阵,虚拟文件系统通过镜像控制服务器的协调从相对空闲的一个镜像盘阵中读取数据并返回给上层应用。 \n[0018] 如上所述的利用虚拟文件系统技术实现网络数据处理的方法,其中,对于多个绑定的网络盘阵,在上层应用新建文件时,按照容量均衡的逻辑进行网络盘阵的选择,优先使用可用空间大的网络盘阵写入文件。 \n[0019] 如上所述的利用虚拟文件系统技术实现网络数据处理的方法,其中,该方法通过存储控制服务器记录可以绑定在一起的网络盘阵信息,并同时记录完整的目录结构信息,以供虚拟文件系统获取使用;当新加入网络盘阵时,首先修改存储控制服务器的配置,确定新加入网络盘阵所对应的虚拟硬盘驱动器,并将信息提供给当前运行的虚拟文件系统,以启用新的网络存储服务。 \n[0020] 如上所述的利用虚拟文件系统技术实现网络数据处理的方法,其中,在写入数据时,由虚拟硬盘驱动器对数据进行加密或压缩后存储到本地磁盘或网络盘阵中;在读取数据时,由虚拟硬盘驱动器对数据进行解密或解压缩后将数据返回给上层应用软件。 [0021] 本发明的有益效果如下:(1)在网络系统崩溃后,非编工作站还可以使用本地磁盘中的素材进行编辑,甚至可以上载素材;(2)使“远程在线编辑”这种概念成为可能,用户可以通过VPN在远程使用低码流素材进行视音频编辑创作;(3)由于大多数非编工作站在从事“读”的操作,在使用本地缓存的机制后,可以释放更多的带宽用于网络间媒体数据交换,也可以配置更多的非编工作站;(4)可以通过对虚拟文件系统的配置实现流量带宽的控制,各个站点的虚拟文件系统之间可以相互交流,从而清楚的知道各个盘阵当前的负载情况,决定上载的盘阵,使负载信息更加及时和准确;(5)提高了介质存储的保密性,简化了操作;(6)提高了带宽利用率,进一步推进了高清网络的发展。 \n附图说明\n[0022] 图1为本发明的原理图。 \n[0023] 图2为通过本发明实现远程存储的原理图。 \n[0024] 图3为通过本发明实现动态扩展网络存储空间的原理图。 \n[0025] 图4为通过本发明实现网络镜像存储的原理图。 \n[0026] 图5为通过本发明实现数据处理后存储的原理图。 \n具体实施方式\n[0027] 下面结合附图和实施例对本发明作进一步详细的描述。 \n[0028] 如图1所示,利用虚拟文件系统技术实现网络数据处理的系统,包括工作站以及网络存储设备,其中,在工作站的上层软件模块与本地磁盘之间,通过VFS虚拟文件系统技术设置虚拟的硬盘驱动器,虚拟硬盘驱动器分别与上层软件模块、本地磁盘和网络存储设备之间建立数据连接。 \n[0029] VFS技术为一种本领域的公知技术,在本发明中,VFS需要处理以下几件主要的事情或功能: \n[0030] ●在操作系统的设备层虚拟硬盘设备。 \n[0031] ●当上层在写文件时,需要在本地Cache(高速缓冲存储器)和网络存储设备中各写一份。 \n[0032] ●当上层在读文件时,优先使用本地Cache中数据,如果本地Cache中不存在相关数据,则从网络存储设备中读取,再传给上层的同时在本地Cache中保留一份。 [0033] ●支持对网络存储设备的多链路冗余,当一个MDC或NAS头发生故障时,自动启用其他的备用链路。 \n[0034] ●根据本地Cache的空间使用情况,以及缓存文件的使用频率,自动维护本地缓存中文件的生命周期。 \n[0035] ●提供简单的函数给上层应用,用来确认是否有本地的Cache,以及对可能会用到的文件进行提前的Cache操作。这里需要特别指出的是,上层应用可以不调用任何VFS的API就可以从VFS的基本功能中受益。 \n[0036] 本发明可以在任意操作系统平台中实现,与具体的平台类型无关。以Windows操作系统为例,首先开发一个虚拟硬盘模块--文件虚拟层,这是虚拟文件系统的基础,通过该模块用户可以在Windows系统中发现虚拟出来的盘符,可以在该盘符中进行普通的文件操作,与使用普通的硬盘没有什么区别。 \n[0037] 对文件系统的上层操作基本有以下几种:读取、写入(新建、修改)、删除、查询,这些操作对于文件虚拟层来说的处理程序如下: \n[0038] (1)读取操作 \n[0039] 当上层软件进行读文件操作时,优先使用本地Cache中存储的数据,如果工作站本地的Cache不存在相关数据,则从网络存储设备中读取数据返回给上层应用,并在传给上层的同时在本地的Cache中保留一份相同的数据文件。 \n[0040] (2)写入操作(新建、修改) \n[0041] 当上层软件进行写文件操作时,在工作站本地的Cache和网络存储设备中各写一份,在网络盘阵速度不够的情况下,将文件优先写入本地的Cache中。 \n[0042] 当上层软件进行修改文件操作时,将相关数据同时修改到工作站本地的Cache和网络存储设备中所对应的文件上;如果工作站本地的Cache不存在相关数据文件,则获取网络存储设备中相应文件的大小,在本地的Cache中创建一个同样大小的空文件,将写入的数据同时写到这两个文件中,同时记录写入的位置,在系统空闲时将其他的数据写入到本地的Cache。 \n[0043] (3)删除操作 \n[0044] 当上层软件进行删除文件操作时,将本地和网络盘阵上的素材同时删除即 可,但删除要注意,先删除盘阵素材,然后再删除本地素材,以便保持数据的一致性。在删除过程中,如果删除网络文件成功,则不管本地Cache文件是否删除成功,都返回给上层应用成功的信息。 \n[0045] (4)查询操作 \n[0046] 当上层软件进行查询文件操作时,也就是获取文件列表,对于本地Cache降低带宽压力这种需求(或者是应用模式)来说,查询优先使用网络盘阵,如果网络盘阵发生故障,将会使用本地Cache进行文件列表查询;对于远程存储等应用模式来说,为了提高对上层应用的响应速度,优先使用本地Cache返回查询结果。 \n[0047] 要解决远程办公中遇到的数据传输存储中遇到的问题,首先可以分析一下在数据使用方式上远程办公和本地办公的区别:在本地我们可以方便的访问和使用集中存储的数据,在Windows平台下最简单的使用方式是将共享路径映射成本地驱动器。而对于远程办公来说,要想使用集中的存储数据,可选的方式就比较少了,典型的有FTP、WebDAV等,这些方式在使用上和本地办公的网络映射相比使用的方便性就差了很多。本发明所提供的方法在远程办公计算机操作系统的设备层开发一个虚拟硬盘模块,使该虚拟硬盘模块与远程存储之间建立数据联系,将远程的存储数据通过虚拟硬盘模块的文件系统映射到本地磁盘缓存上,上层应用软件直接通过虚拟文件系统在本地磁盘缓存上进行数据处理。其原理如图\n2所示。 \n[0048] 通过图2可以看出,虚拟文件系统(以下简称VFS)负责和远程存储联系,联系的方式可以是多种,比如可以是标准的FTP、HTTP、HTTPS、WebDAV等协议,也可以是出于安全等方面考虑自己设计的专用协议。但是鉴于广域网目前带宽较低的特点,还需要使用本地缓存来提高上层应用的用户体验。使用本地缓存可以让上层应用快速的保存或者打开一些经常使用的文件,这些文件会在后台由VFS保持和远程存储的一致性,另外使用本地缓存还有一个更大的好处--脱机存储,脱机存储可以使用户在断网的情况下继续工作,在链接恢复后VFS自动对变更后的文件进行同步。 \n[0049] 存储服务器”(以后简称RS)的主要作用如下: \n[0050] (1)记录和维护远程存储中文件特征标识信息或者版本信息,以便让 VFS方便的确定本地缓存中的文件是否和远程存储中的文件是否一致。 \n[0051] (2)记录文件锁定信息,在远程存储模式下,如果没有一个服务器记录集中存储中的文件被哪些用户以独占的方式打开了,就很有可能造成文件的访问冲突、数据的丢失。\nVFS在以独占的方式打开一个文件的时候就需要从远程存储中获取信息,判断是否被占用,如果已经占用则返回上层应用已经被占用的信息,否则先通知RS独占该文件,然后打开该文件进行正常的操作,在文件释放后,一定要通知RS解锁,考虑到广域网应用环境的复杂性,该锁定信息应该有时间限制,过期后会自动解锁,另外VFS在断开和RS之间的连接前要通知RS解锁全部相关文件。 \n[0052] 利用虚拟文件系统技术实现远程存储的系统,包括远程办公计算机和远程存储设备,其中,在远程办公计算机的上层软件模块和本地磁盘缓存之间设置一套虚拟的硬盘设备,虚拟的硬盘设备可以包括一个或多个虚拟硬盘,虚拟的硬盘设备与远程存储设备之间进行数据连接,同时,虚拟的硬盘设备还与存储服务器连接。本发明的实现没有对操作系统的限制,以Windows操作系统为例,首先开发一个虚拟硬盘模块--文件虚拟层,这是虚拟文件系统的基础,通过该模块用户可以在Windows系统中发现虚拟出来的盘符,可以在该盘符中进行普通的文件操作,与使用普通的硬盘没有什么区别。 \n[0053] 有了文件虚拟层之后,就需要为文件虚拟层组织数据。在设计过程中就需要考虑对多种远程资源访问协议的支持,最好是用可扩展的插件的模式去实现,以便扩充支持的协议的种类。VFS的协议插件接口需要支持以下一些基本操作:新建、打开、读取、写入、删除、查询(文件列表),操作的对象可以是文件,也可以是文件夹(路径)。通过协议插件接口,就可以编写不同的插件分别支持FTP、HTTP、HTTPS、WebDAV甚至是CIFS等协议。 [0054] 在所有的实现中,本地硬盘缓存数据的处理逻辑比较复杂,最突出的问题之一就是从脱机到联机后的数据同步问题,首先需要记录在脱机后所有变化的文件以及这些文件变化的方式,是新建还是删除等,等联机之后就需要根据这些信息以及RS返回的信息决定是否需要同步到远程存储中。是否遍历所有文件可以根据带宽的情况自由配置,如果带宽较低,可以考虑仅仅处理本地修改记录中的文件,其他文件可以在使用时再做比较。 [0055] RS中对文件特征标识的处理方式也有多种方式可以选择,因为所有向远程 存储中写入数据都是通过VFS,所以整个系统是知道什么时候由哪一台计算机对哪个文件进行了修改,这些信息就可以组成一个特征标识,VFS使用该标识就可以判断本地的文件是否和远程存储中的文件不一致。如果觉得这个方法比较欠缺,那还可以在上传文件的过程中对每一文件用md5等算法计算出特征值,这个方法虽然可靠,但效率会低一些,需要在具体的应用中进行取舍。 \n[0056] 实现网络存储容量的平滑升级,并保留原来的存储设备以及里面存储的数据,这是本发明要解决的另一个问题,其大致思路是:引入虚拟文件系统技术,在应用系统的工作站上部署虚拟文件系统软件(以后简称VFS),该软件负责在工作站上虚拟出硬盘驱动器,应用系统可以像访问普通的存储设备一样,在虚拟出来的设备上创建、修改、删除文件,VFS负责将上层的这些操作转移到实际的存储设备上,如果要动态扩容,只要让VFS认为新加入的设备也负责以前某个虚拟驱动器的数据存储就可以了。 \n[0057] 本发明在逻辑上和“简单磁盘捆绑”JBOD非常类似,只不过是把普通硬盘换成了网络存储盘阵。另外一个特点就是可以在不间断当前工作的情况下实现动态容量的扩展。其实现原理如图3所示。该方法在应用系统的工作站上设置虚拟文件系统软件,通过该软件在工作站上虚拟出硬盘驱动器并实现数据转发,虚拟硬盘驱动器与存储控制服务器之间建立数据连接,通过虚拟驱动器将多个网络盘阵绑定到一起,通过存储控制服务器记录可以绑定在一起的盘阵信息,并同时记录完整的目录结构信息,以供虚拟文件系统获取使用。图中VFS的作用比较清楚,就是将盘阵A、B、X通过虚拟驱动器绑定到一起,让用户或上层应用感觉是在使用一个驱动器,而不是多个。存储控制服务器是实现动态扩展的核心,在该服务器上记录了哪些盘阵可以绑定到一起,各个工作站上的VFS需要随时获取这些信息,以便将数据写入正确的盘阵中,另外该服务还要记录目录结构信息,因为如果想将多个盘阵绑定到一起,那么这些盘阵上肯定有自己的目录结构,这些目录结构是不完整的,当客户端检索文件的时候就需要有一个完整的目录,那么这些数据就需要由存储控制服务器提供。 [0058] 本发明的实现没有对操作系统的限制,可以应用到任何的操作系统当中。 [0059] 创建虚拟硬盘驱动器是VFS实现的关键,但这与具体的操作系统有关,对于Windows系列来说,需要使用DDK开发包创建驱动级程序,对于Linux系列 来说,本身就有VFS架构,开发相对来说要简单一些,只要对其架构熟悉一下就可以了。在前面的基础上,数据的转发从原理上来说相对要容易一些,只要注意不要漏掉一些文件操作即可。这些具体的操作对于不同的操作系统可能也略有差异,但还是建议尽可能的支持操作系统常用的文件系统,而不要引入新的文件系统。比如:对于Windows系统来说,虚拟出来的文件系统最好支持NTFS。 \n[0060] 当上层应用新建文件时,VFS按照容量均衡的逻辑进行盘阵的选择。假设将盘阵A和盘阵B通过VFS绑定成Z盘,盘阵A和盘阵B的容量都是2TB,那么对于Z盘来说可用的容量就是4TB,在使用的时候A和B的使用容量要尽可能的保持一致,也就是说优先使用可用空间大的盘阵写入文件,这样处理可以获得较高的性能。数据均匀分布后,实际上也将读写操作均匀分布开,网络存储的整体带宽在实际使用时会大于单个盘阵的带宽,同时实现逻辑也比较简单。 \n[0061] 文件跨盘阵存储出现的概率是比较低的,原因就是单个盘阵的容量远远大于常见的单个文件的大小,但是这种情况也需要仔细考虑。本发明中设计了“存储控制服务器”,它的工作之一就是要记录所有文件的分布信息,也就是目录存储结构,在实现存储控制服务器的时候,要能够对跨盘阵的文件分布信息进行记录。 \n[0062] 当新加入一个盘阵之后,如何解决动态扩容的问题是本发明的一个关键之处。首先需要在存储控制服务器上进行配置,要配置的内容主要就是告诉系统,新加入的这个盘阵用来对目前的哪一个虚拟存储驱动器扩容。当配置修改以后,存储控制服务器要立即通知当前活动的VFS,VFS在获得这些信息之后,要立即启用新的网络存储服务,不要用户做更多的干涉。 \n[0063] 通过目前的虚拟文件系统技术,可以控制文件的实际存储设备,那么将相同的文件存放到不同的盘阵上,就可以解决盘阵单点故障的问题。考虑到视音频网络的对盘阵的主要压力是读取数据,而不是写入数据,那么上面的思路也可以解决高清网络对带宽需求的问题,当非编读取数据的时候,可以将读取数据的来源分散到不同的盘阵上,这样整体带宽就提高了。其实现原理如图4所示。 \n[0064] 本实施例以视音频工作站为例,也可以是其他的任意工作站,这由具体的应用决定,其数量也由具体的应用需求决定。这些工作站上需要部署一个虚拟文件软件系统(VFS),该软件主要负责以下工作: \n[0065] ■在工作站上虚拟出一个或多个硬盘驱动器,供上层应用使用。 [0066] ■将系统的状态汇报给镜像控制器,这些状态信息中主要包括:正在向哪些盘阵写入数据以及写入的速度,正在从哪些盘阵中读取数据以及读取的速度。 [0067] ■将上层的写入数据同时存放到不同的两个或多个镜像盘阵上。当大量工作站同时写入数据时,如果需要的总带宽已经大于单个盘阵的极限,可以考虑将数据仅仅写入镜像盘阵中的一部分,后面的工作由镜像控制服务器在带宽有剩余的情况下完成异步镜像。 [0068] ■当上层应用请求数据时,该软件负责从相对空闲的一个盘阵中读取数据并返回给上层应用。 \n[0069] 网络盘阵在实际的应用中,可能是NAS盘阵,也可能是基于iSCSI的SATA盘阵,在特殊的应用需求的情况下甚至可以是高端的SAS或光纤盘阵,在不同的模式下可能需要有一定数量的特定的控制器,这里没有将这些专门的控制器一一列出。应用存储的数量是没有限制的,这与不同的应用需求有关。 \n[0070] 镜像控制服务器主要用来保持各个盘阵之间的数据同步,当一个盘阵在修复或替换后,要将另外一个盘阵上的数据复制到新的盘阵中,同时也要负责数据的后台镜像,另外也要对工作站中的虚拟软件进行协调,通知它们向哪些盘阵中写入数据或者读取数据。 [0071] 工作站上的VFS软件(以下简称VFS)和镜像控制服务器(以下简称MCS)之间的通讯主要涉及以下主要内容: \n[0072] (1)VFS向MCS汇报状态:VFS以UDP的方式向MCS汇报自己的状态,这些信息主要和带宽相关,VFS需要将自己对哪些盘阵操作,以及操作的带宽汇报给MCS,以便MCS决定其他的VFS可以使用哪些盘阵。 \n[0073] (2)VFS从MCS中获取配置信息:考虑配置方便,所有的VFS都通过MCS集中配置,VFS启动后或者接到MCS配置变化的通知后,需要从MCS获取最新的配置信息。这些配置信息除了对不同的VFS进行的单独的配置之外,还有一些共有的配置信息,比如:如果有超过三个以上的盘阵,就需要配置哪几个盘阵需要组合起来按照镜像的方式使用。 [0074] (3)VFS从MCS中获知读写控制信息:VFS在处理上层应用的读写请求时,需要从MCS获取向哪些盘阵进行实际的操作,如果在这个过程中MCS发 生了意外,那么VFS就需要按照MCS事前给定的逻辑,自己决定使用哪些盘阵。 \n[0075] (4)VFS向MCS汇报写入文件操作结果:如果VFS在写入文件的时候仅仅向镜像盘阵中的部分盘阵写入了数据,这就需要有MCS完成异步镜像工作,为了方便MCS的工作,VFS需要将这些变化信息发送给MCS,如果此时和MCS的通讯甚至MCS发生了意外,VFS需要暂时在本地缓存这些变化信息,当MCS正常后再将这些信息发给MCS。 \n[0076] 对于利用本发明来实现数据处理后存储的方法,主要有两种实现模式:单机模式、网络存储模式。 \n[0077] 1.单机模式 \n[0078] 单机模式相对简单,关键的就是要实现一个虚拟硬盘驱动器,并且要在这个驱动器上实现一个自己的文件系统,这个虚拟文件系统还要和一个实际的存储介质对接,存储的数据通过虚拟文件系统处理后存储到实际的介质中。在具体的应用中,加密和压缩还是略有不同的,这主要体现在访问密码上,对于加密应用来说,用户加载一个介质后,首先需要用户输入正确的密码后才能正确访问。 \n[0079] 在具体的实现中,考虑到不同的加密算法、压缩算法以及一些其他的数据处理操作,需要将数据处理部分单独抽象出来,以插件的方式实现。这样可以方便的实现一些扩展应用。 \n[0080] 2.网络存储模式 \n[0081] 网络存储模式相对复杂一些,但也相对灵活,主要是数据处理部分既可以考虑使用单独的服务器来处理,也可以考虑在各个工作站上完成。另外对于加密应用来说,就不能像单机模式那样,一个简单的密码就可以了,在网络存储模式下,需要引入帐户的概念,不同的帐户可以设置不同访问控制权限。图5是网络存储模式的实现原理图。 [0082] 图中,虚连接线表示VFS和存储控制服务器之间的通讯,传输的信息主要是帐户验证、访问控制等内容,如果系统在实施时认为集中的数据处理会带来更大的好处,那么传输的数据还包括了原始数据,如果认为数据量太大,集中处理会给存储控制服务器带来过大的压力,那么数据的处理由部署到普 通工作站上的“数据处理中间层”来完成。 [0083] 实连接线表示传输处理后的数据,如系统需要对数据使用单独的服务器进行处理,该实连接线是没有什么作用的。 \n[0084] 图中的存储控制服务器主要的作用有:帐户及权限控制、数据的集中处理。数据是否需要集中处理可以从以下几个方面考虑: \n[0085] (1)传输过程是否安全:如果传输链路是不安全的,并且该应用是要解决数据安全的问题,那么建议采用在各个工作站上对数据进行处理后再传输,这样可以保证传输的数据是经过加密的,增强了传输的安全性。 \n[0086] (2)工作站的性能和工作性质:如果工作站性能较差,并且在上面的应用对工作站的CPU等资源占用比较高,那么就可以考虑使用集中处理的方式对数据进行处理。需要注意的是,采用集中处理后,传输的数据是原始数据,这对于安全要求比较高的场合是不合适的。 \n[0087] 考虑到在此公开的对本发明的描述和特殊的实施例,本发明的其他实施例对于本领域的技术人员来说是显而易见的。这些说明和实施例仅作为例子来考虑,它们都属于由所附权利要求所指示的本发明的保护范围和精神之内。
法律信息
- 2013-11-13
未缴年费专利权终止
IPC(主分类): G06F 3/06
专利号: ZL 200710122450.8
申请日: 2007.09.26
授权公告日: 2011.12.28
- 2011-12-28
- 2010-07-14
实质审查的生效
IPC(主分类): G06F 3/06
专利申请号: 200710122450.8
申请日: 2007.09.26
- 2009-04-01
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-05-24
|
2005-11-17
| | |
2
| |
2005-10-05
|
2003-08-21
| | |
3
| |
2006-05-17
|
2005-10-28
| | |
4
| | 暂无 |
1991-12-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |