内容分发网络中的任务处理方法、装置和系统与流程

文档序号:13534157阅读:197来源:国知局
内容分发网络中的任务处理方法、装置和系统与流程

本发明涉及网络通信领域,具体而言,涉及一种内容分发网络中的任务处理方法、装置和系统。



背景技术:

在cdn(contentdeliverynetwork,内容分发网络)系统中,经常需要实时快速的将新生成的任务下发到cdn的指定一批机房中,例如用户的动态配置、失效请求、数据同步等,这些任务通常要求在生成后,能够在秒级的时间内到达节点,任务的完成时间为所有节点收到任务并执行完成的时间。所以,要求这些任务在下发到的所有节点都能够快速的执行。

但是cdn的各个机房遍布在全球各个国家、且各个机房采用不同的运营商,而任务的生成往往在某一个机房内(中心机房)。由于不同国家之间、不同运营商之间的网络限制,使得各个机房到中心机房间的网络变得不可控,高延时、丢包高的链路成为限制任务快速下发的瓶颈,需要高效地将任务从中心机房发送到其它所有机房,成为一个挑战。

根据现有技术我们可以知晓,每个机房都向请求中心机房请求任务,当任务生成后,中心机房需要将任务发送到其它所有机房,中心机房的带宽消耗将是任务的大小乘以机房数量;其次,中心机房需要承担的请求量也是任务数乘以机房数量。另外,由于各个机房与中心机房的网络问题,到中心机房链路最差,耗时的节点,将决定整个任务下发的时间,一旦出现链路问题,任务下发将失败或者大量影响任务的完成时间。

针对现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种内容分发网络中的任务处理方法、装置和系统,以至少解决现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的技术问题。

根据本发明实施例的一个方面,提供了一种内容分发网络中的任务处理方法,包括:内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,标识信息用于标识任务;第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

根据本发明实施例的另一个方面,提供了一种内容分发网络中的任务处理方法,包括:中心机房将任务的标识信息发送至内容分发网络中的第一机房,使得第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容;其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

根据本发明实施例的又一方面,还提供了一种内容分发网络中的任务处理装置,包括:第一接收模块,用于内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,标识信息用于标识任务;获取模块,用于第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

根据本发明实施例的再一方面,还提供了一种内容分发网络中的任务处理装置,包括:发送模块,用于中心机房将任务的标识信息发送至内容分发网络中的第一机房;接收模块,第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容;其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

根据本发明实施例的第五方面,还提供了一种内容分发网络中的任务处理系统,内容分发网络包括:至少一个第一机房和中心机房,其中,中心机房,用于将任务的标识信息发送至第一机房;第一机房,与中心机房具有通信关系,用于根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

需要注意的是,由于内容分发网络的缓存系统预先存储有与任务标识信息对应的任务内容,因此,多个第一机房无需再从中心机房处获取任务,而仅需要从中心机房处接收任务对应的任务标识信息。通常一个任务的标识信息为8个字节,而任务内容的数据量大小由任务本身决定,通常由10k至100m不等,在多个第一机房向中心机房请求任务的情况下,在任务生成后,中心机房需要将任务发送到其它所有的第一机房,中心机房的带宽消耗将是所有任务内容的总和,或任务内容的大小乘以第一机房的数量,而在本申请上述实施例提供的方案中,中心机房仅向多个第一机房下发任务标识信息,采用这种方式下发任务,中心机房的带宽消耗仅为任务的标识信息的大小第一机房的个数。因此,使用上述实施例提供的方式进行内容分发网络中的任务下发,能够极大的减少网络资源的消耗。

由此,本申请上述实施例提供的方案解决了现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本申请实施例1的一种内容分发网络中的任务处理方法的计算机终端的硬件结构框图;

图2是根据本申请实施例1的一种内容分发网络中的任务处理方法的流程图;

图3是根据本申请实施例1的一种可选的第一机房通过最优的代理链路向中心机房发送任务请求的示意图;

图4是根据本申请实施例1的一种可选的第一机房获取代理方案的流程图;

图5是根据本申请实施例1的一种可选的第一机房访问中心机房的示意图;

图6是根据本申请实施例1的一种内容分发网络中的任务处理方法的信息交互图;

图7是根据本发明实施例2的一种内容分发网络中的任务处理方法的流程图;

图8是根据本发明实施例3的一种内容分发网络中的任务处理装置的示意图;

图9是根据本发明实施例3的一种可选的内容分发网络中的任务处理装置的示意图;

图10是根据本发明实施例3的一种可选的内容分发网络中的任务处理装置的示意图;

图11是根据本发明实施例3的一种可选的内容分发网络中的任务处理装置的示意图;

图12是根据本发明实施例4的一种内容分发网络中的任务处理装置的示意图;

图13是根据本发明实施例5的一种内容分发网络中的任务处理系统的结构示意图;以及

图14是根据本申请实施例的一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

内容分发网络:contentdeliverynetwork,内容分发网络。基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和缓解,使内容传输的更快、更稳定。通过在网络各处防止节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的链接、负载状况以及到用户的举例和相应事件等综合信息将用户的请求重新导向离用户最近的服务节点上。

中心机房:中心机房在内容分发网络中用于生成任务并将任务下发。

任务:在本申请中,任务由中心机房生成,并下发至其他对应机房进行执行,例如:用户的动态配置、失效请求、同步数据等,包括任务的标识信息和任务内容。代理链路:其他机房在访问中心机房时,除了可以直接访问,还可以通过其他机房的代理器对中心机房进行访问,在使用其他机房的代理器对中心机房进行访问时所通过的路径为代理链路。

实施例1

根据本发明实施例,还提供了一种内容分发网络中的任务处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是根据本申请实施例1的一种内容分发网络中的任务处理方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的内容分发网络中的任务处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的内容分发网络中的任务处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图2所示的内容分发网络中的任务处理方法。图2是根据本申请实施例1的一种内容分发网络中的任务处理方法的流程图。

步骤s21,内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,标识信息用于标识任务。

具体的,任务的标识信息可以是与任务具有一一对应关系的信息,其他机房可以根据任务的标识信息来请求与任务的标识信息相对应的任务内容,标识信息可以为id号等形式,具有占用内存小,具有相对应的任务内容的特点;机房的标识信息用于中心机房辨识不同的机房,可以将任务的标识信息下发至对应的机房。

此处需要说明的是,上述标识信息对应的标识任务为第一机房所处的内容分发网络中唯一的标识任务。

在上述步骤中,中心机房用于表征生成任务的机房,第一机房用于表征在同一内容分发网络中,通过与第一机房的直接链路或间接链路,从中心机房获取任务执行的其他机房,通常情况下,内容分发网络中同时包含多个第一机房,其中,标识信息与任务具有一一对应的关系,通过标识信息能够得到与之对应的唯一的任务。

步骤s23,第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

具体的,缓存系统用于存储访问频繁的数据和指令,在本申请中,上述缓存系统中包含的机房用于存储被频繁访问的标识信息所对应的任务内容,在第一机房根据任务的标识信息发起内容请求时,如果缓存系统包含有存储任务的标识信息对应的任务内容的机房,则可以直接将标识信息对应的任务内容下发给发起内容请求的第一机房,而无需再向中心机房发起请求。

在上述步骤中,由于标识信息存在与之对应的唯一任务,因此能够通过标识信息查找到标识信息所对应的任务内容;其中,上述内容分发网络中的缓存系统预先存储有多个任务内容以及与多个任务内容一一对应的标识信息。

在一种可选的实施例中,可以将现有技术中,内容分发网络中的中心机房向其他机房下发的任务进行拆分,分为任务标识信息和任务内容两部分,在中心机房向第一机房下发任务时,先将生成任务的标识信息下发给各个机房,各个机房收到任务的标识信息后,再次发起获取任务内容的请求,再将任务的内容请求回去。

由于中心机房将任务下发至哪个第一机房是不固定的,而任务与标识信息一一对应,则每个机房接收到的任务标识信息也是不固定的,所以可以认为任务标识信息是动态的内容,而每个任务的标识信息对应的任务内容又是固定的,所以可以认为任务内容是固定的,因此,本申请上述方法通过内容分发网络中的缓存系统所缓存的静态的任务内容,以及动态的任务标识信息,实现了中心机房向其他多个第一机房下发任务的方法。

需要注意的是,由于内容分发网络的缓存系统中可以预先存储有与任务标识信息对应的任务内容,因此,多个第一机房无需再从中心机房处获取任务,而仅需要从中心机房处接收任务对应的任务标识信息即可,然后从缓存系统中获取到对应的任务内容。在一种可选方案中,通常一个任务的标识信息为8个字节,而任务内容的数据量大小由任务本身决定,通常由10k至100m不等,在多个第一机房向中心机房请求任务的情况下,在任务生成后,中心机房需要将任务发送到其它所有的第一机房,中心机房的带宽消耗将是所有任务内容的总和,或任务内容的大小乘以第一机房的数量,而在本申请上述实施例提供的方案中,中心机房仅向多个第一机房下发任务标识信息,采用这种方式下发任务,中心机房的带宽消耗仅为任务的标识信息的大小第一机房的个数。因此,使用上述实施例提供的方式进行内容分发网络中的任务下发,能够极大的减少网络资源的消耗。

在一种可选的实施例中,以内容分发网络包括一个中心机房,三个第一机房作为示例,中心机房需要向三个第一机房分别下发三个任务,单个任务的大小分别为156k、12.24m以及4.65m,如果采用现有技术中的方案,中心机房向每个第一机房分别下发任务,那么为了完成上述三个任务的下发,中心机房的带宽消耗为16.95m。如果采用本申请上述实施例提供的方法,中心机房仅向三个第一机房下发任务标识信息,以一个标识信息的大小为8个字节为例,中心机房的带宽消耗仅为24个字节,即0.023k。

由此,本申请上述实施例提供的方案解决了现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的技术问题。

在本申请上述实施例中,中心机房中预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,其中,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

具体的,标识信息队列可以包括至少一个具有任务优先级的任务的标识信息,与机房信息对应,即每个机房所请求的任务的标识信息构成的队列,且上述任务具有优先级。

在上述步骤中,机房的标识信息与每个机房一一对应,用于中心机房根据机房的标识信息,来下发相应的任务标识信息,且每个机房对应的不同任务具有不同的优先级,标识信息列表也与每个机房一一对应,每个机房从中心机房中接收到与每个机房的标识信息对应的标识信息列表中对应的任务的标识信息。

由此,中心机房能够根据预存的机房信息,将标识信息队列中任务的标识信息下发至具有与任务的标识信息对应的机房的标识信息的机房。

在本申请上述实施例中,步骤s21,在内容分发网络中的第一机房从中心机房获取任务的标识信息之前,上述方法还包括:

步骤s211,中心机房接收第一机房发送的任务请求,其中,用于订阅任务的任务请求包括:第一机房的标识信息和任务的任务优先级。

在上述步骤中,任务请求包含的第一机房的标识信息用于中心机房判断将任务的标识信息下发至哪个机房,任务的优先级用于中心机房在下发多个任务的标识信息时,根据任务的优先级来确定下发的先后顺序,以确保优先级较高的任务能够被优先处理。

步骤s213,中心机房根据任务请求查询与任务请求相匹配的标识信息队列。

步骤s215,中心机房将标识信息队列中包含的至少一个标识信息返回给第一机房。

通过上述步骤,中心机房将与第一机房对应的任务发送至了第一机房,此处需要说明的是,在上述步骤中,每个第一机房与每个第一机房的机房标识信息一一对应,标识队列信息与每个第一机房的机房信息一一对应,且标识队列信息包括任务的标识信息,因此,中心机房能够准确的将任务的标识信息发送至对应的第一机房,且由于机房信息中包含任务优先级,因此中心机房能够根据任务优先级来分配带宽,以最高效率向多个第一机房下发任务的标识信息。

在一种可选的实施例中,仍以上述内容分发网络包括一个中心机房,三个第一机房作为示例,单个第一机房的机房信息分别为“01,a”、“02,b”和“03,c”,用于表示三个机房的标识信息分别为01,02,03,优先级由高至低的机房的标识信息分别为01,02,03,其对应的标识信息列表中的任务的标识信息为rw1,rw2,rw3,在如上情况下,中心机房可以遍历标识信息队列中每个任务对应的优先级,得到rw1的优先级最高,然后查找任务rw1对应的第一机房的机房标识信息01,然后将rw1下发至机房标识信息为01的机房。然后查找优先级仅次于rw1的下一个任务,直至所有任务的标识信息下发完成。

此处需要说明的时,在上述示例中,每个第一机房仅对应一个任务,但此种情况仅用于进行示例,对于每个机房对应的任务数量本申请不做限定。

在本申请上述实施例中,步骤s211,在中心机房接收第一机房发送的任务请求之前,上述方法还包括:

步骤s2111,第一机房在发起任务请求时,确定最优的代理链路。

步骤s2113,第一机房使用代理链路将任务请求发送至中心机房。

在公网环境下,机房之间直连相连的链路并不一定是最好的,通常通过其它一个或几个机房进行中转代理之后的链路状态可能会好于直连,所以可以在各个机房中增加一个具有代理的功能的代理器,在发起请求时,选择最优的代理链路来回到中心机房,这样就可以解决直连中心机房的网络链路情况。由于中心机房需要接收第一机房的任务请求,所以机房向中心机房发送信息是必不可少的,通过代理,我们可以尽量优化第一机房和中心机房的链路问题,且由于任务的标识信息本身内容很小,所以网络的延时对回源到机房的影响并不明显。

图3是根据本申请实施例1的一种可选的第一机房通过最优的代理链路向中心机房发送任务请求的示意图。在一种可选的实施例中,结合图3所示,在该示例中的内容分发网络包括cdn机房1、cdn机房2以及cdn机房3三个第一机房,在三个第一机房向中心机房发起用于订阅请求的任务请求时,cnd机房1与cnd机房2直接向中心机房发送任务请求,确认cnd机房2对应的最优代理连接为代理器2与中心机房构成的链路,因此cnd机房2使用确认的最优代理链路向中心机房发送任务请求。

在本申请上述实施例中,步骤s2111,第一机房包括代理器,其中,第一机房在发起任务请求时,确定最优的代理链路的方案可以包括如下实施步骤:

步骤s2115,代理器判断第一机房当前是否存在代理方案,其中,代理方案至少记载了:第一机房与中心机房之间的通信链路,通信链路可以包括:第一机房直接访问中心机房的链路,和/或第一机房通过其他至少一个机房访问中心机房的链路。

结合图3可知,在一种可选实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,在第一机房可以是cdn机房3的示例中,当cdn机房3发起任务请求是,cdn机房3中的代理器3检测本地是否保存有代理方案,即查询当前cdn机房3中记录的与中心机房之间的通信链路,在图3所示的实施例中,代理器3中的查询结果为cdn机房3与中心机房之间的通信链路为,cdn机房3通过cdn机房2来访问中心机房这一条访问链路,其中,代理器2作为中转站来使得cdn机房3可以通过cdn机房2来与中心机房进行通信,由此可知,此时cdn机房3的代理方案为cdn机房3可以通过cdn机房2访问中机房。

同样的分析可知,cdn机房1和cdn机房2的代理方案为直接向中心机房发起任务请求。此处需要说明的是,上述任务请求可以是图3中所示的订阅请求。

步骤s2117,如果存在代理方案,且代理方案没有过期,则可以读取代理方案中记录的通信链路作为最优的代理链路。

结合图3所示,在一种可选的实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,仍以第一机房为cdn机房3作为示例,代理器3检测到代理方案中记录的通信链路为:cdn机房3通过cdn机房2的代理器2进行中转,来访问中心机房,在上述代理链路没有过期的情况下,确认cdn机房3通过cnd机房2来访问中心的代理链路为最优的代理链路。

步骤s2119,如果存在代理方案,且代理方案过期,可以触发更新代理方案,并将更新后的代理方案中记录的通信链路作为最优的代理链路。

结合图3所示,在一种可选的实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,仍以第一机房为cdn机房3作为示例,代理器3检测到代理方案中记录的通信链路为:cdn机房3通过cdn机房2的代理器2进行中转,来访问中心机房,如果上述代理方案过期,则对代理方案进行更新,并将更新后的代理方案中的通信链路作为最优的代理链路。

步骤s2121,如果不存在代理方案,则可以将允许直接访问中心机房的链路作为最优的代理链路。

结合图3所示,在一种可选的实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,以第一机房为cdn机房2作为示例,cdn机房2直接访问中心机房,不存在通过其他代理器来访问中心机房的代理方案,因此,对于cdn机房2来说,其最优的代理链路可以是cdn机房2直接访问中心机房的链路。

在本申请上述实施例中,步骤s2119,在触发更新代理方案之后,确定最优的代理链路的方案可以包括如下实施步骤还可以包括:

步骤s2123,第一机房从中心机房获取到至少一个具有代理器的第二机房的地址。

在上述步骤中,第二机房的地址可以是该内容分发网络中第二机房的ip地址。

结合图3所示,在一种可选的实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,以第一机房为cdn机房3,第二机房为cdn机房1和cdn机房2作为示例,cdn机房1和cdn机房2分别具有代理器1和代理器2,由此,cdn机房1可以从中心机房获取cdn机房1和cdn机房2的ip地址。

步骤s2125,遍历第一机房使用至少一个第二机房访问到中心机房的耗时,并获取耗时最短的访问链路。

结合图3所示,在一种可选的实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,以第一机房为cdn机房3,第二机房为cdn机房1和cdn机房2作为示例,cdn机房1和cdn机房2分别具有代理器1和代理器2,cdn机房1通过cdn机房1的代理器访问中心机房,并记录使用cdn机房1的代理器中转来访问中心机房的耗时,再通过cdn2的代理器来访问中心机房,并记录使用cdn2机房2的代理器中转来访问中心机房的耗时,在该示例中,cdn机房3通过cnd机房2访问中心机房的耗时小于通过cdn机房1访问中心机房的耗时,由此,获取cdn机房3通过cdn机房2来访问中心机房的链路为耗时最短的访问链路。

步骤s2127,将第一机房直接访问中心机房的第一耗时时长与耗时最短的访问链路的第二耗时时长进行比较。

在上述步骤中,仍然结合图3所示的示例进行说明,在一种可选的实施例中,上述第一机房可以是cdn机房1、2、3中的任意一个机房,以第一机房为cdn机房3,第二机房为cdn机房1和cdn机房2作为示例,第一耗时时长可以是cdn机房3直接访问中心机房的耗时时长,上述第二耗时时长可以为cdn机房3通过cdn机房2访问中心机房的耗时时长,因此可以将cdn机房3通过cdn机房2访问中心机房的耗时时长与cdn机房3直接访问中心机房的耗时时长进行比对。

步骤s2129,如果第一耗时时长大于等于第二耗时时长,则将耗时最短的访问链路作为更新后的代理方案。

仍然结合图3所示的示例,在一种可选的实施例中,仍然结合图3所示的示例,在第一耗时时长为cdn机房3直接访问中心机房的耗时时长,第二耗时时长为cdn机房3通过cdn机房2访问中心机房的耗时时长的示例中,如果第一耗时时长大于等于第二耗时时长,即cdn机房3直接访问中心机房的耗时时长大于等于通过cdn机房2访问中心机房的耗时时长,则将cdn机房3通过cdn机房2来访问中心将的访问链路作为更新后的代理方案。

步骤s2131,如果第一耗时时长小于第二耗时时长,则将第一机房直接访问中心机房的链路作为更新后的代理方案。

仍然结合图3所示的示例,在一种可选的实施例中,仍然结合图3所示的示例,在第一耗时时长为cdn机房3直接访问中心机房的耗时时长,第二耗时时长为cdn机房3通过cdn机房2访问中心机房的耗时时长的示例中,如果第一耗时时长小于第二耗时时长,即cdn机房3直接访问中心机房的耗时时长小于通过cdn机房2访问中心机房的耗时时长,则将cdn机房3直接访问中心将的访问链路作为更新后的代理方案。

在上述步骤中,第一机房通过第二机房访问中心机房的链路包括很多,选择其中耗时最短的访问链路,与第一机房直接访问中心机房的耗时进行比对,选择耗时较短的访问方式作为更新后的代理方案。由上述实施例提供的方法来更新代理方案,能够查找到最优的代理方案,其中,最优的代理方案可以是耗时最短的代理方案。

下面就以图4所示的一种优选方案来对本发明的实施例进行详细说明。图4是根据本申请实施例1的一种可选的第一机房获取代理方案的流程图。以下根据步骤s2115至步骤s2131提供的实施方案,进行进一步描述:

步骤s41,是否有代理方案。

具体的,在上述步骤中,如果存在代理方案,则进入步骤s42,否则进入步骤s49。

步骤s42,判断代理方案是否过期。

具体的,在上述步骤中,如果判断结果为代理方案没有过期,则进入步骤s43,否则进入步骤s44。

步骤s43,采用代理方案访问中心机房。

具体的,在上述步骤中,如果代理方案没有过期,则使用原代理方案获取任务内容。

步骤s44,从中心机房获取全部可代理的机房ip。

步骤s45,获取第一机房访问中心机房的时间。

具体的,在上述步骤中,上述第一机房可以是多个第一机房,为了确定多个第一机房访问中心机房的最优连接路径,需要获取每个第一机房访问中心机房的时间。

步骤s46,获取第一机房通过其他机房访问中心机房的最短时间。

具体的,在上述步骤中,上述最短时间可以是每个第一机房遍历所有可选路径,并计算通过所有可选路径访问中心机房所需时间,得到所需时间最短的路径,上述最短时间可以是第一机房通过上述路径访问中心机房的路径。

步骤s47,判断第一机房直接访问中心机房的第一耗时时长是否大于最短访问链路访问中心机房的时间。

具体的,在上述步骤中,上述耗时最短的访问链路通过遍历全部的链路并进行比较得到,全部的链路包括第一机房通过其他机房访问中心机房的链路,在第一机房直接访问中心机房的第一耗时时长大于最短访问链路访问中心机房的时间的情况下,进入步骤s48,否则进入步骤s49。

步骤s48,确认耗时最短的访问链路作为所述更新后的代理方案。

步骤s49,直接访问中心机房。

具体的,在上述步骤中,在不存在代理方案或者直接访问中心机房的事件小于耗时最短的访问链路的事件的情况下,第一机房通过直接访问中心机房来获取任务内容。

在本申请上述实施例中,第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到获取对应的任务内容,包括:

步骤s25,第一机房向内容分发网络中与第一机房物理距离最近的第三机房发送内容请求,内容请求包括:任务的标识信息。

步骤s27,如果与第一机房物理距离最近的第三机房中已经缓存有与标识信息匹配的任务内容,则第一机房从与第三机房中读取任务内容。

步骤s29,如果与第一机房物理距离最近的第三机房中没有缓存有与标识信息匹配的任务内容,则第一机房继续访问其他机房或者中心机房来读取任务内容。

下面就以图5所示的实施例,对本发明上述步骤25至步骤29所示的实施例进行详细举例说明。

图5是根据本申请实施例的一种可选的第一机房访问中心机房的示意图,结合图5所示的示例,在一种可选的实施例中,以加拿大机房作为第一机房,以与加拿大机房物理距离最近的美国机房作为第三机房,在美国机房缓存有加拿大机房发送的请求中的任务时,加拿大机房从美国机房中获取任务的标识信息对应的任务内容;在美国机房没有缓存加拿大机房发送的请求中的任务的情况下,加拿大机房可以直接访问中心机房,来获取任务的标识信息对应的任务内容。

本申请上述方案提供了第一机房在获取到任务的标识信息后,根据任务的标识信息获取任务的内容的方法,从距离第一机房物理距离最近的机房中获取任务标识对应的任务内容,在与第一机房物理距离最近的第三机房不存在任务的标识信息对应的任务内容的情况下,从其他机房或直接从中心机房获取任务标识对应的任务内容。达到了第一机房通过较短的路径获取任务内容的技术效果,提高了内容分发网络中下发任务的效率。

在本申请上述实施例中,如果所述内容分发网络中多个所述第一机房向所述缓存系统中的第三机房请求对应的所述任务内容,在所述第三机房没有缓存对应的所述任务内容的情况下,将所述多个机房发出的内容请求进行合并,并将合并后的内容请求发送至所述中心机房来获取对应的任务内容。

在一种可选的实施例中,仍然结合图5所示的示例,以第一机房为加拿大机房、英国机房、广东机房以及东莞机房作为示例,美国机房为与加拿大机房和英国机房物理距离最近的机房,深圳机房为距离广东机房和东莞机房物理距离最近的机房,因此,在美国机房未缓存加拿大机房和英国机房对应的任务内容,和/或深圳机房未缓存广东机房和东莞机房对应的任务内容的情况下,将加拿大机房和英国机房的请求合并和/或将广东机房和东莞机房的请求合并,合并后分别由美国机房和/或深圳机房将合并后的请求发送至中心机房。

在本申请上述实施例中,在所述中心机房将获取到的所述任务内容返回并缓存至所述第四机房之后,如果所述第三机房再次接收到所述第一机房的内容请求,则将缓存的所述任务内容直接发送至所述第一机房。

此处需要说明的是,上述第四机房可以与第三机房为同一个机房,也可以是与上述第三机房不同机房,无论上述第四机房是否与上述第三机房相同,需要注意的是,当第一机房再次请求相同的内容时,无需再向中心机房请求,或通过第三机房合并请求后向中心机房进行请求。

在一种可选的实施例中,仍然结合图5所示的示例,在美国机房和/或深圳机房将合并后的请求发送至中心机房之后,中心机房将对应请求的任务内容返回并缓存至第四机房,其中,第四机房可以是上述实施例中的第三机房(美国机房和深圳机房),也可以是其他机房,在中心机房将请求中的任务内容返回并存储至第四机房后,第四机房缓存上述任务内容,当美国机房或深圳机房再次接受到与上次请求内容相同的请求内容时,无需再向中心机房请求,而直接将缓存好的任务内容发送至第一机房。

在本申请上述实施例中,所述标识信息包括顺序生成或随机生成的字符串。

下面结合图6所示,就本申请的方案应用在一种内容分发网络下发任务的应用场景所实现的功能进行详细描述。

图6是根据本申请实施例1的一种内容分发网络中的任务处理方法的信息交互图,结合图6所示,包括如下步骤:

步骤s601,第一机房确认最优代理链路。

具体的,上述第一机房确认最优代理链路的步骤包括:

步骤s6011,判断第一机房当前是否存在代理方案,其中,代理方案包括:第一机房与中心机房之间的通信链路,通信链路包括:第一机房直接访问中心机房的链路,和/或第一机房通过其他至少一个机房访问中心机房的链路;

步骤s6012,如果存在代理方案,且代理方案没有过期,则读取代理方案中记录的通信链路作为最优的代理链路;

步骤s6013,如果存在代理方案,且代理方案过期,触发更新代理方案,并将更新后的代理方案中记录的通信链路作为最优的代理链路;

步骤s6014,如果不存在代理方案,则将允许直接访问中心机房的链路作为最优的代理链路;

其中,触发更新代理方案的步骤可以包括:

步骤s6015,第一机房从中心机房获取到至少一个具有代理器的第二机房的地址;

步骤s6016,遍历第一机房使用至少一个第二机房访问到中心机房的耗时,并获取耗时最短的访问链路;

步骤s6017,将第一机房直接访问中心机房的第一耗时时长与耗时最短的访问链路的第二耗时时长进行比较;

步骤s6018,如果第一耗时时长大于等于第二耗时时长,则将耗时最短的访问链路作为更新后的代理方案;

步骤s6019,如果第一耗时时长小于第二耗时时长,则将第一机房直接访问中心机房的链路作为更新后的代理方案。

步骤s602,中心机房接收第一机房发送的任务请求。

具体的,上述任务请求用于订阅任务,包括第一机房的标识信息和任务的任务优先级。

步骤s603,中心机房向第一机房发送任务的标识信息。

步骤s604,第一机房根据任务的标识信息向第三机房获取任务标识信息对应的任务内容。

具体的,在上述步骤中,上述第三机房可以是与第一机房物理距离最近的机房。

步骤605,在第三机房未缓存有任务的标识信息对应的任务内容的情况下,第一机房向中心机房请求上述任务内容。

具体的,在上述步骤中,在第一机房仅包括一个机房的情况下,第一机房向中心机房发起内容请求,如果第一机房包括多个机房,则对多个第一机房的内容请求进行合并,并将合并后的结果发送至中心机房来请求多个第一机房的任务标识信息对应的任务内容。

步骤s606,中心机房获取上述任务内容,并将所述任务内容缓存至第四机房。

具体的,在上述步骤中,在第三机房再次接收到第一机房的内容请求时,可以将第四机房缓存的任务内容直接发送至第一机房,无需再次向中心机房请求任务内容。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在实施例1的运行环境下,本申请提供了如图7所示的内容分发网络中的任务处理方法。图7是根据本发明实施例2的一种内容分发网络中的任务处理方法的流程图。

步骤s71,中心机房将任务的标识信息发送至内容分发网络中的第一机房,使得第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容;其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

在上述步骤中,中心机房用于表征生成任务的机房,第一机房用于表征在同一内容分发网络中,通过与第一机房的直接链路或间接链路,从中心机房获取任务执行的其他机房,通常情况下,内容分发网络中同时包含多个第一机房,其中,标识信息与任务具有一一对应的关系,通过标识信息能够得到与之对应的任务。

在上述步骤中,由于标识信息存在与之对应的任务,因此能够通过标识信息查找到标识信息所对应的任务内容;其中,上述内容分发网络中的缓存系统预先存储有多个任务内容以及与多个任务内容一一对应的标识信息。

在一种可选的实施例中,可以将现有技术中,内容分发网络中的中心机房向其他机房下发的任务进行拆分,分为任务标识信息和任务内容两部分,在中心机房向第一机房下发任务时,先将生成任务的标识信息下发给各个机房,各个机房收到任务的标识信息后,再次发起获取任务内容的请求,再将任务的内容请求回去。

由于中心机房将任务下发至哪个第一机房是不固定的,而任务与标识信息一一对应,则每个机房接收到的任务标识信息也是不固定的,所以可以认为任务标识信息是动态的内容,而每个任务的标识信息对应的任务内容又是固定的,所以可以认为任务内容是固定的,因此,本申请上述方法通过内容分发网络中的缓存系统所缓存的静态的任务内容,以及动态的任务标识信息,实现了中心机房向其他多个第一机房下发任务的方法。

需要注意的是,由于内容分发网络的缓存系统预先存储有与任务标识信息对应的任务内容,因此,多个第一机房无需再从中心机房处获取任务,而仅需要从中心机房处接收任务对应的任务标识信息。通常一个任务的标识信息为8个字节,而任务内容的数据量大小由任务本身决定,通常由10k至100m不等,在多个第一机房向中心机房请求任务的情况下,在任务生成后,中心机房需要将任务发送到其它所有的第一机房,中心机房的带宽消耗将是所有任务内容的总和,或任务内容的大小乘以第一机房的数量,而在本申请上述实施例提供的方案中,中心机房仅向多个第一机房下发任务标识信息,采用这种方式下发任务,中心机房的带宽消耗仅为任务的标识信息的大小第一机房的个数。因此,使用上述实施例提供的方式进行内容分发网络中的任务下发,能够极大的减少网络资源的消耗。

由此,本申请上述实施例提供的方案解决了现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的技术问题。

在本申请上述实施例中,中心机房预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

在上述步骤中,机房的标识信息与每个机房一一对应,用于中心机房根据机房的标识信息,来下发相应的任务标识信息,且每个机房对应的不同任务具有不同的优先级,标识信息列表也与每个机房一一对应,每个机房从中心机房中接收到与每个机房的标识信息对应的标识信息列表中对应的任务的标识信息。

由此,中心机房能够根据预存的机房信息,将标识信息队列中任务的标识信息下发至具有与任务的标识信息对应的机房的标识信息的机房。

在本申请上述实施例中,在内容分发网络中的第一机房从中心机房获取任务的标识信息之前,中心机房接收第一机房发送的任务请求,其中,用于订阅任务的任务请求包括:第一机房的标识信息和任务的任务优先级;中心机房根据任务请求查询与任务请求相匹配的标识信息队列;中心机房将标识信息队列中包含的至少一个标识信息返回给第一机房。

在本申请上述实施例中,在中心机房接收第一机房发送的任务请求之前,上述方法还包括:第一机房在发起任务请求时,确定最优的代理链路;第一机房使用代理链路将任务请求发送至中心机房。

在本申请上述实施例中,第一机房包括代理器,其中,第一机房在发起任务请求时,确定最优的代理链路包括:

代理器判断第一机房当前是否存在代理方案,其中,代理方案包括:第一机房与中心机房之间的通信链路,通信链路包括:第一机房直接访问中心机房的链路,和/或第一机房通过其他至少一个机房访问中心机房的链路;

