CN102137163A - 一种多媒体文件共享***及其共享多媒体文件的方法 - Google Patents

一种多媒体文件共享***及其共享多媒体文件的方法 Download PDF

Info

Publication number
CN102137163A
CN102137163A CN2011100693393A CN201110069339A CN102137163A CN 102137163 A CN102137163 A CN 102137163A CN 2011100693393 A CN2011100693393 A CN 2011100693393A CN 201110069339 A CN201110069339 A CN 201110069339A CN 102137163 A CN102137163 A CN 102137163A
Authority
CN
China
Prior art keywords
multimedia file
terminal
server
piece
concordance list
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
CN2011100693393A
Other languages
English (en)
Other versions
CN102137163B (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.)
TCL Corp
Original Assignee
TCL Corp
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 TCL Corp filed Critical TCL Corp
Priority to CN201110069339.3A priority Critical patent/CN102137163B/zh
Publication of CN102137163A publication Critical patent/CN102137163A/zh
Application granted granted Critical
Publication of CN102137163B publication Critical patent/CN102137163B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及共享技术领域,公开了一种多媒体文件共享***及其共享多媒体文件的方法:使用终端建立专用存储区;将多媒体文件的索引表上传至服务器;服务器接收索引表并指令使用终端将文件块发送给关联的使用终端;使用终端下载多媒体文件。其中,服务器控制使用终端以类似于病毒传播的方式将多媒体的文件块预先发布到多个不同的使用终端上,并且服务器实时监测该多媒体文件对应的索引表,控制多媒体文件块发布的程度。用户可以在相当短的时间内完成多媒体文件的上传和下载,从而轻松地与用户的社交圈子的人进行媒体共享,为用户提供了方便;同时降低了服务器的配置及维护成本,提高了网络资源的利用率。

Description

一种多媒体文件共享***及其共享多媒体文件的方法
技术领域
本发明涉及共享技术领域,尤其涉及的是一种多媒体文件共享***及其共享多媒体文件的方法。
背景技术
多媒体的影音娱乐播放,是消费类电子产品的一个最主要功能,长时间以来,消费类电子产品的影音播放功能一直局限在传统的播放功能上,即使在互联网发达的今天,实现的也主要是在线视频播放之类的应用,结合了互联网的媒体播放器/一体机这类电子产品一直处于技术换代相对落后的阶段。
互联网的本质是开放和共享,而现有技术的视频分享,其做法是:运营商设置一个巨大的服务器空间,用户A将自己的视频上传后,通知用户B,用户B再从同样的地方下载该视频,这种做法迟迟未能得到流行,主要的原因在于:多媒体文件通常非常巨大,需占用很大网络资源,一上传一下载非常占用时间,同时服务器的配置也需很高,且需很大的空间;到了高清的时代更是如此,而目前的网络状况尚不足以支撑高清视频的传输,如果要完整地把一个视频上传或者下载,需要花费很多时间,给用户造成诸多不便。
目前还有国内还流行一种BitTorrent(比特流,简称BT)的P2P下载方法,用户在下载的同时还担当上传者的角色,每个用户在下载文件时还将下载完的文件共享出来。在这种下载方式下,人越多速度越快。不过在整个P2P下载过程的开始阶段,由于下载用户少,可共享的资源不足,因此下载的速度依然比较慢。例如,第一个下载的用户只能从服务器或者上传者处下载目标文件,对于头几个用户即使相互共享,但是由于可利用的下载源少,因此下载并不快。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种多媒体文件共享***及其共享多媒体文件的方法,提供了一种新型的面向虚拟网络的多媒体共享方法,用户可以在相当短的时间内完成多媒体文件的上传和下载,从而轻松地与用户的社交圈子的人进行媒体共享,为用户提供了方便;同时降低了服务器的配置及维护成本,提高了网络资源的利用率。
本发明解决技术问题所采用的技术方案如下:
一种多媒体文件共享***共享多媒体文件的方法,其中,包括步骤:
A、通过使用终端接收用户输入的操作指令建立好友列表;
B、在使用终端上建立用于存储多媒体文件数据的专用存储区;并对需上传的多媒体文件进行分块成为多个多媒体文件块,以及创建针对该多媒体文件分块后的索引表,并将该多媒体文件的索引表上传至服务器;
C、服务器接收该多媒体文件的索引表,并控制使用终端将多媒体文件块预先发布到其好友列表上的多个不同的使用终端上,并且每完成一多媒体文件块的传输,服务器实时监测更新该多媒体文件块对应的索引表上的索引;当监测到多媒体文件块的发布范围达到设定值时,控制使用终端终止文件块的发布;
D、使用终端接收目标用户输入的下载某多媒体文件的指令,根据该需下载的多媒体文件的索引表下载该多媒体文件。
所述多媒体文件共享***共享多媒体文件的方法,其中,所述步骤A具体包括:
A1、使用终端通过用户操作界面接收用户输入的用户登录信息,并向服务器发送该用户登录信息;
A2、当所述用户登录信息得到服务器验证通过后,使用终端通过其提供的添加好友的界面菜单从所述服务器获取好友信息,并将获取的好友信息加载到本地好友列表中。
所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤B中的对需上传的多媒体文件进行分块成为多个多媒体文件块,以及创建针对该多媒体文件分块后的索引表,将该多媒体文件的索引表上传至服务器具体包括:
B1、使用终端对需上传的本地存储的多媒体文件进行分块,将该多媒体文件从形式上分成若干多媒体文件块,并计算出每个多媒体文件块对应的哈希值;
B2、根据计算出的每个多媒体文件块对应的哈希值,创建相应的多媒体文件的索引表,索引表的索引信息内容包括该多媒体文件的每个多媒体文件块的哈希值,及该多媒体文件所处的使用终端的IP地址,以及该多媒体文件块在该使用终端上的存储位置;
B3、使用终端将创建的多媒体文件的索引表上传至服务器。
所述多媒体文件共享***共享多媒体文件的方法,其中,所述步骤C具体包括步骤:
C1、服务器接收存储多媒体文件的索引表,并从存储该多媒体文件的使用终端的好友列表中查询用户的好友信息,以及定位各好友的使用终端,并向存储该多媒体文件的使用终端发送多媒体文件块发布指令;
C2、存储该多媒体文件的使用终端接收服务器的多媒体文件块发布指令,并根据服务器的指令分多次,每次主动与一部分在线的好友的使用终端建立网络连接;
C3、使用终端根据所述多媒体文件的索引表每次选出若干个多媒体文件块,并将选出的多媒体文件块的数据发送给已建立好网络连接的好友的使用终端。
所述多媒体文件共享***共享多媒体文件的方法,其中,所述步骤C3还包括:若对方的好友使用终端返回其专用存储区的空间不足的信息,则终止向该好友使用终端传送文件块。
所述多媒体文件共享***共享多媒体文件的方法,其中,所述步骤C3还包括:每完成一多媒体文件块的传输,服务器实时监测更新该多媒体文件块对应的索引表上的索引。
所述多媒体文件共享***共享多媒体文件的方法,其中,所述步骤C3之后还包括步骤:
C4、服务器通过更新的索引表,监测到同样的多媒体文件块被发布到新的使用终端上,在等待一预定时间后,向所述新的使用终端发送多媒体文件块发布指令,并返回步骤C2;
C5、当服务器监测到多媒体文件块的发布范围达到设定值时,终止文件块的发布。
所述多媒体文件共享***共享多媒体文件的方法,其中,所述步骤D具体包括:
D1、当使用终端接收到目标用户输入的下载某个多媒体文件的指令时,从服务器上下载该多媒体文件对应的索引表;
D2、使用终端根据索引表的索引文件的信息,逐个获取该多媒体文件的文件块;
D3、当某个文件块存在于多个使用终端上时,同时与该多个使用终端进行连接,发送数据请求,从多个源头同时下载该多媒体文件数据。
一种多媒体文件共享***,包括服务器和若干使用终端,其中,所述服务器包括用户管理模块、索引管理模块和传播管理模块;
所述用户管理模块,用于负责好友列表的维护,将使用终端添加的新的好友后信息进行存储,以及用于提供查询接口给使用终端查询好友列表信息;
所述索引管理模块,用于对多媒体文件的索引表进行管理,每完成一多媒体文件块的传输,实时更新该多媒体文件块对应的索引表上的索引信息;所述索引信息包括:多媒体文件块的哈希值、使用终端的IP和多媒体文件块在使用终端上的存储位置;
所述传播管理模块,用于当使用终端需上传多媒体文件时,接收用户上传的多媒体文件的索引表,并控制使用终端分多次将多媒体文件块预先发布到好友的使用终端上;以及用于当监测到多媒体文件块的发布范围达到设定值时,终止文件块的发布;
所述使用终端包括好友信息管理模块、分块模块、文件块上传模块、文件块下载模块和专用区域管理模块;
所述好友信息管理模块,用于接收用户的操作进行用户注册以及好友查询、添加、删除的管理;
所述分块模块,用于对需上传的多媒体文件进行分块,将该多媒体文件从形式上分成若干个多媒体文件块,并计算出每个多媒体文件块对应的哈希值,以及创建针对该多媒体文件分块后的索引表,并将该索引表上传至服务器;
所述文件块上传模块,用于接收服务器的多媒体文件块发布指令,将对应的多媒体文件块发送给由服务器端选定的好友的使用终端;
所述文件块下载模块,用于接收下载指令下载多媒体文件的文件块,并将下载的文件块存入专用存储区中;
所述专用区域管理模块,用于建立存储多媒体文件数据的专用存储区以及对该专用存储区进行管理。
所述的多媒体文件共享***,其中,所述传播管理模块进一步包括:
接收单元,用于接收存储多媒体文件的索引表;
定位单元,用于从使用终端的好友列表中查询用户的好友信息,定位各好友的使用终端;
指令发送单元,用于向各好友的使用终端发送多媒体文件块发布指令;
控制单元,用于控制存储该多媒体文件的使用终端,根据服务器的多媒体文件块发布指令,主动与在线的好友的使用终端建立网络连接;并根据多媒体文件的索引表每次选出若干多媒体文件块,并将选出的多媒体文件块的数据发送给已建立好网络连接的好友的使用终端。
本发明所提供的多媒体文件共享***及其共享多媒体文件的方法,由于采用了服务器控制使用终端以类似于病毒传播的方式将多媒体的文件块预先发布到多个不同的使用终端上,并且服务器实时监测该多媒体文件对应的索引表,控制多媒体文件块发布的程度。当监测到文件块的分布范围达到设定值时,控制使用终端终止文件块的发布,此时各文件块已经预先布置到一定范围内,后续用户可以在短时间内完成多媒体文件的下载。使得用户在操作使用终端时,不再仅仅是传统的播放操作,而且还能通过使用终端与朋友,家人进行视频的分享操作。通过本发明的一种新型的面向虚拟网络的多媒体共享方法,用户可以在相当短的时间内完成多媒体文件的上传和下载,从而轻松地与用户的社交圈子的人进行媒体共享,使使用终端增加了互联网社交共享的新功能。
另外,降低了服务器的配置及维护成本,运营商需要维护的服务器资源不会很多,因为服务器主要是维护用户的好友列表,索引文件;通过直接使用用户设备的使用终端中那块专门划出来的专用存储区,虚拟组成一个巨大的云存储设备,而且用户量越大,整体的服务质量将会越高,提高了网络资源的利用率,为用户提供了方便。
附图说明
图1是本发明实施列的多媒体文件共享***连接原理图。
图2是本发明实施例的使用终端内部原理框图。
图3是本发明实施例的多媒体文件共享***共享多媒体文件的方法流程图。
图4是本发明实施例多媒体文件共享***的服务器的传播管理模块内部框图。
具体实施方式
本发明所提供的一种多媒体文件共享***及其共享多媒体文件的方法,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例所提供的一种多媒体文件共享***,如图1所示,包括服务器和若干使用终端(如图1所示的使用终端A、使用终端B、使用终端C…),其中,所述服务器包括用户管理模块、索引管理模块和传播管理模块,另外还设置用于存储用户信息的好友列表、及用于存储多媒体文件的索引文件。所述使用终端可以是个人计算机、掌上电脑、手机等智能设备,也可以是以影音娱乐为主要目的的消费类电子设备,例如播放器、游戏机以及一体机等,在每一使用终端上建立有用于存储多媒体文件的专用存储区。
所述用户管理模块,一方面用于负责好友列表的维护,以及将使用终端添加的新的好友信息进行存储,另一方面用于提供查询接口给使用终端查询好友列表信息;譬如、当用户通过UI界面添加了新的好友后,该用户管理模块将好友信息存储起来,当其他软件模块需要查询好友列表信息时,也是由该模块提供查询的API接口,用户的好友信息是直接维护在服务器端而非客户端。
所述索引管理模块,一方面用于对多媒体文件的索引表进行管理,每完成一多媒体文件块的传输,实时监测更新该多媒体文件块对应的索引表上的索引信息;索引表的索引信息的更新包括:对多媒体文件块的哈希值、使用终端的IP和多媒体文件块在使用终端上的具体存储位置的更新。
其中,索引管理模块是核心模块,在本发明中,每个多媒体文件对应一张单独的索引表存储在服务器的索引文件中,索引管理模块就是对索引文件中的索引表进行操作管理的模块。
每当使用终端完成了一个完整的多媒体文件块下载后,使用终端就会发送一条索引更新消息给索引管理模块,索引更新消息将包含以下几个关键字段内容:多媒体文件块的哈希值(哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值),使用终端的IP,多媒体文件块在使用终端上的具体存储位置。
索引管理模块在收到消息后,更新该多媒体视频文件对应的索引文件,通过这种方式,当多媒体文件块开始通过网络传播开来后,每在一个使用终端上下载成功,就会在索引文件中增加一项对应的记录,以这种方式,索引文件实时维护互联网上全局的文件块分布,这也是传播管理模块做决策判断的数据基础。
所述传播管理模块一方面用于当使用终端需上传多媒体文件时,接收用户上传的多媒体文件的索引表,并控制使用终端以类似于病毒传播的方式分多次将多媒体文件块预先发布到其好友列表上的多个不同的使用终端上;另一方面用于当监测到多媒体文件块的发布范围达到设定值时,控制使用终端终止文件块的发布。
本发明实施例服务器的传播管理模块是整个方案中的决策模块,主要承担两件工作:调度多媒体文件块的传播,以及在合适的时间点控制多媒体文件块的过度传播。
譬如、传播管理模块首先通过用户管理模块,从好友列表中查询到用户的好友信息,定位这些好友的使用终端,随后发指令给需要上传多媒体文件的使用终端进行文件的发布;用户使用终端收到指令后,与在线的活跃好友的使用终端首先建立起网络连接,随后随机从之前建立好的多媒体文件索引表中选出若干多媒体文件块,将这些选出的多媒体文件块的数据发送给同样是被随机挑选出来的好友的使用终端,所有的这些操作都是在后台进行,由于文件块本身的数据量并不大,所以整个的数据传输不会对用户的其他操作产生影响。
当多媒体文件块传播完毕,索引被更新后,服务器中的传播管理模块通过查询索引文件中索引表的索引信息,会意识到此时同样的多媒体文件块被发布到了不同的设备上,传播管理模块可以在隔了一段时间后(这样做的目的是减轻设备负担,避免过于频繁的数据传输操作),向新的好友的使用终端发送多媒体文件块发布指令,该新的好友的使用终端搜索自己的好友列表,再次重复前述的操作流程。
传播管理模块的另外一项重要功能是控制传播,当传播管理模块监测到在某个多媒体文件的索引表中拥有该多媒体文件的文件块的使用终端达到一预定数量的时候(例如500或者1000),停止该多媒体文件的传播,即不再向使用终端发送发布该多媒体文件相关文件块的指令。通常来说,当同时在线且拥有多媒体文件的文件块的使用终端达到500-1000个时就足以提供良好的上传和下载服务。
具体地,传播管理模块设置一个用于终止多媒体文件传播的传播参数,当拥有某多媒体文件的文件块的使用终端达到传播参数设定的数量时终止该多媒体文件的传播。由于用户数量的规模对多媒体文件的传播存在较大的影响,一个只有1万左右用户的使用终端网络与一个拥有100万左右用户的使用终端网络之间的差异是很大的,因此,该传播参数可以根据网络规模动态地调整,网络规模较大时,该传播参数可以相应设定得大一些,以便使传播扩散得更快。
如图2所示,所述使用终端包括好友信息管理模块、分块模块、专用区域管理模块、文件块上传模块和文件块下载模块。
其中、所述好友信息管理模块用于接收用户的操作进行用户注册以及好友查询、添加、删除的管理;譬如通过好友信息管理模块进行用户注册以及好友查询、添加、删除等。
分块模块用于对需上传的多媒体文件按固定大小的分块方式进行分块,将该多媒体文件从形式上分成若干大小相同的多媒体文件块,并计算出每个多媒体文件块对应的哈希值,以及创建针对该多媒体文件分块后的索引表,并将该索引表上传至服务器;譬如对于上传文件的场景,分块模块对被上传的文件按固定大小的分块方式进行一次切割(并不需要实际上的切割分块),并对每个文件块计算出对应的哈希值,然后构建出一张初始的索引表,并且将该索引表上传给服务器的索引管理模块。在另一实施例中,分块模块还可以采用按比例的分块方式、或者按照其他相关算法的分块方式对需上传的多媒体文件进行分块。
专用区域管理模块用于建立存储多媒体文件数据的专用存储区以及对该专用存储区进行管理,如图1和图2所示。譬如、通过专用区域管理模块建立专门的存储区域即专用存储区,并对该专用存储区进行管理,例如检测专用区域剩余空间的大小、删除文件块以及合并文件块等。
文件块上传模块用于接收服务器的多媒体文件块发布指令,将对应的多媒体文件块发送给多个由服务器端选定的好友的使用终端;通过文件块上传模块将若干多媒体文件块发送给多个由服务器端选定的好友的使用终端上。
文件块下载模块用于接收下载指令下载多媒体文件的文件块,并将下载的文件块存入专用存储区中;
譬如、对于自动下载文件块的场景,接收来自传播管理模块的下载指令后,通过文件块下载模块下载相应的多媒体文件块,并且将其存入专门划出的专用存储区中;
再比如、对于通过使用终端下载整个多媒体文件的场景,接收用户下载多媒体视频文件的指令后,然后通过多媒体文件块下载模块以P2P的方式下载视频文件的所有文件块,并组合成一个多媒体视频文件。
基于上述实施例的多媒体文件共享***,本发明实施例还提供了一种多媒体文件共享***共享多媒体文件的方法,如图3所示,所述方法主要包括以下步骤:
步骤S100、通过使用终端接收用户输入的操作指令建立好友列表。
其中,该步骤S100在实施时具体包括:A1、使用终端通过用户操作界面接收用户输入的用户登录信息,并向服务器发送该用户登录信息;A2、当所述用户登录信息得到服务器验证通过后,使用终端通过其提供的添加好友的界面菜单从所述服务器获取好友信息,并将获取的好友信息加载到本地好友列表中。
譬如、首先用户在第一次使用本发明的使用终端时,通过一个简单的用户操作界面(UI)输入自己的名称进行注册,该界面程序会将用户的注册信息上传到网络的运营商服务器中进行验证。
当验证通过后可以进行正常登录,用户登录后可以通过一个专门的查询界面,从该服务器上查询其好友的信息,并且加入到本地的好友列表中,好友列表直接通过名称标识。好友对用户显示的是名称,与该名称相关联的是用户的IP地址,只是该IP地址对用户而言是不可见的,对于软件而言是唯一标识用户的ID。
步骤S200、在使用终端上建立用于存储多媒体文件数据的专用存储区;并对需上传的多媒体文件进行分块成为多个多媒体文件块,以及创建针对该多媒体文件分块后的索引表,并将该多媒体文件的索引表上传至服务器。
譬如,在本发明实施例中,用户的使用终端可以不断添加新的好友信息进入这个好友列表中,每次开机或者关机时,使用终端会实时向服务器更新自身的最新上下线状态,同时查询好友列表中各位好友的最新状态。
当前使用终端基本都已经内置了硬盘等存储设备,需要把硬盘划出一块专门的专用存储区,用来存储多媒体等数据所用,理论上该专用存储区越大越好。
当同时在线的使用终端数量足够大时,这些被专门划分出来的使用终端专用存储区,就通过网络组织成了一个巨大的虚拟硬盘空间,如图1如示的虚拟存储空间。
其中,该步骤S200中的对需上传的多媒体文件进行分块成为多个多媒体文件块,以及创建针对该多媒体文件分块后的索引表,将该多媒体文件的索引表上传至服务器在具体实施时包括以下步骤:
B1、使用终端对需上传的本地存储的多媒体文件按固定大小的分块方式进行分块,将该多媒体文件从形式上分成若干大小相同的多媒体文件块,并计算出每个多媒体文件块对应的哈希值;
B2、根据计算出的每个多媒体文件块对应的哈希值,创建相应的多媒体文件的索引表,索引表的索引信息内容包括该多媒体文件的每个多媒体文件块的哈希值,及该多媒体文件所处的使用终端的IP地址,以及该多媒体文件块在该使用终端上的存储位置;
B3、使用终端将创建的多媒体文件的索引表上传至服务器。
例如当用户需要进行多媒体文件(如视频文件)的上传时,本发明实施例其实已经不再是将整个视频文件上传,而是首先利用分块模块对本地视频文件按固定大小的分块方式进行一次切割(并不需要实际上的切割分块),将其形式上分成若干大小相同的多媒体文件块,并对每个多媒体文件块计算出其对应的哈希值,然后构建出一张针对该视频文件的索引表,索引表的索引信息内容是该多媒体文件的每个块的哈希值,该块所处的使用终端的IP地址,以及该块在该使用终端设备上的存储位置。
在初始情况下,该索引表中的内容,尤其是IP地址和存储位置,全部都是位于本地使用终端上的信息,当该索引表被上传到服务器上后,上传过程就宣告结束,操作可以直接返回给用户控制,以这种操作方式,整个上传过程可以在非常短的时间内结束,因为上传给服务器的只是该视频文件的索引表,而不是视频文件本身。这样可以有效地降低服务器的配置及维护成本。
步骤S300、服务器接收该多媒体文件的索引表,并控制该使用终端以类似于病毒传播的方式将多媒体文件块预先发布到其好友列表上的多个不同的使用终端上,并且每完成一多媒体文件块的传输,服务器实时监测更新该多媒体文件块对应的索引表上的索引;当监测到多媒体文件块的发布范围达到设定值时,控制使用终端终止文件块的发布;
该步骤S300在具体实施时包括:
C1、服务器接收并存储多媒体文件的索引表,服务器收到索引表后,会从存储该多媒体文件的使用终端的好友列表中查询用户的好友信息,并定位这些好友的使用终端,随后向存储该多媒体文件的使用终端发送多媒体文件块发布指令,通知该使用终端可以进行多媒体文件的发布,进入步骤C2。
C2、存储该多媒体文件的使用终端接收服务器的多媒体文件块发布指令后,根据服务器的指令分多次,每次主动与一部分在线的好友的使用终端建立网络连接;
C3、使用终端根据所述多媒体文件的索引表每次选出若干多媒体文件块,并将选出的多媒体文件块的数据发送给已建立好网络连接的好友的使用终端。
本实施例中服务器收到索引后,会根据用户使用终端中的好友列表,定位这些好友的使用终端,随后发指令给存储该多媒体文件的使用终端以进行文件的发布。
用户使用终端收到服务器的指令后,主动与在线的活跃的好友使用终端首先建立起网络连接,每次从之前建立好的文件索引表中选出若干多媒体文件块,将这些多媒体文件块的数据发送给同样是被服务器挑选出来的好友使用终端。具体地,服务器控制上传文件的使用终端分m次每次选出1/m的多媒体文件块,通过文件块上传模块发送给1/n的好友的使用终端,该使用终端为在线状态。这里的m和n例如都可以为10,这表示每次挑出10%的文件块发送给10%的好友,挑选时排除掉已经被挑选过的文件块和好友,该用户使用终端通过上述方式将全部多媒体文件块逐渐发送给不同好友的使用终端。根据***设定的相关共享协议,所有的这些操作都是在后台进行,由于分块后的多媒体文件块本身的数据量并不大,所以整个的数据传输不会对用户的其他操作产生影响。当好友不足时,文件块的传播中止,直到有新的好友加入,此时传播会重新启动直至终止。
以这种方式,用户的使用终端在连线状态下,同时与好友列表中的数个使用终端建立网络连接,并且传输特定的多媒体文件块数据,好友的使用终端的收到的多媒体文件块数据后就存储在预先在硬盘上被划出的那个专用存储区上。
每完成一多媒体文件块的传输,服务器实时监测更新该多媒体文件块对应的索引表上的索引。即当一个完整的多媒体文件块完成传输后,立刻更新服务器上索引文件上相应的索引表,对于该多媒体文件块,此时同样的哈希值将对应多个不同的IP值和多个不同的存储位置。
当索引被更新后,服务器通过索引管理模块对索引表的监测意识到此时同样的多媒体文件块被发布到了多个不同的使用终端设备上,服务器可以在隔了一段时间后,同时向新的好友的使用终端发送多媒体文件块发布指令,该新的好友的使用终端会搜索自己的好友列表,将其收到的多媒体文件块再次发送给自己的1/n的好友的使用终端上。
以本发明的通过服务器控制使用终端以类似于病毒传播的方式将多媒体文件块预先发布到其好友列表上的多个不同的使用终端上的方式,多媒体文件块可以在后台迅速地以好友,好友的好友,好友的好友的好友这种方式,传播开来,同样的一个多媒体文件块可以自动地被发布到多个使用终端设备中,根据好友列表进行类似于病毒式的传播,并且每次传播,都将更新一次服务器上该文件对应的索引表。此时,若对方回报其专用存储区的空间不足,则终止往这个好友的使用终端上传送文件块。
同时,本发明实施中服务器实时维护及分析索引表,当已经有足够多用户的使用终端分布了某个多媒体文件的足够的文件块时,服务器就可以终止上述传播。具体地,服务器实时监测及分析索引表,当某个视频文件的文件块存放在500个使用终端的时候,由于此数量已足以提供良好的下载服务,服务器不再发送发布该视频文件的指令给相应的使用终端,从而终止传播。
步骤S400、使用终端接收目标用户输入的下载某多媒体文件的指令,根据该需下载的多媒体文件的索引表采用P2P方式下载播放该多媒体文件。
其中,该目标用户是指期望播放或者直接下载某个多媒体文件的用户,其通过使用终端上相应的软件程序界面执行用户的操作,此处的多媒体文件是指在服务器中已经存有索引表的多媒体文件,用户可以通过上述软件程序界面获知哪些多媒体文件(具体是指该多媒体文件的索引表)已经被其他使用终端上传到服务器中供用户下载。该步骤S400在具体实施例包括:
D1、当目标用户需要播放或者下载某个多媒体文件时,从服务器上下载该多媒体文件对应的索引表;
D2、使用终端根据索引表的索引文件的信息,逐个获取该多媒体文件的文件块;
D3、当某个文件块存在于多个使用终端上时,同时与该多个使用终端进行连接,发送数据请求,从多个源头同时下载该多媒体文件数据。
譬如、当目标用户要播放或者直接下载某个视频文件时,直接从服务器上下载该视频文件对应的索引,用户使用终端根据索引文件的信息,通过文件块下载模块逐个对各文件块进行下载获取,此时,若此视频文件已经过预先传播,则同一个文件块不但存在于原上传者的使用终端上,而且存在于其他被传播过的使用终端上。当某个文件块存在于多个使用终端上时,目标用户的使用终端同时与这多个使用终端进行连接,发送数据请求,以这种方式,传统的一次只能从一个源头下载数据的模式,变为一次可以从多个源头同时下载数据,整个下载的速率将可以提高数倍,无论是下载还是播放,整个速度都可以大大加强。
基于上述实施例,本发明所述的多媒体文件共享***,如图4所示,其传播管理模块具体包括:
接收单元,用于接收存储多媒体文件的索引表;具体如上所述。
定位单元,用于从使用终端的好友列表中查询用户的好友信息,定位各好友的使用终端的位置等;具体如上所述。
指令发送单元,用于向各好友的使用终端发送多媒体文件块发布指令;具体如上所述。
控制单元,用于控制存储该多媒体文件的使用终端,根据服务器的多媒体文件块发布指令,主动与在线的好友的使用终端建立网络连接;并根据所述多媒体文件的索引表随机选出若干多媒体文件块,并将随机选出的多媒体文件块的数据发送给已建立好网络连接的好友的使用终端,具体如上所述。
综上所述,本发明所提供的多媒体文件共享***及其共享多媒体文件的方法,由于采用了服务器控制使用终端以类似于病毒传播的方式将多媒体的文件块预先发布到多个不同的使用终端上,并且服务器实时监测各多媒体文件对应的索引表,控制多媒体文件块发布的程度。当监测到文件块的分布范围达到设定值时,控制使用终端终止文件块的发布,此时各文件块已经预先布置到一定范围内,后续用户可以在短时间内完成多媒体文件的下载,由于开始阶段就存在多个下载源,因此用户可以进行快速的下载。使得用户在操作使用终端时,不再仅仅是传统的播放操作,而且还能通过使用终端与朋友,家人进行视频的分享操作。通过本发明的一种新型的面向虚拟网络的多媒体共享方法,用户可以在相当短的时间内完成多媒体文件的上传和下载,从而轻松地与用户的社交圈子的人进行媒体共享,使使用终端增加了互联网社交共享的新功能。
另外,降低了服务器的配置及维护成本,运营商需要维护的服务器资源不会很多,因为服务器主要是维护用户的好友列表,索引文件;通过直接使用用户设备的使用终端中那块专门划出来的专用存储区,虚拟组成一个巨大的云存储设备,而且用户量越大,整体的服务质量将会越高,提高了网络资源的利用率,为用户提供了方便。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1.一种多媒体文件共享***共享多媒体文件的方法,其特征在于,包括步骤:
A、通过使用终端接收用户输入的操作指令建立好友列表;
B、在使用终端上建立用于存储多媒体文件数据的专用存储区,并对需上传的多媒体文件进行分块成为多个多媒体文件块,以及创建针对该多媒体文件分块后的索引表,并将该多媒体文件的索引表上传至服务器;
C、服务器接收该多媒体文件的索引表,并控制使用终端将多媒体文件块预先发布到其好友列表上的多个不同的使用终端上,并且每完成一多媒体文件块的传输,服务器实时监测更新该多媒体文件块对应的索引表上的索引;当监测到多媒体文件块的发布范围达到设定值时,控制使用终端终止文件块的发布;
D、使用终端接收目标用户输入的下载某多媒体文件的指令,根据该需下载的多媒体文件的索引表下载该多媒体文件。
2.根据权利要求1所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤A具体包括:
A1、使用终端通过用户操作界面接收用户输入的用户登录信息,并向服务器发送该用户登录信息;
A2、当所述用户登录信息得到服务器验证通过后,使用终端通过其提供的添加好友的界面菜单从所述服务器获取好友信息,并将获取的好友信息加载到本地好友列表中。
3.根据权利要求1所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤B中的对需上传的多媒体文件进行分块成为多个多媒体文件块,以及创建针对该多媒体文件分块后的索引表,将该多媒体文件的索引表上传至服务器具体包括:
B1、使用终端对需上传的本地存储的多媒体文件进行分块,将该多媒体文件从形式上分成若干多媒体文件块,并计算出每个多媒体文件块对应的哈希值;
B2、根据计算出的每个多媒体文件块对应的哈希值,创建相应的多媒体文件的索引表,索引表的索引信息内容包括该多媒体文件的每个多媒体文件块的哈希值,及该多媒体文件所处的使用终端的IP地址,以及该多媒体文件块在该使用终端上的存储位置;
B3、使用终端将创建的多媒体文件的索引表上传至服务器。
4.根据权利要求1所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤C具体包括步骤:
C1、服务器接收存储多媒体文件的索引表,并从存储该多媒体文件的使用终端的好友列表中查询用户的好友信息,以及定位各好友的使用终端,并向存储该多媒体文件的使用终端发送多媒体文件块发布指令;
C2、存储该多媒体文件的使用终端接收服务器的多媒体文件块发布指令,并根据服务器的指令分多次,每次主动与一部分在线的好友的使用终端建立网络连接;
C3、使用终端根据所述多媒体文件的索引表每次选出若干个多媒体文件块,并将选出的多媒体文件块的数据发送给已建立好网络连接的好友的使用终端。
5.根据权利要求4所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤C3还包括:若对方的好友使用终端返回其专用存储区的空间不足的信息,则终止向该好友使用终端传送文件块。
6.根据权利要求4所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤C3还包括:每完成一多媒体文件块的传输,服务器实时监测更新该多媒体文件块对应的索引表上的索引。
7.根据权利要求6所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤C3之后还包括步骤:
C4、服务器通过更新的索引表,监测到同样的多媒体文件块被发布到新的使用终端上,在等待一预定时间后,向所述新的使用终端发送多媒体文件块发布指令,并返回步骤C2;
C5、当服务器监测到多媒体文件块的发布范围达到设定值时,终止文件块的发布。
8.根据权利要求1所述多媒体文件共享***共享多媒体文件的方法,其特征在于,所述步骤D具体包括:
D1、当使用终端接收到目标用户输入的下载某个多媒体文件的指令时,从服务器上下载该多媒体文件对应的索引表;
D2、使用终端根据索引表的索引文件的信息,逐个获取该多媒体文件的文件块;
D3、当某个文件块存在于多个使用终端上时,同时与该多个使用终端进行连接,发送数据请求,从多个源头同时下载该多媒体文件数据。
9.一种多媒体文件共享***,包括服务器和若干使用终端,其特征在于,所述服务器包括用户管理模块、索引管理模块和传播管理模块;
所述用户管理模块,用于负责好友列表的维护,将使用终端添加的新的好友后信息进行存储,以及用于提供查询接口给使用终端查询好友列表信息;
所述索引管理模块,用于对多媒体文件的索引表进行管理,每完成一多媒体文件块的传输,实时更新该多媒体文件块对应的索引表上的索引信息;所述索引信息包括:多媒体文件块的哈希值、使用终端的IP和多媒体文件块在使用终端上的存储位置;
所述传播管理模块,用于当使用终端需上传多媒体文件时,接收用户上传的多媒体文件的索引表,并控制使用终端分多次将多媒体文件块预先发布到其好友的使用终端上;以及用于当监测到多媒体文件块的发布范围达到设定值时,终止文件块的发布; 
所述使用终端包括好友信息管理模块、分块模块、文件块上传模块、文件块下载模块和专用区域管理模块;
所述好友信息管理模块,用于接收用户的操作进行用户注册以及好友查询、添加、删除的管理;
所述分块模块,用于对需上传的多媒体文件进行分块,将该多媒体文件从形式上分成若干多媒体文件块,并计算出每个多媒体文件块对应的哈希值,以及创建针对该多媒体文件分块后的索引表,并将该索引表上传至服务器;
所述文件块上传模块,用于接收服务器的多媒体文件块发布指令,将对应的多媒体文件块发送给由服务器端选定的好友的使用终端;
所述文件块下载模块,用于接收下载指令下载多媒体文件的文件块,并将下载的文件块存入专用存储区中;
所述专用区域管理模块,用于建立存储多媒体文件数据的专用存储区以及对该专用存储区进行管理。
10.根据权利要求9所述的多媒体文件共享***,其特征在于,所述传播管理模块进一步包括:
接收单元,用于接收存储多媒体文件的索引表;
定位单元,用于从使用终端的好友列表中查询用户的好友信息,定位各好友的使用终端;
指令发送单元,用于向各使用终端发送多媒体文件块发布指令;
控制单元,用于控制存储该多媒体文件的使用终端,根据服务器的多媒体文件块发布指令,主动与在线的好友的使用终端建立网络连接;并根据多媒体文件的索引表每次选出若干个多媒体文件块,并将选出的多媒体文件块的数据发送给已建立好网络连接的好友的使用终端。
CN201110069339.3A 2011-03-22 2011-03-22 一种多媒体文件共享***及其共享多媒体文件的方法 Expired - Fee Related CN102137163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110069339.3A CN102137163B (zh) 2011-03-22 2011-03-22 一种多媒体文件共享***及其共享多媒体文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110069339.3A CN102137163B (zh) 2011-03-22 2011-03-22 一种多媒体文件共享***及其共享多媒体文件的方法

Publications (2)

Publication Number Publication Date
CN102137163A true CN102137163A (zh) 2011-07-27
CN102137163B CN102137163B (zh) 2015-08-05

Family

ID=44296816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110069339.3A Expired - Fee Related CN102137163B (zh) 2011-03-22 2011-03-22 一种多媒体文件共享***及其共享多媒体文件的方法

Country Status (1)

Country Link
CN (1) CN102137163B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833266A (zh) * 2012-09-14 2012-12-19 腾讯科技(深圳)有限公司 一种网络社交方法、服务器及***
CN103138953A (zh) * 2011-11-30 2013-06-05 中国联合网络通信集团有限公司 多媒体消息的群发方法及群发***
CN103177026A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 数据管理方法和数据管理***
CN103368988A (zh) * 2012-03-28 2013-10-23 腾讯科技(深圳)有限公司 资源分享方法、***和装置
CN103533014A (zh) * 2013-04-23 2014-01-22 Tcl集团股份有限公司 一种用于提供临时扩展空间的方法及***
CN103686246A (zh) * 2013-11-26 2014-03-26 小米科技有限责任公司 传输流视频选时播放方法、装置、设备及***
CN103780925A (zh) * 2012-10-26 2014-05-07 深圳市快播科技有限公司 一种基于移动平台的在线视频点播方法和***
CN105100272A (zh) * 2015-08-31 2015-11-25 深圳市理邦精密仪器股份有限公司 心电图机智能文件传输方法及***
CN106559231A (zh) * 2015-09-25 2017-04-05 中兴通讯股份有限公司 多运维***间的网元信息共享方法、装置及***
CN107004180A (zh) * 2014-11-17 2017-08-01 微软技术许可有限责任公司 不同位置中的被共享的文件的本地表示
CN107566422A (zh) * 2017-10-30 2018-01-09 江西博瑞彤芸科技有限公司 一种第三方用户的验证方法
CN108848567A (zh) * 2013-10-31 2018-11-20 华为终端(东莞)有限公司 一种内容共享的方法及装置
CN108921488A (zh) * 2018-05-03 2018-11-30 北京水规院京华工程管理有限公司 水运工程管理平台
CN108965373A (zh) * 2018-05-04 2018-12-07 天津猎鹰网络技术有限公司 多媒体文件上传方法和装置
WO2018233701A1 (zh) * 2017-06-22 2018-12-27 中兴通讯股份有限公司 基于融合通信的信息处理方法、服务器及终端
CN110008178A (zh) * 2019-01-04 2019-07-12 阿里巴巴集团控股有限公司 分布式文件***元数据的组织方法及装置
CN111899885A (zh) * 2020-06-28 2020-11-06 万达信息股份有限公司 一种分布式人员事件索引实现方法和***
CN112187483A (zh) * 2019-07-03 2021-01-05 西安诺瓦星云科技股份有限公司 节目发布方法和节目发布***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068336A (zh) * 2006-08-22 2007-11-07 腾讯科技(深圳)有限公司 一种对等连接流媒体直播***和装置
CN101141627A (zh) * 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 一种流媒体文件的存储***及方法
CN101520793A (zh) * 2008-12-30 2009-09-02 深圳市同洲电子股份有限公司 一种流媒体文件存储和读取方法、***及流媒体服务器
CN101677328A (zh) * 2008-09-19 2010-03-24 中兴通讯股份有限公司 一种基于内容分片的多媒体分发***和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068336A (zh) * 2006-08-22 2007-11-07 腾讯科技(深圳)有限公司 一种对等连接流媒体直播***和装置
CN101141627A (zh) * 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 一种流媒体文件的存储***及方法
CN101677328A (zh) * 2008-09-19 2010-03-24 中兴通讯股份有限公司 一种基于内容分片的多媒体分发***和方法
CN101520793A (zh) * 2008-12-30 2009-09-02 深圳市同洲电子股份有限公司 一种流媒体文件存储和读取方法、***及流媒体服务器

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138953B (zh) * 2011-11-30 2015-11-25 中国联合网络通信集团有限公司 多媒体消息的群发方法及群发***
CN103138953A (zh) * 2011-11-30 2013-06-05 中国联合网络通信集团有限公司 多媒体消息的群发方法及群发***
CN103177026A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 数据管理方法和数据管理***
CN103368988A (zh) * 2012-03-28 2013-10-23 腾讯科技(深圳)有限公司 资源分享方法、***和装置
CN103368988B (zh) * 2012-03-28 2016-03-16 腾讯科技(深圳)有限公司 资源分享方法、***和装置
CN102833266A (zh) * 2012-09-14 2012-12-19 腾讯科技(深圳)有限公司 一种网络社交方法、服务器及***
CN102833266B (zh) * 2012-09-14 2016-06-22 腾讯科技(深圳)有限公司 一种网络社交方法、服务器及***
CN103780925A (zh) * 2012-10-26 2014-05-07 深圳市快播科技有限公司 一种基于移动平台的在线视频点播方法和***
CN103533014B (zh) * 2013-04-23 2017-04-05 Tcl集团股份有限公司 一种用于提供临时扩展空间的方法及***
CN103533014A (zh) * 2013-04-23 2014-01-22 Tcl集团股份有限公司 一种用于提供临时扩展空间的方法及***
CN108848567A (zh) * 2013-10-31 2018-11-20 华为终端(东莞)有限公司 一种内容共享的方法及装置
CN103686246A (zh) * 2013-11-26 2014-03-26 小米科技有限责任公司 传输流视频选时播放方法、装置、设备及***
CN103686246B (zh) * 2013-11-26 2017-03-15 小米科技有限责任公司 传输流视频选时播放方法、装置、设备及***
CN107004180A (zh) * 2014-11-17 2017-08-01 微软技术许可有限责任公司 不同位置中的被共享的文件的本地表示
CN105100272B (zh) * 2015-08-31 2018-09-25 深圳市理邦精密仪器股份有限公司 心电图机智能文件传输方法及***
CN105100272A (zh) * 2015-08-31 2015-11-25 深圳市理邦精密仪器股份有限公司 心电图机智能文件传输方法及***
CN106559231A (zh) * 2015-09-25 2017-04-05 中兴通讯股份有限公司 多运维***间的网元信息共享方法、装置及***
WO2018233701A1 (zh) * 2017-06-22 2018-12-27 中兴通讯股份有限公司 基于融合通信的信息处理方法、服务器及终端
CN107566422A (zh) * 2017-10-30 2018-01-09 江西博瑞彤芸科技有限公司 一种第三方用户的验证方法
CN107566422B (zh) * 2017-10-30 2020-10-27 江西博瑞彤芸科技有限公司 一种第三方用户的验证方法
CN108921488A (zh) * 2018-05-03 2018-11-30 北京水规院京华工程管理有限公司 水运工程管理平台
CN108965373A (zh) * 2018-05-04 2018-12-07 天津猎鹰网络技术有限公司 多媒体文件上传方法和装置
CN108965373B (zh) * 2018-05-04 2021-04-30 天津猎鹰网络技术有限公司 多媒体文件上传方法和装置
CN110008178A (zh) * 2019-01-04 2019-07-12 阿里巴巴集团控股有限公司 分布式文件***元数据的组织方法及装置
CN110008178B (zh) * 2019-01-04 2023-04-07 创新先进技术有限公司 分布式文件***元数据的组织方法及装置
CN112187483A (zh) * 2019-07-03 2021-01-05 西安诺瓦星云科技股份有限公司 节目发布方法和节目发布***
CN111899885A (zh) * 2020-06-28 2020-11-06 万达信息股份有限公司 一种分布式人员事件索引实现方法和***

