一种分布式文件核验方法、装置、计算机设备、存储介质与流程

文档序号:36502323发布日期:2023-12-28 06:02阅读:23来源:国知局
一种分布式文件核验方法与流程

本技术涉及大数据处理,特别是涉及一种分布式文件核验方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

1、随着信息化时代的不断发展,信息数据在生活中的应用逐渐广泛,对数据存储以及应用中的高可靠性、高性能、可扩展性存储等性能也形成了需求。分布式文件系统就是顺应这种需求而实现的技术。分布式文件系统(distributed file system,简称dfs)是一种将文件存储在多个计算机节点上的文件系统。它通过将文件划分成多个块或者分片,并将这些块分布在不同的计算机节点上,实现文件的分布式存储和管理。

2、分布式文件核验是一种利用分布式系统技术来验证文件的完整性和一致性的方法。它可以确保文件在不同节点上的存储和传输过程中没有被篡改或损坏。在分布式文件核验中,通常使用哈希函数来计算文件的哈希值。哈希值是一个固定长度的字符串,它是根据文件的内容计算得出的。只要文件内容发生变化,无论是一点小改动还是完全改变,其哈希值都会发生明显的变化。分布式文件核验可以提高文件的安全性和可靠性,尤其适用于大规模分布式存储和传输系统中,然而,它也需要耗费一定的计算和通信资源,并且对系统的可扩展性和容错性提出了一定的要求。

3、相关技术中,在进行分布式文件核验时,通常采用人工核验的方式对分布式系统内的文件进行版本和内容上的核验。具体地,需要在每个集群中选取一台设备作为标的机器,以标的机器的文件内容和版本作为正确的版本,在核验中,以文件内容的摘要作为对比的依据,使得集群中每个存储单位与标的机器两两对比,最终得到对比的结果。

4、然而,目前的分布式文件核验方式,存在如下的技术问题:

5、核验中以摘要两两对比的方式实现,容易导致核验效率较低且核验结果的准确度较差。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高分布式系统内文件核验效率的一种分布式文件核验方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本技术提供了一种分布式文件核验方法。所述方法包括:

3、获取待核验的目标文件,将所述目标文件划分至若干个子文件并分发至若干个所述用户终端;

4、分别获取所述用户终端生成的与所述子文件对应的第一文件摘要,所述第一文件摘要用于描述所述子文件的文件特征;

5、将所述第一文件摘要以键值对的形式合并,得到中间结果集;

6、响应于对所述目标文件的核验请求,生成与所述中间结果集对应的第二文件摘要;

7、根据所述第二文件摘要获取所述目标文件的核验结果。

8、在其中一个实施例中,所述将所述第一文件摘要以键值对的形式合并,得到中间结果集之后,还包括:

9、获取所述服务终端的负载状态,基于所述负载状态在若干个所述服务终端中选取用于处理所述中间结果集的目标服务终端;

10、将所述中间结果集分配至所述目标服务终端,变更所述目标服务终端的核验状态。

11、在其中一个实施例中,所述响应于对所述目标文件的核验请求,生成与所述中间结果集对应的第二文件摘要包括:

12、响应于所述服务终端的状态变更事件,生成所述核验请求,所述状态变更事件包括所述核验状态变更、所述服务终端数量变更以及所述服务终端的轮起。

13、在其中一个实施例中,所述将所述中间结果集分配至所述目标服务终端,变更所述目标服务终端的核验状态之后,还包括:

14、变更所述中间结果集的分配状态,以拦截除所述目标服务终端以外的其他服务终端对所述中间结果集的访问。

15、在其中一个实施例中,所述获取待核验的目标文件,将所述目标文件划分至若干个子文件并分发至若干个所述用户终端包括:

16、基于第一线程对所述目标文件进行解析扫描,获取若干个所述子文件;

17、基于第二线程对所述子文件进行处理,得到所述第一文件摘要,所述第一线程与所述第二线程相互独立。

18、在其中一个实施例中,所述分别获取所述用户终端生成的与所述子文件对应的第一文件摘要,所述第一文件摘要用于描述所述子文件的文件特征包括:

19、获取所述目标文件的配置信息,基于所述配置信息对所述目标文件进行过滤,以确定所述目标文件中的白名单文件;

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、在分布式系统的文件核验中,首先将待核验的目标文件划分至多个子文件,并分发至多个用户终端,在用户终端内实现map阶段的处理,得到每个子文件对应的第一文件摘要,随后将全部的第一文件摘要通过键值对的方式进行合并,得到中间结果集。将中间结果集发送至服务终端后,由服务终端将中间结果集转化至持久化存储的状态,存储到cfs中,当触发文件的核验步骤时,由服务终端根据中间结果集生成第二重文件摘要,并最终根据第二重文件摘要得到文件核验的结果。在实施中,能利用分布式系统内的集群式分布的用户终端以及服务终端,使得目标文件得以由集群设备进行处理,通过分割以及合并的算法流程,提高目标文件的核验效率,同时由于文件被划分至多级子文件,有助于提高文件核验的准确度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1