CN103246555A - 任务调度装置和任务调度方法 - Google Patents
任务调度装置和任务调度方法 Download PDFInfo
- Publication number
- CN103246555A CN103246555A CN2013101625443A CN201310162544A CN103246555A CN 103246555 A CN103246555 A CN 103246555A CN 2013101625443 A CN2013101625443 A CN 2013101625443A CN 201310162544 A CN201310162544 A CN 201310162544A CN 103246555 A CN103246555 A CN 103246555A
- Authority
- CN
- China
- Prior art keywords
- task
- plug
- configuration file
- unit
- preset configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种任务调度装置,包括:插件检测单元,用于在系统启动时,对所述系统中每个插件进行检测,以判断所述每个插件中是否存在预设配置文件;线程生成单元,用于在所述插件检测单元检测到存在所述预设配置文件的插件时,加载所述预设配置文件中的配置接口和执行策略,并根据所述配置接口和所述执行策略生成任务,将所述任务放入线程池;任务调用单元,用于在所述系统的时间与所述执行策略中预设的时间相同时,从所述线程池中调用所述配置接口对应的任务。本发明还提出了一种任务调度方法。通过本发明的技术方案,可以自动完成对系统中的插件统一的任务调度,实现了配置过程的统一,降低代码的复杂程度,提高了系统的扩展性。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种任务调度装置和一种任务调度方法。
背景技术
随着软件业务需求的多样化,一个系统中通常会有多个业务需要定时触发,在现有的技术方案中,每一次触发都要指定任务调度方案和配置文件。随着系统的不断庞大,在需要定义多个定时任务时,每个任务都需要定义配置文件,定义代码启动读取配置文件,定义任务,启动任务,这种散落在系统不同角落的代码和配置文件使系统看起来凌乱而繁琐并且越来越难以扩展。
因此,本发明提出了一种新的任务调度方案,可以自动完成对系统中的插件统一的任务调度,实现了配置过程的统一,降低代码的复杂程度,提高了系统的扩展性。
发明内容
本发明正是基于上述问题,提出了一种新的任务调度方案,可以自动完成对系统中的插件统一的任务调度,实现了配置过程的统一,降低代码的复杂程度,提高了系统的扩展性。
有鉴于此,本发明提出了一种任务调度装置,包括:插件检测单元,用于在系统启动时,对所述系统中每个插件进行检测,以判断所述每个插件中是否存在预设配置文件;线程生成单元,用于在所述插件检测单元检测到存在所述预设配置文件的插件时,加载所述预设配置文件中的配置接口和执行策略,并根据所述配置接口和所述执行策略生成任务,将所述任务放入线程池;任务调用单元,用于在所述系统的时间与所述执行策略中预设的时间相同时,从所述线程池中调用所述配置接口对应的任务。
在该技术方案中,任务调度装置可以在系统启动时自动对插件中的配置文件进行加载,并生成相应的任务线程,在系统时间为预定的时间时,就可以调用相应的任务,实现了插件任务的调度、文件的读取和文件的配置等操作的统一,避免了针对不同插件的调用、启动和配置等操作分别进行定义,从而减少了定义代码的数量,降低了代码的复杂程度。具体来说,预设的配置文件可以是“*.timer.xml”文件,其中包含配置接口(对应于需要执行的任务)和执行策略(比如执行的时间、如何执行等)。在系统启动时,封装了开源框架quartz(是开源组织OpenSymphony在JobScheduling领域提出的一个开源项目)的任务调度装置采用OSGI(OpenService Gateway Initiative,一种面向JAVA的动态模型系统)技术,通过BundleLiscener(封装于OSGI中的一个接口,对应于任务调度装置的代码部分)来检索存在“*.timer.xml”文件的插件,当检测到存在时,则加载该插件中的“*.timer.xml”文件对应的配置接口和执行策略,根据具体的执行策略和相应的配置接口生成任务线程并放入线程池中等待执行,在触发定时任务时,通过任务调度装置从任务线程池中直接调用相应任务进行执行。
在上述技术方案中,优选地,所述线程生成单元包括:缓存子单元,用于读取所述预设配置文件,并缓存所述预设配置文件的实体;初始化子单元,用于初始化任务创建环境,解析所述预设配置文件得到所述配置接口和所述执行策略,根据反射调用所述配置接口生成任务,根据所述执行策略确定所述任务的启动时间;日志生成子单元,用于根据所述任务和所述启动时间生成日志信息,根据所述日志信息生成所述任务。
在该技术方案中,可以根据上述缓存子单元、初始化子单元和日志生成子单元的功能定义相应的代码来执行对应的操作,比如,可以定义代码CfgTracker为插件监听器,用来读取所有插件的配置文件,并缓存任务配置实体;定义代码TimeCfgVo用于存储读取的配置文件实体;定义代码TimeManager用于初始化任务创建环境,根据配置文件,生成相应的任务参数,生成任务并存入任务缓存池;定义代码JobWrapper根据JAVA反射调用相应的配置接口生成任务;定义代码TimeLog存储日志信息;定义代码TimeUtils存储相关的工具类,其中的代码CfgTracker和代码TimeCfgVo用于实现缓存子单元的功能,代码TimeCfgVo和代码JobWrapper用于实现初始化子单元的功能,定义代码TimeLog和代码TimeUtils则用于实现日志生成子单元的功能。可见,仅通过6个代码即可实现任务调度装置初始化、配置任务、读取文件和日志记录等操作,针对不同的插件在执行不同的配置、读取等操作时,均可通过上述代码完成,从而极大地降低了代码的复杂程度。
在上述技术方案中,优选地,还包括:配置文件设置单元,用于根据接收到的设置指令设置所述配置接口和/或所述执行策略,以设置所述预设配置文件。
在该技术方案中,预设配置文件可以包括配置接口和执行策略两个配置项,用户可以通过任务调度装置,进而根据需要方便地对定时任务的配置接口和/或执行策略进行编辑/删除,当然用户也可以根据需要在预设配置文件中添加其他配置项,并且可以调整每个配置项是否可用,使系统更具可操作性。具体地,比如用户预设早上八点调用闹铃程序响铃一分钟,之后用户可以根据需要更改配置接口,例如早上八点调用音乐播放程序,也可以对执行策略进行修改,比如早上八点调用闹铃程序响铃两分钟。
在该技术方案中,优选地,还包括:任务更新单元,用于实时监测所述存在所述预设配置文件的插件是否存在更新,若存在更新,则根据更新的内容更新所述线程池中相应的任务。
在该技术方案中,通过对预设配置文件的插件进行实时监测,可以确保在插件中配置文件的配置接口和执行策略发生变化时,对应的线程池中的任务及时随之更新,防止系统出现延时,增强任务调度装置调度任务的实时性。
在上述技术方案中,优选地,每个所述预设配置文件的格式相同。
在该技术方案中,可以将存在预设配置文件的插件中的预设配置文件定义为相同格式,比如都被定义为XML格式,更进一步,可以都定义为*.timer.xml类型的文件,从而使得任务调度装置只需定义一份代码来读取和解析一种类型或格式的文件即可,提高了任务调度装置定义过程的统一性,进一步降低了代码的复杂程度,提高了系统的扩展性。
本发明还提出了一种任务调度方法,包括:步骤202,在系统启动时,对所述系统中每个插件进行检测,判断所述每个插件中是否存在预设配置文件;步骤204,当检测到存在所述预设配置文件的插件时,加载所述预设配置文件中的配置接口和执行策略,并根据所述配置接口和所述执行策略生成任务,将任务线程放入线程池;步骤206,当所述系统的时间与所述执行策略中预设的时间相同时,从所述线程池中调用所述配置接口对应的任务。
在该技术方案中,任务调度装置可以在系统启动时自动对插件中的配置文件进行加载,并生成相应的任务线程,在系统时间为预定的时间时,就可以调用相应的任务,实现了插件任务的调度、文件的读取和文件的配置等操作的统一,避免了针对不同插件的调用、启动和配置等操作分别进行定义,从而减少了定义代码的数量,降低了代码的复杂程度。具体来说,预设的配置文件可以是*.timer.xml文件,其中包含配置接口(对应于需要执行的任务)和执行策略(比如执行的时间、如何执行等)。在系统启动时,封装了开源框架quartz的任务调度装置采用OSGI技术,通过BundleLiscener来检索存在*.timer.xml文件的插件,当检测到存在时,则加载该插件中的*.timer.xml文件对应的配置接口和执行策略,根据具体的执行策略和相应的配置接口生成任务线程并放入线程池中等待执行,在触发定时任务时,通过任务调度装置从任务线程池中直接调用相应任务进行执行。
在上述技术方案中,优选地,所述步骤204包括:步骤2042,读取所述预设配置文件,并缓存所述预设配置文件的实体;步骤2044,初始化任务创建环境,解析所述预设配置文件得到所述配置接口和所述执行策略,根据反射调用所述配置接口生成任务,根据所述执行策略确定所述任务的启动时间;步骤2046,根据所述任务和所述启动时间生成日志信息,根据所述日志信息生成所述任务。
在该技术方案中,可以定义相应的代码来执行对应的操作,比如,可以定义代码CfgTracker为插件监听器,用来读取所有插件的配置文件,并缓存任务配置实体;定义代码TimeCfgVo用于存储读取的配置文件实体;定义代码TimeManager用于初始化任务创建环境,根据配置文件,生成相应的任务参数,生成任务并存入任务缓存池;定义代码JobWrapper根据JAVA反射调用相应的配置接口生成任务;定义代码TimeLog存储日志信息;定义代码TimeUtils存储相关的工具类。其中的代码CfgTracker和代码TimeCfgVo用于实现缓存的功能,代码TimeCfgVo和代码JobWrapper用于实现初始化的功能,定义代码TimeLog和代码TimeUtils则用于实现日志生成的功能。可见,仅通过6个代码即可实现任务调度装置初始化、配置任务、读取文件和日志记录等操作,针对不同的插件在执行不同的配置、读取等操作时,均可通过上述代码完成,从而极大地降低了代码的复杂程度。
在上述技术方案中,优选地,还包括:根据接收到的设置指令设置所述配置接口和/或所述执行策略,以设置所述预设配置文件。
在该技术方案中,预设配置文件可以包括配置接口和执行策略两个配置项,用户可以通过任务调度装置,进而根据需要方便地对定时任务的配置接口和/或执行策略进行编辑/删除,当然用户也可以根据需要在预设配置文件中添加其他配置项,并且可以调整每个配置项是否可用,使系统更具可操作性。具体地,比如用户预设早上八点调用闹铃程序响铃一分钟,之后用户可以根据需要更改配置接口,例如早上八点调用音乐播放程序,也可以对执行策略进行修改,比如早上八点调用闹铃程序响铃两分钟。
在上述技术方案中,优选地,还包括:实时监测所述存在所述预设配置文件的插件是否存在更新,若存在更新,则根据更新的内容更新所述线程池中相应的任务。
在该技术方案中,通过对预设配置文件的插件进行实时监测,可以确保在插件中配置文件的配置接口和执行策略发生变化时,对应的线程池中的任务及时随之更新,防止系统出现延时,增强任务调度装置调度任务的实时性。
在上述技术方案中,优选地,每个所述预设配置文件的格式相同。
在该技术方案中,可以将存在预设配置文件的插件中的预设配置文件定义为相同格式,比如都被定义为XML格式,更进一步,可以都定义为*.timer.xml类型的文件,从而使得任务调度装置只需定义一份代码来读取和解析一种类型或格式的文件即可,提高了任务调度装置定义过程的统一性,进一步降低了代码的复杂程度,提高了系统的扩展性。
通过以上技术方案,可以自动完成对系统中的插件统一的任务调度,实现了配置过程的统一,降低了代码的复杂程度,提高了系统的扩展性。
附图说明
图1示出了根据本发明的实施例的任务调度装置的框图;
图2示出了根据本发明的实施例的任务调度方法的流程图;
图3示出了根据本发明的实施例的任务调度的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的任务调度装置的框图。
如图1所示,根据本发明的实施例的任务调度装置100,包括:插件检测单元102,用于在系统启动时,自动对系统中每个插件进行检测,以判断每个插件中是否存在预设配置文件;线程生成单元104,用于在插件检测单元检测到存在预设配置文件的插件时,加载预设配置文件中的配置接口和执行策略,并根据配置接口和执行策略生成任务,将任务放入线程池;调用单元106,用于在系统的时间与执行策略中预设的时间相同时,从线程池中调用配置接口对应的任务。
通过任务调度装置100可以在系统启动时自动对插件中的配置文件进行加载,并生成相应的任务线程,在系统时间为预定的时间时,就可以调用相应的任务,实现了插件任务的调度、文件的读取和文件的配置等操作的统一,避免了针对不同插件的调用、启动和配置等操作分别进行定义,从而减少了定义代码的数量,降低了代码的复杂程度。
具体来说,预设的配置文件可以是*.timer.xml文件,其中包含配置接口(对应于需要执行的任务)和执行策略(比如执行的时间、如何执行等)。在系统启动时,封装了开源框架quartz的任务调度装置100采用OSGI技术,通过BundleLiscener来检索存在“*.timer.xml”文件的插件,当检测到存在时,则加载该插件中的“*.timer.xml”文件对应的的配置接口和执行策略,根据具体的执行策略和相应的配置接口生成任务线程并放入线程池中等待执行,在触发定时任务时,通过任务调度装置100从任务线程池中直接调用相应任务进行执行。
优选地,线程生成单元104包括:缓存子单元1042,用于读取预设配置文件,并缓存预设配置文件的实体;初始化子单元1044,用于初始化任务创建环境,解析预设配置文件得到配置接口和执行策略,根据反射调用配置接口生成任务,根据执行策略确定任务的启动时间;日志生成子单元1046,用于根据任务和启动时间生成日志信息,根据日志信息生成所述任务。
可以根据上述缓存子单元1042、初始化子单元1044和日志生成子单元1046的功能定义相应的代码来执行对应的操作,比如,可以定义代码CfgTracker为插件监听器,用来读取所有插件的配置文件,并缓存任务配置实体;定义代码TimeCfgVo用于存储读取的配置文件实体;定义代码TimeManager用于初始化任务创建环境,根据配置文件,生成相应的任务参数,生成任务并存入任务缓存池;定义代码JobWrapper根据JAVA反射调用相应的配置接口生成任务;定义代码TimeLog存储日志信息;定义代码TimeUtils存储相关的工具类,其中的代码CfgTracker和代码TimeCfgVo用于实现缓存子单元1042的功能,代码TimeCfgVo和代码JobWrapper用于实现初始化子单元1044的功能,定义代码TimeLog和代码TimeUtils则用于实现日志生成子单元1046的功能。可见,仅通过6个代码即可实现任务调度装置100初始化、配置任务、读取文件和日志记录等操作,针对不同的插件在执行不同的配置、读取等操作时,均可通过上述代码完成,从而极大地降低了代码的复杂程度。
优选地,还包括:配置文件设置单元108,用于根据接收到的设置指令设置配置接口和/或执行策略,以设置预设配置文件。
预设配置文件可以包括配置接口和执行策略两个配置项,用户可以通过任务调度装置100对预设的配置文件进行设置,进而根据需要方便地对定时任务的配置接口和/或执行策略进行编辑/删除,当然用户也可以根据需要在预设配置文件中添加其他配置项,并且可以调整每个配置项是否可用,使系统更具可操作性。具体地,比如用户预设早上八点调用闹铃程序响铃一分钟,之后用户可以根据需要更改配置接口,例如早上八点调用音乐播放程序,也可以对执行策略进行修改,比如早上八点调用闹铃程序响铃两分钟。
优选地,还包括:任务更新单元110,用于实时监测存在预设配置文件的插件是否存在更新,若存在更新,则根据更新的内容更新线程池中相应的任务。
通过对预设配置文件的插件进行实时监测,可以确保在插件中配置文件的配置接口和执行策略发生变化时,对应的线程池中的任务及时随之更新,防止系统出现延时,增强任务调度装置100调度任务的实时性。
优选地,每个预设配置文件的格式相同。
可以将存在预设配置文件的插件中的预设配置文件定义为相同格式,比如都定义为XML格式,更进一步,可以都定义为*.timer.xml类型的文件,从而使得任务调度装置100只需定义一份代码来读取和解析一种类型或格式的文件即可,提高了任务调度装置100定义过程的统一性,进一步降低了代码的复杂程度,提高了系统的扩展性。
图2示出了根据本发明的实施例的任务调度方法的流程图。
如图2所示,根据本发明的实施例的任务调度方法的流程,包括:步骤202,在系统启动时,自动对系统中每个插件进行检测,判断每个插件中是否存在预设配置文件;步骤204,当检测到存在预设配置文件的插件时,加载预设配置文件中的配置接口和执行策略,并根据配置接口和执行策略生成任务,将任务线程放入线程池;步骤206,当系统的时间与执行策略中预设的时间相同时,从线程池中调用配置接口对应的任务。
任务调度装置可以在系统启动时自动对插件中的配置文件进行加载,并生成相应的任务线程,在系统时间为预定的时间时,就可以调用相应的任务,实现了插件任务的调度、文件的读取和文件的配置等操作的统一,避免了针对不同插件的调用、启动和配置等操作分别进行定义,从而减少了定义代码的数量,降低了代码的复杂程度。具体来说,预设的配置文件可以是*.timer.xml文件,其中包含配置接口(对应于需要执行的任务)和执行策略(比如执行的时间、如何执行等)。在系统启动时,封装了开源框架quartz的任务调度装置采用OSGI技术,通过BundleLiscener来检索存在*.timer.xml文件的插件,当检测到存在时,则加载该插件中的“*.timer.xml”文件对应的配置接口和执行策略,根据具体的执行策略和相应的配置接口生成任务线程并放入线程池中等待执行,在触发定时任务时,通过任务调度装置从任务线程池中直接调用相应任务进行执行。
优选地,步骤204包括:步骤2042,读取预设配置文件,并缓存预设配置文件的实体;步骤2044,初始化任务创建环境,解析预设配置文件得到配置接口和执行策略,根据反射调用所述配置接口生成任务,根据执行策略确定所述任务的启动时间;步骤2046,根据任务和启动时间生成日志信息,根据日志信息生成任务。
可以定义相应的代码来执行对应的操作,比如,可以定义代码CfgTracker为插件监听器,用于读取所有插件的配置文件,并缓存任务配置实体;定义代码TimeCfgVo用于存储读取的配置文件实体;定义代码TimeManager用于初始化任务创建环境,根据配置文件,生成相应的任务参数,生成任务并存入任务缓存池;定义代码JobWrapper根据JAVA反射调用相应的配置接口生成任务;定义代码TimeLog存储日志信息;定义代码TimeUtils存储相关的工具类。其中的代码CfgTracker和代码TimeCfgVo用于实现缓存的功能,代码TimeCfgVo和代码JobWrapper用于实现初始化的功能,定义代码TimeLog和代码TimeUtils则用于实现日志生成的功能。可见,仅通过6个代码即可实现任务调度装置初始化、配置任务、读取文件和日志记录等操作,针对不同的插件在执行不同的配置、读取等操作时,均可通过上述代码完成,从而极大地降低了代码的复杂程度。
优选地,还包括:根据接收到的设置指令设置配置接口和/或执行策略,以设置预设配置文件。
预设配置文件可以包括配置接口和执行策略两个配置项,用户可以通过任务调度装置,进而根据需要方便地对定时任务的配置接口和/或执行策略进行编辑/删除,当然用户也可以根据需要在预设配置文件中添加其他配置项,并且可以调整每个配置项是否可用,使系统更具可操作性。具体地,比如用户预设早上八点调用闹铃程序响铃一分钟,之后用户可以根据需要更改配置接口,例如早上八点调用音乐播放程序,也可以对执行策略进行修改,比如早上八点调用闹铃程序响铃两分钟。
优选地,还包括:实时监测存在预设配置文件的插件是否存在更新,若存在更新,则根据更新的内容更新线程池中相应的任务。
通过对预设配置文件的插件进行实时监测,可以确保在插件中配置文件的配置接口和执行策略发生变化时,对应的线程池中的任务及时随之更新,防止系统出现延时,增强任务调度装置调度任务的实时性。
优选地,每个预设配置文件的格式相同。
在该技术方案中,可以将存在预设配置文件的插件中的预设配置文件定义为相同格式,比如都被定义为XML格式,更进一步,可以都定义为*.timer.xml类型的文件,从而使得任务调度装置只需定义一份代码来读取和解析一种类型或格式的文件即可,提高了任务调度装置定义过程的统一性,进一步降低了代码的复杂程度,提高了系统的扩展性。
图3示出了根据本发明的实施例的任务调度的示意图。
如图3所示,如图1所示的任务调度装置100具体可以通过一个插件来实现,即任务调度插件302。任务调度插件302封装了开源框架quartz,采用osgi技术,在系统启动时通过sogi中的BundleLiscener来检测系统中的每个创建是否包含*.timer.xml文件。其中,当检测到插件304、插件306以及插件308中存在*.timer.xml文件时,任务调度插件302从插件304、插件306和插件308中读取*.timer.xml文件,并加载其中的配置接口和执行策略,根据具体的执行策略和相应的配置接口生成任务线程并放入线程池中等待执行。
具体来说,任务调度插件302加载*.timer.xml文件中的配置接口和执行策略并生成任务线程包括以下步骤:定义代码CfgTracker,作为插件监听器读取所有插件的配置文件,并缓存任务配置实体;定义代码TimeCfgVo用于存储读取的配置文件实体;定义代码TimeManager用于初始化任务创建环境,根据配置文件,生成相应的任务参数,生成任务并存入任务缓存池;定义代码JobWrapper根据JAVA反射调用相应的配置接口生成任务;定义代码TimeLog存储日志信息;定义代码TimeUtils存储相关的工具类。
当需要触发定时任务时,只需通过任务调度插件302从任务线程池中直接调用相应任务执行即可,避免了调用每个插件以执行相应任务时分别加载各自的配置文件和相应任务的繁琐操作。
任务调度插件302还可以对存在预设配置文件的插件进行实时监测,当检测到插件304、插件306和插件308存在更新时,即刻读取其中配置文件配置项的变化,从而对线程池中的任务进行相应的更新,防止系统出现延时,增强系统的实时性。
以上结合附图详细说明了本发明的技术方案,考虑到在现有技术中,当系统中需要定义多个定时任务时,对于不同任务需要分别定义配置文件,定义代码启动读取配置文件,定义任务,启动任务,从而需要定义大量的代码来针对不同的插件实现不同的操作,代码复杂程度价高,难以维护,不易于扩展。通过本发明的技术方案,可以自动完成对系统中的插件统一的任务调度,实现了配置过程的统一,降低代码的复杂程度,提高了系统的扩展性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种任务调度装置,其特征在于,包括:
插件检测单元,用于在系统启动时,自动对所述系统中每个插件进行检测,以判断所述每个插件中是否存在预设配置文件;
线程生成单元,用于在所述插件检测单元检测到存在所述预设配置文件的插件时,加载所述预设配置文件中的配置接口和执行策略,并根据所述配置接口和所述执行策略生成任务,将所述任务放入线程池;
任务调用单元,用于在所述系统的时间与所述执行策略中预设的时间相同时,从所述线程池中调用所述配置接口对应的任务。
2.根据权利要求1所述的任务调度装置,其特征在于,所述线程生成单元包括:
缓存子单元,用于读取所述预设配置文件,并缓存所述预设配置文件的实体;
初始化子单元,用于初始化任务创建环境,解析所述预设配置文件得到所述配置接口和所述执行策略,根据反射调用所述配置接口生成任务,根据所述执行策略确定所述任务的启动时间;
日志生成子单元,用于根据所述任务和所述启动时间生成日志信息,根据所述日志信息生成所述任务。
3.根据权利要求1所述的任务调度装置,其特征在于,还包括:
配置文件设置单元,用于根据接收到的设置指令设置所述配置接口和/或所述执行策略,以设置所述预设配置文件。
4.根据权利要求1所述的任务调度装置,其特征在于,还包括:
任务更新单元,用于实时监测所述存在所述预设配置文件的插件是否存在更新,若存在更新,则根据更新的内容更新所述线程池中相应的任务。
5.根据权利要求1至4中任一项所述的任务调度装置,其特征在于,每个所述预设配置文件的格式相同。
6.一种任务调度方法,其特征在于,包括:
步骤202,在系统启动时,自动对所述系统中每个插件进行检测,判断所述每个插件中是否存在预设配置文件;
步骤204,当检测到存在所述预设配置文件的插件时,加载所述预设配置文件中的配置接口和执行策略,并根据所述配置接口和所述执行策略生成任务,将任务线程放入线程池;
步骤206,当所述系统的时间与所述执行策略中预设的时间相同时,从所述线程池中调用所述配置接口对应的任务。
7.根据权利要求6所述的任务调度方法,其特征在于,所述步骤204包括:
步骤2042,读取所述预设配置文件,并缓存所述预设配置文件的实体;
步骤2044,初始化任务创建环境,解析所述预设配置文件得到所述配置接口和所述执行策略,根据反射调用所述配置接口生成任务,根据所述执行策略确定所述任务的启动时间;
步骤2046,根据所述任务和所述启动时间生成日志信息,根据所述日志信息生成所述任务。
8.根据权利要求6所述的任务调度方法,其特征在于,还包括:根据接收到的设置指令设置所述配置接口和/或所述执行策略,以设置所述预设配置文件。
9.根据权利要求6所述的任务调度方法,其特征在于,还包括:实时监测所述存在所述预设配置文件的插件是否存在更新,若存在更新,则根据更新的内容更新所述线程池中相应的任务。
10.根据权利要求6至9中任一项所述的任务调度方法,其特征在于,每个所述预设配置文件的格式相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101625443A CN103246555A (zh) | 2013-05-03 | 2013-05-03 | 任务调度装置和任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101625443A CN103246555A (zh) | 2013-05-03 | 2013-05-03 | 任务调度装置和任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103246555A true CN103246555A (zh) | 2013-08-14 |
Family
ID=48926086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101625443A Pending CN103246555A (zh) | 2013-05-03 | 2013-05-03 | 任务调度装置和任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103246555A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902360A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种调度业务的方法及定时服务器 |
CN104484204A (zh) * | 2014-12-12 | 2015-04-01 | 北京国双科技有限公司 | 任务运行方法和装置 |
CN104702426A (zh) * | 2013-12-05 | 2015-06-10 | 广东优迈信息通信股份有限公司 | 一种定时调度服务系统的配置方法及装置 |
CN105592086A (zh) * | 2015-12-22 | 2016-05-18 | Tcl集团股份有限公司 | 一种针对Android平台管理防火墙的方法及装置 |
CN107438112A (zh) * | 2016-05-27 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于xml的移动端接口地址管理方法 |
CN107704315A (zh) * | 2017-03-31 | 2018-02-16 | 广东网金控股股份有限公司 | 一种基于Quartz的定时任务调度服务框架及方法 |
CN110083457A (zh) * | 2018-01-26 | 2019-08-02 | 北京京东尚科信息技术有限公司 | 一种数据获取方法、装置以及数据分析方法、装置 |
CN111488181A (zh) * | 2020-04-07 | 2020-08-04 | 广州虎牙科技有限公司 | 任务调度方法、装置、存储介质及服务器 |
CN112764840A (zh) * | 2021-02-27 | 2021-05-07 | 中电万维信息技术有限责任公司 | 一种动态化任务配置及调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509638B2 (en) * | 2004-08-02 | 2009-03-24 | International Business Machines Corporation | Method and apparatus for providing a pluggable and extendable J2EE architecture |
CN101887381A (zh) * | 2010-06-22 | 2010-11-17 | 北京伟库电子商务科技有限公司 | 基于Quartz框架的配置定时任务的方法和装置 |
CN102411506A (zh) * | 2011-07-07 | 2012-04-11 | 杭州典能科技有限公司 | Java系统业务单元插件式管理系统及业务功能动态变更方法 |
CN102724272A (zh) * | 2011-12-30 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种电视台业务发布数据的备份方法 |
-
2013
- 2013-05-03 CN CN2013101625443A patent/CN103246555A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7509638B2 (en) * | 2004-08-02 | 2009-03-24 | International Business Machines Corporation | Method and apparatus for providing a pluggable and extendable J2EE architecture |
CN101887381A (zh) * | 2010-06-22 | 2010-11-17 | 北京伟库电子商务科技有限公司 | 基于Quartz框架的配置定时任务的方法和装置 |
CN102411506A (zh) * | 2011-07-07 | 2012-04-11 | 杭州典能科技有限公司 | Java系统业务单元插件式管理系统及业务功能动态变更方法 |
CN102724272A (zh) * | 2011-12-30 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种电视台业务发布数据的备份方法 |
Non-Patent Citations (1)
Title |
---|
CHUCK CAVANESS: "《Quartz Job Scheduling Framework: Building Open Source Enterprise Application》", 30 June 2006 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702426A (zh) * | 2013-12-05 | 2015-06-10 | 广东优迈信息通信股份有限公司 | 一种定时调度服务系统的配置方法及装置 |
CN104702426B (zh) * | 2013-12-05 | 2017-10-31 | 广东网金控股股份有限公司 | 一种定时调度服务系统的配置方法及装置 |
CN103902360A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种调度业务的方法及定时服务器 |
CN104484204A (zh) * | 2014-12-12 | 2015-04-01 | 北京国双科技有限公司 | 任务运行方法和装置 |
CN105592086B (zh) * | 2015-12-22 | 2019-09-17 | Tcl集团股份有限公司 | 一种针对Android平台管理防火墙的方法及装置 |
CN105592086A (zh) * | 2015-12-22 | 2016-05-18 | Tcl集团股份有限公司 | 一种针对Android平台管理防火墙的方法及装置 |
CN107438112B (zh) * | 2016-05-27 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 基于xml的移动端接口地址管理方法、装置及存储介质 |
CN107438112A (zh) * | 2016-05-27 | 2017-12-05 | 北京京东尚科信息技术有限公司 | 基于xml的移动端接口地址管理方法 |
CN107704315A (zh) * | 2017-03-31 | 2018-02-16 | 广东网金控股股份有限公司 | 一种基于Quartz的定时任务调度服务框架及方法 |
CN110083457A (zh) * | 2018-01-26 | 2019-08-02 | 北京京东尚科信息技术有限公司 | 一种数据获取方法、装置以及数据分析方法、装置 |
CN111488181A (zh) * | 2020-04-07 | 2020-08-04 | 广州虎牙科技有限公司 | 任务调度方法、装置、存储介质及服务器 |
CN111488181B (zh) * | 2020-04-07 | 2024-03-01 | 广州虎牙科技有限公司 | 任务调度方法、装置、存储介质及服务器 |
CN112764840A (zh) * | 2021-02-27 | 2021-05-07 | 中电万维信息技术有限责任公司 | 一种动态化任务配置及调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103246555A (zh) | 任务调度装置和任务调度方法 | |
CN112162753B (zh) | 软件部署方法、装置、计算机设备和存储介质 | |
CN108958729B (zh) | 一种数据处理方法、装置及存储介质 | |
CN106155749B (zh) | 一种监控插件扩展方法及装置 | |
US20100082133A1 (en) | Application builder for industrial automation | |
CN110569250B (zh) | 一种物联网网元的解析库的管理方法及装置 | |
EP2177986A1 (en) | Application builder for industrial automation | |
CN111596932B (zh) | 一种镜像文件生成方法、装置和计算机可读存储介质 | |
CN104866391B (zh) | 一种基于增量信息系统的终端信息备份方法和装置 | |
US10712731B2 (en) | Control device, control method, and non-transitory computer-readable recording medium | |
CN114064213B (zh) | 基于Kubernets容器环境的快速编排服务方法及系统 | |
US8359573B2 (en) | Application builder for industrial automation | |
US20110078659A1 (en) | Java-Based Application Server that Supports Multiple Component Models | |
CN103761107A (zh) | 软件包定制的装置及方法 | |
CN111147291B (zh) | 一种服务维护方法及装置 | |
CN102256242B (zh) | 一种处理业务应用的系统和方法 | |
CN113138790B (zh) | Android机顶盒客制化集成方法、装置及机顶盒集成开发系统 | |
CN113608802B (zh) | 一种免安装运行rpa流程的方法及系统 | |
CN105404522A (zh) | 一种构建智能终端应用程序的方法、装置及智能终端 | |
CN112748905B (zh) | 基础库的初始化调用方法、装置、电子设备及存储介质 | |
CN103942131A (zh) | 监控底层接口是否变化的方法及装置 | |
CN108804088B (zh) | 协议处理方法和装置 | |
CN116048476A (zh) | 命令行工具执行方法、装置、介质及设备 | |
US11550566B2 (en) | Automatically integrating software components into a control framework in a distributed computing environment | |
CN102354282A (zh) | 基于分级OSGi的RFID中间件构件产品运行时监控系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130814 |