CN109634936A - 一种在iOS系统上处理大批量数据的存储方法 - Google Patents

一种在iOS系统上处理大批量数据的存储方法 Download PDF

Info

Publication number
CN109634936A
CN109634936A CN201811524762.6A CN201811524762A CN109634936A CN 109634936 A CN109634936 A CN 109634936A CN 201811524762 A CN201811524762 A CN 201811524762A CN 109634936 A CN109634936 A CN 109634936A
Authority
CN
China
Prior art keywords
storage
data
coredata
volume data
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811524762.6A
Other languages
English (en)
Inventor
许阳阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Inspur Genersoft Information Technology Co Ltd
Original Assignee
Shandong Inspur Genersoft Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Inspur Genersoft Information Technology Co Ltd filed Critical Shandong Inspur Genersoft Information Technology Co Ltd
Priority to CN201811524762.6A priority Critical patent/CN109634936A/zh
Publication of CN109634936A publication Critical patent/CN109634936A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种在iOS系统上处理大批量数据的存储方法,属于iOS APP开发技术领域,本发明包括步骤A、获取数据后,保存到自定义的接收数组中;B、采用多线程并发处理,利用事务将数组存储到数据库。通过iOS系统软件开发过程中使用CoreData存储大批量数据时,弃用传统的遍历数据整合,采用一种新的利用事务和并发的存储数据方法,提高移动APP存储大批量数据的效率。

Description

一种在iOS系统上处理大批量数据的存储方法
技术领域
本发明涉及iOS APP开发技术,尤其涉及一种在iOS系统上处理大批量数据的存储方法。
背景技术
iOS的SDK里预置了CoreData的库,开发者可以自建CoreData数据库。CoreData每次写入数据都会产生IO消耗,把数据归档到相应的文件。CoreData擅长处理的数据类型其实与NSUserDefaults差不多,也是基础类型的小数据,只是从组织形式上不同。开发者可以以关系型数据库的方式组织数据,使用CoreData DML来管理数据。一般来说应用中的格式化的文本类数据可以存放在数据库中,尤其是类似聊天记录、Timeline等这些具有条件查询和排序需求的数据。
对于大批量数据的存储,由于不停地存取调用数据库,往往会发生卡顿、存储效率低下。
发明内容
为了解决以上技术问题,本发明提出了一种在iOS系统上处理大批量数据的存储方法,以提高移动APP存储大批量数据的效率。
本发明通过iOS系统软件开发过程中使用CoreData存储大批量数据时,弃用传统的遍历数据整合,采用一种新的利用事务和并发的存储数据方法,提高移动APP存储大批量数据的效率。
本发明的技术方案是:
一种在iOS系统上处理大批量数据的存储方法,
主要包括以下步骤:
A、获取数据后,保存到自定义的接收数组中;
B、采用多线程并发处理,利用事务将数组存储到数据库。
进一步的包括:
首先,获取数据后,保存到自定义的接收数组中。
这一步很简单,数据一般都要用数组来接收。
其次,利用多线程DatabaseQueue函数,建立存储序列。
`CoreData DatabaseQueue`will run the blocks on a serialized queue(hence the name of the class).So if you call`CoreData DatabaseQueue`'smethods from multiple threads at the same time,they will be executed in theorder they are received.This way queries and updates won't step on eachother's toes,and every one is happy.
CoreData DatabaseQueue是一个很好的函数,CoreData DatabaseQueue将在一个序列化队列上运行block,如果你在同一时间从多个线程调用CoreData DatabaseQueue的方法,它们将按照它们被接收的顺序执行,这样查询和更新不会冲突,顺序执行,大大挺高存储效率。
再次,执行并发处理,利用事务CoreData Queue inTransaction获取数组存储到数据库。
执行数据库存储的操作。
本发明的有益效果是
本发明通过iOS系统软件开发过程中使用CoreData存储大批量数据时,弃用传统的遍历数据整合,采用一种新的利用事务和并发的存储数据方法,提高移动APP存储大批量数据的效率。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
下面结合附图对本发明的内容进行更加详细的阐述:
本发明的一种在iOS系统上处理大批量数据的存储方法,主要包括如下步骤:
1,获取服务端数据,并保存在数组中
2,利用DatabaseQueue建立存储序列
3、执行存储操作
以上代码可大大提高移动APP存储大批量数据的效率。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种在iOS系统上处理大批量数据的存储方法,其特征在于,
主要包括以下步骤:
A、获取数据后,保存到自定义的接收数组中;
B、采用多线程并发处理,利用事务将数组存储到数据库。
2.根据权利要求1所述的方法,其特征在于,
其中,步骤A的操作代码如下:
NSArray*pArray_PhoneBook=[dic objectForKey:@"contacts"];
NSArray*pArray_Changed=[dic objectForKey:@"changed"];
NSArray*pArray_Deleted=[dic objectForKey:@"deleted"];
if([db tableExists:@"PhoneBook"])
{。
3.根据权利要求1所述的方法,其特征在于,
在步骤B中,先利用多线程DatabaseQueue函数,建立存储序列。
4.根据权利要求3所述的方法,其特征在于,
该步骤的操作代码如下
5.根据权利要求4所述的方法,其特征在于,
CoreData DatabaseQueue在一个序列化队列上运行block,如果在同一时间从多个线程调用CoreData DatabaseQueue的方法,它们将按照它们被接收的顺序执行。
6.根据权利要求5所述的方法,其特征在于,
在建立存储序列之后执行存储操作。
7.根据权利要求6所述的方法,其特征在于,
利用事务CoreData Queue inTransaction获取数组存储到数据库。
8.根据权利要求7所述的方法,其特征在于,
该部分的代码如下:
CN201811524762.6A 2018-12-13 2018-12-13 一种在iOS系统上处理大批量数据的存储方法 Pending CN109634936A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811524762.6A CN109634936A (zh) 2018-12-13 2018-12-13 一种在iOS系统上处理大批量数据的存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811524762.6A CN109634936A (zh) 2018-12-13 2018-12-13 一种在iOS系统上处理大批量数据的存储方法

Publications (1)

Publication Number Publication Date
CN109634936A true CN109634936A (zh) 2019-04-16

Family

ID=66073550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811524762.6A Pending CN109634936A (zh) 2018-12-13 2018-12-13 一种在iOS系统上处理大批量数据的存储方法

Country Status (1)

Country Link
CN (1) CN109634936A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427251A (zh) * 2019-07-25 2019-11-08 吉旗(成都)科技有限公司 一种针对iOS CoreData数据库存储的优化方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150007050A1 (en) * 2013-07-01 2015-01-01 Gabriel Jakobson Method and system for processing and displaying email thread information
CN104484456A (zh) * 2014-12-29 2015-04-01 哈尔滨工业大学 一种基于多线程并行的SQLite数据库快速加载方法
CN106254466A (zh) * 2016-08-05 2016-12-21 河海大学常州校区 基于局域网的hdfs分布式文件共享方法
CN106815527A (zh) * 2016-12-01 2017-06-09 全球能源互联网研究院 一种ios应用数据安全的检测方法和装置
CN107436881A (zh) * 2016-05-26 2017-12-05 上海童讯网络科技有限公司 一种基于MongoDB的多线程事务处理方法
CN107622062A (zh) * 2016-07-13 2018-01-23 天脉聚源(北京)科技有限公司 一种对大批量数据存储的方法和系统
CN107818146A (zh) * 2017-10-19 2018-03-20 上海斐讯数据通信技术有限公司 一种数据库架构方法和框架

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150007050A1 (en) * 2013-07-01 2015-01-01 Gabriel Jakobson Method and system for processing and displaying email thread information
CN104484456A (zh) * 2014-12-29 2015-04-01 哈尔滨工业大学 一种基于多线程并行的SQLite数据库快速加载方法
CN107436881A (zh) * 2016-05-26 2017-12-05 上海童讯网络科技有限公司 一种基于MongoDB的多线程事务处理方法
CN107622062A (zh) * 2016-07-13 2018-01-23 天脉聚源(北京)科技有限公司 一种对大批量数据存储的方法和系统
CN106254466A (zh) * 2016-08-05 2016-12-21 河海大学常州校区 基于局域网的hdfs分布式文件共享方法
CN106815527A (zh) * 2016-12-01 2017-06-09 全球能源互联网研究院 一种ios应用数据安全的检测方法和装置
CN107818146A (zh) * 2017-10-19 2018-03-20 上海斐讯数据通信技术有限公司 一种数据库架构方法和框架

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BEAR: ""iOS数据库事务存储批量数据"", 《HTTPS://BLOG.YAYUANZI.COM/8407.HTML》 *
PERTERBIN: ""iOS客户端SQLite多线程解决方案"", 《HTTPS://WWW.JIANSHU.COM/P/3D66AA58EBE6?UTM_CAMPAIGN=MALESKINE&UTM_CONTENT=NOTE&UTM_MEDIUM=SEO_NOTES&UTM_SOURCE=RECOMMENDATION》 *
王小航: ""iOS下FMDB的多线程操作(一)"", 《HTTPS://WWW.CNBLOGS.COM/WANGHANG/P/6298871.HTML》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427251A (zh) * 2019-07-25 2019-11-08 吉旗(成都)科技有限公司 一种针对iOS CoreData数据库存储的优化方法

Similar Documents

Publication Publication Date Title
CN107688500B (zh) 一种分布式任务处理方法、装置、系统及设备
CN108280150B (zh) 一种分布式异步业务分发方法及系统
CN101944114B (zh) 内存数据库和物理数据库间的数据同步方法
CN103701934B (zh) 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN102467532A (zh) 一种任务处理方法以及任务处理装置
CN109542964B (zh) 一种数据调用方法及数据调用系统
CN107203560B (zh) 数据库、多数据库操作事务一致性保证方法及系统
WO2019047441A1 (zh) 一种通信优化方法及系统
CN102567493A (zh) 数据报表系统及具有动态数据源的报表生成方法
CN110990482A (zh) 异步数据库之间的数据同步方法及装置
CN111026768A (zh) 一种可实现数据快速装载的数据同步方法和装置
CN105608126A (zh) 一种建立海量数据库二级索引的方法和装置
CN105955748A (zh) 应用程序的返回场景处理方法及装置
WO2019179012A1 (zh) 文本数据处理方法、装置、设备及计算机可读存储介质
CN105871960B (zh) 调用数据共享的方法、装置及设备
CN109634936A (zh) 一种在iOS系统上处理大批量数据的存储方法
CN104182295A (zh) 一种数据备份方法及装置
CN107451211B (zh) 一种基于RabbitMQ和MongoDB的下载系统
CN106528051B (zh) 基于MongoDB的大数据队列堆栈操作的方法
CN111046113B (zh) 用于不同类型数据仓库的数据检索装置及方法
CN101833585A (zh) 数据库服务器操作控制系统、方法及设备
CN108762979A (zh) 一种基于匹配树的终端信息备份方法及备份设备
CN102761617B (zh) 一种工作流队列服务器、工作流调度系统及其方法
CN105893039A (zh) 一种利用编写实体类特性从而实现简单数据库的通用方法
CN115526586A (zh) 一种基于智能运算的业务流程处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190416

RJ01 Rejection of invention patent application after publication