买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】链路优先级设置方法及装置_华为技术有限公司_201711173962.7 

申请/专利权人:华为技术有限公司

申请日:2017-11-22

公开(公告)日:2021-11-19

公开(公告)号:CN109818863B

主分类号:H04L12/721(20130101)

分类号:H04L12/721(20130101);H04L12/927(20130101);H04L12/26(20060101);H04L29/08(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.11.19#授权;2019.06.21#实质审查的生效;2019.05.28#公开

摘要:本申请提供了一种链路优先级设置方法及装置,属于存储技术领域。该方法用于服务器,该方法包括:服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后再基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。服务器预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级时延区间的时延最小值大于高优先级时延区间的时延最大值,解决了现有技术会降低数据传输可靠性,无法满足用户对业务QoS要求的问题,提高了数据传输的可靠性,满足了用户对业务QoS要求,用于数据传输。

主权项:1.一种链路优先级设置方法,其特征在于,用于服务器,所述方法包括:当服务器与存储设备之间的多条链路中至少一条链路的时延波动值超过预设阈值时,或,当所述服务器与所述存储设备之间的链路发生变化时,获取预设时长内通过每条链路传输的n个IO请求的时延,n≥2;确定所述每条链路的n个IO请求的时延的平均值,将所述每条链路的n个IO请求的时延的平均值确定为所述每条链路的平均时延;确定每条链路的平均时延所属的时延区间,所述服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值;基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级;对低优先级的链路进行隔离,选取高优先级的链路进行传输数据。

全文数据:链路优先级设置方法及装置技术领域本申请涉及存储技术领域,特别涉及一种链路优先级设置方法及装置。背景技术存储区域网络StorageAreaNetwork,SAN是一个集中式管理的高速存储网络。SAN允许存储设备和服务器之间建立直接的高速网络连接,通过这种连接来实现集中式存储。在SAN中,多个服务器可以串行或并行访问同一个存储设备,每个服务器和存储设备之间存在多条链路,该多条链路被预先设置的优先级均相同,服务器和存储设备基于多条链路进行数据传输。现有技术中,当服务器和存储设备之间的某些链路的平均时延较高时,无法对该某些链路进行有效隔离,而通过平均时延较高的链路传输数据会降低数据传输的可靠性,从而无法满足用户对业务的服务质量QualityofService,QoS要求。发明内容本申请提供了一种链路优先级设置方法及装置,可以解决现有技术中无法对服务器和存储设备之间的平均时延较高的链路进行隔离,导致降低数据传输的可靠性,无法满足用户对业务的QoS要求的问题。所述技术方案如下:第一方面,提供了一种链路优先级设置方法,用于服务器,该方法包括:服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。其中,服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值。相较于现有技术,该方法能够对平均时延较高的链路进行有效隔离,避免采用平均时延较高的链路来传输数据,提高了数据传输的可靠性,满足了用户对业务的QoS要求。可选的,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延,可以包括:服务器获取在预设时长内通过每条链路传输的n个IO请求的时延,n≥2,再确定每条链路的n个IO请求的时延的平均值,之后,将每条链路的n个IO请求的时延的平均值确定为该每条链路的平均时延。示例的,预设时长可以为5分钟。为了提高链路优先级设置的准确度,n个IO请求的时延的平均值可以为该n个IO请求的时延的几何平均值。用于计算链路的n个IO请求的时延的几何平均值Pa的公式为:pj表示n个IO请求的时延中第j个时延,1≤j≤n。在该方法中,服务器可以实时计算服务器与存储设备之间的多条链路中每条链路的平均时延,这样一来,能够进一步及时检测到平均时延较高的链路,进而达到及时隔离平均时延较高的链路的效果。实际应用中,为了降低处理开销,服务器也可以每隔指定时长来确定每条链路的平均时延。示例的,该指定时长可以为10分钟。为了得到至少两个连续的时延区间,服务器可以按照以预设底数α的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间。至少两个连续的时延区间包括m个连续的时延区间,m≥2,进一步的,服务器还可以确定m个连续的时延区间中第i个时延区间的长度,该确定过程可以包括:采用区间划分公式确定第i个时延区间的长度Li,1≤i≤m,其中,区间划分公式为:Li=αi-αi-1,α为预设底数。在该方法中,服务器确定了每条链路的优先级之后,可以对低优先级的链路进行隔离,选取高优先级的链路来传输数据。可选的,服务器可以选取最高优先级的链路来传输数据。示例的,当最高优先级的链路有多个时,服务器可以根据实际业务需求,采用该多条链路来传输数据,或者从该多条链路中按照预设规则比如链路的编号从该多条链路中选取指定数量的链路传输数据,或者从该多条链路中随机选取一条链路来传输数据,本发明实施例对此不做限定。可选的,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延,可以包括:服务器侦测每条链路的时延波动值,然后当该多条链路中至少一条链路的时延波动值超过预设阈值时,计算服务器与存储设备之间的多条链路中每条链路的平均时延。其中,时延波动值Pa为预设时长内通过每条链路传输的n个IO请求的时延的平均值,pj为n个IO请求的时延中第j个IO请求的时延,1≤j≤n,n≥2。实际应用中,服务器与存储设备之间总会发生各种各样的变化,比如,服务器与存储设备之间的链路的时延波动变化较大,且当服务器和存储设备之间的一条链路的时延波动变化较大时,还通常会对服务器和存储设备之间的其余链路产生影响,所以服务器可以侦测服务器与存储设备之间的链路时延波动变化,以便于在服务器与存储设备之间的链路时延波动变化较大时,计算服务器与存储设备之间的多条链路中每条链路的平均时延,提高链路优先级设置的准确度。在该方法中,服务器基于链路的时延波动值来侦测服务器与存储设备之间的链路时延波动变化,该时延波动值用于反映每条链路的n个IO请求的时延的离散程度。在侦测每条链路的时延波动值时,服务器可以基于预设时长内通过每条链路传输的n个IO请求的时延的平均值和该n个IO请求的时延计算每条链路的时延波动值,n≥2。每条链路的时延波动值也是对应链路的n个IO请求的时延的几何标准差。n个IO请求的时延的平均值可以为n个IO请求的时延的几何平均值。可选的,用于比较时延波动值的预设阈值可以为L2,其中,L为目标链路的平均时延所属的时延区间的长度,该目标链路为至少一个链路中的任一链路。即当多条链路中至少一条链路的时延波动值s≥L2时,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延。进一步的,该方法还可以包括:当检测到多条链路中至少一条链路的时延波动值超过预设阈值时,服务器确定至少两个连续的时延区间。其中,服务器确定至少两个连续的时延区间,可以包括:服务器按照以预设底数β的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间,其中,β大于α。为了更加准确地得到每条链路的平均时延所属的时延区间,进而提高链路优先级设置的准确度,服务器可以在检测到至少一条链路的时延波动值超过预设阈值时重新确定至少两个连续的时延区间,将预设底数α调整为一个较大数β,服务器基于预设底数β重新确定至少两个连续的时延区间。可选的,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延,可以包括:服务器检测服务器与存储设备之间的链路是否发生变化,当服务器与存储设备之间的链路发生变化时,计算服务器与存储设备之间的多条链路中每条链路的平均时延。实际应用中,服务器与存储设备之间总会发生各种各样的变化,比如,服务器与存储设备之间的链路发生变化,且当服务器和存储设备之间的一条链路发生变化时,还通常会对服务器和存储设备之间的其余链路产生影响,所以服务器可以检测服务器与存储设备之间的链路是否发生变化,以便于在服务器与存储设备之间的链路发生变化时,计算服务器与存储设备之间的多条链路中每条链路的平均时延,提高链路优先级设置的准确度。其中,服务器在检测服务器与存储设备之间的链路是否发生变化时,可以在检测到服务器与存储设备之间的链路满足以下至少一个时,确定服务器与存储设备之间的链路发生变化:服务器与存储设备之间出现新的链路;服务器与存储设备之间的已有链路被删除;以及服务器与存储设备之间的已有链路的工作状态发生变化。在该方法中,服务器可以计算服务器与存储设备之间的多条链路中每条链路的平均时延,确定每条链路的平均时延所属的时延区间,之后基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。进一步的,服务器可以在侦测到至少一条链路的时延波动值超过预设阈值时,或者在检测到服务器与存储设备之间的链路发生变化时,对之前计算的每条链路的平均时延进行更新,得到每条链路更加准确的平均时延,提高链路优先级设置的准确度。此外,服务器还可以在检测到至少一条链路的时延波动值超过预设阈值时,重新确定用于设置链路优先级的至少两个连续的时延区间,提高链路优先级设置的准确度,从而提高数据传输的可靠性,满足用户对业务的QoS要求。第二方面,提供了一种链路优先级设置装置,用于服务器,该链路优先级设置装置包括至少一个模块,至少一个模块用于实现上述第一方面所述的链路优先级设置方法。第三方面,提供了一种链路优先级设置装置,用于服务器,该装置包括:处理器、存储器、网络接口和总线,总线用于连接处理器、存储器和网络接口,其中,网络接口用于实现服务器与存储设备之间的通信连接。处理器用于执行存储器中存储的程序来实现第一方面所述的链路优先级设置方法。第四方面,提供了一种链路优先级设置系统,包括:服务器和存储设备。该服务器包括第二方面所述的链路优先级设置装置,或者包括第三方面所述的链路优先级设置装置。第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行第一方面所述的链路优先级设置方法。第六方面,提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面所述的链路优先级设置方法。上述第二方面至第六方面所获得的技术效果与第一方面中对应的技术手段所获得的技术效果近似,在这里不再赘述。本申请提供的技术方案带来的有益效果是:服务器能够计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级,服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值,相较于现有技术,能够对平均时延较高的链路进行隔离,避免采用平均时延较高的链路来传输数据,提高了数据传输的可靠性,满足了用户对业务的QoS要求。附图说明图1是本申请各个实施例所涉及的实施环境示意图;图2是本发明实施例提供的一种链路优先级设置装置的结构示意图;图3-1是本发明实施例提供的一种链路优先级设置方法的方法流程图;图3-2是本发明实施例提供的一种计算每条链路的平均时延的方法流程图;图3-3是现有技术中服务器和存储设备的连接示意图;图4是本发明实施例提供的另一种链路优先级设置方法的方法流程图;图5是本发明实施例提供的又一种链路优先级设置方法的方法流程图;图6-1是本发明实施例提供的一种链路优先级设置装置的结构示意图;图6-2是本发明实施例提供的另一种链路优先级设置装置的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。请参考图1,其示出了本申请各个实施例所涉及的实施环境示意图,该实施环境可以为SAN架构,SAN架构是一个集中式管理的高速存储网络架构,如图1所示,该实施环境可以包括:存储设备001和多个服务器002,服务器002通过网络设备003与存储设备001连接,多个服务器002可以同时访问存储设备001。每个服务器002和存储设备001之间设置有多条链路,该多条链路被预先设置的优先级均相同,链路的工作状态直接影响上层业务的处理。现有技术中,当服务器和存储设备之间的某些链路的平均时延较高时,无法对该某些链路进行有效隔离,而通过平均时延较高的链路传输数据会降低数据传输的可靠性,从而无法满足用户对业务的QoS要求,甚至导致业务中断。图2是本发明实施例提供的一种链路优先级设置装置200的结构示意图,该装置可以用于图1所示的服务器。如图2所示,该装置200包括处理器201如CPU、存储器202、网络接口203和总线204。其中,总线204用于连接处理器201、存储器202和网络接口203。存储器202可能包含随机存取存储器RandomAccessMemory,RAM,也可能包含非不稳定的存储器non-volatilememory,例如至少一个磁盘存储器。通过网络接口203实现服务器与存储设备之间的通信连接。存储器202中存储有程序2021,该程序2021用于实现各种应用功能,处理器201用于执行存储器202中存储的程序2021来实现下述链路优先级设置方法。本发明实施例提供的链路优先级设置方法能够对服务器和存储设备之间平均时延较高的链路进行有效隔离。示例的,在第一种可实现方式中,服务器可以计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。其中,服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值;在第二种可实现方式中,服务器可以在多条链路中至少一条链路的时延波动值超过预设阈值时,计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后再基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。在第三种可实现方式中,服务器可以在服务器与存储设备之间的链路发生变化时,计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后再基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。下面以这三种可实现方式为例对该链路优先级设置方法进行说明。在第一种可实现方式中,如图3-1所示,本发明实施例提供的链路优先级设置方法可以包括:步骤301、服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延。以图1中的服务器A为例进行说明,假设服务器A与存储设备之间设置有3个链路:LL1、LL2和LL3,在本步骤中,服务器计算LL1的平均时延,LL2的平均时延,以及LL3的平均时延。示例的,本发明实施例中的平均时延可以以秒为单位。可选的,如图3-2所示,步骤301可以包括:步骤3011、服务器获取预设时长内通过每条链路传输的n个IO请求的时延,n≥2。服务器获取预设时长内通过每条链路传输的n个输入输出Inputoutput,IO请求中每个IO请求的时延,得到n个时延,n≥2。示例的,该预设时长可以为5分钟。步骤3012、服务器确定每条链路的n个IO请求的时延的平均值。由于几何平均值更能反映出数据的稳定性,对于一组数据来说,其几何平均值越大,表明该组数据就越稳定,波动变化越小。为了提高链路优先级设置的准确度,n个IO请求的时延的平均值可以为该n个IO请求的时延的几何平均值。步骤3013、服务器将每条链路的n个IO请求的时延的平均值确定为每条链路的平均时延。服务器将步骤3012中得到的链路的n个IO请求的时延的平均值确定为该条链路的平均时延。当n个IO请求的时延的平均值为该n个IO请求的时延的几何平均值时,服务器将每条链路的n个IO请求的时延的几何平均值确定为每条链路的平均时延。每个IO请求的时延等于该IO请求的接收时刻与该IO请求的发送时刻的差值。比如,该IO请求的接收时刻为t2,该IO请求的发送时刻为t1,那么该IO请求的时延Δt=t2-t1。对于每条链路,当n个IO请求的时延的平均值为该n个IO请求的时延的几何平均值时,用于计算链路的n个IO请求的时延的几何平均值Pa的公式为:pj表示n个IO请求的时延中第j个时延,1≤j≤n。图3-3示出了服务器A和存储设备的连接示意图,服务器A包括存储单元和主机总线适配器,存储设备包括逻辑单元和控制单元,每个IO请求通过由一对主机总线适配器和控制单元实现的链路进行传输。假设预设时长为5分钟,以服务器A和存储设备之间的链路LL1为例进行说明,对于LL1,服务器A获取5分钟内通过LL1传输的100个IO请求中每个IO请求的时延,得到100个IO请求的时延,然后,服务器A可以按照用于计算几何平均值的公式来得到LL1的平均时延Pa1。同样的,服务器A可以得到LL2的平均时延Pa2以及LL3的平均时延Pa3。在本步骤中,服务器可以实时计算服务器与存储设备之间的多条链路中每条链路的平均时延,即服务器可以以最小时间单位来计算每条链路的平均时延。这样一来,能够进一步及时检测到平均时延较高的链路,进而达到及时隔离平均时延较高的链路的效果。实际应用中,为了降低处理开销,服务器也可以每隔指定时长来确定每条链路的平均时延。示例的,该指定时长可以为10分钟。步骤302、服务器确定每条链路的平均时延所属的时延区间,服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值。其中,时延区间的优先级可以用数字来表示,数字越大,时延区间的优先级的等级就越高。比如服务器中预设3个连续的时延区间,第1个时延区间为[1,10,第1个时延区间的优先级为3;第2个时延区间为[10,100,第2个时延区间的优先级为2;第3个时延区间为[100,1000],第3个时延区间的优先级为1。第2个时延区间的优先级的等级高于第3个时延区间的优先级的等级,且低于第1个时延区间的优先级的等级。可选的,服务器可以按照以预设底数α的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间。以图1所示实施环境中的服务器A为例进行说明,服务器A按照预设底数α的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间。至少两个连续的时延区间包括m个连续的时延区间,m≥2,预设的最小平均时延值Min为1,预设的最大平均时延值Max为αm。该m个连续的时延区间中的第i1≤i≤m个时延区间可以表示为[αi-1,αi,或者表示为αi-1,αi],本发明实施例对时延区间的开闭形式不做限定。比如m个连续的时延区间中的第1个时延区间表示为[1,α;第2个时延区间表示为[α,α2;第3个时延区间表示为[α2,α3;后面的时延区间的表示形式依次类推,而第m个时延区间表示为[αm-1,αm。其中,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值。比如,第1个时延区间[1,α的优先级比第2个时延区间[α,α2高,第2个时延区间[α,α2的时延最小值α大于第1个时延区间[1,α的时延最大值。进一步的,服务器可以确定m个连续的时延区间中第i个时延区间的长度,该确定过程可以包括:采用区间划分公式确定第i个时延区间的长度Li,1≤i≤m。其中,该区间划分公式为:Li=αi-αi-1,α为预设底数。示例的,该m个连续的时延区间中的第1个时延区间的长度L1=α-1,第2个时延区间的长度L2=α2-α,第3个时延区间的长度L3=α3-α2,第m个时延区间的长度为αm-αm-1。优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值,所以可以看出,在本发明实施例中,时延区间的长度与时延区间的优先级成反比,也即是,时延区间的长度越小,时延区间的优先级的等级越高。现以预设的最小平均时延值Min为1,预设的最大平均时延值Max为1000,预设底数α为10为例,对时延区间的长度的确定过程进行说明,服务器A可以得到3个连续的时延区间,第1个时延区间为[1,10,第1个时延区间的长度L1=10-1=9,第1个时延区间的优先级为3;第2个时延区间为[10,100,第2个时延区间的长度L2=100-10=90,第2个时延区间的优先级为2;第3个时延区间为[100,1000],第3个时延区间的长度L3=1000-100=900,第3个时延区间的优先级为1。服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延之后,在预先得到的至少两个连续的时延区间中确定每条链路的平均时延所属的时延区间。以图1中的服务器A与存储设备之间的3个链路:LL1、LL2和LL3为例进行说明,假设服务器得到3个连续的时延区间,第1个时延区间为[1,10,第1个时延区间的优先级为3;第2个时延区间为[10,100,第2个时延区间的优先级为2;第3个时延区间为[100,1000],第3个时延区间的优先级为1,第1个时延区间的优先级的等级最高,第3个时延区间的优先级的等级最低。基于步骤301,服务器计算的LL1的平均时延Pa1为5,LL2的平均时延Pa2为7,LL3的平均时延Pa3为600,那么基于步骤302,服务器A可以确定LL1的平均时延Pa1所属的时延区间为[1,10,LL2的平均时延Pa2所属的时延区间为[1,10,LL3的平均时延Pa3所属的时延区间为[100,1000]。步骤303、服务器基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。服务器基于步骤302中确定的每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。比如,参见图1,服务器A确定LL1的平均时延Pa1所属的时延区间为[1,10,LL2的平均时延Pa2所属的时延区间为[1,10,LL3的平均时延Pa3所属的时延区间为[100,1000],由于时延区间[1,10的优先级为3,时延区间[100,1000]的优先级为1,所以服务器可以确定LL1的优先级为3,LL2的优先级为3,LL3的优先级为1。至此,服务器完成了每条链路优先级的设置过程。服务器确定了每条链路的优先级之后,可以对低优先级的链路进行隔离,选取高优先级的链路来传输数据。可选的,服务器可以选取最高优先级的链路来传输数据。示例的,当最高优先级的链路有多个时,服务器可以根据实际业务需求,采用该多条链路来传输数据,或者从该多条链路中按照预设规则比如链路的编号从该多条链路中选取指定数量的链路传输数据,或者从该多条链路中随机选取一条链路来传输数据,本发明实施例对此不做限定。假设图1中的服务器A确定的LL1的平均时延Pa1所属的时延区间为[1,10,LL1的优先级为3;LL2的平均时延Pa2所属的时延区间为[1,10,LL2的优先级为3;LL3的平均时延Pa3所属的时延区间为[100,1000],LL3的优先级为1,LL1的优先级和LL2的优先级高于LL3的优先级,那么服务器A可以选取LL1和LL2来传输数据。需要补充说明的是,为了隔离时延较高的链路,现有技术中可以由服务器的主机总线适配器返回IO错误码来检测平均时延较高的链路,然后对平均时延较高的链路进行隔离,然而,大多数主机总线适配器并不会返回IO错误码,最终导致服务器无法对平均时延较高的链路进行隔离,因此会降低数据传输的可靠性,无法满足用户对业务的QoS要求。而本发明实施例提供的链路优先级设置方法,可以计算服务器与存储设备之间的多条链路中每条链路的平均时延,确定每条链路的平均时延所属的时延区间,然后基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级,该方法能够在服务器和存储设备之间的部分链路的平均时延较高时,及时隔离这部分链路,最终使得业务始终可以在平均时延较低的链路上被处理,提高了数据传输的可靠性,能够满足用户对业务的QoS要求。综上所述,本发明实施例提供的链路优先级设置方法,服务器能够计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级,服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值,相较于现有技术,该方法能够对平均时延较高的链路进行隔离,避免采用平均时延较高的链路来传输数据,提高了数据传输的可靠性,满足了用户对业务的QoS要求。在第二种可实现方式中,服务器可以在链路的时延波动变化较大的情况下,计算服务器与存储设备之间的多条链路中每条链路的平均时延,进而完成链路优先级的设置,如图4所示,该链路优先级设置方法可以包括:步骤401、服务器侦测每条链路的时延波动值。实际应用中,服务器与存储设备之间总会发生各种各样的变化,比如,服务器与存储设备之间的链路的时延波动变化较大,且当服务器和存储设备之间的一条链路的时延波动变化较大时,还通常会对服务器和存储设备之间的其余链路产生影响,所以服务器可以侦测服务器与存储设备之间的链路时延波动变化,以便于在服务器与存储设备之间的链路时延波动变化较大时,计算服务器与存储设备之间的多条链路中每条链路的平均时延,提高链路优先级设置的准确度。可选的,服务器可以基于链路的时延波动值来侦测服务器与存储设备之间的链路时延波动变化,该时延波动值用于反映每条链路的n个IO请求的时延的离散程度。在侦测每条链路的时延波动值时,服务器可以基于预设时长内通过每条链路传输的n个IO请求的时延的平均值和该n个IO请求的时延计算每条链路的时延波动值,n≥2。每条链路的时延波动值也是对应链路的n个IO请求的时延的几何标准差。n个IO请求的时延的平均值可以为n个IO请求的时延的几何平均值。示例的,预设时长可以为5分钟。侦测的时延波动值其中,Pa为预设时长内通过每条链路传输的n个IO请求的时延的平均值,pj为n个IO请求的时延中第j个IO请求的时延,1≤j≤n。以图1中的服务器A和存储设备之间的链路LL1为例进行说明,对于LL1,服务器A基于预设时长内通过LL1传输的100个IO请求的时延的几何平均值,以及100个IO请求的时延,计算LL1的时延波动值。同样的,服务器A可以得到LL2的时延波动值和LL3的时延波动值。在发明实施例中,服务器可以实时侦测每条链路的时延波动值。这样一来,能够进一步及时检测到平均时延较高的链路,进而达到及时隔离平均时延较高的链路的效果。实际应用中,为了降低处理开销,服务器也可以每隔指定时长侦测每条链路的时延波动值。示例的,该指定时长可以为10分钟。步骤402、当多条链路中至少一条链路的时延波动值超过预设阈值时,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延。当多条链路中至少一条链路的时延波动值超过预设阈值时,表明链路时延波动变化较大,此时,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延。其中,计算服务器与存储设备之间的多条链路中每条链路的平均时延,如图3-2所示,可以包括:服务器获取预设时长内通过每条链路传输的n个IO请求的时延,n≥2,然后确定每条链路的n个IO请求的时延的平均值,之后,再将每条链路的n个IO请求的时延的平均值确定为每条链路的平均时延。为了提高链路优先级设置的准确度,n个IO请求的时延的平均值可以为n个IO请求的时延的几何平均值。计算每条链路的平均时延的过程可以参考上述步骤3011至步骤3013,在此不再赘述。步骤403、服务器确定每条链路的平均时延所属的时延区间。服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值。在本发明实施例中,服务器可以预先按照以预设底数α的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间。至少两个连续的时延区间的获取过程可以参考步骤302中的相关说明。至少两个连续的时延区间包括m个连续的时延区间,m≥2,进一步的,服务器还可以确定m个连续的时延区间中的每个时延区间的长度,该过程可以包括:采用区间划分公式确定第i个时延区间的长度Li,1≤i≤m;其中,该区间划分公式为:Li=αi-αi-1,α为预设底数。每个时延区间的长度的确定过程可以参考步骤302中的相关说明。服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延之后,在预先得到的至少两个连续的时延区间中确定每条链路的平均时延所属的时延区间,该过程可以参考步骤302。需要补充说明的是,可选的,步骤402中的预设阈值可以为L2,其中,L为目标链路的平均时延所属的时延区间的长度,该目标链路为步骤402中至少一个链路中的任一链路。当多条链路中至少一条链路的时延波动值s≥L2时,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延。示例的,假设图1中的服务器A和存储设备之间的LL1的时延波动值s为5,LL1的平均时延Pa1所属的时延区间为[1,10,该时延区间的长度L2为10-1=9,比较时延波动值s和L2的大小关系,由于满足s≥L2,因此服务器A计算LL1的平均时延,LL2的平均时延,以及LL3的平均时延。进一步的,该方法还可以包括:当检测到多条链路中至少一条链路的时延波动值超过预设阈值时,服务器确定至少两个连续的时延区间。其中,服务器确定至少两个连续的时延区间,可以包括:服务器按照以预设底数β的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间,其中,β大于α。当检测到多条链路中至少一条链路的时延波动值超过预设阈值时,表明链路的时延波动变化较大,为了更加准确地得到每条链路的平均时延所属的时延区间,进而提高链路优先级设置的准确度,服务器可以重新确定至少两个连续的时延区间,将预设底数α调整为一个较大数β,服务器基于预设底数β重新确定至少两个连续的时延区间。然后服务器再基于重新确定的至少两个连续的时延区间,确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。步骤404、服务器基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。服务器确定了每条链路的优先级之后,可以对低优先级的链路进行隔离,选取高优先级的链路来传输数据。步骤404可以参考步骤303。综上所述,本发明实施例提供的链路优先级设置方法,服务器能够在服务器与存储设备之间的多条链路中存在至少一条链路的时延波动值超过预设阈值时,计算服务器和存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级,相较于现有技术,该方法能够对平均时延较高的链路进行及时隔离,避免采用平均时延较高的链路来传输数据,提高了数据传输的可靠性,满足了用户对业务的QoS要求。在第三种可实现方式中,服务器可以在服务器与存储设备之间的链路发生变化的情况下,计算服务器与存储设备之间的多条链路中每条链路的平均时延,进而完成链路优先级的设置,如图5所示,该链路优先级设置方法可以包括:步骤501、服务器检测服务器与存储设备之间的链路是否发生变化。实际应用中,服务器与存储设备之间总会发生各种各样的变化,比如,服务器与存储设备之间的链路发生变化,且当服务器和存储设备之间的一条链路发生变化时,还通常会对服务器和存储设备之间的其余链路产生影响,所以服务器可以检测服务器与存储设备之间的链路是否发生变化,以便于在服务器与存储设备之间的链路发生变化时,计算服务器与存储设备之间的多条链路中每条链路的平均时延。当检测到服务器与存储设备之间的链路满足以下条件中的至少一个时,服务器可以确定服务器与存储设备之间的链路发生变化:服务器与存储设备之间出现新的链路;服务器与存储设备之间的已有链路被删除;以及服务器与存储设备之间的已有链路的工作状态发生变化。示例的,当已有链路出现故障时,服务器可以确定已有链路的工作状态发生变化。可选的,服务器可以通过实时扫描的方式检测服务器与存储设备之间是否出现新的链路,已有链路是否被删除,以及已有链路的工作状态发生变化,该检测过程可以参考现有技术。以图1中的服务器A为例进行说明,当服务器A检测到服务器A与存储设备之间出现新的链路LL4,服务器A可以确定服务器A与存储设备之间的链路发生变化;或者,当服务器A检测到服务器A与存储设备之间的LL1被删除,服务器A可以确定服务器A与存储设备之间的链路发生变化;或者,当服务器A检测到服务器A与存储设备之间的LL2的工作状态发生变化,比如LL2出现故障,服务器A可以确定服务器A与存储设备之间的链路发生变化。在发明实施例中,服务器可以实时检测服务器与存储设备之间的链路是否发生变化。这样一来,能够进一步及时检测到平均时延较高的链路,进而达到及时隔离平均时延较高的链路的效果。实际应用中,为了降低处理开销,服务器也可以每隔指定时长检测服务器与存储设备之间的链路是否发生变化。示例的,该指定时长可以为10分钟。步骤502、当服务器与存储设备之间的链路发生变化时,服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延。示例的,假设图1中的服务器A检测到服务器A与存储设备之间出现新的链路LL4,那么服务器A计算LL1的平均时延Pa1,LL2的平均时延Pa2,LL3的平均时延Pa3和LL4的平均时延Pa4。示例的,假设图1中的服务器A检测到服务器A与存储设备之间的LL1被删除,那么服务器A计算LL2的平均时延Pa2和LL3的平均时延Pa3。示例的,假设图1中的服务器A检测到服务器A与存储设备之间的LL2出现故障,那么服务器A计算LL1的平均时延Pa1和LL3的平均时延Pa3。服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延,如图3-2所示,可以包括:服务器获取预设时长内通过每条链路传输的n个IO请求的时延,n≥2,然后确定每条链路的n个IO请求的时延的平均值,之后,再将每条链路的n个IO请求的时延的平均值确定为每条链路的平均时延。为了提高链路优先级设置的准确度,n个IO请求的时延的平均值可以为n个IO请求的时延的几何平均值。计算每条链路的平均时延的过程可以参考上述步骤3011至步骤3013,在此不再赘述。步骤503、服务器确定每条链路的平均时延所属的时延区间。服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值。在本发明实施例中,服务器可以预先按照以预设底数α的对数尺度,对预设的最大平均时延值Max和最小平均时延值Min进行划分,得到至少两个连续的时延区间。至少两个连续的时延区间的获取过程可以参考步骤302中的相关说明。示例的,至少两个连续的时延区间包括m个连续的时延区间,m≥2,进一步的,服务器还可以确定m个连续的时延区间中的每个时延区间的长度,该过程可以包括:采用区间划分公式确定第i个时延区间的长度Li,1≤i≤m;其中,该区间划分公式为:Li=αi-αi-1,α为预设底数。每个时延区间的长度的确定过程可以参考步骤302中的相关说明。服务器计算服务器与存储设备之间的多条链路中每条链路的平均时延之后,在预先得到的至少两个连续的时延区间中确定每条链路的平均时延所属的时延区间,该过程可以参考步骤302。假设服务器A得到3个连续的时延区间,第1个时延区间为[1,10,第1个时延区间的优先级为3;第2个时延区间为[10,100,第2个时延区间的优先级为2;第3个时延区间为[100,1000],第3个时延区间的优先级为1,第1个时延区间的优先级的等级最高,第3个时延区间的优先级的等级最低。假设基于步骤501和步骤502,,服务器A得到新的链路LL4的平均时延为9,LL1的平均时延为4,LL2的平均时延为20,LL3的平均时延为300,那么基于步骤503,服务器A可以确定LL1的平均时延所属的时延区间为[1,10,LL2的平均时延所属的时延区间为[10,100,LL3的平均时延所属的时延区间为[100,1000],新的链路LL4的平均时延所属的时延区间为[1,10。步骤504、服务器基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。服务器确定了每条链路的优先级之后,可以对低优先级的链路进行隔离,选取高优先级的链路来传输数据。步骤504可以参考步骤303。综上所述,本发明实施例提供的链路优先级设置方法,服务器能够在服务器与存储设备之间的链路发生变化时,计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级,相较于现有技术,该方法能够对平均时延较高的链路进行及时隔离,避免采用平均时延较高的链路来传输数据,提高了数据传输的可靠性,满足了用户对业务的QoS要求。需要说明的是,本发明实施例提供的链路优先级设置方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。本发明实施例提供了一种链路优先级设置装置600,该链路优先级设置装置可以应用于图1所示的服务器002,如图6-1所示,该装置600包括:计算模块610,用于执行上述实施例中的步骤301。第一确定模块620,用于执行上述实施例中的步骤302、步骤403或步骤503。第二确定模块630,用于执行上述实施例中的步骤303、步骤404或步骤504。可选的,计算模块610,用于执行上述实施例中的步骤401和步骤402。可选的,计算模块610,用于执行上述实施例中的步骤501和步骤502。可选的,计算模块610,用于执行上述实施例中的步骤3011至步骤3013。进一步的,如图6-2所示,该装置600还可以包括:第三确定模块640,用于在检测到多条链路中至少一条链路的时延波动值超过预设阈值时,确定至少两个连续的时延区间。图6-2中的其他标记含义可以参考图6-1。综上所述,本发明实施例提供的链路优先级设置装置,服务器能够计算服务器与存储设备之间的多条链路中每条链路的平均时延,然后确定每条链路的平均时延所属的时延区间,之后,基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级,服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值,相较于现有技术,能够对平均时延较高的链路进行及时隔离,避免采用平均时延较高的链路来传输数据,提高了数据传输的可靠性,满足了用户对业务的QoS要求。本发明实施例提供了一种链路优先级设置系统,包括:服务器和存储设备,服务器包括图6-1或图6-2所示的链路优先级设置装置,或者包括图2所示的链路优先级设置装置。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线例如同轴电缆、光纤、数字用户线或无线例如红外、无线、微波等方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质例如,软盘、硬盘、磁带、光介质,或者半导体介质例如固态硬盘等。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

权利要求:1.一种链路优先级设置方法,其特征在于,用于服务器,所述方法包括:计算服务器与存储设备之间的多条链路中每条链路的平均时延;确定每条链路的平均时延所属的时延区间,所述服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值;基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。2.根据权利要求1所述的方法,其特征在于,所述计算服务器与存储设备之间的多条链路中每条链路的平均时延,包括:侦测每条链路的时延波动值;当所述多条链路中至少一条链路的时延波动值超过预设阈值时,计算所述服务器与所述存储设备之间的多条链路中每条链路的平均时延;其中,所述时延波动值所述Pa为预设时长内通过每条链路传输的n个IO请求的时延的平均值,所述pj为所述n个IO请求的时延中第j个IO请求的时延,1≤j≤n,n≥2。3.根据权利要求1所述的方法,其特征在于,所述计算服务器与存储设备之间的多条链路中每条链路的平均时延,包括:检测所述服务器与所述存储设备之间的链路是否发生变化;当所述服务器与所述存储设备之间的链路发生变化时,计算所述服务器与所述存储设备之间的多条链路中每条链路的平均时延。4.根据权利要求1至3任一所述的方法,其特征在于,所述计算服务器与存储设备之间的多条链路中每条链路的平均时延,包括:获取预设时长内通过每条链路传输的n个IO请求的时延,n≥2;确定所述每条链路的n个IO请求的时延的平均值;将所述每条链路的n个IO请求的时延的平均值确定为所述每条链路的平均时延。5.根据权利要求2所述的方法,其特征在于,在所述确定每条链路的平均时延所属的时延区间之前,所述方法还包括:当检测到所述多条链路中至少一条链路的时延波动值超过所述预设阈值时,确定所述至少两个连续的时延区间。6.一种链路优先级设置装置,其特征在于,用于服务器,所述装置包括:计算模块,用于计算服务器与存储设备之间的多条链路中每条链路的平均时延;第一确定模块,用于确定每条链路的平均时延所属的时延区间,所述服务器中预设至少两个连续的时延区间,每个时延区间表示平均时延的范围,每个时延区间设置有优先级,优先级等级相邻的时延区间中低优先级的时延区间的时延最小值大于高优先级的时延区间的时延最大值;第二确定模块,用于基于每条链路的平均时延所属的时延区间的优先级确定每条链路的优先级。7.根据权利要求6所述的装置,其特征在于,所述计算模块,用于:侦测每条链路的时延波动值;当所述多条链路中至少一条链路的时延波动值超过预设阈值时,计算所述服务器与所述存储设备之间的多条链路中每条链路的平均时延;其中,所述时延波动值所述Pa为预设时长内通过每条链路传输的n个IO请求的时延的平均值,所述pj为所述n个IO请求的时延中第j个IO请求的时延,1≤j≤n,n≥2。8.根据权利要求6所述的装置,其特征在于,所述计算模块,用于:检测所述服务器与所述存储设备之间的链路是否发生变化;当所述服务器与所述存储设备之间的链路发生变化时,计算所述服务器与所述存储设备之间的多条链路中每条链路的平均时延。9.根据权利要求6至8任一所述的装置,其特征在于,所述计算模块,用于:获取预设时长内通过每条链路传输的n个IO请求的时延,n≥2;确定所述每条链路的n个IO请求的时延的平均值;将所述每条链路的n个IO请求的时延的平均值确定为所述每条链路的平均时延。10.根据权利要求7所述的装置,其特征在于,所述装置还包括:第三确定模块,用于在检测到所述多条链路中至少一条链路的时延波动值超过所述预设阈值时,确定所述至少两个连续的时延区间。

百度查询: 华为技术有限公司 链路优先级设置方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术