CN118055093A - 基于GDBus模块的FTTR网关设备通信方法、设备和介质 - Google Patents
基于GDBus模块的FTTR网关设备通信方法、设备和介质 Download PDFInfo
- Publication number
- CN118055093A CN118055093A CN202410454206.5A CN202410454206A CN118055093A CN 118055093 A CN118055093 A CN 118055093A CN 202410454206 A CN202410454206 A CN 202410454206A CN 118055093 A CN118055093 A CN 118055093A
- Authority
- CN
- China
- Prior art keywords
- gdbus
- instance
- module
- mib
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000006854 communication Effects 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 title claims abstract description 45
- 230000008859 change Effects 0.000 claims abstract description 106
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000004886 process control Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 238000012544 monitoring process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 22
- 238000007726 management method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 11
- 239000000306 component Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于GDBus模块的FTTR网关设备通信方法、设备和介质,涉及网络通信技术领域。该方法更改了现有的根据固定的协议和接口进行的轮询通信机制,通过在网络设备中进行程序设置,实现对MIB进行实时监测,并在发现变更后及时通过GDBus模块进行通信传输,相对于现有轮询通信机制,效率更高,信息传递更及时。此外,基于GDBus模块与MIB的不同编号规则,对MIB中存在实例序号冲突的动态的进行实例序号分配,生成唯一编号,并映射到对象路径,使得GDBus模块能够准确快速的将变更信息传输给运营商,实现FTTR网关设备通过GDBus模块与运营商之间的及时高效且准确的通信。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种基于GDBus模块的FTTR网关设备通信方法、设备和介质。
背景技术
FTTR(英文全称Fiber to The Room,中文翻译为:光纤到房间)网关设备和GDBus模块的交互通信主要用于网关与运营商之间的信息交换。FTTR网关作为家庭和商业网络的核心组件,负责处理高速数据传输并管理网络配置和状态信息。这些信息通常存储在管理信息库(MIB,英文全称Management Information Base)中,并需要实时更新以保持网络性能和稳定性。
在这个环境中,GDBus模块用作FTTR网关和运营商之间通信的桥梁。它是一种在Linux和Unix系统中广泛使用的应用程序间通信(IPC)机制,允许不同组件通过共享的通道交换信息。然而,在现有的技术实践中,GDBus模块的使用通常限于标准的通信协议和接口,导致通信效率低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请提供了一种基于GDBus模块的FTTR网关设备通信方法、设备和介质,解决了现有技术中GDBus模块通信效率低的技术问题。
一方面,本申请提供了一种基于GDBus模块的FTTR网关设备通信方法,包括:
在GDBus模块接收到FTTR网关设备的管理信息库MIB的变更信息时,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突;其中,所述变更信息为在监测到管理信息库MIB发生变更时获取的,所述变更信息包括MIB表编号table_id和变更内容;
若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号;
所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径,并将所述重新分配的实例序号与所述实例路径形成映射;
所述GDBus模块根据所述重新分配的实例序号和所述实例路径,发送变更通知。
可选地,所述若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配的步骤,包括:
若存在实例序号冲突,所述GDBus模块根据各实例的属性信息,重新对各实例动态分配唯一的序号。
可选地,所述属性信息包括实例类型、实例状态和实例在MIB表中的位置。
可选地,所述GDBus模块中维护有MIB的实例序号构成的数组;所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤,包括:
判断所述变更信息中的实例序号是否存在于所述数组中;
若所述变更信息中的实例序号存在于所述数组中,则存在实例序号冲突;若所述变更信息中的实例序号不存在于所述数组中,则不存在实例序号冲突。
可选地,所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径的步骤之后,还包括:
所述GDBus模块根据所述重新分配的实例序号和所述实例路径,对所述GDBus模块中已存储的全局变量进行更新,所述全局变量用于存储相互映射的历史重新分配的实例序号、table_id和历史实例路径。
可选地,所述变更信息被封装在结构体中;所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤之前,还包括:
通过所述结构体的Magic头,判断所述变更信息是否完整;
所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤,包括:
在所述变更信息完整的情况下,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突。
可选地,在所述GDBus模块接收FTTR网关设备的管理信息库MIB的变更信息之前,还包括:
在监测到管理信息库MIB发生变更时,通过进程控制符pid识别是否为GDBus模块触发的MIB变更;
若是,则不向所述GDBus模块发送所述变更信息。
可选地,所述方法,还包括:
在实时监测到发生网络事件时,获取所述网络事件的属性信息,所述属性信息包括所述网络事件的编号、所述网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度;
将所述网络事件的属性信息发送给所述GDBus模块,所述GDBus模块将所述属性信息与全局变量中的历史数据进行对比,并上报变更通知;其中,所述属性信息包括所述网络事件的编号、所述网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度;所述全局变量存储有所述GDBus模块接收到的关于历史网络事件的历史数据。
再一方面,本申请提供了一种网络设备,包括:存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现前述方法。
再一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述处理器执行所述计算机程序,实现前述方法。
本申请提供一种基于GDBus模块的FTTR网关设备通信方法、设备和介质,该方法包括:在GDBus模块接收到FTTR网关设备的管理信息库MIB的变更信息时,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突;其中,所述变更信息为在监测到管理信息库MIB发生变更时获取的,所述变更信息包括MIB表编号table_id和变更内容;若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号;所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径,并将所述重新分配的实例序号与所述实例路径形成映射;所述GDBus模块根据所述重新分配的实例序号和所述实例路径,发送变更通知。也即,该方法更改了现有的根据固定的协议和接口进行的轮询通信机制,通过在网络设备中进行程序设置,实现对MIB进行实时监测,并在发现变更后及时通过GDBus模块进行通信传输,相对于现有轮询通信机制,效率更高,信息传递更及时。此外,基于GDBus模块与MIB的不同编号规则,对MIB中存在实例序号冲突的动态的进行实例序号分配,生成唯一编号,并映射到对象路径,使得GDBus模块能够准确快速的将变更信息传输给运营商,实现FTTR网关设备通过GDBus模块与运营商之间的及时高效且准确的通信。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络设备的结构示意图;
图2是本申请实施例提供的一种网络系统的结构示意图;
图3是本申请实施例提供的一种基于GDBus模块的FTTR网关设备通信方法的流程示意图;
图4是本申请实施例提供的另一种基于GDBus模块的FTTR网关设备通信方法的流程示意图;
图5是本申请实施例提供的一种基于GDBus模块的FTTR网关设备通信装置的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:在GDBus模块接收到FTTR网关设备的管理信息库MIB的变更信息时,GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突;其中,所述变更信息为在监测到管理信息库MIB发生变更时获取的,所述变更信息包括MIB表编号table_id和变更内容;GDBus模块若存在实例序号冲突,则重新对MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号;GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径,并将所述重新分配的实例序号与所述实例路径形成映射;GDBus模块根据所述重新分配的实例序号和所述实例路径,发送变更通知。
经分析,现有技术中,尽管现有技术提供了FTTR网关设备和GDBus模块间基本的通信框架,但在以下几个方面存在关键问题:
信息交互的局限性:在现有的系统中,GDBus模块与FTTR网关之间的通信通常受限于固定的协议和接口,限制了信息交互的灵活性和及时性,特别是在涉及到网络配置和状态信息更新时。
响应运营商需求的不足:GDBus模块在处理来自FTTR网关的信息时,可能无法充分响应运营商的实时需求,尤其是在网络环境变化或紧急情况发生时。
效率和性能的提升空间:在与运营商的交互通信中,现有的GDBus使用方法可能无法最大化网络效率和性能,特别是在处理大量或复杂数据时。
具体来说,一方面,GDBus模块的设计没有包括主动推送机制,因此不能实时监测MIB的变更,导致信息传递的延迟。这种基于轮询的机制在网络状态快速变化的情况下,无法及时更新运营商管理平台的数据。另一方面,在FTTR网关与运营商的通信过程中,确保信息及时准确传递是一个关键需求。原有系统中,MIB实例的变更需要被映射到GDBus的序号上,单个实例的情况下,编号不会存在序号重复,但多个MIB实例可能导致了信息传递过程中的序号冲突。
当MIB表编号table_id包含多个实例(如多个WAN连接类型)时,不同类型的WAN连接实例在MIB内部可能具有相同的序号。所以,想要把WAN连接映射到GDBus的实例路径上时,存在一个问题:GDBus路径要求每个对象都有一个唯一的标识符。这导致了MIB序号和GDBus路径序号之间的不一致问题。例如,在dbus规范中,所有的WAN(广域网,英语:WideArea Network,缩写为 WAN,又称外网、公网),包括IP WAN(是指DHCP模式的Wan连接 )和PPP WAN(是指PPPoE拨号的Wan连接),它们共同使用一组序号。根据创建的先后顺序,序号依次递增。但是,对于MIB,IP WAN和PPP WAN的数据保存在不相关的2个table_id中,各自拥有一组自己的序号。这就导致,当PPP WAN增加第二条的时候,WAN连接的总个数不一定是二,因为现存的IP WAN的个数也要算进去。因此,基于GDBus模块的FTTR网关与运营商的通信,可能存在实例序号冲突导致无法准确上报变更通知的问题。
为此,本申请提供前述解决方案,该方法更改了现有的根据固定的协议和接口进行的轮询通信机制,通过在网络设备中进行程序设置,实现对MIB进行实时监测,并在发现变更后及时通过GDBus模块进行通信传输,相对于现有轮询通信机制,效率更高,信息传递更及时。此外,基于GDBus模块与MIB的不同编号规则,对MIB中存在实例序号冲突的动态的进行实例序号分配,生成唯一编号,并映射到对象路径,使得GDBus模块能够准确快速的将变更信息传输给运营商,实现FTTR网关设备通过GDBus模块与运营商之间的及时高效且准确的通信。
需要说明的是,GDBus模块指的是FTTR网关和运营商之间交互所使用的通信模块。它是基于D-Bus系统的一种实现,可以设置于FTTR网关设备中,主要用于处理FTTR网关发送的各类消息,包括配置变更和网络事件通知。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的网络设备结构示意图。
如图1所示,该网络设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。
在图1所示的网络设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明网络设备中的处理器1001、存储器1005可以设置在网络设备中,所述网络设备通过处理器1001调用存储器1005中存储的基于GDBus模块的FTTR网关设备通信装置,并执行本申请实施例提供的基于GDBus模块的FTTR网关设备通信方法。
参见图2,本申请的实施例提供了一种网络系统的结构示意图,该网络系统包括FTTR网关设备、FTTR网关设备内的GDBus模块以及通过所述GDBus模块与所述FTTR网关设备通信连接的运营商。
参见图3,本申请的实施例提供了一种基于GDBus模块的FTTR网关设备通信方法,该方法可以基于前述网络设备和网络系统实现,但限于前述网络设备和网络系统实现。
该方法包括:
S301、在GDBus模块接收到FTTR网关设备的管理信息库MIB的变更信息时,GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突;
在具体实施过程中,管理信息库用于存储网络设备的配置和状态信息。在FTTR网关设备中,MIB记录和管理网络设置和性能参数。FTTR翻译为“光纤到房间”技术,即将光纤网络直接延伸到用户的房间或终端位置。此技术提供高带宽和低延迟,适合高速互联网和多媒体应用。
其中,变更信息为在监测到管理信息库MIB发生变更时获取的,所述变更信息包括MIB表编号table_id和变更内容。需要说明的是,table_id是MIB中表对象的编号。发生变更可能发生在任何table_id,这里变更信息中的table_id为发生变更的table_id,变更内容即为对应table_id发生变更的具体内容,例如更改网络设置或更新状态信息,每个table_id可以有多个实例序号。
此外,发生MIB发生变更可能是多种情况产生的,例如,第一种情况:FTTR网关设备的系统通过一系列函数如igdCmConfSet、igdCmConfAdd、igdCmConfDel执行修改或者是发生一些非正常的修改;第二中情况:以及运营商有修改需求时直接通过GDBus模块调用函数进行修改。不管是哪种情况,运营商都需要知道MIB修改情况。因此,FTTR网关设备需要将变更信息传输给运营商。其中,igdCmConfSet、igdCmConfAdd、igdCmConfDel 是编程函数,用于在FTTR网关的MIB中设置、添加或删除配置项。
但是如前所述,在通过GDBus模块传输时,GDBus模块有自己的序号规则,这与MIB的序号规则不同,会产生实例序号冲突,这就导致GDBus模块无法准确识别变更内容,因此,需要判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突。
在一种可选的实施方式中,所述GDBus模块中维护有MIB的实例序号构成的数组;所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤,包括:
判断所述变更信息中的实例序号是否存在于所述数组中;
若所述变更信息中的实例序号存在于所述数组中,则存在实例序号冲突;若所述变更信息中的实例序号不存在于所述数组中,则不存在实例序号冲突。
在具体实施过程中,在数组中实例序号分布在不同的table_id,因此,可以在接收到变更信息时首先查找数组中是否存在相同的table_id,若存在,再通过遍历的方式判断是否存在实例序号的重复,以此来判断是否存在序号冲突。
此外,需要说明的是,除了前述在实例按序添加和删除的时候存在序号冲突,特殊情况下,在下挂设备变动导致特定的MIB内部实例序号不连续或不完整时,还可能会存在进一步序号冲突。例如,下挂设备不停变动,MIB内部实例号不一定还会是完整的1、2、3、4…,有可能2、3都已经被删除了,只剩下1、4、…,但对于下挂设备,为了清晰呈现给运营商,GDBus模块选择使用连续的的实例号1、2、…,中间没有空缺,这种情况下就会出现进阶冲突。
S302、若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号;
在具体实施过程中,GDBus路径要求每个对象都有一个唯一的标识符,而不同实例在MIB内部可能具有相同的序号,因此需要动态的将MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号。
举例来说,还是以PPP WAN和IP WAN为例,不论是PPP WAN还是IP WAN,每增加一条,GDBus实例序号都会增加1,例如:
创建第一条IP WAN,GDBus生成实例序号1:
/com/ctc/igd1/Info/Network/WANConnectionDb/1;
创建第一条PPP WAN,GDBus生成实例序号2:
/com/ctc/igd1/info/Network/WANConnectionDb/2;
再创建第二条IP WAN,GDBus生成实例序号3:
/com/ctc/igd1/Info/Network/WANconnectionDb/3;
对于MIB来说,PPP WAN对应的table_id为IGD_WAN_PPP_CONF,
IP WAN的table_id为IGD_WAN_IP_CONF。
进行上述操作后,IGD WAN IP CONF下有2个实例,对应GDBus的1、3;IGDWAN PPPCONF下有1个实例,对应GDBus的2。
这样就把MIB的编号转化为GDBus的编号,使得GDBus能够正确的识别在MIB中的table_id以及其实例序号情况。
S303、所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径,并将所述重新分配的实例序号与所述实例路径形成映射;
在具体实施过程中,使用这些动态分配的序号,系统构建GDBus模块的对象路径。这确保了即使在MIB表中存在多个相同类型的实例时,每个实例在GDBus中也能被准确地定位和识别。
在一种可选的实施方式中,所述若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配的步骤,包括:
若存在实例序号冲突,所述GDBus模块根据各实例的属性信息,重新对各实例动态分配唯一的序号。
具体的,所述属性信息包括实例类型、实例状态和实例在MIB表中的位置,因此,在对各实例动态分配唯一的序号时,根据实例类型、实例状态和实例在MIB表中的位置进行命名和编号,有利于进行映射和后续的识别。
S304、所述GDBus模块根据所述重新分配的实例序号和所述实例路径,发送变更通知。
在具体实施过程中,GDBus模块可以将变更通知可以是发给运营商的,其中变更通知中可以包括重新分配的实例序号和对应路径。
由此可见,该实施例的方法更改了现有的根据固定的协议和接口进行的轮询通信机制,通过在网络设备中进行程序设置,实现对MIB进行实时监测,并在发现变更后及时通过GDBus模块进行通信传输,相对于现有轮询通信机制,效率更高,信息传递更及时。此外,基于GDBus模块与MIB的不同编号规则,对MIB中存在实例序号冲突的动态的进行实例序号分配,生成唯一编号,并映射到对象路径,使得GDBus模块能够准确快速的将变更信息传输给运营商,实现FTTR网关设备通过GDBus模块与运营商之间的及时高效且准确的通信。
作为一个可选地实施例,所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径的步骤之后,还包括:
所述GDBus模块根据所述重新分配的实例序号和所述实例路径,对所述GDBus模块中已存储的全局变量进行更新,所述全局变量用于存储相互映射的历史重新分配的实例序号、table_id和历史实例路径。
在具体实施过程中,由于全局变量存储相互映射的历史重新分配的实例序号、table_id和历史实例路径,且每次都会更新,因此全局变量的设置一方面可以方便后续接收到变更后进行参考和对比,另一方面,也可以方便GDBus模块在接收到运营商的指令后,从全局变量中准确的定位到MIB的相关内容,甚至是GDBus模块在自己执行MIB修改指令时,也可以从全局变量中准确的定位到MIB的相关内容。
进一步的,为了检验数据的完整性,所述变更信息被封装在结构体中;所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤之前,还包括:
通过所述结构体的Magic头,判断所述变更信息是否完整;
所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤,包括:
在所述变更信息完整的情况下,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突。
在具体实施过程中,所述变更信息还可以包括数据长度,将变更信息封装在结构体确保模块接收到完整且准确的变更信息。
具体的,可以通过结构体的Magic头是否与预设值的相符,如果不符,则说明数据损坏或者被篡改,直接将其丢弃。如果判断没有问题,则会进行下一步,即判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突。
需要说明的是,在FTTR网关设备和GDBus模块之间的通信协议中,Magic头的预设值是通过以下步骤实现的:
静态定义:
Magic头的值是在软件的开发阶段静态定义的。这个值是一个预先选定的、唯一的字节序列,专门用于数据包的验证目的。
系统内嵌:
该值被内嵌于系统的发送和接收逻辑的代码内部。在FTTR网关设备构建消息时,系统自动在消息的头部插入这个Magic头。相应地,在GDBus模块接收消息进行校验时,系统检索并对照同样内嵌的Magic头值进行验证。
协议一致性:
Magic头的值被纳入整个系统的通信协议规范中,确保了所有使用该协议的组件都能够识别和校验Magic头。
不可变性:
一旦设定,Magic头的值在系统运行期间保持不变,除非系统升级或安全更新要求变更。这样做确保了系统对Magic头的一致性和可靠性。
通过这种方式,Magic头的预设值成为了一个关键的安全特征,用于验证从FTTR网关到GDBus模块的每条消息的完整性和未被篡改的状态。
因此,在该实施例中,数据完整性的判断一方面可以避免对损坏数据的无效处理,浪费资源;另一方面,也可以避免损坏数据对后续处理的误导,导致变更通知上报的准确性降低。
作为一个可选地实施例,在所述GDBus模块接收FTTR网关设备的管理信息库MIB的变更信息之前,还包括:
在监测到管理信息库MIB发生变更时,通过进程控制符pid识别是否为GDBus模块触发的MIB变更;
若是,则不向所述GDBus模块发送所述变更信息。
在具体实施过程中,前述实施例已经阐述,MIB发生变更的情况有多种,在本实施例的方案中,如果对于由GDBus模块触发的MIB变更的情况,GDBus模块已经创建了相关实例,其触发的MIB的变更再向GDBus模块发送所述变更信息,则GDBus模块会再次创建相同的实例,造成资源的浪费,也会降低设备的运行效率。
此外,在发送变更信息时可以调用提前设置的send_notify_msg_dbusproxy函数发送给GDBus模块。
需要说明的是,send_notify_msg_dbusproxy函数打包了MIB的table_id、信号ID和配置信息等数据。然后,它通过send函数将这些通知消息(即前述的变更信息)发送到GDBus进程。
其具体执行过程如下:
1、验证MIB table_id:查询记录有相应 table_id的数组,以获取MIBtable_id的索引。
2、构建通知消息:如果获取的索引是有效的,函数将构建一个通知消息结构体。
3、设置基本信息:设置通知消息的基本信息,如Magic头、table_id、信号ID等。
4、提取实例信息:如果信号ID不是MIB_set(MIB设置),且相关的table_id为多实例,函数会从配置信息的数据中提取实例序号并写入通知消息结构体中;如果信号ID信号是MIB_set且数据长度非零,则会将配置信息复制到通知消息的数据部分,用于让GDBus和全局变量对比数据。
5、回调函数调用:如果定义了回调函数,会使用提供的参数调用它。
6、发送通知消息:通过系统的send函数通知消息发送到GDBus。
作为一个可选地实施例,本实施例的方法,还包括:
当变更信息中的信号ID是MIB_set(MIB设置)时,则不存在序号冲突的问题,直接将设置信息和table_id封装为结构体后,发送给GDBus模块。GDBus模块接收到设置信息和table_id,将其与全局变量中的历史数据进行对比,存在不同时上报变更通知,此时上报的信息包括设置信息。
作为一个可选地实施例,参见图4,本实施例的方法,还包括:
S401、在实时监测到发生网络事件时,获取所述网络事件的属性信息,所述属性信息包括所述网络事件的编号、所述网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度;
S402、将所述网络事件的属性信息发送给所述GDBus模块;
S403、所述GDBus模块将所述属性信息与全局变量中的历史数据进行对比,并上报变更通知;其中,所述属性信息包括所述网络事件的编号、所述网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度;所述全局变量存储有所述GDBus模块接收到的关于历史网络事件的历史数据。
在具体实施过程中,在该实施方式中,主要针对MIB以外的事件,例如,系统实时监控诸如局域网口状态变化或设备数量的增减等网络事件。在发送属性信息时可以调用系统已有的send_signal_event_to_dbusproxy函数发送给GDBus模块。
需要说明的是,send_signal_event_to_dbusproxy函数设计用于向GDBus发送网络事件的属性信息。
其功能和目的是构建一个包含网络事件的编号、网络事件的状态、属性信息的信息内容和信息长度的通知消息(即属性信息),然后通过send函数发送这个消息到GDBus。
1、初始化通知消息:函数创建并初始化一个结构体。这个结构体被用作发送的通知消息的容器。
2、复制信息数据:首先会将网络事件的编号、网络事件的状态复制进结构体。如果信息长度非零,函数也会将属性信息的信息内容复制到结构体中。这些参数共同描述了事件的具体情况。
3、发送通知消息:通过系统的send函数通知消息发送到GDBus。
GDBus模块预定义了一系列网络事件的编号及其对应的回调函数。收到网络事件的编号后,GDBus模块会将网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度传递给相应的回调函数。回调函数首先验证消息的完整性,然后根据消息内容与全局变量中记录的数据进行比较。如果数据不一致,回调函数将发出变更通知,并更新全局变量。
在对整个方案进行了详细的解释后,下面对其在实际网络环境中的应用及其优势进行总结:
1、在家庭网络环境中,运营商需要实时了解用户设备的状态,以提供更好的服务和支持。
本实施例的方案能够实现实时状态更新:
当家庭网络中的设备状态发生变化,如Wi-Fi接入点的添加或删除,FTTR网关通过GDBus模块立即通知运营商。这允许运营商迅速了解和响应家庭网络的变化,比如调整网络配置或提供客户支持。
本实施例的方案能够实现MIB序号映射的应用:
在处理多个网络设备时,序号映射机制确保每个设备在GDBus模块中的唯一表示。这使得运营商能够准确识别和管理各个设备,即使在复杂的网络环境中(多个设备对应多个实例的情况)。
2、在商业环境如办公楼或酒店的网络管理对于提供连续不断的服务至关重要。
本实施例的方案能够实现高效的网络管理:
FTTR网关设备能够实时向运营商报告网络配置的更改,如防火墙规则或带宽限制的调整。这种即时的通信机制允许运营商快速响应并更新他们的网络管理系统,保证服务质量。
本实施例的方案能够实现紧急事件响应:
由于本实施例的方案突破了传统的轮询机制,当网络发生紧急事件,如安全威胁或连接故障时,FTTR网关设备能够通过GDBus模块迅速通知运营商。运营商可以立即采取措施,比如重新配置网络或部署安全更新,以最小化服务中断。
总的来说,这些应用实例展示了本发明在使运营商能够实时监控和管理家庭及商业网络环境中的强大能力,特别是在快速传递关键网络信息和处理复杂网络配置方面的效果,从而显著提高了网络管理的效率和服务质量。
基于前述相同的发明构思,参见附图5所示,本申请实施例还提供了一种基于GDBus模块的FTTR网关设备通信装置,包括:
冲突判断模块,用于在GDBus模块接收到FTTR网关设备的管理信息库MIB的变更信息时,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突;其中,所述变更信息为在监测到管理信息库MIB发生变更时获取的,所述变更信息包括MIB表编号table_id和变更内容;
序号分配模块,用于若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号;
路径映射模块,用于所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径,并将所述重新分配的实例序号与所述实例路径形成映射;
通知发送模块,用于所述GDBus模块根据所述重新分配的实例序号和所述实例路径,发送变更通知。
此外,在一种实施例中,本申请还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法的步骤。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光 盘)中,包括若干指令用以使得一台多媒体终端设备(可以是手机,计算机,电视接收机,或者网络设备等)执行本申请各个实施例所述的方法。
以上所揭露的仅为本申请的局部实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种基于GDBus模块的FTTR网关设备通信方法,其特征在于,包括:
在GDBus模块接收到FTTR网关设备的管理信息库MIB的变更信息时,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突;其中,所述变更信息为在监测到管理信息库MIB发生变更时获取的,所述变更信息包括MIB表编号table_id和变更内容;
若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配,使得MIB中的每个实例具有唯一的编号;
所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径,并将所述重新分配的实例序号与所述实例路径形成映射;
所述GDBus模块根据所述重新分配的实例序号和所述实例路径,发送变更通知。
2.根据权利要求1所述的方法,其特征在于,所述若存在实例序号冲突,则所述GDBus模块重新对MIB中实例进行序号分配的步骤,包括:
若存在实例序号冲突,所述GDBus模块根据各实例的属性信息,重新对各实例动态分配唯一的序号。
3.根据权利要求2所述的方法,其特征在于,所述属性信息包括实例类型、实例状态和实例在MIB表中的位置。
4.根据权利要求1所述的方法,其特征在于,所述GDBus模块中维护有MIB的实例序号构成的数组;所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤,包括:
判断所述变更信息中的实例序号是否存在于所述数组中;
若所述变更信息中的实例序号存在于所述数组中,则存在实例序号冲突;若所述变更信息中的实例序号不存在于所述数组中,则不存在实例序号冲突。
5.根据权利要求1所述的方法,其特征在于,所述GDBus模块根据重新分配的实例序号,构建所述GDBus模块的实例路径的步骤之后,还包括:
所述GDBus模块根据所述重新分配的实例序号和所述实例路径,对所述GDBus模块中已存储的全局变量进行更新,所述全局变量用于存储相互映射的历史重新分配的实例序号、table_id和历史实例路径。
6.根据权利要求1所述的方法,其特征在于,所述变更信息被封装在结构体中;所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤之前,还包括:
通过所述结构体的Magic头,判断所述变更信息是否完整;
所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突的步骤,包括:
在所述变更信息完整的情况下,所述GDBus模块根据所述变更信息,判断MIB中实例序号是否与所述GDBus模块存在实例序号冲突。
7.根据权利要求1所述的方法,其特征在于,在所述GDBus模块接收FTTR网关设备的管理信息库MIB的变更信息之前,还包括:
在监测到管理信息库MIB发生变更时,通过进程控制符pid识别是否为GDBus模块触发的MIB变更;
若是,则不向所述GDBus模块发送所述变更信息。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法,还包括:
在实时监测到发生网络事件时,获取所述网络事件的属性信息,所述属性信息包括所述网络事件的编号、所述网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度;
将所述网络事件的属性信息发送给所述GDBus模块,所述GDBus模块将所述属性信息与全局变量中的历史数据进行对比,并上报变更通知;其中,所述属性信息包括所述网络事件的编号、所述网络事件的状态、所述属性信息的信息内容和所述属性信息的信息长度;所述全局变量存储有所述GDBus模块接收到的关于历史网络事件的历史数据。
9.一种网络设备,其特征在于,该网络设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现如权利要求1-8中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410454206.5A CN118055093A (zh) | 2024-04-16 | 2024-04-16 | 基于GDBus模块的FTTR网关设备通信方法、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410454206.5A CN118055093A (zh) | 2024-04-16 | 2024-04-16 | 基于GDBus模块的FTTR网关设备通信方法、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118055093A true CN118055093A (zh) | 2024-05-17 |
Family
ID=91052274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410454206.5A Pending CN118055093A (zh) | 2024-04-16 | 2024-04-16 | 基于GDBus模块的FTTR网关设备通信方法、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118055093A (zh) |
-
2024
- 2024-04-16 CN CN202410454206.5A patent/CN118055093A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11677860B2 (en) | Decentralization processing method, communication proxy, host, and storage medium | |
CN108206847B (zh) | Cdn管理系统、方法及装置 | |
US7136913B2 (en) | Object oriented communication among platform independent systems across a firewall over the internet using HTTP-SOAP | |
US20120297059A1 (en) | Automated creation of monitoring configuration templates for cloud server images | |
EP0762281B1 (en) | Network management with acquisition of formatted dump data from remote process | |
EP2141860B1 (en) | Method for monitoring events in a communication network | |
EP3291592B1 (en) | Monitoring management method and apparatus | |
CN112698838B (zh) | 多云容器部署系统及其容器部署方法 | |
JP5460630B2 (ja) | ネットワークシステム、及び、管理サーバ | |
CN114338687A (zh) | 中间件管理方法和服务器 | |
CN112583630A (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
CN109688011B (zh) | 一种基于OpenStack的agent选择方法及装置 | |
CN118055093A (zh) | 基于GDBus模块的FTTR网关设备通信方法、设备和介质 | |
CN116483519A (zh) | 宿主机和虚拟机的通信控制方法、设备和存储介质 | |
US7007094B1 (en) | Object oriented communications system over the internet | |
CN111143224A (zh) | 桩服务的实现方法、装置、设备及计算机存储介质 | |
CN112714035A (zh) | 监控方法及系统 | |
CN117609973B (zh) | 一种注册中心纳管方法、系统、装置及服务器 | |
KR100901703B1 (ko) | 개방형 비동기 응용 서비스 이벤트 처리 방법 및 이를구현한 개방형 웹서비스 게이트웨이 | |
CN115686573A (zh) | 一种云桌面客户端及其软件升级方法 | |
CN114285863A (zh) | 通过更新执行状态判断装置运作状况的系统及方法 | |
CN117336257A (zh) | 容器间的通信方法及装置、计算机存储介质、电子设备 | |
CN110266720A (zh) | 在线管理服务器资产数据的优化工作方法 | |
CN115955466A (zh) | Ip地址冲突检测方法、装置、设备及存储介质 | |
CN117950591A (zh) | 网关的存储管理方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |