一种kubernetes应用的创建方法及系统与流程

文档序号:29804769发布日期:2022-04-23 21:20阅读:93来源:国知局
一种kubernetes应用的创建方法及系统与流程

1.本发明涉及kubernetes集群领域,具体涉及一种kubernetes应用的创建方法及系统。


背景技术:

2.在业务迁移容器的过程中,使用kubernetes编排工具部署容器服务需要创建多种kubernetes资源,比如deployment、service、ingress、configmap、hpa等等,对于非专业维护kubernetes的人员来说学习的成本非常的高,学习的时间非常的长,还容易出问题,不好排查,同时一个服务上线还需要部署数据库服务,redis服务,memcache服务,mq服务等等软件才能保证一个完成的服务上线。整个部署过程非常复杂,及其容器出现问题。基于此背景,使用一种简易的模板方式,组合模板来创建一个运行在kubernetes之上的应用就非常的有必要。
3.在实现本发明过程中,申请人发现现有技术中至少存在如下问题:
4.目前相近的技术方案中能够利用kuberentes扩展能力,实现部分的kubernetes资源的创建,不能管理业务需要使用的软件的组合过程。
5.1、只能管理kubernetes的资源,不能管理业务软件的组合过程;
6.2、不能管理版本,当有某一个组件需要升级版本,无法处理;
7.3、不能简易和快速的创建一个完成的运行在kubernetes之上的应用。


技术实现要素:

8.本发明实施例提供一种kubernetes应用的创建方法及系统,通过编写软件的模板,通过组合模板来创建应用,操作简单,使用方便,可以任意组合,部署各种各样的应用。
9.为达上述目的,一方面,本发明实施例提供一种kubernetes应用的创建方法,包括:
10.模板服务模块添加用于创建kubernetes应用的各软件模板;所述软件模板是指创建kubernetes应用时某软件在kubernetes之上部署的脚本和描述文件;其中,所述软件模板的脚本是用来执行创建模板实例的程序;所述模板实例是指使用软件模板的描述文件、脚本、模板参数共同创建的能够被访问的程序的实例;所述软件模板的描述文件用来描述软件模板的功能、版本、软件介绍、所调整的模板参数;
11.自所添加的各软件模板内选择所需软件模板并将所选择的软件模板组合成软件模板组合,将软件模板组合通过核心服务模块保存到数据库;
12.应用部署服务模块轮询核心服务模块,请求核心服务模块告知是否存在新合成软件模板组合;当被告知具有新合成软件模板组合时,则自数据库获取新合成软件模板组合,将新合成软件模板组合提交到kubernetes集群管理服务模块,并向kubernetes集群管理服务模块提出创建kubernetes应用的请求;
13.根据所接收的创建kubernetes应用的请求,kubernetes集群管理服务模块根据新
合成软件模板组合创建kubernetes应用。
14.另一方面,本发明实施例提供一种kubernetes应用的创建系统,包括:
15.模板服务模块,用于创建kubernetes应用的各软件模板;所述软件模板是指创建kubernetes应用时某软件在kubernetes之上部署的脚本和描述文件;其中,所述软件模板的脚本是用来执行创建模板实例的程序;所述模板实例是指使用软件模板的描述文件、脚本、模板参数共同创建的能够被访问的程序的实例;所述软件模板的描述文件用来描述软件模板的功能、版本、软件介绍、所调整的模板参数;
16.模板组合模块,用于自所添加的各软件模板内选择所需软件模板并将所选择的软件模板组合成软件模板组合;
17.应用部署服务模块,用于轮询核心服务模块,请求核心服务模块告知是否存在新合成软件模板组合;当被告知具有新合成软件模板组合时,则自数据库获取新合成软件模板组合,将新合成软件模板组合提交到kubernetes集群管理服务模块,并向kubernetes集群管理服务模块提出创建kubernetes应用的请求;
18.kubernetes集群管理服务模块,用于接收创建kubernetes应用的请求,根据应用部署服务模块提交的新合成软件模板组合创建kubernetes应用;
19.核心服务模块,用于将模版组合模块组合成的软件模板组合保存到数据库;以及当应用部署服务模块轮询并请求告知是否存在新合成软件模板组合时,如果具有新合成软件模板组合则告知应用部署服务模块。
20.上述技术方案具有如下有益效果:通过编写软件的模板,通过组合模板来创建应用,操作简单,使用方便,可以任意组合,部署各种各样的应用。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本发明实施例的一种kubernetes应用的创建方法的流程图;
23.图2是本发明实施例的一种kubernetes应用的创建系统的结构图;
24.图3是本发明实施例的另一种kubernetes应用的创建方法的流程图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.结合本发明的实施例,提供一种kubernetes应用的创建方法,包括:
27.s101:模板服务模块添加用于创建kubernetes应用的各软件模板;所述软件模板是指创建kubernetes应用时某软件在kubernetes之上部署的脚本和描述文件;其中,所述软件模板的脚本是用来执行创建模板实例的程序;所述模板实例是指使用软件模板的描述
文件、脚本、模板参数共同创建的能够被访问的程序的实例;所述软件模板的描述文件用来描述软件模板的功能、版本、软件介绍、所调整的模板参数;
28.s102:自所添加的各软件模板内选择所需软件模板并将所选择的软件模板组合成软件模板组合,将软件模板组合通过核心服务模块保存到数据库;
29.s103:应用部署服务模块轮询核心服务模块,请求核心服务模块告知是否存在新合成软件模板组合;当被告知具有新合成软件模板组合时,则自数据库获取新合成软件模板组合,将新合成软件模板组合提交到kubernetes集群管理服务模块,并向kubernetes集群管理服务模块提出创建kubernetes应用的请求;
30.s104:根据所接收的创建kubernetes应用的请求,kubernetes集群管理服务模块根据新合成软件模板组合创建kubernetes应用。
31.优选地,在步骤101中,所述模板服务模块添加用于创建kubernetes应用的各软件模板,具体包括:
32.通过模板服务模块提供的应用程序接口添加软件模板,通过应用程序接口访问其所在的模板服务模块将待添加的各软件模板提交到模板服务模块。
33.优选地,还包括:
34.s105:核心服务模块轮询模板服务模块以监控是否有新添加的软件模板,当监控到有新添加的软件模板时则获取新添加的软件模板,并将新添加的软件模板提交到数据校验服务模块;
35.s106:通过数据校验服务模块验证新添加的软件模板是否合法,所述合法是指符合kubernetes预设要求;
36.s107:如果新添加的软件模板合法,数据校验服务模块则将新添加的软件模板保存到数据库,为新添加的软件模板标记相应的版本号;同时将新添加的软件模板的模板脚本、模板描述文件、模板参数存储在数据库;其中,合法的新添加的软件模板用于组合成软件模板组合。
37.优选地,在所述将所选择的软件模板组合成软件模板组合之后,还包括:
38.s108:将软件模板组合提交到核心服务模块,核心服务模块将软件模板组合提交到数据校验服务模块;
39.s109:通过数据校验服务模块检查新合成软件模板组合的完整性是否满足要求,所述检查新合成软件模板组合的完整性是否满足要求是指检查所提供的模板参数是否齐全;完整性满足要求的新合成软件模板组合被保存到数据库。
40.优选地,步骤104,具体包括:
41.调用容器编排管理工具kubernetes,通过kubernetes运行新合成软件模板组合,填充新合成软件模板组合内的参数来创建软件;以及
42.通过kubernetes创建容器,通过所创建的容器运行创建的软件构建kubernetes应用。
43.结合本发明的实施例,提供一种kubernetes应用的创建系统,包括:
44.模板服务模块21,用于创建kubernetes应用的各软件模板;所述软件模板是指创建kubernetes应用时某软件在kubernetes之上部署的脚本和描述文件;其中,所述软件模板的脚本是用来执行创建模板实例的程序;所述模板实例是指使用软件模板的描述文件、
脚本、模板参数共同创建的能够被访问的程序的实例;所述软件模板的描述文件用来描述软件模板的功能、版本、软件介绍、所调整的模板参数;
45.模板组合模块22,用于自所添加的各软件模板内选择所需软件模板并将所选择的软件模板组合成软件模板组合;
46.应用部署服务模块23,用于轮询核心服务模块,请求核心服务模块告知是否存在新合成软件模板组合;当被告知具有新合成软件模板组合时,则自数据库获取新合成软件模板组合,将新合成软件模板组合提交到kubernetes集群管理服务模块,并向kubernetes集群管理服务模块提出创建kubernetes应用的请求;
47.kubernetes集群管理服务模块24,用于接收创建kubernetes应用的请求,根据应用部署服务模块提交的新合成软件模板组合创建kubernetes应用;
48.核心服务模块25,用于将模版组合模块组合成的软件模板组合保存到数据库;以及当应用部署服务模块轮询并请求告知是否存在新合成软件模板组合时,如果具有新合成软件模板组合则告知应用部署服务模块。
49.优选地,所述模板服务模块21提供应用程序接口,具体用于:
50.通过所述应用程序接口接收待添加的各软件模板。
51.优选地,包括数据校验服务模块26和数据库,其中:
52.所述核心服务模块25,还用于轮询模板服务模块以监控是否有新添加的软件模板,当监控到有新添加的软件模板时则获取新添加的软件模板,并将新添加的软件模板提交到数据校验服务模块;
53.数据校验服务模块26,用于验证新添加的软件模板是否合法,所述合法是指符合kubernetes预设要求;如果新添加的软件模板合法,则将新添加的软件模板保存到数据库,为新添加的软件模板标记相应的版本号;同时将新添加的软件模板的模板脚本、模板描述文件、模板参数存储在数据库;其中,合法的新添加的软件模板用于组合成软件模板组合。
54.优选地,
55.所述模板组合模块22,还用于在所述将所选择的软件模板组合成软件模板组合之后,将软件模板组合提交到核心服务模块;
56.所述核心服务模块25,用于将模板组合模块提交的软件模板组合提交到数据校验服务模块;
57.所述数据校验服务模块26,还用于检查核心服务模块提交的新合成软件模板组合的完整性是否满足要求,所述检查新合成软件模板组合的完整性是否满足要求是指检查所提供的模板参数是否齐全;完整性满足要求的新合成软件模板组合被保存到数据库。
58.优选地,所述kubernetes集群管理服务模块24,具体用于:
59.调用容器编排管理工具kubernetes,通过kubernetes运行新合成软件模板组合,填充新合成软件模板组合内的参数来创建软件;以及
60.通过kubernetes创建容器,通过所创建的容器运行创建的软件构建kubernetes应用。
61.本发明所取得的技术效果如下:
62.1、直观的显示软件的版本。
63.2、可以编写软件的模板,通过组合模板来创建应用。
64.3、操作简单,使用方便,可以任意组合,部署各种各样的应用。
65.4、学习成本低。
66.5、支持软件的版本升级。
67.下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
68.kubernetes:一种容器编排管理工具
69.pod:kubernetes最小的调度单元,包含1个或多个容器
70.deployment,service,ingress:这三个是kubernetes用来编排容器服务的
71.容器:容器映像是一个软件的轻量级独立可执行软件包,包含运行它所需的一切:代码,运行时,系统工具,系统库,设置等等,容器是容器影响中程序的运行状态。
72.本发明为一种kubernetes组合应用模板创建服务的方法和系统,使用本系统,快速,简单的上线一个运行在kubernetes之上的复杂应用,而不需要关心kubernetes本身。本系统通过模板组合的方式,可以支持多种应用的发布上线。
73.本系统包含多个组件,每个组件负责一部分功能。
74.如图3所示:
75.a.模板管理员:添加创建kubernetes应用的各软件的模板(模板服务提供了api接口,管理员通过访问模板服务的api接口将软件模板提交到模板服务,也就是通过所述应用程序接口接收待添加的各软件模板),提交到模板服务,如步骤1所示。所述软件模板是指创建kubernetes应用时某软件在kubernetes之上部署的脚本和描述文件;其中,所述软件模板的脚本是用来执行创建模板实例的程序;所述模板实例是指使用软件模板的描述文件、脚本、模板参数共同创建的能够被访问的程序的实例;所述软件模板的描述文件用来描述软件模板的功能、版本、软件介绍、所调整的模板参数。
76.模板的说明:模板是指一个应用需要的某一款软件在kubernetes之上的部署脚本和描述文件,比如:nginx软件的模板、mysql软件的模板、redis软件的模板,kafka软件的模板等等。其中,
77.模板的脚本是用来执行创建模板的实例的程序,
78.模板的描述文件是用来描述当前模板的功能、版本、是什么软件、可以调整的模板参数等。软件指的是开发好的应用程序依赖的基础软件和编程语言运行环境。比如php语言开发的应用程序。需要在linux操作系统安装php、安装php-fpm、安装nginx、安装mysql等等软件。任何需要辅助应用程序完整运行的软件都包含在本服务的管理范围内
79.模板实例指的是使用模板的描述文件和脚本和参数共同作用创建出来的一个能够被访问的程序的实例,比如使用mysql的模板创建了一个mysql的实例1.1.1.1:3306。
80.b.模板服务:
81.模板管理员创建了服务,提交到模板服务,模板服务等待核心服务连接到自己。其中,服务指的是研发人员开发的应用的源代码和这个源代码的开发语言的必要的运行环境,如php语言的源代码想要运行起来并提供服务,需要php软件,mysql软件,php-fmp软件,nginx软件等等。源代码和软件一起来同时提供一个完整的服务,比如用户登陆服务。
82.c.核心服务模块:
83.如步骤3所示,轮询模板服务模块以监控是否有新添加的软件模板,当监控到有新
添加的软件模板时则获取新添加的软件模板,并将新添加的软件模板提交到数据校验服务模块。
84.具体地:核心服务轮询的访问模板服务,当发现有新的模板创建,则获取该模板,提交到数据校验服务。其中,新的模板创建是需要创建新模板,即:随着软件的发展,有如下情况需要创建新的模板,比如软件版本升级了,需要新的类型的软件。
85.核心服务模块将模版组合模块组合成的软件模板组合保存到数据库(核心服务模块将模板组合模块提交的软件模板组合提交到数据校验服务模块,校验通过再保存到数据库);以及当应用部署服务模块轮询并请求告知是否存在新合成软件模板组合时,如果具有新合成软件模板组合则告知应用部署服务模块。
86.d.数据校验服务(数据校验服务模块):
87.如步骤4所示验证新添加的软件模板是否合法,所述合法是指符合kubernetes预设要求;如果新添加的软件模板合法,则将新添加的软件模板保存到数据库,为新添加的软件模板标记相应的版本号;同时将新添加的软件模板的模板脚本、模板描述文件、模板参数存储在数据库;其中,合法的新添加的软件模板用于组合成软件模板组合。
88.具体地:用来验证管理员提交的模板创建是否合法,是不是符合kubernetes要求;其中,合法指的是符合kubernetes的yaml语言的格式要求,也要符合本系统的对key和value的要求。key和value有一些预设的值,比如key的名字为example1是预设值,但是用户写了一个example2。这样就是不合法;yaml格式校验失败也是不合法。
89.如果符合要求,则提交到数据库服务,并发邮件给模板管理员,通知已经创建完成,否则通知模板管理员创建失败,并通知失败的原因。此处的创建即是存储到数据服务,因为我们创建的是模板,模板此时还没有真正的实例,在后续的真实的描述好一个服务之后,模板加上参数共同组成一个实例(实例是应用的实体),参数是根据服务来的。
90.数据校验服务模块还用于检查核心服务模块提交的新合成软件模板组合的完整性是否满足要求,所述检查新合成软件模板组合的完整性是否满足要求是指检查所提供的模板参数是否齐全;完整性满足要求的新合成软件模板组合被保存到数据库。
91.e.数据库服务:
92.如步骤5所示:
93.数据校验服务验证通过后,将模板的相关数据(模板脚本,模板描述文件,模板参数)存储在数据库服务中,并标记本次修改的版本,每次一修改都会有一个对应的版本。
94.f.用户ui和命令行工具(模版组合模块):
95.模版组合模块用于自所添加的各软件模板内选择所需软件模板并将所选择的软件模板组合成软件模板组合。具体地:用户指的是使用管理员创建好的模板组合创建应用的人员,他们可以使用ui界面也可以使用命令行工具,选择一个以上的软件模板组装一个完整的应用。
96.比如用户选择使用nginx的1.19.3模板,php7.2模板,laravel5.7模板,mysql的5.7模板,redis的2.3模板组合成一个http服务(即应用),提供网页访问。其中,服务=模板+在模板里添加的参数值。
97.在所述将所选择的软件模板组合成软件模板组合之后,将软件模板组合提交到核心服务模块。具体地:组合好之后的数据(需要的软件模板和软件参数,合并在一起形成一
组应用数据)为应用组合,应用组合提交到核心服务,核心服务提交到数据校验服务,数据校验服务检查应用组合的完整性(用户提供的参数全不全。有一些参数是需要配合使用的),比如nginx模板必须依赖mysql模板才可以创建应用组合,比如nginx的1.19必须配合使用luajit2模板等等检查。
98.检查通过后,存储到数据库服务,否则,在ui和命令行提示用户哪里出错了。
99.g.应用部署服务(应用部署模块):
100.如图步骤6所示,轮询核心服务模块,请求核心服务模块告知是否存在新合成软件模板组合;当被告知具有新合成软件模板组合时,则自数据库获取新合成软件模板组合,将新合成软件模板组合提交到kubernetes集群管理服务模块,并向kubernetes集群管理服务模块提出创建kubernetes应用的请求。
101.具体地:应用部署服务轮询请求核心服务,请求核心服务告知需要创建的应用组合,获取到需要创建的应用组合,提交到kubernetes集群管理服务来创建应用。
102.h.kubernetes集群管理服务:
103.接收创建kubernetes应用的请求,根据应用部署服务模块提交的新合成软件模板组合创建kubernetes应用。
104.具体地:该服务组件添加了多个kubernetes集群,它可以同时在多个kubernetes集群创建kubernetes的资源,比如deployment等等。
105.如图步骤7所示,kubernetes集群管理服务接收到应用部署服务的请求。
106.i.kubernetes容器编排管理工具:
107.用来运行应用模板实例的载体;
108.如图步骤8所示调用容器编排管理工具kubernetes,通过kubernetes运行新合成软件模板组合,填充新合成软件模板组合内的参数来创建软件;以及通过kubernetes创建容器,通过所创建的容器运行创建的软件构建kubernetes应用。具体地:kubernetes集群管理服务开始条调用kubernetes,要求kubernetes创建比如deployment等;
109.kubernetes会真正创建容器;
110.至此组合多个模板创建服务的过程就结束了。
111.本发明所取得的技术效果如下:
112.1、直观的显示软件的版本,
113.2、可以编写软件的模板,通过组合模板来创建应用。
114.3、操作简单,使用方便,可以任意组合,部署各种各样的应用
115.4、学习成本低。
116.5、支持软件的版本升级。
117.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
118.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的
那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
119.为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本技术公开的原理和新颖性特征的最广范围相一致。
120.上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
121.本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
122.本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
123.本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
124.在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以
是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
125.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1