CN110941886A - 拓扑结构的生成方法、更新方法、系统及存储介质 - Google Patents

拓扑结构的生成方法、更新方法、系统及存储介质 Download PDF

Info

Publication number
CN110941886A
CN110941886A CN201911203627.6A CN201911203627A CN110941886A CN 110941886 A CN110941886 A CN 110941886A CN 201911203627 A CN201911203627 A CN 201911203627A CN 110941886 A CN110941886 A CN 110941886A
Authority
CN
China
Prior art keywords
forest
layer
hierarchical
tree
graph structure
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
Application number
CN201911203627.6A
Other languages
English (en)
Other versions
CN110941886B (zh
Inventor
何昊青
张天翼
段然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tuling Artificial Intelligence Institute Nanjing Co ltd
Tsinghua University
Original Assignee
Turing Artificial Intelligence Research Institute (nanjing) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Turing Artificial Intelligence Research Institute (nanjing) Co Ltd filed Critical Turing Artificial Intelligence Research Institute (nanjing) Co Ltd
Priority to CN201911203627.6A priority Critical patent/CN110941886B/zh
Publication of CN110941886A publication Critical patent/CN110941886A/zh
Application granted granted Critical
Publication of CN110941886B publication Critical patent/CN110941886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Abstract

本申请提供一种拓扑结构的生成方法、更新方法、系统及存储介质,应用于基于图结构而构建的网络系统中,所述生成方法包括:按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n‑1)层分层森林基础上进行拓扑,以得到所述第n层的分层森林;其中,第0层的分层森林为空,n≥1;将n值从1开始递增并重复上述步骤,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的生成树;n≤h;其中,所述第n层的分层条件是基于图结构中的点在第(n‑1)层的树度、和该点的在第(n‑1)层与第n层之间的树度差而设置的。本申请的拓扑结构的生成方法可以基于一图结构构建有利于更新且具有低资源消耗的最小度生成树。

Description

