[发明专利]高并发数据存储方法及装置有效
申请号: | 201510009667.2 | 申请日: | 2015-01-08 |
公开(公告)号: | CN104598563B | 公开(公告)日: | 2018-09-04 |
发明(设计)人: | 兰健 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/46 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 路凯;胡彬 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并发 队列 数据存储 主数据 数据库 客户端 缓存 并发存储 存储效率 异步存储 多线程 宕机 存储 发送 缓解 响应 | ||
本发明公开了一种高并发数据存储方法及装置。所述方法包括:接收多个客户端发送来的高并发数据;将所述高并发数据推送到主数据队列,并响应相应的客户端;利用多线程消费所述主数据队列中的高并发数据;根据本地队列的数量将所述高并发数据进行分片;将分片后的高并发数据推送到本地队列中;消费本地队列上的高并发数据并存储到数据库中。本发明通过主数据队列和本地队列对高并发数据进行缓存,采用了异步存储方式进行数据存储,缓解了数据库的压力,避免了数据库在高并发存储情况下宕机的问题,提升了高并发数据的存储效率。
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种高并发数据存储方法及装置。
背景技术
随着互联网信息的爆炸式增长,越来越多的互联网服务器将遭遇高并发、海量数据的环境,在这种环境下会面临高并发数据存储的问题。为了解决这个问题,Hadoop、MongoDB、Hbase等一些NoSql(Not Only SQL,非关系型数据库)语言得到了广泛的应用。
但是,针对一些老业务系统,更换新的存储方式所消耗的成本会比较大,因此仍然使用着传统的关系型数据库存储数据,如MySql,Oracle等。当系统面临高并发数据存储的时候,会导致数据库的链接太多,占用资源过多,使得存储效率下降,进而导致服务器宕机等问题。
发明内容
有鉴于此,本发明实施例提供一种高并发数据存储方法及装置,以提升高并发数据的存储效率。
第一方面,本发明实施例提供了一种高并发数据存储方法,所述方法包括:
接收多个客户端发送来的高并发数据;
将所述高并发数据推送到主数据队列,并响应相应的客户端;
利用多线程消费所述主数据队列中的高并发数据;
根据本地队列的数量将所述高并发数据进行分片;
将分片后的高并发数据推送到本地队列中;
消费本地队列上的高并发数据并存储到数据库中。
第二方面,本发明实施例还提供了一种高并发数据存储装置,所述装置包括:
接收模块,用于接收多个客户端发送来的高并发数据;
第一推送模块,用于将所述高并发数据推送到主数据队列,并响应相应的客户端;
消费模块,用于利用多线程消费所述主数据队列中的高并发数据;
分片模块,用于根据本地队列的数量将所述高并发数据进行分片;
第二推送模块,用于将分片后的高并发数据推送到本地队列中;
存储模块,用于消费本地队列上的高并发数据并存储到数据库中。
本发明实施例通过将所述高并发数据推送到主数据队列,利用多线程消费所述主数据队列中的高并发数据,根据本地队列的数量将所述高并发数据进行分片,将分片后的高并发数据推送到本地队列中,消费本地队列上的高并发数据并存储到数据库中,通过主数据队列和本地队列对高并发数据进行缓存,采用了异步存储方式进行数据存储,缓解了直接将高并发数据存储到数据库时带给数据库的压力,避免了数据库在高并发存储情况下宕机的问题,提升了高并发数据的存储效率。
附图说明
图1是本发明实施例一提供的高并发数据存储方法的流程图;
图2是本发明实施例二提供的高并发数据存储方法的架构设计图;
图3是本发明实施例二提供的高并发数据存储方法的流程图;
图4是本发明实施例三提供的高并发数据存储装置的示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510009667.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:气溶胶吸入装置
- 下一篇:网页的发布、访问方法和系统