CN112860965B - 一种基于日志的网络模拟可视化仿真平台 - Google Patents
一种基于日志的网络模拟可视化仿真平台 Download PDFInfo
- Publication number
- CN112860965B CN112860965B CN202011631503.0A CN202011631503A CN112860965B CN 112860965 B CN112860965 B CN 112860965B CN 202011631503 A CN202011631503 A CN 202011631503A CN 112860965 B CN112860965 B CN 112860965B
- Authority
- CN
- China
- Prior art keywords
- simulation
- log
- network
- module
- event
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 163
- 230000000007 visual effect Effects 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004140 cleaning Methods 0.000 claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 238000012800 visualization Methods 0.000 claims description 61
- 230000006854 communication Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 239000000463 material Substances 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 2
- 210000001503 joint Anatomy 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims description 2
- 230000006399 behavior Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004886 process control Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 208000018747 cerebellar ataxia with neuropathy and bilateral vestibular areflexia syndrome Diseases 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于日志的网络模拟可视化仿真平台,包括:获取模块,用于获取网络模拟的日志文件;网络绘制模块,用于绘制网络模拟对应的网络,所述网络包含由节点组成的组内网络和组间网络;日志解析模块,用于依据自定义的日志格式将获得的网络模拟的日志文件进行解析,生成全局日志集;时间轴模块,用于创建全局统一的时间轴,并将全局日志集中事件对象按照时间换分后纳入时间轴;流程控制模块,用于承接时间轴模块,负责可视化仿真过程的进度控制;基础操作模块,用于负责网络模拟的仿真,包括事件处理,节点状态转换、动画绘制、画布清理以及仿真结果展示。实现对网络模拟结果的可视化仿真。
Description
技术领域
本发明属于网络模拟和可视化领域,具体涉及一种基于日志的网络模拟可视化仿真平台。
背景技术
在进行网络模拟时,为了测试或者演示的需求,通常需要对模拟结果进行可视化的仿真。在网络模拟平台中,NS-3是一个优秀的开源网络模拟平台,其本身支持的可视化工具有两种,一为PyViz可视化模块、一种是NetAnim可视化模块。
PyViz可视化模块作为一个基于Python编写的数据可视化模块,与连接平台无关,不过由于NS-3提供了完整的Python接口,因此常被用于网络模拟的可视化模块。作为官方支持的可视化模块之一,PyViz可直接与NS-3中嵌入的接口互动,因此无需任何中间日志、调试文件,可以直接在NS-3应用中创建可视化窗口,并动态展示网络的运行情况。
PyViz可视化模块与平台的关系图8所示,其中GTK+、GooCanvas和Cairo为可视化模块依赖的窗体、画布和绘图组件,用于显示可视化结果。PyViz可视化模块在NS-3应用启动时,自动扫描系统的全局拓扑,并将其转换成各种基本图形绘制在画布上。随后PyViz可视化会在主模拟线程中插入一个锁,并交给专门的可视化线程控制。可视化线程将锁释放给主线程后,主线程自动执行100毫秒的模拟动作,随后将锁交还给可视化线程。可视化线程会自动收集在这段时间内系统的运行情况,展示节点的最新位置,同时用箭头连接节点的消息通信。两个进程按照上述的逻辑循环获取锁,即可实现连续的可视化过程。
PyViz可视化模块还支持对模拟过程的简单控制,如变速、暂停等。默认情况下该模块支持节点之间的相对位置、节点之间的通信动作及数据传输速率节点自身的属性,如运动状态等信息的展示,还可以通过自行编写插件的方式,支持更加复杂的数据可视化。
NetAnim可视化模块作为NS-3官方支持的另一款可视化模块,基本功能与PyViz可视化模块相同,但在实现原理上有所差异,主要有以下几点:(1)NetAnim可视化模块是专为NS-3设计的可视化模块,基于Qt实现;NetAnim可视化模块并非实时仿真,而是通过日志的形式实现可视化,即通过官方的接口在系统运行、调试过程中生成一系列日志文件,模块可以利用这些文件完成离线的可视化仿真;(3)除基本的网络拓扑、通信状态展示外,该模块针对网络模拟的特点提供了一系列专用的图形模板,如数据包统计、路由表展示、时序图绘制等高级功能。
NS-3为NetAnim可视化模块提供了自动化的集成,只需在模拟开始前启用NetAnim可视化模块,即可将模拟过程中的网络活动全部记录下来,供NetAnim可视化模块使用。同时根据实际需要还可对日志中数据包的类型、粒度进行过滤,以免多余的消息对可视化造成干扰。
但是,PyViz可视化模块和NetAnim可视化模块在对网络模拟进行可视化时,也存在以下缺点:
(1)PyViz可视化模块,通过拦截模拟进程的方式实现内嵌的可视化,虽然获得了更好的实时性,但不可避免会对系统的性能造成影响。模拟平台中的时间并不代表真实的物理运行时间,因此追求实时性意义不大,反而这种破坏原有程序运行节奏的模拟方式,可能会对系统的稳定性造成损害。
(2)虽然NetAnim可视化模块采用了基于日志的离线分析方式,但其主要的关注点在于网络通信本身,层次较低。对于网络应用的模拟,需要更高层次信息的可视化,而不仅仅是底层的通信信息。
(3)现有的可视化模块多与相应的模拟平台耦合程度较高,适用范围较小,可扩展性不足,为系统的调试也带来了一定的不便。
发明内容
鉴于上述,本发明的目的是提供了一种基于日志的网络模拟可视化仿真平台,实现对网络模拟结果的可视化仿真。
为实现上述发明目的,本发明提供以下技术方案:
一种基于日志的网络模拟可视化仿真平台,包括:
获取模块,用于获取网络模拟的日志文件;
网络绘制模块,用于绘制网络模拟对应的网络,所述网络包含由节点组成的组内网络和组间网络;
日志解析模块,用于依据自定义的日志格式将获得的网络模拟的日志文件进行解析,生成全局日志集;
时间轴模块,用于创建全局统一的时间轴,并将全局日志集中事件对象按照时间换分后纳入时间轴;
流程控制模块,用于承接时间轴模块,负责可视化仿真过程的进度控制;
基础操作模块,用于负责网络模拟的仿真,包括事件处理,节点状态转换、动画绘制、画布清理以及仿真结果展示。
优选地,所述网络绘制模块的工作流程包括:
从模拟网络中读取节点规模,并为模拟网络创建画布;
绘制组间网络节点集并绑定点击事件;
绘制组内网络节点集并配置特殊节点,在组内网络节点绘制完毕时显示绘制的网络图。
本发明中,点击事件是指通过点击操作显示的相关节点的情况说明,例如可以为点击组间应用的节点便在窗口相应区域显示该组所有节点及组内通信的情况,特殊节点是指具有区别于其他节点具有特殊功能的节点,例如可以为每个小组的组长节点。
优选地,在绘制节点时,为每个节点配置一个为全局标识符;默认显示情况下,网络图中呈现全局的组间网络和第一组的组内网络,其他组内网络处于隐藏状态,处于隐藏状态的组内网络通过被选择可视化呈现。
优选地,依据日志类型配置不同的日志格式;
针对节点通信消息日志,日志格式包括类型、源节点、目标节点、时间戳和内容;
针对节点应用行为日志,日志格式包括类型、行为发生时间和应用行为内容。
优选地,所述日志解析模块的工作流程包括:
读取日志文件的每条日志记录,依据日志格式解析日志记录,当日志记录对应为独立事件时,依据日志记录创建事件对象并存入全局日志集;
当日志记录对应为关联事件时,对日志记录进行缓存,当关联事件对应的日志记录完整后,依据完整的日志记录创建事件对象并存入全局日志集;
当日志记录对应为需要使用存储的特殊事件,为日志记录创建存储对象并存储后,存入全局日志集。
优选地,所述时间轴模块为创建的时间轴配置播放速度,对纳入时间轴的事件对象进行合并、过滤和/或拆分。
优选地,所述时间轴模块的工作流程包括:
初始化新时间轴,创建并进入时间起点;当不需要过滤的日志记录,当同时满足时间点范围和密度要求时,将日志记录对应的时间对象加入当前时间点;
当不需要过滤的日志记录不符合时间点范围和密度要求中的任意一条,则创建新时间点,并将日志记录对应的时间对象加入新时间点。
优选地,所述流程控制模块通过定时器控制网络模拟的事件处理、节点状态转换、动画绘制、画布清理以及仿真结果展示。
优选地,所述事件处理包括对单一事件进行解析和绘制,具体过程为:解析事件参数并定位目标节点,在目标节点与相邻节点对应的已有事件关联且满足合并标准时,修改已有事件对应的消息参数,否则为目标节点创建新消息和配置消息参数;然后依据消息参数绘制消息和动画;
所述节点状态转换包括根据节点的事件处理结果配置节点的显示属性以区分节点类型;
所述动画绘制包括为新消息绘制动画,以动态展示消息的传递方向;
所述画布清理包括删除的消息元素、删除缓存和仿真结果,具体过程为:提取所有定时器,终止有效定时器,并清理所有动画,删除有效消息,清理仿真结果,清理缓存后恢复时间轴;
所述仿真结果展示包括展示仿真结果。
本发明中,符合合并标准的消息可以由用户自行定义,比如发生时间相近的消息,或者是相同一对节点间消息类型相同的消息,等等。
优选地,基于日志的网络模拟可视化仿真平台还包括窗体引擎、图形库和基本组件;
所述窗体引擎与操作系统对接,允许应用程序创建、管理系统窗口,并在窗口进行绘制实现可视化仿真;
所述图形库提供可视化仿真需要的图形素材;
所述基础组件为窗体引擎相关的一组控件,用于提供基本的画布、文本框及按钮。
与现有技术相比,本发明具有的有益效果至少包括:
本发明提供的基于日志的网络模拟可视化仿真平台通过离线的方式进行网络模拟结果的可视化仿真,不影响网络模拟的性能与稳定性;通过自定义的日志格式来对网络应用信息进行可视化,而不仅仅局限于底层的网络通信模拟;不依赖于网络模拟平台,只要获取网络模拟的日志文件,即可以利用相应的日志格式便可以进行网络模拟结果的可视化仿真。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例提供的基于日志的网络模拟可视化仿真平台的结构示意图;
图2是本发明实施例提供的网络绘制模块的工作流程图;
图3是本发明实施例提供的日志解析模块的工作流程图;
图4是本发明实施例提供的时间轴模块的工作流程图;
图5是本发明实施例提供的流程控制模块的工作流程图;
图6是本发明实施例提供的事件处理的流程图;
图7是本发明实施例提供的画布清理的流程图;
图8是本发明背景技术提供的PyViz可视化模块与平台关系图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
为了实现对网络模拟结果的可视化仿真,实施例提供了一种基于日志的网络模拟可视化仿真平台,如图1所示,包括网络绘制模块、日志解析模块、时间轴模块、流程控制模块、基础操作模块、图形库、基本组件以及窗体引擎。基于这些模块,实现完整的仿真流程,具体包括:首先需要绘制系统运行的网络图,随后读取网络模拟过程中的日志,按照约定的日志格式解析,形成基于事件集的时间序列,最后利用循环的控制逻辑,调用各种绘图操作将事件绘制在网络中即可,下面针对每部分进行详细说明。
网络绘图模块
平台在启动时,首先需要绘制网络模拟过程中的所有网络,在这里以两级分层的网络作为示例,包括若干组内网络和虚拟的组间网络,每个节点都处于某个组内,参与一个组内网络的通信,并且某些节点还会参与一个组间的网络通信。当然,本发明可以使用于不同的网络场景,这里只是以这个作为示例以介绍网络绘图模块。初始状态下网络只包括若干无差别的节点,以及所有网络共享的安全通信节点,该模块根据网络的规模、平台的运行参数,将节点渲染在对应的画布上,并为节点分配统一的全局标识符。平台默认情况下只展示全局的组间网络、第一组组内网络,其他网络均处于隐藏状态,可由使用者手动切换。由于本文设计时使用的网络仿真应用不关心节点的相对位置,因此所有节点将以圆、矩形或正方形轮廓均匀排布。网络绘图模块的基本工作流程图2所示。
日志解析模块
在基本的网络结构绘制完毕后,需要对系统的运行结果进行分析,才能将描述性的文本转换成可视化仿真平台中的事件对象。日志解析模块是整个平台的基础,后续的流程控制和基础操作都是基于解析的结果进行的。该模块首先读入文件,随后对其进行逐条扫描,根据日志的类型、内容,创建对应的仿真事件。
通常情况下,日志解析模块需要处理的记录有两类。大多数日志记录都是互相独立的,即分别构成独立的事件,无相互作用,此类记录只需要生成新的事件并放入日志事件存储中即可。还有少部分记录是有关联性的,即在某一时刻只发生了该事件的一部分,需要等到将来的某个时刻该事件才能完成,在这种情况下就必须针对具体的事件类型设置缓存,确保这些记录的成对处理。此外对于需要使用存储的特殊事件,日志解析模块会自动为其构建完整的存储,以供后续仿真过程中直接调用。日志解析模块的基本工作流程图3所示。
本发明的可视化仿真平台基于网络事件模拟时产生的日志,这些日志的格式可以根据网络应用的不同需求而自定义设计和解析。日志基本上可以分为两类,一类是节点通信消息日志,另一类是使用者根据不同的节点应用产生的应用行为日志,期望在可视化仿真中显示的其他内容的日志。这些日志在系统执行至具体的操作时触发,被模拟系统以文件的形式记录下来。
节点间的通信是网络应用运行的基础,因此通信日志所占比重很高,节点通信日志的基本格式如表1所示。
表1
类型用于表示日志的基本动作,对不同的网络应用,通信消息的类型可能会不同,用type字段进行区分。需要注意的是,表1中的内容并不是消息的完整内容,而是使用者需要在可视化仿真平台中显示的内容。
源节点、目的节点为仿真平台节点的标识符,在这里用两级分组的节点作为示例,因此可以用两个数字分别代表组号和节点在组内的编号来唯一确定一个节点实体,组号、节点编号从1开始递增。
时间戳来自网络模拟系统的时钟,不同的网络模拟平台都有相应的模拟时钟来模拟真实场景下的网络通信时间。模拟时钟的原点表示系统开始运行的时刻,一般情况下模拟时钟与物理时钟不完全对应,网络模拟过程也不会直接从原点开始。内容是对消息的具体说明,可以是描述性的文字直接展示在可视化仿真平台上,也可以是针对类型特点需要进一步解析的内容。
除了消息通信外,使用者可能还需要在可视化仿真平台中显示节点应用的某些特定行为。这些过程并不以通信的形式体现,因此必须为其设计专门的日志格式,这也是NS-3内置的可视化模块不足的部分。网络应用特定行为的展示也不同于消息的展示,需要通过相对应的方式进行展示,比如数值显示、图形状态变化等,而并非简单的一条基于有向箭头的消息。
节点应用行为的日志同样包括上表中的type、timestamp、content字段的内容,分别表示行为的类型、行为发生时间以及其他需要在可视化平台中显示的应用行为内容,并可以根据需求对日志格式进行修改,如添加字段等。
时间轴模块
时间轴模块是日志解析、流程控制的中介。该模块首先建立全局统一的时间轴结构,根据日志解析的结果对全局日志集进行归类,将孤立的事件按时间进行划分后纳入时间轴,确立整个仿真过程的时序关系。在随后的仿真过程中,控制控制模块可根据时间轴提供的仿真间隔,对事件组合后按批次展示,以达到可视化的目的。
由于网络仿真应用中,推进的流程通常很迅速,很难按照实际速率展示,因此时间轴首先需要确定一个合理的播放速度,这一速度是归类的基础。同时还可以根据日志记录的分布情况,对于那些短时间内发生的大量消息,时间轴模块可以对其进行合并、过滤、拆分等操作,在不违背系统实际运行情况的前提下,要让可视化过程做到尽可能的直观、简洁。
时间轴的内容不应出现在展示界面中,但需要提供时间控制的功能,例如以类似播放器进度条的方式,提示用户当前的仿真进度,同时允许用户手动跳转到任意的进度位置。由于本平台的设计是无状态的,存储状态独立计算,时间点之间也没有依赖,因此只需修改当前的时间点并刷新仿真进程,就可以很容易实现进度变更,而不会对仿真的正确性、连续性造成任何影响。时间轴模块的基本工作流程如图4所示。
流程控制模块
流程控制模块承接时间轴模块,负责可视化仿真过程的进度控制。在平台全局的时间轴中存储着时间点、事件的对应关系,因此控制模块负责根据当前的仿真时间调取对应的日志记录,并将用基础操作模块提供接口绘制出来。流程控制模块负责维护一个仿真过程中的主循环,在该循环中按时间顺序展示事件。流程控制模块在每个时间点对应的循环开始前,首先恢复网络状态,再进行事件的绘制操作,以实现连贯展示的效果。
为了实现更加灵活的进程控制,仿真的主循环是利用定时器实现的。在仿真开始前平台首先触发初始化定时,本轮无绘制任务,只是完成准备工作,并设定在某一时间间隔后触发首个时间点。在该时间点对应的事件绘制完毕后,控制模块按照相同的时间间隔标准,继续设定下一个定时器,就可以确保仿真过程稳定有序地推进下去。在此基础上如需终止仿真过程,只需清除系统中的定时器并清空网络状态即可。
此外,进程控制还负责解析当前的状态,即根据本轮事件集合中的存在的特征日志,判定组内、系统全局的运行阶段,并展示出来。对于那些需要展示特定运行结果的网络应用模拟任务,相关的解析和绘制工作也是由该模块统一管理的。流程控制模块的基本工作流程如图5所示。
基础操作模块
流程控制模块只负责把控整体的仿真进程,不涉及具体的绘制动作,这些动作被统一封装起来,成为独立的基础操作模块。该模块主要负责通信消息、节点状态、应用特定结果等具体可视化组件的绘制工作,属于比较细节的具体任务。下面将简要介绍仿真平台中使用的主要基础操作:事件处理操作、节点状态转换操作、动画绘制操作、画布清理操作以及仿真结果展示操作。
针对事件处理操作,流程控制模块主要针对的时间点上的时间集合,不涉及特定的事件,具体的工作是由基础操作模块中的相关功能完成的。因此,事件处理功能每次只针对单一的事件进行解析、绘制,不涉及事件之间的关系。
在进行事件处理时,模块首先判断事件的类型,选择对应的表示方式,并定位到所在的组,找出事件相关的节点。随后判断节点之间的事件情况,如已存在其他事件,则可根据需要与旧事件合并,也可以为新事件绘制独立消息。事件处理操作的基本工作流程如图6所示。
事件处理还包括一个配套的反向功能,即清除某一特定事件。该功能负责将该事件对应的消息从画布上清除,同时还原节点被更改的状态。对于涉及存储等有状态的事件,事件处理功能只负责处理基本的消息部分,其他工作需要由流程控制模块根据整体情况自行完成。
针对节点状态转换操作,节点状态转换是最为基础的功能之一,主要负责改变节点的外观,以突出网络模拟的各个过程,起到更好的可视化效果。由于平台的所有节点无状态,因此在每个时间点开始时都会被恢复为默认样式,随后由事件处理功能根据具体需要,对节点的显示属性进行配置,以区分正在通信的节点、展示详情的节点、具有领导地位的节点等不同情况。根据平台的设计,用于区分节点状态参数主要包括:节点颜色、节点大小、节点边框等,基于不同的组合可以表达不同的节点状态。
此外,本平台还有与组、系统状态转换相关的功能,但由于网络模拟的不同阶段通常是由多条消息共同体现的,因此也由流程控制模块直接处理。
针对动画绘制操作,为了直观地展示节点直接的通信过程,平台还为消息引入了动画。当新的消息产生后,还需要为其绘制配套的动画,以动态展示消息的传递方向。该功能与事件处理功能相对独立,只要提供具体的消息对象,即可全自动完成绘制,因此在事件处理过程中可以无需关心动画的细节。平台本身不提供动画效果,因此该功能以接口形式提供,可根据待仿真系统的需要,进行有针对性的实现。
针对画布清理操作,在每个时间点的起始位置,都必须将画布恢复到初始状态,因此这一功能十分重要。画布清理功能不仅仅是为了删除网络上多余的消息元素,同时还要将网络配套的所有缓存、参数还原,保证新的绘制不会被遗留内容干扰。该功能在启动时会将平台中所有定时器清空,以避免发生冲突,随后,先为所有消息终止动画过程,再将详细对应的有向连线全部清理。此外,如果有节点并未处于默认的状态,也需要全部予以恢复,对于需要展示网络应用特定结果的系统,也必须将存储和展示区全部清空。画布清理操作的基本工作流程如图7所示。
仿真结果展示操作
该过程对应了日志中表示了节点应用行为的日志,根据不同的用户需求,可以在可视化仿真平台中进行网络应用模拟运行过程中产生的特定结果的展示。该流程的实现与上述的几个过程基本一致,只是在展示的时候设计特定的展示方法,如显示数字等,在这里不再赘述。
窗体引擎
窗体引擎是可视化仿真平台的基础,提供与操作系统的对接,可以让应用程序创建、管理系统窗口,并在窗口中绘制需要的内容。如果选择支持跨平台的窗体引擎,最后实现的程序将支持多种操作系统。
基本组件
基本组件与窗体引擎相关的一组控件,用于提供基本的画布、文本框及按钮等组件,以便于程序在此基础上构建复杂的界面;
图形库
可视化仿真平台中的元素都是由各种图形、符号表示的,而图形库提供相关的素材,用于绘制平台中的节点、消息等基本概念,一个设计优良的图形库可以帮助平台快速实现所需效果。
实施例提供的基于日志的网络模拟可视化仿真平台通过离线的方式进行网络模拟结果的可视化仿真,不影响网络模拟的性能与稳定性;通过自定义的日志格式来对网络应用信息进行可视化,而不仅仅局限于底层的网络通信模拟;不依赖于网络模拟平台,只要获取网络模拟的日志文件,即可以利用相应的日志格式便可以进行网络模拟结果的可视化仿真。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于日志的网络模拟可视化仿真平台,其特征在于,包括:
获取模块,用于获取网络模拟的日志文件;
网络绘制模块,用于绘制网络模拟对应的网络,所述网络包含由节点组成的组内网络和组间网络;
日志解析模块,用于依据自定义的日志格式将获得的网络模拟的日志文件进行解析,生成全局日志集;其中,依据日志类型配置不同的日志格式;针对节点通信消息日志,日志格式包括类型、源节点、目标节点、时间戳和内容;针对节点应用行为日志,日志格式包括类型、行为发生时间和应用行为内容;
时间轴模块,用于创建全局统一的时间轴,并将全局日志集中事件对象按照时间划分后纳入时间轴;
流程控制模块,用于承接时间轴模块,负责可视化仿真过程的进度控制;
基础操作模块,用于负责网络模拟的仿真,包括事件处理,节点状态转换、动画绘制、画布清理以及仿真结果展示;
其中,所述事件处理包括对单一事件进行解析和绘制,具体过程为:解析事件参数并定位目标节点,在目标节点与相邻节点对应的已有事件关联且满足合并标准时,修改已有事件对应的消息参数,否则为目标节点创建新消息和配置消息参数;然后依据消息参数绘制消息和动画;
所述节点状态转换包括根据节点的事件处理结果配置节点的显示属性以区分节点类型;
所述动画绘制包括为新消息绘制动画,以动态展示消息的传递方向;
所述画布清理包括删除消息元素、删除缓存和仿真结果,具体过程为:提取所有定时器,终止有效定时器,并清理所有动画,删除有效消息,清理仿真结果,清理缓存后恢复时间轴;
所述仿真结果展示包括展示仿真结果。
2.如权利要求1所述的基于日志的网络模拟可视化仿真平台,其特征在于,所述网络绘制模块的工作流程包括:
从模拟网络中读取节点规模,并为模拟网络创建画布;
绘制组间网络节点集并绑定点击事件;
绘制组内网络节点集并配置特殊节点,在组内网络节点绘制完毕时显示绘制的网络图。
3.如权利要求1或2所述的基于日志的网络模拟可视化仿真平台,其特征在于,在绘制节点时,为每个节点配置一个为全局标识符;默认显示情况下,网络图中呈现全局的组件网络和第一组的组内网络,其他组内网络处于隐藏状态,处于隐藏状态的组内网络通过被选择可视化呈现。
4.如权利要求1所述的基于日志的网络模拟可视化仿真平台,其特征在于,所述日志解析模块的工作流程包括:
读取日志文件的每条日志记录,依据日志格式解析日志记录,当日志记录对应为独立事件时,依据日志记录创建事件对象并存入全局日志集;
当日志记录对应为关联事件时,对日志记录进行缓存,当关联事件对应的日志记录完整后,依据完整的日志记录创建事件对象并存入全局日志集;
当日志记录对应为需要使用存储的特殊事件,为日志记录创建存储对象并存储后,存入全局日志集。
5.如权利要求1所述的基于日志的网络模拟可视化仿真平台,其特征在于,所述时间轴模块为创建的时间轴配置播放速度,对纳入时间轴的事件对象进行合并、过滤和/或拆分。
6.如权利要求1所述的基于日志的网络模拟可视化仿真平台,其特征在于,所述时间轴模块的工作流程包括:
初始化新时间轴,创建并进入时间起点;当不需要过滤的日志记录,当同时满足时间点范围和密度要求时,将日志记录对应的时间对象加入当前时间点;
当不需要过滤的日志记录不符合时间点范围和密度要求中的任意一条,则创建新时间点,并将日志记录对应的时间对象加入新时间点。
7.如权利要求1所述的基于日志的网络模拟可视化仿真平台,其特征在于,所述流程控制模块通过定时器控制网络模拟的事件处理、节点状态转换、动画绘制、画布清理以及仿真结果展示。
8.如权利要求1所述的基于日志的网络模拟可视化仿真平台,其特征在于,还包括窗体引擎、图形库和基本组件;
所述窗体引擎与操作系统对接,允许应用程序创建、管理系统窗口,并在窗口进行绘制实现可视化仿真;
所述图形库提供可视化仿真需要的图形素材;
所述基础组件为窗体引擎相关的一组控件,用于提供基本的画布、文本框及按钮。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631503.0A CN112860965B (zh) | 2020-12-31 | 2020-12-31 | 一种基于日志的网络模拟可视化仿真平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631503.0A CN112860965B (zh) | 2020-12-31 | 2020-12-31 | 一种基于日志的网络模拟可视化仿真平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860965A CN112860965A (zh) | 2021-05-28 |
CN112860965B true CN112860965B (zh) | 2022-07-19 |
Family
ID=75999876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011631503.0A Active CN112860965B (zh) | 2020-12-31 | 2020-12-31 | 一种基于日志的网络模拟可视化仿真平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860965B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023216199A1 (zh) * | 2022-05-12 | 2023-11-16 | 北京小米移动软件有限公司 | 日志仿真方法、装置、系统、电子设备及存储介质 |
CN115935868B (zh) * | 2022-12-15 | 2023-07-04 | 上海日观芯设自动化有限公司 | 一种集成电路设计和验证流程管理用自动化系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294673A (zh) * | 2016-08-08 | 2017-01-04 | 杭州玳数科技有限公司 | 一种用户自定义规则实时解析日志数据的方法与系统 |
CN110166285A (zh) * | 2019-04-28 | 2019-08-23 | 北京航空航天大学 | 一种基于Docker的网络安全实验平台搭建方法 |
CN110635943A (zh) * | 2019-09-02 | 2019-12-31 | 北京航空航天大学 | 基于Spark计算框架的网络传输过程的网络流量仿真系统 |
CN110690984A (zh) * | 2018-07-05 | 2020-01-14 | 上海宝信软件股份有限公司 | 基于Spark的大数据网络日志采集分析和预警的方法、系统 |
CN112100069A (zh) * | 2020-09-15 | 2020-12-18 | 中国人民解放军国防大学联合作战学院 | 一种面向simscript语言的离散事件仿真事件队列可视化方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990061B2 (en) * | 2005-02-18 | 2015-03-24 | Riverbed Technology, Inc. | Tracking, analyzing, and visualizing application delay |
US20110227925A1 (en) * | 2010-03-16 | 2011-09-22 | Imb Corporation | Displaying a visualization of event instances and common event sequences |
US10313382B2 (en) * | 2016-03-29 | 2019-06-04 | The Mitre Corporation | System and method for visualizing and analyzing cyber-attacks using a graph model |
-
2020
- 2020-12-31 CN CN202011631503.0A patent/CN112860965B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294673A (zh) * | 2016-08-08 | 2017-01-04 | 杭州玳数科技有限公司 | 一种用户自定义规则实时解析日志数据的方法与系统 |
CN110690984A (zh) * | 2018-07-05 | 2020-01-14 | 上海宝信软件股份有限公司 | 基于Spark的大数据网络日志采集分析和预警的方法、系统 |
CN110166285A (zh) * | 2019-04-28 | 2019-08-23 | 北京航空航天大学 | 一种基于Docker的网络安全实验平台搭建方法 |
CN110635943A (zh) * | 2019-09-02 | 2019-12-31 | 北京航空航天大学 | 基于Spark计算框架的网络传输过程的网络流量仿真系统 |
CN112100069A (zh) * | 2020-09-15 | 2020-12-18 | 中国人民解放军国防大学联合作战学院 | 一种面向simscript语言的离散事件仿真事件队列可视化方法 |
Non-Patent Citations (2)
Title |
---|
NS3-based simulation system in heterogeneous wireless network;Zhao Y J , et al,;《11th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM 2015)》;20160407;全文 * |
应用于网络仿真与监控的可视化系统的设计与实现;张谦;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112860965A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105739983B (zh) | 脚本程序编辑装置及其实现方法 | |
CN112860965B (zh) | 一种基于日志的网络模拟可视化仿真平台 | |
CN106020595B (zh) | 消息回复方法及装置 | |
CN106375696B (zh) | 一种屏幕录像方法及装置 | |
CN111079244B (zh) | 一种基于行为树的分布式仿真平台 | |
CN105122257A (zh) | 用于动态显示跟踪器数据的转换函数插入 | |
CN105103133A (zh) | 消息传递计算的动态可视化 | |
CN105122236A (zh) | 使用动态可视化控制应用跟踪 | |
US20150347628A1 (en) | Force Directed Graph With Time Series Data | |
MX2008000515A (es) | Transiciones fluidas entre animaciones. | |
CN109725788B (zh) | 用户界面交互的处理方法、装置、处理器及终端 | |
CN113018867A (zh) | 一种特效文件的生成、播放方法、电子设备及存储介质 | |
CN112587929B (zh) | 游戏副本的生成方法、装置及设备 | |
CN116452786B (zh) | 虚拟现实内容的生成方法、系统、计算机设备及存储介质 | |
Aversa et al. | Unity Game Optimization: Enhance and extend the performance of all aspects of your Unity games | |
WO2018049682A1 (zh) | 一种虚拟3d场景制作方法及相关设备 | |
Cornelissen et al. | An assessmentmethodology for trace reduction techniques | |
CN110310352A (zh) | 一种角色动作编辑方法及装置、计算设备及存储介质 | |
Chang et al. | Differentia: Visualizing incremental game design changes | |
CN112800736B (zh) | 生成单元格编辑组件的方法、装置、介质及计算机设备 | |
CN112755534B (zh) | 一种数据处理方法、装置和存储介质 | |
CN111249733B (zh) | 一种创建虚拟对象的方法和装置 | |
CN115270731A (zh) | 混合文档的协同编辑方法及装置 | |
Thurler et al. | Prov-Replay: A Qualitative Analysis Framework for Gameplay Sessions Using Provenance and Replay | |
CN111388995A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |