一种网络故障根源的确定方法及分析装置的制作方法

文档序号:7693280阅读:119来源:国知局
专利名称:一种网络故障根源的确定方法及分析装置的制作方法
技术领域
本发明涉及网络故障诊断系统,尤其涉及一种网络故障根源的确定方法 及分析装置。
背景技术
随着社会经济的发展,企业规模日益扩大,客户分布日益广泛,合作伙 伴日益增多,致使企业网用户的网络规模快速扩大,网络规模的扩大对网络故障的分析定位提出了新的挑战;同时,随着整个行业向着智能化(Smart) 与面向业务(SOA)的方向发展,企业网用户对故障分析的智能化水平、与 业务的绑定能力也提出了更高的要求。现有的网络管理平台大多通过主动轮询的方式来获取被管理设备的状 态,其中通常的处理是查看设备是否可达(即设备是否可以正常通信),如 果设备不可达(即设备不能正常通信),则发出告警。如图l所示的网络系 统中,网络管理平台定期的对交换机A、交换机B、交换机C、交换机D进 行轮询以确认其状态。但这种处理方法中,如果交换机D发生故障不能正 常通信,则由于交换机D和交换机A、交换机B、交换机C、其它网络均有 链路连接,网络管理平台会先后上报四条设备不可达告警和/或四条链路不 通告警,即交换机A、交换机B、交换机C、交换机D不可达告警,和/或 A-D、 B-D、 C-D、 D-其他网络四条链路不通告警。可见,该处理方法中, 一方面会引起不必要的设备不可达和/或链路不通告警,致使用户无法正确 定位发生故障的仅是交换机D;另一方面,如果交换机D连接的网络很大, 则与交换机D有关联的所有下属设备都会上报不可达告警,严重时会引起 事件风暴。此外,对于图l所示的网络系统,若其他网络与网络管理平台之间的链路没有故障,只有交换机D发生故障,则在产生上述四个设备不可达、四条链路不通的情况时,无法获知造成网络管理平台与各交换机之间链路不通的故障根源是交换机D。即在发生众多故障时,不能定位当前链路不通的故 障根源。发明内容有鉴于此,本发明中一方面提供一种网络故障根源的确定方法,另一方 面提供一种网络故障根源的分析装置,以便定位引起链路不通的故障根源。 本发明所提供的网络故障根源的确定方法,包括 对网络中包括设备和/或链路的被监控对象进行故障轮询; 根据轮询结果,将相互之间存在连接关系的故障对象确定为同 一个故障区域;从所确定的故障区域中,根据每个故障对象与其它对象的连接关系,确 定所述故障区域的故障根源。 较佳地,该方法进一步包括较佳地,所述从所确定的故障区域中,根据每个故障对象与其它对象的连接关系,确定所述故障区域的故障根源包括从所确定的故障区域中,将和所述故障区域外的对象有连接关系的故障对 象确定为所述故障区域的怀疑对象集;的故障链路链接的故障设备确定为所述故障区域的故障根源。较佳地,所述根据轮询结果,将相互之间存在连接关系的故障对象确定为一个故障区域包括根据轮询结果,确定由所有故障对象组成的故障集;从所述故障集中,将相互之间存在连接关系的故障对象确定为同 一个故障区域。较佳地,所述根据轮询结果,确定由所有故障对象组成的故障集包括A、 根据轮询结果,将不可达设备和/或不通链路作为故障对象存放于告警集中;B、 将所述告警集中的所有故障对象存放在未处理对象区,并将所述对象的 状态标识为故障,将所述告警集之外的其他对象存放在其他对象区,并将所述 对象的状态标识为未知;C、 从未处理对象区中提取当前对象,如果所述当前对象的状态为故障,则 从所述其他对象区中提取与所述当前对象有链接的所有对象,并将这些对象存 放在未处理对象区,同时将所述当前对象存放在已处理对象区;如果所述当前 对象的状态为未知,则重新测试所述当前对象的状态,如果状态为不可达或不 通,则将所述当前对象存放在未处理对象区,并将所述当前对象的状态更改为 故障,否则,将所述当前对象存放在已处理对象区;D、 判断所述未处理对象区是否为空,如果为空,则将所述已处理对象区 中的故障对象作为故障集,否则,将所述未处理对象区中的下一个对象作为当 前对象,返回执行步骤C。较佳地,步骤A中进一步包括对所述不可达设备和/或不通链路进行告警;所述确定故障根源之后、对故障根源进行告警之前,该方法进一步包括 停止对所述不可达设备和/或不通链路的告警。较佳地,所述确定故障根源之后,该方法进一步包括将所述不可达设备 和/或不通链路与所述故障根源进行故障关联。较佳地,若从所述各故障区域中,确定和所述故障区域外的对象有连接 关系的怀疑对象集为空,该方法进一步包括对全网络故障进行告警。本发明所提供的网络故障根源的分析装置,包括故障轮询模块,用于 对网络中包括设备和/或链路的被监控对象进行故障轮询;此外,该装置还 包括故障区域确定模块,用于根据轮询结果,将相互之间存在连接关系的故障对象确定为同 一个故障区域;故障根源确定模块,用于从所确定的故障区域中,根据每个故障对象与 其它对象的连接关系,确定所述故障区域的故障根源。较佳地,该装置进一步包括告警模块,用于将所述故障根源作为所述故 障区域的区域不可达进行告警。较佳地,所述故障根源确定模块包括怀疑对象集确定子模块,用于从所确定的故障区域中,将和所述故障区域 外的对象有连接关系的故障对象确定为所述故障区域的怀疑对象集;故障根源确定子模块,用于将所述怀疑对象集中的故障设备及所述故障区 域内的与所述怀疑对象集中的故障链路链接的故障设备确定为所述故障区域的 故障根源。较佳地,所述故障区域确定模块包括故障集确定子模块,用于根据轮询结果,确定由所有故障对象组成的故障故障区域确定子模块,用于从所述故障集中,将相互之间存在连接关系的 故障对象确定为同一个故障区域。较佳地,所述故障集确定子模块包括故障处理单元,用于根据轮询结果,将不可达设备和/或不通链路作为故障 对象存放于告警集中;对象调度单元,用于将所述告警集中的所有故障对象存放在未处理对象区, 并将所述对象的状态标识为故障,将所述告警集之外的其他对象存放在其他对 象区,并将所述对象的状态标识为未知;从未处理对象区中提取当前对象,如 果所述当前对象的状态为故障,则从所述其他对象区中提取与所述当前对象有 链接的所有对象,并将这些对象存放在未处理对象区,同时将所述当前对象存 放在已处理对象区;如果所述当前对象的状态为未知,则重新测试所述当前对 象的状态,如果状态为不可达或不通,则将所述当前对象存放在未处理对象区, 并将所述当前对象的状态更改为故障,否则,将所述当前对象存放在已处理对象区;如果未处理对象区不为空,将所述未处理对象区中的下一个对象作为当前对象,并返回执行所述从未处理对象区中提取当前对象的操作,直到未处理对象区为空;故障集确定单元,用于在未处理对象区为空时,将所述已处理对象区中的 故障对象确定为故障集。其中,所述未处理对象区、已处理对象区和其他对象区为堆栈或^^表或 除堆栈和链表之外的其它形式的存储单元。较佳地,所述故障处理单元进一步用于将所述不可达设备和/或不通链路上 报给所述告警模块;所述告警模块进一步用于在对区域不可达进行告警之前,对所述不可达设 备和/或不通链路进行告警。较佳地,所述告警模块进一步用于将所述不可达设备的告警和/或所述 不通链路的告警与所述区域不可达的告警进行故障关联。从上述方案可以看出,本发明中,对网络中由设备和链路构成的被监控 对象进行轮询;根据轮询结果,将相互之间存在连接关系的故障对象确定为 同一个故障区域,进一步地,从所述各故障区域中,根据每个故障对象与其 它对象的连接关系确定故障根源,可见,通过直接从众多故障对象中定位到 故障根源,.从而缩短了故障处理的周期,并且,进一步地,避免了4艮多不必 要的告警。


