CN108074210B - 一种用于云渲染的对象获取系统和方法 - Google Patents
一种用于云渲染的对象获取系统和方法 Download PDFInfo
- Publication number
- CN108074210B CN108074210B CN201611040183.5A CN201611040183A CN108074210B CN 108074210 B CN108074210 B CN 108074210B CN 201611040183 A CN201611040183 A CN 201611040183A CN 108074210 B CN108074210 B CN 108074210B
- Authority
- CN
- China
- Prior art keywords
- rendering
- model file
- server
- storage unit
- object storage
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 261
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 claims abstract description 181
- 230000008569 process Effects 0.000 claims abstract description 56
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于云渲染的对象获取系统和方法,能够提高模型文件的利用率,避免重复下载,降低渲染服务器与对象存储服务器之间的带宽需求,缩短渲染对象获取的时间并增强渲染的实时性。所述对象获取系统包括:通过网络连接的调度服务器、对象存储服务器、数据库服务器、以及一个或者多个3D渲染服务器;其中,3D渲染服务器包括3D渲染模块和热点存储模块,用于根据渲染请求建立3D渲染进程,当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,返回对应的模型文件在热点对象存储单元中的内部存储地址;根据内部存储地址读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于云渲染的对象获取系统和方法。
背景技术
渲染在电脑绘图中是指用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于3D物体的描述,它包括几何、视点、纹理以及照明信息。随着三维(Three-Dimensional,3D)模型技术在工业设计、工业制造等众多领域的广泛应用,已经积累了丰富的数字化3D模型。尤其是3D打印技术的飞速发展,一方面为如何应用已有的大量3D模型提供了丰富的途径;另一方面,各个细分专业领域的用户通过对现有3D模型的修改,进一步产生了更大数量且具有更多细节的3D模型。从海量的且具有大量细节的3D模型数据中搜索出与特定需求匹配的3D模型,并快速展现给用户需要依赖于云渲染技术,例如分布在网络中不同位置的具有渲染资源的分布式云计算机系统。
授权公告号为205193879U的实用新型专利公开了一种云计算渲染系统,其包括任务分配服务器、模板管理服务器、合成服务器和云渲染集群,其中渲染场景文件分散地存储在影视制作中心的各台制作电脑上,当不同的制作电脑需要使用同一场景文件进行云渲染时,每一台制作电脑都需要将场景文件发送给任务分配服务器,云渲染集群根据渲染任务分别从任务分配服务器获取相同的场景文件。当影视制作中心中的制作电脑物理上分布范围更广且数量更大时,或者在例如前述的3D模型搜索展示时所需要的实时云渲染等应用场景,对任务分配服务器的带宽需求将成倍增长,而大量重复对相同场景等渲染对象文件进行传输,不仅造成带宽的巨大浪费,而且会在影响带宽的同时降低云渲染的实时性。
发明内容
本发明的目的之一至少在于,针对上述现有技术存在的问题,提供一种用于云渲染的对象获取系统和方法,能够提高模型文件的利用率,避免重复下载,降低渲染服务器与对象存储服务器之间的带宽需求,缩短渲染对象获取的时间并增强渲染的实时性,增强渲染的实时性。
一种用于云渲染的对象获取系统,其包括:通过网络连接的调度服务器、对象存储服务器、数据库服务器、以及一个或者多个3D渲染服务器;其中,
调度服务器,用于响应接收到的渲染请求,将该渲染请求分配给对应的3D渲染服务器;
对象存储服务器,用于存储模型文件;数据库服务器,用于提供主模型数据库,主模型数据库存储有模型文件摘要信息和对应的模型文件在对象存储服务器中的外部存储地址;
3D渲染服务器包括3D渲染模块和热点存储模块,其中,3D渲染模块用于,根据渲染请求建立3D渲染进程,通过3D渲染进程向热点存储模块发送读取模型文件请求;热点存储模块用于,当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,返回对应的模型文件在热点对象存储单元中的内部存储地址;3D渲染进程还用于,根据内部存储地址读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染。
优选地,所述3D渲染模块还用于:
当热点对象存储单元中没有请求渲染的模型文件时,通过3D渲染进程从数据库服务器获取请求渲染的模型文件在对象存储服务器中的外部存储地址,并根据外部存储地址从对象存储服务器下载对应的模型文件,根据渲染请求中的渲染要求对下载的模型文件进行云渲染。
优选地,所述热点存储模块还用于:当热点对象存储单元的可用存储空间大于预设阈值时,将从对象存储服务器下载的模型文件存储到热点对象存储单元中。
优选地,所述热点存储模块用于:统计热点对象存储单元中存储的模型文件在预设时间段内被3D渲染进程读取的次数,获取热点对象存储单元中存储的模型文件的使用频率。
优选地,所述热点存储模块还用于:统计热点对象存储单元中存储的模型文件在预设时间段内被多个3D渲染进程读取的次数之和。
优选地,所述热点存储模块还用于:当热点对象存储单元的可用存储空间小于或者等于预设阈值时或者根据预设的时间周期,按照使用频率从小到大依次删除热点对象存储单元中使用频率小于预设阈值的模型文件。
优选地,所述热点存储模块还用于提供热点数据库;热点数据库存储有模型文件摘要信息和对应的模型文件在热点对象存储单元中的内部存储地址,以及模型文件的使用频率。
优选地,所述热点存储模块还用于:根据读取模型文件请求中的模型文件摘要信息,判断热点对象存储单元中是否存储有相同的模型文件。
优选地,所述内部存储地址为模型文件在3D渲染服务器中的数据逻辑地址。
一种用于云渲染的对象获取方法,其包括以下步骤:
响应接收到的渲染请求,将该渲染请求分配给对应的3D渲染服务器的调度步骤;
根据渲染请求建立3D渲染进程,通过3D渲染进程向热点存储模块发送读取模型文件请求;
当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,返回对应的模型文件在热点对象存储单元中的内部存储地址;
根据内部存储地址读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染。
综上所述,由于采用了上述技术方案,本发明至少具有以下有益效果:
通过3D渲染进程向热点存储模块发送读取模型文件请求,当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,根据内部存储地址直接读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染,能够提高模型文件的利用率,避免热点模型文件的重复下载,降低渲染服务器与对象存储服务器之间的带宽需求,缩短渲染对象获取的时间并增强渲染的实时性。
附图说明
图1是本发明实施例一提供的用于云渲染的对象获取系统的结构示意图;
图2是本发明实施例一提供的用于云渲染的对象获取系统中3D渲染服务器的结构示意图;
图3是本发明实施例二提供的用于云渲染的对象获取系统中主要数据流向示意图;
图4是本发明实施例三提供的用于云渲染的对象获取系统和方法应用于3D对象搜索场景的云渲染示意图;
图5是本发明实施例四提供的用于云渲染的对象获取系统中云渲染计算资源的结构示意图;
图6是使用本发明实施例四提供的用于云渲染的对象获取系统中云渲染计算资源实施云渲染的流程图。
具体实施方式
下面结合附图及实施例,对本发明进行进一步详细说明,以使本发明的目的、技术方案及优点更加清楚明白。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,本发明实施例一提供的一种用于云渲染的对象获取系统包括:通过网络连接的调度服务器、对象存储服务器、数据库服务器、以及一个或者多个3D渲染服务器。其中,网络可以包括局域网LAN、城域网MAN、广域网WAN、TDD-LTE、FDD-LTE移动通信网络等,连接方式包括通过各种有线、无线通信接口实现的连接。
图2示出了本发明实施例一提供的一种用于云渲染的对象获取系统中3D渲染服务器的结构示意图。如图2所述,3D渲染服务器主要包括3D渲染模块和热点存储模块。其中,3D渲染模块用于根据渲染请求建立一个或者多个3D渲染进程,3D渲染进程根据渲染请求中的渲染要求获取对应的模型文件,并调用3D渲染服务器的云渲染计算资源对模型文件进行云渲染,以获取渲染结果。
热点存储模块主要包括热点对象存储单元,热点对象存储单元中存储有一定数量的模型文件,即云渲染的渲染对象,可以包括各种固定或者动态的3D场景模型文件、色彩、光影、材质等模型元素文件。这些模型文件是在3D渲染进程从对象存储服务器下载后保存到热点对象存储单元中的,并可以根据模型文件的使用频率大小来确定其保存时间的长短,并可以统计模型文件的使用频率,将使用频率高于预设值的模型文件标记为热点模型文件。当3D渲染进程向热点存储模块请求读取模型文件时,热点存储模块直接根据请求读取的模型文件的摘要信息,向3D渲染进程返回对应于热点对象存储单元的内部存储地址,例如,模型文件在3D渲染服务器中的数据逻辑地址,3D渲染进程因此可以直接从热点对象存储单元读取对应的模型文件,而不需要从外部的其他服务器(例如对象存储服务器)中远程下载模型文件,从而减少了获取渲染对象所需的时间,提高了云渲染的实时性。
当进一步增大热点对象存储单元中所存储的模型文件的规模时,为了更高效地管理所存储的热点模型文件,热点存储模块还可以进一步包括热点数据库,用于存储模型文件摘要信息和对应于热点对象存储单元的内部存储地址,以及模型文件的使用频率。当3D渲染进程向热点存储模块请求读取模型文件时,热点存储模块通过查询热点数据库,向3D渲染进程返回对应的内部存储地址,3D渲染进程进而可以根据返回的内部地址从热点对象存储单元读取对应的模型文件。
实施例二
图3示出了本发明实施例二公开的一种用于云渲染的对象获取系统的主要数据流向。
调度服务器收到来自用户或者负载均衡服务器的渲染请求后,根据其管辖的3D渲染服务器的运行状态,将渲染请求分配给合适的3D渲染服务器,例如在预设时间段内执行过相同或者类似渲染请求的3D渲染服务器,或者有相应渲染计算资源的3D渲染服务器。
3D渲染服务器中的3D渲染模块根据渲染请求建立相应的3D渲染进程,3D渲染进程直接根据热点存储模块返回的内部存储地址从热点对象存储单元读取热点模型文件,并调用3D渲染服务器的计算资源对模型文件进行云渲染。进一步地,还可以将渲染结果以视频流的形式发送给用户并相应用户的操作反馈再次执行云渲染。
当热点存储模块中没有请求渲染的模型文件时,3D渲染模块根据模型文件的摘要信息从数据库服务器获取对应的模型文件在存储服务器中的外部存储地址。例如,包括对象存储服务器的IP地址、端口号、存储ID等的地址信息。
3D渲染模块根据模型文件的外部存储地址从对象存储服务器下载对应的模型文件,3D渲染进程调用3D渲染服务器的计算资源对下载的模型文件进行云渲染。
进一步地,热点存储模块可以将下载的模型文件存储到热点对象存储单元,统计热点对象存储单元中存储的模型文件在预设时间段内被3D渲染进程读取的次数,获取热点对象存储单元中存储的模型文件的使用频率。当热点对象存储单元的可用存储空间小于或者等于预设阈值时或者根据预设的时间周期,按照使用频率从小到大依次删除热点对象存储单元中使用频率小于预设阈值的模型文件,以进一步提高热点模型文件的应用效率。
并且,热点对象存储单元中存储的模型文件可以同时被多个3D渲染进程读取,因此,可以在预设时间段内统计被多个3D渲染进程读取的次数之来更精确地获取相应模型文件的使用频率。热点存储模块可以根据读取模型文件请求中的模型文件摘要信息,判断热点对象存储单元中是否存储有相同的模型文件,具体地,例如可以通过消息摘要算法第五版MD5、散列HASH算法等获取的固定长度或者非固定长度模型文件摘要信息来判断两个模型文件是否相同。
实施例三
下文结合图4对本发明实施例三提供的用于云渲染的对象获取系统和方法,应用于展示3D对象搜索云渲染结果场景进行详细描述。
如图4所示,该应用场景中,用于处理用户搜索请求的3D对象搜索系统402包括:第一负载均衡服务器4021、集群缓存(Memcache)数据库服务器4023、一个或多个3D对象搜索网页(World Wide Web,Web)服务器4024。
本发明实施例三公开的用于云渲染的对象获取系统403除了包括上述通过网络连接的调度服务器4033、对象存储服务器4037、数据库服务器(包括可写数据库服务器4034和可读数据库服务器4035)、以及一个或者多个3D渲染服务器400,还包括:第二负载均衡服务器4031、第三负载均衡服务器4032、一个或多个网页服务代理(Web Servers Proxy)服务器4036。
下文所述的步骤可以分别单独执行,也可以并行执行或者按照预设的顺序来执行。其中,标号相同的步骤,表示数据交互流程的主体相同,但数据交互的具体内容可以相同,也可以有所不同,即该步骤可以包括多项数据交互内容,根据要实现的功能,可以选择不同的数据交互内容组合。
在用户执行3D对象搜索之前,3D渲染服务器403可以通过如下实施例的步骤来完成其运行状态的上报和渲染环境的准备:
步骤18:3D渲染模块4038启动后,在预设的时间或者周期地,通过调度服务器4033提供的接口主动向调度服务器4033所在的负载均衡服务器(例如,第二负载均衡服务器4031)上报注册信息;
步骤20:网页服务代理服务器4036在预设的时间或者周期地,通过调度服务器4033提供的接口主动向调度服务器4033所在的载均衡服务器(例如,第二负载均衡服务器4031)上报其运行状态信息;
步骤19:第二负载均衡服务器4031按照传输控制协议(Transmission ControlProtocol,TCP)代理的规则,将接收到的运行状态信息分发给较空闲的调度服务器4033进行处理;
步骤21:调度服务器4033通过处理其他服务器定期上报的运行状态信息,获取系统中各个功能模块的运行状态,并将结果存储到可写数据库服务器4034;
步骤22:可写数据库服务器4034和可读数据库服务器4035通过数据库的配置进行自动同步,同时可以实现主模型数据库的冗余备份。
步骤13:Memcache数据库服务器4023从可读数据库服务器4035同步主模型数据库中存储的模型文件摘要信息和对应的模型文件在对象存储服务器4037中的外部存储地址的URL。
通过3D对象搜索装置401登录3D对象搜索系统402后,进行3D对象搜索的流程可以通过如下实施例的步骤实现:
步骤1:用户通过3D对象搜索装置401上的浏览器在3D对象搜索的首页,向第一负载均衡服务器4021发送包括3D对象描述信息的3D对象搜索请求,例如将3D模型名称作为搜索关键字;
步骤4:第一负载均衡服务器4021按照TCP代理的规则,将收到的3D对象搜索请求发送给较空闲的3D对象搜索Web服务器4024进行处理;
步骤16:3D对象搜索Web服务器4024通过调用Memcache数据库服务器4023提供的表述性状态传递应用程序编程接口(Representational State Transfer ApplicationProgram Interface,RESTful API),获取包括3D对象索引信息的搜索结果列表,并生成搜索结果页面;
步骤5:3D对象搜索Web服务器4024将搜索结果页面发送给第一负载均衡服务器4021;
步骤2:第一负载均衡服务器4021将搜索结果页面发送给3D对象搜索装置401。
用于云渲染的对象获取系统403响应于渲染请求并显示3D对象实时离屏渲染结果的流程可以通过如下实施例的步骤实现:
步骤1:用户通过3D对象搜索装置401上的浏览器点击搜索结果页面里的模型文件的缩略图,向第一负载均衡服务器4021发送渲染请求;
步骤4:第一负载均衡服务器4021按照HTTP代理的规则,将收到的渲染请求发送给较空闲的3D对象搜索Web服务器4024进行处理;
步骤16:3D对象搜索Web服务器4024通过Memcache数据库服务器4023查询该模型文件分类、渲染要求、计算资源预算等信息,并为本次渲染请求分配Session ID;
步骤17:3D对象搜索Web服务器4024将包括Session ID以及渲染要求的渲染请求发送给调度服务器4033对应的第二负载均衡服务器4031;
步骤19:第二负载均衡服务器4031分配合适的调度服务器4033对渲染请求进行处理;
步骤24:调度服务器4033通知对应的3D渲染模块4038创建3D渲染进程4039,为渲染请求中的Session ID分配合适的3D渲染进程4039;
步骤21:调度服务器4033将Session ID与3D渲染进程4039的映射关系存储到可写数据库服务器4034,进一步地,可以通过步骤22将该映射关系同步到可读数据库服务器4035;
步骤26:3D渲染模块4038根据调度服务器4033的通知创建3D渲染进程4039;
在上述步骤16之后,可以在执行步骤17、19、21、24、以及26时,并行执行如下步骤:
步骤5:3D对象搜索Web服务器4024将包括Session ID和3D渲染服务器400的IP地址的3D对象渲染信息,发送给第一负载均衡服务器4021;
步骤2:第一负载均衡服务器4021将该3D对象渲染信息发送给3D对象搜索装置401;
步骤8:3D对象搜索装置401解析(例如,通过Java脚本语言解析)该3D对象渲染信息后,根据3D渲染服务器400的IP地址,通过第三负载均衡服务器4032连接到于云渲染的对象获取系统403,并发送获取3D对象渲染结果请求;
步骤9:第三负载均衡服务器4032为该获取3D对象渲染结果请求分配合适的Web服务代理服务器4036;
步骤23:Web服务代理服务器4036通过将请求中的Session ID与从可读数据库服务器4035获取的Session ID进行匹配,来标识不同的3D对象搜索装置401发起的会话;
步骤11:Web服务代理服务器4036根据步骤23的匹配结果为该获取3D对象渲染结果请求分配对应的3D渲染进程4039;
步骤25:成功创建的3D渲染进程4039启动后,3D渲染进程4039从热点存储模块4040获取模型文件在热点对象存储单元4041的内部存储地址;
步骤27:3D渲染进程4039根据内部存储地址直接从热点对象存储单元4041读取对应的模型文件,进行3D对象实时离屏渲染,获取实时离屏渲染结果;
当步骤25中热点存储模块4040返回的结果表示热点对象存储单元4041中没有请求渲染的模型文件时,还可以进一步包括步骤28:3D渲染进程4039从可读数据库服务器4035获取请求渲染的模型文件在对象存储服务器4037中的外部存储地址;以及步骤29:3D渲染进程4039根据外部存储地址从对象存储服务器4037下载对应的模型文件,进行3D对象实时离屏渲染,获取实时离屏渲染结果;
步骤12:3D渲染进程4039将3D对象实时离屏渲染结果发送给Web服务代理服务器4036;
步骤10:Web服务代理服务器4036根据该3D对象实时离屏渲染结果生成3D对象实时离屏渲染结果页面,发送给第三负载均衡服务器4032;
步骤7:第三负载均衡服务器4032将3D对象实时离屏渲染结果页面发送给3D对象搜索装置401。
实施例四
下文结合图5和图6对本发明一实施例提供的3D渲染服务器通过实时离屏渲染实现云渲染的具体过程进行详细说明。其中,3D渲染服务器可以是分布在多个物理和/或逻辑位置的分布式服务器,例如基于多家云计算平台服务商提供的云计算服务器。
如图5所示,3D渲染服务器的云渲染计算资源可以包括:宿主机、多个图形处理器(Graphic Processing Unit,GPU)、内存、以及内存管理单元(Memory Management Unit,MMU)。
在宿主机上设置多个虚拟机V1、VN,宿主机上运行的虚拟机软件可以选择模拟处理器软件QEMU,操作系统可以选择Linux操作系统,多个GPU可以选择英伟达NVIDIA公司生产的GTX970显卡。当一个虚拟机启动时,3D渲染服务器创建3D渲染进程时分配一个未被使用的GPU与该虚拟机进行绑定,该GPU被该虚拟机独占使用,直到该虚拟机注销或者重置,该GPU不被其他虚拟机共享使用;当另一个虚拟机启动时,分配另一个未被使用的GPU与该另一个虚拟机进行绑定,来处理另一项渲染任务。
在绑定过程中,可以通过虚拟功能输入/输出外设组件互连标准(VirtualFunction Input/Output Peripheral Component Interconnection,VFIO-PCI)驱动根据映射关系来配置MMU与输入/输出内存管理单元(Input/Output Memory Management Unit,IOMMU)(图6中F和G步骤),从而使虚拟机的GPU驱动可以直接访问GPU硬件(图6中C步骤),GPU硬件可以直接访问虚拟机的内存(图6中D步骤)。
具体的,宿主机将内存映射到物理地址空间(Host Physical Address Space,HPASpace)的内存地址区域,对该区域的访问即可实现对内存的访问,将宿主机的GPU的物理资源映射到物理地址空间的GPU地址区域,虚拟机的GPU驱动可以访问该段地址空间,实现对GPU进行控制。进一步地,由于可以同时设置多个虚拟机分别处理多个渲染任务,将不连续的虚拟机内存区域映射为连续的VFIO-PCI地址空间段。因此,每个虚拟机的内存在访问内存时,先访问位于地址空间的内存地址空间,内存地址空间提供与该虚拟机内存地址对应的宿主机内存,继而进行数据的读写操作;虚拟机的GPU驱动在访问GPU时先通过GPU地址空间得到映射设于GPU地址空间的GPU控制寄存器地址,通过GPU控制寄存器,继而控制GPU进行实时离屏渲染渲染。
如图6所示,使用如上述配置的3D渲染服务器的云渲染计算资源进行实时离屏渲染渲染包括以下步骤:
步骤A:虚拟机中的3D应用程序将从热点存储模块读取或者从对象存储服务器中下载的模型文件写入虚拟机的内存中;
步骤B:虚拟机中的3D应用程序将渲染请求发送到虚拟机的GTX970驱动程序;
步骤C、GTX970驱动访问GPU地址空间段,将渲染请求写入GTX970控制寄存器中;
步骤D:GTX970根据控制寄存器的信息,对映射的连续的VFIO-PCI地址空间段进行直接内存访问,获取渲染所需的数据;
步骤E:GTX970对渲染数据进行处理,将渲染结果输出至请求端。
上述实施例中,通过采用GPU虚拟化技术,将多块GPU的计算能力资源化,根据客户端提交的实时3D渲染请求在3D渲染服务器端按需进行3D云渲染,并将实时3D渲染结果以视频流的方式发送到客户端屏幕,并可以对客户端的键盘、鼠标、游戏操纵设备进行操作映射,使服务器端的3D渲染对象可以实时响应客户的操作需求,上述云渲染具有如下优点:
1、GPU运算能力资源化,按需弹性分配,是大型3D软件(例如,计算机辅助工程(Computer Aided Engineering,CAE)工具、游戏等)软件即服务(Software-as-a-Service,SaaS)化的基本条件;2、不消耗客户端GPU资源,可在任何客户端运行大型3D应用;3、跨平台能力强,部署成本低,现有的GPU虚拟化技术仅支持NVIDIA的专业显卡价格昂贵,并且只支持DirectX 3D和Windows7虚拟机,本发明还利用GPU虚拟技术支持NVIDIA的普通游戏,支持Windows和Linux虚拟机,同时支持OpenGL、DirectX 3D带来灵活的跨平台能力;4、客户端无需下载任何3D模型就可以直接在浏览器或APP中直接显示、操纵3D内容。
并且,通过3D渲染进程向热点存储模块发送读取模型文件请求,当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,根据内部存储地址直接读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染,能够提高模型文件的利用率,避免热点模型文件的重复下载,降低渲染服务器与对象存储服务器之间的带宽需求,缩短渲染对象获取的时间并增强渲染的实时性。
以上实施方式仅用于说明本发明的较佳实施例,而非对本发明的限制。相关技术领域的技术人员在不脱离本发明的原则和范围的情况下,做出的各种替换、变型以及改进均应包含在本发明的保护范围之内。
Claims (5)
1.一种用于云渲染的对象获取系统,其特征在于,所述对象获取系统包括:通过网络连接的调度服务器、对象存储服务器、数据库服务器、以及一个或者多个3D渲染服务器;其中,
调度服务器,用于响应接收到的渲染请求,将该渲染请求分配给对应的3D渲染服务器;
对象存储服务器,用于存储模型文件;数据库服务器,用于提供主模型数据库,主模型数据库存储有模型文件摘要信息和对应的模型文件在对象存储服务器中的外部存储地址;
3D渲染服务器包括3D渲染模块和热点存储模块,其中,3D渲染模块用于,根据渲染请求建立3D渲染进程,通过3D渲染进程向热点存储模块发送读取模型文件请求;热点存储模块用于,当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,返回对应的模型文件在热点对象存储单元中的内部存储地址;3D渲染进程还用于,根据内部存储地址读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染;当热点对象存储单元中没有请求渲染的模型文件时,通过3D渲染进程从数据库服务器获取请求渲染的模型文件在对象存储服务器中的外部存储地址,并根据外部存储地址从对象存储服务器下载对应的模型文件,根据渲染请求中的渲染要求对下载的模型文件进行云渲染;
所述热点存储模块还用于:当热点对象存储单元的可用存储空间大于预设阈值时,将从对象存储服务器下载的模型文件存储到热点对象存储单元中;
所述热点存储模块还用于:统计热点对象存储单元中存储的模型文件在预设时间段内被3D渲染进程读取的次数,获取热点对象存储单元中存储的模型文件的使用频率;
所述热点存储模块还用于:当热点对象存储单元的可用存储空间小于或者等于预设阈值时,或者根据预设的时间周期,按照使用频率从小到大依次删除热点对象存储单元中使用频率小于预设阈值的模型文件;
所述热点存储模块还用于提供热点数据库;热点数据库存储有模型文件摘要信息和对应的模型文件在热点对象存储单元中的内部存储地址,以及模型文件的使用频率。
2.根据权利要求1所述的对象获取系统,其特征在于,所述热点存储模块还用于:统计热点对象存储单元中存储的模型文件在预设时间段内被多个3D渲染进程读取的次数之和。
3.根据权利要求1所述的对象获取系统,其特征在于,所述热点存储模块还用于:根据读取模型文件请求中的模型文件摘要信息,判断热点对象存储单元中是否存储有相同的模型文件。
4.根据权利要求1至3中任一项所述的对象获取系统,其特征在于,所述内部存储地址为模型文件在3D渲染服务器中的数据逻辑地址。
5.一种用于云渲染的对象获取方法,其特征在于,所述对象获取方法包括以下步骤:
响应接收到的渲染请求,将该渲染请求分配给对应的3D渲染服务器的调度步骤;
根据渲染请求建立3D渲染进程,通过3D渲染进程向热点存储模块发送读取模型文件请求;
当热点存储模块中的热点对象存储单元中存储有请求渲染的模型文件时,根据模型文件的摘要信息,查询热点存储模块的热点数据库,返回对应的模型文件在热点对象存储单元中的内部存储地址;
根据内部存储地址读取对应的模型文件,根据渲染请求中的渲染要求对读取的模型文件进行云渲染;
统计热点对象存储单元中存储的模型文件在预设时间段内被3D渲染进程读取的次数,获取热点对象存储单元中存储的模型文件的使用频率,并将模型文件的使用频率存储于热点存储模块的热点数据库中;当热点对象存储单元的可用存储空间小于或者等于预设阈值时,或者根据预设的时间周期,按照使用频率从小到大依次删除热点对象存储单元中使用频率小于预设阈值的模型文件;
当热点对象存储单元中没有请求渲染的模型文件时,通过3D渲染进程从数据库服务器获取请求渲染的模型文件在对象存储服务器中的外部存储地址;
根据外部存储地址从对象存储服务器下载对应的模型文件,根据渲染请求中的渲染要求对下载的模型文件进行云渲染;
获取热点对象存储单元的可用存储空间,当可用存储空间大于预设阈值时,将从对象存储服务器下载的模型文件存储到热点对象存储单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611040183.5A CN108074210B (zh) | 2016-11-10 | 2016-11-10 | 一种用于云渲染的对象获取系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611040183.5A CN108074210B (zh) | 2016-11-10 | 2016-11-10 | 一种用于云渲染的对象获取系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108074210A CN108074210A (zh) | 2018-05-25 |
CN108074210B true CN108074210B (zh) | 2021-05-11 |
Family
ID=62161465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611040183.5A Active CN108074210B (zh) | 2016-11-10 | 2016-11-10 | 一种用于云渲染的对象获取系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108074210B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020088681A1 (zh) * | 2018-11-01 | 2020-05-07 | 华为技术有限公司 | 模型文件的管理方法和终端设备 |
CN109669737B (zh) * | 2018-12-19 | 2023-04-18 | 百度在线网络技术(北京)有限公司 | 应用处理方法、装置、设备和介质 |
CN111460402A (zh) * | 2019-01-18 | 2020-07-28 | 广州问天信息技术有限公司 | 一种游戏设计云渲染系统 |
CN109949413A (zh) * | 2019-03-27 | 2019-06-28 | 武汉数文科技有限公司 | 模型展示方法、系统及电子设备 |
CN110413375A (zh) * | 2019-06-28 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种虚拟机互斥访问主机设备的方法及装置 |
CN115080885A (zh) * | 2022-06-13 | 2022-09-20 | 成都四方伟业软件股份有限公司 | 基于云渲染的本地文件上传和加载方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235926B2 (en) * | 2012-12-24 | 2016-01-12 | Intel Corporation | Techniques for improving MSAA rendering efficiency |
CN103281394A (zh) * | 2013-06-07 | 2013-09-04 | 北京奇虎科技有限公司 | 文件获取方法、节点服务器和系统 |
CN103369363B (zh) * | 2013-06-27 | 2016-08-24 | 北京新思易佳科技有限公司 | 一种应用程序的控制方法、系统及装置 |
US20150006742A1 (en) * | 2013-07-01 | 2015-01-01 | Echostar Technologies L.L.C. | Live non-av content over a dlna network |
CN204129725U (zh) * | 2014-06-09 | 2015-01-28 | 国家超级计算深圳中心(深圳云计算中心) | 一种云渲染系统 |
CN105488837B (zh) * | 2015-11-24 | 2019-06-04 | 成都云创互联信息技术有限公司 | 基于云计算的实时离屏渲染方法、装置及系统 |
CN105654539A (zh) * | 2015-12-31 | 2016-06-08 | 中国南方电网有限责任公司 | 变电站运行监控的三维可视化方法 |
-
2016
- 2016-11-10 CN CN201611040183.5A patent/CN108074210B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108074210A (zh) | 2018-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108074210B (zh) | 一种用于云渲染的对象获取系统和方法 | |
CN108073350B (zh) | 一种用于云渲染的对象存储系统和方法 | |
CN110764901B (zh) | 基于gpu资源的数据处理方法、电子设备及系统 | |
JP7092736B2 (ja) | コンテナオーケストレーションサービスを使用した動的ルーティング | |
JP6853391B2 (ja) | マップインターフェースにおける待ち時間の低減 | |
US10699364B2 (en) | Graphical rendering using multiple graphics processors | |
CN104636077B (zh) | 用于虚拟机的网络块设备存储系统与方法 | |
US20140109087A1 (en) | Virtual machine provisioning using replicated containers | |
CN104834722A (zh) | 基于cdn的内容管理系统 | |
CN107580011B (zh) | 一种数据共享方法及桌面云服务端 | |
US8675002B1 (en) | Efficient approach for a unified command buffer | |
CN103679813B (zh) | 三维数字地球的构建方法以及三维数字地球系统 | |
US20240296151A1 (en) | Cloud server application management method, apparatus, device, computer-readable storage medium, and computer program product | |
US8938599B2 (en) | Distributed graph storage system | |
CN111324667B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN112316433A (zh) | 游戏画面渲染方法、装置、服务器和存储介质 | |
CN112506646A (zh) | 显存分配的方法及装置 | |
CN107967165B (zh) | 基于lvm的虚拟机离线迁移方法 | |
CN107491446B (zh) | 三维对象搜索方法、装置及系统 | |
CN111427887A (zh) | 一种快速扫描HBase分区表的方法、装置、系统 | |
WO2023035619A1 (zh) | 一种场景渲染方法、装置、设备及系统 | |
US9088631B2 (en) | Game streaming system and method of supporting the multiuser and multiplatform | |
CN115827236A (zh) | 实景三维在云发布过程中负载性能优化方法及系统 | |
CN113468275B (zh) | 图数据库的数据导入方法和装置、存储介质及电子设备 | |
CN113849255B (zh) | 一种数据处理方法、设备以及存储介质 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180621 Address after: 610000 China (Sichuan) free trade pilot zone, 5 floor, 5 building, 99, west section of lakeside road, Tianfu New District, Chengdu. Applicant after: Chengdu Yun Chuang interconnected Information Technology Co., Ltd. Address before: 610213 846, southern section of Tianfu Avenue, Huayang street, Tianfu New District, Chengdu, Sichuan Applicant before: Chengdu Hermes Polytron Technologies Inc |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |