一种渲染服务器的选取方法及装置与流程

文档序号:32953603发布日期:2023-01-14 15:01阅读:41来源:国知局
一种渲染服务器的选取方法及装置与流程

1.本技术涉及云渲染技术领域,尤其涉及一种渲染服务器的选取方法及装置。


背景技术:

2.在计算机里将数据生成为图像的过程被称为渲染,可以让计算机中的场景效果图更加逼真。实际生活中,若是直接在本地进行渲染的话不仅需要耗费人力成本还需要巨大的金钱成本,中性或小型设计工作室根本承担不起。云渲染是基于云服务器针对本地渲染提出的应用解决方案。用户将本地任务提交到远程服务器,通过远程的计算机集群资源进行运算操作,将上传的任务进行云端渲染后再返回本地,由用户下载提取。由于拥有着庞大的云计算资源,云渲染被广泛运用于室内设计、建筑设计、空间设计和动漫设计等行业中。
3.作为云渲染最大的优势便是可以同时进行多个任务和多台服务器同时渲染,在现有的技术中,一般通过参照云渲染所需的资源参数和当前待启动的云渲染服务器的资源剩余情况来选取待启动的云渲染服务器,控制应用进程在选取的云渲染服务器上启动运行。然而这种方法只是静态的考虑了云渲染服务器的资源配置要求,并未考虑到多个云渲染服务器之间的同步运行是动态的过程,其中一个云渲染服务器的变化会影响其他服务器的资源配置等等多种情况,所以现有的技术方案并不能精准地调用渲染服务器,最大化的利用系统资源。


技术实现要素:

4.有鉴于此,本技术提供了一种渲染服务器的选取方法及装置,旨在能够更精准地选取渲染服务器,提高资源利用率。
5.第一方面,本技术提供了一种渲染服务器的选取方法,所述方法包括:获取目标渲染任务,所述目标渲染任务包括多个渲染对象,所述多个渲染对象包括至少一个第一对象和至少一个第二对象;确定第一服务器,所述第一服务器用于渲染所述至少一个第一对象;确定所述目标渲染任务所需的数据同步总量,所述数据同步总量用于表示将渲染后的所述多个渲染对象中除第一对象外的其他渲染对象的相关数据同步到第一服务器的数据量;根据所述数据同步总量确定目标资源数据,所述目标资源数据用于表示第二服务器的资源需求量,所述第二服务器用于渲染所述至少一个第二对象并将渲染后的所述至少一个第二对象的相关数据同步到所述第一服务器;根据所述目标资源数据确定所述第二服务器。
6.可选地,所述确定所述目标渲染任务所需的数据同步总量,包括:确定所述多个渲染对象中每个渲染对象对应的数据同步量,所述数据同步量指示所述每个渲染对象在渲染后需要同步到第一服务器的数据量;确定所述目标渲染任务中至少一个其他渲染对象,所述至少一个其他渲染对象为
在除第一服务器以外其他服务器上进行渲染的渲染对象;根据所述至少一个其他渲染对象和所述数据同步量确定所述目标渲染任务所需的数据同步总量。
7.可选地,所述根据所述数据同步总量确定目标资源数据,包括:确定第一关联系数,所述第一关联系数为从所述第二服务器同步到所述第一服务器的数据量与所述数据同步总量的比例;根据所述数据同步总量和所述第一关联系数确定目标资源需求量,所述目标资源需求量用于表示为了将渲染后的所述至少一个第二对象的相关数据同步到所述第一服务器,所述第二服务器所需的配置需求量;确定所述第二服务器的基本资源需求量,所述基本资源需求量用于表示第二服务器渲染所述至少一个第二对象的配置需求量;根据所述目标资源需求量和所述基本资源需求量确定目标资源数据。
8.可选地,所述多个渲染对象还包括至少一个第三对象,在根据所述目标资源数据确定所述第二服务器后,所述方法还包括:运行所述第二服务器,即使用所述第二服务器渲染所述至少一个第二对象;获取所述第二服务器的多个实际运行数据,所述多个实际运行数据表示所述第二服务器在随机多个时间点的实际运行所需的资源量;确定所述多个渲染对象中的至少一个第三对象,所述至少一个第三对象由第三服务器渲染,所述第三服务器用于渲染所述多个渲染对象中的至少一个第三对象并将渲染后的所述至少一个第三对象的相关数据同步到所述第一服务器;利用所述多个实际运行数据确定第一资源数据,所述第一资源数据表示所述第三服务器的资源需求量;根据所述第一资源数据确定所述第三服务器。
9.可选地,所述多个渲染对象还包括至少一个第三对象,在根据所述目标资源数据确定所述第二服务器后,所述方法还包括:运行所述第二服务器,即使用所述第二服务器渲染所述至少一个第二对象;获取所述第二服务器的多个实际运行数据,所述多个实际运行数据表示所述第二服务器在随机多个时间点的实际运行所需的资源量;确定所述多个渲染对象中的至少一个第三对象,所述至少一个第三对象由第三服务器渲染,所述第三服务器用于渲染所述多个渲染对象中的至少一个第三对象并将渲染后的所述至少一个第三对象的相关数据同步到所述第一服务器;利用所述多个实际运行数据确定第一资源数据,所述第一资源数据表示所述第三服务器的资源需求量;根据所述第一资源数据确定所述第三服务器。
10.可选地,利用所述多个实际运行数据确定第一资源数据,包括:利用所述多个实际运行数据优化所述第一关联系数,得到第二关联系数,所述第二关联系数为所述第三服务器同步到所述第一服务器的数据量与所述数据同步总量的比例;根据所述数据同步总量和所述第二关联系数确定第一资源需求量,所述第一资源
需求量用于表示为了将渲染后的所述至少一个第三对象的相关数据同步到的所述第一服务器,所述第三服务器所需的配置需求量;根据所述第一资源需求量确定第一资源数据。
11.可选地,所述利用所述多个实际运行数据优化所述第一关联系数,得到第二关联系数,包括:确定所述多个实际运行数据的平均值;确定所述平均值与所述目标资源数据的差值;利用所述差值增大所述第一关联系数,得到第二关联系数。
12.可选地,所述确定第一服务器包括:获取所述目标渲染任务相关的多个历史资源数据,所述历史资源数据为第一服务器的资源配置需求量的历史数据;根据所述多个历史资源数据的平均值确定第一服务器。
13.第二方面,本技术提供了一种渲染服务器的选取装置,所述装置包括:目标渲染任务获取模块、第一服务器确定模块、数据同步总量确定模块、目标资源数据确定模块和第二服务器确定模块;所述目标渲染任务获取模块,用于获取目标渲染任务,所述目标渲染任务包括多个渲染对象;所述第一服务器确定模块,用于确定第一服务器;所述数据同步总量确定模块,用于确定所述目标渲染任务所需的数据同步总量;所述目标资源数据确定模块,用于根据所述数据同步总量确定目标资源数据;所述第二服务器确定模块,用于根据所述目标资源数据确定所述第二服务器。
14.可选地,所述数据同步总量确定模块还用于确定所述多个渲染对象中每个渲染对象对应的数据同步量,然后确定所述目标渲染任务中至少一个其他渲染对象,根据所述至少一个其他渲染对象和所述数据同步量确定所述目标渲染任务所需的数据同步总量。
15.可选地,所述目标资源数据确定模块还用于确定第一关联系数,根据数据同步总量和所述第一关联系数确定目标资源需求量,然后确定第二服务器的基本资源需求量,根据所述目标资源需求量和所述基本资源需求量确定目标资源数据。
16.本技术提供了一种渲染服务器的选取方法。在执行所述方法时,先获取目标渲染任务,后确定用于渲染目标渲染任务中第一对象的第一服务器,然后,确定目标渲染任务所需的数据同步总量,最后,根据确定的数据同步总量确定目标资源数据,以根据该目标资源数据确定用于渲染目标渲染任务中第一对象的第二服务器。这样,通过确定目标渲染任务所需的数据同步量,使得根据数据同步量计算出的资源配置数据更加精准,提高了评估所选取的渲染服务器的资源配置需求量的精确度。如此,可以根据得到的资源配置需求量精确地选取渲染服务器,提高了资源的利用率。
附图说明
17.为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他的附图。
18.图1为本技术实施例提供的渲染服务器的选取方法的一种方法流程图;图2为本技术实施例提供的渲染服务器的选取方法的另一种方法流程图;图3为本技术实施例提供的渲染服务器的选取装置的一种结构示意图。
具体实施方式
19.正如前文所述,在多服务器同时进行渲染任务时,一般通过渲染任务所需的资源参数或运行指标来进行云渲染服务器的选取。然而,因为每个渲染服务器需要渲染的内容不一样,服务器与服务器之间需要进行数据同步的内容也不一样,每个渲染服务器所需的资源配置量是不一样的,由于渲染服务器的变化可能会影响到彼此之间数据传输的变化,从而影响选取的服务器的性能和启动所需的资源量,所以必须以动态的方法寻求选区的渲染服务器的资源需求量。现有的技术只是以静态的资源参数或运行指标来选取渲染服务器,并没有考虑到各个渲染服务器之间数据传输的动态的过程,所以并不能有效的利用服务器资源。
20.本技术实施例提供了一种渲染服务器的选取方法。在执行所述方法时,先获取目标渲染任务,后确定用于渲染目标对象中第一对象的第一服务器,然后,确定目标渲染任务所需的数据同步总量,最后,根据确定的数据同步总量确定目标资源数据,以根据该目标资源数据确定用于渲染目标对象中第一对象的第二服务器。这样,通过确定目标渲染任务所需的数据同步量,使得根据数据同步量计算出的资源配置数据更加精准,提高了评估所选取的渲染服务器所需的资源配置需求量的精确度。如此,可以根据得到的资源配置需求量精确地选取渲染服务器,提高了服务器资源的利用率。
21.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.参见图1,图1为本技术实施例提供的渲染服务器的选取方法的一种方法流程图,包括:s101:获取目标渲染任务。
23.其中,所述目标渲染任务包括多个渲染对象,所述多个渲染对象包括至少一个第一对象和至少一个第二对象。其中,渲染任务是指计算机从一系列的定点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以识别的图像或视频。渲染对象可以为需要渲染的物体或人物,也可以是图像中的任意其他部分。
24.s102:确定第一服务器。
25.其中,第一服务器用于渲染所述至少一个第一对象。这里的第一对象可以指目标渲染任务中的部分渲染人物或物体,也可以是目标渲染任务中需要渲染的基础界面场景,均不影响本技术实施例的正常实现。
26.可选地,目标渲染任务可以根据渲染对象所需的资源量、渲染对象的个数和渲染对象数据传输量的大小等等因素对渲染对象进行分类,分为第一对象、第二对象以及其他类型的渲染对象,其中第一对象可以由第一服务器渲染,第二对象可以由第二服务器渲染。
27.可选地,确定第一服务器可以采用如下方式:获取目标渲染任务相关的历史资源数据。其中,历史资源数据指的是第一服务器渲染上述第一对象时的资源配置需求量的历史数据。根据历史资源数据的平均值从渲染服务器集群中选取资源剩余情况大于或等于该平均值的服务器作为第一服务器。当然,也可以采用其他方式确定第一服务器,这里不再赘述。
28.s103:确定上述目标渲染任务所需的数据同步总量。
29.其中,数据同步总量为用于表示将渲染后的所述多个渲染对象中除第一对象外的其他渲染对象的相关数据同步到第一服务器的数据量。在多个服务器同时进行渲染时,需要将渲染后的渲染对象的相关数据传输回第一服务器,这时的数据传输量,会直接影响到网络带宽和其他服务器渲染的计算量,从而影响到选取的渲染服务器启动时的配置参数。因此需要计算出将除第一对象外其他的渲染对象在渲染后的相关数据同步到第一服务器的数据总量。
30.在一些可能的实现方式中,数据同步总量可以为渲染后的渲染对象发生变化的相关数据,如可以为目标渲染任务中的物体移动的相关数据,或人物的位姿或朝向角度发生变化的相关数据,以此减少数据传输资源的浪费。
31.可选地,数据同步总量可以采用如下方式得到:首先,确定上述目标渲染任务中每个渲染对象对应的数据同步量。其中,数据同步量为每个渲染对象在渲染后需要同步到第一服务器的数据量。然后确定目标渲染任务中至少一个其他渲染对象。其中,其他渲染对象为目标渲染任务中的除第一服务器以外的其他服务器进行渲染的渲染对象。最后,根据上述其他渲染对象和数据同步量确定目标渲染任务所需的数据同步总量。
32.在一些可能的实现方式中,可以通过在每个需要测量的渲染对象上挂载数据计量组件测量该渲染对象在实际渲染过程中发生变化的数据,将这些发生变化的数据作为对应的渲染对象的数据同步量。当然也可以使用其他方式确定每个渲染对象的数据同步量,均不影响本技术实施例的正常实现。
33.s104:根据所述数据同步总量确定目标资源数据。
34.其中,目标资源数据用于表示第二服务器的资源需求量。目标资源数据可以包括磁盘使用量、内存使用量、cpu使用量和gpu使用量,也可以是网络带宽使用量等其他资源数据,都不影响本技术实施例的正常实现。其中,第二服务器用于渲染至少一个第二对象并将渲染后的至少一个第二对象的相关数据同步到所述第一服务器。
35.可选地,目标资源数据可以采用如下方式确定:首先,确定第一关联系数,这里的第一关联系数为从第二服务器同步到第一服务器的数据量占目标渲染任务的整体的数据同步总量的比例。然后,根据数据同步总量和第一关联系数确定目标资源需求量,该目标资源需求量用于表示为了将渲染后的第二对象的相关数据同步到的第一服务器,第二服务器所需的配置需求量。再确定第二服务器的基本资源需求量,基本资源需求量用于表示第二服务器渲染所述至少一个第二对象的配置需求量。最后,根据目标资源配置和基本资源配置确定目标资源数据。其中,上述的基本资源配置量和目标资源需求量可以与目标资源数据的数据类型和数据格式类似。
36.s105:根据目标资源数据确定所述第二服务器。
37.可选地,可以从第一服务器所在的渲染服务器集群中,选取资源剩余情况大于等
于目标资源数据的服务器,作为第二服务器。
38.在本技术实施例中,上述图1所述的步骤s104存在多种可能的实现方式,下面分别进行介绍。需要说明的是,下文介绍中给出的实现方式仅作为示例性的说明,并不代表本技术实施例的全部实现方式。
39.参见图2,该图为本技术实施例提供的渲染服务器的选取方法的另一种方法流程图,该方法包括:s201:确定第一关联系数。
40.其中,第一关联系数为从第二服务器同步到第一服务器的数据量与数据同步总量的比例,用于将数据同步总量和资源需求量关联起来。
41.可选地,可以通过对第一关联系数的迭代优化,计算其他渲染服务器的资源需求量,选取其他渲染服务器来渲染目标渲染任务中的除第一对象和第二对象外的其他渲染对象。作为举例,假设上述目标渲染任务还包括至少一个第三对象,可以通过以下方式计算用于渲染第三对象的第三服务器的资源需求量:首先,使用选取的第二服务器渲染上述第二对象时,获取第二服务器的多个实际运行数据。其中,这里的多个实际运行数据为第二服务器在多个时间点的实际运行所需的资源量。然后,利用多个实际运行数据确定第一资源数据。其中,第一资源数据为第三服务器的资源需求量。最后,根据确定的第一资源数据确定第三服务器。
42.其中,利用多个实际运行数据确定第一资源数据可以通过利用所述多个实际运行数据优化所述第一关联系数,得到第二关联系数,根据所述数据同步总量和所述第二关联系数确定第一资源需求量,根据所述第一资源需求量确定第一资源数据。可选地,可以选取实际运行数据中与第二服务器的目标资源数据差值最大的运行数据,计算该差值最大的运行数据在各个选取的时间点的平均值,利用该平均值增大第一关联系数,得到第二关联系数。也可以直接确定获取的实际运行数据的平均值,确定该平均值与第二服务器的目标资源数据的差值,利用差值增大第一关联系数,得到第二关联系数。当然,利用其他方式迭代更新第一关联系数,也不影响本技术实施例的正常进行。
43.s202:根据数据同步总量和第一关联系数确定目标资源需求量。
44.其中,目标资源需求量用于表示为了将渲染后的至少一个第二对象的相关数据同步到第一服务器,第二服务器所需的资源配置需求量。在一些可能的实现方式中,可以将数据同步总量和第一关联系数相乘计算出目标资源需求量。
45.s203:确定第二服务器的基本资源需求量。
46.其中,基本资源需求量用于表示第二服务器渲染目标渲染任务中的至少一个第二对象的配置需求量。该基本资源需求量可以包括磁盘使用量、内存使用量、cpu使用量和gpu使用量,也可以是网络带宽使用量等其他资源数据,与上述目标资源需求量数据格式和数据类型相同。
47.可选地,该基本资源需求量可以通过历史数据自动设定合理的值,也可以通过对应的目标渲染任务人为设定取值范围,随机选取一个范围内的值作为基本资源需求量。当然,也可以采用其他方式得到基本资源需求量,均不影响本技术实施例的正常实现。
48.s204:根据目标资源需求量和基本资源需求量确定目标资源数据。
49.其中,目标资源数据为第二服务器渲染第二对象并将渲染后的第二对象的相关数
据同步到第一服务器所需的资源量。可选地,可以将目标资源需求量和基本资源需求量相加,得到目标资源数据。
50.本技术实施例通过利用数据同步总量确定目标资源数据,考虑到了各渲染服务器之间进行渲染后的相关数据同步会影响选取的渲染服务器的资源需求,能够更加精确的评估渲染服务器所需的资源量,能够最大化的利用服务器的资源,减少资源浪费。
51.以上为本技术实施例提供的渲染服务器的选取方法的一些具体实现方式,基于此,本技术还提供了对应的装置。下面将从功能模块化的角度对本技术实施例提供的装置进行介绍。
52.参见图3所示的渲染服务器的选取装置300的结构示意图,该装置300包括目标渲染任务获取模块310、第一服务器确定模块320、数据同步总量确定模块330、目标资源数据确定模块340和第二服务器确定模块350。
53.目标渲染任务获取模块310,用于获取目标渲染任务。
54.第一服务器确定模块320,用于确定第一服务器。
55.数据同步总量确定模块330,用于确定目标渲染任务所需的数据同步总量。
56.目标资源数据确定模块340,用于根据数据同步总量确定目标资源数据。
57.第二服务器确定模块350,用于根据目标资源数据确定所述第二服务器。
58.其中,数据同步总量确定模块330还用于确定上述目标渲染任务中的每个渲染对象对应的数据同步量,然后确定该目标渲染任务中其他渲染对象的个数,根据其他渲染对象和数据同步量计算出目标渲染任务所需的数据同步总量。
59.其中,目标资源数据确定模块340还用于确定第一关联系数,根据数据同步总量和第一关联系数确定目标资源需求量,确定第二服务器的基本资源需求量,最后,根据目标资源需求量和基本资源需求量确定目标资源数据。
60.本技术实施例中提到的
ꢀ“
第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
61.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本技术各个实施例或者实施例的某些部分所述的方法。
62.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
63.以上所述仅是本技术示例性的实施方式,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1