本发明涉及大数据领域的数据处理,尤其涉及一种数据处理方法和装置。
背景技术:
1、随着大数据和云计算的快速发展,分布式文件系统在企业级存储解决方案中扮演着越来越重要的角色。nfs(全称network file system)作为一种成熟且广泛应用的分布式文件系统协议,被广泛用于各种应用场景。然而,传统nfs服务器在高并发、大数据量的场景下,往往面临性能瓶颈和数据一致性问题。
2、为了提高nfs服务器的性能和可靠性,nfs网关作为用户空间的nfs服务器,提供了灵活的架构和丰富的功能支持。然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在高并发写入场景下,nfs网关依然可能面临写入延迟和数据一致性的问题。
技术实现思路
1、有鉴于此,本发明实施例提供一种数据处理方法和装置,至少能够解决现有技术在高并发写入场景下面临写入延迟和数据一致性的现象。
2、为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法,应用于分布式文件系统协议nfs服务器,nfs服务器包括通信层、协议层、日志层、接口层和驱动层,包括:
3、通过通信层接收nfs客户端传输的数据处理请求,将所述数据处理请求发送至协议层;
4、通过协议层解析所述数据处理请求,得到请求类型和请求参数,在请求类型为写请求的情况下,将请求参数以日志形式写入日志层的日志盘中,得到日志记录;
5、在写入成功后通过通信层返回nfs客户端响应成功信息;以及异步通过日志层的日志处理模块,从日志盘中读取所述日志记录并发送至接口层;
6、通过接口层根据日志记录中的请求参数,在后端存储系统中确定存储位置,调用驱动层中与所述存储位置对应的驱动方式,以将请求参数中的待写入数据写入所述存储位置中。
7、可选地,所述数据处理请求还包括nfs协议版本信息,根据所述nfs协议版本信息确定相应处理服务。
8、可选地,所述请求参数包括文件名、偏移量、长度、所述待写入数据、文件属性,所述根据日志记录中的请求参数,在后端存储系统中确定存储位置,调用驱动层中与所述存储位置对应的驱动方式,以将请求参数中的待写入数据写入所述存储位置中,包括:
9、根据文件名从后端存储系统中确定相应存储节点;
10、根据偏移量和长度,从存储节点中确定相应存储位置;
11、调用驱动层中与所述存储节点对应的驱动方式,以将所述待写入数据和所述文件属性写入所述存储节点的所述存储位置中。
12、可选地,所述方法还包括:
13、将写入日志盘的所述日志记录的状态标记为提交状态;
14、在调用接口层和驱动层将所述日志记录中的待写入数据写入后端存储系统后,将所述日志记录的状态由提交状态更新为应用状态;
15、触发对日志盘中状态为应用状态的日志记录的清除操作。
16、可选地,所述方法还包括:
17、响应于nfs服务器的故障重启操作,检查日志层中是否存在状态为提交状态的日志记录;
18、响应于检查结果为存在,调用接口层和驱动层以将日志记录中的待写入数据写入后端存储系统中。
19、可选地,nfs服务器还包括数据缓存层,所述方法还包括:
20、在请求类型为读请求的情况下,从所述请求参数中获取文件名、偏移量、长度,根据文件名、偏移量和长度,从数据缓存层中查询相应缓存数据;
21、响应于未命中缓存数据,根据文件名、偏移量和长度,从后端存储系统确定相应存储节点和存储位置,进而从存储节点的存储位置读取数据并返回给客户端。
22、为实现上述目的,根据本发明实施例的另一方面,提供了一种数据处理装置,应用于分布式文件系统协议nfs服务器,包括:
23、通信模块,用于接收nfs客户端传输的数据处理请求,将所述数据处理请求发送至协议层;
24、协议模块,用于解析所述数据处理请求,得到请求类型和请求参数,在请求类型为写请求的情况下,将请求参数以日志形式写入日志层的日志盘中,得到日志记录;
25、日志处理模块,用于在写入成功后通过通信层返回nfs客户端响应成功信息;以及异步从日志盘中读取所述日志记录并发送至接口层;
26、接口驱动模块,用于通过接口层根据日志记录中的请求参数,在后端存储系统中确定存储位置,调用驱动层中与所述存储位置对应的驱动方式,以将请求参数中的待写入数据写入所述存储位置中。
27、可选地,所述数据处理请求还包括nfs协议版本信息,根据所述nfs协议版本信息确定相应处理服务。
28、可选地,所述请求参数包括文件名、偏移量、长度、所述接口驱动模块,用于:
29、根据文件名从后端存储系统中确定相应存储节点;
30、根据偏移量和长度,从存储节点中确定相应存储位置;
31、调用驱动层中与所述存储节点对应的驱动方式,以将所述待写入数据和所述文件属性写入所述存储节点的所述存储位置中。
32、可选地,所述装置还包括状态模块,用于:
33、将写入日志盘的所述日志记录的状态标记为提交状态;
34、在调用接口层和驱动层将所述日志记录中的待写入数据写入后端存储系统后,将所述日志记录的状态由提交状态更新为应用状态;
35、触发对日志盘中状态为应用状态的日志记录的清除操作。
36、可选地,所述装置还包括恢复模块,用于:
37、响应于nfs服务器的故障重启操作,检查日志层中是否存在状态为提交状态的日志记录;
38、响应于检查结果为存在,调用接口层和驱动层以将日志记录中的待写入数据写入后端存储系统中。
39、可选地,nfs服务器还包括数据缓存层,所述装置还包括读模块,用于:
40、在请求类型为读请求的情况下,从所述请求参数中获取文件名、偏移量、长度,根据文件名、偏移量和长度,从数据缓存层中查询相应缓存数据;
41、响应于未命中缓存数据,根据文件名、偏移量和长度,从后端存储系统确定相应存储节点和存储位置,进而从存储节点的存储位置读取数据并返回给客户端。
42、为实现上述目的,根据本发明实施例的再一方面,提供了一种数据处理电子设备。
43、本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的数据处理方法。
44、为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的数据处理方法。
45、为实现上述目的,根据本发明实施例的又一个方面,提供了一种计算程序产品。本发明实施例的一种计算程序产品,包括计算机程序,所述程序被处理器执行时实现本发明实施例提供的数据处理方法。
46、根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:引入高速缓存日志作为中间缓存层,用于快速记录写入请求日志记录。写入日志盘成功后即刻返回给客户端响应成功信息,之后向后端存储系统写数据的过程是异步进行的,这种异步操作可以缩短i/o路径,降低i/o时延,提高写入性能,解决了现有写入延迟问题。且由于写入的是日志盘,不存在污染后端数据情况,解决了现有数据不一致问题。因为只有日志盘使用nvme,后端数据盘可以采用普通机械盘,二者结合充分发挥硬件特性,降低硬件成本。本技术这种高速缓存日志具有高读写性能和低延迟的特点,能够显著提升nfs网关的写入性能。
47、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
1.一种数据处理方法,其特征在于,应用于分布式文件系统协议nfs服务器,nfs服务器包括通信层、协议层、日志层、接口层和驱动层,包括:
2.根据权利要求1所述的方法,其特征在于,所述数据处理请求还包括nfs协议版本信息,根据所述nfs协议版本信息确定相应处理服务。
3.根据权利要求1所述的方法,其特征在于,所述请求参数包括文件名、偏移量、长度、所述待写入数据、文件属性,所述根据日志记录中的请求参数,在后端存储系统中确定存储位置,调用驱动层中与所述存储位置对应的驱动方式,以将请求参数中的待写入数据写入所述存储位置中,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,nfs服务器还包括数据缓存层,所述方法还包括:
7.一种数据处理装置,其特征在于,应用于分布式文件系统协议nfs服务器,包括:
8.根据权利要求7所述的装置,其特征在于,所述请求参数包括文件名、偏移量、长度、所述接口驱动模块,用于:
9.根据权利要求7所述的装置,其特征在于,所述装置还包括状态模块,用于:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。