微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于J2ME的嵌入式移动数据库应用系统设计

基于J2ME的嵌入式移动数据库应用系统设计

时间:03-31 来源:互联网 点击:

Manifestation)是国际原子能机构的一个区域性分布式数据库系统,用于对亚太地区的地热数据信息(包括项目信息、样本信息以及同位素和微量元素等数据信息)进行处理和统一管理。RDGSM数据信息分布在亚太地区的几个国家,是一个典型的分布式数据库系统,根据系统需求,先后完成了基于C/S结构和B/S结构的应用系统的开发工作,并作为国际原子能机构HOHIS数据库亚太地区的中心数据库成功运行。

RDGSM数据库用来处理项目信息、样本信息以及同位素和微量元素等数据信息。RDGSM数据库是基于关系模型的数据库系统,通过表来存储数据信息。根据需求,整个数据库由七个表构成,分别存放不同的数据信息。表1对八个表的作用进行了描述。

表1 RDGSM数据库系统表描述:


表 名 称

描 述

PROJECT

记录项目表达信息 (如:国家代号、项目标识、经纬度范围等)

SAMPLE

记录样本表达信息 (如:项目标识、样品点标识、岩性等)

MAJORCH

记录主要化学元素信息 (如:钙、镁、钠、钾、硅等元素的含量)

MINORCH

记录主要化学元素信息 (如:锂、硼、氟化物、碘化物、铁离子等物质含量)

ISOCOM

记录共同微量元素信息 (如:氧218、碳213、氘、氚等物质含量)

ISOOTHER

记录其它微量元素信息 如:氮215、硫234、氯236 等物质含量)

GASCH

记录气体元素信息(如:二氧化碳、硫化氢、惰性气体等物质含量)

USERINFOR

记录用户信息


上述个表中, 项目表以关键字段“Project ID”与采样点表相关联, 而采样点表则以关键字段“Sampsite ID”与其它7个表相关联。关键字段“Project ID”、“Sampsite ID”和“Sample ID”为全球唯一标识GUID (Globally Unique Identifier) , 以确保网络数据库记录的唯一性。图2 显示了八个表之间的关联。

图2: RDGSM数据库的关联关系

3.1 RDGSM嵌入式移动数据库应用系统

RDGSM嵌入式移动数据库应用系统采用MVC设计模式(Model-View-Controller,MVC),MVC是一种目前广泛流行的软件设计模式, MVC分为模型层,视图层和控制层。模型层负责表达和访问数据,执行商业逻辑和操作。视图层负责显示显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户输入的数据传送到控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

RDGSM库通过J2ME的Midlet程序访问网络,主要实现移动客户端程序可以直接浏览数据,查找相关信息,录入数据等功能,还有许多相关的信息维护功能,客户端可以向服务器发送服务请求,服务器接收到请求以后,则通过相关的servlet程序对数据库作出相应的查询和操作(如插入和删除记录),并且返回相关信息到移动客户端。

RGSM应用系统按照MVC模式来构造客户端程序,统设计一个HTTPCommunication类,负责提供所有客户端屏幕类显示所需要的数据。以及实现为提供给请求的屏幕所需要的数据函数。图3为采用MVC设计模式开发的应用系统功能模块的移动用户界面。

图3:用户界面

3.2 系统数据的完整性约束

RDGSM数据库结构是采用关系数据库模型构建的,同一字段有可能在不同的表中均有记录,在用户输入或删除这些表中的记录时,保持表之间定义的关系,就是数据的完整性。保证这些记录的完整性是关系到整个数据库是否正常运行的关键。本系统通过触发器来实现数据的完整性。触发器是一个特殊的存储过程,当指定事件(INSERT,UPDATE或DELETE)修改一个表时,被自动激活。触发器可以查询其它表,且可以包括复杂的Transact-SQL语句。下面为RDGSM数据库的触发器实现代码。

CREATE TRIGGER TD_SAMPLE ON SAMPLE FOR DELETE AS

begin

declare

@string1 varchar(16),

@string2 varchar(10)

select @string1 = d.proj_code from deleted d

select @string2 = d.samp_code from deleted d

delete from gasch where proj_code=@string1 and samp_code=@string2

delete from majorch where proj_code=@string1 and samp_code=@string2

delete from minorch where proj_code=@string1 and samp_code=@string2

delete from isocom where proj_code=@string1 and samp_code=@string2

delete from isoother where proj_code=@string1 and samp_code=@string2

end

GO

4. 结论

本文探讨的移动数据应用仅限于软件范畴。随着嵌入式系统在核智能领域的不断应用,对核信息特别是辐射环境信息的采集和传输提出了更高的要求。移动数据库具有任何时间

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top