CN105760232B - 用于ios应用的离线缓存方法及系统 - Google Patents
用于ios应用的离线缓存方法及系统 Download PDFInfo
- Publication number
- CN105760232B CN105760232B CN201610094992.8A CN201610094992A CN105760232B CN 105760232 B CN105760232 B CN 105760232B CN 201610094992 A CN201610094992 A CN 201610094992A CN 105760232 B CN105760232 B CN 105760232B
- Authority
- CN
- China
- Prior art keywords
- data
- user
- ios
- information
- ios application
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种用于IOS应用的离线缓存方法及系统,主要是一种部署在iOS移动应用中的数据持久化的集成通用框架,针对不同量级、不同业务背景下的有离线缓存要求的数据采取不同的持久化策略。解决了开发人员在项目中每次需要重新开发离线缓存模块的难题,不仅节约了开发时间,而且减小了维护和再开发成本,同时由于缓存数据的应用,减少了用户在使用移动程序时的等候时间,方便其使用,同时极大地提升了用户体验。
Description
技术领域
本发明涉及IOS终端技术领域,具体涉及一种用于IOS应用的离线缓存方法及系统。
背景技术
近年来,智能手机得到大量普及,得益于通信技术迅速发展,移动终端从互联网获取内容变得方便迅捷。智能手机在有网络时会自动缓存用户浏览的内容,当用户处于无网络的环境中,也能够阅览缓存内容。应用软件在启动时会访问本地缓存文件,以便在第一时间为用户呈现内容,大幅地提升用户使用体验。现有IOS移动应用中,对于如用户信息或用户使用记录等数据,有很高的缓存需求。目前IOS当中离线缓存的实现方案有多种,常用的数据持久化技术包括文档格式如Plist,Archive,移动端数据库如SQLite等。
现有技术中,在设计IOS移动应用时,离线缓存的实现主要是由开发人员根据具体业务来自行定制,这种模式有很大任意性,而且在每次开发中都需要重新单独配置,进行了大量重复性的工作,这极大的浪费工作时间和人力资源。另外,由于缺乏统一且通用的数据持久化方法,加大了项目维护和持续开发的难度,对后续迭代更新造成困扰。
发明内容
本发明克服了现有技术中设计IOS移动应用时存在浪费工作时间和人力资源的不足,提供一种采用统一的离线缓存框架,节约了开发成本的用于IOS应用的离线缓存方法。
为实现上述目的,本发明采用以下技术方案:
一种用于IOS应用的离线缓存方法,它包括以下步骤:
步骤S1,IOS应用启动,根据数据类型的不同,从终端指定的存储位置读取相应的数据,该数据包括用户个人信息、用户配置信息、用户浏览信息或用户连接设备信息;
步骤S2,IOS应用建立与后台服务器建立连接,后台服务器搜索同一网络下可供连接的设备,根据步骤S1中获取的用户连接设备信息优先连接到用户最近连接过的设备;
步骤S3,IOS应用在当前界面展示步骤S1中获取的用户浏览信息,并根据步骤S1中获取的用户个人信息与后台服务器通信,后台服务器刷新可供用户使用的数据;
步骤S4,IOS应用响应用户需求,同时记录用户在使用IOS应用中做出的操作,该操作包括浏览、更改用户信息、连接设备或增加收藏,判断用户做出的更改的数据类型,缓存相应数据;
步骤S5,IOS应用即将关闭时,检查是否有数据未保存,如果有,则重新保存本次用户使用IOS应用产生的数据;
步骤S6,IOS应用确认步骤S5缓存的数据没有错误后,自行关闭。
更进一步的技术方案是,所述步骤S1包括:
步骤S11,IOS应用根据业务场景或数据使用频繁程度分类数据;
步骤S12,根据步骤S11中判断的数据类型,若判断结果为用户个人信息或用户配置信息,则从IOS应用沙盒指定的NSUserDefault中以键值对型式的数据读取;
步骤S13,根据步骤S11中判断的数据类型,若判断结果为用户浏览信息,则从轻量级移动式数据库读取;
步骤S14,根据步骤S11中判断的数据类型,若判断结果为用户连接设备信息,则从IOS应用沙盒的文件档案中以键值对型式的数据读取。
更进一步的技术方案是,所述步骤S3包括:
S31,IOS应用获取步骤S1中的用户浏览信息,从轻量级移动式数据库读取用户浏览信息,并展示在IOS应用界面上;
S32,IOS应用根据步骤S31中用户浏览信息中记录的关键字符向后台服务器提出请求,获取该数据对应的更新信息,该更新信息包括文本信息、图片信息或浏览历史记录,并缓存;
S33,IOS应用根据步骤S1中的用户个人信息,向后台服务器出请求,获得后台服务器提供的资源;
S34,IOS应用将步骤S33获得的数据储存,并展示在IOS应用界面上;
S35,IOS应用进入后台或空闲时,将步骤S34获得的数据写入轻量级移动式数据库进行更新。
更进一步的技术方案是,所述步骤S4包括:
S41,用户使用IOS应用时,将用户的操作数据以指定的数据格式暂存与移动终端内存中;
S42,根据步骤S41暂时缓存与移动终端内存的数据,根据数据类型,将数据写入;
S43,根据步骤S42中判断的数据类型,若为用户个人信息或用户配置信息,以键值对型式的数据写入IOS应用沙盒指定的NSUserDefault中;
S44,根据步骤S42中判断的数据类型,若为用户浏览信息,以字符串型式数据写入轻量级移动式数据库;
S45,根据步骤S42中判断的数据类型,若为用户连接设备信息,以键值对型式的数据写入IOS应用沙盒的文件档中。
本发明还提供一种用于IOS应用的离线缓存系统,它包括数据类型判别模块、离线缓存加载模块、设备连接模块、内容在线更新模块和缓存自动固化模块;所述数据类型判别模块,用于判别移动终端中将要读取或者写入的数据类型,确定该类数据以指定的读取存储方式;所述离线缓存加载模块,用于根据数据类型判别模块的判别结果,用于加载终端硬盘上的缓存数据响应用户的需求,该用户的需求包括用户浏览需求、查询历史记录需求、修改个人信息需求或连接设备需求;所述设备连接模块,用于与后台服务器建立连接,搜索移动终端所处网络环境中的可供连接设备,与用户指定的设备建立连接;所述内容在线更新模块,用于在有网络连接环境下,向后台服务器提出内容更新请求,获得后台服务器端提供的最新内容,展示在当前用户使用的界面;所述缓存自动固化模块,用于在IOS应用空闲或退出时,按照数据类型判别模块的数据类型的判别结果,自动保存缓存内容,并检查是否有写入错误。
与现有技术相比,本发明的有益效果是:
本发明是一种部署在IOS应用中的数据持久化的集成通用框架,针对不同量级、不同业务背景下的有离线缓存要求的数据采取不同的持久化策略。解决了开发人员在项目中每次需要重新开发离线缓存模块的难题,不仅节约了开发时间,而且减小了维护和再开发成本,同时由于缓存数据的应用,减少了用户在使用移动程序时的等候时间,方便其使用,同时极大地提升了用户体验。
附图说明
图1为本发明一种实施例的用于IOS应用的离线缓存方法的流程框图。
图2为本发明一种实施例的用于IOS应用的离线缓存方法中步骤S1的流程框图。
图3为本发明一种实施例的用于IOS应用的离线缓存方法中步骤S3的流程框图。
图4为本发明一种实施例的用于IOS应用的离线缓存系统框图。
具体实施方式
下面结合附图对本发明作进一步阐述。
如图1-3所示的用于IOS应用的离线缓存方法,它包括以下步骤:
步骤S1,IOS应用启动,根据数据类型的不同,从终端指定的存储位置读取相应的数据,该数据包括用户个人信息、用户配置信息、用户浏览信息或用户连接设备信息;
步骤S1包括:
步骤S11,IOS应用根据业务场景或数据使用频繁程度分类数据;
步骤S12,根据步骤S11中判断的数据类型,若判断结果为用户个人信息或用户配置信息,则从IOS应用沙盒指定的NSUserDefault中以键值对型式的数据读取;
步骤S13,根据步骤S11中判断的数据类型,若判断结果为用户浏览信息,则从轻量级移动式数据库读取;
步骤S14,根据步骤S11中判断的数据类型,若判断结果为用户连接设备信息,则从IOS应用沙盒的文件档案中以键值对型式的数据读取。
步骤S2,IOS应用建立与后台服务器建立连接,后台服务器搜索同一网络下可供连接的设备,根据步骤S1中获取的用户连接设备信息优先连接到用户最近连接过的设备;
步骤S3,IOS应用在当前界面展示步骤S1中获取的用户浏览信息,并根据步骤S1中获取的用户个人信息与后台服务器通信,后台服务器刷新可供用户使用的数据;
步骤S3包括:
S31,IOS应用获取步骤S1中的用户浏览信息,从轻量级移动式数据库读取用户浏览信息,并展示在IOS应用界面上;
S32,IOS应用根据步骤S31中用户浏览信息中记录的关键字符向后台服务器提出请求,获取该数据对应的更新信息,该更新信息包括文本信息、图片信息或浏览历史记录,并缓存;
S33,IOS应用根据步骤S1中的用户个人信息,向后台服务器出请求,获得后台服务器提供的资源;
S34,IOS应用将步骤S33获得的数据储存,并展示在IOS应用界面上;
S35,IOS应用进入后台或空闲时,将步骤S34获得的数据写入轻量级移动式数据库进行更新。
步骤S4,IOS应用响应用户需求,同时记录用户在使用IOS应用中做出的操作,该操作包括浏览、更改用户信息、连接设备或增加收藏,判断用户做出的更改的数据类型,缓存相应数据;
步骤S4包括:
S41,用户使用IOS应用时,将用户的操作数据以指定的数据格式暂存与移动终端内存中;
S42,根据步骤S41暂时缓存与移动终端内存的数据,根据数据类型,将数据写入;
S43,根据步骤S42中判断的数据类型,若为用户个人信息或用户配置信息,以键值对型式的数据写入IOS应用沙盒指定的NSUserDefault中;
S44,根据步骤S42中判断的数据类型,若为用户浏览信息,以字符串型式数据写入轻量级移动式数据库;
S45,根据步骤S42中判断的数据类型,若为用户连接设备信息,以键值对型式的数据写入IOS应用沙盒的文件档中。
步骤S5,IOS应用即将关闭时,检查是否有数据未保存,如果有,则重新保存本次用户使用IOS应用产生的数据;
步骤S6,IOS应用确认步骤S5缓存的数据没有错误后,自行关闭。
如图4所示的用于IOS应用的离线缓存系统,它包括数据类型判别模块501、离线缓存加载模块502、设备连接模块503、内容在线更新模块504和缓存自动固化模块505;数据类型判别模块501,用于判别移动终端中将要读取或者写入的数据类型,确定该类数据以指定的读取存储方式;离线缓存加载模块502,用于根据数据类型判别模块501的判别结果,用于加载终端硬盘上的缓存数据响应用户的需求,该用户的需求包括用户浏览需求、查询历史记录需求、修改个人信息需求或连接设备需求;设备连接模块503,用于与后台服务器建立连接,搜索移动终端所处网络环境中的可供连接设备,与用户指定的设备建立连接;内容在线更新模块504,用于在有网络连接环境下,向后台服务器提出内容更新请求,获得后台服务器端提供的最新内容,展示在当前用户使用的界面;缓存自动固化模块505,用于在IOS应用空闲或退出时,按照数据类型判别模块501的数据类型的判别结果,自动保存缓存内容,并检查是否有写入错误。
以上具体实施方式对本发明的实质进行详细说明,但并不能对本发明的保护范围进行限制,显而易见地,在本发明的启示下,本技术领域普通技术人员还可以进行许多改进和修饰,需要注意的是,这些改进和修饰都落在本发明的权利要求保护范围之内。
Claims (5)
1.一种用于IOS应用的离线缓存方法,其特征在于,它包括以下步骤:
步骤S1,IOS应用启动,根据数据类型的不同,从终端指定的存储位置读取相应的数据,该数据包括用户个人信息、用户配置信息、用户浏览信息或用户连接设备信息;
步骤S2,IOS应用与后台服务器建立连接,后台服务器搜索同一网络下可供连接的设备,根据步骤S1中获取的用户连接设备信息优先连接到用户最近连接过的设备;
步骤S3,IOS应用在当前界面展示步骤S1中获取的用户浏览信息,并根据步骤S1中获取的用户个人信息与后台服务器通信,后台服务器刷新可供用户使用的数据;
步骤S4,IOS应用响应用户需求,同时记录用户在使用IOS应用中做出的操作,该操作包括浏览、更改用户信息、连接设备或增加收藏,判断用户做出的更改的数据类型,缓存相应数据;
步骤S5,IOS应用即将关闭时,检查是否有数据未保存,如果有,则重新保存本次用户使用IOS应用产生的数据;
步骤S6,IOS应用确认步骤S5缓存的数据没有错误后,自行关闭。
2.根据权利要求1所述的用于IOS应用的离线缓存方法,其特征在于,所述步骤S1包括:
步骤S11,IOS应用根据业务场景或数据使用频繁程度分类数据;
步骤S12,根据步骤S11中对数据的分类结果,若数据类型为用户个人信息或用户配置信息,则从IOS应用沙盒指定的NSUserDefault中以键值对型式的数据读取;
步骤S13,根据步骤S11中对数据的分类结果,若数据类型为用户浏览信息,则从轻量级移动式数据库读取;
步骤S14,根据步骤S11中对数据的分类结果,若数据类型为用户连接设备信息,则从IOS应用沙盒的文件档案中以键值对型式的数据读取。
3.根据权利要求2所述的用于IOS应用的离线缓存方法,其特征在于,所述步骤S3包括:
S31,IOS应用获取步骤S1中的用户浏览信息,从轻量级移动式数据库读取用户浏览信息,并展示在IOS应用界面上;
S32,IOS应用根据步骤S31中用户浏览信息中记录的关键字符向后台服务器提出请求,获取用户浏览信息中记录的关键字符对应的更新信息,该更新信息包括文本信息、图片信息或浏览历史记录,并缓存;
S33,IOS应用根据步骤S1中的用户个人信息,向后台服务器提出请求,获得后台服务器提供的资源;
S34,IOS应用将步骤S33获得的数据储存,并展示在IOS应用界面上;
S35,IOS应用进入后台或空闲时,将步骤S34获得的数据写入轻量级移动式数据库进行更新。
4.根据权利要求1所述的用于IOS应用的离线缓存方法,其特征在于,所述步骤S4包括:
S41,用户使用IOS应用时,将用户的操作数据以指定的数据格式暂存于移动终端内存中;
S42,根据步骤S41暂时缓存于移动终端内存的数据,根据数据类型,将数据写入;
S43,根据步骤S42中的数据类型,若为用户个人信息或用户配置信息,以键值对型式的数据写入IOS应用沙盒指定的NSUserDefault中;
S44,根据步骤S42中的数据类型,若为用户浏览信息,以字符串型式数据写入轻量级移动式数据库;
S45,根据步骤S42中的数据类型,若为用户连接设备信息,以键值对型式的数据写入IOS应用沙盒的文件档中。
5.一种用于IOS应用的离线缓存系统,其特征在于,它包括数据类型判别模块(501)、离线缓存加载模块(502)、设备连接模块(503)、内容在线更新模块(504)和缓存自动固化模块(505);
所述数据类型判别模块(501),用于判别移动终端中将要读取或者写入的数据类型,确定各类数据以指定的读取存储方式;
所述离线缓存加载模块(502),用于根据数据类型判别模块(501)的判别结果,用于加载终端硬盘上的缓存数据响应用户的需求,该用户的需求包括用户浏览需求、查询历史记录需求、修改个人信息需求或连接设备需求;所述设备连接模块(503),用于与后台服务器建立连接,搜索移动终端所处网络环境中的可供连接设备,与用户指定的设备建立连接;
所述内容在线更新模块(504),用于在有网络连接环境下,向后台服务器提出内容更新请求,获得后台服务器端提供的最新内容,展示在当前用户使用的界面;
所述缓存自动固化模块(505),用于在IOS应用空闲或退出时,按照数据类型判别模块(501)的数据类型的判别结果,自动保存缓存内容,并检查是否有写入错误。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610094992.8A CN105760232B (zh) | 2016-02-19 | 2016-02-19 | 用于ios应用的离线缓存方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610094992.8A CN105760232B (zh) | 2016-02-19 | 2016-02-19 | 用于ios应用的离线缓存方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760232A CN105760232A (zh) | 2016-07-13 |
CN105760232B true CN105760232B (zh) | 2019-03-22 |
Family
ID=56330991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610094992.8A Active CN105760232B (zh) | 2016-02-19 | 2016-02-19 | 用于ios应用的离线缓存方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105760232B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453590B (zh) * | 2016-10-31 | 2020-08-04 | 车智互联(北京)科技有限公司 | iOS端_后端可配置常用信息的系统 |
CN107332843A (zh) * | 2017-07-01 | 2017-11-07 | 华泰证券股份有限公司 | iOS网络请求拦截转发缓存方法及系统 |
CN108846141B (zh) * | 2018-07-11 | 2022-05-24 | 中国建设银行股份有限公司 | 一种离线缓存加载方法及装置 |
CN109359118B (zh) * | 2018-08-31 | 2021-06-01 | 创新先进技术有限公司 | 一种数据写入方法及装置 |
CN109558375B (zh) * | 2018-12-05 | 2021-03-16 | 武汉斗鱼网络科技有限公司 | 一种优化的文件存储方法、存储介质、设备及系统 |
US10880583B2 (en) | 2019-04-26 | 2020-12-29 | Advanced New Technologies Co., Ltd. | Method, apparatus, terminal, and readable storage medium for offline caching |
CN110267077B (zh) * | 2019-04-26 | 2020-11-06 | 创新先进技术有限公司 | 离线缓存方法、装置、终端及可读存储介质 |
CN112800074B (zh) * | 2021-01-27 | 2023-09-15 | 北京字跳网络技术有限公司 | 离线数据管理方法、装置、终端设备、系统及可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252513A (zh) * | 2013-11-11 | 2014-12-31 | 新华瑞德(北京)网络科技有限公司 | 文件缓存装置、系统及方法 |
CN104657358A (zh) * | 2013-11-15 | 2015-05-27 | 腾讯科技(深圳)有限公司 | 实现网页程序离线缓存的方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769073B2 (en) * | 2011-06-29 | 2014-07-01 | International Business Machines Corporation | Intelligent offline caching of non-navigated content based on usage metrics |
US8886743B2 (en) * | 2011-08-30 | 2014-11-11 | Open Text S.A. | System and method of browsing offline and queried content |
-
2016
- 2016-02-19 CN CN201610094992.8A patent/CN105760232B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252513A (zh) * | 2013-11-11 | 2014-12-31 | 新华瑞德(北京)网络科技有限公司 | 文件缓存装置、系统及方法 |
CN104657358A (zh) * | 2013-11-15 | 2015-05-27 | 腾讯科技(深圳)有限公司 | 实现网页程序离线缓存的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105760232A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760232B (zh) | 用于ios应用的离线缓存方法及系统 | |
CN103246595B (zh) | 应用程序管理方法、装置、服务器及终端设备 | |
CN102667772B (zh) | 文件级分级存储管理系统、方法和设备 | |
KR100999267B1 (ko) | 관리 서버들에 의해 업데이트된 온-디바이스 애플리케이션 카탈로그 | |
CN1799051B (zh) | 使用页面存储文件浏览内容的方法 | |
US10489476B2 (en) | Methods and devices for preloading webpages | |
CA2623837A1 (en) | Efficient database synchronization by comparing representative information | |
CN106648725A (zh) | 终端、服务器及配置文件升级方法 | |
CN106302829A (zh) | 一种信息访问方法、装置及服务器 | |
CN101702173A (zh) | 一种提高移动门户网站动态页面访问速度的方法和装置 | |
CN108230113A (zh) | 用户画像生成方法、装置、设备及可读存储介质 | |
CN110069264A (zh) | 构建资源包的方法、装置、计算机设备和存储介质 | |
CN104050276A (zh) | 一种分布式数据库的缓存处理方法及系统 | |
CN110109958A (zh) | 缓存处理方法、装置、设备及计算机可读存储介质 | |
CN100363890C (zh) | 远程计算机文件同步更新系统及方法 | |
CN107580032B (zh) | 数据处理方法、装置及设备 | |
CN112052420A (zh) | 一种页面分享图片的生成以及页面分享方法和装置 | |
CN111666383A (zh) | 信息处理方法、装置、电子设备及计算机可读存储介质 | |
CN111782731A (zh) | 一种数据同步方法及装置 | |
CN112363871A (zh) | 一种数据回档方法、装置及存储介质 | |
CN103327163A (zh) | 查找联系人信息的方法及其通信终端 | |
CN102959546A (zh) | 用于转换内容的方法和设备 | |
CN105653724A (zh) | 一种页面曝光量的监控方法和装置 | |
CN106484691B (zh) | 移动终端的数据存储方法和装置 | |
CN101888396B (zh) | 调用设备能力的方法、微技设备和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |