CN114257629A - 变电站三维模型渲染方法、系统、计算机设备和存储介质 - Google Patents
变电站三维模型渲染方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114257629A CN114257629A CN202111346327.0A CN202111346327A CN114257629A CN 114257629 A CN114257629 A CN 114257629A CN 202111346327 A CN202111346327 A CN 202111346327A CN 114257629 A CN114257629 A CN 114257629A
- Authority
- CN
- China
- Prior art keywords
- information
- target server
- client
- rendering
- target
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种变电站三维模型渲染方法、装置、计算机设备和存储介质。该方法应用于渲染系统中,包括:中转设备在接收到客户端发送的渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件;目标服务端在接收输入事件后,对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端。采用本方法能够提高变电站三维模型的渲染效果。
Description
技术领域
本申请涉及智能变电站领域,特别是涉及一种变电站三维模型渲染方法、系统、计算机设备和存储介质。
背景技术
变电站三维模型渲染技术是用于实现智能变电站可视化的重要技术之一。在对变电站三维模型进行渲染时,Web开发人员开发在客户端运行浏览器上的网页程序来使用WebGL渲染场景,渲染过程的时候浏览器就会借助客户端的显卡来在浏览器页面中展示渲染后的网页。
现有技术中,进行变电站三维模型渲染时,通常是在客户端上进行页面渲染操作,但这种渲染方法比较依赖客户端的CPU和内存等硬件配置。当客户端硬件配置较差时,客户端渲染处理能力较低,容易出现页面卡顿的情况,渲染效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升变电站三维模型渲效果的变电站三维模型渲染方法、装置、计算机设备和存储介质。
第一方面,提供了一种变电站三维模型渲染方法,用于渲染系统中,该渲染系统包括客户端、中转设备以及多个服务端,该方法包括:
客户端向中转设备发送渲染请求;
中转设备在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;
客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件,输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件;
目标服务端在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。
在其中一个实施例中,将目标服务端的目标端口信息以及IP地址信息发送至客户端之前,包括:
中转设备向目标服务端发送连接请求,并接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息。
在其中一个实施例中,接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息之前,包括:
目标服务端在接收连接请求后基于WebRTC协议获取目标端口信息以及IP地址信息。
在其中一个实施例中,WebRTC协议包括turnserver协议,基于WebRTC协议获取目标端口信息以及IP地址信息,包括:
基于turnserver协议获取IP地址信息以及目标服务端的可用端口信息;
根据可用端口信息确定目标端口信息。
在其中一个实施例中,WebRTC协议包括turnserver协议,基于目标端口信息以及IP地址信息与目标服务端建立通信连接之后,方法还包括:
目标服务端基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端;
客户端在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
在其中一个实施例中,该方法还包括:
在目标服务端的目标端口信息以及IP地址信息发送至客户端之后,中转设备修改目标服务端的负载信息,并根据修改后的负载信息更新配置文件;
目标服务端检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息;
中转设备接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息;
中转设备根据更新后的负载信息更新配置文件。
在其中一个实施例中,目标服务端包括puppeteer软件包,基于输入事件对变电站三维模型执行渲染操作以生成视频流,包括:
调用puppeteer软件包并以无头模式启动目标服务端上的浏览器;
将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作;
获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
第二方面,提供了一种变电站三维模型渲染系统,该系统包括客户端、中转设备以及多个服务端,具体包括:
中转设备,用于在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;
客户端,用于向中转设备发送渲染请求,基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件,输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件;
目标服务端,用于在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。
在其中一个实施例中,该中转设备还用于:
向目标服务端发送连接请求,并接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息。
在其中一个实施例中,该目标服务端还用于:
目标服务端在接收连接请求后基于WebRTC协议获取目标端口信息以及IP地址信息。
在其中一个实施例中,WebRTC协议包括turnserver协议,该目标服务端还用于:
基于turnserver协议获取IP地址信息以及目标服务端的可用端口信息;
根据可用端口信息确定目标端口信息。
在其中一个实施例中,WebRTC协议包括turnserver协议,该系统还包括:
目标服务端,用于基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端;
客户端,用于在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
在其中一个实施例中,该系统还包括:
中转设备,用于在将目标服务端的目标端口信息以及IP地址信息发送至客户端之后,修改目标服务端的负载信息,并根据修改后的负载信息更新配置文件;
目标服务端,用于检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息;
中转设备,还用于接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息;根据更新后的负载信息更新配置文件。
在其中一个实施例中,目标服务端包括puppeteer软件包,该目标服务端还用于:
调用puppeteer软件包并以无头模式启动目标服务端上的浏览器;
将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作;
获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该计算机程序被该处理器执行时实现如上述第一方面所述的变电站三维模型渲染方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的变电站三维模型渲染方法。
上述变电站三维模型渲染方法、系统、计算机设备和存储介质,中转设备在接收到客户端发送的渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件;目标服务端在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。由于是目标服务端基于输入事件对变电站三维模型执行渲染操作以生成视频流,目标服务端配置相对较高,无需依赖客户端执行渲染操作,降低了在对变电站三维模型渲染时对客户端配置的依赖性,提高了变电站三维模型的渲染效果;同时由于中转设备是根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,通过确定负载最小的服务端以用于执行渲染操作,提高了服务端的利用率,避免了目标服务端过载,提高渲染操作的执行效率。
附图说明
图1为一个实施例中变电站三维模型渲染方法的应用环境图;
图2为一个实施例中变电站三维模型渲染方法的流程示意图;
图3为一个实施例中客户端架构图;
图4为一个实施例中渲染系统的架构图;
图5为一个实施例中变电站三维模型渲染方法的流程示意图;
图6为一个实施例中变电站三维模型渲染方法的流程示意图;
图7为一个实施例中渲染系统中通信信息传输示意图;
图8为一个实施例中变电站三维模型渲染方法的流程示意图;
图9为一个实施例中渲染系统的架构图;
图10为一个实施例中步骤104的流程示意图;
图11为一个实施例中变电站三维模型渲染方法的流程示意图;
图12为一个实施例中渲染系统的架构图;
图13为一个实施例中变电站三维模型渲染装置的结构框图;
图14为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在电力系统中,变电站三维模型将成为智能变电站可视化建模三维展示的焦点。基于我国变电站的发展情况,其未来的发展将集中在3D智能化、3D可视化以及3D虚拟现实等领域。其中,变电站三维模型渲染技术是用于实现智能变电站可视化的重要技术之一。
相关技术中,在对变电站三维模型进行渲染时,Web开发人员开发在客户端运行浏览器上的网页程序来使用WebGL渲染场景,渲染过程的时候浏览器就会借助客户端的显卡来在浏览器页面中展示渲染后的页面。
但是上述变电站三维模型渲染方法,通常是在客户端上进行渲染操作,但这种渲染方法比较依赖客户端的CPU和内存等硬件配置。当客户端硬件配置较差时,客户端渲染处理能力较低,容易出现页面卡顿的情况,该变电站三维模型渲染渲染效果较差。
有鉴于此,本申请实施例提供了一种变电站三维模型渲染方法,提高变电站三维模型渲染效果,降低对客户端硬件配置的依赖性。
本申请实施例提供的变电站三维模型渲染方法,可以应用于如图1所示的应用环境中。该变电站三维模型渲染方法应用于渲染系统中,包括客户端100、中转设备200以及多个服务端300,图1仅示出服务端为3个的情况。客户端100与中转设备200、中转设备200与服务端300以及客户端100与服务端300之间通过网络进行通信。客户端100为终端,该终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。中转设备200以及服务端300为服务器,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参考图2,其示出了本申请实施例提供的一种变电站三维模型渲染方法的流程图。如图2所示,该变电站三维模型渲染方法应用于渲染系统中,包括以下步骤:
步骤101,客户端向中转设备发送渲染请求。
可选的,用户启动本地电脑上的浏览器,在本机电脑上通过浏览器访问客户端SDK,启动客户端,如图3所示。即通过chrome浏览器访问客户端SDK提供的接口地址客户端即可开始运行。
可选的,通过检测用户是否启动客户端来确定客户端向中转设备发送渲染请求的时刻,若检测到用户启动客户端,则使客户端向中转设备发送渲染请求。
可选的,通过检测用户是否在浏览器页面上操作来判断客户端是否发送渲染请求,若检测到用户在浏览器页面上操作,则客户端向中转设备发送渲染请求,其中,该操作可以是打开变电站三维模型文件的操作。
可选的,该渲染请求是http请求。
步骤102,中转设备在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端。
其中,配置文件包括各服务端的负载情况。
可选的,中转设备通过调用该配置文件,从该配置文件中获取各服务器的负载情况,比较各服务器的负载情况,得到负载最小的服务端,并将该负载最小的服务端确定为目标服务端。
步骤103,客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件。
其中,输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件。其中鼠标输入事件包括鼠标单击事件、鼠标双击事件以及鼠标滚轮事件等。
可选地,通过websocket的方式,根据目标端口信息以及IP地址信息完成客户端和目标服务端之间的握手操作,以建立客户端和目标服务端之间的通信连接。
可选的,利用PyHook实现输入事件的监控,pyHook包为Windows中的全局鼠标和键盘事件提供回调。
步骤104,目标服务端在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。
可选的,服务端中存储有输入事件与渲染操作的映射关系表。当服务端接收到输入事件后,通过查找该映射关系表查找该映射关系表,确定对应的渲染操作,根据该渲染操作对变电站三维模型进行渲染,利用webGL和Canvas实时生成视频流。
该实施例通过中转设备在接收到客户端发送的渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件;目标服务端在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。由于是目标服务端基于输入事件对变电站三维模型执行渲染操作以生成视频流,目标服务端配置相对较高,无需依赖客户端执行渲染操作,降低了在对变电站三维模型渲染时对客户端配置的依赖性,提高了变电站三维模型的渲染效果;同时由于中转设备是根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,通过确定负载最小的服务端以用于执行渲染操作,提高了服务端的利用率,避免了目标服务端过载,提高渲染操作的执行效率。
在本申请实施中,基于图2所示的实施例,本实施例涉及的是步骤102中将目标服务端的目标端口信息以及IP地址信息发送至客户端之前,包括以下步骤:中转设备向目标服务端发送连接请求,并接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息。
其中,该连接请求可以为http连接请求。
可选的,该连接请求可以通过tcp和UDP两种形式进行发送。
本申请实施例通过中转设备向目标服务端发送连接请求,接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息,实现了目标服务端与中转设备之间的通信,便于后续利用中转设备实现客户端和目标服务端的通信连接的目的。
在本申请实例中,在接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息之前,还包括以下步骤:
目标服务端在接收连接请求后基于WebRTC协议获取目标端口信息以及IP地址信息。
其中,目标服务端上安装有WebRTC协议软件包。
可选的,中转设备和目标服务器之间通过WebRTC协议实现二者之间的点对点通信。利用NAT(网络地址转换)映射建立中转设备和目标服务器之间的WebRTC连接通道,目标服务器根据该NAT映射获取目标端口信息以及IP地址信息。
本申请实施例通过基于WebRTC协议获取目标端口信息以及IP地址信息,实现了中转设备和目标服务器的点对对通信,提高通信的安全性。
在一种优选的实现方式中,如图4所示,WebRTC协议包括turnserver协议。则基于WebRTC协议获取目标端口信息以及IP地址信息的实现过程,如图5所示,包括步骤201和步骤202:
步骤201,基于turnserver协议获取IP地址信息以及目标服务端的可用端口信息。
具体的,目标服务端通过turnserver协议配置或修改其可用端口数量以及可用端口范围,例如1000~1005。目标服务端在接收到中转设备发送的连接请求时,基于turnserver协议,确定目标服务端的IP地址以及其对应的可用端口。
步骤202,根据可用端口信息确定目标端口信息。
具体的,目标服务端在获取到可用端口后,会从可用端口中选择一个端口作为目的端口以用于中站设备与目标服务端的通信。
该申请实施例借助turnserver协议实现了目的服务端的IP地址与端口的配置,防止目的服务端被攻击,保护目的服务端上存储数据的安全。
在本申请实施例中,如图5所示,WebRTC协议包括turnserver协议。基于turnserver协议具有信令服务功能。如图6所示,基于图2所示的实施例,步骤103中客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接之后,该变电站三维模型渲染方法还包括步骤301和步骤302:
步骤301,目标服务端基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端。
其中,第一信令服务信息至少包括会话控制消息、错误消息、媒体元数据、密钥数据、安全令牌数据以及网络数据等信息中的一种。其中会话控制消息用于控制打开或者关闭通信通道;错误消息用于当通信通道的一方发送错误时发送消息提示另一方;媒体元数据包括编码器和解码器的设置信息,带宽信息以及视频类型等;密钥数据用于建立安全的通信连接。
步骤302,客户端在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
其中,第二信令服务信息至少包括会话控制消息、错误消息、媒体元数据、密钥数据、安全令牌数据以及网络数据等信息中的一种。
具体的,如图7所示,目标服务端caller基于webRTC中的turnserver协议的turnserver,发送信令信息signaling给客户端callee;客户端接收该信令服务信息,并借助turnserver发送响应信息signaling(包括客户端的IP地址信息、客户端的端口信息和第二信令服务信息)至目标服务端,与目标服务端完成通信连接。
本申请实施例通过目标服务端基于turnserver协议,获取信令服务信息,并将信令服务信息发送给中转设备,中转设备在接收到信令服务信息后,将信令服务信息发送给客户端,客户端根据目标端口信息、IP地址信息以及信令服务信息与目标服务端建立通信连接,实现了通信连接的安全。
本申请实施例中,请参照图8,基于上述实施例,该变电站三维模型渲染方法还包括步骤401、步骤402和步骤403:
步骤401,在目标服务端的目标端口信息以及IP地址信息发送至客户端之后,中转设备修改目标服务端的负载信息,并根据修改后的负载信息更新配置文件。
可选的,中转设备上的配置文件中存储有目标服务端的负载信息值;当中转设备把目标服务端的目标端口信息以及IP地址信息发送至客户端之后,中转设备读取本地配置获取会将目标服务端的负载信息值,然后将该负载信息值加1得到修改后的负载信息值,并将修改后的负载信息值保存至该配置文件对目标服务端的负载信息值的存储位置处。
步骤402,目标服务端检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息。
在一种可选的实现方式中,目标服务端通过read(byte[],int,int)方法来监测通信连接是否断开;如果客户端断开连接,服务器端的read方法将抛出IOException异常。
在另一种可选的实现方式中,目标服务端可利用自定义的心跳机制来监测通信连接是否断开。
步骤403,中转设备接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息,中转设备根据更新后的负载信息更新配置文件。
可选的,当中转设备接收到目标服务端发送的通信连接断开信息后,会读取本地配置获取会将目标服务端的负载信息值,然后将该负载信息值减1得到修改后的负载信息值,并将修改后的负载信息值保存至该配置文件对目标服务端的负载信息值的存储位置处。
该实施例通过在目标服务端的目标端口信息以及IP地址信息发送至客户端之后中转设备修改目标服务端的负载信息以及通过目标服务端检测通信连接是否断开,并在通信连接断开的情况下向中转设备发送通信连接断开信息使中转设备根据通信连接断开信息更新目标服务端的负载信息,最后根据该负载信息更新配置文件,保证了配置文件中目标服务端的负载信息的准确性。
本申请实施例中,请参照图9,目标服务端包括puppeteer软件包。则基于图2所示的实施例,如图10所示,步骤104中基于输入事件对变电站三维模型执行渲染操作以生成视频流,包括步骤501,步骤502和步骤503:
步骤501,调用puppeteer软件包并以无头模式启动目标服务端上的浏览器。
可选的,调用puppeteer软件包,通过DevTools Protocol控制headless chrome,启动目标服务端上的浏览器的chrome实例。
步骤502,将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作。
可选的,目标服务端上存储有输入事件与三维场景渲染信息的映射关系表。目标服务端在接收到三维场景渲染信息,会通过查表的方式,确定对应的三维场景渲染信息。
可选的,chrome实例利用WebGL工具根据三维场景渲染信息执行渲染操作。
步骤503,获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
其中,chrome实例利用WebGL工具根据三维场景渲染信息执行渲染操作后会实时生成一系列图像信息,将这一系列图像信息作为变电站三维模型信息。
该实施例通过调用puppeteer软件包并以无头模式启动目标服务端上的浏览器,将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作并获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流,实现了在目标服务端执行变电站3D模型的渲染操作,提高渲染操作的执行效率。
本申请实施例中,如图11所示,提供了一种变电站三维模型渲染方法,应用于渲染系统中,该渲染系统的架构如图12所示,该方法包括以下步骤:
步骤601,客户端向中转设备发送渲染请求。
步骤602,中转设备在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,向目标服务端发送连接请求。
步骤603,目标服务端在接收连接请求后基于WebRTC协议中的turnserver获取IP地址信息以及目标服务端的可用端口信息,根据可用端口信息确定目标端口信息。
步骤604,中转设备接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息并修改目标服务端的负载信息,根据修改后的负载信息更新配置文件。
步骤605,中转设备将目标服务端的目标端口信息以及IP地址信息发送至客户端。
步骤606,客户端根据目标端口信息以及IP地址信息与目标服务端建立通信连接。
步骤607,目标服务端基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端。
步骤608,客户端在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
步骤609,客户端监控并基于通信连接传输输入事件,其中,输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件。
步骤610,目标服务端在接收输入事件后,调用puppeteer软件包并以无头模式启动目标服务端上的浏览器。
步骤611,目标服务端将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作。
步骤612,目标服务端获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
步骤613,目标服务端将生成的视频流推送至客户端以使客户端显示视频流。
步骤614,目标服务端检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息。
步骤615,中转设备接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息,根据更新后的负载信息更新配置文件。
该实施例通过目标服务端在接收客户端发送的输入事件后基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流,由于是目标服务端基于输入事件对变电站三维模型执行渲染操作以生成视频流,目标服务端配置相对较高,无需依赖客户端执行渲染操作,降低了在对变电站三维模型渲染时对客户端配置的依赖性,提高了变电站三维模型的渲染效果;同时通过中转设备在接收到客户端发送的渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端,客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,由于中转设备是根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,通过确定负载最小的服务端以用于执行渲染操作,提高了服务端的利用率,避免了目标服务端过载,提高渲染操作的执行效率。此外,由于是基于WebRTC协议中的turnserver获取IP地址信息、目标服务端的目标端口信息以及信令服务信息以用于客户端和目标服务端的通信连接的建立,提高了通信的安全性。
应该理解的是,虽然图2、图5-6、图8以及图10-11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图5-6、图8以及图10-11中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在本申请实施例中,如图13所示,提供了一种变电站三维模型渲染系统,该系统包括客户端、中转设备以及多个服务端,其中:
中转设备,用于在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;
客户端,用于向中转设备发送渲染请求,基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件,输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件;
目标服务端,用于在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。
在一个实施例中,该中转设备还用于:
向目标服务端发送连接请求,并接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息。
在一个实施例中,该目标服务端还用于:
目标服务端在接收连接请求后基于WebRTC协议获取目标端口信息以及IP地址信息。
在一个实施例中,WebRTC协议包括turnserver协议,该目标服务端还用于:
基于turnserver协议获取IP地址信息以及目标服务端的可用端口信息;
根据可用端口信息确定目标端口信息。
在一个实施例中,WebRTC协议包括turnserver协议,该系统还包括:
目标服务端,用于基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端;
客户端,用于在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
在一个实施例中,该系统还包括:
中转设备,用于在将目标服务端的目标端口信息以及IP地址信息发送至客户端之后,修改目标服务端的负载信息,并根据修改后的负载信息更新配置文件;
目标服务端,用于检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息;
中转设备,还用于接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息;根据更新后的负载信息更新配置文件。
在一个实施例中,目标服务端包括puppeteer软件包,该目标服务端还用于:
调用puppeteer软件包并以无头模式启动目标服务端上的浏览器;
将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作;
获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种变电站三维模型渲染方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
步骤101,客户端向中转设备发送渲染请求;
步骤102,中转设备在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;
步骤103,客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件;
步骤104,目标服务端在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
中转设备向目标服务端发送连接请求,并接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
目标服务端在接收连接请求后基于WebRTC协议获取目标端口信息以及IP地址信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于turnserver协议获取IP地址信息以及目标服务端的可用端口信息;根据可用端口信息确定目标端口信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
目标服务端基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端;客户端在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在目标服务端的目标端口信息以及IP地址信息发送至客户端之后,中转设备修改目标服务端的负载信息,并根据修改后的负载信息更新配置文件;
目标服务端检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息;中转设备接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息;中转设备根据更新后的负载信息更新配置文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用puppeteer软件包并以无头模式启动目标服务端上的浏览器;将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作;获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
步骤101,客户端向中转设备发送渲染请求;
步骤102,中转设备在接收到渲染请求后,根据本地存储的配置文件从多个服务端中确定负载最小的目标服务端,并将目标服务端的目标端口信息以及IP地址信息发送至客户端;
步骤103,客户端基于目标端口信息以及IP地址信息与目标服务端建立通信连接,监控并基于通信连接传输输入事件;
步骤104,目标服务端在接收输入事件后,基于输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的视频流推送至客户端以使客户端显示视频流。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
中转设备向目标服务端发送连接请求,并接收目标服务端基于连接请求返回的目标端口信息以及IP地址信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
目标服务端在接收连接请求后基于WebRTC协议获取目标端口信息以及IP地址信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
基于turnserver协议获取IP地址信息以及目标服务端的可用端口信息;根据可用端口信息确定目标端口信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
目标服务端基于turnserver协议,获取第一信令服务信息,并将信令服务信息发送给客户端;客户端在接收到第一信令服务信息后,返回客户端的IP地址信息、客户端的端口信息和第二信令服务信息至目标服务端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在目标服务端的目标端口信息以及IP地址信息发送至客户端之后,中转设备修改目标服务端的负载信息,并根据修改后的负载信息更新配置文件;
目标服务端检测通信连接是否断开,并在通信连接断开的情况下,向中转设备发送通信连接断开信息;中转设备接收通信连接断开信息,并根据通信连接断开信息更新目标服务端的负载信息;中转设备根据更新后的负载信息更新配置文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用puppeteer软件包并以无头模式启动目标服务端上的浏览器;将输入事件传递给浏览器,以使浏览器根据输入事件确定对应的三维场景渲染信息并根据三维场景渲染信息执行渲染操作;获取执行渲染操作后得到的变电站三维模型信息,根据变电站三维模型信息生成视频流。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种变电站三维模型渲染方法,其特征在于,用于渲染系统中,所述渲染系统包括客户端、中转设备以及多个服务端,所述方法包括:
所述客户端向所述中转设备发送渲染请求;
所述中转设备在接收到所述渲染请求后,根据本地存储的配置文件从所述多个服务端中确定负载最小的目标服务端,并将所述目标服务端的目标端口信息以及IP地址信息发送至所述客户端;
所述客户端基于所述目标端口信息以及所述IP地址信息与所述目标服务端建立通信连接,监控并基于所述通信连接传输输入事件,所述输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件;
所述目标服务端在接收所述输入事件后,基于所述输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的所述视频流推送至所述客户端以使所述客户端显示所述视频流。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标服务端的目标端口信息以及IP地址信息发送至所述客户端之前,所述方法还包括:
所述中转设备向所述目标服务端发送连接请求,并接收所述目标服务端基于所述连接请求返回的所述目标端口信息以及所述IP地址信息。
3.根据权利要求2所述的方法,其特征在于,所述接收所述目标服务端基于所述连接请求返回的所述目标端口信息以及所述IP地址信息之前,所述方法还包括:
所述目标服务端在接收所述连接请求后基于WebRTC协议获取所述目标端口信息以及所述IP地址信息。
4.根据权利要求3所述的方法,其特征在于,所述WebRTC协议包括turnserver协议,所述基于WebRTC协议获取所述目标端口信息以及所述IP地址信息,包括:
基于所述turnserver协议获取所述IP地址信息以及所述目标服务端的可用端口信息;
根据所述可用端口信息确定所述目标端口信息。
5.根据权利要求3所述的方法,其特征在于,所述WebRTC协议包括turnserver协议,所述基于所述目标端口信息以及所述IP地址信息与所述目标服务端建立通信连接之后,所述方法还包括:
所述目标服务端基于所述turnserver协议,获取第一信令服务信息,并将所述信令服务信息发送给客户端;
所述客户端在接收到所述第一信令服务信息后,返回所述客户端的IP地址信息、所述客户端的端口信息和第二信令服务信息至所述目标服务端。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述目标服务端的目标端口信息以及IP地址信息发送至所述客户端之后,所述中转设备修改所述目标服务端的负载信息,并根据修改后的负载信息更新所述配置文件;
所述目标服务端检测所述通信连接是否断开,并在所述通信连接断开的情况下,向所述中转设备发送通信连接断开信息;
所述中转设备接收所述通信连接断开信息,并根据所述通信连接断开信息更新所述目标服务端的负载信息;
所述中转设备根据更新后的所述负载信息更新所述配置文件。
7.根据权利要求1所述的方法,其特征在于,所述目标服务端包括puppeteer软件包,所述基于所述输入事件对变电站三维模型执行渲染操作以生成视频流,包括:
调用所述puppeteer软件包并以无头模式启动所述目标服务端上的浏览器;
将所述输入事件传递给所述浏览器,以使所述浏览器根据所述输入事件确定对应的三维场景渲染信息并根据所述三维场景渲染信息执行所述渲染操作;
获取执行所述渲染操作后得到的变电站三维模型信息,根据所述变电站三维模型信息生成所述视频流。
8.一种变电站三维模型渲染系统,其特征在于,所述系统包括客户端、中转设备以及多个服务端;
所述中转设备,用于在接收到所述渲染请求后,根据本地存储的配置文件从所述多个服务端中确定负载最小的目标服务端,并将所述目标服务端的目标端口信息以及IP地址信息发送至所述客户端;
所述客户端,用于向所述中转设备发送所述渲染请求,基于所述目标端口信息以及所述IP地址信息与所述目标服务端建立通信连接,监控并基于所述通信连接传输输入事件,所述输入事件包括键盘输入事件、鼠标输入事件以及键盘鼠标结合输入事件;
所述目标服务端,用于在接收所述输入事件后,基于所述输入事件对变电站三维模型执行渲染操作以生成视频流,并将生成的所述视频流推送至所述客户端以使所述客户端显示所述视频流。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111346327.0A CN114257629A (zh) | 2021-11-15 | 2021-11-15 | 变电站三维模型渲染方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111346327.0A CN114257629A (zh) | 2021-11-15 | 2021-11-15 | 变电站三维模型渲染方法、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114257629A true CN114257629A (zh) | 2022-03-29 |
Family
ID=80792539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111346327.0A Pending CN114257629A (zh) | 2021-11-15 | 2021-11-15 | 变电站三维模型渲染方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257629A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279526A (zh) * | 2013-05-30 | 2013-09-04 | 中国科学院国家天文台 | 一种基于ActiveX的WebGIS三维月球系统及实现方法 |
CN105263050A (zh) * | 2015-11-04 | 2016-01-20 | 山东大学 | 基于云平台的移动终端实时渲染系统及其方法 |
CN108965381A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 基于Nginx的负载均衡实现方法、装置、计算机设备和介质 |
CN112925584A (zh) * | 2021-02-26 | 2021-06-08 | 北京百度网讯科技有限公司 | 基于场景的文件配置方法、设备、存储介质及程序产品 |
-
2021
- 2021-11-15 CN CN202111346327.0A patent/CN114257629A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279526A (zh) * | 2013-05-30 | 2013-09-04 | 中国科学院国家天文台 | 一种基于ActiveX的WebGIS三维月球系统及实现方法 |
CN105263050A (zh) * | 2015-11-04 | 2016-01-20 | 山东大学 | 基于云平台的移动终端实时渲染系统及其方法 |
CN108965381A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 基于Nginx的负载均衡实现方法、装置、计算机设备和介质 |
CN112925584A (zh) * | 2021-02-26 | 2021-06-08 | 北京百度网讯科技有限公司 | 基于场景的文件配置方法、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020221190A1 (zh) | 小程序状态同步方法、设备和计算机存储介质 | |
WO2018196617A1 (zh) | 一种页面加载方法、系统、服务器及终端 | |
CA2848747C (en) | Remote process execution management | |
US8762544B2 (en) | Selectively communicating data of a peripheral device to plural sending computers | |
CN110999260B (zh) | 在基于代理的网络通信中的控制数据的传输 | |
US10165058B2 (en) | Dynamic local function binding apparatus and method | |
US9223534B1 (en) | Client side detection of motion vectors for cross-platform display | |
CN112312187B (zh) | 对视频进行投屏播放的方法、装置、设备及存储介质 | |
TW201347469A (zh) | 透過閘道器伺服器或服務以存取雲端運算服務儲存的多媒體裝置 | |
EP3197122B1 (en) | Method of forwarding in-application traffic on smart mobile terminal | |
CN110399578B (zh) | 页面访问方法及装置 | |
WO2018107719A1 (zh) | 数据分享方法、装置、终端设备和服务器 | |
CN109743381B (zh) | 客户端与服务端长连接交互方法及装置 | |
WO2014034001A1 (ja) | Webコンテンツ先読み制御装置、Webコンテンツ先読み制御プログラム、及びWebコンテンツ先読み制御方法 | |
US20220171011A1 (en) | Positioning method and device, server, storage medium and terminal | |
CN115225707A (zh) | 资源访问方法及装置 | |
CN113676485A (zh) | 虚拟现实交互方法、装置、存储介质与电子设备 | |
CN115550687A (zh) | 三维模型场景交互方法、系统、设备、装置及存储介质 | |
EP3740869B1 (en) | Automated distribution of models for execution on a non-edge device and an edge device | |
CN109951487A (zh) | 一种Portal认证方法和装置 | |
JP5077272B2 (ja) | クライアント装置、サーバベース・コンピューティング・システム、およびクライアント制御プログラム | |
JP2009110041A (ja) | ウェブ画面の共有システム、その共有用端末機およびその共有プログラム | |
WO2023246486A1 (zh) | 一种创建连接器的方法及装置 | |
CN113038192A (zh) | 视频处理方法、装置、电子设备和存储介质 | |
JP2001236525A (ja) | 情報処理装置および方法、情報処理システム、並びに記録媒体 |
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 |