2). ADO.NET
ADO.NET用于访问和操作数据库的两个主要组件是.NET Framework 数据提供程序(Data Provider)和DataSet。
图3 .NET Framework数据提供程序和DataSet之间的关系
.NET Framework数据提供程序用于连接到数据库、执行命令和检索结果。这些结果可直接处理,也可放置在DataSet中以便进一步处理。
DataSet是专门为独立于任何数据源的数据访问而设计的。DataSet中包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及对象中数据相关的主键、外键、约束和关系信息组成。也就是说,DataSet表示包括相关表、行、列、约束和表间关系在内的整个数据集(如图4)。
图4 DataSet中的数据集
3). OLE DB Provider(数据供应器)
每一种.NET数据供应器都有一套同样的核心类:Connection类用于建立与特定数据源的链接,Command类用于对数据源执行命令,DataReader类用于从数据源中读取循环、只读的数据流,DataAdapter类数据源填充DataSet并解析更新。
ADO.NET提供了一套接口的最小集,允许开发者通过实现这些接口来创建自己数据供应器。开发者在实现自己的数据供应器之前,可以根据需要选择实现部分或者全部接口和类。例如,当开发的数据供应器仅仅作为DataSet和数据源之间的桥梁的时候,可以仅实现DateAdapter类,论文网客户端将主要面向DataSet进行数据操作。此外,如果有特殊操作需要实现,可以抛出NotSupportedException异常。
接下来需要按照.NET的命名规范来制定自己的数据供应器的名称。之后的任务就是创建自己的数据供应器的库,即编写程序,实现第一步中选择的类中的成员方法,从而实现对自己的数据源的相应操作,即可完成Data Provider的实现。
4). 中间件
中间件模块首先是用于实现数据的转移功能。为了能在系统初始化时,把存放在MS SQL Server上的数据导入到FastDB中,系统提供一个中间层,以实现数据在新旧两个数据源之间的转移和格式的转换。第一个方案是使用ADO.NET中的DataSet,它可以读取MS SQL Server数据库中的数据和表的结构,从而可以实现整个表在两个数据库间的转移和转换。作为备选方案,在初始化本系统时,也可以使用其他数据库互连工具实现不同数据库中数据的转移与数据格式的转换,如SSIS等。
其次,对于扩展功能,此中间件应可以自动识别原始系统中对MS SQL Server数据库的操作,从而对新增的FastDB内存数据库进行相对应的操作,并保持两数据库的一致性。
4. 拟采用的开发方法、环境,测试方案等
开发语言:C++
开发环境:Visual Studio 2008
MS SQL Server 2005
Google Code Project Hosting开源软件协作平台
操作系统:Windows 7
测试方案:系统测试主要考虑以下几个方面:
• 大量请求并发访问数据库时,系统的平均响应时间
• 根据系统特点,主要测试读操作
搭建测试环境测试系统并发性能时,可以考虑在本地创建大量线程,用于模拟大量的请求。每个线程独立的从数据库中读取数据。并使用同样的环境对原始的无FastDB的系统进行测试,通过记录响应时间以对比性能差距。
5. 技术难度及特色分析
技术难度:首先是http://www.51lunwen.com/shuoshikait/ Date Provider for FastDB的实现。由于是首次尝试开发数据提供器,所以此核心组件的开发还是很具有挑战性的。其次,若要在已搭建好的原始系统上插入本系统,便要求本系统自动实现数据和操作在新旧两个数据源之间转换也是一个技术难点。
系统特色:将传统的磁盘数据库与快速高效的内存数据库进行整合,在不移除已有的成熟DBMS的基础上,在保证了系统的可靠性的同时,增加内存数据库快速高效的特性。
四、工作进度的大致安排
1. 选题、需求分析及文献调研:2010年9月6日——2010年10月8日,
成果:组队、选定题目、指导老师
2. 系统设计:2010年10月11日——2010年10月22日
成果:需求分析报告
3. 项目开题:2010年10月25日——2010年11月26日
成果:项目开题报告、开题答辩PPT、项目管理计划文档
4. 核心组件开发:2010年12月1日——2011年2月15日
成果:编码规范、核心组件代码、Date Provider for FastDB
5. 中期检查阶段:2011年2月21日——2011年3月18日
成果:软件工程实验中期检查报告、中期检查答辩PPT、设计文档、集成测试计划文档、单元测试计划文档、开发initialization模块
6. 完成开发、部署、系统测试、验收:2011年3月21日——2011年5月6日
成果:完成系统组件的开发、部署、系统测试,软件工程实验结题报告、结题答辩PPT、单元测试报告、集成测试报告、确认测试报告、用户使用手册、项目安装或配置手册、项目源代码、项目技术论文、小组成员贡献比说明
预期成果及特色
开发一个基于FastDB的,面向MS SQL Server数据库的中间件,使ADO.NET平台下开发的基于MS SQL Server的系统可以享受到内存数据库带来的性能提升。
导师意见(对选题和工作过程及成果进行说明,并给出成绩。)
更多内容请进入: