收藏 分享(赏)

嵌入式Java运行平台数据库引擎的应用研究.doc.doc

上传人:kuailexingkong 文档编号:1626011 上传时间:2018-08-12 格式:DOC 页数:4 大小:25KB
下载 相关 举报
嵌入式Java运行平台数据库引擎的应用研究.doc.doc_第1页
第1页 / 共4页
嵌入式Java运行平台数据库引擎的应用研究.doc.doc_第2页
第2页 / 共4页
嵌入式Java运行平台数据库引擎的应用研究.doc.doc_第3页
第3页 / 共4页
嵌入式Java运行平台数据库引擎的应用研究.doc.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 嵌入式 Java 运行平台数据库引擎的应用研究嵌入式 Java 运行平台数据库引擎的应用研究嵌入式系统论文 嵌入式 Java 运行平台数据库引擎的应用研究摘要:介绍某嵌入式 Java 运行平台的总体框架;在此基础上,详细讨论为该平台开发的数据库(DB)引擎组件的框架和结构组成,描述该组件实现的 SQL 子集和数据表达方式以及逻辑算法的设计思路;提出该组件今后的改进设想。 关键词:数据库引擎 Java 嵌入式系统引言随着嵌入式系统 CPU 硬件从 8 位到 32 位的发展,嵌入式系统软件的开发环境也得到迅猛的发展,编程语言从 10 多年以前的汇编为主流发展到现在 C、C+、Java 为主流。另

2、外,面向对象设计技术、组件技术等在嵌入式系统软件设计中的应用也日益引起人们的重视。在嵌入式系统软件开发领域,Java 是一门较新的异军突起的编程语言。其优点是语言本身简洁优美,完全按照面向对象思想设计,并且语言引入许多较为先进的特性,如多线程、自动内存管理和垃圾回收,非常适合于大规模复杂软件系统的开发。其不足点是与硬件结合不够紧密,同时代码运行速度较慢。此外,对于内存的使用,程序难于管理和控制。由于采用 Java 编程具有如上所述的众多优点,越来越多的嵌入式系统采用 Java 技术来构造软件系统。本文在介绍基于日本某自动售货机产品的控制板的 Java 运行平台基础上,详细讨论笔者为其平台开发的

3、 DB 引擎的组成和设计思路。1 Java 运行环境平台图 1 所示为 Java 运行环境的总体框架示意图。本系统为克服 Java的解释执行机制所引起的执行速度慢的问题,在硬件上采用了 Sun公司开发的 Pico Java 芯片。它能够直接执行 Java 的二进制代码,使Java 的执行速度提高一个数量级以上。在硬件层的上面是 OS 层,本系统采用的是 ITRON(日本东京大学坂村键教授设计的一种嵌入式操作系统,虽然在日本以外的市场影响不大,但在日本本地市场,占有率达 90%以上)。由于 ITRON 规格制定得比较早,并且为兼顾低端嵌入式应用的场合,ITRON 总体上功能比较简单,并未把诸如T

4、CP/IP、文件系统等内容包含在其里面,因此与嵌入式 Linux 等不一样的是,TCP/IP、文件系统是以独立的组件形式存在的。在 OS层的上面是 JVM 层。与其它一般 Java 虚拟机不同的是,本系统的Java 执行代码不需要由 JVM 解释执行,而是由 CPU 硬件直接执行。在 JVM 的上层是自动售货机的基础平台类库和公共组件层。本文介绍的 DB 引擎组件正是处于这一层。该层的上面是应用程序层,用于实现自动售货机的各种控制、管理机能。2 嵌入式系统 DB 引擎2.1 DB 引擎组件的引入众所周知,在台式机领域,DB 是一个十分关键的基础软件。以往嵌入式系统的软件可能更侧重于与硬件的交互

5、与控制,但随着对嵌入式系统功能需求的日益复杂化,嵌入式系统软件中,信息、数据的保存与管理的比重也日益增加。在这样的背景下,嵌入式系统软件开发中,通过引入 DB 组件,对实现软件整体框架结构的组件化与简单化,有着十分明显而重要的意义。2.2 DB 引擎组件的总体框架如图 2 所示,将整个 DB 组件设计为 3 层结构,分别为 JDBC 接口层、SQL 解释层和动作执行层。这 3 层之间呈单向依赖关系。也就是说,SQL 解释层依赖于动作执行层,但动作执行层不依赖于其上面的两层,可以单独存在而直接被使用。如果用户以使用方便为主要目的,可采用完全配置方式,应用程序通过 JDBC 接口层存取数据。反之,

6、如果用户对空间和效率要求较高,可仅配置动作执行层组件,应用程序直接调用动作执行层的 API 进行数据的检过和更新等操作。(1)JDBC 接口层如前文所述是可选组件,旨在为应用程序提供一个标准的 DB 调用接口。(2)SQL 解释层本 DB 组件实现的 SQL 解释层,只实现了标准 SQL 的一个小子集,主要完成 select、delete 、insert、update、create table、drop table等功能。其中数据操作语句(select、delete、insert、update)的解释要点之一是 pare := =!= = =setlist := setitem , setit

7、em , setitem 统计函数名 :=MINMAXCOUNTSUM统计函数 := 统计函数 ( field )统计 list := 统计函数 , 统计函数 , 统计函数 数据类型 :=INTUNMBERCHARDATEtable table table illis();/由于可能出现在.currentTimeMillis();if(t2-t1 DBError.TIMEOUT)break;/发生超时退出循环情况,抛出例外if(isLocked)throe);/设定锁定标志isLocked=true;/表打开操作/参数 ro 只读打开标志void open(Boolean ro)thromit

8、 与 rollback 事务处理。能够在如此微小的 DB 组件实现事务处理,主要得益于上述的 Session 管理框架。在 Table 类 commit 与 rollback 处理基础上,当一个 Session 执行commit 或 嵌入式 Java 运行平台数据库引擎的应用研究嵌入式系统论文 嵌入式 Java 运行平台数据库引擎的应用研究 rollback 操作时,对包含在打开列表中的每个 Table 实例,调用执行相应的 commit 或rollback 处理即可。3 结语与展望本 DB 组件已实际运行了大约两年时间。这期间除了对该组件进行一些功能追加以外,主体框架上基本保持不变,从而在一

9、定程序上表明了该设计框架的可行性和合理性。该组件编译以后,class 文件形成的 jar 包大小约为 68KB,短小精度悍,便于使用。当然,该DB 组件目前仍然存在一些不足:首先,较为关键的一点是速度问题。一直以来,Java 的执行速度问题就是受批语的缺点所在,因此采用它实现自然也避免不了这人瓶颈。今后改进的思路之一是,将其中Java 处理效率不高的部分移出 Java,采用 C 实现;二者通过 JNI 手段加以连接,以提高总体的运行速度。第二点需要改进的地方是表锁定的粒度问题。由于目前只能整个表进行锁定,并且不区分读锁定与写锁定,因此粒度较粗。虽然这样实现起来较为简单,但在多任务处理环境中可能增加不必要的时间等待。最后,JDBC 接口的实现目前还不完全,需要加以完善。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报