面向物联网网关的云服务资源调度方法转让专利

申请号 : CN202110824457.4

文献号 : CN113556397B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 申斌夏传良汪明李成栋王少林

申请人 : 山东建筑大学

摘要 :

本发明公开了面向物联网网关的云服务资源调度方法,物联网网关向资源调度服务器申请通信服务,获取并计算其与每个通信服务器之间的数据包往返时间平均值,将归一化处理后的往返时间发送给资源调度服务器;各通信服务器采集CPU利用率和内存占用率;资源调度服务器依次从各个通信服务器获取CPU利用率和内存占用率;将通信服务器的CPU利用率、内存占用率、物联网网关到通信服务器的往返时间归一化值作为三个指标;采用变异系数法选择最合适的通信服务器为物联网网关提供通信服务。本发明能够在多个通信服务器中为物联网网关选择最合适的服务资源,既能保证各个通信服务器的负载均衡,也能兼顾从物联网网关到通信服务器的网络传输时间。

权利要求 :

1.面向物联网网关的云服务资源调度方法,其特征是,包括:物联网网关向资源调度服务器申请通信服务;资源调度服务器告知物联网网关所有通信服务器的IP地址;

通过依次向各个通信服务器发起TCP连接并发送测试报文,物联网网关获取其与每个通信服务器之间的数据包往返时间平均值;

物联网网关对其与每个通信服务器之间的往返时间平均值进行归一化处理,并将归一化处理后的其与每个通信服务器之间的往返时间发送给资源调度服务器;具体归一化处理公式为:

其中,i表示第i个通信服务器;RTTi表示归一化处理前的往返时间平均值;LNETi表示归一化处理后的往返时间;

各个通信服务器在响应物联网网关的测试报文后,采集并计算自身的CPU利用率和内存占用率;

资源调度服务器依次从各个通信服务器获取它们的CPU利用率和内存占用率;

将通信服务器的CPU利用率、通信服务器的内存占用率作为两个分项指标;将物联网网关与通信服务器之间的平均往返时间归一化值作为第三个分项指标;基于三个分项指标,资源调度服务器采用变异系数法选择最合适的通信服务器为物联网网关提供通信服务;

所述基于三个分项指标,资源调度服务器采用变异系数法选择最合适的通信服务器为物联网网关提供通信服务;具体包括:分别计算三个分项指标各自的变异系数;

根据变异系数,得到每个分项指标的权重;

根据分项指标值以及每个分项指标的权重,采用加权求和的方式,得到每个通信服务器的综合指标值;

资源调度服务器将综合指标值最小的通信服务器的IP地址发送给物联网网关,物联网网关自此便与综合指标值最小的通信服务器进行周期性的通信。

2.如权利要求1所述的面向物联网网关的云服务资源调度方法,其特征是,所述通过依次向各个通信服务器发起TCP连接并发送测试报文,物联网网关获取其与每个通信服务器之间的数据包往返时间平均值;具体包括:物联网网关作为TCP客户端依次向各个通信服务器发起TCP连接请求,连接成功后向通信服务器发送测试报文,等待通信服务器响应后随即关闭TCP连接;

物联网网关获取并存储其在上述TCP协议处理过程中与每个通信服务器之间的往返时间实际值;

重复上述步骤若干次后,物联网网关获取并计算其与每个通信服务器之间的往返时间平均值。

3.如权利要求1所述的面向物联网网关的云服务资源调度方法,其特征是,分别计算三个分项指标各自的变异系数;具体包括:设N台通信服务器中第i个通信服务器的CPU利用率为LCPUi,内存占用率为LMEMi;归一化处理后的往返时间为LNETi;CPU利用率指标在综合指标中所占的权重为WCPU,内存占用率指标在综合指标中所占的权重为WMEM,归一化处理后的往返时间在综合指标中所占的权重为WNET;

