一种联邦学习异构处理系统的算法验证方法及系统与流程

文档序号:23765681发布日期:2021-01-29 20:12阅读:72来源:国知局
一种联邦学习异构处理系统的算法验证方法及系统与流程

[0001]
本说明书实施例通常涉及异构计算领域,尤其涉及用于联邦学习异构处理系统的算法验证方法及系统。


背景技术:

[0002]
本发明涉及人工智能(artificial intelligence,ai)领域的联邦学习异构系统,联邦学习是一种分布式机器学习框架,在保证数据安全性、私密性、合法性的前提下,不同参与方实现共同建模。不同参与方之间要安全而私密地共享数据,必须先对数据进行同态加密,同态加密是一种高位宽、大整数的数学运算,计算量非常复杂,同时涉及到对计算实时性等要求,在实际应用中同态加密的实现逐渐由软件向硬件转变,多以cpu结合异构计算芯片的方式从硬件上优化异构计算系统,从而提升系统整体的计算能力。
[0003]
cpu加异构计算芯片的方式为联邦学习提供了强大的计算性能,在保障产品的功能与性能的同时,需要对同态加密算法在硬件实现过程中的正确性进行有效性验证。
[0004]
硬件方式的算法验证方案,需要设计电路,或者将算法转换成机器语言,编译、布局布线、下载到异构芯片上,并且硬件设计周期很长,动辄几周甚至数月,且每次算法变动,都要更改硬件设计,导致验证的迭代周期很长。


技术实现要素:

