在建立的三维坐标系中的坐标确定。一种楼宇中基于GPSR与SOAP交互的服务网络及其构建方法转让专利

申请号 : CN201210412098.2

文献号 : CN103780593B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董文牛温佳胡健沈强谭红艳张宇赵志军慈松

申请人 : 中国科学院声学研究所

摘要 :

本发明涉及一种楼宇中基于GPSR与SOAP交互的服务网络及其构建方法,所述网络包含:汇聚节点、服务注册中心和若干布放于楼宇中的传感器节点;所述汇聚节点,用于将传感器节点提供的服务发布到服务注册中心,并将接收的用户的服务请求转发给能够为用户提供服务的传感器节点;所述服务注册中心,用于注册传感器节点的服务并依据其接收的用户的自身服务描述信息获取提供服务的传感器节点的信息;其中,所述汇聚节点与各传感器节点之间采用传感网地理路由协议作为通信载体,且采用所述传感网地理路由协议时的各传感器节点及汇聚节点的地理位置信息依据上述各节点所在楼宇中建立的三维坐标系确定,各传感器节点的地址采用其

权利要求 :

1.一种楼宇中基于GPSR与SOAP交互的服务网络,其特征在于,所述网络包含:汇聚节点、服务注册中心和若干布放于楼宇中的传感器节点;

所述汇聚节点,用于将传感器节点提供的服务发布到服务注册中心,并将接收的用户的服务请求转发给能够为用户提供服务的传感器节点;

所述服务注册中心,用于注册传感器节点的服务并依据其接收的用户的自身服务描述信息获取提供服务的传感器节点的信息;

其中,所述汇聚节点与各传感器节点之间采用传感网地理路由协议作为通信载体,且采用所述传感网地理路由协议时的各传感器节点及汇聚节点的地理位置信息依据上述各节点所在楼宇中建立的三维坐标系确定;

所述传感器节点进一步包含:

传感器WSDL模块,用于生成描述自身服务的WSDL文件,并交由传感器GPSR转发模块发送给汇聚节点;

传感器SOAP模块,用于解析汇聚节点依据GPSR协议向其发送的SOAP消息或将服务返回结果封装为SOAP消息,将其传递给传感器GPSR模块进行结果返回;

传感器GPSR模块,用于解析、转发接收到的GPSR数据包,并将传感器WSDL模块或传感器SOAP模块发送的消息依据GPSR协议传输至汇聚节点。

2.根据权利要求1所述的楼宇中基于GPSR与SOAP交互的服务网络,其特征在于,所述汇聚节点进一步包含:汇聚节点WSDL模块、汇聚节点SOAP模块、汇聚节点HTTP模块和汇聚节点GPSR模块;

所述汇聚节点WSDL模块,用于解析接收到由传感器节点依据GPSR协议发送的WSDL文件,交由汇聚节点HTTP模块注册到服务注册中心;

所述汇聚节点SOAP模块,用于解析用户经HTTP协议发送的SOAP消息,并转换成基于GPSR协议的SOAP消息,进而交由汇聚节点GPSR模块进行转发;

所述汇聚节点HTTP模块,用于将WSDL文件发布到服务注册中心,并且接收用户发送的HTTP服务请求SOAP信息,以及将服务结果搭载于HTTP协议返回给用户;

所述汇聚节点GPSR模块,用于接收、解析传感器节点发送的GPSR数据包,并将SOAP请求消息依据GPSR协议转发给对应的传感器节点。

3.根据权利要求1所述的楼宇中基于GPSR与SOAP交互的服务网络,其特征在于,所述GPSR协议的数据分组包格式包含:包头和数据域,其中所述包头部分又进一步包含:包类型、工作模式和目的节点位置;

所述目的节点位置为该目的节点在楼宇中所处的地理位置;

所述包类型字段用于区分GPSR协议搭载的信息的类型,且该类型具体包含:普通数据、自身服务描述数据和简单对象访问数据。

