[发明专利]一种数据缓存的处理方法及装置在审
申请号: | 202011552005.7 | 申请日: | 2020-12-24 |
公开(公告)号: | CN113778910A | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 孙晓波 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F12/0842 | 分类号: | G06F12/0842;G06F9/54 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 杨倩;赵迪 |
地址: | 100086 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 缓存 处理 方法 装置 | ||
本发明公开了一种数据缓存的处理方法及装置,该方法的一具体实施方式应用于本地缓存,所述本地缓存包括两个阻塞队列,以及用于指示所述两个阻塞队列切换的指针;包括:获取待处理数据;确定所述指针当前指向的所述两个阻塞队列中的第一阻塞队列,将所述待处理数据写入所述第一阻塞队列;当所述第一阻塞队列中的待处理数据满足预设条件时,将所述第一阻塞队列中的待处理数据复制到目标线程中,以利用所述目标线程对所述待处理数据进行处理;将所述指针指向所述两个阻塞队列中的第二阻塞队列,以利用所述第二阻塞队列继续写入待处理数据,涉及计算机技术领域。该实施方式提高了传输速度及吞吐量。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据缓存的处理方法及装置。
背景技术
在高并发场景中,当并发量足够高时,往往会用到本地缓存来减少第三方缓存(如分布式缓存)的压力。
在采用本地缓存来读写数据时,先将数据存入本地缓存中,此时需要加锁。当本地缓存的数据量或时间间隔达到阈值时,再从本地缓存中读取数据,并将数据写入第三方缓存,此过程也需要加锁。当第三方缓存写入数据成功后,则可删除相应的数据,并释放锁。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
在将本地缓存中的数据写入第三方缓存时会涉及网络IO(Input/Output,输入/输出),耗时较长;而在高并发场景下,当数据量足够大时,本地缓存很快会达到阈值,就会触发锁,则写入操作只能等待,直至数据写入第三方缓存并清空本地缓存后才能继续,这将大大减低传输速度及吞吐量。
发明内容
有鉴于此,本发明实施例提供一种数据缓存的处理方法及装置,能够提高传输速度及吞吐量。
为实现上述目的,根据本发明实施例的一个方面,一种数据缓存的处理方法。
本发明实施例的一种数据缓存的处理方法,应用于本地缓存,所述本地缓存包括两个阻塞队列,以及用于指示所述两个阻塞队列切换的指针;包括:
获取待处理数据;
确定所述指针当前指向的所述两个阻塞队列中的第一阻塞队列,将所述待处理数据写入所述第一阻塞队列;
当所述第一阻塞队列中的待处理数据满足预设条件时,将所述第一阻塞队列中的待处理数据复制到目标线程中,以利用所述目标线程对所述待处理数据进行处理;
将所述指针指向所述两个阻塞队列中的第二阻塞队列,以利用所述第二阻塞队列继续写入待处理数据。
可选地,该方法还包括:
对所述指针由所述第一阻塞队列指向第二阻塞队列的过程加锁,并在所述指针指向所述第二阻塞队列后释放锁。
可选地,所述利用所述目标线程对所述待处理数据进行处理,包括:
采用线程封闭技术将所述待处理数据封闭在目标线程的内部,以利用所述目标线程将所述待处理数据写入分布式缓存。
可选地,在所述利用所述目标线程将所述待处理数据写入分布式缓存之后,还包括:
释放所述目标线程中的所述待处理数据。
可选地,该方法还包括:采用回调方式写入时长阈值或存储空间阈值;
所述预设条件包括:所述待处理数据的存储量不小于所述存储空间阈值,或所述待处理数据写入所述第一阻塞队列的时长不小于所述时长阈值。
可选地,所述第一阻塞队列和所述第二阻塞队列的存储空间相等。
可选地,所述第一阻塞队列和/或所述第二阻塞队列为ConcurrentLinked Queue链式队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011552005.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置