一种容器调度方法及调度系统与流程

文档序号:18142296发布日期:2019-07-10 11:12阅读:296来源:国知局
一种容器调度方法及调度系统与流程

本发明实施例涉及数据传输技术领域,尤其涉及一种容器调度方法及调度系统。



背景技术:

mesos是apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。mesos产生于容器技术之前,随着技术的发展,mesos现在也支持容器技术的发布。不过mesos只提供资源的管理功能,至于资源的调度和编排交给用户自己实现。

目前基于mesos技术实现的开源容器调度系统有marathon和singularity,这两种实现的存储依赖zookeeper,而采用zookeeper作为数据存储存在资源泄露风险。其次,容器调度系统使用mesos提供的消息同步机制更新任务状态时,存在同样的任务状态被更新多次的情况,从而影响容器调度的效率。



技术实现要素:

由于现有技术中容器调度系统采用zookeeper作为数据存储存在资源泄露风险以及容器调度系统中存在同样的任务状态被更新多次的情况,本发明实施例提供了一种容器调度方法及调度系统。

一方面,本发明实施例提供了一种容器调度方法,适用于设置有数据库的调度系统,所述方法包括:

所述调度系统接收服务器集群发送的容器调度任务的状态信息,所述服务器集群用于根据所述调度系统发送的所述容器调度任务,分配资源构建容器并监控容器的状态;

所述调度系统在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,更新所述数据库中对应保存的所述容器调度任务的状态信息。

可选地,所述调度系统接收服务器集群发送的容器调度任务的状态信息之前,还包括:

所述调度系统接收用户端发送的容器发布请求并将所述容器发布请求的初始状态信息保存至所述数据库,所述容器发布请求包括待发布的容器数量和对应的容器属性;

所述调度系统根据所述待发布的容器数量和对应的容器属性构建容器调度任务并将所述容器调度任务的初始状态信息保存至所述数据库;

所述调度系统将所述容器调度任务发送至所述服务器集群,以使所述服务器集群根据所述容器调度任务分配资源构建并启动容器。

可选地,每个待发布容器对应一个容器调度任务。

可选地,所述调度系统根据所述待发布的容器数量和对应的容器属性构建容器调度任务,包括:

针对每个待发布容器,根据所述待发布容器的属性确定所述待发布容器的资源需求;

所述调度系统根据所述待发布容器的资源需求以及所述服务器集群上报的资源信息确定所述待发布容器的容器调度任务。

可选地,还包括:

所述调度系统根据所述容器发布请求对应的所有容器调度任务的状态信息更新所述数据库中所述容器发布请求的状态信息。

可选地,所述调度系统在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,更新所述数据库中对应保存的所述容器调度任务的状态信息,包括:

所述调度系统在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,将接收的所述容器调度任务的状态信息保存至事件队列中;

所述调度系统从所述事件队列中获取接收的所述容器调度任务的状态信息,更新所述数据库中对应保存的所述容器调度任务的状态信息。

一方面,本发明实施例提供了一种调度系统,包括:

接收模块,用于接收服务器集群发送的容器调度任务的状态信息,所述服务器集群用于根据所述调度系统发送的所述容器调度任务,分配资源构建容器并监控容器的状态;

数据库,用于保存容器调度任务的状态信息;

处理模块,用于在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,更新所述数据库中对应保存的所述容器调度任务的状态信息。

可选地,还包括发送模块;

所述接收模块还用于:

接收服务器集群发送的容器调度任务的状态信息之前,接收用户端发送的容器发布请求并将所述容器发布请求的初始状态信息保存至所述数据库,所述容器发布请求包括待发布的容器数量和对应的容器属性;

所述处理模块还用于:

根据所述待发布的容器数量和对应的容器属性构建容器调度任务并将所述容器调度任务的初始状态信息保存至所述数据库;

所述发送模块具体用于:

将所述容器调度任务发送至所述服务器集群,以使所述服务器集群根据所述容器调度任务分配资源构建并启动容器。

可选地,每个待发布容器对应一个容器调度任务。

可选地,所述处理模块具体用于:

