CN109309611A - 多终端点对点文接传输中文件接收互斥实现方法和系统 - Google Patents

多终端点对点文接传输中文件接收互斥实现方法和系统 Download PDF

Info

Publication number
CN109309611A
CN109309611A CN201710619134.5A CN201710619134A CN109309611A CN 109309611 A CN109309611 A CN 109309611A CN 201710619134 A CN201710619134 A CN 201710619134A CN 109309611 A CN109309611 A CN 109309611A
Authority
CN
China
Prior art keywords
file
client
point
transmission
transmitted
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.)
Granted
Application number
CN201710619134.5A
Other languages
English (en)
Other versions
CN109309611B (zh
Inventor
宋延平
肖勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ai Pai Network Polytron Technologies Inc
Original Assignee
Shenzhen Ai Pai Network Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Ai Pai Network Polytron Technologies Inc filed Critical Shenzhen Ai Pai Network Polytron Technologies Inc
Priority to CN201710619134.5A priority Critical patent/CN109309611B/zh
Publication of CN109309611A publication Critical patent/CN109309611A/zh
Application granted granted Critical
Publication of CN109309611B publication Critical patent/CN109309611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Abstract

本发明公开了一种多终端点对点文接传输中文件接收互斥实现方法和系统。所述方法包括:消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求;当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求;第一客户端与相应的第二客户端通过点对点通信方式传输待传输文件。本发明提供的方法实现了文件传输时多终端可同时选择文件接收,选择灵活,文件传输的交互过程友好,在一种终端接收文件后,其它终端可以给出合理的提示,用户体验佳,还实现了点对点文件传输,传输速度快,节省流量。

Description

多终端点对点文接传输中文件接收互斥实现方法和系统
技术领域
本发明涉及文件传输技术领域,特别涉及一种多终端点对点文接传输中文件接收互斥实现方法和系统。
背景技术
当前流程的IM即时通信软件中,对文件传输中多终端的处理不尽相对,QQ在线传文件时,如果手机和PC同时在线,则PC可以收到文件接收请求,手机无法收到(PC长时间不接收时手机才可以接收),微信传文件,是先上传到服务器,然后手机、PC可以同时在文件服务器下载。
因此,市面上即时通信软件要么无法实现多终端同时选择文件接收,使用起来不方便,要么无法实现多终端点对点文件传输,而需要从服务器上下载,浪费流量且传输速度慢,文件传输体验差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种多终端点对点文接传输中文件接收互斥实现方法和系统。所述技术方案如下:
一方面,本发明实施例提供了一种多终端点对点文接传输中文件接收互斥实现方法,包括:
第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,所述待传输文件用于传输至第二用户;
消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,所述多个第二客户端采用不同版本的通信软件登录第二用户的同一通信账户;
当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求;
第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。
在本发明实施例提供的方法中,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,所述方法还包括:
接收文件传输的第二客户端检验其所处的网络环境是否符合点对点传输的要求;
当接收文件传输的第二客户所处网络环境检验不符合点对点传输要求时,接收文件传输的第二客户通过消息服务器向第一客户端转发无法进行点对点传输的信息提示;
第一客户端接到消息服务器转发的接收文件传输请求和无法进行点对点传输的信息提示时,向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息;
接收文件传输的第二客户端根据接收到的文件服务器信息,从相应的文件服务器中下载待传输文件。
在本发明实施例提供的方法中,当接收文件传输的第二客户端所处网络环境检验符合点对点传输要求时,所述方法还包括:
接收文件传输的第二客户端通过消息服务器向第一客户端发送可点对点文件传输的信息提示;
第一客户端检验其所处的网络环境是否符合点对点传输的要求;
当其所处的网络环境检验不符合点对点传输要求时,第一客户端向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息,供第二客户端从文件服务器中下载待传输文件。
在本发明实施例提供的方法中,所述消息服务器向其他第二客户端发送待传输文件已被其他终端处理的信息提示,包括:
消息服务器向其他在线第二客户端发送待传输文件已被其他终端处理的在线信息提示,并向其他离线第二客户端发送待传输文件已被其他终端处理的离线消息提示。
在本发明实施例提供的方法中,所述第一客户端和所述第二客户端均与所述消息服务器进行基于WebSocket协议的通信连接。
另一方面,本发明实施例提供了一种多终端点对点文接传输中文件接收互斥实现系统,包括:采用不同版本的通信软件登录第一用户的同一通信账户的多个第一客户端、采用不同版本的通信软件登录第二用户的同一通信账户的多个第二客户端、以及分别与所述第一客户端和所述第二客户端通信连接的消息服务器,
所述第一客户端,用于根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,所述待传输文件用于传输至第二用户;
所述消息服务器,用于据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求;
所述消息服务器,还用于当接收到任一个第二客户端最先反馈的接收文件传输请求时,向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求;
所述第一客户端,还用于当接收到消息服务器转发的接收文件传输请求时,与相应的第二客户端通过点对点通信方式传输待传输文件。
在本发明实施例提供的系统中,所述系统还包括:分别与所述第一客户端和所述第二客户端通信连接的文件服务器,
第二客户端,用于当其向消息服务器最先向发送接收文件传输请求时,检验其所处的网络环境是否符合点对点传输的要求;
第二客户端,还用于当其所处网络环境检验不符合点对点传输要求时,通过消息服务器向第一客户端转发无法进行点对点传输的信息提示;
所述第一客户端,还用于当接到消息服务器转发的接收文件传输请求和无法进行点对点传输的信息提示时,向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息;
第二客户端,用于当其接收到消息服务器转发的文件服务器信息时,从相应的文件服务器中下载待传输文件。
在本发明实施例提供的系统中,所述第二客户端,还用于当其所处网络环境检验符合点对点传输要求时,通过消息服务器向第一客户端发送可点对点文件传输的信息提示;
所述第一客户端,还用于根据接收到的接收文件传输请求,检验其所处的网络环境是否符合点对点传输的要求;
所述第一客户端,还用于当其所处的网络环境检验不符合点对点传输要求时,向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息,供第二客户端从文件服务器中下载待传输文件。
在本发明实施例提供的系统中,所述消息服务器,还用于向其他在线第二客户端发送待传输文件已被其他终端处理的在线信息提示,并向其他离线第二客户端发送待传输文件已被其他终端处理的离线消息提示。
在本发明实施例提供的系统中,所述第一客户端和所述第二客户端均与所述消息服务器进行基于WebSocket协议的通信连接。
本发明实施例提供的技术方案带来的有益效果是:
通过第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,然后,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求,最后第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。这样该方法实现了文件传输时多终端可同时选择文件接收,选择灵活、使用方便,同时,可以实现点对点文件传输,传输速度快,节省流量,文件传输体验佳,另外,文件传输的交互过程友好,在一种终端接收文件后,其它终端可以给出合理的提示,用户体验佳。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用场景示意图;
图2是本发明实施例一提供的一种多终端点对点文接传输中文件接收互斥实现方法的流程图;
图3是本发明实施例二提供的一种多终端点对点文接传输中文件接收互斥实现方法的流程图;
图4是本发明实施例三提供的一种多终端点对点文接传输中文件接收互斥实现系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在详细介绍本发明实施例的技术方案前,先简要介绍一下应用场景,参见图1,多个第一客户端100(例如:电脑、平板电脑、智能手机等)上分别采用不同版本(例如:电脑版、手机版等)的通信软件登录第一用户的同一通信账户,多个第二客户端200(例如:电脑、平板电脑、智能手机等)上分别采用不同版本的通信软件登录第二用户的同一通信账户,多个第一客户端100和多个第二客户端200均与消息服务器300通信连接,多个第一客户端100和多个第二客户端200还均文件服务器400通信连接。
第一用户采用任一个第一客户端100向第二用户传输待传输文件,第二用户可以采用任一个第二客户端200进行接收,当其中任一个第二客户端200被用于接收待传输文件后,其他第二客户端200则被消息服务器300提示该待传输文件已被处理。第一客户端100与第二客户端200之间在确定文件传输关系后,优先采用点对点的方式进行文件传输,它们传输关系的确认,则由消息服务器300传递中间确认信息。如果第一客户端100与第二客户端200之间无法实现点对点的文件传输,则由第一客户端100将待传输文件先上传至文件服务器400,再由相应的第二客户端200从文件服务器400上下载。
实施例一
本发明实施例提供了一种多终端点对点文接传输中文件接收互斥实现方法,参见图2,该方法可以包括:
步骤S11,第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,该待传输文件用于传输至第二用户。
在本实施例中,发送端(即第一客户端)选择文件(即待传输文件)点击发送,消息服务器接收到发送端的文件传输请求,会为文件信息生成文件ID,然后以文件ID为key、文件传输信息(例如:最后操作时间、文件操作类型默认为上传类型)为值,保存在一个Map集合中,并且通过文件最后操作时间定时清理Map集合中过期的文件信息,最后消息服务器将文件信息和发送端的终端类型转发至接收端(即第二客户端)。
步骤S12,消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,该多个第二客户端采用不同版本的通信软件登录第二用户的同一通信账户。
在本实施例中,消息服务器在接收到第一客户端发送的文件传输请求后,会向所有的第二客户端发送文件传输请求,第二用户可以在任一第二客户端选择进行文件接收,实现了多个接收端同时可以选择接收文件传输,而且用户选择方便,使用体验佳。
步骤S13,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求。
在本实施例中,如果多个第二客户端同时点击接收,由于消息服务器会有同步加锁机制,所以最先发送接收文件传输请求的第二客户端会被同意文件传输,其后发出请求的第二客户端(在线和离线的)则会被消息服务器提示文件已经在其他终端操作。这样在一种终端接收文件后,其它终端可以给出合理的提示,交互过程友好。关于消息服务器如何同步处理防止同时点击发生验证漏洞的问题,消息服务器接收到第二用户的请求(即第二客户端发送的),首先通过文件ID找到缓存中的文件传输信息(即在上文提到的Map集合中寻找),如果没有找到文件传输信息则直接提示文件已经过期被清理;如果查询到文件传输信息并且文件的操作类型为取消或者接收则应给出对应的合理响应提示。
具体地,上述步骤S13可以通过如下方式实现:
消息服务器向其他在线第二客户端发送待传输文件已被其他终端处理的在线信息提示,并向其他离线第二客户端发送待传输文件已被其他终端处理的离线消息提示。
在本实施例中,在任意一个第二客户端先点击操作之后消息服务器收到请求验证,如果此文件没有被其他第二客户端操作,那么会通知的其他所有的在线和离线的第二客户端此文件已经被操作,由于当前第二客户端的状态为离线所以在登录成功之后会接收到离线消息。
步骤S14,第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。
在本实施例中,点对点通信只能实现网内任意两个用户之间的信息交换。点对点的通信时,只有一个用户可收到信息。作为一种计算机网络以通信模式,点对点通信中的两台计算机处在同等地位,有时也称对等网络(Peer to Peer Network)。它们共享网络资源,每台机器都以同样的方式作用于对方。第一客户端与第二客户端之间采用点对点传输,文件传输更加方便快捷,且会更省流量(如果第二用户不接收待传输文件,则第一客户端无需浪费流量将其上传至文件服务器)。
需要说明的是,第一客户端和第二客户端均与消息服务器进行基于WebSocket协议的通信连接。WebSocket协议是基于传输控制协议(Transmission Control Protocol,简称“TCP”)TCP的一种新的网络协议,它允许服务器主动发送信息给客户端。本方法中,信息交互协议定义清晰,交互次数少,实现简单,适用性好。在实际应用中,当有文件需要传输时,通过协议的控制,手机,PC可以同时接收到文件接收的请求,当任何一端点击文件接收时,另一端会提示文件已接收。
本发明实施例通过第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,然后,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求,最后第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。这样该方法实现了文件传输时多终端可同时选择文件接收,选择灵活、使用方便,同时,可以实现点对点文件传输,传输速度快,节省流量,文件传输体验佳,另外,文件传输的交互过程友好,在一种终端接收文件后,其它终端可以给出合理的提示,用户体验佳。
实施例二
由于并非所有的网络环境均适应点对点的文件传输要求,本发明实施例提供了一种多终端点对点文接传输中文件接收互斥实现方法,以适应各种复杂的网络环境,参见图3,该方法可以包括:
步骤S21,第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,该待传输文件用于传输至第二用户。
在本实施例中,发送端(即第一客户端)选择文件(即待传输文件)点击发送,消息服务器接收到发送端的文件传输请求,会为文件信息生成文件ID,然后以文件ID为key、文件传输信息(例如:最后操作时间、文件操作类型默认为上传类型)为值,保存在一个Map集合中,并且通过文件最后操作时间定时清理Map集合中过期的文件信息,最后消息服务器将文件信息和发送端的终端类型转发至接收端(即第二客户端)。
步骤S22,消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,该多个第二客户端采用不同版本的通信软件登录第二用户的同一通信账户。
在本实施例中,消息服务器在接收到第一客户端发送的文件传输请求后,会向所有的第二客户端发送文件传输请求,第二用户可以在任一第二客户端选择进行文件接收,实现了多个接收端同时可以选择接收文件传输,而且用户选择方便,使用体验佳。
步骤S23,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求。
在本实施例中,如果多个第二客户端同时点击接收,由于消息服务器会有同步加锁机制,所以最先发送接收文件传输请求的第二客户端会被同意文件传输,其后发出请求的第二客户端(在线和离线的)则会被消息服务器提示文件已经在其他终端操作。这样在一种终端接收文件后,其它终端可以给出合理的提示,交互过程友好。
步骤S24,接收文件传输的第二客户端检验其所处的网络环境是否符合点对点传输的要求。
在本实施例中,接收文件传输的第二客户端(即最先发送接收文件传输请求的第二客户端),需要先检验其所处的网络环境是否符合点对点传输的要求,如果不符合点对点文件传输要求,则执行步骤S25,如果符合,则执行步骤S27。
步骤S25,第一客户端向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息。
在本实施例中,如果存有网络限制,致使第二客户端无法实现点对点文件传输,则第一客户端可先将待传输文件上传至文件服务器,再由第二客户端从文件服务器中下载,以增强该方法的适应性。
步骤S26,接收文件传输的第二客户端根据接收到的文件服务器信息,从相应的文件服务器中下载待传输文件。
步骤S27,接收文件传输的第二客户端通过消息服务器向第一客户端发送可点对点文件传输的信息提示。
需要说明的是,点对点文件传输,不仅需要第二客户端的网络环境符合要求,同时也要求第一客户端的网络环境符合要求,因此,在第二客户端所处网络环境通过检验后,还需要检验第一客户端的网络环境。
步骤S28,第一客户端检验其所处的网络环境是否符合点对点传输的要求。
在本实施例中,如果第一客户端检验其所处的网络环境不符合点对点传输的要求,则执行步骤S29,如果符合,则执行步骤S30。
步骤S29,第一客户端向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息,供第二客户端从文件服务器中下载待传输文件。
步骤S30,第一客户端与相应的第二客户端通过点对点通信方式传输待传输文件。
在本实施例中,点对点通信只能实现网内任意两个用户之间的信息交换。点对点的通信时,只有一个用户可收到信息。作为一种计算机网络以通信模式,点对点通信中的两台计算机处在同等地位,有时也称对等网络(Peer to Peer Network)。它们共享网络资源,每台机器都以同样的方式作用于对方。第一客户端与第二客户端之间采用点对点传输,文件传输更加方便快捷,且会更省流量(如果第二用户不接收待传输文件,则第一客户端无需浪费流量将其上传至文件服务器)。
本发明实施例通过第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,然后,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求,最后第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。这样该方法实现了文件传输时多终端可同时选择文件接收,选择灵活、使用方便,同时,可以实现点对点文件传输,传输速度快,节省流量,文件传输体验佳,另外,文件传输的交互过程友好,在一种终端接收文件后,其它终端可以给出合理的提示,用户体验佳。
实施例三
本发明实施例提供了一种多终端点对点文接传输中文件接收互斥实现系统,实现了实施例一和二所述的方法,参见图4,该系统可以包括:采用不同版本的通信软件登录第一用户的同一通信账户的多个第一客户端100、采用不同版本的通信软件登录第二用户的同一通信账户的多个第二客户端200、以及分别与第一客户端100和第二客户端200通信连接的消息服务器300。
第一客户端100,用于根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,待传输文件用于传输至第二用户。
在本实施例中,发送端(即第一客户端)选择文件(即待传输文件)点击发送,消息服务器接收到发送端的文件传输请求,会为文件信息生成文件ID,然后以文件ID为key、文件传输信息(例如:最后操作时间、文件操作类型默认为上传类型)为值,保存在一个Map集合中,并且通过文件最后操作时间定时清理Map集合中过期的文件信息,最后消息服务器将文件信息和发送端的终端类型转发至接收端(即第二客户端)。
消息服务器300,用于据接收到的文件传输请求,向第二用户对应的多个第二客户端200发送文件传输请求。
在本实施例中,消息服务器在接收到第一客户端发送的文件传输请求后,会向所有的第二客户端发送文件传输请求,第二用户可以在任一第二客户端选择进行文件接收,实现了多个接收端同时可以选择接收文件传输,而且用户选择方便,使用体验佳。
消息服务器300,还用于当接收到任一个第二客户端200最先反馈的接收文件传输请求时,向其他第二客户端200发送待传输文件已被处理的信息提示,并向第一客户端100转发接收文件传输请求。
在本实施例中,如果多个第二客户端同时点击接收,由于消息服务器会有同步加锁机制,所以最先发送接收文件传输请求的第二客户端会被同意文件传输,其后发出请求的第二客户端(在线和离线的)则会被消息服务器提示文件已经在其他终端操作。这样在一种终端接收文件后,其它终端可以给出合理的提示,交互过程友好。关于消息服务器如何同步处理防止同时点击发生验证漏洞的问题,消息服务器接收到第二用户的请求(即第二客户端发送的),首先通过文件ID找到缓存中的文件传输信息(即在上文提到的Map集合中寻找),如果没有找到文件传输信息则直接提示文件已经过期被清理;如果查询到文件传输信息并且文件的操作类型为取消或者接收则应给出对应的合理响应提示。
第一客户端100,还用于根据接收到的接收文件传输请求,与相应的第二客户端200(即最先反馈接收文件传输请求的第二客户端200)通过点对点通信方式传输待传输文件。
在本实施例中,点对点通信只能实现网内任意两个用户之间的信息交换。点对点的通信时,只有一个用户可收到信息。作为一种计算机网络以通信模式,点对点通信中的两台计算机处在同等地位,有时也称对等网络(Peer to Peer Network)。它们共享网络资源,每台机器都以同样的方式作用于对方。第一客户端与第二客户端之间采用点对点传输,文件传输更加方便快捷,且会更省流量(如果第二用户不接收待传输文件,则第一客户端无需浪费流量将其上传至文件服务器)。
具体地,由于并非所有的网络环境均适应点对点的文件传输要求,为了增强该系统的适应性,参见图4,该系统还可以包括:分别与第一客户端100和第二客户端200通信连接的文件服务器400。
第二客户端200,用于当其向消息服务器最先向发送接收文件传输请求时,检验其所处的网络环境是否符合点对点传输的要求。
第二客户端200,还用于当其所处网络环境检验不符合点对点传输要求时,通过消息服务器向第一客户端100转发无法进行点对点传输的信息提示。
第一客户端100,还用于当接到消息服务器300转发的接收文件传输请求和无法进行点对点传输的信息提示时,向文件服务器400上传待传输文件,并通过消息服务器300向接收文件传输的第二客户端200发送文件服务器信息。
第二客户端200,用于当其接收到消息服务器300转发的文件服务器信息时,从相应的文件服务器400中下载待传输文件。
在本实施例中,如果存有网络限制,致使第二客户端无法实现点对点文件传输,则第一客户端可先将待传输文件上传至文件服务器,再由第二客户端从文件服务器中下载,以增强该方法的适应性。
进一步地,点对点文件传输,不仅需要第二客户端的网络环境符合要求,同时也要求第一客户端的网络环境符合要求,因此,在第二客户端所处网络环境通过检验后,还需要检验第一客户端的网络环境。
第二客户端200,还用于当其所处网络环境检验符合点对点传输要求时,通过消息服务器300向第一客户端100发送可点对点文件传输的信息提示。
第一客户端100,还用于当其接到第二客户端200可实现点对点文件传输的信息提示时,检验其所处的网络环境是否符合点对点传输的要求。
第一客户端100,还用于当其所处的网络环境检验不符合点对点传输要求时,向文件服务器400上传待传输文件,并通过消息服务器300向接收文件传输的第二客户端200发送文件服务器信息,供第二客户端200从文件服务器400中下载待传输文件。
在本实施例中,如果第一客户端100和相应的第二客户端200均符合点对点文件传输要求,则第一客户端100与第二客户端200进行点对点文件传输;如果有任一客户端不符合点对点文件传输要求,则第一客户端100先将待传输文件上传至文件服务器400中,然后由第二客户端200从文件服务器400中下载。
可选地,消息服务器300,还用于向其他在线第二客户端发送待传输文件已被其他终端处理的在线信息提示,并向其他离线第二客户端发送待传输文件已被其他终端处理的离线消息提示。
在本实施例中,在任意一个第二客户端先点击操作之后消息服务器收到请求验证,如果此文件没有被其他第二客户端操作,那么会通知的其他所有的在线和离线的第二客户端此文件已经被操作,由于当前第二客户端的状态为离线所以在登录成功之后会接收到离线消息。
优选地,第一客户端100和第二客户端200均与消息服务器300进行基于WebSocket协议的通信连接。WebSocket协议是基于TCP的一种新的网络协议,它允许服务器主动发送信息给客户端。本方法中,信息交互协议定义清晰,交互次数少,实现简单,适用性好。
本发明实施例通过第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,然后,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求,最后第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。这样该系统实现了文件传输时多终端可同时选择文件接收,选择灵活、使用方便,同时,可以实现点对点文件传输,传输速度快,节省流量,文件传输体验佳,另外,文件传输的交互过程友好,在一种终端接收文件后,其它终端可以给出合理的提示,用户体验佳。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是:上述实施例提供的多终端点对点文接传输中文件接收互斥实现系统在实现多终端点对点文接传输中文件接收互斥实现方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多终端点对点文接传输中文件接收互斥实现系统与多终端点对点文接传输中文件接收互斥实现方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多终端点对点文接传输中文件接收互斥实现方法,其特征在于,包括:
第一客户端根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,所述待传输文件用于传输至第二用户;
消息服务器根据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求,所述多个第二客户端采用不同版本的通信软件登录第二用户的同一通信账户;
当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,消息服务器向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求;
第一客户端根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。
2.根据权利要求1所述的方法,其特征在于,当消息服务器接收到任一个第二客户端最先反馈的接收文件传输请求时,所述方法还包括:
接收文件传输的第二客户端检验其所处的网络环境是否符合点对点传输的要求;
当接收文件传输的第二客户所处网络环境检验不符合点对点传输要求时,接收文件传输的第二客户通过消息服务器向第一客户端转发无法进行点对点传输的信息提示;
第一客户端接到消息服务器转发的接收文件传输请求和无法进行点对点传输的信息提示时,向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息;
接收文件传输的第二客户端根据接收到的文件服务器信息,从相应的文件服务器中下载待传输文件。
3.根据权利要求2所述的方法,其特征在于,当接收文件传输的第二客户端所处网络环境检验符合点对点传输要求时,所述方法还包括:
接收文件传输的第二客户端通过消息服务器向第一客户端发送可点对点文件传输的信息提示;
第一客户端检验其所处的网络环境是否符合点对点传输的要求;
当其所处的网络环境检验不符合点对点传输要求时,第一客户端向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息,供第二客户端从文件服务器中下载待传输文件。
4.根据权利要求1所述的方法,其特征在于,所述消息服务器向其他第二客户端发送待传输文件已被其他终端处理的信息提示,包括:
消息服务器向其他在线第二客户端发送待传输文件已被其他终端处理的在线信息提示,并向其他离线第二客户端发送待传输文件已被其他终端处理的离线消息提示。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一客户端和所述第二客户端均与所述消息服务器进行基于WebSocket协议的通信连接。
6.一种多终端点对点文接传输中文件接收互斥实现系统,其特征在于,包括:采用不同版本的通信软件登录第一用户的同一通信账户的多个第一客户端、采用不同版本的通信软件登录第二用户的同一通信账户的多个第二客户端、以及分别与所述第一客户端和所述第二客户端通信连接的消息服务器,
所述第一客户端,用于根据第一用户的操作,向消息服务器发送待传输文件的文件传输请求,所述待传输文件用于传输至第二用户;
所述消息服务器,用于据接收到的文件传输请求,向第二用户对应的多个第二客户端发送文件传输请求;
所述消息服务器,还用于当接收到任一个第二客户端最先反馈的接收文件传输请求时,向其他第二客户端发送待传输文件已被处理的信息提示,并向第一客户端转发接收文件传输请求;
所述第一客户端,还用于根据接收到的接收文件传输请求,与相应的第二客户端通过点对点通信方式传输待传输文件。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:分别与所述第一客户端和所述第二客户端通信连接的文件服务器,
所述第二客户端,用于当其向消息服务器最先向发送接收文件传输请求时,检验其所处的网络环境是否符合点对点传输的要求;
所述第二客户端,还用于当其所处网络环境检验不符合点对点传输要求时,通过消息服务器向第一客户端转发无法进行点对点传输的信息提示;
所述第一客户端,还用于当接到消息服务器转发的接收文件传输请求和无法进行点对点传输的信息提示时,向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息;
所述第二客户端,用于当其接收到消息服务器转发的文件服务器信息时,从相应的文件服务器中下载待传输文件。
8.根据权利要求7所述的系统,其特征在于,所述第二客户端,还用于当其所处网络环境检验符合点对点传输要求时,通过消息服务器向第一客户端发送可点对点文件传输的信息提示;
所述第一客户端,还用于当其接到第二客户端可实现点对点文件传输的信息提示时,检验其所处的网络环境是否符合点对点传输的要求;
所述第一客户端,还用于当其所处的网络环境检验不符合点对点传输要求时,向文件服务器上传待传输文件,并通过消息服务器向接收文件传输的第二客户端发送文件服务器信息,供第二客户端从文件服务器中下载待传输文件。
9.根据权利要求6所述的系统,其特征在于,所述消息服务器,还用于向其他在线第二客户端发送待传输文件已被其他终端处理的在线信息提示,并向其他离线第二客户端发送待传输文件已被其他终端处理的离线消息提示。
10.根据权利要求6-9任一项所述的系统,其特征在于,所述第一客户端和所述第二客户端均与所述消息服务器进行基于WebSocket协议的通信连接。
CN201710619134.5A 2017-07-26 2017-07-26 多终端点对点文件传输中文件接收互斥实现方法和系统 Active CN109309611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710619134.5A CN109309611B (zh) 2017-07-26 2017-07-26 多终端点对点文件传输中文件接收互斥实现方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710619134.5A CN109309611B (zh) 2017-07-26 2017-07-26 多终端点对点文件传输中文件接收互斥实现方法和系统

Publications (2)

Publication Number Publication Date
CN109309611A true CN109309611A (zh) 2019-02-05
CN109309611B CN109309611B (zh) 2021-09-28

Family

ID=65202655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710619134.5A Active CN109309611B (zh) 2017-07-26 2017-07-26 多终端点对点文件传输中文件接收互斥实现方法和系统

Country Status (1)

Country Link
CN (1) CN109309611B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923211A (zh) * 2021-11-18 2022-01-11 许昌许继软件技术有限公司 用于电网控制的基于消息机制的文件传输系统和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101014022A (zh) * 2007-02-13 2007-08-08 北京亿企通信息技术有限公司 一种在即时通信工具中传输文件的方法、装置和系统
CN101631127A (zh) * 2009-08-06 2010-01-20 中兴通讯股份有限公司 文件传输方法及客户端
CN102638416A (zh) * 2012-03-27 2012-08-15 上海量明科技发展有限公司 多客户端登录时查看im消息的方法、客户端及系统
US20130275885A1 (en) * 2004-09-03 2013-10-17 Open Text S.A. Systems and methods for collaboration
CN104836719A (zh) * 2014-02-11 2015-08-12 阿里巴巴集团控股有限公司 一种即时通讯未读消息的同步方法和系统
CN106101174A (zh) * 2016-05-25 2016-11-09 广州酷狗计算机科技有限公司 一种传输数据的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130275885A1 (en) * 2004-09-03 2013-10-17 Open Text S.A. Systems and methods for collaboration
CN101014022A (zh) * 2007-02-13 2007-08-08 北京亿企通信息技术有限公司 一种在即时通信工具中传输文件的方法、装置和系统
CN101631127A (zh) * 2009-08-06 2010-01-20 中兴通讯股份有限公司 文件传输方法及客户端
CN102638416A (zh) * 2012-03-27 2012-08-15 上海量明科技发展有限公司 多客户端登录时查看im消息的方法、客户端及系统
CN104836719A (zh) * 2014-02-11 2015-08-12 阿里巴巴集团控股有限公司 一种即时通讯未读消息的同步方法和系统
CN106101174A (zh) * 2016-05-25 2016-11-09 广州酷狗计算机科技有限公司 一种传输数据的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923211A (zh) * 2021-11-18 2022-01-11 许昌许继软件技术有限公司 用于电网控制的基于消息机制的文件传输系统和方法

Also Published As

Publication number Publication date
CN109309611B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
US8799400B2 (en) System and method for managing multiple queues of non-persistent messages in a networked environment
CN103731451B (zh) 一种文件上传的方法及系统
CN108512885A (zh) 对被识别为消息队列遥测传输包的网络包执行特定动作
CN100521662C (zh) 一种利用浏览器实现即时通信的方法及系统
US20140372516A1 (en) System and method for providing a scalable translation between polling-based clients and connection-based message queues
CN110012083B (zh) 一种数据传输方法、服务器及数据传输装置
KR20040071203A (ko) 프록시를 이용하여 데이터를 다운로딩하기 위한 시스템 및방법
CN103348657B (zh) 流媒体播放方法、设备及系统
CN110365779B (zh) 一种通信控制的方法、装置、电子设备和存储介质
CN110351379B (zh) 一种通信控制的方法、装置、电子设备和存储介质
US20170019484A1 (en) System and method for aggregating communication connections
CN101707600A (zh) 基于web2.0实现多协议即时通信的系统及方法
CN106357814B (zh) 一种文件处理方法、代理服务端及客户端
CN104025543B (zh) 使用http的文件传输系统、消息服务器、终端和方法
CN109450907A (zh) 基于websocket的通信系统搭建方法及装置
CN102025782A (zh) 一种点对点通信方法、装置及系统
CN110442506A (zh) 一种日志获取方法、装置、业务服务器、系统及存储介质
CN109309611A (zh) 多终端点对点文接传输中文件接收互斥实现方法和系统
CN105721274B (zh) 一种多种即时通讯的融合方法及装置
WO2009011968A1 (en) Endpoint discriminator in network transport protocol startup packets
CN103973721B (zh) 多媒体会议参加方法、控制方法、传输方法、装置及系统
CN103841139A (zh) 传输数据的方法、装置和系统
US8145698B1 (en) Self organizing peer-to-peer system, method, and/or apparatus
CN105847396A (zh) 数据传输的方法及设备
CN105188087A (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
GR01 Patent grant
GR01 Patent grant