CN108959399B - 分布式数据删除流控方法、装置、电子设备及存储介质 - Google Patents

分布式数据删除流控方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN108959399B
CN108959399B CN201810566096.6A CN201810566096A CN108959399B CN 108959399 B CN108959399 B CN 108959399B CN 201810566096 A CN201810566096 A CN 201810566096A CN 108959399 B CN108959399 B CN 108959399B
Authority
CN
China
Prior art keywords
statistical period
data
flow control
load
data block
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.)
Active
Application number
CN201810566096.6A
Other languages
English (en)
Other versions
CN108959399A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810566096.6A priority Critical patent/CN108959399B/zh
Priority to PCT/CN2018/100172 priority patent/WO2019232927A1/zh
Publication of CN108959399A publication Critical patent/CN108959399A/zh
Application granted granted Critical
Publication of CN108959399B publication Critical patent/CN108959399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种分布式数据删除流控方法,包括:接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息;每隔预设时间段获取所述处理队列中的数据删除请求;根据数据删除请求确定对应的待删除数据的索引信息;将所述待删除数据的索引信息存入配置的数据库中;获取删除周期内的当前统计周期对应的流控阈值;基于所述当前统计周期对应的流控阈值,将数据库中的所述索引信息对应的数据进行删除。本发明还提供一种分布式数据删除流控装置、电子设备及存储介质。本发明能够在提高大规模分布式存储系统的数据删除效率的同时,避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。

Description

分布式数据删除流控方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种分布式数据删除流控方法、装置、电子设备及存储介质。
背景技术
随着网络应用的迅速发展,网络信息数据量越来越大,海量数据存储变得越来越重要。传统意义的本地磁盘存储方式已不能满足现有应用的大容量、高可靠性、高性能、横向扩展等要求,为满足这些新要求,基于网络的分布式存储系统得到了广泛重视。
尽管对于客户端来说,对分布式数据进行删除操作相较于读写操作是非常轻量级的操作类型,可以快速完成,但具体到后端的分布式文件系统,删除操作与读写操作所经过的输入输出输入输出(Input/Output,IO)路径是相同的,这种处理方式等待响应时间较长,所带来的延时非常明显,尤其是在执行海量小文件的批量删除操作时,甚至会影响用户的正常业务。
此外,文件删除操作会产生数据的输入输出(IO),如果在分布式存储系统进行大批量文件删除操作的时候正好是用户应用的IO高峰,则文件删除操作的IO会对用户应用的IO产生影响,从而降低用户应用的使用体验,甚至产生系统故障。
发明内容
鉴于以上内容,有必要提出一种分布式数据删除流控方法、装置、电子设备及存储介质,能够在提高大规模分布式存储系统的数据删除效率的同时,避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。
本发明的第一方面提供一种分布式数据删除流控方法,所述方法包括:
接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息;
每隔预设时间段获取所述处理队列中的数据删除请求;
根据所述数据删除请求确定对应的待删除数据的索引信息;
将所述待删除数据的索引信息存入配置的数据库中;
获取删除周期内的当前统计周期对应的流控阈值;
基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。
优选的,所述根据所述数据删除请求确定对应的待删除数据的索引信息包括:
从多个存储节点中找到存储有所述数据删除请求对应的待删除数据的存储节点;
根据所述数据删除请求从匹配出的存储节点中获取所述待删除数据的索引信息。
优选的,所述获取删除周期内的当前统计周期对应的流控阈值包括:
判断当前统计周期是否为第一个统计周期;
当确定所述当前统计周期为第一个统计周期时,将预设流控阈值确定为所述当前统计周期对应的流控阈值;
当确定所述当前统计周期不为第一个统计周期时,获取上一个统计周期内用户应用的IO负载,根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值。
优选的,所述根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值包括:
获取上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小;
获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延;
获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值;
根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度;
根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别;
根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值。
优选的,所述根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度的计算公式为:
Figure BDA0001684533440000031
其中,X为上述上一个统计周期内的所述IO的平均数据块大小,Y为所述平均数据块时延,M为所述数据块大小的基准值,N为所述对应的数据块时延的基准值。
优选的,所述负载分类模型的训练过程包括:
获取正样本的IO负载数据及负样本的IO负载数据,并将正样本的IO负载数据标注负载类别,以使正样本的IO负载数据携带IO负载类别标签;
将所述正样本的IO负载数据及所述负样本的IO负载数据随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练支持向量机分类模型,并利用所述验证集验证训练后的所述支持向量机分类模型的准确率;
若所述准确率大于或者等于预设准确率阈值时,则结束训练,以训练后的所述支持向量机分类模型作为负载分类模型识别所述当前统计周期内的IO负载类别。
优选的,所述根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值包括:
当所述上一个统计周期内的IO负载类别为高负载类别时,将所述上一个统计周期对应的流控阈值降低第一预设幅度,得到当前统计周期对应的流控阈值;
当所述上一个统计周期内的IO负载类别为低负载类别时,将所述上一个统计周期对应的流控阈值提高第二预设幅度,得到下一个统计周期对应的流控阈值;
当所述上一个统计周期内的IO负载类别为正常负载类别时,将所述上一个统计周期对应的流控阈值作为当前统计周期对应的流控阈值。
本发明的第二方面提供一种分布式数据删除流控装置,所述装置包括:
请求响应模块,用于接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息;
请求获取模块,用于每隔预设时间段获取所述处理队列中的数据删除请求;
索引确定模块,用于根据所述数据删除请求确定对应的待删除数据的索引信息;
索引存储模块,用于将所述待删除数据的索引信息存入配置的数据库中;
流控获取模块,用于获取删除周期内的当前统计周期对应的流控阈值;
数据删除模块,用于基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述分布式数据删除流控方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述分布式数据删除流控方法。
本发明所述的分布式数据删除流控方法、装置、电子设备及存储介质,能够在接收到客户端请求删除数据时,先向客户端返回数据已删除的信息,将所述数据删除请求添加至配置的处理队列中,后续在获取处理队列中的数据删除请求时真正将数据删除,即响应客户端的数据删除请求和执行删除数据的操作异步经常,从而有效的缩短客户端的等待时间;另外,在获取到处理队列中的数据删除请求时,是通过获取不同统计周期对应的流控阈值,基于每一个统计周期对应的流控阈值,对所述客户端请求删除的数据进行删除,在提高分布式数据删除的效率的同时,能够避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的分布式数据删除流控方法的流程图。
图2是本发明实施例二提供的根据上一个统计周期内用户应用的IO负载确定当前统计周期对应的流控阈值的方法的流程图。
图3是本发明实施例三提供的分布式数据删除流控装置的功能模块图。
图4是本发明实施例四提供的电子设备的示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例的分布式数据删除流控方法应用在一个或者多个电子设备中。所述分布式数据删除流控方法也可以应用于由电子设备和通过网络与所述电子设备进行连接的服务器所构成的硬件环境中。网络包括但不限于:广域网、城域网或局域网。本发明实施例的分布式数据删除流控方法可以由服务器来执行,也可以由电子设备来执行;还可以是由服务器和电子设备共同执行。
对于需要进行分布式数据删除流控方法的电子设备,可以直接在电子设备上集成本发明的方法所提供的分布式数据删除流控功能,或者安装用于实现本发明的方法的客户端。再如,本发明所提供的方法还可以以软件开发工具包(Software Development Kit,SDK)的形式运行在服务器等设备上,以SDK的形式提供分布式数据删除流控功能的接口,电子设备或其他设备通过提供的接口即可实现本发明所述的方法。
实施例一
图1是本发明实施例一提供的分布式数据删除流控方法的流程图。根据不同的需求,该流程图中的执行顺序可以改变,某些步骤可以省略。
S11、接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息。
在本发明较佳实施例中,可以事先设置一个面向发送数据删除请求的客户端的即时反馈机制。即当客户端发起数据删除请求后,分布式存储系统可以直接向该客户端返回数据删除成功的信息,而不必等到该数据删除请求对应的数据真正被删除后再向客户端返回数据删除成功的信息,这样可以省去客户端等待数据被删除需要的时间。尤其是当待删除数据较大,或者分布式存储系统的IO负载强度大的时候,删除客户端请求删除的数据的周期非常长,长时间的等待对客户端来说是不现实的,因此通过设置所述即时反馈机制可以减少客户端的时间浪费,增加客户端用户的应用效率,提升客户端用户的应用体验。
配置的处理队列用于存储客户端发送的数据删除请求,根据时间顺序存储客户端发送的数据删除请求。所述数据删除请求可以包括:存储数据的存储节点的名称。
S12、每隔预设时间段获取所述处理队列中的数据删除请求。
在本发明较佳实施例中,所述数据删除请求是按照先进先出的顺序从所述处理队列中获取。
S13、根据所述数据删除请求确定对应的待删除数据的索引信息。
在本发明较佳实施例中,所述索引信息包括所述数据删除请求对应的待删除数据在对应的存储节点中所在的文件名称和位置信息。
分布式存储系统根据所述数据删除请求确定对应的待删除数据的索引信息包括:
1)从多个存储节点中找到存储有所述数据删除请求对应的待删除数据的存储节点;
分布式存储系统可以根据所述数据删除请求中的所述存储数据的存储节点的名称,从多个存储节点中进行匹配出所述数据删除请求对应的待删除数据的存储节点。
2)根据所述数据删除请求从匹配出的存储节点中获取所述待删除数据的索引信息。
例如,分布式存储系统中将用户写入的数据以三个副本的形式进行分布式存储,则当客户端请求将所述写入的数据进行删除时,需要从多个节点中找到存储有所述写入的数据的三个存储节点,分布式存储系统将数据删除请求转发至所述三个存储节点,并从所述三个存储节点中获取所述写入的数据的索引信息。
S14、将所述待删除数据的索引信息存入配置的数据库中。
本发明较佳实施例中,可以将所述待删除数据在对应的存储节点中的文件名称和位置信息形成一个数据对,存储在预先配置的数据库中。
S15、获取删除周期内的当前统计周期对应的流控阈值。
将对分布式数据从开始进行删除到完成删除的整个过程称之为一个删除周期。一个删除周期可以划分为多个统计周期,一个统计周期可以为一个预设时间段,例如,一个统计周期设置为1秒钟。
所述流控是指流量控制。流控的实现方法包括以下两种:一种是通过路由器、交换机的QoS模块实现基于源地址、目的地址、源端口、目的端口以及协议类型的流量控制;另一种是通过专业的流控设备实现基于应用层的流量控制。
本较佳实施例中,所述获取删除周期内的当前统计周期对应的流控阈值具体可以包括:
1)判断当前统计周期是否为第一个统计周期。
可以通过判断当前时间是否为第1秒来判断当前删除周期是否为第一个统计周期。
2)当确定所述当前统计周期为第一个统计周期时,将预设流控阈值确定为所述当前统计周期对应的流控阈值;
本发明的删除周期内的第一个统计周期对应的流控阈值为预先设置的流控阈值,可以由系统的管理者根据经验预先设置。即,采用一个预设的流控阈值作为删除周期内的第一个统计周期的流控阈值。
3)当确定所述当前统计周期不为第一个统计周期时,获取上一个统计周期内用户应用的IO负载,根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值。
所述删除周期内的除第一个统计周期外的剩余每一个统计周期可以对应一个流控阈值。剩余每一个统计周期对应的流控阈值是动态调整的,当前统计周期对应的流控阈值可以根据上一个统计周期内的IO负载计算得到,下一个统计周期对应的流控阈值可以根据当前统计周期内的IO负载计算得到。具体而言,根据第一个统计周期内的IO负载计算第二个统计周期对应的流控阈值;根据第二个统计周期内的IO负载计算第三个统计周期对应的流控阈值;以此类推。
所述根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值的具体过程可以参见图2及其相应描述。
S16、基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。
分布式存储系统可以根据所述数据库中的所述索引信息对应的文件名称和位置信息确定需要删除的数据,然后以当前统计周期对应的流控阈值为根据将确定的需要删除的数据进行删除,直至将所述删除周期内的所有统计周期对应的所述确定的需要删除的数据删除完毕。基于当前统计周期对应的流控阈值删除索引信息对应的数据,可使得若当前统计周期对应的流控阈值较大时,以较大的流控阈值删除索引信息对应的数据,可以提高删除索引信息对应的数据的速度,缓解分布式存储系统中数据存储的压力;若当前统计周期对应的流控阈值较小时,以较小的流控阈值删除索引信息对应的数据,能避免对正常输入输出业务性能造成明显冲击。
实施例二
图2是本发明实施例二提供的根据上一个统计周期内用户应用的IO负载确定当前统计周期对应的流控阈值的方法的流程图。
S21、获取上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小。
所述上一个统计周期内的IO的平均数据块大小可以采用算术平均值算法、几何平均数算法,或者均方根平均数算法来计算。
举例而言,假设检测到上一个统计周期内,用户应用共有十次IO,十次IO的数据块大小分别为:2M,1M,3M,0.5M,10M,4M,0.1M,1.2M,5M以及8M。利用所述算术平均值算法计算所述上一个统计周期内的IO的平均数据块大小为:
Figure BDA0001684533440000091
Figure BDA0001684533440000092
S22、获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延。
所述传输时延(简称为时延)是指结点在发送数据时使数据块从结点进入到传输媒体所需的时间,即一个发送站点从开始发送数据帧到数据帧发送完毕所需要的全部时间,或者一个接收站点从开始接收数据帧到数据帧接收完毕所需要的全部时间。
在本发明较佳实施例中,所述数据块的传输时延可以从每个存储节点中安装的一个负载量测工具或者性能监控工具中获取得到。
如上所述,所述上一个统计周期内的IO的平均数据块时延也可以采用算术平均值算法、几何平均数算法,或者均方根平均数算法来计算。假设,假设检测到上一个统计周期内,十次IO的传输时延分别为:1s、0.8s、1.5s、0.4s、5s、2s、0.02s、0.6s、3s及4.5s,则所述上一个统计周期内的IO平均数据块时延采用算术平均值算法来计算时,其结果为:
(1s+0.8s+1.5s+0.4s+5s+2s+0.1s+0.6s+3s+4.4s)=1.88s。
应当理解的是,若上一个统计周期内的IO的平均数据块大小采用算术平均值算法来计算,则上一个统计周期内的IO的平均数据块时延也采用算术平均值算法来计算;若上一个统计周期内的IO的平均数据块大小采用几何平均数算法来计算,则上一个统计周期内的IO的平均数据块时延也采用几何平均数算法来计算;或者若上一个统计周期内的IO的平均数据块大小采用均方根平均数算法来计算,则上一个统计周期内的IO的平均数据块时延也采用均方根平均数算法来计算。
S23、获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值。
在本发明较佳实施例中,所述IO数据块大小的基准值以及对应的数据块时延的基准值可以由存储系统的管理员根据经验预先设置。例如,根据经验,4K的数据块在传输时,时延最小,理想状态下可以达到50ms,则所述IO数据块大小的基准值可以设置为4k,对应的数据块时延的基准值可以设置为50ms。
S24、根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度。
举例而言,假设上一个统计周期内的所述IO的平均数据块大小为X、平均数据块时延为Y、数据块大小的基准值为M、对应的数据块时延的基准值为N,则所述上一个统计周期内的IO负载强度的计算公式为:
Figure BDA0001684533440000101
S25、根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别。
在本发明较佳实施例中,所述IO负载类别包括:高负载类别、正常负载类别、低负载类别。
优选地,所述负载分类模型包括,但不限于:支持向量机(Support VectorMachine,SVM)模型。将所述上一个统计周期内的IO的平均数据块大小、所述上一个统计周期内的IO的平均数据块时延、所述上一个统计周期内的IO负载强度作为所述负载分类模型的输入,经过所述负载分类模型计算后,输出上一个统计周期内的IO负载类别。
在本发明的优选实施例中,所述负载分类模型的训练过程包括:
1)获取正样本的IO负载数据及负样本的IO负载数据,并将正样本的IO负载数据标注负载类别,以使正样本的IO负载数据携带IO负载类别标签。
例如,分别选取500个高负载类别、正常负载类别、低负载类别对应的IO负载数据,并对每个IO负载数据标注类别,可以以“1”作为高负载的IO数据标签,以“2”作为正常负载的IO数据标签,以“3”作为低负载的IO数据标签。
2)将所述正样本的IO负载数据及所述负样本的IO负载数据随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练所述负载分类模型,并利用所述验证集验证训练后的所述负载分类模型的准确率。
先将不同负载类别的训练集中的训练样本分发到不同的文件夹里。例如,将高负载类别的训练样本分发到第一文件夹里、正常负载类别的训练样本分发到第二文件夹里、低负载类别的训练样本分发到第三文件夹里。然后从不同的文件夹里分别提取第一预设比例(例如,70%)的训练样本作为总的训练样本进行负载分类模型的训练,从不同的文件夹里分别取剩余第二预设比例(例如,30%)的训练样本作为总的测试样本对训练完成的所述负载分类模型进行准确性验证。
3)若所述准确率大于或者等于预设准确率阈值时,则结束训练,以训练后的所述负载分类模型作为分类器识别所述当前统计周期内的IO负载类别;若所述准确率小于预设准确率阈值时,则增加正样本数量及负样本数量以重新训练所述负载分类模型直至所述准确率大于或者等于预设准确率阈值。
S26、根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值。
具体的,所述根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值可以包括:
1)当所述上一个统计周期内的IO负载类别为高负载类别时,将所述上一个统计周期对应的流控阈值降低第一预设幅度,得到当前统计周期对应的流控阈值。
在上一个统计周期内的IO负载为高负载时,按照所述第一预设幅度降低流控阈值,以在当前统计周期内以低流控阈值对分布式存储系统中客户端请求删除的数据进行删除,通过降低分布式数据删除的速度来保证用户应用的高效访问。
在本发明的优选实施例中,所述第一预设幅度可以是上一个统计周期对应的流控阈值的1/2。即当前统计周期对应的流控阈值为上一个统计周期对应的流控阈值的1/2,下一个统计周期对应的流控阈值为当前统计周期对应的流控阈值的1/2。
2)当所述上一个统计周期内的IO负载类别为低负载类别时,将所述上一个统计周期对应的流控阈值提高第二预设幅度,得到下一个统计周期对应的流控阈值。
在上一个统计周期内的IO负载为低负载时,按照所述第二预设幅度提高流控阈值,以在当前统计周期内以高流控阈值对分布式存储系统中客户端请求删除的数据进行删除,在保证用户应用的访问质量的基础上,达到提高分布式数据删除的强度,将分布式系统中残留的垃圾数据尽快删除的目的。
在本发明的优选实施例中,所述第二预设幅度可以是上一个统计周期对应的流控阈值的1.5倍。即当前统计周期对应的流控阈值为上一个统计周期对应的流控阈值的1.5倍,下一个统计周期对应的流控阈值为当前统计周期对应的流控阈值的1.5倍。
3)当所述上一个统计周期内的IO负载类别为正常负载类别时,将所述上一个统计周期对应的流控阈值作为当前统计周期对应的流控阈值。
综上所述,本发明所述的分布式数据删除流控方法,接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息在接收到用户数据的写入请求时,每隔预设时间段获取所述处理队列中的数据删除请求;根据所述数据删除请求确定对应的待删除数据的索引信息;将所述待删除数据的索引信息存入配置的数据库中;获取删除周期内的当前统计周期对应的流控阈值;基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。本发明能够在接收到客户端请求删除数据时,先向客户端返回数据已删除的信息,后续在获取处理队列中的数据删除请求时真正将数据删除,即响应客户端的数据删除请求和执行删除数据的操作异步经常,从而有效的缩短客户端的等待时间;另外,在获取到处理队列中的数据删除请求时,是通过获取不同统计周期对应的流控阈值,基于每一个统计周期对应的流控阈值,对所述客户端请求删除的数据进行删除,在提高分布式数据删除的效率的同时,能够避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。
其次,当前统计周期对应的流控阈值是根据上一个统计周期内用户应用的IO负载自动进行动态调整,不需管理者手动调节,减少了管理者的工作量,避免了因管理者的主观因素导致的调整不精准的问题。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
下面结合第3至4图,分别对实现上述分布式数据删除流控方法的电子设备的功能模块及硬件结构进行介绍。
实施例三
图3为本发明分布式数据删除流控装置较佳实施例中的功能模块图。
在一些实施例中,所述分布式数据删除流控装置30运行于电子设备中。所述分布式数据删除流控装置30可以包括多个由程序代码段所组成的功能模块。所述分布式数据删除流控装置30中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行(详见图1-2及其相关描述)分布式数据删除流控方法。
本实施例中,所述分布式数据删除流控装置30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:请求响应模块301、请求获取模块302、索引确定模块303、索引存储模块304、流控获取模块305、数据删除模块306、流控计算模块307及模型训练模块308。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
请求响应模块301,用于接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息。
在本发明较佳实施例中,可以事先设置一个面向发送数据删除请求的客户端的即时反馈机制。即当客户端发起数据删除请求后,分布式存储系统可以直接向该客户端返回数据删除成功的信息,而不必等到该数据删除请求对应的数据真正被删除后再向客户端返回数据删除成功的信息,这样可以省去客户端等待数据被删除需要的时间。尤其是当待删除数据较大,或者分布式存储系统的IO负载强度大的时候,删除客户端请求删除的数据的周期非常长,长时间的等待对客户端来说是不现实的,因此通过设置所述即时反馈机制可以减少客户端的时间浪费,增加客户端用户的应用效率,提升客户端用户的应用体验。
配置的处理队列用于存储客户端发送的数据删除请求,根据时间顺序存储客户端发送的数据删除请求。所述数据删除请求可以包括:存储数据的存储节点的名称。
请求获取模块302,用于每隔预设时间段获取所述处理队列中的数据删除请求。
在本发明较佳实施例中,所述数据删除请求是按照先进先出的顺序从所述处理队列中获取。
索引确定模块303,用于根据所述数据删除请求确定对应的待删除数据的索引信息。
在本发明较佳实施例中,所述索引信息包括所述数据删除请求对应的待删除数据在对应的存储节点中所在的文件名称和位置信息。
所述索引确定模块303根据所述数据删除请求确定对应的待删除数据的索引信息包括:
1)从多个存储节点中找到存储有所述数据删除请求对应的待删除数据的存储节点;
分布式存储系统可以根据所述数据删除请求中的所述存储数据的存储节点的名称,从多个存储节点中进行匹配出所述数据删除请求对应的待删除数据的存储节点。
2)根据所述数据删除请求从匹配出的存储节点中获取所述待删除数据的索引信息。
例如,分布式存储系统中将用户写入的数据以三个副本的形式进行分布式存储,则当客户端请求将所述写入的数据进行删除时,需要从多个节点中找到存储有所述写入的数据的三个存储节点,分布式存储系统将数据删除请求转发至所述三个存储节点,并从所述三个存储节点中获取所述写入的数据的索引信息。
索引存储模块304,用于将待删除数据的索引信息存入配置的数据库中。
本发明较佳实施例中,可以将所述待删除数据在对应的存储节点中的文件名称和位置信息形成一个数据对,存储在预先配置的数据库中。
流控获取模块305,用于获取删除周期内的当前统计周期对应的流控阈值。
将对分布式数据从开始进行删除到完成删除的整个过程称之为一个删除周期。一个删除周期可以划分为多个统计周期,一个统计周期可以为一个预设时间段,例如,一个统计周期设置为1秒钟。
所述流控是指流量控制。流控的实现方法包括以下两种:一种是通过路由器、交换机的QoS模块实现基于源地址、目的地址、源端口、目的端口以及协议类型的流量控制;另一种是通过专业的流控设备实现基于应用层的流量控制。
本较佳实施例中,所述流控获取模块305获取删除周期内的当前统计周期对应的流控阈值具体可以包括:
1)判断当前统计周期是否为第一个统计周期。
可以通过判断当前时间是否为第1秒来判断当前删除周期是否为第一个统计周期。
2)当确定所述当前统计周期为第一个统计周期时,将预设流控阈值确定为所述当前统计周期对应的流控阈值;
本发明的删除周期内的第一个统计周期对应的流控阈值为预先设置的流控阈值,可以由系统的管理者根据经验预先设置。即,采用一个预设的流控阈值作为删除周期内的第一个统计周期的流控阈值。
3)当确定所述当前统计周期不为第一个统计周期时,获取上一个统计周期内用户应用的IO负载,根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值。
所述删除周期内的除第一个统计周期外的剩余每一个统计周期可以对应一个流控阈值。剩余每一个统计周期对应的流控阈值是动态调整的,当前统计周期对应的流控阈值可以根据上一个统计周期内的IO负载计算得到,下一个统计周期对应的流控阈值可以根据当前统计周期内的IO负载计算得到。具体而言,根据第一个统计周期内的IO负载计算第二个统计周期对应的流控阈值;根据第二个统计周期内的IO负载计算第三个统计周期对应的流控阈值;以此类推。
数据删除模块306,用于基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。
所述数据删除模块306可以根据所述数据库中的所述索引信息对应的文件名称和位置信息确定需要删除的数据,然后以当前统计周期对应的流控阈值为根据将确定的需要删除的数据进行删除,直至将所述删除周期内的所有统计周期对应的所述确定的需要删除的数据删除完毕。基于当前统计周期对应的流控阈值删除索引信息对应的数据,可使得若当前统计周期对应的流控阈值较大时,以较大的流控阈值删除索引信息对应的数据,可以提高删除索引信息对应的数据的速度,缓解分布式存储系统中数据存储的压力;若当前统计周期对应的流控阈值较小时,以较小的流控阈值删除索引信息对应的数据,能避免对正常输入输出业务性能造成明显冲击。
流控计算模块307,用于获取上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小。
所述上一个统计周期内的IO的平均数据块大小可以采用算术平均值算法、几何平均数算法,或者均方根平均数算法来计算。
举例而言,假设检测到上一个统计周期内,用户应用共有十次IO,十次IO的数据块大小分别为:2M,1M,3M,0.5M,10M,4M,0.1M,1.2M,5M以及8M。利用所述算术平均值算法计算所述上一个统计周期内的IO的平均数据块大小为:S=(2M+1M+3M+0.5M+10M+4M+0.1M+1.2M+5M+8M)/10=3.48M。
所述流控计算模块307,还用于获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延。
所述传输时延(简称为时延)是指结点在发送数据时使数据块从结点进入到传输媒体所需的时间,即一个发送站点从开始发送数据帧到数据帧发送完毕所需要的全部时间,或者一个接收站点从开始接收数据帧到数据帧接收完毕所需要的全部时间。
在本发明较佳实施例中,所述数据块的传输时延可以从每个存储节点中安装的一个负载量测工具或者性能监控工具中获取得到。
如上所述,所述上一个统计周期内的IO的平均数据块时延也可以采用算术平均值算法、几何平均数算法,或者均方根平均数算法来计算。假设,假设检测到上一个统计周期内,十次IO的传输时延分别为:1s、0.8s、1.5s、0.4s、5s、2s、0.02s、0.6s、3s及4.5s,则所述上一个统计周期内的IO平均数据块时延采用算术平均值算法来计算时,其结果为:
(1s+0.8s+1.5s+0.4s+5s+2s+0.1s+0.6s+3s+4.4s)=1.88s。
应当理解的是,若上一个统计周期内的IO的平均数据块大小采用算术平均值算法来计算,则上一个统计周期内的IO的平均数据块时延也采用算术平均值算法来计算;若上一个统计周期内的IO的平均数据块大小采用几何平均数算法来计算,则上一个统计周期内的IO的平均数据块时延也采用几何平均数算法来计算;或者若上一个统计周期内的IO的平均数据块大小采用均方根平均数算法来计算,则上一个统计周期内的IO的平均数据块时延也采用均方根平均数算法来计算。
所述流控计算模块307,还用于获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值。
在本发明较佳实施例中,所述IO数据块大小的基准值以及对应的数据块时延的基准值可以由存储系统的管理员根据经验预先设置。例如,根据经验,4K的数据块在传输时,时延最小,理想状态下可以达到50ms,则所述IO数据块大小的基准值可以设置为4k,对应的数据块时延的基准值可以设置为50ms。
所述流控计算模块307,还用于根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度。
举例而言,假设上一个统计周期内的所述IO的平均数据块大小为X、平均数据块时延为Y、数据块大小的基准值为M、对应的数据块时延的基准值为N,则所述上一个统计周期内的IO负载强度的计算公式为:
Figure BDA0001684533440000181
所述流控计算模块307,还用于根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别。
在本发明较佳实施例中,所述IO负载类别包括:高负载类别、正常负载类别、低负载类别。
优选地,所述负载分类模型包括,但不限于:支持向量机(Support VectorMachine,SVM)模型。将所述上一个统计周期内的IO的平均数据块大小、所述上一个统计周期内的IO的平均数据块时延、所述上一个统计周期内的IO负载强度作为所述负载分类模型的输入,经过所述负载分类模型计算后,输出上一个统计周期内的IO负载类别。
模型训练模块308,用于训练负载分类模型。
在本发明的优选实施例中,所述模型训练模块308训练所述负载分类模型的过程包括:
1)获取正样本的IO负载数据及负样本的IO负载数据,并将正样本的IO负载数据标注负载类别,以使正样本的IO负载数据携带IO负载类别标签。
例如,分别选取500个高负载类别、正常负载类别、低负载类别对应的IO负载数据,并对每个IO负载数据标注类别,可以以“1”作为高负载的IO数据标签,以“2”作为正常负载的IO数据标签,以“3”作为低负载的IO数据标签。
2)将所述正样本的IO负载数据及所述负样本的IO负载数据随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练所述负载分类模型,并利用所述验证集验证训练后的所述负载分类模型的准确率。
先将不同负载类别的训练集中的训练样本分发到不同的文件夹里。例如,将高负载类别的训练样本分发到第一文件夹里、正常负载类别的训练样本分发到第二文件夹里、低负载类别的训练样本分发到第三文件夹里。然后从不同的文件夹里分别提取第一预设比例(例如,70%)的训练样本作为总的训练样本进行负载分类模型的训练,从不同的文件夹里分别取剩余第二预设比例(例如,30%)的训练样本作为总的测试样本对训练完成的所述负载分类模型进行准确性验证。
3)若所述准确率大于或者等于预设准确率阈值时,则结束训练,以训练后的所述负载分类模型作为分类器识别所述当前统计周期内的IO负载类别;若所述准确率小于预设准确率阈值时,则增加正样本数量及负样本数量以重新训练所述负载分类模型直至所述准确率大于或者等于预设准确率阈值。
所述流控计算模块307,还用于根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值。
具体的,所述流控计算模块307,还用于根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值可以包括:
1)当所述上一个统计周期内的IO负载类别为高负载类别时,将所述上一个统计周期对应的流控阈值降低第一预设幅度,得到当前统计周期对应的流控阈值。
在上一个统计周期内的IO负载为高负载时,按照所述第一预设幅度降低流控阈值,以在当前统计周期内以低流控阈值对分布式存储系统中客户端请求删除的数据进行删除,通过降低分布式数据删除的速度来保证用户应用的高效访问。
在本发明的优选实施例中,所述第一预设幅度可以是上一个统计周期对应的流控阈值的1/2。即当前统计周期对应的流控阈值为上一个统计周期对应的流控阈值的1/2,下一个统计周期对应的流控阈值为当前统计周期对应的流控阈值的1/2。
2)当所述上一个统计周期内的IO负载类别为低负载类别时,将所述上一个统计周期对应的流控阈值提高第二预设幅度,得到下一个统计周期对应的流控阈值。
在上一个统计周期内的IO负载为低负载时,按照所述第二预设幅度提高流控阈值,以在当前统计周期内以高流控阈值对分布式存储系统中客户端请求删除的数据进行删除,在保证用户应用的访问质量的基础上,达到提高分布式数据删除的强度,将分布式系统中残留的垃圾数据尽快删除的目的。
在本发明的优选实施例中,所述第二预设幅度可以是上一个统计周期对应的流控阈值的1.5倍。即当前统计周期对应的流控阈值为上一个统计周期对应的流控阈值的1.5倍,下一个统计周期对应的流控阈值为当前统计周期对应的流控阈值的1.5倍。
3)当所述上一个统计周期内的IO负载类别为正常负载类别时,将所述上一个统计周期对应的流控阈值作为当前统计周期对应的流控阈值。
综上所述,本发明所述的分布式数据删除流控装置,接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息在接收到用户数据的写入请求时,每隔预设时间段获取所述处理队列中的数据删除请求;根据所述数据删除请求确定对应的待删除数据的索引信息;将所述待删除数据的索引信息存入配置的数据库中;获取删除周期内的当前统计周期对应的流控阈值;基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。本发明能够在接收到客户端请求删除数据时,先向客户端返回数据已删除的信息,后续在获取处理队列中的数据删除请求时真正将数据删除,即响应客户端的数据删除请求和执行删除数据的操作异步经常,从而有效的缩短客户端的等待时间;另外,在获取到处理队列中的数据删除请求时,是通过获取不同统计周期对应的流控阈值,基于每一个统计周期对应的流控阈值,对所述客户端请求删除的数据进行删除,在提高分布式数据删除的效率的同时,能够避免对正常输入输出业务性能造成明显冲击,具有很好的流控效果。
其次,当前统计周期对应的流控阈值是根据上一个统计周期内用户应用的IO负载自动进行动态调整,不需管理者手动调节,减少了管理者的工作量,避免了因管理者的主观因素导致的调整不精准的问题。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
实施例四
图4为本发明实施例四提供的电子设备的示意图。
所述电子设备4包括:存储器41、至少一个处理器42、存储在所述存储器41中并可在所述至少一个处理器42上运行的计算机程序43及至少一条通讯总线44。
所述至少一个处理器42执行所述计算机程序43时实现上述方法实施例中的步骤。
示例性的,所述计算机程序43可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述至少一个处理器42执行,以完成本发明上述方法实施例中的步骤。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序43在所述电子设备4中的执行过程。
所述电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备4还可以包括输入输出设备、网络接入设备、总线等。
所述至少一个处理器42可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器42可以是微处理器或者该处理器42也可以是任何常规的处理器等,所述处理器42是所述电子设备4的控制中心,利用各种接口和线路连接整个电子设备4的各个部分。
所述存储器41可用于存储所述计算机程序43和/或模块/单元,所述处理器42通过运行或执行存储在所述存储器41内的计算机程序和/或模块/单元,以及调用存储在存储器41内的数据,实现所述电子设备4的各种功能。所述存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备4的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备4集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神范围。

Claims (9)

1.一种分布式数据删除流控方法,其特征在于,所述方法包括:
接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息;
每隔预设时间段获取所述处理队列中的数据删除请求;
根据所述数据删除请求确定对应的待删除数据的索引信息;
将所述待删除数据的索引信息存入配置的数据库中;
获取删除周期内的当前统计周期对应的流控阈值,包括:判断当前统计周期是否为第一个统计周期;当确定所述当前统计周期不为第一个统计周期时,获取上一个统计周期内用户应用的IO负载,根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值,包括:获取上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小;获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延;获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值;根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度;根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别;根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;
基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。
2.如权利要求1所述的方法,其特征在于,所述根据所述数据删除请求确定对应的待删除数据的索引信息包括:
从多个存储节点中找到存储有所述数据删除请求对应的待删除数据的存储节点;
根据所述数据删除请求从匹配出的存储节点中获取所述待删除数据的索引信息。
3.如权利要求1所述的方法,其特征在于,所述获取删除周期内的当前统计周期对应的流控阈值还包括:
当确定所述当前统计周期为第一个统计周期时,将预设流控阈值确定为所述当前统计周期对应的流控阈值。
4.如权利要求1所述的方法,其特征在于,所述根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度的计算公式为:
Figure FDA0003674672770000021
其中,X为上述上一个统计周期内的所述IO的平均数据块大小,Y为所述平均数据块时延,M为所述数据块大小的基准值,N为所述对应的数据块时延的基准值。
5.如权利要求1或4所述的方法,其特征在于,所述负载分类模型的训练过程包括:
获取正样本的IO负载数据及负样本的IO负载数据,并将正样本的IO负载数据标注负载类别,以使正样本的IO负载数据携带IO负载类别标签;
将所述正样本的IO负载数据及所述负样本的IO负载数据随机分成第一预设比例的训练集和第二预设比例的验证集,利用所述训练集训练支持向量机分类模型,并利用所述验证集验证训练后的所述支持向量机分类模型的准确率;
若所述准确率大于或者等于预设准确率阈值时,则结束训练,以训练后的所述支持向量机分类模型作为负载分类模型识别所述当前统计周期内的IO负载类别。
6.如权利要求1所述的方法,其特征在于,所述根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值包括:
当所述上一个统计周期内的IO负载类别为高负载类别时,将所述上一个统计周期对应的流控阈值降低第一预设幅度,得到当前统计周期对应的流控阈值;
当所述上一个统计周期内的IO负载类别为低负载类别时,将所述上一个统计周期对应的流控阈值提高第二预设幅度,得到下一个统计周期对应的流控阈值;
当所述上一个统计周期内的IO负载类别为正常负载类别时,将所述上一个统计周期对应的流控阈值作为当前统计周期对应的流控阈值。
7.一种分布式数据删除流控装置,其特征在于,所述装置包括:
请求响应模块,用于接收到客户端发送的数据删除请求时,将所述数据删除请求添加至配置的处理队列中,同时向所述客户端返回数据删除成功的信息;
请求获取模块,用于每隔预设时间段获取所述处理队列中的数据删除请求;
索引确定模块,用于根据所述数据删除请求确定对应的待删除数据的索引信息;
索引存储模块,用于将所述待删除数据的索引信息存入配置的数据库中;
流控获取模块,用于获取删除周期内的当前统计周期对应的流控阈值,包括:判断当前统计周期是否为第一个统计周期;当确定所述当前统计周期不为第一个统计周期时,获取上一个统计周期内用户应用的IO负载,根据所述上一个统计周期内用户应用的IO负载,确定所述当前统计周期对应的流控阈值,包括:获取上一个统计周期内用户应用的每一个IO的数据块大小,计算所述上一个统计周期内的IO的平均数据块大小;获取所述上一个统计周期内的每个数据块的传输时延,计算所述上一个统计周期内的IO的平均数据块时延;获取预先设置的IO的数据块大小的基准值及对应的数据块时延的基准值;根据所述上一个统计周期内的所述IO的平均数据块大小、平均数据块时延、数据块大小的基准值、对应的数据块时延的基准值,计算所述上一个统计周期内的IO负载强度;根据所述上一个统计周期内的IO负载强度,利用预先训练好的负载分类模型确定所述上一个统计周期内的IO负载类别;根据上一个统计周期内的IO负载类别计算当前统计周期对应的流控阈值;
数据删除模块,用于基于所述当前统计周期对应的流控阈值,将所述数据库中的所述索引信息对应的数据进行删除。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至6中任意一项所述的分布式数据删除流控方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的分布式数据删除流控方法。
CN201810566096.6A 2018-06-04 2018-06-04 分布式数据删除流控方法、装置、电子设备及存储介质 Active CN108959399B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810566096.6A CN108959399B (zh) 2018-06-04 2018-06-04 分布式数据删除流控方法、装置、电子设备及存储介质
PCT/CN2018/100172 WO2019232927A1 (zh) 2018-06-04 2018-08-13 分布式数据删除流控方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810566096.6A CN108959399B (zh) 2018-06-04 2018-06-04 分布式数据删除流控方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN108959399A CN108959399A (zh) 2018-12-07
CN108959399B true CN108959399B (zh) 2022-07-15

