APP下载

三维云渲染服务系统设计

2021-03-01丁锦程

科学与财富 2021年30期
关键词:数字孪生虚拟化可视化

摘 要:本文基于通信、虚拟化、GPU渲染、图像编解码等技术,设计实现三维云渲染服务系统。通过将重量级可视化应用在云端渲染,并加密编码传输至客户端,客户端通过相对应的解码技术解码,客户端即可拥有云端高性能机器的渲染效果,客户端可以基于任意操作系统、任意浏览器、不安装任何插件的情况下输入URL即可访问。

关键词:云渲染;数字孪生;可视化;虚拟化

1.概述

当前处于一个信息化高速发展的时代,智慧城市的数字化、信息化建设离不开重量级可视化应用的支撑,然而,重量级可视化应用对客户端硬件性能要求非常高,在移动端设备上几乎无法使用这些重量级可视化应用,用户想要使用重量级可视化应用就必须配置上一台硬件配置非常好的电脑,并且需要在受限制的软件环境下才能使用,让这些重量级可视化应用真正推广落地使用成了难题。

目前重量级可视化应用主要有桌面版应用及网页版应用。桌面版应用基于C/S模式开发,用户使用需要下载相对应的客户端软件,然后在其底层支持的操作系统下,使用高配置客户机打开软件查看应用内容,网页版应用是基于B/S模式开发出来的网页应用,用户只需要输入Url地址即可在线访问,当前已有两种技术实现了重量级可视化应用在浏览器上访问:一种基于插件技术实现的(需要开发专门的可视化渲染插件,浏览器需要安装专门插件,并不兼容所有浏览器),另一种基于WebGL技术实现(基于3D绘图标准,无需安装任何插件,可兼容大部分浏览器,但是不支持大场景三维应用性能不足,会出现渲染卡顿,浏览器奔溃等现象),同时这两种技术也都需要在高配置的客户机下才能运行大数据量三维场景。以上当前的技术方案,主要存在使用不便(如:受限制于操作系统,需要安装客户端软件或者需要安装插件,受限于浏览器),或者性能及稳定性不足(如:WebGL技术下大场景应用新能不足,会出现渲染卡段,浏览器崩溃等现场),或者客户机配置要求高(如:需要高配置客户机),无法在移动端设备(安卓或者IOS等)浏览器上运行。总体上,目前重量级可视化应用存在使用不便、性能及稳定性不足、客户机硬件配置要求高、无法在移动端设备(安卓或者IOS等)上使用等原因,很难落地到普通用户使用。

2.系统架构

三维云渲染服务系统基于基础设施层、服务层、应用层、展示层的四层架构:

基础设施层:该层为基础层,通过主机、网络、存储等硬件资源构建云渲染的硬资源环境,以及搭配操作系统、数据库、安全系统等软环境合力打造云渲染的资源环境。

服务层:该层为核心功能层,给应用层提供云渲染所需要的支撑功能,包括:通信服务、数据流服务、控制流服务、图像编码等。

应用层:该层基于服务层提供的服务支撑实现Web可视化展示以及后台管理,通过后台管理用户可以通过可视化界面进行用户管理、节点管理、云渲染发布等操作,通过Web可视化可以将三维应用轻量化。

展示层:该层对外开放给用户使用,用户可以通过PC、移动终端、大屏等设备,在任意操作系统、任意浏览器不安装任何插件下访问三维应用。

3.系统技术原理

系统实现的主要技术原理是:在云端構建虚拟服务器集群[1],将可视化应用部署至所述虚拟服务器集群上,采用虚拟化技术实现在云端进行渲染[2],同时在云端实现相对应的控制流指令来控制可视化应用的渲染,并在云端实现相对应的图像编码技术将渲染好的图像进行编码,在客户端进行相对应的解码,从而将图像可视化展示在客户端中,无需处理任何数据,兼容各种引擎,无需关心底层引擎,同时无需额外开发量即可完成将应用转为使用云端渲染的网页应用,普通客户机或者移动端即可随处打开浏览器访问。

4.详细功能设计

4.1.Web可视化模块

Web可视化模块在云渲染服务能力的支撑下,拥有云端的高性能渲染能力,可轻松加载城市级海量三维模型数据,本模块主要负责客户端基于Web的可视化呈现以及交互,在云渲染的赋能下它拥有其它普通Web三维应用所没有的特性,主要体现在:易用性、兼容性、稳定性、渲染力、安全性等几方面具有非凡的效果。

4.1.1.可视化展示子模块

可视化展示子模块主要基于Html web前端技术,将云端渲染的内容在Web 控件上绘制出来从而可视化呈现在页面中。由于Web 控件被所有浏览器支持,且对系统不做要求,所以用户通过任意操作系统、任意浏览器,在不需要安装任何插件的情况下,就可以通过在浏览器上输入URL地址即可展示由云端渲染的三维可视化系统内容。

4.1.2.图像解码子模块

图像解码子模块是Web可视化中的核心功能,其主要功能为负责将云端传输过来的数据流按照与云端约定好的格式,基于解密技术以及解码技术进行解密解码,同时基于Web前端Html技术将图像在Html控件绘制出来。

4.1.3.交互联动功能子模块

交互联动功能子模块是Web可视化模块的枢纽中心,主要负责与云端的交互联动。负责实现指令的收发功能,将用户的操作事件传输给云端从而达到交互联动, 如:用户通过鼠标滚动,按下键盘按键等来交互联动。交互联动模块通过实现Web端事件中心来处理鼠标、键盘等事件来达到交互联动目的。

4.1.4.指令与数据传输集成子模块

指令与数据传输集成子模块与云渲染服务模块中的通信服务模块结合,用于流程化的处理云渲染服务端的三维可视化应用与web客户端间的指令交换,数据传输。达到通信方式简单快捷。本模块依托于云渲染服务端,三维可视化应用端以及web客户端三端通信链路,在web客户端实现与云端的数据传输。

4.1.5.权限校验集成子模块

权限校验集成子模块主要功能是用于对用户的系统访问的安全和权限进行校验。当客户端用户通过URL访问时,前端会对其请求信息转发至云端认证是否拥有访问权限,对于没有权限用户,拒绝访问,从而也在web端保障了安全性。

4.1.6.云节点智能匹配子模块

云节点智能匹配子模块为用户智能匹配返回一个最佳节点地址[3],主要功能包括地址转换、安全转码和智能分析匹配。

4.2.云渲染服务模块

服务模块是整个三维云渲染服务子系统的“心脏”,作为整个系统的核心,起到了服务中心,控制中心,传输中心的作用。主要包括:通信服务子模块,云智能选址服务子模块,数据流服务子模块,图像编码子模块,控制流服务子模块。

4.2.1.通信服务子模块

通信服务子模块在WEB端与云渲染后端服务以及三维应用端之间建立连接,负责建立起云端与客户端之间的通信,传输数据流、控制指令信息。通信服务模块是整个云渲染服务基础,通过通信服务三维应用端,云渲染服务端,Web端建立通信链路。

4.2.2.云智能选址子模块

负责当用户在浏览器上输入地址时,智能分析计算匹配一个云端节点给用户。为Web端提供的地址匹配服务,通过该模块Web端可以智能匹配最佳节点,从而达到最好的访问效果。

4.2.3.数据流服务子模块

数据流服务子模块实现三维应用窗口内容监听功能,根据云渲染后台配置的分辨率,码率,帧率等信息,实现基于这些参数对三维应用句柄的监听,从而获取三维应用窗口内容,并转为相对应的数据流服务。

4.2.4.图像编码子模块

图像编码子模块负责图像的编码及解码格式的约定,从而使得编码后的数据能够在传输效率,清晰度,质量以及WEB端解析效率,解析质量上有很好的效率。

4.2.5.控制流服务子模块

