CN117376373B - 元数据操作请求的处理方法、装置、设备及存储介质 - Google Patents
元数据操作请求的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117376373B CN117376373B CN202311672290.XA CN202311672290A CN117376373B CN 117376373 B CN117376373 B CN 117376373B CN 202311672290 A CN202311672290 A CN 202311672290A CN 117376373 B CN117376373 B CN 117376373B
- Authority
- CN
- China
- Prior art keywords
- tokens
- client
- clients
- period
- token
- 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 description 12
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function 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
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种元数据操作请求的处理方法、装置、设备及存储介质,包括:根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量;按照初始令牌数量从小到大的顺序对客户端排序,将当前周期的空闲令牌依次分发给客户端,得到当前周期每个客户端持有的令牌数量;根据当前周期每个客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。本申请通过令牌发放的手段,对不同客户端发放按一定规则计算出的对应数量的令牌,有令牌的客户端的请求可以得到调度和处理,防止负载很大的客户端耗尽元数据服务器的处理能力,导致其他正常客户端的业务迟迟得不到响应和处理的问题。
Description
技术领域
本申请涉及计算机存储技术领域,具体而言,涉及一种元数据操作请求的处理方法、装置、设备及存储介质。
背景技术
Ceph是一种软件定义的分布式存储系统。它通过整合通用服务器的硬件存储资源,为客户提供统一的、分布式的存储服务。
在Ceph分布式存储系统中,正常一个文件客户端的读写请求,要先同元数据服务器通信获取对应操作文件的元数据,完成这部分元数据的操作后,才能继续去和对象存储设备通信,进行对文件的内容数据的读写操作。
但是当前元数据服务器节点的主处理流程是单线程的,当应用环境中出现元数据操作极为频繁的客户端,就会导致元数据服务器的压力很大,仅该客户端的元数据操作请求就把元数据服务器节点的处理队列占完,其他客户端就会出现读写请求迟迟得不到响应的情况。
发明内容
本申请实施例提供了一种元数据操作请求的处理方法、装置、设备及存储介质,以至少解决相关技术中有极端的客户端的存在导致其他正常客户端的业务迟迟得不到响应和处理的技术问题。
根据本申请实施例的一个方面,提供了一种元数据操作请求的处理方法,包括:
根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量;
按照所述初始令牌数量从小到大的顺序对所述客户端排序,将当前周期的空闲令牌依次分发给所述客户端,得到当前周期每个客户端持有的令牌数量,当前周期的空闲令牌数量等于上一个周期未分配的令牌数量和应释放的令牌数量的和;
根据当前周期每个客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。
在一个可选地实施例中,将当前周期的空闲令牌依次分发给所述客户端,包括:
在客户端上一个周期消耗的令牌数量为0的情况下,确定所述客户端需要增加预设数量个令牌;
在客户端上一个周期消耗的令牌数量等于被分配的令牌数量的情况下,确定所述客户端需要增加预设数量个令牌;
在客户端上一个周期消耗的令牌数量小于被分配的令牌数量的情况下,确定所述客户端需要增加0个令牌;
根据所述客户端需要增加的令牌数量,将当前周期的空闲令牌依次分发给所述客户端。
在一个可选地实施例中,将当前周期的空闲令牌依次分发给所述客户端之后,还包括:
将元数据服务器能处理的最大请求数量与客户端数量的商,作为每个客户端应持有的令牌数量平均值;
判断所述初始令牌数量小于所述平均值的客户端中,是否还有需要增加令牌的客户端;
若有,则从初始令牌数量最大的客户端开始,依次将所述初始令牌数量大于所述平均值的客户端的令牌分发给所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端。
在一个可选地实施例中,当所述初始令牌数量大于所述平均值的客户端都向所述初始令牌数量小于所述平均值的客户端发放过令牌,且所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端时,还包括:
重复执行从初始令牌数量最大的客户端开始,依次将所述初始令牌数量大于所述平均值的客户端的令牌分发给所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端,直到所述初始令牌数量小于所述平均值的客户端中,没有需要增加令牌的客户端。
在一个可选地实施例中,还包括:
在当前周期内,若有新客户端接入时,确认当前周期新接入的客户端的初始令牌数量为0。
在一个可选地实施例中,在当前调度周期是首个调度周期的情况下,还包括:
根据元数据服务器能处理的最大请求数量与客户端数量的商,确定每个客户端应发放的令牌数量。
根据本申请实施例的又一方面,本申请实施例提供了一种元数据操作请求的处理装置,包括:
初始令牌确定模块,用于根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量;
数量调整模块,用于按照所述初始令牌数量从小到大的顺序对所述客户端排序,将当前周期的空闲令牌依次分发给所述客户端,得到当前周期每个客户端持有的令牌数量,当前周期的空闲令牌数量等于上一个周期未分配的令牌数量和应释放的令牌数量的和;
调度模块,用于根据当前周期每个客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。
在一个可选地实施例中,还包括:
令牌分发模块,用于在当前调度周期是首个调度周期的情况下,根据元数据服务器能处理的最大请求数量与客户端数量的商,确定每个客户端应发放的令牌数量。
根据本申请实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的元数据操作请求的处理方法。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述元数据操作请求的处理方法。
本申请实施例提供的技术方案可以包括以下有益效果:
本申请实施例提出了一种文件存储场景下对元数据操作处理的调节机制,通过令牌发放的手段,对不同客户端发放按一定规则计算出的对应数量的令牌。有令牌的客户端的请求可以得到调度和处理,防止有负载很大的客户端耗尽元数据服务器的处理能力,导致其他正常客户端的业务迟迟得不到响应和处理的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的元数据操作请求的处理方法的流程图;
图2是根据本申请实施例的一种元数据请求队列示意图;
图3是根据本申请实施例的一种客户端排序示意图;
图4是根据本申请实施例的一种客户端令牌发放规则示意图;
图5是根据本申请实施例的另一种元数据请求队列示意图;
图6是根据本申请实施例的另一种元数据请求队列示意图;
图7是根据本申请实施例的一种可选的元数据操作请求的处理装置结构图;
图8是根据本申请实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
当前元数据服务器节点的主处理流程是单线程的,当应用环境中出现比较激进的客户端,元数据操作极为频繁,就会导致元数据服务器压力很大,仅该客户端的元数据操作请求就把处理队列占完,从文件客户端来看,其他文件客户端就会出现读写请求迟迟得不到响应的情况。
在一个示例性场景中,客户端1和客户端2都进行元数据操作请求,客户端1的数据操作极为频繁,来自客户端1的极大的元数据操作压力。导致客户端2的元数据操作迟迟得不到调度的处理,导致后续对应的数据读写也阻塞。
图2是根据本申请实施例的一种元数据请求队列示意图。如图2所示,元数据服务器有一个请求队列,客户端的元数据操作请求入队,然后等待元数据服务器去调度处理。假定每个周期调度10个请求处理,对于元数据压力很大的客户端,它的请求会把队列占满,导致其他客户端的元数据请求在多个调度周期内都得不到调度,从其他客户端来看就是读写请求迟迟得不到处理。
本申请实施例提供了一种元数据操作请求的处理方法,对不同客户端的元数据请求按需发放令牌,元数据服务器调度其队列中的元数据请求时按令牌来调度,有令牌的客户端的请求可以得到调度和处理,避免当前实现中有极端的客户端的存在导致其他正常客户端的业务迟迟得不到响应和处理的问题。
下面结合附图1对本申请实施例的元数据操作请求的处理方法进行详细介绍,如图1所示,该方法主要包括如下步骤:
S101根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量。
在本申请实施例中,不同客户端请求入队,都是向元数据服务器发送元数据操作请求,元数据服务器接收客户端的元数据操作请求,将元数据操作请求存入请求队列。
本申请实施例在元数据操作请求入队之后,元数据服务器调度请求队列中的请求时,通过令牌发放的手段,对不同客户端发放按一定规则计算出的对应数量的令牌,让每一个客户端的请求都能在正常的处理周期内被调度处理。
在本申请的一个实施例中,在当前调度周期不是首个调度周期的情况下,根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量。
具体地,将上一个周期每个客户端消耗的令牌数量作为当前周期的每个客户端的初始令牌数量。例如,对于客户端A,上个周期消耗的令牌数量为2,则在当前周期,先为客户端A分配两个令牌。客户端A在当前周期的初始令牌数量为2。
S102按照初始令牌数量从小到大的顺序对客户端排序,将当前周期的空闲令牌依次分发给客户端,得到当前周期每个客户端持有的令牌数量,当前周期的空闲令牌数量等于上一个周期未分配的令牌数量和应释放的令牌数量的和。
进一步地,根据当前周期的空闲令牌数量对初始令牌数量进行调整,得到当前周期每个客户端应发放的令牌数量。
具体地,先对所有客户端按其上一个周期消耗的令牌数量从小到大的顺序进行排序,也就是对所有客户端按照初始令牌数量进行排序,在当前周期内,若有新客户端接入时,确认当前周期新接入的客户端的初始令牌数量为0。
如图3所示,对所有客户端按照初始令牌数量从小到大排序,若初始令牌数量相同,可以根据接入顺序进行排序。如图3所示,从左到右依次为客户端A、客户端C、客户端L……、客户端E、客户端B、客户端K。
进一步地,确定每个客户端需要增加的令牌数量,包括:在客户端上个周期消耗的令牌数量为0的情况下,确定客户端需要增加预设数量个令牌。在一种实施方式中,预设数量的取值为1,也就是在客户端上个周期消耗的令牌数量为0的情况下,为客户端增加1个令牌。预设数量的取值本申请不做限定。
在客户端上个周期消耗的令牌数量等于被分配的令牌数量的情况下,确定客户端需要增加预设数量个令牌。在一种实施方式中,预设数量的取值为1,也就是在客户端上个周期消耗的令牌数量等于被分配的令牌数量时,为客户端增加1个令牌。预设数量的取值本申请不做限定。例如,上个周期分配7个,且7个全部消耗完,则这个周期增加1个,总共分配8个。
在客户端上个周期消耗的令牌数量小于被分配的令牌数量的情况下,确定客户端需要增加0个令牌。也就是客户端上个周期分配的令牌数没有用完,这个周期分配的令牌数等于上个周期消耗的令牌数,不用再增加令牌。例如,上个周期分配8个,实际消耗6个,则这个周期分配6个(初始令牌数量)即可,不用再增加令牌。
具体的令牌增加方式和增加数量,可根据实际情况自行调整,例如,在客户端上个周期消耗的令牌数量等于被分配的令牌数量的情况下,不再为该客户端增加令牌,上个周期分配7个,且7个全部消耗完,则这个周期依然分配7个即可。
进一步地,根据客户端需要增加的令牌数量,将当前周期的空闲令牌依次分发给当前周期的客户端。
具体地,若当前周期有空闲令牌,则优先用空闲令牌来分配。按照客户端初始令牌数量从小到大的顺序,依次为需要增加令牌的客户端分配令牌。
在一个实施方式中,计算当前周期的空闲令牌数量,包括:获取上一个周期未分配的令牌数量,获取上一个周期客户端应释放的令牌数量,根据上一个周期未分配的令牌数量和应释放的令牌数量的和,得到当前周期的空闲令牌数量;其中,客户端应释放的令牌数量等于客户端被分配的令牌数量与客户端消耗的令牌数量的差。
具体地,定义Nfree为当前周期的空闲令牌数量。首先,确定上一个周期未分配的令牌数量,其次,确定上一个周期客户端应释放的令牌数量,例如上一个周期某个客户端被分配两个令牌,但是仅消耗了一个,则该客户端应释放1个令牌。根据上一个周期未分配的令牌数与所有客户端应释放的令牌数的和,得到当前周期的空闲令牌数量。
将空闲令牌分发给需要增加令牌的客户端之后,还包括:将元数据服务器能处理的最大请求数量与客户端数量的商,作为每个客户端应持有的令牌数量平均值。如图3所示,平均值左半部分是初始令牌数量小于平均值的客户端,右半部分是初始令牌数量大于平均值的客户端。
进一步地,判断初始令牌数量小于平均值的客户端中,是否还有需要增加令牌的客户端。若没有,则结束调整。即使大于平均值的客户端还有需要增加令牌的,也结束调整。
若小于平均值的客户端中还有需要增加令牌的客户端,则从初始令牌数量最大的客户端开始,依次将初始令牌数量大于平均值的客户端的令牌分发给初始令牌数量小于平均值的客户端中还有需要增加令牌的客户端。通过将大于平均值的客户端的令牌调整给小于平均值的客户端,可以使令牌分发均衡,保证请求调度的公平。
在一个可选地实施例中,当初始令牌数量大于平均值的客户端都向初始令牌数量小于平均值的客户端发放过令牌,且初始令牌数量小于平均值的客户端中还有需要增加令牌的客户端时,还包括:重复执行从初始令牌数量最大的客户端开始,依次将初始令牌数量大于平均值的客户端的令牌分发给初始令牌数量小于平均值的客户端中还有需要增加令牌的客户端,直到初始令牌数量小于平均值的客户端中,没有需要增加令牌的客户端。
具体地,如图3所示,从初始令牌数量最大的客户端依次释放令牌,设定每个客户端每次释放1个令牌。
如图3所示,客户端K释放1个令牌给小于平均值的客户端,如果小于平均值的客户端仍然有客户端令牌没有得到增加,则继续从客户端B进行令牌释放给对应的客户端。当释放令牌的客户端已经轮询到了最后一个大于平均值的客户端时,且仍然有小于平均值的客户端需要增加令牌时,则重新又从客户端K开始重复上一轮的释放操作,直至小于平均值的客户端都得到增加的令牌。
根据该步骤,通过每个客户端的初始令牌数量以及后续调整的令牌数量,可以得到每个客户端在当前周期应该分发的总令牌数量。
在本申请的一个实施例中,在当前调度周期是首个调度周期的情况下,根据元数据服务器能处理的最大请求数量与客户端数量的商,确定每个客户端应发放的令牌数量。
具体地,单个周期内,令牌可分配的最大数量是Ntotal,Ntotal对应元数据服务器单个调度周期内能处理的最大请求数量能力。对于首个调度周期,该周期有M个客户端,则该周期每个客户端可平均分配到的调度令牌数为Navg=Ntotal/M。根据平均值确定每个客户端应分配的令牌数量。
在一个可选地实施例中,当无法实现平均分配时,例如,单个调度周期内能处理的最大请求数量为10个,当前周期有4个客户端,每个客户端分配2个,还剩余2个无法实现平均分配。可以根据客户端的接入顺序,将这剩余的2个按照接入顺序依次分配给前两个客户端。
为了充分理解本申请实施例的令牌分发机制,下面结合附图4进一步说明。如图4所示,令牌分发方法包括:
客户端按照上个周期的令牌消耗情况排序,根据上个周期的令牌消耗情况和分配情况得到当前周期的空闲令牌。
开始分配令牌,采用空闲令牌进行分配,将空闲令牌分配给需要增加令牌的客户端。
判断空闲令牌是否分配完,若没有分配完,继续将空闲令牌分配给对应的客户端,判断是否遍历到客户端排序最右侧,若是,则当前周期令牌分配完成。MDS元数据服务器按照令牌分配情况对客户端请求进行调度。
若还有客户端没有分配完成,返回判断空闲令牌是否分配完,若空闲令牌分配完,判断初始令牌数量小于平均值的客户端是否还有需要增加令牌的客户端。若没有,则本周期令牌分发完成。元数据服务器按照令牌分配情况对客户端请求进行调度。若还有小于平均值的客户端需要增加令牌,则将大于平均值的客户端的令牌释放给小于平均值的客户端。
本申请在进行令牌分发时,充分考虑了上一个周期每个客户端的实际令牌消耗情况,并进行调整,有效满足了不同客户端的令牌需求,保证了客户端请求处理的公平。
S103根据客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。
本申请在调度请求队列中的请求时,根据客户端持有的令牌数量进行调度,客户端持有几个令牌,在本调度周期调度几个请求。
如图5所示,假定元数据服务器每次能处理10个请求,故一个周期可分配最大令牌总数也为10个。假设该周期内按定义的分配规则客户端1拿到了9个令牌,客户端2拿到了1个令牌,那么在这个调度周期内,元数据服务器会调度当前请求队列中客户端1的9个请求和客户端2的1个请求去处理。
每一个请求得到调度后会对应地消耗掉一个请求对应的客户端的令牌,所以在请求队列中位于客户端2请求前的其他客户端1的请求,会因为客户端1在本周期内仅有9个令牌消耗完,再无可用令牌而不会得到调度。因此,避免了客户端1的元数据操作请求数量太多,导致其他客户端的请求迟迟得不到响应的技术问题。
如图6所示,在每次调度周期内,从队列里面取请求判断该请求对应的客户端是否存在可使用的令牌,如果有那么该请求会被调度,且会消耗掉一个令牌。当没有对应请求的客户端的可用令牌时,该请求不会被调度处理。有对应客户端的令牌被调度处理。
本申请实施例的方案,通过令牌发放的手段,对不同客户端发放按一定规则计算出的对应数量的令牌,对元数据服务器调度其队列中的元数据请求处理时按令牌来调度,有令牌的客户端的请求可以得到调度和处理,让每一个客户端的请求都能在正常的处理周期内被调度处理,避免当前实现中有极端的客户端的存在导致其他正常客户端的业务迟迟得不到响应和处理的问题。
根据本申请实施例的另一个方面,还提供了一种用于实施上述元数据操作请求的处理方法的元数据操作请求的处理装置。如图7所示,该装置包括:
初始令牌确定模块701,用于根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量;
数量调整模块702,用于按照初始令牌数量从小到大的顺序对客户端排序,将当前周期的空闲令牌依次分发给客户端,得到当前周期每个客户端持有的令牌数量,当前周期的空闲令牌数量等于上一个周期未分配的令牌数量和应释放的令牌数量的和;
调度模块703,用于根据当前周期每个客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。
在一个可选地实施例中,还包括:
令牌分发模块,用于在当前调度周期是首个调度周期的情况下,根据元数据服务器能处理的最大请求数量与客户端数量的商,确定每个客户端应发放的令牌数量。
需要说明的是,上述实施例提供的元数据操作请求的处理装置在执行元数据操作请求的处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的元数据操作请求的处理装置与元数据操作请求的处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
根据本申请实施例的又一个方面,还提供了一种与前述实施例所提供的元数据操作请求的处理方法对应的电子设备,以执行上述元数据操作请求的处理方法。
请参考图8,其示出了本申请的一些实施例所提供的一种电子设备的示意图。如图8所示,电子设备包括:处理器800,存储器801,总线802和通信接口803,处理器800、通信接口803和存储器801通过总线802连接;存储器801中存储有可在处理器800上运行的计算机程序,处理器800运行计算机程序时执行本申请前述任一实施例所提供的元数据操作请求的处理方法。
其中,存储器801可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口803(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线802可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。其中,存储器801用于存储程序,处理器800在接收到执行指令后,执行程序,前述本申请实施例任一实施方式揭示的元数据操作请求的处理方法可以应用于处理器800中,或者由处理器800实现。
处理器800可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器800中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器800可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器800读取存储器801中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的元数据操作请求的处理方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
根据本申请实施例的又一个方面,还提供一种与前述实施例所提供的元数据操作请求的处理方法对应的计算机可读存储介质,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的元数据操作请求的处理方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的元数据操作请求的处理方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种元数据操作请求的处理方法,其特征在于,包括:
根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量;
按照所述初始令牌数量从小到大的顺序对所述客户端排序,将当前周期的空闲令牌依次分发给所述客户端,将元数据服务器能处理的最大请求数量与客户端数量的商,作为每个客户端应持有的令牌数量平均值;判断所述初始令牌数量小于所述平均值的客户端中,是否还有需要增加令牌的客户端;若有,则从初始令牌数量最大的客户端开始,依次将所述初始令牌数量大于所述平均值的客户端的令牌分发给所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端;得到当前周期每个客户端持有的令牌数量,当前周期的空闲令牌数量等于上一个周期未分配的令牌数量和应释放的令牌数量的和;
根据当前周期每个客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。
2.根据权利要求1所述的方法,其特征在于,将当前周期的空闲令牌依次分发给所述客户端,包括:
在客户端上一个周期消耗的令牌数量为0的情况下,确定所述客户端需要增加预设数量个令牌;
在客户端上一个周期消耗的令牌数量等于被分配的令牌数量的情况下,确定所述客户端需要增加预设数量个令牌;
在客户端上一个周期消耗的令牌数量小于被分配的令牌数量的情况下,确定所述客户端需要增加0个令牌;
根据所述客户端需要增加的令牌数量,将当前周期的空闲令牌依次分发给所述客户端。
3.根据权利要求1所述的方法,其特征在于,当所述初始令牌数量大于所述平均值的客户端都向所述初始令牌数量小于所述平均值的客户端发放过令牌,且所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端时,还包括:
重复执行从初始令牌数量最大的客户端开始,依次将所述初始令牌数量大于所述平均值的客户端的令牌分发给所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端,直到所述初始令牌数量小于所述平均值的客户端中,没有需要增加令牌的客户端。
4.根据权利要求1所述的方法,其特征在于,还包括:
在当前周期内,若有新客户端接入时,确认当前周期新接入的客户端的初始令牌数量为0。
5.根据权利要求1所述的方法,其特征在于,在当前调度周期是首个调度周期的情况下,还包括:
根据元数据服务器能处理的最大请求数量与客户端数量的商,确定每个客户端应发放的令牌数量。
6.一种元数据操作请求的处理装置,其特征在于,包括:
初始令牌确定模块,用于根据上一个周期每个客户端消耗的令牌数量得到当前周期的每个客户端的初始令牌数量;
数量调整模块,用于按照所述初始令牌数量从小到大的顺序对所述客户端排序,将当前周期的空闲令牌依次分发给所述客户端,将元数据服务器能处理的最大请求数量与客户端数量的商,作为每个客户端应持有的令牌数量平均值;判断所述初始令牌数量小于所述平均值的客户端中,是否还有需要增加令牌的客户端;若有,则从初始令牌数量最大的客户端开始,依次将所述初始令牌数量大于所述平均值的客户端的令牌分发给所述初始令牌数量小于所述平均值的客户端中还有需要增加令牌的客户端;得到当前周期每个客户端持有的令牌数量,当前周期的空闲令牌数量等于上一个周期未分配的令牌数量和应释放的令牌数量的和;
调度模块,用于根据当前周期每个客户端持有的令牌数量,调度客户端相应数量的元数据操作请求。
7.根据权利要求6所述的装置,其特征在于,还包括:
令牌分发模块,用于在当前调度周期是首个调度周期的情况下,根据元数据服务器能处理的最大请求数量与客户端数量的商,确定每个客户端应发放的令牌数量。
8.一种电子设备,其特征在于,包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至5任一项所述的元数据操作请求的处理方法。
9.一种计算机存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令被处理器执行以实现如权利要求1至5任一项所述的一种元数据操作请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311672290.XA CN117376373B (zh) | 2023-12-07 | 2023-12-07 | 元数据操作请求的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311672290.XA CN117376373B (zh) | 2023-12-07 | 2023-12-07 | 元数据操作请求的处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117376373A CN117376373A (zh) | 2024-01-09 |
CN117376373B true CN117376373B (zh) | 2024-02-23 |
Family
ID=89393291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311672290.XA Active CN117376373B (zh) | 2023-12-07 | 2023-12-07 | 元数据操作请求的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376373B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060471A (zh) * | 2006-06-23 | 2007-10-24 | 华为技术有限公司 | 令牌资源流控方法 |
WO2011137727A1 (zh) * | 2010-05-04 | 2011-11-10 | 中兴通讯股份有限公司 | 一种报文的传输方法和系统 |
US8953453B1 (en) * | 2011-12-15 | 2015-02-10 | Amazon Technologies, Inc. | System and method for throttling service requests using work-based tokens |
CN114115744A (zh) * | 2021-11-30 | 2022-03-01 | 新华三大数据技术有限公司 | 数据回收任务的控制方法、装置、电子设备及存储介质 |
CN115459992A (zh) * | 2022-09-05 | 2022-12-09 | 山石网科通信技术股份有限公司 | 资源访问请求的处理方法、装置、存储介质及电子设备 |
CN117118698A (zh) * | 2023-08-23 | 2023-11-24 | 北京火山引擎科技有限公司 | 一种元数据服务器的访问限流方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10608943B2 (en) * | 2017-10-27 | 2020-03-31 | Advanced Micro Devices, Inc. | Dynamic buffer management in multi-client token flow control routers |
CN115904644A (zh) * | 2021-09-30 | 2023-04-04 | 伊姆西Ip控股有限责任公司 | 任务调度方法、电子设备和计算机程序产品 |
-
2023
- 2023-12-07 CN CN202311672290.XA patent/CN117376373B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060471A (zh) * | 2006-06-23 | 2007-10-24 | 华为技术有限公司 | 令牌资源流控方法 |
WO2011137727A1 (zh) * | 2010-05-04 | 2011-11-10 | 中兴通讯股份有限公司 | 一种报文的传输方法和系统 |
US8953453B1 (en) * | 2011-12-15 | 2015-02-10 | Amazon Technologies, Inc. | System and method for throttling service requests using work-based tokens |
CN114115744A (zh) * | 2021-11-30 | 2022-03-01 | 新华三大数据技术有限公司 | 数据回收任务的控制方法、装置、电子设备及存储介质 |
CN115459992A (zh) * | 2022-09-05 | 2022-12-09 | 山石网科通信技术股份有限公司 | 资源访问请求的处理方法、装置、存储介质及电子设备 |
CN117118698A (zh) * | 2023-08-23 | 2023-11-24 | 北京火山引擎科技有限公司 | 一种元数据服务器的访问限流方法、装置及设备 |
Non-Patent Citations (2)
Title |
---|
DTBF模型的流量负载均衡研究与实现;秦勇;梁根;郭小雪;杨骋宇;;计算机工程;20070805(15);全文 * |
基于代理的并行文件系统元数据优化与实现;易建亮;陈志广;肖侬;卢宇彤;;计算机研究与发展;20180215(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117376373A (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107688492B (zh) | 资源的控制方法、装置和集群资源管理系统 | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
US20100211954A1 (en) | Practical contention-free distributed weighted fair-share scheduler | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
CN104123304A (zh) | 数据驱动的并行排序系统和方法 | |
CN110599148A (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN114265679A (zh) | 数据处理方法、装置和服务器 | |
CN111506398A (zh) | 任务调度方法和装置、存储介质、电子装置 | |
CN107343023A (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN113495779A (zh) | 一种任务调度方法和装置、任务执行系统 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN108241535B (zh) | 资源管理的方法、装置及服务器设备 | |
CN117376373B (zh) | 元数据操作请求的处理方法、装置、设备及存储介质 | |
CN108509286B (zh) | 一种消息分类的处理方法及装置 | |
CN111459666A (zh) | 任务派发方法、装置、任务执行系统和服务器 | |
CN115658292A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN115202842A (zh) | 任务调度方法及装置 | |
CN113468442A (zh) | 资源位流量的分发方法、计算设备及计算机存储介质 | |
CN112114959B (zh) | 资源调度方法、分布式系统、计算机设备和存储介质 | |
CN112612606A (zh) | 消息主题的处理方法、装置、计算机设备和可读存储介质 | |
CN115827255B (zh) | 一种用于集中器的应用资源自适应分配管理方法及系统 | |
CN110955644A (zh) | 一种存储系统的io控制方法、装置、设备及存储介质 | |
CN110673931A (zh) | 单证合成的分布式计算方法、单证合成系统及其控制装置 | |
CN114546279B (zh) | Io请求预测方法、装置、存储节点及可读存储介质 |
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 |