(1)计算全体通信服务器的CPU利用率平均值 全体通信服务器的内存占用率平均值 和全体通信服务器的归一化处理后的往返时间的平均值 公式如下:(2)计算全体通信服务器的CPU利用率标准差σCPU、全体通信服务器的内存占用率标准差σMEM和全体通信服务器的归一化处理后的往返时间的标准差σNET,公式如下:(3)计算全体通信服务器的CPU利用率变异系数COVCPU、全体通信服务器的内存占用率变异系数COVMEM和全体通信服务器的归一化处理后的往返时间变异系数COVNET,公式如下:

4.如权利要求3所述的面向物联网网关的云服务资源调度方法,其特征是,所述根据变异系数,得到每个分项指标的权重;具体包括:计算CPU利用率在通信服务器综合指标中所占的权重WCPU、内存占用率在通信服务器综合指标中所占的权重WMEM、归一化处理后的往返时间在通信服务器综合指标中所占的权重WNET,公式如下:

WCPU=COVCPU/(COVCPU+COVMEM+COVNET);    (5‑1)WMEM=COVMEM/(COVCPU+COVMEM+COVNET);   (5‑2)WNET=COVNET/(COVCPU+COVMEM+COVNET);    (5‑3)。

5.如权利要求4所述的面向物联网网关的云服务资源调度方法,其特征是,所述根据分项指标值以及每个分项指标的权重,采用加权求和的方式,得到每个通信服务器的综合指标值;具体包括:

依次计算第i个通信服务器的综合指标值Li,公式如下:Li=WCPU·LCPUi+WMEM·LMEMi+WNET·LNETi    (6)。

6.如权利要求1所述的面向物联网网关的云服务资源调度方法,其特征是,所述方法还包括:

当有物联网网关复位或者通信服务器遇到故障时,再次为物联网网关筛选新的通信服务器提供通信服务。

说明书 :

面向物联网网关的云服务资源调度方法

技术领域

[0001] 本发明涉及云计算应用技术领域,特别是涉及面向物联网网关的云服务资源调度方法。

背景技术

[0002] 本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
[0003] 物联网云服务中心是一种面向物联网设备以云计算方式提供软件服务的物联网综合管理系统,主要采用软件即服务(SaaS)的方式为公众提供特定领域内的服务。整个系
统中与设备相关的主要有物联网设备层和云服务层。物联网设备层主要由物联网内的各种
终端设备和负责把它们接入互联网的物联网网关组成。云服务层主要包括资源调度服务
器、通信服务器、数据库服务器和Web服务器等,它们可以是云服务中心的物理服务器,也可
以是以虚拟机形式存在的虚拟服务器。在资源调度服务器和通信服务器上部署有相应的软
件模块,面向物联网设备分别提供资源调度服务和通信服务。
[0004] 资源调度服务器在面向物联网网关提供资源调度服务时,其首要任务是保证各个通信服务器的负载均衡。现有技术中,无论是以物理机负载均衡为目标的虚拟机迁移技术,
还是以虚拟机自身负载均衡为目标的资源调度算法,绝大多数会采集虚拟机的CPU队列长
度、CPU利用率、内存利用率、磁盘I/O、网络带宽利用率等负载指标中的一个或几个以评价
虚拟机负载状况。
[0005] 面向物联网网关的资源调度与传统的服务于分布式密集计算的资源调度有不同的特点,这是因为物联网终端设备是通过物联网网关接入云服务中心的,因此物联网云服
务中心不仅需要面向用户提供软件服务,还要面向物联网网关提供通信服务。物联网网关
所需的通信服务主要是数据包收发和解析服务,这些服务是由通信服务器提供的。由于实
际部署时通常根据物联网设备的地域分布和网络拓扑情况,将众多通信服务器部署在不同
互联网服务运营商的不同地域内,故而进行通信资源调度时不仅需要考虑通信服务器的负
载平衡,还要考虑从物联网网关到通信服务器的网络传输时间,以保证它们之间的通信速
度。发明人发现,现有技术中的资源调度服务器在进行通信资源调度时,只考虑了通信服务
器的负载平衡,未考虑从物联网网关到通信服务器的网络传输时间,因此不能为物联网网
关分配合适的通信服务资源。
[0006] 发明人还发现,现有技术在选择了CPU利用率、内存利用率、网络带宽利用率等多个负载指标以评价服务器负载状况时,通常采用层次分析法、综合评分法或功效系数法等
主观赋权方法确定这几个指标在服务器综合负载中所占的权重。这些主观赋权方法在确定
指标的权重时过于依赖专家的经验,主观因素的影响较大,不能利用指标值自身所包含的
信息客观确定该指标的权重。

发明内容

[0007] 为了解决现有技术的不足,本发明提出了面向物联网网关的云服务资源调度方法;既选取了从物联网网关到通信服务器的网络传输时间作为指标之一,又采用变异系数
法客观确定各个指标的权重以避免主观随意性,从而能够为物联网网关分配合适的通信服
务资源。
[0008] 面向物联网网关的云服务资源调度方法,包括:
[0009] 物联网网关上电后,向资源调度服务器申请通信服务;资源调度服务器告知物联网网关所有通信服务器的IP地址;
[0010] 通过依次向各个通信服务器发起TCP连接并发送测试报文,物联网网关获取并计算其与每个通信服务器之间的数据包往返时间平均值;
[0011] 物联网网关对其与每个通信服务器之间的往返时间平均值进行归一化处理,并将归一化处理后的其与每个通信服务器之间的往返时间发送给资源调度服务器;
[0012] 各个通信服务器在响应物联网网关的测试报文后,采集并计算自身的CPU利用率和内存占用率;
[0013] 资源调度服务器依次从各个通信服务器获取它们的CPU利用率和内存占用率;
[0014] 将通信服务器的CPU利用率、通信服务器的内存占用率作为两个分项指标;将物联网网关与通信服务器之间的平均往返时间归一化值作为第三个分项指标;基于三个分项指
标,资源调度服务器采用变异系数法选择最合适的通信服务器为物联网网关提供通信服
务。
[0015] 与现有技术相比,本发明的有益效果是:
[0016] 本发明申请的资源调度算法可以在多个通信服务器中为物联网网关选择最合适的服务资源,既能保证各个通信服务器的负载均衡,也能兼顾从物联网网关到通信服务器
的网络传输时间。
[0017] (1)在为物联网网关调度合适的通信服务器时,既选取了CPU利用率和内存占用率等反映服务器负载轻重的指标,又选取了从物联网网关到通信服务器的数据包往返时间作
为一项指标,相比于单纯从通信服务器自身负载参数中选择衡量指标,本发明能够兼顾通
信服务器的负载均衡和物联网网关到通信服务器的网络传输时间,所选中的通信服务器能
够更好地为物联网网关提供通信服务。另外,本发明选用从物联网网关到通信服务器的数
据包往返时间作为衡量它们之间网络传输时间的指标,相比于采用它们之间的跳数或者通
信服务器的网络带宽利用率,更能反映实际的通信速度,也很方便获取。
[0018] (2)本发明选取通信服务器的CPU利用率、通信服务器的内存占用率、从物联网网关到通信服务器的数据包往返时间等参数作为分项指标,采用变异系数法确定每个分项指
标在综合指标中所占的权重,充分利用了每一组分项指标值自身所隐含的信息决定该分项
指标的权重。这种客观赋权的方法不但可以避免确定权重时的主观随意性,而且能够解决
分项指标的均值和量纲不同而无法直接比较的问题。
[0019] 本发明附加方面的优点将在下面的描述中部分给出,或通过本发明的实践了解到。

附图说明

[0020] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0021] 图1为物联网网关和云服务中心的物理架构图;
[0022] 图2为面向物联网网关的云服务资源调度方法顺序图。

具体实施方式

[0023] 应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常
理解的相同含义。
[0024] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式
也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,
意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设
备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过
程、方法、产品或设备固有的其它步骤或单元。
[0025] 在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0026] 术语介绍:往返时间(RTT,Round‑Trip Time)
[0027] 如图1所示,面向物联网网关的云服务资源调度系统,包括:若干个物联网网关,每个物联网网关均与资源调度主服务器和资源调度备服务器连接,系统至少包括一个资源调
度主服务器和一个资源调度备服务器,且分布在不同地域内,资源调度主服务器和资源调
度备服务器(两者统称为资源调度服务器)可以相互切换主备角色,资源调度主服务器和资
源调度备服务器均与当前地域或其它地域内的若干台通信服务器(CS)连接。所述资源调度
服务器和通信服务器都部署在若干个地域的物联网云服务中心内,既可以是租用的第三方
运营商以基础设施即服务(IaaS)形式提供的虚拟服务器,也可以是部署在云服务中心内的
物理服务器。
[0028] 如图2所示,本实施例提供了面向物联网网关的云服务资源调度方法,包括:
[0029] S101:物联网网关上电后向资源调度服务器申请通信服务;资源调度服务器告知物联网网关所有通信服务器的IP地址;
[0030] S102:通过依次向各个通信服务器发起TCP连接并发送测试报文,物联网网关获取并计算其与每个通信服务器之间的平均数据包往返时间;
[0031] S103:物联网网关对其与每个通信服务器之间的往返时间平均值进行归一化处理,并将归一化处理后的其与每个通信服务器之间的往返时间发送给资源调度服务器;
[0032] S104:各个通信服务器在响应物联网网关的测试报文后,采集并计算自身的CPU利用率和内存占用率;
[0033] S105:资源调度服务器依次从各个通信服务器获取它们的CPU利用率和内存占用率;
[0034] S106:将通信服务器的CPU利用率、通信服务器的内存占用率作为两个分项指标;将物联网网关与通信服务器之间的平均往返时间归一化值作为第三个分项指标;基于三个
分项指标,资源调度服务器采用变异系数法选择最合适的通信服务器为物联网网关提供通
信服务。
[0035] 进一步地,所述S102:通过依次向各个通信服务器发起TCP连接并发送测试报文,物联网网关获取其与每个通信服务器之间的平均数据包往返时间;具体包括:
[0036] S1021:物联网网关作为TCP客户端依次向各个通信服务器发起TCP连接请求,连接成功后向通信服务器发送测试报文,等待通信服务器响应后随即关闭TCP连接;
[0037] S1022:物联网网关获取并存储其在上述TCP协议处理过程中与每个通信服务器之间的往返时间实际值;
[0038] S1023:重复S1021‑S1022若干次后,物联网网关获取并计算其与每个通信服务器之间的往返时间平均值。
[0039] 用于衡量通信速度的指标很多,不同于其它技术在评估服务器负载时所采用的网络带宽利用率,也不同于某些虚拟机迁移技术所采用的从源机到目标机的网络跳数,本申
请采用的是物联网网关进行TCP协议处理时所测算的其到通信服务器的数据包的往返时间
(RTT)。这是因为在TCP中,为了保证报文的可靠传输,引入了超时重传机制和应答确认机
制,而为了更好地控制超时重传,TCP首先便需要计算RTT。简单地说,从发送端发送一个数
据包出去,直到接收到接收端对这个数据包的确认回复,这段时间称为RTT。RTT在一定程度
上能够反映网络的拥塞程度,因此本申请采用从物联网网关到通信服务器的RTT作为衡量
它们之间通信速度的指标,相比于采用它们之间的跳数或者通信服务器的网络带宽利用
率,更具有实际意义,也很方便获取。
[0040] 进一步地,所述S103:物联网网关对其与每个通信服务器之间的往返时间平均值进行归一化处理;具体归一化处理公式为:
[0041]
[0042] 其中,i表示第i个通信服务器;RTTi表示归一化处理前的往返时间平均值;LNETi表示归一化处理后的往返时间。
[0043] 物联网网关需要对RTT的平均值进行归一化处理。这是因为CPU利用率、内存占用率、RTT这三个分项指标的量纲不同,为了不同量纲的指标能够进行比较和加权,必须对分
项指标值进行归一化处理,而三个分项指标中CPU利用率和内存占用率的取值范围原本就
是[0,1],所以只需要对RTT进行归一化处理即可。
[0044] 进一步地,所述S106:基于三个分项指标,资源调度服务器采用变异系数法选择最合适的通信服务器为物联网网关进行通信服务;具体包括:
[0045] S1061:分别计算所述三个分项指标各自的变异系数;
[0046] S1062:根据三个分项指标的变异系数,得到每个分项指标的权重;
[0047] S1063:根据分项指标值以及每个分项指标的权重,采用加权求和的方式,得到每个通信服务器的综合指标值;
[0048] S1064:资源调度服务器将综合指标值最小的通信服务器的IP地址发送给物联网网关,物联网网关自此便与综合指标值最小的通信服务器进行周期性的通信。
[0049] 进一步地,S1061:分别计算所述三个指标各自的变异系数;具体包括:设N台通信服务器中第i个通信服务器的CPU利用率为LCPUi,内存占用率为LMEMi,归一化处理后的往返
时间为LNETi;
[0050] (1)计算全体通信服务器的CPU利用率平均值 全体通信服务器的内存占用率平均值 和全体通信服务器的归一化处理后的往返时间的平均值 公式如
下:
[0051]
[0052]
[0053]
[0054] (2)计算全体通信服务器的CPU利用率标准差σCPU、全体通信服务器的内存占用率标准差σMEM和全体通信服务器的归一化处理后的往返时间的标准差σNET,公式如下:
[0055]
[0056]
[0057]
[0058] (3)计算全体通信服务器的CPU利用率变异系数COVCPU、全体通信服务器的内存占用率变异系数COVMEM和全体通信服务器的归一化处理后的往返时间变异系数COVNET,公式如
下:
[0059]
[0060]
[0061]
[0062] 进一步地,所述S1062:根据变异系数,得到每个分项指标的权重;具体包括:
[0063] 计算CPU利用率在通信服务器综合指标中所占的权重WCPU、内存占用率在通信服务器综合指标中所占的权重WMEM、归一化处理后的往返时间在通信服务器综合指标中所占的
权重WNET,公式如下:
[0064] WCPU=COVCPU/(COVCPU+COVMEM+COVNET);   (5‑1)
[0065] WMEM=COVMEM/(COVCPU+COVMEM+COVNET);   (5‑2)
[0066] WNET=COVNET/(COVCPU+COVMEM+COVNET);   (5‑3)
[0067] 进一步地,所述S1063:根据分项指标值以及每个分项指标的权重,采用加权求和的方式,得到每个通信服务器的综合指标值;具体包括:
[0068] 依次计算第i个通信服务器的综合指标值Li,公式如下:
[0069] Li=WCPU·LCPUi+WMEM·LMEMi+WNET·LNETi;  (6)
[0070] 进一步地,所述方法还包括:
[0071] 当有物联网网关复位或者通信服务器遇到故障时,则重复S101~S106,再次为物联网网关筛选新的通信服务器提供通信服务。
[0072] 在确定了包括RTT在内的分项指标后,计算通信服务器综合指标时还需要确定这几个分项指标的权重。确定权重的方法大体可以分为主观赋权法和客观赋权法,其中客观
赋权法主要有信息熵法、主成分分析法、均方差法、变异系数法、离差最大化法等方法。本申
请中所采用的变异系数是衡量待评价对象的某项指标变异程度的一个常用统计量,也被称
作相对标准差或离散系数,其数值为该指标的标准差与平均值的比值。
[0073] 统计学中评价某一项指标值偏离平均值的离散程度时也常采用标准差。但当需要比较两个或多个指标的离散程度大小时,只有这些指标的量纲和均值都相同,才可以直接
比较标准差的大小,如果这些指标的平均值不同,或者量纲不同,那么不同指标的标准差不
具有可比性,直接使用它们的标准差来比较大小就不合适了。此时就应当消除均值或量纲
不同的影响,而变异系数就可以做到这一点,因为它是某项指标的标准差与平均值的比值,
没有量纲,相互间可以进行比较。从其定义可以看出,变异系数只有在平均值不为零时才有
意义,而且一般适用于平均值大于零的情况。在本申请中,待评价对象是所有可用的通信服
务器,所比较的分项指标有CPU利用率、内存占用率、归一化RTT等,这些指标的取值均为正
数,其均值必定也是正数,故而适用于变异系数法。
[0074] 本申请不仅要计算每个指标各自的变异系数以衡量该指标的差异程度,而且还要根据各个指标的变异系数进一步确定它们在综合指标中的权重,最终目的是依据各个通信
服务器的综合指标合理地为物联网网关调度合适的通信资源。CPU利用率、内存占用率、归
一化RTT等分项指标在综合指标中所占的权重之和必须满足WCPU+WMEM+WNET=1,而且权重的
赋值必须保证客观性。因为权重的赋值合理与否,对计算综合指标时的科学性有至关重要
的作用,如果各个分项指标的权重取值不同,最终计算出来的综合指标值也就不可能相同。
[0075] 本申请所采用的变异系数赋权法能够充分利用每一组分项指标值自身所包含的信息决定该指标的权重,是一种客观赋权的方法,可以避免确定权重时的主观随意性,其基
本思想是:某一项指标值的差异度越大,则说明该指标值所包含的信息量越大,该指标的权
重就应越大。这是因为被评价对象的某项指标值的一致性越高,说明从该指标的角度来看,
被评价对象的差异很小,该指标对综合指标的影响就相差不大,而这时计算出来的该项指
标的变异系数就会越小,该指标在计算综合指标时所对应的权重就会越小;反之,如果所有
被评价对象在某项指标的取值差异越大,说明该指标对综合指标的影响相差悬殊,这时计
算出来的该项指标的变异系数就会越大,则该指标所对应的权重就会越大。
[0076] 从图2所示的全部步骤可以看出,物联网网关在复位后自动接入互联网时,本发明采用的是一次性调度的方法以确定由哪个通信服务器为其提供通信服务。这是因为物联网
网关与通信服务器的数据通信是周期性的,有些数据的定时上传周期甚至可能是分钟级别
的,如果对于物联网网关的每次通信服务请求都进行调度,不仅对于这种非计算密集型的
资源需求是不必要的,而且会增加资源调度服务器的负担,也不适合这种基于Internet的
存在较长网络延迟的通信方式。因此每当有新安装的物联网网关首次上电时,就启动该调
度算法来确定为其服务的通信服务器,确定后一般不再变动,这种针对新物联网网关的一
次性调度方法能够动态保持各个通信服务器的负载均衡。总之,宏观来看虽然物联网网关
的数量是不断增长的,但是具体到某个时间点这一数量却是静态的,所以基于这一静态状
况仅仅对新增或复位后的物联网网关进行资源调度,是可行且高效的,也能保持各个通信
服务器的负载均衡。另外,如果有某个通信服务器节点故障,该方法也能够为受影响的物联
网网关重新调度新的通信服务器以承担通信服务任务。
[0077] 综上所述,为了在保证服务器负载均衡的前提下为物联网网关指定一个最合适的通信服务器,本申请提出了一种面向物联网网关的云服务资源调度方法。该方法既选取了
CPU利用率和内存占用率等反映服务器负载轻重的指标,又选取了从物联网网关到通信服
务器的往返时间作为一项衡量指标,继而采用变异系数法确定上述指标在综合指标中所占
的权重,充分利用每组指标值自身所隐含的信息决定该指标的权重。本发明所申请的资源
调度算法可以避免确定各个分项指标权重时的主观随意性,从而保证各个通信服务器的负
载均衡,也能兼顾从物联网网关到通信服务器的网络传输时间。
[0078] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本发明的保护范围之内。