[发明专利]数据存储方法和装置有效
申请号: | 201810503062.2 | 申请日: | 2018-05-23 |
公开(公告)号: | CN108829740B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 张惕远 | 申请(专利权)人: | 摇了购(武汉)电子商务有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 陈晓云 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 装置 | ||
本发明实施例提供一种数据存储方法和装置,该数据存储方法包括获取第一数据轮询线程上的索引号并对该索引号进行自增,作为当前索引号,并判断该当前索引号是否大于总索引号;若所述当前索引号不大于所述总索引号,则继续判断所述当前索引号的处理状态是否为已处理状态;若所述当前索引号的处理状态为未处理状态,则根据所述当前索引号提取数据对象并通过所述第一数据轮询线程对该数据对象执行入库操作。本发明能够有效实现待存储数据的异步入库,以缓解高并发下的系统存储压力。
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据存储方法和装置。
背景技术
传统的数据入库是基于客户端发出的数据入库请求进行数据对象的存储,而不会考虑执行对待存储的数据对象进行入库操作时是否有实时性要求、是否耗时等问题,且仅会在待存储的数据对象完成入库后才对客户端进行响应。
发明内容
有鉴于此,本发明实施例提供一种数据存储方法和装置,能有效解决上述问题。
本发明较佳实施例提供一种数据存储方法,应用于缓存服务器,所述方法包括:
获取第一数据轮询线程上的索引号并对该索引号进行自增,作为当前索引号,判断该当前索引号是否大于总索引号;
若所述当前索引号不大于所述总索引号,则继续判断所述当前索引号的处理状态是否为已处理状态;
若所述当前索引号的处理状态为未处理状态,则根据所述当前索引号提取数据对象并通过所述第一数据轮询线程对该数据对象执行入库操作。
进一步地,所述方法还包括:
若所述当前索引号大于所述总索引号,则回退所述当前索引号,并根据资源对象锁对所述第一数据轮询线程执行等待操作直到第二数据轮询线程通知所述第一数据轮询线程存在数据对象需要入库时所述第一数据轮询线程解锁并停止等待操作。
进一步地,根据所述当前索引号提取数据对象并通过所述第一数据轮询线程对该数据对象执行入库操作的步骤包括:
根据所述当前索引号获取与该当前索引号对应的key;
根据所述key提取与该key对应的数据对象作为待入库数据,并通过所述第一数据轮询线程对所述待入库数据执行入库操作。
进一步地,通过所述第一数据轮询线程对该数据对象执行入库操作的步骤包括:
根据所述数据对象的主键值判断数据库服务器中是否存在与该主键值对应的数据对象;
若存在,则根据所述待入库数据对所述数据库服务器中已经存在的数据对象进行更新入库操作;
若不存在,则对所述待入库数据执行新增入库操作。
进一步地,在执行获取第一数据轮询线程上的当前索引号的步骤之前,所述方法还包括:
创建用于将已缓存的数据对象存入数据库服务器中的第一数据轮询线程,以及用于接收各外部服务器生产的数据对象并进行数据缓存的第二数据轮询线程。
进一步地,所述方法还包括:
通过所述第二数据轮询线程获取各外部服务器生产的数据对象,依次对各数据对象进行索引号设置,并对完成索引号设置的数据对象进行缓存。
本发明实施例还提供一种数据存储装置,应用于缓存服务器,所述装置包括:
索引号获取模块,用于获取第一数据轮询线程上的索引号并对该索引号进行自增,作为当前索引号,判断该当前索引号是否大于总索引号;
状态判断模块,用于在所述当前索引号不大于所述总索引号时,继续判断所述当前索引号的处理状态是否为已处理状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于摇了购(武汉)电子商务有限公司,未经摇了购(武汉)电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810503062.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置