获取客户终端设备状态的方法、装置及自动配置服务器与流程

文档序号:16063036发布日期:2018-11-24 12:23阅读:205来源:国知局

本发明涉及网络管理技术领域,特别是涉及获取客户终端设备状态的方法、装置及自动配置服务器。

背景技术

随着设备网管技术的快速发展,网管服务器性能的快速提升,网管服务器需要管理的设备数量也呈几何级数的增加,如何快速高效的管理这些设备,成为网管系统中的一大难题。

传统的snmp(simplenetworkmanagementprotocol,简单网络管理协议)由于数据传输的不安全性以及数据定义的随意性,导致其管理变得越来越复杂而难以实现,由bbf(broadbandforum,宽带论坛)制定的tr069协议较好的解决了上述问题,但对于如何实时批量的获取设备的状态的问题,依旧没有得到很好的解决。

在目前的tr069协议中,通常有以下三种方法获得设备的状态。

1)、根据tr069协议的交互流程,获取设备上的某个固定的参数,能取到参数值为在线状态,而取不到值或者协议交互超时时为离线状态。该方法存在的缺陷有很多,例如设备种类繁多,固定参数可能在某类设备上不存在(即不兼容),导致设备明明在线,但因取不到固定参数的值而误认为设备离线。要获取设备上某个固定的参数值,必须基于设备类型做配置,如甲类型设备,取x值,乙类型设备取y值,导致网管系统变得复杂。基于tr069协议获取参数,要经历多次http(hypertexttransferprotocol,超文本传输协议)交互,效率低下。

2)、在获取状态的初期,网管向设备发送一个连接请求,通过采用http协议的get方法返回的http状态码来实现对设备状态的获取。由于连接请求中附带了acs的用户名和密码,导致连接请求发送后,能立即取到状态码202,但随后,cpe(customerpremisesequipment,用户驻地设备)将向acs发送一个对获取设备状态无用的带6connectrequest事件的inform消息包,此方法二相比方法一而言,效率得到了提高,但cpe与acs之间有协议交互,损耗了系统性能,对于大批量的终端设备的状态获取并不适用。

3)、网管向设备发送连接请求时,发送一个错误的用户名和密码,这样既能通过cpe的响应来获取状态,又使得cpe认证失败,从而避免cpe再向acs发送一个带“6connectrequest”事件的inform消息包。此方法相比方法二而言,不但保证了效率,还减少了系统性能损耗。但该方法仍存在一个严重的弊端:在实际应用场景中,有的局点在终端设备关机后,会把它的ip地址分配给其它后开机的终端设备,对这些局点的设备状态统计就会出现较大的误差。例如,当要获取a设备的状态时,如果a设备已经下线,而它的ip地址被b设备使用,那么获取状态的结果会误认为a设备在线,而实际上却是获取到了b设备的状态。方法三在有些场景下,获取的设备状态不精确。

目前还没有一种较好的方法既能准确的获取终端设备的状态,又能最低限度的占用系统性能资源,以适应对大批量终端设备的状态的高效获取。



技术实现要素:

基于此,有必要针对传统技术无法准确高效的获取批量终端设备的状态的问题,提供一种获取客户终端设备状态的方法、装置及自动配置服务器。

一种获取客户终端设备状态的方法,该方法包括:

向客户终端设备发送连接请求,该连接请求中携带有正确的用户标识和错误的密码;

根据是否接收到该客户终端设备返回的应答消息以及接收的应答消息中携带的状态码,判断该客户终端设备的状态。

一种获取客户终端设备状态的装置,该装置包括:

请求发送模块,用于向客户终端设备发送连接请求,该连接请求中携带有正确的用户标识和错误的密码;

判断模块,用于根据是否接收到该客户终端设备返回的应答消息以及接收的应答消息中携带的状态码,判断该客户终端设备的状态。

一种自动配置服务器,该自动配置服务器包括上述的获取客户终端设备状态的装置。

一种存储介质,其上存储有计算机程序,该存储介质被设置为存储用于执行上述获取客户终端设备状态的方法的程序代码。

本发明通过向客户终端设备发送正确的用户标识和错误的密码,使得客户终端设备所依据的认证数据中用户标识是正确的,但由于密码错误就无法向本端自动配置服务器发送带“6connectrequest”事件的inform消息包,不用经历多次http(hypertexttransferprotocol,超文本传输协议)交互,减少了系统性能损耗,同时可根据客户终端设备依据正确的用户标识的认证返回的状态码,判断与该用户标识对应的客户终端设备是否在线,从而实现对客户终端设备是否在线进行准确、高效的判断。

附图说明

图1为根据本发明的一个实施例的获取客户终端设备状态的方法的流程图;

图2为根据本发明的另一实施例的获取客户终端设备状态的方法的流程图;

图3为根据本发明的一个实施例的获取客户终端设备状态的使用场景的时序图;

图4为传统方法一中获取客户终端设备状态的方法的流程图;

图5为传统方法二中获取客户终端设备状态的方法的流程图;

图6为传统方法三中获取客户终端设备状态的方法的流程图;

图7为根据本发明的一个实施例的获取客户终端设备状态的装置的结构框图;

图8为根据发明的一个实施例的自动配置服务器的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为根据本发明的一个实施例的获取客户终端设备状态的方法的流程图,下面结合图1来描述根据本发明的一个实施例的获取客户终端设备状态的方法,该方法包括以下步骤s101和s102。

s101、向客户终端设备发送连接请求,该连接请求中携带有正确的用户标识和错误的密码。

根据本实施例的一个示例,在该步骤中,本端自动配置服务器acs(auto-configurationserver)与客户终端设备cpe(customerpremiseequipment)之间通过建立在http协议上的tr069协议进行通信。其中,tr069协议可以方便地使用在web中传送层安全技术这一块,比如ssl(securesocketslayer,安全套接层)/tls(transportlayersecurity,传输层安全)协议。tr069协议栈的下面几层充分利用了现在英特网上广泛使用的通信协议,比如tcp(transmissioncontrolprotocol,传输控制协议)、http、soap(simpleobjectaccessprotocol,简单对象访问协议)等。在连接过程中,客户终端设备作为http的客户端,其soap请求通过httppost发送给acs,而acs作为http的服务端,其soap请求通过httpresponse发送给用户设备。

在该步骤中,根据本实施例的一个示例,该用户标识为自动配置服务器与客户终端设备协商一致(或设置一致)的以表征客户终端设备身份的唯一标识码,该标识码例如该客户终端设备的用户名、该客户终端设备的mac(mediaaccesscontrol或者mediumaccesscontrol)物理地址、imei(internationalmobileequipmentidentity)国际移动设备身份码等等。作为可选地,该用户标识和密码设定为固定或随机的数字字母组合字符串。作为可选地,该用户标识包括但不限于固定或随机的数据、固定或随机的字母以及固定或随机的数字字母的组合。该密码的形态优选为固定或随机的数字字母的组合。

本实施例中连接请求中携带有正确的用户标识和错误的密码,由此,避免了携带正确的用户标识和密码获取设备状态时,cpe与acs之间的协议交互给系统性能带来损耗的缺陷,也避免了携带有错误的用户标识和密码导致无法验证客户终端设备的身份,对cpe的状态进行错误的判断。

s102、根据是否接收到该客户终端设备返回的应答消息以及接收的应答消息中携带的状态码,判断该客户终端设备的状态。

在该实施例中,该状态码为超文本传输协议http状态码。

根据该实施例的一个示例,该客户终端设备返回的应答消息中携带的状态码为该客户终端设备根据该正确的用户标识和错误的密码进行认证后同步返回的结果数据。

根据本实施例的一个示例,该客户终端设备进行用户名以及密码验证的步骤如下:

接收自动配置服务器发送的正确的名用户名标识和错误的密码;

将接收的用户名标识和密码与本端存储的正确的用户名标识和正确密码进行比对;

若用户名标识的比对结果相同但密码不同,则判断用户名标识认证正确但密码错误(与此状态对应的状态码例如417),若用户名标识的比对结果不同,则判断用户名标识认证错误(与此状态对应的状态码例如401)。

将比对结果所对应的状态码发送给自动配置服务器。

本实施例由于向客户终端设备cpe发送连接请求中携带有正确的用户标识和错误的密码,使得客户终端设备不会触发向本端发送inform报文,使得acs与cpe不会产生协议交互,而只是回复一个应答消息,告知本端自动配置服务器acs“用户标识是正确的但是密码错了”的应答消息,既能够保证对客户终端设备cpe状态判断的准确性,又降低系统的损耗,提高了客户终端设备状态判断的效率。

图2为根据本发明的另一实施例的获取客户终端设备状态的方法的流程图,如图2所示的根据本发明的另一实施例的获取客户终端设备状态的方法,该方法在包括上述步骤s101的基础上,上述步骤s102具体包括步骤s201、s202、s203和s204。

s201、判断是否接收到该客户终端设备返回的应答消息,若是则跳转至步骤s202,否则,跳转至步骤s204。

s202、判断接收的应答消息中携带的状态码是否为用户标识认证正确的第一状态码,若是,则跳转至步骤s203,否则跳转至步骤s204。

s203、判断该客户终端设备处于在线状态。

s204、判断该客户终端设备处于离线状态。

根据该实施例的一个示例,用户标识认证正确的第一状态码为http状态码417。

在该步骤s201中,判断是否接收到该客户终端设备返回的应答消息可以通过是否等待超时来判定,当系统等待超时时,判断未接收到该客户终端设备返回的应答消息,判断该客户终端设备离线。

在该步骤s202中,当判断接收的应答消息中携带的状态码不为用户标识认证正确的第一状态码,判断该应答消息中携带的状态码是否为提示用户标识错误的第二状态码,若是,则判断对应的客户终端设备离线。

根据本实施例的一个示例,该提示用户标识错误的第二状态码为http状态码401。

图3为根据本发明的一个实施例的获取客户终端设备状态的使用场景的时序图,如图3给出了acs与cpe的一种交互流程,其中,acs使用正确的用户标识和错误的密码,cpe匹配用户标识,根据匹配结果返回不同的状态码,其交互过程如下:

1、acs向cpe发起一个连接请求,连接请求中携带正确的用户标识和错误的密码;

2、cpe收到请求后,提取请求中的用户标识,并进行匹配,如果匹配成功,则返回一个状态码为417的http响应,否则,返回一个状态码为401的http响应。

在本实施例中,由于连接请求携带的是正确的用户标识和错误的密码,不会触发cpe发送inform报文给acs,与此同时cpe同步发送状态码为417(用户标识正确,密码错误),acs接收到此状态码后,即可认为此cpe在线;cpe同步发送状态码为401(用户标识错误,密码错误),acs接收到此状态码后,即可认为目标cpe离线;当cpe同步返回超时时,acs认为设备离线。

传统的获取设备状态的第一种方法流程中(以下简称传统方法一),图4为传统方法一中获取客户终端设备状态的方法的流程图,如图4所示,acs向cpe发送连接请求后,cpe返回200状态码,紧接着cpe发起会话,进行inform、informresponse交互后,cpe再发一个空包,acs发出getparametervalues命令,cpe返回getparametervaluesreponse,流程结束,其具体交互过程如下:

1、acs向cpe发起一个连接请求,连接请求中携带正确的用户标识和密码;

2、cpe同步返回一个http状态码200;

3、cpe向acs上报一个带“6connectionrequest”事件的inform报文,标志cpe已和acs建立起会话;

4、acs向cpe回一个informresponse报文;

5、cpe向acs发送一个空报文;

6、acs向cpe发送一个getparametervalues报文,获取cpe某个参数的值;

7、cpe向acs返回一个getparametervaluesresponse,报文中包含了参数值。

传统的获取设备状态的第二种方法流程中(以下简称传统方法二),图5为传统方法二中获取客户终端设备状态的方法的流程图,如图5所示,其为使用正确的用户标识和密码发送连接请求,当acs向cpe发送连接请求后,cpe返回200状态码,紧接着,cpe发起会话,inform、informresponse交互,互发空包流程结束;其具体交互过程如下:

1、acs向cpe发起一个连接请求,连接请求中携带正确的用户标识和密码;

2、cpe同步返回一个http状态码200;

3、cpe向acs上报一个带“6connectionrequest”事件的inform报文,标志cpe已和acs建立起会话;

4、acs向cpe回一个informresponse报文;

5、cpe向acs发送一个空报文;

6、acs向cpe返回一个空报文。

传统的获取设备状态的第三种方法流程中(以下简称传统方法三),图6为传统方法三中获取客户终端设备状态的方法的流程图,如图6所示,其为使用错误的用户标识和密码发送连接请求,当acs向cpe发送连接请求后,cpe返回401状态码,acs据此判断其在线,其交互过程如下:

1、acs向cpe发起一个连接请求,连接请求中携带错误的用户标识和密码;

2、cpe同步返回一个http状态码401。

该方法存在一个很大的问题:如果目标cpe下线,其ip被其他cpe使用,会导致acs误判目标cpe为在线,而实际上是获取了另外一个cpe的状态。

基于此分析,本实施例与传统技术的比较结果如下表1所示:

表1

由上表可知,传统技术中需要获取设备参数或引入了tr069协议交互,方法复杂而且低效。至于方法三,存在获取状态不精准的弊端,而本实施例方法解决了以上三种方法的缺陷,使得获取状态在保持高效,简单等优点的同时,能满足精准性要求,尤其适用于在大批量设备(如终端网管)刷新状态的场景。

图7为根据本发明的一个实施例的获取客户终端设备状态的装置的结构框图,下面结合图7来描述根据本发明的一个实施例的获取客户终端设备状态的装置10,该装置包括:

请求发送模块11,用于向客户终端设备发送连接请求,该连接请求中携带有正确的用户标识和错误的密码;

判断模块12,用于根据是否接收到该客户终端设备返回的应答消息以及接收的应答消息中携带的状态码,判断该客户终端设备的状态。

进一步,该判断模块还用于:

当接收的应答消息中携带的状态码为表示用户标识认证正确的第一状态码时,判断该客户终端设备处于在线状态,当等待超时或接收的应答消息中携带的状态码为表示用户标识认证错误的第二状态码时,判断该客户终端设备处于离线状态。

作为可选地,该判断模块包括:

第一判断单元,用于判断是否接收到该客户终端设备返回的应答消息,若否,则判断该客户终端设备处于离线状态。

第二判断单元,用于当接收到该客户终端设备返回的应答消息时,判断接收的应答消息中携带的状态码为用户标识认证正确的第一状态码,若是,则判断该客户终端设备处于在线状态。

第三判断单元,用于当接收的应答消息中携带的状态码不为用户标识认证正确的第一状态码时,判断接收的应答消息中携带的状态码是否为用户标识认证错误的第二状态码,若是,则判断该客户终端设备处于离线状态。

作为可选地,该状态码为超文本传输协议http状态码。

进一步,该应答消息中携带的状态码为该客户终端设备根据该正确的用户标识和错误的密码进行认证后返回的结果数据。

图8为根据发明的一个实施例的自动配置服务器的结构框图,如图8所示,该自动配置服务器20包括上述的客户终端设备状态的装置10。

根据本实施例提供的一种存储介质,该存储介质被设置为存储用于执行以下步骤的程序代码:

向客户终端设备发送连接请求,该连接请求中携带有正确的用户标识和错误的密码;

根据是否接收到该客户终端设备返回的应答消息以及接收的应答消息中携带的状态码,判断该客户终端设备的状态。作为可选地,该状态码为超文本传输协议http状态码。

其中,该根据是否接收到该客户终端设备返回的应答消息以及接收的应答消息中携带的状态码,判断该客户终端设备的状态的步骤包括:

当接收的应答消息中携带的状态码为表示用户标识认证正确的第一状态码时,判断该客户终端设备处于在线状态,当等待超时或接收的应答消息中携带的状态码为表示用户标识认证错误的第二状态码时,判断该客户终端设备处于离线状态。

进一步,该客户终端设备返回的应答消息中携带的状态码为该客户终端设备根据该正确的用户标识和错误的密码进行认证后同步返回的结果数据。

本实施例通过向客户终端设备发送正确的用户标识和错误的密码,使得客户终端设备所依据的认证数据中用户标识是正确的,但由于密码错误就无法向本端自动配置服务器发送带“6connectrequest”事件的inform消息包,不用经历多次http(hypertexttransferprotocol,超文本传输协议)交互,减少了系统性能损耗,同时可根据客户终端设备依据正确的用户标识的认证返回的状态码,判断与该用户标识对应的客户终端设备是否在线,从而实现对客户终端设备是否在线进行准确、高效的判断。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1