CN114489515A - 一种基于流存储的数据写入方法 - Google Patents
一种基于流存储的数据写入方法 Download PDFInfo
- Publication number
- CN114489515A CN114489515A CN202210129817.3A CN202210129817A CN114489515A CN 114489515 A CN114489515 A CN 114489515A CN 202210129817 A CN202210129817 A CN 202210129817A CN 114489515 A CN114489515 A CN 114489515A
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- group
- cid
- dgid
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
本发明提供一种基于流存储的数据写入方法,包括以下步骤:磁盘组的划分;确定本次数据写入的磁盘组标识DGID;确定磁盘组GroupDGID中选择的磁盘标识DID;确定数据存储目录DDIR;确定子目录;确定磁盘文件DFILE。具有以下优点:(1)提出磁盘组策略,保证低功耗模式的正常工作,同时可以并发提高系统的读写性能。(2)在磁盘组内对不同的设备数据进行离散分布,保证磁盘组之间的容量均衡;(3)根据设备及数据信息,通过运算快速定位磁盘及存储路径,提升系统的检索效率,降低存储元数据带来的业务复杂性。
Description
技术领域
本发明属于视频云存储技术领域,具体涉及一种基于流存储的数据写入方法。
背景技术
近年来,随着智慧城市的不断发展,国家数字化转型的不断推进,各种数据呈爆发式增长,数据存储的需求日益剧增。其中视频云存储的需求也越来越多。目前在视频云存储领域使用的服务器可分为两类:X86架构的通用存储服务器和基于ARM的嵌入式系统服务器。不同架构种类的服务器整机的硬件规格,尤其是磁盘数量往往不尽相同。此外,一个视频监控系统通常会产生成百上千路的视频流数据需要存储。如何保证在低功耗模式运行时,既能满足大量数据并发读写的性能需求,又能保证数据分布的均匀性,是数据存储需要考虑的一个重要问题。
目前,常用的方法是在数据写入时,以轮询的方式写入预分配的目录中。这样设计的优点是写入数据时设计简单,实现容易,但是需要记录数据存储的路径信息,导致额外产生大量元数据文件,元数据文件的维护在数据检索和定位时性能较差,在数据并发量较大时严重影响系统性能。
如何有效解决以上问题,既保证数据存储分布的均匀性,又满足大量数据并发读写的性能需求,同时降低维护成本,是目前需要解决的问题。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于流存储的数据写入方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种基于流存储的数据写入方法,包括以下步骤:
步骤1,磁盘组的划分:
设共有n个磁盘,每个磁盘具有唯一的磁盘ID;将n个磁盘划分为N个磁盘组,依次表示为:磁盘组Group0,磁盘组Group1,…,磁盘组GroupN-1;其中,每个磁盘组包括至少一个磁盘;
设磁盘组Group0包括C(0)个磁盘,表示为:磁盘disk0 [0],磁盘disk1 [0],…,磁盘diskC(0)-1 [0];
磁盘组Group1包括C(1)个磁盘,表示为:磁盘disk0 [1],磁盘disk1 [1],…,磁盘diskC(1)-1 [1];
依此类推
磁盘组GroupN-1包括C(N-1)个磁盘,表示为:磁盘disk0 [N-1],磁盘disk1 [N-1],…,磁盘diskC(N-1)-1 [N-1];
步骤2,预设置轮询时长SLT;
步骤3,接收接入设备的写入数据请求;其中,所述写入数据请求中携带有接入设备标识CID、时间戳T以及需写入的数据内容;
其中,所述接入设备CID的生成方式为:随机产生随机数,并作为接入设备的接入设备标识CID;
时间戳T含义为:从预设定的时间原点T0开始,经过的时间长度;
步骤4,采用以下方法,确定本次数据写入的磁盘组标识DGID:
步骤4.1,预设置从时间原点T0=0开始,磁盘组的轮询顺序为:按磁盘组Group0,磁盘组Group1,…,磁盘组GroupN-1的顺序,依次轮询;
步骤4.2,预设置对磁盘组的轮询规则为:
从时间原点T0开始,在T0到SLT的时间段内,即在第1个轮询时长内,激活磁盘组Group0,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group0;
在SLT到2SLT的时间段内,即在第2个轮询时长内,激活磁盘组Group1,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group1;
依此类推,在(N-1)SLT到N*SLT的时间段内,即在第N个轮询时长内,激活磁盘组GroupN-1,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组GroupN-1;
至此完成对N个磁盘组的第一轮轮询;
在N*SLT到(N+1)*SLT的时间段内,即在第N+1个轮询时长内,激活磁盘组Group0,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group0,如此开始对N个磁盘组的下一轮轮询;
步骤4.3,采用下式,计算得到当前激活的磁盘组标识DGID:
DGID=MOD(Int(T/SLT),N)
其中:
Int()代表向下取整数;
MOD()代表取余数;
由此确定本次数据写入的磁盘组为磁盘组GroupDGID,其中,DGID=1,2,…,N-1;磁盘组GroupDGID包括C(DGID)个磁盘;
步骤5,采用以下公式,确定磁盘组GroupDGID中选择的磁盘标识DID:
磁盘标识DID=MOD(CID+T,C(DGID))
由此得到磁盘组GroupDGID中选择的磁盘为:磁盘diskDID [DGID];
步骤6,在磁盘diskDID [DGID]中,采用以下方法,确定数据存储目录DDIR:
在磁盘diskDID [DGID]中,判断是否已存在与接入设备CID对应的数据存储目录DDIR,如果存在,则直接定位到该数据存储目录DDIR;如果不存在,则在磁盘diskDID [DGID]中创建与接入设备CID对应的数据存储目录DDIR,表示为:数据存储目录DDIR(CID),表明该数据存储目录DDIR(CID),是唯一用于存储接入设备CID上传的数据;其中,数据存储目录DDIR采用接入设备CID命名;
步骤7,在数据存储目录DDIR(CID)内,采用以下方法,确定子目录:
对时间戳T取整小时,表示为:整小时数时间戳T”;
在数据存储目录DDIR(CID)内,判断是否存在以整小时数时间戳T”命名的子目录IR(T”),如果存在,则直接定位到子目录IR(T”);如果不存在,则在数据存储目录DDIR(CID)中,创建命名为整小时数时间戳T”的子目录IR(T”);
具体的,对于来自于同一个接入设备CID的数据,以小时为单位进行存储,即:同一个小时的接入设备CID的数据,存储到同一个子目录中,不同小时的接入设备CID的数据,存储到不同的子目录中;
步骤8,在子目录IR(T”)内,采用以下方法,确定磁盘文件DFILE:
在子目录IR(T”)内,用于存储同一接入设备CID的元数据以及磁盘文件DFILE;其中,磁盘文件DFILE采用整小时数时间戳T”命名,即:同一个小时的接入设备CID的数据,存储到同一个磁盘文件DFILE中,不同小时的接入设备CID的数据,存储到不同的磁盘文件DFILE中;
因此,根据时间戳T,判断子目录IR(T”)中是否存在与时间戳T属于同一个小时内的磁盘文件DFILE,如果有,则直接将接入设备CID的数据存储到该磁盘文件DFILE;如果没有,则在子目录IR(T”)中创建命名为整小时数时间戳T”的磁盘文件DFILE,然后将接入设备CID的数据存储到该磁盘文件DFILE;
至此可知,数据写入路径为:磁盘组GroupDGID---磁盘标识DID---数据存储目录DDIR--子目录IR(T”)---磁盘文件DFILE;其中,磁盘组GroupDGID和磁盘标识DID可换算为磁盘绝对唯一标识;
由此完成数据写入过程。
优选的,还包括:
当需要读取接入设备的数据时,根据接入设备的标识CID以及需读取数据的时间戳T,重新计算得到读取路径;根据所述读取路径,读取到所需数据。
本发明提供的一种基于流存储的数据写入方法具有以下优点:
(1)提出磁盘组策略,保证低功耗模式的正常工作,同时可以并发提高系统的读写性能。
(2)在磁盘组内对不同的设备数据进行离散分布,保证磁盘组之间的容量均衡;
(3)根据设备及数据信息,通过运算快速定位磁盘及存储路径,提升系统的检索效率,降低存储元数据带来的业务复杂性。
附图说明
图1为本发明提供的一种基于流存储的数据写入方法的流程示意图;
图2为本发明提供的磁盘组内磁盘选择方法的原理图;
图3为本发明提供的设备节点接入分布图;
图4为本发明提供的流式存储算法中磁盘组轮询示意图;
图5为本发明提供的流式存储磁盘路径示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于流存储的数据写入方法,具体涉及一种基于流式存储的数据均衡分布方法,本发明可以实现在低功耗模式下,考虑兼容不同规格的硬件产品,依然可以保障视频数据存储的均衡性,并且,可快速定位磁盘,具有数据读写速度快的优点。
参考图1,本发明提供一种基于流存储的数据写入方法,包括以下步骤:
步骤1,磁盘组的划分:
设共有n个磁盘,每个磁盘具有唯一的磁盘ID;将n个磁盘划分为N个磁盘组,依次表示为:磁盘组Group0,磁盘组Group1,…,磁盘组GroupN-1;其中,每个磁盘组包括至少一个磁盘;
设磁盘组Group0包括C(0)个磁盘,表示为:磁盘disk0 [0],磁盘disk1 [0],…,磁盘diskC(0)-1 [0];
磁盘组Group1包括C(1)个磁盘,表示为:磁盘disk0 [1],磁盘disk1 [1],…,磁盘diskC(1)-1 [1];
依此类推
磁盘组GroupN-1包括C(N-1)个磁盘,表示为:磁盘disk0 [N-1],磁盘disk1 [N-1],…,磁盘diskC(N-1)-1 [N-1];
步骤2,预设置轮询时长SLT;
步骤3,接收接入设备的写入数据请求;其中,所述写入数据请求中携带有接入设备标识CID、时间戳T以及需写入的数据内容;
其中,所述接入设备CID的生成方式为:随机产生随机数,并作为接入设备的接入设备标识CID;
时间戳T含义为:从预设定的时间原点T0开始,经过的时间长度;
步骤4,采用以下方法,确定本次数据写入的磁盘组标识DGID:
步骤4.1,预设置从时间原点T0=0开始,磁盘组的轮询顺序为:按磁盘组Group0,磁盘组Group1,…,磁盘组GroupN-1的顺序,依次轮询;
步骤4.2,预设置对磁盘组的轮询规则为:
从时间原点T0开始,在T0到SLT的时间段内,即在第1个轮询时长内,激活磁盘组Group0,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group0;
在SLT到2SLT的时间段内,即在第2个轮询时长内,激活磁盘组Group1,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group1;
依此类推,在(N-1)SLT到N*SLT的时间段内,即在第N个轮询时长内,激活磁盘组GroupN-1,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组GroupN-1;
至此完成对N个磁盘组的第一轮轮询;
在N*SLT到(N+1)*SLT的时间段内,即在第N+1个轮询时长内,激活磁盘组Group0,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group0,如此开始对N个磁盘组的下一轮轮询;
步骤4.3,采用下式,计算得到当前激活的磁盘组标识DGID:
DGID=MOD(Int(T/SLT),N)
其中:
Int()代表向下取整数;
MOD()代表取余数;
由此确定本次数据写入的磁盘组为磁盘组GroupDGID,其中,DGID=1,2,…,N-1;磁盘组GroupDGID包括C(DGID)个磁盘;
例如,假设T=30小时,SLT=7小时,N=3。设置三个磁盘组的轮询规则为:按磁盘组Group0,磁盘组Group1,磁盘组Group2的顺序,依次轮询;
则:对于T=30小时,Int(T/SLT)=Int(30/7)=4。MOD(4,3)=1。因此,当前激活的磁盘组标识DGID为磁盘组Group1。
步骤5,采用以下公式,确定磁盘组GroupDGID中选择的磁盘标识DID:
磁盘标识DID=MOD(CID+T,C(DGID))
由此得到磁盘组GroupDGID中选择的磁盘为:磁盘diskDID [DGID];
步骤6,在磁盘diskDID [DGID]中,采用以下方法,确定数据存储目录DDIR:
在磁盘diskDID [DGID]中,判断是否已存在与接入设备CID对应的数据存储目录DDIR,如果存在,则直接定位到该数据存储目录DDIR;如果不存在,则在磁盘diskDID [DGID]中创建与接入设备CID对应的数据存储目录DDIR,表示为:数据存储目录DDIR(CID),表明该数据存储目录DDIR(CID),是唯一用于存储接入设备CID上传的数据;其中,数据存储目录DDIR采用接入设备CID命名;
步骤7,在数据存储目录DDIR(CID)内,采用以下方法,确定子目录:
对时间戳T取整小时,表示为:整小时数时间戳T”;
在数据存储目录DDIR(CID)内,判断是否存在以整小时数时间戳T”命名的子目录IR(T”),如果存在,则直接定位到子目录IR(T”);如果不存在,则在数据存储目录DDIR(CID)中,创建命名为整小时数时间戳T”的子目录IR(T”);
具体的,对于来自于同一个接入设备CID的数据,以小时为单位进行存储,即:同一个小时的接入设备CID的数据,存储到同一个子目录中,不同小时的接入设备CID的数据,存储到不同的子目录中。
步骤8,在子目录IR(T”)内,采用以下方法,确定磁盘文件DFILE:
在子目录IR(T”)内,用于存储同一接入设备CID的元数据以及磁盘文件DFILE;其中,磁盘文件DFILE采用整小时数时间戳T”命名,即:同一个小时的接入设备CID的数据,存储到同一个磁盘文件DFILE中,不同小时的接入设备CID的数据,存储到不同的磁盘文件DFILE中;
因此,根据时间戳T,判断子目录IR(T”)中是否存在与时间戳T属于同一个小时内的磁盘文件DFILE,如果有,则直接将接入设备CID的数据存储到该磁盘文件DFILE;如果没有,则在子目录IR(T”)中创建命名为整小时数时间戳T”的磁盘文件DFILE,然后将接入设备CID的数据存储到该磁盘文件DFILE;
至此可知,数据写入路径为:磁盘组GroupDGID---磁盘标识DID---数据存储目录DDIR--子目录IR(T”)---磁盘文件DFILE;其中,磁盘组GroupDGID和磁盘标识DID可换算为磁盘绝对唯一标识;
由此完成数据写入过程。
还包括:
当需要读取接入设备的数据时,根据接入设备的标识CID以及需读取数据的时间戳T,重新计算得到读取路径;根据所述读取路径,读取到所需数据。
本发明提供一种应用于系统在低功耗模式运行下,快速定位磁盘及确定存储路径,保障系统读写性能的数据写入方法,其核心思想如下:
提出磁盘组(DiskGroup,简称DG)概念,将系统节点上的不同磁盘,划分成不同的磁盘组,若干个磁盘归属于同一个磁盘组。同一个磁盘组内,拥有至少一块磁盘。不同的磁盘组之间,按照低功耗设计的轮询时长,以磁盘组为单位轮转工作。因此,在保证低功耗的前提下,是一种兼具高性能且满足磁盘负载均衡的磁盘定位方法。
具体方法包括:
(1)首先,在系统内选择磁盘组。
系统根据接入设备的时间戳T及轮询时长SLT运算,选择磁盘组。此时,不同设备的数据,如果数据采集时间戳相同,会存储在同一个磁盘组上。而其他所有磁盘组均为休眠状态,实现低功耗效果。
(2)其次,在磁盘组内,选择磁盘。
系统根据接入设备的时间戳T及设备ID(Camera ID,简称CID)计算,从确定的磁盘组中选择磁盘。如图2所示,为磁盘组中选择磁盘的示意图。
此时,不同接入设备的同一时刻的数据会依次在磁盘组内的磁盘上分布。当接入设备数量较多时,一块磁盘就会对应一部分接入设备的数据进行存储。此时,磁盘组内的磁盘并发存储,提升系统的写性能。
(3)再次,在磁盘上,选择数据存储目录DDIR。
系统根据接入设备的时间戳T及CID创建数据存储目录DDIR,数据存储目录DDIR与时间戳T、设备CID关联。相同设备的数据,存储在同一个数据存储目录DDIR下。
(4)再次,在数据存储目录DDIR内,选择子目录。
系统根据接入设备的时间戳T创建子目录,一个子目录,用于存储一个接入设备同一个小时内的数据。不同小时的数据,存储在不同的子目录。
(5)最后,在子目录内,确定磁盘文件DFILE:
同一个小时内的数据,存储在同一个子目录内的同一个磁盘文件DFILE。
关于数据存储时磁盘及存储路径定位的方法实现:
第一步:系统加载磁盘分组配置表,确保磁盘分组配置表配置及加载正确,预创建配置N个磁盘组,每个磁盘组内M个磁盘;当然,实际应用中,各个磁盘组内磁盘的数量可以不相同。
磁盘路径规划为/data/diskX,{X|1≤X≤M}。此处X代表磁盘的全局标识。
第二步:接入的设备数据在写盘时,根据时间戳T计算磁盘组ID(Disk Group ID,简称DGID)(算法:轮询时长SLT(固定)、时间戳T、磁盘组DG[N]、磁盘组数N入参,磁盘组DGID出参)。根据DGID,确定数据需要写在的磁盘组上。
核心:DGID=SelectDiskGroup(SLT、T、DG[N])
目前N个磁盘组,不同的磁盘组之间每间隔SLT小时依次轮询。一个轮询时长内内的数据,固定分布在同一个磁盘组内,从而保证磁盘组间的轮休,保证系统的低功耗运行。
第三步:已知磁盘组,根据接入设备数据的时间戳T及接入设备CID计算需要写盘的磁盘ID(Disk ID,简称DID)(算法:磁盘组DGID、时间戳T、磁盘组DG[N],接入设备CID入参,磁盘DID出参)。根据当前的磁盘DID,确定数据写入的磁盘路径。
核心:DID=SelectDisk(DG[DGID]、T、CID)
其中,DGID为磁盘组标识,T为时间戳,CID为接入设备标识,不同接入设备的CID不同。当有很多接入设备时,将接入的设备数据按照设备离散到不同的磁盘上,从而保证系统在接入大量设备时的写入性能。
第四步:已知磁盘,根据接入设备数据的时间戳T计算需要的写盘的数据存储目录(Disk Directory,简称DDIR)(算法:时间戳T、磁盘DID、设备CID入参,数据存储目录DDIR出参)。根据数据存储目录确定此时的数据存储目录。
核心:DDIR=SelectDiskDirectory(T、DID、CID);
第五步:根据数据存储目录DDIR及接入设备数据的时间戳T,计算子目录。
第六步:根据子目录,计算最终的磁盘文件(Disk File,简称DFILE)(算法:时间戳T、磁盘目录DDIR入参,磁盘文件DFILE出参)。根据DFILE,确定接入设备的数据所归属的文件信息。
核心:DFILE=CreateDiskFile(T、DDIR)
采用本发明方法,系统根据接入的设备数据信息,将数据分布在不同的磁盘上。随着磁盘组的轮转,接入设备的数据在不同的磁盘上写入,系统长期运行后,各个磁盘组之间在数据量上也逐步接近均衡。
以设备CID为9314089,时间戳T为1639126800举例说明,快速定位磁盘及存储路径:
/data/disk2/9314089/0000000061B31710/1639126800.data
其中:0000000061B31710为时间戳T的整小时数的16进制数;1639126800为时间戳T的整小时数的10进制数。
以某公司自主研发的嵌入式云存储刀片服务器部署说明。
本刀片服务器由24块磁盘、外置网口、USB接口、HDMI接口、风扇等等硬件组成。以磁盘组按照每8小时轮转举例说明。
磁盘路径规划为/data/disk1~/data/disk24。
具体实施步骤如下:
第一步:根据实际项目需要,确定需要部署的摄像机设备数量为100路设备,设备CID分布在[1000~1099]内。
第二步:将刀片服务器每8块磁盘归属于同一个磁盘组划分,总共划分为3个磁盘组;
Group1[/data/disk1,/data/disk8]
Group2[/data/disk9,/data/disk16]
Group3[/data/disk17,/data/disk24]
第三步:规划视频监控设备接入系统总图,如图3,系统接入100路设备;
第四步:接入设备的数据按照图4的算法进行快速运算定位。
第五步:确定图5所示的写入路径。
本发明涉及的技术要点:1.对磁盘按照磁盘组进行划分;2.根据接入设备及设备数据要素运算确定磁盘存储路径;3.磁盘组按照固定时长依次轮转,数据均衡分布到每个磁盘组;4.读取数据时,根据读取参数计算待读取文件的路径。也就是说,本发明,无论是写入数据还是读取数据,系统均不需要保存磁盘存储路径,从而减少了数据存储量,降低了对数据的维护量,解决存储元数据带来的业务复杂性。
与现有技术相比,本发明的有益效果是:
(1)提出磁盘组策略,保证低功耗模式的正常工作,同时可以并发提高系统的读写性能。
(2)在磁盘组内对不同的设备数据进行离散分布,保证磁盘组之间的容量均衡;
(3)根据设备及数据信息,通过运算快速定位磁盘及存储路径,提升系统的检索效率,降低存储元数据带来的业务复杂性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (2)
1.一种基于流存储的数据写入方法,其特征在于,包括以下步骤:
步骤1,磁盘组的划分:
设共有n个磁盘,每个磁盘具有唯一的磁盘ID;将n个磁盘划分为N个磁盘组,依次表示为:磁盘组Group0,磁盘组Group1,…,磁盘组GroupN-1;其中,每个磁盘组包括至少一个磁盘;
设磁盘组Group0包括C(0)个磁盘,表示为:磁盘disk0 [0],磁盘disk1 [0],…,磁盘diskC(0)-1 [0];
磁盘组Group1包括C(1)个磁盘,表示为:磁盘disk0 [1],磁盘disk1 [1],…,磁盘diskC(1)-1 [1];
依此类推
磁盘组GroupN-1包括C(N-1)个磁盘,表示为:磁盘disk0 [N-1],磁盘disk1 [N-1],…,磁盘diskC(N-1)-1 [N-1];
步骤2,预设置轮询时长SLT;
步骤3,接收接入设备的写入数据请求;其中,所述写入数据请求中携带有接入设备标识CID、时间戳T以及需写入的数据内容;
其中,所述接入设备CID的生成方式为:随机产生随机数,并作为接入设备的接入设备标识CID;
时间戳T含义为:从预设定的时间原点T0开始,经过的时间长度;
步骤4,采用以下方法,确定本次数据写入的磁盘组标识DGID:
步骤4.1,预设置从时间原点T0=0开始,磁盘组的轮询顺序为:按磁盘组Group0,磁盘组Group1,…,磁盘组GroupN-1的顺序,依次轮询;
步骤4.2,预设置对磁盘组的轮询规则为:
从时间原点T0开始,在T0到SLT的时间段内,即在第1个轮询时长内,激活磁盘组Group0,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group0;
在SLT到2SLT的时间段内,即在第2个轮询时长内,激活磁盘组Group1,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group1;
依此类推,在(N-1)SLT到N*SLT的时间段内,即在第N个轮询时长内,激活磁盘组GroupN-1,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组GroupN-1;
至此完成对N个磁盘组的第一轮轮询;
在N*SLT到(N+1)*SLT的时间段内,即在第N+1个轮询时长内,激活磁盘组Group0,其他N-1个磁盘组为休眠状态,在此时间段的所有设备的数据,均写入到磁盘组Group0,如此开始对N个磁盘组的下一轮轮询;
步骤4.3,采用下式,计算得到当前激活的磁盘组标识DGID:
DGID=MOD(Int(T/SLT),N)
其中:
Int()代表向下取整数;
MOD()代表取余数;
由此确定本次数据写入的磁盘组为磁盘组GroupDGID,其中,DGID=1,2,…,N-1;磁盘组GroupDGID包括C(DGID)个磁盘;
步骤5,采用以下公式,确定磁盘组GroupDGID中选择的磁盘标识DID:
磁盘标识DID=MOD(CID+T,C(DGID))
由此得到磁盘组GroupDGID中选择的磁盘为:磁盘diskDID [DGID];
步骤6,在磁盘diskDID [DGID]中,采用以下方法,确定数据存储目录DDIR:
在磁盘diskDID [DGID]中,判断是否已存在与接入设备CID对应的数据存储目录DDIR,如果存在,则直接定位到该数据存储目录DDIR;如果不存在,则在磁盘diskDID [DGID]中创建与接入设备CID对应的数据存储目录DDIR,表示为:数据存储目录DDIR(CID),表明该数据存储目录DDIR(CID),是唯一用于存储接入设备CID上传的数据;其中,数据存储目录DDIR采用接入设备CID命名;
步骤7,在数据存储目录DDIR(CID)内,采用以下方法,确定子目录:
对时间戳T取整小时,表示为:整小时数时间戳T”;
在数据存储目录DDIR(CID)内,判断是否存在以整小时数时间戳T”命名的子目录IR(T”),如果存在,则直接定位到子目录IR(T”);如果不存在,则在数据存储目录DDIR(CID)中,创建命名为整小时数时间戳T”的子目录IR(T”);
具体的,对于来自于同一个接入设备CID的数据,以小时为单位进行存储,即:同一个小时的接入设备CID的数据,存储到同一个子目录中,不同小时的接入设备CID的数据,存储到不同的子目录中;
步骤8,在子目录IR(T”)内,采用以下方法,确定磁盘文件DFILE:
在子目录IR(T”)内,用于存储同一接入设备CID的元数据以及磁盘文件DFILE;其中,磁盘文件DFILE采用整小时数时间戳T”命名,即:同一个小时的接入设备CID的数据,存储到同一个磁盘文件DFILE中,不同小时的接入设备CID的数据,存储到不同的磁盘文件DFILE中;
因此,根据时间戳T,判断子目录IR(T”)中是否存在与时间戳T属于同一个小时内的磁盘文件DFILE,如果有,则直接将接入设备CID的数据存储到该磁盘文件DFILE;如果没有,则在子目录IR(T”)中创建命名为整小时数时间戳T”的磁盘文件DFILE,然后将接入设备CID的数据存储到该磁盘文件DFILE;
至此可知,数据写入路径为:磁盘组GroupDGID---磁盘标识DID---数据存储目录DDIR--子目录IR(T”)---磁盘文件DFILE;其中,磁盘组GroupDGID和磁盘标识DID可换算为磁盘绝对唯一标识;
由此完成数据写入过程。
2.根据权利要求1所述的一种基于流存储的数据写入方法,其特征在于,还包括:
当需要读取接入设备的数据时,根据接入设备的标识CID以及需读取数据的时间戳T,重新计算得到读取路径;根据所述读取路径,读取到所需数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210129817.3A CN114489515B (zh) | 2022-02-11 | 2022-02-11 | 一种基于流存储的数据写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210129817.3A CN114489515B (zh) | 2022-02-11 | 2022-02-11 | 一种基于流存储的数据写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114489515A true CN114489515A (zh) | 2022-05-13 |
CN114489515B CN114489515B (zh) | 2022-08-16 |
Family
ID=81480550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210129817.3A Active CN114489515B (zh) | 2022-02-11 | 2022-02-11 | 一种基于流存储的数据写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489515B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725258A (zh) * | 2023-12-19 | 2024-03-19 | 北京中电兴发科技有限公司 | 基于空间和时间均衡安防视频存储规划和定位读写的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123575A (zh) * | 2011-11-18 | 2013-05-29 | 北京兴宇中科科技开发股份有限公司 | 一种数据写入方法 |
CN107145432A (zh) * | 2017-03-30 | 2017-09-08 | 华为技术有限公司 | 一种建立模型数据库的方法以及客户端 |
CN107943890A (zh) * | 2017-11-16 | 2018-04-20 | 武汉虹旭信息技术有限责任公司 | 基于HBase的移动互联网海量数据处理系统及其方法 |
CN111427508A (zh) * | 2019-01-09 | 2020-07-17 | 深圳市茁壮网络股份有限公司 | 一种文件均衡分布方法及装置 |
US20210365192A1 (en) * | 2018-06-28 | 2021-11-25 | Zhengzhou Yunhai Information Technology Co., Ltd. | Method, system, and apparatus for allocating hard disks to placement group, and storage medium |
CN113791893A (zh) * | 2021-08-16 | 2021-12-14 | 济南浪潮数据技术有限公司 | 一种基于磁盘分组实现容量均衡的方法及装置 |
-
2022
- 2022-02-11 CN CN202210129817.3A patent/CN114489515B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103123575A (zh) * | 2011-11-18 | 2013-05-29 | 北京兴宇中科科技开发股份有限公司 | 一种数据写入方法 |
CN107145432A (zh) * | 2017-03-30 | 2017-09-08 | 华为技术有限公司 | 一种建立模型数据库的方法以及客户端 |
CN107943890A (zh) * | 2017-11-16 | 2018-04-20 | 武汉虹旭信息技术有限责任公司 | 基于HBase的移动互联网海量数据处理系统及其方法 |
US20210365192A1 (en) * | 2018-06-28 | 2021-11-25 | Zhengzhou Yunhai Information Technology Co., Ltd. | Method, system, and apparatus for allocating hard disks to placement group, and storage medium |
CN111427508A (zh) * | 2019-01-09 | 2020-07-17 | 深圳市茁壮网络股份有限公司 | 一种文件均衡分布方法及装置 |
CN113791893A (zh) * | 2021-08-16 | 2021-12-14 | 济南浪潮数据技术有限公司 | 一种基于磁盘分组实现容量均衡的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725258A (zh) * | 2023-12-19 | 2024-03-19 | 北京中电兴发科技有限公司 | 基于空间和时间均衡安防视频存储规划和定位读写的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114489515B (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622185B (zh) | 在多个存储单元中存储文件的方法以及存储分配方法 | |
US7505890B2 (en) | Hard disk drive emulator | |
CN110764706B (zh) | 存储系统、数据管理方法及存储介质 | |
CN107436725A (zh) | 一种数据写、读方法、装置及分布式对象存储集群 | |
CN102096698B (zh) | 一种视频数据存储格式、存储方法及检索方法 | |
US8930501B2 (en) | Distributed data storage system and method | |
CN102004760A (zh) | 多媒体文件的存储和播放方法、相关装置及系统 | |
CN101753936B (zh) | 一种视频监控系统的存储空间的配置方法和视频服务器 | |
CN107506145B (zh) | 一种物理存储调度方法及云主机创建方法 | |
CN110222209B (zh) | 图片存储方法、查询方法、装置及存取系统 | |
CN114489515B (zh) | 一种基于流存储的数据写入方法 | |
CN102291256A (zh) | 一种监控数据的查询方法和设备 | |
CN110727406A (zh) | 一种数据存储调度方法及装置 | |
CN111143239B (zh) | 一种智能电表的冻结电量数据压缩存储方法和解压方法 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件系统 | |
CN101729421A (zh) | 一种基于时分复用的存储方法和装置 | |
CN106708445B (zh) | 链路选择方法及装置 | |
CN102681918B (zh) | 数据存储备份方法及装置 | |
US7600151B2 (en) | RAID capacity expansion interruption recovery handling method and system | |
US10489252B2 (en) | Rotating incremental data backup | |
CN108664322A (zh) | 数据处理方法及系统 | |
CN111669629A (zh) | 视频cdn节点即时扩容方法、调度器及cnd存储系统 | |
CN103176745A (zh) | 具有双控制器的储存系统的硬盘阵列接管方法 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN102523112A (zh) | 信息处理方法及设备 |
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 |