CN102387203B - 一种物联网中基于soap协议的多播应用方法 - Google Patents
一种物联网中基于soap协议的多播应用方法 Download PDFInfo
- Publication number
- CN102387203B CN102387203B CN201110321952.XA CN201110321952A CN102387203B CN 102387203 B CN102387203 B CN 102387203B CN 201110321952 A CN201110321952 A CN 201110321952A CN 102387203 B CN102387203 B CN 102387203B
- Authority
- CN
- China
- Prior art keywords
- soap
- information
- response message
- smap
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种基于SOAP协议的多播应用方法,针对现有SOAP协议,不改变SOAP的封包格式,对来自客户端SOAP请求信息进行相似性的判断,将满足相似性条件的SOAP请求的信息提取,并按照定义的数据汇聚模板形成一个新的融合多用户信息SOAP响应消息后,然后经中间路由器根据设计的汇聚信息的分裂算法进行信息的分包,将不同的消息分别发送至不同的客户端。本发明依据相似性的方法将多个SOAP消息汇聚在一起,无需每次产生一个SOAP消息就立即发出去。与传统的SOAP单播协议相比,采用多播SOAP机制的网络,其服务器和中间节点的时延和协议开销得到改善,网络性能得到提高。
Description
技术领域
本发明涉及一种物联网数据消息传递方法,具体涉及一种基于SOAP协议的多播应用方法。
背景技术
物联网是继互联网和移动电信网之后,未来网络发展的第三次信息革命的浪潮,受到了目前学术界和企业界越来越广泛的关注。而Web服务技术作为物联网和泛在计算中至关重要的技术领域,其主要是建立在基于SOAP(Simple Obiect Access Protocol,简单对象访问协议)的消息传递层,基于WSDL(Web Services Description Language,网络服务描述语言)的接口描述,以及基于UDDI(Universal Description,Discovery and Integration,统一描述、发现和集成协议)的服务发现机制,为改进未来智慧网络中服务请求与响应的性能提供了很好的技术手段。
SOAP作为XML的消息传递协议,主要是因为XML丰富的语义、严格的规定、灵活的自描述语法特性以及支持XML语言间的自动翻译和转换,为多服务和设备间的交互提供了关键能力,使之适合于描述和查询服务。然而随着网络规模和信息量的不断扩大,尤其是未来的物联网和泛在网络中面对海量的数据描述,加上XML的自描述特性,使得在传统Web服务中的SOAP信息数据造成了大量的协议开销,而处理这些的冗余信息开销需要占用大量的计算资源,且对于服务的请求与响应的效率也随之降低。
相比于二进制协议,如Java RMI和COBRA等,一些研究人员已经提出各种方法来分析和优化SOAP性能。Web服务技术所面临的诸多挑战之一,就是如何能够基于自身的性能有效地发现服务。目前针对SOAP执行过程中低效性的原因,分析研究了一些像MS SOAP Toolkit+,SOAP RMI等在使用过程中的延时情况。研究表明,相比于Java RMI和COBRA,SOAP RMI及微软的SOAP Toolkit+的延时情况更为严重,其中很重要的原因就是在XML语法分析和格式化上所造成的延时。
传统的Xcast多播机制,其支持小量多点传播,通过显式对数据包中的目标文件进行编码实现,而非通过组播地址完成。这种方法不要求组播树的任何中介路由节点存放转发信息,而把组中所有接收者的地址存放在每个Xcast数据包头中,中间节点只需简单地根据包头中的路径信息来决定下一跳,并转发数据包,节点负载相对减轻。但是,在组播组接收者很多的情况下,数据包头的信息量就会增大,包处理的时延也会相应增加,这种方法就会显现的不足。因此,适时地引入一种高效的组播机制成为了提高SOAP性能的关键所在。
发明内容
本发明所要解决的技术问题是针对背景技术中提及的缺陷,提供一种SOAP多播应用方法,减少服务器和中间节点的时延和协议的开销,最终减少了数据通信的业务量,提高网络带宽的性能。
本发明为解决上述技术问题采用以下技术方案:
一种物联网中基于SOAP协议的多播应用方法,包括如下步骤:
步骤A,当有两个客户端的请求信息Soap1和Soap2经中间路由到达服务器后,在预先设定的等待时间内,依据相似性理论计算二者之间的相似性;
步骤B,当计算所得的相似性值大于或等于之前设定的相似阈值p,将客户端的地址以字符串形式存储在SMAP头部,生成一个包含Soap1和Soap2内容的SMAP响应信息;
步骤C,将SMAP响应信息封包在SOAP信息的包体部分,所述SOAP信息的包体包括两部分:
1)<Common>:包含公共数据和发往所有客户端信息的结构;
2)<Distinctive>:包含每个响应信息的各自不同的信息内容;
步骤D,在预先设定的等待时间内,当有新的请求信息到来,计算该请求信息的SMAP响应信息与已有SOAP信息包体中<Common>部分的相似度,其计算过程与步骤A的计算过程一致;
步骤E,当计算的相似度大于上述阈值p,将该请求信息融合到原有SMAP信息中;否则,将原有SMAP信息发送出去,将新的请求信息保留在服务器端等待下一个新请求信息。
进一步的,本发明的物联网中基于SOAP协议的多播应用方法中,在SOAP封包中,将目的节点的列表分割成包含n个目的节点的子列表,每一个子列表对应一个数据包中的目的节点列表。
进一步的,本发明的物联网中基于SOAP协议的多播应用方法中,在中间路由或指定路由节点处,进行数据包转发时需要调用事先设置的数据包分裂算法,数据包分裂算法就是当一个SMAP数据包到达中间路由器时,中间路由器根据SMAP数据包对应的下一跳地址选项,将来自不同目的地址客户端请求信息的差分部分分开,相同部分不变;因此一个SMAP数据包将根据下一跳路由地址的不同,分为对应的多个SMAP数据包。后续的数据包分裂算法依次类推。依据此算法将一个SMAP数据包分裂成来自不同用户的响应信息,并转发至下一跳路由或目的用户,最后送至业务请求的用户客户端。
进一步的,本发明的物联网中基于SOAP协议的多播应用方法中,依据相似性理论计算 两个请求信息Soap1和Soap2的相似性的具体步骤为:
元素相似度的计算:
两个请求信息Soap1和Soap2之间的元素相似度定义如下:
ESoap1和ESoap2是元素E在Soap1和Soap2中的数量,Nmax=max(\ESoap1\,ESoap2),
实例相似度的计算:
模板相似度的计算:
simtemp(Soap1,Soap2)=|N(Soap1)∩N(Soap2)|/|N(Soap1)∪N(Soap2)|;
其中N()是XML模板上独特节点的集合;
数据值相似度的计算:
信息相似度计算:
sim(Soap1,Soap2)=simtemp(Soap1,Soap2)×simval(Soap1,Soap2);
其中sim(Soap1,Soap2)∈[0,1],simtemp(Soap1,Soap2)是Soap1和Soap2模板之间的相似度;simval(Soap1,Soap2)是Soap1和Soap2数据值之间的相似度。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明依据SOAP的语法和结构上的相似性,将多个满足相似性条件的SOAP请求信息按照定义的数据汇聚模板进行重新组合形成一个新的消息体后,采用GXcast组播方案进行组播传递,无需每次产生一个SOAP消息就立即发出去。与传统的SOAP单播协议相比,采用多播SOAP机制的网络,其服务器和中间节点的时延和协议开销得到改善,网络性能得到提高。
附图说明
图1为SOAP协议业务应用场景。
图2为GXcast的多播机制。
图3为SOAP协议机制。
图4为一个包含SMAP信息的SOAP封包。
图5为SMAP协议的数据汇聚模板。
图6为SMAP信息的汇聚流程。
图7为本发明的路由转发示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
首先参考图7所示,本发明对来自客户端SOAP请求信息进行相似性的判断,将满足相似性条件的SOAP请求的信息提取,并按照定义的数据汇聚模板形成一个新的融合多用户信息SOAP响应消息后,然后经中间路由器根据设计的汇聚信息的分裂算法进行信息的分包,将不同的消息分别发送至不同的客户端。
本发明应用实施例如图1所示,应用场景具体部署的方案为:客户端通过校园网络访问远端服务器,请求调用部署在校园不同地方的传感设备所采集的感知数据。方案中采用的感知设备主要是Crossbow公司的MTS420/400传感器板,主要采集的参数有温度、光照、电压及湿度等。由远端传感器采集的实时数据存放在服务器的感知数据库中,客户端用户可以在远端对这些数据进行访问和调用,请求的信息就是基于SOAP信息格式进行封包,而服务器响应客户端请求的信息也会以SOAP的封包形式返回给客户端。传感器数据的业务服务主要用于对定点位置的环境监测,如温度、湿度、光照等,因此在服务器端的智能业务平台就可以通过提供诸如getSensorLiveData(),getSensorAndStatistic(),getOtherData()等操作来供用户进行业务选择。
如图2所示,GXcast(Generalized Explicit Multicast)协议是一种广义的Xcast协议:其主要通过限制数据包中目的地数量,来代替传统Xcast协议发送一个信息到每个目的地。因此,所有目的地的列表被分为不同的子列表,每一个子列表会对应于一个地址列表。Xcast协议和GXcast协议的唯一区别在源端、或者在源端指定路由节点上数据包处理方式不同。在GXcast协议中,源端服务器限制数据包中目的节点的数量。因此,目的节点的列表会分割成至多包含n个目的节点的子列表,每一个子列表会对应一个Xcast的数据包中的目的节点列表。而后续的多播机制将与Xcast组播一致。
服务器针对不同客户端的SOAP请求信息,通过计算不同SOAP信息结构和文法上的相似度,在服务器端汇聚成一个新的SOAP响应信息,这种新生成的响应信息的头部主要是响应信息的地址块,即该响应信息在转发给客户端过程中的下一跳路由的地址。
如图3所示,一个服务器与两个客户端的简单网络中,当客户端C1,C2的请求信息Soap1和Soap2经中间路由到达服务器后,在预先设定的等待时间内,依据相似性理论计算二者之间的相似性。
相似性的计算主要包括以下几个部分:
①元素相似度的计算:
两个值之间的元素相似度定义如下:
ESoap1和ESoap2是元素E在Soap1和Soap2中的数量,Nmax=max(\ESoap1\,ESoap2),
②实例相似度的计算:
两个实例如P1和P2之间,P是根据他们所有的子元素Ei的元素相似性 其中N是复杂元素P中所有子元素的数量,是实例P1中元素Ei与实例P2中元素Ei的元素相似性。
③模板相似度的计算:
Soap1和Soap2模板之间的相似度定义如下:
simtemp(Soap1,Soap2)=|N(Soap1)∩N(Soap2)|/|N(Soap1)∪N(Soap2)|;其中N(xml_tree)是XML模板上独特节点的集合,|S|是集合S的基数。
④数据值相似度的计算:
Soap1和Soap2数据值之间的相似度定义如下:
其中M是公共不同节点不包括子元素节点的集合,Ei是M中的一个元素,|M|是集合M的基数,是Soap1和Soap2中公共节点Ei的两个值之间的元素相似度。
⑤信息相似度计算:
两个XML信息,Soap1和Soap2之间的相似度,其定义为:sim(Soap1,Soap2)=simtemp(Soap1,Soap2)×simval(Soap1,Soap2);其中sim(Soap1,Soap2)∈[0,1],simtemp(Soap1,Soap2)是Soap1和Soap2模板之间的相似度;simval(Soap1,Soap2)是Soap1和Soap2数据值之间的相似度。
若计算所得的相似性值大于或等于之前设定的相似阈值ρ,则会生成一个包含了Soap1和Soap2内容的SMAP(业务管理接入点)信息。另外,此协议在执行过程中还设定了一个 汇聚数据的时间,记为tw。在此时间范围内,若输出的SMAP响应信息的相似度大于或等于相似阈值ρ,那么这些响应信息就会汇聚生成一个SMAP信息。直到新的SOAP请求信息到来,服务器会生成它的响应信息,并计算它与已有SMAP信息<Common>部分的相似度。如果计算的相似度大于上述阈值ρ,那么此新的响应信息会融合到SMAP信息中。否则,现有的SMAP信息会被发送出去,而最后的响应信息会保留在服务器端等待下一个新请求信息到来。
如图4所示,SMAP信息包体会嵌入在SOAP信息包体中,主要包括两部分:
1)<Common>部分主要包含公共数据和发往所有客户端信息的结构;
2)<Distinctive>部分主要包含每个响应信息的各自不同的信息内容。
如图5所示,为数据汇聚模板结构。整个SOAP封包主要是由SOAP头部和SOAP包体组成。在SOAP包头部分是接收端的地址,SOAP包体部分又分成了汇聚的头部和汇聚的包体。其中汇聚的头部是由构成此汇聚信息的ID组成,汇聚的包体是有SOAP请求信息的公用部分和差分部分组成。其公用部分和私用部分可以通过数据的相似性理论计算得出,从而实现公用数据和私用数据的分离处理。因此在服务器端SOAP请求信息的通过上述的汇聚机制形成一个完整的SOAP响应信息,其中公用部分在信息传递过程中可多次使用,而差分部分在发往目的端的过程中依据相应的机制进行分离,使得信息请求能得到相应的节点实时数据。因此在服务器一端利用此数据汇聚模板,不仅能提高SOAP请求信息的收发速率,同时能有效地减少网络的数据业务量,最终能整体上提高SOAP性能。
基于XML模板的SOAP信息主要由一系列的标签定义所组成,并假设发送方和接收方都知道这种模板,因此节点标签就能够用来作为计算SOAP信息模板之间相似性的基本标准。图6所示的是SOAP信息的汇聚流程,由来自客户端的请求信息Soap1和Soap2经SMAP信息汇聚机制,在服务器中调用事先定义的SOAP响应信息的模板,进而产生回复客户端的响应。
Claims (3)
1.一种物联网中基于SOAP协议的多播应用方法,其特征在于,包括如下步骤:
步骤A,当有两个客户端的请求信息Soap1和Soap2经中间路由到达服务器后,在预先设定的等待时间内,依据相似性理论计算二者之间的相似性;
步骤B,当计算所得的相似性值大于或等于之前设定的相似阈值ρ,将客户端的地址以字符串形式存储在SOAP信息头部,生成一个包含Soap1和Soap2内容的SMAP响应信息;
步骤C,将SMAP响应信息封包在SOAP信息的包体部分,所述SMAP 响应信息的包体包括两部分:
1)<Common>:包含公共数据和发往所有客户端信息的结构;
2)< Distinctive>:包含每个响应信息的各自不同的信息内容;
步骤D,在预先设定的等待时间内,当有新的请求信息到来,计算该请求信息的SMAP响应信息与已有SMAP响应信息包体中<Common>部分的相似度,其计算过程与步骤A的计算过程一致;
步骤E,当计算的相似度大于上述阈值ρ,将该请求信息的SMAP响应信息融合到原有SMAP响应信息中;否则,将原有SMAP响应信息发送出去,将最后的响应信息保留在服务器端等待下一个新请求信息。
2.根据权利要求1所述的一种物联网中基于SOAP协议的多播应用方法,其特征在于,在SOAP封包中,将目的节点的列表分割成包含n个目的节点的子列表,每一个子列表对应一个数据包中的目的节点列表。
3.根据权利要求1所述的一种物联网中基于SOAP协议的多播应用方法,其特征在于,在中间路由或指定路由节点处,进行数据包转发时需要调用事先设置的数据包分裂算法,具体是:当一个SMAP响应信息到达中间路由器时,中间路由器根据SMAP响应信息对应的下一跳地址选项,将SMAP响应信息的< Distinctive>部分分开,<Common>部分不变;
依据此算法将一个SMAP响应信息分裂成来自不同用户的响应信息,并转发至下一跳路由或目的用户,最后送至业务请求的用户客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110321952.XA CN102387203B (zh) | 2011-10-21 | 2011-10-21 | 一种物联网中基于soap协议的多播应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110321952.XA CN102387203B (zh) | 2011-10-21 | 2011-10-21 | 一种物联网中基于soap协议的多播应用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102387203A CN102387203A (zh) | 2012-03-21 |
CN102387203B true CN102387203B (zh) | 2014-06-04 |
Family
ID=45826163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110321952.XA Expired - Fee Related CN102387203B (zh) | 2011-10-21 | 2011-10-21 | 一种物联网中基于soap协议的多播应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102387203B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703048A (zh) * | 2004-05-27 | 2005-11-30 | 微软公司 | 网络服务应用协议和soap处理模型 |
CN101009535B (zh) * | 2007-01-26 | 2010-05-19 | 北京航空航天大学 | 基于滑动窗口的soap消息传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341595B2 (en) * | 2007-05-30 | 2012-12-25 | Roam Data Inc | System and method for developing rich internet applications for remote computing devices |
-
2011
- 2011-10-21 CN CN201110321952.XA patent/CN102387203B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703048A (zh) * | 2004-05-27 | 2005-11-30 | 微软公司 | 网络服务应用协议和soap处理模型 |
CN101009535B (zh) * | 2007-01-26 | 2010-05-19 | 北京航空航天大学 | 基于滑动窗口的soap消息传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102387203A (zh) | 2012-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Glaroudis et al. | Survey, comparison and research challenges of IoT application protocols for smart farming | |
Wang et al. | A lightweight XMPP publish/subscribe scheme for resource-constrained IoT devices | |
CN104518973B (zh) | 一种基于sdn环境的数据的可靠组播传输方法 | |
KR20060100273A (ko) | 피어-투-피어 애플리케이션을 형성하기 위한 애플리케이션프로그래밍 인터페이스 | |
CN101291240B (zh) | 一种组播流传输方法和系统 | |
CN101990238A (zh) | 一种传感器网络数据聚合的实现方法 | |
CN105637819B (zh) | 用于传输广播数据的方法和系统 | |
CN108964962A (zh) | 一种控制视联网终端的方法和系统 | |
Khazael et al. | Complex event processing in smart city monitoring applications | |
CN110290069B (zh) | 一种sdn场景下的可靠组播路由方法 | |
Said et al. | Design and performance evaluation of mixed multicast architecture for internet of things environment | |
Hou et al. | SeaHTTP: A resource-oriented protocol to extend rest style for Web of Things | |
CN106487709A (zh) | 一种报文发送方法及系统 | |
CN101917332A (zh) | 一种降低消息中间件网络负载的消息传递方法 | |
Quy et al. | An adaptive gateway selection mechanism for MANET-IoT applications in 5G networks | |
Myrda et al. | Recommended approach to a NASPInet architecture | |
Cianci et al. | Content centric services in smart cities | |
CN102387203B (zh) | 一种物联网中基于soap协议的多播应用方法 | |
CN101547110A (zh) | 一种组播源的注册方法、系统和设备 | |
CN103532954B (zh) | 一种面向数据中心的编码网络系统及其工作方法 | |
Li et al. | Towards QoE named content-centric wireless multimedia sensor networks with mobile sinks | |
CN100508467C (zh) | 一种转发层代理pim的方法及路由设备 | |
CN107801207B (zh) | 无线多媒体传感网络中的数据传输方法及系统 | |
Ahmed et al. | Implementation of Internet of Things (IoT) based on IPv6 over wireless sensor networks | |
EP2182673A1 (en) | systems and methods for improving multicast communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140604 Termination date: 20161021 |