[发明专利]高并发数据存储方法及计算机可读存储介质在审
申请号: | 201711406104.2 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108170758A | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 刘德建;陈来件;欧宁;李永均;郭玉湖 | 申请(专利权)人: | 福建天泉教育科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林志峥 |
地址: | 350212 福建省福州市长乐*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种高并发数据存储方法及计算机可读存储介质,方法包括:创建多个无锁并发队列缓冲区;创建空闲缓冲区队列和待消费缓冲区队列;从空闲缓冲区队列中选取一缓冲区作为写入缓冲区;根据预设的周期时间查看写入缓冲区,若有数据写入,则将写入缓冲区加入至待消费缓冲区队列;继续执行从空闲缓冲区队列中选取一缓冲区作为写入缓冲区的步骤;将待消费缓冲区队列中的缓冲区加入至线程池队列;线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费。本发明可明确获取系统的负载情况、数据的生产和消费速度,同时可节省系统资源。 1 | ||
搜索关键词: | 缓冲区 写入 空闲缓冲区队列 缓冲区队列 线程池 计算机可读存储介质 并发 数据存储 队列 队列缓冲区 获取系统 继续执行 节省系统 时间查看 无锁 线程 预设 创建 取出 生产 | ||
创建多个无锁并发队列缓冲区;
创建空闲缓冲区队列和待消费缓冲区队列,所述空闲缓冲区队列用于存储空闲的缓冲区,所述待消费缓冲区队列用于存储待消费的缓冲区;
从所述空闲缓冲区队列中选取一缓冲区作为写入缓冲区;
根据预设的周期时间查看所述写入缓冲区,若有数据写入,则将所述写入缓冲区加入至待消费缓冲区队列;
继续执行所述从所述空闲缓冲区队列中选取一缓冲区作为写入缓冲区的步骤;
将待消费缓冲区队列中的缓冲区加入至线程池队列;
线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费。
2.根据权利要求1所述的高并发数据存储方法,其特征在于,所述“将待消费缓冲区队列中的缓冲区加入至线程池队列”具体为:监听待消费缓冲区队列;
若待消费缓冲区队列不为空,则将待消费缓冲区队列中的缓冲区加入至线程池队列。
3.根据权利要求1所述的高并发数据存储方法,其特征在于,所述“线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费”具体为:线程池中的一线程从所述线程池队列中取出一缓冲区,并将所述一缓冲区中的数据批量更新到数据库中或批量进行传输。
4.根据权利要求1所述的高并发数据存储方法,其特征在于,所述“线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费”之后,进一步包括:将消费完后的缓冲区加入至空闲缓冲区队列。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现以下步骤:创建多个无锁并发队列缓冲区;
创建空闲缓冲区队列和待消费缓冲区队列,所述空闲缓冲区队列用于存储空闲的缓冲区,所述待消费缓冲区队列用于存储待消费的缓冲区;
从所述空闲缓冲区队列中选取一缓冲区作为写入缓冲区;
根据预设的周期时间查看所述写入缓冲区,若有数据写入,则将所述写入缓冲区加入至待消费缓冲区队列;
继续执行所述从所述空闲缓冲区队列中选取一缓冲区作为写入缓冲区的步骤;
将待消费缓冲区队列中的缓冲区加入至线程池队列;
线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费。
6.根据权利要求5所述的计算机可读存储介质,其特征在于,所述“将待消费缓冲区队列中的缓冲区加入至线程池队列”具体为:监听待消费缓冲区队列;
若待消费缓冲区队列不为空,则将待消费缓冲区队列中的缓冲区加入至线程池队列。
7.根据权利要求5所述的计算机可读存储介质,其特征在于,所述“线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费”具体为:线程池中的一线程从所述线程池队列中取出一缓冲区,并将所述一缓冲区中的数据批量更新到数据库中或批量进行传输。
8.根据权利要求5所述的计算机可读存储介质,其特征在于,所述“线程池中的线程依次从所述线程池队列中取出一缓冲区进行消费”之后,进一步包括:将消费完后的缓冲区加入至空闲缓冲区队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天泉教育科技有限公司,未经福建天泉教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711406104.2/,转载请声明来源钻瓜专利网。