一种数据更新方法、装置、电子设备及存储介质与流程

文档序号:21722164发布日期:2020-08-05 01:12阅读:109来源:国知局
一种数据更新方法、装置、电子设备及存储介质与流程
本申请涉及存储
技术领域
,特别涉及一种数据更新方法、装置、一种电子设备及一种存储介质。
背景技术
:随着超融合架构的兴起,分布式存储技术已经成为常见的数据存储技术,基于分布式存储技术存储数据能够提高数据的安全性和可靠性,符合大数据的数据存储需求。分布式存储系统中的节点之间通过网络进行连接,每一个节点下都包括一定数量的硬盘,待存储的数据可以通过网络传输到冗余组中不同的节点,进而写入到不同节点的硬盘。当网络出现异常或节点出现异常时,无法将待存储的数据写入对应的硬盘,导致冗余数据的数量减少,分布式存储系统的数据可靠性下降。因此,如何避免分布式存储系统异常对于数据冗余度的影响,提高数据可靠性是本领域技术人员目前需要解决的技术问题。技术实现要素:本申请的目的是提供一种数据更新方法、装置、一种电子设备及一种存储介质,能够避免分布式存储系统异常对于数据冗余度的影响,提高数据可靠性。为解决上述技术问题,本申请提供一种数据更新方法,该数据更新方法包括:接收目标数据的更新写指令,确定分布式存储系统中与所述目标数据对应的目标硬盘;将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘;从所述分布式存储系统中选择工作状态正常的备选硬盘;其中,所述备选硬盘与工作状态正常的目标硬盘不为同一存储节点中的硬盘;将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组,并对所述冗余硬盘组执行所述更新写指令对应的更新写操作。可选地,还包括:获取所述分布式存储系统中存储节点的节点状态;获取所述存储节点中硬盘的硬盘状态;根据所述节点状态和所述硬盘状态更新硬盘工作状态表;其中,所述硬盘工作状态表存储节点名称、硬盘名称和硬盘工作状态的对应关系;在将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘之前,还包括:根据所述硬盘工作状态表查询所述目标硬盘的硬盘工作状态。可选地,根据所述节点状态和所述硬盘状态更新硬盘工作状态表,包括:根据所述存储节点的节点状态判断所述存储节点是否存在网络异常或节点异常;若是,则将所述存储节点中所有硬盘的硬盘工作状态设置为工作状态异常;若否,则判断所述存储节点中的硬盘是否为异常硬盘;若为所述异常硬盘,则将所述硬盘的硬盘工作状态设置为工作状态异常;若不为所述异常硬盘,则将所述硬盘的硬盘工作状态设置为工作状态正常;其中,所述异常硬盘包括存在硬盘故障的第一类硬盘和硬盘剩余寿命小于设定值的第二类硬盘。可选地,还包括:将所述目标数据的元数据信息中所述异常硬盘的物理地址替换为所述备选硬盘的物理地址;对所述冗余硬盘组执行所述更新写指令对应的更新写操作包括:根据所述元数据信息查询所述冗余硬盘组中每一硬盘的物理地址;根据所述更新写指令对所述冗余硬盘组中每一硬盘的物理地址执行相应的更新写操作。可选地,在对所述冗余硬盘组执行所述更新写指令对应的更新写操作之后,还包括:向所述异常硬盘所在的存储节点发送空间释放指令,以便删除所述异常硬盘中所述目标数据的副本数据或仲裁数据。可选地,还包括:接收新数据写入指令,从所述分布式存储系统中选择m个所述存储节点作为新冗余组节点,从每一所述冗余组节点所包括的硬盘中选取一个工作状态正常的硬盘作为新冗余组硬盘;对所述新冗余组硬盘执行所述新数据写入指令对应的数据写操作。可选地,从所述分布式存储系统中选择工作状态正常的备选硬盘,包括:将工作状态正常的目标硬盘所在的存储节点设置为第一类存储节点,将所述分布式存储系统中除所述第一类存储节点之外的存储节点设置为第二类存储节点;获取所述第二类存储节点中所有工作状态正常硬盘的硬盘信息,并根据所述硬盘信息计算硬盘得分;其中,所述硬盘信息包括剩余存储空间、剩余硬盘寿命、硬盘种类、硬盘吞吐率中任一项或任几项的组合;将每一所述第二类存储节点中硬盘得分最高的硬盘作为优选硬盘;根据所述硬盘得分对确定所述优选硬盘的优先级信息;其中,所述优选硬盘的硬盘得分越大优先级越高;根据所述优先级信息将优先级前n位的优选硬盘设置为所述备选硬盘;其中,n为所述异常硬盘的数量。可选地,所述目标硬盘包括副本硬盘和/或仲裁硬盘;所述备选硬盘的数量与所述异常硬盘的数量相同。本申请还提供了一种数据更新装置,该数据更新装置包括:硬盘确定模块,用于接收目标数据的更新写指令,确定分布式存储系统中与所述目标数据对应的目标硬盘;异常标记模块,用于将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘;备选硬盘选择模块,用于从所述分布式存储系统中选择工作状态正常的备选硬盘;其中,所述备选硬盘与工作状态正常的目标硬盘不为同一存储节点中的硬盘;更新模块,用于将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组,并对所述冗余硬盘组执行所述更新写指令对应的更新写操作。本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据更新方法执行的步骤。本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据更新方法执行的步骤。本申请提供了一种数据更新方法,包括接收目标数据的更新写指令,确定分布式存储系统中与所述目标数据对应的目标硬盘;将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘;从所述分布式存储系统中选择工作状态正常的备选硬盘;其中,所述备选硬盘与工作状态正常的目标硬盘不为同一存储节点中的硬盘;将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组,并对所述冗余硬盘组执行所述更新写指令对应的更新写操作。本申请在接收到目标数据的更新写指令后,先确定分布式存储系统中与目标数据对应的目标硬盘,即副本硬盘和/或仲裁硬盘。当目标硬盘的工作状态异常时,无法对异常硬盘执行更新写操作,本申请从分布式存储系统中选择用于替代异常硬盘的备选硬盘,备选硬盘与工作状态正常的目标硬盘分别属于不同的存储节点。通过对包括工作状态正常的目标硬盘与备选硬盘执行更新写操作,能够保持目标数据的冗余度不变。因此,本申请能够避免分布式存储系统异常对于数据冗余度的影响,提高数据可靠性。本申请同时还提供了一种数据更新装置、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例所提供的一种分布式存储系统的结构示意图;图2为本申请实施例所提供的一种数据更新方法的流程图;图3为本申请实施例所提供的一种硬盘工作状态检测方法的流程图;图4为本申请实施例所提供的一种硬盘故异常前元数据信息记录的原理示意图;图5为本申请实施例所提供的一种硬盘故异常后元数据信息记录的原理示意图;图6为本申请实施例所提供的一种备选硬盘的选择方法的流程图;图7为本申请实施例所提供的一种数据更新装置的结构示意图;图8为本申请实施例所提供的一种电子设备的结构示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了便于理解本申请的数据更新方法,下面对于本申请的数据更新方法所适用的应用场景进行介绍。参见图1,图1为本申请实施例所提供的一种分布式存储系统的结构示意图。如图1所示,本申请实施例提供的分布式存储系统包括:主节点a、存储节点b1、存储节点b2、存储节点b3和存储节点b4,存储节点b1包括硬盘001和硬盘002,存储节点b2包括硬盘003和硬盘004,存储节点b3包括硬盘005和硬盘006,存储节点b4包括硬盘007和硬盘008。若分布式存储系统的一个冗余组包括2个副本数据和1个仲裁数据,当主节点a接收到待存储数据后可以将待存储数据的副本数据存储至存储节点b1的硬盘001和存储节点b2的硬盘003,将待存储数据的仲裁数据存储至存储节点b3的硬盘006。若存储节点b3因网络故障断开连接,无法写入仲裁数据,则可以将仲裁数据写入存储节点b4的硬盘007中。待存储数据可以为客户端c向分布式存储系统传输的数据。上述方式通过重新分配一块新的存储空间进行写入,确保新写入的数据写入了完整的冗余数据,不会因为某节点或某硬盘不可访问,而少写入冗余数据导致数据可靠性下降。下面请参见图2,图2为本申请实施例所提供的一种数据更新方法的流程图。具体步骤可以包括:s101:接收目标数据的更新写指令,确定分布式存储系统中与目标数据对应的目标硬盘。其中,本实施例可以应用于分布式存储系统中,分布式存储系统中的主节点可以接收更新写执行,并将更新写指令转发至对应的存储节点,以便存储节点执行更新写操作。更新写指令为对已存储的数据进行更新的操作,在本步骤之前目标数据在分布式存储系统中已经存储有目标数据,在接收到更新写指令之后需要对原先已存储的目标数据执行更新写操作。分布式存储系统中通过冗余组的形式存储目标数据,即分布式存储系统接收到目标数据后,可以将在副本硬盘中存储目标数据的副本数据,在仲裁硬盘存储目标数据仲裁数据。副本数据即目标数据本身,仲裁数据可以为目标数据的校验码,根据仲裁数据能够恢复副本数据。例如,冗余组包括2份副本数据和1份仲裁数据,任意一块用户数据都会保存2份副本数据和1份仲裁数据共3份数据。在分布式存储系统首次存储目标数据时,可以预先存储目标数据与目标硬盘的对应关系。作为一种可行的实施方式,本实施例中的目标硬盘均为不同节点下的硬盘,进而提高数据的可靠性。在接收到目标数据的更新写指令之后,本实施例可以根据预先存储的目标数据与目标硬盘的对应关系查询目标硬盘,具体的可以查询目标硬盘的硬盘名称和物理地址。目标硬盘可以包括用于存储副本数据的副本硬盘和用于存储仲裁数据的仲裁硬盘,当分布式存储系统中不设置仲裁冗余时,目标硬盘可以包括副本硬盘。s102:将目标硬盘中工作状态异常的硬盘标记为异常硬盘。其中,在本步骤之前本实施例可以存在查询目标硬盘的工作状态的操作,目标硬盘的工作状态可以包括工作状态正常和工作状态异常。具体的,导致目标硬盘工作状态异常的原因可以为硬盘所在节点异常,也可以为硬盘自身异常。具体的,硬盘所在节点异常可以为节点网络断开,也可以为节点故障;硬盘自身异常可以为硬盘故障,也可以为硬盘亚健康(如硬盘剩余寿命不足)。当目标硬盘工作状态异常时,无法向目标硬盘写入数据。目标硬盘的数量可以为任意数量,因此本实施例可以将任意数量的目标硬盘标记为异常硬盘。本步骤建立在目标硬盘中包括异常硬盘的前提下执行,当目标硬盘中不包括异常硬盘则可以直接对所有目标硬盘执行所述更新写指令对应的更新写操作。s103:从分布式存储系统中选择工作状态正常的备选硬盘。在确定了异常硬盘的基础上,本实施例从分布式存储系统中选择选择工作状态正常的备选硬盘,以便替代异常硬盘写入数据,保持目标数据冗余度不变。为了保证数据的可靠性,备选硬盘与工作状态正常的目标硬盘不为同一存储节点中的硬盘,所述备选硬盘的数量与所述异常硬盘的数量相同。可以理解的是,任意两个备选硬盘不为同一存储节点中的硬盘。作为一种可行的实施方式,在备选硬盘满足上述条件下,可以优先选择性能较优的硬盘作为备选硬盘。s104:将备选硬盘与工作状态正常的目标硬盘设置为目标数据的冗余硬盘组,并对冗余硬盘组执行更新写指令对应的更新写操作。其中,在确定用于替换异常硬盘的备选硬盘后,本实施例可以将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组,并对所述冗余硬盘组执行所述更新写指令对应的更新写操作。由于备选硬盘的存在,能够保持目标数据的冗余度不变,避免节点异常或硬盘异常对于数据可靠性的影响。本实施例在接收到目标数据的更新写指令后,先确定分布式存储系统中与目标数据对应的目标硬盘,即副本硬盘和/或仲裁硬盘。当目标硬盘的工作状态异常时,无法对异常硬盘执行更新写操作,本实施例从分布式存储系统中选择用于替代异常硬盘的备选硬盘,备选硬盘与工作状态正常的目标硬盘分别属于不同的存储节点,且备选硬盘的数量与异常硬盘的数量相同。通过对包括工作状态正常的目标硬盘与备选硬盘执行更新写操作,能够保持目标数据的冗余度不变。因此,本实施例能够避免分布式存储系统异常对于数据冗余度的影响,提高数据可靠性。下面请参见图3,图3为本申请实施例所提供的一种硬盘工作状态检测方法的流程图,可以将本实施例与图2对应的实施例相结合得到进一步的实施方式,本实施例可以包括以下步骤:s201:获取所述分布式存储系统中存储节点的节点状态。s202:获取所述存储节点中硬盘的硬盘状态。s203:根据所述节点状态和所述硬盘状态更新硬盘工作状态表。其中,本实施例可以按照预设周期获取节点状态和硬盘状态,在得到新的节点状态和硬盘状态后可以对硬盘工作状态表执行更新操作。作为一种可行的实施方式,根据所述节点状态和所述硬盘状态更新硬盘工作状态表包括:根据所述存储节点的节点状态判断所述存储节点是否存在网络异常或节点异常;若是,则将所述存储节点中所有硬盘的硬盘工作状态设置为工作状态异常;若否,则判断所述存储节点中的硬盘是否为异常硬盘;若为所述异常硬盘,则将所述硬盘的硬盘工作状态设置为工作状态异常;若不为所述异常硬盘,则将所述硬盘的硬盘工作状态设置为工作状态正常;其中,所述异常硬盘包括存在硬盘故障的第一类硬盘和硬盘剩余寿命小于设定值的第二类硬盘。请参见表1,表1为硬盘工作状态表,硬盘工作状态表中可以存储节点名称、硬盘名称和硬盘工作状态的对应关系。表1硬盘工作状态表存储节点名称硬盘名称硬盘工作状态host-adisk-1工作状态正常host-adisk-2工作状态正常host-bdisk-3工作状态异常host-cdisk-4工作状态正常进一步的,若将本实施例与图1对应的实施例相结合,在将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘之前,还可以根据所述硬盘工作状态表查询所述目标硬盘的硬盘工作状态。本实施例可以实时监控分布式存储系统中硬盘的工作状态,使整个冗余组的所有数据都被完整写入,不会因为异常少写入冗余信息,导致数据可靠性下降。作为对于图2对应实施例的进一步补充,在对所述冗余硬盘组执行所述更新写指令对应的更新写操作之后,还可以将所述目标数据的元数据信息中所述异常硬盘的物理地址替换为所述备选硬盘的物理地址。上述方式通过元数据信息记录下每个数据的物理地址,从而达到获取每个数据原存储位置的目的。当需要执行更新写操作时,若选择备选硬盘替代异常硬盘还可以更改元数据信息,使之指向新的物理地址,以达到正确寻址的目的。请参见图4、图5,图4为本申请实施例所提供的一种硬盘故异常前元数据信息记录的原理示意图,图5为本申请实施例所提供的一种硬盘故异常后元数据信息记录的原理示意图。目标数据0x002000的多个副本保存在a、b、c三台物理主机上,若主机a离线,目标数据就有一个副本处于离线状态。若此时上层应用要更新写0x00200这个目标数据,则重新分配新的存储空间,用来写入新数据,并修改元数据记录,让这个数据块指向新的物理地址,即指向主机d的硬盘disk1的物理地址。上述实施方式能够避免分布式存储单台主机离线场景下副本数据不一致的问题。在未采用本发明所述技术的情况下,若一台主机离线后,这台主机上的副本就变成不一致状态,当这台主机恢复后,就需要重新将这个不一致的副本同步成一致状态,在同步完成之前这些数据块都少一个副本,处于降级状态。而采用本发明所述技术后,当主机离线后,新写入的数据都重新分配存储空间,并且会避开不可用的主机和硬盘,保证所有新写入的数据都是完整的,离线的主机恢复后,没有不一致的数据。进一步的,若图2对应的实施例利用元数据信息记录目标数据实际存储的物理地址,s104中对所述冗余硬盘组执行所述更新写指令对应的更新写操作可以为:根据所述元数据信息查询所述冗余硬盘组中每一硬盘的物理地址;根据所述更新写指令对所述冗余硬盘组中每一硬盘的物理地址执行相应的更新写操作。作为对于图2对应实施例的进一步补充,在对所述冗余硬盘组执行所述更新写指令对应的更新写操作之后,还可以向所述异常硬盘所在的存储节点发送空间释放指令,以便删除所述异常硬盘中所述目标数据的副本数据或仲裁数据。若异常硬盘所在的节点网络存在异常,则可以在该节点为网络恢复后发送空间释放指令。作为对于图2对应实施例的进一步补充,当接收新数据写入指令时,可以从所述分布式存储系统中选择m个所述存储节点作为新冗余组节点,从每一所述冗余组节点所包括的硬盘中选取一个工作状态正常的硬盘作为新冗余组硬盘;对所述新冗余组硬盘执行所述新数据写入指令对应的数据写操作。m为大于1的整数。请参见图6,图6为本申请实施例所提供的一种备选硬盘的选择方法的流程图,本实施例是对图2对应实施例中s103的进一步介绍,可以将本实施例与图2对应的实施例相结合得到进一步的实施方式,本实施例可以包括以下步骤:s301:将工作状态正常的目标硬盘所在的存储节点设置为第一类存储节点,将分布式存储系统中除第一类存储节点之外的存储节点设置为第二类存储节点。其中,本实施例将中工作状态正常目标硬盘所在的节点设置为第一类存储节点,将但不包括工作状态正常的目标硬盘的节点设置为第二类存储节点,可以从第二类存储节点所包括的硬盘中选择备选硬盘。s302:获取第二类存储节点中所有工作状态正常硬盘的硬盘信息,并根据硬盘信息计算硬盘得分。其中,上述提到的硬盘信息可以包括剩余存储空间、剩余硬盘寿命、硬盘种类、硬盘吞吐率等硬盘性能参数,本申请可以根据每一类硬盘信息及其对应的权重值计算硬盘得分。s303:将每一第二类存储节点中硬盘得分最高的硬盘作为优选硬盘。其中,本步骤中选择优选硬盘的操作的目的是从每一个第二类存储节点中选择一个硬盘性能最优的硬盘,为了保证数据存储的可靠性,本实施例可以选择硬盘得分最高的硬盘作为优选硬盘。本步骤的操作相当于进行存储节点内的硬盘之间进行比较确定优选硬盘的操作。s304:根据硬盘得分对确定优选硬盘的优先级信息。其中,所述优选硬盘的硬盘得分越大优先级越高;s305:根据优先级信息将优先级前n位的优选硬盘设置为备选硬盘。其中,本步骤相当于执行存储节点之间的优选硬盘的比较的过程,根据优先级信息将优先级前n位的优选硬盘设置为所述备选硬盘,n为异常硬盘的数量。在本实施例中首先将每一第二存储节点中硬盘得分最高的作为优选硬盘,再根据所有优选硬盘的硬盘得分进行优先级排序,将优先级前n位(即硬盘得分前n位)的硬盘设置为备选硬盘。通过上述备选硬盘的选择方法能够优先选择存储性能较优的硬盘作为备选硬盘,提高了数据存储和数据更新的效率。请参见图7,图7为本申请实施例所提供的一种数据更新装置的结构示意图;该装置可以包括:硬盘确定模块100,用于接收目标数据的更新写指令,确定分布式存储系统中与所述目标数据对应的目标硬盘;其中,所述目标硬盘包括副本硬盘和/或仲裁硬盘;异常标记模块200,用于将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘;备选硬盘选择模块300,用于从所述分布式存储系统中选择工作状态正常的备选硬盘;其中,所述备选硬盘与工作状态正常的目标硬盘不为同一存储节点中的硬盘,所述备选硬盘的数量与所述异常硬盘的数量相同;更新模块400,用于将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组,并对所述冗余硬盘组执行所述更新写指令对应的更新写操作。本实施例在接收到目标数据的更新写指令后,先确定分布式存储系统中与目标数据对应的目标硬盘,即副本硬盘和/或仲裁硬盘。当目标硬盘的工作状态异常时,无法对异常硬盘执行更新写操作,本实施例从分布式存储系统中选择用于替代异常硬盘的备选硬盘,备选硬盘与工作状态正常的目标硬盘分别属于不同的存储节点,且备选硬盘的数量与异常硬盘的数量相同。通过对包括工作状态正常的目标硬盘与备选硬盘执行更新写操作,能够保持目标数据的冗余度不变。因此,本实施例能够避免分布式存储系统异常对于数据冗余度的影响,提高数据可靠性。进一步的,还包括:节点状态获取模块,用于获取所述分布式存储系统中存储节点的节点状态;硬盘状态获取模块,用于获取所述存储节点中硬盘的硬盘状态;状态表更新模块,用于根据所述节点状态和所述硬盘状态更新硬盘工作状态表;其中,所述硬盘工作状态表存储节点名称、硬盘名称和硬盘工作状态的对应关系;还包括:工作状态查询模块,用于在将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘之前,根据所述硬盘工作状态表查询所述目标硬盘的硬盘工作状态。进一步的,状态表更新模块用于根据所述存储节点的节点状态判断所述存储节点是否存在网络异常或节点异常;若是,则将所述存储节点中所有硬盘的硬盘工作状态设置为工作状态异常;若否,则判断所述存储节点中的硬盘是否为异常硬盘;若为所述异常硬盘,则将所述硬盘的硬盘工作状态设置为工作状态异常;若不为所述异常硬盘,则将所述硬盘的硬盘工作状态设置为工作状态正常;其中,所述异常硬盘包括存在硬盘故障的第一类硬盘和硬盘剩余寿命小于设定值的第二类硬盘。进一步的,还包括:元数据更新模块,用于将所述目标数据的元数据信息中所述异常硬盘的物理地址替换为所述备选硬盘的物理地址;更新模块400包括:冗余硬盘组设置单元,用于将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组;物理地址查询单元,用于根据所述元数据信息查询所述冗余硬盘组中每一硬盘的物理地址;更新写单元,用于根据所述更新写指令对所述冗余硬盘组中每一硬盘的物理地址执行相应的更新写操作。进一步的,还包括:空间释放模块,用于在对所述冗余硬盘组执行所述更新写指令对应的更新写操作之后,向所述异常硬盘所在的存储节点发送空间释放指令,以便删除所述异常硬盘中所述目标数据的副本数据或仲裁数据。进一步的,还包括:新数据写入模块,用于接收新数据写入指令,从所述分布式存储系统中选择m个所述存储节点作为新冗余组节点,从每一所述冗余组节点所包括的硬盘中选取一个工作状态正常的硬盘作为新冗余组硬盘;还用于对所述新冗余组硬盘执行所述新数据写入指令对应的数据写操作。进一步的,备选硬盘选择模块300包括:节点设置单元,用于将工作状态正常的目标硬盘所在的存储节点设置为第一类存储节点,将所述分布式存储系统中除所述第一类存储节点之外的存储节点设置为第二类存储节点;硬盘得分计算单元,用于获取所述第二类存储节点中所有工作状态正常硬盘的硬盘信息,并根据所述硬盘信息计算硬盘得分;其中,所述硬盘信息包括剩余存储空间、剩余硬盘寿命、硬盘种类、硬盘吞吐率中任一项或任几项的组合;优选硬盘确定单元,用于将每一所述第二类存储节点中硬盘得分最高的硬盘作为优选硬盘;优先级确定单元,用于根据所述硬盘得分对确定所述优选硬盘的优先级信息;其中,所述优选硬盘的硬盘得分越大优先级越高;硬盘选择单元,用于根据所述优先级信息将优先级前n位的优选硬盘设置为所述备选硬盘;其中,所述异常硬盘的数量为n。由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。请参见图8,图8为本申请实施例所提供的一种电子设备的结构示意图,本实施例的电子设备可以包括:处理器2101和存储器2102。可选地,该电子设备还可以包括通信接口2103、输入单元2104和显示器2105和通信总线2106。处理器2101、存储器2102、通信接口2103、输入单元2104、显示器2105、均通过通信总线2106完成相互间的通信。在本申请实施例中,该处理器2101,可以为中央处理器(centralprocessingunit,cpu),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。该处理器可以调用存储器2102中存储的程序。具体的,处理器可以执行以下数据更新方法的实施例中电子设备侧所执行的操作。存储器2102中用于存放一个或者一个以上程序,程序可以包括程序代码,所述程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:接收目标数据的更新写指令,确定分布式存储系统中与所述目标数据对应的目标硬盘;其中,所述目标硬盘包括副本硬盘和/或仲裁硬盘;将所述目标硬盘中工作状态异常的硬盘标记为异常硬盘;从所述分布式存储系统中选择工作状态正常的备选硬盘;其中,所述备选硬盘与工作状态正常的目标硬盘不为同一存储节点中的硬盘,所述备选硬盘的数量与所述异常硬盘的数量相同;将所述备选硬盘与工作状态正常的目标硬盘设置为所述目标数据的冗余硬盘组,并对所述冗余硬盘组执行所述更新写指令对应的更新写操作。在一种可能的实现方式中,该存储器2102可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如话题检测功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据。此外,存储器2102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。该通信接口2103可以为通信模块的接口,如gsm模块的接口。本申请还可以包括显示器2105和输入单元2104等等。图8所示的电子设备的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图8所示的更多或更少的部件,或者组合某些部件。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1