数据处理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:24852127 阅读:20 留言:0更新日期:2020-07-10 19:06
本申请提供一种数据处理方法、装置、电子设备及可读存储介质,该方法包括:当接收到针对第一目标数据的随机写请求时,确定用于存储所述第一目标数据的第一目标存储单元,并将所述第一目标数据写入到缓存区域中的所述第一目标存储单元;当检测到本地缓存区域中的第二目标存储单元满足满条带要求时,将所述第二目标存储单元中的数据转存至云存储系统的存储区域。该方法可以提高云存储系统的读写性能和系统稳定性。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及可读存储介质
本申请涉及分布式数据存储技术,尤其涉及一种数据处理方法、装置、电子设备及可读存储介质。
技术介绍
分布式的云存储系统一般支持对存储在标准文件操作系统中的存储文件采用标准的pwrite接口进行随机写操作。为了避免在随机写时从磁盘中读取整个对象文件数据,一般的处理方法是将对象文件进行分片存储(如EC(ErasureCoding,纠删码)条带的分片)。相对于文件多副本存储,EC技术具有更高的存储空间利用率和高可靠性,但EC技术的编码方式比较复杂,对于存在频繁随机写的场景,每次随机写均需从磁盘中读取整个条带的原始数据,并将待写入的数据与条件中的原始数据进行整合,重新计算校验数据后,将新的条带重新写入磁盘。可见,频繁的随机写业务,会触发云存储系统进行频繁的EC计算和数据读写,对云存储系统的CPU(CenterProcessUnit,中央处理单元)、内存、磁盘IO(Input/output,输入/输出)等硬件资源消耗非常大,影响云存储系统的读写功能和系统稳定性。
技术实现思路
有鉴于此,本申请提供一种数据处理方法、装置、电子设备及可读存储介质。具体地,本申请是通过如下技术方案实现的:根据本申请实施例的第一方面,提供一种数据处理方法,应用于云存储系统,所述方法包括:当接收到针对第一目标数据的随机写请求时,确定用于存储所述第一目标数据的第一目标存储单元,并将所述第一目标数据写入到缓存区域中的所述第一目标存储单元;当检测到本地缓存区域中的第二目标存储单元满足满条带要求时,将所述第二目标存储单元中的数据转存至云存储系统的存储区域。根据本申请实施例的第二方面,提供一种数据处理装置,应用于云存储系统,所述装置包括:接收单元、确定单元、写入单元、检测单元以及处理单元;其中:所述确定单元,用于当所述接收单元接收到针对第一目标数据的随机写请求时,确定用于存储所述第一目标数据的第一目标存储单元;所述写入单元,用于将所述第一目标数据写入到缓存区域中的所述第一目标存储单元;所述处理单元,用于当所述检测单元检测到本地缓存区域中的第二目标存储单元满足满条带要求时,将所述第二目标存储单元中的数据转存至云存储系统的存储区域。根据本申请实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述方法步骤。根据本申请实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法步骤。本申请实施例的数据处理方法,当接收到针对第一目标数据的随机写请求时,确定用于存储第一目标数据的第一目标存储单元,并将第一目标数据写入到缓存区域中的第一目标存储单元;当检测到本地缓存区域中的第二目标存储单元满足满条带要求时,将第二目标存储单元中的数据转存至云存储系统的存储区域,通过将针对云存储系统的随机写小IO整合为大IO后,进行写入,避免了频繁随机写对云存储系统的读写功能和系统稳定性的影响,提高了云存储系统的读写性能和系统稳定性。附图说明图1是本申请一示例性实施例示出的一种数据处理方法的流程示意图;图2是本申请一示例性实施例示出的一种云存储系统的架构示意图;图3A是本申请一示例性实施例示出的一种云存储系统响应随机写的实现流程示意图;图3B是本申请一示例性实施例示出的一种加速节点将缓存区域中的数据转存至云存储系统的存储区域的实现流程示意图;图3C是本申请一示例性实施例示出的一种数据预加载的实现流程示意图;图4是本申请一示例性实施例示出的一种数据处理装置的结构示意图;图5是本申请一示例性实施例示出的一种电子设备的硬件结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。请参见图1,为本申请实施例提供的一种数据处理方法的流程示意图,其中,该数据处理方法可以应用于云存储系统,如图1所示,该数据处理方法可以包括:步骤S100、当接收到针对第一目标数据的随机写请求时,确定用于存储该第一目标数据的第一目标存储单元,并将该第一目标数据写入到缓存区域中的与第一目标存储单元。本申请实施例中,第一目标数据并不特指某一固定数据,而是可以指代任意通过随机写的方式请求写入云存储系统的数据,本申请实施例后续不再复述。本申请实施例中,为了避免频繁的随机写影响云存储系统的读写功能和系统稳定性的影响,对随机写的IO访问操作先进行缓存,并将缓存的随机写IO整合后,在进行落盘处理(即将数据存储至云存储系统的存储区域)。相应地,在本申请实施例中,当接收到针对第一目标数据的随机写请求时,可以先确定用于存储该第一目标数据的存储单元(本文中称为第一目标存储单元),并将该第一目标数据写入到缓存区域中的第一目标存储单元。示例性的,存储单元为缓存区域以及存储区域中数据存储的最小单元,该第一目标存储单元可以包括一个或多个存储单元。在一个示例中,上述确定用于存储第一目标数据的第一目标存储单元,可以包括:根据随机写请求中携带的第一偏移量以及第一数据长度,按照以下公式确定第一目标存储单元的序号:其中,S为第一目标存储单元中第一个存储单元的序号,E为第一目标存储单元中最后一个存储单元的序号,offset为第一偏移量,len为第一数据长度,为向下取整运算,缓存区域以及存储区域中第一个存储单元的序号为0。示例性的,以缓存区域以及存储区域中的第一个存储单元的序号为0为例。当接收到针对第一目标数据的随机写请求时,可以获取该随机写请求中携带的偏移量(本文中称为第一偏移量)以及数据长度(即第一目标数据的数据长度,本文中称为第一数据长度),并根据该第一偏移量、第一数据长度以及存储单元的大小,利用上述公式确定第一目标存储单元中第一个存储单元的序号,以及最后一个存储单元的序号。举例来说,假设存储单元的大小为1M字节(即1048576字节),第一偏移量为1500000本文档来自技高网...

【技术保护点】
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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1