专利名称:一种基于点对点的数据传输方法及系统的利记博彩app
技术领域:
本发明涉及点对点(P2P)技术领域,更具体地说,本发明涉及一种基于P2P的数据传输方法及系统。
背景技术:
P2P起源于最初的联网通信方式,如在建筑物内个人计算机(PC)通过局域网互联,不同建筑物间通过调制解调器(Modem)远程拨号互联。建立在传输控制协议(TCP)/网际协议(IP)协议之上的通信模式构成了今日互联网的基础,所以从基础技术角度看,P2P不是新技术,而是新的应用技术模式。虽然对P2P的研究从未停止,今天P2P再一次被关注主要是由于Napster等共享类软件以及即时通讯类软件的出现。
现在互联网主要以服务器(Server)/浏览器(Browser)或服务器(Server)/客户端(Client)结构的应用模式为主,这样的应用必须在网络内设置至少一个服务器,信息通过服务器才可以传递。在这种模式下,信息或是先集中上传到服务器保存,然后再分别下载(如网站),或是信息按服务器上专有规则处理后才可在网络上传递流动(如邮件)。
目前基于P2P技术的应用有很多种,即时通信技术便是其中一种典型代表性技术。在即时通信应用中,两个或多个用户相互使用文字、语音或文件进行交流,这种交流方式很快速和直接,并且易于同非PC网络设备(如PDA、手机等)通信,而且它不依赖设备即可辨别用户。由于利用P2P技术可以弱化甚至摆脱对中央服务器的依赖,这样的通信更接近非互联网通信模式。在目前的即时通信应用中,视频通讯是一项非常广泛的应用,随着视频通讯的普及,用户对视频通讯的各种需求越来越多,其中,多人视频就是一个非常迫切的需求。但是,人们已经不满足单纯进行多人视频,人们更希望在视频的同时能加入更多的元素,比如以文本聊天方式辅助视频聊天,聊天时给对方发送自定义图像,以及文件共享等等。
在即时通信应用中,多人数据共享的实现可以解释为实现多人文本聊天功能和多人文件共享等附加数据传输功能。现有的多人文本聊天和多人文件共享都是基于服务器/客户端模式的,就是发送者的文本信息或者文件会首先被传输到服务器,再由服务器把文本信息或文件分发给其他人。在这种技术中,需要使用额外的服务器来转发相应的数据,从而不但增加了成本的投入,还破坏了原有的P2P音视频系统结构。
除了即时通信技术之外,基于P2P的技术还有Farsite(Microsoft)、Ocean Store等数据存储软件;Napster等实现数据共享类软件;Infrasearch、Pointera等数据搜索及查询类软件;Netbatch(Intel)等协同计算软件;Groove等数据或行动协同软件以及大量基于P2P的游戏软件,事实上许多网络游戏也是P2P方式的,尤其是那些双人及多人对弈游戏。在上述这些基于P2P的应用中通常也会涉及到不同类型的数据传输的问题,如果使用额外的服务器来转发相应的数据显然也会增加成本的投入,而如何节约成本是任何一种P2P传输方式都应重点关注的。
发明内容
有鉴于此,本发明的主要目的是提出一种基于P2P的数据传输方法,以降低成本。
本发明的另一目的是提出一种基于P2P的数据传输系统,以降低成本。
为达到上述目的,本发明的技术方案是这样实现的一种基于P2P的数据传输方法,预先在发送方和接收方之间建立P2P连接,该方法还包括A、发送方根据传输数据的类型对所述传输数据进行标识,并基于所述P2P连接向接收方发送所述经过标识的传输数据,其中传输数据的类型至少为一种;
B、接收方解析传输数据以获取传输数据的标识,并依据标识所对应的类型对传输数据进行处理。
所述发送方的数目至少为两个,所述接收方的数目至少为两个,所述步骤A包括每个发送方根据传输数据的类型对其所发送的传输数据分别进行标识,其中各发送方对相同类型的传输数据采用相同的标识,并且每个发送方基于P2P连接向接收方发送所述经过标识的传输数据;所述步骤B为每个接收方解析其所接收到的传输数据以获取传输数据的标识,并对标识相同的传输数据依据与标识相对应的类型统一进行处理。
所述传输数据为音频数据、视频数据、电子文件、即时通讯信息中的任一种或其中多于一种的任意组合。
所述传输数据的类型至少为两种,该方法进一步包括在发送传输数据之前,发送方预先将各种类型的传输数据等间隔混合;步骤A所述基于P2P连接向接收方发送经过标识的传输数据为基于P2P连接向接收方发送所述被等间隔混合的传输数据。
在所述经过等间隔混合的传输数据中,每N个音/视频数据间隔M个附加数据,其中N为大于或等于1的正整数,M为大于或等于1的正整数。
并且每三个音/视频数据间隔一个附加数据。
所述附加数据为电子文件或即时通讯信息。
一种基于P2P的数据传输系统,该系统包括发送方,用于根据传输数据的类型对所述传输数据进行标识,并基于P2P连接向接收方发送所述经过标识的传输数据,其中传输数据的类型至少为一种;接收方,用于解析传输数据以得到传输数据的标识,并依据标识所对应的类型对传输数据进行处理;所述发送方和接收方之间的连接为P2P连接。
所述发送方的数目至少为两个,所述接收方的数目至少为两个,每个发送方,用于根据传输数据的类型对其所发送的传输数据分别进行标识,其中各发送方对相同类型的传输数据采用相同的标识,每个发送方进一步用于基于所述p2P连接向接收方发送所述经过标识的传输数据;每个接收方,用于解析其所接收到的传输数据以获取传输数据的标识,并对标识相同的传输数据依据与标识相对应的类型统一进行处理。
所述传输数据的类型至少为两种,所述发送方进一步用于,在发送传输数据之前将各种类型的传输数据等间隔混合。
所述经过等间隔混合的传输数据包括音/视频数据和附加数据,并且每三个音/视频数据间隔一个附加数据。
从上述技术方案中可以看出,在本发明的基于P2P的数据传输方法中,发送方根据传输数据的类型对传输数据进行标识,并基于P2P连接向接收方发送经过标识的传输数据,接收方解析传输数据以获取传输数据的标识,并依据标识所对应的类型对传输数据进行处理。由此可见,应用本发明以后,能够节约成本地发送不同类型的传输数据。另外,本发明还可以在P2P多人音视频通讯的基础上,对已有的音视频通道重复利用,实现了无需服务器分发的多人文本聊天、多人文件共享等多人数据共享,并且可以保证音视频通讯的流畅性。
图1为本发明的基于P2P传输数据的示范性方法流程图。
图2为根据本发明发送方发送数据的示范性流程示意图。
图3为根据本发明接收方接收数据的示范性流程示意图。
图4为根据本发明示范性实施例的多人音视频和文本聊天的示意图。
图5为根据本发明一实施例的发送队列示意图。
图6为本发明的基于P2P传输数据的系统的示范性结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的主要思想是在P2P通信模式中,在发送方对不同类型的数据进行标识,接收方根据标识对不同的数据进行相应的处理,以实现利用同一数据通道来传送不同种类的数据,无需采用额外的服务器,从而极大地节约成本。
图1为本发明的基于P2P传输数据的示范性方法流程图。该方法预先在发送方和接收方之间建立P2P连接,如图1所示,该方法还包括步骤101发送方根据传输数据的类型对所述传输数据进行标识,并基于所述P2P连接向接收方发送所述经过标识的传输数据,其中传输数据的类型至少为一种。
对于仅用于传送数据的数据通道而言,其实并不关心传输的是什么内容。因此,可以对不同类型的数据分别进行标识,然后再将标识后的数据统一通过P2P连接的数据通道进行传送。
步骤102接收方解析传输数据以获取传输数据的标识,并依据标识所对应的类型对传输数据进行处理。
接收方获取传输数据后,首先对传输数据进行解析以获取标识,然后依据标识所对应的类型对传输数据进行处理。
在这里,由于接收方接收的传输数据有多种,因此需要区别进行处理。可以首先对传输数据进行解析以获取标识,然后依据标识所对应的类型对传输数据进行处理。
比如,下面以即时通讯应用中的音视频聊天为例对本发明进行说明。
首先,当多人在进行P2P通讯时,将会在每两个人之间建立起一条数据通道,以用于传输数据的传输。比如,当N个人进行多人视频时,那么每个人都会和其他N-1个人建立起数据通道,然后通过这些通道把自己的音视频数据传输给其他N-1个人,同时接收来自其他N-1个人的音视频数据,从而进行音视频通讯。
然而,对于音视频数据通道而言,虽然是专门用来传输音视频数据的,但其实音视频数据通道并不关心传输的是什么数据,利用这一点,可以充分地利用这些音视频通道,让其传输一些附加的数据,从而实现额外的通讯功能。根据本发明,可以对数据进行标识,从而便于解析并处理不同类型的数据。由于底层通道对于任何数据的传输都一视同仁,所以在传输之前需要对数据进行标识,然后接收方根据统一标识的数据解析出不同的数据,从而进行不同的处理。同时,由于利用的是音视频通道,所以要考虑对音视频通讯的影响,而不应该像一般的通道一样直接进行数据的发送和接收。为了保证音视频通讯的流畅,需要有源源不断的数据流在音视频通道上进行传输。那么在使用此通道传输附加数据时就要把对音视频数据传输的影响降到最低,使之不会对音视频通讯的流畅度产生过大影响。
下面分别对应用本发明的发送方和接收方的传输方式进行说明。
图2为根据本发明发送方发送数据的示范性流程示意图。如图2所示,该方法包括步骤201对不同类型的数据分别加入相应的标识,然后将数据统一加入数据发送队列;发送方在传输之前需要对数据进行标识,从而接收方能根据统一标识的数据解析出不同的数据,以进行不同的处理。在这里,发送方对数据的标识跟功能需求有关,因为接收方对不同的功能数据将做不同的处理。比如,视频数据需要解码并显示、文本聊天数据需要在聊天框显示、图片数据需要以相应的图片格式解析并显示等。因此在发送方,将对应于第一功能的数据加入第一功能数据标识,将对应于第二功能的数据加入第二功能数据标识,将对应于第三功能的数据加入第三功能数据标识等。发送方对不同功能(也就是不同种类)的数据加入了不同的标识后,将这些数据统一加入数据发送队列。在这里,传输数据可以为音频数据、视频数据、电子文件、即时通讯信息中的任一种或其中多于一种的任意组合。
步骤201从发送队列中获取数据,并且向不同的用户发送。
由于P2P的传送方式优选对应于多个用户,也就是说优选对应于多个发送方和接收方,在这里优选向不同的接收方发送数据。同理,其它的发送方具有相同或者相似的发送流程。
当发送方的数目至少为两个,每个发送方根据传输数据的类型对其所发送的传输数据分别进行标识,其中各发送方对相同类型的传输数据采用相同的标识,并且每个发送方基于P2P连接向接收方发送所述经过标识的传输数据。
这样就实现了多种功能的数据向多个用户分发的方式。而对于接收方,也同样要建立起多路数据的接收和多种功能数据的解析处理等机制。对应于图2所示的流程,图3为根据本发明接收方接收数据的示范性流程示意图。如图3所示,包括步骤301接收来自不同用户的数据,并将所有数据加入数据处理队列;由于P2P的传送方式优选对应于多个用户,也就是说优选对应于多个发送方和接收方,在这里优选从不同的接收方接收数据,并将所有数据加入数据处理队列。
步骤302从数据处理队列中获取并解析数据,对应于不同标识的数据进行相应的处理。
在这里,首先从数据处理队列中获取数据,然后对数据进行解析以得到相应的标识,并且对标识所对应的数据进行分别的处理。比如对视频数据进行解码并显示、对文本聊天数据需要在聊天框进行显示、对图片数据以相应的图片格式解析并显示等。也就是说,对不同的功能的数据做不同的处理。
其中,当接收方的数目至少为两个时,每个接收方解析其所接收到的传输数据以获取传输数据的标识,并对标识相同的传输数据依据与标识相对应的类型统一进行处理。
显然,根据上述方法,通过对P2P多人音视频通道的重复利用,可以完成多用户多功能的系统,比如在多人音视频聊天的同时进行多人文本聊天。图4为根据本发明示范性实施例的多人音视频和文本聊天的示意图。由图4可见,多个用户在进行多人音视频聊天的同时,还能够进行文本聊天,从而极大地促进了聊天的亲密感受,并且不需要对现有服务器架构进行改进,而且还极大地节约了成本。
另外,当应用本发明到即时通讯应用中的多人聊天时,由于利用的是音视频通道来传送附加数据,所以需要考虑附加数据对音视频通讯的影响,优选不直接进行数据的发送和接收。为了保证音视频通讯的流畅,需要有源源不断的数据流在音视频通道上进行传输,因此在使用此通道传输附加数据时就要把对音视频数据传输的影响降到最低,使之不会对音视频通讯的流畅度产生任何不好影响。本发明优选对附加数据的传输频率进行控制,避免对音视频流畅度造成影响。
当附加传输数据过大的时候,不但要通过加入标识对数据进行分片传输,还要控制其传输的频率,否则就有可能由于附加数据的大量传输而导致音视频数据的阻塞,从而影响音视频通讯的流畅性。
因此,本发明优选在发送传输数据之前,发送方预先将各种类型的传输数据等间隔混合。由于数据发送队列的存在,所以只要附加数据加入数据发送队列的间隔是一定的,则发送的时候按队列顺序取数据发送的间隔也是一定的,这样就可以忽略网络原因造成的网络传输波动。所以,对于音视频数据而言,加入数据发送队列的时候是连续加入的,而附加数据在加入数据发送队列的时候是等间隔插入的,这样传输数据就是等间隔混合的。因此只要定期的从发送队列顺序获取数据进行发送,就可以保证数据发送的时间间隔是一定的。
在这里,在所述经过等间隔混合的传输数据中,可以每N个音/视频数据间隔M个附加数据,其中N为大于或等于1的正整数,M也为大于或等于1的正整数。本发明对N和M的取值并无限定,N的值既可以大于M,也可以小于M,还可以等于M。比如,当N等于3的时候,可以每3个音/视频数据间隔1个附加数据,也可以每3个音/视频数据间隔2个附加数据,还可以每3个音/视频数据间隔3个附加数据,一般选择每三个音视频数据插入一个附加数据。
显然,以上虽然以N等于3为例进行说明,但是本发明对N的取值并无任何限定。
图5为根据本发明一实施例的发送队列示意图。图5中圆状数据为音视频数据,块状数据为附加数据,由图5可见,每隔3个音视频数据等间隔插入1个附加数据,其中附加数据可以为电子文件、即时通讯信息(文本聊天信息)等。
图6为本发明的基于P2P传输数据系统的示范性结构示意图。如图6所示,该系统包括若干终端,其中每一终端既可为发送方,又可为接收方。该系统包括发送方,用于根据传输数据的类型对所述传输数据进行标识,并基于P2P连接向接收方发送所述经过标识的传输数据,其中传输数据的类型至少为一种;接收方,用于解析传输数据以得到传输数据的标识,并依据标识所对应的类型对传输数据进行处理;所述发送方和接收方之间的连接为P2P连接。
优选地,所述发送方的数目至少为两个,所述接收方的数目至少为两个,每个发送方,用于根据传输数据的类型对其所发送的传输数据分别进行标识,其中各发送方对相同类型的传输数据采用相同的标识,每个发送方进一步用于基于所述P2P连接向接收方发送所述经过标识的传输数据;每个接收方,用于解析其所接收到的传输数据以获取传输数据的标识,并对标识相同的传输数据依据与标识相对应的类型统一进行处理。
更加优选地,所述传输数据的类型至少为两种,所述发送方进一步用于,在发送传输数据之前将各种类型的传输数据等间隔混合。其中经过等间隔混合的传输数据包括音/视频数据和附加数据,并且每三个音/视频数据间隔一个附加数据。
由此可见,应用本发明以后,可以在P2P多人音视频通讯的基础上,对已有的音视频通道可以重复利用,从而实现了无需服务器分发的多人文本聊天、多人文件共享等多人数据共享。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于点对点P2P的数据传输方法,预先在发送方和接收方之间建立P2P连接,其特征在于,该方法还包括A、发送方根据传输数据的类型对所述传输数据进行标识,并基于所述P2P连接向接收方发送所述经过标识的传输数据,其中传输数据的类型至少为一种;B、接收方解析传输数据以获取传输数据的标识,并依据标识所对应的类型对传输数据进行处理。
2.根据权利要求1所述的数据传输方法,其特征在于,所述发送方的数目至少为两个,所述接收方的数目至少为两个,所述步骤A包括每个发送方根据传输数据的类型对其所发送的传输数据分别进行标识,其中各发送方对相同类型的传输数据采用相同的标识,并且每个发送方基于P2P连接向接收方发送所述经过标识的传输数据;所述步骤B为每个接收方解析其所接收到的传输数据以获取传输数据的标识,并对标识相同的传输数据依据与标识相对应的类型统一进行处理。
3.根据权利要求1或2所述的数据传输方法,其特征在于,所述传输数据为音频数据、视频数据、电子文件、即时通讯信息中的任一种或其中多于一种的任意组合。
4.根据权利要求1或2所述的数据传输方法,其特征在于,所述传输数据的类型至少为两种,该方法进一步包括在发送传输数据之前,发送方预先将各种类型的传输数据等间隔混合;步骤A所述基于P2P连接向接收方发送经过标识的传输数据为基于P2P连接向接收方发送所述被等间隔混合的传输数据。
5.根据权利要求4所述的数据传输方法,其特征在于,所述经过等间隔混合的传输数据包括音/视频数据和附加数据。
6.根据权利要求5所述的数据传输方法,其特征在于,在所述经过等间隔混合的传输数据中,每N个音/视频数据间隔M个附加数据,其中N为大于或等于1的正整数,M为大于或等于1的正整数。
7.根据权利要求5或6所述的数据传输方法,其特征在于,所述附加数据为电子文件或即时通讯信息。
8.一种基于P2P的数据传输系统,其特征在于,该系统包括发送方,用于根据传输数据的类型对所述传输数据进行标识,并基于P2P连接向接收方发送所述经过标识的传输数据,其中传输数据的类型至少为一种;接收方,用于解析传输数据以得到传输数据的标识,并依据标识所对应的类型对传输数据进行处理;所述发送方和接收方之间的连接为P2P连接。
9.根据权利要求8所述的基于P2P的数据传输系统,其特征在于,所述发送方的数目至少为两个,所述接收方的数目至少为两个,每个发送方,用于根据传输数据的类型对其所发送的传输数据分别进行标识,其中各发送方对相同类型的传输数据采用相同的标识,每个发送方进一步用于基于所述P2P连接向接收方发送所述经过标识的传输数据;每个接收方,用于解析其所接收到的传输数据以获取传输数据的标识,并对标识相同的传输数据依据与标识相对应的类型统一进行处理。
10.根据权利要求8所述的基于P2P的数据传输系统,其特征在于,所述传输数据的类型至少为两种,所述发送方进一步用于,在发送传输数据之前将各种类型的传输数据等间隔混合。
全文摘要
本发明公开了一种基于点对点(P2P)的数据传输方法,预先在发送方和接收方之间建立P2P连接,该方法还包括A.发送方根据传输数据的类型对所述传输数据进行标识,并基于所述P2P连接向接收方发送经过标识的传输数据,其中传输数据的类型至少为一种;B.接收方解析传输数据以获取传输数据的标识,并依据标识所对应的类型对传输数据进行处理。本发明还公开了一种基于P2P的数据传输系统。应用本发明以后,能够显著地节约成本,并且可以保证音视频通讯的流畅性。
文档编号H04L29/06GK101083576SQ20061008069
公开日2007年12月5日 申请日期2006年5月29日 优先权日2006年5月29日
发明者龚毅, 朱冶, 吴波, 李建成, 张宝和 申请人:腾讯科技(深圳)有限公司