The invention discloses a distributed task management system and method for reduce the waste of resources caused by repeated tasks, improve the query efficiency, the system includes task monitoring module, for all tasks and recording system task identity and task execution status; data base, correspondence between task identification and identification of all queries the task of storage system, and has completed the task execution results; generating module is used to generate the current request task; task processing module, for the current task for the query task, read the current task from the current task request query conditions and determine the current task of the query to find the query ID identification; the corresponding task ID, if found in the database, read to find the task of identification from the task of monitoring module The execution state of the corresponding task, when the state is completed, reads the task identity from the database, corresponding to the execution result of the task.
【技术实现步骤摘要】
一种分布式任务管理系统与方法
本专利技术涉及信息
,尤其涉及一种分布式任务管理系统与方法。
技术介绍
随着WEB应用越来越普及与业务的多元化,业务的复杂性也随之增加。大型的网络应用越来越多的使用异步事务处理机制处理复杂的业务逻辑,对应于异步事务处理此机制的任务管理系统也越来越受到各网络企业的青睐。任务管理系统(Task/JobManagement)被普遍应用与Web应用中,其目的是让复杂的业务逻辑放在后台执行并统一管理这些业务相关的任务,并从任务申请开始监控其执行直至其执行结束。任务管理系统是一个概括性的系统架构,常常是由多种组件组合而成,但每种系统中必定包括一种或多种消息传递机制。所述消息是基于程序对于任务的理解,任务是一个抽象的概念,具体来讲就是某一申请者(申请者可以是Web服务器,一个定时任务程序等)为了获得某一特定程序的执行结果而提交给某一处理者的执行该任务所需信息的一组数据,该任务在传输过程中的信息实体被称为“消息”。分布式的任务管理系统实现有许多种,但基本架构都是基于生产者/消费者模型与线程池。生产者/消费者模型详细来讲就是生产者(可能是任务的申请者,也可能是接收任务并进行预处理的程序)生产出一项任务,并将任务放入一个两方共享的区域,消费者(处理者)从区域中读取此项任务,加以处理并返回运行的结果。
技术实现思路
专利技术人在研究过程中发现,目前所有的任务管理系统来说,均会有查询任务,基于目前的任务管理系统的任务执行机制来说,每当有一个任务生成时,系统就会将该任务分配到某一处理者执行,得到执行结果。而对于查询系统历史数据的业务系统来说,由于历史 ...
【技术保护点】
一种分布式任务管理系统,其特征在于,所述系统包括:任务监控模块,用于记录系统所有任务的任务标识和任务的执行状态;数据库,用于存储系统所有任务的任务标识和查询标识之间的一一对应关系,以及已执行完成任务的执行结果;所述系统还包括:生成模块,用于生成当前任务请求;任务预处理模块,用于根据所述当前任务请求中携带的任务类型确定当前任务为查询任务时,从所述当前任务请求中读取当前任务的查询条件;根据查询条件确定所述当前任务的查询标识;在数据库中查找该查询标识对应的任务标识,若找到,则从所述任务监控模块中读取找到的任务标识对应任务的执行状态,当状态为完成时,从数据库中读取所述任务标识对应任务的执行结果作为最终的查询结果。
【技术特征摘要】
1.一种分布式任务管理系统,其特征在于,所述系统包括:任务监控模块,用于记录系统所有任务的任务标识和任务的执行状态;数据库,用于存储系统所有任务的任务标识和查询标识之间的一一对应关系,以及已执行完成任务的执行结果;所述系统还包括:生成模块,用于生成当前任务请求;任务预处理模块,用于根据所述当前任务请求中携带的任务类型确定当前任务为查询任务时,从所述当前任务请求中读取当前任务的查询条件;根据查询条件确定所述当前任务的查询标识;在数据库中查找该查询标识对应的任务标识,若找到,则从所述任务监控模块中读取找到的任务标识对应任务的执行状态,当状态为完成时,从数据库中读取所述任务标识对应任务的执行结果作为最终的查询结果。2.根据权利要求1所述的系统,其特征在于,当所述分布式任务管理系统应用于安全审计系统中时,所述查询条件包括时间类条件、限制类条件、内容过滤类条件和/或系统相关类条件。3.根据权利要求2所述的系统,其特征在于,所述管理系统还包括:条件检索模块,用于找到的任务标识为多个、且多个任务标识对应的多个任务的执行状态不是均未完成,则在所述多个任务中选择时间类条件、限制类条件均包含当前任务查询条件的任务组成第一任务集;在第一任务集中选择时间类条件与当前任务的时间类条件最接近的任务作为目标任务;相应的,所述任务预处理模块,还用于从所述数据库中读取目标任务的执行结果;在所述执行结果中取出不符合当前任务的时间类条件的部分,并依据当前任务的限制类条件对结果进行截取作为最终的查询结果。4.根据权利要求1或3任一项所述的系统,所述管理系统应用于安全审计系统中,其特征在于,当所述数据库中不存在所述查询标识、从数据库中查找到的任务的状态为未完成、或条件检索模块未得到第一任务集时,所述系统还包括:任务分配模块,用于根据当前任务的查询条件确定当前任务的查询级别;将当前任务缓存到其查询级别对应的消息通道队列中,以便于与所述查询级别对应的任务执行模块从消息通道队列中提取当前任务;任务执行模块,用于执行相应级别的任务并将执行结果存储到所述数据库。5.根据权利要求4所述的系统,其特征在于,确定当前任务的查询级别的公式为:其中,T(e-b)*t为时间类条件级别,b、e分别为待查询内容对应时间段的起止时间,T为时间级别映射函数,t为时间条件预设的权重;为限制类条件级别,si为每一项限制性条件值,ki为每一项限制性条件的默认最小值,Si为每一项限制性条件级别映射函数,s为限制性条件预设的权重;为内容过滤类条件级别,Wi为...
【专利技术属性】
技术研发人员:许晨晖,
申请(专利权)人:北京天融信软件有限公司,北京天融信网络安全技术有限公司,北京天融信科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。