CN107580060B - 一种移动端分库缓存方法 - Google Patents
一种移动端分库缓存方法 Download PDFInfo
- Publication number
- CN107580060B CN107580060B CN201710828221.1A CN201710828221A CN107580060B CN 107580060 B CN107580060 B CN 107580060B CN 201710828221 A CN201710828221 A CN 201710828221A CN 107580060 B CN107580060 B CN 107580060B
- Authority
- CN
- China
- Prior art keywords
- level
- data
- public data
- user
- account
- 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
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000013500 data storage Methods 0.000 claims abstract description 6
- 238000007906 compression Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 16
- 238000007726 management method Methods 0.000 claims description 7
- 230000014759 maintenance of location Effects 0.000 claims description 5
- 231100000279 safety data Toxicity 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种移动端的分库缓存方法,该方法在手机应用的用户数据存储上,分为中央库和多个缓存库。缓存库和用户账号一一对应,所述中央库中存储了每个用户账号与缓存库的对应关系,当用户在登录账号下使用该应用时,所产生的各种用户数据都存储该登录账号所对应的缓存库中,从而实现用户数据的分库缓存,该方法方便了对单个用户的缓存进行处理,也大大提高了应用的运行效率。
Description
【技术领域】
本发明属于移动终端和信息处理领域,尤其涉及一种移动端分库缓存方法。
【背景技术】
近些年来,随着移动互联网的发展,智能手机已经成为人们生活中必不可少的设备,各种手机应用(APP)也就成为人们最常使用的应用程序。现有技术中,多数手机应用都需要人们使用自己的账号登录,登录后产生的各种用户数据都存储在该手机应用的用户数据库中。但是,手机应用可能会有不同的账号登录,一种情况是同一个用户拥有多个账号,在不同时候、不同情况下使用不同的账号登录同一个手机应用,另一种情况是手机可能由不同的用户使用,不同的用户使用不同的账号登录。在这种多账号的情况下,不同账号的用户数据都存储于同一个用户数据库中,可能会造成用户数据互串,另外也可能造成数据查询效率低下。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种移动端分库缓存方法。
本发明采用的技术方案如下:
一种移动端分库缓存方法,包括以下步骤:
当应用首次启动时,其创建一个中央库,所述中央库用于保存用户账号和其缓存库的对应关系;
当用户使用一个账号登录该应用时,该应用在所述中央库中查询该账号是否已有对应的缓存库,如果没有,则为该账号创建对应的缓存库,并在所述中央库中记录该账号和该缓存库的对应关系;
当用户在该账号下使用该应用时,所产生的各种用户数据都存储在该账号所对应的缓存库中。
进一步地,将该应用中可能出现的用户进行分类,分为安全数据和公开数据两类,所述安全数据是需要保密的用户数据,其余的用户数据都属于公开数据。
进一步地,所述安全数据包括用户个人信息、个人设置、隐私数据。
进一步地,将所述安全数据进行加密后存储。
进一步地,将公开数据划分为n+1个级别,即从第0级到第n级,将每一份公开数据都赋予一个级别,每个级别都具有一个相应的保存策略,在定义好级别数量和各级别的保存策略后,所述应用通过数据分级管理线程对公开数据进行分级管理,具体方法包括:
当生成一份新的公开数据时,其默认被分为第0级,每隔一个时间周期T,,如果该公开数据在该时间周期内没有被访问过,并且其当前级别小于n,则该公开数据的级别上升一级,其中T是一个预定义的时间阈值;
如果该公开数据在该时间周期内被访问过,则降低该公开数据的级别,设该公开数据当前的级别为m,其上一次降低级别的时间距离当前的时间为t,其上一次降低级别时被降低了K0个级别,如果该公开数据还没有被降低过级别,则设置t等于该公开数据生成时间距离当前的时间并且K0=0;由此计算该公开数据本次需要降低的级别K,即
如果(m-K)≥0,则设置该公开数据的级别为m-K,否则设置该公开数据的级别为0。
进一步地,应用可通过网络从远程服务器上获取级别数量和各级别的保存策略。
进一步地,其特征在于,n=9。
进一步地,第0级的数据不做任何处理,只保存原始数据。
进一步地,第n级的数据在过期后删除,过期时间由第n级的保存策略所定义。
进一步地,第1级到第n-1级的数据保存策略为:采用不同的压缩算法进行压缩,或采用同一压缩算法的不同压缩级别进行压缩。
本发明的有益效果包括:1)实现了以用户为单位进行数据缓存,将用户业务数据彻底分离,避免了用户数据互串,同时也方便针对单个用户的缓存数据进行处理;2)针对单个用户来处理缓存,大大提高了运行效率,提升了用户体验。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明的分库缓存图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
参见附图1,其示出了本发明手机应用分库缓存基本架构的一个具体实施例。本发明在手机应用的用户数据存储上,分为中央库和多个缓存库。缓存库和用户账号一一对应,图1中共示出了三个用户账号:账号A、账号B和账号C。账号A对应于缓存A库,该账号A的所有用户数据都存储于缓存A库中,账号B对应于缓存B库,该账号B的所有用户数据都存储于缓存B库中,账号C对应于缓存C库,该账号C的所有用户数据都存储于缓存C库中。所述中央库中存储了每个用户账号与缓存库的对应关系,因此应用主程序可以通过查询中央库获取对应账号的缓存库,从而实现不同用户数据的分库缓存。
基于上述架构,下面说明本发明分库缓存方法的基本步骤:
当应用(APP)首次启动时,其创建一个中央库,所述中央库用于保存用户账号和其缓存库的对应关系。
当用户使用一个账号登录该应用时,该应用在中央库中查询该登录账号是否已有对应的缓存库,如果没有,则为该账号创建对应的缓存库,并在所述中央库中记录该账号和该缓存库的对应关系。
当用户在登录账号下使用该应用时,所产生的各种用户数据都存储在该登录账号所对应的缓存库中,从而实现用户数据的分库缓存,这一设计方便了对单个用户的缓存进行处理,同时由于可以针对单个用户处理缓存,也大大提高了应用的运行效率。
上述步骤是本发明分库缓存的基本步骤,但是,可以想见的是,由于不同用户使用不同的缓存库,导致的结果是相同的数据将会重复存储在不同的缓存库中。例如,账号A和账号B都浏览了相同的网页,则该网页缓存将同时存储在缓存A库和缓存B库中。从而可能在该应用下出现庞大的数据存储量,耗费大量存储空间。
为了在保持本发明优点的情况下,控制数据存储量。本发明在设计应用时,将可能出现的用户数据进行分类,首先将用户数据分为安全数据和公开数据两类,所述安全数据是用户需要安全保密的数据,包括用户个人信息、个人设置、隐私数据等;除了安全数据外,其余的用户数据都属于公开数据。
本发明将安全数据进行加密后保存,对公开数据则进行不同的处理方式来降低数据存储量,一种典型的方式是数据压缩,但是压缩后的数据在访问时还需要解压缩,这会导致数据访问的效率降低。因此,本发明考虑每份公开数据的常用性,所述常用性指的是一份数据是否经常被访问。大略上来说,如果一份数据经常被访问(即常用性高),则这份数据就可以不被压缩,如果一份数据不经常被访问(即常用性低),则可以被压缩。实际上,即使是压缩,也有不同的压缩算法或压缩级别,不同的压缩算法或压缩级别的压缩结果的大小不同,解压缩的效率也不同,这都会对数据访问效率产生影响。上述的一份数据可以是缓存库中的一个缓存文件,例如一个图像文件,也可以是缓存库中的一个数据记录。
因此,为了适应不同的情况,本发明将公开数据按照其常用性从高到低分级,从第0级到第n级,共n+1个级别。第0级的常用性最高,然后依次降低到第n级,n是一个预定义的数量,优选情况下,n=9,即共10个级别。
将每一份公开数据都赋予一个级别,每一个级别都有一个相应的保存策略。第0级的数据常用性最高,也就是最经常需要访问的数据,因此第0级的数据不做任何处理,只保存原始数据。第n级的数据常用性最低,可以视为一种临时数据,在过期后即可删除(具体的过期时间由其保存策略定义)。第1级到第n-1级也可以定义不同的保存策略,例如使用不同的压缩算法,或者同一压缩算法的不同压缩级别,本发明不对具体的保存策略进行限制,本领域技术人员可以根据具体需求使用其需要的保存策略。
另外需要指出,虽然上述级别数量和保存策略可以在设计应用时事先设定,但是应用也可以通过网络,从远程服务器上下载新的级别数量和各级别的保存策略,从而实现自我更新和升级。
在定义好级别数量和各级别的保存策略后,就需要对生成的每一份公开数据进行分级。应用在启动后,就启动一个数据分级管理线程,对公开数据进行分级管理,其具体的分级管理方法如下:
当生成一份新的公开数据时,其默认被分为第0级,每隔一个时间周期T(T是一个预定义的时间阈值),如果该公开数据在该时间周期内没有被访问过,并且其当前级别小于n,则该公开数据的级别上升一级。
如果该公开数据在该时间周期内被访问过,则需要降低该公开数据的级别,具体的,设该公开数据当前的级别为m,其上一次降低级别的时间距离当前的时间为t,其上一次降低级别时被降低了K0个级别,如果该公开数据还没有被降低过级别,则设置t等于该公开数据生成时间距离当前的时间并且K0=0;由此计算该公开数据本次需要降低的级别K,即
如果(m-K)≥0,则设置该公开数据的级别为m-K,否则设置该公开数据的级别为0。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。
Claims (5)
1.一种移动端分库缓存方法,其特征在于,包括以下步骤:
当应用首次启动时,其创建一个中央库,所述中央库用于保存用户账号和其缓存库的对应关系;
当用户使用一个账号登录该应用时,该应用在所述中央库中查询该账号是否已有对应的缓存库,如果没有,则为该账号创建对应的缓存库,并在所述中央库中记录该账号和该缓存库的对应关系;
当用户在该账号下使用该应用时,所产生的各种用户数据都存储在该账号所对应的缓存库中;
将该应用中可能出现的用户数据进行分类,分为安全数据和公开数据两类,所述安全数据是需要保密的用户数据,其余的用户数据都属于公开数据;
将公开数据按照其常用性从高到低划分为n+1个级别,即从第0级到第n级,第0级的常用性最高,然后依次降低到第n级,将每一份公开数据都赋予一个级别,每个级别都具有一个相应的保存策略,第0级的数据不做任何处理,只保存原始数据,第1级到第n-1级的数据保存策略为:采用不同的压缩算法进行压缩,或采用同一压缩算法的不同压缩级别进行压缩;
应用通过网络从远程服务器上获取级别数量和各级别的保存策略,实现所述级别数量和保存策略的更新;
在定义好级别数量和各级别的保存策略后,所述应用通过数据分级管理线程对公开数据进行分级管理,具体方法包括:
当生成一份新的公开数据时,其默认被分为第0级,每隔一个时间周期T,如果该公开数据在该时间周期内没有被访问过,并且其当前级别小于n,则该公开数据的级别上升一级,其中T是一个预定义的时间阈值;
如果该公开数据在该时间周期内被访问过,则降低该公开数据的级别,设该公开数据当前的级别为m,其上一次降低级别的时间距离当前的时间为t,其上一次降低级别时被降低了K0个级别,如果该公开数据还没有被降低过级别,则设置t等于该公开数据生成时间距离当前的时间并且K0=0;由此计算该公开数据本次需要降低的级别K,即
如果(m-K)≥0,则设置该公开数据的级别为m-K,否则设置该公开数据的级别为0。
2.根据权利要求1所述的方法,其特征在于,所述安全数据包括用户个人信息、个人设置、隐私数据。
3.根据权利要求1-2任意一项所述的方法,其特征在于,将所述安全数据进行加密后存储。
4.根据权利要求1所述的方法,其特征在于,n=9。
5.根据权利要求1所述的方法,其特征在于,第n级的数据在过期后删除,过期时间由第n级的保存策略所定义。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710828221.1A CN107580060B (zh) | 2017-09-14 | 2017-09-14 | 一种移动端分库缓存方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710828221.1A CN107580060B (zh) | 2017-09-14 | 2017-09-14 | 一种移动端分库缓存方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN107580060A CN107580060A (zh) | 2018-01-12 |
| CN107580060B true CN107580060B (zh) | 2020-10-30 |
Family
ID=61033406
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710828221.1A Active CN107580060B (zh) | 2017-09-14 | 2017-09-14 | 一种移动端分库缓存方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN107580060B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11379471B1 (en) * | 2019-09-26 | 2022-07-05 | Apple Inc. | Hierarchical datastore for an agent |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996037846A1 (en) * | 1995-05-22 | 1996-11-28 | Syncronys Softcorp | Virtual memory management system with adaptive knowledge base |
| JPH09305451A (ja) * | 1996-05-17 | 1997-11-28 | Nec Corp | 集配信処理におけるデータ管理方法およびシステム |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102843363A (zh) * | 2012-08-09 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 网络数据安全存储系统及方法 |
| CN104598495A (zh) * | 2013-10-31 | 2015-05-06 | 南京中兴新软件有限责任公司 | 基于分布式文件系统的分级存储方法及系统 |
| CN103914516B (zh) * | 2014-02-25 | 2017-09-08 | 深圳市中博科创信息技术有限公司 | 一种存储系统分层管理的方法与系统 |
| CN105138564A (zh) * | 2015-07-23 | 2015-12-09 | 小米科技有限责任公司 | 数据文件的读取方法及装置 |
| CN105183389A (zh) * | 2015-09-15 | 2015-12-23 | 北京金山安全软件有限公司 | 一种数据分级管理方法、装置及电子设备 |
| CN105553968A (zh) * | 2015-12-11 | 2016-05-04 | 北京奇虎科技有限公司 | 一种实现多账号登录的方法和装置 |
| CN106980519A (zh) * | 2017-03-29 | 2017-07-25 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
-
2017
- 2017-09-14 CN CN201710828221.1A patent/CN107580060B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996037846A1 (en) * | 1995-05-22 | 1996-11-28 | Syncronys Softcorp | Virtual memory management system with adaptive knowledge base |
| JPH09305451A (ja) * | 1996-05-17 | 1997-11-28 | Nec Corp | 集配信処理におけるデータ管理方法およびシステム |
Non-Patent Citations (1)
| Title |
|---|
| 基于HBase数据分类的压缩策略选择方法;王海艳等;《道客巴巴》;20160523;全文 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11379471B1 (en) * | 2019-09-26 | 2022-07-05 | Apple Inc. | Hierarchical datastore for an agent |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107580060A (zh) | 2018-01-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11238175B2 (en) | File system permission setting method and apparatus | |
| US7882181B2 (en) | Minimizing data transfer from POP3 servers | |
| US10061852B1 (en) | Transparent proxy tunnel caching for database access | |
| US20140052762A1 (en) | System, methods, and media for compressing non-relational database objects | |
| US20160004455A1 (en) | Method of controlling splitting of data, and system | |
| CN111414379A (zh) | 序列号生成方法、装置、设备及计算机可读存储介质 | |
| CN106021126B (zh) | 缓存数据处理方法及服务器、配置设备 | |
| CN108710547B (zh) | 一种数据备份方法、装置、终端及存储介质 | |
| CN105631035A (zh) | 数据存储方法和装置 | |
| CN104346345A (zh) | 数据的存储方法及装置 | |
| CN110798222B (zh) | 一种数据压缩方法及装置 | |
| KR20200037850A (ko) | 분산 데이터 저장 시스템 | |
| EP4390720A1 (en) | Blockchain-based data processing method and apparatus, device, and medium | |
| CN115065467A (zh) | 一种智能设备的国密sm9标识公钥生成方法和系统 | |
| CN107580060B (zh) | 一种移动端分库缓存方法 | |
| US20230170919A1 (en) | System for electronic data compression by automated time-dependent compression algorithm | |
| US20150121111A1 (en) | System and method for providing multi-user power saving codebook optmization | |
| CN109831476A (zh) | 安装包下载方法、装置、电子设备及存储介质 | |
| JP6309621B2 (ja) | メモリシステムにおける電力消費を節約するためのシステムおよび方法 | |
| JP2018526740A (ja) | モバイル端末のためのデータ記憶方法及び装置 | |
| US20230353572A1 (en) | Managing access requests for policy-based access control systems in computer networks | |
| CN115118421A (zh) | 一种密钥轮换方法、装置、计算机设备 | |
| CN113742304B (zh) | 一种混合云的数据存储方法 | |
| CN104408056B (zh) | 一种数据处理方法和装置 | |
| CN112685451B (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |