APP下载

基于集群的Web并行超高分辨率显示技术①

2019-03-11孙峻岭假露青刘其军汪操根

计算机系统应用 2019年3期
关键词:信息源浏览器应用程序

孙峻岭,假露青,刘其军,汪操根

(广州瀚阳工程咨询有限公司,广州 510220)

1 引言

近年来,得益于图形软硬件的发展和互联网的广泛应用,高性能的图形显示系统已经开始在大规模科学计算可视化、计算机支持的协同办公、城市核心管理、遥感、指挥、会展行业等诸多领域得到应用[1].人们对海量的Web资源显示的实时性、显示尺寸、显示质量和协同工作都提出了更高的要求,实时Web超高分辨显示将成为一种技术趋势.

目前国内外有许多大学和研究机构都在此领域进行研究,进行了许多理论研究和实际开发工作,并取得了许多优秀的研究成果.国外比较具有代表性的包括Princeton 大学的 Display Wall项目,Minnesota 大学的Power Wall显示系统,以及芝加哥 Illinois大学 EVL 实验室的SAGE和SAGE2系统.国内复旦大学针对多通道的高分辨图像、视频显示问题,也研发了高分辨显示系统[2-5].传统的信息显示系统通过采用信息集中处理工作的方式,将所需显示的数据和程序都在一台核心处理机上进行集中处理[6].这种显示方式和DLP投影拼接技术都存在显示分辨率有限、信息显示处理速度慢、无法实现海量资源异地共享显示、无法以高分辨率显示多种类的Web资源等缺陷[7].

为满足Web信息超高分辨、实时性异地显示需求并克服传统的大屏幕拼接系统的缺陷,文中通过构建基于集群的Web并行超高显示系统-SuperVis,结合浏览器技术和集群并行处理技术,该技术能以高性价比的前提下大幅度的提高大屏拼接显示系统对Web信息的超强处理速度和高分辨的显示能力,使得Web信息在处理速度和显示质量上满足用户的要求,利用高速网络呈现从高清图像和视频到PDF文档和笔记本电脑屏幕的内容,显示来自远程的像素流.在此基础上形成一套完整的集群大屏拼接显示系统设计架构,实现一套完整可靠的Web资源超高显示的解决方案.

2 SuperVis系统结构

SuperVis系统采用互联的计算机集群来进行分布式处理,各个节点机都包含应用程序,这些应用程序集成有浏览器的基本组件和资源引擎模块,能够快速的获取互联网上的多种类型的网页资源.同时各个节点机可以充分利用网络上计算机资源,实现节点计算机之间的资源共享.系统采用分布式架构和模块化设计模式,以相对低廉的造价实现数据可视化的异地共享,使用这种设计和架构使得SuperVis系统稳定性强、可用性高、可扩展性好.

SuperVis系统是一种基于集群的网络结构,集群是一组相互独立的,通过高速局域网互联的计算机组成的集合体.由于集群计算机系统结构简单、计算能力强、易于搭建,同时,还具有自由扩展、灵活性好、高性价比的等诸多优点,因此成为了大规模计算的理想平台[8,9].

2.1 SuperVis硬件环境搭建

通过集群网络技术构建的SuperVis系统硬件结构如图1所示:包括拼接显示屏、显示子节点、显示主节点机等.各部件以高速的以太局域网连接,形成了分布式并行计算的集群环境.所有的子节点机由主节点计算机统一调度控制管理,用户可以通过配有可视化的控制界面直接控制管理主节点计算机.在各个节点机上都采用相同的操作系统、资源管理系统和编译环境.系统搭建过程中可以根据实际要求,线性的增加子节点计算机,其中子节点集群与可扩展超高分辨显示屏相连接,每个子节点计算机配置有微型处理器并连接1-4台显示设备.因此,系统的整体显示分辨率,能够随着子节点机和关联的显示屏的增加而成倍的增长,其显示像素可达 10 亿以上.另外,拼接显示屏的造价相对低廉,且可扩展显示屏的形状可以随意变更.

图1 SuperVis 系统硬件结构图

2.2 SuperVis软件框架设计

SuperVis系统由可扩展超高分辨显示屏、计算机网络、用户接口、主节点计算机和子节点集群组成,其软件结构如图2所示:其中主节点计算机对计算机集群并行计算控制显示系统进行统一集中管理控制并提供与用户交互的通讯接口,通过所述高速集群网络保持主节点计算机和子节点实时通信.经子节点集群采集和处理后的网页信息通过可扩展超高分辨显示屏进行显示.其中子节点集群及主节点计算机均采用模块化的设计,并且均包含:Web基本组件、含有Web浏览器的应用程序、同步控制模块、通讯接口及Web资源引擎模块(如:视频引擎、图像引擎、3D引擎等),特别的,子节点集群还包含显示调度模块和信息渲染模块.

