一种基于MQTT协议实现自动诊断CPE的方法和系统与流程


一种基于mqtt协议实现自动诊断cpe的方法和系统
技术领域
1.本公开涉及cpe终端设备故障自动诊断领域,尤其是涉及一种基于mqtt协议实现自动诊断cpe的方法和系统。


背景技术:



2.越来越多的用户使用了cpe设备(cpe设备,customer premise(s)equipment的首字母缩写词,指用于访问internet或通常访问提供商网络上的服务的任何连接设备),以往对cpe设备的管理与监控局限于web,未能更好更方便管理以及监控设备运行状况;一方面,当设备出现故障问题导致无法正常上网或带宽速率不稳定时,普通用户并不了解设备出现故障内容应该如何去处理,例如:dhcp服务器故障、dns状态故障、pon状态连接故障等情况;另一方面,面对越来越多cpe使用用户直接反馈问题,大大增加了运营商或olt(光线路终端设备)管理人员工作量,这给olt管理人员带来极大不便以及管理效率低下的问题。


技术实现要素:



3.本公开提供一种基于mqtt协议实现自动诊断cpe的方法和系统,用户基于app程序上通过mqtt(消息队列遥测传输协议)协议实现cpe设备自动诊断异常问题与修复,并可上报给后台管理服务器记录诊断信息。本公开提供以下技术方案来解决背景技术中记载的任一技术问题或实现上述目的:
4.作为本公开实施例的一个方面,提供一种基于mqtt协议实现自动诊断cpe的方法,包括如下步骤
5.步骤s1:app端根据自定义的指令向后台服务器发送请求,判断app端与后台服务器之间能否正常通信;
6.步骤s2:如果能正常通信,则使用app端中的app注册账户并登录后,给cpe设备绑定已登录的app账户,app端和cpe设备均连接mqtt服务器,通过mqtt服务器代理方式处理来自app或cpe的主题消息发布和订阅;
7.步骤s3:如果不能正常通信,app端则无需登录后台服务器,使用自定义https api指令来请求自诊断cpe设备。
8.可选地,所述步骤s2具体包括如下步骤:
9.步骤s201:app端以cpe设备的mac作为唯一标识,根据自定义mqtt协议组装诊断主题信息内容,发布到mqtt服务器中;
10.步骤s202:cpe端订阅到app发布的主题消息,解析消息内容,获取到app端请求的诊断信息,以cpe设备的mac作为唯一标识,通过json格式将app端请求的信息内容封装成主题消息,发布到mqtt服务器中;
11.步骤s203:app端通过监听自定义的自诊断主题消息,订阅到cpe发布在mqtt服务器中主题消息,app端获取到cpe设备回复的诊断信息数据,根据自定义协议结构解析内容并呈现数据到app中。
12.可选地,步骤s3具体包括如下步骤:
13.步骤s301:app端通过扫描cpe设备二维码获得cpe相关信息,根据得到cpe的信息内容连接上wifi后,登录cpe设备的cpe端;
14.步骤s302:app端根据自定义协议向cpe端发送自诊断api指令;
15.步骤s303:cpe设备接收到app自诊断请求指令,cpe设备端将开启执行自诊断功能,将诊断结果以json格式封装回应app端请求的数据包;
16.步骤s304:app端请求cpe设备的诊断数据,根据自定义协议结构解析内容并呈现数据到app中。
17.可选地,在步骤s3中的使用自定义https api指令来请求自诊断cpe设备之后,还包括如下步骤:
18.步骤s4:将自诊断cpe设备诊断出的消息内容上报到后台服务器记录。
19.作为本公开实施例的另一方面,提供一种基于mqtt协议实现自动诊断cpe的系统,包括app端、cpe设备和mqtt服务器,所述app端和cpe设备均连接mqtt服务器;所述app端根据自定义的指令向后台服务器发送请求,判断app端与后台服务器之间能否正常通信;如果能正常通信,则使用app端中的app注册账户并登录后,给cpe设备绑定已登录的app账户;所述mqtt服务器通过代理方式处理来自app或cpe的主题消息发布和订阅;如果不能正常通信,app端则无需登录后台服务器,使用自定义https api指令来请求自诊断cpe设备。
20.可选地,所述app端以cpe设备的mac作为唯一标识,根据自定义mqtt协议组装诊断主题信息内容,发布到mqtt服务器中;cpe端订阅到app发布的主题消息,解析消息内容,获取到app端请求的诊断信息,以cpe设备的mac作为唯一标识,通过json格式将app端请求的信息内容封装成主题消息,发布到mqtt服务器中;app端通过监听自定义的自诊断主题消息,订阅到cpe发布在mqtt服务器中主题消息,app端获取到cpe设备回复的诊断信息数据,根据自定义协议结构解析内容并呈现数据到app中。
21.可选地,所述app端通过扫描cpe设备二维码获得cpe相关信息,根据得到cpe的信息内容连接上wifi后,登录cpe设备的cpe端;所述app端根据自定义协议向cpe端发送自诊断api指令;cpe设备接收到app自诊断请求指令,cpe设备端将开启执行自诊断功能,将诊断结果以json格式封装回应app端请求的数据包。
22.可选地,所述app端请求cpe设备的诊断数据,根据自定义协议结构解析内容并呈现数据到app中。
23.可选地,所述app端将自诊断cpe设备诊断出的消息内容上报到后台服务器记录。
24.本公开的有益效果至少包括:1、本公开将cpe自动诊断监控方法实现app端管理,是对现有技术web自动诊断管理局限性的扩展,有利于用户随时可通过app进行cpe自动诊断记录故障信息,便于管理人员对cpe问题排查与修复;
25.2、本公开通过mqtt与https不同协议、不同网络状况来对cpe实现自动诊断故障,解决了当app处于无网络状态或cpe不在身边的情况,app也能对cpe实现自动诊断处理,监控cpe运行状况。
附图说明
26.图1为本公开实施例中的实现cpe自动诊断两种方式的流程图;
27.图2为本公开实施例中的实现cpe自动诊断的示意图。
具体实施方式
28.为使本公开的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本公开的技术方案进行详细说明。需要指出的是,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例,基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
29.实施例1
30.本实施例提供一种基于mqtt协议实现自动诊断cpe的方法,应用于app平台对cpe设备故障自动诊断方式的管理,如图1-2所示,具体包括如下步骤:
31.步骤s1:使用app注册账户并登录后,给cpe设备绑定已登录的app账户,app和cpe设备均连接mqtt(消息队列遥测传输协议)服务器,通过mqtt服务器代理方式处理来自app或cpe的主题消息发布与订阅;
32.步骤s2:app端以cpe的mac作为唯一标识,根据自定义mqtt协议组装诊断主题信息内容发布到mqtt服务器中,app发布主题消息的格式如下所示,表示请求网络诊断主题消息:
[0033][0034]
mqtt:表示连接上mqtt服务器的属性名称;
[0035]
dopublish:表示发布mqtt主题;
[0036]
topic:表示发布mqtt自定义可变头部内容,由发布者与订阅者之间协调头部信息的内容,来设置或获取数据信息。
[0037]
cpe_mac:以cpe mac地址作为唯一标识;
[0038]
internet_diag:表示是网络诊断的请求;
[0039]
request:表示请求数据;
[0040]
qos:表示确保消息到达,至少发送一次;
[0041]
payload:表示消息内容,指订阅者所携带给cpe的参数;
[0042]
步骤s3:cpe端订阅到app发布的主题消息,通过json格式(键/值对)将app端请求的diag_name(诊断模块名称)封装成主题消息,然后发布主题到mqtt服务器中如下所示;cpe发布响应网络诊断主题消息的格式:
[0043][0044]
response:表示响应app端请求;
[0045]
message:表示回应的诊断数据信息内容;
[0046]
步骤s4:app端通过监听自定义的自诊断主题消息,订阅到cpe发布在mqtt服务器中主题消息,获取到cpe设备回复的诊断信息数据,app中监听/关闭订阅cpe主题消息的格式,如下:
[0047]
uni.$on(“cpe_mac/internet_diag/response”,(res)=》{
[0048]
let content=res.message
[0049]
});
[0050]
uni.$off(“{cpe_mac}/internet_diag/response”);
[0051]
uni.$on:表示监听订阅cpe发布的mqtt主题消息;
[0052]
uni.$off:表示关闭mqtt主题消息订阅;
[0053]
res:表示获取到cpe发布的诊断消息,
[0054]
取得cpe诊断消息res.message结果集,数据格式分析:
[0055]
{
[0056]
status:诊断中/诊断完成/错误,
[0057]
status_describe:wan口异常,
[0058]
type:网络诊断,
[0059]
sub_type:wan连接失败,
[0060]
result_code:200,
[0061]
result_desc:处理成功/处理失败
[0062]
}
[0063]
status:表示cpe诊断进程,当结果值处于未完成状态时,表示cpe还在诊断中,继续订阅mqtt消息直至完成状态或诊断故障,方可关闭消息订阅;
[0064]
status_describe:表示诊断状态描述,即诊断cpe对应功能结果描述;
[0065]
type:表示诊断类型,支持wifi和网络诊断;
[0066]
sub_type:表示子类型-具体执行的诊断;
[0067]
result_code、result_desc:cpe响应了诊断处理代码与处理结果描述;
[0068]
将res.message结果集内容呈现在app中,用户通过诊断出的消息内容,直观了解到cpe故障问题,用户针对相应故障问题去解决,并可将故障上报到后台服务器记录。
[0069]
实施例2
[0070]
通过https实现cpe自动诊断处理方法流程,具体包括如下步骤:
[0071]
步骤s1:app端通过扫描cpe设备二维码获得cpe相关信息,根据得到cpe的信息内容连接上wifi后,登录cpe端;
[0072]
步骤s2:登录cpe端后,app端根据自定义协议向cpe端发送自诊断api指令,app请求的网络自诊断api指令,例子如下:
[0073]
https://192.168.1.1:69/set/internet_diag
[0074]
步骤s3:cpe设备接收到app自诊断请求指令,cpe设备端将开启执行自诊断功能,将诊断结果以json格式封装回应app端请求的数据包,cpe封装诊断结果信息的格式处理,如下:
[0075]
{
[0076]
status:诊断中/诊断完成/错误,
[0077]
status_describe:wan口异常,
[0078]
type:网络诊断,
[0079]
sub_type:wan连接失败,
[0080]
result_code:200,
[0081]
result_desc:处理成功/处理失败
[0082]
}
[0083]
status:表示cpe诊断进程,当结果值处于未完成状态时,表示cpe还在诊断中,继续上述步骤s2中获取(get)诊断信息内容,直至诊断完成状态或诊断故障,方停止;
[0084]
status_describe:表示诊断状态描述,即诊断cpe对应功能结果描述;
[0085]
type:表示诊断类型,支持wifi和网络诊断;
[0086]
sub_type:表示子类型-具体执行的诊断;
[0087]
result_code、result_desc:cpe响应了诊断处理代码与处理结果描述;
[0088]
将res.message结果集内容呈现在app中。
[0089]
步骤s4:app端请求cpe设备的诊断数据(请求例子:如步骤s2,get操作),根据自定义协议结构解析内容并呈现数据到app中,用户通过诊断出的消息内容,直观了解到cpe故障问题,用户针对相应故障问题去解决,并可将故障上报到后台服务器记录
[0090]
实施例3
[0091]
本实施例提供一种基于mqtt协议实现自动诊断cpe的系统,应用于app平台对cpe设备故障自动诊断方式的管理,如图1-2所示,具体包括app端、cpe设备和mqtt服务器,所述app端和cpe设备均连接mqtt服务器;
[0092]
所述app端根据自定义的指令向后台服务器发送请求,判断app端与后台服务器之间能否正常通信;
[0093]
如果能正常通信,则使用app端中的app注册账户并登录后,给cpe设备绑定已登录的app账户;所述mqtt服务器通过代理方式处理来自app或cpe的主题消息发布和订阅;
[0094]
如果不能正常通信,app端则无需登录后台服务器,使用自定义https api指令来请求自诊断cpe设备。
[0095]
在一些实施例中,所述app端以cpe设备的mac作为唯一标识,根据自定义mqtt协议组装诊断主题信息内容,发布到mqtt服务器中;cpe端订阅到app发布的主题消息,解析消息内容,获取到app端请求的诊断信息,以cpe设备的mac作为唯一标识,通过json格式将app端
请求的信息内容封装成主题消息,发布到mqtt服务器中;app端通过监听自定义的自诊断主题消息,订阅到cpe发布在mqtt服务器中主题消息,app端获取到cpe设备回复的诊断信息数据,根据自定义协议结构解析内容并呈现数据到app中。
[0096]
在一些实施例中,所述app端通过扫描cpe设备二维码获得cpe相关信息,根据得到cpe的信息内容连接上wifi后,登录cpe设备的cpe端;所述app端根据自定义协议向cpe端发送自诊断api指令;cpe设备接收到app自诊断请求指令,cpe设备端将开启执行自诊断功能,将诊断结果以json格式封装回应app端请求的数据包。
[0097]
在一些实施例中,所述app端请求cpe设备的诊断数据,根据自定义协议结构解析内容并呈现数据到app中。
[0098]
在一些实施例中,所述app端将自诊断cpe设备诊断出的消息内容上报到后台服务器记录。
[0099]
本公开将cpe自动诊断监控方法使用了mqtt与https实现app端管理,是对现有技术web自动诊断管理局限性的扩展,有利于用户随时可通过app进行cpe自动诊断记录故障信息,便于管理人员对cpe问题排查与修复。
[0100]
尽管已经示出和描述了本公开的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本公开的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本公开的范围由所附权利要求及其等同物限定。

