发明内容
本发明所要解决的技术问题是提供一种快速实现矩阵开关图形化控制系统的方法,其降低了矩阵开关图形化控制系统的开发和维护难度,提高了矩阵开关图形化控制系统的开发效率,缩短了新产品的开发周期。
本发明是通过下述技术方案来解决上述技术问题的:一种快速实现矩阵开关图形化控制系统的方法,其特征在于,所述快速实现矩阵开关图形化控制系统的方法采用开关控制中间件、图形化矩阵控件、开关驱动程序这三个功能模块,所述快速实现矩阵开关图形化控制系统的方法包括以下步骤:
步骤一:进行运行环境配置,使用图形化矩阵控件和开关控制中间件构造一个通用系统框架;
步骤二:定义通用矩阵开关功能接口,所有矩阵开关的开关驱动程序都实现该通用矩阵开关功能接口定义的功能,通用系统框架装载开关驱动程序生成矩阵开关图形化控制系统;
步骤三:由开关控制中间件实现从开关驱动程序中获取开关拓扑信息并建立图形化二维矩阵的过程;
步骤四:由开关控制中间件实现根据在图形化二维矩阵上的鼠标操作进行开关模块操作的过程。
优选地,所述步骤一中,通用系统框架由图形化矩阵控件和开关控制中间件构成并具有通用性,通过装载不同的驱动程序,为不同的矩阵开关创建矩阵开关图形化控制系统。
优选地,所述步骤二中,通用矩阵开关功能接口至少包括:开关的初始化;获取通道的行数;获取通道的列数;获取通道的名称;断开操作;连通操作;判断通道间是否可以连接;获取出错信息。
优选地,所述步骤三中,开关控制中间件从开关驱动程序中获取矩阵开关的开关拓扑信息,并将开关拓扑信息传递给图形化矩阵控件,由图形化矩阵控件画出相应的图形化工维矩阵;图形化矩阵控件采用图形化二维矩阵来描述矩阵开关,矩阵开关的输入通道作为二维矩阵的列端点,矩阵开关的输出通道作为二维矩阵的行端点,二维矩阵的行端点与列端点之间的连线状态代表矩阵开关对应的输入与输出通道的连通状态;在二维矩阵的行端点与列端点之间联结点上的鼠标点击代表了对相应输入与输出通道的控制。
优选地,所述步骤四中,开关控制中间件捕获图形化矩阵控件的鼠标点击事件,根据鼠标点击事件的参数调用开关驱动程序,完成对矩阵开关的控制;图形化矩阵控件中二维矩阵行与列交汇点周围的鼠标点击事件才是有效的事件,图形化矩阵控件根据鼠标在二维矩阵上点击的位置获取二维矩阵相应的行与列所对应的矩阵开关的通道名称,并将通道名称以事件参数的形式通知给接收此事件的开关控制中间件,然后由开关控制中间件调用开关驱动程序实现开关的控制。
本发明的积极进步效果在于:
一、本发明实现了矩阵开关图形化控制系统的模块化设计:通过定义矩阵开关业务功能模块的通用接口,对业务功能模块和图形化功能模块分别进行封装,使图形化功能和业务功能完全从矩阵开关图形化控制系统中剥离出来,分而治之;
二、本发明降低了技术门槛,方便第三方定制:本发明提供的矩阵开关控制系统的通用系统框架具有通用性,使用它可以快速地建立基于图形化的矩阵开关控制系统,开发人员不再需要针对每个开关模块做专门的图形化开发,不再需要了解图形化功能实现的细节,这样降低了矩阵开关图形化控制系统的开发和维护难度,提高了矩阵开关图形化控制系统的开发效率,缩短了新产品的开发周期,加速了图形化控制系统建设;
三、本发明可维护性好:使用本发明将业务功能独立出来,如果已有的开关产品发生了改变或者升级,只需要对开关控制系统的业务功能部分进行局部修改,通用系统框架保持不变,就可以满足新的需求,降低了图形化控制系统的维护成本。
具体实施方式
下面结合本发明在中国电子科技集团公司第四十一研究所的矩阵开关(比如AV6941型矩阵开关)图形化控制系统中的应用,对本发明的技术方案作进一步详细说明。
由于图形化控制系统与开关产品的业务功能存在这紧密的联系,本发明中虽然图形化部分已经不直接涉及开关模块的业务本身,但却与矩阵开关产品的属性信息密切相关,因此图形化模块和业务功能模块必须具有很好的通用性以适应这一多样化的需求。
本发明通过分析矩阵的通用功能特性,抽象出通用的矩阵开关功能接口来满足通用性适应多样化的需求。抽象出的通用功能接口如下表1:
表1
矩阵开关图形化控制系统的通用系统框架就是在上述矩阵开关通用功能接口的基础上实现的。所有使用该通用系统框架开发图形化控制系统的矩阵开关,其驱动程序都必须实现上面定义的通用功能接口。
将本发明应用于各种矩阵开关图形化控制系统之前,需要首先利用图形化矩阵控件和开关控制中间件构造矩阵开关控制系统的通用系统框架。
本发明在一个通用的图形化矩阵控件上实现矩阵开关的图形化控制。图形化矩阵控件采用二维矩阵来描述矩阵开关:矩阵开关的输入通道作为二维矩阵的列端点:矩阵开关的输出通道作为二维矩阵的行端点:二维矩阵的端点名称就是矩阵开关相应通道的名称;二维矩阵的行端点与列端点之间在二维矩阵上的连线状态代表矩阵开关对应的输入与输出通道的连通状态。因此,图形化矩阵控件需要提供设置二维矩阵的行、列及端点名称的接口,开关控制中间件使用这些接口将开关模块的输入通道数、输出通道数、通道名称等信息传递给图形化矩阵控件。另外,图形化矩阵控件会将鼠标点击事件通知给开关控制中间件:在二维矩阵的行端点与列端点之间联结点上的鼠标点击代表了对相对应输入与输出通道的连接控制,如果鼠标的点击位置处于二维矩阵行与列的交汇点附近,则该点击事件是有效的,矩阵控件会将矩阵的行、列端点的名称组织到事件的参数中,并将事件通知给开关控制中间件来完成开关的控制。
本发明的开关控制中间件实现了对通用矩阵开关功能接口的调用,开关控制中间件通过矩阵开关通用功能接口从开关驱动程序中获取开关的拓扑信息。开关控制中间件也实现了对图形化矩阵控件属性的设置和有效鼠标事件的响应。
本发明将通用的图形化矩阵控件和开关控制中间件组织成矩阵开关控制系统的通用系统框架:在通用系统框架的设计阶段,将图形化矩阵控件放置于开关控制系统的显示容器中,并由开关控制中间件完成图形化矩阵控件的,属性设置和事件处理;在矩阵开关图形化控制系统的运行阶段,可以装载开关驱动程序,开关控制中间件使用从开关驱动程序中获取的开关拓扑信息对图形化矩阵控件的属性进行配置;获取矩阵控件上通知的开关操作事件并调用开关业务功能接口完成对开关的控制。
利用矩阵开关控制系统的通用系统框架,建立矩阵开关图形化控制系统的过程将十分简单:为矩阵开关模块开发实现通用矩阵开关功能接口的驱动程序,然后使用矩阵开关控制系统的通用系统框架将驱动程序加载进来,就实现了该开关模块的图形化控制系统。不同的开关模块只需使用通用系统框架加载不同的开关驱动程序即可生成不同的图形化控制系统。因此,利用我们的矩阵开关控制系统通用系统框架,用户可以在不了解图形化实现的情况下,一样可以快速地开发出图形化的控制系统。
下面结合附图进一步说明本发明的技术。
如图2所示,本发明快速实现矩阵开关图形化控制系统的方法采用开关控制中间件、图形化矩阵控件、开关驱动程序这三个功能模块,快速实现矩阵开关图形化控制系统的方法包括以下步骤:
步骤1:进行运行环境配置,使用图形化矩阵控件和开关控制中间件构造一个通用系统框架;
步骤2:定义通用矩阵开关功能接口,所有矩阵开关的开关驱动程序都实现该通用矩阵开关功能接口定义的功能,通用系统框架装载开关驱动程序生成矩阵开关图形化控制系统;
步骤3:由开关控制中间件实现从开关驱动程序中获取开关拓扑信息并建立图形化二维矩阵的过程:
步骤4:由开关控制中间件实现根据在图形化二维矩阵上的鼠标操作进行开关模块操作的过程。
所述步骤1中,通用系统框架由图形化矩阵控件和开关控制中间件构成并具有通用性,通过装载不同的驱动程序,可以为不同的矩阵开关创建矩阵开关图形化控制系统。
所述步骤2中,通用矩阵开关功能接口至少包括:开关的初始化;获取通道的行数;获取通道的列数;获取通道的名称;断开操作;连通操作;判断通道间是否可以连接;获取出错信息。
所述步骤3中,开关控制中间件从开关驱动程序中获取矩阵开关的开关拓扑信息,并将开关拓扑信息传递给图形化矩阵控件,由图形化矩阵控件画出相应的图形化二维矩阵。
图形化矩阵控件采用图形化二维矩阵来描述矩阵开关,矩阵开关的输入通道作为二维矩阵的列端点,矩阵开关的输出通道作为二维矩阵的行端点,二维矩阵的行端点与列端点之间的连线状态代表矩阵开关对应的输入与输出通道的连通状态;在二维矩阵的行端点与列端点之间联结点上的鼠标点击代表了对相应输入与输出通道的控制。
所述步骤4中,开关控制中间件捕获图形化矩阵控件的鼠标点击事件,根据鼠标点击事件的参数调用开关驱动程序,完成对矩阵开关的控制。图形化矩阵控件中二维矩阵行与列交汇点周围的鼠标点击事件才是有效的事件,图形化矩阵控件根据鼠标在二维矩阵上点击的位置获取二维矩阵相应的行与列所对应的矩阵开关的通道名称,并将通道名称以事件参数的形式通知给接收此事件的开关控制中间件,然后由开关控制中间件调用开关驱动程序实现开关的控制。
参见图3,图中示出矩阵开关图形化控制系统的软件结构图。本发明采用模块化的开发方式,将矩阵开关图形化控制系统分为三个模块:开关驱动程序、图形化矩阵控件、开关控制中间件。开关驱动程序必须实现通用矩阵开关功能接口。本发明在通用矩阵开关功能接口的基础上设计通用图形化矩阵控件和开关控制中间件,由图形化矩阵控件和开关控制中间件组成矩阵开关图形化控制系统的通用系统框架。矩阵开关图形化控制系统的通用系统框架具有通用性,在创建矩阵开关图形化控制系统时,使用通用系统框架将开关驱动程序装载到系统中,即可生成具体开关的图形化控制系统。
参见图4,图中示出构造矩阵开关图形化控制系统的通用系统框架的完整流程:
步骤101:设计开关控制系统,为开关控制系统提供显示容器,提供动态加载开关驱动程序功能;
步骤102:设计图形化矩阵控件;
步骤103:将图形化矩阵控件放置于开关控制系统的显示容器中,并实例化,实现用开关拓扑信息设置图形化矩阵控件属性及实现图形化矩阵控件的鼠标事件的功能:
步骤104:设计开关控制中间件,开关控制系统装载开关驱动程序后,开庆控制中间件调用驱动程序通用接口并组织开关拓扑信息的数据结构;
步骤105:在开关控制系统中加载开关控制中间件并实例化,实现从开关控制中间件获取开关拓扑信息的功能;
步骡106:开关控制系统将开关控制中间件获取的开关拓扑信息传递给图形化矩阵控件;
步骤107:开关控制系统捕获图形化矩阵控件的鼠标事件并调用开关控制中间件完成开关控制;
步骤108:完成设计通用系统框架。
下面以中国电子科技集团公司第四十一研究所的AV6941型矩阵开关为例的图形化工具构造流程进行说明。参见图5,图中示出创建矩阵开关图形化控制系统的完整流程:
步骤201:为AV6941型矩阵开关开发开关驱动程序,开关驱动程序实现了矩阵开关通用功能接口,通过该接口,可以实现对开关的操作如:初始化、接通、断开等,也能够获取开关拓扑信息如:输入通道数、输出通道数、每个通道名称、通道间的连接状态等;
步骤202:使用通用系统眶架装载AV6941型矩阵开关的开关驱动程序,图形化矩阵控件画出AV6941型矩阵开关的二维矩阵表示;
步骤203:生成AV6941型矩阵开关的矩阵开关图形化控制系统,用户可以通过鼠标点击的方式实现开关的操作。
参见图6,图中示出从开关驱动程序获取开关拓扑信息生成图形化二维矩阵的流程。在开发完开关驱动程序和通用系统框架后,系统具备了实现矩阵开关图形化工具的基础平台条件,接下来就是通用系统框架装载开关驱动程序生成图形化二维矩阵的过程,下面以AV6941型矩阵开关为例说明:
步骤301:通用系统框架装载AV6941型矩阵开关的开关驱动程序;
步骤302:开关控制中间件从开关驱动程序中获取AV6941型矩阵开关的开关拓扑信息,开关拓扑信息包括:输入通道4、输出通道8、通道名称信息(r0,r1,r2,r3,c0,c1,......c7);
步骤303:开关控制中间件将获取的AV6941型矩阵的开关拓扑信息组织并传递给图形化矩阵控件:图形化矩阵控件提供设置二维矩阵的行、列及端点名称的接口、开关控制中间件使用这些接口将开关模块的输入通道数、输出通道数、通道名称等拓扑信息通过这些接口设置给图形化矩阵控件,即:将输入通道数4设置到二维矩阵的行属性,将输出通道数8设置到二维矩阵的列属性,将通道名称相应的设置到二维矩阵的端点名称属性上;
步骤304:图形化控件使用开关拓扑信息以产生AV6941型矩阵开关的图形化二维矩阵。
参见图7,图中示出产生矩阵开关的图形化二维矩阵控制系统之后,通过二维矩阵的鼠标事件实现开关模块控制的流程,具体步骤如下:
步骤401:鼠标在图形化矩阵控件的有效区域上点击,有效区域指二维矩阵行、列交汇点周图,其它不可识别的区域的鼠标事件不会被响应;
步骤402:根据鼠标的点击区域获取输入,输出通道名及其连接状态,并将这些信息组织为事件参数,通知给开关控制中间件;
步骤403:开关控制中间件接收到开关操作事件,并解析开关操作事件中的参数;
步骤404:开关控制中间件根据开关操作事件的参数,调用开关驱动程序的相应开关控制接口;
步骤405:开关驱动程序驱动开关硬件完成开关模块的控制。
参见图8,图中示出本发明在中国电子科技集团公司第四十一研究所的AV6941型矩阵开关上实现的图形化控制系统的应用示意图:菜单中包含了动态加载矩阵开关驱动程序的功能及其它的一些常用功能;主窗口的左边显示了矩阵开关当前的物理信息、拓扑结构及路由状态,当加载开关驱动程序后,开关的物理信息、拓扑结构等会显示在主窗口的左侧;右边显示了矩阵开关的图形化二维矩阵控件,通过鼠标在图形化二维矩阵控件上的点击完成开关的控制。
本发明通过定义通用矩阵开关功能接口,开发通用的图形化矩阵控件和开关控制中间件,设计出矩阵开关图形化控制系统的通用系统框架,从而可以方便地将图形化功能应用到所有的矩阵开关控制系统中,不仅便于新产品开发,还便于系统的更新与维护。
本发明的通用系统框架具有通用性,由图形化矩阵控件和开关控制中间件构成,利用它构造矩阵开关图形化控制系统时,用户只需开发开关驱动程序,不再需要做专门的图形化开发。本发明降低了矩阵开关图形化控制系统的开发和维护难度,提高了矩阵开关图形化控制系统的开发效率,缩短了新产品的开发周期。
本领域的技术人员可以对本发明进行各种改型和改变。因此,本发明覆盖了落入所附的权利要求书及其等同物的范围内的各种改型和改变。