/ 中存储网

两级分布式数据中心的设计和实现

2015-06-05 18:08:37 来源:机房360

随着数据库技术的发展和主机运算能力的提高,目前数据库管理系统能够管理的数据库规模越来越大,数据量高达几百GB甚至TB以上。为方便数据管理和数据分析、挖掘、利用,企业及政府部门越来越倾向于构建大型数据中心(Data Center),实现数据大集中,但数据大集中对系统高可用性,系统容灾,网络运行提出了极高的要求,需要较高的建设成本,同时也隐含较大的系统风险。如何既能充分享有数据集中的好处,又相对缓解数据中心(Data Center)系统风险,降低运行维护成本,是很多单位面临的课题。

1山东工商数据中心(Data Center)建设需求及问题

山东省工商行政管理局承担着依法确认各类市场主体资格,对市场主体实行监督管理,保护公平竞争,维护市场经济秩序的重要职责。为适应社会经济的快速发展及工商行政管理改革创新需要,需要对各类工商业务系统进行整合,克服工商系统内部各部门之间及上下级之间业务独立,信息交流不畅的弊病,实现工商系统内部横向及纵向的业务联动,实现对市场主体全方位动态监管。为此,建立全省统一的业务系统和数据中心(Data Center),实现工商基础数据的集中和规范是一条必由之路。

将全省数据集中到省局,全省各级工商部门通过网络联接到省局数据中心(Data Center)进行联机事务处理是一种比较理想的方案。但是,该方案面临以下问题:

(1)山东工商“金管工程”二期建设实现了省、市、县、所四级联网,采用统一的网络标准,实行分级建设和运行维护,通信线路从运行商租赁。由于该网络受限于各地运营商的服务质量,同时各地维护能力不平衡,维护力量有限,难以满足全省集中、实时访问省局单一数据中心(Data Center)的需求。

(2)全省集中的联机处理数据库压力极大,一旦出现故障,必然造成全系统业务停顿,系统运行风险高,难以承受。

(3)全省集中的联机处理数据中心(Data Center)由于地位非常关键,需要较高的运算能力和高可用的主机系统,采取完备的系统容灾和备份措施,对运行环境及维护能力要求太高,一次性费用投入太高。

2两级分布式数据中心(Data Center)设计

为缓解联机处理业务全省集中的系统风险和矛盾,山东工商采取了两级分布式数据中心(Data Center)解决方案,即在市局建立数据运行中心,在省局建立数据处理中心。市局数据运行中心主要负责全市各项业务的联机处理,全市各级工商业务人员通过部署在市局的J2EE应用服务器直接连接到数据运行中心办理各项工商业务,日常业务产生的数据实时入库。省局数据处理中心按照统一标准汇总全省业务数据,主要提供数据挖掘分析,检索服务,数据共享,决策支持等,为各级政府部门和社会公众提供基础数据和决策支持服务。数据运行中心的数据在统一标准体系和安全管理体系的支持下,采取每日同步的方式汇总到省局数据处理中心的中心数据库(ODS)。数据中心(Data Center)总体框架如图1所示。

3数据同步设计

数据同步设计的重点在于市局数据运行中心向省局数据处理中心的数据汇总功能,即如何将全省各市局日常业务处理产生的大量基础数据汇总到省局,如何在省、市间骨干线路带宽有限(2M)的条件下,既要保证省市两级数据中心(Data Center)的一致性、完整性,又要满足一定的实时性要求,同时能够方便管理,运行可靠。

考虑到省市两级数据中心(Data Center)都采用了统一的OR—ACLE9i数据库管理系统,各市局采用统一的业务系统,具有相同的数据库结构,设计了基于DML触发器的增量数据同步方案。DML触发器是一种特殊类型的存储过程,它在插人、删除或修改特定表中数据时起作用。触发器

的主要特点在于,不管何种原因造成数据变化,它均能够自动响应。当针对某特定表的insert,update或delete语句执行时,用户所定义的过程被隐含执行。DML触发器当insert,update或delete语句执行时,由数据库系统点火。

数据增量同步设计的思路是通过DML触发器捕获和记录市局数据运行中心哪些记录发生了变化,然后在省局数据处理中心数据库中做相应的变化,就能够实现数据更新同步,使数据处理中心的数据和数据运行中心的数据保持一致。

4数据同步实现

数据运行中心作为各市局业务的联机处理数据库,其数据每天都在发生变动,数据同步的关键是将数据的实时变动记录下来。数据处理中心提取每个数据运行中心的数据变动记录,定期(每天晚上)在数据处理中心数据库“重做”,达到汇总各数据运行中心增量数据的目的,从而完成同步更新。

4.1数据运行中心

数据运行中心建立触发器和日志表MOM—LOG.触发器跟踪每天所作的业务,包括增加、删除、修改,并将其记录保存在表MON—LOG中。

日志表MON—LOG结构如下:

对需要记录其变动情况的数据表建立触发器,以table01表为例,结构如下:

触发器在数据库运行过程中可自动完成对数据表变动情况的记录。

4.2数据处理中心

数据处理中心的主要任务是收集各运行中心数据变动情况,并将记录变动情况的日志信息提取出来进行“重做”,从而使数据处理中心与数据运行中心保持同步。数据处理中心需建立与运行中心的远程数据联接,执行同步操作的存储过程和计划任务。数据处理中心通过网络远程联接运行中心提取数据表变动信息(数据变动日志),存储过程根据变动信息更新数据处理中心数据库,使其数据与运行中心同步。计划任务负责定期调度存储过程,实现自动数据同步工作。

数据处理中心存储过程结构如下:

4.3同步过程的启动

在启动增量同步过程之前,做数据运行中心数据向数据处理中心的全复制,建立增量同步的基准,然后利用每天晚上业务空闲时间将当天各地数据运行中心的增量数据同步到省局数据处理中心。同步过程由数据处理中心进行调度,在网络等因素导致同步失败时,可将同步过程回滚到失败前的数据一致状态,等待下一个工作日完成上次同步成功以来的全部增量同步工作。

5结论

两级分布式数据中心(Data Center)在山东工商系统进行了部署和运行,在网络及硬件基础设施有限的条件下,一方面,分散和降低了联机业务处理系统风险,较好解决了全省各级工商机关的业务办理工作,另一方面,通过每天晚上的定时任务,实现了全省数据的大集中,做到了每日同步,满足了全省数据集中应用的需求。运行结果表明,基于DML触发器增量同步方案简单易行,较好地解决了数据集中与分散的矛盾,具有实用、高效的特点。