CN106484691A - 移动终端的数据存储方法和装置 - Google Patents

移动终端的数据存储方法和装置 Download PDF

Info

Publication number
CN106484691A
CN106484691A CN201510524667.6A CN201510524667A CN106484691A CN 106484691 A CN106484691 A CN 106484691A CN 201510524667 A CN201510524667 A CN 201510524667A CN 106484691 A CN106484691 A CN 106484691A
Authority
CN
China
Prior art keywords
data
metadata
key assignments
caching
database
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.)
Granted
Application number
CN201510524667.6A
Other languages
English (en)
Other versions
CN106484691B (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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
Priority to CN201510524667.6A priority Critical patent/CN106484691B/zh
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to EP16838499.8A priority patent/EP3343395B1/en
Priority to PCT/CN2016/095520 priority patent/WO2017032240A1/zh
Priority to JP2018510513A priority patent/JP6788002B2/ja
Priority to PL16838499T priority patent/PL3343395T3/pl
Priority to ES16838499T priority patent/ES2812771T3/es
Publication of CN106484691A publication Critical patent/CN106484691A/zh
Priority to US15/903,995 priority patent/US10776323B2/en
Application granted granted Critical
Publication of CN106484691B publication Critical patent/CN106484691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/325Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/908Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)

Abstract

本申请提供一种移动终端的数据存储方法和装置。所述方法包括:对原始数据进行格式转换,以得到预设格式的第一数据;创建所述第一数据的第一元数据;根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据;如果数据库中没有存储所述第一数据,则将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中;在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。本申请可以将原始数据转换为预设格式的数据后存储到数据库中,能够消除数据的结构差异,提高数据的兼容性以及数据读写的效率。

Description

移动终端的数据存储方法和装置
技术领域
本申请涉及存储技术领域,尤其涉及一种移动终端的数据存储方法和装置。
背景技术
随着科技的发展,越来越多的移动终端走进了人们的生活,比如:智能手机、平板电脑等。用户可以在移动终端中装载各种各样的应用程序,随之而来,需要存储在移动终端本地的数据也就越来越多。这些数据的格式多样化、结构变更频繁,严重影响移动终端的读写性能,同时也降低了应用程序开发和运行维护的效率。
发明内容
有鉴于此,本申请提供一种数据存储方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种移动终端的数据存储方法,所述方法包括:
对将原始数据进行格式转换,以得到预设格式的第一数据;
创建所述第一数据的第一元数据;
根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据;
如果数据库中没有存储所述第一数据,则将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中;
在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。
可选的,所述根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据,包括:
根据所述第一数据的键值判断缓存中是否保存有所述键值对应的第二元数据;
如果缓存中没有保存所述键值对应的第二元数据,则确定数据库中没有存储所述第一数据。
可选的,还包括:
如果缓存中保存有所述键值对应的第二元数据,则判断所述第二元数据与所述第一元数据是否相同;
如果所述第二元数据与所述第一元数据不相同,则确定数据库中没有存储所述第一数据;
所述将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中,包括:
将缓存中保存所述第一数据的键值对应的第二元数据更新为所述第一元数据,并保存所述第一数据。
可选的,所述判断所述第二元数据与所述第一元数据是否相同,包括:
判断所述第二元数据的哈希值与所述第一元数据的哈希值是否相同,如果相同,则确认所述第二元数据与所述第一元数据相同;如果不相同,则确认所述第二元数据与所述第一元数据不相同。
可选的,所述预设的触发条件包括:到达预设的时间周期以及缓存的数据量达到预设的阈值。
可选的,还包括:
在读取数据时,根据键值在缓存中查找是否保存有对应的第一数据;
当缓存中没有保存所述键值对应的第一数据时,根据缓存中保存的所述键值对应的元数据从数据库中获取所述键值对应的第一数据;
将所述第一数据转换为原始数据后返回读取结果。
一种移动终端的数据存储装置,所述装置包括:
第一转换单元,对原始数据进行格式转换,以得到预设格式的第一数据;
元数据创建单元,创建所述第一数据的第一元数据;
存储判断单元,根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据;
数据缓存单元,在数据库中没有存储所述第一数据时,将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中;
数据存储单元,在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。
可选的,所述存储判断单元,具体根据所述第一数据的键值判断缓存中是否保存有所述键值对应的第二元数据,如果缓存中没有保存所述键值对应的第二元数据,则确定数据库中没有存储所述第一数据。
可选的,所述存储判断单元,具体在缓存中保存有所述键值对应的第二元数据时,判断所述第二元数据与所述第一元数据是否相同,如果所述第二元数据与所述第一元数据不相同,则确定数据库中没有存储所述第一数据;
所述数据缓存单元,具体将缓存中保存所述第一数据的键值对应的第二元数据更新为所述第一元数据,并保存所述第一数据。
可选的,所述存储判断单元,具体判断所述第二元数据的哈希值与所述第一元数据的哈希值是否相同,如果相同,则确认所述第二元数据与所述第一元数据相同;如果不相同,则确认所述第二元数据与所述第一元数据不相同。
可选的,所述预设的触发条件包括:到达预设的时间周期以及缓存的数据量达到预设的阈值。
可选的,所述装置还包括:
第一读取单元,在读取数据时,根据键值在缓存中查找是否保存有对应的第一数据;
第二读取单元,当缓存中没有保存所述键值对应的第一数据时,根据缓存中保存的所述键值对应的元数据从数据库中获取所述键值对应的第一数据;
第二转换单元,将所述第一数据转换为原始数据后返回读取结果。
由以上描述可以看出,本申请可以将原始数据转换为预设格式的数据后存储到基于Key-Value的非关系型数据库中,能够消除数据的结构差异,提高数据的兼容性以及数据读写的效率。
附图说明
图1是本申请一示例性实施例示出的一种移动终端的数据存储方法的流程示意图。
图2是本申请一示例性实施例示出的一种确定数据库中是否存储有第一数据的流程示意图。
图3是根据一示例性实施例示出的一种移动终端的一结构示意图。
图4是本申请一示例性实施例示出的一种移动终端的数据存储装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本申请一示例性实施例示出的一种移动终端的数据存储方法的流程示意图。
请参考图1,所述数据存储方法可以应用在移动终端上,所述终端可以包括智能手机、平板电脑、PDA(Personal Digital Assistant,掌上电脑)等智能设备。所述数据存储方法可以包括以下步骤:
步骤101,对原始数据进行格式转换,以得到预设格式的第一数据。
在本实施例中,所述原始数据为需要存储在移动终端本地数据库中的数据,所述原始数据包括各个应用程序需要的缓存在本地的新闻、列表、资讯等数据。所述原始数据的格式可能为文本格式、XML格式等。
在本步骤中,移动终端在接收到需要存储的原始数据后,对所述原始数据进行格式转换,将其转换为预设格式的数据,所述预设格式可以由管理人员进行设置,比如:二进制、十进制等。在本申请中,为便于描述,将对原始数据进行格式转换后得到的数据称为第一数据。
步骤102,创建所述第一数据的第一元数据。
基于前述步骤101,移动终端在将所述原始数据转换为第一数据后,创建所述第一数据的元数据,在本申请中,将创建的所述第一数据的元数据称为第一元数据。
步骤103,根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据,如果数据库中没有存储所述第一数据,则执行步骤104。
在本实施例中,为提高读写效率,可以采用基于Key-Value进行存储的非关系型数据库作为移动终端的底层存储介质,所述非关系型数据库中包括有每条原始数据格式转换后的第一数据、第一元数据以及键值(Key)。移动终端的缓存中保存有所述非关系型数据库中每条第一元数据及其键值的对应关系。在本实施例中,为便于区分,将缓存中保存的所述第一元数据称为第二元数据。具体地,移动终端可以在重新启动后,将所述非关系型数据库(以下简称:数据库)中每条第一元数据及其键值的对应关系保存到缓存,比如:内存。移动终端也可以在接收到需要存储在数据库中的原始数据后,如果确定数据库中没有存储有进行格式转换后的所述原始数据,即数据库中没有存储所述原始数据的第一数据时,将所述原始数据对应的第一元数据及其键值保存到缓存,其具体的实现流程可以详见后续的描述。
在本步骤中,移动终端可以根据所述第一数据的键值以及缓存中保存的所述键值与元数据的对应关系判断数据库中是否已经存储有所述第一数据。其中,所述第一数据的键值也就是所述原始数据的键值。
请参考图2,在本申请一可选的实施方式中,确定数据中是否存储有第一数据可以包括以下步骤:
步骤1031,根据第一数据的键值判断缓存中是否保存有所述键值对应的第二元数据。如果缓存中保存有所述键值对应的第二元数据,则执行步骤1032,如果缓存中没有保存所述键值对应的第二元数据,则执行步骤1033。
步骤1032,判断所述第二元数据与所述第一元数据是否相同。如果所述第二元数据与所述第一元数据不相同,则执行步骤1033,如果所述第二元数据与所述第一元数据相同,则执行步骤1034。
基于前述步骤1031的判断结果,如果缓存中保存有所述键值对应的第二元数据,则说明底层的数据库中保存有所述键值对应的第一数据,但是无法得知该第一数据是否为最新版本的第一数据,所以在本步骤中,可以判断所述第二元数据与创建的第一元数据是否相同。
在本实施例中,可以通过比对所述第二元数据与所述第一元数据的每个字节以判断所述第二元数据与所述第一元数据是否相同。可选的,还可以通过判断所述第二元数据的哈希值与所述第一元数据的哈希值是否相同以判断所述第二元数据与所述第一元数据是否相同。具体地,所述第二元数据中包括有数据库中存储的对应第一数据的哈希值,在本步骤中,可以根据前述步骤101中转换后的第一数据计算所述第一数据的哈希值,以将该哈希值作为所述第一元数据的哈希值,然后比较计算得到的该哈希值与所述第二元数据中包含的哈希值是否相同,如果不相同,则确定所述第二元数据与所述第一元数据不相同,执行步骤1033;如果相同,则确定所述第二元数据与所述第一元数据相同,执行步骤1034。
步骤1033,确定数据库中没有存储所述第一数据。
在本实施例中,基于前述步骤1031的判断结果,如果缓存中没有保存所述键值对应的第二元数据,则可以确定数据库中没有存储所述第一数据。
基于前述步骤1032的判断结果,如果所述第二元数据与所述第一元数据不相同,则说明数据库中存储有相同键值的第一数据,但是该第一数据与前述步骤101中转换得到的第一数据不相同,所以导致二者的元数据不相同,这可能是因为数据中存储的所述第一数据不是最新的数据,需要进行更新,所以此时也可以确定数据库中没有存储前述步骤101中转换得到的所述第一数据。
步骤1034,确定数据库中已经存储所述第一数据。
基于前述步骤1032的判断结果,如果所述第二元数据与所述第一元数据相同,则说明数据库中存储有相同键值的第一数据,并且该第一数据与前述步骤101中转换得到的第一数据相同,此时不需要进行更新。移动终端可以删除前述步骤101中接收到的所述原始数据、转换后的第一数据以及前述步骤102中创建的所述第一元数据。
在本实施例中,可以根据缓存中保存的键值与元数据的对应关系确认数据库中是否已存储有接收到的原始数据,大大减少访问数据库所带来的系统消耗。
步骤104,将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中。
基于前述步骤103的判断结果,如果数据库中没有存储所述第一数据,则需要将所述第一数据存储到数据库中。在本实施例中,可以先将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中。
针对前述步骤103中数据库中没有存储所述第一数据的两种情况,在本步骤中可以采用以下两种实现方式:
方式一,缓存中没有保存第一数据的键值对应的第二元数据。在这种情况下,说明数据库中没有存储有步骤101中接收到的原始数据的第一数据,则移动终端可以先将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中,并将其标注为未存储。其中,移动终端可以为所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值这一整条数据设置用于标注存储状态的标识位,比如:标识位为0表示未存储,标识位为1表示已存储。移动终端也可以设置一个键值列表,将未存储到数据中的第一数据的键值存储到该键值列表中,当然,本领域技术人员也可以采用其他方式标注缓存中保存的数据是否已存储到数据库中,本申请对此不作特殊限制。
方式二,缓存中保存有第一数据的键值对应的第二元数据,但是所述第二元数据与所述第一数据的第一元数据不相同。在这种情况下,说明数据库中存储有相同键值的第一数据,但是该第一数据不是最新的第一数据,需要进行更新。移动终端可以将缓存中保存第一数据的键值对应的第二元数据更新为所述第一元数据,并保存所述第一数据,以使得针对一个键值,缓存中保存有一个最新的元数据。此外,与方式一相同,在这种方式中,也会将更新后的这条数据标注为未存储。
步骤105,在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。
在本实施例中,移动终端可以在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中,也就是将缓存中标注为未存储的数据存储到数据库中。
在本实施例中,所述触发条件可以由管理人员进行设置,比如:所述触发条件可以是到达预设的时间周期,所述触发条件也可以是缓存的数据量达到预设的阈值,本申请对此不作特殊限制。
由以上描述可以看出,本申请可以将原始数据转换为预设格式的数据后存储到基于Key-Value的非关系型数据库中,能够消除数据的结构差异,提高数据的兼容性以及数据读写的效率。
在本申请另一实施例中,移动终端还可以将读频率较高的第一数据存储到缓存中,以提高读效率。因此,移动终端在接收到数据读取指令时,可以根据读取命令中携带的键值先在缓存中查找是否保存有对应的第一数据,当缓存中保存有对应的第一数据时,可以将缓存中的第一数据进行相反的格式转换,转换为原始数据后返回读取结果。当缓存中没有保存所述键值对应的第一数据时,可以先查找缓存中保存的所述键值对应的元数据(第二元数据),然后根据该元数据从数据库中获取所述键值对应的第一数据,然后将获取到的第一数据进行相反的格式转换,转换为原始数据后返回读取结果。
在本申请另一实施例中,移动终端在满足预设的条件时删除缓存中保存的第一数据,比如:可以定期删除缓存中保存的第一数据,也可以在第一数据的读频率小于阈值时删除缓存中保存的所述第一数据,本申请对此不作特殊限制。
此外,依据相关技术,本申请提供的数据存储方案还可以支持加密存储,比如:移动终端在将原始数据转换为预设格式的第一数据后,可以对所述第一数据进行加密处理后存储。相应的,移动终端在读取到第一数据后,对所述第一数据进行解密处理,然后再转换为原始数据返回读取结果。
与前述移动终端的数据存储方法的实施例相对应,本申请还提供了移动终端的数据存储装置的实施例。
本申请移动终端的数据存储装置的实施例可以应用在移动终端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在移动终端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请数据存储装置所在移动终端的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的移动终端通常根据该移动终端的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图4是本申请一示例性实施例示出的一种移动终端的数据存储装置的结构示意图。
请参考图4,所述移动终端的数据存储装置300可以包括:第一转换单元301、元数据创建单元302、存储判断单元303、数据缓存单元304、数据存储单元305、第一读取单元306、第二读取单元307以及第二转换单元308。
其中,所述第一转换单元301,对原始数据进行格式转换,以得到预设格式的第一数据;
所述元数据创建单元302,创建所述第一数据的第一元数据;
所述存储判断单元303,根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据;
所述数据缓存单元304,在数据库中没有存储所述第一数据时,将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中;
所述数据存储单元305,在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。
可选的,所述存储判断单元303,具体根据所述第一数据的键值判断缓存中是否保存有所述键值对应的第二元数据,如果缓存中没有保存所述键值对应的第二元数据,则确定数据库中没有存储所述第一数据。
可选的,所述存储判断单元303,具体在缓存中保存有所述键值对应的第二元数据时,判断所述第二元数据与所述第一元数据是否相同,如果所述第二元数据与所述第一元数据不相同,则确定数据库中没有存储所述第一数据;
所述数据缓存单元304,具体将缓存中保存所述第一数据的键值对应的第二元数据更新为所述第一元数据,并保存所述第一数据。
可选的,所述存储判断单元303,具体判断所述第二元数据的哈希值与所述第一元数据的哈希值是否相同,如果相同,则确认所述第二元数据与所述第一元数据相同;如果不相同,则确认所述第二元数据与所述第一元数据不相同。
可选的,所述预设的触发条件包括:到达预设的时间周期以及缓存的数据量达到预设的阈值。
所述第一读取单元306,在读取数据时,根据键值在缓存中查找是否保存有对应的第一数据;
所述第二读取单元307,当缓存中没有保存所述键值对应的第一数据时,根据缓存中保存的所述键值对应的元数据从数据库中获取所述键值对应的第一数据;
所述第二转换单元308,将所述第一数据转换为原始数据后返回读取结果。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (12)

1.一种移动终端的数据存储方法,其特征在于,所述方法包括:
对原始数据进行格式转换,以得到预设格式的第一数据;
创建所述第一数据的第一元数据;
根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据;
如果数据库中没有存储所述第一数据,则将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中;
在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。
2.根据权利要求1所述的方法,其特征在于,所述根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据,包括:
根据所述第一数据的键值判断缓存中是否保存有所述键值对应的第二元数据;
如果缓存中没有保存所述键值对应的第二元数据,则确定数据库中没有存储所述第一数据。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果缓存中保存有所述键值对应的第二元数据,则判断所述第二元数据与所述第一元数据是否相同;
如果所述第二元数据与所述第一元数据不相同,则确定数据库中没有存储所述第一数据;
所述将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中,包括:
将缓存中保存所述第一数据的键值对应的第二元数据更新为所述第一元数据,并保存所述第一数据。
4.根据权利要求3所述的方法,其特征在于,所述判断所述第二元数据与所述第一元数据是否相同,包括:
判断所述第二元数据的哈希值与所述第一元数据的哈希值是否相同,如果相同,则确认所述第二元数据与所述第一元数据相同;如果不相同,则确认所述第二元数据与所述第一元数据不相同。
5.根据权利要求1所述的方法,其特征在于,
所述预设的触发条件包括:到达预设的时间周期以及缓存的数据量达到预设的阈值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在读取数据时,根据键值在缓存中查找是否保存有对应的第一数据;
当缓存中没有保存所述键值对应的第一数据时,根据缓存中保存的所述键值对应的元数据从数据库中获取所述键值对应的第一数据;
将所述第一数据转换为原始数据后返回读取结果。
7.一种移动终端的数据存储装置,其特征在于,所述装置包括:
第一转换单元,对原始数据进行格式转换,以得到预设格式的第一数据;
元数据创建单元,创建所述第一数据的第一元数据;
存储判断单元,根据缓存中保存的键值与元数据的对应关系判断数据库中是否存储有所述第一数据;
数据缓存单元,在数据库中没有存储所述第一数据时,将所述第一数据、所述第一数据的第一元数据以及所述第一数据的键值保存到缓存中;
数据存储单元,在满足预设的触发条件时,将缓存中尚未存储到数据库中的第一数据、第一数据的第一元数据以及第一数据的键值保存到数据库中。
8.根据权利要求7所述的装置,其特征在于,
所述存储判断单元,具体根据所述第一数据的键值判断缓存中是否保存有所述键值对应的第二元数据,如果缓存中没有保存所述键值对应的第二元数据,则确定数据库中没有存储所述第一数据。
9.根据权利要求8所述的装置,其特征在于,
所述存储判断单元,具体在缓存中保存有所述键值对应的第二元数据时,判断所述第二元数据与所述第一元数据是否相同,如果所述第二元数据与所述第一元数据不相同,则确定数据库中没有存储所述第一数据;
所述数据缓存单元,具体将缓存中保存所述第一数据的键值对应的第二元数据更新为所述第一元数据,并保存所述第一数据。
10.根据权利要求9所述的装置,其特征在于,
所述存储判断单元,具体判断所述第二元数据的哈希值与所述第一元数据的哈希值是否相同,如果相同,则确认所述第二元数据与所述第一元数据相同;如果不相同,则确认所述第二元数据与所述第一元数据不相同。
11.根据权利要求7所述的装置,其特征在于,
所述预设的触发条件包括:到达预设的时间周期以及缓存的数据量达到预设的阈值。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第一读取单元,在读取数据时,根据键值在缓存中查找是否保存有对应的第一数据;
第二读取单元,当缓存中没有保存所述键值对应的第一数据时,根据缓存中保存的所述键值对应的元数据从数据库中获取所述键值对应的第一数据;
第二转换单元,将所述第一数据转换为原始数据后返回读取结果。
CN201510524667.6A 2015-08-24 2015-08-24 移动终端的数据存储方法和装置 Active CN106484691B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201510524667.6A CN106484691B (zh) 2015-08-24 2015-08-24 移动终端的数据存储方法和装置
PCT/CN2016/095520 WO2017032240A1 (zh) 2015-08-24 2016-08-16 移动终端的数据存储方法和装置
JP2018510513A JP6788002B2 (ja) 2015-08-24 2016-08-16 モバイル端末のためのデータ記憶方法及び装置
PL16838499T PL3343395T3 (pl) 2015-08-24 2016-08-16 Sposób i urządzenie do przechowywania danych w terminalu mobilnym
EP16838499.8A EP3343395B1 (en) 2015-08-24 2016-08-16 Data storage method and apparatus for mobile terminal
ES16838499T ES2812771T3 (es) 2015-08-24 2016-08-16 Método y aparato de almacenamiento de datos para terminal móvil
US15/903,995 US10776323B2 (en) 2015-08-24 2018-02-23 Data storage for mobile terminals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510524667.6A CN106484691B (zh) 2015-08-24 2015-08-24 移动终端的数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN106484691A true CN106484691A (zh) 2017-03-08
CN106484691B CN106484691B (zh) 2019-12-10

Family

ID=58099597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510524667.6A Active CN106484691B (zh) 2015-08-24 2015-08-24 移动终端的数据存储方法和装置

Country Status (7)

Country Link
US (1) US10776323B2 (zh)
EP (1) EP3343395B1 (zh)
JP (1) JP6788002B2 (zh)
CN (1) CN106484691B (zh)
ES (1) ES2812771T3 (zh)
PL (1) PL3343395T3 (zh)
WO (1) WO2017032240A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197324A (zh) * 2018-02-06 2018-06-22 百度在线网络技术(北京)有限公司 用于存储数据的方法和装置
CN110262329A (zh) * 2019-06-11 2019-09-20 华强方特文化科技集团股份有限公司 载人设备数据采集系统及数据格式化存储方法
CN110502534A (zh) * 2018-05-17 2019-11-26 艾玛迪斯简易股份公司 数据库高速缓存
CN115203159A (zh) * 2022-07-25 2022-10-18 北京字跳网络技术有限公司 一种数据存储方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298641A (zh) * 2011-09-14 2011-12-28 清华大学 一种基于键值库的文件与结构化数据统一存储方法
CN102999522A (zh) * 2011-09-15 2013-03-27 阿里巴巴集团控股有限公司 一种数据存储方法和装置
US20140040286A1 (en) * 2012-06-18 2014-02-06 Maldivica Inc. Method and system for the normalization, filtering and securing of associated metadata information on file objects deposited into an object store
CN103853714A (zh) * 2012-11-28 2014-06-11 中国移动通信集团河南有限公司 一种数据处理方法和装置
CN104462127A (zh) * 2013-09-22 2015-03-25 阿里巴巴集团控股有限公司 一种记录数据更新方法及装置
CN104778193A (zh) * 2014-12-23 2015-07-15 北京锐安科技有限公司 数据去重方法及装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US7818365B2 (en) * 2002-05-01 2010-10-19 Sybase, Inc. System, method, and computer program product for online and offline interactive applications on mobile devices
JP4506292B2 (ja) * 2004-06-10 2010-07-21 株式会社日立製作所 キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
US8032707B2 (en) * 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US8635402B2 (en) * 2009-03-31 2014-01-21 Nec Corporation Storage system and storage access method and program
JP4392676B1 (ja) * 2009-06-25 2010-01-06 修平 西山 キー・バリュー・ストアによるデータベース・キャッシュ装置
KR101482518B1 (ko) * 2010-08-25 2015-01-14 네벡스 버츄얼 테크놀로지스 인코포레이티드 캐시 계층화를 위한 방법 및 시스템
JP5524144B2 (ja) * 2011-08-08 2014-06-18 株式会社東芝 key−valueストア方式を有するメモリシステム
CN103034650B (zh) * 2011-09-29 2015-10-28 北京新媒传信科技有限公司 一种数据处理系统和方法
US9135350B2 (en) 2012-01-05 2015-09-15 Sri International Computer-generated sentiment-based knowledge base
US9967163B2 (en) * 2013-04-16 2018-05-08 Hitachi, Ltd. Message system for avoiding processing-performance decline
US9477731B2 (en) * 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9405783B2 (en) * 2013-10-02 2016-08-02 Netapp, Inc. Extent hashing technique for distributed storage architecture
US20150249852A1 (en) * 2014-02-28 2015-09-03 United Video Properties, Inc. Systems and methods for crowd-sourced media access control
US9306939B2 (en) * 2014-05-30 2016-04-05 Oracle International Corporation Authorization token cache system and method
TWI550418B (zh) * 2014-12-05 2016-09-21 Real - time processing method and device and application system of huge amount of streaming data
CN104504158A (zh) * 2015-01-19 2015-04-08 浪潮(北京)电子信息产业有限公司 一种快速更新业务的内存缓存的方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298641A (zh) * 2011-09-14 2011-12-28 清华大学 一种基于键值库的文件与结构化数据统一存储方法
CN102999522A (zh) * 2011-09-15 2013-03-27 阿里巴巴集团控股有限公司 一种数据存储方法和装置
US20140040286A1 (en) * 2012-06-18 2014-02-06 Maldivica Inc. Method and system for the normalization, filtering and securing of associated metadata information on file objects deposited into an object store
CN103853714A (zh) * 2012-11-28 2014-06-11 中国移动通信集团河南有限公司 一种数据处理方法和装置
CN104462127A (zh) * 2013-09-22 2015-03-25 阿里巴巴集团控股有限公司 一种记录数据更新方法及装置
CN104778193A (zh) * 2014-12-23 2015-07-15 北京锐安科技有限公司 数据去重方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197324A (zh) * 2018-02-06 2018-06-22 百度在线网络技术(北京)有限公司 用于存储数据的方法和装置
CN108197324B (zh) * 2018-02-06 2021-07-16 百度在线网络技术(北京)有限公司 用于存储数据的方法和装置
CN110502534A (zh) * 2018-05-17 2019-11-26 艾玛迪斯简易股份公司 数据库高速缓存
CN110502534B (zh) * 2018-05-17 2022-07-26 艾玛迪斯简易股份公司 数据库高速缓存
CN110262329A (zh) * 2019-06-11 2019-09-20 华强方特文化科技集团股份有限公司 载人设备数据采集系统及数据格式化存储方法
CN115203159A (zh) * 2022-07-25 2022-10-18 北京字跳网络技术有限公司 一种数据存储方法、装置、计算机设备和存储介质
CN115203159B (zh) * 2022-07-25 2024-06-04 北京字跳网络技术有限公司 一种数据存储方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
ES2812771T3 (es) 2021-03-18
PL3343395T3 (pl) 2020-11-16
JP2018526740A (ja) 2018-09-13
US10776323B2 (en) 2020-09-15
EP3343395A4 (en) 2018-07-04
CN106484691B (zh) 2019-12-10
EP3343395B1 (en) 2020-07-22
EP3343395A1 (en) 2018-07-04
US20180181563A1 (en) 2018-06-28
WO2017032240A1 (zh) 2017-03-02
JP6788002B2 (ja) 2020-11-18

Similar Documents

Publication Publication Date Title
CN103780622B (zh) 一种面向云存储的数据分类加密方法
CN112765271B (zh) 区块链交易索引的存储方法、装置、计算机设备及介质
JP6050503B2 (ja) 階層キャッシュを用いたメールのインデックス化および検索
US9672274B1 (en) Scalable message aggregation
CN100476821C (zh) 一种数据存储/检索方法及系统
CN103902623A (zh) 用于在存储系统上存取文件的方法和系统
EP2939200B1 (en) Method and apparatus for secure advertising
CN104794228A (zh) 一种搜索结果提供方法及装置
CN106484691A (zh) 移动终端的数据存储方法和装置
CN105117351A (zh) 向缓存写入数据的方法及装置
CN108875046A (zh) 一种存储系统访问方法、装置及电子设备
CN104750432B (zh) 一种数据存储方法及装置
CN105681380A (zh) 客户端离线化方法及其系统
CN105138649A (zh) 数据的搜索方法、装置及终端
US9710337B1 (en) Systems and methods for restoring web parts in content management systems
CN105930534B (zh) 一种基于云存储服务价格的数据碎片减少方法
CN109213972B (zh) 确定文档相似度的方法、装置、设备和计算机存储介质
CN110046352A (zh) 地址标准化方法及装置
CN111352769B (zh) 恢复数据库的方法、恢复服务器及计算机可读存储介质
CN102479213B (zh) 数据缓冲方法和装置
CN113360571A (zh) 基于特征标记的电网监控系统内存库关系库同步方法
US10061815B1 (en) Systems and methods for displaying search results
TWI709041B (zh) 移動終端的資料儲存方法和裝置
CN111061731B (zh) 一种加密数据全文检索方法
CN108153813B (zh) 一种数据匹配方法及系统

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right