1.一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:该方法中的通信实体包括订阅者、发布者和服务器;该方法不仅支持工业测控现场网络客户端之间的发布/订阅,也支持互联网客户端通过互联网网络连接服务器实现互联网客户端与现场网络客户端之间的发布/订阅;在该方法中,发布者和订阅者之间的订阅关系由服务器管理,但订阅请求的鉴权和审核依然由发布者验证;
该方法具体包括以下步骤:
S1:发布者向服务器发送自己当前状态信息,服务器记录该发布者的状态信息;
S2:订阅者向服务器发送订阅请求,请求发布者提供消息服务;
S3:服务器收到订阅者的订阅请求后,判断发布者当前状态,若发布者休眠,则告知该订阅者,请下次重试;若发布者在线,则向发布者发送订阅请求;
S4:发布者验证订阅请求,若验证通过,则发送订阅响应给服务器;
S5:服务器收到订阅响应后,添加该订阅者至订阅列表,并转发订阅响应给订阅者;
S6:订阅成功后,发布者发布消息给服务器,服务器查询管理的订阅列表,并向列表中所有已订阅的订阅者发布消息;
S7:若订阅者需要取消该消息服务,则向服务器发送取消订阅的请求;
S8:服务器收到订阅者取消订阅的请求,则查询订阅列表并删除该订阅者,并判断发布者当前状态,若发布者已休眠,等待其唤醒后再发送取消订阅请求,并进行下一步;若发布者未休眠,则发送取消订阅请求给发布者;
S9:发布者验证取消订阅请求,验证通过,则发送响应给服务器,并不再发布该消息。
2.根据权利要求1所述的一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:在本方法中,发布者被订阅但休眠时,会向服务器发送休眠状态并告知休眠时间和数据有效时间,此时取消订阅请求的鉴权和审核由服务器代为管理,并在数据有效期内由服务器代为发布数据。
3.根据权利要求1所述的一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:在本方法中,当存在多个订阅者订阅相同的内容时,发布者仅需向服务器发布一次数据,由服务器根据发布/订阅关系将数据转发给多个订阅者。
4.根据权利要求1所述的一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:该方法能够让发布者不仅支持基于事件的发布,同时还支持周期性数据的发布;
所述事件的类型包括但不限于以下内容:超出设定的数据上限、低于设定的数据下限、连续两次采集的数据变化量超出了预设范围。
5.根据权利要求1所述的一种工业测控网络中基于XMPP协议的发布/订阅服务方法,其特征在于:该发布/订阅服务方法是基于对象设计的,对于发布者而言内部会存在多种发布对象,对象会有多种属性,订阅关系是针对某个发布对象中的某个属性发起的;所述对象的类型包括但不限于以下3种类型:节点数据服务对象、节点休眠管理对象和服务器订阅关系管理对象。