一种软件定义PLC的监控和重构方法和装置与流程

文档序号:16663541发布日期:2019-01-18 23:07阅读:279来源:国知局
一种软件定义PLC的监控和重构方法和装置与流程

本发明实施例涉及plc领域,尤其涉及一种软件定义plc的监控和重构方法和装置。



背景技术:

随着计算机技术、信号处理技术、控制技术网络的不断发展和用户需求的不断提高,可编程逻辑控制器(programmablelogiccontroller,简称plc)得到了广泛的应用。比如钢铁、石油、化工、电力、机械制造、快递及文化娱乐等各个行业。特别是在分布式控制系统中的应用。

现有技术中,基于plc的分布式控制系统是由多台硬plc组成的。分布式控制系统的待控制设备通常比较多,分布在一个较大的区域内,而且待控制设备之间会相互关联。因此,需要分布式控制系统中的硬plc能实时控制待控制设备。若分布式控制系统中出现某硬plc故障时,不能实时控制待控制设备,会影响整个分布式控制系统的正常运行。因此,分布式控制系统通常都设有相应的容灾方式。

目前,对于由大量硬plc组成的分布式控制系统的容灾方式是:每个独立的硬plc,配置一个或多个冗余的硬plc。当硬plc出现故障,则切换到冗余的硬plc。但是,若出现某个区域的多台硬plc和相应的冗余plc均故障时,由于另一个区域的硬plc是正常工作的,且两个区域之间的plc之间相互有影响,这个时候,只能让整个分布式控制系统停止工作来更换出现故障区域的硬plc。



技术实现要素:

本发明实施例提供一种软件定义plc的监控和重构方法和装置,用于在不下电的情况下实现快速重构虚拟plc。

本发明实施例提供一种软件定义plc的监控和重构方法,应用于服务器集群,所述服务器集群中的各服务器包括至少一个物理核,所述物理核上部署有至少两个微内核,所述服务器集群中包括一个或多个软守护器,所述微内核上部署有虚拟plc或软守护器;所述方法包括所述软守护器在监控到虚拟plc故障时,获取所述服务器集群中各服务器上各物理核的工作状态以及所述各物理核上各微内核的工作状态;所述软守护器根据所述各服务器上各物理核的工作状态以及所述各物理核上各微内核的工作状态,确定目标微内核;所述软守护器向所述目标微内核发送重构指令,所述重构指令用于指示在所述目标微内核上重构所述虚拟plc。

基于该方案,在一个物理核上虚拟出多个微内核,每个微内核(虚拟操作系统)上运行一个虚拟plc。如果虚拟plc故障,可以在另一个微内核上重构该plc,由于各个微内核之间互不影响,因此,在重构虚拟plc时,不需要对服务器下电,也不需要对服务器重新接线,可以在不下电的情况下实现快速重构虚拟plc,从而不影响系统中其它plc的运行。

进一步,服务器集群中的各服务器的物理核上部署虚拟化的实时操作系统,虚拟plc部署于虚拟化的实时操作系统上,因此,可以提高各虚拟plc控制时的实时性;且软守护器部署在虚拟化的实时操作系统上可提高整个系统的实时性。

可选地,所述软守护器获取配置信息,所述配置信息包括所述软守护器监控的指定虚拟plc,所述软守护器监控的指定虚拟plc与所述软守护器在同一个物理核,或者,所述软守护器监控的指定plc与所述软守护器不在同一个物理核上;所述软守护器根据所述配置信息监控所述指定虚拟plc的工作状态。

可选地,所述软守护器获取配置信息,所述配置信息包括所述软守护器监控的指定虚拟plc,所述配置信息还包括所述指定虚拟plc的用户程序编译结果文件;所述软守护器可向所述目标微内核发送包括所述指定虚拟plc的用户程序编译结果文件的重构指令,所述重构指令用于指示所述目标微内核根据所述指定虚拟plc的用户程序编译结果文件重构所述指定虚拟plc。如此,不需要对用户程序进行再次编译,可直接读取并运行用户程序中任一指令集来实现虚拟plc的重构,相比于现有技术中的冗余备份,可实现快速重构虚拟plc。而且服务器不需要下电即可重构出虚拟plc,进而可不影响整个分布式控制系统中正常虚拟plc的正常工作。

本发明实施例提供了如下两种确定目标微内核的方式。

实现方式一,所述各物理核的工作状态包括所述各物理核的第一负载信息;所述各微内核的工作状态包括所述各微内核的第二负载信息;所述软守护器获取所述各服务器上各物理核的第一负载信息以及所述各物理核上各微内核的第二负载信息;所述软守护器根据所述各服务器上各物理核的第一负载信息以及所述各物理核上各微内核的第二负载信息,确定目标微内核。

实现方式二,所述软守护器获取配置信息,所述配置信息中包括所述软守护器守护指定虚拟plc,所述配置信息还包括指定虚拟plc故障时的部署策略,所述指定虚拟plc故障时的部署策略指示所述指定虚拟plc故障后重构的物理核优先顺序和每个物理核上的微内核优先顺序;所述软守护器可根据所述各服务器上各物理核的第一负载信息、所述各物理核上各微内核的第二负载信息、以及指定虚拟plc故障时的部署策略,确定所述目标微内核。

本发明实施例提供一种软件定义plc的监控和重构方法,应用于服务器集群,所述服务器集群中的各服务器包括至少一个物理核,所述物理核上部署有至少两个微内核,所述服务器集群中包括一个或多个软守护器,所述微内核上部署有虚拟plc或软守护器;所述方法包括:服务器接收来自所述软守护器的重构指令,所述重构指令包括所述软守护器守护的指定虚拟plc的用户程序编译结果文件和重构所述指定虚拟plc的目标微内核;所述服务器根据所述指定虚拟plc的用户程序编译结果文件,在所述目标微内核上重构所述虚拟plc。

可选地,所述服务器根据所述重构指令和所述指定虚拟plc的用户程序编译结果文件,在所述目标微内核上重构所述虚拟plc,包括在所述目标微内核上启动预装于所述目标微内核上的虚拟plc的系统程序;在虚拟plc的系统程序上运行所述指定虚拟plc的用户程序编译结果文件。

可选地,服务器接收来自所述软守护器的重构指令之前,还包括所述服务器接收来自客户端的初始化部署指令,所述初始化部署指令在指定物理核上的指定微内核上部署软守护器,在指定物理核上的指定微内核上部署虚拟plc,所述软守护器监控的指定虚拟plc,所述指定虚拟plc与所述软守护器在同一个物理核,或者,所述软守护器监控的指定plc与所述软守护器不在同一个物理核上;所述服务器根据所述初始化部署指令中的所述配置信息部署虚拟plc和软守护器。

本发明实施例提供一种服务器,应用于服务器集群,所述服务器集群中的各服务器包括至少一个物理核,所述物理核上部署有至少两个微内核,所述服务器集群中包括一个或多个软守护器,所述微内核上部署有虚拟plc或软守护器;其中,所述服务器上部署的软守护器包括:获取单元,用于在监控到虚拟plc故障时,获取所述服务器集群中各服务器上各物理核的工作状态以及所述各物理核上各微内核的工作状态;处理单元,用于根据所述各服务器上各物理核的工作状态以及所述各物理核上各微内核的工作状态,确定目标微内核;发送单元,用于向所述目标微内核发送重构指令,所述重构指令用于指示在所述目标微内核上重构所述虚拟plc。

可选地,所述获取单元,还用于:获取配置信息,所述配置信息包括所述软守护器监控的指定虚拟plc,所述软守护器监控的指定虚拟plc与所述软守护器在同一个物理核,或者,所述软守护器监控的指定plc与所述软守护器不在同一个物理核上;所述处理单元,还用于:根据所述配置信息监控所述指定虚拟plc的工作状态。

可选地,所述获取单元,还用于:获取配置信息,所述配置信息包括所述软守护器监控的指定虚拟plc,所述配置信息还包括所述指定虚拟plc的用户程序编译结果文件;

所述发送单元,具体用于:

向所述目标微内核发送包括所述指定虚拟plc的用户程序编译结果文件的重构指令,所述重构指令用于指示所述目标微内核根据所述指定虚拟plc的用户程序编译结果文件重构所述指定虚拟plc。

可选地,所述各物理核的工作状态包括所述各物理核的第一负载信息;所述各微内核的工作状态包括所述各微内核的第二负载信息;所述获取单元,具体用于:获取所述各服务器上各物理核的第一负载信息以及所述各物理核上各微内核的第二负载信息;所述处理单元,具体用于:根据所述各服务器上各物理核的第一负载信息以及所述各物理核上各微内核的第二负载信息,确定目标微内核。

本发明实施例提供一种服务器,应用于服务器集群,所述服务器集群中的各服务器包括至少一个物理核,所述物理核上部署有至少两个微内核,所述服务器集群中包括一个或多个软守护器,所述微内核上部署有虚拟plc或软守护器;所述服务器包括:接收单元,用于接收来自所述软守护器的重构指令,所述重构指令包括所述软守护器守护的指定虚拟plc的用户程序编译结果文件和重构所述指定虚拟plc的目标微内核;处理单元,用于根据所述指定虚拟plc的用户程序编译结果文件,在所述目标微内核上重构所述虚拟plc。

可选地,所述处理单元,具体用于:在所述目标微内核上启动预装于所述目标微内核上的虚拟plc的系统程序;在虚拟plc的系统程序上运行所述指定虚拟plc的用户程序编译结果文件。

可选地,所述接收单元,还用于:接收来自客户端的初始化部署指令,所述初始化部署指令在指定物理核上的指定微内核上部署软守护器,在指定物理核上的指定微内核上部署虚拟plc,所述软守护器监控的指定虚拟plc,所述指定虚拟plc与所述软守护器在同一个物理核,或者,所述软守护器监控的指定plc与所述软守护器不在同一个物理核上;所述处理单元,还用于:根据所述初始化部署指令中的所述配置信息部署虚拟plc和软守护器。

本发明实施例提供一种基于plc的分布式控制系统的容灾方法,应用于部署有虚拟化操作系统的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器plc及所述虚拟plc的实时操作系统;所述软守护器在确定所述虚拟plc故障时,获取所述服务器集群中各服务器的工作状态;所述软守护器根据所述各服务器的工作状态,确定目标服务器;所述软守护器向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述虚拟plc。

本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有虚拟plc及所述虚拟plc的实时操作系统,通过虚拟plc的实时操作系统,可以提高各虚拟plc控制时的实时性;通过所述软守护器的实时操作系统可提高整个分布式控制系统的实时性。

进一步,所述软守护器在确定所述虚拟plc故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出虚拟plc,不影响整个分布式控制系统的正常工作;如此,可以提高了分布式控制系统容灾能力、且分布式控制系统易于维护。

可选地,所述软守护器在确定所述虚拟plc故障之前,还包括:所述软守护器获取所述虚拟plc拓扑结构信息;所述虚拟plc拓扑结构信息包括软守护器与虚拟plc之间的映射关系;所述软守护器根据所述映射关系,守护所述虚拟plc的工作状态。

可选地,所述软守护器向所述目标服务器发送部署指令,包括:所述软守护器确定所述虚拟plc的指令集;所述虚拟plc的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述软守护器向所述目标服务器发送部署指令,所述部署指令包括所述虚拟plc的指令集。

可选地,所述软守护器向所述目标服务器发送部署指令之后,还包括:所述软守护器更新所述虚拟plc拓扑结构信息。

可选地,基于plc的分布式控制系统的容灾方法还包括:所述软守护器守护各所述服务器的工作状态;所述软守护器确定存在异常状态的服务器时,发送报警信息。

本发明实施例提供一种基于plc的分布式控制系统的容灾装置,包括:应用于部署有虚拟化操作系统的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器plc及所述虚拟plc的实时操作系统;其中,所述软守护器包括:获取单元,用于在确定所述虚拟plc故障时,获取所述服务器集群中各服务器的工作状态;确定单元,用于根据所述各服务器的工作状态,确定目标服务器;发送单元,用于向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述虚拟plc。

可选地,所述获取单元,还用于:获取所述虚拟plc拓扑结构信息;所述虚拟plc拓扑结构信息包括软守护器与虚拟plc之间的映射关系;还包括守护单元,用于:根据所述映射关系,守护所述虚拟plc的工作状态。

可选地,所述确定单元,用于:所确定所述虚拟plc的指令集;所述虚拟plc的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述发送单元,用于:向所述目标服务器发送部署指令,所述部署指令包括所述虚拟plc的指令集。

可选地,还包括更新单元,所述更新单元,用于:更新所述虚拟plc拓扑结构信息。

可选地,所述守护单元,还用于:守护各所述服务器的工作状态;所述发送单元,用于:确定存在异常状态的服务器时,发送报警信息。

本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行所述的方法。

本发明实施例提供一种计算机设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行所述的方法。

附图说明

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

图1为本发明实施例提供的一种基于plc分布式控制的系统架构示意图;

图2为本发明实施例提供的一种基于plc分布式控制系统的容灾方法的方法流程示意图;

图3为本发明实施例提供的一种虚拟plc与服务器之间的部署关系的架构示意图;

图4为本发明实施例提供的一种基于plc分布式控制系统的容灾装置的结构示意图;

图4a为本发明实施例提供的一种服务器内部结构示意图;

图4b为本发明实施例提供的一种服务器上的一个物理核故障后的内部部署结构示意图;

图5为本发明实施例提供的一种软件定义plc的监控和重构方法流程示意图;

图6为本发明实施例提供的一种服务器部署虚拟plc或守护器的方法流程示意图;

图7为本发明实施例提供的一种软守护器的结构示意图;

图8为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例一

图1示出了应用本发明实施例的一种分布式容灾装置的架构示意图。如图1所示,该系统架构可以包括客户端101、服务器集群102、输入/输出(input/output,简称i/o)总线103、待控制设备104。图1以服务器集群中包括服务器102a、服务器102b和服务器102c为例说明。客户端101与服务器集群102中的每个服务器之间通过有线或无线的方式连接;服务器102a、服务器102b和服务器102c之间通过有线或无线的方式连接;服务器102a、服务器102b和服务器102c分别与待控制设备104通过i/o总线103连接。

客户端101上部署有应用程序开发环境软件,比如集成开发环境(integrateddevelopmentenvironment,简称ide)软件。其中,开发环境软件包括编辑器、编译器。所述开发环境软件支持国际电工委员会(internationalelectrotechnicalcommission,简称iec)61131标准和iec61499标准。用户在开发环境使用iec61131标准的结构化文本(structuredtext,简称st)语言编辑器、中间语言(intermediatelanguage,简称il)语言编辑器、功能块图(functionblockdiagram,简称fbd)语言编辑器、顺序功能图(seauentialfuctionchart简称sfc)语言编辑器、梯形图(ladderlogicprogramminglanguage,简称lad)语言编辑器在编辑器中进行编程;使用iec61499标准的功能块图编辑器、iec61499执行控制图表(executioncontrolchart,简称ecc)图编辑器、交叉编辑器进行功能块图和ecc图编程。本发明实施例中,客户端在编辑器中进行程序编辑时,将iec61499标准和iec61131标准结合使用来部署软plc、和软守护器,由于iec61131标准规定了单独的软plc的控制逻辑,单个软plc之间的通讯协议和通讯策略;为了获得一个对整个基于plc分布式控制系统的控制逻辑,采用iec61499标准作为补充。iec61499标准规定了各个软plc之间的通讯协议和通讯策略,弱化了具体通讯协议的功能,如此,编程人员在进行部署软plc和软守护器的编程时,开始可以省去考虑各个软plc之间的通讯协议和通讯策略,仅需要关注整个分布式控制系统的控制逻辑,在部署完整个分布式控制系统的控制逻辑后,再根据iec61131标准分配给具体每个软plc。在各服务器上部署的软plc和软守护器采用将iec61499标准和iec61131标准结合的编程方式可使得编程更加简洁容易、且程序的维护性较高。编程人员根据需求,在编辑器上编辑软plc拓扑结构信息和所述软plc的指令集合。在编译器中将软plc拓扑结构信息和所述软plc的控制逻辑源代码转化为可以在运行环境中可执行的机器指令集合。

服务器集群102中的各服务器可以是工业服务器;服务器集群102中的每个服务器部署有虚拟化操作系统。服务器集群102;所述服务器集群中的各服务器上部署有虚拟化操作系统;所述服务器,用于接收初始化部署指令;其中,所述初始化部署指令中包括软plc拓扑结构信息、软守护器拓扑结构信息、软plc的实时操作系统信息及软守护器的实时操作系统信息;根据所述初始化部署指令在所述服务器的所述虚拟化操作系统上部署软plc、软守护器、所述软plc的实时操作系统和所述软守护器的实时操作系统;所述初始化部署指令是采用iec61499标准和iec61131标准结合的编程方式生成的。其中,所述虚拟化操作系统可以为interwellos系统,软plc可以为运行时环境(runtimeenvironment,简称rte)软件,实时操作系统可以类unix内核软件,比如“道”系统。unix内核软件是一个多用户、多任务操作系统,支持多种处理器架构分时操作系统。由于服务器集群102中的每个服务器上部署有所述软plc的实时操作系统和所述软控制器的实时操作系统,因此,可以通过实时操作系统提高每个软plc控制的待控制设备的实时性以及整个分布式控制系统的实时性。

