System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,尤其涉及一种数据写入方法、设备及介质。
技术介绍
1、在安防行业,分布式对象存储系统存储的多为顺序的视频流。随着分布式对象存储系统的不断发展,存储的视频类型也变的多种多样,出现了很多非顺序的视频流格式,典型的例如mp4格式的视频流,每次写完一定视频帧后需回头改写对应的索引信息。
技术实现思路
1、本申请实施例提供了一种数据写入方法、设备及介质,用以减少客户端将数据写入存储节点的操作所需要执行的客户端与存储节点之间的网络交互次数,提高客户端将数据写入存储节点的效率,并且降低网络交互压力。
2、在客户端侧,本申请实施例提供的一种数据写入方法,包括:
3、确定文件的待写入数据,所述待写入数据用于写入目标存储节点的目标存储位置,所述待写入数据包括多个数据块,每一所述数据块包括多个数据分片;
4、将所述待写入数据写入在本地客户端的存储介质预设的至少一个条带中;
5、当所述写入操作完成时,若所述待写入数据填充了多个条带,得到了多个条带数据,则将所述多个条带数据进行合并,得到合并后的条带数据;其中,所述多个条带数据中的每一条带数据,包括多个分别属于不同的数据块的数据分片;所述合并包括将属于同一数据块的不同数据分片分别进行合并,所述合并后的条带数据包括多个合并块,每一所述合并块包括属于同一数据块的不同数据分片;
6、针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作。
7、通过该方法将所述
8、在一些实施例中,当满足如下预设条件之一或组合时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作:
9、所述多个条带写满数据;
10、所述多个条带数据的存在时长超过预设的时长阈值;
11、针对所述多个条带执行写入操作的总次数超过预设的次数阈值;
12、所述文件关闭。
13、在一些实施例中,当确定所述待写入数据,用于替换存储在目标存储节点的目标存储位置中的原始数据时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作,包括:
14、将所述多个合并块,并行写入至少一个目标存储节点的内存中;
15、向所述至少一个目标存储节点发送将内存中缓存的合并块落到磁盘的目标存储位置上的提交指令;
16、当确定所述待写入数据,用于存储在目标存储节点的无原始数据的目标存储位置中时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作,包括:
17、将所述多个合并块,并行写入至少一个目标存储节点的磁盘的目标存储位置。
18、在一些实施例中,所述方法还包括:
19、当所述写入操作完成时,若所述待写入数据填充了一个条带,得到了单条带数据,则当满足如下预设条件之一或组合时,针对所述单条带数据,执行向目标存储节点的目标存储位置的写入操作:
20、所述待写入数据填充的条带写满数据;
21、所述单条带数据的存在时长超过预设的时长阈值;
22、针对所述待写入数据填充的条带执行写入操作的总次数超过预设的次数阈值;
23、所述文件关闭。
24、在一些实施例中,当确定所述待写入数据,用于替换存储在目标存储节点的目标存储位置中的原始数据时,针对所述单条带数据,执行向目标存储节点的目标存储位置的写入操作:
25、将所述单条带数据,写入至少一个目标存储节点的内存中;
26、向所述至少一个目标存储节点发送将内存中缓存的所述单条带数据落到磁盘的目标存储位置上的提交指令;
27、当确定所述待写入数据,用于存储在目标存储节点的无原始数据的目标存储位置中时,针对所述单条带数据,执行向目标存储节点的目标存储位置的写入操作,包括:
28、将所述单条带数据,写入至少一个目标存储节点的磁盘的目标存储位置。
29、在一些实施例中,所述条带,包括第一部分存储空间和第二部分存储空间,其中,所述第一部分存储空间用于存储所述待写入数据,所述第二部分存储空间用于存储所述待写入数据的冗余数据;
30、将所述待写入数据写入在本地客户端的存储介质预设的至少一个条带中,包括:
31、将所述待写入数据写入在本地客户端的存储介质预设的至少一个条带的第一部分存储空间中;
32、当所述待写入数据填充的条带的第一部分存储空间存在空洞时,获取回填数据,将所述回填数据填充到所述空洞中,使得所述待写入数据填充的条带的第一部分存储空间写满数据;
33、针对所述待写入数据填充的每一条带,基于该条带的第一部分存储空间中的数据,生成冗余数据并写入该条带的第二部分存储空间。
34、相应地,在存储节点侧,本申请实施例提供的一种数据写入方法,包括:
35、获取客户端发送的至少一个合并块,其中所述合并块来自于所述客户端基于文件的待写入数据生成的合并后的条带数据,所述待写入数据用于写入目标存储节点的目标存储位置,所述待写入数据包括多个数据块,每一所述数据块包括多个数据分片,所述合并后的条带数据包括多个合并块,每一所述合并块包括属于同一数据块的不同数据分片;
36、针对所述客户端发送的至少一个合并块中的每一合并块,将该合并块中的不同数据分片,并行执行写入操作。
37、在一些实施例中,当所述客户端发送的至少一个合并块,是通过所述客户端发送的数据修改写请求发送的时,所述方法还包括:
38、将所述客户端发送的至少一个合并块缓存到本地存储节点的内存中;
39、接收所述客户端发送的提交指令;
40、针对所述客户端发送的至少一个合并块中的每一合并块,将该合并块中的不同数据分片,并行执行写入操作,包括:
41、根据所述提交指令,针对所述内存中缓存的每一合并块中的不同数据分片,并行写入本地存储节点的磁盘的目标存储位置;
42、当所述客户端发送的至少一个合并块,是通过所述客户端发送的数据追加写请求发送的时,针对所述客户端发送的至少一个合并块中的每一合并块,将该合并块中的不同数据分片,并本文档来自技高网...
【技术保护点】
1.一种数据写入方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当满足如下预设条件之一或组合时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作:
3.根据权利要求1所述的方法,其特征在于,当确定所述待写入数据,用于替换存储在目标存储节点的目标存储位置中的原始数据时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,当确定所述待写入数据,用于替换存储在目标存储节点的目标存储位置中的原始数据时,针对所述单条带数据,执行向目标存储节点的目标存储位置的写入操作:
6.根据权利要求1~5任一权项所述的方法,其特征在于,所述条带,包括第一部分存储空间和第二部分存储空间,其中,所述第一部分存储空间用于存储所述待写入数据,所述第二部分存储空间用于存储所述待写入数据的冗余数据;
7.一种数据写入方法,其特征在于,所述方法包括:
8.根据权
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至8任一项所述的方法。
...【技术特征摘要】
1.一种数据写入方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,当满足如下预设条件之一或组合时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作:
3.根据权利要求1所述的方法,其特征在于,当确定所述待写入数据,用于替换存储在目标存储节点的目标存储位置中的原始数据时,针对所述合并后的条带数据,执行向目标存储节点的目标存储位置的写入操作,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,当确定所述待写入数据,用于替换存储在目标存储节点的目标存储位置中的原始数据时,针对所述单条带数据,执行向目标存储节点的目标存储位置...
【专利技术属性】
技术研发人员:江文龙,戴恩亮,徐涛,王志豪,周明伟,
申请(专利权)人:浙江大华技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。