缓存数据共享的方法及设备技术

技术编号:14701339 阅读:67 留言:0更新日期:2017-02-24 19:12
本申请的目的是提供一种缓存数据共享的方法及设备,具体地,在缓存代理节点端,获取被代理进程发送的关于数据文件的数据访问请求,根据数据访问请求向被代理进程发送数据文件;通过缓存代理节点来管理一个或者多个计算节点上的进程,这些被代理进程需要使用的数据文件均保存于缓存代理节点的缓存中,因此计算节点上的进程无需维持自己独立的缓存空间,对于缓存代理节点缓存中的某个特定数据文件可以实现对多个进程的共享,节约了缓存与计算资源;同时被代理进程无需再与服务器直接建立连接,对于同一缓存代理节点管理下的多个进程,仅需与服务器建立一个连接即可,由此减少了因为订阅行为带来的大量到服务器的连接,减轻服务器的负载。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种缓存数据共享的方法及设备
技术介绍
大规模分布式计算系统中,为了加快对服务器端数据的访问,计算节点中的进程通常会引入缓存来管理经常访问的数据。在分布式场景下,服务器端的数据随时可能发生变化,因此为了保证每个进程维持的缓存的时效性,进程管理的缓存需要不定时地更新。但是,无论是每个计算节点定期从服务器端拉取(Pull)数据,或者服务器端不定时推送(Push)数据至各计算节点进程的缓存,均会给分布式计算系统带来访问压力。在分布式协调系统中,计算节点上的进程可以使用“缓存+订阅”来获取订阅的数据文件的最新内容,进而更新本地缓存的内容。每个进程均维护着自己独立的缓存以及单独到服务器的连接,通过与订阅服务器中某个数据文件,来获知该数据文件的内容是否为最新,从而保证缓存中数据的时效性。随着业务规模的迅速增长,整个系统中往往运行着成千上万乃至更多的进程,并且单个计算节点上运行的进程也越来越多。由此,数据订阅行为也会随着进程数量的增加而增加,随之将导致以下问题:a)由于每个进程的订阅行为都依附该进程建立的独立到服务器的连接,随着连接数的增加,会增加服务器的负载,对服务器的性能带来了严峻挑战。b)由于服务器的负载增加,单个订阅行为的获取反馈的延迟增加,进而影响进程获取订阅数据最新内容的时效性。c)由于每个进程拥有独立的缓存,单个计算节点上订阅数量增加意味着缓存资源消耗的增加,以及处理订阅反馈的操作增加,进而消耗计算节点的计算资源。
技术实现思路
本申请的一个目的是提供一种缓存数据共享的方法及设备,从而节约计算节点上缓存与计算资源,减少因为订阅行为带来的大量到服务器的连接,减轻服务器的负载。为实现上述目的,本申请提供了一种缓存代理节点端进行缓存数据共享的方法,该方法包括:获取被代理进程发送的关于数据文件的数据访问请求,其中,所述被代理进程为所述缓存代理节点负责管理的计算节点上的多个进程之一;根据所述数据访问请求向所述被代理进程发送所述数据文件。进一步地,根据所述数据访问请求向所述被代理进程发送所述数据文件,包括:根据所述数据访问请求在所述缓存代理节点的缓存中查找所述数据文件;若所述缓存代理节点的缓存中存在所述数据文件,且所述数据文件的状态为最新,则向所述被代理进程发送所述数据文件;若所述缓存代理节点的缓存中不存在所述数据文件,或所述缓存代理节点的缓存中的所述数据文件的状态为非最新,则向服务器发送关于所述数据文件的数据获取请求,并在接收到所述服务器根据所述数据获取请求发送的数据文件之后,向所述被代理进程发送由服务器接收到的数据文件。进一步地,所述数据访问请求包含所述数据文件的标识信息;根据所述数据访问请求在所述缓存代理节点的缓存中查找所述数据文件,包括:根据所述数据访问请求中所述数据文件的标识信息在所述缓存代理节点的缓存中查找所述数据文件。进一步地,在接收到所述服务器根据所述数据获取请求发送的数据文件之后,还包括:若所述缓存代理节点的缓存中不存在所述数据文件,则在缓存中保存由服务器接收到的数据文件,并将所述数据文件的状态设置为最新;若所述缓存代理节点的缓存中的所述数据文件的状态为非最新,则更新缓存中的所述数据文件,并将所述数据文件的状态设置为最新。进一步地,该方法还包括:在获取被代理进程发送的关于数据文件的数据访问请求时,向所述服务器发送关于所述数据文件的订阅请求,以在所述服务器的所述数据文件的内容更改时,从所述服务器获取对应于所述订阅请求的更改通知。进一步地,该方法还包括:获取服务器发送的关于数据文件的更改通知,根据所述更改通知将所述数据文件的状态设置为非最新。进一步地,获取服务器发送的关于数据文件的更改通知,包括:通过缓存代理节点与服务器之间的心跳通信获取服务器发送的关于数据文件的更改通知。进一步地,所述缓存代理节点的缓存基于非易失性的存储介质。相应地,本申请还提供了一种计算节点端进行缓存数据共享的方法,该方法包括:所述计算节点的被代理进程向缓存代理节点发送关于数据文件的数据访问请求,其中,所述被代理进程为所述缓存代理节点负责管理的计算节点上的多个进程之一;所述被代理进程接收所述缓存代理节点根据所述数据访问请求发送的所述数据文件。进一步地,所述数据访问请求包含所述数据文件的标识信息。根据本申请的另一方面,还提供了一种缓存数据共享的缓存代理节点,该缓存代理节点包括:请求获取装置,用于获取被代理进程发送的关于数据文件的数据访问请求,其中,所述被代理进程包括所述缓存代理节点负责管理的计算节点上的多个进程;文件发送装置,用于根据所述数据访问请求向所述被代理进程发送所述数据文件。进一步地,所述文件发送装置,包括:查找模块,用于根据所述数据访问请求在所述缓存代理节点的缓存中查找所述数据文件;发送模块,用于若所述缓存代理节点的缓存中存在所述数据文件,且所述数据文件的状态为最新,则向所述被代理进程发送所述数据文件;以及若所述缓存代理节点的缓存中不存在所述数据文件,或所述缓存代理节点的缓存中的所述数据文件的状态为非最新,则向服务器发送关于所述数据文件的数据获取请求,并在接收到所述服务器根据所述数据获取请求发送的数据文件之后,向所述被代理进程发送由服务器接收到的数据文件。进一步地,所述数据访问请求包含所述数据文件的标识信息;所述查找模块,用于根据所述数据访问请求中所述数据文件的标识信息在所述缓存代理节点的缓存中查找所述数据文件。进一步地,所述文件发送装置,还包括:缓存更新模块,用于在接收到所述服务器根据所述数据获取请求发送的数据文件之后,若所述缓存代理节点的缓存中不存在所述数据文件,则在缓存中保存由服务器接收到的数据文件,并将所述数据文件的状态设置为最新;以及若所述缓存代理节点的缓存中的所述数据文件的状态为非最新,则更新缓存中的所述数据文件,并将所述数据文件的状态设置为最新。进一步地,该缓存代理节点还包括:订阅装置,用于在获取被代理进程发送的关于数据文件的数据访问请求时,向所述服务器发送关于所述数据文件的订阅请求,以在所述服务器的所述数据文件的内容更改时,从所述服务器获取对应于所述订阅请求的更改通知。进一步地,该缓存代理节点还包括:通知获取装置,用于获取服务器发送的关于数据文件的更改通知,根据所述更改通知将所述数据文件的状态设置为非最新。进一步地,所述通知获取装置,用于通过缓存代理节点与服务器之间的心跳通信获取服务器发送的关于数据文件的更改通知,根据所述更改通知将所述数据文件的状态设置为非最新。进一步地,所述缓存代理节点的缓存基于非易失性的存储介质。相应地,本申请还提供了一种缓存数据共享的计算节点,该计算节点包括:请求发送装置,用于控制所述计算节点的被代理进程向缓存代理节点发送关于数据文件的数据访问请求,其中,所述被代理进程为所述缓存代理节点负责管理的计算节点上的多个进程之一;文件获取装置,用于控制所述被代理进程接收所述缓存代理节点根据所述数据访问请求发送的所述数据文件。进一步地,所述数据访问请求包含所述数据文件的标识信息。与现有技术相比,通过缓存代理节点来管理一个或者多个计算节点上的进程,这些被代理进程需要使用的数据文件均保存于缓存代理节点的缓本文档来自技高网...
缓存数据共享的方法及设备

【技术保护点】
一种缓存代理节点端进行缓存数据共享的方法,其中,该方法包括:获取被代理进程发送的关于数据文件的数据访问请求,其中,所述被代理进程为所述缓存代理节点负责管理的计算节点上的多个进程之一;根据所述数据访问请求向所述被代理进程发送所述数据文件。

【技术特征摘要】
1.一种缓存代理节点端进行缓存数据共享的方法,其中,该方法包括:获取被代理进程发送的关于数据文件的数据访问请求,其中,所述被代理进程为所述缓存代理节点负责管理的计算节点上的多个进程之一;根据所述数据访问请求向所述被代理进程发送所述数据文件。2.根据权利要求1所述的方法,其中,根据所述数据访问请求向所述被代理进程发送所述数据文件,包括:根据所述数据访问请求在所述缓存代理节点的缓存中查找所述数据文件;若所述缓存代理节点的缓存中存在所述数据文件,且所述数据文件的状态为最新,则向所述被代理进程发送所述数据文件;若所述缓存代理节点的缓存中不存在所述数据文件,或所述缓存代理节点的缓存中的所述数据文件的状态为非最新,则向服务器发送关于所述数据文件的数据获取请求,并在接收到所述服务器根据所述数据获取请求发送的数据文件之后,向所述被代理进程发送由服务器接收到的数据文件。3.根据权利要求2所述的方法,其中,所述数据访问请求包含所述数据文件的标识信息;根据所述数据访问请求在所述缓存代理节点的缓存中查找所述数据文件,包括:根据所述数据访问请求中所述数据文件的标识信息在所述缓存代理节点的缓存中查找所述数据文件。4.根据权利要求2或3所述的方法,其中,在接收到所述服务器根据所述数据获取请求发送的数据文件之后,还包括:若所述缓存代理节点的缓存中不存在所述数据文件,则在缓存中保存由服务器接收到的数据文件,并将所述数据文件的状态设置为最新;若所述缓存代理节点的缓存中的所述数据文件的状态为非最新,则更新缓存中的所述数据文件,并将所述数据文件的状态设置为最新。5.根据权利要求2至4中任一项所述的方法,其中,该方法还包括:在获取被代理进程发送的关于数据文件的数据访问请求时,向所述服
\t务器发送关于所述数据文件的订阅请求,以在所述服务器的所述数据文件的内容更改时,从所述服务器获取对应于所述订阅请求的更改通知。6.根据权利要求2至5中任一项所述的方法,其中,该方法还包括:获取服务器发送的关于数据文件的更改通知,根据所述更改通知将所述数据文件的状态设置为非最新。7.根据权利要求6所述的方法,其中,获取服务器发送的关于数据文件的更改通知,包括:通过缓存代理节点与服务器之间的心跳通信获取服务器发送的关于数据文件的更改通知。8.根据权利要求1至7中任一项所述的方法,其中,所述缓存代理节点的缓存基于非易失性的存储介质。9.一种计算节点端进行缓存数据共享的方法,其中,该方法包括:所述计算节点的被代理进程向缓存代理节点发送关于数据文件的数据访问请求,其中,所述被代理进程为所述缓存代理节点负责管理的计算节点上的多个进程之一;所述被代理进程接收所述缓存代理节点根据所述数据访问请求发送的所述数据文件。10.根据权利要求9所述的方法,其中,所述数据访问请求包含所述数据文件的标识信息。11.一种缓存数据共享的缓存代理节点,其中,该缓存代理节点包括:请求获取装置,用于获取被代理进程发送的关于数据文件...

【专利技术属性】
技术研发人员:朱云锋成柱石陶云峰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1