CN108874312B - 数据存储方法以及存储设备 - Google Patents

数据存储方法以及存储设备 Download PDF

Info

Publication number
CN108874312B
CN108874312B CN201810543575.6A CN201810543575A CN108874312B CN 108874312 B CN108874312 B CN 108874312B CN 201810543575 A CN201810543575 A CN 201810543575A CN 108874312 B CN108874312 B CN 108874312B
Authority
CN
China
Prior art keywords
storage
hard disk
data
target data
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810543575.6A
Other languages
English (en)
Other versions
CN108874312A (zh
Inventor
李美欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810543575.6A priority Critical patent/CN108874312B/zh
Publication of CN108874312A publication Critical patent/CN108874312A/zh
Application granted granted Critical
Publication of CN108874312B publication Critical patent/CN108874312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本申请实施例公开了数据存储方法以及存储设备,用于在存储设备的供电被中断时,通过删除未完成暂存目标数据的存储硬盘中的部分目标数据以及已完成暂存目标数据的存储硬盘中的目标数据,从而确保存储设备中的数据的一致性。本申请实施例方法包括:存储设备获取实时数据,存储设备具备至少两个存储硬盘和至少一个控制器,存储硬盘被预先配置为软件式磁盘阵列RAID的逻辑盘;存储设备根据预设的数据存储的先后顺序将实时数据中的目标数据分别暂存至各个存储硬盘中;当存储设备的供电被中断时,存储设备判断是否存在至少一个未完成暂存目标数据的第一存储硬盘;若是,则存储设备删除第二存储硬盘中的目标数据以及已暂存在第一存储硬盘中的部分目标数据。

Description

数据存储方法以及存储设备
技术领域
本申请涉及数据存储技术领域,尤其涉及数据存储方以及存储装置。
背景技术
近几年来,用户利用存储设备存储数据的需求越来越大,不仅要求存储设备的容量很大,而且要求存储设备的性能很高。
但是,相比于其他行业(例如银行行业),目前视频监控行业利用存储设备存储数据的方法对于数据存储可靠性的要求相对比较宽松,其中一种存储数据的方法是,存储设备在获取到实时数据之后,将实时数据按照独立冗余磁盘阵列(redundant array ofindependent disks,RAID)预设的数据存储的先后顺序暂存至各个存储硬盘中,并在各个存储硬盘中标记存储成功的指示信息。
然而,此种存储数据的方法存在的问题是,当一遇到异常掉电的情况时,实时数据中还未存储到各个存储硬盘中的部分目标数据就会丢失,导致用户读取目标数据时读取到的并不是真实的数据,而是有所缺失的数据,因此此种存储数据的方法无法保证读取到的数据的一致性和准确性。
发明内容
本申请实施例提供了数据存储方法以及存储设备,能够在存储设备的供电被中断时,通过删除第一存储设备中未完成本次暂存的目标数据以及第二存储设备中已完成本次暂存目标数据,从而确保存储到存储设备中的数据的一致性、准确性和完整性。
本申请实施例提供了一种数据存储方法,该数据存储方法应用于具备至少一个控制器的存储设备中,包括:
存储设备获取实时数据,所述存储设备具备至少两个存储硬盘,所述存储硬盘被预先配置为软件式磁盘阵列RAID的逻辑盘;
所述存储设备根据预设的数据存储的先后顺序将所述实时数据中的目标数据分别暂存至各个所述存储硬盘中;
当所述存储设备的供电被中断时,所述存储设备判断是否存在至少一个未完成暂存所述目标数据的第一存储硬盘;
若是,则所述存储设备删除已完成暂存所述目标数据的第二存储硬盘中的所述目标数据以及已暂存在所述第一存储硬盘中的部分所述目标数据。
可选地,所述存储设备判断是否存在至少一个未完成暂存所述目标数据的第一存储硬盘包括:
所述存储设备判断所有所述存储硬盘中是否存在至少一个未完成暂存所述目标数据的通知消息,所述通知消息为所述存储硬盘分别在各自的存储硬盘中标记的消息;
若是,则所述存储设备确定有标记所述未完成暂存所述目标数据的通知消息的存储硬盘为所述第一存储硬盘。
可选地,所述存储设备根据预设的数据存储的先后顺序将所述实时数据中的目标数据分别暂存至各个所述存储硬盘中包括:
所述存储设备使用所述软件式RAID方式预设的所述先后顺序将所述目标数据分别暂存至各个所述存储硬盘中。
可选地,在所述存储设备使用所述软件式RAID方式预设的所述先后顺序将所述目标数据分别暂存至各个所述存储硬盘中之前,所述方法还包括:
所述存储设备将所述实时数据保存到所述存储设备的缓存区域中。
可选地,所述通知消息为所述存储硬盘分别在各自的存储硬盘中标记的消息包括:
所述通知消息为所述第一存储硬盘以及所述第二存储硬盘分别在各自的存储硬盘中使用比特位图标记的消息。
可选地,所述存储硬盘为串行高级技术附件SATA接口的硬盘。
本申请实施例提供了一种存储设备,该存储设备具备至少一个控制器,包括:
获取单元,用于获取实时数据,所述存储设备具备至少两个存储硬盘,所述存储硬盘被预先配置为软件式磁盘针对RAID的逻辑盘;
暂存单元,用于根据预设的数据存储的先后顺序将所述实时数据中的目标数据分别暂存至各个所述存储硬盘中;
判断单元,用于当所述存储设备的供电被中断时,判断是否存在至少一个未完成暂存所述目标数据的第一存储硬盘;
删除单元,用于当确定存在至少一个未完成暂存所述目标数据的第一存储硬盘时,删除已完成暂存所述目标数据的第二存储硬盘中的所述目标数据以及已暂存在所述第一存储硬盘中的部分所述目标数据。
可选地,所述判断单元具体用于判断所有所述存储硬盘中是否存在至少一个未完成暂存所述目标数据的通知消息,所述通知消息为所述存储硬盘分别在各自的存储硬盘中标记的消息,若是,则确定有标记所述通知消息的存储硬盘为所述第一存储硬盘。
可选地,所述暂存单元具体用于使用所述软件式RAID方式预设的所述先后顺序将所述目标数据分别暂存至各个所述存储硬盘中。
可选地,所述存储设备还包括:
保存单元,用于将所述实时数据保存到所述存储设备的缓存区域中。
本申请实施例提供了一种存储设备,该存储设备具有实现上述数据存储方法中存储设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请实施例提供了一种计算机存储介质,该计算机存储介质用于储存上述存储设备所用的计算机软件指令,其包括用于执行为存储设备所设计的程序。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述数据存储方法的流程。
从以上技术方案可以看出,本申请实施例具有以下优点:存储设备具备至少两个存储硬盘和至少一个控制器,且存储设备中的各个存储硬盘被预先设置为软件式磁盘阵列RAID的逻辑盘,存储设备根据预设的数据存储的先后顺序将获取到的实时数据中的目标数据分别暂存到各个存储硬盘中,当存储设备的供电被中断时,存储设备能够判断是否存在至少一个未完成对目标数据的暂存的第一存储硬盘,该目标数据为需要存储到各个存储硬盘中的数据,该目标数据是实时数据中的一部分数据,如果存储设备确定存在至少一个存储硬盘未成功存储目标数据,即存储设备确定存在至少一个第一存储硬盘,则存储设备就删除本次已暂存在第二存储硬盘中的目标数据以及本次未完成暂存的第一存储硬盘中的部分目标数据,第二存储设备为本次已完成目标数据暂存的存储硬盘,这样在遇到存储设备的供电被中断的情况时,如果部分存储硬盘本次未完成对目标数据的存储,则存储设备删除本次已完成暂存的存储硬盘中的目标数据,暂存意指临时存储,从而使用户读取到的是所有存储硬盘前次保存的数据,而不会读取到部分存储硬盘本次保存的数据和另一部分硬盘前次保存的数据,这样即使存储设备中没有设置掉电保护装置,存储设备也能够确保存储到存储硬盘中的数据的一致性、准确性和完整性。另外,可以只具备一个控制器以及无设置掉电保护装置的存储设备还可以降低生产成本。
附图说明
图1为本申请实施例中存储设备的框架示意图;
图2为本申请实施例中数据存储方法的一个实施例示意图;
图3为本申请实施例中数据存储方法的另一个实施例示意图;
图4为本申请实施例中存储设备的一个实施例示意图;
图5为本申请实施例中存储设备的另一个实施例示意图。
具体实施方式
本申请实施例提供了数据存储方法以及存储设备,用于在存储设备的供电被中断时,能够通过删除第一存储设备中未完成本次暂存的目标数据以及第二存储设备中已完成本次暂存目标数据,从而确保存储到存储设备中的数据的准确性和完整性。
在对本申请实施例进行描述之前,首先对本申请实施例中涉及的多个技术用语进行说明。
1、SATA接口的硬盘,也叫串口硬盘,串口硬盘的全称为具有基于行业标准的串行硬件驱动器接口(serial advanced technology attachment,SATA,也可称为串行高级技术附件)的硬盘。SATA接口的硬盘采用串行连接方式,使用嵌入式时钟信号,具备更强的纠错能力,能够对传输指令(不仅仅是数据)进行检查,如果发现错误会自动纠正,提高了数据传输的可靠性,且结构简单,价格低廉。
2、磁盘阵列RAID:其有“独立磁盘构成的具有冗余能力的阵列”之意,是由很多价格较便宜的磁盘(也可称硬盘)组合成一个容量巨大的磁盘组,虽然RAID包含多块硬盘,但是由一个硬盘控制器来控制多个硬盘的相互连接,在操作系统下是作为一个独立的大型存储设备出现。在存储系统中利用RAID技术的好处是,通过把磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;通过把数据分成多个数据块(block)并行向多个磁盘写入数据以及从多个磁盘读出数据,从而可提高访问磁盘的速度。RAID盘通常有RAID0、RAID1、RAID5以及RAID6等多种种类。
3、RAID0:raid0就是把多个(最少2个)硬盘合并成1个逻辑盘使用,数据读写时对各硬盘同时操作,不同硬盘写入不同数据,速度快。
4、RAID1:raid1就是同时对2个硬盘读写(同样的数据)。强调数据的安全性。比较浪费。
5、RAID5:raid5也是把多个(最少3个)硬盘合并成1个逻辑盘使用,数据读写时会建立奇偶校验信息,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。相当于raid0和raid1的综合。
6、串行高级附件(serial advanced technology attachment,SATA)硬盘:也可以称为SATA接口的硬盘,其是一种基于行业标准的串行硬件驱动器接口。串行接口结构简单,支持热插拔,采用串行方式传输数据,传输速率高,相比于并行接口的硬盘价格更为低廉。
7、缓存:是指临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,缓存通常使用的是断电即掉的非永久储存,所以在存入到缓存之后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存是内存条。
请参阅图1,图1为本申请实施例中存储设备的框架示意图。在数据存储过程中,存储设备105需要有至少两个串口硬盘以及控制器104的参与,图1中有三个串口硬盘,分别是串口硬盘101至103,由串口硬盘101至103以及控制器104组成一个存储设备。存储设备105可以通过控制器104将实时数据存储到串口硬盘(即SATA接口的硬盘)101至103中。串口硬盘101至103根据控制器104的指令进行数据存储。
基于上述的系统框架,请参阅图2,图2为本申请实施例中数据存储方法的一个实施例示意图。
需要说明的是,本申请实施例中的存储设备可以包含掉电保护装置,也可以不包含掉电保护装置,具体此处不做限定。掉电保护装置是在异常断电时开启掉电保护装备中的备用电源对存储设备继续供电,以使得存储设备能够保持正常存储数据的装置。存储设备如果去掉掉电保护装置,在存储设备异常掉电时,暂存的数据是无法保存的。不过,即使存储设备中设置有掉电保护装置,在某些情况下,也有可能掉电保护装置无法在掉电时启动导致无法保证数据的正常存储。另外,掉电保护装置可以是电池备份单元(butterybackup unit,BBU)、不间断电源(uninterruptible power system,UPS)、或者非易失性内存等。
此外,本申请实施例中的存储设备中可以设置两个控制器,即其中一个控制器是备用的控制器,也可以设置一个控制器,具体此处不做限定。
此外,本申请实施例中的存储设备中可以设置缓存器,这样在存储数据时可以先将数据放入缓存器,然后再将存入到缓存器中的数据通过存储设备中已有的后台程序写入存储硬盘中。使用缓存器的目的就是加快写入数据的速度。实现缓存的技术可以是内存条,也可以是设置有固态硬盘(solid state drives,SSD)的内存条。
此外,需要说明的是,本申请实施例的技术方案尤其适用于视频监控行业,因为与其他行业(如银行行业)相比,视频监控行业对于数据存储的可靠性要求相对比较宽松,即使存储设备中没有设置掉电保护装置,且只设置一个控制器,并采用存储数据速度较慢的SATA接口的硬盘,如果遇到供电被中断的情况,即使丢失几分钟的数据,也属于视频监控行业存储数据要求的容许范围之内。
本申请实施例由于在存储设备中可以不设置掉电保护装置,并且可以只设置一个控制器,因此具有降低成本的优点。
下面请参阅图2,本申请实施例的数据存储方法的一个实施例包括:
201、存储设备获取实时数据;
本实施例中,存储设备具备至少两个存储硬盘,且每个存储硬盘被预先配置为软件式磁盘阵列RAID的逻辑盘。
需要说明的是,本实施例中采用的并不是实际的硬件的RAID盘,而是通过软件实现的软件式RAID的逻辑盘,也就是说,将存储设备中的至少两个存储硬盘通过软件程序相互逻辑连接变为各个存储硬盘可同时存储数据的软件式RAID的逻辑盘,本申请实施例中简称软件式RAID盘。通过软件式RAID盘,可以将数据同时写入存储设备中的各个存储硬盘。另外,这里描述的“同时”是指从宏观的角度来说是“同时”,但在后述的说明中还会提及这里所说的“同时”从微观的角度来说还是有微小的时间先后顺序之分的。
此外,本申请实施例中的存储硬盘可以是SATA接口的机械硬盘,也可以是串行连接接口(serial attached small computer system interface,SAS SCSI)的机械硬盘、SSD、或者闪存(flash memory),具体此处不做限定。
还需要说明的是,存储硬盘可以分为至少一块存储区域,也就是说,存储硬盘除了可以只有一块存储区域外,还可以分为多块存储区域,具体此处不做限定。
202、存储设备根据预设的数据存储的先后顺序将实时数据中的目标数据分别暂存至各个存储硬盘中;
本实施例中,存储设备在获取到实时数据之后,需要将实时数据暂存至各个存储硬盘中。此处所说的暂存,指的是暂时存储数据,而非永久性保留数据,在存储硬盘暂存数据后,如果最后没有接收到保存数据的指令,则存储硬盘就会将暂存的数据一并删除。
需要说明的是,如上所述,每个存储硬盘可以划分为多块存储区域,而每块存储区域可以组成一个条带,每个存储硬盘在写入数据时均是按先后顺序将数据写满第一个条带,再写满第二个条带,以此类推。
本实施例中,存储设备可以根据预设的数据存储的先后顺序将实时数据中的目标数据分别暂存至各个存储硬盘中。下面举例说明,假设在一个存储设备中设置有A、B、C、D这4个SATA接口的硬盘,每个SATA接口的硬盘中均划分有10块存储区域,每块存储区域均可以存储1个字节,则每个SATA接口的硬盘中均有10个用于存储1个字节的数据量的条带。存储设备预先设置为按照A盘、B盘、C盘、D盘的存储顺序存储数据,由于一个小写字母占用一个字符,则当存储设备获取到a~h这8个字母时,首先A盘的第一个条带存储字母“a”,A盘的第一个条带存满数据,于是B盘的第一个条带存储字母“b”,B盘的第一个条带存满数据,以此类推,D盘的第一个条带存储字母“d”,D盘的第一个条带存满数据;随后A盘的第二个条带存储字母“e”,A盘的第二个条带存满数据,于是B盘的第二个条带存储字母“f”,B盘的第二个条带存满数据,以此类推,D盘的第二个条带存储字母“h”,D盘的第二个条带存满数据。
由此可知,上述述及RAID盘中的多个存储硬盘同时存储数据,这是从宏观的角度来进行说明的,但实际上RAID盘的各个存储硬盘在存储数据时,从微观的角度来看,是有着时间先后顺序的,尽管前后两个存储硬盘在存储数据时只有例如1/10毫秒,甚至纳秒级别的时间差。
203、当存储设备的供电被中断时,存储设备判断是否存在至少一个未完成暂存目标数据的第一存储硬盘;
本实施例中,在存储设备的存储硬盘正在存储实时数据的过程中,如果遇到存储设备的供电被中断,例如异常掉电,则存储设备可以判断是否存在至少一个还未完成暂存目标数据的第一存储硬盘,目标数据为需要写入存储硬盘的数据,是实时数据中的一部分数据。
具体地,存储设备可以判断所有存储硬盘中是否存在至少一个还未完成暂存目标数据的通知消息,该通知消息可以为存储硬盘分别在各自的存储硬盘中标记的消息。如果存储设备确定存储设备的所有存储硬盘中存在至少一个还未完成暂存目标数据的通知消息,则存储设备确定标记了未完成暂存目标数据的通知消息的存储硬盘为第一存储硬盘,此外,存储设备确定标记了已完成暂存目标数据的通知消息的存储硬盘为第二存储硬盘。由于存在未完成暂存的第一存储硬盘,因此执行步骤204。相反地,如果存储设备确定存储设备的所有存储硬盘中不存在还未完成暂存目标数据的通知消息,则存储设备确定标记了已完成暂存目标数据的通知消息的存储硬盘为第二存储硬盘,即存储设备中的所有存储硬盘均为已完成暂存目标数据的第二存储硬盘,此种情况下,则执行步骤205。
进一步地,标记通知消息的方式可以在所有存储硬盘(包括第一存储硬盘以及第二存储硬盘)分别在各自的存储硬盘中使用比特位图标记的消息来标示是否完成暂存目标数据,例如可以将比特位图中的“1”设为“已完成暂存”,“0”设为“未完成暂存”,也可以反过来设,即将“0”设为“已完成暂存”,“1”设为“未完成暂存”,具体此处不做限定。
举一个具体的例子,例如存储设备中有A、B、C、D这4个SATA接口的机械硬盘,在存储设备的供电被中断(例如异常掉电)之前,已经在这4个SATA接口的硬盘中分别写入了一、二、三、四,设每个硬盘中的每块存储区域为一个条带,每个条带可以存储2个字节,则当4个SATA接口的硬盘在各自的第一个条带上分别写满了“一”“二”“三”“四”之后,开始在各个硬盘的第二个条带上存入A、B、C、D,这时,存储设备发生异常掉电,于是存储设备马上判断是否有还未完成暂存目标数据的硬盘。由存储设备的判断结果可知,A、B、D这3个硬盘已经完成暂存目标数据,即A硬盘的第二个条带存入了字母“A”,B硬盘的第二个条带存入了字母“B”,D硬盘的第二个条带存入了字母“D”,但C硬盘还没有将字母“C”存入到C硬盘的第二个条带中,即C硬盘还没有完成暂存目标数据。
此种情况下,如果按照现有的RAID技术将字母A、B、D保存至A、B、D这3个硬盘的第二个条带中,那么当用户读取数据时,则会读取到A、B、一、D,因为C盘未成功保存字母C,因此C盘读取出来的数据是第一个条带中存入的数据“一”。这样就出现了读取的数据是错误的数据,正确的数据应是A、B、C、D。
因此,本发明对现有的RAID技术进行了改进,本申请实施例通过本步骤203,在存储设备每次向多个SATA硬盘写入数据时,都会进行一次判断步骤,判断是否存在至少一个未完成暂存目标数据的第一存储硬盘,如果存在,则说明还有至少一个硬盘尚未成功暂存目标数据。在上述的例子中,由于加入了判断步骤,因此存储设备可以通过存储设备判断是否存在至少一个未完成暂存目标数据的第一存储硬盘,具体地,例如存储设备判断是否存在一个未完成暂存目标数据的通知消息,从而确定存在一个硬盘尚未完成暂存目标数据。
需要说明的是,存储设备可以将实时数据先保存到存储设备的缓存器(也可以是缓存区域)中,然后再将存入至缓存器中的实时数据写入存储硬盘中。如上所述,缓存器可以是内存条,具体此处不做限定。
204、存储设备删除已完成暂存目标数据的第二存储硬盘中的目标数据以及已暂存在第一存储硬盘中的部分目标数据;
本实施例中,如果存储设备确定存在至少一个未完成暂存目标数据的第一存储硬盘,则存储设备可以删除已完成暂存目标数据的第二存储硬盘中的目标数据以及已暂存在第一存储硬盘中的部分目标数据。仍以步骤203中的具体的例子为例,由于SATA接口的硬盘C还没有将字母“C”存入第二个条带中,因此,存储设备在异常掉电时,将判断从而确定还有尚未完成暂存目标数据的存储硬盘,于是存储设备就会删除本次在各个存储硬盘中存储的数据,即删除本次在A、B、D盘中分别存入的字母“A”、“B”、“D”。这样,当用户读取数据时,从各个存储硬盘中读取出来的数据分别为前次各个存储硬盘存储的目标数据,即“一“、”“二”、“三”、“四”。虽然存储设备读出来的是前次各个存储硬盘存储的数据,但是读取出来的数据具有一致性、完整性和准确性,而不会出现读不出部分正确的数据,读出了错误数据的情况。
205、存储设备保存已完成暂存目标数据的第二存储硬盘中的目标数据。
本实施例中,如果存储设备确定没有尚未完成暂存目标数据的第一存储硬盘,则存储设备就可以将已完成暂存目标数据的第二存储硬盘中的目标数据保存在各个第二存储硬盘中。
仍以上述具体的例子为例,如果在异常掉电之前,上述4个SATA接口的存储硬盘已经将字母A、B、C、D存入各个存储硬盘的第二个条带中,之后出现异常掉电,则存储设备就会判断是否还有存储硬盘尚未暂存目标数据,具体地,例如存储设备判断所有存储硬盘中是否还有未完成暂存目标数据的通知消息,此时存储设备确定没有标记着未完成暂存目标数据的通知消息,也就是确定没有存储硬盘还未完成暂存目标数据,于是存储设备在各个存储硬盘中将暂存的目标数据都保存下来。
之后循环执行步骤201至步骤205,不断地将数据保存至存储设备的存储硬盘中。
需要说明的是,以上举例中的条带在实际应用中,每个条带可以写入例如1K(即1024个)字节的数据量,或者如果存储硬盘很大,例如可以达到2太(即2T)字节的存储量,则1个条带可以写入例如1M(即1024K)字节的数据量,条带的存储数据量的大小具体此处不做限定。
在本申请实施例中,存储设备具备至少两个存储硬盘,且存储设备中的各个存储硬盘被预先设置为软件式RAID的逻辑盘,存储设备根据预设的软件式RAID预设的数据存储的先后顺序将获取到的实时数据中的目标数据分别暂存到各个存储硬盘中,当存储设备的供电被中断时,存储设备能够判断是否存在至少一个未完成本次对目标数据的暂存的第一存储硬盘,如果存储设备确定存在至少一个存储硬盘未完成本次暂存目标数据,则存储设备就可以删除已完成本次暂存的第二存储硬盘中的目标数据以及未完成本次暂存的第一存储硬盘中的部分目标数据,如果存储设备确定没有存储硬盘未完成本次暂存目标数据,则存储设备就可以保存本次暂存在各个第二存储硬盘中的目标数据,这样使用户读取到的是所有存储硬盘前次保存的数据,这样即使存储设备中没有设置掉电保护装置,存储设备也能够确保存储到存储硬盘中的数据的一致性、准确性和完整性。
进一步地,本申请实施例中的存储设备由于可以去掉掉电保护装置并且只设置一个控制器,且可以使用SATA接口的硬盘,因此还可以降低生产成本,另外,由于可以设置缓存器(或缓存区域),因此结合软件式RAID的数据存储方式,可以提升数据存储的可靠性。
以上描述的本申请实施例中的数据存储方法,以下优选地,对本申请实施例中的另一种数据存储方法进行描述。参阅图3,图3是本申请实施例中的数据存储方法的另一个实施例。
需要说明的是,以下的实施例中,存储设备中没有设置掉电保护装置,且只有一个控制器,并且在存储设备中具备缓存区域(或者缓存器),软件式RAID盘使用的是价格比较低廉的SATA接口的存储硬盘。
本申请实施例中的数据存储方法的另一个实施例包括:
301、存储设备获取实时数据;
本实施例中,步骤301和前述图2实施例中的步骤201类似,此处不再赘述。
302、存储设备将实时数据保存到存储设备的缓存区域中;
本实施例中,存储设备将获取到的实时数据先保存到存储设备的缓存区域中,由于存储设备中设置有缓存区域,因此可以快速地大量存储实时数据。
303、存储设备根据预设的软件式RAID5的数据存储的先后顺序将缓存区域中的实时数据的目标数据分别暂存至各个SATA接口的存储硬盘中;
本实施例中,由于采用的是软件式RAID的数据存储方式,而不需要实际的硬件RAID盘,因此减少了生产成本。此外,由于RAID5中至少有3个SATA接口的存储硬盘,而其中一个存储硬盘是用来对存储的数据的准确性和一致性进行校验,因此提高了存储数据的可靠性。而且,采用RAID的数据存储方式可以将实时数据同时存储到各个SATA接口的存储硬盘中,因此存储速度是不采用RAID的数据存储方式的4倍,提高了存储数据的速度和效率。例如,如果需要4个SATA接口的存储硬盘用来存储实时数据,则还需要在存储设备中设置一个用于校验存储数据的SATA接口的存储硬盘。存储数据的方式与前述图2实施例中的步骤202类似,具体此处不再赘述。
304、当存储设备异常掉电时,存储设备判断是否存在至少一个未完成本次暂存目标数据的通知消息;
本实施例中,存储设备在异常掉电时,通过判断是否存在至少一个未完成本次暂存目标数据的通知消息,从而确定是否还有尚未完成暂存目标数据的SATA接口的存储硬盘。需要说明的是,异常掉电通常有几分钟。
通知消息可以用所有存储硬盘,即第一存储硬盘以及第二存储硬盘中的比特位图进行标记,若本次暂存目标数据成功,则用于进行标记的比特位的标记为“1”,也可以反过来,若本次暂存目标数据失败,则用于进行标记的比特位的标记为“0”。
具体的判断方式已在前述图2实施例中的步骤203详细描述,此处不再赘述。
如果存储设备确定存在至少一个未完成本次暂存目标数据的通知消息,则执行步骤305;如果存储设备确定不存在未完成本次暂存目标数据的通知消息,则执行步骤306。
305、存储设备删除已完成本次暂存目标数据的第二SATA接口的存储硬盘中的目标数据以及本次已暂存在第一SATA接口的存储硬盘中的部分目标数据;
306、存储设备保存本次所有存储硬盘中暂存的目标数据。
本实施例中,步骤305和步骤306与前述图2实施例中的步骤204和205类似,此处不再赘述。
在本申请实施例中,由于存储设备中没有设置掉电保护装置,且只设置有一个控制器,使用的存储硬盘为SATA接口的硬盘,但在存储设备中设置了缓存区域(或缓存器),且采用了软件式RAID5的数据存储方式,RAID5还有一个用于校验存储数据的SATA接口的存储硬盘,因此在发生异常掉电时,存储设备可以判断是否存在未完成本次暂存目标数据的通知消息,如果存储设备确定存在该通知消息,则说明存在未完成本次暂存目标数据的SATA接口的存储硬盘,于是删除本次暂存在各个存储硬盘中的目标数据,这样在读取数据时,读取到的是前次存储在各个存储硬盘中的目标数据,从而即使在没有掉电保护装置的情况下,也能够保证读取到的数据的一致性、完整性和准确性,且由于使用的是RAID方式存储数据,提高了存储数据的速率。
进一步地,本实施例中的存储设备由于去掉了掉电保护装置并且只设置一个控制器,且使用的是SATA接口的硬盘,因此还可以降低生产成本。
上面对本申请实施例中的数据存储方法进行了描述,下面对本申请实施例中的存储设备进行描述,请参阅图4,图4为本申请实施例中存储设备的一个实施例示意图,图4中的存储设备具备至少一个控制器。
本申请实施例中存储设备的一个实施例包括:
获取单元401,用于获取实时数据,存储设备具备至少两个存储硬盘,存储硬盘被预先配置为软件式RAID的逻辑盘;
暂存单元402,用于根据预设的数据存储的先后顺序将实时数据中的目标数据分别暂存至各个存储硬盘中;
判断单元403,用于当存储设备的供电被中断时,判断是否存在至少一个未完成暂存目标数据的第一存储硬盘;
删除单元404,用于当确定存在至少一个未完成暂存目标数据的第一存储硬盘时,删除已完成暂存目标数据的第二存储硬盘中的目标数据以及已暂存在第一存储硬盘中的部分目标数据。
本实施例中,判断单元403具体用于判断所有存储硬盘中是否存在至少一个未完成暂存目标数据的通知消息,该通知消息为存储硬盘分别在各自的存储硬盘中标记的消息;若是,则确定有标记未完成暂存目标数据的通知消息的存储硬盘为第一存储硬盘。
本实施例中,暂存单元402具体用于使用软件式RAID方式预设的先后顺序将目标数据分别暂存至各个存储硬盘中。
本实施例中,存储设备还包括:
保存单元405,用于将实时数据保存到存储设备的缓存区域中。
需要说明的是,本实施例中的存储硬盘可以使用SATA接口的存储硬盘,具体此处不做限定。此外,本实施例中的存储硬盘可以不设置掉电保护装置。
本实施例中,即使没有掉电保护装置,当暂存单元402在向存储硬盘暂存目标数据的过程中,当出现异常掉电的情况时,判断单元403能够判断各个存储硬盘是否将本次的目标数据都一一存入各自的存储硬盘中,如果判断单元403确定还有未完成本次暂存目标数据的存储硬盘,则删除单元404删除本次已完成暂存目标数据的第二存储硬盘中的目标数据以及暂存在未完成暂存目标数据的第一存储硬盘中的部分目标数据,这样即使没有在存储硬盘中设置掉电保护装置,用户通过读取前次所有存储硬盘全部完成保存的目标数据,因此确保了读取的数据的一致性、完整性和准确性。
进一步地,本实施例中的存储设备由于去掉了掉电保护装置并且只设置一个控制器,且可以使用SATA接口的硬盘,因此还可以降低生产成本。
请参阅图5,本申请实施例中存储设备的一个实施例包括:
该存储设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上控制器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储硬盘505,该存储硬盘505中存储有一个或一个以上的应用程序或数据。
其中,存储硬盘505可以是易失性存储或持久存储。存储在存储硬盘505的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,控制器501可以设置为与存储硬盘505通信,在存储设备500上执行存储硬盘505中的一系列指令操作。
存储设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,本实施例中的存储硬盘505可以使用SATA接口的存储硬盘,具体此处不做限定。此外,本实施例中的存储设备500可以不设置掉电保护装置,且可以只设置一个控制器501,具体此处不做限定。
本实施例中存储设备500中的控制器501所执行的流程与前述图2和图3所示的实施例中描述的方法流程类似,此处不再赘述。
本申请实施例的有益效果是存储设备500的存储硬盘505存储目标数据的过程中,当存储设备500的供电被中断时,控制器501能够判断是否存在至少一个未完成暂存目标数据的第一存储硬盘,如果控制器501确定存在至少一个未完成暂存目标数据的第一存储硬盘,则控制器501删除本次暂存在各个存储硬盘505中的目标数据,这样在读取存储设备的数据时,能够读取前次保存在各个存储硬盘505中的目标数据,因此即使是没有设置掉电保护装置的存储设备500,存储在存储设备500中的数据也具有高度的一致性和准确性。
进一步地,本实施例中的存储设备500由于可以去掉掉电保护装置并且可以只设置一个控制器,且可以使用SATA接口的硬盘,因此还可以降低生产成本。
本申请实施例还提供一种计算机存储介质,该计算机存储介质用于储存为前述存储设备所用的计算机软件指令,其包括用于执行为存储设备所设计的程序。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述图2和图3所示的实施例中的方法流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种数据存储方法,所述方法应用于具备至少一个控制器的存储设备中,其特征在于,所述方法包括:
存储设备获取实时数据,所述存储设备具备至少两个存储硬盘,所述存储硬盘被预先配置为软件式磁盘阵列RAID的逻辑盘;
所述存储设备根据预设的数据存储的先后顺序将所述实时数据中的目标数据分别暂存至各个所述存储硬盘中;
当所述存储设备的供电被中断时,所述存储设备判断是否存在至少一个未完成暂存所述目标数据的第一存储硬盘;
若是,则所述存储设备删除已完成暂存所述目标数据的第二存储硬盘中的所述目标数据以及已暂存在所述第一存储硬盘中的部分所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述存储设备判断是否存在至少一个未完成暂存所述目标数据的第一存储硬盘包括:
所述存储设备判断所有所述存储硬盘中是否存在至少一个未完成暂存所述目标数据的通知消息,所述通知消息为所述存储硬盘分别在各自的存储硬盘中标记的消息;
若是,则所述存储设备确定有标记所述未完成暂存所述目标数据的通知消息的存储硬盘为所述第一存储硬盘。
3.根据权利要求2所述的方法,其特征在于,所述存储设备根据预设的数据存储的先后顺序将所述实时数据中的目标数据分别暂存至各个所述存储硬盘中包括:
所述存储设备使用所述软件式RAID方式预设的所述先后顺序将所述目标数据分别暂存至各个所述存储硬盘中。
4.根据权利要求3所述的方法,其特征在于,在所述存储设备使用所述软件式RAID方式预设的所述先后顺序将所述目标数据分别暂存至各个所述存储硬盘中之前,所述方法还包括:
所述存储设备将所述实时数据保存到所述存储设备的缓存区域中。
5.根据权利要求2所述的方法,其特征在于,所述通知消息为所述存储硬盘分别在各自的存储硬盘中标记的消息包括:
所述通知消息为所述第一存储硬盘以及所述第二存储硬盘分别在各自的存储硬盘中使用比特位图标记的消息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述存储硬盘为串行高级技术附件SATA接口的硬盘。
7.一种存储设备,所述存储设备具备至少一个控制器,其特征在于,所述存储设备包括:
获取单元,用于获取实时数据,所述存储设备具备至少两个存储硬盘,所述存储硬盘被预先配置为软件式磁盘阵列RAID的逻辑盘;
暂存单元,用于根据预设的数据存储的先后顺序将所述实时数据中的目标数据分别暂存至各个所述存储硬盘中;
判断单元,用于当所述存储设备的供电被中断时,判断是否存在至少一个未完成暂存所述目标数据的第一存储硬盘;
删除单元,用于当确定存在至少一个未完成暂存所述目标数据的第一存储硬盘时,删除已完成暂存所述目标数据的第二存储硬盘中的所述目标数据以及已暂存在所述第一存储硬盘中的部分所述目标数据。
8.根据权利要求7所述的存储设备,其特征在于,所述判断单元具体用于判断所有所述存储硬盘中是否存在至少一个未完成暂存所述目标数据的通知消息,所述通知消息为所述存储硬盘分别在各自的存储硬盘中标记的消息;若是,则确定有标记所述未完成暂存所述目标数据的通知消息的存储硬盘为所述第一存储硬盘。
9.根据权利要求8所述的存储设备,其特征在于,所述暂存单元具体用于使用所述软件式RAID方式预设的所述先后顺序将所述目标数据分别暂存至各个所述存储硬盘中。
10.根据权利要求9所述的存储设备,其特征在于,所述存储设备还包括:
保存单元,用于将所述实时数据保存到所述存储设备的缓存区域中。
CN201810543575.6A 2018-05-30 2018-05-30 数据存储方法以及存储设备 Active CN108874312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810543575.6A CN108874312B (zh) 2018-05-30 2018-05-30 数据存储方法以及存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810543575.6A CN108874312B (zh) 2018-05-30 2018-05-30 数据存储方法以及存储设备

Publications (2)

Publication Number Publication Date
CN108874312A CN108874312A (zh) 2018-11-23
CN108874312B true CN108874312B (zh) 2021-09-17

Family

ID=64335955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810543575.6A Active CN108874312B (zh) 2018-05-30 2018-05-30 数据存储方法以及存储设备

Country Status (1)

Country Link
CN (1) CN108874312B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760186A (zh) 2019-07-30 2021-12-07 华为技术有限公司 数据存储方法、装置、计算设备、存储系统及存储介质
CN111062066B (zh) * 2019-11-04 2022-08-05 湖南源科创新科技有限公司 防固态硬盘数据丢失的方法和数据存储系统
CN111541753B (zh) * 2020-04-16 2024-02-27 深圳市迅雷网络技术有限公司 区块链数据的分布式存储系统、方法、计算机设备及介质
CN114168401B (zh) * 2021-10-26 2023-08-18 苏州浪潮智能科技有限公司 一种日志记录方法、装置及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1480843A (zh) * 2002-07-26 2004-03-10 国际商业机器公司 对不完全raid盘写进行可靠故障转移的方法和设备
CN101069149A (zh) * 2004-12-04 2007-11-07 海珀斯通股份公司 具有扇区缓冲器的存储系统
CN101566992A (zh) * 2008-04-24 2009-10-28 扬智科技股份有限公司 数据存储系统及其存储方法
CN103049400A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 一种磁盘重构方法及其装置
CN104166601A (zh) * 2014-08-14 2014-11-26 浙江宇视科技有限公司 一种存储数据的备份方法和装置
CN104956312A (zh) * 2013-12-12 2015-09-30 株式会社日立制作所 存储装置及存储装置的控制方法
US9304912B1 (en) * 2012-01-06 2016-04-05 Marvell International Ltd. Systems and methods for building redundancy data in a RAID system
CN106919339A (zh) * 2015-12-25 2017-07-04 华为技术有限公司 一种硬盘阵列及硬盘阵列处理操作请求的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5235768B2 (ja) * 2009-04-23 2013-07-10 キヤノン株式会社 制御装置、その制御方法、及びプログラム
US8615681B2 (en) * 2010-12-14 2013-12-24 Western Digital Technologies, Inc. System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss
CN102508727A (zh) * 2011-12-01 2012-06-20 浪潮电子信息产业股份有限公司 一种通过软件实现磁盘阵列中的缓存掉电保护方法
TWI547798B (zh) * 2013-09-26 2016-09-01 緯創資通股份有限公司 資料儲存系統及其控制方法
CN104035830B (zh) * 2014-06-24 2017-12-15 浙江宇视科技有限公司 一种数据恢复方法和装置
CN106527983B (zh) * 2016-11-02 2020-06-19 浙江宇视科技有限公司 一种数据存储方法以及磁盘阵列

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1480843A (zh) * 2002-07-26 2004-03-10 国际商业机器公司 对不完全raid盘写进行可靠故障转移的方法和设备
CN101069149A (zh) * 2004-12-04 2007-11-07 海珀斯通股份公司 具有扇区缓冲器的存储系统
CN101566992A (zh) * 2008-04-24 2009-10-28 扬智科技股份有限公司 数据存储系统及其存储方法
US9304912B1 (en) * 2012-01-06 2016-04-05 Marvell International Ltd. Systems and methods for building redundancy data in a RAID system
CN103049400A (zh) * 2012-12-27 2013-04-17 华为技术有限公司 一种磁盘重构方法及其装置
CN104956312A (zh) * 2013-12-12 2015-09-30 株式会社日立制作所 存储装置及存储装置的控制方法
CN104166601A (zh) * 2014-08-14 2014-11-26 浙江宇视科技有限公司 一种存储数据的备份方法和装置
CN106919339A (zh) * 2015-12-25 2017-07-04 华为技术有限公司 一种硬盘阵列及硬盘阵列处理操作请求的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种多点网络异地数据备份恢复方法;仲慧慧 等;《四川大学学报(自然科学版)》;20110731;第48卷(第4期);第796-802页 *

Also Published As

Publication number Publication date
CN108874312A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
CN108874312B (zh) 数据存储方法以及存储设备
US9189311B2 (en) Rebuilding a storage array
CN102662607B (zh) 一种raid6级别混合磁盘阵列及其性能加速和可靠性提高方法
US8225136B2 (en) Control method and storage device
US8762771B2 (en) Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion
EP2573689A1 (en) Method and device for implementing redundant array of independent disk protection in file system
CN110399247B (zh) 一种数据恢复方法、装置、设备及计算机可读存储介质
US20140026013A1 (en) Storage control apparatus and error correction method
CN113626256B (zh) 一种虚拟机磁盘数据备份方法、装置、终端及存储介质
CN111045870B (zh) 一种保存与恢复元数据的方法、装置和介质
CN102207895A (zh) 一种独立磁盘冗余阵列数据重建方法和装置
WO2022142544A1 (zh) 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘
CN108701005A (zh) 数据更新技术
CN110795273B (zh) 一种raid的写洞保护方法、系统及存储介质
CN103049407B (zh) 数据存储方法、装置及系统
CN101169705B (zh) 多硬盘下基于裸文件系统实现文件级镜像的方法及装置
WO2021088367A1 (zh) 数据恢复方法及相关设备
US20140173337A1 (en) Storage apparatus, control method, and control program
CN110795155B (zh) 系统启动方法及装置、电子设备、存储介质
CN111897676A (zh) 一种基于数据库索引的文件备份方法及装置
CN111124752A (zh) 一种存储设备的备电保护的方法及装置
CN117008845B (zh) 读写指令的划分方法、装置、存储介质及电子装置
US9274709B2 (en) Indicators for storage cells
CN113094294B (zh) Ssd异常掉电处理方法、装置、计算机设备及存储介质
CN110908607B (zh) 板载raid数据重建方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant