PatentTips -- 一种在CoAP网络中注册的方法及装置
技术领域
[0001] 本发明涉及一种在CoAP网络中注册的方法及装置,属于网络通信技术领域。
背景技术
[0002] (Internet of Things,物联网)作为新一代的信息技术,越来越受到各行业的关注,不同的国家和标准组织对它们的具体含义都有不同的阐述。例如将IOT定义为一个动态的全球网络基础设施,并且具有基于标准和互操作通信协议的自组织能力,其中物理的和虚拟的"物"具有身份标识、物理属性、虚拟的特性和智能的接口,并与信息网络无缝整合;或者,是一种通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议把任何物体与互联网相连接,并进行信息交换和通信,以实现对物体的智能化识别、定位、跟踪、监控和管理的网络。
[0003] 目前业界的各大标准组织也正在制定IOT相关的标准协议,例如工程任务组 IETF专门成立了
一个CoRE (Constrained RESTful Environments,受限的表述性状态转移式环境)工作组,其任务之一就是设计一种适合能力受限的IP网络的应用层协议,即 CoAP (Constrained Application Protocol,受限应用层协议)。CoAP的基本特点包括二进制协议、RESTFUL风格和主要用于低功耗、低处理能力的设备。但目前已经完成制定的基本机制中,对于当终端在开机或IP地址发生变化时,如何通过CoAP上报IP地址的功能还没有涉及。
[0004] 现有技术中,当支持CoAP的终端在开机或IP地址发生变化时,无法即时在网络中的服务器或平台注册当前的IP地址,导致服务器或平台无法及时获得该终端的在线状态,也无法保证发送给该终端的CoAP消息正确送达。
发明内容
[0005] 本发明的实施例提供了一种在CoAP网络中注册的方法及装置,当支持CoAP的终端的IP地址发生变化时,能够及时的在网络中的服务器或平台注册该终端当前的IP地址。
[0006] 一种在CoAP网络中注册的方法,包括:
- [0007] 接收携带注册信息的CoAP消息,所述携带注册信息包括将注册信息通过扩展的 CoAP及相应的头域、扩展的头域、消息体或统一资源标识URI中的任意一种或几种携带;
- [0008] 判断所述CoAP消息是否为签约用户发送,判断结果为是,则存储所述注册信息,否则拒绝所述CoAP消息对应的注册请求。
[0009] 一种在CoAP网络中注册的装置,包括:
- [0010] 注册信息接收单元,用于接收携带注册信息的CoAP消息,所述携带注册信息包
括将注册信息通过扩展的CoAP及相应的头域、扩展的头域、消息体或统一资源标识URI 中的任意一种或几种携带; - [0011] 注册单元,用于判断注册信息接收单元接收到的所述CoAP消息是否为签约用户发送,判断结果为是,则存储所述注册信息,否则拒绝所述CoAP消息对应的注册请求。
[0012] 由上述本发明的实施例提供的技术方案可以看出,当支持CoAP的终端的IP地址发生变化时,通过发送携带注册信息的CoAP消息,使该终端能够及时的在网络中的服务器或平台注册该终端当前的IP地址,从而服务器或平台可以及时获得该终端的在线状态,并保证了发送给该终端标识的CoAP消息能够正确送达。
具体实施方式
所示,作为CoAP注册方的终端在触发注册事件后,向作为注册服务器的网络中的服务器或平台发起注册请求,注册服务器经过判断后将结果通过应答响应返回给CoAP注册方。具体的方法包括接收携带注册信息的CoAP消息,所述携带注册信息包括将注册信息通过扩展的CoAP及相应的头域、扩展的头域、消息体或URI中的任意一种或几种携带。判断所述CoAP消息是否为签约用户发送,判断结果为是,则存储所述注册信息,
否则拒绝所述CoAP消息对应的注册请求。为了更清楚的说明该方法的技术方案,下面以M2M(Machine to Machine,机器信息)终端为例,通过具体的实施例并结合说明书附图作进一步说明。需要说明的是,以下的实施例虽然采用了不同的技术特征解决了本发明提出的技术问题,但这些实施例都是在同一发明构思下的不同实现方法,并且任何支持CoAP的除M2M以外的终端也都能应用该方法实现注册功能。

实施例一
所示,该方法具体包括:

,当CoAP网络中的M2M终端的IP地址发生变化时,触发CoAP注册事件。
[0025] 当M2M终端的IP地址发生变化时,需要在CoAP网络中向服务器或平台上报新的IP地址,否则不能被服务器或平台识别其状态。因此当M2M终端的IP地址发生变化时,例如开机,就会触发CoAP注册事件。
,发送携带注册信息的CoAP消息,所述携带注册信息包括将注册信息通过扩展的CoAP及相应的头域。
[0027] 触发CoAP注册事件后,M2M终端向服务器或平台发送一个CoAP消息,
在这个CoAP消息中包括了将注册信息通过扩展的CoAP及相应的头域,其中扩展的 CoAP的CODE字段值为5,表示该消息为注册请求,扩展的头域包括Identity、Expires 和Contact,并且其Type类型分别为10、11和12。其中CoAP注册的身份标识通过 Identity头域携带,值为Sensor@M2M.COM; CoAP注册的时长通过Expires头域携带,
值为7200,表示7200秒;CoAP注册方的IP地址和端口通过Contact头域携带,值为 192.168.0.1 : 61616。具体的消息格式可以为:
[0028] Ver : 1
[0029] T : O
[0030] OC : 4
[0031] CODE : 5 = REGISTER (扩展)
[0032] Transaction ID : 1234
[0033] Option Delta : 9 = URI
[0034] Length : 12
[0035] Option Value : /Registration
[0036] Option Delta : 1 = 9+1= Identity (扩展)
[0037] Length : 14
[0038] Option Value : Sensor@M2M.COM
[0039] Option Delta : 1 = 9+1+1 = Expires (扩展)
[0040] Length : 4
[0041] Option Value : 7200
[0042] Option Delta : 1 = 9+1+1+1 = IP Address (扩展)
[0043] Length : 17
[0044] Option Value:192.168.0.1 : 61616
,根据注册信息中的身份标识判断携带所述注册信息的CoAP消息是否为签约用户发送,判断结果为是,则存储所述注册信息,并返回注册成功响应,否则拒
绝所述CoAP消息对应的注册请求。
[0046] CoAP网络中的服务器或平台接收到携带注册信息的CoAP消息后,会根据 CoAP消息中的身份标识判断发起注册的M2M终端是否为该CoAP网络的签约用户,如果是,则存储接收的注册信息,并向该M2M终端返回注册成功响应,如果不是,则拒绝
该M2M的注册请求。其中返回的注册成功响应的消息结构可以为:
[0047] Ver : 1
[0048] T : 2
[0049] OC : O
[0050] CODE : 80 = 200 OK
[0051] Transaction ID : 1234
实施例二
[0053] 在本实施例中,M2M终端作为发起注册的注册请求方,网络中的服务器或平台
作为注册请求的受理方,并且M2M终端通过扩展新的头域的方式发送携带注册信息的 CoAP消息,如图3所示,该方法具体包括:

和33的实现过程与图2所示实施例中步骤21和23类似,这里不
再赘述。
,发送携带注册信息的CoAP消息,所述携带注册信息包括将注册信息通过扩展的头域。
[0056] 触发CoAP注册事件后,M2M终端向服务器或平台发送一个CoAP消息,在
这个CoAP消息中包括了将注册信息通过扩展的头域,其中扩展的头域包括Identity、 Expires和Contact,并且其Type类型分别为10、11和12。其中CoAP注册的身份标识通过Identity头域携带,值为Sensor@M2M.COM ; CoAP注册的时长通过Expires头域携带,值为7200,表示7200秒;CoAP注册方的IP地址和端口通过Contact头域: 为 192.168.0.1 : 61616。
具体的消息格式可以为:
[0057] Ver : 1
[0058] T : 0
[0059] OC : 4
[0060] CODE : 2 = POST
[0061] Transaction ID :1234
[0062] Option Delta : 9 = URI
[0063] Length : 12
[0064] Option Value : /Registration
[0065] Option Delta : 1 = 9+1= Identity (扩展)
[0066] Length : 14
[0067] Option Value : Sensor@M2M.COM
[0068] Option Delta : 1 = 9+1+1 = Expires (扩展)
[0069] Length : 4
[0070] Option Value : 7200
[0071 ] Option Delta : 1 = 9+1+1+1 = IP Address (扩展)
[0072] Length : 17
[0073] Option Value : 192.168.0.1 : 61616
实施例三
[0075] 在本实施例中,M2M终端作为发起注册的注册请求方,网络中的服务器或平台
作为注册请求的受理方,并且M2M终端通过消息体携带注册信息的方式发送携带注册信息的CoAP消息,如图4所示,该方法具体包括:

和43的实现过程与图2所示实施例中步骤21和23类似,这里不
再赘述。
,发送携带注册信息的CoAP消息,所述携带注册信息包括将注册信息
携带在CoAP消息体中。
[0078] 触发CoAP注册事件后,M2M终端向服务器或平台发送一个CoAP消息,在这
个CoAP消息中包括了将注册信息携带在CoAP消息体中,其中注册信息包括三个字段: Identity、Expires 和Contact。其中 Identity 的值为 Sensor@M2M.COM ; Expires 的值为 7200,表示7200秒;Contact的值为192.168.0.1 : 61616。具体的消息格式可以为:
[0079] Ver : 1
[0080] T : O
[0081] OC : 1
[0082] CODE : 2 = POST
[0083] Transaction ID : 1234
[0084] Option Delta : 9 = URI
[0085] Length : 12
[0086] Option Value : /Registration
[0087] Payloads :
[0088] Identity = Sensor@M2M.COM ;
[0089] Expires = 7200 ;
[0090] Contact = 192.168.0.1 : 61616 ;
实施例四
[0092] 在本实施例中,M2M终端作为发起注册的注册请求方,网络中的服务器或平台
作为注册请求的受理方,并且M2M终端通过URI携带注册信息的方式发送携带注册信息
的CoAP消息,如图5所示,该方法具体包括:

和53的实现过程与图2所示实施例中步骤21和23类似,这里不
再赘述。
,发送携带注册信息的CoAP消息,所述携带注册信息包括将注册信息
携带在CoAP消息的URI中。
[0095] 触发CoAP注册事件后,M2M终端向服务器或平台发送一个CoAP消息,在这
个CoAP消息的URI中包括了三个字段:Identity、Expires和Contact。其中Identity的值
为 Sensor@M2M.COM ; Expires 的值为 7200,表示 7200 秒;Contact 的值为 192.168.0.1 : 61616。具体的消息格式可以为:
[0096] Ver : 1
[0097] T : 0
[0098] OC : 1
[0099] CODE : 2 = POST
[0100] Transaction ID : 1234
[0101] Option Delta : 9 = URI
[0102] Length : 12
[0103] Option Value : /Registration ? Identity = Sensor@M2M.COM& Expires = 7200 & Contact = 192.168.0.1 : 61616
[0104] Payloads :
[0105] 本发明在支持CoAP的M2M终端的IP地址发生变化时,通过发送携带注册信息
的CoAP消息,使该M2M终端能够及时的在网络中的服务器或平台注册该M2M终端当
前的IP地址,从而服务器或平台可以及时获得该M2M终端的在线状态,并保证了发送给
该M2M终端标识的CoAP消息能够正确送达。
[0106] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体 (Random Access Memory, RAM)等。
所示,包括注册
信息接收单元61和注册单元62,注册信息接收单元61用于接收携带注册信息的CoAP消
息,所述携带注册信息包括将注册信息通过扩展的CoAP及相应的头域、扩展的头域、消息体或统一资源标识URI中的任意一种或几种携带;注册单元62用于判断注册信息接收
单元61接收到的所述CoAP消息是否为签约用户发送,判断结果为是,则存储所述注册
信息,否则拒绝所述CoAP消息对应的注册请求。

中,扩展的CoAP及相应的头域、扩展
的头域、消息体和URI分别包括在CoAP中增加注册请求消息,在相应的头域中增加身份
标识、注册时长、IP地址和端口。
中包括判断子单元,用于根据所述身份标识判断所述 CoAP消息是否为签约用户发送。
[0110] 另外,该装置还可以包括应答响应单元,用于返回应答响应,所述应答响应包
括注册成功消息及相应的身份标识。
[0111] 本发明的实施例提供的在CoAP网络中注册的装置用于在支持CoAP的网络中,
当M2M终端的IP地址发生变化时,能够及时在网络中注册,从而服务器或平台可以及时
获得该M2M终端的在线状态,并保证了发送给该M2M终端标识的CoAP消息能够正确送达。
SRC=http://www.google.com/patents/CN102014129A
PatentTips -- 一种在CoAP网络中注册的方法及装置的更多相关文章
- House of apple 一种新的glibc中IO攻击方法
目录 House of apple 一种新的glibc中IO攻击方法 前言 利用条件 利用原理 利用思路 思路一:修改tcache线程变量 思路二:修改mp_结构体 思路三:修改pointer_gua ...
- 转载:一种云环境下SaaS软件部署方法及装置与流程
转载:http://www.xjishu.com/zhuanli/55/201710103925.html 本发明涉及云计算技术领域,特别是涉及一种云环境下SaaS软件部署方法及装置. 背景技术: 随 ...
- 几种判断asp.net中session过期方法的比较
方法一:最麻烦也是最容易想到的方法,在每个页面的page_load()方法里面判断: protected void Page_Load(object sender, EventArgs e) { if ...
- PHP几种抓取网络数据的常见方法
//本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总.关于 fsockopen 前面已经谈了不少,下面开始转入其它. ...
- Dance GAN 迁移不同视频中人物动作的方法
该研究提出一种迁移不同视频中人物动作的方法.给出两个视频,一个视频中是研究者想要合成动作的目标人物,另一个是被迁移动作的源人物,研究者通过一种基于像素的端到端流程在人物之间进行动作迁移(motion ...
- (原创)用Receiver和SystemService监听网络状态,注册Receiver的两种方式
android中网络编程不可避免地要监听网络状态,wifi或者3G以及以太网,并根据当前状态做出相应决策. 在MyReceiver类中的onReceive方法中获得系统服务 ConnectivityM ...
- VB.NET中网络编程的另一种方案----system.net中的HttpWebRequest类的使用
VB.NET中网络编程的另一种方案---- system.net中的HttpWebRequest类的使用 在VB.net中进行网络编程,除了我之前写的随笔中的使用WinHttp组件进行编程,还有另一种 ...
- Sun开发的JINI技术在网络中的应用
一.概述 Sun公司开发的Jini系统是一种创新技术,听说它的人很多但较少被人理解.Jini系统可利用Java扩展网络计算的范围,并有可能成为最佳解决方案. Jini是Sun公司的研究与开发项目,它能 ...
- Akamai在内容分发网络中的算法研究(翻译总结)
作者 | 钱坤 钱坤,腾讯后台开发工程师,从事领域为流媒体CDN相关,参与腾讯TVideo平台开发维护. 原文是<Algorithmic Nuggets in Content Delivery& ...
随机推荐
- prettyJson V7.1 使用
头文件 #include "document.h" #include "prettywriter.h" #include "filereadstrea ...
- SFC梯形图编程
SFC是居首的PLC编程语言 !: 不能为PLC所执行, 还需要其他的编程语言(梯形图) 转换成PLC可执行程序. 常用的SFC编程方法有三种 > 应用启保停电路进行 > 应用 置/复 ...
- 洛谷 P1334 瑞瑞的木板
P1334 瑞瑞的木板 题目描述 瑞瑞想要亲自修复在他的一个小牧场周围的围栏.他测量栅栏并发现他需要N(1≤N≤20,000)根木板,每根的长度为整数Li(1≤Li≤50,000).于是,他神奇地买了 ...
- 【解决方法】Unexpected namespace prefix “xmlns” found for tag Layout
问题描写叙述 出错代码例如以下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&quo ...
- kafka同步生产者和异步生产者深入剖析
什么是kafka同步生产者,什么是kafka异步生产者? 比如这里某个topic有3个分区. kafka同步生产者:这个生产者写一条消息的时候,它就立马发送到某个分区去. kafka异步生产者:这个 ...
- 洛谷——P1598 垂直柱状图
https://www.luogu.org/problem/show?pid=1598 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字 ...
- Android Warning not all local changes may be shown due to an error
idea使用svn出现Warning not all local changes may be shown due to an error,如下图所示: 解决方案: 1.File > Setti ...
- POJ 3723 Conscription MST
http://poj.org/problem?id=3723 题目大意: 需要征募女兵N人,男兵M人,没征募一个人需要花费10000美元,但是如果已经征募的人中有一些关系亲密的人,那么可以少花一些钱, ...
- 【Codeforces Round #433 (Div. 2) C】Planning
[链接]h在这里写链接 [题意] 让你确定ti,使得∑(ti-i)*gi最小,其中ti∈[k+1..k+n],且每个ti都不能一样. 且ti>=i必须成立. [题解] 分解一下成为∑ti*gi ...
- Apache的.htaccess项目根文件夹伪静态设置规则
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...