基于TR069协议的宽带无线网络管理系统、方法和存储介质

文档序号:24649342发布日期:2021-04-13 16:57阅读:335来源:国知局
基于TR069协议的宽带无线网络管理系统、方法和存储介质
基于tr069协议的宽带无线网络管理系统、方法和存储介质
技术领域
1.本发明涉及无线网络技术领域,尤其涉及基于tr069协议的宽带无线网络管理系统、方法和存储介质。


背景技术:

2.随着宽带无线网络wlan(wireless local area network)技术的广泛应用,需要对海量的ap(access point)终端进行配置和管理,传统的基于snmp(simple network management protocol)的网络管理系统难以面对规模庞大的ap终端设备的管理要求,无法支持宽带无线网络市场的高速发展。
3.目前,业内提出了tr069协议用于网络设备的管理,该协议定义了一套全新的网管体系结构,提供了inform、getparametervalues、setparametervalues等报文,可以高效配置和管理海量的ap,减少网络管理系统运营成本。但是,现有技术中实现tr069协议的复杂度较大,使得系统难以具备良好的可扩展性,难以适用于宽带无线网络的环境下对大规模ap终端进行管理的场景。


技术实现要素:

4.本发明的目的在于克服现有技术中的不足,提供基于tr069协议的宽带无线网络管理系统、方法和存储介质,降低了实现tr069协议的复杂度,使得系统具备良好的可扩展性,可适用于宽带无线网络的环境下对大规模ap终端进行管理的场景。
5.为达到上述目的,本发明是采用下述技术方案实现的:
6.第一方面,本发明提供了基于tr069协议的宽带无线网络管理系统,包括ap终端、httpserver节点、infoserver节点、getparamserver节点、setparamserver节点、webserver节点和zookeeper节点;
7.所述ap终端与所述httpserver节点之间建立http连接,所述httpserver分别与所述infoserver节点、getparam server节点、setparam server节点之间建立rpc连接,所述web server节点分别与所述infoserver节点、getparam server节点、setparam server节点之间建立websocket连接;
8.所述infoserver节点、getparamserver节点、setparamserver节点、webserver节点和http server节点均通过所述zookeeper节点实现服务注册和服务发现。
9.进一步的,所述httpserver节点用于解析tr069协议的inform报文、getparametervalues报文、setparametervalues报文,并将所述inform报文、getparametervalues报文、setparametervalues报文分别发送到所述infoserver节点、getparamserver节点、setparamserver节点;
10.所述infoserver节点用于处理inform报文,所述getparamserver节点用于处理getparametervalues报文,所述setparamserver节点用于处理setparametervalues报文;
11.所述webserver节点用于响应用户下发的ap终端操作命令。
12.进一步的,tr069协议建立在基于xml的soap协议之上,所述inform报文、getparametervalues报文和setparametervalues报文分别由soap协议进行了封装。
13.第二方面,本发明提供了一种用于第一方面所述基于tr069协议的宽带无线网络管理系统的无线网络管理方法,包括如下步骤:
14.http server节点建立与ap终端的http连接,获取tr069协议的inform报文、getparametervalues报文和setparametervalues报文;
15.http server节点将所述inform报文、getparametervalues报文和setparametervalues报文分别发送至infoserver节点、getparamserver节点、setparamserver节点进行报文处理,以响应触发:
16.所述infoserver节点向webserver节点发送ap终端id已上线消息并将ap终端id已上线消息显示到页面上;所述getparamserver节点将ap终端读操作返回值发送给webserver节点,所述webserver节点解析所述ap终端读操作返回值并显示到网页上;所述setparamserver将ap终端写操作返回值发送给webserver节点,所述webserver节点解析所述ap终端写操作返回值并显示到网页上。
17.进一步的,通过infoserver节点实现inform报文处理的方法包括如下步骤:
18.s101)ap终端向httpserver节点发起http请求,与httpserver节点建立http连接;
19.s102)ap终端向httpserver发起inform request请求,所述inform request由<cwmp:inform>字段组成,所述<cwmp:inform>字段包括终端厂商、终端id,其中,所述终端id为全局唯一,且不同的终端具有不同的终端id;
20.s103)httpserver节点收到inform request并解析所述<cwmp:inform>字段,获得终端id,然后创建哈希表h记录获得的终端id对应的http session上下文;
21.s104)httpserver节点向zookeeper节点发起服务发现请求,获得informserver节点的ip和端口信息,然后向informserver节点发起rpc连接,将所述<cwmp:inform>字段发送到至informserver节点;
22.s105)informserver节点收到所述<cwmp:inform>字段,从所述<cwmp:inform>字段中解析出终端id,然后创建状态表s,记录终端id为“已上线状态”;
23.s106)informserver节点创建inform报文操作应答消息,所述应答消息为<cwmp:informresponse>字段,informserver节点将所述应答消息字段返回给httpserver节点;
24.s107)httpserver节点收到所述<cwmp:informresponse>字段后封装为inform response消息,然后将inform response消息发送给ap终端;
25.s108)informserver节点向zookeeper节点发起服务发现请求,获得webserver节点的ip和端口信息,然后向webserver节点发起websocket请求,建立双向通路;
26.s109)informserver节点向webserver节点发送ap终端id已上线消息,webserver节点将ap终端id已上线消息显示到页面上。
27.进一步的,通过getparamserver节点实现getparametervalues报文处理的方法包括如下步骤:
28.s201)ap终端向httpserver节点发起http请求,与httpserver节点建立http连接;
29.s202)getparamserver节点向zookeeper节点发起服务发现请求,获得webserver节点的ip和端口信息,然后向webserver节点发起websocket请求,建立双向通路;
30.s203)webserver节点向getparamserver节点下发ap终端读操作请求;
31.s204)getparamserver节点收到ap终端读操作请求,并解析出ap终端id和读操作参数列表;
32.s205)getparamserver节点向zookeeper节点发起服务发现请求,获得informserver节点的ip和端口信息,然后向informserver节点发起rpc连接,并查询ap终端id是否处于在线状态;
33.s206)informserver节点查询所述状态表s,将ap终端的状态信息返回给getparamserver节点;
34.s207)如果ap终端id处于上线状态,则getparamserver节点向zookeeper节点发起服务发现请求,获得httpserver节点的ip和端口信息,然后向httpserver节点发起rpc连接;
35.s208)getparamserver节点将ap终端id和读操作参数列表封装到<cwmp:getparametervalues>字段,并将所述<cwmp:getparametervalues>字段发送到httpserver节点;
36.s209)httpserver节点解析收到的所述<cwmp:getparametervalues>字段,解析出ap终端id,然后查询所述哈希表h获得所述ap终端id对应的http session上下文;
37.s210)httpserver节点将所述<cwmp:getparametervalues>字段封装到soap协议的<soap:envelope>报文中,然后通过http session上下文将所述<soap:envelope>报文发送到终端id对应的ap终端;
38.s211)所述ap终端接收到所述<soap:envelope>报文,读取所述ap终端相应的状态,生成状态列表,并将所述状态列表封装到<cwmp:getparametervaluesresponse>字段,然后将所述<cwmp:getparametervaluesresponse>字段封装到所述<soap:envelope>报文中,最后将所述<soap:envelope>报文返回给httpserver节点;
39.s212)httpserver节点收到所述<soap:envelope>报文并解析出所述<cwmp:getparametervaluesresponse>字段并返回给getparamserver节点;
40.s213)getparamserver节点收到所述<cwmp:getparametervaluesresponse>字段,并解析出参数列表和对应的状态列表,然后将所述参数列表和对应的状态列表封装为ap终端读操作返回值,并通过websocket通道发送给webserver节点;
41.s214)webserver节点解析所述ap终端读操作返回值,将获得的所述参数列表和对应的状态列表显示到网页上。
42.进一步的,通过setparamserver节点实现setparametervalues报文处理的方法包括如下步骤:
43.s301)ap终端向httpserver节点发起http请求,与httpserver节点建立http连接;
44.s302)setparamserver节点向zookeeper节点发起服务发现请求,获得webserver节点的ip和端口信息,然后向webserver节点发起websocket请求,建立双向通路;
45.s303)webserver节点向setparamserver节点下发ap终端写操作请求;
46.s304)setparamserver节点收到所述ap终端写操作请求,并解析出ap终端id和写操作参数列表;
47.s305)setparamserver节点向zookeeper节点发起服务发现请求,获得
informserver节点的ip和端口信息,然后向informserver节点发起rpc连接,查询所述ap终端id是否处于在线状态;
48.s306)informserver查询所述状态表s,将ap终端的状态信息返回给setparamserver节点;
49.s307)如果所述ap终端id处于上线状态,则setparamserver节点向zookeeper节点发起服务发现请求,获得httpserver节点的ip和端口信息,然后向httpserver节点发起rpc连接;
50.s308)setparamserver节点将所述ap终端id和写操作参数列表封装到<cwmp:setparametervalues>字段,并将所述<cwmp:setparametervalues>字段发送到httpserver节点;
51.s309)httpserver节点解析收到的所述<cwmp:setparametervalues>字段,解析出所述ap终端id,然后查询所述哈希表h获得所述ap终端id对应的http session上下文;
52.s310)httpserver节点将所述<cwmp:setparametervalues>字段封装到所述<soap:envelope>报文中,然后通过所述http session上下文将所述<soap:envelope>报文发送到终端id对应的ap终端;
53.s311)终端id对应的ap终端接收到所述<soap:envelope>报文,解析出所述<cwmp:setparametervalues>字段,对ap终端进行写操作,将写操作结果封装到<cwmp:setparametervaluesresponse>字段,然后将所述<cwmp:setparametervaluesresponse>字段封装到所述<soap:envelope>报文,最后将所述<soap:envelope>报文返回给httpserver节点;
54.s312)httpserver节点收到所述<soap:envelope>报文,解析出所述<cwmp:setparametervaluesresponse>字段,将所述<cwmp:setparametervaluesresponse>字段返回给setparamserver节点;
55.s313)setparamserver节点收到所述<cwmp:setparametervaluesresponse>字段,解析出所述写操作结果,然后将所述写操作结果封装为ap终端写操作返回值,并通过websocket通道发送给webserver节点;
56.s314)webserver节点解析所述ap终端写操作返回值,将获得的写操作结果显示到网页上。
57.进一步的,tr069协议建立在基于xml的soap协议之上,所述inform报文、getparametervalues报文和setparametervalues报文分别由soap协议进行了封装。
58.第三方面,本发明提供了一种无线网络管理系统,包括处理器及存储介质;
59.所述存储介质用于存储指令;
60.所述处理器用于根据所述指令进行操作以执行根据第二方面任一项所述方法的步骤。
61.第四方面,本发明提供了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面任一项所述方法的步骤。
62.与现有技术相比,本发明所达到的有益效果:
63.本发明将tr069协议规定的多种报文的处理流程部署到不同的微服务节点上,每一个微服务节点只处理一种操作报文,微服务节点之间通过rpc和websocket进行通讯,减
低了实现tr069协议的复杂度,使得宽带无线网络管理系统及方法具备良好的可扩展性,可适用于宽带无线网络的环境下对大规模ap终端进行管理的场景。
附图说明
64.图1是本发明实施例提供的一种基于tr069协议的宽带无线网络管理系统的结构示意图;
65.图2是本发明实施例提供的一种基于tr069协议的宽带无线网络管理系统实现服务发现的结构示意图;
66.图3是本发明实施例提供的一种无线网络管理方法中处理inform报文的流程示意图;
67.图4是本发明实施例提供的一种无线网络管理方法中处理getparametervalues报文的流程示意图;
68.图5是本发明实施例提供的一种无线网络管理方法中处理setparametervalues报文的流程示意图。
具体实施方式
69.下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
70.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
71.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
72.基于tr069协议的宽带无线网络管理系统可以使用微服务技术实现。微服务是一种分布式的计算架构。一个大型复杂软件应用由一个或多个微服务节点组成,每个微服务节点具有独立的进程空间、计算资源、存储资源和通讯机制,能够承担独立的业务处理工作。
73.基于微服务架构的计算机系统可以部署在多个服务器上,每个服务器可以运行多个微服务单元。微服务架构具有组件化、松耦合、自治、去中心化等特点。
74.实施例1
75.如图1所示,本发明实施例提出一种基于tr069协议的宽带无线网络管理系统,该
系统使用微服务技术框架,实现了tr069协议规定的inform报文、getparametervalues报文和setparametervalues报文。其中,inform报文包括ap终端的设备信息,getparametervalues报文包括对ap终端的读操作命令,setparametervalues报文包括ap终端的写操作命令。
76.基于tr069协议的宽带无线网络管理系统包括httpserver节点、infoserver节点、getparamserver节点、setparamserver节点、webserver节点和zookeeper节点。
77.其中,httpserver节点建立与ap终端的http连接,info server节点处理inform报文、getparamserver节点处理getparametervalues报文、setparamserver节点处理setparametervalues报文,webserver节点负责响应管理员下发的ap终端读操作命令和写操作指令,zookeeper节点提供服务注册发现。
78.如图2所示,当基于tr069协议的宽带无线网络管理系统启动时,infoserver节点、getparamserver节点、setparamserver节点、webserver节点和httpserver节点分别向zookeeper节点发起服务注册请求。
79.zookeeper节点响应服务注册请求,记录每个节点的ip地址和服务端口号信息;每个节点也可以通过zookeeper节点/服务器获得其他节点的ip地址和服务端口号信息,实现服务发现流程。
80.如图1所示,本发明实施例提供的基于tr069协议的宽带无线网络管理系统通过http server与ap终端建立http连接,解析tro69协议的inform报文、getparametervalues报文、setparametervalues报文,并将这些报文分别发送到info server节点、getparam server节点、setparam server节点进行处理。
81.ap终端与httpserver节点之间建立http连接,httpserver分别与infoserver节点、getparamserver节点、setparamserver节点之间建立rpc连接,webserver节点分别与infoserver节点、getparamserver节点、setparamserver节点之间建立websocket连接,如图1所示。
82.在本实施例中,tr069协议通过inform、getparametervalues和setparametervalues等报文实现对ap终端的控制与管理,tr069协议建立在soap(simple object access protocol)协议之上,由soap协议对inform、getparametervalues和setparametervalues等报文进行了封装,soap是一种基于xml的协议,运行在http上。
83.实施例2
84.本发明提供了一种用于实施例1中所述基于tr069协议的宽带无线网络管理系统的无线网络管理方法,包括如下步骤:
85.http server节点建立与ap终端的http连接,获取tr069协议的inform报文、getparametervalues报文和setparametervalues报文;
86.http server节点将所述inform报文、getparametervalues报文和setparametervalues报文分别发送至infoserver节点、getparamserver节点、setparamserver节点进行报文处理,以响应触发:
87.所述infoserver节点向webserver节点发送ap终端id已上线消息并将ap终端id已上线消息显示到页面上;所述getparamserver节点将ap终端读操作返回值发送给webserver节点,所述webserver节点解析所述ap终端读操作返回值并显示到网页上;所述
setparamserver将ap终端写操作返回值发送给webserver节点,所述webserver节点解析所述ap终端写操作返回值并显示到网页上。
88.在本实施例中,如图3所示,本发明实施例提供的基于tr069协议的宽带无线网络管理系统实现inform报文处理的流程具体如下:
89.步骤101、ap终端向httpserver节点发起http请求,与httpserver节点建立http连接。
90.步骤102、ap终端向httpserver节点发起inform request请求,inform request由<cwmp:inform>字段组成,<cwmp:inform>字段包括终端厂商、终端id等信息,其中终端id为全局唯一,不同的终端具有不同的终端id。
91.具体地,ap终端向httpserver节点发起inform request请求,protocolhandler通过重写handleinternal方法处理inform request,首先调用xstream库对inform request的<soap:envelope>报文进行解析,获得<cwmp:inform>字段,再对<cwmp:inform>字段中的子字段<manufacturer>和<serialnumber>进行解析,其中子字段<manufacturer>为ap终端商名称,<serialnumber>为ap终端的id信息。ap终端id为全局唯一,不同的ap终端具有不同的终端id。
92.步骤103、httpserver节点收到inform request并解析<cwmp:inform>,获得终端id,然后创建哈希表h记录终端id与http连接的session上下文。
93.具体地,httpserver创建哈希表h,哈希表h记录handleinternal方法的httpcontext参数与ap终端id的对应关系,其中ap终端id为主键,httpcontext参数为对应的值。哈希表h可以表示为:
94.[<apid_1,httpcontext_1>,<apid_2,httpcontext_2>,

,<apid_n,httpcontext_n>]。
[0095]
步骤104、httpserver节点向zookeeper节点发起服务发现请求,读取zookeeper上的“root”节点,获得informserver节点的ip和端口信息,然后向informserver节点发起rpc连接,将<cwmp:inform>字段发送到informserver节点。
[0096]
步骤105、informserver节点收到<cwmp:inform>字段,从<cwmp:inform>字段中解析出终端id,然后创建状态表s,记录终端id为“已上线状态”。
[0097]
具体地,informserver节点收到<cwmp:inform>字段,从<cwmp:inform>字段中解析出<manufacturer>和<serialnumber>子字段,创建状态表s。状态表s为哈希结构,用于记录ap终端的当前状态,当前状态staus的取值范围是(“online”,“offline”),其中online表示在线,offline表示不在线。
[0098]
状态表s的主键为ap终端id,对应的值为status。状态表s可以表示为:
[0099]
[<apid_1,status_1>,<apid_2,status_2>,

,<apid_n,status_n>]。
[0100]
informserver节点在状态表s中插入一个元素,该元素保存该ap终端id对应的状态为“online”。
[0101]
步骤106、informserver节点创建inform操作应答消息,该消息为<cwmp:informresponse>字段,informserver节点将该字段返回给httpserver节点。
[0102]
步骤107、httpserver节点收到<cwmp:informresponse>字段,将其封装为inform response消息,然后将该消息发送给ap终端。
[0103]
步骤108、informserver节点向zookeeper节点发起服务发现请求,读取zookeeper节点上的“root”节点,获得webserver节点的ip和端口信息,然后向webserver节点发起websocket请求,建立双向通路。
[0104]
步骤109、httpserver节点将ap终端id和对应的status封装为json格式的消息,将该消息发送到webserver节点,webserver节点解析接收到的json消息,将ap终端id和对应的status显示到页面上。
[0105]
如图4所示,本发明实施例提供的基于tr069协议的宽带无线网络管理系统实现getparametervalues报文操作的步骤具体如下:
[0106]
步骤201、httpserver节点调用httpcore库启动http服务器,创建protocolhandler线程在指定的端口监听http请求,等待ap终端发起http连接。
[0107]
步骤202、ap终端向httpserver节点发起http请求,与httpserver节点建立http连接。
[0108]
步骤203、getparamserver节点向zookeeper节点发起连接,读取zookeeper节点上的“root”节点,获得webserver节点的ip和端口信息,然后向webserver节点发起websocket请求,建立双向通路。
[0109]
步骤204、webserver节点向getparamserver节点下发ap终端读操作请求,该请求为json格式,可以表示为:
[0110]
[ap终端id,paramname1,paramname2,

,paramnamen]。
[0111]
步骤205、getparamserver节点收到ap终端读操作请求:
[0112]
[ap终端id,paramname1,paramname2,

,paramnamen],
[0113]
解析出ap终端id和参数列表:
[0114]
[paramname1,paramname2,

,paramnamen]。
[0115]
步骤206、getparamserver节点向zookeeper节点发起连接,读取zookeeper节点上的“root”节点,获得infoserver节点的ip和端口信息。
[0116]
步骤207、getparamserver节点向infoserver节点发起rpc连接,发送参数“ap终端id”。infoserver遍历状态表s,查找key键为ap终端id的元素。
[0117]
如果找到对应的元素,并且该元素的值为“online”,说明该ap终端已在线,则返回给getparam server“ap终端已在线”的信息。
[0118]
步骤208、getparamserver节点收到infoserver节点返回的“ap终端已在线”的信息,则创建<parameternames>字段和<id>字段,将参数列表[paramname1,paramname2,

,paramnamen]封装到<parameternames>字段,再创建<cwmp:getparametervalues>字段,并将<parameternames>字段插入到<cwmp:getparametervalues>字段,最后将ap终端id封装到<id>字段,并将id字段插入到<cwmp:getparametervalues>字段。
[0119]
步骤209、getparamserver节点向zookeeper节点发起连接,读取zookeeper节点上的“root”节点,获得httpserver节点的ip和端口信息,然后向httpserver节点发起rpc请求,并将<cwmp:getparametervalues>字段发送到httpserver节点。
[0120]
步骤210、httpserver节点解析收到的<cwmp:getparametervalues>字段,解析出ap终端id,并将<id>字段从<cwmp:getparametervalues>字段中删除,然后通过ap终端id查询哈希表h:
[0121]
[<apid_1,httpcontext_1>,<apid_2,httpcontext_2>,

,
[0122]
<apid_n,httpcontext_n>];
[0123]
获得ap终端id对应的http session上下文。
[0124]
步骤211、httpserver节点创建<soap:envelope>报文,将<cwmp:getparametervalues>字段插入到<soap:envelope>报文,然后创建<soap:header>报文,将ap终端id封装到<soap:header>报文,最后将<soap:envelope>报文通过http session上下文发送到终端id对应的ap终端。
[0125]
步骤212、终端id对应的ap终端接收到<soap:envelope>报文,解析该<soap:envelope>报文,读取报文中的<cwmp:getparametervalues>字段获得参数列表,然后根据参数列表执行读操作命令,生成状态列表。
[0126]
接着,将状态列表封装到<cwmp:getparametervaluesresponse>字段,并将该字段封装到的<soap:envelope>报文,最后将该报文返回给httpserver节点。
[0127]
步骤213、httpserver节点收到<soap:envelope>报文,解析出<cwmp:getparametervaluesresponse>字段,将该字段返回给getparamserver节点。
[0128]
步骤214、getparamserver节点收到<cwmp:getparametervaluesresponse>字段,解析子字段<parameterlist>,并进一步解析出<parameterlist>的子字段<parametervaluestruct>,然后从<parametervaluestruct>子字段中解析出参数列表和对应的状态列表。
[0129]
步骤215、getparamserver节点将参数列表和对应的状态列表封装为json数据,并将该数据通过websocket通道发送给webserver节点。
[0130]
步骤216、webserver节点解析收到的json数据,将参数列表和对应的状态列表显示到网页上。
[0131]
如图5所示,本发明提供的基于tr069协议的宽带无线网络管理系统实现setparametervalues报文操作的步骤具体如下:
[0132]
步骤301、httpserver节点调用httpcore库启动http服务器,创建protocolhandler线程在指定的端口监听http请求,等待ap终端发起http连接。
[0133]
步骤302、ap终端向httpserver节点发起http请求,与httpserver节点建立http连接。
[0134]
步骤303、setparamserver节点向zookeeper节点发起连接,读取zookeeper节点上的“root”节点,获得webserver节点的ip和端口信息,然后向webserver节点发起websocket请求,建立双向通路。
[0135]
步骤304、webserver节点向setparamserver节点下发ap终端写操作请求,该请求为json格式,可以表示为:
[0136]
[ap终端id,[paramname1,paramvalue1],[paramname2,paramvalue2]

,
[0137]
[paramnamen,paramvaluen]。
[0138]
步骤305、setparamserver节点收到ap终端写操作请求:
[0139]
[ap终端id,[paramname1,paramvalue1],[paramname2,paramvalue2]

,
[0140]
[paramnamen,paramvaluen];
[0141]
解析出ap终端id和参数列表[[paramname1,paramvalue1],[paramname2,
paramvalue2]

,[paramnamen,paramvaluen]]。
[0142]
步骤306、setparamserver节点向zookeeper节点发起连接,读取zookeeper节点上的“root”节点,获得infoserver节点的ip和端口信息。
[0143]
步骤307、setparamserver节点向infoserver节点发起rpc连接,发送参数“ap终端id”。
[0144]
inform server遍历状态表s,查找key键为ap终端id的元素,如果找到对应的元素,并且该元素的值为“online”,说明该ap终端已在线,则返回给setparam server“ap终端已在线”的信息。
[0145]
步骤308、setparamserver节点收到infoserver节点返回的ap终端已在线”的信息,则创建<parametervaluestruct>字段和<id>字段,将参数列表:
[0146]
[[paramname1,paramvalue1],[paramname2,paramvalue2]

,[paramnamen,param valuen]]
[0147]
封装到<parametervaluestruct>字段,再创建<parameterlist>字段,将<parametervaluestruct>字段插入到<parameterlist>字段中;
[0148]
然后创建<cwmp:setparametervalues>字段,并将<parameterlist>字段插入到<cwmp:setparametervalues>字段;
[0149]
最后将ap终端id封装到<id>字段,并将id字段插入到<cwmp:setparametervalues>字段。
[0150]
步骤309、setparamserver节点向zookeeper节点发起连接,读取zookeeper节点上的“root”节点,获得httpserver节点的ip和端口信息,然后向httpserver节点发起rpc请求,并将<cwmp:setparametervalues>字段发送到httpserver节点。
[0151]
步骤310、httpserver节点解析收到的<cwmp:setparametervalues>字段,解析出ap终端id,并将<id>字段从<cwmp:setparametervalues>字段中删除,然后通过ap终端id查询哈希表h:
[0152]
[<apid_1,httpcontext_1>,<apid_2,httpcontext_2>,

,
[0153]
<apid_n,httpcontext_n>];
[0154]
获得ap终端id对应的httpsession上下文。
[0155]
步骤311、httpserver节点创建<soap:envelope>报文,将<cwmp:setparametervalues>字段插入到<soap:envelope>报文。
[0156]
然后创建<soap:header>报文,将ap终端id封装到<soap:header>报文。
[0157]
最后将<soap:envelope>报文通过http session上下文发送到终端id对应的ap终端。
[0158]
步骤312、终端id对应的ap终端收到<soap:envelope>报文,解析该<soap:envelope>报文,读取报文中的<cwmp:setparametervalues>字段获得参数列表:
[0159]
[[paramname1,paramvalue1],[paramname2,paramvalue2]

,[paramnamen,p aramvaluen]];
[0160]
然后根据参数列表执行写操作命令,接着创建<cwmp:setparametervaluesresponse>字段,将写操作结果保存到<cwmp:setparametervaluesresponse>字段的子字段<status>中;
[0161]
接着将<cwmp:setparametervaluesresponse>字段封装到的<soap:envelope>报文,并将该报文返回给httpserver节点。
[0162]
步骤313、httpserver节点收到<soap:envelope>报文,解析出<cwmp:setparametervaluesresponse>字段,将该字段返回给setparamserver节点。
[0163]
步骤314、setparamserver节点收到<cwmp:setparametervaluesresponse>字段,解析<status>字段,该字段的值表示写操作结果。
[0164]
步骤315、setparamserver节点将ap终端id和<status>字段封装为json数据,并将该数据通过websocket通道发送给webserver节点。
[0165]
步骤316、webserver节点解析收到的json数据,将写操作结果显示到网页上。
[0166]
实施例3
[0167]
本发明实施例提供了一种无线网络管理系统,包括处理器及存储介质;
[0168]
所述存储介质用于存储指令;
[0169]
所述处理器用于根据所述指令进行操作以执行根据实施例2中所述方法的步骤。
[0170]
实施例4
[0171]
本发明实施例提供了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例2中所述方法的步骤。
[0172]
综上,本发明实施例提供的基于tr069协议的宽带无线网络管理系统、方法和存储介质,能够将tr069协议规定的多种报文的处理流程部署到不同的微服务节点上,每一个微服务节点只处理一种操作报文,微服务节点之间通过rpc和websocket进行通讯,减低了实现tr069协议的复杂度,使得宽带无线网络管理系统及方法具备良好的可扩展性,可适用于宽带无线网络的环境下对大规模ap终端进行管理的场景。
[0173]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1