CN107797859A - 一种定时任务的调度方法及一种调度服务器 - Google Patents
一种定时任务的调度方法及一种调度服务器 Download PDFInfo
- Publication number
- CN107797859A CN107797859A CN201711136626.5A CN201711136626A CN107797859A CN 107797859 A CN107797859 A CN 107797859A CN 201711136626 A CN201711136626 A CN 201711136626A CN 107797859 A CN107797859 A CN 107797859A
- Authority
- CN
- China
- Prior art keywords
- task
- session
- session connections
- timed task
- connections
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Abstract
本发明提供了一种定时任务的调度方法及一种调度服务器,该方法包括:预先设置会话缓存策略和任务结束条件;S1:判断内存中是否缓存有任务服务器对应的session连接,如果是,则执行S2,否则,执行S3;S2:调用内存中的session连接,将内存中的session连接作为当前session连接,执行S5;S3:建立与任务服务器的session连接,执行S4,并将建立的session连接作为当前session连接,执行S5;S4:根据会话缓存策略,判断是否需要在内存缓存建立的session连接,如果是,则在内存缓存建立的session连接;S5:利用当前session连接执行定时任务,执行S6;S6:根据任务结束条件,判断是否是最后一次执行定时任务,如果不是,则返回S1。本发明能够降低通讯开销。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种定时任务的调度方法及一种调度服务器。
背景技术
在互联网业务迅猛发展的当今,存在很多需要定时处理的业务场景,例如计费、数据清理等。而随着企业业务规模的不断扩大,通常会根据业务对系统拆分。所以出现了很多将定时任务调度控制端和定时任务分别部署在不同服务器上的方案。
在现有技术中,用于调度定时任务的调度服务器与部署有定时任务的任务服务器需要建立连接,通过建立的连接,调度服务器对任务服务器中的定时任务进行调度。定时任务每次执行都需要在调度服务器与任务服务器之间重新建立连接。
通过上述描述可见,现有的调度方案的通讯开销较大。
发明内容
本发明实施例提供了一种定时任务的调度方法及一种调度服务器,能够降低通讯开销。
一方面,本发明实施例提供了一种定时任务的调度方法,应用于调度服务器,包括:
预先设置会话缓存策略和任务结束条件;
S1:判断内存中是否缓存有保存定时任务的任务服务器对应的session(会话)连接,如果是,则执行S2,否则,执行S3;
S2:调用内存中的所述session连接,将内存中的所述session连接作为当前session连接,执行S5;
S3:建立与所述任务服务器的session连接,执行S4,并将建立的所述session连接作为当前session连接,执行S5;
S4:根据所述会话缓存策略,判断是否需要在内存缓存建立的所述session连接,如果是,则在内存缓存建立的所述session连接;
S5:利用当前session连接执行所述定时任务,执行S6;
S6:根据所述任务结束条件,判断是否是最后一次执行所述定时任务,如果不是,则返回S1。
进一步地,
所述利用当前session连接执行所述定时任务,包括:
在当前session连接上打开命令通道,通过所述命令通道向所述任务服务器发送执行所述定时任务的执行命令,以使所述任务服务器根据所述执行命令执行所述定时任务。
进一步地,
该方法进一步包括:
当判断出是最后一次执行所述定时任务时,执行:
判断内存中是否缓存有所述定时任务对应的session连接,如果是,则断开所述定时任务对应的session连接,并从内存中删除所述定时任务对应的session连接,否则,断开所述定时任务对应的session连接。
进一步地,
所述会话缓存策略包括:
当所述定时任务的执行频率大于等于预设值时,在内存缓存建立的所述session连接;
当所述定时任务的执行频率小于所述预设值时,不在内存缓存建立的所述session连接;
所述S4,包括:
获取所述定时任务的执行频率;
判断所述定时任务的执行频率是否大于等于所述预设值,如果是,则在内存缓存建立的所述session连接。
进一步地,
该方法进一步包括:
A1:实时轮询所述任务服务器通过所述当前session连接发出的所述定时任务的任务执行信息;
所述S6,包括:
根据所述任务结束条件和所述任务执行信息,判断是否是最后一次执行所述定时任务,如果是,则停止执行A1,否则,返回S1。
进一步地,
该方法进一步包括:
实时判断所述当前session连接是否断开,如果是,则输出所述当前session连接已断开的告警信息,并结束当前流程。
另一方面,本发明实施例提供了一种调度服务器,包括:
保存单元,用于保存会话缓存策略和任务结束条件;
调度单元,用于执行:
S1:判断内存中是否缓存有保存定时任务的任务服务器对应的会话session连接,如果是,则执行S2,否则,执行S3;
S2:调用内存中的所述session连接,将内存中的所述session连接作为当前session连接,执行S5;
S3:建立与所述任务服务器的session连接,执行S4,并将建立的所述session连接作为当前session连接,执行S5;
S4:根据所述会话缓存策略,判断是否需要在内存缓存建立的所述session连接,如果是,则在内存缓存建立的所述session连接;
S5:利用当前session连接执行所述定时任务,执行S6;
S6:根据所述任务结束条件,判断所述定时任务是否为最后一次执行,如果不是,则返回S1。
进一步地,
所述调度单元,在执行所述利用当前session连接执行所述定时任务时,具体用于在当前session连接上打开命令通道,通过所述命令通道向所述任务服务器发送执行所述定时任务的执行命令,以使所述任务服务器根据所述执行命令执行所述定时任务。
进一步地,
所述调度单元,进一步用于当判断出所述定时任务是最后一次执行时,执行:
判断内存中是否缓存有所述定时任务对应的session连接,如果是,则断开所述定时任务对应的session连接,并从内存中删除所述定时任务对应的session连接,否则,断开所述定时任务对应的session连接。
进一步地,
所述会话缓存策略包括:
当所述定时任务的执行频率大于等于预设值时,在内存缓存建立的所述session连接;
当所述定时任务的执行频率小于所述预设值时,不在内存缓存建立的所述session连接;
所述调度单元,在执行S4时,具体用于获取所述定时任务的执行频率;判断所述定时任务的执行频率是否大于等于所述预设值,如果是,则在内存缓存建立的所述session连接。
进一步地,
该调度服务器进一步包括:
轮询单元,用于实时轮询所述任务服务器通过所述当前session连接发出的所述定时任务的任务执行信息;
所述调度单元,在执行所述S6时,具体用于:
根据所述任务结束条件和所述任务执行信息,判断是否是最后一次执行所述定时任务,如果是,则停止运行所述轮询单元,否则,返回S1。
进一步地,
该调度服务器进一步包括:
检测单元,用于实时判断所述当前session连接是否断开,如果是,则输出所述当前session连接已断开的告警信息,并结束当前流程。
在本发明实施例中,根据会话缓存策略,在判断出需要在内存缓存session连接时,将session连接缓存到内存中,在下次需要与任务服务器连接时,直接调用内存中缓存的session连接即可,无需重新建立session连接,降低了通讯开销。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种定时任务的调度方法的流程图;
图2是本发明一实施例提供的另一种定时任务的调度方法的流程图;
图3是本发明一实施例提供的一种调度服务器的示意图;
图4是本发明一实施例提供的另一种调度服务器的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种定时任务的调度方法,应用于调度服务器,该方法可以包括以下步骤:
步骤101:预先设置会话缓存策略和任务结束条件;
步骤102:判断内存中是否缓存有保存定时任务的任务服务器对应的session连接,如果是,则执行步骤103,否则,执行步骤104;
步骤103:调用内存中的所述session连接,将内存中的所述session连接作为当前session连接,执行步骤106;
步骤104:建立与所述任务服务器的session连接,执行步骤105,并将建立的所述session连接作为当前session连接,执行步骤106;
步骤105:根据所述会话缓存策略,判断是否需要在内存缓存建立的所述session连接,如果是,则执行步骤108;
步骤106:利用当前session连接执行所述定时任务,执行步骤107;
步骤107:根据所述任务结束条件,判断是否是最后一次执行所述定时任务,如果不是,则返回步骤102;
步骤108:在内存缓存建立的所述session连接。
在本发明实施例中,根据会话缓存策略,在判断出需要在内存缓存session连接时,将session连接缓存到内存中,在下次需要与任务服务器连接时,直接调用内存中缓存的session连接即可,无需重新建立session连接,降低了通讯开销。
在本发明一实施例中,所述利用当前session连接执行所述定时任务,包括:
在当前session连接上打开命令通道,通过所述命令通道向所述任务服务器发送执行所述定时任务的执行命令,以使所述任务服务器根据所述执行命令执行所述定时任务。
在本发明实施例中,调度服务器通过向任务服务器发送执行命令,来实现对定时任务的调度。执行命令的传输通过session连接的命令通道上实现。
在本发明一实施例中,该方法进一步包括:
当判断出是最后一次执行所述定时任务时,执行:
判断内存中是否缓存有所述定时任务对应的session连接,如果是,则断开所述定时任务对应的session连接,并从内存中删除所述定时任务对应的session连接,否则,断开所述定时任务对应的session连接。
在本发明实施例中,当定时任务已经执行完成,则可以断开该定时任务对应的session连接,如果该定时任务的缓存在内存中,则从内存中删除,避免占用资源,造成不必要的浪费。
在本发明一实施例中,所述会话缓存策略包括:
当所述定时任务的执行频率大于等于预设值时,在内存缓存建立的所述session连接;
当所述定时任务的执行频率小于所述预设值时,不在内存缓存建立的所述session连接;
所述S4,包括:
获取所述定时任务的执行频率;
判断所述定时任务的执行频率是否大于等于所述预设值,如果是,则在内存缓存建立的所述session连接。
在本发明实施例中,通过定时任务的执行频率的大小了来确定是否缓存session连接,当执行频率大于等于预设值时,说明执行频率较大,如果每次执行都重新建立session连接,通讯开销较大,这时,将session连接缓存在内存中,无需每次执行都重新建立,大大减少了通讯开销。当执行频率小于预设值时,说明执行频率较小,每次重新建立session连接也不会有较大的通讯开销,无需将session连接缓存在内存中。
具体地,当定时任务的执行频率是秒级时,可以在内存中缓存session连接。也就是,预设值大于等于1。
在本发明一实施例中,该方法进一步包括:
A1:实时轮询所述任务服务器通过所述当前session连接发出的所述定时任务的任务执行信息;
所述S6,包括:
根据所述任务结束条件和所述任务执行信息,判断是否是最后一次执行所述定时任务,如果是,则停止执行A1,否则,返回S1。
在本发明实施例中,调度服务器可以通过session连接的通道来获取定时任务的任务执行信息,这些任务执行信息可以包括:定时任务的日志信息,其中,可以包括定时任务的执行结果。通过任务执行信息可以确定定时任务的执行情况。如果定时任务执行完成,则无需进行轮询,如果没有执行完成,则执行下一次的定时任务即可。
在本发明一实施例中,该方法进一步包括:
实时判断所述当前session连接是否断开,如果是,则输出所述当前session连接已断开的告警信息,并结束当前流程。
在本发明实施例中,当调度服务器检测到session连接断开时,认为网络中断,发出告警信息,提醒用户进行后续处理。可以通过轮询任务执行信息的过程来检测session连接是否断开,例如:连续n次都没有获取到任务执行信息,则可以确定session连接断开。
如图2所示,本发明实施例提供了一种定时任务的调度方法,该方法可以包括以下步骤:
步骤201:预先设置会话缓存策略和任务结束条件,其中,会话缓存策略包括:当定时任务的执行频率大于等于预设值时,在内存缓存建立的session连接;当定时任务的执行频率小于预设值时,不在内存缓存建立的session连接。
另外,任务结束条件可以包括:定时任务执行的总时间大于等于预设时长,也可以包括:定时任务的执行次数大于等于预设次数。任务结束条件可以在调度服务器上配置。
步骤202:判断内存中是否缓存有保存定时任务的任务服务器对应的session连接,如果是,则执行步骤203,否则,执行步骤204。
具体地,当内存中有与任务服务器的session连接时,无需重新建立,直接使用内存中的session连接即可,节省了通讯开销。
这里的定时任务可以是通过shell编写的。
步骤203:调用内存中的session连接,将内存中的session连接作为当前session连接,执行步骤209。
步骤204:建立与任务服务器的session连接,执行步骤205,并将建立的session连接作为当前session连接,执行步骤209。
具体地,调度服务器通过session连接与任务服务器建立SSH(Secure Shell,安全外壳协议)互信。建立SSH互信的过程具体如下:
利用JSch工具生成公钥和私钥对,并将公钥和密钥文件持久化到磁盘;
根据给定的任务服务器的IP地址,登录任务服务器的用户名、密码,以及任务服务器的SSH服务端口号,通过JSch的获取一个session连接。
在获取到的session连接上打开一个“exec”类型的通道,调度服务器通过该通道发送如下命令“chmod 700.ssh”更改任务服务器上.ssh目录的权限。若.ssh目录不存在,则执行“mkdir.ssh&&chmod 700.ssh”即先创建.ssh目录然后更改目录权限。通过更改.ssh目录的权限使得调度服务器具有向.ssh目录写入数据的权限。
调度服务器通过上述的“exec”类型的通道发送如下命令:
"echo\""+publicKey+"\"|cat>>~/.ssh/authorized_keys"+"&&chmod600~/.ssh/authorized_keys"+"\n"
其中,publicKey为密钥文件。通过该步即完成互信的添加。
该互信的过程只需建立一次即可。这里的密钥文件可以是私钥。
步骤205:获取定时任务的执行频率,执行步骤206。
具体地,该执行频率可以是在设置定时任务时已经配置,也可以是用户在调度服务器上安装需要配置的。
步骤206:判断定时任务的执行频率是否大于等于预设值,如果是,执行步骤207,否则,执行步骤208。
步骤207:在内存缓存建立的session连接。
步骤208:结束当前流程。
步骤209:在当前session连接上打开命令通道,通过命令通道向任务服务器发送执行定时任务的执行命令,以使任务服务器根据执行命令执行定时任务,执行步骤210。
具体地,调度服务器通过执行命令来触发定时任务。该执行命令可以是:"cd"+dir+"&&sh"+file+"\n",其中dir为定时任务对应的脚本在任务服务器上的路径,file为定时任务的shell脚本名称。
步骤210:根据任务结束条件,判断是否是最后一次执行定时任务,如果是,执行步骤211,否则,返回步骤202。
举例来说,任务结束条件为定时任务的执行次数大于等于预设次数。
该步骤包括:判断定时任务的执行次数是否大于等于预设次数,如果是,则确定是最后一次执行定时任务,执行步骤211,否则,确定不是最后一次执行定时任务,执行步骤202。
步骤211:判断内存中是否缓存有定时任务对应的session连接,如果是,执行步骤212,否则,执行步骤213。
步骤212:断开定时任务对应的session连接,并从内存中删除定时任务对应的session连接。
步骤213:断开定时任务对应的session连接。
另外,在执行步骤202之前,还可以包括:利用密钥文件和任务服务器建立一个session连接。在该session连接上打开一个“sftp”类型的通道,通过该通道判断给定的定时任务是否在任务服务器上,如果是,则执行后续的步骤202等步骤,否则,结束当前流程。
在本发明实施例中,该方法还可以包括:将定时任务的参数持久化到数据库中,并添加到Quartz框架的调度中。通过这些参数来监控定时任务的执行情况。通过Quartz框架可以实现该调度方法。
在本发明实施例中,调度服务器可以维护一个调度线程池,在需要触发定时任务时,从调度线程池中选择一个空闲线程负责处理该定时任务,直到该定时任务运行结束之后才释放对该线程的占用。也就是说,针对每个定时任务分配一个线程,通过该线程实现对应的定时任务的调度过程。
本发明实施例可以跨服务器调度定时任务,并能监控定时任务的运行情况,执行定时任务的时候不在担心session连接的失效以及频繁的去建立session连接,节省了服务器的内存资源和加速了任务的执行时间。同时本发明实施例是基于策略进行触发,能够对定时任务进行集中管理和调度。
本发明实施例能够加速执行触发策略的定时任务,能够做到节约网络资源开销和建立SSH连接的智能平衡。
另外,可以通过心跳机制来检测调度服务器和任务服务器是否正常,如果不正常则发送告警信号。
如图3、图4所示,本发明实施例提供了一种调度服务器。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种调度服务器所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种调度服务器,包括:
保存单元401,用于保存会话缓存策略和任务结束条件;
调度单元402,用于执行:
S1:判断内存中是否缓存有保存定时任务的任务服务器对应的会话session连接,如果是,则执行S2,否则,执行S3;
S2:调用内存中的所述session连接,将内存中的所述session连接作为当前session连接,执行S5;
S3:建立与所述任务服务器的session连接,执行S4,并将建立的所述session连接作为当前session连接,执行S5;
S4:根据所述会话缓存策略,判断是否需要在内存缓存建立的所述session连接,如果是,则在内存缓存建立的所述session连接;
S5:利用当前session连接执行所述定时任务,执行S6;
S6:根据所述任务结束条件,判断所述定时任务是否为最后一次执行,如果不是,则返回S1。
在本发明一实施例中,所述调度单元,在执行所述利用当前session连接执行所述定时任务时,具体用于在当前session连接上打开命令通道,通过所述命令通道向所述任务服务器发送执行所述定时任务的执行命令,以使所述任务服务器根据所述执行命令执行所述定时任务。
在本发明一实施例中,所述调度单元,进一步用于当判断出所述定时任务是最后一次执行时,执行:
判断内存中是否缓存有所述定时任务对应的session连接,如果是,则断开所述定时任务对应的session连接,并从内存中删除所述定时任务对应的session连接,否则,断开所述定时任务对应的session连接。
在本发明一实施例中,所述会话缓存策略包括:
当所述定时任务的执行频率大于等于预设值时,在内存缓存建立的所述session连接;
当所述定时任务的执行频率小于所述预设值时,不在内存缓存建立的所述session连接;
所述调度单元,在执行S4时,具体用于获取所述定时任务的执行频率;判断所述定时任务的执行频率是否大于等于所述预设值,如果是,则在内存缓存建立的所述session连接。
在本发明一实施例中,该调度服务器进一步包括:
轮询单元,用于实时轮询所述任务服务器通过所述当前session连接发出的所述定时任务的任务执行信息;
所述调度单元,在执行所述S6时,具体用于:
根据所述任务结束条件和所述任务执行信息,判断是否是最后一次执行所述定时任务,如果是,则停止运行所述轮询单元,否则,返回S1;
在本发明一实施例中,该调度服务器进一步包括:
检测单元,用于实时判断所述当前session连接是否断开,如果是,则输出所述当前session连接已断开的告警信息,并结束当前流程。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种定时任务的调度方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的执行指令,以使所述存储控制器执行本发明实施例提供的任意一种定时任务的调度方法。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,根据会话缓存策略,在判断出需要在内存缓存session连接时,将session连接缓存到内存中,在下次需要与任务服务器连接时,直接调用内存中缓存的session连接即可,无需重新建立session连接,降低了通讯开销。
2、在本发明实施例中,通过定时任务的执行频率的大小了来确定是否缓存session连接,当执行频率大于等于预设值时,说明执行频率较大,如果每次执行都重新建立session连接,通讯开销较大,这时,将session连接缓存在内存中,无需每次执行都重新建立,大大减少了通讯开销。
3、本发明实施例可以跨服务器调度定时任务,并能监控定时任务的运行情况,执行定时任务的时候不在担心session连接的失效以及频繁的去建立session连接,节省了服务器的内存资源和加速了任务的执行时间。同时本发明实施例是基于策略进行触发,能够对定时任务进行集中管理和调度。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种定时任务的调度方法,其特征在于,应用于调度服务器,
预先设置会话缓存策略和任务结束条件;
包括:
S1:判断内存中是否缓存有保存定时任务的任务服务器对应的会话session连接,如果是,则执行S2,否则,执行S3;
S2:调用内存中的所述session连接,将内存中的所述session连接作为当前session连接,执行S5;
S3:建立与所述任务服务器的session连接,执行S4,并将建立的所述session连接作为当前session连接,执行S5;
S4:根据所述会话缓存策略,判断是否需要在内存缓存建立的所述session连接,如果是,则在内存缓存建立的所述session连接;
S5:利用当前session连接执行所述定时任务,执行S6;
S6:根据所述任务结束条件,判断是否是最后一次执行所述定时任务,如果不是,则返回S1。
2.根据权利要求1所述的方法,其特征在于,
所述利用当前session连接执行所述定时任务,包括:
在当前session连接上打开命令通道,通过所述命令通道向所述任务服务器发送执行所述定时任务的执行命令,以使所述任务服务器根据所述执行命令执行所述定时任务。
3.根据权利要求1所述的方法,其特征在于,
进一步包括:
当判断出是最后一次执行所述定时任务时,执行:
判断内存中是否缓存有所述定时任务对应的session连接,如果是,则断开所述定时任务对应的session连接,并从内存中删除所述定时任务对应的session连接,否则,断开所述定时任务对应的session连接。
4.根据权利要求1所述的方法,其特征在于,
所述会话缓存策略包括:
当所述定时任务的执行频率大于等于预设值时,在内存缓存建立的所述session连接;
当所述定时任务的执行频率小于所述预设值时,不在内存缓存建立的所述session连接;
所述S4,包括:
获取所述定时任务的执行频率;
判断所述定时任务的执行频率是否大于等于所述预设值,如果是,则在内存缓存建立的所述session连接。
5.根据权利要求1-4中任一所述的方法,其特征在于,
进一步包括:
A1:实时轮询所述任务服务器通过所述当前session连接发出的所述定时任务的任务执行信息;
所述S6,包括:
根据所述任务结束条件和所述任务执行信息,判断是否是最后一次执行所述定时任务,如果是,则停止执行A1,否则,返回S1;
和/或,
进一步包括:
实时判断所述当前session连接是否断开,如果是,则输出所述当前session连接已断开的告警信息,并结束当前流程。
6.一种调度服务器,其特征在于,包括:
保存单元,用于保存会话缓存策略和任务结束条件;
调度单元,用于执行:
S1:判断内存中是否缓存有保存定时任务的任务服务器对应的会话session连接,如果是,则执行S2,否则,执行S3;
S2:调用内存中的所述session连接,将内存中的所述session连接作为当前session连接,执行S5;
S3:建立与所述任务服务器的session连接,执行S4,并将建立的所述session连接作为当前session连接,执行S5;
S4:根据所述会话缓存策略,判断是否需要在内存缓存建立的所述session连接,如果是,则在内存缓存建立的所述session连接;
S5:利用当前session连接执行所述定时任务,执行S6;
S6:根据所述任务结束条件,判断所述定时任务是否为最后一次执行,如果不是,则返回S1。
7.根据权利要求6所述的调度服务器,其特征在于,
所述调度单元,在执行所述利用当前session连接执行所述定时任务时,具体用于在当前session连接上打开命令通道,通过所述命令通道向所述任务服务器发送执行所述定时任务的执行命令,以使所述任务服务器根据所述执行命令执行所述定时任务。
8.根据权利要求6所述的调度服务器,其特征在于,
所述调度单元,进一步用于当判断出所述定时任务是最后一次执行时,执行:
判断内存中是否缓存有所述定时任务对应的session连接,如果是,则断开所述定时任务对应的session连接,并从内存中删除所述定时任务对应的session连接,否则,断开所述定时任务对应的session连接。
9.根据权利要求6所述的调度服务器,其特征在于,
所述会话缓存策略包括:
当所述定时任务的执行频率大于等于预设值时,在内存缓存建立的所述session连接;
当所述定时任务的执行频率小于所述预设值时,不在内存缓存建立的所述session连接;
所述调度单元,在执行S4时,具体用于获取所述定时任务的执行频率;判断所述定时任务的执行频率是否大于等于所述预设值,如果是,则在内存缓存建立的所述session连接。
10.根据权利要求6-9中任一所述的调度服务器,其特征在于,
进一步包括:
轮询单元,用于实时轮询所述任务服务器通过所述当前session连接发出的所述定时任务的任务执行信息;
所述调度单元,在执行所述S6时,具体用于:
根据所述任务结束条件和所述任务执行信息,判断是否是最后一次执行所述定时任务,如果是,则停止运行所述轮询单元,否则,返回S1;
和/或,
进一步包括:
检测单元,用于实时判断所述当前session连接是否断开,如果是,则输出所述当前session连接已断开的告警信息,并结束当前流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711136626.5A CN107797859B (zh) | 2017-11-16 | 2017-11-16 | 一种定时任务的调度方法及一种调度服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711136626.5A CN107797859B (zh) | 2017-11-16 | 2017-11-16 | 一种定时任务的调度方法及一种调度服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107797859A true CN107797859A (zh) | 2018-03-13 |
CN107797859B CN107797859B (zh) | 2021-08-20 |
Family
ID=61535323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711136626.5A Active CN107797859B (zh) | 2017-11-16 | 2017-11-16 | 一种定时任务的调度方法及一种调度服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107797859B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109451041A (zh) * | 2018-12-10 | 2019-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种ssh链接连接方法、装置、设备及存储介质 |
CN109857533A (zh) * | 2019-01-23 | 2019-06-07 | 深圳智链物联科技有限公司 | 一种定时任务调度方法、装置及智能终端 |
CN110162392A (zh) * | 2019-05-29 | 2019-08-23 | 北京达佳互联信息技术有限公司 | 周期性任务的执行方法、装置、电子设备及存储介质 |
CN112817717A (zh) * | 2021-01-28 | 2021-05-18 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN113596116A (zh) * | 2021-07-13 | 2021-11-02 | 成都安恒信息技术有限公司 | 一种运维审计系统ssh会话恢复的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005006666A1 (en) * | 2003-07-10 | 2005-01-20 | Nokia Corporation | Adaptive connection cache for communication networks |
CN101765228A (zh) * | 2010-01-29 | 2010-06-30 | 杭州华三通信技术有限公司 | 一种capwap隧道的恢复方法及装置 |
CN102055771A (zh) * | 2011-01-24 | 2011-05-11 | 上海红神信息技术有限公司 | 面向云服务的多并发业务流控制装置及控制方法 |
CN102739720A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 |
US8539504B2 (en) * | 2007-08-30 | 2013-09-17 | International Business Machines Corporation | Heterogeneous architecture in pooling management |
CN104580226A (zh) * | 2015-01-15 | 2015-04-29 | 上海瀚之友信息技术服务有限公司 | 一种共享会话数据的系统和方法 |
CN105141676A (zh) * | 2015-08-11 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种多服务器下的会话保持共享方法及系统 |
CN105224694A (zh) * | 2015-11-10 | 2016-01-06 | 中国建设银行股份有限公司 | 一种汇总信息查询方法、装置及系统 |
US20170223053A1 (en) * | 2016-01-29 | 2017-08-03 | Citrix Systems, Inc. | System and method of pre-establishing ssl session connections for faster ssl connection establishment |
-
2017
- 2017-11-16 CN CN201711136626.5A patent/CN107797859B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005006666A1 (en) * | 2003-07-10 | 2005-01-20 | Nokia Corporation | Adaptive connection cache for communication networks |
US8539504B2 (en) * | 2007-08-30 | 2013-09-17 | International Business Machines Corporation | Heterogeneous architecture in pooling management |
CN101765228A (zh) * | 2010-01-29 | 2010-06-30 | 杭州华三通信技术有限公司 | 一种capwap隧道的恢复方法及装置 |
CN102055771A (zh) * | 2011-01-24 | 2011-05-11 | 上海红神信息技术有限公司 | 面向云服务的多并发业务流控制装置及控制方法 |
CN102739720A (zh) * | 2011-04-14 | 2012-10-17 | 中兴通讯股份有限公司 | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 |
CN104580226A (zh) * | 2015-01-15 | 2015-04-29 | 上海瀚之友信息技术服务有限公司 | 一种共享会话数据的系统和方法 |
CN105141676A (zh) * | 2015-08-11 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种多服务器下的会话保持共享方法及系统 |
CN105224694A (zh) * | 2015-11-10 | 2016-01-06 | 中国建设银行股份有限公司 | 一种汇总信息查询方法、装置及系统 |
US20170223053A1 (en) * | 2016-01-29 | 2017-08-03 | Citrix Systems, Inc. | System and method of pre-establishing ssl session connections for faster ssl connection establishment |
Non-Patent Citations (2)
Title |
---|
周京晖: "集成消息服务和定时通知的分布式内存数据库", 《软件》 * |
张汀汀: "基于P2P资源传输的流媒体系统的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109451041A (zh) * | 2018-12-10 | 2019-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种ssh链接连接方法、装置、设备及存储介质 |
CN109857533A (zh) * | 2019-01-23 | 2019-06-07 | 深圳智链物联科技有限公司 | 一种定时任务调度方法、装置及智能终端 |
CN110162392A (zh) * | 2019-05-29 | 2019-08-23 | 北京达佳互联信息技术有限公司 | 周期性任务的执行方法、装置、电子设备及存储介质 |
CN112817717A (zh) * | 2021-01-28 | 2021-05-18 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN112817717B (zh) * | 2021-01-28 | 2024-02-09 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN113596116A (zh) * | 2021-07-13 | 2021-11-02 | 成都安恒信息技术有限公司 | 一种运维审计系统ssh会话恢复的方法 |
CN113596116B (zh) * | 2021-07-13 | 2024-02-06 | 成都安恒信息技术有限公司 | 一种运维审计系统ssh会话恢复的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107797859B (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107797859A (zh) | 一种定时任务的调度方法及一种调度服务器 | |
CN110535831A (zh) | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 | |
TWI453624B (zh) | 資訊安全防護主機 | |
WO2015188579A1 (zh) | 分布式虚拟防火墙装置、方法及防火墙控制器 | |
CN104219316A (zh) | 一种分布式系统中的调用请求处理方法及装置 | |
CN106911648B (zh) | 一种环境隔离方法及设备 | |
CN108616429A (zh) | 一种推送服务的重连方法及设备 | |
CN108063813B (zh) | 一种集群环境下密码服务网络并行化的方法与系统 | |
CN111367693B (zh) | 基于消息队列调度插件任务的方法、系统、设备及介质 | |
CN111800462A (zh) | 微服务实例处理方法、装置、计算机设备及存储介质 | |
CN104639650A (zh) | 一种细粒度分布式接口访问控制方法及装置 | |
CN110210845B (zh) | 用于区块链数据迁移的方法、装置、介质和计算设备 | |
CN114928579B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
US10192262B2 (en) | System for periodically updating backings for resource requests | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN108255585A (zh) | Sdk异常控制及应用程序运行方法、装置及其设备 | |
CN111061685A (zh) | 日志查询方法、装置、节点设备及存储介质 | |
CN103618762A (zh) | 一种基于aop的企业服务总线状态预处理系统及方法 | |
CN106326736A (zh) | 数据处理方法及系统 | |
US10013237B2 (en) | Automated approval | |
CN113420007B (zh) | 数据库访问的审计处理方法、装置及电子设备 | |
CN102523107B (zh) | 均衡网管系统服务端和客户端运算压力的方法及装置 | |
CN107368326A (zh) | 进程控制方法和装置 | |
CN113791792A (zh) | 应用调用信息的获取方法、设备以及存储介质 | |
WO2020006896A1 (zh) | 余额监控方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |