【技术实现步骤摘要】
数据处理方法、装置、电子设备及可读存储介质
本申请涉及分布式数据存储技术,尤其涉及一种数据处理方法、装置、电子设备及可读存储介质。
技术介绍
分布式的云存储系统一般支持对存储在标准文件操作系统中的存储文件采用标准的pwrite接口进行随机写操作。为了避免在随机写时从磁盘中读取整个对象文件数据,一般的处理方法是将对象文件进行分片存储(如EC(ErasureCoding,纠删码)条带的分片)。相对于文件多副本存储,EC技术具有更高的存储空间利用率和高可靠性,但EC技术的编码方式比较复杂,对于存在频繁随机写的场景,每次随机写均需从磁盘中读取整个条带的原始数据,并将待写入的数据与条件中的原始数据进行整合,重新计算校验数据后,将新的条带重新写入磁盘。可见,频繁的随机写业务,会触发云存储系统进行频繁的EC计算和数据读写,对云存储系统的CPU(CenterProcessUnit,中央处理单元)、内存、磁盘IO(Input/output,输入/输出)等硬件资源消耗非常大,影响云存储系统的读写功能和系统稳定性。
技术实现思路
有鉴于此,本申请提供一种数据处理方法、装置、电子设备及可读存储介质。具体地,本申请是通过如下技术方案实现的:根据本申请实施例的第一方面,提供一种数据处理方法,应用于云存储系统,所述方法包括:当接收到针对第一目标数据的随机写请求时,确定用于存储所述第一目标数据的第一目标存储单元,并将所述第一目标数据写入到缓存区域中的所述第一目标存储单元;当检测到本 ...
【技术保护点】
1.一种数据处理方法,应用于云存储系统,其特征在于,所述方法包括:/n当接收到针对第一目标数据的随机写请求时,确定用于存储所述第一目标数据的第一目标存储单元,并将所述第一目标数据写入到缓存区域中的所述第一目标存储单元;/n当检测到本地缓存区域中的第二目标存储单元满足满条带要求时,将所述第二目标存储单元中的数据转存至云存储系统的存储区域。/n
【技术特征摘要】
1.一种数据处理方法,应用于云存储系统,其特征在于,所述方法包括:
当接收到针对第一目标数据的随机写请求时,确定用于存储所述第一目标数据的第一目标存储单元,并将所述第一目标数据写入到缓存区域中的所述第一目标存储单元;
当检测到本地缓存区域中的第二目标存储单元满足满条带要求时,将所述第二目标存储单元中的数据转存至云存储系统的存储区域。
2.根据权利要求1所述的方法,其特征在于,所述确定用于存储所述第一目标数据的第一目标存储单元,包括:
根据所述随机写请求中携带的第一偏移量以及第一数据长度,按照以下公式确定所述第一目标存储单元的序号:
其中,S为所述第一目标存储单元中第一个存储单元的序号,E为所述第一目标存储单元中最后一个存储单元的序号,offset为所述第一偏移量,len为所述第一数据长度,为向下取整运算,所述缓存区域以及所述存储区域中第一个存储单元的序号为0。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一目标数据写入到缓存区域中的所述第一目标存储单元,包括:
对于所述第一目标存储单元中的任一存储单元,根据该存储单元的序号查询匹配的集群索引表项,以确定该存储单元对应的主备节点;其中,集群索引表记录有存储单元的序号与主备节点的地址信息的对应关系;
将该存储单元的序号以及目标数据分片发送给该存储单元对应的主节点,以使该主节点将该目标数据分片写入对应的缓存区域,并将该存储单元的序号以及目标数据分片同步给备节点,由该备节点将该目标数据分片写入对应的缓存区域;其中,该目标数据分片为所述第一目标数据中存储在该存储单元中的数据。
4.根据权利要求3所述的方法,其特征在于,所述根据该存储单元的序号查询匹配的集群索引表项之后,还包括:
若未查询到匹配的集群索引表项,则将本节点确定为主节点,并从本组其他节点中选择一个节点作为副节点;
在集群索引表中插入与该主节点和副节点匹配的集群索引表项。
5.根据权利要求3所述的方法,其特征在于,所述主节点将该目标数据分片写入对应的缓存区域,包括:
根据该存储单元的序号查询匹配的本地索引表项,以确定该存储单元在本地缓存区域中对应的存储位置信息;其中,本地索引表记录有存储单元的序号与缓存区域中的存储位置信息的对应关系;
根据该存储位置信息将该目标数据分片写入对应的缓存区域。
6.根据权利要求5所述的方法,其特征在于,所述根据该存储单元的序号查询匹配的本地索引表项之后,还包括:
若未查询到匹配的本地索引表项,则从所述云存储系统的存储区域中读取该存储单元的数据;
从缓存区域中申请一个空闲的存储单元,并将该目标数据分片与读取到的数据合并后存入所申请的存储单元;
在本地索引表中插入与所申请的存储单元匹配的本地索引表项。
7.根据权利要求1所述的方法,其特征在于,所述将所述第二目标存储单元中的数据转存至云存储系统的存储区域,包括:
根据所述第二目标存储单元中各存储单元的序号,按序从所述缓存区域中读取各存储单元中的数据;
将所读取的数据拼接为一个完整的条带的数据,并转存至所述云存储系统的存储区域。
8.根据权利要求1所述的方法,其特征在于,所述将所述第二目标存储单元中的数据转存至云存储系统的存储区域之后,还包括:
将所述第二目标存储单元对应的本地索引表项设置为已转存状态;其中,本地索引表记录有存储单元的序号与存储区域中的存储位置信息的对应关系;
所述本地缓存区域中是否存在第二目标存储单元满足满条带要求通过以下方式检测:
轮询本地索引表中各本地索引表项;
将未转存状态的本地索引表项中记录的存储单元的序号记录到目标列表中;
当所述目标列表中存在序号连续的多个存储单元的数量满足一个条带的数量时,将该序号连续的多个存储单元确定为满足满条带要求的第二目标存储单元。
9.根据权利要求8所述的方法,其特征在于,所述云存储系统为对象存储系统;
所述本地索引表记录有对象标识、存储单元的序号以及存储区域中的存储位置信息的对应关系;
所述将未转存状态的本地索引表项中记录的存储单元的序号记录到目标列表中,包括:
按照对象标识对本地索引表项进行分类;同一分类的本地索引表项中记录的对象标识相同,不同分类的本地...
【专利技术属性】
技术研发人员:丁光凯,李丹旺,
申请(专利权)人:杭州海康威视系统技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。