一种基于数字家庭网络的消息中间件的制作方法

文档序号:7955209阅读:202来源:国知局
专利名称:一种基于数字家庭网络的消息中间件的制作方法
技术领域
本发明属于数字家庭网络技术领域,特别是涉及一种基于数字家庭网络的消息中间件。
背景技术
数字家庭网络以家庭为实施空间,以家用电脑及其它数字家用电器为实施对象,实现网络化,做到互联互通,家庭智能化,并通过互联网在获得信息、与人交流等方面作更广的申延。从网络拓扑和应用场景看,数字家庭网络中所有电子产品通过某一通信协议以星型、环形等联接到一个对等或主从式单一网或簇网络系统,这个系统可支持双向通信,用户可使用手机或互联网等终端监控设备来监控所有家电的使用情况,家电也可以“反向主动传输”,在符合设定的条件下主动将家电信息发送至用户的监控终端。
数字家庭网络是一个动态的环境,使用过程中,设备会不断更新,新设备加入到数字家庭网络里,可以被其它在网络中的设备识别,同时它也可以发现其它设备,并能相互协调工作;所以数字家庭网络的设备繁杂多样,为了使用的方便,必须保证同一应用程序可以在采用不同的嵌入式操作系统的家电上运行。解决这些问题并不简单,因为家庭网络环境中的资源构成非常复杂,不仅有采用不同操作系统和硬件体系的设备,还有存在网络中的可以被使用的软件成员,甚至人也可以成为网络的资源一部分,这样就对设计信息家电以及家庭网络成员的开发人员造成了很大的困难,如何使开发人员可以忽略各种不同设备的底层信息,如何在设计家庭网络分布式应用使用通用接口,成为本领域所要面临的一大问题。
现有计算机技术的中间件是指位于操作系统、硬件及下层通讯系统和应用程序之间的,为上层应用提供了一套统一编程接口的,并具有同下层软件相比更强大的功能的系统。中间件的发展在很大程度上是为了解决交互问题,它向上层应用屏蔽了下层系统的复杂型和不同性,为应用提供了一套统一的开发接口和一致的数据访问能力,使上层应用不必考虑应用运行的下层系统的特征。中间件是一种应用级的软件,是一种应用集成的关键构件,一个好的中间件产品应该能解决数字家庭互连带来的各种问题,如支持各种通讯协议、各种通讯服务模式、传输各种数据内容、数据格式翻译、流量控制、数据加密、数据压缩等、提供名字服务、安全控制、并发控制、可靠性保证、效率保证、提供基于不同平台的丰富的应用开发接口、支持流行的开发工具、支持流行的异构互连接口标准等等。
故而,可在数字家庭网络中采用中间件技术,使得中间件在数字家庭网络中作为数据“软总线”,各种异构系统可以通过中间件有机的结合成一个整体。

发明内容
本发明的目的在于克服现有技术的不足,提供一种方便数字家庭网络的应用程序设计的消息中间件。
为了实现上述发明目的,采用的技术方案如下一种基于数字家庭网络的消息中间件,设置于数字家庭设备的操作系统与应用程序之间,包括为上层应用程序提供统一编程接口的消息中间件应用编程接口、消息队列、队列管理器、消息探测器、存储管理器、基础模块、系统管理模块、以及消息传输代理模块。
所述消息队列包括接收队列、工作队列、发送队列、延迟发送队列。
所述消息队列按优先级高低对消息进行排序。
所述队列管理器与消息队列连接。
所述消息探测器对内与消息队列及消息传输代理模块连接,对外与应用程序连接。
所述消息传输代理模块之间通过点对点通信相互连接。
所述存储管理器存放有与消息客户端的链接路径信息。
上述技术方案中,所述队列管理器是本发明的核心部件,它负责创建和删除队列,控制队列的行为和调整队列的优先级,主要有消息队列、主题队列、消息存取、主题服务器等组成。
所述消息探测器监控消息队列有无消息,监控到发送队列中有消息,通知消息传输代理发送消息,监控到接收队列有消息,通知应用程序处理该消息。
所述消息传输代理模块利用网络提供的通信机制,负责将消息投递到其他消息队列,且同时还能探测网络故障并从故障中恢复,保证消息安全可靠的到达目的地。
本发明中,所有提供消息服务的节点是对称的,不同节点上的队列管理器可以进行无主次之分的点对点的通信。基于消息传递的分布式系统中的每一个结点,都具有接收和发送消息的功能,为系统提供消息通信服务。这种服务本身是独立的,它作为消息转发子模块,保障端到端之间可靠的信息交换。消息传输代理模块所提供的服务即可靠消息传输服务。使得消息在节点之间的转发能够确保安全、可靠和单次可达,并且能够利用数据压缩、断点续传等技术提高传输的效率。
消息传输代理模块设计要实现具体目标为提供点到点的消息传送、保障消息发送的单次可达、提供消息恢复机制来保证消息的可靠传输,包括网络故障下的断点续传,节点故障下入队消息的状态恢复。
消息传输代理模块作为消息转发的模块,提供节点间可靠的信息交换。一方面,它将本地发送队列中的消息发送给远程目的地消息传输代理模块;另一方面,它接收远程消息传输代理模块发来的消息,并将之传送到本地消息队列管理器中消息队列。
所述基础模块提供基础服务,如名字服务、压缩、安全、日志功能,主要由压缩模块、安全模块、名字服务和日志服务等组成,该模块主要供其它模块调用。
所述系统管理模块使系统管理员能交互式地使用、维护和管理中间件,管理消息中间件系统参数、节点信息静态输入、主题信息输入、主题订阅者信息、名字服务管理与维护、RSA密钥对的生成保存、节点可达情况等功能。系统管理模块还负责在活动日志中记录所有不可丢失的消息和重要事件。当活动日志记录满后,系统管理模块将其拷贝到归档日志中。
本发明的优点如下1、由于本发明通过消息传输代理模块收发消息,且消息传输代理模块之间为点对点的通信,所以任何一个节点发生故障,都不会影响其它节点间的相互通信,不会对整个系统造成致命伤害。克服了在以消息服务器为中心的消息传输方式中,系统健壮性主要依赖服务器的正常运行,若服务器发生故障,无论各节点是否正常运行,整个系统都瘫痪的问题。
2、具有高效传输功能,由于消息队列按优先级的高低进行排序,所以优先级高的消息可以被优先传输和优先服务,通过存储管理器存放客户端的链接路径,且本发明还通过数据压缩技术减少网络数据量,通过断点续传技术提高消息传输效率,提高了传输效率。
3、消息传输安全可靠,由于本发明通过基础模块提供数据加密保护,可采用新的数据加密标准,提出了基于RSA混合网络传输数据加密方案,使数据加密的实现粒度可为一息一密。
4、灵活通信模式,本发明支持消息的点对点通信和发布/订阅通信两种模式。发布/订阅则是一种新的分布应用通信模式,发布/订阅通信模式则为通信的应用程序提供了某种匿名性。


