[发明专利]数据访问方法、装置、计算机设备和存储介质在审
申请号: | 202010552309.7 | 申请日: | 2020-06-17 |
公开(公告)号: | CN111708626A | 公开(公告)日: | 2020-09-25 |
发明(设计)人: | 陈斌 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 李文渊 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 访问 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及数据的存储和读取,具体涉及一种数据访问方法、装置、计算机设备和存储介质。所述方法包括:当触发针对目标内存块的数据读取操作时,基于状态指示数据确定工作状态的目标内存块,并从工作状态的目标内存块读取数据;当触发针对目标内存块的数据更新操作时,基于状态指示数据确定空闲状态的目标内存块;基于数据更新操作,向空闲状态的目标内存块进行全量数据更新;当全量数据更新执行完毕时,通过修改状态指示数据,将空闲状态的目标内存块置为工作状态。采用本方法能够并发执行数据读取操作和数据更新操作。
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据访问方法、装置、计算机设备和存储介质。
背景技术
随着科学技术的不断发展,系统所面临的并发量与日俱增,在这种并发环境下,容易出现数据安全性问题。例如,当需要同时更新和读取同一数据时,就容易导致更新或读取的数据不一致或者不准确。
目前,主要采用锁机制来控制系统对同一数据的访问,锁机制是指并发状态下的其中一个数据访问任务对待访问的数据申请加锁,在申请加锁成功后再对待访问的数据进行更新处理,并在更新完成后释放锁,在此过程中,其它数据访问任务只能进行等待,而无法对加锁的数据进行读取处理。如此,虽然保证了数据的安全性,但是,当并发量较大时,就会因数据访问任务的等待时间过长,而导致系统的响应速度降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够并发执行数据读取操作和数据更新操作的数据访问方法、装置、计算机设备和存储介质。
一种数据访问方法,所述方法包括:
当触发针对目标内存块的数据读取操作时,基于状态指示数据确定工作状态的目标内存块,并从所述工作状态的目标内存块读取数据;
当触发针对目标内存块的数据更新操作时,基于所述状态指示数据确定空闲状态的目标内存块;
基于所述数据更新操作,向所述空闲状态的目标内存块进行全量数据更新;
当所述全量数据更新执行完毕时,通过修改所述状态指示数据,将空闲状态的目标内存块置为工作状态。
一种数据访问装置,所述装置包括:
数据读取模块,用于当触发针对目标内存块的数据读取操作时,基于状态指示数据确定工作状态的目标内存块,并从所述工作状态的目标内存块读取数据。
数据更新模块,用于当触发针对目标内存块的数据更新操作时,基于所述状态指示数据确定空闲状态的目标内存块;基于所述数据更新操作,向所述空闲状态的目标内存块进行全量数据更新。
状态指示数据修改模块,用于当所述全量数据更新执行完毕时,通过修改所述状态指示数据,将空闲状态的目标内存块置为工作状态。
在一个实施例中,数据访问装置还包括初始化模块,用于触发环境初始化;在所述环境初始化时,创建两个具有相同存储特征的目标内存块,并创建状态指示数据;其中,所述状态指示数据,指示两个所述目标内存块中的一个目标内存块为工作状态,并指示另一个目标内存块为空闲状态。
在一个实施例中,初始化模块还用于创建一个目标内存块;获取所述目标内存块的存储特征;所述存储特征包括存储空间和存储结构;基于所述存储特征,复制得到另一个目标内存块。
在一个实施例中,数据读取模块还用于将指针变量所存放地址指向的目标内存块,确定为工作状态的目标内存块;所述基于所述状态指示数据确定空闲状态的目标内存块,包括:在配对的两个目标内存块中,将所述指针变量所存放地址未指向的目标内存块,确定为空闲状态的目标内存块。
在一个实施例中,状态指示数据修改模块还用于修改所述指针变量,使得所述指针变量所存放地址指向所述空闲状态的目标内存块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010552309.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置