公开/公告号CN113839818A
专利类型发明专利
公开/公告日2021-12-24
原文格式PDF
申请/专利权人 深圳市桑达无线通讯技术有限公司;
申请/专利号CN202111118630.5
申请日2021-09-24
分类号H04L12/24(20060101);
代理机构44223 深圳新创友知识产权代理有限公司;
代理人江耀锋
地址 518000 广东省深圳市福田区深南中路爱华大厦13层
入库时间 2023-06-19 13:48:08
技术领域
本发明涉及网络通信技术,具体涉及一种基于代理实现Tr069协议与MQTT(消息队列遥测传输)的管理应用互通的方法。
背景技术
用户终端设备广域网管理协议(CWMP),是由适用于远程终端管理技术,用于承载该协议的文档编号为TR069,简称TR069协议。TR069可以灵活方便地管理VoIP、IPTV等大量IP终端设备,因此,在现网中得到了大量的实用。
MQTT是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。提供一对多的消息发布,解除应用程序耦合,对负载内容屏蔽的消息传输。使用TCP/IP提供网络连接,只要使用很小的开销就可以保持NAT穿越,实时信令发送和接收。MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分。
Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)。payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
随着信息技术发展,物联网不断成熟和发展,使用MQTT进行设备管理的应用越来越多,逐步成为技术发展的趋势。但是大量使用了Tr069协议的现网设备,直接替换掉成本太高,也会造成不少浪费,继续使用的话需要维护复杂ACS(Auto-Configuration Server,自动配置服务器)进行设备管理,同样会带来过大的工作量和过高的运维成本,这已经成为技术发展和设备升级过程中无法回避且急需要解决的一大难题。
以上背景技术内容的公开仅用于辅助理解本申请的发明构思及技术方案,其并不必然属于本申请的现有技术,在没有明确的证据表明上述内容在本申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
为克服前述现有技术的缺陷,本发明提供一种实现Tr069协议与MQTT管理应用互通的方法,既节约成本,同时又能够有效地管理大量基于Tr069协议的现网设备,并能有效使用现有设备管理的应用,该方法基于代理实现Tr069协议与MQTT的管理应用互通,包括如下步骤:
通过所述Tr609协议接收或发送Tr069信令,并接入符合所述Tr609协议的CPE;
通过所述MQTT将所接收的所述Tr069信令转换为MQTT协议信令并进行传输;
通过所述管理应用维护所述Tr069协议的状态;
将收到的所述MQTT协议信令翻译回所述Tr069信令;
其中,所述MQTT协议中的topic至少包括Inform、InformResponse、Download、DownloadResponse、Empty、TransferComplete、TransferCompletResponse。
本发明还可采用如下可选/优选方案:
通过所述CPE主动发起请求,并通过所述管理应用下发业务。
所述CPE发送Inform报文到所述代理后,通过control层进行解析后翻译为json格式,再通过所述MQTT的publish发布一个所述Inform的topic,负载就是为json格式的报文信息;所述Control层维持所述Tr069协议的状态,等待所述管理应用的相应消息;所述代理收到所述管理应用的InformResponse后,所述control进行解析并根据所述Tr069协议的要求,通过SOAP发送所述InformResponse到所述CPE;所述管理应用将下载的业务通知到所述CPE,在所述代理收到Download的topic后,等待所述CPE发送Empty信令;所述CPE发送所述Empty信令到所述代理后,所述代理翻译所述Download为所述Tr069信令,并发送所述Download到所述CPE;所述CPE发送所述DownloadResponse报文到所述代理,所述代理收到所述DownloadResponse后,通过所述control层进行解析并翻译为json格式,然后,通过所述MQTT的publish发布一个所述DownloadResponse的topic,负载就是为json格式的报文信息;所述管理应用收到所述DownloadResponse后,如果没有对应业务需要下发给所述CPE,则发送一个Empty信令,所述代理收到所述Empty信令后,通过所述control层进行解析并翻译为所述Tr069协议的格式,再发送所述Empty到所述CPE,会话结束。
通过所述CPE主动发起请求并上报业务执行结果。
所述CPE发送Inform报文到所述代理后,通过所述control层进行解析并翻译为json格式,再通过所述MQTT的publish发布一个Inform的topic,负载就是为json格式的报文信息;
所述Control层维持所述Tr069协议状态,等待所述管理应用的相应消息;所述代理收到所述管理应用的InformResponse后,通过所述control解析,然后通过SOAP发送所述InformResponse到所述CPE;所述CPE收到所述InformResponse后,发送所述TransferComplete报文到所述代理,通过所述control层进行解析后翻译为json格式,然后通过所述MQTT的publish发布一个TransferComplete的topic,负载就是为json格式的报文信息;所述管理应用收到所述TransferComplete后,回复所述TransferCompleteResponse到所述代理;所述代理收到所述MQTT侧的所述TransferCompleteResponse后,通过所述control层进行解析并翻译为所述Tr069协议的格式,再发送所述TransferCompleteResponse到所述CPE;此时,如果所述管理应用没有对应业务下发到所述CPE,则发送一个Empty信令;所述CPE此时也发送一个Empty信令到所述代理,会话结束。
所述管理应用通过所述代理主动发起请求和主动下发业务。
所述管理应用发送Download报文到所述代理,所述代理发送一个符合所述T069协议的get请求到所述CPE,所述CPE收到所述get请求后发送给200OK,响应成功后主动发起连接;所述CPE发送所述Inform报文到所述代理后,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT的publish发布一个Inform的topic,负载就是为json格式的报文信息;所述Control层维持所述Tr069协议的状态,并等待所述管理应用的相应消息;所述代理收到所述管理应用的所述InformResponse后,通过所述control解析并通过SOAP发送所述InformResponse到所述CPE;所述管理应用将下载的业务通知到所述CPE,在所述代理收到Download的topic后,等待所述CPE发送Empty信令;所述CPE发送所述Empty信令到所述代理后,通过所述代理翻译Download为所述Tr069信令格式,并发送所述Download到所述CPE;所述CPE发送所述DownloadResponse报文到所述代理后,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT的publish发布一个DownloadResponse的topic,负载就是为json格式的报文信息;所述管理应用收到DownloadResponse后,如果没有对应业务需要下发给所述CPE,则发送一个Empty信令;所述代理收到所述MQTT侧的Empty信令后,通过所述control层进行解析并翻译为所述Tr069协议的格式,并发送所述Empty到所述CPE,会话结束。
还包括:所述CPE没有发送Empty信令时,所述代理缓存所述管理应用发送的信令,等待所述CPE发送所述Empty信令的同时转发所述CPE发送的信令到所述管理应用。
所述CPE发送Inform报文到所述代理后,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT的publish发布一个Inform的topic,负载就是为json格式的报文信息;所述Control层维持所述Tr069协议的状态,等待所述管理应用的相应消息;所述代理收到所述管理应用的InformResponse后,通过所述control解析并通过SOAP发送所述InformResponse到所述CPE;所述管理应用发送Download业务通知到所述代理;所述CPE在收到所述InformResponse后发送TransferComplete报文到所述代理,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT协议的publish发布一个TransferComplete的topic,负载就是为json格式的报文信息;此时,所述control缓存所述管理应用的Download信令,等待所述CPE发送Empty信令;所述管理应用收到所述TransferComplete后,回复TransferCompleteResponse到所述代理;所述代理收到所述MQTT侧的TransferCompleteResponse后,通过所述control层进行解析并翻译为所述Tr069协议的格式,然后发送所述TransferCompleteResponse到所述CPE;所述管理应用没有对应业务下发到所述CPE时,等待DownloadResponse;所述CPE发送Empty信令到所述代理后,所述代理转发所述管理应用的Download到所述CPE;当所述CPE发送所述DownloadResponse到所述代理并转发给所述管理应用时,所述管理应用发送所述Empty信令到所述代理;所述代理转发所述Empty信令到所述CPE,会话结束。
本发明的有益效果包括:
本发明的方法既能够以节约成本的方式进行网络升级,同时又能够有效地管理大量基于Tr069协议的现网设备,并且能有效使用现有设备管理的应用,也即,采用本发明的Tr069协议与MQTT的管理应用互通的方法,可充分利用现网设备及管理应用,从而能够节约大量的设备成本及应用开发成本。
附图说明
图1是Tr069的基本分层模型。
图2是一个实施例的代理方案及分层模型。
图3是一个实施例中CPE通过代理主动发起请求并管理应用下发业务的示意图。
图4是一个实施例中CPE通过代理主动发起请求并上报业务执行结果的示意图。
图5是一个实施例中管理应用通过代理主动发起请求的示意图。
图6是一个实施例中代理对信令的缓存处理的示意图。
图7是另一个实施例中管理应用通过代理主动发起请求的示意图。
具体实施方式
下面结合附图1-7和具体的实施方式对本发明作进一步说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。本发明的背景部分可以包含关于本发明的问题或环境的背景信息,而不一定是描述现有技术。因此,在背景技术部分中包含的内容并不是申请人对现有技术的承认。
CPE(Customer Premise Equipment),客户前置设备。
SOAP(Simple ObjectAccess Protocol),简单对象访问协议。
Tr069的基本分层模型如图1所示,其中,对各层的说明如下:
1.CPE/ACS Management Application该应用程序分别用于CPE广域网管理协议的CPE和ACS。不属于CPE广域网管理协议的一部分。
2.RPC Methods CPE WAN管理协议定义的特定RPC方法。RPC方法包括定义CPE参数。这些参数可由ACS通过与该参数相关的PRC方法访问。
3.ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。
CPE函数由ACS调用,用来对CPE进行管理如:设置CPE参数、获取CPE参数、硬件升级、重启设备等。ACS函数由CPE调用,用来向ACS上报状态信息,请求硬件镜像文件下载(用来升级硬件)等等。ACS与CPE之间通过TR069协议特有的RPC方法进行互操作。
4.SOAP基于XML的标准语法,用于编码远程过程调用,要求支持SOAP 1.1。
ACS与CPE之间进行消息传输基于HTTP1.1,消息内容使用SOAP包进行封装,SOAP包含SOAP head和SOAP body两部分组成的XML格式数据。
经研究发现,要实现Tr069协议与MQTT应用互通,需满足如下基本要求:
1、实现Tr069协议中的信令,能够跟协议要求接收或发送对应的信令,可以接入符合Tr609协议的CPE。
2、实现MQTT协议中的信令,可以通过MQTT协议传输信令。
3、对于收到Tr069信令可以转换为MQTT协议信令进行传输,并且维护Tr069协议的状态。
4、对于收到MQTT的信令可以转换为Tr069信令。
5、协议中Inform、InformResponse、Download、DownloadResponse、Empty、TransferComplete、TransferCompletResponse等,代理和管理用都是已经订阅这些topic。
如图2所示,是一个实施例的代理方案的分层模型,针对Tr069协议的使用,该代理方案可分解为两种模式:
模式一:管理应用主动发起信令,通过代理发给CPE。
模式二:CPE主动发起信令,通过proxy连接管理应用。
使用中,可根据需要选择所述模式一或所述模式二,或将所述模式一和所述模式二结合使用。
实施例一
以下以模式一为例(CPE通过代理主动发起请求),说明代理的状态维护和信令翻译。CPE建立HTTP连接后,发送报文的处理如图3所示,是在CPE主动发起请求,管理应用下发业务,包括如下步骤:
1.CPE发送Inform报文到代理,所代理收到Tr069协议并接收到Inform后,通过control层进行解析并翻译为json格式,然后通过MQTT协议的publish发布一个Inform的topic,负载就是为json格式的报文信息。
2.所述Control层需要维持所述Tr069协议状态,等待管理应用的相应消息。
3.所述代理收到所述管理应用的InformResponse后,通过所述control解析并根据所述Tr069协议要求,通过SOAP发送InformResponse到所述CPE。
4.此时,所述管理应用将存在下载的业务通知到所述CPE,在所述代理收到Download的topic后,需要等待CPE发送的Empty信令。
5.根据所述Tr069协议,所述CPE为了接收管理应用的信令,需要发送一个Empty信令到所述代理。所述代理已经收到所述管理应用的所述Download信令后,此时所述代理翻译所述Download信令为所述Tr069信令格式,发送所述Download到所述CPE。
6.所述CPE发送DownloadResponse报文到所述代理,所述代理收到所述DownloadResponse后,所述control层进行解析并翻译为json格式,然后通过MQTT协议的publish发布一个DownloadResponse的topic,负载就是为json格式的报文信息。
7.所述管理应用收到所述DownloadResponse后,如果没有对应业务需要下发给所述CPE,此时需要立即发送一个Empty信令。
8.所述代理收到所述MQTT协议侧的Empty信令后,通过所述control层进行解析并翻译为所述Tr069信令格式,并且立刻发送Empty到所述CPE,此时会话结束。
CPE建立HTTP连接后,发送报文的处理如图4所示,是在CPE主动发起请求,上报业务执行结果,包括如下步骤:
1.CPE发送Inform报文到代理,所述代理收到Tr069协议接收到Inform后,所述control层进行解析并翻译为json格式,然后通过MQTT协议的publish发布一个Inform的topic,负载就是为json格式的报文信息。
2.所述Control层需要维持所述Tr069协议状态,等待所述管理应用的相应消息。
3.所述代理收到管理应用的InformResponse后,所述control解析后通过SOAP发送InformResponse到所述CPE。
4.此时,所述管理应用没有业务通知到所述CPE,所以没有立即发送信令到所述代理。
5.所述CPE在收到InformResponse后,主动发送TransferComplete报文到所述代理,所述代理收到所述Tr069协议接收到TransferComplete后,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT协议的publish发布一个TransferComplete的topic,负载就是为json格式的报文信息。
6.所述管理应用收到所述TransferComplete后,回复TransferCompleteResponse到所述代理。
7.所述代理收到所述MQTT协议侧的TransferCompleteResponse,control层进行解析并翻译为所述Tr069信令格式,并且立刻发送所述TransferCompleteResponse到所述CPE。
8.此时,所述管理应用没有对应业务下发到所述CPE时,发送Empty信令。
9.所述CPE此时也发送了Empty信令到所述代理,所述代理转发所述管理应用的所述Empty信令到所述CPE,此时会话结束。
实施例二
以下以所述模式二为例(管理应用通过代理主动发起请求),说明代理的状态维护和信令翻译。该模式下,管理应用可以主动下发业务,此时CPE可能没有和代理建立连接,无法下信令,因此代理需要主动完成信令的下发。如图5所示,具体包括如下步骤:
1.管理应用发送Download报文到代理,所述代理发现CPE并没有建立Tr069的连接。需要主动发送一个符合T069协议的get请求到所述CPE。所述CPE收到所述get请求后,发送给200OK,响应成功后主动发起连接。
2.所述CPE发送Inform报文到所述代理,所述代理收到Inform后,通过control层进行解析并翻译为json格式,然后通过MQTT协议的publish发布一个Inform的topic,负载就是为json格式的报文信息。
3.所述Control层需要维持所述Tr069协议的状态,等待所述管理应用的相应消息。
4.所述代理收到所述管理应用的InformResponse后,通过所述control解析后根据Tr069协议要求,通过SOAP发送InformResponse到所述CPE。
5.此时,所述管理应用将存在下载的业务通知到所述CPE,在所述代理收到Download的topic后,需要等待所述CPE发送的Empty信令。
6.根据所述Tr069协议,所述CPE为了接收所述管理应用的信令,需要发送一个Empty信令到所述代理。所述代理已经收到所述管理应用的所述Download信令后,所述代理翻译所述Download信令为所述Tr069信令格式,发送所述Download信令到所述CPE。
7.所述CPE发送DownloadResponse报文到所述代理,所述代理收到所述Tr069协议接收到所述DownloadResponse后,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT协议的publish发布一个DownloadResponse的topic,负载就是为json格式的报文信息。
8.所述管理应用收到所述DownloadResponse后,如果没有对应业务需要下发给所述CPE,此时需要立即发送一个Empty信令。
所述代理收到所述MQTT协议侧的Empty信令后,通过所述control层进行解析并翻译为所述Tr069信令格式,并且立刻发送Empty信令到所述CPE,此时会话结束。
代理对信令的缓存处理:
所述管理应用主动发送信令时,所述CPE没有发送Empty信令,所述代理无法转发信令给所述CPE。此时,所述代理需要缓存所述管理应用主动发送信令,等待所述CPE发送Empty信令,同时转发所述CPE发送的信令到所述管理应用。所述CPE建立HTTP连接后,发送报文的处理如图6所示,包括:
1.CPE发送Inform报文到代理,所述代理收到Tr069协议接收到Inform后,通过control层进行解析并翻译为json格式,然后通过所述MQTT协议的publish发布一个Inform的topic,负载就是为json格式的报文信息。
2.所述Control层需要维持所述Tr069协议的状态,等待所述管理应用的相应消息。
3.所述代理收到所述管理应用的InformResponse后,通过所述control解析并根据Tr069协议要求,通过SOAP发送InformResponse到所述CPE。
4.此时,所述管理应用发送Download业务通知到所述代理。
5.所述CPE在收到InformResponse后,主动发送TransferComplete报文到所述代理,所述代理收到所述Tr069协议接收到TransferComplete后,通过所述control层进行解析并翻译为json格式,然后通过所述MQTT协议的publish发布一个TransferComplete的topic,负载就是为json格式的报文信息。
6.此时,所述control需要缓存所述管理应用的Download信令,等待所述CPE发送Empty信令时再下发此信令。
7.所述管理应用收到所述TransferComplete后,回复TransferCompleteResponse到所述代理。
8.所述代理收到所述MQTT协议侧的TransferCompleteResponse,通过所述control层进行解析并翻译为Tr069信令格式,并且立刻发送所述TransferCompleteResponse到所述CPE。
9.此时,所述管理应用没有对应业务下发到所述CPE时,需要等待DownloadResponse,不能发送Empty信令。
10.所述CPE此时也发送了Empty信令到所述代理,所述代理转发所述管理应用的Download到所述CPE。
11.当所述CPE发送DownloadResponse到所述代理,所述代理转发给所述管理应用。
12.此时,所述管理应用内有信令需要发送,发送Empty信令到所述代理。
所述代理转发所述Empty信令到所述CPE,此时,所述CPE的会话结束。
实施例三
与上述实施一的主要区别是:使用不同名称的topic,但是功能与当前topic定义类似,也即topic的承载内容和含义是一样的。
值得说明的是,公开号为CN112995302A的中国发明专利申请是基于MQTT承载Tr069信令,但是没有soap和http接入,没有管理应用功能。而本申请中各实施例是基于接入Tr069应用实现Tr069的接入,然后翻译为Mqtt传输,Mqtt传输层并没有tr069信令,因此,二者有本质的区别。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离专利申请的保护范围的情况下,可以在本文中进行各种改变、替换和变更。
机译: 用于MQTT-SN协议的安全性MQTT-SN安全管理的方法和系统
机译: 用于MQTT-SN协议的安全性MQTT-SN安全管理的方法和系统
机译: 面向WIA-PA网络的TR069协议管理方法