一种工业测控网络中基于XMPP协议的发布/订阅服务方法技术

技术编号:13748991 阅读:41 留言:0更新日期:2016-09-24 08:38
本发明专利技术涉及一种工业测控网络中基于XMPP协议的发布/订阅服务方法,涉及工业测控网络技术领域。本方法在XMPP系列协议标准的基础上,根据工业测控网络自身特点和应用需求,设计了基于XMPP协议的发布/订阅方法。该方法主要在XMPP服务器中添加了发布/订阅关系维护和管理功能,支持基于事件的发布和周期性数据的发布;此外,针对工业测控网络的节能需求,在发布/订阅方法中加入了对休眠传感器节点的支持机制。该方法不仅可以实现工业测控网络中现场网络客户端之间的发布/订阅,也支持工业现场网络客户端与互联网客户端之间的发布/订阅。本发明专利技术在工业测控网络中实现的基于XMPP的发布/订阅服务方法,能够降低发布者实现发布功能的复杂度,节省工业测控网络的能量开销。

【技术实现步骤摘要】

本专利技术属于工业测控网络
,涉及一种工业测控网络中基于XMPP协议的发布/订阅服务方法
技术介绍
工业测控网络包括了从仪表电气、现场总线、工业以太网到无线网络等各种网络结构,而有线与无线网络技术集成实现异构的工业测控网络是新的发展趋势,这推动了物联网技术在工业现场测控领域的发展。并且发布/订阅服务模式是工业测控网络数据通信的一种重要方法。然而工业测控领域的通信协议众多,但各协议之间存在互不兼容等问题。XMPP协议是一种基于IP技术和XML语言的即时信息传输规范,并且在其协议中增加了对发布/订阅的支持。作为一种具有良好的实时性和扩展性的应用层协议,XMPP协议已经在互联网中得到了广泛的部署和应用,例如,聊天、娱乐、电子邮件等需要实时消息推送的应用。在工业测控网络中引入XMPP协议,不仅可以解决异构网络之间的互联互通问题,还能实现即时通讯。当前互联网中XMPP协议的应用主要注重于数据的双向交互,而工业测控网络中XMPP协议的应用主要注重于数据的汇集;发布/订阅机制在互联网中主要是基于事件的发布,而在工业网测控网络中不仅是基于事件的发布,还有发布周期性数据的需求。然而,当前XMPP协议中发布/订阅机制主要是基于事件的发布,不能对周期性数据的发布提供有力支持,也不能对具备休眠节点提供支持。因此,很有必要对现有的XMPP协议中的机制进行优化和改进。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种工业测控网络中基于XMPP协议的发布/订阅服务方法,该方法结合工业测控网络的自身特点和应用,发布者和订阅者之间的订阅关系不再由发布者管理,改进为服务器管理,同时能支持具备休眠功能节点的发布/订阅服务;该方法实现了有效的发布/订阅管理,能够降低发布者实现发布功能的复杂度,节省工业测控网络的能量开销。为达到上述目的,本专利技术提供如下技术方案:一种工业测控网络中基于XMPP协议的发布/订阅服务方法,该方法不仅支持工业
测控现场网络客户端之间的发布/订阅,也支持互联网客户端通过互联网网络连接服务器实现互联网客户端与现场网络客户端之间的发布/订阅;该方法中的通信实体包括订阅者、发布者和服务器;在该方法中,发布者和订阅者之间的订阅关系由服务器管理,但订阅请求的鉴权和审核依然由发布者验证;该方法具体包括以下步骤:S1:发布者向服务器出席自己当前状态信息,服务器记录该发布者的状态信息;S2:订阅者向服务器发送订阅请求,请求发布者提供消息服务;S3:服务器收到订阅者的订阅请求后,判断发布者当前状态,若发布者休眠,则告知该订阅者,请下次重试;若发布者在线,则向发布者发送订阅请求;S4:发布者验证订阅请求,若验证通过,则发送订阅响应给服务器;S5:服务器收到订阅响应后,添加该订阅者至订阅列表,并转发订阅响应给订阅者;S6:订阅成功后,发布者发布消息给服务器,服务器查询管理的订阅列表,并向列表中所有已订阅的订阅者发布消息;S7:若订阅者需要取消该消息服务,则向服务器发送取消订阅的请求;S8:服务器收到订阅者取消订阅的请求,则查询订阅列表并删除该订阅者,并判断发布者当前状态,若发布者已休眠,等待其唤醒后再发送取消订阅请求,并进行下一步;若发布者未休眠,则发送取消订阅请求给发布者;S9:发布者验证取消订阅请求,验证通过,则发送响应给服务器,并不再发布该消息。进一步,在本方法中,发布者被订阅但休眠时,会向服务器出席休眠状态并告知休眠时间和数据有效时间,此时取消订阅请求的鉴权和审核由服务器代为管理,并在数据有效期内由服务器代为发布数据。进一步,在本方法中,当存在多个订阅者订阅相同的内容时,发布者仅需向服务器发布一次数据,由服务器根据发布/订阅关系将数据转发给多个订阅者。进一步,该方法可让发布者不仅支持基于事件的发布,同时还支持周期性数据的发布;所述事件类型包括但不限于以下内容:超出设定的数据上限、低于设定的数据下限、连续两次采集的数据变化量超出了预设范围。进一步,该发布/订阅服务方法是基于对象设计的,对于发布者而言内部会存在多种发布对象,对象会有多种属性,订阅关系是针对某个发布对象中的某个属性发起
的;所述设计对象类型包括但不限于以下3种类型:节点数据服务对象、节点休眠管理对象和服务器订阅关系管理对象。本专利技术的有益效果在于:1)能够降低发布者的复杂度,适用于资源受限的节点。对于发布者而言,不需要维护复杂的发布/订阅关系,降低了发布者的复杂性,从而在实现过程中降低了发布者对硬件资源的要求,适用于资源受限的传感器节点,可实现轻量化。2)能够降低发布者发送的数据量。若发布/订阅关系不在服务器中维护,发布者向多个订阅者发布相同的内容时,发布者需要针对每个订阅者发送一次数据。改进后的发布/订阅方法发布/订阅关系由服务器管理和维护。对于发布者而言,如果存在多个订阅者订阅相同的数据,发布者仅需向XMPP服务器发送一次发布数据,在XMPP服务器收到发布数据后,服务器根据的发布/订阅关系将数据转发给不同的订阅者,从而降低了传感网内的数据发送量,也能够在一定程度上为传感器节点节省能量。3)能够支持具备休眠功能的传感器节点。如果发布/订阅关系由发布者自己维护,当发布者处于休眠状态中,订阅者在订阅或取消订阅关系时都将失败且有无可预期的情况发生。若采用该发布/订阅方法,由于订阅者和者之间的关系由XMPP服务器维护,在发布者处于休眠状态下时,服务器可代发布者建立或解除订阅关系,等下次节点唤醒后由服务器通知发布者订阅关系的改变情况;并且服务器在节点休眠时告知休眠时间和消息有效时间,可以在消息有效时间内代为发布消息。附图说明为了使本专利技术的目的、技术方案和有益效果更加清楚,本专利技术提供如下附图进行说明:图1为本专利技术的XMPP发布/订阅服务方法流程图;图2为XMPP发布/订阅服务方法应用场景图;图3为订阅者向正常工作发布者发起订阅/取消订阅流程图;图4为订阅者向休眠发布者发起订阅流程图;图5为订阅者向休眠发布者取消订阅流程图;图6为发布者向多个订阅者发布消息流程图。具体实施方式下面将结合附图,对本专利技术的优选实施例进行详细的描述。在基于XMPP协议的工业测控网络中,发布者与订阅者之间订阅关系的管理和维护由XMPP
服务器统一承担,而不仅仅作为数据转发的通道。图1为本专利技术的XMPP发布/订阅服务方法流程图,本专利技术提供的方法具体实现过程如下:一、发布/订阅流程说明图2为XMPP发布/订阅服务方法应用场景图,XMPP发布/订阅服务方法不仅支持无线传感网现场网络户端之间的发布/订阅,也支持互联网客户端通过互联网网络连接服务器实现互联网客户端和现场网络客户端之间的发布/订阅。其中,实线箭头代表发布/订阅路线,虚线代表网络连接。图3是本专利技术订阅者向正常工作发布者发起订阅/取消订阅流程图,具体步骤如下:Setp1:订阅者发送订阅请求到服务器,服务器将订阅请求转发者发布者;Setp2:发布者验证订订阅请求,验证通过,发送订阅响应给服务器,服务器转发至发布者;Setp3:发布者周期发布信息至服务器,服务器根据订阅关系转发消息到所有订阅者;Setp4:订阅者发送取消订阅请求至服务器,服务器直接回复取消订本文档来自技高网
...

