




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)联网审计中增量数据处理技术的研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工程大学硕士学位论文 摘要 随着社会保障计算机审计的逐渐铺开,由于数据量的不断增大,审计方 案的不断改进等因素,在目前和将来的应用中,对于增量数据的处理、存储、 识别以及传输,将逐渐成为国内外学者关注的热点领域。而联网审计工作需 要打破地域限制,通过远端部署就能够开展审计工作;同时为了能及时了解 社保数据不同阶段的变化情况,以便预测审计结果,增量数据的提取与识别 更成为一个不容忽视的问题。 本文结合已有的国内外对于增量数据的提取技术,如基于数据库自带的 日志解析法、时间戳法、基于快照法、基于触发器法、基于a p i 法以及基于 变更轨迹表法等方法,提出了基于多线程技术的改进型影子表法( m u l t i t h r e a d b a s e di m p r o v e ds h a d o wt a b l e ) ,适用于多种类型的数据库中的增量数据提取。 根据该方法,本文初步实现了增量数据处理系统,包括:数据转换模块、核 心对比模块、指令设置模块以及结果显示模块四部分。在充分考虑了提高系 统的可扩展性的前提下,采用j a v a 语言实现,增量数据、设置参数传输采用 饮t 文本格式,允许系统管理员和审计人员对系统进行设置;同时,为了适应 审计业务的需要,本增量提取系统可以由审计人员任意选择增量提取的属性, 并可根据具体情况停止增量识别与提取;审计人员、软件的所有操作将被记 录到日志中。 最后,本文利用黑龙江省某市的真实数据,将本软件部署于审计机关的设 备上,对本方法进行了测试,基本满足了联网审计业务的要求,实现了高效的 信息交换并增加了审计灵活性。 关键词:社会保障审计;异构数据库;增量数据 哈尔滨丁程大学硕士学位论文 a b s t r a c t a st h ea p p l i c a t i o no fc o m p u t e ra u d i to fs o c i a ls e c u r i t yi nc h i n ai ss p r e a d i n g o u t ,b e c a u s eo ft h ei n c r e a s i n ga m o u n to fd a t a , t h ec o n t i n u o u si m p r o v e m e n to f a u d i tp r o g r a ma n do t h e rf a c t o r s ,t h ei n c r e m e n t a ld a t ap r o c e s s i n g ,s t o r a g e , r e c o g n i t i o na n dt r a n s m i s s i o ni nt h ec u r r e n ta n df u t u r ea p p l i c a t i o n sw i l lg r a d u a l l y b e c o m eah o ta r e ao ft h es c h o l a r s c o n c a 3 t na th o m ea n da b r o a d t h ea u d i tb a s e d o nn e t w o r kn e e d st ob r e a kt h eg e o g r a p h i c a lr e s t r i c t i o n st ob ea b l et oc a r r yo u t a u d i tw o r kt h r o u g hr e m o t ed e p l o y m e n t ;m e a n w h i l e ,i no r d e rt ok n o wt h es o c i a l s e c u r i t yd a t ac h a n g e si nd i f f e r e n ts t a g e sf o rp r e d i c t i n gt h eo u t c o m e o ft h ea u d i t , t h e g a i n i n ga n di d e n t i f y i n go fi n c r e m e n t a ld a t ah a v eb e c o m eap r o b l e mt h a t c a n n o tb ei g n o r e d i nt h i st h e s i s ,w i t ht h ec o m b i n a t i o no ft h ei n c r e m e n t a ld a t ag a i n i n g t e c h n o l o g i e se x i s t i n gb o t ha th o m ea n da b r o a d ,s u c ha sa n a l y t i c a lm e t h o db a s e d o nb u i l d i nl o g si nd a t a b a s e ,t i m es t a m p ,m es n a p s h o t ,t r i g g e r ,a p i ,a sw e l l 鹤 c h a n g et r a c et a b l e ,am e t h o dw a sp u tf o r w a r dt h eb a s e d0 1 1m u l t i t h r e a db a s e d i m p r o v e ds h a d o wt a b l e ,w h i c hc a nb eu s e dt og a i na l lk i n d so f t h ei n c r e m e n t a l d a t ai nt h ed a t a b a s e a c c o r d i n gt ot h em e t h o d ,t h ei n c r e m e n t a ld a t ap r o c e s s i n g s y s t e mw a si n i t i a l l yi m p l e m e n t e d ,i n c l u d i n gf o u rp a r t s :d a t ac o n v e r s i o nm o d u l e , t h ec o r ec o m p a r i s o nm o d u l e ,i n s t r u c t i o ns e tm o d u l ea n dt h er e s u l t sd i s p l a y m o d u l e g i v e nf u l lc o n s i d e r a t i o nt oi m p r o v et h es y s t e ms c a l a b i l i t y , t h es y s t e mw a s i m p l e m e n t e db yj a v a , u s i n gt e x tf o r m a tf o rt h et r a n s m i s s i o no f i n c r e m e n t a ld a t a a n dc o n f i g u r ep a r a m e t e r si no r d e rt oa l l o ws y s t e ma d m i n i s t r a t o r sa n da u d i t o r st o s e tu pt h es y s t e m ;m e a n w h i l e ,f o ra d a p t i n gt ot h en e e d so fa u d i tb u s i n e s s ,t h e i n c r e m e n t a lg a i n i n g s y s t e m c a na l l o wt h ea u d i ts t a f ft oa r b i t r a r i l ys e l e c t i n c r e m e n t a le x t r a c t i o np r o p e r t i e s ,a n dc a ns t o pt h ei n c r e m e n t a li d e n t i f i c a t i o na n d e x t r a c t i o ni na c c o r d a n c ew i t hs p e c i f i cc i r c u m s t a n c e s ;a l lo p e r a t i o n so ft h ea u d i t s t a f fa n ds o f t w a r ew i l lb er e c o r d e di nt h el o g 哈尔滨工程大学硕士学位论文 f i n a l l y , b yd e p l o y i n gt h es o f t w a r eo nt h ee q u i p m e n to ft h ea u d i ti n s t i t u t i o n s , t h i sm e t h o dh a sb e e nt e s t e db yu s i n gt h er e a ld a t af r o mac i t yi nh c i l o n g i i a n g p r o v i n c e i tb a s i c a l l ym e e t st h en e e d so ft h er e q u i r e m e n t so ft h eo n l i n ea u d i t i n g , i m p l e m e n t se m c i e n ti n f o r m a t i o ne x c h a n g ea n di n c r e a s et h ef l e x i b i l i t yo fa u d i t k e yw o r d s :s o c i a li n s u r a n c ea u d i t ;h e t e r o g e n e o u sd a t a b a s e ;i n c r e m e n t a ld a t a 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指导下,由 作者本人独立完成的。有关观点、方法、数据和文献的引用已在 文中指出,并与参考文献相对应。除文中已注明引用的内容外, 本论文不包含任何其他个人或集体已经公开发表的作品成果。对 本文的研究做出重要贡献的个人和集体,均已在文中以明确方式 标明。本人完全意识到本声明的法律结果由本人承担。、f 作者( 签字) :训元i _ 屿 日期:五割垌夕日 哈尔滨工程大学 学位论文授权使用声明 本人完全了解学校保护知识产权的有关规定,即研究生在校 攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨 工程大学有权保留并向国家有关部门或机构送交论文的复印件。 本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据 库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本 学位论文,可以公布论文的全部内容。同时本人保证毕业后结合 学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈 尔滨工程大学。涉密学位论文待解密后适用本声明。 本论文( 口在授予学位后即可口在授予学位1 2 个月后 口 解密后) 由哈尔滨工程大学送交有关部门进行保存、汇编等。 作者( 签字) :亩西走i n 哆导师( 签字) 弋荔荪f 主二 1 日期: 2 刎7 年;月乡日易年享月;日 哈尔滨t 程大学硕十学位论文 1 1 课题背景和意义 第1 章绪论 中国社会保障制度经过近2 0 年的改革,将计算机审计技术作为社会保障 基金审计的工作平台,适应社会保障资金管理信息化发展趋势。计算机审计 过程中【1 1 ,一般不直接使用被审计单位的计算机信息系统进行查询、检查, 而是将被审计单位的有关数据导入到审计人员的计算机,利用审计软件进行 查询、分析,主要是为了避免影响被审计单位计算机系统正常运行,规避审 计风险。 计算机审计的主要流程【2 】是:第一、审计调查,获取必要和充分的资料、 信息。第二、采集数据,全面掌握被审计单位的基本情况。第三、对所采集 的数据进行验证、清理和转换,做好计算机审计的数据准备工作。第四、按 照财务会计核算规范建立审计中间表,生成满足审计分析所需的审计数据表。 第五、把握总体情况,选择审计重点。对转换后的审计数据,从不同层次、 角度进行分析,从总体把握情况,然后选择审计重点。第六、在总体把握的 基础上,根据审计人员经验,建立审计分析模型,对具体的数据进行分析。 第七、进行数据分析后,对发现的问题进行验证、落实。 但是目前,实行联网审计方面,我国还有很大差距,同时被审计单位财 会系统种类繁多,且没有统一透明的数据接口,给审计、税务等监督机关的 工作造成很大困删3 , 4 1 。 我国计算机审计技术的发展历经计算机辅助审计【5 】、帐套式计算机审计、 数据式计算机审计【6 】多个阶段。我国审计机关使用的各类审计软件,主要是 查询分析型、计算复核型、设定问题型几种。查询分析型软件的基本工作原 理是由审计人员开发程序或输入查询语句,实现以数据查询和分析为主的审 计目标,典型的如a o ( a u d i t o m c e ) 系统;设定问题型软件,是针对特定领域 的业务开发的专业审计软件,软件内嵌审计专家的经验。目前正在进行联网 审计的探索和实剐7 1 。对联网审计所涉及的数据的采集、增量的识别、转换、 存储、处理等关键技术已经展开研究并取得了突破性进展【8 】。联网审计技术 哈尔滨下程大学硕十学位论文 也在条件较好的一些地区、行业或单位开展0 1 。现代审计工作不仅要了解 被审计单位的业务情况,更要处理海量的电子化数据,在处理海量数据方面, 集群系统有着无可比拟的优点。国内审计信息化建设方面,还没有将数据库 集群应用到分布式审计方面。 1 1 课题的需求 虽然近些年在计算机审计领域取得了很大进展,但是2 0 0 4 年2 月开始, 随着其广泛的应用,由黑龙江省审计厅负责具体实施,并与哈尔滨工程大学 进行技术合作进行社会保证联网审计系统( n e t w o r k b a s e ds o c i a l s e c u r i t y a u d i ts y s t e m ,n s a s ) 的研发。2 0 0 6 年该项目完成,目前已经在北京、天津、 重庆、四川省宜宾市、黑龙江省( 全省各地市) 、青海省( 省直属及西宁市) 、 辽宁省、河北省等地市完成了实用化阶段的部署工作。 部署过程中一方面解决了纸面审计的诸多问题,另一方面也暴露了自身 的一些问题。比如: ( 1 ) 数据量大,数据在传输、备份和恢复过程中,耗时过长; ( 2 ) 在存储数据时,需要有多个备份,对存储空间要求越来越高; ( 3 ) 由于审计业务自身的特点,数据到达社保机关的时间不一致,有时 是在月初,有时在月末,还有的在以三个月为周期的审计季度内。因此,必 须在所有数据到达后才能开展审计; ( 4 ) 社保机关数据库系统、数据存储结构存在较大差异,造成审计前期 准备工作难度增大、审计周期增长等。 ( 5 ) 客观上社保机关计算机系统维护程度不一、计算操作人员水平参差 不齐,无法进行整体的、较复杂的数据库设置修改或操作。 本文需要着重解决以上问题。 1 2 国内外研究现状 国外计算机审计技术在数据采集、数据转换、数据处理和海量数据分析 等方面比较成熟,其软件的功能大概有几个方面:风险评估、审计计划、底 稿复核、舞弊检查预防及持续监督、审计进度表、审计底稿、审计报告、项 目人员管理、问题追踪等。一些典型的软件有,是满足企业内审要求的审计 2 哈尔滨丁程大学硕士学位论文 软件g a l i l e o ,进行企业整体风险评估的审计软件m a g i q u e 黜s km a n a g e m e n t , 普华永道开发的审计项目管理软件t e a m m a t e t l l 】、包含审计风险评估、审计 计划、财务披露等模块的p e n t a n a 等。这些国外审计软件的优势就在于贯彻 了审计工作内容和流程的规范性,这与国内外审计工作水平的差异直接相关。 正如李金华审计长所说“中外审计制度在体制上有所不同”,导致国外的计算 机审计技术不能够直接用于中国。 1 2 1 增量数据提取的研究现状 在数据量的指数级增长的大环境下,我们发现商业、银行、交通和政府 等各个领域的数据中,在某一个数据应用周期以内产生的新增数据量却相对 比较有限,经过数据清洗、过滤后的有价值的数据更是占到总数据量的很小 的一部分;同时,诸如数据挖掘、w e b 领域的应用、多维分析等对数据量、 数据分布等有较高要求的应用领域,往往已经对历史数据进行了充分的分析 和预测,新增数据只是对以往模型进行验证。当发现异常情况出现时,对研 究有意义的其实仅仅是新增的一部分数据。因此,这就为我们提出一个问题: 在科技迅速发展的今天,为了保障数据挖掘、数据抽取、数据整合等后续研 究工作的顺利进行,降低特定领域的提取的海量数据的数据量,提高数据抽 取效率,如何高效、准确的抽取出增量数据的问题,便成为一个关键的基础 和前提。 但是,当大家将眼光集中于纷繁复杂的各种传输协议和集成方案时,对 于异构数据库集成中处于最基础地位的增量数据提取方法研究却显得比较 少,国内国外只有少量的资料可以参考,最近学者们也开始注意到这种不足, 一些探索性的研究工作己经在多方面展开。 王欣、左春提出几种常用的增量数据抽取方法,它们分别是基于触发器 法、基于数据库日志法、在数据库表中增加时间戳法,以及调用a p i 的方法。 并提出了一种基于变更轨迹表的方法【1 2 1 。者敬2 0 0 2 年在博士论文开放式异 构数据库复制框架的研究与实现 2 3 】中提出了六种方法:基于快照法、基于 触发器法、基于日志法、基于a p i 法、影子表法,控制表变化法。 此外,刘伟于2 0 0 3 年提出了一变更轨迹表法的一个改进方案 1 1 4 j 倡 导“两种方式三种方法”,使得变更轨迹表法可以实现及时数据更新,满足数 哈尔滨丁程大学硕+ 学位论文 据查询要求,并基于x m l 实现数据更新的中间件。 1 2 2 异构数据集成的发展 数据库复制和异构数据库领域的许多专家学者都在进行深入的研究作为 两个领域的结合点异构数据库复制在他们的许多重要文献中都有所涉及。但 由于对数据库复制和异构数据库两者结合的紧迫性和复杂性重视不够目前还 很少见到有对异构数据库复制进行系统而深入研究的成果最近学者们也开始 注意到这种不足一些探索性的研究工作已经在许多方面展开。 相比之下产业界对异构数据库复制的兴趣要浓厚得多也进入得早他们不 但取得了不少技术成果而且其中一些已被广泛地实际应用这些技术成果是本 文研究资料的一个重要来源。 几家大型数据库厂商在其主流数据库产品同构复制的基础上进一步地提 出了各自的异构数据库复制方案其中o r a c l e 主张通过数据库转换器;s y b a s e 利用l t m ( 日志传输器) ;i b m 使用c c d ( 一致变化数据) 表;微软则提出出版 者预订者方案。 应该说上述这些方案和软件在不同方面都各有所长但其缺点也同时存在 尽管它们都在不断地提高和改进但由于彼此间的兼容性较差而不能互相取长 补短总体说来目前的状况是不能让用户满意的( 见第3 章) 本文工作的目的就 是希望在这一方向进行深入的研究。 在国内对数据库复制的研究与国际上相比存在比较大的差距而对异构数 据库复制则基本上没见有专门的研究作者只在一些文献中发现部分相关内容 其中比较系统的有:( 1 ) 金仓系统中国人民大学的移动数据库系统金仓 ( k i n g a a s e ) ;( 2 ) g a l a x y 东南大学的g a l a x y 系统【1 5 】在对包括数据库系统等。 以及其它一些关于d d b 的参考书【1 6 】简单地提到一些数据库复制以及异构 数据库的知识。 1 3 本文内容与结构 1 3 1 课题来源 本课题来自全国社会保障联网审计项目,基本需求来自社会保障联网 审计系统联网审计模型。 4 哈尔滨t 程大学硕士学位论文 f 1 2 0 0 2 年7 月2 8 日,国家计委批准审计署建设“金审工程”以来,计算机审 计规模日益扩大,功能日益扩大,取得了飞速的发展。哈尔滨工程大学计算 机学院研究开发的社保审计系统经过4 年多的努力,审计的险种包括了除养老 保险意外的医疗保险、工伤保险、生育保险和失业保险共五个险种。并且, 被审单位由于分布于不同的物理位置,已经进入了分布式联网审计的阶段, 采用的操作系统、应用系统、数据库各不相同,同时也产生了许多新的问题。 审计方式由单一的现场审计向现场审计与远程审计相结合转变,事后审 计向事前审计发展,由单一的静态审计向静态审计与动态审计相结合转变, 这一方面对审计的实时性提出了更高的要求,另一方面对审计数据变化的敏 感程度大大提高了。 如何让现有系统更高效的满足需求,降低投入成本,准备以后更多新子 系统投入使用,提高可扩展性,既保留历史数据,又充分利用新增数据,是 该课题的重要日标。课题的几个重要原则是: ( 1 ) 不修改原有系统的数据结构; ( 2 ) 不改变原有系统的操作习惯; ( 3 ) 实现数据即时有效、正确( 任何时刻查询到的数据都是最新、有效 而且正确的数据) ; ( 4 ) 尽量使新系统具有良好的扩展性。 1 3 2 论文内容 本文针对社保保障审计的具体需求,基于社会保险审计系统的的分布式 审计应用平台进行系统的介绍,着重阐述了社保基本养老保险数据的采集、 增量数据的识别、传输和系统接口部分的设计和实现的全部过程。 提出并实现社保部门数据库增量数据的采集、提取和传输方法,设计开 发社会保险增量数据转换、传输、抽取工具,可以自主地从社保部门获取社 保数据库的增量数据,并为后续增量数据的使用、与已有结果合并、传输做 好数据量、数据结构上的准备。 社会保险审计增量数据的集成、抽取过程,大大降低了社保数据网络传 哈尔滨t 程大学硕士学位论文 输的数据量,减少了数据传输时间,降低了数据存储成本,并且具备很高的 可行性及可靠性。数据结合审计业务需求,既保证社保数据的完整性和有效 性,也满足审计需求。 该系统具有处理海量数据的能力,针对不同的硬件条件,采取不同的增 量抽取措施,对社保海量数据的划分和放置进行针对性的分析,研究分布式 环境下社保海量数据传输和审计方法对增量数据的要求以及后续需求,并进 行初步试验。 1 3 - 3 论文组织 论文的具体安排如下: 第1 章论述社会保障审计工作的现实意义,根据课题的背景,提出针对 分布式联网审计的实际要求,对增量数据提取的急迫需要,并简要了国内外 在计算机审计技术方面的研究进展。阐述本论文的重要工作,提出增量数据 抽取研究过程中的相关技术和难点。 第2 章简要介绍实现该系统设计到的概念技术,包括一些注意事项和实 际中遇到的问题。结合社保审计业务需求,和实际硬件设施的平均状况,提 出网络环境下数据库、网络的基本要求。 第3 章介绍数据库复制技术的实现方法,尤其是变化监测方法,简要介 绍了冲突检测与解决方法。数据库复制技术是增量数据识别技术的基础,分 析目前主流关系数据库的增量识别方法,开发增量提取的分析工具。 第4 章基于本文介绍的提取算法及思想,设计并初步实现了该增量数据 提取系统。并研究分布式环境下社保数据查询的要求和实现技术,并对本系 统进行初步试验。此外,对另外两种增量数据抽取进行了定量比较,并给出 了比较结果。 第5 章总结分布式审计系统各部分的特点,分析社保审计过程中成功的 应用经验,并有针对性的说明分布式审计系统中增量提取的准备条件,并提 出了抽取规划和实施过程中应注意的问题。 本文较深入的介绍研究了增量处理技术,并初步实现投入使用,获得了 较好的研究与应用成果。 6 哈尔滨- 丁程大学硕士学位论文 第2 章增量提取的相关概念 增量提取技术的核心问题一是灵活性,可以操作于多个数据库平台;二是 高效性,提高审计工作的效率和精确度;更重要的是符合整体联网审计。要想 实现这两个目的,就要尽可能地利用数据库已有的优化功能,在此基础上提出 新的提取技术。 2 1 数据库的设置 2 1 1j d b c 体系结构 j d b c 是实现j a v a 应用程序与各种不同数据库对话的一种机制。j d b c 由 两部分与数据库独立的a p i 组成,一部分是面向程序开发人员的j d b c a p i , 另一部分是面向底层的j d b cd r i v e ra p i 。j d b c 提供了一个通用的j d b c d r i v e rm a n g e r ,用来管理各种数据库软件商提供的j d b c 驱动程序,从而访问 其数据库。此外,对没有提供相应j d b c 驱动程序的数据库系统,开发了特殊 的驱动程序:j d b c o d b c 桥,该驱动程序支持j d b c 通过现有的o d b c 驱动程 序访问其数据库系统。j d b c 的基本层次结构由j a v a 程序、j d b c 驱动程序管 理器、驱动程序和数据库四部分组成。 j d b c 驱动程序分为四大类:第一类是j d b c o d b c 桥驱动程序( j d b c o d b cb r i d g e d r i v e r ) ;第二类是部分j a v a 的本地j d b c a p i 驱动程序( a n a t i v e a p ip a r t l yj a v at e c h n o l o g y - e n a b l e dd r i v e r ) 。第三类是纯j a v a 的数据库中间件 驱动程序( p u r e j a v a d r i v e r f o r d a t a b a s e m i d d l e w a r e ) 。而本文使用的是第四类驱 动程序:纯j a v a 的j d b c 驱动程序( d i r e c t t o d a t a b a s e p u r e j a v a d r i v e r ) 。 这类驱动程序是直接面向数据库的纯j a v a 驱动程序,即所谓的“瘦”驱 动程序。使用这类驱动程序时无需安装任何附加的软件( 无论是本地计算机 或是数据库服务器端) ,所有存取数据库的操作都直接由j d b c 驱动程序来完 成,它能将j d b c 调用转换成d b m s 专用的网络协议,能够自动识别网络协议 下的特殊数据库并能直接创建数据连接。第四类链接的体系结构概念图如下: 哈尔滨t 程大学硕+ 学位论文 图2 1j d b c 体系结构概念图 选择这是一类新型的驱动程序,它由数据库厂商提供,能够实现对于本 公司数据库系统的最优化访问。它无需安装任何附加软件,不会增加任何额 外开销,并且由纯j a v a 语言开发而成,允许从客户机到数据库服务器的直接 调用,能够自动识别网络协议下的特殊数据库并能直接创建数据连接,因此 这种驱动程序的效率最高,拥有最佳的兼容性。 然而,这种驱动也有它的不足:首先,由于使用d b m s 专用的网络协议, 不被防火墙支持,在i n t e m e t 中会存在潜在安全隐患,成为这类驱动最大的缺 陷。之所以仍然选择第四类驱动,由于联网审计是基于政务网,与i n t e r n e t 网 是物理隔绝的,弥补了网络安全方面的缺憾。瑕不掩玉,在实际实施过程中, 此类驱动的扩展性和便捷性逐渐体现出来。 2 1 2 数据结果集的设置 数据库中结果集一般是一个表,其中有查询所返回的列标题及相应的值。 例如,如果查询为s e l e c ta , b ,cf r o mt a b l e l ,则结果集将具有见下表所示: 表2 1 结果集示例 ab c 1 2 3 4 5 c u p e r t i n o c a 8 3 4 7 2r e d m o n dw a 8 3 4 7 2b o s t o nm a 8 哈尔滨丁程大学硕十学何论文 通常使用e x e c u t e q u e r y ( 它返回单个r e s u l t s e t ) 或e x e c u t e u p d a t e ( 它可用 于任何数据库修改语句,并返回更新行数) 可执行s q l 语句。但有些情况下, 应用程序在执行语句之前不知道该语句是否返回结果集。此外,有些已存储 过程可能返回几个不同的结果集和或更新计数。 为了适应这些情况,j d b c 提供了一种机制,允许应用程序执行语句, 然后处理由结果集和更新计数组成的任意集合。这种机制的原理是首先调用 一个完全通用的e x e c u t e 方法,然后调用另外三个方法,g e t r e s u l t s e t 、 g c t u p d a t c c o t m t 和g e t m o r e r e s u l t s 。这些方法允许应用程序一次一个地研究语 句结果,并确定给定结果是r e s u l t s e t 还是更新计数。用户不必关闭r e s u l t s e h 当产生它的s t a t e m e n t 关闭、重新执行或用于从多结果序列中获取下一个结 果时,该r e s u l t s e t 将被s t a t e m e n t 自动关闭。 另外,在实现过程中,当数据结果集r s n e x t ( ) 至l j - - 定的数目时,程序退 出。如果适当的参照o r a c l e 的优化规则,对程序进行了手工提交,批量更新 等优化措施,情况有些好转。但是执行到一定时候还是这样,程序抛出异常 是o u t o f m e m o r y e r r o r 。 报错的原因是o r a c l e ( 本系统是基于o r a c l e 9 i 下实验完成的) 的j d b c 程 序的特性,有人在相同1 0 0 万记录的规模里,在d b 2 里不会出错,而在o r a c l e 里会出错。原来当用o r a c l e 的s t a t e m e n t 时,如果创建的时候使用 r e s u l t s e t t y p es c r o l li n s e n s i t i v e 参数指定,虽然可以在游标里自由 滚动,但因为不可见别人的更新,势必c a c h e 已得到的r e s u l t s e t ,那么当记 录数很多时,就会造成内存溢出( 经过测试或r e s u l t s e t t y p e s c r o l l s e n s i t i v e 参数也无法在大数据集中使用) 。所以在操作超大r e s u l t s e t ( 这 里特指o r a c l e j d b c ,可能其它j d b c 实现有所不同,这里所用的o r a c l e j d b c 版本为1 0 2 0 3 0 ) ,应该使用r e s u l t s e t t y p ef o r w a r do n l y 类型来进行 创建。 r e s u l t s e t t y p ef o r w o r do n l y :只进游标。 r e s u l t s e t t y p es c r o l li n s e n s i t i v e :可滚动,但是不受其他用户对 数据库更改的影响。 r e s u l t s e t t y p es c r o l ls e n s i t i v e :可滚动,当其他用户更改数据库 时这个记录也会改变。 9 哈尔滨t 程大学硕士学位论文 能否更新记录: r c s u l t s e t c o n c u rr e a do n l y ,只读。 r e s u l t s e t c o n c u ru p d a t a b l e ,可更新。 2 1 3 异构数据集成技术 为了把各子系统传输上来的数据整理合并,需要对其集成。通过创建一 个中央数据库,构造一个全局模式,创建多个映射表表达中央数据库的数据 和子系统数据库的数据之间的映射关系,可以解决各个子系统之间的冲突。 冲突分为模式层的冲突和实例层的冲突。集成的难点是识别各种冲突,然后 再通过具体方法来加以解决【l9 1 。 ( 1 ) 命名冲突,是最常见的冲突之一,指相同的对象在不同数据库中 用不同的名字表示或者不同的对象有相同的名字。解决这种冲突的办法较容 易,只要在集成前确定相同对象在不同的数据库里面对应的名字即可。 ( 2 ) 模式结构冲突,指不同的数据库中,可能用不同的模式表示相同的 联系。例如,导师指导研究生是一对多的关系,在a 库中,可能有双亲、子 女和抚养这三个表来表达这种关系;而在b 库中,可能只有两个表双亲和子 女来表达这种关系,而抚养作为学生实体的一个属性出现。解决的办法是找 到实体和对应的属性,就可以实现相互转换。如上例中,a 库指导表中的记 录和b 库子女表中子女记录的指导属性相对应。 ( 3 ) 主键冲突,指同一实体,使用不同的主键标识。例如,a 库中可能 用身份证号作为子女的主键,而b 库中可能用个人养老编号作为学生的主键。 解决的办法是建立统一的主键,标识不同数据库中相同的实体,不同主键之 间的联系可以通过建立主键映射表确定。 ( 4 ) 表达格式冲突,指集成模式中相同意思的数据在不同的数据库中的 表达方式不同。例如时间,有可能用形如y y y y m m d d 的字符串表示,也 有可能用形如d d i n i n y y y y 的字符串表示。解决的办法是用统一表示方法 表示相同意思的数据,不同格式的数据可以通过定义映射公式予以转换。 在实现一章将会详细介绍对于异构数据库数据,本系统是如何设计实现 的。 1 0 哈尔滨工程大学硕十学位论文 2 3 数据库性能优化 执行增量数据提取操作,核心问题是解决效率的问题。从以往的经验来 看,传输媒介采用政务网、v p n 专网,从安全控制上说,是属于物理隔离, 安全系数较高,不容易出现数据窃取的情况;另一方面,由于数据量较大, 增量数据的提取根本上是解决海量数据传输、转换以及存储所带来的问题, 因此与海量数据相关的所有操作,不论操作本身速度多块,当乘以一个1 0 g 的系数后,时间都会是一个惊人的数字。因此要想办法,将直接对数据的相 关操作减到最少。 本数据增量提取算法,其主要原操作是在数据库上进行的,因此,数据 库中的s q l 语句的执行效率极大的影响着数据增量提取的效率。因此也直接 影响着数据提交之后的数据应用。本节介绍s q l 语句的执行原理,以及本系 统将采用何种方法优化d m l 的执行效率。 2 3 1s q l 语句执行过程 本系统基于i b md b 2v 8 实现,因此,一下s q l 语句解析、运行过程皆 是以d b 2 数据库下实现的,现在以i n s e r t 语句进行说明: s q l 语句预编译。对于静态s q l 语句,此处基本影响不大,因为客户 机对s q l 语句的准备是事先完成的;而对于动态s q l 语句,每执行一个, 都是在语句之前准备好的。 由客户端负责将要插入的行的各个属性组装起来,发送到d b 2 服务器。 d b 2 服务器确定将这一行插入到哪一页中。 d b 2 在用于该页的缓冲池中预留一个位置。如果d b 2 选定的是一个已有 的页,那么就需要读磁盘;如果使用一个新页,则要在表空间中为该页物理 地分配空间。插入了新行的每一页最后都要从缓冲池写入到磁盘。 在目标页中对该条记录进行格式化,并获得该行上的一个x ( e x c l u s i v e , 独占的) 行锁。 将反映该i n s e r t 的一条记录写入到日志缓冲区中。 最后提交包含该i n s e r t 的事务,如果这时日志缓冲区中的记录还没有被 写入日志文件的话,则将这些记录写到日志文件中。 哈尔滨工程大学硕+ 学位论文 此外,还可能发生很多类型的附加处理,这取决于数据库配置,例如, 索引或触发器的存在。这种额外的处理对于性能来说也是意义重大的。 2 3 2 执行过程优化 对于比较提出出的增量数据,比较多的操作就是i n s e r t 语句,将记录 插入到增量库中。如果重复地执行相同的i n s e r t 语句,则该语句的访问计 划( 通常) 会进入到包缓存中,这样就免除了编译的开销。然而,如果i n s e r t 语句对于每一行有不同的值,那么每一条语句都将被看成是惟一的,必须单 独地进行编译。因此,可以将如下相似的插入语句: i n s e r ti n t oa c 0 1v a l u e s ( 董健,a b c ) i n s e r ti n t oa c 0 1v a l u e s ( 陈超,d e f ) 等换成带有参数标记的语句: i n s e r ti n t oa c 01v a l u e s ( ? ,? ) 一次准备,重复执行,这样做将会显著的提高插入效率,使用参数标记可以 让一系列的i n s e r t 的运行速度提高数倍。( 在静态s q l 程序中使用主机变量 也可以获得类似的好处) 而采用一些技巧,将s q l 语句进行拼装也是可取的。最重要的一种技巧 是在每条i n s e r t 语句中包括多行,这样就可以避免对于每一行都进行客户机一 服务器通信,同时也减少了d b 2 开销,在v a l u e s 子句中包含多行的内容。 例如,下面的语句将插入三行:i n s e r ti n t oa c 0 1v a l u e s ( 1 ,a b c ) ,( 2 ,d e f ) , ( 3 , g h i ) ; 也可以在j d b c 中使用批处理操作。当通过p r e p a r e s t a t e m e n t 方法准备了 i n s e r t 语句之后,剩下的步骤是针对每一列调用适当的s e t x x x x 方法( 例如, s c t s t r i n g 或s e f i n t ) ,然后是a d d b a t c h 。对于要插入的每一行,都要重复这些 步骤,然后调用e x e c u t e b a t c h 来执行插入。 2 3 3 日志记录对性能的影响 缺省情况下,每条i n s e r t 都会被记录下来,以用于恢复。日志记录首先 被写到内存中的日志缓冲池,然后再写到日志文件,通常是在日志缓冲池已 哈尔滨工程大学硕十学位论文 满或者发生了一次提交时写到日志文件的。对批量插入的日志记录的优化实 际上就是最小化日志记录写的次数,以及使写的速度尽可能快。 这里首先考虑的是日志缓冲池的大小,这由数据库配置参数l o g b u f s z 来控制。该参数缺省值为8 页或3 2 k ,这与大多数批量插入所需的理想日志 缓冲池大小相比要小些。举个例子,对于一个批量插入,假设对于每一行的 日志内容有2 0 0 字节,则在插入了1 6 0 行之后,日志缓冲池就将被填满。如 果要插入1 0 0 0 行,因为日志缓冲池将被填满几次,再加上提交,所以大概有 6 次日志写。如果将l o g b u f s z 的值增加到6 4 页( 2 5 6 k ) 或者更大,缓冲 池就不会被填满,这样的话对于该批量插入就只有一次日志写( 在提交时) 。 通过使用更大的l o g b u f s z 可以获得大约1 3 的性能提升。较大日志缓冲 池的不利之处是,紧急事故恢复所花的时间可能要稍微长一点。 而对于提高日志写的速度,本文采用如下方法: ( 1 ) 将日志与新行所要插入到的表分别放在不同的磁盘上; ( 2 ) 在操作系统层将日志分放到多个磁盘; ( 3 ) 可以为日志使用原始设备( r a wd e v i c e ) ,但是这种方式使管理的复 杂度有所增加。 2 3 4 提交过程对性能的影响 提交迫使将日志记录写到磁盘上,以保证提交的插入肯定会存在于数据库 中,并且释放新行上的锁。这些都是有价值的活动,但是因为c o m m i t 总是要 牵涉到同步i o ( 对于日志) ,而i n s e r t 则不会,所以c o m m i t 的开销很容易高 于i n s e r t 的开销。因此,在进行批量插入时,基于性能上的考虑时,不会考虑 每一行都提交一次的,所以应确保不使用自动提交( 对于c l i 和c l p 来说缺 省情况正是如此) 。本系统大约每1 0 0 0 行提交一次:当每1 0 0 0 行而不是一两 行提交一次时,性能可以提高大概1 0 倍。不过,一次提交多于1 0 0 0 行只能节 省少量的时间,但是一旦出现失败,恢复起来所花的时间要更多。 对上述方法的一种修正:如果m i n c o m m i t 数据库配置参数的值大于1 ( 缺省值) ,, 贝i j d b 2 就不必对每次c o m m i t 都进行一次同步i o ,而是等待, 并试图与一组事件一起共享日志i o r 2 0 1 。对于某些环境来讲,这样做是有好 1 3 哈尔滨工程大学硕+ 学位论文 处,但是对于批量插入常常没有作用,甚至有负作用,因此,如果要执行的 关键任务是批量插入,就应该让m 1 n c o m m i t 的值保持为1 。 2 4 本章小结 本章介绍了增量处理技术的几项关键技术:j d b c o d b c 技术,数据集 设置问题,s q l 优化技术和异构数据集成技术( 将在第3 章详细介绍) 。本 章对针对数据库的操作每一步进行了详尽的分析,从而充分发挥数据库本身 的优化效率,同时分析记录日志、提交过程的时间成本,基于本章的分析, 本文中提及的算法将减少不必要的数据库操作,以提高提取效率。 1 4 哈尔滨工程大学硕十学位论文 第3 章数据库复制技术 数据库复制技术随着分布式数据库的发展近年来受到越来越广泛的应 用,尤其是在保证数据库一致性上更起到了决定性作用。而数据库复制的一 个重要应用领域,就是通过记录数据库变化情况,即通过识别、提取、备份 增量数据的方式,将变化的数据恢复到原数据库中,从而保证数据库的一致 性。本章结合增量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境投资合作协议
- 毕业论文三个排版
- 专业赛事安全保障协议
- 2025年电视剧后期剪辑合同
- 中班健康活动《珍惜生命不做危险事》教案
- 2024年老师工作总结(四篇)
- 幼儿园大班消防教案
- 会计基础-每天一练-经典题
- 2025年员工股权门店共赢协议
- 《吃水不忘挖井人》教学教案模板
- 服务器存储网络设备巡检报告
- 河北2023年邯郸银行内部审计人员招聘考试参考题库含答案详解
- 简思plc状态帧使用说明书
- 世界范围内社区支持农业CSA(下)
- GB/T 29256.5-2012纺织品机织物结构分析方法第5部分:织物中拆下纱线线密度的测定
- GB/T 27021.1-2017合格评定管理体系审核认证机构要求第1部分:要求
- GB/T 1410-2006固体绝缘材料体积电阻率和表面电阻率试验方法
- FZ/T 07010-2021绿色设计产品评价技术规范针织服装
- 科幻小说《三体》内容简介读书分享会ppt图文课件
- 校园文化施工组织设计范本
- 大地的耳朵-阅读答案
评论
0/150
提交评论