分布式数据库
Skylvzhoulihe
有所择,必有所为!
展开
-
分布式数据库系统---商旅预定系统的实现(1)
今天看到师弟他们又像我们去年一样忙着老板的课程结课设计,想着我是去年如何苦逼的过程,想把我的开发经历分享出来。项目介绍 本系统是在学习了分布式数据库课程的基础上设计的。在Microsoft visual studio 2010开发平台上用C#语言组建了一个分布式应用系统,实现了一个简单的分布式旅行预定系统。根据要求,本系统实现了三个基本功能:一个简单的资源管理器(RM)支持具原创 2013-06-27 01:04:00 · 1840 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(5)
数据接口的构建接口的设计主要是在组件类里面进行的,服务器端通过集成接口对其尽情重构,客户端调用接口实现功能。 在接口类里面暴露了客户端需要调用的方法,返回值及参数的类型。 //car各种功能的接口类 public interface ICarRemoteService { Boolean hasControlled {原创 2013-06-27 23:11:02 · 1216 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(完结)
感谢桂林电子科技大学的周老师一直以来辛苦的指导,才得以让我在这门课程上有所收获。早在本科二年级的时候我就已经开始接触C# remoting,也能完成通信,后来课程结束做了一个聊天软件,自己还比较满意。经过了研究生课程的学习,还是用本科时候使用的工具,可以做出来一个分布式数据库系统,并且实现。两天时间写出近2000多行代码,睡觉一共不超过10个小时,对于自己的人生是比不小的财富。 终原创 2013-06-28 18:38:49 · 1287 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(12)
事务之间的协调 每一个装配好的事务都会被丢在事务池中,等待程序去执行它。程序会每隔一段时间检查一遍事务池中哪些事务是可以执行的,并同意可以执行的事务自己处理,并把结果丢在结果池中。结果池和事务池 事务池中事务执行的情况 执行程序会每隔一段时间检测一遍事务池中哪些事务是可以执行的,可以执行的事务将获得权力自己执行。客户端的程序只需要把装配好的原创 2013-06-28 18:31:03 · 1398 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(8)
事务管理器设计 在此模块的设计主要完成的目标为:原子操作的规范约定,事务的存储,事务的处理过程以及各个事务之间协调。此模块涉及最多的方法就是枚举法,通过枚举法把针对每一个关于数据表的操作单独列出来并进行统一编号,约定成一个规范,当有用户需要某些操作时候只需要按照一定的约定,列出编号,传递适宜的参数即可等待总站回复的信息。总体结构设计 在此次设计中我们需要用的原创 2013-06-28 17:53:17 · 1015 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(11)
事务处理过程 事务的处理过程大体分为几个步骤:1.事务的组装;2.相应数据集合的加锁;3.通知数据集合备份;4.顺序执行每一个原子操作;5.为每一个原子操作的成功位做标示;6存储结果返回到结果池中 事务的组装在客户端需要自行完成,因为每个客户端提交的任务不相同,服务器都做统一的处理。事务组装的代码如下: Boolean success原创 2013-06-28 18:22:25 · 1432 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(7)
服务总站的构建 总站在系统中充当着事务处理与协调的角色,每个客户端需要请求之前必须要连接总站。在总站提供的服务中进行处理。而在具体编码实现中,总站的地位与其他几个服务器的低位一致,在调用的时候只需要查找相应总站的方法进行处理。总站功能结构如下:namespace GlobalService{ /// /// 所有事务的执行都需要通过此类的Proces原创 2013-06-28 17:46:38 · 1265 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(9)
原子操作和规范约定 此次设计的思路是:在客户端只需要发少量的数据,即操作集合,每个操作的参数给总站服务器,总站服务器很快的解析服务器发来的请求,按照一定的规范去执行每一个操作,当每个操作都执行成功后再把其返回给客户端。执行事务时传递的过程 此次设计中一共有5个数据表,总共有23个相关的数据操作,这23个数据操作有固定的参数和返回值。我们把这23个操作原创 2013-06-28 18:01:57 · 1444 阅读 · 2 评论 -
分布式数据库系统---商旅预定系统的实现(6)
数据接口实现类的构建 针对客户端的需求,在接口实现类的操作大体分为两个部分:事务相关操作和数据维护的相关操作。 class ReservationRemoteServiceImpl : MarshalByRefObject, IReservationRemoteService { private static List list;//存储所有原创 2013-06-28 11:42:35 · 1443 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(4)
数据集合实体类构建 针对于各个数据集合服务器的特性,我们采用的是构建实体类来代表实际中的一条数据,而数据集合我们采用了C#中的泛型类List来表示存储。在实体类的表示中,字符类型用String来表示,数值类型用int来表示。 //car的实体类 [Serializable()] public class Car { publi原创 2013-06-27 23:08:33 · 1331 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(3)
通信信道的建立过程1.注册通道Remoting技术的通信建立分为两种:服务器端激活和客户端激活。本次设计采用的是服务器端激活模式。 在信道的建立过程中,需要在服务器端和客户端分别进行处理。服务器端处理如下:要跨越应用程序域进行通信,必须实现通道。如前所述,Remoting提供了IChannel接口,分别包含TcpChannel和HttpChannel两种类型的通道。原创 2013-06-27 23:00:12 · 1482 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(2)
服务器及通信设计Remoting技术可以基于两种通信协议进行数据传输:tcp和http。本次系统设计采用的tcp的协议。图.Remoting通信过程 结合本次课程设计的要求,数据存储及处理的服务器有5个分别为:CarRemoteService,HotelRemoteService,FlightRemoteService,CustomerRemoteService,Rese原创 2013-06-27 22:52:42 · 1371 阅读 · 0 评论 -
分布式数据库系统---商旅预定系统的实现(10)
事务存储 事务有了统一的规范和编码,下一步就需要考虑具体该怎样存储一个事务了。首先,一个操作有它的唯一编码,通过String类型来存储ID编码值。其次需要存储的就是参数列表,因为每一个操作所需要的参数时不同的,所以考虑用List是首选方案。 具体代码实现: /// /// 存储一次操作过程的所有方法编号和方法的参数列表 ///原创 2013-06-28 18:14:43 · 1243 阅读 · 0 评论