i/o总线103用于获得输入和执行输入以控制工业现场各待控制设备104执行相应的指令;待控制设备104可以是电动机或者机械臂等。

本发明实施例中,软守护器为部署于服务器上的仿真守护器,用于守护软plc的工作状态。软守护器的部署包括多种方式。方式一:软守护器可以和软plc部署到同一个服务器中。为了降低同一服务器故障时承担的风险,通常软守护器不与被守护的软plc部署在同一服务器上。方式二:软守护器单独部署到一个服务器上。可选地,每种方式下的软守护器可以部署一个或多个,防止当某个软守护器故障后,不能实时守护软plc的工作状态。

基于图1所示的系统架构,图2示例性示出了本发明实施例提供的一种基于plc分布式控制的容灾方法的方法流程示意图,如图2所示,该基于plc分布式控制的容灾方法包括以下步骤:

步骤201,软守护器在确定软plc故障时,获取服务器集群中各服务器的工作状态;

步骤202,软守护器根据各服务器的工作状态,确定目标服务器;

步骤203,软守护器向目标服务器发送部署指令,部署指令用于指示目标服务器部署软plc。

由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器plc及所述软plc的实时操作系统,通过软plc的实时操作系统,可以提高各软plc控制时的实时性;通过所述软守护器的实时操作系统可提高整个分布式控制系统的实时性。

进一步,所述软守护器在确定所述软plc故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软plc,不影响整个分布式控制系统的正常工作;如此,可以提高了分布式控制系统容灾能力、且分布式控制系统易于维护。

本发明实施例中,编程人员根据实际需求,在客户端采用iec61499标准和iec61131标准结合的编程方式预先编辑初始化部署指令:所述初始化部署指令中包括服务器集群中服务器之间的拓扑结构、所述软plc拓扑结构信息、软plc的实时操作系统信息、软守护器的实时操作系统信息、软plc拓扑结构信息和所述软plc的指令集;其中,软plc的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述软plc拓扑结构信息包括各软plc与服务器之间的映射关系和软守护器与软plc之间的映射关系。之后,客户端将编辑器中编辑的内容在编译器中转化为可以在运行环境中可执行的机器指令,并向服务器集群中的每个服务器发送。

可选地,服务器集群中的每个服务器接收到客户端发送的初始化部署指令后,各个服务器根据所述初始化部署指令在所述服务器的所述虚拟化操作系统上部署软plc、软守护器、所述软plc的实时操作系统和所述软守护器的实时操作系统;并向客户端发送已部署成功的响应。客户端在接收到服务器集群中每个服务器发送的已部署成功的响应后,确认启动运行所述各软plc和软守护器。可选地,各服务器中虚拟化出的软守护器根据软plc拓扑结构信息确定出要守护的软plc,各软plc根据软plc的指令集确定要执行的指令。当服务器集群中的每个服务器接收到客户端发送的启动指令后,根据所述启动指令启动所述软plc和所述软守护器;软plc和所述软守护器启动之后根据软plc的指令集分别执行相应的指令、软守护器根据软plc拓扑结构信息守护相应的软plc。

本发明实施例中,部署软plc、软守护器、所述软plc的实时操作系统和所述软守护器的实时操作系统可以是通过虚拟化技术虚拟出软plc、软守护器、所述软plc的实时操作系统和所述软守护器的实时操作系统。

为了便于理解,本发明实施例中图3示出了应用本发明实施例的一种软plc与服务器之间的部署关系。如图3所示,服务器102a上部署有软plc11、plc12和软守护器1;服务器102b上部署有软plc21、plc22、plc23和软守护器2;服务器102c上部署有软plc31和软守护器3;其中,软守护器1负责软plc21、plc22、plc23和plc31;软守护器2负责守护软plc11、plc12和plc31;软守护器3负责守护软plc11、plc12、plc21、plc22和plc23。为了降低同一服务器故障时承担的风险,通常软守护器不与在该软守护器守护的软plc部署在同一服务器上。

本发明实施例中,所述软守护器在确定所述软plc故障之前,还包括:所述软守护器获取所述软plc拓扑结构信息;所述软plc拓扑结构信息包括软守护器与软plc之间的映射关系;所述软守护器根据所述映射关系,守护所述软plc的工作状态。

本发明实施例中,软守护器与软plc之间的映射关系具体可为:软守护器需要守护哪些软plc;在所述软守护器确定出需要守护的软plc后,软守护器守护所述软plc的工作状态。一种具体的实现为:所述软守护器向每个被守护的软plc发送心跳报文,当软plc在正常工作状态时,向软守护器反馈心跳报文的响应;当所述软守护器在预设时长内未收到所述软plc的心跳报文响应时,所述软守护器确定所述软plc的工作状态为故障。

在软守护器确定软plc故障时,为了不影响整个分布式控制系统的工作,软守护器需要向目标服务器发送部署指令,部署出故障的软plc对应的新的软plc。

本发明实施例中,所述软守护器向所述目标服务器发送部署指令,包括:所述软守护器确定所述软plc的配置信息和所述软plc的指令集;所述软plc的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述软守护器向所述目标服务器发送部署指令,所述部署指令包括所述软plc的配置信息和所述软plc的指令集。

一种可选的方式,软守护器确定软plc故障时,获取所述服务器集群中的各服务器的工作状态,比如确定各服务器的中央处理器(centralprocessingunit,简称cpu)的占用率,将cpu占用率最小的服务器作为目标服务器;或者将cpu占用率低于第一阈值的服务器作为目标服务器。目标服务器可以是一个也可以是多个。若目标服务器为多个时,在部署指令中携带多个目标服务器之间部署的规则。比如,平均分配规则或按各目标服务器的cpu占用率的反比部署故障的软plc。

本发明实施例中,所述软守护器向所述目标服务器发送部署指令之后,还包括:所述软守护器更新所述软plc拓扑结构信息。

可选地,所述软plc的拓扑结构信息还包括各软plc与服务器之间的映射关系。当软plc故障时,软守护器向目标服务器发送部署指令,目标服务器根据该部署指令部署出与故障的软plc相应的新的软plc其中,目标服务器可能是故障的软plc所在的服务器也可能不是。如目标服务器不是原来的故障的软plc所在的服务器,需要将软守护器中的软plc拓扑结构进行更新,即将各软plc与服务器之间的映射关系进行更新。便于运维人员的维护。

本发明实施例中,所述软守护器守护各服务器的工作状态;所述软守护器确定存在异常状态的服务器时,发送报警信息。

本发明实施例中,异常状态包括服务器故障或者服务器当前cpu的占用率大于第二阈值;其中,第二阈值大于第一阈值;当软守护器确定服务器集群中存在异常状态的服务器时,发送报警。如此,可便于提示维修人员及时修复已故障的服务器或特别关注cpu的占用率大于第二阈值的服务器,进而提升整个基于plc分布式控制系统的容灾能力。

从上述内容可以看出:本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器plc及所述软plc的实时操作系统,通过软plc的实时操作系统,可以提高各软plc控制时的实时性;通过所述软守护器的实时操作系统可提高整个分布式控制系统的实时性。

进一步,所述软守护器在确定所述软plc故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软plc,不影响整个分布式控制系统的正常工作;如此,可以提高了分布式控制系统容灾能力、且分布式控制系统易于维护。

基于相同的技术构思,本发明实施例还提供一种基于plc分布式控制系统的容灾装置,该装置可执行上述方法实施例。该装置应用于部署有虚拟化操作系统的服务器集群;所述服务器集群中的各服务器部署有软可编程逻辑控制器plc、所述软plc的实时操作系统、软守护器及所述软守护器的实时操作系统;图4为本发明实施例提供了一种基于plc分布式控制系统的容灾装置的结构示意图,如图4所示,该装置400包括获取单元401、确定单元402、发送单元403;可选地,还包括守护单元404和更新单元405。其中:

获取单元,用于在确定所述软plc故障时,获取所述服务器集群中各服务器的工作状态;确定单元,用于根据所述各服务器的工作状态,确定目标服务器;发送单元,用于向所述目标服务器发送部署指令,所述部署指令用于指示所述目标服务器部署所述软plc。

本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器plc及所述软plc的实时操作系统,通过软plc的实时操作系统,可以提高各软plc控制时的实时性;通过所述软守护器的实时操作系统可提高整个分布式控制系统的实时性。

进一步,所述软守护器在确定所述软plc故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软plc,不影响整个分布式控制系统的正常工作;如此,可以提高了分布式控制系统容灾能力、且分布式控制系统易于维护。

可选地,所述获取单元,还用于:获取所述软plc拓扑结构信息;所述软plc拓扑结构信息包括软守护器与软plc之间的映射关系;还包括守护单元,用于:根据所述映射关系,守护所述软plc的工作状态。

可选地,所述确定单元,用于:所确定所述软plc的指令集;所述软plc的指令集中包括采用事件驱动运行的第一指令集,采用周期轮询和事件驱动运行的第二指令集;所述发送单元,用于:向所述目标服务器发送部署指令,所述部署指令包括所述软plc的指令集。

可选地,还包括更新单元,所述更新单元,用于:更新所述软plc拓扑结构信息。

可选地,所述守护单元,还用于:守护各所述服务器的工作状态;所述发送单元,用于:确定存在异常状态的服务器时,发送报警信息。

从上述内容可以看出:本发明实施例中,由于本发明实施例中,所述服务器集群中的各服务器部署有软可编程逻辑控制器plc及所述软plc的实时操作系统,通过软plc的实时操作系统,可以提高各软plc控制时的实时性;通过所述软守护器的实时操作系统可提高整个分布式控制系统的实时性。

进一步,所述软守护器在确定所述软plc故障时,获取所述服务器集群中各服务器的工作状态;根据所述各服务器的工作状态,确定目标服务器;通过向确定出的所述目标服务器发送部署指令,实现了在目标服务器上自动重新部署出软plc,不影响整个分布式控制系统的正常工作;如此,可以提高了分布式控制系统容灾能力、且分布式控制系统易于维护。

实施例二

在实施例一的基础上,本实施例中服务器集群中每个服务器上包括一个或多个物理核,每个物理核上运行有多个微内核。本实施例中的微内核可以是虚拟化实时操作系统,物理核可以是cpu物理核,其中,虚拟化实时操作系统可以是安装多个类unix内核的虚拟化操作系统,例如安装“道”的intewellos系统,其中,unix内核软件是一个多用户、多任务操作系统,支持多种处理器架构分时操作系统。基于plc分布式控制系统的控制逻辑,plc分布式控制系统包括多个具有关系的虚拟plc,每个虚拟plc运行在不同的微内核上。当有虚拟plc故障时,可以重构出该虚拟的plc,以实现故障的虚拟plc的相应功能。

图4a示例性示出了本发明实施例提供的一种服务器内部结构示意图。服务器可以是上述实施例一中服务器102a、服务器102b和服务器102c中的任一个。如图4a所示,服务器包括物理核a和物理核b,在物理核a上部署有10个虚拟化实时操作系统,在10个虚拟化实时操作系统的任5个上部署有rte,在任1个上部署有守护内核,如此,可实现在物理核上部署虚拟plc1、虚拟plc2、虚拟plc3、虚拟plc4、虚拟plc5、以及软守护器1。未部署rte或者守护内核的4个虚拟化实时操作系统可以称为空槽,也可以理解为虚拟化实时操作系统富余。在物理核b上也部署有10个虚拟化实时操作系统,在其中任2个虚拟化实时操作系统上部署有rte,在任2个上部署守护内核,可实现在物理核b上部署虚拟plc7、虚拟plc8、软守护器2和软守护器3。未部署rte或者守护内核的6个虚拟化实时操作系统可以称为空槽,也可以理解为虚拟化实时操作系统富余。可选地,物理核也可以是硬件plc。软守护器也可以理解为部署于服务器的物理核上的微内核上的仿真守护器,用于守护虚拟plc的工作状态。示例性地,软守护器1守护虚拟plc7和虚拟plc8,软守护器2守护虚拟plc1、虚拟plc2和虚拟plc3,软守护器3守护虚拟plc4和虚拟plc5。

基于上述图4a,图4b示例性示出了本发明实施例提供的一种服务器上的一个物理核故障后的内部部署结构示意图。如图4b所示,当物理核a故障后,可以将物理核a上故障的虚拟plc1、虚拟plc2、虚拟plc3、虚拟plc4、虚拟plc5、以及软守护器1在物理核b的6个空槽虚拟化实时操作系统上重构,可得到如图4b的物理核b所示的部署结构。

基于上述内容,图5示例性示出了本发明实施例提供的一种软件定义plc的监控和重构方法流程示意图。其中,软件定义plc是指:根据用户自定义方案,在系统启动前事先确定每个微内核上运行有哪些虚拟plc、每个微内核上对应的虚拟plc的调度算法,从而通过微内核实现plc的工业控制。服务器可以是上述实施例一中的图1中的服务器102a、服务器102b或服务器102c中的任一个。如图5所示,该方法包括以下步骤:

步骤501,软守护器在监控到虚拟plc故障时,获取服务器集群中各服务器上各物理核的工作状态以及各物理核上各微内核的工作状态。

此处,各服务器上各物理核的工作状态包括各服务器上的各物理核的第一负载信息,第一负载信息可以是物理核的占用率。各微内核的工作状态包括各微内核的第二负载信息,第二负载在信息可以是微内核的占用率。

结合上述图4a,软守护器1、软守护器2和软守护器3均可以获取到物理核a和物理核b的工作状态,也可以获取到物理核a上的10个微内核的工作状态以及物理核b上10个微内核的工作状态。

步骤502,软守护器根据各服务器上各物理核的工作状态以及各物理核上各微内核的工作状态,确定目标微内核。

本发明实施例中,提供了如下实现方式一和实现方式二两种确定目标微内核的方式。

实现方式一,软守护器获取服务器集群中各服务器上各物理核的第一负载信息以及各物理核上各微内核的第二负载信息;软守护器根据各服务器上各物理核的第一负载信息以及各物理核上各微内核的第二负载信息,确定目标微内核。

本发明实施中以第一负载信息为物理核的占用率、第二负载信息为微内核的占用率为例说明。软守护器可以获取到服务器集中各服务器上各物理核的占用率和各微内核的占用率。一种方式可以是:将占用率最小的物理核确定为目标物理核,再将目标物理核中微内核的占用率最小的微内核确定为目标微内核。另一种方式也可以是:将物理核的占用率低于第一阈值的物理核作为目标物理核,将目标物理核中微内核的占用率低于第二阈值的微内核作为目标微内核,其中,第一阈值和第二阈值可以相同,也可以不相同。确定出的目标微内核可以为一个,也可以为多个。若为多个时,软守护器中可预先存储一些部署规则,例如平均部署规则、随机部署规则或按各微内核权重进行部署等。

实现方式二,软守护器获取到的配置信息中可包括指定虚拟plc故障时的部署策略,指定虚拟plc故障时的部署策略指示指定虚拟plc故障后重构的物理核优先顺序和每个物理核上的微内核优先顺序。在一些实施例中,软守护器根据各服务器上各物理核的第一负载信息、各物理核上各微内核的第二负载信息、以及指定虚拟plc故障时的部署策略,确定目标微内核。

针对上述实现方式二,本发明实施例提供了两种可能的实现方式(方式a和方式b)。

方式a,根据物理核的优先顺序,将优先顺序最高的物理核确定为准目标物理核。若准目标物理核的第一负载信息小于第一阈值,可将该准目标物理核确定为目标物理核;若确定该准目标物理核的第一负载信息不小于第一阈值,则确定可将优先顺序第二的物理核确定为准目标物理核,以此类推,可确定出目标物理核。之后从目标物理核中确定出目标微内核,将目标物理核上优先顺序最高的微内核确定为准目标微内核。若该准目标微内核的第二负载信息小于第二阈值,则可确定该准目标微内核为目标微内核;若该准目标微内核的第二负载信息不小于第二阈值,则将优先顺序第二高的微内核确定为准目标微内核,若确定优先顺序第二高的准目标微内核的第二负载信息小于第二阈值,则确定优先顺序第二高的准目标微内核为目标微内核。以此类推,从目标物理核上确定出目标微内核。

方式b,将各物理核中第一负载信息小于第一阈值的物理核确定为准目标物理核,之后将准目标物理核中优先顺序最高的准目标物理核确定为目标物理核。再将目标物理核上各微内核的第二负载信息小于第二阈值的各微内核确定为准目标微内核,将准目标微内核中优先顺序最高的准微内核确定为目标微内核。

在一种可能的实现方式中,目标微内核可以是故障虚拟plc所在的服务器上的一个微内核,也可以不是故障的虚拟plc所在的服务器上的微内核。

步骤503,软守护器向目标微内核发送重构指令,重构指令用于指示在目标微内核上重构虚拟plc。