[0005]
鉴于上述,本说明书的实施例提供一种联邦学习异构处理系统的验证系统及方法。利用该异构处理系统的验证系统及方法,充分考虑了硬件实现的特性,直接将同态加密相关算法涉及到的伪代码优化至真实硬件实现方式,更加贴近硬件实现,进一步减少了后期硬件设计的工作量,同时结合软硬测试的优点,提高算法验证的准确性,可以实现快速、有效的验证算法。
[0006]
根据本说明书的实施例的一个方面,提供一种联邦学习异构处理系统的算法验证方法,应用于验证异构处理系统中fpga异构计算芯片算法的正确性,包括:获取配置信息,所述配置信息包括算法类型、各输入参数和各输入参数的位宽;根据所述各输入参数的位宽配置信息随机生成输入参数数据;根据所述输入参数数据进行基于标准运算库的计算,得到标准值;基于fpga异构计算芯片的实际算法,根据所述输入参数数据进行计算,得到实际值;比较所述标准值和所述实际值,若所述标准值和所述实际值一致,则所述算法验证通过,若所述标准值和所述实际值不一致,则发出报错信息。
[0007]
可选地,在上述方面的一个示例中,所述算法为paillier加密算法,表达式为c=(1+m
×
n)
×
(r
n
)modn,其中:m为明文,n为秘钥,r为随机数,n=n2,c为密文数据;所述输入参数包括m、n、r和n。
[0008]
可选地,在上述方面的一个示例中,根据m、n、r和n的位宽配置信息,随机生成输入参数数据。
[0009]
可选地,在上述方面的一个示例中,标准运算库为大整数运算库,将所述随机生成
的输入参数数据代入所述大整数运算库,得到标准值。
[0010]
可选地,在上述方面的一个示例中,将所述paillier加密算法表达式c=(1+m
×
n)
×
(r
n
)modn转化为:c=((1+m
×
n)modn)
×
((r
n
)modn)modn,其中,raw=(1+m
×
n)modn,p=(r
n
)modn;基于大整数运算库和实际算法分别得到raw的标准值和实际值,若raw的标准值和实际值相等,则验证raw通过;基于大整数运算库和实际算法分别得到p的标准值和实际值,若p的标准值和实际值相等,则验证p通过;若raw和p均验证通过,再进一步验证c的准确性。
[0011]
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得机器执行如上所述的任务处理方法。
[0012]
根据本说明书的实施例的另一方面,提供一种联邦学习异构处理系统的算法验证系统,包括:参数配置模块,产生配置信息,所述配置信息包括算法类型,各输入参数和各输入参数的位宽;数据产生模块,根据所述各输入参数的位宽配置信息随机生成输入参数数据;算法计算模块,包括第一计算模块和第二计算模块,所述第一计算模块进行基于标准运算库的计算得到标准值,所述第二计算模块进行基于实际算法的计算得到实际值;结果对比模块,比较所述标准值和所述实际值是否一致,若一致,则判断所述算法验证通过;数据存储模块,存储所述数据产生模块生成的所述输入参数数据,以及所述算法计算模块生成的所述标准值和实际值;数据传输模块,将验证中的数据在所述数据存储模块、所述算法计算模块和所述结果对比模块之间进行传输。
[0013]
可选地,在上述方面的一个示例中,所述算法为paillier同态加密算法,表达式为c=(1+m
×
n)
×
(r
n
)modn,其中:m为明文,n为秘钥,r为随机数,n=n2,c为密文数据;输入参数包括m、n、r和n。
[0014]
可选地,在上述方面的一个示例中,所述算法验证系统还包括算法分解模块,所述算法分解模块将所述paillier同态加密算法表达式转化为:c=((1+m
×
n)modn)
×
((r
n
)modn)modn,其中:raw=(1+m
×
n)modn,p=(r
n
)modn;所述第一计算模块基于大整数运算库和实际算法分别得到raw的标准值和实际值;所述第二计算模块基于大整数运算库和实际算法分别得到p的标准值和实际值;所述算法验证模块比较raw的标准值和实际值是否一致,若一致,则判断raw验证通过,比较若p的标准值和实际值是否一致,若一致,则判断p验证通过;若raw和p均验证通过,再进一步验证c的准确性。
[0015]
可选地,在上述方面的一个示例中,所述参数配置模块可配置多种算法,多种算法可同时并行进行验证。
附图说明
[0016]
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
[0017]
图1示出了根据本说明书的实施例的联邦学习异构处理系统的算法验证系统的示意图。
[0018]
图2示出了根据本说明书的实施例的异构处理系统的算法计算模块的示意图。
[0019]
图3示出了根据本说明书的实施例的fpga芯片的示意图。
[0020]
图4示出了根据本说明书实施例的一种联邦学习异构处理系统的算法验证方法的
流程图。
[0021]
图5示出了根据本说明书实施例的一种联邦学习异构处理系统的算法验证方法的详细流程图。
具体实施方式
[0022]
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
[0023]
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
[0024]
在人工智能(artificial intelligence,ai)领域,联邦学习是很重要的机器学习框架。该机器学习框架可以在保证不同企业、机构或用户的数据安全性、私密性和合法性的前提下,实现双方数据的共享,例如,用于ai的训练和学习,从而打破数据孤岛限制。
[0025]
数据是机器学习的基础,要保证不同企业或用户之间数据安全而私密地共享,则需要对数据进行多方安全计算处理。多方安全计算的示例可以包括同态加密运算。同态加密运算是一种高位宽、大整数的复杂数学运算,其计算量非常大,而且还涉及到对计算实时性和性能的要求,从而使得计算系统对硬件处理器有很高的要求。
[0026]
传统的单一cpu硬件系统,所有的计算任务都交由cpu完成。上层通过软件代码的方式实现同态加密算法,其实质是将代码最终将转化为cpu计算指令,在cpu中一条条地串行执行。按照这种任务处理机制,任务处理并行度低,计算延迟高,计算效率低,无法满足ai应用场景中的计算性能需求。
[0027]
适用于联邦学习的异构处理系统应运而生,在联邦学习异构系统中,异构计算芯片通常扮演着高速运算器的作用,承担复杂运算的实现,以减轻cpu的工作压力。异构处理系统包括主处理设备和从处理设备,在该异构处理系统中,主处理设备通常为cpu,从处理设备通常为异构计算芯片,包括现场可编程门阵列(field programmable gate array,fpga)和图形处理器(graphics processingunit,gpu)等。主处理设备将大部分算法任务下发给从处理设备,由从处理设备来负责算法任务处理。按照这种机制,利用从处理设备的高并行性,低延迟等特性,可以大大提升算法计算的性能,降低了任务处理延迟,同时提升了异构处理系统的计算处理效率。
[0028]
一种异构处理系统由cpu+fpga构成,fpga是一种可编程设计的硬件芯片,具有高灵活性、高并行度和低延迟处理的特点。fpga的内部可以定制化算法设计或控制逻辑,并且fpga上的算法实现属于“硬件实现”,最终运行的状态是特定的电路结构,没有操作系统和
指令的概念,从而使得fpga能够高度并行且快速地完成数据处理。
[0029]
但fpga本身研发周期较长,若算法变动还需要重新更改硬件设计,验证的迭代周期更长。在保障产品的功能与性能的同时,为了验证同态加密算法在硬件实现过程中的正确性,因此本发明提出了一种为联邦学习异构系统设计的算法验证方法。
[0030]
本发明提供一种异构处理系统的算法验证系统,图1示出了根据本说明书的实施例的联邦学习异构处理系统的算法验证系统的示意图。如图1所示,所述算法验证系统包括:参数配置模块100、数据产生模块200,算法计算模块300,结果对比模块400,数据传输模块500和数据存储模块600。
[0031]
参数配置模块100配置算法得到算法信息,算法信息包括算法类型、各输入参数和各输入参数的位宽。
[0032]
数据产生模块200,根据所述各输入参数的位宽配置信息随机生成输入参数数据。由于可自动且随机生成联邦学习相关运算数据,降低了测试的人力成本。
[0033]
算法计算模块300包括第一计算模块和第二计算模块,第一计算模块进行基于标准运算库的计算得到标准值,第二计算模块进行基于实际算法的计算得到实际值,由于可自动进行计算,进一步降低了验证的人力成本。
[0034]
结果对比模块400,比较所述标准值和所述实际值是否一致,若一致,则判断所述算法验证通过。
[0035]
数据存储模块600存储数据产生模块生成的输入参数数据,以及算法计算模块生成的标准值和实际值。数据传输模块500将验证中的数据在数据存储模块、算法计算模块和结果对比模块之间进行传输。
[0036]
本方案充分考虑硬件实现的特性,直接将同态加密相关算法涉及到的伪代码优化至真实硬件实现方式,更加贴近硬件实现,也进一步减少了后期硬件设计的工作量,同时结合软硬测试的优点,提高算法验证的准确性,可以实现快速、有效的验证算法。
[0037]
下面将结合附图1描述根据本说明书的实施例的一种联邦学习异构处理系统的算法验证方法及系统。
[0038]
同态加密包括加法同态加密(homomorphic encryption),加法同态加密的算法包括paillier、benaloh或okamoto-uchiyama等;同态加密还包括乘法同态加密,乘法同态加密算法包括rsa;同态加密还包括全同态加密,全同态加密算法包括gentry等。下面以paillier同态加密算法为例介绍联邦学习异构处理系统的算法验证系统,但该方案不局限于paillier同态加密算法,还适用于其他算法。
[0039]
paillier同态加密算法的表达式为c=(1+m
×
n)
×
(r
n
)modn,其中:m为明文,n为秘钥,r为随机数,n=n2,c为密文数据,输入参数包括m、n、r和n。
[0040]
参数配置模块100配置算法和各输入参数的位宽。在本说明书的一个示例中,配置当前要执行的同态加密算法为paillier加密算法;同时配置各输入参数的位宽,例如设置n的位宽n_length为1024比特,则对应明文m和随机数r的位宽也为n_length,即1024比特,n的位宽为2倍的n_length,即2048比特。
[0041]
参数配置模块可灵活配置相关参数,可选地,除了对算法类型、各输入参数和各输入参数的位宽进行配置以外,还可以配置比如验证用的机器语言、处理器并行核数和每批数据的大小等,如配置每批数据包含m和r的个数均为10000,n和n的个数均为1。
[0042]
可选地,为进一步验证算法的健壮性和稳定性,除了按照上述方式配置各输入参数的位宽,还可以将各输入参数配置为其他的位宽。
[0043]
数据产生模块200根据各输入参数的位宽配置信息随机生成输入参数数据,基于paillier加密算法的要求,要求保证n的最高位为1,并按一定顺序写入数据存储模块600。由于各输入参数可自动生成,不需要人去编写各输入参数数据,进一步降低了验证系统的人力成本。
[0044]
算法计算模块300根据接收到的输入参数数据和参数配置模块的配置信息开始执行paillier加密算法的计算,图2示出了根据本说明书的实施例的异构处理系统的算法计算模块的示意图,算法计算模块300包括第一计算模块310和第二计算模块320,第一计算模块310进行基于标准运算库的计算得到标准值,第二计算模块320进行基于实际算法的计算得到实际值。
[0045]
具体地,标准运算库包括大数运算库——gmp运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况;同时gmp本身也是一个开源平台。根据给定的语言算法实现基于大整数运算库的算法执行效果对比验证,不仅能够实现不同语言算法的校验,还能够在不同领域内互相借鉴验证成果,加速验证进程,最终降低产品的开发成本并验证产品算法的可靠性。在一种示例中,第一计算模块310调用gmp运算库,将随机生成的m、n、r和n代入paillier算法的表达式中,从而得到标准值。
[0046]
而通过硬件在计算paillier算法表达式的值时,一方面由于硬件通常不能直接执行大数的运算,硬件的最小处理单元对处理的数据的位宽是有限制的,需要将位宽比较大的大数,拆分为硬件最小处理单元可处理的位宽的小数,例如将1024比特的大数,拆解为16个位宽为64比特的小数。先对位宽较小的小数进行计算,根据对该小数的计算结果最后再合成得到的大数;另一方面,为充分利用硬件的多个并行处理单元对数据进行快速处理,并且减少计算量,不是直接各输入参数代入算法表达式直接计算得到计算结果,而是先计算中间参数,再通过中间参数计算得到计算结果,这个过程就是根据实际算法计算的过程。通过第二计算模块可模拟出实际硬件的计算过程,得到的计算结果为模拟实际的硬件实现得到的实际值。
[0047]
在本说明书的一种示例中,用于联邦学习的异构处理系统的主处理设备为cpu处理器,从处理设备为fpga处理器,fpga处理器包括fpga芯片和存储器。图3示出了根据本说明书的实施例的fpga芯片的示意图,fpga芯片包括数据分发模块301、参数计算模块302、多个模幂计算引擎303、模幂计算结果聚合模块304和混淆加密引擎305,硬件实现paillier同态加密算法采用如下方法实现:在数据分发模块301处,将明文数据集m分发给混淆加密引擎305,将密钥n分发给参数计算模块302以及将随机数集r分发给所述多个模幂计算引擎303(多个模幂计算引擎包括303-1到303-n),随机数集合r中的随机数的个数与所述明文数据集m中的明文数据的个数相同。在参数计算模块302处,根据所述密钥n,确定paillier加密所需的第一参数n、第二参数rr、第三参数u0和第四参数np,并将密钥n以及第一到第四参数分发给所述多个模幂计算引擎303和混淆加密引擎305,其中:第一参数n是密钥n的平方,第二参数rr是蒙哥马利化参数,第三参数u0是整数1的蒙哥马利化,第四参数np是蒙哥马利模乘参数;在多个模幂计算引擎303处,使用随机数集r、密钥n和第一到第四参数进行并行
模幂计算,并将模幂计算结果提供给模幂计算结果聚合模块304;在模幂计算结果聚合模块304处,对所述模幂计算结果进行聚合处理,并将聚合处理结果提供给所述混淆加密引擎305;在混淆加密引擎305处,使用聚合处理结果、密钥n、第一到第四参数以及明文m进行混淆加密,得到密文c。以上就是paillier同态加密在硬件上实现的实际算法,在基于本发明的算法验证系统进行验证时,不是直接将输入参数直接代入算法的表达式中,而是要先通过输入参数计算出第一到第四参数,再通过各输入参数和第一到第四参数最终得到密文c的值,这时得到的密文c的值为实际值,即转化为和实际硬件算法的实现一致来计算实际值,根据硬件上实际实现算法的方法进行计算得到的值为实际值。
[0048]
结果对比模块400在算法计算模块完成计算后自动对比标准结果与算法运算结果,若两者结果一致,则算法验证通过,若两者结果不一致,则算法验证不通过,则系统输出报错信息,同时将实际值写入数据存储模块并退出系统。
[0049]
本发明的算法计算模块基于gmp大数运算库自动计算标准值,并自动与根据异构计算芯片实际算法计算得到实际值进行比对,该系统可自动执行验算的过程,降低了验证的人力成本。
[0050]
本发明的算法验证系统可在cpu处理器上执行。
[0051]
可选地,cpu可并行发起多个算法验证,且同时并行地执行这些验证任务,此设计目的旨在考虑了不同算法之间能做到并行验证处理,减少cpu运算时间。本框架最多能支持的验证算法数目是可以配置的,但依赖于处理器的cpu core的数量,以防影响到整个系统的计算性能。
[0052]
可选地,验证的机器语言可灵活配置,也可以基于不同的语言进行验证,将得到的实际值进行比较,还可用于验证第二计算模块中基于实际算法计算的正确性,例如基于c语言编写的验证程序得到第一实际值,基于python得到第二实际值,当第一结果和第二结果不一致时,基于java得到第三实际值,若第三实际值和第一实际值一致,则认为c语言和java的实际值为正确的值。
[0053]
可选地,本发明算法验证系统的实际程序的运行系统支持windows、linux及各种类unix环境,适用性较强。
[0054]
可选地,为降低验算的运算量,将c=(1+m
×
n)
×
(r
n
)modn转化为c=((1+m
×
n)modn)
×
((r
n
)modn)modn,raw=(1+m
×
n)modn,p=(r
n
)modn。则先验证raw和p的正确性,再验证c的正确性。
[0055]
进一步地,模幂计算可以采用基于蒙哥马利化域的平方乘计算和基于蒙哥马利化域的大数模乘计算实现。按照这种实现方式,可以利用fpga的高并行计算和流水特性,提高整体算力。此外,按照这种实现方式,可以避开直接对大整数取模运算,而以乘法、加法和移位运算代替,减少运算复杂度,提高计算效率。此外,在使用基于蒙哥马利化域的大数模乘计算实现时,可以对位宽、流水级数和/或循环次数进行配置,从而可以在考虑fpga资源、器件等级、流水级数及主频因素的情况下,对位宽大小、流水级数和/或循环次数进行调整,由此实现最佳的性能提升比。
[0056]
在本说明书的一种示例中,基于gmp运算库得到raw作蒙哥马利化后的标准值sm_raw,基于实际算法运算得到raw作蒙哥马利化后的实际值m_raw,将结果数据传输至结果对比模块,若对比后结果一致则继续,若不一致则报错,并将结果数据写入数据存储模块并退
出;基于大整数运算库得到p作蒙哥马利化后的标准值sm_p,同时基于实际算法运算得到p作蒙哥马利化后的实际值m_p,将结果数据传输至结果对比模块,若对比后结果一致则继续,若不一致则报错,并将结果数据写入数据存储模块并退出;基于大整数运算库得到c=(1+m
×
n)*(r
n
)modn的标准值s_c,基于实际算法运算对上述两步得到的m_raw和m_p作蒙哥马利化模乘得到m_c,并对m_c执行去蒙哥马利化得到最终结果c作为实际值,并将结果数据传输至结果对比模块,若对比后结果一致则将最终结果写入数据存储模块,若不一致则报错,同时将结果数据写入数据存储模块并退出。
[0057]
图4示出了根据本说明书实施例的一种联邦学习异构处理系统的算法验证方法的流程图。
[0058]
如图4所示,在块401,获取配置信息,该配置信息包括算法类型、各输入参数和各输入参数的位宽。
[0059]
在块402,根据各输入参数的位宽配置信息随机生成输入参数数据。
[0060]
在块403,根据输入参数数据进行基于标准运算库的计算,得到标准值。
[0061]
在块404,基于fpga异构计算芯片的实际算法,根据输入参数数据进行计算,得到实际值。
[0062]
在块405,比较标准值和实际值,若标准值和实际值一致,则算法验证通过,若标准值和实际值不一致,则发出报错信息。
[0063]
图5示出了根据本说明书实施例的一种联邦学习异构处理系统的算法验证方法的详细流程图。
[0064]
在501,获取算法信息。如算法信息包括:算法为paillier同态加密算法,公式为c=(1+m
×
n)
×
(r
n
)modn,输入参数包括m、n、r和n。
[0065]
在502,获取配置信息。如配置信息包括:m、n和r的数据位宽均为1024比特,n的数据位宽为2048比特。
[0066]
在503,生成随机数。具体地,根据m、n、r和n的位宽配置信息,随机生成输入参数数据。
[0067]
在504-1,基于大整数运算库计算得到标准值;在504-2,基于实际算法计算得到实际值。
[0068]
在505,将标准值和实际值进行对比验证,在506,判断标准值和实际值是否一致,若是则跳转到507算法对比完成;若否则跳转到504-1继续基于大整数运算库重新计算得到新的标准值,或跳转到504-2继续基于实际算法得到新的实际值,基于新的标准值和/或新的实际值进行比较,如一致,则到507算法对比完成。然后,到508,输出计算结果,该计算结果为对比一致的值。最终,到509,流程结束。
[0069]
进一步的优化的流程可参考上述的验证系统的实施例,在此不再赘述。
[0070]
根据本说明书的一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-5述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
[0071]
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
[0072]
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd-rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
[0073]
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
[0074]
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0075]
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
[0076]
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1