基于分布式系统的缓存数据的监控方法、装置和系统制造方法及图纸

技术编号:14930263 阅读:129 留言:0更新日期:2017-03-31 11:59
本申请公开了一种基于分布式系统的缓存数据的监控方法、装置和系统。其中,该方法包括:检测与应用终端集群建立通信关系的热点数据表中的热点数据是否发生更新;在检测到热点数据表中的热点数据发生更新的情况下,将与热点数据表中发生更新的热点数据关联的热点数据缓存状态修改为待更新状态,其中,与热点数据表中的发生更新的热点数据关联的热点数据缓存状态预先保存在缓存状态数据库中;如果定时扫描到缓存状态数据库中的热点数据缓存状态为待更新状态时,驱动应用终端集群刷新本地缓存的热点数据。本申请解决了由于无法集中监控分布式系统集群中每个应用节点的缓存数据导致的无法保证应用节点的缓存数据一致性的技术问题。

【技术实现步骤摘要】

本申请涉及计算机的分布计算领域,具体而言,涉及一种基于分布式系统的缓存数据的监控方法、装置和系统
技术介绍
在计算机的分布计算领域中,分布式系统集群下,缓存技术被广泛使用。分布式系统针对热点查询数据的缓存机制,会大大提高系统处理的效能及系统本身的数据吞吐规模。分布式系统针对热点查询数据的缓存机制,一般可以针对有数据量小、读取操作量大而写入操作量小及数据来源为系统数据库或对其他系统的查询结果这几种特征的数据。这种类型数据的数据量小,所以数据本身占用的系统内存少;读取操作量大,写入操作量小,所以数据本身有很强的只读性;数据来源为系统数据库或对其他系统的查询结果,所以说明数据本身不用再次处理。以现有的具体实际情况为例,如:系统根据“在30分钟时间内,用户在异地(跨省)发生用户登录行为属于高风险行为”这一规则,对每个用户在登录时所在位置都进行相应的判断。因为,系统要对用户登陆地点进行实时监控,所以该条规则可以被定义成表达式的形式存放在数据库中。以该条规则为例,每日发生用户登录行为的次数会达到千万级乃至亿级。如果该条规则直接存放在系统数据库中,每次发生用户登录行为时,发生用户登录行为的应用节点都会从系统数据库中进行读取。这样反复读取系统数据库,会大大加重服务器的使用负荷,造成对系统数据库的资源的严重浪费。因此,在分布式系统构架下,上述规则可以被定义为一个热点规则,对该条热点规则的数据可以采用缓存技术。将该规则数据缓存到分布式系统集群中的每个发生用户登录行为的应用节点的内存中,在每次发生用户登录行为时,应用节点只需直接读取应用节点内存中的规则数据,就可以实现对“在30分钟时间内,用户在异地(跨省)发生用户登录行为属于高风险行为”这一规则的判断。这样,就降低了系统服务器的使用负荷,避免了系统资源的浪费。在上述方案中,分布式系统数据缓存的缓存内容,因为都存在各个应用节点的内存当中,所以缓存内容很难达到一致性。具体表现为:在系统服务器中的数据发生变化时,各个应用节点无法及时刷新本地缓存内容;在各个节点之间,虽然读取相同的数据源但是缓存的数据内容不一致。现有的分布式系统集群下的缓存技术,无法集中监控分布式系统集群中数千乃至上万个应用节点中每个应用节点的缓存状态和内容;无法对应用节点的缓存内容进行一致性检查,从而发现缓存内容出现异常的应用节点,并将其及时修复;无法细粒度管理具体某个应用节点、该应用节点内部的具体某个数据异常的缓存。针对上述分布式系统无法保证缓存数据的一致性的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种基于分布式系统的缓存数据的监控方法、装置和系统,以至少解决由于无法集中监控分布式系统集群中每个应用节点的缓存数据导致的无法保证应用节点的缓存数据一致性的技术问题。根据本申请实施例的一个方面,提供了一种基于分布式系统的缓存数据的监控方法,包括:检测与应用终端集群建立通信关系的热点数据表中的热点数据是否发生更新,其中,应用终端集群将本地缓存的热点数据登记至热点数据表;在检测到热点数据表中的热点数据发生更新的情况下,将与热点数据表中发生更新的热点数据关联的热点数据缓存状态修改为待更新状态,其中,与热点数据表中的发生更新的热点数据关联的热点数据缓存状态预先保存在缓存状态数据库中;如果定时扫描到缓存状态数据库中的热点数据缓存状态为待更新状态时,驱动应用终端集群刷新本地缓存的热点数据。根据本申请实施例的另一方面,还提供了一种基于分布式系统的缓存数据的监控装置,包括:检测模块,用于检测与应用终端集群建立通信关系的热点数据表中的热点数据是否发生更新,其中,应用终端集群将本地缓存的热点数据登记至热点数据表;修改状态模块,用于在检测到热点数据表中的热点数据发生更新的情况下,将与热点数据表中发生更新的热点数据关联的热点数据缓存状态修改为待更新状态,其中,与热点数据表中的发生更新的热点数据关联的热点数据缓存状态预先保存在缓存状态数据库中;驱动模块,用于如果定时扫描到缓存状态数据库中的热点数据缓存状态为待更新状态时,驱动应用终端集群刷新本地缓存的热点数据。根据本申请实施例的另一方面,还提供了一种基于分布式系统的缓存数据的监控系统,包括:应用终端集群;数据库终端,与应用终端集群建立通信关系,用于存储热点数据库和缓存状态数据库;缓存监控服务器,与数据库终端建立通信关系,用于检测热点数据库的热点数据表中的热点数据是否发生更新,在检测到热点数据库的热点数据表中的热点数据发生更新的情况下,将缓存状态数据库中对应热点数据表的热点数据缓存状态修改为待更新状态,如果定时扫描到缓存状态数据库中的热点数据缓存状态为待更新状态时,驱动应用终端集群刷新本地缓存的热点数据。在本申请实施例中,采用检测与应用终端集群建立通信关系的热点数据表中的热点数据是否发生更新,其中,应用终端集群将本地缓存的热点数据登记至热点数据表;在检测到热点数据表中的热点数据发生更新的情况下,将与热点数据表中发生更新的热点数据关联的热点数据缓存状态修改为待更新状态,其中,与热点数据表中的发生更新的热点数据关联的热点数据缓存状态预先保存在缓存状态数据库中;如果定时扫描到缓存状态数据库中的热点数据缓存状态为待更新状态时,驱动应用终端集群刷新本地缓存的热点数据的方式,解决了由于无法集中监控分布式系统集群中每个应用节点的缓存数据导致的无法保证应用节点的缓存数据一致性的技术问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例一的一种基于分布式系统的缓存数据的监控系统的结构示意图;图2是根据本申请实施例二的一种基于分布式系统的缓存数据的监控方法的流程示意图;图3是根据本申请实施例二的一种优选的基于分布式系统的缓存数据的监控方法的流程示意图;图4是根据本申请实施例二的一种优选的基于分布式系统的缓存数据的监控方法的流程示意图;图5是根据本申请实施例二的一种优选的基于分布式系统的缓存数据的监控方法的流程示意图;以及图6是根据本申请实施例三的一种基于分布式系统的缓存数据的监控装置的示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述本文档来自技高网
...

【技术保护点】
一种基于分布式系统的缓存数据的监控方法,其特征在于,包括:检测与应用终端集群建立通信关系的热点数据表中的热点数据是否发生更新,其中,所述应用终端集群将本地缓存的热点数据登记至所述热点数据表;在检测到所述热点数据表中的热点数据发生更新的情况下,将与所述热点数据表中发生更新的热点数据关联的热点数据缓存状态修改为待更新状态,其中,与所述热点数据表中的发生更新的热点数据关联的所述热点数据缓存状态预先保存在缓存状态数据库中;如果定时扫描到所述缓存状态数据库中的热点数据缓存状态为所述待更新状态时,驱动所述应用终端集群刷新本地缓存的所述热点数据。

【技术特征摘要】
1.一种基于分布式系统的缓存数据的监控方法,其特征在于,包括:
检测与应用终端集群建立通信关系的热点数据表中的热点数据是否发生更新,
其中,所述应用终端集群将本地缓存的热点数据登记至所述热点数据表;
在检测到所述热点数据表中的热点数据发生更新的情况下,将与所述热点数
据表中发生更新的热点数据关联的热点数据缓存状态修改为待更新状态,其中,
与所述热点数据表中的发生更新的热点数据关联的所述热点数据缓存状态预先保
存在缓存状态数据库中;
如果定时扫描到所述缓存状态数据库中的热点数据缓存状态为所述待更新状
态时,驱动所述应用终端集群刷新本地缓存的所述热点数据。
2.根据权利要求1所述的方法,其特征在于,驱动所述应用终端集群刷新本地缓存
的所述热点数据的步骤包括:
发送刷新通知到所述应用终端集群,使得所述应用终端集群中的应用终端根
据所述刷新通知更新热点数据。
3.根据权利要求2所述的方法,其特征在于,在将与所述热点数据表中发生更新的
热点数据关联的热点数据缓存状态修改为待更新状态之前,所述方法还包括:
当所述应用终端集群中的任意一个或多个应用终端首次启动时,注册每个应
用终端中缓存的热点数据的初始化信息至所述缓存状态数据库;
在将所述热点数据加载至所述应用终端之后,初始化所述初始化信息成功,
得到每个应用终端的缓存注册信息。
4.根据权利要求3所述的方法,其特征在于,所述热点数据缓存状态包括:所述待
更新状态和更新完成状态,其中,在所述应用终端集群中的应用终端更新热点数
据之后,所述方法还包括:
接收所述应用终端集群中的应用终端生成的刷新完成通知,并使用所述刷新
完成通知将所述缓存状态数据库中的所述热点数据缓存状态从所述待更新状态转
化为所述更新完成状态。
5.根据权利要求3所述的方法,其特征在于,在驱动所述应用终端集群刷新本地缓
存的所述热点数据之后,所述方法还包括:
检测所述应用终端集群中每个应用终端的缓存注册信息的数量是否相同,如
果不相同,则读取数量异常的应用终端的缓存注册信息,并发出所述数量异常的
提示信息;或者
检测所述应用终端集群中每个应用终端的热点数据缓存状态是否一致,如果
不一致,则读取热点数据缓存状态异常的应用终端的缓存注册信息,并发出所述
热点数据缓存状态异常的提示信息。
6.根据权利要求5所述的方法,其特征在于,在读取数量异常的应用终端的缓存注
册信息之后,或者在读取热点数据缓存状态异常的应用终端的缓存注册信息之后,
所述方法还包括:
驱动所述数量异常的应用终端访问所述热点数据表,读取所有热点数据;
将读取到的所有热点数据同步缓存到应用终端的内存中。
7.一种基于分布式系统的缓存数据的监控装置,其特征在于,包括:
检测模块,用于检测与应用终端集群建立通信关系的热点数据表中的热点数
据是否发生更新,其中,所述应用终端集群将本地缓存的热点数据登记至所述热
点数据表;
修改状态模块,用于在检测到所述热点数据表中的热点数据发生更新的情况
下,将与所述热点数据表中发生更新的热点数据关联的热点数据缓存状态修改为
待更新状态,其中,与所述热点数据表中的发生更新的热点数据关联的所述热点

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

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

1