Also Published As

Publication number Publication date
CN102137163B (zh) 2015-08-05

Similar Documents

Publication Publication Date Title
CN102137163B (zh) 一种多媒体文件共享***及其共享多媒体文件的方法
CN108737405B (zh) 一种对直播视频流进行导流的方法、ccl服务器和***
CN103457966B (zh) 基于dlna技术访问云存储设备的方法、设备及***
EP3242463B1 (en) Content distribution method and system for mobile terminal application
EP3439239B1 (en) Data transmission method and system based on peer-to-peer network
CN103581245A (zh) 一种内容分发网络内容分发的方法及***
CA2840106A1 (en) Offline download method, multimedia file download method and system thereof
US20190037015A1 (en) Peer-to-peer network prioritizing propagation of objects through the network
CN101854278A (zh) 即时通讯中的多媒体传输***和方法
CN101714987B (zh) P2p播放方法及***
US20120036105A1 (en) Method and Apparatus for Distributing Data in a Peer-To-Peer Network
CN108683730B (zh) 资源调度方法、业务服务器、客户终端、网络***和介质
EP2932689A1 (en) Managed p2p network with content-delivery network
EP2932685A1 (en) Content source selection in a p2p network
CN102164317A (zh) 一种面向ip机顶盒的多服务器分段下载***
KR101573197B1 (ko) 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치
CN103037015A (zh) 一种p2p数据主动分发方法及节点客户端
JP2012118709A (ja) 配信システム、ストレージ容量決定プログラム、及びストレージ容量決定方法
CN105704503A (zh) 一种基于saas媒体云技术的在线集成管控应用云平台的使用方法
CN101605242A (zh) 用于实现视频点播服务的方法、装置和***
CN104602035A (zh) 流媒体点播方法和流媒体点播***
CN108616600B (zh) 资源调度方法、客户服务器、节点设备、网络***和介质
CN101883124B (zh) 一种点播***的数据下载方法、装置及***
CN106231393B (zh) 视频信息的处理方法、装置和***
RU2522995C2 (ru) Способ и устройство создания одноранговой группы в одноранговом приложении и способ применения одноранговой группы

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150805