一种任务创建的方法及系统的制作方法

文档序号:6639811阅读:201来源:国知局
一种任务创建的方法及系统的制作方法
【专利摘要】本申请提供了一种任务创建的方法,该方法包括:应用OSGi技术开发与目标任务相对应的任务类型插件;将所述任务类型插件按照预设的导入规则导入到目标平台中;判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识;依据所述任务类型标识创建所述目标任务。将所述任务类型插件导入到目标平台中,使用OSGi的框架实现插件的热部署,无须重启目标平台即可识别到新的任务类型,降低开发和维护成本,简化开发难度。
【专利说明】_种任务创建的方法及系统

【技术领域】
[0001]本申请涉及任务创建管理领域,特别涉及一种任务创建的方法及系统。

【背景技术】
[0002]随着技术的发展,人们对任务创建的要求越来越高。
[0003]现有的产生一种新任务时,一般需要重新开发一个新的任务管理规程,由于任务数据信息的多样性导致软件应用开发周期长、难度大、可移植性低。
[0004]因此,如何简单的进行任务创建,降低开发和维护成本是本领域技术人员目前需要解决的技术问题。


【发明内容】

[0005]本申请所要解决的技术问题是提供一种任务创建的方法及系统,解决了现有技术中产生一种新任务时,一般需要重新开发一个新的任务管理规程,由于任务数据信息的多样性导致软件应用开发周期长、难度大、可移植性低的问题。
[0006]其具体方案如下:
[0007]一种任务创建的方法,该方法包括:
[0008]应用OSGi技术开发与目标任务相对应的任务类型插件;
[0009]将所述任务类型插件按照预设的导入规则导入到目标平台中;
[0010]判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识;
[0011 ]依据所述任务类型标识创建所述目标任务。
[0012]上述的方法,优选的,
[0013]在所述应用OSGi技术开发与目标任务相对应的任务类型插件的过程中,还包括:
[0014]定义业务单元;
[0015]定义任务类型;
[0016]定义执行器,所述执行器中包含所述业务单元的执行顺序。
[0017]上述的方法,优选的,
[0018]所述将任务类型插件按照预设的导入规则导入到目标平台中为:
[0019]获取所述任务类型插件标识;
[0020]依据所述标识查找目标平台中相适配的接口 ;
[0021]按照预设的规则将所述任务类型插件插入到所述相适配的目标平台接口中。
[0022]上述的方法,优选的,还包括:
[0023]将所述目标任务加入到待执行队列中。
[0024]上述的方法,优选的,
[0025]当所述待执行队列中包含多个待执行任务时,还包括:
[0026]在所述待执行队列中依次查询所有待执行的任务;
[0027]当查询的当前待执行的任务满足预设的执行条件时,从任务列表中提取所述当前待执行的任务。
[0028]上述的方法,优选的,还包括:
[0029]判断所述当前待执行的任务是否进行自动执行,若是,则自动执行所述当前待执行的任务,若否,则手动执行所述当前待执行的任务;
[0030]当自动执行所述当前待执行的任务时,判断是否切换为手动执行所述当前待执行的任务,若是,则手动执行所述当前待执行的任务,若否,则继续自动执行所述当前待执行的任务;
[0031]当手动执行所述当前待执行的任务时,判断是否切换为自动执行所述当前待执行的任务,若是,则自动执行所述当前待执行的任务,若否,则继续手动执行所述当前待执行的任务;
[0032]判断所述当前待执行的任务是否执行完毕,若是,则结束执行过程。
[0033]一种任务创建的系统,该系统包括:
[0034]开发单元,用于应用OSGi技术开发与目标任务相对应的任务类型插件;
[0035]导入单元,用于将所述任务类型插件按照预设的导入规则导入到目标平台中;
[0036]判断单元,用于判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识;
[0037]创建单元,用于依据所述任务类型标识创建所述目标任务。
[0038]上述的系统,优选的,还包括:
[0039]第一定义单元,用于定义业务单元;
[0040]第二定义单元,用于定义任务类型;
[0041]第三定义单元,用于定义执行器,所述执行器中包含所述业务单元的执行顺序。
[0042]上述的系统,优选的,还包括:
[0043]加入单元,用于将所述目标任务加入到待执行队列中。
[0044]上述的系统,优选的,还包括:
[0045]查询单元,用于在所述待执行队列中依次查询所有待执行的任务;
[0046]提取单元,用于当查询的当前待执行的任务满足预设的执行条件时,从任务列表中提取所述当前待执行的任务。
[0047]本申请提供的一种任务创建的方法,该方法包括:应用OSGi技术开发与目标任务相对应的任务类型插件;将所述任务类型插件按照预设的导入规则导入到目标平台中;判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识;依据所述任务类型标识创建所述目标任务。本申请将所述任务类型插件导入到目标平台中,使用OSGi的框架实现插件的热部署,无须重启目标平台即可识别到新的任务类型,降低开发和维护成本,简化开发难度。

