使用即时通讯软件进行文件传输的方法及装置与流程

文档序号:16199063发布日期:2018-12-08 06:25阅读:1362来源:国知局
使用即时通讯软件进行文件传输的方法及装置与流程

本发明涉及即时通讯软件技术领域,尤其涉及一种使用即时通讯软件进行文件传输的方法及装置。

背景技术

信息时代,即时通讯软件的出现,大大提高了人们交流的便捷性。随着即时通讯软件功能的不断丰富,即时通讯软件不再是仅仅通过字符进行沟通的工具,进行文件传输是即时通讯软件必不可少的功能,尤其在企业用户中,对大文件传输的需求也越来越多。

现有技术中,使用时通讯软件进行文件传输时,数据的传输通过单线程循环读取的方式进行传输。

现有技术中的方法无法满足大文件的快速传输,发送大文件时,系统无法做到高效、快速、稳定的传输,同时在发送大文件时,无法充分利用系统资源,对系统资源消耗过大,受到网络波动,也影响传输稳定性,传输成功率不高。



技术实现要素:

本发明的目的是提供一种使用即时通讯软件进行文件传输的方法及装置,解决了现有技术中使用即时通讯软件进行文件传输时,传输速率慢,传输稳定性差的技术问题。

为了解决上述技术问题,一方面,本发明提供一种使用即时通讯软件进行文件传输的方法,包括:

获取待传输文件;

计算所述待传输文件的大小;

若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

另一方面,本发明提供一种使用即时通讯软件进行文件传输的装置,包括:

获取模块,用于获取待传输文件;

计算模块,用于计算所述待传输文件的大小;

切割模块,用于若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

发送模块,用于通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

再一方面,本发明提供一种用于使用即时通讯软件进行文件传输的电子设备的电子设备,包括:

存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。

又一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。

本发明提供的使用即时通讯软件进行文件传输的方法及装置,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

附图说明

图1为依照本发明实施例的使用即时通讯软件进行文件传输的方法示意图;

图2为依照本发明实施例的使用即时通讯软件进行文件传输的装置示意图;

图3为本发明实施例提供的用于使用即时通讯软件进行文件传输的电子设备的结构示意图。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为依照本发明实施例的使用即时通讯软件进行文件传输的方法示意图,如图1所示,本发明实施例提供一种使用即时通讯软件进行文件传输的方法,包括:

步骤s101、获取待传输文件;

步骤s102、计算所述待传输文件的大小;

步骤s103、若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

步骤s104、通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

具体的,使用即时通讯软件进行文件传输时,包括发送端和接收端,发送端上安装有即时通讯软件,发送端上安装的即时通讯软件称为即时通讯软件发送端,接收端上也安装有即时通讯软件,接收端上安装的即时通讯软件称为即时通讯软件接收端。

首先,用户操作即时通讯软件发送端,进行文件传输,即时通讯软件发送端获取待传输文件,待传输文件为文本文件、图片文件、音频文件、视频文件或者压缩文件。

然后,即时通讯软件发送端计算待传输文件的大小,若判断获知待传输文件的大小超过第一预设阈值,则将待传输文件切割成若干个数据包。第一预设阈值的具体值,可根据实际情况确定,例如,设置为100m,即,当待传输文件的大小超过100m时,确定该待传输文件为大文件,需要进行切割后进行传输。

最后,即时通讯软件发送端通过若干个线程发送若干个数据包,每一线程发送一个数据包,所有线程同时对数据包进行循环读取,进行并发传输。当网络质量出现波动时,传输完成的数据包不需要再进行重复传输,只有没有传输完成的数据包才进行重复传输,这样设计,一方面提高了传输速率,另一方面提高了数据传输的稳定性。

本发明实施例提供的使用即时通讯软件进行文件传输的方法,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

在上述实施例的基础上,进一步地,每一数据包的大小都小于等于第二预设阈值,所述第二预设阈值小于所述第一预设阈值。

具体的,即时通讯软件发送端计算待传输文件的大小后,若判断获知待传输文件的大小超过第一预设阈值,则将待传输文件切割成若干个数据包。第一预设阈值的具体值,可根据实际情况确定,例如,设置为100m,即,当待传输文件的大小超过100m时,确定该待传输文件为大文件,需要进行切割后进行传输。

切割成的若干个数据包的大小都小于等于第二预设阈值,第一预设阈值大于第二预设阈值。例如,一个110m的大文件被分成10个11m的小数据包,分成10个线程,并发传输。

本发明实施例提供的使用即时通讯软件进行文件传输的方法,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

在以上各实施例的基础上,进一步地,所述待传输文件为文本文件、图片文件、音频文件、视频文件或者压缩文件。

具体的,待传输文件的类型,可以事情而定,待传输文件为文本文件、图片文件、音频文件、视频文件或者压缩文件等。

本发明实施例提供的使用即时通讯软件进行文件传输的方法,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

在以上各实施例的基础上,进一步地,所述通过若干个线程发送所述若干个数据包,每一线程发送一个数据包,具体为:

向即时通讯软件接收端发送文件发送数据报文,以供所述即时通讯软件接收端根据所述文件发送数据报文发送回应信息;

接收所述即时通讯软件接收端发送的回应信息;

创建线程池,所述线程池中包含若干个线程,并通过所述若干个线程发送所述若干个数据包,每一线程发送一个数据包。

具体的,通过若干个线程发送所述若干个数据包的具体步骤如下:

首先,即时通讯软件发送端向即时通讯软件接收端发送文件发送数据报文,以供即时通讯软件接收端根据所述文件发送数据报文发送回应信息。

文件发送数据报文包含待传输文件的文件名称和文件总大小,以及待传输文件被切割成的数据包的个数。

即时通讯软件接收端接收到文件发送数据报文后,对文件发送数据报文进行解析,获取待传输文件的文件名称和文件总大小,以及待传输文件被切割成的数据包的个数。然后,判断是否可以接收该待传输文件,如果可以接收该待传输文件,即时通讯软件接收端会向即时通讯软件发送端发送回应信息,以指示即时通讯软件发送端同意接收该待传输文件。

即时通讯软件发送端接收到即时通讯软件接收端发送的回应信息后,创建线程池,该线程池中包含若干个线程,线程的个数与待传输文件被切割成的数据包的个数相同,并通过若干个线程发送若干个数据包,每一线程发送一个数据包。同时,即时通讯软件接收端创建线程池,并发进行接收。

本发明实施例提供的使用即时通讯软件进行文件传输的方法,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

在以上各实施例的基础上,进一步地,所述文件发送数据报文包含所述待传输文件的文件名称和文件总大小,以及所述待传输文件被切割成的数据包的个数。

具体的,文件发送数据报文包含待传输文件的文件名称和文件总大小,以及待传输文件被切割成的数据包的个数。

即时通讯软件接收端接收到文件发送数据报文后,对文件发送数据报文进行解析,获取待传输文件的文件名称和文件总大小,以及待传输文件被切割成的数据包的个数。然后,判断是否可以接收该待传输文件,如果可以接收该待传输文件,即时通讯软件接收端会向即时通讯软件发送端发送回应信息,以指示即时通讯软件发送端同意接收该待传输文件。

本发明实施例提供的使用即时通讯软件进行文件传输的方法,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

在以上各实施例的基础上,进一步地,所述通过若干个线程发送所述若干个数据包,每一线程发送一个数据包之后,还包括:

接收所述即时通讯软件接收端发送的通知信息,所述通知信息用于指示所述待传输文件是否被成功接收。

具体的,当即时通讯软件发送端将所有的数据包发送完毕,即时通讯软件接收端将所有的数据包接收完毕后,时通讯软件接收端按照分包顺序进行数据包合并,合并完成后进行文件完整性校验,若校验成功,则向即时通讯软件发送端发送接收成功的通知信息,以告知即时通讯软件发送端文件接收成功,若校验失败,则向即时通讯软件发送端发送接收失败的通知信息,以告知即时通讯软件发送端文件接收失败。

时通讯软件发送端接收到即时通讯软件接收端发送的通知信息后确定待传输文件是否被成功接收。

本发明实施例提供的使用即时通讯软件进行文件传输的方法,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

图2为依照本发明实施例的使用即时通讯软件进行文件传输的装置示意图,如图2所示,本发明实施例提供一种使用即时通讯软件进行文件传输的装置,用于完成上述实施例中所述的方法,具体包括获取模块201、计算模块202、切割模块203和发送模块204,其中,

获取模块201用于获取待传输文件;

计算模块202用于计算所述待传输文件的大小;

切割模块203用于若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

发送模块204用于通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

本发明实施例提供一种使用即时通讯软件进行文件传输的装置,用于完成上述实施例中所述的方法,通过本实施例提供的装置完成上述实施例中所述的方法的具体步骤与上述实施例相同,此处不再赘述。

本发明实施例提供的使用即时通讯软件进行文件传输的装置,通过将大文件进行切割,再通过多线程并发传输切割后获得的数据包,提高了大文件传输的速率,并提高了大文件传输的稳定性。

图3为本发明实施例提供的用于使用即时通讯软件进行文件传输的电子设备的结构示意图,如图3所示,所述设备包括:处理器301、存储器302和总线303;

其中,处理器301和存储器302通过所述总线303完成相互间的通信;

处理器301用于调用存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:

获取待传输文件;

计算所述待传输文件的大小;

若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:

获取待传输文件;

计算所述待传输文件的大小;

若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:

获取待传输文件;

计算所述待传输文件的大小;

若判断获知所述待传输文件的大小超过第一预设阈值,则将所述待传输文件切割成若干个数据包;

通过若干个线程发送所述若干个数据包,每一线程发送一个数据包。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1