相应地,服务器接收来自软守护器的重构指令,重构指令包括软守护器守护的指定虚拟plc的用户程序编译结果文件和重构指定虚拟plc的目标微内核。

在一种可选地实现方式中,软守护器获取到的配置信息中包括软守护器监控的指定虚拟plc,以及指定虚拟plc的用户程序编译结果文件。其中,软守护器监控的指定虚拟plc与软守护器可在同一个物理核,或者,软守护器监控的指定plc与软守护器也可不在同一个物理核上。可选地,软守护器根据配置信息监控指定虚拟plc的工作状态。

在一种可能的实现方式中,软守护器向目标微内核发送包括指定虚拟plc的用户程序编译结果文件的重构指令。其中,虚拟plc的用户程序为实现工业控制目的而编制的程序,可包括任务内容、输入输出信息和任务指令集等。指令集可以是打开阀门、关闭阀门、启动抓取臂或者工艺流程上的控制指令的集合。任务是虚拟plc加载指令集的载体,可分为周期型任务和触发式任务,具有周期、优先级、触发条件等属性。其中周期性任务也称为周期轮询任务,触发式任务也称为事件驱动型任务。输出信息包括输入是从哪些硬件采集来信息,输出是指要输出给其它哪些硬件。

步骤504,服务器根据指定虚拟plc的用户程序编译结果文件,在目标微内核上重构虚拟plc。

在一种可能的实现方式中,在目标微内核上启动预装于目标微内核上的虚拟plc的系统程序;在虚拟plc的系统程序上运行指定虚拟plc的用户程序编译结果文件。本申请实施例提供一种可能的实现方式为,虚拟plc的系统程序读取虚拟plc的用户程序,初始化资源,运行用户程序中任务指令集,即可实现成功部署虚拟plc。如此,不需要对用户程序进行再次编译,可直接读取并运行用户程序中任一指令集来实现虚拟plc的重构,相比于现有技术中的冗余备份,可实现快速重构虚拟plc。而且服务器不需要下电即可重构出虚拟plc,进而可不影响整个分布式控制系统中正常虚拟plc的正常工作。

结合上述图4a和图4b,预装为目标微内核上的虚拟plc的系统程序可以是rte软件。rte软件可为虚拟plc的用户程序提供访问硬件资源的功能(例如访问内存、cpu等)、输入输出功能(例如采集传感器的信息,向被控器件输出信息),为用户程序屏蔽硬件环境和外部通信环境,用户程序只关心plc的控制逻辑、输出的内容和输入的内容等,不关心怎样向外部输出信息、采集外部信息、怎么访问硬件资源等。

传统的plc分布式控制系统中plc冗余备份是指:针对一个plc,增加一个或多个冗余的plc,实现热备份。该plc故障后,通知它的备份plc运行。而该plc和它的备份plc均故障后,因为分布式系统中plc之间有逻辑关系,会导致分布式系统中其它plc也无法运行,需要对服务器下电用新的plc替换,对plc重新接线。然而,从本发明实施例中的上述步骤501至步骤504可以看出,在一个物理核上虚拟出多个微内核,每个微内核(虚拟操作系统)上运行一个虚拟plc。如果虚拟plc故障,可以在另一个微内核上重构该plc,由于各个微内核之间互不影响,因此,在重构虚拟plc时,不需要对服务器下电,也不需要对服务器重新接线,可以在不下电的情况下实现重构虚拟plc,从而不影响系统中其它plc的运行。

进一步,服务器集群中的各服务器的物理核上部署虚拟化的实时操作系统,虚拟plc部署于虚拟化的实时操作系统上,因此,可以提高各虚拟plc控制时的实时性;且软守护器部署在虚拟化的实时操作系统上可提高整个系统的实时性。

在上述步骤501之前,各服务器可在物理核的微内核上部署虚拟plc或软守护器。图6示例性示出了本申请提供的一种服务器部署虚拟plc或守护器的方法流程示意图。服务器可以是上述实施例一的图1中的服务器102a、服务器102b或服务器102c中的任一个。如图6所示,方法包括:

步骤601,客户端配置初始化部署指令。

其中,初始化部署指令在指定物理核上的指定微内核上部署软守护器,在指定物理核上的指定微内核上部署虚拟plc,软守护器监控的指定虚拟plc,指定虚拟plc与软守护器在同一个物理核,或者,软守护器监控的指定plc与软守护器不在同一个物理核上。

结合上述图4a,软守护器1和指定虚拟plc7和虚拟plc8,不在同一个物理核上,软守护器2和指定虚拟plc1、虚拟plc2、虚拟plc3不在同一个物理核上,软守护器3和指定虚拟plc4和虚拟plc5也不在同一个物理核上。图4b中的软守护器1和指定虚拟plc7和虚拟plc8,在同一个物理核上,软守护器2和指定虚拟plc1、虚拟plc2、虚拟plc3在同一个物理核上,软守护器3和指定虚拟plc4和虚拟plc5也在同一个物理核上。

进一步,软守护器与服务器之间可有如下两种部署方式,方式一:软守护器可以和指定虚拟plc部署到同一个服务器中,即可以部署于同一服务器的不同物理核的不同微内核上。为了降低同一服务器故障时承担的风险,也可将软守护器与指定虚拟plc部署在不同服务器。方式二:全部的软守护器单独部署到一个服务器上,即不同的软守护器可部署在同一服务器的不同物理核上、且均与指定虚拟plc部署在不同的服务器上,且单独部署软守护器的服务器有至少一个备份的服务器。可选地,每种方式下的软守护器可以部署一个或多个,防止当某个软守护器故障后,不能实时守护虚拟plc的工作状态。

一种可能的实现方式中,初始化部署指令可采用iec61499标准和iec61131标准结合的编程方式生成。也可以理解为,客户端将编辑器中编辑的内容在编译器中转化为可以在运行环境中可执行的机器指令集,并向服务器集群中的每个服务器发送。

步骤602,客户端向服务器发送初始化部署指令。

相应地,服务器接收来自客户端的初始化部署指令。

步骤603,服务器根据初始化部署指令中的配置信息部署虚拟plc和软守护器。

步骤604,服务器向客户端发送已部署成功的响应。

步骤605,客户端在接收到服务器集群中每个服务器发送的已部署成功的响应后,确认启动运行各虚拟plc和软守护器,并向服务器集群中的各服务器上的各物理核的各微内核发送启动运行指令。

步骤606,服务器启动运行各虚拟plc和各软守护器。

本发明实施例中,服务器启动运行虚拟plc和软守护器之后,软守护器根据配置信息中软守护器监控的指定虚拟plc,守护指定虚拟plc。软守护器可以跨物理核守护指定虚拟plc,也可以跨服务器守护指定虚拟plc。软守护器向每个被守护的指定虚拟plc发送心跳报文,当指定虚拟plc在正常工作状态时,会向软守护器反馈心跳报文的响应;当软守护器在预设时长内未收到指定虚拟plc的心跳报文响应时,软守护器确定指定虚拟plc的工作状态为异常状态,可发送报警信息。

在一些可能的实施例中,服务器上各物理核的工作状态、以及个物理核上各微内核的工作状态还包括异常状态。若软守护器确定服务器上物理核处于异常状态、或者确定物理核上的微内核处于异常状态,软守护器可发送报警信息。

本发明实施例中,异常状态可包括物理核和/或微内核故障,也可以指物理核和/或微内核当前占用率大于第三阈值;其中,第三阈值大于第一阈值、第三阈值也大于第二阈值。当软守护器确定服务器集群中的服务器上物理核和/或微内核的处于异常状态时,发送报警。如此,可便于提示维修人员及时修复已故障的物理核和/或微内核、或特别关注占用率大于第三阈值的物理核和/或微内核,进而可提升整个虚拟plc系统的容灾能力。

基于相同的技术构思,本发明实施例提供一种服务器,该服务器可执行上述方法实施例。该服务器应用于服务器集群,所述服务器集群中的各服务器包括至少一个物理核,所述物理核上部署有至少两个微内核,所述服务器集群中包括一个或多个软守护器,所述微内核上部署有虚拟plc或软守护器。图7为本发明实施例提供了一种软守护器的结构示意图,如图7所示,该软守护器700包括获取单元701、处理单元702和发送单元703。其中:

获取单元701,用于在监控到虚拟plc故障时,获取所述服务器集群中各服务器上各物理核的工作状态以及所述各物理核上各微内核的工作状态;处理单元702,用于根据所述各服务器上各物理核的工作状态以及所述各物理核上各微内核的工作状态,确定目标微内核;发送单元703,用于向所述目标微内核发送重构指令,所述重构指令用于指示在所述目标微内核上重构所述虚拟plc。

可选地,所述获取单元701,还用于:获取配置信息,所述配置信息包括所述软守护器监控的指定虚拟plc,所述软守护器监控的指定虚拟plc与所述软守护器在同一个物理核,或者,所述软守护器监控的指定plc与所述软守护器不在同一个物理核上;所述处理单元702,还用于:根据所述配置信息监控所述指定虚拟plc的工作状态。

可选地,所述获取单元701,还用于:获取配置信息,所述配置信息包括所述软守护器监控的指定虚拟plc,所述配置信息还包括所述指定虚拟plc的用户程序编译结果文件;所述发送单元703,具体用于:向所述目标微内核发送包括所述指定虚拟plc的用户程序编译结果文件的重构指令,所述重构指令用于指示所述目标微内核根据所述指定虚拟plc的用户程序编译结果文件重构所述指定虚拟plc。

可选地,所述各物理核的工作状态包括所述各物理核的第一负载信息;所述各微内核的工作状态包括所述各微内核的第二负载信息;所述获取单元701,具体用于:获取所述各服务器上各物理核的第一负载信息以及所述各物理核上各微内核的第二负载信息;所述处理单元702,具体用于:根据所述各服务器上各物理核的第一负载信息以及所述各物理核上各微内核的第二负载信息,确定目标微内核。

基于相同的技术构思,本发明实施例提供一种服务器,应用于服务器集群,所述服务器集群中的各服务器包括至少一个物理核,所述物理核上部署有至少两个微内核,所述服务器集群中包括一个或多个软守护器,所述微内核上部署有虚拟plc或软守护器。图8为本发明实施例提供了一种服务器的结构示意图,如图8所示,该服务器800包括接收单元801和处理单元802。其中:

接收单元801,用于接收来自所述软守护器的重构指令,所述重构指令包括所述软守护器守护的指定虚拟plc的用户程序编译结果文件和重构所述指定虚拟plc的目标微内核;处理单元802,用于根据所述指定虚拟plc的用户程序编译结果文件,在所述目标微内核上重构所述虚拟plc。

可选地,所述处理单元802,具体用于:在所述目标微内核上启动预装于所述目标微内核上的虚拟plc的系统程序;在虚拟plc的系统程序上运行所述指定虚拟plc的用户程序编译结果文件。

可选地,所述接收单元801,还用于:接收来自客户端的初始化部署指令,所述初始化部署指令在指定物理核上的指定微内核上部署软守护器,在指定物理核上的指定微内核上部署虚拟plc,所述软守护器监控的指定虚拟plc,所述指定虚拟plc与所述软守护器在同一个物理核,或者,所述软守护器监控的指定plc与所述软守护器不在同一个物理核上;所述处理单元802,还用于:根据所述初始化部署指令中的所述配置信息部署虚拟plc和软守护器。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,所述指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(mo)等)、光介质(例如,cd、dvd、bd、hvd等)、或者半导体介质(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(solidstatedisk,ssd))等。本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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

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

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

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