实现处理云端与客户端之间相互发送的指令。整个实现的过程为:Web客户端端发送交互指令给云端时通过控制流服务子模块,经过控制流服务子模块处理发送至云端,云端接收消息给三维应用端,三维应用端响应并返回消息通过控制流服务发送给Web客户端,我Web端指令与数据传输集成子模块进行消息接收处理,反馈给Web用户。

4.3.云渲染后台管理模块

云渲染后台管理模块提供可视化管理界面负责三维云渲染服务子系统的后台资源配置,用户、群主等管理功能,为云渲染稳定运行提供强有力支撑,为用户提供友好的界面操作,方便进行应用管理。主要包括:云渲染用戶管理子模块,群组管理子模块,云渲染项目列表管理子模块,云节点管理子模块,云节点智能化反馈子模块,云渲染发布中心子模块,GPU虚拟化管理子模块,资源监控管理子模块,运营管理子模块,日志管理子模块。

4.3.1.用户管理子模块

用户管理子模块主要包括:用户信息管理,权限信息管理,角色信息管理。

4.3.2.云渲染项目列表管理子模块

云渲染项目列表管理子模块展示所有已发布的云渲染项目。

4.3.3.云节点管理子模块

管理员通过该云节点管理模块自主配置云渲染环境的服务器信息,通过该模块进行云节点的添加可轻松完成对服务器扩容,从而达到增强并发能力,以满足日益增长的用户,以及三维应用的扩容的需求。

4.3.4.云节点智能化反馈子模块

负责列表化展示云节点的活跃信息。智能化的反馈云节点的活跃情况,及时回收释放云节点,防止节点资源的不必要浪费。本子模块通过其他资源监控管理服务等获取云渲染服务环境的云节点的资源使用情况,能够智能分析判断回收释放资源,达到资源合理利用目的。

4.3.5.云渲染发布中心子模块

负责三维应用项目的可视化发布,通过上传项目压缩包、编辑项目的名称、分辨率、帧率、渲染引擎等参数信息进行项目发布,发布完成的项目基于云端渲染,通过任意操作系统任意浏览器输入URL即可访问。

4.3.6.资源监控管理子模块

资源监控管理子模块主要功能包括资源概览、参数设置和监控报警。

5.结语

本系统通过在云端搭建高性能的服务集群,将复杂的重量级可视化应用放在云端高性能服务器集群中进行渲染计算,借助通信技术、传输技术、虚拟化技术、远程协议技术、GPU渲染技术、图像编解码技术,在云端渲染重量级可视化应用内容,将渲染后的内容基于图像编码技术编码,在云端将编码后的内容传输给客户端进行解码,客户机不需要进行其它复杂的运算操作,只需要将其按照相对应的图像解码技术解码即可在客户机上运行重量级可视化应用。由于客户端只需要进行简单的图像解码操作,从而使得客户机的硬件配置不再受要求,操作系统不受限制,浏览器不受限制,不需要任何插件即可非常轻松的加载展示重量级可视化应用,在普通客户端上即可享受工作站级的高性能渲染体验。

参考文献:

[1]丁锦程,李勇琪.一种云渲染的系统与方法:中国,CN111614780A[p].2020-09-01

[2]基于服务器端的三维渲染技术综述[J]. 徐婵婵. 中国传媒大学学报(自然科学版). 2019(01)

[3]云计算环境中优化遗传算法的资源调度策略[J]. 刘愉,赵志文,李小兰,孔令荣,于淑环,于妍芳. 北京师范大学学报(自然科学版). 2012(04)

猜你喜欢

数字孪生虚拟化可视化
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
基于大数据的智能工厂数据平台架构设计与研究
“融评”:党媒评论的可视化创新
基于OpenStack虚拟化网络管理平台的设计与实现
浅析大数据时代的机械设计发展趋势
对基于Docker的虚拟化技术的几点探讨
“数字孪生”改变行业规则的顶尖技术
图书馆未来的技术应用与发展