CN112671892A - 数据传输方法、装置、电子设备、介质和计算机程序产品 - Google Patents
数据传输方法、装置、电子设备、介质和计算机程序产品 Download PDFInfo
- Publication number
- CN112671892A CN112671892A CN202011525513.6A CN202011525513A CN112671892A CN 112671892 A CN112671892 A CN 112671892A CN 202011525513 A CN202011525513 A CN 202011525513A CN 112671892 A CN112671892 A CN 112671892A
- Authority
- CN
- China
- Prior art keywords
- file
- mirror
- data volume
- layer
- downloaded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开公开了一种数据传输方法、装置、电子设备、介质和计算机程序产品,涉及人工智能技术领域,尤其涉及容器技术、云计算及云服务技术领域。具体实现方案为:根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取目标镜像文件中候选镜像层的候选标识信息,以及目标镜像文件的文件总数据量;根据目标镜像文件的本地镜像层的属性信息,候选标识信息和目标镜像文件的文件总数据量,确定目标镜像文件的下载方式;其中,下载方式为文件格式下载或镜像层格式下载;根据目标镜像文件的下载方式,执行对目标镜像文件的下载操作。本公开实现了确定目标镜像文件的最优下载方式的效果,从而减小了下载过程中产生的数据下载量。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及容器技术、云计算及云服务技术领域,特别涉及一种数据传输方法、装置、电子设备、介质和计算机程序产品。
背景技术
Docker容器技术与虚拟机相比,大大降低了资源占用率,并方便了虚拟化的运维。但是面成千上万台Docker主机,如何高效的管理和分发Docker镜像是决定是否能快速部署Docker容器的关键因素。
现有技术是Docker主机基于下载的文件索引下载镜像文件,或者基于下载的镜像层索引下载镜像文件中的镜像层数据,然而无论哪种方式都会在下载过程中出现数据下载量过大的问题。
发明内容
本公开提供了一种用于减小下载过程中产生的数据下载量的方法、装置、电子设备、介质和计算机程序产品。
根据本公开的一方面,提供了一种数据传输方法,包括:
根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量;
根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式;其中,所述下载方式为文件格式下载或镜像层格式下载;
根据所述目标镜像文件的下载方式,执行对所述目标镜像文件的下载操作。
根据本公开的另一方面,提供了一种数据传输装置,包括:
信息获取模块,用于根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量;
下载方式确定模块,用于根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式;其中,所述下载方式为文件格式下载或镜像层格式下载;
下载模块,用于根据所述目标镜像文件的下载方式,执行对所述目标镜像文件的下载操作。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开中任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开中任一项所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例公开的一种数据传输方法的流程图;
图2是根据本公开实施例公开的一种数据传输方法的流程图;
图3是根据本公开实施例公开的一种数据传输装置的结构示意图;
图4是用来实现本公开实施例公开的数据传输方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
申请人在研发过程中发现,现有技术通常是通过如下两种方式实现镜像文件的下载:1、在镜像仓库中存储各镜像文件,以及各镜像文件对应的文件索引,Docker主机下载目标文件索引后,基于目标文件索引下载对应的镜像文件。2、在镜像仓库中存储各镜像文件包含的各镜像层数据,以及各镜像层数据对应的镜像层索引,Docker主机下载目标镜像层索引后,基于目标镜像层索引下载对应的镜像层数据。
然而上述两种方法都会在下载过程中出现数据下载量过大的问题。针对方法一,因为每个镜像文件都分为很多镜像层,一个镜像文件能有十多层到几十层的镜像层,不同的镜像文件可能会共享同一个镜像层。当Docker主机本地已存储至少一层镜像层时,下载整个镜像文件则会出现重复下载镜像层的现象,导致下载数据量过大。针对方法二,虽然避免了方法一中出现的重复下载镜像层的问题,但是由于单层镜像层索引本身具有一定的数据量,当镜像层的层数较多时,镜像层索引的总数据量甚至会比镜像文件本身的数据量还大,这无疑也会导致下载数据量过大。
图1是根据本公开实施例公开的一种数据传输方法的流程图,本实施例可以适用于主机从镜像仓库中下载镜像文件或镜像层数据的情况。本实施例方法可以由数据传输方法装置来执行,所述装置可采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备上。
如图1所示,本实施例公开的数据传输方法可以包括:
S101、根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量。
其中,镜像文件包含了用于容器启动工作的基础信息,例如程序、库、资源、配置文件以及配置参数等,即在主机本地端基于镜像文件可启动对应容器开启工作。镜像文件由至少一层松耦合的镜像层构成,每一层镜像层都包含有各自对应的数据内容,在一个镜像文件建立的初始阶段只包含一层基础镜像层,随着该镜像文件内容的修改或增加,则会在基础镜像层之上,创建新的镜像层。镜像文件始终保持是当前所有镜像层的组合,即所有镜像层数据之和就是镜像文件的镜像数据。镜像仓库是一种用于存储镜像文件的电子设备,主机本地端可向镜像仓库发起下载请求,以从镜像仓库中下载所需的镜像文件。在镜像仓库中镜像文件和镜像层都具有唯一对应的标识信息,以区分不同的镜像文件和镜像层。
本实施例提供了一种镜像文件传输方法的实施方式:主机对待上传镜像文件执行创建索引操作,得到待上传文件对应的文件索引。并且,还会对待上传文件中候选镜像层执行创建索引操作,得到候选镜像层对应的镜像层索引。主机将待上传镜像文件、待上传文件对应的文件索引、候选镜像层数据以及候选镜像层对应的镜像层索引,共同传输至镜像仓库中。镜像仓库接收到主机发送的信息后,将接收到的信息进行存储,并生成一个元数据文件,该元数据文件以待上传文件的标识信息作为标签,其内容包括但不限于待上传文件的文件总数据量、候选镜像层的候选标识信息、待上传文件对应的文件索引、以及候选镜像层对应的镜像层索引。其中,文件索引和镜像层索引表示torrent文件,即种子文件。主机可选的包括Docker主机,相应的待上传镜像文件可选的包括Docker镜像文件;待上传文件的标识信息通过包括对待上传文件数据进行哈希计算得到,相应的,候选镜像层的候选标识信息通过包括对各候选镜像层数据进行哈希计算得到。
在S101的一种实施方式中,主机根据目标镜像文件的文件标识信息,生成数据请求,并将数据请求发送给镜像仓库,镜像仓库根据文件标识信息在元数据文件标签中进行匹配,确定与该文件标识信息相匹配的标签,并将该标签对应的元数据文件反馈给主机。优选的,为了减少传输数据量,主机得到元数据文件后,只将元数据文件中的候选镜像层的候选标识信息,以及目标镜像文件的文件总数据量,反馈给主机,以便主机根据接收的数据进行后续处理。
通过根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取目标镜像文件中候选镜像层的候选标识信息,以及目标镜像文件的文件总数据量,为后续确定下载方式奠定了数据基础。
S102、根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式;其中,所述下载方式为文件格式下载或镜像层格式下载。
在一种实施方式中,主机根据文件标识信息在本地进行查询,确定本地已存储的目标镜像文件的本地镜像层,并在本地属性文件中获取本地镜像层的属性信息,进而根据本地镜像层的属性信息和候选标识信息,确定待下载镜像层的层数和待下载镜像层数据量,进而根据待下载镜像层的层数和待下载镜像层数据量,确定镜像层下载产生的总数据量,并根据镜像层下载产生的总数据量和目标镜像文件的文件总数据量,确定目标镜像文件的下载方式。
S103、根据所述目标镜像文件的下载方式,执行对所述目标镜像文件的下载操作。
在一种实施方式中,若目标镜像文件的下载方式为文件格式下载,主机则从镜像仓库中下载目标镜像文件的文件索引,并基于下载完成的文件索引通过包括点对点技术,从镜像仓库中下载目标镜像文件存储到主机本地磁盘中。
在另一种实施方式中,若目标镜像文件的下载方式为镜像层格式下载,主机则从镜像仓库中下载目标镜像文件待下载镜像层的镜像层索引,并基于下载完成的镜像层索引通过包括点对点技术,从镜像仓库中下载目标镜像文件的待下载镜像层数据,存储到主机本地磁盘中。
根据本实施例的技术方案,通过根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取目标镜像文件中候选镜像层的候选标识信息,以及目标镜像文件的文件总数据量,进而根据目标镜像文件的本地镜像层的属性信息,候选标识信息和目标镜像文件的文件总数据量,确定目标镜像文件的下载方式,最终根据目标镜像文件的下载方式,执行对目标镜像文件的下载操作,实现了确定目标镜像文件的最优下载方式的效果,从而减小了下载过程中产生的数据下载量。
在上述实施例的基础上,S102包括A、B和C三个步骤:
A、根据所述目标镜像文件的文件总数据量,确定文件格式下载的第一数据量。
在一种实施方式中,直接将目标镜像文件的文件总数据量,作为文件格式下载的第一数据量。
在另一种实施方式中,由于文件格式下载还需要下载目标镜像文件对应的文件索引,虽然文件索引的数据量较小,但是为了提高第一数据量的精准性,根据所述目标镜像文件的文件总数据量,以及目标镜像文件对应文件索引的文件索引数据量,确定文件格式下载的第一数据量。
B、根据所述目标镜像文件的本地镜像层的属性信息,和所述候选标识信息,确定镜像层格式下载的第二数据量。
在一种实施方案中,根据本地镜像层的属性信息和候选标识信息,确定待下载镜像层的层数和待下载镜像层数据量,进而根据待下载镜像层的层数和待下载镜像层数据量,确定镜像层格式下载的第二数据量。
C、比较所述第一数据量和所述第二数据量,并根据比较结果确定所述目标镜像文件的下载方式。
在一种实施方式中,将第一数据量和第二数据量进行比较,确定第一数据量和第二数据量的大小关系,并根据得到的大小关系选择文件格式下载或镜像层格式下载。
通过根据目标镜像文件的文件总数据量,确定文件格式下载的第一数据量,并根据目标镜像文件的本地镜像层的属性信息,和候选标识信息,确定镜像层格式下载的第二数据量,进而比较第一数据量和第二数据量,并根据比较结果确定目标镜像文件的下载方式,实现了分别确定文件格式下载的第一数据量,和镜像层格式下载的第二数据量的效果,并且根据第一数据量和第二数据量确定目标镜像文件的下载方式。
在上述实施例的基础上,S103之后,包括:通过自身开启的点对点技术服务,响应其他主机的数据请求,并将下载的数据发送给其他主机。可选的,如果S103之后预设时间段内未接收到任一主机发送的数据请求,则关闭点对点技术服务,预设时间段可选的为10秒。
图2是根据本公开实施例公开的一种数据传输方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。
如图2所示,该方法可以包括:
S201、根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量。
S202、确定所述目标镜像文件对应文件索引的文件索引数据量,并将所述目标镜像文件的文件总数据量,与所述文件索引数据量的和值,作为所述文件格式下载的第一数据量。
在一种实施方式中,由于下载目标镜像文件需要首先下载目标镜像文件对应文件索引,目标镜像文件对应文件索引通常会有固定的数据量,例如通常文件索引数据量为100KB,则文件格式下载的第一数据量为文件索引数据量,与目标镜像文件的文件总数据量的和值。
示例性的,假设文件索引数据量为100KB,目标镜像文件的文件总数据量为2000KB,则文件格式下载的第一数据量为:2000KB+100KB=2100KB。
S203、根据目标镜像文件的本地镜像层的属性信息,确定本地镜像层的本地标识信息,并根据所述本地镜像层的本地标识信息和所述候选标识信息,确定待下载镜像层的层数。
在一种实施方式中,主机调用统计方法,例如stat方法,统计本地端已存储目标镜像文件的本地镜像层,并访问属性文件确定本地镜像层的属性信息,本地镜像层的属性信息中包括本地镜像层的本地标识信息,主机对本地镜像层的属性信息进行解析,确定本地标识信息,并将本地标识信息与候选标识信息进行比对,确定待下载镜像层的层数。
可选的,S203中“根据所述本地镜像层的本地标识信息和所述候选标识信息,确定待下载镜像层的层数”,包括:
将所述候选标识信息中除去所述本地标识信息的标识信息数量,作为所述待下载镜像层的层数。
示例性的,假设候选标识信息为“0001”“0002”、“0003”、“0004”和“0005”,本地标识信息为“0001”、“0003”和“0005”,则候选标识信息中除去本地标识信息剩余的标识信息为“0002”和“0004”,剩余标识信息的数据量为2个,则待下载镜像层的层数为2层。
通过将候选标识信息中除去本地标识信息的标识信息数量,作为待下载镜像层的层数,实现了确定待下载镜像层的层数的技术效果,为后续确定镜像层格式下载的第二数据量奠定了基础。
S204、根据目标镜像文件的本地镜像层的属性信息,确定本地镜像层数据量,并根据所述本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量。
在一种实施方式中,本地镜像层的属性信息中包括本地镜像层数据量,主机对本地镜像层的属性信息进行解析,确定本地镜像层数据量,进而通过预设计算公式,对本地镜像层数据量和目标镜像文件的文件总数据量进行计算,确定待下载镜像层数据量。
可选的,S204中“根据所述本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量”,包括:
将所述目标镜像文件的文件总数据量,和所述本地镜像层数据量之间的差值,作为所述待下载镜像层数据量。
示例性的,假设目标镜像文件的文件总数据量为2000KB,本地镜像层数据量为500KB,则待下载镜像层数据量为:2000KB-500KB=1500KB。
通过将所述目标镜像文件的文件总数据量,和所述本地镜像层数据量之间的差值,作为所述待下载镜像层数据量,实现了确定待下载镜像层数据量的技术效果,为后续确定镜像层格式下载的第二数据量奠定了基础。
S205、根据所述待下载镜像层的层数和所述待下载镜像层数据量,确定镜像层格式下载的第二数据量。
在一种实施方式中,下载待下载镜像层需要首先下载待下载镜像层对应镜像层索引,待下载镜像层对应镜像层索引的数据量,是根据待下载镜像层的层数,以及单层镜像层的镜像层索引数据量确定的,最终根据待下载镜像层对应镜像层索引的数据量,以及待下载镜像层数据量,确定镜像层格式下载的第二数据量。
可选的,S205,包括:
根据待下载镜像层的层数,以及单层镜像层对应镜像层索引的镜像层索引数据量,确定待下载镜像层对应镜像层索引的镜像层索引总数据量,并将镜像层索引总数据量,与待下载镜像层数据量之间的和值,作为镜像层格式下载的第二数据量。
在一种实施方式中,将待下载镜像层的层数,与单层镜像层对应镜像层索引的镜像层索引数据量之间的乘积,作为待下载镜像层对应镜像层索引的镜像层索引总数据量。
在另一种实施方式中,由于镜像层索引在解析和生成的过程中还会产生额外的数据量,因此基于经验值设置数据量系数,则将待下载镜像层的层数、单层镜像层对应镜像层索引的镜像层索引数据量,以及数据量系数之间的乘积,作为镜像层格式下载的第二数据量。
示例性的,假设待下载镜像层的层数为5层,单层镜像层对应镜像层索引的镜像层索引数据量为100KB,数据量系数为1.2,则待下载镜像层对应镜像层索引的镜像层索引总数据量为:100KB*5*1.2=600KB。假设待下载镜像层数据量为1500KB,则镜像层格式下载的第二数据量为:1500KB+600KB=2100KB。
通过根据待下载镜像层的层数,以及单层镜像层对应镜像层索引的镜像层索引数据量,确定待下载镜像层对应镜像层索引的镜像层索引总数据量,并将镜像层索引总数据量,与待下载镜像层数据量之间的和值,作为镜像层格式下载的第二数据量,实现了确定镜像层格式下载的第二数据量的效果,为后续确定下载方式奠定了数据基础。
S206、确定第一数据量是否大于第二数据量,若是则执行步骤207,否则执行步骤208。
S207、将所述镜像层格式下载作为所述目标镜像文件的下载方式,并采用镜像层格式下载方式,执行对所述目标镜像文件的下载操作。
其中,由于第一数据量大于第二数据量,则表示文件格式下载产生的数据量,大于镜像层格式下载产生的数据量,因此将镜像层格式下载作为目标镜像文件的下载方式。
S208、确定第一数据量是否小于第二数据量,若是则执行步骤209,否则执行步骤210。
S209、将所述文件格式下载作为所述目标镜像文件的下载方式,并采用文件格式下载方式,执行对所述目标镜像文件的下载操作。
其中,由于第一数据量小于第二数据量,则表示文件格式下载产生的数据量,小于镜像层格式下载产生的数据量,因此将文件格式下载作为目标镜像文件的下载方式。
S210、将所述文件格式下载和所述镜像层格式下载中的任一下载方式,作为所述目标镜像文件的下载方式,并执行对所述目标镜像文件的下载操作。
其中,由于第一数据量等于第二数据量,则表示文件格式下载产生的数据量,等于镜像层格式下载产生的数据量,因此将文件格式下载和镜像层格式下载中的任一下载方式,作为目标镜像文件的下载方式。
根据本实施例的技术方案,通过确定目标镜像文件对应文件索引的文件索引数据量,并将目标镜像文件的文件总数据量,与文件索引数据量的和值,作为文件格式下载的第一数据量,实现了确定文件格式下载产生的第一数据量的效果,为后续确定目标镜像文件的下载方式奠定了基础;通过根据本地镜像层的本地标识信息和候选标识信息,确定待下载镜像层的层数,并根据本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量,进而根据待下载镜像层的层数和待下载镜像层数据量,确定镜像层格式下载的第二数据量,实现了确定镜像层格式下载产生的第二数据量的效果,为后续确定目标镜像文件的下载方式奠定了基础;通过若第一数据量大于第二数据量,则将镜像层格式下载作为目标镜像文件的下载方式,若第一数据量小于第二数据量,则将文件格式下载作为目标镜像文件的下载方式,实现了根据下载过程中产生的数据量,确定目标镜像文件的最优下载方式的效果,从而减小了下载过程中产生的数据下载量。
在上述实施例的基础上,本实施例还提供了一种目标镜像文件的下载方式的确定方法,将目标镜像文件的文件总数据量用A表示,目标镜像文件对应文件索引的文件索引数据量用B表示,待下载镜像层的层数用C表示,单层镜像层对应镜像层索引的镜像层索引数据量用D表示,本地镜像层数据量用E表示,则文件格式下载产生的数据量X可表示为:A+B,镜像层格式下载产生的数据量Y可表示为:(A-E)+C*D,将两者相减X-Y=B+E-C*D,由于实际中单个文件索引数据量很小,可以忽略不计,因此X-Y还可以表示为:E-C*D,则直接比较本地镜像层数据量E,以及待下载镜像层对应镜像层索引的镜像层索引总数据量C*D的大小,若E大于C*D则将镜像层格式下载作为目标镜像文件的下载方式,而若E小于C*D则将文件格式下载作为目标镜像文件的下载方式。
图3是根据本公开实施例公开的一种数据传输装置的结构示意图,可以适用于主机从镜像仓库中下载镜像文件或镜像层数据的情况。本实施例装置可采用软件和/或硬件实现,并可集成在任意的具有计算能力的电子设备上。
如图3所示,本实施例公开的数据传输装置30可以包括信息获取模块31、下载方式确定模块32和下载模块33,其中:
信息获取模块31,用于根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量;
下载方式确定模块32,用于根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式;其中,所述下载方式为文件格式下载或镜像层格式下载;
下载模块33,用于根据所述目标镜像文件的下载方式,执行对所述目标镜像文件的下载操作。
可选的,所述下载方式确定模块32,具体用于:
根据所述目标镜像文件的文件总数据量,确定文件格式下载的第一数据量;
根据所述目标镜像文件的本地镜像层的属性信息,和所述候选标识信息,确定镜像层格式下载的第二数据量;
比较所述第一数据量和所述第二数据量,并根据比较结果确定所述目标镜像文件的下载方式。
可选的,所述本地镜像层的属性信息包括本地镜像层的本地标识信息和本地镜像层数据量;
所述下载方式确定模块32,具体还用于:
根据所述本地镜像层的本地标识信息和所述候选标识信息,确定待下载镜像层的层数;
根据所述本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量;
根据所述待下载镜像层的层数和所述待下载镜像层数据量,确定镜像层格式下载的第二数据量。
可选的,所述下载方式确定模块32,具体还用于:
将所述候选标识信息中除去所述本地标识信息的标识信息数量,作为所述待下载镜像层的层数。
可选的,所述下载方式确定模块32,具体还用于:
将所述目标镜像文件的文件总数据量,和所述本地镜像层数据量之间的差值,作为所述待下载镜像层数据量。
可选的,所述下载方式确定模块32,具体还用于:
根据所述待下载镜像层的层数,以及单层镜像层对应镜像层索引的镜像层索引数据量,确定所述待下载镜像层对应镜像层索引的镜像层索引总数据量;
将所述镜像层索引总数据量,与所述待下载镜像层数据量之间的和值,作为所述镜像层格式下载的第二数据量。
可选的,所述下载方式确定模块32,具体还用于:
确定所述目标镜像文件对应文件索引的文件索引数据量;
将所述目标镜像文件的文件总数据量,与所述文件索引数据量的和值,作为所述文件格式下载的第一数据量。
可选的,所述下载方式确定模块32,具体还用于:
若所述第一数据量大于所述第二数据量,则将所述镜像层格式下载作为所述目标镜像文件的下载方式;
若所述第一数据量小于所述第二数据量,则将所述文件格式下载作为所述目标镜像文件的下载方式。
本公开实施例所公开的数据传输装置30可执行本公开实施例所公开的数据传输方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如数据传输方法。例如,在一些实施例中,数据传输方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的数据传输方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据传输方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种数据传输方法,包括:
根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量;
根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式;其中,所述下载方式为文件格式下载或镜像层格式下载;
根据所述目标镜像文件的下载方式,执行对所述目标镜像文件的下载操作。
2.根据权利要求1所述的方法,其中,所述根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式,包括:
根据所述目标镜像文件的文件总数据量,确定文件格式下载的第一数据量;
根据所述目标镜像文件的本地镜像层的属性信息,和所述候选标识信息,确定镜像层格式下载的第二数据量;
比较所述第一数据量和所述第二数据量,并根据比较结果确定所述目标镜像文件的下载方式。
3.根据权利要求2所述的方法,其中,所述本地镜像层的属性信息包括本地镜像层的本地标识信息和本地镜像层数据量;
所述根据所述目标镜像文件的本地镜像层的属性信息,和所述候选标识信息,确定镜像层格式下载的第二数据量,包括:
根据所述本地镜像层的本地标识信息和所述候选标识信息,确定待下载镜像层的层数;
根据所述本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量;
根据所述待下载镜像层的层数和所述待下载镜像层数据量,确定镜像层格式下载的第二数据量。
4.根据权利要求3所述的方法,其中,根据所述本地镜像层的本地标识信息和所述候选标识信息,确定待下载镜像层的层数,包括:
将所述候选标识信息中除去所述本地标识信息的标识信息数量,作为所述待下载镜像层的层数。
5.根据权利要求3所述的方法,其中,根据所述本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量,包括:
将所述目标镜像文件的文件总数据量,和所述本地镜像层数据量之间的差值,作为所述待下载镜像层数据量。
6.根据权利要求3所述的方法,其中,根据所述待下载镜像层的层数和所述待下载镜像层数据量,确定镜像层格式下载的第二数据量,包括:
根据所述待下载镜像层的层数,以及单层镜像层对应镜像层索引的镜像层索引数据量,确定所述待下载镜像层对应镜像层索引的镜像层索引总数据量;
将所述镜像层索引总数据量,与所述待下载镜像层数据量之间的和值,作为所述镜像层格式下载的第二数据量。
7.根据权利要求2所述的方法,其中,根据所述目标镜像文件的文件总数据量,确定文件格式下载的第一数据量,包括:
确定所述目标镜像文件对应文件索引的文件索引数据量;
将所述目标镜像文件的文件总数据量,与所述文件索引数据量的和值,作为所述文件格式下载的第一数据量。
8.根据权利要求2所述的方法,其中,比较所述第一数据量和所述第二数据量,并根据比较结果确定所述目标镜像文件的下载方式,包括:
若所述第一数据量大于所述第二数据量,则将所述镜像层格式下载作为所述目标镜像文件的下载方式;
若所述第一数据量小于所述第二数据量,则将所述文件格式下载作为所述目标镜像文件的下载方式。
9.一种数据传输装置,包括:
信息获取模块,用于根据待下载的目标镜像文件的文件标识信息,从镜像仓库中获取所述目标镜像文件中候选镜像层的候选标识信息,以及所述目标镜像文件的文件总数据量;
下载方式确定模块,用于根据目标镜像文件的本地镜像层的属性信息,所述候选标识信息和所述目标镜像文件的文件总数据量,确定所述目标镜像文件的下载方式;其中,所述下载方式为文件格式下载或镜像层格式下载;
下载模块,用于根据所述目标镜像文件的下载方式,执行对所述目标镜像文件的下载操作。
10.根据权利要求9所述的装置,其中,所述下载方式确定模块,具体用于:
根据所述目标镜像文件的文件总数据量,确定文件格式下载的第一数据量;
根据所述目标镜像文件的本地镜像层的属性信息,和所述候选标识信息,确定镜像层格式下载的第二数据量;
比较所述第一数据量和所述第二数据量,并根据比较结果确定所述目标镜像文件的下载方式。
11.根据权利要求10所述的装置,其中,所述本地镜像层的属性信息包括本地镜像层的本地标识信息和本地镜像层数据量;
所述下载方式确定模块,具体还用于:
根据所述本地镜像层的本地标识信息和所述候选标识信息,确定待下载镜像层的层数;
根据所述本地镜像层数据量和目标镜像文件的文件总数据量,确定待下载镜像层数据量;
根据所述待下载镜像层的层数和所述待下载镜像层数据量,确定镜像层格式下载的第二数据量。
12.根据权利要求11所述的装置,其中,所述下载方式确定模块,具体还用于:
将所述候选标识信息中除去所述本地标识信息的标识信息数量,作为所述待下载镜像层的层数。
13.根据权利要求11所述的装置,其中,所述下载方式确定模块,具体还用于:
将所述目标镜像文件的文件总数据量,和所述本地镜像层数据量之间的差值,作为所述待下载镜像层数据量。
14.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011525513.6A CN112671892B (zh) | 2020-12-22 | 2020-12-22 | 数据传输方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011525513.6A CN112671892B (zh) | 2020-12-22 | 2020-12-22 | 数据传输方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112671892A true CN112671892A (zh) | 2021-04-16 |
CN112671892B CN112671892B (zh) | 2022-11-18 |
Family
ID=75407446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011525513.6A Active CN112671892B (zh) | 2020-12-22 | 2020-12-22 | 数据传输方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671892B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579520A (zh) * | 2022-03-04 | 2022-06-03 | 北京百度网讯科技有限公司 | 镜像数据处理方法、镜像数据加载方法及装置 |
CN114756510A (zh) * | 2022-06-14 | 2022-07-15 | 深圳萨尔浒网络科技有限公司 | 计算机文件数据匹配方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017032170A1 (zh) * | 2015-08-21 | 2017-03-02 | 华为技术有限公司 | 镜像文件的导入方法及装置 |
CN108401031A (zh) * | 2018-03-13 | 2018-08-14 | 深圳市腾讯计算机系统有限公司 | 一种镜像文件传输方法、装置及存储介质 |
CN109756533A (zh) * | 2017-11-02 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种镜像加速方法、装置及服务器 |
CN110198330A (zh) * | 2018-03-27 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 镜像下载方法和装置 |
CN110912955A (zh) * | 2018-09-17 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 容器镜像下载、上传方法及装置 |
US20200334066A1 (en) * | 2019-04-18 | 2020-10-22 | Huazhong University Of Science And Technology | Nvm-based method for performance acceleration of containers |
-
2020
- 2020-12-22 CN CN202011525513.6A patent/CN112671892B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017032170A1 (zh) * | 2015-08-21 | 2017-03-02 | 华为技术有限公司 | 镜像文件的导入方法及装置 |
CN109756533A (zh) * | 2017-11-02 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种镜像加速方法、装置及服务器 |
CN108401031A (zh) * | 2018-03-13 | 2018-08-14 | 深圳市腾讯计算机系统有限公司 | 一种镜像文件传输方法、装置及存储介质 |
CN110198330A (zh) * | 2018-03-27 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 镜像下载方法和装置 |
CN110912955A (zh) * | 2018-09-17 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 容器镜像下载、上传方法及装置 |
US20200334066A1 (en) * | 2019-04-18 | 2020-10-22 | Huazhong University Of Science And Technology | Nvm-based method for performance acceleration of containers |
Non-Patent Citations (4)
Title |
---|
A. BRYAN等: "《Metalink/HTTP: Mirrors and Hashes (RFC6249)》", 11 February 2019 * |
张怡: ""基于Docker的虚拟化应用平台设计与实现"", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
陆志刚等: "基于分片复用的多版本容器镜像加载方法", 《软件学报》 * |
魏兴慎等: "SecDr:一种内容安全的Docker镜像仓库", 《计算机与现代化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579520A (zh) * | 2022-03-04 | 2022-06-03 | 北京百度网讯科技有限公司 | 镜像数据处理方法、镜像数据加载方法及装置 |
CN114756510A (zh) * | 2022-06-14 | 2022-07-15 | 深圳萨尔浒网络科技有限公司 | 计算机文件数据匹配方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112671892B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866391A (zh) | 消息推送方法、装置、电子设备及存储介质 | |
CN112671892B (zh) | 数据传输方法、装置、电子设备及介质 | |
CN112506584B (zh) | 资源文件加载方法、装置、设备、存储介质以及产品 | |
CN110727468A (zh) | 管理算法模型的方法和装置 | |
CN112948081B (zh) | 延时处理任务的方法、装置、设备以及存储介质 | |
CN113312553A (zh) | 一种用户标签的确定方法和装置 | |
CN115103024B (zh) | 一种序列号生成方法、装置、电子设备及存储介质 | |
CN113360689B (zh) | 图像检索系统、方法、相关装置及计算机程序产品 | |
CN112714163B (zh) | 数据传输方法、装置、电子设备和介质 | |
CN115514718A (zh) | 基于数据传输系统的数据交互方法、控制层、设备 | |
CN112965836B (zh) | 服务控制方法、装置、电子设备及可读存储介质 | |
CN114139605A (zh) | 分布式的模型训练方法、系统、设备以及存储介质 | |
CN114143196A (zh) | 实例配置更新方法、装置、设备、存储介质及程序产品 | |
CN113568706A (zh) | 针对业务的容器调整方法、装置、电子设备和存储介质 | |
CN114138358A (zh) | 应用程序的启动优化方法、装置、设备和存储介质 | |
CN109213815B (zh) | 控制执行次数的方法、装置、服务器终端以及可读介质 | |
CN114579520B (zh) | 镜像数据处理方法、镜像数据加载方法及装置 | |
CN114327271B (zh) | 生命周期的管理方法、装置、设备以及存储介质 | |
CN112784139B (zh) | 查询方法、装置、电子设备和计算机可读介质 | |
CN116233051A (zh) | 一种针对小程序的页面分享方法、装置、设备及存储介质 | |
CN114398072A (zh) | 安装包生成方法、装置、设备和存储介质 | |
CN113722548A (zh) | 一种业务系统中引用关系的处理方法和装置 | |
CN113946414A (zh) | 一种任务处理方法、装置及电子设备 | |
CN114647634A (zh) | 创建数据库的方法、操作数据库的方法和装置 | |
CN114416040A (zh) | 一种页面构建方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |