一种任务推送方法、节点自治服务器及边缘缓存服务器与流程

文档序号:16545354发布日期:2019-01-08 20:49阅读:200来源:国知局
一种任务推送方法、节点自治服务器及边缘缓存服务器与流程

本发明涉及内容分发网络(contentdeliverynetwork,简称cdn)技术领域,尤其涉及一种任务推送方法、节点自治服务器及边缘缓存服务器。



背景技术:

内容分发网络中,电商等客户预先将需要推送的内容提交内容管理系统,然后由内容管理系统根据客户需求将内容推送至特定的边缘缓存服务器,边缘缓存服务器缓存内容管理系统推送的内容。用户访问边缘缓存服务器时,如果边缘缓存服务器有缓存内容,边缘缓存服务器直接将缓存内容发送至用户,如果边缘服务器没有缓存内容,则从数据源拉取内容并发送至用户,其中,数据源为电商等客户对应的服务器,边缘缓存服务器同时缓存从数据源中拉取的内容。当电商等客户需要对边缘缓存服务器上的内容进行更新或删除时,将操作任务提交至内容管理系统,然后由内容管理系统无差别地推送给每一个边缘缓存服务器,而有些边缘服务器中并没有缓存该操作任务对应的内容,但边缘缓存服务器仍需要对推送的操作任务进行处理,从而增大了边缘缓存服务器的压力,导致处理效率降低。



技术实现要素:

由于现有技术中,内容管理系统无差别地将任务推送至每一个边缘缓存服务器,导致边缘缓存服务器需要对不属于自身的任务进行处理,从而影响自身处理效率的问题,本申请实施例提供了一种任务推送方法、节点自治服务器及边缘缓存服务器。

第一方面,本申请实施例提供了一种任务推送方法,包括:

节点自治服务器接收任务推送请求,所述任务推送请求中携带目标对象的标识以及所述目标对象的操作任务;

所述节点自治服务器根据所述目标对象的标识查询缓存列表,确定缓存所述目标对象的边缘缓存服务器,所述缓存列表中对应保存了各边缘缓存服务器缓存的目标对象的标识,所述缓存列表是根据各边缘缓存服务器中的缓存日志确定的;

所述节点自治服务器将所述目标对象的操作任务推送至缓存所述目标对象的边缘缓存服务器,缓存所述目标对象的边缘缓存服务器执行所述目标对象的操作任务。

可选地,所述缓存列表中包括多个布隆过滤器,一个布隆过滤器对应保存一个边缘缓存服务器缓存的对象的哈希值;

所述节点自治服务器根据所述目标对象的标识查询缓存列表,确定缓存所述目标对象的边缘缓存服务器,包括:

所述节点自治服务器对所述目标对象的标识进行哈希映射,确定所述目标对象的目标哈希值;

所述节点自治服务器根据所述目标哈希值查找每一个边缘缓存服务器对应的布隆过滤器;

所述节点自治服务器将包含所述目标哈希值的布隆过滤器对应的边缘缓存服务器确定为缓存所述目标对象的边缘缓存服务器。

可选地,所述缓存列表是根据各边缘缓存服务器中的缓存日志确定的,包括:

针对每一个边缘缓存服务器,所述节点自治服务器从所述边缘缓存服务器中采集缓存日志,所述缓存日志保存了所述边缘缓存服务器中各对象的操作记录;

所述节点自治服务器在确定所述缓存日志为所述边缘缓存服务器新增缓存对象时,从所述缓存日志中采集新增对象的标识;

所述节点自治服务器对所述新增对象的标识进行哈希映射,确定所述新增对象的哈希值;

所述节点自治服务器将所述新增对象的哈希值添加至所述边缘缓存服务器对应的布隆过滤器。

可选地,还包括:

所述节点自治服务器在确定所述缓存日志为所述边缘缓存服务器删除缓存对象时,从所述缓存日志中采集删除对象的标识;

所述节点自治服务器对所述删除对象的标识进行哈希映射,确定所述删除对象的哈希值;

所述节点自治服务器从所述边缘缓存服务器对应的布隆过滤器中删除所述删除对象的哈希值。

可选地,所述目标对象的操作任务为所述目标对象的更新指令;

所述节点自治服务器将所述目标对象的操作任务推送至缓存所述目标对象的边缘缓存服务器,缓存所述目标对象的边缘缓存服务器执行所述目标对象的操作任务,包括:

所述节点自治服务器将所述目标对象的更新指令推送至缓存所述目标对象的边缘缓存服务器,缓存所述目标对象的边缘缓存服务器获取所述目标对象的更新内容,并采用所述目标对象的更新内容替换所述目标对象的旧版本内容。

可选地,所述目标对象的操作任务为所述目标对象的删除指令;

所述节点自治服务器将所述目标对象的操作任务推送至缓存所述目标对象的边缘缓存服务器,缓存所述目标对象的边缘缓存服务器执行所述目标对象的操作任务,包括:

所述节点自治服务器将所述目标对象的删除指令推送至缓存所述目标对象的边缘缓存服务器,缓存所述目标对象的边缘缓存服务器从缓存的对象中查询出所述目标对象并删除。

第二方面,本申请实施例提供了一种节点自治服务器,包括:

接收模块,用于接收任务推送请求,所述任务推送请求中携带目标对象的标识以及所述目标对象的操作任务;

查询模块,用于根据所述目标对象的标识查询缓存列表,确定缓存所述目标对象的边缘缓存服务器,所述缓存列表中对应保存了各边缘缓存服务器缓存的目标对象的标识,所述缓存列表是根据各边缘缓存服务器中的缓存日志确定的;

推送模块,用于将所述目标对象的操作任务推送至缓存所述目标对象的边缘缓存服务器,以使缓存所述目标对象的边缘缓存服务器执行所述目标对象的操作任务。

可选地,所述缓存列表中包括多个布隆过滤器,一个布隆过滤器对应保存一个边缘缓存服务器缓存的对象的哈希值;

所述查询模块具体用于:

对所述目标对象的标识进行哈希映射,确定所述目标对象的目标哈希值;

根据所述目标哈希值查找每一个边缘缓存服务器对应的布隆过滤器;

将包含所述目标哈希值的布隆过滤器对应的边缘缓存服务器确定为缓存所述目标对象的边缘缓存服务器。

可选地,所述查询模块具体用于:

针对每一个边缘缓存服务器,从所述边缘缓存服务器中采集缓存日志,所述缓存日志保存了所述边缘缓存服务器中各对象的操作记录;

在确定所述缓存日志为所述边缘缓存服务器新增缓存对象时,从所述缓存日志中采集新增对象的标识;

对所述新增对象的标识进行哈希映射,确定所述新增对象的哈希值;

将所述新增对象的哈希值添加至所述边缘缓存服务器对应的布隆过滤器。

可选地,所述查询模块还用于:

在确定所述缓存日志为所述边缘缓存服务器删除缓存对象时,从所述缓存日志中采集删除对象的标识;

对所述删除对象的标识进行哈希映射,确定所述删除对象的哈希值;

从所述边缘缓存服务器对应的布隆过滤器中删除所述删除对象的哈希值。

可选地,所述目标对象的操作任务为所述目标对象的更新指令;

所述推送模块具体用于:

将所述目标对象的更新指令推送至缓存所述目标对象的边缘缓存服务器,以使缓存所述目标对象的边缘缓存服务器获取所述目标对象的更新内容,并采用所述目标对象的更新内容替换所述目标对象的旧版本内容。

可选地,所述目标对象的操作任务为所述目标对象的删除指令;

所述推送模块具体用于:

将所述目标对象的删除指令推送至缓存所述目标对象的边缘缓存服务器,以使缓存所述目标对象的边缘缓存服务器从缓存的对象中查询出所述目标对象并删除。

第三方面、本申请实施例提供了一种边缘缓存服务器,包括:

接收模块,用于接收节点自治服务器推送的目标对象的操作任务;

处理模块,用于执行所述目标对象的操作任务,所述边缘缓存服务器是所述节点自治服务器根据接收的任务推送请求中携带的所述目标对象的标识查询缓存列表确定的,所述缓存列表中对应保存了各边缘缓存服务器缓存的对象的标识。

第四方面,本申请实施例提供了一种任务推送设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行第一方面所述方法的步骤。

第五方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由任务推送设备执行的计算机程序,当所述程序在任务推送设备上运行时,使得所述任务推送设备执行第一方面所述方法的步骤。