针对每个待发布容器,根据所述待发布容器的属性确定所述待发布容器的资源需求;

根据所述待发布容器的资源需求以及所述服务器集群上报的资源信息确定所述待发布容器的容器调度任务。

可选地,所述处理模块还用于:

根据所述容器发布请求对应的所有容器调度任务的状态信息更新所述数据库中所述容器发布请求的状态信息。

可选地,所述处理模块具体用于:

在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,将接收的所述容器调度任务的状态信息保存至事件队列中;

从所述事件队列中获取接收的所述容器调度任务的状态信息,更新所述数据库中对应保存的所述容器调度任务的状态信息。

一方面,本发明实施例提供了一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行容器调度方法的步骤。

一方面,本发明实施例提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行容器调度方法的步骤。

本发明实施例中,服务器集群根据调度系统发送的容器调度任务,分配资源构建容器并监控容器的状态,然后将容器调度任务的状态信息发送至调度系统。调度系统在确定接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息不一致时,更新数据库中对应保存的容器调度任务的状态信息。由于调度系统在接收容器调度任务的状态信息后将容器调度任务的状态信息保存在数据库中,而不是依赖mesos中的zookeeper进行数据存储,从而提高数据安全性,其次,调度系统在确定接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息不一致时,才更新数据库中对应保存的容器调度任务的状态信息,而不是在接收到容器调度任务的状态信息时就更新数据库,从而避免了同样的状态信息被重复更新,提高容器调度的效率。

附图说明

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

图1为本发明实施例提供的一种应用场景示意图;

图2为本发明实施例提供的一种容器调度方法的流程示意图;

图3为本发明实施例提供的一种构建容器调度任务的方法的流程示意图;

图4为本发明实施例提供的一种容器调度方法的流程示意图;

图5为本发明实施例提供的一种调度系统的结构示意图;

图6为本发明实施例提供的一种终端设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中的容器调度方法可以应用于如图1所示的应用场景,在该应用场景中包括调度系统101、服务器集群102和用户端103。

调度系统101中包括多个调度实例,调度实例采用主-从模式,只有主调服实例才能发起容器调度,其他的调度实例只能接收用户端103发送的容器发布请求,用户端103通过portal(门户网站)界面或应用程序编程接口(applicationprogramminginterface,简称api)提交容器调度请求。当主调度实例出现故障时,从其他从调度实例选出主调度实例发起容器调度。

服务器集群102由多个服务器组成,用于收集服务器资源,资源包括中央处理器(centralprocessingunit,简称cpu)、内存、磁盘、端口等。服务器集群102中的服务器也采用主从结构的模式。各从服务器会定期上报资源信息至主服务器,主服务器将所有从服务器上报的资源信息进行汇总,然后定期将这些汇总的资源信息推送至调度系统101。

调度系统101采用资源调度的接口向服务器集群102发起容器调度任务。服务器集群102中的主服务器将容器调度任务发送至对应的从服务器执行,主服务器通过调用状态更新接口,定期将容器调度任务的状态信息发送至调度系统101。调度系统101判断容器调度任务的状态信息是否有变更,若是,则将容器调度任务的状态信息保存至调度系统101中的数据库。

基于图1所示的应用场景图,本发明实施例提供了一种容器调度方法的流程,该方法的流程可以由调度系统和服务器集群交互执行,如图2所示,包括以下步骤:

步骤s201,调度系统接收服务器集群发送的容器调度任务的状态信息。

具体地,容器调度任务由调度系统构建并发送至服务器集群,容器调度任务用于指示构建容器以及监控容器后续状态。服务器集群用于根据调度系统发送的容器调度任务,分配资源构建容器并监控容器的状态。容器调度任务的状态信息由容器调度任务编号以及容器调度任务的状态组成,容器调度任务的状态信息可以是容器的启动状态信息、故障状态信息、超时状态信息、结束状态信息等,服务器集群可以是mesos集群。

步骤s202,调度系统在确定接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息不一致时,更新数据库中对应保存的容器调度任务的状态信息。

具体地,调度系统中包括数据库,该数据库可以是关系型数据库,比如oracle数据库、mysql数据库等。该数据库也可以是非关系型数据库,比如memcached数据库、redis数据库等。当调度系统构建容器调度任务时,将容器调度任务的状态信息保存至数据库。服务器集群定期调用状态更新接口,将容器调度任务的状态信息发送至调度系统。调度系统接收到服务器集群发送的容器调度任务的状态信息时,若与数据库中保存的容器调度任务的状态信息不一致,则更新数据库中对应保存的容器调度任务的状态信息。

由于调度系统在接收容器调度任务的状态信息后将容器调度任务的状态信息保存在数据库中,而不是依赖mesos中的zookeeper进行数据存储,从而提高数据安全性,其次,调度系统在确定接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息不一致时,才更新数据库中对应保存的容器调度任务的状态信息,而不是在接收到容器调度任务的状态信息时就更新数据库,从而避免了同样的状态信息被重复更新,提高容器调度的效率。

可选地,调度系统接收服务器集群发送的容器调度任务的状态信息之前,调度系统需要构建容器调度任务并发送至服务器集群,具体包括以下步骤,如图3所示:

步骤s301,调度系统接收用户端发送的容器发布请求。

调度系统将容器发布请求的初始状态信息保存至数据库,容器发布请求包括待发布的容器数量和对应的容器属性,其中,容器属性可以是容器规格。

步骤s302,调度系统根据待发布的容器数量和对应的容器属性构建容器调度任务。

可选地,每个待发布容器对应一个容器调度任务,该容器调度任务是基于容器属性构建的。比如,待发布的容器数量为2个,分别为待发布容器1和待发布容器2,其中,待发布容器1的属性为内存100m,待发布容器2的属性为内存200m,则针对待发布容器1以及待发布容器1的属性构建容器调度任务a,针对待发布容器2以及待发布容器2的属性构建容器调度任务b。调度系统构建容器调度任务后,将容器调度任务的初始状态信息保存至数据库。

步骤s303,调度系统将容器调度任务发送至服务器集群。

在一种可能的实施方式中,针对每个待发布容器,调度系统根据待发布容器的属性确定待发布容器的容器调度任务,将容器调度任务的资源需求与服务器集群定期上报的资源信息进行比对。当服务器集群中的资源满足容器调度任务的资源需求时,为容器调度任务匹配服务器集群中的资源,然后将容器调度任务发送至服务器集群。

在一种可能的实施方式中,在构建容器调度任务时,针对每个待发布容器,调度系统根据待发布容器的属性确定待发布容器的资源需求,然后根据待发布容器的资源需求以及服务器集群上报的资源信息确定待发布容器的容器调度任务,然后将容器调度任务发送至服务器集群。

具体实施中,服务器集群监控集群中各服务器的资源闲置情况,然后定期上报资源信息至调度系统,资源包括cpu、内存、磁盘、端口等。示例性地,设定待发布容器a的资源需求为内存100m,服务器集群中包括服务器1和服务器2,服务器集群将服务器1和服务器2的资源信息上报至调度系统,其中,服务器1的资源信息为闲置内存500m,服务器2的资源信息为端口8闲置。调度系统根据服务器集群上报的服务器1和服务器2的资源信息以及待发布容器a的资源需求,确定待发布容器a的资源调度任务,该资源调度任务具体为采用服务器1中的100m内存构建待发布容器a。

步骤s304,服务器集群根据容器调度任务分配资源构建并启动容器。

具体地,服务器集群中包括主服务器和从服务器,主服务器接收调度系统发送的容器调度任务,然后将容器调度任务发送至对应的从服务器中执行。从服务器根据容器调度任务为待发布容器分配资源,然后构建待发布容器并启动容器,当容器成功启动时,确定容器调度任务的状态信息为启动状态信息。

步骤s305,服务器集群发送容器调度任务的状态信息至调度系统。

示例性地,容器在服务器集群中启动成功后,服务器集群将容器调度任务的启动状态信息发送至调度系统,调度系统将数据库中容器调度任务的初始状态信息与接收的启动状态信息进行比较,由于保存的初始状态信息与接收启动状态信息不一致,则将数据库中容器调度任务的初始状态信息修改为启动状态信息。由于调度系统在发起容器调度任务后,将容器调度任务的初始状态信息保存在数据库中,然后根据从服务器集群接收的容器调度任务的状态信息更新数据库中容器调度任务的初始状态信息,从而实现对容器调度任务的实时跟踪。

进一步地,调度系统接收用户端发送的容器发布请求时,一个容器发布请求可能对应多个容器调度任务,故在对容器发布请求的状态进行更新时,可以根据容器发布请求对应的所有容器调度任务的状态信息更新数据库中容器发布请求的状态信息。

具体实施中,服务器集群在对每个容器调度任务进行处理后,都会将容器调度任务的状态信息发送至调度系统,当一个容器发布请求对应的所有容器调度任务的状态均为启动状态时,调度系统将容器发布请求的初始状态信息更新为启动状态信息。

可选地,调度系统在确定接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息不一致时,将接收的容器调度任务的状态信息保存至事件队列中,调度系统从事件队列中获取接收的容器调度任务的状态信息,更新数据库中对应保存的容器调度任务的状态信息。

具体地,由于服务器集群发送至调度系统的容器调度任务的状态信息可能是没有更新的状态信息,如果调度系统在接收到服务器集群发送的容器调度任务的状态信息后,直接更新数据库,在容器调度任务较多时,将导致数据库读写过于频繁,影响数据库的性能。为此,本发明实施例中,调度系统在接收到服务器集群发送的容器调度任务的状态信息后,将容器调度任务的状态信息保存在堆缓存中。然后判断缓存堆中容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息是否一致,若不一致,则将容器调度任务的状态信息保存至事件队列中,故在更新数据库时,可以依次从事件队列中获取容器调度任务的状态信息并写入数据库,从而避免了同样的任务状态被更新多次的情况,同时避免数据丢失。

可选地,当容器调度任务的状态为结束状态时,调度系统回收该容器调度任务在服务器集群中对应的ip地址,当调度系统构建新的容器调度任务时,可以将回收的ip地址分配给容器调度任务,从而实现对ip地址的管理。

为了更好的解释本发明实施例,下面结合具体的实施场景描述本发明实施例提供的一种容器调度方法,该方法由调度系统和服务器集群交互执行,其中服务器集群为mesos集群,mesos集群采用主-从模式,调度系统包括mysql数据库,如图4所示,该方法包括以下步骤:

步骤s401,调度系统接收用户端发送的容器发布请求。

步骤s402,调度系统将容器发布请求的初始状态信息保存至mysql数据库。

容器发布请求包括待发布的容器数量和对应的容器属性。

步骤s403,调度系统根据容器发布请求构建容器调度任务。

步骤s404,调度系统将容器调度任务的初始状态信息保存至mysql数据库。

步骤s405,mesos集群定期上报资源信息至调度系统。

具体地,mesos集群定期上报的资源信息为mesos集群中的空闲资源的信息,mesos集群包括主服务器和从服务器,各个从服务器定期收集空闲资源的信息并上报至主服务器,主服务器定期将汇总的空闲资源的信息发送至调度系统。

步骤s406,调度系统在确定mesos集群的空闲资源与容器调度任务的资源需求匹配时,为容器调度任务匹配mesos集群的空闲资源。

步骤s407,调度系统将容器调度任务发送至mesos集群。

步骤s408,mesos集群根据容器调度任务构建并启动容器。

步骤s409,mesos集群定期将容器调度任务的状态信息发送至调度系统。

步骤s410,调度系统将接收的容器调度任务的状态信息保存在堆缓存中。

步骤s411,调度系统在确定堆缓存中的容器调度任务的状态信息与mysql数据库中容器调度任务的初始状态信息不一致时,将堆缓存中的容器调度任务的状态信息保存至事件队列。

步骤s412,调度系统从事件队列中获取容器调度任务的状态信息更新mysql数据库中容器调度任务的初始状态信息。

具体地,当容器调度任务的状态为启动状态时,将mysql数据库中容器调度任务的初始状态信息更新为启动状态。当容器调度任务的状态为失败状态时,且预先设置了重新调度时,调度系统重新发起容器调度任务。

步骤s413,调度系统根据容器发布请求对应的所有容器调度任务的状态信息更新mysql数据库中容器发布请求的初始状态信息。

具体地,当容器发布请求对应的所有容器调度任务的状态在预设时长内均更新为启动状态时,将mysql数据库中容器发布请求的初始状态修改为完成状态。当容器发布请求对应的所有容器调度任务中,至少存在一个容器调度任务的状态在预设时长内没有更新为启动状态时,将mysql数据库中容器发布请求的初始状态修改为失败状态。

需要说明的是,mesos集群定期将容器调度任务的状态信息发送至调度系统,故后续调度系统每次接收到容器调度任务的状态信息时,将接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息比较,若不一致,则将接收的容器调度任务的状态信息保存至事件队列中。调度系统从事件队列中获取接收的容器调度任务的状态信息,更新数据库中对应保存的容器调度任务的状态信息。由于调度系统在接收容器调度任务的状态信息后将容器调度任务的状态信息保存在数据库中,而不是依赖mesos中的zookeeper进行数据存储,从而提高数据安全性,其次,调度系统在确定接收的容器调度任务的状态信息与数据库中对应保存的容器调度任务的状态信息不一致时,才更新数据库中对应保存的容器调度任务的状态信息,而不是在接收到容器调度任务的状态信息时就更新数据库,从而避免了同样的状态信息被重复更新,提高容器调度的效率。

基于相同的技术构思,本发明实施例提供了一种调度系统,如图5所示,该调度系统500包括:

接收模块501,用于接收服务器集群发送的容器调度任务的状态信息,所述服务器集群用于根据所述调度系统发送的所述容器调度任务,分配资源构建容器并监控容器的状态;

数据库502,用于保存容器调度任务的状态信息;

处理模块503,用于在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,更新所述数据库中对应保存的所述容器调度任务的状态信息。

可选地,还包括发送模块504;

所述接收模块501还用于:

接收服务器集群发送的容器调度任务的状态信息之前,接收用户端发送的容器发布请求并将所述容器发布请求的初始状态信息保存至所述数据库,所述容器发布请求包括待发布的容器数量和对应的容器属性;

所述处理模块503还用于:

根据所述待发布的容器数量和对应的容器属性构建容器调度任务并将所述容器调度任务的初始状态信息保存至所述数据库;

所述发送模块504具体用于:

将所述容器调度任务发送至所述服务器集群,以使所述服务器集群根据所述容器调度任务分配资源构建并启动容器。

可选地,每个待发布容器对应一个容器调度任务。

可选地,所述处理模块503具体用于:

针对每个待发布容器,根据所述待发布容器的属性确定所述待发布容器的资源需求;

根据所述待发布容器的资源需求以及所述服务器集群上报的资源信息确定所述待发布容器的容器调度任务。

可选地,所述处理模块503还用于:

根据所述容器发布请求对应的所有容器调度任务的状态信息更新所述数据库中所述容器发布请求的状态信息。

可选地,所述处理模块503具体用于:

在确定接收的所述容器调度任务的状态信息与所述数据库中对应保存的所述容器调度任务的状态信息不一致时,将接收的所述容器调度任务的状态信息保存至事件队列中;

从所述事件队列中获取接收的所述容器调度任务的状态信息,更新所述数据库中对应保存的所述容器调度任务的状态信息。

基于相同的技术构思,本发明实施例提供了一种终端设备,如图6所示,包括至少一个处理器601,以及与至少一个处理器连接的存储器602,本发明实施例中不限定处理器601与存储器602之间的具体连接介质,图6中处理器601和存储器602之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。

在本发明实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前述的容器调度方法中所包括的步骤。

其中,处理器601是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,从而进行容器调度。可选的,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器601可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,该可读存储介质存储有计算机指令,当该计算机指令在终端设备上运行时,使得终端设备执行如前述的容器调度方法的步骤。

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

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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