用于传输信息的方法、设备和系统技术方案

技术编号:13799676 阅读:34 留言:0更新日期:2016-10-07 02:29
本发明专利技术公开一种用于传输信息的方法、设备和系统。其中在用于传输信息的方法中,当接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息,其中第一信息表示信息接收设备已经拥有的数据块信息,第二信息表示信息接收设备请求的数据块信息,将第一信息写入到本地的RemoteMap信息中,判断本地是否具有与第二信息相对应的数据块,若本地具有与第二信息相对应的数据块,则将与第二信息相对应的数据块传输给信息接收设备,若本地没有与第二信息相对应的数据块,则将相应判断结果发送给信息接收设备,以便信息接收设备根据相应判断结果更新自身的RemoteMap信息。从而使Web应用能够不依赖于服务器,保证文件在各种场景下都能准确高效地进行传输。

【技术实现步骤摘要】

本专利技术涉及通信领域,特别涉及一种用于传输信息的方法、设备和系统
技术介绍
传统的文件传输方法主要包括以下几种:一是需要依赖运行着FTP(File Transfer Protocol,文件传输协议)协议的服务器,客户机利用类似于远程登录的方式登录到服务器上,利用该机文件系统命令进行操作;二是集成在即时聊天工具中,通过即时通信协议实现客户端之间的文件传输;三是基于BitTorrent协议,客户机需要安装多点共享协议软件,并使用Tracker服务器记录下载用户信息。以上三种方式有两个共同的特点:一是需要使用软件或者插件;二是需要服务器的支持。Web应用可以使用WebRTC(Web Real-Time Communication,网页实时通信)技术的DataChannel接口,建立直连的数据通道,这为浏览器之间进行P2P(Peer to Peer,对等网络)文件传输提供了可能。这种基于WebRTC的文件传输,浏览器的特性决定了其可以不需要任何插件,只需打开网页就能实现。但是由于建立的都是P2P连接,数据直接通过数据通道传送,用户之间并不知道文件传输任务的状态以及其他用户的信息,这使得基于WebRTC的文件传输具有很大的局限性。
技术实现思路
本专利技术实施例提供一种用于传输信息的方法、设备和系统,从而使Web应用能够不依赖于服务器,保证文件在各种场景下都能准确高效地进行传输。根据本专利技术的一个方面,提供一种用于传输信息的方法,包括:当接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息,其中第一信息表示信息接收设备已经拥有的数据块信息,第二信息表示信息接收设备请求的数据块信息;将第一信息写入到本地的RemoteMap信息中;判断本地是否具有与第二信息相对应的数据块;若本地具有与第二信息相对应的数据块,则将与第二信息相对应的数据块传输给信息接收设备;若本地没有与第二信息相对应的数据块,则将相应判断结果发送给信息接收设备,以便信息接收设备根据相应判断结果更新自身的RemoteMap信息。在一个实施例中,将第一信息写入到本地的RemoteMap信息中之后,还包括:判断所述请求消息是否由信息接收设备直接发送;若所述请求消息由信息接收设备直接发送,则进一步读取本地的RemoteMap信息;根据读取的RemoteMap信息,判断是否还存在候选信息发送设备,其中候选信息发送设备具有与第二信息相对应的数据块;若存在候选信息发送设备,则将所述请求消息转发给相应的候选信息发送设备,以便候选信息发送设备对转发的请求消息进行处理;然后执行判断本地是否具有与第二信息相对应的数据块的步骤。在一个实施例中,若不存在候选信息发送设备,则执行判断本地是否具有与第二信息相对应的数据块的步骤。在一个实施例中,若所述请求消息不是由信息接收设备直接发送,则将本地的Map信息发送给信息接收设备,其中本地的Map信息表示本地已经拥有的数据块信息,以便信息接收设备将接收到的Map信息写入自身的RemoteMap信息;然后执行判断本地是否具有与第二信息相对应的数据块的步骤。在一个实施例中,将第一信息写入到本地的RemoteMap信息中之
后,还包括:判断信息接收设备是否在发送队列中;若信息接收设备不在发送队列中,则执行判断所述请求消息是否由信息接收设备直接发送的步骤。在一个实施例中,还包括:读取要发送的文件;将文件分割为数据块,并将数据块信息写入本地的Map信息中;与信息接收设备建立数据通道;将包括数据块信息的文件信息FileInfo发送给信息接收设备;判断是否接收到信息接收设备发送的确认信息;若接收到信息接收设备发送的确认信息,则执行当接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息的步骤。根据本专利技术的另一方面,提供一种用于传输信息的信息发送设备,包括接收单元、提取单元、信息写入单元、第一识别单元和发送单元,其中:接收单元,用于接收信息接收设备发送的请求消息;提取单元,用于当接收单元接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息,其中第一信息表示信息接收设备已经拥有的数据块信息,第二信息表示信息接收设备请求的数据块信息;信息写入单元,用于将第一信息写入到本地的RemoteMap信息中;第一识别单元,用于判断本地是否具有与第二信息相对应的数据块;发送单元,用于根据第一识别单元的判断结果,若本地具有与第二信息相对应的数据块,则将与第二信息相对应的数据块传输给信息接收设备;若本地没有与第二信息相对应的数据块,则将相应判断结果发送给信息接收设备,以便信息接收设备根据相应判断结果更新自身的RemoteMap信息。在一个实施例中,信息发送设备还包括第二识别单元、信息读取单元和第三识别单元,其中:第二识别单元,用于在信息写入单元将第一信息写入到本地的RemoteMap信息中后,判断所述请求消息是否由信息接收设备直接发送;信息读取单元,用于根据第二识别单元的判断结果,若所述请求消息由信息接收设备直接发送,则进一步读取本地的RemoteMap信息;第三识别单元,用于根据信息读取单元读取的RemoteMap信息,判断是否还存在候选信息发送设备,其中候选信息发送设备具有与第二信息相对应的数据块;发送单元还用于根据第三识别单元的判断结果,若存在候选信息发送设备,则将所述请求消息转发给相应的候选信息发送设备,以便候选信息发送设备对转发的请求消息进行处理;然后指示第一识别单元执行判断本地是否具有与第二信息相对应的数据块的操作。在一个实施例中,第三识别单元还用于在不存在候选信息发送设备时,指示第一识别单元执行判断本地是否具有与第二信息相对应的数据块的操作。在一个实施例中,发送单元还用于根据第二识别单元的判断结果,若所述请求消息不是由信息接收设备直接发送,则将本地的Map信息发送给信息接收设备,其中本地的Map信息表示本地已经拥有的数据块信息,以便信息接收设备将接收到的Map信息写入自身的RemoteMap信息;然后指示第一识别单元执行判断本地是否具有与第二信息相对应的数据块的操作。在一个实施例中,信息发送设备还包括第四识别单元,其中:第四识别单元,用于在信息写入单元将第一信息写入到本地的RemoteMap信息中后,判断信息接收设备是否在发送队列中;若信息接收设备不在发送队列中,则指示第二识别设备执行判断所述请求消息是否由信息接收设备直接发送的操作。在一个实施例中,信息发送设备还包括读取单元、文件分割单元、
数据通道建立单元和第五识别单元,其中:读取单元,用于读取要发送的文件;文件分割单元,用于将文件分割为数据块,并将数据块信息写入本地的Map信息中;数据通道建立单元,用于与信息接收设备建立数据通道;发送单元还用于将包括数据块信息的文件信息FileInfo发送给信息接收设备;第五识别单元,用于判断接收单元是否接收到信息接收设备发送的确认信息;若接收到信息接收设备发送的确认信息,则指示提取单元在接收单元接收到信息接收设备发送的请求消息时,执行从请求消息中提取出第一信息和第二信息的操作。根据本专利技术的另一方面,提供一种用于传输信息的系统,包括信息发送设备和信息接收设备,其中:信息发送设备,为上述任本文档来自技高网
...

【技术保护点】
一种用于传输信息的方法,其特征在于,包括:当接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息,其中第一信息表示信息接收设备已经拥有的数据块信息,第二信息表示信息接收设备请求的数据块信息;将第一信息写入到本地的RemoteMap信息中;判断本地是否具有与第二信息相对应的数据块;若本地具有与第二信息相对应的数据块,则将与第二信息相对应的数据块传输给信息接收设备;若本地没有与第二信息相对应的数据块,则将相应判断结果发送给信息接收设备,以便信息接收设备根据相应判断结果更新自身的RemoteMap信息。

【技术特征摘要】
1.一种用于传输信息的方法,其特征在于,包括:当接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息,其中第一信息表示信息接收设备已经拥有的数据块信息,第二信息表示信息接收设备请求的数据块信息;将第一信息写入到本地的RemoteMap信息中;判断本地是否具有与第二信息相对应的数据块;若本地具有与第二信息相对应的数据块,则将与第二信息相对应的数据块传输给信息接收设备;若本地没有与第二信息相对应的数据块,则将相应判断结果发送给信息接收设备,以便信息接收设备根据相应判断结果更新自身的RemoteMap信息。2.根据权利要求1所述的方法,其特征在于,将第一信息写入到本地的RemoteMap信息中之后,还包括:判断所述请求消息是否由信息接收设备直接发送;若所述请求消息由信息接收设备直接发送,则进一步读取本地的RemoteMap信息;根据读取的RemoteMap信息,判断是否还存在候选信息发送设备,其中候选信息发送设备具有与第二信息相对应的数据块;若存在候选信息发送设备,则将所述请求消息转发给相应的候选信息发送设备,以便候选信息发送设备对转发的请求消息进行处理;然后执行判断本地是否具有与第二信息相对应的数据块的步骤。3.根据权利要求2所述的方法,其特征在于,若不存在候选信息发送设备,则执行判断本地是否具有与第二信息相对应的数据块的步骤。4.根据权利要求3所述的方法,其特征在于,若所述请求消息不是由信息接收设备直接发送,则将本地的Map信息发送给信息接收设备,其中本地的Map信息表示本地已经拥有的数据块信息,以便信息接收设备将接收到的Map信息写入自身的RemoteMap信息;然后执行判断本地是否具有与第二信息相对应的数据块的步骤。5.根据权利要求2所述的方法,其特征在于,将第一信息写入到本地的RemoteMap信息中之后,还包括:判断信息接收设备是否在发送队列中;若信息接收设备不在发送队列中,则执行判断所述请求消息是否由信息接收设备直接发送的步骤。6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:读取要发送的文件;将文件分割为数据块,并将数据块信息写入本地的Map信息中;与信息接收设备建立数据通道;将包括数据块信息的文件信息FileInfo发送给信息接收设备;判断是否接收到信息接收设备发送的确认信息;若接收到信息接收设备发送的确认信息,则执行当接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息的步骤。7.一种用于传输信息的信息发送设备,其特征在于,包括接收单元、提取单元、信息写入单元、第一识别单元和发送单元,其中:接收单元,用于接收信息接收设备发送的请求消息;提取单元,用于当接收单元接收到信息接收设备发送的请求消息时,从请求消息中提取出第一信息和第二信息,其中第一信息表示信息接收设备已经拥有的数据块信息,第二信息表示信息接收设备请求的数
\t据块信息;信息写入单元,用于将第一信息写入到本地的RemoteMap信息中;第一识别单元,用于判断本地是否具有与第二信息相对应的数据块;发送单元,用于根据第一识别单元的判断结果,若本地具有与第二信息相对应的数据块,则将与第二信息相对应的数据块传输给信息接收设备;若本地没有与第二信息相对应的数据块,则将相应判断结果发送给信息接收设备,以便信息接收设备根据相应判断结果更新自身的RemoteMap信息。8.根据权利要求7所述的设备,其特征在于,还包括第二...

【专利技术属性】
技术研发人员:李慧云屈振华张凌杨新章
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1