Family

ID=64493090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810566096.6A Active CN108959399B (zh) 2018-06-04 2018-06-04 分布式数据删除流控方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN108959399B (zh)
WO (1) WO2019232927A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110120973A (zh) * 2019-04-28 2019-08-13 华为技术有限公司 一种请求控制方法、相关设备及计算机存储介质
CN112506896B (zh) * 2019-09-16 2023-08-04 杭州海康威视系统技术有限公司 一种数据删除方法、装置及电子设备
CN110941591A (zh) * 2019-11-22 2020-03-31 浪潮电子信息产业股份有限公司 一种文件删除方法、装置、设备及可读存储介质
CN110888844B (zh) * 2019-11-22 2023-03-21 浪潮电子信息产业股份有限公司 一种数据删除方法、系统、设备及计算机可读存储介质
CN111177137B (zh) * 2019-12-30 2023-10-13 广州酷狗计算机科技有限公司 数据去重的方法、装置、设备及存储介质
CN112118188A (zh) * 2020-08-25 2020-12-22 北京五八信息技术有限公司 一种流量限速方法、装置、电子设备及存储介质
CN112214503A (zh) * 2020-10-10 2021-01-12 深圳壹账通智能科技有限公司 数据处理方法、装置、电子设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1135746C (zh) * 2000-10-19 2004-01-21 华为技术有限公司 Cdma蜂窝移动通信系统中多业务负载监测和预测的装置及其计算方法
KR100851000B1 (ko) * 2001-10-15 2008-08-12 엘지전자 주식회사 VoIP에서의 네트워크 트래픽 제어 방법
US7600033B2 (en) * 2002-11-15 2009-10-06 International Business Machines Corporation Network traffic control in peer-to-peer environments
CN101631346B (zh) * 2009-06-05 2012-06-20 西安电子科技大学 基于信号强度和负载估计的区间切换方法
CN102355425B (zh) * 2011-10-26 2014-10-29 深信服网络科技(深圳)有限公司 一种网络流量控制方法和设备
TWM439962U (en) * 2012-05-04 2012-10-21 Univ Hungkuang Network traffic control system with congestion-aware function
EP2887590B1 (en) * 2012-09-25 2017-09-20 Huawei Technologies Co., Ltd. Flow control method, device and network
CN104092619B (zh) * 2014-07-25 2017-07-21 华为技术有限公司 流量控制方法及装置
CN104408656A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 动态调整流控阈值的方法及系统
WO2016183556A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Dynamic code loading
CN105095489A (zh) * 2015-08-18 2015-11-25 浪潮(北京)电子信息产业有限公司 一种分布式文件删除方法、装置和系统
US10091124B2 (en) * 2015-09-04 2018-10-02 Citrix Systems, Inc. System for early system resource constraint detection and recovery
KR101748272B1 (ko) * 2015-12-10 2017-06-27 현대자동차주식회사 차량에서의 대용량 진단 통신 제어 방법 및 장치
CN105824881B (zh) * 2016-03-10 2019-03-29 中国人民解放军国防科学技术大学 一种基于负载均衡的重复数据删除数据放置方法
CN107454004A (zh) * 2016-05-30 2017-12-08 阿里巴巴集团控股有限公司 一种流量控制方法和装置
CN107544862B (zh) * 2016-06-29 2022-03-25 中兴通讯股份有限公司 一种基于纠删码的存储数据重构方法和装置、存储节点
CN106227469A (zh) * 2016-07-28 2016-12-14 乐视控股(北京)有限公司 用于分布式存储集群的数据删除方法及系统
CN106656840B (zh) * 2016-11-25 2019-11-08 杭州安恒信息技术股份有限公司 一种应用于网络爬虫的动态流量控制方法
CN107330061B (zh) * 2017-06-29 2021-02-02 苏州浪潮智能科技有限公司 一种基于分布式存储的文件删除方法及装置

