基于J2ME的嵌入式移动数据库应用系统设计
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. 结论
本文探讨的移动数据应用仅限于软件范畴。随着嵌入式系统在核智能领域的不断应用,对核信息特别是辐射环境信息的采集和传输提出了更高的要求。移动数据库具有任何时间
- Java技术在嵌入式系统中的应用(07-11)
- 基于JAVA的工业控制移动数据通信解决方案(01-23)
- KVM在嵌入式Linux上的移植(05-02)
- 基于J2ME的无线网络应用开发(05-24)
- 智能手机的无线网络会议白板软件系统开发(10-29)
- 基于J2ME的手机相册系统(10-29)