CN104317926A - 一种持久化的数据存储和查询方法及对应的装置和*** - Google Patents

一种持久化的数据存储和查询方法及对应的装置和*** Download PDF

Info

Publication number
CN104317926A
CN104317926A CN201410601861.5A CN201410601861A CN104317926A CN 104317926 A CN104317926 A CN 104317926A CN 201410601861 A CN201410601861 A CN 201410601861A CN 104317926 A CN104317926 A CN 104317926A
Authority
CN
China
Prior art keywords
data
write
file system
distributed file
key
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
CN201410601861.5A
Other languages
English (en)
Other versions
CN104317926B (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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201410601861.5A priority Critical patent/CN104317926B/zh
Publication of CN104317926A publication Critical patent/CN104317926A/zh
Application granted granted Critical
Publication of CN104317926B publication Critical patent/CN104317926B/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/18File system types
    • G06F16/182Distributed file systems

Landscapes

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

Abstract

本发明公开了一种持久化的数据存储和查询方法及对应的装置和***,其中,持久化的数据存储方法包括:接收应用程序发送的数据存储操作请求,将与所述数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识所述数据的至少一个key文件;缓存客户端从所述key文件中获取能标识数据的至少一个key值;根据所述获取的至少一个key值,在缓存中查找与所述key值匹配的数据;将在缓存中查找到的与所述key值匹配的数据写入分布式文件***中,并删除与所述写入分布式文件***的数据对应的key文件中的key值。

Description

一种持久化的数据存储和查询方法及对应的装置和***
技术领域
本发明涉及数据库存储查询技术领域,具体涉及一种持久化的数据存储和查询方法及对应的装置和***。
背景技术
现有分布式缓存***虽然支持分布式部署,可以参见图1,但是内部单个缓存服务器节点上存储的数据没有冗余,如果该缓存服务器节点发生故障则会导致应用程序无法查询数据,进而导致业务中断或者错误。
目前,解决这个问题的持久化方案主要有快照和AOF(append only file,只增文件)方式,而使用快照的方式每次都将缓存服务器的内存数据完整写入磁盘一次,并不是增量的更新数据,若内存中的数据量很大,而且数据写操作非常多,必然会引起大量的磁盘I/O操作而严重影响性能;另外,快照的方式是按照一定的时间间隔将内存中的数据写入磁盘中,因此如果缓存服务器出现意外异常,就会丢失最后一次快照后的所有修改后的数据。
AOF方式是每条命令都要追加log文件,可能会导致数据体积过大,当缓存***重启恢复数据时加载数据会非常慢,比如,几十G的数据可能需要几小时才能加载完,这个耗时不是因此磁盘文件读取速度慢,而是因为读取的所有命令都要在缓存服务器内存中重新执行一遍;另外,由于每条命令都要写log文件,缓存的读写性能也会有所下降。
使用快照或AOF的持久化方式,存在着共同的缺点:
其一,缓存持久化使用Buffer IO造成***不稳定或者崩溃,所谓BufferIO是指缓存对持久化文件的写入和读取操作都会使用物理内存的PageCache,而大多数数据库***会使用Direct IO来绕过这层Page Cache并自行维护一个数据的Cache,而当缓存的持久化文件过大(尤其是快照文件),并对其进行读写时,磁盘文件中的数据都会被加载到物理内存中作为操作***对该文件的一层Cache,而这层Cache的数据与缓存内存中管理的数据实际是重复存储的,虽然内核在物理内存紧张时会做Page Cache的剔除工作,但内核很可能认为某块Page Cache更重要,而让缓存进程开始Swap,这是***就会开始出现不稳定或者崩溃;
其二,持久化的数据需要缓存服务器节点重启才能加载恢复,因此,在缓存服务器节点发生故障时无法提供服务,导致业务中断或者错误;
其三,服务端磁盘易遇到瓶颈:数据是统一存储在服务端磁盘上的,多个不同客户端同时发起数据访问请求时,服务端磁盘容易达到瓶颈,影响性能;
其四,缓存服务器不能动态扩展:数据只能存储在缓存服务端某目录下,当存储空间不够扩展时需停止服务,扩展存储空间后,再次启动存储空间,扩展的过程需要停止上层应用***。
发明内容
本发明所要解决的技术问题是提供一种持久化的数据存储和查询方法及对应的装置和***,能够实现高效的数据读写,并且完成数据备份。
依据本发明提供的一个方面,提供了一种持久化的数据存储方法,包括:
接收应用程序发送的数据存储操作请求,将与所述数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识所述数据的至少一个key文件;
缓存客户端从所述key文件中获取能标识数据的至少一个key值;
根据所述获取的至少一个key值,在缓存中查找与所述key值匹配的数据;
将在缓存中查找到的与所述key值匹配的数据写入分布式文件***中,并删除与所述写入分布式文件***的数据对应的key文件中的key值。
依据本发明的另一个方面,提供了一种持久化的数据存储装置,包括:
第一数据写入模块,用于接收应用程序发送的数据存储操作请求,将与所述数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识所述数据的至少一个key文件;
数据标识获取模块,用于调用缓存客户端从所述key文件中获取能标识数据的至少一个key值;
数据查找模块,用于根据所述获取的至少一个key值,在缓存中查找与所述key值匹配的数据;
第二数据写入模块,用于将在缓存中查找到的与所述key值匹配的数据写入分布式文件***中,并删除与所述写入分布式文件***的数据对应的key文件中的key值。
依据本发明的再一个方面,提供了一种持久化的数据查询方法,包括:
预先通过持久化的数据存储方法完成数据存储;
接收应用程序发送的数据查询操作请求,在缓存中查找与所述数据查询操作请求匹配的数据;
若查询成功,则将查询到的匹配的数据返回给所述应用程序;若查询失败,则在分布式文件***中查询匹配的数据;
在分布式文件***中查询到匹配的数据的情况下,将查询到的匹配的的数据返回给应用程序并写入缓存。
依据本发明的又一个方面,提供了一种持久化的数据查询***,包括:
预先通过持久化的数据存储装置,完成数据的存储,且所述持久化的数据查询***还包括:第一数据查询模块,用于接收应用程序发送的数据查询操作,从缓存中查找与所述数据查询操作请求匹配的数据;
第二数据查询模块,用于当在缓存中未查询到与所述数据查询操作请求匹配的数据时,在分布式文件***中查询匹配的数据;
第三数据写入模块,用于当在分布式文件***中查询到匹配的数据时,将查询到的匹配的数据返回给应用程序并写入缓存。
本发明提供的一种持久化的数据存储方法及装置,根据应用程序的数据存储操作请求,首先将数据写入缓存,同时在分布式文件***中创建能标识这些数据的key文件,缓存客户端会不间断的从分布式文件***中获取key文件并获取其中的key值,根据获得的key值,在缓存中查询与该key值匹配的数据,最后将查找成功的数据写入分布式文件***中,并删除与写入的数据对应的key文件中的key值。通过本发明提供的方法,能够完成数据的备份,保障数据的安全性和可靠性,采用分布式文件***存储数据的特点,数据是存储在分布式文件***的不同的存储节点上,存储空间可以动态伸缩;另外,缓存与分布式文件***中的数据实时保持一致,不会因为数据备份时间的差异而导致数据的不一致性或数据的丢失。
本发明提供的一种持久化的数据查询方法及***,首先接收到应用程序的数据查询操作请求,默认从缓存中查找匹配的数据,若查询成功,则向应用程序返回匹配的数据,若查询失败,则从分布式文件***中查找匹配的数据,在查找成功的情况下,将查找成功的数据返回应用程序并写入缓存。通过本发明提供的方法,将缓存中的数据备份到分布式文件***中,如果缓存服务器端发生故障,则分布式文件***会马上提供服务,不会导致应用程序不能查询访问的问题,也不会导致业务的终端。
附图说明
图1为现有技术的分布式部署的网络架构图;
图2为本发明实施例一的一种持久化的数据存储方法流程图;
图3为本发明实施例一中使用到的各个模块间的整体架构图;
图4为本发明实施例一中的数据***操作处理的具体流程图;
图5为本发明实施例二的一种持久化的数据存储装置示意图;
图6为本发明实施例三的一种持久化的数据查询方法流程图;
图7为本发明实施例三中的数据查询操作处理的具体流程图;
图8为本发明实施例四的一种持久化的数据查询***示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例一、一种持久化的数据存储方法。下面结合图2-图4对本发明提供的方法进行详细说明。
图2中,S201、接收应用程序发送的数据存储操作请求,将与数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识该数据的至少一个key文件。
具体的,图3为本实施例中应用程序、数据库、缓存、分布式文件***、key文件之间的数据传输连接图。
当数据库客户端接收到应用程序客户端发送的数据存储操作请求(也可以称为数据***操作请求),可以参见图4,将数据库客户端中与应用程序发送的数据操作请求中匹配的数据写入缓存。当数据库客户端中的数据成功写入缓存时,数据库客户端向应用程序发送数据写入缓存成功的信息,并在分布式文件***中创建能标识这些写入缓存的数据的key文件,该文件能唯一标识数据中的数据记录。其中,数据中每一条数据记录对应一个key文件,以该数据记录的key值(即关键值)作为文件名,文件内容为空;当数据库客户端中的所有数据或部分数据写入缓存失败时,直接将写入缓存失败的数据写入分布式文件***中,并在分布式文件***中创建与没有写入分布式文件***中的数据对应的key文件。
需要说明的是,本实施例中的数据库时非关系型数据库,即NoSQL数据库。
S202、缓存客户端从key文件中获取能标识数据的至少一个key值。
具体的,在分布式文件***中创建了key文件后,缓存客户端会实时获取未写入分布式文件***中的数据对应的key文件,并从获取的key文件中获取能唯一标识数据的key值。其中,key是用来表示数据中的数据记录的,未写入分布式文件***中的数据记录可能有多条,因此此处缓存客户端获得的对应的key值可能有多个。
S203、根据获取的至少一个key值,在缓存中查找与该key值匹配的数据。
具体的,由于从分布式文件***中获取的key值为未写入分布式文件***中的数据对应的key值,因此这些key值对应的数据通常应该在缓存中存在。因此,可以根据获取的这些key值,在缓存中查找与这些key值匹配的数据。
S204、将在缓存中查找到的与所述key值匹配的数据写入分布式文件***中,并删除与该写入分布式文件***的数据对应的key文件中的key值。
具体的,上述步骤根据获取的key值在缓存中查找与这些key值对应的数据,在缓存中查找数据成功的情况下,将这些查找成功的数据写入分布式文件***中,并删除与写入分布式文件***的这些数据对应的key文件中的key值,以便缓存客户端后续的查询,只要缓存客户端查询到key文件中的key值,表明这些key值对应的数据未写入分布式文件***中。在缓存中查找数据失败的情况下,缓存客户端会将查找数据失败的信息发送给应用程序,请求应用程序重新发送数据存储操作请求给数据库客户端,将查找失败的数据写入缓存。
实施例二、一种持久化的数据存储装置。下面结合图5对本发明提供的装置进行详细说明。
图5中,本发明提供的装置包括第一数据写入模块501、数据标识获取模块502、数据查找模块503、第二数据写入模块504和第一请求模块505。
其中,第一数据写入模块501主要用于接收应用程序发送的数据存储操作请求,将与数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识该数据的至少一个key文件。
具体的,当数据库客户端接收到应用程序客户端发送的数据存储操作请求(也可以称为数据出入操作请求),第一数据写入模块501将数据库客户端中与应用程序发送的数据操作请求中匹配的数据写入缓存。当数据库客户端中的数据成功写入缓存时,数据库客户端向应用程序发送数据写入缓存成功的信息,并在分布式文件***中创建能标识这些写入缓存的数据的key文件,该文件能唯一标识数据中的数据记录。其中,数据中每一条数据记录对应一个key文件,以该数据记录的key值(即关键值)作为文件名,文件内容为空;当数据库客户端中的所有数据或部分数据写入缓存失败时,第一数据写入模块501直接将写入缓存失败的数据写入分布式文件***中,并在分布式文件***中创建与没有写入分布式文件***中的数据对应的key文件。
需要说明的是,本实施例中的数据库时非关系型数据库,即NoSQL数据库。
数据标识获取模块502主要用于调用缓存客户端从key文件中获取能标识数据的至少一个key值。
具体的,在分布式文件***中创建了key文件后,设置于缓存客户端中的数据标识获取模块502会实时获取未写入分布式文件***中的数据对应的key文件,并从获取的key文件中获取能唯一标识数据的key值。其中,key值是用来表示数据中的数据记录的,未写入分布式文件***中的数据记录可能有多条,因此此处缓存客户端获得的对应的key值可能有多个。
数据查找模块503主要用于根据数据标识获取模块502获取的至少一个key值,在缓存中查找与该key值匹配的数据。
具体的,由于从分布式文件***中获取的key值为未写入分布式文件***中的数据对应的key值,这些key值对应的数据通常应该在缓存中存在。因此,数据查找模块503可以根据获取的这些key值,在缓存中查找与这些key值匹配的数据。
第二数据写入模块504主要用于将数据查找模块503在缓存中查找到的与key值匹配的数据写入分布式文件***中,并删除与该写入分布式文件***的数据对应的key文件中的key值。
第一请求模块505主要用于当数据查找模块503在缓存中未查找到与key值匹配的数据时,将查找失败信息发送给应用程序,请求应用程序重新向数据库客户端发送数据存储操作请求,将查找失败的数据写入缓存。
具体的,数据查找模块503根据数据标识获取模块502获取的key值在缓存中查找与这些key值对应的数据,数据查找模块503在缓存中查找数据成功的情况下,第二数据写入模块504将这些查找成功的数据写入分布式文件***中,并删除与写入分布式文件***的这些数据对应的key文件中的key值,以便缓存客户端后续的查询,只要缓存客户端查询到key文件中的key值,表明这些key值对应的数据未写入分布式文件***中。数据查找模块503在缓存中查找数据失败的情况下,第一请求模块505会将查找数据失败的信息发送给应用程序,请求应用程序重新向数据库客户端发送数据存储操作请求,将查找失败的数据写入缓存。
实施例三、一种持久化的数据查询方法。下面结合图6和图7对本发明提供的方法进行详细说明。
图6中,S601、预先通过持久化的数据存储方法完成数据的存储。
具体的,本实施例首先采用前述的实施例一中的持久化的数据存储方法完成数据的存储,相关的技术特征可以参见实施例一种的详细描述,在此不再重复说明。
S602、接收应用程序发送的数据查询操作请求,从缓存中查找与数据查询操作请求匹配的数据。
具体的,参见图7,当数据库客户端接收到应用程序客户端发送的数据查询操作请求时,默认首先从缓存中查找与应用程序发送的数据查询操作请求匹配的数据。
S603、若查询成功,则将查询的匹配的数据返回给所述应用程序;若查询失败,则从分布式文件***中查询匹配的数据。
具体的,当上述步骤从缓存中查找数据成功的情况下,将查找成功的数据返回给应用程序客户端;若在缓存中查找数据失败的情况下,则从分布式文件***中查找与数据查询操作请求匹配的数据。
S604、在分布式文件***中查询数据成功的情况下,将查询成功的数据返回给应用程序并写入缓存。
具体的,当从分布式文件***中查找与数据查询操作请求匹配的数据时,在查找成功的情况下,将查找成功的数据反馈给应用程序客户端并将这些查找成功的数据写入缓存。在查找失败的情况下,从分布式文件***中读取key文件并判断key文件中是否存在与查找失败的数据匹配的key值,若存在,则向应用程序发送请求,请求应用程序重新向数据库客户端发送数据存储操作请求,将查找失败的数据重新写入缓存;若在key文件中不存在与查找失败的数据匹配的key,则返回null,结束流程。
实施例四、一种持久化的数据查询***。下面结合图8对本发明提供的***进行详细说明。
图8中,本发明提供的***包括持久化的数据存储装置801、第一数据查询模块802、第二数据查询模块803、第三数据写入模块804和第二请求模块805。
其中,持久化的存储装置801主要用于采用实施例二中的持久化的数据存储装置,完成数据的存储。
具体的,本实施例中的持久化的数据存储装置801先采用实施例二中的持久化的数据存储装置完成数据的存储,相关的技术特征可以参见实施例一种的详细描述,在此不再重复说明。
第一数据查询模块802主要用于接收应用程序发送的数据查询操作请求,在缓存中查找与数据查询操作请求匹配的数据。
具体的,当数据库客户端接收到应用程序客户端发送的数据查询操作请求时,第一数据查询模块802默认首先从缓存中查找与应用程序发送的数据查询操作请求匹配的数据。
第二数据查询模块803主要用于当第一数据查询模块802在缓存中查询失败时,在分布式文件***中查询匹配的数据。
具体的,当第一数据查询模块802在缓存中查找数据成功时,将查找成功的数据返回给应用程序客户端;在缓存中查找数据失败的情况下,第二数据查询模块803在分布式文件***中查找与数据查询操作请求匹配的数据。
第三数据写入模块804主要用于当第二数据查询模块803在分布式文件***中查询数据成功时,将查询成功的数据返回给应用程序并写入缓存。
第二请求模块805主要用于当第二数据查询模块803在分布式文件***中查询数据失败是,读取分布式文件***中的key文件文件,并判断是否存在与查询失败的数据匹配的key值;若存在,则向应用程序请求重新将查找失败的数据写入缓存。
具体的,当第二数据查询模块803从分布式文件***中查找与数据查询操作请求匹配的数据时,在查找成功的情况下,第三数据写入模块804将查找成功的数据反馈给应用程序客户端并将这些查找成功的数据写入缓存。在查找失败的情况下,第二请求模块805读取分布式文件***中的key文件并判断key文件中是否存在与查找失败的数据匹配的key值,若存在,则向应用程序发送请求,请求应用程序重新向数据库客户端发送数据存储请求,将查找失败的数据重新写入缓存;若在key文件中不存在与查找失败的数据匹配的key值,则返回null,结束流程。
本发明提供的一种持久化的数据存储方法及装置,采用分布式文件***对缓存中的数据进行备份,并且实现了缓存与分布式文件***中的数据的互相备份,保障了数据的安全性和可靠性;采用分布式文件***存储数据的特点,数据是存储在分布式文件***的不同的存储节点上,存储空间可以动态伸缩;另外,缓存与分布式文件***中的数据实时保持一致,不会因为数据备份时间的差异而导致数据的不一致性或数据的丢失。
本发明提供的一种持久化的数据查询方法及***,当接收到应用程序发送的数据查询操作请求,首先从缓存中查找匹配的数据,如果在缓存中查找失败,再从分布式文件***中查找匹配的数据,这样当缓存上的查询操作发生异常或者缓存发生故障,就可以从分布式文件***中查询,保证了缓存服务的故障不会导致业务中断,也即保证了***的安全性和高可用性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种持久化的数据存储方法,其特征在于,包括:
步骤S201、接收应用程序发送的数据存储操作请求,将与所述数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识所述数据的至少一个key文件;
步骤S202、缓存客户端从所述key文件中获取能标识数据的至少一个key值;
步骤S203、根据所述获取的至少一个key值,在缓存中查找与所述key值匹配的数据;
步骤S204、将在缓存中查找到的与所述key值匹配的数据写入分布式文件***中,并删除与所述写入分布式文件***的数据对应的key文件中的key值。
2.如权利要求1所述的数据存储方法,其特征在于,所述步骤S201包括:
在所述数据写入缓存失败的情况下,将所述写入缓存失败的数据直接写入分布式文件***中。
3.如权利要求2所述的数据存储方法,其特征在于,所述步骤S202包括:
缓存客户端实时从key文件中获取没有写入分布式文件***中的数据对应的key值。
4.如权利要求1所述的数据存储方法,其特征在于,执行步骤S203之后还包括:
若在缓存中未查找到与所述key值匹配的数据,则将查找失败信息发送给应用程序,请求应用程序重新向数据库客户端发送数据存储操作请求,将查找失败的数据写入缓存。
5.一种持久化的数据存储装置,其特征在于,包括:
第一数据写入模块,用于接收应用程序发送的数据存储操作请求,将与所述数据存储操作请求匹配的数据写入缓存,并在分布式文件***中创建能标识所述数据的至少一个key文件;
数据标识获取模块,用于调用缓存客户端从所述key文件中获取能标识数据的至少一个key值;
数据查找模块,用于根据所述获取的至少一个key值,在缓存中查找与所述key值匹配的数据;
第二数据写入模块,用于将在缓存中查找到的与所述key值匹配的数据写入分布式文件***中,并删除与所述写入分布式文件***的数据对应的key文件中的key值。
6.如权利要求5所述的数据存储装置,其特征在于,还包括:
第一请求模块,用于若在缓存中未查找到与所述key值匹配的数据,将查找失败信息发送给应用程序,请求应用程序重新向数据库客户端发送数据存储操作请求,将查找失败的数据写入缓存。
7.一种持久化的数据查询方法,其特征在于,包括:
步骤S601、预先通过权利要求1-4任一项所述的持久化的数据存储方法完成数据存储;
步骤S602、接收应用程序发送的数据查询操作请求,在缓存中查找与所述数据查询操作请求匹配的数据;
步骤S603、若查询成功,则将查询到的匹配的数据返回给所述应用程序;若查询失败,则在分布式文件***中查询匹配的数据;
步骤S604、在分布式文件***中查询到匹配的数据的情况下,将查询到的匹配的的数据返回给应用程序并写入缓存。
8.如权利要求7所述的数据查询方法,其特征在于,所述执行步骤S603之后还包括:
在分布式文件***中未查找到匹配的数据的情况下,读取分布式文件***中的key文件,并判断是否存在与所述数据匹配的key值;
若存在,则向应用程序请求重新将查找失败的数据写入缓存。
9.一种持久化的数据查询***,其特征在于,预先通过权利要求5至6任一项所述的持久化的数据存储装置,完成数据的存储,且所述持久化的数据查询***还包括:
第一数据查询模块,用于接收应用程序发送的数据查询操作,从缓存中查找与所述数据查询操作请求匹配的数据;
第二数据查询模块,用于当在缓存中未查询到与所述数据查询操作请求匹配的数据时,在分布式文件***中查询匹配的数据;
第三数据写入模块,用于当在分布式文件***中查询到匹配的数据时,将查询到的匹配的数据返回给应用程序并写入缓存。
10.如权利要求9所述的数据查询***,其特征在于,还包括:
第二请求模块,用于当在分布式文件***中未查询到匹配的数据时,读取分布式文件***中的key文件,并判断是否存在与所述数据匹配的key值;若存在,则向应用程序请求重新将查找失败的数据写入缓存。
CN201410601861.5A 2014-10-31 2014-10-31 一种持久化的数据存储和查询方法及对应的装置和*** Active CN104317926B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410601861.5A CN104317926B (zh) 2014-10-31 2014-10-31 一种持久化的数据存储和查询方法及对应的装置和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410601861.5A CN104317926B (zh) 2014-10-31 2014-10-31 一种持久化的数据存储和查询方法及对应的装置和***

Publications (2)

Publication Number Publication Date
CN104317926A true CN104317926A (zh) 2015-01-28
CN104317926B CN104317926B (zh) 2017-10-17

Family

ID=52373158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410601861.5A Active CN104317926B (zh) 2014-10-31 2014-10-31 一种持久化的数据存储和查询方法及对应的装置和***

Country Status (1)

Country Link
CN (1) CN104317926B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516284A (zh) * 2015-12-01 2016-04-20 深圳市华讯方舟软件技术有限公司 一种集群数据库分布式存储的方法和装置
CN106021335A (zh) * 2016-05-06 2016-10-12 北京奇虎科技有限公司 访问数据库的方法及装置
WO2016187974A1 (zh) * 2015-05-25 2016-12-01 中兴通讯股份有限公司 一种存储空间管理方法及装置
CN106557278A (zh) * 2015-09-30 2017-04-05 腾讯科技(深圳)有限公司 一种缓存数据持久化的方法
CN106657356A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种云存储***的数据写入方法、装置及云存储***
CN107094178A (zh) * 2017-05-11 2017-08-25 广东网金控股股份有限公司 一种互联网数据传输方法、装置以及服务器终端
CN108021688A (zh) * 2017-12-15 2018-05-11 北京明朝万达科技股份有限公司 一种数据处理方法及装置
CN108073355A (zh) * 2016-11-15 2018-05-25 杭州海康威视数字技术股份有限公司 一种数据存储和删除方法及装置
CN109189759A (zh) * 2018-08-01 2019-01-11 华为技术有限公司 Kv存储***中的数据读取方法、数据查询方法、装置及设备
CN109299035A (zh) * 2018-07-04 2019-02-01 中通服建设有限公司 一种chr文件管理方法、***及计算机可读存储介质
CN109753592A (zh) * 2018-12-22 2019-05-14 汤新红 一种基于大数据的信息流存储***及其存储方法
CN110413613A (zh) * 2019-07-09 2019-11-05 阿里巴巴集团控股有限公司 大数据量数据的写入、读取方法、装置及设备
CN110908809A (zh) * 2019-10-28 2020-03-24 苏宁云计算有限公司 一种查询服务的调用方法及装置
CN111966751A (zh) * 2020-08-14 2020-11-20 苏州浪潮智能科技有限公司 分布式对象存储元数据存储方法及***、读方法及***
CN112597354A (zh) * 2020-12-22 2021-04-02 贝壳技术有限公司 一种提供配置参数的方法、装置、***及存储介质
CN112632098A (zh) * 2020-12-18 2021-04-09 平安普惠企业管理有限公司 结构化查询语句动态生成方法及相关设备
CN113297203A (zh) * 2020-07-15 2021-08-24 阿里巴巴集团控股有限公司 数据查询和写入方法和装置,计算机存储介质和电子设备
CN114584576A (zh) * 2022-03-04 2022-06-03 拉扎斯网络科技(上海)有限公司 数据存储方法、装置、设备、存储介质及计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510209A (zh) * 2009-03-30 2009-08-19 北京金山软件有限公司 实现实时检索的方法、***和服务器
CN102014153A (zh) * 2010-10-19 2011-04-13 浪潮(北京)电子信息产业有限公司 一种数据存储***及其数据存储方法
CN103577551A (zh) * 2013-10-16 2014-02-12 青岛海信传媒网络技术有限公司 一种数据批量提交到数据库的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510209A (zh) * 2009-03-30 2009-08-19 北京金山软件有限公司 实现实时检索的方法、***和服务器
CN102014153A (zh) * 2010-10-19 2011-04-13 浪潮(北京)电子信息产业有限公司 一种数据存储***及其数据存储方法
CN103577551A (zh) * 2013-10-16 2014-02-12 青岛海信传媒网络技术有限公司 一种数据批量提交到数据库的方法和装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187974A1 (zh) * 2015-05-25 2016-12-01 中兴通讯股份有限公司 一种存储空间管理方法及装置
CN106557278A (zh) * 2015-09-30 2017-04-05 腾讯科技(深圳)有限公司 一种缓存数据持久化的方法
CN105516284B (zh) * 2015-12-01 2019-05-03 深圳市华讯方舟软件技术有限公司 一种集群数据库分布式存储的方法和装置
WO2017092384A1 (zh) * 2015-12-01 2017-06-08 深圳市华讯方舟软件技术有限公司 一种集群数据库分布式存储的方法和装置
CN105516284A (zh) * 2015-12-01 2016-04-20 深圳市华讯方舟软件技术有限公司 一种集群数据库分布式存储的方法和装置
CN106021335A (zh) * 2016-05-06 2016-10-12 北京奇虎科技有限公司 访问数据库的方法及装置
WO2017190580A1 (zh) * 2016-05-06 2017-11-09 北京奇虎科技有限公司 访问数据库的方法及装置
CN108073355B (zh) * 2016-11-15 2020-03-17 杭州海康威视数字技术股份有限公司 一种数据存储和删除方法及装置
CN108073355A (zh) * 2016-11-15 2018-05-25 杭州海康威视数字技术股份有限公司 一种数据存储和删除方法及装置
CN106657356A (zh) * 2016-12-29 2017-05-10 郑州云海信息技术有限公司 一种云存储***的数据写入方法、装置及云存储***
CN107094178A (zh) * 2017-05-11 2017-08-25 广东网金控股股份有限公司 一种互联网数据传输方法、装置以及服务器终端
CN107094178B (zh) * 2017-05-11 2019-06-18 广东网金控股股份有限公司 一种互联网数据传输方法、装置以及服务器终端
CN108021688A (zh) * 2017-12-15 2018-05-11 北京明朝万达科技股份有限公司 一种数据处理方法及装置
CN108021688B (zh) * 2017-12-15 2019-05-21 北京明朝万达科技股份有限公司 一种数据处理方法及装置
CN109299035A (zh) * 2018-07-04 2019-02-01 中通服建设有限公司 一种chr文件管理方法、***及计算机可读存储介质
CN109189759A (zh) * 2018-08-01 2019-01-11 华为技术有限公司 Kv存储***中的数据读取方法、数据查询方法、装置及设备
CN109189759B (zh) * 2018-08-01 2021-11-19 华为技术有限公司 Kv存储***中的数据读取方法、数据查询方法、装置及设备
CN109753592A (zh) * 2018-12-22 2019-05-14 汤新红 一种基于大数据的信息流存储***及其存储方法
CN110413613A (zh) * 2019-07-09 2019-11-05 阿里巴巴集团控股有限公司 大数据量数据的写入、读取方法、装置及设备
CN110413613B (zh) * 2019-07-09 2023-01-17 创新先进技术有限公司 大数据量数据的写入、读取方法、装置及设备
CN110908809A (zh) * 2019-10-28 2020-03-24 苏宁云计算有限公司 一种查询服务的调用方法及装置
CN113297203A (zh) * 2020-07-15 2021-08-24 阿里巴巴集团控股有限公司 数据查询和写入方法和装置,计算机存储介质和电子设备
CN111966751A (zh) * 2020-08-14 2020-11-20 苏州浪潮智能科技有限公司 分布式对象存储元数据存储方法及***、读方法及***
CN112632098A (zh) * 2020-12-18 2021-04-09 平安普惠企业管理有限公司 结构化查询语句动态生成方法及相关设备
CN112597354A (zh) * 2020-12-22 2021-04-02 贝壳技术有限公司 一种提供配置参数的方法、装置、***及存储介质
CN114584576A (zh) * 2022-03-04 2022-06-03 拉扎斯网络科技(上海)有限公司 数据存储方法、装置、设备、存储介质及计算机程序产品

Also Published As

Publication number Publication date
CN104317926B (zh) 2017-10-17

Similar Documents

Publication Publication Date Title
CN104317926A (zh) 一种持久化的数据存储和查询方法及对应的装置和***
US10795788B2 (en) Remote data replication method and system
US8214334B2 (en) Systems and methods for distributed system scanning
US9195668B2 (en) Log access method storage control apparatus, archive system, and method of operation
US7546429B1 (en) Method of detection of data corruption in mirrored storage
CN101334797B (zh) 一种分布式文件***及其数据块一致性管理的方法
CN101888405B (zh) 一种云计算的文件***和数据处理方法
US20120259863A1 (en) Low Level Object Version Tracking Using Non-Volatile Memory Write Generations
CN104813276A (zh) 从备份***流式恢复数据库
CN101460930A (zh) 维护数据库与文件***之间的链接级一致性
CN102591982A (zh) 执行增量sql服务器数据库备份的方法和***
US11176110B2 (en) Data updating method and device for a distributed database system
US8380663B2 (en) Data integrity in a database environment through background synchronization
CN103617277A (zh) 一种还原误删除的数据表内容的方法
CN104020961A (zh) 分布式数据存储方法、装置及***
CN104217174A (zh) 分布式文件安全存储***及其存储方法
CN102314503A (zh) 一种索引方法
CN107229540A (zh) 一种基于时间点的数据库恢复方法及***
CN106776795B (zh) 基于Hbase数据库的数据写入方法及装置
US20040143609A1 (en) System and method for data extraction in a non-native environment
KR101674176B1 (ko) 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법
CN104182182A (zh) 智能终端及智能终端的数据备份方法
KR101424568B1 (ko) 트랜잭션 재시작 가능한 클라이언트 장치와 데이터베이스 서버 및 방법
CN106991118A (zh) 基于ceph纠删除容错的读取文件方法及装置
CN113076298A (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