Also Published As

Publication number Publication date
WO2019232927A1 (zh) 2019-12-12
CN108959399A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN108959399B (zh) 分布式数据删除流控方法、装置、电子设备及存储介质
CN108762686B (zh) 数据一致性校验流控方法、装置、电子设备及存储介质
US20190199797A1 (en) System and method for scheduling computer tasks
CN108804039B (zh) 自适应的数据恢复流控方法、装置、电子设备及存储介质
US8112546B2 (en) Routing users to receive online services based on online behavior
US10043220B2 (en) Method, device and storage medium for data processing
KR101719500B1 (ko) 캐싱된 플로우들에 기초한 가속
JP7330393B2 (ja) リソースを管理かつ制御する方法および装置、デバイスならびに記憶媒体
US20200204688A1 (en) Picture book sharing method and apparatus and system using the same
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN110659151A (zh) 数据校验方法及装置,存储介质
CN111611622A (zh) 基于区块链的文件存储方法和电子设备
CN108762684B (zh) 热点数据迁移流控方法、装置、电子设备及存储介质
CN108763107B (zh) 后台写盘流控方法、装置、电子设备及存储介质
WO2019174206A1 (zh) 一种存储设备的数据读取方法、装置、终端设备和存储介质
WO2019232932A1 (zh) 节点处理方法及装置、计算机可读存储介质和电子设备
CN112433812A (zh) 一种虚拟机跨集群迁移方法、系统、设备及计算机介质
CN114338386B (zh) 一种网络的配置方法、装置、电子设备及存储介质
WO2023061180A1 (zh) 基于多频率的数据发送和接收方法、装置和设备
CN113590666B (zh) 一种ai集群中数据缓存方法、系统、设备及计算机介质
WO2022021357A1 (zh) 一种文件块下载方法及装置
TW202315360A (zh) 微服務分配方法、電子設備及儲存介質
CN110119364B (zh) 一种输入/输出批量提交的方法和系统
US11526490B1 (en) Database log performance
CN116737088B (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