首页 / 专利库 / 电脑编程 / 计算机程序 / 管理冗余磁盘阵列的方法、设备和计算机可读存储介质

管理冗余磁盘阵列的方法、设备和计算机可读存储介质

阅读:876发布:2020-05-11

专利汇可以提供管理冗余磁盘阵列的方法、设备和计算机可读存储介质专利检索,专利查询,专利分析的服务。并且本公开的 实施例 涉及管理冗余磁盘阵列的方法、设备和 计算机程序 产品。在一种方法中,响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据 块 。从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分。将所述数据块的所述部分写入备用切片。,下面是管理冗余磁盘阵列的方法、设备和计算机可读存储介质专利的具体信息内容。

1.一种用于管理冗余磁盘阵列RAID的方法,包括:
响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据
从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分;以及
将所述数据块的所述部分写入备用切片。
2.根据权利要求1所述的方法,其中所述存储区段还包括所述多个存储设备中的第二存储设备中的第二组切片,并且将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片包括第一备用切片,将所述数据块的所述部分写入所述第一备用切片。
3.根据权利要求2所述的方法,将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片不包括备用切片,从所述第二存储设备中除所述第二组切片之外的切片中选择第二备用切片作为所述存储区段的一部分;以及
将所述数据块的一部分写入所述第二备用切片。
4.根据权利要求1所述的方法,还包括:
响应于所述多个数据块的相应部分被写入相应的备用切片,用所述备用切片来替换所述第一切片。
5.根据权利要求1所述的方法,还包括:
响应于与所述存储设备相关联的所有存储区段中的所述多个数据块的相应部分均被写入相应的备用切片,使所述存储设备下线。
6.一种用于管理冗余磁盘阵列的设备,包括:
处理单元;
存储器,耦合至所述处理单元并且包括存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行动作,所述动作包括:
响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;
从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分;以及
将所述数据块的所述部分写入备用切片。
7.根据权利要求6所述的设备,其中所述存储区段还包括所述多个存储设备中的第二存储设备中的第二组切片,并且将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片包括第一备用切片,将所述数据块的所述部分写入所述第一备用切片。
8.根据权利要求7所述的设备,将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片不包括备用切片,从所述第二存储设备中除所述第二组切片之外的切片中选择第二备用切片作为所述存储区段的一部分;以及
将所述数据块的一部分写入所述第二备用切片。
9.根据权利要求6所述的设备,其中所述动作还包括:
响应于所述多个数据块的相应部分被写入相应的备用切片,用所述备用切片来替换所述第一切片。
10.根据权利要求6所述的设备,其中所述动作还包括:
响应于与所述存储设备相关联的所有存储区段中的所述多个数据块的相应部分均被写入相应的备用切片,使所述存储设备下线。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有机器可执行指令,当所述机器可执行指令在被至少一个处理器执行时,使得所述至少一个处理器实现根据权利要求1-5中任一项所述的方法。

说明书全文

管理冗余磁盘阵列的方法、设备和计算机可读存储介质

技术领域

[0001] 本公开的实施例涉及存储系统,并且更具体地涉及用于管理冗余磁盘阵列(RAID)的方法、设备和计算机可读存储介质。

背景技术

