CN104636211A - 一种软件***间的信息交互方法及中间件*** - Google Patents
一种软件***间的信息交互方法及中间件*** Download PDFInfo
- Publication number
- CN104636211A CN104636211A CN201510104408.8A CN201510104408A CN104636211A CN 104636211 A CN104636211 A CN 104636211A CN 201510104408 A CN201510104408 A CN 201510104408A CN 104636211 A CN104636211 A CN 104636211A
- Authority
- CN
- China
- Prior art keywords
- information
- software systems
- preset rules
- subscription
- database
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种软件***间的信息交互方法及中间件***,接收至少一个软件***按照预设格式发送的***信息;判断所述***信息是否为来自预先注册的订阅***的订阅信息;如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。这样,可以通过中间件***接收软件***之间的***信息,并根据预设规则对***信息进行独立的判断,执行与预设规则相对应的***操作,可以减弱软件***之间的强耦合关系,并满足用户自定义条件规则的业务需求。
Description
技术领域
本申请涉及软件技术领域,特别是涉及一种软件***间的信息交互方法及中间件***。
背景技术
软件***内部模块之间、***与***之间广泛存在着内容分发与过滤、信息处理逻辑定制以及按策略条件触发扇出操作等需求,这需要发布者将信息发出,接收者依据收到的信息做出判断并响应。
目前,在软件***进行设计时,会制订发布者和接收者的交互方式和逻辑堆栈,在同一软件***内部的模块之间,通常是通过模块之间的接口或者第三方载体实现信息的发布、接收、判断和响应,在不同的软件***与软件***之间,通常是通过应用层协议实现信息的发布、接收、判断和响应。
但是,随着新增业务的出现,***的业务逻辑会逐步增加,业务经过多次修改会变得越来越复杂,而软件***之间的交互方式和逻辑堆栈是固化的代码之间的强耦合关系,业务稍有变化就要修改接口或者扩展接口,程序内部的判断与响应逻辑也会变得越来越复杂,使得***越发脆弱,扩展性变差,甚至无法处理判断条件之间以及业务规则之间存在逻辑运算关系的情形,也不能满足用户自定义条件规则的业务需求。
发明内容
有鉴于此,本申请实施例提供一种软件***间的信息交互方法及中间件***,以减弱软件***之间的强耦合关系,并满足用户自定义条件规则的业务需求。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种软件***间的信息交互方法,应用于中间件***中,包括:
接收至少一个软件***按照预设格式发送的***信息;
判断所述***信息是否为来自预先注册的订阅***的订阅信息;
如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。
优选地,所述接收至少一个软件***按照预设格式发送的***信息,包括:
实时检测至少一个软件***触发的信息发送事件;
根据检测得到的信息发送事件,接收所述至少一个软件***按照预设格式发送的***信息;
将接收的所述***信息存储进信息队列中。
优选地,所述判断所述***信息是否为来自预先注册的订阅***的订阅信息,包括:
提取所述信息队列中的***信息,并分析提取的***信息中的第一信息标记;
将所述第一信息标记与预先注册的订阅***的订阅信息数据库做比对,判断所述订阅信息数据库中是否包括所述第一信息标记;
如果所述订阅信息数据库中包括所述第一信息标记,判定所述提取的***信息是来自预先注册的订阅***的订阅信息。
优选地,所述判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作,包括:
抽取所述提取的***信息中的第二信息标记,将所述第二信息标记与预设的规则信息数据库做比对,判断所述规则信息数据库中是否包括所述第二信息标记;
如果所述规则信息数据库中包括所述第二信息标记,判定所述提取的***信息满足所述规则信息数据库中的预设规则;
从预设的操作信息数据库中查找与所述预设规则相对应的***操作,并执行查找到的预设操作。
优选地,在所述接收至少一个软件***按照预设格式发送的***信息之前,还包括:
接受软件***的注册请求,所述注册请求中包括软件***的***名称和所发送的信息的第一信息标记和第二信息标记;
将所述***名称加入预先注册的订阅***中,并将所述第一信息标记添加进预设的订阅信息数据库中;
设置与所述第二信息标记相对应的预设规则,并设置与所述预设规则相对应的***操作,将所述预设规则添加进预设的规则信息数据库中,且将所述***操作添加进预设的操作信息数据库中。
一种中间件***,用于实现软件***间的信息交互,包括:
接收模块,用于接收至少一个软件***按照预设格式发送的***信息;
判断模块,用于判断所述***信息是否为来自预先注册的订阅***的订阅信息;
执行模块,用于如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。
优选地,所述接收模块,包括:
检测单元,用于实时检测至少一个软件***触发的信息发送事件;
接收单元,用于根据检测得到的信息发送事件,接收所述至少一个软件***按照预设格式发送的***信息;
存储单元,用于将接收的所述***信息存储进信息队列中。
优选地,所述判断模块,包括:
分析单元,用于提取所述信息队列中的***信息,并分析提取的***信息中的第一信息标记;
比对单元,用于将所述第一信息标记与预先注册的订阅***的订阅信息数据库做比对,判断所述订阅信息数据库中是否包括所述第一信息标记;
判定单元,用于如果所述订阅信息数据库中包括所述第一信息标记,判定所述提取的***信息是来自预先注册的订阅***的订阅信息。
优选地,所述执行模块,包括:
抽取单元,用于抽取所述提取的***信息中的第二信息标记,将所述第二信息标记与预设的规则信息数据库做比对,判断所述规则信息数据库中是否包括所述第二信息标记;
判定单元,用于如果所述规则信息数据库中包括所述第二信息标记,判定所述提取的***信息满足所述规则信息数据库中的预设规则;
执行单元,用于从预设的操作信息数据库中查找与所述预设规则相对应的***操作,并执行查找到的预设操作。
优选地,还包括:
注册模块,用于接受软件***的注册请求,所述注册请求中包括软件***的***名称和所发送的信息的第一信息标记和第二信息标记;
订阅模块,用于将所述***名称加入预先注册的订阅***中,并将所述第一信息标记添加进预设的订阅信息数据库中;
设置模块,用于设置与所述第二信息标记相对应的预设规则,并设置与所述预设规则相对应的***操作,将所述预设规则添加进预设的规则信息数据库中,且将所述***操作添加进预设的操作信息数据库中。
应用本申请的技术方案,接收至少一个软件***按照预设格式发送的***信息;判断所述***信息是否为来自预先注册的订阅***的订阅信息;如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。这样,可以通过中间件***接收软件***之间的***信息,并根据预设规则对***信息进行独立的判断,执行与预设规则相对应的***操作,可以减弱软件***之间的强耦合关系,并满足用户自定义条件规则的业务需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种软件***间的信息交互方法的流程图;
图2为本申请实施例提供的另一种软件***间的信息交互方法的流程图;
图3为本申请实施例提供的又一种软件***间的信息交互方法的流程图;
图4为本申请实施例提供的再一种软件***间的信息交互方法的流程图;
图5为本申请实施例提供的再一种软件***间的信息交互方法的流程图;
图6为本申请实施例提供的一种中间件***的结构示意图;
图7为本申请实施例提供的一种中间件***的结构示意图。
具体实施方式
相关术语解释:
中间件***:中间件(Middleware)是提供***软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。特别是应用软件与***软件之间的集成逻辑,在现代信息技术应用框架如Web服务、面向服务的体系结构中应用比较广泛。
发布/订阅模型:也称信息范式,在该模型中,信息的发送者(发布者)发送其信息给接收者(订阅者),发布的信息分为不同的类别,且发送对象不指定为确定的接受对象。订阅者与信息来源的相关性仅限于接收到信息,然后具体的订阅者只对一个或多个类别表达兴趣,于是只接收感兴趣的信息,因此也不需要知道什么样的发布者在发布信息。
信息队列:“信息”是不同***间进行通信的载体。信息在到达接收方后,来源不同的信息依据“先进先出”的顺序进入一个链式中继区域等待直到成功被传递,此时信息的处理模式称之为排队等待,而这个中继信息的设施称之为信息队列。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例提供的一种软件***间的信息交互方法的流程图。
参照图1所示,本申请实施例提供的软件***间的信息交互方法,应用于中间件***中,这里的中间件***设置于软件***之间,作为接收信息和处理信息的中间件,信息交互方法包括:
步骤S11:接收至少一个软件***按照预设格式发送的***信息;
本申请提供的软件***间的信息交互方法,参照图2,所述接收至少一个软件***按照预设格式发送的***信息,包括:
S111:实时检测至少一个软件***触发的信息发送事件;
S112:根据检测得到的信息发送事件,接收所述至少一个软件***按照预设格式发送的***信息;
S113:将接收的所述***信息存储进信息队列中。
在本申请实施例中,为解耦外部逻辑,实现随时对任意信息发布者(发布信息的软件***)的任意信息予以接收,引入了触发事件和信息队列机制:当任意信息发布者(发布信息的软件***)需要发送信息时,则按照统一的信息格式组装信息记录并触发信息发送事件,从而将信息发送的多源性分散到各个发布信息的***中去;发送信息时,任意信息发布者(发布信息的软件***)自行定义和发送信息发送事件,中间件***在接收到信息发送事件后,实时监听信息的发送情况。为了避免信息丢失,中间件***优选采用“先进先出”的信息队列机制。
步骤S12:判断所述***信息是否为来自预先注册的订阅***的订阅信息;
本申请实施例提供的一种软件***间的信息交互方法,如图3所示,所述判断所述***信息是否为来自预先注册的订阅***的订阅信息,包括:
S121:提取所述信息队列中的***信息,并分析提取的***信息中的第一信息标记;
S122:将所述第一信息标记与预先注册的订阅***的订阅信息数据库做比对,判断所述订阅信息数据库中是否包括所述第一信息标记;
在本申请实施例中,中间件***基于“发布/订阅”逻辑,接收***信息之后,主要通过***信息中的标记域等第一信息标记比对订阅信息数据库,从而判断是否该信息为订阅信息。
S123:如果所述订阅信息数据库中包括所述第一信息标记,判定所述提取的***信息是来自预先注册的订阅***的订阅信息。
为了加速判断过程、减少数据库IO,信息订阅数据库将预读到内存中。订阅过程是通过过滤信息的方式完成的,中间件***支持所有外部软件***发送的***信息。
步骤S13:如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。
本申请实施例提供的一种软件***间的信息交互方法,如图4所示,所述判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作,包括:
S131:抽取所述提取的***信息中的第二信息标记,将所述第二信息标记与预设的规则信息数据库做比对,判断所述规则信息数据库中是否包括所述第二信息标记;
S132:如果所述规则信息数据库中包括所述第二信息标记,判定所述提取的***信息满足所述规则信息数据库中的预设规则;
S133:从预设的操作信息数据库中查找与所述预设规则相对应的***操作,并执行查找到的预设操作。
信息队列的出口是后续环节的唯一信息发布者,在订阅信息被过滤出来后,整个处理流程便进入规则运算环节。
本申请方案的核心是中间件***的订阅引擎的规则判断逻辑,它在属于订阅***的***信息被捕获之后,首先访问规则信息数据库获取该类信息对应的用户自定义规则信息,之后按照信息来源和信息类别等第二信息标记抽取指定的信息文本做初始条件的判断操作(包括等于、包含等关系的成立与否),然后将判断结果作为输入进行多级逻辑比较(含与、或、非等)和条件运算,最终规则运算环节的输出结果为所述***信息是否符合规则信息数据库中的某条预设规则。
当规则运算环节的结果(即符合或者不符合某条或某些预设规则)确定后,中间件***查询操作信息数据库,依据配置中指定的处理方式触发该扇出条件上用户预先定义的操作集合,其中既可以包含对信息本身的操作如分类保存,也可以调用各种***间的操作的集合,如触发一系列计划任务等。
本申请方案的中间件***主要划分为:发布/订阅引擎、信息队列机制、规则判断环节的逻辑与***规则的响应逻辑。在本申请实施例中,发布/订阅引擎、信息队列机制、规则判断环节的逻辑与***规则的响应逻辑是相互独立的,因为所有的对应关系均持久保存在数据库或配置文件中,所以用户完全可以通过其他外部的配置工具来自行访问和定义预设规则与***操作的映射关系。
在本申请实施例中,中间件***在正常执行***信息的判定和功能分发工作前,需要保证***已经进行了完整的配置操作,具体可以分为三个方面的配置:
订阅信息数据库:订阅类别的信息到达后,***需要判断的字段配置;
规则信息数据库:用户自定义的字段比较方法、条件关系和规则关系的配置;
操作信息数据库:指定规则集合运算结果与其他***操作的映射关系;
三种配置都是基于中间件***内部已经注册过的外部软件***、类、链接参数、字段描述等基础数据进行的,在进行识别或匹配时,这些基础数据可以分别作为本申请实施例中的第一信息标记和第二信息标记,这三种配置分别作为信息过滤解析、规则运算和响应操作等***行为的执行依据,当基础信息得到适当配置后,业务流程就可以顺利得以执行了。
下面将详细描述三种配置的配置过程:
图5为本申请实施例提供的再一种软件***间的信息交互方法的流程图。
参照图5所示,本申请实施例提供的软件***间的信息交互方法,应用于中间件***中,这里的中间件***设置于软件***之间,作为接收信息和处理信息的中间件,本申请实施例提供的信息交互方法,在上述所有实施例的步骤之前,还包括:
步骤S01:接受软件***的注册请求,所述注册请求中包括软件***的***名称和所发送的信息的第一信息标记和第二信息标记;
步骤S02:将所述***名称加入预先注册的订阅***中,并将所述第一信息标记添加进预设的订阅信息数据库中;
在软件***被订阅前首先要注册到中间件***,分为注册本地静态数据类和注册外***静态类两种。本地静态数据类的注册在输入***名称、分配信息类别标号之后,还需要填写对应的类名等第一信息标记,因为信息来源和中间件***的发布/订阅引擎处于同一个运行环境上下文(即用于模块间的订阅需求时),所以只需要逐项填写实际的类属性;如果信息来源来自于外***,则指定信息来源标识后,先选定来源类别,然后填写对应数据类对外声明的属性名。
步骤S03:设置与所述第二信息标记相对应的预设规则,并设置与所述预设规则相对应的***操作,将所述预设规则添加进预设的规则信息数据库中,且将所述***操作添加进预设的操作信息数据库中。
中间件***内对于订阅信息(来自订阅***的***信息)的所有规则判断逻辑是在用户自定义的规则信息数据库的指引下完成的,为了设置规则信息数据库,用户首先要先指定规则关联的订阅***,为其创建出用于判断的预设规则。然后进入某条预设规则内判定条件的编辑模式后,就可以为每个条件选定判断的信息来源、字段和判断方法等第二信息标记(可以随时注册和卸载的接口实现类,注册方法与注册本地方法相同,注册后用户可以在选择判断方法下拉列表内勾选)。在编辑完条件后用户可以指定条件间的逻辑关系(典型的为或、与、非、异或、或非等),然后返回规则编辑模式编辑规则间的逻辑关系。当规则集合编辑完毕后,整个判断逻辑就与订阅***的***信息产生了依赖关系。***捕获到订阅信息,然后信息的预处理环节将有效的数据集合发布到规则判断逻辑,则上述建立的规则信息数据库就会被执行,执行结果决定着要调用什么样的***操作。
在中间件***设定好判规则信息数据库之后,再为对应的预设规则关联扇出***操作的配置。首先指定目标规则(组),然后指定响应的访问方式(如本地接口,远程调用等)并按照对应的访问方式填写参数约束和方法名等(目前支持本地接口、Webservice Client)。对于需要访问信息本身字段的情况,则可以选定“来自信息”后设定指定字段,并且与具体的方法参数相关联。
对于来自于已订阅***的***信息,如果订阅引擎中已经具备了正确的判定信息配置、信息判断规则和响应操作的映射关系,那么整个中间件***的工作流程大致描述如下:软件***进行了相关操作,触发信息发送事件;软件***打包信息报文发送给中间件***的订阅引擎;***信息到达订阅引擎信息队列等待处理;获取队列首部信息,分析信息标记,然后匹配订阅信息数据库判断是否来自订阅***,不是则丢弃;依据订阅信息,获取***进行规则判断的字段信息(也许来自于信息本身,也可能来自于订阅***,第二种情形则可能涉及到对信息来源***的访问);依据规则信息数据库查找对应的规则信息,然后分解判断依据的字段,先进行设定的条件判断,然后按照规则描述计算条件关系结果,得出的规则结果再与其他规则计算规则关系结果,最终结果由规则判断模块收集后传递给下游;接收来自规则判断逻辑的状态,然后查询操作信息数据库,依据响应方式和参数传递配置执行对应的外***交互接口Excuse(),随后执行接口类中的一系列对外***操作,完成***响应。这样,中间件***的订阅引擎对于来自订阅***的信息响应过程即全部完成。
作为一种中间件***,中间件***的订阅引擎在不同软件***间反复充当信息订阅者和信息发布者的角色:它一方面扮演订阅者接收和分析判断来自其他软件***的信息,另一方面又根据判断结果触发并传递参数给其他软件***来对输入予以响应。这个过程类似于在各个***间增加了一个具备逻辑判断功能的代理。比如,***信息来自于软件***A,但是与***信息相对应的***操作不仅可以指向软件***B和C,理论上还允许反馈信息来源即软件***A,这意味着中间件***除了作为第三方信息决策代理外,还可以通过组成类似于“反馈电路”的工作流程来产生周期性效应,从而实现***状态的自动调节。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
图6为本申请实施例提供的一种中间件***的结构示意图。
参照图6所示,本申请实施例提供的中间件***,用于实现软件***间的信息交互,包括:
接收模块1,用于接收至少一个软件***按照预设格式发送的***信息;
判断模块2,用于判断所述***信息是否为来自预先注册的订阅***的订阅信息;
执行模块3,用于如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。
所述接收模块1,包括:
检测单元,用于实时检测至少一个软件***触发的信息发送事件;
接收单元,用于根据检测得到的信息发送事件,接收所述至少一个软件***按照预设格式发送的***信息;
存储单元,用于将接收的所述***信息存储进信息队列中。
所述判断模块2,包括:
分析单元,用于提取所述信息队列中的***信息,并分析提取的***信息中的第一信息标记;
比对单元,用于将所述第一信息标记与预先注册的订阅***的订阅信息数据库做比对,判断所述订阅信息数据库中是否包括所述第一信息标记;
判定单元,用于如果所述订阅信息数据库中包括所述第一信息标记,判定所述提取的***信息是来自预先注册的订阅***的订阅信息。
所述执行模块3,包括:
抽取单元,用于抽取所述提取的***信息中的第二信息标记,将所述第二信息标记与预设的规则信息数据库做比对,判断所述规则信息数据库中是否包括所述第二信息标记;
判定单元,用于如果所述规则信息数据库中包括所述第二信息标记,判定所述提取的***信息满足所述规则信息数据库中的预设规则;
执行单元,用于从预设的操作信息数据库中查找与所述预设规则相对应的***操作,并执行查找到的预设操作。
图7为本申请实施例提供的另一种中间件***的结构示意图。
参照图7所示,本申请实施例提供的中间件***,用于实现软件***间的信息交互,在上面实施例的基础上,还包括:
注册模块4,用于接受软件***的注册请求,所述注册请求中包括软件***的***名称和所发送的信息的第一信息标记和第二信息标记;
订阅模块5,用于将所述***名称加入预先注册的订阅***中,并将所述第一信息标记添加进预设的订阅信息数据库中;
设置模块6,用于设置与所述第二信息标记相对应的预设规则,并设置与所述预设规则相对应的***操作,将所述预设规则添加进预设的规则信息数据库中,且将所述***操作添加进预设的操作信息数据库中。
本申请实施例提供的中间件***,可以采用上述方法实施例中的软件***间的信息交互方法,此处不再赘述。
应用本申请的技术方案,注册事件触发***信息发送与接收端信息队列结合、处理模块与信息处理完全解耦、比较规则和逻辑运算操作模块化加载、扇出操作对象和方法信息持久化的设计方案,采用事件触发和信息队列相结合的方式,可以接受任意软件***的任意类型的***信息的输入,并且支持用户自定义规则判断条件和指定规则间的逻辑运算关系,并且可以动态加载规则程序模块,中间件***的输出端操作由持久化信息动态挂接到条件扇出端,整个***提供了一个可以根据具体应用场景定制的功能框架,从而具备极好的扩展性和适应性;订阅信息数据库、规则信息数据库和操作信息数据库可以保存在数据库或者配置文件内,数据库信息具备维护客户端页面,配置文件具备手工维护和程序维护两种方式,所有信息动态加载,在***运行过程中支持规则库热切换,当然也支持规则信息的在线构建、移植和导入导出等操作,业务规则维护具备较高的灵活性;可以减弱软件***之间的强耦合关系,核心逻辑松耦合,在通用、灵活、扩展性高的***平台基础上,该***不仅可以轻松胜任信息订阅、***监控、用户行为管理等场景,而且还可以通过组合以及配置逻辑运算规则构建出简单高效的策略***内核、业务规则包、流程过滤器、多级串并联甚至附带反馈的信息过滤子***等;还可以在前端信息队列机制上对接企业数据总线,输出部分的操作触发机制混合SOA调用,则***还将支持服务器级别的独立部署和跨***的规则约束操作;
本申请可以建立起一个能够接受来自于任意***的任意文本类输入、依据用户自定义的规则判别条件及其基础上的逻辑运算关系、计算并触发一个或者一组用户自定义的扇出操作的***解决方案,从而将软件模块间或软件***间的耦合关系从“硬代码”中抽离出来。中间件***具备发布/订阅关系的***间解耦需求,但是该解决方案实际上可以广泛适用于各类软件***,并满足用户自定义条件规则的业务需求。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种软件***间的信息交互方法,应用于中间件***中,其特征在于,包括:
接收至少一个软件***按照预设格式发送的***信息;
判断所述***信息是否为来自预先注册的订阅***的订阅信息;
如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。
2.根据权利要求1所述的方法,其特征在于,所述接收至少一个软件***按照预设格式发送的***信息,包括:
实时检测至少一个软件***触发的信息发送事件;
根据检测得到的信息发送事件,接收所述至少一个软件***按照预设格式发送的***信息;
将接收的所述***信息存储进信息队列中。
3.根据权利要求2所述的方法,其特征在于,所述判断所述***信息是否为来自预先注册的订阅***的订阅信息,包括:
提取所述信息队列中的***信息,并分析提取的***信息中的第一信息标记;
将所述第一信息标记与预先注册的订阅***的订阅信息数据库做比对,判断所述订阅信息数据库中是否包括所述第一信息标记;
如果所述订阅信息数据库中包括所述第一信息标记,判定所述提取的***信息是来自预先注册的订阅***的订阅信息。
4.根据权利要求3所述的方法,其特征在于,所述判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作,包括:
抽取所述提取的***信息中的第二信息标记,将所述第二信息标记与预设的规则信息数据库做比对,判断所述规则信息数据库中是否包括所述第二信息标记;
如果所述规则信息数据库中包括所述第二信息标记,判定所述提取的***信息满足所述规则信息数据库中的预设规则;
从预设的操作信息数据库中查找与所述预设规则相对应的***操作,并执行查找到的预设操作。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,在所述接收至少一个软件***按照预设格式发送的***信息之前,还包括:
接受软件***的注册请求,所述注册请求中包括软件***的***名称和所发送的信息的第一信息标记和第二信息标记;
将所述***名称加入预先注册的订阅***中,并将所述第一信息标记添加进预设的订阅信息数据库中;
设置与所述第二信息标记相对应的预设规则,并设置与所述预设规则相对应的***操作,将所述预设规则添加进预设的规则信息数据库中,且将所述***操作添加进预设的操作信息数据库中。
6.一种中间件***,用于实现软件***间的信息交互,其特征在于,包括:
接收模块,用于接收至少一个软件***按照预设格式发送的***信息;
判断模块,用于判断所述***信息是否为来自预先注册的订阅***的订阅信息;
执行模块,用于如果所述***信息是来自订阅***的订阅信息,判断所述***信息是否满足预设规则,若满足,执行与所述预设规则对应的***操作。
7.根据权利要求6所述的中间件***,其特征在于,所述接收模块,包括:
检测单元,用于实时检测至少一个软件***触发的信息发送事件;
接收单元,用于根据检测得到的信息发送事件,接收所述至少一个软件***按照预设格式发送的***信息;
存储单元,用于将接收的所述***信息存储进信息队列中。
8.根据权利要求7所述的中间件***,其特征在于,所述判断模块,包括:
分析单元,用于提取所述信息队列中的***信息,并分析提取的***信息中的第一信息标记;
比对单元,用于将所述第一信息标记与预先注册的订阅***的订阅信息数据库做比对,判断所述订阅信息数据库中是否包括所述第一信息标记;
判定单元,用于如果所述订阅信息数据库中包括所述第一信息标记,判定所述提取的***信息是来自预先注册的订阅***的订阅信息。
9.根据权利要求8所述的中间件***,其特征在于,所述执行模块,包括:
抽取单元,用于抽取所述提取的***信息中的第二信息标记,将所述第二信息标记与预设的规则信息数据库做比对,判断所述规则信息数据库中是否包括所述第二信息标记;
判定单元,用于如果所述规则信息数据库中包括所述第二信息标记,判定所述提取的***信息满足所述规则信息数据库中的预设规则;
执行单元,用于从预设的操作信息数据库中查找与所述预设规则相对应的***操作,并执行查找到的预设操作。
10.根据权利要求6-9中任意一项所述的中间件***,其特征在于,还包括:
注册模块,用于接受软件***的注册请求,所述注册请求中包括软件***的***名称和所发送的信息的第一信息标记和第二信息标记;
订阅模块,用于将所述***名称加入预先注册的订阅***中,并将所述第一信息标记添加进预设的订阅信息数据库中;
设置模块,用于设置与所述第二信息标记相对应的预设规则,并设置与所述预设规则相对应的***操作,将所述预设规则添加进预设的规则信息数据库中,且将所述***操作添加进预设的操作信息数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510104408.8A CN104636211B (zh) | 2015-03-10 | 2015-03-10 | 一种软件***间的信息交互方法及中间件*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510104408.8A CN104636211B (zh) | 2015-03-10 | 2015-03-10 | 一种软件***间的信息交互方法及中间件*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636211A true CN104636211A (zh) | 2015-05-20 |
CN104636211B CN104636211B (zh) | 2018-10-16 |
Family
ID=53214999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510104408.8A Active CN104636211B (zh) | 2015-03-10 | 2015-03-10 | 一种软件***间的信息交互方法及中间件*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636211B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126233A (zh) * | 2016-06-24 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种基于弹射器的事件调度方法及装置 |
CN106685811A (zh) * | 2015-11-09 | 2017-05-17 | 北京仿真中心 | 基于协议的通用网关及其实现方法 |
CN108491281A (zh) * | 2018-03-22 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 在软件***之间进行交互的方法、可读介质及电子设备 |
CN110737524A (zh) * | 2019-10-18 | 2020-01-31 | 北京思维造物信息科技股份有限公司 | 一种任务规则管理方法、装置、设备及介质 |
CN111555925A (zh) * | 2020-06-09 | 2020-08-18 | 云南电网有限责任公司电力科学研究院 | 一种电力自动化终端自动辨识和配置方法及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471846A (zh) * | 2007-12-29 | 2009-07-01 | 北京天融信网络安全技术有限公司 | 一种网络事件分析管理*** |
CN101945056A (zh) * | 2009-06-29 | 2011-01-12 | 软件Ag公司 | 基于策略的jms中间件群的***和/或方法 |
CN102340495A (zh) * | 2010-07-26 | 2012-02-01 | ***通信集团广东有限公司 | 一种支撑跨***业务联动的事件中心及其事件处理方法 |
CN102761581A (zh) * | 2011-04-28 | 2012-10-31 | 国际商业机器公司 | 管理信息的动态订阅方法和设备及其分发方法和*** |
CN103458033A (zh) * | 2013-09-04 | 2013-12-18 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供***及其工作方法 |
CN103856393A (zh) * | 2013-07-09 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 基于数据库的分布式消息中间件***及其运行方法 |
CN103997532A (zh) * | 2014-05-30 | 2014-08-20 | 长沙瑞和数码科技有限公司 | 一种农业物联网边缘中间件*** |
CN104092767A (zh) * | 2014-07-21 | 2014-10-08 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅***及其工作方法 |
CN104243611A (zh) * | 2014-09-30 | 2014-12-24 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件*** |
-
2015
- 2015-03-10 CN CN201510104408.8A patent/CN104636211B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471846A (zh) * | 2007-12-29 | 2009-07-01 | 北京天融信网络安全技术有限公司 | 一种网络事件分析管理*** |
CN101945056A (zh) * | 2009-06-29 | 2011-01-12 | 软件Ag公司 | 基于策略的jms中间件群的***和/或方法 |
CN102340495A (zh) * | 2010-07-26 | 2012-02-01 | ***通信集团广东有限公司 | 一种支撑跨***业务联动的事件中心及其事件处理方法 |
CN102761581A (zh) * | 2011-04-28 | 2012-10-31 | 国际商业机器公司 | 管理信息的动态订阅方法和设备及其分发方法和*** |
CN103856393A (zh) * | 2013-07-09 | 2014-06-11 | 携程计算机技术(上海)有限公司 | 基于数据库的分布式消息中间件***及其运行方法 |
CN103458033A (zh) * | 2013-09-04 | 2013-12-18 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供***及其工作方法 |
CN103997532A (zh) * | 2014-05-30 | 2014-08-20 | 长沙瑞和数码科技有限公司 | 一种农业物联网边缘中间件*** |
CN104092767A (zh) * | 2014-07-21 | 2014-10-08 | 北京邮电大学 | 一种增加消息队列模型的发布/订阅***及其工作方法 |
CN104243611A (zh) * | 2014-09-30 | 2014-12-24 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685811A (zh) * | 2015-11-09 | 2017-05-17 | 北京仿真中心 | 基于协议的通用网关及其实现方法 |
CN106685811B (zh) * | 2015-11-09 | 2019-07-02 | 北京仿真中心 | 基于协议的通用网关及其实现方法 |
CN106126233A (zh) * | 2016-06-24 | 2016-11-16 | 武汉斗鱼网络科技有限公司 | 一种基于弹射器的事件调度方法及装置 |
CN108491281A (zh) * | 2018-03-22 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 在软件***之间进行交互的方法、可读介质及电子设备 |
CN110737524A (zh) * | 2019-10-18 | 2020-01-31 | 北京思维造物信息科技股份有限公司 | 一种任务规则管理方法、装置、设备及介质 |
CN111555925A (zh) * | 2020-06-09 | 2020-08-18 | 云南电网有限责任公司电力科学研究院 | 一种电力自动化终端自动辨识和配置方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN104636211B (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593400B1 (en) | Automatic triage model execution in machine data driven monitoring automation apparatus | |
US10762049B1 (en) | Extracting machine data generated by an isolated execution environment from a chunk of data generated by an isolated execution environment manager | |
US6763353B2 (en) | Real time business process analysis method and apparatus | |
CN104636211A (zh) | 一种软件***间的信息交互方法及中间件*** | |
CN105488223B (zh) | 业务数据事件的分析订阅方法及*** | |
US20110197207A1 (en) | System and method for producing audit trails | |
CN101207624A (zh) | 用于在网络中配置应用部件的方法和*** | |
US11676345B1 (en) | Automated adaptive workflows in an extended reality environment | |
CN109656963A (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
CN105989163A (zh) | 数据实时处理方法及*** | |
CN106503274A (zh) | 一种数据整合与搜索方法及服务器 | |
US20230018723A1 (en) | Cascading payload replication | |
CN112925664A (zh) | 目标用户的确定方法、装置、电子设备及存储介质 | |
CN104756079A (zh) | 规则分配服务器、事件处理***和方法以及程序 | |
US20050044076A1 (en) | Information retrieval from multiple sources | |
Abiteboul et al. | The AXML artifact model | |
CN101495978B (zh) | 减少总线连接的消费者和产生者之间的消息流 | |
CN115130959B (zh) | 生成备件bom的方法、***、终端及存储介质 | |
CN115033590A (zh) | 一种多域数据融合的方法、装置和存储介质 | |
CN111241455B (zh) | 数据处理装置、计算机设备及存储介质 | |
CN116975117A (zh) | 一种日志数据管理方法及装置 | |
EP1287439A2 (en) | Systems and methods of message queuing | |
CN101442503B (zh) | 处理组件更新消息的方法和设备 | |
CN105955991A (zh) | 一种搜索结果聚合及定位的方法和装置 | |
CN111611056A (zh) | 数据处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |