文件传输方法及系统的制作方法

文档序号:10515361阅读:324来源:国知局
文件传输方法及系统的制作方法
【专利摘要】本发明公开了一种文件传输方法及系统。所述方法中的第一终端检测自身的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务;利用所述文件传输服务,建立与第二终端的点对点的文件传输通道;其中,所述第二终端是根据对所述即时通讯软件中用户信息的文件传输操作而确定的。第二终端根据获取自所述第一终端的待传文件信息,向所述第一终端反馈分片下载请求;利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。本发明解决了文件传输需第三方服务器中转的问题,有效提高了数据传输的速度。另外,将待传文件分片传输,通过并行传输的方式,进一步提高了数据传输速度。
【专利说明】
文件传输方法及系统
技术领域
[0001]本发明实施例涉及网络数据传输技术,尤其涉及一种文件传输方法及系统。
【背景技术】
[0002]即时通讯技术为人们提供了随时随地文字通信的方式。随着即时通讯技术的发展,人们不仅能够随时文字聊天,还能进行语音和视频聊天。
[0003]除此之外,人们利用即时通讯技术传输文件等附件,为人们提供了新的文件传输方式。
[0004]目前,利用即时通讯传输文件大多需利用远程服务器转发文件,这使得文件传输受发送终端-服务器、和服务器-接收终端两条链路的链路带宽的影响,传输速度慢。
[0005]为了解决上述问题,技术人员参考了文件上传及下载技术,即由发送终端先将文件上传服务器,再由接收终端从服务器下载文件。这种非实时的方式,虽然优化了传输速度,但仍然需要服务器保存文件,因此,在大文件传输时,对所保存的文件大小有严格的限制。因此,需要对现有技术进行改进。

【发明内容】

[0006]本发明提供一种文件传输方法及系统,以解决利用即时通讯技术传输大文件传输时,无法实时、高效的进行传输的问题。
[0007]第一方面,本发明实施例提供了一种文件传输方法,用于运行即时通讯软件的第一终端,包括:检测所述第一终端的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务;利用所述文件传输服务,建立与第二终端的点对点的文件传输通道;其中,所述第二终端是根据对所述即时通讯软件中用户信息的文件传输操作而确定的;基于来自所述第二终端的分片下载请求,将相应的待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。
[0008]第二方面,本发明实施例还提供了一种文件传输方法,用于运行即时通讯软件的第二终端,包括:基于获取自第一终端的文件传输服务的相关信息,建立与所述第一终端的点对点的文件传输通道;根据获取自所述第一终端的待传文件信息,向所述第一终端反馈分片下载请求;利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。
[0009]第三方面,本发明实施例还提供了一种文件传输第一子系统,用于运行即时通讯软件的第一终端,包括:服务启动模块,用于检测所述第一终端的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务;第一文件传输通道建立模块,用于利用所述文件传输服务,建立与第二终端的点对点的文件传输通道;其中,所述第二终端是根据对所述即时通讯软件中用户信息的文件传输操作而确定的;第一下载模块,用于基于来自所述第二终端的分片下载请求,将相应的待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。
[0010]第四方面,本发明实施例还提供了一种文件传输第二子系统,用于运行即时通讯软件的第二终端,包括:第二文件传输通道建立模块,用于基于获取自第一终端的文件传输服务的相关信息,建立与所述第一终端的点对点的文件传输通道;第二下载模块,用于根据获取自所述第一终端的待传文件信息,向所述第一终端反馈分片下载请求;以及用于利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。
[0011]第五方面,本发明实施例还提供了一种文件传输系统,包括:如上所述的文件传输第一子系统;如上所述的文件传输第二子系统。
[0012]本发明利用即时通讯软件已建立的两终端之间的信息传输通路来传递文件传输服务的相关信息,以及建立点对点的文件传输通路,解决了文件传输需第三方服务器中转的问题,有效提高了数据传输的速度。另外,将待传文件分片传输,通过并行传输的方式,进一步提高了数据传输速度。
【附图说明】
[0013]图1是本发明实施例一中的文件传输方法的流程图;
[0014]图2是本发明实施例三中的文件传输系统的结构示意图。
【具体实施方式】
[0015]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0016]实施例一
[0017]图1为本发明实施例一提供的文件传输方法的流程图,本实施例可适用于使用同一即时通讯软件的两终端进行大文件传输的情况,该方法可以由均运行即时通讯软件的第一终端和第二终端来执行,其中,所述第一终端和第二终端可通过执行以下各对应步骤来传输文件,也可以利本实施例所提供的各对应步骤与其他文件传输方式配合。本方法具体包括如下步骤:
[0018]步骤S110、所述第一终端检测自身的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务。
[0019]具体地,在所述即时通讯软件启动运行时、或启动运行之后,基于所述即时通讯软件的启动文件传输服务的指令,检测各端口的占用情况。例如,通过检测端口列表来确定空闲端口。或者,向预设的初始端口发出检测指令,若反馈为空闲状态,则确定为空闲端口,反之,则在所述初始端口的基础上进行递增/递减的逐个检测,直到找到空闲端口为止。
[0020]接着,将所检测的端口作为文件传输服务的服务端口,并启动TCP服务。其中,对于接入局域网的终端来说,其TCP服务的IP地址为内网地址。对于接入广域网的终端来说,其TCP服务端IP地址为外网地址。
[0021]在此,为了满足第一终端同时向多个第二终端发送文件时的资源紧张,本实施例中可以检测多个空闲端口并启动多个文件传输服务。
[0022]当使用第一终端的用户在即时通讯软件的联系人对话框中选中待传文件时,所述第一终端执行步骤S120,对应的所述联系人对话框所对应的第二终端执行步骤S210。
[0023]步骤S120、所述第一终端利用所述文件传输服务,建立与第二终端的点对点的文件传输通道;其中,所述第二终端是根据对所述即时通讯软件中用户信息的文件传输操作而确定的。
[0024]具体地,所述第一终端根据联系人对话框所对应的用户信息,将所启动的各文件传输服务的相关信息通过预设的协议发送给相应的第二终端。其中,所述相关信息包括:用于同一 TCP服务的IP地址和端口。
[0025]—种可选方案中,由于第一终端和第二终端在建立文件传输通道之前,能够利用即时通讯软件进行如聊天数据等的数据传输,则所述第一终端通过预先建立的聊天信息传输通道,将所述文件传输服务的相关信息发送给第二终端。
[0026]例如,若所述第一终端和第二终端之间的聊天信息传输通道是经由即时通讯软件所指定的服务器连接的,则所述第一终端将所述相关信息和用户信息发送给所述服务器,所述服务器利用数据库来查询用户信息所对应的第二终端的链路信息,并将所述相关信息发送给第二终端。
[0027]步骤S210、所述第二终端基于获取自第一终端的文件传输服务的相关信息,建立与所述第一终端的点对点的文件传输通道。
[0028]具体地,所述第二终端按照所接收的相关信息逐条的向第一终端发送建立连接请求,若能接收到第一终端反馈的响应信息,则建立与所述第一终端的点对点的文件传输通道。反之,则向所述服务器发送无法连接的反馈信息。所述服务器将所述反馈信息转发给所述第一终端,则所述第一终端利用所述聊天信息传输通道传输待发文件。
[0029]在此,在第一终端发送所述相关信息时,还可以同时提供待传文件的待传文件信息。或者,在建立了点对点的文件传输通道后,所述第一终端将所述待传文件信息通过文件传输通道发送给第二终端。所述第二终端根据所接收的待传文件信息执行步骤S220。其中,所述待传文件信息包括但不限于:待传文件的大小、和/或文件格式信息等。
[0030]步骤S220、所述第二终端根据获取自所述第一终端的待传文件信息,向所述第一终端反馈分片下载请求。
[0031]具体地,所述第二终端根据所接收的待传文件信息设置文件分片,并按照所设置的文件分片将包含文件分片信息的分片下载请求反馈给第一终端。
[0032]例如,所述第二终端预设存储文件分片的规则(如待传文件大小超出预设存储阈值,则将待传文件分成预设数量的文件分片的规则),按照所述规则和待传文件信息中的文件大小,确定该待传文件的各文件分片的起止传输位置,并将各起止传输位置封装在分片下载请求中反馈至第一终端。
[0033]其中,所述分片下载请求可以包含所有的文件分片信息;也可以将每个文件分片信息封装在单独的分片下载请求。第二终端按照分片下载请求的数量启动对应的下载线程,以接收各文件分片的数据。
[0034]步骤S130、所述第一终端基于来自所述第二终端的分片下载请求,将相应的待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。
[0035]具体地,所述第一终端从所接收的分片下载请求中提取各文件分片信息(如各文件分片的起止位置、文件分片所占存储空间、和文件分片编号等),并按照对应的文件起止位置,通过所述文件传输通道,将相应的文件分片反馈给第二终端。
[0036]—种可选方案中,所述第一终端将待传文件的文件信息发送给第二终端,并获取所述第二终端反馈的基于所述文件信息的多个包含分片信息的分片下载请求;按照各分片信息,将所述待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。
[0037]例如,所述第一终端按照各文件分片的编号顺序设定各文件分片的顺序,并按照各文件分片所占的存储空间从待传文件中提取各文件分片,再将各文件分片通过所建立的文件传输通道发送至第二终端。
[0038]步骤S230、所述第二终端利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。
[0039]具体地,所述第二终端对应每个分片下载请求,启动对应的下载线程;通过所述文件传输通道,由各下载线程获取对应的文件分片。
[0040]具体地,每个下载线程检测文件传输通道所接收的数据包,并通过提取数据包中的包头位置、或其他指定位置的文件分片信息(如文件分片编号、起止位置等),通过分析文件分片信息确定是否接收对应的数据包,并从中提取文件片段的数据。如此,各下载线程下载各自所对应的文件分片。
[0041]当所有下载线程下载完各自的文件分片后,按照文件分片编号,将各文件分片进行拼接,并保存在使用第二终端的用户所指定的、或第二终端中的即时通讯软件所指定的文件夹中。
[0042]本实施例的技术方案,利用即时通讯软件已建立的两终端之间的信息传输通路来传递文件传输服务的相关信息,以及建立点对点的文件传输通路,解决了文件传输需第三方服务器中转的问题,有效提高了数据传输的速度。另外,将待传文件分片传输,通过并行传输的方式,进一步提高了数据传输速度。
[0043]实施例二
[0044]本发明实施例二提供的文件传输方法中传输中断操作的情况,本实施例在上述各实施例的基础上,优选是在文件片段下载过程中,当第一用户操作第一终端点击暂停按钮、或取消按钮时,第一终端接收到中止指令并将其通过文件传输通道发送至第二终端。或者,当第二用户操作第二终端点击暂停按钮、或取消按钮等中止操作时,第二终端接收到中止指令并将其通过文件传输通道发送至第一终端。在第一终端接收到中止指令时,将停止发送各文件片段。与此同时,在第二终端接收到中止指令时,停止获取各文件片段的下载数据,并保存各文件片段已接收部分的已下载信息。
[0045]其中,所述已下载信息包括但不限于:已下载部分占所属文件片段的比例、已下载部分的数据量、和/或已下载部分的起止位置等。所述已下载信息还包括文件片段编号、文件信息等。
[0046]在此,所述第二终端将所已接收的文件片段部分从缓存中写入存储介质中。具体地,所述第二终端将各文件片段的已接收部分合成一临时文件。
[0047]例如,所述第二终端按照各文件片段的顺序,将第一个文件片段的已接收部分保存在预设的临时文件中,并将后续的各文件片段的已接收部分逐个的添加到临时文件中,同时,在临时文件中设置各文件片段的标签,以便续传时重新确定各文件片段的起始位置。其中,所述标签包括:文件片段的已下载信息、文件片段编号等。
[0048]当第一用户或第二用户操作继续传输文件时,第二终端通过判断所接收的文件信息确定与所保存的已下载信息中的文件信息能够确定所接收的文件为续传文件,则将包含所述临时文件中标签的续传指令反馈给第一终端,通过所述文件传输通道、或重新建立的点对点文件传输通道,获取各文件片段的剩余部分。
[0049]在此,当第一终端和第二终端续传文件时,已建立的文件传输通道可能仍存在、或已关闭,若仍存在(即第一终端判定通道尚未超时断开),则利用文件传输通道,第一终端将各文件片段的剩余部分发送给第二终端。
[0050]若已关闭,则第二终端通过聊天信息传输通道发送所述续传指令,并利用上述步骤S120和S210重新建立文件传输通道,并由第一终端将各文件片段的剩余部分发送给第二终端。
[0051]在下载了所有文件片段的剩余部分时,按照临时文件中的各标签,将所下载的各文件片段的剩余部分插入相应的位置,并按照之前获取的待传文件信息将该临时文件的命名、和后缀改为待传文件。
[0052]本实施例通过在中断传输文件时由第二终端保存文件片段中的已下载部分信息,并将各已下载部分标记在临时文件中,以便续传时加快下载速度。
[0053]实施例三
[0054]图2为本发明实施例二提供的文件传输系统的结构示意图,本实施例可适用于使用同一即时通讯软件的两终端进行大文件传输的情况,该方法可以由均运行即时通讯软件的第一终端和第二终端来执行,其中,所述第一终端和第二终端可通过执行以下各对应模块来传输文件,也可以利本实施例所提供的各对应模块与其他文件传输方式配合。所述系统包括第一子系统和第二子系统。其中,第一子系统安装在所述第一终端中,第二子系统安装在第二终端中。所述第一子系统包括:服务启动模块11、第一文件传输通道建立模块12、第一下载模块13。所述第二子系统包括:第二文件传输通道建立模块21、第二下载模块22。
[0055]所述服务启动模块11用于检测第一终端的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务。
[0056]具体地,在所述即时通讯软件启动运行时、或启动运行之后,基于所述即时通讯软件的启动文件传输服务的指令,检测各端口的占用情况。例如,通过检测端口列表来确定空闲端口。或者,向预设的初始端口发出检测指令,若反馈为空闲状态,则确定为空闲端口,反之,则在所述初始端口的基础上进行递增/递减的逐个检测,直到找到空闲端口为止。
[0057]接着,将所检测的端口作为文件传输服务的服务端口,并启动TCP服务。其中,对于接入局域网的终端来说,其TCP服务的IP地址为内网地址。对于接入广域网的终端来说,其TCP服务端IP地址为外网地址。
[0058]在此,为了满足服务启动模块11同时向多个第二终端发送文件时的资源紧张,本实施例中可以检测多个空闲端口并启动多个文件传输服务。
[0059]当使用服务启动模块11的用户在即时通讯软件的联系人对话框中选中待传文件时,所述服务启动模块11启动第一文件传输通道建立模块12,对应的所述联系人对话框所对应的第二终端执行第二文件传输通道建立模块21。
[0060]所述第一文件传输通道建立模块12利用所述文件传输服务,建立与第二文件传输通道建立模块21的点对点的文件传输通道;其中,所述第二文件传输通道建立模块21是根据对所述即时通讯软件中用户信息的文件传输操作而确定的。
[0061]具体地,所述第一文件传输通道建立模块12根据联系人对话框所对应的用户信息,将所启动的各文件传输服务的相关信息通过预设的协议发送给相应的第二文件传输通道建立模块21。其中,所述相关信息包括:用于同一TCP服务的IP地址和端口。
[0062]—种可选方案中,由于第一文件传输通道建立模块12和第二文件传输通道建立模块21在建立文件传输通道之前,能够利用即时通讯软件进行如聊天数据等的数据传输,则所述第一文件传输通道建立模块12通过预先建立的聊天信息传输通道,将所述文件传输服务的相关信息发送给第二文件传输通道建立模块21。
[0063]例如,若所述第一文件传输通道建立模块12和第二文件传输通道建立模块21之间的聊天信息传输通道是经由即时通讯软件所指定的服务器连接的,则所述第一文件传输通道建立模块12将所述相关信息和用户信息发送给所述服务器,所述服务器利用数据库来查询用户信息所对应的第二文件传输通道建立模块21的链路信息,并将所述相关信息发送给第二文件传输通道建立模块21。
[0064]所述第二文件传输通道建立模块21基于获取自第一文件传输通道建立模块12的文件传输服务的相关信息,建立与所述第一文件传输通道建立模块12的点对点的文件传输通道。
[0065]具体地,所述第二文件传输通道建立模块21按照所接收的相关信息逐条的向第一文件传输通道建立模块12发送建立连接请求,若能接收到第一文件传输通道建立模块12反馈的响应信息,则建立与所述第一文件传输通道建立模块12的点对点的文件传输通道。反之,则向所述服务器发送无法连接的反馈信息。所述服务器将所述反馈信息转发给所述第一文件传输通道建立模块12,则所述第一文件传输通道建立模块12利用所述聊天信息传输通道传输待发文件。
[0066]在此,在第一文件传输通道建立模块12发送所述相关信息时,还可以同时提供待传文件的待传文件信息。或者,在建立了点对点的文件传输通道后,所述第一文件传输通道建立模块12将所述待传文件信息通过文件传输通道发送给第二文件传输通道建立模块21。所述第二文件传输通道建立模块21根据所接收的待传文件信息启动第二下载模块22。其中,所述待传文件信息包括但不限于:待传文件的大小、和/或文件格式信息等。
[0067]所述第二下载模块22根据获取自所述第一下载模块13的待传文件信息,向所述第一下载模块13反馈分片下载请求。
[0068]具体地,所述第二下载模块22根据所接收的待传文件信息设置文件分片,并按照所设置的文件分片将包含文件分片信息的分片下载请求反馈给第一下载模块13。
[0069]例如,所述第二下载模块22预设存储文件分片的规则(如待传文件大小超出预设存储阈值,则将待传文件分成预设数量的文件分片的规则),按照所述规则和待传文件信息中的文件大小,确定该待传文件的各文件分片的起止传输位置,并将各起止传输位置封装在分片下载请求中反馈至第一下载模块13。
[0070]其中,所述分片下载请求可以包含所有的文件分片信息;也可以将每个文件分片信息封装在单独的分片下载请求。第二下载模块22按照分片下载请求的数量启动对应的下载线程,以接收各文件分片的数据。
[0071]所述第一下载模块13基于来自所述第二下载模块22的分片下载请求,将相应的待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二下载模块22。
[0072]具体地,所述第一下载模块13从所接收的分片下载请求中提取各文件分片信息(如各文件分片的起止位置、文件分片所占存储空间、和文件分片编号等),并按照对应的文件起止位置,通过所述文件传输通道,将相应的文件分片反馈给第二下载模块22。
[0073]—种可选方案中,所述第一下载模块13将待传文件的文件信息发送给第二下载模块22,并获取所述第二下载模块22反馈的基于所述文件信息的多个包含分片信息的分片下载请求;按照各分片信息,将所述待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二下载模块22。
[0074]例如,所述第一下载模块13按照各文件分片的编号顺序设定各文件分片的顺序,并按照各文件分片所占的存储空间从待传文件中提取各文件分片,再将各文件分片通过所建立的文件传输通道发送至第二下载模块22。
[0075]所述第二下载模块22利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。
[0076]具体地,所述第二下载模块22对应每个分片下载请求,启动对应的下载线程;通过所述文件传输通道,由各下载线程获取对应的文件分片。
[0077]具体地,每个下载线程检测文件传输通道所接收的数据包,并通过提取数据包中的包头位置、或其他指定位置的文件分片信息(如文件分片编号、起止位置等),通过分析文件分片信息确定是否接收对应的数据包,并从中提取文件片段的数据。如此,各下载线程下载各自所对应的文件分片。
[0078]当所有下载线程下载完各自的文件分片后,按照文件分片编号,将各文件分片进行拼接,并保存在使用第二下载模块22的用户所指定的、或第二下载模块22中的即时通讯软件所指定的文件夹中。
[0079]本实施例的技术方案,利用即时通讯软件已建立的两终端之间的信息传输通路来传递文件传输服务的相关信息,以及建立点对点的文件传输通路,解决了文件传输需第三方服务器中转的问题,有效提高了数据传输的速度。另外,将待传文件分片传输,通过并行传输的方式,进一步提高了数据传输速度。
[0080]实施例四
[0081]本发明实施例四提供的文件传输系统中传输中断操作的过程,本实施例在上述各实施例的基础上,优选是在文件片段下载过程中,当第一用户操作第一终端点击暂停按钮、或取消按钮时,第一终端接收到中止指令并将其通过文件传输通道发送至第二终端。或者,当第二用户操作第二终端点击暂停按钮、或取消按钮等中止操作时,第二终端接收到中止指令并将其通过文件传输通道发送至第一终端。在第一终端中的第一下载模块13接收到中止指令时,将停止发送各文件片段。与此同时,在第二终端中的第二下载模块22接收到中止指令时,停止获取各文件片段的下载数据,并保存各文件片段已接收部分的已下载信息。
[0082]其中,所述已下载信息包括但不限于:已下载部分占所属文件片段的比例、已下载部分的数据量、和/或已下载部分的起止位置等。所述已下载信息还包括文件片段编号、文件信息等。
[0083]在此,所述第二下载模块22将所已接收的文件片段部分从缓存中写入存储介质中。具体地,所述第二下载模块22将各文件片段的已接收部分合成一临时文件。
[0084]例如,所述第二下载模块22按照各文件片段的顺序,将第一个文件片段的已接收部分保存在预设的临时文件中,并将后续的各文件片段的已接收部分逐个的添加到临时文件中,同时,在临时文件中设置各文件片段的标签,以便续传时重新确定各文件片段的起始位置。其中,所述标签包括:文件片段的已下载信息、文件片段编号等。
[0085]当第一用户或第二用户操作继续传输文件时,第二下载模块22通过判断所接收的文件信息确定与所保存的已下载信息中的文件信息能够确定所接收的文件为续传文件,则将包含所述临时文件中标签的续传指令反馈给第一下载模块13,通过所述文件传输通道、或重新建立的点对点文件传输通道,获取各文件片段的剩余部分。
[0086]在此,当第一下载模块13和第二下载模块22续传文件时,已建立的文件传输通道可能仍存在、或已关闭,若仍存在(即第一下载模块13判定通道尚未超时断开),则利用文件传输通道,第一下载模块13将各文件片段的剩余部分发送给第二下载模块22。
[0087]若已关闭,则第二下载模块22通过聊天信息传输通道发送所述续传指令,并利用上述第一文件传输通道建立模块12和第二文件传输通道建立模块21重新建立文件传输通道,并由第一下载模块13将各文件片段的剩余部分发送给第二下载模块22。
[0088]在下载了所有文件片段的剩余部分时,按照临时文件中的各标签,将所下载的各文件片段的剩余部分插入相应的位置,并按照之前获取的待传文件信息将该临时文件的命名、和后缀改为待传文件。
[0089]本实施例通过在中断传输文件时由第二终端保存文件片段中的已下载部分信息,并将各已下载部分标记在临时文件中,以便续传时加快下载速度。
[0090]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【主权项】
1.一种文件传输方法,用于运行即时通讯软件的第一终端,其特征在于,包括: 检测所述第一终端的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务; 利用所述文件传输服务,建立与第二终端的点对点的文件传输通道;其中,所述第二终端是根据对所述即时通讯软件中用户信息的文件传输操作而确定的; 基于来自所述第二终端的分片下载请求,将相应的待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。2.根据权利要求1所述的文件传输方法,其特征在于,所述利用文件传输服务,建立与第二终端的点对点的文件传输通道,包括: 通过所述第一终端和第二终端预先利用所述即时通讯软件建立的聊天信息传输通道,将所述文件传输服务的相关信息发送给第二终端; 利用所启动的文件传输服务,获取所述第二终端所发出的建立连接请求,并基于所述建立连接请求建立点对点的文件传输通道。3.根据权利要求1所述的文件传输方法,其特征在于,所述基于来自所述第二终端的分片下载请求,将待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端包括: 将待传文件的文件信息发送给第二终端,并获取所述第二终端反馈的基于所述文件信息的多个包含分片信息的分片下载请求; 按照各分片信息,将所述待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。4.根据权利要求1所述的文件传输方法,其特征在于,在发送各文件片段期间,当接收到所述第一终端、或第二终端的中止指令时,还包括: 停止发送各文件片段的剩余部分; 以及,当接收到来自第二终端的包含各文件片段的续传指令时,通过所述文件传输通道、或重新建立的点对点文件传输通道,将各文件片段的剩余部分发送到所述第二终端。5.一种文件传输方法,用于运行即时通讯软件的第二终端,其特征在于,包括: 基于获取自第一终端的文件传输服务的相关信息,建立与所述第一终端的点对点的文件传输通道; 根据获取自所述第一终端的待传文件信息,向所述第一终端反馈分片下载请求; 利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。6.根据权利要求5所述的文件传输方法,其特征在于,所述基于获取自第一终端的文件传输服务的相关信息,建立与所述第一终端的点对点的文件传输通道,包括: 通过所述第一终端和第二终端预先利用所述即时通讯软件建立的聊天信息传输通道,获取第一终端的文件传输服务的相关信息; 利用所述文件传输服务的相关信息,向所述第一终端发出建立连接请求,并在接收到第一终端基于所述建立连接请求反馈的响应信息时,建立与所述第一终端的点对点的文件传输通道。7.根据权利要求5所述的文件传输方法,其特征在于,所述根据获取自第一终端的待传文件信息,向所述第一终端反馈分片下载请求,包括: 根据获取自所述第一终端的待传文件信息,将所述待传文件分成多个文件分片; 向所述第一终端反馈包含各文件分片信息的分片下载请求。8.根据权利要求7所述的文件传输方法,其特征在于,所述利用文件传输通道,获取各文件分片,包括: 对应每个分片下载请求,启动对应的下载线程; 通过所述文件传输通道,由各下载线程获取对应的文件分片。9.根据权利要求5、7或8所述的文件传输方法,其特征在于,在获取文件分片期间,当接收到所述第一终端的中止指令、或基于所获取的中止操作发送中止指令时,还包括: 保存各文件片段已接收部分的已下载信息; 将各文件片段的已接收部分合成一临时文件。10.根据权利要求9所述的文件传输方法,其特征在于,当基于所获取的续传操作,向第一终端发送包含各所述已下载信息的续传指令时,还包括: 通过所述文件传输通道、或重新建立的点对点文件传输通道,获取各文件片段的剩余部分; 根据所保存的各文件片段的已下载信息,将各文件片段的剩余部分添加到所述临时文件的相应位置; 在所有文件片段下载完毕后,按照所述待传文件信息,将所述临时文件变更为相应的待传文件。11.一种文件传输第一子系统,用于运行即时通讯软件的第一终端,其特征在于,包括: 服务启动模块,用于检测所述第一终端的空闲端口,并利用所检测的空闲端口启动所述即时通讯软件所使用的文件传输服务; 第一文件传输通道建立模块,用于利用所述文件传输服务,建立与第二终端的点对点的文件传输通道;其中,所述第二终端是根据对所述即时通讯软件中用户信息的文件传输操作而确定的; 第一下载模块,用于基于来自所述第二终端的分片下载请求,将相应的待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。12.根据权利要求11所述的文件传输第一子系统,其特征在于,所述第一文件传输通道建立模块用于通过所述第一终端和第二终端预先利用所述即时通讯软件建立的聊天信息传输通道,将所述文件传输服务的相关信息发送给第二终端;利用所启动的文件传输服务,获取所述第二终端所发出的建立连接请求,并基于所述建立连接请求建立点对点的文件传输通道。13.根据权利要求11所述的文件传输第一子系统,其特征在于,所述第一下载模块用于将待传文件的文件信息发送给第二终端,并获取所述第二终端反馈的基于所述文件信息的多个包含分片信息的分片下载请求;按照各分片信息,将所述待传文件进行分片处理,并通过所述文件传输通道将各文件片段发送到所述第二终端。14.根据权利要求11所述的文件传输第一子系统,其特征在于,所述第一下载模块还用于在发送各文件片段期间,当接收到所述第一终端、或第二终端的中止指令时,停止发送各文件片段的剩余部分; 以及,所述第一下载模块还用于当接收到来自第二终端的包含各文件片段的续传指令时,通过所述文件传输通道、或重新建立的点对点文件传输通道,将各文件片段的剩余部分发送到所述第二终端。15.—种文件传输第二子系统,用于运行即时通讯软件的第二终端,其特征在于,包括: 第二文件传输通道建立模块,用于基于获取自第一终端的文件传输服务的相关信息,建立与所述第一终端的点对点的文件传输通道; 第二下载模块,用于根据获取自所述第一终端的待传文件信息,向所述第一终端反馈分片下载请求;以及用于利用所述文件传输通道,获取各文件分片,并将所下载的各文件分片合成相应的待传文件。16.根据权利要求15所述的文件传输第二子系统,其特征在于,所述第二文件传输通道建立模块用于通过所述第一终端和第二终端预先利用所述即时通讯软件建立的聊天信息传输通道,获取第一终端的文件传输服务的相关信息;利用所述文件传输服务的相关信息,向所述第一终端发出建立连接请求,并在接收到第一终端基于所述建立连接请求反馈的响应信息时,建立与所述第一终端的点对点的文件传输通道。17.根据权利要求15所述的文件传输第二子系统,其特征在于,所述第二下载模块用于根据获取自所述第一终端的待传文件信息,将所述待传文件分成多个文件分片;向所述第一终端反馈包含各文件分片信息的分片下载请求。18.根据权利要求17所述的文件传输第二子系统,其特征在于,所述第二下载模块用于对应每个分片下载请求,启动对应的下载线程;通过所述文件传输通道,由各下载线程获取对应的文件分片。19.根据权利要求15、17或18所述的文件传输第二子系统,其特征在于,所述第二下载模块还用于在获取文件分片期间,当接收到所述第一终端的中止指令、或基于所获取的中止操作发送中止指令时,保存各文件片段已接收部分的已下载信息;将各文件片段的已接收部分合成一临时文件。20.根据权利要求19所述的文件传输第二子系统,其特征在于,当基于所获取的续传操作,向第一终端发送包含各所述已下载信息的续传指令时,所述第二下载模块还用于通过所述文件传输通道、或重新建立的点对点文件传输通道,获取各文件片段的剩余部分;根据所保存的各文件片段的已下载信息,将各文件片段的剩余部分添加到所述临时文件的相应位置;在所有文件片段下载完毕后,按照所述待传文件信息,将所述临时文件变更为相应的待传文件。21.一种文件传输系统,其特征在于,包括: 如权利要求11-14中任一所述的文件传输第一子系统; 如权利要求15-20中任一所述的文件传输第二子系统。
【文档编号】H04L12/58GK105871706SQ201610411144
【公开日】2016年8月17日
【申请日】2016年6月13日
【发明人】蓝进华, 陈景慧, 陈阳, 范红雨
【申请人】珠海佳米科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1