一种轨道交通模拟驾驶的渲染方法及装置与流程

文档序号:27236190发布日期:2021-11-03 18:30阅读:139来源:国知局
一种轨道交通模拟驾驶的渲染方法及装置与流程

1.本技术涉及模拟驾驶技术领域,具体而言,涉及一种轨道交通模拟驾驶的渲染方法及装置。


背景技术:

2.随着国内轨道交通建设的迅速发展,轨道交通司机的培训需求日益加大。为了有效辅助轨道交通司机的技能培训以及评定,一般采用轨道交通模拟驾驶实训考评系统,该模拟驾驶实训考评系统主要由司机主操作台、二级操作区、前向视景显示设备以及教员监控终端等部分组成,构建良好的交互环境,能够完成动车组的标准化作业、非正常行车、故障处理等作业实训。
3.但是所采用轨道交通模拟驾驶实训考评系统并不能满足培训人员随时随地进行轨道交通模拟驾。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种轨道交通模拟驾驶的渲染方法及装置,能够满足培训人员随时随地进行轨道交通模拟驾的需求。
5.本技术实施例提供的一种轨道交通模拟驾驶的渲染方法,包括:
6.响应来自客户端的操作指令,管理服务器获取与所述操作指令对应的模拟驾驶素材;
7.评估云渲染服务器渲染所述模拟驾驶素材需要的预占用资源;
8.从所述管理服务器管理的多个目标云渲染服务器中,分配对应的可用资源大于所述预占用资源的第一目标云渲染服务器渲染所述模拟驾驶素材;所述目标云渲染服务器为对应的渲染任务小于预设阈值的云渲染服务器;
9.在所述第一目标云渲染服务器渲染所述模拟驾驶素材的过程中,若监测到所述第一目标云渲染服务器的可用资源无法满足针对所述模拟驾驶素材的渲染,则获取所述管理服务器管理的更新后的多个目标云渲染服务器,并从所述更新后的多个目标云渲染服务器中选取可用资源满足渲染所述模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,并分配所述第二目标云渲染服务器渲染所述模拟驾驶素材;
10.将所述第二目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果。
11.在一些实施例中,响应来自客户端的操作指令,管理服务器获取与所述操作指令对应的模拟驾驶素材,包括:
12.对客户端展示的多个模拟驾驶场景进行选择,根据选择的模拟驾驶场景客户端生成操作指令;
13.将所述操作指令上传至管理服务器,以使管理服务器根据所操作指令载入预存储的与该操作指令相对应的模拟驾驶素材。
14.在一些实施例中,分配对应的可用资源大于所述预占用资源的第一目标云渲染服务器渲染所述模拟驾驶素材,包括:
15.从所述管理服务器管理的多个目标云渲染服务器中,确定对应的可用资源大于所述预占用资源、且是所述管理服务器管理的多个目标云渲染服务器中最大的第一目标云渲染服务器;其中,通过以下方式计算所述可用资源:
16.将目标云渲染服务器的总资源分为渲染模拟驾驶素材的可支配资源和调用操作系统的固配资源;
17.分别对所述可支配资源中的cpu资源、内存资源和gpu资源设置比重系数;
18.基于所述目标云渲染服务器的可支配资源、所述cpu资源、内存资源和gpu资源的比重系数、以及所述预占用资源,获取所述目标云渲染服务器的可用资源。
19.在一些实施例中,分配对应的可用资源大于所述预占用资源的第一目标云渲染服务器渲染所述模拟驾驶素材,还包括:
20.若不存在可用资源大于所述预占用资源的第一目标云渲染服务器,向客户端发送云渲染服务器可用资源不足的提示。
21.在一些实施例中,从所述更新后的多个目标云渲染服务器中选取可用资源满足渲染所述模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,包括:
22.根据所述模拟驾驶素材需要的预占用资源以及所述第一目标云渲染服务器针对所述模拟驾驶素材进行渲染后时产生的中间数据对应的额外占用资源,共同确定所述实际占用资源。
23.在一些实施例中,将所述第二目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果,包括:
24.将所述第二目标云渲染服务器的渲染结果生成视频流,并将所述视频流压缩后发送至客户端;
25.对客户端接收的压缩视频流进行解压,向用户展示渲染结果。
26.在一些实施例中,在所述第一目标云渲染服务器渲染所述模拟驾驶素材的过程中,还包括:
27.若监测到所述第一目标云渲染服务器的可用资源满足针对所述模拟驾驶素材的渲染;
28.将所述第一目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果。
29.在一些实施例中,还提供一种轨道交通模拟驾驶的渲染装置,包括:
30.响应模块,用于响应来自客户端的操作指令,管理服务器获取与所述操作指令对应的模拟驾驶素材;
31.评估模块,用于评估云渲染服务器渲染所述模拟驾驶素材需要的预占用资源;
32.分配模块,用于从所述管理服务器管理的多个目标云渲染服务器中,分配对应的可用资源大于所述预占用资源的第一目标云渲染服务器渲染所述模拟驾驶素材;所述目标云渲染服务器为对应的渲染任务小于预设阈值的云渲染服务器;
33.监测模块,用于在所述第一目标云渲染服务器渲染所述模拟驾驶素材的过程中,若监测到所述第一目标云渲染服务器的可用资源无法满足针对所述模拟驾驶素材的渲染,
则获取所述管理服务器管理的更新后的多个目标云渲染服务器,并从所述更新后的多个目标云渲染服务器中选取可用资源满足渲染所述模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,并分配所述第二目标云渲染服务器渲染所述模拟驾驶素材;
34.发送模块,用于将所述第二目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果。
35.在一些实施例中,还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行所述的渲染方法的步骤。
36.在一些实施例中,还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行所述的渲染方法的步骤。
37.本技术所述的一种轨道交通模拟驾驶的渲染方法,能够评估云渲染服务器渲染模拟驾驶素材需要的预占用资源,从管理服务器管理的多个目标云渲染服务器中,分配对应的可用资源大于预占用资源的第一目标云渲染服务器渲染模拟驾驶素材;并且当监测到第一目标云渲染服务器的可用资源无法满足针对模拟驾驶素材的渲染时,从更新后的多个目标云渲染服务器中选取可用资源满足渲染模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,并分配第二目标云渲染服务器渲染模拟驾驶素材,最终将第二目标云渲染服务器针对模拟驾驶素材的渲染结果发送至客户端,以使客户端向用户展示渲染结果。一方面能够满足培训人员随时随地进行轨道交通模拟驾驶的需求;另一方面通过动态监测云渲染服务资源,根据培训人员的渲染需求进行合理的动态资源分配,可以保证云渲染服务器资源免于闲置和超载,提高云渲染服务器的可用性和健壮性。
附图说明
38.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
39.图1示出了本技术实施例提供的渲染方法的流程图;
40.图2示出了本技术实施例提供的管理服务器获取模拟驾驶素材的流程图;
41.图3示出了本技术实施例提供的计算云渲染服务器可用资源的流程图;
42.图4示出了本技术实施例提供的渲染装置的结构示意图;
43.图5示出了本技术实施例所述电子设备的结构示意图。
具体实施方式
44.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或
多个其他操作,也可以从流程图中移除一个或多个操作。
45.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
46.需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
47.在铁路教学培训中,为了丰富学员的铁路驾驶经验,采用模拟驾驶实训考评系统,以模拟铁路实际作业场景,如标准化作业、非正常行车、故障处理等实训,但是该模拟驾驶实训考评系统需要固定配置,即培训学员必须在固定的地点进行模拟驾驶训练,如教室等地点。不能满足用户随时随地进行轨道交通模拟驾驶的需求。
48.为解决上述问题,如说明书附图1所示,本技术提出一种轨道交通模拟驾驶的渲染方法,包括:
49.s1、响应来自客户端的操作指令,管理服务器获取与所述操作指令对应的模拟驾驶素材;
50.s2、评估云渲染服务器渲染所述模拟驾驶素材需要的预占用资源;
51.s3、从所述管理服务器管理的多个目标云渲染服务器中,分配对应的可用资源大于所述预占用资源的第一目标云渲染服务器渲染所述模拟驾驶素材;所述目标云渲染服务器为对应的渲染任务小于预设阈值的云渲染服务器;
52.s4、在所述第一目标云渲染服务器渲染所述模拟驾驶素材的过程中,若监测到所述第一目标云渲染服务器的可用资源无法满足针对所述模拟驾驶素材的渲染,则获取所述管理服务器管理的更新后的多个目标云渲染服务器,并从所述更新后的多个目标云渲染服务器中选取可用资源满足渲染所述模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,并分配所述第二目标云渲染服务器渲染所述模拟驾驶素材;
53.s5、将所述第二目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果。
54.在所述步骤s1中,具体的,如说明书附图2所示,在一实施例中,包括以下步骤:
55.s101、对客户端展示的多个模拟驾驶场景进行选择,根据选择的模拟驾驶场景客户端生成操作指令;
56.s102、将所述操作指令上传至管理服务器,以使管理服务器根据所操作指令载入预存储的与该操作指令相对应的模拟驾驶素材。
57.即,客户端向用户展示多个可供选择的模拟驾驶场景,通过用户选择模拟驾驶场景,客户端生成相应操作指令并发送至管理服务器,其中所述操作指令包括模拟驾驶场景的唯一标识,管理服务器在接收到该操作指令后,通过模拟驾驶场景的唯一标识,管理服务器加载与存储的相应的模拟驾驶素材。
58.在其他实施例中,客户端生成的操作指令中可以直接包括相应模拟驾驶场景的模拟驾驶素材,即模拟驾驶素材是存储在客户端中的,在用户选择模拟驾驶场景后,客户端将该模拟驾驶场景相应的模拟驾驶素材发送给管理服务器。
59.在本技术中,并不对管理服务器获取模拟驾驶素材的方式进行限制和固定。
60.在管理服务器获取操作指令相对应的模拟驾驶素材后,通过所述步骤s2,评估云渲染服务器渲染所述模拟驾驶素材需要的预占用资源。在一实施例中,管理服务器可以设置一事先训练好的评估模型,通过该评估模型对评估云渲染服务器渲染模拟驾驶素材需要的预占用资源。其中,评估模型可以基于深度学习通过大量的训练样本进行训练,调整评估模型的参数,直至所述评估模型满足训练截止条件,得到训练好的分类模型。其训练过程应为本领域技术人员所熟知的技术手段,在此不做具体阐述。
61.在所述步骤s3中,管理服务器从管理的多个目标云渲染服务器中,选取一目标云渲染服务器对模拟驾驶素材进行渲染,其中所述目标云渲染服务器为对应的渲染任务小于预设阈值的云渲染服务器。具体的,如在一实施例中,管理服务器管理给云渲染服务器分配的模拟驾驶素材有多个时,云渲染服务器需要依次对每个模拟驾驶素材进行渲染,所以为了提升渲染效率,优选的,预设阈值为1,管理服务器从只有一个渲染任务的云渲染服务器和当前闲置的云渲染服务器中,选取可用资源大于预占用资源的第一目标云渲染服务器渲染模拟驾驶素材。
62.而当不存在可用资源大于所述预占用资源的第一目标云渲染服务器,向客户端发送云渲染服务器可用资源不足的提示。
63.进一步的,从管理服务器管理的多个目标云渲染服务器中,确定对应的可用资源大于预占用资源、且是管理服务器管理的多个目标云渲染服务器中最大的第一目标云渲染服务器。即选用可用资源最为充足的目标云渲染服务器对模拟驾驶素材进行渲染,避免在所述第一目标云渲染服务器渲染所述模拟驾驶素材的过程中,因预占用资源评估不准所导致的渲染失败问题。
64.其中,通过以下方式计算所述可用资源,具体的,如说明书附图3所示,包括以下步骤:
65.s301、将目标云渲染服务器的总资源分为渲染模拟驾驶素材的可支配资源和调用操作系统的固配资源;
66.s302、分别对所述可支配资源中的cpu资源、内存资源和gpu资源设置比重系数;
67.s303、基于所述目标云渲染服务器的可支配资源、所述cpu资源、内存资源和gpu资源的比重系数、以及所述预占用资源,获取所述目标云渲染服务器的可用资源。
68.在一实施例中,从管理服务器管理的目标渲染服务器a和目标渲染服务器b中确定一个目标渲染服务器对模拟驾驶素材进行渲染时,其中目标渲染服务器a的总资源为(3,3,3),目标渲染服务器b的总资源为(3,2,4),预占用资源为(1,1,1),即渲染服务器a的总资源包括3核的cpu资源、3g的内存资源和3核的gpu资源,渲染服务器b的总资源包括3核的cpu资源、2g的内存资源和4核的gpu资源,预占用资源需要满足1核的cpu资源、1g的内存资源和1核的gpu资源;另外,为了保障目标渲染服务器对模拟驾驶素材的渲染效果实行三七原则,即将目标云渲染服务器总资源的70%用于渲染模拟驾驶素材的可支配资源,其余30%用于调用操作系统的固配资源;同时,对目标云渲染服务器可支配资源中的cpu资源、内存资源和gpu资源分别设置比重系数,在该实施例中,cpu资源的比重系数为0.8,内存资源的比重系数为0.8,gpu资源的比重系数为1。
69.则根据上述算法得到目标渲染服务器a的可用资源为:
70.p1=((3*0.7

1)*0.8,(3*0.7

1)*0.8,(3*0.7

1)*1)=(0.88,0.88,1.1)=0.88+0.88+1.1=2.46。
71.根据上述算法得到目标渲染服务器b的可用资源为:
72.p2=((3*0.7

1)*0.8,(2*0.7

1)*0.8,(4*0.7

1)*1)=(0.88,0.32,1.8)=0.88+0.32+1.8=3。
73.可见目标渲染服务器b的可用资源大于目标渲染服务器a的可用资源,即目标渲染服务器b渲染模拟驾驶素材的可用资源较为充足,管理服务器选用目标渲染服务器b对模拟驾驶素材进行渲染。
74.在所述步骤s4中,之所以会发生第一目标云渲染服务器的可用资源无法满足针对所述模拟驾驶素材的渲染,是由于在所述步骤s2中,评估云渲染服务器渲染所述模拟驾驶素材需要的预占用资源不够准确,即低估了云渲染服务器渲染所述模拟驾驶素材需要的预占用资源,或者第一目标云渲染服务器针对所述模拟驾驶素材进行渲染后时产生的中间数据造成了额外占用资源,从而导致渲染所述模拟驾驶素材的实际占用资源大于第一目标云渲染服务器的可用资源。则此时,从管理服务器管理的更新后的多个目标云渲染服务器中,选取可用资源满足渲染所述模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,并分配所述第二目标云渲染服务器渲染所述模拟驾驶素材。具体的,管理服务器管理的云渲染服务器每时每刻的状态都在发生变化,有的可能从闲置状态被分配去渲染模拟驾驶素材,有的可能刚渲染完模拟驾驶素材置于闲置状态。则通过管理服务器对云渲染服务器资源的实时监测,可以确定更新后的目标云渲染服务器中,是否存在可用资源满足渲染模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器。
75.其中,在确定渲染模拟驾驶素材的所述实际占用资源时,一种方式是,根据模拟驾驶素材需要的预占用资源以及所述第一目标云渲染服务器在对模拟驾驶素材进行渲染时产生的中间数据对应的额外占用资源共同确定。另一种方式是,可以设置以增设比例,如150%,将第一目标云渲染服务器的可用资源乘以该增设比例,得到所述实际占用资源,即第二目标云渲染服务器可用资源的最小值,则从更新后的云渲染服务器中选出大于该资源值且为最大的云渲染服务器,作为第二目标云渲染服务器,以渲染所述模拟驾驶素材;若从更新后的云渲染服务器中选不出大于该资源值的云渲染服务器,则管理服务器新配置一满足该资源值的云渲染服务器,作为第二目标云渲染服务器,以渲染所述模拟驾驶素材。
76.在确定第二目标云渲染服务器后,进行所述步骤s5,具体的,包括以下步骤:
77.将所述第二目标云渲染服务器的渲染结果生成视频流,并将所述视频流压缩后发送至客户端;其中,采用h264算法对所述视频流进行压缩;
78.对客户端接收的压缩视频流进行解压,向用户展示渲染结果。
79.其实由于选用的第一目标云渲染服务器的可用资源本身已经很充足,所以出现第一目标云渲染服务器的可用资源无法满足所述模拟驾驶素材渲染的情况很少。
80.另外,所述渲染方法还包括:若监测到所述第一目标云渲染服务器的可用资源满足针对所述模拟驾驶素材的渲染;将所述第一目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果。
81.本技术提供的一种轨道交通模拟驾驶的渲染方法,用户能够通过客户端随时随地进行轨道交通模拟驾的需求,所述客户端可以是pc端,pad端,app端;另一方面通过动态监
测云渲染服务资源,根据用户选择的模拟驾驶场景合理的动态分配云渲染服务器,避免云渲染服务器资源的闲置和超载,提高模拟驾驶过程的可用性和健壮性。
82.如说明书附图4所示,本技术实施例还提供一种轨道交通模拟驾驶的渲染装置,包括:
83.响应模块401,用于响应来自客户端的操作指令,管理服务器获取与所述操作指令对应的模拟驾驶素材;
84.评估模块402,用于评估云渲染服务器渲染所述模拟驾驶素材需要的预占用资源;
85.分配模块403,用于从所述管理服务器管理的多个目标云渲染服务器中,分配对应的可用资源大于所述预占用资源的第一目标云渲染服务器渲染所述模拟驾驶素材;所述目标云渲染服务器为对应的渲染任务小于预设阈值的云渲染服务器;
86.监测模块404,用于在所述第一目标云渲染服务器渲染所述模拟驾驶素材的过程中,若监测到所述第一目标云渲染服务器的可用资源无法满足针对所述模拟驾驶素材的渲染,则获取所述管理服务器管理的更新后的多个目标云渲染服务器,并从所述更新后的多个目标云渲染服务器中选取可用资源满足渲染所述模拟驾驶素材需要的实际占用资源的第二目标云渲染服务器,并分配所述第二目标云渲染服务器渲染所述模拟驾驶素材;
87.发送模块405,用于将所述第二目标云渲染服务器针对所述模拟驾驶素材的渲染结果发送至客户端,以使所述客户端向用户展示所述渲染结果。
88.如说明书附图5所示,本技术实施例还提供一种电子设备,包括:处理器501、存储器502和总线503,所述存储器502存储有所述处理器501可执行的机器可读指令,当电子设备运行时,所述处理器501与所述存储器502之间通过总线503通信,所述机器可读指令被所述处理器501执行时执行所述的渲染方法的步骤。
89.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行所述的渲染方法的步骤。
90.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
91.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
92.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
93.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术
的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,平台服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
94.以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1