APP下载

面向IT系统结构可视化的实时渲染方法

2020-04-10王其乐魏景锋曹吉龙

小型微型计算机系统 2020年4期
关键词:系统结构层级布局

苏 谟,刘 宇,王其乐,魏景锋,曹吉龙

1(中国科学院 沈阳计算技术研究所有限公司,沈阳 110168)2(中国科学院大学,北京 100049)3(广东科学技术职业学院,珠海 519090)4(辽宁省医疗器械检验检测院,沈阳110000)5(中国医科大学附属第四医院,沈阳110032)

1 引言

信息化战略的提出使得各行各业,乃至各个部门均有着不同的IT系统,缺乏统一部署及规划,加上各行业的差异及各部门业务逻辑的复杂性,IT架构不透明的问题也日趋突兀,导致运行及维护工作的成本居高不下,对IT系统结构关系的完全掌握也变成了一件难题.因此,IT系统结构可视化理念应运而生.

本文针对IT系统结构可视化中IT架构不透明,IT结构关系复杂,IT系统结构可视化实时渲染帧率低的问题,提出了IT系统结构可视化模型,实现端到端的可视化管理,将可视化领域由物理设施拓展到系统、业务、流程等逻辑层次,使IT架构内部结构关系清晰可见.

针对IT系统结构可视化中存在的复杂节点关系,如包含、发起、依赖、属于等关系,单一的节点布局算法无法完全适用于其复杂的节点关系,根据节点关系的不同特点使用合适的节点布局算法,能够解决IT系统结构可视化的复杂结构关系问题.

布局算法是IT结构可视化场景的重点,采用合适的布局算法能够帮助用户清晰直观的了解场景中的节点布局,了解场景局部与全局的状态,便于管理者对系统的整体评估.现有的布局算法主要包括直交布局算法、树型布局算法、图布局算法、层次性布局算法等[1,2,4].层次型布局算法也是使用较为广泛的一种布局算法,层次感十分鲜明,但当节点数量较大时,层次型布局算法会出现不同层次的节点数量分配不均匀的现象,导致头重脚轻.曹瑞斌[1]使用了螺旋式改造后的方法来实现IT系统结构的层次布局算法,避免层次布局节点增长过程中的头重脚轻问题.传统三维可视化布局算法在概念格的表示上,存在复杂概念格结构表示不清、图形不美观的问题,沈夏炯[11]通过添加虚拟节点对布局算法进行改进,使得概念格结构明确、易读.可视化研究中存在一些不确定数据,使用概率图布局的算法能够很好可视化不确定结构,但基于概率图布局的方法存在运行时间过长、图布局不稳定的问题,陈炳坤[10]通过使用基于多层图布局的算法,弥补了基于概率图布局的不确定性网络可视化方法的缺陷.

但上述提出的方法均是使用单一布局算法实现的系统结构,对于IT系统结构关系复杂、关系种类多的问题无法很好的适用.因此,本文使用混合型布局算法实现IT系统架构的布局,又考虑到IT系统架构实时渲染帧率低的问题,使用基于GPU的方法来加速场景布局算法的实现.通过使用GPU的并行编程,场景节点的组织效率得到加速,场景节点在变换时,也可以迅速对场景结构进行重构,从而保证场景渲染的实时性.即使在面对具有复杂关系的IT结构可视化场景节点时,也能保证场景实时渲染的效率.

2 IT结构可视化模型

IT结构可视化模型包括IT结构的可视化逻辑模型,IT结构可视化的转换过程,以及IT结构可视化实现架构.IT结构可视化逻辑模型从业务角度对IT结构进行分析,IT结构可视化的转换过程将IT结构可视化的逻辑模型转换为IT结构可视化架构,IT结构可视化实现架构对IT结构的功能模块、硬件支撑、外部接口进行展示.

2.1 可视化逻辑模型

可视化逻辑模型能够将复杂的业务模型转化为用于多层级可视化可表述的模型,通过打破了各个专业领域和工具平台之间的壁垒,将每个专业领域内有价值的管理数据提取出来并精准信息可视化呈现[5,6,9].通过使用A表示IT系统,L表示系统内的不同层级,R表示系统内节点关系及层级关系,E表示系统内不同节点,C表示系统内不同的约束关系,对IT系统结构化定义如下:

A={L,R,E,C},

L={业务应用,系统平台,IT基础设施,机房动环,…},

R={包含,依赖,运行于,逻辑连接,属于,返回,…},

E ={用户终端,外部系统,接入渠道,防火墙,web服务器,…},

C={布局策略,布局算法,可视化元素渲染样式,连线规则,…}

本文对IT系统结构可视化进行分析,对IT结构的可视化结构分成四层逻辑结构,L1是业务应用层,L2是系统平台层,L3是IT基础设施层,L4是机房动环层,在L1内有E1接入渠道,E2防火墙,E3负载均衡,E4加密机,E5应用系统,L1内部各元素节点之间是依赖的关系R1,L1与L2之间又有逻辑连接的关系R2,其面向业务的IT结构可视化逻辑模型如图1所示.

图1 面向IT结构的可视化逻辑模型Fig.1 Visualization logical model for IT structure

图1从业务处理的角度,清晰的展现业务处理依赖的各项IT组件及其相关的关联关系.当对系统业务进行拓展时,可以通过直接增加系统层级L来拓展不同业务,从而丰富IT系统可视化的逻辑模型.

在得到可视化逻辑模型后需要将其转化成可实现的可视化架构,需要对数据进行处理,与数据库的交互获取、处理数据,通过数据结构来拼接数据[4],便于与功能模块进行数据传递.数据结构可定义如下:

D={层级属性,节点属性,关系属性}

本文使用JSON字符串数据的格式依照数据结构定义将其拼成JSON字符串用于数据传递及功能模块的数据处理.其次对逻辑关系进行抽象具体可视化分析,然后对其进行可视化展示.通过对层级关系内部的节点内部结构、局部关系的分析、故障分析和变更关系的分析,可以对IT系统结构的功能结构有具体把握,得到IT系统结构内部的不同约束关系C,包括C1系统内层级之间的连线策略,C2层级内部节点间的布局策略,以及C3布局算法等,然后按照C4可视化元素的渲染规则对节点布局展示、模块关联所属展示、节点基本信息的展示,使得IT系统结构可视化架构的实现架构清晰明朗,如图2所示.

图2 IT结构可视化转换过程Fig.2 Conversion process of IT structure visualization

通过数据处理、可视化分析、可视化展示阶段的分析定义后,确定IT系统结构的布局算法,故障定位算法,及IT系统可视化的展示方法,从而能够得到IT结构可视化的实现架构.

2.2 IT结构可视化实现架构

IT结构可视化实现架构可分为三维可视化模块、硬件支撑层及外部接口三个部分,三维可视化模块是IT结构可视化技术的核心部分,实现IT系统结构关系和运行状态的动态呈现[7,8,12],实现故障信息的实时获取,同时对故障进行展示及对故障影响范围进行分析,包括业务关系可视化、应用系统逻辑架构可视化、应用系统物理架构可视化、IT基础设施可视化、IT监控工具、故障分析诊断可视化.硬件支撑层为三维可视化模块提供底层支持,保证三维可视化模块的正确运行,包括引擎层、操作系统层、网络传输层三个部分.外部接口为三维可视化模块提供所需要的数据资源、及需要的API接口,包括数据资源、数据库接口等.如图3所示.

图3 IT结构可视化架构Fig.3 IT structure visualization architecture

业务关系可视化实现的是交互路径和功能处理过程的可视化,直观对业务及业务之间的关联关系、调用路径进行可视化.系统逻辑架构的可视化通过形成应用系统的全景视图,提供一种以应用系统为单位的清晰的管理视图,实现对应用系统及应用组件关联关系的可视化.应用系统物理架构的可视化通过部署物理架构提供物理架构的可视化的清晰的管理视图.IT基础设施可视化实现的是从业务到系统应用、流程及支撑的物理设备之间的关系的可视化.IT监控工具的可视化最大程度上的利用了监控数据的价值,建立了一个统一的监控信息界面.故障分析及根源诊断功能为故障事件的检测提供了分析基础,保证了运维团队的分析和解决问题的效率.

3 基于GPU的混合型布局算法

IT结构可视化场景除具有空间结构关系外,还有业务关系、数据流关系等多种关系,具有关系多,结构复杂的特点;其次,由于IT结构可视化场景需要向用户提供360度的环绕查看效果,场景的缩放功能,因此IT系统结构可视化场景对场景的渲染效率有着极高的要求,但现有的IT系统结构可视化系统却存在着场景渲染帧率低的问题.针对上述问题,本文提出使用GPU来实现IT结构可视化场景的混合型布局算法,通过并行编程加速场景结构的组织,保证了场景的实时渲染效果,加速了场景的渲染效率.

本文基于混合型布局算法实现IT结构可视化场景的布局,针对系统应用层、系统结构层、上下游关系层使用不同的布局算法,通过使用GPU对各个层的布局算法进行并行计算,加速器构建效率,保证了渲染效率.

3.1 基于层次结构的布局算法

层次结构内部有明显的功能层次特性,形成的拓扑结构的层次感鲜明,清晰直观的展示节点之间的关联关系.应用层满足层次结构的特点,在一个层面上展示信息系统所有应用节点间的布局状态,使用连线的方式展示应用节点之间的关联方式,令管理人员能够对系统的整体布局及关联关系有总体的把握.使用层次布局算法展示应用及应用之间的关联及流向关系.

算法描述:

步骤1.获取数据,从数据中得到所有应用节点的信息.

步骤2.将应用节点按照层级进行相应的划分,以应用之间的流向为标准,将其分为不同的层次.

步骤3.将上述信息输入GPU端,然后对所有应用节点进行相应的层级划分,将不同的应用节点划分到其对应的层级.

步骤4.然后对节点关系连线,实现三维可视化展示.

具体流程如图4所示.

图4 层次布局算法流程Fig.4 Hierarchical layout algorithm flow

在CPU端获取数据应用节点的所有信息,然后按照应用流向将其划分为不同的层次,在GPU端对节点进行所属层级的判断,在判断完节点所属层次后,使用螺旋式增长的方式对节点进行添加,即根据原有节点位置增加或减少一定间距的方式获得,从而有效避免层次布局算法头重脚轻的情形,然后对节点进行连接,同时对其进行三维展示,有效的提高布局算法的效率.

3.2 基于树型结构的布局算法

系统结构层的结构特点符合树型结构等级分明的拓扑结构,通过展示应用节点的内部结构及相关关系,以层次关系展示在垂直访问的系统结构层中,连线的方式展示其相关关系,使用树型布局算法对其进行构建,能够迅速的体现单个应用模型节点的内部结构所属的关系.

算法描述:

步骤1.获取应用层节点及其对应的系统节点数据,将应用层的节点做树的根节点,然后将其对应的系统节点做叶子节点.

步骤2.对系统层进行划分,将其划分为系统层级、中间件层级、数据库层级和网络节点层级.

步骤3.将上述数据输入到GPU端,对所有节点进行并行判断其所对应的系统层级.

步骤4.如果系统包含中间件,则将对应的中间件放到中间件层级,对其余不包含中间件的节点进行步骤5的判断;否则不作处理.

步骤5.如果系统包含数据库,则将其对应的数据库放到数据库层级,对其余不包含数据库的节点进行步骤6的判断;否则不作处理.

步骤6.将节点归入网络节点层级.

步骤7.然后对布局内的节点关系连线,实现三维可视化展示.

流程如图5所示.

图5 树形布局算法流程Fig.5 Tree layout algorithm flow

树形结构的特点是一对多的拓扑结构关系,应用层与系统层之间的节点对应关系是一对多的关系,因此树型布局结构更适合于构建系统结构层,将应用层节点视为树的根节点,然后查找该应用节点所对应的多个系统节点,将其视为该根节点的子节点,由于系统结构层的节点可划分为系统层级节点,中间件层节点,数据库层节点和网络层节点,因此对于应用层节点所对应的系统节点进行查找,若找到中间件层节点,则将其划分到中间件层节点,接下来系统节点中不包含中间件层节点的节点查找其是否包含数据库层节点,如果不包含,则不做处理,最终将属于网络节点层的节点置于网络节点层,最终得到树形布局结构的系统结构层.

3.3 基于星型结构的布局算法

星型结构是一个节点作为整个拓扑结构的中心,其余节点均与核心节点相连,直观反映单个节点的所有关联状态.应用的上下游关系层主要用于展示单个应用节点的上下联关系,通过对单个节点的查看可以得到单个节点的关联关系,结构简单,因此使用星型布局结构更适用于实现该层结构.

算法描述:

步骤1.获取节点以及相关的所有上联节点和下联节点数据.

步骤2.然后将数据输入到GPU端对其进行并行判断其层级关系.

