法律状态公告日
法律状态信息
法律状态
2018-05-29
授权
授权
2018-05-04
著录事项变更 IPC(主分类):H04L12/803 变更前: 变更后: 申请日:20141030
著录事项变更
2015-02-04
实质审查的生效 IPC(主分类):H04L12/803 申请日:20141030
实质审查的生效
2015-01-07
公开
公开
技术领域
本发明涉及计算机网络技术领域,尤其涉及面向物联网设备接入 处理平台的自适应负载均衡调度机制。
背景技术
随着物联网时代的到来,越来越多的感知设备需要接入平台系 统,并通过网络方便快捷地获取物联网数据信息。为了解决大量设备 并发接入平台系统,采用分布式集群部署成为比较普遍的解决方案。
负载均衡技术是是伴随着集群的出现而出现的,它是实现集群系 统的关键技术之一,它的优劣直接影响着整个系统的性能。从早期的 静态负载均衡策略一直发展到效果相对较好的动态负载均衡策略,以 及从集中式控制(被动式集群)到分布式控制(主动式集群)等等。
动态负载均衡策略的设计思想是能够自动适配系统参数变化以 及未知的负载特性来控制负载分布,而控制算法不同演变出现了被动 式集群控制及主动式集群控制。
根据任务分配的不同阶段,可以将负载均衡算法分为两类,静态 负载均衡算法和动态负载均衡算法。首先是任务请求阶段,系统根据 预先设置好的分配算法,将其分配给集群中的某个节点,即初始分配, 在这个阶段分配算法叫做静态调度算法。其次是在集群运行过程中, 发生节点故障或节点过载时,任务会被再次分配,即再分配,在这个 阶段分配算法叫做动态调度算法。
发明内容
本发明为克服上述的不足之处,目的在于提供面向物联网设备接 入处理平台的自适应负载均衡调度机制,采用路由策略与路由算法分 离的新型调度算法框架,克服现有集群系统中单个路由算法无法适用 所有场景的缺陷。
本发明是通过以下技术方案达到上述目的:面向物联网设备接入 处理平台的自适应负载均衡调度机制,包括以下步骤:
1)路由节点根据集群当前运行环境设置路由策略,并关联该路 由策略下所需的路由算法,该配置立即生效;
2)处理节点获取本节点的负载程度衡量指标,将负载程度衡量 指标与已分配连接数打包周期性发送给路由节点;
3)路由节点接收到新的网关设备连接请求,根据路由策略执行 相应的路由算法得到候选目标,再从候选目标中产生目标节点,将连 接请求分配至目标节点;
4)路由节点接收处理节点发送的负载程度衡量指标与分配连接 数,判断各节点是否负载过重,路由节点取出负载过重节点上的已分 配连接,重新根据路由策略进行再分配工作,保持集群的动态负载均 衡;
5)当运行环境发生改变时,跳转到步骤1)。
作为优选,所述路由策略与路由算法独立分离,路由策略为上层 模块,路由算法为下层模块。
作为优选,路由策略为:单一算法策略或组合算法策略或适配算 法策略;
单一算法策略用于设备接入情况稳定且有适应性强的特定路由 算法的运行环境;
组合算法策略用于设备接入情况未知的运行环境;
适配算法策略用于设备接入情况交替规律比较明显且有特定路 由算法适用对应情况的运行环境。
作为优选,集群根据负载情况和分配连接情况划分为不同的工作 模式,适配算法策略根据集群的工作模式选择适配度最优的路由算 法。
作为优选,所述负载程度衡量指标为负载程度饱和值,通过以下 步骤计算:
(1)处理节点初始化时获取设置的负载信息采样周期;
(2)处理节点在采样时间节点到达时采集当前本机多种机器性能 指标,包括CPU使用率、内存使用率、磁盘使用率和带宽使用率,并 对各指标值进行归一化处理;
(3)处理节点对多种机器性能指标进行平滑滤波处理,降低实测 数据中的“噪声”影响;
(4)多种机器性能指标作为输入参数通过多输入单输出数学模型 计算得到一个范围从0到1的标量,该标量表示为负载程度饱和值。
作为优选,负载过重的判断方法为:负载程度饱和值大于设定的 负载控制阈值或者负载程度饱和值与集群中最小负载程度饱和值之 间的差值大于设定的阈值。
本发明的有益效果在于:(1)采用路由策略与路由算法分离的新 型调度算法框架,使路由算法和路由策略的分工更加明确,职责更加 清晰;(2)路由算法能够作为单元构件进行组合及适配,运行时刻改 变路由算法可以有效规避单个算法的局限性;(3)三种路由策略相辅 相成,能够适应复杂多变的物联网环境,并且加入分配目标优胜劣汰 的预评估机制进行更好的自适应调度,保持集群动态负载均衡;(4) 平台可以轻松集成新的路由算法,评价函数也能自由扩展,完全达到 开放式软件架构设计的要求。
附图说明
图1是本发明的原理结构示意图;
图2是本发明实现面向物联网设备接入处理平台的自适应负载均衡 调度机制的流程示意图;
图3是处理节点获取负载程度衡量指标的更新流程示意图;
图4是本发明的路由节点接受设备连接请求后进行调度分配的流程 示意图;
图5是本发明路由策略中的单一算法策略流程示意图;
图6是本发明路由策略中的组合算法策略流程示意图;
图7是本发明路由策略中的适配算法策略流程示意图;
图8是本发明的路由节点保持集群动态负载均衡的流程示意图;
图9是本发明的扩展适配算法策略流程示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护 范围并不仅限于此:
实施例1:如图1所示,本发明的自适应负载均衡调度由路由节 点、处理节点实现,路由节点负责新建设备连接请求的调度分配和集 群节点间的负载均衡,处理节点负责实时监控本节点的负载状况并进 行本节点所有接入设备的业务处理。当网关设备接入平台时,由路由 节点负责调度分配到某个处理节点进行数据和业务的处理,当集群负 载失衡时,路由节点负责将负载较重节点上的设备连接迁移至其他负 载较轻的处理节点上进行处理。
如图2所示,面向物联网设备接入处理平台的自适应负载均衡调 度机制,采用路由节点实时监控集群处理节点的负载状态并自适应调 整设备接入处理的分配情况、策略和算法分离的思想,调度机制能够 在更高的抽象层次上以最佳适配运行环境的方式进行维护集群负载 均衡的工作,从而保障平台的整体性能和稳定运行。
实现上述自适应负载均衡调度机制,包括以下步骤:
1)路由节点根据集群当前运行环境设置路由策略,并关联该路 由策略下所需的路由算法,该配置立即生效;
2)处理节点获取本节点的负载程度衡量指标,将负载程度衡量 指标与已分配连接数打包周期性发送给路由节点;
3)路由节点接收到新的网关设备连接请求,根据路由策略执行 相应的路由算法得到候选目标,再从候选目标中产生目标节点,将连 接请求分配至目标节点;
4)路由节点接收处理节点发送的负载程度衡量指标与分配连接 数,判断各节点是否负载过重,路由节点取出负载过重节点上的已分 配连接,重新根据路由策略进行再分配工作,保持集群的动态负载均 衡;
5)当运行环境发生改变时,跳转到步骤1)。
处理节点主要从但不限于以下四种性能指标考察本节点的负载 状态,该负载状态称为负载程度衡量指标,包括:CPU使用率、内存 使用率、磁盘使用率、网络带宽使用率,并通过函数模型计算得到负 载程度饱和值来统一衡量计算节点的当前负载信息,即负载程度衡量 指标用负载程度饱和值来表示。
CPU使用率,当前采样时间节点的CPU使用率。
内存使用率,当前采样时间节点的CPU使用率。
磁盘使用率,当前采样时间节点的磁盘使用率。
网络带宽使用率,当前采样时间节点的网络带宽使用率。
负载程度饱和值,当前采样时间节点的机器负载信息的抽象表 示,取值范围[0,1],0表示完全无负载,1表示完全满负载。
如图3所示,负载程度衡量指标由处理节点通过周期性获取,更 新流程具体过程包括以下步骤:
步骤301:处理节点初始化与路由节点的TCP长连接,并设置负 载信息采样周期;
步骤302:处理节点根据采样周期定期执行步骤303至步骤306;
步骤303:处理节点在采样时间节点到达时采集当前本机多种机 器性能指标,并对各指标值进行归一化处理;
步骤304:处理节点对多种机器性能指标进行低通滤波处理,降 低实测数据中的“噪声”影响,获取平滑的数据输出;
步骤305:多种机器性能指标作为输入参数通过多输入单输出的 负载函数模型计算得到负载信息,该负载信息为一个范围从0到1的 标量,该标量表示为负载程度饱和值,负载函数模型可以使用但不限 于通过正反函数对将性能指标值转换成多个中间值然后线性加权得 到唯一的输出值;
步骤306:处理节点将负载程度饱和值通过TCP长连接上报至路 由节点;
本发明采样路由策略与路由算法独立分离的新型调度算法框架, 即通过两层设计模块,下层模块是路由算法,上层模块是路由策略。 路由算法主要执行网关设备接入时候选分配目标的计算工作,最终分 配目标统一由路由策略进行评估得到。提供了三种路由策略应对真实 应用环境中设备连接请求的突发性和随机性,包括单一算法策略,组 合算法策略和适配算法策略。路由算法包含多种当前主流路由算法, 包括加权最小连接数算法、轮询算法、分布式控制算法和蚁群算法, 可以在平台中进行自由扩充。
当路由节点接收到新的网关设备连接请求,根据路由策略执行相 应的路由算法得到候选目标,再从候选目标中产生目标节点,将连接 请求分配至目标节点。具体过程包括以下步骤,如图4所示:
步骤401:新的网关设备接入或已有分配设备连接再次分配时, 路由节点启动分配任务;
步骤402:路由节点获取配置文件中路由策略和关联路由算法等 配置信息,该配置信息可在任意时刻改变;
步骤403:路由节点根据不同的路由策略模式产生相应的分配目 标:
单一算法策略限制算法的使用个数为1但不限制采用何种算法, 可以在平台运行时刻进行撤换所使用的具体算法,适用于设备接入情 况稳定而导致某种特定算法适应性强的场景。单一算法策略流程示意 图如图5所示,单一算法策略执行设置的算法A1,产生的分配目标 为候选目标,该候选目标为最终的目标节点。当集群运行环境发生改 变,算法A1不适用当前环境,通过设置将适应当前运行环境的算法 B1替换算法A1。
组合算法策略对算法使用的个数和种类均没有限制,可以在平台 运行时刻撤换其中一种或多种算法,适用于设备接入情况未知而到导 致单一算法无法有效适应的场景。组合算法策略流程示意图如图6所 示,每个算法产生一个候选目标同时计算出对应评价指标值,评价指 标值最大的候选目标作为分配目标,该分配目标为目标节点,算法可 随时进行替换。
适配算法策略属于经验模式,如图7所示,适配算法策略根据当 前集群工作模式选取适配度最好的算法,算法产生的候选目标即为分 配目标,同一时刻只存在一个算法且不可替换。典型的工作模式包括 但不限于以下两种:活跃模式和非活跃模式。活跃模式表示平台新的 网关设备连接请求较少或者比较稳定,而已接入设备的业务数据处理 活动频率较高。非活跃模式表示平台已接入设备的数据处理活动频率 较低,而新的网关设备连接请求较多或者情况未知。
步骤404:路由节点将网关设备连接分配至目标节点上;
步骤405:判断分配任务中所有设备连接请求是否处理完毕,如 果处理结束则进入下一步,否则返回至步骤402。
步骤406:路由节点继续监听端口等待新的分配任务。
为了保持集群动态负载均衡,路由节点接收处理节点发送的负载 程度衡量指标与分配连接数,判断各节点是否负载过重,路由节点取 出负载过重节点上的已分配连接,重新根据路由策略进行再分配工 作,如图8所示,具体包括以下步骤:
步骤801:路由节点通过TCP长连接监听并接收各处理节点上报 的负载程度饱和值和已分配连接数等信息,具体的负载程度饱和值更 新流程参见图3;
步骤802:路由节点更新集群状态和工作模式,并按照负载程度 饱和值大小对所有处理节点进行排序,找出负载最重的处理节点(即 该节点的负载饱和度值最大);
步骤803:路由节点判断当前集群是否满足状态迁移的条件,如 果满足则进入下一步,否则返回至步骤801,判断条件为负载程度饱 和值大于设定的负载控制阈值或者负载程度饱和值与集群中最小负 载程度饱和值之间的差值大于设定的阈值。
步骤804:路由节点激活处理子线程,启动连接迁移任务,设置 迁移连接所在源目标为负载最重的节点和所需迁移连接数等相关信 息;
步骤805:从源目标上获取一个网关设备连接,以及与此连接关 联的设备信息和业务上下文信息等;
步骤806:根据图4的设备连接调度分配工作流程将该连接迁移 到新的分配目标上;
步骤807:将该连接的上下文信息和设备信息同步到新的分配节 点上;
步骤808:判断迁移任务中所需迁移连接是否已经全部处理完毕, 如果处理结束则休眠子线程(即步骤809),否则返回至步骤805。
以新增适配算法策略来说明对本发明的新型调度算法框架如何 进行灵活扩展,扩展流程参见图9,具体过程包括以下步骤:
步骤901:平台先经过组合算法策略和单一算法策略的运行测试, 找出平台工作模式的特征和对应适配度最好的算法;
步骤902:判断是否需要添加新的路由算法来产生候选目标,若 需则实现接口RouteStrategyService,否则进入下一步;
步骤903:判断是否需要改变根据运行特征划分工作模式的集群 模式实现,若需则实现接口FamilyClusterStatus<T extends Object>,否则进入下一步;
步骤904:判断是否需要改变默认的候选目标评价标准实现,若 需则实现接口ScoreVoter,否则进入下一步;
步骤905:实现接口PolicyVoter完成路由策略所做调度工作, 即实现不同模式下选用最佳适配算法的调度工作并依据评价标准筛 选算法产生的候选目标;
步骤906:所有实现类进行打包并重新部署到平台运行环境中, 修改配置文件中路由算法和路由策略为最新的实现类,平台动态加载 新增的适配算法策略。
以上的所述乃是本发明的具体实施例及所运用的技术原理,若依 本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附 图所涵盖的精神时,仍应属本发明的保护范围。
机译: 具有无发射器的客户前提设备和自适应通信调度的光接入网络
机译: 具有无发射器的客户前提设备和自适应通信调度的光接入网络
机译: 具有无发射器的客户端设备和自适应通信调度的光接入网