CN103176795B - 一种基于插件技术在信息分发软件数据过滤中的应用方法 - Google Patents

一种基于插件技术在信息分发软件数据过滤中的应用方法 Download PDF

Info

Publication number
CN103176795B
CN103176795B CN201310042521.9A CN201310042521A CN103176795B CN 103176795 B CN103176795 B CN 103176795B CN 201310042521 A CN201310042521 A CN 201310042521A CN 103176795 B CN103176795 B CN 103176795B
Authority
CN
China
Prior art keywords
information
plug
step
condition
data
Prior art date
Application number
CN201310042521.9A
Other languages
English (en)
Other versions
CN103176795A (zh
Inventor
程文迪
楚威
俞杰
孙丰鑫
Original Assignee
中国电子科技集团公司第二十八研究所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国电子科技集团公司第二十八研究所 filed Critical 中国电子科技集团公司第二十八研究所
Priority to CN201310042521.9A priority Critical patent/CN103176795B/zh
Publication of CN103176795A publication Critical patent/CN103176795A/zh
Application granted granted Critical
Publication of CN103176795B publication Critical patent/CN103176795B/zh

Links

Abstract

本发明具体公开了一种基于插件技术在信息分发软件数据过滤中的应用方法,该方法包括在系统中定义所有种类信息的类型标示符,信源方在发送数据和用户方在订阅数据时指明本数据的信息类型;在系统中定义所有类别订阅条件的标示符,用户方在订阅请求中指明订阅条件;定义订阅条件的数据结构;插件开发;软件集成与调用过程。本发明中利用插件技术,通过设计合理的插件接口和调用规范,再利用插件动态加载和调用机制,实现信息分发软件的条件匹配和过滤功能。当系统中加入新的信息类型时,信息分发软件的宿主程序不需作任何改动,不仅有利于减少软件模块之间的耦合度,而且能够提高信息分发软件的灵活性和可扩展性,从而提高信息分发软件的适用性。

Description

一种基于插件技术在信息分发软件数据过滤中的应用方法

技术领域

[0001] 本发明涉及软件系统集成与功能扩展技术领域,具体涉及一种基于插件技术在信 息分发软件数据过滤中的应用方法。

背景技术

[0002] 信息分发软件提供以网络为中心的系统动态接入、信息按需分发,是全军共用信 息基础设施中的一个核心服务。

[0003] 信息分发软件能够根据用户提出的订阅请求,对系统中产生的各类信息进行过滤 和匹配,最终分发至用户端,从而为用户提供精准的信息服务,根据不同种类信息包含的属 性和字段不同,订阅条件与信息类型紧密关联,典型的订阅条件包括,区域、敌我属性、目标 国籍、目标类型、目标高度、威胁等级等,且订阅条件可以根据信息类型的增加而扩充,其中 不同条件类型的多个条件为"并且"关系,同条件类型的多个子条件为"或者"关系。

[0004] 由上述可知,依据用户方的订阅条件对接收到的信源信息进行匹配过滤是信息分 发软件的一个重要功能,通常情况下,信源发送数据信息时,需要通过对报头的相关属性值 进行赋值用以区分不同的信息类型。

[0005]目前的研究中,信息分发软件在实现条件匹配过滤时,按照接收到的数据的不同 信息类型分别进行解析,然后再进行匹配过滤,如果增加新的数据信息类型,则需要对报头 的相关属性值重新设计,并增加相应信息类型的解析程序,最终导致需要修改信息分发软 件的业务处理逻辑,而且影响数据过滤功能与信息分发功能之间的紧密耦合,使软件的灵 活性和可扩展性大大降低。

[0006] 因此,基于上述问题,本发明提出一种基于插件技术在信息分发软件数据过滤中 的应用方法,通过插件机制实现条件匹配过滤功能,通过利用软件功能之间的解耦,提高软 件的灵活性和可扩展性,而且插件的增加和修改操作不会影响到主程序,进而增强主程序 的适用性。

发明内容

[0007] 发明目的:本发明的目的是提供一种基于插件技术在信息分发软件数据过滤中的 应用方法,解决现有的信息分发软件中对报文条件匹配功能的高度集成,进而解决软件功 能在可扩展性和灵活性方面的不足。

[0008] 技术方案:为达到上述发明目的,一种基于插件技术在信息分发软件数据过滤中 的应用方法,该方法包括以下步骤:

[0009] 步骤1、在系统中定义所有种类信息的类型标示符,信源方在发送数据和用户方在 订阅数据时指明本数据的信息类型。

[0010] 步骤2、在系统中定义所有类别订阅条件的标示符,用户方在订阅请求中指明订阅 条件。

[0011] 步骤3、定义订阅条件的数据结构。

[0012] 步骤4、定义插件接口,即信息分发软件的插件接口包含三个接口函数,第一个接 口函数用于获取该插件所能处理的信息类型,第二个接口函数用于向插件赋予匹配条件, 第三个接口函数用于获取插件的匹配结果。

[0013] 步骤5、插件开发。

[0014] 步骤6、软件集成与调用过程。

[0015] 所述步骤1中,信息类型的种类能扩充。

[0016] 所述步骤2中,根据不同种类信息包含的属性和字段不同,订阅条件与信息类型 之间具有关联性,其中典型的订阅条件包括,区域、敌我属性、目标国籍、目标类型、目标高 度、威胁等级且订阅条件能扩展。

[0017] 所述步骤5中,根据步骤4定义的三个接口函数,插件的开发包括以下步骤,

[0018] 步骤(5-1)明确该插件能够解析处理的信息类型列表,即编写接口函数1,返回能 够处理的信息类型标识符数组和数组长度。

[0019] 步骤(5-2)利用调用方提供的订阅条件参数(即函数输入参数)对插件进行初始 化,即通过接口函数2使插件获得订阅条件参数。

[0020] 步骤(5-3)获得调用方传入的数据(即函数输入参数),根据上一步骤中获得的订 阅条件参数,调用条件匹配接口函数3,返回值表示该数据是否匹配成功。

[0021] 所述步骤6中,软件集成与调用过程包括以下步骤,

[0022] 步骤(6-1)信息分发软件宿主程序启动,并调用函数动态装载本地的插件库(动态 链接库),调用函数获得接口函数地址。

[0023] 步骤(6-2)运行过程中,信息分发软件接收各信息源发送的数据。

[0024] 步骤(6-3)解析数据的信息报头以获得信息类型,根据信息类型选择相应的条件 匹配插件,若支持此信息类型的插件不存在,则进行步骤(6-7)。

[0025] 步骤(6-4)将用户提交的订阅条件作为插件接口函数2的输入参数,对插件进行 初始化。

[0026] 步骤(6-5)插件获得信源的数据后,首先对数据进行解码,然后按照订阅条件列表 逐一对数据进行匹配。

[0027] 步骤(6-6)若存在一个订阅条件不匹配,则立即返回FALSE (错误提示),否则继 续与下一订阅条件进行匹配,若同一订阅条件下有多个子条件,则数据信息满足一个子条 件,即可继续匹配下一个订阅条件,若匹配完并且满足所有的订阅条件则返回TRUE(正确提 示),否则返FALSE (错误提示)。

[0028] 步骤(6-7)结束。

[0029] 与现有技术相比,本发明的有益效果在于:本发明中利用插件技术,通过设计合理 的插件接口和调用规范,再利用插件动态加载和调用机制,实现信息分发软件的条件匹配 和过滤功能。当系统中加入新的信息类型时,只需按照插件接口规范增加能够处理该信息 的插件即可,信息分发软件的宿主程序不需作任何改动,不仅有利于减少软件模块之间的 耦合度,而且能够提高信息分发软件的灵活性和可扩展性,从而进一步提高信息分发软件 的适用性。

附图说明

[0030] 图1是本发明实施例中分发软件中设计插件条件匹配流程示意图;

[0031] 图2是本发明实施例中信息分发软件调用插件的软件集成示意图;

[0032] 图3是一般分发软件中不采用插件进行条件匹配的对比软件集成示意图。

具体实施方式

[0033] 下面结合附图和具体实施例对本发明所提供的一种基于插件技术在信息分发软 件数据过滤中的应用方法做详细说明。

[0034] 如图1、图2所示,一种基于插件技术在信息分发软件数据过滤中的应用方法,该 方法包括以下步骤:

[0035] 步骤1、在系统中定义所有种类信息的类型标示符,信源方在发送数据和用户方在 订阅数据时指明本数据的信息类型。

[0036] 步骤2、在系统中定义所有类别订阅条件的标示符,用户方在订阅请求中指明订阅 条件。

[0037] 步骤3、定义订阅条件的数据结构,本发明方法采用一种通用的数据结构描述订阅 条件,如表1所示(表1为订阅条件数据结构),

Figure CN103176795BD00061

[0039] 其中,子条件DispatchConditionPara描述如表2所示(表2为子条件 DispatchConditionPara 参数说明),

Figure CN103176795BD00062

[0041] 假设用户在订阅请求中最多包含MAX_C0NDITI0N_NUM个订阅条件,则条件定义如 下:

[0042] DispathCondition m_Condition[MAX_C0NDITI0N_NUM];

[0043] 以区域为例说明订阅条件的具体使用方法:

[0044] 设数组m_Condition的第一个元素为"区域"条件,则m_Condition [0]中条件类 型标识符"ConditionType"的取值为订阅条件"区域"所对应的标识符(在步骤二中定义)。区域包括多边形、圆(包含环形、扇形),因此"区域"条件的子条件类型"ConditionSubType" 又可取值为"多边形"和"圆(包含环形、扇形)",若有多个区域则将ConditionSubType赋值 为"0"以进行分隔。多边形包含N》3个点的位置信息,每个点的位置信息由经度(Valuel) 和炜度(Value2)组成。类似地,圆(环形或者扇形)包含3个要素,分别是:圆心位置(经度 (Valuel)、炜度(Value2))、半径(取值范围Valuel《R《Value2,Valuel=0则表示是圆,否则 为环)、角度(取值范围Valuel《Θ《Value2, Valuel=0且Value2=360则表示是圆,否则为 扇形)。

[0045] 设m_Condition[0]对应的区域信息包含一个三角形和一个圆,则m_ Condition [0]中条件参数个数"ParaNum"取值为7(分别对应3个点、一个分隔符0、一个圆 心、一个半径、一个角度),对应了数组" Para "中的7个元素。这7个元素包含点、圆心、半径、 角度四个子条件类型,由参数"ConditionSubType"的取值来区分。当"ConditionSubType" 的取值表示"点"或者"圆心"时," Value 1"和" Value2 "分别表示经度和炜度值;当 "ConditionSubType"对应的取值表示半径或者角度时,"Valuel"和"Value2"分别表示该 子条件类型的最小值和最大值所构成的取值范围。

[0046] 对于订阅条件数组中条件类型标识符"ConditionType"的取值不为"区域"时, 则子条件DispatchConditionPara中"ConditionSubType"均取值为0,表不无子条件; "Valuel" = "Value2",表示该条件类型对应的取值。

[0047] 步骤4、定义插件接口,即信息分发软件的插件接口包含三个接口函数,第一个接 口函数用于获取该插件所能处理的信息类型,第二个接口函数用于向插件赋予匹配条件, 第三个接口函数用于获取插件的匹配结果,具体接口定义如表3所示(表3为插件接口函数 定义),

Figure CN103176795BD00071

[0049] 步骤5、插件开发,根据步骤4定义的三个接口函数,插件的开发包括以下步骤,

[0050] 步骤(5-1)明确该插件能够解析处理的信息类型列表,即编写接口函数1,返回能 够处理的信息类型标识符数组和数组长度。

[0051] 步骤(5-2)利用调用方提供的订阅条件参数(即函数输入参数)对插件进行初始 化,即通过接口函数2使插件获得订阅条件参数。

[0052] 步骤(5-3)获得调用方传入的数据(即函数输入参数),根据上一步骤中获得的订 阅条件参数,调用条件匹配接口函数3,返回值表示该数据是否匹配成功,其中,调用方传入 的数据" lpMsgData"用数据结构"DispatchUserMsg"表示,如表4所示(表4为传入的数据 结构定义),

Figure CN103176795BD00081

[0055] 其中,信息报头"MSGHEAD"定义如表5所示(表5为信息头结构定义),

Figure CN103176795BD00082

[0057] 步骤6、软件集成与调用过程包括以下步骤,

[0058] 步骤(6-1)信息分发软件宿主程序启动,并调用LoadLibrary函数动态装载本地 的插件库(动态链接库),调用GetProcAddress函数获得接口函数地址。

[0059] 步骤(6-2)运行过程中,信息分发软件接收各信息源发送的数据。

[0060] 步骤(6-3)解析数据的信息报头以获得信息类型,根据信息类型选择相应的条件 匹配插件,若支持此信息类型的插件不存在,则进行步骤(6-7)。

[0061] 步骤(6-4)将用户提交的订阅条件作为插件接口函数2的输入参数,对插件进行 初始化。

[0062] 步骤(6-5)插件获得信源的数据后,首先对数据进行解码,然后按照订阅条件列表 逐一对数据进行匹配。

[0063] 步骤(6-6)若存在一个订阅条件不匹配,则立即返回FALSE (错误提示),否则继 续与下一订阅条件进行匹配,若同一订阅条件下有多个子条件,则数据信息满足一个子条 件,即可继续匹配下一个订阅条件,若匹配完并且满足所有的订阅条件则返回TRUE(正确提 示),否则返FALSE (错误提示)。

[0064] 步骤(6-7)结束。

[0065] 其中,步骤1中,信息类型的种类能扩充。

[0066] 步骤2中,根据不同种类信息包含的属性和字段不同,订阅条件与信息类型之间 具有关联性,其中典型的订阅条件包括,区域、敌我属性、目标国籍、目标类型、目标高度、威 胁等级等,且订阅条件能扩展。

[0067] 进一步如图3所示,一般分发软件中不采用插件进行条件匹配的对比软件集成 示意图,其条件匹配过滤功能集成于信息分发软件中,对接收到的信源的数据信息按顺序 进行解析报头、解析报文、条件匹配、返回匹配结果等过程,步骤比较简单,但软件集成度很 高,不利于程序的功能扩展,灵活性较差,需要处理新的信息类型时,需要对信息分发软件 进行较大的修改,即通过增加相应的信息类型和解析处理程序,然后对信息分发软件重新 编译运行。

[0068] 表6为本发明与无插件的信息分发软件优越性对比,

Figure CN103176795BD00091

[0070] 应当指出,以上所述仅是本发明的优选实施方式,具体实现该技术方案的方法和 途径很多,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做 出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1. 一种基于插件技术在信息分发软件数据过滤中的应用方法,其特征在于,该应用方 法包括以下步骤: 步骤1、在系统中定义所有种类信息的类型标示符,信源方在发送数据和用户方在订阅 数据时指明本数据的信息类型; 步骤2、在系统中定义所有类别订阅条件的标示符,用户方在订阅请求中指明订阅条 件; 步骤3、定义订阅条件的数据结构; 步骤4、定义插件接口,即信息分发软件的插件接口包含三个接口函数,第一个接口函 数用于获取该插件所能处理的信息类型,第二个接口函数用于向插件赋予匹配条件,第三 个接口函数用于获取插件的匹配结果; 步骤5、插件开发;所述步骤5中,根据步骤4定义的三个接口函数,插件的开发包括以 下步骤, 步骤(5-1)明确该插件能够解析处理的信息类型列表,即编写接口函数1,返回能够处 理的信息类型标示符数组和数组长度; 步骤(5-2)利用调用方提供的订阅条件参数对插件进行初始化,即通过接口函数2使 插件获得订阅条件参数; 步骤(5-3)获得调用方传入的数据,根据上一步骤中获得的订阅条件参数,调用条件 匹配接口函数3,返回值表示该数据是否匹配成功; 步骤6、软件集成与调用过程。
2. 根据权利要求1所述的基于插件技术在信息分发软件数据过滤中的应用方法,其特 征在于:所述步骤1中,信息类型的种类能扩充。
3. 根据权利要求1所述的基于插件技术在信息分发软件数据过滤中的应用方法,其特 征在于: 所述步骤2中,根据不同种类信息包含的属性和字段不同,订阅条件与信息类型之间 具有关联性,其中典型的订阅条件包括,区域、敌我属性、目标国籍、目标类型、目标高度、威 胁等级且订阅条件能扩展。
4. 根据权利要求1所述的基于插件技术在信息分发软件数据过滤中的应用方法,其特 征在于: 所述步骤6中,软件集成与调用过程包括以下步骤, 步骤(6-1)信息分发软件宿主程序启动,并调用函数动态装载本地的插件库,调用函 数获得接口函数地址; 步骤(6-2)运行过程中,信息分发软件接收各信息源发送的数据; 步骤(6-3)解析数据的信息报头以获得信息类型,根据信息类型选择相应的条件匹配 插件,若支持此信息类型的插件不存在,则进行步骤(6-7); 步骤(6-4)将用户提交的订阅条件作为插件接口函数2的输入参数,对插件进行初始 化; 步骤(6-5)插件获得信源的数据后,首先对数据进行解码,然后按照订阅条件列表逐 一对数据进行匹配; 步骤(6-6)若存在一个订阅条件不匹配,则立即返回FALSE(错误提示),否则继续与下 一订阅条件进行匹配,若同一订阅条件下有多个子条件,则数据信息满足一个子条件,即可 继续匹配下一个订阅条件,若匹配完并且满足所有的订阅条件则返回TRUE(正确提示),否 则返FALSE(错误提示); 步骤(6-7)结束。
CN201310042521.9A 2013-02-04 2013-02-04 一种基于插件技术在信息分发软件数据过滤中的应用方法 CN103176795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310042521.9A CN103176795B (zh) 2013-02-04 2013-02-04 一种基于插件技术在信息分发软件数据过滤中的应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310042521.9A CN103176795B (zh) 2013-02-04 2013-02-04 一种基于插件技术在信息分发软件数据过滤中的应用方法

Publications (2)

Publication Number Publication Date
CN103176795A CN103176795A (zh) 2013-06-26
CN103176795B true CN103176795B (zh) 2016-03-02

Family

ID=48636700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310042521.9A CN103176795B (zh) 2013-02-04 2013-02-04 一种基于插件技术在信息分发软件数据过滤中的应用方法

Country Status (1)

Country Link
CN (1) CN103176795B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107181715A (zh) * 2016-03-09 2017-09-19 阿里巴巴集团控股有限公司 一种业务校验方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477575A (zh) * 2002-07-26 2004-02-25 国际商业机器公司 从公布/订阅服务接收电子消息的方法和系统
CN102033743A (zh) * 2010-09-02 2011-04-27 西安赛斐软件科技有限公司 一种应用插件扩充模型驱动开发能力的系统及其方法
CN102035893A (zh) * 2010-12-23 2011-04-27 中国农业银行股份有限公司 一种服务器主动推送数据的方法和系统
CN102880699A (zh) * 2012-09-21 2013-01-16 中国电子科技集团公司第二十八研究所 一种基于全局信息集约的态势共享方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477575A (zh) * 2002-07-26 2004-02-25 国际商业机器公司 从公布/订阅服务接收电子消息的方法和系统
CN102033743A (zh) * 2010-09-02 2011-04-27 西安赛斐软件科技有限公司 一种应用插件扩充模型驱动开发能力的系统及其方法
CN102035893A (zh) * 2010-12-23 2011-04-27 中国农业银行股份有限公司 一种服务器主动推送数据的方法和系统
CN102880699A (zh) * 2012-09-21 2013-01-16 中国电子科技集团公司第二十八研究所 一种基于全局信息集约的态势共享方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于SOA架构的信息分发平台的设计与实现;耿海龙等;《智能计算机与应用》;20111030;第1卷(第3期);第17-20页 *
基于过滤的态势信息分发方法;宛海宁等;《计算机工程与设计》;20090131;第197-199页 *

Also Published As

Publication number Publication date
CN103176795A (zh) 2013-06-26

Similar Documents

Publication Publication Date Title
US8649770B1 (en) Extended trusted security zone radio modem
EP2839406B1 (en) Detection and prevention of installation of malicious mobile applications
US8583896B2 (en) Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US20130227641A1 (en) Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
EP2386093B1 (en) Buses for pattern-recognition processors
US20090126021A1 (en) Secure initialization of intrusion detection system
JP3344345B2 (ja) 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
JP2011233125A (ja) 偽装仮想マシン情報を利用したインテリジェントボット対応方法及び装置
KR101694560B1 (ko) 패턴 인식 프로세서의 전력 소모 관리 방법 및 시스템
EP1872232B1 (en) Protecting a computer that provides a web service from malware
CN102272715B (zh) 用于传送并行型式搜索引擎的型式匹配结果的装置、系统及方法
US20160323170A1 (en) Broadcast interception method and apparatus of intelligent device
US20030167366A1 (en) Interrupt disabling apparatus, system, and method
CN104462952B (zh) 一种禁止应用自启动的方法及装置
EP1750401B1 (en) USB 1.1 over a high speed link
CN106815151A (zh) 高性能互连相干协议
US20070041383A1 (en) Third party node initiated remote direct memory access
US9607146B2 (en) Data flow based behavioral analysis on mobile devices
EP2641191B1 (en) Grid computing system alongside a distributed database architecture
US9785588B2 (en) Methods and systems for devices with self-selecting bus decoder
US20050005101A1 (en) Kernel cryptographic module signature verification system and method
US20130081013A1 (en) Memory Coherency Acceleration Via Virtual Machine Migration
US20140245394A1 (en) Trust-based computing resource authorization in a networked computing environment
JP5758995B2 (ja) 仮想マシン間で分析の結果を共有するためのシステム、方法及びコンピュータ可読記憶媒体

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
C14 Grant of patent or utility model