运维任务执行方法、装置、运维服务器及计算机存储介质与流程

文档序号:24646222发布日期:2021-04-13 15:15阅读:125来源:国知局
运维任务执行方法、装置、运维服务器及计算机存储介质与流程

1.本发明属于计算机技术领域,尤其涉及一种运维任务执行方法、装置、运维服务器及计算机存储介质。


背景技术:

2.目前,电信运营商对于一些周期性、重复性的运维作业,基于运维脚本实现自动化运维或半自动化运维。传统的基于运维脚本实现自动化运维方法为:根据业务特征,将命令、脚本、设备、作业、作业组、运维任务和运维任务组按照相互之间的关系形成业务对象模型,建立日常的维护计划运维任务,按照运维任务的执行时间和接力式运维任务优先级顺序对日常维护运维任务进行调度执行,获取并返回执行结果。
3.但是,运维服务器和执行设备组成的系统在基于接力式运维任务优先级顺序(例如,开始

a子运维任务

b子运维任务

c子运维任务

结束)进行运维任务执行至某一子运维任务(例如,b子运维任务)时,若遇到未知但无关紧要的错误,此时所配置的运维任务无法自动决策跳过无关紧要的错误继续往下执行,而是停止执行该子运维任务并提供报错日志。虽然该子运维任务停止执行,但占据的资源连接并未得到释放,只能等待运维人员手动结束运维任务并释放资源连接。而且,由于该子运维任务停止执行,后续子运维任务也无法继续往下执行,导致运维任务执行效率低下。
4.因此,如何提高运维任务执行效率是本领域技术人员亟需解决的技术问题。


技术实现要素:

5.本发明实施例提供一种运维任务执行方法、装置、运维服务器及计算机存储介质,能够提高运维任务执行效率。
6.第一方面,提供了一种运维任务执行方法,应用于运维服务器,包括:
7.根据目标运维任务的运维任务信息,确定目标运维任务中各个子运维任务的执行设备;其中,目标运维任务由各个子运维任务依据预设多叉树运维任务执行顺序确定;
8.基于预设多叉树运维任务执行顺序,将目标运维任务中的第一子运维任务发送至第一子运维任务对应的第一执行设备执行,并获取第一执行结果;
9.将第一执行结果与预判条件进行匹配,确定第一子运维任务分支下的第二子运维任务;其中,第二子运维任务通过与第一执行结果匹配成功的预判条件关联于第一子运维任务;
10.将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束。
11.可选地,将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束,包括:
12.确定第二执行设备是第一执行设备;
13.使用第一子运维任务的资源连接将第二子运维任务发送至第一执行设备并获取
第二执行结果,能够减少资源连接的使用。
14.可选地,根据目标运维任务的运维任务信息,确定目标运维任务中各个子运维任务的执行设备之前,该运维任务执行方法还包括:
15.在固化目标运维场景的运维流程脚本后,根据多叉树运维任务配置指令配置多叉树运维任务,包括对运维任务基础信息的配置、对多叉树分支点的配置和对各个子运维任务的配置,对多叉树分支点的配置包括对预判条件的配置;
16.将配置后的各个子运维任务依据预设多叉树运维任务执行顺序进行编排,得到目标运维任务,能够减少运维任务执行过程中故障的发生。
17.可选地,该运维任务执行方法还包括:
18.显示指令执行结果、指令执行结果与预判条件的匹配结果及运维任务执行日志,能够便于用户实时查看运维任务的执行进程;其中,指令执行结果包括第一执行结果和第二执行结果。
19.可选地,将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束之后,该运维任务执行方法还包括:
20.生成运维任务结束触发指令;
21.根据运维任务结束触发指令,释放各个执行设备的资源连接,能够避免相关技术中人为手动释放资源连接。
22.第二方面,提供了一种运维任务执行方法,应用于执行设备,包括:
23.接收运维服务器发送的子运维任务;
24.执行子运维任务得到执行结果,并将执行结果发送至运维服务器。
25.可选地,执行子运维任务得到执行结果,并将执行结果发送至运维服务器,包括:
26.获取子运维任务的命令或脚本;
27.根据命令或脚本,分布式执行子运维任务得到执行结果,并将执行结果发送至运维服务器。
28.第三方面,提供了一种运维任务执行装置,包括:
29.执行设备确定模块,用于根据目标运维任务的运维任务信息,确定目标运维任务中各个子运维任务的执行设备;其中,目标运维任务由各个子运维任务依据预设多叉树运维任务执行顺序确定;
30.第一执行结果获取模块,用于基于预设多叉树运维任务执行顺序,将目标运维任务中的第一子运维任务发送至第一子运维任务对应的第一执行设备执行,并获取第一执行结果;
31.第二子运维任务确定模块,用于将第一执行结果与预判条件进行匹配,确定第一子运维任务分支下的第二子运维任务;其中,第二子运维任务通过与第一执行结果匹配成功的预判条件关联于第一子运维任务;
32.第二执行结果获取模块,用于将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束。
33.可选地,第二执行结果获取模块,包括:
34.执行设备确定单元,用于确定第二执行设备是第一执行设备;
35.第二执行结果获取单元,用于使用第一子运维任务的资源连接将第二子运维任务
发送至第一执行设备并获取第二执行结果。
36.可选地,该运维任务执行装置还包括:
37.多叉树运维任务配置模块,用于在固化目标运维场景的运维流程脚本后,根据多叉树运维任务配置指令配置多叉树运维任务,包括对运维任务基础信息的配置、对多叉树分支点的配置和对各个子运维任务的配置,对多叉树分支点的配置包括对预判条件的配置;
38.目标运维任务确定模块,用于将配置后的各个子运维任务依据预设多叉树运维任务执行顺序进行编排,得到目标运维任务。
39.可选地,该运维任务执行装置还包括:
40.显示模块,用于显示指令执行结果、指令执行结果与预判条件的匹配结果及运维任务执行日志;其中,指令执行结果包括第一执行结果和第二执行结果。
41.可选地,该运维任务执行装置还包括:
42.运维任务结束触发指令生成模块,用于生成运维任务结束触发指令;
43.资源连接释放模块,用于根据运维任务结束触发指令,释放各个执行设备的资源连接。
44.第四方面,提供了一种运维服务器,设备包括:处理器以及存储有计算机程序指令的存储器;
45.处理器执行计算机程序指令时实现第一方面的运维任务执行方法。
46.第五方面,提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现第一方面和第二方面的运维任务执行方法。
47.本发明实施例的运维任务执行方法、装置、运维服务器及计算机存储介质,能够提高运维任务执行效率。该运维任务执行方法基于预设多叉树运维任务执行顺序,将第一子运维任务发送至第一执行设备执行,并获取第一执行结果;将第一执行结果与预判条件进行匹配,确定第一子运维任务分支下的第二子运维任务;再将该第二子运维任务发送至第二执行设备执行,并获取第二执行结果,以此类推,直至目标运维任务执行结束。可见,该方法将任一子运维任务的执行结果与预判条件进行匹配,确定该子运维任务分支下的子运维任务,避免了相关技术中由于遇到未知但无关紧要的错误而导致运维任务执行停止,提高了运维任务执行效率。
附图说明
48.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1是本发明一个实施例提供的一种运维任务执行方法的流程示意图;
50.图2是本发明一个实施例提供的一种目标运维任务执行流程示意图;
51.图3是本发明一个实施例提供的一种运维任务执行装置的结构示意图;
52.图4是本发明一个实施例提供的运维服务器的结构示意图。
具体实施方式
53.下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
54.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
55.为了解决现有技术问题,本发明实施例提供了一种运维任务执行方法、装置、运维服务器及计算机存储介质。下面首先对本发明实施例所提供的运维任务执行方法进行介绍。图1是本发明一个实施例提供的一种运维任务执行方法的流程示意图,如图1所示,该运维任务执行方法应用于运维服务器,包括:
56.s101、根据目标运维任务的运维任务信息,确定目标运维任务中各个子运维任务的执行设备;其中,目标运维任务由各个子运维任务依据预设多叉树运维任务执行顺序确定。
57.目标运维任务通常是依据具体的运维场景确定的运维任务,对于每一个运维场景都有其运维任务信息,根据该运维任务信息,可以确定目标运维任务中各个子运维任务的执行设备。每个子运维任务都有其对应的执行设备,不同的子运维任务的执行设备可以是同一个执行设备,也可以分别是多个不同的执行设备。目标运维任务由各个子运维任务依据预设多叉树运维任务执行顺序确定,具体可以通过可视化网页端依据预设多叉树运维任务执行顺序编排各个子运维任务而确定,该预设多叉树运维任务执行顺序反映了各个子运维任务之间的优先级和关联关系。进一步地,该预设多叉树运维任务执行顺序具体可以为三叉树运维任务执行顺序,也可以是二叉树运维任务执行顺序。
58.示例性的,在依据二叉树运维任务执行顺序确定目标运维任务的过程中,可以跨设备(主机、网络设备等)编排各个子运维任务而确定目标运维任务,实现对应运维场景下的一次编排多次使用,无需反复人工配置多次运维任务,避免了多次来回切换任务执行环境。
59.s102、基于预设多叉树运维任务执行顺序,将目标运维任务中的第一子运维任务发送至第一子运维任务对应的第一执行设备执行,并获取第一执行结果。
60.在确定了各个子运维任务的执行设备后,基于预设多叉树运维任务执行顺序,将第一子运维任务发送至对应的第一执行设备,具体可以是运维服务器的任务引擎通过资源连接将第一子运维任务发送至对应的第一执行设备。第一执行设备接收运维服务器发送的第一子运维任务,再执行第一子运维任务得到第一执行结果,并将第一执行结果发送至运
维服务器。该第一执行结果可以是第一子运维任务执行完成的结果,也可以是在执行第一子运维任务过程中的出现的未知但无关紧要的错误或故障,在此对于第一执行结果不作具体限定。
61.其中,上述执行第一子运维任务得到第一执行结果,并将第一执行结果发送至运维服务器,通常可以包括:获取第一子运维任务的命令或脚本;进一步地,该第一子运维任务的命令或脚本可以利用指令引擎获取;根据命令或脚本,分布式执行第一子运维任务得到第一执行结果,并将第一执行结果发送至运维服务器。第一执行设备分布式执行第一子运维任务,具体可以通过第一执行设备中的多个节点并发执行该第一子运维任务,能够提高运维任务执行效率。
62.s103、将第一执行结果与预判条件进行匹配,确定第一子运维任务分支下的第二子运维任务;其中,第二子运维任务通过与第一执行结果匹配成功的预判条件关联于第一子运维任务。
63.在获取第一执行结果后,将该第一执行结果与预判条件进行匹配,具体可以是第一执行结果和预判条件的相似度的匹配。每一个预判条件可以是预先判定的执行结果,这些预判条件都关联着一个子运维任务,一旦第一执行结果与某个预判条件匹配成功,则该预判条件关联的子运维任务即为第二子运维任务,该第二子运维任务就是接下来要执行的子运维任务。
64.在一个实施例中,若第一执行结果是第一子运维任务执行完成的结果,则将该运维任务执行完成的结果与多种预判条件进行相似度匹配,将相似度最高的预判条件作为与第一执行结果匹配成功的预判条件,并将该预判条件关联的子运维任务作为第二子运维任务。
65.在另一个实施例中,若第一执行结果是在执行第一子运维任务过程中的出现的未知但无关紧要的错误或故障,则可以将该错误或故障在对应的错误表或故障表中匹配查询,进而确定第二子运维任务。
66.s104、将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束。
67.由于步骤s101中已经确定了目标运维任务中各个子运维任务的执行设备,故可以在确定第二子运维任务后,将第二子运维任务发送至第二执行设备执行并获取第二执行结果。该第二执行设备与第一执行设备可以分别是不同的执行设备,也可以是同一个执行设备。第二执行设备接收运维服务器发送的第二子运维任务,再执行第二子运维任务得到第二执行结果,并将第二执行结果发送至运维服务器。
68.其中,第二执行设备执行第二子运维任务得到第二执行结果,并将第二执行结果发送至运维服务器,具体可以包括:第二执行设备利用指令引擎获取第二子运维任务的命令或脚本;根据命令或脚本,分布式执行第二子运维任务得到第二执行结果,并将第二执行结果发送至运维服务器。第二执行设备分布式执行第二子运维任务,具体可以通过第二执行设备中的多个节点并发执行该第二子运维任务,能够提高运维任务执行效率。
69.可以理解的是,运维服务器在获取第二执行结果后,将该第二执行结果与预判条件进行匹配,确定第二子运维任务分支下的第三子运维任务,再将该第三子运维任务发送至第三执行设备执行并获取第三执行结果
……
,以此类推,直至目标运维任务执行结束。
70.由上文可知,预设多叉树运维任务执行顺序可以是二叉树运维任务执行顺序,故目标运维任务是各个子运维任务依据二叉树运维任务执行顺序确定。如图2所示,图2是本发明一个实施例提供的一种目标运维任务执行流程示意图,由图2可知,先是执行第一子运维任务得到第一执行结果,然后在二叉树分支点1处将第一执行结果与预判条件进行匹配,确定第二子运维任务(子运维任务1或子运维任务2);若第二子运维任务为子运维任务1,则执行该子运维任务1得到第二执行结果,直接结束;若第二子运维任务为子运维任务2,则执行该子运维任务2得到第二执行结果,然后在二叉树分支点2处将第二执行结果与预判条件进行匹配,确定第三子运维任务,最后在执行该第三子运维任务得到第三执行结果后结束。
71.综上,该方法将任一子运维任务的执行结果与预判条件进行匹配,自动根据匹配结果确定该子运维任务分支下的子运维任务,能够避免了相关技术中由于遇到未知但无关紧要的错误而导致运维任务执行停止,进而提高了运维任务执行效率。
72.为了减少资源连接的使用,在一个实施例中,上述将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束,通常可以包括:确定第二执行设备是第一执行设备;使用第一子运维任务的资源连接将第二子运维任务发送至第一执行设备并获取第二执行结果。可以理解的是,当第一执行设备、第二执行设备、第三执行设备

