基于J2ME的嵌入式移动数据库应用系统设计
来源:微计算机信息发布时间:2018-09-02252浏览
询问 AI1. 引言
随着移动设备的普及和移动通信技术的进步,人们对移动数据处理和管理需求的不断提高。与各种无线设备紧密结合的移动数据库技术已经得到了广泛应用。嵌入式移动数据库因其具有任何时间,任何地点的自由访问等特点,因而随着移动终端的普及,嵌入式移动数据库应用逐渐成为数据库应用的一个主要应用方向。因此本文在基于B/S结构的应用系统的基础上,采用J2ME设计开发了一种应用于RDGSM的嵌入式移动数据库系统。
2.基于J2ME的嵌入式移动数据库系统设计
2.1总体设计
在嵌入式移动数据库应用中J2ME(Java 2 平台微型版)是支持智能移动客户端的完美平台,整合了移动关系数据库的J2ME客户端能够管理在设备上的复杂数据并能在需要时和后台服务器同步。而 J2EE(Java 2 平台企业版版)以其可扩展性,灵活性已经成为服务端事实上的开发标准。J2ME与J2EE的结合使建设一个无线接入网络成为可能,任何时间,任何地点的自由访问不仅方便了用户的自由使用,提高客户服务水平,而且降低了运行成本。图1为J2ME与J2EE结合实现移动数据应用的原理图,J2ME手机客户端通过无线网络发送请求,J2EE服务器根据请求类型从数据库提取信息,并返回到J2ME客户端,用户就像随身带着一个数据库一样。
图1:嵌入式移动数据通信原理图
客户端通过J2ME的Midlet程序访问网络,向服务器发送服务请求,服务器接收到请求以后,则通过相关的servlet程序对数据库作出相应的查询和操作(如插入和删除记录),并且返回相关信息到手机客户端。在客户端设计中,需要解决的关键主要包括网络连接和信息的安全。[page]
J2EE为企业开发提供了丰富的技术组件。EJB(Enterprise Java Bean)封装业务逻辑,并将它们应用于后端的企业信息系统,JSP,Servlet提供Web层与用户的信息交流,协调用户和EJB之间的交互。这些组件相互关联构成了服务端J2EE的应用。在设计中要解决的关键问题有数据库连接池和数据同步。
HTTP协议在MIDP框架和J2EE平台搭建了传输的桥梁。Servlet通过HTTP建立起与客户端基于主求与回应的动态模式。MIDP支持 HTTP1.1,使用GET和POST与网络层进行通信,产生HTTP报头和数据。为了使报文清晰,在HTTP请求是应包含content-type属性,某些网关不接收未定义或非标准content-type的报文。无线传输的大量时间耗时在连接的建立过程中,所以客户端设计应避免频繁的发送消息,将需要发送的消息积累起来,减少发送的次数将极大提高客户端的运行效率。JAVA提供了许多内置的联网功能,使开发基于互联网和Web的应用程序变得容易,JAVA可以指定多线程的并行执行,可以使程序在全球范围摸索信息,还可以与计算机上运行的程序相互协作。J2ME将移动设备上的客户应用与后台服务环境完美结合起来,基于J2ME+J2EE的移动数据解决方案将JAVA技术的可移植性,可扩展性,易于编程充分体现在移动数据库的的应用中。
2.3 数据库连接池
在多用户数据库情况下,用户创建一个新的数据库连接所消耗的时间主要取决于网络的速度以及应用程序和数据库服务器的网络距离,而且这个过程通常是一个很消耗时间的过程。采用数据库连接池技术连接数据库可以显著的改善接入数据库的速度和访问质量。
2.4 传输数据序列化
客户端与服务器需要交互的信息很多,但是通过HTTP方式与服务器进行网络传输,只能传输地二进制数据。所以需要把二进制数据序列化。数据序列化就是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。既然移动数据系统要客户端与服务器端交换不同类型和格式的数据,所以最好把这些信息按照集合划分,编写成为序列化格式的类,这样可以避免数据同步传输时客户端和服务器端处理数据的时候格式不统一而带来的问题。本系统共有3个类分别序列化项目信息,采样信息,用户信息等。
2.5 数据同步
移动数据库也属于分布式数据库,为保证其数据一致性,RDGSM移动数据库也需要进行数据同步,这里使用的是SQL Server Mobile 复制。SQL Server Mobile 复制基于 Microsoft SQL Server 合并复制。使用 Microsoft SQL Server 2000 数据库来实现合并复制。合并复制非常适合移动应用程序,因为它允许分别在便携式设备和服务器上自行更新数据。之后可以对该设备和服务器上的数据进行同步,以将客户端的更改发送到服务器,或从服务器接收新的更改。
3. 基于J2ME的嵌入式移动数据库系统在RDGSM上的应用
RDGSM(the Regional Database for Geothermal Surface Manifestation)是国际原子能机构的一个区域性分布式数据库系统,用于对亚太地区的地热数据信息(包括项目信息、样本信息以及同位素和微量元素等数据信息)进行处理和统一管理。RDGSM数据信息分布在亚太地区的几个国家,是一个典型的分布式数据库系统,根据系统需求,先后完成了基于C/S结构和B/S结构的应用系统的开发工作,并作为国际原子能机构HOHIS数据库亚太地区的中心数据库成功运行。[page]
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分为模型层,视图层和控制层。模型层负责表达和访问数据,执行商业逻辑和操作。视图层负责显示显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户输入的数据传送到控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。[page]
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. 结论
本文探讨的移动数据应用仅限于软件范畴。随着嵌入式系统在核智能领域的不断应用,对核信息特别是辐射环境信息的采集和传输提出了更高的要求。移动数据库具有任何时间,任何地点自由访问的特点,将移动数据库与嵌入式系统相结合,对提高核智能仪器的数据采集、传输和存储能力都将起到积极的作用。
本文作者创新点:采用J2ME技术实现了嵌入式移动数据库,并在RDGSM成功上应用此嵌入式移动数据库系统。
参考文献
1. Kochnev, Terekhov. Surviving Java for mobiles[J]. Pervasive Computing, IEEE. Volume 2, Issue 2(2003):90 -95
2. 周书民.RDGSM分布式同位素数据库的时间同步策略[J],计算机应用研究,2004(7):184-185
3. 陈蓉西. JSP在移动数据库连接池的实现[J].微计算机信息,2006,4:227-229
4. 王晓咏,杨明福. 基于J2ME平台的手机通讯程序分析与实现[J].计算机应用软件.2005(2):27-28
新闻来源:微计算机信息,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
