本公开涉及数据处理,尤其涉及一种数据处理方法、装置、存储介质和电子设备。
背景技术:
1、为了满足不同组织的数据存储需求,分布式存储技术应运而生。分布式存储是一种通过网络连接多台计算机或存储设备来共同存储和管理数据的技术。它将数据分布存储在多个节点上,每个节点可以是物理机器、虚拟机器或者云存储服务。在分布式存储技术中,数据存储是通过文件系统实现的。通过文件系统将磁盘空间划分为多个文件块,并根据数据管理信息将文件的逻辑块与物理块进行映射,该数据管理信息即为分布式存储系统中的元数据。在读写数据时,应该先获取元数据得到数据的存储方式,然后根据元数据进行数据存储。
2、通常情况下,元数据存储在单独的服务器中,在进行数据存储时,需要通过远程过程调用技术从远端存储服务器中读取元数据,从而导致元数据读取过程中存在一定的延迟,降低了数据存储的效率。
技术实现思路
1、有鉴于此,本公开提供一种数据处理方法、装置、存储介质和电子设备,可以提高数据存储和数据读取的效率。
2、根据本公开实施例的第一方面,提供了一种数据处理方法,所述方法包括:
3、获取数据处理请求,其中,所述数据处理请求用于请求读取或存储目标文件对应的数据;
4、依据所述数据处理请求,在目标数据库中获取所述目标文件对应的元数据;
5、依据所述元数据,响应所述数据处理请求。
6、在一个实施例中,所述依据所述数据处理请求,在目标数据库中获取所述目标文件对应的元数据,包括:
7、依据所述数据处理请求,确定所述目标文件的名称;
8、对所述目标文件的名称进行哈希计算,得到所述目标文件对应的索引键;
9、依据所述索引键,在所述目标数据库中获取所述目标文件对应的元数据。
10、在一个实施例中,所述依据所述索引键,在所述目标数据库中获取所述目标文件对应的元数据,包括:
11、依据所述索引键,在所述目标数据库的内存表中检索所述目标文件对应的元数据;
12、在所述内存表中不存在所述目标文件对应的元数据的情况下,在不可变内存表中检索所述目标文件对应的元数据;
13、在所述不可变内存表中不存在所述目标文件对应的元数据的情况下,在有序字符串表中检索所述目标文件对应的元数据。
14、在一个实施例中,在所述数据处理请求用于请求存储目标文件对应的数据时,所述依据所述元数据,响应所述数据处理请求,包括:
15、依据所述元数据,生成所述目标文件对应的写入请求,其中,所述写入请求是存储性能开发工具包spdk环境中的i/o通道接收的写入请求;
16、将所述目标文件对应的数据写入至spdk环境中的数据缓冲区;
17、依据所述写入请求,通过spdk环境中的异步处理程序将所述数据缓冲区中的数据写入硬盘。
18、在一个实施例中,在所述数据处理请求用于请求读取目标文件对应的数据时,所述依据所述元数据,响应所述数据处理请求,包括:
19、依据所述元数据,生成所述目标文件对应的读取请求,其中,所述读取请求是spdk环境中的i/o通道接收到的读取请求;
20、依据所述读取请求,通过异步处理程序将硬盘中的数据读取至数据缓冲区;
21、返回所述数据缓冲区中的数据。
22、在一个实施例中,所述方法还包括:
23、获取目标文件的数据;
24、对所述目标文件的文件名称进行哈希计算,得到所述目标文件对应的索引键;
25、依据所述目标文件的数据,确定所述目标文件对应的元数据;
26、将所述目标文件对应的索引键和所述元数据对应存储至所述目标数据库。
27、在一个实施例中,所述获取目标文件的数据,包括:
28、获取多个初始文件;
29、对所述多个初始文件进行聚合,得到所述目标文件的数据。
30、在一个实施例中,所述将所述目标文件对应的索引键和所述元数据对应存储至所述目标数据库,包括:
31、将所述目标文件对应的索引键和所述元数据对应存储至所述内存表中;
32、在所述内存表中的数据量达到第一阈值时,将所述内存表转换为不可变内存表;
33、在所述不可变内存表的数量达到第二阈值时,将所述不可变内存表持久化至有序字符串表。
34、根据本公开实施例的第二方面,提供了一种数据处理装置,所述装置包括:
35、第一获取单元,用于获取数据处理请求,其中,所述数据处理请求用于请求读取或存储目标文件对应的数据;
36、第二获取单元,用于依据所述数据处理请求,在目标数据库中获取所述目标文件对应的元数据;
37、响应单元,用于依据所述元数据,响应所述数据处理请求。
38、在一个实施例中,所述第二获取单元,具体用于:
39、依据所述数据处理请求,确定所述目标文件的名称;
40、对所述目标文件的名称进行哈希计算,得到所述目标文件对应的索引键;
41、依据所述索引键,在所述目标数据库中获取所述目标文件对应的元数据。
42、在一个实施例中,所述第二获取单元,具体用于:
43、依据所述索引键,在所述目标数据库的内存表中检索所述目标文件对应的元数据;
44、在所述内存表中不存在所述目标文件对应的元数据的情况下,在不可变内存表中检索所述目标文件对应的元数据;
45、在所述不可变内存表中不存在所述目标文件对应的元数据的情况下,在有序字符串表中检索所述目标文件对应的元数据。
46、在一个实施例中,所述响应单元,具体用于:
47、依据所述元数据,生成所述目标文件对应的写入请求,其中,所述写入请求是存储性能开发工具包spdk环境中的i/o通道接收的写入请求;
48、将所述目标文件对应的数据写入至数据缓冲区,其中,所述数据缓冲区指spdk环境中的数据缓冲区;
49、依据所述写入请求,通过spdk环境中的异步处理程序将所述数据缓冲区中的数据写入硬盘。
50、在一个实施例中,所述响应单元,具体用于:
51、依据所述元数据,生成所述目标文件对应的读取请求,其中,所述读取请求是spdk环境中的i/o通道接收到的读取请求;
52、依据所述读取请求,通过异步处理程序将硬盘中的数据读取至数据缓冲区;
53、返回所述数据缓冲区中的数据。
54、在一个实施例中,所述装置还包括:
55、第三获取单元,用于获取目标文件的数据;
56、计算单元,用于对所述目标文件的文件名称进行哈希计算,得到所述目标文件对应的索引键;
57、确定单元,用于依据所述目标文件的数据,确定所述目标文件对应的元数据;
58、存储单元,用于将所述目标文件对应的索引键和所述元数据对应存储至所述目标数据库。
59、在一个实施例中,所述第三获取单元,具体用于:
60、获取多个初始文件;
61、对所述多个初始文件进行聚合,得到所述目标文件的数据。
62、在一个实施例中,所述存储单元,具体用于:
63、将所述目标文件对应的索引键和所述元数据对应存储至所述内存表中;
64、在所述内存表中的数据量达到第一阈值时,将所述内存表转换为不可变内存表;
65、在所述不可变内存表的数量达到第二阈值时,将所述不可变内存表持久化至有序字符串表。
66、根据本公开实施例的第三方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。
67、根据本公开实施例的第四方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面任一所述方法的步骤。
68、本公开实施例提供的技术方案可以包括以下有益效果:
69、在获取到数据处理请求时,通过在目标数据库中获取元数据,降低了元数据读取过程中的时延,提高了目标文件的读写性能,进而提高了数据处理的效率。
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述依据所述数据处理请求,在目标数据库中获取所述目标文件对应的元数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述依据所述索引键,在所述目标数据库中获取所述目标文件对应的元数据,包括:
4.根据权利要求1所述的方法,其特征在于,在所述数据处理请求用于请求存储目标文件对应的数据时,所述依据所述元数据,响应所述数据处理请求,包括:
5.根据权利要求1所述的方法,其特征在于,在所述数据处理请求用于请求读取目标文件对应的数据时,所述依据所述元数据,响应所述数据处理请求,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述获取目标文件的数据,包括:
8.根据权利要求6所述的方法,其特征在于,所述将所述目标文件对应的索引键和所述元数据对应存储至所述目标数据库,包括:
9.一种数据处理装置,其特征在于,所述装置包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至8任一所述的方法。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一所述的方法。
