一种电信设备及其内部资源管理方法

文档序号:7927619阅读:131来源:国知局
专利名称:一种电信设备及其内部资源管理方法
技术领域
本发明涉及电信设备技术,具体涉及一种电信设备及其内部资源管理方法。
背景技术
电信系统中设备的可靠性和接入效率主要体现在内部资源的管理模型上。内部资
源的管理模型主要包括内部资源的管理和分配过程。这些资源主要包括内部各种单板、处
理器、端口和链路的信息。内部管理过程主要涉及到资源状态检测和维护、负荷的检测、根
据应用程序的需求分配这些资源以满足相关业务在设备内的处理和故障时候的相关资源
释放过程。资源的分配主要依据配置关系、资源的当前负荷和状态进行。 按照资源分配的选择依据,资源分配通常可以分为静态分配和动态分配两种方
式 静态分配方式主要依据系统的配置规则进行,在系统初始化时就已经配置好连接 规则。其优点是资源分配速度快,规则简单;由于在静态配置中通常按照归属关系将业务处 理单元划给服务的逻辑实体(如在移动通信中按照小区的关系分配业务处理单元),但是 逻辑实体存在服务的忙闲不均问题,这样导致业务处理单元的负载不均;同时由于是静态 配置,当相关业务处理单元故障后将导致原先对应的逻辑实体无法提供服务,或者修改静 态配置关系由其他业务处理单元处理,使得针对故障容错开销较大。 动态分配方式主要依据系统中各资源的动态负载情况,按照一定算法进行,如选 择负荷比较轻的资源提供服务。其优点是可以做到资源分配的均衡性;缺点是资源分配速 率较慢,处理较为复杂。 按照资源的维护信息的集中程序,资源分配通常可以分为集中分配和分布分配两 种方式 集中维护方式下存在一个主控节点保存所有资源的全局信息,资源分配要经过主 控节点进行。其优点是拥有全局信息,可以做到负载均衡和故障处理集中决策;缺点是容易 造成瓶颈。 分布维护方式下不存在主控节点,资源的分配可以在多个节点上进行。其优点是 可以灵活扩容;缺点是故障处理不具备全局观。 为此,如何实现对电信设备的内部资源实现高效的资源管理是当前需要解决的一 个重要问题。

发明内容
本发明提供一种电信设备及其内部资源管理方法,实现对电信设备的内部资源的
高效管理。
为此,本发明提供如下技术方案 —种电信设备,包括普通模块和超级模块,所述普通模块和超级模块按照设备的 机框或机架分为多个组,每组包括一个超级模块、一个或多个普通模块;
5
所述普通模块,用于周期地将自身的状态信息通知到其他相关普通模块,直接获 得或者通过所述超级模块获得其他相关普通模块的状态信息,并根据获得的其他相关普通 模块的状态信息选择业务处理所需的资源; 所述超级模块,用于完成所述普通模块状态的同步、以及资源的过滤和同步。
—种电信设备内部资源管理方法,所述电信设备包括普通模块和超级模块,所述 普通模块和超级模块按照设备的机框或机架分为多个组,每组包括一个超级模块、一个或 多个普通模块,所述方法包括 各普通模块周期地直接获得或者通过所述超级模块获得其他相关普通模块的状 态信息; 各普通模块根据获得的其他相关普通模块的状态信息选择业务处理所需的资源。
本发明电信设备及其内部资源管理方法,结合了内部资源分布式及动态分配的优 点,由各普通模块周期地直接获得或者通过所述超级模块获得其他相关普通模块的状态信 息,并根据获得的其他相关普通模块的状态信息选择业务处理所需的资源,从而可以提高 电信设备内部资源管理和分配效率,实现负荷均衡。本发明电信设备及其内部资源管理方 法具有较强的通用性和扩展性,能够适用于各种应用环境。


图1是本发明实施例电信设备的结构示意图; 图2是本发明实施例电信设备中普通模块的一种结构示意图; 图3是本发明实施例电信设备中超级模块的一种结构示意图; 图4是本发明本发明实施例电信设备内部资源管理方法的流程图; 图5是本发明实施例中资源内部标识的申请源地址和申请目的地址的结构示意
图; 图6是本发明实施例电信设备内部资源管理方法中故障处理的流程。
具体实施例方式
本发明实施例的电信设备及其内部资源管理方法,结合了内部资源分布式及动态 分配的优点,由各普通模块周期地直接获得或者通过所述超级模块获得其他相关普通模块 的状态信息,并根据获得的其他相关普通模块的状态信息选择业务处理所需的资源,从而 可以提高电信设备内部资源管理和分配效率,实现负荷均衡。 为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施 方式对本发明实施例作进一步的详细说明。 参照图l,是本发明实施例电信设备的一种结构示意图 该电信设备100包括普通模块和超级模块,所述普通模块和超级模块按照设备 的机框或机架分为多个组,每组包括一个超级模块、一个或多个普通模块。为了使示意图清 楚,在图中画出了两个超级模块10、20,超级模块IO和普通模块10-1、10-2、10-3属于同一 组,超级模块20和普通模块20-1、20-2属于同一组。当然,需要说明的是,所述超级模块和 普通模块不是静态配置的,而是动态变化的。比如,可以通过自举方式产生各超级模块,自 举规则可以配置,比如初始化过程中先接入的模块作为超级模块;运行中可以调整为负荷较轻的模块为超级模块等。在超级模块故障后,再次自举出一个超级节点。其中,所述普通 模块用于周期地将自身的状态信息通知到其他相关普通模块,直接获得或者通过所述超级 模块获得其他相关普通模块的状态信息,并根据获得的其他相关普通模块的状态信息选择 业务处理所需的资源。所述超级模块,用于完成所述普通模块状态的同步、以及资源的过滤 和同步。 具体到适用于不同应用的电信设备,所述普通模块可以是设备内的控制模块、接 入模块、交换模块或业务模块等。 所述控制模块主要完成信令控制的功能,控制模块可以按照主备+资源池方式组 织和管理。针对应用需求可以将部分控制模块进行1 + 1备份,部分控制模块作为资源池中 的公用资源,具体以何种方式管理需要预先配置。 所述业务模块主要完成电信业务的处理功能。同样,对业务模块也可以按照主备+ 资源池方式组织和管理。针对应用需求将部分业务模块进行1 + 1备份,部分业务模块作为 资源池中的公用资源,具体以何种方式管理需要预先配置。 接入模块主要完成设备与其它网元的连接功能。针对连接到同一目的的接入单元 也可以按照主备+资源池方式组织和管理。 设备中可以规划单独的超级模块也或者可以将此功能指派给控制单元或者交换 单元完成。超级模块主要完成设备内资源的分布管理和同步。为了减少设备的维护开销, 根据设备规模可以规划出若干组,组内资源向组内的超级模块进行资源同步,超级模块负 责向组内的普通模块以及组间的超级模块传送同步信息。组的划分可以采用以机框或机架 等为单位来划分,具体可以依据各模块的处理能力和单板规模。
在具体实现时,各普通模块可以采用如图2所示的结构 该普通模块200包括状态信息发送单元201、状态信息接收单元202和资源选择 单元203。其中 状态信息发送单元201,用于周期地将自身的状态信息通知到其他相关普通模块; 状态信息接收单元202,用于直接获得或者通过所述超级模块获得其他相关普通模块的状 态信息;资源选择单元203,用于根据所述状态信息接收单元获得的其他相关普通模块的 状态信息选择业务处理所需的资源。 在具体实现时,状态信息发送单元201可以根据设备容量来决定自身的状态信息 通知方式,例如,在设备容量小于等于预定值时,周期地将自身的状态信息通知到设备内的 所有普通模块,在设备容量大于预定值时,周期地将自身的状态信息通知到本组的所有普 通模块及超级模块,然后再由超级模块通知到自己本组内的普通模块。当然,本发明实施例 并不仅限于这种实现方式,比如,还可以不考虑设备容量,状态信息发送单元201周期地将 自身的状态信息通知到设备内的所有普通模块。 本发明实施例的普通模块并不仅限于这种结构,还可以有其他不同的实现方式。
相应于图2所示的普通模块的结构方式,超级模块可以采用如图3所示的结构
所述超级模块300包括组内信息接收单元301、生成单元302和信息通知单元 303。其中,组内信息接收单元301用于接收本组内所有普通模块的状态信息;生成单元 302,用于根据组内信息接收单元301收到的本组内所有普通模块的状态信息,生成本组内 低负荷模块列表及本组内所有模块状态信息列表;信息通知单元303,用于通过其他超级模块将生成单元302生成的本组内低负荷模块列表及本组内所有模块状态信息列表通知到所述其他超级模块所在组的所有普通模块。 为了保证资源选择的并行进行,在本发明实施例中,还可以对各资源进行内部标识,即每个普通模块具有一组内部标识,所述内部标识包括申请源地址、申请目的地址、和编号,其中,所述申请源地址表示该资源请求方的地址,申请目的地址表示该资源提供方的地址,编号表示该资源的标识号。 为此,在本发明实施例的普通模块中,还可以设置有标识存储单元(图中未示),用于存储所述普通模块的内部标识,所述内部标识包括申请源地址、申请目的地址、和编号,其中,所述申请源地址表示该资源请求方的地址,申请目的地址表示该资源提供方的地址,编号表示该资源的标识号。 相应地,本发明实施例中的超级模块还可以进一步包括故障通知单元和资源释放处理单元(图中未示)。其中,所述故障通知单元用于在本组的普通模块出现故障后,通知本组内的其他普通模块,并通过其他超级模块通知其他组内的普通模块;所述资源释放处理单元用于在本组的普通模块出现故障后,将所述出现故障的普通模块的内部标识发送到所述超级模块的备份模块。 本发明实施例的电信设备,可以快速地进行资源的分配,从而提高系统接入速度,并且可以实现资源的负荷均衡。进一步地,可以在出现故障后快速释放和替换故障资源,从而提高系统的可靠性和容错性,并可以实现动态扩容。 基于本发明实施例的电信设备的架构,本发明还提供一种电信设备内部资源管理方法。 如图4所示,是本发明实施例电信设备内部资源管理方法的流程图 步骤401,各普通模块周期地直接获得或者通过所述超级模块获得其他相关普通
模块的状态信息。 所述普通模块根据设备应用的环境及各模块实现的功能可以进行不同的划分,比
如对于交换机,可以将其内部的各模块划分为控制模块、业务模块、接入模块、交换模块等。 为了使各普通模块能够实时地了解其他普通模块当前的状态,在设备启动和运行过程中,各普通模块(比如以单板为单位)周期地将自身当前的状态信息通知到其他相关普通模块。 考虑到设备容量的不同,所述各普通模块周期地将自身当前的信状态息通知到其他相关普通模块在具体实现时,可以根据设备的容量采用不同的方式,以使其不会影响业务的处理效率,并提高状态信息通知的效率。 当设备容量小于等于预定值时,各普通模块可以周期地直接将自身的状态信息通知到设备内的所有其他普通模块。 当设备容量大于预定值时,各普通模块只需周期地将自身的状态信息通知到本组的所有普通模块及超级模块;然后由本组的超级模块根据收到的本组内所有普通模块的状态信息,生成本组内低负荷模块列表及本组内所有模块状态信息列表,并通过设备内的其他超级模块将生成的本组内低负荷模块列表及本组内所有模块状态信息列表通知到所述其他超级模块所在组的所有普通模块。
8
步骤402,各普通模块根据获得的其他相关普通模块的状态信息选择业务处理所需的资源。 比如,在设备有多个具有相同功能的业务单元时,业务接入时,相应的接入单元可以根据自己获得的所有业务单元当前的状态信息选择合适的业务单元,比如,选择设备内负荷最轻的业务单元,以使不同业务单元之间实现负荷均衡。 根据不同的应用环境,可以有多种选择方式。比如,各普通模块根据获得的其他相关普通模块的状态信息,将组内空闲资源和组间负荷最轻的资源统一排队,从中选择负荷最轻的资源,即负荷最轻的普通模块;或者各普通模块根据获得的其他相关普通模块的状态信息,优先选择本组内负荷最轻的普通模块,在本组内普通模块最轻负荷超过预定门限后,选择其他组内负荷最轻的普通模块。 为了保证资源选择的并行进行,在本发明实施例中,还可以对各资源进行内部标识,即每个普通模块具有一组内部标识,所述内部标识包括申请源地址、申请目的地址、和编号,其中,所述申请源地址表示该资源请求方的地址,申请目的地址表示该资源提供方的地址,编号表示该资源的标识号。 所述申请源地址和申请目的地址具体可以采用如图5所示的结构,包括以下信息架、框、槽、主备、处理单元、核ID。其中1比特的主备位标明针对该普通模块是否支持应用级的主、备关系,也就是说,对应该普通模块,是否设置了相应的备份模块。当然,所谓主、备关系是相对的。该信息需要静态配置,且为全局所有,即所有普通模块和超级模块均需要知道该信息。 所述编号可以根据对应的普通模块的类型进行更细的划分,比如,可以分为处理资源、端口资源、链路资源;还可以根据是否支持主备关系进行划分例如B1单板(逻辑地址为Bla)的对应备份单板为B2(逻辑地址为B2a),则对于C(逻辑地址为C)单板可以认为CB1** (**为Bl上分配的Id)标识的资源在Bl发生故障后继续可以在CB2**上继续提供服务。这样,可以方便普通模块在选择资源时对不同资源的区分。比如,针对特定的单板有些资源是作为主备分配存在的,而有些资源是作为资源池中的资源存在的,也就是说,可以被任何资源请求方选中。这样,在进行故障处理过程中,可以使资源请求方有效地加以区分,对于存在主备关系的资源予以保留和稽核,对于资源池中的资源则予以释放。具体的故障处理过程将在后面详细描述。 如果超级模块在规定的时间内未收到本组内某普通模块的状态信息,则判断该普通模块出现故障。此时,需要进行资源释放处理。 如图6所示,是本发明实施例电信设备内部资源管理方法中故障处理的流程
步骤601,超级模块发现本组的普通模块出现故障; 步骤602,通知本组内的其他普通模块,并通过其他超级模块通知其他组内的普通模块; 步骤603,收到通知的普通模块根据所述内部标识释放资源,即在本地将分配给该普通模块或者由该普通模块选择的资源释放。 假设单板A (逻辑地址为Aa)故障,单板B (逻辑地址为Ba)通过超级模块获知单板A故障后,则可以认为单板A提供的服务将受影响,无法再提供服务,则BaAa** (**为单板A分配的资源ID)的资源无法再提供服务,需要释放;同时单板B向单板A提供的服务也
9没有使用者了,需要释放出来,即AaBa&&(&&为B单板分配的资源ID)资源也可释放。
资源的释放分为有主备关系单板的故障处理和无主备关系的单板处理,具体如下 对于存在主备用关系的普通模块,在超级模块发现该普通模块故障后,仅将该普通模块的资源发往其备份模块进行稽核。下面对稽核的过程进行举例说明。
例如,对于存在主备关系的单板,一般要求在原主用单板故障后,备份单板将继续提供主用单板所承担的服务,即需要原主用单板上的资源继续在备份单板继续使用。例如单板Bl (逻辑地址为Bla)的对应备份单板为B2 (逻辑地址为B2a),则对于单板C (逻辑地址为C),可以认为CB1**(**为Bl上分配的Id)标识的资源在单板Bl发生故障后继续可以在CB2**上继续提供服务。在单板C发现单板Bl故障后将CB1**发往备份单板B2节点,备份单板B2进行匹配,如果备份单板B2也存在CB1**资源,则说明资源同步成功了 ,系统内资源是一致的,因而可以继续提供服务;如果发现备份单板B2没有该信息,则说明主备同步失败或者没有同步(不是稳态),则为了系统内资源的一致性,需要通知单板C释放CB1**的相关资源,这个过程就是资源稽核过程,目的是为了保证系统内资源的一致性。
所述备份模块按照新的资源地址进行相应处理,从而保证了资源稽核和资源选择的并行过程,保证了快速的故障恢复。对于资源稽核不一致的资源,所述备份模块需要删除资源稽核没有的而在本地存在与之相关的资源,并通知资源请求方删除本地没有而在稽核请求中存在的资源。 对于无主备关系的普通模块,在超级模块或者其他普通模块发现该普通模块故障后,释放与该普通模块相关的资源。假设,单板A(逻辑地址为Aa)故障,单板B(逻辑地址为Ba)通过超级模块获知单板A故障后,则可以认为单板A提供的服务将受影响,无法再提供服务,则BaAa** (**为单板A分配的资源ID)的资源无法再提供服务,需要释放;同时单板B向单板A提供的服务也没有使用者了 ,需要释放出来,即AaBa&&(&&为单板B分配的资
源ID)资源也可释放。相关的如果有使用到8^3**^383&&资源的其他资源也会进行相关
释放或者重新分配替换。 在本发实施例的方法中,超级模块可以通过自举方式产生。比如,在初始化过程中将先接入的一个或多个普通模块作为超级模块;或者在运行过程中将负荷较轻的一个或多个普通模块作为超级模块。而且,当有超级模块出现故障后,重新自举产生一个超级模块代替出现故障的超级模块。 利用本发明实施例的电信设备内部资源管理方法,可以快速地进行资源的分配,
从而提高系统接入速度,并且可以实现资源的负荷均衡。进一步地,可以在出现故障后快速
释放和替换故障资源,从而提高系统的可靠性和容错性,并可以实现动态扩容。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以
通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,
所述的存储介质,如R0M/RAM、磁碟、光盘等。 以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式
对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
一种电信设备,其特征于,包括普通模块和超级模块,所述普通模块和超级模块按照设备的机框或机架分为多个组,每组包括一个超级模块、一个或多个普通模块;所述普通模块,用于周期地将自身的状态信息通知到其他相关普通模块,直接获得或者通过所述超级模块获得其他相关普通模块的状态信息,并根据获得的其他相关普通模块的状态信息选择业务处理所需的资源;所述超级模块,用于完成所述普通模块状态的同步、以及资源的过滤和同步。
2. 根据权利要求1所述的电信设备,其特征在于,所述普通模块包括 状态信息发送单元,用于周期地将自身的状态信息通知到其他相关普通模块; 状态信息接收单元,用于直接获得或者通过所述超级模块获得其他相关普通模块的状态信息;资源选择单元,用于根据所述状态信息接收单元获得的其他相关普通模块的状态信息 选择业务处理所需的资源。
3. 根据权利要求2所述的电信设备,其特征在于,还包括所述状态信息发送单元在设备容量小于等于预定值时,周期地将自身的状态信息通知 到设备内的所有普通模块,在设备容量大于预定值时,周期地将自身的状态信息通知到本 组的所有普通模块及超级模块;所述超级模块包括组内信息接收单元,用于接收本组内所有普通模块的状态信息;生成单元,用于根据所述组内信息接收单元收到的本组内所有普通模块的状态信息, 生成本组内低负荷模块列表及本组内所有模块状态信息列表;信息通知单元,用于通过其他超级模块将所述生成单元生成的本组内低负荷模块列表 及本组内所有模块状态信息列表通知到所述其他超级模块所在组的所有普通模块。
4. 根据权利要求1所述的方法,其特征在于,所述普通模块还包括标识存储单元,用于存储所述普通模块的内部标识,所述内部标识包括申请源地址、 申请目的地址、和编号,其中,所述申请源地址表示该资源请求方的地址,申请目的地址表 示该资源提供方的地址,编号表示该资源的标识号;所述超级模块还包括故障通知单元,用于在本组的普通模块出现故障后,通知本组内的其他普通模块,并通 过其他超级模块通知其他组内的普通模块;资源释放处理单元,用于在本组的普通模块出现故障后,将所述出现故障的普通模块 的内部标识发送到所述超级模块的备份模块。
5. 根据权利要求1所述的电信设备,其特征在于,所述超级模块是通过自举方式产生的。
6. —种电信设备内部资源管理方法,所述电信设备包括普通模块和超级模块,所述普 通模块和超级模块按照设备的机框或机架分为多个组,每组包括一个超级模块、一个或多 个普通模块,其特征在于,所述方法包括各普通模块周期地直接获得或者通过所述超级模块获得其他相关普通模块的状态信息;各普通模块根据获得的其他相关普通模块的状态信息选择业务处理所需的资源。
7. 根据权利要求6所述的方法,其特征在于,所述方法还包括 各普通模块周期地将自身的状态信息通知到其他相关普通模块。
8. 根据权利要求7所述的方法,其特征在于,所述各普通模块周期地将自身当前的信状态息通知到其他相关普通模块包括当设备容量小于等于预定值时,各普通模块周期地将自身的状态信息通知到设备内的 所有其他普通模块。
9. 根据权利要求7所述的方法,其特征在于,所述各普通模块周期地将自身的状态信息通知到其他相关普通模块包括当设备容量大于预定值时,各普通模块周期地将自身的状态信息通知到本组的所有普 通模块及超级模块;本组的超级模块根据收到的本组内所有普通模块的状态信息,生成本组内低负荷模块 列表及本组内所有模块状态信息列表,并通过设备内的其他超级模块将生成的本组内低负 荷模块列表及本组内所有模块状态信息列表通知到所述其他超级模块所在组的所有普通 模块。
10. 根据权利要求6所述的方法,其特征在于,所述各普通模块根据获得的其他相关普 通模块的状态信息选择业务处理所需的资源包括各普通模块根据获得的其他相关普通模块的状态信息,从中选择负荷最轻的普通模 块;或者各普通模块根据获得的其他相关普通模块的状态信息,优先选择本组内负荷最轻的普 通模块,在本组内普通模块最轻负荷超过预定门限后,选择其他组内负荷最轻的普通模块。
11. 根据权利要求io所述的方法,其特征在于,各普通模块具有内部标识,所述内部标识包括申请源地址、申请目的地址、和编号,其 中,所述申请源地址表示该资源请求方的地址,申请目的地址表示该资源提供方的地址,编 号表示该资源的标识号。
12. 根据权利要求11所述的方法,其特征在于,还包括超级模块判断本组的普通模块出现故障后,通知本组内的其他普通模块,并通过其他 超级模块通知其他组内的普通模块;收到通知的普通模块根据所述内部标识释放资源。
13. 根据权利要求12所述的方法,其特征在于,还包括如果超级模块在规定的时间内未收到本组内某普通模块的状态信息,则判断该普通模 块出现故障。
14. 根据权利要求12所述的方法,其特征在于,所述收到通知的普通模块根据所述内 部标识释放资源包括如果出现故障的普通模块有备份模块,则超级节点将所述出现故障的普通模块的内 部标识发送到所述备份模块,所述备份模块对所述出现故障的普通模块的内部标识进行稽 核,并根据稽核结果更新自己的内部标识;如果出现故障的普通模块没有备份模块,则收到通知的普通模块释放与出现故障的普 通模块相关的资源。
15. 根据权利要求14所述的方法,其特征在于,还包括如果所述备份模块对所述出现故障的普通模块的内部标识进行稽核后发现有不一致 的资源,则删除在稽核中没有的而在本地存在的资源,并通知该资源请求方删除本地没有 而在稽核中存在的资源。
16. 根据权利要求6所述的方法,其特征在于,还包括 通过自举方式产生各超级模块;当有超级模块出现故障后,重新自举产生一个超级模块代替出现故障的超级模块。
17. 根据权利要求16所述的方法,其特征在于,所述通过自举方式产生所述超级模块 包括在初始化过程中将先接入的一个或多个普通模块作为超级模块;或者 在运行过程中将负荷较轻的一个或多个普通模块作为超级模块。
全文摘要
本发明公开了一种电信设备及其内部资源管理方法,所述电信设备包括普通模块和超级模块,所述普通模块和超级模块按照设备的机框或机架分为多个组,每组包括一个超级模块、一个或多个普通模块;所述普通模块,用于周期地将自身的状态信息通知到其他相关普通模块,直接获得或者通过所述超级模块获得其他相关普通模块的状态信息,并根据获得的其他相关普通模块的状态信息选择业务处理所需的资源;所述超级模块,用于完成所述普通模块状态的同步、以及资源的过滤和同步。利用本发明,能够对电信设备的内部资源提供高效管理。
文档编号H04L1/22GK101741607SQ20081022576
公开日2010年6月16日 申请日期2008年11月11日 优先权日2008年11月11日
发明者张明龙, 赵欣 申请人:大唐移动通信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1