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

一种异构目标代码生成方法、装置及系统与流程

2022-10-26 21:45:43 来源:中国专利 TAG:


1.本发明属于计算机编译技术领域,特别涉及一种异构目标代码生成方法、装置及系统。


背景技术:

2.在轨道交通应用中,由于对于安全性的高要求,普遍采用组合式故障安全技术。按硬件是否冗余,组合式故障安全常用的实现方式有2h2s(2套硬件hardware 2套软件software,以下简称2h2s)和1h2s(1套硬件hardware 2套软件software,以下简称1h2s)两种。
3.对于这两种架构中涉及到的2s(2套软件software),通常有3种处理方式:

同构软件;

一份源代码,由不同的编译器,编译成为两份不同的目标代码;

ab代码:由两个独立的开发团队,背对背按相同的规范,开发两套不同的代码。一般的,软件异构可以避免共因故障,能够有效提高软件安全性,所以两套软件的异构程度越高,系统的安全性越高。这三种方法,ab代码的异构效果最好,最能保障安全性,但成本最高;采用不同编译器的异构效果不如ab代码,但成本明显降低。
4.一般的,软件异构可以避免共因故障,能够有效提高软件安全性,所以两套软件的异构程度越高,系统的安全性越高。
5.共因故障是指由单一的原因引起的多个通道失效,致使系统失效。
6.(1)异构可以降低共因失效。
7.(2)共因失效不一定同时失效:比如当散热风扇失效时,两个通道处理器都会变热,但两个通道处理器变热的速度不一样,所以发生失效的时刻也不一样。
8.(3)共因失效多是内外部因素共同作用的结果,比如一个电磁干扰使得两个处理器失效,是电磁干扰(外部原因)和处理器干扰能力有限(内部原因)共同造成的。
9.(4)共因失效降低了冗余系统的可靠性,如果两冗余处理器应对某一干扰时相继失效,则无法起到冗余应有的作用。
10.目前的2h2s安全架构,或者如图1所示,普遍运行相同的软件(同构软件);或者如图2所示,同一份源代码经不同编译器编译的软件。
11.图1中,由硬件和软件组成两个通道,每个通道采用两套不同的硬件,即硬件1和硬件2;硬件后采用一套相同的软件或两套同构软件。信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作。
12.图2中,类似图1由硬件和软件组成两个通道,每个通道采用两套不同的硬件,即硬件1和硬件2;不同的地方在于,硬件后采用同一套源代码a经过不同编译器编译出的两套软件,即软件1和软件2。信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作。
13.上述两种2h2s安全架构,均采用双硬件,因此硬件成本也较高。采用相同软件或同
构软件或同一份源代码经不同编译器编译的软件时,软件异构效果差,系统安全性得不到保障。
14.目前的1h2s安全架构,如图3所示,两个通道共享1套硬件a,每个通道各有独立的软件a或软件b;软件a或软件b是由两个独立的开发团队,背对背按相同的规范,开发两套不同的代码;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作。
15.上述1h2s安全架构,采用双团队背对背开发的ab代码方式,该安全架构软件异构程度高且硬件成本低,但双团队对同样的功能进行重复开发,并行开发代码的成本高,造成整体成本高。
16.综上所述,现有的安全架构要么软件异构实现方式成本高,要么软件异构效果差,达不到安全性能要求。


技术实现要素:

