一种数据处理方法和边缘节点设备与流程

文档序号:20081111发布日期:2020-03-10 10:40阅读:101来源:国知局
一种数据处理方法和边缘节点设备与流程

本申请涉及数据处理技术领域,尤其涉及一种数据处理方法和边缘节点设备。



背景技术:

内容分发网络(cdn,contentdeliverynetwork),是通过在网络各处放置节点设备所构成的在现有的互联网基础之上的一层智能虚拟网络。cdn能够实时地根据网络流量和各节点设备的连接、负载状况以及到用户的距离和响应时间等综合信息将数据请求重新导向最合适的节点设备上。其目的是解决网络拥挤的状况,提高用户访问数据的响应速度。

现有技术中,数据请求被导向边缘节点设备后,如果在边缘节点设备上未找到该数据请求对应的数据,则需要边缘节点设备从cdn中的其它节点设备中获取用户请求对应的数据才能响应数据请求,这严重影响了数据请求的响应速度。



技术实现要素:

本申请的多个方面提供一种数据处理方法和边缘节点设备,用以提高内容分发网络中数据请求的响应速度。

本申请实施例提供一种数据处理方法,适用于内容分发网络中的边缘节点设备,所述方法包括:

接收数据请求方发送的数据请求,所述数据请求请求获取第一数据;

根据所述第一数据,确定所述数据请求方后续请求的第二数据;

当所述边缘节点设备中不存在所述第二数据时,从内容分发网络中的其它节点设备上获取所述第二数据;

保存所述第二数据。

本申请实施例还提供一种边缘节点设备,包括存储器、处理器和通信组件;

所述存储器,用于存储计算机程序;

所述处理器,与所述存储器和所述通信组件耦接,用于执行所述存储器中的计算机程序,以用于:

接收数据请求方发送的数据请求,所述数据请求请求获取第一数据;

根据所述第一数据,确定所述数据请求方后续请求的第二数据;

当所述边缘节点设备中不存在所述第二数据时,通过所述通信组件从内容分发网络中的其它节点设备上获取所述第二数据;

保存所述第二数据。

在本申请实施例中,根据数据请求方发送的数据请求,确定数据请求方后续可能请求的数据,并确保数据请求方后续可能请求的数据保存在内容分发网络中的边缘节点设备上。对于数据请求方的数据请求来说,其所请求的数据已保存在边缘节点设备上的概率非常高,因此,数据请求方的大部分数据请求可直接从边缘节点设备获取所需的数据,这可有效提高数据请求的响应速度。

附图说明

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

图1为本申请一实施例提供的一种内容分发网络的结构示意图;

图2为本申请另一实施例提供的一种数据处理方法的流程示意图;

图3为本申请另一实施例提供的另一种数据处理方法的流程示意图;

图4为本申请另一实施例提供的又一种数据处理方法的流程示意图;

图5为本申请另一实施例提供的又一种数据处理方法的流程示意图;

图6为本申请又一实施例提供的一种边缘节点设备的结构示意图。

具体实施方式

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

现有技术中,数据请求被导向节点设备后,如果在节点设备上未找到该数据请求对应的数据,则需要节点设备从内容分发网络中的其它节点设备中获取用户请求对应的数据才能响应数据请求,这严重影响了数据请求的响应速度。针对现有技术存在的问题,在本申请一些实施例中,根据数据请求方发送的数据请求,确定数据请求方后续可能请求的数据,并确保数据请求方后续可能请求的数据保存在内容分发网络中的节点设备上。对于数据请求方的数据请求来说,其所请求的数据已保存在节点设备上的概率非常高,因此,数据请求方的大部分数据请求可直接从节点设备获取所需的数据,这可有效提高数据请求的响应速度。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本申请一实施例提供的一种内容分发网络的结构示意图。如图1所示,内容分发网络包括若干节点设备。为描述简单,后文中将内容分发网络描述为cdn。

在一些应用场景中,如图1所示,可根据在网络中位置的不同而将cdn中的若干节点设备分为边缘节点设备11、中间层节点设备12和源服务器13。

其中,边缘节点设备11是指在网络中距离数据请求方14最近的节点设备,其负责直接响应数据请求方14的数据请求,同时,边缘节点设备11还负责与源服务器13进行数据同步,其可从中间层节点设备12中获取数据并保存在本地。中间层节点设备12是位于边缘节点设备11和源服务器13之间的一类节点设备,中间层节点设备12的本地存储空间大于边缘节点设备11的本地存储空间,因此,中间层节点设备12上可保存更多的源服务器13上的数据,但是,与边缘节点设备11相比,中间层节点设备12与数据请求方14的距离更远,另外,中间层节点设备12还可细分为多个层级,例如,可根据与边缘服务器的距离分为二级节点设备15和三级节点设备16等。源服务器13上保存有cdn所涉及到的全部源数据。

在另一些应用场景中,cdn中的若干节点设备也可分为边缘节点设备11和源服务器13,而不再包含中间层节点设备12。当然,在其它应用场景中,还可根据其它原则或其它需求,将cdn中的若干节点设备进行其它分类处理,本实施例对此不作限定。

当数据请求方14发送的数据请求到达cdn时,cdn可根据网络流量和各边缘节点设备11的连接、负载状况以及到数据请求方14的距离和响应时间等综合信息,将数据请求导向最合适的边缘节点设备11。边缘节点设备11在接收到数据请求方14发送的数据请求后,将负责响应数据请求方14的数据请求。

对于边缘节点设备11来说,在接收到数据请求方14发送的数据请求后,可检查本地是否保存有数据请求所请求获取的第一数据,如果其本地保存有第一数据,则可将第一数据发送至数据请求方14以响应该数据请求;如果其本地中并未保存第一数据,则可向其它节点设备(例如,中间层节点设备12)请求第一数据,并在获取到第一数据后,基于第一数据响应该数据请求。

对于一些应用场景中的中间层节点设备12来说,其作为边缘节点设备11的上级节点设备,将接收到边缘节点设备11在其本地中未保存第一数据时发送的缓存请求,此时,中间层节点设备12也需要检查其本地是否保存有第一数据,如果没有,中间层节点设备12也需要向其对应的上级节点设备请求第一数据。

据此,对于数据请求方14的数据请求来说,其可能需要等到边缘节点设备11从中间层节点设备12上获取到第一数据才能获得响应,甚至需要等待边缘节点设备11与中间层节点设备12之间、各个中间层节点设备12之间,以及中间层节点设备12与源服务器13之间多个层级的交互过程之后才能获得响应。这将严重影响cdn对数据请求方14的数据请求的响应速度。

为了提高数据请求的响应速度,本实施例对cdn中的边缘节点设备11中的数据处理机制进行了改进。

在本实施例中,对cdn中的边缘节点设备11来说,可接收数据请求方14发送的数据请求,数据请求请求获取第一数据;根据第一数据,确定数据请求方后续请求的第二数据;当边缘节点设备11中不存在第二数据时,从cdn中的其它节点设备上获取第二数据;将第二数据保存至边缘节点设备11,以备数据请求方14后续请求第二数据。

数据请求方数据请求方数据请求方数据请求方本实施例中,边缘节点设备11可根据数据请求方发送的数据请求,确定出其所请求获得的第一数据。根据不同的应用场景,第一数据可以是一段视频数据、一个网页元素或者一张图片数据等等,本实施例对此不作限定。之后,根据第一数据,边缘节点设备11可预测数据请求方后续可能请求的第二数据,并确保预测出的第二数据保存在本地。其中,根据不同的预测策略,第二数据可以是与第一数据相关的数据,也可以是根据数据请求方的数据请求记录进行习惯、爱好等多角度分析后确定的与第一数据不相关的数据,本实施例对此不作限定。另外,边缘节点设备11可在预测出第二数据后,检查本地中是否保存有第二数据,如果本地中不存在第二数据,则从cdn中的其它节点设备中获取第二数据,并将第二数据保存至本地。这样,边缘节点设备11可根据当前的数据请求,在其本地预先准备好数据请求方后续可能访问的数据,以备数据请求方后续发送针对第二数据的数据请求时,可快速进行响应。

例如,边缘节点设备11可根据数据请求方14的本次数据请求,将数据请求方14后续可能访问的数据预先保存在其本地,这样,当数据请求方14后续向边缘节点设备11发送针对第二数据的数据请求时,边缘节点设备11可直接将第二数据发送给数据请求方14,而不再需要从其它节点设备中获取第二数据。

在本实施例中,边缘节点设备11可根据数据请求方14发送的数据请求,确定数据请求方14后续可能请求的数据,并确保数据请求方14后续可能请求的数据保存在cdn中的边缘节点设备11上。对于数据请求方14的数据请求来说,其所请求的数据已保存在边缘节点设备11上的概率非常高,因此,数据请求方14的大部分数据请求可直接从边缘节点设备11获取所需的数据,这可有效提高数据请求的响应速度。

在上述或下述实施例中,边缘节点设备11还可根据数据请求获取第一数据,并将第一数据发送给数据请求方14,在完成将第一数据发送给数据请求方的操作之后,执行从内容分发网络中的其它节点设备上获取第二数据的操作。

在本实施例中,边缘节点设备11可接收数据请求方14发送的数据请求,并确定本次数据请求所请求获取的第一数据;当边缘节点设备11的本地保存有第一数据时,将第一数据发送给数据请求方14;当边缘节点设备11的本地未保存第一数据时,可从cdn中的其它节点设备中获取第一数据,并发送给数据请求方14。另外,边缘节点设备11可将获取到的第一数据保存至本地,以备数据请求方14后续再次请求第一数据。

值得说明的是,本实施例中,边缘节点设备11也可将确定数据请求方14后续可能请求的第二数据的操作,放在获取第一数据,并将第一数据发送给数据请求方的操作之后。这可进一步提高数据请求的响应速度,避免对第二数据的预测过程影响数据请求的响应过程。

在本实施例中,边缘节点设备11异步执行数据请求的响应过程和数据请求方后续可能请求的第二数据的缓存过程。在将第一数据发送给数据请求方之后,再执行从边缘节点设备11上获取第二数据的操作,第二数据的缓存过程将不会对数据请求的响应过程产生影响,可避免了第二数据的缓存过程影响数据请求的响应速度。

在上述或下述实施例中,边缘节点设备11可根据数据请求中携带的第一数据在数据文件中的位置索引,确定位置索引在第一数据之后的数据作为第二数据。

数据请求方发送的数据请求中携带有第一数据在数据文件中的位置索引。根据不同的应用场景,数据请求方发送的数据请求可能在报文格式上存在差异,但无论是那种格式的数据请求,其中都会携带第一数据在数据文件中的位置索引。以一个http请求为例,http请求中包含一个http头,http头中包含若干信息项,其中,range信息项中定义了该http请求所请求获取的数据在数据文件中的位置索引。在一个示例中,range信息项可以是:range:bytes=1-1024,其含义为,本次http请求所请求获取的是数据文件中的第1-1024字节的数据。

据此,边缘节点设备11可根据数据请求,确定第一数据在数据文件中的位置。

对于一个数据文件来说,当数据请求方本次数据请求对应的是该数据文件中位于第一位置的数据时,那么第一位置之后的数据在接下来将被数据请求方请求的概率将非常高。例如,对于一部电影来说,若将该部电影的数据作为一个数据文件,那么当数据请求方本次数据请求对应的是该电影的第1-1024字节时,由于电影是按数据顺序进行播放的,因此,第1204字节之后的数据在接下来被请求的概率将非常高。

因此,将数据文件中位置索引在第一数据之后的数据作为第二数据,可提高边缘节点设备11上所保存的数据的被请求概率。

进一步,基于操作系统局部性原理,尤其是空间上的局部性原理:与当前正在被访问的数据相邻的数据很快也会被访问。本实施例中,边缘节点设备11可确定位置索引位于第一数据之后,且与第一数据相邻的数据,作为第二数据。

承接上例,对于一部电影对应的数据文件来说,当数据请求方本次数据请求对应的是该电影的第1-1024字节时,与第1024字节相邻的数据在接下来被请求的概率最高。

因此,将位置索引位于第一数据之后,且与第一数据相邻的数据,作为第二数据可进一步提高边缘节点设备11上所保存的数据的被请求概率。

在上述或下述实施例中,考虑到数据请求方每次发送的数据请求所对应的数据大小可能保持不变,尤其是在时间上相互临近的多个数据请求,各自所请求获取的数据大小保持一致的概率非常高。例如,对于前述的http请求,其http头中的range信息项中所请求获取的数据的起始位置和结束位置的间隔通常不变。

据此,本实施例中,第二数据可与第一数据的大小相等。当然,这只是一种优选方式,第二数据也可与第一数据大小不相等,第二数据的大小可以大于第一数据,也可小于第一数据。当第二数据的大小大于第一数据时,边缘节点设备11可一次性将足够多的第二数据保存在本地,这可减少边缘节点设备11从其它节点设备中获取数据的次数,当第二数据的大小小于第一数据时,则是充分考虑到边缘节点设备11上的存储空间有限,而仅将后续被请求的概率最高的数据保存在边缘节点设备11上。

在本实施例中,边缘节点设备11将第二数据的大小设定为与第一数据的大小相等,不仅可确保将足够大小的第二数据保存在边缘节点设备11上以满足数据请求方后续的数据请求,还可节省边缘节点设备11上的存储空间,避免后续被请求的概率较低的数据占用边缘节点设备11的存储空间。

在上述或下述实施例中,边缘节点设备11可向其上级节点设备请求第二数据,并接收上级节点设备返回的第二数据。

在cdn中可预先设定边缘节点设备11对应的上级节点设备。例如,可根据地理位置、负载能力等信息,预先配置每个边缘节点设备11对应的中间层节点设备12。在一个实际应用中,可为每个边缘节点设备11预先配置两个中间层节点设备12,当边缘节点设备11需要更新或者获取数据时,可向其对应的中间层节点设备12发送请求。

当cdn中部署有中间层节点设备时,边缘节点设备11对应的上级节点设备可以是中间层节点设备12,当不存在中间层节点设备12时,边缘节点设备11对应的上级节点设备可以是源服务器13。

在本实施例中,当边缘节点设备11上不存在第二数据时,可从其对应的上级节点设备中获取第二数据。其中,当边缘节点设备11对应的上级节点设备中也不存在第二数据时,边缘节点设备11可等待上级节点设备的响应,在上级节点设备执行完第二数据的获取及保存操作,边缘节点设备11可接收上级节点设备发送的第二数据。当然,在另一些应用场景中,若边缘节点设备11对应的上级节点设备在超过预设等待时长后仍未作出响应,边缘节点设备11可选择从其它节点设备上获取第二数据。

本实施例中,边缘节点设备11在其上级节点设备请求第二数据时,可从数据请求中获取第一数据所属数据文件的标识;根据数据文件的标识及第二数据在数据文件中的位置索引,生成缓存请求;将缓存请求发送至cdn中与边缘节点设备11对应的上级节点设备,以向上级节点设备请求第二数据。

值得说明的是,对于边缘节点设备11对应的上级节点设备来说,边缘节点设备11实质是数据请求方,边缘节点设备11发送的缓存请求实质是一种数据请求,上级节点设备在响应边缘节点设备11的数据请求的基础上,还可按照本实施例提供的新的数据处理方案进行按照边缘节点设备11请求获取的第二数据确定出的边缘节点设备11后续可能请求的数据并进行预先保存。

其中,本实施例中,第一数据和第二数据同属于同一数据文件,边缘节点设备11可根据第一数据的位置索引确定出第二数据的位置索引。例如,第一数据的起始位置为数据文件的第1字节,结束位置为数据文件的第1024字节,则根据边缘节点设备11预测第二数据的规则为与第一数据相邻且大小相等时,可确定第二数据的起始位置为数据文件的第1025字节,结束位置为数据文件的第2048字节,据此可确定出第二数据的位置索引,以range信息项的形式可表示为range:bytes=1025-2048。

在不同的应用场景中,第一数据所属数据文件的标识可能各有不同。以数据请求为http请求为例,可将http头中的url信息项作为数据文件的标识。当http请求被定向到边缘节点设备11时,边缘节点设备11可根据url中的域名、文件名等信息确定该http请求对应数据文件、该数据文件是否已经保存在边缘节点设备11的本地以及该数据文件在本地存储空间中的存储位置等信息。另外,当边缘节点设备11需要从其对应的上级节点设备中获取隶属于该数据文件的第二数据时,可根据从http头中解析出的url信息项以及确定出的第二数据在该数据文件中的位置索引,生成针对第二数据的缓存请求。在一些实际应用中,缓存请求可以参考http请求的结构形式,将数据文件的url作为http头中的url信息项,将第二数据在该数据文件中的位置索引作为http头中的range信息项,当然,http头中还可包含其它信息项,在此不再穷举。

图2为本申请另一实施例提供的一种数据处理方法的流程示意图。该数据处理方法适用于内容分发网络中的边缘节点设备。如图2所示,该方法包括:

200、接收数据请求方发送的数据请求,数据请求请求获取第一数据;

201、根据第一数据,确定数据请求方后续请求的第二数据;

202、判断边缘节点设备中是否存在第二数据,如果否,则执行步骤203,如果是,则结束;

203、从内容分发网络中的其它节点设备上获取第二数据;

204、保存第二数据,以备数据请求方后续请求第二数据。

本实施例中,可根据数据请求方发送的数据请求,确定出其所请求获得的第一数据。根据不同的应用场景,第一数据可以是一段视频数据、一个网页元素或者一张图片数据等等,本实施例对此不作限定。之后,根据第一数据,可预测数据请求方后续可能请求的第二数据,并确保预测出的第二数据保存在本地。其中,根据不同的预测策略,第二数据可以是与第一数据相关的数据,也可以是根据数据请求方的数据请求记录进行习惯、爱好等多角度分析后确定的与第一数据不相关的数据,本实施例对此不作限定。另外,可在预测出第二数据后,检查本地中是否保存有第二数据,如果本地中不存在第二数据,则从cdn中的其它节点设备中获取第二数据,并将第二数据保存至本地。这样,可根据当前的数据请求,在其本地预先准备好数据请求方后续可能访问的数据,以备数据请求方后续发送针对第二数据的数据请求时,可快速进行响应。

例如,可根据数据请求方的本次数据请求,将数据请求方后续可能访问的数据预先保存在其本地,这样,当数据请求方后续向边缘节点设备发送针对第二数据的数据请求时,可直接将第二数据发送给数据请求方,而不再需要从其它节点设备中获取第二数据。

在本实施例中,可根据数据请求方发送的数据请求,确定数据请求方后续可能请求的数据,并确保数据请求方后续可能请求的数据保存在内容分发网络中的边缘节点设备上。对于数据请求方的数据请求来说,其所请求的数据已保存在边缘节点设备上的概率非常高,因此,数据请求方的大部分数据请求可直接从边缘节点设备获取所需的数据,这可有效提高数据请求的响应速度。

图3为本申请另一实施例提供的另一种数据处理方法。如图3所示,该方法包括:

300、接收数据请求方发送的数据请求,数据请求请求获取第一数据;

301、根据所述数据请求获取第一数据,并将第一数据发送给数据请求方;

302、根据第一数据,确定数据请求方后续请求的第二数据;

303、判断边缘节点设备汇总是否存在第二数据,如果否,则执行步骤303,如果是,则结束;

304、从内容分发网络中的其它节点设备上获取第二数据;

305、保存第二数据,以备数据请求方后续请求第二数据。

其中,步骤30、302-305可参考前述实施例中的描述,在此不再赘述。

本实施例中,可接收数据请求方发送的数据请求,并确定本次数据请求所请求获取的第一数据;当本地保存有第一数据时,将第一数据发送给数据请求方;当本地未保存第一数据时,可从cdn中的其它节点设备中获取第一数据,并发送给数据请求方。另外,边缘节点设备可将获取到的第一数据保存至本地,以备数据请求方后续再次请求第一数据。

值得说明的是,本实施例中,步骤301也可在步骤302之后执行,本实施例中,确保步骤304在步骤301之后执行即可保证步骤301的执行速度。

在本实施例中,异步执行数据请求的响应过程和数据请求方后续可能请求的第二数据的缓存过程。在将第一数据发送给数据请求方之后,再执行从其他节点设备上获取第二数据的操作,第二数据的缓存过程将不会对数据请求的响应过程产生影响,可避免了第二数据的缓存过程影响数据请求的响应速度。

图4为本申请另一是实施例提供的又一数据处理方法的流程示意图。如图4所示,该方法包括:

400、接收数据请求方发送的数据请求,数据请求请求获取第一数据;

401、根据数据请求中携带的第一数据在数据文件中的位置索引,确定位置索引在第一数据之后的数据作为第二数据;

402、判断边缘节点设备中是否存在第二数据,如果否,则执行步骤403,如果是,则结束;

403、从内容分发网络中的其它节点设备上获取第二数据;

404、保存第二数据,以备数据请求方后续请求第二数据。

其中,步骤400、402-404可参考前述实施例中的描述,在此不再赘述。

数据请求方发送的数据请求中携带有第一数据在数据文件中的位置索引。根据不同的应用场景,数据请求方发送的数据请求可能在报文格式上存在差异,但无论是那种格式的数据请求,其中都会携带第一数据在数据文件中的位置索引。以一个http请求为例,http请求中包含一个http头,http头中包含若干信息项,其中,range信息项中定义了该http请求所请求获取的数据在数据文件中的位置索引。在一个示例中,range信息项可以是:range:bytes=1-1024,其含义为,本次http请求所请求获取的是数据文件中的第1-1024字节的数据。

据此,可根据数据请求,确定第一数据在数据文件中的位置。

对于一个数据文件来说,当数据请求方本次数据请求对应的是该数据文件中位于第一位置的数据时,那么第一位置之后的数据在接下来将被数据请求方请求的概率将非常高。例如,对于一部电影来说,若将该部电影的数据作为一个数据文件,那么当数据请求方本次数据请求对应的是该电影的第1-1024字节时,由于电影是按数据顺序进行播放的,因此,第1204字节之后的数据在接下来被请求的概率将非常高。

因此,将数据文件中位置索引在第一数据之后的数据作为第二数据,可提高节点设备上所保存的数据的被请求概率。

进一步,基于操作系统局部性原理,尤其是空间上的局部性原理:与当前正在被访问的数据相邻的数据很快也会被访问。本实施例中,节点设备可确定位置索引位于第一数据之后,且与第一数据相邻的数据,作为第二数据。

承接上例,对于一部电影对应的数据文件来说,当数据请求方本次数据请求对应的是该电影的第1-1024字节时,与第1024字节相邻的数据在接下来被请求的概率最高。

因此,将位置索引位于第一数据之后,且与第一数据相邻的数据,作为第二数据可进一步提高边缘节点设备上所保存的数据的被请求概率。

在上述或下述实施例中,考虑到数据请求方每次发送的数据请求所对应的数据大小可能保持不变,尤其是在时间上相互临近的多个数据请求,各自所请求获取的数据大小保持一致的概率非常高。例如,对于前述的http请求,其http头中的range信息项中所请求获取的数据的起始位置和结束位置的间隔通常不变。

据此,本实施例中,第二数据可与第一数据的大小相等。当然,这只是一种优选方式,第二数据也可与第一数据大小不相等,第二数据的大小可以大于第一数据,也可小于第一数据。当第二数据的大小大于第一数据时,边缘节点设备可一次性将足够多的第二数据保存在本地,这可减少边缘节点设备从其它节点设备中获取数据的次数,当第二数据的大小小于第一数据时,则是充分考虑到边缘节点设备上的存储空间有限,而仅将后续被请求的概率最高的数据保存在边缘节点设备上。

在本实施例中,将第二数据的大小设定为与第一数据的大小相等,不仅可确保将足够大小的第二数据保存在边缘节点设备上以满足数据请求方后续的数据请求,还可节省边缘节点设备上的存储空间,避免后续被请求的概率较低的数据占用边缘节点设备的存储空间。

图5为本申请另一实施例提供的又一种数据处理方法的流程示意图。如图5所示,该方法包括:

500、接收数据请求方发送的数据请求,数据请求请求获取第一数据;

501、根据第一数据,确定数据请求方后续请求的第二数据;

502、判断边缘节点设备中是否存在第二数据,如果否,则执行步骤503,如果是,则结束;

503、向内容分发网络中与边缘节点设备对应的上级节点设备请求第二数据,并接收上级节点设备返回的第二数据;

504、保存第二数据,以备数据请求方后续请求第二数据。

其中,步骤500-502和504可参考前述实施例中的描述,在此不再赘述。

在cdn中可预先设定边缘节点设备对应的上级节点设备。例如,可根据地理位置、负载能力等信息,预先配置每个边缘节点设备对应的中间层节点设备。在一个实际应用中,可为每个边缘节点设备预先配置两个中间层节点设备,当边缘节点设备需要更新或者获取数据时,可向其对应的中间层节点设备发送请求。

当cdn中部署有中间层节点设备时,边缘节点设备对应的上级节点设备可以是中间层节点设备,当不存在中间层节点设备时,节点设备对应的上级节点设备可以是源服务器。

在本实施例中,当边缘节点设备中不存在第二数据时,可从边缘节点设备对应的上级节点设备中获取第二数据。其中,当边缘节点设备对应的上级节点设备中也不存在第二数据时,可等待上级节点设备的响应,在上级节点设备执行完第二数据的获取及保存操作,可接收上级节点设备发送的第二数据。当然,在另一些应用场景中,若边缘节点设备对应的上级节点设备在超过预设等待时长后仍未作出响应,可选择从其它节点设备上获取第二数据。

本实施例中,在向内容分发网络中与边缘节点设备对应的上级节点设备请求第二数据时,可从数据请求中获取第一数据所属数据文件的标识;根据数据文件的标识及第二数据在数据文件中的位置索引,生成缓存请求;将缓存请求发送至内容分发网络中与边缘节点设备对应的上级节点设备,以向上级节点设备请求第二数据。

其中,本实施例中,第一数据和第二数据同属于同一数据文件,可根据第一数据的位置索引确定出第二数据的位置索引。例如,第一数据的起始位置为数据文件的第1字节,结束位置为数据文件的第1024字节,则根据边缘节点设备预测第二数据的规则为与第一数据相邻且大小相等时,可确定第二数据的起始位置为数据文件的第1025字节,结束位置为数据文件的第2048字节,据此可确定出第二数据的位置索引,以range信息项的形式可表示为range:bytes=1025-2048。

在不同的应用场景中,第一数据所属数据文件的标识可能各有不同。以数据请求为http请求为例,可将http头中的url信息项作为数据文件的标识。当http请求被定向到边缘节点设备时,边缘节点设备可根据url中的域名、文件名等信息确定该http请求对应数据文件、该数据文件是否已经保存在边缘节点设备的本地以及该数据文件在本地存储空间中的存储位置等信息。另外,当边缘节点设备需要从其对应的上级节点设备中获取隶属于该数据文件的第二数据时,可根据从http头中解析出的url信息项以及确定出的第二数据在该数据文件中的位置索引,生成针对第二数据的缓存请求。在一些实际应用中,缓存请求可以参考http请求的结构形式,将数据文件的url作为http头中的url信息项,将第二数据在该数据文件中的位置索引作为http头中的range信息项,当然,http头中还可包含其它信息项,在此不再穷举。

图6为本申请又一实施例提供的一种边缘节点设备的结构示意图。如图6所示,该边缘节点设备包括:存储器60、处理器61和通信组件62;

存储器60,用于存储计算机程序,并可被配置为存储其它各种数据以支持在主节点上的操作。这些数据的示例包括用于在主节点操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器60可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器61,与存储器60耦合,用于执行存储器60中的计算机程序,以用于:

接收数据请求方发送的数据请求,数据请求请求获取第一数据;

根据第一数据,确定数据请求方后续请求的第二数据;

当边缘节点设备中不存在第二数据时,通过通信组件从内容分发网络中的其它节点设备上获取第二数据;

保存第二数据。

在一可选实施例中,处理器61在从接收数据请求方发送的数据请求之后,还用于:

根据数据请求获取第一数据,并通过通信组件将第一数据发送给数据请求方;

在完成将第一数据发送给数据请求方的操作之后,执行通过通信组件从内容分发网络中的其它节点设备上获取第二数据的操作。

在一可选实施例中,处理器61在根据第一数据,确定数据请求方后续请求的第二数据时,用于:

根据数据请求中携带的第一数据在数据文件中的位置索引,确定位置索引在第一数据之后的数据作为第二数据。

在一可选实施例中,处理器61在确定位置索引在第一数据之后的数据作为第二数据时,用于:

确定位置索引位于第一数据之后,且与第一数据相邻的数据,作为第二数据。

在一可选实施例中,第二数据与第一数据的大小相等。

在一可选实施例中,处理器61在从内容分发网络中的其它节点设备上获取第二数据时,用于:

通过通信组件62向内容分发网络中与边缘节点设备对应的上级节点设备请求第二数据,并接收上级节点设备返回的第二数据。

在一可选实施例中,处理器61在向内容分发网络中与节点设备对应的上级节点设备请求第二数据时,用于:

从数据请求中获取第一数据所属数据文件的标识;

根据数据文件的标识及第二数据在数据文件中的位置索引,生成缓存请求;

通过通信组件62将缓存请求发送至内容分发网络中与边缘节点设备对应的上级节点设备,以向上级节点设备请求第二数据。

进一步,如图6所示,该服务器还可包括:显示器63、电源组件64、音频组件65等其它组件。图6中仅示意性给出部分组件,并不意味着节点设备只包括图6所示组件。

其中,图6中的通信组件62,可被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

其中,图6中的显示器63,包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

其中,图6中的电源组件64,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

其中,图6中的音频组件65,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由节点设备执行的各步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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