实现发布、分发的方法和系统转让专利

申请号 : CN200710176660.5

文献号 : CN101425899B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李春华郭宗明潘峰黄峰李凯

申请人 : 北大方正集团有限公司北京大学北京北大方正电子有限公司

摘要 :

本发明公开了一种实现发布分发的方法,该方法包括:A、服务器接收到数据下载终端发送的包含待下载的数据信息下载请求时,对所述数据下载终端进行认证;B、当认证通过时,服务器将所述数据对应的数据校验信息发送给所述数据下载终端;C、服务器将存储了所述数据的终端的标识发送给所述数据下载终端;D、所述数据下载终端从所述标识对应的终端中下载所述数据,并利用所述数据校验信息对下载的所述数据进行校验,当校验通过时,所述数据下载终端保存所述数据。通过本发明,提高了数据发布和分发的安全性,保证了终端和数据的合法性。本发明还公开了一种实现发布分发的系统。

权利要求 :

1.一种实现发布分发的方法,其特征在于,该方法包括以下步骤:A1、服务器对请求发布数据的初始数据提供终端进行认证;

在A1之后且步骤A之前,还包括:

A21、当认证通过后,所述初始数据提供终端为请求发布的数据制作所述数据校验信息,并将该数据校验信息和请求发布的数据发送给服务器;

A31、服务器利用所述数据校验信息对请求发布的数据进行验证,保存通过验证的数据,制作所述数据对应的发布控制信息,并发布所述数据对应的发布控制信息的访问地址;

或者,

A22、当认证通过后,所述初始数据提供终端将所述请求发布的数据上传至服务器;

A32、所述服务器制作所述数据对应的发布控制信息,并发布所述数据对应的发布控制信息的访问地址;

A、服务器对数据下载终端进行认证,当认证通过时,接收数据下载终端发送的包含待下载的数据信息的下载请求;

B、服务器将存储了所述数据的终端的标识发送给所述数据下载终端;

C、所述数据下载终端从所述标识对应的终端中下载所述数据;

D、所述数据下载终端利用数据校验信息对下载的所述数据进行校验,当校验通过时,保存所述数据;

所述发布控制信息包括所述数据校验信息和控制服务地址信息,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个。

2.如权利要求1所述的方法,其特征在于,步骤A中服务器对数据下载终端进行认证之前还包括:数据下载终端获取待下载数据对应的发布控制信息。

3.如权利要求2所述的方法,其特征在于,若数据下载终端获得的发布控制信息中包含了地域服务地址信息,则数据下载终端将所述数据下载之前,包括:确定数据下载终端所在的区域包含在所述地域服务地址信息对应的地域信息中。

4.如权利要求1所述的方法,其特征在于,若步骤D 中校验未通过,则返回步骤B。

5.如权利要求1所述的方法,其特征在于,若步骤D中所述数据下载终端将所述数据保存之后,还包括以下步骤:E、所述服务器保存所述数据下载终端的标识。

6.如权利要求1所述的方法,其特征在于,步骤B包括以下步骤:B1、服务器确定存储所述待下载的数据的终端;

B2、服务器从确定出的所述终端中选择满足设定条件的终端,并将该终端的标识发送给所述数据下载终端。

7.如权利要求6所述的方法,其特征在于,所述满足设定条件的终端为:与所述数据下载终端的属性信息相匹配的终端。

8.如权利要求7所述的方法,其特征在于,所述属性信息包括如下信息中的至少一个:终端的网络IP地址和通讯端口、终端所属的地域信息、终端所属的网络运营商信息、终端的网络地址转换属性、终端所使用的网络协议和终端的类型。

9.如权利要求7所述的方法,其特征在于,步骤C中数据下载终端下载所述数据之前还包括:根据数据下载终端的属性信息,对所述标识对应的终端进行探测,并根据探测结果确定出可用的终端;或者,在所述标识对应的终端中随机选择出至少一个,根据该终端的属性信息对所随机选择出的终端进行探测,并根据探测结果确定出可用的终端;或者,在所述标识对应的终端中选择出至少一个数据获取速度达到阈值的终端,根据该终端的属性信息,对选择出的所述终端进行探测,并根据探测结果确定出可用的终端。

10.一种实现发布分发的系统,其特征在于,该系统包括:初始数据提供终端、服务器和数据下载终端,其中,所述初始数据提供终端包括:

发布请求模块,用于向服务器请求发布数据;

