虚拟单盘代理系统及方法
技术领域
本发明涉及多种协议类型的第三方设备的管理领域,具体是涉及一种虚拟单盘代理系统及方法。
背景技术
随着通信技术的高速发展,通信设备也越来越多样化,设备功能需求也越来越多。在实际应用中,系统中会涉及第三方设备(Third party equipment)。
第三方设备通信接口多样,有用在多种不同设备上的需求,且所遵循的协议不统一,软件架构也各不相同,为满足不同厂商接入的需求,实现第三方设备在网管上与已有设备统一管理,目前有两种方案:
第一种方案是:修改主控软件以屏蔽设备差异,具体是由主控识别出第三方设备类型,主控根据第三方设备类型,确定第三方设备使用的设备协议,实现第三方设备协议与当前设备协议之间的转换,即将第三方设备上送数据转换成当前设备可识别的协议解析,有关配置等数据转换成第三方设备使用的协议下发给第三方设备。
第二种方案是:对第三方设备软件进行重构,每一种设备协议对应一套第三方设备软件,相同的第三方设备在不同的设备上管理,需要烧入不同的软件。
第一种方案对主控软件框架冲击很大,并且主控软件版本难以控制,主要表现在第三方设备通信方式有多种形式,诸如RS-485、IIC(Inter-Integrated Circuit,集成电路总线)、SPI(Serial Peripheral Interface,串行外设接口)、以太网等,主控程序要根据第三方设备类型适配不同通信协议,并且在数据收发处理中有所区分,第三方设备每增加一种通信方式,主控程序收发处理就需要增加一个处理分支,因此对现有主控软件框架冲击大,且大大增加回归测试工作量。协议的适配是在主控上实现,第三方设备每增加一类,或第三方设备中协议发生更改,主控程序都要对应的做相应修改,随着第三方设备的增加,主控程序会越来越冗余。主控软件版本受第三方设备影响太大,改动过于频繁,不利于软件版本管控,且大大降低了主控的可靠性。除此之外,在主控进程中适配屏蔽第三方设备差异,不能裁剪,在没有第三方设备需求的情况下,主控依旧运行判定处理,影响主控效率。
第二种方案对第三方设备软件管控要求较高:同一种第三方设备用在不同设备上软件是不同的,但在外观上无法区分使用哪一套软件,如果使用的第三方设备软件与网管的设备协议不匹配,第三方设备不能受网管管控,且无法在线升级,第三方设备出现黑盘状态,不利于工程应用。另外除设备协议相关的更改,第三方设备所有版本软件都需要同步更改,在流程操作上存在一定难度。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:由于第三方设备通信方式以及所使用的设备协议不统一,在设备呈现方面有很大差异,在现有技术上实现第三方设备在网管上的统一展现与控制,会使得软件系统框架冗余,显著降低原有设备的可靠性,且不具有可扩展性。
发明内容
本发明的目的是为了解决多种协议类型不统一的第三方设备在网管上统一展现与控制,提供一种虚拟单盘代理系统及方法,隔离了第三方设备间的差异,能够实现多种协议类型不统一的第三方设备在网管上的统一展现与控制,且简化了软件系统框架,增强了原有设备的可靠性以及可扩展性。
第一方面,提供一种虚拟单盘代理系统,包括:
独立于设备管理进程的虚拟单盘代理进程,用于:使用转发进程的软件框架,管理虚拟单盘多实例,代理虚拟单盘自举,处理虚拟单盘数据透传,统一管理协议差异的第三方设备,使主控盘不感知第三方设备的存在。
根据第一方面,在第一方面的第一种可能的实现方式中,所述虚拟单盘代理系统还包括:
虚拟单盘代理进程根据第三方设备创建的虚拟单盘子进程,其用于:向虚拟单盘代理进程进行自举;采集、封装数据,送至虚拟单盘代理进程;根据虚拟单盘代理进程下发的配置信息配置第三方设备。
根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述虚拟单盘代理进程,还用于:标识其与主控盘之间的盘间通信链路,所述盘间通信链路与第三方设备单盘一一对应;实时检测虚拟单盘代理进程与虚拟单盘子进程之间的通信是否正常,若通信正常,则使能主控盘与虚拟单盘代理进程之间的盘间通信链路;若通信异常,则取消对应的盘间通信链路使能。
根据第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述虚拟单盘代理进程包括虚拟单盘管理模块,用于维护第三方设备的单盘信息。
根据第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述虚拟单盘管理模块维护第三方设备的单盘信息,包括以下步骤:
根据新增的第三方设备单盘类型创建虚拟单盘子进程,并完成第三方设备单盘对主控盘的自举;发现第三方设备单盘被删除时,删除对应的管理链表信息,再删除对应的虚拟单盘子进程。
根据第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述虚拟单盘子进程包括:第三方设备驱动模块,用于与第三方设备进行数据交互。
根据第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述虚拟单盘子进程还用于:根据第三方设备驱动模块采集的数据,对告警、性能、状态数据进行实时更新,当接收到虚拟单盘代理进程下发的告警、性能、状态查询命令时,按照与主控盘的协议格式对数据进行组织,并上报给虚拟单盘代理进程。
第二方面,提供一种虚拟单盘代理方法,包括以下步骤:
独立于设备管理进程,创建虚拟单盘代理进程;
虚拟单盘代理进程使用转发进程的软件框架,管理虚拟单盘多实例,代理虚拟单盘自举,处理虚拟单盘数据透传,统一管理协议差异的第三方设备,使主控盘不感知第三方设备的存在。
根据第二方面,在第二方面的第一种可能的实现方式中,所述虚拟单盘代理方法还包括以下步骤:
所述虚拟单盘代理进程根据第三方设备创建虚拟单盘子进程;
虚拟单盘子进程向虚拟单盘代理进程进行自举;采集、封装数据,送至虚拟单盘代理进程;根据虚拟单盘代理进程下发的配置信息配置第三方设备。
根据第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述虚拟单盘代理方法还包括以下步骤:
所述虚拟单盘代理进程标识其与主控盘之间的盘间通信链路,所述盘间通信链路与第三方设备单盘一一对应;
实时检测虚拟单盘代理进程与虚拟单盘子进程之间的通信是否正常,若通信正常,则使能主控盘与虚拟单盘代理进程之间的盘间通信链路;若通信异常,则取消对应的盘间通信链路使能。
与现有技术相比,本发明的优点如下:
(1)为满足不同厂商接入的需求,且在网管上进行统一展现与控制,本发明提出了虚拟单盘代理方案:独立于设备管理进程,创建虚拟单盘代理进程,虚拟单盘代理进程使用转发进程的软件框架,管理虚拟单盘多实例,代理虚拟单盘自举,处理虚拟单盘数据透传,统一管理协议差异的第三方设备,使主控盘不感知第三方设备的存在。本发明隔离了第三方设备之间的差异,能够实现多种协议类型不统一的第三方设备在网管上的统一展现与控制,且简化了软件系统框架,增强了原有设备的可靠性以及可扩展性,不同第三方设备在同一网管下统一风格呈现,能够提高第三方设备的竞争力。
(2)由于简化了系统软件架构,还能够减少开发成本,后期兼容方面可扩展性强。
附图说明
图1是本发明实施例中虚拟单盘代理数据的交互示意图。
图2是本发明实施例中虚拟单盘代理系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
第三方设备的通信接口多样,且所遵循的协议不统一,为满足不同厂商接入的需求,隔离第三方设备间的差异,以及在网管上统一展现与管理多种协议类型不统一的第三方设备,参见图1所示,本发明实施例提供一种虚拟单盘代理系统,包括:
独立于设备管理进程的虚拟单盘代理进程,其用于:
使用转发进程的软件框架,管理虚拟单盘多实例,代理虚拟单盘自举,处理虚拟单盘数据透传,统一管理协议差异的第三方设备,使主控盘不感知第三方设备的存在。
虚拟单盘代理进程可以和主控盘在一个CPU上,也可以不在一个CPU上。
参见图1所示,虚拟单盘代理进程与实体单盘转发进程的软件架构相同,虚拟单盘代理进程包括数据收发处理模块,该数据收发处理模块可借鉴成熟的实体单盘转发进程中已有的数据收发处理模块,大大减小调试工作量,提高了软件可靠性能。
作为优选的实施方式,上述虚拟单盘代理系统还包括:
虚拟单盘代理进程根据第三方设备创建的虚拟单盘子进程,其用于:向虚拟单盘代理进程进行单盘自举;采集数据、封装数据,送至虚拟单盘代理进程;根据虚拟单盘代理进程下发的配置信息配置第三方设备。
作为优选的实施方式,所述虚拟单盘代理进程,还用于:标识其与主控盘之间的盘间通信链路,所述盘间通信链路与第三方设备单盘一一对应;实时检测虚拟单盘代理进程与虚拟单盘子进程之间的通信是否正常,若通信正常,则使能主控盘与虚拟单盘代理进程之间的盘间通信链路;若通信异常,则取消对应的盘间通信链路使能。
作为优选的实施方式,所述虚拟单盘代理进程包括虚拟单盘管理模块,用于维护第三方设备的单盘信息。
作为优选的实施方式,所述虚拟单盘管理模块维护第三方设备的单盘信息,包括以下步骤:
根据新增的第三方设备单盘类型创建虚拟单盘子进程,并完成第三方设备单盘对主控盘的自举;发现第三方设备单盘被删除时,删除对应的管理链表信息,再删除对应的虚拟单盘子进程。
作为优选的实施方式,所述虚拟单盘子进程包括:第三方设备驱动模块,用于与第三方设备进行数据交互。
作为优选的实施方式,所述虚拟单盘子进程还用于:根据第三方设备驱动模块采集的数据,对告警、性能、状态数据进行实时更新,当接收到虚拟单盘代理进程下发的告警、性能、状态查询命令时,按照与主控盘的协议格式对数据进行组织,并上报给虚拟单盘代理进程。
本发明实施例提供一种虚拟单盘代理方法,包括以下步骤:
独立于设备管理进程,创建虚拟单盘代理进程;
虚拟单盘代理进程使用转发进程的软件框架,管理虚拟单盘多实例,代理虚拟单盘自举,处理虚拟单盘数据透传,统一管理协议差异的第三方设备,使主控盘不感知第三方设备的存在。
作为优选的实施方式,上述虚拟单盘代理方法还包括以下步骤:
所述虚拟单盘代理进程根据第三方设备创建虚拟单盘子进程;
虚拟单盘子进程向虚拟单盘代理进程进行自举;采集、封装数据,送至虚拟单盘代理进程;根据虚拟单盘代理进程下发的配置信息配置第三方设备。
作为优选的实施方式,上述虚拟单盘代理方法还包括以下步骤:
所述虚拟单盘代理进程标识其与主控盘之间的盘间通信链路,所述盘间通信链路与第三方设备单盘一一对应;
实时检测虚拟单盘代理进程与虚拟单盘子进程之间的通信是否正常,若通信正常,则使能主控盘与虚拟单盘代理进程之间的盘间通信链路;若通信异常,则取消对应的盘间通信链路使能。
本发明实施例独立于设备管理进程,增加虚拟单盘代理进程。虚拟单盘代理进程与转发进程软件架构相同,虚拟单盘代理进程的主要功能有:
管理虚拟单盘多实例处理(包括对虚拟单盘进程的创建、删除);
代理虚拟单盘自举;
虚拟单盘数据透传处理(包括上送与下发)。
本发明实施例通过增加虚拟单盘代理进程,统一管理协议差异的第三方设备,可以使得主控盘不感知第三方设备的存在。虚拟单盘代理进程可以使用转发的软件框架,在不改变框架的前提下,通过增加功能处理模块来管理第三方设备,处理流程统一,便于维护,且具有很强的扩展性。
本发明实施例还通过虚拟单盘代理进程增加虚拟单盘子进程,虚拟单盘子进程的主要功能有:
向虚拟单盘代理进程进行单盘自举;
告警性能状态的采集处理;
按照第三方设备内部的标准协议对信息进行封装,并上送给虚拟单盘代理进程;
处理虚拟单盘代理进程下发下来的配置信息,并根据配置信息对第三方设备进行指令操作。
本发明实施例中的虚拟单盘子进程是虚拟单盘代理进程根据第三方设备实体所创建的子进程,与虚拟单盘代理进程运行在同一个CPU上。
考虑资源利用,虚拟单盘子进程为简化版的转发,只做数据采集以及数据封装。虚拟单盘子进程的创建以及删除由虚拟单盘代理进程控制,当虚拟单盘代理进程异常退出时,其下的所有子进程一同退出。
作为优选的实施方式,本发明实施例中的虚拟单盘代理方法具体包括以下步骤:
第一步,虚拟单盘代理进程的软件架构与转发盘的软件架构相同,参见图1所示,虚拟单盘代理进程对主控盘与虚拟单盘代理进程之间的盘间通信链路进行标识,盘间通信链路与第三方设备单盘一一对应。主控盘与虚拟单盘代理进程之间的盘间通信接口的数量与虚拟单盘的数量一致。
第二步,虚拟单盘代理进程中的虚拟单盘管理模块用于维护当前第三方设备的单盘信息,具体包括以下步骤:
当发现有新增的第三方设备单盘时,根据新增的第三方设备的单盘类型创建对应的虚拟单盘子进程,启动对应的虚拟单盘子进程,并完成第三方设备单盘对主控盘的自举流程;
当发现第三方设备单盘被删除时,删除该第三方设备单盘的管理链表信息,删除该第三方设备单盘的虚拟单盘子进程。
第三步,虚拟单盘代理进程实时检测其与虚拟单盘子进程之间的进程间通信是否正常,如果进程间通信正常,则使能主控盘与虚拟单盘代理进程之间的盘间通信链路;如果进程间通信异常,则取消主控盘与虚拟单盘代理进程之间的盘间通信链路使能,从而使得主控盘感知第三方设备单盘,但不感知第三方设备单盘与其他转发盘的差异。
第四步,虚拟单盘代理进程接收到主控盘下发的告警、性能、状态查询数据或配置数据,对数据进行解析,并将数据转发到对应的虚拟单盘子进程。
虚拟单盘子进程接收到查询数据后,按照与主控的协议格式对数据进行组织并上报给虚拟单盘代理进程。
参见图2所示,虚拟单盘子进程对接收到的配置数据解析,并调用第三方设备驱动模块,从而实现对第三方设备的配置控制。虚拟单盘代理接收到虚拟单盘子进程的上报数据,将数据透传上报给主控盘。
第五步,参见图2所示,虚拟单盘子进程中的第三方设备驱动模块,用于与第三方设备进行数据交互,通信使用的物理接口可以是RS-485、IIC、SPI、以太网等,具体由第三方设备而定。第三方设备驱动模块主要是定时采集第三方设备的数据,监视第三方设备的在位情况。
第六步,虚拟单盘子进程根据第三方设备驱动模块采集的数据,对告警、性能、状态数据进行实时更新,当接收到虚拟单盘代理进程下发的告警、性能、状态查询命令时,按照与主控盘的协议格式对数据进行组织,并上报给虚拟单盘代理进程。
本发明实施例隔离了第三方设备间的差异,简化了软件系统框架,实现了网络系统架构模块化,增强了原有设备的可靠性以及可扩展性,不同第三方设备在同一网管下统一风格呈现,能够提高第三方设备的竞争力。由于简化了系统软件架构,还能够减少开发成本,后期兼容方面可扩展性强。
虚拟单盘代理进程可以使用实体单盘转发进程的软件框架,在不改变框架的前提下,通过增加一些处理模块管理第三方设备,处理流程统一,便于维护,且具有很强的扩展性。
除此之外,由于虚拟单盘代理进程独立于主控盘进程,可根据第三方设备的实际使用情况,确定是否启动虚拟单盘代理进程,整个过程对主控盘进程无任何影响,方便第三方设备代理的功能裁剪与添加。
上述方法也适用于其他类似软件描述。与第三方设备间的通信不局限于RS-485、IIC、SPI、以太网,也可以是其他通信手段。所有设备通过代理方法实现网管统一管控的方案都落入此专利保护范围内。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。