一种NAS设备、分布式处理系统和方法与流程

文档序号:11620347阅读:286来源:国知局
一种NAS设备、分布式处理系统和方法与流程

本发明涉及数据存储技术领域,具体而言,涉及一种nas(networkattachedstorage,网络附属存储)设备、分布式处理系统和方法。



背景技术:

目前,nas是一种采用直接与网络介质相连的特殊设备实现数据存储的机制。这些设备都分配有ip地址,并且具有如下优势:

第一,nas适用于那些需要通过网络将数据传送到多台客户机上的用户,因此nas设备在数据在长距离传送的环境中可以很好地发挥作用。

第二,nas设备易于部署,可以使nas主机、客户机和其他设备广泛分布在整个企业的网络环境中,且nas设备可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。

第三,nas应用于高效的文件共享任务中,例如unix中的nfs(networkfilesystem,网络文件系统)和windowsnt中的cifs(commoninternetfilesystem,通用internet文件系统),其中基于网络的文件级锁定提供了高级并发访问保护的功能。

而且nas能够满足那些希望降低存储成本但又无法承受存储网络(san:storageareanetwork)昂贵价格的中小企业的需求,具有相当好的性能价格比。

相关技术中,nas包括路由器以及分别与路由器连接的多个存储服务器,多个存储服务器中的每个服务器均设置有用于存储数据的磁盘。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

无法识别安装在nas内的磁盘所出现的问题。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种nas设备、分布式处理系统和方法,以实时识别安装在nas内的磁盘所出现的问题。

第一方面,本发明实施例提供了一种nas设备,包括:路由器和与所述路由器连接的多个存储模块;

多个所述存储模块中的每个存储模块均设置有微控制器、无线通信装置和磁盘;所述无线通信装置和所述磁盘分别与所述微控制器连接;

所述微控制器,用于在磁盘读写数据过程中对所述磁盘进行故障检测,并在检测到所述磁盘出现故障时发出磁盘故障指令;

所述无线通信装置,用于传输所述磁盘的读写数据和磁盘故障指令。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:所述微控制器用于在磁盘读写数据过程中对所述磁盘进行故障检测,并在检测到所述磁盘出现故障时发出磁盘故障指令,包括:

当所述磁盘读写失败时,所述微控制器生成所述磁盘的读写失败次数增量数据;

所述微控制器获取预存的读写失败次数存量数据;

所述微控制器得到所述读写失败次数增量数据与读写失败次数存量数据相加的计算结果,并将得到的所述计算结果与预设的读写次数失败阈值进行对比;

当所述计算结果与所述读写次数失败阈值相等时,所述微控制器确定所述磁盘出现故障,并发出磁盘故障指令;

当所述计算结果小于所述读写次数失败阈值时,所述微控制器将所述计算结果作为读写失败次数存量数据并进行存储。

第二方面,本发明实施例提供了一种分布式处理系统,包括:上述的nas设备、中心服务器和多个节点服务器;

其中,所述中心服务器中设置有针对不同任务类型的计算单元中心端,每个所述节点服务器分别设置有与所述计算单元中心端对应的计算单元节点端,所述计算单元中心端和对应的所述计算单元节点端组成一个计算单元;

所述中心服务器用于接收用户发送的视频图像任务,根据所述视频图像任务的类型,以及所述多个节点服务器当前的任务数量和负载情况,将所述视频图像任务通过计算单元中心端分配给对应的节点服务器;

所述节点服务器用于通过所述视频图像任务对应的计算单元节点端对所述视频图像任务进行处理,得到处理结果;

所述nas设备,用于对所述节点服务器的处理结果进行存储和备份。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中:所述中心服务器包括:

任务数量确定模块,用于根据当前服务器集群中各节点服务器的已分配任务数量,确定已分配任务数量最少的节点服务器;第一选择模块,用于选择任务数量最少的节点服务器作为所述视频图像任务对应的节点服务器;第二选择模块,用于当有多个节点服务器的已分配任务数量均最少时,选择所述多个节点服务器中资源利用率最低的节点服务器作为所述视频图像任务对应的节点服务器,所述资源利用率包括以下至少一种服务器硬件资源的利用率:中央处理器、内存和网络带宽;

任务添加模块,用于查找所述视频图像任务对应的节点服务器的任务列表,在所述任务列表的已分配任务数量中添加所述视频图像任务;任务删除模块,用于当接收到所述计算单元节点端发送的所述视频图像任务已完成的信息时,将所述任务列表的已分配任务数量中所述视频图像任务删除;

指令获取模块,用于获取计算单元添加指令,所述计算单元添加指令携带有计算单元数据包;中心端设置模块,用于根据所述计算单元数据包,设置对应的计算单元中心端,并为设置的所述计算单元中心端分配端口;发送模块,用于将所述计算单元数据包和分配给所述计算单元中心端的端口的端口号发送给所述多个节点服务器;

删除指令获取模块,用于获取计算单元删除指令,所述计算单元删除指令中携带有计算单元的标识;计算单元中心端卸载模块,用于根据所述计算单元删除指令中携带的计算单元的标识,卸载计算单元的标识对应的计算单元中心端;删除指令下发模块,用于向所述多个节点服务器发送所述计算单元删除指令;

所述节点服务器包括:信息上报模块,用于周期性向所述中心服务器反馈当前的资源利用率;

任务反馈模块,用于当所述视频图像任务完成时,通过所述视频图像任务对应的计算单元节点端向所述中心服务器发送任务已完成的信息,所述任务已完成的信息携带有对应的计算单元所在节点服务器的标识;

节点端设置模块,用于接收到所述计算单元数据包后,设置对应的计算单元节点端;连接建立模块,用于通过所述端口号对应的端口为设置的所述计算单元节点端与所述计算单元中心端建立连接;

计算单元节点端卸载模块,用于当接收到所述计算单元删除指令时,根据所述计算单元删除命令中的计算单元的标识,卸载所述计算单元的标识对应的计算单元节点端。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中:所述中心服务器包括:通用任务接口,通过所述通用任务接口,获取用户发送的具有不同任务类型的所述视频图像任务。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中:所述nas设备,用于对所述节点服务器的处理结果进行备份,包括:

属性获取模块,用于使用linux系统中的llistxattr命令,获取待备份的数据的nas相关的扩展属性;数据打包模块,用于将所述数据打包为带有所述nas相关的扩展属性的tar格式的文件包;数据备份模块,用于将所述文件包备份到磁盘上;

其中,所述带有所述nas相关的扩展属性的tar格式的文件包包括:用于存放所述数据的读写权限的字段、用于存放所述数据的名称的字段、用于存放所述数据的头信息的字段、用于存放所述数据的内容的字段、与用于存放所述nas相关的扩展属性的字段;

所述用于存放所述nas相关的扩展属性的字段包括:用于存放所述nas相关的扩展属性的名称的子字段、用于存放所述nas相关的扩展属性的名称的长度的子字段、用于存放所述nas相关的扩展属性的值的子字段、与用于存放所述nas相关的扩展属性的长度的子字段。

第三方面,本发明实施例提供了一种应用上述的分布式处理系统实现的分布式处理方法,所述分布式处理系统包括:nas设备、中心服务器和多个节点服务器;所述方法包括:

所述中心服务器接收用户发送的视频图像任务;

所述中心服务器根据当前服务器集群中各节点服务器的已分配任务数量,确定已分配任务数量最少的节点服务器;

所述中心服务器选择任务数量最少的节点服务器作为所述视频图像任务对应的节点服务器;

当有多个节点服务器的已分配任务数量均最少时,所述中心服务器选择所述多个节点服务器中资源利用率最低的节点服务器作为所述视频图像任务对应的节点服务器,所述资源利用率包括以下至少一种服务器硬件资源的利用率:中央处理器、内存和网络带宽;其中,所述节点服务器周期性向所述中心服务器反馈当前的资源利用率;

所述节点服务器接收到所述视频图像任务后,通过所述视频图像任务对应的计算单元节点端对所述视频图像任务进行处理,得到处理结果;

nas设备对所述节点服务器的处理结果进行存储和备份;

当nas设备对所述节点服务器的处理结果进行备份时,nas设备具体用于:

使用linux系统中的llistxattr命令,获取待备份的数据的nas相关的扩展属性;

将所述数据打包为带有所述nas相关的扩展属性的tar格式的文件包;

将所述文件包备份到磁盘上;

其中,所述带有所述nas相关的扩展属性的tar格式的文件包包括:用于存放所述数据的读写权限的字段、用于存放所述数据的名称的字段、用于存放所述数据的头信息的字段、用于存放所述数据的内容的字段、与用于存放所述nas相关的扩展属性的字段;

