当前位置: 首页 > 专利查询>中南大学专利>正文

一种键值存储系统中的分布式自适应用户请求调度方法技术方案

技术编号:24995781 阅读:48 留言:0更新日期:2020-07-24 17:58
本专利公开了一种键值存储系统中的分布式自适应用户请求调度(Distributed Adaptive Scheduling,DAS)方法。该方法在键值存储系统的客户端部署改进的二近似排序方法,在服务器端部署最短剩余处理时间优先调度方法,通过二者的优势结合,并同时引入信息反馈机制以适应服务器随时间变化的性能和负载,以及增加超时机制以缓解饥饿问题,从而合理的调度服务器上键值访问操作的服务顺序,以改善对应于大量键值访问操作的用户请求的平均完成时间。实验结果表明,相比于现有的先来先服务(First Come First Service)方法,最短剩余处理时间优先方法,Rein‑SBF方法,本发明专利技术能够更好的降低用户请求的平均完成时间。

【技术实现步骤摘要】
一种键值存储系统中的分布式自适应用户请求调度方法
本专利技术涉及键值存储系统中的用户请求调度,特别涉及一种键值存储系统中的分布式自适应用户请求调度方法。
技术介绍
目前,在分布式应用中,例如网页搜索、社交网络以及电子商贸等,键值存储系统是一个比较重要的组成部分,并已经被许多著名的公司如亚马逊,领英,脸书所采用。一般来说,一个用户请求会在键值存储系统的客户端上产生成百上千个键值访问操作,这些键值访问操作会被发送到不同的服务器上,然后被并行的处理,使得整个用户请求的完成时间由最晚服务完毕的键值访问操作决定。另一方面,用户请求的完成时间与用户体验息息相关,过久的完成时间会损害用户的访问体验,降低网站流量,进而影响公司的收入。因此,如何降低用户请求的完成时间显得至关重要。如图1所示,随着用户规模的扩大,许多前端服务器被部署到键值存储系统中担任客户端的功能,它们会接收用户请求并将其解析为大量的键值访问操作,同时,许多服务器被用于存储数据并处理键值访问操作。此外,键值存储系统的特点之一是全交换通信模式,这意味客户端可能会在短时间内收到许多用户请求并本文档来自技高网...

【技术保护点】
1.一种键值存储系统中的分布式自适应用户请求调度方法,其特征在于,所述方法由客户端和服务器端协同完成:/n所述客户端的工作步骤包括:/nA1:初始化,记录每个服务器的初始服务速率为其处理单个键值访问操作时间的倒数,初始消耗速率为服务速率除以客户端总数量;记录每个服务器已收到但未处理完毕的键值访问操作数量OSK为0,定义符号|M|表示能够提供服务的服务器总数量,并将服务器编号,自1开始每次加1直至|M|,定义变量flag=0;/nA2:每当一个用户请求到达客户端时,客户端会将用户请求中所有的键值访问操作依据其不同的目标服务器划分为不同的操作集合,称为keySet;将该用户请求放入未发送的用户请求...

【技术特征摘要】
1.一种键值存储系统中的分布式自适应用户请求调度方法,其特征在于,所述方法由客户端和服务器端协同完成:
所述客户端的工作步骤包括:
A1:初始化,记录每个服务器的初始服务速率为其处理单个键值访问操作时间的倒数,初始消耗速率为服务速率除以客户端总数量;记录每个服务器已收到但未处理完毕的键值访问操作数量OSK为0,定义符号|M|表示能够提供服务的服务器总数量,并将服务器编号,自1开始每次加1直至|M|,定义变量flag=0;
A2:每当一个用户请求到达客户端时,客户端会将用户请求中所有的键值访问操作依据其不同的目标服务器划分为不同的操作集合,称为keySet;将该用户请求放入未发送的用户请求集合R,置flag=0,然后执行步骤A3;
A3:根据集合R中每个用户请求在客户端上的等待时间为用户请求赋予权值,初始化一个空列表σ;定义|R|表示集合R当前包含的用户请求个数;定义变量k=|R|,然后执行步骤A4;
A4:当k大于0时,客户端利用R中用户请求的数量与目标服务器信息选出负载最大的服务器b,然后选出待发往服务器b的用户请求中加权最大的一个,添加到列表σ(k)位置,并从集合R中删除用户请求σ(k),k减少1,之后利用R中其他用户请求大小与用户请求σ(k)大小之比调整R中每个用户请求的权值;此时,如果k仍大于0,则重新执行步骤A4;否则,定义变量m表示当前服务器编号,用于后续遍历操作,置m=1,执行步骤A5;
A5:判断m≤|M|;若成立,执行步骤A6;否则执行步骤A2;
A6:判断记录的服务器m的OSK是否为0;若不为0,m增加1,返回执行步骤A5;否则执行步骤A7;
A7:定义变量|σ|表示列表σ当前包含用户请求个数,置变量p=1,然后执行步骤A8;
A8:判断p≤|σ|;若成立,执行步骤A9;否则执行步骤A10;
A9:判断用户请求σ(p)中是否包含发往服务器m的keySet;若包含,则使用σ(p)中键值访问操作的数量和记录的服务器服务速率预估σ(p)的完成时间,并根据预估完成时间给发往服务器m的keySet赋予优先级,发送keySet并记录发送时刻,服务器m的OSK增加量为该keySet包含键值访问操作个数,若发送后σ(p)还有应发往其他服务器的keySet,则暂不处理并继续执行步骤A10;若没有其他keySet,则从σ中删除σ(p),然后继续执行步骤A10;若不包含,则p增加1,然后执行步骤A8;
A10:判断flag=0是否成立;若成立,则m增加1,然后执行步骤A5;否则执行步骤A11;
A11:当客户端收到键值访问操作的返回值时,发送该返回值的服务器OSK减少1,更新该服务器服务速率;若此时OSK=0,则继续更新服务器的消耗速率,并置flag=1,m为该服务器编号,然后执行步骤A12;若OSK不为0,则重新执行步骤A11;
A12:判断用户请求列表σ是否为空;若为空,执行步骤A2;否则执行步骤A7;
所述服务器端的工作步骤包括:
B1:初始化:记录当前服务器正在处理的键值访问操作的数量num为0;
B2:收到keySet时,依据优先级从高到低将其添加到服务序列S中;然后执行步骤B3;
B3:遍历S中的每个keySet,判断其是否等待超时;若所有keySet均未超时,则继续判断num是否等于0,若为0,则执行步骤B4,否则执行步骤B6;若存在超时的keySet,则执行步骤B5;
B4:从S中取出优先级最高的一个键值访问操作,num增加1,服务器处理该键值访问操作,获取其需要的数据,然后执行步骤B6;
B5:给所有超时的keySet赋予最高优先级,num增加量为这些keSet包含键值访问操作总个数,服务器依次处理这些keySet包含的键值访问操作,然后执行步骤B6...

【专利技术属性】
技术研发人员:蒋万春严瑜龙汲发李昊阳蒋铭王建新
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1