分布式缓存方法及装置与流程

文档序号:11263613阅读:199来源:国知局
分布式缓存方法及装置与流程

本发明涉及基于互联网的网络资源传播技术领域,具体而言,涉及一种分布式缓存方法及装置。



背景技术:

随着信息技术的发展,对网络资源的传播的速度要求也越来越高。在获取网络资源时,大量的数据请求可能会加大骨干网络节点的压力,进而影响数据的传输速度;在从距离较远的骨干网络节点获取网络资源数据时,也会造成因传输距离过长,导致传输速度较慢。进而影响数据的传输速度。因此,如何提供一种可缓解骨干网络节点压力,提升数据传播速度的方法及装置,已成为本领域技术人员亟需解决的技术问题。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种分布式缓存方法及装置,以解决上述问题。

为了实现上述目的,本发明较佳实施例所提供的技术方案如下所示:

本发明较佳实施例提供一种分布式缓存方法,应用于与路由器通信连接的服务器,所述路由器包括用于缓存网络资源的第一存储器,所述服务器存储有至少一种目标资源,所述方法包括:

获取各个路由器的实时网速和硬件参数;

从所有路由器中选取所述实时网速低于阈值的路由器作为cdn(contentdeliverynetwork,内容分发网络)缓存节点;

向所述cdn缓存节点发送目标资源的缓存数据,以使其他电子设备可以从所述cdn缓存节点获取所述目标资源的缓存数据。

在本发明的较佳实施例中,上述服务器记录有各cdn缓存节点的位置信息及cdn换节点中缓存的目标资源的标识信息;所述方法还包括:

所述服务器接收电子设备针对所述目标资源发送的获取请求,其中,所述获取请求包括所述电子设备的位置信息及目标资源的标识信息;

根据所述目标资源的标识信息,从所述cdn缓存节点中选取离所述电子设备最近的至少一个cdn缓存节点作为目标cdn缓存节点通知所述电子设备,使所述电子设备从所述目标cdn缓存节点获取所述目标资源的缓存数据。

在本发明的较佳实施例中,上述服务器存储有cdn缓存节点对应的用户账户,所述方法还包括:

所述服务器获取所述cdn缓存节点为所述电子设备提供缓存数据时的流量信息,根据所述流量信息对所述cdn缓存节点对应的账户执行相应的资金转移操作。

在本发明的较佳实施例中,上述方法还包括:

所述服务器预先获取所述路由器在第一预设时长内传输的网络资源;

根据各类网络资源在所述第一预设时长内的传输时长、传输次数,得到各类所述网络资源的传输比重;

从各类所述网络资源中选取传输比重最大的至少一种网络资源作为目标资源并生成传输记录。

在本发明的较佳实施例中,上述方法还包括:

所述服务器预先获取各类网络资源在第二预设时长内的点击量,以作为传输比重;

从各类所述网络资源中选取传输比重最大的至少一种网络资源作为目标资源并生成传输记录。

在本发明的较佳实施例中,上述方法还包括:

根据所述目标资源的重要程度,对各cdn缓存节点中的缓存数据进行更新,其中所述重要程度与所述传输比重相关。

在本发明的较佳实施例中,上述方法还包括:

所述硬件参数还包括路由器的剩余存储容量,所述向所述cdn缓存节点发送目标资源的缓存数据的容量小于所述剩余存储容量。

本发明的较佳实施例还提供一种分布式缓存方法,应用于与服务器通信的路由器,所述路由器包含有第一存储器,所述方法包括:

发送实时网速和硬件参数给服务器,以使所述服务器根据所述实时网速和硬件参数下发目标资源;

接收所述服务器发送的目标资源,以使其他电子设备可以从所述路由器获取目标资源的缓存数据。

本发明的较佳实施例还提供一种分布式缓存装置,应用于与服务器通信的路由器,所述路由器包括分布式缓存装置,所述装置包括:

信息发送模块,用于发送实时网速和硬件参数给所述服务器,以使所述服务器根据所述实时网速和硬件参数下发目标资源;

数据接收模块,用于接收所述服务器发送的目标资源,以使其他电子设备可以从所述路由器获取目标资源的缓存数据。

本发明的较佳实施例还提供一种分布式缓存装置,应用于与路由器通信的服务器,所述路由器包括用于缓存网络资源的第一存储器,所述服务器存储有至少一种目标资源,所述装置包括:

信息获取模块,用于获取各个路由器的实时网速和硬件参数,其中,所述硬件参数包括各个路由器的身份信息;

选择模块,用于根据所述身份信息从所有路由器中选取所述实时网速低于阈值的路由器作为cdn缓存节点;

数据发送模块,用于向所述cdn缓存节点发送目标资源的缓存数据,以使其他电子设备可以从所述cdn缓存节点获取所述目标资源的缓存数据。

相对于现有技术而言,本发明提供的分布式缓存方法及装置至少具有以下有益效果:所述方法通过充分利用闲时带宽,以在设置有第一存储器的路由器上缓存目标资源,进而缓解网络节点压力,提高用户获取目标资源的速度。具体地,所述方法通过服务器获取各个路由器的实时网速和硬件参数;从所有路由器中选取所述实时网速低于阈值的路由器作为cdn缓存节点;向所述cdn缓存节点发送目标资源的缓存数据,以使其他电子设备可以从所述cdn缓存节点获取所述目标资源的缓存数据。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的服务器、路由器以及电子设备的交互示意图。

图2为本发明较佳实施例提供的服务器的方框示意图。

图3为本发明较佳实施例提供的路由器的方框示意图。

图4为本发明较佳实施例提供的分布式缓存方法的流程示意图之一。

图5为本发明较佳实施例提供的分布式缓存方法的流程示意图之二。

图6为本发明较佳实施例提供的分布式缓存方法的流程示意图之三。

图7为本发明较佳实施例提供的第一分布式缓存装置的方框示意图。

图8为本发明较佳实施例提供的第二分布式缓存装置的方框示意图。

图标:100-路由器;110-第一处理器;120-第一通信单元;130-第一存储器;200-服务器;210-第二处理器;220-第二通信单元;230-第二存储器;300-网络;400-电子设备;510-第一分布式缓存装置;511-信息发送模块;512-数据接收模块。520-第二分布式缓存装置;521-信息获取模块;522-选择模块;523-数据发送模块。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,是本发明较佳实施例提供的服务器200、路由器100以及电子设备400的交互示意图。在本实施例中,所述服务器200、路由器100以及电子设备400形成交互系统,所述服务器200与至少一个路由器100通过网络300通信连接,所述路由器100与电子设备400通信连接。其中,所述服务器200用于从用户的路由器100的历史传输记录中选取用户下次可能会获取的网络资源,并将该网络资源作为向电子设备400推送的目标资源,以使路由器100缓存该目标资源的缓存数据。用户通过电子设备400可以从路由器100获取该路由器100所缓存的目标资源的缓存数据,以减少骨干网络节点的压力,进而加快获取目标资源的速度。

进一步地,所述网络资源可以是,但不限于视频、音频以及网页等,可理解地,所述目标资源为用户需要获取的网络资源。所述电子设备400可以是,但不限于智能电视、智能手机、个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等,这里不作具体限定。

请参照图2为本发明较佳实施例提供的路由器100的方框示意图。本发明的较佳实施例还提供一种路由器100,所述路由器100可以包括第一处理器110、第一通信单元120、第一存储器130以及第一分布式缓存装置510。所述第一处理器110、第一通信单元120以及第一存储器130各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述第一分布式缓存装置510可以存储在第一存储器130中,通过第一处理器110调用该第一分布式缓存装置510,可提升获取资源的速度。

所述第一存储器130可以是,但不限于随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除可编程只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。在本实施例中,所述第一存储器130可以用于存储路由器100的身份信息、位置信息以及服务器200发送的目标资源的缓存数据等,可以使用户通过电子设备400从该路由器100获取目标资源的缓存数据。当然,所述存储器还可以用于存储程序,所述第一处理器110在接收到执行指令后,执行该程序。

所述第一处理器110可以是中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。

所述第一通讯单元用于通过网络300建立第一移动终端与服务器200的通信连接,并通过所述网络300收发数据。比如,第一通讯单元可以用于上传所述路由器100的实时网速、上行带宽、硬件参数、用户发送的获取目标资源的获取请求等。其中,所述网络300可以是,但不限于有线网络、无线网络,这里不作具体限定。

请参照图3,为本发明较佳实施例提供的服务器200的方框示意图。在本实施例中,所述服务器200可以包括第二处理器210、第二通信单元220、第二存储器230以及以及第二分布式缓存装置520。所述第二处理器210、第二通信单元220以及第二存储器230各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述第二分布式缓存装置520可以存储在第二存储器230中,通过第二处理器210调用该第二分布式缓存装置520,可提升获取资源的速度。

具体地,所述服务器200中各个组件可以与路由器100中对应的各个组件相同或类似,比如,所述第二处理器210可以为上述的中央处理器。对于服务器200各组件的具体种类,这里不再一一阐述。

在本实施例中,所述服务器200可以是,但不限于云服务器、分布式服务器、集群服务器等,在此不作具体限定。

可以理解的是,图2以及图3所示的结构仅为一种结构示意图,所示的路由器100和服务器200还可以包括比图中所示更多或更少的组件。图中所示的各组件可以采用硬件、软件或其组合实现。

第一实施例:

请参照图4,为本发明较佳实施例提供的分布式缓存方法的流程示意图之一。本实施例提供的分布式缓存方法可以应用于图1所示的交互系统。所述交互系统中的服务器200预先存储有至少一种上述的目标资源。

下面对图4中所示的分布式缓存方法的具体流程和步骤进行详细阐述。在本实施例中,所述分布式缓存方法可以包括以下步骤:

步骤s610,获取各个路由器100的实时网速和硬件参数。

在本实施例中,所述方法在步骤s610之前,还可以包括通过服务器200确定目标资源的步骤。例如,所述服务器200预先获取所述路由器100在第一预设时长内传输的网络资源;根据各类网络资源在所述第一预设时长内的传输时长、传输次数,得到各类所述网络资源的传输比重;从各类所述网络资源中选取传输比重最大的至少一种网络资源作为目标资源并生成传输记录。

可理解地,所述第一预设时长可以根据具体情况进行设置,这里不作具体限定。所述硬件参数可以包括路由器100的身份信息、位置信息等。所述传输比重可理解为网络资源的火热程度。比如,所述网络资源为网页新闻,若网络新闻在第一预设时长内的传播量(比如转载数量、点击量等)越大,对应的传输比重越大。

在本实施例中,所述服务器200可以预先获取各类网络资源在第二预设时长内的点击量,以作为推送比重;然后从各类所述网络资源中选取推送比重最大的至少一种网络资源作为目标资源并生成传输记录。

步骤s620,从所有路由器100中选取所述实时网速低于阈值的路由器100作为cdn缓存节点。

在本实施例中,所述cdn缓存节点用于缓存目标资源的缓存数据。服务器200可以通过路由器100的身份信息实现实时网速低于阈值的路由器100的选取。当所述路由器100作为cdn缓存节点时,该路由器100便可以供其他用户使用,实现资源共享。其中,所述阈值可以根据具体情况进行设置,这里不作具体限定。

步骤s630,向所述cdn缓存节点发送目标资源的缓存数据,以使其他电子设备400可以从所述cdn缓存节点获取所述目标资源的缓存数据。

在本实施例中,向所述cdn缓存节点发送目标资源的缓存数据的容量小于该cdn缓存节点的剩余存储容量。

具体地,比如所述电子设备400为智能电视,该智能电视与路由器100连接。当用户需要看通过该智能电视观看节目时,服务器200在用户观看节目之前,可以通过互联网获取当前一段时间内各类节目的点击量,并将点击量最高的一个或几个节目作为目标资源缓存在一个或多个cdn缓存节点上。当用户看的节目为所述目标资源对应的节目时,与用户对应的路由器100便从缓存有该节目的cdn缓存节点获取目标资源。即,降低了用户在观看节目时的网络带宽,进而提高了目标资源的传输速度。

进一步地,在本实施例中,所述服务器200记录有各cdn缓存节点的位置信息及cdn换节点中缓存的目标资源的标识信息;所述方法还可以包括步骤s640以及步骤s650。

在本实施例中,所述方法还可以包括根据所述目标资源的重要程度,对各cdn缓存节点中的缓存数据进行更新。其中所述重要程度与所述传输比重相关。

具体地,路由器100通过删除原有缓存数据,并加载新的缓存数据,可以及时跟进用户所需要获取的目标资源。其中,新的缓存数据可以理解为目标资源中重要程度最大的一个或多个目标资源。而服务器200可以使cdn缓存节点预先缓存用户所需要获取的最新的目标资源。当用户获取目标资源时,可以直接从cdn缓存节获取已经缓存的目标资源,进而降低用户在获取目标资源时的网络带宽,提升获取网络资源的速度。

步骤s640,所述服务器200接收电子设备400针对所述目标资源发送的获取请求,其中,所述获取请求包括所述电子设备400的位置信息及目标资源的标识信息。

在本实施例中,用户通过电子设备400获取目标资源时,电子设备400将根据用户所需要获取的目标资源向路由器100发送获取请求,然后路由器100再将该获取请求发送至服务器200。在路由器100发送该获取请求时,可以在获取请求中添加路由器100自身的身份信息。而所述标识信息可理解为目标资源的种类标记。

步骤s650,根据所述目标资源的标识信息,从所述cdn缓存节点中选取离所述电子设备400最近的至少一个cdn缓存节点作为目标cdn缓存节点通知所述电子设备400,使所述电子设备400从所述目标cdn缓存节点获取所述目标资源的缓存数据。

在本实施例中,采用步骤s650中的选取方式选取目标cdn缓存节点可以缩短电子设备400获取目标资源的路径,进而提高获取目标资源的速度。具体地,服务器200预先存储有电子设备400的位置信息,然后从所述cdn缓存节点中选取离所述电子设备400最近的至少一个cdn缓存节点作为目标cdn缓存节点。电子设备400从该目标cdn缓存节点获取所缓存的目标资源的缓存数据。

具体地,比如,用户通过电子设备400下载视频节目时,当检测到下载网速较慢,服务器200可以将该视频节目作为目标资源。同时,服务器200采集其他用户的路由器100的硬件参数、上行带宽、实时网速、位置信息等数据,所述硬件参数可以包括第一存储器130的剩余存储容量。若其他用户的路由器100满足带宽处于闲置状态(比如,实时网速低于阈值),剩余存储容量足够,且距该用户较近等条件,则可以从满足上述条件的路由器100中选取一个或多个作为目标cdn缓存节点,并通知用户的路由器100,以使路由器100连接所选取的目标cdn缓存节点。

所述目标cdn缓存节点可根据上行带宽对所有需要加速的网络资源(即目标资源)进行存储,以保证所有需要优先加速的资源能够均匀分配存储并传输。当用户在获取资源时,便可从存储有目标资源的目标cdn缓存节点获取到相应的资源。所述目标cdn缓存节点可以采用分片存储、传输的方式处理该视频节目。用户的路由器100通过从目标cdn缓存节点获取该视频节目的缓存数据。即,通过增加网络节点数,进而提高了网络资源的传输速度。

在本实施例中,所述服务器200可以存储有cdn缓存节点对应的用户账户,所述方法还可以包括:所述服务器200获取所述cdn缓存节点为所述电子设备400提供缓存数据时的流量信息,根据所述流量信息对所述cdn缓存节点对应的账户执行相应的资金转移操作。其中,所述资金可理解为虚拟货币,当用户从其他用户的路由器100获取缓存数据时,所述虚拟货币可以用于供用户支付获取缓存数据所产生的流量的费用。

具体地,例如,若用户需要从其他用户的路由器100获取目标资源,用户需要向其他用户支付一定的虚拟货币才能使用。具体的收费方式,比如,可以根据用户获取的目标资源的缓存数据的流量进行收费。当然,若其他用户需要使用该用户的路由器100获取网络资源时,该用户也可以根据其他用户所获取的缓存数据的流量进行收费,即对该用户账户充值虚拟货币,对相应的其他用户账户扣减对应的虚拟货币。

另外,用户可以通过预先设置有控制模块的电子设备400,控制路由器100共享资源模式的开启或关闭。可理解地,比如,所述电子设备400为智能手机,该智能手机预先设置有与该路由器100相匹配的应用程序。用户通过该应用程序,可向路由器100发送关闭或打开共享功能的控制命令。比如,路由器100根据控制命令关闭共享功能以使其他用户不能使用该路由器100。

