CN109005123A - 一种基于组播技术的CoAP协议通知优化方法 - Google Patents
一种基于组播技术的CoAP协议通知优化方法 Download PDFInfo
- Publication number
- CN109005123A CN109005123A CN201811194021.6A CN201811194021A CN109005123A CN 109005123 A CN109005123 A CN 109005123A CN 201811194021 A CN201811194021 A CN 201811194021A CN 109005123 A CN109005123 A CN 109005123A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- multicast
- resource
- request
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于组播技术的CoAP协议通知优化方法,包括:步骤S100:客户端向服务器发送注册感兴趣的资源URL的请求;步骤S200:服务器收到请求后将客户端添加到所述资源URL的观察者列表中;步骤S300:服务器创建资源URL的多播组;步骤S400:服务器监测到所述资源URL的状态发生改变后,通过广播方式通知多播组成员。本发明通过在服务器使用组播技术通知客户端的请求或者感兴趣的资源后,可以大大的提高客户端‑服务器的通信能力,降低网络拥塞的风险。可以通过注册请求和取消注册请求管理多播组成员,通过监控对资源的请求,服务器可以确定资源何时应该多播或单播通知客户端。
Description
技术领域
本发明涉及物联网通信技术领域,具体的说,是一种基于组播技术的CoAP协议通知优化方法。
背景技术
现有使用CoAP协议的客户端-服务器模型采用一种订阅-通知的通信机制,大概可以表述为,客户端可以订阅服务器上自己感兴趣的资源,服务器将保存对该资源感兴趣的客户端信息,然后在当某个时刻,该资源的状态发生变化后,通过单播的方式主动地发送消息通知给通知感兴趣的客户端。如果在单播通知的过程中出现了超时重传等现象,那么服务器发送单播的次数将大大高于实际预期的次数,这样很可能会增加网络拥塞,且也降低了服务器的性能,同时也浪费了流量,因为在超时重传的时候,客户端可能已经收到前一次的请求的回复ACK了。显然,这种逐个通知的方式,效率较为低下。
发明内容
本发明的目的在于提供一种基于组播技术的CoAP协议通知优化方法,用于解决现有技术中单播方式容易增加网络拥塞,降低服务器性能的问题。
本发明通过下述技术方案解决上述问题:
一种基于组播技术的CoAP协议通知优化方法,包括:
步骤S100:客户端向服务器发送注册感兴趣的资源URL的请求;
步骤S200:服务器收到请求后将客户端添加到所述资源URL的观察者列表中;
步骤S300:服务器创建资源URL的多播组;
步骤S400:服务器监测到所述资源URL的状态发生改变后,通过广播方式通知多播组成员。
服务器收到注册请求后,会把客户端消息中带的组播信息加入到自身维护的多播组中;服务器收到取消注册请求后,会把客户端消息中带的组播信息从自身维护的多播组中移除。通过监控客户端对资源的请求,服务器可以确定资源何时应该多播或单播通知客户端,并且可以通过注册请求和取消注册请求管理多播组成员。
对于资源的状态可能频繁发生改变的服务器来说,服务器可以跟踪有多少个客户端正在观察每个可用的资源,并管理一个组来优化通知,它可以根据对可用资源的观察数量来创建、更新和删除组,可以确定通过创建多播组来更有效地管理和更新动资源的动态信息,而不是仅仅通过单播来通知已经订阅该资源的客户端。
进一步地,所述步骤S300中服务器创建资源URL的多播组的流程包括:
步骤A1:服务器监测客户端向资源URL发出了观察注册,则进入步骤A2;
步骤A2:节点检查是否已经存在用于资源URL的多播组,如果不存在,进入步骤A3,否则,进入步骤A4;
在步骤A3中,节点创建多播组,其成员是对资源URL进行主动观察的客户端,节点为多播组分配一个组播地址,且为触发组播通知资源URL分配组播地址,然后,服务器通知多播组成员;
在步骤A4中,资源URL的观察注册的客户端数量超过设定阈值,则创建一个新的多播组,否则,节点将客户端作为新成员添加到现有的多播组中,并通知其它的多播组成员。
进一步地,所述步骤S100具体包括:
步骤S110:管理实体向服务器发送有资格创建多播组的资源列表;
步骤S120:客户端向服务器发送注册感兴趣的资源URL的请求;
步骤S130:服务器向客户端发送状态通知,所述状态通知消息头中携带的Token将状态通知与请求关联。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明通过在服务器使用组播技术通知客户端的请求或者感兴趣的资源后,可以大大的提高客户端-服务器的通信能力,降低网络拥塞的风险。
(2)可以通过注册请求和取消注册请求管理多播组成员,通过监控对资源的请求,服务器可以确定资源何时应该多播或单播通知客户端。
附图说明
图1为本发明的客户端与服务器的资源请求示意图;
图2为服务器为客户端建立多播组的流程图;
图3为服务器向客户端发送多播信息的流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种基于组播技术的CoAP协议通知优化方法,基于CoAP协议的客户端注册了一个对服务器中资源为“/温度”感兴趣的请求,客户端收到服务器的状态通知后,通过响应消息头中携带的Token将通知与原始请求相关联;同理,如果多个客户端都对服务器上的某个资源感兴趣,那么它们也可以在第一请求的时候就注册,服务器收到它们的请求后,会把所有对该资源感兴趣的客户端加入到一个资源列表中,创建组播组,这样当该资源的状态发生改变后,服务器会采用组播的方式通知组播组成员中的客户端。
结合图2所示,管理实体(ME)通过Message 1向服务器发送有资格创建多播组的资源列表和多播组创建相关的参数,例如,可以在多播组中写入它可以最小或者最大监听多少个多播组的数量,ME还可以提供创建多播阀值,该阈值是观察者列表中对某个资源的客户端数量。客户端使用POST方法发送到服务器路径“observe-group”来创建新的观察组,其中服务器返回的内容包含合格资源的列表和观察组的配置参数(比如索引)。
例如,Message 1包含“POST/observe-group”的请求,返回的内容包括用于observe-group的配置参数和监视用于潜在组观察的资源列表,例如:
“OBSERVE_MULTICAST_CREATE_THRESHOLD”:“2”,
“OBSERVE_MULTICAST_DELETE_THRESHOLD”:“1”
“URL-1”,“URL-2”
此时服务器可能以下列消息响应,它包含:
Result:2.01Created
Location-Path:/observe_group/12
可选地,为触发多播组创建和/或组删除设置的阈值可以是URL特定的。也就是说,每个有效的URL可以有自己的多播组创建和删除值。在步骤2中,服务器开始监视包括有效资源的观察组中的资源,在步骤3中,客户端1发出请求消息3以观察合格资源URL-1。在请求消息3中,客户端1指定它愿意接收组通知作为选项,此时它可以被服务器通过观察选项发出信号来告知某资源状态改变的具体信息。例如,Message 3包含下列信息:
Observe-GoupNotification=Yes
Observe-GoupNotification这个选项允许客户端告诉服务器它是否愿意并且能够接收组通知,设定为Yes,表明它愿意接受组通知。
为了响应Message 3,服务器将Client 1添加到针对资源URL-1的观察者列表中,并向Client 1发送响应4。由于资源URL-1是有效的资源,如Message 1中配置的,服务器检查观察者的数量现在是否足以触发多播组的自主创建,配置的阈值是2,目前Client 1是唯一的观察者,所以小于配置的阈值,服务器不设置任何多播组。在时刻5,服务器检测到资源URL-1的状态发生改变,然后向Client 1发送单播响应通知Message 5a。接下来,Client 2发出Request 6以观察有效的资源URL-1。Request 6指定Client 2不愿意接受组观察通知作为选项。例如,Request 6可以包括:
Observe-GoupNotification=No
服务器将Client 2添加到资源URL-1的观察者列表中,并用Message 7响应来自Client 2的观察请求。消息7包含Request 6所请求的资源的具体信息。由于资源URL-1是一个有效的资源,服务器可以再次检查观察者的数量是否足以触发多播组的自主创建,配置的阈值是两个,并且当前Client 1是唯一愿意接受多播的观察者。由于愿意接受组中成员资格的观察员数量少于配置的阈值,所以不设置任何组。接下来,Client 3发出一个Request 8以观察符合条件的资源URL-1。在Request 8中,客户端指定它愿意接受组观察通知作为选项。例如,请求Request 8可以包括:
Observe-GoupNotification=Yes
服务器将Client 3添加到资源观察者列表URL-1,并用Message 9响应Client 3的观察请求,Message 9包含该请求的具体资源信息。在步骤2a中,由于资源URL-1是有效的资源,所以服务器可以再次检查观察者的数量现在是否足以触发组播组的自主创建,其配置的阈值是2,现在Client 1和Client 3是愿意接受多播的观察者。由于愿意接受成员资格的观察者数量已经足够,所以创建了一个组,该组有两个成员,Client 1和Client 3。服务器可以在Message 10中通知ME已经创建了观察组。Message 10可以指定资源,在本例中是URL-1。ME可以使用该信息来维护关于对该资源发送组通知的统计数据,并且可能根据需要更改配置参数。
结合图3所示,服务器接下来使用成员配置RESTful接口在Client 1中创建组成员关系。在Message 11中,服务器提供多播地址,在Message 12中,Client 1确认组创建。
在步骤12a中,Client 1配置组成员关系,并将分配的多播地址与图2中的初始GET请求Message 3中使用的Token相关联。类似地,在Message 13中,服务器在Client 3中创建组成员关系,Client 3在Message 14中确认该组成员关系,并在步骤14a中进行处理。在时刻15,资源URL-1的状态发生了变化,因此服务器向观察组发送多播通知15a,Message 15a由Client 1和Client 3相应地接收,当然服务器也会分别向没有在观察组列表中的任何客户端发送单播通知。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (3)
1.一种基于组播技术的CoAP协议通知优化方法,其特征在于,包括:
步骤S100:客户端向服务器发送注册感兴趣的资源URL的请求;
步骤S200:服务器收到请求后将客户端添加到所述资源URL的观察者列表中;
步骤S300:服务器创建资源URL的多播组;
步骤S400:服务器监测到所述资源URL的状态发生改变后,通过广播方式通知多播组成员。
2.根据权利要求1所述的一种基于组播技术的CoAP协议通知优化方法,其特征在于,所述步骤S300中服务器创建资源URL的多播组的流程包括:
步骤A1:服务器监测客户端向资源URL发出了观察注册,则进入步骤A2;
步骤A2:节点检查是否已经存在用于资源URL的多播组,如果不存在,进入步骤A3,否则,进入步骤A4;
在步骤A3中,节点创建多播组,其成员是对资源URL进行主动观察的客户端,节点为多播组分配一个组播地址,且为触发组播通知资源URL分配组播地址,然后,服务器通知多播组成员;
在步骤A4中,资源URL的观察注册的客户端数量超过设定阈值,则创建一个新的多播组,否则,节点将客户端作为新成员添加到现有的多播组中,并通知其它的多播组成员。
3.根据权利要求2所述的一种基于组播技术的CoAP协议通知优化方法,其特征在于,所述步骤S100具体包括:
步骤S110:管理实体向服务器发送有资格创建多播组的资源列表;
步骤S120:客户端向服务器发送注册感兴趣的资源URL的请求;
步骤S130:服务器向客户端发送状态通知,所述状态通知消息头中携带的Token将状态通知与请求关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194021.6A CN109005123A (zh) | 2018-10-12 | 2018-10-12 | 一种基于组播技术的CoAP协议通知优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811194021.6A CN109005123A (zh) | 2018-10-12 | 2018-10-12 | 一种基于组播技术的CoAP协议通知优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109005123A true CN109005123A (zh) | 2018-12-14 |
Family
ID=64590626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811194021.6A Pending CN109005123A (zh) | 2018-10-12 | 2018-10-12 | 一种基于组播技术的CoAP协议通知优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109005123A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541788A (zh) * | 2020-12-11 | 2021-03-23 | 广东智江网络有限公司 | 基于coap协议的广告请求方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106169967A (zh) * | 2016-07-14 | 2016-11-30 | 美的集团股份有限公司 | 一种用户客户端、家用电器及其控制方法 |
CN106227045A (zh) * | 2016-07-25 | 2016-12-14 | 青岛海信电器股份有限公司 | 一种智能家居联动控制方法、装置和系统 |
CN107950038A (zh) * | 2015-05-20 | 2018-04-20 | 康维达无线有限责任公司 | 用于分析和群聚服务层订阅和通知以提高效率的方法和设备 |
WO2018112327A1 (en) * | 2016-12-15 | 2018-06-21 | Convida Wireless, Llc | Methods of concurrency control for block transfer in coap publish-subscribe architecture |
-
2018
- 2018-10-12 CN CN201811194021.6A patent/CN109005123A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107950038A (zh) * | 2015-05-20 | 2018-04-20 | 康维达无线有限责任公司 | 用于分析和群聚服务层订阅和通知以提高效率的方法和设备 |
CN106169967A (zh) * | 2016-07-14 | 2016-11-30 | 美的集团股份有限公司 | 一种用户客户端、家用电器及其控制方法 |
CN106227045A (zh) * | 2016-07-25 | 2016-12-14 | 青岛海信电器股份有限公司 | 一种智能家居联动控制方法、装置和系统 |
WO2018112327A1 (en) * | 2016-12-15 | 2018-06-21 | Convida Wireless, Llc | Methods of concurrency control for block transfer in coap publish-subscribe architecture |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541788A (zh) * | 2020-12-11 | 2021-03-23 | 广东智江网络有限公司 | 基于coap协议的广告请求方法 |
CN112541788B (zh) * | 2020-12-11 | 2023-11-17 | 江西蔚乐科技有限公司 | 基于coap协议的广告请求方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022204800B2 (en) | Messaging platform for delivering real-time messages | |
US10904303B2 (en) | Control message from streaming source to facilitate scaling | |
DE112014001078B4 (de) | Datenübertragungsvorrichtung, Datenteilungssystem, Datenteilungsverfahren und Nachrichtenaustauschsystem | |
DE102012218528B4 (de) | Verwendung von Push-Benachrichtigungen zur Verringerung offener Browser-Verbindungen | |
US20060190948A1 (en) | Connection manager, method, system and program product for centrally managing computer applications | |
CN101127767B (zh) | 一种创建网络聊天平台的方法及系统 | |
US20150341433A1 (en) | Peer-to-peer architecture for web traffic management | |
US11249826B2 (en) | Link optimization for callout request messages | |
CN108390950A (zh) | 一种消息推送方法、装置及设备 | |
CN112579148B (zh) | 基于业务代理的业务消息处理方法、装置及电子设备 | |
US20190208529A1 (en) | Method and Apparatus for Group Management During Machine-to-Machine Communication | |
WO2017016113A1 (zh) | 用于监控网络业务量的方法和装置 | |
JP2007026006A (ja) | 情報交換システム、管理サーバ及びそれらに用いるネットワーク負荷軽減方法並びにそのプログラム | |
CN108733821A (zh) | 一种监控视频截图的分发与展示方法及系统 | |
US20140233368A1 (en) | Methods, systems, and computer readable media for detecting orphan sy or rx sessions using audit messages with fake parameter values | |
DE112011103081T5 (de) | Client/Abonnenten-Verlagerung für die Server-Hochverfügbarkeit | |
CN109194718A (zh) | 一种区块链网络及其任务调度方法 | |
CN109151056B (zh) | 基于Canal的消息推送方法和系统 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN105991407B (zh) | 一种消息处理方法、装置及处理服务器 | |
CN109005123A (zh) | 一种基于组播技术的CoAP协议通知优化方法 | |
CN109194993B (zh) | 媒体文件分发方法及文件分发平台 | |
US9806893B2 (en) | Methods systems and computer readable media for providing real time data network usage information using subscription profile repository (SPR) | |
CN107948051B (zh) | 一种基于Socket技术的实时消息推送方法及系统 | |
CN104052723A (zh) | 信息处理方法和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181214 |