[发明专利]一种数据存储的方法和装置在审
申请号: | 201810686053.1 | 申请日: | 2018-06-28 |
公开(公告)号: | CN110727739A | 公开(公告)日: | 2020-01-24 |
发明(设计)人: | 马德友 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/25 |
代理公司: | 11219 中原信达知识产权代理有限责任公司 | 代理人: | 张一军;李阳 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储方式 调用 存储钥匙 数据存储 待存储数据 存储地址 存储数据 数据覆盖 计算机技术领域 方法和装置 相对独立 存储 | ||
本发明公开了一种数据存储的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取调用者的存储钥匙,以及确定待存储数据的存储方式;根据所述存储方式和存储钥匙生成存储地址;基于所述存储方式和所述存储地址,存储所述调用者的待存储数据。该方法能够根据需要的存储方式进行数据存储,并且通过调用者的存储钥匙区分不同调用者的存储数据,避免了数据覆盖。解决了现有技术中只能针对一种存储方式进行数据存储,以及相对独立的调用者存储数据时出现数据覆盖的问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据存储的方法和装置。
背景技术
当前,很多工程的项目越来越大,参与的人员越来越多,管理起来就会比较麻烦,所以会将项目进行模块化处理,即根据功能、业务将项目拆分成一个个的模块。拆分的模块可分为基础功能类模块和业务类模块,基础功能类模块主要提供基础的功能,比如根据定位、网络、存储等分别提供对应功能的基础模块。其中,虽然拆分出的多个模块属于同一个项目,但是分别独立开发,并由相应的人员维护。并且,拆分出的每个模块,一般都会涉及到数据存储。鉴于每个模块存储数据的类型不同,其对应的存储方式也不尽相同,例如,一些模块的数据需要进行数据库存储,一些模块需要存储网络图片等。
针对上述不同模块采用不同存储方式存储数据的情况,现有技术方案是负责每个模块的技术人员精准掌握每种存储方式,并在确认采用某种存储方式后,直接调用实现该存储方式的接口以实现数据存储。现今,存在很多实现单一存储方式的系统框架或者接口,例如,对于iOS平台来说,FMDB是iOS平台的SQLite数据库框架,它以OC的方式封装了SQLite的C语言API;Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite3数据库文件中,也能够将保存在数据库中的数据还原成OC对象;SDWebImage支持加载来自网络的远程图片等;由iOS平台提供的归档、NSUserDefaults偏好设置等。
在具体实施过程中,发现现有技术存在以下问题:因为每个模块的开发是相对独立的,在使用现有方案的时候容易出现参数相同,导致存储覆盖的问题;适用于普通的工程,不适用于模块化工程;对于一些数据,还需要开发人员判断是存在文件中还是存在数据库等,以及存储方式繁多,开发者使用起来不好选择判断,并且学习的成本比较大;没有解决多语言存储问题;本地文件没有统一管理,容易出现文件存储目录、文件名杂乱的问题。
发明内容
有鉴于此,本发明实施例提供一种数据存储的方法和装置,能够根据需要的存储方式进行数据存储,并且通过调用者的存储钥匙区分不同调用者的存储数据,避免了数据覆盖。解决了现有技术中只能针对一种存储方式进行数据存储,以及相对独立的调用者存储数据时出现数据覆盖的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据存储的方法。
本发明实施例的数据存储的方法包括:获取调用者的存储钥匙,以及确定待存储数据的存储方式;根据所述存储方式和存储钥匙生成存储地址;基于所述存储方式和所述存储地址,存储所述调用者的待存储数据。
可选地,获取调用者的存储钥匙的步骤包括:获取调用者的唯一标识;根据调用者的唯一标识判断缓存中是否存在所述调用者的存储钥匙;如果存在,则从缓存中获取所述调用者的存储钥匙;否则,根据预设的钥匙生成规则生成存储钥匙,并根据所述唯一标识以键值方式缓存生成的存储钥匙。
可选地,所述存储方式包括数据库存储、网络图片存储和统一存储;
根据所述存储方式和存储钥匙生成存储地址的步骤包括:
确定存储方式为数据库存储的情况下,将存储钥匙作为sql语句中表名的前缀,以确定存储地址;
确定存储方式为网络图片存储的情况下,根据所述网络图片的统一资源定位符URL或者存储钥匙确定存储地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810686053.1/2.html,转载请声明来源钻瓜专利网。