热点键监测和数据处理的方法及装置制造方法及图纸

技术编号:37368657 阅读:30 留言:0更新日期:2023-04-27 07:14
本公开涉及一种热点键监测和数据处理的方法及装置,通过确定当前子窗口和上述对应子窗口之间的窗口同步条件是否满足;在窗口同步条件不满足的情况下,对当前子窗口的第二时间信息和状态信息进行无锁滑动原子性修改,无需对扩容期间旧的当前子窗口进行上锁便能滑动至新的当前子窗口,在高并发场景下,针对多个并发的请求线程,避免了相关技术中需要对窗口加锁导致的数据处理效率低下的问题,有效提升了高并发场景下的数据处理效率。了高并发场景下的数据处理效率。了高并发场景下的数据处理效率。

【技术实现步骤摘要】
热点键监测和数据处理的方法及装置


[0001]本公开涉及互联网和分布式存储
,尤其涉及一种热点键监测和数据处理的方法及装置。

技术介绍

[0002]在高并发数据访问场景下,例如在电子商务、金融、新闻、视频播放等的数据处理场景,可能存在突发性的大批量数据处理请求针对存储服务中的同一个键(key)进行访问的情况,由此导致服务器的宕机,从而严重影响其他进程的访问。
[0003]为了满足高并发场景下的服务稳定性,目前大多采用服务集群作为服务器(Server)来面向客户端(Client)提供服务,同时依托于分布式缓存服务作为数据库的前置访问对象来提升数据处理效率,优先通过调用分布式缓存服务进行数据处理,之后将处理结果更新至数据库。有些方案还增设了服务器的本地缓存来作为二级缓存,以应对流量激增导致的分布式服务超负荷的情况。
[0004]因此在进行本地缓存的开发时,需要解决以下技术问题:如何进行热点键的监测是最基础也是最必要的,然而,目前的热点键监测的方案大多通过引入额外的中间件,并且需要手动配置并开发对应的功能,繁琐且开发效率低下,而本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种热点键监测的方法,其特征在于,包括:在统计窗口对应时段内,确定包含待监测目标键的访问请求落在所述统计窗口中对应子窗口的第一时间信息;根据所述第一时间信息与所述统计窗口中当前子窗口的第二时间信息和状态信息,确定所述当前子窗口与所述对应子窗口之间的窗口同步条件是否满足;在所述窗口同步条件不满足的情况下,对所述第二时间信息和所述状态信息进行无锁滑动原子性修改,所述第二时间信息更新为与所述第一时间信息同步的时间信息,且所述状态信息更新为与所述对应子窗口匹配的同步状态;在所述当前子窗口与所述对应子窗口之间同步的情况下,统计当前子窗口中的请求量;根据所述请求量和所述统计窗口内从起始位置到更新后的当前子窗口位置的累计请求量,得到所述待监测目标键是否为热点键的监测结果。2.根据权利要求1所述的方法,其特征在于,所述窗口同步条件包括:所述当前子窗口的第二时间信息与所述第一时间信息同步,且所述当前子窗口的状态信息为与所述对应子窗口匹配的同步状态;在所述当前窗口的第二时间信息与所述第一时间信息不同步或者所述当前子窗口的状态与所述对应子窗口不匹配至少一种满足的情况下,视为所述窗口同步条件不满足。3.根据权利要求1或2所述的方法,其特征在于,对所述第二时间信息和所述状态信息进行无锁滑动原子性修改,包括:对所述当前子窗口的状态信息进行原子性修改,得到区别于所述同步状态的偏差状态,所述原子性修改用于限定多个线程中的单一线程能成功执行修改;在所述偏差状态下,将所述第二时间信息更新为与所述第一时间信息同步的时间信息,并重置更新后的当前子窗口的请求量计数为1;将所述更新后的当前子窗口的状态信息更新为与所述对应子窗口匹配的同步状态。4.根据权利要求3所述的方法,其特征在于,所述偏差状态的取值为期望值;在所述偏差状态下,将所述第二时间信息更新为与所述第一时间信息同步的时间信息;在所述偏差状态下,基于比较并交换操作,比较所述当前子窗口的状态信息与所述期望值是否相同,在相同的情况下,将所述第二时间信息更新为与所述第一时间信息同步的时间信息。5.根据权利要求1所述的方法,其特征在于,在所述同步状态下,统计当前子窗口中的请求量,包括:在所述窗口同步条件满足的情况下,统计当前子窗口的请求量;在所述窗口同步条件不满足且经过无锁滑动原子性修改成功的情况下,统计更新后的当前子窗口的请求量。6.根据权利要求1所述的方法,其特征在于,根据所述请求量和所述统计窗口内从起始位置到更新后的当前子窗口位置的累计请求量,得到所述待监测目标键是否为热点键的监测结果,包括:确定所述请求量是否超过设定阈值;
在所述请求量超过设定阈值的情况下,得到所述待监测目标键为热点键的监测结果;在所述请求量小于设定阈值的情况下,确定所述累计请求量是否超过设定阈值;在所述累计请求量超过设定阈值的情况下,得到所述待监测目标键为热点键的监测结果;在所述请求量和所述累计请求量均小于设定阈值的情况下,得到所述待监测目标键不是热点键的监测结果。7.根据权利要求1所述的方法,其特征在于,所述统计窗口为环形窗口,包括预设数量个均匀分布的子窗口;在统计窗口对应时段内,确定包含待监测目标键的访问请求落在所述统计窗口中对应子窗口的第一时间信息,包括:在统计窗口对应时段内,获取待监测目标键对应的访问请求的到达时间;根据所述到达时间和所述子窗口的时长,计算所述访问请求落在所述统计窗口中对应子窗口的第一时间信息。8.根据权利要求7所述的方法,其特征在于,所述第一时间信息包括第一起始时间;根据所述到达时间和所述子窗口的时长,计算所述访问请求落在所述统计窗口中对应子窗口的第一时间信息,包括:将所述到达时间针对所述子窗口的时长进行整除取余计算,得到余数;计算所述到达时间减去所述余数的差结果,所述差结果作为所述第一起始时间。9.根据权利要求7所述的方法,其特征在于,还包括:确定所述当前子窗口的第二时间信息;所述确定所述当前子窗口的第二时间信息,包括:从原子数组中获取当前子窗口的窗口序号;根据所述窗口序号,生成所述当前子窗口的第二时间信息。10.根据权利要求9所述的方法,其特征在于,所述第二时间信息包括第二起始时间;所述窗口序号由落入至当前子窗口的请求的到达时间、所述子窗口的时长和所述预设数量计算得到,包括:将所述落入至当前子窗口的请求的到达时间与所述子窗口的时长进行作商运算,得到商结果;将所述商结果针对所述预设数量进行取余后向下取整计算,得到所述窗口序号。11.一种数据处理的方法,其特征在于,应用于服务节点;所述方法包括:接收数据处理的请求,所述请求携带有:待访问的数据对象和操作指令;解析所述数据对象对应的对象键,所述对象键作为待监测目标键;查询所述待监测目标键是否为热点键的监测结果,所述监测结果采用权利要求1

10中任一项所述的热点键监测的方法获得;在所述监测结果表征所述待监测目标键为热点键的情况下,开启所述服务节点的本地缓存;在所述本地缓存中执行所述操作指令。12.根据权利要求11所述的方法,其特征在于,所述本地缓存的执行逻辑信息配置在类或方法的注解中;所述本地缓存的执行逻辑信息包括:本地缓存处于开启状态所对应的第
一执行逻辑信息,所述第一执行逻辑信息包括:在本地缓存执行失败情况下,用于...

【专利技术属性】
技术研发人员:周越佳
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1