文件发送方法和装置、文件接收方法和装置和终端设备的制造方法_2

文档序号:9600949阅读:来源:国知局
将接收模块接收的数据块放入待保存队列,获取模块在放入模块将接收模块接收的数据块放入待保存队列的过程中,按照先入先出的原则从上述待保存队列中获取数据块,写入模块将上述获取模块获取的数据块写入对应的文件,从而可以使文件接收装置中数据块的接收和保存分别在两个线程并行执行,减少了执行接收数据块时,保存数据块的操作被迫等待而浪费的时间,提高了文件的接收速度,提高了用户体验。
[0030]为了实现上述目的,本发明第五方面实施例的终端设备,包括:壳体、处理器、存储器、发送器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器、所述存储器和所述发送器设置在所述电路板上;所述电源电路,用于为所述终端设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:通过读取线程顺序依次读取待发送文件的至少两个文件块,将读取的文件块放入待发送队列;在通过所述读取线程将读取的文件块放入待发送队列的过程中,通过发送线程按照先入先出的原则从所述待发送队列中获取文件块;所述发送器,用于发送所述发送线程获取的文件块。
[0031]本发明实施例的终端设备中,处理器通过读取线程顺序依次读取待发送文件的至少两个文件块,将读取的文件块放入待发送队列,在通过上述读取线程将读取的文件块放入待发送队列的过程中,通过发送线程按照先入先出的原则从上述待发送队列中获取文件块,然后发送器发送上述发送线程获取的文件块,从而可以使终端设备中文件块的读取和发送分别在两个线程并行执行,减少了执行读取文件块时,发送文件块的操作被迫等待而浪费的时间,提高了文件的发送速度,提高了用户体验。
[0032]为了实现上述目的,本发明第六方面实施例的终端设备,包括:壳体、处理器、存储器、接收器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器、所述存储器和所述接收器设置在所述电路板上;所述电源电路,用于为所述终端设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述接收器,用于接收待接收文件的数据块;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:通过接收线程将所述接收器接收的数据块放入待保存队列;在通过所述接收线程将接收的数据块放入待保存队列的过程中,通过保存线程按照先入先出的原则从所述待保存队列中获取数据块,将获取的数据块写入对应的文件。
[0033]本发明实施例的终端设备中,接收器接收待接收文件的数据块之后,处理器通过接收线程将上述接收器接收的数据块放入待保存队列,在通过上述接收线程将接收的数据块放入待保存队列的过程中,通过保存线程按照先入先出的原则从上述待保存队列中获取数据块,将获取的数据块写入对应的文件,从而可以使终端设备中数据块的接收和保存分别在两个线程并行执行,减少了执行接收数据块时,保存数据块的操作被迫等待而浪费的时间,提高了文件的接收速度,提高了用户体验。
[0034]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0035]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0036]图1为本发明文件发送方法一个实施例的流程图;
[0037]图2为本发明文件接收方法一个实施例的流程图;
[0038]图3为本发明文件发送装置一个实施例的结构示意图;
[0039]图4为本发明文件发送装置另一个实施例的结构示意图;
[0040]图5为本发明文件接收装置一个实施例的结构示意图;
[0041]图6为本发明文件接收装置另一个实施例的结构示意图;
[0042]图7为本发明终端设备一个实施例的结构示意图;
[0043]图8为本发明终端设备另一个实施例的结构示意图。
【具体实施方式】
[0044]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0045]图1为本发明文件发送方法一个实施例的流程图,该文件发送方法应用在作为发送方的终端设备中。
[0046]如图1所示,该文件发送方法可以包括:
[0047]步骤101,通过读取线程顺序依次读取待发送文件的至少两个文件块,将读取的文件块放入待发送队列。
[0048]其中,上述待发送队列可以为无锁队列,也可以为有锁队列,本实施例对上述待发送队列的形式不作限定,只是无锁队列的效率更高一点。
[0049]步骤102,在通过上述读取线程将读取的文件块放入待发送队列的过程中,通过发送线程按照先入先出的原则从上述待发送队列中获取文件块,发送获取的文件块。
[0050]本实施例中,发送方的文件读取和网络发送分别在两个线程内执行,发送方的文件输入输出(Input Output ;以下简称:1/0)线程(即读取线程)在读到待发送文件的文件块后,将读取的文件块放进待发送队列,在此过程中,网络I/O线程(即发送线程)从待发送队列内获取文件块发送出去。也就是说,文件块的读取和发送分别在两个线程并行执行。
[0051]进一步地,步骤101之前,还可以通过上述读取线程读取上述待发送文件的描述信息,将上述待发送文件的描述信息放入上述待发送队列,以及通过发送线程从上述待发送队列中获取上述待发送文件的描述信息,发送获取的上述待发送文件的描述信息。由此可见,发送方发送上述描述信息的方式与发送文件块的方式相同,发送方的读取线程在读取上述待发送文件的描述信息后,将读取的描述信息放进待发送队列,发送线程从待发送队列内获取描述信息发送出去。
[0052]其中,上述待发送文件的描述信息可以为待发送文件的文件名和/或文件长度等信息。在发送文件块之前发送上述描述信息,是为了将待发送文件的文件名和/或文件长度等信息告知接收方,这样接收方就可获知将要接收的是哪个文件,以及将要接收的文件的长度等信息。
[0053]本实施例中,上述待发送文件可以包括至少两个文件,则上述文件发送方法还可以包括:在通过上述读取线程将上述至少两个文件中第一个文件的文件块读取完毕,全部放入上述待发送队列之后,在通过上述发送线程按照先入先出的原则从上述待发送队列中获取文件块的过程中,通过上述读取线程继续读取上述至少两个文件中第二个文件的文件块,将读取的第二个文件的文件块放入上述待发送队列。进一步地,在上述至少两个文件均传输完毕之后接收文件传输成功的响应;或者,在文件传输出错时接收文件传输出错的响应。
[0054]也就是说,本实施例中,发送方的读取线程在读完上述至少两个文件中的第一个文件并将其所包括的文件块都放进队列后,不等待第一个文件的文件块发送完成,而是接着读取上述至少两个文件中第二个文件的文件块继续将其放进队列。发送方的发送线程在将队列中第一个文件的文件块发送完毕后,除发送必要的其他信息外,继续发送上述队列中第二个文件的文件块。在文件传输未出错的情况下,发送方直至将最后一个文件传输完毕,才等待接收方的结果反馈。
[0055]本实施例中,发送方可以在上述至少两个文件均传输完毕之后,接收文件传输成功的响应;或者,发送方也可以在文件传输出错时接收文件传输出错的响应,在文件传输出错时,接收方向发送方反馈文件传输出错,发送方接收到文件传输出错的响应之后,文件传输停止,这时,用户可以自行选择重传传输出错的文件和传输出错的文件后面还未传输的文件。
[0056]上述文件发送方法中,通过读取线程顺序依次读取待发送文件的至少两个文件块,将读取的文件块放入待发送队列,在通过上述读取线程将读取的文件块放入待发送队列的过程中,通过发送线程按照先入先出的原则从上述待发送队列中获取文件块,发送获取的文件块,从而可以使发送方文件块的读取和发送分别在两个线程并行执行,减少了执行读取文件块时,发送文件块的操作被迫等待而浪费的时间,提高了文件的发送速度,提高了用户体验;进一步地,发送方在发送至少两个文件时,在文件传输未出错的情况下,直至将最后一个文件传输完毕,才等待接收方的结果反馈,从而减少了因同步中间结果而浪费的时间,进一步提高了文件的发送速度,提高了用户体验。
[0057]图2为本发明文件接收方法一个实施例的流程图,该文件接收方法应用于作为接收方的终端设备中。
[0058]如图2所示,上述文件接收方法可以包括:
[0059]步骤201,通过接收线程接收待接收文件的数据块,将接收的数据块放入待保存队列。
[0060]步骤202,在通过上述接收线程将接收的数据块放入待保存队列的过程中,通过保存线程按照先入先出的原则从上述待保存队列中获取数据块,将获取的数据块写入对
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1