地震资料解释远程三维可视化云平台技术开发
2019-07-03付喜春钟吉太
付喜春,钟吉太,孙 静
(大庆钻探工程公司物探研究院 黑龙江 大庆 163357)
0 引 言
随着地震资料解释业务量的增加、数据模型规模的增大,以及对数据处理过程性能和准确性要求的提高,大庆物探研究院现有地震资料解释平台在三维可视图像处理方面的问题暴露得更加明显。进行地震资料解释三维可视化云平台技术的研究与开发主要有以下几方面原因:解释数据量增加,运算速度受单机解释工作模式的制约,使得解释效率大大降低;数据安全性和传输问题,导致数据安全的不确定性,带来工作效率的降低;解释数据资源不均衡,每个解释人员配置独立的工作站,而不同的软件对工作站的要求不同,给系统管理员对资源的管理和分配带来一定难度;设备成本随着解释工作量的快速增加而持续攀升;管理难度大,由于数据和应用软件不集中,管理员需要对每个用户的工作站进行管理,既要保证用户权限、应用软件版本,又要顾及用户数据安全。如果用户信息再发生频繁变动,管理员的工作量也会急剧上升。此外,每次工作站的升级和维护都需要一定投入,造成投入产出比不高。
针对上述问题,大庆物探研究院现有地震资料解释平台在三维可视化图像处理方面的问题日趋凸显,对现有地震资料解释平台进行高性能图像计算及二维、三维可视化改造变得越来越重要。在这个过程中,物探研究院技术人员对应用类型、用户分布、使用方式等各个方面进行论证,最终设计得到一个符合该行业发展趋势,并且在未来能够很好地支撑物探研究院业务发展的地震资料解释三维可视化云平台系统。
1 地震资料解释远程三维可视化云平台设计总体方案
地震资料解释远程三维可视化云平台,实现了地震资料远程可视化解释。包括4个子系统:门户子系统;连接管理子系统;远程三维可视化子系统;多路解释和并行地震反演子系统[1]。如图1所示。
图1 地震资料解释远程三维可视化云平台系统体系图
该平台能够更加高效管理、更加方便使用应用软件资源。平台为管理人员和最终用户设计的模块各有侧重,针对管理人员主要从对应用软件资源的管理和应用等方面出发,使系统最终成为管理人员维护应用软件资源的统一入口。
2 地震资料解释工作站门户子系统
地震资料解释可视化平台要实现的目标是实现硬件和软件资源共享。硬件资源共享是指所有用户可以在管理员定义的权限范围内,共享工作站的硬件资源工作站本身的计算资源以及工作站连接的存储资源;软件资源共享是指所有用户可以在管理员定义的权限范围内,共享工作站上可以运行的应用软件。
解释工作站集中共享门户系统主要负责系统相关的用户管理和服务器、软件使用信息管理、监控管理等。
2.1 门户子系统服务器端实现
HPZ820工作站作为服务器(1台),内存256 GB,图形接口K6000,操作系统版本是Linux5.8,64位系统。安装软件包需要至少2 GB 的可用磁盘空间。
实现步骤:
PortalInstall.java
installconf.csh
installsh.csh
Paraportal.c
看到类似如下输出,则表示安装成功[2-3]。
############################################
[INFO] Extracting ParaPortal to /opt/paratera/paraportal ... [ OK ]
Using JRE_HOME: /opt/paratera/paraportal/java
Using CLASSPATH: /opt/paratera/paraportal/gui/bin/bootstrap.jar
[INFO] Installation of ParaPortal completed.
########## Installation of ParaPortal ##########
############################################
[INFO] Checking available disk space ... [ OK ]
[INFO] Checking dependent package ... [ OK ]
[INFO] Checking paramon license file ... [ OK ]
[INFO] Modifying configuration files ... [ OK ]
[INFO] Registering ParaPortal service ... [ OK ]
[INFO] Starting ParaPortal service ...
Starting MySQL.....SUCCESS!
Using CATALINA_BASE: /opt/paratera/paraportal/gui
Using CATALINA_HOME: /opt/paratera/paraportal/gui
Using CATALINA_TMPDIR: /opt/paratera/paraportal/gui/temp
2.2 门户子系统的功能
打开浏览器,在浏览器中输入访问可视化平台门户系统的IP地址,如:http://192.10.200.208:8080。
2.2.1 用户管理
用户管理是管理系统内的用户,实现用户的增、删、改、查操作,同时根据业务特性,每个用户都可以与部门、用户组、角色、软件进行关联,达到控制用户对资源的使用范围。
2.2.2 服务器信息管理
服务器信息管理功能主要是对承载远程三维可视化的工作站和做反演的服务器设备进行管理。该功能主要包含以下模块:增加设备信息、修改设备信息、删除设备信息[4]。
2.2.3 软件信息管理
与设备、运行环境进行绑定,方便管理员在开放软件使用权限时更准确定位,不需要线下翻看软件相关资料。软件信息管理包含以下功能:许可证信息、添加软件信息、修改软件信息、删除软件信息[5]。
2.2.4 监控管理
管理服务器、工作站内存、CPU、swap区大小、机器利用率等[6]。
3 地震资料解释用户连接管理子系统
对用户会话连接的管理从原理上借鉴了传统高性能计算的作业调度系统的功能。与高性能作业调度系统中的作业类似,每个用户的连接在平台中即作为一个作业处理。系统具备一个用户连接的调度引擎,可根据用户使用软件的连接次数、连接占用资源等信息将连接调度到合适的设备上。也可以根据平台系统可视化节点的资源负载进行调度[7],如图2所示。
图2 连接管理子系统流程图
4 远程三维可视化子系统
远程三维可视化解释子系统包括:可视化服务器端部署;可视化客户端部署;远程三维可视化解释的实现[8]。
三维可视化云平台整体业务流程如图3所示。
图3 三维可视化云平台程序信息网络图
图3中,系统整体可分为信息展现层、流程控制与核心功能层、数据存储层、数据交换层和被管理对象层等5个层次。
4.1 可视化服务器端部署
HPZ820工作站8台作为解释软件服务器,内存256GB,双图形接口K6000,操作系统版本是Linux5.8,64位系统。Oracle x2-8两台多路服务器做Jason反演软件服务器。
实现步骤:
关闭系统iptables.java;
GPU图形接口驱动安装及配置;
Nvidia_gpu.sh ;
dcv-2016.c;
如果系统安装了tigervnc,会提示卸载,选择y卸载。
如果安装过程有错误,结束后会有提示。
如果没有错误,那么安装完成可以进行测试。
如果安装后提示有错误,修正问题后,再次执行dcvdiag进行检查。
dcv默认是自启动的,如果需要手动关闭或开启:
关闭:dcvadmin disable
开启:dcvadmin enable
需执行init 3;init 5后生效,或者重启服务器。
4.2 可视化客户端部署
4.2.1 Windows系统客户端
dcvwin.java
4.2.2 Linux系统Redhat5和Redhat6客户端
dcvlinred5-6.c
添加环境变量,添加如下内容到/etc/csh.cshrc文件末尾
setenv LD_LIBRARY_PATH /opt/firefox/usr/lib64
setenv PATH /opt/firefox/lib64/firefox:$PATH
添加如下内容到/etc/profile文件末尾
export LD_LIBRARY_PATH=/opt/firefox/usr/lib64:$LD_LIBRARY_PATH
export PATH=/opt/firefox/usr/lib64/firefox:$PATH
安装中文字体,首先需配置光盘镜像yum源,完成后执行
yum -y install *chinese* #fore redhat5
yum -y groupinstall chinese-support #fore redhat6
reboot
4.2.3 Linux系统Redhat4客户端
dcvlinred4.c
vncclient.c
启动程序[9]
将startvnc stopvnc脚本拷贝到/usr/bin目录下,将user_hosts文件拷贝到/opt/paratera目录下。user_hosts格式如下:
192.10.200.200 ow2003
192.10.200.245 jason
表示对应哪个主机允许哪个用户连接。
传统的可视化操作中,应用软件通过本地高速I/O通道向显示接口发送图形处理命令,显示接口将这些数据进行渲染成图像后显示在屏幕上。在地震资料解释系统中,显示接口资源不在本地。因此,使用的模式同样发生变化。所有的图形渲染工作都是在数据中心的图形工作站上进行的,图像通过特有的三维可视化数据传输协议经网络传送到远程的屏幕上。
4.3 远程三维可视化解释的实现
结合远程三维可视化数据传输方式的优缺点,采用GLX Interposer的方式实现地震资料解释远程三维可视化。采用TurboVNC作为服务器端和客户端的传输方式。
TurboVNC把被控制端的屏幕做成图像,经过压缩后传送到客户端,客户端的控制信息(如鼠标信息)传送到被控制端后进入消息队列,其控制是基于tcp/ip的,其中vnc server扮演了双重角色,vnc protocal是基于RFB protocal的。TurboVNC采用RFB协议传输,在控制端不能直接改变显示大小,只能进行缩放,如缩放为原大小的几倍。原理是在远程机器上运行一个额外的X服务器,X服务器和客户机器都在远程跑。然后通过RFB协议用自己的客户端显示到本地。
如图4所示,服务器端的数据被分为三维数据和二维数据,两种数据通过两种通道进行传输。其中,二维数据通过VNC通道,经过RFB(“RFB“是RFB Remote Frame Buffer 远程帧缓冲的缩写,是一个用于远程访问图形用户界面的简单协议。由于 RFB 协议工作在帧缓冲层,因此它适用于所有的窗口系统和应用程序)协议传输;三维数据通过VGL(VirtualGL,处理远程三维可视化的协议)协议进行传输。三维数据直接在物理机上实现三维数据渲染,图形数据压缩,然后把压缩数据包传到客户端,经过解压、还原数据图形等显示出来给解释用户。
图4 地震资料解释远程三维可视化实现原理图
每个图形进程可以分配给一个用户独立使用,这样多个图形进程就可以通过内核空间共享底层的GPU资源。也就是说,通过VNC启动多个Server,可以对每一个Server分配一个图形进程,用户在只要通过VNC客户端连接属于他的图形进程就可以了。
5 多路解释和并行地震反演子系统
根据管理员预先在系统内配置好的远程连接资源,由用户在页面操作申请连接,根据用户选择的软件、用户组信息,进行远程开启桌面操作。如图5所示。
图5 多路解释和并行反演运算原理图
管理员配置好资源后,普通用户登录系统在web页面点击想要使用的软件,系统自动调度到用户有权限使用且性能最好的一台服务器开启远程桌面,供用户使用,多用户可以同时使用一台服务器,大大提升了资源的有效利用。同时本系统也大大提高了用户的体验,用户只需要记住自己的用户名及密码即可,告别传统ssh方式,大大提高了用户的工作效率及相互间的协作。
5.1 三维可视化云平台系统效果图展示
以下是三维可视化云平台系统在实际应用的效果图,如图6~图9所示。
图6 三维可视化云平台系统界面
图7 选择连接应用软件
图8 三维可视化数据体立体可视化显示
图9 Jason反演图
6 结 论
地震资料解释远程三维可视化云平台系统的实现,成功把低版本解释软件landMark、Jason移植到高端新型工作站和多路服务器上,其中Oracle数据库移植属国内首创;开发了多路共享远程三维可视化云平台系统,实现了在普通微机上做地震资料解释。有效解决地震资料处理解释生产应用中的资源失衡、系统安全和管理手段落后等生产技术难题,从而降低了生产和管理成本,有效提升了地震解释软硬件资源的利用率和生产效率。