一种服务网格单元的部署方法、装置、设备及存储介质与流程

文档序号:33325710发布日期:2023-03-03 23:06阅读:30来源:国知局
一种服务网格单元的部署方法、装置、设备及存储介质与流程

1.本公开涉及计算机技术领域,具体涉及一种服务网格单元的部署方法、装置、设备及存储介质。


背景技术:

2.服务网格(service mesh)是云服务中的一个基础设施层,专注于实现微服务间服务请求的可靠传递,并在其基础上提供服务发现、负载均衡、请求路由和规则配置等流量控制层面操作。
3.在实际应用中,服务网格的实现通常为分布式的轻量级网络代理,以注入边车(sidecar)的方式与微服务应用部署在一起,对应用程序透明,以便用户将服务通信及相关管控功能从业务中分离到基础设施层sidecar上,使其和业务系统完全解耦。
4.虽然分布式服务网格能够满足应用服务所需的服务治理与业务解耦、基于配置的流量控制等需求,但同时带来以下问题:由于在服务网格中部署的每一个业务容器都需要被注入一个sidecar,不仅极大的占用了云服务器节点(server node)上的cpu和内存资源,同时也增加了系统功耗。与此同时分布式服务网格将sidecar代理引入到已经很复杂的分布式环境中,极大地增加整体链路和操作运维的复杂性。此外,服务网格在每个应用服务的业务容器中注入sidecar代理,还会增加系统调用、上下文切换带来的延迟。


技术实现要素:

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.本公开提供的服务网格单元的部署方法、装置、设备及存储介质,通过向云服务器节点发送业务容器部署信息,来使云服务器节点创建多个业务容器,同时向云服务器节点的数据处理器发送第一安装指令,来使数据处理器安装集中式代理单元,从而使所述集中式代理单元和所述多个业务容器构成服务网格单元,由于将多个sidecar集成为一个集中式代理单元,因此降低了云原生服务网格的部署复杂度和运维复杂度,同时通过将集中式代理安装在安装于云服务器节点上的数据处理器,来达到将服务网格提供的服务卸载到数据处理器的效果,可以有效节省云服务器节点上的原本用于承载sidecar进程的cpu、内存和网络带宽资源,此外因为服务网格代理的数据面流量经过数据处理器加速,避免了由于将服务网格代理部署在云服务器节点上而引入的系统调用、上下文切换所带来的网络的时延。
附图说明
36.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
37.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本公开实施例提供的一种服务网格单元的部署方法流程图;
39.图2为本公开实施例提供的一种应用场景的示意图;
40.图3为本公开实施例提供的服务网格系统的结构示意图;
41.图4为本公开实施例提供的服务网格单元的部署装置的结构示意图;
42.图5为本公开实施例提供的电子设备的结构示意图。
具体实施方式
43.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
44.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
45.sidecar是云原生服务网格中一种非常重要的容器设计模式,它将网络转发、l7层(应用层)代理能力从主容器中剥离出来成为单独的sidecar容器,即一种将应用功能从应用本身剥离出来作为单独进程的方式,sidecar允许我们向应用无侵入添加多种功能,避免
了为满足第三方组件需求而向应用添加额外的配置代码。目前的分布式服务网格是通过为部署的每一个业务容器都注入一个sidecar,由多个业务容器对应的sidecar组成服务网格来为业务容器中运行的微服务程序提供流量代理服务,这不仅极大的占用了云服务器节点(server node)上的cpu和内存资源,同时也增加了系统功耗,同时分布式服务网格将sidecar代理引入到已经很复杂的分布式环境中,极大地增加整体链路和操作运维的复杂性。此外,服务网格在每个应用服务的业务容器中注入sidecar代理,还会增加系统调用、上下文切换带来的延迟。
46.图1为本公开实施例提供的一种服务网格单元的部署方法流程图。该方法可以由服务网格单元的部署装置执行,该服务网格单元的部署装置可以采用软件和/或硬件的方式实现,该服务网格单元的部署装置可配置于电子设备中,例如服务器。另外,图2为本公开实施例提供的一种应用场景的示意图,该方法可以应用于图2所示的应用场景,图2所示的应用场景中包括中心控制节点201、云服务器节点202、数据处理器203。
47.下面结合图2所示的应用场景,对图1所示的服务网格单元的部署方法进行介绍,例如,图2中的中心控制节点201可以执行该方法。该方法包括如下步骤:
48.s101、向云服务器节点发送业务容器部署信息,以使云服务器节点根据业务容器部署信息创建多个业务容器。
49.通常一个服务集群由一个中心控制节点和多个云服务器节点构成,这些节点通常分属不同的服务器,其中云服务器节点用于让客户注册微服务,云服务器节点提供业务容器让客户注册的微服务的程序在其中运行,即业务容器为云服务器节点上所注册的服务实例提供运行环境。本公开实施例所示的云服务器节点配置有数据处理器(dpu,data processing unit),数据处理器是工作在云服务器节点上,为云服务器节点提供高带宽、低延迟的异构网络计算加速引擎。其中,在对多个云服务器节点进行服务网格的部署时,对每个云服务器节点部署思路是相似的,因此针对其中一个云服务器进行举例说明。
50.示例性的,服务集群的中心控制节点201向云服务器节点202发送业务容器部署信息,让云服务器节点202按照业务容器部署信息来创建多个业务容器,其中业务容器的数量可以是根据云服务器节点202上注册的服务实例来确定,也可以自定义业务容器的数量在云服务器节点202上预先创建好业务容器,在客户注册了服务实例后在创建好业务容器中运行。通常使用动态的方式来配置业务容器,即根据客户在云服务器节点注册的服务实例来增删业务容器,例如,在客户注册了一个服务实例后,为这个注册的服务实例创建业务容器,在客户注销了一个服务实例后,则删除这个注销的服务实例的业务容器。以图2所示的场景为例,云服务器节点202创建的业务容器包括2021、2022、2023。
51.s102、向安装于云服务器节点上的数据处理器发送第一安装指令,以使数据处理器安装集中式代理单元,以使集中式代理单元和多个业务容器构成服务网格单元。
52.其中,集中式代理单元用于代理进出多个业务容器的数据面流量,数据面流量为不同业务容器中运行的服务实例之间进行通信所产生的流量。
53.示例性的,中心控制节点201向云服务器节点202的数据处理器203发送第一安装指令,数据处理器203上装载有片上系统(soc,system on chip),例如可以使用ubuntu系统,在数据处理器203接收到第一安装指令后,在片上系统上安装集中式代理单元204。集中式代理单元204会代理进出云服务器节点202上安装的多个业务容器的数据面流量,数据面
流量是不同业务容器内运行的服务实例之间进行通信时所产生的流量。例如集中式代理单元可以使用envoy集中式代理程序,envoy是作为微服务架构中以独立进程方式实现高级网络功能的,轻量级的7层服务代理程序,它可以以sidecar的方式运行在应用程序的周边,也可以作为网络的边缘代理来运行。具体可以基于docker compose部署envoy集中式代理,docker compose负责实现对业务容器集群的快速编排,可以让envoy集中式代理集中代理多个业务容器进出的数据面流量。
54.由此安装在数据处理器203上的集中式代理单元204和云服务器节点202上的多个业务容器,就构成了为业务容器中运行的服务实例提供流量代理服务的服务网格单元,而服务集群中的多个云服务器节点对应的多个服务网格单元就构成了整个服务集群的服务网格。通常来说,整个服务集群上注册的微服务(即服务实例)互相之间会进行通信,云服务器节点通过工作在本节点,安装有集中式代理单元的数据处理器,与本节点上的多个业务容器构成服务网格单元,从而让多个云服务器节点对应的服务网格单元所组成的服务网格,来为整个服务集群注册的服务实例提供数据面流量的代理服务,组成的服务网格可以由控制面组件来管理。
55.由于集中式代理单元204集中代理了进出云服务器节点202上业务容器2021、2022、2023的数据面流量,因此无需再为业务容器2021、2022、2023中的每个业务容器分别注入一个sidecar,由此将多个sidecar集成为一个集中式代理单元,可以降低云原生服务网格的部署复杂度和运维复杂度。此外,因为集中式代理安装在云服务器节点的数据处理器上,所以服务网格提供的服务发现、负载均衡、请求路由和按规则流量转发等服务完全卸载到数据处理器上,可以有效节省云服务器节点上的cpu、内存和网络带宽资源,使得在同样规模的云服务资源下可以注册更多服务实例,节省云服务用户的计算资源和流量资源。同时,服务请求/响应无需将流量先经过每个业务容器的sidecar再送到对应业务容器,缩短转发路径长度,并且服务网格代理的数据面流量经过数据处理器加速,可以有效降低因系统调用、上下文切换带来的延迟。
56.本公开实施例通过向云服务器节点发送业务容器部署信息,来使云服务器节点创建多个业务容器,同时向云服务器节点的数据处理器发送第一安装指令,来使数据处理器安装集中式代理单元,从而使集中式代理单元和多个业务容器构成服务网格单元,由于将多个sidecar集成为一个集中式代理单元,因此降低了云原生服务网格的部署复杂度和运维复杂度,同时通过将集中式代理安装在安装于云服务器节点上的数据处理器,来达到将服务网格提供的服务卸载到数据处理器的效果,可以有效节省云服务器节点上的原本用于承载sidecar进程的cpu、内存和网络带宽资源,此外因为服务网格代理的数据面流量经过数据处理器加速,避免了由于将服务网格代理部署在云服务器节点上而引入的系统调用、上下文切换所带来的网络的时延。
57.在上述实施例的基础上,向云服务器节点发送业务容器部署信息之前,还包括:在服务集群的中心控制节点上安装容器编排引擎;将云服务器节点加入容器编排引擎的部署网络作为工作节点,以使容器编排引擎基于云服务器节点上注册的服务实例生成业务容器部署信息。
58.在实际应用中,服务集群中部署的容器化应用的数量非常庞大,人为的在云服务器节点上部署业务容器无法满足业务需求,并且业务容器后期的维护也难以实现,因此容
器编排引擎应运而生,使用容器编排引擎可以自动化部署及维护容器。
59.示例性的,在中心控制节点201上安装容器编排引擎205,然后将云服务器节点202加入容器编排引擎205的部署网络作为工作节点(worker node),利用容器编排引擎205来为云服务器节点202上注册的服务实例自动编排业务容器,生成对应的业务容器部署信息。例如,容器编排引擎可以使用kubernetes,kubernetes是一个开源的,用于管理服务集群中多个主机上的容器化的应用,它提供了容器自动化部署,规划,更新,维护的一种机制,可以让容器部署更加简单高效。使用kubernetes可以提供为云服务器节点202注册的服务实例自动化部署业务容器的策略,生成对应的业务容器部署信息。
60.本公开实施例通过在中心控制节点上安装容器编排引擎,并将云服务器节点加入容器编排引擎的部署网络作为工作节点,以使容器编排引擎自动化为云服务器节点上注册的服务实例部署业务容器,生成相应的业务容器部署信息,满足业务场景需求。
61.在上述实施例的基础上,向云服务器节点发送业务容器部署信息之前,还包括:向云服务器节点发送第二安装指令,以使云服务器节点安装容器创建引擎;向云服务器节点发送业务容器部署信息,以使云服务器节点根据业务容器部署信息创建多个业务容器,包括:向云服务器节点发送业务容器部署信息,以使容器创建引擎根据业务容器部署信息,为云服务器节点上注册的服务实例创建多个业务容器。
62.kubernetes作为容器编排引擎可以自动化部署容器的机制,即提供自动化部署容器的策略,不能直接创建业务容器,kubernetes通过创建pod,pod中可以包含一个或者多个业务容器,创建pod的前提是已经有一套可以正常运行的kubernetes集群,pod是一组(一个或多个)容器,这些容器共享存储、网络、以及怎样运行这些容器的声明,因此还需要创建业务容器的对象,这个对象就是容器创建引擎。
63.示例性的,中心控制节点201向云服务器节点202发送第二安装指令,云服务器节点202接收到第二安装指令后安装容器创建引擎206,利用容器创建引擎206来执行业务容器部署信息中的容器部署策略。在安装容器创建引擎206后,容器创建引擎206根据业务容器部署信息,为云服务器节点202上注册的服务实例创建业务容器2021、2022、2023。其中,容器创建引擎可以使用docker,也可以使用其它类型的容器创建引擎,本公开实施例不作限定。
64.本公开实施例通过向云服务器节点发送第二安装指令,以使云服务器节点安装容器创建引擎,利用容器创建引擎来根据业务容器部署信息创建多个业务容器,从而满足服务集群的业务需求。
65.图3为本公开实施例提供的服务网格系统的结构示意图。在上述实施例的基础上,该方法还包括:在中心控制节点上安装控制面平台,并从容器编排引擎同步云服务器节点上的多个业务容器的配置信息到控制面平台,以使控制面平台根据配置信息生成控制面流量,控制面流量是用于指示集中式代理单元管理进出云服务器节点上的多个业务容器的数据面流量的策略和/或配置所产生的流量;向云服务器节点发送第三安装指令,以使云服务器节点安装控制面代理单元,控制面代理单元用于将控制面流量转发给集中式代理单元。
66.示例性的,中心控制节点301上的容器编排引擎307(即kubernetes)在为服务集群的云服务器节点部署完业务容器后,以云服务器节点302为例,数据处理器303上安装的集中式代理单元304(即envoy),和云服务器节点302上的业务容器3021、3022、3023构成一个
服务网格单元,集中式代理单元304自身无法制定动态的流量管理策略,需要通过控制面组件提供的流量管理策略来管理进出业务容器3021、3022、3023的数据面流量。
67.因此在中心控制节点301上安装控制面平台305,控制面平台的程序可以使用istio,istio可以提供一种简单的方式来建立已部署的服务的网络,具备负载均衡,服务到服务认证,监控等等功能,而不需要改动任何服务代码。在中心控制节点301上安装istio后,从容器编排引擎307同步云服务器节点302上的多个业务容器的配置信息,以kubernetes为例,istio可以从kubernetes service api通过各个业务容器配置信息,包括动态信息和crd配置到istio(crd,custom resource definition,kubernetes 1.7之后增加了对crd自定义资源二次开发能力来扩展kubernetes api,通过crd可以向kubernetes service api中增加新资源类型)。由此istio可以根据云服务器节点302上各个业务容器的配置信息,生成指示集中式代理单元204管理进出云服务器节点上的多个业务容器的数据面流量的策略和/或配置,传输这些策略和/或配置所产生的流量即为控制面流量。同时,基于kubernetes的部署策略发送第三安装指令给云服务器节点302,以使云服务器节点安装控制面代理单元306,在控制面平台使用的是istio的情况下,安装的控制面代理单元为istio control plane agent,istio control plane agent从istio控制面平台同步指示envoy集中式代理的控制面流量,并将控制面流量转发给envoy集中式代理,即控制面代理单元306从控制面平台305同步到控制面流量后,将控制面流量转发给集中式代理单元304,这些控制面流量就是用于指示集中式代理单元304管理进出业务容器3021、3022、3023的数据面流量的策略和/或配置所产生的流量。
68.总的来说,控制面平台和多个云服务器节点上的控制面代理单元就构成了控制面组件,这个控制面组件就用于管理上述实施例中介绍的多个云服务器节点对应的服务网格单元所组成的服务网格,控制面组件和服务网格组成服务集群的整体服务网格系统。
69.本公开实施例通过在中心控制节点上安装控制面平台,以使控制面平台根据从容器编排引擎同步到的业务容器的配置信息,生成用于指示集中式代理单元管理进出云服务器节点上的多个业务容器的数据面流量的策略和/或配置所产生的控制面流量,并在云服务器节点安装控制面代理单元转发控制面流量给集中式代理单元,从而形成用于管理服务网格的控制面组件,满足服务集群业务场景的需求。
70.图4为本公开实施例提供的服务网格单元的部署装置的结构示意图。该服务网格单元的部署装置可以是如上实施例的服务器中的部件或组件。本公开实施例提供的服务网格单元的部署装置可以执行服务网格单元的部署方法实施例提供的处理流程,如图4所示,该服务网格单元的部署装置400包括:第一部署模块401,用于向云服务器节点发送业务容器部署信息,以使云服务器节点根据业务容器部署信息创建多个业务容器;第二部署模块402,用于向安装于云服务器节点上的数据处理器发送第一安装指令,以使数据处理器安装集中式代理单元,以使集中式代理单元和多个业务容器构成服务网格单元;其中,集中式代理单元用于代理进出多个业务容器的数据面流量,数据面流量为不同业务容器中运行的服务实例之间进行通信所产生的流量。
71.在一些实施例中,第一部署模块401在向云服务器节点发送业务容器部署信息之前,还用于在服务集群的中心控制节点上安装容器编排引擎;将云服务器节点加入容器编排引擎的部署网络作为工作节点,以使容器编排引擎基于云服务器节点上注册的服务实例
生成业务容器部署信息。
72.在一些实施例中,第一部署模块401在向云服务器节点发送业务容器部署信息之前,还用于向云服务器节点发送第二安装指令,以使云服务器节点安装容器创建引擎;第一部署模块401在向云服务器节点发送业务容器部署信息,以使云服务器节点根据业务容器部署信息创建多个业务容器时,具体用于向云服务器节点发送业务容器部署信息,以使容器创建引擎根据业务容器部署信息,为云服务器节点上注册的服务实例创建多个业务容器。
73.在一些实施例中,装置还包括第三部署模块403,用于在中心控制节点上安装控制面平台,并从容器编排引擎同步云服务器节点上的多个业务容器的配置信息到控制面平台,以使控制面平台根据配置信息生成控制面流量,控制面流量是用于指示集中式代理单元管理进出云服务器节点上的多个业务容器的数据面流量的策略和/或配置所产生的流量;向云服务器节点发送第三安装指令,以使云服务器节点安装控制面代理单元,控制面代理单元用于将控制面流量转发给集中式代理单元。
74.图4所示实施例的服务网格单元的部署装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
75.图5为本公开实施例提供的电子设备的结构示意图。该电子设备可以是如上实施例所述的服务器。本公开实施例提供的电子设备可以执行服务网格单元的部署方法实施例提供的处理流程,如图5所示,电子设备500包括:存储器501、处理器502、计算机程序和通讯接口503;其中,计算机程序存储在存储器501中,并被配置为由处理器502执行如上所述的服务网格单元的部署方法。
76.另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的服务网格单元的部署方法。
77.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
78.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1