所述用于存放所述nas相关的扩展属性的字段包括:用于存放所述nas相关的扩展属性的名称的子字段、用于存放所述nas相关的扩展属性的名称的长度的子字段、用于存放所述nas相关的扩展属性的值的子字段、与用于存放所述nas相关的扩展属性的长度的子字段。

结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中:所述方法还包括:

所述中心服务器查找所述视频图像任务对应的节点服务器的任务列表,在所述任务列表的已分配任务数量中添加所述视频图像任务;

当接收到所述计算单元节点端发送的所述视频图像任务已完成的信息时,所述中心服务器将所述任务列表的已分配任务数量中所述视频图像任务删除;

当所述视频图像任务完成时,所述节点服务器通过所述视频图像任务对应的计算单元节点端向所述中心服务器发送任务已完成的信息,所述任务已完成的信息携带有对应的计算单元所在节点服务器的标识。

结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中:所述方法还包括:

所述中心服务器获取计算单元添加指令,所述计算单元添加指令携带有计算单元数据包;

所述中心服务器根据所述计算单元数据包,设置对应的计算单元中心端,并为设置的所述计算单元中心端分配端口;

所述中心服务器将所述计算单元数据包和分配给所述计算单元中心端的端口的端口号发送给所述多个节点服务器;

所述节点服务器接收到所述计算单元数据包后,设置对应的计算单元节点端;

所述节点服务器通过所述端口号对应的端口为设置的所述计算单元节点端与所述计算单元中心端建立连接。

结合第三方面,本发明实施例提供了第三方面的第三种可能的实施方式,其中:所述方法还包括:

所述中心服务器获取计算单元删除指令,所述计算单元删除指令中携带有计算单元的标识;

所述中心服务器根据所述计算单元删除指令中携带的计算单元的标识,卸载所述计算单元的标识对应的计算单元中心端;

所述中心服务器向所述多个节点服务器发送所述计算单元删除指令;

当接收到所述计算单元删除指令时,所述节点服务器根据所述计算单元删除命令中的计算单元的标识,卸载所述计算单元的标识对应的计算单元节点端;

本发明实施例提供的nas设备、分布式处理系统和方法,在nas设备中使存储模块直接与路由器连接,与相关技术中路由器与服务器连接相比,可以在存储模块出现问题时及时对存储模块的故障进行识别,并进行相应的故障切换。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例1所提供的一种nas设备的结构示意图;

图2示出了本发明实施例1所提供的分布式处理系统的结构示意图;

图3示出了本发明实施例1所提供的分布式处理系统中,nas设备的微处理器的结构示意图;

图4示出了本发明实施例1所提供的一种nas设备中,磁盘故障检测的具体流程图。

图标:100-路由器;102-存储模块;1020-微控制器;1022-无线通信装置;1024-磁盘;200-nas设备;210-中心服务器;220-节点服务器;212-计算单元中心端;222-计算单元节点端;300-属性获取模块;302-数据打包模块;304-数据备份模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前nas包括路由器以及分别与路由器连接的多个存储服务器,多个存储服务器中的每个服务器均设置有用于存储数据的磁盘,无法识别安装在nas内的磁盘所出现的问题。基于此,本申请提供的一种nas设备、分布式处理系统和方法。

需要注意的是,在本发明的描述中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

另外,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例

参见图1所示的nas设备的结构示意图,本实施例提供一种nas设备,包括:路由器100和与上述路由器100连接的多个存储模块102;

多个上述存储模块102中的每个存储模块102均设置有微控制器1020、无线通信装置1022和磁盘1024;上述无线通信装置1022和上述磁盘1024分别与上述微控制器1020连接;

上述微控制器1020,用于在磁盘1024读写数据过程中对上述磁盘1024进行故障检测,并在检测到上述磁盘1024出现故障时发出磁盘故障指令;

上述无线通信装置1022,用于传输上述磁盘1024的读写数据和磁盘故障指令。

具体地,参见图4所示的磁盘故障检测流程,上述微控制器用于在磁盘读写数据过程中对上述磁盘进行故障检测,并在检测到上述磁盘出现故障时发出磁盘故障指令,包括以下具体步骤:

步骤400、当磁盘读写失败时,微控制器生成上述磁盘的读写失败次数增量数据;

步骤402、上述微控制器获取预存的读写失败次数存量数据;

步骤404、上述微控制器得到上述读写失败次数增量数据与读写失败次数存量数据相加的计算结果,并将得到的上述计算结果与预设的读写次数失败阈值进行对比;

