CN102819406A - 一种前端数据存储方法及装置 - Google Patents
一种前端数据存储方法及装置 Download PDFInfo
- Publication number
- CN102819406A CN102819406A CN2012102311006A CN201210231100A CN102819406A CN 102819406 A CN102819406 A CN 102819406A CN 2012102311006 A CN2012102311006 A CN 2012102311006A CN 201210231100 A CN201210231100 A CN 201210231100A CN 102819406 A CN102819406 A CN 102819406A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- index data
- write
- writing
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种前端数据存储装置,应用于前端设备上,该前端设备通过网络连接到网络存储设备,该装置包括:写入判断单元,用于在写索引数据写入对应索引区时,判断当前写入的索引数据是否能够覆盖整个索引区,如果是则写入,否则转到数据填充单元处理;数据填充单元,用于使用无效数据对索引数据进行填充以使得填充后的索引数据能够覆盖对应的索引区,并将填充后的索引数据提交给数据写入单元。相对于现有技术来说,由于本发明在前端进行了索引数据的填充,避免了写索引数据时采用重构写所引发的需要额外读出磁盘数据的操作,提升了写入的性能与效率。
Description
技术领域
本发明涉及前端终端设备的数据处理技术,尤其涉及一种前端数据存储方法及装置。
背景技术
独立磁盘RAID阵列(Redundant Array of Independent Disks,RAID)技术广泛应用于存储领域,在网络存储上尤其流行。RAID技术主要是通过磁盘的冗余性来保证存储在其上数据的可用性。随着单个磁盘容量的不断增加,目前主流磁盘的大小已经达到TB量级,同一个磁盘出现错误或磁道故障的概率也有所增加。
在监控系统应用网络存储时,前端编码设备都是先写视频流的索引区,再写视频流数据,为增加存储数据的可靠性,存储设备一般会配置RAID5阵列做数据保护。由于监控应用中存储的都是视频数据(甚至是高清的视频数据),因此数据量极其庞大,这导致了用户对存储方面运营成本比较敏感,因此磁盘容错技术以及延长磁盘的使用寿命成为客户关注的焦点。
目前网络存储在监控应用中存在以下问题:前端编码设备通常会在需要存储的连续的视频数据流中写入一些监控索引数据,监控索引数据一般比预分配的空间小,造成支持raid5的存储设备无法以整个条带为单位进行数据写入。此时存储设备可以采用重构写模式或者读改写模式。重构写(Reconstruct Write)的处理过程包括:从当前条带中不需要修改的条带块(Segment)中读取原来的数据,再和本条带中所有需要修改的Segment上的新数据计算奇偶校验值,并将新的Segment数据和没有更改过的Segment数据以及新的奇偶校验值一并写入到当前条带。显然重构写要牵涉更多的I/O操作,因此效率比整个条带一起写入要低很多。
读改写模式处理过程如下:先从需要修改的Segment上读取旧的数据,再从条带上读取旧的奇偶校验值;根据旧数据、旧校验值和需要修改的Segment上的新数据计算出这个条带上的新的校验值;最后写入新的数据和新的奇偶校验值。
请参考图1,假设RAID阵列的级别是RAID5。首先需要注意的是:其中表格的第二行是表示磁盘空间存放数据的性质,比如Index表示是索引区,data表示数据区,是一种形象的图示表现,并非磁盘数据。在前端编码设备进行数据写入时,如果当前要写入的数据包括索引数据,其可能会出现,预先分配的索引区的空间用不完的情形。假设数据存储在以64KB大小为条带块,9个盘的RAID5阵列上。假设分配的索引区大小为128KB。当前实际索引数据只需要写入64KB,则就会出现图1所示的Disk2的条带块为空,不需要写入数据的情形。此时存储设备会发现使用重构写是性能较佳的方式。即读出Disk2的数据(对业务无效)后计算校验数据Disk9,然后一次性写入Disk1~9的数据。假设此时读取Disk2上的数据时发生读错误,此时需要先读取Disk1,Disk3~Disk9计算出Disk2的数据,整个重构写的过程读数据次数从1次增加为8次,处理效率大打折扣。进一步来说,假设此时如果Disk8由于各种原因发生了读错误,由于RAID5仅仅支持此时就无法计算出Disk2的数据,重构写无法完成。
发明内容
有鉴于此,本发明提供一种前端数据存储装置,应用于前端设备上,该前端设备通过网络连接到网络存储设备,该装置包括:
写入判断单元,用于在写索引数据写入对应索引区时,判断当前写入的索引数据是否能够覆盖整个索引区,如果是转数据写入单元处理,否则转数据填充单元处理;其中所述索引区是网络存储设备预先分配的存储空间,其包括一个或者多个网络存储设备分配的条带块;
数据填充单元,用于使用无效数据对索引数据进行填充以使得填充后的索引数据能够覆盖对应的索引区,并将填充后的索引数据提交给数据写入单元;
数据写入单元,用于将索引数据写入对应的索引区。
本发明还一种前端数据存储方法,应用于前端设备上,该前端设备通过网络连接到网络存储设备,其特征在于,该方法包括:
A、在写索引数据写入对应索引区时,判断当前写入的索引数据是否能够覆盖整个索引区,如果是转数据写入单元处理,否则转数据填充单元处理;其中所述索引区是网络存储设备预先分配的存储空间,其包括一个或者多个网络存储设备分配的条带块;
B、使用无效数据对索引数据进行填充以使得填充后的索引数据能够覆盖对应的索引区,并将填充后的索引数据提交给数据写入单元;
C、将索引数据写入对应的索引区。
相对于现有技术来说,由于本发明在前端进行了索引数据的填充,避免了写索引数据时采用重构写所引发的需要额外读出磁盘数据的操作,提升了写入的性能与效率;同时也避免了重构写中两个条带块读错误所引发的无法写入问题。
附图说明
图1是现有技术索引数据以及视频数据在存储设备上的组织示意图。
图2是本发明一种实施方式中前端数据存储装置的逻辑结构图。
图3是本发明一种实施方式中前端数据存储方法流程图。
图4是本发明一种实施方式中索引及视频数据在网络存储设备上的组织示意图。
具体实施方式
请参考图2,本发明提供一种前端数据存储装置,应用于前端设备上,该前端设备通过网络连接到网络存储设备。以计算机程序实现为例,该前端数据存储装置包括写入判断单元、数据填充单元以及数据写入单元。以视频监控系统中的前端设备为前端编码设备(比如编码器EC)为例来进行说明。本发明并局限于视频监控系统的前端编码设备。在其他系统或者网络中应用时,不同的只是业务本身,在监控系统中业务数据是视频数据,而其他系统或网络中可能是其他类型的业务数据。所述前端数据存储装置在运行时执行如下步骤:
步骤101,写入判断单元在写索引数据写入对应索引区时,判断当前写入的索引数据是否能够覆盖整个索引区,如果是转数据写入单元处理,否则转数据填充单元处理;其中所述索引区是网络存储设备预先分配的存储空间,其包括一个或者多个网络存储设备分配的条带块;
EC在视频监控系统中除了需要向解码端发送实况视频流,通常还需要将向网络存储设备发送一份存储视频流,以备用户能够后续对存储的视频进行回放。以IP存储为例,EC会与网络存储设备建立iSCIS连接,然后通过这个iSCIS将需要写入的数据发送给网络存储设备。EC在存储所述视频流的操作上可以根据数据类型分解为两种数据的存储操作,一种是向索引区写入索引数据,另一种是向数据区写入视频数据。现有技术没有考虑写入索引数据与写入视频数据各自的特点,事实上视频数据通常是连续数据,而索引数据通常则不是连续数据。本发明要求写入判断单元在EC需要向存储设备写入索引数据时,先跳出正常的数据写入过程,转入步骤102进行数据填充单元进行处理。
步骤102,数据填充单元使用无效数据对索引数据进行填充以使得填充后的索引数据能够覆盖对应的索引区,并将填充后的索引数据提交给数据写入单元;
如前所述,由于视频数据通常是连续数据,因此一般情况下不存在存储设备上一个条带无法被视频数据写满的情况。请参考图4,假设网络存储设备是以64KB大小为条带块,其包括9个盘的RAID5阵列。假设网络存储设备分配给该EC的索引区大小为128KB(2个条带块大小)。如果EC当前实际索引数据只有64KB,此时数据填充单元可以填充上另外64KB的无效数据。然后将填充后形成的索引数据提交给数据写入单元。
步骤103,数据写入单元将索引数据写入对应的索引区。
步骤104,网络存储设备接收EC发送的索引数据并将该索引数据存放在缓存中,并等待索引数据所指向的视频数据的到来;
步骤105,数据写入单元继续将索引数据对应的视频数据写入数据区;
步骤106,网络存储设备将接收到EC发送的视频数据以及前述缓存中的索引数据组成一个整条带的数据写入到RAID阵列中。
在优选的实施方式中,EC可以在网络存储设备上建立两级索引,本发明对于二级索引区的索引数据写入效果较佳,因为二级索引区会不断写入索引数据,二级索引区的索引数据指向一个对应的数据区。一级索引区的变化相对较少,二级索引区相对会有较多的变化,其中的索引数据可以跟随业务数据(比如视频数据)同步更新,比如说在视频数据的存储中,用户规划的存储空间可能是有限的,比如说仅仅能存储一个月的空间大小,当一个月到达以后,以前的视频数据会逐步被新的视频数据所覆盖,因此对应的索引数据也会同步更新。
如前所述二级索引区的索引数据指向一个数据区,其中索引数据的大小可能会因为数据区中的数据块的数量变化而变化。如果用户将当前数据区分成更多的数据块,那么索引数据无疑会增大,如果分成更少的数据块,那么索引数据无疑会变小,因此索引数据的大小取决于用户对数据区的使用。所以事实上在规划二级索引区大小的时候通常会考虑到用户对数据区的使用,因此索引区大小的设置相对会比较大,确保足够容纳待写入的索引数据。
请参考图4,EC要写入的索引区包括一个条带上两个条带块,一个条带上是用户的索引数据,而另一个是随意填充的无效数据。当后续的视频数据到达之后,网络存储设备就可以得到一个完整条带的数据,然后进行整个条带数据的写入操作。而不需要向现有技术那样去进行重构写的操作。
相对于现有技术来说,由于本发明EC在前端进行了索引数据的填充,这样使得网络存储设备总是以整条带的方式在写入数据。首先避免了写索引数据时采用重构写所引发的需要额外读出磁盘数据的操作,提升了写入的性能与效率。其次,由于整个条带写入不涉及读操作,因此避免了重构写中两个条带块读错误所引发的无法写入问题,因为如果当前条带块出现问题,比如说磁道故障引发条带块出现无法读取数据的问题,此时只有通过写入操作才能解决这个问题。当网络存储设备向写入数据时,如果当前条带块所在的物理空间发生磁道故障,网络存储设备的磁盘通常会支持将条带块在底层替换到另一个物理空间上去。而读数据时这个特性是无法应用的,因为另一个空间中不存在所需要的数据。本发明恰好利用了网络存储设备底层这一数据写入特点去解决现有技术中存储在的问题。此外,考虑到视频监控系统中,通常是有大量的EC的存在,此时EC在软件层面的小改动可以大幅度提高网络存储设备的性能和效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种前端数据存储装置,应用于前端设备上,该前端设备通过网络连接到网络存储设备,其特征在于,该装置包括:
写入判断单元,用于在写索引数据写入对应索引区时,判断当前写入的索引数据是否能够覆盖整个索引区,如果是转数据写入单元处理,否则转数据填充单元处理;其中所述索引区是网络存储设备预先分配的存储空间,其包括一个或者多个网络存储设备分配的条带块;
数据填充单元,用于使用无效数据对索引数据进行填充以使得填充后的索引数据能够覆盖对应的索引区,并将填充后的索引数据提交给数据写入单元;
数据写入单元,用于将索引数据写入对应的索引区。
2.如权利要求1所述的装置,其特征在于,所述索引数据为二级索引数据,所述索引区为网络存储设备上的二级索引区。
3.如权利要求2所述的装置,其特征在于,所述数据写入单元进一步用于将业务数据写入对应的数据区,所述索引数据指向对应的数据区。
4.如权利要求3所述的装置,其特征在于,所述前端设备为前端编码设备,所述业务数据为视频数据,其中所述索引数据随着视频数据同步更新。
5.一种前端数据存储方法,应用于前端设备上,该前端设备通过网络连接到网络存储设备,其特征在于,该方法包括:
A、在写索引数据写入对应索引区时,判断当前写入的索引数据是否能够覆盖整个索引区,如果是转数据写入单元处理,否则转数据填充单元处理;其中所述索引区是网络存储设备预先分配的存储空间,其包括一个或者多个网络存储设备分配的条带块;
B、使用无效数据对索引数据进行填充以使得填充后的索引数据能够覆盖对应的索引区,并将填充后的索引数据提交给数据写入单元;
C、将索引数据写入对应的索引区。
6.如权利要求5所述的方法,其特征在于,所述索引数据为二级索引数据,所述索引区为网络存储设备上的二级索引区。
7.如权利要求5所述的方法,其特征在于,所述步骤C进一步包括:将业务数据写入对应的数据区,所述索引数据指向对应的数据区。
8.如权利要求7所述的方法,其特征在于,所述前端设备为前端编码设备,所述业务数据为视频数据,其中所述索引数据随着视频数据同步更新。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2012102311006A CN102819406A (zh) | 2012-07-04 | 2012-07-04 | 一种前端数据存储方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2012102311006A CN102819406A (zh) | 2012-07-04 | 2012-07-04 | 一种前端数据存储方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN102819406A true CN102819406A (zh) | 2012-12-12 |
Family
ID=47303537
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2012102311006A Pending CN102819406A (zh) | 2012-07-04 | 2012-07-04 | 一种前端数据存储方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN102819406A (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103902232A (zh) * | 2012-12-28 | 2014-07-02 | 联想(北京)有限公司 | 一种写入的数据的方法及装置 |
| CN104750773A (zh) * | 2013-12-31 | 2015-07-01 | 国际商业机器公司 | 基于重构与更新比较的索引维护 |
| CN111143117A (zh) * | 2018-11-06 | 2020-05-12 | 浙江宇视科技有限公司 | 数据存储方法及装置 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020040413A1 (en) * | 1995-01-13 | 2002-04-04 | Yoshiyuki Okada | Storage controlling apparatus, method of controlling disk storage device and method of managing compressed data |
| CN101415024A (zh) * | 2007-09-28 | 2009-04-22 | 赛门铁克公司 | 利用协作存储设备冗余地存储和检索数据 |
| CN101556564A (zh) * | 2008-04-11 | 2009-10-14 | 联芯科技有限公司 | 数据接收/发送方法和装置 |
| CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
| CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
| CN102185929A (zh) * | 2011-06-02 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种基于san资源的视频监控数据存储方法及其装置 |
| CN102223510A (zh) * | 2011-06-03 | 2011-10-19 | 杭州华三通信技术有限公司 | 缓存调度方法和装置 |
| CN102291256A (zh) * | 2011-07-25 | 2011-12-21 | 杭州华三通信技术有限公司 | 一种监控数据的查询方法和设备 |
| CN102520883A (zh) * | 2011-12-12 | 2012-06-27 | 杭州华三通信技术有限公司 | 一种数据存取方法及其装置 |
-
2012
- 2012-07-04 CN CN2012102311006A patent/CN102819406A/zh active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020040413A1 (en) * | 1995-01-13 | 2002-04-04 | Yoshiyuki Okada | Storage controlling apparatus, method of controlling disk storage device and method of managing compressed data |
| CN101415024A (zh) * | 2007-09-28 | 2009-04-22 | 赛门铁克公司 | 利用协作存储设备冗余地存储和检索数据 |
| CN101556564A (zh) * | 2008-04-11 | 2009-10-14 | 联芯科技有限公司 | 数据接收/发送方法和装置 |
| CN101727299A (zh) * | 2010-02-08 | 2010-06-09 | 北京同有飞骥科技有限公司 | 连续数据存储中面向raid5的写操作优化设计方法 |
| CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
| CN102185929A (zh) * | 2011-06-02 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种基于san资源的视频监控数据存储方法及其装置 |
| CN102223510A (zh) * | 2011-06-03 | 2011-10-19 | 杭州华三通信技术有限公司 | 缓存调度方法和装置 |
| CN102291256A (zh) * | 2011-07-25 | 2011-12-21 | 杭州华三通信技术有限公司 | 一种监控数据的查询方法和设备 |
| CN102520883A (zh) * | 2011-12-12 | 2012-06-27 | 杭州华三通信技术有限公司 | 一种数据存取方法及其装置 |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103902232A (zh) * | 2012-12-28 | 2014-07-02 | 联想(北京)有限公司 | 一种写入的数据的方法及装置 |
| CN104750773A (zh) * | 2013-12-31 | 2015-07-01 | 国际商业机器公司 | 基于重构与更新比较的索引维护 |
| US9996568B2 (en) | 2013-12-31 | 2018-06-12 | International Business Machines Corporation | Index maintenance based on a comparison of rebuild vs. update |
| CN104750773B (zh) * | 2013-12-31 | 2018-11-27 | 国际商业机器公司 | 索引维护的方法和系统 |
| US10579608B2 (en) | 2013-12-31 | 2020-03-03 | International Business Machines Corporation | Index maintenance based on a comparison of rebuild vs. update |
| US11226948B2 (en) | 2013-12-31 | 2022-01-18 | International Business Machines Corporation | Index maintenance based on a comparison of rebuild vs. update |
| CN111143117A (zh) * | 2018-11-06 | 2020-05-12 | 浙江宇视科技有限公司 | 数据存储方法及装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11662915B2 (en) | Parity in a vast storage system using alternate memory | |
| US10901848B2 (en) | Storage systems with peer data recovery | |
| KR101448192B1 (ko) | 메모리 관리 시스템 및 방법 | |
| CN102667738B (zh) | 具有多个raid组分条的内存系统及其方法 | |
| KR101758544B1 (ko) | 비휘발성 메모리 시스템에서의 동기 미러링 | |
| CN107844268B (zh) | 一种数据分发方法、数据存储方法、相关装置以及系统 | |
| US10649843B2 (en) | Storage systems with peer data scrub | |
| CN109814807B (zh) | 一种数据存储方法及装置 | |
| CN103870352B (zh) | 数据存储与重建的方法与系统 | |
| US20100306466A1 (en) | Method for improving disk availability and disk array controller | |
| CN103513942B (zh) | 独立冗余磁盘阵列的重构方法及装置 | |
| CN104111880B (zh) | 一种容三盘失效纠删码的单数据盘失效快速重建方法 | |
| CN115562594B (zh) | 一种raid卡的构建方法、系统及相关装置 | |
| CN103699337B (zh) | 一种基于独立磁盘冗余阵列raid的写控制方法及系统 | |
| CN104809032A (zh) | 用于存储系统中服务感知的奇偶校验放置的方法和系统 | |
| CN104965768A (zh) | 用于存储系统中的服务感知数据放置的方法和系统 | |
| CN107885620B (zh) | 一种提高固态盘阵列性能和可靠性的方法及系统 | |
| TW202011202A (zh) | 持久性儲存元件管理 | |
| CN103530069A (zh) | 一种raid5磁盘阵列坏扇区处理方法 | |
| CN103605582A (zh) | 一种基于写重定向的纠删码存储重构优化方法 | |
| CN102819406A (zh) | 一种前端数据存储方法及装置 | |
| CN103631535A (zh) | 一种实现存储池内空间分配的方法及装置 | |
| US7689877B2 (en) | Method and system using checksums to repair data | |
| US7007193B1 (en) | Method and system for reconstructing data serially arranged on a magnetic tape track | |
| US20150199236A1 (en) | Multi-level disk failure protection |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C12 | Rejection of a patent application after its publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121212 |