SWFCDB的研究与探索 第3页
3 自主知识产权数据库--系统设计
3.1 系统结构图 3 1 数据库主框架图
西南林学院自主知识产权数据库总体设计分为7层模块结构,(见:图 3 1 数据库主框架图)分别为:第一层:管理、存、取记录字节流。该层为上层提供多种接口来完成“管理、存、取记录字节流”功能;第二层:管理、存、取库信息和表信息。该层为上层提供多种接口来完成“管理、存、取记录字节流”功能,以及“管理、存、取库库信息和表信息”;第三层:(1)管理和控制各客户,解决并发问题。(2)事务处理;第四层:语义分析和查询处理(DDL、QL、ML、DML)。利用第二层和第一层接口,实现函数化和各种SQL语句,这里是DBMS的内部入口,为上层提供SQL语句的函数式接口;第五层:词法分析和语法分析,把一个SQL语句转换为内部形式;第六层:授权检查。对用户的权限进行检查,允许或禁止调用某些函数,这里应管理授权表;第七层:接口(包括:可视化操作接口、可视化查询接口、应用程序接口)。各层之间通过通用接口实现互访,共同构成一个有机结合体[3]。本文具体介绍SWFCDB第一层和第二层的基本功能(包括可视化新建数据库,删除数据库,新建表,删除表,插入记录,返回记录等功能),B+树算法,SWFCDB网络模型(包括基于完成端口模型的服务器接口和基于Event Select模型的客户端接口)的设计思想和实现。
3.2 第一层设计思想
第一层建立在操作系统之上,数据存储文件由三个文件组成,分别是:索引文件,数据记录文件,及锁表文件。由于第一层主要由2005届张蓉,曹亚玲同学设计,这里简单说下以上三个文件的结构。
3.2.1 数据记录文件
数据记录存储在数据记录文件中。对整个文件实行分页管理,每页8K,页内记
录通过链表根据关键字由小到大链式存储。
3.2.2 索引文件
现阶段索引文件存储数据库的建库信息及索引信息。索引文件不分页。索引分为二级索引,第二级索引是记录文件中的页内链式索引;第一级索引是页的链式索引(主要包括页在数据记录文件中的该页起始地址,该页内最大关键字,页中第一条记录的地址,第一条空行的地址,及该页的下一页地址等信息)。以后第一级索引将采用B+树结构存储。
3.2.3 锁表文件
锁表存储页或记录的加锁情况并由上层管理(如,事务层)。分前缀锁和文件锁,
本文暂不详述。
3.3 第二层设计思想
第二层在第一层提供的接口基础上,管理第一层接口,并向用户提供可视化操作界面,提供服务器层次树视图,数据库子项显示列表视图和对表的操作视图,实现可视化新建数据库,删除数据库,新建表,删除表,插入记录,返回记录等操作。
3.3.1 服务器层次树视图
如图 3 2 服务器视图界面 所示。本试图将数据库第一层中难理解并隐藏的信息通过图形用户界面,以友好的方式重现,并提供新建数据库,删除数据库等操作。
图 3 2 服务器视图界面
3.3.2 数据库子项显示列表视图
本视图显示数据库子项中包含的子项列表,并以大图标,小图标,列表,详细信息等方式显示。对表子项提供 新建表,设计表,插入记录,打开表,返回表记录,删除表等操作。如图 3 3 数据库表子项视图界面所示。
图 3 3 数据库表子项视图界面
3.3.3 表操作视图
本视图将数据库中存储的表信息,以友好的方式重现。分多种呈现方式,如以设计表显示字段信息如图 3 4 新建表或设计表视图所示,插入记录和打开表则显示表中已有记录信息如图 3 5 插入记录视图所示和图 3 6 返回记录视图
图 3 4 新建表或设计表视图
图 3 5 插入记录视图
图 3 6 返回记录视图
3.4 网络模型设计思想
西南林学院自主知识产权数据库网络模型采用C/S模式。服务器I/O模型采用目前应用最广且网络性能最佳的完成端口(I/O Completion Port)模型[8],而客户端I/O模型采用事件选择(Event Select)通知模型[8]。
3.4.1 服务器接口设计思想
完成端口服务器模型模块框图如图 3 7所示。由(1) 完成端口内存管理接口 (2) 完成端口服务器线程 (3)数据处理线程池 (4) CIocp完成端口管理类四部分组成。
A. 完成端口内存管理接口
完成端口内存管理接口负责分配服务器运行期间服务器所有内存的分配和回收。服务器程序具有收发数据频繁,且长时间运行的特点,如果每次发送和接收操作都由操作系统负责分配并回收数据缓冲区,服务器运行一段时间后,系统内存碎片必然增多,而长时间运行后,导致系统分配不出用户请求的内存空间,而导致系统崩溃。完成端口内存管理接口正是为解决内存碎片而设计。其实现思想为:当程序启动时,该
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页