步骤406、当上述计算结果与上述读写次数失败阈值相等时,上述微控制器确定上述磁盘出现故障,并发出磁盘故障指令;

步骤408、当上述计算结果小于上述读写次数失败阈值时,上述微控制器将上述计算结果作为读写失败次数存量数据并进行存储。

在上述步骤400中,微处理器会实时监测磁盘的读写状态,在磁盘出现读写错误时,生成上述磁盘的读写失败次数增量数据。

在上述步骤402中,微处理器从磁盘中获取预存的读写失败次数存量数据。

在上述步骤406中,微控制器发出磁盘故障指令后,将预存的读写失败次数存量数据重置。以开启新一轮的磁盘故障检测。

在上述步骤408中,微控制器将上述计算结果作为读写失败次数存量数据并存储到磁盘中。

上述路由器100、微控制器1020、无线通信装置1022和磁盘1024均可以采用现有技术中能够实现相应功能的装置和设备,这里不再一一赘述。

综上所述,本实施例提供的nas设备,在nas设备中使存储模块直接与路由器连接,与相关技术中路由器与服务器连接相比,可以在存储模块出现问题时及时对存储模块的故障进行识别,并进行相应的故障切换。

为了更好地对上述nas设备的功能进行描述,参见图2所示的分布式处理系统,本实施例还提出一种分布式处理系统,包括:上述的nas设备200、中心服务器210和多个节点服务器220;

其中,上述中心服务器210中设置有针对不同任务类型的计算单元中心端212,每个上述节点服务器220分别设置有与上述计算单元中心端212对应的计算单元节点端222,上述计算单元中心端212和对应的上述计算单元节点端222组成一个计算单元;

上述中心服务器210用于接收用户发送的视频图像任务,根据上述视频图像任务的类型,以及上述多个节点服务器220当前的任务数量和负载情况,将上述视频图像任务通过计算单元中心端212分配给对应的节点服务器220;

上述节点服务器220用于通过上述视频图像任务对应的计算单元节点端222对上述视频图像任务进行处理,得到处理结果;

上述nas设备200,用于对上述节点服务器220的处理结果进行存储和备份。

上述视频图像任务,包括视频任务和图像任务,其中视频任务是指用户发出的对视频或者视频图像进行处理的任务;图像任务是指户发出的对视频或者视频图像进行处理的任务;由于视频任务和图像任务在处理上比较类似,所以分布式处理系统中设置的计算单元可以对视频任务和图像任务进行同时处理。

综上所述,本实施例提供的分布式处理系统,通过设置的中心服务器接收用户发送的视频图像任务,根据服务器集群中多个节点服务器当前的任务数量和负载情况,将视频图像任务通过中心服务器设置的计算单元中心端分配给服务器集群中任一节点服务器中与该计算单元中心端对应的计算单元节点端中,通过视频图像任务对应的计算单元节点端对视频图像任务进行处理;通过在中心服务器中设置对视频图像任务进行分配的计算单元中心端,以及在服务器集群的每个服务器中设置可以处理相应类型视频图像任务的计算单元节点端,从而可以使用一个服务器集群的多个服务器就可以处理不同类型的视频图像任务,无需部署多个服务器集群才能满足视频图像任务的处理需求,提高了服务器集群的利用率,降低了服务器集群的建设成本,而且通过一个服务器集群的多个服务器处理不同类型的视频图像任务,提高了服务器集群中服务器资源的利用率,避免了资源的浪费。

相关技术中,对任务进行分配的服务器会根据接收的视频图像任务的任务类型的不同,通过不同的接口来接收用户发送过来的不同种类的任务,所以在服务器的前期开发时,需要针对不同的任务类型来开发出不同的接口,为了减少开发的接口的数量,上述中心服务器包括:通用任务接口,通过上述通用任务接口,获取用户发送的具有不同任务类型的上述视频图像任务。

通过以上的描述可以看出,通过设置的通用任务接口,接收用户发送的具有不同任务类型的任务,无需对各个计算单元分别设计接口,提高了软件的开发速度。具体地,上述分布式处理系统中为了对视频图像任务进行分配和处理,上述中心服务器包括:

任务数量确定模块,用于根据当前服务器集群中各节点服务器的已分配任务数量,确定已分配任务数量最少的节点服务器;第一选择模块,用于选择任务数量最少的节点服务器作为上述视频图像任务对应的节点服务器;第二选择模块,用于当有多个节点服务器的已分配任务数量均最少时,选择上述多个节点服务器中资源利用率最低的节点服务器作为上述视频图像任务对应的节点服务器,上述资源利用率包括以下至少一种服务器硬件资源的利用率:中央处理器、内存和网络带宽。

相应地,上述节点服务器包括:信息上报模块,用于周期性向上述中心服务器反馈当前的资源利用率。

中心服务器在接收到节点服务器周期性反馈的当前各服务器的资源利用率数据后,会将接收到的当前各服务器的资源利用率的数据缓存起来。由于节点服务器是周期性向中心服务器反馈当前的资源利用率,那么当预设的时长到达时,中心服务器会再一次接收到节点服务器反馈的当前各服务器的资源利用率的数据,此时中心服务器会将缓存的资源利用率的数据擦除掉,然后将当前接收到的各服务器的资源利用率的数据写入缓存中。

任务数量确定模块,具体包括:任务数量获取单元,用于获取服务器集群中各节点服务器的已分配任务数量;任务数量比对单元,用于对比各节点服务器的已分配任务数量,确定已分配任务数量的最小值;节点服务器确定单元,用于选择已分配任务数量的最小值对应的节点服务器作为已分配任务数量最少的节点服务器。

当任务数量确定模块确定当前有多个节点服务器的已分配任务数量均最少时,第二选择模块,具体包括:资源利用率获取单元,用于获取中心服务器中缓存的已分配任务数量均最少的多个节点服务器的资源利用率的数据;资源利用率对比单元,用于对比已分配任务数量均最少的多个节点服务器的资源利用率的高低,确定资源利用率的最低值;节点服务器确定单元,用于选择资源利用率的最低值对应的节点服务器作为已分配任务数量最少的节点服务器。

服务器主要通过中央处理器对视频图像任务进行处理,则资源利用率对比单元在对比已分配任务数量均最少的多个节点服务器的资源利用率的高低时,优选通过对比各服务器中的中央处理器各核心的使用率来确定资源利用率最低的节点服务器。

任务数量比对单元和资源利用率对比单元可以采用现有的任何比较数量大小的方法来分别确定已分配任务数量的最小值和资源利用率的最低值,这里不再一一赘述。

通过以上的描述可以看出,在向各服务器分配任务时,通过负载均衡的原则对任务进行分配,可以根据服务器集群中各服务器的使用情况,在分配任务时,对服务器集群中的各个服务器进行统一的管理和分配。

为了根据服务器的负载情况向各服务器分配处理的任务,中心服务器通过设置任务添加模块和任务删除模块以及节点服务器设置的任务反馈模块来实时掌握各服务器的负载情况。中心服务器具体包括:任务添加模块,用于查找上述视频图像任务对应的节点服务器的任务列表,在上述任务列表的已分配任务数量中添加上述视频图像任务;任务删除模块,用于当接收到上述计算单元节点端发送的上述视频图像任务已完成的信息时,将上述任务列表的已分配任务数量中上述视频图像任务删除。

相应地,上述节点服务器包括:任务反馈模块,用于当上述视频图像任务完成时,通过上述视频图像任务对应的计算单元节点端向上述中心服务器发送任务已完成的信息,上述任务已完成的信息携带有对应的计算单元所在节点服务器的标识。

每个任务列表中记录有每个节点服务器的标识和节点服务器的标识对应的节点服务器已分配任务数量,当中心服务器确定由已分配任务数量最少的节点服务器处理视频图像任务时,中心服务器就会在已分配任务数量最少的节点服务器的任务列表中添加视频图像任务,从而对已分配任务数量最少的节点服务器的任务列表进行更新。

当接收到计算单元节点端发送的视频图像任务已完成的信息时,任务删除模块根据视频图像任务已完成的信息中记录的节点服务器的标识,查询到节点服务器的标识对应的节点服务器的任务列表,在节点服务器的标识对应的节点服务器的任务列表中将任务列表的已分配任务数量中视频图像任务删除,从而对任务列表进行更新。

在接收到视频图像任务已完成的信息后,中心服务器会通过通用任务接口向用户发送视频图像任务完成的消息,并通知用户处理完毕后视频图像任务处理结果的存储地址,使用户可以通过存储地址获取视频图像任务的处理结果。

通过以上的描述可以看出,通过预设的任务列表记录各服务器所分配的任务数量,就可以实时的确定各服务器的负载情况,从而根据服务器的负载情况向各服务器分配处理的任务,可以使服务器的负载更加均衡。

随着视频处理和视频图像处理技术的发展,用户对视频图像任务的处理需求越来越多,分布式处理系统中现有设置的计算单元不能对用户发出的某些任务类型的视频图像任务进行有效处理时,中心服务器具体包括:指令获取模块,用于获取计算单元添加指令,上述计算单元添加指令携带有计算单元数据包;中心端设置模块,用于根据上述计算单元数据包,设置对应的计算单元中心端,并为设置的上述计算单元中心端分配端口;发送模块,用于将上述计算单元数据包和分配给上述计算单元中心端的端口的端口号发送给上述多个节点服务器。

相应地,上述节点服务器包括:节点端设置模块,用于接收到上述计算单元数据包后,设置对应的计算单元节点端;连接建立模块,用于通过上述端口号对应的端口为设置的上述计算单元节点端与上述计算单元中心端建立连接。

当分布式处理系统的维护人员发现某种类型的视频图像任务由分布式处理系统中现有的所有计算单元处理时所耗费的处理时间均较长,不能向用户及时反馈处理结果时,就会根据这种类型的视频图像任务的处理特点,确定可以有效处理该种类型的视频图像任务的计算单元,然后获取处理该种类型的视频图像任务的计算单元的计算单元数据包,并通过获取到的计算单元数据包形成计算单元添加指令,将形成的计算单元添加指令发送给中心服务器,以使中心服务器根据计算单元数据包,设置对应的计算单元中心端。

分布式处理系统的维护人员可以从系统后台服务器中获取处理该种类型的视频图像任务的计算单元的计算单元数据包,也可以通过网络下载处理该种类型的视频图像任务的计算单元的计算单元数据包,还可以通过现有的任何数据包获取方式,来获取计算单元数据包,这里不再一一赘述。

当然,中心服务器中设置的各计算单元的计算单元中心端也可以对所处理的视频图像任务的处理时间进行记录,并在任务处理完成时,将视频图像任务的处理时间和任务已完成的信息一起反馈给中心服务器,中心服务器可以将视频图像任务的处理时间与预设的处理时间阈值进行对比,当该视频图像任务的处理时间大于预设的处理时间阈值时,说明当前的计算单元不适合对这种类型的视频图像任务进行处理,那么中心服务器会将该视频图像任务的任务类型与其他的计算单元进行关联,使得下一次对这种类型的视频图像任务进行处理时,可用其他的计算单元进行处理,当中心服务器确定当前设置的计算单元均不适合对这种类型的视频图像任务进行处理时,就会从系统后台服务器中确定并获取处理该种类型的视频图像任务的计算单元的计算单元数据包,并通过获取到的计算单元数据包形成计算单元添加指令,将形成的计算单元添加指令发送给中心服务器,以使中心服务器根据计算单元数据包,设置对应的计算单元中心端。

通过以上的描述可以看出,中心服务器根据获取计算单元添加指令设置计算单元,而且添加计算单元的过程简单方便快捷,使用灵活方便,而且在添加新的计算单元后,可以减少视频图像任务的处理时间并可以及时对任务进行处理。

随着视频处理和视频图像处理技术的发展,分布式处理系统中现有设置的一些计算单元所处理的视频图像任务越来越少,甚至有些计算单元已不再被使用,但是这些不再被使用的计算单元仍然会占用中心服务器和节点服务器的资源造成服务器资源的浪费,为了避免资源浪费,中心服务器具体包括:删除指令获取模块,用于获取计算单元删除指令,上述计算单元删除指令中携带有计算单元的标识;计算单元中心端卸载模块,用于根据上述计算单元删除指令中携带的计算单元的标识,卸载计算单元的标识对应的计算单元中心端;删除指令下发模块,用于向上述多个节点服务器发送上述计算单元删除指令。

上述节点服务器包括:计算单元节点端卸载模块,用于当接收到上述计算单元删除指令时,根据上述计算单元删除命令中的计算单元的标识,卸载上述计算单元的标识对应的计算单元节点端。

当分布式处理系统的维护人员发现某种类型的视频图像任务长时间不再处理任务时,就会向中心服务器发送携带有计算单元的标识的计算单元删除指令,使得中心服务器和节点服务器删除计算单元的标识对应的计算单元。

当然,中心服务器也可以对最近一次向计算单元分配视频图像任务的任务分配时间进行记录,并会周期性的判断最近一次向计算单元分配视频图像任务的任务分配时间与当前时间的时间间隔是否达到了计算单元的删除时间,如果达到了计算单元的删除时间,那么就向中心服务器发送携带有可以删除的计算单元的标识的计算单元删除指令,使得中心服务器和节点服务器删除计算单元的标识对应的计算单元。

分布式处理系统的维护人员可以通过中心服务器的输入设备或者与中心服务器连接的系统后台服务器的输入设备向中心服务器发送计算单元添加指令和计算单元删除指令。

通过以上的描述可以看出,对于不在使用的计算单元,可以根据任务处理的需要进行删除,使用灵活方便,而且卸载计算单元方便快捷,使得中心服务器和节点服务器中的资源可以被合理运用,也不会影响到其它处理单元对任务的处理过程。

为了对nas设备中存储的数据进行备份,在上述分布式处理系统中,上述nas设备,用于对上述节点服务器的处理结果进行备份,包括:

属性获取模块,用于使用linux系统中的llistxattr命令,获取待备份的数据的nas相关的扩展属性;数据打包模块,用于将上述数据打包为带有上述nas相关的扩展属性的tar格式的文件包;数据备份模块,用于将上述文件包备份到磁盘上。

如图3所示,上述属性获取模块300、上述数据打包模块302和上述数据备份模块304均是nas设备中微处理器的功能性模块。在微处理器中,上述属性获取模块300、上述数据打包模块302和上述数据备份模块304依次连接。

其中,上述带有上述nas设备相关的扩展属性的tar格式的文件包包括:用于存放上述数据的读写权限的字段、用于存放上述数据的名称的字段、用于存放上述数据的头信息的字段、用于存放上述数据的内容的字段、与用于存放上述nas相关的扩展属性的字段;

上述用于存放上述nas设备相关的扩展属性的字段包括:用于存放上述nas设备相关的扩展属性的名称的子字段、用于存放上述nas设备相关的扩展属性的名称的长度的子字段、用于存放上述nas设备相关的扩展属性的值的子字段、与用于存放上述nas设备相关的扩展属性的长度的子字段。

在一个实施方式中,带有nas设备相关的扩展属性的tar格式的文件包的结构有很多,本发明实施例中不做具体限定。优选的,带有nas设备相关的扩展属性的tar格式的文件包可以包括如下内容:

用于存放该数据的读写权限的字段、用于存放该数据的名称的字段、用于存放该数据的头信息的字段、用于存放该数据的内容的字段、与用于存放上述nas设备相关的扩展属性的字段。其中,该数据的头信息中可以包括ndmp协议版本、ndmp程序版本、磁盘位置等信息,用于支持该数据的兼容性。其中,字段至在文件包中可以按照任意的顺序排列,此处不做限定。

更为优选的,用于存放该nas设备相关的扩展属性的字段可以包括如下内容:用于存放该nas设备相关的扩展属性的名称的子字段、用于存放上述nas设备相关的扩展属性的名称的长度的子字段、用于存放该nas设备相关的扩展属性的值的子字段、与用于存放上述nas设备相关的扩展属性的长度的子字段。

本实施例提出了的nas设备,其中,属性获取模块获取待备份的数据的nas设备相关的扩展属性;数据打包模块将数据打包为带有nas设备相关的扩展属性的tar格式的文件包;数据备份模块将文件包备份到磁盘上。由于本实施例中的数据备份系统在备份数据时会将数据的nas设备相关的扩展属性一同打包备份到磁盘上,因此与现有技术相比,本实施例中备份到磁盘上的文件包中包括额外的信息,即数据的扩展属性。因此备份服务可以基于该额外的扩展属性,实现现有技术中不提供的额外的扩展功能,如数据的跨系统访问、数据的快速定位等功能。

实施例2

本实施例提供一种分布式处理方法,应用上述实施例1描述的分布式处理系统,分布式处理系统包括:nas设备、中心服务器和多个节点服务器;包括以下具体步骤:

(1)上述中心服务器接收用户发送的视频图像任务;

(2)上述中心服务器根据当前服务器集群中各节点服务器的已分配任务数量,确定已分配任务数量最少的节点服务器;

(3)上述中心服务器选择任务数量最少的节点服务器作为上述视频图像任务对应的节点服务器;

