【编者按】网学网其他类别频道为大家收集整理了“人口基础信息数据库数据格式转换研究“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
4. 数据一致性的研究 4.1 维护数据一致性的方法 人口基础信息数据库数据的一致性维护依据其时间特性分为两类—同步一致和异步一致。同步一致保证各个数据库中数据的实时一致性,即任意时刻数据都是一致的;异步一致不要求实时一致,仅要求一定时间间隔内数据的一致。 目前,常用来维护数据一致性的方法有两种:消息队列法和复制控制法 [4] 。 4.2 消息队列法 1.2.1 消息队列法介绍 消息队列法是通过使用进程间通信机制,在两个或多个进程间共享公共的系统消息队列来交换数据信息,实现可靠的消息收发,进而保证异地数据库间的数据一致。 MQ Series是IBM公司开发的消息中间件产品,它可以使运行在不同平台上的应用程序,通过共享消息队列来实现进程间通信,完成相互间的消息传递。 MQ Series提供了独立于平台的一套编程接口:MQI(MQ interface),大大提高了应用程序的可移植性。 1. 消息(message):消息是一个最大长度可达100Mbyte的字符串。应用程序使用消息来相互传递数据信息。 (1) 消息描述符(message Descriptor)包括消息的标号和一些消息的控制信息,如消息类型、消息优先级等。 (2) 应用数据(Application Data)即消息携带的数据信息,它在消息的传递过程中保持不变。应用程序可以自由定义数据内容。 (3) 队列(Queue):队列是一个用于存放消息的数据结构。每一个队列都由一个队列管理器(Queue Manager)管理。队列管理器负责从自己的队列中取出消息,同时它也可以向其它队列管理器的队列中发送消息。一个队列支持的最大数据长度是2G Byte。 队列数据的存取遵循同优先级先进先出(FIFO)的原则,同时高优先级和应用程序特定的消息可以优先接收。 2. 信道(Channel):信道提供了不同的队列管理器之间传递消息的通道。信道分为两类:消息信道和控制信道。 (1) 消息信道(Message Channel)用于传输消息数据。一般一个队列管理器必须有两个消息信道—发送信道和接收信道。 (2) 控制信道(MQI Channel)用于传输MQI控制命令,主要用于客户服务器模式的消息传递。MQ Series还定义了其他一些术语,诸如:群集(Cluster)、名称列表(NameList)等。 1.2.2 消息队列法的实现 下面用一个系统来分析消息队列法 以部门A与部门B之间的数据一致性维护为例,简要介绍使用MQ Series消息队列实现数据一致的设计方案。 图中,SQL Server数据库除了包含应有的数据外,还额外新建了一个等待发送的消息表,作用类似于一个消息缓冲区。当各个单位的人口基础信息改变时,激发触发器,系统将更改的信息按照某种特定的格式写入消息表。当消息发送后,相应的消息内容从消息表中清除。为了实现数据的同步一致。部门A和部门B上各配置了一个队列管理器(QM_A,QM_B)和一个队列(Queue_A,Queue_B)。在一个允许的时间间隔内,MQ_A 负责将SQL Server数据库中等待发送的信息逐条发送到Queue_B中。当队列Queue_B中有数据时,QM_B被触发,将Queue_B中的数据传给B工作站上的应用程序,由应用程序解包,将相关数据写入Oracle数据库中,从而达到二者的数据一致。 消息队列化的优点 概括来说,有以下两个优点: 1. 优秀的稳定性 稳定性体现在两个方面,一方面是保证消息一经发送,就肯定可以传送到消息接收端,而且保证消息的一次接收。另外一方面是保证消息的收发不受计算机硬件故障和网络故障的限制,因故障未发送的消息存放在本地,待故障解除后准确地发送到接收端。 系统偶尔会出现发送消息时,消息放入消息队列出错的情况。实践过程中发现,对发送报错的消息连续发送n次,就可以避免发送失败。而且,系统设计时,保证只有消息正确发送后,才删除消息缓冲列表中的消息,从而完全杜绝消息的丢失。 2. 较好的跨平台性 系统的实现并不局限在某个数据库平台和某个操作系统上。理论上,系统支持任何多用户关系数据库平台。而且MQ Series支持的操作系统有Windows系列、OS2、OS390 和各大厂商的主流Unix 系统。
目 录 1. 概述... 1 1.1 选题背景和目的... 1 1.2 中国人口基础信息数据库发展现状... 1 1.3 研究面临的难点和关键技术... 2 1.3.1 研究人口基础信息数据库面临的难点... 2 1.3.2 研究人口基础信息数据库使用的相关技术... 2 1.4 本文的结构... 3 2. 人口基础信息数据库基本知识... 4 2.1 人口基础信息数据库的介绍... 4 2.2 ORACLE 数据库... 5 2.3 ACCESS 数据库... 5 3 利用XML实现异种数据库间的数据交换... 6 3.1 数据交换的原因... 6 3.2 XML、DOM与数据库... 6 3.3 基本思想... 6 3.4 异构数据库数据转换实现... 7 3.4.1 数据抽取... 7 3.4.2 数据存储... 9 4. 数据一致性的研究... 12 4.1 维护数据一致性的方法... 12 4.2 消息队列法... 12 4.2.1 消息队列法介绍... 12 4.2.2 消息队列法的实现... 13 4.3 复制控制法... 14 4.3.1 复制控制法介绍... 14 4.3.2 复制控制法的实现... 16 4.4 两种方法的原理分析... 17 5. 系统设计... 18 5.1 系统设计的软件和硬件环境... 18 5.1.1 硬件环境... 18 5.1.2 软件环境... 18 5.2 系统总体设计... 18 5.3 功能划分... 19 5.3.1 用户登录模块... 19 5.3.2 身份证信息管理模块... 19 5.3.3 数据交换模块... 20 5.4 小结... 21 6. 总结... 22 致谢 23 参考文献... 24 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |