CN107547352A - 文件发送方法、装置及系统 - Google Patents
文件发送方法、装置及系统 Download PDFInfo
- Publication number
- CN107547352A CN107547352A CN201610475519.4A CN201610475519A CN107547352A CN 107547352 A CN107547352 A CN 107547352A CN 201610475519 A CN201610475519 A CN 201610475519A CN 107547352 A CN107547352 A CN 107547352A
- Authority
- CN
- China
- Prior art keywords
- file
- instant communication
- identifier
- stored
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种文件发送方法、装置及系统,属于即时通讯领域。所述方法包括:通过根据第一文件指纹信息检测是否已存储有文件;若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
Description
技术领域
本发明实施例涉及即时通讯领域,特别涉及一种文件发送方法、装置及系统。
背景技术
文件发送是即时通讯系统中的重要功能。通过文件发送功能,即时通讯客户端A可以将文件发送给即时通讯客户端B,即时通讯客户端A还可以将接收到的文件转发给即时通讯客户端C。
现有技术中的文件发送方法,包括:即时通讯客户端A在接收到用户的文件发送操作后,将文件上传到服务器,由服务器将文件发送给即时通讯客户端B,即时通讯客户端B下载该文件。
在实现本发明实施例的过程中,发明人发现现有技术至少存在以下问题:由于在文件转发类的场景下,服务器中可能已存储有待发送的文件,由即时通讯客户端再次向服务器上传文件,不仅浪费服务器的存储资源,还浪费即时通讯客户端的上行带宽和上行流量。
发明内容
为了解决现有技术中即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题,本发明实施例提供了一种文件发送方法、装置及系统。所述技术方案如下:
第一方面,提供了一种文件发送方法,所述方法包括:
接收第一即时通讯客户端发送的文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
根据所述第一文件指纹信息检测是否已存储有所述文件;
若已存储有所述文件,则生成第一标识符和已存储标识,所述第一标识符用于标识所述文件;
向所述第一即时通讯客户端发送所述第一标识符和所述已存储标识,所述第一即时通讯客户端用于将所述第一标识符发送给第二即时通讯客户端。
第二方面,提供了一种文件发送方法,用于第一即时通讯客户端中,所述方法包括:
向即时通讯服务器发送文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
接收所述即时通讯服务器反馈的第一标识符和已存储标识,所述第一标识符用于标识所述文件,所述已存储标识用于表示所述即时通讯服务器已存储有所述文件;
将所述第一标识符发送给第二即时通讯客户端。
第三方面,提供了一种文件接收方法,用于第二即时通讯客户端中,所述方法包括:
接收第一即时通讯客户端发送的第一标识符,所述第一标识符用于标识所述文件;
向即时通讯服务器发送文件接收请求,所述文件接收请求携带有所述第一标识符;
接收所述即时通讯服务器发送的与所述文件对应的存储地址;
根据所述存储地址下载所述文件。
第四方面,提供了一种文件发送装置,所述装置包括:
接收模块,用于接收第一即时通讯客户端发送的文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
检测模块,用于根据所述第一文件指纹信息检测是否已存储有所述文件;
生成模块,用于若已存储有所述文件,则生成第一标识符和已存储标识,所述第一标识符用于标识所述文件;
发送模块,用于向所述第一即时通讯客户端发送所述第一标识符和所述已存储标识,所述第一即时通讯客户端用于将所述第一标识符发送给第二即时通讯客户端。
第五方面,提供了一种文件发送装置,用于第一即时通讯客户端中,所述装置包括:
发送模块,用于向即时通讯服务器发送文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
接收模块,用于接收所述即时通讯服务器反馈的第一标识符和已存储标识,所述第一标识符用于标识所述文件,所述已存储标识用于表示所述即时通讯服务器已存储有所述文件;
发送模块,用于将所述第一标识符发送给第二即时通讯客户端。
第六方面,提供了一种文件接收装置,用于第二即时通讯客户端中,所述装置包括:
接收模块,用于接收第一即时通讯客户端发送的第一标识符,所述第一标识符用于标识所述文件;
发送模块,用于向即时通讯服务器发送文件接收请求,所述文件接收请求携带有所述第一标识符;
接收模块,用于接收所述即时通讯服务器发送的与所述文件对应的存储地址;
下载模块,用于根据所述存储地址下载所述文件。
第七方面,提供了一种文件发送系统,该系统包括:即时通讯服务器、第一即时通讯客户端和第二即时通讯客户端;
即时通讯服务器包括如第四方面的文件发送装置;
第一即时通讯客户端包括如第五方面的文件发送装置;
第二即时通讯客户端包括如第六方面的文件接收装置。
本发明实施例提供的技术方案带来的有益效果是:
通过根据第一文件指纹信息检测是否已存储有文件;若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明各个实施例所涉及的一种实施环境的结构示意图;
图2是本发明一个实施例提供的文件发送方法的方法流程图;
图3A是本发明另一个实施例提供的文件发送方法的方法流程图;
图3B是本发明一个实施例提供的文件发送示意图;
图4是本发明另一个实施例提供的文件发送方法的方法流程图;
图5是本发明另一个实施例提供的文件发送方法的方法流程图;
图6A是本发明一个实施例提供的文件发送流程示意图;
图6B是本发明一个实施例提供的界面示意图;
图6C是本发明另一个实施例提供的界面示意图;
图6D是本发明另一个实施例提供的界面示意图;
图7是本发明一个实施例提供的文件发送装置的结构方框图;
图8是本发明另一个实施例提供的文件发送装置的结构方框图;
图9是本发明另一个实施例提供的文件接收装置的结构方框图;
图10是本发明另一个实施例提供的文件发送系统的结构方框图;
图11是本发明一个实施例提供的服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明实施例所涉及的一种实施环境的示意图。该实施环境包括:第一即时通讯客户端120、即时通讯服务器140和第二即时通讯客户端160。
其中,第一即时通讯客户端120和即时通讯服务器140之间通过有线网络或无线网络相连,即时通讯服务器140和第二即时通讯客户端160之间通过有线网络或无线网络相连。
第一即时通讯客户端120和第二即时通讯客户端160是指具有即时通讯功能的应用程序。第一即时通讯客户端120和第二即时通讯客户端160具有上传文件、下载文件和转发文件的功能。第一即时通讯客户端120和第二即时通讯客户端160可以安装于手机、平板电脑、电子书阅读器、膝上型便携计算机、台式计算机、可穿戴智能设备上。
即时通讯服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
可选地,网络使用标准通信技术和/或协议。网络通常为因特网、但是也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan AreaNetwork,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。可以使用包括超文本标记语言(HyperText Markup Language,HTML)、可扩展标记语言(Extensible Markup Language,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Sockets Layer,SSL)、传送层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet Protocol Security,IPsec)等常规加密技术来加密所有或者一些链路。在一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。根据实施例,网络也可以包括通向其他网络(例如因特网)的链路。
可选地,上述即时通讯客户端和即时通讯服务器是用于普通公众的即时通讯系统。可选地,上述即时通讯客户端和即时通讯服务器是用于企业的即时通讯系统。
请参考图2,其示出了本发明一个实施例提供的文件发送方法的方法流程图,本实施例以该文件发送方法应用于图1所示实施环境中进行举例说明。该文件发送方法可以包括如下几个步骤:
步骤201,第一即时通讯客户端向即时通讯服务器发送文件发送请求,文件发送请求包括:文件的第一文件指纹信息。
步骤202,即时通讯服务器接收第一即时通讯客户端发送的文件发送请求,文件发送请求包括:文件的第一文件指纹信息。
步骤203,即时通讯服务器根据第一文件指纹信息检测是否已存储有文件。
步骤204,若已存储有文件,即时通讯服务器则生成第一标识符和已存储标识,第一标识符用于标识文件。
步骤205,即时通讯服务器向第一即时通讯客户端发送第一标识符和已存储标识。
第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。
步骤206,第一即时通讯客户端接收即时通讯服务器反馈的第一标识符和已存储标识,第一标识符用于标识文件,已存储标识用于表示即时通讯服务器已存储有文件。
步骤207,第一即时通讯客户端将第一标识符发送给第二即时通讯客户端。
步骤208,第二即时通讯客户端接收第一即时通讯客户端发送的第一标识符,第一标识符用于标识文件。
步骤209,第二即时通讯客户端向即时通讯服务器发送文件接收请求,文件接收请求携带有第一标识符。
步骤210,第二即时通讯客户端接收即时通讯服务器发送的与文件对应的存储地址。
步骤211,第二即时通讯客户端根据存储地址下载文件。
综上所述,本实施例提供的文件发送方法,通过根据第一文件指纹信息检测是否已存储有文件;若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
需要说明的是:
上述步骤202、步骤203、步骤204和步骤205可结合实现即时通讯服务器侧的文件发送方法。
上述步骤201、步骤206和步骤207可结合实现第一即时通讯客户端侧的文件发送方法。
上述步骤208、步骤209、步骤210和步骤211可结合实现第二即时通讯客户端侧的文件接收方法。
请参考图3A,其示出了本发明一个实施例提供的文件发送方法的方法流程图,本实施例以该文件发送方法应用于图1所示实施环境中进行举例说明。该文件发送方法可以包括如下几个步骤:
步骤301,第一即时通讯客户端向即时通讯服务器发送文件发送请求;文件发送请求包括:文件的第一文件指纹信息。
文件发送请求用于请求向第二即时通讯客户端发送文件。文件发送请求包括:文件的第一文件指纹信息。文件指纹信息用于唯一标识该文件。可选的,文件指纹信息可以是文件的MD5值(Message Digest Algorithm MD5,消息摘要算法第五版)。可选地,文件发送请求中还包括文件名、文件大小和第一即时通讯客户端的用户帐号中的至少一种信息。
示意性的,若用户A向用户B发送文件F,则用户A对应的第一即时通讯客户端向即时通讯服务器发送文件发送请求。文件发送请求中携带有:文件名F、文件大小107KB,文件F的MD5值:08cdc6748。
若第一即时通讯客户端中已存储有文件的MD5值,则发送文件发送请求之前可以不计算文件的MD5值,将已存储的MD5值发送给即时通讯服务器。若第一即时通讯客户端中未存储有文件的MD5值,则实时计算出文件的MD5值,将计算出的MD5值发送给即时通讯服务器。
可选地,当该文件是诸如文字、电子表格、幻灯片等可编辑类型的文件时,第一即时通讯客户端在每次发送文件发送请求之前,都实时计算文件的MD5值;当该文件是诸如音频、视频类型等不可编辑类型的文件时,若第一即时通讯客户端已存储有文件的MD5值,则将已存储的MD5值发送给即时通讯服务器,不再重新计算MD5值。
需要说明的是,本实施例对文件指纹信息的具体形式不加以限定,MD5值仅为文件指纹信息的一种形式。
步骤302,即时通讯服务器接收第一即时通讯客户端发送的文件发送请求。
文件发送请求包括:文件的第一文件指纹信息。
步骤303,即时通讯服务器根据第一文件指纹信息检测是否已存储有文件。
已存储有文件是指即时通讯服务器已存储有文件发送请求所对应的文件。可选地,已存储的文件是由第一即时通讯客户端在历史发送过程中上传到即时通讯服务器的。可选地,已存储的文件是由其它即时通讯客户端在历史发送过程中上传到即时通讯服务器的。可选地,已存储的文件是由即时通讯服务器通过其它途径缓存到的文件,比如,从网上搜集的途径。
由于第一文件指纹信息是全局唯一的,因此即时通讯服务器可根据第一文件指纹信息检测是否已存储有该文件。
比如,即时通讯服务器根据MD5值:08cdc6748检测是否已存储有该MD5值对应的文件F。
步骤304,若已存储有文件,则即时通讯服务器生成第一标识符和已存储标识。
第一标识符可以是文件的GUID(Globally Unique Identifier,全局唯一标识符),GUID用于标识文件。可选地,第一标识符用于在本次发送过程中标识文件。
可选地,对于同一文件,在不同发送过程中具有不同的GUID。可选地,不同的发送过程通过会话ID进行区分;可选地,不同发送过程通过“发送方用户帐号+接收方用户帐号”进行区分;可选地,不同发送过程通过每个文件发送请求的发送时间进行区分。本实施例对不同发送过程的区分方式不加以限定。
示意性的,客户端A向客户端B发送文件F,是一次文件发送过程,使用GUID1;客户端B向客户端C发送文件F,是另一次文件发送过程,使用GUID2;GUID1不同于GUID2。
示意性的,若即时通讯服务器检测到已存储有MD5值:08cdc6748对应的文件F,则生成文件F对应的GUID1。
需要说明的,同一文件在不同的发送过程中具有不同的GUID。如图3B所示,客户端A向客户端B发送文件F时,即时通讯服务器生成全局GUIDa;客户端A向客户端D发送文件F时,即时通讯服务器生成GUIDb;客户端B向客户端C发送文件F时,即时通讯服务器生成GUIDc。
需要说明的是,本实施例对第一标识符的具体形式不加以限定,GUID值仅为第一标识符的一种形式。
步骤305,即时通讯服务器生成与第一标识符对应的存储记录,存储记录至少包括:第一标识符和与文件对应的存储地址。
存储记录是指用于存储文件相关信息的记录。存储记录中可以存储GUID、为该文件分配的存储地址、文件名、文件大小和文件所在的会话标识符等。每个GUID各自对应一条独立的存储记录。下表一示意性的示出了存储记录。
表一
GUID | 文件名 | 文件大小 | 会话标识 | 存储地址 |
abn58fm | f1 | 100kb | huihua12 | address1 |
hj55k | f1 | 100kb | huihua31 | address1 |
kjo33ty | f2 | 1M | hui321 | address2 |
fj878 | f3 | 2M | hua88 | address3 |
步骤306,即时通讯服务器向第一即时通讯客户端发送第一标识符和已存储标识。
已存储标识用于表示即时通讯服务器已存储有该文件。示意性的,已存储标识采用单独的一个比特表示,取值为1时代表已存储标识,取值为0时代表未存储标识。当然,已存储标识也可采用其它任意可能的形式表示。
示意性的,即时通讯服务器向客户端A发送GUID1和已存储标识“1”。
步骤307,第一即时通讯客户端接收即时通讯服务器反馈的第一标识符和已存储标识。
步骤308,第一即时通讯客户端将第一标识符发送给第二即时通讯客户端。
在服务器已存储有该文件时,第一即时通讯客户端不需要再次上传该文件给服务器。可选地,第一即时通讯客户端直接将GUID以即时通讯消息的形式发送给第二即时通讯客户端。可选地,第一即时通讯客户端将“文件名+文件大小+GUID”以即时通讯消息的形式发送给第二即时通讯客户端
示意性的,客户端A将文件F的GUID1发送给客户端B。
步骤309,第二即时通讯客户端接收第一即时通讯客户端发送的第一标识符。
可选地,第二即时通讯客户端接收第一即时通讯客户端以即时通讯消息的形式发送的GUID。可选地,第二即时通讯客户端接收第一即时通讯客户端以即时通讯消息的形式发送的“文件名+文件大小+GUID”。
示意性的,客户端B接收文件F的GUID1和文件大小107KB。
步骤310,第二即时通讯客户端向即时通讯服务器发送文件接收请求,文件接收请求携带有第一标识符。
可选地,第二即时通讯客户端在图形用户界面中显示文件收到通知。可选地,该文件收到通知包括:文件名、文件大小、是否确认接收的按钮。可选地,当用户点击确认接收的按钮时,第二即时通讯客户端向即时通讯服务器发送文件接收请求。
可选地,第二即时通讯客户端直接向即时通讯服务器发送文件接收请求。
文件接收请求用于请求接收第一即时通讯客户端发送的文件,文件接收请求中携带有GUID。
示意性的,客户端B向即时通讯服务器发送文件接收请求,该文件接收请求携带有文件F的GUID1。
步骤311,即时通讯服务器接收第二即时通讯客户端发送的文件接收请求。
示意性的,即时通讯服务器接收客户端B发送的请求接收文件F的文件接收请求。
步骤312,即时通讯服务器根据第一标识符查询与文件对应的存储地址。
即时通讯服务器在存储记录中,根据全局唯一标识符查询与文件对应的存储地址。
示意性的,即时通讯服务器根据文件F的GUID1在存储记录中查询与文件F对应的存储地址S。
步骤313,即时通讯服务器向第二即时通讯客户端发送与文件对应的存储地址。
步骤314,第二即时通讯客户端接收即时通讯服务器发送的与文件对应的存储地址。
比如,客户端B接收即时通讯服务器发送的与文件对应的存储地址S。
步骤315,第二即时通讯客户端根据存储地址下载文件。
示意性的,客户端B根据存储地址S下载文件F。
综上所述,本实施例提供的文件发送方法,通过根据第一文件指纹信息检测是否已存储有文件;若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
请参考图4,其示出了本发明一个实施例提供的文件发送方法的方法流程图,本实施例以该文件发送方法应用于图1所示实施环境中进行举例说明。该文件发送方法可以包括如下几个步骤:
步骤401,第一即时通讯客户端向即时通讯服务器发送文件发送请求;文件发送请求包括:文件的第一文件指纹信息。
文件发送请求用于请求向第二即时通讯客户端发送文件。文件发送请求包括:文件的第一文件指纹信息。文件指纹信息用于唯一标识该文件。可选的,文件指纹信息可以是文件的MD5值(Message Digest Algorithm MD5,消息摘要算法第五版)。可选地,文件发送请求中还包括文件名、文件大小和第一即时通讯客户端的用户帐号中的至少一种信息。
需要说明的是,本实施例对文件指纹信息的具体形式不加以限定,MD5值仅为文件指纹信息的一种形式。
步骤402,即时通讯服务器接收第一即时通讯客户端发送的文件发送请求。
文件发送请求包括:文件的第一文件指纹信息。
步骤403,即时通讯服务器根据第一文件指纹信息检测是否已存储有文件。
已存储有文件是指即时通讯服务器已存储有文件发送请求所对应的文件。可选地,已存储的文件是由第一即时通讯客户端在历史发送过程中上传到即时通讯服务器的。可选地,已存储的文件是由其它即时通讯客户端在历史发送过程中上传到即时通讯服务器的。可选地,已存储的文件是由即时通讯服务器通过其它途径缓存到的文件,比如,从网上搜集的途径。
由于第一文件指纹信息是全局唯一的,因此即时通讯服务器可根据第一文件指纹信息检测是否已存储有该文件。
步骤404,若未存储有文件,则即时通讯服务器生成第二标识符和未存储标识;
第二标识符可以是文件的GUID,GUID用于唯一标识文件。未存储标识用于表示即时通讯服务器未存储有该文件。
可选地,第二标识符用于在本次发送过程中标识文件。
可选地,对于同一文件,在不同发送过程中具有不同的GUID。可选地,不同的发送过程通过会话ID进行区分;可选地,不同发送过程通过“发送方用户帐号+接收方用户帐号”进行区分;可选地,不同发送过程通过每个文件发送请求的发送时间进行区分。本实施例对不同发送过程的区分方式不加以限定。
示意性的,假设客户端M发送的文件发送请求中包含有文件G的MD5值:123abc888。即时通讯服务器根据MD5值:123abc888检测出未存储有对应的文件G,则生成文件G对应的GUID2和为未存储标识符。
步骤405,即时通讯服务器生成与第二标识符对应的存储记录,存储记录至少包括:第二标识符和为文件分配的存储地址。
存储记录是指用于存储文件相关信息的记录。存储记录中可以存储GUID、为该文件分配的存储地址、文件名、文件大小和文件所在的会话标识符等。每个GUID各自对应一条独立的存储记录。
示意性的,即时通讯服务器为文件G生成一条存储记录,存储记录中包括:文件G对应的GUID2、为文件G分配的存储地址address123、文件名、文件大小1M和文件G所在的会话标识符huihua321等。
步骤406,即时通讯服务器向第一即时通讯客户端发送第二标识符和未存储标识。
示意性的,未存储标识采用单独的一个比特表示,取值为0时代表未存储标识,取值为1时代表已存储标识。当然,未存储标识也可采用其它任意可能的形式表示。
步骤407,第一即时通讯客户端接收即时通讯服务器反馈的第二标识符和未存储标识。
步骤408,第一即时通讯客户端向即时通讯服务器上传文件。
第一即时通讯客户端接收到即时通讯服务器反馈的第二标识符和未存储标识后,自动上传文件。示意性的,客户端M向即时通讯服务器上传文件G。
步骤409,即时通讯服务器接收第一即时通讯客户端上传的文件。
步骤410,即时通讯服务器计算接收到的文件的第二文件指纹信息。
示意性的,即时通讯服务器计算接收到的文件G的MD5值。
步骤411,即时通讯服务器检测第二文件指纹信息与第一文件指纹信息是否相同。
第二文件指纹信息是指即时通讯服务器接收到的文件的文件指纹信息,第一文件指纹信息是指第一即时通讯客户端发送的文件发送请求中的文件指纹信息。
示意性的,即时通讯服务器检测文件G的MD5值与文件发送请求中的MD5值:123abc888是否相同。
步骤412,若第二文件指纹信息与第一文件指纹信息相同,则即时通讯服务器确认文件上传成功。
示意性的,若文件G的MD5值与文件发送请求中的MD5值相同,即时通讯服务器则确认文件G上传成功。
步骤413,即时通讯服务器将文件存储至存储地址。
即时通讯服务器将文件存储至与第二标识符对应的存储地址。示意性的,即时通讯服务器将文件G存储至与GUID2对应的存储地址Z。
步骤414,第一即时通讯客户端将第二标识符发送给第二即时通讯客户端。
可选地,第一即时通讯客户端直接将GUID以即时通讯消息的形式发送给第二即时通讯客户端。可选地,第一即时通讯客户端将“文件名+文件大小+GUID”以即时通讯消息的形式发送给第二即时通讯客户端。示意性的,客户端M将文件G对应的GUID2发送给客户端N。
步骤415,第二即时通讯客户端接收第一即时通讯客户端发送的第二标识符。
可选地,第二即时通讯客户端接收第一即时通讯客户端以即时通讯消息的形式发送的GUID。可选地,第二即时通讯客户端接收第一即时通讯客户端以即时通讯消息的形式发送的“文件名+文件大小+GUID”。
步骤416,第二即时通讯客户端向即时通讯服务器发送文件接收请求,文件接收请求携带有第二标识符。
可选地,第二即时通讯客户端在图形用户界面中显示文件收到通知。可选地,该文件收到通知包括:文件名、文件大小、是否确认接收的按钮。可选地,当用户点击确认接收的按钮时,第二即时通讯客户端向即时通讯服务器发送文件接收请求。可选地,第二即时通讯客户端直接向即时通讯服务器发送文件接收请求。文件接收请求用于请求接收第一即时通讯客户端发送的文件,文件接收请求中携带有GUID。
示意性的,客户端N向即时通讯服务器发送文件接收请求,该文件接收请求携带有文件G的GUID2。
步骤417,即时通讯服务器接收第二即时通讯客户端发送的文件接收请求。
示意性的,即时通讯服务器接收客户端N发送的请求接收文件G的文件接收请求。
步骤418,即时通讯服务器根据第二标识符查询与文件对应的存储地址。
即时通讯服务器在存储记录中,根据第二标识符查询与文件对应的存储地址。
示意性的,即时通讯服务器根据文件G的GUID2在存储记录中查询与文件G对应的存储地址Z。
步骤419,即时通讯服务器向第二即时通讯客户端发送与文件对应的存储地址。
步骤420,第二即时通讯客户端接收即时通讯服务器发送的与文件对应的存储地址。
比如,客户端N接收即时通讯服务器发送的与文件对应的存储地址Z。
步骤421,第二即时通讯客户端根据存储地址下载文件。
示意性的,客户端N根据存储地址Z下载文件G。
综上所述,本实施例提供的文件发送方法,通过即时通讯服务器接收第一即时通讯客户端发送的文件发送请求;即时通讯服务器根据第一文件指纹信息检测是否已存储有文件;若未存储有文件,则即时通讯服务器生成第二标识符和未存储标识;即时通讯服务器生成与第二标识符对应的存储记录,存储记录至少包括:第二标识符和为文件分配的存储地址;即时通讯服务器向第一即时通讯客户端发送第二标识符和未存储标识;第一即时通讯客户端接收即时通讯服务器反馈的第二标识符和未存储标识;第一即时通讯客户端向即时通讯服务器上传文件;第一即时通讯客户端将第二标识符发送给第二即时通讯客户端;第二即时通讯客户端向即时通讯服务器发送文件接收请求,文件接收请求携带有第二标识符;即时通讯服务器根据第二标识符查询与文件对应的存储地址;第二即时通讯客户端接收即时通讯服务器发送的与文件对应的存储地址;第二即时通讯客户端根据存储地址下载文件。达到了客户端再次发送同一文件或转发同一文件时无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
需要说明的是,图3A所示的文件发送方法可以和图4所示的文件发送方法结合实施。即时通讯服务器根据第一文件指纹信息检测是否已存储有文件,若已存储有该文件,则进入图3A所示实施列中的步骤304;若未存储有该文件,则进入图4所示实施列中的步骤404。
如图5所示,第一即时通讯客户端和第二即时通讯客户端还可以请求即时通讯服务器删除文件的存储记录,可以包括如下几个步骤:
步骤501,第一即时通讯客户端向即时通讯服务器发送删除请求;删除请求携带有第一标识符。
删除请求用于请求即时通讯服务器删除存储记录。删除请求携带有第一标识符。存储记录至少包括:第一标识符和为文件分配的存储地址。
比如,客户端A向即时通讯服务器发送删除请求。
步骤502,即时通讯服务器接收第一即时通讯客户端发送的删除请求,删除请求携带有第一标识符。
步骤503,即时通讯服务器将与第一标识符对应的存储记录进行删除。
存储记录至少包括:第一标识符和为文件分配的存储地址。
当文件的存储记录为零时,即时通讯服务器还可以删除文件,包括如下步骤:
步骤504,即时通讯服务器检测包括与该文件对应的存储地址的存储记录是否为零条。
步骤505,若包括与该文件对应的存储地址的存储记录为零条,则即时通讯服务器删除文件。
当文件对应的存储地址的存储记录为零时,即时通讯服务器则删除该文件。
此外,第一即时通讯客户端向即时通讯服务器发送删除请求,若删除请求携带有第二标识符;即时通讯服务器将与第二标识符对应的存储记录进行删除;存储记录至少包括:第二标识符和为文件分配的存储地址。
第二即时通讯客户端请求即时通讯服务器删除文件的存储记录与第一即时通讯客户端请求即时通讯服务器删除文件的存储记录的方法类似,在此不再赘述。
综上所述,通过第一即时通讯客户端向即时通讯服务器发送删除请求;即时通讯服务器接收第一即时通讯客户端发送的删除请求,删除请求携带有第一标识符。达到了根据删除请求删除存储记录,而不会删除文件的效果,有利于客户端再次发送或转发同一文件时,无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
另外,通过即时通讯服务器检测包括与该文件对应的存储地址的存储记录是否为零条;若包括与该文件对应的存储地址的存储记录为零条,即时通讯服务器则删除文件。还达到了能够在存储记录为零的情况下删除文件,节约服务器的存储资源的效果。
如图6A所示,其示出了本发明一个实施例的文件发送流程示意图。
当用户A对应的客户端A第一次在会话组H1中上传文件doc时,客户端A计算出文件doc的MD5值,向即时通讯服务器发送文件名、文件大小、MD5值。即时通讯服务器根据MD5值生成GUID3,并将GUID3、MD5值、文件名、文件大小、文件所在的会话ID和文件存储地址关联存储。即时通讯服务器将GUID3反馈给客户端A。客户端A接收到GUID3后上传文件doc。文件doc上传完成后,即时通讯服务器计算接收到的文件doc的MD5值,并校验该MD5值与存储记录中的MD5值是否一致,若一致,则文件上传成功,将文件doc存储至存储地址。如图6B中界面001所示,界面001中显示用户A在会话组H1中上传的文件doc。
若用户A又要将文件doc发送到会话组H2中,用户A对应的客户端A向即时通讯服务器发送文件发送请求,该文件发送请求中携带有文件doc的MD5值。即时通讯服务器根据MD5值检测是否已存储有文件doc。即时通讯服务器检测到已存储有文件doc,则根据MD5值生成GUID4;即时通讯服务器将GUID4和已存储标识反馈给客户端A。
客户端A将GUID4发送给会话组H2中用户B对应的客户端B、用户Q对应的客户端Q、用户W对应的客户端W、用户R对应的客户端R。如图6C中界面002为客户端A在会话组中发送文件doc的示意图。
客户端B、客户端Q、客户端W和客户端R接收GUID4,选择性地向即时通讯服务器发送文件接收请求,文件接收请求中携带有GUID4。即时通讯服务器根据GUID4查询对应的存储地址,将存储地址反馈给客户端B、客户端Q、客户端W和客户端R中已发送文件接收请求的客户端。客户端B、客户端Q、客户端W和/或客户端R根据存储地址下载文件doc。
假设会话组H1中的用户B要将用户A上传的文件doc发送给用户V,用户B对应的客户端B向即时通讯服务器发送文件发送请求,该文件发送请求中携带有文件doc的MD5值。即时通讯服务器根据MD5值检测是否已存储有文件doc。即时通讯服务器检测到已存储有文件doc,则根据MD5值生成GUID5;即时通讯服务器将GUID5和已存储标识反馈给客户端B。
客户端B将GUID5发送给客户端V。如图6D中界面003为客户端B向客户端V发送文件doc的示意图。
客户端V向即时通讯服务器发送文件接收请求,文件接收请求中携带有GUID5。即时通讯服务器根据GUID5查询对应的存储地址,将存储地址反馈给客户端V。客户端V根据存储地址下载文件doc。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图7,其示出了本发明一个实施例提供的文件发送装置的结构方框图,该文件发送装置可通过软件、硬件或者两者的结合实现成为图1所示实施环境中的即时通讯服务器的部分或者全部。该文件发送装置可以包括:
接收模块720,用于接收第一即时通讯客户端发送的文件发送请求,文件发送请求包括:文件的第一文件指纹信息;
检测模块740,用于根据第一文件指纹信息检测是否已存储有文件;
生成模块760,用于若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;
发送模块780,用于向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。
综上所述,本实施例提供的文件发送装置,通过根据第一文件指纹信息检测是否已存储有文件;若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
请参考图8,其示出了本发明一个实施例提供的文件发送装置的结构方框图,该文件发送装置可通过软件、硬件或者两者的结合实现成为图1所示实施环境中的第一即时通讯客户端的部分或者全部。该文件发送装置可以包括:
发送模块820,用于向即时通讯服务器发送文件发送请求,文件发送请求包括:文件的第一文件指纹信息;
接收模块840,用于接收即时通讯服务器反馈的第一标识符和已存储标识,第一标识符用于标识文件,已存储标识用于表示即时通讯服务器已存储有文件;
发送模块820,用于将第一标识符发送给第二即时通讯客户端。
综上所述,本实施例提供的文件发送装置,通过向即时通讯服务器发送文件发送请求,文件发送请求包括:文件的第一文件指纹信息;接收即时通讯服务器反馈的第一标识符和已存储标识,第一标识符用于标识文件,已存储标识用于表示即时通讯服务器已存储有文件;将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
请参考图9,其示出了本发明一个实施例提供的文件接收装置的结构方框图,该文件接收装置可通过软件、硬件或者两者的结合实现成为图1所示实施环境中的第二即时通讯客户端的部分或者全部。该文件接收装置可以包括:
接收模块920,用于接收第一即时通讯客户端发送的第一标识符,第一标识符用于标识文件;
发送模块940,用于向即时通讯服务器发送文件接收请求,文件接收请求携带有第一标识符;
接收模块920,用于接收即时通讯服务器发送的与文件对应的存储地址;
下载模块960,用于根据存储地址下载文件。
综上所述,本实施例提供的文件接收装置,通过收第一即时通讯客户端发送的第一标识符,第一标识符用于标识文件;向即时通讯服务器发送文件接收请求,文件接收请求携带有第一标识符;接收即时通讯服务器发送的与文件对应的存储地址;根据存储地址下载文件。达到了通过文件对应的全局唯一标识符就能从即时通讯服务器上获取文件的效果。
请参考图10,其示出了本发明另一个实施例提供的文件发送系统的结构方框图,该文件发送系统包括:即时通讯服务器700、第一即时通讯客户端800和第二即时通讯客户端900。其中:
即时通讯服务器700可以包括文件发送装置,该文件发送装置可通过软件、硬件或者两者的结合实现成为即时通讯服务器700的部分或者全部。该文件发送装置可以包括:
接收模块701,用于接收第一即时通讯客户端发送的文件发送请求,文件发送请求包括:文件的第一文件指纹信息;
检测模块702,用于根据第一文件指纹信息检测是否已存储有文件;
生成模块703,用于若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;
发送模块704,用于向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。
可选地,该装置还包括:
生成模块703,用于若未存储有文件,则生成第二标识符和未存储标识,第二标识符用于标识文件;
发送模块704,用于向第一即时通讯客户端发送第二标识符和未存储标识;
接收模块701,用于接收第一即时通讯客户端上传的文件。
可选地,该装置还包括:
生成模块703,用于生成与第二标识符对应的存储记录,存储记录至少包括:第二标识符和为文件分配的存储地址;
可选地,装置,还包括:
存储模块705,用于将文件存储至存储地址。
可选地,该装置还包括:
计算模块706,用于计算接收到的文件的第二文件指纹信息;
检测模块707,用于检测第二文件指纹信息与第一文件指纹信息是否相同;
确认模块708,用于若第二文件指纹信息与第一文件指纹信息相同,则确认文件上传成功。
可选地,该装置还包括:
生成模块703,用于生成与第一标识符对应的存储记录,存储记录至少包括:第一标识符和与文件对应的存储地址;
装置,还包括:
接收模块701,用于接收第二即时通讯客户端发送的接收请求,接收请求携带有第一标识符;
查询模块709,用于根据第一标识符查询与文件对应的存储地址;
发送模块704,用于向第二即时通讯客户端发送存储地址,第二即时通讯客户端用于根据存储地址下载文件。
可选地,该装置还包括:
接收模块701,用于接收第一即时通讯客户端或第二即时通讯客户端发送的删除请求,删除请求携带有第一标识符;删除模块710,用于将与第一标识符对应的存储记录进行删除;
和/或,
接收模块701,用于接收第一即时通讯客户端发送的删除请求,删除请求携带有第二标识符;删除模块710,用于将与第二标识符对应的存储记录进行删除。
可选地,该装置还包括:
检测模块702,用于检测包括与文件对应的存储地址的存储记录是否为零条;
删除模块710,用于若包括与文件对应的存储地址的存储记录为零条,则删除文件。
第一即时通讯客户端800可以包括文件发送装置,该文件发送装置可通过软件、硬件或者两者的结合实现成为第一即时通讯客户端800的部分或者全部。该文件发送装置可以包括:
发送模块801,用于向即时通讯服务器发送文件发送请求,文件发送请求包括:文件的第一文件指纹信息;
接收模块802,用于接收即时通讯服务器反馈的第一标识符和已存储标识,第一标识符用于标识文件,已存储标识用于表示即时通讯服务器已存储有文件;
发送模块801,用于将第一标识符发送给第二即时通讯客户端。
可选地,该装置还包括:
接收模块802,用于接收即时通讯服务器反馈的第二标识符和未存储标识,第二标识符用于标识文件,未存储标识用于表示即时通讯服务器未存储有文件;
上传模块803,用于向即时通讯服务器上传文件,即时通讯服务器将文件存储至与第二标识符对应的存储地址。
可选地,该装置还包括:
发送模块801,用于向即时通讯服务器发送删除请求,删除请求携带有第二标识符;即时通讯服务器将与第二标识符对应的存储记录进行删除;存储记录至少包括:第二标识符和为文件分配的存储地址;
和/或,
发送模块801,用于向即时通讯服务器发送删除请求,删除请求携带有第一标识符;即时通讯服务器将与第一标识符对应的存储记录进行删除;存储记录至少包括:第一标识符和为文件分配的存储地址。
第二即时通讯客户端900可以包括文件接收装置,该文件接收装置可通过软件、硬件或者两者的结合实现成为第二即时通讯客户端900的部分或者全部。该文件接收装置可以包括:
接收模块901,用于接收第一即时通讯客户端发送的第一标识符,第一标识符用于标识文件;
发送模块902,用于向即时通讯服务器发送文件接收请求,文件接收请求携带有第一标识符;
接收模块901,用于接收即时通讯服务器发送的与文件对应的存储地址;
下载模块903,用于根据存储地址下载文件。
可选地,该装置还包括:
发送模块902,用于向即时通讯服务器发送删除请求,删除请求携带有第一标识符;即时通讯服务器将与第一标识符对应的存储记录进行删除;存储记录至少包括:第一标识符和为文件分配的存储地址。
综上所述,本实施例提供的文件发送装置,通过根据第一文件指纹信息检测是否已存储有文件;若已存储有文件,则生成第一标识符和已存储标识,第一标识符用于标识文件;向第一即时通讯客户端发送第一标识符和已存储标识,第一即时通讯客户端用于将第一标识符发送给第二即时通讯客户端。解决了即便服务器存储有待发送的文件,即时通讯客户端在文件发送时也需要再次上传文件的问题;达到了服务器存储有待发送的文件时,客户端无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
此外,还通过第一即时通讯客户端向即时通讯服务器发送删除请求;即时通讯服务器接收第一即时通讯客户端发送的删除请求,删除请求携带有第一标识符。达到了根据删除请求删除存储记录,而不会删除文件的效果,有利于客户端再次发送或转发同一文件时,无需再次上传文件,节约了服务器的存储资源以及客户端的上行带宽和上行流量,提高了文件转发速度的效果。
另外,还通过即时通讯服务器检测包括与该文件对应的存储地址的存储记录是否为零条;若包括与该文件对应的存储地址的存储记录为零条,即时通讯服务器则删除文件。还达到了能够在存储记录为零的情况下删除文件,节约服务器的存储资源的效果。
需要说明的是:上述实施例提供的文件发送装置和系统在进行文件发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件发送装置和文件发送系统与文件发送方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图11,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器可以是图1所示实施环境中的即时通讯服务器。即时通讯服务器用于实施上述图2、图3A、图4、图5或图6A所示实施例提供的即时通讯服务器侧的文件发送方法。具体来讲:
所述服务器1100包括中央处理单元(CPU)1101、存储设备1102、网络接口单元1103,以及连接中央处理单元(CPU)1101、存储设备1102和网络接口单元1103的系统总线1105。
存储设备1102用于存储操作系统、应用程序和其他程序模块。所述存储设备1102通过连接到系统总线1105的存储控制器(未示出)连接到中央处理单元1101。所述存储设备1102及其相关联的计算机可读介质为服务器1100提供非易失性存储。也就是说,所述存储设备1102可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。根据本发明的各种实施例,所述服务器1100还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1100可以通过连接在所述系统总线1105上的网络接口单元1103连接到网络,或者说,也可以使用网络接口单元1103来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。当该服务器1100为即时通讯服务器时,上述一个或者一个以上程序包含用于执行上述图2、图3A、图4、图5或图6A所示任一实施例提供的即时通讯服务器侧的文件发送方法的指令。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (25)
1.一种文件发送方法,其特征在于,所述方法包括:
接收第一即时通讯客户端发送的文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
根据所述第一文件指纹信息检测是否已存储有所述文件;
若已存储有所述文件,则生成第一标识符和已存储标识,所述第一标识符用于标识所述文件;
向所述第一即时通讯客户端发送所述第一标识符和所述已存储标识,所述第一即时通讯客户端用于将所述第一标识符发送给第二即时通讯客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一文件指纹信息检测是否已存储有所述文件之后,还包括:
若未存储有所述文件,则生成所述第二标识符和未存储标识,所述第二标识符用于标识所述文件;
向所述第一即时通讯客户端发送所述第二标识符和所述未存储标识;
接收所述第一即时通讯客户端上传的所述文件。
3.根据权利要求2所述的方法,其特征在于,所述向所述第一即时通讯客户端发送所述第二标识符和所述未存储标识之前,还包括:
生成与所述第二标识符对应的存储记录,所述存储记录至少包括:所述第二标识符和为所述文件分配的存储地址;
所述接收所述第一即时通讯客户端上传的所述文件之后,还包括:
将所述文件存储至所述存储地址。
4.根据权利要求2所述的方法,其特征在于,所述接收所述第一即时通讯客户端上传的所述文件之后,还包括:
计算接收到的所述文件的第二文件指纹信息;
检测所述第二文件指纹信息与所述第一文件指纹信息是否相同;
若所述第二文件指纹信息与所述第一文件指纹信息相同,则确认文件上传成功。
5.根据权利要求1至4任一所述的方法,其特征在于,所述向所述第一即时通讯客户端发送所述第一标识符和所述已存储标识之前,还包括:
生成与所述第一标识符对应的存储记录,所述存储记录至少包括:所述第一标识符和与所述文件对应的存储地址;
所述向所述第一即时通讯客户端发送所述第一标识符和所述已存储标识之后,还包括:
接收所述第二即时通讯客户端发送的接收请求,所述接收请求携带有所述第一标识符;
根据所述第一标识符查询与所述文件对应的存储地址;
向所述第二即时通讯客户端发送所述存储地址,所述第二即时通讯客户端用于根据所述存储地址下载所述文件。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述第一即时通讯客户端或所述第二即时通讯客户端发送的删除请求,所述删除请求携带有所述第一标识符;将与所述第一标识符对应的存储记录进行删除;
和/或,
接收所述第一即时通讯客户端发送的删除请求,所述删除请求携带有所述第二标识符;将与所述第二标识符对应的存储记录进行删除。
7.根据权利要求6所述的方法,其特征在于,所述将与所述第一标识符对应的存储记录进行删除,和/或,所述将与所述第二标识符对应的存储记录进行删除之后,还包括:
检测包括与所述文件对应的存储地址的存储记录是否为零条;
若包括与所述文件对应的存储地址的存储记录为零条,则删除所述文件。
8.一种文件发送方法,其特征在于,用于第一即时通讯客户端中,所述方法包括:
向即时通讯服务器发送文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
接收所述即时通讯服务器反馈的第一标识符和已存储标识,所述第一标识符用于标识所述文件,所述已存储标识用于表示所述即时通讯服务器已存储有所述文件;
将所述第一标识符发送给第二即时通讯客户端。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述即时通讯服务器反馈的第二标识符和未存储标识,所述第二标识符用于标识所述文件,所述未存储标识用于表示所述即时通讯服务器未存储有所述文件;
向所述即时通讯服务器上传所述文件,所述即时通讯服务器将所述文件存储至与所述第二标识符对应的存储地址。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
向所述即时通讯服务器发送删除请求,所述删除请求携带有所述第二标识符;所述即时通讯服务器用于将与所述第二标识符对应的存储记录进行删除;所述存储记录至少包括:所述第二标识符和为所述文件分配的存储地址;
和/或,
向所述即时通讯服务器发送删除请求,所述删除请求携带有所述第一标识符;所述即时通讯服务器用于将与所述第一标识符对应的存储记录进行删除;所述存储记录至少包括:所述第一标识符和为所述文件分配的存储地址。
11.一种文件接收方法,其特征在于,用于第二即时通讯客户端中,所述方法包括:
接收第一即时通讯客户端发送的第一标识符,所述第一标识符用于标识所述文件;
向即时通讯服务器发送文件接收请求,所述文件接收请求携带有所述第一标识符;
接收所述即时通讯服务器发送的与所述文件对应的存储地址;
根据所述存储地址下载所述文件。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
向所述即时通讯服务器发送删除请求,所述删除请求携带有所述第一标识符;所述即时通讯服务器用于将与所述第一标识符对应的存储记录进行删除;所述存储记录至少包括:所述第一标识符和为所述文件分配的存储地址。
13.一种文件发送装置,其特征在于,所述装置包括:
接收模块,用于接收第一即时通讯客户端发送的文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
检测模块,用于根据所述第一文件指纹信息检测是否已存储有所述文件;
生成模块,用于若已存储有所述文件,则生成第一标识符和已存储标识,所述第一标识符用于标识所述文件;
发送模块,用于向所述第一即时通讯客户端发送所述第一标识符和所述已存储标识,所述第一即时通讯客户端用于将所述第一标识符发送给第二即时通讯客户端。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
生成模块,用于若未存储有所述文件,则生成所述第二标识符和未存储标识,所述第二标识符用于标识所述文件;
发送模块,用于向所述第一即时通讯客户端发送所述第二标识符和所述未存储标识;
接收模块,用于接收所述第一即时通讯客户端上传的所述文件。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
生成模块,用于生成与所述第二标识符对应的存储记录,所述存储记录至少包括:所述第二标识符和为所述文件分配的存储地址;
所述装置,还包括:
存储模块,用于将所述文件存储至所述存储地址。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
计算模块,用于计算接收到的所述文件的第二文件指纹信息;
检测模块,用于检测所述第二文件指纹信息与所述第一文件指纹信息是否相同;
确认模块,用于若所述第二文件指纹信息与所述第一文件指纹信息相同,则确认文件上传成功。
17.根据权利要求13至16任一所述的装置,其特征在于,所述装置还包括:
生成模块,用于生成与所述第一标识符对应的存储记录,所述存储记录至少包括:所述第一标识符和与所述文件对应的存储地址;
所述装置,还包括:
接收模块,用于接收所述第二即时通讯客户端发送的接收请求,所述接收请求携带有所述第一标识符;
查询模块,用于根据所述第一标识符查询与所述文件对应的存储地址;
发送模块,用于向所述第二即时通讯客户端发送所述存储地址,所述第二即时通讯客户端用于根据所述存储地址下载所述文件。
18.根据权利要求15所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述第一即时通讯客户端或所述第二即时通讯客户端发送的删除请求,所述删除请求携带有所述第一标识符;删除模块,用于将与所述第一标识符对应的存储记录进行删除;
和/或,
接收模块,用于接收所述第一即时通讯客户端发送的删除请求,所述删除请求携带有所述第二标识符;删除模块,用于将与所述第二标识符对应的存储记录进行删除。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测包括与所述文件对应的存储地址的存储记录是否为零条;
删除模块,用于若包括与所述文件对应的存储地址的存储记录为零条,则删除所述文件。
20.一种文件发送装置,其特征在于,用于第一即时通讯客户端中,所述装置包括:
发送模块,用于向即时通讯服务器发送文件发送请求,所述文件发送请求包括:文件的第一文件指纹信息;
接收模块,用于接收所述即时通讯服务器反馈的第一标识符和已存储标识,所述第一标识符用于标识所述文件,所述已存储标识用于表示所述即时通讯服务器已存储有所述文件;
发送模块,用于将所述第一标识符发送给第二即时通讯客户端。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述即时通讯服务器反馈的第二标识符和未存储标识,所述第二标识符用于标识所述文件,所述未存储标识用于表示所述即时通讯服务器未存储有所述文件;
上传模块,用于向所述即时通讯服务器上传所述文件,所述即时通讯服务器将所述文件存储至与所述第二标识符对应的存储地址。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括:
发送模块,用于向所述即时通讯服务器发送删除请求,所述删除请求携带有所述第二标识符;所述即时通讯服务器用于将与所述第二标识符对应的存储记录进行删除;所述存储记录至少包括:所述第二标识符和为所述文件分配的存储地址;
和/或,
发送模块,用于向所述即时通讯服务器发送删除请求,所述删除请求携带有所述第一标识符;所述即时通讯服务器用于将与所述第一标识符对应的存储记录进行删除;所述存储记录至少包括:所述第一标识符和为所述文件分配的存储地址。
23.一种文件接收装置,其特征在于,用于第二即时通讯客户端中,所述装置包括:
接收模块,用于接收第一即时通讯客户端发送的第一标识符,所述第一标识符用于标识所述文件;
发送模块,用于向即时通讯服务器发送文件接收请求,所述文件接收请求携带有所述第一标识符;
接收模块,用于接收所述即时通讯服务器发送的与所述文件对应的存储地址;
下载模块,用于根据所述存储地址下载所述文件。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
发送模块,用于向所述即时通讯服务器发送删除请求,所述删除请求携带有所述第一标识符;所述即时通讯服务器用于将与所述第一标识符对应的存储记录进行删除;所述存储记录至少包括:所述第一标识符和为所述文件分配的存储地址。
25.一种文件发送系统,其特征在于,所述系统包括:即时通讯服务器、第一即时通讯客户端和第二即时通讯客户端;
所述即时通讯服务器包括如权利要求13至19任一所述的文件发送装置;
所述第一即时通讯客户端包括如权利要求20至22任一所述的文件发送装置;
所述第二即时通讯客户端包括如权利要求23或24所述的文件接收装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610475519.4A CN107547352A (zh) | 2016-06-24 | 2016-06-24 | 文件发送方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610475519.4A CN107547352A (zh) | 2016-06-24 | 2016-06-24 | 文件发送方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107547352A true CN107547352A (zh) | 2018-01-05 |
Family
ID=60960075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610475519.4A Pending CN107547352A (zh) | 2016-06-24 | 2016-06-24 | 文件发送方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547352A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848172A (zh) * | 2018-06-22 | 2018-11-20 | 深圳云之家网络有限公司 | 一种文件传输方法及系统 |
CN108881472A (zh) * | 2018-07-09 | 2018-11-23 | 掌阅科技股份有限公司 | 电子书文件的处理方法、电子设备、存储介质 |
CN112838981A (zh) * | 2021-02-05 | 2021-05-25 | 西藏宁算科技集团有限公司 | 即时消息处理方法、装置、系统及电子设备 |
CN112953812A (zh) * | 2021-01-29 | 2021-06-11 | 西藏宁算科技集团有限公司 | 文件消息上传和存储方法及其装置 |
CN114979087A (zh) * | 2022-06-27 | 2022-08-30 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287088B1 (en) * | 2000-10-06 | 2007-10-23 | Fotomedia Technologies, Llc | Transmission bandwidth and memory requirements reduction in a portable image capture device by eliminating duplicate image transmissions |
US20130346472A1 (en) * | 2012-06-21 | 2013-12-26 | Cisco Technology, Inc. | Redirecting From a Cloud Service to a Third Party Website to Save Costs Without Sacrificing Security |
CN103581230A (zh) * | 2012-07-26 | 2014-02-12 | 深圳市腾讯计算机系统有限公司 | 文件传输系统和方法、接收端、发送端 |
CN103812882A (zh) * | 2012-11-06 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种文件传输的方法及系统 |
CN104010016A (zh) * | 2013-02-27 | 2014-08-27 | 联想(北京)有限公司 | 数据管理方法、云端服务器及终端设备 |
CN104113509A (zh) * | 2013-04-16 | 2014-10-22 | 腾讯科技(深圳)有限公司 | 媒体文件推送方法和服务器 |
CN104883385A (zh) * | 2015-03-31 | 2015-09-02 | 小米科技有限责任公司 | 富媒体文件传输方法及装置 |
CN104980482A (zh) * | 2014-12-24 | 2015-10-14 | 深圳市腾讯计算机系统有限公司 | 文件发送方法及装置、文件接收方法及装置 |
CN105357321A (zh) * | 2015-12-11 | 2016-02-24 | 北京元心科技有限公司 | 基于摘要值的文件传输方法、终端和文件服务器 |
-
2016
- 2016-06-24 CN CN201610475519.4A patent/CN107547352A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7287088B1 (en) * | 2000-10-06 | 2007-10-23 | Fotomedia Technologies, Llc | Transmission bandwidth and memory requirements reduction in a portable image capture device by eliminating duplicate image transmissions |
US20130346472A1 (en) * | 2012-06-21 | 2013-12-26 | Cisco Technology, Inc. | Redirecting From a Cloud Service to a Third Party Website to Save Costs Without Sacrificing Security |
CN103581230A (zh) * | 2012-07-26 | 2014-02-12 | 深圳市腾讯计算机系统有限公司 | 文件传输系统和方法、接收端、发送端 |
CN103812882A (zh) * | 2012-11-06 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种文件传输的方法及系统 |
CN104010016A (zh) * | 2013-02-27 | 2014-08-27 | 联想(北京)有限公司 | 数据管理方法、云端服务器及终端设备 |
CN104113509A (zh) * | 2013-04-16 | 2014-10-22 | 腾讯科技(深圳)有限公司 | 媒体文件推送方法和服务器 |
CN104980482A (zh) * | 2014-12-24 | 2015-10-14 | 深圳市腾讯计算机系统有限公司 | 文件发送方法及装置、文件接收方法及装置 |
CN104883385A (zh) * | 2015-03-31 | 2015-09-02 | 小米科技有限责任公司 | 富媒体文件传输方法及装置 |
CN105357321A (zh) * | 2015-12-11 | 2016-02-24 | 北京元心科技有限公司 | 基于摘要值的文件传输方法、终端和文件服务器 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848172A (zh) * | 2018-06-22 | 2018-11-20 | 深圳云之家网络有限公司 | 一种文件传输方法及系统 |
CN108881472A (zh) * | 2018-07-09 | 2018-11-23 | 掌阅科技股份有限公司 | 电子书文件的处理方法、电子设备、存储介质 |
CN108881472B (zh) * | 2018-07-09 | 2019-03-29 | 掌阅科技股份有限公司 | 电子书文件的处理方法、电子设备、存储介质 |
CN112953812A (zh) * | 2021-01-29 | 2021-06-11 | 西藏宁算科技集团有限公司 | 文件消息上传和存储方法及其装置 |
CN112838981A (zh) * | 2021-02-05 | 2021-05-25 | 西藏宁算科技集团有限公司 | 即时消息处理方法、装置、系统及电子设备 |
CN114979087A (zh) * | 2022-06-27 | 2022-08-30 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、设备和存储介质 |
CN114979087B (zh) * | 2022-06-27 | 2024-02-06 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547352A (zh) | 文件发送方法、装置及系统 | |
US9348836B2 (en) | Determining a preferred modified version from among multiple modified versions for synchronized files | |
CN103916479B (zh) | 一种基于工作组文件的云同步局域网加速系统 | |
CN103812882B (zh) | 一种文件传输的方法及系统 | |
CN109491758A (zh) | docker镜像分发方法、系统、数据网关及计算机可读存储介质 | |
CN105868231A (zh) | 缓存数据的更新方法及装置 | |
CN103873505B (zh) | 向云存储服务器离线上传的方法、系统与装置 | |
US10498777B2 (en) | Real-time push notifications for cloud-based applications | |
CN107819891A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN103281361A (zh) | 个人云协同系统及数据管理方法 | |
CN104980482A (zh) | 文件发送方法及装置、文件接收方法及装置 | |
EP3142306B1 (en) | Openflow communication method, system, controller, and service gateway | |
CN106101007B (zh) | 处理报文的方法及装置 | |
CN104283975A (zh) | 文件分发方法和装置 | |
CN112416396B (zh) | 一种应用程序更新方法和系统 | |
CN108093015A (zh) | 文件传输系统 | |
CN103685332B (zh) | 文件上传方法、客户端、服务器及系统 | |
CN107438084A (zh) | 多客户端数据同步方法和装置 | |
CN109154968A (zh) | 用于组织内的安全且高效的通信的系统和方法 | |
CN104702684B (zh) | 一种数据同步方法和装置 | |
CN106101183A (zh) | 回源请求的中转方法和装置及回源系统 | |
CN108989424A (zh) | 一种远程控制的方法和系统 | |
CN105074688B (zh) | 使用对等节点图的基于流的数据去重复 | |
CN108768849A (zh) | 报文处理方法及装置 | |
CN109714208A (zh) | 一种设备纳入网管的方法、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180105 |
|
RJ01 | Rejection of invention patent application after publication |