CN102098339A - 一种音频文件传输方法及其系统 - Google Patents
一种音频文件传输方法及其系统 Download PDFInfo
- Publication number
- CN102098339A CN102098339A CN2011100279158A CN201110027915A CN102098339A CN 102098339 A CN102098339 A CN 102098339A CN 2011100279158 A CN2011100279158 A CN 2011100279158A CN 201110027915 A CN201110027915 A CN 201110027915A CN 102098339 A CN102098339 A CN 102098339A
- Authority
- CN
- China
- Prior art keywords
- user
- uploading
- user profile
- file
- tabulation
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种音频文件传输方法及其系统,方法包括以下步骤:提取音频文件的音频主体部分,对所述音频主体部分生成数字标识;保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;根据用户选定的文件信息,查找对应的数字标识,从数字标识对应的上传用户信息列表中选取若干个上传用户信息;分别与若干个上传用户建立文件传输连接;提取各个上传用户的音乐文件的音频主体部分,并将音频主体部分分割成多个文件片段;分别从各个上传用户下载音频主体部分的文件片段,并将文件片段组合成所述音频主体部分。本发明的音频文件传输方法及其系统能够增大音频文件下载的信息源范围,减少找不到信息源的情况。
Description
技术领域
本发明涉及文件传输技术,尤其涉及一种音频文件传输方法,以及一种音频文件传输系统。
背景技术
P2P是英文Peer-to-Peer(对等)的简称,又被称为“端对端”或者“点对点”技术,是一种新的网络文件传输技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。
与传统的具有客户端/服务器(Client/Server)结构的文件传输方法相比,应用P2P技术的整个网络结构中不存在中心节点(或中心服务器)。P2P技术是通过在用户之间的直接进行数据交换,实现计算机资源和服务的共享,中间不必经过中继设备而直接交换数据或者服务,网络用户可以直接使用对方用户的资源,而不需要连接到服务器上。
在P2P网络结构中,每一个节点(peer)大都同时具有共享、下载和信息通讯等三方面的功能。在P2P网络中每一个节点所拥有的权利和义务都是对等的。这种网络边缘的创新揭示出了互联网的核心功能,它将昂贵的中央服务器网络架构改变为更加柔性的分布式架构,从根本上提高了网络的功效。
然而,目前使用P2P技术传输音频文件的过程中,各个用户之间传输的音乐文件都附带有标识文件属性的标签信息,所述标签信息通常设置在音频文件的开头(或结尾),并非所述音频文件的音频主体部分,例如文件大小信息,文件格式信息,所属专辑信息等。传输的音频文件包括所述标签信息,因此,若一个用户要从多个用户处下载相同的音频文件,所述多个用户的音频文件必须具有相同的标签信息,因此音频文件的信息源范围较少,甚至会找不到信息源,使文件下载失败。
发明内容
本发明要解决的技术问题在于提供一种能够增大音频文件下载的信息源范围的音频文件传输方法。
一种音频文件传输方法,包括以下步骤:提取音频文件的音频主体部分,对所述音频主体部分生成数字标识;保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;在接收到用户的搜索关键字时,根据所述搜索关键字查找各个所述文件信息列表,获得多个文件信息;根据用户选定的所述文件信息,查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息;根据所述上传用户信息分别与若干个所述上传用户建立文件传输连接;提取各个所述上传用户的音乐文件的音频主体部分,并将所述音频主体部分分割成多个文件片段;分别从各个所述上传用户下载所述音频主体部分的文件片段,并将所述文件片段组合成所述音频主体部分。
本发明要解决的技术问题还在于提供一种能够增大音频文件下载的信息源范围的音频文件传输系统。
所述音频文件传输系统,包括:用户端和服务器。
所述用户端包括数字标识生成模块、搜索模块、连接模块、上传模块和下载模块。所述数字标识生成模块用于提取音频文件的音频主体部分,对所述音频主体部分生成数字标识,并将所述音频文件的文件信息、上传用户信息,以及所述数字标识发送至所述服务器;所述搜索模块用于接收用户的搜索指令,将搜索关键字发送至所述服务器;并接收所述服务器发送的多个文件信息,根据用户指令,从多个所述文件信息中选取其中一个所述文件信息;所述连接模块用于根据所述服务器发送的上传用户信息分别与若干个所述上传用户建立文件传输连接;所述上传模块用于在接收到文件上传请求时,提取各个所述上传用户的音乐文件,并将所述音频主体部分分割成多个文件片段后上传;所述下载模块用于分别从各个所述上传用户下载所述音频主体部分的文件片段,并将所述文件片段组合成所述音频主体部分。
所述服务器包括:信息管理模块、查找模块和传输管理模块。所述信息管理模块用于保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;所述查找模块用于在接收到所述用户端发送的搜索关键字时,根据所述搜索关键字查找各个所述文件信息列表,将具有所述关键字的多个文件信息发送至所述用户端;所述传输管理模块用于根据用户选定的所述文件信息,查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息发送至所述用户端。
与现有技术相比较,本发明的音频文件传输方法及其系统中,通过过滤每个音频文件的标签信息,获取音频主体部分并生成所述数字标识,根据所述数字标识确定各个音频文件的音频主体部分是否相同,相同的即可作为音频文件下载的数据源,无需考虑到与所述音频主体部分无关的标签信息,因此,能够提供更多的上传用户信息,增大音频文件下载的信息源范围,减少找不到信息源的情况。并且,因为在音频文件传输时将文件分割成多个片段,将多个具有相同数字标识的音频文件的拥有者作为现在的信息源,进一步提高文件传输的效率和成功率。
附图说明
图1是本发明音频文件传输方法的步骤流程图;
图2是本发明音频文件传输系统的结构示意图;
图3是本发明音频文件传输系统的用户端和服务器具体的结构示意图;
图4是本发明音频文件传输系统的工作原理图;
图5是本发明音频文件传输系统一种优选实施方式的结构示意图。
具体实施方式
请参阅图1,图1是本发明音频文件传输方法的步骤流程图。
本发明的所述音频文件传输方法包括以下步骤:
步骤S101,提取音频文件的音频主体部分,对所述音频主体部分生成数字标识;
其中,所述音频文件包括音频主体部分和标签信息,所述标签信息为所述音频文件除所述音频主体部分之外的其余信息,例如是音乐开始前的静音部分,或者其他与音频主体部分不相关的信息。通常设置在所述音频文件的开头或结尾。通过对所述标签信息的定位,就可以确定所述音频主体部分在所述音频文件中的位置,从而可以根据所述音频主体部分生成所述数字标识。在本实施方式中,对所述音频文件的音频主体部分执行安全哈希算法(Secure Hash Algorithm),以获取一个消息摘要作为所述数字标识,所述消息摘要可以用来验证所述音频文件的音频主体部分的数据完整性。
作为一种优选实施方式,为兼容采用哈希服务器的文件传输方式,在本步骤中,进一步根据所述音频文件的所述音频主体部分和所述标签信息共同生成一个哈希值。因为具有相同音频主体部分的音频文件未必具有相同的标签信息,所以,每个所述数字标识都对应多个所述哈希值。
步骤S102,保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;
将所述数字标识,以及具有同一数字标识的音频文件的文件信息整理成列表保存;并将具有同一数字标识的音频文件的上传用户信息也整理成列表保存,以供用户搜索和下载时调用。
所述音频文件的文件信息至少包括所述音频文件的文件名,还可以进一步包括格式、大小、歌手、专辑、拥有者数量等信息。所述上传用户信息主要是指所述音频文件的上传用户的网络地址信息,例如IP地址和端口信息。
对于采用哈希服务器的文件传输方式,在本步骤中可以保存具有相同数字标识的音频文件的哈希值列表和上传用户信息列表,并保存每一所述哈希值对应的音频文件的文件信息列表。
在本步骤中,可以对保存的文件信息和上传用户信息设定更新淘汰机制。由于歌曲的上传用户在线状态经常发生变化,为了保持信息库的信息实时有效,因此自动更新,淘汰掉无效的信息。并且每个所述数字标识对应的上传用户信息都设定一个上限,当上传用户信息超过这个上限时,或信息库空间满时,根据所述更新淘汰机制,淘汰掉不在线的拥有者信息。
步骤S103,在接收到用户的搜索关键字时,根据所述搜索关键字查找各个所述文件信息列表,获得多个文件信息;
所述搜索关键字可以是所述音频文件的文件信息中的任何一项,例如当用户搜索文件名时,根据用户输入的关键字查找各个所述文件信息列表,获取包含所述关键字的文件名信息的列表,并提供给搜索的用户;用户可以从多个文件名信息中指定其中一个进行下载。
对于采用哈希服务器的文件传输方式,在本步骤中,可以根据所述搜索关键字查找各个所述文件信息列表,获得具有所述关键字的多个音频文件的文件信息以及对应的哈希值,然后将所述多个文件信息以及对应的哈希值都提供给搜索的用户,用户可以从多个文件名信息中指定其中一个进行下载。
步骤S104,根据用户选定的所述文件信息,查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息;
根据所述文件信息查找对应的数字标识,获取相同数字标识对应的音频文件的上传用户信息列表,因为所述上传用户信息的数量可能比较大,所以只从中选取若干个上传用户信息提供给下载用户。
对于采用哈希服务器的文件传输方式,在本步骤中,可以根据用户选定的所述文件信息,获得其对应的哈希值,根据所述哈希值,查找所述哈希值对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息并发送至所述用户端。
如此,可将具有不同哈希值,但具有相同数字标识的音频文件的上传用户信息作为文件下载的信息源,增大了信息源范围,减少匹配不到信息源的情况。
在本步骤中,优选地,可以对选取的上传用户信息进行筛选过滤。具体地,可以获取下载用户的IP信息和ISP类型,优先选取与所述下载用户的ISP类型相同的,IP在同一区域(例如同一省份或者同一局域网)的上传用户信息。这样,可以减少跨网际的数据交换,如减少电信和网通用户之间的传输障碍,大大提高用户间的文件交换效率,为国家节省能源,并且,当发现用户是同一个局域网内时,可以实现局域网传输。
作为一种优选实施方式,在步骤S102中,保存具有相同哈希值的音频文件的上传用户信息列表时,可以按照各个所述上传用户上线的先后顺序,依次将所述上传用户信息排列在三个队列中;则,在步骤S104中,从所述哈希值对应的其中一个队列中选取若干个上传用户信息提供给下载用户。并且,可以设定以所述队列上一次选取所述上传用户信息的位置为起点,按顺序选取所述上传用户信息,还可以将每次被选取的上传用户信息依次排到这一队列的队尾,以便自动替换不同上传用户信息的位置。
例如,将同一个所述哈希值对应的上传用户信息分别排列在三个队列中,第一个队列为最新入库或上线的上传用户信息,上传用户在线的机率最高;第二和第三队列为由所述第一队列依次序转移过来的上传用户信息,每12小时转移一次。当有下载用户发出下载请求时,从其中一个所述队列中选取50个上传用户的IP地址和端口信息分配给所述下载用户。
这样就能够保证分配给下载用户的上传用户在线的机率最高,提高音频文件传输的成功率。
如果所述队列中的上传用户信息超出50个,则把上次分配过的50个上传用户信息排到所述队列的队尾,下次当有其它用户再请求下载时,则以上次分配过的50个上传用户信息原来在队列中的位置为起点,从新选取50个上传用户信息分配给所述下载用户。所述下载用户从所述50个上传用户信息中选取其中5个进行连接。
这样就能够使每个上传用户不会很快重复上传文件,利用更多的上传用户的资源,减轻各个上传用户的负担,提高音频文件传输的成功率。
步骤S105,根据所述上传用户信息分别与若干个所述上传用户建立文件传输连接;
具体地,下载用户根据所述上传用户信息分别向各个所述上传用户发出连接请求,为保证上传用户的正常运作,可以设定所述上传用户的最大上传数量,例如设定所述最大上传数量为3个,则当所述上传用户接收到第4个连接请求时,会返回一个否定信息给请求方。并且,所述上传用户在接受所述下载请求后,还需要判断所述音频文件是否存在,不存在则不能上传,发出对应的通知信息。
步骤S106,提取各个所述上传用户的音乐文件的音频主体部分,并将所述音频主体部分分割成多个文件片段;
过滤所述上传用户的音频文件的标签信息,获得其音频主体部分,然后将所述音频主体部分按照预定方式分割成多个文件片段,根据下载用户的请求分别上传所述多个文件片段,其中,分割所述音频主体部分的所述预定方式可以是固定时间间隔或者固定数据长度等。
步骤S107,分别从各个所述上传用户下载所述音频主体部分的文件片段,并将所述文件片段组合成所述音频主体部分。
分别以若干个所述上传用户端中,具有相同数字标识的所述音频文件的音频主体部分的文件片段为数据源,下载所述多个文件片段然后组合成所述音频主体部分。
在本步骤中,可以进一步将所述音频文件的标签信息与下载的所述音频主体部分合并在一起,并添加对应的文件信息,组成一个完整的音频文件。
与现有技术相比较,本发明的音频文件传输方法中,过滤每个音频文件的标签信息,获取音频主体部分并生成所述数字标识,根据所述数字标识确定各个音频文件的音频主体部分是否相同,相同的即可作为音频文件下载的数据源,无需考虑到与所述音频主体部分无关的标签信息,因此,能够提供更多的上传用户信息,增大音频文件下载的信息源范围,减少找不到信息源的情况。并且,因为在音频文件传输时将文件分割成多个片段,将多个具有相同数字标识的音频文件的拥有者作为现在的信息源,进一步提高文件传输的效率和成功率。
请参阅图2、图3和图4,图2是本发明音频文件传输系统的结构示意图;图3是本发明音频文件传输系统的用户端和服务器具体的结构示意图;图4是本发明音频文件传输系统的工作原理图。
所述音频文件传输系统包括:用户端10和服务器20。
所述用户端10包括:数字标识生成模块11、搜索模块12、连接模块13、上传模块14和下载模块15。
所述数字标识生成模块11用于提取音频文件的音频主体部分,对所述音频主体部分生成数字标识,并将所述音频文件的文件信息、上传用户信息,以及所述数字标识发送至所述服务器20;
所述搜索模块12用于接收用户的搜索指令,向所述服务器20发送搜索请求,将搜索关键字发送至所述服务器20;并接收所述服务器20发送的多个文件信息,根据用户指令,从多个所述文件信息中选取其中一个所述文件信息发送至所述服务器20;
所述连接模块13用于根据所述服务器20发送的上传用户信息分别与若干个所述上传用户建立文件传输连接;
所述上传模块14用于在接收到文件上传请求时,提取各个所述上传用户的音乐文件的音频主体部分,并将所述音频主体部分分割成多个文件片段后上传;
所述下载模块15用于分别从各个所述上传用户下载所述音频主体部分的文件片段,并将所述文件片段组合成所述音频主体部分。
所述服务器20包括:信息管理模块21、查找模块22和传输管理模块23。
所述信息管理模块21用于保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;
所述查找模块22用于在接收到所述用户端10发送的搜索关键字时,根据所述搜索关键字查找各个所述文件信息列表,将具有所述关键字的多个文件信息发送至所述用户端10;
所述传输管理模块23用于根据用户选定的所述文件信息,查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息发送至所述用户端10。
所述音频文件包括音频主体部分和标签信息,所述标签信息为所述音频文件除所述音频主体部分之外的其余信息,例如是音乐开始前的静音部分,或者其他与音频主体部分不相关的信息。通常设置在所述音频文件的开头或结尾。
所述用户端10的所述数字标识生成模块11通过对所述标签信息的定位,就可以确定所述音频主体部分在所述音频文件中的位置,从而可以根据所述音频主体部分生成所述数字标识。在本实施方式中,所述数字标识生成模块11对所述音频文件的音频主体部分执行安全哈希算法(Secure Hash Algorithm),以获取一个消息摘要作为所述数字标识,所述消息摘要可以用来验证所述音频文件的数据完整性。
请一并参阅图5,图5是本发明音频文件传输系统一种优选实施方式的结构示意图。
作为一种优选实施方式,为兼容采用哈希服务器的文件传输方式,所述音频文件传输系统的用户端10进一步包括一个哈希值生成模块16,所述哈希值生成模块16根据所述音频文件的所述音频主体部分和所述标签信息共同生成一个哈希值,并将所述哈希值一起发送至所述服务器20,所述服务器20可以是哈希服务器。因为具有相同音频主体部分的音频文件未必具有相同的标签信息,所以,每个所述数字标识都对应多个所述哈希值。
所述服务器20的信息管理模块21将所述数字标识,以及具有同一数字标识的音频文件的文件信息整理成列表保存;并将具有同一数字标识的音频文件的上传用户信息也整理成列表保存,以供用户请求搜索和下载时调用。
所述音频文件的文件信息至少包括所述音频文件的文件名,还可以进一步包括格式、大小、歌手、专辑、拥有者数量等信息。所述上传用户信息主要是指所述音频文件的上传用户的网络地址信息,例如IP地址和端口信息。
对于采用哈希服务器的文件传输方式,所述信息管理模块21可以保存具有相同数字标识的音频文件的哈希值列表和上传用户信息列表,并保存每一所述哈希值对应的音频文件的文件信息列表。
在所述信息管理模块21中,可以对保存的文件信息和上传用户信息设定更新淘汰机制。由于歌曲的上传用户在线状态经常发生变化,为了保持信息库的信息实时有效,因此所述信息管理模块21自动更新,淘汰掉无效的信息。并且每个所述哈希值对应的上传用户信息都设定一个上限,当上传用户信息超过这个上限时,或信息库空间满时,所述信息管理模块21根据所述更新淘汰机制,淘汰掉不在线的拥有者信息。
所述用户端10的所述搜索模块12接收用户的搜索指令,将搜索关键字发送至所述服务器20,所述服务器20中的所述查找模块22,根据所述搜索关键字查找各个所述文件信息列表,将具有所述关键字的多个文件信息发送至所述用户端10。
所述搜索关键字可以是所述音频文件的文件信息中的任何一项,例如当用户搜索文件名时,所述查找模块22根据用户输入的关键字查找各个所述文件信息列表,获取包含所述关键字的文件名信息的列表,并提供给搜索的用户端;所述用户端10的搜索模块12在接收所述服务器20发送的多个文件信息后,根据用户指令,从多个所述文件信息中选取其中一个所述文件信息进行下载。
对于采用哈希服务器的文件传输方式,所述查找模块22可以根据所述搜索关键字查找各个所述文件信息列表,获得具有所述关键字的多个音频文件的文件信息以及对应的哈希值,然后将所述多个文件信息以及对应的哈希值都提供给搜索的用户端,所述用户端10的搜索模块12在接收所述服务器20发送的多个文件信息后,根据用户指令,从多个所述文件信息中选取其中一个所述文件信息进行下载。
所述服务器20中的所述传输管理模块23根据用户选定的所述文件信息,查找对应的数字标识,获取相同数字标识对应的音频文件的上传用户信息列表,因为所述上传用户信息的数量可能比较大,所以只从中选取若干个上传用户信息发送至所述用户端10。
对于采用哈希服务器的文件传输方式,所述传输管理模块23可以根据用户选定的所述文件信息,获得其对应的哈希值,再根据所述哈希值,查找所述哈希值对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息并发送至所述用户端10。
如此,可将具有不同哈希值但是具有相同数字标识的音频文件的上传用户信息作为文件下载的信息源,增大了信息源范围,减少匹配不到信息源的情况。
优选地,所述传输管理模块23可以对选取的上传用户信息进行筛选过滤。具体地,所述传输管理模块23可以获取下载用户的IP信息和ISP类型,优先选取与所述下载用户的ISP类型相同的,IP在同一区域(例如同一省份或者同一局域网)的上传用户信息。这样,可以减少跨网际的数据交换,如减少电信和网通用户之间的传输障碍,大大提高用户间的文件交换效率,为国家节省能源,并且,当发现用户是同一个局域网内时,可以实现局域网传输。
作为一种优选实施方式,所述服务器20的信息管理模块21在保存具有相同哈希值的音频文件的上传用户信息列表时,可以按照各个所述上传用户上线的先后顺序,依次将所述上传用户信息排列在三个队列中;则所述传输管理模块23从所述哈希值对应的上传用户信息列表中选取若干个上传用户信息时,从所述三个队列的其中一个中选取对应的上传用户信息发送至所述用户端10。并且,可以设定所述传输管理模块23以所述队列上一次选取所述上传用户信息的位置为起点,按顺序选取所述上传用户信息,还可以设定所述传输管理模块23将每次被选取的上传用户信息依次排到这一队列的队尾,以便自动替换不同上传用户信息的位置。
例如,所述服务器20的信息管理模块21将同一个所述哈希值对应的上传用户信息被分别排列在三个队列中,第一个队列为最新入库或上线的上传用户信息,上传用户在线的机率最高;第二和第三队列为由所述第一队列依次序转移过来的上传用户信息,每12小时转移一次。当有下载用户发出下载请求时,所述传输管理模块23从其中一个所述队列中选取50个上传用户的IP地址和端口信息分配给所述下载用户。
这样就能够保证分配给下载用户的上传用户在线的机率最高,提高音频文件传输的成功率。
如果所述队列中的上传用户信息超出50个,则所述传输管理模块23把上次分配过的50个上传用户信息排到所述队列的队尾,下次当有其它用户再请求下载时,所述传输管理模块23以所述上次分配过的50个上传用户信息原来在队列中的位置为起点,从新选取50个上传用户信息分配给所述下载用户。所述下载用户从所述50个上传用户信息中选取其中5个进行连接。
这样就能够每个上传用户不会很快重复上传文件,利用更多的上传用户的资源,减轻各个上传用户的负担,提高音频文件传输的成功率。
所述用户端10的所述连接模块13用于根据所述服务器20发送的上传用户信息分别与若干个所述上传用户建立文件传输连接。
具体地,下载的用户端10的所述连接模块13根据所述上传用户信息分别向各个所述上传用户端10发出连接请求,为保证上传用户的正常运作,可以设定所述连接模块13的最大连接数量,例如设定所述最大连接数量为3个,则当所述上传用户端10接收到第4个连接请求时,会返回一个否定信息给请求方。并且,所述上传用户端10在接受所述下载请求后,还需要判断所述音频文件是否存在,不存在则不能上传,发出对应的通知信息。
所述用户端10的所述上传模块14过滤所述上传用户的音频文件的标签信息,获得其音频主体部分,然后将所述音频主体部分按照预定方式分割成多个文件片段,根据下载用户的请求分别上传所述多个文件片段,其中,分割所述音频主体部分的所述预定方式可以是固定时间间隔或者固定数据长度等。
所述下载模块15分别以若干个所述上传用户端中,具有相同数字标识的所述音频文件的音频主体部分的文件片段为数据源,下载所述多个文件片段然后组合成所述音频主体部分。
在下载完所述音频主体部分之后,所述下载模块15可以进一步将所述音频文件的标签信息与下载的所述音频主体部分合并在一起,并添加对应的文件信息,组成一个完整的音频文件。
与现有技术相比较,本发明的音频文件传输系统中,所述用户端过滤每个音频文件的标签信息,获取音频主体部分并生成所述数字标识,所述服务器根据所述数字标识确定各个音频文件的音频主体部分是否相同,相同的即可作为音频文件下载的数据源分配给所述用户端,无需考虑到与所述音频主体部分无关的标签信息,因此,能够提供更多的上传用户信息,增大音频文件下载的信息源范围,减少找不到信息源的情况。并且,因为在音频文件传输时将文件分割成多个片段,将多个具有相同数字标识的音频文件的拥有者作为现在的信息源,进一步提高文件传输的效率和成功率。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (10)
1.一种音频文件传输方法,其特征在于包括以下步骤:
提取音频文件的音频主体部分,对所述音频主体部分生成数字标识;
保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;
在接收到用户的搜索关键字时,根据所述搜索关键字查找各个所述文件信息列表,获得多个文件信息;
根据用户选定的所述文件信息,查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息;
根据所述上传用户信息分别与若干个所述上传用户建立文件传输连接;
提取各个所述上传用户的音乐文件的音频主体部分,并将所述音频主体部分分割成多个文件片段;
分别从各个所述上传用户下载所述音频主体部分的文件片段,并将所述文件片段组合成所述音频主体部分。
2.如权利要求1所述的音频文件传输方法,其特征在于,进一步包括步骤:
根据整个所述音频文件生成一个哈希值;
则,保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表的步骤包括:
保存具有相同数字标识的音频文件的哈希值列表和上传用户信息列表,并保存每一所述哈希值对应的音频文件的文件信息列表;
根据所述搜索关键字查找各个所述文件信息列表,获得多个文件信息的步骤包括:
根据所述搜索关键字查找各个所述文件信息列表,获得具有所述关键字的多个音频文件的文件信息以及对应的哈希值;
根据用户选定的所述文件信息,获得其对应的哈希值,根据所述哈希值查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息并发送至所述用户端。
3.如权利要求1或者2所述的音频文件传输方法,其特征在于,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息的步骤包括:
获取下载用户的IP信息和ISP类型,优先选取与所述下载用户的ISP类型相同的,IP在同一区域的上传用户信息。
4.如权利要求2所述的音频文件传输方法,其特征在于,保存具有相同哈希值的音频文件的上传用户信息列表时,按照各个所述上传用户上线的先后顺序,依次将所述上传用户信息排列在三个队列中;
则,从所述哈希值对应的上传用户信息列表中选取若干个上传用户信息时,从其中一个所述队列中选取所述上传用户信息。
5.如权利要求4所述的音频文件传输方法,其特征在于,从所述队列中选取所述上传用户信息的步骤包括:
以所述队列上一次选取所述上传用户的位置为起点按序选取所述上传用户信息,并将每次被选取的上传用户信息依次排到这一队列的队尾。
6.一种音频文件传输系统,包括用户端和服务器,其特征在于,所述用户端包括:
数字标识生成模块,用于提取音频文件的音频主体部分,对所述音频主体部分生成数字标识,并将所述音频文件的文件信息、上传用户信息,以及所述数字标识发送至所述服务器;
搜索模块,用于接收用户的搜索指令,将搜索关键字发送至所述服务器;并接收所述服务器发送的多个文件信息,根据用户指令,从多个所述文件信息中选取其中一个所述文件信息发送至所述服务器;
连接模块,用于根据所述服务器发送的上传用户信息分别与若干个所述上传用户建立文件传输连接;
上传模块,用于在接收到文件上传请求时,提取各个所述上传用户的音乐文件,并将所述音频主体部分分割成多个文件片段后上传;
下载模块,用于分别从各个所述上传用户下载所述音频主体部分的文件片段,并将所述文件片段组合成所述音频主体部分;
所述服务器包括:
信息管理模块,用于保存具有相同数字标识的音频文件的文件信息列表和上传用户信息列表;
查找模块,用于在接收到所述用户端发送的搜索关键字时,根据所述搜索关键字查找各个所述文件信息列表,将具有所述关键字的多个文件信息发送至所述用户端;
传输管理模块,用于根据用户选定的所述文件信息,查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息发送至所述用户端。
7.如权利要求6所述的音频文件传输系统,其特征在于,所述用户端还包括:
哈希值生成模块,用于根据整个所述音频文件生成一个哈希值,并将所述哈希值上传至所述服务器;
所述服务器的信息管理模块保存具有相同数字标识的音频文件的哈希值列表和上传用户信息列表,并保存每一所述哈希值对应的音频文件的文件信息列表;
所述查找模块根据所述搜索关键字查找各个所述文件信息列表,将具有所述关键字的多个音频文件的文件信息以及对应的哈希值发送至所述用户端;
所述传输管理模块根据用户选定的所述文件信息,获得其对应的哈希值,根据所述哈希值查找对应的所述数字标识,从所述数字标识对应的上传用户信息列表中选取若干个上传用户信息并发送至所述用户端。
8.如权利要求6或者7所述的音频文件传输系统,其特征在于,所述传输管理模块进一步获取所述用户端的IP信息和ISP类型,并在对应的上传用户信息列表中优先选取与所述下载用户的ISP类型相同的,IP在同一区域的上传用户信息发送至所述用户端。
9.如权利要求6或者7所述的音频文件传输系统,其特征在于,所述信息管理模块按照各个所述上传用户上线的先后顺序,依次将同一所述哈希值对应的所述上传用户信息排列在三个队列中;
所述传输管理模块从其中一个所述队列中选取所述上传用户信息发送至所述用户端。
10.如权利要求9所述的音频文件传输系统,其特征在于,所述传输管理模块以所述队列上一次选取所述上传用户的位置为起点按序选取所述上传用户信息,并发送至所述用户端,并将每次被选取的上传用户信息依次排到这一队列的队尾。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100279158A CN102098339A (zh) | 2011-01-26 | 2011-01-26 | 一种音频文件传输方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100279158A CN102098339A (zh) | 2011-01-26 | 2011-01-26 | 一种音频文件传输方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102098339A true CN102098339A (zh) | 2011-06-15 |
Family
ID=44131199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100279158A Pending CN102098339A (zh) | 2011-01-26 | 2011-01-26 | 一种音频文件传输方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102098339A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015085794A1 (en) * | 2013-12-09 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Data transmission method, related apparatus, and communications system |
CN106411987A (zh) * | 2016-01-06 | 2017-02-15 | 平安科技(深圳)有限公司 | 文件上传监控方法和装置 |
CN108763425A (zh) * | 2018-05-24 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 存储和读取音频文件的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166190A (zh) * | 2007-09-20 | 2008-04-23 | 腾讯科技(深圳)有限公司 | 影音文件的多源下载方法及装置 |
US20080243878A1 (en) * | 2007-03-29 | 2008-10-02 | Symantec Corporation | Removal |
US20110013884A1 (en) * | 2009-02-19 | 2011-01-20 | Taiji Sasaki | Recording medium, playback device, and integrated circuit |
-
2011
- 2011-01-26 CN CN2011100279158A patent/CN102098339A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243878A1 (en) * | 2007-03-29 | 2008-10-02 | Symantec Corporation | Removal |
CN101166190A (zh) * | 2007-09-20 | 2008-04-23 | 腾讯科技(深圳)有限公司 | 影音文件的多源下载方法及装置 |
US20110013884A1 (en) * | 2009-02-19 | 2011-01-20 | Taiji Sasaki | Recording medium, playback device, and integrated circuit |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015085794A1 (en) * | 2013-12-09 | 2015-06-18 | Tencent Technology (Shenzhen) Company Limited | Data transmission method, related apparatus, and communications system |
CN106411987A (zh) * | 2016-01-06 | 2017-02-15 | 平安科技(深圳)有限公司 | 文件上传监控方法和装置 |
CN106411987B (zh) * | 2016-01-06 | 2019-05-31 | 平安科技(深圳)有限公司 | 文件上传监控方法和装置 |
CN108763425A (zh) * | 2018-05-24 | 2018-11-06 | 广州酷狗计算机科技有限公司 | 存储和读取音频文件的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522330B (zh) | 基于区块链的云平台数据处理方法、装置、设备及介质 | |
CN101409706B (zh) | 一种边缘网络中的数据分发方法、数据分发系统及相关设备 | |
CN102882985B (zh) | 基于云存储的文件共享方法 | |
Pucha et al. | Exploiting Similarity for Multi-Source Downloads Using File Handprints. | |
CN102223411B (zh) | 采用p2p 技术下载文件的方法和系统、客户端 | |
CN112235420B (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
EP3439239B1 (en) | Data transmission method and system based on peer-to-peer network | |
CN102630378A (zh) | 基于描述文件的个体化数据通信 | |
WO2014056428A1 (zh) | 一种文件上传的方法及系统 | |
US20140095605A1 (en) | Method and apparatus for increasing localization of peer-to-peer traffic for content distribution in communication network | |
WO2008104131A1 (fr) | Procédé, appareil et système de recherche et de téléchargement d'un fichier de téléphone mobile | |
US20110307564A1 (en) | Data node apparatus, peer information acquisition method and system | |
CN103812881B (zh) | 离线下载控制方法及装置 | |
CN103957269A (zh) | 点对点p2p网络节点选择方法及点对点p2p重定向服务器 | |
US8984100B2 (en) | Data downloading method, terminal, server, and system | |
CN101150593A (zh) | 一种上传数据的方法及系统 | |
CN103731472A (zh) | 采用p2p技术下载文件的方法和系统、客户端 | |
CN103069781A (zh) | 用于分布式哈希表中的内容的对等业务局域化 | |
CN102098339A (zh) | 一种音频文件传输方法及其系统 | |
CN110839077A (zh) | 文件请求处理方法、请求反馈信息处理方法及相关组件 | |
CN114780486A (zh) | 一种基于ipfs分布式存储关键词检索方法 | |
KR101600717B1 (ko) | P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치 | |
CN102387129A (zh) | 流媒体点播系统及方法 | |
CN100474809C (zh) | 一种文件传输的方法及装置 | |
CN103685469A (zh) | 基于p2p的文件下载方法和系统及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110615 |