CN114490543A - 内存多维数据库的事务日志实现方法、装置、设备及介质 - Google Patents

内存多维数据库的事务日志实现方法、装置、设备及介质 Download PDF

Info

Publication number
CN114490543A
CN114490543A CN202210030723.0A CN202210030723A CN114490543A CN 114490543 A CN114490543 A CN 114490543A CN 202210030723 A CN202210030723 A CN 202210030723A CN 114490543 A CN114490543 A CN 114490543A
Authority
CN
China
Prior art keywords
transaction log
memory
transaction
data
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.)
Pending
Application number
CN202210030723.0A
Other languages
English (en)
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 Yuannian Technology Co ltd
Original Assignee
Beijing Yuannian 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 Yuannian Technology Co ltd filed Critical Beijing Yuannian Technology Co ltd
Priority to CN202210030723.0A priority Critical patent/CN114490543A/zh
Publication of CN114490543A publication Critical patent/CN114490543A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • 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

Landscapes

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

Abstract

本申请提供了一种内存多维数据库的事务日志实现方法、装置、电子设备及计算机可读存储介质。该内存多维数据库的事务日志实现方法,包括:在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;将内存缓存所记录的数据写到外部存储文件;清除内存缓存所记录的数据,得到事务日志。根据本申请实施例,能够生成满足多维数据库事务日志要求的事务日志。

Description

内存多维数据库的事务日志实现方法、装置、设备及介质
技术领域
本申请属于内存多维数据库的事务日志实现技术领域,尤其涉及一种内存多维数据库的事务日志实现方法、装置、电子设备及计算机可读存储介质。
背景技术
事务日志作为记录事务期间的数据备份单元,存储有效的实时事务中的数据内容,以备数据库系统的容灾备份之用。当数据库系统崩溃、宕机后,可以加载事务日志进行数据的恢复。现有的事务日志依据上述需求,存储事务发生过程的事务数据内容到本地磁盘中,在数据库系统启动阶段加载事务日志文件中存储的数据进行恢复。但是,现有的事务日志实现方法无法满足多维数据库的事务日志要求。
因此,如何生成满足多维数据库事务日志要求的事务日志是本领域技术人员亟需解决的技术问题。
发明内容
本申请实施例提供一种内存多维数据库的事务日志实现方法、装置、电子设备及计算机可读存储介质,能够生成满足多维数据库事务日志要求的事务日志。
第一方面,本申请实施例提供一种内存多维数据库的事务日志实现方法,包括:
在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;
将内存缓存所记录的数据写到外部存储文件;
清除内存缓存所记录的数据,得到事务日志。
可选的,还包括:
设置事务日志的存储路径;
在存储路径的目录下,创建并打开事务日志文件。
可选的,还包括:
在将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中时,记录沙箱当前的数据缓存信息。
可选的,在得到事务日志之后,方法还包括:
基于事务日志,加载恢复数据。
可选的,还包括:
执行数据的持久化操作;其中,持久化操作用于存储当前数据库系统中发生的所有元对象及数据的操作信息。
可选的,还包括:
在启动加载事务日志时,判断是否存在备份事务日志;
若存在备份事务日志,则将备份事务日志与当前事务日志进行合并,产生新的事务日志。
可选的,还包括:
在事务提交失败的情况下,执行事务日志的回滚操作。
第二方面,本申请实施例提供了一种内存多维数据库的事务日志实现装置,包括:
存储模块,用于在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;
数据写出模块,用于将内存缓存所记录的数据写到外部存储文件;
数据清除模块,用于清除内存缓存所记录的数据,得到事务日志。
可选的,还包括:
存储路径设置模块,用于设置事务日志的存储路径;
创建模块,用于在存储路径的目录下,创建并打开事务日志文件。
可选的,还包括:
数据缓存信息记录模块,用于在将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中时,记录沙箱当前的数据缓存信息。
可选的,在得到事务日志之后,装置还包括:
数据加载恢复模块,用于基于事务日志,加载恢复数据。
可选的,还包括:
持久化操作执行模块,用于执行数据的持久化操作;其中,持久化操作用于存储当前数据库系统中发生的所有元对象及数据的操作信息。
可选的,还包括:
判断模块,用于在启动加载事务日志时,判断是否存在备份事务日志;
合并模块,用于若存在备份事务日志,则将备份事务日志与当前事务日志进行合并,产生新的事务日志。
可选的,还包括:
回滚操作执行模块,用于在事务提交失败的情况下,执行事务日志的回滚操作。
第三方面,本申请实施例提供了一种电子设备,电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第一方面所示的内存多维数据库的事务日志实现方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面所示的内存多维数据库的事务日志实现方法。
本申请实施例的内存多维数据库的事务日志实现方法、装置、电子设备及计算机可读存储介质,能够生成满足多维数据库事务日志要求的事务日志。
该内存多维数据库的事务日志实现方法,在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;将内存缓存所记录的数据写到外部存储文件;清除内存缓存所记录的数据,能够生成满足多维数据库事务日志要求的事务日志。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的内存多维数据库的事务日志实现方法的流程示意图;
图2是本申请一个实施例提供的内存多维数据库的事务日志实现装置的结构示意图;
图3是本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
事务日志作为记录事务期间的数据备份单元,存储有效的实时事务中的数据内容,以备数据库系统的容灾备份之用。当数据库系统崩溃、宕机后,可以加载事务日志进行数据的恢复。现有的事务日志依据上述需求,存储事务发生过程的事务数据内容到本地磁盘中,在数据库系统启动阶段加载事务日志文件中存储的数据进行恢复。但是,现有的事务日志实现方法无法满足多维数据库的事务日志要求。
事务日志作为记录事务期间的数据备份单元,存储有效的实时事务中的数据内容,以备数据库系统的容灾备份之用。当数据库系统崩溃、宕机后,可以加载事务日志进行数据的恢复。现有的事务日志依据上述需求,存储事务发生过程的事务数据内容到本地磁盘中,在数据库系统启动阶段加载事务日志文件中存储的数据进行恢复。但是,现有的事务日志实现方法无法满足多维数据库的事务日志要求。
为了解决现有技术问题,本申请实施例提供了一种内存多维数据库的事务日志实现方法、装置、设备及计算机可读存储介质。下面首先对本申请实施例所提供的内存多维数据库的事务日志实现方法进行介绍。
多维数据库的事务日志功能由事务日志模块管理,事务日志管理类的生命周期同数据库系统的database(数据库)对象生命周期。即一个Server级的服务允许有多个database存在,同时事务日志文件对应一个自己的database。而每个database中允许存在多个Cube(数据立方体),同时每个Cube允许存在多个成员对象,每组成员对象所对应的cube中存在相应的具体数据,例如字符类型或者整型数据。该数据既是在一次事务中发生的数据库系统中的用户录入的真实数据。
在一个实施例中,还包括:设置事务日志的存储路径;在存储路径的目录下,创建并打开事务日志文件。
该实施例为事务日志模块初始化部分,事务日志类由于生命周期同database对象,因此会在database对象的构造函数中创建。由于创建的对象是个智能指针,因此会同database对象的销毁而自动销毁。事务日志的初始化工作会进行两个处理:
(1)设置事务日志的磁盘存储路径。该路径中含有以databaseid命名的目录,并创建该目录。
(2)在对应的databaseId目录下创建并打开事务日志文件。
在数据库系统的启动阶段中的加载server时,会依据系统中现有的database个数来分别进行database对应的事务日志初始化。当然如果出现第一次系统启动或者是由API触发的创建database的情况,那么将会在执行该处理中进行初始化工作,记作这次的操作叫做DoAction。
图1示出了本申请一个实施例提供的内存多维数据库的事务日志实现方法的流程示意图。如图1所示,该内存多维数据库的事务日志实现方法,包括:
S101、在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中。
在一个实施例中,还包括:在将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中时,记录沙箱当前的数据缓存信息。
S102、将内存缓存所记录的数据写到外部存储文件。
S103、清除内存缓存所记录的数据,得到事务日志。
该实施例为事务日志记录事务数据缓存,在一次事务中发生的所有数据会按照其所属的database及其所属的cube存储在对应的buf中。这个buf会记录这次事务中所产生的所有数据。具体地,包括以下步骤:
(1)事务日志落盘:
当一次事务进入提交流程的时刻,会将当前线程所属的database下所对应的数据信息存储到内存的缓存中。同时这里还加入了区分对于系统cube所属的数据是不记录内存缓存的,这种方式最大程度保证了系统的初始化工作。同时也提供了沙箱的数据缓存功能,可以在存储事务日志的同时也记录沙箱当前的数据缓存信息。
(2)事务日志写外部存储文件:
在系统提交阶段统一的将这次事务操作中所产生的所有内存缓存所记录的数据写到外部存储文件中。
(3)事务日志的缓存清空:
在向外部存储磁盘写数据时清除所有的事务日志内存缓存当中的数据。以备下次事务的数据缓存记录。
在一个实施例中,在得到事务日志之后,方法还包括:基于事务日志,加载恢复数据。
具体地,事务日志在数据库系统启动流程中的处理方式包括以下步骤:
(1)在空库启动阶段只需要做事务日志的初始化工作,不需要做任何的事务日志加载操作。
(2)在数据库二次启动阶段需要加载事务日志文件中的数据进行数据的恢复。同时在系统启动阶段恢复事务日志数据的时刻是不再记录数据到事务日志缓存中的。
事务日志的加载恢复数据:事务日志需要在系统启动并且database及cube成功加载起来后做事务日志文件的恢复工作。这里会逐行将事务日志文件中的数据读取出来,将每行的存储信息进行解析后,按照所属的database,cube进行数据的恢复。
在一个实施例中,还包括:执行数据的持久化操作;其中,持久化操作用于存储当前数据库系统中发生的所有元对象及数据的操作信息。
具体地,事务日志在持久化数据中的实现包括:
数据库系统的持久化表现的目的是存储当前数据库系统中发生的所有元对象及数据的操作信息。而事务日志做为一种持久化保护的补充可以在持久化保存当前数据的时刻如果出现了持久化保存失败的情况,事务日志依然可以保证再系统下次启动后可以正确的读取到相应的信息。
由于持久化操作的过程持续时间可能会很长,这个时候事务日志应在进入持久化操作的时候将当前的事务日志文件截断,生成新的事务日志文件来记录当前在持久化存储过程中发生的所有事务数据信息,并在持久化成功完成后将之前截断的事务日志文件重命名作为历史记录保存,因为持久化存储后已经包含了之前的事务日志保存的信息了,因此再下次系统重启恢复阶段只需要持久化保存时刻产生的数据信息了,这部分信息在新产生的事务日志文件中有记录。但是如果发生了持久化保存失败,那么就要进行事务日志文件合并处理。
在一个实施例中,还包括:在启动加载事务日志时,判断是否存在备份事务日志;若存在备份事务日志,则将备份事务日志与当前事务日志进行合并,产生新的事务日志。
具体地,事务日志的异常处理机制包括:
系统启动加载事务日志的时刻是需要判断当前的事务日志文件是否存在临时文件,如果存在需要删除该临时文件。同时要判断当前是否有备份形式存在的事务日志文件,如果存在那么可以证明之前系统应该可能发生过异常崩溃,这种情况会导致事务日志文件没有完整的记录下来,那么此时需要将备份的事务日志文件同当前的事务日志文件进行合并,产生新的事务日志文件,原则上保证备份的事务日志文件中的数据信息在前,事务日志文件中的信息在后的原则。
在事务日志数据恢复的过程中,如果出现日志文件中的database或者cube对象索引在当前数据库系统中无法找到的情况,进行忽略该条记录处理。但是当发生日志中记录的成员数量同当前数据库系统中的成员数量不同时就要做killserver处理。这时要停止系统的运行,同时上报错误信息给用户,让用户介入进来进行相应处理。
在持久化失败的时刻需要将事务日志文件进行合并。合并原则是将截断的事务日志文件和在持久化阶段产生的新的事务日志文件进行合并,保证截断的事务日志文件中的信息在前,新产生的事务日志文件中的信息在后。数据的持久化是逐一对database进行遍历存储的,如果出现了当前的database持久化失败,那么事务日志做完合并对后续的database不再做任何处理,保证和持久化流程同步。持久化流程也是在这次的失败后不再对后续的database进行操作的。
此外,在一个实施例中,还包括:在事务提交失败的情况下,执行事务日志的回滚操作。
事务日志的回滚机制,当前数据据系统采用先写事务日志后做事务的提交动作,如果出现事务提交失败的情况。那么需要回退这次的事务日志文件中的记录。可以通过在写事务日志时刻记录当前的行数,当写完事务日志文件后并发生了事务提交失败的情况,这时产生的事务日志文件的行数一定是大于等于之前记录的行数的。那么此时进行回退只需要截断事务日志文件大小即可,将当前的事务日志文件大小恢复到之前记录的行数大小。
本申请提供的内存多维数据库的事务日志实现方法,针对多维数据库的元对象具体特点,将储存的事务日志文件的粒度更具象,更清晰;优先事务日志落盘,后进行事务提交,可以减少对事务数据回滚所带来的复杂度;事务日志在一次事务提交后统一批量的写事务日志文件可以有效的提高系统的性能,减少了事务处理的时间;兼容了多维数据库的沙箱业务能力,可以使沙箱业务调用事务日志的接口,复用事务日志的流程,从而实现了沙箱业务的事务数据落盘容灾功能;对多维数据库DATA持久化机制的补充,可以在持久化机制无法保证数据库系统一致性的状态下,依然再下次数据库系统启动后保证数据库系统的一致性。
事务日志文件的存储流程可以有效的保证数据库的容灾性,在持久化无法有效保护当前的数据库系统的情况下进行了二次保护。事务日志的存储处理可以有效的进行一次事务的存储,并无论这次事务中发生了多少次的数据修改操作,只进行一次事务日志存储,有效的提高了数据库系统的性能。同时在实现上并不依赖于事务的具体实现从而做到了和事务机制的整体解耦。事务日志的回滚机制允许在事务提交失败的情况下不再发生系统停止运行,从而可以将这次的失败记录删除,为下次系统重启加载数据提供有效的一致性。
图2示出了本申请实施例提供的内存多维数据库的事务日志实现装置的结构示意图。如图2所示,该内存多维数据库的事务日志实现装置,包括:
存储模块201,用于在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;
数据写出模块202,用于将内存缓存所记录的数据写到外部存储文件;
数据清除模块203,用于清除内存缓存所记录的数据,得到事务日志。
在一个实施例中,还包括:存储路径设置模块,用于设置事务日志的存储路径;创建模块,用于在存储路径的目录下,创建并打开事务日志文件。
在一个实施例中,还包括:数据缓存信息记录模块,用于在将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中时,记录沙箱当前的数据缓存信息。
在一个实施例中,在得到事务日志之后,装置还包括:数据加载恢复模块,用于基于事务日志,加载恢复数据。
在一个实施例中,还包括:持久化操作执行模块,用于执行数据的持久化操作;其中,持久化操作用于存储当前数据库系统中发生的所有元对象及数据的操作信息。
在一个实施例中,还包括:判断模块,用于在启动加载事务日志时,判断是否存在备份事务日志;合并模块,用于若存在备份事务日志,则将备份事务日志与当前事务日志进行合并,产生新的事务日志。
在一个实施例中,还包括:回滚操作执行模块,用于在事务提交失败的情况下,执行事务日志的回滚操作。
图2所示装置中的各个模块/单元具有实现图1中各个步骤的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
图3示出了本申请实施例提供的电子设备的结构示意图。
电子设备可以包括处理器301以及存储有计算机程序指令的存储器302。
具体地,上述处理器301可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器302可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器302可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器302可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器302可在电子设备的内部或外部。在特定实施例中,存储器302可以是非易失性固态存储器。
在一个实施例中,存储器302可以是只读存储器(Read Only Memory,ROM)。在一个实施例中,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器301通过读取并执行存储器302中存储的计算机程序指令,以实现上述实施例中的任意一种内存多维数据库的事务日志实现方法。
在一个示例中,电子设备还可包括通信接口303和总线310。其中,如图3所示,处理器301、存储器302、通信接口303通过总线310连接并完成相互间的通信。
通信接口303,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线310包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线310可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的内存多维数据库的事务日志实现方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种内存多维数据库的事务日志实现方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种内存多维数据库的事务日志实现方法,其特征在于,包括:
在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;
将所述内存缓存所记录的数据写到外部存储文件;
清除所述内存缓存所记录的数据,得到事务日志。
2.根据权利要求1所述的内存多维数据库的事务日志实现方法,其特征在于,还包括:
设置所述事务日志的存储路径;
在所述存储路径的目录下,创建并打开事务日志文件。
3.根据权利要求1所述的内存多维数据库的事务日志实现方法,其特征在于,还包括:
在将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中时,记录沙箱当前的数据缓存信息。
4.根据权利要求1所述的内存多维数据库的事务日志实现方法,其特征在于,在所述得到事务日志之后,所述方法还包括:
基于所述事务日志,加载恢复数据。
5.根据权利要求1所述的内存多维数据库的事务日志实现方法,其特征在于,还包括:
执行数据的持久化操作;其中,所述持久化操作用于存储当前数据库系统中发生的所有元对象及数据的操作信息。
6.根据权利要求1所述的内存多维数据库的事务日志实现方法,其特征在于,还包括:
在启动加载所述事务日志时,判断是否存在备份事务日志;
若存在所述备份事务日志,则将所述备份事务日志与当前事务日志进行合并,产生新的事务日志。
7.根据权利要求1所述的内存多维数据库的事务日志实现方法,其特征在于,还包括:
在事务提交失败的情况下,执行事务日志的回滚操作。
8.一种内存多维数据库的事务日志实现装置,其特征在于,包括:
存储模块,用于在事务日志初始化操作执行结束的情况下,将事务中所产生的所有数据按照所属database和所属cube存储至内存缓存中;
数据写出模块,用于将所述内存缓存所记录的数据写到外部存储文件;
数据清除模块,用于清除所述内存缓存所记录的数据,得到事务日志。
9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-7任意一项所述的内存多维数据库的事务日志实现方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的内存多维数据库的事务日志实现方法。
CN202210030723.0A 2022-01-12 2022-01-12 内存多维数据库的事务日志实现方法、装置、设备及介质 Pending CN114490543A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210030723.0A CN114490543A (zh) 2022-01-12 2022-01-12 内存多维数据库的事务日志实现方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210030723.0A CN114490543A (zh) 2022-01-12 2022-01-12 内存多维数据库的事务日志实现方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114490543A true CN114490543A (zh) 2022-05-13

Family

ID=81511704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210030723.0A Pending CN114490543A (zh) 2022-01-12 2022-01-12 内存多维数据库的事务日志实现方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114490543A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115017128A (zh) * 2022-05-26 2022-09-06 上海介方信息技术有限公司 基于corba中间件的轻量级日志服务设计方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876996A (zh) * 2009-12-01 2010-11-03 广州从兴电子开发有限公司 一种内存数据库到文件数据库的数据同步方法及系统
CN107577810A (zh) * 2017-09-27 2018-01-12 北京小米移动软件有限公司 数据写入方法、装置及计算机可读存储介质
CN110941526A (zh) * 2019-10-29 2020-03-31 平安科技(深圳)有限公司 日志存储方法、装置、服务器及计算机可读存储介质
CN112449750A (zh) * 2019-06-28 2021-03-05 京东方科技集团股份有限公司 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统
CN113010484A (zh) * 2021-03-12 2021-06-22 维沃移动通信有限公司 日志文件管理方法及装置
CN113220729A (zh) * 2021-05-28 2021-08-06 网易(杭州)网络有限公司 数据存储方法、装置、电子设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876996A (zh) * 2009-12-01 2010-11-03 广州从兴电子开发有限公司 一种内存数据库到文件数据库的数据同步方法及系统
CN107577810A (zh) * 2017-09-27 2018-01-12 北京小米移动软件有限公司 数据写入方法、装置及计算机可读存储介质
CN112449750A (zh) * 2019-06-28 2021-03-05 京东方科技集团股份有限公司 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统
CN110941526A (zh) * 2019-10-29 2020-03-31 平安科技(深圳)有限公司 日志存储方法、装置、服务器及计算机可读存储介质
CN113010484A (zh) * 2021-03-12 2021-06-22 维沃移动通信有限公司 日志文件管理方法及装置
CN113220729A (zh) * 2021-05-28 2021-08-06 网易(杭州)网络有限公司 数据存储方法、装置、电子设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张海健, 中国电力出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115017128A (zh) * 2022-05-26 2022-09-06 上海介方信息技术有限公司 基于corba中间件的轻量级日志服务设计方法及系统
CN115017128B (zh) * 2022-05-26 2023-02-10 上海介方信息技术有限公司 基于corba中间件的轻量级日志服务设计方法及系统

Similar Documents

Publication Publication Date Title
US8775386B2 (en) Device and method for generating copy of database
CN109542682B (zh) 一种数据备份方法、装置、设备和存储介质
CN1128405C (zh) 事务处理系统及方法
CN111753013A (zh) 分布式事务处理方法及装置
CN115145697B (zh) 数据库事务的处理方法、装置及电子设备
US20010047495A1 (en) Data processing system and method
CN114490543A (zh) 内存多维数据库的事务日志实现方法、装置、设备及介质
CN106991606B (zh) 交易数据处理方法及装置
CN112925676B (zh) 一种基于wal实现分布式数据库集群任意时间点恢复的方法
JP2778798B2 (ja) 制御データのキュー構造管理処理方式
CN115348276A (zh) 数据存储方法、装置、计算机设备及存储介质
CN114840361A (zh) 加快数据库恢复的方法及应用
CN115328696A (zh) 一种数据库中的数据备份方法
CN115329391B (zh) 一种文本数据库的防护方法、装置、设备及介质
CN113791934A (zh) 数据的恢复方法、计算设备及存储介质
CN113268395A (zh) 业务数据的处理方法、处理装置及终端
CN104572350A (zh) 一种元数据处理方法及装置
CN112860376A (zh) 一种快照链的制作方法、装置、电子设备及存储介质
US7350104B2 (en) Invocation of a follow on unit of work
CN114791901A (zh) 数据处理方法、装置、设备及存储介质
JP4710380B2 (ja) 分散処理システム及び分散処理方法
CN117785546A (zh) 数据库备份的方法、系统和计算设备集群
CN115525662A (zh) 保障数据一致性的处理方法、装置及相关设备
CN113076220A (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN117555729A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220513

RJ01 Rejection of invention patent application after publication