发明内容
本发明主要目的在于提供一种分布式管理方法及装置、管理设备和计算机存储介质,旨在解决无法实时响应任务处理结果的问题。
为实现上述目的,本发明提供一种应用于平台管理端的分布式管理方法;在一实施例中,所述分布式管理方法包括以下步骤:
在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端;
接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果;
将所述处理结果实时反馈至所述后台管理设备。
在一实施例中,所述在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端的步骤之前,所述分布式管理方法还包括:
在接收到后台管理设备发送的Http登录请求后,对所述后台管理设备进行登录验证;
在验证成功后,建立与所述后台管理设备之间的websocket连接。
在一实施例中,所述在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端的步骤包括:
根据已创建的任务中的任务处理数据生成任务处理指令;
将所述任务处理数据与所述任务处理指令发送至节点客户端。
在一实施例中,所述将所述任务处理数据与所述任务处理指令发送至节点客户端的步骤包括:
获取加密密钥,采用所述加密密钥对所述任务处理数据进行加密得到任务处理数据密文;
将所述任务处理数据密文发送至节点客户端。
在一实施例中,所述将所述处理结果实时反馈至所述后台管理设备的步骤包括:
通过Rpc连接实时接收节点客户端返回的所述任务处理指令对应的任务的处理结果。
为实现上述目的,本发明还提供了一种应用于节点客户端的分布式管理方法;在一实施例中,所述分布式管理方法包括:
接收由平台管理端发送的任务处理指令;
调用运维工具按照所述任务处理指令对应的任务处理数据运行,并得到处理结果;
将所述处理结果实时发送至平台管理端。
在一实施例中,所述调用运维工具按照所述任务处理指令对应的任务处理数据运行,并得到处理结果的步骤包括:
根据所述任务处理指令获取任务处理数据密文;
对所述任务处理数据密文进行解密以得到任务处理数据;
调用运维工具按照所述任务处理数据运行,并得到处理结果。
为实现上述目的,本发明还提供一种分布式管理装置,所述装置包括:
平台管理端,用于在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端,接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果,将所述处理结果实时反馈至所述后台管理设备;
节点客户端,用于接收由平台管理端发送的任务处理指令,调用运维工具按照所述任务处理指令对应的任务处理数据运行,并得到处理结果,将所述处理结果实时发送至平台管理端。
为实现上述目的,本发明还提供一种管理设备,所述管理设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的分布式管理程序,所述分布式管理程序被所述处理器执行时实现如上所述的分布式管理方法的各个步骤。
为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质存储有分布式管理程序,所述分布式管理程序被处理器执行时实现如上所述的分布式管理方法的各个步骤。
本发明提供的分布式管理方法及装置、管理设备和计算机存储介质,至少具有以下技术效果:
采用了在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并将所述任务处理指令发送至各节点客户端,各节点客户端在接收到平台管理端发送的任务处理指令后,调用运维工具按照所述任务指令对应的任务处理数据运行并得到处理结果,将处理结果实时发送至平台管理端,在接收到各节点管理端实时返回的任务处理指令对应的任务的处理结果时,将处理结果实时反馈至后台管理设备,解决了现有技术中无法实时响应任务处理结果的问题,实现对任务处理结果的实时反馈与处理。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请为解决现有技术中无法实时响应任务处理结果的问题,采用了在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并将所述任务处理指令发送至各节点客户端,各节点客户端在接收到平台管理端发送的任务处理指令后,调用运维工具按照所述任务指令对应的任务处理数据运行并得到处理结果,将处理结果实时发送至平台管理端,在接收到各节点管理端实时返回的任务处理指令对应的任务的处理结果时,将处理结果实时反馈至后台管理设备的技术方案,实现对任务处理结果的实时反馈与处理。
为了更好地理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
如图1所示,图1为本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图1即可为管理设备的硬件运行环境的架构示意图。
如图1所示,该管理设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1所示的管理设备结构并不构成对管理设备的限定,管理设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式管理程序。其中,操作系统是管理和控制管理设备硬件和软件资源的程序,分布式管理程序以及其它软件或程序的运行。
在图1所示的管理设备中,用户接口1003主要用于连接终端,与终端进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的分布式管理程序。
在本实施例中,管理设备包括:存储器1005、处理器1001及存储在所述存储器上并可在所述处理器上运行的分布式管理程序,其中:
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端;
接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果;将所述处理结果实时反馈至所述后台管理设备。
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
在接收到后台管理设备发送的Http登录请求后,对所述后台管理设备进行登录验证;
在验证成功后,建立与所述后台管理设备之间的websocket连接。
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
根据已创建的任务中的任务处理数据生成任务处理指令;
将所述任务处理数据与所述任务处理指令发送至节点客户端。
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
获取加密密钥,采用所述加密密钥对所述任务处理数据进行加密得到任务处理数据密文;
将所述任务处理数据密文发送至节点客户端。
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
通过Rpc连接实时接收节点客户端返回的所述任务处理指令对应的任务的处理结果。
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
接收由平台管理端发送的任务处理指令;
调用运维工具按照所述任务处理指令对应的任务处理数据运行,并得到处理结果;
将所述处理结果实时发送至平台管理端。
在本申请实施例中,处理器1001可以用于调用存储在存储器1005中的分布式管理程序,并执行以下操作:
根据所述任务处理指令获取任务处理数据密文;
对所述任务处理数据密文进行解密以得到任务处理数据;
调用运维工具按照所述任务处理数据运行,并得到处理结果。
由于本申请实施例提供的管理设备,为实施本申请实施例的方法所采用的管理设备,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该管理设备的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的管理设备都属于本申请所欲保护的范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
对于软件实现,可通过执行本发明实施例所述功能的模块(例如过程、函数等)来实现本发明实施例所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
基于上述结构,提出本发明的实施例,在本申请中,参照图8,图8为本发明分布式管理方法的结构示意图,图8中包括后台管理设备、平台管理端、节点客户端以及多台业务服务器,后台管理设备与平台管理端通过websocket通信协议进行任务处理数据的实时推送,其中,平台管理端中包括Nginx服务器、Daphne服务器,Nginx服务器是一款轻量级的Web服务器/反向代理服务器,用于将用户登录请求转发给Daphne服务器处理;Daphne服务器用于转发Http登录请求给Django处理,转发websocket通信协议给Channels处理,Django是一个开放源代码的Web应用框架,由Python语言编写,Channels是Django的第三方扩展库,让Django框架可以处理websocket通信协议,聊天协议,IoT协议等。平台管理端中部署有Rpyc服务器,节点客户端中部署有Rpyc客户端,平台管理端通过Rpc协议实现任务处理指令的下发与节点客户端通过Rpc协议实现业务服务器中任务处理结果的实时反馈。
参照图2,图2为本发明分布式管理方法的第一实施例的流程示意图,包括以下步骤:
步骤S110,在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端。
在本实施例中,所述后台管理设备包括常用的智能设备,例如智能手机、智能电脑、平板等,管理员在后台管理设备上创建任务,实际上是根据任务模板创建任务,而任务模板中包括多个预设的功能模块,例如更新模块,部署模块,合服模块,管理模块等,管理员根据实际开发需求,可以在后台管理设备上创建功能模块,对任务模板中的功能模块进行任意选择,而每个功能模块中又包括任务处理数据,管理员或用户通过后台管理设备登录平台管理端,在任务管理页面,根据需求选择对应的模块,输入相应的任务处理数据后点击提交,把任务处理数据存在数据库,返回一个任务ID,在执行任务的时候把任务ID取出来发给分布式任务队列平台,即celery平台,celery平台通过这个任务ID解析任务处理数据,生成任务处理指令,对所述任务处理指令加密,将加密后的任务处理指令发送至各节点客户端进行处理。
步骤S120,接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果。
在本实施例中,通过Rpc连接实时接收节点客户端返回的所述任务处理指令对应的任务的处理结果,通过在各节点客户端部署一个Rpyc(Remote Procedure Call,远程过程调用)服务器,然后在平台管理端运行Rpc协议连接远程Rpyc服务器,在建立连接后,平台管理端生成任务结果发送函数,通过Rpc协议连接到各节点客户端,并将所述任务结果发送函数发送至各节点客户端,各节点客户端根据接收到的任务处理指令执行任务,把任务结果发送函数传给各节点客户端执行,各节点客户端调用任务结果发送函数就相当于平台管理端调用,在执行任务过程中每当有输出内容,就把任务处理结果当成参数传给任务结果发送函数,实现任务处理结果的主动推送。
步骤S130,将所述处理结果实时反馈至所述后台管理设备。
在本实施例中,因为后台管理设备与平台管理端的数据传输是通过websocket连接的,因此,当接收到节点客户端发送给平台管理端的任务处理结果时,平台管理端通过websocket连接将处理结果实时反馈至后台管理设备,后台管理设备可对处理结果进行实时监测以处理。
由于采用了在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端,节点客户端对任务处理数据进行数据后,接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果,将处理结果实时反馈至后台管理设备,解决了现有技术中无法实时响应任务处理结果的问题,实现对任务处理结果的实时反馈与处理。
参照图3,图3为本发明分布式管理方法的第二实施例的流程示意图,在本实施例中,步骤S210与步骤S220位于第一实施例中步骤S110之前的步骤,所述第二实施例包括以下步骤:
步骤S210,在接收到后台管理设备发送的Http登录请求后,对所述后台管理设备进行登录验证。
在本实施例中,所述Http登录请求采用的是Http协议,Http协议只能实现后台管理设备的登录请求,平台管理端响应的这种单项通信,并不能实现双向通信;管理员在后台管理设备上输入平台管理端的域名,向平台管理端发送Http登录请求,同时后台管理设备会切换到登录界面,在登录界面上,管理员可进行身份验证,在登录界面输入身份认证信息,管理员可通过本地账号密码认证、人脸识别认证、指纹认证或者扫码认证等方式进行身份验证,将输入的身份认证信息发送至平台管理端,平台管理端对后台管理设备发送的身份认证信息进行登录校验,平台管理端在自身数据库中查询是否存在与身份认证信息匹配的预设身份验证信息,当存在匹配的预设身份验证信息时,表示验证通过,则发送Token令牌至后台管理设备,至此实现第一次登录过程,当管理员进行第二次登录时,只需带上这个Token令牌请求数据即可,无需再次进行登录验证请求。
步骤S220,在验证成功后,建立与所述后台管理设备之间的websocket连接。
在本实施例中,所述websocket连接采用的是websocket通信协议,所述websocket通信协议是一种网络传输协议,websocket连接使得后台管理设备与平台管理端只需要完成一次握手就可以创建持久性连接,在验证通过后,通过所述websocket连接实现平台管理端与后台管理设备的连接并实现数据的双向传输,同时通过websocket连接,平台管理端可将从节点客户端获取到的任务处理结果实时推送给后台管理设备,以实现实时获取节点客户端的数据以便快速进行处理。
步骤S230,在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端。
步骤S240,接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果。
步骤S250,将所述处理结果实时反馈至所述后台管理设备。
由于采用了在接收到后台管理设备发送的Http登录请求后,对所述后台管理设备进行登录验证,在验证成功后,建立与所述后台管理设备之间的websocket连接,在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送所述任务处理指令至节点客户端,在节点客户端对任务进行处理后,将任务处理结果实时反馈到后台管理设备,解决了现有技术中无法实时获取任务处理结果,通过websocket连接实现任务处理结果的实时反馈与处理。
参照图4,图4为本发明分布式管理方法的第三实施例中步骤S230的细化流程示意图,在本实施例中,第二实施例中步骤S230包括以下步骤:
步骤S231,根据已创建的任务中的任务处理数据生成任务处理指令。
在本实施例中,所述任务处理指令就是把管理员选中的模块中的任务处理数据打包成一个字典,字典的内容就是任务处理指令,然后把字典加密后发给节点客户端,字典的内容就是任务处理指令,所述任务处理指令是平台管理端生成的,管理员在平台管理端这个地址根据需求输入任务处理数据相关参数,点击提交后就会把任务处理数据解析成任务处理指令。
步骤S232,将所述任务处理数据与所述任务处理指令发送至节点客户端。
在本实施例中,在后台管理设备创建任务,管理员将选中的模块中的任务处理数据打包成一个字典,将所述任务处理数据生成任务处理指令,将所述任务处理指令发送至各节点客户端。
由于采用了将已创建的任务中的任务处理数据解析成任务处理指令,将所述任务处理数据与所述任务处理指令发送至节点客户端的技术方案,为任务处理准备了任务处理数据与任务处理指令。
参照图5,图5为本发明分布式管理方法的第四实施例中步骤S232的细化流程示意图,在本实施例中,第三实施例中步骤S232包括以下步骤:
步骤S2321,获取加密密钥,采用所述加密密钥对所述任务处理数据进行加密得到任务处理数据密文。
在本实施例中,发送和接收任务处理数据的双方使用相同或对称的密钥对任务处理数据进行加密运算,所述加密密钥在部署节点客户端的时候就已经写在平台管理端的配置文件里面了,平台管理端向节点客户端发送任务处理数据之前,需要采用加密密钥对任务处理数据进行加密,采用加密密钥对任务处理数据进行加密后生成任务处理数据密文,所述平台管理端不仅对任务处理数据进行加密,还对平台管理端发送至节点客户端的其他数据进行加密。
步骤S2322,将所述任务处理数据密文发送至节点客户端。
在本实施例中,平台管理端在采用加密密钥对任务处理数据进行加密后,将加密后的任务处理数据密文发送至每个节点客户端进行处理,平台管理端采用远程过程调用协议,即Rpc协议将任务处理数据密文和任务结果发送函数发送至各节点客户端,Rpyc是一个Python的库用来实现Rpc和分布式计算的工具,支持同步和异步操作、回调和远程服务以及透明的对象代理,Rpyc的服务模式用于构建服务端并开启端口监听,另一端通过Rpyc的客户端工具连接监听端口,建立数据交互通道,提供了任务下发、结果上传等功能。
由于采用获取加密密钥,采用所述加密密钥对所述任务处理数据进行加密得到任务处理数据密文,将所述任务处理数据密文发送至节点客户端,通过对任务处理数据的加密,提高任务处理数据的安全性。
参照图6,图6为本发明分布式管理方法的第五实施例的流程示意图,包括以下步骤:
步骤S310,接收由平台管理端发送的任务处理指令。
在本实施例中,应用于节点客户端,节点客户端中包括Rpyc服务器,所述通过Rpc协议将平台管理端中的Rpyc客户端中的任务处理数据或者任务处理指令发送中节点客户端中的Rpyc服务器,即节点客户端中的Rpyc服务器接收由平台管理端中的Rpyc服务器发送的任务处理指令。
步骤S320,调用运维工具按照所述任务处理指令对应的任务处理数据运行,并得到处理结果。
在本实施例中,管理员在创建任务后执行任务,后台管理设备向平台管理端的websocket连接发起任务管理请求并带上了任务ID,websocket连接收到任务管理请求后把任务ID传给celery平台,celery平台通过任务ID获取到任务处理数据,再把任务处理数据通过Rpyc客户端发送给节点客户端的Rpyc服务器,远程Rpyc服务器收到任务处理数据后调用运维工具按照所述任务处理指令对应的任务处理数据运行,生成处理结果。
步骤S330,将所述处理结果实时发送至平台管理端。
在本实施例中,通过运维工具对任务处理数据进行处理后,输出任务处理结果,将任务处理结果通过Rpc协议实时发送至平台管理端的Rpyc客户端中。
由于采用了接收由平台管理端发送的任务处理指令,调用运维工具对所述任务处理指令中对应的任务处理数据进行处理,得到任务处理结合,将所述任务处理结果实时发送至平台管理端的Rpyc客户端,解决了现有技术中无法实时响应任务处理结果的问题,实现对任务处理结果的实时反馈与处理。
参照图7,图7为本发明分布式管理方法的第六实施例中步骤S320的细化流程示意图,在本实施例中,第五实施例中步骤S320包括以下步骤:
步骤S321,根据所述任务处理指令获取任务处理数据密文。
在本实施例中,在对任务处理数据进行加密并将加密后的任务处理数据发送至节点客户端Rpyc服务器中时,获取任务处理指令中的任务处理数据密文,对所述任务处理数据密文进行解密。
步骤S322,对所述任务处理数据密文进行解密以得到任务处理数据。
在本实施例中,采用解密密钥对任务处理数据密文进行解密得到任务处理数据,所述解密密钥在部署节点客户端的时候就已经写在节点客户端的配置文件里面了,节点客户端接收到平台管理端发送的任务处理数据之后,需要采用解密密钥对任务处理数据进行解密,采用解密密钥对任务处理数据进行解密后得到任务处理数据,所述节点客户端不仅对任务处理数据进行解密,还对节点客户端接收到的平台管理端发送的其他数据进行解密。
步骤S323,调用运维工具按照所述任务处理数据运行,并得到处理结果。
在本实施例中,所述运维工具包括:ansible/saltstack/shell,所述运维工具接收到任务处理指令后,根据所述任务处理指令获取加密后的任务处理数据密文,对所述任务处理数据密文进行解密得到任务处理数据,通过运维工具对所述解密后的任务处理数据进行运行,得到任务处理结果,将任务处理结果发送至后台管理设备实现任务处理结果的实时监测与处理。所述运维工具具有可扩展性,各节点客户端的运维工具可以由管理员自行定制,方便的接入现有环境,例如更新应用代码,A公司用shell脚本批量更新,B公司用ansible工具批量更新,C公司用python批量更新,不管使用哪一种运维工具来处理任务,只需按预设格式接收处理结果就可以,无需考虑如何运行。
由于采用了根据所述任务处理指令获取加密后的任务处理数据密文,对加密后的任务处理数据密文进行解密得到解密后的任务处理数据,采用运维工具对所述任务处理数据进行处理,得到任务数据处理结果,实现了对加密后的任务处理数据进行处理,提高任务处理数据的安全性。
基于同一发明构思,本发明还提供一种分布式管理装置,所述分布式管理装置包括:平台管理端、节点客户端等,下面将对各个模块进行展开描述:
平台管理端,用于在接收到后台管理设备发送的Http登录请求后,对所述后台管理设备进行登录验证,在验证成功后,建立与所述后台管理设备之间的websocket连接,在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并发送至节点客户端,接收节点客户端实时返回的所述任务处理指令对应的任务的处理结果,将所述处理结果实时反馈至所述后台管理设备;具体的,平台管理端根据已创建的任务中的任务处理数据生成任务处理指令,将所述任务处理数据与所述任务处理指令发送至节点客户端,获取加密密钥,采用所述加密密钥对所述任务处理数据进行加密得到任务处理数据密文,将所述任务处理数据密文发送至节点客户端,通过Rpc连接实时接收节点客户端返回的所述任务处理指令对应的任务的处理结果。
节点客户端,用于接收由平台管理端发送的任务处理指令,调用运维工具按照所述任务处理指令对应的任务处理数据运行,并得到处理结果,将所述处理结果实时发送至平台管理端,具体的,根据所述任务处理指令获取任务处理数据密文,所述任务处理数据密文进行解密以得到任务处理数据,调用运维工具按照所述任务处理数据运行,并得到处理结果。
由于采用了在检测到连接的后台管理设备创建的任务后,根据所述任务生成任务处理指令并将所述任务处理指令发送至各节点客户端,各节点客户端在接收到平台管理端发送的任务处理指令后,调用运维工具按照所述任务指令对应的任务处理数据运行并得到处理结果,将处理结果实时发送至平台管理端,在接收到各节点管理端实时返回的任务处理指令对应的任务的处理结果时,将处理结果实时反馈至后台管理设备的技术方案,解决了现有技术中无法实时响应任务处理结果的问题,实现对任务处理结果的实时反馈与处理。
基于同一发明构思,本申请实施例还提供了一种计算机存储介质,所述计算机存储介质存储有分布式管理程序,所述分布式管理程序被处理器执行时实现如上所述的分布式管理方法的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
由于本申请实施例提供的计算机存储介质,为实施本申请实施例的方法所采用的计算机存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该计算机存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的计算机存储介质都属于本申请所欲保护的范围。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用计算机存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为标识。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。