【技术保护点】
一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:该方法中的通信实体包括订阅者、发布者和服务器;该方法不仅支持工业测控现场网络客户端之间的发布/订阅,也支持互联网客户端通过互联网网络连接服务器实现互联网客户端与现场网络客户端之间的发布/订阅;在该方法中,发布者和订阅者之间的订阅关系由服务器管理,但订阅请求的鉴权和审核依然由发布者验证;该方法具体包括以下步骤:S1:发布者向服务器出席自己当前状态信息,服务器记录该发布者的状态信息;S2:订阅者向服务器发送订阅请求,请求发布者提供消息服务;S3:服务器收到订阅者的订阅请求后,判断发布者当前状态,若发布者休眠,则告知该订阅者,请下次重试;若发布者在线,则向发布者发送订阅请求;S4:发布者验证订阅请求,若验证通过,则发送订阅响应给服务器;S5:服务器收到订阅响应后,添加该订阅者至订阅列表,并转发订阅响应给订阅者;S6:订阅成功后,发布者发布消息给服务器,服务器查询管理的订阅列表,并向列表中所有已订阅的订阅者发布消息;S7:若订阅者需要取消该消息服务,则向服务器发送取消订阅的请求;S8:服务器收到订阅者取消订阅的请求,则查询订阅列表并删除该订阅者,并判断发布者当前状态,若发布者已休眠,等待其唤醒后再发送取消订阅请求,并进行下一步;若发布者未休眠,则发送取消订阅请求给发布者;S9:发布者验证取消订阅请求,验证通过,则发送响应给服务器,并不再发布该消息。...