[0002] RAID是一种数据存储虚拟化技术,其将多个物理存储设备合并成一个或多个逻辑单元,以用于数据冗余、性能改进等目的。如果RAID中的一个存储设备的产品寿命将要结束(EOL),则可能需要在线将该存储设备替换为其他存储设备。然而,在一些存储系统中,将数据从该存储设备复制到其他存储设备可能需要过多的写操作。这对于主机I/O和存储设备的磨损造成了不良的影响。因此,有必要提供一种至少部分地解决现有技术中的上述问题的方案。发明内容
[0003] 本公开的实施例提供了用于管理RAID的方法、设备和计算机程序产品。
[0004] 在第一方面,提供了一种管理RAID的方法。该方法包括:响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据;从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分;以及将所述数据块的所述部分写入备用切片。
[0005] 在第二方面,提供了一种管理RAID的设备。该设备包括:处理单元;存储器,耦合至所述处理单元并且包括存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行动作,所述动作包括:响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分;以及将所述数据块的所述部分写入备用切片。
[0006] 在第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有机器可执行指令,当所述机器可执行指令在被至少一个处理器执行时,使得所述至少一个处理器实现根据第一方面所述的方法。
[0007] 根据第四方面,提供了一种计算机程序产品,所述计算机程序产品被存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据第一方面所述的方法。
[0008] 提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。附图说明
[0009] 通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
[0010] 图1示出了根据本公开的一些实施例的存储系统的一个节点的示意图;
[0011] 图2示出了根据本公开的一些实施例的节点的一部分的示意图;
[0012] 图3示出了根据本公开的现有技术的数据迁移的示意图;
[0013] 图4示出了根据本公开的一些实施例的用于管理RAID的方法的流程图
[0014] 图5a示出了根据本公开的一些实施例的存储设备的状态的变化的示意图;
[0015] 图5b示出了根据本公开的一些实施例的通知存储设备的状态变化的示意图;
[0016] 图6示出了根据本公开的一些实施例的用于确定受影响的存储区段的方法的流程图;
[0017] 图7示出了根据本公开的一些实施例的用于管理RAID的方法的流程图;以及[0018] 图8示出了根据本公开的一些实施例的可以用来实施本公开的实施例的示例设备的示意性框图

具体实施方式

