掌桥专利:专业的专利平台
掌桥专利
首页

一种地图生产系统及其方法

文献发布时间:2023-06-19 11:05:16


一种地图生产系统及其方法

技术领域

本发明涉及数据处理技术领域,具体而言,涉及一种地图生产系统及其方法。

背景技术

地图生产是自动驾驶中的重要环节,目前主要依赖卷积神经网络模型来进行图像识别,以从图像中识别出交通标识以及交通标识对应的位置信息,进而利用识别出的交通标识以及交通标识对应的位置信息,绘制地图。其中,该交通标识包括车道线、路灯杆、交通标志牌、停车位以及斑马线等。

众所周知,卷积神经网络模型有着很高的计算资源要求,为了满足卷积神经网络模型的计算资源要求,需要构建出一个拥有较强计算能力的地图生产系统。

发明内容

本发明提供了一种地图生产系统及其方法,以实现构建出一个拥有较强计算能力的地图生产系统。具体的技术方案如下:

第一方面,本发明实施例提供了一种地图生产系统,所述地图生产系统包括:资源管理器、并行运行单元、存储单元以及运算节点集群,其中,所述运算节点集群包括多个处理器以及存储空间;

所述并行运行单元,被配置为在接收到指示运行目标程序的运行指令之后,基于所述运行指令向所述资源管理器发送资源调配请求;并基于所述运行指令,从所述存储单元中确定所述目标程序所需处理的目标处理数据,其中,所述目标程序为地图生产相关程序,所述目标处理数据为地图生成所需数据;

所述资源管理器,被配置为获得所述资源调配请求之后,基于所述资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间,并将所述第一处理器的第一标识信息以及所述第一存储空间的第二标识信息发送至所述并行运行单元;

所述并行运行单元,还被配置为在接收到所述第一标识信息以及所述第二标识信息之后,基于所述第一标识信息以及所述第二标识信息,调用所述第一处理器和所述第一存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,若所述运行指令携带运行所述目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

所述并行运行单元,被具体配置为基于所述运行指令,生成携带所述目标需求量以及并行计算路数的资源调配请求;

相应的,所述资源管理器,被具体配置为基于所述资源调配请求携带的所述目标需求量以及并行计算路数,从所述运算节点集群中,确定出并行计算路数个配置信息满足所述目标需求量的处理器和存储空间,作为所述并行计算路数个第一处理器和第一存储空间;

若所述运行指令未携带运行所述目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

所述资源管理器,被具体配置为基于预设处理器调配阈值以及预设存储空间调配阈值,从所述运算节点集群中,确定出配置信息满足所述预设处理器调配阈值的处理器,以及配置信息满足所述预设存储空间调配阈值的存储空间,分别作为第一处理器和第一存储空间。

可选的,所述并行运行单元,还被配置为监控所述第一处理器和所述第一存储空间是否足以运行所述目标程序并处理所述目标处理数据;若确定不足以运行所述目标程序并处理所述目标处理数据,向所述资源管理器发送新的资源调配请求;

所述资源管理器,被配置为获得所述新的资源调配请求之后,基于所述预设处理器调配阈值以及所述预设存储空间调配阈值,从所述运算节点集群中,确定出配置信息满足所述预设处理器调配阈值的处理器,以及配置信息满足所述预设存储空间调配阈值的存储空间,分别作为第二处理器和第二存储空间;并将所述第二处理器的第三标识信息以及所述第二存储空间的第四标识信息发送至所述并行运行单元;

所述并行运行单元,还被配置为基于所述第一标识信息、所述第二标识信息、所述第三标识信息以及所述第四标识信息,调用所述第一处理器、所述第二处理器、所述第一存储空间以及所述第二存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,所述并行运行单元,被具体配置为:基于所述并行计算路数对所述目标处理数据进行分割,得到并行计算路数块目标处理子数据;

基于所述第一标识信息以及所述第二标识信息,调用所述并行计算路数个第一处理器和第一存储空间中的每一路对应的第一处理器和第一存储空间,运行封存于预设容器中的所述目标程序并处理所述并行计算路数块目标处理子数据中的每一块目标处理子数据,其中,每一路对应的第一处理器和第一存储空间均运行所述目标程序并处理一块目标处理子数据。

可选的,所述资源管理器,还被配置为:在基于所述资源调配请求携带的内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间之前,基于所述资源调配请求携带的内容,判断所述运算节点集群是否还存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间;

在判断存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,执行所述基于所述资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间;

在判断不存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,若检测到所述运算节点集群中出现新的处理器和新的存储空间,且新的处理器和新的存储空间中,存在配置信息符合所述资源调配请求所携带内容对应的需求量的第三处理器和第三存储空间,将所述第三处理器的第五标识信息和第三存储空间的第六标识信息,发送至所述并行运行单元;

所述并行运行单元,还被配置为在接收到所述第五标识信息以及所述第六标识信息之后,基于所述第五标识信息以及所述第六标识信息,调用所述第三处理器和所述第三存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,所述运行指令中携带目标程序的处理优先权等级;

所述资源管理器,还被配置为:在判断所述运算节点集群中,不存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,判断所述并行运行单元当前运行的第一程序的处理优先权等级,是否低于所述目标程序对应处理优先权等级;

若所述并行运行单元当前运行的第一程序对应的处理优先权等级,低于所述目标程序对应处理优先权等级,从所述运行所述第一程序的处理器以及存储空间中,确定出配置信息满足所述资源调配请求所携带内容对应的需求量的处理器和存储空间,作为待调配处理器和待调配存储空间,其中,所述待调配处理器为运行所述第一程序的处理器中的部分处理器;所述待调配存储空间为运行所述第一程序的存储空间中的部分存储空间;

将所述待调配处理器的第七标识信息和待调配存储空间的第八标识信息,发送至所述并行运行单元;

所述并行运行单元,还被配置为基于所述第七标识信息以及所述第八标识信息,调用所述待调配处理器和所述待调配存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,所述并行运行单元,还被配置为将处理所述目标处理数据得到的处理结果,存储至所述目标程序指定的所述存储单元中的存储子单元。

第二方面,本发明实施例提供了一种地图生产方法,所述方法应用于地图生产系统,其中,所述地图生产系统包括:资源管理器、并行运行单元、存储单元以及运算节点集群,其中,所述运算节点集群包括多个处理器以及存储空间;

所述并行运行单元在接收到指示运行目标程序的运行指令之后,基于所述运行指令向所述资源管理器发送资源调配请求;并基于所述运行指令,从所述存储单元中确定所述目标程序所需处理的目标处理数据,其中,所述目标程序为地图生产相关程序,所述目标处理数据为地图生成所需数据;

所述资源管理器获得所述资源调配请求之后,基于所述资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间,并将所述第一处理器的第一标识信息以及所述第一存储空间的第二标识信息发送至所述并行运行单元;

所述并行运行单元在接收到所述第一标识信息以及所述第二标识信息之后,基于所述第一标识信息以及所述第二标识信息,调用所述第一处理器和所述第一存储空间,以运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,若所述运行指令携带运行所述目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

所述并行运行单元基于所述运行指令,生成携带所述目标需求量以及并行计算路数的资源调配请求;

相应的,所述资源管理器基于所述资源调配请求携带的所述目标需求量以及并行计算路数,从所述运算节点集群中,确定出并行计算路数个配置信息满足所述目标需求量的处理器和存储空间,作为所述并行计算路数个第一处理器和第一存储空间;

若所述运行指令未携带运行所述目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

所述资源管理器基于预设处理器调配阈值以及预设存储空间调配阈值,从所述运算节点集群中,确定出配置信息满足所述预设处理器调配阈值的处理器,以及配置信息满足所述预设存储空间调配阈值的存储空间,分别作为第一处理器和第一存储空间。

可选的,所述并行运行单元监控所述第一处理器和所述第一存储空间是否足以运行所述目标程序并处理所述目标处理数据;若确定不足以运行所述目标程序并处理所述目标处理数据,向所述资源管理器发送新的资源调配请求;

所述资源管理器获得所述新的资源调配请求之后,基于所述预设处理器调配阈值以及所述预设存储空间调配阈值,从所述运算节点集群中,确定出配置信息满足所述预设处理器调配阈值的处理器,以及配置信息满足所述预设存储空间调配阈值的存储空间,分别作为第二处理器和第二存储空间;并将所述第二处理器的第三标识信息以及所述第二存储空间的第四标识信息发送至所述并行运行单元;

所述并行运行单元基于所述第一标识信息、所述第二标识信息、所述第三标识信息以及所述第四标识信息,调用所述第一处理器、所述第二处理器、所述第一存储空间以及所述第二存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,所述并行运行单元基于所述并行计算路数对所述目标处理数据进行分割,得到并行计算路数块目标处理子数据;

基于所述第一标识信息以及所述第二标识信息,调用所述并行计算路数个第一处理器和第一存储空间中的每一路对应的第一处理器和第一存储空间,运行封存于预设容器中的所述目标程序并处理所述并行计算路数块目标处理子数据中的每一块目标处理子数据,其中,每一路对应的第一处理器和第一存储空间均运行所述目标程序并处理一块目标处理子数据。

可选的,所述资源管理器在基于所述资源调配请求携带的内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间之前,基于所述资源调配请求携带的内容,判断所述运算节点集群是否还存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间;

在判断存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,执行所述基于所述资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间;

在判断不存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,若检测到所述运算节点集群中出现新的处理器和新的存储空间,且新的处理器和新的存储空间中,存在配置信息符合所述资源调配请求所携带内容对应的需求量的第三处理器和第三存储空间,将所述第三处理器的第五标识信息和第三存储空间的第六标识信息,发送至所述并行运行单元;

所述并行运行单元在接收到所述第五标识信息以及所述第六标识信息之后,基于所述第五标识信息以及所述第六标识信息,调用所述第三处理器和所述第三存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,所述运行指令中携带目标程序的处理优先权等级;

所述资源管理器在判断所述运算节点集群中,不存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,判断所述并行运行单元当前运行的第一程序的处理优先权等级,是否低于所述目标程序对应处理优先权等级;

若所述并行运行单元当前运行的第一程序对应的处理优先权等级,低于所述目标程序对应处理优先权等级,从所述运行所述第一程序的处理器以及存储空间中,确定出配置信息满足所述资源调配请求所携带内容对应的需求量的处理器和存储空间,作为待调配处理器和待调配存储空间,其中,所述待调配处理器为运行所述第一程序的处理器中的部分处理器;所述待调配存储空间为运行所述第一程序的存储空间中的部分存储空间;

将所述待调配处理器的第七标识信息和待调配存储空间的第八标识信息,发送至所述并行运行单元;

所述并行运行单元基于所述第七标识信息以及所述第八标识信息,调用所述待调配处理器和所述待调配存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

可选的,所述并行运行单元将处理所述目标处理数据得到的处理结果,存储至所述目标程序指定的所述存储单元中的存储子单元。

由上述内容可知,本发明实施例提供的一种地图生产系统及其方法,该地图生产系统包括:资源管理器、并行运行单元、存储单元以及运算节点集群,其中,运算节点集群包括多个处理器以及存储空间;并行运行单元,被配置为在接收到指示运行目标程序的运行指令之后,基于运行指令向资源管理器发送资源调配请求;并基于运行指令,从存储单元中确定目标程序所需处理的目标处理数据,其中,目标程序为地图生产相关程序,目标处理数据为地图生成所需数据;资源管理器,被配置为获得资源调配请求之后,基于资源调配请求所携带内容,从运算节点集群中,确定出第一处理器以及第一存储空间,并将第一处理器的第一标识信息以及第一存储空间的第二标识信息发送至并行运行单元;并行运行单元,还被配置为在接收到第一标识信息以及第二标识信息之后,基于第一标识信息以及第二标识信息,调用第一处理器和第一存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。

应用本发明实施例,可以通过资源管理器管理包括多个处理器以及存储空间的运算节点集群,并行运行单元接收到指示运行目标程序的运行指令之后,可以直接向资源管理器发送资源调配请求,以请求运行目标程序所需的处理器和存储空间,资源管理器可以基于资源调配请求确定出提供并行运行单元运行目标程序并处理目标处理数据所需的处理器和存储空间,以实现构建出一个拥有较强计算能力的地图生产系统,并且目标程序封存于预设容器中,使得目标程序在任意类型的处理器上运行,实现异构节点集群中各处理器的正常使用,为地图生产系统的运行提供保障。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

本发明实施例的创新点包括:

1、可以通过资源管理器管理包括多个处理器以及存储空间的运算节点集群,并行运行单元接收到指示运行目标程序的运行指令之后,可以直接向资源管理器发送资源调配请求,以请求运行目标程序所需的处理器和存储空间,资源管理器可以基于资源调配请求确定出提供并行运行单元运行目标程序并处理目标处理数据所需的处理器和存储空间,以实现构建出一个拥有较强计算能力的地图生产系统,并且目标程序封存于预设容器中,使得目标程序在任意类型的处理器上运行,实现异构节点集群中各处理器的正常使用,为地图生产系统的运行提供保障。

2、并行运行单元可以基于运行指令是否携带运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数,生成不同的资源调配请求,以使得资源管理器可以基于资源调配请求携带的信息,基于不同的资源调配方式为并行运行单元运行目标程序调配处理器和存储空间,具体的,资源调配请求携带目标需求量以及并行计算路数的情况下,资源管理器直接为并行运行单元调配并行计算路数个满足目标需求量的处理器和存储空间,以使得并行运行单元调用满足目标需求量的处理器和存储空间,运行目标程序,保证目标程序的正常运行并处理目标处理数据;在资源调配请求未携带目标需求量以及并行计算路数的情况下,资源管理器基于预设处理器调配阈值以及预设存储空间调配阈值,从运算节点集群中,确定出配置信息满足预设处理器调配阈值的处理器,以及配置信息满足预设存储空间调配阈值的存储空间,以尝试使得并行运行单元调用相应的处理器和存储空间,运行目标程序。

3、并行运行单元在确定第一处理器和第一存储空间不足以运行目标程序并处理目标处理数据,可以继续向资源管理器请求处理器和存储空间,资源管理器每接收到新的资源调配请求,即基于新的资源调配请求,确定配置信息满足预设处理器调配阈值的处理器,以及配置信息满足预设存储空间调配阈值的存储空间,并将相应的标识信息反馈给并行运行单元,以使得并行运行单元可以继续调用新的处理器和存储空间一同运行封存于预设容器中的所述目标程序并处理目标处理数据。

4、该地图生产系统可以实现动态扩容运算节点集群中的处理器和存储空间,资源管理器在获得资源调配请求后可以先判断运算节点集群中空闲的处理器和存储空间中,是否存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间,在判断存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,基于资源调配请求所携带内容,从运算节点集群中,确定出第一处理器以及第一存储空间;在判断不存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,若检测到运算资源集群中出现新的处理器和新的存储空间,且新的处理器和新的存储空间中,存在配置信息符合资源调配请求所携带内容对应的需求量的第三处理器和第三存储空间,将第三处理器的第五标识信息和第三存储空间的第六标识信息,发送至并行运行单元,并行运行单元可以调用第三处理器和第三存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。。

5、运行指令中携带目标程序的处理优先权等级,即并行运行单元中运行的程序均可以对应有处理优先权等级,资源管理器在判断运算节点集群中,不存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,判断并行运行单元当前运行的第一程序的处理优先权等级,是否低于目标程序对应处理优先权等级;若低于,资源管理器可以从并行运行单元中当前运行的第一程序的处理器和存储空间中,确定出部分处理器和部分存储空间,以调配给并行运行单元用于调用,运行处理优先权等级高的目标程序,实现对处理优先权等级高的目标程序的优先处理的需求;并且为了避免当前运行的第一程序的当前运行结果的丢失,为运行的第一程序保留部分处理器和存储空间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的地图生产系统的一种结构示意图;

图2为本发明实施例提供的地图生产方法的一种流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含的一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

本发明提供了一种地图生产系统及其方法,以实现构建出一个拥有较强计算能力的地图生产系统。下面对本发明实施例进行详细说明。

图1为本发明实施例提供的地图生产系统的一种结构示意图。地图生产系统可以包括:资源管理器110、并行运行单元120、存储单元130以及运算节点集群140,其中,运算节点集群140包括可以多个处理器以及存储空间;一种情况中,处理器中可以包括数据处理器和图像处理器,该数据处理器可以为CPU(Central Processing Unit/Processor,中央处理器),该数据处理器处理器可以为单核数据处理器或多核数据处理器;该图像处理图可以为GPU(Graphics Processing Unit,图形处理器),该图像处理器处理器可以为单核图像处理器或众核图像处理器;该存储空间可以是通过硬盘等存储设备提供。该存储空间可作为内存。

并行运行单元120,被配置为在接收到指示运行目标程序的运行指令之后,基于运行指令向资源管理器110发送资源调配请求;并基于运行指令,从存储单元130中确定目标程序所需处理的目标处理数据,其中,目标程序为地图生产相关程序,目标处理数据为地图生成所需数据;该地图生产相关程序可以包括但不限于交通标识识别算法对应的程序、地图绘制算法对应的程序等。其中,该交通标识包括但不限于车道线、停车位、交通指示牌以及路灯杆等。

资源管理器110,被配置为获得资源调配请求之后,基于资源调配请求所携带内容,从运算节点集群140中,确定出第一处理器以及第一存储空间,并将第一处理器的第一标识信息以及第一存储空间的第二标识信息发送至并行运行单元120。

并行运行单元120,还被配置为在接收到第一标识信息以及第二标识信息之后,基于第一标识信息以及第二标识信息,调用第一处理器和所述第一存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。

本发明实施例中,并行运行单元120在接收到指示运行目标程序的运行指令之后,可以基于运行指令向资源管理器110发送资源调配请求,并基于运行指令中携带的目标程序所需处理的目标处理数据的数据标识,从存储单元130中确定并读取出目标程序所需处理的目标处理数据。其中,该运行指令可以携带有目标程序的程序标识,并行运行单元120可以基于运行指令携带的目标程序的程序标识,确定出目标程序。

其中,该运行指令可以是用户手动触发,也可以并行运行单元自动触发,例如:可以是并行运行单元定时自动触发,或接收到其他设备的触发指令时自动触发。

在一种情况中,该并行运行单元120可以是基于MapReduce(映射归约)框架或Spark streaming(火花流)框架的单元。其中,MapReduce为一种分布式并行计算模型,可以并行运行地图生产相关程序,实现调动所有处理器的带宽,以提高运算时的地图生产系统整体的数据吞吐量;Spark Streaming是Spark核心API(Application Program Interface,应用程序接口)的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。

在一种实现方式中,该存储单元可以包括第一存储子单元和第二存储子单元,目标处理数据可以存储于第一存储子单元中。其中,该第一存储子单元可以为HDFS(HadoopDistributed File System,Hadoop分布式文件系统)。

资源管理器110在获得资源调配请求之后,可以解析出资源调配请求携带的内容,并基于资源调配请求所携带内容,遍历运算节点集群140,从运算节点集群中确定出处于空间状态的处理以及未被占用的存储空间,从处于空间状态的处理以及未被占用的存储空间中,确定出供并行运行单元120运行目标程序所需的处理器及其标识信息,作为第一处理的第一标识信息;并确定出供并行运行单元120运行目标程序所需的存储空间及其标识信息,作为第一存储空间的第二标识信息;并将第一标识信息和第二标识信息发送至并行运行单元120。

在一种情况中,该资源管理器可以为Yarn(Yet Another Resource Negotiator,另一种资源协调者),Yarn是一种新的Hadoop资源管理器,可以实现对运算节点集群140中的处理器以及存储空间的管理。

并行运行单元120在接收到第一标识信息以及第二标识信息之后,基于第一标识信息调用第一处理器,并基于第二标识信息调用第一存储空间,以通过第一处理器和第一存储空间运行封存于预设容器中的目标程序并处理目标处理数据。

其中,目标程序已预先被封存于预设容器中,以使得运算节点集群中各处理器均可运行该目标程序。一种情况,该预设容器可以为docker容器。

在一种实现方式中,该地图生产系统可以提供有人机交互界面,该人机交互界面提供有供用户发出指示运行地图生产相关程序的运行指令。并且设置关于运行地图生产相关程序的运行条件;例如,可以直接设置运行某一地图生产相关程序所需的处理器和存储空间的需求量,运行该地图生产相关程序时所需处理的数据的标识,和/或指示运行该地图生产相关程序的路数即并行运行路数等等。该需求量可以包括表征运行该地图生产相关程序所需的处理器的配置信息和所需存储空间的数量。

在一种实现方式中,在地图生产系统开始处理数据之前,用户可以预先创建该运算节点集群140,即将运算节点集群140中的处理器和存储空间,与资源管理器110进行绑定,以使得资源管理器110可以管理运算节点集群140中的处理器和存储空间,即调配处理器和存储空间,并监控处理器和存储空间的使用状态。在一种情况中,可以基于Hadoop3提供的Countable Resource Management(可计算资源管理)技术,可以将处理器和存储空间等计算存储资源纳入资源管理器110的管理范围,即与资源管理器110进行绑定。相应的,一种情况,资源管理器110可以基于Countable Resource Management技术,来管理并行运行单元120对处理器和存储空间的使用需求,其可以做到显存级别的资源管理,即资源管理器110可以将每个处理器映射到为一定量的显存资源,供并行运行单元120申请使用。

应用本发明实施例,可以通过资源管理器管理包括多个处理器以及存储空间的运算节点集群,并行运行单元接收到指示运行目标程序的运行指令之后,可以直接向资源管理器发送资源调配请求,以请求运行目标程序所需的处理器和存储空间,资源管理器可以基于资源调配请求确定出提供并行运行单元运行目标程序并处理目标处理数据所需的处理器和存储空间,以实现构建出一个拥有较强计算能力的地图生产系统,并且目标程序封存于预设容器中,使得目标程序在任意类型的处理器上运行,实现异构节点集群中各处理器的正常使用,为地图生产系统的运行提供保障。

在本发明的另一实施例中,若运行指令携带运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

并行运行单元120,被具体配置为基于运行指令,生成携带目标需求量以及并行计算路数的资源调配请求;

相应的,资源管理器110,被具体配置为基于资源调配请求携带的目标需求量以及并行计算路数,从运算节点集群中,确定出并行计算路数个配置信息满足目标需求量的处理器和存储空间,作为并行计算路数个第一处理器和第一存储空间;

若运行指令未携带运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

资源管理器110,被具体配置为基于预设处理器调配阈值以及预设存储空间调配阈值,从运算节点集群中,确定出配置信息满足预设处理器调配阈值的处理器,以及配置信息满足预设存储空间调配阈值的存储空间,分别作为第一处理器和第一存储空间。

本实现方式中,并行运行单元120可以基于运行指令携带的内容生成包含不同内容的资源调配请求。在运行指令携带运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数的情况下,并行运行单元120可以基于运行指令生成携带目标需求量和并行计算路数的资源调配请求,并发送至资源管理器110;资源管理器110获得资源调配请求之后,可以基于资源调配请求携带的目标需求量和并行计算路数,从运算节点集群中,确定出并行计算路数个配置信息满足目标需求量的处理器和存储空间,作为并行计算路数个第一处理器和第一存储空间。

通过目标需求量和并行计算路数,并行运行单元120可以直接向资源管理器110请求到,足够运行目标程序并处理目标处理数据的处理器和存储空间,在一定程度上可以节省运算资源请求的流程。

其中,运行指令携带的运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数,可以是用户基于自身需求进行设置的。目标需求量包括处理器需求量和存储空间需求量。

在运行指令未携带运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数的情况下,并行运行单元120可以基于该运行指令生成不携带目标需求量以及并行计算路数的资源调配请求,并发送至资源管理器110;资源管理器110在获得资源调配请求之后,可以基于预设处理器调配阈值以及预设存储空间调配阈值,从运算节点集群中,确定出配置信息满足预设处理器调配阈值的处理器,以及配置信息满足预设存储空间调配阈值的存储空间,分别作为第一处理器和第一存储空间。

其中,该预设处理器调配阈值和预设存储空间调配阈值可以是基于hadoop自定义资源管理功能Countable Resource Management(可计算资源管理)进行设置的。在处理器包括数据处理器和图像处理器的情况下,该预设处理器调配阈值可以包括预设数据处理器调配阈值和预设图像处理器调配阈值。

在一种情况中,用户可以将预设处理器调配阈值和预设存储空间调配阈值设置的稍微小一些,以使得资源管理器可以为并行运行单元120精确的调配出较合适精确的处理器和存储空间等运算资源。

在本发明的另一实施例中,并行运行单元120,还被配置为监控第一处理器和第一存储空间是否足以运行目标程序并处理目标处理数据;若确定不足以运行目标程序并处理目标处理数据,向资源管理器110发送新的资源调配请求;

资源管理器110,被配置为获得新的资源调配请求之后,基于预设处理器调配阈值以及预设存储空间调配阈值,从运算节点集群中,确定出配置信息满足预设处理器调配阈值的处理器,以及配置信息满足预设存储空间调配阈值的存储空间,分别作为第二处理器和第二存储空间;并将第二处理器的第三标识信息以及第二存储空间的第四标识信息发送至并行运行单元120;

并行运行单元120,还被配置为基于第一标识信息、第二标识信息、第三标识信息以及第四标识信息,调用第一处理器、第二处理器、第一存储空间以及第二存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。

本实施例中,并行运行单元120可以实时监控所运行的程序,并监控处理器和存储空间是否足以支持运行其对应的程序。即并行运行单元120在运行目标程序器件,可以监控第一处理器和第一存储空间是否足以运行目标程序并处理目标处理数据,并行运行单元120若确定第一处理器和第一存储空间不足以运行目标程序并处理目标处理数据,并行运行单元120会生成新的资源调配请求,并向资源管理器110发送新的资源调配请求,以向资源管理器110请求用于运行目标程序所需的处理器和存储空间。

资源管理器110在获得新的资源调配请求之后,继续基于预设处理器调配阈值以及预设存储空间调配阈值,从运算节点集群中,确定出配置信息满足预设处理器调配阈值的处理器及其标识信息,作为第二处理器的第三标识信息,并确定出配置信息满足预设存储空间调配阈值的存储空间及其标识信息,作为第二存储空间的第四标识信息;并将第三标识信息以及第第四标识信息发送至并行运行单元120。

在一种情况中,若资源管理器110确定运算节点集群中处于空闲状态的处理器中存在配置信息满足预设处理器调配阈值的处理器,将处于空闲状态的、配置信息满足预设处理器调配阈值的处理器,作为第二处理器;若资源管理器110确定运算节点集群中未被占用的存储空间中存在配置信息满足预设存储空间调配阈值的存储空间,将未被占用的配置信息满足预设存储空间调配阈值的存储空间,作为第二处理器。

并行运行单元120在接收到第三标识信息以及第四标识信息之后,可以同时调用第一处理器、第二处理器、第一存储空间以及第二存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。具体的可以是:调用第二处理器和第二存储空间运行封存于预设容器中的目标程序,并且将目标处理数据中,当前未被基于第一处理器和第一存储空间运行的目标程序处理的当前未处理目标处理数据,划分为两份;将其中一份分配给基于第二处理器和第二存储空间运行的目标程序,以通过基于第二处理器和第二存储空间运行的目标程序处理,另一份仍然由基于第一处理器和第一存储空间运行的目标程序处理。

并行运行单元120可以实时监控目标程序的运行,在确定当前的运算资源不足以运行目标程序并处理目标处理数据的情况下,即可以生成新的资源调配请求,向资源管理器110请求为目标程序调配供目标程序运行的处理器和存储空间,以保证目标程序的运行。其中,当前的运算资源包括并行运行单元120当前运行目标程序所调用的处理器和存储空间。

在另一种实现方式中,若并行运行单元120监控到处理器或存储空间不足以运行目标程序并处理目标处理数据,此时,可以仅向资源管理器110请求为目标程序调配供目标程序运行的处理器或存储空间,这也是可以的。

在本发明的另一实施例中,在运行指令中携带运行目标程序所需的处理器和存储空间的目标需求量以及并行计算路数的情况下,考虑到并行运行单元120获得并行计算路数个配置信息满足目标需求量的第一处理器的第一标识信息和第一存储空间的第二标识信息后;可以并行运行调用并行计算路数路第一处理器和第一存储空间,并行运行并行计算路数路目标程序。为了提高目标处理数据的处理速度。具体的,并行运行单元120,被具体配置为:基于并行计算路数对目标处理数据进行分割,得到并行计算路数块目标处理子数据;

基于第一标识信息以及第二标识信息,调用并行计算路数个第一处理器和第一存储空间中的每一路对应的第一处理器和第一存储空间,运行封存于预设容器中的目标程序并处理并行计算路数块目标处理子数据中的每一块目标处理子数据,其中,每一路对应的第一处理器和第一存储空间均运行目标程序并处理一块目标处理子数据。

其中,并行运行单元120可以基于并行计算路数对目标处理数据进行均匀分割,得到并行计算路数块目标处理子数据。上述均匀分割为:按照目标处理数据中每一数据的数据量进行分割,使得并行计算路数块目标处理子数据中所包括数据的数据量之间的差值,达到最小的分割。

在本发明的另一实施例中,资源管理器110,还被配置为:在基于资源调配请求携带的内容,从运算节点集群中,确定出第一处理器以及第一存储空间之前,基于资源调配请求携带的内容,判断运算节点集群是否还存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间;

在判断存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,执行所述基于资源调配请求所携带内容,从运算节点集群中,确定出第一处理器以及第一存储空间;

在判断不存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,若检测到运算节点集群中出现新的处理器和新的存储空间,且新的处理器和新的存储空间中,存在的配置信息表征符合资源调配请求所携带内容对应的需求量的第三处理器和第三存储空间,将第三处理器的第五标识信息和第三存储空间的第六标识信息,发送至并行运行单元120;

并行运行单元120,还被配置为在接收到第五标识信息以及第六标识信息之后,基于第五标识信息以及第六标识信息,调用第三处理器和第三存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。

本实施例中,考虑到难免存在运算节点集群中部分或全部处理器和存储空间被调用的情况,资源管理器110在获得资源调配请求之后,可以首先基于资源调配请求携带的内容,判断运算节点集群是否还存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间;即运算节点集群是否还存在处于空闲状态的、且配置信息符合资源调配请求所携带内容对应的处理器需求量的处理器,以及未被占用的、且配置信息符合资源调配请求所携带内容对应的存储空间需求量的存储空间。

资源管理器110在判断存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间,即判断存在处于空闲状态的、且配置信息符合资源调配请求所携带内容对应的处理器需求量的处理器,以及未被占用的、且配置信息符合资源调配请求所携带内容对应的存储空间需求量的存储空间的情况下,基于资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间。其中,该第一处理器为:处于空闲状态的、且配置信息符合资源调配请求所携带内容对应的处理器需求量的处理器;该第一存储空间为:未被占用的、且配置信息符合资源调配请求所携带内容对应的存储空间需求量的存储空间。

资源管理器110在判断不存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间,即判断不存在处于空闲状态的、且配置信息符合资源调配请求所携带内容对应的处理器需求量的处理器,以及未被占用的、且配置信息符合资源调配请求所携带内容对应的存储空间需求量的存储空间的情况下,资源管理器110可以实时监控是否出现扩容的新的处理器和新的存储空间,若检测到运算节点集群中出现新的处理器和新的存储空间,资源管理器110可以继续确定新的处理器和新的存储空间中,是否存在配置信息符合资源调配请求所携带内容对应的处理器需求量的第三处理器,且是否存在配置信息符合资源调配请求所携带内容对应的存储空间需求量的第三存储空间。

在确定新的处理器和新的存储空间中,存在配置信息符合资源调配请求所携带内容对应的处理器需求量的第三处理器,且存在配置信息符合资源调配请求所携带内容对应的存储空间需求量的第三存储空间的情况下,将第三处理器的第五标识信息和第三存储空间的第六标识信息,发送至并行运行单元120。并行运行单元120在接收到第五标识信息以及第六标识信息之后,基于第五标识信息以及第六标识信息,调用第三处理器和第三存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。以实现动态扩容运算节点集群140中的处理器和存储空间。

在一种情况中,资源管理器110在判断不存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,资源管理器110还可以向并行运行单元120发送通知等待的信息;并行运行单元120获得该通知等待的信息后,可以等待即暂时不运行目标程序,直至接收到资源管理器110发送的用于运行目标程序的处理器的标识信息和存储空间的标识信息之后,基于资源管理器110发送的用于运行目标程序的处理器的标识信息和存储空间的标识信息,调用相应的处理器和存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。

考虑到难免出现地图生成系统当前正在运行程序并处理数据的情况下,接收到表征需要运行其他更紧急程序并处理数据的任务的情况。鉴于上述情况,各指示运行相应程序的指令中可以携带处理优先权等级,该处理优先权等级可以指示地图生成系统是否需要优先处理该指令是指示的相应程序。

在本发明的另一实施例中,运行指令中可以携带目标程序的处理优先权等级;

资源管理器110,还被配置为:在判断运算节点集群中,不存在配置信息符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,判断并行运行单元120当前运行的第一程序的处理优先权等级,是否低于目标程序对应处理优先权等级;

若并行运行单元120当前运行的第一程序对应的处理优先权等级,低于目标程序对应处理优先权等级,从运行第一程序的处理器以及存储空间中,确定出满足资源调配请求所携带内容对应的需求量的处理器和存储空间,作为待调配处理器和待调配存储空间,其中,待调配处理器为运行第一程序的处理器中的部分处理器;待调配存储空间为运行第一程序的存储空间中的部分存储空间;

将待调配处理器的第七标识信息和待调配存储空间的第八标识信息,发送至并行运行单元120;

并行运行单元120,还被配置为基于第七标识信息以及第八标识信息,调用待调配处理器和待调配存储空间,运行封存于预设容器中的目标程序并处理目标处理数据。

本发明实施例中,资源管理器110可以从并行运行单元120中当前运行的第一程序的处理器和存储空间中,确定出部分处理器和部分存储空间,以调配给并行运行单元120用于调用,运行处理优先权等级高的目标程序,实现对处理优先权等级高的目标程序的优先处理的需求;并且为了避免当前运行的第一程序的当前运行结果的丢失,为运行的第一程序保留部分处理器和存储空间。

在另一实施例中,资源管理器110在判断运算节点集群中,存在符合资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,可以直接从运算节点集群中处于空闲状态的处理器和未被占用的存储空间中,确定出符合资源调配请求所携带内容对应的需求量的处理器和存储空间,并将符合资源调配请求所携带内容对应的需求量的处理器的标识信息和存储空间的标识信息,发送至并行运行单元120。

为了保证数据的完整性,在并行运行单元120运行目标程序并处理目标处理数据之后,还需要将处理目标处理数据得到的处理结果,进行存储。在本发明的另一实施例中,并行运行单元120,还被配置为将处理目标处理数据得到的处理结果,存储至目标程序指定的存储单元中的存储子单元。

本实施例中,该目标程序中可以指定有处理目标处理数据得到的处理结果的存储单元中的存储子单元的单元标识。并行运行单元120基于该单元标识,可以将处理目标处理数据得到的处理结果发送至该单元标识对应的存储单元中的存储子单元,以在存储子单元中存储该处理目标处理数据得到的处理结果。

其中,存储单元可以两个存储子单元,分别为第一存储子单元和第二存储子单元,该第一存储子单元可以为HDFS(Hadoop Distributed File System,Hadoop分布式文件系统);第二存储子单元可以为HBase(Hadoop Database,分布式存储系统),该HBase是一个高可靠性、高性能、面向列、可伸缩的存储系统。

相应于上述系统实施例,本发明实施例提供了一种地图生产方法,所述方法应用于地图生产系统,其中,所述地图生产系统包括:资源管理器、并行运行单元、存储单元以及运算节点集群,其中,所述运算节点集群包括多个处理器以及存储空间;如图2所示,所述方法包括:

S201:并行运行单元在接收到指示运行目标程序的运行指令之后,基于所述运行指令向所述资源管理器发送资源调配请求;并基于所述运行指令,从所述存储单元中确定所述目标程序所需处理的目标处理数据。

其中,所述目标程序为地图生产相关程序,所述目标处理数据为地图生成所需数据。

S202:资源管理器获得所述资源调配请求之后,基于所述资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间,并将所述第一处理器的第一标识信息以及所述第一存储空间的第二标识信息发送至所述并行运行单元。

S203:并行运行单元在接收到所述第一标识信息以及所述第二标识信息之后,基于所述第一标识信息以及所述第二标识信息,调用所述第一处理器和所述第一存储空间,以运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

应用本发明实施例,可以通过资源管理器管理包括多个处理器以及存储空间的运算节点集群,并行运行单元接收到指示运行目标程序的运行指令之后,可以直接向资源管理器发送资源调配请求,以请求运行目标程序所需的处理器和存储空间,资源管理器可以基于资源调配请求确定出提供并行运行单元运行目标程序并处理目标处理数据所需的处理器和存储空间,以实现构建出一个拥有较强计算能力的地图生产系统,并且目标程序封存于预设容器中,使得目标程序在任意类型的处理器上运行,实现异构节点集群中各处理器的正常使用,为地图生产系统的运行提供保障。

在本发明的另一实施例中,若所述运行指令携带运行所述目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

所述并行运行单元基于所述运行指令,生成携带所述目标需求量以及并行计算路数的资源调配请求;

相应的,所述资源管理器基于所述资源调配请求携带的所述目标需求量以及并行计算路数,从所述运算节点集群中,确定出并行计算路数个配置信息满足所述目标需求量的处理器和存储空间,作为所述并行计算路数个第一处理器和第一存储空间;

若所述运行指令未携带运行所述目标程序所需的处理器和存储空间的目标需求量以及并行计算路数;

所述资源管理器基于预设处理器调配阈值以及预设存储空间调配阈值,从所述运算节点集群中,确定出配置信息满足所述预设处理器调配阈值的处理器,以及配置信息满足所述预设存储空间调配阈值的存储空间,分别作为第一处理器和第一存储空间。

在本发明的另一实施例中,所述并行运行单元监控所述第一处理器和所述第一存储空间是否足以运行所述目标程序并处理所述目标处理数据;若确定不足以运行所述目标程序并处理所述目标处理数据,向所述资源管理器发送新的资源调配请求;

所述资源管理器获得所述新的资源调配请求之后,基于所述预设处理器调配阈值以及所述预设存储空间调配阈值,从所述运算节点集群中,确定出配置信息满足所述预设处理器调配阈值的处理器,以及配置信息满足所述预设存储空间调配阈值的存储空间,分别作为第二处理器和第二存储空间;并将所述第二处理器的第三标识信息以及所述第二存储空间的第四标识信息发送至所述并行运行单元;

所述并行运行单元基于所述第一标识信息、所述第二标识信息、所述第三标识信息以及所述第四标识信息,调用所述第一处理器、所述第二处理器、所述第一存储空间以及所述第二存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

在本发明的另一实施例中,所述并行运行单元基于所述并行计算路数对所述目标处理数据进行分割,得到并行计算路数块目标处理子数据;

基于所述第一标识信息以及所述第二标识信息,调用所述并行计算路数个第一处理器和第一存储空间中的每一路对应的第一处理器和第一存储空间,运行封存于预设容器中的所述目标程序并处理所述并行计算路数块目标处理子数据中的每一块目标处理子数据,其中,每一路对应的第一处理器和第一存储空间均运行所述目标程序并处理一块目标处理子数据。

在本发明的另一实施例中,所述资源管理器在基于所述资源调配请求携带的内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间之前,基于所述资源调配请求携带的内容,判断所述运算节点集群是否还存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间;

在判断存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,执行所述基于所述资源调配请求所携带内容,从所述运算节点集群中,确定出第一处理器以及第一存储空间;

在判断不存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,若检测到所述运算节点集群中出现新的处理器和新的存储空间,且新的处理器和新的存储空间中,存在配置信息符合所述资源调配请求所携带内容对应的需求量的第三处理器和第三存储空间,将所述第三处理器的第五标识信息和第三存储空间的第六标识信息,发送至所述并行运行单元;

所述并行运行单元在接收到所述第五标识信息以及所述第六标识信息之后,基于所述第五标识信息以及所述第六标识信息,调用所述第三处理器和所述第三存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

在本发明的另一实施例中,所述运行指令中携带目标程序的处理优先权等级;

所述资源管理器在判断所述运算节点集群中,不存在配置信息符合所述资源调配请求所携带内容对应的需求量的处理器和存储空间的情况下,判断所述并行运行单元当前运行的第一程序的处理优先权等级,是否低于所述目标程序对应处理优先权等级;

若所述并行运行单元当前运行的第一程序对应的处理优先权等级,低于所述目标程序对应处理优先权等级,从所述运行所述第一程序的处理器以及存储空间中,确定出配置信息满足所述资源调配请求所携带内容对应的需求量的处理器和存储空间,作为待调配处理器和待调配存储空间,其中,所述待调配处理器为运行所述第一程序的处理器中的部分处理器;所述待调配存储空间为运行所述第一程序的存储空间中的部分存储空间;

将所述待调配处理器的第七标识信息和待调配存储空间的第八标识信息,发送至所述并行运行单元;

所述并行运行单元基于所述第七标识信息以及所述第八标识信息,调用所述待调配处理器和所述待调配存储空间,运行封存于预设容器中的所述目标程序并处理所述目标处理数据。

在本发明的另一实施例中,所述并行运行单元将处理所述目标处理数据得到的处理结果,存储至所述目标程序指定的所述存储单元中的存储子单元。

上述方法实施例与系统实施例相对应,与该系统实施例具有同样的技术效果,具体说明参见系统实施例。方法实施例是基于系统实施例得到的,具体的说明可以参见系统实施例部分,此处不再赘述。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

相关技术
  • 一种地图系统及基于该地图系统的交互方法
  • 一种高精度地图生产过程中的数据采集方法及系统
技术分类

06120112792987