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

HTTP应用及后台脚本的部署方法、系统及存储介质与流程

2022-11-23 13:51:29 来源:中国专利 TAG:

http应用及后台脚本的部署方法、系统及存储介质
技术领域
1.本发明涉及运维技术领域,尤其涉及的是一种http应用及后台脚本的部署方法、系统及存储介质。


背景技术:

2.集群指一组(若干个)相互独立的计算机利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器,这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。当用户请求集群系统时,集群如单一独立的服务器一样向用户提供服务,性能高且可伸缩性强。
3.在集群内部署应用程序时,一般过程是:将应用程序安装包或升级包同步到每个集群节点上,在每个集群节点上执行相同的解包、备份、停止、更新及启动等步骤,这种方式需要人工手动编辑需要配置的每一个配置文件,效率较低且容易出错。
4.申请号为201310362420x的发明专利申请公开了一种应用程序部署方法、部署主控机、部署客户端和集群,如图1所示,其中方法包括步骤:集群中的部署主控机构造与所述应用程序的部署相关的部署命令,所述部署命令还关联有应用程序升级包;向所述集群中的每个部署客户端发送所述部署命令,以使所述部署客户端根据所述部署命令对所述应用程序升级包对应的应用程序进行更新。
5.该发明专利申请旨在利用部署主控机生成的部署命令进行统一生成及修改,而后发送至部署客户端执行以提高应用程序在集群内的部署效率及可靠性,该发明专利申请将部署命令与应用程序升级包分割为两个独立的文件,部署命令用于使集群节点在执行时按照预先填写的配置方式对配置文件进行自行配置,应用程序升级包则作为可执行程序由集群节点在配置完成后安装以完成对应用程序的部署。但在实际使用过程中,某些类型的应用程序的原始代码文件需要根据开发者填入的配置参数进行二次修改方可使用,比如后端应用程序(即backend),这种方法并不适用。
6.可见,现有技术还有待于改进和发展。


技术实现要素:

7.鉴于上述现有技术的不足,本发明的目的在于提供一种http应用及后台脚本的部署方法、系统及存储介质,旨在解决某些类型(比如backend类型)的应用程序的原始代码文件需要根据开发者填入的配置参数进行二次修改方可使用,现有技术中的应用程序部署方法并不适用的问题。
8.本发明的技术方案如下:
9.一种http应用及后台脚本的部署方法,其包括:
10.构建平台接收源码文件,并将所接收的源码文件上传至程序解析模块;
11.程序解析模块根据所接收的源码文件判断应用程序是脚本集合、后端应用程序还
是前端应用程序,并返回判断结果至构建平台;
12.构建平台根据应用程序的类型显示所需要的配置项,并接收用户所填写的配置参数后连同应用程序类型描述及源码文件一起提交至程序处理模块;
13.程序处理模块创建临时工作目录,将构建平台所提交的信息保存至所述临时工作目录,并将所保存的信息提供给程序构建模块;
14.程序构建模块根据应用程序类型进行驱动匹配,根据配置参数修改源代码以生成描述文件及可执行程序,并打包成新的源码文件。
15.上述方案的效果在于:在本发明所提供的http应用及后台脚本的部署方法中,程序解析模块可以根据源码文件自动判断应用程序的类型并提供配置项以供用户填写,程序构建模块可以根据应用程序类型进行驱动匹配对不同类型的应用程序使用不同的构建驱动进行处理,进而根据参数配置生成描述文件,据此将配置参数写入源代码,在进行应用程序的集群部署时,集群节点只需要获取源码文件即可获悉用户所填写的配置参数,即使如后台应用程序这类应用同样可以使用本发明所提供的方法进行应用程序的自动部署,而无需使用传统的人工手动逐一配置的方式,提高了应用程序的部署效率,降低了应用程序部署配置错误的概率。
16.在进一步地优选方案中,所述程序解析模块根据所接收的源码文件判断应用程序是脚本集合、后端应用程序还是前端应用程序具体为:判断源码文件是否为.sh文件,若是则确定应用程序为脚本集合,若否则继续判断源码文件是否包含.env文件,若是则确定应用程序为后端应用程序,若否则继续判断源码文件是否包含main.sh文件,若是则确定应用程序为脚本集合,若否则确定应用程序为前端应用程序。
17.上述方案的效果在于:通过源码文件的格式是否为.sh文件可以快速判断应用程序是否为脚本集合,内部是否含有.env文件可以快速判断应用程序是否为后端应用程序,内部是否含有main.sh文件可以快速判断应用程序是否为脚本集合,在以上条件都不满足的条件下,则可以判断应用程序为前端应用程序,本发明以此利用脚本集合、后端应用程序还是前端应用程序的特性快速完成应用程序类型的判断,而不必运行源码文件,提高了应用程序的部署效率。
18.在进一步地优选方案中,所述程序构建模块根据应用程序类型进行驱动匹配,根据配置参数修改源代码以生成描述文件及可执行程序,并打包成新的源码文件的步骤具体包括:
19.根据应用程序类型进行驱动匹配,并利用匹配到的构建驱动根据配置参数修改源代码生成新代码文件;
20.为所述新代码文件分配版本号,并根据应用程序类型及所分配的版本号重新定义新代码文件的名称,新确定的名称包含所述版本号及应用程序类型;
21.编译所述新代码文件生成可执行程序及描述文件,并将所述描述文件及可执行程序打包成新的源码文件。
22.上述方案的效果在于:将应用程序类型及所分配的版本号写入新确定的名称便于将应用程序部署至集群节点时,集群节点识别应用程序类型及版本号,进行应用程序类别快速识别及版本号对比,以最终确定在集群节点执行的操作是更新、发布还是回收,进一步提高应用程序的部署效率。
23.在进一步地优选方案中,所述程序构建模块根据应用程序类型进行驱动匹配,根据配置参数修改源代码以生成描述文件及可执行程序,并打包成新的源码文件的步骤之后还包括:程序处理模块将新的源码文件切包、打包压缩后分卷,并进行文件校验码计算后打包以供下载。
24.上述方案的效果在于:之所以进行切包是因为集群节点的网络未必能够支持整个新源码文件的上传,比如集群节点的网络要求单次上传文件不能超过30m,则需要按照每个代码包小于等于30m的规则来进行切包,即切包是根据系统所部署的内网环境流量限制规则来进行,可保证应用程序的部署顺利进行。
25.在进一步地优选方案中,所述http应用及后台脚本的部署方法还包括:
26.集群节点内的文件监听模块实时监听指定目录,并逐一判断指定目录内的目录项名称是否符合应用名称格式,若是则判断目录项名称所对应的文件是否完整,若是则发布文件分组指令至文件处理模块;
27.集群节点内的文件处理模块接收文件分组指令并进行分拣分组,判断分卷是否完整,若是则将所有分卷合并后解压至saltstack脚本目录,并投递至异步处理模块;
28.集群节点内的异步处理模块根据应用程序类型匹配驱动,并利用匹配到的解析驱动读取saltstack脚本目录并进行新源码文件的解析,获取所述描述文件,并根据描述文件发送操作指令至应用升级模块;
29.集群节点内的应用升级模块接收操作指令,发布或更新应用程序并更新数据库内的应用程序操作记录。
30.上述方案的效果在于:集群节点内的文件监听模块可以及时发现可发布或可更新的应用程序,对于完整的文件文件处理模块会进行分卷完整性判断,过滤掉不符合条件的文件,而异步处理模块及应用升级模块则可以对符合条件的新源码文件进行解析及操作响应,据此及时完成应用程序的发布或更新。
31.在进一步地优选方案中,所述集群节点内的异步处理模块根据应用程序类型匹配驱动,并利用匹配到的解析驱动读取saltstack脚本目录并进行新源码文件的解析,获取所述描述文件,并根据描述文件发送操作指令至应用升级模块的步骤具体包括:
32.根据应用程序类型匹配驱动,并利用匹配到的解析驱动读取saltstack脚本目录并进行新源码文件的解析;
33.获取应用程序的描述文件,在检索到程序执行中的事件函数before handle和/或on handle后分别发送第一操作指令及第二操作指令至应用升级模块;
34.所述集群节点内的应用升级模块接收操作指令,发布或更新应用程序并更新数据库内的应用程序操作记录的步骤具体包括:所述应用升级模块在接收到第一操作指令后更新数据库中记录的程序版本号,在接收到第二操作指令后实例化应用程序。
35.上述方案的效果在于:before handle函数的意思是在执行某一操作前需要执行另一操作,on handle函数的意思是执行某一操作的同时需要执行另一操作,在本发明中,这两处事件函数负责更新数据库中记录的程序版本号,根据before handle函数和on handle函数,应用升级模块可以快速及时的进行数据库记录更新。
36.在进一步地优选方案中,所述集群节点内的应用升级模块接收操作指令,发布或更新应用程序并更新数据库内的应用程序操作记录的步骤还包括:根据应用程序曾部署情
况及版本判断应当执行的操作是更新还是发布,若是发布或更新则校验集群节点的程序运行环境,校验不通过则结束,校验通过则执行操作更新脚本或发布脚本。
37.上述方案的效果在于:具体地,由旧版本的应用程序是否部署在该集群节点决定具体执行什么样的操作:若从未在该集群节点部署操作则是发布,若已发布过且当前版本依然部署在该集群节点则是更新;通过简单的部署情况及版本对比判断即可得知具体应该执行什么样的操作,无需人工操作,提高了应用程序部署的方便性。
38.一种用于实现http应用及后台脚本的部署方法的系统,其包括存储器及处理器,所述存储器用于存储http应用及后台脚本的部署程序,所述处理器用于运行所述http应用及后台脚本的部署程序以实现如上所述的http应用及后台脚本的部署方法。
39.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的http应用及后台脚本的部署方法的步骤。所述存储介质包括上述http应用及后台脚本的部署方法的所有技术特征,因此也具有上述http应用及后台脚本的部署方法的所有技术效果,此处不再赘述。
40.与现有技术相比,本发明提供的http应用及后台脚本的部署方法,包括:构建平台接收源码文件,并将所接收的源码文件上传至程序解析模块;程序解析模块根据所接收的源码文件判断应用程序是脚本集合、后端应用程序还是前端应用程序,并返回判断结果至构建平台;构建平台根据应用程序的类型显示所需要的配置项,并接收用户所填写的配置参数后连同应用程序类型描述及源码文件一起提交至程序处理模块;程序处理模块创建临时工作目录,将构建平台所提交的信息保存至所述临时工作目录,并将所保存的信息提供给程序构建模块;程序构建模块根据应用程序类型进行驱动匹配,根据配置参数修改源代码以生成描述文件及可执行程序,并打包成新的源码文件。本发明所提供的http应用及后台脚本的部署方法,程序解析模块可以根据源码文件自动判断应用程序的类型并提供配置项以供用户填写,程序构建模块可以根据应用程序类型进行驱动匹配对不同类型的应用程序使用不同的构建驱动进行处理,进而根据参数配置生成描述文件,据此将配置参数写入源代码,在进行应用程序的集群部署时,集群节点只需要获取源码文件即可获悉用户所填写的配置参数,即使如后台应用程序这类应用同样可以使用本发明所提供的方法进行应用程序的自动部署,而无需使用传统的人工手动逐一配置的方式,提高了应用程序的部署效率,降低了应用程序部署配置错误的概率。
附图说明
41.图1是201310362420x所公布应用程序部署方法的流程图。
42.图2是本发明较佳实施例中http应用及后台脚本的部署方法的流程图。
具体实施方式
43.本发明提供一种http应用及后台脚本的部署方法、系统及存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.后台应用程序(backend)会包含.env文件,.env为全局默认配置文件,无论什么环境都会加载合并,在加载的过程中,开发环境会加载.env和.env.development,生成环境会
加载.env和.env.production,测试环境会加载.env和.env.test,因此后台应用程序的部署离不开.env文件及其内部记载的配置参数,若使用传统方法进行应用程序部署则需要人工修改每个集群节点的配置项,201310362420x所公布的方法又不适于后台应用程序使用,故本发明提供了一种用于实现http应用及后台脚本的部署方法,如图2所示,其包括步骤:
45.s100、构建平台接收源码文件,并将所接收的源码文件上传至程序解析模块。
46.在文件系统中,为了便于管理和控制文件而将文件分成若干种类型。由于不同系统对文件的管理方式不同,因而它们对文件的分类方法也有很大差异。为了方便系统和用户了解文件的类型,在许多操作系统中都把文件类型作为扩展名而缀在文件名的后面,在文件名和扩展名之间用“.”号隔开。对于源码文件而言,其整体格式及其内部子文件的格式可以作为应用程序类型的判断依据,故本发明在接收到源码文件后将其上传至程序解析模块,以便程序解析模块进行应用程序类型进行判断,为后续配置项的填写及驱动的匹配提供依据。
47.s200、程序解析模块根据所接收的源码文件判断应用程序是脚本集合、后端应用程序还是前端应用程序,并返回判断结果至构建平台。
48.shell脚本集合包含了main.sh(脚本执行入口文件)以及脚本依赖的其他任意文件(比如.rpm,.tar.gz等等脚本中会用到的文件),在shell、backend、frontend三者中只有shell可能会将源码文件确定为.sh格式,故可据此两点判断源码文件对应的应用程序是否为脚本集合。
49.对于不同的运行环境使用不同的配置是一种常见的需求,比如在测试环境和生产环境的redis配置不一样,而生产环境的配置又不能提交到源代码版本管理系统中以免信息泄露。在hyperf(hyperf是一个高性能、高灵活性的渐进式php协程框架)里环境变量这一方案通过利用vlucas/phpdotenv提供的环境变量解析功能,以及env()函数来获取环境变量的值,可以有效解决配置不同的问题,在后台应用程序中.env文件至关重要,是否包含.env文件可以作为判断应用程序是否为后台应用程序的判断依据。
50.在本发明中,预先设置仅处理shell、backend、frontend三种程序,若判断应用程序既不是脚本集合,又不是后台应用程序,则默认其为前台应用程序。
51.在具体实施时,所述s200中应用程序类型的判断方式具体为:判断源码文件是否为.sh文件,若是则确定应用程序为脚本集合,若否则继续判断源码文件是否包含.env文件,若是则确定应用程序为后端应用程序,若否则继续判断源码文件是否包含main.sh文件,若是则确定应用程序为脚本集合,若否则确定应用程序为前端应用程序。需要注意的是,是否包含.env文件以及是否包含main.sh文件的顺序是可以进行调整的,这并不影响本发明技术方案的实现,本发明对此并不进行具体限定。
52.s300、构建平台根据应用程序的类型显示所需要的配置项,并接收用户所填写的配置参数后连同应用程序类型描述及源码文件一起提交至程序处理模块。在优选实施例中,用户所填写的配置参数会持久化为文件,应用程序类型同样写入该文件。
53.在本发明中,在程序解析模块确定应用程序类型后,构建平台会自动显示所需要的配置项(留有空白处供用户填写),用户只需要在相应位置填写即可,无需编写源代码,操作十分方便,且不会受每个人编写方式不同的影响,同时极大的降低了出错的概率,进而提高了后续修改源代码所生成描述文件的可靠性。
54.对于backend、frontend这两类应用程序而言,共有的配置项有:运行环境及应用程序说明(或者,本次更新说明,视是否为新应用程序而定),除此之外,则是shell、backend、frontend的专有配置项,具体的,shell的通常仅有目标类型一项(在平台中shell可以执行在master节点也可以在minion节点执行,目标类型配置项填写后系统即可确定该shell具体在哪些节点执行),frontend一般有:应用名称、访问端口、接口转发ip(此处指nginx反向代理设置中的proxy_pass配置项,意思是配置前端请求地址应该转发至哪个服务提供的哪个端口)及自定义nginx(按照nginx的语法规则进行定义,有时候需要按照后端程序的要求配置不同的转发端口或监听目录等,此时需要进行额外的差异化配置,构建时由开发者自行填入)四项,backend一般有:sql脚本及环境变量两项。
55.s400、程序处理模块创建临时工作目录,将构建平台所提交的信息保存至所述临时工作目录,并将所保存的信息提供给程序构建模块。
56.临时工作目录可以存储应用程序类型及构建平台所提交的配置参数,在程序构建模块进行描述文件及可执行程序的生成时需要以配置参数及应用程序类型为依据,在这个过程中若出现问题,则临时工作目录所存储的信息可以重复使用,而无需用户再次填写配置项。
57.在具体实施时,将构建平台所提交的信息保存至所述临时工作目录包括:分别将根据配置参数及应用程序类型生成的文件与源码文件写入临时工作目录,若所写入的文件为压缩文件,则先进行解压,而后写入。
58.s500、程序构建模块根据应用程序类型进行驱动匹配,根据配置参数修改源代码以生成描述文件及可执行程序,并打包成新的源码文件。
59.在具体实施时,所述s500具体包括:
60.根据应用程序类型进行驱动匹配,并利用匹配到的构建驱动根据配置参数修改源代码生成新代码文件;
61.为所述新代码文件分配版本号,并根据应用程序类型及所分配的版本号重新定义新代码文件的名称,新确定的名称包含所述版本号及应用程序类型;
62.编译所述新代码文件生成可执行程序及描述文件,并将所述描述文件及可执行程序打包成新的源码文件。
63.将应用程序类型及所分配的版本号写入新确定的名称便于将应用程序部署至集群节点时,集群节点识别应用程序类型及版本号,进行应用程序类别快速识别及版本号对比,以最终确定在集群节点执行的操作是更新、发布还是回收,进一步提高应用程序的部署效率。
64.在进一步地较佳实施例中,所述s500之后还包括:程序处理模块将新的源码文件切包、打包压缩后分卷,并进行文件校验码计算后打包以供下载。
65.之所以进行切包是因为集群节点的网络未必能够支持整个新源码文件的上传,比如集群节点的网络要求单次上传文件不能超过30m,则需要按照每个代码包小于等于30m的规则来进行切包,即切包是根据系统所部署的内网环境流量限制规则来进行,可保证应用程序的部署顺利进行。
66.进一步地,所述程序处理模块将新的源码文件切包、打包压缩后分卷,并进行文件校验码计算后打包以供下载的步骤之后还包括:清空所述临时工作目录并输出应用程序的
下载地址。清空临时工作目录可以有效减少系统内的冗余信息,防止冗余信息堆积及管理混乱。
67.在集群主控机内,构建平台用于提供web页面供开发者上传源代码文件以及后续的发布配置填写(目标主机、何时发布、sql脚本、环境变量等等);程序构建模块负责代码包核心内容的创建以及将构建平台中填写的发布配置持久化为配置文件并放入代码包(或者单独打包);程序处理模块负责将程序构建模块输出的代码包进行整体打包,最终编译为同一批次的n个代码包(会根据单个代码包不超过30m大小的原则进行切分)供下载;程序解析模块负责搜集同一批次的n个代码包进行文件合并后解压为原始源代码文件及配置文件,后续按照配置文件中规定的方式方法(比如目标主机、何时发布、是否有sql脚本需执行等)进行代码发布操作。
68.总体关系:由构建平台搜集原始应用程序代码及发布配置后,交由程序构建模块处理合并,再由程序处理模块负责代码包标记批次并切分,后该批次的n个代码包通过互联网边界或其他方式传入到运行有解析程序的集群节点上后,由其负责与构建相反的操作进行解压并执行最终的发布更新等操作。
69.根据本发明地另一方面,所述http应用及后台脚本的部署方法还包括:
70.集群节点内的文件监听模块实时监听指定目录,并逐一判断指定目录内的目录项名称是否符合应用名称格式,若是则判断目录项名称所对应的文件是否完整,若是则发布文件分组指令至文件处理模块。指定目录是指代码包上传后的存储目录,由系统确定,可以是主控机内的任意目录;由于指定目录下可能存放的不只有文件,也会有子文件夹,在程序执行上需要区分文件和目录,文件夹跳过不进行处理。
71.集群节点内的文件处理模块接收文件分组指令并进行分拣分组,判断分卷是否完整,若是则将所有分卷合并后解压至saltstack脚本目录,并投递至异步处理模块。
72.集群节点内的异步处理模块根据应用程序类型匹配驱动,并利用匹配到的解析驱动读取saltstack脚本目录并进行新源码文件的解析,获取所述描述文件,并根据描述文件发送操作指令至应用升级模块。在具体实施时,文件处理模块将解压的文件投递至应用处理单元,应用处理单元为后台常驻进程,是一个异步队列,负责按照顺序挨个处理不同版本的代码包;解析的过程与构建恰好相反,构建驱动有不同的类型,同样的,解析也有与之对应的解析驱动,两个过程恰好相反。
73.集群节点内的应用升级模块接收操作指令,发布或更新应用程序并更新数据库内的应用程序操作记录。
74.进一步地较佳实施例中,所述集群节点内的异步处理模块根据应用程序类型匹配驱动,并利用匹配到的解析驱动读取saltstack脚本目录并进行新源码文件的解析,获取所述描述文件,并根据描述文件发送操作指令至应用升级模块的步骤具体包括:
75.根据应用程序类型匹配驱动,并利用匹配到的解析驱动读取saltstack脚本目录并进行新源码文件的解析;
76.获取应用程序的描述文件,在检索到程序执行中的事件函数before handle和/或on handle后分别发送第一操作指令及第二操作指令至应用升级模块;
77.所述集群节点内的应用升级模块接收操作指令,发布或更新应用程序并更新数据库内的应用程序操作记录的步骤具体包括:所述应用升级模块在接收到第一操作指令后更
新数据库中记录的程序版本号,在接收到第二操作指令后实例化应用程序。
78.before handle函数的意思是在执行某一操作前需要执行另一操作,on handle函数的意思是执行某一操作的同时需要执行另一操作,在本发明中,这两处事件函数负责更新数据库中记录的程序版本号,根据before handle函数和on handle函数,应用升级模块可以快速及时的进行数据库记录更新。
79.进一步地,所述集群节点内的应用升级模块接收操作指令,发布或更新应用程序并更新数据库内的应用程序操作记录的步骤还包括:根据应用程序曾部署情况及版本判断应当执行的操作是更新还是发布,若是发布或更新则校验集群节点的程序运行环境,校验不通过则结束,校验通过则执行操作更新脚本或发布脚本。具体地,由旧版本的应用程序是否部署在该集群节点决定:若从未在该集群节点部署操作则是发布,若已发布过且当前版本依然部署在该集群节点则是更新。
80.本发明还提供了一种用于实现http应用及后台脚本的部署方法的系统,其包括存储器及处理器,所述存储器用于存储http应用及后台脚本的部署程序,所述处理器用于运行所述http应用及后台脚本的部署程序以实现如上所述的http应用及后台脚本的部署方法。
81.本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的http应用及后台脚本的部署方法的步骤。所述存储介质包括上述http应用及后台脚本的部署方法的所有技术特征,因此也具有上述http应用及后台脚本的部署方法的所有技术效果,此处不再赘述。
82.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
83.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
84.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
85.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个
实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
86.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
87.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
88.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

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

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

相关文献