【专利附图】

【附图说明】
[0048]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0049]图1是本申请的一种任务创建的方法实施例1的流程图;
[0050]图2是本申请的一种任务创建的方法实施例2的流程图;
[0051]图3是本申请的一种任务创建的方法实施例3的流程图;
[0052]图4是本申请的一种任务创建的方法实施例4的流程图;
[0053]图5是本申请的一种任务创建的方法实施例5的流程图;
[0054]图6是本申请的一种任务创建的系统实施例1的结构示意图;
[0055]图7是本申请的一种任务创建的系统实施例2的结构示意图;
[0056]图8是本申请的一种任务创建的系统实施例3的结构示意图。

【具体实施方式】
[0057]本发明的核心是提供一种任务创建的方法及系统,解决了现有技术中产生一种新任务时,一般需要重新开发一个新的任务管理规程,由于任务数据信息的多样性导致软件应用开发周期长、难度大、可移植性低的问题。
[0058]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0059]参考图1,示出了本申请一种任务创建的方法实施例1的流程图,可以包括以下步骤:
[0060]步骤SlOl:应用OSGi技术开发与目标任务相对应的任务类型插件。
[0061]所述OSGi (Open Service Gateway Initiative)技术是面向 Java 的动态模型系统。OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。和普通JVM程序相比,OSGi程序拥有动态模块的特点,不同的模块(OSGi里称之为Bundle)有着独立的生命周期,可以独立执行安装、启动、停止、卸载的操作,模块间的依赖性管理也由OSGi提供。所述OSGi技术非常适合插件管理。
[0062]OSGi服务平台的开发的任务类型插件能够在OSGi容器中进行部署,并可有效利用OSGi框架所提供的服务。使用OSGi,可以动态发现和使用系统内其他模块提供的服务,在模块内部和模块之间进行实例化、配置、整合组件,让企业应用开发者使用简单、熟悉的编程模型开发OSGi平台的功能。RCP可以视为基于OSGi构建插件化系统的最佳实践的指导,其中的不少设计方法甚至都可以整理成为基于OSGi做插件化应用系统的设计模式。使用RCP技术开发出任务类型插件,可以定制任务的元数据信息,灵活配置各种不同任务类型的元数据及各种任务调度的业务单元信息。
[0063]本申请中,当接收到任务创建指令时,应用OSGi技术开发与所述任务创建指令相对应的任务类型插件,所述任务类型插件使用OSGi的框架可以实现热部署。
[0064]步骤S102:将所述任务类型插件按照预设的导入规则导入到目标平台中。
[0065]根据所述任务类型插件的标识,在所述目标平台中查找与所述标识相匹配的接口,然后按照预设的规则将所述任务类型插件导入到所述目标平台中,实现将所述任务类型集成到所述目标平台中。
[0066]步骤S103:判断所述任务类型插件是否导入成功,若是,则执行步骤S104:判断是否接收到所述目标任务的创建指令,若是,则执行步骤S105:选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识。
[0067]当所述任务类型插件导入成功时,判断是否接收到所述目标任务的创建指令,当接收到所述目标任务的创建指令时,从所述任务类型插件中调用与所述任务创建指令相对应的任务类型标识。
[0068]步骤S106:依据所述任务类型标识创建所述目标任务。
[0069]本申请中,可以使用所述调用的任务类型标识来创建目标任务,也可以批量录入任务信息,根据所述批量录入的任务信息确定目标任务。
[0070]本申请提供的一种任务创建的方法,将所述任务类型插件导入到目标平台中,使用OSGi的框架实现插件的热部署,无须重启目标平台即可识别到新的任务类型,降低开发和维护成本,简化开发难度。
[0071]参考图2,示出了本申请一种任务创建的方法实施例2的流程图,在所述应用OSGi技术开发与目标任务相对应的任务类型插件的过程中,还可以包括以下步骤:
[0072]步骤S201:定义业务单元。
[0073]业务单元定义所述任务类型在执行时需要执行的步骤,将所述任务类型使用业务单元进行封装。
[0074]本申请中,利用业务单元的管理功能来实现某个任务类型下所有节点上的业务单元的定义。任务执行的过程就是启动、执行业务单元的过程。在任务管理平台中定义一个Tasklet接口,在任务类型插件中,只需要实现这个接口就可以实现一个业务单元,将任务的执行步骤分成多个业务单元的执行过程,同时在任务类型插件中将所有的步骤(即业务单元)使用一个XML文件存储。
[0075]步骤S202:定义任务类型。
[0076]任务类型定义任务的元数据信息,包含查询元数据、展示元数据、调度元数据及任务信息元数据,用于区分不同任务类型涉及的数据信息。
[0077]本申请中,利用任务类型的管理功能来实现某个任务类型下所有元数据信息的定义。任务类型元数据包含任务信息元数据、展示元数据、查询元数据和调度元数据。任务信息元数据是一个全集,包含共有字段、业务信息元数据、还有每一个节点的开始时间字段。必须有的即共有的字段有标识、编号、任务类型、创建时间、开始时间、完成时间、状态、模式。展示元数据是从任务信息元数据中选择某些元数据展示在任务客户端的界面上。展示界面元数据指的是待执行任务列表的表头信息。查询元数据也是从任务信息元数据中选择某些元数据为查询条件展示在任务客户端的界面上。查询界面元数据指的是查询界面出现的条件,通过设置任务的查询界面元数据,可以将任务客户端的查询界面灵活展现。在查询元数据配置中需要配置操作符,操作符影响查询的条件如=,like,in等。调度元数据是从任务信息元数据中选择某些元数据展示在任务客户端的执行界面上。通过设置任务流程的调度界面元数据,可以将任务执行的界面灵活展现。
[0078]步骤S203:定义执行器,所述执行器中包含所述业务单元的执行顺序。
[0079]所述任务类型中还需要定义任务的执行器,在执行器中需要定义业务单元的执行顺序。
[0080]所述任务类型将元数据定义和执行器定义使用一个XML文件存储。
[0081]参考图3,示出了本申请一种任务创建的方法实施例3的流程图,所述将任务类型插件按照预设的导入规则导入到目标平台中为:
[0082]步骤S301:获取所述任务类型插件标识。
[0083]步骤S302:依据所述标识查找目标平台中相适配的接口。
[0084]步骤S303:按照预设的规则将所述任务类型插件插入到所述相适配的目标平台接口中。
[0085]本申请中,将开发好的任务类型插件导入到平台中,使用OSGi的框架实现插件的热部署,无须重启任务管理平台即可识别到新的任务类型。
[0086]本申请中,在需要对所述目标任务进行执行时,还需要将所述目标任务加入到待执行队列中。
[0087]参考图4,示出了本申请一种任务创建的方法实施例4的流程图,当所述待执行队列中包含多个待执行任务时,还包括:
[0088]步骤S401:在所述待执行队列中依次查询所有待执行的任务。
[0089]步骤S402:当查询的当前待执行的任务满足预设的执行条件时,从任务列表中提取所述当前待执行的任务。
[0090]本申请中,利用任务调度功能完成对任务的调度管理工作,具有同时调度多项任务的能力,后台查询所有待执行的任务,当发现某一任务达到执行条件时(人工触发、时间到达等)从任务列表中提取任务,将任务提交相关的服务进行调度处理。
[0091]任务调度使用Quartz技术来实现,Quartz是一个完全由java编写的开源作业调度框架,Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器用来执行预定的作业。这就是Quartz怎样能并发运行多个作业的原理。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。Quartz里面的每个对象是可配置的或者是可定制的。
[0092]参考图5,示出了本申请一种任务创建的方法实施例5的流程图,还包括:
[0093]步骤S501:判断所述当前待执行的任务是否进行自动执行,若是,则执行步骤S502:自动执行所述当前待执行的任务,若否,则执行步骤S503:手动执行所述当前待执行的任务。
[0094]步骤S504:当自动执行所述当前待执行的任务时,判断是否切换为手动执行所述当前待执行的任务,若是,则执行步骤S505:手动执行所述当前待执行的任务,若否,则继续自动执行所述当前待执行的任务。
[0095]执行步骤S506:当手动执行所述当前待执行的任务时,判断是否切换为自动执行所述当前待执行的任务,若是,则执行步骤S507:自动执行所述当前待执行的任务,若否,则继续手动执行所述当前待执行的任务。
[0096]执行步骤S508:判断所述当前待执行的任务是否执行完毕,若是,则执行步骤S509:结束执行过程。
[0097]本申请中,任务的执行支持自动模式和手动模式两种,自动模式为软件自动运行,不需要人工干预,自动执行任务。手动模式为软件需要用户参与执行任务,手动模式下,需要人工干预,通过操作来执行任务。
[0098]在手动模式下,用户通过客户端的操作对运行中的任务进行控制。客户端向服务器端发送任务控制命令,主要命令有任务的启动、终止、暂停,从而控制任务的运转。
[0099]任务执行过程中,可以由自动模式转为手动模式,也可以由手动模式转为自动模式,实现自动和手动模式的来回切换。任务执行使用执行器来实现,在任务管理平台中定义一个TaskExecutor接口,任务的执行器可以个性化,每种任务类型对应一个执行器。在执行器中可以灵活的控制任务的执行,方法主要用开始、手动切换为自动、终止、自动切换为手动、任务业务单元信息方法。
[0100]本申请中,结合OSGi技术,提出一种任务创建的方法,以插件管理的可插拔方式将任务类型集成到任务管理平台中,实现任务数据获取的可扩展性,增强任务管理的通用性以及易用性。
[0101]任务类型集成到平台后,能够创建任务并使任务按照设置时间自动执行,或者人工干预任务的运行,直到任务结束。通过这种管理方式,不但可以灵活的适配各种不同信息的任务,而且可以使任务按照一定的规则执行结束,降低了开发和维护成本。
[0102]与上述本申请一种任务创建的方法实施例1所提供的方法相对应,参见图6,本申请还提供了一种任务创建的系统实施例1,在本实施例中,该系统包括:
[0103]开发单元601,用于应用OSGi技术开发与目标任务相对应的任务类型插件;
[0104]导入单元602,用于将所述任务类型插件按照预设的导入规则导入到目标平台中;
[0105]判断单元603,用于判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识;
[0106]创建单元604,用于依据所述任务类型标识创建所述目标任务。
[0107]参见图7,本申请还提供了一种任务创建的系统实施例2,在本实施例中,该系统还包括:
[0108]第一定义单元701,用于定义业务单元。
[0109]第二定义单元702,用于定义任务类型。
[0110]第三定义单元703,用于定义执行器,所述执行器中包含所述业务单元的执行顺序。
[0111]本申请中,还包括:
[0112]加入单元,用于将所述目标任务加入到待执行队列中。
[0113]参见图8,本申请还提供了一种任务创建的系统实施例3,在本实施例中,该系统还包括:
[0114]查询单元801,用于在所述待执行队列中依次查询所有待执行的任务。
[0115]提取单元802,用于当查询的当前待执行的任务满足预设的执行条件时,从任务列表中提取所述当前待执行的任务。
[0116]综上所述,本申请提供的一种任务创建的方法及系统中,使用OSGi的动态模块化方式进行任务类型插件开发,可以使任务类型与其他插件相互独立。根据实际应用对任务类型的依赖情况进行插件的导入、导出实现任务类型插件的可插拔。
[0117]使用任务类型插件,可以屏蔽任务类型的差异性,实现对任务信息元数据定义的零编程,简化开发难度,增强应用系统的复用性。
[0118]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0119]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0120]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0121]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0122]以上对本申请所提供的一种任务创建的方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.一种任务创建的方法,其特征在于,该方法包括: 应用OSGi技术开发与目标任务相对应的任务类型插件; 将所述任务类型插件按照预设的导入规则导入到目标平台中; 判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识;依据所述任务类型标识创建所述目标任务。
2.根据权利要求1所述的方法,其特征在于,在所述应用OSGi技术开发与目标任务相对应的任务类型插件的过程中,还包括: 定义业务单元; 定义任务类型; 定义执行器,所述执行器中包含所述业务单元的执行顺序。
3.根据权利要求1所述的方法,其特征在于,所述将任务类型插件按照预设的导入规则导入到目标平台中为: 获取所述任务类型插件标识; 依据所述标识查找目标平台中相适配的接口; 按照预设的规则将所述任务类型插件插入到所述相适配的目标平台接口中。
4.根据权利要求1所述的方法,其特征在于,还包括: 将所述目标任务加入到待执行队列中。
5.根据权利要求4所述的方法,其特征在于,当所述待执行队列中包含多个待执行任务时,还包括: 在所述待执行队列中依次查询所有待执行的任务; 当查询的当前待执行的任务满足预设的执行条件时,从任务列表中提取所述当前待执行的任务。
6.根据权利要求5所述的方法,其特征在于,还包括: 判断所述当前待执行的任务是否进行自动执行,若是,则自动执行所述当前待执行的任务,若否,则手动执行所述当前待执行的任务; 当自动执行所述当前待执行的任务时,判断是否切换为手动执行所述当前待执行的任务,若是,则手动执行所述当前待执行的任务,若否,则继续自动执行所述当前待执行的任务; 当手动执行所述当前待执行的任务时,判断是否切换为自动执行所述当前待执行的任务,若是,则自动执行所述当前待执行的任务,若否,则继续手动执行所述当前待执行的任务; 判断所述当前待执行的任务是否执行完毕,若是,则结束执行过程。
7.一种任务创建的系统,其特征在于,该系统包括: 开发单元,用于应用OSGi技术开发与目标任务相对应的任务类型插件; 导入单元,用于将所述任务类型插件按照预设的导入规则导入到目标平台中; 判断单元,用于判断所述任务类型插件是否导入成功,若是,判断是否接收到所述目标任务的创建指令,若是,则选择所述任务类型插件中与所述目标任务创建指令相对应的任务类型标识; 创建单元,用于依据所述任务类型标识创建所述目标任务。
8.根据权利要求7所述的系统,其特征在于,还包括: 第一定义单元,用于定义业务单元; 第二定义单元,用于定义任务类型; 第三定义单元,用于定义执行器,所述执行器中包含所述业务单元的执行顺序。
9.根据权利要求7所述的系统,其特征在于,还包括: 加入单元,用于将所述目标任务加入到待执行队列中。
10.根据权利要求9所述的系统,其特征在于,还包括: 查询单元,用于在所述待执行队列中依次查询所有待执行的任务; 提取单元,用于当查询的当前待执行的任务满足预设的执行条件时,从任务列表中提取所述当前待执行的任务。
【文档编号】G06F9/445GK104461562SQ201410811071
【公开日】2015年3月25日 申请日期:2014年12月22日 优先权日:2014年12月22日
【发明者】殷菲, 赵建云, 韩锋 申请人:山东中创软件商用中间件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1