文件传输方法、文件处理方法及装置与流程

文档序号:30597982发布日期:2022-07-01 21:04阅读:111来源:国知局
文件传输方法、文件处理方法及装置与流程

1.本公开的实施例涉及文件处理技术领域,尤其涉及一种文件传输方法、文件处理方法及装置。


背景技术:

2.在基于单片机等芯片的嵌入式设备开发环境下,对内存的使用有严格的要求,在通过网络等途径进行文件传输的情景下,一般通过全量数据传输实现文件收发,但是这种方式并不适合一些特定环境,例如在ota(over-the-air technology,空中下载技术)的过程中,如果程序文件过大,而网络环境又不稳定的情况下,就会出现传输时间长,传输极不稳定的情况,严重影响了升级的成功率,让设备难以控制,另外一种方案就是对文件进行压缩后再进行传输,但是现有的压缩算法(bz2/zip/lzma等)有以下共性问题:
3.1、在压缩端和解压端都占用了较大的内存,对于内存一般只有几十kb的嵌入式设备来讲,设备端无法运行解压程序;
4.2、解压时间较长,多数算法依托于文件系统,对于嵌入式系统来说,移植比较困难,系统维护费时费力。
5.这种方案适用于内存较大,并且支持完善的文件系统的芯片使用,对于单片机等mcu来讲,内存只有十几到几十kb,大部分文件传输的途径只能通过全量传输,造成了时间长、传输过程不稳定、传输文件大小受限的情况。
6.因此,上述文件传输方式存在文件过大接收失败概率较大,文件传输时间长,影响用户体验,或者,对于单片机等设备而言,传统压缩算法占用空间较大,无法在本地完成解压。


技术实现要素:

7.本公开的实施例提供一种文件传输方法、文件处理方法及装置,用以降低文件传输失败的概率,降低网络数据传输量,提高文件传输速度。
8.根据本公开的实施例的第一方面,提供了一种文件传输方法,应用于服务器,所述方法包括:
9.获取待传输文件;
10.根据设定文件块大小,对所述待传输文件进行分块处理,得到所述待传输文件对应的多个分块文件;
11.对所述多个分块文件进行压缩处理,生成多个分块压缩文件;
12.将所述多个分块压缩文件传输至客户端,以由所述客户端对所述多个分块压缩文件分别进行解压处理,生成所述待传输文件。
13.可选地,在所述根据设定文件块大小,对所述待传输文件进行分块处理,得到所述待传输文件对应的多个分块文件之前,还包括:
14.获取预先保存的所述客户端对应的预留文件内存;
15.根据所述预留文件内存,确定所述设定文件块大小。
16.可选地,在所述获取待传输文件之后,还包括:
17.对所述待传输文件添加校验值,生成所述待传输文件对应的文件校验值;
18.在所述根据设定文件块大小,对所述待传输文件进行分块处理,得到所述待传输文件对应的多个分块文件之后,还包括:
19.对所述多个分块文件添加校验值,生成所述多个分块文件对应的文件块校验值;
20.在所述将所述多个分块压缩文件传输至客户端之前,还包括:
21.将所述文件校验值和所述文件块校验值发送至所述客户端。
22.可选地,所述对所述多个分块文件进行压缩处理,生成多个分块压缩文件,包括:
23.获取所述多个分块文件的文件块长度;
24.根据所述文件块长度和所述文件块校验值,对所述多个分块文件进行压缩处理,生成所述多个分块压缩文件。
25.根据本公开的实施例的第二方面,提供了一种文件处理方法,应用于客户端,所述方法包括:
26.接收由服务器发送的多个分块压缩文件;
27.对所述多个分块压缩文件进行解压缩处理,得到所述多个分块压缩文件对应的多个分块文件;
28.对所述多个分块文件进行整合处理,生成目标文件。
29.可选地,在所述接收由服务器发送的多个分块压缩文件之前,还包括:
30.接收并缓存由所述服务器发送的文件校验值和文件块校验值;
31.在所述对所述多个分块压缩文件进行解压缩处理,得到所述多个分块压缩文件对应的多个分块文件之后,还包括:
32.获取所述多个分块文件的文件块大小;
33.对所述多个分块文件进行校验处理,生成所述多个分块文件对应的目标块校验值;
34.在所述文件块大小与设定文件块大小匹配,且所述目标块校验值与所述文件块校验值匹配的情况下,确定所述多个分块文件校验成功;
35.在所述文件块大小与所述设定文件块大小不匹配,或所述目标块校验值与所述文件块校验值不匹配的情况下,确定所述多个分块文件校验失败;
36.在所述对所述多个分块文件进行整合处理,生成目标文件之后,还包括:
37.对所述目标文件进行校验处理,生成所述目标文件对应的目标文件校验值;
38.在所述目标文件校验值与所述文件校验值匹配的情况下,确定所述目标文件校验成功。
39.根据本公开的实施例的第三方面,提供了一种文件传输装置,应用于服务器,所述装置包括:
40.待传输文件获取模块,用于获取待传输文件;
41.分块文件获取模块,用于根据设定文件块大小,对所述待传输文件进行分块处理,得到所述待传输文件对应的多个分块文件;
42.分块压缩文件获取模块,用于对所述多个分块文件进行压缩处理,生成多个分块
压缩文件;
43.分块压缩文件传输模块,用于将所述多个分块压缩文件传输至客户端,以由所述客户端对所述多个分块压缩文件分别进行解压处理,生成所述待传输文件。
44.可选地,还包括:
45.预留内存获取模块,用于获取预先保存的所述客户端对应的预留文件内存;
46.文件块大小确定模块,用于根据所述预留文件内存,确定所述设定文件块大小。
47.可选地,还包括:
48.文件校验值生成模块,用于对所述待传输文件添加校验值,生成所述待传输文件对应的文件校验值;
49.文件块校验值生成模块,用于对所述多个分块文件添加校验值,生成所述多个分块文件对应的文件块校验值;
50.校验值发送模块,用于将所述文件校验值和所述文件块校验值发送至所述客户端。
51.可选地,所述分块压缩文件获取模块包括:
52.文件块长度获取单元,用于获取所述多个分块文件的文件块长度;
53.分块压缩文件生成单元,用于根据所述文件块长度和所述文件块校验值,对所述多个分块文件进行压缩处理,生成所述多个分块压缩文件。
54.根据本公开的实施例的第四方面,提供了一种文件处理装置,应用于客户端,所述装置包括:
55.分块压缩文件接收模块,用于接收由服务器发送的多个分块压缩文件;
56.分块文件获取模块,用于对所述多个分块压缩文件进行解压缩处理,得到所述多个分块压缩文件对应的多个分块文件;
57.目标文件生成模块,用于对所述多个分块文件进行整合处理,生成目标文件。
58.可选地,还包括:
59.校验值接收模块,用于接收并缓存由所述服务器发送的文件校验值和文件块校验值;
60.文件块大小获取模块,用于获取所述多个分块文件的文件块大小;
61.目标块校验值生成模块,用于对所述多个分块文件进行校验处理,生成所述多个分块文件对应的目标块校验值;
62.分块文件校验成功模块,用于在所述文件块大小与设定文件块大小匹配,且所述目标块校验值与所述文件块校验值匹配的情况下,确定所述多个分块文件校验成功;
63.分块文件校验失败模块,用于在所述文件块大小与所述设定文件块大小不匹配,或所述目标块校验值与所述文件块校验值不匹配的情况下,确定所述多个分块文件校验失败;
64.目标文件校验值生成模块,用于对所述目标文件进行校验处理,生成所述目标文件对应的目标文件校验值;
65.目标文件校验成功模块,用于在所述目标文件校验值与所述文件校验值匹配的情况下,确定所述目标文件校验成功。
66.根据本公开的实施例的第五方面,提供了一种电子设备,包括:
67.处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的文件传输方法,或上述任一项所述的文件处理方法。
68.根据本公开的实施例的第六方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的文件传输方法,或上述任一项所述的文件处理方法。
69.本公开的实施例提供了一种文件传输方法、文件处理方法及装置,通过获取待传输文件,根据设定文件块大小,对待传输文件进行分块处理,得到待传输文件对应的多个分块文件,对多个分块文件进行压缩处理,生成多个分块压缩文件,将多个分块压缩文件传输至客户端,以由客户端对多个分块压缩文件分别进行解压处理,生成待传输文件。本公开的实施例通过在传输文件之前,根据设定文件块大小对文件进行分块并压缩,从而可以降低文件传输失败的概率,降低网络数据传输量,提高文件传输速度。
附图说明
70.为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
71.图1为本公开的实施例提供的一种文件传输方法的步骤流程图;
72.图2为本公开的实施例提供的一种文件处理方法的步骤流程图;
73.图3为本公开的实施例提供的一种文件传输装置的结构示意图;
74.图4为本公开的实施例提供的一种文件处理装置的结构示意图。
具体实施方式
75.下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。
76.实施例一
77.参照图1,示出了本公开的实施例提供的一种文件传输方法的步骤流程图,该文件传输方法可以应用于服务器,如图1所示,该文件传输方法具体可以包括如下步骤:
78.步骤101:获取待传输文件。
79.本公开的实施例可以应用于将大型文件进行分块压缩、分块发送的场景中。
80.本公开的实施例可以应用于服务器侧。
81.待传输文件是指需要服务器向客户端传输的文件。在本示例中,待传输文件可以一个文件,也可以为多个文件,具体地,可以根据业务需求而定,本实施例对此不加以限制。
82.待传输文件的类型可以为音频类型,也可以为视频类型,还可以为文本类型等,具体地,可以根据业务需求而定,本实施例对此也不加以限制。
83.在服务器需要向客户端传输文件时,可以获取待传输文件。
84.在获取到待传输文件之后,执行步骤102。
85.步骤102:根据设定文件块大小,对所述待传输文件进行分块处理,得到所述待传输文件对应的多个分块文件。
86.设定文件块大小是指预先设定的对文件进行分块的占用内存大小。在本实施例中,设定文件块大小可以设定为1k~4k之间,较小内存的文件块在压缩时,能够明显提升文件块的压缩率,且文件块压缩和解压缩占用空间较小,对于单片机等设备而言,解决了传统压缩算法占用空间较大,无法在本地完成解压的问题,能够实现本地解压。
87.设定文件块大小可以是根据客户端预留的文件内存大小进行设置,具体地,可以结合下述具体实现方式进行详细描述。
88.在本公开的实施例的一种具体实现方式中,在上述步骤102之前,还可以包括:
89.步骤a1:获取预先保存的所述客户端对应的预留文件内存。
90.在本实施例中,预留文件内存是指客户端预先保留的接收服务器传输文件的内存。
91.在具体实现中,可以由客户端预先向服务器发送本地保存服务器传输文件的文件内存,即预留文件内存。
92.在获取到预先保存的客户端对应的预留文件内存之后,执行步骤a2。
93.步骤a2:根据所述预留文件内存,确定所述设定文件块大小。
94.在获取到预留文件内存之后,可以根据预留文件内存确定设定文件块大小,例如,在预留文件内存较大时,可以设置一个较大的设定文件块大小,而在预留文件内存较小时,可以设置一个较小的设定文件块大小等。
95.本公开的实施例通过根据设备端预留空间的大小适当调整数据块的大小,如果把压缩前的文件块大小适当增大,那么文件的压缩率也会降低。这种可配置内存的压缩算法能够极大提高嵌入式设备的内存利用率。
96.分块文件是指将待传输文件进行分块之后,得到的多个块文件。
97.在获取到待传输文件之后,可以判断待传输文件的文件大小与设定文件块大小之间的大小关系。
98.若待传输文件的文件大小小于或者等于设定文件块大小,此时,可以直接向客户端发送待传输文件,不需要做分块处理,本实施例对此不做详细描述。
99.若待传输文件的文件大小大于设定文件块大小,则可以根据设定文件块大小对待传输文件进行分块处理,以得到待传输文件对应的多个分块文件,例如,设定文件块大小为3k,待传输文件的大小为30k,此时,可以将待传输为划分成10个3k的分块文件。或者,设定文件块大小为3k,待传输文件为28k,此时,可以将待传输文件划分成9个3k的分块文件和一个1k的分块文件等。
100.可以理解地,上述示例仅是为了更好地本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
101.在根据设定文件块大小对待传输文件进行分块处理,得到待传输文件对应的多个分块文件之后,执行步骤103。
102.步骤103:对所述多个分块文件进行压缩处理,生成多个分块压缩文件。
103.分块压缩文件是指将多个分块文件分别进行压缩处理得到的多个分块文件对应
的压缩文件。
104.在得到待传输文件对应的多个分块文件之后,可以对多个分块文件进行压缩处理生成多个分块压缩文件,例如,多个分块文件包括分块文件1、分块文件2、分块文件3和分块文件4,在分别对分块文件1、分块文件2、分块文件3和分块文件4进行压缩处理之后,可以得到分块文件1对应的分块压缩文件,分块文件2对应的分块压缩文件,分块文件3对应的分块压缩文件,及分块文件4对应的分块压缩文件等。
105.当然,在本示例中,对于分块文件压缩处理的方式可以根据业务需求而定,本实施例对此不加以限制。
106.在本实施例中,压缩接口可以采用lzo_999,该压缩接口占用内存较大,具有较高的压缩比,由于压缩部分在服务器侧运行,对于内存占用不做要求,而采用该lzo_999接口能够充分提高压缩能力。
107.在对多个分块文件进行压缩处理生成多个分块压缩文件之后,执行步骤104。
108.步骤104:将所述多个分块压缩文件传输至客户端,以由所述客户端对所述多个分块压缩文件分别进行解压处理,生成所述待传输文件。
109.在对多个分块文件进行压缩处理生成多个分块压缩文件之后,可以将多个分块压缩文件传输至客户端,以由客户端对多个分块压缩文件进行解压处理得到待传输文件。
110.在本实施例中,为了提高文件传输的安全性,可以加入文件校验和块校验,具体地,可以结合下述具体实现方式进行详细描述。
111.在本公开的实施例的一种具体实现方式中,在上述步骤101之后,还可以包括:
112.步骤b1:对所述待传输文件添加校验值,生成所述待传输文件对应的文件校验值。
113.在上述步骤102之后,还可以包括:
114.步骤c1:对所述多个分块文件添加校验值,生成所述多个分块文件对应的文件块校验值。
115.在上述步骤104之前,还可以包括:
116.步骤d1:将所述文件校验值和所述文件块校验值发送至所述客户端。
117.文件校验值是指对待传输文件添加校验值之后,得到的待传输文件的校验值。
118.文件块校验值是指对分块文件添加校验值之后,得到的分块文件的校验值。
119.在获取到待传输文件之后,可以对待传输文件添加校验值,以得到待传输文件对应的文件块校验值。
120.在得到文件校验值和文件块校验值之后,可以将文件校验值和文件块校验值发送至客户端,以由客户端预先对文件校验值和文件块校验值进行保存,用于后续校验值的匹配,判断文件传输的准确性。
121.本公开的实施例通过采用文件块校验和文件校验的双重校验方式,可以加强数据压缩的安全性,在解压时可以充分验证压缩后的数据的正确性。
122.在得到分块文件对应的文件块校验值之后,可以结合文件块校验值进行分块文件的压缩处理,具体地,可以结合下述具体实现方式进行详细描述。
123.在本公开的实施例的一种具体实现方式中,上述步骤103可以包括:
124.子步骤e1:获取所述多个分块文件的文件块长度。
125.在本公开的实施例中,文件块长度是指分块文件的长度。
126.在得到待传输文件对应的多个分块文件之后,可以分别获取多个分块文件的文件块长度。
127.在获取多个分块文件的文件块长度之后,执行子步骤e2。
128.子步骤e2:根据所述文件块长度和所述文件块校验值,对所述多个分块文件进行压缩处理,生成所述多个分块压缩文件。
129.在获取多个分块文件的文件块长度之后,可以根据文件块长度和文件块校验值对多个分块文件分别进行压缩处理,以生成多个分块压缩文件,进而可以充分验证压缩后数据的正确性。
130.在本实施例中,在进行压缩后的文件中不仅包含原分块文件,还可以包含数据头(datahead)和文件校验值(checksum),其中,datahead可以包括headmagic(head识别字符)和block len(文件块长度),checksum是包含除了checksum之外的部分所有数据的crc16校验值,通过这种方式,不仅可以缩减压缩的空间占用(最低可以到1k以内),而且可以加强压缩的安全性,在解压时可以充分验证压缩后数据的正确性。
131.本公开的实施例提供的文件传输方法,通过获取待传输文件,根据设定文件块大小,对待传输文件进行分块处理,得到待传输文件对应的多个分块文件,对多个分块文件进行压缩处理,生成多个分块压缩文件,将多个分块压缩文件传输至客户端,以由客户端对多个分块压缩文件分别进行解压处理,生成待传输文件。本公开的实施例通过在传输文件之前,根据设定文件块大小对文件进行分块并压缩,从而可以降低文件传输失败的概率,降低网络数据传输量,提高文件传输速度。
132.实施例二
133.参照图2,示出了本公开的实施例提供的一种文件处理方法的步骤流程图,该文件处理方法可以应用于客户端,如图2所示,该文件处理方法具体可以包括如下步骤:
134.步骤201:接收由服务器发送的多个分块压缩文件。
135.本公开的实施例可以应用于客户端接收服务器发送的多个分块压缩文件,并分别进行解压得到多个分块文件然后进行整合得到目标文件的场景中。
136.本公开的实施例可以应用于客户端。
137.分块压缩文件是指客户端接收的由服务器发送的多个分块文件分别进行压缩之后的压缩文件。
138.在本实施例中,客户端在接收分块压缩文件之前,还可以接收并缓存有服务器发送的文件校验值和文件块校验值,并将文件校验值和文件块校验值缓存至本地内存中。
139.在对多个分块压缩文件进行解压缩处理得到多个分块压缩文件对应的多个分块文件之后,可以获取多个分块文件的文件块大小,并对多个分块文件进行校验处理,以得到多个分块文件对应的目标块校验值,并结合文件块大小和目标块校验值对分块文件进行校验。
140.在客户端接收到由服务器发送的多个分块压缩文件之后,执行步骤202。
141.步骤202:对所述多个分块压缩文件进行解压缩处理,得到所述多个分块压缩文件对应的多个分块文件。
142.在客户端接收到由服务器发送的多个分块压缩文件之后,可以对多个分块压缩文件进行解压缩处理,以得到多个分块压缩文件对应的多个分块文件,例如,多个分块压缩文
件包括压缩文件1、压缩文件2、压缩文件3和压缩文件4,在对压缩文件1、压缩文件2、压缩文件3和压缩文件4分别进行解压缩之后,即可以得到压缩文件1对应的分块文件1,压缩文件2对应的分块文件2,压缩文件3对应的分块文件3,及压缩文件4对应的分块文件4等。
143.可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
144.在本实施例中,在得到多个分块文件之后,还可以对结合预先获取的有服务器发送的分块校验值对每个分块文件进行校验,具体地,可以结合下述具体实现方式进行详细描述。
145.在本公开的实施例的另一种具体实现方式中,在上述步骤202之后,还可以包括:
146.步骤f1:获取所述多个分块文件的文件块大小。
147.在本实施例中,文件块大小是指分块文件所占用内存的大小。
148.在对多个分块压缩文件进行解压缩处理,得到多个分块文件之后,可以分别计算每个分块文件的大小,以得到每个分块文件的文件块大小。
149.在获取到多个分块文件的文件块大小之后,执行步骤f2。
150.步骤f2:对所述多个分块文件进行校验处理,生成所述多个分块文件对应的目标块校验值。
151.目标块校验值是指对每个分块文件进行校验之后得到的分块文件的校验值。在本示例中,针对多个分块文件而言,每个分块文件的校验值可以添加分块文件的标识,以作为校验值与分块文件之间的对应关系,例如,多个分块文件包括:分块文件1、分块文件2和分块文件3,在得到这三个分块文件的目标校验值之后,可以分别记录为目标校验值1、目标校验值2和目标校验值3,此时,分块文件1与目标校验值1相对应,分块文件2与目标校验值2相对应,而分块文件3与目标校验值3相对应等。
152.可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
153.在获取到多个分块文件之后,可以对多个分块文件进行校验处理,以得到多个分块文件的目标块校验值,可以理解地,此处的校验处理方式与上述实施例一中添加校验值的方式互为逆运算。
154.在对多个分块文件进行校验处理生成多个分块文件对应的目标块校验值之后,执行步骤f3,或者,执行步骤f4。
155.步骤f3:在所述文件块大小与设定文件块大小匹配,且所述目标块校验值与所述文件块校验值匹配的情况下,确定所述多个分块文件校验成功。
156.设定文件块大小是指预先接收到的服务器发送的每个分块文件所对应的大小,在本实施例中,多个分块文件对应的设定文件块大小可以是完全相同的,也可能存在一个不同的文件块大小,具体地,可以根据上述实施例一中的得到的分块文件大小而定。
157.在得到多个分块文件的文件块大小,及多个分块文件对应的目标块校验值之后,可以将每个分块文件的文件块大小分别与每个分块文件对应的设定文件块大小进行匹配,且将每个分块文件的目标块校验值分别与每个分块文件对应的文件块校验值进行匹配,在每个分块文件的文件块大小与设定文件块大小匹配,且目标块校验值与文件块校验值匹配时,则可以确定所有的分块文件校验成功。
158.步骤f4:在所述文件块大小与所述设定文件块大小不匹配,或所述目标块校验值与所述文件块校验值不匹配的情况下,确定所述多个分块文件校验失败。
159.在文件块大小与设定文件块大小不匹配,或目标块校验值与文件块校验值不匹配的情况,则确定多个分块文件校验失败。
160.在本实施例中,在存在一个或多个分块文件校验失败的情况下,可以向服务器发送文件块获取请求,以请求服务器重新下发校验失败的文件块。
161.本公开的实施例通过采用双重校验的方式,能够充分验证客户端获取的解压缩后的数据的准确性。
162.在对多个分块压缩文件进行解压缩处理得到多个分块压缩文件对应的多个分块文件之后,执行步骤203。
163.步骤203:对所述多个分块文件进行整合处理,生成目标文件。
164.在得到多个分块文件之后,可以对多个分块文件进行整合处理,即可以得到一个完整的目标文件,例如,得到的多个分块文件包括分块文件1、分块文件2、分块文件3和分块文件4,可以将这四个分块文件进行整合,得到一个完整的文件,即目标文件。
165.可以理解地,针对一个文件的多个分块文件可以预先标记每个分块文件的整合顺序,在对每个分块文件进行压缩时,即可以添加该整合顺序的标识,进而在得到多个分块文件之后,可以结合多个分块文件的整合顺序进行分块文件的整合,即可生成目标文件,例如,多个分块文件包括分块文件1、分块文件2、分块文件3和分块文件4,这四个分块文件的整合顺序按照由先到后的顺序依次为:分块文件3、分块文件1、分块文件4和分块文件2,然后,将这四个分块文件整合得到的目标文件为:分块文件3分块文件1分块文件4分块文件2等。
166.可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
167.本公开的实施例通过接收多个内存较小的压缩文件块,针对单片机等设备而言,可以在本地完成解压,且解压效果较高。
168.本公开的实施例提供的文件处理方法,通过接收由服务器发送的多个分块压缩文件,对多个分块压缩文件进行解压缩处理,得到多个分块压缩文件对应的多个分块文件,对多个分块文件进行整合处理,生成目标文件。本公开的实施例通过接收到多个分块压缩文件,并进行多个分块压缩文件的解压处理,最终得到目标文件,对于单片机等设备而言,解决了传统压缩算法占用空间较大,无法在本地完成解压的问题,能够实现本地解压,且解压效果较高。
169.实施例三
170.参照图3,示出了本公开的实施例提供的一种文件传输装置的结构示意图,该文件传输装置可以应用于服务器,如图3所示,该文件传输装置300具体可以包括如下步骤:
171.待传输文件获取模块310,用于获取待传输文件;
172.分块文件获取模块320,用于根据设定文件块大小,对所述待传输文件进行分块处理,得到所述待传输文件对应的多个分块文件;
173.分块压缩文件获取模块330,用于对所述多个分块文件进行压缩处理,生成多个分块压缩文件;
174.分块压缩文件传输模块340,用于将所述多个分块压缩文件传输至客户端,以由所述客户端对所述多个分块压缩文件分别进行解压处理,生成所述待传输文件。
175.可选地,还包括:
176.预留内存获取模块,用于获取预先保存的所述客户端对应的预留文件内存;
177.文件块大小确定模块,用于根据所述预留文件内存,确定所述设定文件块大小。
178.可选地,还包括:
179.文件校验值生成模块,用于对所述待传输文件添加校验值,生成所述待传输文件对应的文件校验值;
180.文件块校验值生成模块,用于对所述多个分块文件添加校验值,生成所述多个分块文件对应的文件块校验值;
181.校验值发送模块,用于将所述文件校验值和所述文件块校验值发送至所述客户端。
182.可选地,所述分块压缩文件获取模块330包括:
183.文件块长度获取单元,用于获取所述多个分块文件的文件块长度;
184.分块压缩文件生成单元,用于根据所述文件块长度和所述文件块校验值,对所述多个分块文件进行压缩处理,生成所述多个分块压缩文件。
185.本公开的实施例提供的文件传输装置,通过获取待传输文件,根据设定文件块大小,对待传输文件进行分块处理,得到待传输文件对应的多个分块文件,对多个分块文件进行压缩处理,生成多个分块压缩文件,将多个分块压缩文件传输至客户端,以由客户端对多个分块压缩文件分别进行解压处理,生成待传输文件。本公开的实施例通过在传输文件之前,根据设定文件块大小对文件进行分块并压缩,从而可以降低文件传输失败的概率,降低网络数据传输量,提高文件传输速度。
186.实施例四
187.参照图4,示出了本公开的实施例提供的一种文件处理装置的步骤流程图,该文件处理装置可以应用于客户端,如图4所示,该文件处理装置400具体可以包括如下模块:
188.分块压缩文件接收模块410,用于接收由服务器发送的多个分块压缩文件;
189.分块文件获取模块420,用于对所述多个分块压缩文件进行解压缩处理,得到所述多个分块压缩文件对应的多个分块文件;
190.目标文件生成模块430,用于对所述多个分块文件进行整合处理,生成目标文件。
191.可选地,还包括:
192.校验值接收模块,用于接收并缓存由所述服务器发送的文件校验值和文件块校验值;
193.文件块大小获取模块,用于获取所述多个分块文件的文件块大小;
194.目标块校验值生成模块,用于对所述多个分块文件进行校验处理,生成所述多个分块文件对应的目标块校验值;
195.分块文件校验成功模块,用于在所述文件块大小与设定文件块大小匹配,且所述目标块校验值与所述文件块校验值匹配的情况下,确定所述多个分块文件校验成功;
196.分块文件校验失败模块,用于在所述文件块大小与所述设定文件块大小不匹配,或所述目标块校验值与所述文件块校验值不匹配的情况下,确定所述多个分块文件校验失
败;
197.目标文件校验值生成模块,用于对所述目标文件进行校验处理,生成所述目标文件对应的目标文件校验值;
198.目标文件校验成功模块,用于在所述目标文件校验值与所述文件校验值匹配的情况下,确定所述目标文件校验成功。
199.本公开的实施例提供的文件处理装置,通过接收由服务器发送的多个分块压缩文件,对多个分块压缩文件进行解压缩处理,得到多个分块压缩文件对应的多个分块文件,对多个分块文件进行整合处理,生成目标文件。本公开的实施例通过接收到多个分块压缩文件,并进行多个分块压缩文件的解压处理,最终得到目标文件,对于单片机等设备而言,解决了传统压缩算法占用空间较大,无法在本地完成解压的问题,能够实现本地解压,且解压效果较高。
200.本公开的实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施例的文件传输方法,或文件处理方法。
201.本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的文件传输方法,或文件处理方法。
202.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
203.在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
204.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
205.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
206.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权
利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
207.本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的动态图片的生成设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
208.应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
209.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
210.以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
211.以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1