CN105468635A - 一种目标特性实时数据库及其应用方法 - Google Patents

一种目标特性实时数据库及其应用方法 Download PDF

Info

Publication number
CN105468635A
CN105468635A CN201410452969.2A CN201410452969A CN105468635A CN 105468635 A CN105468635 A CN 105468635A CN 201410452969 A CN201410452969 A CN 201410452969A CN 105468635 A CN105468635 A CN 105468635A
Authority
CN
China
Prior art keywords
data
shared drive
port
database
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
CN201410452969.2A
Other languages
English (en)
Other versions
CN105468635B (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.)
Shanghai Institute of Electromechanical Engineering
Original Assignee
Shanghai Institute of Electromechanical Engineering
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 Shanghai Institute of Electromechanical Engineering filed Critical Shanghai Institute of Electromechanical Engineering
Priority to CN201410452969.2A priority Critical patent/CN105468635B/zh
Publication of CN105468635A publication Critical patent/CN105468635A/zh
Application granted granted Critical
Publication of CN105468635B publication Critical patent/CN105468635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

本发明公开了一种基于BerkeyleyDB的目标特性实时数据库及其应用方法,本发明公开的基于BerkeyleyDB的目标特性实时数据库包括:数据库更新模块、通信模块、数据读取模块和数据资源模块;所述的通信模块包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。本发明解决了基于BerkeyleyDB的嵌入式数据库与应用程序不兼容的问题。

Description

一种目标特性实时数据库及其应用方法
技术领域
本发明涉及数据处理领域,特别涉及目标成像半实物/全数字仿真领域的一种基于BerkeyleyDB的以共享内存通信的数据库及其应用方法。
背景技术
电磁环境模型是目标成像半实物/全数字仿真的基础,电磁环境建模在产品研发领域发挥着重要应用。实时模拟一个逼真的电磁环境需要大量的数据作为支撑,如何高效地运用这些海量数据,使之满足仿真系统的实时性要求极为重要。
BerkeyleyDB是一种零配置运行模式,数据库资源占用少,实时性强,操作简单可靠,满足电磁环境仿真的需要。以BerkeyleyDB为核心的嵌入式数据库可以满足仿真系统实时性的要求。所述的以BerkeyleyDB为核心的嵌入式数据库直接运行在应用程序进程中,无数据库服务器的概念,应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的BerkeyleyDB函数库来完成对数据的保存、查询、修改和删除等操作。但是BerkeyleyDB为核心的嵌入式数据库直接嵌入到仿真应用程序中使用可能会发生兼容性问题。例如,有些仿真应用程序需运行在MicrosoftVisualC++6.0环境下,而BerkeyleyDB需运行在MicrosoftVisualStudio2005或以上版本下,因而将BerkeyleyDB直接嵌入到该应用程序会产生版本兼容性问题。解决方案之一是将仿真应用程序移植到与BerkeyleyDB兼容的环境下,但对于复杂的仿真应用程序,这样做的代价太大。
发明内容
本发明解决的问题是BerkeyleyDB为核心的嵌入式数据库会发生与应用程序不兼容的问题;为解决所述问题,本发明提供一种基于BerkeyleyDB的数据库及其应用方法。
本发明提供的基于BerkeyleyDB的数据库,包括:数据库更新模块、通信模块、数据读取模块和数据资源模块;所述的通信模块包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。
进一步,所述的数据库更新模块包括数据写入端口、数据删除端口和数据更新端口。
进一步,所述的数据读取模块包括实时数据读取端口,负责实时响应客户端数据读取的请求。
进一步,所述数据资源模块包括目标特性数据集,提供应用程序所需要的目标特性数据。
进一步,所述数据库由Key/data对进行数据管理,key为访问数据的关键字,根据服务对象的特征对key进行编码,服务对象在对应特征下的辐射特性数据保存在与key对应的data中。
本发明提供的基于BerkeyleyDB的数据库的应用方法,包括:
步骤一、建构数据库;
步骤二、应用程序启动时,数据库所在的服务端调用映像文件创建端口创建共享内存;
步骤三、客户端应用程序在运行过程中,根据服务对象的当前状态形成用于数据访问的key编码,并将所述key编码写入共享内存;
步骤四、服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据资源模块中查询到对应的data,并将data写入共享内存,客户端读取所述data,完成数据交互。
进一步,客户端由通信模块调用共享内存交互端口,首先判断共享内存是否被其他进程占用;如果被占用,则等待;如果未被占用,则获取指向共享内存的指针,并将key编码写入共享内存。
本发明的优点包括:放弃了BerkeyleyDB传统的直接嵌入到应用程序中的方式,采用基于共享内存的数据交互方式,即服务端和客户端分别运行在两个独立的进程,两者通过共享内存进行数据交互,从而解决了BerkeyleyDB为核心的嵌入式数据库会发生与应用程序不兼容的问题;
BerkeyleyDB为核心的目标特性实时数据库可以实时响应客户端的数据请求,响应速度小于1ms。
附图说明
图1是本发明的实施例提供的基于BerkeyleyDB的目标特性实时数据库的结构示意图;
图2是本发明的实施例提供的基于BerkeyleyDB的目标特性实时数据库的应用方法流程示意图。
具体实施方式
下文中,结合附图和实施例对本发明作进一步阐述。
本发明所提过的基于BerkeyleyDB的目标特性实时数据库及其应用方法可以用于所有的数据库,在本实施例中,以电磁环境仿真用数据库为例,对本发明作示意性阐述。
如图1所示,本发明提供的基于BerkeyleyDB的目标特性实时数据库,包括:数据库更新模块10、通信模块20、数据读取模块30和数据资源模块40;所述的通信模块30包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。
本发明提供的基于BerkeyleyDB的目标特性实时数据库,独立于应用程序运行环境。作为服务端,数据库启动后为客户端的应用程序提供后台实时数据支撑。服务端与客户端通过共享内存进行数据交互。
继续参考图1,所述的数据库更新模块10主要由数据写入端口、数据删除端口和数据更新端口构成,所述数据写入端口提供数据写入功能、数据删除端口提供数据删除功能、数据更新端口提供数据更新功能。
根据电磁环境仿真的实际情况,仿真过程中无需实时更新数据库,数据的写入、删除和更新作为数据库的维护环节在仿真程序启动之前完成即可。写入的数据存储在数据资源模块40。
通信模块20负责服务端与客户端的数据交互,由映像文件创建端口和共享内存数据交互端口构成。为了使服务端独立于客户端应用程序的运行环境,解决BerkeyleyDB与仿真程序运行环境的兼容性问题,本发明采用基于共享内存的数据交互方式,即服务端和客户端分别运行在两个独立的进程,两者通过共享内存进行数据交互。在应用程序启动时,调用映像文件创建端口,根据事先约定的名称创建映像文件,即共享内存。
数据读取模块30负责实时响应客户端数据读取的请求,主要包括实时数据读取端口。
数据资源模块40提供电磁环境仿真所需的目标特征数据集。
结合参考图1和图2,本发明提供的基于BerkeyleyDB的目标特性实时数据库的应用方法包括:
步骤一、建构数据库;
步骤二、应用程序启动时,数据库所在的服务端调用映像文件创建端口创建共享内存;
步骤三、客户端应用程序在运行过程中,根据服务对象的当前状态形成用于数据访问的key编码,并将所述key编码写入共享内存;
步骤四、服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据资源模块中查询到对应的data,并将data写入共享内存,客户端读取所述data,完成数据交互。
基于BerkeyleyDB的数据库由key/data对进行数据管理。key/data对相当于关系数据库系统中的行。BerkeyleyDB不提供关系数据库中列直接访问的功能,而是在key/data对中的data项中通过实际应用来封装字段。每对key/data组成一个数据库基本结构单元,整个数据库是由许多这样的结构单元构成。应用程序只需提供key就能够访问到相应的数据。Key/data可以是任意长度的二进制数据。
key是访问数据的关键字,本实施例根据服务对象的特征对key进行编码,例如描述空中飞行目标电磁辐射特性的key可编码为“qh30qv10s0.5h200En0”,表示目标的方位角和俯仰角分别为30°、10°,飞行速度为0.5Ma,飞行高度为200m,发动机额定工作。飞行器在该状态下的辐射特性数据保存在与之对应的data中,其结构采用结构化的数据结构。
typedefstruct_SignatureData
{
charkey[n1];
floatradiance[m*n];
floatrange[m*n];
//……其它需要的数据……//
}SignatureData;
key/data对设计完成后,数据库更新模块调用数据写入端口将key/data对写入数据资源模块。如果用户需要删除或更新数据库中已有的key/data对,分别调用数据删除和更新端口即可。根据电磁环境仿真需求,数据库更新无需实时进行,因而,数据库更新工作在电磁环境仿真开始前完成即可,从而进一步保证了仿真对数据库的实时性要求。
完整描述服务对象特性的所有key/data对构成数据资源模块的数据库,为电磁环境仿真提供数据支撑。
如图2所示,客户端和服务端程序启动时调用通信模块的映像文件创建端口,根据事先约定的名称创建映像文件,也即共享内存。客户端应用程序在运行过程中,根据仿真对象的当前状态形成用于数据访问的key编码,并将其写入共享内存。服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据库中查询到对应的data,并将data写入共享内存,客户端读取该data,完成数据交互。整个过程的详细步骤如下:
1)客户端程序完成key编码后,调用数据读取模块的实时数据读取端口,向共享内存发送key编码;
2)客户端由通信模块调用共享内存数据交互端口,首先判断共享内存是否被其它进程占用,如果占用,则等待,如果未占用,则获取指向共享内存的指针,并将key编码写入共享内存;
3)在预定的周期内,服务端调用共享内存数据交互端口,查看key编码是否更新,如果更新,则获取指向共享内存的指针,并读取该key编码;
4)服务端调用实时数据读取端口,根据key编码查询数据库中与之对应的data,并将其读出后向共享内存发送;
5)服务端由通信模块调用共享内存数据交互端口,首先判断共享内存是否被其它进程占用,如果占用,则等待,如果未占用,则获取指向共享内存的指针,并将data写入共享内存;
6)客户端查询到共享内存的data更新后,按照步骤3)类似的方法读取data,并由实时数据读取端口返回给客户端应用程序。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (8)

1.一种目标特性实时数据库,其特征在于,所述数据库基于BerkeyleyDB,包括:数据库更新模块、通信模块、数据读取模块和数据资源模块;所述的通信模块包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。
2.依据权利要求1所述的目标特性实时数据库,其特征在于,所述的数据库满足半实物仿真对实时性的要求。
3.依据权利要求1所述的目标特性实时数据库,其特征在于,所述的数据库更新模块包括数据写入端口、数据删除端口和数据更新端口。
4.依据权利要求1所述的目标特性实时数据库,其特征在于,所述的数据读取模块包括实时数据读取端口,负责实时响应客户端数据读取的请求。
5.依据权利要求1所述的目标特性实时数据库,其特征在于,所述数据资源模块包括目标特性数据集,提供应用程序所需要的特性数据。
6.依据权利要求1所述的目标特性实时数据库,其特征在于,所述数据库由Key/data对进行数据管理,key为访问数据的关键字,根据服务对象的特征对key进行编码,服务对象在对应特征下的辐射特性数据保存在与key对应的data中。
7.权利要求1至6中任意一项所提供的目标特性实时数据库的应用方法,其特征在于,包括:
步骤一、建构数据库;
步骤二、应用程序启动时,数据库所在的服务端调用映像文件创建端口创建共享内存;
步骤三、客户端应用程序在运行过程中,根据服务对象的当前状态形成用于数据访问的key编码,并将所述key编码写入共享内存;
步骤四、服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据资源模块中查询到对应的data,并将data写入共享内存,客户端读取所述data,完成数据交互。
8.依据权利要求7所述的目标特性实时数据库的应用方法,其特征在于,客户端由通信模块调用共享内存交互端口,首先判断共享内存是否被其他进程占用;如果被占用,则等待;如果未被占用,则获取指向共享内存的指针,并将key编码写入共享内存。
CN201410452969.2A 2014-09-09 2014-09-09 一种目标特性实时数据库及其应用方法 Active CN105468635B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410452969.2A CN105468635B (zh) 2014-09-09 2014-09-09 一种目标特性实时数据库及其应用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410452969.2A CN105468635B (zh) 2014-09-09 2014-09-09 一种目标特性实时数据库及其应用方法

Publications (2)

Publication Number Publication Date
CN105468635A true CN105468635A (zh) 2016-04-06
CN105468635B CN105468635B (zh) 2019-02-15

Family

ID=55606340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410452969.2A Active CN105468635B (zh) 2014-09-09 2014-09-09 一种目标特性实时数据库及其应用方法

Country Status (1)

Country Link
CN (1) CN105468635B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740978A (zh) * 2004-08-23 2006-03-01 华为技术有限公司 实现共享内存数据库的方法及内存数据库系统
CN101901250A (zh) * 2010-06-08 2010-12-01 中兴通讯股份有限公司 一种内存数据库及其数据处理方法
CN102298648A (zh) * 2011-09-29 2011-12-28 南京国电南自轨道交通工程有限公司 开放式实时数据库跨进程访问方法
US20120101993A1 (en) * 2010-10-21 2012-04-26 Oracle International Corporation On-device database service for mobile device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740978A (zh) * 2004-08-23 2006-03-01 华为技术有限公司 实现共享内存数据库的方法及内存数据库系统
CN101901250A (zh) * 2010-06-08 2010-12-01 中兴通讯股份有限公司 一种内存数据库及其数据处理方法
US20120101993A1 (en) * 2010-10-21 2012-04-26 Oracle International Corporation On-device database service for mobile device
CN102298648A (zh) * 2011-09-29 2011-12-28 南京国电南自轨道交通工程有限公司 开放式实时数据库跨进程访问方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘巍巍 等: "嵌入式数据库Berkeley DB的原理与应用", 《科学技术与工程》 *
郭靖: "监控组态软件框架的设计及实时数据库的实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN105468635B (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN102868726B (zh) 一种互联网信息发布方法及系统
CN101826029B (zh) 用于合并虚拟化子层的方法与系统
CN101916299B (zh) 一种基于文件系统的三维空间数据存储管理方法
US20200089666A1 (en) Secure data isolation in a multi-tenant historization system
CN102591910A (zh) 用于组合oltp数据库和olap数据库环境的计算机方法和系统
CN101930469B (zh) 调度数据服务平台中跨平台多异构数据库的通用数据访问方法
CN109997126A (zh) 事件驱动提取、变换、加载(etl)处理
CN101582767B (zh) 授权控制方法和授权服务器
CN105302920B (zh) 一种云存储数据的优化管理方法和系统
CN103425762A (zh) 基于Hadoop平台的电信运营商海量数据处理方法
CN103150165A (zh) 用于构建户外数据采集程序的框架以及程序构建方法
CN103164525A (zh) Web应用发布方法和装置
CN103853714A (zh) 一种数据处理方法和装置
CN105426572A (zh) 基于bim的多维度数据与p6数据库的交互方法及系统
CN103593181A (zh) 一种可配置分布式三维视景仿真系统
CN106716405A (zh) 用于将在计算机设备的本地桌面应用程序上创建的命令和/或内容直接注入至网页浏览器并反之亦然的系统、方法和计算机程序产品
CN106254489A (zh) 一种无文件传输的云渲染系统及其方法
CN104570980A (zh) 基于b/s架构的数控加工生产线跨平台远程监控系统
CN104298761A (zh) 一种异构软件系统间主数据匹配的实现方法
CN116224931A (zh) 一种基于实时数据驱动的卷烟工厂数字孪生仿真运行方法
CN102591935A (zh) 一种分布式数据存储管理方法及系统
Coelho et al. Expeditious Modelling of Virtual Urban Environments with Geospatial L‐systems
CN106603727A (zh) 一种系统数据集成、访问方法及装置
CN103501341A (zh) 一种Web服务的创建方法及装置
KR20110117560A (ko) 자동 업데이트를 제공하는 시스템 및 방법

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