[发明专利]数据更新方法和装置在审
申请号: | 201610007958.2 | 申请日: | 2016-01-06 |
公开(公告)号: | CN105677849A | 公开(公告)日: | 2016-06-15 |
发明(设计)人: | 高庆 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q30/06 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 更新 方法 装置 | ||
技术领域
本申请涉及计算机技术领域,具体涉及数据处理领域,尤其涉及 数据更新方法和装置。
背景技术
数据更新是以新数据替换或修改数据库中与之相对应的旧数据的 过程。在当今信息化的企业和组织中,存储着大量的数据,并且随着 时间的推移存储的数据需要不断地更新,例如网购平台中用户的累积 消费、积分变更等。随着网络的发展,网购、交友等平台的用户不断 的增加,导致平台经常出现高并发应用场景,因此需要一种适用于高 并发场景下的数据更新方法。
现有高并发场景下的数据更新操作大多是利用平台架构和容器本 身的事务处理机制完成,但是这种数据更新的方法难以保证复杂的高 并发应用场景下的数据更新的准确性。
发明内容
本申请的目的在于提出一种改进的数据更新方法和装置,来解决 以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种数据更新方法,所述方法包括:获 取至少一个更新数据请求,其中,所述更新数据请求包括增量数据和 该增量数据的数据标识;利用预设的定时器任务线程,周期性执行各 所述更新数据请求对应的原子操作;基于所述更新数据请求对应的原 子操作,更新数据库中所述更新数据请求的数据标识对应的待更新数 据。
在一些实施例中,所述获取更新数据请求,包括:缓存客户端发 送的各所述更新数据请求到消息队列;将所述消息队列中的各所述更 新数据请求分发给订阅模块,其中,所述订阅模块用于接收所述更新 数据请求,并根据所述数据标识将各所述更新数据请求插入更新数据 表;从所述更新数据表获取至少一个所述更新数据请求。
在一些实施例中,所述原子操作包括如下步骤:从所述更新数据 表获取所述更新数据请求,并将该所述更新数据请求标记为未处理状 态;处理所述未处理状态的更新数据请求,并将处理中的所述更新数 据请求的未处理状态更新为处理中状态;获取所述处理中状态的更新 数据请求的处理结果,并将所述更新数据请求的处理中状态更新为处 理完成状态。
在一些实施例中,所述方法还包括:在所述数据库中确定与所述 处理中状态的更新数据请求的数据标识对应的所述待更新数据;所述 数据库利用所述增量数据,更新所确定的待更新数据。
在一些实施例中,所述方法还包括:判断所述数据库中是否存在 与所述数据标识对应的待更新数据;若是,则在所述数据库中确定所 述待更新数据;若否,则在所述数据库中存储所述数据标识,并设置 与该所述数据标识对应的所述待更新数据为初始值。
在一些实施例中,所述方法还包括:构建多个定时器任务进程和 多个定时器任务线程;根据所述更新数据请求的总量和各所述更新数 据请求对应的原子操作的耗时,确定开启所述定时器任务进程的数量 和各所开启的定时器任务进程中开启的所述定时器任务线程的数量以 计算所述待更新数据的更新效率。
第二方面,本申请提供了一种数据更新装置,所述装置包括:获 取模块,配置用于获取至少一个更新数据请求,其中,所述更新数据 请求包括增量数据和该增量数据的数据标识;原子操作执行模块,配 置用于利用预设的定时器任务线程,周期性执行各所述更新数据请求 对应的原子操作;更新模块,配置用于基于所述更新数据请求对应的 原子操作,更新数据库中所述更新数据请求的数据标识对应的待更新 数据。
在一些实施例中,所述获取模块进一步配置用于:缓存客户端发 送的各所述更新数据请求到消息队列;将所述消息队列中的各所述更 新数据请求分发给订阅模块,其中,所述订阅模块用于接收所述更新 数据请求,并根据所述数据标识将各所述更新数据请求插入更新数据 表;从所述更新数据表获取至少一个所述更新数据请求。
在一些实施例中,所述原子操作包括如下步骤:从所述更新数据 表获取所述更新数据请求,并将该所述更新数据请求标记为未处理状 态;处理所述未处理状态的更新数据请求,并将处理中的所述更新数 据请求的未处理状态更新为处理中状态;获取所述处理中状态的更新 数据请求的处理结果,并将所述更新数据请求的处理中状态更新为处 理完成状态。
在一些实施例中,所述装置还包括:第一确定模块,配置用于在 所述数据库中确定与所述处理中状态的更新数据请求的数据标识对应 的所述待更新数据请求;以及所述数据库利用所述增量数据,更新所 确定的待更新数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610007958.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置