大数据组件参数调整方法、装置、电子设备及存储介质与流程

文档序号:29737344发布日期:2022-04-21 18:03阅读:76来源:国知局
大数据组件参数调整方法、装置、电子设备及存储介质与流程

1.本发明涉及运维数据处理技术领域,尤其涉及一种大数据组件参数调整方法、装置、电子设备及存储介质。


背景技术:

2.随着大数据生态体系的不断发展完善,越来越多的大数据组件被陆续的发布和应用。
3.目前,大数据组件已经逐渐地被应用到生产环境中,在功能不断丰富完善的情况下,整个的大数据系统变得越来越复杂。由于大数据组件中的组件数据量非常庞大,对于应用于生产环境中的大数据组件参数进行优化处理,且保证系统的正常运行是非常困难的。
4.现有技术中,对于大数据组件参数的调整优化处理需要人工操作的方式,需要大量的运维工作人员,工作量比较大,且运维难度比较大,不够及时导致用户体验较差。


技术实现要素:

5.本发明提供一种大数据组件参数调整方法、装置、电子设备及介质用以解决现有技术中人工调整组件参数不够及时导致用户体验差,人工成本较高的技术问题,本发明实现自适应调整组件参数、降低人力成本提升用户体验的目的。
6.第一方面,本发明提供一种大数据组件参数调整方法,包括:
7.实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件;
8.根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数;
9.根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程完成未完成的任务。
10.进一步,根据本发明提供的大数据组件参数调整方法,根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数,包括:
11.在所述目标组件为spark组件,且所述spark组件运行异常的情况下,根据运行时长与预设的超时阈值,确定出多个目标参数;
12.根据所述多个目标参数与多个目标阈值区间,调整所述多个目标参数。
13.进一步,根据本发明提供的大数据组件参数调整方法,所述根据所述多个目标参数与多个目标阈值区间,调整所述多个目标参数,包括:
14.在第一目标参数属于第一目标阈值区间的情况下,调整所述第一目标参数;
15.在所述第一目标参数不属于第一目标阈值区间的情况下,调整所述第一目标参数为所述第一阈值区间中最接近所述第一目标参数的的临界值;
16.其中,所述第一目标参数为所述多个目标参数中的任意一个;所述第一目标阈值区间为所述多个目标阈值区间中的任意一个。
17.进一步,根据本发明提供的大数据组件参数调整方法,所述根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进
程执行未完成的任务,包括:
18.在所述目标组件为spark组件的情况下,所述第一进程向资源管理器申请额外资源;
19.所述第一进程在接收到所述资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程。
20.进一步,根据本发明提供的大数据组件参数调整方法,所述第一进程在接收到所述资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程,包括:
21.所述第一进程向已分配任务且未完成任务的多个执行进程申请撤回未完成任务;
22.将撤回的未完成任务重新分配给所述目标执行进程。
23.进一步,根据本发明提供的大数据组件参数调整方法,所述第一进程在接收到所述资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程,还包括:
24.在所述第一执行进程中的任务执行完毕的情况下,向所述目标进程报告完成消息,所述目标进程向所述资源管理器申请注销所述第一执行进程,并根据目标参数重新启动所述第一执行进程,执行新的任务;
25.其中,所述第一执行进程为所述多个执行进程中的任意一个。
26.进一步,根据本发明提供的大数据组件参数调整方法,所述实时监控目标组件的运行情况,包括:
27.将所述目标组件的参数获取方式修改为从监控软件代理中的节点中获取;
28.根据获取的参数确定所述目标组件的运行情况。
29.第二方面,本发明还提供一种大数据组件参数调整装置,包括:
30.监控模块,用于实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件;
31.调整模块,用于根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数;
32.执行模块,用于根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程执行未完成的任务。
33.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述大数据组件参数调整方法的步骤。
34.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述大数据组件参数调整方法的步骤。
35.本发明提供的一种大数据组件参数调整方法、装置、电子设备及介质,通过实时监控目标组件的运行情况,目标组件为大数据组件中的任意一个组件,根据目标组件的运行情况,调整目标组件所对应的多个目标参数,根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据额外资源重新确定目标执行进程执行未完成的任务。本发明提供的大数据组件参数调整方法能够根据生产环境自适应的调整参数,实现组件参数的动
态调整,降低人工成本,提升用户体验。
附图说明
36.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本发明提供的大数据组件参数调整方法的流程示意图;
38.图2是本发明提供的大数据组件参数调整方法的整体流程示意图;
39.图3是本发明提供的大数据组件参数调整装置的结构示意图;
40.图4是本发明提供的电子设备的结构示意图。
具体实施方式
41.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.图1为本发明提供的大数据组件参数调整方法的流程示意图,如图1所示,本发明提供的大数据组件参数调整方法,具体包括以下步骤:
43.步骤101:实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件。
44.在本实施例中,需要实时监控大数据中的目标组件的运行情况,其中,运行情况包括组件运行是否缓慢、组件运行是否存在异常等情况。而且本实施例中是采用监控软件来实时监控大数据中的目标组件的运行情况的,本实施例中的监控软件是基于scala与java语言实现的,而且基于zookeeper实现参数配置的同步和动态调整,通过修改大数据组件的源代码的方式达到与该监控软件的功能适配,其中,zookeeper是一种为分布式应用组件提供一致服务的代理软件。
45.需要说明的是,目标组件为大数据组件中的任意一个,如大数据组件中计算工具类的组件有spark、hadoop、flink组件等,存储类的组件有hive、hbase、redis等组件,本实施例中目标组件可以为其中任意一个组件,具体可以根据用户的实际需要进行选择,在此不作具体限定。
46.步骤102:根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数。
47.在本实施例中,需要根据目标组件的运行情况,调整目标组件对应的多个目标参数,其中,目标参数是指用于描述目标组件运行性能的参数,并且是可动态调整的参数,具体可以是集群中启动的executors进程的总数、每个executors进程的内存等参数,并将多个目标参数写入zookeeper中指定的节点znode上,用于实时监控目标组件的运行状况,需要说明的是,多个目标参数可以根据用户的选择的目标组件进行选择确认,在此不作具体限定。
48.举例说明,假如目标组件为spark时,将spark组件提交到yarn上运行,监控软件会实时地监控spark组件的运行情况,可以具体包括application、stage、taskset组件的运行情况,根据运行情况,动态地调整多个目标参数,并将多个目标参数写入到zookeeper中指定的znode上进行存储。其中,多个目标参数可以是集群中启动的executors进程的总数(num-executors)、每个executors进程的内存(executor-memory)以及组件的管理内存(driver-memory)。
49.其中,yarn是一种hadoop资源管理器,是一种通用资源管理系统,可为上层应用提供统一的资源管理和调度。
50.需要说明的是,本实施例中,监控软件采用分布式部署,实现分布式监控,能更快地获取集群中每个节点的运行情况,快速对目标参数做出调整。
51.步骤103:根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程执行未完成的任务。
52.在本实施例中,需要根据调整后的多个目标参数的大小,第一进程向资源管理器申请额外资源,然后根据申请到的额外资源重新确定出目标执行进程来执行尚未完成的任务。其中,本实施例中,额外资源是指新的执行进程,申请新的执行进程来完成旧的进程尚未完成的任务。
53.需要说明的是,本实施例中,第一进程为driver进程,能够周期性的扫描到多个目标参数的变化,在多个目标参数发生变化时,向资源管理器yarn申请额外资源给到目标组件,然后第一进程还会根据分配到的额外资源启动目标执行进程用于执行未完成的任务。
54.根据本发明提供的一种大数据组件参数调整方法,通过实时监控目标组件的运行情况,目标组件为大数据组件中的任意一个组件,根据目标组件的运行情况,调整目标组件所对应的多个目标参数,根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据额外资源重新确定目标执行进程执行未完成的任务。本发明提供的大数据组件参数调整方法能够根据生产环境自适应的调整参数,实现组件参数的动态调整,降低人工成本,提升用户体验。
55.基于上述任一实施例,在本实施例中,所述根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数,包括:
56.在所述目标组件为spark组件,且所述spark组件运行异常的情况下,根据运行时长与预设的超时阈值,确定出多个目标参数;
57.根据所述多个目标参数与多个目标阈值区间,调整所述多个目标参数。
58.在本实施例中,当将spark组件提交到资源管理器yarn上运行时,运行过程中监控到spark组件运行非常缓慢,且运行时长超过监控软件提前配置好的超时阈值的情况下,监控软件会判断确定出多个目标数值,如启动的executors进程的总数、每个executors进程的内存以及每个executors进程的cpu的内核数,然后根据确定的目标数值和一定的计算方法,判断目标数值与目标阈值区间的关系,动态地调整多个目标参数如num-executors和executor-memory以及driver-memory等相关参数。
59.需要说明的是,目标阈值区间是用于确定目标参数的调整范围的,如目标参数值的大小为5,设定的目标阈值区间为3-10,那么可以根据需要将目标参数自动调整为6也是可以的。如果目标参数值是12,那么先自动调整为边界值10,然后监控模块会记录日志并发
送告警给运维人员。
60.根据本发明提供的大数据组件参数调整方法,通过判断目标参数与预设的目标阈值区间的关系,实现动态调整目标参数的目的,降低大数据集群的运维成本与运维难度。
61.基于上述任一实施例,在本实施例中,所述根据所述多个目标参数与多个目标阈值区间,调整所述多个目标参数,包括:
62.在第一目标参数属于第一目标阈值区间的情况下,调整所述第一目标参数;
63.在所述第一目标参数不属于第一目标阈值区间的情况下,调整所述第一目标参数为所述第一阈值区间中最接近所述第一目标参数的的临界值;
64.其中,所述第一目标参数为所述多个目标参数中的任意一个;所述第一目标阈值区间为所述多个目标阈值区间中的任意一个。
65.在本实施例中,当第一目标参数属于预先设定的第一目标阈值区间时,调整第一目标参数,其中,第一目标参数可以为集群中启动的executors进程的总数、每个executors进程的内存以及组件的管理内存三个参数中的任意一个。需要说明的是,调整之后的第一目标参数的大小也是属于第一目标阈值区间内的参数。
66.在本实施例中,当第一目标参数不属于预先设定的第一目标阈值区间时,对第一目标参数进行调整,调整为第一目标阈值区间的临界值,若是不属于第一目标阈值区间时,说明该目标参数对应的资源不能完全满足,可进行相应的部分调整,并在监控软件中记录并发送告警,然后再发送告警供运维人员参考并及时调整阈值。需要说明的是,临界值可以是第一目标阈值区间的最大值,也可以是第一目标阈值区间的最小值,可以根据用户的实际需要进行设定,在此不作具体限定。
67.根据本发明提供的大数据组件参数调整方法,通过预先设置目标阈值区间,根据设定的每个目标参数的最大值和最小值,能够防止动态调整目标参数的过程中出现调整过大或过小的情况,避免造成资源浪费或异常。
68.基于上述任一实施例,在本实施例中,所述根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程执行未完成的任务,包括:
69.在所述目标组件为spark组件的情况下,所述第一进程向资源管理器申请额外资源;
70.所述第一进程在接收到所述资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程。
71.在本实施例中,当目标组件为spark组件时,第一进程为driver进程,driver进程周期性扫描多个目标参数的变化,进而向资源管理器yarn申请额外资源给该spark组件,第一进程在获取到分配的额外资源后会自动启动目标执行进程,并将未完成任务分配给该目标执行进程。需要说明的是,目标执行进程是指新的executer进程,从分配到的额外资源中获取确认的。
72.根据本发明实施例提供的大数据组件参数调整方法,当目标组件为spark组件的情况下,第一进程向资源管理器申请额外资源,第一进程在接收到资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程,能够实现资源的调度,提高资源的利用率。
73.基于上述任一实施例,在本实施例中,所述第一进程在接收到所述资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程,包括:
74.所述第一进程向已分配任务且未完成任务的多个执行进程申请撤回未完成任务;
75.将撤回的未完成任务重新分配给所述目标执行进程。
76.在本实施例中,第一进程在接收到分配的新的额外资源后,会启动新的执行进程,同时还会向已分配多项任务的旧的多个执行进程申请撤回还未运行的任务,并将撤回的任务重新分配给目标执行进程去执行。需要说明的是,在本实施例中,driver进程在获取到yarn分配过来的额外资源后,启动新的executer进程,然后向已分配tasks的旧的executer申请撤回还未运行的tasks,而旧的executer进程将未运行的tasks返还给driver进程,driver进程将这些tasks重新分配给新的executer进程去执行。
77.根据本发明提供的大数据组件参数调整方法,第一进程会向已经分配任务且未完成任务的多个执行进程申请撤回未完成的任务,然后将撤回的未完成任务重新分配给目标执行进程,能够实现资源的调度分配,提高大数据组件的运行速率。
78.基于上述任一实施例,在本实施例中,所述第一进程在接收到所述资源管理器分配的额外资源后会启动目标执行进程,将未完成的任务分配给目标执行进程,还包括:
79.在所述第一执行进程中的任务执行完毕的情况下,向所述第一进程报告完成消息,所述第一进程向所述资源管理器申请注销所述第一执行进程,并根据目标参数重新启动所述第一执行进程,执行新的任务;
80.其中,所述第一执行进程为所述多个执行进程中的任意一个。
81.在本实施例中,当第一执行进程中的任务执行完毕时,会向第一进程报告完成情况,然后第一进程根据接收到信息向资源管理器yarn申请注销该第一执行进程,并根据多个目标参数重新启动第一执行进程,让第一执行进程执行新的任务。其中,第一执行进程是指已经分配任务的旧的executer进程。
82.根据本发明提供的大数据组件参数调整方法,当第一执行进程中的任务执行完毕时,向第一进程报告完成消息,第一进程向资源管理器申请注销第一执行进程,并根据目标参数重新启动第一执行进程,执行新的任务,能够实现资源的重复利用,保证大数据组件的运行速率,节约资源。
83.基于上述任一实施例,在本实施例中,所述实时监控目标组件的运行情况,包括:
84.将所述目标组件的参数获取方式修改为从监控代理软件中的节点上获取;
85.根据获取的参数确定所述目标组件的运行情况。
86.在本实施例中,需要将目标组件的参数获取方式修改为从监控代理软件中的节点上获取,然后根据获取的参数确定出目标组件的运行情况。本实施例中,通过修改大数据组件源代码的方式来确定参数的获取方式,如目标组件为spark组件,修改spark组件的源代码,将从配置文件里获取参数的逻辑方式改成从监控代理软件zookeeper中的指定节点znode中获取。然后根据集群的运行情况,动态地向zookeeper的指定znode上写入最新的参数值。
87.根据本发明提供的大数据组件参数调整方法,通过从确定的监控代理软件中的节点上获取相应的参数,能够准确地确定出目标组件的运行情况,为目标参数的调整处理提供数据支持。
88.基于上述任一实施例,在本实施例中,如图2所示,本实施例可以实现分布式监控,在目标组件为spark组件时,需要修改spark组件的源代码,将从配置文件里获取目标参数的逻辑改成从监控代理软件zookeeper中指定节点znode中获取;在监控软件中,需要根据集群中大数据组件的运行情况,动态地向zookeeper的指定znode上写入最新的目标参数值。
89.在本实施例中,需要实时地监控spark组件的运行情况,主要包括application、stage、taskset组件的运行情况,然后根据各个组件的运行情况,动态地调整目标参数并写入到zookeeper的指定znode上。
90.需要说明的是,还需要将spark组件提交到资源管理器yarn上运行,如果在运行过程中发现spark组件运行非常缓慢,运行时长超过了监控软件提前配置好的超时阈值时,该监控软件会判断executer进程数量和每个executer进程的内存以及每个executer的cpu core数量,然后根据一定的运算算法以及提前配置好的目标阈值区间,调整num-executors和executor-memory以及driver-memory这三个目标参数。
91.需要说明的是,本实施例中还需要将调整后的多个目标参数保存到zookeeper的指定znode上,driver进程周期性对该三个目标参数进行扫描,在确定三个目标参数发生变化的情况下,driver进程会重新向资源管理器yarn申请额外资源给spark组件;然后driver进程在获取到资源管理器yarn分配过来的额外资源后,启动新的executer进程,然后向已分配tasks的旧的执行进程申请撤回还未运行的任务。
92.需要说明的是,旧的执行进程executer会将未运行的任务返还给driver进程,然后driver将未运行的任务重新分配给新的目标执行executer进程,目标执行进程会执行这些未运行的任务。
93.需要说明的是,旧的执行进程executer将正在运行的tasks执行完后,向driver进程报告,driver进程则向资源管理器yarn申请注销旧的执行进程executer,然后按照调整后的目标参数重新启动该旧的执行进程,并分配相应的任务。
94.需要说明的是,监控软件还能检测spark组件的其他运行异常,比如shuffle运行缓慢,监控软件则会调整shuffle并行度的参数,再比如说发生数据倾斜时,监控软件会检测到某个任务运行异常缓慢,运行时长远远高于taskset中的其他任务的运行时长,则会修改shuffle read task的参数,在其他空闲的进程executers上根据新的目标参数重新递交这批taskset,然后根据优先执行完成的进程executers处理结果作为最终的处理结果,未执行完成的进程executers则直接终止操作。
95.根据本发明实施例提供的大数据组件参数调整方法,对于大数据中的每个组件开发出对应的动态参数调整的逻辑和算法,以适配各种各样的大数据组件,兼容大部分常见的大数据组件,并且需要提前设置好每个目标参数的目标阈值区间,防止申请过多或者过少的资源,避免资源浪费,降低了运维人员的工作负荷,从而能把更多的时间放在业务逻辑本身上,间接降低运维人员的门槛。
96.图3为本发明提供的一种大数据组件参数调整装置,如图3所示,本发明提供的大数据组件参数调整装置,包括:
97.监控模块301,用于实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件;
98.调整模块302,用于根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数;
99.执行模块302,用于根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程执行未完成的任务。
100.本发明提供的一种大数据组件参数调整装置,通过实时监控目标组件的运行情况,目标组件为大数据组件中的任意一个组件,根据目标组件的运行情况,调整目标组件所对应的多个目标参数,根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据额外资源重新确定目标执行进程执行未完成的任务。本发明提供的大数据组件参数调整方法能够根据生产环境自适应的调整参数,实现组件参数的动态调整,降低人工成本,提升用户体验。
101.由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
102.图4为本发明实施例中提供的电子设备实体结构示意图,如图4所示,本发明提供一种电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;
103.其中,处理器401、存储器402通过总线403完成相互间的通信;
104.处理器401用于调用存储器402中的程序指令,以执行上述各方法实施例中所提供的方法,例如包括:实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件;根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数;根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程完成未完成的任务。
105.此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
106.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的方法,该方法包括:实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件;根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数;根据调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程完成未完成的任务。
107.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的方法,该方法包括:实时监控目标应用的运行情况;实时监控目标组件的运行情况;所述目标组件为大数据组件中的任意一个组件;根据所述目标组件的运行情况,调整所述目标组件所对应的多个目标参数;根据
调整后的多个目标参数,第一进程向资源管理器申请额外资源,并根据所述额外资源重新确定目标执行进程完成未完成的任务。
108.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
109.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
110.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1