本发明属于电力通信网络技术领域,尤其涉及一种基于k-nn算法的dse优化方法及装置。
背景技术:
随着tsn网络的设计与配置越来越复杂化,通常需要设计空间探索(dse)算法来优化tsn协议的选择与配置。dse算法一般由迭代执行的三个环节组成:创建候选解决方案、配置解决方案并进行可调度性分析以及模拟评估tsn网络的性能。其中在对解决方案进行可调度性分析环节中,原有的传统算法可用机器学习算法替代,用于优化传统的dse算法,提供了更快的分析算法方案,但是机器学习技术的错误预测百分比会因为超出可接受范围而无法应用于可调度性分析环节。
技术实现要素:
为了解决现有技术中存在的缺点和不足,本发明提出了一种基于k-nn算法的dse优化方法及装置,包括:
步骤一:构建包括通信节点的tsn网络模型,对tsn网络模型中的流量等级进行调度优先级配置;
步骤二:基于训练集中的数据,对dse中替代传统算法执行可调度性分析的k-nn算法根据已配置的调度优先级进行训练,得到符合要求的节点比例值;
步骤三:将所述节点比例值与预设阈值比较,若节点比例值小于预设阈值则使用所述k-nn算法,若节点比例值大于预设阈值则使用dse中的传统算法,对预设阈值的大小进行调整;
步骤四:按照预设的时间频率,基于调整后的预设阈值重复步骤三的内容。
可选的,所述tsn网络模型的拓扑结构包括第一数量的交换机和与交换机连接的第二数量的通信节点。
可选的,所述对tsn网络模型中的流量等级进行调度优先级配置包括:
通过分配算法对所述交换机和所述通信节点之间业务流量的最佳优先级进行分配;
其中,属于相同类型的业务流量具有相同的优先级,对于优先级相同的业务流量数据遵循先进先出原则。
可选的,所述基于训练集中的数据,对dse中替代传统算法执行可调度性分析的k-nn算法根据已配置的调度优先级进行训练,得到符合要求的节点比例值,包括:
基于设定的评估依据特征,计算测试数据与训练集中数据之间的距离;
按照递增顺序对所得距离进行排序;
选取前k个数据并统计前k个数据所属类型的出现频率;
将出现频率最高的类型作为所述测试数据的预测类型,同时计算所有不属于所述预测类型的数据占前k个数据的比例值,将所述比例值作为节点比例值;
其中,k的取值为正整数。
可选的,所述对预设阈值的大小进行调整包括:
根据步骤三中所述k-nn算法和所述传统算法的决策结果,计算基于当前预设阈值下的决策精度;
基于二分法,选择实现更高决策精度对应的预设阈值。
一种基于k-nn算法的dse优化装置,其特征在于,所述装置包括:
配置单元:用于构建包括通信节点的tsn网络模型,对tsn网络模型中的流量等级进行调度优先级配置;
算法训练单元:用于基于训练集中的数据,对dse中替代传统算法执行可调度性分析的k-nn算法根据已配置的调度优先级进行训练,得到符合要求的节点比例值;
决策单元:用于将所述节点比例值与预设阈值比较,若节点比例值小于预设阈值则使用所述k-nn算法,若节点比例值大于预设阈值则使用dse中的传统算法,对预设阈值的大小进行调整;
所述决策单元,还用于按照预设的时间频率,基于调整后的预设阈值重复前一步骤的内容。
可选的,所述配置单元用于建立包含第一数量的交换机和与交换机连接的第二数量的通信节点。
可选的,所述配置单元还包括优先级配置单元,所述优先级配置单元用于:
通过分配算法对所述交换机和所述通信节点之间业务流量的最佳优先级进行分配;
其中,属于相同类型的业务流量具有相同的优先级,对于优先级相同的业务流量数据遵循先进先出原则。
可选的,所述算法训练单元用于:
基于设定的评估依据特征,计算测试数据与训练集中数据之间的距离;
按照递增顺序对所得距离进行排序;
选取前k个数据并统计前k个数据所属类型的出现频率;
将出现频率最高的类型作为所述测试数据的预测类型,同时计算所有不属于所述预测类型的数据占前k个数据的比例值,将所述比例值作为节点比例值;
其中,k的取值为正整数。
可选的,决策单元还包括阈值优化单元,用于:
根据决策单元中生成的所述k-nn算法和所述传统算法的决策结果,计算基于当前预设阈值下的决策精度;
基于二分法,选择实现更高决策精度对应的预设阈值。
本发明提供的技术方案带来的有益效果是:
通过结合k-nn算法的方式实现dse优化,用机器学习算法中的k-nn算法替换传统dse中原有的可调度性分析算法,提高了可调度性分析的计算速度,同时也对执行可调度性分析的设备降低了计算能力要求,帮助设计人员快速处理规模复杂的通信网络架构。通过预设阈值的方式判断使用k-nn算法执行可调度性分析是否可行,当使用k-nn算法分析的结果精度不高时,则选择使用dse中的传统算法执行可调度行分析,同时优化预设阈值以提高k-nn算法的精度。以此解决k-nn算法误报率高的缺点,提供了一种既能保持高预测准确率,又能减少误报的dse优化方法及装置。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提出的一种基于k-nn算法的dse优化方法框图;
图2为tsn网络拓扑图;
图3为k-nn算法流程图;
图4为本发明提出的一种基于k-nn算法的dse优化装置框图。
具体实施方式
为使本发明的结构和优点更加清楚,下面将结合附图对本发明的结构作进一步地描述。
实施例一
如图1所示,本发明提出了一种基于k-nn算法的dse优化方法,该方法包括:
s1:构建包括通信节点的tsn网络模型,对tsn网络模型中的流量等级进行调度优先级配置;
s2:基于训练集中的数据,对dse中替代传统算法执行可调度性分析的k-nn算法根据已配置的调度优先级进行训练,得到符合要求的节点比例值;
s3:将所述节点比例值与预设阈值比较,若节点比例值小于预设阈值则使用所述k-nn算法,若节点比例值大于预设阈值则使用dse中的传统算法,对预设阈值的大小进行调整;
s4:按照预设的时间频率,基于调整后的预设阈值重复s3的内容。
根据图1可知,在本实施例中,用机器学习算法中的k-nn算法替换dse中传统的可调度性分析算法,通过这种方式提高了可调度性分析的计算速度,同时也对执行可调度性分析的设备降低了计算能力要求,帮助设计人员快速处理规模复杂的通信网络架构。通过预设阈值的方式判断使用k-nn算法执行可调度性分析是否可行,当使用k-nn算法分析的结果精度不高时,则选择使用dse中的传统算法执行可调度行分析,同时优化预设阈值以提高k-nn算法的精度。以此解决k-nn算法误报率高的缺点,提供了一种既能保持高预测准确率,又能减少误报的dse优化方法。
在本实施例中,所述tsn网络的拓扑结构如图2所示,包括2个交换机sw1、sw2和8个通信节点ecu1、ecu2、ecu3、ecu4、ecu5、ecu6、ecu7、ecu8,其中默认所述网络结构拓扑已设置为网络设备支持的tsn协议。
在构建tsn网络模型的过程中,将网络模型中的业务流量分为音频流量、视频流量、命令和控制流量三类,其中设置每个流量分为单播和多播,两种模式发生的概率各为0.5。当流量为多播模式时,多播流量的接收器数量在2到5之间随机选择。
在本实施例中,所述对tsn网络模型中的流量等级进行调度优先级配置包括:
通过rtaw-pegase软件中的分配算法,对所述交换机和所述节点之间业务流量的优先级进行设置,所述优先级调度具有8个优先级。通过分配算法自动实现最佳优先级分配。同时支持手动自定义设置优先级,将业务流量分为音频流量、视频流量、命令和控制流量三类,其优先级从高到低依次为命令和控制流量、视频流量、音频流量。另外还可以针对视频流量进行流量整形策略,通过在分段消息的连续帧排队等待传输的时间之间插入空闲时间的方式暂停业务,实现调整优先级。
同时,属于相同类型的业务流量具有相同的优先级,对于优先级相同的业务流量数据遵循先进先出原则。
在本实施例中,所述基于训练集中的数据,对dse中替代传统算法执行可调度性分析的k-nn算法根据已配置的调度优先级进行训练,得到符合要求的节点比例值包括:
设置关键流量、音频流量、视频流量、所有链路上的最大负载数量以及平衡链路负载5个评估依据特征,根据所述评估依据特征训练k-nn算法。其中,将人为定义的重要流量分为一类,作为关键流量。设置训练集中有s1个标记配置数据,测试集中有s2个未标记配置数据。
如图3所示,所述k-nn算法具体流程如下:
s21:基于设定的所述评估依据特征,计算测试集中的数据与训练集中数据之间的距离;
s22:按照递增顺序对所得距离进行排序;
s23:选取前k个数据并统计前k个数据所属类型的出现频率;
s24:将出现频率最高的类型作为所述测试数据的预测类型,其中属于预测类型的数据共k1个。计算所有不属于所述预测类型的数据占前k个数据的比例值记为a,即a=(k-k1)/k,将所述比例值作为节点比例值;
其中,k的取值为正整数。
所述k-nn算法通过计算正确预测百分比、真实阳性率(tpr)和真实阴性率(tnr)来评估训练性能,所述真实阳性率为正确预测为可行的百分比,所述真实阴性率为正确预测为不可行的百分比。
在本实施例中,将所述节点比例值a与预设阈值b比较,基于比较结果确定用于执行可调度性分析的算法。若节点比例值a小于预设阈值b时,则使用所述k-nn算法,即说明在当前配置情况下,所述k-nn算法对可调度性分析的评估结果具有参考价值,在这种情况下k-nn算法是可行的。若节点比例值a大于预设阈值b,则使用dse中的传统算法,即说明在当前配置情况下,所述k-nn算法对可调度行分析的评估结果存在误差,有误报的可能,在这种情况下k-nn算法是不可行的,因此依然选择dse中的传统算法完成可调度性分析。
通过结合k-nn算法进行可调度性分析的方式,可实现在k-nn算法可行的情况下提高可调度性分析的速度,同时减少设备的计算压力。而当k-nn算法不可行时,依然可以通过使用dse中的传统算法进行可调度性分析,降低了完全使用k-nn算法进行可调度性分析而误报的可能性。这样既提高了可调度性分析速度,又保证了可调度性分析的准确性。
在本实施例中,还包括对所述预设阈值的大小进行调整,具体为:
根据s3中所述k-nn算法和所述传统算法的决策结果,计算基于当前预设阈值下的决策精度;
基于二分法,当所得决策精度过低时,则调小预设阈值b,直至调整后的决策精度满足应用要求。
实施例二
如图4所示,本发明提出了基于k-nn算法的dse优化装置,所述优化装置5包括:
配置单元51:用于构建包括通信节点的tsn网络模型,对tsn网络模型中的流量等级进行调度优先级配置;
算法训练单元52:用于基于训练集中的数据,对dse中替代传统算法执行可调度性分析的k-nn算法根据已配置的调度优先级进行训练,得到符合要求的节点比例值;
决策单元53:用于将所述节点比例值与预设阈值比较,若节点比例值小于预设阈值则使用所述k-nn算法,若节点比例值大于预设阈值则使用dse中的传统算法,对预设阈值的大小进行调整;
所述决策单元,还用于按照预设的时间频率,基于调整后的预设阈值重复前一步骤的内容。
根据图4可知,在本实施例中,通过所述算法训练单元52,实现用k-nn算法替换dse中传统的可调度性分析算法的功能,提高了可调度性分析的计算速度,同时也对执行可调度性分析的设备降低了计算能力要求,帮助设计人员快速处理规模复杂的通信网络架构。通过所述决策单元53设置预设阈值,实现判断使用k-nn算法执行可调度性分析是否可行的功能,当使用k-nn算法分析的结果精度不高时,则选择使用dse中的传统算法执行可调度行分析,同时优化预设阈值以提高k-nn算法的精度。以此解决k-nn算法误报率高的缺点,提供了一种既能保持高预测准确率,又能减少误报的dse优化装置。
在本实施例中,所述配置单元51用于建立tsn网络的拓扑结构,其中所述拓扑结构包括2个交换机sw1、sw2和8个通信节点ecu1、ecu2、ecu3、ecu4、ecu5、ecu6、ecu7、ecu8,默认所述网络结构拓扑已设置为网络设备支持的tsn协议。
在通过配置单元51构建tsn网络模型的过程中,将网络中的业务流量分为音频流量、视频流量、命令和控制流量三类,其中设置每个流量分为单播和多播,两种模式发生的概率各为0.5。当流量为多播模式时,多播流量的接收器数量在2到5之间随机选择。
在本实施例中,所述配置单元51还包括优先级配置单元,所述优先级配置单元用于:
通过rtaw-pegase软件中的分配算法,对所述交换机和所述节点之间业务流量的优先级进行设置,所述优先级调度具有8个优先级。通过分配算法对所述交换机和所述通信节点之间业务流量的最佳优先级进行分配。同时还支持手动自定义设置优先级,将业务流量分为音频流量、视频流量、命令和控制流量三类,其优先级从高到低依次为命令和控制流量、视频流量、音频流量。另外还可以针对视频流量进行流量整形策略,通过在分段消息的连续帧排队等待传输的时间之间插入空闲时间的方式暂停业务,实现调整优先级。
同时,属于相同类型的业务流量具有相同的优先级,对于优先级相同的业务流量数据遵循先进先出原则。
在本实施例中,所述算法训练单元52用于:
设置关键流量、音频流量、视频流量、所有链路上的最大负载数量以及平衡链路负载5个评估依据特征,根据所述评估依据特征训练k-nn算法。其中,将人为定义的重要流量分为一类,作为关键流量。设置训练集中有s1个标记配置数据,测试集中有s2个未标记配置数据。具体用于执行以下算法流程:
s21:基于设定的所述评估依据特征,计算测试集中的数据与训练集中数据之间的距离;
s22:按照递增顺序对所得距离进行排序;
s23:选取前k个数据并统计前k个数据所属类型的出现频率;
s24:将出现频率最高的类型作为所述测试数据的预测类型,其中属于预测类型的数据共k1个。计算所有不属于所述预测类型的数据占前k个数据的比例值记为a,即a=(k-k1)/k,将所述比例值作为节点比例值;
其中,k的取值为正整数。
所述k-nn算法通过计算正确预测百分比、真实阳性率(tpr)和真实阴性率(tnr)来评估训练性能,所述真实阳性率为正确预测为可行的百分比,所述真实阴性率为正确预测为不可行的百分比。
在本实施例中,所述决策单元53用于将所述节点比例值a与预设阈值b比较,基于比较结果确定用于执行可调度性分析的算法。若节点比例值a小于预设阈值b时,则使用所述k-nn算法,即说明在当前配置情况下,所述k-nn算法对可调度性分析的评估结果具有参考价值,在这种情况下k-nn算法是可行的。若节点比例值a大于预设阈值b,则使用dse中的传统算法,即说明在当前配置情况下,所述k-nn算法对可调度行分析的评估结果存在误差,有误报的可能,在这种情况下k-nn算法是不可行的,因此依然选择原有dse中的传统算法完成可调度性分析。
同时,所述决策单元52还用于按照预设的时间频率,基于调整后的预设阈值重复步骤三的内容。
通过决策单元53实现结合k-nn算法进行可调度性分析,在k-nn算法可行的情况下提高可调度性分析的速度,同时减少设备的计算压力。而当k-nn算法不可行时,依然可以通过使用dse中的传统算法进行可调度性分析,降低了完全使用k-nn算法进行可调度性分析而误报的可能性。这样既提高了可调度性分析速度,又保证了可调度性分析的准确性。
在本实施例中,所述决策单元53还包括阈值优化单元,用于:
根据决策单元53中生成的所述k-nn算法和所述传统算法的决策结果,计算基于当前预设阈值下的决策精度;
基于二分法,当所得决策精度过低时,则调小预设阈值b,直至调整后的决策精度满足应用要求。
以上所述仅为本发明的实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。