本发明专利技术提供了一种网络拓扑放缩时保持流量状态的方法,所述方法包括:为拓扑节点和流量设置可视层坐标与隐藏层坐标,汇聚节点集合,节点分层过滤,为除层级属性最高点之外的拓扑节点添加缩放动作,计算流量流动比例,换算相对位置映射至视图层。通过本发明专利技术找出流量在收缩过程中的中间态坐标,渲染中间态坐标而得到连贯的收缩和展开动画,并通过视图层坐标与隐藏层坐标结合的技术方案,得到流量在拓扑放缩过程中中间态坐标计算逻辑,保持流量在节点缩放过程中正确流动与还原。点缩放过程中正确流动与还原。点缩放过程中正确流动与还原。
【技术实现步骤摘要】
一种网络拓扑放缩时保持流量状态的方法
[0001]本专利技术属于拓扑结构分析领域,特别涉及一种网络拓扑放缩时保持流量状态的方法。
技术介绍
[0002]网络拓扑图是观察网络各组成部分状态与性能的强有利分析工具。拓扑图中各节点相互连接并在相互之间传输数据与交互,进而使网络拓扑图拥有了可高效感知、可自由交互的特点。
[0003]在庞大的网络拓扑图中,可能存在大量的节点在较短的时间内进行流量的传输,但因当前解决方案的性能上限,直接导致数据的观察与记录并不能高效进行。从而实现能够对这一类高并发的数据进行选择性观察、收集、统计并分析的网络拓扑平台具有必要性。
[0004]当前制作拓扑图主要有两种方法:
[0005]1)商业化的实现,如NetworkX、Cacti等拥有专有的图像引擎,可为使用者提供基于不同数据的各类图表的展示。NetworkX被广泛使用在各类学科的可视化工程中,但却在动态与交互能力上有一定不足。NetworkX为使用者提供了有限的配置项,同时对使用场景也有一定要求,这导致了使用该工具得到的拓扑图必须经过开发者二次包装才能达到多使用场景适配,而这种方案必然带来性能的损失,同时使交互能力大打折扣。Visio是Microsoft Office软件系列中的负责绘制流程图和示意图的软件,同时该工具支持由宏自动绘制拓扑图。但Visio的动态与交互能力极弱,只适用于静态可视化拓扑图。
[0006]2)可视化图表库实现,此类工具库的代表为Apache开源基金会的ECharts、蚂蚁金服公司的AntV、国外的HighCharts工具库等。此类图表工具库强调了工具的特性,同时面向当前主流MVVM(Model
‑
View
‑
ViewModel)框架,主要致力于提供图表类库的使用而非完整的业务方案。在用户使用时,仅需按照各家工具库的使用标准提供数据信息,即可快速获得对数据的可视化结果。但此类工具库也有明显弊端,工具库严格限制了使用使用方法与接口。未能对市面上存在的主要特性间具有差别的设备提供不同的渲染机制,这也导致了工具库不能提供高灵活性。同时这类图表工具库的上限完全取决于各家公司开放的接口,而并不能完全满足使用者的高需求。
[0007]基于现有工具实现的拓扑图中,最为接近此功能的实现是AntvG6图表库。在AntvG6中所实现的辐射树可以通过点击来汇聚某个拓扑节点其它分支,但在此树形结构中无法添加流量。而在AntvG6中的实现有流量的图表中则无法实现拓扑图中节点的放缩动作。
技术实现思路
[0008]有鉴于现有技术的上述缺陷,本专利技术的目的在于提供一种网络拓扑放缩时保持流量状态的方法,通过视图层坐标与隐藏层坐标结合的方式得到流量在拓扑放缩过程中中间态坐标计算逻辑。在拓扑节点放缩过程中保持流量正确流动与还原。
[0009]为了达到本专利技术的目的,本专利技术采用以下技术方案实现:
[0010]一种网络拓扑放缩时保持流量状态的方法,该方法包括以下步骤:
[0011]步骤1)为拓扑引擎中的每个节点与流量提供可视层坐标和隐藏层坐标;
[0012]步骤2)汇聚节点集合,收缩扩放动画开始前收集所有涉及本次拓扑收缩或扩放动作的节点作为一个节点集合;
[0013]步骤3)节点分层过滤,基于拓扑节点的层级属性,在步骤2)所述节点集合中找出层级属性最高的节点,作为后续汇聚或展开的关键点;
[0014]步骤4)拓扑节点放缩动作,除所述关键点其余节点寻找与自身相邻的最高层级节点,添加每个节点向与自身相邻的最高层级属性节点移动动画与回到原坐标的动作;完成聚拢后由于边的隐藏导致流量也因此被隐藏,达到汇聚拓扑节点与边的效果;
[0015]步骤5)计算流量流动比例,通过隐藏层计算得出流量在所在边中已完成流动的部分与整个边长度的比例,因为拓扑节点放缩过程中视图层对应的比例与隐藏层中的比例保持一致,所以通过此关系基于隐藏层绘制视图层中的比例关系;
[0016]步骤6)换算相对位置映射至视图层,节点缩放前,通过视图层中流量所在边两端节点的坐标与步骤5)所述流量流动比例计算获得流量在视图层中的位置坐标,节点缩放时,流量在边已完成流动的部分与整个边的长度比例在视图层与隐藏中都保持动态的一致,用比例与通过视图层中流量所在边两端节点的坐标换算,得到流量在视图层中应在的坐标位置,再进行绘制,保持了流量正确流动与还原。
[0017]进一步的,所述步骤1)中,将所有拓扑节点设置处于完全展开状态的隐藏坐标层;
[0018]进一步的,所述步骤1)中,所有的操作都将是首先对隐藏层实施,随后将实施结果结合具体操作映射到可视层。
[0019]进一步的,所述步骤4)中,收缩动作时每个节点都往自身相邻的最高层级节点汇聚,而被汇聚的节点也在最终向所有涉及本次拓扑节点中最高层级属性的节点移动,从而所有节点能够向层级属性最高的点聚拢。
[0020]进一步的,所述步骤4)中,扩放动作中,为每个被收缩的节点添加回到在隐藏层中坐标的动作,可实现节点的扩放还原。
[0021]进一步的,所述步骤4)中,收缩动作,则针对步骤2)所述节点汇集集合以及相关联的边进行拓扑节点和边的隐藏;扩放动作,则针对步骤2)所述节点汇集集合以及相关联的边进行拓扑节点和边的还原;
[0022]进一步的,所述步骤4)中,层级属性最高节点接替其余节点的流量传递与边连接,在此过程中由于节点最后重叠,导致拓扑边的长度为0,则可从视图层将此边隐藏达到汇聚拓扑节点与边的效果,同时保持了流量的正确流动;
[0023]进一步的,所述步骤5)中,计算流量在所在边中已完成流动的部分与整个边长度的比例的方法为:首先,得到流量在下一帧中的坐标,流量在隐藏层坐标系中的坐标,隐藏层坐标中流量所在边的两个端点的坐标,从这三个坐标;然后,流动比例=流量已完成流动距离/流量隐藏层所在边长度;
[0024]本专利技术的有益效果是:
[0025]1、通过使用隐藏层坐标与可视层坐标的结合,同时实现拓扑放缩与动态流量可视化;
[0026]2、能够正确显示和还原在节点放缩过程流量的中间态坐标;
[0027]3、拓扑放缩过程中依然保持流量的正确流动。
附图说明
[0028]图1是本专利技术方法流程图;
[0029]图2是本专利技术计算流量流动比例的示意图;
[0030]图3是本专利技术展示效果的简易的拓扑示例;
具体实施方式
[0031]下面对本专利技术的实施例作详细说明,下述的实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。
[0032]图1是本专利技术方法流程图,其包括6个阶段:阶段1是为拓扑节点和流量设置可视层坐标与隐藏层坐标;阶段2是汇聚节点集合;阶段3是节点分层过滤;阶段4是拓扑节点放缩动作,包括为除层级属性最高点之外的拓扑节点添加收缩或扩放动作;阶段5是计算流量流动比例;阶段本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种网络拓扑放缩时保持流量状态的方法,其特征在于:包括以下步骤:步骤1)为拓扑引擎中的每个节点与流量提供可视层坐标和隐藏层坐标;步骤2)汇聚节点集合,收缩扩放动画开始前收集所有涉及本次拓扑收缩或扩放动作的节点作为一个节点集合;步骤3)节点分层过滤,基于拓扑节点的层级属性,在步骤2)所述节点集合中找出层级属性最高的节点,作为后续汇聚或展开的关键点;步骤4)拓扑节点放缩动作,除所述关键点其余节点寻找与自身相邻的最高层级节点,添加每个节点向与自身相邻的最高层级属性节点移动动画与回到原坐标的动作;完成聚拢后由于边的隐藏导致流量也因此被隐藏,达到汇聚拓扑节点与边的效果;步骤5)计算流量流动比例,通过隐藏层计算得出流量在所在边中已完成流动的部分与整个边长度的比例,因为拓扑节点放缩过程中视图层对应的比例与隐藏层中的比例保持一致,所以通过此关系基于隐藏层绘制视图层中的比例关系;步骤6)换算相对位置映射至视图层,节点缩放前,通过视图层中流量所在边两端节点的坐标与步骤5)所述流量流动比例计算获得流量在视图层中的位置坐标,节点缩放时,流量在边已完成流动的部分与整个边的长度比例在视图层与隐藏中都保持动态的一致,用比例与通过视图层中流量所在边两端节点的坐标换算,得到流量在视图层中应在的坐标位置,再进行绘制,通过视图层坐标与隐藏层坐标结合的方式得到流量在拓扑放缩过程中中间态坐标计算逻辑,保持了流量正确流动与还原。2.根据权利要求1所述的一种网络拓扑放缩时保持流量状态的方法,其特征在于:所述步骤1)中,将所有拓扑节点设置处于完全展开状态的隐藏坐标层。3.根据权利要求1所述的一种网络拓扑放缩时保持流量状态的方法,其特征在于:所述步骤1)中,所有的操作都将是首先对隐藏层实施,随后将实施结果结合具体操作映射到可视层。4.根据权利要求1...
【专利技术属性】
技术研发人员:姜誉,孙彦斌,李默涵,田志宏,加莎热提,
申请(专利权)人:广州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。