一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的无服务器计算系统及区块链系统

2022-11-16 17:19:32 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别是涉及一种基于区块链的无服务器计算系统及区块链系统。


背景技术:

2.无服务器计算(serverless)或者是函数计算(faas)是最近发展的新型云平台计算架构,用于构建可部署在云上的弹性可扩展应用程序。这种架构现阶段在工业界和学术界得到了广泛的应用和支持,基于serverless架构的设施可以部署在大多数公共云、共享边缘设备基础设施和私有数据中心上。无服务器架构通过分配应用程序资源以响应请求来提供弹性扩展,从而确保分配给应用程序的资源与正在处理的请求数量成正比。
3.无服务器架构的动态扩展资源的方式主要归功于其计算与存储分离的模式,依靠强大的后端即服务基础设施使得用户在开发无服务器应用时可以不用考虑后端细节问题,只需要关注业务逻辑即可,强大的后端即服务会帮助用户管理资源。在无服务器架构上用户对应用的管理权限不同于在传统云平台上可以对应用有全部的管理权限,用户可以全程掌握程序的运行状态,跟踪并分析程序以确保程序按照自己期望的方式运行。无服务器架构由于用户的权限相对较低,因此用户对于无服务器架构的程序的运行时状态进行掌握具有相当的难度。


技术实现要素:

4.有鉴于此,本发明提供了一种基于区块链的无服务器计算系统及区块链系统,以实现用户对于无服务器架构的程序的运行时状态的获取。
5.为实现上述目的,本发明提供了如下方案:
6.一种基于区块链的无服务器计算系统,所述无服务器计算系统包括:链原生事物发起模块、链外数据中继模块和链外无服务器计算模块;
7.所述链原生事物发起模块、所述链外数据中继模块和所述链外无服务器计算模块均与区块链连接;
8.所述链原生事物发起模块用于生成链外任务交易单,并将所述链外任务交易单上传至所述区块链;
9.所述链外数据中继模块还与所述链外无服务器计算模块连接,所述链外数据中继模块用于监听所述区块链,捕获所述链外任务交易单,并将所述链外任务交易单转发给所述链外无服务器计算模块;
10.所述链外无服务器计算模块用于对所述链外任务交易单中的链外任务进行有状态的执行,生成执行结果交易单,并将所述执行结果交易单上传至所述区块链;所述执行结果交易单包括默克尔树的根hash,所述默克尔树由所述执行结果交易单生成过程中的运行状态信息组织而成。
11.可选的,在生成链外任务交易单的方面,所述链原生事物发起模块具体用于:
12.通过查找链外支持源代码库,确定链外任务的程序执行逻辑流程;
13.基于所述程序执行逻辑流程按照serverless的函数计算形式编写链外任务的源代码;
14.按照所述区块链的交易打包方式将链外任务的源代码打包成链外任务交易单。
15.可选的,在对所述链外任务交易单中的链外任务进行有状态的执行的方面,所述链外无服务器计算模块具体用于:
16.解析所述链外任务交易单,获得链外任务的源代码;
17.基于所述链外任务的源代码,对所述链外任务进行有状态的执行。
18.可选的,所述链外无服务器计算模块在基于所述链外任务的源代码,对所述链外任务进行有状态的执行的同时,所述链外无服务器计算模块还执行如下操作:
19.采用读写分离的方式对链外任务执行过程中的链外数据进行一致性验证;所述链外数据包括链外任务执行所需数据源和链外任务执行过程中的运行状态信息。
20.可选的,所述链外无服务器计算模块包括链外执行器,所述基于所述链外任务的源代码,对所述链外任务进行有状态的执行的过程采用链外执行器完成。
21.可选的,所述链外执行器采用wasm虚拟机的形式,对链外任务执行过程中的运行状态信息进行保存。
22.可选的,所述wasm虚拟机包括:
23.内存段,用于存储链外任务执行过程的时动态数据;
24.数据段,用于存储初始化内存的静态数据;
25.表段,用于存储对象引用;
26.元素段,用于存储初始化表段的数据;
27.起始段,用于存储起始函数的索引;
28.全局段,用于存储全局变量的信息;
29.类型段,用于存储链外任务执行过程所有的函数签名;
30.函数段,用于存储函数签名的索引;
31.源代码段,用于存储函数的字节码和局部变量;
32.导出段,用于存储导出项信息;
33.导入段,用于存储导入项信息;
34.自定义段,用于保存调试符号及与运行状态无关的信息。
35.可选的,所述无服务器计算系统还包括状态更替验证模块;所述状态更替验证模块与所述区块链连接;
36.所述状态更替验证模块用于采用一致性争议解决机制对所述执行结果交易单中的执行结果进行验证,以确保所述执行结果的正确性。
37.可选的,在采用一致性争议解决机制对所述执行结果交易单中的执行结果进行验证的方面,所述状态更替验证模块具体用于在挑战时间窗内执行如下操作:
38.在区块链上获取执行结果交易单;
39.根据执行结果交易单中的默克尔树的根hash,获取所述执行结果交易单生成过程中的运行状态信息;所述默克尔树由所述执行结果交易单生成过程中的运行状态信息组织而成;
40.对所述运行状态信息进行检查,确定所述执行结果交易单生成过程中产生的错误的运行状态信息,及错误的运行状态信息对应的正确的运行状态信息;
41.将错误的运行状态信息和正确的运行状态信息打包成仲裁交易单,并将所述仲裁交易单上传至区块链,进行链上仲裁。
42.一种区块链系统,所述区块链系统包括区块链,及与所述区块链连接的多个用户节点,每个所述用户节点上均部署有上述的无服务器计算系统;
43.生成链外任务交易单的过程由用户节点a上的原生事物发起模块执行;
44.监听所述区块链,捕获所述链外任务交易单的过程由用户节点b上的链外数据中继模块执行;
45.对所述链外任务交易单中的链外任务进行有状态的执行,生成执行结果交易单的过程由用户节点b上的链外无服务器计算模块执行;
46.采用一致性争议解决机制对所述执行结果交易单中的执行结果进行验证,以确保所述执行结果的正确性的过程由用户节点c上的状态更替验证模块执行;
47.其中,用户节点a为任务发起方,用户节点b为任务执行方,用户节点c为任务挑战方。
48.根据本发明提供的具体实施例,本发明公开了以下技术效果:
49.本发明公开了一种基于区块链的无服务器计算系统及区块链系统,所述无服务器计算系统包括:链原生事物发起模块、链外数据中继模块和链外无服务器计算模块;所述链原生事物发起模块、所述链外数据中继模块和所述链外无服务器计算模块均与区块链连接;所述链原生事物发起模块用于生成链外任务交易单,并将所述链外任务交易单上传至所述区块链;所述链外数据中继模块还与所述链外无服务器计算模块连接,所述链外数据中继模块用于监听所述区块链,捕获所述链外任务交易单;所述链外无服务器计算模块用于对所述链外任务交易单中的链外任务进行有状态的执行,生成执行结果交易单,并将所述执行结果交易单上传至所述区块链。本发明基于区块链的去中心化特性,达到摆脱后台垄断供应商的目的,通过设置链外无服务器计算模块进行链外任务有状态的执行,对程序运行时的时的状态进行记录,以便用户访问,实现用户对于无服务器架构的程序的运行时状态的获取。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术行人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
51.图1为本发明实施例1提供的基于区块链的无服务器计算系统的工作流程图;
52.图2为本发明实施例1提供的链原生事物发起模块的工作原理图;
53.图3为本发明实施例1提供的数据格式转换的原理图;
54.图4为本发明实施例1提供的链外数据中继模块的工作原理图;
55.图5为本发明实施例1提供的wasm虚拟机的状态组织结构图;
56.图6为本发明实施例1提供的一致性争议解决机制的原理图。
具体实施方式
57.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术行人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
58.本发明的目的是提供一种基于区块链的无服务器计算系统及区块链系统,以实现用户对于无服务器架构的程序的运行时状态的获取。。
59.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
60.为了实现上述目的,kalev等人提出了一种运行时的验证工具,通过分析应用程序的日志,达到用于识别无服务器应用程序当中的错误的目的。在设计方案的过程中,他们最小程度地减少对应用程序的修改,并与应用程序相同的速率进行扩展。同样基于无服务器日志的研究,zhipeng jia等人基于日志的数据一致性和容错方法的将共享日志用于有状态faas而提出了boki这一架构,利用metalog这一结构进行读写分离保证全局工作流的一致性,有效推动了有状态serverless的发展。
61.上述的方案主要限定在无服务器平台内,很大程度上依赖平台的日志系统。当平台更换之后需要重新进行适配,这也同样是无服务器计算的主要缺点之一,平台锁定问题,应用跨平台迁移需要额外付出更多的成本。并且,由于用户对其应用的控制权限较低,程序运行的状态对用户透明,尽管有日志模块辅助查看,但是日志的生成仍然是通过无服务器平台生成的,难免用户会忽略一些细节问题,平台可能会减少成本来直接生成结果和中间日志(通过历史经验分析得到),因此程序的计算结果的正确性用户无从验证。
62.因此,需要设计一种去中心化方案,借助于区块链的去中心化特性和其可验证的共识数据库技术能够摆脱无服务器计算的平台绑定的同时能够实现计算的有状态性达到计算结果可验证的目的。
63.实施例1
64.本发明实施例1提供一种基于区块链的无服务器计算系统,所述无服务器计算系统包括:链原生事物发起模块、链外数据中继模块和链外无服务器计算模块;所述链原生事物发起模块、所述链外数据中继模块和所述链外无服务器计算模块均与区块链连接;所述链原生事物发起模块用于生成链外任务交易单,并将所述链外任务交易单上传至所述区块链;所述链外数据中继模块还与所述链外无服务器计算模块连接,所述链外数据中继模块用于监听所述区块链,捕获所述链外任务交易单,并将所述链外任务交易单转发给所述链外无服务器计算模块;所述链外无服务器计算模块用于对所述链外任务交易单中的链外任务进行有状态的执行,生成执行结果交易单,并将所述执行结果交易单上传至所述区块链。所述无服务器计算系统还包括状态更替验证模块;所述状态更替验证模块与所述区块链连接;所述状态更替验证模块用于采用一致性争议解决机制对所述执行结果交易单中的执行结果进行验证,以确保所述执行结果的正确性。
65.用户在编写自定义任务后通过交易单的形式进行计算事务发起,在链外引入链外数据中继模块保障了对原生链(区块链)架构无侵入的特性。
66.同时用户在原生链上的动作(区块交易单)均会被数据中继模块捕获,并调度后端
任务链外执行器。在执行用户的任务过程中与去中心化后端服务交互,保证计算任务是有状态以达到状态更替可验证目的。
67.系统当中的后端任务链外执行器本质上为无服务器计算的计算环境实体类似于docker容器或者是虚拟机jvm。
68.当执行完用户的任务后,会有专门的节点负责将serverless的任务写回至链上后用户进行结果查收。系统当中的各个模块的参与用户的支付结算均由区块链去中心化账本系统提供支持,用户可根据自己能力选择加入某一模块参与贡献并赚取奖励,通过激励相容的经济模型保障系统可持续运转。
69.本发明提供一种基于区块链的无服务器计算系统的工作流程如图1所示。
70.一、链原生事物发起模块
71.1.用户进行函数封装组合编写自定义功能的源代码,借助serverless模式进行敏捷开发,提升开发效率。
72.2.用户事务通过系统整合打包进交易单,得到链外任务交易单。
73.3.将包含有链外事务的链外任务交易单提交上链。
74.二、链外数据中继模块
75.4.链外机构(链外数据中继模块)进行链上区块监控,捕获包含有链外事务的交易单,即链外任务交易单。
76.5.链外机构机构捕获任务后根据现阶段资源进行任务编排分发。
77.6.链外执行器交互式与后端服务交互。
78.三、链外无服务器计算模块
79.后端提供去中心化存储、资源动态扩容、安全维护等自动化运维操作,保障链外执行器的serverless无服务器运行模式和链外任务的状态更替可验证。
80.四、状态更替验证模块
81.7,8.链外执行器(链外无服务器计算模块上的链外执行器)完成任务后生成结果并将结果(即执行结果交易单)提交至区块链。
82.9.执行结果交易单通过一致性验证并共识过后保存至区块链。
83.上述的标号1-9分别对应图1中的标号1-9。
84.上述4个部分对应系统的4个模块,其中,链原生事物发起模块和链外数据中继模块通过结合区块链这一去中心化基础设施,达到摆脱后台垄断供应商实现去中心化计算基础设施的效果。通过链外无服务器计算模块和状态更替验证模块的设计实现链外计算可验证的效果。具体如下:
85.一、链原生事物发起模块
86.和传统的无服务器计算模式不同,用户在部署程序的时候并不直接和serverless平台交互,而是和区块链通过交易单的形式提交任务至区块链,具体流程如图2所示:
87.如图2所示,计算事务的发起大致有以下几个步骤:
88.步骤a,用户(用户节点a,即任务发起方)通过查看现有链外支持源代码库,确定程序执行逻辑流程后按照现有的serverless的函数计算形式编写链外任务。
89.步骤b,在编写完首先将任务以交易单的形式发起(具体逻辑源代码在链外存储,链上交易只提供索引),在提交的过程中系统进行格式转换至底层区块链标准交易单结构
后将交易单(即链外任务交易单)上链。
90.步骤c,步骤a的输出为链外任务的源代码,可以看作是区块链当中的智能合约源代码,只不过在本发明实施例1中是链外任务的源代码。链外任务的源代码形式上和serverless模式相同,通过组合链外所支持的函数来实现所需要的功能。当前步骤的格式转换实际上是按照底层区块链将合约交易打包进交易单的形式,本发明实施例1将链外计算的任务视作底层区块链的合约源代码,按照底层链的交易打包方式将链外的任务打包进交易单,格式转换的过程如图3所示。
91.格式转换主要是针对交易单原先的保存合约部分进行转换,如图3所示,合约属性源代码是合约的特征源代码,保证底层区块链的虚拟机能够识别判断为合约部分进而继续读取,当虚拟机读取到“虚拟机跳转字节码”的部分时,虚拟机就将直接退出不继续执行。步骤b的效果为将包含有链外任务的交易单(链外任务交易单)上链存储,步骤c会持续监听链上数据动态,当发现符合步骤b的交易单上链之后会执行相应的操作。由链外中继模块捕获并继续处理。
92.步骤d,当链外任务交易单被矿工打包上链后,由于特殊的交易单形式并且链外任务的合约进行了底层字节码的改动,将其首个运算的指令直接替换成虚拟机退出的指令,在形式上就体现为在步骤b中底层虚拟机在执行时识别特定源代码到退出指令进而不执行合约后续的内容,就会直接将其过滤。然后链外中继层会将其捕获进行下一步操作。
93.链原生事物发起模块的输出效果为将包含有链外事物的交易单打包上链,下一模块(链外数据中继模块)的动作为持续监听链上动作,当发现链原生事物发起模块的消息后进行相应的操作。
94.在链原生事物发起模块当中,底层区块链可以做到适配各种公链架构(按照协议标准构造交易单),在打包至区块后能够标识链外任务,由链外数据中继模块捕获处理。
95.底层区块链的共识网络等模块对链外计算层透明,并且依托于原生链的p2p网络,用户只需运行原生链客户端即可无缝接入链外无服务器计算模块。
96.二、链外数据中继模块
97.如图4所示,链外数据中继模块会持续监听区块链上的内存池,包含有链外事务的交易单的区块上链后由链外中继层捕获,链外数据中继模块捕获到该信息后触发相应的事件源转发给后端的链外无服务器计算模块。
98.链外数据中继模块中的监听内存池只需要运行底层链的同步验证节点即可同步获取上链的交易单,进行特征匹配即可拿到链外交易单。链外数据中继模块的功能主要是连接链外事物发起模块和链外无服务器计算模块,用户通过区块链去中心化设施为载体,传递链外事物到计算模块,链外数据中继模块的任务即将消息进行传递。
99.三、链外无服务器计算模块
100.链外无服务器计算模块分为计算和有状态存储两部分,由于计算是无状态的,本发明实施例1创新地设计了运行时的链外执行器,使其能够保存中间状态的快照以达到计算有状态的目的,并且为了保证验证时的一致性问题,本发明针对于运算时的数据读写一致性做了协议设计,保障在验证时的数据一致性。
101.链外无服务器计算模块的计算流程为:
102.链外中继层捕获到链外计算的任务并转交给链外无服务器计算模块
103.链外无服务器计算模块解析链外任务的源代码并加载
104.由链外执行器装载并运行链外计算任务
105.在执行链外计算任务的同时保障可验证的一致性问题
106.链外执行器运行时快照设计
107.链外无服务器的链外执行器采用wasm架构,为了保证无状态的计算能够记录有状态的快照,本发明对wasm虚拟机做了如图5所示的设计。
108.图5包含了链外无服务器计算模块的链外执行器的运行全部信息:
109.内存段和数据段:内存段用于存储程序的运行时动态数据。数据段用于存储初始化内存的静态数据。内存可以从外部宿主导入,同时内存对象也可以导出到外部宿主环境。
110.表段和元素段:表段用于存储对象引用,目前对象只能是函数,因此可以通过表段实现函数指针的功能。元素段用于存储初始化表段的数据。表对象可以从外部宿主导入,同时表对象也可以导出到外部宿主环境。
111.起始段:起始段用于存储起始函数的索引,即指定了一个在加载时自动运行的函数。起始函数主要作用:(1)在模块加载后进行初始化工作;(2)将模块变成可执行文件。
112.全局段:全局段用于存储全局变量的信息(全局变量的值类型、可变性、初始化表达式等)。
113.函数段、源代码段和类型段:这三个段均是用于存储表达函数的数据。其中:
114.类型段:类型段用于存储模块内所有的函数签名(函数签名记录了函数的参数和返回值的类型和数量),注意若存在多个函数的函数签名相同,则存储一份即可。
115.函数段:函数段用于存储函数对应的函数签名索引,注意是函数签名的索引,而不是函数索引。
116.源代码段:源代码段用于存储函数的字节码和局部变量,也就是函数体内的局部变量和源代码所对应的字节码。
117.导入段和导出段:导出段用于存储导出项信息(导出项的成员名、类型,以及在对应段中的索引等)。导入段用于存储导入项信息(导入项的成员名、类型,以及从哪个模块导入等)。导出/导入项类型有4种:函数、表、内存、全局变量。
118.自定义段:自定义段主要用于保存调试符号等和运行无关的信息。
119.通过上述设计,链外执行器可以在运行时保存上述段,同时也可以将上述段的数据内容导入到空白的链外执行器当中,实现计算中间状态的恢复。运用在本发明中的具体表现为链外程序的计算任务运行时通过保存上述内容从而实现计算的有状态快照操作,通过加载快照进而恢复链外计算的中间执行状态。
120.链外执行器的状态恢复快照机制保障了可以恢复到任意时间点进行计算任务重放,即可以选择任意时间节点进行计算任务的验证。
121.链外数据一致性协议设计:
122.链外无服务器计算模块保证验证时的一致性的前提不仅是计算链外执行器的中间状态可恢复,并且计算时的数据源同样需要保证一致性。
123.链外部分的数据一致性问题主要通过读写分离进行实现,当链外计算需要对原数据进行修改时,将其写入到“写表”当中,当可验证操作确认无误之后,系统会将“写表”当中的数据内容整合进“读表”当中。
124.链外无服务器计算模块的前提假设为去中心化链外存储对本系统透明,本系统直接对链外去中心化存储进行存取操作,不考虑数据完整性审计、存储证明等去中心化存储原语。
125.链外无服务器计算模块是将用户提交给链外的任务进行有状态的执行,具体一致性验证操作有状态更替验证模块负责。
126.四、状态更替验证模块
127.当链外的serverless任务结束后执行者会将最终状态上链,对链外存储模块做签名,确保当前状态被链上用户共识。
128.整个过程当中诚实并且安全的参与者能够赚取自己的收益,作恶的用户将会受到惩罚。用户可以选择自己的任务完成后是否上链即全局可验证。具体的经济模型本发明不做限定。
129.状态更替验证模块的功能为验证用户的链外计算事务是否按照期望正确执行,本质上是对链外无服务器计算模块做了一致性保证的支持,通过交互式欺诈性证明的方式保障链外计算结果的正确性。当链外计算任务完成后,执行者将交易发布至链上,在一个挑战周期内接受其他用户的挑战,通过一致性争议解决机制来裁决正确和错误的一方。链外验证细节体现在一致性争议解决机制。
130.一致性争议解决机制:
131.当链外无服务器计算模块完成用户的任务之后,将计算结果(即执行结果交易单)提交至链上,提交的方式同样以标准交易单的形式在原生链上体现。
132.由于最终需要链上一致性共识通过,意味着链外承接的任务需要准确地按照指定的源代码逻辑,链外执行器保证执行结果准确无误。系统采用交互式欺诈性证明方案,整个交互式欺诈性架构如图6所示。
133.图6展示了用户节点b和用户节点c对一个链外事务发生纠纷时,具体是如何确保链外计算的一致性的。这里用户节点b为链外任务的执行方,用户节点c为链外任务的挑战方,图6所示的场景为当用户节点c发现用户节点b提交到链上的任务出现问题时,用户节点c发现其中存在问题,向链上提交挑战来裁决用户节点b的计算任务是否正确。
134.在用户节点b执行任务的时候,基于链外无服务器计算模块的设计,在执行任务期间会每间隔δt保存运行时快照,当执行完任务后将全部快照组织成默克尔树的形式并把树的根hash上链,其余部分可以在链外索引得到。
135.发布到链上后系统机制有一个挑战时间窗口(时间窗口具体由链外任务的发布者确定),在窗口期内任意节点都可以进行交互式挑战,检测结果的正确性。
136.当用户节点c在挑战期内发现用户节点b计算有误时,比如s[i]内的计算与自己算的出现了二义性,用户节点c可以将s[i]打包至链上进行仲裁,由区块链判断正确的一方。在用户节点c的检查期间内,用户节点c由于快照的恢复机制,用户节点c可以并行验证多个状态变换之间的正确性,比如s[0]-s[1],s[i]-s[i 1]等等,这样极大程度上减少了时间开销成本。当链上仲裁之后,错误的一方会损失掉计算任务酬劳并将计算任务酬劳发给挑战正确的一方,并且还会扣除相应的罚款。
[0137]
实施例2
[0138]
本发明实施例2提供一种区块链系统,所述区块链系统包括区块链,及与所述区块
链连接的多个用户节点,每个所述用户节点上均部署有实施例1中的无服务器计算系统;生成链外任务交易单的过程由用户节点a上的原生事物发起模块执行;监听所述区块链,捕获所述链外任务交易单的过程由用户节点b上的链外数据中继模块执行;对所述链外任务交易单中的链外任务进行有状态的执行,生成执行结果交易单的过程由用户节点b上的链外无服务器计算模块执行;采用一致性争议解决机制对所述执行结果交易单中的执行结果进行验证,以确保所述执行结果的正确性的过程由用户节点c上的状态更替验证模块执行;其中,用户节点a为任务发起方,用户节点b为任务执行方,用户节点c为任务挑战方。本发明实施例2中的用户节点的角色属性(任务发起方、任务执行方、任务挑战方)为某一任务执行时的属性,在执行不同的任务时可能会发生改变,对于某一个用户节点可能为任务发起方、任务执行方、任务挑战方中的任意一个。
[0139]
本发明结合区块链去中心化基础设施,能够有效解决serverless无服务器计算的可验证特性,保障用户提交部署的应用正确执行,同时能够解决中心化平台垄断问题。
[0140]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0141]
本发明实施例中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术行人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献