如果存在代理方案,且代理方案没有过期,则读取代理方案中记录的通信链路作为最优的代理链路;

如果存在代理方案,且代理方案过期,触发更新代理方案,并将更新后的代理方案中记录的通信链路作为最优的代理链路;

如果不存在代理方案,则将允许直接访问中心机房的链路作为最优的代理链路。

在本申请上述实施例中,在触发更新代理方案之后,上述方法还包括:

第一机房从中心机房获取到至少一个具有代理器的第二机房的地址;

遍历第一机房使用至少一个第二机房访问到中心机房的耗时,并获取耗时最短的访问链路;

将第一机房直接访问中心机房的第一耗时时长与耗时最短的访问链路的第二耗时时长进行比较;

如果第一耗时时长大于等于第二耗时时长,则将耗时最短的访问链路作为更新后的代理方案;

如果第一耗时时长小于第二耗时时长,则将第一机房直接访问中心机房的链路作为更新后的代理方案。

在本申请上述实施例中,第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到获取对应的任务内容,包括:

第一机房向内容分发网络中与第一机房物理距离最近的第三机房发送内容请求,内容请求包括:任务的标识信息;

如果与第一机房物理距离最近的第三机房中已经缓存有与标识信息匹配的任务内容,则第一机房从与第三机房中读取任务内容;

如果与第一机房物理距离最近的第三机房中没有缓存有与标识信息匹配的任务内容,则第一机房继续访问其他机房或者中心机房来读取任务内容。

在本申请上述实施例中,如果内容分发网络中多个第一机房向缓存系统中的第三机房请求对应的任务内容,在第三机房没有缓存对应的任务内容的情况下,将多个机房发出的内容请求进行合并,并将合并后的内容请求发送至中心机房来获取对应的任务内容。

在本申请上述实施例中,在中心机房将获取到的任务内容返回并缓存至第四机房之后,如果第三机房再次接收到第一机房的内容请求,则将缓存的任务内容直接发送至第一机房。

在本申请上述实施例中,标识信息包括顺序生成或随机生成的字符串。

实施例3

根据本发明实施例,还提供了一种用于实施实施例1中的内容分发网络中的任务处理方法的内容分发网络中的任务处理装置,如图8所示,该装置包括:

第一接收模块80,用于内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,所述标识信息用于标识所述任务;

获取模块82,用于所述第一机房根据所述任务的标识信息访问所述内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

此处需要说明的是,上述第一接收模块80和获取模块82对应于实施例1中的步骤s21至步骤s23,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

根据本申请上述实施例,所述中心机房中预设有所述内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,其中,所述机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,所述标识信息队列包括:至少一个具有所述任务优先级的任务的标识信息。

根据本申请上述实施例,结合图9所示,上述装置还包括:

第二接收模块90,用于所述中心机房接收所述第一机房发送的任务请求,其中,用于订阅任务的所述任务请求包括:所述第一机房的标识信息和所述任务的任务优先级;查询模块92,用于所述中心机房根据所述任务请求查询与所述任务请求相匹配的标识信息队列;返回模块94,用于所述中心机房将所述标识信息队列中包含的至少一个标识信息返回给所述第一机房。

此处需要说明的是,上述第二接收模块90、查询模块92和返回模块94对应于实施例1中的步骤s211至步骤s215,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

根据本申请上述实施例,结合图10所示,上述装置还包括:

确定模块100,用于所述第一机房在发起所述任务请求时,确定最优的代理链路;发送模块102,用于所述第一机房使用所述代理链路将所述任务请求发送至所述中心机房。

此处需要说明的是,上述确定模块100和发送模块102对应于实施例1中的步骤s2111至步骤s2113,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

根据本申请上述实施例,结合图11所示,上述第一机房包括代理器,其中,上述确定模块100包括:

判断模块110,用于所述代理器判断所述第一机房当前是否存在代理方案,其中,所述代理方案包括:所述第一机房与所述中心机房之间的通信链路,所述通信链路包括:所述第一机房直接访问所述中心机房的链路,和/或所述第一机房通过其他至少一个机房访问所述中心机房的链路;

读取模块112,用于如果存在所述代理方案,且所述代理方案没有过期,则读取所述代理方案中记录的通信链路作为所述最优的代理链路;

触发模块114,用于如果存在所述代理方案,且所述代理方案过期,触发更新所述代理方案,并将所述更新后的代理方案中记录的通信链路作为所述最优的代理链路;

允许模块116,用于如果不存在所述代理方案,则将允许直接访问所述中心机房的链路作为所述最优的代理链路。

此处需要说明的是,上述判断模块110、读取模块112、触发模块114和允许模块116对应于实施例1中的步骤s2115至步骤s2121,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

实施例4

根据本发明实施例,还提供了一种用于实施实施例2中的内容分发网络中的任务处理方法的内容分发网络中的任务处理装置,如图12所示,该装置包括:

发送模块120,用于中心机房将任务的标识信息发送至内容分发网络中的第一机房。

接收模块122,第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

此处需要说明的是,上述发送模块120和接收模块122对应于实施例2中的步骤s71,单个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。

实施例5

根据本发明实施例,还提供了一种内容分发网络中的任务处理系统,如图13所示,内容分发网络包括:至少一个第一机房和中心机房,其中,

中心机房130,用于将任务的标识信息发送至第一机房。

在上述系统中,在上述系统中,中心机房用于表征生成任务的机房,第一机房用于表征在同一内容分发网络中,通过与第一机房的直接链路或间接链路,从中心机房获取任务执行的其他机房,通常情况下,内容分发网络中同时包含多个第一机房,其中,标识信息与任务具有一一对应的关系,通过标识信息能够得到与之对应的任务。

第一机房132,与中心机房具有通信关系,用于根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,标识信息用于标识任务,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

在上述系统中,由于标识信息存在与之对应的任务,因此能够通过标识信息查找到标识信息所对应的任务内容;其中,上述内容分发网络中的缓存系统预先存储有多个任务内容以及与多个任务内容一一对应的标识信息。

在一种可选的实施例中,可以将现有技术中,内容分发网络中的中心机房向其他机房下发的任务进行拆分,分为任务标识信息和任务内容两部分,在中心机房向第一机房下发任务时,先将生成任务的标识信息下发给各个机房,各个机房收到任务的标识信息后,再次发起获取任务内容的请求,再将任务的内容请求回去。

由于中心机房将任务下发至哪个第一机房是不固定的,而任务与标识信息一一对应,则每个机房接收到的任务标识信息也是不固定的,所以可以认为任务标识信息是动态的内容,而每个任务的标识信息对应的任务内容又是固定的,所以可以认为任务内容是固定的,因此,本申请上述方法通过内容分发网络中的缓存系统所缓存的静态的任务内容,以及动态的任务标识信息,实现了中心机房向其他多个第一机房下发任务的方法。

需要注意的是,由于内容分发网络的缓存系统预先存储有与任务标识信息对应的任务内容,因此,多个第一机房无需再从中心机房处获取任务,而仅需要从中心机房处接收任务对应的任务标识信息。通常一个任务的标识信息为8个字节,而任务内容的数据量大小由任务本身决定,通常由10k至100m不等,在多个第一机房向中心机房请求任务的情况下,在任务生成后,中心机房需要将任务发送到其它所有的第一机房,中心机房的带宽消耗将是所有任务内容的总和,或任务内容的大小乘以第一机房的数量,而在本申请上述实施例提供的方案中,中心机房仅向多个第一机房下发任务标识信息,采用这种方式下发任务,中心机房的带宽消耗仅为任务的标识信息的大小第一机房的个数。因此,使用上述实施例提供的方式进行内容分发网络中的任务下发,能够极大的减少网络资源的消耗。

由此,本申请上述实施例提供的方案解决了现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的技术问题。

根据本申请上述实施例,缓存系统包括多个缓存机房,缓存机房与第一机房具有通信关系,用于缓存与标识信息匹配的任务内容。

根据本申请上述实施例,中心机房中预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,其中,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

根据本申请上述实施例,上述中心机房还用于接收所述第一机房发送的任务请求,其中,用于订阅任务的所述任务请求包括:所述第一机房的标识信息和所述任务的任务优先级;根据所述任务请求查询与所述任务请求相匹配的标识信息队列;将所述标识信息队列中包含的至少一个标识信息返回给所述第一机房。

根据本申请上述实施例,在中心机房接收第一机房发送的任务请求之前,第一机房还用于在发起任务请求时,确定最优的代理链路,并第一机房使用代理链路将任务请求发送至中心机房。

根据本申请上述实施例,第一机房包括代理器,其中,第一机房在发起任务请求时,代理器用于判断第一机房当前是否存在代理方案,其中,代理方案包括:第一机房与中心机房之间的通信链路,通信链路包括:第一机房直接访问中心机房的链路,和/或第一机房通过其他至少一个机房访问中心机房的链路;如果存在代理方案,且代理方案没有过期,则读取代理方案中记录的通信链路作为最优的代理链路;如果存在代理方案,且代理方案过期,触发更新代理方案,并将更新后的代理方案中记录的通信链路作为最优的代理链路;如果不存在代理方案,则将允许直接访问中心机房的链路作为最优的代理链路。

根据本申请上述实施例,第一机房还用于从中心机房获取到至少一个具有代理器的第二机房的地址;遍历第一机房使用至少一个第二机房访问到中心机房的耗时,并获取耗时最短的访问链路;将第一机房直接访问中心机房的第一耗时时长与耗时最短的访问链路的第二耗时时长进行比较;如果第一耗时时长大于等于第二耗时时长,则将耗时最短的访问链路作为更新后的代理方案;如果第一耗时时长小于第二耗时时长,则将第一机房直接访问中心机房的链路作为更新后的代理方案。

根据本申请上述实施例,第一机房还用于根据任务的标识信息访问内容分发网络中的缓存系统,得到获取对应的任务内容,其中,第一机房还用于向内容分发网络中与第一机房物理距离最近的第三机房发送内容请求,内容请求包括:任务的标识信息;如果与第一机房物理距离最近的第三机房中已经缓存有与标识信息匹配的任务内容,则第一机房从与第三机房中读取任务内容;如果与第一机房物理距离最近的第三机房中没有缓存有与标识信息匹配的任务内容,则第一机房继续访问其他机房或者中心机房来读取任务内容。

根据本申请上述实施例,如果内容分发网络中多个第一机房向缓存系统中的第三机房请求对应的任务内容,在第三机房没有缓存对应的任务内容的情况下,将多个机房发出的内容请求进行合并,并将合并后的内容请求发送至中心机房来获取对应的任务内容。

根据本申请上述实施例,在中心机房将获取到的任务内容返回并缓存至第四机房之后,如果第三机房再次接收到第一机房的内容请求,则将缓存的任务内容直接发送至第一机房。

根据本申请上述实施例,标识信息包括顺序生成或随机生成的字符串。

实施例6

本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。

可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。

在本实施例中,上述计算机终端可以执行内容分发网络中的任务处理方法中以下步骤的程序代码:内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,标识信息用于标识任务;第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

可选地,图14是根据本发明实施例的一种计算机终端的结构框图。如图14所示,该计算机终端1400可以包括:一个或多个(图中仅示出一个)处理器1402、存储器1404、传输装置1406以及用户终端140。

其中,存储器可用于存储软件程序以及模块,如本发明实施例中的内容分发网络中的任务处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的内容分发网络中的任务处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端1400。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,标识信息用于标识任务;第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

可选的,上述处理器还可以执行如下步骤的程序代码:中心机房中预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,其中,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

可选的,上述处理器还可以执行如下步骤的程序代码:在内容分发网络中的第一机房从中心机房获取任务的标识信息之前,中心机房接收第一机房发送的任务请求,其中,用于订阅任务的任务请求包括:第一机房的标识信息和任务的任务优先级;中心机房根据任务请求查询与任务请求相匹配的标识信息队列;中心机房将标识信息队列中包含的至少一个标识信息返回给第一机房。

可选的,上述处理器还可以执行如下步骤的程序代码:在中心机房接收第一机房发送的任务请求之前,第一机房在发起任务请求时,确定最优的代理链路;第一机房使用代理链路将任务请求发送至中心机房。

可选的,上述处理器还可以执行如下步骤的程序代码:第一机房包括代理器,其中,第一机房在发起任务请求时,确定最优的代理链路包括:代理器判断第一机房当前是否存在代理方案,其中,代理方案包括:第一机房与中心机房之间的通信链路,通信链路包括:第一机房直接访问中心机房的链路,和/或第一机房通过其他至少一个机房访问中心机房的链路;如果存在代理方案,且代理方案没有过期,则读取代理方案中记录的通信链路作为最优的代理链路;如果存在代理方案,且代理方案过期,触发更新代理方案,并将更新后的代理方案中记录的通信链路作为最优的代理链路;如果不存在代理方案,则将允许直接访问中心机房的链路作为最优的代理链路。

可选的,上述处理器还可以执行如下步骤的程序代码:在触发更新代理方案之后,第一机房从中心机房获取到至少一个具有代理器的第二机房的地址;遍历第一机房使用至少一个第二机房访问到中心机房的耗时,并获取耗时最短的访问链路;将第一机房直接访问中心机房的第一耗时时长与耗时最短的访问链路的第二耗时时长进行比较;如果第一耗时时长大于等于第二耗时时长,则将耗时最短的访问链路作为更新后的代理方案;如果第一耗时时长小于第二耗时时长,则将第一机房直接访问中心机房的链路作为更新后的代理方案。

可选的,上述处理器还可以执行如下步骤的程序代码:第一机房向内容分发网络中与第一机房物理距离最近的第三机房发送内容请求,内容请求包括:任务的标识信息;如果与第一机房物理距离最近的第三机房中已经缓存有与标识信息匹配的任务内容,则第一机房从与第三机房中读取任务内容;如果与第一机房物理距离最近的第三机房中没有缓存有与标识信息匹配的任务内容,则第一机房继续访问其他机房或者中心机房来读取任务内容。

可选的,上述处理器还可以执行如下步骤的程序代码:如果内容分发网络中多个第一机房向缓存系统中的第三机房请求对应的任务内容,在第三机房没有缓存对应的任务内容的情况下,将多个机房发出的内容请求进行合并,并将合并后的内容请求发送至中心机房来获取对应的任务内容。

可选的,上述处理器还可以执行如下步骤的程序代码:在中心机房将获取到的任务内容返回并缓存至第四机房之后,如果第三机房再次接收到第一机房的内容请求,则将缓存的任务内容直接发送至第一机房。

可选的,上述处理器还可以执行如下步骤的程序代码:标识信息包括顺序生成或随机生成的字符串。

处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:中心机房将任务的标识信息发送至内容分发网络中的第一机房,使得第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容;其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

可选的,上述处理器还可以执行如下步骤的程序代码:中心机房预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

采用本发明实施例,由于中心机房将任务下发至哪个第一机房是不固定的,而任务与标识信息一一对应,则每个机房接收到的任务标识信息也是不固定的,所以可以认为任务标识信息是动态的内容,而每个任务的标识信息对应的任务内容又是固定的,所以可以认为任务内容是固定的,因此,本申请上述方法通过内容分发网络中的缓存系统所缓存的静态的任务内容,以及动态的任务标识信息,实现了中心机房向其他多个第一机房下发任务的方法。

需要注意的是,由于内容分发网络的缓存系统预先存储有与任务标识信息对应的任务内容,因此,多个第一机房无需再从中心机房处获取任务,而仅需要从中心机房处接收任务对应的任务标识信息。通常一个任务的标识信息为8个字节,而任务内容的数据量大小由任务本身决定,通常由10k至100m不等,在多个第一机房向中心机房请求任务的情况下,在任务生成后,中心机房需要将任务发送到其它所有的第一机房,中心机房的带宽消耗将是所有任务内容的总和,或任务内容的大小乘以第一机房的数量,而在本申请上述实施例提供的方案中,中心机房仅向多个第一机房下发任务标识信息,采用这种方式下发任务,中心机房的带宽消耗仅为任务的标识信息的大小第一机房的个数。因此,使用上述实施例提供的方式进行内容分发网络中的任务下发,能够极大的减少网络资源的消耗。

由此,本申请上述实施例提供的方案解决了现有技术中中心机房全面下发任务内容至其他机房,导致中心机房的网络资源消耗大的技术问题。

本领域普通技术人员可以理解,图14所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图14其并不对上述电子装置的结构造成限定。例如,计算机终端1400还可包括比图14中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图14所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例7

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的内容分发网络中的任务处理方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:内容分发网络中的第一机房接收中心机房发送的任务的标识信息,其中,标识信息用于标识任务;第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容,其中,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:中心机房中预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,其中,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在内容分发网络中的第一机房从中心机房获取任务的标识信息之前,中心机房接收第一机房发送的任务请求,其中,用于订阅任务的任务请求包括:第一机房的标识信息和任务的任务优先级;中心机房根据任务请求查询与任务请求相匹配的标识信息队列;中心机房将标识信息队列中包含的至少一个标识信息返回给第一机房。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在中心机房接收第一机房发送的任务请求之前,第一机房在发起任务请求时,确定最优的代理链路;第一机房使用代理链路将任务请求发送至中心机房。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第一机房包括代理器,其中,第一机房在发起任务请求时,确定最优的代理链路包括:代理器判断第一机房当前是否存在代理方案,其中,代理方案包括:第一机房与中心机房之间的通信链路,通信链路包括:第一机房直接访问中心机房的链路,和/或第一机房通过其他至少一个机房访问中心机房的链路;如果存在代理方案,且代理方案没有过期,则读取代理方案中记录的通信链路作为最优的代理链路;如果存在代理方案,且代理方案过期,触发更新代理方案,并将更新后的代理方案中记录的通信链路作为最优的代理链路;如果不存在代理方案,则将允许直接访问中心机房的链路作为最优的代理链路。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在触发更新代理方案之后,第一机房从中心机房获取到至少一个具有代理器的第二机房的地址;遍历第一机房使用至少一个第二机房访问到中心机房的耗时,并获取耗时最短的访问链路;将第一机房直接访问中心机房的第一耗时时长与耗时最短的访问链路的第二耗时时长进行比较;如果第一耗时时长大于等于第二耗时时长,则将耗时最短的访问链路作为更新后的代理方案;如果第一耗时时长小于第二耗时时长,则将第一机房直接访问中心机房的链路作为更新后的代理方案。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第一机房向内容分发网络中与第一机房物理距离最近的第三机房发送内容请求,内容请求包括:任务的标识信息;如果与第一机房物理距离最近的第三机房中已经缓存有与标识信息匹配的任务内容,则第一机房从与第三机房中读取任务内容;如果与第一机房物理距离最近的第三机房中没有缓存有与标识信息匹配的任务内容,则第一机房继续访问其他机房或者中心机房来读取任务内容。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:如果内容分发网络中多个第一机房向缓存系统中的第三机房请求对应的任务内容,在第三机房没有缓存对应的任务内容的情况下,将多个机房发出的内容请求进行合并,并将合并后的内容请求发送至中心机房来获取对应的任务内容。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在中心机房将获取到的任务内容返回并缓存至第四机房之后,如果第三机房再次接收到第一机房的内容请求,则将缓存的任务内容直接发送至第一机房。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:标识信息包括顺序生成或随机生成的字符串。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:中心机房将任务的标识信息发送至内容分发网络中的第一机房,使得第一机房根据任务的标识信息访问内容分发网络中的缓存系统,得到对应的任务内容;其中,标识信息用于标识任务,缓存系统包含了内容分发网络中至少一个预先缓存有任务内容的机房。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:中心机房预设有内容分发网络中每个机房的机房信息,以及每个机房信息所对应的标识信息队列,机房信息至少包括:机房的标识信息和该机房所对应的任务优先级,标识信息队列包括:至少一个具有任务优先级的任务的标识信息。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1