当然,为了使更多的用户参与共享功能,在用户注册后,厂商(比如,网络资源提供商)可以向用户对应的账户发送虚拟货币(比如,红包)。当该用户开启分享功能时,厂商也可以向用户账户发送虚拟货币,其中,该虚拟货币的发送量可以根据其他用户从该用户的路由器100所获取的缓存数据的流量进行发放,比如通过路由器100共享的流量越多,厂商发给该用户账户的虚拟货币量越多。

若网络资源在较远的距离进行传输时,比如跨省份传输。现有技术中的传统cdn和云cdn需要在用户所在的省份建立镜像服务器200,这将增加了网络资源提供商的成本。而本实施例所提供的方法通过利用各个路由器100闲置带宽,每个路由器100类似于微型数据中心,当用户要跨省份获取目标资源时,可直接从满足上述条件的路由器100中进行获取,即本实施例提供的方法降低了网络资源提供商的成本。

第二实施例:

请参照图6,为本发明较佳实施例提供的分布式缓存方法的流程示意图之三。在本实施中,所述方法可以用于与上述实施例中与服务器200通信的路由器100,所述路由器100包含有第一存储器130,所述方法可以包括:

步骤s710,发送实时网速和硬件参数给服务器200,以使所述服务器200根据所述实时网速和硬件参数下发目标资源。

步骤s720,接收所述服务器200发送的目标资源,以使其他电子设备400可以从所述路由器100获取目标资源的缓存数据。

在本实施例中,所述路由器100通过路由器100存储目标资源,以使用户从缓存有目标资源的路由器100获取目标资源,进而降低用户在获取目标资源时的网络带宽,提升获取网络资源的传输速度。

第三实施例:

请参照图7,是本发明较佳实施例提供的第一分布式缓存装置510的方框示意图。在本实施例中,所述第一分布式缓存装置510可以包括信息发送模块511以及数据接收模块512。所述第一分布式缓存装置510可以存储在第一存储器130中,通过第一处理器110调用信息发送模块511以及数据接收模块512执行相应操作,以提高获取网络资源的速度。

进一步地,信息发送模块511,用于发送实时网速和硬件参数给所述服务器200,以使所述服务器200根据所述实时网速和硬件参数下发目标资源。详细地,所述信息发送模块511可以用于执行图6中所示的步骤s710。

数据接收模块512,用于接收所述服务器200发送的目标资源,以使其他电子设备400可以从所述路由器100获取目标资源的缓存数据。详细地,所述数据接收模块512可以用于执行图6中所示的步骤s720。

第四实施例:

请参照图8,是本发明较佳实施例提供的第二分布式缓存装置520的方框框图。所述第二分布式缓存装置520可以包括信息获取模块521、选择模块522以及数据发送模块523。第二处理器210通过调用第二存储器230中的信息获取模块521、选择模块522以及数据发送模块523,实现对网络资源传输的加速。

进一步地,所述信息获取模块521,用于获取各个路由器100的实时网速和硬件参数。具体地,所述信息获取模块521可以用于执行图4中所示的步骤s610,具体的操作内容可参见对图4中所示的步骤s610的描述,这里不再赘述。

所述选择模块522,用于从所有路由器100中选取所述实时网速低于阈值的路由器100作为cdn缓存节点。具体地,所述选择模块522可以用于执行图4中所示的步骤s620,具体的操作内容可参见对图4中所示的步骤s620的描述,这里不再赘述。

所述数据发送模块523,用于向所述cdn缓存节点发送目标资源的缓存数据,以使其他电子设备400可以从所述cdn缓存节点获取所述目标资源的缓存数据。具体地,所述数据发送模块523可以用于执行图4中所示的步骤s630,具体的操作内容可参见对图4中所示的步骤s630的描述,这里不再赘述。

综上所述,本本发明提供一种分布式缓存方法及装置。所述方法通过服务器获取各个路由器的实时网速和硬件参数;从所有路由器中选取所述实时网速低于阈值的路由器作为cdn缓存节点;向所述cdn缓存节点发送目标资源的缓存数据,以使其他电子设备可以从所述cdn缓存节点获取所述目标资源的缓存数据。所述方法通过充分利用闲时带宽,以在设置有第一存储器的路由器上缓存目标资源,进而缓解网络节点压力,提高用户获取目标资源的速度。另外,该方法还可以降低网络资源提供商的成本。

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

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