一种在线渲染方法及系统的制作方法

文档序号:10613728阅读:227来源:国知局
一种在线渲染方法及系统的制作方法
【专利摘要】本发明提供一种在线渲染方法及系统,该方法包括:网页服务器接收渲染任务数据包;网页服务器依据负载均衡将渲染任务数据包分配至多个任务池中的任意一个;任务池实时镜像同步至其余任务池;渲染装置按照预设的时间从多个任务池中拉取渲染任务;渲染装置启动多进程对渲染任务数据包进行正常渲染。综上,本发明高渲染机器的渲染能力,通过多进程处理渲染任务使集群平行拓展简单稳定,通过任务饱和度动态自动调节,可平稳渡过渲染任务高峰期。
【专利说明】
_种在线渲染方法及系统
技术领域
[0001]本发明涉及图片渲染及通信技术领域,特别涉及一种在线渲染方法及系统。
【背景技术】
[0002]随着图片、音视频清晰程度的提升及大数据大爆炸时代带来的海量素材的急速增长,瑞昱图片渲染的需求也越来越高。在线渲染逐渐成为一项基础服务提供给用户使用
[0003]在线渲染是指用户终端把3D模型场景放到远程的高性能服务器中渲染。这种情况下,用户终端先构建场景与模型,然后通过互联网接入渲染资源,并向远程渲染服务器发出渲染指令。渲染服务器根据指令执行对应的渲染任务,并将渲染图像结果传送回用户终端中加以显示。
[0004]目前,在线渲染一般都在云端部署了强大的,以便给用户实时高效的渲染能力。集群渲染是一组计算机通过网络通信协议连接在一起的计算机群,依靠大量的计算机的计算资源提供给客户快速且高质量的渲染效果。
[0005]但是,当前的集群渲染通过大量高性能的渲染服务器连接一起,并发地计算渲染数据以缩短时间,达到快速渲染的效果,如此必须通过硬件资源才能换取时间效率,即用户必须准备好渲染数据,提供渲染后,需要等待数小时或数天时间才能达到渲染结果。故现有技术会带来以下问题:
[0006]1、当前的集群渲染框架使用了大量的机器,没有完全发挥出每台机器的渲染性能,且渲染耗时普遍在数小时以上,不适应大量用户并发渲染需求。
[0007]2、现有技术中渲染集群添加或删除计算机配置十分繁杂,更新配置后需要重启系统或重新加载配置,会影响当前系统的稳定运行。
[0008]3、当前渲染集群不具备动态自调节能力,以应对突发的用户渲染请求高峰期。

【发明内容】

[0009]本发明要解决的技术问题在于针对现有技术中没有完全发挥出每台机器的渲染性能,且渲染耗时普遍在数小时以上,添加或删除计算机配置十分繁杂,更新配置后需要重启系统或重新加载配置,渲染集群不具备动态自调节能力的缺陷,提供一种在线渲染方法及系统。
[0010]本发明解决技术问题采用的技术手段是提供一种在线渲染方法,包括:
[0011]网页服务器从客户端处接收渲染任务数据包;
[0012]所述网页服务器依据负载均衡将所述渲染任务数据包分配至多个任务池中的任意一个;
[0013]收到所分配的所述渲染任务数据包的任务池实时镜像同步至所述多个任务池的其余任务池;
[0014]渲染装置按照预设的时间从所述多个任务池中拉取渲染任务以获取所述渲染任务数据包;
[0015]所述渲染装置启动多进程对所述渲染任务数据包进行正常渲染;当所述多进程的进程数量达到预设的阈值时,提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染和/或高质量渲染。
[0016]在本发明所述的在线渲染方法中,所述网页服务器依据负载均衡将所述渲染任务数据包分配至多个任务池中的任意一个的步骤包括:
[0017]所述网页服务器依据所述负载均衡向所述多个任务池中的一个发送通信请求;
[0018]若接收所述通信请求的任务池不响应所述通信请求,则所述网页服务器依据所述负载均衡向所述多个任务池中异于不响应所述通信请求的任务池的一个发送通信请求;
[0019]若接收所述通信请求的任务池响应所述通信请求,则所述网页服务器将所述渲染任务数据包分配至所述响应所述通信请求的任务池。
[0020]在本发明所述的在线渲染方法中,所述收到所分配的所述渲染任务数据包的任务池实时镜像同步至所述多个任务池的其余任务池的步骤中:
[0021]每个所述任务池均包括多个用于与所述渲染装置连接的调用接口 ;
[0022]所述多个任务池依据队列对所述渲染任务数据包进行读写。
[0023]在本发明所述的在线渲染方法中,所述渲染装置按照预设的时间从所述多个任务池中拉取渲染任务以获取所述渲染任务数据包的步骤包括:
[0024]所述渲染装置按照预设的时间向所述多个任务池中的主任务池发送拉取渲染任务请求;所述多个任务池包括多个主任务池及多个备任务池;
[0025]若所述主任务池响应所述拉取渲染任务请求,则所述渲染装置从所述主任务池的队列的队列头获取所述渲染任务数据包,所述主任务池从所述队列头删除所述渲染任务数据包;
[0026]若所述主任务池不响应所述拉取渲染任务请求,则所述渲染装置按照预设的时间向所述多个任务池中的备任务池发送拉取渲染任务请求;
[0027]若所述备任务池响应所述拉取渲染任务请求,则所述渲染装置从所述备任务池的队列的队列头获取所述渲染任务数据包,所述备任务池从所述队列头删除所述渲染任务数据包;
[0028]若所述备任务池不响应所述拉取渲染任务请求,则所述渲染装置按照预设的时间向所述多个备任务池中异于不响应所述拉取渲染任务请求的备任务池的一个发送拉取渲染任务请求。
[0029]在本发明所述的在线渲染方法中,所述渲染装置启动多进程对所述渲染任务数据包进行正常渲染的步骤中:
[0030]通过热拔插的方式启动所述多进程。
[0031]另一方面,提供一种在线渲染系统,包括:
[0032]网页服务器,用于从客户端处接收渲染任务数据包,并依据负载均衡将所述渲染任务数据包分配至多个任务池中的任意一个;
[0033]多个任务池,其通信连接至所述网页服务器,所述多个任务池用于将收到所分配的所述渲染任务数据包的任务池实时镜像同步至所述多个任务池的其余任务池;
[0034]渲染装置,其通信连接至所述多个任务池,所述渲染装置用于按照预设的时间从所述多个任务池中拉取渲染任务以获取所述渲染任务数据包,并启动多进程对所述渲染任务数据包进行正常渲染;当所述多进程的进程数量达到预设的阈值时,提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染和/或高质量渲染。
[0035]在本发明所述的在线渲染系统中,所述网页服务器包括:
[0036]通信模块,用于依据所述负载均衡向所述多个任务池中的一个发送通信请求;
[0037]判断模块,用于判断接收所述通信请求的任务池是否响应所述通信请求,若否,则依据所述负载均衡向所述多个任务池中异于不响应所述通信请求的任务池的一个发送通信请求;若是,则所述网页服务器将所述渲染任务数据包分配至所述响应所述通信请求的任务池。
[0038]在本发明所述的在线渲染系统中,每个所述任务池均包括多个用于与所述渲染装置连接的调用接口;
[0039]所述多个任务池依据队列对所述渲染任务数据包进行读写。
[0040]在本发明所述的在线渲染系统中,所述渲染装置包括:
[0041]拉取模块,用于按照预设的时间向所述多个任务池中的主任务池发送拉取渲染任务请求;其中,所述多个任务池包括多个主任务池及多个备任务池;
[0042]主任务池判断模块,用于判断所述主任务池是否响应所述拉取渲染任务请求,若是,则从所述主任务池的队列的队列头获取所述渲染任务数据包,所述主任务池从所述队列头删除所述渲染任务数据包;若否,则按照预设的时间向所述多个任务池中的备任务池发送拉取渲染任务请求;
[0043]备任务池判断模块,用于判断所述备任务池是否响应所述拉取渲染任务请求,若是,则从所述备任务池的队列的队列头获取所述渲染任务数据包,所述备任务池从所述队列头删除所述渲染任务数据包;若否,则所述渲染装置按照预设的时间向所述多个备任务池中异于不响应所述拉取渲染任务请求的备任务池的一个发送拉取渲染任务请求。
[0044]在本发明所述的在线渲染系统中,所述渲染装置通过热拔插的方式启动所述多进程。
[0045]实施本发明中的一种在线渲染方法及系统具有以下有益效果:提高渲染机器的渲染能力,通过多进程处理渲染任务使集群平行拓展简单稳定,通过任务饱和度动态自动调节,可平稳渡过渲染任务高峰期。
【附图说明】
[0046]图1是本发明提供的一种在线渲染方法的流程图;
[0047]图2是本发明提供的一种在线渲染系统的结构示意图。
【具体实施方式】
[0048]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0049]本发明提供的在线渲染方法及系统,其目的在于,构建三层构架:网页服务器I (Webserver)、任务池2及清染装置3 (清染Agent),整个清染系统各模块间低親合,稳定,可拓展性强。其中,任务池2支持集群镜像同步及数据持久化,池内数据以队列形式管理;渲染装置3具备根据任务池2饱和度动态自动调节能力,平稳应对用户渲染请求高峰期。
[0050]参见图1,图1是本发明提供的一种在线渲染方法的流程图,该在线渲染方法包括以下步骤:
[0051]S1、网页服务器I从客户端处接收渲染任务数据包;例如,客户端通过HTTP (超文本传输协议,HyperText Transfer Protocol)协议向网页服务器I发送post包,该post包即渲染任务数据包的数据封装包,其可适用于该次HTTP协议传输。
[0052]S2、所述网页服务器I依据负载均衡将所述渲染任务数据包分配至多个任务池2中的任意一个;该步骤S2包括以下子步骤:
[0053]S21、所述网页服务器I依据所述负载均衡向所述多个任务池2中的一个发送通信请求;网页服务器I收到该post包之后,形成本次渲染任务的ID,根据该ID取模以负载均衡至其中之一个任务池2。负载均衡是建立在现有网络结构之上,其提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。总之,负载均衡的意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
[0054]S22、若接收所述通信请求的任务池2不响应所述通信请求,则所述网页服务器I依据所述负载均衡向所述多个任务池2中异于不响应所述通信请求的任务池2的一个发送通信请求;
[0055]S23、若接收所述通信请求的任务池2响应所述通信请求,则所述网页服务器I将所述渲染任务数据包分配至所述响应所述通信请求的任务池2。
[0056]S3、收到所分配的所述渲染任务数据包的任务池2实时镜像同步至所述多个任务池2的其余任务池2 ;每个所述任务池2均包括多个用于与所述渲染装置3连接的调用接口,同时所述多个任务池2包括多个主任务池2及多个备任务池2 ;所述多个任务池2依据队列对所述渲染任务数据包进行读写。即多个任务池2支持集群镜像,数据持久化,并提供多种语言的API (Applicat1n Programming Interface,应用程序编程接口),即多个调用接口,以适应通信需求。
[0057]S4、渲染装置3按照预设的时间从所述多个任务池2中拉取渲染任务以获取所述渲染任务数据包;渲染装置3也为高性能渲染机器,用于对图片、视频等进行渲染。该步骤S4包括以下子步骤:
[0058]S41、所述渲染装置3按照预设的时间向所述多个任务池2中的主任务池2发送拉取清染任务请求;
[0059]S42、若所述主任务池2响应所述拉取渲染任务请求,则所述渲染装置3从所述主任务池2的队列的队列头获取所述渲染任务数据包,所述主任务池2从所述队列头删除所述渲染任务数据包;
[0060]S43、若所述主任务池2不响应所述拉取渲染任务请求,则所述渲染装置3按照预设的时间向所述多个任务池2中的备任务池2发送拉取渲染任务请求;
[0061]S44、若所述备任务池2响应所述拉取渲染任务请求,则所述渲染装置3从所述备任务池2的队列的队列头获取所述渲染任务数据包,所述备任务池2从所述队列头删除所述渲染任务数据包;
[0062]S45、若所述备任务池2不响应所述拉取渲染任务请求,则所述渲染装置3按照预设的时间向所述多个备任务池2中异于不响应所述拉取渲染任务请求的备任务池2的一个发送拉取渲染任务请求。
[0063]S5、所述渲染装置3启动多进程对所述渲染任务数据包进行正常渲染;当所述多进程的进程数量达到预设的阈值时,提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染。通过热拔插的方式启动所述多进程。该步骤通过启动多进程支持多用户并发渲染,同时控制进程数量,即当所述多进程的进程数量达到预设的阈值时,渲染装置3自动提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染和/或高质量渲染。低质量渲染、正常渲染及高质量渲染的渲染程度不同,正常渲染的渲染强度要强于低质量渲染的渲染强度,高质量渲染的渲染强度要强于正常渲染的渲染强度。其中,这三种渲染方式均可由用户自行选择。
[0064]参见图2,图2是本发明提供的一种在线渲染系统100的结构示意图,该在线渲染系统100包括:
[0065]网页服务器1,用于从客户端处接收渲染任务数据包,并依据负载均衡将所述渲染任务数据包分配至多个任务池2中的任意一个。
[0066]多个任务池2,其通信连接至所述网页服务器1,所述多个任务池2用于将收到所分配的所述渲染任务数据包的任务池2实时镜像同步至所述多个任务池2的其余任务池2 ;每个所述任务池2均包括多个用于与所述渲染装置3连接的调用接口 ;所述多个任务池2依据队列对所述渲染任务数据包进行读写。
[0067]渲染装置3,其通信连接至所述多个任务池2,所述渲染装置3用于按照预设的时间从所述多个任务池2中拉取渲染任务以获取所述渲染任务数据包,并启动多进程对所述渲染任务数据包进行正常渲染;当所述多进程的进程数量达到预设的阈值时,提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染和/或高质量渲染。所述渲染装置3通过热拔插的方式启动所述多进程。
[0068]其中,所述网页服务器I包括:
[0069]通信模块,用于依据所述负载均衡向所述多个任务池2中的一个发送通信请求;
[0070]判断模块,用于判断接收所述通信请求的任务池2是否响应所述通信请求,若否,则依据所述负载均衡向所述多个任务池2中异于不响应所述通信请求的任务池2的一个发送通信请求;若是,则所述网页服务器I将所述渲染任务数据包分配至所述响应所述通信请求的任务池2。
[0071 ] 此外,所述渲染装置3包括:
[0072]拉取模块,用于按照预设的时间向所述多个任务池2中的主任务池2发送拉取渲染任务请求;其中,所述多个任务池2包括多个主任务池2及多个备任务池2 ;
[0073]主任务池2判断模块,用于判断所述主任务池2是否响应所述拉取渲染任务请求,若是,则从所述主任务池2的队列的队列头获取所述渲染任务数据包,所述主任务池2从所述队列头删除所述渲染任务数据包;若否,则按照预设的时间向所述多个任务池2中的备任务池2发送拉取渲染任务请求;
[0074]备任务池2判断模块,用于判断所述备任务池2是否响应所述拉取渲染任务请求,若是,则从所述备任务池2的队列的队列头获取所述渲染任务数据包,所述备任务池2从所述队列头删除所述渲染任务数据包;若否,则所述渲染装置3按照预设的时间向所述多个备任务池2中异于不响应所述拉取渲染任务请求的备任务池2的一个发送拉取渲染任务请求。
[0075]上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的【具体实施方式】,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
【主权项】
1.一种在线渲染方法,其特征在于,包括: 网页服务器从客户端处接收渲染任务数据包; 所述网页服务器依据负载均衡将所述渲染任务数据包分配至多个任务池中的任意一个; 收到所分配的所述渲染任务数据包的任务池实时镜像同步至所述多个任务池的其余任务池; 渲染装置按照预设的时间从所述多个任务池中拉取渲染任务以获取所述渲染任务数据包; 所述渲染装置启动多进程对所述渲染任务数据包进行正常渲染;当所述多进程的进程数量达到预设的阈值时,提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染和/或高质量渲染。2.根据权利要求1所述的在线渲染方法,其特征在于,所述网页服务器依据负载均衡将所述渲染任务数据包分配至多个任务池中的任意一个的步骤包括: 所述网页服务器依据所述负载均衡向所述多个任务池中的一个发送通信请求; 若接收所述通信请求的任务池不响应所述通信请求,则所述网页服务器依据所述负载均衡向所述多个任务池中异于不响应所述通信请求的任务池的一个发送通信请求; 若接收所述通信请求的任务池响应所述通信请求,则所述网页服务器将所述渲染任务数据包分配至所述响应所述通信请求的任务池。3.根据权利要求1所述的在线渲染方法,其特征在于,所述收到所分配的所述渲染任务数据包的任务池实时镜像同步至所述多个任务池的其余任务池的步骤中: 每个所述任务池均包括多个用于与所述渲染装置连接的调用接口; 所述多个任务池依据队列对所述渲染任务数据包进行读写。4.根据权利要求3所述的在线渲染方法,其特征在于,所述渲染装置按照预设的时间从所述多个任务池中拉取渲染任务以获取所述渲染任务数据包的步骤包括: 所述渲染装置按照预设的时间向所述多个任务池中的主任务池发送拉取渲染任务请求;所述多个任务池包括多个主任务池及多个备任务池; 若所述主任务池响应所述拉取渲染任务请求,则所述渲染装置从所述主任务池的队列的队列头获取所述渲染任务数据包,所述主任务池从所述队列头删除所述渲染任务数据包; 若所述主任务池不响应所述拉取渲染任务请求,则所述渲染装置按照预设的时间向所述多个任务池中的备任务池发送拉取渲染任务请求; 若所述备任务池响应所述拉取渲染任务请求,则所述渲染装置从所述备任务池的队列的队列头获取所述渲染任务数据包,所述备任务池从所述队列头删除所述渲染任务数据包; 若所述备任务池不响应所述拉取渲染任务请求,则所述渲染装置按照预设的时间向所述多个备任务池中异于不响应所述拉取渲染任务请求的备任务池的一个发送拉取渲染任务请求。5.根据权利要求1所述的在线渲染方法,其特征在于,所述渲染装置启动多进程对所述渲染任务数据包进行正常渲染的步骤中: 通过热拔插的方式启动所述多进程。6.一种在线渲染系统,其特征在于,包括: 网页服务器,用于从客户端处接收渲染任务数据包,并依据负载均衡将所述渲染任务数据包分配至多个任务池中的任意一个; 多个任务池,其通信连接至所述网页服务器,所述多个任务池用于将收到所分配的所述渲染任务数据包的任务池实时镜像同步至所述多个任务池的其余任务池; 渲染装置,其通信连接至所述多个任务池,所述渲染装置用于按照预设的时间从所述多个任务池中拉取渲染任务以获取所述渲染任务数据包,并启动多进程对所述渲染任务数据包进行正常渲染;当所述多进程的进程数量达到预设的阈值时,提取所述渲染任务数据包中的普通渲染任务及高清渲染任务,对所述普通渲染任务进行低质量渲染,对所述高清渲染任务进行所述正常渲染和/或高质量渲染。7.根据权利要求6所述的在线渲染系统,其特征在于,所述网页服务器包括: 通信模块,用于依据所述负载均衡向所述多个任务池中的一个发送通信请求; 判断模块,用于判断接收所述通信请求的任务池是否响应所述通信请求,若否,则依据所述负载均衡向所述多个任务池中异于不响应所述通信请求的任务池的一个发送通信请求;若是,则所述网页服务器将所述渲染任务数据包分配至所述响应所述通信请求的任务池。8.根据权利要求6所述的在线渲染系统,其特征在于,每个所述任务池均包括多个用于与所述渲染装置连接的调用接口; 所述多个任务池依据队列对所述渲染任务数据包进行读写。9.根据权利要求8所述的在线渲染系统,其特征在于,所述渲染装置包括: 拉取模块,用于按照预设的时间向所述多个任务池中的主任务池发送拉取渲染任务请求;其中,所述多个任务池包括多个主任务池及多个备任务池; 主任务池判断模块,用于判断所述主任务池是否响应所述拉取渲染任务请求,若是,则从所述主任务池的队列的队列头获取所述渲染任务数据包,所述主任务池从所述队列头删除所述渲染任务数据包;若否,则按照预设的时间向所述多个任务池中的备任务池发送拉取清染任务请求; 备任务池判断模块,用于判断所述备任务池是否响应所述拉取渲染任务请求,若是,则从所述备任务池的队列的队列头获取所述渲染任务数据包,所述备任务池从所述队列头删除所述渲染任务数据包;若否,则所述渲染装置按照预设的时间向所述多个备任务池中异于不响应所述拉取渲染任务请求的备任务池的一个发送拉取渲染任务请求。10.根据权利要求6所述的在线渲染系统,其特征在于,所述渲染装置通过热拔插的方式启动所述多进程。
【文档编号】G06T15/00GK105976420SQ201510540939
【公开日】2016年9月28日
【申请日】2015年8月28日
【发明人】王国彬
【申请人】深圳市彬讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1