一种数据传输的方法及系统的制作方法

文档序号:7663446阅读:96来源:国知局
专利名称:一种数据传输的方法及系统的制作方法
技术领域
本发明涉及计算机及通信领域,特别是涉及数据传输的方法及系统。
技术背景互联网的主要应用之一就是资源共享,用户可通过互联网获得需要的信息 和数据。目前主要采用分布式存储的方式,数据传输过程的示意图参见图1所 示。 一个客户端从服务器下载数据后,当其它客户端需要所述数据时,可同时 从该客户端和服务器下载数据。这种方式实现了不只从服务器这单一数据源获 得数据,从而降低了服务器的带宽压力及服务器的数量,降低运营成本。但是,在数据传输的早期,尤其是初期,拥有该数据的客户端数量较少。 其它大量客户端在需要该数据时,主要从服务器获得,服务器的负载仍然较重。 并且,客户端具有不稳定性,容易被用户移动或删除,以及容易受到外部攻击 而使数据损坏,使得能提供数据的客户端的数量进一步减少。综上,在数据传输的早期,由于能够提供该数据的客户端数量较少,所以 服务器的负载较重。发明内容本发明实施例提供一种数据传输的方法及系统,用于实现提高数据传输的 效率,减轻服务器的负载。一种数据传输方法,包括以下步骤 确定第 一客户端为预备客户端; 主动向预备客户端传输数据;当第二客户端需要获得所述数据时,由预备客户端向第二客户端提供所述 数据。 一种装置,包括部署模块,用于确定第一客户端为预备客户端,需要主动向预备客户端传输数据;接口模块,用于向预备客户端传输数据,当第二客户端需要获得所述数据 时,与预备客户端共同向第二客户端传输所述数据。一种系统,包括服务器,用于确定第一客户端为预备客户端,并主动向预备客户端传输数 据,以及当第二客户端需要获得所述数据时向第二客户端传输所述数据;所述第一客户端,用于获得所述数据,并在第二客户端需要获得所述数据 时向第二客户端传输所述数据;所述第二客户端,用于从所述服务器和所述第一客户端获得所述数据。 本发明实施例通过预先部署第一客户端来解决在数据传输早期主要由数 据源服务器提供数据的问题。


图1为现有技术中数据传输过程的示意图;图2为本发明实施例中系统的基本结构图;图3为本发明实施例中服务器的结构图;图4为本发明实施例中系统的具体结构图;图5为本发明实施例中数据传输的主要方法流程图;图6为本发明实施例中第一种数据传输的具体方法流程图;图7为本发明实施例中第二种数据传输的具体方法流程图;图8为本发明实施例中第三种数据传输的具体方法流程图。
具体实施方式
本发明实施例通过在数据传输的早期预先在一些客户端上部署数据,来緩 解服务器的压力。
本发明实施例中数据源从设备角度看包括服务器和客户端,从应用角度看 包括业务发布平台。本实施例以数据源为服务器(以下称数据源服务器)为例 进行说明。本发明实施例中负责部署设备的装置可以是服务器也可以是客户 端。本发明实施例中的预备客户端为预先部署的设备。参见图2,本实施例中的系统包括服务器201、第一客户端202和第二客 户端203。服务器201用于进行关于客户端的部署操作,如确定第一客户端202为预 备客户端,并主动向预备客户端传输数据,以及当第二客户端203需要获得所 述数据时向第二客户端传输所述数据。服务器201获知第二客户端203需要获 得所述数据的方式有多种,如根据第二客户端203发送的请求所述数据的消息 获知;如第二客户端203登录到某网站(包括即时通信系统上线)时获知。第一客户端202 (即预备客户端)用于从服务器201获得所述数据,并在 第二客户端203需要获得所述数据时向第二客户端203传输所述数据。第一客 户端202获知第二客户端203需要获得所述数据的方式有多种,如根据第二客 户端203发送的请求所述数据的消息获知;如根据服务器201的通知(例如以 消息形式通知)获知。第一客户端202是一种泛指,具有该功能的客户端可以 有多个。第二客户端203用于从服务器201和第一客户端202获得所述数据。第二 客户端203可以是被动接收服务器201和第一客户端202传输的所述数据,或 者第二客户端203从服务器201处获得第一客户端202的设备信息,根据该设 备信息主动连接到第一客户端202,并获得所述数据。第二客户端203可以通 过服务器201主动发送的消息获得第一客户端202的设备信息,或者,第二客 户端203定期访问服务器201,例如发送用于询问是否有能够提供所述数据的 其它设备,然后根据服务器201返回的消息获得第一客户端202的设备信息。 第二客户端203是一种泛指,具有该功能的客户端可以有多个。第 一客户端202和第二客户端203是在一个应用场景中的两个客户端,从
设备实体角度或不同的应用场景中,第 一客户端202和第二客户端203可以是 同一客户端。例如,预设在一个客户端上部署了某个文件,当其它客户端需要 该文件时可以从该客户端处获得,此时该客户端的作用相当于第一客户端202。 当该客户端需要获得其它文件时,则需要从其它客户端处获得,此时该客户端 的作用相当于第二客户端203。本实施例中的数据可能包括多个文件的数据,则在部署客户端时,可以部 署一些客户端保存文件a的数据,部署一些客户端保存文件b的数据,过一段 时间(如7天)后,可根据数据需求量的变化,再^:调整部署。可以认为这一 段时间内需求的客户端越多,将来可能的需求量越大,可以通过有需求的客户 端的总数进行判断,也可通过有需求的客户端的增长率(如每天的增加的客户 端数量)进行判断;或者认为这一段时间内需求的客户端越多,将来可能的需 求量越小。参见图3,本实施例中的服务器201包括部署模块301和接口模块302。 部署模块301用于确定第一客户端202为预备客户端,以及需要主动向预 备客户端传输数据。网络中的客户端较多,部署模块301需要从中选择部分客 户端作为预备客户端。选择的依据有多种,如第一种统计各客户端的在线时二种确定当前第一客户端202的网络带宽满足传输所述数据的需要,例如, 确定第一客户端202的网络带宽(如100KB/s)超过预设的带宽阈值(如50 KB/s);或者,根据所述数据的大小(如5MB)和第一客户端202的网络带宽 (如100KB/s),确定向第一客户端202传输所述数据的时长(如 5*1024/100=51.2s)未超过预设的传输阈值(如600s)。如第三种配置有第一 客户端202上可用空间的大小(如50MB ),确定所述数据的大小不超过第一客 户端上可用空间的大小(如5MB),其中可以通过与第一客户端202交互获知 第一客户端202上可用空间的大小。也可以是上述多种方式的组合。对于第三 种方式,部署模块301可以将所述数据的大小发送给第一客户端202,由第一 客户端202进行判断,然后部署模块301根据第一客户端202返回消息(如"允 许"或"拒绝")确定是否将第一客户端202部署为预备客户端。接口模块302用于向预备客户端传输数据,当第二客户端203需要获得所 述数据时,与预备客户端(即第一客户端202)共同向第二客户端203传输所 述数据。服务器201还包括控制模块303,控制模块303用于通过接口模块302收 到第二客户端203发送的消息或获知第二客户端203的行为(例如登录网站), 通过对第二客户端203的消息或行为进行分析,获知第二客户端203需要获得 所述数据。控制模块303的功能也可由接口模块302完成。服务器201还包括存储模块304,存储模块304用于存储数据、数据的大 小和标识等,具体可以以数据库的形式存储。本实施例中的服务器201是对服务器的泛指,具体可由多个服务器构成, 参见图4所示,具体包括部署服务器401和数据源服务器402。 一个应用实例 如部署模块301位于部署服务器401,存储模块304位于数据源服务器402, 部署服务器401和数据源服务器402均包括接口模块302和控制模块303。本 实施例是以服务器为例来描述用于部署设备的装置,在其他实施例中,部署服 务器401和数据源服务器402也可以是客户端。下面对部署服务器401和数据 源服务器402的作用进行详细描述。部署服务器401用于确定第一客户端202为预备客户端。部署服务器401 还用于通过本地的接口模块302获知第二客户端203需要获得所述数据,并指 示(具体可以通过发送消息的形式进行指示,或者通过^/f牛触发的形式进行指 示)所述数据源服务器402向第二客户端203传输所述数据。数据源服务器402用于主动向预备客户端传输数据,以及当第二客户端 203需要获得所述数据时向第二客户端203传输所述数据。数据源服务器401 还用于通过本地的接口模块获知第二客户端203需要获得所述数据,并向其传 输所述数据。数据源服务器402可以通过部署服务器401的指示获知第二客户
端203需要获得所述数据,或者根据第二客户端203的消息或行为获知。部署服务器401和数据源服务器402均可通知第一客户端202向第二客户 端203传输数据;或者,部署服务器401直接或通过数据源服务器402将第一 客户端202的设备信息(包括标识、互联网协议(Internet Protocol, IP)地址 和统一资源定位(Uniform Resource Locator, URL)地址等)发送给第二客户 端203,由第二客户端203连接到第一客户端202并获得所述数据。以上是对本实施例中的系统及各设备的描述,下面介绍传输数据的方法, 参见图5所示,主要方法流程如下步骤501:确定第一客户端202为预备客户端。第一客户端202可表示多 个客户端。步骤502:主动向预备客户端传输数据。步骤503:当第二客户端203需要获得所述数据时,由预备客户端向第二客户端203提供所述数据。第二客户端203可表示多个客户端。 下面通过三个实施例对传输数据的方法进行详细描述。 参见图6,部署服务器401占主导地位时,传输数据的方法流程如下 步骤601:运营商在数据源服务器402上发布了新的数据。 步骤602:部署服务器401判断第一客户端202在线时间的长度(指在一定时间范围内的平均在线时间的长度)是否不小于时长阈值,若是,则继续步骤603,否则结束流程。步骤603:部署服务器401判断第一客户端202目前的可用空间的大小是否不小于数据的大小,若是,则继续步骤604,否则结束流程。部署服务器401可以通过协商的方式与第一客户端202约定使用50MB的空间,判断这50MB的空间中可用的空间是否满足需要部署的数据的大小。 步骤604:部署服务器401判断第一客户端202目前的网络带宽是否满足传输所述数据的需要,若是,则继续步骤605,否则结束流程。步骤605:部署服务器401指示数据源服务器402向第一客户端202传输
所述数据。步骤606:部署服务器401获知第二客户端203访问某网站,需要向其发 送所述数据。步骤607:部署服务器401指示数据源服务器402和第一客户端202向第 二客户端203传输所述数据。部署服务器401获知第一客户端202访问该网站时,由于已确定第一客户 端202为预备客户端,所以不需要向第一客户端202传输所述数据,避免重复 传输和占用资源。参见图7,数据源服务器402占主导地位时,传输数据的方法流程如下步骤701:运营商在数据源服务器402上发布了文件a和文件b。步骤702:部署服务器401确定集合1和集合2中的客户端为预备客户端,并确定需要在集合1中的客户端上部署文件a,以及需要在集合2中的客户端上部署文件b。步骤703:部署服务器401指示数据源服务器402向集合1中的客户端传 输文件a,以及向集合2中的客户端传输文件b。步骤704:数据源服务器402获知第二客户端203登录到某网站,并向其 传输文件a和文件b。步骤705:数据源服务器402指示集合1中的客户端向第二客户端203传 输文件a,指示集合2中的客户端向第二客户端203传输文件b。步骤706:部署服务器401判断在集合1中的客户端上部署文件a及在集 合2中的客户端上部署文件b的时间是否达到预设的保存阈值,若是,则继续 步骤707,否则结束流程。步骤707:部署服务器401删除集合1和集合2中客户端上的文件a和文 件b,并确定集合1和集合2中的客户端不再作为预备客户端,以减少空间资 源的占用。参见图8,客户端占主导地位时,传输数据的方法流程如下
步骤801:运营商在数据源服务器402上发布了文件a和文件b。步骤802:部署服务器401确定集合1和集合2中各一客户端(如第一客 户端202)为预备客户端,并确定需要在集合l中的预备客户端上部署文件a, 以及需要在集合2中的预备客户端上部署文件b。由集合1和集合2中所述各一客户端继续对所在集合中的客户端(如第三 客户端)进行部署,以分担部署服务器401的部署操作。步骤803:部署服务器401指示数据源服务器402向集合1中的预备客户 端传输文件a,以及向集合2中的预备客户端传输文件b。步骤804:数据源服务器402获知第二客户端203登录到某网站,并向其 传输文件a和文件b。步骤805:数据源服务器402将集合1和集合2中各一客户端的设备信息 发送给第二客户端203。步骤806:第二客户端203根据收到的设备信息连接到相应的客户端,并 获得文件a和文件b。集合1和集合2中各一客户端可进一步将各自部署的客户端的设备信息发 送给第二客户端203,使部署的客户端也向第二客户端203传输文件a和文件 b。本发明实施例通过预先部署第一客户端来解决在数据传输早期主要由数 据源服务器提供数据的问题。并且,本发明实施例通过分步部署客户端的方式, 既实现了在数据传输早期由较多的数据源提供数据,提高了传输数据的效率, 又避免一次部署过多的客户端而占用较多的资源。同时,本发明实施例通过不 同的设备实现部署和提供数据的功能,便于网络的分布式设置及灵活组网。本 发明实施例应用在在线观看视频广告场景时效果更佳。用于实现本发明实施例 的软件可存在于软盘、硬盘和闪存等存储介质。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求
及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种数据传输方法,其特征在于,包括以下步骤确定第一客户端为预备客户端;主动向预备客户端传输数据;当第二客户端需要获得所述数据时,由预备客户端向第二客户端提供所述数据。
2、 如权利要求1所述的数据传输方法,其特征在于,确定第一客户端为 预备客户端的步骤包括配置有第一客户端上可用空间的大小,确定所述数据的大小不超过第一客 户端上可用空间的大小;和/或确定当前第 一客户端的网络带宽满足传输所述数据的需要;和/或 确定第一客户端的在线时间的长度不小于预设的时长阔值。
3、 如权利要求1所述的数据传输方法,其特征在于,配置有所述数据在 预备客户端上的保存时间,在主动向预备客户端传输数据后且到达所述保存时 间时,从预备客户端上删除所述数据。
4、 如权利要求1所述的数据传输方法,其特征在于,在主动向预备客户 端传输数据后,获知预备客户端需要获得所述数据,则不需要向预备客户端传 输所述数据。
5、 如权利要求1至4中任一项所述的数据传输方法,其特征在于,当第 二客户端需要获得所述数据时,预备客户端主动向第二客户端传输所述数据, 或者第二客户端请求预备客户端传输所述数据。
6、 如权利要求1至4中任一项所述的数据传输方法,其特征在于,所述 第一客户端为多个。
7、 如权利要求1至4中任一项所述的数据传输方法,其特征在于,所述 第二客户端为多个。
8、 一种装置,其特征在于,包括 部署模块,用于确定第一客户端为预备客户端,需要主动向预备客户端传输数据;接口模块,用于向预备客户端传输数据,当第二客户端需要获得所述数据 时,与预备客户端共同向第二客户端传输所述数据。
9、 如权利要求8所述的装置,其特征在于,所述部署模块用于配置有第 一客户端上可用空间的大小,确定所述数据的大小不超过第一客户端上可用空 间的大小;和/或,用于确定当前第一客户端的网络带宽满足传输所述数据的需 要;和/或,确定第一客户端的在线时间的长度不小于预设的时长阈值。
10、 如权利要求8所述的装置,其特征在于,所述部署模块和所述接口模 块位于同一设备实体,或位于不同的设备实体。
11、 如权利要求10所述的装置,其特征在于,所述设备实体为服务器或 客户端。
12、 一种系统,其特征在于,包括服务器,用于确定第一客户端为预备客户端,并主动向预备客户端传输数 据,以及当第二客户端需要获得所述数据时向第二客户端传输所述数据;所述第一客户端,用于获得所述数据,并在第二客户端需要获得所述数据 时向第二客户端传输所述数据;所述第二客户端,用于从所述服务器和所述第一客户端获得所述数据。
13、 如权利要求12所述的系统,其特征在于,所述服务器为多个服务器 构成的集合;所述多个服务器包括部署服务器,用于确定第一客户端为预备客户端;数据源服务器,用于主动向预备客户端传输数据,以及当第二客户端需要 获得所述数据时向第二客户端传输所述数据。
14、 如权利要求13所述的系统,其特征在于,所述部署服务器还用于获 知第二客户端需要获得所述数据,并指示所述数据源服务器向第二客户端传输 所述数据;或者,所述数据源服务器还用于获知第二客户端需要获得所述数据, 并向其传输所述数据。
15、 如权利要求13所述的系统,其特征在于,所述部署服务器还用于在 第二客户端需要获得所述数据时,指示预备客户端向第二客户端传输所述数据;或者所述数据源服务器还用于在第二客户端需要获得所述数据时,指示预备客户端向第二客户端传输所述数据;或者第二客户端还用于在需要获得所述数据时,连接到预备客户端并获得所述 数据。
16、 如权利要求13、 14或15所述的系统,其特征在于,部署服务器还用 于在确定第 一客户端为预备客户端后,进一步确定系统中的第三客户端为预备 客户端。
17、 如权利要求13、 14或15所述的系统,其特征在于,部署服务器还用 于允许第一客户端进行部署操作;第一客户端确定系统中的第三客户端为预备 客户端。
全文摘要
本发明公开了一种数据传输的方法,用于实现提高数据传输的效率,减轻服务器的负载。所述方法为确定第一客户端为预备客户端;主动向预备客户端传输数据;当第二客户端需要获得所述数据时,由预备客户端向第二客户端提供所述数据。本发明还公开了一种装置和系统。
文档编号H04L12/56GK101159676SQ20071016658
公开日2008年4月9日 申请日期2007年11月6日 优先权日2007年11月6日
发明者刘乃杰, 张建业, 勍 王, 戈 陈 申请人:深圳市迅雷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1