[0019] 下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0020] 在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0021] 图1示出了根据本公开的一些实施例的存储系统的一个节点100的示意图。如图1所示,节点100包括命名空间102、映射器104和RAID 106。
[0022] 在一些实施例中,命名空间102支持网络文件系统(NFA)和通用互联网文件系统(CIFS),并且在逻辑存储上实现。命名空间102可以与映射器104通信,利用映射器104的应用编程接口(API)来获得与逻辑地址对应的物理地址。映射器104包含逻辑地址与物理地址之间的映射。
[0023] 例如,命名空间102从用户接收输入/输出(I/O)请求,并将I/O请求发送到映射器104。映射器104查找数据的地址,并将I/O请求推送到RAID 106。RAID 106使用后端的存储设备(例如,硬盘或固态存储设备SSD)来执行I/O。
[0024] 如图1所示,RAID 106包括多个组110、112、114和116,每一组可以称为一个RAID恢复集合(RRS)。因此,多个组110、112、114和116也可以表示为RRS0、RRS1、RRS2和RRS3。每一个组包括多个存储设备,例如,硬盘、SSD等。应当理解,也可以使用任何其他合适的存储设备,本公开在此不受限制。每一个RRS是一个容错域,这意味着如果一个RRS内的一个存储设备发生故障,其他RRS的可靠性将不受影响。
[0025] 图2示出了根据本公开的一些实施例的节点100的一部分200的示意图。如图2所示,在RAID 106中,仅示出了一个组110,其包括多个存储设备202,其中每一个存储设备202被分割为多个切片204。这些切片可以形成切片池,并可以分配为多个存储区段或RAID条带,在这里也称为uber。一个uber可以被视为一个常规的RAID。例如,如果RAID类型是4+1RAID-5,则为了创建一个uber,将需要从不同的存储设备分配5个切片,并将这五个切片组合成一个常规的RAID。例如,一个uber内的所有切片可以来自同一个RRS。
[0026] 如图2所示,uber池208包括多个uber 206,每一个uber 206包括多个切片。例如,一个uber 206可以包括来自一个存储设备202的一个或多个切片。
[0027] 如图2所示,映射器104将uber 206分割为多个数据块210,数据块是从uber 206读取数据的最小单位,这里也被称为物理最大块(PLB)。每一个PLB包括位于不同的存储设备上的多个切片上的数据。例如,一个4+1RAID-5的PLB包括来自四个切片的数据以及来自一个切片的校验数据,这些切片各属于不同的存储设备。
[0028] 以上结合图1-图2示出了根据本公开的一些实施例的架构的示意图,然而,应当理解,在不脱离本公开的精神和原理的情况下,本公开的实施例也可以适用于其他任何合适的架构。
[0029] 如果一个存储设备(例如,SSD)面临生命周期结束(EOL)的情况,则需要将该存储设备上的数据复制到其他存储设备上。图3示出了根据现有技术的数据迁移的示意图。如图3所示,如果一个存储设备的生命周期将要结束,则该存储设备将影响所有具有该存储设备的uber。映射器104将所有受影响的uber复制到新的uber。例如,
[0030] 图3示出了将其中一个受影响的uber 310的数据复制到uber 312。在这种情况下,内部数据复制的数据量等于RAID宽度与存储设备大小的乘积。大量的内部I/O将显著影响存储设备的磨损平和用户I/O性能。
[0031] 为了至少部分地解决现有技术中的以上问题,本公开的实施例提供了管理RAID的方案。以下结合图4-图7对这些方案进行详细描述。
[0032] 图4示出了根据本公开的一些实施例的用于管理RAID的方法400的流程图。例如,方法400可以在映射器104和/或RAID 106处实现。图5a示出了根据本公开的一些实施例的存储设备的状态变化的示意图。例如,一个存储设备可以处于在线状态502。在一段时间之后,由于磨损等各种原因,该存储设备可能生命周期将要结束,处于EOL状态504。在实施了根据本公开的实施例的一些方法,例如方法400之后,可以将该存储设备下线,因此,该存储设备将处于下线状态506。
[0033] 在框402,映射器104接收指示RAID 106的存储设备510的产品寿命将要结束的信息。图5b示出了根据本公开的一些实施例的接收EOL信息的示意图。RAID 106具有检测存储设备(例如,SSD)的健康状况的机制。例如,如果SSD的错误计数或擦除计数超过阈值,则RAID 106将SSD的状态从健康状态更改为EOL状态。当RAID 106检测到SSD将要损坏时,RAID 106将向映射器104发送通知,告诉映射器104哪一个SSD将要发生故障。如图5b所示,RAID 
106中的存储设备510的寿命将要结束,因此,RAID 106经由其与映射器104之间的接口通知映射器104存储设备510的寿命将要结束。
[0034] 在框404,确定与存储设备510相关联的存储区段。存储区段可以是如上所述的uber,其分布在RAID 510的多个存储设备202上并且包括存储设备510中的第一组切片。一组切片可以包括一个或多个切片。存储区段存储有多个数据块,例如,uber存储有多个PLB。例如,可以确定包含存储设备510的任何切片的所有存储区段或uber。
[0035] 图6示出了根据本公开的一些实施例的用于确定受影响的存储区段或uber的方法600的流程图。例如,映射器104可以迭代由映射器104消耗的所有uber,以确定哪些uber包含EOL存储设备的切片,并将这些uber放置在列表uber_paco_list中。为了方便起见,以下也可以将存储设备称为盘。
[0036] 在框602,选择第一个uber。在框604,确定该uber是否包含EOL存储设备的切片。如果是,则前进到框606,将该uber的指针移动到列表uber_paco_list中。然后,方法600前进到框608,在此处,确定是否是最后一个uber。如果不是最后一个uber,则前进到框610,移动到下一个uber,从而进行下一次迭代。另外,如果在框604确定uber不包含EOL存储设备的切片,则方法600前进到框608。
[0037] 现在返回图4,在框406,从第一组切片中的第一切片读取多个数据块中的一个数据块的一部分,第一切片包括数据块的这一部分。例如,uber中的一个数据块(例如,PLB)的一部分存储在第一切片中,则从第一切片读取PLB的这一部分。
[0038] 在框408,将数据块的这一部分写入备用切片。当映射器104获取uber_paco_list时,映射器104可以一次选择一个uber,并与RAID 106合作将数据从EOL盘复制到备用切片。当一个uber拷贝结束之后,映射器104将uber修复消息发送给RAID 106,以更改uber的元数据,从而使用备用盘切片来替代EOL盘切片。当uber_paco_list中的所有uber修复之后,映射器104将发送主动拷贝(PACO)修复消息给RAID 106,从而RAID 106将该EOL盘标记为下线。
[0039] 例如,在框404处所确定的uber包括RAID 106或RRS 1中的第二存储设备中的第二组切片。在一些实施例中,第二存储设备也可以指RAID 106或RRS 1中除第一存储设备之外的多个其他存储设备,例如,所有其他存储设备。例如,如果确定第二组切片包括第一备用切片,则可以将PLB的这一部分写入第一备用切片。如果第二组切片不包括备用切片,则从第二存储设备中除第二组切片之外的切片中选择第二备用切片作为存储区段的一部分,并将数据块的这一部分写入第二备用切片。例如,可以从其他存储设备中的任一存储设备来选择第二备用切片。
[0040] 在一些实施例中,如果多个数据块或PLB的相应部分都被写入相应的备用切片,则用备用切片来替换第一切片。对于其他数据块或PLB而言,也可以使用相应的备用切片来替换相应的第一切片。在一些实施例中,如果与EOL存储设备相关联的所有存储区段或uber中的多个数据块或PLB的相应部分均被写入相应的备用切片,则可以使EOL存储设备下线。
[0041] 通过降低写I/O的数量,降低了存储设备(例如,SSD)的损耗水平。以4+1 RAID 5为例,如图3所示的方法将复制五倍的EOL盘数据。与之相比,本公开的实施例仅需复制一个EOL盘数据,为图3所示的方法的25%。另外,由于在线替换存储设备(例如,SSD),降低了对主机I/O的影响。由于只需要使用较少的内部I/O即可完成SSD的替换,对主机I/O的影响更小。此外,由于本公开的实施例仅利用了PLB的读,并且映射器可以将主机数据冲刷到新的PLB,因此,不会阻塞主机I/O。
[0042] 图7示出了根据本公开的一些实施例的用于管理RAID的方法700的流程图。在框702,映射器104从列表uber_paco_list中选择第一个uber,该列表可以是方法600确定的列表。例如,映射器104可以找到包含EOL盘的所有uber,并将这些uber放置在uber_paco_list中。在框704,映射器104从第一个uber中选择第一个PLB。在框706,映射器104获取该PLB的读锁或读取锁定,从而该PLB可以被读取但不能被写入。在框708,映射器104向RAID 106发送请求,以请求RAID 106开始从旧盘向新盘中的备用空间复制数据,也称主动拷贝(PACO)。
在这一过程中,映射器104可以将uber的标识符(ID)和PLB的标识符(或编号)发送给RAID 
106。在框710,RAID 106检查该uber上是否存在备用切片,也称备用盘切片。如果存在,则方法700前进至框716。如果不存在,则方法700前进至框712。在框712,将新的备用切换交换进来,该备用切片可以来自RAID 106中的任何其他盘,或者相应的RRS中的任何其他盘。在框
714,可以将备用切片标记为忙,从而防止对其进行访问。在框716,从EOL盘切片读取数据。
在框718,RAID 106将数据写入备用切片。然后,RAID 106将该PLB完成拷贝的响应发送给映射器104。
[0043] 在框720,映射器104接收到PACO PLB响应,释放PLB的读锁,并前进至框722。在框722,映射器104确定是否是该uber中的最后一个PLB。如果不是,则在框724移动到下一个PLB,并前进至框706,以进行下一次迭代。
[0044] 如果在框722确定为是,则表明该uber已经处理完毕,则方法700前进至框726。在框726,映射器104将该uber标记为已修复,并将该uber的标识符(ID)发送给RAID 106。RAID 106在框728用备用切片来代替EOL盘切片。在框730,RAID 106释放备用切片的忙状态,从而可以对其进行访问。在框732,RAID 106更新uber信息,从而备用切片可以替代EOL盘切片。
例如,uber信息可以指示形成该uber的存储设备和切片的信息。在框734,RAID 106将EOL盘切片标记为忙,从而防止对EOL盘切片进行访问。此外,RAID 106将uber修复完成的响应发送给框736。在框736,映射器104接收到uber修复完成的响应。在框738,映射器104确定列表uber_paco_list中是否还存在未处理的uber。如果是,则方法700前进至框740,在此处,映射器104移动到下一个uber,以进行迭代。如果否,则方法700前进至框742,在此处,映射器
104向RAID 106请求PACO修复,并将EOL盘的盘ID发送给RAID 106,以用新盘替换旧盘。在框
744,RAID 106更新RRS信息,在框746,将EOL盘标记为下线,并发送PACO修复完成的响应。在框748,映射器104接收到PACO修复完成的响应,确认修复完成。
[0045] 图8示出了一个可以用来实施本公开的实施例的设备800的示意性框图。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
[0046] 设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0047] 上文所描述的各个过程和处理,例如方法400、600和700,可由处理单元801执行。例如,在一些实施例中,方法400、600和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 
803并由CPU 801执行时,可以执行上文描述的方法400、600和700的一个或多个步骤。
[0048] 本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
[0049] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号
[0050] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0051] 用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0052] 这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0053] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0054] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0055] 附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0056] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