CN104967642A - 内容分发方法及装置 - Google Patents
内容分发方法及装置 Download PDFInfo
- Publication number
- CN104967642A CN104967642A CN201410416383.0A CN201410416383A CN104967642A CN 104967642 A CN104967642 A CN 104967642A CN 201410416383 A CN201410416383 A CN 201410416383A CN 104967642 A CN104967642 A CN 104967642A
- Authority
- CN
- China
- Prior art keywords
- access node
- recipient
- list
- content
- user terminal
- 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
Links
Abstract
本发明涉及一种内容分发方法,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,所述方法包括以下步骤:接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。上述方法可以避免针对位于同一接入节点内的接收者进行内容推送操作,可以提升推送效率,降低网络流量。此外,本发明实施例还提供一种内容分发装置。
Description
技术领域
本发明涉及计算机网络中的内容分发技术,特别涉及一种内容分发方法、及装置。
背景技术
随着计算机技术的发展,越来越多的数据通过网络到达不同的用户终端。网络数据的分发不仅限唯一的接收者。将数据推送至众多接收者往往需要花费大量的流量。现有技术中推送数据是全网下执行推送操作。全网发送的方法推送的份数较多也会推送至已经拥有所述数据的用户端,造成流量浪费。所以如何在大量发送数据时节省数据流量是亟待解决的问题。
发明内容
有鉴于此,本发明提供一种数据分发方法、装置及系统,可以有效节省流量。
一种内容分发方法,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,所述方法包括以下步骤:
接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;
获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;
根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;
将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
一种内容分发装置,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,所述装置包括:
接收模块,用于接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;
接入节点查询模块,用于获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;
聚合模块,用于根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;
分发模块,用于将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
根据上述的方法及装置,可以避免针对位于同一接入节点内的接收者进行内容推送操作,可以提升推送效率,降低网络流量。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为一种内容分发网络的架构示意图。
图2为图1的内容分发网络应用于即时通讯应用程序的后台服务器系统的示意图。
图3为图2所示的用户终端的结构示意图。
图4为图2所示的存储服务器的结构示意图。
图5为图2所示的内容分发服务器的结构示意图。
图6为图2的内容分发网络的流程示意图。
图7及图8为图6的流程的详细示意图。
图9为图6的流程的效果示意图。
图10为本发明第一实施例提供的内容分发方法流程图。
图11为本发明第二实施例提供的内容分发方法流程图。
图12为本发明第三实施例提供的内容分发方法流程图。
图13为本发明第四实施例提供的内容分发方法流程图。
图14为本发明第五实施例提供的内容分发方法流程图。
图15为本发明第六实施例提供的数据分发装置结构框图。
图16为本发明第七实施例提供的数据分发装置结构框图。
图17为本发明第八实施例提供的数据分发装置结构框图。
图18为本发明第九实施例提供的数据分发装置结构框图。
图19为本发明第十实施例提供的数据分发装置结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
本发明实施例提供一种内容分发方法、内容分发装置及内容分发系统,其用于在内容分发网络(Content Delivery Network,CDN)或数据中心内进行内容分发。
上述的内容分发网络是指一种透过互联网互相连接的网络系统,在该网络系统中包括多台服务器,可分别独立提供相同的网络内容。
上述的数据中心是指包括多台服务器的网络系统,其可分为一般互联网数据中心与虚拟互联网数据中心。一般互联网数据中心是指其内部服务器之间均通过局域网(Local Area Network,LAN)相互连接的数据中心,其内可能包括多种设备,例如服务器、路由器、数据库等。虚拟互联网数据中心是指服务器之间需要依赖互联网进行连接的数据中心。例如,多个一般互联网数据中心之间通过互联网互连,共同构成一个虚拟互联网数据中心,或者多台服务器均通过互联网互连,共同构成一个虚拟互联网数据中心。
图1为一种内容分发网络(或者虚拟数据中心)的架构示意图。如图1所示,内容分发网络100包括第一数据中心110与第二数据中心120。第一数据中心110与第二数据中心120为上述的一般互联网数据中心。第一数据中心110与第二数据中心120之间可以通过公共互联网相连接。图1中仅示出两个数据中心,然而,可以理解,虚拟互联网数据中心100可包括更多的数据中心。一般来说,每个数据中心,负责一个地理区域内所有用户终端的接入,提供用户请求的数据。因此,图1所示的每个数据中心,就为一个接入节点。
图1中还示出了一种分发控制服务器101,该分发控制服务器101用于辅助在不同的数据中心(接入节点)之间分发数据。例如,分发控制服务器101可以负责传输通道的分配。上述的传输通道是指互联网传输通道,一般来说,互联网传输通道的数量及带宽是受限的,要提升在两个不同的接入节点之间传输数据的效率,需要对互联网传输通道进行合理的调度。
当然,分发控制服务器101并不是必须的。接入节点之间可以分别记录其他所有接入节点的IP地址,当要进行内容分发的时候,可以在接入节点之间采用点对点(Peer to Peer,P2P)的方式进行。进一步地,还可以采用更加复杂的控制机制以提升接入节点之间的数据分发效率,降低网络流量。例如,本申请人于2013年3月5日提出的,申请号为201310069065.7号,题为“内容分发方法、装置及系统”的专利申请就公开了一种更加高效的在CDN中进行内容分发的技术方案,在此一并引入作为参考。此外,其他任意CDN不同接入节点之间进行内容分的技术方案都适用于本发明实施例的技术方案。
参阅图2,其为图1的内容分发网络应用于一款即时通讯应用程序的后台服务器系统的示意图。第一数据中心110负责第一用户终端201、第二用户终端202的接入,而第二数据中心120负责第三用户终端203以及第四用户终端204的接入。上述的用户终端的具体实例包括但并不限于手持式计算机、台式计算机、移动电话、媒体播放器、个人数字助理及前述装置的各种组合。图3所示为第一用户终端201的结构框图。第一用户终端201包括:存储器102、处理器104、存储控制器106、外设接口108、以及网络模块110。可以理解,图3所示的结构仅为示意,其并不对第一用户终端201的结构造成限定。例如,第一用户终端201还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器102可用于存储软件程序以及模块,如本发明实施例中的即使通讯会话的方法及装置对应的程序指令/模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至第一用户终端201。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输入装置耦合至处理器106。处理器106运行存储器102内的各种软件、指令电子终端100执行各种功能以及进行数据处理。在一些实施例中,外设接口108、处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
网络模块110用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块110可包括处理器、随机存储器、转换器、晶体振荡器等元件。
上述的软件程序以及模块包括:操作系统122以及即时通讯模块124。操作系统122其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。即时通讯模块124用于在操作系统122的基础上实现即时通讯的功能,即实现文字、图片、视频、音乐、文档等内容的发送。具体地,即时通讯模块124可为各公司开发的即时通讯应用程序,如腾讯公司的微信或者手机QQ应用程序。
可以理解,第二用户端202、第三用户终端203、以及第四用户终端204可与第一用户终端201具有相似的结构。第一用户终端201、第二用户终端202、第三用户终端203、第四用户终端204内分别安装有同一款即时通讯应用程序。
在一个应用场景中,第一用户301通过第一用户终端201登入即时通讯服务,第二用户302通过第二用户终端202登入即时通讯服务,第三用户303通过第三用户终端203登入即时通讯服务,第四用户304通过第四用户终端204登入即时通讯服务。
第一用户301通过即时通讯应用程序提供的界面,可以选择将某一多媒体内容(例如图片、音乐、视频、或者其他格式的文档)发送给多个用户(例如,上述的第二用户302、第三用户303、以及第四用户304)。可以理解,在接收到用户的发送指令后,一方面,上传模块126会将待发送的内容上传至接入节点内的存储服务器111中;另一方面,上传模块126会将上传者以及所有接收者的信息发送给内容分发服务器112。
在一个实例中,待分发的内容是存储在第一终端内的本机文件,此时,上传模块126需要将本机文件上传至存储服务器111中。存储服务器111将待分发内容的存储索引返回给上传模块126。
在另一个实例中,待分发的内容是存储在互联网内其他服务器内的公开文件,此时,上传模块126可以将待分的内容的资源定位符上传至存储服务器111,由存储服务器111直接根据资源定符抓取内容并存储;另外,上传模块126也可以按照本机文件相同的方式直接上传待分享内容。存储服务器111将待分发内容的存储索引返回给上传模块126。
在另一个实例中,待分的内容已经缓存在存储服务器111中,此时上传模块126无须再进行上传操作。
参阅图4,其为存储服务器111的一个实施例的结构框图。如图4所示,存储服务器111包括:存储器202、处理器204、存储控制器206、外设接口208、以及网络模块210。可以理解,图4所示的结构仅为示意,其并不对接入服务器111的结构造成限定。例如,接入服务器111还可包括比图4所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器202可用于存储软件程序以及模块,如本发明实施例中的即使通讯会话的方法及装置对应的程序指令/模块,处理器204通过运行存储在存储器202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。
存储器202可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器202可进一步包括相对于处理器206远程设置的存储器,这些远程存储器可以通过网络连接至接入服务器111。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器206以及其他可能的组件对存储器202的访问可在存储控制器204的控制下进行。
外设接口208将各种输入/输入装置耦合至处理器206。处理器206运行存储器202内的各种软件、指令接入服务器111执行各种功能以及进行数据处理。在一些实施例中,外设接口208、处理器206以及存储控制器204可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
网络模块210用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块210可包括处理器、随机存储器、转换器、晶体振荡器等元件。
上述的软件程序以及模块包括:操作系统222以及存储模块224。操作系统222其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。存储模块224用于根据客户端(包括用户终端以及接入节点内的其他服务器)的请求存储数据或者返回查询的数据。
参阅图5,内容分发服务器112结构与存储服务器11相似,其不同之处在于其内运行的软件模块。内容分发服务器112包括内容分发模块226。内容分发模块226用于根据用户终端内的上传模块126上传的上传者及接收者的信息进行内容的分发操作。
参阅图6,其为在上述的内容分发过程中,用户终端、存储服务器、内容分发服务器之间的交互示意图。首先,第一用户301通过即时通讯模块124提供的界面选择要发送的内容以及多个接收者(步骤1),在接收到第一用户301的用户指令后,一方面,上传模块126将待分发的内容上传至接入节点内的存储服务器中,并获取待分发的内容在存储服务器中的索引;另一方面,上传模块126将上传模块126将上传者(如第一用户301)以及所有接收者的信息发送给内容分发模块226。
内容分发模块226在获取上传者以及接收者的信息后,解析接收到的信息可以获取第一接收者列表,第一接收者列表内包含待摄像头内容被指定的接收者的识别信息。然后,内容分发模块226需要根据第一接收者列表获取第二接收者列表,第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点。
具体地,内容分发模块226查询上传者以及所有接收者所属的接入节点(步骤3及步骤4)。具体地,可以向一个地理位置信息服务器(如图1所示的服务器103)发送查询请求,将上传者以及所有接收者的标识上传给地理位置信息服务器以进行查询。一个用户(或者说对应的用户终端)的地理位置可以是通过以下方式采集的:根据IP地址与地理位置的映射关系数据库将用户终端的IP地址映射为其地理位置;或者直接接收用户终端上传的地理位置信息。可以理解,目前的移动电子终端内可包括定位模块,通地全球定位系统或者无线定位技术实现地理位置的定位,在获取用户的授权后,应用程序可以获取用户终端的地理位置,并将地下位置上传至地理位置信息服务器中。
在一个实例中,地理位置信息服务器返回的是上传者以及接收者的地理位置信息。此时,内容分发模块226可以自行判定上传者或者接收者所属的接入节点。
例如,由于接入节点的位置是固定的,因此根据每个用户终端距各接入节点的距离即可判定其属于哪个接入节点。例如,选择距离最近的接入节点作为该用户终端的所属接入节点。当然,由于在实际的互联网中,访问的快速并不直接等同于物理上的距离,因此,判定用户终端属于哪个接入节点并不限于只根据地理距离。例如,还可根据网络架构以及具体经验给每个接入节点定义服务范围,若一个用户终端的地理位置落上述一个接入节点的服务范围内,则该用户终端属于该接入节点。
在另一个实例中,地理位置信息服务器还提供查询一个用户所属的接入节点的服务,也就是说,通过将接入节点的地理位置信息以及服务范围等信息存储在地理位置信息服务器内,可将查询一个用户终端属于哪个接入节点的操作置于地理位置信息服务器内进行。在此种情形下,内容分发模块226可直接接收到上传者或者接收者所属的接入节点的信息。
在查询到上传者以及接收者所属的接入节点的信息后,内容分发模块226进行接收者列表的第一次聚合操作,对于所有的接收者,判断其所属的接入节点是否与上传者相同,若相同,则可忽略该接收者,否则,均保留该接收者。经过此步骤,得到第二接收者列表,第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点。
参阅图7,在一个实例中,具有5个接收者,其中,1个接收者所属的接入节点(标识符为1)与上传者所属的接入节点(标识符为1)相同,其余4个接收者所属的接入节点与上传者所属的接入节点不同,因此,在经过上次的聚合操作后,第二接收者列表中的接收者只有4个接收者。
在获取第二接收者列表后,内容分发模块226可从存储模块224中获取待分发的内容(步骤5及步骤6)。具体地,内容分发模块226可将待分发内容的存储索引上传给存储模块224,存储模块224在接收到存储索引后,根据存储索引读取对应的记录,并返回读取的数据,即待分发的内容。
在获取待分发的内容后,内容分发模块226将待推送的内容分发给第二接收者列表中每个接收者所属的接入节点。
根据上述的过程,可以避免针对位于同一接入节点内的接收者进行内容推送操作,可以提升推送效率,降低网络流量。
然而,可以理解,根据此种方式,第二接收者列表中的每个接收者都执行一次推送操作,当有超过一个接收者属于同一接入节点时,会对同一接入节点进行多次推送操作。
为了进一步提升推送效率,在获取第二接收者列表后,参阅图8,还可获取第二接收者列表内每个接收者所属的接入节点以得到一个接入节点列表;对所述接入节点列表进行去重处理以获取目标接入节点列表;将所述待分发内容发送至目标接入节点列表中的每个接入节点。例如,上述的实例中,经过此步骤后,去重后的接入节点列表,即目标接入节点列表内只包括两个接入节点(标识分别为2与3)。因此,执行两次推送操作即可,相比于图7所示的方式,推送次数降低了一半,推送效率进一步提高,而且可节省网络带宽。
假设接收者列表的长度是M,第一次聚合(去除与发送者同接入节点的接收者)后去掉的推送长度为N,第二次聚合后去掉的推送长度是L,推送的文件平均流量大小是F,流量的成本是X,流量成本计算如下:
传统推送:Cost1=M*F*X;(1)
本实施例:Cost2=M*F*X-N*F*X-L*F*X;其中N∈[0,M];L∈[0,M];(N+L)∈[0,M];
由上式整理可得:
Cost2=(1-N/M-L/M)*Cost1
根据Cost2的计算公式,作图如图9所示,从图9中可看出由于聚合效果的影响,聚合后的成本在0到传统流量成本之间浮动,根据历史统计结果,在即时通讯应用(如微信)中,上传者和接收者在同分布点的比率在50%以上,推送成本大多集中在途中格子阴影区。
此外,可以理解,上述的推送过程仅仅是将待分发内容推送到接入节点内,内容还未发送至用户终端内。因此,在将内容推送至相应的接入节点后,可由接入节点主动将内容推送给用户终端,或者仅仅向用户终端推送一条通知消息,用户终端可在特定条件下(例如,接收到用户查阅内容的指令时)主动向接入节点请求内容,然后接入节点根据用户终端的请求返回内容。
根据上述的内容分发网络,可以提升即时通讯系统中内容分发的效率,而上述的内容分发网络的进一步细节,结合其他实施例描述如下。
参阅图10,其为第一实施例提供的内容分发方法,其用于在图1所示的内容分发网络中将待分发内容进行分发,本实施的方法包括以下步骤:
步骤S101,接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记数据上传者以及第一接收者列表。
在一个应用场景中,第一用户301通过第一用户终端201登入即时通讯服务。第一用户301通过即时通讯应用程序提供的界面,可以选择将某一多媒体内容(例如图片、音乐、视频、或者其他格式的文档)发送给多个用户(例如,上述的第二用户302、第三用户303、以及第四用户304)。
相应地,在接收到用户的发送指令后,一方面,第一用户终端201会将待发送的内容上传至接入节点内的存储服务器111中;另一方面,第一用户终端201会将上传者以及所有接收者的信息(第一接收者列表)发送给内容分发服务器112。
步骤S102,获取所述上传者以及第一接收者列表内每个接收者所属的接入节点。
例如,可以向一个地理位置信息服务器(如图1所示的服务器103)发送查询请求,将上传者以及所有接收者的标识上传给地理位置信息服务器以进行查询。一个用户(或者说对应的用户终端)的地理位置可以是通过以下方式采集的:根据IP地址与地理位置的映射关系数据库将用户终端的IP地址映射为其地理位置;或者直接接收用户终端上传的地理位置信息。可以理解,目前的移动电子终端内可包括定位模块,通地全球定位系统或者无线定位技术实现地理位置的定位,在获取用户的授权后,应用程序可以获取用户终端的地理位置,并将地下位置上传至地理位置信息服务器中。
在一个实例中,地理位置信息服务器返回的是上传者以及接收者的地理位置信息。此时,可以进一步判定上传者或者接收者所属的接入节点。
在另一个实例中,地理位置信息服务器还提供查询一个用户所属的接入节点的服务,也就是说,通过将接入节点的地理位置信息以及服务范围等信息存储在地理位置信息服务器内,可将查询一个用户终端属于哪个接入节点的操作置于地理位置信息服务器内进行。在此种情形下,可直接接收到上传者或者接收者所属的接入节点的信息。
步骤S103,根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点。
对于所有的接收者,判断其所属的接入节点是否与上传者相同,若相同,则可忽略该接收者,否则,均保留该接收者。经过此步骤,得到第二接收者列表。
步骤S104,将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
在获取第二接收者列表后,可获取待分发的内容。具体地,可将待分发内容的存储索引上传给存储模块224,存储模块224在接收到存储索引后,根据存储索引读取对应的记录,并返回读取的数据,即待分发的内容。在获取待分发的内容后,将待推送的内容分发给第二接收者列表中每个接收者所属的接入节点。
根据本实施例的方法,可以避免针对位于同一接入节点内的接收者进行内容推送操作,可以提升推送效率,降低网络流量。
参阅图11,其为第二实施例提供的内容分发方法的流程图,本实施例的方法与图10的方法相似,其不同之处在于,在步骤S103之后还包括以下步骤:
步骤S105,获取所述第二接收者列表内每个接收者所属的接入节点以得到一个接入节点列表。
在步骤S102中已经查询得到所有接收者的所属的接入节点列表,因此在步骤S105中,可以根据步骤S102中的查询结果直接获取接入节点列表。参阅图7,接入节点列表内包括的接入节点为2、2、2、3。
步骤S106,对所述接入节点列表进行去重处理以获取目标接入节点列表。
如图7所示,接入节点列表内的四个接入节点,实质上只有两个不同的接入节点2与3。参阅图8,在经过去重的步骤后,目标接入节点列表内包括的接入节点为2与3。
步骤S104a,将所述待分发内容发送至目标接入节点列表中的每个接入节点。
本步骤实质上与步骤S104相似,不同之处仅在于要发送到的接入节点不同而已。
相比于第一实施例,本实施例的方法,可进一步提升内容分发的效率,节省网络带宽及流量。
参阅图12,其为第三实施例提供的内容分发方法的流程图,本实施例的方法与图11的方法相似,其不同之处在于,在步骤S104a之后还包括:
步骤S107,所述目标接入节点将所述待分发内容发送给所述第二接收者列表中属于所述目标接入节点的接收者。
在一个实例中,目标接入节点将待分发内容主动推送至属于该接入节点的所有接收者(用户终端)。例如,在图7所示的场景中,接入节点2需要向3个接收者推送待分发内容。
在另一个实例中,可先向用户终端推送一条通知消息,用户终端可在特定条件下(例如,接收到用户查阅内容的指令时)主动向接入节点请求内容,然后接入节点根据用户终端的请求返回内容。
根据本实施例的方法,可将待发分的内容分发至接收者的用户终端中,提升内容分发效率。
参阅图13,其为第四实施例提供的内容分发方法的流程图,本实施例的方法与图10的方法相似,其不同之处在于,在步骤S103之后还包括:
步骤S108,判断所述第二接收者列表是否为空表,若为空表则内容分发流程结束;若不为空表,即第二接收者列表内至少包括一个接收者,才执行步骤S104。
根据本实施例的方法,可以避免在第二接收者列表时启动内容分发流程以造成网络资源占用。
参阅图14,其为第五实施例提供的内容分发方法的流程图,本实施例的方法与图10的方法相似,其不同之处在于,在步骤S101之前还包括:
步骤S109,接收及存储用户终端上传的位置信息。
上述位置信息例如可包括直接的定位信息(例如GPS定位信息)或者其他任意可用来进行间接定位的信息(如IP地址)。
在一个实例中,用户终端内具有定位模块(全GPS定位模块或者基于无线网络的定位模块),在获取用户的授权后,用户终端内的应用程序(如上述的即时通讯应用程序)可将用户终端的当前位置上传给地理位置服务器。
在另一个实例中,用户终端在进行登陆操作时会将自身的IP地址发送给登陆服务器,相应地,登陆服务器可以记录用户终端的当前IP地址。进一步地,可根据IP地址与地理位置的映射关系数据库获取到用户终端的大概地理位置。可以理解,根据IP地下获取到的地理位置精确度较低,但是由于一个接入节点所服务范围一般较广,因此,将根据IP地址得到的地理位置用来判断其属于哪个接入节点来说已经足够。
步骤S110,根据所述上传的位置信息以及每个接入节点的预定义的位置范围获取用户终端所属于接入节点。
每个接入节点都具有预定义的服务范围,例如,给每个接入节点定义一个服务半径,一个该接入节点之间距离小于接入节点的服务半径的用户终端,应属于此接入节点。而当一个用户终端同时在两个接入节点的服务半径内时,可以选取距离最近的接入节点作为该用户终端所属的接入节点。
当然,本实施例并不限于此种方式,例如,还可以给每个接入节点定义一个精确的地理范围,当某个用户终端的地理位置在此地理范围内时,该接入节点就作为此用户终端的所属接入节点。
根据本实施例的方法,通过记录用户终端的地理位置,可以让用户终端与对应的接入节点进行关联,从而可以实现数据分发时接收者以及接入节点的聚合,减少内容推送的次数,提升内容分发的效率。
参阅图15,其为第六实施例提供的内容分发装置的模块图。本实施例的内容分发装置例如可用于在图1所示的内容分发网络上进行内容分发操作。如图15所示,本实施例的装置包括:接收模块21、接入节点查询模块22、聚合模块23、以及分发模块24。
接收模块21用于接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表。
接入节点查询模块22用于获取所述上传者以及第一接收者列表内每个接收者所属的接入节点。
聚合模块23用于根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点。
分发模块24用于将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
根据本实施例的方法,可以避免针对位于同一接入节点内的接收者进行内容推送操作,可以提升推送效率,降低网络流量。
参阅图16,其为第七实施例提供的内容分发装置的模块图。本实施例的装置与图15的装置相似,其不同之处在于,还包括:节点列表获取模块25、以及去重模块26。
节点列表获取模块25用于获取所述第二接收者列表内每个接收者所属的接入节点以得到一个接入节点列表。
去重模块26用于对所述接入节点列表进行去重处理以获取目标接入节点列表。
分发模块24还用于将所述待分发内容发送至目标接入节点列表中的每个接入节点。
相比于第六实施例,本实施例的装置,可进一步提升内容分发的效率,节省网络带宽及流量。
参阅图17,其为第八实施例提供的内容分发装置的模块图。本实施例的装置与图16的装置相似,其不同之处在于,还包括:发送模块27,用于所述分发模块将所述待分发内容发送至目标接入节点列表中一个目标接入节点后,将所述待分发内容发送给所述第二接收者列表中属于所述目标接入节点的接收者。
根据本实施例的装置,可将待发分的内容分发至接收者的用户终端中,提升内容分发效率。
参阅图18,其为第九实施例提供的内容分发装置的模块图。本实施例的装置与图15的装置相似,其不同之处在于,还包括:判断模块28,用于判断所述第二接收者列表是否为空表,若不为空表,分发模块24才将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
根据本实施例的装置,可以避免在第二接收者列表时启动内容分发流程以造成网络资源占用。
参阅图19,其为第十实施例提供的内容分发装置的模块图。本实施例的装置与图15的装置相似,其不同之处在于,还包括:位置记录模块29以及节点获取模块30。
位置记录模块29用于接收及存储用户终端上传的位置信息。
节点获取模块30用于根据所述上传的位置信息以及每个接入节点的预定义的位置范围获取用户终端所属于接入节点。
根据本实施例的装置,通过记录用户终端的地理位置,可以让用户终端与对应的接入节点进行关联,从而可以实现数据分发时接收者以及接入节点的聚合,减少内容推送的次数,提升内容分发的效率。
此外,本发明实施例还提供一种非易失性计算机可读存储介质(如图5所示的存储器202),其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述的内容分发方法中的各种操作。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (10)
1.一种内容分发方法,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,其特征在于,所述方法包括以下步骤:
接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;
获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;
根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;
将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
2.如权利要求1所述的数据分发方法,其特征在于,还包括:
获取所述第二接收者列表内每个接收者所属的接入节点以得到一个接入节点列表;
对所述接入节点列表进行去重处理以获取目标接入节点列表;
将所述待分发内容发送至目标接入节点列表中的每个接入节点。
3.如权利要求2所述的数据分发方法,其特征在于,还包括:
在将所述待分发内容发送至目标接入节点列表中一个目标接入节点后,所述目标接入节点将所述待分发内容发送给所述第二接收者列表中属于所述目标接入节点的接收者。
4.如权利要求1所述的数据分发方法,其特征在于,所述方法还包括:判断所述第二接收者列表是否为空表,若不为空表,才执行所述将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点的步骤。
5.如权利要求1所述的数据分发方法,其特征在于,所述方法还包括:
接收及存储用户终端上传的位置信息;以及
根据所述上传的位置信息以及每个接入节点的预定义的位置范围获取用户终端所属于接入节点。
6.一种内容分发装置,用于在内容分发网络中对将待分发内容进行分发,所述内容分发网络包括多个用于根据用户终端请求返回数据的接入节点,其特征在于,所述装置包括:
接收模块,用于接收第一用户终端发送的数据发送请求,所述数据发送请求内包括记上传者以及第一接收者列表;
接入节点查询模块,用于获取所述上传者以及第一接收者列表内每个接收者所属的接入节点;
聚合模块,用于根据所述第一接收者列表获取第二接收者列表,所述第二接收者列表内每个接收者所属的接入节点均不同于所述第一用户终端的接入节点;
分发模块,用于将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
7.如权利要求6所述的数据分发装置,其特征在于,所述装置还包括:
节点列表获取模块,用于获取所述第二接收者列表内每个接收者所属的接入节点以得到一个接入节点列表;
去重模块,用于对所述接入节点列表进行去重处理以获取目标接入节点列表;
所述分发模块还用于将所述待分发内容发送至目标接入节点列表中的每个接入节点。
8.如权利要求7所述的数据分发装置,其特征在于,所述装置还包括:
发送模块,用于所述分发模块将所述待分发内容发送至目标接入节点列表中一个目标接入节点后,将所述待分发内容发送给所述第二接收者列表中属于所述目标接入节点的接收者。
9.如权利要求6所述的数据分发装置,其特征在于,还包括:判断模块,用于判断所述第二接收者列表是否为空表,若不为空表,所述分发模块才将所述待分发内容发送至第二接收者列表中每个接收者所属的接入节点。
10.如权利要求6所述的数据分发装置,其特征在于,所述装置还包括,
位置记录模块,用于接收及存储用户终端上传的位置信息;
节点获取模块,用于根据所述上传的位置信息以及每个接入节点的预定义的位置范围获取用户终端所属于接入节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410416383.0A CN104967642B (zh) | 2014-08-21 | 2014-08-21 | 内容分发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410416383.0A CN104967642B (zh) | 2014-08-21 | 2014-08-21 | 内容分发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104967642A true CN104967642A (zh) | 2015-10-07 |
CN104967642B CN104967642B (zh) | 2019-02-12 |
Family
ID=54221583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410416383.0A Active CN104967642B (zh) | 2014-08-21 | 2014-08-21 | 内容分发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104967642B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254550A (zh) * | 2016-09-30 | 2016-12-21 | 杭州索浪信息技术有限公司 | 一种内容分发的方法和系统 |
CN108768675A (zh) * | 2018-04-27 | 2018-11-06 | 佛山市日日圣科技有限公司 | 一种信息群发方法及装置 |
CN109040308A (zh) * | 2018-09-12 | 2018-12-18 | 杭州趣链科技有限公司 | 一种基于ipfs的文件分发系统及文件分发方法 |
CN109040298A (zh) * | 2018-08-31 | 2018-12-18 | 中国科学院计算机网络信息中心 | 基于边缘计算技术的数据处理方法及装置 |
CN109218447A (zh) * | 2018-10-29 | 2019-01-15 | 中国建设银行股份有限公司 | 媒体文件分发方法及文件分发平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101480075A (zh) * | 2006-06-29 | 2009-07-08 | 诺基亚公司 | 用于动态地配置应用接入点设置的系统、设备和方法 |
CN103081529A (zh) * | 2010-06-22 | 2013-05-01 | 捷讯研究有限公司 | 无线通信系统中的信息散发 |
CN103188132A (zh) * | 2011-12-29 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 基于内容分发网络的即时通讯方法及系统 |
-
2014
- 2014-08-21 CN CN201410416383.0A patent/CN104967642B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101480075A (zh) * | 2006-06-29 | 2009-07-08 | 诺基亚公司 | 用于动态地配置应用接入点设置的系统、设备和方法 |
CN103081529A (zh) * | 2010-06-22 | 2013-05-01 | 捷讯研究有限公司 | 无线通信系统中的信息散发 |
CN103188132A (zh) * | 2011-12-29 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 基于内容分发网络的即时通讯方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254550A (zh) * | 2016-09-30 | 2016-12-21 | 杭州索浪信息技术有限公司 | 一种内容分发的方法和系统 |
CN108768675A (zh) * | 2018-04-27 | 2018-11-06 | 佛山市日日圣科技有限公司 | 一种信息群发方法及装置 |
CN109040298A (zh) * | 2018-08-31 | 2018-12-18 | 中国科学院计算机网络信息中心 | 基于边缘计算技术的数据处理方法及装置 |
CN109040308A (zh) * | 2018-09-12 | 2018-12-18 | 杭州趣链科技有限公司 | 一种基于ipfs的文件分发系统及文件分发方法 |
CN109218447A (zh) * | 2018-10-29 | 2019-01-15 | 中国建设银行股份有限公司 | 媒体文件分发方法及文件分发平台 |
Also Published As
Publication number | Publication date |
---|---|
CN104967642B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104967642A (zh) | 内容分发方法及装置 | |
CN106888437B (zh) | 一种群组多播和群组创建的方法以及移动网络平台 | |
CN104618506A (zh) | 一种众包的内容分发网络系统、方法与装置 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN103781055A (zh) | 一种数据下载方法及相关设备 | |
CN103944994A (zh) | 分布式资源获取方法及装置 | |
CN102111426A (zh) | 点对点技术的实现方法、系统和装置 | |
CN101895520B (zh) | 微技系统的数据共享方法、服务器以及数据共享系统 | |
EP2141601A1 (en) | Content distribution device, content distribution method, and content distribution program | |
CN110620828A (zh) | 一种文件推送方法、系统、装置、电子设备及介质 | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
CN110413845A (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN111625743A (zh) | 资源加载方法、装置及电子设备 | |
CN103595782A (zh) | 一种分布式存储系统及其下载文件的方法 | |
CN102404616A (zh) | 基于数字电视网络进行数据云推送的方法及系统 | |
CN102724231A (zh) | 一种资源下载的方法、服务器及用户终端 | |
CN117278628B (zh) | 数据传输方法、装置、系统、计算机设备和存储介质 | |
CN102571942A (zh) | 一种在p2p网络中推送资源信息并提供服务的方法与设备 | |
CN103685411A (zh) | 异构网络中的数据共享方法及装置 | |
CN105656978A (zh) | 一种资源共享方法及装置 | |
CN112130931B (zh) | 一种应用部署方法、节点、系统及存储介质 | |
US20140289307A1 (en) | Method for transmitting data between electronic devices | |
CN115004665A (zh) | 文件分享方法、装置及系统 | |
CN101146107A (zh) | 一种下载数据的方法及装置 | |
US9860171B2 (en) | Large scale message routing in a distributed network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190730 Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: 518000 Guangdong Shenzhen Tencent Technology (Shenzhen) Co., Ltd. Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |