CN113419993B - 读写请求处理方法、装置、电子设备及存储介质 - Google Patents
读写请求处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113419993B CN113419993B CN202110547664.XA CN202110547664A CN113419993B CN 113419993 B CN113419993 B CN 113419993B CN 202110547664 A CN202110547664 A CN 202110547664A CN 113419993 B CN113419993 B CN 113419993B
- Authority
- CN
- China
- Prior art keywords
- read
- write request
- request
- write
- information
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012216 screening Methods 0.000 claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种读写请求处理方法、装置、电子设备及存储介质。读写请求处理方法应用于分布式文件***的主节点,包括:接收到客户端发送的待处理读写请求,从分布式文件***的多个从节点中确定与待处理读写请求对应的至少两个初始从节点;获取至少两个初始从节点各自对应的第一负载信息;当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息;根据第一负载信息和负载等级信息,从至少两个初始从节点中筛选出目标从节点;将目标从节点的标识信息发送至客户端。根据本公开提供的技术方案,能够及时对从节点进行过载保护,有效适用于实时性要求较高的负载均衡场景。
Description
技术领域
本公开涉及大数据存储技术领域,尤其涉及一种读写请求处理方法、装置、电子设备及存储介质。
背景技术
目前越来越多的业务需要大数据存储和大数据处理的支撑,HDFS(HadoopDistributed File System,Hadoop,分布式文件***)作为分布式文件存储***,有效地解决了大规模数据存储和处理的问题。但伴随着互联网的不断发展,每天读写的数据量也在成倍数地上涨,使得HDFS中的主节点和从节点的压力处于波动状态,存在瞬时读写请求过多导致部分节点过载的场景。相关技术中采用的过载保护策略一般比较滞后,不适用于实时性要求较高的应用场景。
发明内容
本公开提供一种读写请求处理方法、装置、电子设备及存储介质,以至少解决相关技术中如何应对实时性要求较高的过载保护问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种读写请求处理方法,应用于分布式文件***的主节点,包括:
接收到客户端发送的待处理读写请求,从所述分布式文件***的多个从节点中确定与所述待处理读写请求对应的至少两个初始从节点;
获取所述至少两个初始从节点各自对应的第一负载信息;
当所述第一负载信息均大于第一负载阈值时,获取所述至少两个初始从节点各自对应的负载等级信息;
根据所述第一负载信息和所述负载等级信息,从所述至少两个初始从节点中筛选出目标从节点;
将所述目标从节点的标识信息发送至所述客户端。
在一种可能的实现方式中,所述当所述第一负载信息均大于第一负载阈值时,获取所述至少两个初始从节点各自对应的负载等级信息步骤包括:
获取每个初始从节点对应的第一读写请求;
获取所述待处理读写请求的目标请求等级信息;
从所述第一读写请求中筛选出与所述目标请求等级信息匹配的第二读写请求;
根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息,所述负载等级信息表征所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息。
在一种可能的实现方式中,所述获取所述待处理读写请求的目标请求等级信息步骤包括:
获取所述待处理读写请求的读写类型和业务类型;
根据所述读写类型确定第一优先级;
根据所述业务类型确定第二优先级;
根据所述第一优先级和所述第二优先级,确定所述待处理读写请求的目标请求等级信息。
在一种可能的实现方式中,所述读写请求处理方法还包括:
获取所述主节点对应的第二负载信息,所述第二负载信息包括第一资源池的负载信息和第二资源池的负载信息;
根据所述第一资源池的负载信息和所述第二资源池的负载信息,调整所述第一资源池的资源和所述第二资源池的资源。
在一种可能的实现方式中,所述读写请求处理方法还包括:
获取所述主节点的算力信息;
在所述算力信息大于预设阈值的情况下,减少所述第二资源池中的资源;
其中,所述第一资源池的优先级高于所述第二资源池的优先级。
在一种可能的实现方式中,所述读写请求处理方法还包括:
监测所述主节点的读写请求和所述多个从节点的读写请求;
当监测到超时的读写请求时,中断所述超时的读写请求;
若所述超时的读写请求为所述多个从节点的读写请求,确定所述超时的读写请求对应的从节点为慢节点;
当所述慢节点的负载信息大于第二负载阈值时,降低所述慢节点对应的请求数量阈值;其中,所述第二负载阈值大于所述第一负载阈值;
从所述多个从节点中确定所述慢节点的副本节点;
当所述副本节点的负载信息不大于所述第二负载阈值时,将所述超时的读写请求切换至所述副本节点。
在一种可能的实现方式中,在所述从所述第一读写请求中筛选出与所述目标请求等级信息匹配的第二读写请求步骤之后,所述读写请求处理方法还包括:
获取所述至少两个初始从节点各自对应的请求占比权重信息;
所述根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息步骤包括:
根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,确定所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息;
根据每个初始从节点对应的请求占比信息和对应的请求占比权重信息,确定每个初始从节点对应的负载等级信息。
根据本公开实施例的第二方面,提供一种读写请求处理方法,应用于分布式文件***的从节点,包括:
接收到待处理读写请求,获取所述从节点对应的读写请求的读写请求数量;
若所述读写请求数量达到请求数量阈值,获取所述从节点对应的读写请求的请求等级信息以及所述待处理读写请求的目标请求等级信息;
从所述从节点对应的读写请求中,筛选出请求等级信息低于所述目标请求等级信息的低等级读写请求;
中断所述低等级读写请求中的至少一个读写请求。
在一种可能的实现方式中,所述读写请求处理方法还包括:
当监测到所述从节点对应的读写请求中存在超时的读写请求时,中断所述超时的读写请求;
降低所述从节点对应的请求数量阈值。
根据本公开实施例的第三方面,提供一种读写请求处理装置,应用于分布式文件***的主节点,包括:
初始从节点确定模块,被配置为执行接收到客户端发送的待处理读写请求,从所述分布式文件***的多个从节点中确定与所述待处理读写请求对应的至少两个初始从节点;
第一负载信息获取模块,被配置为执行获取所述至少两个初始从节点各自对应的第一负载信息;
负载等级信息获取模块,被配置为执行当所述第一负载信息均大于第一负载阈值时,获取所述至少两个初始从节点各自对应的负载等级信息;
筛选模块,被配置为执行根据所述第一负载信息和所述负载等级信息,从所述至少两个初始从节点中筛选出目标从节点;
发送模块,被配置为执行将所述目标从节点的标识信息发送至所述客户端。
在一种可能的实现方式中,所述负载等级信息获取模块包括:
第一读写请求获取单元,被配置为执行获取每个初始从节点对应的第一读写请求;
目标请求等级信息获取单元,被配置为执行获取所述待处理读写请求的目标请求等级信息;
第二读写请求筛选单元,被配置为执行从所述第一读写请求中筛选出与所述目标请求等级信息匹配的第二读写请求;
负载等级信息获取单元,被配置为执行根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息,所述负载等级信息表征所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息。
在一种可能的实现方式中,所述目标请求等级信息获取单元包括:
读写类型和业务类型获取子单元,被配置为执行获取所述待处理读写请求的读写类型和业务类型;
第一优先级确定子单元,被配置为执行根据所述读写类型确定第一优先级;
第二优先级确定子单元,被配置为执行根据所述业务类型确定第二优先级;
请求等级信息确定子单元,被配置为执行根据所述第一优先级和所述第二优先级,确定所述待处理读写请求的目标请求等级信息。
在一种可能的实现方式中,所述读写请求处理装置还包括:
第二负载信息获取模块,被配置为执行获取所述主节点对应的第二负载信息,所述第二负载信息包括第一资源池的负载信息和第二资源池的负载信息;
资源池调整模块,被配置为执行根据所述第一资源池的负载信息和所述第二资源池的负载信息,调整所述第一资源池的资源和所述第二资源池的资源。
在一种可能的实现方式中,所述读写请求处理装置还包括:
算力信息获取模块,被配置为执行获取所述主节点的算力信息;
资源释放模块,被配置为执行在所述算力信息大于预设阈值的情况下,减少所述第二资源池中的资源;
其中,所述第一资源池的优先级高于所述第二资源池的优先级。
在一种可能的实现方式中,所述读写请求处理装置还包括:
监测模块,被配置为执行监测所述主节点的读写请求和所述多个从节点的读写请求;
超时中断模块,被配置为执行当监测到超时的读写请求时,中断所述超时的读写请求;
慢节点确定模块,被配置为执行若所述超时的读写请求为所述多个从节点的读写请求,确定所述超时的读写请求对应的从节点为慢节点;
慢节点请求阈值调整模块,被配置为执行当所述慢节点的负载信息大于第二负载阈值时,降低所述慢节点对应的请求数量阈值;
副本节点确定模块,被配置为执行从所述多个从节点中确定所述慢节点的副本节点;
读写请求切换模块,被配置为执行当所述副本节点的负载信息不大于第二负载阈值时,将所述超时的读写请求切换至所述副本节点。
在一种可能的实现方式中,所述负载等级信息获取模块还包括:
请求占比权重信息获取单元,被配置为执行获取所述至少两个初始从节点各自对应的请求占比权重信息;
所述负载等级信息获取单元包括:
请求占比信息确定子单元,被配置为执行根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,确定所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息;
负载等级信息确定子单元,被配置为执行根据每个初始从节点对应的请求占比信息和对应的请求占比权重信息,确定每个初始从节点对应的负载等级信息。
根据本公开实施例的第四方面,提供一种读写请求处理装置,应用于分布式文件***的从节点,包括:
读写请求数量获取模块,被配置为执行接收到待处理读写请求,获取所述从节点对应的读写请求的读写请求数量;
等级信息获取模块,被配置为执行若所述读写请求数量达到请求数量阈值,获取所述从节点对应的读写请求的请求等级信息以及所述待处理读写请求的目标请求等级信息;
低等级读写请求筛选模块,被配置为执行从所述从节点对应的读写请求中,筛选出请求等级信息低于所述目标请求等级信息的低等级读写请求;
第一中断模块,被配置为执行中断所述低等级读写请求中的至少一个读写请求。
在一种可能的实现方式中,所述读写请求处理装置还包括:
第二中断模块,被配置为执行当监测到所述从节点对应的读写请求中存在超时的读写请求时,中断所述超时的读写请求;
请求数量阈值调整模块,被配置为执行降低所述从节点对应的请求数量阈值。
根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上述第一方面以及第二方面中任一项所述的方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第一方面以及第二方面中任一所述方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时,使得计算机执行本公开实施例的第一方面以及第二方面中任一项所述方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过实时获取至少两个初始从节点各自对应的第一负载信息,以及在第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息,并根据第一负载信息和负载等级信息,从至少两个初始从节点中筛选出用于读写服务的目标从节点,在确定用于读写服务的目标从节点之前,就基于从节点的负载信息进行负载均衡处理,能够及时对从节点进行过载保护;另外,通过分布式文件***内部的主节点执行读写请求处理,可以进一步提高节点过载保护的实时性,能够适用于实时性要求较高的负载均衡场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种应用环境的示意图。
图2是根据一示例性实施例示出的一种读写请求处理方法的流程图。
图3是根据一示例性实施例示出的一种主节点与从节点的架构示意图。
图4是根据一示例性实施例示出的一种当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息的方法流程图。
图5是根据一示例性实施例示出的一种获取待处理读写请求的目标请求等级信息的方法流程图。
图6是根据一示例性实施例示出的一种读写请求处理方法的流程图。
图7是根据一示例性实施例示出的一种读写请求处理方法的流程图。
图8是根据一示例性实施例示出的一种当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息的方法流程图。
图9是根据一示例性实施例示出的一种读写请求处理方法的流程图。
图10是根据一示例性实施例示出的一种读写请求处理装置框图。
图11是根据一示例性实施例示出的一种读写请求处理装置框图。
图12是根据一示例性实施例示出的一种用于读写请求处理的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
请参阅图1,图1是根据一示例性实施例示出的一种应用环境的示意图,如图1所示,该应用环境可以包括服务器01和终端02。
在一个可选的实施例中,服务器01可以用于执行读写请求处理。具体的,服务器01可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一个可选的实施例中,终端02可以提供面向用户的读写请求服务,例如用户可以在终端02发送读写请求至分布式文件***,以通过与主节点和从节点的交互,实现读写操作。具体的,终端02可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作***可以包括但不限于安卓***、IOS***、linux、windows等。
此外,需要说明的是,图1所示的仅仅是本公开提供的图像处理方法的一种应用环境。
本说明书实施例中,上述服务器01以及终端02可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
目前一般采用客户端感知过载节点以进行过载保护的措施,或者采用QPS(Queries-per-second,每秒查询率)定额限制或流量定额限制等阈值限定的过载保护策略。客户端感知和限制阈值的方式均比较滞后,对于读写请求峰值以及节点过载等这些瞬时出现的现象,不能及时有效地响应和处理,不适用于实时性要求较高的应用场景;也不能充分利用HDFS的整体服务能力。基于此,本公开选择由分布式文件***的主节点或从节点进行读写请求的处理,并设置了具体的处理策略。以下先介绍主节点的读写请求处理过程。其中,分布式文件***可以为HDFS,本公开对此不作限定。
图2是根据一示例性实施例示出的一种读写请求处理方法的流程图,可以应用于分布式文件***的主节点。如图2所示,该读写请求处理方法可以包括以下步骤:
在步骤S201中,接收到客户端发送的待处理读写请求,从分布式文件***的多个从节点中确定与待处理读写请求对应的至少两个初始从节点。
在实际应用中,客户端可以发送读写请求至分布式文件***的主节点,该主节点接收到该读写请求,可以将该读写请求作为待处理读写请求。其中,读写请求的读写类型可以包括读类型和写类型,读类型的请求可以包括读取数据请求和复制数据请求,写类型的请求可以包括追加数据请求和写入数据请求,本公开对此不作限定。可选地,读请求中可以包括读取的起始位置、客户端IP(Internet Protocol,网际互连协议)信息等,该读取的起始位置可以预先指定,例如可以为位置0。写请求中可以包括写入的副本数,文件权限、数据块大小、客户端IP信息,其中,客户端IP信息可以包括客户端IP地址信息,本公开对这些均不作限定。
本说明书实施例中,当待处理读写请求为读类型时,可以根据待处理读写请求中的数据块标识,确定存储该数据块标识对应数据的从节点为该待处理读写请求对应的至少两个初始从节点。当待处理读写请求为写类型时,可以确定分布式文件***的多个从节点为该待处理读写请求对应的至少两个初始从节点,即可以确定分布式文件***中的全部从节点为待处理读写请求对应的至少两个初始从节点。
在步骤S203中,获取至少两个初始从节点各自对应的第一负载信息。
本说明书实施例中,可以获取每个初始从节点的硬件负载信息和软件负载信息,从而可以根据硬件负载信息和软件负载信息,确定每个初始从节点对应的第一负载信息。如图3所示,主节点中的负载感知模块可以用于实时感知主节点的负载,从节点中的负载感知模块可以用于实时感知从节点的负载,从节点的负载可以作为第一负载信息,主节点的负载感知模块可以从各个从节点的负载感知模块获取各个从节点对应的第一负载信息,从而可以获取至少两个初始从节点各自对应的第一负载信息。
在一个示例中,可以将硬件负载信息和软件负载信息中较大的作为第一负载信息;或者可以将硬件负载信息和软件负载信息的权重和作为第一负载信息,本公开对此不作限定。
其中,硬件负载信息可以包括以下中的至少一个:磁盘使用率、磁盘空间信息、网卡的带宽使用率;软件负载信息可以包括以下中的至少一个:读写速度、QPS、每个线程的使用率,本公开对此不作限定。
在步骤S205中,当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息。
实际应用中,当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息。作为一个示例,考虑到对读请求和写请求进行处理所消耗的资源不同,在进行读写请求的处理时,可以均衡从节点中读请求和写请求的数量。基于此,当第一负载信息均大于第一负载阈值时,可以获取待处理读写请求的目标读写类型;从而可以确定每个初始从节点中与目标读写类型匹配的读写请求的目标数量,并可以基于读写请求数量与负载等级的映射关系,确定与目标数量对应的负载等级信息。比如:负载等级为高、中、低,分别对应的读写请求数量为大于或等于H1、大于H2且小于H1、小于或等于H2。如果一个初始从节点的目标数量小于或等于H2,可以确定该一个初始从节点对应的负载等级信息为低。
可选地,当存在小于或等于第一负载阈值的第一负载信息时,可以将较低的至少一个第一负载信息对应的至少一个初始从节点作为目标从节点。
在步骤S207中,根据第一负载信息和负载等级信息,从至少两个初始从节点中筛选出目标从节点。
本说明书实施例中,可以基于第一负载信息和负载等级信息两个方面,确定目标从节点。例如,可以从至少两个初始从节点中筛选出第一负载信息较低、且负载等级信息较低的从节点作为目标从节点,使得确定的目标从节点是压力较低的从节点,实现读请求和写请求的均衡。
可选地,可以分别对第一负载信息和负载等级信息进行量化处理,从而可以基于量化后的信息,从至少两个初始从节点中筛选出目标从节点。例如可以根据第一负载信息量化后的信息与负载等级信息量化后的信息的权重和,从至少两个初始从节点中筛选出目标从节点。例如,可以将权重和较小的初始从节点作为目标从节点。需要说明的是,当待处理读写请求为读请求时,目标从节点可以为一个;当待处理读写请求为写请求时,目标从节点可以为至少两个。作为一个示例,可以根据第一负载信息与负载等级信息的权重和,将至少两个初始从节点按照从低到高排序,当待处理读写请求为读请求时,可以将排序首位的从节点作为目标从节点;当待处理读写请求为写请求时,可以将排序靠前的预设数量的从节点作为目标从节点,这里的预设数量可以是指写请求需要存储的副本数量,例如可以为3,本公开对此不作限定。
在步骤S209中,将目标从节点的标识信息发送至客户端。
实际应用中,可以将目标从节点的标识信息发送至上述发送待处理读写请求的客户端,以使客户端将待处理读写请求路由至目标从节点,与目标从节点交互以完成读写操作。
通过实时获取至少两个初始从节点各自对应的第一负载信息,以及在第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息,并根据第一负载信息和负载等级信息,从至少两个初始从节点中筛选出用于读写服务的目标从节点,在确定用于读写服务的目标从节点之前,就基于从节点的负载信息进行负载均衡处理,能够及时对从节点进行过载保护;另外,通过分布式文件***内部的主节点执行读写请求处理,可以进一步提高节点过载保护的实时性,能够适用于实时性要求较高的负载均衡场景。
图4是根据一示例性实施例示出的一种当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息的方法流程图。如图4所示,在一种可能的实现方式中,该步骤S205可以包括:
在步骤S401中,获取每个初始从节点对应的第一读写请求;
在步骤S403中,获取待处理读写请求的目标请求等级信息;
在步骤S405中,从第一读写请求中筛选出与目标请求等级信息匹配的第二读写请求;
在步骤S407中,根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息,该负载等级信息可以表征对应的第二读写请求在对应的第一读写请求中的请求占比信息。
实际应用中,当第一负载信息均大于第一负载阈值时,可以获取每个初始从节点当前服务的读写请求作为每个初始从节点对应的第一读写请求。并可以获取待处理读写请求的目标请求等级信息,该目标请求等级信息可以是多个请求等级信息中的一个。该请求等级信息可以是指读写请求被处理的优先级信息。例如,可以预先设置业务类型对应的请求等级信息,从而可以获取待处理读写请求对应的业务类型,可以基于该对应的业务类型,确定待处理读写请求的目标请求等级信息。其中,业务类型可以包括视频业务类型、查询业务类型、训练业务类型等。第一负载阈值可以用于指示需要启动过载保护的负载,例如,第一负载阈值可以为负载上限的50%,即当第一负载信息达到负载上限的50%时,可以指示需要启动过载保护措施,即可以进入步骤S205。
本说明书实施例中,可以从第一读写请求中筛选出与目标请求等级信息匹配的第二读写请求,并可以根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息。上述请求占比信息可以是指第一读写请求中与目标请求等级信息匹配的读写请求占第一读写请求的比例信息,即第二读写请求的数量在第一读写请求的数量中的占比。其中,与待处理读写请求的目标请求等级信息匹配可以是指不低于待处理读写请求的目标请求等级信息。
在一个示例中,可以获取第一读写请求的请求等级信息;并可以基于第一读写请求的请求等级信息,从第一读写请求中筛选出与待处理读写请求的目标请求等级信息匹配的第二读写请求;从而可以将第二读写请求在第一读写请求中的占比信息作为请求占比信息,进而可以将该请求占比信息作为负载等级信息。例如,请求等级信息包括从高到低的请求等级为:高优写请求、高优读请求、低优写请求、低优读请求。待处理读写请求的目标请求等级信息可以为高优读请求,这时,若获取到第一读写请求中高优读请求对应的读写请求的数量为b、高优写请求对应的读写请求的数量为a;并可以获取第一读写请求中低优写请求、低优读请求对应的读写请求的数量分别为c和d。从而可以根据以下公式(1)计算该请求占比信息P1:
其中,(a+b+c+d)可以是指一个初始从节点对应的第一读写请求的总数量;a+b可以是指该一个初始从节点对应的第一读写请求中与目标请求等级信息匹配的第二读写请求的数量。
通过获取待处理读写请求的目标请求等级信息,并且利用第一读写请求中与目标请求等级信息匹配的读写请求的请求占比信息筛选目标从节点,可以保证待处理读写请求向具有较低等级读写请求的从节点路由,实现各从节点中较高等级读写请求的数量均衡性,充分保证较高等级读写请求的服务质量,以及可以保障分布式文件***整体服务的稳定性和服务能力的合理化分配。
图5是根据一示例性实施例示出的一种获取待处理读写请求的目标请求等级信息的方法流程图。在一种可能的实现方式中,如图5所示,该步骤S403可以包括以下步骤:
在步骤S501中,获取待处理读写请求的读写类型和业务类型;
在步骤S503中,根据读写类型确定第一优先级;
在步骤S505中,根据业务类型确定第二优先级;
在步骤S507中,根据第一优先级和第二优先级,确定待处理读写请求的目标请求等级信息。
实际应用中,可以预先设置读写类型与第一优先级的对应关系、业务类型与第二优先级的对应关系。从而可以基于读写类型与第一优先级的对应关系、业务类型与第二优先级的对应关系,确定第一优先级和第二优先级。进而可以根据第一优先级和第二优先级,确定待处理读写请求的目标请求等级信息。其中,第一优先级较高、且第二优先级也较高对应的请求等级信息可以为较高。
在一个示例中,可以设置写类型对应的第一优先级高于读类型对应的第一优先级;业务类型与第二优先级的对应关系可以根据实际需求设置。第二优先级可以包括高优先级(高优)和低优先级(低优),本公开对此均不作限定。相应地,可以根据第一优先级和第二优先级,确定请求等级按照从高到低的顺序可以包括高优写等级、高优读等级、低优写等级、低优读等级。当第一优先级为读类型对应的第一优先级、第二优先级为高优先级时,可以确定待处理读写请求的目标请求等级信息为高优读等级。这里仅仅是一个示例,不对本公开进行限定。
通过结合读写类型和业务类型确定目标请求等级信息,可以适应读写特征和业务的重要程度,在保证读写服务的充分利用下,能够保证较重要的业务读写请求得到服务保障。
图6是根据一示例性实施例示出的一种读写请求处理方法的流程图。在一种可能的实现方式中,如图6所示,读写请求处理方法还可以包括以下步骤。需要说明的是,这里的步骤可以是实时进行的,不受其它步骤的限制。
在步骤S601中,获取主节点对应的第二负载信息,第二负载信息可以包括第一资源池的负载信息和第二资源池的负载信息;
在步骤S603中,根据第一资源池的负载信息和第二资源池的负载信息,调整第一资源池的资源和第二资源池的资源。
实际应用中,可以获取主节点对应的第二负载信息,并可以根据第一资源池的负载信息和第二资源池的负载信息,调整第一资源池的资源和第二资源池的资源。在一个示例中,第一资源池的资源和第二资源池的资源可以是指线程资源,相应地,第一资源池的负载信息可以是指第一资源池的资源使用率,例如第一资源池的线程资源的使用比例;第二资源池的负载信息可以是指第二资源池的资源使用率,例如第二资源池的线程资源的使用比例。其中,第一资源池和第二资源池可以是预先划分的,例如,可以将主节点的线程资源的70%划分为第一资源池,将主节点的线程资源的30%划分为第二资源池,本公开对此不作限定。
本说明书实施例中,可以在第一资源池的负载信息较高、第二资源池的负载信息较低时,将第二资源池中的资源调整至第一资源池中;在第二资源池的负载信息较高、第一资源池的负载信息较低时,将第一资源池中的资源调整至第二资源池中。例如,可以在第一资源池的负载信息高于预设调整比例、且第二资源池的负载信息低于预设调整比例时,可以将第二资源池中的资源调整至第一资源池中,以增加第一资源池中的资源;在第二资源池的负载信息高于预设调整比例、且第一资源池的负载信息低于预设调整比例时,可以将第一资源池中的资源调整至第二资源池中,以增加第二资源池中的资源。其中,预设调整比例可以为95%,本公开对此不作限定。
在一个示例中,在将第一资源池中的资源调整至第二资源池中时,可以按照预设步长实现该调整,例如,预设步长为5%,可以将第一资源池中的5%的资源调整到第二资源池中,本公开对此不作限定。
可选地,可以设置第一资源池的优先级高于第二资源池的优先级,或者设置第二资源池的优先级高于第一资源池的优先级。本公开对此不作限定。较高优先级的资源池可以用于服务较高请求等级的读写请求,较低优先级的资源池可以用于服务较低请求等级的读写请求。作为一个示例,若第一资源池的优先级高于第二资源池的优先级,在这种情况下,第一资源池可以用于为高优写请求和高优读请求提供服务;第二资源池可以用于为低优写请求和低优读请求提供服务。
通过第一资源池的负载信息和第二资源池的负载信息,对第一资源池的资源和第二资源池的资源进行调整,可以动态划分主节点的线程资源,从而可以根据不同请求等级的读写请求的数量,动态调整第一资源池的资源和第二资源池的资源,即可以保证高请求等级读写请求的服务需求,也可以保证低请求等级读写请求的服务需求。
进一步地,还可以对主节点的整体资源进行感知,在整体资源不足时,可以减少低优先级的资源池中的资源,使得主节点可以降低服务的读写请求数量,从而可以降低主节点的压力。基于此,在一种可能的实现方式中,该读写请求处理方法还可以包括以下步骤:
获取主节点的算力信息;
在算力信息大于预设阈值的情况下,减少第二资源池中的资源;其中,第一资源池的优先级可以高于第二资源池的优先级。
本说明书实施例中,算力信息可以是指主节点的CPU使用率、垃圾回收时长信息等。本公开对此不作限定,只要能够表征主节点算力的信息即可。
可选地,当主节点的算力信息恢复至不大于预设阈值时,可以恢复第二资源池中的资源。
通过在算力信息大于预设阈值的情况下,减少优先级较低的第二资源池中的资源,可以缓解主节点的压力,并且可以保证优先级较高的第一资源池的服务能力。
图7是根据一示例性实施例示出的一种读写请求处理方法的流程图。在一种可能的实现方式中,如图7所示,读写请求处理方法还可以包括以下步骤。需要说明的是,这里的步骤可以是实时进行的,不受其它步骤的限制。
在步骤S701中,监测主节点的读写请求和多个从节点的读写请求;
在步骤S703中,当监测到超时的读写请求时,中断超时的读写请求。
本说明书实施例中,可以实时监测主节点的读写请求和多个从节点的读写请求,以监测主节点和多个从节点中是否存在超时的读写请求。当监测到超时的读写请求时,可以中断超时的读写请求,避免无用读写请求占用服务资源。其中,超时的读写请求可以是指读写请求的读写速度低于预设读写速度,本公开对此不作限定。
在步骤S705中,若超时的读写请求为多个从节点的读写请求,确定超时的读写请求对应的从节点为慢节点;
在步骤S707中,当慢节点的负载信息大于第二负载阈值时,降低慢节点对应的请求数量阈值。
实际应用中,在中断超时的读写请求后,还可以进一步地判断超时的读写请求对应的节点是否为从节点,若是,可以确定超时的读写请求对应的从节点为慢节点。并且可以判断慢节点的负载信息是否大于第二负载阈值,当慢节点的负载信息大于第二负载阈值时,可以降低慢节点对应的请求数量阈值,从而可以减少该慢节点的压力。其中,第二负载阈值可以大于第一负载阈值。
在步骤S709中,从多个从节点中确定慢节点的副本节点;
在步骤S711中,当副本节点的负载信息不大于第二负载阈值时,将超时的读写请求切换至副本节点。
本说明书实施例中,分布式文件***中的数据一般会存储在多个从节点中,即相同数据会有多个副本数据。基于此,该慢节点的副本节点可以是指存储有超时的读写请求所需数据的副本数据的从节点。从而可以基于超时的读写请求所需的数据,从多个从节点中筛选出存储数据副本的至少一个从节点作为副本节点。进一步地,可以判断副本节点的负载信息是否大于第二负载阈值,若否,可以将超时的读写请求切换至副本节点;若是,可以不对超时的读写请求进行处理,使超时的读写请求处于中断状态。
可选地,在客户端也可以进行读写请求的超时监测,若监测到超时的读写请求,可以将超时的读写请求切换至副本节点。例如,HDFS客户端可以感知一定时间窗口内读写请求是否超时,若超时,可以中断与当前从节点的连接。可以借助HDFS多副本特性,在用户无感知的情况下,将超时的读写请求切换至副本节点继续进行读写操作。作为一个示例,客户端可以实时监测中断的从节点,如果中断的从节点恢复服务能力,可以将超时的读写请求切换回来,继续由之前中断的从节点提供读写服务。通过结合客户端的事中负载感知,可以充分利用资源以及提高资源利用的合理化。
通过监测主节点的读写请求和从节点的读写请求,可以及时中断超时的读写请求,可以避免无用的读写请求持续占用分布式文件***的资源;通过降低负载大于第二负载阈值的从节点的请求数量阈值以降低慢节点的最大服务能力,可以减少进入慢节点的读写请求,实现延迟接收以降低慢节点的负载压力,有效提供了过载保护措施。另外,通过借助分布式文件***的多副本特征,可以将超时的读写请求快速、平滑的切换至低负载的副本节点,在保证用户的读写请求可以继续得到服务时,还可以有效均衡各从节点的负载压力。
图8是根据一示例性实施例示出的一种当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息的方法流程图。在一种可能的实现方式中,如图8所示,在步骤S405之后,还可以包括以下步骤:
在步骤S801中,获取至少两个初始从节点各自对应的请求占比权重信息。
本说明书实施例中,可以获取至少两个初始从节点各自对应的请求占比权重信息。该请求占比权重信息可以用于表征请求占比对从节点的性能波动的影响程度,该请求占比权重信息的范围可以为(5%,10%),本公开对此不作限定。例如,可以预先存储从节点与请求占比权重信息的映射关系,从而可以根据该映射关系,获取至少两个初始从节点各自对应的请求占比权重信息。
相应地,步骤S407可以包括以下步骤:
在步骤S803中,根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,确定该对应的第二读写请求在该对应的第一读写请求中的请求占比信息;该步骤可以参见上述公式(1),在此不再赘述。
在步骤S805中,根据每个初始从节点对应的请求占比信息和对应的请求占比权重信息,确定每个初始从节点对应的负载等级信息。
本说明书实施例中,可以将每个从节点的请求占比权重信息和请求占比信息的乘积,作为每个从节点对应的负载等级信息。以待处理读写请求的读写类型为高优读请求为例,可以基于以下公式(2)计算负载等级信息P2。
其中,a可以为第一读写请求中高优写请求对应的读写请求的数量;b可以为第一读写请求中高优读请求对应的读写请求的数量;c可以为第一读写请求中低优写请求对应的读写请求的数量;d可以为第一读写请求中低优读请求对应的读写请求的数量;(a+b+c+d)可以是指一个初始从节点对应的第一读写请求的总数量;a+b可以是指该一个初始从节点对应的第一读写请求中与目标请求等级信息匹配的第二读写请求的数量;e可以为请求占比权重信息。
本说明书实施例中,该负载等级信息可以用于调整第一负载信息,例如,可以将负载等级信息与第一负载信息相加,得到调整后的第一负载信息,使得调整后的第一负载信息高于第一负载信息,从而可以基于该调整后的第一负载信息,从至少两个初始从节点中筛选出目标从节点。例如,可以按照调整后的第一负载信息对至少两个初始从节点进行从低到高的排序,当待处理读写请求为读请求时,可以将排序首位的从节点作为目标从节点;当待处理读写请求为写请求时,可以将排序靠前的预设数量的从节点作为目标从节点,这里个预设数量可以是写请求需要存储的副本数量,例如可以为3,本公开对此不作限定。
通过引入请求占比权重信息,调整请求占比信息在确定目标从节点中的权重,使得确定的目标从节点可以更加准确,从而可以保证负载均衡后的从节点的性能。
图9是根据一示例性实施例示出的一种读写请求处理方法的流程图。可以应用于分布式文件***的从节点。如图9所示,该读写请求处理方法可以包括:
在步骤S901中,接收到待处理读写请求,获取从节点对应的读写请求的读写请求数量;
在步骤S903中,若读写请求数量达到请求数量阈值,获取从节点对应的读写请求的请求等级信息以及待处理读写请求的目标请求等级信息。
本说明书实施例中,请求数量阈值可以是从节点能够处理的请求数量上限的预设比例,例如,请求数量上限为100,预设比例为80%,可以确定请求数量阈值为80。这里的请求数量上限可以是与从节点中的线程数量上限决定的,其中,一个请求可以对应一个线程,请求数量上限可以与线程数量上限相同。
实际应用中,为了进一步保证较高请求等级的读写请求得到服务,在从节点接收到新的读写请求时,可以执行步骤S901~S907,使得新的读写请求可以抢占较低读写请求的资源。
本说明书实施例中,这里的从节点可以是指待处理读写请求被路由至的目标从节点,将待处理读写请求(新的读写请求)路由至目标从节点时,可以判断目标从节点的读写请求数量是否达到请求数量阈值,若目标从节点的读写请求数量达到请求数量阈值,可以获取目标从节点对应的读写请求的请求等级信息以及待处理读写请求的目标请求等级信息,这里的具体实现方式可以参见上述相应内容,在此不再赘述。
在步骤S905中,从该从节点对应的读写请求中,筛选出请求等级信息低于目标请求等级信息的低等级读写请求;
在步骤S907中,中断低等级读写请求中的至少一个读写请求。
本说明书实施例中,可以从目标从节点对应的读写请求中,筛选出请求等级信息低于目标请求等级信息的低等级读写请求,并可以中断低等级读写请求中的至少一个读写请求,以释放读写资源用于为待处理读写请求提供服务。
其中,本公开对中断低等级读写请求中的至少一个读写请求不作限定,只要保证释放的读写资源能够满足待处理读写请求的读写资源需求即可。
通过基于待处理读写请求的目标请求等级信息以及从节点对应的读写请求的请求等级信息,并且可以通过从该从节点对应的读写请求中筛选出低等级读写请求、以及中断低等级读写请求中的至少一个读写请求,可以实现较高请求等级的待处理读写请求抢占较低请求等级的读写请求的资源,进一步保证高请求等级读写请求能够得到及时有效的读写服务。
在一种可能的实现方式中,该读写请求处理方法还可以包括以下步骤:
当监测到从节点对应的读写请求中存在超时的读写请求时,中断超时的读写请求;
降低从节点对应的请求数量阈值。
本说明书实施例中,可以实时监测从节点中的读写请求是否超时,当监测到从节点对应的读写请求中存在超时的读写请求时,可以中断超时的读写请求;并可以降低该从节点对应的请求数量阈值,以限制该从节点的服务能力,避免进一步过载。该部分内容可以参见上述步骤S703~S707,在此不再赘述。
可选地,从节点可以继续监测读写请求,在从节点中的读写请求均未出现超时的情况下,说明从节点的服务能力有余,可以恢复从节点对应的请求数量阈值,即可以将降低的请求数量阈值调高,例如可以调高到未降低前的请求数量阈值。
通过监测各从节点中的读写请求是否存在超时,可以在从节点对应的读写请求中存在超时的读写请求时,及时中断超时的读写请求,并降低该从节点对应的请求数量阈值,实现及时的过载保护。
图10是根据一示例性实施例示出的一种读写请求处理装置框图。参照图10,该装置可以应用于分布式文件***的主节点,可以包括:
初始从节点确定模块1001,被配置为执行接收到客户端发送的待处理读写请求,从分布式文件***的多个从节点中确定与待处理读写请求对应的至少两个初始从节点;
第一负载信息获取模块1003,被配置为执行获取至少两个初始从节点各自对应的第一负载信息;
负载等级信息获取模块1005,被配置为执行当第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息;
筛选模块1007,被配置为执行根据第一负载信息和负载等级信息,从至少两个初始从节点中筛选出目标从节点;
发送模块1009,被配置为执行将目标从节点的标识信息发送至客户端。
通过实时获取至少两个初始从节点各自对应的第一负载信息,以及在第一负载信息均大于第一负载阈值时,获取至少两个初始从节点各自对应的负载等级信息,并根据第一负载信息和负载等级信息,从至少两个初始从节点中筛选出用于读写服务的目标从节点,在确定用于读写服务的目标从节点之前,就基于从节点的负载信息进行负载均衡处理,能够及时对从节点进行过载保护;另外,通过分布式文件***内部的主节点执行读写请求处理,可以进一步提高节点过载保护的实时性,能够适用于实时性要求较高的负载均衡场景。
在一种可能的实现方式中,负载等级信息获取模块1005可以包括:
第一读写请求获取单元,被配置为执行获取每个初始从节点对应的第一读写请求;
目标请求等级信息获取单元,被配置为执行获取待处理读写请求的目标请求等级信息;
第二读写请求筛选单元,被配置为执行从第一读写请求中筛选出与目标请求等级信息匹配的第二读写请求;
负载等级信息获取单元,被配置为执行根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息,负载等级信息表征对应的第二读写请求在对应的第一读写请求中的请求占比信息。
在一种可能的实现方式中,目标请求等级信息获取单元可以包括:
读写类型和业务类型获取子单元,被配置为执行获取待处理读写请求的读写类型和业务类型;
第一优先级确定子单元,被配置为执行根据读写类型确定第一优先级;
第二优先级确定子单元,被配置为执行根据业务类型确定第二优先级;
请求等级信息确定子单元,被配置为执行根据第一优先级和第二优先级,确定待处理读写请求的目标请求等级信息。
在一种可能的实现方式中,读写请求处理装置还包括:
第二负载信息获取模块,被配置为执行获取主节点对应的第二负载信息,第二负载信息包括第一资源池的负载信息和第二资源池的负载信息;
资源池调整模块,被配置为执行根据第一资源池的负载信息和第二资源池的负载信息,调整第一资源池的资源和第二资源池的资源。
在一种可能的实现方式中,读写请求处理装置还可以包括:
算力信息获取模块,被配置为执行获取主节点的算力信息;
资源释放模块,被配置为执行在算力信息大于预设阈值的情况下,减少第二资源池中的资源;
其中,第一资源池的优先级高于第二资源池的优先级。
在一种可能的实现方式中,读写请求处理装置还可以包括:
监测模块,被配置为执行监测主节点的读写请求和多个从节点的读写请求;
超时中断模块,被配置为执行当监测到超时的读写请求时,中断超时的读写请求;
慢节点确定模块,被配置为执行若超时的读写请求为多个从节点的读写请求,确定超时的读写请求对应的从节点为慢节点;
慢节点请求阈值调整模块,被配置为执行当慢节点的负载信息大于第二负载阈值时,降低慢节点对应的请求数量阈值;
副本节点确定模块,被配置为执行从多个从节点中确定慢节点的副本节点;
读写请求切换模块,被配置为执行当副本节点的负载信息不大于第二负载阈值时,将超时的读写请求切换至副本节点。
在一种可能的实现方式中,负载等级信息获取模块1005还可以包括:
请求占比权重信息获取单元,被配置为执行获取至少两个初始从节点各自对应的请求占比权重信息;
上述负载等级信息获取单元可以包括:
请求占比信息确定子单元,被配置为执行根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,确定对应的第二读写请求在对应的第一读写请求中的请求占比信息;
负载等级信息确定子单元,被配置为执行根据每个初始从节点对应的请求占比信息和对应的请求占比权重信息,确定每个初始从节点对应的负载等级信息。
图11是根据一示例性实施例示出的一种读写请求处理装置框图。参照图11,该装置可以应用于分布式文件***的从节点,包括:
读写请求数量获取模块1101,被配置为执行接收到待处理读写请求,获取从节点对应的读写请求的读写请求数量;
等级信息获取模块1103,被配置为执行若读写请求数量达到请求数量阈值,获取从节点对应的读写请求的请求等级信息以及待处理读写请求的目标请求等级信息;
低等级读写请求筛选模块1105,被配置为执行从从节点对应的读写请求中,筛选出请求等级信息低于目标请求等级信息的低等级读写请求;
第一中断模块1107,被配置为执行中断低等级读写请求中的至少一个读写请求。
通过基于待处理读写请求的目标请求等级信息以及从节点对应的读写请求的请求等级信息,并且可以通过从该从节点对应的读写请求中筛选出低等级读写请求、以及中断低等级读写请求中的至少一个读写请求,可以实现较高请求等级的待处理读写请求抢占较低请求等级的读写请求的资源,进一步保证高请求等级读写请求能够得到及时有效的读写服务。
在一种可能的实现方式中,读写请求处理装置还可以包括:
第二中断模块,被配置为执行当监测到从节点对应的读写请求中存在超时的读写请求时,中断超时的读写请求;
请求数量阈值调整模块,被配置为执行降低从节点对应的请求数量阈值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是根据一示例性实施例示出的一种用于读写请求处理的电子设备的框图,该电子设备可以是服务器,其内部结构图可以如图12所示。该电子设备包括通过***总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种读写请求处理的方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种电子设备,包括:处理器;用于存储该处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现如本公开实施例中的读写请求处理方法。
在示例性实施例中,还提供了一种计算机可读存储介质,当该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本公开实施例中的读写请求处理方法。计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本公开实施例中的读写请求处理的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种读写请求处理方法,其特征在于,应用于分布式文件***的主节点,包括:
接收到客户端发送的待处理读写请求,从所述分布式文件***的多个从节点中确定与所述待处理读写请求对应的至少两个初始从节点;
获取所述至少两个初始从节点各自对应的第一负载信息;
当所述第一负载信息均大于第一负载阈值时,获取所述至少两个初始从节点各自对应的负载等级信息;
根据所述第一负载信息和所述负载等级信息,从所述至少两个初始从节点中筛选出目标从节点;
将所述目标从节点的标识信息发送至所述客户端;
其中,所述当所述第一负载信息均大于第一负载阈值时,获取所述至少两个初始从节点各自对应的负载等级信息步骤包括:
获取每个初始从节点对应的第一读写请求;
获取所述待处理读写请求的目标请求等级信息;
从所述第一读写请求中筛选出与所述目标请求等级信息匹配的第二读写请求;
根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息,所述负载等级信息表征所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息。
2.根据权利要求1所述的读写请求处理方法,其特征在于,所述获取所述待处理读写请求的目标请求等级信息步骤包括:
获取所述待处理读写请求的读写类型和业务类型;
根据所述读写类型确定第一优先级;
根据所述业务类型确定第二优先级;
根据所述第一优先级和所述第二优先级,确定所述待处理读写请求的目标请求等级信息。
3.根据权利要求1所述的读写请求处理方法,其特征在于,所述读写请求处理方法还包括:
获取所述主节点对应的第二负载信息,所述第二负载信息包括第一资源池的负载信息和第二资源池的负载信息;
根据所述第一资源池的负载信息和所述第二资源池的负载信息,调整所述第一资源池的资源和所述第二资源池的资源。
4.根据权利要求3所述的读写请求处理方法,其特征在于,所述读写请求处理方法还包括:
获取所述主节点的算力信息;
在所述算力信息大于预设阈值的情况下,减少所述第二资源池中的资源;
其中,所述第一资源池的优先级高于所述第二资源池的优先级。
5.根据权利要求1所述的读写请求处理方法,其特征在于,所述读写请求处理方法还包括:
监测所述主节点的读写请求和所述多个从节点的读写请求;
当监测到超时的读写请求时,中断所述超时的读写请求;
若所述超时的读写请求为所述多个从节点的读写请求,确定所述超时的读写请求对应的从节点为慢节点;
当所述慢节点的负载信息大于第二负载阈值时,降低所述慢节点对应的请求数量阈值;其中,所述第二负载阈值大于所述第一负载阈值;
从所述多个从节点中确定所述慢节点的副本节点;
当所述副本节点的负载信息不大于所述第二负载阈值时,将所述超时的读写请求切换至所述副本节点。
6.根据权利要求1所述的读写请求处理方法,其特征在于,在所述从所述第一读写请求中筛选出与所述目标请求等级信息匹配的第二读写请求步骤之后,所述读写请求处理方法还包括:
获取所述至少两个初始从节点各自对应的请求占比权重信息;
所述根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息步骤包括:
根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,确定所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息;
根据每个初始从节点对应的请求占比信息和对应的请求占比权重信息,确定每个初始从节点对应的负载等级信息。
7.一种读写请求处理方法,其特征在于,应用于分布式文件***,所述分布式文件***包括主节点和从节点,包括:
所述从节点,用于接收到待处理读写请求,获取所述从节点对应的读写请求的读写请求数量;若所述读写请求数量达到请求数量阈值,获取所述从节点对应的读写请求的请求等级信息以及所述待处理读写请求的目标请求等级信息;从所述从节点对应的读写请求中,筛选出请求等级信息低于所述目标请求等级信息的低等级读写请求;中断所述低等级读写请求中的至少一个读写请求;
所述主节点用于执行所述权利要求1-6中任一项所述的读写请求处理方法。
8.根据权利要求7所述的读写请求处理方法,其特征在于,所述读写请求处理方法还包括:
当所述从节点监测到所述从节点对应的读写请求中存在超时的读写请求时,中断所述超时的读写请求;降低所述从节点对应的请求数量阈值。
9.一种读写请求处理装置,其特征在于,应用于分布式文件***的主节点,包括:
初始从节点确定模块,被配置为执行接收到客户端发送的待处理读写请求,从所述分布式文件***的多个从节点中确定与所述待处理读写请求对应的至少两个初始从节点;
第一负载信息获取模块,被配置为执行获取所述至少两个初始从节点各自对应的第一负载信息;
负载等级信息获取模块,被配置为执行当所述第一负载信息均大于第一负载阈值时,获取所述至少两个初始从节点各自对应的负载等级信息;
筛选模块,被配置为执行根据所述第一负载信息和所述负载等级信息,从所述至少两个初始从节点中筛选出目标从节点;
发送模块,被配置为执行将所述目标从节点的标识信息发送至所述客户端;
其中,所述负载等级信息获取模块包括:
第一读写请求获取单元,被配置为执行获取每个初始从节点对应的第一读写请求;
目标请求等级信息获取单元,被配置为执行获取所述待处理读写请求的目标请求等级信息;
第二读写请求筛选单元,被配置为执行从所述第一读写请求中筛选出与所述目标请求等级信息匹配的第二读写请求;
负载等级信息获取单元,被配置为执行根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,获取每个初始从节点对应的负载等级信息,所述负载等级信息表征所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息。
10.根据权利要求9所述的读写请求处理装置,其特征在于,所述目标请求等级信息获取单元包括:
读写类型和业务类型获取子单元,被配置为执行获取所述待处理读写请求的读写类型和业务类型;
第一优先级确定子单元,被配置为执行根据所述读写类型确定第一优先级;
第二优先级确定子单元,被配置为执行根据所述业务类型确定第二优先级;
请求等级信息确定子单元,被配置为执行根据所述第一优先级和所述第二优先级,确定所述待处理读写请求的目标请求等级信息。
11.根据权利要求9所述的读写请求处理装置,其特征在于,所述读写请求处理装置还包括:
第二负载信息获取模块,被配置为执行获取所述主节点对应的第二负载信息,所述第二负载信息包括第一资源池的负载信息和第二资源池的负载信息;
资源池调整模块,被配置为执行根据所述第一资源池的负载信息和所述第二资源池的负载信息,调整所述第一资源池的资源和所述第二资源池的资源。
12.根据权利要求11所述的读写请求处理装置,其特征在于,所述读写请求处理装置还包括:
算力信息获取模块,被配置为执行获取所述主节点的算力信息;
资源释放模块,被配置为执行在所述算力信息大于预设阈值的情况下,减少所述第二资源池中的资源;
其中,所述第一资源池的优先级高于所述第二资源池的优先级。
13.根据权利要求9所述的读写请求处理装置,其特征在于,所述读写请求处理装置还包括:
监测模块,被配置为执行监测所述主节点的读写请求和所述多个从节点的读写请求;
超时中断模块,被配置为执行当监测到超时的读写请求时,中断所述超时的读写请求;
慢节点确定模块,被配置为执行若所述超时的读写请求为所述多个从节点的读写请求,确定所述超时的读写请求对应的从节点为慢节点;
慢节点请求阈值调整模块,被配置为执行当所述慢节点的负载信息大于第二负载阈值时,降低所述慢节点对应的请求数量阈值;
副本节点确定模块,被配置为执行从所述多个从节点中确定所述慢节点的副本节点;
读写请求切换模块,被配置为执行当所述副本节点的负载信息不大于第二负载阈值时,将所述超时的读写请求切换至所述副本节点。
14.根据权利要求9所述的读写请求处理装置,其特征在于,所述负载等级信息获取模块还包括:
请求占比权重信息获取单元,被配置为执行获取所述至少两个初始从节点各自对应的请求占比权重信息;
所述负载等级信息获取单元包括:
请求占比信息确定子单元,被配置为执行根据每个初始从节点对应的第一读写请求的数量和对应的第二读写请求的数量,确定所述对应的第二读写请求在所述对应的第一读写请求中的请求占比信息;
负载等级信息确定子单元,被配置为执行根据每个初始从节点对应的请求占比信息和对应的请求占比权重信息,确定每个初始从节点对应的负载等级信息。
15.一种分布式文件***,所述分布式文件***包括主节点和从节点,所述从节点包括:
读写请求数量获取模块,被配置为执行接收到待处理读写请求,获取所述从节点对应的读写请求的读写请求数量;
等级信息获取模块,被配置为执行若所述读写请求数量达到请求数量阈值,获取所述从节点对应的读写请求的请求等级信息以及所述待处理读写请求的目标请求等级信息;
低等级读写请求筛选模块,被配置为执行从所述从节点对应的读写请求中,筛选出请求等级信息低于所述目标请求等级信息的低等级读写请求;
第一中断模块,被配置为执行中断所述低等级读写请求中的至少一个读写请求;
所述主节点包括所述权利要求9-14任一项所述的读写请求处理装置。
16.根据权利要求15所述的分布式文件***,其特征在于,所述从节点还包括:
第二中断模块,被配置为执行当监测到所述从节点对应的读写请求中存在超时的读写请求时,中断所述超时的读写请求;
请求数量阈值调整模块,被配置为执行降低所述从节点对应的请求数量阈值。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的读写请求处理方法或实现如权利要求7或8所述的读写请求处理方法。
18.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的读写请求处理方法或实现如权利要求7或8所述的读写请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110547664.XA CN113419993B (zh) | 2021-05-19 | 2021-05-19 | 读写请求处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110547664.XA CN113419993B (zh) | 2021-05-19 | 2021-05-19 | 读写请求处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113419993A CN113419993A (zh) | 2021-09-21 |
CN113419993B true CN113419993B (zh) | 2024-06-04 |
Family
ID=77712586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110547664.XA Active CN113419993B (zh) | 2021-05-19 | 2021-05-19 | 读写请求处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113419993B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778346B (zh) * | 2021-11-12 | 2022-02-11 | 深圳市名竹科技有限公司 | 数据读取方法、装置、设备和存储介质 |
CN115277853A (zh) * | 2022-07-04 | 2022-11-01 | 阿里巴巴(中国)有限公司 | 基于边缘云的数据处理方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714846A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 资源处理方法、操作***及设备 |
CN105407507A (zh) * | 2015-11-02 | 2016-03-16 | 中国联合网络通信集团有限公司 | 一种负载均衡的方法及装置 |
CN105516369A (zh) * | 2016-02-04 | 2016-04-20 | 城云科技(杭州)有限公司 | 视频云平台负载均衡方法及视频云平台负载均衡调度器 |
CN107688607A (zh) * | 2017-07-26 | 2018-02-13 | 努比亚技术有限公司 | 一种数据库访问的方法及移动终端、计算机可读存储介质 |
CN109032801A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种请求调度方法、***及电子设备和存储介质 |
CN109062768A (zh) * | 2018-08-09 | 2018-12-21 | 网宿科技股份有限公司 | 缓存服务器的io性能评估方法和装置 |
CN110213358A (zh) * | 2019-05-23 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 集群资源调度的方法、节点、设备及存储介质 |
CN110519306A (zh) * | 2019-10-09 | 2019-11-29 | 三星电子(中国)研发中心 | 一种物联网的设备访问控制方法和装置 |
CN110933136A (zh) * | 2019-10-31 | 2020-03-27 | 北京浪潮数据技术有限公司 | 一种服务节点选择方法、装置、设备及可读存储介质 |
CN111131401A (zh) * | 2019-12-05 | 2020-05-08 | 深圳市优必选科技股份有限公司 | 一种服务请求的响应方法及*** |
CN111651274A (zh) * | 2020-06-04 | 2020-09-11 | 重庆英楼维兴信息科技有限公司 | 一种基于微服务架构的业务分发方法及相关装置 |
-
2021
- 2021-05-19 CN CN202110547664.XA patent/CN113419993B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714846A (zh) * | 2013-12-17 | 2015-06-17 | 华为技术有限公司 | 资源处理方法、操作***及设备 |
CN105407507A (zh) * | 2015-11-02 | 2016-03-16 | 中国联合网络通信集团有限公司 | 一种负载均衡的方法及装置 |
CN105516369A (zh) * | 2016-02-04 | 2016-04-20 | 城云科技(杭州)有限公司 | 视频云平台负载均衡方法及视频云平台负载均衡调度器 |
CN107688607A (zh) * | 2017-07-26 | 2018-02-13 | 努比亚技术有限公司 | 一种数据库访问的方法及移动终端、计算机可读存储介质 |
CN109032801A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种请求调度方法、***及电子设备和存储介质 |
CN109062768A (zh) * | 2018-08-09 | 2018-12-21 | 网宿科技股份有限公司 | 缓存服务器的io性能评估方法和装置 |
CN110213358A (zh) * | 2019-05-23 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 集群资源调度的方法、节点、设备及存储介质 |
CN110519306A (zh) * | 2019-10-09 | 2019-11-29 | 三星电子(中国)研发中心 | 一种物联网的设备访问控制方法和装置 |
CN110933136A (zh) * | 2019-10-31 | 2020-03-27 | 北京浪潮数据技术有限公司 | 一种服务节点选择方法、装置、设备及可读存储介质 |
CN111131401A (zh) * | 2019-12-05 | 2020-05-08 | 深圳市优必选科技股份有限公司 | 一种服务请求的响应方法及*** |
CN111651274A (zh) * | 2020-06-04 | 2020-09-11 | 重庆英楼维兴信息科技有限公司 | 一种基于微服务架构的业务分发方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113419993A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107295110B (zh) | 计算任务的处理方法、边缘节点、业务服务器及*** | |
CN113419993B (zh) | 读写请求处理方法、装置、电子设备及存储介质 | |
CN112165436B (zh) | 流量控制方法、装置及*** | |
CN106933868B (zh) | 一种调整数据分片分布的方法及数据服务器 | |
US11838387B2 (en) | Fog node scheduling method and apparatus, computer device, and storage medium | |
CN106959820B (zh) | 一种数据提取方法和*** | |
CN110830565B (zh) | 资源下载方法、装置、***、电子设备及存储介质 | |
CN110740164B (zh) | 服务器确定方法、调控方法、装置、设备及存储介质 | |
CN110716808B (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN112825527A (zh) | 基于mec的服务节点分配方法、装置及相关服务器 | |
CN113301299B (zh) | 一种多通道视频传输方法、***、终端以及存储介质 | |
US20140344901A1 (en) | Method And System For Sharing A File | |
CN112039799A (zh) | 网络带宽管理的方法、服务器、***、设备及介质 | |
EP3579526B1 (en) | Resource file feedback method and apparatus | |
CN112003790B (zh) | 智能学校使用网络流量的分配方法 | |
CN113691587B (zh) | 一种虚拟资源处理方法、装置、电子设备及存储介质 | |
CN108243225B (zh) | 一种分布式***、管理方法及访问方法 | |
CN114124797B (zh) | 一种服务器路由方法、装置、电子设备及存储介质 | |
CN116166181A (zh) | 一种云监控方法和云管理平台 | |
CN109962948B (zh) | 一种p2p任务的处理方法及装置 | |
CN112073223A (zh) | 一种管控云计算终端和云服务器运作的***及其方法 | |
CN114328604B (zh) | 一种提高集群数据采集能力的方法、装置及介质 | |
CN114500663B (zh) | 内容分发网络设备的调度方法、装置、设备及存储介质 | |
US20220365824A1 (en) | Scaling of distributed software applications using self-perceived load indicators | |
TWI756202B (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 |