内容分发方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机网络中的内容分发技术,特别涉及一种内容分发方法、及装置。
【背景技术】
[0002]随着计算机技术的发展,越来越多的数据通过网络到达不同的用户终端。网络数据的分发不仅限唯一的接收者。将数据推送至众多接收者往往需要花费大量的流量。现有技术中推送数据是全网下执行推送操作。全网发送的方法推送的份数较多也会推送至已经拥有所述数据的用户端,造成流量浪费。所以如何在大量发送数据时节省数据流量是亟待解决的问题。
【发明内容】
[0003]有鉴于此,本发明提供一种数据分发方法、装置及系统,可以有效节省流量。
[0004]一种内容分发方法,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,所述方法包括以下步骤:
[0005]接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;
[0006]获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;
[0007]根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;
[0008]将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
[0009]一种内容分发装置,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,所述装置包括:
[0010]接收模块,用于接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;
[0011]接入节点查询模块,用于获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;
[0012]聚合模块,用于根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;
[0013]分发模块,用于将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
[0014]根据上述的方法及装置,可以避免针对位于同一接入节点内的接收者进行内容推送操作,可以提升推送效率,降低网络流量。
[0015]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【附图说明】
[0016]图1为一种内容分发网络的架构示意图。
[0017]图2为图1的内容分发网络应用于即时通讯应用程序的后台服务器系统的示意图。
[0018]图3为图2所示的用户终端的结构示意图。
[0019]图4为图2所示的存储服务器的结构示意图。
[0020]图5为图2所示的内容分发服务器的结构示意图。
[0021 ]图6为图2的内容分发网络的流程示意图。
[0022]图7及图8为图6的流程的详细示意图。
[0023]图9为图6的流程的效果示意图。
[0024]图10为本发明第一实施例提供的内容分发方法流程图。
[0025]图11为本发明第二实施例提供的内容分发方法流程图。
[0026]图12为本发明第三实施例提供的内容分发方法流程图。
[0027]图13为本发明第四实施例提供的内容分发方法流程图。
[0028]图14为本发明第五实施例提供的内容分发方法流程图。
[0029]图15为本发明第六实施例提供的数据分发装置结构框图。
[0030]图16为本发明第七实施例提供的数据分发装置结构框图。
[0031]图17为本发明第八实施例提供的数据分发装置结构框图。
[0032]图18为本发明第九实施例提供的数据分发装置结构框图。
[0033]图19为本发明第十实施例提供的数据分发装置结构框图。
【具体实施方式】
[0034]为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0035]本发明实施例提供一种内容分发方法、内容分发装置及内容分发系统,其用于在内容分发网络(Content Delivery Network, Q)N)或数据中心内进行内容分发。
[0036]上述的内容分发网络是指一种透过互联网互相连接的网络系统,在该网络系统中包括多台服务器,可分别独立提供相同的网络内容。
[0037]上述的数据中心是指包括多台服务器的网络系统,其可分为一般互联网数据中心与虚拟互联网数据中心。一般互联网数据中心是指其内部服务器之间均通过局域网(LocalArea Network,LAN)相互连接的数据中心,其内可能包括多种设备,例如服务器、路由器、数据库等。虚拟互联网数据中心是指服务器之间需要依赖互联网进行连接的数据中心。例如,多个一般互联网数据中心之间通过互联网互连,共同构成一个虚拟互联网数据中心,或者多台服务器均通过互联网互连,共同构成一个虚拟互联网数据中心。
[0038]图1为一种内容分发网络(或者虚拟数据中心)的架构示意图。如图1所示,内容分发网络100包括第一数据中心110与第二数据中心120。第一数据中心110与第二数据中心120为上述的一般互联网数据中心。第一数据中心110与第二数据中心120之间可以通过公共互联网相连接。图1中仅示出两个数据中心,然而,可以理解,虚拟互联网数据中心100可包括更多的数据中心。一般来说,每个数据中心,负责一个地理区域内所有用户终端的接入,提供用户请求的数据。因此,图1所示的每个数据中心,就为一个接入节点。
[0039]图1中还示出了一种分发控制服务器101,该分发控制服务器101用于辅助在不同的数据中心(接入节点)之间分发数据。例如,分发控制服务器101可以负责传输通道的分配。上述的传输通道是指互联网传输通道,一般来说,互联网传输通道的数量及带宽是受限的,要提升在两个不同的接入节点之间传输数据的效率,需要对互联网传输通道进行合理的调度。
[0040]当然,分发控制服务器101并不是必须的。接入节点之间可以分别记录其他所有接入节点的IP地址,当要进行内容分发的时候,可以在接入节点之间采用点对点(Peerto Peer, P2P)的方式进行。进一步地,还可以采用更加复杂的控制机制以提升接入节点之间的数据分发效率,降低网络流量。例如,本申请人于2013年3月5日提出的,申请号为201310069065.7号,题为“内容分发方法、装置及系统”的专利申请就公开了一种更加高效的在CDN中进行内容分发的技术方案,在此一并引入作为参考。此外,其他任意CDN不同接入节点之间进行内容分的技术方案都适用于本发明实施例的技术方案。
[0041]参阅图2,其为图1的内容分发网络应用于一款即时通讯应用程序的后台服务器系统的示意图。第一数据中心110负责第一用户终端201、第二用户终端202的接入,而第二数据中心120负责第三用户终端203以及第四用户终端204的接入。上述的用户终端的具体实例包括但并不限于手持式计算机、台式计算机、移动电话、媒体播放器、个人数字助理及前述装置的各种组合。图3所示为第一用户终端201的结构框图。第一用户终端201包括:存储器102、处理器104、存储控制器106、外设接口 108、以及网络模块110。可以理解,图3所示的结构仅为示意,其并不对第一用户终端201的结构造成限定。例如,第一用户终端201还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
[0042]存储器102可用于存储软件程序以及模块,如本发明实施例中的即使通讯会话的方法及装置对应的程序指令/模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。
[0043]存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至第一用户终端201。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
[0044]外设接口 108将各种输入/输入装置耦合至处理器106。处理器106运行存储器102内的各种软件、指令电子终端100执行各种功能以及进行数据处理。在一些实施例中,外设接口 108、处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
[0045]网络模块110用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块110可包括处理器、随机存储器、转换器、晶体振荡器等元件。
[0046]上述的软件程序以及模块包括:操作系统122以及即时通讯模块124。操作系统122其可包括各种用于管理系统任务(