面向并行数据采集的分布式文件系统数据i/o优化方法_4

文档序号:9349696阅读:来源:国知局
,调用客户端的文件关闭操作接口关闭文件,客户端检查该文件的元数据一致性,无误后,向元数据服务器发送文件关闭请求,元数据服务器处理该请求,确认该文件元数据信息表达最新的文件状态,并通知数据服务器本次写操作已完成;
[0064]S4:用户程序通过客户端读取分布式文件系统中的文件数据,通过任何客户端均可访问所有文件系统内的文件,一次文件读操作的步骤如下:
[0065]S401:用户程序通过客户端的挂载目录访问特定文件,首先调用客户端的open接口,客户端根据所传入的文件路径,向元数据服务器发起请求,获取该文件的元数据信息;
[0066]S402:元数据服务器接收到请求后,根据文件路径名查找该文件的元数据信息,文件元数据信息中包含文件的数据布局信息,布局信息描述了文件数据的不同部分所存储的数据服务器和对应的ObjectID,元数据服务器将找到的文件元数据信息,作为响应返回给客户端;
[0067]S403:客户端收到文件元数据后,将其暂存于客户端中,然后做必要的权限检查、完整性检查,确认无误后,返回打开成功给上层应用程序;
[0068]S404:打开文件后,应用程序即可按照需要读取文件数据,读取文件数据时需提供的参数包括:读操作开始的起始位置(Offset),以及要读取的数据量(Size),这些信息通过读操作接口被送达客户端;
[0069]S405:客户端根据Offset、Size在文件的布局信息中进行匹配,查找出需要访问的数据块对象的ObjectID,及该对象中的起始读取位置和大小;由于一次用户的读操作可能会映射成多个面向数据块对象的读操作,因此布局信息中还包含该数据块对象的存储位置,即:数据服务器的NodeID和各个数据块对象的物理位置;
[0070]S406:客户端再获取到所有相关数据块的ObjectID和对应的数据服务器的访问点后,并发地向这些数据服务器发起读请求并附带ObjectID和访问参数,随后等待数据服务器的响应;
[0071]S407:数据服务器接收到数据读请求后,根据ObjectID和参数,定位到具体的磁盘和磁盘上该对象的存储位置,发起本地读操作,获取所需数据,包装成响应发送回客户端;
[0072]S408:客户端在收集到所有相关数据服务器所发回的数据后,根据布局信息,将每个请求所读取的数据组装成用户应用程序所需的数据,并通过接口返回给用户程序;至此,一次读操作完成;
[0073]S409:由于文件数据写入时尽量选择本节点的数据服务器,一个文件的数据通常在一个数据服务器之上,因此,对文件读操作的优化需要结合用户程序的部署来实现;许多分布式文件系统的客户端都提供了一个获取文件数据存储位置的接口,在部署用户程序时,可通过访问该接口获取文件的位置,并在该节点上部署用户程序,可以使分布式文件系统的读操作不依赖网络传输,从而大大提升读取性能;
[0074]S5:分布式文件系统为了保证数据的可靠性,通常采用副本机制,在此,为了兼顾访问性能和可靠性,本优化方法采取了在系统后台运行的异步副本备份机制,并用带有RAID机制的磁盘阵列来保证数据在异步备份之前的可靠性;后台异步副本备份的具体步骤如下:
[0075]S501:用户通过文件访问接口设置该文件的副本数量,若设置的数量大于1,分布式文件系统的管理程序会记录新写入文件的数据副本缺失,这是因为写操作除了写入本节点的数据副本外,并不实时产生其它副本;
[0076]S502:分布式文件系统管理程序周期性的扫描副本缺失的数据块对象列表,根据当前负载情况,异步实施副本复制;
[0077]S503:为了提高数据的读取性能,一个文件的所有数据对象都应尽可能地在同一数据服务器中,因此,副本复制以文件为单位,具体的实施步骤如下:
[0078]S5031:访问文件的元数据信息,获取数据布局,检查所有布局中的数据块对象,选择现有数据服务器以外的其它数据服务器作为复制目标,开始逐个数据块进行复制;
[0079]S5032:由于副本机制本身就具有较高的可靠性,因此在选择副本所在的存储介质时,因尽量选用磁盘或者不带RAID功能的磁盘阵列,而不应选择那些具有RAID功能的阵列;
[0080]S5033:当所有的副本均复制完成后,分布式文件系统会将最先存放数据的、带有RAID功能的磁盘阵列标志为可写的状态,为数据采集程序的腾出足够的写入空间;
[0081]S504:重复步骤S501至S503,直到所有文件的数据块副本缺失被修正。
[0082]另外,本发明实施例的面向并行数据采集的分布式文件系统数据I/O优化方法的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。
[0083]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0084]尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
【主权项】
1.一种面向并行数据采集的分布式文件系统数据I/o优化方法,其特征在于,由客户端、数据服务器程序、元数据服务器程序组成的分布式文件系统与数据采集设备、数据采集程序集成部署于同一套硬件系统之上,所述方法包括以下步骤: S1:配置所述数据采集设备、所述数据采集程序、所述客户端、所述数据服务器程序和所述元数据服务器程序的物理位置; 52:对所述数据采集程序、所述客户端、所述数据服务器和所述元数据服务器进行初始化; 53:所述数据采集程序向所述客户端直接发起请求,并写入数据;以及 54:通过所述分布式系统中的任一客户端访问所述数据,其中,所述客户端提供获取所述数据存储位置的接口,在所述数据存储的节点上部署用户程序实现文件读操作的优化。2.根据权利要求1所述的面向并行数据采集的分布式文件系统数据I/O优化方法,其特征在于,所述步骤SI进一步包括: 配置所述数据采集设备的物理位置:所述数据采集设备用来并行采集来自外部数据采集设备所产生的数据,所述数据采集设备按组连接到所述分布式文件系统的多个不同的物理节点上,所述每组数据采集设备至少包括一台所述数据采集设备; 配置所述数据采集程序的物理位置:所述数据采集程序首先接收所述数据采集设备所采集的数据,然后调用所述客户端,将所述采集的数据存储于所述分布式文件系统中;所述数据采集程序部署在所述分布式文件系统中每个物理节点上; 配置所述客户端的物理位置:所述客户端是所述分布式文件系统面向应用程序的接口模块,所有部署有所述数据采集程序的物理节点均设置所述客户端; 配置所述数据服务器程序的物理位置:所述数据服务器用来存储应用的数据,所述数据服务器与所述数据采集程序、所述客户端集成设置,所有设置所述数据采集程序和所述客户端的物理节点均设置所述数据服务器; 配置所述元数据服务器的物理位置:所述元数据服务器负责所述分布式文件系统中所有元数据操作,所述元数据服务器可设置于所述分布式文件系统中任意物理节点上。3.根据权利要求1所述的面向并行数据采集的分布式文件系统数据I/O优化方法,其特征在于,所述步骤S2进一步包括: 对所述数据采集程序进行初始化:实时接收来自所述数据采集设备的数据; 对所述客户端进行初始化:所述客户端启动时,获取所述客户端所在物理节点的唯一标识,同时与所述元数据服务器建立通信,获取必要的文件系统元数据信息,依据所述元数据信息将所述分布式文件系统挂载至本地目录;所有由所述数据采集程序发起的数据读写将通过所述本地目录进行; 对所述数据服务器进行初始化:所述数据服务器启动时,首先获取所述数据服务器所在物理节点的唯一标识,同时初始化所有所述数据服务
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1