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

文档序号:9708334阅读:来源:国知局
骤三、客户端应用程序在运行过程中,根据服务对象的当前状态形成用于数据访问的key编码,并将所述key编码写入共享内存;
步骤四、服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据资源模块中查询到对应的data,并将data写入共享内存,客户端读取所述data,完成数据交互。
[0028]基于Berkeyley DB的数据库由key/data对进行数据管理。key/data对相当于关系数据库系统中的行。Berkeyley DB不提供关系数据库中列直接访问的功能,而是在key/data对中的data项中通过实际应用来封装字段。每对key/data组成一个数据库基本结构单元,整个数据库是由许多这样的结构单元构成。应用程序只需提供key就能够访问到相应的数据。Key/data可以是任意长度的二进制数据。
[0029]key是访问数据的关键字,本实施例根据服务对象的特征对key进行编码,例如描述空中飞行目标电磁辐射特性的key可编码为“qh30qvl0s0.5h200En0”,表示目标的方位角和俯仰角分别为30°、10°,飞行速度为0.5Ma,飞行高度为200m,发动机额定工作。飞行器在该状态下的辐射特性数据保存在与之对应的data中,其结构采用结构化的数据结构。
[0030]typedef struct —SignatureData{
char key[nl]; float radiance[m^n]; float range[m^n]; //……其它需要的数据……II } SignatureData;
key/data对设计完成后,数据库更新模块调用数据写入端口将key/data对写入数据资源模块。如果用户需要删除或更新数据库中已有的key/data对,分别调用数据删除和更新端口即可。根据电磁环境仿真需求,数据库更新无需实时进行,因而,数据库更新工作在电磁环境仿真开始前完成即可,从而进一步保证了仿真对数据库的实时性要求。
[0031]完整描述服务对象特性的所有key/data对构成数据资源模块的数据库,为电磁环境仿真提供数据支撑。
[0032]如图2所示,客户端和服务端程序启动时调用通信模块的映像文件创建端口,根据事先约定的名称创建映像文件,也即共享内存。客户端应用程序在运行过程中,根据仿真对象的当前状态形成用于数据访问的key编码,并将其写入共享内存。服务端在预定的周期内检查共享内存是否更新,如果更新,则读取更新的key编码,在数据库中查询到对应的data,并将data写入共享内存,客户端读取该data,完成数据交互。整个过程的详细步骤如下:
1)客户端程序完成key编码后,调用数据读取模块的实时数据读取端口,向共享内存发送key编码;
2)客户端由通信模块调用共享内存数据交互端口,首先判断共享内存是否被其它进程占用,如果占用,则等待,如果未占用,则获取指向共享内存的指针,并将key编码写入共享内存;
3)在预定的周期内,服务端调用共享内存数据交互端口,查看key编码是否更新,如果更新,则获取指向共享内存的指针,并读取该key编码;
4)服务端调用实时数据读取端口,根据key编码查询数据库中与之对应的data,并将其读出后向共享内存发送;
5)服务端由通信模块调用共享内存数据交互端口,首先判断共享内存是否被其它进程占用,如果占用,则等待,如果未占用,则获取指向共享内存的指针,并将data写入共享内存;
6)客户端查询到共享内存的data更新后,按照步骤3)类似的方法读取data,并由实时数据读取端口返回给客户端应用程序。
[0033]本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
【主权项】
1.一种目标特性实时数据库,其特征在于,所述数据库基于Berkeyley DB,包括:数据库更新模块、通信模块、数据读取模块和数据资源模块;所述的通信模块包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。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编码与入共孚内存。
【专利摘要】本发明公开了一种基于BerkeyleyDB的目标特性实时数据库及其应用方法,本发明公开的基于BerkeyleyDB的目标特性实时数据库包括:数据库更新模块、通信模块、数据读取模块和数据资源模块;所述的通信模块包括映像文件创建端口和共享内存交互端口,数据库与应用程序通过共享内存进行数据交互。本发明解决了基于BerkeyleyDB的嵌入式数据库与应用程序不兼容的问题。
【IPC分类】G06F17/30
【公开号】CN105468635
【申请号】CN201410452969
【发明人】陆志沣, 洪泽华, 张励, 赵海生, 赖鹏, 丁拓
【申请人】上海机电工程研究所
【公开日】2016年4月6日
【申请日】2014年9月9日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1