多数据库系统互联机制的设计与实现(2)

时间:2015-08-20 10:08 来源:发表吧 作者:发表吧编辑 点击:
  3.1初始化算法。
  协调器:
  从用户或应用程序接收待连接的两个系统中的服务器名,需复制的表名;
  分别登录到两个系统的服务器上;
  向存有待复制表的服务器发预复制消息;
  等待服务器消息;
  若失败,发一条失败的消息给服务器和用户或应用程序,转11);
  若成功,从消息中取出待复制表的有关信息,根据这些信息,发一条建表消息给另一个系统的服务器;
  等待服务器消息;
  若失败,发一条失败的消息给服务器和用户或应用程序,转11);
  若成功,调数据转移程序,进行数据复制;
  将有关信息写入组间字典。
  退出。
  服务器:
  当服务器收到预复制消息后,将基表控制块tv_ctrl_block中的isreplication赋为true。同时,取出待复制表的有关信息,组成应答消息发给协调器。
  当服务器收到失败的消息后,将基表控制块tv_ctrl_block中的isreplication赋为false。
  3.2维护算法。
  协调器:
  从组间字典读出相关信息,根据这些信息,登录到相应系统上;
  等待消息;
  从某系统的服务器上收到一条修改消息后,通过查找组间字典,确定该消息的目的地,然后将它转发过去;
  若失败,定时重发;
  转2);
  服务器:
  1)等待消息;
  2)当收到某客户或应用程序的消息后,检查它是否是修改数据的操作(如delete,update或insert等);
  若不是,转7);
  若是,检查基表控制块tv_ctrl_block中的isreplication是否为true;
  若不是,转7);
  若是,向协调器发修改消息;
  继续执行服务器程序的其它部分。
  3.3恢复算法。
  若协调器所联接的系统中有一个跨掉了,则对副本的修改无法及时地反映到跨掉的系统中来。这时,需要恢复算法来进行处理。
  协调器:
  当协调器发现有一个系统已经崩溃后,采取以下步骤。
  将与该系统相关的变量open赋值为false;
  打开记时器;
  等待消息;
  若收到的消息是其它系统发出的修改崩溃了的系统上的副本的命令,则依次将这些消息存储起来,转3);
  若收到的消息是记时器发出的时间到的消息,则向崩溃的系统发登录命令;
  若登录成功,将open的值改为true;
  将存储的消息依次发送过去,转9);
  若登录失败,转3);
  退出。
  4.结论
  我们曾在三个dm3数据库系统上,用两个协调器进行联接。结果,运行情况良好,各副本最终都能保证一致,且各副本间存在差异的时间间隔很短。另外,在出现异常的情况下,协调器也能正常工作。
  主要参考文献
  1.周龙骧等,分布式数据库管理系统实现技术,科学出版社,1998。
  2.郑振楣,于戈,郭敏,分布式数据库,科学出版社,1998。
  3.王珊等,数据仓库技术与联机分析处理,科学出版社,1998。
 

www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
  本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/ CSSCI核心/医学投稿辅导/职称投稿辅导。

投稿邮箱:fabiaoba365@126.com
 在线咨询: 投稿辅导275774677投稿辅导1003180928
 在线咨询: 投稿辅导610071587投稿辅导1003160816
 联系电话:18796993035

其它期刊

联系方式
李老师QQ:发表吧客服610071587 陈老师QQ:发表吧客服275774677 刘老师QQ:发表吧客服1003160816 张老师QQ:发表吧客服1003180928 联系电话:18796993035 投稿邮箱:fabiaoba365@126.com
期刊鉴别
热门期刊
发表吧友情提醒

近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。

此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。

如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。

 
QQ在线咨询
论文刊登热线:
137-7525-9981
微信号咨询:
fabiaoba-com

友情链接

申请链接