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

文档序号:9349696阅读:来源:国知局
,向所述元数据服务器发送文件关闭请求,所述元数据服务器处理所述请求,确认所述文件元数据信息表达最新的文件状态,并通知所述数据服务器本次写操作已完成。
[0012]进一步地,所述步骤S4进一步包括:S401:用户程序通过所述客户端的挂载目录访问特定文件,首先调用所述客户端的接口,所述客户端根据所传入的文件路径,向所述元数据服务器发起请求,获取所述特定文件的元数据信息;S402:所述元数据服务器接收到请求后,根据文件路径名查找所述特定文件的元数据信息,所述特定文件的元数据信息中包含所述特定文件的数据布局信息,所述数据布局信息描述了文件数据的不同部分所存储的数据服务器和对应的唯一标识,所述元数据服务器将找到的所述特定文件的元数据信息作为响应返回给所述客户端;S403:所述客户端收到所述特定文件的元数据信息后,将其暂存于所述客户端中,然后做所述元数据进行权限检查和完整性检查,确认无误后,返回打开成功给上层应用程序;S404:打开文件后,所述上层应用程序按照需要读取文件数据,读取所述文件数据时需提供的参数包括:读操作开始的起始位置和读取的数据量所述文件数据通过读操作接口被送达所述客户端;S405:所述客户端根据所述读操作开始的起始位置和所述读取的数据量在文件的布局信息中进行匹配,查找出需要访问的数据块对象的唯一标识和所述数据块对象中的所述读操作开始的起始位置和所述读取的数据量;所述布局信息中还包含所述数据块对象的存储位置;S406:所述客户端获取所有相关数据块的唯一标识和对应的所述数据服务器的访问点后,并发地向所述数据服务器发起读请求并附带所述数据块对象的唯一标识和访问参数,等待所述数据服务器的响应;S407:所述数据服务器接收到数据读请求后,根据所述数据块对象的唯一标识和参数,定位到具体的磁盘和磁盘上所述数据块对象的存储位置,发起本地读操作,获取所需数据,包装成响应发送回所述客户端;S408:所述客户端在收集到所有相关数据服务器所发回的数据后,根据所述布局信息,将每个请求所读取的数据组装成用户应用程序所需的数据并返回给所述用户程序。
[0013]进一步地,在所述分布式文件系统后台运行异步副本备份机制,并用带有RAID机制的磁盘阵列来保证数据在异步备份之前的可靠性,具体包括以下步骤:A:用户通过文件访问接口设置文件的副本数量,若设置的数量大于1,所述分布式文件系统的管理程序记录新写入文件的数据副本缺失:所述分布式文件系统的管理程序周期性的扫描副本缺失的数据块对象列表,根据当前负载情况,异步实施副本复制;C:同一文件的所有数据对象设置在在同一数据服务器中,副本复制以文件为单位,所述步骤C进一步包括:C1:访问文件的元数据信息,获取数据布局,检查所述数据布局中的数据块对象,逐个数据块进行复制;C2:在选择副本所在的存储介质时,选用磁盘或者不带RAID功能的磁盘阵列;C3:当所有的副本均复制完成后,所述分布式文件系统将最先存放数据的、带有RAID功能的磁盘阵列标志为可写的状态,为所述数据采集程序的腾出的写入空间;D:重复A至C3,直到所有文件的数据块副本缺失被修正。
[0014]本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0015]本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0016]图1是本发明一个实施例的系统架构图;
[0017]图2是本发明一个实施例的数据采集程序写文件示意图;
[0018]图3是本发明一个实施例的用户读文件示意图;
[0019]图4是本发明一个实施例的数据异步备份示意图。
【具体实施方式】
[0020]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0021]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0022]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0023]参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0024]以下结合附图描述根据本发明实施例的面向并行数据采集的分布式文件系统数据I/O优化方法。
[0025]面向并行数据采集的分布式文件系统数据I/O优化方法可运行在目前主流的分布式文件系统中,这些分布式文件系统通常包括客户端程序、数据服务器程序和元数据服务器程序三大组件,各组件可分别部署在同一物理节点或多个不同的物理节点中。
[0026]面向数据采集的数据I/O方法中还包含另外两个组件,它们分别是数据采集设备与数据采集程序,其中数据采集设备是指用于实时、高效采集数据的设备,包括高清摄像头等;数据采集程序可以看作是数据采集设备的驱动程序,可部署在具体的物理节点中,用于收集所采集到的数据,并调用分布式文件系统所提供的相应接口,完成数据的持久化操作。
[0027]在系统运行之前,我们首先要部署以上组件的物理位置:数据采集程序、分布式文件系统客户端程序、分布式文件系统数据服务器程序部署在同一物理节点中,该物理节点同时配备带有RAID功能的磁盘阵列,从而提高磁盘的I/O性能并保证数据在初次写入时的可靠性;一个物理节点中可部署一个客户端、一个数据服务器和多个数据采集程序,其中,数据采集程序可调用客户端和数据服务器所提供的接口,并可通过物理节点的系统总线直接向磁盘阵列写入文件内容;分布式文件系统元数据服务器部署在数据中心,客户端、数据服务器可通过网络与元数据服务器之间进行通信。
[0028]在所有的实体均成功部署后,分布式文件系统需按照以下流程进行初始化:
[0029]数据采集程序初始化:开始接收来自数据采集设备的数据;
[0030]客户端初始化:获取所在物理节点的唯一标识NodelD,同时与元数据服务器建立通信,获取必要的文件系统元数据信息;
[0031]数据服务器初始化:首先获取所在物理节点的唯一标识NodelD,同时初始化所有自身所管理的存储资源:磁盘,计算磁盘的总容量和可用容量,并进行汇总;随后建立与元数据服务器之间的通信,将存储资源信息连同NodeID报告给元数据服务器;接着再进入服务状态,等待来自客户端和元数据服务器的数据访问请求;在之后的运行过程中,数据服务器会周期性汇总本节点存储资源信息,并上报给元数据服务器;
[0032]元数据服务器初始化:从本地存储设备上加载必要的元数据信息,随后等待来自客户端和数据服务器的状态初始化请求,当获取到来自不同数据服务器的状态报告请求后,建立数据服务器列表,该列表记录所有数据服务器的信息,包括:所在物理节点标识(NodeID),总容量,可用容量,状态等;随后客户端会在数据读写时请求该数据服务器列表。
[0033]初始化完成后,系统按照以下步骤完成面向并行数据采集的I/O
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1