步骤3.如果是该节点的上联节点,则将其归为上联节点布局;否则进行步骤4.

步骤4.如果是该节点的下联节点,则将其归为下联节点布局.

步骤5.然后分别对上下联布局内的节点关系连线,实现三维可视化展示.

流程如图6所示.

图6 星型布局算法流程Fig.6 Star layout algorithm flow

使用GPU并行算法对某节点相连的其他所有节点的上、下联关系进行并行判断,将该节点置为中心节点,其他相连节点若属于上联节点时,则将其置为上联节点布局,属于下联节点时,则置为下联节点,从而有效的加速了场景的布局算法,最终在GPU端对场景节点进行连线与三维渲染展示.

4 实验与分析

对IT结构可视化场景实时渲染效率的最明显指标便是响应时间,响应时间主要与数据提取速度、单个模型实例生成速度、场景中节点布局、连线算法有关,本文采取检测应用层展示的反应速度来体现本文提出的方法对IT结构可视化场景实时渲染的改进效果.实验的软硬件条件如表1所示.

表1 软硬件配置信息表Table 1 Software and hardware configuration information

图7 层级属性管理配置信息Fig.7 Hierarchical attribute management configuration information

对本文提出的混合型布局算法进行设计实现,首先是在CPU端获取IT结构可视化平台应用层的所需节点数据,对节点数据按照相应的数据结构对其进行处理,图7为获取的层级属性信息包括编号、描述、层级名称、层级角度、层级位置等属性,如图7所示.

然后对应用层所具有的应用层进行层级划分,将其划分为业务层、支撑层、IT设施层,接着对具体的应用层节点在GPU端并行的进行所属层级的划分,实现节点的布局,最终实现节点的连线及三维效果的展示.图8是未使用本文提出的布局算法的效果,图9是使用本文提出的布局算法效果.

图8 未使用本文算法的效果图Fig.8 Simulation results without using the algorithm presented in this paper

通过两个效果图的对比,能够明显比较出通过使用本文提出的布局算法的IT结构可视化效果,节点的布局更加均衡,节点更加清晰、美观,在节点数量较大、关系数量较多的情况下,节点与节点之间的连线、层级之间的连线依旧能够保持清晰可见、美观.

图9 使用本文算法的效果图Fig.9 Simulation results using the algorithm presented in this paper

与传统的仅基于CPU的算法,以及其他基于CPU和GPU实现的布局算法,如节点-链接法[3]相比,本文的算法的测试结果对比如表2所示.

表2 测试结果对比图Table 2 Test results comparison

通过对表2的分析可看出,从系统响应时间来看,在节点数量较少时,三种方法均不会有太大的差异;但是,当节点的数量变多时,单一的只使用CPU的算法明显不如使用基于GPU和CPU协同的布局算法,使用本文提出的方法与使用其他基于CPU与GPU协同的布局算法效果几乎没有差别;当节点数量继续增加时,本论文提出的方法能够保持更好的稳定性,而使用文献[2]的算法则在系统响应时间,平均帧率,平均CPU占用率均表现略劣于本算法,体现出本算法的在节点数量庞大的情况下,也能保持较高的渲染帧率,并同时对系统做出快速响应.

5 结 论

本文针对IT系统结构可视化中IT架构不透明,IT结构关系复杂,IT结构可视化场景渲染帧率低等问题,提出一种面向IT系统结构可视化的实时渲染方法.提出一种IT结构可视化模型,采用端到端的设计理念,对IT系统结构由底层设施至上层系统、业务等逻辑层次的对象、元素、规则、关系进行三维可视化的展示,从而使得IT架构内部清晰可见.在此基础上,本文使用混合型布局算法,针对IT结构关系的不同特点,适用合适的布局算法,解决IT结构关系复杂多样的难点.同时,使用GPU和CPU的协同方式实现上述布局算法,有效的提升场景渲染的帧率.

猜你喜欢

系统结构层级布局
科室层级护理质量控制网的实施与探讨
以专利布局洞悉泰雷兹发展与创新
先进纤维材料战略布局
军工企业不同层级知识管理研究实践
基于军事力量层级划分的军力对比评估
职务职级并行后,科员可以努力到哪个层级
分区域广域继电保护的系统结构与故障识别
论电力系统配网自动化技术与应用探索
商用WiFi蓄势待发BAT360谨慎布局前景存疑
医疗布局决定未来