一种基于web的应用运行方法
技术领域
1.本技术涉及互联网技术领域,尤其涉及一种基于web的应用运行方法、装置、电子设备以及计算机可读存储介质。
背景技术:2.随着科学技术的进步,各种web应用层出不穷,且各web应用所占用系统资源也越来越多,如何高效支持web应用的运行,是当前急需解决的技术问题。
3.目前,常使用提高硬件能力的方式,如增大内存、提高cpu运行赫兹等,来支持web应用所占系统资源过多的问题,虽然该方式可有效支持web应用运行,但也同时需消耗过多硬件资源,造成硬件资源浪费问题。
4.申请内容
5.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种基于web的应用运行方法、装置、电子设备以及计算机可读存储介质,可以避免消耗过多硬件资源,造成硬件资源浪费问题。
6.第一方面,本技术提供了一种基于web的应用运行方法,所述方法包括:
7.接收web运行指令,根据所述web运行指令寻址对应的web应用,并启动预构建的web服务容器;
8.将所述web服务容器作为所述web应用的运行环境,得到web应用容器;
9.根据所述web应用容器,创建web中间件,利用所述web中间件连接预构建的应用容器引擎;
10.当所述web中间件连接所述应用容器引擎成功时,利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统;
11.绑定所述镜像系统与所述操作系统的底层接口,生成与所述web应用对应的web操作环境,利用所述web操作环境启动所述web应用容器,完成所述web应用的运行。
12.可以看出,本技术实施例主要先构建出属于web应用的运行环境,得到web应用容器,但由于web应用容器与web应用所在的操作系统无法执行信息交互,因此利用预先安装在操作系统中的应用容器引擎,及web中间件作为信息交互的桥梁,同时构建出与web应用容器对应的镜像系统,通过镜像系统、操作系统的双重支持下,为web应用的运行提供支持,可见本发明并非使用提高硬件能力的方式,而是通过构建镜像系统缓解所占系统资源过多的问题,避免了利用过多硬件资源,造成硬件资源浪费问题。
13.在第一方面的一种可能实现方式中,所述根据所述web应用容器,创建web中间件,包括:
14.解析所述web应用容器对应的编程语言,得到解析语言;
15.根据所述解析语言生成测试指令,并调用所述应用容器引擎生成语言解析容器;
16.利用所述测试指令及所述语言解析容器,测试所述web应用容器,若测试通过,根据所述语言解析容器生成所述web中间件。
17.在第一方面的一种可能实现方式中,所述利用所述测试指令及所述语言解析容器,测试所述web应用容器,若测试通过,根据所述语言解析容器生成所述web中间件,包括:
18.实时捕捉所述web应用容器的运行状态参数;
19.将所述语言解析容器作为载体,传送所述运行状态参数至所述应用容器引擎;
20.当所述应用容器引擎接收所述运行状态参数成功时,在预设时间内,利用所述测试指令关闭所述web应用容器,并判断所述语言解析容器是否可成功释放所述web应用容器的系统资源;
21.若所述语言解析容器无法释放所述web应用容器的系统资源,生成报错信息至所述web应用容器的开发人员;
22.若所述语言解析容器可成功释放所述web应用容器的系统资源,利用所述语言解析容器生成所述web中间件。
23.在第一方面的一种可能实现方式中,所述利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统,包括:
24.获取所述web应用容器所在的操作系统的系统版本信息;
25.利用所述系统版本信息及所述应用容器引擎,生成镜像系统信息;
26.根据所述镜像系统信息及所述应用容器引擎对应的镜像指令,生成所述镜像系统。
27.在第一方面的一种可能实现方式中,所述利用所述系统版本信息及所述应用容器引擎,生成镜像系统信息,包括:
28.利用所述应用容器引擎,对所述系统版本信息执行镜像标记和id标记;
29.利用所述应用容器引擎索引所述系统版本信息的版本大小;
30.根据所述版本大小及标记后的系统版本信息,生成所述镜像系统信息。
31.在第一方面的一种可能实现方式中,所述预构建web服务容器的构建过程,包括:
32.在所述操作系统中,寻找得到所述应用容器引擎;
33.利用所述应用容器引擎,创建命名空间进程;
34.根据所述操作系统,赋参所述命名空间进程,得到所述web服务容器。
35.在第一方面的一种可能实现方式中,所述根据所述操作系统,赋参所述命名空间进程,得到所述web服务容器,包括:
36.根据所述操作系统的配置文件,限制所述命名空间进程在所述操作系统中的资源上限,并设置所述命名空间进程的优先级,得到资源空间进程;
37.在所述操作系统内文件化所述资源空间进程,得到所述web服务容器。
38.第二方面,本技术提供了一种基于web的应用运行装置,所述装置应用于多个浏览器的其中一个主控浏览器,包括:
39.web服务容器启动模块,用于接收web运行指令,根据所述web运行指令寻址对应的web应用,并启动预构建的web服务容器;
40.web应用容器生成模块,用于将所述web服务容器作为所述web应用的运行环境,得到web应用容器;
41.连接模块,用于根据所述web应用容器,创建web中间件,利用所述web中间件连接预构建的应用容器引擎;
42.web应用运行模块,用于当所述web中间件连接所述应用容器引擎成功时,利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统,绑定所述镜像系统与所述操作系统的底层接口,生成与所述web应用对应的web操作环境,利用所述web操作环境启动所述web应用容器,完成所述web应用的运行。
43.第三方面,本技术提供一种电子设备,包括:
44.至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
45.其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,以使所述至少一个处理器能够执行如上述第一方面中任意一项所述的基于web的应用运行方法。
46.第四方面,本技术提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任意一项所述的基于web的应用运行方法。
47.可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
48.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
50.图1为本技术一实施例提供的一种基于web的应用运行方法的详细流程示意图;
51.图2为本技术一实施例中图1提供的一种基于web的应用运行方法的其中一个步骤流程示意图;
52.图3为为本技术一实施例中图1提供的一种基于web的应用运行方法的另外一个步骤流程示意图;
53.图4为本技术一实施例中图1提供的一种基于web的应用运行方法的又一个步骤详细流程示意图;
54.图5为本技术一实施例提供的一种基于web的应用运行装置的模块示意图;
55.图6为本技术一实施例提供的实现基于web的应用运行方法的电子设备的内部结构示意图。
具体实施方式
56.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
57.参阅图1所示的流程图描述了本技术一实施例提供的基于web的应用运行方法。包括:
58.s1、接收web运行指令,根据所述web运行指令寻址对应的web应用,并启动预构建的web服务容器。
59.本技术实施例中,所述web运行指令包括预构建的图形化显示按钮、编程字符指令等,如用户欲启动基于web构建的web应用,其中包括浏览器、app等web应用,则直接点击浏览器、app等的图形化显示按钮,即可自动生成所述web运行指令,并寻址到与所述web运行指令对应的web应用。
60.进一步地,当生成web运行指令后,为了确保用户使用web应用的安全,并非直接根据web应用所在的操作系统启动web应用,而是先启动预构建的所述web服务容器。其中所述web服务容器是基于应用容器引擎构建的,是一种可实现独立约束、独立修改的进程。
61.本发明其中一实施例中,参阅图2所示,所述预构建web服务容器的构建,包括:
62.s11、在所述web应用所在的操作系统中,寻找得到应用容器引擎;
63.s12、利用所述应用容器引擎,创建命名空间进程;
64.s13、根据所述操作系统,赋参所述命名空间进程,得到所述web服务容器。
65.本发明实施例中,所述操作系统包括windows、linux系统等。所述应用容器引擎可使用docker,其中docker是基于go语言和apache2.0协议开发出的应用容器引擎。
66.如上述欲启动的浏览器所在的操作系统为linux系统,且linux系统已安装docker后,则通过docker的命名空间创建指令:“docker run
‑
it busybox/bin/sh”,创建得到所述命名空间进程。
67.进一步地,由于web服务容器的运行环境的基本配置,需要与web应用所在的操作系统相同,才能保证web应用正常运行,故所述根据所述操作系统,赋参所述命名空间进程,得到所述web服务容器,包括:
68.根据所述操作系统的配置文件,限制所述命名空间进程在所述操作系统中的资源上限,并设置所述命名空间进程的优先级,得到资源空间进程;
69.在所述操作系统内文件化所述资源空间进程,得到所述web服务容器。
70.如在linux操作系统中,限制命名空间进程能够使用的资源上限包括cpu、内存、磁盘、网络带宽等等,且为了方便用户操作,需暴露出资源空间进程,即所述web服务容器,是一种以文件和目录的方式存在于linux操作系统中。
71.进一步地,所述启动预构建的web服务容器,包括:
72.寻找所述web服务容器所在的文件路径;
73.在所述文件路径内,指定所述web服务容器需挂载的数据库,及所述web服务容器的配置文件;
74.根据所述数据库及所述web服务容器的配置文件,启动所述web服务容器。
75.如上述web服务容器文件化的文件路径为/bin/sh,则在/bin/sh内,利用docker的数据库挂载指令,挂载所述web服务容器对应的数据库,并从docker中提取出配置文件,通过配置文件和挂载的数据库,可启动所述web服务容器。
76.s2、将所述web服务容器作为所述web应用的运行环境,得到web应用容器。
77.本发明实施例中,如同时创建两个web服务容器,分别为第一web服务容器和第二web服务容器,并将第一web服务容器作为上述浏览器的运行环境,将第二web服务容器作为上述app的运行环境,故分别可得到浏览器应用容器和app应用容器。
78.进一步地,web应用容器互相之间独立运行、独立存在、互不干扰但又同时依赖于同一操作系统,如上述浏览器应用容器和app应用容器,互相不干扰的共同工作,但又同时
依赖于linux操作系统。
79.s3、根据所述web应用容器,创建web中间件,利用所述web中间件连接预构建的应用容器引擎。
80.由于web应用容器一般直接与用户对接,接受用户操作指令,并响应用户操作指令返回对应的响应结果,但由上述可知,由于web应用容器是基于应用容器引擎所构建的,且又依赖于操作系统,因此需要应用容器引擎及操作系统配合web应用容器,才可完成响应用户操作。
81.因此本发明实施例中,需进一步创建web中间件,从而协助web应用容器与应用容器引擎、操作系统的信息交流,详细地,参阅图3所示,所述根据所述web应用容器,创建web中间件,包括:
82.s31、解析所述web应用容器对应的编程语言,得到解析语言;
83.s32、根据所述解析语言生成测试指令,并调用所述应用容器引擎生成语言解析容器;
84.s33、利用所述测试指令及所述语言解析容器,测试所述web应用容器,若测试通过,根据所述语言解析容器生成所述web中间件。
85.由于不同编程语言的web应用,与操作系统及应用容器引擎之间会有信息传输障碍,如浏览器基于html语言构建、app基于java语言构建,操作系统及应用容器引擎无法实时解析,因此需依赖web中间件解析不同编程语言的信息,并传送至操作系统及应用容器引擎。
86.本发明实施例中,应用容器引擎如docker,可根据不同的编程语言生成对应的语言解析容器,如html语言解析容器、java语言解析容器。
87.进一步地,生成语言解析容器后,需要利用语言解析容器执行测试功能,查看语言解析容器是否具备信息解析及传达的作用。
88.详细地,所述利用所述测试指令及所述语言解析容器,测试所述web应用容器,若测试通过,根据所述语言解析容器生成所述web中间件,包括:
89.实时捕捉所述web应用容器的运行状态参数;
90.将所述语言解析容器作为载体,传送所述运行状态参数至所述应用容器引擎;
91.当所述应用容器引擎接收所述运行状态参数成功时,在预设时间内,利用所述测试指令关闭所述web应用容器,并判断所述语言解析容器是否可成功释放所述web应用容器的系统资源;
92.若所述语言解析容器无法释放所述web应用容器的系统资源,生成报错信息至所述web应用容器的开发人员;
93.若所述语言解析容器可成功释放所述web应用容器的系统资源,利用所述语言解析容器生成所述web中间件。
94.本发明实施例中,由于应用容器引擎预先安装在操作系统中,所以只需测试应用容器引擎与web应用容器之间的信息交流是否有误即可,当应用容器引擎与web应用容器之间的信息交流无误,则所述语言解析容器即为所述web中间件。
95.可了解的是,当利用web中间件测试应用容器引擎与web应用容器可执行信息交流后,其web中间件与应用容器引擎自然而然也可顺利连接。
96.s4、当所述web中间件连接所述应用容器引擎成功时,利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统。
97.由上所述可知,web应用容器仅是由应用容器引擎所创建的web服务容器,支持web应用执行数据传输,可见稳定性较差,因此需要在web应用容器中安装镜像系统,提高所述web应用容器的稳定性。
98.详细地,参阅图4所示,所述利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统,包括:
99.s41、获取所述web应用容器所在的操作系统的系统版本信息;
100.s42、利用所述系统版本信息及所述应用容器引擎,生成镜像系统信息;
101.s43、根据所述镜像系统信息及所述应用容器引擎对应的镜像指令,生成所述镜像系统。
102.如上述,web应用容器所在的操作系统为linux操作系统,对应的系统版本信息包括ubuntu、版本号12.04等。
103.当得到系统版本信息后,所述利用所述系统版本信息及所述应用容器引擎,生成镜像系统信息,包括:
104.利用所述应用容器引擎,对所述系统版本信息执行镜像标记和id标记;
105.利用所述应用容器引擎索引所述系统版本信息的版本大小;
106.根据所述版本大小及标记后的系统版本信息,生成所述镜像系统信息。
107.进一步地,所述应用容器引擎对应的镜像指令,依据应用容器引擎种类的不同而不同,如docker的镜像指令包括:sudo dockerpullregistry.hub..docker.com/ubuntu:12.04等镜像指令,从而生成所述镜像系统。
108.s5、绑定所述镜像系统与所述操作系统的底层接口,生成与所述web应用对应的web操作环境,利用所述web操作环境启动所述web应用容器,完成所述web应用的运行。
109.本发明实施例中,如上述浏览器所在的操作系统为linux操作系统,则对应的镜像系统也为linux操作系统,并同时将镜像系统与底层接口,如cpu、显存等接口,实现绑定后,该镜像系统即可服务于web应用,即生成所述web操作环境。
110.进而本发明实施例中,可利用该web操作环境启动对应的web应用容器,从而实现对web应用运行的支持。
111.可以看出,本技术实施例主要先构建出属于web应用的运行环境,得到web应用容器,但由于web应用容器与web应用所在的操作系统无法执行信息交互,因此利用预先安装在操作系统中的应用容器引擎,及web中间件作为信息交互的桥梁,同时构建出与web应用容器对应的镜像系统,通过镜像系统、操作系统的双重支持下,为web应用的运行提供支持,可见本发明并非使用提高硬件能力的方式,而是通过构建镜像系统缓解所占系统资源过多的问题,避免了利用过多硬件资源,造成硬件资源浪费问题。
112.如图5所示,是本技术基于web的应用运行装置的功能模块图。
113.本技术所述基于web的应用运行装置500可以安装于电子设备中。根据实现的功能,所述基于web的应用运行装置可以包括web服务容器启动模块501、web应用容器生成模块502、连接模块503以及web应用运行模块504。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在
电子设备的存储器中。
114.在本实施例中,关于各模块/单元的功能如下:
115.所述web服务容器启动模块101,用于接收web运行指令,根据所述web运行指令寻址对应的web应用,并启动预构建的web服务容器;
116.所述web应用容器生成模块102,用于将所述web服务容器作为所述web应用的运行环境,得到web应用容器;
117.所述连接模块103,用于根据所述web应用容器,创建web中间件,利用所述web中间件连接预构建的应用容器引擎;
118.所述web应用运行模块104,用于当所述web中间件连接所述应用容器引擎成功时,利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统,绑定所述镜像系统与所述操作系统的底层接口,生成与所述web应用对应的web操作环境,利用所述web操作环境启动所述web应用容器,完成所述web应用的运行。
119.详细地,本技术实施例中所述基于web的应用运行装置500中的所述各模块在使用时采用与上述的图1和图4中所述的基于web的应用运行方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
120.如图6所示,是本技术实现基于web的应用运行方法的电子设备的结构示意图。
121.所述电子设备6可以包括处理器60、存储器61、通信总线62以及通信接口63,还可以包括存储在所述存储器61中并可在所述处理器60上运行的计算机程序,如基于web的应用运行程序。
122.其中,所述处理器60在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器60是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器61内的程序或者模块(例如执行基于web的应用运行程序等),以及调用存储在所述存储器61内的数据,以执行电子设备的各种功能和处理数据。
123.所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器61在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器61在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器61还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器61不仅可以用于存储安装于电子设备的应用软件及各类数据,例如基于web的应用运行程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
124.所述通信总线62可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器61以及至少一个处理器60等之间的连接通信。
125.所述通信接口63用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi
‑
fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,所述用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light
‑
emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
126.图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
127.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器60逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi
‑
fi模块等,在此不再赘述。
128.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
129.所述电子设备6中的所述存储器61存储的基于web的应用运行62是多个计算机程序的组合,在所述处理器60中运行时,可以实现:
130.接收web运行指令,根据所述web运行指令寻址对应的web应用,并启动预构建的web服务容器;
131.将所述web服务容器作为所述web应用的运行环境,得到web应用容器;
132.根据所述web应用容器,创建web中间件,利用所述web中间件连接预构建的应用容器引擎;
133.当所述web中间件连接所述应用容器引擎成功时,利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统,绑定所述镜像系统与所述操作系统的底层接口,生成与所述web应用对应的web操作环境,利用所述web操作环境启动所述web应用容器,完成所述web应用的运行。
134.具体地,所述处理器60对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
135.进一步地,所述电子设备6集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read
‑
only memory)。
136.本技术还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
137.接收web运行指令,根据所述web运行指令寻址对应的web应用,并启动预构建的
web服务容器;
138.将所述web服务容器作为所述web应用的运行环境,得到web应用容器;
139.根据所述web应用容器,创建web中间件,利用所述web中间件连接预构建的应用容器引擎;
140.当所述web中间件连接所述应用容器引擎成功时,利用所述应用容器引擎镜像所述web应用容器所在的操作系统,得到镜像系统;
141.绑定所述镜像系统与所述操作系统的底层接口,生成与所述web应用对应的web操作环境,利用所述web操作环境启动所述web应用容器,完成所述web应用的运行。
142.在本技术所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
143.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
144.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
145.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。
146.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
147.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
148.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。