一种分布式数据库的查询方法及装置与流程

文档序号:22428860发布日期:2020-10-02 10:07阅读:125来源:国知局
本公开涉及数据库
技术领域
:,尤其涉及一种分布式数据库的查询方法及装置。
背景技术
::随着互联网技术的发展,数据量急剧增加,各行业使用基于无共享的分布式数据库集群来存储数据的场景越来越多,而且很多场景需要对大量数据进行分析,因此查询性能是衡量分布式数据库的一项重要指标。查询中聚集操作在数据库的处理中非常重要,特别是在业务报表、统计分析、数据挖掘等场景,聚集操作通常涉及较大的数据量或较大的计算量,执行时间较长,因此聚集查询直接影响数据库系统的执行效率和反应速度。对于传统单机数据库,数据是集中存储的,聚集操作只需在数据库的扫描表的同时上进行聚集即可。但是对于基于无共享的分布式数据库,由于分布式数据库的数据通过分片技术在各节点进行分片存储的,在执行聚集操作时,会涉及到了分片数据的传输移动。因此,减少聚集查询过程中数据的移动就成为了影响分布式数据库聚集查询性能的主要因素。目前分布式数据库的聚集的方法主要有如下分组聚集和无分组聚集两种。其中,无分组聚集从计算节点到主节点需要移动大量数据,分组聚集重分布操作会使得各计算节点之间相互移动大量的数据。因此,现有的聚集方法在执行过程中节点之间需要移动大量的数据,导致执行效率低、速度慢。技术实现要素:为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种分布式数据库的查询方法及装置,可以在性能上提高聚集查询的速度和效率。本公开提供了一种分布式数据库的查询方法,所述数据库包括主节点和与所述主节点连接的多个计算节点,所述方法应用于所述计算节点,所述方法包括:接收所述主节点发送的含有多阶段聚集操作的查询计划;其中,所述查询计划为所述主节点基于客户端的查询请求生成的;在执行所述查询计划的过程中,获取待聚集的原始数据,并对所述原始数据执行多阶段聚集操作,得到目标聚集数据;其中,所述多阶段聚集操作表示对所述原始数据执行至少一次聚集操作;将所述目标聚集数据发送给所述主节点,以使所述主节点基于各所述计算节点的所述目标聚集数据得到查询结果。进一步,所述对所述原始数据执行多阶段聚集操作,得到目标聚集数据的步骤,包括:当聚集方式为无分组聚集的方式时,对所述原始数据执行本地聚集操作,生成目标聚集数据;所述主节点基于各所述计算节点的所述目标聚集数据得到查询结果的步骤,包括:所述主节点对各所述计算节点的所述目标聚集数据进行整合,得到整合数据;以及,对所述整合数据进行聚集,得到查询结果。进一步,所述对所述原始数据执行多阶段聚集操作,得到目标聚集数据的步骤,包括:当聚集方式为分组聚集的方式时,对所述原始数据执行分组聚集操作,得到哈希值和第一聚集数据;根据所述哈希值将全部所述第一聚集数据重新分布至各所述计算节点,得到重新分布后的第二聚集数据;各所述计算节点对所述第二聚集数据执行所述分组聚集操作,得到目标聚集数据;所述主节点基于各所述计算节点的所述目标聚集数据得到查询结果的步骤,包括:所述主节点对各所述计算节点的所述目标聚集数据进行整合,得到整合数据,得到查询结果。本公开还提供了一种分布式数据库的查询方法,所述数据库包括主节点和与所述主节点连接的多个计算节点,所述方法应用于所述主节点,所述方法包括:基于接收到的客户端的查询请求生成含有多阶段聚集操作的查询计划;将所述查询计划发送至各所述计算节点,以使各所述计算节点均在执行所述查询计划的过程中,获取待聚集的原始数据,并对所述原始数据执行多阶段聚集操作,得到目标聚集数据;其中,所述多阶段聚集操作表示对所述原始数据执行至少一次聚集操作;接收各所述计算节点发送的所述目标聚集数据,并基于各所述目标聚集数据得到查询结果。进一步,所述基于接收到的客户端的查询请求生成含有聚集操作的查询计划的步骤,包括:所述主节点对接收到的客户端的查询请求执行认证操作;当所述查询请求认证成功并建立连接后,所述数据库接收所述客户端发送的所述查询请求;通过解析器对所述查询请求进行解析,生成语法树;对所述语法树进行语义分析和查询重写,生成查询树;通过优化器对聚集操作进行优化,生成多阶段聚集操作,以及对所述查询树进行处理,生成含有多阶段聚集操作的查询计划。进一步,所述对所述原始数据执行多阶段聚集操作,得到目标聚集数据的步骤,包括:当聚集方式为无分组聚集的方式时,通过各所述计算节点对所述原始数据执行本地聚集操作,生成目标聚集数据;所述基于各所述目标聚集数据得到查询结果的步骤,包括:对各所述计算节点的所述目标聚集数据进行整合,得到整合数据;对所述整合数据进行聚集,得到查询结果。进一步,所述对所述原始数据执行多阶段聚集操作,得到目标聚集数据的步骤,包括:当聚集方式为分组聚集的方式时,通过各所述计算节点对所述原始数据执行分组聚集操作,得到哈希值和第一聚集数据;根据所述哈希值将全部所述第一聚集数据重新分布至各所述计算节点,得到重新分布后的第二聚集数据;以及通过各所述计算节点对所述第二聚集数据执行所述分组聚集操作,得到目标聚集数据;所述基于各所述目标聚集数据得到查询结果的步骤,包括:对各所述计算节点的所述目标聚集数据进行整合,得到查询结果。进一步,所述方法还包括:将所述查询结果返回给所述客户端。本公开还提供了一种分布式数据库的查询装置,所述数据库包括主节点和与所述主节点连接的多个计算节点,所述装置应用于所述计算节点,所述装置包括:计划接收模块,用于接收所述主节点发送的含有聚集操作的查询计划;其中,所述查询计划为所述主节点基于客户端的查询请求生成的;计划执行模块,用于在执行所述查询计划的过程中,获取待聚集的原始数据,并对所述原始数据执行多阶段聚集操作,得到目标聚集数据;其中,所述多阶段聚集操作表示对所述原始数据执行至少一次聚集操作;数据发送模块,用于将所述目标聚集数据发送给所述主节点,以使所述主节点基于各所述计算节点的所述目标聚集数据得到查询结果。本公开还提供了一种分布式数据库的查询装置,所述数据库包括主节点和与所述主节点连接的多个计算节点,所述装置应用于所述主节点,所述装置包括:计划生成模块,用于基于接收到的客户端的查询请求生成含有多阶段聚集操作的查询计划;计划发送模块,用于将所述查询计划发送至各所述计算节点,以使各所述计算节点均在执行所述查询计划的过程中,获取待聚集的原始数据,并对所述原始数据执行多阶段聚集操作,得到目标聚集数据;其中,所述多阶段聚集操作表示对所述原始数据执行至少一次聚集操作;数据接收模块,用于接收各所述计算节点发送的所述目标聚集数据,并基于各所述目标聚集数据得到查询结果。本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的分布式数据库的查询方法及装置,该方法以数据库中的各计算节点为执行主体,首先接收主节点发送的含有聚集操作的查询计划;其中,查询计划为主节点基于客户端的查询请求生成的;然后在执行查询计划的过程中,获取待聚集的原始数据,并对原始数据执行多阶段聚集操作,得到目标聚集数据;其中,多阶段聚集操作表示对原始数据执行至少一次聚集操作;最后将目标聚集数据发送给主节点,以使主节点基于各计算节点的目标聚集数据得到查询结果。相比于现有技术中通常采用的单阶段聚集,本公开实施例提供的聚集操作为多阶段聚集操作;基于此,在执行查询计划时通过多阶段聚集,减少了聚集过程中计算节点之间的数据移动,降低了网络的压力,以及,在多个计算节点并行执行聚集操作,充分利用计算节点的自身性能,降低了主节点压力;从而,通过并行的多阶段聚集,大大缩短了聚集消耗的时间,性能有了明显的提升,且性能的提升倍数和聚集操作需要移动的数据量有关,数据量越大,提升倍数越多。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例所述一种分布式数据库的查询方法流程图;图2为本公开实施例所述查询计划的生成方法流程图;图3为本公开实施例所述多阶段无分组聚集查询计划的应用场景示意图;图4为本公开实施例所述多阶段分组聚集查询计划的应用场景示意图;图5为本公开实施例所述另一种分布式数据库的查询方法流程图;图6为本公开实施例所述单阶段无分组聚集执行结果示意图;图7为本公开实施例所述多阶段无分组聚集执行结果示意图;图8为本公开实施例所述单阶段分组聚集执行结果示意图;图9为本公开实施例所述多阶段分组聚集执行结果示意图。具体实施方式为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。实施例一:本公开实施例提供一种分布式数据库的查询方法,其中,该分布式数据库包括主节点和与主节点连接的多个计算节点。参照图1所示的分布式数据库的查询方法流程图,该方法应用于计算节点,可以包括如下步骤:步骤s102,接收主节点发送的含有多阶段聚集操作的查询计划;其中,查询计划为主节点基于客户端的查询请求生成的;步骤s104,在执行查询计划的过程中,获取待聚集的原始数据,并对原始数据执行多阶段聚集操作,得到目标聚集数据;其中,多阶段聚集操作表示对原始数据执行至少一次聚集操作;步骤s106,将目标聚集数据发送给主节点,以使主节点基于各计算节点的目标聚集数据得到查询结果。此外,主节点还会将查询结果返回给客户端。该实施例提供的分布式数据库的查询方法中,聚集操作为多阶段聚集操作,基于此,在计算节点执行查询计划时通过多阶段聚集,减少了聚集过程中计算节点之间的数据移动,降低了网络的压力,以及,在多个计算节点并行执行聚集操作,充分利用计算节点的自身性能,降低了主节点压力;从而,通过并行的多阶段聚集,大大缩短了聚集消耗的时间,性能有了明显的提升。为了更好地理解上述实施例所提供的分布式数据库的查询方法,下面对本发明实施例提供的方案进行详细描述。针对步骤s102中的查询计划,可参照图2所示的查询计划的生成方法流程图,本实施例提供一种通过主节点生成查询计划的方法,参照如下步骤s202至步骤s210:步骤s202,主节点对接收到的客户端的sql请求(也即为查询请求)执行认证操作。步骤s204,当查询请求认证成功并建立连接后,客户端可以发送查询给数据库,在此情况下,数据库接收客户端发送的查询请求。步骤s206,通过解析器对查询请求进行解析,生成语法树;具体的,解析器负责对接收到的查询sql字符串进行词法解析、语法解析,以生成语法树。步骤s208,对语法树进行语义分析和查询重写,生成查询树。步骤s210,通过优化器对聚集操作进行优化,生成多阶段聚集操作,以及对查询树进行处理,生成含有多阶段聚集操作的查询计划。具体的,优化器对查询树进行处理,从所有可能的查询计划中选择一个最优或接近最优的计划,生成查询计划。查询计划通常以树形结构描述如何执行一个查询;优化器还支持对聚集操作进行优化,生成多阶段聚集计划;基于此,优化器能够生成含有多阶段聚集操作的查询计划。接下来,通过调度器将该含有多阶段聚集操作的查询计划发送给所有计算节点上的执行器。调度器负责任务的执行,包括执行器的创建、销毁、错误处理、任务取消、状态更新等。执行器接收到调度器发送的查询计划后,开始执行各自负责的相关计划;在执行查询计划时,基于聚集方式的不同,执行多阶段聚集操作的过程也不同。当聚集方式为无分组聚集的方式时,每个计算节点均对原始数据执行本地聚集操作,生成目标聚集数据。其中,典型的操作包括:数据扫描、哈希连接、排序、聚集等。具体的,参照图3所示的多阶段无分组聚集查询计划的应用场景示意图,计算节点首先获取待聚集的原始数据,比如可以通过seqscan获取表的数据(如图3中所示的seqscanontable);然后对原始数据执行本地聚集操作,也即对原始数据进行aggregate聚集以生成目标聚集数据。相对于单阶段聚集,并不会由计算节点对原始数据执行本地聚集操作,因此单阶段聚集会把所有的原始数据发送给主节点,导致传输数据量比较大。与之不同的是,本实施例由于各计算节点的原始数据经过了一次聚集,从而发送给主节点的数据量很小,各计算节点通过本地并行执行聚集可以避免主节点成为瓶颈。各个计算节点分别将各自的目标聚集数据发送给主节点,从而,主节点先对各计算节点的目标聚集数据进行整合(gathermotion),得到整合数据;然后再对整合数据进行聚集,得到的最终的聚集结果即为查询结果。当然,主节点还会将查询结果返回给客户端。当聚集方式为分组聚集的方式时,参照图4所示的多阶段分组聚集查询计划的应用场景示意图,执行多阶段聚集操作的过程可包括如下步骤:(1)参照分组聚集的方式,每个计算节点同样可以通过seqscan顺序获取表的数据作为原始数据;(2)对原始数据执行hashaggregate(分组聚集)操作,得到哈希值和第一聚集数据;对于hashaggregate来说,数据库会根据groupby字段后面的值算出哈希值。(3)根据哈希值将全部第一聚集数据重新分布至各计算节点,得到重新分布后的第二聚集数据;(4)各计算节点对第二聚集数据执行分组聚集操作,得到目标聚集数据。相对于单阶段聚集,并不会由计算节点对原始数据执行hashaggregate操作得到第一聚集数据,因此会对全部原始数据做重新分布。与之不同的是,本实施例首先由各计算节点在本地做分组聚集操作,然后对聚集之后的第一聚集数据进行重分布之后再一次执行分组聚集操作,然后把二次聚集后数据(目标聚集数据)发送给主节点,主节点进行数据整合得到最终聚集结果,由于计算节点之间重分布的数据经过了一次聚集,因此传输的数据量大大减少,减轻网络压力,缩短了传输时间。进一步的,各个计算节点分别将各自的目标聚集数据发送给主节点,从而,主节点对各计算节点的目标聚集数据进行整合,得到的整合结果即为查询结果。当然,主节点还会将查询结果返回给客户端。实施例二:在另一种实施例中,还提供一种分布式数据库的查询方法,数据库包括主节点和与主节点连接的多个计算节点,该方法应用于主节点,可以包括如下步骤:步骤1,基于接收到的客户端的查询请求生成含有多阶段聚集操作的查询计划;步骤2,将查询计划发送至各计算节点,以使各计算节点均在执行查询计划的过程中,获取待聚集的原始数据,并对原始数据执行多阶段聚集操作,得到目标聚集数据;其中,多阶段聚集操作表示对原始数据执行至少一次聚集操作;步骤3,接收各计算节点发送的目标聚集数据,并基于各目标聚集数据得到查询结果。该实施例提供的分布式数据库的查询方法中,首先主节点生成含有多阶段聚集操作的查询计划,然后在通过计算节点执行查询计划时通过多阶段聚集,减少了聚集过程中计算节点之间的数据移动,降低了网络的压力,以及,在多个计算节点并行执行聚集操作,充分利用计算节点的自身性能,降低了主节点压力;从而,通过并行的多阶段聚集,大大缩短了聚集消耗的时间,性能有了明显的提升。在一种实施例中,上述基于接收到的客户端的查询请求生成含有聚集操作的查询计划的步骤,包括:主节点对接收到的客户端的查询请求执行认证操作;当查询请求认证成功并建立连接后,数据库接收客户端发送的查询请求;通过解析器对查询请求进行解析,生成语法树;对语法树进行语义分析和查询重写,生成查询树;通过优化器对聚集操作进行优化,生成多阶段聚集操作,以及对查询树进行处理,生成含有多阶段聚集操作的查询计划。在一种实施例中,上述对原始数据执行多阶段聚集操作,得到目标聚集数据的步骤,包括:当聚集方式为无分组聚集的方式时,通过各计算节点对原始数据执行本地聚集操作,生成目标聚集数据。基于此,基于各目标聚集数据得到查询结果的步骤具体包括:对各计算节点的目标聚集数据进行整合,得到整合数据;对整合数据进行聚集,得到查询结果。当聚集方式为分组聚集的方式时,通过各计算节点对原始数据执行分组聚集操作,得到哈希值和第一聚集数据;根据哈希值将全部第一聚集数据重新分布至各计算节点,得到重新分布后的第二聚集数据;以及通过各计算节点对第二聚集数据执行分组聚集操作,得到目标聚集数据。基于此,基于各目标聚集数据得到查询结果的步骤具体包括:对各计算节点的目标聚集数据进行整合,得到查询结果。以及,该方法还包括主节点将查询结果返回给客户端。本实施例所提供的方法,其实现原理及产生的技术效果和前述实施例一相同,为简要描述,本实施例部分未提及之处,可参考前述方法实施例一中相应内容。实施例三:参照图5所示的另一种分布式数据库的查询方法流程图,本公开实施例提供的分布式数据库的查询方法主要包括如下步骤:步骤1),客户端向分布式数据库发送sql请求。步骤2),对sql请求进行词法解析、语法解析,生成语法树。步骤3),对语法树进行预处理以确定是否分发语法树;如果是,则执行如下步骤4);如果否,则执行实用程序命令,如ddl等。步骤4),对语法树进行语义分析和查询重写(如选择、插入、更新、删除),生成查询树。步骤5),优化器对查询树进行处理,生成含有多阶段聚集操作的查询计划。步骤6),计算节点的执行器执行查询计划,以向客户端返回查询结果。该步骤的具体实现方式可参照上述实施例一,在此不再详细描述。下面以实际应用中的具体例子对分布式数据库的查询方法进行详细说明:对分布在四个计算节点的表做聚集查询。首先,根据如下方法创建表并插入数据:createtabletest(aint,bint);insertintotestselectgenerate_series(1,10000000),generate_series(1,1000);然后,比较如图6所示的单阶段无分组聚集执行结果和如图7所示多阶段的无分组聚集执行结果;以及比较如图8所示的单阶段分组聚集执行结果和如图9所示的多阶段分组聚集执行结果。比较结果表明,对于无分组聚集,单阶段聚集的时间是8283.656ms,多阶段聚集的时间是2042.374ms,多阶段聚集性能提升明显。对于分组聚集:单阶段聚集的时间是3833.175ms,多阶段聚集的时间是2707.838ms,多阶段聚集性能同样提升明显,性能的提升倍数和聚集操作需要移动的数据量有关,数据量越大,提升倍数越多。本实施例所提供的方法,其实现原理及产生的技术效果和前述实施例一和二相同,为简要描述,本实施例部分未提及之处,可参考前述方法实施例一和二中相应内容。实施例四:本公开实施例提供一种分布式数据库的查询装置,用于实现上述多个实施例中的分布式数据库的查询方法。该分布式数据库包括主节点和与主节点连接的多个计算节点,该装置应用于计算节点,装置包括:计划接收模块,用于接收主节点发送的含有聚集操作的查询计划;其中,查询计划为主节点基于客户端的查询请求生成的;计划执行模块,用于在执行查询计划的过程中,获取待聚集的原始数据,并对原始数据执行多阶段聚集操作,得到目标聚集数据;其中,多阶段聚集操作表示对原始数据执行至少一次聚集操作;数据发送模块,用于将目标聚集数据发送给主节点,以使主节点基于各计算节点的目标聚集数据得到查询结果。在一种实施例中,上述计划执行模块还用于:当聚集方式为无分组聚集的方式时,对原始数据执行本地聚集操作,生成目标聚集数据。上述主节点基于各计算节点的目标聚集数据得到查询结果具体包括:主节点对各计算节点的目标聚集数据进行整合,得到整合数据;以及,对整合数据进行聚集,得到查询结果。在一种实施例中,上述计划执行模块还用于:当聚集方式为分组聚集的方式时,对原始数据执行分组聚集操作,得到哈希值和第一聚集数据;根据哈希值将全部第一聚集数据重新分布至各计算节点,得到重新分布后的第二聚集数据;各计算节点对第二聚集数据执行分组聚集操作,得到目标聚集数据。上述主节点基于各计算节点的目标聚集数据得到查询结果具体包括:主节点对各计算节点的目标聚集数据进行整合,得到整合数据,得到查询结果。该实施例提供的分布式数据库的查询装置中,聚集操作为多阶段聚集操作,基于此,在计算节点执行查询计划时通过多阶段聚集,减少了聚集过程中计算节点之间的数据移动,降低了网络的压力,以及,在多个计算节点并行执行聚集操作,充分利用计算节点的自身性能,降低了主节点压力;从而,通过并行的多阶段聚集,大大缩短了聚集消耗的时间,性能有了明显的提升。本公开实施例还提供一种分布式数据库的查询装置,数据库包括主节点和与主节点连接的多个计算节点,装置应用于主节点,装置包括:计划生成模块,用于基于接收到的客户端的查询请求生成含有多阶段聚集操作的查询计划;计划发送模块,用于将查询计划发送至各计算节点,以使各计算节点均在执行查询计划的过程中,获取待聚集的原始数据,并对原始数据执行多阶段聚集操作,得到目标聚集数据;其中,多阶段聚集操作表示对原始数据执行至少一次聚集操作;数据接收模块,用于接收各计算节点发送的目标聚集数据,并基于各目标聚集数据得到查询结果。在一种实施例中,上述计划生成模块还用于:主节点对接收到的客户端的查询请求执行认证操作;当查询请求认证成功并建立连接后,数据库接收客户端发送的查询请求;通过解析器对查询请求进行解析,生成语法树;对语法树进行语义分析和查询重写,生成查询树;通过优化器对聚集操作进行优化,生成多阶段聚集操作,以及对查询树进行处理,生成含有多阶段聚集操作的查询计划。在一种实施例中,上述对原始数据执行多阶段聚集操作,得到目标聚集数据具体包括:当聚集方式为无分组聚集的方式时,通过各计算节点对原始数据执行本地聚集操作,生成目标聚集数据。上述数据接收模块还用于:对各计算节点的目标聚集数据进行整合,得到整合数据;对整合数据进行聚集,得到查询结果。在一种实施例中,上述对原始数据执行多阶段聚集操作,得到目标聚集数据具体包括:当聚集方式为分组聚集的方式时,通过各计算节点对原始数据执行分组聚集操作,得到哈希值和第一聚集数据;根据哈希值将全部第一聚集数据重新分布至各计算节点,得到重新分布后的第二聚集数据;以及通过各计算节点对第二聚集数据执行分组聚集操作,得到目标聚集数据。上述数据接收模块还用于:对各计算节点的目标聚集数据进行整合,得到查询结果。在一种实施例中,上述装置还包括结果返回模块,用于将查询结果返回给客户端。该实施例提供的分布式数据库的查询装置中,首先主节点生成含有多阶段聚集操作的查询计划,然后在通过计算节点执行查询计划时通过多阶段聚集,减少了聚集过程中计算节点之间的数据移动,降低了网络的压力,以及,在多个计算节点并行执行聚集操作,充分利用计算节点的自身性能,降低了主节点压力;从而,通过并行的多阶段聚集,大大缩短了聚集消耗的时间,性能有了明显的提升。本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例一至三相同,为简要描述,本实施例部分未提及之处,可参考前述方法实施例中相应内容。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1