一种信息处理方法及装置与流程

文档序号:15587806发布日期:2018-10-02 18:35阅读:205来源:国知局
本发明涉及数据处理
技术领域
,特别是涉及一种信息处理方法及装置。
背景技术
:随着互联网的普及与发展,流式数据(如视频数据)在人类生活中起着越来越重要的作用。但流式数据在存储过程中,可能因为磁盘损坏、存储节点失效等原因,导致流式数据丢失。为了提高数据的可靠性和安全性,需要对流式数据进行修复。目前,流式数据修复一般是基于纠删码进行的,具体为,参考图1,一个条带中可以对应多个条带块,如图1中n+m个条带块,其中,一部分条带块(如图1中n个条带块)作为数据块存储流式数据,另一部分条带块(如图1中m个条带块)作为校验块存储校验数据。校验块中存储的校验数据是对数据块中存储的流式数据进行纠删码计算得到的,当条带对应的数据块损坏(下称为“坏块”),导致该坏块中的流式数据丢失时,可以根据校验块中的校验数据进行纠删码计算,修复该坏块中的流式数据。现有技术中,基于纠删码修复条带对应的坏块中存储的流式数据,需要该条带对应的坏块的个数不大于该条带对应的校验块的个数;若该条带对应的坏块的个数大于该条带对应的校验块的个数,则再无法修复该条带对应的坏块中存储的流式数据,此时,该条带可以确定为损坏条带。这种情况下,若损坏条带对应的正常数据块(下称为“正常块”)中,再出现损坏的正常块时,该再损坏的正常块中存储的流式数据也将再无法修复。技术实现要素:本发明实施例的目的在于提供一种信息处理方法及装置,以使得损坏条带对应的正常数据块再损坏时,该再损坏的正常数据块中存储的流式数据能够被修复。具体技术方案如下:一方面,本发明实施例公开了一种信息处理方法,应用于存储服务器,所述方法包括:从元数据服务器中获取至少一条损坏条带的条带信息,将所述至少一条损坏条带的条带信息作为第一条带信息;所述第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;将所述正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组;构建针对每组第一数据块的至少一条新正常条带;获取所述至少一条新正常条带的条带信息,将所述至少一条新正常条带的条带信息作为第二条带信息;将所述第二条带信息发送给所述元数据服务器,以使所述元数据服务器添加所述第二条带信息。可选的,在所述从元数据服务器中获取至少一条损坏条带的条带信息的步骤之前,所述方法还包括:检测本地是否存在坏块;如果是,将所述坏块的标识发送给所述元数据服务器,以使所述元数据服务器根据所述坏块的标识更新正常条带的条带信息和损坏条带的条带信息。可选的,所述从元数据服务器中获取至少一条损坏条带的条带信息的步骤,包括:接收所述元数据服务器发送的当前存储的预设数量个损坏条带的条带信息;或,接收所述元数据服务器定时发送的当前存储的所有损坏条带的条带信息。可选的,所述第一条带信息还包括:正常块中存储的流式数据在流式对象数据中偏移量;在所述按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组的步骤之后,所述方法还包括:按照正常块中存储的流式数据在流式对象数据中偏移量从小到大的顺序,对每组第一数据块中的第一数据块进行排序。可选的,每个条带对应n个数据块和m个校验块,其中,n和m为正整数;所述构建针对每组第一数据块的至少一条新正常条带的步骤,包括:对于每组第一数据块,对该组第一数据块中排序后的第一数据块,从前至后,依次对每n个第一数据块中存储的流式数据进行纠删码计算,获得m个校验块的检验数据;由每n个第一数据块和该n个第一数据块对应的m个校验块,构建新正常条带;当该组第一数据块中剩余s个第一数据块时,获取n-s个预设数据块;由所述s个第一数据块和所述n-s个预设数据块组成n个正常块,对所述s个第一数据块中存储的流式数据和所述n-s个预设数据块中存储的数据进行纠删码计算,获得m个校验块的检验数据,由所述s个第一数据块与所述n-s个预设数据块对应的m个校验块、所述s个第一数据块和所述n-s个预设数据块,构建新正常条带,其中,s为正整数,s<n。可选的,所述方法还包括:拒绝将所述n-s个预设数据块中的数据存储至所述存储服务器。二方面,本发明实施例还公开了一种信息处理方法,应用于元数据服务器,所述方法包括:将至少一条损坏条带的条带信息发送给存储服务器,以使所述存储服务器将所述至少一条损坏条带的条带信息作为第一条带信息,所述第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;将所述正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组;构建针对每组第一数据块的至少一条新正常条带;接收所述存储服务器发送的第二条带信息;所述第二条带信息为所述至少一条新正常条带的条带信息;存储所述第二条带信息。可选的,每个条带对应n个数据块和m个校验块,其中,n和m为正整数;在所述将至少一条损坏条带的条带信息发送给存储服务器的步骤之前,所述方法还包括:接收所述存储服务器发送的坏块的标识;确定所述坏块的标识对应的正常条带的条带信息;将所述正常条带的条带信息中所述坏块的标识对应的正常块标记为坏块;当所述正常条带的条带信息中标记为坏块的正常块的个数大于m时,将所述正常条带的条带信息更新为损坏条带的条带信息。可选的,所述将至少一条损坏条带的条带信息发送给存储服务器的步骤,包括:当所述元数据服务器中当前存储了预设数量个损坏条带的条带信息时,将所有所述损坏条带的条带信息发送给所述存储服务器;或,定时将当前存储的所有损坏条带的条带信息发送给所述存储服务器。可选的,在所述存储所述第二条带信息的步骤之后,所述方法还包括:删除所述第一条带信息。三方面,本发明实施例还公开了一种信息处理装置,应用于存储服务器,所述装置包括:第一信息获取单元,用于从元数据服务器中获取至少一条损坏条带的条带信息,将所述至少一条损坏条带的条带信息作为第一条带信息;所述第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;块分组单元,用于将所述正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组;条带构建单元,用于构建针对每组第一数据块的至少一条新正常条带;第二信息获取单元,用于获取所述至少一条新正常条带的条带信息,将所述至少一条新正常条带的条带信息作为第二条带信息;信息发送单元,用于将所述第二条带信息发送给所述元数据服务器,以使所述元数据服务器添加所述第二条带信息。可选的,所述装置还包括:块检测单元,用于在从元数据服务器中获取至少一条损坏条带的条带信息之前,检测本地是否存在坏块;标识发送单元,用于在所述块检测单元的检测结果为是的情况下,将所述坏块的标识发送给所述元数据服务器,以使所述元数据服务器根据所述坏块的标识更新正常条带的条带信息和损坏条带的条带信息。可选的,所述第一信息获取单元,具体用于:接收所述元数据服务器发送的当前存储的预设数量个损坏条带的条带信息;或,接收所述元数据服务器定时发送的当前存储的所有损坏条带的条带信息。可选的,所述第一条带信息还包括:正常块中存储的流式数据在流式对象数据中偏移量;所述装置还包括:块排序单元,用于在按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组之后,按照正常块中存储的流式数据在流式对象数据中偏移量从小到大的顺序,对每组第一数据块中的第一数据块进行排序。可选的,每个条带对应n个数据块和m个校验块,其中,n和m为正整数;所述条带构建单元,具体用于:对于每组第一数据块,对该组第一数据块中排序后的第一数据块,从前至后,依次对每n个第一数据块中存储的流式数据进行纠删码计算,获得m个校验块的检验数据;由每n个第一数据块和该n个第一数据块对应的m个校验块,构建新正常条带;当该组第一数据块中剩余s个第一数据块时,获取n-s个预设数据块;由所述s个第一数据块和所述n-s个预设数据块组成n个正常块;对所述s个第一数据块中存储的流式数据和所述n-s个预设数据块中存储的数据进行纠删码计算,获得m个校验块的检验数据,由所述s个第一数据块与所述n-s个预设数据块对应的m个校验块、所述s个第一数据块和所述n-s个预设数据块,构建新正常条带,其中,s为正整数,s<n。可选的,所述装置还包括:存储拒绝单元,用于拒绝将所述n-s个预设数据块中的数据存储至所述存储服务器。四方面,本发明实施例还公开了一种信息处理装置,应用于元数据服务器,所述装置包括:信息发送单元,用于将至少一条损坏条带的条带信息发送给存储服务器,以使所述存储服务器将所述至少一条损坏条带的条带信息作为第一条带信息,所述第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;将所述正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组;构建针对每组第一数据块的至少一条新正常条带;信息接收单元,用于接收所述存储服务器发送的第二条带信息;所述第二条带信息为所述至少一条新正常条带的条带信息;信息存储单元,用于存储所述第二条带信息。可选的,每个条带对应n个数据块和m个校验块,其中,n和m为正整数;所述装置还包括:标识接收单元,用于在将至少一条损坏条带的条带信息发送给存储服务器之前,接收所述存储服务器发送的坏块的标识;信息确定单元,用于确定所述坏块的标识对应的正常条带的条带信息;块标记单元,用于将所述正常条带的条带信息中所述坏块的标识对应的正常块标记为坏块;信息更新单元,用于当所述正常条带的条带信息中标记为坏块的正常块的个数大于m时,将所述正常条带的条带信息更新为损坏条带的条带信息。可选的,所述信息发送单元,具体用于:当所述元数据服务器中当前存储了预设数量个损坏条带的条带信息时,将所有所述损坏条带的条带信息发送给所述存储服务器;或,定时将当前存储的所有损坏条带的条带信息发送给所述存储服务器。可选的,所述装置还包括:信息删除单元,用于在存储所述第二条带信息之后,删除所述第一条带信息。本发明实施例提供了一种信息处理方法及装置,存储服务器从元数据服务器中获取至少一条损坏条带的第一条带信息,该第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据,按照正常块中存储的流式数据所属的流式对象数据,对正常块的标识对应的正常块进行分组,进而构建至少一条新正常条带,并将第二条带信息发送给元数据服务器,元数据服务器添加第二条带信息。可见,本发明实施例中,当损坏条带对应的正常块再损坏时,因该损坏条带对应的正常块再次重新构建了新正常条带,而该新正常条带对应的数据块都为正常块,因此可以根据该新正常条带的信息,对再损坏的正常块中存储的流式数据进行修复,进而使得损坏条带对应的正常数据块再损坏时,该再损坏的正常数据块中存储的流式数据能够被修复。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为条带结构示意图;图2为本发明实施例提供的一种信息处理方法的一种流程示意图;图3为本发明实施例提供的一种信息处理方法的另一种流程示意图;图4为本发明实施例中获取的损坏条带的示意图;图5为本发明实施例中重新构建的新正常条带的示意图;图6为本发明实施例提供的另一种信息处理方法的一种流程示意图;图7为本发明实施例提供的另一种信息处理方法的另一种流程示意图;图8为本发明实施例提供的一种信息处理装置的一种结构示意图;图9为本发明实施例提供的一种信息处理装置的另一种结构示意图;图10为本发明实施例提供的另一种信息处理装置的一种结构示意图;图11为本发明实施例提供的另一种信息处理装置的另一种结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为便于说明本发明,下面对本发明实施例中出现的词进行定义说明:条带块:可以作为数据块,存储流式数据;也可以作为校验快,存储校验数据;正常块:为正常数据块,存储服务器可以正常地从正常块中读取流式数据。坏块:为损坏数据块,也就是损坏的正常块,存储服务器无法从坏块中读取到流式数据。其中,正常块和坏块统称为数据块。下面通过具体实施例,对本发明进行详细说明。参考图2,图2为本发明实施例提供的一种信息处理方法的一种流程示意图,应用于存储服务器,该方法包括:s201:从元数据服务器中获取至少一条损坏条带的条带信息,将该至少一条损坏条带的条带信息作为第一条带信息;其中,第一条带信息可以包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据。这里,流式对象数据可以为来自同一终端的所有流式数据,也可以为来自同一时间段的所有流式数据,也可以为用户划分出的一些流式数据,本发明实施例对此不进行限定。流式对象数据中的流式数据丢失部分,用户仍然可以读取该流式对象数据中的其他流式数据。在本发明的一个实施例中,存储服务器获取的损坏条带的条带信息可以为:元数据服务器中当前存储的所有损坏条带的条带信息。一般的,元数据服务器可以定时地将当前存储的所有损坏条带的条带信息发送给存储服务器,也可以在该元数据服务器中存储了预设数量个损坏条带的条带信息时,则将当前存储的这预设数量个损坏条带的条带信息都发送给存储服务器。在本发明的一个实施例中,参考图3,在图2的基础上,在从元数据服务器中获取至少一条损坏条带的条带信息之前,上述信息处理方法还可以包括:s301:检测本地是否存在坏块;如果是,s302;一般的,存储服务器可以定时地检测本地是否存在坏块。在本发明的一个实施例中,若读取一个正常块中的流式数据失败,则再次读取该正常块中的流式数据,若还是失败,则可以将该正常块确定为坏块。s302:将坏块的标识发送给元数据服务器。元数据服务器可以存储条带的元数据,该条带的元数据即为条带信息,可以包括:硬盘的标识、数据块在硬盘中的偏移量、数据块的标识、数据块中存储的流式数据所属的流式对象数据、数据块中存储的流式数据在流式对象数据中偏移量、数据块的存储状态等信息,如表1所示。表1条带块分为数据块和校验块,上述表1中,条带块可以理解为数据块,条带块集合为一个条带对应的数据块的集合;其中,硬盘的标识wwn(worldwidename,全球唯一名字),是由权威的组织分配的唯一的48位或64位数字,专门制定为公认的名称授权(通常通过区域分配给制造商),以区分一个或一组网络连接;为了减少出现损坏条带的概率,一个条带对应的每一条带块对应一个硬盘,例如一个条带对应4个条带块,则该条带对应4个不同的硬盘;条带块在流式对象数据中偏移量可以理解为数据块中存储的流式数据在流式对象数据中偏移量;通过该偏移量,结合条带块(可以理解为数据块)在硬盘中的偏移量,可以准确地读取到数据块中存储的流式数据;条带块对应的流式对象数据可以理解为数据块中存储的流式数据所属的流式对象数据;一般的元数据服务器中还可以存储流式对象数据的元数据,该流式对象数据的元数据可以包括:存储该流式对象数据的流式数据的数据块对应的条带的标识和流式对象数据的大小等信息,如表2所示。表2字段key(键)备注object_keyprimarykey(主键)流式对象数据strip_id集合条带的标识的集合object_size流式对象数据的大小其中,条带标识的集合为:存储流式数据的数据块对应的条带的标识的集合。条带块状态可以理解为数据块的存储状态,这里,数据块的存储状态,可以包括正常状态和损坏状态。具体地,当数据块中存储了流式数据时,该数据块的存储状态设置为正常状态,也就是,将该数据块标记为正常块;当数据块出现损坏,导致该数据块中存储的流式数据丢失时,该数据块的存储状态设置为损坏状态,也就是,将该正常块标记为坏块。一般的,当元数据服务器接收到存储服务器发送的坏块的标识后,确定坏块的标识对应的正常条带的条带信息,将该正常条带的条带信息中坏块的标识对应的正常块标记为坏块,也就是,将该坏块的标识对应的正常块的“条带块状态”设置为损坏状态;若该正常条带中的被标记为坏块的正常块的个数大于该正常条带中校验快的个数,则将该正常条带的条带信息更新为损坏条带的条带信息。s202:将第一条带信息中包括的正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对第一数据块进行分组;例如,如图4所示,获取了4条损坏条带的条带信息,分别为条带1的条带信息、条带2的条带信息、条带3的条带信息和条带4的条带信息,其中,4条条带中的数据块1、数据块3、数据块6、数据块8、数据块9、数据块10、数据块13和数据块14为正常块,即存在8个第一数据块,数据块1中存储了流式数据1、数据块3中存储了流式数据3、数据块6中存储了流式数据6、数据块8中存储了流式数据8、数据块9中存储了流式数据9、数据块10中存储了流式数据10、数据块13中存储了流式数据13、数据块14中存储了流式数据14,这里,流式数据1、流式数据3、流式数据6、流式数据8、流式数据9和流式数据10属于流式对象数据object1,流式数据13和流式数据14属于流式对象数据object2;这种情况下,对第一数据块进行分组时,可以将数据块1、数据块3、数据块6、数据块8、数据块9和数据块10分为一组,将数据块13和数据块14分为一组。s203:构建针对每组第一数据块的至少一条新正常条带;在本发明的一个实施例中,为了便于数据的读取,在按照正常块中存储的流式数据所属的流式对象数据,对多个第一数据块进行分组之后,可以按照数据块中存储的流式数据在流式对象数据中偏移量从小到大的顺序,对每组第一数据块中的第一数据块进行排序,根据排序后的第一数据块构建新正常条带。这里,数据块中存储的流式数据在流式对象数据中偏移量可以包括在获取的损坏条带的条带信息中。一般的,对于每组第一数据块,对该组第一数据块中排序后的第一数据块,从前至后,依次对每n个第一数据块中存储的流式数据进行纠删码计算,获得m个校验块的检验数据;由每n个第一数据块和该n个第一数据块对应的m个校验块,构建新正常条带;当该组第一数据块中剩余s(这里,s<n)个第一数据块时,则获取n-s个预设数据块;由这s个第一数据块和这n-s个预设数据块组成n个正常块;对这s个第一数据块中存储的流式数据和这n-s个预设数据块中存储的数据进行纠删码计算,获得m个校验块的检验数据,由这个第一数据块与这n-s个预设数据块对应的m个校验块、这s个第一数据块和这n-s个预设数据块,构建新正常条带。需要说明的是,s为正整数,预设数据块可以为空的数据块,也就是,未存储任何数据的数据块,也可以为全0(或其他已知数据)数据块,本发明实施例对此不进行限定。仍以s202中的例子进行说明,对于object1组第一数据块,各个第一数据块中存储的流式数据在流式对象数据object1中偏移量从小到大的顺序为:流式数据1-流式数据3-流式数据6-流式数据8-流式数据9-流式数据10,则第一数据块的排序为:数据块1-数据块3-数据块6-数据块8-数据块9-数据块10,若一个条带对应4个数据块和1个校验块,则从前至后,依次对每4个第一数据块中存储的流式数据进行纠删码计算,也就是,先获取数据块1、数据块3、数据块6、数据块8这4个正常块,对这4个正常块中存储的流式数据进行纠删码计算,获得1个检验数据1,将这1个校验数据1存储在校验块1中,如图5所示,由数据块1、数据块3、数据块6、数据块8和校验块1构成一个新正常条带5;此时,object1组第一数据块只剩下数据块9和数据块10这2个正常块即s=2,此时,2<4,则获取n-s=4-2=2个预设数据块,由数据块9、数据块10和这2个预设数据块,构成4个正常块,对这4个数据块中存储的数据进行纠删码计算,获得1个检验数据2,将这1个校验数据2存储在校验块2中,如图5所示,由数据块9、数据块10、2个预设数据块和校验块2构成一个新正常条带6。在本发明的一个实施例中,为了节约存储服务器的存储空间,拒绝将n-s个预设数据块中的数据存储至存储服务器。s204:获取至少一条新正常条带的条带信息,将至少一条新正常条带的条带信息作为第二条带信息;s205:将第二条带信息发送给元数据服务器。这种情况下,元数据服务器添加第二条带信息。这样再有正常数据块损坏导致流式数据丢失时,该再损坏的正常数据块中存储的流式数据能够被修复。另外,为了保证该再损坏的正常数据块中存储的流式数据能够被准确地修复,元数据服务器在接收到第二条带信息后,还可以删除第一条带信息。以s203中的例子进行说明,若对于object2组第一数据块,由数据块13、数据块14、2个预设数据块和校验块3构成一个新正常条带7,将新正常条带5、新正常条带6和新正常条带7的条带信息作为第二条带信息,并发送给元数据服务器,元数据服务器中添加新正常条带5、新正常条带6和新正常条带7的条带信息,另外,删除原条带1的条带信息、条带2的条带信息、条带3的条带信息和条带4的条带信息。另外,流式数据依据流式对象数据的元数据进行读取,在重新构建了条带后,存储流式数据的数据块和对应的条带发生了变化,因此,为了保证对流式数据读取,元数据服务器在获取到第二条带信息后,还应更新流式对象数据的元数据。应用上述实施例,存储服务器从元数据服务器中获取至少一条损坏条带的第一条带信息,该第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据,按照正常块中存储的流式数据所属的流式对象数据,对正常块的标识对应的正常块进行分组,进而构建至少一条新正常条带,并将第二条带信息发送给元数据服务器,元数据服务器添加第二条带信息。可见,本发明实施例中,当损坏条带对应的正常块再损坏时,因该损坏条带对应的正常块再次重新构建了新正常条带,而该新正常条带对应的数据块都为正常块,因此可以根据该新正常条带的信息,对再损坏的正常块中存储的流式数据进行修复,进而使得损坏条带对应的正常数据块再损坏时,该再损坏的正常数据块中存储的流式数据能够被修复。参考图6,图6为本发明实施例提供的另一种信息处理方法的一种流程示意图,应用于元数据服务器,该方法包括:s601:将至少一条损坏条带的条带信息发送给存储服务器;这种情况下,存储服务器就可以将这至少一条损坏条带的条带信息作为第一条带信息,其中,第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;将正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对第一数据块进行分组;构建针对每组第一数据块的至少一条新正常条带。在本发明的一个实施例中,存储服务器获取的损坏条带的条带信息可以为:元数据服务器中当前存储的所有损坏条带的条带信息。一般的,元数据服务器可以定时地将当前存储的所有损坏条带的条带信息发送给存储服务器,也可以在该元数据服务器中存储了预设数量个损坏条带的条带信息时,则将当前存储的这预设数量个损坏条带的条带信息都发送给存储服务器。在本发明的一个实施例中,参考图7,在图6的基础上,每个条带对应n个数据块和m个校验块,其中,n和m为正整数,在将至少一条损坏条带的条带信息发送给存储服务器之前,上述信息处理方法还可以包括:s701:接收存储服务器发送的坏块的标识;一般的,存储服务器可以定时地检测本地是否存在坏块,当检测到存在时,将坏块的标识发送给元数据服务器。s702:确定坏块的标识对应的正常条带的条带信息;s703:将正常条带的条带信息中坏块的标识对应的正常块标记为坏块;s704:当正常条带的条带信息中标记为坏块的正常块的个数大于m时,将正常条带的条带信息更新为损坏条带的条带信息。s602:接收存储服务器发送的第二条带信息;该第二条带信息为至少一条新正常条带的条带信息;s603:存储第二条带信息。另外,为了保证该再损坏的正常数据块中存储的流式数据能够被准确地修复,避免一个正常数据块对应多个条带信息,元数据服务器在接收到第二条带信息后,还可以删除第一条带信息。应用上述实施例,存储服务器从元数据服务器中获取至少一条损坏条带的第一条带信息,该第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据,按照正常块中存储的流式数据所属的流式对象数据,对正常块的标识对应的数据块进行分组,进而构建至少一条新正常条带,并将第二条带信息发送给元数据服务器,元数据服务器添加第二条带信息。可见,本发明实施例中,当损坏条带对应的正常块再损坏时,因该损坏条带对应的正常块再次重新构建了新正常条带,而该新正常条带的数据块都为正常块,因此可以根据该新正常条带的信息,对再损坏的正常块中存储的流式数据进行修复,进而保证了损坏条带对应的数据块再损坏时,该再损坏的数据块中存储的流式数据的修复。参考图8,图8为本发明实施例提供的一种信息处理装置的一种结构示意图,应用于存储服务器,所述装置包括:第一信息获取单元801,用于从元数据服务器中获取至少一条损坏条带的条带信息,将所述至少一条损坏条带的条带信息作为第一条带信息;所述第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;块分组单元802,用于将所述正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组;条带构建单元803,用于构建针对每组第一数据块的至少一条新正常条带;第二信息获取单元804,用于获取所述至少一条新正常条带的条带信息,将所述至少一条新正常条带的条带信息作为第二条带信息;信息发送单元805,用于将所述第二条带信息发送给所述元数据服务器,以使所述元数据服务器添加所述第二条带信息。在本发明的其他实施例中,参考图9,在图8的基础上,所述装置还可以包括:块检测单元901,用于在从元数据服务器中获取至少一条损坏条带的条带信息之前,检测本地是否存在坏块;标识发送单元902,用于在所述块检测单元901的检测结果为是的情况下,将所述坏块的标识发送给所述元数据服务器,以使所述元数据服务器根据所述坏块的标识更新正常条带的条带信息和损坏条带的条带信息。在本发明的其他实施例中,所述第一信息获取单元801,具体可以用于:接收所述元数据服务器发送的当前存储的预设数量个损坏条带的条带信息;或,接收所述元数据服务器定时发送的当前存储的所有损坏条带的条带信息。在本发明的其他实施例中,所述第一条带信息还可以包括:正常块中存储的流式数据在流式对象数据中偏移量;这种情况下,所述装置还可以包括:块排序单元(图8中未示出),用于在按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组之后,按照正常块中存储的流式数据在流式对象数据中偏移量从小到大的顺序,对每组第一数据块中的第一数据块进行排序。在本发明的其他实施例中,每个条带对应n个数据块和m个校验块,其中,n和m为正整数;所述条带构建单元803,具体可以用于:对于每组第一数据块,对该组第一数据块中排序后的第一数据块,从前至后,依次对每n个第一数据块中存储的流式数据进行纠删码计算,获得m个校验块的检验数据;由每n个第一数据块和该n个第一数据块对应的m个校验块,构建新正常条带;当该组第一数据块中剩余s个第一数据块时,获取n-s个预设数据块;由所述s个第一数据块和所述n-s个预设数据块组成n个正常块;对所述s个第一数据块中存储的流式数据和所述n-s个预设数据块中存储的数据进行纠删码计算,获得m个校验块的检验数据,由所述s个第一数据块与所述n-s个预设数据块对应的m个校验块、所述s个第一数据块和所述n-s个预设数据块,构建新正常条带,其中,s为正整数,s<n。在本发明的其他实施例中,所述装置还可以包括:存储拒绝单元(图8中未示出),用于拒绝将所述n-s个预设数据块中的数据存储至所述存储服务器。应用上述实施例,存储服务器从元数据服务器中获取至少一条损坏条带的第一条带信息,该第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据,按照正常块中存储的流式数据所属的流式对象数据,对正常块的标识对应的正常块进行分组,进而构建至少一条新正常条带,并将第二条带信息发送给元数据服务器,元数据服务器添加第二条带信息。可见,本发明实施例中,当损坏条带对应的正常块再损坏时,因该损坏条带对应的正常块再次重新构建了新正常条带,而该新正常条带对应的数据块都为正常块,因此可以根据该新正常条带的信息,对再损坏的正常块中存储的流式数据进行修复,进而使得损坏条带对应的正常数据块再损坏时,该再损坏的正常数据块中存储的流式数据能够被修复。参考图10,图10为本发明实施例提供的另一种信息处理装置的一种结构示意图,应用于元数据服务器,所述装置包括:信息发送单元1001,用于将至少一条损坏条带的条带信息发送给存储服务器,以使所述存储服务器将所述至少一条损坏条带的条带信息作为第一条带信息,所述第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据;将所述正常块的标识对应的正常块作为第一数据块,按照正常块中存储的流式数据所属的流式对象数据,对所述第一数据块进行分组;构建针对每组第一数据块的至少一条新正常条带;信息接收单元1002,用于接收所述存储服务器发送的第二条带信息;所述第二条带信息为所述至少一条新正常条带的条带信息;信息存储单元1003,用于存储所述第二条带信息。在本发明的其他实施例中,每个条带对应n个数据块和m个校验块,其中,n和m为正整数;这种情况下,参考图11,在图10的基础上,所述装置还可以包括:标识接收单元1101,用于在将至少一条损坏条带的条带信息发送给存储服务器之前,接收所述存储服务器发送的坏块的标识;信息确定单元1102,用于确定所述坏块的标识对应的正常条带的条带信息;块标记单元1103,用于将所述正常条带的条带信息中所述坏块的标识对应的正常块标记为坏块;信息更新单元1104,用于当所述正常条带的条带信息中标记为坏块的正常块的个数大于m时,将所述正常条带的条带信息更新为损坏条带的条带信息。在本发明的其他实施例中,所述信息发送单元1001,具体可以用于:当所述元数据服务器中当前存储了预设数量个损坏条带的条带信息时,将所有所述损坏条带的条带信息发送给存储服务器;或,定时将当前存储的所有损坏条带的条带信息发送给存储服务器。在本发明的其他实施例中,所述装置还包括:信息删除单元(图10中未示出),用于在存储所述第二条带信息之后,删除所述第一条带信息。应用上述实施例,存储服务器从元数据服务器中获取至少一条损坏条带的第一条带信息,该第一条带信息包括:正常块的标识和正常块中存储的流式数据所属的流式对象数据,按照正常块中存储的流式数据所属的流式对象数据,对正常块的标识对应的正常块进行分组,进而构建至少一条新正常条带,并将第二条带信息发送给元数据服务器,元数据服务器添加第二条带信息。可见,本发明实施例中,当损坏条带对应的正常块再损坏时,因该损坏条带对应的正常块再次重新构建了新正常条带,而该新正常条带对应的数据块都为正常块,因此可以根据该新正常条带的信息,对再损坏的正常块中存储的流式数据进行修复,进而使得损坏条带对应的正常数据块再损坏时,该再损坏的正常数据块中存储的流式数据能够被修复。对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1