用于任务调度系统的日志阻塞解决方法及系统技术方案

技术编号:20424930 阅读:150 留言:0更新日期:2019-02-23 08:25
本发明专利技术公开一种用于任务调度系统的日志阻塞解决方法,包括:从任务调度系统的元数据中获取执行任务信息;根据所述执行任务信息确定需要启动以执行的任务;基于所述需要启动以执行的任务生成消息队列;启动多个子进程从所述消息队列中的拉取消息以执行相应任务,并进行日志处理及输出。本发明专利技术实施例中多进程的配合使用可以均摊单节点的日志压力,同时单节点的日志量可以避开节点的pipe瓶颈,从而有效解决了现有技术中所存在的日志堵塞问题。

【技术实现步骤摘要】
用于任务调度系统的日志阻塞解决方法及系统
本专利技术涉及数据信息处理
,尤其涉及一种用于任务调度系统的日志阻塞解决方法、系统、电子设备及存储介质。
技术介绍
任务调度是操作系统的重要组成部分,而对于实时操作系统,任务调度直接影响其实时性能。尤其对于分布式操作系统和集群系统中,存在着严重的日志堵塞现象,影响分布式应用的使用。
技术实现思路
本专利技术实施例提供一种用于任务调度系统的日志阻塞解决方法及系统,用于至少解决上述技术问题之一。第一方面,本专利技术实施例提供一种用于任务调度系统的日志阻塞解决方法,包括:从任务调度系统的元数据中获取执行任务信息;根据所述执行任务信息确定需要启动以执行的任务;基于所述需要启动以执行的任务生成消息队列;启动多个子进程从所述消息队列中的拉取消息以执行相应任务,并进行日志处理及输出。第二方面,本专利技术实施例提供一种用于任务调度系统的日志阻塞解决系统,包括:信息获取程序模块,用于从任务调度系统的元数据中获取执行任务信息;任务确定程序模块,用于根据所述执行任务信息确定需要启动以执行的任务;消息队列生成程序模块,用于基于所述需要启动以执行的任务生成消息队列;执行程序模块,用于启动多个子进程从所述消息队列中的拉取消息以执行相应任务,并进行日志处理及输出。第三方面,本专利技术实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本专利技术上述任一项用于任务调度系统的日志阻塞解决方法。第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术上述任一项用于任务调度系统的日志阻塞解决方法。第五方面,本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项用于任务调度系统的日志阻塞解决方法。本专利技术实施例中多节点(多进程)的配合使用可以均摊单节点的日志压力,同时单节点的日志量可以避开节点的pipe瓶颈,从而有效解决了现有技术中所存在的日志堵塞问题。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的用于任务调度系统的日志阻塞解决方法的一实施例的流程图;图2为本专利技术的步骤S40的一实施例的流程图;图3为本专利技术的用于任务调度系统的日志阻塞解决系统的一实施例的原理框图;图4为本专利技术中的执行程序模块的一实施例的原理框图;图5为本专利技术的电子设备的一实施例的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本专利技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本专利技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。在本专利技术中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。如图1所示,本专利技术的实施例提供一种用于任务调度系统的日志阻塞解决方法,该调度系统为airflow调度系统,该方法包括以下步骤:S10、从任务调度系统的元数据中获取执行任务信息;示例性的,启动airflow的主进程webserver,从元数据中获取所有的执行任务信息,进行进程通信,任务提交和管理。S20、根据所述执行任务信息确定发布需要启动以执行的任务;示例性的,启动airflow任务的调度器scheduler,由controller(指监控Scheduler的一个服务)负责监控其状态,进行心跳通信,并将通信信息存入数据库,调度器scheduler会按指定规则(这里的指定规则是cron表达式的时间规则)发布需要启动的任务。S30、基于所述需要启动以执行的任务生成消息队列;示例性的,调度器scheduler提交启动的任务信息给RabbitMq(RabbitMQ是流行的开源消息队列系统,用erlang语言开发),worker从mq(MessageQueue,消息队列)中拉取消息并处理。S40、启动多个子进程从所述消息队列中的拉取消息以执行相应任务,并进行日志处理及输出。示例性的,分布式的worker(执行airflow任务的进程)节点负责执行任务,每个任务由具体的operator执行,每个operator会启动一个子进程,进行日志的输出和管理,子进程又使用了communicate方法进行通信,并存入系统盘。这样多节点的配合使用可以均摊单节点的日志压力,同时单节点的日志量可以避开节点的pipe(python为子进程分配的内存管道)瓶颈。其中,operator可以简单理解为一个class,描述了DAG(即有向无环图(DirectedAcyclicGraph),将所有需要运行的tasks按照依赖关系组织起来,描述的是所有tasks执行的顺序)中一个具体的task具体要做的事。其中,airflow内置了很多operators,如BashOperator执行一个bash命令,PythonOpera本文档来自技高网...

【技术保护点】
1.一种用于任务调度系统的日志阻塞解决方法,包括:从任务调度系统的元数据中获取执行任务信息;根据所述执行任务信息确定需要启动以执行的任务;基于所述需要启动以执行的任务生成消息队列;启动多个子进程从所述消息队列中的拉取消息以执行相应任务,并进行日志处理及输出。

【技术特征摘要】
1.一种用于任务调度系统的日志阻塞解决方法,包括:从任务调度系统的元数据中获取执行任务信息;根据所述执行任务信息确定需要启动以执行的任务;基于所述需要启动以执行的任务生成消息队列;启动多个子进程从所述消息队列中的拉取消息以执行相应任务,并进行日志处理及输出。2.根据权利要求1所述的方法,其中,所述启动多个子进程从所述消息队列中拉取消息以执行相应任务,并进行日志处理及输出包括:启动多个子进程依次从所述消息队列中拉取消息以执行相应任务;判断执行所述相应任务时所产生的日志信息的语言类型;当判定所述日志信息为非英文日志信息时,修改所述日志信息的编码格式并输出。3.根据权利要求2所述的方法,其中,还包括:当执行所述相应任务时所产生的日志信息的总量超过预设阈值之后启动新的子进程以对超出所述预设阈值之外的日志信息进行处理。4.根据权利要求2所述的方法,其中,所述判断执行所述相应任务时所产生的日志信息的语言类型包括:分析并判断所述日志信息的编码格式是否为预设编码格式,如果否,则判定所述日志信息的语言类型为非英文。5.一种用于任务调度系统的日志阻塞解决系统,包括:信息获取程序模块,用于从任务调度系统的元数据中获取执行任务信息;任务确定程序模块,用于根据所述执行任务信息确定需要启动以执行的任务;消息队列生成程序模块,用于基于所述需要启动以执行的任务生成消息队...

【专利技术属性】
技术研发人员:覃江黄彬吴飞陆峰肖通
申请(专利权)人:苏州思必驰信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1