一种任务调度方法、装置、介质和电子设备与流程

文档序号:15981086发布日期:2018-11-17 00:20阅读:178来源:国知局

本发明涉及信息处理技术领域,尤其涉及一种基于redis缓存的quartz集群实现的任务调度方法、装置、介质和电子设备。

背景技术

quartz是一个完全由java编写的开源任务调度框架,通过触发器(trigger)设置任务(job)的定时运行规则,控制任务的运行时间。quartz集群通过故障切换和负载平衡的功能,能给任务调度器(scheduler)带来高可用性和伸缩性。

目前,现有的quartz集群依赖关系型数据库,需要单独安装部署关系型数据库,而部署依赖于关系型数据库的quartz集群非常复杂,开发过程比较漫长,维护成本比较高。

因此,如何简化quartz集群部署,解放依赖复杂的关系型数据库,让业务系统快速部署quartz集群成为当前亟需解决的一个技术问题。



技术实现要素:

有鉴于此,本发明提供一种任务调度方法、装置、介质和电子设备,以redis缓存代替关系型数据库实现quartz集群。技术方案如下:

基于本发明实施例的一方面,本发明实施例提供一种任务调度方法,应用于基于redis缓存的quartz集群中,所述redis缓存用于存储各个任务的任务运行信息,以及存储所述quartz集群中各个节点分别对应的任务执行统计信息,所述方法包括:

当监测到目标任务需要执行时,从所述redis缓存中获取所述目标任务的任务运行信息;

依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;

如果所述目标任务可执行,则从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;

在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新。

可选地,所述目标任务的任务运行信息包括所述目标任务的任务状态信息,依据所述目标任务的任务运行信息,判断所述目标任务可执行包括:

当依据所述目标任务的任务状态信息确定所述目标任务的任务状态为待执行状态时,判断所述目标任务可执行。

可选地,所述目标节点对应的任务执行统计信息包括所述目标节点执行所述目标任务的统计数,则所述目标节点对应的任务执行统计信息满足预设条件,包括:

在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。

可选地,所述在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新,包括:

在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。

可选地,如果在对应所述目标任务的多个节点中,存在至少两个节点执行所述目标任务的统计数的数值最小,则所述确定执行所述目标任务的目标节点包括:

从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一个节点,该命中的节点作为所述目标节点。

可选地,所述方法还包括:

当监测到有新的节点加入至执行所述目标任务的队列后,将所述redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零。

可选地,所述方法还包括:

依据各个节点更新任务执行统计信息的更新时间,判断各个节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值;

如果第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔大于预设阈值,确定所述第一节点异常,不再为其分配任务,并将所述第一节点对应的任务执行统计信息清零;

其中,所述第一节点为所述quartz集群中的任意一个节点。

基于本发明实施例的另一方面,本发明实施例提供一种任务调度装置,应用于基于redis缓存的quartz集群中,所述redis缓存用于存储各个任务的任务运行信息,以及存储所述quartz集群中各个节点分别对应的任务执行统计信息;所述装置包括:

获取单元,用于当监测到目标任务需要执行时,从所述redis缓存中获取所述目标任务的任务运行信息;

判断单元,用于依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;

确定单元,用于在所述判断单元判断所述目标任务可执行时,从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;

更新单元,用于在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新。

基于本发明实施例的再一方面,本发明实施例提供一种存储介质,其上存储有程序,所述程序被处理器执行时实现前文所述的任务调度方法。

基于本发明实施例的再一方面,本发明实施例提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行前文所述的任务调度方法。

本发明实施例提供的任务调度方法、装置、介质和电子设备,应用于基于redis缓存的quartz集群中,本发明实施例利用redis缓存代替关系型数据库实现quartz集群,简化了quartz集群部署,解放了依赖复杂的关系型数据库,让业务系统快速部署quartz集群,保证业务系统功能不间断。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种任务调度方法的流程图;

图2为本发明实施例提供的另一种任务调度方法的流程图;

图3为本发明实施例提供的再一种任务调度方法的流程图;

图4为本发明实施例提供的一种任务调度装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,其示出了本发明实施例提供的一种任务调度方法的流程图,本发明实施例提供的任务调度方法具体应用于基于redis缓存的quartz集群中,所述redis缓存用于存储各个任务的任务运行信息,以及存储所述quartz集群中各个节点分别对应的任务执行统计信息。所述方法包括:

步骤101,当监测到目标任务需要执行时,从所述redis缓存中获取所述目标任务的任务运行信息。

本发明实施例中的任务包括定时任务,定时任务如定时发送信息、定时生成报表等。任务的任务运行信息可以包括用于标识任务的id号、任务的任务状态信息,如待执行状态、已执行状态、执行状态中等。对于每一个任务,都对应有至少一个节点可以执行该任务,比如任务a对应节点1至节点10,即该10个节点均可执行任务a。

以目标任务具体为每天早7点向会员发送天气预报短信为例,在实际应用过程中,每当到达早7点时刻,向会员发送天气预报短信的任务便需要执行,此时便监测到该需要执行的向会员发送天气预报短信的目标任务,从而进一步从redis缓存中获取该目标任务的任务运行信息。

步骤102,依据所述目标任务的任务运行信息,判断所述目标任务是否可执行。如果可执行,执行步骤103,如果不可执行,执行步骤104。

现有的quartz集群在实现任务调度时,对于待执行的目标任务,其对应的所有能够执行该目标任务的节点都会执行一次该目标任务。举例来说,目标任务b对应节点1、节点2、节点3和节点4,那么在监测到目标任务b需要执行时,节点1、节点2、节点3和节点4都会执行一次目标任务b,因此现有的quartz集群存在任务重复执行的问题。

针对此,本发明实施例首先从redis缓存中获取目标任务的任务运行信息,进而依据目标任务的任务运行信息,判断目标任务是否可执行。本发明实施例中,任务可执行说明任务还未执行过,因此本次任务可以被执行;而任务不可执行说明任务已经被其他节点执行过至少一次,为了避免任务的重复执行,故确定本次任务不可执行。

具体地,本发明实施例可以根据目标任务的任务状态信息判断目标任务是否可执行。其中,当依据目标任务的任务状态信息确定目标任务的任务状态为待执行状态时,可以判断该目标任务未执行过,由此确定该目标任务可执行;当依据目标任务的任务状态信息确定目标任务的任务状态为已执行状态或执行状态中时,可以判断该目标任务已执行过,由此确定不再执行该目标任务,从而保证目标任务在quartz集群中只执行一次。

步骤103,确定不执行所述目标任务。

本发明实施例中,当依据目标任务的任务状态信息确定目标任务的任务状态为已执行状态或执行状态中时,可以判断该目标任务已执行过。为了避免同一任务在quartz集群中重复执行,本发明实施例确定不再执行该目标任务。

步骤104,从对应所述目标任务的至少一个节点中,确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件。

具体地,本发明实施例可以采用负载均衡算法计算出用于执行所述目标任务的目标节点,从而确定在哪个节点上运行所述目标任务。

本发明实施例中,当依据目标任务的任务状态信息确定目标任务的任务状态为未执行状态时,可以判断该目标任务可执行,由此本发明实施例进一步确定执行该目标任务的目标节点。其中所述目标节点对应的任务执行统计信息满足预设条件。

具体地,本发明实施例从redis缓存中获取与该目标任务对应的各个节点的任务执行统计信息,所述任务执行统计信息包括节点执行该目标任务的统计数,所述统计数表明了该节点历史执行所述目标任务的总次数。所确定的目标节点对应的任务执行统计信息满足预设条件具体为在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。

举例来说,假设当前待执行的目标任务为任务c,任务c对应的节点包括节点1、节点2和节点3,redis缓存中存储了节点1执行该任务c的统计数10次,节点2执行该任务c的统计数9次,节点3执行该任务c的统计数8次。本发明实施例通过比较redis缓存中存储的节点1、节点2、节点3分别对应的执行该任务c的统计数,可以确定当前节点3执行该任务c的统计数最小,因此本发明实施例在对应任务c的节点1、节点2和节点3中,选择并确定统计数数值最小的节点3作为执行任务c的目标节点。

可选地,本发明实施例在确定目标节点时,还可以将节点当前的负载能力作为一个参考指标,比如,从对应所述目标任务的多个节点中,确定执行目标任务的统计数的数值最小和/或节点当前的负载能力最大的节点作为目标节点,或,综合考量各个节点执行目标任务的统计数以及当前的负载能力,从中选择一个目标节点。

在本发明实施例的实际应用过程中,在对应所述目标任务的多个节点中,可能存在多个节点执行所述目标任务的统计数的数值都是最小的情况,仍以前述目标任务为任务c,任务c对应的节点包括节点1、节点2和节点3为例,假设redis缓存中存储了节点1执行该任务c的统计数10次,节点2执行该任务c的统计数9次,节点3执行该任务c的统计数9次,而通过比较redis缓存中存储的节点1、节点2、节点3分别对应的执行该任务c的统计数,可以确定出当前节点2和节点3执行该任务c的统计数都是最小值。

针对此情况,本发明实施例进一步提出,从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一个节点,该命中的节点作为所述目标节点,而未命中的节点则继续等待下一轮的任务执行,从而保证目标任务在quartz集群中只执行一次。

