[发明专利]一种发布历史事件的方法及系统无效
申请号: | 200710187577.8 | 申请日: | 2007-12-03 |
公开(公告)号: | CN101170522A | 公开(公告)日: | 2008-04-30 |
发明(设计)人: | 高晓波;莫兰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58;H04L29/06;G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 发布 历史事件 方法 系统 | ||
技术领域
本发明涉及软件技术领域,具体涉及一种发布历史事件的方法及系统。
背景技术
事件机制是一种模块或子系统之间的信息发布方法。系统中的某个模块或子系统可以向实现事件机制的模块,即事件服务模块订阅事件,事件服务模块收到订阅信息之后,将该订阅信息保存到自身的订阅表中。当某个模块或子系统产生一类事件时,可以通过事件服务模块发布,由事件服务模块根据自身保存的订阅表,判断该类事件是否被其他模块或子系统订阅,然后将事件分发给订阅者。
这种方式下,产生事件的模块或子系统,即事件生产者,与订阅事件的模块或子系统,即事件消费者之间没有直接耦合,从而使得各自可以独立开发,是“高内聚-低耦合”的常见设计方法之一。图1为现有技术中事件发布的示意图。如图1所示,事件发布包括:①事件消费者向事件服务模块订阅某一类事件,事件服务模块将该订阅的事件信息,例如事件类型标识信息,保存到自身的订阅表中。②事件生产者生成事件时,将该事件发布到事件服务模块。③由事件服务模块查询自身的订阅表,如果该类事件有事件消费者订阅了,则事件服务模块将该事件发送到订阅的事件消费者。
可见,现有的事件服务模块只是信息的分发通道,对历史事件则基本不做处理。也就是说,如果事件消费者向事件服务模块订阅某类事件时,这类事件中有一些事件已经发生过,即存在历史事件,则事件服务模块只能给该事件消费者发布该事件消费者订阅之后由事件生产者发布的事件,而无法将已经发生过的历史事件发布给该事件消费者。虽然有些事件服务模块也提供将事件存储为日志的功能,但却不具备重新发布历史事件的能力。
发明内容
本发明实施例提供一种发布历史事件的方法,可以将所订阅事件的历史事件重新发布给当前订阅事件的事件消费者。
本发明实施例还提供一种发布历史事件的系统,可以将所订阅事件的历史事件重新发布给当前订阅事件的事件消费者。
为达到上述目的,本发明实施例的技术方案是这样实现的:
一种发布历史事件的方法,包括:
接收事件消费者对于事件的订阅信息;
查询所订阅事件的历史事件,并将查询到的历史事件发送给该事件消费者。
一种发布历史事件的系统,包括事件生产者、事件服务模块和事件消费者,
所述事件消费者,用于向事件服务模块发送对于事件的订阅信息;接收事件服务模块发送的所订阅事件的历史事件;
所述事件服务模块,用于将事件生产者发布的事件保存到自身的历史事件缓存中,接收所述事件消费者对于事件的订阅信息,在所述历史事件缓存中查询所订阅事件的历史事件,将查询到的历史事件发送给所述事件消费者;
所述事件生产者,用于将生成的事件发布给事件服务模块。
一种发布历史事件的系统,包括事件生产者、事件服务模块和事件消费者,
所述事件消费者,用于向事件服务模块发送对于事件的订阅信息;接收事件服务模块发送的所订阅事件的历史事件;
所述事件服务模块,用于接收所述事件消费者对于事件的订阅信息,向所述事件生产者查询所订阅事件的历史事件,将查询到的历史事件发送给所述事件消费者;
所述事件生产者,用于在接收到所述事件服务模块关于所订阅事件的历史事件的查询信息时,在自身的缓存中查询或重新生成所订阅事件的历史事件,并将所订阅事件的历史事件发送给所述事件服务模块。
与现有技术相比,本发明实施例所提供的技术方案,接收事件消费者关于事件的订阅,查询所订阅事件的历史事件,并将查询到的历史事件发送给事件消费者,从而使得事件消费者可以接收到关于所订阅事件的历史事件的重新发布。
附图说明
图1为现有技术中事件发布的示意图;
图2为本发明实施例一发布历史事件的示意图;
图3为本发明实施例二发布历史事件的示意图。
具体实施方式
下面结合附图及具体实施例对本发明进行详细说明。
本发明实施例提供的发布历史事件的方法中,接收事件消费者对于事件的订阅,查询所订阅事件的历史事件,并将查询到的历史事件发送给该事件消费者。
实施例一:
本实施例中,由事件服务模块查询所订阅事件的历史事件。
图2为本发明实施例一发布历史事件的示意图。如图1所示,本实施例发布历史事件的方法包括以下步骤:
步骤21:事件生产者向事件服务模块发布生成的事件。
步骤22:事件服务模块将从事件生产者接收到的事件存储到自身的历史事件缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710187577.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃蚊香瓶
- 下一篇:带有超声清洗功能的水槽