CN114598697B - 一种传输文件的方法、装置及计算机可读存储介质 - Google Patents

一种传输文件的方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN114598697B
CN114598697B CN202210318380.8A CN202210318380A CN114598697B CN 114598697 B CN114598697 B CN 114598697B CN 202210318380 A CN202210318380 A CN 202210318380A CN 114598697 B CN114598697 B CN 114598697B
Authority
CN
China
Prior art keywords
task
slice
information
meta
data
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.)
Active
Application number
CN202210318380.8A
Other languages
English (en)
Other versions
CN114598697A (zh
Inventor
张明
邓光超
赵山
刘勇
肖雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202210318380.8A priority Critical patent/CN114598697B/zh
Publication of CN114598697A publication Critical patent/CN114598697A/zh
Application granted granted Critical
Publication of CN114598697B publication Critical patent/CN114598697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种传输文件的方法、装置及计算机可读存储介质,涉及通信技术领域,通过发送任务元信息至接收方,任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令,将任务元信息对应的数据切片得到切片数据,构建切片数据的切片元信息,将切片元信息发送至接收方,以便接收方根据切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息,可见,通过对大文件数据进行切片,得到很多个切片数据,可以保证在传输的过程中传输切片数据,当网络异常中断,或发生紧急情况时,可以根据切片偏移量确认出传输的进度,根据传输的进度继续传输,避免了因错误导致传输时间增加,成本加大,网络的开销加大等问题。

Description

一种传输文件的方法、装置及计算机可读存储介质
技术领域
本申请涉及通信技术领域,特别是涉及一种传输文件的方法、装置及计算机可读存储介质。
背景技术
分布式消息队列(NATS)是一种面向现代分布式系统的一种连接技术。提供了消息驱动的分布式系统中常见的寻址、发现、交换信息等模型,同时NATS也保持了其灵活性和简洁性,它几乎可以部署到现在常见的任意工作环境,大到常见的云平台编排系统(基于容器或者虚拟化),小到边缘设备端。兼顾安全的同时,NATS高效、敏捷、弹性部署的能力,为现代企业系统提供了一种良好的消息传输系统的解决方案,成为现代企业系统中通信基石。在历史数据存储方面,多是通过文件归档的形式,对于大文件的传输方式与小文件的传输方式相同,通过直接对文件进行传输,但是在传输的过程中,由于文件过大,一旦发生异常情况,比如网络断开,则传输的过程便会终止,并且之前传输的进度也会清空,这就导致传输时间增加,传输的成本加大,网络的开销加大等问题。
鉴于上述技术问题,寻求一种减少传输成本的方法,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种传输文件的方法、装置及计算机可读存储介质。
为解决上述技术问题,本申请提供一种传输文件的方法,应用于发送方,所述方法包括:
发送任务元信息至接收方,所述任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令、所述任务开启指令至少包括切片元信息关联主题、任务ID、切片大小以及任务大小,所述任务结束指令包括传输的文件的校验值;
将所述任务元信息对应的数据切片得到切片数据;
构建所述切片数据的切片元信息;
将所述切片元信息发送至所述接收方,以便所述接收方根据所述切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,所述切片元信息至少包括切片偏移量、所述切片数据对应的特征值以及关联任务的任务ID。
为解决上述技术问题,本申请还提供一种传输文件的方法,应用于接收方,所述方法包括:
接收任务元信息,所述任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令、所述任务开启指令至少包括切片元信息关联主题、任务ID、切片大小以及任务大小,所述任务结束指令包括传输的文件的校验值;
接收切片元信息,并根据所述切片元信息获取与之对应的切片数据;
根据全部所述切片数据获取对应的文件信息,其中,所述切片元信息至少包括切片偏移量、所述切片数据对应的特征值以及关联任务的任务ID。
优选地,若所述接收方为服务端,则在所述接收任务元信息之后还包括:
触发任务检测模块,所述任务检测模块包括:
判断在预设时间内是否接收到与任务关联的信息;
若是,记录接收与所述任务关联的信息的时间,并返回所述判断在预设时间内是否接收到与所述任务关联的信息的步骤。
优选地,若未在预设时间内接收到与所述任务关联的信息,则还包括:
触发任务终止指令;
清除已传输的与所述任务关联的信息。
优选地,若所述接收方为服务端,则在根据所述切片元信息获取与之对应的所述切片数据之后还包括:
根据所述切片元信息判断是否存在与所述切片元信息对应的切片数据;
若是,将所述切片元信息和与之对应的切片数据关联,并反馈无需发送与所述切片元信息对应的切片数据的信息至发送方;
若否,发送需要与所述切片元信息对应的切片数据的指令至所述发送方,并在接收与所述切片元信息对应的切片数据后,将所述切片元信息和与之对应的切片数据关联。
优选地,若所述接收方为客户端,则在所述接收任务元信息之后还包括:
判断所述任务元信息是否为开始任务元信息;
若是,根据所述任务元信息构建本地缓存,并进入所述接收切片元信息的步骤;
若否,在所述任务元信息对应的任务为正常结束时,校验数据,在所述任务元信息对应的任务为非正常结束时,清理本地缓存数据。
优选地,若传输过程发生异常中断,则还包括:
重新接收已经发送的信息;
并根据所述切片元信息判断是否需要重新发送所述切片数据;
若是,重新接收所述切片数据;
若否,继续接收所述文件的剩余部分。为解决上述技术问题,本申请还提供一种传输文件的装置,应用于发送方,包括:
第一发送模块,用于发送任务元信息至接收方,所述任务元信息至少包括任务的开启指令、任务结束指令以及任务异常终止指令,所述任务开启指令至少包括切片元信息关联主题、任务ID、切片大小以及任务大小,所述任务结束指令包括传输的文件的校验值;
切片模块,用于将所述任务元信息对应的数据切片得到切片数据;
构建模块,用于构建所述切片数据的切片元信息;
第二发送模块,用于将所述切片元信息发送至接收方,以便所述接收方根据所述切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,所述切片元信息至少包括切片偏移量以及关联任务的任务ID。
为解决上述技术问题,本申请还提一种传输文件的装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的传输文件的方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的传输文件的方法的步骤。
本申请所提供的一种传输文件的方法,通过发送任务元信息至接收方,任务元信息至少包括任务的开启指令、任务结束指令以及任务异常终止指令,并将任务元信息对应的数据切片得到切片数据,构建切片数据的切片元信息,将切片元信息发送至接收方,以便接收方根据切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,切片元信息至少包括切片偏移量。可见,此方法通过对大文件数据进行切片,得到很多个切片数据,可以保证在传输的过程中传输切片数据,当网络异常中断,或发生紧急情况时,可以根据切片偏移量确认出传输的进度,根据传输的进度继续传输,避免了因错误导致传输时间增加,成本加大,网络的开销加大等问题。
在此基础上,本申请还提供一种传输文件的装置和计算机可读存储介质,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种传输文件的方法的流程图;
图2为本申请实施例提供的一种传输文件的装置的结构图;
图3为本申请实施例提供的另一种传输文件的方法的流程图;
图4为本申请另一实施例提供一种传输文件的方法的流程图
图5为本申请另一实施例提供的传输文件的装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种传输文件的方法、装置及计算机可读存储介质。需要说明的是,本申请提到的传输文件的方法应用于NATS,NATS是一种面向现代分布式系统的一种连接技术,但不限于NATS,由于NATS在传输大文件的过程中,没有良好的支持,因此本申请主要运用于NATS。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请实施例提供的一种传输文件的方法的流程图,值得注意的是,该方法应用于发送方,如图1所示,传输文件的方法包括:
S10:发送任务元信息至接收方。
S11:将任务元信息对应的数据切片得到切片数据。
S12:构建切片数据的切片元信息。
S13:将切片元信息发送至接收方。
可以理解的是,大文件的传输方式与小文件的传输方式,因此在大文件的传输过程中,由于文件过大,一旦发生异常情况,比如网络断开,则传输的过程便会终止,并且之前传输的进度也会清空,这就导致传输时间增加,传输的成本加大,网络的开销加大等问题。因此提出一种传输文件的方法,如步骤S10所说,将任务元信息发送至接收方,其中,任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令,任务开启指令至少包括切片元信息关联主题、任务身份标识号(Identity document,ID)、切片大小以及任务大小,任务结束指令包括传输的文件的校验值。值得注意的是,每个任务的任务ID都是唯一的,且每个任务之间的任务ID不相同,另外,本实施例对于如何定义任务的任务ID不作限定,只需要满足每个任务的任务ID不同即可。此外,任务的开始时间是指任务开始传输时的时间。
对于S11步骤所说,将任务元信息对应的数据切片得到切片数据,通过指定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素,这种访问序列的方式叫做切片。本实施例对如何对任务元信息对应的数据切片不作限定,只需满足将任务元信息对应的数据切片即可。此外,对应的S12步骤,构建切片数据的切片元信息,其中,切片元信息包括切片数据对应的sha值,sha值就像人的指纹,是数据对应的数字指纹,是唯一的,一个切片数据对应一个唯一的sha值,一般用来确认下载的文件和官方发布的文件是否一致。此外,切片元信息还包括切片偏移量,切片偏移量是指记录切片数据的位置,具体的为,第一个切片数据的切片偏移量为0,第二个切片数据的切片偏移量为1,以此类推,第N个切片数据的切片偏移量为N-1。另外,可以根据切片数据的切片偏移量,找到对应的下载进度,比如在切片偏移量为10的时候传输中断,则可以直接根据切片偏移量找到对应的切片数据,继续传输。
此外,在步骤S13中所说,将切片元信息发送至接收方。接收方接收切片元信息之后会根据切片元信息获取对应的切片数据,并根据全部切片数据获取对应的文件信息。值得注意的是,本实施例中提到的接收方可以为客户端也可以为服务端,当为客户端时,此时的文件传输可以称为下载文件,当为服务端时,此时的文件传输可以称为上载文件,也就是常说的上传文件。
本实施例提供的一种传输文件的方法,通过发送任务元信息至接收方,任务元信息至少包括任务的开始时间和任务ID,并将任务元信息对应的数据切片得到切片数据,构建切片数据的切片元信息,将切片元信息发送至接收方,以便接收方根据切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,切片元信息至少包括切片偏移量与切片数据对应的特征值。可见,此方法通过对大文件数据进行切片,得到很多个切片数据,可以保证在传输的过程中传输切片数据,当网络异常中断,或发生紧急情况时,可以根据切片偏移量确认出传输的进度,根据传输的进度继续传输,避免了因错误导致传输时间增加,成本加大,网络的开销加大等问题。
在具体实施例中,将任务元信息对应的数据切片,并将切片元信息发送至接收方,每个切片元信息的发送都有可能因异常网络而中断,考虑到这种情况,本实施例提出另一种传输文件的方法,在步骤S10之后还包括:
接收方接收到任务元信息之后会触发任务检测模块,其中任务检测模块包括判断在预设时间内是否接收到与任务关联的信息;
若是,记录接收与任务关联的信息的时间,并返回判断在预设时间内是否接收到与任务关联的信息的步骤。若否,发送任务终止的指令至接收方,接收方将已传输的与任务关联的信息删除。可以理解的是,一个任务元信息对应的数据切片得到的切片数据有很多,传输过程中,每一个切片元信息的传输时间相同,如果预设时间未收到新的切片元信息,则传输的过程中可能出现问题,因此,在传输任务元信息至接收方之后,接收方触发任务监测模块,并开启任务监测功能。记录接收任务元信息的时间,并判断在预设时间内是否接收到与任务关联的信息,本实施例对预设时间不作限定,可以在切片元信息传输的时间的基础上加上一个误差时间,也可以直接为传输时间,可以根据具体的实施情况对预设时间进行选择。
此外,若预设时间内接收到与任务关联的信息,则记录接收到与任务关联的信息的时间,并返回判断在预设时间内是否接收到与任务关联的信息的步骤,也就是说,将新接收到的与任务关联的信息的时间作为新的起点时间进行判断,判断预设时间内是否有下一个接收到下一个与任务关联的信息,直到所有切片数据都接收完毕后进入步骤S11。若在预设时间内没有接收到与任务关联的信息,接收任务终止指令,并清空接收到的任务元信息,以及关联的切片元信息,并将切片元信息关联的切片数据逻辑引用-1,若关联切片数据逻辑应用为0,则清除对应的切片数据。
本实施例提出的在发送任务元信息至接收方之后还发送开启任务监测指令至接收方,以便接收方开启任务监测,其中,任务监测包括:判断在预设时间内是否接收到与任务关联的信息,若是,记录接收到与任务关联的信息的时间,并返回判断在预设时间内是否接收到与任务关联的信息的步骤,若否,发送传输任务终止的指令至接收方,并清空接收到的任务元信息,以及关联的切片元信息,并将切片元信息关联的切片数据逻辑引用-1,若关联切片数据逻辑应用为0,则清楚对应的切片数据。可以看出,通过根据接收每个切片元信息的时间,与预设时间进行比较,得出是否异常传输的情况,若是,就取消传输,若否,就继续对下一个切片元信息进行判断,这种方法提高了传输过程中的准确性。
在上述实施例的基础上,当传输过程中发送异常中断,对已经接收的切片元信息清零,并停止传输,而若是要恢复传输,则还包括:
发送与异常中断的任务对应的任务ID至接收方,以便接收方根据任务ID获取对应的任务,并根据与任务对应的切片偏移量获取异常中断时的传输进度,根据传输进度对文件继续传输。
可以理解的是,在异常中断后,对传输的恢复需要获取异常中断的任务对应的任务ID,因为在传输过程中可能传输多个文件,因此需要找到对应的任务ID,根据任务ID判断此任务是否是续传任务,若是,根据任务对应的切片偏移量获取异常中断时的传输进度,并根据传输进度对文件继续传输,具体的为,首先根据任务ID获取到对应的任务,判断是否可以续传,若是,根据切片偏移量,获取传输进度,例如一共有100个切片数据,而发生中断时的切片偏移量为49,则可以知道当前的传输进度为50%,可以更加准确的对切片数据进行继续传输。
本实施例所提供,在异常中断后恢复传输的过程通过发送与异常中断的任务对应的任务ID至接收方,以便接收方根据任务ID判断此任务是否可以续传,若是,根据与任务对应的切片偏移量获取异常中断时的传输进度,根据传输进度对文件继续传输。可以看出,此方法通过切片偏移量和任务对应的任务ID来获取传输进度,随后根据传输进度对任务进行传输,使传输更加准确,避免了重复传输,提高了传输的效率。
作为一种优选的实施例,任务元信息还包括切片元信息关联主题,接收方可以根据切片元信息关联主题获取切片元信息。
上文对于本申请提供的一种传输文件的方法的实施例进行了详细的描述,本申请还提供了一种与该方法对应的传输文件的装置,由于装置部分的实施例与方法部分的实施例相互照应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本申请实施例提供的一种传输文件的装置的结构图,如图2所示,该装置包括:
第一发送模块1,用于发送任务元信息至接收方,任务元信息至少包括任务的开始时间和任务ID;
切片模块2,用于将任务元信息对应的数据切片得到切片数据;
构建模块3,用于构建切片数据的切片元信息;
第二发送模块4,用于将切片元信息发送至接收方,以便接收方根据切片元信息获取对应的切片数据,并根据全部切片数据获取对应的文件信息;其中,切片元信息至少包括切片偏移量。
在此基础上,本申请实施例还提供了一种传输文件的方法,该方法应用于接收方,图3为本申请实施例提供的另一种传输文件的方法的流程图,如图3所示,该方法包括如下步骤:
S20:接收任务元信息。
S21:接收切片元信息,并根据切片元信息获取与之对应的切片数据。
S22:根据全部切片数据获取对应的文件信息。
应用于接收方的实施例与应用于发送方的实施例类似,因此应用于接收方部分的实施例请参见应用于发送方部分的实施例的描述,这里不再赘述。
本实施例提供的应用于接收方的传输文件的方法,通过接收任务元信息,任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令,接收切片元信息,并根据切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,切片元信息至少包括切片偏移量。可见,此方法通过对大文件数据进行切片,得到很多个切片数据,可以保证在传输的过程中传输切片数据,当网络异常中断,或发生紧急情况时,可以根据切片偏移量确认出传输的进度,根据传输的进度继续传输,避免了因错误导致传输时间增加,成本加大,网络的开销加大等问题。
作为一种优选的实施方式,当接收方为服务端时,也就是上载文件时,在根据切片元信息获取与之对应的切片数据之后还包括:
根据切片元信息判断是否存在与切片元信息对应的切片数据;
若是,将切片元信息和与之对应的切片数据关联,并反馈无需发送与切片元信息对应的切片数据的信息至发送方;
若否,发送需要与切片元信息对应的切片数据的指令至发送方,并在接收与切片元信息对应的切片数据后,将切片元信息和与之对应的切片数据关联。在接收方为服务端时,获取的切片数据可能不准确,因此在获取切片数据之后还需要根据切片元信息判断是否存在与切片元信息对应的切片数据,若是,将切片元信息和与之对应的切片数据关联,并反馈无需发送与切片元信息对应的切片数据的信息至发送方,若否,发送需要与切片元信息对应的切片数据的指令至发送方,并在接收与切片元信息对应的切片数据后,将切片元信息和与之对应的切片数据关联。
本实施例提供的,在接收方为服务端时,再根据切片元信息获取与之对应的切片数据之后还需要根据切片元信息判断是否需要发送方发送与切片元信息对应的切片数据,若是,将切片元信息和与之对应的切片数据关联,并反馈无需发送与切片元信息对应的切片数据的信息至发送方,若否,发送需要与切片元信息对应的切片数据的指令至发送方,并在接收与切片元信息对应的切片数据后,将切片元信息和与之对应的切片数据关联。可见,此方法,对获取的切片数据进行一个保障,若获取成功则继续获取下一个切片数据,若未获取成功则通知发送方将切片数据发送,提高了整个流程的准确性。
作为一种优选的实施例,当接收方为客户端时,也就是下载文件时,在接收任务元信息之后还包括:
判断任务元信息是否为开始任务元信息;
若是,根据任务元信息构建本地缓存,并进入接收切片元信息的步骤。
值得注意的是,当接收方为客户端时,接收到的任务元信息可能为开始任务元信息,也可能为结束任务元信息两种可能,当为开始任务元信息时,则构建本地缓存,并进入到接收切片元信息的步骤,若为结束任务元信息时,则证明当前任务已经下载完毕,但需要判断与此任务元信息对应的任务是否是正常结束,若是,校验数据,若否,清理本地缓存数据。
当为结束任务元信息时,代表当前任务下载完毕或异常中断,若是正常下载完毕,对下载的数据进行一个校验,本实施例对校验的方式不作限定,若为异常中断,则需要将本地缓存的数据清楚。
本实施例所提供的当接收方为客户端时,在接收任务元信息之后还需要判断任务元信息是否为开始任务元信息,若是,就构建本都缓存并进入接收切片元信息的步骤,若否,根据任务是否正常结束,做出对应的处理。可见,对接收到的任务元信息进行判断,随后做出对应的处理,保证了下载文件的准确性,防止重复下载。
图4为本申请另一实施例提供的一种传输文件的方法的流程图,应用于接收方,如图4所示,该方法在步骤S20的基础上还包括:
S23:触发任务检测模块。
S24:判断在预设时间内是否接收到与任务关联的信息,若是,进入S25步骤,若否,进入S26步骤。
S25:记录接收与任务关联信息的时间,并返回步骤S24。
S26:接收发送方的任务终止指令。
S27:清除已传输的与任务关联的信息。
应用于接收方的实施例与应用于发送方的实施例类似,因此应用于接收方部分的实施例请参见应用于发送方部分的实施例的描述,这里不再赘述。
本实施例提出的在接收任务元信息至接收方之后触发任务监测模块,任务监测包括:判断在预设时间内是否接收到与任务关联的信息,若是,进入记录接收与任务关联信息的时间的步骤,并返回判断在预设时间内是否接收到与任务关联的信息的步骤。若否,接收发送方的任务终止指令,并清除已传输的与任务关联的信息。可以看出,通过根据接收每个与任务关联的信息的时间,与预设时间进行比较,得出是否异常传输的情况,若是,就取消传输,若否,就继续对下一个与任务关联的信息进行判断,这种方法提高了传输过程中的准确性。
在上述实施例中,对于传输文件的方法进行了详细描述,本申请还提供传输文件的装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图5为本申请另一实施例提供的传输文件的装置的结构图,如图5所示,传输文件的装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的传输文件的方法的步骤。
本实施例提供的传输文件的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的传输文件的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于传输文件的方法的数据等。
在一些实施例中,传输文件的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对传输文件的装置的限定,可以包括比图示更多或更少的组件。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的传输文件的方法、装置及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (9)

1.一种传输文件的方法,其特征在于,应用于发送方,所述方法包括:
发送任务元信息至接收方,所述任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令,所述任务开启指令至少包括切片元信息关联主题、任务ID、切片大小以及任务大小,所述任务结束指令包括传输的文件的校验值;
将所述任务元信息对应的数据切片得到切片数据;
构建所述切片数据的切片元信息;
将所述切片元信息发送至所述接收方,以便所述接收方根据所述切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,所述切片元信息至少包括切片偏移量、所述切片数据对应的特征值以及关联任务的任务ID;
其中,若所述接收方为客户端,则所述发送任务元信息至接收方之后还包括:
所述接收方判断所述任务元信息是否为开始任务元信息;若是,根据所述任务元信息构建本地缓存,并进入接收切片元信息的步骤;若否,在所述任务元信息对应的任务为正常结束时,校验数据,在所述任务元信息对应的任务为非正常结束时,清理本地缓存数据。
2.一种传输文件的方法,其特征在于,应用于接收方,所述方法包括:
接收任务元信息,所述任务元信息至少包括任务开启指令、任务结束指令以及任务异常终止指令,所述任务开启指令至少包括切片元信息关联主题、任务ID、切片大小以及任务大小,所述任务结束指令包括传输的文件的校验值;
接收切片元信息,并根据所述切片元信息获取与之对应的切片数据;
根据全部所述切片数据获取对应的文件信息,其中,所述切片元信息至少包括切片偏移量、所述切片数据对应的特征值以及关联任务的任务ID;
其中,若所述接收方为客户端,则在所述接收任务元信息之后还包括:
判断所述任务元信息是否为开始任务元信息;若是,根据所述任务元信息构建本地缓存,并进入所述接收切片元信息的步骤;若否,在所述任务元信息对应的任务为正常结束时,校验数据,在所述任务元信息对应的任务为非正常结束时,清理本地缓存数据。
3.根据权利要求2所述的传输文件的方法,其特征在于,若所述接收方为服务端,则在所述接收任务元信息之后还包括:
触发任务检测模块,所述任务检测模块包括:
判断在预设时间内是否接收到与任务关联的信息;
若是,记录接收与所述任务关联的信息的时间,并返回所述判断在预设时间内是否接收到与所述任务关联的信息的步骤。
4.根据权利要求3所述的传输文件的方法,其特征在于,若未在预设时间内接收到与所述任务关联的信息,则还包括:
触发任务终止指令;
清除已传输的与所述任务关联的信息。
5.根据权利要求2所述的传输文件的方法,其特征在于,若所述接收方为服务端,则在根据所述切片元信息获取与之对应的所述切片数据之后还包括:
根据所述切片元信息判断是否存在与所述切片元信息对应的切片数据;
若是,将所述切片元信息和与之对应的切片数据关联,并反馈无需发送与所述切片元信息对应的切片数据的信息至发送方;
若否,发送需要与所述切片元信息对应的切片数据的指令至所述发送方,并在接收与所述切片元信息对应的切片数据后,将所述切片元信息和与之对应的切片数据关联。
6.根据权利要求2所述的传输文件的方法,其特征在于,若传输过程发生异常中断,则还包括:
重新接收已经发送的信息;
并根据所述切片元信息判断是否需要重新发送所述切片数据;
若是,重新接收所述切片数据;
若否,继续接收所述文件的剩余部分。
7.一种传输文件的装置,其特征在于应用于发送方,包括:
第一发送模块,用于发送任务元信息至接收方,所述任务元信息至少包括任务的开启指令、任务结束指令以及任务异常终止指令,所述任务开启指令至少包括切片元信息关联主题、任务ID、切片大小以及任务大小,所述任务结束指令包括传输的文件的检验值;
切片模块,用于将所述任务元信息对应的数据切片得到切片数据;
构建模块,用于构建所述切片数据的切片元信息;
第二发送模块,用于将所述切片元信息发送至接收方,以便所述接收方根据所述切片元信息获取对应的所述切片数据,并根据全部所述切片数据获取对应的文件信息;其中,所述切片元信息至少包括切片偏移量、所述切片数据对应的特征值以及关联任务的任务ID;
其中,若所述接收方为客户端,所述传输文件的装置还具体用于:
所述接收方判断所述任务元信息是否为开始任务元信息;若是,根据所述任务元信息构建本地缓存,并进入接收切片元信息的步骤;若否,在所述任务元信息对应的任务为正常结束时,校验数据,在所述任务元信息对应的任务为非正常结束时,清理本地缓存数据。
8.一种传输文件的装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的传输文件的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的传输文件的方法的步骤。
CN202210318380.8A 2022-03-29 2022-03-29 一种传输文件的方法、装置及计算机可读存储介质 Active CN114598697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210318380.8A CN114598697B (zh) 2022-03-29 2022-03-29 一种传输文件的方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210318380.8A CN114598697B (zh) 2022-03-29 2022-03-29 一种传输文件的方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114598697A CN114598697A (zh) 2022-06-07
CN114598697B true CN114598697B (zh) 2024-06-07

Family

ID=81811148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210318380.8A Active CN114598697B (zh) 2022-03-29 2022-03-29 一种传输文件的方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114598697B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116233020A (zh) * 2023-02-23 2023-06-06 中银金融科技有限公司 信贷申请数据的处理方法及装置、存储介质及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414759A (zh) * 2013-07-22 2013-11-27 华为技术有限公司 网盘文件传输方法和装置
CN105025106A (zh) * 2015-07-28 2015-11-04 焦点科技股份有限公司 一种基于分块及元信息的断点续传的方法
CN106998355A (zh) * 2017-03-07 2017-08-01 彭增金 电子设备间的数据传输方法、电子设备及数据传输系统
WO2018059222A1 (zh) * 2016-09-28 2018-04-05 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统
CN108933805A (zh) * 2017-05-26 2018-12-04 武汉斗鱼网络科技有限公司 一种文件传输方法及系统
CN110011952A (zh) * 2018-01-05 2019-07-12 中国移动通信有限公司研究院 一种数据传输的方法、服务集群及客户端
CN111935227A (zh) * 2020-07-10 2020-11-13 上海淇毓信息科技有限公司 通过浏览器上传文件的方法、浏览器和电子设备
CN112995284A (zh) * 2021-02-04 2021-06-18 卓望数码技术(深圳)有限公司 文件存储方法、电子设备及存储介质
CN113824760A (zh) * 2021-08-03 2021-12-21 中债金科信息技术有限公司 文件并发分块上传方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2673554C (en) * 2009-07-21 2017-01-03 Ibm Canada Limited - Ibm Canada Limitee Web distributed storage system
US10033794B2 (en) * 2015-07-17 2018-07-24 Bio-Rad Laboratories, Inc. Network transfer of large files in unstable network environments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414759A (zh) * 2013-07-22 2013-11-27 华为技术有限公司 网盘文件传输方法和装置
CN105025106A (zh) * 2015-07-28 2015-11-04 焦点科技股份有限公司 一种基于分块及元信息的断点续传的方法
WO2018059222A1 (zh) * 2016-09-28 2018-04-05 杭州海康威视数字技术股份有限公司 一种文件切片上传方法、装置及云存储系统
CN106998355A (zh) * 2017-03-07 2017-08-01 彭增金 电子设备间的数据传输方法、电子设备及数据传输系统
CN108933805A (zh) * 2017-05-26 2018-12-04 武汉斗鱼网络科技有限公司 一种文件传输方法及系统
CN110011952A (zh) * 2018-01-05 2019-07-12 中国移动通信有限公司研究院 一种数据传输的方法、服务集群及客户端
CN111935227A (zh) * 2020-07-10 2020-11-13 上海淇毓信息科技有限公司 通过浏览器上传文件的方法、浏览器和电子设备
CN112995284A (zh) * 2021-02-04 2021-06-18 卓望数码技术(深圳)有限公司 文件存储方法、电子设备及存储介质
CN113824760A (zh) * 2021-08-03 2021-12-21 中债金科信息技术有限公司 文件并发分块上传方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114598697A (zh) 2022-06-07

Similar Documents

Publication Publication Date Title
CN109739810B (zh) 文件同步方法、服务器、客户端及具有存储功能的装置
US9830231B2 (en) Processes and methods for client-side fingerprint caching to improve deduplication system backup performance
US7640314B2 (en) Network system, device and program
KR100557192B1 (ko) 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
CN110753084B (zh) 上链数据读取方法、缓存服务器及计算机可读存储介质
EP2234049A2 (en) Background service process for local collection of data in an electronic discovery system
WO2016155635A1 (zh) 一种数据处理方法和设备
CN109714409B (zh) 一种消息的管理方法和系统
US20040064517A1 (en) Synchronization message processing method
US10498681B1 (en) Storage management for ephemeral messages
CN109309730A (zh) 一种可信的文件传输方法和系统
CN114598697B (zh) 一种传输文件的方法、装置及计算机可读存储介质
CN115004673A (zh) 消息推送方法、装置、电子设备及计算机可读介质
CN111935227A (zh) 通过浏览器上传文件的方法、浏览器和电子设备
JP4607999B2 (ja) ロック関連の一貫性欠如を処理する方法
US8717607B2 (en) Image forming apparatus, image processing system, and image processing method
JPH10143449A (ja) データ送信装置、データ受信装置、およびデータファイル記憶媒体
CN111404842B (zh) 数据传输方法、装置及计算机存储介质
US11169714B1 (en) Efficient file replication
US10902125B2 (en) Infected file detection and quarantine system
US20060155671A1 (en) Virtual protection service
CN108345431B (zh) 一种数据读取的方法及装置
US7423785B1 (en) Job recovery for scan to email
CN114202332A (zh) 一种数字货币钱包管理方法、装置和系统
US8443061B2 (en) Data transmission method and communication control apparatus

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