CN111400241A - 数据重构方法和装置 - Google Patents

数据重构方法和装置 Download PDF

Info

Publication number
CN111400241A
CN111400241A CN201911112045.7A CN201911112045A CN111400241A CN 111400241 A CN111400241 A CN 111400241A CN 201911112045 A CN201911112045 A CN 201911112045A CN 111400241 A CN111400241 A CN 111400241A
Authority
CN
China
Prior art keywords
reconstruction
resource
information
current
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911112045.7A
Other languages
English (en)
Other versions
CN111400241B (zh
Inventor
苏霞
夏伟强
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201911112045.7A priority Critical patent/CN111400241B/zh
Publication of CN111400241A publication Critical patent/CN111400241A/zh
Application granted granted Critical
Publication of CN111400241B publication Critical patent/CN111400241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据重构方法和装置,其中,该方法包括:获取重构任务,该重构任务携带待重构的条带信息,根据待重构的条带信息和当前节点的资源使用信息确定重构任务的重构速度,并且利用待重构的条带信息以该重构速度执行重构任务。该技术方案中,重构任务的重构速度是基于当前节点的资源使用信息确定的,既避免了当前节点的空闲资源多而出现的资源浪费问题,也解决了当前节点的空闲资源少而导致的系统不稳定问题。

Description

数据重构方法和装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据重构方法和装置。
背景技术
云存储系统是一种网络存储系统,其通过集群应用、网络技术或分布式文件系统等功能,可以将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能。
在现有的云存储系统中,元数据和元数据的校验数据可以采用纠删码(erasurecodes,EC)条带的方式进行存储。例如,对于N个元数据块,其对应的校验数据可以是由元数据和预设的算法生成的M个校验块。因而,当EC条带中有小于或等于M个数据块损坏时,可以通过数据重构的方式,即由N个元数据恢复出损坏的数据块,以保证数据的完整性和安全性,其中,N和M均为正整数。
然而,在现有云存储系统中,数据重构速度通常是在确定数据重构时确定的,其在数据重构的过程中是一个定值,随着云存储系统中业务的进行,可能存在系统不稳定或资源浪费的问题。
发明内容
本申请提供一种数据重构方法和装置,以解决现有云存储系统的数据并发性读取性能低的问题。
本申请第一方面提供的一种数据重构方法,包括:
获取重构任务,所述重构任务携带待重构的条带信息;
根据所述待重构的条带信息和当前节点的资源使用信息确定所述重构任务的重构速度;
利用所述待重构的条带信息以所述重构速度执行所述重构任务。
在第一方面的一种可能设计中,所述方法还包括:
在所述重构任务执行的过程中,周期性检测所述当前节点的当前资源使用信息;
根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度。
在第一方面的上述可能设计中,所述根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度,包括:
根据所述重构速度的理论资源使用率和预设的资源变化量,确定所述资源变动范围;
判断所述当前资源使用信息是否位于所述资源变动范围内;
若是,则保持所述重构速度不变;
若否,则基于所述当前资源使用信息和所述重构速度的资源理论使用率,更新所述重构速度。
可选的,所述当前节点的资源使用信息包括如下信息中的至少一种:
处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息。
在第一方面的上述可能设计中,所述当前节点的资源使用信息包括:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息,所述基于所述当前资源使用信息和所述重构速度的理论资源使用率,更新所述重构速度,包括:
根据所述处理资源的当前使用信息和所述重构速度对应的处理资源理论使用率,确定所述重构速度对应的第一变化量;
根据所述网络带宽资源的当前使用信息和所述重构速度对应的网络带宽资源理论使用率,确定所述重构速度对应的第二变化量;
根据所述存储资源的当前使用信息和所述重构速度对应的存储资源理论使用率,确定所述重构速度对应的第三变化量;
利用所述第一变化量、所述第二变化量和所述第三变化量中的最小变化量,更新所述重构速度。
在第一方面的另一种可能设计中,所述方法还包括:
获取所述重构任务执行结束后得到的块数据;
利用所述块数据和所述待重构的条带信息生成完整的条带信息;
将所述完整的条带信息写入工作状态正常的存储卷中。
在第一方面的再一种可能设计中,所述获取重构任务,包括:
接收管理节点发送的重构任务列表,所述重构任务列表包括至少一个重构任务;
从所述重构任务列表获取所述重构任务。
本申请第二方面提供一种数据重构装置,包括:获取模块、处理模块和执行模块;
所述获取模块,用于获取重构任务,所述重构任务携带待重构的条带信息;
所述处理模块,用于根据所述待重构的条带信息和当前节点的资源使用信息确定所述重构任务的重构速度;
所述执行模块,用于利用所述待重构的条带信息以所述重构速度执行所述重构任务。
在第二方面的一种可能设计中,所述处理模块,还用于在所述重构任务执行的过程中,周期性检测所述当前节点的当前资源使用信息,并根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度。
在第二方面的上述可能设计中,所述处理模块,具体用于根据所述重构速度的理论资源使用率和预设的资源变化量,确定所述资源变动范围,判断所述当前资源使用信息是否位于所述资源变动范围内,并在所述当前资源使用信息位于所述资源变动范围内时,保持所述重构速度不变,以及在所述当前资源使用信息未位于所述资源变动范围内时,基于所述当前资源使用信息和所述重构速度的资源理论使用率,更新所述重构速度。
可选的,所述当前节点的资源使用信息包括如下信息中的至少一种:
处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息。
在第二方面的上述可能设计中,所述当前节点的资源使用信息包括:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息,所述处理模块,还具体用于根据所述处理资源的当前使用信息和所述重构速度对应的处理资源理论使用率,确定所述重构速度对应的第一变化量,根据所述网络带宽资源的当前使用信息和所述重构速度对应的网络带宽资源理论使用率,确定所述重构速度对应的第二变化量,根据所述存储资源的当前使用信息和所述重构速度对应的存储资源理论使用率,确定所述重构速度对应的第三变化量,利用所述第一变化量、所述第二变化量和所述第三变化量中的最小变化量,更新所述重构速度。
在第二方面的另一种可能设计中,所述处理模块,还用于获取所述重构任务执行结束后得到的块数据,以及将所述块数据写入工作状态正常的存储卷中。
在第二方面的再一种可能设计中,所述获取模块,具体用于接收管理节点发送的重构任务列表,所述重构任务列表包括至少一个重构任务,从所述重构任务列表获取所述重构任务。
本申请第三方面提供一种数据重构装置,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面以及第一方面各可能设计所述的方法。
本申请第四方面提供一种存储介质,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如上述第一方面以及第一方面各可能设计所述的方法。
本申请第五方面提供一种云存储系统,包括:管理节点和至少一个存储节点;对于所述至少一个存储节点中的每个存储节点,所述存储节点,用于执行如上述第一方面以及第一方面各可能设计所述的方法。
本申请第六方面提供一种云存储系统,包括:多个存储节点,每个存储节点具有调度和管理功能;所述多个存储节点包括:具有调度、管理、存储功能的目标存储节点,所述目标存储节点,用于执行如上述第一方面以及第一方面各可能设计所述的方法。
本申请实施例提供的数据重构方法和装置,通过获取重构任务,该重构任务携带待重构的条带信息,根据待重构的条带信息和当前节点的资源使用信息确定重构任务的重构速度,并且利用待重构的条带信息以该重构速度执行重构任务。该技术方案中,重构任务的重构速度是基于当前节点的资源使用信息确定的,既避免了当前节点的空闲资源多而出现的资源浪费问题,也解决了当前节点的空闲资源少而导致的系统不稳定问题。
附图说明
图1为本申请实施例提供的数据重构方法的一种应用场景示意图;
图2为本申请实施例提供的数据重构方法的另一种应用场景示意图;
图3为本申请实施例中云存储系统的结构示意图;
图4为本申请实施例提供的数据重构方法实施例一的流程示意图;
图5为本申请实施例提供的数据重构方法实施例二的流程示意图;
图6为本申请实施例提供的数据重构方法实施例三的流程示意图;
图7为本申请实施例提供的数据重构方法实施例四的流程示意图;
图8为本申请实施例提供的数据重构方法实施例五的流程示意图;
图9为本申请实施例提供的数据重构装置实施例一的结构示意图;
图10为本申请实施例提供的数据重构装置实施例二的结构示意图;
图11为本申请实施例提供的云存储系统实施例一的结构示意图;
图12为本申请实施例提供的云存储系统实施例二的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的数据重构方法的一种应用场景示意图。如图1所示,该应用场景可以包括:云存储系统11和至少一个终端设备12。其中,云存储系统11可以包括:管理节点集群111和多个存储节点112。可选的,该管理节点集群111可以包括至少一个管理节点110。在本申请的实施例中,上述至少一个管理节点110、上述多个存储节点112以及至少一个终端设备12之间均可以相互通信。
示例性的,在图1所示的实施例中,该管理节点集群111可以包括3个管理节点110,这3个管理节点110是配置完全一致的节点,上述多个存储节点112的数量为4个,分别为存储节点1121至存储节点1124,终端设备12的数量为1个进行举例说明。本申请实施例并不限定该应用场景中管理节点集群所包括的管理节点的数量、存储节点的数量以及终端设备的数量,其可以根据实际情况确定,此处不再赘述。
示例性的,为了确保云存储系统11的稳定性,在实际应用中,该管理节点集群111可以包括多个管理节点110,在该管理节点集群111中,每个管理节点110中存储的信息是完全相同的,这是由于分布式集群技术可以使得每个管理节点之间相互有感知,并在管理节点之间实现信息的自动同步。
例如,当终端设备12向管理节点集群111发送数据处理请求时,该管理节点集群111中的每个管理节点110均可以接收并处理终端设备12发送的数据处理请求,并在该管理节点集群111中的某个管理节点对数据处理请求开始处理后,其他的管理节点会感知该管理节点的处理操作,并获取到该管理节点的处理结果。
示例性的,当终端设备12有数据处理请求时,例如,写数据或读数据,终端设备12可以向管理节点集群111中的每个管理节点发送该数据处理请求,该管理节点集群111中的一个管理节点110会根据接收到的数据处理请求确定出该数据处理请求对应的存储节点,并将该存储节点的标识发送给终端设备12,因而,该终端设备12可以根据接收到的存储节点的标识与该存储节点进行交互完成相应的数据处理操作。
可选的,在具体实施时,该管理节点集群111中的每个管理节点可以称为管理服务器,该管理服务器可以用于根据终端设备12发送的数据处理请求确定出对应的存储节点,并发送给终端设备12,实现了对存储节点的分配和管理。每个存储节点可以称为存储服务器,主要用于存储终端设备12发送的数据。该终端设备12实际上为客户端,其一般具有用户交互界面,可以接收用户输入的操作请求,并基于该操作请求与管理节点、存储节点交互,实现对应的操作。
示例性的,图2为本申请实施例提供的数据重构方法的另一种应用场景示意图。如图2所示,该应用场景可以包括:云存储系统21和至少一个终端设备22。其中,云存储系统21可以包括:多个存储节点211。在本申请的实施例中,多个存储节点211和至少一个终端设备22之间均可以相互通信。
在本实施例中,多个存储节点211中的每个存储节点均可以具有调度、管理和存储的功能。在具体应用中,采用Linux虚拟服务器(Linux virtual server,LVS)技术,从多个存储节点211中确定出作为管理和调度角色的第一存储节点2111,利用该第一存储节点2111实现与终端设备22的通信,并实现调度任务。
示例性的,在本实施例中的云存储系统中,LVS技术可以虚拟出一个IP地址(即,虚拟IP),该虚拟IP位于哪个存储节点上,哪个存储节点便可以作为第一存储节点2111,相应的,云存储系统中除该第一存储节点2111之外的存储节点可以称为第二存储节点2112。
值得说明的是,该第一存储节点2111可以同时作为调度服务器、管理服务器和存储服务器,第二存储节点2112可以同时作为管理服务器和存储服务器。
具体的,在第一存储节点2111接收到终端设备22发送的数据处理请求时,一方面,该第一存储节点2111可以作为管理服务器,直接根据该数据处理请求确定出目标存储节点;另一方面,该第一存储节点2111也可以作为调度服务器,将该数据处理请求分发给一个第二存储节点2112,由该第二存储节点2112作为管理者确定出目标存储节点;再一方面,该第一存储节点2111和第二存储节点2112均可以同时作为存储服务器用于存储数据。
当第一存储节点2111和第二存储节点2112作为管理服务器时,其实现原理可以参见上述图1所示实施例中关于管理节点的记载,当其作为存储服务器时,其实现原理可以参见上述图1所示实施例中关于存储节点的记载,此处不再赘述。
在图1或图2所示的云存储系统中,为了提升数据的安全性,每份数据存储时均可以采取纠删码(erasure codes,EC)条带存储的方案,也即,目标数据块被存储之前,首先利用目标数据块生成校验数据块,然后利用目标数据块和生成的校验数据块组成条带,最后分别对该条带中的每个数据块进行存储。
示例性的,为了保存在某个数据块损坏时,可以通过重构方式得到损坏的数据块,可以将目标数据块和校验数据块分别存储至多个存储节点中,且存储至多个存储节点的不同磁盘中。这样,当该存储数据块中有小于校验数据块数量的块损坏时,可以基于一定的算法,恢复出损坏的数据块。
例如,待存储的目标数据块为N个,N个目标数据块基于预设的EC算法生成M个校验数据块,这时,N个目标数据块和M个校验数据块组成一个条带,而且该N+M个数据块被存储至多个存储节点的不同磁盘中。在实际应用中,当存储数据块(由N个目标数据块和M个校验数据块组成)以EC条带的形式存储后,若EC条带中有小于或等于M个数据块损坏时,可以由N+M个数据块中剩下的正常数据块通过一定算法恢复出损坏的块数据,从而保障数据的完整性和安全性。
具体的,条带重构即是从云存储系统的磁盘中读取正常的数据块,然后通过EC算法计算出损坏的数据,并将计算出的损坏数据写到新的磁盘上的过程。
示例性的,为了说明本实施例中EC条带方案,下面首先对分布式云存储方案涉及的模块进行说明。图3为本申请实施例中云存储系统的结构示意图。如图3所示,该系统包含的模块包括:元数据管理(meta manager,MM)模块31、切片服务(slices serve,SS)模块32、对象存储设备(object-based storage device,OSD)模块33、条带任务(strip task,RC)模块34。
其中,MM模块31是云存储系统中元数据的管理者,主要功能可以包括:
(1)接收用户通过终端设备发送的数据处理请求,并确定出该数据处理请求对应的存储节点。
示例性的,MM模块31接收用户的写数据请求时,首先确定出为该写数据请求提供服务的存储节点以及该存储节点上的SS模块32,并接收该SS模块32执行该写数据请求后上报的对象信息和条带信息。可选的,该对象信息实际上执行写数据请求之后的执行结果,其可以包括目标数据信息的存储信息,例如,每个数据块的名称、大小、所属存储位置、组成的数据类型等内容,本申请实施例并不对对象信息的具体内容进行限定,此处不再赘述。
示例性的,MM模块31接收用户的读数据请求时,首先确定出为该写数据请求对应目标数据所在的存储节点以及该目标数据对应的对象信息和条带信息,将其反馈给SS模块32,以使该SS模块32通过OSD模块33从存储卷中读取条带中的目标数据。
(2)接收OSD模块33上报的存储卷的信息,例如,磁盘信息,并检测存储节点和存储卷是否在线,若不在线,则收集不在线存储卷上的所有条带信息,即,需要重构的条带信息,并将这些需要重构的条带信息按照设定的分发策略(例如,平均分发、按类型分发等等)分发到多个存储节点上的RC模块34,以使RC模块34接收到条带重构任务后,根据其所在存储节点确定的条带重构速度执行条带重构任务。
示例性的,预设的分发策略可以是负载均衡策略。也即,按照不同存储节点的负载情况确定出多个存储节点。
在本实施例中,SS模块32部署在存储节点上,用于接收MM模块发送的数据处理请求,并执行该数据处理请求。示例性的,该数据处理请求可以是写数据请求或读数据请求(下载数据)。
作为一种示例,在执行写服务时,SS模块32接收用户通过终端设备传输的目标数据,将目标数据按照对象块大小进行切片,并按照用户设定的EC类型(目标数据块和校验数据块的块数量)将目标数据进行条带化,并根据条带中的目标数据块经由EC算法计算校验数据块,将条带中各个数据块(包括目标数据块和校验数据块)发送给OSD模块33,从而使OSD模块33写入存储卷中。同时,SS模块32将数据写请求对应的对象信息和生成的条带信息上报给MM模块11,从而使得MM模块11进行保存。
作为另一种示例,在执行读服务,即下载数据服务时,SS模块32从MM模块11获取对应的对象信息和条带信息,并向OSD模块33读取条带中的块数据,将读取的数据发送给终端设备。
在本实施例中,OSD模块33主要功能是为数据处理请求提供处理,即SS模块32需要通过OSD模块33实现对存储卷中目标数据的读和写操作。
在本实施例中,RC模块34的主要功能是执行条带重构任务,当MM模块31检测到某些存储卷离线时,会收集这些存储卷上的所有条带信息,并将这些需要重构的条带信息分发给多个存储节点上的RC模块34,多个RC模块34在接收到条带重构任务后,按照确定出重构速度执行条带重构任务,即根据条带信息中在线的块数据重构出因磁盘不在线无法读出的目标数据块或校验数据块,并将重构出来的数据写到新的存储卷上。
值得说明的是,在本申请的实施例中,该SS模块32、OSD模块33、RC模块34可以部署在存储节点上,即每个存储节点都有这些模块,MM模块31作为管理者可以部署在一台或多台机器上,也可以部署在存储节点上,也可以部署在单独的机器上。
当MM模块31部署在一台或多台机器上或单独的机器上时,MM模块31所在的管理节点和存储节点组成一种云存储系统,例如,图1所示的云存储系统。当MM模块31部署在存储节点上时,该存储节点和其他具有存储功能的存储节点可以组成另一种云存储系统,例如,图2所示的云存储系统。
本申请实施例提供的数据重构方法可以适用于上述两种不同的云存储系统,而且还可以适用于具有MM模块31、SS模块32、OSD模块33、RC模块34的其他云存储系统。此外,本申请实施例还不限定云存储系统包括的节点数据以及节点类型,其可以根据实际需要确定。
本申请实施例主要针对现有云存储系统中存在的系统不稳定或资源浪费问题,提出了一种数据重构方法,通过获取重构任务,该重构任务携带待重构的条带信息,根据待重构的条带信息和当前节点的资源使用信息确定重构任务的重构速度,并且利用待重构的条带信息以该重构速度执行重构任务。该技术方案中,重构任务的重构速度是基于当前节点的资源使用信息确定的,既避免了当前节点的空闲资源多而出现的资源浪费问题,也解决了当前节点的空闲资源少而导致的系统不稳定问题。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图4为本申请实施例提供的数据重构方法实施例一的流程示意图。该数据重构方法的执行主体可以为图1或图2所示云存储系统中的任意一个存储节点。如图4所示,该数据重构方法可以包括如下步骤:
步骤41:获取重构任务,该重构任务携带待重构的条带信息。
在本实施例中,当云存储系统中的MM模块检查到某个存储节点的某个存储卷(某个磁盘)掉线超过一定时间,便可以遍历该存储卷上的所有条带,确定出需要重构的条带信息。
相应的,当云存储系统的MM模块确定出所有需要重构的条带信息时,会将其按照设定的分发策略将重构任务分发给多个存储节点。本申请实施例的执行主体即为上述接收重构任务的上述多个存储节点中的任意一个。可选的,本实施例中的存储节点也可以称为存储服务器。
示例性的,作为一种可能实现方式,获取重构任务可以通过如下方式实现:接收管理节点发送的重构任务列表,该重构任务列表包括至少一个重构任务;从该重构任务列表获取重构任务。
在本实施例中,存储节点可以接收MM模块发送的多个重构任务,依次发送或多次发送的,并按照先到先出的队列形式存到重构队列中。这样存储节点的RC模块则可以从该重构队列获取重构任务,并依次执行该重构队列中的重构任务。
在本实施例中,为了使得RC模块能够顺利执行数据重构,则每个重构任务中均携带有带重构的条带信息,这样RC模块可以基于条带信息中的正常数据信息重构出损坏或缺失的数据。
其中,一个完整条带信息中损坏的数据块的数量小于或等于该条带信息中原有校验数据块的数量,若一个条带信息中损坏的数据块的数量大于该条带信息中原有校验数据块的数量时,可能由于信息缺失而无法恢复出损坏的数据块。
值得说明的是,本申请实施例中的重构任务并不局限于携带待重构的条带信息,其可以携带待重构的条带信息所在的存储位置等信息,关于该重构任务携带的具体内容可以根据实际情况确定,此处不再赘述。
步骤42:根据待重构的条带信息和当前节点的资源使用信息确定该重构任务的重构速度。
在本实施例中,存储节点的RC模块可以对接收到的重构任务进行解析,获取该重构任务中携带的待重构的条带信息。因而,基于待重构的条带信息执行数据重构的任务。
在本实施例中,存储节点的RC模块在执行重构任务之前,可以首先获取其所在节点的资源使用信息,基于该资源使用信息和该节点的总资源信息,确定出当前节点的空闲资源信息,根据该空闲资源信息确定出重构任务的重构速度,以便RC模块可以依据该重构速度执行数据重构任务。
示例性的,在本实施例中,该当前节点的资源使用信息包括如下信息中的至少一种:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息。关于当前节点的具体依据的资源使用信息可以根据实际情况确定,本申请实施例不对其进行限定。
步骤43:利用待重构的条带信息以上述重构速度执行重构任务。
在本申请的实施例中,存储节点的RC模块确定出当前时刻的重构速度之后,便可以从重构队列中取重构任务进行条带重构。
具体的,关于数据重构的具体方式可以以数据生成条带可逆的方式执行。可选的,数据生成EC条带的步骤如下:首先,把目标数据均分为N个数据块,再将这N个数据块通过一定的方式联系起来生成M个校验块,N个数据块和M个校验块组成EC条带。当EC条带中的某几个数据块丢失时,利用校验块重新计算出丢失的数据块,例如,利用互逆矩阵的形式生成。关于重构的具体方式,属于现有技术,此处不再赘述。
本申请实施例提供的数据重构方法,通过获取重构任务,该重构任务携带待重构的条带信息,根据待重构的条带信息和当前节点的资源使用信息确定重构任务的重构速度,并且利用待重构的条带信息以该重构速度执行重构任务。该技术方案中,重构任务的重构速度是基于当前节点的资源使用信息确定的,避免了当前节点的空闲资源多而出现的资源浪费问题,也解决了当前节点的空闲资源少而导致的系统不稳定问题。
示例性的,在上述实施例的基础上,图5为本申请实施例提供的数据重构方法实施例二的流程示意图。如图5所示,在本实施例中,在上述步骤43之后,该方法还可以包括如下步骤:
步骤51:在重构任务执行的过程中,周期性检测当前节点的当前资源使用信息。
示例性的,在本实施例中,存储节点的RC模块在执行重构任务的过程中,可以周期性检测当前节点的资源使用信息,确定出当前节点的当前资源使用信息。
例如,存储节点的RC模块可以检测处理资源的资源使用信息,例如,中央处理器CPU的使用率,也可以检测网络带宽资源的使用信息,该存储节点上的存储资源的资源使用信息,例如,该存储节点上所有磁盘的平均使用率等。
关于RC模块检测当前资源使用信息的具体周期长短,其可以根据节点中预设的长短执行,也就可以根据用户的指示执行,其可以根据实际情况确定,此处不再赘述。
步骤52:根据该当前资源使用信息和预设的资源变动范围更新重构速度。
可选的,在本实施例中,预设的资源变动范围指该当前重构速度对应的资源使用信息的上下变动范围,也即,若当前节点的当前资源使用信息在预设的资源变动范围内,则当前重构速度对当前节点中其他任务的执行过程影响较小,且不会造成资源的过渡浪费,这时可以不更新当前重构速度;若当前节点的当前资源使用信息不在预设的资源变动范围内,则表示当前重构速度对当前节点中其他任务的执行有较大的影响,或者存储资源的过渡浪费。
作为一种示例,若当前重构速度较快,当前重构任务占用的资源较大,不能保证该存储节点中存储任务有足够的资源可用,其影响了该存储节点中存储任务的执行,这时候可能致使存储任务不稳定或者存储任务失败,因而,需要降低重构速度,以腾出一定的资源来保证存储业务的执行。
作为另一种示例,若当前重构速度较慢,当前重构任务占用的资源较小,这时候,这时该存储节点中有大量的资源处于空闲状态,存在资源浪费的问题,因而,此时可以提高重构速度,以占用较多的资源,从而避免资源浪费的问题。
可选的,在本实施例中,在RC模块执行重构任务时,可以以每个重构任务需要的重构时间表示,即相邻两个重构任务的时间间隔,也就是从重构队列中取任务进行重构的时间间隔。通常情况下,相邻两个重构任务的时间间隔是不变的,当通过检测存储节点的资源使用信息,确定出需要更新重构速度时,可以通过改变相邻两个重构任务的时间间隔来改变正在执行重构任务的重构速度。
其中,重构速度和从重构队列中取任务进行重构的时间间隔T是一一对应的,T越大,重构速度越慢,T越小,重构速度越快。
本申请实施例提供的数据重构方法,在上述重构任务执行的过程中,周期性检测当前节点的当前资源使用信息,根据该当前资源使用信息和预设的资源变动范围更新重构速度。该技术方案中,重构任务的重构速度在重构任务执行的过程中更新,其能够更好的适应当前节点的资源需求,进一步提高了系统的稳定性和资源的利用率。
示例性的,在上述实施例的基础上,图6为本申请实施例提供的数据重构方法实施例三的流程示意图。如图6所示,在本实施例中,上述步骤52可以通过如下步骤实现:
步骤61:根据重构速度的理论资源使用率和预设的资源变化量,确定该资源变动范围。
在本实施例中,RC模块在根据当前节点的资源使用信息确定重构任务的重构速度时,其可以确定出该重构速度的理论资源使用率,也即,RC模块以该重构速度执行重构任务时理论上需要的资源使用率。该预设的资源变化量,也即,存储节点执行重构任务时,其不会对其他任务造成影响且不会造成资源浪费的浮动量。
因而,在本实施例中,该资源变动范围的最大值可以为理论资源使用率加上该预设的资源变化量得到的资源利用率,该资源变动范围的最小值可以为理论资源使用率减去与该预设的资源变化量得到的资源利用率。
步骤62:判断当前资源使用信息是否位于该资源变动范围内;若是,执行步骤63,若否,执行步骤64。
在本实施例中,RC模块获取到当前节点的当前资源使用信息之后,判断其与上述预设的资源变动范围的关系,并基于判断结果确定如何处理。
步骤63:保持重构速度不变。
作为一种示例,若当前资源使用信息位于该资源变动范围内,表明当前重构速度对当前节点中其他任务的执行过程影响较小,且不会造成资源的过渡浪费,这时不需要更新当前重构速度,保持原有的重构速度不变。
步骤64:基于当前资源使用信息和重构速度的资源理论使用率,更新该重构速度。
作为另一种示例,若当前资源使用信息不在该资源变动范围内,表明当前重构速度对当前节点中其他任务的执行有较大的影响,或者存储资源的过渡浪费,此时可以更新重构速度。
关于重构速度的具体更新方法可以根据实际资源类型进行确定,此处不再赘述。下面图7所示的实施例以资源类型为处理资源、网络带宽资源或存储资源进行解释说明。
本申请实施例提供的数据重构方法,根据重构速度的理论资源使用率和预设的资源变化量,确定该资源变动范围,并判断当前资源使用信息是否位于该资源变动范围内,若是,则保持重构速度不变,若否,则基于当前资源使用信息和重构速度的资源理论使用率,更新重构速度。该技术方案中,通过确定资源变动范围可以准确的确定是否需要更新重构速度,在保证系统稳定性的前提下,提高了资源利用率。
进一步的,在上述实施例的基础上,图7为本申请实施例提供的数据重构方法实施例四的流程示意图。在本实施例中,当前节点的资源使用信息包括:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息时,如图7所示,上述步骤64可以通过如下步骤实现:
步骤71:根据处理资源的当前使用信息和该重构速度对应的处理资源理论使用率,确定重构速度对应的第一变化量。
可选的,在本实施例中,以处理资源为CPU进行说明。示例性的,若当前节点的CPU使用率为C1,该重构速度对应的CPU理论使用率为CT,预设的CPU使用率变动量为Cr,如果C1位于[CT-Cr,CT+Cr]范围内,则保持CPU对应的重构速度不变,也即,第一变化量为0。当C1的值不在[CT-Cr,CT+Cr]范围内,则首先确定出该重构任务的所需时间的变化量,再确定出该重构速度对应的第一变化量。
示例性的,该CPU对应重构任务所需时间的变化量可以利用公式
Figure BDA0002273001390000151
确定,其中α是CPU使用率对重构时间的影响因子。由于重构速度与重构时间是一对成反比的参数,因而,可以根据该
Figure BDA0002273001390000152
确定出第一变化量,关于第一变化量的具体取值可以根据实际情况确定,此处不再赘述。
步骤72:根据该网络带宽资源的当前使用信息和重构速度对应的网络带宽资源理论使用率,确定该重构速度对应的第二变化量。
可选的,在本实施例中,若当前节点的网络带宽资源使用率为N1,该重构速度对应的网络带宽资源理论使用率为NT,预设的网络带宽资源使用率变动量为Nr,如果N1位于[NT-Nr,NT+Nr]范围内,则保持网络带宽资源对应的重构速度不变,也即,第二变化量为0。当N1的值不在[NT-Nr,NT+Nr]范围内,则首先确定出该重构任务的所需时间的变化量,再确定出该重构速度对应的第二变化量。
示例性的,该网络带宽资源对应重构任务所需时间的变化量可以利用公式ΔTn=σ确定,其中σ可以是系统中预设的一个恒定值。相应的,RC模块可以根据该ΔTn=σ确定出第二变化量,关于第二变化量的具体取值可以根据实际情况确定,此处不再赘述
步骤73:根据存储资源的当前使用信息和重构速度对应的存储资源理论使用率,确定该重构速度对应的第三变化量。
可选的,在本实施例中,以存储资源为存储卷的磁盘进行说明。示例性的,若当前节点中所有磁盘平均使用率W1,磁盘平均使用率的阀值为WT,预设的磁盘利用率变动量为Wr,如果W1的值在[WT-Wr,WT+Wr]范围内,则保持磁盘资源对应的重构速度不变,也即,第三变化量为0。当W1的值不在[WT-Wr,WT+Wr]范围内,则首先确定出该重构任务的所需时间的变化量,再确定出该重构速度对应的第三变化量。
示例性的,该磁盘利用率对应重构任务所需时间的变化量可以利用公式
Figure BDA0002273001390000161
确定,其中μ是磁盘利用率对重构速度的影响因子。由于重构速度与重构时间是一对成反比的参数,因而,可以根据该
Figure BDA0002273001390000162
确定出第三变化量,关于第三变化量的具体取值可以根据实际情况确定,此处不再赘述。
步骤74:利用第一变化量、第二变化量和第三变化量中的最小变化量,更新该重构速度。
在本实施例中,当计算出上述各个资源对应的重构速度变化量之后,可以取三个变化量中最小值的变化量,也即,取所需重构时间变化量ΔTc、ΔTn、ΔTw中的最大值,例如,将其中的最大值设为ΔT,则调整之前的重构时间为T1,则根据当前节点的当前资源信息调整后的重构时间为T=T1+ΔT。
本申请实施例提供的数据重构方法,在当前节点的资源使用信息同时包括处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息时,根据处理资源的当前使用信息和该重构速度对应的处理资源理论使用率,确定重构速度对应的第一变化量,根据该网络带宽资源的当前使用信息和重构速度对应的网络带宽资源理论使用率,确定该重构速度对应的第二变化量,根据存储资源的当前使用信息和重构速度对应的存储资源理论使用率,确定该重构速度对应的第三变化量,以及利用第一变化量、第二变化量和第三变化量中的最小变化量,更新该重构速度。该技术方案中,通过对比各种资源的重构速度变化量,可以确定出最优的重构速度,进一步提高了系统的稳定性和资源利用率。
示例性的,在上述实施例的基础上,图8为本申请实施例提供的数据重构方法实施例五的流程示意图。如图8所示,在本实施例中,该方法还可以包括如下步骤:
步骤81:获取该重构任务执行结束后得到的块数据。
可选的,在本申请的实施例中,存储节点的RC模块在每个重构任务执行完毕后,获取每个重构任务的执行结果,得到重构后的块数据。该块数据和待重构任务的条带信息可以组成EC条带,从而实现了数据的恢复。
步骤82:利用块数据和待重构的条带信息生成完整的条带信息。
在本实施例中,存储节点的RC模块得到重构后的块数据之后,可以对该块数据和上述待重构的条带信息进行整合,得到完整的条带信息。
步骤83:将完整的条带信息写入工作状态正常的存储卷中。
可选的,在得到完整的条带信息后,由于原有的存储卷已不可用,需要重新对完整的条带信息进行存储,以便后续需要时可以被正常读取。
可选的,该RC模块可以基于MM模块的指示将完整的条带信息存储至工作状态正常的存储卷,关于具体是哪个存储卷,其可以根据实际情况确定,此处不再赘述。
本申请实施例提供的数据重构方法,通过获取重构任务执行结束后得到的块数据,利用该块数据和待重构的条带信息生成完整的条带信息,将完整的条带信息写入工作状态正常的存储卷中,这样能够保证终端设备有读取需要时能够及时读取到,保证系统的稳定性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图9为本申请实施例提供的数据重构装置实施例一的结构示意图。如图9所示,该数据重构装置可以包括:获取模块91、处理模块92和执行模块93。
其中,该获取模块91,用于获取重构任务,所述重构任务携带待重构的条带信息;
该处理模块92,用于根据所述待重构的条带信息和当前节点的资源使用信息确定所述重构任务的重构速度;
该执行模块93,用于利用所述待重构的条带信息以所述重构速度执行所述重构任务。
示例性的,在本实施例的一种可能设计中,该处理模块92,还用于在所述重构任务执行的过程中,周期性检测所述当前节点的当前资源使用信息,并根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度。
示例性的,在本实施例的该种可能设计中,该处理模块92,具体用于根据所述重构速度的理论资源使用率和预设的资源变化量,确定所述资源变动范围,判断所述当前资源使用信息是否位于所述资源变动范围内,并在所述当前资源使用信息位于所述资源变动范围内时,保持所述重构速度不变,以及在所述当前资源使用信息未位于所述资源变动范围内时,基于所述当前资源使用信息和所述重构速度的资源理论使用率,更新所述重构速度。
可选的,所述当前节点的资源使用信息包括如下信息中的至少一种:
处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息。
示例性的,所述当前节点的资源使用信息包括:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息,此时,该处理模块92,还具体用于根据所述处理资源的当前使用信息和所述重构速度对应的处理资源理论使用率,确定所述重构速度对应的第一变化量,根据所述网络带宽资源的当前使用信息和所述重构速度对应的网络带宽资源理论使用率,确定所述重构速度对应的第二变化量,根据所述存储资源的当前使用信息和所述重构速度对应的存储资源理论使用率,确定所述重构速度对应的第三变化量,利用所述第一变化量、所述第二变化量和所述第三变化量中的最小变化量,更新所述重构速度。
示例性的,在本实施例的另一种可能设计中,该处理模块92,还用于获取所述重构任务执行结束后得到的块数据,以及将所述块数据写入工作状态正常的存储卷中。
示例性的,在本实施例的再一种可能设计中,该获取模块91,具体用于接收管理节点发送的重构任务列表,所述重构任务列表包括至少一个重构任务,从所述重构任务列表获取所述重构任务。
本申请实施例提供的装置,可用于执行图4至图8所示实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图10为本申请实施例提供的数据重构装置实施例二的结构示意图。如图10所示,该装置可以包括:处理器101、存储器102、通信接口103和系统总线104,所述存储器102和所述通信接口103通过所述系统总线104与所述处理器101连接并完成相互间的通信,所述存储器102用于存储计算机执行指令,所述通信接口103用于和其他设备进行通信,所述处理器101用于执行所述计算机执行指令时实现如上述图4至图8所示实施例的方法。
该图10中提到的系统总线可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。所述系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选的,本申请实施例还提供一种存储介质,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如上述图4至图8所示实施例的方法。
图11为本申请实施例提供的云存储系统实施例一的结构示意图。如图11所示,该云存储系统可以包括:管理节点111和至少一个存储节点112。
其中,每个存储节点112用于执行所述计算机执行指令时实现如上述图4至图8所示实施例的方法。
关于该云存储系统中的每个存储节点的实现原理和技术效果类似,在此不再赘述。
图12为本申请实施例提供的云存储系统实施例二的结构示意图。如图12所示,该云存储系统可以包括:包括:多个存储节点121,每个存储节点具有调度和管理功能;该多个存储节点121中包括:具有调度、管理、存储功能的目标储节点1211。
其中,该目标存储节点1211用于执行所述计算机执行指令时实现如上述图4至图8所示实施例的方法。
关于该云存储系统中的每个存储节点的实现原理和技术效果类似,在此不再赘述。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (12)

1.一种数据重构方法,其特征在于,包括:
获取重构任务,所述重构任务携带待重构的条带信息;
根据所述待重构的条带信息和当前节点的资源使用信息确定所述重构任务的重构速度;
利用所述待重构的条带信息以所述重构速度执行所述重构任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述重构任务执行的过程中,周期性检测所述当前节点的当前资源使用信息;
根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度,包括:
根据所述重构速度的理论资源使用率和预设的资源变化量,确定所述资源变动范围;
判断所述当前资源使用信息是否位于所述资源变动范围内;
若是,则保持所述重构速度不变;
若否,则基于所述当前资源使用信息和所述重构速度的资源理论使用率,更新所述重构速度。
4.根据权利要求3所述的方法,其特征在于,所述当前节点的资源使用信息包括如下信息中的至少一种:
处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息。
5.根据权利要求4所述的方法,其特征在于,所述当前节点的资源使用信息包括:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息,所述基于所述当前资源使用信息和所述重构速度的理论资源使用率,更新所述重构速度,包括:
根据所述处理资源的当前使用信息和所述重构速度对应的处理资源理论使用率,确定所述重构速度对应的第一变化量;
根据所述网络带宽资源的当前使用信息和所述重构速度对应的网络带宽资源理论使用率,确定所述重构速度对应的第二变化量;
根据所述存储资源的当前使用信息和所述重构速度对应的存储资源理论使用率,确定所述重构速度对应的第三变化量;
利用所述第一变化量、所述第二变化量和所述第三变化量中的最小变化量,更新所述重构速度。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
获取所述重构任务执行结束后得到的块数据;
利用所述块数据和所述待重构的条带信息生成完整的条带信息;
将所述完整的条带信息写入工作状态正常的存储卷中。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述获取重构任务,包括:
接收管理节点发送的重构任务列表,所述重构任务列表包括至少一个重构任务;
从所述重构任务列表获取所述重构任务。
8.一种数据重构装置,其特征在于,包括:获取模块、处理模块和执行模块;
所述获取模块,用于获取重构任务,所述重构任务携带待重构的条带信息;
所述处理模块,用于根据所述待重构的条带信息和当前节点的资源使用信息确定所述重构任务的重构速度;
所述执行模块,用于利用所述待重构的条带信息以所述重构速度执行所述重构任务。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,还用于在所述重构任务执行的过程中,周期性检测所述当前节点的当前资源使用信息,并根据所述当前资源使用信息和预设的资源变动范围更新所述重构速度。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,具体用于根据所述重构速度的理论资源使用率和预设的资源变化量,确定所述资源变动范围,判断所述当前资源使用信息是否位于所述资源变动范围内,并在所述当前资源使用信息位于所述资源变动范围内时,保持所述重构速度不变,以及在所述当前资源使用信息未位于所述资源变动范围内时,基于所述当前资源使用信息和所述重构速度的资源理论使用率,更新所述重构速度。
11.根据权利要求10所述的装置,其特征在于,所述当前节点的资源使用信息包括如下信息中的至少一种:
处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息。
12.根据权利要求11所述的装置,其特征在于,所述当前节点的资源使用信息包括:处理资源的使用信息、网络带宽资源的使用信息、存储资源的使用信息,所述处理模块,还具体用于根据所述处理资源的当前使用信息和所述重构速度对应的处理资源理论使用率,确定所述重构速度对应的第一变化量,根据所述网络带宽资源的当前使用信息和所述重构速度对应的网络带宽资源理论使用率,确定所述重构速度对应的第二变化量,根据所述存储资源的当前使用信息和所述重构速度对应的存储资源理论使用率,确定所述重构速度对应的第三变化量,利用所述第一变化量、所述第二变化量和所述第三变化量中的最小变化量,更新所述重构速度。
CN201911112045.7A 2019-11-14 2019-11-14 数据重构方法和装置 Active CN111400241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911112045.7A CN111400241B (zh) 2019-11-14 2019-11-14 数据重构方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911112045.7A CN111400241B (zh) 2019-11-14 2019-11-14 数据重构方法和装置

Publications (2)

Publication Number Publication Date
CN111400241A true CN111400241A (zh) 2020-07-10
CN111400241B CN111400241B (zh) 2024-04-05

Family

ID=71428339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911112045.7A Active CN111400241B (zh) 2019-11-14 2019-11-14 数据重构方法和装置

Country Status (1)

Country Link
CN (1) CN111400241B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858180A (zh) * 2020-07-25 2020-10-30 苏州浪潮智能科技有限公司 分布式块存储系统的数据重构时间预测方法、系统及终端
CN112612412A (zh) * 2020-12-02 2021-04-06 杭州海康威视系统技术有限公司 一种分布式存储系统中数据重构的方法、存储节点设备

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290680A (ja) * 2000-04-07 2001-10-19 Hitachi Ltd データベースシステムの自動再構成方法
KR20080071177A (ko) * 2008-06-13 2008-08-01 후지쯔 가부시끼가이샤 정보 처리 장치, 계산기, 리소스 할당 방법 및 리소스 할당 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN101661454A (zh) * 2009-10-16 2010-03-03 首都师范大学 一种可动态重构的高速串行总线系统及控制方法
US20140351636A1 (en) * 2012-02-09 2014-11-27 Huawei Technologies Co., Ltd. Method, device, and system for data reconstruction
CN105335250A (zh) * 2014-07-28 2016-02-17 浙江大华技术股份有限公司 一种基于分布式文件系统的数据恢复方法及装置
US20170235609A1 (en) * 2016-02-12 2017-08-17 Coho Data Inc. Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
CN107391317A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据恢复的方法、装置、设备及计算机可读存储介质
CN109117306A (zh) * 2018-07-24 2019-01-01 广东浪潮大数据研究有限公司 一种基于对象读写时延调整数据恢复速度的方法及装置
CN109240982A (zh) * 2017-07-04 2019-01-18 上海万根网络技术有限公司 文件分发方法及系统及存储介质
US10185507B1 (en) * 2016-12-20 2019-01-22 Amazon Technologies, Inc. Stateless block store manager volume reconstruction
WO2019062856A1 (zh) * 2017-09-29 2019-04-04 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN109857592A (zh) * 2019-01-04 2019-06-07 平安科技(深圳)有限公司 数据恢复控制方法、服务器及存储介质
CN110321322A (zh) * 2019-07-02 2019-10-11 深信服科技股份有限公司 数据重建方法、装置、设备及计算机可读存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290680A (ja) * 2000-04-07 2001-10-19 Hitachi Ltd データベースシステムの自動再構成方法
KR20080071177A (ko) * 2008-06-13 2008-08-01 후지쯔 가부시끼가이샤 정보 처리 장치, 계산기, 리소스 할당 방법 및 리소스 할당 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN101661454A (zh) * 2009-10-16 2010-03-03 首都师范大学 一种可动态重构的高速串行总线系统及控制方法
US20140351636A1 (en) * 2012-02-09 2014-11-27 Huawei Technologies Co., Ltd. Method, device, and system for data reconstruction
CN105335250A (zh) * 2014-07-28 2016-02-17 浙江大华技术股份有限公司 一种基于分布式文件系统的数据恢复方法及装置
US20170235609A1 (en) * 2016-02-12 2017-08-17 Coho Data Inc. Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
US10185507B1 (en) * 2016-12-20 2019-01-22 Amazon Technologies, Inc. Stateless block store manager volume reconstruction
CN109240982A (zh) * 2017-07-04 2019-01-18 上海万根网络技术有限公司 文件分发方法及系统及存储介质
CN107391317A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据恢复的方法、装置、设备及计算机可读存储介质
WO2019062856A1 (zh) * 2017-09-29 2019-04-04 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN109582213A (zh) * 2017-09-29 2019-04-05 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN109117306A (zh) * 2018-07-24 2019-01-01 广东浪潮大数据研究有限公司 一种基于对象读写时延调整数据恢复速度的方法及装置
CN109857592A (zh) * 2019-01-04 2019-06-07 平安科技(深圳)有限公司 数据恢复控制方法、服务器及存储介质
CN110321322A (zh) * 2019-07-02 2019-10-11 深信服科技股份有限公司 数据重建方法、装置、设备及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858180A (zh) * 2020-07-25 2020-10-30 苏州浪潮智能科技有限公司 分布式块存储系统的数据重构时间预测方法、系统及终端
CN111858180B (zh) * 2020-07-25 2022-12-27 苏州浪潮智能科技有限公司 分布式块存储系统的数据重构时间预测方法、系统及终端
CN112612412A (zh) * 2020-12-02 2021-04-06 杭州海康威视系统技术有限公司 一种分布式存储系统中数据重构的方法、存储节点设备

Also Published As

Publication number Publication date
CN111400241B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US10817386B2 (en) Virtual machine recovery method and virtual machine management device
EP3180695B1 (en) Systems and methods for auto-scaling a big data system
CN108205541B (zh) 分布式网络爬虫任务的调度方法及装置
CN111522636B (zh) 应用容器的调整方法、调整系统、计算机可读介质及终端设备
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
CN111124277B (zh) 一种深度学习数据集缓存方法、系统、终端及存储介质
CN105991458B (zh) 一种负载均衡的方法及负载均衡装置
JP6424632B2 (ja) 負荷算出方法、負荷算出プログラム及び負荷算出装置
CN111966289A (zh) 基于Kafka集群的分区优化方法和系统
CN112148430A (zh) 一种虚拟网络功能的虚拟机在线安全迁移的方法
CN104991822A (zh) 一种管理内存的方法和装置
CN112256433B (zh) 基于Kafka集群的分区迁移方法和装置
CN112231098A (zh) 任务处理方法、装置、设备及存储介质
CN111400241B (zh) 数据重构方法和装置
CN110825704A (zh) 一种读数据方法、写数据方法及服务器
US10892940B2 (en) Scalable statistics and analytics mechanisms in cloud networking
US11886225B2 (en) Message processing method and apparatus in distributed system
US10896056B2 (en) Cluster expansion method and apparatus, electronic device and storage medium
US9893972B1 (en) Managing I/O requests
CN106815318B (zh) 一种时序数据库的集群化方法及系统
CN113239059B (zh) 一种分布式锁的切换方法、装置、服务器和存储介质
US10824640B1 (en) Framework for scheduling concurrent replication cycles
CN114116790A (zh) 数据处理的方法及装置
CN110636091A (zh) 云存储集群的数据均衡方法、装置、设备和存储介质
CN104239159A (zh) 虚拟机维护系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant