发明内容
本发明提供了一种地图生产系统及其方法,以实现对地图生产系统中资源的合理调度。具体的技术方案如下:
第一方面,本发明实施例提供了一种地图生产系统,所述系统包括:资源调度模块、计算模块、数据存储模块、监控模块以及运算节点集群,其中,所述运算节点集群包括多个处理单元及其对应的存储空间;
所述计算模块,被配置为在接收到指示运行目标程序的运行指令之后,基于所述运行指令向所述资源调度模块发送资源调度请求;并基于所述运行指令,从所述数据存储模块中确定所述目标程序所需处理的目标处理数据,其中,所述目标程序为地图生产相关程序,所述目标处理数据为地图生成所需数据;
所述资源调度模块,被配置为获得所述资源调度请求之后,判断所述资源调度请求是否携带指定运算节点标识,若判断所述资源调度请求携带指定运算节点标识,将所述指定运算节点标识对应的处理单元的第一标识信息及其对应的存储空间的第二标识信息发送至所述计算模块,其中,所述指定运算节点标识为:根据所述监控模块在所述目标程序的历史运行过程中,监控到的所述目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识;
所述计算模块,还被配置为在获得所述第一标识信息和所述第二标识信息之后,调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据。
可选的,所述运算节点集群包括多个运算节点,且存在对应的关系的处理单元及存储空间对应相同的运算节点;
所述资源调度模块,还被配置为若判断所述资源调度请求未携带指定运算节点标识,基于所述资源调度请求携带的运行所述目标程序所需处理单元和存储空间的目标需求量,从所述运算节点集群中,确定出待调度运算节点;将所述待调度运算节点对应的满足所述目标需求量的处理单元的第三标识信息以及存储空间的第四标识信息,发送至所述计算模块;
所述计算模块,还被配置为在获得所述第三标识信息和所述第四标识信息之后,调用所述第三标识信息对应的处理单元以及所述第四标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据。
可选的,所述监控模块,被配置为针对所述计算模块调用处理单元以及存储空间,运行所述目标程序并处理所述目标处理数据的过程进行监控;若监控到所述计算模块所调用处理单元和/或存储空间不足以运行所述目标程序并处理所述目标处理数据,输出第一报警信息;若监控到所述计算模块所调用处理单元和/或存储空间出现故障的情况下,输出第二报警信息,若监控到所述目标程序运行出错,输入第三报警信息,其中,所述计算模块调用的处理单元以及存储空间为:所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,或者为:所述第三标识信息对应的处理单元以及所述第四标识信息对应的存储空间。
可选的,所述系统还包括日志收集模块,被配置为:收集所述资源调度模块、所述计算模块、所述数据存储模块、所述监控模块以及所述运算节点集群运行过程中生成的日志信息,并存储。
可选的,所述系统还包括消息模块,被配置为:为所述计算模块提供消息队列服务;
所述计算模块,被具体配置为调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,基于所述消息模块提供的消息队列服务,运行所述目标程序并处理所述目标处理数据。
可选的,所述系统还包括节点信息配置收集模块,被配置为:在确定目标模块的主节点出现故障的情况下,从所述目标模块的从节点中确定出新的主节点,以使所述目标模块通过所述新的主节点执行相应的步骤,其中,所述目标模块的主节点和从节点的信息共享,所述目标模块为所述计算模块、所述资源调度模块或所述监控模块。
可选的,所述监控模块,还被配置为对所述运算节点集群中处理单元及存储单元的调用情况进行监控,若监控到所述运算节点集群中处理单元和/或存储单元的调用率超过预设调用阈值,输出第四报警信息;
还被配置为:在所述系统包括日志收集模块的情况下,对所述日志收集模块进行监控,若监控到所述日志收集模块提供的日志收集服务故障,输出第五报警信息;
还被配置为:在所述系统包括消息模块的情况下,对所述消息模块提供的消息队列服务进行监控,若监控到所述消息模块提供的消息队列服务故障,输出第六报警信息;
还被配置为:在所述系统包括节点信息配置收集模块的情况下,对所述节点信息配置收集模块进行监控,若监控到节点信息配置收集模块出现故障,输出第七报警信息。
可选的,所述系统还包括至少两个结果存储模块,被配置为存储所述计算模块调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据,所得到的处理结果。
第二方面,本发明实施例提供了一种地图生产方法,所述方法应用于地图生产系统,所述系统包括:计算模块、数据存储模块、监控模块以及运算节点集群,其中,所述运算节点集群包括多个处理单元及其对应的存储空间;
所述计算模块在接收到指示运行目标程序的运行指令之后,基于所述运行指令向所述资源调度模块发送资源调度请求;并基于所述运行指令,从所述数据存储模块中确定所述目标程序所需处理的目标处理数据,其中,所述目标程序为地图生产相关程序,所述目标处理数据为地图生成所需数据;
所述资源调度模块获得所述资源调度请求之后,判断所述资源调度请求是否携带指定运算节点标识,若判断所述资源调度请求携带指定运算节点标识,将所述指定运算节点标识对应的处理单元的第一标识信息及其对应的存储空间的第二标识信息发送至所述计算模块,其中,所述指定运算节点标识为:根据所述监控模块在所述目标程序的历史运行过程中,监控到的所述目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识;
所述计算模块在获得所述第一标识信息和所述第二标识信息之后,调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据。
可选的,所述运算节点集群包括多个运算节点,且存在对应的关系的处理单元及存储空间对应相同的运算节点;
所述资源调度模块,若判断所述资源调度请求未携带指定运算节点标识,基于所述资源调度请求携带的运行所述目标程序所需处理单元和存储空间的目标需求量,从所述运算节点集群中,确定出待调度运算节点;将所述待调度运算节点对应的满足所述目标需求量的处理单元的第三标识信息以及存储空间的第四标识信息,发送至所述计算模块;
所述计算模块,在获得所述第三标识信息和所述第四标识信息之后,调用所述第三标识信息对应的处理单元以及所述第四标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据。
可选的,所述系统还包括日志收集模块;
日志收集模块收集所述资源调度模块、所述计算模块、所述数据存储模块、所述监控模块以及所述运算节点集群运行过程中生成的日志信息,并存储。
可选的,所述系统还包括消息模块;
消息模块为所述计算模块提供消息队列服务;
所述计算模块在调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据的过程:
调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,基于所述消息模块提供的消息队列服务,运行所述目标程序并处理所述目标处理数据。
可选的,所述系统还包括节点信息配置收集模块;
节点信息配置收集模块在确定目标模块的主节点出现故障的情况下,从所述目标模块的从节点中确定出新的主节点,以使所述目标模块通过所述新的主节点执行相应的步骤,其中,所述目标模块的主节点和从节点的信息共享,所述目标模块为所述计算模块、所述资源调度模块或所述监控模块。
可选的,所述监控模块对所述运算节点集群中处理单元及存储单元的调用情况进行监控,若监控到所述运算节点集群中处理单元和/或存储单元的调用率超过预设调用阈值,输出第三报警信息;
在所述系统包括日志收集模块的情况下,对所述日志收集模块进行监控,若监控到所述日志收集模块提供的日志收集服务故障,输出第四报警信息;
在所述系统包括消息模块的情况下,对所述消息模块提供的消息队列服务进行监控,若监控到所述消息模块提供的消息队列服务故障,输出第五报警信息;
在所述系统包括节点信息配置收集模块的情况下,对所述节点信息配置收集模块进行监控,若监控到节点信息配置收集模块出现故障,输出第六报警信息。
可选的,所述系统还包括至少两个结果存储模块,被配置为存储所述计算模块调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据,所得到的处理结果。
由上述内容可知,本发明实施例提供的一种地图生产系统及其方法,该系统包括:资源调度模块、计算模块、数据存储模块、监控模块以及运算节点集群,其中,运算节点集群包括多个处理单元及其对应的存储空间;计算模块,被配置为在接收到指示运行目标程序的运行指令之后,基于运行指令向资源调度模块发送资源调度请求;并基于运行指令,从数据存储模块中确定目标程序所需处理的目标处理数据,其中,目标程序为地图生产相关程序,目标处理数据为地图生成所需数据;资源调度模块,被配置为获得资源调度请求之后,判断资源调度请求是否携带指定运算节点标识,若判断资源调度请求携带指定运算节点标识,将指定运算节点标识对应的处理单元的第一标识信息及其对应的存储空间的第二标识信息发送至计算模块,其中,指定运算节点标识为:根据监控模块在所述目标程序的历史运行过程中,监控到的目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识;计算模块,还被配置为在获得第一标识信息和第二标识信息之后,调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据。
应用本发明实施例,地图生产系统包括的监控模块可以针对计算模块调用处理单元及其对应的存储空间,运行程序的过程进行监控,可以监控得到运行程序并处理数据时,所需调用的处理单元的需求量及其对应的存储空间的需求量。实现对计算模块调用处理单元及其对应的存储空间运行程序的过程的监控,并可以基于监控结果对一些特殊程序即运行所需的处理单元的需求量以及存储空间的需求量存在一定需求的程序,指定所包含处理单元与存储空间与其需求量相应的运算节点运行该类程序,即标注指定运算节点标识,资源调度在判断所获得资源调度请求携带指定运算节点标识的情况下,直接将指定运算节点标识对应的第一标识信息及第二标识信息发送至计算模块,计算模块调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据,以实现对地图生产系统中资源的合理调度。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
本发明实施例的创新点包括:
1、地图生产系统包括的监控模块可以针对计算模块调用处理单元及其对应的存储空间,运行程序的过程进行监控,可以监控得到运行程序并处理数据时,所需调用的处理单元的需求量及其对应的存储空间的需求量。实现对计算模块调用处理单元及其对应的存储空间运行程序的过程的监控,并可以基于监控结果对一些特殊程序即运行所需的处理单元的需求量以及存储空间的需求量存在一定需求的程序,指定所包含处理单元与存储空间与其需求量相应的运算节点运行该类程序,即标注指定运算节点标识,资源调度在判断所获得资源调度请求携带指定运算节点标识的情况下,直接将指定运算节点标识对应的第一标识信息及第二标识信息发送至计算模块,计算模块调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据,以实现对地图生产系统中资源的合理调度。
2、地图生产系统包括的监控模块可以针对计算模块调用处理单元以及存储空间,运行目标程序并处理目标处理数据的过程进行监控;并在监控到运行过程出现问题,如调用处理单元与存储空间不足以运行目标程序并处理目标处理数据,所调用处理单元和/或存储空间出现故障的问题,和/或目标程序运行出错,输出报警信息;并可以针对运算节点集群中处理单元及存储单元的调用情况,对消息模块提供的消息队列服务,以及对节点信息配置收集模块进行监控,并在监控到出现故障时,输出报警信息,使得地图生产系统的硬件资源的具体情况、资源使用情况、服务日志信息以及服务运行状态透明化,并且,在运行过程出现问题时,可以及时通知工作人员,以便工作人员及时采取措施解决问题。
3、地图生产系统包括日志收集模块,可以实现对系统中各模块的运行过程的查看,为分析地图生产系统中各模块的运行过程中是否出现故障,并分析出现故障的位置以及原因提供基础。
4、地图生产系统包括为计算模块提供消息队列服务的消息模块,通过消息模块提供的消息队列服务,可以在一定程序上降低在计算模块调用处理单元及存储空间运行目标程序并处理目标处理数据的过程中,所产生的数据的吞吐量过大,导致数据丢失的情况的发生。
5、地图生产系统包括节点信息配置收集模块,可以实现系统中目标模块的高可用性,在目标模块的主节点出现故障的情况下,从目标模块的从节点中确定出新的主节点,以便提供相应的服务,执行相应的步骤。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含的一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
本发明提供了一种地图生产系统及其方法,以实现对地图生产系统中资源的合理调度。下面对本发明实施例进行详细说明。
图1为本发明实施例提供的地图生产系统的一种结构示意图。该地图生产系统可以包括:资源调度模块110、计算模块120、数据存储模块130、监控模块140以及运算节点集群150,其中,运算节点集群150包括多个处理单元及其对应的存储空间;该处理单元可以指处理器中集成的计算引擎即内核,该处理器包括数据处理器和图像处理器,其中,数据处理器可以为CPU(Central Processing Unit/Processor,中央处理器),数据处理器可以为:单核数据处理器即包含一个计算引擎的数据处理器,或多核数据处理器即包含两个或以上的计算引擎的数据处理器;图像处理图可以为GPU(Graphics Processing Unit,图形处理器),图像处理器可以为:单核图像处理器即包含一个计算引擎的图像处理器,或众核图像处理器即包含两个或以上计算引擎的图像处理器;该存储空间可以是通过硬盘等存储设备提供。一种情况中,该运算节点集群150为多个运算节点组成,每一运算节点包括处理单元和存储空间,组成该运算节点集群150为多个运算节点可以为异构设备。
计算模块120,被配置为在接收到指示运行目标程序的运行指令之后,基于运行指令向资源调度模块110发送资源调度请求;并基于运行指令,从数据存储模块130中确定目标程序所需处理的目标处理数据,其中,目标程序为地图生产相关程序,目标处理数据为地图生成所需数据;该地图生产相关程序可以包括但不限于交通标识识别算法对应的程序、地图绘制算法对应的程序等。目标处理数据包括但不限于所采集的包括交通标识的道路图像,及各用于定位的传感器采集的数据等。其中,该交通标识包括但不限于车道线、停车位、交通指示牌以及路灯杆等。用于定位的传感器包括但不限于:IMU(Inertial measurementunit,惯性测量单元)、轮速传感器以及雷达等传感器。
资源调度模块110,被配置为获得资源调度请求之后,判断资源调度请求是否携带指定运算节点标识,若判断资源调度请求携带指定运算节点标识,将指定运算节点标识对应的处理单元的第一标识信息及其对应的存储空间的第二标识信息发送至计算模块120,其中,指定运算节点标识为:根据监控模块140在目标程序的历史运行过程中,监控到的目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识;
计算模块120,还被配置为在获得第一标识信息和第二标识信息之后,调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据。
本发明实施例中,上述运行指令中可以携带目标程序的程序标识以及运行该目标程序时其所需处理的目标处理数据的数据标识,后续的,计算模块120在接收到指示运行目标程序的运行指令之后,基于该运行指令向资源调度模块110发送之源调度请求,并基于运行指令携带的数据标识,从数据存储模块130中确定目标程序所需处理的目标处理数据。该运行指令可以是用户手动触发,也可以计算模块120自动触发,例如:可以是计算模块120定时自动触发,或接收到其他设备的触发指令时自动触发。
为了保证运算节点集群150内任何处理单元均可以运行指定的程序或服务,地图生成系统中各地图生产相关程序均被预先封装于Pod之中,其中,Pod是kubernetes系统的基础单元,是由用户创建或部署的最小组件,也是kubernetes系统上运行容器化应用的资源对象。在一种情况中,该封装于Pod中的各地图生产相关程序也可以存储于该数据存储模块130中,计算模块120可以基于该运行指令中携带的程序标识,从数据存储模块130中确定目标程序。
资源调度模块110获得资源调度请求之后,判断资源调度请求是否携带指定运算节点标识,若资源调度请求携带指定运算节点标识,将指定运算节点标识对应的处理单元的第一标识信息及其对应的存储空间的第二标识信息发送至计算模块120。计算模块120在获得第一标识信息和第二标识信息之后,调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据。
其中,指定运算节点标识为指定的运行该目标程序的运算节点的标识。该指定运算节点标识为:根据监控模块140在目标程序的历史运行过程中,监控到的目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识。
该指定运算节点可以是工作人员根据监控模块140在目标程序的历史运行过程中,监控到的目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识。该监控模块140可以针对计算模块120调用处理单元及存储空间,运行目标程序的过程进行监控,确定目标程序运行过程中,资源的占用情况,并存储及显示该占用情况,该监控到的目标程序运行所需的处理单元的需求量以及存储空间的需求量,可以为:目标程序运行过程中所需处理单元的最大需求量,以及所需存储空间的最大需求量。
后续的,工作人员或特定设备可以根据所显示的占用情况,分析该目标程序是否为特殊程序,即运行所需的处理单元的需求量以及存储空间的需求量存在一定需求的程序,例如:运行所需处理单元的需求量大,但存储空间需求量不高;或运行所需处理单元的需求量小,但存储空间需求量高等。若根据所显示的占用情况,分析目标程序为特殊程序,工作人员或特定设备可以基于运算节点集群150中所包括处理单元和存储空间,符合目标程序运行所需的处理单元的需求量以及存储空间的需求量的运算节点。
其中,符合目标程序运行所需的处理单元的需求量以及存储空间的需求量的运算节点,可以是:所包括处理单元的数量超过目标程序运行所需的处理单元的需求量的数量,不大于预设处理单元数量,且所包括存储空间的数据量超过目标程序运行所需的存储空间的需求量的数据量,不大于预设存储空间数据量。或者,运算节点所包括处理单元及存储空间被调度给计算模块120运行目标程序之后,剩余的未被调度的处理单元的数量及未被调度的存储空间的数据量,可以继续被调度给其他需运行的程序运行。或者,运算节点所包括处理单元及存储空间被调度给计算模块120运行目标程序之后,剩余的未被调度的处理单元的数量和/或未被调度的存储空间的数据量相对最少。
一种情况中,该运算节点集群150中的运算节点可以包括云端的运算节点也可以包括系统本地的运算节点,这都是可以的。为了便于对云端的运算节点和系统本地的运算节点的管理,可以将云端的运算节点和系统本地的运算节点设置于不同的资源池内,并且可以将云端的运算节点和系统本地的运算节点搭建成提供不同服务的节点。
在一种实现方式中,该计算模块120为一种可以实现并行计算的模块,可以是基于MapReduce(映射归约)框架或Spark streaming(火花流)框架的计算模块。其中,MapReduce为一种分布式并行计算模型,可以并行运行地图生产相关程序,实现调动所有处理器的带宽,以提高运算时的地图生产系统整体的数据吞吐量;Spark Streaming是Spark核心API(Application Program Interface,应用程序接口)的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。
在一种实现方式中,该地图生产系统可以提供有人机交互界面,该人机交互界面提供有供用户发出指示运行地图生产相关程序的运行指令。并且设置关于运行地图生产相关程序的运行条件;例如,运行该地图生产相关程序时所需处理的数据的标识,指示运行该地图生产相关程序的路数即并行运行路数,和/或,后续的设置运行某一地图生产相关程序所需的处理单元和存储空间的需求量等等。
在一种实现方式中,在地图生产系统开始处理数据之前,用户可以预先创建该运算节点集群150,即将运算节点集群150中的各运算节点,即各运算节点包括的处理单元和存储空间,与资源调度模块110进行绑定,以使得资源调度模块110可以管理运算节点集群150中的各运算节点包括的处理单元和存储空间。
应用本发明实施例,地图生产系统包括的监控模块可以针对计算模块调用处理单元及其对应的存储空间,运行程序的过程进行监控,可以监控得到运行程序并处理数据时,所需调用的处理单元的需求量及其对应的存储空间的需求量。实现对计算模块调用处理单元及其对应的存储空间运行程序的过程的监控,并可以基于监控结果对一些特殊程序即运行所需的处理单元的需求量以及存储空间的需求量存在一定需求的程序,指定所包含处理单元与存储空间与其需求量相应的运算节点运行该类程序,即标注指定运算节点标识,资源调度在判断所获得资源调度请求携带指定运算节点标识的情况下,直接将指定运算节点标识对应的第一标识信息及第二标识信息发送至计算模块,计算模块调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据,以实现对地图生产系统中资源的合理调度。
在本发明的另一实施例中,运算节点集群150包括多个运算节点,且存在对应的关系的处理单元及存储空间对应相同的运算节点;
资源调度模块110,还被配置为若判断资源调度请求未携带指定运算节点标识,基于资源调度请求携带的运行目标程序所需处理单元和存储空间的目标需求量,从运算节点集群中,确定出待调度运算节点;将待调度运算节点对应的满足目标需求量的处理单元的第三标识信息以及存储空间的第四标识信息,发送至计算模块120;其中,所确定出的第三标识信息对应的处理单元以及第四标识信息对应的存储空间均为:该待调度运算节点对应的未被调度的处理单元以及存储空间;
计算模块120,还被配置为在获得第三标识信息和第四标识信息之后,调用第三标识信息对应的处理单元以及第四标识信息对应的存储空间,运行目标程序并处理目标处理数据。
本实施例中,资源调度模块110若判断资源调度请求未携带指定运算节点标识,可以从资源调度请求中,解析出其携带的运行目标程序所需处理单元和存储空间的目标需求量,该目标需求量包括所需处理单元的数量以及所需存储空间的数据量;进而,基于所解析出的目标需求量,从运算节点集群中,确定出待调度运算节点,其中,该待调度运算节点包括的处理单元的数量超过该目标需求量包括的所需处理单元的数量,且待调包括的存储空间的数据量超过该目标需求量包括的所需存储空间的数据量;将待调度运算节点对应的满足目标需求量的处理单元的第三标识信息以及存储空间的第四标识信息,发送至计算模块120。计算模块120在获得第三标识信息和第四标识信息之后,调用第三标识信息对应的处理单元以及第四标识信息对应的存储空间,运行目标程序并处理目标处理数据。其中,待调度运算节点对应的处理单元和存储空间,可以理解为待调度运算节点包括的处理单元和存储空间。
在另一种实现方式中,资源调度模块110若判断资源调度请求未携带指定运算节点标识,可以先判断资源调度请求中是否携带运行目标程序所需处理单元和存储空间的目标需求量,若判断携带,则继续执行基于资源调度请求携带的运行目标程序所需处理单元和存储空间的目标需求量,从运算节点集群中,确定出待调度运算节点的步骤;若判断未携带,则可以基于第一调度阈值以及第二调度阈值,从运算节点集群150中,确定出所包括处于未被调度的处理单元满足第一调度阈值,且所包括处于未被调度的存储空间满足第二调度阈值的运算节点,作为目标运算节点,进而,将目标运算节点包括的未被调度的第一调度阈值个处理单元的标识信息,及未被调度的第二调度阈值的存储空间的标识信息,发送至计算模块120,进而计算模块120执行相应步骤。
该第一调度阈值以及第二调度阈值可以是用户自主设置的,在处理器包括数据处理器和图像处理器的情况下,该第一调度阈值可以包括第一数据处理器调度阈值和第一图像处理器调度阈值。
在一种情况中,用户可以将第一调度阈值以及第二调度阈值设置的稍微小一些,以使得资源调度模块110可以为计算模块120精确的调度出较合适的处理单元和存储空间等运算资源。
在本发明的另一实施例中,监控模块140,被配置为针对计算模块120调用处理单元以及存储空间,运行目标程序并处理目标处理数据的过程进行监控;若监控到计算模块120所调用处理单元和/或存储空间不足以运行目标程序并处理目标处理数据,输出第一报警信息;若监控到计算模块120所调用处理单元和/或存储空间出现故障的情况下,输出第二报警信息,若监控到目标程序运行出错,输入第三报警信息,其中,计算模块120调用的处理单元以及存储空间为:第一标识信息对应的处理单元及第二标识信息对应的存储空间,或者为:第三标识信息对应的处理单元以及第四标识信息对应的存储空间。
本实施例中,地图生成系统中增设监控模块140,可以针对计算模块120调用处理单元以及存储空间,运行目标程序并处理目标处理数据的过程进行监控;并在监控到运行过程出现问题,如调用处理单元与存储空间不足以运行目标程序并处理目标处理数据时,输出第一报警信息,以提示工作人员其设置的运行目标程序所需的处理空间及存储空间的目标需求量,不足以运行目标程序并处理目标处理数据;在监控到计算模块120所调用处理单元和/或存储空间出现故障的问题时,输出第二报警信息,以提示工作人员哪些处理单元和/或存储空间出现故障,以使工作人员及时对出现故障的处理单元和/或存储空间进行维护;在监控到目标程序运行出错,输入第三报警信息,以提示工作人员目标程序运行至哪一步出现故障,后续的工作人员可以根据第三报警信息对目标程序的相应位置进行修正。
本实施例,可以实现对地图生成系统处理单元和存储空间等硬件资源的情况以及目标程序的运行过程的监控。在一种情况中,该监控模块140可以通过Falcon监控技术或Prometheus(普罗米修斯)监控技术实现对地图生成系统处理单元和存储空间等硬件资源的情况的监控;该监控模块140可以通过Kibana监控技术或Prometheus监控技术实现对目标程序的运行过程的监控。
在本发明的另一实施例中,如图2所示,该系统还可以包括日志收集模块160,被配置为:收集资源调度模块110、计算模块120、数据存储模块130、监控模块140以及运算节点集群150运行过程中生成的日志信息,并存储。
本实施例中,地图生产系统增设日志收集模块,以针对地图生产系统中资源调度模块110、计算模块120、数据存储模块130、监控模块140以及运算节点集群150运行过程中生成的日志信息进行收集,并存储,以供工作人员对地图生成系统中各模块的运行过程进行查看,并可以快速地定位分析出出错的位置以及原因。
在一种情况中,该日志收集模块160可以基于Es(ElasticSearch)日志收集技术实现对地图生产系统中各模块的运行过程中生成的日志信息的收集。
后续的,在地图生产系统包括消息模块170和/或节点信息配置收集模块180的情况下,该日志收集模块160也可以针对消息模块170和/或节点信息配置收集模块180运行过程中生成的日志信息进行收集,并存储。
在本发明的另一实施例中,如图2所示,该系统还可以包括消息模块170,被配置为:为计算模块120提供消息队列服务;
计算模块120,被具体配置为调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,基于消息模块170提供的消息队列服务,运行目标程序并处理目标处理数据。
为了避免计算模块120调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据的过程中,运行过程中出现所产生数据的吞吐量过大,导致所产生数据的丢失,进而导致所得到的目标处理数据的处理结果出错的情况,本实施例中,该地图生产系统还可以包括消息模块170,以为计算模块120提供消息队列服务,使得计算模块120调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,基于消息模块170提供的消息队列服务,运行目标程序并处理目标处理数据。在一种情况中,该消息模块170可以通过Kafka技术实现为计算模块120提供消息队列服务,实现地图生产系统运行目标程序并处理目标处理数据过程中数据的高吞吐量,避免数据的丢失。
在本发明的另一实施例中,如图2所示,该系统还可以包括节点信息配置收集模块180,被配置为:在确定目标模块的主节点出现故障的情况下,从目标模块的从节点中确定出新的主节点,以使目标模块通过新的主节点执行相应的步骤,其中,目标模块的主节点和从节点的信息共享,目标模块为计算模块120、资源调度模块110或监控模块140。
本实施例中,地图生成系统中,计算模块120通过其主节点执行相应的动作,例如实现资源调度请求的生成、目标处理数据的确定以及处理单元和存储空间的调用等;资源调度模块110通过其主节点执行相应的动作,例如:资源调度请求是否携带指定运算节点标识的判断,对用于运行目标程序的处理单元和存储空间的确定等;监控模块140通过其主节点实现对地图生产系统中各模块的监控,地图生成系统增设节点信息配置收集模块180,检测目标模块的主节点是否出现故障,并在确定目标模块的主节点出现故障的情况下,从目标模块的从节点中确定出新的主节点,以使目标模块通过新的主节点执行相应的步骤。可以实现系统中目标模块的高可用性,避免地图生成系统所提供服务的中断,确定地图生成系统的可靠性和安全性,以及数据处理过程中数据的可靠性和安全性。
在本发明的另一实施例中,该系统还可以包括至少两个结果存储模块,被配置为存储计算模块调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据,所得到的处理结果。
本实现方式中,地图生成系统可以包括至少两个结果存储模块,在计算模块运行目标程序并处理目标处理数据,得到处理结果之后,可以将处理结果分别存储至该至少两个结果存储模块中的预设数量个结果存储模块,其中,该预设数量不低于2,以避免某一个结果存储模块出现故障,处理结果的丢失,保证处理结果的安全。在一种情况中,该至少两个结果存储模块可以包括云端存储模块也可以包括系统本地存储模块,在存储处理结果时,可以将处理结果即存储于云端存储模块中,也存储于本地存储模块中。举例而言,可以在两个为本地存储模块的结果存储模块中存储处理结果,并同时在一个为云端存储模块的结果存储模块中存储处理结果。
相应的,上述数据存储模块也可以包括至少两个,并且至少两个数据存储模块中存在第一数量个数据存储模块存储有相同的数据。
在本发明的另一实施例中,监控模块140,还被配置为对运算节点集群150中处理单元及存储单元的调用情况进行监控,若监控到运算节点集群150中处理单元和/或存储单元的调用率超过预设调用阈值,输出第四报警信息;
还被配置为:在系统包括日志收集模块160的情况下,对日志收集模块160进行监控,若监控到日志收集模块160提供的日志收集服务故障,输出第五报警信息;
还被配置为:在系统包括消息模块170的情况下,对消息模块170提供的消息队列服务进行监控,若监控到消息模块170提供的消息队列服务故障,输出第六报警信息;
还被配置为:在系统包括节点信息配置收集模块180的情况下,对节点信息配置收集模块180进行监控,若监控到节点信息配置收集模块180出现故障,输出第七报警信息。
其中,监控模块120还可以针对运算节点集群150中处理单元及存储单元的调用情况进行监控,若监控到运算节点集群150中处理单元和/或存储单元的调用率超过预设调用阈值,输出第四报警信息,以提示工作人员运算节点集群150中剩余可调用处理单元和/或存储单元不足,以使工作人员采取相应措施增设处理单元和/或存储单元。其中,监控模块120可以通过Falcon监控技术或Prometheus(普罗米修斯)监控技术实现对运算节点集群150中处理单元和/或存储单元的调用情况的监控。
在系统包括日志收集模块160的情况下,监控模块120还可以对日志收集模块160进行监控,若监控到日志收集模块160提供的日志收集服务故障,输出第五报警信息,以提示工作人员,避免出现地图生成系统中日志信息的丢失。在系统包括消息模块170的情况下,监控模块120还可以对消息模块170提供的消息队列服务进行监控,若监控到消息模块170提供的消息队列服务故障,输出第六报警信息,以提示工作人员消息模块170提供的消息队列服务故障,以及时进行修正。在系统包括节点信息配置收集模块180的情况下,监控模块120还可以对节点信息配置收集模块180进行监控,若监控到节点信息配置收集模块180出现故障,输出第七报警信息,以提示工作人员节点信息配置收集模块180出现故障,以及时进行修正。其中,监控模块120还可以利用Kibana监控技术或Prometheus监控技术,实现对日志收集模块160所提供的日志收集服务、消息模块170提供的消息队列服务以及节点信息配置收集模块180提供的主节点故障监控服务和主节点重新确定服务进行监控。
本实施例中,地图生产系统的硬件资源的具体情况、资源使用情况、服务日志信息以及服务运行状态透明化,并且,在运行过程出现问题时,可以及时通知工作人员,以便工作人员及时采取措施解决问题。
本发明实施例中,通过节点信息配置收集模块180可以实现地图生产系统中各模块中节点的扩容的透明化,以及动态扩容。
相应于上述方法实施例,本发明实施例提供了一种地图生产方法,所述方法应用于地图生产系统,所述系统包括:计算模块、数据存储模块、监控模块以及运算节点集群,其中,所述运算节点集群包括多个处理单元及其对应的存储空间;
S301:所述计算模块在接收到指示运行目标程序的运行指令之后,基于所述运行指令向所述资源调度模块发送资源调度请求;并基于所述运行指令,从所述数据存储模块中确定所述目标程序所需处理的目标处理数据,其中,所述目标程序为地图生产相关程序,所述目标处理数据为地图生成所需数据;
S302:所述资源调度模块获得所述资源调度请求之后,判断所述资源调度请求是否携带指定运算节点标识,若判断所述资源调度请求携带指定运算节点标识,将所述指定运算节点标识对应的处理单元的第一标识信息及其对应的存储空间的第二标识信息发送至所述计算模块,其中,所述指定运算节点标识为:根据所述监控模块在所述目标程序的历史运行过程中,监控到的所述目标程序运行所需的处理单元的需求量以及存储空间的需求量,所标注的标识;
S302:所述计算模块在获得所述第一标识信息和所述第二标识信息之后,调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据。
应用本发明实施例,地图生产系统包括的监控模块可以针对计算模块调用处理单元及其对应的存储空间,运行程序的过程进行监控,可以监控得到运行程序并处理数据时,所需调用的处理单元的需求量及其对应的存储空间的需求量。实现对计算模块调用处理单元及其对应的存储空间运行程序的过程的监控,并可以基于监控结果对一些特殊程序即运行所需的处理单元的需求量以及存储空间的需求量存在一定需求的程序,指定所包含处理单元与存储空间与其需求量相应的运算节点运行该类程序,即标注指定运算节点标识,资源调度在判断所获得资源调度请求携带指定运算节点标识的情况下,直接将指定运算节点标识对应的第一标识信息及第二标识信息发送至计算模块,计算模块调用第一标识信息对应的处理单元及第二标识信息对应的存储空间,运行目标程序并处理目标处理数据,以实现对地图生产系统中资源的合理调度。
在本发明的另一实施例中,所述运算节点集群包括多个运算节点,且存在对应的关系的处理单元及存储空间对应相同的运算节点;
所述资源调度模块若判断所述资源调度请求未携带指定运算节点标识,基于所述资源调度请求携带的运行所述目标程序所需处理单元和存储空间的目标需求量,从所述运算节点集群中,确定出待调度运算节点;将所述待调度运算节点对应的满足所述目标需求量的处理单元的第三标识信息以及存储空间的第四标识信息,发送至所述计算模块;
所述计算模块在获得所述第三标识信息和所述第四标识信息之后,调用所述第三标识信息对应的处理单元以及所述第四标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据。
在本发明的另一实施例中,所述系统还包括日志收集模块;
日志收集模块收集所述资源调度模块、所述计算模块、所述数据存储模块、所述监控模块以及所述运算节点集群运行过程中生成的日志信息,并存储。
在本发明的另一实施例中,所述系统还包括消息模块;
消息模块为所述计算模块提供消息队列服务;
所述计算模块在调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据的过程:
调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,基于所述消息模块提供的消息队列服务,运行所述目标程序并处理所述目标处理数据。
在本发明的另一实施例中,所述系统还包括节点信息配置收集模块;
节点信息配置收集模块在确定目标模块的主节点出现故障的情况下,从所述目标模块的从节点中确定出新的主节点,以使所述目标模块通过所述新的主节点执行相应的步骤,其中,所述目标模块的主节点和从节点的信息共享,所述目标模块为所述计算模块、所述资源调度模块或所述监控模块。
在本发明的另一实施例中,所述监控模块对所述运算节点集群中处理单元及存储单元的调用情况进行监控,若监控到所述运算节点集群中处理单元和/或存储单元的调用率超过预设调用阈值,输出第三报警信息;
在所述系统包括日志收集模块的情况下,对所述日志收集模块进行监控,若监控到所述日志收集模块提供的日志收集服务故障,输出第四报警信息;
在所述系统包括消息模块的情况下,对所述消息模块提供的消息队列服务进行监控,若监控到所述消息模块提供的消息队列服务故障,输出第五报警信息;
在所述系统包括节点信息配置收集模块的情况下,对所述节点信息配置收集模块进行监控,若监控到节点信息配置收集模块出现故障,输出第六报警信息。
在本发明的另一实施例中,所述系统还包括至少两个结果存储模块,被配置为存储所述计算模块调用所述第一标识信息对应的处理单元及所述第二标识信息对应的存储空间,运行所述目标程序并处理所述目标处理数据,所得到的处理结果。
上述方法实施例与系统实施例相对应,与该系统实施例具有同样的技术效果,具体说明参见系统实施例。方法实施例是基于系统实施例得到的,具体的说明可以参见系统实施例部分,此处不再赘述。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。