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

数据处理方法、装置、网络设备及计算机可读存储介质与流程

2022-02-22 19:21:55 来源:中国专利 TAG:


1.本技术涉及计算机数据处理技术领域,具体而言,涉及一种数据处理方法、装置、网络设备及计算机可读存储介质。


背景技术:

2.路由器、交换机、防火墙、基站等设备,在数据包的处理上,数据包处理流程基本上分为:硬件中断

取包分发至内核线程

软件中断

内核线程在协议栈中处理包

处理完毕通知用户层用户层收包

网络层

逻辑层

业务层。这种数据包处理方式将会面临数据在内核空间到用户空间频繁切换的局面,同时也面临着数次的中断事件被触发,导致数据包处理效率低。


技术实现要素:

3.本技术实施例的目的在于提供一种数据处理方法、装置、网络设备及计算机可读存储介质,能够改善对数据处理的效率低的问题。
4.为了实现上述目的,本技术的实施例通过如下方式实现:
5.第一方面,本技术实施例提供一种数据处理方法,所述方法包括:获取矢量数据包处理开发框架vpp从网络设备的网卡上所采集的数据包;将所述数据包缓存于与所述数据包的类型所对应的第一缓存队列;从所述第一缓存队列中按照预设规则读取所述数据包,并确定与所述数据包对应的协议类型;根据与所述协议类型对应的预设处理函数,对所述数据包进行解析,得到所述数据包的解析结果。
6.在上述的实施方式中,通过利用部署在网络设备的用户空间的vpp,对网卡的数据包进行采集与缓存,然后,直接对缓存队列中的数据包进行解析。基于vpp具有分析2到4层网络堆栈能力的特性,网络设备在获取及分析数据包的过程中,整个处理过程全在用户空间完成,能减少中断次数,也无需对数据包的处理线程进行用户空间、内核空间的频繁切换,从而有利于提高数据处理效率。
7.结合第一方面,在一种可能的实施方式中,在获取矢量数据包处理开发框架vpp从网络设备的网卡上所采集的数据包之前,所述方法还包括:
8.在所述网络设备上搭建所述vpp,其中,所述vpp用于从所述网卡轮询获取欲传输至以太网输入节点的所述数据包。
9.结合第一方面,在一种可能的实施方式中,将所述数据包缓存于与所述数据包的类型所对应的第一缓存队列,包括:
10.当不存在与所述数据包的类型对应的所述第一缓存队列时,创建与所述数据包的类型对应缓存队列以作为所述第一缓存队列,并将所述数据包存储于所述第一缓存队列。
11.结合第一方面,在一种可能的实施方式中,将所述数据包缓存于与所述数据包的类型所对应的第一缓存队列,包括:
12.当所述数据包的数量超过所述第一缓存队列的缓存数量时,创建与所述数据包的
类型对应缓存队列以作为第二缓存队列,并将所述数据包顺序存储于所述第一缓存队列及所述第二缓存队列。
13.结合第一方面,在一种可能的实施方式中,所述解析结果包括所述数据包的源ip地址、目的ip地址、源端口、目的端口、请求内容中的至少一种。
14.结合第一方面,在一种可能的实施方式中,所述方法还包括:
15.基于与所述解析结果对应的处理规则,对所述数据包进行相应操作,所述相应操作包括对所述数据包进行告警、修改源ip地址、日志记录中的至少一种操作,或对所述数据包进行拦截或放行。
16.在上述的实施方式中,所得到的解析结果,可以供用户对网络设备进行相应的配置管理,以便于对数据包进行管控,提高网络安全。
17.结合第一方面,在一种可能的实施方式中,所述第一缓存队列为无锁环形队列。
18.第二方面,本技术还提供一种数据处理装置,所述装置包括:获取单元,用于获取矢量数据包处理开发框架vpp从网络设备的网卡上所采集的数据包;缓存单元,用于将所述数据包缓存于与所述数据包的类型所对应的第一缓存队列;检测单元,用于从所述第一缓存队列中读取数据包,并确定与所述数据包对应的协议类型;分析单元,用于根据与所述协议类型对应的预设处理函数,对所述数据包进行解析,得到对所述数据包的解析结果。
19.第三方面,本技术还提供一种网络设备,所述网络设备包括相互耦合的处理器及存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述网络设备执行上述的方法。
20.第四方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
21.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
22.图1为本技术实施例提供的网络设备的结构示意图。
23.图2为本技术实施例提供的数据处理方法的流程示意图。
24.图3为本技术实施例提供的缓存队列读写数据的示意图。
25.图4为本技术实施例提供的数据处理装置的框图。
26.图标:10-网络设备;11-处理模块;12-存储模块;13-通信模块;200-数据处理装置;210-获取单元;220-缓存单元;230-检测单元;240-分析单元。
具体实施方式
27.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
28.请参照图1,本技术提供网络设备10,网络设备10可以包括处理模块11及存储模块12。存储模块12内存储计算机程序,当计算机程序被所述处理模块11执行时,使得网络设备10能够执行下述数据处理方法中的各步骤。
29.在网络设备10中,可以搭建有vpp(vector packet processing,矢量数据包处理开发框架),能够提高数据处理的效率。其中,网络设备10可以是但不限于路由器、交换机、网关设备、服务器、转发数据的基站设备等。
30.可以理解的是,图1所示的结构仅为网络设备10的一种结构示意图,网络设备10还可以包括比图1所示更多的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。例如,网络设备10还可以包括通信模块13,用于建立网络设备10与其他设备的通信连接,如建立与用户终端的通信连接,以实现数据交互。用户终端可以是但不限于个人电脑、智能手机等。
31.请参照图2,本技术还提供一种数据处理方法,可以应用于上述的网络设备10中,由网络设备10执行或实现方法中的各步骤,方法可以包括如下步骤:
32.步骤s110,获取矢量数据包处理开发框架vpp从网络设备10的网卡上所采集的数据包;
33.步骤s120,将所述数据包缓存于与所述数据包的类型所对应的第一缓存队列;
34.步骤s130,从所述第一缓存队列中读取数据包,并确定与所述数据包对应的协议类型;
35.步骤s140,根据与所述协议类型对应的预设处理函数,对所述数据包进行解析,得到对所述数据包的解析结果。
36.在上述的实施方式中,通过利用部署在网络设备10的用户空间的vpp,对网卡的数据包进行采集与缓存,然后,直接对缓存队列中的数据包进行解析。基于vpp具有分析2到4层网络堆栈能力的特性,网络设备10在获取及分析数据包的过程中,整个处理过程全在用户空间完成,能减少中断次数,也无需对数据包的处理线程进行用户空间、内核空间的频繁切换,从而有利于提高数据处理效率。
37.下面将对方法中的各步骤进行详细阐述,如下:
38.在步骤s110之前,方法包括在网络设备10上搭建vpp的步骤。例如,在步骤s110之前,方法还可以包括:
39.在所述网络设备10上搭建所述vpp,其中,所述vpp用于从所述网卡轮询获取欲传输至以太网输入节点的所述数据包。
40.在本实施例中,vpp是一套矢量数据包处理开发框架,运行在网络设备10的用户空间,且该框架具有分析2到4层网络堆栈的能力。
41.示例性地,网络设备10运行linux发行版的操作系统,网络设备10具有x86架构的cpu(central processing unit,中央处理器),网卡硬件为intel网卡。然后,在网络设备10上,搭建vpp的运行环境。例如,首先获取vpp框架源码,在获取到的源码基础上,执行里面的build.sh脚本,下载官方推荐的相关依赖,待所需要的依赖下载完成后,分别执行make install-deb和make install-ext-deps进行依赖的安装。最后执行编译命令make build-release,从而完成vpp框架发行版的编译过程。
42.由于vpp依赖了dpdk(data plane development kit,数据平面开发套件)的驱动
环境,因此需要进行dpdk环境设置。其中,dpdk为一款高性能的网络驱动组件,针对vpp进行dpdk环境设置的方式为本领域技术人员熟知,这里不再赘述。需要说明的是,开发人员可以配置dpdk接管网络设备10的网卡,以便于从网卡获取数据包。
43.通常情况下,vpp可以在网络设备10的网卡的dpdk_input节点处获取数据包,并将获取的数据包传递给ethernet_input节点。其中,dpdk_input节点即为dpdk输入节点,ethernet_input节点即为以太网输入节点。dpdk_input节点和ethernet_input节点为本领域技术人员熟知的节点,这里不再赘述。
44.在步骤s110中,网络设备10可以从vpp获取vpp所采集的数据包,该数据包即为dpdk_input节点发出的欲传输至ethernet_input节点的数据包。
45.例如,网络设备10可以将dpdk_input节点原本需要传递给ethernet_input节点的数据包复制一份,以作为从vpp获取的数据包。
46.在步骤s120中,网络设备10从vpp获取的数据包,可以自动缓存在相应的缓存队列中,以便于后续有序从缓存队列中取数据包进行分析处理。
47.在本实施例中,数据包的类型可以根据实际情况进行灵活划分。例如,可以基于数据包对应的业务类型或数据包所采用的协议类型对数据包的类型进行划分。其中,业务类型包括但不限于web访问、邮件流量等。协议类型包括但不限于http(hyper text transfer protocol,超文本传输协议)、smp(secure manager protocol,简单管理协议)等。
48.网络设备10可以针对不同数据包的类型,预先创建有相应的缓存队列。一个缓存队列与所存储的数据包的一个类型相关联。如此,当从vpp获取到数据包之后,可以基于数据包的类型,快速将数据包存储在与该数据包的类型所对应的缓存队列中,该缓存队列即为存储该数据包的第一缓存队列。如此,有利于后续对数据包进行有序处理。
49.其中,第一缓存队列的类型可以根据实际情况进行灵活确定。例如,第一缓存队列为普通的队列数据结构,或者,第一缓存队列可以为一种无锁环形队列。
50.可理解地,无锁机制的环形队列,在存或取数据时无需加解锁,因此能避免在存取数据过程中因加锁、解锁造成的时间延迟,从而能有效减少系统开销,提高数据存取的效率。
51.另外,当无锁环形队列用于只有一个入队线程和一个出队线程的场情时,两个线程可以并发操作,而不需要任何加锁行为,也可以保证线程安全。
52.作为一种可选的实施方式,步骤s120可以包括:
53.当不存在与所述数据包的类型对应的所述第一缓存队列时,创建与所述数据包的类型对应缓存队列以作为所述第一缓存队列,并将所述数据包存储于所述第一缓存队列。
54.可理解地,网络设备10从vpp获取的数据包之后,若当前不存在与该数据包类型对应的缓存队列,则网络设备10可以新建一个与该数据包的类型对应的缓存队列,以存储该类型的数据包,该缓存队列即为第一缓存队列。其中,该缓存队列可以与写入该数据包及读取该数据包的线程相关联,以便于写线程可以将数据包写入该缓存队列,以及,读线程可以从该缓存队列读取相应的数据包。
55.作为一种可选的实施方式,步骤s120可以包括:当所述数据包的数量超过所述第一缓存队列的缓存数量时,创建与所述数据包的类型对应缓存队列以作为第二缓存队列,并将所述数据包顺序存储于所述第一缓存队列及所述第二缓存队列。
56.可理解地,网络设备10可以自动检测从vpp获取的数据包的吞吐量,若从vpp所获取的数据包的数量,超过用于存储这些数据包所对应的第一缓存队列的缓存数量时,意味着第一缓存队列的容量不足以存储这些数据包。此时,网络设备10可以创建新的缓存队列,且新的缓存队列与欲存的数据包的类型相关联。
57.其中,所创建的缓存队列的数量可以根据实际情况进行灵活确定,以使创建后的第二缓存队列、已有的第一缓存队列的缓存容量,可以满足当前数据包的存储。另外,新建的缓存队列可以与写入数据包及读取数据包的线程相关联,以便于写线程可以将数据包写入该缓存队列,以及,读线程可以从该缓存队列读取相应的数据包。
58.需要说明的是,当网络设备10从vpp获取的数据包的吞吐量减少时,网络设备10可以自动删除在吞吐率高的情况下所创建的缓存队列。比如,当第一缓存队列的缓存容量可以满足从vpp获取的数据包的存储时,便意味着无需将数据包缓存在第二缓存队列。此时,网络设备10可以删除所创建的第二缓存队列,并解除与第二缓存队列绑定的读线程及写线程,以释放系统资源。
59.网络设备10通过检测从vpp获取的数据包的吞吐量,可以自适应地增加或减少缓存队列的数量,以适应在不同吞吐量情形下的数据处理,降低阻塞率,提高处理性能,直至将接收到的数据包按批次处理完成。
60.在步骤s130中,预设规则可以根据实际情况进行灵活设置。例如,预设规则可以为顺序读取第一缓存队列中的数据。当第一缓存队列中的数据包被读取之后,该数据包便从第一缓存队列中消失,从而可以为第一缓存队列腾出空间,以缓存新获取的数据包。
61.在本实施例中,数据包通常携带有表征自身所属的协议类型的字段,网络设备10可以通过对数据包中的这类字段进行提取和识别,便可以获知该数据包的协议类型。
62.在步骤s140中,网络设备10可以预先部署有用于对各类数据包进行分析处理的处理函数,以作为预设处理函数。其中,处理函数或预设处理函数可以根据实际情况进行灵活设置,可以根据用户的需求,从数据包中解析用户期望获取的数据。
63.通常而言,不同协议类型的数据包需要利用不同的预设处理函数来进行解析处理。例如,预设处理函数可以包括但不限于针对http类的数据包进行解析的第一类处理函数、针对smp类的数据包进行解析的第二类处理函数。
64.请参照图3,示例性地,假设网络设备10从vpp获取的流量数据中,包括数据包a和数据包b,且数据包a的类型为a,数据包b的类型为b,类型a和类型b为不同的类型,类型a的数据包需要处理函数a进行分析处理,类型b的数据包需要处理函数b进行分析处理;缓存队列a可以存储类型a的数据包,缓存队列b可以存储类型b的数据包。
65.当网络设备10从vpp分别获取到数据包a和数据包b时,便可以进行分流缓存,也就是将数据包a缓存于无锁环形队列a中,将数据包b缓存于无锁环形队列b中,然后,网络设备10中的数据分析服务,可以从无锁环形队列a中读取数据包a,并调用处理函数a对数据包a进行分析处理,从而得到针对数据包a的解析结果a。类似地,数据分析服务可以从无锁环形队列b中读取数据包b,并调用处理函数b对数据包b进行分析处理,从而得到针对数据包b的解析结果b。
66.在本实施例中,预设处理函数具有的功能包括数据包的常规处理以及定制化处理。其中,常规处理包括但不限于从数据包中提取源ip地址、目的ip地址、源端口、目的端
口,识别数据包的请求内容、例如,web请求提取、dns请求提取、mail(邮件)流量提取等。
67.定制化处理是结合用户的主观需要,对数据包进行定制化分析,定制化分析需要依赖相应的分析规则,该分析规则为开发人员预先根据实际需求灵活设置的规则,分析规则描述了数据包的特点,比如特定ip/端口、数据的特定状态等。基于该分析规则,可以分析数据包是否来自特定的ip或特定的端口,或分析数据是否为特定状态,从而得到相应的解析结果。
68.可理解地,解析结果可以根据实际情况进行灵活确定。例如,解析结果包括但不限于数据包的源ip地址、目的ip地址、源端口、目的端口、请求内容中的至少一种。当然,解析结果还可以包括其他内容,例如,解析结果还可以包括表征数据包是否来自特定端口的信息。
69.在本实施例中,通过分析数据包的所使用的网络协议,再根据协议类型,触发相应的处理函数脚本,即实现对数据报进行osi(open system interconnection reference model,开放系统互连参考模型)的剥离,由此最终可以实现对数据包的标准分层展示,便于直观的查看过滤结果。由于vpp框架本身支持2到4层的协议堆栈,如此可以在vpp框架中,外加用于数据分析处理的插件或脚本,并进行调用,即可实现对数据包的分析处理。对数据包进行读取及分析的整个操作过程中,数据包均在用户空间内完成,并不涉及和内核空间的数据传递,因此,有利于提升系统以及服务的运行效率以及性能。
70.需要说明的是,在实际的应用场景中,针对从网络设备10的网卡不间断收到的数据包,对抓到的数据包缓存进入第一缓存队列,以及从第一缓存队列中读取所缓存的数据包的处理服务是异步执行的。例如,通过vpp框架不间断的获取网络数据包,并将数据包放入无锁环形队列中,与此同时,数据包分析处理服务也在无锁环形队列中持续不断的取出捕获到的网络数据包,以进行分析处理,如此,有利于提高数据包分析处理流程的可靠性与稳定性。
71.当数据包的分析处理服务先于数据包缓存服务执行时,即,缓存队列中没有数据包,由于缓存队列中没有数据,此时数据包的分析处理服务会处于阻塞模式,直至从vpp捕获到从网卡抓取到的网络数据包,并存入缓存队列中之后,分析处理服务才开始执行。
72.基于上述设计,数据包处理流程基本上分为:用户层通过网络设备10,从vpp获取数据包

进入用户层协议栈

逻辑层

业务层。在数据包的处理过程中,能够减少中断次数、减少内存拷贝次数、绕过linux内核协议栈,进入用户协议栈。基于vpp框架本身支持2到4层的协议堆栈的特性,用户可以获得协议栈的控制权,能够定制化协议栈,降低复杂度,减少网络设备10资源开销,提升网络设备10运行稳定性及数据处理效率。
73.作为一种可选的实施方式,方法还可以包括:
74.基于与所述解析结果对应的处理规则,对所述数据包进行相应操作,所述相应操作包括对所述数据包进行告警、修改源ip地址、日志记录中的至少一种操作,或对所述数据包进行拦截或放行。
75.在本实施例中,处理规则可以根据用户的需求,灵活设置。通常而言,网络设备10可以存储有与各类解析结果对应的处理规则。例如,处理规则包括但不限于:
76.在检测到传输的数据包存在安全风险时,进行告警或拦截;
77.在检测到传输的数据包为安全的,进行放行,准许该数据包继续传输;
78.在检测到数据包满足修改条件(可以根据实际情况进行灵活确定)时,修改数据包中的部分信息,例如修改源ip地址,便可以实现篡改数据的目的;
79.对数据包进行日志记录。
80.在本实施例中,所得到的解析结果,可以供用户对网络设备10进行相应的配置管理,以便于对数据包进行管控,提高网络安全。例如,对经过分析后的数据包进行放行、阻断、修改等处理。
81.请参照图4,本技术实施例还提供一种数据处理装置200,可以应用于上述的网络设备10中,用于执行方法中的各步骤。数据处理装置200包括至少一个可以软件或固件(firmware)的形式存储于存储模块12中或固化在网络设备10操作系统(operating system,os)中的软件功能模块。处理模块11用于执行存储模块12中存储的可执行模块,例如数据处理装置200所包括的软件功能模块及计算机程序等。
82.数据处理装置200可以包括获取单元210、缓存单元220、检测单元230及分析单元240,各单元具有的功能作用可以如下:
83.获取单元210,用于获取矢量数据包处理开发框架vpp从网络设备10的网卡上所采集的数据包;
84.缓存单元220,用于将所述数据包缓存于与所述数据包的类型所对应的第一缓存队列;
85.检测单元230,用于从所述第一缓存队列中读取数据包,并确定与所述数据包对应的协议类型;
86.分析单元240,用于根据与所述协议类型对应的预设处理函数,对所述数据包进行解析,得到对所述数据包的解析结果。
87.可选地,数据处理装置200还可以包括搭建单元。在获取单元210获取矢量数据包处理开发框架vpp从网络设备10的网卡上所采集的数据包之前,搭建单元用于在所述网络设备10上搭建所述vpp,其中,所述vpp用于从所述网卡轮询获取欲传输至以太网输入节点的所述数据包。
88.可选地,缓存单元220还可以用于:当不存在与所述数据包的类型对应的所述第一缓存队列时,创建与所述数据包的类型对应缓存队列以作为所述第一缓存队列,并将所述数据包存储于所述第一缓存队列。
89.可选地,缓存单元220还可以用于:当所述数据包的数量超过所述第一缓存队列的缓存数量时,创建与所述数据包的类型对应缓存队列以作为第二缓存队列,并将所述数据包顺序存储于所述第一缓存队列及所述第二缓存队列。
90.可选地,数据处理装置200还可以包括执行单元,用于基于与所述解析结果对应的处理规则,对所述数据包进行相应操作,所述相应操作包括对所述数据包进行告警、修改源ip地址、日志记录中的至少一种操作,或对所述数据包进行拦截或放行。
91.在本实施例中,处理模块11可以是一种集成电路芯片,具有信号的处理能力。上述处理模块11可以是通用处理器。例如,该处理器可以是中央处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施
例中的公开的各方法、步骤及逻辑框图。
92.存储模块12可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块12可以用于存储协议类型对应的预设处理函数、与解析结果对应的处理规则等。当然,存储模块12还可以用于存储程序,处理模块11在接收到执行指令后,执行该程序。
93.通信模块13用于通过网络建立网络设备10与其他设备(如用户终端)的通信连接,并通过网络收发数据。
94.需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的网络设备10的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
95.本技术实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的数据处理方法。
96.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施场景所述的方法。
97.综上所述,在本方案中,通过利用部署在网络设备的用户空间的vpp,对网卡的数据包进行采集与缓存,然后,直接对缓存队列中的数据包进行解析。基于vpp具有分析2到4层网络堆栈能力的特性,网络设备在获取及分析数据包的过程中,整个处理过程全在用户空间完成,能减少中断次数,也无需对数据包的处理线程进行用户空间、内核空间的频繁切换,从而有利于提高数据处理效率。
98.在本技术所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
99.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献