本申请涉及计算机,尤其涉及一种数据和容器文件读取方法、设备、系统、介质及程序产品。
背景技术:
1、只读文件系统(read-only file system, rofs)是一种不允许对文件进行写入操作的文件系统。这意味着在只读文件系统中,文件只能被读取,不能被修改、删除或创建新的文件。一些只读文件系统,如增强型只读文件系统(enhanced read-only file system,erofs)在读取内容相同但标识符不同的文件时,会在内存中产生多份缓存。例如,在容器场景下,假设2个容器的镜像文件具有相同的共享库文件,由于不同容器具有不同的挂载点,则导致相同的共享库文件对2个容器来说具有不同的文件路径,这样只读文件系统在读取这2个容器的镜像文件中的共享库文件时,会针对相同的共享库文件在内存中产生2份缓存,这无疑造成内存资源的浪费。
技术实现思路
1、本申请的多个方面提供一种数据和容器文件读取方法、设备、系统、介质及程序产品,用以减少数据读取时的内存占用。
2、本申请实施例提供一种数据读取方法,包括:
3、在只读文件系统执行针对所述多个标识符的目标数据的读操作的情况下,获取所述多个标识符的目标数据的元数据;所述目标数据的元数据包括所述目标数据的数据指纹;
4、根据所述多个标识符的目标数据的元数据,获取多个索引节点;所述多个标识符与所述多个索引节点一一对应;
5、根据所述目标数据的数据指纹,将所述多个索引节点映射到同一目标虚拟索引节点,以使所述多个索引节点共享所述目标虚拟索引节点的目标内存空间;
6、从所述目标内存空间,读取所述目标数据。
7、本申请实施例还提供一种容器文件读取方法,适用于服务节点,所述服务节点部署有多个容器,所述多个容器的镜像文件具有内容相同的目标文件,所述多个容器的目标文件的文件路径不同;所述方法包括:
8、在只读文件系统执行针对所述多个容器的目标文件的读操作的情况下,获取所述多个容器的目标文件的元数据;所述多个容器的目标文件包括所述目标文件的内容的数据指纹;
9、根据所述多个容器的目标文件的元数据,获取多个索引节点;每个文件路径对应一个索引节点;
10、根据所述目标文件的内容的数据指纹,将所述多个索引节点映射到同一目标虚拟索引节点,以使所述多个索引节点共享所述目标虚拟索引节点的目标内存空间;
11、从所述目标内存空间,读取所述目标文件。
12、本申请实施例还提供一种数据处理系统,包括:服务节点和存储节点,所述存储节点存储有数据及所述数据的元数据;所述元数据包括所述数据的数据指纹;所述服务节点通过只读文件系统读取所述数据,且针对内容相同但标识符不同的目标数据,创建独立的索引节点;
13、所述服务节点用于执行前述数据读取方法和/或容器文件读取方法的步骤。
14、本申请实施例还提供一种电子设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
15、所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行前述数据读取方法和/或容器文件读取方法的步骤。
16、本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行前述数据读取方法和/或容器文件读取方法的步骤。
17、本申请实施例还提供一种计算机程序产品,包括计算机程序,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行前述数据读取方法和/或容器文件读取方法的步骤。
18、在本申请实施例中,内容相同的数据具有同一数据指纹的。将数据指纹相同的多个标识符对应的多个索引节点映射到同一虚拟索引节点,使得多个索引节点可共享虚拟索引节点对应的目标内存空间,即多个索引节点可共享虚拟索引节点的目标内存空间存储的数据,无需在每个索引节点各自缓存一份目标数据,进而可降低内存资源的占用。
1.一种数据读取方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据的数据指纹,将所述多个索引节点映射到同一目标虚拟索引节点,包括:
3.根据权利要求2所述的方法,其特征在于,所述建立所述任一标识符的目标数据的索引节点与所述目标虚拟索引节点之间的映射关系,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标数据的数据指纹,确定所述任一标识符的目标数据对应的目标虚拟索引节点,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
11.一种容器文件读取方法,适用于服务节点,其特征在于,所述服务节点部署有多个容器,所述多个容器的镜像文件具有内容相同的目标文件,所述多个容器的目标文件的文件路径不同;所述方法包括:
12.一种数据处理系统,其特征在于,包括:服务节点和存储节点,所述存储节点存储有数据及所述数据的元数据;所述元数据包括所述数据的数据指纹;所述服务节点通过只读文件系统读取所述数据,且针对内容相同但标识符不同的目标数据,创建独立的索引节点;
13.一种电子设备,其特征在于,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
14.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-11任一项所述方法中的步骤。
15.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-11任一项所述方法中的步骤。