具体地,仍以前述“节点1执行任务c的统计数10次,节点2执行任务c的统计数9次,节点3执行任务c的统计数9次”为例进行说明,本发明实施例通过锁定方式从节点2和节点3中命中其中任意一个节点,假设命中节点2,那么本发明实施例将该命中的节点2作为执行任务c的目标节点。

步骤105,在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新。

本发明实施例中,当监测到目标节点执行所述目标任务后,将redis缓存中对应所述目标节点的任务执行统计信息进行更新。具体地,本发明实施例在监测到所述目标节点执行所述目标任务后,将redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。

仍以前述“节点1执行任务c的统计数10次,节点2执行任务c的统计数9次,节点3执行任务c的统计数9次,命中节点2执行任务c”为例,本发明实施例在监测到节点2执行任务c后,将redis缓存中对应节点2的执行任务c的统计数9加1。

本发明实施例提供的任务调度方法应用于基于redis缓存的quartz集群中,本发明实施例利用redis缓存代替关系型数据库实现quartz集群,简化了quartz集群部署,解放了依赖复杂的关系型数据库,让业务系统快速部署quartz集群,保证业务系统功能不间断。

在前述实施例的基础上,本发明实施例还提供了一种任务调度方法,如图2所示,方法可以包括:

步骤201,监测是否有新的节点加入至执行所述目标任务的队列。如果有,执行步骤202,否则继续执行步骤201。

具体地,本发明实施例可以采用实时监测或周期性监测的方式,监测是否有新的节点加入至执行所述目标任务的队列。

步骤202,将所述redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零。

当监测到有新的节点加入至执行所述目标任务的队列时,本发明实施例将redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零。

具体例如,目标任务为任务d,执行任务d的节点包括节点1、节点2、节点3、节点4,其中redis缓存中存储的节点1对应的任务执行统计信息为10次,节点2对应的任务执行统计信息为11次、节点3对应的任务执行统计信息为10次、节点4对应的任务执行统计信息为11次。

当有新的节点5加入至执行任务d的队列时,由于节点5执行任务d的任务执行统计信息为0,后续任务d的执行工作将会全部集中到节点5,为了避免后续任务d全部集中到节点5导致负载不均衡,本发明实施例将redis缓存中存储的节点1、节点2、节点3、节点4分别对应的执行任务d的任务执行统计信息全部清零,从而保证所有节点的负载均衡。

在前述实施例的基础上,本发明实施例还提供了一种任务调度方法,如图3所示,方法可以包括:

步骤301,获取第一节点更新任务执行统计信息的更新时间。

所述第一节点为基于redis缓存的quartz集群中的任意一个节点。

在本发明实施例中,每当节点执行某个任务时,便同时记录该节点执行任务的时间,也即节点更新任务执行统计信息的更新时间,从而本发明实施例可以通过获取各个节点更新任务执行统计信息的更新时间,获知各个节点最后一次更新任务执行统计信息的更新时间。

步骤302,依据第一节点更新任务执行统计信息的更新时间,判断第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值。如果大于,执行步骤303,如果不大于,可以返回步骤301,也可继续获取下一节点更新任务执行统计信息的更新时间,继续执行对下一节点是否发生异常的判断。

其中预设阈值例如为30分钟、1小时等,其值大小可根据实际需要灵活设定,本发明实施例不对其进行限制。

步骤303,确定所述第一节点异常,不再为其分配任务,并将所述第一节点对应的任务执行统计信息清零。

本发明实施例中,当某个节点长时间没有执行任务时,通常该节点发生了异常,而对于发生异常的节点,其不能在正常执行任务,应当及时删除该节点。因此,本发明实施例通过判断节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值,来确定节点是否发生异常。以第一节点为例,第一节点为quartz集群中的任意一个节点,当该第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔大于预设阈值时,确定该第一节点异常,不再为其分配任务,并将该第一节点对应的任务执行统计信息清零。

基于前文本发明实施例提供的一种任务调度方法,本发明实施例还提供一种任务调度装置,如图4所示。该装置具体应用于基于redis缓存的quartz集群中,所述redis缓存用于存储各个任务的任务运行信息,以及存储所述quartz集群中各个节点分别对应的任务执行统计信息;所述装置可以包括:

获取单元100,用于当监测到目标任务需要执行时,从所述redis缓存中获取所述目标任务的任务运行信息;

判断单元200,用于依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;

确定单元300,用于在所述判断单元200判断所述目标任务可执行时,从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;

更新单元400,用于在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新。

具体在本发明实施例中,所述目标任务的任务运行信息可以包括所述目标任务的任务状态信息,所述判断单元200具体用于,当依据所述目标任务的任务状态信息确定所述目标任务的任务状态为待执行状态时,判断所述目标任务可执行。

所述目标节点对应的任务执行统计信息可以包括所述目标节点执行所述目标任务的统计数,则本发明实施例中目标节点对应的任务执行统计信息满足预设条件可以为,在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。

本发明实施例中,更新单元400可以具体用于在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。

本发明实施例中,如果在对应所述目标任务的多个节点中,存在至少两个节点执行所述目标任务的统计数的数值最小,则所述确定单元300具体用于,从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一个节点,该命中的节点作为所述目标节点。

进一步可选地,本发明实施例提供的任务调度装置还可以包括:

清零单元,用于当监测到有新的节点加入至执行所述目标任务的队列后,将所述redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零;以及,

时间间隔判断单元,用于依据各个节点更新任务执行统计信息的更新时间,判断各个节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值;

异常确定单元,用于在所述时间间隔判断单元判断第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔大于预设阈值时,确定所述第一节点异常,不再为其分配任务。

此时所述清零单元还用于,将所述第一节点对应的任务执行统计信息清零;其中,所述第一节点为所述quartz集群中的任意一个节点。

所述任务调度装置包括处理器和存储器,上述获取单元100、判断单元200、确定单元300和更新单元400等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

由于本发明的示例实施例的任务调度装置的各个功能模块与上述任务调度方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的任务调度方法的实施例。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现任务调度。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述任务调度方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述任务调度方法。

本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:

当监测到目标任务需要执行时,从所述redis缓存中获取所述目标任务的任务运行信息;

依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;

如果所述目标任务可执行,则从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;

在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新。

可选地,所述目标任务的任务运行信息包括所述目标任务的任务状态信息,依据所述目标任务的任务运行信息,判断所述目标任务可执行包括:

当依据所述目标任务的任务状态信息确定所述目标任务的任务状态为待执行状态时,判断所述目标任务可执行。

可选地,所述目标节点对应的任务执行统计信息包括所述目标节点执行所述目标任务的统计数,则所述目标节点对应的任务执行统计信息满足预设条件,包括:

在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。

可选地,所述在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新,包括:

在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。

可选地,如果在对应所述目标任务的多个节点中,存在至少两个节点执行所述目标任务的统计数的数值最小,则所述确定执行所述目标任务的目标节点包括:

从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一个节点,该命中的节点作为所述目标节点。

可选地,所述方法还包括:

当监测到有新的节点加入至执行所述目标任务的队列后,将所述redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零。

可选地,所述方法还包括:

依据各个节点更新任务执行统计信息的更新时间,判断各个节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值;

如果第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔大于预设阈值,确定所述第一节点异常,不再为其分配任务,并将所述第一节点对应的任务执行统计信息清零;

其中,所述第一节点为所述quartz集群中的任意一个节点。

本文中的设备可以是服务器、pc、pad、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

当监测到目标任务需要执行时,从所述redis缓存中获取所述目标任务的任务运行信息;

依据所述目标任务的任务运行信息,判断所述目标任务是否可执行;

如果所述目标任务可执行,则从对应所述目标任务的至少一个节点中确定执行所述目标任务的目标节点,其中所述目标节点对应的任务执行统计信息满足预设条件;

在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新。

可选地,所述目标任务的任务运行信息包括所述目标任务的任务状态信息,依据所述目标任务的任务运行信息,判断所述目标任务可执行包括:

当依据所述目标任务的任务状态信息确定所述目标任务的任务状态为待执行状态时,判断所述目标任务可执行。

可选地,所述目标节点对应的任务执行统计信息包括所述目标节点执行所述目标任务的统计数,则所述目标节点对应的任务执行统计信息满足预设条件,包括:

在对应所述目标任务的至少一个节点中,所述目标节点执行所述目标任务的统计数的数值最小。

可选地,所述在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的任务执行统计信息进行更新,包括:

在监测到所述目标节点执行所述目标任务后,将所述redis缓存中对应所述目标节点的执行所述目标任务的统计数加1。

可选地,如果在对应所述目标任务的多个节点中,存在至少两个节点执行所述目标任务的统计数的数值最小,则所述确定执行所述目标任务的目标节点包括:

从执行所述目标任务的统计数的数值最小的至少两个节点中,通过锁定方式命中其中一个节点,该命中的节点作为所述目标节点。

可选地,所述方法还包括:

当监测到有新的节点加入至执行所述目标任务的队列后,将所述redis缓存中存储的执行所述目标任务的各个节点分别对应的任务执行统计信息清零。

可选地,所述方法还包括:

依据各个节点更新任务执行统计信息的更新时间,判断各个节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔是否大于预设阈值;

如果第一节点最后一次更新任务执行统计信息的更新时间距离当前时间的时间间隔大于预设阈值,确定所述第一节点异常,不再为其分配任务,并将所述第一节点对应的任务执行统计信息清零;

其中,所述第一节点为所述quartz集群中的任意一个节点。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1