(4)当有多个节点服务器的已分配任务数量均最少时,上述中心服务器选择上述多个节点服务器中资源利用率最低的节点服务器作为上述视频图像任务对应的节点服务器,上述资源利用率包括以下至少一种服务器硬件资源的利用率:中央处理器、内存和网络带宽;其中,上述节点服务器周期性向上述中心服务器反馈当前的资源利用率;

(5)上述节点服务器接收到上述视频图像任务后,通过上述视频图像任务对应的计算单元节点端对上述视频图像任务进行处理,得到处理结果;

(6)nas设备对上述节点服务器的处理结果进行存储和备份;

当nas设备对上述节点服务器的处理结果进行备份时,nas设备具体用于:

(61)使用linux系统中的llistxattr命令,获取待备份的数据的nas相关的扩展属性;

(62)将上述数据打包为带有上述nas相关的扩展属性的tar格式的文件包;

(63)将上述文件包备份到磁盘上;

其中,上述带有上述nas相关的扩展属性的tar格式的文件包包括:用于存放上述数据的读写权限的字段、用于存放上述数据的名称的字段、用于存放上述数据的头信息的字段、用于存放上述数据的内容的字段、与用于存放上述nas相关的扩展属性的字段;

上述用于存放上述nas相关的扩展属性的字段包括:用于存放上述nas相关的扩展属性的名称的子字段、用于存放上述nas相关的扩展属性的名称的长度的子字段、用于存放上述nas相关的扩展属性的值的子字段、与用于存放上述nas相关的扩展属性的长度的子字段。

上述分布式处理方法还包括以下具体步骤:

(1)上述中心服务器查找上述视频图像任务对应的节点服务器的任务列表,在上述任务列表的已分配任务数量中添加上述视频图像任务;

(2)当接收到上述计算单元节点端发送的上述视频图像任务已完成的信息时,上述中心服务器将上述任务列表的已分配任务数量中上述视频图像任务删除;

(3)当上述视频图像任务完成时,上述节点服务器通过上述视频图像任务对应的计算单元节点端向上述中心服务器发送任务已完成的信息,上述任务已完成的信息携带有对应的计算单元所在节点服务器的标识。

上述分布式处理方法还包括以下具体步骤:

(1)上述中心服务器获取计算单元添加指令,上述计算单元添加指令携带有计算单元数据包;

(2)上述中心服务器根据上述计算单元数据包,设置对应的计算单元中心端,并为设置的上述计算单元中心端分配端口;

(3)上述中心服务器将上述计算单元数据包和分配给上述计算单元中心端的端口的端口号发送给上述多个节点服务器;

(4)上述节点服务器接收到上述计算单元数据包后,设置对应的计算单元节点端;

(5)上述节点服务器通过上述端口号对应的端口为设置的上述计算单元节点端与上述计算单元中心端建立连接。

上述分布式处理方法还包括以下具体步骤

(1)上述中心服务器获取计算单元删除指令,上述计算单元删除指令中携带有计算单元的标识;

(2)上述中心服务器根据上述计算单元删除指令中携带的计算单元的标识,卸载上述计算单元的标识对应的计算单元中心端;

(3)上述中心服务器向上述多个节点服务器发送上述计算单元删除指令;

(4)当接收到上述计算单元删除指令时,上述节点服务器根据上述计算单元删除命令中的计算单元的标识,卸载上述计算单元的标识对应的计算单元节点端。

上述分布式处理方法的具体实现过程在实施例1中均有具体描述,本实施例不再赘述。

综上所述,本实施例提供的分布式处理方法,通过设置的中心服务器接收用户发送的视频图像任务,根据服务器集群中多个节点服务器当前的任务数量和负载情况,将视频图像任务通过中心服务器设置的计算单元中心端分配给服务器集群中任一节点服务器中与该计算单元中心端对应的计算单元节点端中,通过视频图像任务对应的计算单元节点端对视频图像任务进行处理;通过在中心服务器中设置对视频图像任务进行分配的计算单元中心端,以及在服务器集群的每个服务器中设置可以处理相应类型视频图像任务的计算单元节点端,从而可以使用一个服务器集群的多个服务器就可以处理不同类型的视频图像任务,无需部署多个服务器集群才能满足视频图像任务的处理需求,提高了服务器集群的利用率,降低了服务器集群的建设成本,而且通过一个服务器集群的多个服务器处理不同类型的视频图像任务,提高了服务器集群中服务器资源的利用率,避免了资源的浪费。

本发明实施例所提供的进行分布式处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1