高效iOS端数据持久化方法及系统技术方案

技术编号:31481490 阅读:30 留言:0更新日期:2021-12-18 12:15
本发明专利技术公开了高效iOS端数据持久化方法及系统,属于计算机应用领域,本发明专利技术要解决的技术问题为iOS数据存储效率低且容易造成数据丢失,采用的技术方案为:该方法是基于MMAP技术和protocol buffer提升数据存储和读取效率;同时利用MMAP内存映射基于系统托管的方式保证数据的完整性;具体如下:MMAP映射关系处理;对数据使用protocol buffer进行序列化反序列化处理;对数据进行编码后使用MMAP进行写入操作:调用能力库中的主线程串行队列写入到映射内存中;OS托管:写入映射内存中的数据无需手动flash操作;对数据进行读取操作。该系统包括映射单元、序列化单元、写入单元、OS托管单元及读取单元。读取单元。读取单元。

【技术实现步骤摘要】
高效iOS端数据持久化方法及系统


[0001]本专利技术涉及计算机应用领域,具体地说是一种高效iOS端数据持久化方法及系统。

技术介绍

[0002]iOS端数据持久化方案不外乎NSUserDefault或者借助SQLite来进行数据持久化。NSUserDefault是普通的文件系统,对于数据的存储仅仅支持String、Double、bool等少数几种类型,效率低、限制大;对于结构化的数据支持较差,序列化效率很低。而SQLite它是移动端一种常用的关系型数据库,对数据的存储需要先将数据进行相应的格式化,创建数据库表,然后再进行存储;对于移动端开发人员来说操作过于繁琐。同时移动端又不可能保证APP一直处于激活状态,这就导致有可能在数据存储的过程中造成数据的丢失。
[0003]在移动端弱网络的大环境之下,数据持久化是每一个app都必须要面对的问题,iOS在持久化的方案上之前仅有NSUserdefault、SQLite或者根据这两者变形而来的Core data等,上述技术方案无外乎将数据序列化后直接写入到磁盘中,效率低而且容易造成丢失数据。...

【技术保护点】

【技术特征摘要】
1.一种高效iOS端数据持久化方法,其特征在于,该方法是基于MMAP技术和protocol buffer提升数据存储和读取效率;同时利用MMAP内存映射基于系统托管的方式保证数据的完整性;具体如下:MMAP映射关系处理;对数据使用protocol buffer进行序列化反序列化处理;对数据进行编码后使用MMAP进行写入操作:调用能力库中的主线程串行队列写入到映射内存中;OS托管:写入映射内存中的数据无需手动flash操作;对数据进行读取操作。2.根据权利要求1所述的高效iOS端数据持久化方法,其特征在于,MMAP映射关系处理具体如下:创建或复用磁盘文件:APP开启时,根据已有的磁盘文件使用MMAP技术申请一块内存区域;对文件进行MMAP:在申请内存映射区域时,将大小设置为10M左右;申请完毕后,将能力库状态设置为就绪状态。3.根据权利要求1所述的高效iOS端数据持久化方法,其特征在于,对数据使用protocol buffer进行序列化反序列化处理具体如下:当有内容需要进行持久化时,检测能力库的转态为是否就绪:若已经就绪,则将数据用protocol buffer进行反序列化处理,具体如下:对于基本数据类型使用位运算做编码处理;对于String类型数据使用uff8进行编码处理。4.根据权利要求3所述的高效iOS端数据持久化方法,其特征在于,所述基本数据类型包括int、double及float。5.根据权利要求1所述的高效iOS端数据持久化方法,其特征在于,OS托管具体如下:调用写入接口后,写入映射内存中的数据会被OS写入到磁盘中,保证数据的完整性;OS托管此段内存,自动对数据进行持久化处理。6.根据权利要求1所述的高效iOS端数据持久化方法,其特征在于,对数据进行读取操作具体如下:读取...

【专利技术属性】
技术研发人员:单文政
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1