第n执行设备为同一执行设备时,使用同一资源连接发送第一子运维任务、第二子运维任务、第三子运维任务

第n子运维任务,可以极大减少资源连接的使用。
73.进一步地,为了避免相关技术中人为手动释放资源连接,在一个实施例中,在将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束之后,通常还可以包括:生成运维任务结束触发指令;根据运维任务结束触发指令,释放各个执行设备的资源连接。
74.由于日常的运维工作具有周期性和重复性,故可以根据日常的运维工作场景进行运维流程分析,将对应运维步骤的执行命令或脚本模块化,即固化各运维流程脚本。进一步地,为了减少运维任务执行过程中故障的发生,在上述根据目标运维任务的运维任务信息,确定目标运维任务中各个子运维任务的执行设备之前,通常还可以包括:在固化目标运维场景的运维流程脚本后,根据多叉树运维任务配置指令配置多叉树运维任务,包括对运维任务基础信息的配置、对多叉树分支点的配置和对各个子运维任务的配置,对多叉树分支点的配置包括对预判条件的配置;将配置后的各个子运维任务依据预设多叉树运维任务执行顺序进行编排,得到目标运维任务。
75.示例性的,当多叉树运维任务具体为二叉树运维任务时,配置二叉树运维任务包括对运维任务基础信息的配置、对二叉树分支点的配置和对各个子运维任务的配置;其中,对运维任务基础信息的配置包括但不限于对任务名称、任务总步骤、执行时间、任务用途等信息的配置;对二叉树分支点的配置包括但不限于对二叉树模块名称、脚本、预判条件、关联各子任务等信息的配置;对各个子运维任务的配置包括但不限于对命令、脚本、设备对象、端口号等信息的配置。
76.为了便于用户实时查看运维任务的执行进程,在一个实施例中,可以在可视化网页端显示指令执行结果、指令执行结果与预判条件的匹配结果及运维任务执行日志;其中,指令执行结果包括第一执行结果和第二执行结果。
77.下面对本发明实施例提供的一种运维任务执行装置、运维服务器及计算机存储介
质进行介绍,下文描述的运维任务执行装置、运维服务器及计算机存储介质与上文描述的运维任务执行方法可相互对应参照。图3是本发明一个实施例提供的一种运维任务执行装置的结构示意图,如图3所示,该运维任务执行装置,包括:
78.执行设备确定模块301,用于根据目标运维任务的运维任务信息,确定目标运维任务中各个子运维任务的执行设备;其中,目标运维任务由各个子运维任务依据预设多叉树运维任务执行顺序确定;
79.第一执行结果获取模块302,用于基于预设多叉树运维任务执行顺序,将目标运维任务中的第一子运维任务发送至第一子运维任务对应的第一执行设备执行,并获取第一执行结果;
80.第二子运维任务确定模块303,用于将第一执行结果与预判条件进行匹配,确定第一子运维任务分支下的第二子运维任务;其中,第二子运维任务通过与第一执行结果匹配成功的预判条件关联于第一子运维任务;
81.第二执行结果获取模块304,用于将第二子运维任务发送至第二执行设备执行并获取第二执行结果,直至目标运维任务执行结束。
82.可选地,第二执行结果获取模块304,包括:
83.执行设备确定单元,用于确定第二执行设备是第一执行设备;
84.第二执行结果获取单元,用于使用第一子运维任务的资源连接将第二子运维任务发送至第一执行设备并获取第二执行结果。
85.可选地,该运维任务执行装置还包括:
86.多叉树运维任务配置模块,用于在固化目标运维场景的运维流程脚本后,根据多叉树运维任务配置指令配置多叉树运维任务,包括对运维任务基础信息的配置、对多叉树分支点的配置和对各个子运维任务的配置,对多叉树分支点的配置包括对预判条件的配置;
87.目标运维任务确定模块,用于将配置后的各个子运维任务依据预设多叉树运维任务执行顺序进行编排,得到目标运维任务。
88.可选地,该运维任务执行装置还包括:
89.显示模块,用于显示指令执行结果、指令执行结果与预判条件的匹配结果及运维任务执行日志;其中,指令执行结果包括第一执行结果和第二执行结果。
90.可选地,该运维任务执行装置还包括:
91.运维任务结束触发指令生成模块,用于生成运维任务结束触发指令;
92.资源连接释放模块,用于根据运维任务结束触发指令,释放各个执行设备的资源连接。
93.本发明实施例还提供一种运维服务器,设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述任意实施例的运维任务执行方法。图4是本发明一个实施例提供的运维服务器的结构示意图,该运维服务器可以包括处理器401以及存储有计算机程序指令的存储器402。
94.具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。
95.存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。
96.处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种运维任务执行方法。
97.在一个示例中,运维服务器还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
98.通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
99.总线410包括硬件、软件或两者,将运维服务器的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
100.另外,结合上述实施例中的运维任务执行方法,本发明实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种运维任务执行方法。
101.需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
102.以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
103.还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中
提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
104.以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1