第一制作模块,用于为请求发布的数据制作所述数据校验信息,并将该数据校验信息发送给所述服务器;

上传模块,用于将请求发布的数据上传至服务器;

所述服务器包括:

接收模块,用于接收数据下载终端发送的包含待下载的数据信息的下载请求;

终端认证模块,用于对所述数据下载终端和所述初始数据提供终端进行认证;

终端标识发送模块,用于当认证通过时,将存储了所述待下载的数据的终端的标识发送给所述数据下载终端;

发布数据校验模块,用于利用接收到的所述数据校验信息对请求发布的数据进行验证,并保存通过验证的数据;

第二制作模块,用于制作所述数据对应的发布控制信息;

发布模块,用于发布所述数据对应的发布控制信息的访问地址;

所述发布控制信息包括所述数据校验信息和各种控制服务,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个。

所述数据下载终端包括:

下载请求模块,用于向服务器发送所述下载请求;

下载模块,用于从接收到的所述标识对应的终端中下载所述数据;

下载数据验证模块,用于利用数据校验信息对下载的所述数据进行校验;

数据保存模块,用于当校验通过时,保存所述数据。

11.如权利要求10所述的系统,其特征在于,所述数据下载终端还包括:获取模块,用于获取待下载数据对应的发布控制信息。

12.如权利要求11所述的系统,其特征在于,若所述获取模块中获取了地域服务地址信息,则所述数据下载终端还包括:地域确定模块,用于确定数据下载终端所在的区域包含在所述地域服务地址信息对应的地域信息中。

13.如权利要求10所述的系统,其特征在于,所述数据下载终端还包括:上报模块,用于当所述数据保存模块保存所述数据时,将自身的标识发送给服务器;

所述服务器还包括:

共享资源信息保存模块,用于接收并保存所述数据下载终端的标识。

14.如权利要求10所述的系统,其特征在于,所述终端标识发送模块包括:终端确定单元,用于确定存储所述待下载的数据的终端;

选择单元,用于从确定出的所述终端中选择满足设定条件的终端,并将该终端的标识发送给所述数据下载终端。

15.如权利要求14所述的系统,其特征在于,所述满足设定条件的终端为:与所述数据下载终端的属性信息相匹配的终端。

16.如权利要求15所述的系统,其特征在于,所述下载模块包括:探测单元,用于根据数据下载终端的属性信息,对所述标识对应的终端进行探测;

或者

在所述标识对应的终端中随机选择出至少一个,根据该终端的属性信息对所随机选择出的终端进行探测;或者在所述标识对应的终端中选择出至少一个数据获取速度达到阈值的终端,根据该终端的属性信息,对选择出的所述终端进行探测;

执行单元,用于根据探测结果确定出可用的终端,并从该终端中下载所述数据。

说明书 :

实现发布、分发的方法和系统

技术领域

[0001] 本发明涉及通信领域的数据传输技术,尤其涉及一种在实现发布、分发的方法和系统。
[0002] 背景技术
[0003] 随着计算机技术的不断发展,对等网络(Peer to Peer,P2P)发布分发方法的应用越来越广泛。 P2P技术与目前网络中的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是:整个网络结构中不存在中心节点(或中心服务器),每一个节点(peer)大都同时具有信息获取者、信息提供者和信息通讯等三方面的功能。 在P2P网络中每一个节点所拥有的权利和义务都是对等的,就是直接将用户联系起来,让用户通过互联网直接交互,是一种双向的网络数据发布应用。 例如,通常所说的BT下载就是一种P2P技术的应用,同时在线下载的人数越多下载速度就越快。 [0004] 但是,现有的网络,特别是P2P网络的数据发布、分发过程中,普遍存在对数据的不可控制和不可管理的缺陷,用户既可以利用P2P技术任意地发布数据,也可以从其他用户处任意地下载数据,导致网络分发系统中数据的发布和分发的安全性低,并且发布和分发的数据很可能为不合法数据(如盗版数据),其结果是P2P技术助长了盗版的泛滥,严重的损害了内容提供商的利益。
[0005] 发明内容
[0006] 本发明实施例提供一种实现发布、分发的方法和系统,以解决现有技术中存在的数据发布不可控的问题。
[0007] 一种实现发布分发的方法,该方法包括以下步骤:
[0008] A1、服务器对请求发布数据的初始数据提供终端进行认证;
[0009] 在A1之后且步骤A之前,还包括:
[0010] A21、当认证通过后,所述初始数据提供终端为请求发布的数据制作所述数据校验信息,并将该数据校验信息和请求发布的数据发送给服务器;
[0011] A31、服务器利用所述数据校验信息对请求发布的数据进行验证,保存通过验证的数据,制作所述数据对应的发布控制信息,并发布所述数据对应的发布控制信息的访问地址;
[0012] 或者,
[0013] A22、当认证通过后,所述初始数据提供终端将所述请求发布的数据上传至服务器;
[0014] A32、所述服务器制作所述数据对应的发布控制信息,并发布所述数据对应的发布控制信息的访问地址;
[0015] A、服务器对数据下载终端进行认证,当认证通过时,接收数据下载终端 发送的包含待下载的数据信息的下载请求;
[0016] B、服务器将存储了所述数据的终端的标识发送给所述数据下载终端; [0017] C、所述数据下载终端从所述标识对应的终端中下载所述数据; [0018] D、所述数据下载终端利用数据校验信息对下载的所述数据进行校验,当校验通过时,保存所述数据;
[0019] 所述发布控制信息包括所述数据校验信息和控制服务地址信息,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个。
[0020] 一种实现发布分发的系统,包括初始数据提供终端、数据下载终端和服务器,其中,
[0021] 所述初始数据提供终端包括:
[0022] 发布请求模块,用于向服务器请求发布数据;
[0023] 第一制作模块,用于为请求发布的数据制作所述数据校验信息,并将该数据校验信息发送给所述服务器;
[0024] 上传模块,用于将请求发布的数据上传至服务器;
[0025] 所述服务器包括:
[0026] 接收模块,用于接收数据下载终端发送的包含待下载的数据信息的下载请求; [0027] 终端认证模块,用于对所述数据下载终端和所述初始数据提供终端进行认证; [0028] 终端标识发送模块,用于当认证通过时,将存储了所述待下载的数据的终端的标识发送给所述数据下载终端;
[0029] 发布数据校验模块,用于利用接收到的所述数据校验信息对请求发布的数据进行验证,并保存通过验证的数据;
[0030] 第二制作模块,用于制作所述数据对应的发布控制信息;
[0031] 发布模块,用于发布所述数据对应的发布控制信息的访问地址; [0032] 所述发布控制信息包括所述数据校验信息和各种控制服务,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个。
[0033] 所述数据下载终端包括:
[0034] 下载请求模块,用于向服务器发送所述下载请求;
[0035] 下载模块,用于从接收到的所述标识对应的终端中下载所述数据; [0036] 下载数据验证模块,用于利用数据校验信息对下载的所述数据进行校验; [0037] 数据保存模块,用于当校验通过时,保存所述数据。
[0038] 本发明实施例中,对初始数据提供终端和数据下载终端的认证以及对上传的数据和下载的数据进行校验的方法,实现了对数据发布和分发过程的有效控制,大大提高了数据发布和分发的安全性,保证了终端和数据的合法性。
[0039] 附图说明
[0040] 图1为本发明实施例一中实现网络发布分发的系统结构示意图; [0041] 图2为本发明实施例一中终端标识发送模块结构示意图;
[0042] 图3为本发明实施例一中下载模块结构示意图;
[0043] 图4为本发明实施例二中实现网络发布分发的系统结构示意图; [0044] 图5(a)和图5(b)为本发明实施例二中实现网络发布分发的步骤流程示意图; [0045] 图6为本发明实施例三中下载数据的流程示意图。

具体实施方式

[0046] 下面结合说明书附图对本发明进行详细描述。
[0047] 在本发明各实施例中,可以是在基于CS结构或P2P结构的基础上实现的数据发布分发过程,后续实施例可以以P2P结构为例详细描述本发明。
[0048] 如图1所示,为本发明实施例一中实现在P2P网络中的发布分发的系统结构示意图,从图中可以看出,该系统包括服务器11和数据下载终端12,下面分别对其进行描述。 [0049] 所述服务器11包括:接收模块21、终端认证模块22和终端标识发送模块23,其中,接收模块21用于,接收数据下载终端12发送的包含待下载的数据信息的下载请求;终端认证模块22用于对所述数据下载终端12进行认证;终端标识发送模块23用于当对所述数据下载终端12认证通过后,将存储了所述待下载的数据的终端的标识发送给所述数据下载终端12。
[0050] 所述数据下载终端12包括:下载请求模块31、下载模块32、下载数据验证模块33和数据保存模块34,其中,下载请求模块31用于向服务器11发送所述下载请求;下载模块32用于接收所述终端标识发送模块23发送的所述标识,并从所述标识对应的终端中下载所述数据;下载数据验证模块33用于利用数据校验信息对下载的所述数据进行校验;数据保存模块34用于当校验通过时,保存所述数据。
[0051] 所述系统还包括初始数据提供终端13,包括发布请求模块41,用于向服务器11请求发布数据;接收模块21接收到所述请求后,所述终端认证模块22还用于对所述初始数据提供终端13进行认证。
[0052] 在本发明实施例中,数据下载终端12对下载的数据进行校验是根据数据校验信息实现的,该数据校验信息的制作可以是由服务器11完成的,所述初始数据提供终端13还包括第一制作模块42和上传模块43,其中,第一制作模块42用于当认证通过后,为请求发布的数据制作所述数据校验信息,并将该数据校验信息发送给所述服务器11;上传模块43用于将请求发布的数据上传至服务器11;所述服务器11还包括发布数据校验模块24和发布模块25,其中,发布数据校验模块24用于利用接收到的所述数据校验信息对请求发布的数据进行验证,并保存通过验证的数据;发布模块25用于发布所述数据对应的发布控制信息的访问地址,所述发布控制信息包括所述数据校验信息和各种控制服务,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个。 [0053] 所述数据下载终端12还包括获取模块35,用于从发布模块25处获取待下载数据对应的发布控制信息。所述下载数据验证模块33中所利用的数据校验信息就是从获取模块35中得到的。
[0054] 若所述获取模块35中获取了地域服务地址信息,则所述数据下载终端12还包括地域确定模块36,用于确定数据下载终端所在的区域包含在所述地域服务地址信息对应的地域信息中。
[0055] 每一个成功获得数据的终端在后续都会被动成为数据提供者,因此,所述数据下载终端12还包括上报模块37,用于当数据保存模块34成功保存所述数据时,将自身的标识、共享资源的标识以及终端的属性发送给服务器11。则服务器11还包括共享资源信息保存模块27,用于当所述数据下载终端12保存所述数据时,接收上报模块37发送的信息。该数据下载终端的标识可以是在发起下载请求时携带的。 在共享资源信息保存模块27中,保存了应用数据信息和保存了该应用数据的终端标识,终端标识发送模块23从共享资源信息保存模块27中查询出可用的终端标识,并发送给数据下载终端12。 [0056] 共享资源信息保存模块27中可以维护一张共享资源信息列表,为每一应 用数据对应若干个保存该应用数据的终端标识,该终端标识可以是像数据下载终端12这样被动成为数据提供者的终端标识,也可以是初始数据提供终端13的标识,还可以是服务器11的标识(由发布数据校验模块24提供),除了保存标识之外,还保存各终端的属性信息,以便进行后续对终端的选择、探测等操作。
[0057] 除了实现数据控制之外,本发明实施例提供的系统还可以实现网络流量的控制,如图2所示,为系统中终端标识发送模块23的内部结构示意图,所述终端标识发送模块23包括终端确定单元51和选择单元52,其中,终端确定单元51用于确定存储所述待下载的数据的终端;选择单元52用于从确定出的所述终端中选择满足设定条件的终端,并将该终端的标识发送给所述数据下载终端。
[0058] 所述满足设定条件的终端为:与所述数据下载终端的属性信息相匹配的终端。 [0059] 不仅服务器对终端的选择能够实现流量控制,数据下载终端对接收到的标识对应的终端也要进行探测,进一步实现流量控制,如图3所示,为系统中下载模块32的结构示意图,所述下载模块32包括探测单元61和执行单元62,其中,探测单元61用于根据数据下载终端的属性信息,对所述标识对应的终端进行探测;或者在所述标识对应的终端中随机选择出至少一个,根据该终端的属性信息对所随机选择出的终端进行探测;或者在所述标识对应的终端中选择出至少一个数据获取速度达到阈值的终端,根据该终端的属性信息,对选择出的所述终端进行探测;执行单元62用于根据探测结果确定出可用的终端,并从该终端中下载所述数据。
[0060] 在本发明实施例中,数据下载终端12利用终端标识下载数据之前可以对接收到的终端标识进行三次筛选,即通过地域确定模块36、选择单元52和探测单元61进行筛选,此三次筛选过程的先后顺序可以不确定。
[0061] 与本发明实施例一有所区别的是,在本发明实施例二中,数据校验信息的 制作可以是由初始数据提供终端13完成,如图4所示,初始数据提供终端13包括上传模块43,用于当认证通过后,将所述请求发布的数据上传至服务器11;所述服务器11还包括发布模块25和第二制作模块26,其中,第二制作模块26用于制作所述数据对应的发布控制信息,该信息包括所述数据校验信息和各种控制服务,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个;发布模块25用于发布所述数据对应的发布控制信息的访问地址。
[0062] 除了制作数据校验信息的实体不同之外,其他的特征可以与实施例一中的系统相同,此处不再赘述。
[0063] 本发明实施例一和实施例二中描述的系统还对应本发明实施例三的一种实现网络发布分发的方法,在本实施例中,设定是由发布侧的初始数据提供终端将待发布的数据第一次主动发布,如图5(a)所示,该方法主要包括以下步骤:
[0064] 步骤501:服务器对请求发布数据的初始数据提供终端进行认证,若认证未通过则执行步骤502,否则执行步骤503。
[0065] 发布侧的初始数据提供终端需要将数据发布,与其他终端共享。 该数据可以是应用数据,包括音频数据和视频数据等。
[0066] 对终端进行认证可以认为是只有授权的终端才有发布数据的权限,在本实施例中,认证过程可以有多种,包括但不限于以下方式:
[0067] 1、终端A首次接入服务器时,需要进行注册,并且获得注册码。 [0068] 例如,终端A接入服务器时携带自身的参数信息,由服务器对其提供的参数信息进行鉴权,当鉴权通过时,认为终端A注册成功,并为其分配一个注册码。 或者,还可以有其它情况,如:若本实施例中的服务器为某一运营商提供的服务器,则终端A可以先向该运营商指定的服务器上进行注册,并获取注册码。
[0069] 2、终端A接入服务器后,若希望执行发布数据的操作,则向服务器再次 输入获得的注册码,当服务器对该注册码鉴权通过后,允许终端A执行后续的操作。 [0070] 通过上述1、2步的过程,可以看作终端A认证通过,为了提高系统的安全性,可以周期性地修改终端A获得的注册码,以防注册码被盗。
[0071] 步骤502:向发布侧的初始数据提供终端返回认证未通过信息,停止网络发布分发过程。
[0072] 步骤503:对待发布的数据进行校验,所述初始数据提供终端为请求发布的数据制作所述数据校验信息,并将该数据校验信息和待发布的数据发送给服务器。 [0073] 步骤504:服务器利用所述数据校验信息对请求发布的数据进行验证,并保存通过验证的数据。
[0074] 步骤505:服务器制作所述数据对应的发布控制信息,该信息包括接收到的所述数据校验信息和控制服务地址信息,所述控制服务包括:发布服务、索引服务、地域服务和认证服务中的一个或多个。
[0075] 步骤506:服务器发布所述数据对应的发布控制信息的访问地址。 [0076] 在本实施例中,步骤503和504不是必须的,如图5(b)所示,服务器对待发布的数据进行校验并制作发布控制信息的方式还可以是以下步骤:
[0077] 步骤503A:所述初始数据提供终端将所述请求发布的数据上传至服务器。 [0078] 步骤504A:所述服务器制作所述数据对应的发布控制信息,该信息包括数据校验信息和控制服务地址信息。
[0079] 初始数据提供终端将数据上传到服务器之后,将不能再对数据进行修改,也不能任意地将该数据发布给其他终端。 为了提高安全性,服务器可以为接收到的数据和该数据对应的发布控制信息及进行数字签名处理。
[0080] 在本实施例中,为了保证数据的安全性,发布控制信息可以采用数据版权保护(DRM)技术来制作。 在制作发布控制信息时可以引入区域管理和定位机制。 在制作的发布控制信息中嵌入地域信息和/或网络运营商信息,其中,地域 信息可以通过地域服务地址信息获得,可以是国别信息、省份信息、城市信息等,甚至可以根据用户需要划分为更加细致的区域。 后续,当接收侧终端请求获取某一发布控制信息对应的数据时,根据接收侧终端的标识(如IP地址等)查询出该终端所在的区域,当终端所在的区域包含在请求的发布控制信息中嵌入的地域信息时,则允许该终端获取数据。 [0081] 不论利用哪种方式,服务器都会向外界发布发布控制信息的访问地址,该访问地址可以是统一资源定位符(URL)。
[0082] 该发布控制信息中包含数据校验信息,在后续数据下载的过程中,接收侧终端将应用数据下载时,需要通过该数据校验信息将下载的数据进行验证,确保下载的数据可靠且未被篡改。
[0083] 通过实施例三的描述,实现了发布侧终端主动将数据第一次发布的过程,当服务器将发布显示信息发布后,数据下载终端可以根据该发布显示信息索引到发布控制信息的访问地址。接收侧的数据下载终端可以为一个或多个,称之为数据下载终端。 如图6所示,为本发明实施例四中下载数据的流程示意图,该过程包括:
[0084] 步骤601:数据下载终端获取待下载数据对应的发布控制信息,该发布控制信息包括数据校验信息和控制服务地址信息。
[0085] 步骤602:服务器对数据下载终端进行认证,若认证通过,则执行步骤603,否则,执行步骤609。
[0086] 与步骤501中对发布侧终端进行认证的过程相类似,对接收侧终端的认证也可以认为是只有授权的终端才有获取数据的权限。
[0087] 另外,还可以设定若一终端具有发布数据的权限,则当该终端作为接收侧终端时,也具有获取数据的权限。
[0088] 步骤603:数据下载终端向服务器发送下载请求,该请求中包含待下载的数据信息(如名称等)。
[0089] 步骤604:服务器将存储了所述数据的终端的标识发送给所述数据下载终 端。 [0090] 步骤605:数据下载终端从所述标识对应的终端中下载所述数据。 [0091] 步骤606:数据下载终端利用数据校验信息对下载的所述数据进行校验,若校验通过,则执行步骤607,否则执行步骤608。
[0092] 根据发布控制信息中的数据校验信息对下载的数据进行校验,确保该下载的数据来源的合法性,并确定该数据在发布之后,下载之前内容没有被篡改。 [0093] 若上传的数据第一次被下载时,此时,存储所述数据的实体为实施例三中的初始数据提供终端和/或服务器,只有当下载的数据通过了校验,接收侧终端才能将其保存在本地。
[0094] 若上传的数据若干次被成功下载后,此时,存储所述数据的实体除了实施例二中的初始数据提供终端和/或服务器之外,还包括下载了该数据的终端,该终端在下载数据的过程中是接收侧的终端,在下载成功之后,将自身的标识上报给服务器,则服务器可以保存索引信息,该索引信息中包含应用数据的信息和存储了该应用数据的终端的标识,在需要时,将索引信息中的内容提供给下载侧的终端。 在后续其他终端下载数据时,将作为被动的数据提供者出现,即P2P下载过程。
[0095] 当接收侧终端一次下载后,对下载数据的校验未通过时,服务器将判断是否还存在其他的存储了所述数据的终端,若存在,则将该终端的标识发送给所述接收侧终端,该接收侧终端根据所述标识与存储了所述数据的终端建立连接,并再次执行步骤606,进行数据校验。
[0096] 步骤607:数据下载终端将校验通过的所述数据保存到本地,并向服务器上报所述数据下载终端的标识。
[0097] 在终端将数据下载之前,若进一步地,发布控制信息中还包含了地域信息,则该终端所在的区域包含在所述地域信息中时,终端才能保存所述数据。 当终端所在的区域包含在所述地域信息中时,执行校验过程。
[0098] 接收侧终端将下载的数据保存到本地。 为了进一步保证传输的安全性,终 端下载数据时利用安全网络传输通道,如安全套接字(SSL)技术。
[0099] 在本发明实施例中,接收侧终端可以从初始数据提供终端中获取数据,也可以从服务器中获取数据,还可以从其他已下载该数据的终端中获取数据。 [0100] 步骤608:返回步骤604。
[0101] 若接收侧的终端的认证未通过,则停止下载过程,并向终端返回认证未通过信息。
[0102] 若待下载的数据全部未通过校验,也停止下载过程。
[0103] 在步骤604中,服务器将存储了所述数据的终端的标识发送给所述数据下载终端的过程还需要考虑到资源定位的过程,否则,由于使用定位资源时不区分地域等信息,网络数据传输需要跨越骨干网络,造成骨干网的数据拥堵,甚至跨越因特网服务供应商(Internet Service Provider,ISP),造成极坏的后果。 因此,步骤604可以细化为以下步骤:
[0104] 步骤A:服务器确定存储所述待下载的数据的终端;
[0105] 步骤B:服务器从确定出的所述终端中选择满足设定条件的终端,并将该终端的标识发送给所述数据下载终端。
[0106] 所谓设定的条件可以根据用户的实际需要设定,在本实施例中,所述满足设定条件的终端为:与所述数据下载终端的属性信息相匹配的终端。
[0107] 所述属性信息包括如下信息中的至少一个:终端的网络IP地址和通讯端口、终端所属的地域信息、终端所属的网络运营商信息、终端的网络地址转换属性、终端所使用的网络协议和终端的类型。
[0108] 例如:设定属性信息为终端所属的地域信息,数据下载终端位于北京地区,服务器确定存储所述待下载的数据的终端有100个,其中,位于北京地区的30个,位于上海地区的40个,位于纽约地区的30个,设定同一区域的终端才能匹配,因此,步骤B中服务器认为位于北京地区的30个终端为属性信息相匹配的终端。
[0109] 通过步骤604中利用属性信息对终端进行筛选后,在步骤605中,数据下 载终端还可以进一步包括:A:对接收到的标识对应的终端进行探测;B:确定出可用的终端,实现对网络流量的控制。 探测的方式包括但不限于以下几种:
[0110] 第一种:根据数据下载终端的属性信息,对所述标识对应的终端进行探测,并根据探测结果确定出可用的终端;
[0111] 第二种:在所述标识对应的终端中随机选择出至少一个,根据该终端的属性信息对所随机选择出的终端进行探测,并根据探测结果确定出可用的终端; [0112] 第三种:在所述标识对应的终端中选择出至少一个数据获取速度达到阈值的终端,根据该终端的属性信息,对选择出的所述终端进行探测,并根据探测结果确定出可用的终端。
[0113] 下面以第一种方式为例,设定属性信息为终端所属的网络运营商信息,则具体的探测过程为:
[0114] 第一步:确定所属的网络运营商为X。
[0115] 第二步:确定接收到的30个标识对应的终端所属的网络运营商,其中,5个终端所属的网络运营商为X,10个终端所属的网络运营商为Y,15个终端所属的网络运营商为Z。
[0116] 第三步:数据下载终端将属于网络运营商X的5个终端作为可用终端。 [0117] 当然,数据下载终端还可以根据位置信息从上述5个终端中确定出距离最近的终端作为优先级最高的终端。
[0118] 下面通过一实例来描述本发明实施例四。
[0119] 设定终端A、终端B和终端C为已成功下载该数据的终端,服务器保存了已存储该数据的终端A、B、C的标识,此时,终端D希望从网络侧下载该数据。 [0120] 第一步:终端D获得待下载数据对应的发布控制信息。
[0121] 第二步:服务器对数据下载终端D进行认证,确定其为授权终端。 [0122] 第三步:服务器确定存储所述待下载的数据的终端,分别为终端A、B和C。 [0123] 第四步:服务器从终端A、B和C中确定出满足设定条件的终端:终端A、B,并将终端A、B的标识发送给终端D。
[0124] 第五步:终端D探测出终端A为可用终端,建立与终端A的连接。 [0125] 在此步中,若需要考虑到地域服务地址信息对应的地域信息,则终端D还需要确定自身所在的区域包含在地域信息确定的区域中。 根据地域信息的判断过程可以在终端D与终端A建立连接之间进行。
[0126] 第六步:终端D从终端A中将数据下载,并根据所述发布控制信息中的数据校验信息对下载的所述数据进行校验。
[0127] 第七步:若校验通过,则终端D将保存所述数据到本地,并在服务器中保存终端D的标识。
[0128] 第八步:若校验未通过,则终端D与终端B建立连接,并从终端B中下载所述数据并对数据进行校验。
[0129] 第九步:若全部满足条件的终端存储的所述数据都未通过校验,则停止下载。 [0130] 本发明实施例三的过程可以看作是发生在步骤601之前,将实施例三与实施例四结合在一起,形成一个完整的发布、分发过程。
[0131] 通过本发明实施例提供的方法和系统,实现了对数据发布和分发过程的有效控制,大大提高了数据发布和分发的安全性,保证了终端和数据的合法性。 另外,对提供下载数据的终端进行选择和探测,避免了骨干网的数据拥堵,实现了网络流量的控制。 [0132] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。 这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。