CN108255938A - 一种机载嵌入式内存数据库映像生成和加载方法 - Google Patents
一种机载嵌入式内存数据库映像生成和加载方法 Download PDFInfo
- Publication number
- CN108255938A CN108255938A CN201711292455.5A CN201711292455A CN108255938A CN 108255938 A CN108255938 A CN 108255938A CN 201711292455 A CN201711292455 A CN 201711292455A CN 108255938 A CN108255938 A CN 108255938A
- Authority
- CN
- China
- Prior art keywords
- information
- database
- data
- image
- image file
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机系统软件专业技术领域,涉及一种机载嵌入式内存数据库映像生成和加载方法。数据库映像生成方法包括:分析当前数据库,获得校验信息、配置信息以及记录信息;将这三种信息依次写入映像文件,其中记录信息内数据的地址要转换成偏移量。数据库映像加载方法包括:从映像文件中读取校验信息并进行校验;校验通过后,创建新数据库并根据配置信息对其进行配置;配置完成后,将记录信息中数据的位置重新转换成新数据库的地址,并填充到相应位置。通过本发明可以实现机载嵌入式内存数据库的备份和恢复以及快速迁移能力,提高了机载嵌入式内存数据库的可靠性,同时降低了应用开发工作对机载设备的依赖。
Description
技术领域
本发明属于计算机系统软件技术领域,具体涉及一种机载嵌入式内存数据库映像生成和加载方法。
背景技术
新一代航空电子系统为了提升数据管理能力,开始引入数据库技术进行数据管理。为了满足机载系统对实时性的要求,机载数据库通常以嵌入式内存数据库的形式存在。由于内存在设备掉电后其保存的数据会全部丢失,为了确保内存数据的可靠性,迫切需要一种适用于内存数据库的备份和恢复方法。另一方面,航电系统开发人员为了提高开发效率和进行数据分析,希望机载数据库具有在PC和机载设备之间进行快速迁移的能力,实现在PC上建立和维护机载数据库,需要的时候再导入机载设备,以及从机载数据库中导出数据到PC上进行分析。
发明内容
本发明的目的:
本发明的目的在于提出一种用于机载嵌入式内存数据库的映像生成和加载方法,实现了机载内存数据库的备份和恢复功能以及快速迁移能力,提高机载内存数据库的可靠性,同时减少应用程序开发工作对于机载设备的依赖。
本发明的技术方案:
本发明的具体技术解决方案如下:
一种机载嵌入式内存数据库映像生成和加载方法,映像生成包括:
A、对当前数据库进行分析,获取生成数据库映像所需要的校验信息、配置信息和记录信息。其中,校验信息由数据库管理系统版本校验码、数据字典校验码,内存大小端配置校验码,CRC32校验码组成;配置信息由运行时配置、字节对齐配置、数据页大小配置组成;记录信息由数据记录以及索引组成。;
B、依次将校验信息、配置信息和记录信息写入映像文件。而且,记录信息在写入映像文件之前,要将其中各条数据记录及其各个字段在内存中的地址转换成该地址相对于一个基地址的偏移量。
映像加载包括:
C、从映像文件中读取校验信息,并与执行加载操作的数据库管理系统保留的校验信息进行比对,二者完全一致才能继续加载;
D、校验通过后,创建新数据库,从映像文件中读取配置信息,并根据获取的配置信息对新数据库进行配置,使其与生成映像的原始数据库的配置一致;
E、完成数据库创建和配置后,将映像文件中剩余的记录信息填充到新创建的数据库的用于保存记录信息的内存空间。而且,记录信息中数据记录和索引的填充位置由新数据库的基地址与映像文件中的偏移量相加得到。
上述过程中,映像文件由应用程序提供给数据库,数据库读写该映像文件的接口由应用程序实现。
本发明具有的优点效果:
本发明方法针对机载环境对内存数据库的可靠性要求,实现了机载内存数据库的备份和恢复能力,确保内存数据在设备掉电后不会全部丢失。
针对机载应用的开发特点,实现了数据库的快速迁移。使开发人员既可以在PC机上建立数据库然后导入到机载设备上,又可以从机载设备中导出数据库到PC机上进行分析和更新。减少了开发工作对机载设备的依赖,提高了开发效率。
而且,将数据的位置信息以偏移量的形式写入映像文件,使其可以加载到任意内存空间而不需要进行内存地址转换。映像文件及其操作接口由应用程序提供给数据库,使得数据库备份、恢复和迁移不依赖于特定的文件系统和操作系统。提高了机载内存数据库的易用性。
附图说明
图1是数据库映像生成示意图;
图2是数据库映像加载示意图;
图3是数据的内存地址与偏移量转换示意图;
图4是数据库映像生成和加载流程图。
具体实施方式
本发明的实施方式如下:
机载应用程序在运行过程中需要进行内存数据库备份,或者分析人员需要将内存数据库导出到PC时,向机载内存数据库管理系统发起映像生成请求,同时创建一个空的映像文件Image,并将该映像文件的描述符以及写该文件的函数fwriter提供给数据库管理系统。若映像文件Image保存在本地文件系统,fwriter应实现为本地文件系统的文件写。若映像文件Image保存在其他节点,则fwriter应实现为远程的文件写。
数据库管理系统收到映像生成请求后,调用函数fwriter将自身保存的校验信息写入映像文件Image,校验信息的内容如下表所示。
完成校验信息的写入后,再调用函数fwriter将映像生成操作涉及的数据库的配置信息写入映像文件Image,配置信息的内容如下表所示。
完成校验信息的写入后,将映像生成操作涉及的数据库的数据记录和索引的内存地址转换成其相对于一个基地址的偏移量,再调用函数fwriter写入映像文件Image。举例说明,当前数据库中的一条数据记录Data包含三个字段A、B、C,长度分别为4字节,4字节和8字节,数据记录头长度4字节。如图3所示,其中数据记录Data在内存中的地址为0x10000000,则字段A、B、C的内存地址分别为0x10000004,0x10000008和0x1000000C。设当前数据库的基地址就是0x10000000,则经过转换数据记录Data的位置偏移量应当是0x10000000减去0x10000000,即0。相应的,其字段A、B、C的位置偏移量为4、8和12。
完成记录信息的写入后,映像文件生成完毕,内存数据库备份或导出操作结束。整个过程如图1所示。
机载应用程序在掉电重启后需要进行内存数据库恢复,或者开发人员需要将PC上建立的内存数据库导入到机载设备时,向机载内存数据库管理系统发起映像加载请求,同时将待加载的映像文件Image的描述符以及读该文件的函数freader提供给数据库管理系统。同理,若映像文件Image存储在本地文件系统,则freader应实现为本地文件系统的文件读。若映像文件Image保存在其他节点,则freader应实现为远程的文件读。
数据库管理系统收到映像加载请求后,调用函数freader将映像文件Image中的校验信息读到内存缓冲区,并将校验信息的内容与自己保存的校验信息进行比对,包括数据库管理系统版本,数据字典一致性,内存大小端配置一致性,映像文件完整性。若某一项校验信息不一致,校验失败,数据库管理系统通知应用程序影响加载失败。若所有校验信息都一致,校验成功,继续进行映像的加载。
校验通过后,调用函数freader将映像文件Image中的配置信息读到内存缓冲区,创建一个新的数据库,并根据配置信息中的配置数据对这个新的数据库进行配置,包括运行时功能配置,字节对齐配置,页大小配置。
完成数据库的创建和配置后,继续调用freader读取映像文件Image中的记录信息,开始进行记录信息的填充。在填充记录前,将读到内存缓冲区的数据记录和索引的位置偏移量还原成内存地址,并将数据记录和索引复制到该地址。举例说明,映像文件中数据记录Data的偏移量为0,其字段A、B、C的偏移量为4、8、12。如图3所示,由于新数据库的内存空间地址发生了变化,其基地址变成了0x20000000,则在新数据库中,数据记录Data的内存地址应当是0x20000000加上0,即0x20000000,以此类推,字段A、B、C的内存地址应当是0x20000000加上4、8、12,即0x20000004、0x20000008和0x2000000C。在映像文件中用偏移量来表示数据的位置,使得数据库可以在任何内存空间进行数据加载而不需要地址转换,提高了内存数据加载的效率。
完成记录信息的填充后,映像文件加载完毕,内存数据库恢复或导入操作结束。整个过程如图2所示。
Claims (2)
1.一种机载嵌入式内存数据库映像生成和加载方法,其特征在于:包括以下步骤;
步骤A、对当前数据库进行分析,获取生成数据库映像所需要的校验信息、配置信息和记录信息;其中,校验信息由数据库管理系统版本校验码、数据字典校验码,内存大小端配置校验码,CRC32校验码组成;配置信息由运行时配置、字节对齐配置、数据页大小配置组成;记录信息由数据记录以及索引组成;
步骤B、依次将校验信息、配置信息和记录信息写入映像文件;而且,记录信息在写入映像文件之前,要将其中各条数据记录及其各个字段在内存中的地址转换成该地址相对于一个基地址的偏移量;
步骤C、从映像文件中读取校验信息,并与执行加载操作的数据库管理系统保留的校验信息进行比对,二者完全一致才能继续加载;
步骤D、校验通过后,创建新数据库,从映像文件中读取配置信息,并根据获取的配置信息对新数据库进行配置,使其与生成映像的原始数据库的配置一致;
步骤E、完成数据库创建和配置后,将映像文件中剩余的记录信息填充到新创建的数据库的用于保存记录信息的内存空间;而且,记录信息中数据记录和索引的填充位置由新数据库的基地址与映像文件中的偏移量相加得到。
2.根据权利要求1所述的一种机载嵌入式内存数据库映像生成和加载方法,其特征在于:所述步骤B中映像文件由应用程序提供给数据库,数据库读写该映像文件的接口由应用程序实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711292455.5A CN108255938A (zh) | 2017-12-07 | 2017-12-07 | 一种机载嵌入式内存数据库映像生成和加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711292455.5A CN108255938A (zh) | 2017-12-07 | 2017-12-07 | 一种机载嵌入式内存数据库映像生成和加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108255938A true CN108255938A (zh) | 2018-07-06 |
Family
ID=62721591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711292455.5A Pending CN108255938A (zh) | 2017-12-07 | 2017-12-07 | 一种机载嵌入式内存数据库映像生成和加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255938A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032387A (zh) * | 2019-03-25 | 2019-07-19 | 中国航空无线电电子研究所 | 具有高可靠性机载设备映像加载处理功能的通用处理模块 |
CN110580253A (zh) * | 2019-09-10 | 2019-12-17 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN112667435A (zh) * | 2020-12-07 | 2021-04-16 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种基于天脉操作系统的软件映象备份方法 |
CN112882748A (zh) * | 2021-03-04 | 2021-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种嵌入式系统的映像文件管理和批量部署工具 |
CN115408104A (zh) * | 2022-08-25 | 2022-11-29 | 科东(广州)软件科技有限公司 | 一种映像的加载方法与装置及生成方法与装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835444A (zh) * | 2005-03-16 | 2006-09-20 | 中兴通讯股份有限公司 | 一种无线网络控制器多处理单元静态参数同步系统及方法 |
CN101183363A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种利用系统表结构统一配置管理内存数据库的方法 |
CN101222527A (zh) * | 2008-01-25 | 2008-07-16 | 中兴通讯股份有限公司 | 一种保护终端关键配置的方法及其系统 |
CN102262674A (zh) * | 2011-08-11 | 2011-11-30 | 大唐移动通信设备有限公司 | 一种分布式内存数据库的数据同步方法及系统 |
CN102624545A (zh) * | 2012-02-22 | 2012-08-01 | 中兴通讯股份有限公司 | 网管系统的数据备份方法、装置和恢复方法、装置 |
CN104156451A (zh) * | 2014-08-18 | 2014-11-19 | 深圳市一五一十网络科技有限公司 | 数据存储管理方法及系统 |
-
2017
- 2017-12-07 CN CN201711292455.5A patent/CN108255938A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835444A (zh) * | 2005-03-16 | 2006-09-20 | 中兴通讯股份有限公司 | 一种无线网络控制器多处理单元静态参数同步系统及方法 |
CN101183363A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种利用系统表结构统一配置管理内存数据库的方法 |
CN101222527A (zh) * | 2008-01-25 | 2008-07-16 | 中兴通讯股份有限公司 | 一种保护终端关键配置的方法及其系统 |
CN102262674A (zh) * | 2011-08-11 | 2011-11-30 | 大唐移动通信设备有限公司 | 一种分布式内存数据库的数据同步方法及系统 |
CN102624545A (zh) * | 2012-02-22 | 2012-08-01 | 中兴通讯股份有限公司 | 网管系统的数据备份方法、装置和恢复方法、装置 |
CN104156451A (zh) * | 2014-08-18 | 2014-11-19 | 深圳市一五一十网络科技有限公司 | 数据存储管理方法及系统 |
Non-Patent Citations (2)
Title |
---|
R.DANEL;L- OTTE;R. KOZEL;D. JOHANIDES;&352; VILAMOVÁ;K. JANOVSKÁ: ""Database mirroring in fault-tolerant continuous technological process control"", 《METALLURGY》 * |
陈雪帆,张驰,甄超,邸海涛: ""嵌入式内存数据库持久性策略研究"", 《信息通信》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032387A (zh) * | 2019-03-25 | 2019-07-19 | 中国航空无线电电子研究所 | 具有高可靠性机载设备映像加载处理功能的通用处理模块 |
CN110580253A (zh) * | 2019-09-10 | 2019-12-17 | 网易(杭州)网络有限公司 | 时序数据组的加载方法、装置、存储介质及电子设备 |
CN112667435A (zh) * | 2020-12-07 | 2021-04-16 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种基于天脉操作系统的软件映象备份方法 |
CN112667435B (zh) * | 2020-12-07 | 2022-09-09 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种基于天脉操作系统的软件映像备份方法 |
CN112882748A (zh) * | 2021-03-04 | 2021-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种嵌入式系统的映像文件管理和批量部署工具 |
CN112882748B (zh) * | 2021-03-04 | 2023-04-14 | 中国航空工业集团公司西安航空计算技术研究所 | 一种嵌入式系统的映像文件管理和批量部署工具 |
CN115408104A (zh) * | 2022-08-25 | 2022-11-29 | 科东(广州)软件科技有限公司 | 一种映像的加载方法与装置及生成方法与装置 |
CN115408104B (zh) * | 2022-08-25 | 2023-08-11 | 科东(广州)软件科技有限公司 | 一种映像的加载方法与装置及生成方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255938A (zh) | 一种机载嵌入式内存数据库映像生成和加载方法 | |
US10754733B2 (en) | System and method for mainframe computers backup and restore | |
US8121986B2 (en) | Method and apparatus to capture and transmit dense diagnostic data of a file system | |
CN109299072B (zh) | 一种数据库在线迁移的方法及装置 | |
US11176100B2 (en) | Systems and methods for fail-safe operations of storage devices | |
CN101983376A (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
CN105227672A (zh) | 数据存储及访问的方法和系统 | |
CN115292266A (zh) | 一种基于存储器的高可靠日志存储方法 | |
CN104951482A (zh) | 一种操作Sparse格式的镜像文件的方法及装置 | |
CN113419680A (zh) | 一种存储方法及系统 | |
US20160170869A9 (en) | Systems and methods for in-place reorganization of device storage | |
CN115470235A (zh) | 一种数据处理方法、装置以及设备 | |
CN102360381B (zh) | 一种对嵌入式程序进行无损压制的装置和方法 | |
CN113419897A (zh) | 一种文件处理方法、装置、电子设备及其存储介质 | |
CN107220342A (zh) | 一种分布式数据库的控制方法及系统 | |
US11341159B2 (en) | In-stream data load in a replication environment | |
US20170286442A1 (en) | File system support for file-level ghosting | |
CN113360095B (zh) | 硬盘数据管理方法、装置、设备及介质 | |
CN113467722B (zh) | 一种分布式存储系统的数据迁移方法及装置 | |
CN114924914A (zh) | 磁盘分区表信息备份、恢复方法及系统 | |
CN106445837A (zh) | 一种嵌入式装置历史记录存储与加载管理实现方法及装置 | |
CN105068764A (zh) | 一种模拟NandFlash的装置及方法 | |
CN114556283A (zh) | 一种数据写入、一致性检查和读取的方法及装置 | |
WO2015102670A1 (en) | Systems and methods for fail-safe operations of storage devices | |
CN117149094B (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: 20180706 |
|
RJ01 | Rejection of invention patent application after publication |