4.根据权利要求1所述的楼宇中基于GPSR与SOAP交互的服务网络,其特征在于,所述三维坐标系为:选取一层楼层平面的中心点为坐标原点,以正东方向、正北方向、竖直方向分别作为坐标系的X轴、Y轴、Z轴的正方向,此时楼宇中任意传感器节点的地理位置信息为:{Xs,Ys,Zs},其中,Xs、Ys分别代表任意传感器节点s及汇聚节点在正东方向、正北方向距离其所在楼层平面中心点的距离,Zs则为节点距离1层楼面的竖直高度;Xs、Ys、Zs三者单位均为厘米。

5.一种构建权利要求1的楼宇中基于GPSR与SOAP交互的服务网络的方法,所述方法包含:步骤101)用于传感器节点向服务注册中心发布其能提供的服务信息的步骤;

步骤102)用于接收用户发送的服务请求信息并依据传感器节点的注册信息寻址能够提供服务的传感器节点的步骤,该步骤中汇聚节点与各传感器节点之间采用传感网地理路由协议作为通信载体,且采用所述传感网地理路由协议时的各传感器节点及汇聚节点的地理位置信息依据上述各节点所在楼宇中建立的三维坐标系确定;

步骤103)用于确定的能够提供服务的传感器节点向用户返回服务需求信息的步骤;

所述步骤101)进一步包含:

步骤101-1)传感器节点将其发布的自身服务描述信息中添加该节点的地理位置信息且采用web服务中的URL格式向汇聚节点转发自身服务描述信息;

步骤101-2)汇聚节点将其接收的各个传感器节点的自身服务描述信息传输至服务注册中心进行注册。

6.根据权利要求5所述的基于GPSR与SOAP交互的服务网络的方法,其特征在于,所述步骤102)进一步包含:步骤102-1)用户向服务注册中心发送服务请求信息,并依据该服务注册中心注册的各个传感器节点的自身服务描述信息为用户选中能够提供服务的传感器节点,将该节点的地理位置信息发送至汇聚节点;

步骤102-2)汇聚节点经由协议转换寻址传感器节点,并向该节点发送简单对象访问信息。

7.根据权利要求6所述的基于GPSR与SOAP交互的服务网络的方法,其特征在于,所述汇聚节点与用户通信采用HTTP协议,与传感器节点的通信采用GPSR协议承载的简单对象访问协议;

所述传感器节点在楼宇中的地理位置信息的获取进一步包含如下步骤:(a)建立三维坐标系,选取1层楼层平面的中心点为坐标原点,以正东方向、正北方向、竖直方向分别作为坐标系的X轴、Y轴、Z轴的正方向,建立三维坐标系;

(b)每个传感器节点以及汇聚节点根据(a)中所建立坐标系,分别获得其所处位置信息的数学表示方法如下:{Xs,Ys,Zs}

其中,Xs、Ys分别代表节点s在X方向、Y方向距离其所在楼层平面中心点的距离,Zs则为节点距离1层楼面的竖直高度;Xs、Ys、Zs三者单位均为厘米。

8.根据权利要求7所述的基于GPSR与SOAP交互的服务网络的方法,其特征在于GPSR协议的数据分组包格式包含:包头和数据域,其中所述包头部分又进一步包含:包类型、工作模式和目的节点位置;

所述目的节点的位置信息承载为用户提供服务的传感器节点的地理位置信息;

所述包类型字段用于区分GPSR协议搭载的信息的类型,且该类型具体包含:普通数据、自身服务描述数据和简单对象访问数据。

说明书 :

一种楼宇中基于GPSR与SOAP交互的服务网络及其构建方法

技术领域

[0001] 本发明涉及基于传感网服务的智能楼宇应用中服务构建方法,具体涉及一种楼宇中基于GPSR与SOAP交互的服务网络及其构建方法。

背景技术

[0002] 智能楼宇是将建筑、通信、计算机和控制等各方面先进技术融合,使建筑物内设备协调工作,合理集成为最优化整体,从而为用户创造一个效率最大化、消耗最小化的环境。目前传感网技术在智能楼宇方面的应用已非常普遍,典型的有安防系统、消防报警系统、电梯运行监测系统等。然而这些应用大多是针对某个特定的应用场景,各自采用不同的协议,不可避免的造成系统与系统之间的相互分割,形成一个个“信息孤岛”,缺乏可重用性,难以实现智能楼宇中形成最优化整体的目标。而在互联网方面,Web服务由于采用标准Web协议——XML(Extensible Markup Language,可标记扩展语言)、HTTP(HyperText Transfer Protocol,超文本传输协议)等,屏蔽了不同软件平台的差异,从而消除系统之间的异构性、实现当前环境下最高的可集成性,因而得到了广泛应用。上述描述介绍了当前智能楼宇方面存在的“信息孤岛”现象,为了解决这个问题,已有很多研究工作利用提到的Web协议来构建传感网服务;但是现有的研究工作存在灵活性差或者采用HTTP协议时存在IP地址资源不足等问题。
[0003] 目前传感网服务构建可以分为间接方式和直接方式两种。间接方式普遍采用中间件技术,将服务架设在传感器节点与用户之间的第三方之上;而采用中间环节代替传感器提供服务,灵活性差,不能根据传感网环境的变化而对服务进行动态更新、配置和调整。直接方式中,则是采用传感器直接构建服务的方式将传感器节点直接作为服务提供者,相比较于间接方式,灵活性有所提高;但是直接方式在通信时普遍采用Web服务中基于IP的通信协议,而伴随着传感网技术的不断发展,目前情况下为每个传感器都分配一个唯一的IP地址并不现实。

发明内容

[0004] 本发明的目的在于,为克服现有技术存在的上述问题,本发明提供了一种楼宇中基于GPSR与SOAP交互的服务网络及其构建方法。
[0005] 为实现上述目的,本发明提供了一种楼宇中基于GPSR与SOAP交互的服务网络,其特征在于,所述网络包含:
[0006] 汇聚节点、服务注册中心和若干布放于楼宇中的传感器节点;
[0007] 所述汇聚节点,用于将传感器节点提供的服务发布到服务注册中心,并将接收的用户的服务请求转发给能够为用户提供服务的传感器节点;
[0008] 所述服务注册中心,用于注册传感器节点的服务并依据其接收的用户的自身服务描述信息获取提供服务的传感器节点的信息;
[0009] 其中,所述汇聚节点与各传感器节点之间采用传感网地理路由协议作为通信载体,且采用所述传感网地理路由协议时的各传感器节点及汇聚节点的地理位置信息依据上述各节点所在楼宇中建立的三维坐标系确定。
[0010] 上述技术方案中,所述传感器节点进一步包含:
[0011] 传感器WSDL模块,用于生成描述自身服务的WSDL文件,并交由传感器GPSR转发模块发送给汇聚节点;
[0012] 传感器SOAP模块,用于解析汇聚节点依据GPSR协议向其发送的SOAP消息或将服务返回结果封装为SOAP消息,将其传递给传感器GPSR转发模块进行结果返回。;
[0013] 传感器GPSR模块,用于解析、转发接收到的GPSR数据包,并将传感器WSDL模块或传感器SOAP模块发送的消息依据GPSR协议传输至汇聚节点。
[0014] 上述技术方案中,所述汇聚节点进一步包含:
[0015] 汇聚节点WSDL模块、汇聚节点SOAP模块、汇聚节点HTTP模块和汇聚节点GPSR模块;
[0016] 所述汇聚节点WSDL模块,用于解析接收到由传感器节点依据GPSR协议发送的WSDL文件,交由汇聚节点HTTP模块注册到服务注册中心;
[0017] 所述汇聚节点SOAP模块,用于解析用户经HTTP协议发送的SOAP消息,并转换成基于GPSR协议的SOAP消息,进而交由汇聚节点GPSR模块进行转发;
[0018] 所述汇聚节点HTTP模块,用于将WSDL文件发布到服务注册中心,并且接收用户发送的HTTP服务请求SOAP信息,以及将服务结果搭载于HTTP协议返回给用户;
[0019] 所述汇聚节点GPSR模块,用于接收、解析传感器节点发送的GPSR数据包,并将SOAP请求消息依据GPSR协议转发给对应的传感器节点。
[0020] 上述技术方案中,所述GPSR协议的数据分组包格式包含:包头和数据域,其中所述包头部分又进一步包含:包类型、工作模式和目的节点位置;
[0021] 所述目的节点位置为该目的节点在楼宇中所处的地理位置;
[0022] 所述包类型字段用于区分GPSR协议搭载的信息的类型,且该类型具体包含:普通数据、自身服务描述数据和简单对象访问数据。
[0023] 上述技术方案中,所述三维坐标系为:选取1层楼层平面的中心点为坐标原点,以正东方向、正北方向、竖直方向分别作为坐标系的X轴、Y轴、Z轴的正方向,此时楼宇中任意传感器节点的地理位置信息为:{Xs,Ys,Zs},其中,Xs、Ys分别代表任意传感器节点s及汇聚节点在正东方向、正北方向距离其所在楼层平面中心点的距离,Zs则为节点距离1层楼面的竖直高度;Xs、Ys、Zs三者单位均为厘米。
[0024] 基于上述方法本发明提供了一种构建上述网络的方法,所述方法包含:
[0025] 步骤101)用于传感器节点向服务注册中心发布其能提供的服务信息的步骤;
[0026] 步骤102)用于接收用户发送的服务请求信息并依据传感器节点的注册信息寻址能够提供服务的传感器节点的步骤,该步骤中的汇聚节点寻址依据传感器节点在楼宇中的地理位置信息实现;所述汇聚节点与各传感器节点之间采用传感网地理路由协议作为通信载体,且采用所述传感网地理路由协议时的各传感器节点及汇聚节点的地理位置信息依据上述各节点所在楼宇中建立的三维坐标系确定;
[0027] 步骤103)用于服务提供传感器节点向用户返回服务需求信息的步骤。
[0028] 上述技术中,所述步骤101)进一步包含:
[0029] 步骤101-1)传感器节点将其发布的自身服务描述信息中添加该节点的地理位置信息且采用web服务中的URL格式向汇聚节点转发自身服务描述信息;
[0030] 步骤101-2)汇聚节点将其接收的各个传感器节点的自身服务描述信息传输至服务注册中心进行注册。
[0031] 上述技术方案中,所述步骤102)进一步包含:
[0032] 102-1)用户向服务注册中心发送服务请求信息,并依据该服务注册中心注册的各个传感器节点的自身服务描述信息为用户选中能够提供服务的传感器节点,将该节点的地理位置信息发送至汇聚节点;
[0033] 步骤102-2)汇聚节点经由协议转换寻址传感器节点,并向该节点发送简单对象访问信息。
[0034] 上述技术方案中,所述汇聚节点与用户通信采用HTTP协议,与传感器节点的通信采用GPSR协议承载的简单对象访问协议;
[0035] 所述传感器节点在楼宇中的地理位置信息的获取进一步包含如下步骤:
[0036] (a)选取1层楼层平面的中心点为坐标原点,以正东方向、正北方向、竖直方向分别作为坐标系的X轴、Y轴、Z轴的正方向,建立三维坐标系;
[0037] (b)每个传感器节点以及汇聚节点根据(a)中所建立坐标系,分别获得其所处位置信息的数学表示方法如下:
[0038] {Xs,Ys,Zs}
[0039] 其中,Xs、Ys分别代表节点s在X方向、Y方向距离其所在楼层平面中心点的距离,Zs则为节点距离1层楼面的竖直高度;Xs、Ys、Zs三者单位均为厘米(cm)。
[0040] 上述技术方案中GPSR协议的数据分组包格式包含:包头和数据域,其中所述包头部分又进一步包含:包类型、工作模式和目的节点位置;
[0041] 所述目的节点的位置信息承载为用户提供服务的传感器节点的地理位置信息;
[0042] 所述包类型字段用于区分GPSR协议搭载的信息的类型,且该类型具体包含:普通数据、自身服务描述数据和简单对象访问数据。
[0043] 与现有技术相比,本发明的技术优势在于:
[0044] 本发明提出一种新的服务架构方式应用于智能楼宇应用中:利用地理位置而非IP地址作为区分传感器节点的方式,将服务直接构建于传感器节点;采用传感网地理路由协议GPSR(Greedy Perimeter Stateless Routing)作为传感网内部SOAP(Simple Object Access Protocol,简单对象访问协议)的通信载体。本发明相比较于间接方式具备一定的灵活性,同时解决了直接方式中IP地址不足等问题。总之,相比于间接方式,服务直接构建于传感器节点,灵活性提高;同时采用传感网地理路由协议作为传感网内部传输协议,相比于直接方式中基于IP的TCP或UDP协议,解决了IP地址资源耗尽等问题。同时,提出楼宇内部以位置区分节点,以及服务相关协议扩展的方法。

附图说明

[0045] 图1本发明提供楼宇中基于GPSR与SOAP交互的服务网络的组成结构示意图;图2-a是本发明提供的SinkNode转发的代码注释图;
[0046] 图2-b是本发明提供的构建楼宇中基于GPSR与SOAP交互的服务网络的流程图;
[0047] 图3本发明实施例采用的楼宇内三维坐标系建立方法示意图。

具体实施方式

[0048] 下面结合附图和具体实施例对本发明进行详细的说明。
[0049] ●服务架构与应用
[0050] 1)服务架构
[0051] 本发明的服务构建方法采用直接构建方式:传感器节点直接作为服务提供者,并通过汇聚节点(SinkNode)将服务发布到服务注册中心;同时SinkNode接收用户的服务请求,并将其转换之后转发给相应的传感器节点,SinkNode即服务提供节点与用户之间的中间环节。
[0052] 传感器节点、SinkNode、用户以及服务注册中心四者之间的通信模型如图1所示:传感器节点具备SOAP模块以及GPSR转发能力,因此能够解析接收到的SOAP消息,也可以将服务返回结果封装成SOAP消息之后搭载到GPSR协议上进行转发。SinkNode作为传感网和用户交互的中间环节,其本身并不提供服务;SinkNode具有SOAP模块、对外HTTP通信以及对内GPSR路由转发的能力,且能够进行协议转换;因而可以将接收到的传感网服务信息发布到服务注册中心,也能够将收到的服务请求转发给服务提供节点。
[0053] 2)服务应用
[0054] 本发明采用以地理位置区分传感器节点的方法,在初始化之前,楼宇内的每个传感器节点知道其自身位置,但对SinkNode位置并不清楚,因此需要SinkNode以广播的形式向各个传感器节点播报其位置信息。具体广播方法描述如下:
[0055] SinkNode以广播的形式向周围节点发送其位置信息,收到该信息的传感器节点检查其自身是否知道SinkNode位置信息的“SinkNode”标志位:如果SinkNode信息为“未知”,则保存SinkNode信息,继续转发该信息,并将标志位置为“已知”;如果SinkNode“已知”,则不再对SinkNode信息做转发处理;直到网内所有节点都知道SinkNode节点位置为止,初始化阶段结束。
[0056] 运行阶段包括服务的发布、请求及结果返回,流程如图2-b所示。
[0057] 其中发布阶段分网内和网外两个阶段:网内阶段即传感网内部阶段,传感器节点将自身服务描述信息WSDL(Web Service Description Language)发布给SinkNode;SinkNode解析并进行相应处理之后发布到服务注册中心,即完成服务发布阶段。
[0058] 在服务请求阶段,服务请求者根据WSDL中描述的服务获取地址,向SinkNode发送基于HTTP的SOAP请求;SinkNode解析出其中包含的服务提供节点的位置信息,搭载到GPSR之上转发给对应节点。
[0059] 关于服务返回,处理方法基本与服务请求阶段互为逆过程:服务提供者将服务结果封装成SOAP消息之后转发给SinkNode,由SinkNode发送给对应的服务请求者。
[0060] ●服务构建方法
[0061] 1)节点位置描述方法
[0062] 本发明采用地理路由协议GPSR作为SOAP通信的载体,要求每个节点都能知道自身的地理位置,而目前通用的方法是在节点上增加GPS模块进行定位。但由于卫星信号容易受到各种障碍物遮挡,GPS定位技术并不适用于室内或高楼林立的场合;此外,楼宇内传感器数量巨大,为每个节点均配备GPS模块也将是笔很大的开销。
[0063] 不同于其他应用场景,楼宇内的传感器大都是处于固定位置,即地理位置信息不会发生变化。为此,本发明提出楼宇内传感器节点的定位方法:
[0064] (a)选取1层楼层平面的中心点为坐标原点,以正东方向、正北方向、竖直方向分别作为坐标系的X轴、Y轴、Z轴的正方向,建立三维坐标系。
[0065] (b)每个传感器节点以及SinkNode根据(a)中所建立坐标系,分别获得其所处位置的数学表示方法:
[0066] {Xs,Ys,Zs}
[0067] 其中Xs、Ys分别代表节点s在X方向、Y方向距离其所在楼层平面中心点的距离,Zs则为节点距离1层楼面的竖直高度;Xs、Ys、Zs三者单位均为厘米(cm)。
[0068] 节点位置描述方法中坐标系建立方法如图3所示:
[0069] 2)内部通信协议扩展
[0070] 表1GPSR数据分组包格式
[0071]
[0072] GPSR数据分组包格式如表1所示:其中工作模式字段为状态标志位,代表当前工作模式为贪婪模式或边界模式。目的节点位置用两个四字节浮点值表示,分别标记x和y的坐标。而根据本发明中提出的节点描述方法,将目的节点位置表示成如表2所示:其中Xs、Ys、Zs分别为节点s的坐标值,用两个字节浮点数表示;原表示目的节点位置的前两个字节设为全“1”,用来作为本发明所提供节点位置描述方法的标志位。
[0073] 表2GPSR中节点位置表示方法
[0074]
[0075] 同时,本发明的服务构建方法在传感网内部采用GPSR搭载WSDL和SOAP进行通信。为实现WSDL与SOAP基于GPSR发送,从两方面对GPSR进行扩展。首先将WSDL、SOAP存放入数据域字段。其次,对包头字段信息中的包类型加以扩展,分别增加代表WSDL和SOAP消息的包类型,如表3所示。
[0076] 表3GPSR包类型
[0077]
[0078] 当目的节点收到GPSR包之后,首先对包类型字段进行判断:如果为普通数据包,则直接提取数据域中的数据;如果为WSDL或SOAP数据包,则调用相应的处理模块进行解析。
[0079] 3)服务发布
[0080] 本发明中服务发布需要经过传感器节点发布和SinkNode转发两个步骤;相应地,传统Web服务中的WSDL的相应部分也要进行修改。
[0081] 传感器发布
[0082] (a)命名空间部分
[0083] 对于命名空间部分,传感器在发布WSDL时采用本发明中提出的节点位置描述方法进行填写;同时为了之后SinkNode方便添加其IP地址信息,因此继续沿用Web服务中通用的URL(uniform resource locator,统一资源定位符)格式。修改方法如下所示:
[0084] targetNamespace="location?X=xs&Y=ys&Z=zs/Service"
[0085] 其中,xs、ys、zs分别为节点s在坐标系下的坐标值。
[0086] (b)binding部分
[0087] 由于本发明采用GPSR作为传感网内部传输协议,因此将传输协议部分修改为:protocol="GPSR"
[0088] (c)service部分
[0089] service中address部分,修改方法与命名空间类似,如下所示:
[0090] address="location?X=xs&Y=ys&Z=zs/Service/"
[0091] SinkNode转发
[0092] SinkNode采用HTTP作为与外部的传输协议,因而具备IP地址作为其唯一的标识。在SinkNode将节点发布的WSDL转发到服务注册中心之前,须在WSDL中对应的添加其IP地址信息。假设其IP地址为192.168.64.101,则WSDL经SinkNode修改之后的例子格式如图2-a所示:其中命名空间部分和service的address部分分别在以上基础上添加了SinkNode的IP地址,且binding中传输协议部分改为Web服务中通用的HTTP协议。
[0093] 4)SOAP扩展
[0094] 本发明中传感网内部的服务通信基于GPSR进行,但由以上可知,GPSR协议数据包中只包含目的节点位置信息,而对源节点信息没有涉及,使得传感器节点的服务结果会因为没有服务请求者信息而无法返回。因此,本发明提出对基于GPSR发送的SOAP消息进行扩展,在SOAP中增加服务请求者标签:Requester以及请求者相关信息。
[0095] 扩展之后的SOAP消息如下所示:其中标签Requester内部Location:x、Location:y、Location:z分别为SinkNode的位置坐标;ipAddress为服务请求者的IP地址。这样,服务结果就能够经GPSR发送给SinkNode之后,转发给服务请求者。
[0096]
[0097] 图2-b中所示的本发明提供的楼宇中基于GPSR与SOAP交互的服务网络的完整的服务发布、请求以及结果返回的流程图,具体描述如下:
[0098] 步骤101)传感器节点将自身提供服务由WSDL模块封装成WSDL文件,搭载于GPSR协议发送给汇聚节点;
[0099] 步骤102)汇聚节点接收之后,首先由GPSR模块解析GPSR数据包,之后由WSDL模块修改WSDL文件之后,交由HTTP模块发布到服务注册中心;
[0100] 步骤103)用户对服务注册中心进行服务查询,并得到对应的WSDL文件;
[0101] 步骤104)用户根据WSDL文件的描述,向汇聚节点依据HTTP协议发送服务请求的SOAP消息;
[0102] 步骤104)汇聚节点利用HTTP模块解析用户发送的HTTP数据包,之后由SOAP模块解析并修改SOAP消息之后,交由GPSR模块转发给对应的传感器节点;
[0103] 步骤105)传感器节点由GPSR模块解析包含服务请求信息的GPSR数据包,之后由SOAP模块解析其中的SOAP消息以及将服务结果封装成SOAP格式数据,交由GPSR模块返回给汇聚节点;
[0104] 汇聚节点接收之后,首先由GPSR模块对GPSR数据包进行解析,之后将解析出的SOAP消息交由HTTP模块返回给请求服务的用户;至此完整的流程结束;
[0105] 案例分析
[0106] 设置一个演示场景对本发明进行案例分析,场景中设置除SinkNode之外的三个传感器节点,分别是温湿度传感器和2个不提供服务的传感器S1和S2,每个节点GSPR转发覆盖半径为300cm,场景中节点以及用户的信息设置如表4所示。
[0107] 表4节点及用户信息
[0108]对象 X坐标 Y坐标 Z坐标 IP地址
SinkNode 0 0 0 192.168.64.101
S1 100 200 100 X
S2 200 300 300 X
温湿度传感器 400 400 400 X
用户 X X X 192.168.64.100
[0109] 由表4可以看出,根据GPSR协议以及本文提出的服务构建方法,温湿度传感器的服务发布需要经S2、S1、SinkNode,之后由SinkNode发布到服务注册中心。最终发布到服务注册中心的WSDL文件如下所示:
[0110]
[0111] 之后用户根据WSDL描述的服务获取地址信息,向SinkNode发送SOAP请求;SinkNode收到之后进行解析,增加服务请求者IP地址以及自身的位置信息之后,转发给提供服务的温湿度传感器。此时的SOAP请求如下所示:
[0112]
[0113] 温湿度传感器在处理完服务请求之后,将温湿度结果值封装成SOAP消息,搭载到GPSR之上发送给SinkNode;SinkNode根据SOAP中包含的服务请求者IP地址信息,将结果基于HTTP转发给对应的请求者。至此,一次完整的服务运用过程结束,同时也证明了本发明的可行性及有效性。
[0114] 需要说明的是,以上介绍的本发明的实施方案而并非限制。本领域的技术人员应当理解,任何对本发明技术方案的修改或者等同替代都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围内。