数据的处理方法、装置、设备及存储介质与流程

文档序号:23845005发布日期:2021-02-05 10:43阅读:58来源:国知局
数据的处理方法、装置、设备及存储介质与流程

[0001]
本申请涉及计算机技术领域,尤其涉及一种数据的处理方法、装置、设备及存储介质。


背景技术:

[0002]
随着各类云服务器技术的发展,越来越多的用户选择将全球广域网(world wide web,web)端或客户端产生或存储的大文件上传至云服务器存储。
[0003]
目前,web端或客户端上传大文件时,为保证上传的稳定性和效率,web端或客户端先对大文件进行分片,再将多个分片分别上传至云服务器。同时,提供云服务器的各云厂商基于对分片存储效率和读取效率的考虑,会对分片大小做一定的限制。一般的限制条件为除最后一个分片外的其他分片的大小必须大于云厂商规定的预设最小尺寸,即避免切割大文件后得到的分片的大小过小。
[0004]
但是,在目前的方案中,若大文件分片后的分片文件尺寸较小,不符合云厂商规定的预设最小尺寸,则会导致文件上传失败,降低文件上传的成功率。


技术实现要素:

[0005]
为避免相关技术中存在的问题,本申请提供一种数据的处理方法、装置、设备及存储介质。
[0006]
根据本申请实施例的第一方面,提供一种数据的处理方法,包括:
[0007]
获取多个数据分片,所述数据分片的文件大小用于表征所述数据分片的数据量的大小;
[0008]
针对所述多个数据分片中文件大小于第一预设值的第一数据分片,合并至少两个所述第一数据分片,得到合并分片,其中,得到不同所述合并分片的第一数据分片互不相同;
[0009]
向服务器发送所述合并分片以及所述多个数据分片中的第二数据分片,其中,所述第二数据分片的文件大小大于或等于所述第一预设值。
[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]
根据所述数据标识,对所述第一数据分片进行排序,得到所述分片序列。
[0036]
根据本申请实施例的第二方面,提供一种数据的处理装置,包括:
[0037]
获取模块,用于获取多个数据分片,所述数据分片的文件大小用于表征所述数据分片的数据量的大小;
[0038]
合并模块,用于针对所述多个数据分片中文件大小于第一预设值的第一数据分片,合并至少两个所述第一数据分片,得到合并分片,其中,得到不同所述合并分片的第一数据分片互不相同;
[0039]
第一发送模块,用于向服务器发送所述合并分片以及所述多个数据分片中的第二
数据分片,其中,所述第二数据分片的文件大小大于或等于所述第一预设值。
[0040]
在一种可能实施方式中,所述装置还包括:
[0041]
排序模块,用于按照预设顺序,对所述第一数据分片进行排序,得到分片序列;
[0042]
所述合并模块,包括:
[0043]
第一合并子模块,用于从所述分片序列的一端开始,合并所述分片序列中至少两个相邻的第一数据分片,得到所述合并分片。
[0044]
在一种可能实施方式中,所述第一数据分片为依次获取得到的;
[0045]
所述合并模块,包括:
[0046]
第一确定子模块,用于根据最近一次获取到的新的第一数据分片,在所述分片序列中确定与所述新的第一数据分片对应的子分片序列,所述子分片序列为从所述分片序列的一端开始,按照顺序连续排列的部分序列;
[0047]
第二合并子模块,用于合并从所述子分片序列中选取的至少两个第一数据分片,得到所述合并分片;
[0048]
第二确定子模块,用于从所述合并分片中确定与所述新的第一数据分片对应的目标合并分片;
[0049]
所述第一发送模块,包括:
[0050]
第一发送子模块,用于向所述服务器发送所述目标合并分片。
[0051]
在一种可能实施方式中,所述合并模块,包括:
[0052]
第三确定子模块,用于在所述数据分片的数量等于预设数量值的情况下,在所述第一数据分片中确定至少两个目标第一数据分片,所述目标第一数据分片的文件大小的和大于或等于所述第一预设值;
[0053]
第三合并子模块,用于合并所述至少两个目标第一数据分片,得到所述合并分片。
[0054]
在一种可能实施方式中,在得到所述合并分片的目标第一数据分片的数量为最小值的情况下,所述装置还包括:
[0055]
第二发送模块,用于将所有所述第一数据分片中未进行合并的第一数据分片合并后发送至所述服务器。
[0056]
在一种可能实施方式中,所述装置还包括:
[0057]
更新模块,用于查询所述分片序列,在所述分片序列中不包含所述新的第一数据分片的情况下,根据所述新的第一数据分片,更新所述分片序列。
[0058]
在一种可能实施方式中,所述第一发送模块,包括:
[0059]
第二发送子模块,用于在接收到发送指令的情况下,向所述服务器发送所述合并分片以及所述多个数据分片中的第二数据分片;
[0060]
清除子模块,用于清除所述分片序列。
[0061]
在一种可能实施方式中,所述合并分片的文件大小小于第二预设值,所述第二预设值大于所述第一预设值。
[0062]
在一种可能实施方式中,所述数据分片还包括数据标识,所述数据标识用于标识上传所述数据分片的顺序,
[0063]
所述排序模块,包括:
[0064]
排序子模块,用于根据所述数据标识,对所述第一数据分片进行排序,得到所述分
片序列。
[0065]
根据本申请实施例的第三方面,提供一种设备,该设备包括:
[0066]
处理器;
[0067]
用于存储该处理器可执行指令的存储器;
[0068]
其中,该处理器被配置为执行以实现如本申请提供的数据的处理方法所执行的操作。
[0069]
根据本申请实施例的第四方面,提供一种非临时性计算机可读存储介质,当该存储介质中的指令由设备的处理器执行时,使得设备能够执行一种以实现如本申请提供的数据的处理方法所执行的操作。
[0070]
根据本申请实施例的第五方面,提供一种应用程序,包括一条或多条指令,该一条或多条指令可以由设备的处理器执行时,使得设备能够执行一种以实现如本申请提供的数据的处理方法所执行的操作。
[0071]
本申请的实施例提供的技术方案至少带来以下有益效果:
[0072]
获取多个数据分片,数据分片的文件大小用于表征数据分片的数据量的大小;针对多个数据分片中文件大小于第一预设值的第一数据分片,合并至少两个第一数据分片,得到合并分片,其中,得到不同合并分片的第一数据分片互不相同;向服务器发送合并分片以及多个数据分片中的第二数据分片,其中,第二数据分片的文件大小大于或等于第一预设值,本申请实施例中,通信设备在获取到客户端发送的数据量较小的第一数据分片之后,可以通过合并至少两个第一数据分片,从而得到数据量较大的合并分片,最终向服务器发送合并分片和获取到的数据分片中数据量较大的第二数据分片,完成数据分片的上传过程,从而避免了因为文件分片后得到的数据分片小于云厂商规定的第一预设值,导致的数据分片上传失败,从而提高了文件上传的成功率。
[0073]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0074]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
[0075]
图1是根据一示例性实施例示出的一种数据的处理系统的结构示意图;
[0076]
图2是根据一示例性实施例示出的一种数据的处理方法的流程图;
[0077]
图3是根据一示例性实施例示出的一种文件上传的示意图;
[0078]
图4是根据一示例性实施例示出的一种文件上传的数据处理示意图;
[0079]
图5是根据一示例性实施例示出的另一种数据的处理方法的步骤流程图;
[0080]
图6是根据一示例性实施例示出的一种第一数据分片的数据处理示意图;
[0081]
图7是根据一示例性实施例示出的另一种第一数据分片的数据处理示意图;
[0082]
图8是根据一示例性实施例示出的一种数据的处理装置的框图;
[0083]
图9是根据一示例性实施例示出的一种设备的框图;
[0084]
图10是根据一示例性实施例示出的另一种设备的框图。
具体实施方式
[0085]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0086]
图1是根据一示例性实施例示出的一种数据的处理系统的结构示意图,如图1所示,本公开实施例提供的数据的处理方法应用于包含客户端/web端10、通信设备20和服务器30的数据的处理系统中,其中,客户端/web端10用于接收用户输入的各种上传操作,接收用户需要上传至服务器30的各类大文件,并且为保证上传稳定性和上传效率,客户端/web端10在接收到各类大文件之后,可以对所述大文件进行切割,得到多个数据分片,从而将所述大文件以多个数据分片的形式进行分片上传。
[0087]
具体的,通信设备20在接收到客户端/web端10发送的多个数据分片之后,将多个数据分片发送至各类云厂商对应的服务器30,从而完成将大文件发送并存储在云服务器中的过程。一个实施例中,通信设备20可以为网关设备。
[0088]
需要说明的是,各类云厂商基于对分片存储和读取效率的考虑,会对服务器30接收的数据分片的大小做一定的限制,一般的限制条件为除最后一个数据分片之外,其他的数据分片的大小必须大于云厂商规定的预设最小尺寸,即需要保证大文件切割后得到的分片的大小不能过小。
[0089]
但是,在实际使用过程中,例如在直播音视频数据流转码上传的场景中,一般情况下,音频文件和视频文件是分开转码和上传的,音频文件一般都比较小,而视频文件的数据量根据视频中包含的视频帧的图片内容有关,通常来说比较大。目前,在将直播数据进行分片时,是将音频文件和视频文件按照时间进行分片,例如,可以将5秒内的直播音频数据和直播视频数据分别转码压缩后上传至服务器,由于音频数据较小,因此音频数据分片后的数据量大部分不符合各云厂商规定的数据分片的预设最小尺寸,导致直播音视频数据流上传失败。
[0090]
图2是根据一示例性实施例示出的一种数据的处理方法的流程图,如图2所示,包括以下步骤:
[0091]
步骤101、获取多个数据分片,所述数据分片的文件大小用于表征所述数据分片的数据量的大小。
[0092]
在该步骤中,通信设备可以从客户端或web端获取多个数据分片,其中,所述数据分片的文件大小用于表征所述数据分片的数据量的大小。
[0093]
图3是根据一示例性实施例示出的一种文件上传的示意图,如图3所示,示出了文件大小较大的文件的云存储的过程,客户端/web端对文件进行分片处理,得到多个数据量较小的数据分片,所述数据分片的文件大小用于表征所述数据分片的数据量的大小,例如,客户端/web端对数据量为10兆字节的文件进行分片处理,得到20个512千字节的数据分片,在上传该文件时,具体是将分片处理后的20个512千字节的数据分片发送至通信设备,所述通信设备获取多个数据分片,通信设备可以进一步针对数据分片进行选取操作和合并操作,将合并后的合并分片上传至云服务器,从而完成云存储的过程。
[0094]
步骤102、针对所述多个数据分片中文件大小于第一预设值的第一数据分片,合并
至少两个所述第一数据分片,得到合并分片,其中,得到不同所述合并分片的第一数据分片互不相同。
[0095]
在该步骤中,通信设备在获取到多个数据分片之后,首先可以从数据分片中选取第一数据分片,其中,所述第一数据分片是可以是数据分片中文件大小小于所述第一预设值的数据分片。所述第一预设值可以是各云厂商预先设置的可以接收的数据分片的预设最小尺寸,例如,第一预设值为1兆字节。
[0096]
例如,若客户端/web端对文件大小为10兆字节的原始文件进行分片处理,则得到10个512千字节和5个1兆字节的数据分片,各云厂商预先设置的可以接收的数据分片的预设最小尺寸即第一预设值为1兆字节,则通信设备在获取到10个512千字节和5个1兆字节的数据分片中,10个512千字节为需要进行合并的第一数据分片,5个1兆字节的数据分片中是文件大小大于或等于所述第一预设值的第二数据分片,由于5个1兆字节的第二数据分片的文件大小满足云厂商预先设置的可以接收的数据分片的预设最小尺寸,因此,这些第二数据分片可以不进行合并而是被通信设备上传至服务器。
[0097]
具体的,通信设备从获取到的数据分片中确定了需要进行合并的第一数据分片之后,合并至少两个所述第一数据分片,得到合并分片,使得合并分片的文件大小大于或等于第一预设值,例如,通信设备可以在上述实例中的10个512千字节的数据分片中,选取2个512千字节的第一数据分片进行合并,得到一个1兆字节的合并分片,从而使得合并后的合并分片可以满足云厂商预先设置的可以接收的数据分片的预设最小尺寸。进一步的,通信设备可以通过执行多次合并操作,得到多个所述合并分片,并且,得到不同所述合并分片的第一数据分片互不相同,从而保证将获取到的数据分片中所有的第一数据分片进行合并得到合并分片,且不会对同一个第一数据分片进行重复合并。
[0098]
一个实施例中,通信设备可以基于第一预设值、各第一数据分片的大小,确定需要进行合并的第一数据分片。例如:各第一数据分片的大小一样,则通信设备可以基于第一预设值m与第一数据分片的大小n的比值,选择待合并的第一数据分片的数量,当m/n为整数时,可选择至少m/n个第一数据分片进行合并,当m/n不为整数时,可选择该比值的整数+1为第一数据分片的数量。
[0099]
另一个实施例中,通信设备可以选择两个第一数据分片进行合并,并在合并后的数据量大小小于第一预设值时,从未进行合并的第一数据分片中选择一第一数据分片进行合并,直到合并后的数据量大小不小于第一预设值。通信设备重复上述合并过程,直到所有的第一数据分片均被合并。
[0100]
再一个实施例中,通信设备可以选择至少两个第一数据分片进行合并,具体的,通信设备判断被选择的第一数据分片的数量大小之和是否大于第一预设值,若小于,则从未进行合并的第一数据分片中选择一第一数据分片,判断被选择的第一数据分片的数量大小之和是否大于第一预设值,直到被选择的第一数据分片的数量大小之和大于第一预设值。然后再合并被选择的第一数据分片。通信设备重复上述合并过程,直到所有的第一数据分片均被合并。
[0101]
应当理解,经过多次合并后,最后一次合并得到的数据量大小是有可能小于第一预设值的。
[0102]
图4是根据一示例性实施例示出的一种文件上传的数据处理示意图,如图4所示,
在获取到文件大小较大的原始文件之后,客户端/web端可以将原始文件分片处理为多个第一数据分片和文件大小大于或等于第一预设值的第二数据分片,进一步可以通过多次合并,根据多个第一数据分片生成多个合并分片。上述合并的过程可由客户端进行,也可以由通信设备进行。
[0103]
步骤103、向服务器发送所述合并分片以及所述多个数据分片中的第二数据分片,其中,所述第二数据分片的文件大小大于或等于所述第一预设值。
[0104]
在该步骤中,由于通信设备获取到的数据分片包括文件大小小于所述第一预设值的第一数据分片,以及文件大小大于或等于所述第一预设值的第二数据分片,其中,所述第一数据分片经过合并之后,生成文件大小大于或等于第一预设值的合并分片。
[0105]
因此,通信设备可以将合并分片和文件大小大于或等于所述第一预设值的第二数据分片发送至服务器,从而提高文件(例如数据量较大的文件)的上传成功率,保证文件中的所有文件内容均成功的上传至服务器,完成文件的上传过程。
[0106]
在本申请实施例中,只需要根据不同厂商规定的数据分片的预设最小尺寸,预先确定不同的第一预设值,使得通信设备在接收到客户端/web端发送的数据分片之后,可以根据各厂商对应的第一预设值,合并数据分片得到不同的合并分片,从而可以将客户端/web端发送的数据分片成功的上传至不同厂商的云服务器,而在该上传的过程中,客户端/web端的数据获取或分片过程可以不进行任何改变,开发成本较低。
[0107]
综上所述,本申请实施例提供的一种数据的处理方法,通信设备在获取到客户端发送的数据量较小的第一数据分片之后,可以通过合并至少两个第一数据分片,从而得到数据量较大的合并分片,最终向服务器发送合并分片和数据分片中数据量较大的第二数据分片,完成数据分片的上传过程,从而避免了因为文件分片后得到的数据分片小于云厂商规定的第一预设值,导致的数据分片上传失败,从而提高了文件上传的成功率。
[0108]
图5是根据一示例性实施例示出的另一种数据的处理方法的步骤流程图,如图5所示,包括以下步骤:
[0109]
步骤201、获取多个数据分片,所述数据分片的文件大小用于表征所述数据分片的数据量的大小。
[0110]
在该步骤中,通信设备可以从客户端或web端获取多个数据分片,其中,所述数据分片的文件大小用于表征所述数据分片的数据量的大小。
[0111]
通信设备获取到的数据分片可以包括文件大小小于所述第一预设值的第一数据分片、以及文件大小大于或等于所述第一预设值的第二数据分片,其中,由于所述第一数据分片文件大小小于所述第一预设值,为避免上传失败,可以对多个第一数据分片进行合并处理,生成文件大小大于或等于第一预设值的合并分片,通信设备再将此合并分片上传至服务器。
[0112]
在本申请实施例中,客户端/web端可以将生成的数据分片实时发送至通信设备,因此,无需在客户端/web端的进行数据分片的缓存和合并,从而可以减少客户端/web端缓存的文件大小,提高客户端/web端的使用效能。
[0113]
步骤202、按照预设顺序,对所述第一数据分片进行排序,得到分片序列。
[0114]
在该步骤中,可以按照预设顺序,对第一数据分片进行排序,得到由第一分片数据组成的分片序列,以便在合并第一数据分片时,根据第一数据分片在分片序列中的排列顺
序,按照顺序依次合并。
[0115]
可选的,在所述数据分片还包括数据标识,所述数据标识用于标识上传所述数据分片的顺序的情况下,步骤202具体包括:
[0116]
子步骤2021、根据所述数据标识,对所述第一数据分片进行排序,得到所述分片序列。
[0117]
在该步骤中,由于所述数据分片中还包括数据标识,所述数据标识用于标识上传所述数据分片的顺序,因此,可以根据所述数据标识,对所述第一数据分片进行排序,得到分片序列。
[0118]
在本申请实施例中,所述数据标识可以为从预设数值开始的连续的整数,本申请实施例可以根据所述数据标识从小到大的顺序进行排序,得到分片序列。
[0119]
图6是根据一示例性实施例示出的一种第一数据分片的数据处理示意图,如图6所示,通信设备已接收到的第一数据分片分别为数据标识为0、1、2、3、4、5、6、7、12和20,依次对应的文件大小为20kb、20kb、15kb、40kb、25kb、25kb、40kb、20kb、40kb和20kb,因此,图6中预设数值为0,即第一数据分片对应的数据标识为从0开始的连续的整数。
[0120]
需要说明的是,客户端/web端向通信设备发送数据分片时,可以采用多进程/线程的方式,将不同的数据分片以不同的进程/线程进行发送,因此,通信设备接收到的数据分片的数据标识可能为不连续的,参照图6,通信设备当前接收到的第一数据分片可以为数据标识为3的数据分片,数据标识为8至11、13至19的数据分片还未通过客户端/web端发送至通信设备。因此,按照数据标识从小到大的顺序进行排序,可以得到包括数据标识为0、1、2、3、4、5、6、7、12和20的第一数据分片的分片序列40。
[0121]
步骤203、从所述分片序列的一端开始,合并所述分片序列中至少两个相邻的第一数据分片,得到所述合并分片。
[0122]
在该步骤中,可以从得到的分片序列的一端开始,合并所述分片序列中至少两个相邻的第一数据分片,得到所述合并分片,从而保证对分片序列中包含的全部的第一数据进行合并,并且不对同一个第一数据分片进行重复合并。
[0123]
可选的,在所述第一数据分片为依次获取得到的情况下,步骤203具体包括:
[0124]
子步骤2031、接收到新的第一数据分片,查询所述分片序列,在所述分片序列中不包含新的第一数据分片的情况下,根据所述新的第一数据分片,更新所述分片序列。
[0125]
在该步骤中,由于不同的数据分片以不同的进程/线程进行发送,因此,在每次接收到新的第一数据分片时,可以首先判断该分片序列中是否包含所述新的第一数据分片。若分片序列中未包含所述新的第一数据分片,即说明该新的第一数据分片还未上传至通信设备,因此可以接收该新的第一数据分片,更新分片序列,若分片序列中包含新的第一数据分片,则丢弃新的第一数据分片,从而避免重复上传导致的资源浪费。
[0126]
子步骤2032、根据最近一次获取到的新的第一数据分片,在所述分片序列中确定与所述新的第一数据分片对应的子分片序列,所述子分片序列为从所述分片序列的一端开始,按照顺序连续排列的部分序列。
[0127]
在该步骤中,由于不同的数据分片以不同的进程/线程进行发送,因此通信设备接收不同数据分片具有先后顺序,可以在每次接收到新的第一数据分片之后,根据接收到的新的第一数据分片,在所述分片序列中确定与所述新的第一数据分片对应的子分片序列,
从而可以进一步在该子分片序列中进行数据分片的合并。
[0128]
具体的,所述子分片序列为从所述分片序列的一端开始,按照顺序连续排列的部分序列。一个实施例中,子分片序列为从分片序列中是先接收的数据分片的一端开始,按照顺序连续排列的序列。
[0129]
参照图6,若最近一次获取到的新的第一数据分片为数据标识为3,文件大小为40kb的第一数据分片,对应的,所述新的第一数据分片对应的子分片序列可以为包含数据标识为0至7的第一数据分片的子分片序列50。
[0130]
子步骤2033、合并从所述子分片序列中选取的至少两个第一数据分片进行合并,得到多个所述合并分片。
[0131]
在该步骤中,可以在确定的子分片序列中选取至少两个第一数据分片进行合并,得到多个所述合并分片,因此,可以在每次接收到新的第一数据分片之后,均可以确定不同新的第一数据分片对应的子分片序列,以及根据所述子分片序列确定的合并分片,以供通信设备可以进一步从合并分片中确定与所述新的第一数据分片对应的目标合并分片。
[0132]
参照图6,若最近一次获取到的新的第一数据分片为数据标识为3、文件大小为40kb的第一数据分片,对应的,所述新的第一数据分片对应的子分片序列50可以为包含数据标识为0至7的第一数据分片的子分片序列,第一预设值为50kb,由于子分片序列50中数据标识0至2的三个第一数据分片的文件大小之和为55kb,大于第一预设值为50kb,因此,可以选取子分片序列中数据标识0至2的三个第一数据分片,进行合并后得到合并分片标识为0的合并分片;子分片序列中数据标识3至4的两个第一数据分片的文件大小之和为65kb,大于第一预设值为50kb,因此,可以选取子分片序列中数据标识3至4的两个第一数据分片,进行合并后得到合并分片标识为1的合并分片;子分片序列中数据标识5至6的两个第一数据分片的文件大小之和为65kb,大于第一预设值为50kb,因此,可以选取子分片序列中数据标识5至6的两个第一数据分片,进行合并后得到合并分片标识为2的合并分片。
[0133]
子步骤2034、从所述合并分片中确定与所述新的第一数据分片对应的目标合并分片。
[0134]
在该步骤中,可以进一步从子步骤2033中确定的合并分片中确定与所述新的第一数据分片对应的目标合并分片。因此,可以在每次接收到新的第一数据分片之后,均可以确定不同新的第一数据分片对应的目标合并分片,使得不同新的第一数据分片对应的目标合并分片互不相同,从而可以保证分片序列中的同一个第一数据分片不会重复进行合并和上传。
[0135]
可选的,所述合并分片的文件大小小于第二预设值,所述第二预设值大于所述第一预设值。即通信设备得到的合并分片的文件大小大于或等于第一预设值,能够满足云厂商规定的预设最小尺寸,同时,为保证合并分片的上传稳定性和上传效率,还可以设置一个大于第一预设值的第二预设值,使得所述合并分片的文件大小不能过大,例如,所述第一预设值可以为50kb,所述第二预设值可以为90kb。
[0136]
在本申请实施例中,为保证所述合并分片的文件大小在大于或等于第一预设值的基础上不能过大,可以在子分片序列中选取多个第一数据分片进行合并时,选取数量最少的连续排列的至少两个第一数据分片,使得所述至少两个第一数据分片的文件大小之和大于第一预设值。
[0137]
需要说明的是,参照图6,所述新的第一数据分片对应的目标合并分片60是合并分片标识为1和合并分片标识为2的合并分片,即可以将所述新的第一数据分片合成的合并分片标识为1的合并分片、以及合并分片标识大于2的合并分片作为所述新的第一数据分片对应的目标合并分片,这是由于合并分片标识为0的合并分片在通信设备获取到数据标识0至2的三个第一数据分片时,已经作为数据标识0或1或2的中一个第一数据分片对应的目标合并分片,因此,数据标识为3的第一数据分片对应的目标合并分片60中不包含合并分片标识为0的合并分片。
[0138]
图7是根据一示例性实施例示出的另一种第一数据分片的数据处理示意图,如图7所示,通信设备已接收到的第一数据分片分别为数据标识为0、1和2,依次对应的文件大小为20kb、20kb和15kb,通信设备当前接收到的新的第一分片可以为数据标识为2的数据分片,因此,按照数据标识从小到大的顺序进行排序,可以得到包括数据标识为0、1和2的第一数据分片的分片序列41,对应的,所述新的第一数据分片对应的子分片序列可以为包含数据标识为0至2的第一数据分片的子分片序列51,若第一预设值为50kb,由于子分片序列51中数据标识0至2的三个第一数据分片的文件大小之和为55kb,大于第一预设值为50kb,因此,可以选取子分片序列中数据标识0至2的三个第一数据分片,进行合并后得到合并分片标识为0的合并分片,所述新的第一数据分片对应的目标合并分片61是合并分片标识为0的合并分片。
[0139]
在本申请实施例中,通信设备可以通过多次合并,得到多个所述合并分片,并且,得到不同所述合并分片的第一数据分片互不相同,从而保证将获取到的数据分片中所有的第一数据分片进行合并得到合并分片,且不会对同一个第一数据分片进行重复合并。
[0140]
可选的,步骤203中针对所述多个数据分片中文件大小于第一预设值的第一数据分片,合并至少两个所述第一数据分片,得到合并分片的过程,具体可以包括:
[0141]
子步骤2035、在所述数据分片的数量等于预设数量值的情况下,在所述第一数据分片中确定至少两个目标第一数据分片,所述目标第一数据分片的文件大小的和大于或等于所述第一预设值。
[0142]
在该步骤中,通信设备在接收客户端/web端发送的数据分片时,可以记录数据分片的数量,并且在所述数据分片的数量等于预设数量值的情况下,在所述第一数据分片中确定至少两个目标第一数据分片,所述目标第一数据分片的文件大小的和大于或等于所述第一预设值,其中,所述预设数量值可以是由客户端/web端确定的与数据分片对应的数值,并由客户端/web端将确定的预设数量值发送至通信设备,因此,通信设备在接收数据分片之前,可以从客户端/web端接收预设数量值,从而可以根据所述预设数量值,判断是否已经接收到全部的数据分片。所述预设数量值与原始文件的大小,以及将原始文件分片处理后的数据分片的大小相关,例如,若原始文件的大小为10兆,要求将原始文件分片处理后得到的数据分片的大小为512千字节,则客户端/web端可以确定需要将原始文件分片处理为20个文件大小为512千字节的数据分片,相应的,所述预设数量值即为20。
[0143]
具体的,所述预设数量值可以为客户端/web端在对较大的原始文件进行分片处理的过程中,预先根据原始文件的大小以及将原始文件分片处理后的数据分片的大小,设置的原始文件分片处理后得到的数据分片的数量,例如,可以预先设定将原始文件分片处理为15个数据分片,从而将分片处理后的15个数据分片通过通信设备上传至服务器。
[0144]
在本申请实施例中,若通信设备获取到的数据分片的数量等于预设数量值,则说明客户端/web端已将所有数据分片发送至通信设备,即通信设备已经获取到了所有的数据分片,因此,可以进一步在所述数据分片中的第一数据分片中确定至少两个目标第一数据分片,以供可以进一步合并至少两个目标第一数据分片,从而得到所述合并分片。
[0145]
子步骤2036、合并所述至少两个目标第一数据分片,得到所述合并分片。
[0146]
在该步骤中,可以合并上述步骤中确定的至少两个目标第一数据分片,从而最终得到合并分片。
[0147]
可选的,在得到所述合并分片的目标第一数据分片的数量为最小值的情况下,所述第一数据分片经过选取和合并之后,可以生成文件大小大于或等于第一预设值的合并分片,以及文件大小小于所述第一预设值的未进行合并的第一数据分片。
[0148]
因此,通信设备可以将未进行合并的第一数据分片再次进行合并,需要说明的是,该次合并后得到的合并分片的文件大小小于所述第一预设值。
[0149]
相应的,在子步骤2036之后,还可以包括:
[0150]
子步骤2037、将所有所述第一数据分片中未进行合并的第一数据分片合并后发送至所述服务器。
[0151]
在该步骤中,可以将未进行合并的第一数据分片再次进行合并,由于该次合并后得到的合并分片的文件大小小于所述第一预设值,因此,需要单独将第一数据分片中未进行合并的第一数据分片合并后得到的合并分片发送至所述服务器。
[0152]
具体的,由于将分片序列中的目标第一数据分片进行合并生成合并分片的过程中,可能出现在得到多个合并分片之后,分片序列中还存在未进行合并的至少一个第一数据分片,即未进行合并的至少一个第一数据分片的文件大小之和小于所述第一预设值,使得将未进行合并的至少一个第一数据分片合并后得到的最后一个合并分片的文件大小小于所述第一预设值,因此,需要在确定通信设备接收到所有的第一数据分片之后,将所有所述第一数据分片中未进行合并的第一数据分片进行合成,得到最后一个合并分片,并发送至服务器。
[0153]
步骤204、在接收到发送指令的情况下,向服务器发送所述合并分片以及所述多个数据分片中的第二数据分片,其中,所述第二数据分片的文件大小大于或等于所述第一预设值。
[0154]
在该步骤中,由于通信设备获取到的数据分片包括文件大小小于所述第一预设值的第一数据分片,以及文件大小大于或等于所述第一预设值的第二数据分片,其中,所述第一数据分片经过选取和合并之后,生成文件大小大于或等于第一预设值的合并分片。
[0155]
因此,通信设备可以在接收到发送指令的情况下,将文件大小大于或等于所述第一预设值的第二数据分片,以及所述合并分片发送至服务器,从而保证原始文件中的所有文件内容均成功的上传至服务器,完成原始文件的上传过程。
[0156]
可选的,步骤204中向服务器发送所述合并分片的过程,包括具体包括:
[0157]
子步骤2041、向所述服务器发送所述目标合并分片。
[0158]
在该步骤中,由于在所述至少两个所述第一数据分片为依次获取得到的,因此,通信设备可以在从所述合并分片中确定与新的第一数据分片对应的目标合并分片之后,即向所述服务器发送所述目标合并分片,从而可以缩短数据分片的上传时间。
[0159]
在该步骤中,由于不同的数据分片以不同的进程/线程进行发送,因此,可以在每次接收到新的第一数据分片时,确定并生成与所述新的第一数据分片对应的目标合并分片之后,进而将目标合并分片发送至服务器,在接收到下一个第一数据分片时,可以将后接收到的第一数据分片对应的目标合并分片再发送至服务器,从而不用必须接收到所有的第一数据分片,并确定和合成全部的合并分片之后再将合并分片发送至服务器,进一步提高了文件上传的效率。
[0160]
步骤205、清除所述分片序列。
[0161]
在该步骤中,通信设备在将文件大小大于或等于所述第一预设值的第二数据分片,以及所述合并分片发送至所述服务器之后,可以清除所述分片序列,从而清除分片序列在通信设备中的缓存,提高通信设备的使用效能。
[0162]
综上所述,本申请实施例提供的一种数据的处理方法,通信设备在获取到客户端发送的数据量较小的第一数据分片之后,可以通过合并至少两个第一数据分片,从而得到数据量较大的合并分片,最终向服务器发送合并分片和获取到的数据分片中数据量较大的第二数据分片,完成数据分片的上传过程,从而避免了因为文件分片后得到的数据分片小于云厂商规定的第一预设值,导致的数据分片上传失败,从而提高了文件上传的成功率。
[0163]
此外,所述数据分片中还包括数据标识,所述数据标识用于标识上传所述数据分片的顺序,因此,可以根据所述数据标识进行排序,得到分片序列,并进一步从分片序列的一端开始,合并所述分片序列中至少两个相邻的第一数据分片,得到合并分片,从而保证对分片序列中包含的全部的第一数据进行合并,并且不对同一个第一数据分片进行重复合并,提高文件上传的准确度和效率。
[0164]
图8是根据一示例性实施例示出的一种数据的处理装置的框图,如图8所示,该装置300可以包括:
[0165]
获取模块301,用于获取多个数据分片,所述数据分片的文件大小用于表征所述数据分片的数据量的大小;
[0166]
合并模块302,用于针对所述多个数据分片中文件大小于第一预设值的第一数据分片,合并至少两个所述第一数据分片,得到合并分片,其中,得到不同所述合并分片的第一数据分片互不相同;
[0167]
第一发送模块303,用于向服务器发送所述合并分片以及所述多个数据分片中的第二数据分片,其中,所述第二数据分片的文件大小大于或等于所述第一预设值。
[0168]
其中,合并模块302与获取模块301连接,第一发送模块303与合并模块302连接。
[0169]
本申请实施例提供的装置,包括:获取多个数据分片,数据分片的文件大小用于表征数据分片的数据量的大小;针对多个数据分片中文件大小于第一预设值的第一数据分片,合并至少两个第一数据分片,得到合并分片,其中,得到不同合并分片的第一数据分片互不相同;向服务器发送合并分片以及多个数据分片中的第二数据分片,其中,第二数据分片的文件大小大于或等于第一预设值,本申请实施例中,通信设备在获取到客户端发送的数据量较小的第一数据分片之后,可以通过合并至少两个第一数据分片,从而得到数据量较大的合并分片,最终向服务器发送合并分片和获取到的数据分片中数据量较大的第二数据分片,完成数据分片的上传过程,从而避免了因为文件分片后得到的数据分片小于云厂商规定的第一预设值,导致的数据分片上传失败,从而提高了文件上传的成功率。
[0170]
所述装置还包括:
[0171]
排序模块,用于按照预设顺序,对所述第一数据分片进行排序,得到分片序列;
[0172]
所述合并模块,包括:
[0173]
第一合并子模块,用于从所述分片序列的一端开始,合并所述分片序列中至少两个相邻的第一数据分片,得到所述合并分片。
[0174]
在一种可能实施方式中,所述第一数据分片为依次获取得到的;
[0175]
所述合并模块,包括:
[0176]
第一确定子模块,用于根据最近一次获取到的新的第一数据分片,在所述分片序列中确定与所述新的第一数据分片对应的子分片序列,所述子分片序列为从所述分片序列的一端开始,按照顺序连续排列的部分序列;
[0177]
第二合并子模块,用于合并从所述子分片序列中选取的至少两个第一数据分片,得到所述合并分片;
[0178]
第二确定子模块,用于从所述合并分片中确定与所述新的第一数据分片对应的目标合并分片;
[0179]
所述第一发送模块,包括:
[0180]
第一发送子模块,用于向所述服务器发送所述目标合并分片。
[0181]
在一种可能实施方式中,所述合并模块,包括:
[0182]
第三确定子模块,用于在所述数据分片的数量等于预设数量值的情况下,在所述第一数据分片中确定至少两个目标第一数据分片,所述目标第一数据分片的文件大小的和大于或等于所述第一预设值;
[0183]
第三合并子模块,用于合并所述至少两个目标第一数据分片,得到所述合并分片。
[0184]
在一种可能实施方式中,在得到所述合并分片的目标第一数据分片的数量为最小值的情况下,所述装置还包括:
[0185]
第二发送模块,用于将所有所述第一数据分片中未进行合并的第一数据分片合并后发送至所述服务器。
[0186]
在一种可能实施方式中,所述装置还包括:
[0187]
更新模块,用于查询所述分片序列,在所述分片序列中不包含所述新的第一数据分片的情况下,根据所述新的第一数据分片,更新所述分片序列。
[0188]
在一种可能实施方式中,所述第一发送模块,包括:
[0189]
第二发送子模块,用于在接收到发送指令的情况下,向所述服务器发送所述合并分片以及所述多个数据分片中的第二数据分片;
[0190]
清除子模块,用于清除所述分片序列。
[0191]
在一种可能实施方式中,所述合并分片的文件大小小于第二预设值,所述第二预设值大于所述第一预设值。
[0192]
在一种可能实施方式中,所述数据分片还包括数据标识,所述数据标识用于标识上传所述数据分片的顺序,
[0193]
所述排序模块,包括:
[0194]
排序子模块,用于根据所述数据标识,对所述第一数据分片进行排序,得到所述分片序列。
[0195]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0196]
图9是根据一示例性实施例示出的一种设备的框图。例如,设备400可以是移动电话,计算机,数字广播设备,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0197]
参照图9,设备400可以包括以下一个或多个组件:处理组件402,存储器404,电力组件406,多媒体组件408,音频组件410,输入/输出(i/o)的接口412,传感器组件414,以及通信组件416。
[0198]
处理组件402通常控制设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
[0199]
存储器404被配置为存储各种类型的数据以支持在设备400的操作。这些数据的示例包括用于在设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0200]
电源组件406为设备400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为设备400生成、管理和分配电力相关联的组件。
[0201]
多媒体组件408包括在所述设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0202]
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(mic),当设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
[0203]
i/o接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0204]
传感器组件414包括一个或多个传感器,用于为设备400提供各个方面的状态评估。例如,传感器组件414可以检测到设备400的打开/关闭状态,组件的相对定位,例如所述组件为设备400的显示器和小键盘,传感器组件414还可以检测设备400或设备400一个组件
的位置改变,用户与设备400接触的存在或不存在,设备400方位或加速/减速和设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0205]
通信组件416被配置为便于设备400和其他设备之间有线或无线方式的通信。设备400可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件416还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0206]
在示例性实施例中,设备400可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于在该设备400被提供为前述第一设备时,执行上述信息提醒方法中的步骤。
[0207]
在示例性实施例中,还提供了一种包括指令的非临时性存储介质,例如包括指令的存储器404,上述指令可由设备400的处理器420执行以完成上述数据的处理方法。例如,所述非临时性存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0208]
在示例性实施例中,本申请实施例还提供一种应用程序,包括一条或多条指令,该一条或多条指令可以由设备的处理器执行时,使得设备能够执行一种以实现如本申请提供的数据的处理方法所执行的操作。
[0209]
图10是根据一示例性实施例示出的另一种设备的框图。参照图10,设备500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述数据的处理方法中的步骤。
[0210]
设备500还可以包括一个电源组件526被配置为执行设备500的电源管理,一个有线或无线网络接口550被配置为将设备500连接到网络,和一个输入输出(i/o)接口558。设备500可以操作基于存储在存储器532的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm或类似。
[0211]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0212]
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1