[0012] 本发明要解决的技术问题是为了克服现有技术中依赖SNMP模块与AgentX实现与PON设备的通信,且现有不存在利用AgentX实现各功能模块之间通信的缺陷,提供一种PON设备中实现通信的方法,具有利用AgentX实现PON设备中各功能模块之间通信的功能。
[0013] 本发明是通过下述技术方案来解决上述技术问题的:
[0014] 本发明提供一种PON设备中实现通信的方法,其特点在于,其包括以下步骤:
[0015] S1、一IDB(Information Database,信息数据库,是VxWorks中的一个组件,VxWorks是美国Wind River System公司(简称风河公司)推出的一个实时操作系统。)接收任一功能模块发送来的第一请求信息,该第一请求信息包括操作指令;
[0016] S2、该IDB接收该第一请求信息后,构建第一消息数据并传输至一主代理,其中该第一消息数据包括该第一请求信息和子代理的操作参数;
[0017] S3、该主代理接收并解析该第一消息数据,判断该第一消息数据对应的子代理,并向该对应的子代理发送一包括该操作指令的第二请求信息;
[0018] S4、该对应的子代理处理该第二请求信息并将获得的响应信息发送至该主代理;
[0019] S5、该主代理构建一包括该响应信息的第二消息数据并传输至该IDB;
[0020] S6、该IDB将该第二消息数据中的该响应信息传输至发送该第一请求信息的功能模块。
[0021] 本方案的实现通信的方法中,通过利用AgentX实现PON设备中各功能模块之间的通信。且因为现有的AgentX只能依赖于SNMP模块才能实现通信,所以,本方案为了能够实现各功能模块之间的通信还增设一IDB,该IDB的设置使得PON设备中的任一功能模块可以实现与PON设备中其它功能模块间的通信。也就是说,本方案不仅实现SNMP模块与PON设备中的其它功能模块间的通信,还可实现其它功能模块之间的通信,如ACL(Access Control List,访问控制列表)模块与QOS(Quality of Service,服务质量)模块之间的通信。
[0022] 在本方案中,该操作指令是指该指令表明需要对一部件进行何种操作,如该操作指令可以为一功能模块需要读取另一功能模块的IP地址的操作指令。该对应的子代理接收并处理包括该操作指令的第二请求信息后,获取该响应信息,该响应信息中包括执行该操作指令获得的信息如获得另一功能模块的IP地址。
[0023] 较佳地,该第一请求信息还包括一子代理名称,在步骤S3中,该主代理解析该第一消息数据,从该第一消息数据中提取出该子代理名称,并向提取出的子代理发送第二请求信息。
[0024] 在该第一请求信息中包括该操作指令和该子代理名称时,该主代理可直接从该第一消息数据中提取出该子代理名称,这样该主代理就知道应该将第二请求信息发送至提取出的子代理。
[0025] 另外,在该第一请求信息中只包括该操作指令时,该主代理接收并解析该第一消息数据以获得该第一消息数据对应的子代理,即根据该第一消息数据中包括的该第一请求信息和该操作参数可知,通过该第一消息数据可唯一地确定一个子代理,即该第一消息数据和子代理之间存在一一对应关系,该主代理在解析该第一消息数据后,就可获得该第一消息数据对应的子代理,这样该主代理就知道应该将第二请求信息发送至唯一确定的子代理。
[0026] 较佳地,在步骤S2和S3中,步骤S2包括:该IDB接收该第一请求信息后,在该IDB的注册区域内查找该第一请求信息对应的注册信息,构建该第一消息数据;
[0027] 步骤S3包括:该主代理解析该第一消息数据,在该主代理的注册区域内查找到该第一消息数据的注册信息后,创建IDB请求与AgentX请求的映射关系,判断该第一消息数据对应的子代理,并向该对应的子代理发送该第二请求信息。
[0028] 在该IDB中存储有注册区域,该注册区域存储有很多注册信息,该注册信息包括子代理的操作参数如对象标识符以及其他的需要注册的信息,该IDB在其注册区域内查找该第一请求信息对应的注册信息,根据查找到的注册信息中的子代理的操作参数以及该操作指令的整合,构建了一个包括子代理的操作参数以及该操作指令的第一消息数据。
[0029] 在该主代理中存储有注册区域,该注册区域存储有很多注册信息,该注册信息包括子代理的操作参数如对象标识符以及其他的需要注册的信息,该主代理在其注册区域内查找该第一消息数据对应的注册信息,根据查找到的注册信息中的子代理的操作参数,创建IDB请求与AgentX请求的映射关系,即根据IDB请求可唯一确定一个具体的子代理。
[0030] 较佳地,该操作参数包括对象标识符、对象名描述字符串、操作类型和值域缓冲区;
[0031] 该第二请求信息还包括对象标识符、对象名描述字符串、操作类型和值域缓冲区。
[0032] 对象标识符(也称为OID)是用于标识对象类或属性的编号,类似于人的身份证号码。对象名描述字符串是指以字符串的形式对对象名进行描述。操作类型包括三种,分别为获取当前对象的数据、设置当前对象的数据和获取下一对象的数据。该主代理解析该第一消息数据后,根据该第一消息数据中的操作参数和操作指令,该主代理可唯一确定指定的子代理和指定的子代理需要执行的何种类型操作以及具体的操作目标。
[0033] 较佳地,在步骤S1之前包括以下步骤:
[0034] SL、子代理向主代理发送注册请求,该主代理在该主代理的注册区域内建立子代理注册的MIB子树;
[0035] SM、该主代理向该IDB发送注册请求,该IDB在该IDB的注册区域内注册子代理的MIB子树。
[0036] 步骤SL的注册过程采用的是现有技术,因此这里就不再阐述。虽然在现有技术中,并未有在IDB中进行注册,但因在IDB中的注册过程(步骤SM)和在主代理中的注册过程相同,因此,这里也不再详细阐述,本领域的技术人员根据主代理中的注册过程可知IDB中的注册过程。
[0037] 较佳地,在步骤SL之前包括以下步骤:
[0038] 子代理向该主代理发送TCP(传输控制协议)连接请求;
[0039] 该主代理接收到该连接请求后,建立TCP连接,并在TCP连接的链表中记录该次TCP连接;
[0040] 子代理向该主代理发送创建会话请求;
[0041] 该主代理接收到该创建会话请求后,建立会话,并在会话链表中记录该次会话。
[0042] 较佳地,该映射关系包括对象标识符、会话ID(身份标识号码)以及当前AgentX请求ID。
[0043] 较佳地,步骤S5包括:该主代理接收到该子代理发送来的该响应信息后,确定发送该第一请求信息至该IDB的功能模块,并删除当前IDB请求与AgentX请求的映射关系。
[0044] 较佳地,该IDB以TCP/IP(传输控制协议/因特网互联协议,又名网络通讯协议)方式、消息队列方式或管道方式接收该主代理发送来的该响应信息。在本方案中,该IDB接收该响应信息的方式选用TCP/IP方式、消息队列方式或管道方式,但本领域的技术人员知道,本方案该IDB接收该响应信息的方式并不局限于上述选用的方式,本领域的技术人员还可采用其它的通信方式实现该IDB对该响应信息的接收。
[0045] 较佳地,该功能模块为SNMP模块、ACL模块或QOS模块。本领域的技术人员应该知道,本方案的功能模块并不局限于上述所列的模块,还可为其它的功能模块,如IGMP(Internet Group Management Protocol,因特网组管理协议)模块。
[0046] 本发明的积极进步效果在于:
[0047] 本发明的实现通信的方法中,通过利用AgentX实现PON设备中各功能模块之间的通信。且因为现有的AgentX只能依赖于SNMP模块才能实现通信,所以,本发明为了能够实现各功能模块之间的通信还增设一IDB,该IDB的设置使得PON设备中的任一功能模块可以实现与PON设备中其它功能模块间的通信。