标题 | 基于广播电视监测资源共享系统与其他业务系统间分布式的数据同步实现 |
范文 | 黎展鹏 摘 要 对广电各监测系统的现状及系统间数据同步方式进行了阐述,随着广播电视监测事业的不断发展,原有数据同步方式在广电监测系统中同步效率低、灵活性差、不易扩展等弊端逐渐显露,成为系统间数据共享的瓶颈。为了满足广播电视监测资源共享系统的要求,对数据同步系统架构进行了重新设计,由原来的通过JAVA/C++等程序来实现数据的同步改变为直接在数据库层面进行编程完成数据的同步,并支持数据库间单向、双向、一对多的数据同步。文章对数据库的触发器、存储过程、JOB、Dblink等在数据同步中应用进行了研究,实现了灵活的数据同步功能,在广电监测系统中也得到了很好的实践。 关键词 数据同步;分布式;数据库 中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2018)213-0073-04 1 相关概念 1)广播电视监测系统,是指国家广电总局构造的全国性的监测平台,由1个中心节点、10个区域节点(总局直属监测台)、29个省级节点以及350套地级监测数据采集前端组成。通过该系统,可实现对全国337个地级以上城市播出的中央和地方电视和广播节目进行24小时实时监测;对播出状况(重大停、劣播事故)、播出质量、播出内容、频谱状况等进行监测。 2)广播电视监测资源共享系统是在现有的5个监测系统(有线电视监测系统、广播电视监测系统、开路电视和调频广播监测系统、卫星电视监测系统和海外监测系统)和原有的信息平台系统之上,进行数据整合,实现广播电视监测信息的上报、分析处理和发布,进一步加强监测数据的综合分析处理能力,实现实时分析和统计,提供更多有价值的数据统计分析结果,并实现多种方式的展示,增强监测信息的获取和即时通讯等能力,构建数据应用、分析、展示平台。 3)分布式数据库同步,利用Oracle数据库特性实现多台分布在网络中的ORACLE数据库服务器之间部份数据一致性,而采用的技术手段。 2 广电各监测系统现状 随着广播电视监测事业的不断发展,监测工作越来越得到总局领导和有关部门的重视,为了把广播电视节目优质地传送给广大听众和观众,促进广播电视传输和播出质量的提高,强化广播电视事业管理工作和政府职能,加强监管,到目前为止,已建设有线电视监测系统、广播电视监测系统、开路电视和调频广播监测系统、卫星电视监测系统和海外监测系统等为总局各个部门服务。 在各系统的运行过程中发现系统本身所获取到的监测数据不能完成满足监测的需要,而其他部门建设的监测系统却可以满足这部份工作,为了更好地完成监测任务,提高工作效率避免重复建设,各系统开放部分数据给其他需要的部门,实现了监测数据的按需获取。 3 原有广播电视监测各业务系统间的数据同步方式 为了提高监测工作的效率、监测结果的准确性和监测数据的共享,设计了初期的数据同步方式,基本原理是针对需要同步的数据设计相应的数据同步程序,根据不同系统间的需要,采用定时或指定时间间隔的定向数据发送,当有多个系统需要同一份数据时,需要发送多次才能完成,而非真正的实时数据同步,基本实现方法如图1。 4 广播电视监测资源共享系统的建设背景和目标 国家广电总局监测中心目前已经建立了5个独立的监测子网,即有线电视监测网、广播监测网、开路电视和调频广播监测网、卫星电视监测网和海外监测网。5个监测系统都已具有较为完善的监测功能,在日常监测业务中发挥了重要的作用,并且5个子系统分别和数据中心实现了网络互通。 广电总局资源共享系统是在现有的5个监测系统和原有的信息平台系统之上,进行数据整合,实现广播电视监测信息的上报、分析处理和发布,进一步加强监测数据的综合分析处理能力,实现实时分析和统计,提供更多有价值的数据统计分析结果,并实现多种方式的展示,增强监测信息的获取和即时通讯等能力,构建数据应用、分析、展示平台。 5 数据同步系统设计 针对广播电视监测资源共享系统的建设需要,需要对已经建立的五个独立监测子网的监测数据提供给广播电视监测资源共享系统,经调研分析,各系统产生的数据量大、实时性要求高,并且在对监测数据分析的同时,发现其中部分数据在某一时间段产生量比较大的特点,并且数据库表结构不统一,这样也为数据的同步产生了难度,综合以上特点的同时保证数据实时的提供广播电视监测资源共享系统和今后大数据分析和信息共享的原则,决定采用分布式数据库同步方式来完成数据的同步。 ![]() 5.1 分布式数据库同步原理 建立数据同步中心数据库,该数据同步中心定位为数据同步的中央处理单元,来自不同网络的同步数据首先到达该中心,然后由该中心进行分发处理。 各监测网建立标准统一的基于数据库触发器(Trigger)的数据同步机制,将需要同步的监测数据根据条件触发,将监测数据信息分发到基于数据表的同步监测数据队列,最后通过存储过程将同步监测数据队列中的数据,利用数据库的DBLink连接机制,连接到数据同步中心,数据同步中心再对接收到的监测数据根据触发条件,分发到相应的监测网络数据库,至此数据的同步结束。分布式数据库同步的原理如图2。 5.2 数据同步的总体设计 数据同步在数据库层面完成,利用数据库Tigger、JOB、DBLink、Data Queue等特性为基础完成数据的同步。 Tigger:触发器(trigger)它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。觸发器经常用于加强数据的完整性约束和业务规则等。触发器是一个能由系统自动执行对数据库修改的语句。 JOB:oracle提供的一个定期执行某个存储过程或者包体的功能。需在在job中设定执行的开始时间、间隔时间、执行对象。 DBLink:是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。 分布式数据同步示意图如图3。 5.2.1 分布式数据库同步的实现步骤 1)创建同配置表; 2)根据同步配置表创建同步需要的表; 3)状态监控; 4)创建同步总序列分发存储过程; 5)停止所有同步job; 6)创建同步job; ![]() 7)重新创建所有job; 8)创建同步错误日志记录存储过程; 9)刷新同步表字段的存储过程; 10)创建同步目的端的存储过程; 11)同步所需表的说明。 ![]() 5.2.2 启动同步程序 1)执行存储过程sync_table_columns_tab; 2)执行存储过程NEWRESTART_SYNC_JOB; 3)创建同步job的 监测job,(NEWCHECK_ SYNC_JOB)监测时间可以根据实际情况修改。 5.2.3 同步异常情况的处理 在分布式的数据库同步过程中,由于数据量大、数据来源不同,并有可能存在脏数据,在这样的环境下首先要保证数据库同步Tigger程序的健壮性,对于可能造成的异常也必须有相应的处理机制。那么利用ORACLE数据库的JOB就可以很好的解决这样的问题,通过对Tigger触发结果的监控,发现同步错误,同步错误一般有以下几种情况: ![]() 1)数据格式异常; 2)分布式数据库连接异常,造成同步数据积累; 3)数据库同步程序问题。 针对问题1需要人工干预解决问题,针对问题2、3可以通过重启同步程序。 至此完成了数据库同步程序,那么为了实现各数据库分布式的数据库数据互相同步,只需要将程序部署在不同数据库中,并且配置对应的数据目的地址,启动同步程序即可。 数据同步系统在广播电视监测资源共享系统与其它业务系统间的应用 将数据库同步的存储过程触发器等在需要使用同步的数据库中运行,并且配置需要同步的数据库表及字段、配置同步数据库表的触发规则、配置数据库表的同步目的地址然后启动同步程序即可实现同步,数据的同步速度与之前相比有了较大幅度的提高,真正的实现了监测数据的实时性,为广播电视监测资源共享系统实时性要求提供了技术支撑,同时也为总局领导快速决策提供了帮助。 6 与原有数据同步方式的对比 表2是对原有的数据同步方式与分布式数据库同步方式的比较。 7 总结与展望 本文对分布式数据库同步技术在广播电视监测资源共享系统与其他业务系统间的数据同步进行了比较深入的探讨;介绍了原有数据同步中存在的一些问题;广播电视监测资源共享系统对数据实时性的要求及各系统的情况分析;阐述了分布式数据库同步技术的原理、实现方式、异常情况处理及在广播电视监测资源共享系统中的应用;并且对原有的同步方式和分布式数据库同步方式进行了对比。 虽然分布式数据库同步方式解决了广播电视监测资源共享系统的数据同步问题,但随着业务需求的不断变化,分布式数据库同步方式也将面临着更大的挑战,分布式数据库同步方式也将随着业务的需要不断的时进行自我完善和增强。 参考文献 [1]张伟.发展中的广播电视监测业务[J].中国广播技术发展论坛,2003,30(5):40-44. [2]林阳欧.多个业务系统间数据同步系统的设计与实现[D].上海:华东师范大学,2009. [3]互联网ORACLE中文产品技术白皮书[EB/OL].(www.oracle. com). [4]宋俊苏.分布式数据库在高职院校办公自动化管理系统中的应用[J].电脑知识与技术,2009,5(8):2044-2046. [5]邵佩英.分布式数据库系统及其应用[M].2版,北京:科学出版社,2005:10-11. [6]Richard Staehli,Frank Eliassen,Sten Amundsen. Designing Adaptive Middleware for Reuse[A]Middleware 2004 Companion[C]Toronto: IFIP International Federation for Information Processing,2004:153-157. [7]张良,佟俐鹃.异构数据库集成中数据传输问题的研究[J].计算机应用研究,2004(11):65-66. [8]马锦忠.数据库系统概论[M].南京:南京大学出版社,1995. [9]林天峰.ORACLE 程序设计[M].北京:科学出版社,2003. [10]李維宏,徐如志.中间件技术及其发展动态[J].微计算机应用,2002,23(3):138-141. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。