任务调度方法及系统、任务系统与流程

文档序号:19878643发布日期:2020-02-08 06:43阅读:284来源:国知局
任务调度方法及系统、任务系统与流程

本发明涉及互联网技术领域,尤其涉及一种任务调度方法及系统、任务系统。



背景技术:

hangfire是一个开源的任务调度系统,其可以调度立即运行、延迟执行和周期执行的任务。

hangfire主要包括应用程序接口(restapis)、数据库(jobstorage)和服务端(hangfireserver)。其中,业务系统通过hangfire的应用程序接口向hangfire注入任务,hangfire将任务序列化存储到数据库中。

hangfire的服务端存储有用于执行任务的应用程序,服务端从数据库扫描任务并进行任务调度,当一任务达到执行时间时利用应用程序来执行任务。

目前,hangfire的服务端中任务调度过程和任务执行过程均在服务端的程序中执行,也即hangfire中任务调度过程和任务执行过程聚合在一起,这导致任务调度系统不够通用化。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的任务调度方法及系统、任务系统。

为了解决上述问题,提供下述技术特征:

一种任务调度方法,应用于任务调度系统,所述任务调度方法包括:

响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;

在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;

通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。

可选的,所述第二应用程序集成于所述客户服务器中。

可选的,所述构建任务并保存任务信息包括:

在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;

在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;

所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。

可选的,所述任务包括任务类别标识和任务标识;

所述任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;

其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。

可选的,所述执行参数信息还包括:

请求所述第二应用程序的应用程序接口的方式;

向第二应用程序发送任务执行请求中请求头需传入的参数;

向第二应用程序发送任务执行请求中请求体需传入的信息;

返回函数,用于在第二应用程序发送反馈结果后,回调第一应用程序的应用程序接口,通知第一应用程序反馈结果。

可选的,所述在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口,包括:

在所述已有数据表中扫描任务,将达到执行时间的任务添加到任务执行队列中;

从所述任务执行队列中获取任务,通过任务与任务信息的关联关系确定与任务对应的任务信息;

从所述任务信息中提取所述第二应用程序的应用程序接口。

可选的,在通过所述应用程序接口向所述第二应用程序发送任务执行请求之后,还包括:

接收所述第二应用程序发送的反馈结果;

利用所述返回函数向所述第一应用程序发送所述反馈结果。

一种处理器,包括:

所述处理器,用于执行如权利要求所述任务调度方法。

一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,实现所述任务调度方法的各步骤。

一种任务调度系统,包括:

接口服务器,用于提供客户服务器调用任务调度系统的应用程序接口;

数据库服务器,用于响应于客户服务器中第一应用程序通过应用程序接口发送的任务构建请求,构建任务并保存任务信息;

调度服务器,用于在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。

借由上述技术方案,本发明提出由任务调度系统继续来执行任务调度过程,由位于任务调度系统之外应用程序(权利要求中的第二应用程序)来执行任务,从而使得任务调度系统中的任务调度过程与任务执行过程解耦分离。

由于任务调度系统仅用于任务调度过程,使得任务调度系统的职责更加单一,仅作为一个任务触发器,只负责按需(立即、延迟,周期)触发任务,这使得任务调度系统的任务调度更加通用化,满足不同业务系统的调度需求。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1a-1c示出了任务系统的结构示意图;

图2示出了任务调度系统的流程图;

图3示出了任务调度装置的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参见图1a,本申请提供了任务系统实施例一。

任务系统包括:多个客户服务器100、任务调度系统200和执行服务器300;其中执行服务器300设置有与多个任务一一对应的多个应用程序。

参见图1b,本申请提供了任务系统的实施例二。

任务系统包括:多个客户服务器100、任务调度系统200和多个执行服务器300;其中,每个执行服务器300设置有一个任务对应的应用程序。

参见图1c,本申请提供了任务系统的实施例三。

任务系统包括多个客户服务器100和任务调度系统200。其中,每个客户服务器100中设置与任务对应的应用程序。

在图1a-图1c中任务调度系统200包括接口服务器201,与接口服务器201相连的数据库服务器202和与数据库服务器202相连的一个或多个调度服务器203。

为了将任务调度系统200中任务调度过程与任务执行过程解耦分离,本申请不再在任务调度系统200的调度服务器中设置应用程序,而是在任务调度系统之外设置用于执行任务的应用程序。参见图1a和图1b在执行服务器300中设置应用程序,参见图1c在客户服务器100中设置应用程序。

在图1a-图1c的实施例中,可以由任务调度系统200来执行任务调度,由任务调度系统200之外的应用程序来执行任务,从而将任务调度中的任务调度与任务解耦分离。

本发明使得任务调度系统的职责更加单一,仅作为一个任务触发器,只负责按需(立即、延迟,周期)触发任务,然后任务调度系统之外的应用程序来执行任务,这使得任务调度系统的任务调度更加通用化,满足不同业务系统的调度需求。

可以理解的是,在多个业务系统复用任务调度系统的场景下,图1a中的执行服务器300包括与多个业务系统一一对应的多个应用程序,在多个任务调度执行过程中不同业务系统对应的应用程序聚合在一起,会导致不同业务系统耦合在一起。

为此,本申请又提供了任务系统实施例二和实施例三,在实施例二中采用不同的执行服务器来分离不同业务系统对应的应用程序,在实施例三中采用不同的客户服务器来分离不同业务系统对应的应用程序,从而避免多个业务系统的应用程序耦合在一起,从而利于应用程序的维护。

本申请提供了一种任务调度方法,应用于图1a-图1c所示的任务系统。参见图2包括以下步骤:

步骤101:客户服务器100集成的第一应用程序确定任务参数以及用于执行任务的第二应用程序。

第一应用程序确定需要添加至任务调度系统中的任务参数,以及,根据图1a、图1b或1c的任务系统设置执行任务的第二应用程序,并确定第二应用程序的应用程序接口。

步骤s102:第一应用程序向任务调度系统发送任务构建请求。

参见图1a-图1c可知,任务调度系统包括接口服务器201,接口服务器201用于维护应用程序接口api,以供其它应用程序使用。

第一应用程序调用任务调度系统200的接口服务器201提供的应用程序接口,向任务调度系统200发送任务构建请求,以向任务调度系统200注入任务。

第一应用程序发送的任务构建请求包括该任务的任务参数,任务参数包括任务标识,用于执行任务的第二应用程序的应用程序接口,用于表示任务执行方式的任务类别标识,第一应用程序的应用程序标识,请求第二应用程序的应用程序接口的方式等等一些任务参数。当然还可以根据实际情况添加其它任务参数,在此不做限定。

任务调度系统提供四种任务类别:fire-and-forget用于将任务放入到一个持久化的队列中,以便程序可以继续执行;delayed用于在未来的一个时间点执行任务;recurring用于可重复执行的任务;continuations用于将多个任务连接成类似工作流的形式顺序执行。上述任务类别标识为其中一种。

步骤s103:任务调度系统响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息。其中,所述任务信息包括用于执行所述任务的第二应用程序的应用程序接口,且,所述第二应用程序位于所述任务调度系统之外。

构建任务并保存任务信息可以包括:在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;且,所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。

下面详细描述构建任务并保存任务信息的过程:

接口服务器201接收任务构建请求后,从任务参数中提取任务类别标识(为了便于描述采用key表示)和任务标识(为了便于描述采用value表示);然后发送给数据库服务器202,以供数据库服务器202在已有数据表中构建任务。

任务调度系统自身会生成hangfire程序框架表,hangfire程序框架表可以包括aggregatedcounter、counter、distributedlock、hash、job、jobparameter、jobqueue、jobstate、list、server、set、state;可以理解的是,不同表格具有不同作用。其中set数据表用于存储构建的任务。

数据库服务器202在已有set数据表中构建任务,并采用第一预设结构来构建任务;任务包括任务类别标识和任务标识。

第一预设存储结构如下所示:

本实施例数据库服务器的hangfire程序框架表之外,也即已有数据表之外扩展一数据表,称为扩展数据表(可以采用externaljob表示),用于存储该任务的任务信息。

数据库服务器202采用第二预设结构来保存任务信息。任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。

第一预设存储结构如下所示:

在数据库服务器202中set数据表和扩展数据表均包含任务标识,两者数据表通过任务标识相关联。

步骤s104:调度服务器203在任务调度过程中确定所述任务达到执行时间情况下,从所述任务的任务信息中提取所述第二应用程序的应用程序接口。

步骤1:调度服务器203在所述已有数据表中扫描任务,将达到执行时间的任务添加到任务执行队列中。

调度服务器203可以定时扫描或者按照一定规则来扫描hangfire.set数据表,并将其中达到执行时间的任务添加到任务执行队列(jobqueue)中。此过程中即为调度服务器203的任务调度过程,该过程为已为成熟技术,在此不再赘述。

步骤2:调度服务器203从所述任务执行队列中获取任务,通过任务与任务信息的关联关系确定与任务对应的任务信息。

由于已有数据表hangfire.set与扩展数据表通过externaljob通过任务标识关联,也即hangfire.set中的value与externaljob中的externaljobid的数据内容一致。在任务执行队列中获取任务的任务标识value,并在扩展数据表中查找数据内容一致的externaljobid对应的externaljob,externaljob即为与任务对应的任务信息。

步骤3:从任务信息中提取所述第二应用程序的应用程序接口。

从任务信息externaljob中提取taskargs中的api,即为第二应用程序的应用程序接口。

接步骤s104进入步骤s105:调度服务器203通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。

调度服务器203构建任务执行请求,利用任务信息的taskargs中headers(任务执行请求中请求头需传入的参数)构建请求头,利用body(任务执行请求中请求体需传入的信息)构建请求体,从而构建任务执行请求。

然后,通过第二应用程序的应用程序接口,按照任务信息中请求第二应用程序的应用程序接口的方式method(get方式或者post方式)来向第二应用发送任务执行请求。

步骤s106:任务调度系统之外的第二应用接收并执行任务执行请求获得反馈结果。

步骤s107:第二应用程序发送反馈结果至调度服务器。

步骤s108:调度服务器利用返回函数向所述第一应用程序发送所述反馈结果。

调度服务器通过public.externaljob中的scheduledcallback回调第一应用程序,以告知第一应用程序反馈结果即任务调度成功与否。

通过上述实施例,可以发现本申请具有以下有益效果:

本发明提出由任务调度系统继续来执行任务调度过程,由位于任务调度系统之外应用程序(实施例中的第二应用程序)来执行任务,从而使得任务调度系统中的任务调度过程与任务执行过程解耦分离。

由于任务调度系统仅用于任务调度过程,使得任务调度系统的职责更加单一,仅作为一个任务触发器,只负责按需(立即、延迟,周期)触发任务,这使得任务调度系统的任务调度更加通用化,满足不同业务系统的调度需求。

此外,本申请提供的任务系统的实施例二中采用不同的执行服务器来分离不同业务系统对应的应用程序,在实施例三中采用不同的客户服务器来分离不同业务系统对应的应用程序,从而避免多个业务系统的应用程序耦合在一起,从而利于应用程序的维护。

参见图3,本申请提供了一种任务调度装置,所述任务调度装置包括:

构建单元31,用于响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;

提取单元32,用于在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;

发送单元33,用于通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。其中,所述第二应用程序集成于所述客户服务器中。

其中,所述构建单元31用于构建任务并保存任务信息的过程具体包括:

构建任务单元311,用于在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;

保存单元312,用于在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;其中,所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。

其中,所述任务包括任务类别标识和任务标识;

所述任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;

其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。

其中,所述执行参数信息还包括:

请求所述第二应用程序的应用程序接口的方式;

向第二应用程序发送任务执行请求中请求头需传入的参数;

向第二应用程序发送任务执行请求中请求体需传入的信息;

返回函数,用于在第二应用程序发送反馈结果后,回调第一应用程序的应用程序接口,通知第一应用程序反馈结果。

其中,提取单元32用于所述在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口的过程,具体包括:

添加单元321,用于在所述已有数据表中扫描任务,将达到执行时间的任务添加到任务执行队列中;

确定单元322,用于从所述任务执行队列中获取任务,通过任务与任务信息的关联关系确定与任务对应的任务信息;

提取应用程序接口单元323,用于从所述任务信息中提取所述第二应用程序的应用程序接口。

任务调度装置在通过所述应用程序接口向所述第二应用程序发送任务执行请求之后,还包括:

接收单元34,用于接收所述第二应用程序发送的反馈结果;

反馈单元35,用于利用所述返回函数向所述第一应用程序发送所述反馈结果。

所述任务调度装置包括处理器和存储器,上述构建单元31、提取单元32、发送单元33、接收单元34和反馈单元35等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来使得任务调度系统中的任务调度过程与任务执行过程解耦分离。

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

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

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

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

响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;

在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;

通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。

可选的,所述第二应用程序集成于所述客户服务器中。

可选的,所述构建任务并保存任务信息包括:

在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;

在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;

所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。

可选的,所述任务包括任务类别标识和任务标识;

所述任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;

其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。

可选的,所述执行参数信息还包括:

请求所述第二应用程序的应用程序接口的方式;

向第二应用程序发送任务执行请求中请求头需传入的参数;

向第二应用程序发送任务执行请求中请求体需传入的信息;

返回函数,用于在第二应用程序发送反馈结果后,回调第一应用程序的应用程序接口,通知第一应用程序反馈结果。

可选的,所述在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口,包括:

在所述已有数据表中扫描任务,将达到执行时间的任务添加到任务执行队列中;

从所述任务执行队列中获取任务,通过任务与任务信息的关联关系确定与任务对应的任务信息;

从所述任务信息中提取所述第二应用程序的应用程序接口。

可选的,在通过所述应用程序接口向所述第二应用程序发送任务执行请求之后,还包括:

接收所述第二应用程序发送的反馈结果;

利用所述返回函数向所述第一应用程序发送所述反馈结果。

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

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

一种任务调度方法,应用于任务调度系统,所述任务调度方法包括:

响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;

在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;

通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。

可选的,所述第二应用程序集成于所述客户服务器中。

可选的,所述构建任务并保存任务信息包括:

在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;

在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;

所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。

可选的,所述任务包括任务类别标识和任务标识;

所述任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;

其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。

可选的,所述执行参数信息还包括:

请求所述第二应用程序的应用程序接口的方式;

向第二应用程序发送任务执行请求中请求头需传入的参数;

向第二应用程序发送任务执行请求中请求体需传入的信息;

返回函数,用于在第二应用程序发送反馈结果后,回调第一应用程序的应用程序接口,通知第一应用程序反馈结果。

可选的,所述在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口,包括:

在所述已有数据表中扫描任务,将达到执行时间的任务添加到任务执行队列中;

从所述任务执行队列中获取任务,通过任务与任务信息的关联关系确定与任务对应的任务信息;

从所述任务信息中提取所述第二应用程序的应用程序接口。

可选的,在通过所述应用程序接口向所述第二应用程序发送任务执行请求之后,还包括:

接收所述第二应用程序发送的反馈结果;

利用所述返回函数向所述第一应用程序发送所述反馈结果。

一种处理器,包括:

所述处理器,用于执行如权利要求所述任务调度方法。

一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,实现所述任务调度方法的各步骤。

一种任务调度系统,包括:

接口服务器,用于提供客户服务器调用任务调度系统的应用程序接口;

数据库服务器,用于响应于客户服务器中第一应用程序通过应用程序接口发送的任务构建请求,构建任务并保存任务信息;

调度服务器,用于在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。

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

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

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

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

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

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

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

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

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

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

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