由于节点自治服务器的缓存列表中对应保存了各边缘缓存服务器缓存的对象的标识,故在接收到任务推送请求时,可以先根据任务推送请求中携带的目标对象的标识查询缓存列表,确定缓存目标对象的边缘缓存服务器,然后只需将目标对象的操作任务推送至缓存了目标对象的边缘缓存服务器,而不需要将目标对象的操作任务推送至所有的边缘缓存服务器。因此每一个边缘缓存服务器只需要对自身缓存的网页的任务进行处理,从而提高了边缘缓存服务器处理任务的效率,提高需要推送任务的客户的满意度。由于节点自治服务器不需要将目标对象的操作任务推送至所有的边缘缓存服务器,从而也减小了节点自治服务器的压力,避免了宽带资源浪费。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种应用场景图;

图2为本申请实施例提供的一种节点自治服务器的结构示意图;

图3为本申请实施例提供的一种任务推送方法的流程示意图;

图4为本申请实施例提供的一种计数布隆过滤器的示意图;

图5为本申请实施例提供的一种计数布隆过滤器的示意图;

图6为本申请实施例提供的一种计数布隆过滤器的示意图;

图7为本申请实施例提供的一种计数布隆过滤器的示意图;

图8为本申请实施例提供的一种确定边缘缓存服务器的方法的流程示意图;

图9为本申请实施例提供的一种计数布隆过滤器的示意图;

图10为本申请实施例提供的一种计数布隆过滤器的示意图;

图11为本申请实施例提供的一种应用场景图;

图12为本申请实施例提供的一种节点自治服务器的结构示意图;

图13为本申请实施例提供的一种边缘缓存服务器的结构示意图;

图14为本申请实施例提供的一种任务推送设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在具体实践过程中,本发明的发明人发现,当客户将需要推送至边缘缓存服务器中的任务提交至内容管理系统时,内容管理系统会无差别地将任务推送至客户对应的每一个边缘缓存服务器。但是对于一些更新或删除边缘缓存服务器中缓存的网页的任务,只有缓存了网页的边缘缓存服务器才需要执行,无差别推送任务将导致没有缓存对应网页的边缘缓存服务器也执行该任务。当大量客户同一时间内都推送任务时,边缘缓存服务器不仅需要处理自身所缓存的网页的任务,同时还要对自身没有缓存的网页的任务进行处理,这样大大增加了边缘缓存服务器的压力,降低了边缘缓存服务器处理任务的效率,导致大量的任务堆积在边缘缓存服务器中等待处理。而客户要求推送的任务一般配置了超时时间,当大量任务超时时,将导致客户投诉增多。

为此,本发明的发明人考虑到,针对更新或删除边缘缓存服务器中缓存的网页的任务,可以采用差别推送的方法,即将更新或删除网页的任务推送至缓存了该网页的边缘缓存服务器,而对于没有缓存该网页的边缘缓存服务器则不推送。具体地,节点自治服务器接收任务推送请求,任务推送请求中携带目标对象的标识以及目标对象的操作任务,操作任务至少包括更新、删除。然后根据目标对象的标识查询缓存列表,确定缓存目标对象的边缘缓存服务器。缓存列表中对应保存了各边缘缓存服务器缓存的目标对象的标识。节点自治服务器采集各边缘缓存服务器的缓存日志对缓存列表进行更新。之后再将目标对象的操作任务推送至缓存目标对象的边缘缓存服务器,以使缓存目标对象的边缘缓存服务器执行目标对象的操作任务。由此,边缘缓存服务器只需要处理自身缓存的网页的操作任务,能有效提高处理任务的效率,避免任务处理超时,减少客户投诉。另外节点自治服务器不需要将任务推送至每一个边缘缓存服务器,节约了宽带资源。

本申请实施例中的任务推送方法可以应用于如图1所示的应用场景,在该应用场景中包括内容管理系统101、节点自治服务器102以及边缘缓存服务器103、客户终端104以及用户终端105。

客户终端104是具备网络通信能力的电子设备,该电子设备可以是智能手机、平板电脑或便携式个人计算机等等。客户终端104通过无线网络与内容管理系统101连接。内容管理系统101通过无线网络与一个或多个节点自治服务器102连接,在一个区域或者一个机房中选择一台服务器作为节点自治服务器102,节点自治服务器102管理该区域或机房下的边缘缓存服务器103。节点自治服务器102与一个或多个边缘缓存服务器103连接。用户终端105是具备网络通信能力的电子设备,该电子设备可以是智能手机、平板电脑或便携式个人计算机等等。用户终端105通过无线网络与边缘缓存服务器103连接,用户终端105可以向边缘缓存服务器103请求网页内容,比如淘宝网页、直播网页等等,用户终端105也可以向边缘缓存服务器103请求app内容,比如淘宝app、直播app、腾讯视频app等等。

下面以用户访问网页为例进行说明,用户在用户终端105输入网址或者点击网页链接后,用户终端105向边缘缓存服务器103发送网页请求,边缘缓存服务器103查询已缓存的网页。当边缘缓存服务器103缓存了用户终端105请求的网页时,边缘缓存服务器103直接将缓存的网页发送至用户终端105。当边缘缓存服务器103没有缓存用户终端105请求的网页时,从网页的源服务器中获取网页并将网页发送至用户终端105。边缘缓存服务器103同时将从源服务器中获取的网页缓存。

当客户对源服务器中的网页进行更新或删除后,边缘缓存服务器103中对应缓存的网页也需要进行更新或删除,这样才能使用户从边缘缓存服务器103获取的网页与从源服务器中获取的网页是相同的。为此,本申请实施例中,客户终端104发送任务推送请求至内容管理系统101,任务推送请求中携带目标对象的标识以及目标对象的操作任务,操作任务至少包括更新、删除。内容管理系统101将任务推送请求发送至该客户对应的节点自治服务器102。节点自治服务器102的缓存列表中保存了该客户对应的所有边缘缓存服务器103中缓存的对象的哈希值。节点自治服务器102根据目标对象的标识查询缓存列表,确定缓存目标对象的边缘缓存服务器103。然后将任务推送请求发送至缓存目标对象的边缘缓存服务器103。缓存目标对象的边缘缓存服务器103执行目标对象的操作任务。

进一步地,在图1所示的应用场景图中,节点自治服务器102的结构示意图如图2所示,节点自治服务器102包括:通信层1021、解析层1022、业务层1023、数据层1024以及存储层1025。

通信层1021主要包括采集模块和远程过程调用(remoteprocedurecall,简称rpc)模块,其中,采集模块用于采集边缘缓存服务器的缓存日志,rpc模块用于与内容管理系统交互。解析层1022包括缓存解析模块和通信协议解析模块。缓存解析模块用于解析边缘缓存服务器的缓存日志和失效的数据记录格式,并将解析结构加入数据层1024中的计数布隆过滤器中。通信协议解析模块用于解析内容管理系统与节点自治服务器通信的消息协议,可支持json、protobuf、xml等。业务层1023的功能包括哈希映射、缓存查询、缓存日志、监控统计、系统日志等。数据层1024包括节点自治服务器102下的所有边缘缓存服务器对应的计数布隆过滤器。存储层1025是持久化数据层1024的计数布隆过滤器记录,防止节点自治服务器102机器宕机或重启时数据丢失导致推送漏推的问题。

基于图1所示的应用场景图和图2所示的节点自治服务器的结构,本申请实施例提供了一种任务推送方法的流程,该方法的流程可以由节点自治服务器和边缘缓存服务器交互执行,如图3所示,包括以下步骤:

步骤s301,节点自治服务器接收任务推送请求,任务推送请求中携带目标对象的标识以及目标对象的操作任务。

目标对象可以是网页内容、app内容等边缘缓存服务器上缓存的内容。对象的地址可以是域名、统一资源定位符(url,简称uniformresourcelocator)等等。操作任务可以是更新指令、删除指令等等。内容管理系统接收客户发送至的任务推送请求,然后根据任务推送请求中携带的目标对象的标识确定对应的节点自治服务器。一般来说,预先为每个客户配置了节点自治服务器,根据目标对象的标识可以确定对应的客户,进而确定目标对象的标识对应的节点自治服务器,然后将任务推送请求发送至节点自治服务器。

步骤s302,节点自治服务根据目标对象的标识查询缓存列表,确定缓存目标对象的边缘缓存服务器。

缓存列表中对应保存了各边缘缓存服务器缓存的目标对象的标识,缓存列表是根据各边缘缓存服务器中的缓存日志确定的。

步骤s303,节点自治服务将目标对象的操作任务推送至缓存目标对象的边缘缓存服务器。

步骤s304,边缘缓存服务器执行目标对象的操作任务。

由于缓存列表中对应保存了各边缘缓存服务器缓存的对象的标识,故在接收到任务推送请求时,可以先根据任务推送请求中携带的目标对象的标识查询缓存列表,确定缓存目标对象的边缘缓存服务器,然后只需将目标对象的操作任务推送至缓存了目标对象的边缘缓存服务器,而不需要将目标对象的操作任务推送至所有的边缘缓存服务器。因此每一个边缘缓存服务器只需要对自身缓存的网页的任务进行处理,从而提高了边缘缓存服务器处理任务的效率,提高需要推送任务的客户的满意度。由于节点自治服务器不需要将目标对象的操作任务推送至所有的边缘缓存服务器,从而也减小了节点自治服务器的压力,避免了宽带资源浪费。

在上述步骤s302中,存列表是根据各边缘缓存服务器中的缓存日志确定的。

针对每一个边缘缓存服务器,节点自治服务器从边缘缓存服务器中采集缓存日志,缓存日志保存了边缘缓存服务器中各对象的操作记录。具体地,确定缓存日志为边缘缓存服务器新增缓存对象时,从缓存日志中采集新增对象的标识,将新增对象的标识添加缓存列表中。在确定缓存日志为边缘缓存服务器删除缓存对象时,从缓存日志中采集删除对象的标识,从缓存列表中删除删除对象的标识。

下面对缓存日志进行示例性说明。

示例性地,边缘缓存服务器在接收到用户发送的www.abc.com的网页请求时,从源服务器中获取该网页并缓存,在缓存日志中记录网页地址:www.abc.com以及网页操作:新增缓存网页。

示例性地,边缘缓存服务器中已经缓存的网页www.abc.com过期时,边缘缓存服务器自动删除网页www.abc.com,在缓存日志中记录网页地址:www.abc.com以及网页操作:删除缓存网页。

可选地,节点自治服务器可以周期性采集边缘缓存服务器的缓存日志,比如,节点自治服务器每天零点采集边缘缓存服务器一天的缓存日志。节点自治服务器也可以实时监控边缘缓存服务器的缓存日志,当缓存日志中新增记录时,采集新增的记录。比如,边缘缓存服务器新增缓存网页www.abc.com时,节点自治服务器采集缓存日志中新增的网页地址www.abc.com以及网页操作:新增缓存网页,然后将网页地址www.abc.com添加至缓存列表中。又比如,边缘缓存服务器删除缓存网页www.abc.com时,节点自治服务器采集缓存日志中删除网页地址www.abc.com。通过监控边缘缓存服务器的缓存日志,及时更新节点自治服务器中的缓存列表,故在接收到客户的任务推送请求时,可以根据缓存列表确定当前缓存目标对象的边缘缓存服务器,从而避免推送任务时出现遗漏。

对于节点自治服务器中的缓存列表,本申请实施例至少提供了以下几种实施方式:

在一种可能的实施方式中,节点自治服务器中的缓存列表可以为一个总表,各边缘缓存服务器缓存的对象的标识与各边缘缓存服务器的标识对应保存在缓存列表中。

在一种可能的实施方式中,节点自治服务器中的缓存列表包括多个子列表,一个子列表对应保存一个边缘缓存服务器缓存的对象的标识。

示例性地,设定节点自治服务器的缓存列表中包括子列表a、子列表b,对应节点自治服务器管理的边缘缓存服务器1、边缘缓存服务器2。采集模块定期采集2个边缘缓存服务器的缓存日志,当边缘缓存服务器1的缓存日志为新增缓存网页www.abc.com时,将网页地址www.abc.com添加至子列表a。当边缘缓存服务器2的缓存日志为www.12.com过期时,子列表b中查询网页地址www.12.com并删除。

在一种可能的实施方式中,缓存列表中包括多个布隆过滤器,一个布隆过滤器对应保存一个边缘缓存服务器缓存的对象的哈希值。

布隆过滤器也可以是计数布隆过滤器,计数布隆过滤器在原有的布隆过滤器的基础上添加删除操作。布隆过滤器是一种空间效率很高的随机数据结构,它利用位数组表示集合,并能判断一个元素是否属于此集合,具有占用内存小,查找高效特点。计数布隆过滤器为布隆过滤器的位数组中每一位扩展为一个计数器(counter),插入元素时给对应的k(k为哈希函数个数)个counter值分别加1,删除元素时给对应的k个counter值减1,以支持布隆过滤器的删除操作。

针对每一个边缘缓存服务器,节点自治服务器从边缘缓存服务器中采集缓存日志,缓存日志保存了边缘缓存服务器中各对象的操作记录。节点自治服务器在确定缓存日志为边缘缓存服务器新增缓存对象时,从缓存日志中采集新增对象的标识。对新增对象的标识进行哈希映射,确定新增对象的哈希值,然后将新增对象的哈希值添加至边缘缓存服务器对应的布隆过滤器。

示例性地,设定计数布隆过滤器的位数组的初始状态如图4所示,是一个包含10个短整型counter数组,每一位都置为0。设定哈希函数个数为3个,新增的网页地址为www.abc.com,采用3个哈希函数将新增的网页地址哈希映射至计数布隆过滤器的counter数组中,对应计数布隆过滤器的位数组中的第1、3、7counter,计数布隆过滤器的counter数组中对应的counter加1,具体如图5所示。若此时再新增网页www.123.com,采用3个哈希函数将新增的网页地址哈希映射至计数布隆过滤器的counter数组中,然后将计数布隆过滤器的counter数组中对应的counter加1,此时计数布隆过滤器的counter数组如图5所示。由于新增的两个网页经过哈希映射后,都将计数布隆过滤器的位数组中第3counter加1,因此计数布隆过滤器r的counter数组第3counter为2。

针对每一个边缘缓存服务器,节点自治服务器在确定缓存日志为边缘缓存服务器删除缓存对象时,从缓存日志中采集删除对象的标识,然后对删除对象的标识进行哈希映射,确定删除对象的哈希值,之后再从边缘缓存服务器对应的布隆过滤器中删除删除对象的哈希值。

示例性地,设定计数布隆过滤器的counter数组的当前状态如图6所示。哈希函数个数为3个,删除的网页地址为www.abc.com,采用3个哈希函数将删除的网页地址哈希映射至计数布隆过滤器的counter数组中,对应计数布隆过滤器的counter数组中的第1、3、7counter,然后将计数布隆过滤器的位数组中对应的counter减1,具体如图7所示。采用计数布隆过滤器存储各个边缘缓存服务器缓存的网页的地址哈希值,占用节点自治服务器的内存较小。

进一步地,在上述步骤s302中,节点自治服务器根据目标对象的地址查询缓存列表,确定缓存目标对象的边缘缓存服务器,如图8所示,具体包括以下步骤:

步骤s801,对目标对象的对象进行哈希映射,确定目标对象的目标哈希值。

步骤s802,根据目标哈希值查找每一个边缘缓存服务器对应的布隆过滤器。

步骤s803,将包含目标哈希值的布隆过滤器对应的边缘缓存服务器确定为缓存目标对象的边缘缓存服务器。

示例性地,设定目标对象的地址为www.abc.com,节点自治服务器的缓存列表中包括计数布隆过滤器a、计数布隆过滤器b,对应节点自治服务器管理的边缘缓存服务器1、边缘缓存服务器2。计数布隆过滤a的counter数组的当前状态如图9所示,采用3个哈希函数将目标对象的地址哈希映射至计数布隆过滤器a的counter数组中,对应计数布隆过滤器a的counter数组中的第1、3、7counter,而此时图9所示的counter数组中第1、3、7counter均不为0,则确定边缘缓存服务器1中缓存了目标对象。计数布隆过滤器a的counter数组的当前状态如图10所示,采用3个哈希函数将目标对象的地址哈希映射至计数布隆过滤器b的counter数组中,对应计数布隆过滤器b的counter数组中的第1、3、7counter,而此时图10所示的counter数组中第1、3、7counter中第7counter为0,则确定边缘缓存服务器2中没有缓存目标对象。因此,将边缘缓存服务器1确定为缓存目标对象www.abc.com的边缘缓存服务器,而边缘缓存服务器2不是缓存目标对象www.abc.com的边缘缓存服务器。通过哈希映射从计数布隆过滤器查找缓存目标对象的边缘缓存服务器,查找高效,提高可任务的处理效率。

在上述步骤s303和步骤s304中,当目标对象的操作任务为目标对象的更新指令时,节点自治服务器将目标对象的更新指令推送至缓存目标对象的边缘缓存服务器。缓存目标对象的边缘缓存服务器获取目标对象的更新内容并更新目标对象。

在一种可能的实施方式中,节点自治服务器将目标对象的更新指令推送至缓存目标对象的边缘缓存服务器时,同时将目标对象的更新内容发送至缓存目标对象的边缘缓存服务器,缓存目标对象的边缘缓存服务器采用目标对象的更新内容替换目标对象的旧版本内容。示例性地,当客户需要更新网页中的图像时,在发送任务推送请求至节点自治服务器时,在任务推送请求中携带新图像,故节点自治服务器将该网页的更新指令发送至缓存了该网页的边缘缓存服务器时,同时将新图像发送至缓存了该网页的边缘缓存服务器,边缘缓存服务器将网页中的旧图像替换为新图像。

在一种可能的实施方式中,缓存目标对象的边缘缓存服务器接收到目标页面的更新指令时,从目标对象的源服务器中获取目标对象的更新内容,然后采用目标对象的更新内容替换目标对象的旧版本内容。示例性地,边缘缓存服务器接收到更新网页中商品价格的指令时,从网页的源服务器中获取新的商品价格,然后将网页中新的商品价格替换旧的商品价格。

在上述步骤s303和步骤s304中,当目标对象的操作任务为目标对象的删除指令时,节点自治服务器将目标对象的删除指令推送至缓存目标对象的边缘缓存服务器,缓存目标对象的边缘缓存服务器从缓存的网页中查询出目标对象并删除。可选地,边缘缓存服务器删除目标对象后,缓存日志中将会新增记录,节点自治服务器采集新增记录,然后根据记录删除缓存列表中目标对象的标识。由于在客户需要更新或删除边缘缓存服务器中缓存的目标对象时,只将更新或删除的操作任务发送至缓存了目标对象的边缘缓存服务器,而不是推送给每一个边缘缓存服务器,从而减小边缘缓存服务器的压力,提高了任务处理效率。

为了更好的解释本申请实施例,下面结合具体的实施场景描述本申请实施例提供的一种任务推送方法,设定客户为电商,目标对象为商品a的详情页面,电商为了在节假日促销,修改了商品a的价格。如图11所示,电商将任务推送请求发送至内容管理系统1101,任务推送请求中携带了商品a详情页面的url以及修改商品a价格的操作指令。内容管理系统1101根据商品a详情页面的url选择电商对应的节点自治服务器1102。内容管理系统1101将任务推送请求发送至节点自治服务器1102。节点自治服务器1102中包括基于计数布隆过滤器的索引系统11021。采集系统1104实时采集边缘缓存服务器1103的缓存日志,索引系统11021的采集模块从采集系统1104中获取边缘缓存服务器的缓存日志并根据缓存日志更新索引系统11021中的计数布隆过滤器。索引系统11021将商品a详情页面的url进行哈希映射,确定商品a详情页面的哈希值。然后查询每一个边缘缓存服务器1103对应的计数布隆过滤器,将包含商品a详情页面的哈希值的计数布隆过滤器对应的边缘缓存服务器1103确定为缓存商品a详情页面的边缘缓存服务器1103。将修改商品a价格的操作任务发送至缓存商品a详情页面的边缘缓存服务器1103,边缘缓存服务器1103对缓存的商品a详情页面中的商品价格进行修改。

由于将目标对象的操作任务推送至缓存了目标对象的边缘缓存服务器,而不是将目标对象的操作任务推送至所有的边缘缓存服务器,因此,每一个边缘缓存服务器只需要对自身缓存的网页的任务进行处理,从而提高了边缘缓存服务器处理任务的效率以及客户的满意度。由于节点自治服务器不需要将目标对象的操作任务推送至所有的边缘缓存服务器,从而也减小了节点自治服务器的压力,避免了宽带资源浪费。

基于相同的技术构思,本申请实施例提供了一种节点自治服务器,如图12所示,该装置1200包括:接收模块1201、查询模块1202、推送模块1203、更新模块1204。

接收模块1201,用于接收任务推送请求,所述任务推送请求中携带目标对象的标识以及所述目标对象的操作任务;

查询模块1202,用于根据所述目标对象的标识查询缓存列表,确定缓存所述目标对象的边缘缓存服务器,所述缓存列表中对应保存了各边缘缓存服务器缓存的目标对象的标识,所述缓存列表是根据各边缘缓存服务器中的缓存日志确定的;

推送模块1203,用于将所述目标对象的操作任务推送至缓存所述目标对象的边缘缓存服务器,以使缓存所述目标对象的边缘缓存服务器执行所述目标对象的操作任务。

可选地,所述缓存列表中包括多个布隆过滤器,一个布隆过滤器对应保存一个边缘缓存服务器缓存的对象的哈希值;

所述查询模块1202具体用于:

对所述目标对象的标识进行哈希映射,确定所述目标对象的目标哈希值;

根据所述目标哈希值查找每一个边缘缓存服务器对应的布隆过滤器;

将包含所述目标哈希值的布隆过滤器对应的边缘缓存服务器确定为缓存所述目标对象的边缘缓存服务器。

可选地,所述查询模块1202具体用于:

针对每一个边缘缓存服务器,从所述边缘缓存服务器中采集缓存日志,所述缓存日志保存了所述边缘缓存服务器中各对象的操作记录;

在确定所述缓存日志为所述边缘缓存服务器新增缓存对象时,从所述缓存日志中采集新增对象的标识;

对所述新增对象的标识进行哈希映射,确定所述新增对象的哈希值;

将所述新增对象的哈希值添加至所述边缘缓存服务器对应的布隆过滤器。

所述查询模块1202还用于:

在确定所述缓存日志为所述边缘缓存服务器删除缓存对象时,从所述缓存日志中采集删除对象的标识;

对所述删除对象的标识进行哈希映射,确定所述删除对象的哈希值;

从所述边缘缓存服务器对应的布隆过滤器中删除所述删除对象的哈希值。

可选地,所述目标对象的操作任务为所述目标对象的更新指令;

所述推送模块1203具体用于:

将所述目标对象的更新指令推送至缓存所述目标对象的边缘缓存服务器,以使缓存所述目标对象的边缘缓存服务器获取所述目标对象的更新内容,并采用所述目标对象的更新内容替换所述目标对象的旧版本内容。

可选地,所述目标对象的操作任务为所述目标对象的删除指令;

所述推送模块1203具体用于:

将所述目标对象的删除指令推送至缓存所述目标对象的边缘缓存服务器,以使缓存所述目标对象的边缘缓存服务器从缓存的对象中查询出所述目标对象并删除。

基于相同的技术构思,本申请实施例提供了一种边缘缓存服务器,如图13所示,该装置1300包括:接收模块1301、处理模块1302。

接收模块1301,用于接收节点自治服务器推送的目标对象的操作任务;

处理模块1302,用于执行所述目标对象的操作任务,所述边缘缓存服务器是所述节点自治服务器根据接收的任务推送请求中携带的所述目标对象的标识查询缓存列表确定的,所述缓存列表中对应保存了各边缘缓存服务器缓存的对象的标识。

可选地,所述目标对象的操作任务为所述目标对象的更新指令;

所述接收模块1301具体用于:

接收所述节点自治服务器推送的所述目标对象的更新指令;

所述处理模块1302具体用于:

获取所述目标对象的更新内容,并根据所述目标对象的更新内容更新所述目标对象。

可选地,所述目标对象的操作任务为所述目标对象的删除指令;

所述接收模块1301具体用于:

接收所述节点自治服务器推送的所述目标对象的删除指令;

所述处理模块1302具体用于:

从缓存的网页中查询出所述目标对象并删除。

基于相同的技术构思,本申请实施例提供了一种任务推送设备,如图14所示,包括至少一个处理器1401,以及与至少一个处理器连接的存储器1402,本申请实施例中不限定处理器1401与存储器1402之间的具体连接介质,图14中处理器1401和存储器1402之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。

在本申请实施例中,存储器1402存储有可被至少一个处理器1401执行的指令,至少一个处理器1401通过执行存储器1402存储的指令,可以执行前述的任务推送方法中所包括的步骤。

其中,处理器1401是任务推送设备的控制中心,可以利用各种接口和线路连接任务推送设备的各个部分,通过运行或执行存储在存储器1402内的指令以及调用存储在存储器1402内的数据,从而推送任务。可选的,处理器1401可包括一个或多个处理单元,处理器1401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1401中。在一些实施例中,处理器1401和存储器1402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器1401可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器1402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器1402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,该可读存储介质存储有计算机指令,当该计算机指令在任务推送设备上运行时,使得任务推送设备执行如前述的安装应用程序的方法的步骤。

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

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

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

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

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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