拓扑结构的生成方法、更新方法、系统及存储介质
技术领域
本申请涉及网络系统的拓扑规划技术领域,特别是涉及一种拓扑结构的生成方法、更新方法、系统及存储介质。
背景技术
利用图结构描述一些网络系统有利于计算机设备进行数据处理。其中,为优化处理效率,计算机设备寻求一些能够遍历图结构中各点的方式,生成树的拓扑结构是其中一种。
但是,当网络系统中节点之间的连接关系发生改变时,即当图结构中的边发生变化时,基于计算机设备所得到的对应图结构的生成树可能需要重新建立。该重建过程将消耗大量计算机资源和时间。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种拓扑结构的生成方法、更新方法、系统及存储介质,用于解决现有技术中如何基于一图结构建立有利于更新且具有低资源消耗的最小度生成树,以及如何在一图结构发生变化时快速得到更新后的生成树。
为实现上述目的及其他相关目的,本申请的第一方面提供一种拓扑结构的生成方法,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,所述生成方法包括:按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n-1)层分层森林基础上进行拓扑,以得到所述第n层的分层森林;其中,第0层的分层森林为空,n≥1;将n值从1开始递增并重复上述步骤,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的生成树;n≤h;其中,所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的。
在本申请的第一方面的某些实施方式中,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
在本申请的第一方面的某些实施方式中,所述树度差的最大值是依据预设的生成树的树度和更新生成树的时间复杂度而设置的。
在本申请的第一方面的某些实施方式中,还包括以下步骤:存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
在本申请的第一方面的某些实施方式中,所述属性集合包括以下至少一种:第一集合,包含对应分层的分层森林中的阻隔点;第二集合,包括所述图结构中的度数高于预设度数阈值的点;第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;第五集合,包括对应分层的各树组件。
在本申请的第一方面的某些实施方式中,所述生成树是近似的最小度生成树。
在本申请的第一方面的某些实施方式中,所述图结构是依据以下任一种形成的:依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
本申请的第二方面还提供一种更新拓扑结构的方法,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,所述更新拓扑结构的方法用于对预先构建的所述图结构的生成树进行更新;其中,对图结构进行逐层拓扑而得到各层的分层森林,所述生成树是最高层的分层森林;其中,在图结构中经拓扑形成的第n层分层森林是在第(n-1)层分层森林的基础上根据第n层的分层条件而得到的;其中,最低层的分层森林为空;n在最低层到最高层之间取值;所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的;其中,所述更新拓扑结构的方法包括:当所述图结构发生变化时,将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整,以使各分层森林符合对应分层的分层条件。
在本申请的第二方面的某些实施方式中,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
在本申请的第二方面的某些实施方式中,还包括以下步骤:更新并存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
在本申请的第二方面的某些实施方式中,所述将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整的步骤包括以下至少一步骤:依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林,以形成各分层森林的树边;其中,0<i<最高层数;当所去除的图边属于从第i层分层森林的树边至最高层的分层森林的树边时,依据从所述第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边,0<i≤(i+k)≤h,且h>i,h为分层的最高层数;其中,所述非树边属于图结构中的图边且不属于变化前各分层森林中的树边。
在本申请的第二方面的某些实施方式中,所述将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整的步骤包括:当在第i层所增加的树边在第(i+m)层上形成环时,依据第(i+m)层的分层森林分层条件,从第(i+m)层分层森林的树边中去除一树边以消除所述环,并更新从第(i+m)层至最高层的各分层森林;其中,0≤m≤(h-i),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+m-1)层分层森林中的边;依据所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林的各属性集合,从所述图结构中选择非树边增加到从第(i+m+△m)层分层森林至最高层的分层森林中;0≤△m≤(h-i-m),h为分层的最高层数;从第(i+m+△m)层至最高分层逐层调整数值i以重复执行上述各步骤,直至各分层森林符合相应分层的分层条件。
在本申请的第二方面的某些实施方式中,所述将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整的步骤包括:当所去除的图边属于从第i层分层森林至最高层的分层森林的树边时,依据所去除的树边所连接的两个点在各分层森林的属性集合,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中以形成树边,0≤k≤(h-i);当在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层形成环时,依据第(i+k+△k)层的分层森林的分层条件,从其中的第(i+k+△k)层的分层森林的树边中去除一树边以消除所述环,并更新从第(i+k+△k)层至最高层的各分层森林;其中,0≤△k≤(h-i-k),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+k+△k-1)层分层森林中的边;从第(i+k+△k)层分层森林至至最高层的分层森林,调整数值i以重复执行步骤,直至各层的分层森林符合相应层的分层条件。
在本申请的第二方面的某些实施方式中,所述属性集合包括以下至少一种:第一集合,包含对应分层的分层森林中的阻隔点;第二集合,包括所述图结构中的度数高于预设度数阈值的点;第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;第五集合,包括对应分层的各树组件。
在本申请的第二方面的某些实施方式中,所述依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林的步骤包括:当依据所增加的图边所连接的两点在各分层森林的属性集合确定所述两点在其中第i层分层森林中分属不同树组件时,将所增加的图边加入所述第i层的分层森林及基于第i层森林拓扑得到的各其他层分层森林中。
在本申请的第二方面的某些实施方式中,所述依据从第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层至最高层的各分层森林中,以形成各分层森林的树边包括以下任一种:当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中第二集合中的非阻隔点时,从相应点所对应的第四集合中选择用于连接第(i+k)层不同树组件的点,并在第(i+k)层增加相应的树边;或者当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中既不在第一集合中也不在第二集合中,从图结构中选择所述第(i+k)层的分层森林中与所确定的点不在同一树组件的点,并在第(i+k)层增加相应的树边。
在本申请的第二方面的某些实施方式中,所述生成树是近似的最小度生成树。
在本申请的第二方面的某些实施方式中,所述图结构是依据以下任一种形成的:依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
本申请的第三方面还提供一种拓扑结构的生成系统,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,所述生成系统包括:生成模块,用于按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n-1)层分层森林基础上进行拓扑,以得到所述第n层的分层森林;其中,其中,第0层的分层森林为空,n≥1;拓扑控制模块,用于将n值从1开始递增并重复执行所述生成模块,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的生成树;n≤h;其中,所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的。
在本申请的第三方面的某些实施方式中,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
在本申请的第三方面的某些实施方式中,所述树度差是依据预设的生成树的树度和更新生成树的时间复杂度而设置的。
在本申请的第三方面的某些实施方式中,还包括存储模块,用于存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
在本申请的第三方面的某些实施方式中,所述属性集合包括以下至少一种:第一集合,包含对应分层的分层森林中的阻隔点;第二集合,包括所述图结构中的度数高于预设度数阈值的点;第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;第五集合,包括对应分层的各树组件。
在本申请的第三方面的某些实施方式中,所述生成树是近似的最小度生成树。
在本申请的第三方面的某些实施方式中,所述图结构是依据以下任一种形成的:依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
本申请的第四方面还提供一种更新拓扑结构的系统,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,所述更新拓扑结构的方法用于对预先构建的所述图结构的生成树进行更新;其中,对图结构进行逐层拓扑而得到各层的分层森林,所述生成树是最高层的分层森林;其中,在图结构中经拓扑形成的第n层分层森林是在第(n-1)层分层森林的基础上根据第n层的分层条件而得到的;其中,最低层分层森林为空;n在最低层到最高层之间取值;所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的;其中,所述更新拓扑结构的系统包括:监测模块,用于监测所述图结构以输出变化指令;更新模块,用于当接收到所述变化指令时,将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整,以使各分层森林符合对应分层的分层条件。
在本申请的第四方面的某些实施方式中,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
在本申请的第四方面的某些实施方式中,还包括:存储模块,用于存储更新的所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
在本申请的第四方面的某些实施方式中,所述更新模块用于执行以下至少一步骤:依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林,以形成各分层森林的树边;其中,0<i<最高层数;当所去除的图边属于从第i层分层森林的树边至最高层的分层森林的树边时,依据从所述第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边,0<i≤(i+k)≤h,且h>i;其中,所述非树边属于图结构中的图边且不属于变化前各分层森林中的树边。
在本申请的第四方面的某些实施方式中,所述更新模块用于:当在第i层所增加的树边在第(i+m)层上形成环时,依据第(i+m)层的分层森林的分层条件,从第(i+m)层分层森林的树边中去除一树边以消除所述环,并更新从第(i+m)层至最高层的各分层森林;其中,0≤m≤(h-i),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+m-1)层分层森林中的边;依据所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林的各属性集合,从所述图结构中选择非树边增加到从第(i+m+△m)层分层森林至最高层的分层森林中;0≤△m≤(h-i-m),h为分层的最高层数;从第(i+m+△m)层至最高分层逐层调整数值i以重复执行上述各步骤,直至各分层森林符合相应分层的分层条件。
在本申请的第四方面的某些实施方式中,所述更新模块用于:当所去除的图边属于从第i层分层森林至最高层的分层森林的树边时,依据所去除的树边所连接的两个点在各分层森林的属性集合,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中以形成树边,0≤k≤(h-i);当在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层形成环时,依据第(i+k+△k)层的分层森林的分层条件,从其中的第(i+k+△k)层的分层森林的树边中去除一树边以消除所述环,更新从第(i+k+△k)层至最高层的各分层森林;其中,0≤△k≤(h-i-k),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+k+△k-1)层分层森林中的边;从第(i+k+△k)层分层森林至至最高层的分层森林,调整数值i以重复执行步骤,直至各层的分层森林符合相应层的分层条件。
在本申请的第四方面的某些实施方式中,所述属性集合包括以下至少一种:第一集合,包含对应分层的分层森林中的阻隔点;第二集合,包括所述图结构中的度数高于预设度数阈值的点;第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;第五集合,包括对应分层的各树组件。
在本申请的第四方面的某些实施方式中,所述更新模块所执行的依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林的步骤包括:当依据所增加的图边所连接的两点在各分层森林的属性集合确定所述两点在其中第i层分层森林中分属不同树组件时,将所增加的图边加入所述第i层的分层森林及基于第i层森林拓扑得到的各其他层分层森林中。
在本申请的第四方面的某些实施方式中,所述更新模块所执行的依据从第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边包括以下任一种:当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中第二集合中的非阻隔点时,从相应点所对应的第四集合中选择用于连接第(i+k)层不同树组件的点,并在第(i+k)层增加相应的树边;或者当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中既不在第一集合中也不在第二集合中,从图结构中选择所述第(i+k)层的分层森林中与所确定的点不在同一树组件的点,并在第(i+k)层增加相应的树边。
在本申请的第四方面的某些实施方式中,所述生成树是近似的最小度生成树。
在本申请的第四方面的某些实施方式中,所述图结构是依据以下任一种形成的:依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
本申请的第五方面还提供一种计算机设备,包括:存储装置,用于存储一图结构、和至少一个程序;处理装置,用于与所述存储装置相连,用于执行所述至少一个程序,以协调所述存储装置执行本申请第一方面任一实施方式所述的拓扑结构的生成方法。
本申请的第六方面还提供一种计算机设备,包括:存储装置,用于存储一图结构及其生成树,和至少一个程序;处理装置,用于与所述存储装置相连,用于执行所述至少一个程序,以协调所述存储装置执行本申请第二方面任一实施方式所述的更新拓扑结构的方法。
本申请的第七方面还提供一种计算机可读存储介质,存储至少一种程序,所述至少一种程序在被调用时实现本申请第一方面任一实施方式所述的拓扑结构的生成方法、或者实现本申请第二方面任一实施方式所述的更新拓扑结构的方法。
如上所述,本申请的拓扑结构的生成方法、更新方法、系统及存储介质,具有以下有益效果:可以基于一图结构构建有利于更新且具有低资源消耗的生成树。可以在一图结构中节点之间的连接关系发生变化时快速得到更新后的生成树,降低了更新所述生成树的时间复杂度大。
附图说明
图1显示为本申请的计算机设备在一实施例中的硬件结构示意图。
图2a至图2d显示为基于一图结构和第n层的分层条件得到的各分层森林以及该图结构的示意图。
图3a至图3d显示为基于另一图结构和第n层的分层条件得到的各分层森林以及该图结构的示意图。
图4a至图4e显示为基于又一图结构和第n层的分层条件得到的各分层森林以及该图结构的示意图。
图5显示为本申请的拓扑结构的生成系统在一实施例中的结构示意图。
图6显示为本申请的拓扑结构的生成系统在另一实施例中的结构示意图。
图7显示为本申请的计算机设备在另一实施例中的硬件结构示意图。
图8显示为一图结构中增加一条图边后本申请的更新拓扑结构方法在一实施例中的流程图。
图9a至图9e显示为在图4a的图结构中增加一图条边后的各分层森林以及变化后的图结构的示意图。
图10a至图10b显示为在图9d和图9e中去除环后的各分层森林的示意图。
图11显示为一图结构中减少一条图边后本申请的更新拓扑结构方法在一实施例中的流程图。
图12a至图12e显示为在图4a的图结构中删除一图条边后的各分层森林以及变化后的图结构的示意图。
图13a至图13e显示为用非树边将两个分离的树组件连起来后的各分层森林的示意图。
图14显示为本申请的更新拓扑结构的系统在一实施例中的结构示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一集合可以被称作第二集合,并且类似地,第二集合可以被称作第一集合,而不脱离各种所描述的实施例的范围。第一集合和集合均是在描述一个集合,但是除非上下文以其他方式明确指出,否则它们不是同一个集合。相似的情况还包括第三集合、第四集合、第五集合等。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
在实际应用中,网络系统包括但不限于:通信网络系统、电子地图系统等。上述网络系统均可由网络系统中的节点以及各节点基于网络系统的性质而建立的连接关系来描述。
其中,通信网络系统举例为:移动通信网络、互联网、局域网等。所述通信网络系统中的节点为网络连接设备,所述网络连接设备包括但不限于网关、交换机、集线器、路由器、分布式存储服务系统中的存储服务器等。基于通信网络系统的性质而建立的连接关系包括但不限于依据网络连接设备的IP地址的路由表而设置的连接关系、依据网络连接设备的通信线路而设置的连接关系、依据所监测的网络连接设备的通信链路的通信量而设置的连接关系等。
其中,所述电子地图系统中的节点举例为各种电子地图系统中的地理位置。基于电子地图系统的性质而建立的连接关系包括但不限于:位置与位置的道路连通关系、站点与站点间的交通连通关系、基于拥堵而设置的连通关系等。
上述任意一网络系统的节点以及各节点之间的连接关系可以用图结构G=(V,E)来表示,其中,V代表所述图结构的点集,E代表所述图结构的图边集。在实际应用中,图结构的点可以表示所述网络系统中的节点,所述图结构中的图边可以表示所述网络系统中各节点的连接关系。为构建图结构的最小度生成树,计算机设备基于求解最小度生成树的算法来确定图结构的最小度生成树,其中,所述最小度生成树是指在图结构的所有生成树中,生成树的树度最小的生成树。生成树中点的树度是与该点相连的树边的数量。所述生成树的树度是生成树中各点的树度的最大值。所述生成树是能连通图结构中所有点并且不产生回路的子图。基于所述最小度生成树可得到优化网络系统的资源消耗、无冗余环路的各节点之间的拓扑结构,所述拓扑结构使得网络系统中资源消耗最大的节点的资源消耗在预设范围内。其中,所述资源消耗包括但不限于:通信消耗、内存消耗、能源消耗、资金消耗、时间消耗等。例如,为了避免广播风暴、大量占用交换机资源,可以基于所述互联网的图结构应用最大度算法来求解相应图结构的最小度生成树,进而得到可以连接互联网中任意网络连接设备的优化通信消耗、无冗余环路的路径,所述路径使得互联网中的网络连接设备之间的通信消耗最大值在预设范围内。
需要说明的是,由于求解所述最小度生成树是NP-hard问题,所以在实际应用中,求解的所述最小度生成树可为近似的最小度生成树,所述近似的最小度生成树是指该树的树度与最小度生成树的树度满足预设的近似比范围,所述近似的最小度生成树的点为图结构中的点,所述近似的最小度生成树的树边为图结构中的图边的一部分。
但是,当网络系统中各节点之间的连接关系发生改变时,基于近似的最小度生成树来建立的具有低资源消耗、无冗余环路的各节点之间的拓扑结构发生改变,需要基于改变后的节点之间的连接关系(即改变后的图结构)应用求解近似的最小度生成树的算法来得到更新后的图结构的近似的最小度生成树,进而重新建立具有低资源消耗的各节点之间的拓扑结构。在所述图结构发生改变时,所述求解近似的最小度生成树的算法仍要重新遍历所述更新后的图结构来求解所述近似的最小度生成树。例如,所述网络系统为通信网络,当通信网络中连接两个网络连接设备的通信链路中断时,在互联网所对应的图结构中,该两个网络连接设备所对应节点之间的图边被去除。基于改变后的图结构重新遍历所述更新后的图结构中的点,以得到更新后的图结构的近似的最小度生成树,进而得到连接互联网中任意网络连接设备的具有低资源消耗、无冗余环路的拓扑结构。其中,遍历的方式举例为利用最大度算法。基于最大度算法得到的近似的最小度生成树的树度≤Δ*+1。
但是,在节点数量大、各节点之间的连接关系复杂的网络系统中,当所述网络系统的图结构发生轻微改变时,仍基于上述求解生成树的算法重新求解生成树,会导致更新拓扑结构的时间复杂度大,更新的效率低、系统资源消耗大。其中,所述轻微改变举例为:在图结构中增加至少一条图边、在图结构中减少至少一条图边等、在图结构中同时增加至少一条边和减少至少一条边。
为此,本申请提供拓扑结构的生成方法、生成系统及存储介质,可以基于一网络系统的图结构而得到所述图结构的生成树。本申请还提供一种更新拓扑结构的方法、系统及存储介质,可以在所述图结构发生轻微改变时快速得到更新后的生成树,进而重新建立具有低资源消耗、无冗余环路的与所述生成树相对应的复杂网络系统中各节点之间的连接关系。其中,在本申请中所述的生成树为近似的最小度生成树。
请参阅图1,图1显示为本申请的计算机设备在一实施例中的硬件结构示意图,如图所示,所述计算机设备10包括存储装置11、处理装置12。
所述存储装置11用于存储一图结构和至少一个程序。其中,存储装置11包括但不限于:只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、非易失性存储器(Nonvolatile RAM,简称NVRAM)。例如,存储装置11包括闪存设备或其他非易失性固态存储设备。在某些实施例中,存储装置11还可以包括远离一个或多个处理装置的存储器,例如,经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WAN)、存储局域网(SAN)等,或其适当组合。存储装置11还包括存储器控制器,其可控制所述计算机设备的诸如中央处理器(CPU)和接口装置之类或其他组件对存储器的访问控制。
处理装置12与存储装置11相连,用于执行所述至少一个程序,以协调所述存储装置11执行所述的拓扑结构的生成方法。所述处理装置12包括一个或多个处理器。处理装置12可操作地与存储装置11执行数据读写操作。处理装置12执行诸如数据压缩处理、数据编码、数据解码等。所述处理装置12包括一个或多个通用微处理器、中央处理器(CPU)、一个或多个专用处理器(ASIC)、一个或多个数字信号处理器(Digital Signal Processor,简称DSP)、一个或多个现场可编程逻辑阵列(Field Programmable Gate Array,简称FPGA)、或它们的任何组合。
本申请提供的拓扑结构的生成方法应用于前文所述的网络系统中,可由前文所述的计算机设备10或者由可执行所述生成方法相关步骤的其他计算机设备来执行。其中,所述网络系统利用图结构而表示的。其中,根据网络系统的实际连接关系,所述图结构举例为无向连通图。所述图结构包含点和连接点的图边,图结构可以用G=(V,E)来表示。其中,V是所述图结构的点集,E是所述图结构的图边集,y=|V|代表图结构G中点的个数,m=|E|代表图结构G中图边的个数。
为了得到一个便于更新的生成树,在本申请的拓扑结构的生成方法中,以其由所述计算机设备10执行为例,所述处理装置12按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n-1)层分层森林Fn-1础上进行拓扑,以得到所述第n层的分层森林Fn。其中,第0层的分层森林为空,n≥1。所述处理装置12将n值从1开始递增并重复上述步骤,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的生成树,n≤h。
其中,第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的。所述第n层的分层条件用于约束所述第n层的点的树度。所述第n层的点的树度与在第n层与该点相连的树边相等。在此,在第n层被选定的图边被称为从第n层分层森林直至最高层的各分层森林中树结构的树边。所述树度差是指第n层的分层森林Fn中一点u的树度与第(n-1)层的分层森林Fn-1中该点u的树度的差值。
其中,所述第n层的分层条件可表示为
Figure BDA0002296462240000111
其中,
Figure BDA0002296462240000112
表示点u在第n层分层森林中的树度,
Figure BDA0002296462240000113
表示点u在第(n-1)层分层森林中的树度,d表示点u在相邻层中的树度差最大值。
在一实施例中,d为1到y之间的任意整数,即1≤d≤y。其中,y为所述图结构中点的总数。例如,第n层的分层森林Fn中一点u的度数
Figure BDA0002296462240000114
与第(n-1)层的分层森林Fn-1中该点u的度数
Figure BDA0002296462240000115
的树度差≤2。请参阅图2a至图2d,图2a至图2d显示为基于一图结构和第n层的分层条件得到的各分层森林以及该图结构的示意图。如图所示,相邻两层树度差的最大值d为2。所述第1层的分层条件为分层森林F1中任意一点u的树度与第0层的分层森林F0中该点u的树度的树度差≤2。在构建分层森林F1时,从图2a所示的图结构中任选点1、3、5和9,根据点1所连接的各图边将点1分别与点2和点4所连接的图边设为分层森林F1的树边,根据点3所连接的各图边将点3分别与点2和点6所连接的图边设为分层森林F1的树边,根据点5所连接的各图边将点5分别与点6和点7所连接的图边设为分层森林F1的树边,据点9所连接的各图边将点9分别与点8和点10所连接的图边设为分层森林F1的树边,此时点1、2、3、5、6和9的树度为(0+3),其中,0为点1、2、3、5、6和9在如图2b所示的第0层分层森林F0中的树度,2为点1、2、3、5、6和9在1层与第0层的树度差。由于点1、2、3、5、6和9在1层与第0层的树度差已经达到第1层分层条件的上限,所以在图结构中与点1、2、3、5、6和9连接的其他图边不能继续加入到分层森林F1中,并且在图结构中除了点1、2、3、5、6和9的其他各点之间不存在图边,图2c所示的分层森林F1为基于图2a所示的图结构和第1层的分层条件得到的分层森林F1。需要说明的是,如果图2a中除了点1、2、3、5、6和9的其他各点之间存在图边,在保证所述其他各点满足第1层的分层条件的情况下还需要继续将所述存在的图边加入到分层森林F1中。所述第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤2。在构建分层森林F2时,在分层森林F1的基础上,从图2a所示的图结构中任选点5,根据点5所连接的各图边将点5与点8所连接的图边设为分层森林F2的树边,将该图边设为分层森林F2的树边后,因为通过分层森林F2的树边连接了图结构中所有的点,所以图2d所示的分层森林F2为一连通图2a所示的图结构中各点的生成树。
为构建近似的最小度生成树,可选的,第n层的分层森林Fn中一点u的树度
Figure BDA0002296462240000121
与第(n-1)层的分层森林Fn-1中该点u的树度
Figure BDA0002296462240000122
的树度差的最大值d是依据预设的近似的最小度生成树的树度和更新近似的最小度生成树的时间复杂度而设置的。
在一具体实施例中,更新近似的最小度生成树的时间复杂度为
Figure BDA0002296462240000123
其中,m为所述图结构中图边的总数。所述近似的最小度生成树的树度为O(Δ*logy),其中,Δ*为所述近似的最小度生成树的最优解的度数,y为所述图结构中点的总数。相邻两层树度差的最大值d的取值范围是:Δ*≤d<2Δ*。所述最高层的分层森林Fh的层数h满足如下条件:h=O(log y)。其中,h=O(log y)表示的是存在一个常数C使得O(log y)=C*O(log y)。
在另一具体实施例中,更新近似的最小度生成树的时间复杂度为O(m3/4+o(1)),其中,m为所述图结构中图边的总数。所述近似的最小度生成树的树度为
Figure BDA0002296462240000124
其中,Δ*为所述近似的最小度生成树的最优解的度数,y为所述图结构中点的总数,ε>0。相邻两层树度差的最大值d的取值范围是:Δ*logε y≤d<2Δ*logε y。所述最高层的分层森林Fh的层数h满足如下条件:
Figure BDA0002296462240000131
需要说明的是,本申请中涉及的对数均是以2为底的。例如,log y代表的是log2y。
以上述任意示例中计算生成树的树度及分层条件的方式来构建一图结构的生成树举例如下:请参阅图3a至图3d,图3a至图3d显示为基于另一图结构和第n层的分层条件得到的各分层森林以及该图结构的示意图。如图所示,相邻两层树度差的最大值d为3。所述第1层的分层条件为分层森林F1中任意一点u的树度与第0层的分层森林F0中该点u的树度的树度差≤3。在构建分层森林F1时,从图3a所示的图结构中任选点1、6和9,根据点6所连接的各图边将点6分别与点5、点7和点12所连接的图边设为分层森林F1的树边,根据点1所连接的各图边将点1分别与点2、点3和点4所连接的图边设为分层森林F1的树边,根据点9所连接的各图边将点9分别与点8、点10和点11所连接的图边设为分层森林F1的树边,此时点1、6和9的树度为(0+3),其中,0为点1、6和9在如图3b所示的第0层分层森林F0中的树度,3为点1、6和9在1层与第0层的树度差。由于点1、6和9在1层与第0层的树度差已经达到第1层分层条件的上限,所以在图结构中与点1、6和9连接的其他图边不能继续加入到分层森林F1中,并且在图结构中除了点1、6和9的其他各点之间不存在图边,图3c所示的分层森林F1为基于图3a所示的图结构和第1层的分层条件得到的分层森林F1。需要说明的是,如果图3a中除了点1、6和9的其他各点之间存在图边,在保证所述其他各点满足第1层的分层条件的情况下还需要继续将所述存在的图边加入到分层森林F1中。所述第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤3。在构建分层森林F2时,在分层森林F1的基础上,从图3a所示的图结构中任选点6和点9,根据点6所连接的各图边将点6与点3所连接的图边设为分层森林F2的树边,根据点9所连接的各图边将点9与点12所连接的图边设为分层森林F2的树边,将上述两条图边设为分层森林F2的树边后,因为通过分层森林F2的树边连接了图结构中所有的点,所以图3d所示的分层森林F2为一连通图3a所示的图结构中各点的生成树。
需要说明的是,按照近似的最小度生成树的树度和更新近似的最小度生成树的时间复杂度而设置的上述分层条件,得到的如图3d所示的分层森林F2为图3a所示的图结构的近似的最小度生成树。其中,所述近似的最小度生成树满足预设的近似的最小度生成树的树度要求。
在第n层的分层条件所规定的相邻两层树度差的最大值d确定的情况下,对于第n层分层森林来说,如果第n层的分层森林Fn中一点u的树度与第(n-1)层的分层森林Fn-1中该点u的树度的树度差为d,则点u为第n层的分层森林Fn中的阻隔点。在此,对于每一分层森林来说,不属于阻隔点的点称为非阻隔点。如图3c所示,分层森林F1中的点1、点6、点9分别相对于第0层的分层森林F0中的点1、点6、点9的树度差等于3,即在分层森林F1中点1、点6、点9分别增加了3条树边,则分层森林F1中点1、点6、点9为分层森林F1中的阻隔点,分层森林F1中其余的点为非阻隔点。
对于任意的n(n>0),第n层的分层森林包括至少一个树结构状的树组件。所述树组件是按照第n层的分层条件并在第(n-1)层的分层森林基础上,选择图结构中被图边相连的两个点而构建出的树状的数据结构。换言之,在第n层中的树边及利用树边连通的多个点所形成的树结构被称为树组件。在第0层和第h层中间的任一层分层森林中,相应分层森林包含至少一个树组件,其中某一层分层森林中任意两个树组件之间无树边连通,且任意一个树组件所连通的点的树度不超过相应层分层条件所限定的树度上限。
例如,从第0层开始,预知第0层的分层森林F0为空表示第0层分层森林中的所有点的树度为0,即分层森林F0中仅包含所述图结构中的点。第1层的分层条件为分层森林F1中任意一点u的树度与第0层的分层森林F0中该点u的树度的树度差≤d,则在第0层分层森林的基础上拓扑第1层的分层森林的过程包括:在第0层的分层森林基础上并在第1层分层条件的限制下,利用图边将图结构中的相邻点进行基于树结构的连通以形成利用树结构连通多点的拓扑结构(又称数据结构)。第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤d,则在第1层的分层森林的基础上拓扑第2层的分层森林的过程包括:在第1层的分层森林基础上并在第2层分层条件的限制下,将第1层分层森林中不同的树组件中的相邻点图结构中的相邻点按照图边进行基于树结构的连通以使在第1层分层森林中不连通的树组件在第2层连通。以此类推,直至拓扑至最高层的分层森林,即得到图结构的生成树。
利用上述示例得到如图3c所示的分层森林F1中有3个树组件,分别为树组件330、树组件331、树组件332。如图3d所示,分层森林F2中不存在在分层森林F1的基础上增加了3条树边的点,则分层森林F2中所有的点为非阻隔点。分层森林F2中的树组件440连通了图结构中所有的点,所以所述分层森林F2中的树组件440为图结构的近似的最小度生成树。
需要说明的是,在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边,即第n层分层森林中分属不同树组件的非阻隔点之间如果在图结构中有图边就要变成第n层分层森林的树边,以连接所述非阻隔点。换言之,如果第n层分层森林中分属不同树组件的非阻隔点之间如果在图结构中不存在图边,则第n层分层森林构建完成。
需要说明的是,最高层的分层森林Fh的层数h并不限于上述举例的2层,所述层数h与所述图结构中的点数相关。另外,由于所述处理装置可以将连接两个点的图边在第n层加入树边也可以在其他任意一层加入树边,所以对于同一个图结构,所述最高层的分层森林Fh的层数h也可以不同。
按照所述分层条件对一图结构进行分层可以得到h层分层森林{F1、F2…Fh},其中,所述最高层的分层森林Fh为所述图结构的近似的最小度生成树。
根据所生成的生成树,处理装置12还确定所述图结构在各分层森林的属性集合并将其保存于存储装置11中。其中,所述属性集合用于在所述图结构发生变化时在预设时间复杂度下更新各分层森林,以基于所述分层森林得到更新后的所述近似的最小度生成树。例如,当所述图结构发生变化时,利用属性集合能够在时间复杂度为
Figure BDA0002296462240000151
的条件下得到更新后树度为O(Δ*logn)的近似的最小度生成树;或者利用属性集合能够在时间复杂度为O(m3/4+o(1))的条件下得到更新后树度为
Figure BDA0002296462240000152
的近似的最小度生成树。其中,所述属性集合包括但不限于:第一集合、第二集合、第三集合、第四集合、第五集合、第六集合。
请参阅图4a至图4e,图4a至图4e显示为基于又一图结构和第n层的分层条件得到的各分层森林以及该图结构的示意图,如图所示,所述第1层的分层条件为分层森林F1中任意一点u的树度与图4b所示的第0层的分层森林F0中该点u的树度的树度差≤2。所述第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤2。所述第3层的分层条件为分层森林F3中任意一点u的树度与第2层的分层森林F2中该点u的树度的树度差≤2。图4c所示的分层森林F1是基于图4a所示的图结构和所述第1层的分层条件得到的。图4d所示的分层森林F2是基于图4a所示的图结构和所述第2层的分层条件得到的。图4e所示的分层森林F3是基于图4a所示的图结构和所述第3层的分层条件得到的。因为通过分层森林F3的树边连接了图结构中所有的点,所以图4e所示的分层森林F3为一连通图4a所示的图结构中各点的生成树。
所述第一集合包括各分层的分层森林中的阻隔点,即每一层的阻隔点的集合。第1层的分层森林中阻隔点的树度与第0层的分层森林中该点的树度的树度差为d,d为第1层的分层条件所规定的相邻两层树度差的最大值。以图4b和4c为例,点1、2、3、8、10和12在第1层的分层森林中的树度与第0层的分层森林中该点的树度的树度差为2,所以第一集合在第1层分层森林F1中为{点1、点2、点3、点8、点10、点12}。以图4b和4c为例,点1在第2层的分层森林中的树度与第1层的分层森林中该点的树度的树度差为2,所以第一集合在第2层分层森林F2中为{点1}。以图4c和4e为例,第3层的分层森林中没有点的树度与第2层的分层森林中该点的树度的树度差为2,所以第一集合在第3层的分层森林F3为空集。
所述第二集合包括所述图结构中的度数高于预设度数阈值B的点,即所述第二集合为{u|degG(u)≥B}。所述度数阈值与所述图结构中每个点的度数相关,所述图结构中每个点的度数是指在图结构中与该点连接的图边的数量。为简单描述,以下属于第二集合的点被称为高度点。以图4a为例,所述度数阈值B可设置为5,但并不以此为限。图4a中的第二集合为{点1、点3、点8}。需要说明的是,不同的度数阈值B在更新所述近似的最小度生成树时所需要的时间也不同。
所述第三集合包括在对应分层中通过非树边连接第二集合中的某一点的邻居点。其中,所述邻居点还不属于相应分层中的第一集合。具体地,所述第三集合中的点在第n层中通过非树边连接所述第n层中度数高于预设度数阈值B的点,并且第三集合中的点不是第n层中的阻隔点。某一层的第三集合中有0到k个,其中,k为整数,所述第三集合的个数与所述第二集合中点的个数相关。以图4a为例,所述度数阈值B可设置为5,图4a所示的图结构中的第二集合为{点1、点3、点8}。以图4c所示的第1层的分层森林F1为例,第1层中的第三集合有3个,分别为{点5、点14、点16};{点5、点6、点13};{点7、点14},其中,{点5、点14、点16}是第1层中的点1所对应的第三集合,{点5、点6、点13}是第1层中的点3所对应的第三集合;{点7、点14}是第1层中的点8所对应的第三集合。
对应每一层的各第三集合中的点可依据一优先级顺序排列。例如,依据每一层分层森林的欧拉序来排序每一层中各第三集合中各点的顺序。需要说明的是,各第三集合中点的排序方式并不限于此,例如,根据在动态更新周期内网络系统的连接关系属性而设置第三集合中各点的排序,其中,连接关系属性举例如道路堵塞情况、通信链路QoS等。其目的在于降低更新所述近似的最小度生成树时的处理时间。
所述第四集合包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边。具体地,所述第四集合中的某一条边连接的两个点既不是阻隔点也不是高度点。所述图结构中连接点u和点v的边可用(u,v)来表示。以图4a为例,所述度数阈值B设置为5,图4a中的第二集合为{点1、点3、点8};如图4c所示的第1层的分层森林F1的第一集合为{点1、点2、点3、点8、点10、点12},则第1层的第四集合为{(5,6)、(14,15)}。如图4d所示的第2层的分层森林F2的第一集合为{点1},则第2层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。如图4e所示的第3层的分层森林F3的第一集合为空集,则第3层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。需要说明的是,所述处理装置基于上述各层的第四集合以及各层的分层森林中的树边可得到第六集合,所述第六集合是在各层的第四集合中去除各层的分层森林中的树边得到的。以图4d中的第2层的分层森林为例,所述第2层的第四集合为{(2,6)}。
所述第五集合包括对应分层的各树组件。以图4c为例,第1层中的第五集合为{树组件550、树组件551、树组件552、树组件553、树组件554、树组件555}。以图4d为例,所述第2层的第五集合为{树组件660、树组件661}。以图4e为例,所述第3层的第五集合为{树组件770}。
需要说明的是,为了生成第(n+1)层分层森林,在拓扑第(n+1)层分层森林的过程中,可应用第n层分层森林拓扑完成而存储的各属性集合。例如,在按照第(n+1)层分层条件拓扑第(n+1)层分层森林的过程中,优先基于存储的各属性集合中的点、边的信息进行拓扑。
以上所述的拓扑结构的生成方法可基于一图结构生成近似的最小度生成树的拓扑结构。所述图结构可以是依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,也可以是依据电子地图系统中各位置和位置之间的道路连通关系而产生的。存储上述各属性集合是为了在图结构发生变化时可以在预设的时间复杂度下更新各分层森林,以得到更新后的所述近似的最小度生成树,其中,图结构发生的变化是指由于图结构中点或边的变化而引起的图结构中增加至少一条边、减少至少一条边或者既增加了至少一条边又减少了至少一条边。例如,图结构中减少了一点,导致图结构中减少了与该点连接的至少一条边。又如,图结构中增加了一点,导致图结构中增加了与该点连接的至少一条边。再如,图结构中减少了一点A又增加了另一点B,导致图结构中既减少了与点A连接的至少一条边又增加了与点B连接的至少一条边。
在一实施例中,所述图结构是依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为网络节点之间的网络连接关系。所述网络节点包括但不限于:自组网中的感应器、分布式存储服务系统中的存储服务区、互联网的网关。例如,在一公司的网络系统拓扑规划中,为了得到优化通信消耗、无冗余环路的网络系统的各网络节点之间的连接关系,其中,公司还要求所述拓扑结构要使该网络系统中通信消耗最大的网络节点的通信消耗在预设范围内。例如,一网络节点的通信消耗和与其直接通信的网络节点的数量成正比,可依据以上所述的拓扑结构的生成方法基于公司的网络系统中目前各网络节点的连接关系所对应的图结构来生成符合要求的近似的最小度生成树的拓扑结构,以使所述公司的网络系统中的各网络节点依据所述近似的最小度生成树的拓扑结构进行网络连接。
在另一实施例中,所述图结构是依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。所述电子地图中的位置包括但不限于:国家、城市、区、街道等。例如,一快递公司在规划全国各城市的运输道路时,为了得到优化运输消耗、无冗余环路的各城市之间的连接关系。可依据以上所述的拓扑结构的生成方法基于电子地图中各城市之间的道路连通关系所对应的图结构来生成符合要求的近似的最小度生成树的拓扑结构,以使所述快递公司依据所述近似的最小度生成树的拓扑结构构建连通全国各城市的运输道路。
本申请还提供一种拓扑结构的生成系统,应用于基于图结构而构建的网络系统中,用于基于一图结构来生成所述图结构的近似的最小度生成树。所述网络系统与前文所述的相同或相似,在此不再详述。请参阅图5,图5显示为本申请的拓扑结构的生成系统在一实施例中的结构示意图。如图所示,所述拓扑结构的生成系统20包括生成模块21、拓扑控制模块22。
所述生成模块21用于按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n-1)层分层森林基础上进行拓扑,以得到所述第n层的分层森林。其中,其中,第0层的分层森林为空,n≥1。
其中,所述第n层的分层条件是基于第(n-1)层的点的树度、和第(n-1)层与第n层之间的点的树度差而设置的。所述第n层的分层条件用于约束所述第n层的点的树度。所述第n层的点的树度与在第n层与该点相连的树边相等。在此,在第n层被选定的图边被称为从第n层分层森林直至最高层的各分层森林中树结构的树边。所述树度差是指第n层的分层森林Fn中一点u的树度与第(n-1)层的分层森林Fn-1中该点u的树度的差值。
其中,所述第n层的分层条件可表示为
Figure BDA0002296462240000181
其中,
Figure BDA0002296462240000182
表示点u在第n层分层森林中的树度,
Figure BDA0002296462240000183
表示点u在第(n-1)层分层森林中的树度,d表示点u在相邻层中的树度差最大值。
在一实施例中,d为1到y之间的任意整数,即1≤d≤y。其中,y为所述图结构中点的总数。
为了构建近似的最小度生成树,第n层的分层森林Fn中一点u的树度
Figure BDA0002296462240000184
与第(n-1)层的分层森林Fn-1中该点u的树度
Figure BDA0002296462240000185
的树度差的最大值d是依据预设的近似的最小度生成树的树度和更新近似的最小度生成树的时间复杂度而设置的。
在一具体实施例中,更新近似的最小度生成树的时间复杂度为
Figure BDA0002296462240000186
其中,m为所述图结构中边的总数。所述近似的最小度生成树的树度为O(Δ*logy),其中,Δ*为所述近似的最小度生成树的最优解的度数,y为所述图结构中点的总数。相邻两层树度差的最大值d的取值范围是:Δ*≤d<2Δ*。所述最高层的分层森林Fh的层数h满足如下条件:h=O(logy)。其中,h=O(log y)表示的是存在一个常数C使得O(log y)=C*O(log y)。
在另一具体实施例中,更新近似的最小度生成树的时间复杂度为O(m3/4+o(1)),其中,m为所述图结构中边的总数。所述近似的最小度生成树的树度为
Figure BDA0002296462240000191
其中,Δ*为所述近似的最小度生成树的最优解的度数,y为所述图结构中点的总数,ε>0。相邻两层树度差的最大值d的取值范围是:Δ*logε y≤d<2Δ*logε y。所述最高层的分层森林Fh的层数h满足如下条件:
Figure BDA0002296462240000192
需要说明的是,本申请中涉及的对数均是以2为底的。例如,log y代表的是log2y。
以上述任意示例中计算生成树的树度及分层条件的方式来构建一图结构的生成树举例如下:请再参阅图3a至图3d,相邻两层树度差的最大值d为3。所述第1层的分层条件为分层森林F1中任意一点u的树度与第0层的分层森林F0中该点u的树度的树度差≤3。在构建分层森林F1时,所述生成模块21从图3a所示的图结构中任选点1、6和9,根据点6所连接的各图边将点6分别与点5、点7和点12所连接的图边设为分层森林F1的树边,根据点1所连接的各图边将点1分别与点2、点3和点4所连接的图边设为分层森林F1的树边,根据点9所连接的各图边将点9分别与点8、点10和点11所连接的图边设为分层森林F1的树边,此时点1、6和9的树度为(0+3),其中,0为点1、6和9在如图3b所示的第0层分层森林F0中的树度,3为点1、6和9在1层与第0层的树度差。由于点1、6和9在1层与第0层的树度差已经达到第1层分层条件的上限,所以在图结构中与点1、6和9连接的其他图边不能继续加入到分层森林F1中,并且在图结构中除了点1、6和9的其他各点之间不存在图边,图3c所示的分层森林F1为基于图3a所示的图结构和第1层的分层条件得到的分层森林F1。需要说明的是,如果图3a中除了点1、6和9的其他各点之间存在图边,在保证所述其他各点满足第1层的分层条件的情况下还需要继续将所述存在的图边加入到分层森林F1中。
所述拓扑控制模块22用于将n值从1开始递增并重复执行所述生成模块,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的近似的最小度生成树,n≤h。请再参阅图3a至图3d,得到第1层分层森林后,将n值由1增加到2并重复执行所述生成模块。所述第2层的分层条件为分层森林F2中任意一点u的树度与图3c所示的第1层的分层森林F1中该点u的树度的树度差≤3。在构建分层森林F2时,在分层森林F1的基础上,从图3a所示的图结构中任选点6和点9,根据点6所连接的各图边将点6与点3所连接的图边设为分层森林F2的树边,根据点9所连接的各图边将点9与点12所连接的图边设为分层森林F2的树边,将上述两条图边设为分层森林F2的树边后,因为通过分层森林F2的树边遍历了图结构中所有的点,所以图3d所示的分层森林F2为一连通图3a所示的图结构中各点的近似的最小度生成树。
需要说明的是,按照近似的最小度生成树的树度和更新近似的最小度生成树的时间复杂度而设置的上述分层条件,得到的如图3d所示的分层森林F2为图3a所示的图结构的近似的最小度生成树。其中,所述近似的最小度生成树满足预设的近似的最小度生成树的树度要求。
在第n层的分层条件所规定的相邻两层树度差的最大值d确定的情况下,对于第n层分层森林来说,如果第n层的分层森林Fn中一点u的树度与第(n-1)层的分层森林Fn-1中该点u的树度的树度差为d,则点u为第n层的分层森林Fn中的阻隔点。在此,对于每一分层森林来说,不属于阻隔点的点称为非阻隔点。如图3c所示,分层森林F1中的点1、点6、点9分别相对于第0层的分层森林F0中的点1、点6、点9的树度差等于3,即在分层森林F1中点1、点6、点9分别增加了3条树边,则分层森林F1中点1、点6、点9为分层森林F1中的阻隔点,分层森林F1中其余的点为非阻隔点。
对于任意的n(n>0),第n层的分层森林包括至少一个树结构状的树组件。所述树组件是按照第n层的分层条件并在第(n-1)层的分层森林基础上,选择图结构中被图边相连的两个点而构建出的树状的数据结构。换言之,在第n层中的树边及利用树边连通的多个点所形成的树结构被称为树组件。在第0层和第h层中间的任一层分层森林中,相应分层森林包含至少一个树组件,其中某一层分层森林中任意两个树组件之间无树边连通,且任意一个树组件所连通的点的树度不超过相应层分层条件所限定的树度上限。
例如,从第0层开始,预知第0层的分层森林F0为空表示第0层分层森林中的所有点的树度为0,即分层森林F0中仅包含所述图结构中的点。第1层的分层条件为分层森林F1中任意一点u的树度与第0层的分层森林F0中该点u的树度的树度差≤d,则所述生成模块21在第0层分层森林的基础上拓扑第1层的分层森林的过程包括:所述生成模块21在第0层的分层森林基础上并在第1层分层条件的限制下,利用图边将图结构中的相邻点进行基于树结构的连通以形成利用树结构连通多点的拓扑结构(又称数据结构)。第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤d,所述拓扑控制模块22在第1层的分层森林的基础上拓扑第2层的分层森林的过程包括:拓扑控制模块22在第1层的分层森林基础上并在第2层分层条件的限制下,将第1层分层森林中不同的树组件中的相邻点图结构中的相邻点按照图边进行基于树结构的连通以使在第1层分层森林中不连通的树组件在第2层连通。以此类推,所述拓扑控制模块22直至拓扑至最高层的分层森林,即得到图结构的生成树。
利用上述示例得到如图3c所示的分层森林F1中有3个树组件,分别为树组件330、树组件331、树组件332。如图3d所示,分层森林F2中不存在在分层森林F1的基础上增加了3条树边的点,则分层森林F2中所有的点为非阻隔点。分层森林F2中的树组件440连通了图结构中所有的点,所以所述分层森林F2中的树组件440为图结构的近似的最小度生成树。
需要说明的是,在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边,即第n层分层森林中分属不同树组件的非阻隔点之间如果在图结构中有图边就要变成第n层分层森林的树边,以连接所述非阻隔点。换言之,如果第n层分层森林中分属不同树组件的非阻隔点之间如果在图结构中不存在图边,则第n层分层森林构建完成。
需要说明的是,最高层的分层森林Fh的层数h并不限于上述举例的2层,所述层数h与所述图结构中的点数相关。另外,由于所述生成模块可以将连接两个点的图边在第n层加入树边也可以在其他任意一层加入树边,所以对于同一个图结构,所述最高层的分层森林Fh的层数h也可以不同。
按照所述分层条件对一图结构进行分层可以得到h层分层森林{F1、F2…Fh},其中,所述最高层的分层森林Fh为所述图结构的近似的最小度生成树。
请参阅图6,图6显示为本申请的拓扑结构的生成系统在另一实施例中的结构示意图。如图所示,所述拓扑结构的生成系统50包括生成模块51、拓扑控制模块52、存储模块53。
所述生成模块51和拓扑控制模块52与前文所述的生成模块21和拓扑控制模块22执行的步骤和功能相同或相似,在此不再详述。
所述存储模块53用于存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
具体地,根据所生成的生成树,确定所述图结构在各分层森林的属性集合并将其保存于存储模块中。其中,所述属性集合用于在所述图结构发生变化时在预设时间复杂度下更新各分层森林,以基于所述分层森林得到更新后的所述近似的最小度生成树。例如,当所述图结构发生变化时,利用属性集合能够在时间复杂度为
Figure BDA0002296462240000211
的条件下得到更新后树度为O(Δ*logn)的近似的最小度生成树;或者利用属性集合能够在时间复杂度为O(m3 /4+o(1))的条件下得到更新后树度为
Figure BDA0002296462240000221
的近似的最小度生成树。其中,所述属性集合包括但不限于:第一集合、第二集合、第三集合、第四集合、第五集合、第六集合。
请再参阅图4a至图4e,所述第1层的分层条件为分层森林F1中任意一点u的树度与图4b所示的第0层的分层森林F0中该点u的树度的树度差≤2。所述第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤2。所述第3层的分层条件为分层森林F3中任意一点u的树度与第2层的分层森林F2中该点u的树度的树度差≤2。图4c所示的分层森林F1是基于图4a所示的图结构和所述第1层的分层条件得到的。图4d所示的分层森林F2是基于图4a所示的图结构和所述第2层的分层条件得到的。图4e所示的分层森林F3是基于图4a所示的图结构和所述第3层的分层条件得到的。因为通过分层森林F3的树边连接了图结构中所有的点,所以图4e所示的分层森林F3为一连通图4a所示的图结构中各点的生成树。
所述第一集合包括各分层的分层森林中的阻隔点,即每一层的阻隔点的集合。第1层的分层森林中阻隔点的树度与第0层的分层森林中该点的树度的树度差为d,d为第1层的分层条件所规定的相邻两层树度差的最大值。以图4b和4c为例,点1、2、3、8、10和12在第1层的分层森林中的树度与第0层的分层森林中该点的树度的树度差为2,所以第一集合在第1层分层森林F1中为{点1、点2、点3、点8、点10、点12}。以图4b和4c为例,点1在第2层的分层森林中的树度与第1层的分层森林中该点的树度的树度差为2,所以第一集合在第2层分层森林F2中为{点1}。以图4c和4e为例,第3层的分层森林中没有点的树度与第2层的分层森林中该点的树度的树度差为2,所以第一集合在第3层的分层森林F3为空集。
所述第二集合包括所述图结构中的度数高于预设度数阈值B的点,即所述第二集合为{u|degG(u)≥B}。所述度数阈值与所述图结构中每个点的度数相关,所述图结构中每个点的度数是指在图结构中与该点连接的图边的数量。为简单描述,以下属于第二集合的点被称为高度点。以图4a为例,所述度数阈值B可设置为5,但并不以此为限。图4a中的第二集合为{点1、点3、点8}。需要说明的是,不同的度数阈值B在更新所述近似的最小度生成树时所需要的时间也不同。
所述第三集合包括在对应分层中通过非树边连接第二集合中的某一点的邻居点。其中,所述邻居点还不属于相应分层中的第一集合。具体地,所述第三集合中的点在第n层中通过非树边连接所述第n层中度数高于预设度数阈值B的点,并且第三集合中的点不是第n层中的阻隔点。某一层的第三集合中有0到k个,其中,k为整数,所述第三集合的个数与所述第二集合中点的个数相关。以图4a为例,所述度数阈值B可设置为5,图4a所示的图结构中的第二集合为{点1、点3、点8}。以图4c所示的第1层的分层森林F1为例,第1层中的第三集合有3个,分别为{点5、点14、点16};{点5、点6、点13};{点7、点14},其中,{点5、点14、点16}是第1层中的点1所对应的第三集合,{点5、点6、点13}是第1层中的点3所对应的第三集合;{点7、点14}是第1层中的点8所对应的第三集合。
对应每一层的各第三集合中的点可依据一优先级顺序排列。例如,依据每一层分层森林的欧拉序来排序每一层中各第三集合中各点的顺序。需要说明的是,各第三集合中点的排序方式并不限于此,例如,根据在动态更新周期内网络系统的连接关系属性而设置第三集合中各点的排序,其中,连接关系属性举例如道路堵塞情况、通信链路QoS等。其目的在于降低更新所述近似的最小度生成树时的处理时间。
所述第四集合包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边。具体地,所述第四集合中的某一条边连接的两个点既不是阻隔点也不是高度点。所述图结构中连接点u和点v的边可用(u,v)来表示。以图4a为例,所述度数阈值B设置为5,图4a中的第二集合为{点1、点3、点8};如图4c所示的第1层的分层森林F1的第一集合为{点1、点2、点3、点8、点10、点12},则第1层的第四集合为{(5,6)、(14,15)}。如图4d所示的第2层的分层森林F2的第一集合为{点1},则第2层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。如图4e所示的第3层的分层森林F3的第一集合为空集,则第3层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。需要说明的是,基于上述各层的第四集合以及各层的分层森林中的树边可得到第六集合,所述第六集合是在各层的第四集合中去除各层的分层森林中的树边得到的。以图4d中的第2层的分层森林为例,所述第2层的第四集合为{(2,6)}。
所述第五集合包括对应分层的各树组件。以图4c为例,第1层中的第五集合为{树组件550、树组件551、树组件552、树组件553、树组件554、树组件555}。以图4d为例,所述第2层的第五集合为{树组件660、树组件661}。以图4e为例,所述第3层的第五集合为{树组件770}。所述存储模块53存储上述各属性集合是为了在图结构发生变化时,可以在预设的时间复杂度下更新各分层森林,以得到更新后的所述近似的最小度生成树。
需要说明的是,为了生成第(n+1)层分层森林,在拓扑第(n+1)层分层森林的过程中,可应用第n层分层森林拓扑完成而存储的各属性集合。例如,在按照第(n+1)层分层条件拓扑第(n+1)层分层森林的过程中,优先基于存储的各属性集合中的点、边的信息进行拓扑。
以上任一所述的拓扑结构的生成系统可基于一图结构生成包含该图结构中全部点的近似的最小度生成树的拓扑结构。所述图结构可以是依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,也可以是依据电子地图系统中各位置和位置之间的道路连通关系而产生的。
当所述图结构发生变化时,利用本申请所述的更新拓扑结构的方法可以快速得到更新后的近似的最小度生成树。需要说明的是,因为每一层分层森林中的树边都是图结构中的图边,所以在某一层分层森林中树边发生的变化等价于图结构中图边发生的变化。
请参阅图7,图7显示为本申请的计算机设备在另一实施例中的硬件结构示意图。如图所示,所述计算机设备30包括存储装置31、处理装置32。
所述存储装置31用于存储一图结构及其生成树,和至少一个程序。其中,所述生成树为近似的最小度生成树。其中,存储装置31包括但不限于:只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、非易失性存储器(Nonvolatile RAM,简称NVRAM)。例如,存储装置31包括闪存设备或其他非易失性固态存储设备。在某些实施例中,存储装置31还可以包括远离一个或多个处理装置的存储器,例如,经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WAN)、存储局域网(SAN)等,或其适当组合。存储装置31还包括存储器控制器,其可控制所述计算机设备的诸如中央处理器(CPU)和接口装置之类或其他组件对存储器的访问控制。
处理装置32与存储装置31相连,用于执行所述至少一个程序,以协调所述存储装置31执行所述更新拓扑结构的方法。所述处理装置32包括一个或多个处理器。处理装置32可操作地与存储装置31执行数据读写操作。处理装置32执行诸如数据压缩处理、数据编码、数据解码等。所述处理装置32包括一个或多个通用微处理器、中央处理器(CPU)、一个或多个专用处理器(ASIC)、一个或多个数字信号处理器(Digital Signal Processor,简称DSP)、一个或多个现场可编程逻辑阵列(Field Programmable Gate Array,简称FPGA)、或它们的任何组合。
本申请提供的更新拓扑结构的方法可由图7所述的计算机设备30或者由可执行所述更新方法相关步骤的其他计算机设备来执行。所述更新拓扑结构的方法可以在图结构发生变化时对预先构建的存储在所述存储装置31中的所述图结构的生成树进行更新。其中,所述生成树是基于前文所述的拓扑结构的生成方法和一网络系统的图结构而得到的。其中,所述生成树为近似的最小度生成树。其中,图结构发生的变化是指由于图结构中点或边的变化而引起的图结构中增加至少一条边、减少至少一条边或者既增加了至少一条边又减少了至少一条边。例如,图结构中减少了一点,导致图结构中减少了与该点连接的至少一条边。又如,图结构中增加了一点,导致图结构中增加了与该点连接的至少一条边。再如,图结构中减少了一点A又增加了另一点B,导致图结构中既减少了与点A连接的至少一条边又增加了与点B连接的至少一条边。以下所述的更新拓扑结构方法中涉及的变化前的图结构及基于各层的分层条件得到的各分层森林均以图4a至图4e所述图结构及各层的分层森林的为例。
具体地,依据所述拓扑结构的生成方法可以得到一图结构的近似的最小度生成树,图结构中各点基于近似的最小度生成树进行连接。图结构发生变化后使得第n层的分层森林以及近似的最小度生成树发生改变,此时需要基于变化后的图结构对变化后的第n层的分层森林及基于第n层的分层森林拓扑得到的各层分层森林进行逐层调整以得到更新后的近似的最小度生成树并更新与存储各属性集合。如果图结构发生变化后使得第n层的分层森林以及近似的最小度生成树没有发生改变,此时只需要更新各属性集合。例如,由于一条网络通路的中断使通信网络系统中各网络节点不能基于所述近似的最小度生成树的拓扑结构进行连通,此时需要基于变化后的通信网络系统中各网络节点的连接关系确定相应的图结构,并基于变化后的所述图结构对变化后的第n层的分层森林及基于第n层的分层森林拓扑得到的各层分层森林进行逐层调整以得到更新后的近似的最小度生成树并更新各属性集合。又如,由于一条网络通路的中断使通信网络系统中各网络节点还能基于所述近似的最小度生成树的拓扑结构进行连通,此时只需要更新各属性集合。再如,由于增加一条网络通路使通信网络系统所对应图结构的各分层森林不能满足各层的分层条件,即不同树组件的非阻隔点之间存在图边,此时需要基于变化后的通信网络系统中各网络节点的连接关系确定相应的图结构,并基于变化后的所述图结构对变化后的第n层的分层森林及基于第n层的分层森林拓扑得到的各层分层森林进行逐层调整以得到更新后的近似的最小度生成树并更新各属性集合。还如,由于增加一条网络通路使通信网络系统所对应图结构的各分层森林的还能满足各层的分层条件,即不同树组件的非阻隔点之间不存在图边,此时只需要更新各属性集合。需要说明的是,更新各属性集合利于当通信网络系统中各网络节点的连接关系再次发生改变时更新所述近似的最小度生成树。
首先叙述所述图结构发生的变化为图结构中增加一条图边的情况。图结构中增加多条图边可依次针对增加的图边按照如下方式进行逐一调整以得到更新后的近似的最小度生成树。图结构中增加至少一条图边又减少至少一条图边可按照如下方式以及后续描述的减少一条图边的更新拓扑结构的方式进行逐一调整,以得到更新后的近似的最小度生成树。
当图结构中增加的一条图边连接了第i层分层森林中属于不同树组件的两个非阻隔点时,就需要将增加的图边加入到第i层分层森林以及基于第i层分层森林拓扑到的其他层分层森林中,其中,0<i<最高层数h。为了便于说明。增加的图边可用(u,v)来表示,u和v分别表示图边(u,v)连接的两个点。由于图边(u,v)成为第i层分层森林以及基于第i层分层森林拓扑到的其他层分层森林的树边后,在第(i+m)层可能会形成环,即在第(i+m)层的分层森林中存在连接部分点的回路,其中,0≤m≤(h-i),此时,需要将第(i+m)层至最高层的分层森林中删除一条树边以消除环。需要说明的是,所删除的树边是第(i+m)层至最高层的分层森林中环上的树边但不是在第(i+m-1)层分层森林中的树边,即相对于第(i+m-1)层的分层森林在第(i+m)层中新增的树边。这样删除环的操作是为了不再影响(i+m)层以下的各分层森林以及各分层森林的属性集合,使后续操作的层数逐渐减少。然而,当删除树边后,如果树边连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林中的某一层(i+m+△m)中两个点中存在由阻隔点变成非阻隔点的点,需要检查该非阻隔点在第(i+m+△m)层中是否与其他非阻隔点之间在图结构中还存在图边,如果还存在图边就需要将图边加入到第(i+m+△m)层分层森林以及基于第(i+m+△m)层分层森林拓扑得到的其他层分层森林中,以保证每一层的分层森林中分属不同树组件的非阻隔点之间不具备图边。其中,0≤△m≤(h-i-m)。加入新的图边后有可能在第(i+m+△m)层以上的分层森林中又引起成环的问题。此时从(i+m+△m)层至最高层分层森林逐层数值i重复执行上述各步骤以使更新后的各分层森林符合各层的分层条件。
具体地,请参阅图8,图8显示为一图结构中增加一条图边后本申请的更新拓扑结构方法在一实施例中的流程图,如图8所示,当一图结构中增加一条边后首先要在第i层执行步骤S110。
在步骤S110中,所述处理装置依据所增加的图边(u,v)所连接两点在各分层森林的属性集合,更新所述第三集合。如果增加图边(u,v)后,点v属于第二集合并且点u属于i层的第一集合就把点u加入到第i层点v的第三集合中,如果点u属于第二集合并且点v属于第i层的第一集合就把点v加入到在第i层点u的第三集合中。其中,0<i<最高层数h。为了便于说明,点u所在的树组件用
Figure BDA0002296462240000261
表示,点v所在的树组件用
Figure BDA0002296462240000262
表示。
在步骤S111中,依据所增加的图边(u,v)所连接的两点在第i层分层森林中是否是分属不同树组件并且两个点都是非阻隔点,选择执行步骤S112或者步骤S118。当所增加的图边(u,v)所连接的两点在第i层分层森林中不属于同一树组件,即
Figure BDA0002296462240000263
并且两个点都是非阻隔点时执行步骤S112。当所增加的图边(u,v)所连接的两点在各分层森林的属性集合,确定所述两点在第i层分层森林中属于同一树组件时,即
Figure BDA0002296462240000264
时,所述处理装置执行步骤S118。
在步骤S118中,判断增加的图边(u,v)所连接的两点是否都是第i层分层森林中的非阻隔点并且不属于第二集合。如果增加的图边(u,v)所连接的两点都是第i层分层森林中的非阻隔点并且不属于第二集合,则所述处理装置执行步骤S119。
在步骤S119中,把图边(u,v)加入到每一层的第四集合中。如果增加的图边(u,v)所连接的两点不是第i层分层森林中的非阻隔点并且不属于第二集合,则不需要把图边(u,v)加入到每一层的第四集合中。
在步骤S112中,所述处理装置将所增加的图边加入所述第i层的分层森林及基于第i层森林拓扑得到的各其他层分层森林中,以形成各分层森林的树边。其中,0<i<最高层数h。
为了便于后续的更新,步骤S112还包括步骤S1120。在步骤S1120中,所述处理装置还可以基于各属性集合的变化来更新对应集合。例如,所述处理装置基于第三集合的变化更新对应层的第三集合,并基于所增加的图边(u,v)所连接的两个点的属性来更新第i层的第四集合。请参阅图9a至图9e,图9a至图9e显示为在图4a的图结构中增加一图条边后的各分层森林以及变化后的图结构的示意图,如图所示,在图4a所示的图结构中增加的图边为(9,15)。如图4c至图4e所示的各分层森林中,在第1层分层森林中满足点9和点15均不属于第一集合且在不同的树组件中,则所述处理装置将图边(9,15)加入到第1层分层森林及基于第1层分层森林得到的第2层和第3层的分层森林中,使图边(9,15)成为树边(9,15),以得到图9c至图9e所示的分层森林。所述处理装置还基于各分层森林加入树边后的第三集合的变化来更新第2层和第3层的第三集合。仍以度数阈值B=5为例,图9a中的第二集合为{点1、点3、点8}。以图9c所示的第1层的分层森林为例,更新后的第三集合分别为{点5、点14、点16};{点5、点6、点13};{点7、点14},其中,{点5、点14、点16}是第1层中的点1所对应的第三集合,{点5、点6、点13}是第1层中的点3所对应的第三集合;{点7、点14}是第1层中的点8所对应的第三集合。需要说明的是,对于不同示例,各分层森林中加入树边(9,15)后的第三集合与加入前可能相同或者可能不同。
如图9c所示,在第1层分层森林中加入树边(9,15)后,由于点9、点15变成了第1层分层森林中的阻隔点,并且点9、点15都不属于第二集合。所以,所述处理装置还更新第1层的第四集合。更新后的第1层的第四集合为{(5,6)},更新后的第2层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)}。更新后的第3层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)}。
在步骤S113中,所述处理装置判断在第i层所增加的树边在第(i+m)层上是否形成环,其中,0≤m≤(h-i)。当在第i层所增加的树边在第(i+m)层上形成环时,所述处理装置执行步骤S114。当在第i层所增加的树边在第(i+m)层上没有形成环时,所述处理装置不需要对各分层森林进行去环调整,则所述最高层的分层森林即为更新后的近似的最小度生成树。
在步骤S114中,依据第(i+m)层的分层森林分层条件,从第(i+m)层分层森林的树边中去除一树边以消除所述环,并更新从第(i+m)层至最高层的各分层森林。其中,0≤m≤(h-i),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+m-1)层分层森林中的边。具体地,请参阅图10a至图10b,图10a至图10b显示为在图9d和图9e中去除环后的各分层森林的示意图,如图9c和图9d所示,由于在第1层中增加的树边(9,15)使在第2层的分层森林中点1、点8、点9、点15、点14形成环,则在所述第2层的分层森林中删除树边(1,14)以消除环,并且将第3层,分层森林中也将树边(1,14)删除。在图10a至图10b所示的示例中i=1,m=1。需要说明的是,在不同的示例中i和m的取值不同,并且根据实际情况取值可以有多个。
删除环后,所述处理装置32执行步骤S115,在步骤S115中,判断所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林中的某一层中是否由阻隔点变成非阻隔点。如果判断结果为否,则删除环后所述最高层的分层森林即为更新后的近似的最小度生成树。如果判断结果为是,则所述处理装置依据所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林的各属性集合,从所述图结构中选择非树边增加到从第(i+m+△m)层分层森林至最高层的分层森林中。0≤△m≤(h-i-m),h为分层的最高层数。
具体地,基于步骤S115的判断结果,如果所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林中的某一层中由阻隔点变成非阻隔点,为了维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件,所述处理装置执行步骤S116。
在步骤S116中,从所述图结构中选择非树边增加到从第(i+m+△m)层分层森林至最高层的分层森林中。0≤△m≤(h-i-m),h为分层的最高层数。具体地,如果该层中存在的另一个树组件中的非阻隔点与去除的树边所连接的两个点在图结构中存在非树边,则需要将该非树边加入到该层以及该层以上的分层森林的树边中。所述处理装置依据所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林中是否是高度点,可以通过不同方式来找到另一个树组件中的非阻隔点与去除的树边所连接的两个点在图结构中存在的非树边。
例如,如果所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林中的某一层中由阻隔点变成非阻隔点并且不属于高度点时,为了维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件,通过遍历该层分层森林的所有非阻隔点与图结构,找到另一个树组件中的非阻隔点与去除的树边所连接的两个点在图结构中的非树边,并将非树边加入到该层以及该层以上的树边中。如图10a和图9d所示,删除的树边(1,14)所连接的点1在第2层由阻隔点变成非阻隔点并且点1和点16在图结构中存在图边,所以要在第2层的分层森林以及第3层的分层森林中将图边(1,16)变为树边,以得到图10a和图10b所示的分层森林。需要说明的是,如图10b所示,将非树边加入到该层以及该层以上的树边中没有导致第3层的分层森林产生环,则更新后的第3层分层森林为所述更新后的近似的最小度生成树。如果在其他的分层结构中产生环,还要重新执行上述操作来删除环,并维护某一层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件
又如,如果所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林中的某一层中由阻隔点变成非阻隔点并且是高度点时。为了维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件,以所去除的树边所连接的两个点为点u和点v为例,将点z的第三集合中去除点z所在的树组件中的点后剩余的点中选择一点w,将点w与点z在图结构中的图边加入到该层及该层以上的分层森林的树边中,以维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件。其中,点z为点u和点v中的一个。
在步骤S117中,按照上述去环以及去环后的调整方式,从第(i+m+△m)层至最高分层逐层调整数值i以重复执行步骤S113至步骤S116,直至各分层森林符合相应分层的分层条件。确保所述更新后的各层分层森林中分别在两个树组件中的非阻隔点之间不存在图边,以使更新后的最高层的分层森林为更新后的近似的最小度生成树。
接下来叙述所述图结构发生的变化为图结构中减少至少一条边的情况。以下示例中以减少一条边为例对拓扑结构进行更新以得到更新后的近似的最小度生成树。如果减少多条边可依次针对减少的边按照如下方式进行逐一调整以得到更新后的近似的最小度生成树。如果增加至少一条边又减少至少一条边可按照如下方式以及前述所描述的增加一条边的更新拓扑结构的方式进行逐一调整以得到更新后的近似的最小度生成树。
当图结构中减少的一条图边属于从第i层分层森林的树边至最高层的分层森林的树边时,会使第(i+k)层至最高层的分层森林中的某一树组件变成两个树组件,其中,0<i≤(i+k)≤h,且h>i,h为分层的最高层数。所述处理装置还依据从所述第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边。其中,所述非树边属于图结构中的图边且不属于变化前各分层森林中的树边。由于图边成为第(i+k)层分层森林以及基于第(i+k)层分层森林拓扑到的其他层分层森林的树边后,在第(i+k+△k)层可能会形成环,即在第(i+k+△k)层的分层森林中存在连接部分点的回路,其中,0≤Δk≤(h-i-k)。此时,需要依据第(i+k+△k)层的分层森林的分层条件,从其中的第(i+k+△k)层的分层森林中去除一条树边以消除环,并更新从第(i+k+△k)层至最高层的各分层森林。需要说明的是,所删除的树边是第(i+k+△k)层分层森林中环上的树边但不是在第(i+k+△k-1)层分层森林中的树边,即相对于第(i+k+△k-1)层的分层森林在第(i+k+△k)层中新增的树边。这样删除环的操作是为了不再影响(i+k+△k)层以下的各分层森林以及各分层森林的属性集合,使后续操作的层数逐渐减少。然而,当删除树边后,如果树边连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中的某一层中两个点中存在由阻隔点变成非阻隔点的点,需要检查该非阻隔点在第(i+k+△k)层中是否与其他非阻隔点之间在图结构中还存在图边,如果还存在图边就需要将图边加入到第(i+k+△k)层分层森林以及基于第(i+k+△k)层分层森林拓扑得到的其他层分层森林中,以保证每一层的分层森林中分属不同树组件的非阻隔点之间不具备图边。然后,从(i+k+△k)层至最高层分层森林逐层数值i以重复执行上述是否成环的判断及消除环的各步骤,直至各层的分层森林符合相应层的分层条件。
具体地,请参阅图11,显示为一图结构中减少一条图边后本申请的更新拓扑结构方法在一实施例中的流程图,如图11所示,当一图结构中减少一条图边后首先要在第i层执行步骤S227,其中,0<i<最高层数h。
在步骤S227中,所述处理装置将所去除的图边从各层的第四集合中去除,以更新所述第四集合。仍以图4a至图4d为例,所述度数阈值B可设置为5,如果图结构中减少的一条图边为(2,6),则更新后的第1层的第四集合为{(5,6)、(14,15)},更新后的第2层的第四集合为{(2,5)、(5,6)、(7,12)、(10,11)、(14,15)},更新后的第3层的第四集合为{(2,5)、(5,6)、(7,12)、(10,11)、(14,15)}。
所述处理装置执行步骤S220,判断所去除的图边是否属于从第i层分层森林的树边至最高层的分层森林的树边。当所去除的图边不属于从第i层分层森林的树边至最高层的分层森林的树边时,去除的图边对所述近似的最小度生成树的拓扑结构没有影响,所以所述处理装置32不需要执行如下步骤来得到更新后的近似的最小度生成树。当所去除的图边属于从第i层分层森林的树边至最高层的分层森林的树边时,所述处理装置执行步骤S221。
在步骤S221中,将所去除的图边从第i层分层森林的树边至最高层的分层森林的树边中删除。删除所述树边后可能会引起一个树组件成为两个分离的树组件。例如,请参阅图12a至图12e,图12a至图12e显示为在图4a的图结构中删除一图条边后的各分层森林以及变化后的图结构的示意图,如图12a至图12e所示,如果将图4a所示的图结构中的图边(1,14)删除后,由于所述图边(1,14)为图4d所示的第2层分层森林的树边,所以所述处理装置还将所去除的图边(1,14)从第2层分层森林的树边和第3层的分层森林的树边中删除,以得到图12d和图12e所示的分层森林。删除树边后导致图4d所示的第2层分层森林的树组件660成为两个分离的树组件。
为了维护所述各分层森林的属性集合便于步骤S223至S226的执行,所述处理装置执行步骤S222。
在步骤S222中,所述处理装置基于删除的树边来更新各属性集合。
例如,将删除的图边(u,v)从第i层分层森林的树边至最高层的分层森林的树边中删除后,会影响图结构中第三集合的存储顺序。所述处理装置还根据目前的第i层至最高层的分层森林对于图结构中属于第二集合中的点的第三集合的存储顺序进行更新,以使所述第三集合按更新后的顺序存储在所述存储装置中。
又如,将删除的图边(u,v)从第i层分层森林的树边至最高层的分层森林的树边中删除后,点z如果在第i层的分层森林中由阻隔点变为非阻隔点并且不属于第二集合,对于第i层的分层森林中另一个不属于第二集合的非阻隔点w之间如果存在图边,则需要将图边加入到所述第i层的第四集合中,以更新所述第四集合,其中,点z为点u和点v中的任意一个点。如图12a至图12e所示,如果在图4a所示的图结构中的图边(1,14)删除后,所述处理装置还将所去除的图边(1,14)从第2层分层森林的树边和第3层的分层森林的树边中删除。由于点1在第2层的分层森林中由阻隔点变成了非阻隔点并且不属于第二集合,所以,图12d所示的第2层的第四集合为{(1,2)、(1,5)、(1,12)、(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。
再如,将删除的图边(u,v)从第i层分层森林的树边至最高层的分层森林的树边中删除后,点z如果在第i层的分层森林中由阻隔点变为非阻隔点,对于图结构中第三集合中的点w,如果点w和点z之间存在图边,则所述处理装置将点z加入到第i层的分层森林的点w的第三集合中,其中,点z为点u和点v中的任意一个点。以图12d所示的第2层点3的第三集合为例,在将去除的图边(1,14)从第2层分层森林的树边和第3层的分层森林的树边中删除后,点1在第2层的分层森林中由阻隔点变为非阻隔点,则第2层中点3所对应的第三集合更新为{点1、点5、点6、点13}。
所述处理装置32还执行步骤S223,在图结构中找到一条非树边将两个分离的树组件连起来。在步骤S223中,依据从所述第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边,0<i≤(i+k)≤h,且h>i,h为分层的最高层数;其中,所述非树边属于图结构中的图边且不属于变化前各分层森林中的树边。
在一具体实施例中,当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的非阻隔点时,所述处理装置32从相应点所对应的第四集合中选择用于连接第(i+k)层不同树组件的点,并在第(i+k)层的分层森林至最高层的分层森林中增加相应的树边以连接各层的两个分离的树组件。其中,0≤k≤(h-i)。请参阅图13a至图13e,图13a至图13e显示为用非树边将两个分离的树组件连起来后的各分层森林的示意图,如图13a至图13e所示,在图4a所示的图结构中将删除的图边(2,5)从第1层分层森林的树边至最高层的分层森林的树边中删除后,图4d中第2层的分层森林的树组件660被分开,所述处理装置在图13d所示的第2层的第四集合中找到一条非树边(2,6)将第2层和第3层分层森林中两个分离的树组件连起来,以得到图13d至图13e所示的分层森林。
在另一具体实施例中,当根据所去除的树边所连接的两点的属性信息确定其中一个点在第(i+k)层的分层森林中既不在第一集合中也不在第二集合中,所述处理装置从图结构中选择所述第(i+k)层的分层森林中与所确定的点不在同一树组件的点,并在第(i+k)层的分层森林至最高层的分层森林中增加相应的树边以连接各层的两个分离的树组件,其中,0≤k≤(h-i)。例如,所述处理装置依次在第i层至最高层的分层森林中的一个被分离的树组件Cu i中找到属于第二集合的点z,判断在第(i+k)层点z的第三集合中的点w是否在另一个树组件Cv i中,如果存在这样的点w就将点w和点z之间的图边(w,z)加入到第(i+k)层的树边中,以连接分离的树组件Cu i和Cv i
在步骤S224中,所述处理装置32判断在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层是否形成环,其中,0≤△k≤(h-i-k),0≤k≤(h-i)。当在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层没有成环时,所述处理装置执行步骤S223后形成的各分层森林中最高层的分层森林即为更新后的近似的最小度生成树。当在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层成环时,所述处理装置32执行步骤S225。
在步骤S225中,依据第(i+k+△k)层的分层森林的分层条件,从其中的第(i+k+△k)层的分层森林的树边中去除一树边以消除所述环,并更新从第(i+k+△k)层至最高层的各分层森林;其中,0≤△k≤(h-i-k),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+k+△k-1)层分层森林中的边。其中,去环的步骤与前文的在增加一条边的情况下更新各分层森林的分层结构的去环操作相同或相似,在此不再详述。
步骤S225还包括步骤S2250(未图示),在步骤2250中,判断去除的树边所连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中的某一层中是否由阻隔点变成非阻隔点。如果所去除的树边所连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中的任一层中都没有由阻隔点变成非阻隔点,则去除环后的最高层的分层森林即为更新后的近似的最小度生成树。如果所去除的树边所连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中的某一层中由阻隔点变成非阻隔点,为了维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件,所述处理装置从所述图结构中选择非树边增加到从第(i+k+△k)层分层森林至最高层的分层森林中。0≤△k≤(h-i-k),h为分层的最高层数。例如,如果该层中存在的另一个树组件中的非阻隔点与去除的树边所连接的两个点在图结构中存在非树边,则需要将该非树边加入到该层以及该层以上的分层森林的树边中。
所述处理装置32依据所去除的树边所连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中是否属于第二集合,可以通过不同方式来找到另一个树组件中的非阻隔点与去除的树边所连接的两个点在图结构中存在的非树边,将非树边增加到从第(i+k+△k)层分层森林至最高层的分层森林中
例如,如果所去除的树边所连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中的某一层中由阻隔点变成非阻隔点并且不属于第二集合时,为了维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件,通过遍历该层分层森林的所有非阻隔点与图结构,找到另一个树组件中的非阻隔点与去除的树边所连接的两个点在图结构中的非树边,并将非树边加入到该层以及该层以上的树边中。需要说明的是,在其他的分层结构中如果产生环,还要重新执行上述操作来删除环,并维护某一层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件
又如,如果所去除的树边所连接的两个点在第(i+k+△k)层分层森林开始直至最高层的分层森林中的某一层中由阻隔点变成非阻隔点并且属于第二集合时。为了维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件,以所去除的树边所连接的两个点为点u和点v为例,将点u的第三集合中去除点u所在的树组件中的点后剩余的点中选择一点q,将点q与点u在图结构中的图边加入到该层的及该层以上的分层森林的树边中,对于点v,同样应用上述查找图边的方法来维持在该层的分层森林中分属不同树组件的非阻隔点之间不具备图边的分层条件。
在步骤S226中,所述处理装置32从第(i+k+△k)层分层森林至至最高层的分层森林,调整数值i以重复执行执行步骤S224至步骤S225,直至各层的分层森林符合相应层的分层条件,使得最高层的分层森林为所述更新后的近似的最小度生成树。
在一实施例中,所述图结构是依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,当通信网络系统中各网络节点之间的网络连接关系发生变化时,可使用本申请的更新拓扑结构的方法得到更新后的近似的最小度生成树,以使所述通信网络系统中各网络节点基于所述近似的最小度生成树进行连接。例如,通信网络系统中有两条通信线路发生中断,可以利用本申请中减少一条图边所对应的更新拓扑结构方法,以得到更新的近似的最小度生成树,进而使各网络节点之间基于更新后的近似的最小度生成树进行连通。
在另一实施例中,所述图结构是依据电子地图系统中各位置和位置之间的道路连通关系而产生的,当图结构中各位置和位置之间的道路连通关系发生变化时,可使用本申请的更新拓扑结构的方法得到更新后的近似的最小度生成树,以使所述电子地图系统中各位置基于所述近似的最小度生成树进行连接。例如,电子地图系统中新增了一条道路,可以利用本申请中增加一条图边所对应的更新拓扑结构方法,在更新后的道路连接关系的基础上得到所述近似的最小度生成树,进而使各位置之间基于更新后的近似的最小度生成树进行连通。
本申请还提供一种更新拓扑结构的系统,应用于前文所述的基于图结构而构建的网络系统中,用于对前文所述的预先构建的所述图结构的近似的最小度生成树进行更新。请参阅图14,图14显示为本申请的更新拓扑结构的系统在一实施例中的结构示意图。如图所示,所述更新拓扑结构的系统40包括监测模块41、更新模块42、存储模块43。
所述监测模41块用于监测所述图结构以输出变化指令,当所述图结构发生变化时,所述监测模块41输出变化指令。其中,所述变化指令包括:图结构中图边发生变化的内容。以图2中减少了图边(2,3)、图边(3,6)为例。所述变化指令为:图2的图结构中减少了图边(2,3)和图边(3,6)。
当更新模块42接收到所述变化指令时,将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整,以使各分层森林符合对应分层的分层条件,以得到所述更新后的近似的最小度生成树。其中,所述逐层调整方式与前文更新拓扑结构的方法中提到的逐层调整方式相同或相似,在此不再详述。
所述存储模块43用于存储更新的所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。其中,所述生成树为近似的最小度生成树。
具体地,根据所生成的生成树,确定所述图结构在各分层森林的属性集合并将其保存于存储模块中。其中,所述属性集合用于在所述图结构发生变化时在预设时间复杂度下更新各分层森林,以基于所述分层森林得到更新后的所述近似的最小度生成树。例如,当所述图结构发生变化时,利用属性集合能够在时间复杂度为
Figure BDA0002296462240000341
的条件下得到更新后树度为O(Δ*logn)的近似的最小度生成树;或者利用属性集合能够在时间复杂度为O(m3 /4+o(1))的条件下得到更新后树度为
Figure BDA0002296462240000342
的近似的最小度生成树。其中,所述属性集合包括但不限于:第一集合、第二集合、第三集合、第四集合、第五集合、第六集合。
请再参阅图4a至图4e,所述第1层的分层条件为分层森林F1中任意一点u的树度与图4b所示的第0层的分层森林F0中该点u的树度的树度差≤2。所述第2层的分层条件为分层森林F2中任意一点u的树度与第1层的分层森林F1中该点u的树度的树度差≤2。所述第3层的分层条件为分层森林F3中任意一点u的树度与第2层的分层森林F2中该点u的树度的树度差≤2。图4c所示的分层森林F1是基于图4a所示的图结构和所述第1层的分层条件得到的。图4d所示的分层森林F2是基于图4a所示的图结构和所述第2层的分层条件得到的。图4e所示的分层森林F3是基于图4a所示的图结构和所述第3层的分层条件得到的。因为通过分层森林F3的树边连接了图结构中所有的点,所以图4e所示的分层森林F3为一连通图4a所示的图结构中各点的生成树。
所述第一集合包括各分层的分层森林中的阻隔点,即每一层的阻隔点的集合。第1层的分层森林中阻隔点的树度与第0层的分层森林中该点的树度的树度差为d,d为第1层的分层条件所规定的相邻两层树度差的最大值。以图4b和4c为例,点1、2、3、8、10和12在第1层的分层森林中的树度与第0层的分层森林中该点的树度的树度差为2,所以第一集合在第1层分层森林F1中为{点1、点2、点3、点8、点10、点12}。以图4b和4c为例,点1在第2层的分层森林中的树度与第1层的分层森林中该点的树度的树度差为2,所以第一集合在第2层分层森林F2中为{点1}。以图4c和4e为例,第3层的分层森林中没有点的树度与第2层的分层森林中该点的树度的树度差为2,所以第一集合在第3层的分层森林F3为空集。
所述第二集合包括所述图结构中的度数高于预设度数阈值B的点,即所述第二集合为{u|degG(u)≥B}。所述度数阈值与所述图结构中每个点的度数相关,所述图结构中每个点的度数是指在图结构中与该点连接的图边的数量。为简单描述,以下属于第二集合的点被称为高度点。以图4a为例,所述度数阈值B可设置为5,但并不以此为限。图4a中的第二集合为{点1、点3、点8}。需要说明的是,不同的度数阈值B在更新所述近似的最小度生成树时所需要的时间也不同。
所述第三集合包括在对应分层中通过非树边连接第二集合中的某一点的邻居点。其中,所述邻居点还不属于相应分层中的第一集合。具体地,所述第三集合中的点在第n层中通过非树边连接所述第n层中度数高于预设度数阈值B的点,并且第三集合中的点不是第n层中的阻隔点。某一层的第三集合中有0到k个,其中,k为整数,所述第三集合的个数与所述第二集合中点的个数相关。以图4a为例,所述度数阈值B可设置为5,图4a所示的图结构中的第二集合为{点1、点3、点8}。以图4c所示的第1层的分层森林F1为例,第1层中的第三集合有3个,分别为{点5、点14、点16};{点5、点6、点13};{点7、点14},其中,{点5、点14、点16}是第1层中的点1所对应的第三集合,{点5、点6、点13}是第1层中的点3所对应的第三集合;{点7、点14}是第1层中的点8所对应的第三集合。
对应每一层的各第三集合中的点可依据一优先级顺序排列。例如,依据每一层分层森林的欧拉序来排序每一层中各第三集合中各点的顺序。需要说明的是,各第三集合中点的排序方式并不限于此,例如,根据在动态更新周期内网络系统的连接关系属性而设置第三集合中各点的排序,其中,连接关系属性举例如道路堵塞情况、通信链路QoS等。其目的在于降低更新所述近似的最小度生成树时的处理时间。
所述第四集合包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边。具体地,所述第四集合中的某一条边连接的两个点既不是阻隔点也不是高度点。所述图结构中连接点u和点v的边可用(u,v)来表示。以图4a为例,所述度数阈值B设置为5,图4a中的第二集合为{点1、点3、点8};如图4c所示的第1层的分层森林F1的第一集合为{点1、点2、点3、点8、点10、点12},则第1层的第四集合为{(5,6)、(14,15)}。如图4d所示的第2层的分层森林F2的第一集合为{点1},则第2层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。如图4e所示的第3层的分层森林F3的第一集合为空集,则第3层的第四集合为{(2,5)、(2,6)、(5,6)、(7,12)、(10,11)、(14,15)}。需要说明的是,基于上述各层的第四集合以及各层的分层森林中的树边可得到第六集合,所述第六集合是在各层的第四集合中去除各层的分层森林中的树边得到的。以图4d中的第2层的分层森林为例,所述第2层的第四集合为{(2,6)}。
所述第五集合包括对应分层的各树组件。以图4c为例,第1层中的第五集合为{树组件550、树组件551、树组件552、树组件553、树组件554、树组件555}。以图4d为例,所述第2层的第五集合为{树组件660、树组件661}。以图4e为例,所述第3层的第五集合为{树组件770}。
所述更新模块42基于存储模块43存储的各属性集合可在图结构发生变化时,在预设的时间复杂度下更新各分层森林,以得到更新后的所述近似的最小度生成树。
本申请还公开一种计算机可读存储介质,所述计算机可读的存储介质存储有至少一种计算机程序,所述至少一种计算机程序在被调用时参与执行前文所述的拓扑结构的生成方法、或者执行前文所述的更新拓扑结构的方法。所述拓扑结构的生成方法、更新拓扑结构的方法与前述提及的所述拓扑结构的生成方法、更新拓扑结构的方法相同或类似,在此不再赘述。另外需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请的部分或全部可借助软件并结合必需的通用硬件平台来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来。
于本申请提供的实施例中,所述计算机可读存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
本申请所述的拓扑结构的生成方法、更新拓扑结构的方法可以用硬件、软件、固件或者其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (39)

1.一种拓扑结构的生成方法,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,其特征在于,所述生成方法包括:
按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n-1)层分层森林基础上进行拓扑,以得到所述第n层的分层森林;其中,第0层的分层森林为空,n≥1;
将n值从1开始递增并重复上述步骤,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的生成树;n≤h;
其中,所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的。
2.根据权利要求1所述的拓扑结构的生成方法,其特征在于,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
3.根据权利要求1所述的拓扑结构的生成方法,其特征在于,所述树度差的最大值是依据预设的生成树的树度和更新生成树的时间复杂度而设置的。
4.根据权利要求1所述的拓扑结构的生成方法,其特征在于,还包括以下步骤:存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
5.根据权利要求4所述的拓扑结构的生成方法,其特征在于,所述属性集合包括以下至少一种:
第一集合,包含对应分层的分层森林中的阻隔点;
第二集合,包括所述图结构中的度数高于预设度数阈值的点;
第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;
第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;
第五集合,包括对应分层的各树组件。
6.根据权利要求1所述的拓扑结构的生成方法,其特征在于,所述生成树是近似的最小度生成树。
7.根据权利要求1所述的拓扑结构的生成方法,其特征在于,所述图结构是依据以下任一种形成的:
依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者
依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
8.一种更新拓扑结构的方法,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,其特征在于,所述更新拓扑结构的方法用于对预先构建的所述图结构的生成树进行更新;其中,对图结构进行逐层拓扑而得到各层的分层森林,所述生成树是最高层的分层森林;其中,在图结构中经拓扑形成的第n层分层森林是在第(n-1)层分层森林的基础上根据第n层的分层条件而得到的;其中,最低层的分层森林为空;n在最低层到最高层之间取值;所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的;
其中,所述更新拓扑结构的方法包括:
当所述图结构发生变化时,将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整,以使各分层森林符合对应分层的分层条件。
9.根据权利要求8所述的更新拓扑结构的方法,其特征在于,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
10.根据权利要求8所述的更新拓扑结构的方法,其特征在于,还包括以下步骤:更新并存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
11.根据权利要求10所述的更新拓扑结构的方法,其特征在于,所述将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整的步骤包括以下至少一步骤:
依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林,以形成各分层森林的树边;其中,0<i<最高层数;
当所去除的图边属于从第i层分层森林的树边至最高层的分层森林的树边时,依据从所述第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边,0<i≤(i+k)≤h,且h>i,h为分层的最高层数;其中,所述非树边属于图结构中的图边且不属于变化前各分层森林中的树边。
12.根据权利要求11所述的更新拓扑结构的方法,其特征在于,所述将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整的步骤包括:
当在第i层所增加的树边在第(i+m)层上形成环时,依据第(i+m)层的分层森林分层条件,从第(i+m)层分层森林的树边中去除一树边以消除所述环,并更新从第(i+m)层至最高层的各分层森林;其中,0≤m≤(h-i),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+m-1)层分层森林中的边;
依据所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林的各属性集合,从所述图结构中选择非树边增加到从第(i+m+△m)层分层森林至最高层的分层森林中;0≤△m≤(h-i-m),h为分层的最高层数;
从第(i+m+△m)层至最高分层逐层调整数值i以重复执行上述各步骤,直至各分层森林符合相应分层的分层条件。
13.根据权利要求11所述的更新拓扑结构的方法,其特征在于,所述将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整的步骤包括:
当所去除的图边属于从第i层分层森林至最高层的分层森林的树边时,依据所去除的树边所连接的两个点在各分层森林的属性集合,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中以形成树边,0≤k≤(h-i);
当在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层形成环时,依据第(i+k+△k)层的分层森林的分层条件,从其中的第(i+k+△k)层的分层森林的树边中去除一树边以消除所述环,并更新从第(i+k+△k)层至最高层的各分层森林;其中,0≤△k≤(h-i-k),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+k+△k-1)层分层森林中的边;
从第(i+k+△k)层分层森林至至最高层的分层森林,调整数值i以重复执行步骤,直至各层的分层森林符合相应层的分层条件。
14.根据权利要求10所述的更新拓扑结构的方法,其特征在于,所述属性集合包括以下至少一种:
第一集合,包含对应分层的分层森林中的阻隔点;
第二集合,包括所述图结构中的度数高于预设度数阈值的点;
第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;
第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;
第五集合,包括对应分层的各树组件。
15.根据权利要求14所述的更新拓扑结构的方法,其特征在于,所述依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林的步骤包括:
当依据所增加的图边所连接的两点在各分层森林的属性集合确定所述两点在其中第i层分层森林中分属不同树组件时,将所增加的图边加入所述第i层的分层森林及基于第i层森林拓扑得到的各其他层分层森林中。
16.根据权利要求14所述的更新拓扑结构的方法,其特征在于,所述依据从第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层至最高层的各分层森林中,以形成各分层森林的树边包括以下任一种:
当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中第二集合中的非阻隔点时,从相应点所对应的第四集合中选择用于连接第(i+k)层不同树组件的点,并在第(i+k)层增加相应的树边;或者
当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中既不在第一集合中也不在第二集合中,从图结构中选择所述第(i+k)层的分层森林中与所确定的点不在同一树组件的点,并在第(i+k)层增加相应的树边。
17.根据权利要求8所述的更新拓扑结构的方法,其特征在于,所述生成树是近似的最小度生成树。
18.根据权利要求8所述的更新拓扑结构的方法,其特征在于,所述图结构是依据以下任一种形成的:
依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者
依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
19.一种拓扑结构的生成系统,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,其特征在于,所述生成系统包括:
生成模块,用于按照预设的第n层的分层条件,利用所述图结构中的图边,在第(n-1)层分层森林基础上进行拓扑,以得到所述第n层的分层森林;其中,其中,第0层的分层森林为空,n≥1;
拓扑控制模块,用于将n值从1开始递增并重复执行所述生成模块,直至在第h层所形成的分层森林遍历所述图结构中的所有点,以得到所述图结构的生成树;n≤h;
其中,所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的。
20.根据权利要求19所述的拓扑结构的生成系统,其特征在于,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
21.根据权利要求19所述的拓扑结构的生成系统,其特征在于,所述树度差是依据预设的生成树的树度和更新生成树的时间复杂度而设置的。
22.根据权利要求19所述的拓扑结构的生成系统,其特征在于,还包括存储模块,用于存储所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
23.根据权利要求22所述的拓扑结构的生成系统,其特征在于,所述属性集合包括以下至少一种:
第一集合,包含对应分层的分层森林中的阻隔点;
第二集合,包括所述图结构中的度数高于预设度数阈值的点;
第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;
第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;
第五集合,包括对应分层的各树组件。
24.根据权利要求19所述的拓扑结构的生成系统,其特征在于,所述生成树是近似的最小度生成树。
25.根据权利要求19所述的拓扑结构的生成系统,其特征在于,所述图结构是依据以下任一种形成的:
依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者
依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
26.一种更新拓扑结构的系统,应用于基于图结构而构建的网络系统中,其中,所述图结构包含点和连接点的图边,其特征在于,所述更新拓扑结构的方法用于对预先构建的所述图结构的生成树进行更新;其中,对图结构进行逐层拓扑而得到各层的分层森林,所述生成树是最高层的分层森林;其中,在图结构中经拓扑形成的第n层分层森林是在第(n-1)层分层森林的基础上根据第n层的分层条件而得到的;其中,最低层分层森林为空;n在最低层到最高层之间取值;所述第n层的分层条件是基于图结构中的点在第(n-1)层的树度、和该点的在第(n-1)层与第n层之间的树度差而设置的;
其中,所述更新拓扑结构的系统包括:
监测模块,用于监测所述图结构以输出变化指令;
更新模块,用于当接收到所述变化指令时,将随之发生变化的分层森林及基于相应分层森林拓扑得到的各层分层森林进行逐层调整,以使各分层森林符合对应分层的分层条件。
27.根据权利要求26所述的更新拓扑结构的系统,其特征在于,所述第n层的分层条件还包括:在第n层分层森林中分属不同树组件的非阻隔点之间不具备图边。
28.根据权利要求26所述的更新拓扑结构的系统,其特征在于,还包括:存储模块,用于存储更新的所述图结构在各分层森林的属性集合,其中,所述属性集合用于在所述图结构发生变化时更新所述生成树。
29.根据权利要求28所述的更新拓扑结构的系统,其特征在于,所述更新模块用于执行以下至少一步骤:
依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林,以形成各分层森林的树边;其中,0<i<最高层数;
当所去除的图边属于从第i层分层森林的树边至最高层的分层森林的树边时,依据从所述第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边,0<i≤(i+k)≤h,且h>i;其中,所述非树边属于图结构中的图边且不属于变化前各分层森林中的树边。
30.根据权利要求29所述的更新拓扑结构的系统,其特征在于,所述更新模块用于:
当在第i层所增加的树边在第(i+m)层上形成环时,依据第(i+m)层的分层森林的分层条件,从第(i+m)层分层森林的树边中去除一树边以消除所述环,并更新从第(i+m)层至最高层的各分层森林;其中,0≤m≤(h-i),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+m-1)层分层森林中的边;
依据所去除的树边所连接的两个点在第(i+m)层分层森林开始直至最高层的分层森林的各属性集合,从所述图结构中选择非树边增加到从第(i+m+△m)层分层森林至最高层的分层森林中;0≤△m≤(h-i-m),h为分层的最高层数;
从第(i+m+△m)层至最高分层逐层调整数值i以重复执行上述各步骤,直至各分层森林符合相应分层的分层条件。
31.根据权利要求29所述的更新拓扑结构的系统,其特征在于,所述更新模块用于:
当所去除的图边属于从第i层分层森林至最高层的分层森林的树边时,依据所去除的树边所连接的两个点在各分层森林的属性集合,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中以形成树边,0≤k≤(h-i);
当在第(i+k)层分层森林中所加入的树边在第(i+k+△k)层形成环时,依据第(i+k+△k)层的分层森林的分层条件,从其中的第(i+k+△k)层的分层森林的树边中去除一树边以消除所述环,更新从第(i+k+△k)层至最高层的各分层森林;其中,0≤△k≤(h-i-k),h为分层的最高层数;其中,所去除的树边为所述环上的且不属于第(i+k+△k-1)层分层森林中的边;
从第(i+k+△k)层分层森林至至最高层的分层森林,调整数值i以重复执行步骤,直至各层的分层森林符合相应层的分层条件。
32.根据权利要求28所述的更新拓扑结构的系统,其特征在于,所述属性集合包括以下至少一种:
第一集合,包含对应分层的分层森林中的阻隔点;
第二集合,包括所述图结构中的度数高于预设度数阈值的点;
第三集合,包括在对应分层中通过非树边连接第二集合中的某一点的邻居点;其中,所述邻居点还不属于相应分层中的第一集合;
第四集合,包括对应分层的既不属于第一集合也不属于第二集合的点在所述图结构中连接的边;
第五集合,包括对应分层的各树组件。
33.根据权利要求32所述的更新拓扑结构的系统,其特征在于,所述更新模块所执行的依据所增加的图边所连接两点在各分层森林的属性集合,将所增加的图边加入其中第i层分层森林及基于第i层森林拓扑得到的各其他层分层森林的步骤包括:
当依据所增加的图边所连接的两点在各分层森林的属性集合确定所述两点在其中第i层分层森林中分属不同树组件时,将所增加的图边加入所述第i层的分层森林及基于第i层森林拓扑得到的各其他层分层森林中。
34.根据权利要求32所述的更新拓扑结构的系统,其特征在于,所述更新模块所执行的依据从第i层分层森林至最高层的分层森林的各分层条件,从所述图结构中选择非树边增加到从其中第(i+k)层的分层森林至最高层的分层森林中,以形成各分层森林的树边包括以下任一种:
当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中第二集合中的非阻隔点时,从相应点所对应的第四集合中选择用于连接第(i+k)层不同树组件的点,并在第(i+k)层增加相应的树边;或者
当根据所去除的树边所连接的两点的属性信息确定其中一个点属于第(i+k)层的分层森林中既不在第一集合中也不在第二集合中,从图结构中选择所述第(i+k)层的分层森林中与所确定的点不在同一树组件的点,并在第(i+k)层增加相应的树边。
35.根据权利要求26所述的更新拓扑结构的系统,其特征在于,所述生成树是近似的最小度生成树。
36.根据权利要求26所述的更新拓扑结构的系统,其特征在于,所述图结构是依据以下任一种形成的:
依据通信网络系统中各网络节点和节点之间的网络连接关系而产生的,其中,所述图结构中的点为所述网络节点,所述图结构中的边为节点之间的网络连接关系;或者
依据电子地图系统中各位置和位置之间的道路连通关系而产生的,其中,所述图结构中的点为所述位置,所述图结构中的边为位置之间的道路连通关系。
37.一种计算机设备,其特征在于,包括:
存储装置,用于存储一图结构、和至少一个程序;
处理装置,用于与所述存储装置相连,用于执行所述至少一个程序,以协调所述存储装置执行如权利要求1-7中任一所述的拓扑结构的生成方法。
38.一种计算机设备,其特征在于,包括:
存储装置,用于存储一图结构及其生成树,和至少一个程序;
处理装置,用于与所述存储装置相连,用于执行所述至少一个程序,以协调所述存储装置执行如权利要求8-18中任一所述的更新拓扑结构的方法。
39.一种计算机可读存储介质,其特征在于,存储至少一种程序,所述至少一种程序在被调用时执行并实现如权利要求1-7中任一所述的拓扑结构的生成方法、或者实现如权利要求8-18中任一所述的更新拓扑结构的方法。
CN201911203627.6A 2019-11-29 2019-11-29 拓扑结构的生成方法、更新方法、系统及存储介质 Active CN110941886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911203627.6A CN110941886B (zh) 2019-11-29 2019-11-29 拓扑结构的生成方法、更新方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911203627.6A CN110941886B (zh) 2019-11-29 2019-11-29 拓扑结构的生成方法、更新方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110941886A true CN110941886A (zh) 2020-03-31
CN110941886B CN110941886B (zh) 2023-08-29

Family

ID=69909210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911203627.6A Active CN110941886B (zh) 2019-11-29 2019-11-29 拓扑结构的生成方法、更新方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110941886B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137405A (zh) * 2010-06-01 2011-07-27 华为技术有限公司 一种构造网络拓扑结构的方法及装置
CN107239515A (zh) * 2017-05-23 2017-10-10 华中科技大学 一种基于四维索引的大规模图的可达查询方法和系统
US20180218055A1 (en) * 2017-01-27 2018-08-02 Sap Se Design for hierarchical computations of nodes having non-tree topologies in relational database management systems
CN109257749A (zh) * 2018-09-05 2019-01-22 中国人民解放军陆军工程大学 面向动态拓扑的无线传感器网络自适应分层入侵检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102137405A (zh) * 2010-06-01 2011-07-27 华为技术有限公司 一种构造网络拓扑结构的方法及装置
US20180218055A1 (en) * 2017-01-27 2018-08-02 Sap Se Design for hierarchical computations of nodes having non-tree topologies in relational database management systems
CN107239515A (zh) * 2017-05-23 2017-10-10 华中科技大学 一种基于四维索引的大规模图的可达查询方法和系统
CN109257749A (zh) * 2018-09-05 2019-01-22 中国人民解放军陆军工程大学 面向动态拓扑的无线传感器网络自适应分层入侵检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴培宁;谭建荣;刘振宇;冯义雄;: "基于Voronoi图的环评等值线快速拓扑填充" *
陶翼;王东;: "生成Internet As级拓扑图的Core-Tree算法研究" *
雷蕾;张春环;纪越峰;: "分层网络中用于生成树抽象的优化方法" *

Also Published As

Publication number Publication date
CN110941886B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN109104464B (zh) 一种边缘计算环境下面向协同存储的分布式数据更新方法
JP2004208297A (ja) ツリートポロジーネットワークのデバイスの高速選択システムおよび方法
CN111181792B (zh) 基于网络拓扑的sdn控制器部署方法、装置及电子设备
US11652709B2 (en) Managing computation load in a fog network
CN112543151B (zh) Sdn控制器部署方法、装置、电子设备和存储介质
Rahman et al. Notice of violation of IEEE publication principles: clustering schemes in MANETs: performance evaluation, open challenges, and proposed solutions
Arkian et al. FcVcA: A fuzzy clustering-based vehicular cloud architecture
Hu et al. Software defined multicast for large-scale multi-layer leo satellite networks
CN112073983B (zh) 基于流量预测的无线数据中心网络拓扑优化方法及系统
Bendjima et al. Optimal itinerary planning for mobile multiple agents in WSN
CN110941886A (zh) 拓扑结构的生成方法、更新方法、系统及存储介质
Nahar et al. MPF-LEACH: modified probability function for cluster head election in LEACH protocol
Hayashi et al. Geographical effects on the path length and the robustness in complex networks
Saxena A survey of evolving models for weighted complex networks based on their dynamics and evolution
KY et al. Distributed optimization in transportation and logistics networks
Marza et al. A new Peer-to-Peer topology for video streaming based on complex network theory
CN110086654B (zh) 软件定义数据中心下基于可靠性的主备控制器部署方法
Guan et al. Multidimensional Resource Fragmentation-Aware Virtual Network Embedding for IoT Applications in MEC Networks
Cascone et al. Decentralized optimal routing for packets flow on data networks
Makikawa et al. Balance and proximity-aware Skip Graph construction
Rathod et al. Relay placement algorithms for IoT connectivity and coverage in an outdoor heterogeneous propagation environment
Assareh et al. A novel many-objective clustering algorithm in mobile ad hoc networks
Sheena et al. An efficient energy consumption model using data aggregation for wireless sensor network
CN108111418B (zh) 一种通信系统、一种数据传输方法及节点
Mahmood et al. Reliability evaluation using a clustering technique based on tie-set method

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231113

Address after: 210046 6th floor, building C21, Zidong International Creative Park, 2 Zidong Road, Maqun street, Qixia District, Nanjing City, Jiangsu Province

Patentee after: TULING ARTIFICIAL INTELLIGENCE INSTITUTE (NANJING) Co.,Ltd.

Patentee after: TSINGHUA University

Address before: 210046 601 room, No. 6, Qi Min Road, Xianlin street, Qixia District, Nanjing, Jiangsu, China. 6

Patentee before: TULING ARTIFICIAL INTELLIGENCE INSTITUTE (NANJING) Co.,Ltd.

TR01 Transfer of patent right