技术特征:


1.一种基于mqtt协议实现自动诊断cpe的方法,其特征在于,包括如下步骤:步骤s1:app端根据自定义的指令向后台服务器发送请求,判断app端与后台服务器之间能否正常通信;步骤s2:如果能正常通信,则使用app端中的app注册账户并登录后,给cpe设备绑定已登录的app账户,app端和cpe设备均连接mqtt服务器,通过mqtt服务器代理方式处理来自app或cpe的主题消息发布和订阅;步骤s3:如果不能正常通信,app端则无需登录后台服务器,使用自定义https api指令来请求自诊断cpe设备。2.如权利要求1所述的基于mqtt协议实现自动诊断cpe的方法,其特征在于,所述步骤s2具体包括如下步骤:步骤s201:app端以cpe设备的mac作为唯一标识,根据自定义mqtt协议组装诊断主题信息内容,发布到mqtt服务器中;步骤s202:cpe端订阅到app发布的主题消息,解析消息内容,获取到app端请求的诊断信息,以cpe设备的mac作为唯一标识,通过json格式将app端请求的信息内容封装成主题消息,发布到mqtt服务器中;步骤s203:app端通过监听自定义的自诊断主题消息,订阅到cpe发布在mqtt服务器中主题消息,app端获取到cpe设备回复的诊断信息数据,根据自定义协议结构解析内容并呈现数据到app中。3.如权利要求2所述的基于mqtt协议实现自动诊断cpe的方法,其特征在于,步骤s3具体包括如下步骤:步骤s301:app端通过扫描cpe设备二维码获得cpe相关信息,根据得到cpe的信息内容连接上wifi后,登录cpe设备的cpe端;步骤s302:app端根据自定义协议向cpe端发送自诊断api指令;步骤s303:cpe设备接收到app自诊断请求指令,cpe设备端将开启执行自诊断功能,将诊断结果以json格式封装回应app端请求的数据包;步骤s304:app端请求cpe设备的诊断数据,根据自定义协议结构解析内容并呈现数据到app中。4.如权利要求1-3任一项所述的基于mqtt协议实现自动诊断cpe的方法,其特征在于,在步骤s3中的使用自定义https api指令来请求自诊断cpe设备之后,还包括如下步骤:步骤s4:将自诊断cpe设备诊断出的消息内容上报到后台服务器记录。5.一种基于mqtt协议实现自动诊断cpe的系统,其特征在于,包括app端、cpe设备和mqtt服务器,所述app端和cpe设备均连接mqtt服务器;所述app端根据自定义的指令向后台服务器发送请求,判断app端与后台服务器之间能否正常通信;如果能正常通信,则使用app端中的app注册账户并登录后,给cpe设备绑定已登录的app账户;所述mqtt服务器通过代理方式处理来自app或cpe的主题消息发布和订阅;如果不能正常通信,app端则无需登录后台服务器,使用自定义https api指令来请求自诊断cpe设备。6.如权利要求5所述的基于mqtt协议实现自动诊断cpe的系统,其特征在于,所述app端以cpe设备的mac作为唯一标识,根据自定义mqtt协议组装诊断主题信息内容,发布到mqtt服务器中;cpe端订阅到app发布的主题消息,解析消息内容,获取到app端请求的诊断信息,
以cpe设备的mac作为唯一标识,通过json格式将app端请求的信息内容封装成主题消息,发布到mqtt服务器中;app端通过监听自定义的自诊断主题消息,订阅到cpe发布在mqtt服务器中主题消息,app端获取到cpe设备回复的诊断信息数据,根据自定义协议结构解析内容并呈现数据到app中。7.如权利要求5或6所述的基于mqtt协议实现自动诊断cpe的系统,其特征在于,所述app端通过扫描cpe设备二维码获得cpe相关信息,根据得到cpe的信息内容连接上wifi后,登录cpe设备的cpe端;所述app端根据自定义协议向cpe端发送自诊断api指令;cpe设备接收到app自诊断请求指令,cpe设备端将开启执行自诊断功能,将诊断结果以json格式封装回应app端请求的数据包。8.如权利要求5或6所述的基于mqtt协议实现自动诊断cpe的系统,其特征在于,所述app端请求cpe设备的诊断数据,根据自定义协议结构解析内容并呈现数据到app中。9.如权利要求5或6所述的基于mqtt协议实现自动诊断cpe的系统,其特征在于,所述app端将自诊断cpe设备诊断出的消息内容上报到后台服务器记录。

技术总结


本公开涉及一种基于MQTT协议实现自动诊断CPE的方法和系统,所述方法包括如下步骤:APP端根据自定义的指令向后台服务器发送请求,判断APP端与后台服务器之间能否正常通信;如果能正常通信,则使用APP端中的APP注册账户并登录后,给CPE设备绑定已登录的APP账户,APP端和CPE设备均连接MQTT服务器,通过MQTT服务器代理方式处理来自APP或CPE的主题消息发布和订阅;如果不能正常通信,APP端则无需登录后台服务器,使用自定义Https API指令来请求自诊断CPE设备。本公开有利于用户随时可通过APP进行CPE自动诊断记录故障信息,便于管理人员对CPE问题排查与修复。对CPE问题排查与修复。对CPE问题排查与修复。


技术研发人员:

曾庆利 柯思怡

受保护的技术使用者:

广州芯德通信科技股份有限公司

技术研发日:

2022.08.11

技术公布日:

2022/12/16

本文发布于:2024-09-25 15:23:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/37639.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设备   自定义   消息   步骤
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议