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

文档序号:9708334阅读:863来源:国知局
一种目标特性实时数据库及其应用方法
【专利说明】一种目标特性实时数据库及其应用方法
[0001]
技术领域
[0002]本发明涉及数据处理领域,特别涉及目标成像半实物/全数字仿真领域的一种基于Berkeyley DB的以共享内存通信的数据库及其应用方法。
[0003]
【背景技术】
[0004]电磁环境模型是目标成像半实物/全数字仿真的基础,电磁环境建模在产品研发领域发挥着重要应用。实时模拟一个逼真的电磁环境需要大量的数据作为支撑,如何高效地运用这些海量数据,使之满足仿真系统的实时性要求极为重要。
[0005]Berkeyley DB是一种零配置运行模式,数据库资源占用少,实时性强,操作简单可靠,满足电磁环境仿真的需要。以Berkeyley DB为核心的嵌入式数据库可以满足仿真系统实时性的要求。所述的以Berkeyley DB为核心的嵌入式数据库直接运行在应用程序进程中,无数据库服务器的概念,应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的Berkeyley DB函数库来完成对数据的保存、查询、修改和删除等操作。但是Berkeyley DB为核心的嵌入式数据库直接嵌入到仿真应用程序中使用可能会发生兼容性问题。例如,有些仿真应用程序需运行在Microsoft Visual C++6.0环境下,而Berkeyley DB 需运行在 Microsoft Visual Stud12005 或以上版本下,因而将 BerkeyleyDB直接嵌入到该应用程序会产生版本兼容性问题。解决方案之一是将仿真应用程序移植到与Berkeyley DB兼容的环境下,但对于复杂的仿真应用程序,这样做的代价太大。
[0006]

【发明内容】

[0007]本发明解决的问题是Berkeyley DB为核心的嵌入式数据库会发生与应用程序不兼容的问题;为解决所述问题,本发明提供一种基于Berkeyley DB的数据库及其应用方法。
[0008]本发明提供的基于Berkeyley DB的数据库,包括:数据库更新模块、通信模块、数据读取模块和数据资源模块;所述的通信模块包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。
[0009]进一步,所述的数据库更新模块包括数据写入端口、数据删除端口和数据更新端□。
[0010]进一步,所述的数据读取模块包括实时数据读取端口,负责实时响应客户端数据读取的请求。
[0011]进一步,所述数据资源模块包括目标特性数据集,提供应用程序所需要的目标特性数据。
[0012]进一步,所述数据库由Key/data对进行数据管理,key为访问数据的关键字,根据服务对象的特征对key进行编码,服务对象在对应特征下的辐射特性数据保存在与key对应的data中。
[0013]本发明提供的基于Berkeyley DB的数据库的应用方法,包括:
步骤一、建构数据库;
步骤二、应用程序启动时,数据库所在的服务端调用映像文件创建端口创建共享内存;
步骤三、客户端应用程序在运行过程中,根据服务对象的当前状态形成用于数据访问的key编码,并将所述key编码写入共享内存;
步骤四、服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据资源模块中查询到对应的data,并将data写入共享内存,客户端读取所述data,完成数据交互。
进一步,客户端由通信模块调用共享内存交互端口,首先判断共享内存是否被其他进程占用;如果被占用,则等待;如果未被占用,则获取指向共享内存的指针,并将key编码写入共享内存。
[0014]本发明的优点包括:放弃了 Berkeyley DB传统的直接嵌入到应用程序中的方式,采用基于共享内存的数据交互方式,即服务端和客户端分别运行在两个独立的进程,两者通过共享内存进行数据交互,从而解决了 Berkeyley DB为核心的嵌入式数据库会发生与应用程序不兼容的问题;
Berkeyley DB为核心的目标特性实时数据库可以实时响应客户端的数据请求,响应速度小于1ms。
[0015]
【附图说明】
[0016]图1是本发明的实施例提供的基于Berkeyley DB的目标特性实时数据库的结构不意图;
图2是本发明的实施例提供的基于Berkeyley DB的目标特性实时数据库的应用方法流程示意图。
[0017]
【具体实施方式】
[0018]下文中,结合附图和实施例对本发明作进一步阐述。
[0019]本发明所提过的基于Berkeyley DB的目标特性实时数据库及其应用方法可以用于所有的数据库,在本实施例中,以电磁环境仿真用数据库为例,对本发明作示意性阐述。
[0020]如图1所示,本发明提供的基于Berkeyley DB的目标特性实时数据库,包括:数据库更新模块10、通信模块20、数据读取模块30和数据资源模块40 ;所述的通信模块30包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。
[0021]本发明提供的基于Berkeyley DB的目标特性实时数据库,独立于应用程序运行环境。作为服务端,数据库启动后为客户端的应用程序提供后台实时数据支撑。服务端与客户端通过共享内存进行数据交互。
[0022]继续参考图1,所述的数据库更新模块10主要由数据写入端口、数据删除端口和数据更新端口构成,所述数据写入端口提供数据写入功能、数据删除端口提供数据删除功能、数据更新端口提供数据更新功能。
[0023]根据电磁环境仿真的实际情况,仿真过程中无需实时更新数据库,数据的写入、删除和更新作为数据库的维护环节在仿真程序启动之前完成即可。写入的数据存储在数据资源模块40。
[0024]通信模块20负责服务端与客户端的数据交互,由映像文件创建端口和共享内存数据交互端口构成。为了使服务端独立于客户端应用程序的运行环境,解决Berkeyley DB与仿真程序运行环境的兼容性问题,本发明采用基于共享内存的数据交互方式,即服务端和客户端分别运行在两个独立的进程,两者通过共享内存进行数据交互。在应用程序启动时,调用映像文件创建端口,根据事先约定的名称创建映像文件,即共享内存。
[0025]数据读取模块30负责实时响应客户端数据读取的请求,主要包括实时数据读取端口。
[0026]数据资源模块40提供电磁环境仿真所需的目标特征数据集。
[0027]结合参考图1和图2,本发明提供的基于Berkeyley DB的目标特性实时数据库的应用方法包括:
步骤一、建构数据库;
步骤二、应用程序启动时,数据库所在的服务端调用映像文件创建端口创建共享内存;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1