17.针对背景技术中存在的问题,本发明提供一种异构目标代码生成方法、装置及系统,用于解决现有的软件异构实现方式成本高或效果差的问题,相比于现有技术,本发明可以快速低成本利用安全源代码自动生成异构目标代码的方法,从而能够既达到良好的软件异构效果,又避免了较高的开发成本。
18.一种异构目标代码生成方法,
19.所述异构目标代码生成方法包括:源代码分析、生成中间代码和生成目标代码;
20.源代码分析,对输入的源代码进行源代码分析;
21.生成中间代码,根据源代码生成中间代码,且依据多套代码转换规则转换源代码后生成多套不同的中间代码;
22.生成目标代码,基于不同的中间代码生成目标代码。
23.进一步的,所述源代码分析包括:
24.词法分析,分析扫描源代码的字符序列;
25.语法分析,分析源代码的语法结构;
26.语义分析,进行类型声明和类型检查的静态语义分析,识别出源代码要进行异构转换的元素。
27.进一步的,所述依据多套代码转换规则转换源代码后生成多套不同的中间代码包括:
28.根据转换元素的特点和语言的代码结构建立多套代码转换规则,并基于源代码生成多套中间代码。
29.进一步的,所述生成目标代码,对中间代码进行转换生成目标代码,包括:
30.变换表达式,根据类型的不同,将“表达式的值”或“数组变量和记录变量的首地址”压入栈;
31.根据语句的目标对语句进行操作变换:赋值语句、if语句、while语句、for语句;
32.生成函数程序体的目标代码。
33.进一步的,生成目标代码之后还包括目标代码优化,所述目标代码优化包括以下的一种或多种:
34.删除多余存取指令;
35.删除不会执行的、不可达的指令;
36.减少执行转移次数;
37.化简等价类转换;
38.针对循环进行强度的削弱;
39.根据指令特点进行优化。
40.一种生成异构目标代码的装置,
41.包括:
42.源代码分析单元,用于对输入的源代码进行源代码分析;
43.中间代码生成单元,用于生成中间代码,根据源代码生成中间代码,且依据多套代码转换规则转换源代码后生成多套不同的中间代码;
44.目标代码生成单元,用于根据不同的中间代码生成目标代码。
45.进一步的,所述源代码分析单元,对输入的源代码进行源代码分析包括:
46.词法分析子单元,用于分析扫描源代码的字符序列;
47.语法分析子单元,用于分析源代码的语法结构;
48.语义分析子单元,用于进行类型声明和类型检查的静态语义分析,识别出源代码要进行异构转换的元素;
49.所述中间代码生成单元,依据多套代码转换规则转换源代码后生成多套不同的中间代码包括:
50.根据转换元素的特点和语言的代码结构建立代码转换规则,并将源代码要进行异构转换的元素转化为中间代码;
51.所述目标代码生成单元,包括:
52.变换表达式,根据类型的不同,将“表达式的值”或“数组变量和记录变量的首地址”压入栈;
53.根据语句的目标对语句进行操作变换:赋值语句、if语句、while语句、for语句;
54.生成函数程序体的目标代码。
55.进一步的,所述目标代码生成单元之后还包括目标代码优化单元,所述目标代码优化单元包括以下的一种或多种:
56.删除多余存取指令;
57.删除不会执行的、不可达的指令;
58.减少执行转移次数;
59.化简等价类转换;
60.针对循环进行强度的削弱;
61.根据指令特点进行优化。
62.一种双硬件双软件架构(简称2h2s)系统,包括:
63.双硬件双软件架构,采用两套硬件和两套各自运行功能相同的软件,组成两个通道,每个通道各有独立的硬件和软件;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作;
64.所述两套各自运行功能相同的软件为同一个源代码经过生成异构目标代码的装置生成的不同的目标代码。
65.一种单硬件双软件架构(简称1h2s)系统,包括:
66.单硬件双软件架构,采用一套硬件和两套各自运行功能相同的软件,组成两个通道,两个通道共享同一套硬件且每个通道有独立的软件;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作;
67.所述两套各自运行功能相同的软件为同一个源代码经过生成异构目标代码的装置生成的不同的目标代码。
68.本发明,基于本技术方案生成的异构目标代码,与ab代码方式相比,构造异构代码不再需要不同的团队背对背开发,节约了开发成本。
69.本发明与采用不同的编译器方式相比,异构的程度、特性可控可知,提高了异构的效果;同时采用一套安全异构编译器相对于采用不同的编译器,降低了成本,简化了流程,提高了操作可靠性。
70.目前的2h2s安全架构,普遍运行相同的软件,或同一份源代码经不同编译器编译的软件,运行本本发明技术方案的异构目标代码软件,与现状相比,异构程度更高,安全性更好。
71.目前的1h2s安全架构,只能采用ab代码方式,该安全架构虽然硬件成本低,但双团队并行开发代码的成本高,造成整体成本高,采用本方案的异构目标代码软件,可降低软件开发成本,从整体上降低系统成本,也有利地1h2s安全架构的推广应用。
72.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
73.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
74.图1示出了2h2s同构软件的示意图。
75.图2示出了2h2s同源代码不同编译器的示意图。
76.图3示出了1h2s的示意图。
77.图4示出了普通编译器流程的示意图。
78.图5示出了本发明实施例的安全异构编译器流程的示意图。
79.图6示出了根据本发明实施例的安全异构编译流程的示意图。
80.图7示出了本发明实施例安全异构编译器的2h2s异构目标代码流程的示意图。
81.图8示出了本发明实施例安全异构编译器的1h2s异构目标代码流程的示意图。
具体实施方式
82.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
83.在轨道交通应用中,由于对于安全性的高要求,普遍采用组合式故障安全技术。按硬件是否冗余,组合式故障安全常用的实现方式有2h2s(即2套硬件hardware 2套软件software)和1h2s(1套硬件hardware 2套软件software)两种。
84.一般的,软件异构冗余可以避免共因故障,能够有效提高软件安全性,所以我们采取安全软件冗余二取二结构时,两套软件的异构程度越高,系统的安全性越高。
85.针对现有的软件异构实现方式成本高或效果差,以及1h2s平台受限于软件异构成本应用受限的问题,本发明从源代码经特定编译生成异构的目标代码角度出发,设计了一种快速低成本利用安全源代码自动生成异构目标代码的方法、装置及系统,即一种异构目标代码生成方法、一种生成异构目标代码的装置和相应的应用架构系统,生成异构目标代码的装置又称为安全异构编译器。利用一份安全源代码自动生成多份异构目标代码,从而能够既达到良好的软件异构效果,又避免了较高的开发成本。同时提出了一种2h2s系统和一种1h2s系统两种典型的应用系统。该方法有以下特点:
86.1.利用源代码根据预设的规则自动生成异构目标代码,即输入一份源代码,输出多份异构目标代码,从而实现低成本的提高软件异构程度;
87.2.在2h2s、1h2s架构中进行应用,提高两套软件的异构程度从而有效保障安全性。
88.第一方面,一种异构目标代码生成方法,其所述异构目标代码生成方法包括:源代码分析、生成中间代码和生成目标代码;
89.对输入的源代码进行源代码分析;根据源代码生成中间代码,且依据多套代码转换规则转换源代码后生成多套不同的中间代码;基于不同的中间代码生成目标代码。
90.具体实施时,通过源代码分析、生成中间代码和生成目标代码,将同一套软件代码生成多套异构的目标代码。之后将多套异构的目标代码应用于不同的安全架构。
91.本发明,基于本技术方案生成的异构目标代码,与ab代码方式相比,构造异构代码不再需要不同的团队背对背开发,节约了开发成本。
92.本发明与采用不同的编译器方式相比,异构的程度、特性可控可知,提高了异构的效果;同时采用一套安全异构编译器相对于采用不同的编译器,降低了成本,简化了流程,提高了操作可靠性。
93.本实施例中,所述源代码分析包括:
94.词法分析,分析扫描源代码的字符序列;
95.语法分析,分析源代码的语法结构;
96.语义分析,进行类型声明和类型检查的静态语义分析,识别出源代码要进行异构转换的元素。
97.具体实施时,读入源代码,经过词法分析识别出token,把字符串转换成一个个token;语法分析把token串,转换成一个体现语法规则的、树状数据结构,即抽象语法树ast。ast树反映了程序的语法结构。基于ast树,语义分析识别出源代码要进行异构转换的
元素。
98.本实施例中,所述依据多套代码转换规则转换源代码后生成多套不同的中间代码包括:
99.根据转换元素的特点和语言的代码结构建立代码转换规则,并基于源代码生成多套中间代码。
100.具体实施时,在编译前端完成后(安全异构编译器已经理解了词法和语义),安全异构编译器可以直接解释执行、或则直接生成目标代码。对于不同架构的cpu,还需要生成不同的汇编代码,如果对每一种汇编代码做优化就很繁琐。所以我们需要增加一个环节:生成中间代码ir,统一优化后中间代码,再去将中间代码生成目标代码。
101.本实施例中,所述生成目标代码,对中间代码进行转换生成目标代码,包括:
102.变换表达式,根据类型的不同,将“表达式的值”或“数组变量和记录变量的首地址”压入栈;
103.根据语句的目标对语句进行操作变换:赋值语句、if语句、while语句、for语句;
104.生成函数程序体的目标代码。
105.具体实施时,选择合适指令,生成性能最高的代码。优化寄存器的分配,让频繁访问的变量,比如循环语句中的变量放到寄存器中,寄存器比内存快。在不改变运行结果下,对指令做重排序优化,从而充分运用cpu内部的多个功能部件的并行能力。
106.本实施例中,生成目标代码之后还包括目标代码优化,所述目标代码优化包括以下的一种或多种:
107.删除多余存取指令;
108.删除不会执行的、不可达的指令;
109.减少执行转移次数;
110.化简等价类转换;
111.针对循环进行强度的削弱;
112.根据指令特点进行优化。
113.第二方面,如图1所示,本发明提供了一种生成异构目标代码的装置,包括:
114.源代码分析单元,用于对输入的源代码进行源代码分析;
115.中间代码生成单元,用于根据源代码生成中间代码,且依据多套代码转换规则转换源代码后生成多套不同的中间代码;
116.目标代码生成单元,用于根据不同的中间代码生成目标代码。
117.具体实施时,安全异构编译器通过源代码分析单元、中间代码生成单元和目标代码生成单元,将同一套软件代码生成多套异构的目标代码。之后通过应用单元将异构的目标代码应用于不同的安全架构。
118.本发明,基于本技术方案生成的异构目标代码,与ab代码方式相比,构造异构代码不再需要不同的团队背对背开发,节约了开发成本。
119.本发明与采用不同的编译器方式相比,异构的程度、特性可控可知,提高了异构的效果;同时采用一套安全异构编译器相对于采用不同的编译器,降低了成本,简化了流程,提高了操作可靠性。
120.本实施例中,所述源代码分析单元,对输入的源代码进行源代码分析包括:
121.词法分析子单元,用于分析扫描源代码的字符序列;
122.语法分析子单元,分析源代码的语法结构;
123.语义分析子单元,进行类型声明和类型检查的静态语义分析,识别出源代码要进行异构转换的元素;
124.所述中间代码生成单元,依据多套代码转换规则转换源代码后生成多套不同的中间代码包括:
125.根据转换元素的特点和语言的代码结构建立代码转换规则,并将源代码要进行异构转换的元素转化为中间代码;
126.所述目标代码生成单元,包括:
127.变换表达式,根据类型的不同,将“表达式的值”或“数组变量和记录变量的首地址”压入栈;
128.根据语句的目标对语句进行操作变换:赋值语句、if语句、while语句、for语句;
129.生成函数程序体的目标代码。
130.本实施例中,所述目标代码生成单元之后还包括目标代码优化单元,所述目标代码优化单元包括以下的一种或多种:
131.删除多余存取指令;
132.删除不会执行的、不可达的指令;
133.减少执行转移次数;
134.化简等价类转换;
135.针对循环进行强度的削弱;
136.根据指令特点进行优化。
137.具体实施时,可以采用一种或多种代码优化方式,进一步提升代码的执行效率。
138.第三方面,本发明提供了一种2h2s系统,包括:
139.双硬件双软件架构,采用两套硬件和两套各自运行功能相同的软件,组成两个通道,每个通道各有独立的硬件和软件;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作;
140.所述两套各自运行功能相同的软件为同一个源代码经过生成异构目标代码的装置生成的不同的目标代码。
141.具体实施时,目标代码a1和目标代码a2使用同一套软件代码经过同一个安全异构编译器生成,与ab代码方式相比,构造异构代码不再需要不同的团队背对背开发,节约了开发成本。
142.第四方面,本发明提供了一种1h2s系统,包括:
143.单硬件双软件架构,采用一套硬件和两套各自运行功能相同的软件,组成两个通道,两个通道共享同一套硬件且每个通道有独立的软件;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作;
144.所述两套各自运行功能相同的软件为同一个源代码经过生成异构目标代码的装置生成的不同的目标代码。
145.具体实施时,目标代码a1和目标代码a2使用同一套软件代码经过同一套安全异构编译器生成,与采用不同的编译器方式相比,异构的程度、特性可控可知,提高了异构的效果;同时采用同一套安全异构编译器相对于采用不同的编译器,降低了成本,简化了流程,提高了操作可靠性。
146.为使本领域的技术人员更好的理解本发明,下面结合附图对本发明的技术原理阐述如下:
147.下面将从安全异构编译器的设计、在2h2s中的应用、在1h2s中的应用三部分进行详细介绍。
148.安全异构编译器利用源代码根据预设的规则自动生成异构目标代码。
149.如图4所示,编译器是将一种语言翻译为另一种语言的计算机程序;即可以输入用源语言编写的源程序,经过编译器的处理,输出用目标语言编写的等价程序。源代码a输入普通编译器后输出目标代码a。
150.如图5所示,本发明中提到的安全异构编译器指的是将一份源代码生成异构目标代码的编译器。源代码a输入安全异构编译器中输出异构的目标代码a1和目标代码a2;同样的原理,也可以输出多套异构的目标代码。
151.图5中,经过安全异构编译器生成的目标代码a1和目标代码a2是异构的。
152.如图6所示,安全异构编译器的具体实现方法可以分为源代码分析、中间代码生成、目标代码生成和目标代码优化。源代码a输入后依次经过源代码分析、中间代码生成、目标代码生成和目标代码优化得到异构的目标代码a1和目标代码a2;同样的原理,也可以输出多套异构的目标代码。
153.1、源代码分析:实现对源代码的词法扫描、语法分析、语义分析。
154.(1)词法分析:分析扫描源代码的字符序列,如标识符、数字常量、字符串常量等。
155.(2)语法/结构分析:分析源代码的语法结构,如结构元素及其关系;可以用语法树进行表示。
156.(3)语义分析:主要进行静态语义分析,包括类型声明和类型检查等,如通过语义分析可以获取标识符的属性、类型、作用域等,也可以检查运算的合法性和取值范围等。
157.进行完以上三种分析后可以对源代码进行优化,方便生成中间代码。
158.2、中间代码生成,中间代码指的是源代码到目标代码的一种内部表示。
159.通过源代码分析后,可以识别出源代码要进行异构转换的元素,并根据转换规则进行转换。
160.识别出源代码中的要转换的元素后,需要根据转换元素的特点和语言(如c 、java等)的代码结构建立代码转换规则。其中转换规则有预设的,同时也可以进行自定义。表1展示异构元素识别和转换规则:
161.表1:异构元素识别和转换规则
[0162][0163]
表1中展示的仅为示例,为了说明如何利用安全源代码生成异构中间代码,要识别的异构元素和转换规则内容大于表中展示的内容。
[0164]
生成中间代码后,可以对生成的中间代码进行优化,方便目标代码的生成。
[0165]
基于源代码分析生成中间代码(即中间代码1)方法如下:
[0166]
(1)对中间代码指令进行表示和组织:将源代码的每一条语句翻译成一或多条构造的特定数据结构(如逆波兰式(后缀式)、三地址码(三元式、四元式)、抽象语法树、有向无环图,这些是中间代码的一种表现形式);如使用静态表对中间代码指令进行组织;
[0167]
(2)进行具体的翻译,一些关键部分举例如下:
[0168]
表达式翻译:基础表达式翻译、后缀表达式翻译、一元表达式翻译、二元表达式翻译、条件表达式翻译、赋值表达式翻译;
[0169]
结构化语句翻译:标号回填、循环语句翻译、switch翻译、goto/break/continue语句翻译。
[0170]
3、目标代码生成:目标代码以中间代码作为输入,生成目标代码。
[0171]
对中间代码(如三地址码、p代码等)进行变换,
[0172]
(1)表达式:根据类型的不同,将“表达式的值”或“数组变量和记录变量的首地址”压入栈,放在栈顶;
[0173]
(2)根据语句的目标对语句进行操作变换:赋值语句、if语句、while语句、for语句等;
[0174]
(3)生成函数程序体的目标代码。
[0175]
4.目标代码优化,完成目标代码的优化,一些可能采取的优化措施举例如下:
[0176]
(1)删除多余存取指令,如某些实际过程中不需要的存取,或者程序更新后原有的存取指令已经被取代,或者运行时不会执行的存取指令;
[0177]
(2)删除不会执行的、不可达的;
[0178]
(3)减少执行转移次数;
[0179]
(4)化简等价类转换;
[0180]
(5)针对循环进行强度的削弱;
[0181]
(6)根据指令特点进行优化,如对变量地址计算、取变量地址、域命令符地址计算进行优化等。
[0182]
完成优化后,进行目标代码的自检。
[0183]
经过以上步骤,完成了从一份源代码a生成两份异构目标代码(即目标代码a1和目标代码a2)的操作。
[0184]
如图7所示,安全异构编译器在2h2s架构中的应用,
[0185]
双硬件双软件架构,采用两套硬件和两套各自运行功能相同的软件,组成两个通道,每个通道各有独立的硬件和软件;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作。
[0186]
所述两套各自运行功能相同的软件为同一个源代码经过安全异构编译器生成的异构目标代码构成。
[0187]
本发明目标代码a1和目标代码a2使用同一套源代码a经过同一个安全异构编译器生成,相对于不同开发团队背对背开发ab代码,采用本方案的异构目标代码软件,可降低软件开发成本,从整体上降低系统成本,也有利于2h2s安全架构的推广应用。
[0188]
如图8所示,安全异构编译器在1h2s架构中的应用,
[0189]
单硬件双软件架构,采用一套硬件和两套各自运行功能相同的软件,组成两个通
道,每个通道共享同一套硬件且各有独立的软件;信号输入后经过双通道,并对双通道输出的结果进行逻辑与操作,当双通道结果一致时,认为有效,作为有效输出;当结果不一致时,则执行故障导向的操作。
[0190]
所述两套各自运行功能相同的软件为同一个源代码经过安全异构编译器生成的异构目标代码构成。
[0191]
本发明目标代码a1和目标代码a2使用同一套源代码a经过同一个安全异构编译器生成,相对于同构软件或者源代码相同编译器不同的两套软件,运行本方案的异构目标代码软件,与现状相比,异构程度更高,安全性更好;同时采用同一套安全异构编译器,可降低软件开发成本,简化开发流程,从整体上降低系统成本,也有利于1h2s安全架构的推广应用。
[0192]
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献