数据传输方法、装置、设备及存储介质制造方法及图纸

技术编号:35013959 阅读:66 留言:0更新日期:2022-09-21 15:12
本申请公开了一种数据传输方法、装置、设备及存储介质,该方法包括步骤:在传输待传输数据的过程中,在一数据分片的数据内容传输至目标文件后,获取所述目标文件中存储内容的非法字符的分布情况;所述待传输数据被切分为多个数据分片;所述存储内容与所述数据内容相对应;若所述分布情况满足预设数据损坏条件,则确定所述存储内容已损坏,并重新传输所述数据分片的数据内容至所述目标文件。本申请实现了在数据传输时,减少了网络资源与计算资源的浪费。费。费。

【技术实现步骤摘要】
数据传输方法、装置、设备及存储介质


[0001]本申请涉及数据传输领域,尤其涉及一种数据传输方法、装置、设备及存储介质。

技术介绍

[0002]在进行数据传输时,传输的数据可能会存在损坏的情况。目前,针对可能存在数据损坏的情况,需要在数据全部传输完成后,通过人工来发现存在数据损坏的情况,或者是程序在读取访问数据并抛出异常时确定存在数据损坏的情况。
[0003]在确定存在数据损坏的情况后,需要重新传输源数据,以确保传输后的数据能够被正常使用。然而,数据传输的过程需要消耗网络资源与计算资源,特别是有些数据是超大文件,极大地造成了网络资源与计算资源的浪费。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种数据传输方法、装置、设备及存储介质,旨在在数据传输时,减少网络资源与计算资源的浪费。
[0005]为实现上述目的,本申请提供一种数据传输方法,所述方法包括:
[0006]在传输待传输数据的过程中,在一数据分片的数据内容传输至目标文件后,获取所述目标文件中存储内容的非法字符的分布情况;所述待传输数据被切分为多个数据分片;所述存储内容与所述数据内容相对应;
[0007]若所述分布情况满足预设数据损坏条件,则确定所述存储内容已损坏,并重新传输所述数据分片的数据内容至所述目标文件。
[0008]示例性的,所述获取所述目标文件中存储内容的非法字符的分布情况之前,包括:
[0009]轮询数据传输组件的缓存管道,得到轮询结果;所述数据传输组件用于传输待传输数据;r/>[0010]若所述轮询结果为所述缓存管道中存在缓存数据,则传输所述缓存数据中一数据分片的数据内容至目标文件;所述缓存数据包括至少一个数据分片。
[0011]示例性的,所述轮询数据传输组件的缓存管道,得到轮询结果,包括:
[0012]获取所述待传输数据的数据类别;
[0013]基于所述数据类别,确定轮询数据传输组件的轮询次数;
[0014]基于所述轮询次数,轮询所述数据传输组件的缓存管道,得到轮询结果。
[0015]示例性的,所述若所述轮询结果为所述缓存管道中存在缓存数据,则传输所述缓存数据中一数据分片的数据内容至目标文件,包括:
[0016]若所述轮询结果为所述缓存管道中存在缓存数据,则确定数据接收方中是否存在目标文件;
[0017]若存在,则确定所述目标文件中是否存在可用的数据块;
[0018]若是,则写入所述缓存数据中一数据分片的数据内容至所述可用的数据块中。
[0019]示例性的,所述若是,则写入所述缓存数据中一数据分片的数据内容至所述可用
的数据块中之后,包括:
[0020]开启文件输入流;所述文件输入流用于输入所述可用的数据块中的存储内容;
[0021]若所述文件输入流开启失败,则删除所述可用的数据块中所述数据分片对应的存储内容,并回退所述缓存管道的轮询次数至本次轮询开始时的轮询次数;
[0022]重新传输被删除的存储内容对应的数据内容至所述可用的数据块。
[0023]示例性的,所述获取所述目标文件中存储内容的非法字符的分布情况之后,还包括:
[0024]若所述分布情况未满足预设数据损坏条件,则关闭文件写入流;
[0025]若所述文件写入流关闭失败,则删除所述可用的数据块中所述数据分片对应的存储内容,并回退所述缓存管道的轮询次数至本次轮询开始时的轮询次数;
[0026]重新传输被删除的存储内容对应的数据内容至所述可用的数据块。
[0027]示例性的,所述若所述分布情况满足预设数据损坏条件,则确定所述存储内容已损坏,并重新传输所述数据分片的数据内容至所述目标文件之后,包括:
[0028]若轮询所述缓存管道的轮询次数等于预设轮询次数,或从所述缓存管道中未轮询到缓存数据,则关闭守护本轮数据传输过程的守护代理。
[0029]此外,为实现上述目的,本申请还提供一种数据传输装置,所述装置包括:
[0030]获取模块,用于在传输待传输数据的过程中,在一数据分片的数据内容传输至目标文件后,获取所述目标文件中存储内容的非法字符的分布情况;所述待传输数据被切分为多个数据分片;所述存储内容与所述数据内容相对应;
[0031]确定模块,用于若所述分布情况满足预设数据损坏条件,则确定所述存储内容已损坏,并重新传输所述数据分片的数据内容至所述目标文件。
[0032]此外,为实现上述目的,本申请还提供一种数据传输设备,所述数据传输设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据传输程序,所述数据传输程序被所述处理器执行时实现如上所述的数据传输方法的步骤。
[0033]此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如上所述的数据传输方法的步骤。
[0034]与现有技术中,在数据全部传输完成后,才能确定数据是否损坏,并在确定数据损坏后,重新传输该数据,导致网络资源与计算资源被大量浪费相比,本申请通过将待传输数据切分为多个数据分片,并在一数据分片的数据内容传输至目标文件后,通过该目标文件中存储内容的非法字符的分布情况,来确定该存储内容是否损坏,在确定损坏后,重新传输该数据分片的数据内容至目标文件。可以理解,本申请通过对数据进行切分的方式,实现了在待传输数据被传输的过程中,只要发现存储内容存在损坏,即可重新传输损坏的那部分存储内容对应的数据内容,而无需在数据完全传输后再重新传输全部的数据,因此,本申请实现了在数据传输时,减少了网络资源与计算资源的浪费。
附图说明
[0035]图1是本申请数据传输方法第一实施例的流程示意图;
[0036]图2是本申请数据传输方法第一实施例中数据传输的流程示意图;
[0037]图3是本申请数据传输方法第一实施例中守护代理的守护过程示意图;
[0038]图4是本申请实施例方案涉及的硬件运行环境的结构示意图。
[0039]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0040]应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0041]本申请提供一种数据传输方法,参照图1,图1为本申请数据传输方法第一实施例的流程示意图。
[0042]本申请实施例提供了数据传输方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。数据传输方法可应用于服务器中。
[0043]需要说明的是,本申请基于flume实现,flume是一个数据采集与传输组件,主要由source、channel和sink三个单元组成,其中,source用于从源文件获取数据,channel用于在source获取的数据的数据大小等于预设数据大小时,缓存该数据,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,所述方法包括:在传输待传输数据的过程中,在一数据分片的数据内容传输至目标文件后,获取所述目标文件中存储内容的非法字符的分布情况;所述待传输数据被切分为多个数据分片;所述存储内容与所述数据内容相对应;若所述分布情况满足预设数据损坏条件,则确定所述存储内容已损坏,并重新传输所述数据分片的数据内容至所述目标文件。2.如权利要求1所述的方法,其特征在于,所述获取所述目标文件中存储内容的非法字符的分布情况之前,包括:轮询数据传输组件的缓存管道,得到轮询结果;所述数据传输组件用于传输待传输数据;若所述轮询结果为所述缓存管道中存在缓存数据,则传输所述缓存数据中一数据分片的数据内容至目标文件;所述缓存数据包括至少一个数据分片。3.如权利要求2所述的方法,其特征在于,所述轮询数据传输组件的缓存管道,得到轮询结果,包括:获取所述待传输数据的数据类别;基于所述数据类别,确定轮询数据传输组件的轮询次数;基于所述轮询次数,轮询所述数据传输组件的缓存管道,得到轮询结果。4.如权利要求2所述的方法,其特征在于,所述若所述轮询结果为所述缓存管道中存在缓存数据,则传输所述缓存数据中一数据分片的数据内容至目标文件,包括:若所述轮询结果为所述缓存管道中存在缓存数据,则确定数据接收方中是否存在目标文件;若存在,则确定所述目标文件中是否存在可用的数据块;若是,则写入所述缓存数据中一数据分片的数据内容至所述可用的数据块中。5.如权利要求4所述的方法,其特征在于,所述若是,则写入所述缓存数据中一数据分片的数据内容至所述可用的数据块中之后,包括:开启文件输入流;所述文件输入流用于输入所述可用的数据块中的存储内容;若所述文件输入流开启失败,则删除所述可用的数据块中所述数据分片对应的存储内容,并回退所述缓存管...

【专利技术属性】
技术研发人员:陈黎明林浩张小磊
申请(专利权)人:咪咕文化科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:

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

1