一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

资源配置方法、装置、电子设备及存储介质与流程

2022-03-26 12:08:40 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及自动驾驶技术领域。


背景技术:

2.自动驾驶汽车依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作,让电脑可以在没有任何人类主动操作的情况下,自动安全地操作机动车辆。自动驾驶汽车可以通过工控机进行控制,工控机包括多个功能模块,单个功能模块对资源的过度消耗容易导致自动驾驶车辆退自动,由于涉及多个模块,问题难以查找。


技术实现要素:

3.本公开提供了一种资源配置方法、装置、电子设备及存储介质。
4.根据本公开的一方面,提供了一种资源配置方法,包括:
5.确定自动驾驶套件的各功能模块各自对应的资源规格;
6.根据各资源规格,利用应用容器引擎为各功能模块配置各自对应的资源;
7.其中,资源包括处理器资源或存储资源中的至少一项。
8.根据本公开的另一方面,提供了一种资源配置装置,包括:
9.确定模块,用于确定自动驾驶套件的各功能模块各自对应的资源规格;
10.配置模块,用于根据各资源规格,利用应用容器引擎为各功能模块配置各自对应的资源;
11.其中,资源包括处理器资源或存储资源中的至少一项。
12.根据本公开的另一方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与该至少一个处理器通信连接的存储器;其中,
15.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
17.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
18.本公开提供了一种资源配置方法、装置、电子设备及存储介质,根据自动驾驶套件的各功能模块各自对应的资源规格,利用应用容器引擎为各功能模块配置各自对应的资源,使各功能模块之间实现资源隔离,避免单个功能模块过度消耗资源,从而提高各功能模块的资源利用率,提升自动驾驶系统的稳定性和工作效率。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1为本公开一实施例中资源配置方法的流程图;
22.图2为本公开一实施例中资源配置方法的示意图;
23.图3为本公开一实施例中资源配置方法的流程图;
24.图4为本公开一实施例中资源配置装置的示意图;
25.图5是用来实现本公开实施例的资源配置方法的电子设备的框图。
具体实施方式
26.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
27.本公开实施例提供了一种资源配置方法,图1是本公开一实施例的资源配置方法的流程图,该方法可以应用于资源配置装置,例如,该装置在部署于终端或其它处理设备执行的情况下,可以执行资源配置等。其中,终端可以为车载设备等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,包括:
28.步骤s101,确定自动驾驶套件的各功能模块各自对应的资源规格;
29.本公开实施例的执行主体可以是自动驾驶车辆的车载终端,例如,自动驾驶l4车的工控机hw(hardware)3.0。工控机上配置自动驾驶套件(autonomous driving kit,adk),adk包括多个功能模块,共同组成自动驾驶系统,控制自动驾驶车辆。
30.其中,资源包括处理器资源或存储资源中的至少一项。处理器资源可以包括但不限于cpu、gpu;存储资源可以包括但不限于内存、硬盘。
31.车载终端预先存储配置信息,根据配置信息确定自动驾驶套件的各功能模块各自对应的资源规格,其中,资源规格可以是各种资源对应的具体规格,例如,4核gpu,16g内存,200g硬盘。
32.步骤s102,根据各资源规格,利用应用容器引擎为各功能模块配置各自对应的资源;
33.其中,应用容器引擎可以包括但不限于:docker、rocket、pouchcontainer、cri-o。
34.各功能模块各自对应的资源规格可以相同,也可以不同,例如,功能模块1对应的资源规格为4核gpu,16g内存,200g硬盘,功能模块2对应的资源规格也可以是4核gpu,16g内存,200g硬盘,或者,功能模块2对应的资源规格也可以是4核gpu,32g内存,300g硬盘。
35.车载终端利用应用容器引擎配置各功能模块各自对应的资源,使各功能模块之间资源隔离,各功能模块使用各自的资源,不和其他模块共享资源。
36.在相关技术中,各功能模块共享资源,单个模块消耗过度的gpu、内存,容易导致自动驾驶车辆退自动,由于涉及多个模块,问题难以查找。
37.本公开实施例提供的资源配置方法,根据自动驾驶套件的各功能模块各自对应的资源规格,利用应用容器引擎为各功能模块配置各自对应的资源,使各功能模块之间实现
资源隔离,避免单个功能模块过度消耗资源,从而提高各功能模块的资源利用率,提升自动驾驶系统的稳定性和工作效率。
38.在一种可能的实现方式中,功能模块包括以下至少一项:
39.规划和控制(planning and control,pnc)模块、控制(control)模块、感知模块、定位模块、人机交互(human machine interaction,hmi)模块和通信模块。
40.在实际应用中,功能模块可以是实现自动驾驶系统的各项功能的模块,pnc模块,用于规划自动驾驶车辆的行驶轨迹;控制模块,用于车辆启动、停车、车辆左右转弯等;感知模块,用于收集自动驾驶车辆周围的信息,例如,行人、车辆、红绿灯等;定位模块,用于确定自动驾驶车辆的位置坐标系,例如,通用横墨卡托格网系统(universal transverse mercator grid system,utm)坐标,可以和高精地图精确匹配;hmi模块,用于解析云端服务器下发的指令,使自动驾驶车辆按照指定路线行驶;通信模块,用于adk和自动驾驶车辆的底盘进行通信,例如,可以通过控制器局域网(controller area network,简称can或者can bus)实现通信。
41.另外,adk除了包括上述各功能模块之外,还可以包括发布/订阅(publisher/subscriber)模块,用于各个功能模块共享信息,进行信息发布和各模块按需订阅。
42.本公开实施例中,各功能模块相互配合实现各自的功能,共同组成自动驾驶车辆的自动驾驶套件,从而实现自动驾驶车辆的功能。
43.在一种可能的实现方式中,根据各资源规格,利用应用容器引擎为各功能模块配置各自对应的资源,包括:
44.根据各资源规格,利用应用容器引擎通过虚拟化的方式为各功能模块配置各自对应的资源。
45.在实际应用中,对于每一功能模块,根据该功能模块对应的资源规格,利用应用容器引擎通过虚拟化的方式为该功能模块配置对应的资源,将该功能模块和对应的资源作为一个虚拟化单元,使各功能模块之间实现资源隔离。
46.本公开实施例中,利用应用容器引擎通过虚拟化的方式实现各功能模块之间的资源隔离,各功能模块使用各自的资源,提高各功能模块的资源利用率,提升驾驶效率。
47.在一种可能的实现方式中,根据各资源规格,利用应用容器引擎通过虚拟化的方式为各功能模块配置各自对应的资源,包括:
48.对于每一功能模块,利用应用容器引擎虚拟化功能模块对应的ubuntu系统,并根据功能模块对应的资源规格,配置ubuntu系统对应的资源。
49.在实际应用中,对于每一功能模块,利用应用容器引擎虚拟化该功能模块对应的ubuntu系统,根据该功能模块对应的资源规格,配置ubuntu系统对应的资源,从而实现各ubuntu系统之间的资源隔离。而且,各ubuntu系统可以作为一个服务组件,实现单个模块服务化,独立对外输出和提供能力。
50.本公开实施例中,利用应用容器引擎通过虚拟化的方式使各功能模块作为独立的ubuntu系统,各ubuntu系统之间实现资源隔离,ubuntu系统可以提供健壮、功能丰富的计算环境。
51.在一种可能的实现方式中,还包括:
52.监听ubuntu系统对应的端口,并配置功能模块对应的可执行文件,可执行文件用
于实现功能模块对应的功能。
53.在实际应用中,对于每一功能模块对应的ubuntu系统,监听ubuntu系统对应的端口,通过该端口可以获取到该功能模块的数据,与其他功能模块进行信息共享,例如,感知模块感知到的周围环境数据,定位模块获取到的车辆的位置数据等,并配置功能模块对应的可执行文件,可执行文件用于实现各功能模块各自对应的功能。
54.本公开实施例中,通过监听各ubuntu系统对应的端口,并配置功能模块对应的可执行文件,可以使各功能模块和其他功能模块相互配合,实现各功能模块各自的功能。
55.在一个具体的实施例中,利用docker虚拟化gpu、内存、硬盘独立环境,去部署单个模块,具体过程如下:
56.a、对于hmi模块,在工控机上先配置一个docker软件docker_hmi系统(分配4核gpu,16g内存,200g硬盘),监听一个端口8081;然后在docker_hmi系统(例如,ubuntu系统)里配置可执行文件hmi.so文件&启动;
57.b、对于通信模块,在工控机上先配置一个docker软件docker_canbus系统(分配4核gpu,16g内存,200g硬盘),监听一个端口8082;然后在docker_canbus系统(例如,ubuntu系统)里配置可执行文件canbus.so文件&启动;
58.c、对于pnc模块,在工控机上先配置一个docker软件docker_pnc系统(分配4核gpu,16g内存,200g硬盘),监听一个端口8083;然后在docker_pnc系统(例如,ubuntu系统)里配置可执行文件pnc.so文件&启动;
59.d、对于控制模块,在工控机上先配置一个docker软件docker_control系统(分配4核gpu,16g内存,200g硬盘),监听一个端口8084;然后在docker_control系统(例如,ubuntu系统)里配置可执行文件control.so文件&启动;
60.e、对于感知模块,在工控机上先配置一个docker软件docker_感知系统(分配4核gpu,16g内存,200g硬盘),监听一个端口8085;然后在docker_感知系统(例如,ubuntu系统)里配置感知.so文件&启动。
61.在一种可能的实现方式中,还包括:
62.对资源配置后的各功能模块进行复制,以实现横向扩展。
63.在实际应用中,可以对资源配置后的各功能模块进行复制,得到多个独立的具有相同功能的功能模块,例如,多个感知模块,每个感知模块的资源规格为4核gpu,32g内存,200g硬盘。
64.本公开实施例中,可以通过复制的方式对资源配置后的功能模块进行横向扩展,从而提高自动驾驶系统的性能和稳定性。
65.图2为本公开实施例中资源配置方法的示意图。如图2所示,自动驾驶l4车的工控机hw3.0上配置自动驾驶套件adk,包括功能模块:pnc模块、control模块、感知模块、定位模块、hmi模块和canbus模块,另外,还包括发布/订阅(pub/sub)模块,预先确定各功能模块各自对应的资源规格,包括gpu和内存的具体规格,根据各资源规格,利用应用容器引擎为各功能模块配置各自对应的gpu和内存,监听各功能模块各自对应的端口,pub/sub模块,通过各端口获取各功能模块的数据,可以使各功能模块共享信息,进行信息发布和各模块按需订阅。配置功能模块对应的可执行文件,通过可执行文件实现各功能模块对应的功能,具体包括;pnc模块,用于规划自动驾驶车辆的行驶轨迹;control模块,用于车辆启动、停车、车
辆左右转弯等;感知模块,用于收集自动驾驶车辆周围的信息,例如,行人、车辆、红绿灯等;定位模块,用于确定自动驾驶车辆的位置坐标系,可以和高精地图精确匹配;hmi模块,用于解析云端服务器下发的指令,使自动驾驶车辆按照指定路线行驶;canbus模块,用于adk和自动驾驶车辆的底盘通过canbus进行通信。
66.本公开实施例中,根据自动驾驶套件的各功能模块各自对应的资源规格,利用应用容器引擎为各功能模块配置各自对应的gpu和内存,使各功能模块之间实现资源隔离,避免单个功能模块过度消耗资源,从而提高各功能模块的资源利用率,提升自动驾驶系统的稳定性和工作效率。
67.图3为本公开一实施例中资源配置方法的流程图。如图3所示,该方法包括:
68.步骤s301,确定自动驾驶套件的各功能模块各自对应的资源规格;
69.步骤s302,对于每一功能模块,利用应用容器引擎虚拟化功能模块对应的ubuntu系统,并根据功能模块对应的资源规格,配置ubuntu系统对应的资源;
70.步骤s303,监听ubuntu系统对应的端口,并配置功能模块对应的可执行文件;
71.步骤s304,对资源配置后的各功能模块进行复制,以实现横向扩展。
72.本公开实施例中,利用应用容器引擎通过虚拟化的方式使各功能模块作为独立的ubuntu系统,各ubuntu系统之间实现资源隔离,ubuntu系统可以提供健壮、功能丰富的计算环境。通过监听各ubuntu系统对应的端口,并配置功能模块对应的可执行文件,可以使各功能模块和其他功能模块相互配合,实现各功能模块各自的功能。通过复制的方式对资源配置后的功能模块进行横向扩展,从而提高自动驾驶系统的性能和稳定性。
73.图4为本公开一实施例中资源配置装置的示意图。如图4所示,资源配置装置可以包括:
74.确定模块401,用于确定自动驾驶套件的各功能模块各自对应的资源规格;
75.配置模块402,用于根据各资源规格,利用应用容器引擎为各功能模块配置各自对应的资源;
76.其中,资源包括处理器资源或存储资源中的至少一项。
77.本公开实施例提供的资源配置装置,根据自动驾驶套件的各功能模块各自对应的资源规格,利用应用容器引擎为各功能模块配置各自对应的资源,使各功能模块之间实现资源隔离,避免单个功能模块过度消耗资源,从而提高各功能模块的资源利用率,提升自动驾驶系统的稳定性和工作效率。
78.在一种可能的实现方式中,配置模块402,用于:
79.根据各资源规格,利用应用容器引擎通过虚拟化的方式为各功能模块配置各自对应的资源。
80.本公开实施例中,利用应用容器引擎通过虚拟化的方式实现各功能模块之间的资源隔离,各功能模块使用各自的资源,提高各功能模块的资源利用率,提升驾驶效率。
81.在一种可能的实现方式中,配置模块402具体用于:
82.对于每一功能模块,利用应用容器引擎虚拟化功能模块对应的ubuntu系统,并根据功能模块对应的资源规格,配置ubuntu系统对应的资源。
83.本公开实施例中,利用应用容器引擎通过虚拟化的方式使各功能模块作为独立的ubuntu系统,各ubuntu系统之间实现资源隔离,ubuntu系统可以提供健壮、功能丰富的计算
环境。
84.在一种可能的实现方式中,资源配置装置还包括监听模块,用于:
85.监听ubuntu系统对应的端口,并配置功能模块对应的可执行文件,可执行文件用于实现功能模块对应的功能。
86.本公开实施例中,通过监听各ubuntu系统对应的端口,并配置功能模块对应的可执行文件,可以使各功能模块和其他功能模块相互配合,实现各功能模块各自的功能。
87.在一种可能的实现方式中,资源配置装置还包括复制模块,用于:
88.对资源配置后的各功能模块进行复制,以实现横向扩展。
89.本公开实施例中,可以通过复制的方式对资源配置后的功能模块进行横向扩展,从而提高自动驾驶系统的性能和稳定性。
90.在一种可能的实现方式中,功能模块包括以下至少一项:
91.规划和控制pnc模块、控制模块、感知模块、定位模块、人机交互模块和通信模块。
92.本公开实施例中,各功能模块相互配合实现各自的功能,共同组成自动驾驶车辆的自动驾驶套件,从而实现自动驾驶车辆的功能。
93.本公开实施例各装置中的各单元、模块或子模块的功能可以参见上述方法实施例中的对应描述,在此不再赘述。
94.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
95.根据本公开的另一方面,提供了一种电子设备,包括:
96.至少一个处理器;以及
97.与该至少一个处理器通信连接的存储器;其中,
98.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
99.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
100.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
101.图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
102.如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和信息。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
103.设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;
输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/信息。
104.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如资源配置方法。例如,在一些实施例中,资源配置方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的资源配置方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源配置方法。
105.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收信息和指令,并且将信息和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
106.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程信息处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
107.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
108.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
109.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为信息服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字信息通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
110.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
111.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
112.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献