[发明专利]数据读写方法和存储介质在审
申请号: | 202011134287.9 | 申请日: | 2020-10-21 |
公开(公告)号: | CN112256200A | 公开(公告)日: | 2021-01-22 |
发明(设计)人: | 林浩升;金超;黄旭武;谢雪萍 | 申请(专利权)人: | 宝能(广州)汽车研究院有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 周红 |
地址: | 510700 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 读写 方法 存储 介质 | ||
本发明公开了一种数据读写方法和存储介质,其中方法包括:对待写入数据进行脏数据标记以确定待写入数据是否已经存储至内存中;如果待写入数据未存储至内存中,则将待写入数据存储至内存中,并在存储完成后,利用加锁机制将待写入数据从内存中持久化存储至本地。由此,能够快速且准确地进行数据持久化存储。
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据读写方法和存储介质。
背景技术
随着新能源汽车的快速发展,汽车中控系统由之前的Linux系统改为安卓系统,中控系统和附着在中控系统上的安卓应用程序正变得越来越重要。
安卓应用程序通常会保存用户行为习惯等大量数据,在对大量数据进行保存时,快速且准确地进行数据持久化存储正变得越来越重要,相关技术中,利用SharedPreferences进行数据保存,无法同时满足上述要求。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种数据读写方法,能够快速且准确地进行数据持久化存储。
本发明的第二个目的在于提出一种计算机可读存储介质。
为达到上述目的,本发明第一方面实施例提出了一种数据读写方法,包括以下步骤:对待写入数据进行脏数据标记以确定待写入数据是否已经存储至内存中;如果待写入数据未存储至内存中,则将待写入数据存储至内存中,并在存储完成后,利用加锁机制将待写入数据从内存中持久化存储至本地。
根据本发明实施例的数据读写方法,通过对待写入数据进行脏数据标记以确定待写入数据是否已经存储至内存中,如果待写入数据未存储至内存中,则将待写入数据存储至内存中,由此可减少数据写入次数,解决慢速文件写入瓶颈,然后在存储完成后,利用加锁机制将待写入数据从内存中持久化存储至本地,可保证同一时刻仅有一个线程在进行数据持久化存储,保证了数据写入的正确性,从而实现快速且准确地数据持久化存储。
根据本发明的一个实施例,内存为基于ConcurrentHashMap的内存。
根据本发明的一个实施例,对待写入数据进行脏数据标记以确定待写入数据是否已经存储至内存中,包括:获取待写入数据的ID值,并确定内存中是否存储有ID值;如果内存中存储有ID值,则确定待写入数据与内存中ID值对应的数据是否相同,如果相同,则确定待写入数据已经存储至内存中,否则确定待写入数据未存储至内存中;如果内存中未存储有ID值,则确定待写入数据未存储至内存中。
根据本发明的一个实施例,利用加锁机制将待写入数据从内存中持久化存储至本地,包括:利用原子性数据AtomicBoolean设置数据持久化标记位,并利用并发编程锁ReentrantLock对当前数据持久化存储线程进行加锁;在加锁完成后,将待写入数据从内存中持久化存储至本地,并在持久化存储完成后,恢复数据持久化标记位。
根据本发明的一个实施例,上述的数据读写方法还包括:确定是否有其它数据持久化存储线程向本地持久化存储数据;如果有,则对本地的数据进行脏数据标记以确定本地的数据与内存中的数据是否相同;如果不相同,则利用加锁机制根据本地的数据对内存中的数据进行更新。
根据本发明的一个实施例,利用加锁机制根据本地的数据对内存中的数据进行更新,包括:利用原子性数据AtomicBoolean设置数据更新标记位,并利用并发编程锁ReentrantLock对当前数据更新线程进行加锁;在加锁完成后,将本地的数据存储至内存中,并在存储完成后,恢复数据更新标记位。
根据本发明的一个实施例,上述的数据读写方法,还包括:确定本地的数据是否被删除;如果被删除,则将内存中的相应数据清空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宝能(广州)汽车研究院有限公司,未经宝能(广州)汽车研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011134287.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种芯片失效定位方法及夹具
- 下一篇:一种基于信息技术的计算机讲课台
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置