插件管理系统及方法与流程

文档序号:19188286发布日期:2019-11-20 01:45阅读:417来源:国知局
插件管理系统及方法与流程

本发明涉及数据传输技术领域,特别涉及一种插件管理系统及方法。



背景技术:

信号集中监测系统是监测铁路信号设备状态、发现设备隐患和分析设备故障分析的行车设备。信号集中监测系统存在多样的数据采集、大量的各种设备接口、多种数据展示要求,并且在实际应用中对新增设备接入、新增数据采集、以及新增信息展示的需求过多。

然而,相关技术中不能有效应对信号集中监测系统中接口、数据采集、信息展示需求等新增需求的不断变化,不仅费时,而且费力,并且在研发过程中也有较多问题,有待解决。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种插件管理系统,实现了系统插件的灵活插接,解决了相关技术不能有效应对接口、数据采集、信息展示需求不断增加的技术问题,不仅增强了插件管理系统的扩展性,而且增强了插件管理系统的可维护性,减少了应用功能的开发时间。

本发明的第二个目的在于提出一种插件管理方法。

本发明的第三个目的在于提出一种电子设备。

本发明的第四个目的在于提出一种计算机可读存储介质。

为达到上述目的,本发明第一方面实施例提出了一种插件管理系统,包括:多个插件管理中间件,所述插件管理中间件用于对插件进行管理,其中,所述插件管理中间件管理至少一个插件;通讯中间件,用于插件之间的通讯,其中,源插件管理中间件获取位于本地的源插件的数据请求,所述数据请求包括目的插件的id(identitydocument,身份标识号)和目的插件的部署地ip地址(internetprotocoladdress,网际协议地址),当所述目的插件的部署地ip地址不是本地地址,则所述源插件管理中间件根据所述部署地ip地址通过通讯中间件将所述数据请求转发目的地插件管理中间件,所述目的地插件管理中间件根据所述目的插件的id将所述数据请求转发至目的插件。

另外,根据本发明上述实施例的插件管理系统还可以具有如下附加的技术特征:

根据本发明的一个实施例,如果所述目的插件的部署地ip地址是本地地址,则所述源插件管理中间件根据所述目的插件的id将所述数据请求转发至所述目的插件。

根据本发明的一个实施例,所述插件包括通讯插件、设备插件、用户界面ui插件和主界面插件。

根据本发明的一个实施例,所述插件管理中间件通过调用本地的通讯插件与所述通讯中间件通讯。

根据本发明实施例的插件管理系统,可以通过源插件管理中间件获取位于本地的源插件的数据请求,当目的插件的部署地ip地址不是本地地址时,源插件管理中间件根据部署地ip地址通过通讯中间件将数据请求转发目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件,并且在目的插件的部署地ip地址是本地地址,源插件管理中间件根据目的插件的id将数据请求转发至目的插件。由此,不仅增强了插件管理系统的扩展性,增强了插件管理系统的可维护性,且减少了应用功能的开发时间,功能插件独立封装,减少了测试难度,还可以通过插件插接来剪裁插件管理系统的功能。

为达到上述目的,本发明第二方面实施例提出了一种插件管理方法,包括:获取位于本地的源插件的数据请求,所述数据请求包括目的插件的id和目的插件的部署地ip地址;判断所述目的插件的部署地ip地址是否为本地地址;如果所述目的插件的部署地ip地址不是本地地址,则所述源插件管理中间件根据所述部署地ip地址通过通讯中间件将所述数据请求转发目的地插件管理中间件,所述目的地插件管理中间件根据所述目的插件的id将所述数据请求转发至目的插件。

根据本发明的一个实施例,如果所述目的插件的部署地ip地址是本地地址,则所述源插件管理中间件根据所述目的插件的id将所述数据请求转发至所述目的插件。

根据本发明的一个实施例,所述插件管理中间件通过调用本地的通讯插件与所述通讯中间件通讯。

根据本发明的一个实施例,如果所述目的插件的部署地ip地址是本地地址,则所述源插件管理中间件根据所述目的插件的id将所述数据请求转发至所述目的插件。

根据本发明的一个实施例,所述插件管理中间件通过调用本地的通讯插件与所述通讯中间件通讯。

根据本发明实施例的插件管理方法,可以通过源插件管理中间件获取位于本地的源插件的数据请求,当目的插件的部署地ip地址不是本地地址时,源插件管理中间件根据部署地ip地址通过通讯中间件将数据请求转发目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件,并且在目的插件的部署地ip地址是本地地址,源插件管理中间件根据目的插件的id将数据请求转发至目的插件。由此,不仅增强了插件管理系统的扩展性,增强了插件管理系统的可维护性,且减少了应用功能的开发时间,功能插件独立封装,减少了测试难度,还可以通过插件插接来剪裁插件管理系统的功能。

为达到上述目的,本发明第三方面实施例提出了一种电子设备,包括:存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现上述的插件管理方法。

为达到上述目的,本发明第四方面实施例提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该程序被处理器执行时实现上述的插件管理方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1是根据本发明实施例的插件管理系统的方框示意图;

图2是根据本发明一个实施例的异地插件传输的通讯时序示意图;

图3是根据本发明一个实施例的本地插件传输的通讯时序示意图;

图4是根据本发明一个实施例的插件管理系统的方框示意图;

图5是根据本发明实施例的插件管理方法的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参照附图描述根据本发明实施例提出的插件管理系统及方法。

图1是本发明实施例的插件管理系统的方框示意图。如图1所示,该插件管理系统包括:多个插件管理中间件(如插件管理中间件101和插件管理中间件102)和通讯中间件200。

其中,插件管理中间件可以用于对插件进行管理,其中,插件管理中间件管理至少一个插件。

具体而言,插件管理中间件可以包括设备插件管理层、数据管理层、ui插件管理层、c++接口定义层、c#接口定义层,插件需要在插件管理系统进行登记,插件管理系统可以获取到插件的名称、插件id、插件类型等信息,其中,插件id(proid)可以由一串不重复的字符串组成,由于每个插件都有唯一的proid,因此,可以通过插件id来识别插件身份,插件管理系统可以通过proid进行插件管理和插件间数据调度。

其中,插件是csm-jd型信号集中监测系统(centralizedsignallingmonitoringsystem,信号集中监测系统)中实现各类业务的载体,是基于插件管理系统的二次开发,即按照功能开发满足各平台接口的规范插件。一般情况下,一个插件实现一个或多个功能,插件的颗粒度不宜划分的过细,同时插件的划分要基于业务统筹兼顾。其中,根据本发明的一个实施例,插件可以包括通讯插件、设备插件、用户界面(userinterface,简称ui)插件和主界面插件。

通讯中间件200用于插件之间的通讯,其中,源插件管理中间件获取位于本地的源插件的数据请求,数据请求包括目的插件的id和目的插件的部署地ip地址,当目的插件的部署地ip地址不是本地地址,则源插件管理中间件根据部署地ip地址通过通讯中间件200将数据请求转发至目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件。

具体而言,本发明实施例的插件管理系统中的插件可以本地部署,也可以异地部署,且插件之间通讯与部署地址无关。

举例而言,如图2所示,ui接口插件a请求向插件b传递数据,源插件管理中间件获取ui接口插件a的数据请求,其中数据请求中包括源插件id(a)、目的插件id(b)、目的插件b部署地ip地址、待传递的数据块(data)等,源插件管理中间件可以通过ui插件管理层判断目的插件b部署地ip地址是否为本地ip地址,如果插件b部署地ip地址不是本地地址,则通过源插件管理中间件中的逻辑管理层将ui接口插件a的数据请求发送至设备插件管理层,并由设备插件管理层判断插件b部署地ip地址是否为本地地址,如果设备插件管理层判断插件b部署地ip地址不是本地地址,则通过通讯中间件200将ui接口插件a的数据请求发送至异地部署的插件b,例如从本地通讯插件发送至异地通讯插件,并且在该过程中,封装地址信息到数据流中,从而实现异地插件之间的数据传输,并且在传输的整个过程中,其传输的数据的具体内容及格式没有限制,透明传输使得插件管理系统与业务完全解耦,保证了插件管理系统的稳定性,避免了插件管理系统因业务的改变而被迫做出改变。

根据本发明的一个实施例,如果目的插件的部署地ip地址是本地地址,则源插件管理中间件根据目的插件的id将数据请求转发至目的插件。

举例而言,如图3所示,ui接口插件a请求向插件b传递数据,源插件管理中间件获取ui接口插件a的数据请求,其中数据请求中包括源插件id(a)、目的插件id(b)、目的插件b部署地ip地址、待传递的数据块(data)等,源插件管理中间件可以通过ui插件管理层判断目的插件b部署地ip地址是否为本地ip地址,如果插件b部署地ip地址是本地地址,ui插件管理层可以遍历在该插件管理系统登记过的ui接口插件,如果发现有插件id为目的插件b的插件,则将数据请求转发至目的插件b,否则,ui插件管理层将ui接口插件a的数据请求转发至逻辑管理层,逻辑管理层将ui接口插件a的数据请转发至各设备插件管理层,以在发现插件id为目的插件b的插件将数据请求转发至目的插件b,从而实现本地插件之间的数据传输,并且在传输的整个过程中,其传输的数据的具体内容及格式没有限制,透明传输使得插件管理系统与业务完全解耦,保证了插件管理系统的稳定性,避免了插件管理系统因业务的改变而被迫做出改变。

综上,根据本发明实施例的插件管理系统,可以通过源插件管理中间件获取位于本地的源插件的数据请求,当目的插件的部署地ip地址不是本地地址时,源插件管理中间件根据部署地ip地址通过通讯中间件将数据请求转发目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件,并且在目的插件的部署地ip地址是本地地址,源插件管理中间件根据目的插件的id将数据请求转发至目的插件。由此,实现了本地插件或者异地插件的数据传输,并且在传输的整个过程中,其传输的数据的具体内容及格式没有限制,透明传输使得插件管理系统与业务完全解耦,保证了插件管理系统的稳定性,避免了插件管理系统因业务的改变而被迫做出改变,同时,通过该插件管理系统可以将构建于不同时期、不同类型的异构系统以及跨地区部门边界的软件系统进行集成,使其能很好地跨越组织和系统边界,整合轨道交通系统的各种资源,实现信息共享、业务协同的能力。

为了本领域技术人员进一步了解本发明实施例的插件管理系统,下面以一个具体实施例详细阐述本发明实施例的插件管理系统。

如图4所示,该插件管理系统主要由多个插件管理中间件100和通讯中间件200组成。其中,插件管理中间件可以包括逻辑管理层、设备插件管理层、数据管理层、c++接口定义层、ui插件管理层和c#接口定义层;通讯中间件200可以包括中间转发节点1、中间转发节点2,……,中间转发节点n。插件管理中间件定义了插件与插件管理系统交互数据的接口规范,同时对满足插件管理系统接口规范的插件进行统一管理,包括插件的创建,销毁,数据的传递等。通讯中间件200负责异地部署的插件间数据的传递,插件按照业务类型主要分为四大类型,通讯插件,设备插件,ui插件,主界面插件。

根据本发明的一个实施例,如图2所示,插件管理中间件可以通过调用本地的通讯插件与通讯中间件通讯。其中,通讯插件负责异地部署的插件间的数据的传递,可以由c++语言编写,通讯插件按照功能还可以分为客户端通讯插件,服务器端通讯插件等,例如,通讯中间件200中的中间转发节点部署的就是服务器端通讯插件

此外,如图4所示,设备插件1,……,设备插件n主要负责数据的采集,分析等,可以由c++语言编写;ui插件主要负责数据的图形化显示,可以由c#语言编写;ui主界面插件主要负责主界面的组织和为调用其他ui插件提供入口,由c#语言编写,默认情况下ui主界面是所有其它ui插件的父窗口,平台调用ui插件的时候,允许指定其窗口的父子关系及窗口的显示模式(嵌套在主界面窗口的某个窗口中显示,还是弹出窗口显示等)。因此,如果没有“ui主界面插件”则其他所有ui插件都无法正常调用。

需要说明的是,本发明实施例的插件管理系统定义了c++与c#语言实现的插件的接口规范,只要按照接口规范编写的插件,在插件管理系统登记成功后,插件管理系统可以对该插件自动识别,并调用。其中,接口插件就是一个win32动态库,c++接口插件动态库需要实现一个导出的函数:extern"c"_declspec(dllexport)boolcreateinstance(void**punk),该函数的作用就是创建接口类对象,punk就是idevice接口对象的指针,c++接口插件需要实现idevice接口或icomm接口,通讯插件需要实现icomm接口,其他插件需要实现idevice接口。其中,有关于接口的详细定义,请参考相关技术中的interface.h文件,c#动态库实现需要实现ishow函数接口、ishowevent事件接口,其详细定义可以参考相关技术中的ishow.cs文件。

根据本发明实施例提出的插件管理系统,可以通过源插件管理中间件获取位于本地的源插件的数据请求,当目的插件的部署地ip地址不是本地地址时,源插件管理中间件根据部署地ip地址通过通讯中间件将数据请求转发目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件,并且在目的插件的部署地ip地址是本地地址,源插件管理中间件根据目的插件的id将数据请求转发至目的插件。由此,通过采用面向服务的分布式架构(service-orientedarchitecture,简称soa)的设计思想,实现了系统插件的灵活插接,解决了相关技术中不能有效应对接口、数据采集、信息展示需求不断增加的技术问题,不仅增强了插件管理系统的扩展性,而且增强了插件管理系统的可维护性,减少了应用功能的开发时间,同时,系统中功能插件独立封装,减少了测试难度,还可以通过插件插接来剪裁插件管理系统的功能。

图5是本发明实施例的插件管理方法的流程图。如图5所示,该插件管理方法包括:

s1,获取位于本地的源插件的数据请求,数据请求包括目的插件的id和目的插件的部署地ip地址。

s2,判断目的插件的部署地ip地址是否为本地地址。

s3,如果目的插件的部署地ip地址不是本地地址,则源插件管理中间件根据部署地ip地址通过通讯中间件将数据请求转发目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件。

根据本发明的一个实施例,如果目的插件的部署地ip地址是本地地址,则源插件管理中间件根据目的插件的id将数据请求转发至目的插件。

根据本发明的一个实施例,插件管理中间件通过调用本地的通讯插件与通讯中间件通讯。

需要说明的是,前述对插件管理系统实施例的解释说明也适用于该实施例的插件管理方法,此处不再赘述。

根据本发明实施例提出的插件管理方法,可以通过源插件管理中间件获取位于本地的源插件的数据请求,当目的插件的部署地ip地址不是本地地址时,源插件管理中间件根据部署地ip地址通过通讯中间件将数据请求转发目的地插件管理中间件,目的地插件管理中间件根据目的插件的id将数据请求转发至目的插件,并且在目的插件的部署地ip地址是本地地址,源插件管理中间件根据目的插件的id将数据请求转发至目的插件。由此,通过采用面向服务的分布式架构(service-orientedarchitecture,简称soa)的设计思想,实现了系统插件的灵活插接,解决了相关技术中不能有效应对接口、数据采集、信息展示需求不断增加的技术问题,不仅增强了插件管理系统的扩展性,而且增强了插件管理系统的可维护性,减少了应用功能的开发时间,同时,系统中功能插件独立封装,减少了测试难度,还可以通过插件插接来剪裁插件管理系统的功能。

本发明实施例提出了一种电子设备,包括:存储器、处理器;其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现上述的插件管理方法。

本发明实施例提出了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该程序被处理器执行时实现上述的插件管理方法。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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