图1为本发明的实施位置图;图2为本发明的体系结构图;图3为本发明的模块结构图;图4为本发明的消息发送流程图。
具体实施例方式
下面结合附图对本发明做进一步的说明。
本发明的应用于数字家庭网络中的位置如附图1所示,其处于应用程序与数字家庭网络设备的操作系统之间,运行在家电的操作系统之上,使用操作系统提供的功能,从各种的信息家电产品的不同的硬件体系结构、操作系统、网络接入和通信标准中抽象出的一种逻辑上的通信功能,为上层的家庭网络应用程序提供一系列服务,用于帮助建立和配置家庭网络中的分布式应用,构成数字家庭网络的重要组成成员。
本发明的体系结构如附图2所示,包括消息中间件应用编程接口APIs、消息队列、队列管理器、消息探测器、存储管理器、基础模块、系统管理模块、以及消息传输代理模块。消息传输代理模块利用网络的TCP/IP通讯协议进行点对点的通信。
本发明的模块结构图如附图3所示,队列管理器负责创建和删除队列,控制队列的行为和调整队列的优先级,主要有消息队列的写队列和读队列、主题队列、主题服务器等组成。
所述消息探测器监控消息队列有无消息,监控到发送队列中有消息,通知消息传输代理发送消息,监控到接收队列有消息,通知应用程序处理该消息。
所述消息传输代理模块利用网络提供的通信机制,负责将消息投递到其他消息队列,且同时还能探测网络故障并从故障中恢复,保证消息安全可靠的到达目的地,主要有消息压缩加密、数据分割和合成、数据包发送器、接收器等组成,其通过调用基础模块实现。
还通过系统管理模块的日志模块记录消息中间件的运行信息。
本发明的消息发送流程如附图4所示,首先判断消息的发送队列是否空,在判断的时候按优先级的高低顺序,如果消息发送队列非空的话,则从发送队列中取出一条消息,再从缓冲中查找是否有与这条消息接收客户端的链接存在,如果有存在链接就使用这个链接,否则重新创建一个链接,当这个数据发送结束的时候把这个链接放入一个客户端链接缓冲区中等待下次使用。当消息中心与目标客户端的链接无法建立时,消息中心就把这条消息放入延迟发送队列,在延迟发送队列中的消息是按照一定的时间间隔试图把这条消息重新发送出去。如果消息中心与目标客户端的链接建立成功,消息中心就把这条消息发送出去,如果发送成功则回到起点,再次从发送队列中取出发送的消息进行发送。如果消息中心给客户端发送消息时失败,消息中心也把这条消息放入延迟发送队列。
在消息中心,除了管理消息的接收队列,工作队列,发送队列之外,还有一个延迟发送队列,所述工作队列为缓冲队列,当接收程序把接收队列中的消息经过初步处理后把它放入这个缓冲队列,等待匹配程序对它进行处理,如果匹配成功则把这个队列中的消息移到发送队列,延迟发送队列中的消息是那些无法及时发送到客户端的消息,消息中心会每隔一定的时间判断这个队列中的消息是否过了有效期,如果过了有效期则把这个消息记录到错误日志中,如果没有超过有效期则把这个消息放入到发送队列中重新发送给客户端。
在发送消息处理中,系统建立一个与客户端的链接缓冲区,保留最近发送的链接。发送消息时,首先查询这个缓冲区,看是否存在这个目标客户端的链接,如果存在则直接使用这个链接以节省建立链接的时间。在消息中心启动的时候,消息中心会一直保留与其他消息中心的链接,这是由于消息中心之间的通讯是比较频繁的,因此保留消息中心之间的链接可以显著的提高系统的性能。
权利要求
1.一种基于数字家庭网络的消息中间件,设置于数字家庭设备的操作系统与应用程序之间,其特征在于包括为上层应用程序提供统一编程接口的消息中间件应用编程接口、消息队列、队列管理器、消息探测器、存储管理器、基础模块、系统管理模块、以及消息传输代理模块。
2.根据权利要求1所述的基于数字家庭网络的消息中间件,其特征在于所述消息队列包括接收队列、工作队列、发送队列、延迟发送队列。
3.根据权利要求1或2所述的基于数字家庭网络的消息中间件,其特征在于所述消息队列按优先级高低对消息进行排序。
4.根据权利要求3所述的基于数字家庭网络的消息中间件,其特征在于所述队列管理器与消息队列连接。
5.根据权利要求4所述的基于数字家庭网络的消息中间件,其特征在于所述消息探测器对内与消息队列及消息传输代理模块连接,对外与应用程序连接。
6.根据权利要求5所述的基于数字家庭网络的消息中间件,其特征在于所述消息传输代理模块之间通过点对点通信相互连接。
7.根据权利要求6所述的基于数字家庭网络的消息中间件,其特征在于所述存储管理器存放有与消息客户端的链接路径信息。
全文摘要
本发明提供了一种基于数字家庭网络的消息中间件,设置于数字家庭设备的操作系统与应用程序之间,包括为上层应用程序提供统一编程接口的消息中间件应用编程接口、消息队列、队列管理器、消息探测器、存储管理器、基础模块、系统管理模块、以及消息传输代理模块。本发明从各种的信息家电产品的不同的硬件体系结构、操作系统、网络接入和通信标准中抽象出的一种逻辑上的通信功能,为上层的家庭网络应用程序提供一系列服务,用于帮助建立和配置家庭网络中的分布式应用,构成数字家庭网络的重要组成成员。
文档编号H04L12/56GK1937550SQ20061003666
公开日2007年3月28日 申请日期2006年7月25日 优先权日2006年7月25日
发明者罗笑南, 彭斌斌 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1