CN115827651B - 一种低能耗的机载嵌入式数据库内存事务管理方法及系统 - Google Patents

一种低能耗的机载嵌入式数据库内存事务管理方法及系统 Download PDF

Info

Publication number
CN115827651B
CN115827651B CN202211468818.7A CN202211468818A CN115827651B CN 115827651 B CN115827651 B CN 115827651B CN 202211468818 A CN202211468818 A CN 202211468818A CN 115827651 B CN115827651 B CN 115827651B
Authority
CN
China
Prior art keywords
transaction
index array
data
shadow
memory
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
CN202211468818.7A
Other languages
English (en)
Other versions
CN115827651A (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202211468818.7A priority Critical patent/CN115827651B/zh
Publication of CN115827651A publication Critical patent/CN115827651A/zh
Application granted granted Critical
Publication of CN115827651B publication Critical patent/CN115827651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种低能耗的机载嵌入式数据库内存事务管理方法及系统。本方法为:在机载嵌入式数据库中设置一影子索引数据结构、当前索引数组和影子索引数组;在写事务操作开启前,为当前索引数组和影子索引数组分配对应的内存块;当开启事务后,用户对数据库中数据进行修改时,将当前索引数组所在内存中存储的数据偏移量始终随着机载嵌入式数据库中数据的变化而变化,将影子索引数组指向上一次事务提交时的数据库对象;获取事务提交影响因素并将其发送给GRU模型,根据事务提交影响因素和上一次事务状态信息判断当前事务是否具备提交条件;若具备则执行事务提交,否则事务暂时不执行提交,进入下一事务操作;在接收到回滚指令时,进行事务回滚。

Description

一种低能耗的机载嵌入式数据库内存事务管理方法及系统
技术领域
本发明属于数据管理技术领域,具体涉及一种低能耗的机载嵌入式数据库内存事务管理方法及系统。
背景技术
机载嵌入式数据库的出现解决了机载嵌入式设备中大量数据和复杂数据管理的需求。与其他数据库相比,机载嵌入式数据库具备体积小、可移植性好、直接与应用程序集成等特点,在运行时,它们需要较少的内存资源和空间,主要用于对实时性、可靠性以及资源占用方面有较高要求的嵌入式系统。在机载嵌入式数据库对数据进行基本的操作过程中,事务(Transaction)包含了一组数据库操作命令,所有的命令作为一个整体一起向系统提交或撤消操作请求,即要么都执行,要么都不执行。因此,事务是一个不可分割的工作逻辑单元。
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态,因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果机载嵌入式数据库系统运行中发生故障,有些事务尚未完成就被迫中断,系统将事务中对数据库的所有已完成的操作全部撤消,回滚到事务开始时的一致状态,即事务的特性原子性。内存数据库常存在在事务开启后超长时间未提交或忘记提交的状态,运行时间越久,会导致数据冗余率过高以及数据丢失的风险,极大影响嵌入式数据库的运行效率,因此内存事务自动提交管理方法是一种提高内存数据库性能的重要方法之一。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种低能耗的机载嵌入式数据库内存事务管理方法及系统。内存事务管理方法是一种基于事务操作优化的方法,用于减少受限环境下数据的操作以及确保信息系统中数据基本操作的完整性和一致性。为实现机载嵌入式数据库内存事务的有效管理,机载嵌入式数据库添加了一种基于影子索引的内存分配管理机制即基于影子索引的内存事务自动提交管理机制。在写事务操作开启前,建立当前索引数组和影子索引数组并分配对应的内存块,存储当前数据地址偏移信息;在写开启事务开启后,用户对内存中数据进行修改时,数据修改后的内存块地址偏移存储到当前索引数组中,影子索引数组存储上一个状态数据信息;对比影子索引中数据和当前索引中数据进行影响提交的参量判断。建立GRU模型进行事务“自动”提交算法学习。门控循环神经网络GRU(Gate Recurrent Unit)是一种可以解决长期记忆和反向传播中的梯度等问题的模型,其基本结构包括三层:输入层、隐层和输出层,门控循环单元中的重置门和更新门的输入均为当前输入X(t)与上一时间事务状态H(t-1),隐藏层的输出由激活函数为sigmoid函数的全连接层计算得到。在写事务进行自动提交后,释放当前影子索引数组所在内存块;写事务进行自动回滚后,影子索引数组所在内存块中的数据状态信息将同步到当前索引数组中。
如果没有基于影子索引的内存事务自动提交管理机制,随着数据的更新迭代,会增加机载嵌入式数据库中数据不一致的几率,有效数据的完整性将会受到挑战。该方法可对机载嵌入式数据库中事务的基本操作进行有效保障,通过影子事务自动提交管理的方法可快速查询到事务状态发生变化时修改的数据,降低检索数据的范围,并通过GRU算法模型进行事务自动提交判断,改善了机载嵌入式数据库内存性能,实现了数据操作的低能耗和高可靠性。
本发明提供了一种基于影子索引的内存事务自动提交管理机制,在尽可能降低事务操作内存范围以及降低事务冗余风险的情况下,实现对机载嵌入式数据库中数据有效的管理能力。本发明包括以下步骤:
(1)在开启事务后,当用户对内存中数据进行修改时,当前索引数组所在内存中存储的数据偏移量始终随着数据库中数据的变化而变化,而影子索引数组则指向上一次事务提交时的数据库对象,数据库对象是指所提交的数据及数据描述信息。操作缓存池中存下一条操作的数据以及操作的数据类型。
(2)数据库内部接口获取机载嵌入式数据库当前内存有无数据、数据量大小、系统内资源占用大小、脏页、影子索引中数据地址等事务提交影响因素信息,GRU模型通过事务提交影响因素数据输入和上一个节点传递下来的事务状态信息(即上一次事务提交的事务状态信息)判断当前事务是否具备自动提交的条件,通过学习的方法,拟合当前事务自动提交与否的输出。具体为提出了一种基于GRU事务自动提交的快速辨识方法,该方法中,以一段时间内的内存有无数据、数据量大小、系统内资源占用大小、脏页、影子索引中数据地址、前期的事务状态信息作为样本输入至GRU网络中进行训练,得到预测当前事务自动提交与否的权重参数,根据得到的权重参数构建GRU网络对事务提交与否的判断模型。将接口采集到的数据输入构建的事务自动提交预测模型中,预测模型输出自动提交与否的信息。
(3)在事务自动提交后,根据curr_轮换选择找到当前索引数组和影子索引数组,将当前索引数组中的数据偏移量同步到影子索引数组中,影子索引数组存储数据偏移信息的内存块的分配标志将被擦除,清除缓存池,当前影子内存块将被回收,此次事务修改数据生效。
(4)在事务回滚后,根据curr_轮换选择找到当前索引数组和影子索引数组,将影子索引数组中的数据偏移量同步到当前索引数组中,影子索引数组存储数据偏移信息的内存块的分配标志将被擦除,清除缓冲池,当前影子内存块将被回收,数据将恢复到上一个一致性状态。
在步骤(1)中,事务开启后当前索引数组和影子索引数组中的每个元素值存储的是每个对象在内存中针对数据库基地址的偏移量,通过基地址加偏移量可定位对象在内存中的实际位置。
在步骤(2)中,通过GRU模型实现自动捕获当前节点的输入和上一个传递下来的状态并进行自动提交判断的操作。
S1确定自动提交影响因素:数据库当前内存有无数据、数据量大小、系统内资源占用大小、脏页、影子索引中数据地址等影响因素信息和前期的事务状态信息状态信息;
S2对影响因素数据进行量化处理,并进行数据特征扩充;
S3构建GRU门控循环神经网络模型;
S4将影响因素数据输入到GRU神经网络模型进行模型训练,得到训练后的GRU神经网络模型;
S5根据训练侯GRU模型的预测,输出自动提交或不提交的评价值以及传递给下一个节点的事务状态。
在步骤(3)(4)中,事务自动提交后,根据线性影子根页面算法将当前索引对象中修改的数据偏移量同步到影子索引数组中,提交成功后通过修改影子索引数组所在内存块信息头中存储的状态信息allocated对内存进行回收。事务自动回滚后,根据线性影子根页面算法将影子索引数组中的数据偏移量同步到当前索引数组,覆盖当前索引数组中的偏移量,回滚成功后通过修改影子索引数组所在内存块信息头中存储的状态信息allocated对内存进行回收。
本发明还提供一种低能耗的机载嵌入式数据库内存事务管理系统,其特征在于,包括影子索引数据结构、当前索引数组、影子索引数组和内存管理模块;其中,
所述影子索引数据结构包括当前索引数组的首地址、影子索引数组的首地址、当前索引数组大小、影子索引数组大小、机载嵌入式数据库已使用的索引数目;
所述内存管理模块,用于在写事务操作开启前,为当前索引数组和影子索引数组分配对应的内存块,用于存储当前数据地址偏移信息;当开启事务后,用户对机载嵌入式数据库中数据进行修改时,将当前索引数组所在内存中存储的数据偏移量始终随着机载嵌入式数据库中数据的变化而变化,将影子索引数组指向上一次事务提交时的数据库对象;获取事务提交影响因素并将其发送给GRU模型,所述GRU模型根据收到的所述事务提交影响因素和上一次事务状态信息判断当前事务是否具备自动提交的条件;如果具备自动提交的条件,则执行事务提交,否则事务暂时不执行提交,进入下一个事务操作;在接收到回滚指令时,进行事务回滚;
执行事务提交的方法为:交替选择当前索引数组和影子索引数组,将当前索引数组中的数据偏移量同步到影子索引数组中,将影子索引数组存储数据偏移信息的内存块的分配标志擦除并回收对应的内存块,使得当前开启事务所修改数据生效;
执行事务回滚的方法为:交替选择当前索引数组和影子索引数组,将影子索引数组中的数据偏移量同步到当前索引数组中,将影子索引数组存储数据偏移信息的内存块的分配标志擦除并回收对应的内存块,使得数据恢复到上一次事务提交的状态。
本发明还提供一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。
与现有技术相比具有的有益效果是:
本方法通过影子内存事务保证了机载嵌入式数据库中数据的一致性并通过学习模型对事务状态进行自动提交与否的判断,保证了数据的完整性,避免了因事务开启超长时间未提交或忘记提交而导致的内存资源占用过大以及数据丢失的风险,进一步保证了数据操作的低能耗和高可靠性,提高了机载嵌入式数据库的运行效率。
附图说明
图1为影子索引机制数据结构图。
图2为内存分配管理机制数据结构。
图3为基于GRU的事物自动提交模型原理图。
图4为影子索引机制事务提交原理图。
图5为影子索引机制事务回滚原理图。
图6为内存事务管理方法架构图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明一种低能耗的机载嵌入式数据库内存事务管理方法,该方法对数据表结构进行了设计,实现对机载嵌入式数据库对内存事务的管理。
本发明机载嵌入式数据库影子索引机制中设置curr_代表索引数据结构的标识,数组root存储索引结构信息,结构root[0]为影子索引数组,结构root[1]为当前索引数组。其中成员变量index为当前索引数组的首地址,成员变量shadowIndex为影子索引数组的首地址,字段indexUsed为已用索引数目,具体数据结构参照图1(图中的root为整个索引结构信息的别名,其中root[0]和root[1]分别代表不同的索引数组)。
本发明机载嵌入式数据库内存分配管理机制由内存信息头和实际使用的内存块组成,内存信息头存储相关内存块的偏移信息以及状态信息,实际使用的内存块为根据申请大小动态分配的物理内存。内存信息头中保存了prev_上一条数据的数据头相对总空间首地址的偏移、next_下一条数据的数据头相对总空间首地址的偏移、本条数据相对总空间首地址的偏移data_,并保存了当前指向的实际使用的内存块的状态信息,包括size_本条数据大小,allocated_当前内存块是否分配标识等,具体数据结构参照图2。
基于影子索引的内存事务自动提交管理机制,其具体实施方式如下:
(1)在开启事务后,其中curr_轮换选择当前索引结构和影子索引结构,allocated_用于标记内存分配时内存块的状态信息,其影子索引结构和内存分配管理数据结构将应用到整个机载嵌入式数据库数据内存事务管理中,当用户对内存中数据进行修改时,当前索引数组所在内存中存储的数据偏移量始终随着数据库中数据的变化而变化,而影子索引数组则指向上一次事务提交时数据库的对象。
(2)获取机载嵌入式数据库当前有无数据、数据量大小、系统内资源占用大小、脏页、当前索引数组偏移数据和影子索引数组偏移数据是否一致以及前期的事务状态等信息,并从所述数据中提取判断影响自动提交的多个影响因子,对多个所述影响因子预处理后得到样本数据集,数据集样本作为输入训练GRU神经网络模型,GRU神经网络模型包括两个输入、两个门、一个候选隐藏层状态、一个输出。经过GRU神经网络的特征训练完成事务自动提交模型的构建。结构图参照图3。
S1确定自动提交影响因素:影响因素包括:输入层影响因子d(t)代表数据量大小,u(t)代表系统内占用资源大小,y(t)代表数据库脏页,w(t)代表当前索引数组偏移数据和影子索引数组偏移数据是否一致,其H(t-1)代表前期的事务状态信息。
S2对影响因素数据进行量化处理,并进行数据特征扩充,隐藏层的激活函数选用Sigmoid函数,其公式为f(x)=1/(1+e-x)。
S3通过上一个传输下来的状态H(t-1)和当前节点的输入X(t)来获取两个门控状态,GRU分为两个门即重置门和更新门,X(t)代表上述d(t)、u(t)、(t)和w(t)构成的集合。通过sigmoid函数分别得到重置门表示为前一状态有多少信息被写入到当前的候选集,更新门表示用于控制前一时刻的状态信息被带入到当前状态中的程度。
时间步t下重置门与更新门的输出值分别为Rt=σ(X(t)Wxr+H(t-1)Whr+br)和Zt=σ(X(t)Wxz+H(t-1)Whz+bz),Wxr,Whr,Wxz,Whz为权重矩阵,H(t-1)为上一时刻隐藏层输出值,X(t)为当前输入数据,br,bz为偏置值,σ为sigmoid激活函数;候选隐藏层状态H1=tanh(X(t)Whx+Rt⊙H(t-1)Whh+bh),R(t)趋近于0的时候,模型即丢弃过去的隐藏信息,R(t)趋近于1的时候,模型即将过去的隐藏信息添加到当前信息中。最终隐藏状态Ht=(1-Zt)⊙H(t-1)+Zt⊙H1,其中H(t–1)包含了过去的信息,H1为候选隐藏状态,Zt为更新门。通过训练,获取预测事务自动提交与否的权重参数,根据得到的权重参数构建GRU网络模型。S4将影响因素输入到训练好的GRU神经网络模型进行预测,Y是输出层,Y(t)是输出层t时刻的输出,输出层的计算公式为Y(t)=softmax((Wq)Ht2+bo),Y(t)为最终输出,Ht为最终隐藏状态作为输出层的输入信息,Wq为隐含层到输出层的权重,bo为偏置。输出层的激活函数为softmax,当Y(t)的输出结果大于0.8时,输出层输出数据自动提交的判断以及当前节点的事务状态,当Y(t)的输出结果小于0.8时输出层输出无需提交的判断以及当前节点的事务状态。
(3)在事务自动提交后,采用线性影子根页面算法(目的是快速找到需要同步的数据)(当前索引数组和影子索引数组被一个块内存标记,块内存中的1bit大小对应当前索引数组或影子索引数组的16byte大小。在数据未更新时,块内存中所有位置被初始化为0,当前索引数组或影子索引数组中数据被修改时,对应块内存的位置被置为1。当事务提交或回滚时,先检查块内存中的哪些bit位数据被置为1,再根据bit位找到对应的当前索引数组或影子索引数组对应的16byte数据,只需完成bit位对应的16byte数据的替换来实现事务的提交和回滚)得到被修改的偏移量,块内存不被内存管理模块管理,在数据库启动时申请到块内存。这个块内存跟当前索引数组和影子索引数组是线性对应的,即块内存的第一个bit对应当前索引数组的1-16byte,第二个bit对应当前索引数组的17-32byte。假设在修改记录i时,当前索引数组中第18个byte的值改为修改记录i后的新地址,因为第18个byte对应第二个bit,因此会同时将块内存中第二个bit位置1。在事务提交时,检查到块内存中第二个bit位是1,会将当前索引数组中的17-32byte的偏移量同步到影子索引数组中,17-32byte中包含记录i新的偏移量,即得到了被修改的偏移量)。当前索引数组中被修改的数据偏移量会拷贝到影子索引数组中,此时当前索引数组和影子索引数组存储的数据偏移量都是用户修改的数据的偏移量,数据库达到当前状态的一致性,原理图参照图4。
(4)在事务自动回滚后,采用线性影子根页面算法得到被修改的偏移量,当前索引数组中被修改的数据偏移量会被影子索引数组中的偏移量覆盖,此时当前索引数组和影子索引数组存储的数据偏移量都是用户修改前的数据的偏移量,数据库恢复到上一个一致性状态,修改影子索引数组占用内存块所在信息头中allocated_的状态信息为false,并改变偏移信息为寻找下一个内存块的地址信息,原理图参照图5。
发明实例一:本发明中提出了一种基于GRU事务自动提交的快速辨识方法,该方法中,以一段时间内的内存有无数据、数据量大小、系统内资源占用大小、脏页、影子索引中数据地址、前期的事务状态信息作为样本输入至GRU网络中进行训练,得到预测当前事务自动提交与否的权重参数,根据得到的权重参数构建GRU网络对事务提交与否的判断模型。将接口采集到的数据输入构建的事务自动提交预测模型中,预测模型输出自动提交与否的信息。
发明实例二:机载嵌入式数据库内存事务管理中内存分配由内存信息头和实际使用的内存块组成,内存信息头存储内存块偏移量以便快速查找下一块内存地址,内存块为动态分配的物理内存,内存信息头与内存块之间由链表连接。写事务修改数据后提交时,根据线性影子根页面算法快速定位当前索引数组中被修改的偏移量并完成当前索引数组中偏移量到影子索引数组的覆盖。写事务修改数据回滚时,根据线性影子根页面算法快速定位当前索引数组中被修改的偏移量并完成影子索引数组到当前索引数组中的覆盖,即当前索引同步上一步内存块中影子索引中信息。在将影子索引数组占用内存块进行释放的过程中,只需要改变内存块信息头中的状态信息以及偏移信息。
发明实例三:机载嵌入式数据库采用一种内存事务管理方法,通过影子方法可快速查询到事务状态发生变化时修改的数据,当修改10条数据(每条数据大小1k)提交或回滚时,仅需要计算索引的offs*数据条数,offs大小为4Byte,即4Byte*10=40Byte。机载嵌入式数据库采用普通机制时,当修改10条数据(每条数据大小1k)提交或回滚时,需将修改数据拷贝到原有内存数据块进行数据覆盖,需计算每条数据大小size_*数据条数,即1024Byte*10=10240Byte,普通机制对比本发明修改10条数据的能耗增加了约200倍,证明本发明方法缩小了数据检索的范围,从根本上降低了能耗。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (8)

1.一种低能耗的机载嵌入式数据库内存事务管理方法,其步骤包括:
在机载嵌入式数据库中设置一影子索引数据结构、当前索引数组和影子索引数组;所述影子索引数据结构包括当前索引数组的首地址、影子索引数组的首地址、当前索引数组大小、影子索引数组大小、机载嵌入式数据库已使用的索引数目;
在写事务操作开启前,为当前索引数组和影子索引数组分配对应的内存块,用于存储当前数据地址偏移信息;
当开启事务后,用户对机载嵌入式数据库中数据进行修改时,当前索引数组所在内存中存储的数据偏移量始终随着机载嵌入式数据库中数据的变化而变化,将影子索引数组指向上一次事务提交时的数据库对象;
获取事务提交影响因素并将其发送给GRU模型,所述GRU模型根据收到的所述事务提交影响因素和上一次事务状态信息判断当前事务是否具备自动提交的条件;如果具备自动提交的条件,则执行事务提交,否则事务暂时不执行提交,进入下一个事务操作;在接收到回滚指令时,进行事务回滚;
执行事务提交的方法为:交替选择当前索引数组和影子索引数组,将当前索引数组中的数据偏移量同步到影子索引数组中,将影子索引数组存储数据偏移信息的内存块的分配标志擦除并回收对应的内存块,使得当前开启的事务所修改的数据生效;
执行事务回滚的方法为:交替选择当前索引数组和影子索引数组,将影子索引数组中的数据偏移量同步到当前索引数组中,将影子索引数组存储数据偏移信息的内存块的分配标志擦除并回收对应的内存块,使得数据恢复到上一次事务提交的状态。
2.根据权利要求1所述的方法,其特征在于,所述事务提交影响因素包括机载嵌入式数据库当前内存有无数据、数据量大小、系统内资源占用大小、脏页、影子索引中数据地址信息。
3.根据权利要求2所述的方法,其特征在于,所述GRU模型为训练后的GRU模型;训练所述GRU模型的方法为:
11)利用d(t)代表数据量大小,u(t)代表系统内占用资源大小,y(t)代表数据库脏页,w(t)代表当前索引数组偏移数据和影子索引数组偏移数据是否一致,H(t-1)代表上一个事务状态信息;
12)对事务提交影响因素样本数据进行量化处理;GRU模型的隐藏层的激活函数选用Sigmoid函数,输出层的激活函数选用softmax函数;
13)通过上一事务提交对应的节点传输下来的状态H(t-1)和当前事务提交对应的节点的输入信息X(t)来获取GRU模型中重置门、更新门的门控状态;输出层Y(t)输出数据是否自动提交的判断以及当前节点的事务状态。
4.根据权利要求1或2或3所述的方法,其特征在于,采用线性影子根页面算法执行事务提交和执行事务回滚;其中,所述线性影子根页面算法为:采用一个块内存i对当前索引数组和影子索引数组进行标记,块内存i中的1bit大小对应当前索引数组或影子索引数组的16byte大小;在数据未更新时,块内存i中所有位置被初始化为0,当前索引数组或影子索引数组中数据被修改时,将块内存i的对应位置置为1;当事务提交或回滚时,先检查块内存中的被置为1的bit位,再根据该bit位找到对应的当前索引数组或影子索引数组对应的16byte数据进行相应的事务提交或回滚。
5.根据权利要求1或2或3所述的方法,其特征在于,所述机载嵌入式数据库中设置一内存分配管理单元,用于存储内存信息头信息和分配内存块;所述内存信息头信息包括上一条数据的数据头相对总空间首地址的偏移、下一条数据的数据头相对总空间首地址的偏移、本条数据相对总空间首地址的偏移,当前指向的实际使用的内存块的状态信息。
6.一种低能耗的机载嵌入式数据库内存事务管理系统,其特征在于,包括影子索引数据结构、当前索引数组、影子索引数组和内存管理模块;其中,
所述影子索引数据结构包括当前索引数组的首地址、影子索引数组的首地址、当前索引数组大小、影子索引数组大小、机载嵌入式数据库已使用的索引数目;
所述内存管理模块,用于在写事务操作开启前,为当前索引数组和影子索引数组分配对应的内存块,用于存储当前数据地址偏移信息;当开启事务后,用户对机载嵌入式数据库中数据进行修改时,当前索引数组所在内存中存储的数据偏移量始终随着机载嵌入式数据库中数据的变化而变化,将影子索引数组指向上一次事务提交时的数据库对象;获取事务提交影响因素并将其发送给GRU模型,所述GRU模型根据收到的所述事务提交影响因素和上一次事务状态信息判断当前事务是否具备自动提交的条件;如果具备自动提交的条件,则执行事务提交,否则事务暂时不执行提交,进入下一个事务操作;在接收到回滚指令时,进行事务回滚;
执行事务提交的方法为:交替选择当前索引数组和影子索引数组,将当前索引数组中的数据偏移量同步到影子索引数组中,将影子索引数组存储数据偏移信息的内存块的分配标志擦除并回收对应的内存块,使得当前开启的事务所修改的数据生效;
执行事务回滚的方法为:交替选择当前索引数组和影子索引数组,将影子索引数组中的数据偏移量同步到当前索引数组中,将影子索引数组存储数据偏移信息的内存块的分配标志擦除并回收对应的内存块,使得数据恢复到上一次事务提交的状态。
7.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至5任一所述方法中各步骤的指令。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一所述方法的步骤。
CN202211468818.7A 2022-11-22 2022-11-22 一种低能耗的机载嵌入式数据库内存事务管理方法及系统 Active CN115827651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211468818.7A CN115827651B (zh) 2022-11-22 2022-11-22 一种低能耗的机载嵌入式数据库内存事务管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211468818.7A CN115827651B (zh) 2022-11-22 2022-11-22 一种低能耗的机载嵌入式数据库内存事务管理方法及系统

Publications (2)

Publication Number Publication Date
CN115827651A CN115827651A (zh) 2023-03-21
CN115827651B true CN115827651B (zh) 2023-07-04

Family

ID=85530315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211468818.7A Active CN115827651B (zh) 2022-11-22 2022-11-22 一种低能耗的机载嵌入式数据库内存事务管理方法及系统

Country Status (1)

Country Link
CN (1) CN115827651B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860722B (zh) * 2023-08-31 2023-11-14 中国科学院软件研究所 一种数据库持久化组织优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797227A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 信息处理方法、装置、存储介质及电子设备
US11221983B1 (en) * 2018-08-29 2022-01-11 EMC IP Holding Company LLC Multi-level indexing of backup files
CN114706836A (zh) * 2022-03-29 2022-07-05 中国科学院软件研究所 一种基于机载嵌入式数据库的数据生命周期管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402623A (zh) * 2011-12-28 2012-04-04 北京人大金仓信息技术股份有限公司 面向嵌入式数据库系统的无日志事务处理方法
CN105005535B (zh) * 2015-07-22 2018-04-20 清华大学 一种分布式闪存事务处理方法
US10565070B2 (en) * 2017-11-29 2020-02-18 Bmc Software, Inc. Systems and methods for recovery of consistent database indexes
GB2573558B (en) * 2018-05-10 2020-09-02 Advanced Risc Mach Ltd A technique for managing a cache structure in a system employing transactional memory
US20210034467A1 (en) * 2019-07-29 2021-02-04 EMC IP Holding Company LLC Techniques for duplicating inode state to prevent loss of inode metadata
US11481285B1 (en) * 2019-11-19 2022-10-25 Cdw Llc Selective database data rollback
CN111427966B (zh) * 2020-06-10 2020-09-22 腾讯科技(深圳)有限公司 数据库事务处理方法、装置及服务器
US20220148084A1 (en) * 2020-11-06 2022-05-12 issuerPixel Inc. a Nevada C. Corp Self-building hierarchically indexed multimedia database
CN114048153A (zh) * 2021-10-20 2022-02-15 上海那一科技有限公司 一种通过影子内存页实现内存数据库的事务的方法
CN115099309A (zh) * 2022-05-30 2022-09-23 四川警察学院 一种为图数据的存储和索引设计代价评估模型的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221983B1 (en) * 2018-08-29 2022-01-11 EMC IP Holding Company LLC Multi-level indexing of backup files
CN111797227A (zh) * 2019-04-09 2020-10-20 Oppo广东移动通信有限公司 信息处理方法、装置、存储介质及电子设备
CN114706836A (zh) * 2022-03-29 2022-07-05 中国科学院软件研究所 一种基于机载嵌入式数据库的数据生命周期管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于持久性内存动态库的事务优化研究;陈宏宇;《中国优秀硕士学位论文全文数据库 信息科技辑》;第I137-15页 *

