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

在超融合基础架构中为数据重新同步/重构确保足够的可用存储容量的制作方法

2022-03-23 09:12:11 来源:中国专利 TAG:

在超融合基础架构中为数据重新同步/重构确保足够的可用存储容量
1.相关申请
2.要求vmware公司于2019年8月23日提交的题为“在超融合基础架构中为数据重新同步/重构确保足够的可用存储容量”的美国专利申请no.16/550,050的权益,出于所有的目的,在此通过引用将其全部并入本文。


背景技术:

3.超融合基础架构(hci)是it基础架构模型,其中物理服务器(即,主机系统)集群的计算资源和存储资源都在管理程序级别被虚拟化。在典型的hci部署中,当主机系统发生故障或离线用于维护时,在该主机系统的本地存储资源上维护的数据在集群中的其他可用主机系统上被重新同步或重构。然而,利用现有的hci实现,通常不可能以确保该重新同步/重构过程将成功完成的方式在集群内预留存储容量。因此,该过程可能由于可用存储资源不足而在某个点失败。取决于正重新同步或重构的数据量,该失败可在该过程启动之后数小时或甚至数天发生,这意味着专用于在该时间段期间运行该过程的计算功率和i/o带宽将被浪费。
附图说明
4.图1描绘了根据某些实施例的示例hci部署。
5.图2描绘了根据某些实施例的示例对象。
6.图3描绘了根据某些实施例的用于使用主机级方法实现存储容量准入控制的工作流。
7.图4和图5描绘了根据某些实施例的已经应用了图3的工作流的示例集群。
8.图6描绘了根据某些实施例的用于使用对象级方法实现存储容量准入控制的工作流。
9.图7描绘了根据某些实施例的已经应用了图6的工作流的示例集群。
具体实施方式
10.在以下描述中,出于说明的目的,阐述了许多示例和细节以便提供对各个实施例的理解。然而,对于本领域技术人员将显而易见的是,某些实施例可以在没有这些细节中的一些的情况下实践,或者可以用其修改或等同物来实践。
11.1.概述
12.本公开的实施例涉及统称为“存储容量准入控制”的技术,其确保hci部署的集群将具有足够的可用存储容量以在发生主机故障或维护事件时在整个集群成功地重新同步或重构数据(例如,对象/组件)。
13.在高级别,这些技术涉及在接收到提供或重新配置对象的请求时计算出于重新同步/重构目的而要在集群的每个主机系统上预留的存储容量的量。提供/重新配置请求然后
可以基于对象请求的存储大小和/或其他标准(例如,对象的存储策略)针对每主机的存储预留来验证。如果对象可以放置在集群中而不与每主机的存储预留冲突,则可以允许提供/重新配置请求,从而“准许”对象到集群的虚拟存储池中。另一方面,如果对象无法在不与每主机的存储预留冲突的情况下放置在集群中,则可以拒绝提供/重新配置请求。这有利地保证了,如果需要,每个主机上的计算的存储预留量将可用于在整个集群成功地重新同步或重构数据。
14.2.示例hci部署
15.图1是根据某些实施例的实现本公开的技术的hci部署100的简化框图。如图所示,hci部署100包括与主机系统106(1)-(n)的集群104通信地耦合的集群管理服务器102。每个主机系统106包括具有hci存储管理代理110的管理程序108、一组本地计算资源112(例如,中央处理单元(cpu))和一组本地存储资源114(例如,直接附接的固态盘(ssd)、旋转硬盘、非易失性存储器(nvm)等)。
16.管理程序108(1)-(n)被配置成虚拟化其各自的主机系统的本地计算资源并且将虚拟化的计算资源分配给本地运行的虚拟机(vm)116(1)-(n)。驻留在管理程序108(1)-(n)内的hci存储管理代理110(1)-(n)被配置为将它们各自的主机系统的本地存储资源聚合到集群范围的虚拟存储池118中并且使虚拟存储池118可用于vm 116(1)-(n)以用于数据存储目的。在特定实施例中,管理程序108(1)-(n)可以是由vmware公司开发的esxi管理程序的实例,hci存储管理代理110(1)-(n)可以是vmware的vsan(虚拟san)代理的实例,并且集群管理服务器102可以是vmware的vcenter服务器的实例。
17.一般而言,hci存储管理代理110(1)-(n)以称为对象的逻辑数据体的形式管理虚拟存储池118内(并且因此,跨主机系统106(1)-(n)的本地存储资源114(1)-(n))的数据的存储。每个对象进而由一个或更多个组件组成,该一个或更多个组件可以被理解为包含其父对象的数据和/或元数据的某个部分的子对象。对象的组件被构造为树,其中组件位于树的叶节点处。例如,图2描绘了示例对象o(附图标记200)的树,该对象o可以对应于例如vm命名空间对象、vm磁盘文件(vmdk)或由集群104维护的任何其他类型的文件/对象。在此示例中,对象o由分别存储在主机系统106(1)、106(2)和106(3)的本地存储资源上的三个组件c1(附图标记202)、c2(附图标记204)和c3(附图标记206)组成。
18.对象可以与存储策略相关联,这些存储策略定义关于对象的特性/结构以及对象的组件可以如何在整个集群上被存储/分布的某些要求。例如,给定图2中所示的树配置,对象200可以与一存储策略相关联,该存储策略指示对象的每个组件202/204/206必须是其他组件的镜像副本(例如,采用raid-1)并且存储在集群的不同主机系统上——或换言之,故障域——以用于容错/高可用性目的。这些存储策略可以基于每对象或相对于存储对象“所有者”(例如,vm)来定义。在后一种情况下,为给定所有者定义的存储策略可被自动应用于由该实体拥有/创建的所有存储对象。
19.如背景技术部分所述,当主机系统发生故障或离线用于hci集群(诸如图1的集群104)中的维护时,在该主机系统的本地存储资源上维护的数据(例如,存储对象和/或组成组件)通常在集群中的其他可用主机系统上被重新同步或重构。“重新同步”是指将不存在的对象/组件(即,存储在故障/离线主机系统上的对象/组件)从可用镜像副本(例如,raid-1副本)复制到另一个主机系统的过程。“重构”是指使用可用的奇偶校验数据(例如,raid-5
或raid-6配置)在另一主机系统上重新创建不存在的对象/组件的新副本的过程。因此,重新同步和重构两者可以被理解为用于在集群中重建不存在的存储对象/组件的方法,使得那些对象/组件保持(1)对于集群中仍然运行的主机系统可完全访问,以及(2)符合它们各自的存储策略。
20.因为重新同步和重构涉及跨集群主机系统的数据的移动和/或创建,这些操作要求那些主机系统上的一定量的空闲存储容量以便成功完成。然而,现有的hci实现方式通常不为此目的提供用于在集群中预留存储容量的任何机制。相反,通常采用“尽力而为”方法,其中一旦发生主机故障或维护事件,管理员将对支持重新同步/重构所需的可用存储容量的量进行猜测,并且假设该猜测低于当前可用的存储容量,从而启动该过程。如果证明猜测是不正确的,则一旦集群的可用存储资源耗尽,重新同步/重构过程将在运行过程中失败。此失败可能在过程开始后数小时或数天发生,从而导致在例如消耗的计算和i/o带宽资源方面浪费时间和精力。
21.为了解决前述和其他类似问题,根据某些实施例,图1的集群104被增强为包括新颖的存储容量准入控制模块120。尽管存储容量准入控制模块120在图1中被示为集群管理服务器102的一部分,但是在替代实施例中,归于此模块的一些或全部功能可以在hci部署100/集群104中的其他实体中实现,诸如在主机系统106(1)-(n)的每个管理程序108内。
22.一般而言,存储容量准入控制模块120可以通过以下方式来调节对象进入或准入到集群104的虚拟存储池118中:(1)基于一个或更多个用户定义的容忍故障参数计算确保集群104内的数据重新同步/重构可以成功完成的每主机的存储预留;以及(2)针对待准入的(例如,待提供或重新配置的)每个对象,鉴于所计算的每主机的存储预留来验证该对象是否可以放置在集群104中。如果(2)的回答为否,那么存储容量准入控制模块120可阻止对象被提供/重新配置,从而保留每个主机上的预留存储量以用于可能需要的任何重新同步/重新配置。
23.在各种实施例中,存储容量准入控制模块120计算每主机的存储预留的特定方式可以不同。例如,在一组实施例中(称为“主机级”方法并且在以下部分(3)中详述),存储容量准入控制模块120可以接收指示集群104中可容忍的主机故障的总数的用户定义的主机故障切换容量(hfc)参数作为输入。模块120然后可以基于该hfc参数(和其他信息,诸如集群中主机系统的总数和每个主机系统的原始存储容量)导出每主机的存储预留,并且可以使用这些预留来验证待准入的对象。
24.在另一组实施例中(称为“对象级”方法并且在以下部分(4)中详述),存储容量准入控制模块120可以接收针对待准入的每个对象o的用户定义的容忍故障(ftt)参数作为输入,该参数指示相对于该特定对象o可以容忍的故障的总数。该ftt参数可以被定义在例如对象的关联存储策略中。模块120随后可基于该ftt参数(和其他信息,诸如对象请求的大小和raid配置)导出每主机的存储预留,并且可使用这些预留来验证对象o。
25.应理解的是,图1的hci部署100是说明性的并且不旨在限制本公开的实施例。例如,如前所述,存储容量准入控制模块120的功能不仅仅限于在集群管理服务器102上实现;根据hci部署和/或使用情况的性质,归于模块120的功能中的一些或全部可以在其他实体上或内实现,例如在主机系统106(1)-(n)的hci存储管理代理110(1)-(n)内。此外,图1中所示的各种实体可包括未具体描述的子组件和/或实现功能。本领域普通技术人员将认识到
其他变化、修改和替换。
26.3.主机级方法
27.图3描绘了根据某些实施例的可以由图1的存储容量准入控制模块120执行的用于使用主机级方法验证给定对象o到集群104的虚拟存储池118中的准入的工作流300。对象o可以是例如vm命名空间对象、vmdk对象或由hci部署100支持的任何其他类型的对象(例如,性能数据库、iscsi目标、lun(逻辑单元号)等)。
28.从框302和304开始,可以接收提供或重新配置对象o的请求,并且可以基于o所请求的存储大小和其存储策略来确定对象o(及其构成组件)在集群104的主机系统上的提议的放置。例如,如果对象o如图2的对象200一样由三个组件c1、c2和c3组成,并且与需要raid-1配置的存储策略和用于每个镜像组件的单独故障域相关联,则组件c1可以被放置在主机系统106(1)的本地存储资源上,组件c2可以被放置在主机系统106(2)的本地存储资源上,并且组件c3可以被放置在主机系统106(3)的本地存储资源上。如在此所使用的,“提供”对象的请求是指在集群的存储池中分配或创建对象的请求,并且“重新配置”对象的请求是指以影响其在集群的存储池中的存储大小/占用空间的某种方式修改对象的请求。
29.在框306处,存储容量准入控制模块120可以检查主机故障切换容量(hfc)参数是否已经为集群104定义并且大于零。在各个实施例中,该hfc参数可由例如hci部署100/集群104的管理员定义,并指定集群104应能够容忍和经由重新同步/重构恢复的主机系统故障的数量。换言之,hfc参数标识集群104中可能故障或离线的主机系统106的数量,同时仍允许本地存储在那些故障的主机系统上的所有对象在其他可用主机系统上被成功地重新同步或重构(按照它们各自的存储策略)。假设集群104中最多m个可能的主机系统,hfc参数的值可在1至m-1的范围内。
30.如果在框306处的回答为否,则不需要对提供/重新配置请求进行验证。因此,存储容量准入控制模块120可以允许对象o的提供/重新配置继续进行(框308),并且工作流300可以结束。
31.然而,如果在框306处的回答为是,则存储容量准入控制模块120可以执行用于验证提供/重新配置请求的子过程。具体地,在框310处,存储容量准入控制模块120可以识别集群104中具有最高原始存储容量的x个主机系统,其中x对应于接收的hfc参数值。这种识别可以涉及,例如,按照主机系统各自的原始存储容量以降序对主机系统进行排序并且选择被排序列表中的前x个主机系统,或者可替代地,按照主机系统各自的原始存储容量以升序对主机系统进行排序并且选择被排序列表中的最后x个主机系统。
32.例如,假设所接收的hfc参数值为2,并且总共有6个主机系统h1-h6,其分别具有40tb、40tb、40tb、40tb、60tb和70tb的原始存储容量。在这种情况下,模块120将会将主机系统h6和h5识别为集群中具有最高原始存储容量(即,分别为70gb和60gb)的两个主机系统。
33.在框312处,存储容量准入控制模块120可基于hfc参数计算主机故障容量预留(hfcr)参数。在各个实施例中,该hfcr参数指定集群104中每主机系统106要预留的存储容量,以确保在一个或更多个主机系统故障(直到hfc参数值)的情况下成功重新同步/重构的存储可用性。在特定实施例中,此hfcr参数可计算如下:
34.hfcr=((1/n
×
c1) (1/n
×
c2)

(1.n
×cx
))
35.清单1
36.在以上等式中,n是集群104中的主机系统的数量,c1……cx
是根据hfc参数值,具有最高原始存储容量的前x个主机系统的原始存储容量。因此,在其中集群包括分别具有40tb、40tb、40tb、40tb、60tb和70tb的容量的六个主机系统h1-h6并且其中x=2的先前示例中,所计算的hfcr值的值将是(1/6
×
70tb=11.66tb) (1/6
×
60tb=10tb)=21.66tb。
37.进一步,在框314处,存储容量准入控制模块120可根据hfcr参数计算主机故障切换存储容量(hfsc)参数,其指定在整个集群104要预留的存储容量的总量。hfsc参数可以被计算为hfcr
×
n,其中n是主机系统的数量,或可替代地被计算为c1 c2
…cx

38.一旦存储容量准入控制模块120已经计算了hfcr和hfsc,则模块120就可以将集群104的可用集群存储容量(acsc)计算为(总可消耗集群存储容量—hfsc)—使用的集群存储容量,其中,总可消耗集群存储容量是集群中主机系统的原始存储容量的总和(减去考虑了文件系统开销的某个量),并且其中,使用的集群存储容量是当前正由所部署的对象消耗的集群中的存储容量(框316)。假设使用的集群存储容量参数考虑了根据框304的对象o在集群104上的提议的放置。
39.存储容量准入控制模块120接着可检查acsc参数的值是否大于或等于零(框318)。如果是,模块120可推断鉴于所预留的存储容量而存在用于准入对象o的足够的可用存储容量,并且根据先前标识的框308可允许o的提供/重新配置继续进行。
40.另一方面,如果存储容量准入控制模块120在框318处确定acsc参数的值小于零,则模块120可推断鉴于所预留的存储容量,用于准入对象o的可用存储容量不足,因此可拒绝/阻止提供/重新配置请求(框320)。工作流300随后可结束。
41.为了进一步阐明由图3中的存储容量准入控制模块120执行的处理,图4和图5分别描绘了两个示例集群400和500并且示出了根据工作流300在这些集群中的每一个中将预留的存储容量的量。
42.关于图4,集群400包括四个主机系统01、02、03和04,每个主机系统包括10tb的原始存储容量。此外,hfc参数设定为1。因此,在这种情形下,为重新同步/重构每主机系统将预留的存储容量的量(即,hfrc参数)是1/4
×
10tb=2.5tb。该量保证了即使一个主机系统(其将具有最多7.5tb的数据)故障或离线用于维护,在剩余的三个主机系统上也将有足够的预留的存储容量(即,2.5tb
×
3=7.5tb)以成功地在那些其他仍然可运行的主机系统上重新同步或重构来自故障的主机系统的数据。
43.关于图5,集群500包括六个主机系统01、02、03、04、05和06,其中主机系统01-04各自包括40tb的原始存储容量,主机系统05包括60tb的原始存储容量,并且主机系统06包括70tb的原始存储容量。此外,将hfc参数设定为2。因此,在这种情形下,为重新同步/重构每主机系统将预留的存储容量的量(即,hfrc参数)将是(1/6
×
70tb=11.66tb) (1/6
×
60tb=10tb)=21.66tb。该量保证了即使两个最大主机系统06和05(其将具有总计最多48.34tb 38.34tb=86.68tb的数据)故障或离线用于维护,在剩余的四个主机系统01-04上将存在足够的预留的存储容量(即,21.66tb
×
4=86.66tb)以成功地在那些其他仍然运行的主机系统上重新同步或重构来自故障的主机系统的数据。
44.4.对象级方法
45.与主机级方法(其基于上述hfc参数确定为重新同步/重构预留的存储容量的量)相比,对象级方法基于对象特定的容忍故障(ftt)参数,基于每对象确定为重新同步/重构
预留的存储容量的量。该ftt参数通常在对象的存储策略内定义,并指示该对象所需的可用性水平。
46.例如,假设对象o1的ftt参数被设置为1并且o1的大小是35gb。在这种情况下,使用对象级方法,存储容量准入控制模块120将在整个集群104为o1预留总共35gb的存储容量,以便重新同步/重构该特定对象。作为另一示例,假设对象o2的ftt参数被设置为2,o2的大小是25gb,并且o2被配置为根据raid-1配置被镜像。在这种情况下,使用对象级方法,存储容量准入控制模块120将在整个集群104为o2预留总共50gb(即,25gbx2)的存储容量,以便重新同步/重构该特定对象,因为o2可能潜在地需要被重新同步/重构两次(以便从两次故障中恢复)。
47.在某些实施例中,经由对象级方法针对给定对象确定的存储预留将仅被应用于集群的当前未将该对象的组件存储(或计划存储)在其本地存储上的主机系统。这些主机系统相对于对象被称为“未使用的”主机系统。该规则确保符合容错raid镜像/条带化的对象的完全重建是可能的。因此,在这些实施例中,对象级方法将不在其中已经放置(或计划放置)对象的组件的主机系统上预留任何存储容量用于重新同步/重构对象。
48.图6描绘了根据某些实施例的可以由图1的存储容量准入控制模块120执行的工作流600,用于使用对象级方法来验证给定对象o到集群104的虚拟存储池118中的准入。类似于图3的工作流300,对象o可以是例如vm命名空间对象、vmdk对象或由hci部署100支持的任何其他类型的对象。
49.从框602和框604开始,可以接收提供或重新配置对象o的请求,并且可以基于o请求的存储大小和其存储策略来确定对象o(及其构成组件)在集群104的主机系统上的提议的放置。这些步骤基本上类似于工作流300的框302和框304。
50.在框606处,存储容量准入控制模块120可以检查(1)对象o的ftt参数是否大于零,和(2)存储容量准入控制标志在集群级是否被启用。在各个实施例中,存储容量准入控制标志是指示模块120的功能是否应该被启用或禁用的用户定义的标志。如果(1)或(2)的答案为否,则存储容量准入控制模块120可以允许对象的提供/重新配置继续进行(框608),工作流可以结束。
51.否则,在框610处,存储容量准入控制模块120可以计算对象o的对象重建容量(orc)参数如下:
[0052][0053]
清单2
[0054]
在以上等式中,对象大小是指对象o的存储大小,未使用的主机的总数是指当前没有放置(或将根据框604的提议放置而放置)对象o的组件的主机系统的数量,并且ftt开销是与基于对象的ftt参数值和raid配置应当被预留的对象大小的百分比/比例对应的参数。例如,下表列出根据实施例的ftt参数值/raid配置和它们各自的ftt开销的不同组合:
[0055]
ftt参数值/raid配置ftt开销ftt=1/raid-1100%ftt=2/raid-1200%
ftt=3/raid-1300%ftt=1/raid-533%ftt=2/raid-650%
[0056]
表1
[0057]
一旦已计算orc参数,存储容量准入控制模块120就可以进入针对每个未使用主机的循环(框612)并且检查当前未使用的主机是否具有足够的可用存储容量来预留等于orc值的存储量(或换言之,未使用的主机的可用存储容量-orc是否大于或等于零)(框614)。如果回答为是,则可以到达当前循环迭代的结束(框616),并且模块120可以返回到循环的顶部以处理任何额外的未使用的主机。如果在框614处的回答为否,那么存储容量准入控制模块120可以阻止/拒绝对象o的提供/重新配置(框618)并且终止工作流。
[0058]
最后,假设对象o的所有未使用的主机已经根据循环612被处理并且具有可用存储容量来预留orc,则存储容量准入控制模块120可以根据先前标识的框608允许提供/重新配置对象o继续进行,并且工作流600可以结束。
[0059]
图7描绘了集群700,所述集群示出了根据某些实施例的工作流700可以如何被应用于相对于示例vmdk对象“vm2-2”预留集群中的存储容量。如图所示,集群700包括八个主机系统01-08,每个主机系统具有10tb的存储容量。此外,对象vm2-2具有10gb的总存储大小,与ftt参数值1相关联,由分别放置在主机系统03、04、05和06上的raid-5配置中的四个组件vm2-2a、vm2-2b、vm2-2c和vm2-2d(三个数据块组件和一个奇偶校验块组件,每个大小为3.33tb)组成。
[0060]
在本示例中,因为对象vm2-2具有1的ftt参数值并且使用raid-5,所以该对象的ftt开销(根据以上表1)是33%。因此,根据工作流600的处理,(10gb
×
33%)/4=0.8325gb的存储空间将被预留用于分别在主机01、02、07和08(其对于对象vm2-2为未使用的主机系统)上重构vm2-2。
[0061]
应当注意,在对象采用一系列嵌套raid配置(例如,raid-0下的raid-1)的情况下,图6的工作流600可以仅被应用于系列中的最低级别raid配置。换言之,如果对象具有第一级raid配置(具有为x的分配的ftt值)和嵌套在第二级raid配置下的第二级raid配置(具有为y的分配的ftt值),则工作流600将仅考虑ftt值y和第二级raid配置。这是为了确保对象的重建/重构在对象的raid树的每个分支内是可能的。
[0062]
本文描述的某些实施例可以采用涉及存储在计算机系统中的数据的各个计算机实现的操作。例如,这些操作可能需要对物理量的物理操纵—通常,尽管并非必须,但这些量采取电信号或磁信号的形式,其中这些量(或其表示)能够被存储、传输、组合、比较或以其他方式操纵。这样的操作通常涉及诸如产生、识别、确定、比较等方面。本文描述的形成一个或更多个实施例的一部分的任何操作可以是有用的机器操作。
[0063]
再进一步地,一个或更多个实施例可以涉及一种用于执行上述操作的装置或设备。该装置可以出于特定所需目的而专门构造,或者它可以是由存储在计算机系统中的程序代码选择性地激活或配置的通用计算机系统。具体地,各个通用机器可以与根据本文的教导编写的计算机程序一起使用,或者可以更方便地构造更专用的装置来执行所需的操作。本文描述的各实施例可用其他计算机系统配置一起实践,其他计算机系统配置包括手持式设备、微处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机
等。
[0064]
更进一步地,一个或更多个实施例可以被实现为一个或更多个计算机程序或者被实现为体现在一个或更多个非暂时性计算机可读存储介质中的一个或更多个计算机程序模块。术语非暂时性计算机可读存储介质是指可存储可随后被输入到计算机系统的数据的任何数据存储设备。非暂时性计算机可读介质可以基于用于以使得计算机程序能够被计算机系统读取的方式体现计算机程序的任何现有或随后开发的技术。非暂时性计算机可读介质的示例包括硬盘驱动器、网络附属存储(nas)、只读存储器、随机存取存储器、基于闪存的非易失性存储器(例如,闪存卡或固态盘)、cd(致密盘)(例如,cd-rom、cd-r、cd-rw等)、dvd(数字通用盘)、磁带、和其他光学和非光学数据存储设备。非暂时性计算机可读介质还可分布在网络耦合的计算机系统上,使得计算机可读代码以分布式方式被存储和执行。
[0065]
此外,虽然本文引用的某些虚拟化方法通常假设虚拟机呈现与特定硬件系统一致的接口,但本领域普通技术人员将认识到,引用的方法可以结合不直接对应于任何特定硬件系统的虚拟化来使用。根据各个实施例的虚拟化系统(实现为托管实施例、非托管实施例或实现为倾向于模糊两者之间的区分的实施例)全部被预见。此外,某些虚拟化操作可以完全或部分地在硬件中实现。
[0066]
许多变化、修改、添加和改进是可能的,而不管虚拟化的程度。因此,虚拟化软件可以包括执行虚拟化功能的主机、控制台或客户操作系统的组件。可以为在本文中描述为单个实例的组件、操作或结构提供多个实例。最后,不同组件、操作和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。功能的其他分配是可设想的,并且可以落入本发明的范围内。通常,在示例性配置中作为单独部件呈现的结构和功能可以实现为组合的结构或部件。类似地,作为单个组件呈现的结构和功能可以实现为单独的组件。
[0067]
如本文的说明书和随后的权利要求书全文中所使用的,“一个”、“一种”和“该”包括复数引用,除非上下文另外清楚地指出。而且,如本文的说明书和随后的权利要求书全文中所使用的,“在
……
中”的含义包括“在
……
中”和“在
……
上”,除非上下文另外清楚地指出。
[0068]
以上描述示出了各个实施例以及如何可以实现特定实施例的多个方面的示例。这些示例和实施例不应该被认为是仅有的实施例,并且被呈现以示出如以下权利要求所限定的具体实施例的灵活性和优点。可以采用其他布置、实施例、实现方式和等同物,而不背离如权利要求书所限定的本发明的范围。
再多了解一些

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

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

相关文献