CN113360534B - 一种内存数据库多副本数据的内存回收方法 - Google Patents

一种内存数据库多副本数据的内存回收方法 Download PDF

Info

Publication number
CN113360534B
CN113360534B CN202110916157.9A CN202110916157A CN113360534B CN 113360534 B CN113360534 B CN 113360534B CN 202110916157 A CN202110916157 A CN 202110916157A CN 113360534 B CN113360534 B CN 113360534B
Authority
CN
China
Prior art keywords
database
cache
data
memory
processor
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
Application number
CN202110916157.9A
Other languages
English (en)
Other versions
CN113360534A (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 Fast Cube Technology Co ltd
Original Assignee
Beijing Fast Cube 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 Fast Cube Technology Co ltd filed Critical Beijing Fast Cube Technology Co ltd
Priority to CN202110916157.9A priority Critical patent/CN113360534B/zh
Publication of CN113360534A publication Critical patent/CN113360534A/zh
Application granted granted Critical
Publication of CN113360534B publication Critical patent/CN113360534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources

Landscapes

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

Abstract

本发明适用于计算机领域,提供了一种内存数据库多副本数据的内存回收方法,通过将内存数据库预先划分为至少一个处理器和共享数据库;当处理器开始对数据进行处理时,从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据;当缓存数据库内出现缓存数据的时候,再从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;将缓存数据库中的缓存数据实时复制保存一份到副本存储数据库;当处理器处理数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库。使得数据的备份拷贝是一一对应的关系,不会造成存储混乱或者内存碎片的产生。

Description

一种内存数据库多副本数据的内存回收方法
技术领域
本发明属于计算机领域,尤其涉及一种内存数据库多副本数据的内存回收方法。
背景技术
内存数据库抛弃了磁盘数据管理的传统方式,在数据缓存、快速算法、并行操作方面也进行了相应的改进,数据处理速度比传统数据库的数据处理速度要快很多。内存数据库所处理的数据通常是“短暂”的,即有一定的有效时间,过时则有新的数据产生。要解决存储持久性问题,内存数据库也有相应的解决方案。这其中包括在集群里保存额外的数据副本,然后对数据库进行横向扩展,让系统能够在运行中不断将更新数据复制到一个或多个备用系统当中。一些数据库系统还会定期将数据复制到磁盘系统,就是为了应对突然断电或系统宕机的情况。
内存数据库提供的数据控制功能中包括并发控制和恢复等,其中并发控制是为了多线程处理数据提高速度,恢复则是为了应对断电宕机等意外情况的发生,防止处理中的数据丢失。
内存数据库在实现并发控制机制时为了保证性能,需要频繁进行数据副本拷贝,导致过多的内存碎片或不必要的内存增长,影响内存数据库高效运行使用。
发明内容
本发明实施例提供一种内存数据库多副本数据的内存回收方法,旨在解决现有内存数据库在实现并发控制机制时为了保证性能,需要频繁进行数据副本拷贝,导致过多的内存碎片或不必要的内存增长,影响内存数据库高效运行使用的问题。
本发明实施例是这样实现的,一种内存数据库多副本数据的内存回收方法包括:
获取待处理的数据到内存数据库中的处理器;所述内存数据库被预先划分为至少一个处理器和共享数据库;
处理器开始对数据进行处理,同时从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据;
当缓存数据库内出现缓存数据的时候,从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;
将缓存数据库中的缓存数据实时复制保存一份到副本存储数据库;
当处理器处理数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库。
作为本发明的一种改进方案:所述处理器开始对数据进行处理,同时从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据具体包括:
处理器开始对数据进行处理;
从共享数据库中分裂出一个缓存数据库;所述缓存数据库具有初始内存值;
将处理器产生的缓存数据实时保存到缓存数据库中;
判断缓存数据库的剩余内存值是否大于预警内存值;
当缓存数据库的剩余内存值大于预警内存值时,正常运行;
当缓存数据库的剩余内存值不大于预警内存值时,增加缓存数据库的内存值。
作为本发明的又一种改进方案:一个或者多个所述处理器同时对数据进行处理;每个所述处理器均对应一个缓存数据库,每个缓存数据库均对应一个用于存储缓存副本数据的副本存储数据库。
所述增加缓存数据库的内存值具体包括:
从共享数据库中分裂出一个子缓存数据库;所述分裂出的子缓存数据库的内存值是缓存数据库的初始内存值的n倍,0<n≤1;
将子缓存数据库合并到缓存数据库,以增加缓存数据库的内存值。
作为本发明的另一种改进方案:所述当缓存数据库内出现缓存数据的时候,从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库具体包括:
判断缓存数据库的内存值消耗量是否为零;
当缓存数据库的内存值消耗量为零的时候,说明与缓存数据库对应的处理器还没有开始进行数据处理,此时不需要从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;
当缓存数据库的内存值消耗量不为零的时候,说明与缓存数据库对应的处理器开始进行数据处理,此时从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库。
作为本发明的进一步方案:所述副本存储数据库的内存值随缓存数据库的内存值消耗量增长而增长,且副本存储数据库的内存值实时增长,增长量从共享数据库中分裂所得。
作为本发明的再进一步方案:所述副本存储数据库的内存值始终大于缓存数据库的内存值消耗量。
作为本发明的优化方案:所述方法还包括:
当副本存储数据库中开始存储数据的时候,对副本存储数据库的数据存储时间开始计时,得到副本存储数据库的数据存储时长;
判断数据存储时长是否大于清理时长;
当数据存储时长大于清理时长的时候,将副本存储数据库清空,并回收合并到共享数据库中。
作为本发明的又一种方案:所述方法还包括:
判断内存数据库是否意外停运;
当内存数据库没有意外停运,且处理器处理一次数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库,并且将副本存储数据库中剩余的内存空间回收合并到共享数据库中;
当内存数据库意外停运,副本存储数据库中的数据反向复制到缓存数据库中,继续进行数据处理。
本发明的有益效果:通过将内存数据库预先划分为至少一个处理器和共享数据库;当处理器开始对数据进行处理时,从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据;当缓存数据库内出现缓存数据的时候,再从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;将缓存数据库中的缓存数据实时复制保存一份到副本存储数据库;当处理器处理数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库。使得数据的备份拷贝是一一对应的关系,不会造成存储混乱或者内存碎片的产生。解决了现有内存数据库在实现并发控制机制时为了保证性能,需要频繁进行数据副本拷贝,导致过多的内存碎片或不必要的内存增长,影响内存数据库高效运行使用的问题。
附图说明
图1是一种内存数据库多副本数据的内存回收方法的运行环境示意图;
图2是一种内存数据库多副本数据的内存回收方法的主流程图;
图3是一种内存数据库多副本数据的内存回收方法中缓存数据库扩容流程图;
图4是一种内存数据库多副本数据的内存回收方法中产生副本存储数据库的流程图;
图5是一种内存数据库多副本数据的内存回收方法中清理副本存储数据库的流程图;
图6是一种内存数据库多副本数据的内存回收方法中意外停运处理流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明通过将内存数据库预先划分为至少一个处理器和共享数据库;当处理器开始对数据进行处理时,从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据;当缓存数据库内出现缓存数据的时候,再从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;将缓存数据库中的缓存数据实时复制保存一份到副本存储数据库;当处理器处理数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库。使得数据的备份拷贝是一一对应的关系,不会造成存储混乱或者内存碎片的产生。解决了现有内存数据库在实现并发控制机制时为了保证性能,需要频繁进行数据副本拷贝,导致过多的内存碎片或不必要的内存增长,影响内存数据库高效运行使用的问题。
图1示出了本发明实施例的一种内存数据库多副本数据的内存回收方法的运行环境示意图,其中内存数据库2接收来自数据上传端1上传的数据,数据上传端1可以向一个处理器20或者多个处理器20发送数据,每个处理器20与一个缓存数据库21以及一个副本存储数据库22对应,并且缓存数据库21和副本存储数据库22是临时生成的,只有在处理器20处理数据之后才会出现,若处理器20不处理数据,那么该处理器20就没有对应的缓存数据库21和副本存储数据库22,这样做是为了增大共享数据库23的内存量,使得内存数据库2中始终保持有足量的共享数据库23应对处理器20的数据缓存以及数据保存。
图2示出了本发明实施例的一种内存数据库多副本数据的内存回收方法的主流程图,所述内存回收方法包括:
步骤S10:获取待处理的数据到内存数据库中的处理器。所述内存数据库被预先划分为至少一个处理器和共享数据库。
步骤S11:处理器开始对数据进行处理,同时从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据。
步骤S12:当缓存数据库内出现缓存数据的时候,从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库。也可以多个所述处理器同时对数据进行处理。每个所述处理器均对应一个缓存数据库,每个缓存数据库均对应一个用于存储缓存副本数据的副本存储数据库。
步骤S13:将缓存数据库中的缓存数据实时复制保存一份到副本存储数据库。
步骤S14:当处理器处理数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库。缓存数据库和副本存储数据库一一对应,缓存数据库中的数据实时复制保存到副本存储数据库中。缓存数据库不进行数据永久保存只进行数据暂存。副本存储数据库中的数据在不主动清理的情况下可以永久保存,即使在意外断电或者意外停运的情况下,也能够对数据进行保存。
图3示出了本发明实施例的一种内存数据库多副本数据的内存回收方法中缓存数据库扩容流程图,所述处理器开始对数据进行处理,同时从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据具体包括:
步骤S110:处理器开始对数据进行处理。
步骤S111:从共享数据库中分裂出一个缓存数据库。所述缓存数据库具有初始内存值。例如初始内存值为10MB,以便于满足即将存储在缓存数据库中的数据储存需求。
步骤S112:将处理器产生的缓存数据实时保存到缓存数据库中。
步骤S113:判断缓存数据库的剩余内存值是否大于预警内存值。是为了防止缓存数据库溢满不能进行多余的数据存储,导致处理器无法运行的情况,保证缓存数据库始终有富裕内存。
步骤S114:当缓存数据库的剩余内存值大于预警内存值时,正常运行。
步骤S115:当缓存数据库的剩余内存值不大于预警内存值时,增加缓存数据库的内存值。
在本实施例的一种情况中,所述增加缓存数据库的内存值具体包括:
步骤S1150:从共享数据库中分裂出一个子缓存数据库。所述分裂出的子缓存数据库的内存值是缓存数据库的初始内存值的n倍,0<n≤1。
步骤S1151:将子缓存数据库合并到缓存数据库,以增加缓存数据库的内存值。限制n值的大小是为了防止过多的存储空间浪费,另外子缓存数据库在一次数据处理的过程中,可能会产生多个,当缓存数据库的内存剩余量达到预警的时候,就会产生一个子缓存数据库,子缓存数据库是为了扩充缓存数据库的容量,缓解缓存数据库的运行压力,保证缓存数据库的正常运行。并且这种根据存储情况自动分裂的方式,能够有效的保证共享数据库的最大化应用。
图4示出了本发明实施例的一种内存数据库多副本数据的内存回收方法中产生副本存储数据库的流程图,所述当缓存数据库内出现缓存数据的时候,从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库具体包括:
步骤S120:判断缓存数据库的内存值消耗量是否为零。
步骤S121:当缓存数据库的内存值消耗量为零的时候,说明与缓存数据库对应的处理器还没有开始进行数据处理,此时不需要从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库。避免共享数据库不必要的分解。
步骤S122:当缓存数据库的内存值消耗量不为零的时候,说明与缓存数据库对应的处理器开始进行数据处理,此时从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库。根据处理器的需要对应分裂缓存数据库和副本存储数据库,减少共享数据库容量的不必要浪费。
在本实施例的一种情况中,所述副本存储数据库的内存值随缓存数据库的内存值消耗量增长而增长,且副本存储数据库的内存值实时增长,增长量从共享数据库中分裂所得。所述副本存储数据库的内存值始终大于缓存数据库的内存值消耗量。例如,副本存储数据库的内存值是缓存数据库的内存值消耗量的m倍,1<m<2。
图5示出了本发明实施例的一种内存数据库多副本数据的内存回收方法中清理副本存储数据库的流程图,所述方法还包括:
步骤S20:当副本存储数据库中开始存储数据的时候,对副本存储数据库的数据存储时间开始计时,得到副本存储数据库的数据存储时长。这是为了对长久不用的历史数据进行监控,防止内存数据库中堆积过多的副本垃圾数据,降低内存数据库的性能。
步骤S21:判断数据存储时长是否大于清理时长。清理时长可以以一周为计算单位,或者以一天为计算单位,保证副本存储数据库的定期清理,为了避免副本存储数据库中数据的误删除,在清理之前可以弹出提示窗口,供使用者选择其中重要的副本存储数据库不进行清理,或者将其中重要的副本存储数据库保存到免删除区,避免每次检索判断时对该副本存储数据库的判断。
步骤S22:当数据存储时长大于清理时长的时候,将副本存储数据库清空,并回收合并到共享数据库中。
步骤S23:当数据存储时长不大于清理时长的时候,继续保留副本存储数据库中的数据。
图6示出了本发明实施例的一种内存数据库多副本数据的内存回收方法中意外停运处理流程图,所述方法还包括:
步骤S30:判断内存数据库是否意外停运。
步骤S31:当内存数据库没有意外停运,且处理器处理一次数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库,并且将副本存储数据库中剩余的内存空间回收合并到共享数据库中。
步骤S32:当内存数据库意外停运,副本存储数据库中的数据反向复制到缓存数据库中,继续进行数据处理。这是为了保证内存数据库即使在意外停转的情况下也能保存一定的有效数据,将副本存储数据库中的数据反向复制到缓存数据库中,处理器还能够接着继续运行,避免处理器重新对数据进行重复处理,节省时间。
为了能够加载上述方法顺利运行,除了包括上述各种数据库之外,还可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备和总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,上述内存数据库中的处理器是数据处理和控制中心,利用各种接口和线路与外接其他设备进行数据交互。
上述存储器可用于存储计算机以及系统程序和/或模块,上述处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述客户端的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如信息采集模板展示功能、产品信息发布功能等)等;存储数据区可存储根据泊位状态显示系统的使用所创建的数据(比如不同产品种类对应的产品信息采集模板、不同产品提供方需要发布的产品信息等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种内存数据库多副本数据的内存回收方法,其特征在于,所述方法包括:
获取待处理的数据到内存数据库中的处理器;所述内存数据库被预先划分为至少一个处理器和共享数据库;
处理器开始对数据进行处理,同时从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据;
当缓存数据库内出现缓存数据的时候,从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;
将缓存数据库中的缓存数据实时复制保存一份到副本存储数据库;
当处理器处理数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库;
所述处理器开始对数据进行处理,同时从共享数据库中分裂出一个缓存数据库与处理器对应,用于存储处理器产生的缓存数据具体包括:
处理器开始对数据进行处理;
从共享数据库中分裂出一个缓存数据库;所述缓存数据库具有初始内存值;
将处理器产生的缓存数据实时保存到缓存数据库中;
判断缓存数据库的剩余内存值是否大于预警内存值;
当缓存数据库的剩余内存值大于预警内存值时,正常运行;
当缓存数据库的剩余内存值不大于预警内存值时,增加缓存数据库的内存值;
所述增加缓存数据库的内存值具体包括:
从共享数据库中分裂出一个子缓存数据库;所述分裂出的子缓存数据库的内存值是缓存数据库的初始内存值的n倍,0<n≤1;
将子缓存数据库合并到缓存数据库,以增加缓存数据库的内存值;
所述当缓存数据库内出现缓存数据的时候,从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库具体包括:
判断缓存数据库的内存值消耗量是否为零;
当缓存数据库的内存值消耗量为零的时候,说明与缓存数据库对应的处理器还没有开始进行数据处理,此时不需要从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库;
当缓存数据库的内存值消耗量不为零的时候,说明与缓存数据库对应的处理器开始进行数据处理,此时从共享数据库中分裂出一个与缓存数据库对应的副本存储数据库。
2.如权利要求1所述的内存数据库多副本数据的内存回收方法,其特征在于,一个或者多个所述处理器同时对数据进行处理;每个所述处理器均对应一个缓存数据库,每个缓存数据库均对应一个用于存储缓存副本数据的副本存储数据库。
3.如权利要求1所述的内存数据库多副本数据的内存回收方法,其特征在于,所述副本存储数据库的内存值随缓存数据库的内存值消耗量增长而增长,且副本存储数据库的内存值实时增长,增长量从共享数据库中分裂所得。
4.如权利要求3所述的内存数据库多副本数据的内存回收方法,其特征在于,所述副本存储数据库的内存值始终大于缓存数据库的内存值消耗量。
5.如权利要求1所述的内存数据库多副本数据的内存回收方法,其特征在于,所述方法还包括:
当副本存储数据库中开始存储数据的时候,对副本存储数据库的数据存储时间开始计时,得到副本存储数据库的数据存储时长;
判断数据存储时长是否大于清理时长;
当数据存储时长大于清理时长的时候,将副本存储数据库清空,并回收合并到共享数据库中。
6.如权利要求1-5任一所述的内存数据库多副本数据的内存回收方法,其特征在于,所述方法还包括:
判断内存数据库是否意外停运;
当内存数据库没有意外停运,且处理器处理一次数据结束时,将缓存数据库清空合并到共享数据库中,保留副本存储数据库,并且将副本存储数据库中剩余的内存空间回收合并到共享数据库中;
当内存数据库意外停运,副本存储数据库中的数据反向复制到缓存数据库中,继续进行数据处理。
CN202110916157.9A 2021-08-11 2021-08-11 一种内存数据库多副本数据的内存回收方法 Active CN113360534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110916157.9A CN113360534B (zh) 2021-08-11 2021-08-11 一种内存数据库多副本数据的内存回收方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110916157.9A CN113360534B (zh) 2021-08-11 2021-08-11 一种内存数据库多副本数据的内存回收方法

Publications (2)

Publication Number Publication Date
CN113360534A CN113360534A (zh) 2021-09-07
CN113360534B true CN113360534B (zh) 2022-05-06

Family

ID=77522899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110916157.9A Active CN113360534B (zh) 2021-08-11 2021-08-11 一种内存数据库多副本数据的内存回收方法

Country Status (1)

Country Link
CN (1) CN113360534B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354720A (zh) * 2008-09-04 2009-01-28 中兴通讯股份有限公司 一种分布式内存数据库数据系统及其共享方法
CN101739298A (zh) * 2008-11-27 2010-06-16 国际商业机器公司 共享缓存管理方法和系统
CN109344004A (zh) * 2018-09-03 2019-02-15 郑州云海信息技术有限公司 一种内存数据库备份管理方法、装置、终端及存储介质
CN110807065A (zh) * 2019-10-30 2020-02-18 浙江大华技术股份有限公司 内存表的实现方法、存储器和分布式数据库的数据节点

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892509B2 (en) * 2006-03-28 2014-11-18 Oracle America, Inc. Systems and methods for a distributed in-memory database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354720A (zh) * 2008-09-04 2009-01-28 中兴通讯股份有限公司 一种分布式内存数据库数据系统及其共享方法
CN101739298A (zh) * 2008-11-27 2010-06-16 国际商业机器公司 共享缓存管理方法和系统
CN109344004A (zh) * 2018-09-03 2019-02-15 郑州云海信息技术有限公司 一种内存数据库备份管理方法、装置、终端及存储介质
CN110807065A (zh) * 2019-10-30 2020-02-18 浙江大华技术股份有限公司 内存表的实现方法、存储器和分布式数据库的数据节点

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
内存数据库的存储管理;蒋智鹏;《中国优秀硕士学位论文全文数据库》;20100515;9-19 *

Also Published As

Publication number Publication date
CN113360534A (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
US8499184B2 (en) Method for resuming a system from a power failure after the main power supply has recovered and prior to fully recharging the backup power supply by enabling the reception of input/output commands by the cache memory at a rate proportational to the amount of charge on the backup power supply currently available
US8316182B2 (en) Hierarchical storage management for database systems
US20170192857A1 (en) Creating replicas at user-defined points in time
US7543180B2 (en) Enhancing throughput and fault-tolerance in a parallel-processing system
EP2733617A1 (en) Data buffer device, data storage system and method
US8909614B2 (en) Data access location selecting system, method, and program
US10346364B2 (en) Efficient data storage utilization and recycling by gradual data degradation
US20050044332A1 (en) Systems and methods for storing data on computer systems
WO2006007043A3 (en) Autonomically tuning the virtual memory subsystem of a computer operating system
EP0751462A1 (en) A recoverable disk control system with a non-volatile memory
US8583608B2 (en) Maximum allowable runtime query governor
US20140214766A1 (en) Storage system and control device
CN113360534B (zh) 一种内存数据库多副本数据的内存回收方法
US8386815B2 (en) Recycling of cache content
US8140751B1 (en) Power-aware redundant array of independent disks (PARAID) and related methods
US9164904B2 (en) Accessing remote memory on a memory blade
CN109426563B (zh) 一种进程管理方法及装置
US20140164335A1 (en) Database in-memory protection system
US8401995B2 (en) File removal with no available disk blocks in redirect-on-write file systems
US9110850B2 (en) Method for accelerating start up of a computerized system
CN114258532A (zh) 用于合并备份策略的设备和方法
JP5012599B2 (ja) メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
US20230376381A1 (en) Checkpoint-progress status
CN111090627A (zh) 基于池化的日志存储方法、装置、计算机设备及存储介质
JP2015043178A (ja) 情報処理装置、情報処理方法及びプログラム

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