Also Published As

Publication number Publication date
CN115827651A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
US8429134B2 (en) Distributed database recovery
CN110569979B (zh) 面向嘈杂中型量子设备的逻辑-物理比特重映射方法
CN110471820B (zh) 一种基于循环神经网络的云存储系统磁盘故障预测方法
CN110968272B (zh) 基于时间序列预测的海量小文件存储性能优化方法及系统
DE112012001302T5 (de) Cachen von Daten in einem Speichersystem mit mehreren Cache-Speichern
CN115827651B (zh) 一种低能耗的机载嵌入式数据库内存事务管理方法及系统
JPH0887511A (ja) B木インデクスの管理方法およびシステム
US9208374B2 (en) Information processing apparatus, control method therefor, and electronic device
CN107665219B (zh) 一种日志管理方法及装置
JP6877435B2 (ja) データベース動作方法及び装置
CN111651455A (zh) 基于机器学习的高效并发索引数据结构
WO2020259543A1 (zh) 一种基于联合优化回声状态网络的热数据预测方法
EP3396542B1 (en) Database operating method and device
CN106970937B (zh) 一种基于本地缓存快速建立索引的方法及系统
CN109165321A (zh) 一种基于非易失内存的一致性哈希表构建方法和系统
CN112100188A (zh) 基于机器学习的并发控制方法及系统
US9323671B1 (en) Managing enhanced write caching
CN111309982A (zh) 机器学习数据索引结构的自适应结构调整方法及系统
Champine Current trends in data base systems
CN114022148B (zh) 基于区块链的交易冲突检测方法、装置、设备和存储介质
CN115437550A (zh) 存储系统的写入方法、分布式存储系统的写入方法
JP2022098495A (ja) データベースを保存するためのハイブリッドシャドウページング
WO2014061847A1 (ko) 모바일 환경에 구축된 데이터베이스에 대한 트랜잭션 로깅 및 회복 장치 및 그 방법
Kargar et al. E2-NVM: A Memory-Aware Write Scheme to Improve Energy Efficiency and Write Endurance of NVMs using Variational Autoencoders.
CN111506458A (zh) 一种提升f2fs文件系统事务性能的方法、模块及存储系统

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