依赖文件缓存更新的方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:34125475 阅读:23 留言:0更新日期:2022-07-14 14:06
本发明专利技术提供一种依赖文件缓存更新的方法、装置、计算机设备及存储介质,其中的方法包括:基于从第一节点本地依赖缓存中读取的第一依赖文件,生成第一依赖文件的第一缓存信息;以第一缓存信息为依据,查询编译构建命令所需的第二依赖文件在第一节点的命中结果;根据该命中结果为未命中,查询至少一个第二节点的第二依赖文件的缓存结果;根据缓存结果为存在,则从具有第二依赖文件的第二节点获取第二依赖文件;基于第二依赖文件刷新第一缓存信息,得到第二缓存信息。可见本发明专利技术在节点本地没有所需要的依赖文件时能从其他相连接的节点快速获取所需依赖文件,极大缩短了依赖下载耗时,从而达到减少编译构建耗时和提高编译构建效率等技术目的。率等技术目的。率等技术目的。

Method, device, computer device and storage medium dependent on file cache update

【技术实现步骤摘要】
依赖文件缓存更新的方法、装置、计算机设备及存储介质


[0001]本专利技术涉及编译构建
,更为具体地,本专利技术能够提供一种依赖文件缓存更新的方法、装置、计算机设备及存储介质。

技术介绍

[0002]随着云原生(CloudNative)的兴起,越来越多应用逐渐往云上迁移,使得应用微服务化。编译构建是一种实现应用微服务化的有效手段,具有构建效率高、构建速度快及成本低等优点,可用于云端大规模集群构建。在进行大规模集群并发构建时,只要构建节点本地没有所需要的依赖文件缓存,一般都会从外部依赖库去拉取依赖文件。这种方式虽然能够实现为当前节点提供对应的依赖文件,但是依赖文件的下载时长成为了编译构建效率的瓶颈,该问题在超大规模集群情况下更为明显;从外部依赖库下载所需依赖的时间越长,则导致编译构建耗时越长,编译构建效率越低。

技术实现思路

[0003]为解决常规的编译构建方案存在耗时长和效率低的问题,本专利技术具体能够提供一种依赖文件缓存更新的方法、装置、计算机设备及存储介质,以达到提高编译构建效率和减少编译构建耗时等一个或多个技术目的。
[0004]为实现上述的技术目的,本专利技术具体能够提供一种依赖文件缓存更新的方法,应用于待构建集群的第一节点,该依赖文件缓存更新的方法包括但不限于如下至少一个步骤。
[0005]基于从第一节点本地依赖缓存中读取的第一依赖文件,生成第一依赖文件的第一缓存信息;所述第一缓存信息用于记录第一节点本地依赖缓存信息。
[0006]以所述第一缓存信息为依据,查询编译构建命令所需的第二依赖文件在第一节点的命中结果。
[0007]根据所述命中结果为未命中,查询至少一个第二节点的所述第二依赖文件的缓存结果。
[0008]根据所述缓存结果为存在,从具有第二依赖文件的第二节点获取所述第二依赖文件。
[0009]基于所述第二依赖文件刷新第一缓存信息,以得到第二缓存信息;所述第二缓存信息用于记录刷新后的第一节点本地依赖缓存信息。
[0010]本专利技术的一种可实施方式中,所述根据所述缓存结果为存在,从具有第二依赖文件的第二节点获取所述第二依赖文件,包括:如果多个第二节点缓存有所述第二依赖文件,分别获取所述多个第二节点的节点下载连接数;对获取的所有节点当前正在并发下载的下载连接数进行排序,以得到排序结果;根据所述排序结果从具有最小节点下载连接数的第二节点下载所述第二依赖文件。
[0011]本专利技术的一种可实施方式中,所述从具有第二依赖文件的第二节点获取所述第二
依赖文件之后包括:根据第二依赖文件大小和第一依赖文件大小,确定本地依赖缓存是否达到配置的缓存上限;如果达到所述缓存上限,删除至少一个第一依赖文件,并在本地依赖缓存中存储所述第二依赖文件;如果未达到所述缓存上限,在本地依赖缓存中存储所述第二依赖文件。
[0012]本专利技术的一种可实施方式中,所述删除至少一个第一依赖文件包括:读取所述第一缓存信息或所述第二缓存信息中第一依赖文件的访问时间;至少删除访问时间最早的第一依赖文件。
[0013]本专利技术的一种可实施方式中,所述生成第一依赖文件的第一缓存信息包括:获取各个所述第一依赖文件的访问时间、文件名、本地存储路径以及大小;基于所述访问时间确定第一依赖文件的缓存数据结构;按照所述缓存数据结构,对所述第一依赖文件的访问时间、文件名、本地存储路径以及大小进行存储,以生成第一依赖文件的第一缓存信息。
[0014]本专利技术的一种可实施方式中,根据所述缓存结果为不存在或者从第二节点获取所述第二依赖文件失败,从具有第二依赖文件的外部依赖库获取所述第二依赖文件。
[0015]为实现上述的技术目的,本专利技术还能够提供一种依赖文件缓存更新的装置,应用于待构建集群的第一节点,该依赖文件缓存更新的装置包括但不限于缓存信息生成单元、命中结果查询单元、缓存结果查询单元、依赖文件获取单元以及缓存信息刷新单元。
[0016]缓存信息生成单元,用于基于从第一节点本地依赖缓存中读取的第一依赖文件,生成第一依赖文件的第一缓存信息;所述第一缓存信息用于记录第一节点本地依赖缓存信息。
[0017]命中结果查询单元,用于以所述第一缓存信息为依据,查询编译构建命令所需的第二依赖文件在第一节点的命中结果。
[0018]缓存结果查询单元,用于根据所述命中结果为未命中,查询至少一个第二节点的所述第二依赖文件的缓存结果。
[0019]依赖文件获取单元,用于根据所述缓存结果为存在,从具有第二依赖文件的第二节点获取所述第二依赖文件。
[0020]缓存信息刷新单元,用于基于所述第二依赖文件刷新第一缓存信息,以得到第二缓存信息;所述第二缓存信息用于记录刷新后的第一节点本地依赖缓存信息。
[0021]本专利技术的一种可实施方式中,所述依赖文件获取单元,用于根据多个第二节点缓存有所述第二依赖文件,分别获取所述多个第二节点的节点下载连接数;所述依赖文件获取单元用于对获取的所有节点当前正在并发下载的下载连接数进行排序,以得到排序结果;所述依赖文件获取单元用于根据所述排序结果从具有最小节点下载连接数的第二节点下载所述第二依赖文件。
[0022]为实现上述的技术目的,本专利技术还能够提供一种计算机设备,计算机设备包括存储器和处理器,所述存储器中可存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器可执行本专利技术任一实施例所述依赖文件缓存更新的方法的步骤。
[0023]为实现上述的技术目的,本专利技术还可具体提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行本专利技术任一实施例所述依赖文件缓存更新的方法的步骤。
[0024]本专利技术的有益效果为:
[0025]本专利技术根据生成的第一缓存信息判断当前节点(即本地节点)是否有所需依赖文件,并在当前节点没有所需依赖文件时可从当前节点外的其他节点获取该依赖文件,以将第一缓存信息刷新为用于下一次缓存命中结果查询的第二缓存信息。可见本专利技术在构建节点本地没有所需要的依赖文件时能够从其他相连接的节点快速获取所需依赖文件,极大缩短了所需依赖的下载耗时,以达到减少编译构建耗时和提高编译构建效率等技术目的。
附图说明
[0026]图1示出了本专利技术一个或多个实施例中依赖文件缓存更新的方法的流程示意图。
[0027]图2示出了本专利技术一个或多个实施例中编译构建依赖缓存算法详细流程示意图。
[0028]图3示出了本专利技术一个或多个实施例中本地存储的依赖文件的目录层次示意图。
[0029]图4示出了本专利技术一个或多个实施例中图3中的依赖文件缓存数据结构示意图。
[0030]图5示出了本专利技术一个或多个实施例中通过依赖文件(file6)更新缓存的可选流程示意图。
[0031]图6示出了本专利技术一个或多个实施例中淘汰依赖文件(file5)以及存放依赖文件(file6)的示意图。
[0032]图7示出了本专利技术一个或多个实施例中图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种依赖文件缓存更新的方法,其特征在于,应用于待构建集群的第一节点;所述方法包括:基于从第一节点本地依赖缓存中读取的第一依赖文件,生成第一依赖文件的第一缓存信息;所述第一缓存信息用于记录第一节点本地依赖缓存信息;以所述第一缓存信息为依据,查询编译构建命令所需的第二依赖文件在第一节点的命中结果;根据所述命中结果为未命中,查询至少一个第二节点的所述第二依赖文件的缓存结果;根据所述缓存结果为存在,从具有第二依赖文件的第二节点获取所述第二依赖文件;基于所述第二依赖文件刷新第一缓存信息,以得到第二缓存信息;所述第二缓存信息用于记录刷新后的第一节点本地依赖缓存信息。2.根据权利要求1所述的依赖文件缓存更新的方法,其特征在于,所述根据所述缓存结果为存在,从具有第二依赖文件的第二节点获取所述第二依赖文件,包括:如果多个第二节点缓存有所述第二依赖文件,分别获取所述多个第二节点的节点下载连接数;对获取的所有节点当前正在并发下载的下载连接数进行排序,以得到排序结果;根据所述排序结果从具有最小节点下载连接数的第二节点下载所述第二依赖文件。3.根据权利要求1或2所述的依赖文件缓存更新的方法,其特征在于,所述从具有第二依赖文件的第二节点获取所述第二依赖文件之后包括:根据第二依赖文件大小和第一依赖文件大小,确定本地依赖缓存是否达到配置的缓存上限;如果达到所述缓存上限,删除至少一个第一依赖文件,并在本地依赖缓存中存储所述第二依赖文件;如果未达到所述缓存上限,在本地依赖缓存中存储所述第二依赖文件。4.根据权利要求3所述的依赖文件缓存更新的方法,其特征在于,所述删除至少一个第一依赖文件包括:读取所述第一缓存信息或所述第二缓存信息中第一依赖文件的访问时间;至少删除访问时间最早的第一依赖文件。5.根据权利要求1所述的依赖文件缓存更新的方法,其特征在于,所述生成第一依赖文件的第一缓存信息包括:获取各个所述第一依赖文件的访问时间、文件名、本地存储路径以及大小;基于所述访问时间确定第一依赖文件的缓存数据结构;按照所述缓存数据结构,对所述第一依赖文件的访问时间、文件名、本地...

【专利技术属性】
技术研发人员:包红强
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

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

1