图1为一种网络系统架构图;图2为本发明中网络故障根源确定方法的实施例的示例性流程图; 图3为图2所示流程中得到故障集的方法流程图; 图4为本发明中网络故障根源分析装置的实施例的示例性结构图; 图5为应用本发明技术方案的一个网络故障根源确定方法的流程图。10具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和 附图,对本发明进一步详细说明。图2为本发明中网络故障根源确定方法的实施例的示例性流程图。如图l所示,该流程包括如下步骤步骤201,对网络中包括设备和/或链路的被监控对象进行故障轮询。 本步骤中的具体操作可与现有技术中的操作一致。步骤202,根据轮询结果,将相互之间存在连接关系的故障对象确定为 同一个故障区域。本步骤中,确定的故障区域可能只有一个,也可能有多个,每个故障区 域内的故障对象之间存在连接关系,而故障区域之间的对象都不存在连接关 系,这里的连接关系通常指通信连接关系。具体实现时,可有多种方法。例 如,可根据轮询过程中故障对象的发生情况进行实时的故障区域划分,举例 说明,若对象l发生故障,接着对象2也发生故障,且对象1和对象2之间 存在连接关系,则可将对象1和对象2确定在一个故障区域中,若之后对象 3也发生故障,但对象3和对象1、对象2之间没有连接关系,则可将对象 3确定在另一个对象区域中。又如也可根据轮询过程中故障对象的发生情 况首先确定一个故障集,之后对该故障集进行故障区域划分,所述故障集可 以是实时记录的故障集,也可以是对实时记录的故障集进行再处理后,得到 的稳定故障集,举例说明,可先将上述发生故障的对象1、对象2和对象3 设置在一个故障集中,之后根据相互之间的连接关系,将对象1和对象2确 定在一个故障区域中,将对象3确定在另 一个故障区域中。步骤203,从所确定的故障区域中,根据每个故障对象与其它对象的连 接关系,确定该故障区域的故障根源。本步骤中,从各故障区域中确定故障根源的方法可有多种,例如,可根据每个故障对象与故障区域内其它对象的连接关系,确定故障区域中与故障链路链接较多的设备作为故障根源。又如,也可根据每个故障对象与故障区域 外其它对象的连接关系,将各故障区域中和所述故障区域外的对象有连接关 系故障对象确定为该故障区域的怀疑对象集,若怀疑对象集不为空,则将所 述怀疑对象集中的故障设备作为故障根源,并且若怀疑对象集中存在链路, 则将链路本身从怀疑对象集中去除,并将与所述链路链接的位于故障区域内 的故障设备确定为该故障区域的故障根源。其中,若怀疑对象集为空,则表示全网故障,可不确定故障根源,而对 全网故障进行告警,或者也可从中确定与故障链路链接较多的设备作为故障 根源。具体实现时,可将区域不可达告警上报给告警模块,由告警模块进行告警 显示。本实施例中,进一步地,还可将所有故障对象(包括不可达设备和/或不通 链路)与故障根源进行故障关联,以方便用户进一步查找其他故障,即用户可 根据该故障根源可进一步查找到与该故障根源有关联的其他故障对象。可见,上述流程中避免了很多不必要的告警,直接定位到故障根源,缩短 了故障处理的周期。图3为图2所示流程步骤202中得到故障集的一种方法流程图,该流程 包括如下步骤步骤301,根据轮询结果,将不可达设备和/或不通链路作为故障对象存放 于告警集中,该告警集即为实时记录的故障集。步骤302,将所述告警集中的所有故障对象存放在未处理对象区,并将所 述对象的状态标识为故障,将所述告警集之外的其他对象存放在其他对象区, 并将所述对象的状态标识为未知。本步骤可在步骤301中发现第一个故障对象的设定时间后执行,该设定时 间可根据实际情况设定,如设定为如10秒等。此外,本步骤也可根据其它标准 确定#^于时刻。步骤303,从未处理对象区中提取当前对象。步骤304,判断所提取的当前对象的状态,如果所述当前对象的状态为故 障,则执行步骤305;否则,执行步骤306。步骤305,从所述其他对象区中提取与所述当前对象有链接的所有对象, 并将这些对象存放在未处理对象区,同时将所述当前对象存放在已处理对象区, 之后执行步骤310。步骤306,重新测试所述当前对象的状态。步骤307,判断所述当前对象的状态是否为不可达或不通,如果是,则执 行步骤308,否则,执行步骤309。步骤308,将所述当前对象存放在未处理对象区,并将所述当前对象的状 态更改为故障,之后执行步骤310。步骤309,将所述当前对象存放在已处理对象区,之后执行步骤310。步骤310,判断所述未处理对象区是否为空,如果为空,则执行步骤311, 否则,将所述未处理对象区中的下一个对象作为当前对象,返回执行步骤 303。步骤311,将所述已处理对象区中的故障对象作为稳定的故障集。 本实施例中,步骤301中可进一步包括在轮询过程中,发现设备不可 达或链路不通时,也可产生设备不可达告警或链路不通告警,具体实现时, 可将此告警上报给告警模块,由告警模块进行告警显示,并在步骤204中对 区域不可达进行告警显示时,停止对这些设备不可达告警和/或链路不通告 警的显示,并将这些设备不可达告警和/或链路不通告警与所述区域不可达 告警进行故障关联,以方便用户进一步查找其他故障。图4为本发明中网络故障根源分析装置的实施例的示例性结构图。如图 4所示,该装置包括故障轮询模块、故障区域确定模块、故障根源确定模 块和告警模块。其中,故障轮询模块用于对网络中由设备和/或链路构成的被监控对象 进行故障轮询。故障区域确定模块用于根据轮询结果,将相互之间存在连接关系的故障 对象确定为同一个故障区域,即确定由故障对象组成的相互之间没有连接关 系而内部故障对象有连接关系的各个故障区域。有些情况下,故障区域可能 只有一个。故障根源确定模块用于从所确定的故障区域中,根据每个故障对象与其 它对象的连接关系,确定该故障区域的故障根源。警。具体实现时,故障根源确定模块可包括怀疑对象集确定子模块和故障 根源确定子模块。其中,怀疑对象集确定子模块,用于从所确定的故障区域中,将和所述 故障区域外的对象有连接关系的故障对象确定为所述故障区域的怀疑对象集。故障根源确定子模块,用于将所述怀疑对象集中的故障设备及所述故障 区域内的与所述怀疑对象集中的故障链路链接的故障设备确定为故障根源。具体实现时,故障区域确定模块可包括故障集确定子模块和故障区域 确定子模块。其中,故障集确定子模块,用于根据轮询结果,确定由所有故障对象组成 的故障集。故障区域确定子模块,用于从所述故障集中,将相互之间存在连接关系 的故障对象确定为同一个故障区域。即将故障集中的故障对象划分为内部有 连接关系、相互之间没有连接关系的故障区域。其中,故障区域可以只有一个。具体实现时,故障集确定子模块可包括故障处理单元、对象调度单元 和故障集确定单元。故障处理单元,用于根据轮询结果,将不可达设备和/或不通链路作为故障 对象存放于告警集中;对象调度单元,用于将所述告警集中的所有故障对象存放在未处理对象区, 并将所述对象的状态标识为故障,将所述告警集之外的其他对象存放在其他对象区,并将所述对象的状态标识为未知;从未处理对象区中提取当前对象,如果所述当前对象的状态为故障,则从所述其他对象区中提取与所述当前对象有 链接的所有对象,并将这些对象存放在未处理对象区,同时将所述当前对象存放在已处理对象区;如果所述当前对象的状态为未知,则重新测试所述当前对 象的状态,如果状态为不可达或不通,则将所述当前对象存放在未处理对象区, 并将所述当前对象的状态更改为故障,否则,将所述当前对象存放在已处理对 象区;如果未处理对象区不为空,将所述未处理对象区中的下一个对象作为当 前对象,并返回执行所述从未处理对象区中提取当前对象的操作,直到未处理 对象区为空;故障集确定单元,用于在未处理对象区为空时,将所述已处理对象区中 的故障对象确定为故障集。进一步地,故障处理单元还可将所述不可达设备和不通链路上报给所述 告警模块,则告警模块在对区域不可达进行告警之前,可对所述不可达设备 和不通链路进行告警。进一步地,告警模块还可将所述不可达设备的告警和 所述不通链路的告警与所述区域不可达的告警进行故障关联。实现应用中,图4所示装置中各模块的具体操作可与图2和图3所示流 程中描述的相应操作一致。下面以图1所示系统为例,对应用本发明技术方案时的一个网络故障才艮 源确定实例进行详细描述。参见图5,图5为应用本发明技术方案时的一个网络故障告警方法流程 图。该流程包括如下步骤步骤501,系统正常对所有被监控设备、链路进行轮询,发现设备D发 生故障,将D放入告警集中。步骤502,系统以告警集为中心,轮询链路A-D、 B-D、 C-D、 D-其他 网络,发现这些链路不通,将其全部加入告警集中,同时发送A-D、 B-D、C-D、 D-其他网络的链路不通告警。步骤503,系统主动轮询A-D、 B-D、 C-D、 D-其他网络的链路的链接 设备A、 B、 C,发现A、 B、 C不可达,将其加入告警集中。步骤504,系统执行图3所示步骤302至步骤311的操作,得到稳定的 故障集(A、 B、 C、 D、 A-D、 B-D、 C-D、 D-其他网络}。步骤505,由于上述故障集中的故障对象之间均有连接关系,因此得到 由上述故障集构成的 一 个故障区域。步骤506 ,从上述故障区域中确定和该故障区域外的对象有连接关系的 怀疑对象集,得到{0-其他网络}。步骤507,由于D-其他网络是一条链路,因此将该链路本身从怀疑对象 集中去除,并将与该链路链接的位于上述故障区域内的故障设备D确定为 故障根源。步骤508,将该故障根源D作为上述故障区域的区域不可达进行告警, 并将A-D、 B-D、 C-D、 D-其他网络的链路不通告警与该区域告警进行故障 关联。通过告警关联技术,用户可以快速定位故障设备,缩短故障处理的周期, 从而从根本上提高企业对网络的投资效益比,方便用户在网络上开展各项业务。本发明中的技术方案除了可应用于企业网外,也可以应用于其它局域网。以上所述的具体实施例,对本发明的目的、^支术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种网络故障根源的确定方法,其特征在于,该方法包括对网络中包括设备和/或链路的被监控对象进行故障轮询;根据轮询结果,将相互之间存在连接关系的故障对象确定为同一个故障区域;从所确定的故障区域中,根据每个故障对象与其它对象的连接关系,确定所述故障区域的故障根源。
2、 如权利要求l所述的方法,其特征在于,该方法进一步包括
3、 如权利要求2所述的方法,其特征在于,所述从所确定的故障区域中, 根据每个故障对象与其它对象的连接关系,确定所述故障区域的故障根源包括从所确定的故障区域中,将和所述故障区域外的对象有连接关系的故障对 象确定为所述故障区域的怀疑对象集;的故障链路链接的故障设备确定为所述故障区域的故障根源。
4、 如权利要求2所述的方法,其特征在于,所述根据轮询结果,将相互之 间存在连接关系的故障对象确定为 一个故障区域包括根据轮询结果,确定由所有故障对象组成的故障集;从所述故障集中,将相互之间存在连接关系的故障对象确定为同一个故障 区域。
5、 如权利要求4所述的方法,其特征在于,所述根据轮询结果,确定由所 有故障对象组成的故障集包括A、 根据轮询结果,将不可达设备和/或不通链路作为故障对象存放于告警 集中;B、 将所述告警集中的所有故障对象存放在未处理对象区,并将所述对象的 状态标识为故障,将所述告警集之外的其他对象存放在其他对象区,并将所述对象的状态标识为未知;c、从未处理对象区中提取当前对象,如果所述当前对象的状态为故障,则从所述其他对象区中提取与所述当前对象有链接的所有对象,并将这些对象存放在未处理对象区,同时将所述当前对象存放在已处理对象区;如果所述当前 对象的状态为未知,则重新测试所述当前对象的状态,如果状态为不可达或不 通,则将所述当前对象存放在未处理对象区,并将所述当前对象的状态更改为 故障,否则,将所述当前对象存放在已处理对象区;D、判断所述未处理对象区是否为空,如果为空,则将所述已处理对象区 中的故障对象作为故障集,否则,将所述未处理对象区中的下一个对象作为当 前对象,返回4丸行步骤C。
6、 如权利要求5所述的方法,其特征在于,步骤A中进一步包括对所 述不可达设备和/或不通链路进行告警;所述确定故障根源之后、对故障根源进行告警之前,该方法进一步包括 停止对所述不可达设备和/或不通链路的告警。
7、 如权利要求6所述的方法,其特征在于,所述确定故障根源之后,该方 法进一步包括将所述不可达设备和/或不通链路与所述故障根源进行故障关 联。
8、 如权利要求2至7中任一项所述的方法,其特征在于,若从所述各故障 区域中,确定和所述故障区域外的对象有连接关系的怀疑对象集为空,该方法 进一步包括对全网络故障进行告警。
9、 一种网络故障根源的分析装置,包括故障轮询模块,用于对网络中包 括设备和/或链路的被监控对象进行故障轮询;其特征在于,该装置还包括故障区域确定模块,用于根据轮询结果,将相互之间存在连接关系的故障 对象确定为同 一个故障区域;故障根源确定模块,用于从所确定的故障区域中,根据每个故障对象与其 它对象的连接关系,确定所述故障区域的故障根源。
10、 如权利要求9所述的装置,其特征在于,该装置进一步包括告警模块,用于将所述故障根源作为所述故障区域的区域不可达进行告警。
11、 如权利要求IO所述的装置,其特征在于,所述故障根源确定模块包括 怀疑对象集确定子模块,用于从所确定的故障区域中,将和所述故障区域外的对象有连接关系的故障对象确定为所述故障区域的怀疑对象集;故障根源确定子模块,用于将所述怀疑对象集中的故障设备及所述故障区 域内的与所述怀疑对象集中的故障链路链接的故障设备确定为所述故障区域的 故障根源。
12、 如权利要求IO所述的装置,其特征在于,所述故障区域确定模块包括 故障集确定子模块,用于根据轮询结果,确定由所有故障对象组成的故障集;故障区域确定子模块,用于从所述故障集中,将相互之间存在连接关系的 故障对象确定为同一个故障区域。
13、 如权利要求12所述的装置,其特征在于,所述故障集确定子模块包括 故障处理单元,用于根据轮询结果,将不可达设备和/或不通链路作为故障对象存放于告警集中;对象调度单元,用于将所述告警集中的所有故障对象存》文在未处理对象区, 并将所述对象的状态标识为故障,将所述告警集之外的其他对象存放在其他对 象区,并将所述对象的状态标识为未知;从未处理对象区中提取当前对象,如 果所述当前对象的状态为故障,则从所述其他对象区中提取与所述当前对象有 链接的所有对象,并将这些对象存放在未处理对象区,同时将所述当前对象存 放在已处理对象区;如果所述当前对象的状态为未知,则重新测试所述当前对 象的状态,如果状态为不可达或不通,则将所述当前对象存放在未处理对象区, 并将所述当前对象的状态更改为故障,否则,将所述当前对象存放在已处理对 象区;如果未处理对象区不为空,将所述未处理对象区中的下一个对象作为当 前对象,并返回执行所述从未处理对象区中提取当前对象的操作,直到未处理 对象区为空;故障集确定单元,用于在未处理对象区为空时,将所述已处理对象区中的故障对象确定为故障集。
14、 如权利要求13所述的装置,其特征在于,所述未处理对象区、已处理 对象区和其他对象区为堆栈或链表或除堆栈和链表之外的其它形式的存储单 元。
15、 如权利要求13所述的装置,其特征在于,所述故障处理单元进一步用 于将所述不可达设备和/或不通链路上报给所述告警模块;所述告警模块进一步用于在对区域不可达进行告警之前,对所述不可达设 备和/或不通链路进行告警。
16、 如权利要求15所述的装置,其特征在于,所述告警模块进一步用于将 所述不可达设备的告警和/或所述不通链路的告警与所述区域不可达的告警进 行故障关联。
全文摘要
本发明公开了一种网络故障根源的确定方法及分析装置。其中,方法包括对网络中包括设备和链路的被监控对象进行故障轮询;根据轮询结果,将相互之间存在连接关系的故障对象确定为同一个故障区域;从所确定的故障区域中,根据每个故障对象与其它对象的连接关系,确定所述故障区域的故障根源。本发明所公开的技术方案,能够定位引起网络故障的故障根源,避免不必要的告警。
文档编号H04L12/26GK101252477SQ200810102858
公开日2008年8月27日 申请日期2008年3月27日 优先权日2008年3月27日
发明者丁文涛 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1