【技术特征摘要】
1.一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:该方法中的通信实体包括订阅者、发布者和服务器;该方法不仅支持工业测控现场网络客户端之间的发布/订阅,也支持互联网客户端通过互联网网络连接服务器实现互联网客户端与现场网络客户端之间的发布/订阅;在该方法中,发布者和订阅者之间的订阅关系由服务器管理,但订阅请求的鉴权和审核依然由发布者验证;该方法具体包括以下步骤:S1:发布者向服务器出席自己当前状态信息,服务器记录该发布者的状态信息;S2:订阅者向服务器发送订阅请求,请求发布者提供消息服务;S3:服务器收到订阅者的订阅请求后,判断发布者当前状态,若发布者休眠,则告知该订阅者,请下次重试;若发布者在线,则向发布者发送订阅请求;S4:发布者验证订阅请求,若验证通过,则发送订阅响应给服务器;S5:服务器收到订阅响应后,添加该订阅者至订阅列表,并转发订阅响应给订阅者;S6:订阅成功后,发布者发布消息给服务器,服务器查询管理的订阅列表,并向列表中所有已订阅的订阅者发布消息;S7:若订阅者需要取消该消息服务,则向服务器发送取消订阅的请求;S8:服务器收到订阅者取消订阅的请求,则查询订阅列表并删除该订阅者,并判断发布者当前状态,若发布者已休眠,等待其唤醒后再发送取消订阅请求,并进行下一步;若发布者未休眠,则发送取消订阅请求给发布者;S9:发布者验证...

【专利技术属性】
技术研发人员:王平刘玉强王恒
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1