本发明涉及云渲染存储领域,尤其涉及一种提高云渲染并发数的存储缓存方法。
背景技术:
渲染农场在渲染时,会根据渲染集群的大小,每n台渲染服务器会配置一台存储机头,每10n台渲染服务器需要配置10台存储机头。然而单个渲染任务的数据是在其中一台存储机头上,因此,每n台渲染服务器的读取速度是由其所配置的存储机头的负载情况(存储带宽性能)决定的,例如,单台存储机头带宽性能为40gbps,400台渲染服务器同时并发,那每台渲染服务器只有100mbps读取速度,由于各个存储机头之间是相互独立的,即使其它存储机头负载较小,也无法进行利用,无法有效提高渲染服务器数据的读取速度,存储机头利用率较低。
因此,现有技术存在缺陷,需要改进。
技术实现要素:
本发明的目的是克服现有技术的不足,提供一种提高云渲染并发数的存储缓存方法,解决现有技术中,无法有效提高渲染服务器数据的读取速度,存储机头利用率较低的问题。
本发明的技术方案如下:一种提高云渲染并发数的存储缓存方法,包括以下步骤:
s1:设置n台渲染服务器组成渲染集群,每n台渲染服务器配置一台存储机头;所述n≥n。
s2:负载均衡服务器与渲染集群中的n台渲染服务器分别建立连接,同时与所设置的存储机头建立连接。
s3:存储机头挂载后端的存有渲染任务的存储服务器,存储机头通过负载均衡服务器对外提供一个虚拟ip。
s4:渲染服务器访问所述虚拟ip,负载均衡服务器根据各个存储机头的负载情况,分配一台存储机头与渲染服务器连接。
s5:存储机头根据渲染服务器所读取的渲染任务数据实时加载存储服务器的渲染任务数据,并缓存至存储机头的本地存储器中。
对于同一渲染任务由多个渲染服务器同时进行渲染、且处理该渲染任务的渲染服务器连接的存储机头存在不同时,相应的存储机头之间相互同步所有处理该渲染任务的渲染服务器所读取的渲染任务数据至其本地存储器。
对于同一渲染任务由多个渲染服务器同时进行渲染、且处理该渲染任务的渲染服务器连接的存储机头相同时,相应的存储机头缓存所有处理该渲染任务的渲染服务器所读取的渲染任务数据至其本地存储器。
s6:渲染服务器读取已缓存至本地存储器中的渲染任务数据,进行渲染计算。
n台渲染服务器组成渲染集群,根据渲染集群的大小,每n台渲染服务器配置一台存储机头,存储机头挂载后端的存有渲染任务的存储服务器,并通过负载均衡服务器对外提供一个虚拟ip,渲染服务器需要获取渲染任务数据时,直接访问虚拟ip,此时负载均衡服务器会根据各个存储机头的负载情况,分配一台存储机头与渲染服务器连接,存储机头根据渲染服务器所读取的渲染任务数据,实时的从存储服务器加载渲染任务数据,并缓存至存储机头的本地存储器中,渲染服务器进行渲染计算,当对于同一渲染任务进行渲染的多个渲染服务器所连接的存储机头不同时,相应的存储机头之间会相互同步已经读取的渲染任务数据,当渲染服务器所获取的渲染任务数据已存在在存储机头的本地存储器内时,渲染服务器直接从存储机头的本地存储器内获取该渲染任务数据,进行渲染计算,对于相同的数据信息,无需重复获取相同的数据,提高渲染效率;通过负载均衡服务器可根据各个存储机头的实际负载情况,选择最佳的存储机头与渲染服务器进行连接,从而实现渲染任务数据的快速获取,有效提高存储机头的利用效率。
进一步地,所述步骤s1为:设置n台渲染服务器组成渲染集群,n台渲染服务器之间建立通讯连接,每n台渲染服务器配置一台存储机头。
进一步地,还包括步骤s7:渲染完成后,存储机头回收渲染任务占用的本地存储服务器的存储。完成渲染后,回收占用的本地存储服务器的存储,为下一个存储任务提供充足的存储,提高渲染任务数据获取速度。
进一步地,所述本地存储器为本地内存和/或固态硬盘。本地存储器内可实时存储获取的渲染任务数据。
进一步地,所述负载为存储带宽性能;所述渲染任务数据为渲染的原始文件。
进一步地,所述步骤s4为:所述渲染服务器方访问所述虚拟ip,所述负载均衡服务器根据各个存储机头的负载情况,选择负载最小的一台存储机头与渲染服务器连接。根据负载情况选择负载最小的一台存储机头与渲染服务器建立连接,进一步提高渲染任务数据的获取速度,从而提高渲染速度。
进一步地,所述步骤s5还包括:对于同一渲染任务由一个渲染服务器处理时,连接该渲染服务器的存储机头的本地存储器缓存该渲染任务。
采用上述方案,本发明提供一种提高云渲染并发数的存储缓存方法,将n台渲染服务器组成渲染集群,根据渲染集群的大小,每n台渲染服务器配置一台存储机头,存储机头挂载后端的存有渲染任务的存储服务器,并通过负载均衡服务器对外提供一个虚拟ip,渲染服务器需要获取渲染任务数据时,直接访问虚拟ip,此时负载均衡服务器会根据各个存储机头的负载情况,选择负载最小的一台存储机头与渲染服务器建立连接,存储机头根据渲染服务器所读取的渲染任务数据,实时的从存储服务器加载渲染任务数据,并缓存至存储机头的本地存储器中,渲染服务器进行渲染计算,当对于同一渲染任务进行渲染的多个渲染服务器所连接的存储机头不同时,相应的存储机头之间会相互同步已经读取的渲染任务数据,当渲染服务器所获取的渲染任务数据已存在在存储机头的本地存储器内时,渲染服务器直接从存储机头的本地存储器内获取该渲染任务数据,进行渲染计算,对于相同的数据信息,无需重复获取相同的数据,提高渲染效率;通过负载均衡服务器可根据各个存储机头的实际负载情况,选择最佳的存储机头与渲染服务器进行连接,从而实现渲染任务数据的快速获取,有效提高存储机头的利用效率。
附图说明
图1为本发明的流程框图;
图2为本发明的结构框图。
其中:渲染集群1、渲染服务器10、虚拟ip2、负载均衡服务器3、存储机头4、本地存储器40、存储服务器5。
具体实施方式
以下结合附图和具体实施例,对本发明进行详细说明。
请参照图1图2,本发明提供一种提高云渲染并发数的存储缓存方法,包括以下步骤:
s1:设置400台渲染服务器10组成渲染集群1,每40台渲染服务器10配置一台存储机头4。
s2:负载均衡服务器3与渲染集群1中的400台渲染服务器10分别建立连接,同时与所设置的存储机头4建立连接。
s3:存储机头4挂载后端的存有渲染任务的存储服务器5,存储机头4通过负载均衡服务器3对外提供一个虚拟ip2。
s4:渲染服务器10访问所述虚拟ip2,负载均衡服务器3根据各个存储机头4的负载情况,分配一台存储机头4与渲染服务器10连接。
s5:存储机头4根据渲染服务器10所读取的渲染任务数据实时加载存储服务器5的渲染任务数据,并缓存至存储机头4的本地存储器40中。
对于同一渲染任务由多个渲染服务器10同时进行渲染、且处理该渲染任务的渲染服务器10连接的存储机头4存在不同时,相应的存储机头4之间相互同步所有处理该渲染任务的渲染服务器10所读取的渲染任务数据至其本地存储器40。
对于同一渲染任务由多个渲染服务器10同时进行渲染、且处理该渲染任务的渲染服务器10连接的存储机头4相同时,相应的存储机头4缓存所有处理该渲染任务的渲染服务器10所读取的渲染任务数据至其本地存储器40。
s6:渲染服务器10读取已缓存至本地存储器40中的渲染任务数据,进行渲染计算。
400台渲染服务器10组成渲染集群1,根据渲染集群1的大小,每40台渲染服务器10配置一台存储机头4,存储机头4挂载后端的存有渲染任务的存储服务器5,并通过负载均衡服务器3对外提供一个虚拟ip2,渲染服务器10需要获取渲染任务数据时,直接访问虚拟ip2,此时负载均衡服务器3会根据各个存储机头4的负载情况,分配一台存储机头4与渲染服务器10连接,存储机头4根据渲染服务器10所读取的渲染任务数据,实时的从存储服务器5加载渲染任务数据,并缓存至存储机头4的本地存储器40中,渲染服务器10进行渲染计算,当对于同一渲染任务进行渲染的多个渲染服务器10所连接的存储机头4不同时,相应的存储机头4之间会相互同步已经读取的渲染任务数据,当渲染服务器10所获取的渲染任务数据已存在在存储机头4的本地存储器40内时,渲染服务器10直接从存储机头4的本地存储器40内获取该渲染任务数据,进行渲染计算,对于相同的数据信息,无需重复获取相同的数据,提高渲染效率;通过负载均衡服务器3可根据各个存储机头4的实际负载情况,选择最佳的存储机头4与渲染服务器10进行连接,从而实现渲染任务数据的快速获取,有效提高存储机头4的利用效率。
所述步骤s1为:设置400台渲染服务器10组成渲染集群1,400台渲染服务器10之间建立通讯连接,每40台渲染服务器10配置一台存储机头4。
还包括步骤s7:渲染完成后,存储机头4回收渲染任务占用的本地存储服务器5的存储。完成渲染后,回收占用的本地存储服务器5的存储,为下一个存储任务提供充足的存储,提高渲染任务数据获取速度。
所述本地存储器40为本地内存和固态硬盘。本地存储器40内可实时存储获取的渲染任务数据。
所述负载为存储带宽性能;所述渲染任务数据为渲染的原始文件。
所述步骤s4为:所述渲染服务器10方访问所述虚拟ip2,所述负载均衡服务器3根据各个存储机头4的负载情况,选择负载最小的一台存储机头4与渲染服务器10连接。根据负载情况选择负载最小的一台存储机头4与渲染服务器10建立连接,进一步提高渲染任务数据的获取速度,从而提高渲染速度。
所述步骤s5还包括:对于同一渲染任务由一个渲染服务器10处理时,连接该渲染服务器10的存储机头4的本地存储器40缓存该渲染任务。
综上所述,本发明提供一种提高云渲染并发数的存储缓存方法,将400台渲染服务器组成渲染集群,根据渲染集群的大小,每40台渲染服务器配置一台存储机头,存储机头挂载后端的存有渲染任务的存储服务器,并通过负载均衡服务器对外提供一个虚拟ip,渲染服务器需要获取渲染任务数据时,直接访问虚拟ip,此时负载均衡服务器会根据各个存储机头的负载情况,选择负载最小的一台存储机头与渲染服务器建立连接,存储机头根据渲染服务器所读取的渲染任务数据,实时的从存储服务器加载渲染任务数据,并缓存至存储机头的本地存储器中,渲染服务器进行渲染计算,当对于同一渲染任务进行渲染的多个渲染服务器所连接的存储机头不同时,相应的存储机头之间会相互同步已经读取的渲染任务数据,当渲染服务器所获取的渲染任务数据已存在在存储机头的本地存储器内时,渲染服务器直接从存储机头的本地存储器内获取该渲染任务数据,进行渲染计算,对于相同的数据信息,无需重复获取相同的数据,提高渲染效率;通过负载均衡服务器可根据各个存储机头的实际负载情况,选择最佳的存储机头与渲染服务器进行连接,从而实现渲染任务数据的快速获取,有效提高存储机头的利用效率。
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。