图2 SuperVis 软件结构图

3 系统实现方案

系统通过用户接口,接受用户输入的命令并通过可视化的操作界面于用户进行交互.同步控制模块根据用户指令,控制应用程序的通讯接口将相应图像处理传送到显示集群子节点机.含有Web浏览器的应用程序将互联网资源从Web服务器上获取,然后形成原始图像数据流,流化到一个高分辨率的内存缓冲区内.数据流经过子节点集群的显示调度模块处理后生成全局的原始图像数据[10].然后根据配置信息,对此图像进行分布式并行渲染处理.图像处理结束后,并将图像数据传输到子节点机.目标节点的地址和位置信息将会以消息流的形式,由同步控制模块通知显示节点,最后显示节点根据同步控制模块发来的位置信息,将图像显示在可扩展分辨显示屏上.

以下将对基于浏览器的应用程序设计、Web资源引擎设计、应用程序接口类的设计、窗口消息管理,网络传输协议的选择等进行详细说明和阐述.

3.1 应用程序设计

SuperVis系统中,主节点计算机和子节点集群都集成基于浏览器的应用程序,应用程序集成浏览器内核可完成与互联网通信,浏览器中封装了Web基本组件并通过HTML5和资源引擎支持原生二维和三维渲染.系统采用JavaScript(简称JS)技术构建浏览器的Web资源引擎,用于对互联网的多种类型资源的获取和渲染显示[11-13],其中浏览器由Web的基本组件和相关的Web资源引擎组成,Web资源引擎是跨平台的,可以自动下载所需依赖项.对于不同的网页资源配置不同的资源引擎,以此来高速采集Web服务器上的视频文件、视频会议、GIS地图、卫星影像、3D模型、BIM、图片、文本、PDF等信息,并通过显示渲染调度模块将多种网页智能排列、组合、显示在可扩展超高分辨显示屏上.

应用程序消息提供了同步控制模块和用户之间的交互API接口,用户通过键盘、鼠标发出的命令,通过应用程序消息,发送给同步控制模块.同步控制模块经过分析后,对消息做相应的处理,控制整个系统的工作流程,其中API接口如表1所示.

表1 应用程序接口库

3.2 信息采集同步

系统采用TCP/IP传输协议进行互联网资源的采集下载,依靠TCP/IP协议实现了网络的互联,形成一个统一的计算机网络,为实时获取互联网上的资源提供保障[14].显示客户端通过同步控制模块响应主节点机的控制命令并实现各个节点机的显示同步.然后各个显示节点机进行信息内容的采集、建立显示环境、对影像信息进行重新裁剪绘制.系统使用应用程序集成的浏览器来访问云服务器,并根据URL链接到云服务器的特定信息资源.为了用唯一的ID标识每个显示客户机,我们将一个参数附加到URL上,将其映射到可扩展显示屏上的特定行和列.每个显示屏给定其编号并按照其在网格上的坐标位置[15],通过偏移内容显示其自己的视图.

网页上的视频文件、视频会议、GIS地图、卫星影像、3D模型、BIM、图片、文本、PDF等信息实时采集显示流程如图3所示.

图3 子节点机的信息采集显示流程

3.3 接口类设计

SuperVis系统采用类封装方法来实现所述各项功能,其封装结构如图4所示.类包括ShowWindow类、SourceInterface类及各种信息源类.ShowWindow类是所有显示窗口类的父类,实现各类信息源在显示窗口中的显示[16].显示系统新建显示窗口类的具体步骤如下:

① 新建ShowWindow类,定义窗口坐标位置、大小和颜色;

② 给 ShowWindow 类的 SourceInterface赋值,实现与信息源的关联;

③ 渲染信息源纹理,实现信息源在指定窗口中的显示.

SourceInterface是所有信息源类的父类,通过继承,可以针对不同的信息源生成Image、Movie、Stream、PDF、Text等显示信息源.其中ShowWindow类带有SourceInterface类的显示窗口位置坐标、显示窗口大小等信息,能够接收用户指令并实现窗口位置移动,窗口单边和比例缩放等功能.另一方面,SourceInterface类是一个抽象类,带有信息源类型及信息源纹理等信息,位于ShowWindow类及各种信息源类之间,是两者之间沟通的渠道,ShowWindow类依靠SourceInterface类与相应的信息源类的联系,从而实现直接的信息源操作与同步控制.

在设计好的接口类下,根据用户指令可以获得一个显示窗口后,利用显示窗口就可以获得窗口的信息源的实例ID,根据信息源的实例ID就可以判断该信息源的类型;这样就可以根据不同的信息源类型进行信息源的个性化操作控制.例如:实现文字颜色、字体等属性的调整等操作,实现视频文件的播放、暂停,实现三维模型的任意角度查看.

其中用户于可视化用户操作界面交互的消息分为以下几类:注册和关闭类、应用程序相关类、窗口相关类、性能相关类.详细的消息描述如表2所示.

表2 用户交互的消息类型

3.4 窗口消息管理

同步控制模块集成有窗口消息管理模块,用来实现系统中消息的响应、解析和传递和各个节点机的信息同步,通过调用相对应的消息模块对主节点机的事件进行处理.各个节点机的应用程序通过消息管理对主节点机的事件进行响应,然后针对网页上的信息源进行编辑、搜索、归档、显示等操作[17].在节点机中,显示调度模块对显示属性进行预先配置并对信息源内容进行有序的读取和智能调度,在所述可扩展的拼接显示屏上预先进行窗口设置和排列,通过信息渲染显示模块显示输出并对信息源进行窗口布局、层叠、绘制、位置移动和比例缩放,其中窗口消息处理示意图如图5所示.

图5 消息处理示意图

信息源的窗口显示过程的详细步骤如下:

① Init (id,width,height,resrc,date),初始化窗口实例id、大小、资源目录路径;

② Draw (date),绘制窗口,其中 date 是日期 (用于计算动画的 t和 dt),在应用程序中,如果需要重绘,可以调用‘refresh()’;

③ Resize (date),调整窗口的大小,实现窗口的单边缩放和比例缩放;

④ Load(),加载将要显示的信息资源;

⑤ Moved (px,py,wx,wy,date),应用程序窗口移动到屏幕空间 (左上角)(px,py)的位置,(wx,wy)是在可扩展显示屏所占的大小;

⑥ Event (type,position,user,data),type 是事件的类型,position 包含事件的 x 和 y 位置,user包含触发事件的用户的数据,data是包含事件额外数据的对象;

⑦ Quit(),关闭应用程序窗口.

4 实验结果

通过浏览器直接获取网站上http://www.sosyes.cn/的卫星地图,并通过本文所述的SuperVis系统将它显示出来.其中传统的信息显示系统通过采用信息集中处理工作的方式,完成多种类型的影像显示,这种显示方式,其分辨率受到终端计算机显卡和计算能力的限制,其最高分辨率最高为 1920×1080,如图6所示.

图6 传统的显示结果

而在相同尺寸的显示屏幕下,采用集群的并行超高显示技术的SuperVis系统是由一台主节点机和3台子节点机组成,每台子节点机控制器与4块显示单元连接,因此卫星地图总的分辨率达到了7680×3240,并且可以根据需求线形增加.基于集群的并行超高显示技术的显示效果如图7所示.

图7 SuperVis系统显示结果

通过对比实验,不难发现本研究的SuperVis系统可以显示的网页上更广范围的卫星地图,并且拥有超高的分辨率.SuperVis大屏幕拼接显示系统显示效果比传统的投影放大系统有巨大的提升.SuperVis系统的显示分辨率是各子显示系统分辨率的总和.因此系统的分辨率可以随着系统的扩展线性增大,且不会因为显示尺寸的扩大而损失图像的质量,影响整体的显示效果.

5 结论与展望

实现Web资源的实时超高分辨显示意义重大,文中针对互联网上的信息资源数据量大、处理困难、显示分辨率要求高等情况,提出了一种基于计算机集群Web并行超高分辨显示技术的显示系统-SuperVis.实验结果证明,文中SuperVis系统能够显示超高分辨的互联网上的信息资源,克服了传统的大屏幕拼接系统和DLP投影拼接系统的存在显示分辨率有限、异地资源无法共享、 无法显示多种类型资源等缺陷,并为卫星遥感、智慧城市管理中心、交通管理和海量GIS地图显示等领域的网页资源超高分辨显示提供一种有效的、高性价比的解决方案.

猜你喜欢

信息源浏览器应用程序
睡眠者效应
删除Win10中自带的应用程序
微软发布新Edge浏览器预览版下载换装Chrome内核
谷歌禁止加密货币应用程序
舞蹈资源管理系统对档案管理和舞蹈教学的作用
开展配网快速复电的有效措施
美国智库对华军事研究的信息源分析——以兰德公司2000~2013年报告的引文分析为例
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序
浏览器