一种模块化构建工具MBS的管理系统及装置的制作方法

文档序号:26586218发布日期:2021-09-10 19:19阅读:622来源:国知局
一种模块化构建工具MBS的管理系统及装置的制作方法
一种模块化构建工具mbs的管理系统及装置
技术领域
1.本技术涉及mbs管理领域,尤其涉及一种模块化构建工具mbs的管理系统及装置。


背景技术:

2.早期的linux发行版中,每一个发行版本只支持某个软件的一个特定版本。对于某些用户来说,如果系统版本发布太快,搭载了最新的软件版本,就可能导致应用程序兼容性脱节。用户若想要使用特定版本的软件,必须自己构建软件包。随着操作系统的发展,出现了模块化的概念,可以将软件包进行模块化,使得软件包构建者可以轻松构建软件的替代版本,并让用户可以更简单地安装使用这些软件流。module build service(mbs)工具即是为模块化构建而生,它提供了一系列模块构建的接口,校验定义模块的modulemd文件,并为koji编译系统准备编译环境并向koji提交编译任务以完成模块编译任务。
3.在日常开发过程中我们对mbs工具的使用主要涉及两个方面:mbs的构建任务控制和构建模块过程中对构建状态的监控。
4.mbs的构建任务控制可以使用mbs安装包自身提供mbs

manager命令和mbs安装过程中的依赖包fedpkg工具来实现。其中通过mbs

manager的mbs

manager import_module实现向mbs数据库中插入virtaul module;fedpkg工具提供控制mbs构建任务的功能,如fedpkg module

build可以向mbs提交一个模块构建任务,fedpkg module

build

cancel为取消一个模块构建。但在开发环境中这套工具有如下缺陷:一,fedpkg工具通常会作为依赖包和mbs安装在同一个服务节点,因此无法远程控制mbs构建任务;二,fedpkg工具和mbs

manager命令分别实现不同的功能,没有统一的命令来实现对mbs构建任务的控制,给开发人员带来不便;三,完全依赖第三方工具和命令,维护较为困难,同时面临着某一天第三方工具废弃的风险。
5.当前mbs模块构建过程监控的实现方式依赖于fedpkg工具,依赖于fedpkg工具有以下缺点:一,fedpkg工具只能输出模块相关的静态信息,无法动态更新,使模块构建者得到实时模块构建状态;二,fedpkg工具无法根据开发过程中的需求来定制化输出信息;三,当检测到mbs中的一个构建模块失败时,fedpkg工具无法进行重复提交编译。
6.综上所述,目前mbs的使用存在诸多缺陷,针对这些问题提供一种系统性的解决方案。


技术实现要素:

7.为了解决上述技术问题或者至少部分地解决上述技术问题,一方面本技术提供了一种模块化构建工具mbs的管理方法,包括:
8.mbs监控线程通过http服务器实时从mbs节点采集mbs中所有模块的构建模块信息;
9.通过mbs监控线程解析所述构建模块信息,并发送至客户端命令行显示;
10.通过mbs监控线程检查解析构建模块信息,判断是否有失败模块,如果存在失败模
块则将失败模块添加到失败模块队列中;
11.检查失败模块队列中是否存在失败模块,如果存在则唤醒失败处理线程,所述失败处理线程获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至编译成功,如果达到设定循环次数阈值,则所述失败处理线程将失败模块移除失败模块队列、记录失败日志、且通过客户端命令行显示模块失败。
12.优选地,通过参数解析线程按照设定的数据结构解析客户端命令行的指令,获取指令的相关参数,根据相关参数启动mbs监控线程和mbs控制线程,所述mbs控制线程获取所述参数调用不同的功能函数实现控制mbs提交模块构建、取消模块构建以及插入虚拟模块。
13.优选地,所述功能函数至少包括提交模块构建函数、取消模块构建函数以及插入虚拟模块函数,所述功能函数将功能参数通过curl封装并发送至http服务器,由所述http服务器发送给mbs,mbs按照功能参数执行相应操作。
14.优选地,功能参数包括用于实现提交模块构建、取消模块构建以及插入虚拟模块的参数,其中,用于实现提交模块构建和插入虚拟模块的功能参数包括模块名称、git仓库的commit id号以及相应的仓库分支名称;用于实现取消模块构建任务的功能参数包括待取消模块id号。
15.优选地,所述构建模块信息包括mbs当前包含的所有模块名、模块编译状态、模块的组件个数以及编译完成的组件个数。
16.优选地,mbs监控线程根据指令参数调用查询模块函数,查询模块函数将控制mbs实现查询模块的查询参数通过curl封装并发送至http服务器,由所述http服务器发送给mbs,mbs根据查询参数查询模块所包含的所有组件以及组件的编译状态。
17.第二方面本技术提供一种实现模块化构建工具mbs的管理方法的管理系统,包括:
18.参数解析模块,执行参数解析线程,以处理解析客户端命令行传递的指令,根据解析的参数调用相应的功能模块执行相应操作;
19.功能模块包括mbs控制单元、mbs监控单元和失败处理单元;
20.其中,所述mbs控制单元执行的mbs控制线程,mbs控制线程根据指令调用提交模块构建函数、取消模块构建函数务以及插入虚拟模块函数;
21.其中,所述mbs监控单元执行mbs监控线程;所述mbs监控线程:实时获取构建模块信息,对构建模块信息解析,解析的构建模块信息通过客户端命令行实时显示;并检查是否存在失败模块,如果存在失败模块则将失败模块添加到失败模块队列;
22.其中,所述失败处理单元执行失败处理线程,所述失败处理线程在所述失败模块队列中有失败模块时唤醒,从失败模块队列获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至编译成功,如果达到设定循环次数阈值,则所述失败处理单元将失败模块移除失败模块队列、记录失败日志、且通过客户端命令行显示模块失败。
23.更进一步地,所述参数解析模块按照设定的数据结构解析客户端命令行传递的指令,获取相应的参数信息,根据参数信息调用相应的功能模块执行相应操作。
24.更进一步地,所述参数解析模块判断客户端命令行指令是否正确,如果指令不正确,通过客户端命令行提示指令不存在;所述参数解析模块判断参数信息是否匹配数据结构,如果不匹配,则所述参数解析模块通过客户端命令行提示非法参数。
25.第三方面本技术提供一种模块化构建工具mbs的管理装置,用于配置所述模块化构建工具mbs的关系系统,包括:
26.管理节点,所述管理节点运行模块化构建工具mbs的管理系统,
27.所述管理节点连接http服务器,
28.所述http服务器连接mbs节点,所述管理节点运行mbs。
29.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
30.本技术通过所述mbs控制单元执行提交模块构建任务、取消模块构建任务以及插入虚拟模块操作,实现对mbs的基本模块创建和取消控制过程。本技术实施例提供的该模块化构建工具mbs的管理方法能够提供统一的指令由用户使用,通过所述参数解析模块按照设定的数据结构解析所述指令调用相应的功能模块来执行相应的操作,相比现有技术,本技术通过提供统一的指令,方便开发人员使用。
31.本技术提供的所述功能模块能通过http服务器与mbs进行通信来控制mbs或者从mbs获取数据,本技术的模块化构建工具mbs的管理系统与mbs分别安装在不同的节点,可以实现远程控制mbs,相比现有技术fedpgk工具只能与mbs配置在同一节点而仅能实现本地控制的情况,本技术方便远程合作分工,方便用户通过安装本技术的终端实时对mbs进行管理。
32.本技术通过所述mbs监控单元进行查询模块和mbs实时监控,从而分别实现对特定模块信息的查询和对mbs内全部模块信息的整体获取,方便用户根据工作需求获取特定模块状态或者全部模块状态,相比现有技术的fedpgk工具仅仅能静态输出mbs模块状态的情况更能够满足用户需求,使用户实时掌握mbs状态。
33.本技术通过所述失败处理单元获取mbs编译失败的失败模块,对于失败模块,本技术自动按照循环次数阈值循环重新编译,最终编译失败在通过客户端命令行提醒用户,相比现有的fedpgk工具在遇到编译失败的失败模块时,仅仅向用户发出提示的特征,本技术能够有效的处理由于非技术问题导致的编译失败的模块,对于经过失败处理单元处理后,最终提醒失败的失败模块往往存在技术问题,用户可以针对性的对失败模块进行检查,减少用户对非技术问题模块的排查,方便用户维护模块;另外本技术将不能经过重新编译而解决的失败模块的模块id统一保存,用户可以按照模块id执行查询模块来查询获取失败模块的组件以及组件编译状态,确定失败模块是哪个组件编译出问题,能对模块故障精准定位,提高用户维护效率。
附图说明
34.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例提供的一种模块化构建工具mbs的管理系统的架构图;
37.图2为本技术实施例提供的参数解析模块工作原理图;
38.图3为本技术实施例提供的构建失败模块队列的流程图;
39.图4为本技术实施例提供的失败处理单元处理失败模块的流程图;
40.图5为本技术实施例提供的模块化构建工具mbs的管理装置的示意图。
41.图中标号及含义如下:
42.1、管理节点,2、http服务器,3、mbs节点。
具体实施方式
43.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.下面结合附图对本技术实施例进行说明。其中,图1为本技术实施例提供的一种模块化构建工具mbs的管理系统的架构图;图2为本技术实施例提供的参数解析模块工作原理图;图3为本技术实施例提供的构建失败模块队列的流程图;图4为本技术实施例提供的失败处理单元处理失败模块的流程图;图5为本技术实施例提供的模块化构建工具mbs的管理装置的示意图。
45.首先对文中涉及到的英文含义进行说明:
46.mbs(module build service),linux操作系统的模块化编译工具;
47.koji,linux操作系统编译软件;
48.fedpkg,fedora社区的代码管理工具;
49.virtual module,虚拟模块,插入mbs数据库但不进行实际编译;
50.api(application programing interface),应用程序编程接口;
51.commit id,提交gitlab仓库时的唯一标识号;
52.git,开源的分布式版本控制系统。
53.实施例1
54.参阅图3和图4所示,本技术提供一种模块化构建工具mbs的管理方法,包括:
55.mbs监控线程通过http服务器实时从mbs节点采集mbs中所有模块的构建模块信息;具体实施过程中,采集的所述构建模块信息包括mbs当前包含的所有模块名、模块编译状态、模块的组件个数以及编译完成的组件个数。
56.通过mbs监控线程解析所述构建模块信息,并发送至客户端命令行显示;方便用户实时掌握mbs中模块的状态。
57.通过mbs监控线程检查解析构建模块信息,根据编译结束后,编译完成组件个数是否等于全部组件个数来判断是否有失败模块,如果存在失败模块则将失败模块添加到失败模块队列中;具体实施过程中,所述失败模块队列以链表的方式构建,先存入链表的失败模块能够先被索引获取处理,实现失败模块队列的“先进先出”。
58.检查失败模块队列中是否存在失败模块,如果存在则唤醒失败处理线程,所述失败处理线程从失败模块队列获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至编译成功,如果达到设定循环次数阈值,则所述失败处理线程将失败模块移除失败模块队列、记录失败日志、且通过客户端命令行显示模块失败。具体实施过程中,所述失败日志中包含失败模块的模块id以及记录产生的
时刻。
59.本技术提供的模块化构建工具mbs的管理方法由用户通过客户端命令行输入统一的指令,通过参数解析线程按照设定的数据结构解析客户端命令行的指令,获取指令的相关参数,根据相关参数启动mbs监控线程和mbs控制线程。其中,所述mbs控制线程获取所述参数调用不同的功能函数实现控制mbs提交模块构建、取消模块构建以及插入虚拟模块。
60.具体实施过程中,所述功能函数包括提交模块构建函数、取消模块构建函数以及插入虚拟模块函数;所述提交模块构建函数、取消模块构建函数以及插入虚拟模块函数将控制mbs实现提交模块构建、取消模块构建以及插入虚拟模块的参数通过curl封装并发送至http服务器,由所述http服务器发送给mbs节点,mbs按照参数执行相应操作。mbs根据提交模块构建函数发送的参数来构建模块,mbs根据取消模块构建函数提交的参数来取消相应的模块,mbs根据插入虚拟模块函数提交的参数来插入虚拟模块。
61.具体实施过程中,实现提交模块构建和插入虚拟模块参数包括模块名称、git仓库的commit id号以及相应的仓库分支名称;实现取消模块构建任务的参数包括待取消模块id号。
62.具体实施过程中,查询模块函数将控制mbs实现查询模块的查询参数通过curl封装并发送至http服务器,由所述http服务器发送给mbs,mbs根据查询参数查询模块所包含的所有组件以及组件的编译状态。
63.实施例2
64.参阅图1所示,本发明提供一种模块化构建工具mbs的管理系统,包括:
65.参数解析模块,参阅图2所示,所述参数解析模块用于处理客户端命令行传递的指令,根据指令调用相应的功能模块执行相应操作;具体实施过程中,所述参数解析模块将指令中的参数信息按照设定的相应的数据结构进行解析,根据获取的参数,调用的所述功能模块控制所述功能模块调用不同的功能函数。
66.所述功能模块包括mbs控制单元、mbs监控单元和失败处理单元;具体实施过程中,所述功能模块封装了curl命令(curl是一个利用url语法进行文件传输工具,支持文件的上传和下载),用以与http服务器进行文件传输,所述http服务器与mbs节点通信将模块化构建工具mbs的管理系统发送到mbs节点,利用mbs提供的对外api接口控制mbs的行为,实现相应的功能。
67.其中,所述mbs控制单元执行mbs控制线程,mbs控制线程根据指令调用包括提交模块构建函数、取消模块构建函数务以及插入虚拟模块函数。
68.具体实施过程中,根据所述参数解析模块解析的指令去调用提交模块构建函数,所述提交模块构建函数将包含提交模块构建消息、模块名称、git仓库的commit id号以及相应的仓库分支名称通过curl封装发送给http服务器,http服务器将发送给mbs,mbs实现根据git仓库的commit id和仓库分支名称在相应的仓库分支中构建以模块名称命名的模块。
69.具体实施过程中,根据所述参数解析模块解析的指令去调用取消模块构建函数,所述取消模块构建函数将含有模块id和取消模块构建任务的数据通过curl封装发送给http服务器,再由http服务器发送给mbs,mbs实现根据提供的模块id取消mbs中相应的模块。
70.具体实施过程中,根据所述参数解析模块解析的指令去调用插入虚拟模块函数,所述插入虚拟模块将含有模块名称、git仓库的commit id号、相应的仓库分支名称和插入虚拟模块的数据经过http服务器发送给mbs,mbs实现根据git仓库的commit id和仓库分支名称在相应的仓库分支中构建以模块名称命名的虚拟模块。
71.其中,所述mbs监控单元执行mbs监控线程,所述mbs监控线程用于实现查询模块以及mbs实时监控。mbs实时监控通过以下过程实现:构建模块信息实时获取,构建模块信息解析,解析的构建模块信息通过客户端命令行实时显示。
72.具体实施过程中,根据所述参数解析模块解析的指令去调用查询模块函数,所述查询模块函数将含有模块id和模块查询的数据curl封装发送给http服务器,再由http服务器发送给mbs,mbs根据模块id通过http服务器反馈相应的模块包含的组件以及组件的编译状态给所述模块化构建工具mbs的管理系统,所述模块化构建工具mbs的管理系统将组件以及组件的编译状态通过客户端命令行显示给用户。
73.具体实施过程中,所述mbs监控线程通过http服务器将包含实时监控的控制指令发送给mbs,mbs将当前包含的所有模块名、模块编译状态、模块的组件个数以及编译完成的组件个数的构建模块信息,经http服务器发送给所述模块化构建工具mbs的管理系统,所述模块化构建工具mbs的管理系统将构建模块信息解析后通过客户端命令行实时显示给用户。具体实施过程中mbs反馈的模块信息按照设定的结构形成模块信息数据结构,所述模块化构建工具mbs的管理系统获取模块信息信息按照设定的结构对按照模块信息数据结构排列的模块信息解析获取相应的内容。
74.所述mbs监控线程根据解析的构建模块信息判断模块是否编译失败,如果模块编译失败则将模块添加到失败模块队列中。
75.其中,所述失败处理单元执行失败处理线程,所述失败处理线程在所述失败模块队列中存在失败模块时被唤醒,从所述失败模块队列中获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至编译成功,如果达到设定循环次数阈值,则所述失败处理单元将失败模块移除失败模块队列、记录失败日志、且通过客户端命令行显示模块失败。
76.具体实施过程中,参阅图4所示,对于从失败模块队列中获取的失败模块,初始化一个失败模块编译失败次数,所述失败处理单元调用koji编译程序对失败模块进行重新编译,所述失败处理单元从mbs获取所述失败模块编译结果;如果koji编译系统编译失败模块成功,则将失败模块移出失败模块队列,处理完成;如果所述失败模块编译失败,则所述失败处理单元记录所述失败模块的编译失败次数加一;所述失败处理单元比较所述编译失败次数与所述循环次数阈值;如果编译失败次数小于所述循环次数阈值则继续循环;如果达到循环次数阈值,则将失败模块移出失败模块队列,记录失败日志、且通过客户端命令行显示模块失败。一种可行的所述循环次数阈值设置为3。
77.具体实施过程中,本技术提供一种用于设置循环次数阈值的客户端命令行指令,所述参数解析模块解析该设置循环次数阈值的客户端命令行指令后,所述失败处理单元将客户端命令行中的数值赋值给循环次数阈值。用户可以根据需要自行设置循环次数阈值。
78.具体实施过程中,本技术提供一种用于显示失败模块队列内容的客户端命令行指令,所述参数解析模块解析该显示失败模块队列内容的客户端命令行指令后,所述失败处
理单元将失败模块队列内容通过所述客户端命令行显示。
79.具体实施过程中,本技术提供一种用于显示经失败处理单元处理后仍失败的失败模块的客户端命令行指令,所述参数解析模块解析该显示经失败处理单元处理后仍失败的失败模块的客户端命令行指令后,获取失败日志中的内容并通过所述客户端命令行显示。用户通过失败日志中内容获取待检查的模块内容,然后通过模块查询查找失败模块的组件以及组件的编译状态,获取失败模块哪些组件编译出问题,方便用户对模块的问题组件精准定位,方便进行维护,提高维护效率。
80.具体实施过程中,用户通过mbs实时监控来获取mbs需要处理的模块的量,通过失败模块队列内容和失败日志中的内容获取失败模块的量,通过一段时间内失败模块与需要处理模块的量的比值判断mbs所处节点是否发生异常,一般情况下发生异常时,失败模块的比例会有明显的上升,如果mbs所处节点发生异常,用户需要及时检查维护,避免对模块维护过程造成影响。在mbs实时监控获取的处理的模块量达到设定数量时,触发失败处理模块执行另一处理线程检测该比例,并比较该比例与设定比例阈值,如果超出比例阈值,则失败处理模块通过客户端命令行发出警告信息。处理模块量少时,比例分母小,比例的值存在偶然性,通过配置所述设定数量可以有效规避比例偶然性。
81.具体实施过程中,所述参数解析模块判断客户端命令行指令是否正确,如果指令不正确,通过客户端命令行提示指令不存在;所述参数解析模块判断参数信息是否匹配数据结构,如果不匹配,则所述参数解析模块通过客户端命令行提示非法参数。
82.具体实施过程中,所述功能模块配置超时监测单元,所述超时监测单元统计所述功能模块向http服务器发送请求,到接收mbs通过http服务器反馈数据的响应时间,判断响应时间是否超过设定的时间阈值,如果超过设定的时间阈值,则所述功能模块通过所述客户端命令行提示操作超时。
83.实施例3
84.参阅图5所示,本技术提供一种模块化构建工具mbs的管理装置,包括:
85.管理节点,所述管理节点包括通过总线连接的处理器、存储器、显示器和输入设备,所述存储器存储至少一条指令所述处理器运行所述指令实现所述模块化构建工具mbs的管理系统,所述显示器用于显示客户端命令行,所述客户端命令行用于显示所述模块化构建工具mbs的管理系统的结果和传递指令,所述输入设备用于输入指令。
86.所述管理节点连接http服务器,所述http服务器连接mbs节点,所述管理节点运行模块化构建工具mbs,所述http服务器用于在管理节点和mbs节点之间传输相关数据。
87.实施例4
88.本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储至少一条指令,计算机读取执行所述指令实现所述模块化构建工具mbs的管理系统。
89.本技术提供的模块化构建工具mbs的管理系统的原理如下:通过所述参数解析模块解析按照设定的数据格式解析客户端命令行的指令,调用所述模块化构建工具mbs的管理系统中不同mbs功能模块通过http服务器向mbs的对外api接口实现对mbs的管理,实现模块模块构建,模块取消,虚拟模块插入,模块组件以及组件状态查询,mbs中全部模块的编译状态、组件个数和完成编译的组件个数的实时展示。针对mbs中编译失败的模块,本技术的失败处理单元通过轮询mbs的方式获取失败模块的信息,构建失败模块队列来按顺序处理
失败模块。通过调用koji编译系统重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至编译成功,如果达到设定循环次数阈值,则所述失败处理单元通过客户端命令行提示模块失败。
90.本技术实施例提供的模块化构建工具mbs的管理方法提供统一的指令由用户使用,通过所述参数解析模块按照设定的数据结构解析所述指令调用相应的功能模块来控制mbs执行相应的操作,相比现有技术,本技术通过提供统一的指令,方便开发人员使用。
91.通过mbs监控线程实现对mbs中构建模块的实时采集、解析以及显示,并且所述mbs监控线程判断是否存在失败模块如果存在失败模块将失败模块以链表的形式构建失败模块队列。方便用户实时掌握mbs状态。所述监控线程还能根据查询参数调用查询模块函数实现控制mbs查询构建模块所包含的组件以及组件编译状态。用户可以根据需要查询构建模块的信息。方便用户根据需要查询mbs中模块。
92.本技术通过http服务器与mbs进行通信来控制mbs或者从mbs获取数据,本技术的模块化构建工具mbs的管理系统与mbs分别安装在不同的节点,可以实现远程控制mbs获取mbs信息,相比现有技术fedpgk工具只能与mbs配置在同一节点而仅能实现本地控制的情况,本技术方便远程合作分工,方便用户通过安装本技术的终端实时对mbs进行管理。
93.本技术根据mbs监控线程采集的信息获取失败模块,将失败模块以链表的形式构成失败模块队列,当失败模块队列存在失败模块时,唤醒失败处理线程,所述失败处理线程从失败模块队列获取失败模块,循环调用编译进程重新编译所述失败模块,直至编译失败次数达到设定循环次数阈值或者直至构建成功,如果达到设定循环次数阈值,则所述失败处理线程将失败模块移除失败模块队列、记录失败日志、且通过客户端命令行显示模块失败。从而实现对失败模块的自动处理解决非技术问题导致的mbs构建模块失败。相比现有的fedpgk工具在遇到编译失败的失败模块时,仅仅向用户发出提示的特征,本技术能够有效的处理由于非技术问题导致的编译失败的模块,对于经过失败处理单元处理后,最终提醒失败的失败模块往往存在技术问题,用户可以针对性的对失败模块进行检查,减少用户对非技术问题模块的排查,方便用户维护模块。
94.对于经处理仍失败的失败模块,除了上述模块本身存在技术问题,还有一种可能是mbs节点故障。本技术可以通过mbs监控线程获取处理模块的量,通过获取失败日志内容统计一段时间内失败模块量,根据失败模块量占比确定是否为mbs节点故障。
95.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
96.在本发明所提供的实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
97.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1