CN109218192A - 一种基于粒子群算法的数据共享交换方法 - Google Patents
一种基于粒子群算法的数据共享交换方法 Download PDFInfo
- Publication number
- CN109218192A CN109218192A CN201810643585.7A CN201810643585A CN109218192A CN 109218192 A CN109218192 A CN 109218192A CN 201810643585 A CN201810643585 A CN 201810643585A CN 109218192 A CN109218192 A CN 109218192A
- Authority
- CN
- China
- Prior art keywords
- node
- particle
- intermediate node
- link channel
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于粒子群算法的数据共享交换方法,本发明中通过起始节点、终止节点、中间节点、当前中间节点、当前节点之间的设置和互动,实现了链接通道的循环过程,有效避免了出现环路,提高了算法的运行效率;通过中心节点参与联调,顺利生成一颗完整的树结构;同时,在粒子编码时首先考虑当前时间点允许的连接的节点,从最初就避免了时延问题;还通过评价函数充分考虑带宽的影响,在保证最短路径的情况下数据共享交换的稳定性;通过消环方式充分考虑带宽的影响,进一步保证最短路径下提高数据共享交换的稳定性。
Description
技术领域
本发明涉及数据共享交换领域,尤其涉及数据共享交换系统的路由最优 分配领域。
背景技术
当前数据共享交换系统,均采用通过中心节点转换的单节点和单节点传 输的方式,如图1所示。
这种交换方式为了同时满足数据交换带宽和时延的要求,对中心交换节 点的要求很高,而且在数据传输量少的时候,又会造成比较大的浪费。
当前政府数据节点的交换,同时向多个部门交换多种数据的时候,可能 会存在带宽无法承载的情况,而且为了工作的正常推进,有些部门为了不影 响白天的正常工作,只能晚上允许数据交换。
粒子群算法中每个粒子都记忆自己的最好位置,即从进化开始到现在这 个粒子能使目标函数达到最大或是最小的那个时刻粒子的位置。
个体极值就是粒子在最好位置所得到的目标函数(也称评价函数)的值。
全局最优极值就是在所有粒子的个体极值中最大或是最小的那个值,与 之对应的就是全局最优粒子的位置。
粒子群算法,也称粒子群优化算法(Particle Swarm Optimization), 缩写为PSO,是近年来发展起来的一种新的进化算法(Evolutionary Algorithm-EA),它通过追随当前搜索到的最优值来寻找全局最优。这种算 法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决 实际问题中展示了其优越性。粒子群算法是一种并行算法。
现有技术中利用粒子群进行数据共享交换,没有合理解决数据共享交换 的时延及存在环路的可能性问题。
发明内容
本发明实施例的目的在于提出一种基于粒子群算法的数据共享交换方 法,旨在解决现有技术中利用粒子群进行数据共享交换,没有合理解决数据 共享交换的时延及存在环路的可能性的技术问题。
本发明实施例是这样实现的,一种基于粒子群算法的数据共享交换方法, 所述方法包括步骤:
根据粒子编码方式随机生成I个粒子Xi;
根据评价函数获得所述粒子Xi的适应值,将所述适应值设为所述粒子Xi 的个体极值Pi,比较所有粒子的个体极值Pi得到全局最优极值Pg;
所述粒子Xi向所述个体极值Pi和所述全局最优极值Pg学习,将所述个 体极值Pi和所述全局最优极值Pg中不同于所述粒子Xi的中间节点及其路径 添加到所述粒子Xi的树结构中;
根据所述环路中所有路径的带宽消除环路,获得学习后的粒子Xi;
选择所述学习后的粒子Xi、个体极值Pi和全局最优极值Pg中最优的树 结构作为数据共享交换的通道。
优选的,所述步骤“根据所述环路中所有路径的带宽消除环路,获得学 习后的粒子”具体为:
判断所述粒子Xi的树结构是否能存在环路;
若是,则,获取所述环路中所有路径允许承载的带宽,生成二维数组Ha;
获取当前时间点所述环路中所有路径运行的带宽,生成二维数组Hb;
将Ha里面的每条路径允许承载的带宽减去Hb里面每条路径运行的带宽, 得到二维数组Hc;
删除所述二维数组Hc里面还能承载的最小的带宽对应的路径,并进入步 骤“判断所述粒子Xi的树结构是否能存在环路”。
优选的,所述步骤“判断所述粒子Xi的树结构是否能存在环路”之后还 包括步骤:
若否,则,删掉所述粒子Xi中除起点、终点和中心节点以外的且只与一 个中间节点相连的所有节点,获得学习后的粒子Xi。
优选的,所述步骤“根据粒子编码方式随机生成I个粒子Xi”具体为:
获取当前时间点各节点的链接状态;
获取起始节点、终止节点和中心节点;
通过链接通道记录从起始节点到终止节点所经过的中间节点及其路径;
如果所述链接通道中包含了所述中心节点,则所述链接通道就为一个粒 子。
优选的,所述步骤“通过链接通道记录从起始节点到终止节点所经过的 中间节点及其路径”具体为:
将所述起始节点设为中间节点,再将所述中间节点设为当前中间节点, 并将所述当前中间节点及其路径记录到链接通道;
将所述当前中间节点设为当前节点,将与所述当前节点相连的所有节点 中还未担任过中间节点的任意一个节点设为中间节点;
将所述中间节点设为当前中间节点,将所述当前中间节点及其与所述当 前节点的路径记录到所述链接通道;
判断所述终止节点是否存在于所述链接通道中;
若是,则进入步骤“如果所述链接通道中包含了所述中心节点,则所述 链接通道就为一个粒子”。
优选的,所述步骤“判断所述终止节点是否存在于所述链接通道中”之 后还包括步骤:
若否,则进入步骤“将所述中间节点设为当前中间节点,将所述当前中 间节点及其与所述当前节点的路径记录到所述链接通道”。
优选的,所述步骤“如果所述链接通道中包含了所述中心节点,则所述 链接通道就为一个粒子”具体为:
判断所述中心节点是否存在于所述链接通道中;
若是,则所述链接通道就为一个粒子。
优选的,所述步骤“判断所述中心节点是否存在于所述链接通道中”之 后还包括步骤:
若否,则,从所述链接通道中随机选取一个中间节点作为当前节点;
将与所述当前节点相连的所有节点中还未担任过中间节点的任意一个节 点设为中间节点;
将所述中间节点设为当前中间节点,将所述当前中间节点及其与所述当 前节点的路径记录到所述链接通道。
优选的,所述步骤“将所述中间节点设为当前中间节点,将所述当前中 间节点及其与所述当前节点的路径记录到所述链接通道”之后还包括步骤:
如果所述链接通道还没包括所述中心节点,则将所述当前中间节点设为 当前节点,并进入步骤“判断所述中心节点是否存在于所述链接通道中”。
本发明的有益效果:
本发明中将所述个体极值Pi和所述全局最优极值Pg中不同于所述粒子 Xi的中间节点及其路径添加到所述粒子Xi的树结构中之后,所述粒子Xi的 树结构可能会存在环路,通过比较所述粒子Xi中存在环路的所有路径的带宽 值依次消减环路,达到在保证最短路径的情况下同时还有利于数据共享交换 的稳定性;还通过两个二维数组Ha和Hb分别记录所述环路中所有路径允许 承载的带宽和当前时间点所述环路中所有路径运行的带宽,再通过将两者的 差进行排序,删除还能承载的最小的带宽对应的路径,依此来进行消除环路, 算法简单有效,计算效率高,通过消环方式充分考虑带宽的影响,进一步保 证最短路径下提高数据共享交换的稳定性;还通过提前获取当前时间点各节 点的链接状态,从最初就避免了时延问题,提高了数据共享交换的实时性和 有效性;还通过链接通道记录从起始节点到终止节点所经过的中间节点及其 路径,并通过中心节点进行联调,从而实现了基于粒子群算法的数据共享交 换的粒子编码方式;而且本实施例中的粒子编码方式简单,本步骤可以避免 在粒子编码阶段出现环路,提高了算法的运行效率和稳定性;还通过起始节点、终止节点、中间节点、当前中间节点、当前节点之间的设置和互动,实 现了链接通道的循环过程,有效避免了出现环路,提高了算法的运行效率; 通过中心节点参与联调,顺利生成一颗完整的树结构;同时,在粒子编码时 首先考虑当前时间点允许的连接的节点,从最初就避免了时延问题;还通过 评价函数充分考虑带宽的影响,在保证最短路径的情况下数据共享交换的稳 定性;通过消环方式充分考虑带宽的影响,进一步保证最短路径下提高数据 共享交换的稳定性。
附图说明
图1是传统数据共享交换关系图;
图2是本发明一种基于粒子群算法的数据共享交换方法的第一种实施例 的流程图;
图3是本发明一种基于粒子群算法的数据共享交换方法的第二种实施例 的流程图;
图4是本发明一种基于粒子群算法的数据共享交换方法的第三种实施例 的流程图;
图5是本发明一种基于粒子群算法的数据共享交换方法的链路结构示意 图;
图6是图5中删除断开状态的节点后的链路结构示意图;
图7是一个粒子对应的完整树结构的示意图;
图8是个体极值对应的树结构图;
图9是全局最优极值对应的树结构图;
图10是图7中的粒子向图8和图9学习过程中存在环路的树结构图;
图11是图10中的粒子消环后的树结构图;
图12是图11中的粒子学习结束的树结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和 实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明 实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本 发明,并不用以限制本发明。
实施例一
图2所示为本发明一种基于粒子群算法的数据共享交换方法的第一种实 施例的流程图,所述方法包括步骤:
A101,根据粒子编码方式随机生成I个粒子Xi;
在基于粒子群算法的数据共享交换系统中,根据粒子群的种群个数提前 确定了粒子的个数I,再根据粒子编码的方式,就随机生成I个粒子Xi;
对于数据共享交换系统,一种数据共享交换方式即是一个粒子,如图5 所示为本发明一种基于粒子群算法的数据共享交换方法的链路结构示意图, 所述链路结构是抽象化的数据共享交换系统,从起始节点到终止节点有很多 链接通道,选取一个从起始节点到终止节点,并和中心节点联调的一个链接 通道即为可行的一种数据共享交换方式;
每个粒子对应一颗完整的树结构,树结构中包括起始节点、终止节点和 中心节点及其路径;
Xi表示第i个粒子;
A102,根据评价函数获得所述粒子Xi的适应值,将所述适应值设为所述 粒子Xi的个体极值Pi,比较所有粒子的个体极值Pi得到全局最优极值Pg;
个体极值Pi表示第i个粒子经历过的最优适应值对应的粒子情况;
全局最优极值Pg表示所有粒子经历过的最优适应值对应的粒子情况;
粒子的适应值是指粒子根据评价函数确认计算出其适应度值,然后根据 适应值衡量粒子的优劣;
适应值是为了满足某个问题而构造的评价函数中可计算出其适应度值, 然后根据适应值的衡量粒子的优劣;多个粒子就有多个适应值,同时记录个 体最佳位置(即为个体极值)和群体最佳位置(即为群体极值,也称为粒子 群全局极值),接着开始迭代,这个迭代过程就是粒子学习过程;
A103,所述粒子Xi向所述个体极值Pi和所述全局最优极值Pg学习,将 所述个体极值Pi和所述全局最优极值Pg中不同于所述粒子Xi的中间节点及 其路径添加到所述粒子Xi的树结构中;
A104,根据所述环路中所有路径的带宽消除环路,获得学习后的粒子Xi;
A105,选择所述学习后的粒子Xi、个体极值Pi和全局最优极值Pg中最 优的树结构作为数据共享交换的通道;
比较所述学习后的粒子Xi、粒子群个体极值Pi和全局最优极值Pg,选 择三者中最优的树结构作为数据共享交换的通道;
本实施例在将所述个体极值Pi和所述全局最优极值Pg中不同于所述粒 子Xi的中间节点及其路径添加到所述粒子Xi的树结构中之后,所述粒子Xi 的树结构可能会存在环路,通过比较所述粒子Xi中存在环路的所有路径的带 宽值依次消减环路,达到在保证最短路径的情况下同时还有利于数据共享交 换的稳定性。
实施例二
图3所示为本发明一种基于粒子群算法的数据共享交换方法的第二种实 施例的流程图,所述方法包括步骤:
B101,根据粒子编码方式随机生成I个粒子Xi;
B102,根据评价函数获得所述粒子Xi的适应值,将所述适应值设为所述 粒子Xi的个体极值Pi,比较所有粒子的个体极值Pi得到全局最优极值Pg;
B103,所述粒子Xi向所述个体极值Pi和所述全局最优极值Pg学习,将 所述个体极值Pi和所述全局最优极值Pg中不同于所述粒子Xi的中间节点及 其路径添加到所述粒子Xi的树结构中;
B104,判断所述粒子Xi的树结构是否能存在环路,若是,则进入步骤B105, 若否,则进入步骤B109;
B105,获取所述环路中所有路径允许承载的带宽,生成二维数组Ha;
假设,所述粒子Xi的树结构中的各个路径(也称分枝)上能允许承载的 带宽用MAX加二维数组表示,其中二维数组用节点序号表示,如下: Ha={MAX_B(1,3),MAX_B(1,5),MAX_B(1,6),MAX_B(3,5),MAX_B(3,6)}
MAX_B(1,3)表示节点1到节点3之间的路径所允许承载的带宽值,其他 类似,不再赘述;
B106,获取当前时间点所述环路中所有路径运行的带宽,生成二维数组 Hb;
假设,将当前时间点所述环路中所有路径上能允许承载的带宽用ALLOW 加二维数组表示,其中二维数组用节点序号表示,如下: Hb={ALLOW_B(1,3),ALLOW_B(1,5),ALLOW_B(1,6),ALLOW_B(3,5),ALLOW_B(3, 6)}
其中,ALLOW_B(1,3)表示节点1到节点3之间的路径在当前时间点所运 行的带宽值;其他类似,不再赘述;
B107,将Ha里面的每条路径允许承载的带宽减去Hb里面每条路径运行 的带宽,得到二维数组Hc;
例如:
Hc={MAX_B(1,3) -ALLOW_B(1,3),MAX_B(1,5)-ALLOW_B(1,5),MAX_B(1,6)-ALLOW_B(1,6),MAX_ B(3,5)-ALLOW_B(3,5),MAX_B(3,6)-ALLOW_B(3,6)}
={OVER_B(1,3),OVER_B(1,5),OVER_B(1,6),OVER_B(3,5),OVER_B(3,6)}
B108,删除所述二维数组Hc里面还能承载的最小的带宽对应的路径,并 进入步骤B104;
将所述二维数组Hc中的数值按照从小到大的顺序进行排序,假如排序结 果为:
OVER_B(1,3),OVER_B(3,5),OVER_B(1,6),OVER_B(1,5),OVER_B(3,6), 则排在最前的就为数值最小的,就优先删除,这时就优先删掉B(1,3)路径, 发现还有环路,则再删掉B(3,5)路径,直到不存在环路,就获得消环后的粒 子Xi;
B109,删掉所述粒子Xi中除起点、终点和中心节点以外的且只与一个中 间节点相连的所有节点,获得学习后的粒子Xi;
再把所述消环后的粒子Xi中除起点、终点和中心节点以外的且只与一个 中间节点相连的节点删掉,就获得了学习后的粒子Xi;
这里所述学习后指将所述个体极值Pi和所述全局最优极值Pg中不同于 所述粒子Xi的中间节点及其路径添加到所述粒子Xi的树结构中,并且消除 可能存在的环路,同时还删掉所述粒子Xi中除起点、终点和中心节点以外的 且只与一个中间节点相连的所有节点之后的粒子才为学习结束的粒子Xi;
B110,选择所述粒子Xi、粒子群个体极值Pi和全局最优极值Pg中最优 的树结构作为数据共享交换的通道;
比较所述学习后的粒子Xi与粒子群个体极值Pi哪个更优,从而将最优 的粒子设置为个体极值Pi;比较所有个体极值Pi中的最优极值和当前全局最 优极值Pg哪个更优,从而优化全局最优极值Pg;
以此类推,每代对所有粒子的个体极值、全局最优极值进行优化;
粒子学习1000代,最终获取的Pg值为需要寻找的全局最优极值Pg,所 述全局最优极值Pg对应的树结构将作为数据共享交换的通道。
本实施例通过两个二维数组Ha和Hb分别记录所述环路中所有路径允许 承载的带宽和当前时间点所述环路中所有路径运行的带宽,再通过将两者的 差进行排序,删除还能承载的最小的带宽对应的路径,依此来进行消除环路, 算法简单有效,计算效率高,通过消环方式充分考虑带宽的影响,进一步保 证最短路径下提高数据共享交换的稳定性。
实施例三
图4所示为本发明一种基于粒子群算法的数据共享交换方法的第三种实 施例的流程图,所述方法包括步骤:
C101,获取当前时间点各节点的链接状态;
所述链接状态包括相连状态和断开状态;用于判断节点之间是否能进行 数据共享交换的状态,如果为相连状态,则表示在所述当前时间点节点间可 以进行数据共享交换;如果为断开状态,则表示在所述当前时间点节点间不 可以进行数据共享交换;
C102,获取起始节点、终止节点和中心节点;
所述起始节点指进行数据共享交换的数据所在的源点;
所述终止节点为进行数据共享交换的数据到达的目标点;
所述中心节点为监督所述交换系统进行数据交换的节点;
C103,通过链接通道记录从起始节点到终止节点所经过的中间节点及其 路径;
所述链接通道记录着粒子生成过程中经历过的所有中间节点及其路径;
所述路径指树结构中的路径,概念相同,不再赘述;
其中起始节点和终止节点也作为中间节点记录在所述链接通道中;
C104,如果所述链接通道中包含了所述中心节点,则所述链接通道就为 一个粒子;
如果所述中心节点参与了从起始节点到终止节点的粒子的生成过程,则 表明所述起始节点、终止节点和中心节点均在所述树结构中,则起始节点到 终止节点所有经过的中间节点及其路径即为一颗完整的树结构,否则就是一 棵不完整的树结构;
一颗完整的树结构生成完毕也就是一个粒子Xi生成完毕;
步骤C101至步骤C104就是本实施例中粒子编码方法,根据所述粒子编 码方法就可以生成I个粒子Xi;
然后就可以根据实施例一或二进行所述粒子Xi的学习过程,直至获得最 终的数据共享交换的通道;
C105,根据评价函数获得所述粒子Xi的适应值,将所述适应值设为所述 粒子Xi的个体极值Pi,比较所有粒子的个体极值Pi得到全局最优极值Pg;
C106,所述粒子Xi向所述个体极值Pi和所述全局最优极值Pg学习,将 所述个体极值Pi和所述全局最优极值Pg中不同于所述粒子Xi的中间节点及 其路径添加到所述粒子Xi的树结构中;
C107,判断所述粒子Xi的树结构是否能存在环路,若是,则进入步骤C108, 若否则进入步骤C112;
C108,获取所述环路中所有路径允许承载的带宽,生成二维数组Ha;
C109,获取当前时间点所述环路中所有路径运行的带宽,生成二维数组 Hb;
C110,将Ha里面的每条路径允许承载的带宽减去Hb里面每条路径运行 的带宽,得到二维数组Hc;
C111,删除所述二维数组Hc里面还能承载的最小的带宽对应的路径,并 进入步骤C107;
C112,删掉所述粒子Xi中除起点、终点和中心节点以外的且只与一个中 间节点相连的节点,获得学习后的粒子Xi;
C113,选择所述粒子Xi、粒子群个体极值Pi和全局最优极值Pg中最优 的树结构作为数据共享交换的通道。
本发明实施例中通过提前获取当前时间点各节点的链接状态,从最初就 避免了时延问题,提高了数据共享交换的实时性和有效性;还通过链接通道 记录从起始节点到终止节点所经过的中间节点及其路径,并通过中心节点进 行联调,从而实现了基于粒子群算法的数据共享交换的粒子编码方式;而且 本实施例中的粒子编码方式简单,本步骤可以避免出现环路,提高了算法的 运行效率和稳定性。
实施例四
图5所示为本发明一种基于粒子群算法的数据共享交换方法的链路结构 示意图,本实施例结合该链路结构示意图进行详细介绍,本实施例中的基于 粒子群算法的数据共享交换方法包括步骤:
S101,根据粒子编码方式随机生成I个粒子Xi;
本实施例中的粒子编码方式包括以下步骤(也就是粒子生成过程):
S1011,获取当前时间点各节点的链接状态;
如果在当前时间点,存在不允许进行数据交换的节点,则将所述节点的 链接状态设为断开状态;
例如,某部门在规定时间点不允许进行数据交换,则该部门与其他部门 节点所对应的链接状态均设为断开状态;
S1012,获取起始节点、终止节点和中心节点;本实施例中,如图5所 示的链路结构为包含21个节点(节点1至节点20和中心节点c)的链路结构 图;
当某个时间段里面,节点1为数据共享交换的起始节点,节点4为数据 共享交换的终止节点,节点c为中心节点;
且在该时间段内节点16、节点17、节点18不允许交换,则将所述节点 16、节点17、节点18对应的链接状态均设为断开状态,这时,数据共享交换 的链路结构变成如图6所示,其中虚线表示断开状态的链路,在当前时间段 所述节点16、节点17、节点18将不能参与数据共享交换;
S1013,将所述起始节点设为中间节点,再将所述中间节点设为当前中间 节点,并将所述当前中间节点及其路径记录到链接通道;
当节点设为当前中间节点就说明所述节点担任过中间节点;
本实施例中,将起始节点1作为当前中间节点1,记录到所述链接通道(1);
S1014,将所述当前中间节点设为当前节点,将与所述当前节点相连的所 有节点中还未担任过中间节点的任意一个节点设为中间节点;
本步骤可以避免出现环路,提高了算法的运行效率;
从起始节点开始,将与所述起始节点相连的所有节点中任意一个节点作 为中间节点;
将中间节点1设为当前节点;
S1015,将所述中间节点设为当前中间节点,将所述当前中间节点及其与 所述当前节点的路径记录到所述链接通道;
S1017,判断所述终止节点是否存在于所述链接通道中,若否,则进入步 骤S1014,若是,则进入步骤S1018;
依次类推,直到找到从起点节点到终点节点的所有路径;
举例,如图6所示,将节点1设为当前节点;随机选取与当前节点1相 连的所有节点中还未担任过中间节点的任意一个节点作为中间节点,假设选 取节点5作为中间节点,那么节点1就连接到节点5;
这时的节点5就是当前中间节点;
记录所述当前中间节点5及其与当前节点1的路径到所述链接通道(1,5);
判断终止节点4是否在所述链接通道,判断为否,继续;
将所述当前中间节点5设为当前节点5;
将与当前节点5相连的所有节点中还未担任过中间节点的任意一个节点 设为中间节点,例如选择节点7作为中间节点7;
这时的节点7就为当前中间节点;
记录所述当前中间节点7及其与当前节点5的路径到所述链接通道 (1,5,7);
判断终止节点4是否在所述链接通道,判断为否,继续;
将所述当前中间节点7设为当前节点7;
再将与当前节点7相连的所有节点中没有担任过中间节点的任意节点设 为中间节点,这时发现没有这样的节点了,则回退到上一个中间节点5作为 当前节点5;
将与当前节点5相连的所有节点中还未担任过中间节点的任意一个节点 设为中间节点,这时发现只有节点3,那么选择节点3作为中间节点;
这时节点3就为当前中间节点;
记录当前中间节点3及其与当前节点5的路径到所述链接通道(1,5,3);
判断终止节点4是否在所述链接通道,判断为否,继续;
将当前中间节点3作为当前节点3;
将与当前节点3相连的所有节点中还未担任过中间节点的任意一个节点 设为中间节点,例如选择节点6作为中间节点;
这时中间节点6就为当前中间节点;
记录当前中间节点6及其与当前节点3的路径到所述链接通道 (1,5,3,6);
判断终止节点4是否在所述链接通道,判断为否,继续;
将当前中间节点6设为当前节点6;
将与当前节点6相连的所有节点中还未担任过中间节点的任意一个节点 设为中间节点,例如选择节点4作为中间节点;
这时中间节点4就为当前中间节点;
记录当前中间节点4及其与当前节点6的路径到所述链接通道 (1,5,3,6,4);
将当前中间节点4设为当前节点4;
这时判断发现终止节点4在所述链接通道(1,5,3,6,4)中,所述链接通 道(1,5,3,6,4)就是一棵树结构;
这时就实现了从起始节点到终点节点的链接方式,这时再将无法找到下 一个类似节点7的节点可以从中间节点中去掉,从而中间节点为(1,5,3,6,4);
S1018,判断所述中心节点是否存在于所述链接通道中,若是,则所述链 接通道就是一棵完整的树结构(也就是一个粒子生成完毕),若否,则进入步 骤S1019;
由于所述链接通道(1,5,3,6,4)中(中间节点中)没有中心节点c,所 以所述链接通道(1,5,3,6,4)就是一颗不完整的树结构;
如果所述中心节点参与了从起始节点到终止节点的粒子的生成过程,则 表明所述起始节点、终止节点和中心节点均在所述树结构中,则起始节点到 终止节点所有经过的中间节点及其路径即为一颗完整的树结构;
从步骤S1019开始,就是所述中心节点参与联调的过程;
S1019,从所述链接通道中随机选取一个中间节点作为当前节点;
这时,从所述链接通道中的中间节点中任选一个中间节点作为当前节点, 用于查找所述中心节点;
S1020,将与所述当前节点相连的所有节点中还未担任过中间节点的任意 一个节点设为中间节点;
例如从所述链接通道(1,5,3,6,4)中选择中间节点6作为中间节点;
将中间节点6设为当前节点;
将与当前节点6相连的所有节点且没有参与之前中间节点的任意节点设 为中间节点;如图6所示,只有中心节点c了;
记录中间节点和与当前节点的链接通道(1,5,3,6,4,c);
S1021,将所述中间节点设为当前中间节点,将所述当前中间节点及其与 所述当前节点的路径记录到所述链接通道;
S1022,判断所述中心节点是否存在于所述链接通道中,若是,则所述链 接通道就是一棵完整的树结构,若否,则将所述当前中间节点设为当前节点, 并进入步骤S1020;
至此,一个完整的树结构就生成完毕,对应最终的链接通道 (1,5,3,6,4,c),与之对应的链接结构示意图如图7所示,图7即为一颗完 整的树结构,也就是一个粒子Xi,这个粒子Xi包括所有中间节点及其路径以 及对应的链接通道;以上步骤就是一个粒子生成过程,也就是粒子的初始化 过程,同时也是一颗完整树结构的生成过程,在基于粒子群算法的数据共享 交换系统中,根据粒子群的种群个数提前确定了粒子的个数,在粒子初始化后就会随机生成相应个数的粒子(也就是生成相应个数的完整树结构);
例如本实施例中根据粒子群的种群个数在粒子初始化时就会随机生成许 多的粒子,对应的粒子树结构的中间节点组合包括(1,5,3,6,4,c)、(1,3,6,4, c)、(1,6,4,c)等;
S102,根据评价函数计算所述粒子Xi的适应值,把所述适应值作为所述 粒子Xi的个体极值Pi,比较所有粒子的个体极值Pi得到全局最优极值Pg;
经过步骤S101后就会生成I棵完整的树结构,包括X1=(1,5,3,6,4,c)、 X2=(1,3,6,4,c)、Xi=(1,6,4,c)等;
S103,所述粒子Xi向所述个体极值Pi和所述全局最优极值Pg学习,将 所述个体极值Pi和所述全局最优极值Pg中不同于所述粒子Xi的中间节点及 其路径添加到所述粒子Xi的树结构中;
本实施例中,当粒子Xi学习过程中,假设个体极值Pi的树结构为图8 所示,全局最优极值Pg的树结构如图9所示,每代粒子Xi在学习过程中, 将Pi和Pg中不同于Xi的中间节点及其路径均抽取出来,添加到所述粒子Xi 中的树结构中;
粒子Xi在向全局最优极值Pg和个体极值Pi学习的时候,对自身的树结 构中的中间节点及其路径进行增加和删减;
假设某个粒子的链接通道的中间节点组合为(1,5,3,6,4,c)对应的树结 构如图7所示;
因所述粒子群中的全局最优极值中间节点组合为(1,6,4,c)和个体极值 中间节点组合为(1,3,6,4,c),那么所述粒子在学习过程中向所述全局最优 极值和所述个体极值学习,将自身的树结构(即包括所述粒子经历过的中间 节点及其路径的链接通道)中不同于所述全局最优极值的树结构(即包括所 有粒子经历过的最优的中间节点及其路径的链接通道)或不同于所述个体极 值的树结构添加到自身的树结构中,或者在自身的树结构中删减;所述粒子 的自身的树结构经添加或删减后的树结构如图10所示;
S104,判断所述粒子Xi的树结构是否能存在环路,若是,则进入步骤S105, 若是否,则进入步骤S110;
这时所述粒子的树结构可能会出现环路,本文采用依次消减环路中各个 分枝中还能承载的最小的带宽来处理;
S105,获取所述环路中所有路径允许承载的带宽,生成二维数组Ha;
为方便解释,如图10所示为存在环路的粒子对应的树结构,我们将其中 各个路径(也称分枝)上能允许承载的带宽用MAX加二维数组表示,其中二 维数组用节点序号表示,如下:
Ha={MAX_B(1,3),MAX_B(1,5),MAX_B(1,6),MAX_B(3,5),MAX_B(3,6)};
其中,MAX_B(1,3)表示节点1到节点3之间的路径所允许承载的带宽值, 其他类似,不再赘述;
S106,获取当前时间点所述环路中所有路径运行的带宽,生成二维数组Hb;
为方便解释获取当前时间点所述环路中所有路径上能允许承载的带宽用 ALLOW加二维数组表示,其中二维数组用节点序号表示,如下: Hb={ALLOW_B(1,3),ALLOW_B(1,5),ALLOW_B(1,6),ALLOW_B(3,5),ALLOW_B(3, 6)};
其中,ALLOW_B(1,3)表示节点1到节点3之间的路径在当前时间点所运 行的带宽值;其他类似,不再赘述;
S107,将Ha里面的每条路径允许承载的带宽减去Hb里面每条路径运行 的带宽,得到二维数组Hc;
例如:
Hc={MAX_B(1,3) -ALLOW_B(1,3),MAX_B(1,5)-ALLOW_B(1,5),MAX_B(1,6)-ALLOW_B(1,6),MAX_ B(3,5)-ALLOW_B(3,5),MAX_B(3,6)-ALLOW_B(3,6)}
={OVER_B(1,3),OVER_B(1,5),OVER_B(1,6),OVER_B(3,5),OVER_B(3,6)}
S108,依次删除所述二维数组Hc里面还能承载的最小的带宽对应的路径, 直至不存在环路,获得消环后的粒子Xi;
将所述二维数组Hc中的数值按照从小到大的顺序进行排序,假如排序结 果为:
OVER_B(1,3),OVER_B(3,5),OVER_B(1,6),OVER_B(1,5), OVER_B(3,6),则排在最前的就为数值最小的,就优先删除,这时就 优先删掉B(1,3)路径,发现还有环路,则再删掉B(3,5)路径,从 而消环后的粒子xi对应的树结构如图11所示;
S109删掉所述消环后的粒子Xi中除起点、终点和中心节点以外的且只 与一个中间节点相连的所有节点,获得学习后的粒子Xi;
删掉如图11中的节点3和节点5,及对应的链接关系B(1,5)和B(3,6), 得到学习后粒子Xi对应的树结构;
所述学习后的粒子Xi对应的树结构就为所述学习后的粒子Xi的个体极 值Pi;
S110,选择所述学习后的粒子Xi、个体极值Pi和全局最优极值Pg中最 优的树结构作为数据共享交换的通道;
比较学习后的粒子Xi与个体极值Pi哪个更优,从而将最优的粒子设置 为个体极值Pi;比较所有Pi中的最优极值和当前全局最优极值Pg哪个更优, 从而优化Pg;
如图12所示为图11删除图11中除起始节点、终止节点和中心节点以外 的且只与一个中间节点相连的所有节点的树结构图,比较图12中的树结构与 图8中上一代粒子Xi的个体极值的树结构,选择那个更优的树结构进行个体 极值Pi的优化;
从中我们会发现图12中的路径比图8中的路径更少,则个体极值Pi为 图12中的树结构;
当所述个体极值Pi优于所述全局最优极值Pg时,则将所述个体极值Pi 替换到所述全局最优极值Pg;
以此类推,每代对所有粒子的个体极值、全局最优极值进行优化;
粒子学习1000代,最终获取的Pg值为需要寻找的全局最优极值Pg,所 述全局最优极值Pg对应的树结构将作为数据共享交换的通道。
本发明实施例中通过起始节点、终止节点、中间节点、当前中间节点、 当前节点之间的设置和互动,实现了链接通道的循环过程,有效避免了出现 环路,提高了算法的运行效率;通过中心节点参与联调,顺利生成一颗完整 的树结构;同时,在粒子编码时首先考虑当前时间点允许的连接的节点,从 最初就避免了时延问题;还通过评价函数充分考虑带宽的影响,在保证最短 路径的情况下数据共享交换的稳定性;通过消环方式充分考虑带宽的影响, 进一步保证最短路径下提高数据共享交换的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
Claims (9)
1.一种基于粒子群算法的数据共享交换方法,其特征在于,所述方法包括步骤:
根据粒子编码方式随机生成I个粒子Xi;
根据评价函数获得所述粒子Xi的适应值,将所述适应值设为所述粒子Xi的个体极值Pi,比较所有粒子的个体极值Pi得到全局最优极值Pg;
所述粒子Xi向所述个体极值Pi和所述全局最优极值Pg学习,将所述个体极值Pi和所述全局最优极值Pg中不同于所述粒子Xi的中间节点及其路径添加到所述粒子Xi的树结构中;
根据所述环路中所有路径的带宽消除环路,获得学习后的粒子Xi;
选择所述学习后的粒子Xi、个体极值Pi和全局最优极值Pg中最优的树结构作为数据共享交换的通道。
2.如权利要求1所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“根据所述环路中所有路径的带宽消除环路,获得学习后的粒子”具体为:
判断所述粒子Xi的树结构是否能存在环路;
若是,则,获取所述环路中所有路径允许承载的带宽,生成二维数组Ha;
获取当前时间点所述环路中所有路径运行的带宽,生成二维数组Hb;
将Ha里面的每条路径允许承载的带宽减去Hb里面每条路径运行的带宽,得到二维数组Hc;
删除所述二维数组Hc里面还能承载的最小的带宽对应的路径,并进入步骤“判断所述粒子Xi的树结构是否能存在环路”。
3.如权利要求2所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“判断所述粒子Xi的树结构是否能存在环路”之后还包括步骤:
若否,则,删掉所述粒子Xi中除起点、终点和中心节点以外的且只与一个中间节点相连的所有节点,获得学习后的粒子Xi。
4.如权利要求1-3中任意一项所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“根据粒子编码方式随机生成I个粒子Xi”具体为:
获取当前时间点各节点的链接状态;
获取起始节点、终止节点和中心节点;
通过链接通道记录从起始节点到终止节点所经过的中间节点及其路径;
如果所述链接通道中包含了所述中心节点,则所述链接通道就为一个粒子。
5.如权利要求4所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“通过链接通道记录从起始节点到终止节点所经过的中间节点及其路径”具体为:
将所述起始节点设为中间节点,再将所述中间节点设为当前中间节点,并将所述当前中间节点及其路径记录到链接通道;
将所述当前中间节点设为当前节点,将与所述当前节点相连的所有节点中还未担任过中间节点的任意一个节点设为中间节点;
将所述中间节点设为当前中间节点,将所述当前中间节点及其与所述当前节点的路径记录到所述链接通道;
判断所述终止节点是否存在于所述链接通道中;
若是,则进入步骤“如果所述链接通道中包含了所述中心节点,则所述链接通道就为一个粒子”。
6.如权利要求5所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“判断所述终止节点是否存在于所述链接通道中”之后还包括步骤:
若否,则进入步骤“将所述中间节点设为当前中间节点,将所述当前中间节点及其与所述当前节点的路径记录到所述链接通道”。
7.如权利要求4所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“如果所述链接通道中包含了所述中心节点,则所述链接通道就为一个粒子”具体为:
判断所述中心节点是否存在于所述链接通道中;
若是,则所述链接通道就为一个粒子。
8.如权利要求7所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“判断所述中心节点是否存在于所述链接通道中”之后还包括步骤:
若否,则,从所述链接通道中随机选取一个中间节点作为当前节点;
将与所述当前节点相连的所有节点中还未担任过中间节点的任意一个节点设为中间节点;
将所述中间节点设为当前中间节点,将所述当前中间节点及其与所述当前节点的路径记录到所述链接通道。
9.如权利要求8所述的基于粒子群算法的数据共享交换方法,其特征在于,所述步骤“将所述中间节点设为当前中间节点,将所述当前中间节点及其与所述当前节点的路径记录到所述链接通道”之后还包括步骤:
如果所述链接通道还没包括所述中心节点,则将所述当前中间节点设为当前节点,并进入步骤“判断所述中心节点是否存在于所述链接通道中”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643585.7A CN109218192B (zh) | 2018-06-21 | 2018-06-21 | 一种基于粒子群算法的数据共享交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643585.7A CN109218192B (zh) | 2018-06-21 | 2018-06-21 | 一种基于粒子群算法的数据共享交换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218192A true CN109218192A (zh) | 2019-01-15 |
CN109218192B CN109218192B (zh) | 2021-04-20 |
Family
ID=64989813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810643585.7A Active CN109218192B (zh) | 2018-06-21 | 2018-06-21 | 一种基于粒子群算法的数据共享交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218192B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060139681A1 (en) * | 2004-05-27 | 2006-06-29 | Silverbrook Research Pty Ltd | Use of variant and base keys with three or more entities |
CN101330496A (zh) * | 2007-06-21 | 2008-12-24 | 华为技术有限公司 | 一种检测以太网组播环路的方法及装置 |
CN106347059A (zh) * | 2016-09-09 | 2017-01-25 | 山东理工大学 | 一种基于粒子群算法的轮毂驱动电动汽车主动悬架双回路pid控制方法 |
CN108183860A (zh) * | 2018-01-19 | 2018-06-19 | 东南大学 | 基于粒子群算法的二维片上网络自适应路由方法 |
-
2018
- 2018-06-21 CN CN201810643585.7A patent/CN109218192B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060139681A1 (en) * | 2004-05-27 | 2006-06-29 | Silverbrook Research Pty Ltd | Use of variant and base keys with three or more entities |
CN101330496A (zh) * | 2007-06-21 | 2008-12-24 | 华为技术有限公司 | 一种检测以太网组播环路的方法及装置 |
CN106347059A (zh) * | 2016-09-09 | 2017-01-25 | 山东理工大学 | 一种基于粒子群算法的轮毂驱动电动汽车主动悬架双回路pid控制方法 |
CN108183860A (zh) * | 2018-01-19 | 2018-06-19 | 东南大学 | 基于粒子群算法的二维片上网络自适应路由方法 |
Non-Patent Citations (1)
Title |
---|
马炫: "多组播路由问题的粒子群优化算法", 《计算机研究与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109218192B (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109039942B (zh) | 一种基于深度强化学习的网络负载均衡系统及均衡方法 | |
CN104883676B (zh) | 一种多无人机环境下协同安全通信方法 | |
CN111770019A (zh) | 基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法 | |
CN108809847A (zh) | 实现负载均衡的方法、装置和网络系统 | |
JPWO2010073345A1 (ja) | 通信管理装置および通信システムならびにデータ通信方法 | |
CN102904753A (zh) | 一种快速创建网络拓扑的方法及系统 | |
CN108966053A (zh) | 一种多域网络动态域序列跨域路由计算方法及装置 | |
CN105357132B (zh) | 一种基于超图模型的多域ason损伤感知组播路由方法 | |
CN107241273B (zh) | 一种基于遗传算法的通信传输环网结构设置方法 | |
CN113068224A (zh) | 一种用于网状传输系统构建的蚁群算法实现方法和装置 | |
CN103106269B (zh) | 一种基于搜索空间约减的Web服务组合方法 | |
CN105704025A (zh) | 基于混沌搜索和人工免疫算法的路由优化方法 | |
CN109218192A (zh) | 一种基于粒子群算法的数据共享交换方法 | |
CN112015518B (zh) | 增量式部署sdn环境下实现多虚拟机实时迁移方法及系统 | |
CN103905319B (zh) | 一种基于迭代编码的多约束组播路由算法 | |
CN108495352A (zh) | 路由方法和路由系统 | |
CN110458327B (zh) | 应急物资调度方法及其系统 | |
CN109714261A (zh) | 一种量子通信网络中基于保真度度量的多播路由方法 | |
CN104396163A (zh) | 提供非重叠环形-网状网络拓扑方法和装置 | |
CN114296445A (zh) | 基于回环路网随机树的最优路径实时规划方法 | |
CN113127404B (zh) | 一种对cpu互连系统的网络拓扑结构进行重构的方法及装置 | |
CN108093496B (zh) | 一种基于ISA100.11a标准的一致性组网方法 | |
CN108347384B (zh) | 一种适用于mesh网络内一对多的传输数据包的方法 | |
CN106100998A (zh) | 一种路由过滤规则的组织方法和装置 | |
CN105306294B (zh) | 一种交换机的测试用例生成系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 730000 Zhang Suzhou beach, Chengguan District, Lanzhou City, Gansu Province, No. 553 Applicant after: China Power World Wide Information Technology Co.,Ltd. Address before: 730000 Zhang Suzhou beach, Chengguan District, Lanzhou City, Gansu Province, No. 553 Applicant before: GANSU WANWEI Co. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |