下面那些不能用作数据的源头治理工作总结

红旗河作为水源头 会成为更多人们的母亲河_商讯_产经频道首页_财经网 - CAIJING.COM.CN
当前位置:
个股查询:
红旗河作为水源头 会成为更多人们的母亲河
本文来源于中华网 
大家一提到母亲河肯定第一时间想到长江、黄河,因为这两条河的河水养育着万万千千的中华子孙,现在我们来介绍另一条河,它叫做&红旗河&,未来如果&红旗河&西部调水工程可以顺利完成,那么这条红旗河也将成为更多人们的母亲河。
红旗河工程的实现意义非常重大,面对日益恶劣的西部生态环境、逐步拉大的东西部经济文化发展差异,似乎红旗河西部调水工程才是拯救大西北生态和发展的关键。
红旗河可能成为&哺育&西部的新&母亲河&吗?
红旗河是目前可行的往西北部送水的方案么?
红旗河能否延续生命,养育更多的中华子孙?
红旗河工程的实现,会否最大程度的调水到大西北?
红旗河工程最为千秋伟业,有无最终建成的可能?
在探讨这些问题之前,我们更应该关注的是修建红旗河的工程合理性和可执行性。
从设计层面来看,红旗河与以往调水方案相比,的确更加合理和因地制宜。红旗河的修建其实是将一条长河分成了若干分段工程。从雅鲁藏布江&大拐弯&附近开始,红旗河全程6188公里,沿途取易贡藏布和帕隆藏布之水,自流509公里进入怒江,在依次借用怒江,经隧洞进入澜沧江、金沙江后,以隧洞、明渠、水库相结合的方式,一次进过雅砻江、大渡河、岷江、渭河、黄河,将水引到达新疆腹地。
另外&红旗河&工程设计了3条支线,通向延安方向的红延河,通向内蒙古、北京方向的漠北河,通向吐哈盆地的春风河。红旗河的3条支渠均是基于相关地域地理特点的最优选择,保证坡降的前提下全程高水位自流,把水源送往西北干旱地区。
并且,据相关的王浩院士在清华大学的演讲中透露,红旗河及其分支的修建不仅可以解决生态问题,惠及更多地区,还可以为治理、控制东部的确的水灾等问题打下基础。比如说,在干旱时调水,在洪涝灾害来临前就通过红旗河把水资源输送到西部地区,一举两得。
王浩院士也曾在给清华学子的演讲中阐述红旗河修建的意义:三峡、南水北调、京杭大运河等工程相比,红旗河修建的意义不仅仅是从工程体量上远程以上水利项目。红旗河为中国带来的是,未来可能重新生长在中国干旱缺水地区的20万平方公里的绿洲,以及平添2亿亩绿色良田,甚至,&红旗河&还可大幅度缓解我国人多地少的矛盾等等。
红旗河西部调水工程可行,是对以上种种分析的总结,那么有了可能性,未来就有付诸实践的无限希望,红旗河工程对于西北生态环境问题的缓解,对于农耕、民生人口及就业问题的缓解,对于可持续发展都有着不可估量的宏伟意义。
(编辑:闫祺)
财经网微评论(人参与)
说说你的看法:
全部评论(条)
有意与本刊合作者,有关合作事宜请与财经网联系。未经财经网书面授权,请勿转载或建立镜像,否则即为侵权。
[] 增值电信业务经营许可证[] 广告经营许可证[京海工商广字第0407号] Copyright 财经网 All Rights
Reserved 版权所有 复制必究百度知道 - 信息提示
知道宝贝找不到问题了&_&!!
该问题可能已经失效。
秒以后自动返回意外or有意?从源头杜绝数据安全隐患最可靠_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
意外or有意?从源头杜绝数据安全隐患最可靠
生活中意外在所难免,但受到有意的攻击或许也是常有之事,不管何种方式对人造成的伤害是共同的。而在信息时代,除了人的肉体、精神容易受到伤害之外,人、企业甚至是国家所拥有的信息也容易造成伤害。
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢当前位置: >>
石油开发中心源头数据采集系统
大连理工大学 硕士学位论文 石油开发中心源头数据采集系统 姓名:牛国胜 申请学位级别:硕士 专业:软件工程 指导教师:孟军
大连理工大学专业学位硕士学位论文摘要本文结合胜利油田石油开发中心源头数据采集系统建设课题,就如何设计开发一套 能快速适应需求变化的通用数据采集系统进行讨论。 数据采集是信息化建设的基础,合理的数据模型,‘准确、齐全的数据是应用工作开 展的基础。传统的数据采集软件都是把需要采集的字段编写在程序中,系统部署后,不 通过修改源程序,很难实现采集字段的变更。如何设计一套通用的数据采集软件,使用 户在不修改源程序的前提下,能实现采集字段的变更,界面的调整等功能。我们通过实 验研究,发现通过XML格式的文件描述采集界面和采集功能,是实现通用采集的有效 解决方法。通用采集主要由两部分组成,一部分是作为采集界面描述的XML格式的文 件,它描述了数据和界面及界面上控件的功能。另一部分是通用采集解释程序,是能够 对XML格式的采集界面描述文件解释的程序。程序运行时,通用解释程序动态加载xml 格式的界面描述文件,实现不同的采集功能。 依据上述思想成功设计实现了石油开发中心源点数据采集系统,该系统应用后,每 天承担着开发静态、开发动态、开发监测、开发实验等类别的80余张数据表的采集任 务,解决了信息化建设中的数据问题,为其他信息化应用工作的开展奠定了基础。 关键词:通用数据采集;用户界面描述;可扩展标记语言 大连理工大学专业学位硕士学位论文Oil Development Center Source Point Data Acquisition System AbstractIn this paper,by combining the Shengli oil field development centersollrcepoint damaacquisition system construction issues,the author discussed how to design and developmentcommon data acquisition systemData acquisition is thecanquickly adapt to changing demands. for building information technology,reasonablefoundation datadatamodel,accurate and completetraditional datais the application to early out the work premise.The iS to be collected in the field suchsource asacquisition softwarethe preparation ofthe program,after the system deployment,not by modifying the achieve acquisition fieldallowingcode,it isdi街cult tosoftware,changes.How tointerfacedesignacommonset of data acquisitionusers without modifying thesourcecode under the premise of collecting field to and other functions.Through experimental for describing collection interface andachieve thechanges,theaadjustmenttheresearch,founddocumentthroughanXML formatcollection functions,is to achieveeffective solution to generalcollection.GMacquisitionof two key components,part of the collection interface as described in theXML format fileathat describes the data and control interface and the interface functions.Another part is universal collection interpreter is able to interface to explains the acquisitiontothe.XMLformatfor describing paperdynamicallyDesignloadprocess.When the program is running,common interpreter interface XML format description files to achieve a acquisition function.onandimplementation of these ideas basedtheSuccessof thesourceof oildevelopment center point data acquisition system,after application of the system every day,it undertakes the development of static development labsand dynamic development,development monitoring,andmorethan80 categories date collecting tasks,solves the informationconstruction in the data problems and lays thefoundationfor applying otherinformationKey words:universal data collection;user interface description;XML―II― 大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目: 作者签名:歪油五发生!堂塑基数握墨篡丕统叠!至l!至生日期:竺盟年―fL月二生日 大连理工大学硕士研究生学位论文大连理工大学学位论文版权使用授权书本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。学位论文题目:歪渔珏发生!堂塑基数量苤篡丕统作者签名: 导师签名:生!重i !童兰 耋整日期:竺仝日期:年jL月上厶日竺笠年―生月jL日 人连理I:人学专业学位硕士学位论文1绪论在“信息化带动工业化发展,工业化促进信息化发展, ‘新五化’”等指导思想的指引下,信息化在全社会蓬勃发展。对企业来讲,信息化能够提高企业生产力、降低生 产经营成本、提高企业管理水平。信息化也是促进企业核心竞争力的新武器。1.1国内外研究现状在石油行业信息化建设方面,与跨国公司相比,我国石油企业无论在内部还是外部信息化建设都存在明显不足。根据诺兰等学者提出的信息化发展阶段理论模型,一个企业 或组织的信息化进程可分为6个渐进的阶段:初始期、普及期、控制期、整合期、数据 管理期和成熟期。目前,大部分国际大型石油公司已经基本完成了调整任务,进入了数 据管理期,基本实现了井场数据的自动采集、实时传输,以服务外包的形式建立了自己 的全球化数据仓库,借助数据仓库对数据实现了规范管理【l】。相当一部分国外公司通过 互联网实现了跨地域生产现场管理,实现了“虚拟、远程、协作”办公。全球近90%的石 油天然气企业实施了具有行业针对性的ERP系统,其中一些企业已经初步实现了协同 电子商务。 与国外石油企业相比,国内大多数石油企业的信息化大多数处于控制期,只有少数 企业正在步入整合期。大庆、胜利等一些大型石油开采企业信息化建设水平相对较高, 在上实际90年代末都建立了计算机网络,近几年,都在开展“数字油田”的建设,“数据中心”、ERP、勘探开发一体化平台等课题都在稳步推进。一些较小的石油企业,还 没有比较固定的企业信息模型,仍处于信息化建设的初级阶段。在数据采集方面,少数 地方开展了自动采集实验,实现把抽油机示功图、压力、温度等自动采集和传输,但绝 大多数企业没有实现自动化采集,多数都是人工测量后再输入计算机系统。1.2课题背景及研究意义胜利油田石油开发中心成立于2003年,是中国石油化工集团胜利石油管理局下属 的从事油ffl难动用储量及高成本原油区块的勘探、丌发、经营与管理工作一个二级单位, 年承担80万吨的原油生产任务。该单位有职工2600余人,分四个层级管理,分别是中 心机关、管理区、采油(注水、集输)队、采油班组。主要生产单位是9个管理区,1 个生产服务中心,这些管理区比较分散,方圆达90多公里,这就给信息的沟通、传递带来了困难,如何用信息技术改善传统的经营、生产和管理,从而有效压缩时空,提高工作质量和效率成了摆在该单位面前的一个新的课题。 人迮理1:人学专业学位硕士学位论文面对这一课题,石油开发中心认真分析国内外环境。在国外油田,无论是吨油成本或者吨油人工数都比中国油田少很多。被中石化最近收购的国外Addax石油公司,年产 原油700万吨,而员工总数只有860人,平均每万吨用人1.37人。石油开发目前年产量 80万吨,而员工人数达到了3000人,平均每万吨用人37.5人,单从每吨产量的用工人 数上,石油开发就是国外同行的27倍,吨油用工人数多虽然与油田的复杂程度、企业 的管理水平有很大关系,但与其信息技术的应用水平的高低也密不可分。企业管理层认 识到,通过信息化建设促进和提高企业的经营管理水平是可行的,也是必要的【21。 分析同类企业在信息化建设方面的过程,许多单位是走了弯路的。一些企业购置了 在其它油田或国外应用较好的应用系统。引进后,用的效果不理想,追根究底,企业的 信息化基础很薄弱,没有基础的数据,另外,管理方式与国外企业大不相同。总结他们 走过的弯路,我们认为,信息化建设要遵循领导重视,统一规划,分步实施,数据先行 的原则。数据先行尤其重要。数据是企业宝贵的资源,不可能靠一天两天就能积累,需 要长时间的积累。没有数据,再好的应用软件只是空中楼阁,正所谓巧妇难为无米之炊。这也是本课题得以建设的最主要原因。通过本课题研究,能够解决该单位石油开发生产方面的数据如何采集的问题,能够 为企业建立数据模型,并配套丌发相应的数据采集软件。采集系统建成后,能够源源不 断地为企业采集和积累宝贵的数据资源,为信息化应用工作奠定基础。1.3论文结构本论文主要分五个部分,第一部分为绪论,介绍了该课题涉及到的主题在国内外的 发展状况和课题的背景及意义等。第二部分为相关技术介绍,对本课题用的技术做了简 单介绍。第三部分为需求分析,介绍了系统的需求分析。第四部分为系统设计,论述了 系统的概要设计和详细设计。第五部分为系统实现,阐述了系统的数据库及软件实现。 第六部分为测试,阐述了系统开发过程中用的测试策略和技术。 人连理I:人。学专、№学位硕十学位论文2相关技术在本课题中,涉及到了软件工程技术、数据库技术等,现就主要的技术作一讨论。2.1软件需求分析技术2.1。1软件需求的基本概念软件需求分析工作是软件生存期中具有决定性的重要一步。只有通过软件需求分 析,才能把软件的功能和性能的总体概念描述为具体的软件需求规格书,从而奠定软件开发的基础。据统计,失败的项目中的60%失败的原因都是需求不明确,项目匆匆上马,导致浪费了许多资源,做了许多无用功。可以说,需求分析的好与坏直接影响着软件项目的成败。软件需求是系统必须完成的事以及必须具备的品质,软件需求包括功能需求、非功 能需求和设计约束三方面的内容。功能需求是指系统必须完成的功能,这是最主要的需 求。非功能需求主要指性能需求,给出所丌发软件的技术性能指标,包括响应速度,安 全性能等方面。设计约束也称为限制条件,如对操作系统的限制、对数据库管理系统的要求等。要获得完备的需求,应该丌展需求工程,通常包括需求开发和需求管理两项工作。 需求丌发包括需求捕获、需求分析、编写规格说明书和需求验证4个阶段【3J。在该阶段 要确定产品所期望的用户类型,获取每种用户类型得需求,了解实际用户任务和目标以 及这些任务所支持的业务需求,分析源于用户的类型的需求,了解实际用户任务和目标 以及这些人物所支持的业务需求,分析源于用户的信息,对需求进行优先级分类,将所 收集的需求编写成为软件规格说明书和需求分析模型,对需求进行评审等工作。需求管 理包括定义需求基线、处理需求变更、需求跟踪等工作。对需求工程来说,最重要的还是需求开发。 2.1.2需求捕获技术需求开发看似简单、但真做起来比较难。需求调查不是简单的找用户聊聊说说,需 求调查需要科学的方法,充分的准备,去启发用户把场景描述清楚。而且大部分用户不可能看到系统的伞貌,要想做好需求调查,必须清楚了解如下三个问题,一是应该搜集什么信息,二是从什么地方搜集这些信息,三是用什么机制活着技术来搜集这些信息。对于应该搜集什么信息,系统分析人员应该知道,从宏观的危度来看,要捕获的信息包括三大类:一是与问题域相关的信息,如业务资料、组织结构图、业务处理流程等;二 石油开发中心源头数据采集系统是与要求解的问题相关的信息;三是用户对系统的特别期望和施加的约束信息。在具体 需求捕获前,要明确自己需要获得什么信息,这样才能有的放矢。 对于从什么地方搜集信息,系统分析员应该知道需要的信息会隐藏在客户、原有系 统、原有系统用户、新系统的潜在用户、原有产品、竞争对手的产品、领域专家其中。 面对这么多的可能,如何搜集?首先,应从人的角度对涉众进行分类,然后从每一类中 找到1.2名代表进行访谈、调研等。对于产品、文档,可以根据实际情况按需查阅。需求捕获技术,主要有以下几种: (1)用户访谈用户访谈是最基本的一种需求捕获手段,主要包括结构化和非结构化两种。结构化 指事先准备好一系列问题,有针对性地进行访谈;而非结构化只是列出一个粗略的想法,根据访谈的具体情况进行发挥。 (2)用户调查 用户访谈的缺点是许多关键人员时间有限,并且,客户面广时,不能一一访谈。这样,就可以用“用户调查”的方法,通过精心设计问题,然后下发到相关人员手中,让 他们填写答案。当然,与用户访谈比较,这种方法缺乏灵活性;还有,客户对填答卷, 一般不太重视,因此,反馈的需求的质量可能不是太高。 (3)现场观摩 耳听为虚,眼见为实,对于许多复杂的流程,用语言表达比较困难,但采取现场观 摩的方法,可以快速得到需求。具体讲,就是走到客户现场,一边观察,一边听客户的 讲解,甚至可以跟班劳动,这样,更容易获得真实的需求。(4)文档考古该方法是对历史存在的一些文档进行研究,称为考古,主要是研究的对象足历史的 记录、档案、报告、文件。该方法的丰要缺点是研究的文档是过时的,不一定与现有系统匹配,可能还有缺陷,需要分析人员对历史文档认真分析,去伪存真。 (5)联合讨论会该方法是把关键客户代表、分析人员、丌发团队代表召集在~起,通过会议的形式 来讨论需求。在会议前,应当将讨论主题相关材料分发给所有将要参加会议的人员。会 议要组织好,记录好,形成纪要。该方法比较有效,但开会比起其他方法成本要高一些。 2.1.3需求分析其他技术 通过上述的需求捕获技术获取的需求,只是从用,、那获得了最原始的一些需求信 息,对这些信息,还需要做进一步的加工处理。一是需求整理分析,把用户访谈、用户 人连理I:人学专业学位硕十学位论文调查、现场观摩、文档考古、联合分析会等途径获得的需求记录单进行整理,分析、合 并,去伪存真。二是需求规格化,要把整理的需求用标准的表示方法以需求说明书的形 式表示出来,表示时,可能用到绘制数据流图、UML等技术。三是需求验证,对需求 说明书要做进一步的验证。2.2数据库技术数据管理技术经历了人工管理阶段,文件系统阶段和数据库系统阶段。在现代的计 算机信息系统中,数据管理基本上都以通过数据库系统管理的。数据库管理系统是位于 用户和操作系统之间的一层数据管理软件,其基本目标就是提供一个可以方便地、有效 地存取数据库信息的环境。数据库系统广义上讲足由数据库、硬件、软件和人员组成的。2.2.1数据库与数据库管理系统数据库(database,DB)是指长期储存在计算机内的、有组织的、可共享的数据集 合。数据库中的数据按照一定的数学模型组织、描述和存储,具有较小的冗余度,较高 的数据独立性和易扩展性,并能够为各种用户共享。 数据库管理系统(DBMS)是数据库系统的核心软件,在操作系统的支持下,负责解决如何科学的组织和存储数据,如何高效的获取和维护数据。其主要功能包括数据定义功能,数据操纵功能,数据库的运行管理和数据库的建立与维护。目前,在用的数据 库系统多为关系数据库系统(RDBS),但也有一些新的发展,如面向对象的数据库系统(OODBS)和对象关系数据库系统(ORDBS)。数据库系统采用的是三级模式、两级映射的结构。三级模式指概念模式、外模式和 内模式,概念模式反映了数据库中的结构,通常认为是数据库中的表,外模式势用户与 数据库系统的接口,通常认为是视图。内模式是存储模式,两级映像指模式/内模式映像 和外模式/模式影响。2.2.2关系数据库规范化理论我们在进行数据库设计时,要尽可能地让数据库设计的规范一些,这就要求我们遵 守数据库规范规则。关系数据库设计的方法之一就足设计满足适当范式的模式,关系数据库的范式如下14J:(1)第一范式第一范式指关系模式中的每一个分量是不可再分的数据项。这是关系数据库最基本 的要求。形象地说,遵守这一范式的表示一个二维表,表中不再嵌套表,表中每一个格 杠油开发中心源头数据采集系统子都是一个独立的基本单位,不可分解。符合第一范式的关系仍然存在一些问题,如冗余度大,插入异常,删除异常等。(2)第二范式 第二范式指当第一范式消除了非主属性对码的部分函数依赖,则称为第二范式。也 就是说,满足第二范式,非主属性必须对码是全部依赖的,不能是部分依赖。(3)第三范式当第二范式消除了非主属性对码的传递函数依赖,则称为第三范式。也就是说,满足第 三范式,除了要满足第一范式、第二范式外,非主属性对码不能有传递依赖。(4)BCNF若关系模式消除了主属性对码的部分和传递函数依赖,则称为BCNF。(5)4NF4NF限制了关系模式的属性l、只J不允许有非平凡且非函数依赖的多值依赖。 对于非3NF的1NF、2NF,因其存在部分依赖和传递依赖,性能较弱,一般不宜作 为数据库模式,在数据库设计中,通常要求将关系变换成3NF或更高级别的范式,这种 变换过程称为“关系模式的规范化处理”。 2.2.3概念结构设计 数据库的建设包括了需求分析、概念结构设计、逻辑结构设计、物理结构设计、数 据库实施、数据库运行和维护等阶段,虽然各阶段都很重要,但对设计来讲,我们认为 数据库概念结构设计最为重要。数据库概念结构设计的任务是产生反映企业信息需求的 数据库概念结构,即概念模型【4l。概念模型不依赖于计算机系统和具体的DBMS。设计 概念结构的策略有自顶向下、自底向上、由早向外、混合策略等。最常用的是自底向上 策略,该策略首先定义每一局部应用的概念结构,然后按照一定的规则进行集成。设计 概念模型最著名的方法是“实体.联系方法”,简称E.R方法。它采用E.R模型将现实 世界的信息结构统一用实体、属性以及实体之fnJ的联系来描述。实体是客观存在并可相 互区分的“事物”。属性一般是对实体的特征描述和刻画。联系是指实体之帕J存在的对 应关系,一般可分为一对一的联系,一对多的联系和多对多的联系。 采用E.R方法的数据库概念结构设计可分为三步进行。 (1)设计局部E―R模型。 (2)设计全局E―R模型。 (3)全局E―R模型的优化。 人连理l:人学专业学传硕十学位论文2.2.4逻辑结构设计 逻辑结构设计的目的是从概念模型导出特定的DBMS可以处理的数据库的逻辑结 构。我们目前使用最多的数据模型是关系模型,我们仅对概念模型向关系模型的转换进 行讨论。E―R模型向关系模型转换的规则是: 一个实体类型转换成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。一个1:1联系可以转换为一个独立的关系模式,也可以与联系的任意一端实体所对 应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码一 级联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与联 系的任意一端所对应的关系模式合并,则需要在该关系模式的属性中加入另外一个实体 的码和联系本身的属性。 一个1:n的联系可以转换为一个独立的关系模式,也可以与联系的n端实体所对 应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以 及联系本身的属性均转换为关系的属性,而联系的码为i"1端实体的码。如果与联系的n 端实体所对应的关系模式合并,则需要在该关系模式的属性中加入1端实体的码和联系本身的属性。一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的 属性均转换为关系的属性,而关系的码则为各实体码的组合。 转换得到的关系模式需要根据规范化理论进行规划化处理,即通过关系模式的分 解,把规范化程度较低的关系模式进行分解,从而使其达到更高的规范化程度14J。2.3软件系统设计技术系统设计是信息系统丌放过程中的重要阶段,其目的就是为系统制定蓝图,主要依据是系统分析报告和开发者的经验。2.3.1系统设计的内容和步骤主要工作内容是系统总体结构设计、代码设计、输入设计、输出设计、处理过程设 计、数据存储设计、用户界面设计和安全设计等。 概要没计,也称为总体结构设计。把总体任务分解为多个基本的、具体的任务。将 这些具体任务合理地组织起米构成总体任务。其基本任务是将系统划分为模块,决定每个模块的功能,决定模块的调用关系,决定模块的界面。总体结构设计是系统丌发过程中关键的一步。系统的质量及一些特性基本上是这一步决定的。系统越大,总体结构设计的影响越大。 石油开发中心源头数据采集系统详细设计,即为各个具体任务选择适当的技术手段和处理方法。内容包括代码设计、 输入设计、输出设计、处理过程设计、数据存储设计、用户界面设计和安全设计等。 2.3.2系统设计的原则 (1)抽象 抽象是将复杂的现象简化到可以分析、实验或者可以理解的程度的一种方法。软件 工程中从软件定义到软件丌发要经历多个阶段,而这个过程中每一个后面的阶段可以看 作是对软件解法的抽象层次的一次细化。抽象的最低层次就是实现该软件的源代码。(2)模块化模块化是将一个待开发的软件分解成若干个小的简单的部分,即模块,每个模块可 以独立地开发、测试,最后能被组装成完整的程序。这是一种复杂问题的“分而治之"的原则。模块化的目的是使程序的结构清晰,容易阅读、理解、测试和修改。(3)信息隐蔽 即将每个程序的成份隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可 能少地显露其内部的处理。信息隐蔽的原则对提高软件的可修改性、可测试性和可移植 性都有重要的作用。 (4)模块独立模块独立要求每个模块完成一个相对独立的特定子功能,并且与其它模块之间的联 系简单。衡量模块独立程度的标准有两个:耦合和内聚。耦合是指模块之间联系的紧密 程度,耦合度越高则模块的独立性越差。内聚指模块内部各元素之间联系的紧密程度。内聚度越低,模块的独立性越差。模块独立就是希望每个模块都是高内聚的、低耦合的。 人连理.I:人学专业学位硕士学位论文3源头数据采集系统需求分析源头数据采集系统貌似一个普通的信息系统,实际上,它不仅仅是一个普通的信息 系统,它高于一般的以应用为主的信息系统。这是因为,现代信息系统一般以数据为中 心,对一个企业来讲,在其核心业务确定后,其数据类型的变化不能也不会太大,基本 数据类型是稳定的,而数据处理过程是变化的。所以,源头数据采集系统承担着确定该 单位数据模型的任务。而数据模型的确定,本身就是一个庞大的、难度较高的工程。数 据模型确定的好不好,将会对该单位的信息系统产生重大影响。该课题的研究,首要任 务是建立全局一致的企业数据模型。 本课题的需求分析,我们认为可以划分为两部分,一部分是数据模型的分析确定,二是软件功能、性能方面的需求分析。3.1数据模型需求分析数据模型是信息结构最主要的部分,可以通过企业信息系统的规划获的。企业信息系统的规划有许多方法,其中著名的有企业系统规划方法(BSP),战略数据规范方法 和信息工程方法。以上方法,都需要研究企业的结构、业务领域,从业务领域导出信息 结构,建立主题数据库。本课题中,将采用信息系统工程方法的一些策略来研究企业信息结构。其过程如图3.1。广―――――――――]广―――――――――]厂―――――――――]I建立企业模卜_―◆I业务活动分卜_―斗I导出数据需求l图3.1数据需求分析步骤Fig.3.1 Analysis process of data requirement3.1.1建立企业模型 (1)企业组织结构图企业模型建立,应从识别企业的组织机构入手,我们通过与组织部门访谈,获得了该企业的组织结构图(与生产有关的),如图3.2。 钉油开发中心源头数据采集系统图3.2企业组织结构图Fig.3.2 Structure of corporation3。1.2业务活动分析 分析业务活动是建立数据模弛的重要工作,从业务活动中分析每一项业务活动的输 入数据和输出数据,这些数据项是构成数据字典的主要部分。各有关部门的业务活动见 表3.1。表3.1部门业务活动表Tab.3.I Operation process of department部门职责 油田开发战略研究、油田中长期规划、年季度开发部署、储生产技术部鼍管理、动态分析、产能建设、开发方案、井位设计、措旌 方案、工艺方案等I:作生产管理部 生产服务中心 技术监督中心 管理区设备管理、生产运行、。1,能等 生产后勤的保障 生产设备检验、技术标定 负责仄块和善井管理、组织完成生产任务一lO― 人选珲I:人学专业学位硕+学位论文对每项业务活动,绘制业务活动流程图,然后对业务活动流程中的每个节点进行分 析,通过分析,我们发现各种业务流程中涉及的对象主要有三类,分别是油田区块、油水井、生产设备。 (1)油Ffl区块有关数据油阳区块是通过勘探获得的含油区域,在地下是一个封闭的成藏空间。一般要研究 其储量多少,含油面积,构造形态等。一个油田包括许多区块。 油田区块有两大类数据,分别是油藏基本数据和储量管理数据。油藏基本数据涉及 的主要数据见表3.2。表3.2油田区块相关数据Tab.3.2 Data Class of oil field block油藏基本数据 油气藏基本数据 构造要素数据 储层性质数据 油藏流体性质 气藏流体性质 小层评价数据 断层要素 断层地震解释数据储鼙管理数据 石油探明储量及参数表 天然气探明储量及参数表 年度新增石油探明储量及参数表 年度新增天然气探明储量及参数表 石油探明储量开发情况表 年度新投入开发油田地质储量 年度新投入开发油气田地质储量(2)设备有关数据 设备有关数据类见表3.3。表3.3设备相关数据类Tab.3.3 Data Class of equipment设备基础 抽油机档案 抽油机静态参数 有杆泵档案 电泵档案 采油树档案设备运行类 增压泵运行日数据 泵运行记录 液体流量计运行记录 锅炉运行记录 输油立占来油记录 输油站外输记录(3)油井有关数据 石油开发中心源头数据采集系统油井是油藏中的油流喷射、举升到地面的通道。为了保持一定的产量,一个区块上 要建造若干油井。水井是给地下补充能量的井。油水井生产中,将产生大量的数据,对 油水井分析时,也需要大量的数据,如监测数据,化验数据。油井有关数据表见表3.4。表3.4单井相关数据类Tab.3.4 Data Class of oil well单井基本数据油井日动态井卜.作业实验测试数据生产设备主要是为了保证正常生产所配套的抽油机、电机等设备的管理。 3.1.3建立数据字典 我们对这三类对象进行了分析,按照从上向下分析的原则,按对象不同先分成一级, 再按大类不同分成二级,再按小类不同,分成三级。分级主要是为了能够更清楚的限定 范围,从而更好地分析各对象在该范围的属性,建立准确、唯一、无歧义的数字字典15】。 按照以上三类对象,对其每个属性分类编写了详细的数据字典,数据字典示例如下: (1)单井静态①单井基础信息一12 大连理.1:人学专业学位硕.f:学位论文名称:单井基础信息 组成:井号+层位+(曾用井号)+射孔井段顶深+射孔井段底深+解释厚度+设计井 别+目前井别+油气品分类+地层储量+原始饱和压力+原始底层压力+汉字井号。 ②钻井信息名称:钻井信息组成:井号+设计人+审核人+批准人+设计单位+设计同期+井口纵坐标X+井口横坐 标Y+井口经度(度)+井口经度(分)+井口经度(秒)+井口纬度(度)+井口纬度(分) +井口纬度(秒)+设计造斜点顶深(度)+构造位置+井口移动范围+目的层位+中靶要 求+靶点号+井筒斜深+垂直深度+水平位移+闭合方位+油层顶深+油层底深+气层顶深+气层底深。每个数据流由许多数据项组成,对数据项也要建立数据字典。(1)井号数据项 数据元素名:井号 数据元素编码:JH 类型:字符 长度:14位 (2)射丌油层项深数据项 数据元素名:射开油层顶深 数据元素编码:SKYCDS 类型:浮点 长度:6位 精度:2位 (3)投产井别数据项 数据元素名:投产井别 数据元素编码:TCJB 类型:字符 长度:2位l备注:从附录A1内容中选。 数据项的格式如上所述,不一一列举,另外,许多数据项的内容是在限定的内容内 选择,我们把这些数据项的可选项编写成了附录代码表,以供作为F拉列表的数据源。如投产井别数据项对应的附录表如表3.5。 石油开发中心源头数据采集系统表3.5附录表AITab.3.5 Addenda A1名称 采油 注水 采气 注汽代码CY ZSCQZQ通过业务活动分析,获耿了三类对象及其活动中的相关数据类,然后对数据类进行 分析,形成了数据字典,建立了开发中心数据模型。.3.2软件系统需求获取数据模型需求的收集只是明确了需要采集哪些数据的问题,采集软件的需求是要解决软件应该满足哪些功能、性能。本课题中,主要采取了用户访淡、下面就本课题采集软件的需求活动进行讨论【6J。3。2.1用户访谈“横看成岭侧成峰,远近高低各不同”,我觉得,一个软件的用户有许多,有安装 维护的,有客户信息部门的专家、有业务专家,有直接使用的用户等。安装维护人员可 能更重视软件是否易安装,易维护,维护资料是否齐全等。信息部门的专家可能更关心 从技术角度评价系统的先进性,架构是否合理等。业务专家更关采集的数据是否完备, 通过采集的数据计算一些数据项的算法是否合理等。直接操作系统录入数据的用户更关 心软件是否易使用,是否快捷,键入工作量是否大等。为此,我们在调研的基础上,将 用户分成了几类,从而有针对性地去准备问题,做到有的放矢,准确获取需求。用户分 类如表3.6。表3.6用户分类表Tab.3.6 User class用户类犁 业务专家 高级用户 安装维护用户 数据录入员典型代表 中心技术部专家;管理区地质、采油、 一I:程的有关的-L程师 中心副经理、信息主管 中心信息部l:释师、管理I爱信息员 管理区资料员一14 人选理r人学专业学位硕}:学位论文对以上四个用户类型,我们分别找了2―3位代表进行了访谈。访谈前,我们针对不同的用户,准备了不同的问题。对于高层用户,我们主要是想获得他们要求的系统的范围、能够分配给该系统的资 源,包括资金、人员支持等。对于业务专家,我们主要想了解开发生产的主要业务,他 们R常工作都有哪些,工作中会产生哪些数据,哪些数据是重要的,数据的产生的频度。 对于安装维护人员,主要是想知道他们对系统安装维护方面的要求;对于数据录入人员, 主要是想知道他们对具体操作方面的要求。 在访谈前,我们一般提前1周告知用户,让用户有充分准备,以便访谈能取得实效。 在访谈时,一般都去两个人,一个人访谈,一个人记录。我们知道,要让用户讲出需求, 不同的人在不同的氛围和场合下,可能讲出来的不一样。拜访用户后,我们都尽可能创 造一个轻松的氛围,沟通比较愉快的时候,切入正题,一个人和用户交谈,边交谈,边 启发用户讲出自己的看法、想法、要求等。每一次访谈完后,我们对本次访谈记录进行 整理,形成格式一致的用户访谈记录,为需求编写提供依据。3.2.2建立需求开发平台需求的获得,不能也不可能通过一次的访谈、一次的调查就能获得。这是因为,一 方面,软件项目本身的特点决定的,软件项目,不到最后集成,用户是看不到实际的软 件的。前期,用户对待丌发的软件都是一个大致的概念,不可能一次就描述清楚自己需 要的软件的各个方面。另一方面,用户只熟悉业务知识,对软件设计丌发知识比较欠缺, 这就会造成开发的软件在操作方式上,用户不适应。所以,要充分了解用户真实的需求, 就必须建立一个畅通的交流平台,结合本软件项目涉众分散,分布在方圆几十公罩范围 内,用户目前都有计算机网络和项目计算机连接的特点,我们认为,建立一个软件沟通 网站是获取需求的一个好的方法。 沟通网站的功能主要提供了用户提交需求的一个平台,用户提交需求,需填表格3.7。表3.7需求收集表单Tab.3.7 requirement acquisition table 石油开发中心源头数据采集系统需求类别可选项为数据结构和软件。对通过平台反馈的问题,项目组安排专门的人 管理,每R汇总打印,在每周的需求分析会上讨论确认,对合理的需求,在网站上答复 采纳,对于不合理的需求,答复不采纳并说明理由。 另外,我们对外公布了一个电话,用户可以通过拨打电话来表达需求,电话内容也 要按上述表单结构化登记。3.3需求管理需求管理是对需求开发的管理,伴随需求开发全过程、软件生命周期全过程。如果不能采取有效手段来实施需求管理活动,由此导致的结果是用户和开发团队对产品需求 的理解相去甚远。项目需求获取也许是最困难、最关键、最容易出错和最需要沟通的一个环节。它的模糊性、不确定性、变化性和主观性的特点,使项目需求管理更具复杂性。如果不能有效处理需求变更这个特殊和困难的挑战,项目计划将会一再调整,交付日期 一再拖延,项目团队人员的士气必将越来越低落,这将直接导致项目成本增加、质量下降及项目交付日期延迟。因此项目组必须拥有需求管理策略和需求过程。3。3.1需求管理流程在大型项目中,必须有一套良好的需求管理流程,这样才能保证需求的一致性17J。 在本项目中,我们设计的需求管理流程如图3.3。图3.3需求管理流程图Fig.3.3 Flow of requirement management以上需求管理流程图中,需求获取指通过网站、访谈、会议、调奄等手段获取的需 求的过程。需求规格化是把获取的表达不规范的需求规范化。评审是通过评审委员会评 人连理。Ii人学专业学位硕十学位论文审需求是否合理,并决定是否采纳。配置管理是对通过评审的需求进行版本管理,控制对其更改。3。4需求概述通过用户访谈,会议、需求平台,获得了系统的主要需求,我们用用例图表示。高 层用户眼中,该课题应该实现数据采集,数据上报,数据存储,用例图见图3.4。图3.4高层用户用例图Fig.3.4 Usercasefor Advanceduser业务专家要求能全面采集各专业数据,用例图如图3.5。陵3.5业务专家用例Fig.3.5 Usercasefor expert 石油开发中心源头数据采集系统采集层用负责每天数据的直接键入和上报,其需求如用例图3.6。图3.6采集用户用例图Fig.3.6 Usercasefor finallyuser除了以上功能方面的要求,还提出了其他一些要求: (1)数据采集与应用要分开,即建立主题数据库和应用数据库,每日产生的数据, 由各单位采集并传输到中心的主题库中,再自动处理生成到应用库中。 (2)为了与上级数据库一致,中心数据库要采用oracle数据库;采集软件能在windows xp、windows2003等操作系统上运行。(3)采用的丌发技术要成熟并兼顾先进性,从而降低课题的风险。 (4)能够安装简单,运行稳定,最大程度减少维护工作量。 (5)希望操作简单,对一些动态数据,能够根据昨天的数据生成今天数据,只需在生成的数据上对今天变动的部分进行修改,即可形成今天数据; (6)录入界面要有数据校验功能,对字符型的宽度,数值型的大小都有限制。 (7)要有权限控制功能,防止非法用户打开系统采集数据。 人连理I:人学专业学位硕十学位论文4源头数据采集系统设计需求分析阶段已经完全弄清楚了软件的各种需求,解决了要让所开发的软件“做什 么”的问题,并己在软件需求说明书和数据要求说明书中详尽和充分地阐明了这些需求。 下一步就是要着手实现软件的需求,第一步就是设计。软件设计是把一个软件需求变换 成软件表示的过程。设计一般分为概要设计和详细设计两步,概要设计划分模块结构, 确定模块接口,详细设计师对模块内部的实现进行设计IsJ。4。1系统概要设计概要设计最主要的是总体结构设计、数据结构设计、处理方式设计,当然,还包括制定规范、可靠性设计等方面。(1)系统总体目标 我们先回顾系统总体目标,以便总体设计的开展。 ①在石油开发中心范围内建立丌发生产范围内的数据模型; ②建立中心开发生产数据库。 ③开发出数据采集软件,能把数据从数据发生的源点采集。 ④能把采集的数据按照一些基本算法处理成应用数据,并支持本地的基本应用。 ⑤数据要能按要求上报到中心数据库并审核,按照一定规章审核通过后数据入中心数据库。’(2)系统的总体结构 总体结构是系统的一个框架,模块划分是否合理,直接影响着系统的质量和可维护 性。一方面要满足系统需求,另一方面要满足总体设计的原则,这些原则中最核心的就 是模块独立。设计的方法是自顶向下,逐步细化。自顶向下,逐步细化是一个反复推敲 的过程,从高层抽象上定义的功能说明开始,按照需求,仔细推敲,进行功能细化和分 解【9Ja 按照模块独立的原则,结合系统总体目标,我们觉得系统应该划分为三层,采集层, 审核层,数据库层,为了实现对系统的用户管理、参数配置等,需要一个平台,三个层的功能,作为平台的模块挂接在平台上110】。①采集层:该层主要实现3个功能。 (a)数据采集:通过采集界面,把数据采集到本地数据库中,实现数据的追加、删除、查询功能。(b)数据处理:通过处理模块,把采集的数据处理到对应的应用库中。 石油开发中心源头数据采集系统(c)数据上报:从数据库中提出数据,生成xml数据文件,并上报到指定的审核服务 器上。②审核层:审核层主要审核采集客户端上报的xml数据文件,并解析该文件,根据服务器端的审核规则判断数据的合法性,对合法数据,形成sql语句,把数据加载到 数据库中,审核过程中,形成审核同志。③数据库层:数据库层提供数据的安全高效存储。 ④管理平台:管理平台主要提供通用的用户管理、角色管理、权限管理、参数配置管理等。 系统的体系结构如图4.1所示。l数据层tl审核层 ITI采集层l图4.1系统体系结构Fig.4.1 Structure of System以上三个层中,最核心,最重要的是采集层,也是实现难度最大的一个层。采集层 负责把数据采集到本地数据库,并能在上报时生成XML格式的上报文件,而审核层是 对上报的XML格式的数据文件的解析,相对简单。数据层是存放数据的地方,也比较 简单。所以,本课题重点对采集层进行讨论。4.2采集层设计采集层要完成数据的采集、上报三方面的功能。本系统需要采集的数据表有100余 张,表多,如果按照传统的开发方式,对每一采集表,开发一个采集界面,程序与采集界面及功能绑定,上百张表的采集界面,对应上百个小模块,这样,一旦界面布局风格或者采集需求发生变化,不重新设计程序,很难保持界面统一,也很难适应需求的变化。 为了解决上述问题,在采集层,我们准备设计一套通用的采集系统…J。 (1)设计思想:与专用的采集系统相比,通用采集系统体现了一个“分”的思想, 即程序与采集需求的分离,其含义是当模块需求发生改变后,可以在不修改程序的情况 人连理j:人学专业学位硕士学位论文下,实现模块功能的改变【12】。它与固定的数据采集系统区别如图4.2所示,左边是传统 的专用采集系统模式,每一个采集模块对应一段程序,该程序与用户采集需求紧密结合, 当模块功能发生改变时,就必须通过修改程序来适应模块需求的变化。右边是通用采集 系统的设计模型,每一个采集模块对应一个采集需求描述文件,当模块需求发生改变时, 通过修改对应的模块描述文件很容易实现模块功能的改变。专用采集系统结构图 通用采集系统结构图图4.2专用采集与通用采集结构对比图Fig.4.2 Structure comparison between specifically and iteration data acquisitionsystem解析程序和描述文件共同组成了通用采集系统,程序运行时,解析程序读取描述文 件,并对其解析,从而形成具体应用程序。解析程序实现了把描述文件转换为具体的应 用程序,描述文件描述了用户界面,采集需求等信息,解析程序和描述文件是通用采集 系统的重要组成部分。结合当前计算机技术,本文用C#开发了解析程序,并根据油田开 发具体实际制定了《通用采集系统采集需求描述文件规范》,该规范采用XML技术,定 义了通用采集系统的标记以及标记的含义和描述方法。 石油开发中心源头数据采集系统4.3界面描述文件描述规则设计XML是可扩展标记语言‘的简称,其具有功能强大、易学易用的特点,目前被广泛 地用于模式的描述,数据的描述。在该课题中,多处用到了xml文件来描述系统【131,界 面描述文件就是主要用处之一。 本课题中,设计的界面描述标记如表4.1。表4.1界面描述xml标记Tab.4.1 Xml flag of description userface标记的名字<model></model> <init></init> <dataset></dataset> <userface></userface> <var></var> <oracle></oracle><sql server></sql server> <datatabl e></datatabl e>标记的意义 表示一个采集模块 表示初始化T作用剑的数据 表示内存数据库 表示系统的用户界面部分 表示变量 数据库标志 数据库标志 表示内存数据库中的表 表示表与表的关系 表示表中的各列约束条件的集合 表示表中某列的规则 列值改变事件。 表示放其他控件的容器 表示作为输入条件的各控件 表示按钮控件 表示tabpage页的集合 表示tabpage页 表示表的网格格式显示界面 表示表的自由格式的显示界面 表示编辑控件 表示导航控件<dataRelation></datarelation><rules></rul es><rule></rule> <ValueChangedevent></ValueChangedevent><panel></panel><input></input><button></button> <tab></tab> <tabpage></tabpage> <datagrid></datagrid> <datapanel></datapanel> <edit></edi t> <nayigation></navigation>采集界面描述文件中的标记必须按照一定的使用规则来使用,才能被采集界面解释 程序所解释。每个标记都包含一些属性,每个标记出现的位置也都有明确的规定。一个22― 人连理I:人学专业学位硕十学位论文采集界面描述文件㈣,由3部分组成,第一部分为初始化部分,用来放该界面的参数或者常量;第二部分为数据库描述部分,用来描述程序运行后,如何在内存中创建表;第 三部分为界面部分,用来描述界面及界面上各种控件的功能,把数据操纵控件与数据集 对应。在界面描述时,没有采用dtd或者schema进行规范,但在上报文件中,采用了XmlSchema进行了规范11 51。采用了界面描述文件总体结构如图4.3所示。图4.3界面描述文件结构图Fig.4.3 Structure of userface description fileInit部分的标记比较简单,不再讲述,下面主要讲解DataSet部分和userface部分。DataSet下描述datetable表,因为本采集界面描述程序是一个通用的,要能适应oracle 和sqlserver两种数据库,而两种数据库中产生表的sql语句的语法不仅相同,所以在 DataSet下有三个节点,public、oracle和sqlserver,public节点下存放sql语句一样的表 的描述,解释程序运行时,无论后台是oracle数据库或者sqlserver数据库,都要执行 public下的节点。Oracle节点下存放oracle数据库特有的表的描述,解释程序运行时, 只有后台是oracle数据库时才调用该节点。Sqlserver节点下存放sqlserver下特有的表的数据库描述,解释程序运行时,只有后台是sqlserver数据库时爿‘调用该节点。 Dataset的下一级节点是public、oracle、sqlserver,这三个节点的下一级节点只能是 datatable、datarelation,datatable对应一张表,datarelation描述表之间的关系。DataSet 下标记的使用关系见图4.4。 征油开发中心源头数据采集系统内存数据库㈨.//1j≯~.㈨ l池誊‰ ?≤m“≥p /l,o/ \0’1表2。,,▲////////一▲。,。<dataset>公用部分<publ ic>.}。Oracle相关<orac le>Sqlserver相关<sql server>\<datatable>11,n、,子表列表<1ist>列约束的集合<rules>列约束的集合<valueChangedevent111,n1 r1,n列约束<rule>触发{ ;件的列<co 1umn>l1rl,n事件列<1ist>图4.4Fig.4.4dataset节点的标记Flag of dataset xmlnode一24 人连理I:人学专业学位硕七学位论文节点之间的嵌套关系,反映了对象之间的层级关系,节点的属性,刻画了对象的属 性。对每一个节点,设计了节点说明,如DataSet节点,其规格说明如表4.2。表4.2<DataSet>节点规格说明Tab.4.2 Criterion illuminate of<Dataset>Xmlnode符点名称DataSet 含义 父节点<publ描述数据集<Model>ic>:该子节点卜‘的描述适合oralce、sqlserver数据库 <oralce>:该节点卜的描述仅适合oralce数据库子节点<sqlserver>:该:1了点下的描述仅适合sqlserver数据库 属性 无表4.3<public>、<oracle>、<sqlserver>节点规格说明Tab.4.3Criterion illuminate of<public>、<oracle>、<sqlserver>Xmlnode<DataSet>=个子节点只是标识了程序执行时,根据后台数据库解释对应的节点,如果是oracle数据库,执行<publ ic>矛N<oracle>节点的子节点,如果是sqlserver数 据库,就执行<public>和<sqlserver>节点的子节点。<public>、<oracle>、<sqlserver> 三个节点的规格说名如表4.3。<DataTable>是数据表描述节点,其规格如表4.4。表4.4<DataTabIe>节点规格说明Tab.4.4 Criterion illuminate of<DataTable>节点名称 含义 父市点 子节点<DataTab 1 e>描述数据表<DataSet>无 Title:1i点的标题,不执行 Name:数据表名称,执行时转化为DataTable的表名属性Type:数据表类氆,是只读还足可更新的,其值为selec、iupdate之一 Selectsql-形成数据表的SQL语句,定义了形成的表的列,表的条件等 Sort:描述了表的排序关键字一25 石油开发中心源头数据采集系统<public><oracle><sqlsever>节点下描述了与数据库有关的对象。下面是一个简单的 DataSet设计实例如图4.3。1<dataset>2<public>3<datatable Dame:”DAAoi”typc=”select”seleetsql=”select.dwdm=’:dwdm’order by 4<datatableJH,hzjh,dydm,cw,妇妇,d啦cfrom daa01 wherejh”sort=”jh”keys=”jh”></datatable>flal516”title:”各注代码”name=『’FLAl516”type="select”selectsql=”select+from.keys=”dm”>.</datatable>s</public>6<oracle>7<datatabletitle=”主表”name掣ys―dba01”type=”update”selectsql:”select.UPLOADFLAG,LKSJ,VAUSEKNAME,xh,JH,Re,CYFS,DYDM,DWDM,DWMC,SCCW,SCaJ,BJ,BJI,BS,PL,YZ,CC,CCl,YY,TY,HY,YYI,TYl,H .Y1,RCYIII,KCQL,HS,HSl,DY,DII,SXDL,XXDL,HDL,ZRYLXX,ZRYLSX,CRFS,CRYLX,JEW9,JEWDI,KCYL2,CYWD,RCYHS,SCYJLB,RCBZ,Q-YB,BZDM,BZDMI,BZ,hhyl,hhyhs,HHYMD,zeb一 ■●●●from ys dbaOl wherevrusername=’:vUser’and.rq=to 一 date(’:tj ksrq’,’ywy一蹦-dd’)AND dwdm=’:dwdm’order by xh”sort=”rq,xh”> _一● ●8</d atatable>9</oracle>10<sqlserver> 11<datatabletitle=”主表”name2”ys_dba01”type:”update”selectsql=”select.xh,JH,RQ,CYF8,DYDM,DWDM,DWMC,SCCW,8CSJ,BJ,BJI,BS,PL,YZ,CC,CCI,YY,TY,搿,YYI,眦,HYl,]j-CYLI,RCOL,HS,HSl,DY,Dr,,-8XDL,XXDL,HDL,ZRYLXX,ZRYLSX,CRFS,CRYLX,JRWD,JK珊qgl,RCYLZ,C蹦D,ReY}fS,8CYJLB,RCBZ,QYB,BZDM,BZDMI,BZ,hhyl,hhyhs ?,FA.'fMD,zcb,vrusername,UPLOADFLAG,LRsJ 。sort=”rq,xh”>from ys_dbaOl where vrusern黜me=’:vUser’andrq…'ti―ksrq’”12</datatable>13</sqlserver>14</dataset> 图4.3Fig.4.3DataSet设计实例图Design example of DataSet一26 人选理I:人学专业学位硕十学位论文上面一段设计实例,被解释程序执行后,如果后台是Oracle数据,解释<public>、 <oracle>下的<datatable>,生成DAA01、FLAl51 6、YS―DBA01三张表,表DAAOI、FLAl516根据其type=“select”属性,生成后是一张只读表,表ys―dba01,根据其属性type= “update”,生成后是一张可更新的表,即可以对其插入、删除、存盘等操作,只所以 把表分成这两种,是因为产生这两种表占用的资源和产生的速度不一样,只读表占用资 源少,产生速度快。 DAAOI表的列由“selectsql"属性的值决定,该值为“selectjh,hzjh,dydm,CW,dwdm,dwmcwhere dwdm=‘:dwdm’order byjh”,则生成的表的列分别是jh(井号)、hzjh(汉字井号)、dydm(单元代码)、CW(层位)、dwdm(单位 代码)、dwmc(单位名称),生成的表的数据条件是dwdm=’:dwdm’,该表达式中的“:dwdm’’是一个动态变量,凡是在SOL描述语句中以冒号丌头的变量都是动态变量,该变量通过系统平台中的参数配置设置,系统运行时,动态替换成实际的值。该表中设置这 个条件,就是只提取与本单位有关的井号。其他datatable的设计与DaaOl基本相似, 不再赘述。 Userface节点是采集界面描述文件中另一个重要的部分,它描述了界面上的控件等。 通过对用户操作调查,我们把用户的操作所用的控件进行分类,分类表如表4.5。表4.5控件分类表Tab.4.5 compenent class类别 条件输入类 操作类控件 文本输入框、日期输入框、下拉列表输入框 主要是按钮,包括查洵、存盘、插入、删除、数据生成、导 航等。 网格格式、自由格式。网格格式一个界面显示多行,行太长数据显示类时需要蹦导航条滚动,自由格式一个界面显示一行的所有数 据。容器类包括panel、tabpage等。UserFace界面有关控件的标记的嵌套关系见图4.4。界面上的控件基本都是可见的控件,都有一些共用的属性,如Size属性,如size=“980,200”表示该控件宽980px,高200px。然后再分析其特有的属性,控件不同,其描述文件节点的属性和子节点就不一样。界面上的控件,如果是标准的控件,那其需 要描述属性名称基本与标准控件的属性名称相同,但需要描述的数量比标准控件少,仅 杠油开发中心源头数据采集系统描述用到的、可能变化的属性。如果控件是自定义控件或者继承了标准控件产生的控件, 那属性将做进一步的扩充。图4.4userface节点’卜.标记的使用嵌套关系Fig.4.4 Flag of userface xmlnode对界面控件的描述,我们按表4.5中的分类,每一类中找典型代表进行说明。(1)条件输入类该类空间包括文本框textbox,下拉列表框combobox,多列下拉列表框comboform, 日期控件datetimepicker等,其中,textbox和combobox是标准的控件,combof01Tfl和 datetiempicker是自定义控件。我们先讨论自定义控件comboform的描述设计。Comboform是针对.net原带的下拉 列表框只能显示一列的问题而-丌发的多列下拉列表自定义控件。在描述时,需要对其数据源,值列,其它列及列的标题和顺序进行描述。有时候,也需要对其事件要描述,主 要用来描述当下拉列表选择的值改变后,影响到哪些数据,一般是以该下拉列表所选的 当前值为条件,去填充另外一个Datatable。如一个油田有许多区块,一个区块下又包含 了许多井。在界面上,区块和井号是两个下拉列表,当选择区块后,要触发一个事件, 以当前选择的区块为条件,去选择该区块的井去填充井号下拉列表的数据源,这样,每 选择一个区块,井号下拉列表的内容也随之改变。Comboform的描述规格说明见表4.6。 人连理。『j人学专业学位硕士学位论文下面是一个comboforill的实例描述:<inputnode=”采油队”name=”tj―cyd”title=”井号所属采油队”type=”comboform”comboformdatatable=”sgdw”comboformdisplaymember=”dwmc” comboformvaluemember=”dwdm”> <comboformstyle name=”dwdm”title=”单位代码”> </comboformstyle> <comboformstylenanle=”dwmc”title=”单位名称”></comboformstyle><selectedindexchanged> <list type=”filltable”datatable=”daaO 1”> </Iist> </selectedindexchanged></input>整个描述都在<input></input>标记之间,Type=“comboform”表明该控件是一个 多列下拉列表框。这是一个自定义的多列下拉列表框,实际上是在一个Form上放霄了一个datagrid,title=“井号所属采油队”属性,是该控件的文字说明,表示该下拉列表的内容是采油队,系统解释后,将在下拉列表前产生一个Label,文字是“井号所属采油队”。属性comboformdatatable=”sgdw”表示该下拉列表的数据源是在<DataSet>中描 述的name=”sgdw”的datatable,属性comboformdisplaymember=”dwmc”表示显示的是DWMC(单位名称),comboformvaluemember=”dwdm”属性表示值列是dwdm(单位代码)。子节点<comboformstyle name=”dwdm”title=”单位代码”/><comboformstyle29― 石油开发中心源头数据采集系统name=”dwmc”title=”单位名称”/>描述了列出现的先后顺序和列头文字。<selectedindexchanged><listtype=”filltable”datatable=”daa01”></list></selectedindexchanged>描主i昼了当前下拉列表的值改变后,用改变后的值作为条件去填充表Daa01,填充的语句为<datatable>节点中name=“daa01”的表的selectsql属性的值。 该描述节点被解释程序解释后,产生如图4.10的界面。(2)操作类 操作类主要有三个类别的控件,~类是button,一类是navigation,一类是edit,我 们先来看button,button的子节点是list,每个list节点描述了单击button时的一个事件, 事件可以分为两类,一类是filltable,即通过select语句从数据库提取数据填充表。另一 类是inserttable,是从一张表通过insert语句插入到另一张表或本表。Button节点描述规格见表4.7。Button的一个描述实例如下:<buttonn锄e=”dba02_query”title=”查询”leftspace=”10”columnpitch=”5”tip=”查询单井基础数据、量油时间等基本表;查询符合条件的采油井日数据”><click> <oracle> <list selectsql=”selectname2”O―QUERY”type2”filltable”datatable=”ys_dba0 1”xh,JH,RQ,CYFS,DYDM,DWDM,DWMC,SCCW,SCSJ,BJ,BJl,BS,PL,YZ,CC,CC1,YY,TY,HY,YYl,TYl,HYl,RCYLl,RCQL,HS,HSl,DY,DL,SXDL,XXDL,HDL,ZRYLXX,ZRYLSX ,CRFS,CRYLX,JKWD,JKWD 1,RCYL2,CYWD,RCYHS,SCYJLB,RCBZ,QYB,BZDM,BZDM 1,BZ,hhyl,hhyhs,HHYMD,zcb,vrusemame,UPLOADFLAG,LRSJ vrusemame一:vUser’andfrom ys―dba0 1 where dwdm=’:dwdm’ andrq--to―date(’:tj_ksrq','YYYY―MM-dd’)andjh=’:user_jh’order by</list>xh”></oracle> </click> </button>界面描述因篇幅有限,我们简单的讨论这两类,其他描述规格见《通用采集系统描 述说明书》。一30 人连理I:人学专业学位硕十学位论文表4.7<buRon>描述规格说明Tab.4.7 Criterion iIluminate of<button>describe1i点名称(含义) 父节点 子节点 属性 孙肖点按钮(Button) <panel>、<tabpage>筲容器‘1 3.点 <oracle>、<sqlserver>:表示数据库类型。 <selectedindexchanged>:当前值改变后的事件 Title:描述按钮上的文字;width:按钮的宽度 List:描述按钮事件 Type:表示事件类型,可选filltable、inserttable孙。宵点属性Datatable:表示要填充的表的名称;Selectsql:填充的sql语句 Message:语句执行的影响结果为空时的弹出消息框的内容4.4通用采集解释模块设计通用解释模块是采集系统的一个核心部分,该部分连接数据库,解释xml格式的界面描 述文件,自动生成采集界面。通用采集模块的设计主要包括两个部分,一是解释程序的设计,二是自定义控件的设计。4.4.1解释程序主类设计解释程序采集界面描述文件与实际采集界面之l、日J的一个桥梁,只有通过他,才能把 描述文件变成实际的采集界面。解释程序主要由一个主类,许多辅助类完成,主类负责 解释XML文件,根据文件节点名称,去动态实例化辅助类,在界面上产生不同的控件。 主类的名称为名称为TYLR(通用录入),其接口参数主要有三个,第1个是容器 空间control,提供了绘制其他控件的父窗体;第2个是xmlpath,提供了界面描述文 件存放的路径;第3个是dbtype,数据库类型,说明了要连接的数据库是oracle还是msde;第4个是数据库连接串,用以连接数据库。类图见4.5。通用采集解释程序运行时,程序执行后,首先执行createinit 0,解释描述文件中 的<init>节点,生成变量,并从参数文件中把变量的值赋给生成的变量。然后执行 CreateDataSet(),解释<DataSet>节点,产生一个数据集,再解释<DataSet>子节点<DataTable>,每遇到一个<DataTable>,就产生一个数据表,并将其加入到数据集中。最后,解释<UserFace>节点,在Control参数的容器上绘制第一层控件,依据节点的嵌 套关系,由上向下,由外向内解释节点,并把节点对数据的操控功能与先前产生的 datatable联系。程序运行流程图如图4.6。 石油开发中心源头数据采集系统’丙葫舀赫函苍蕊函…?;Xmlpath:strmg:1)Btype:stringTYLR connectionString:String l…………………+ConnectDataBase(connectingString:string,dbtype:string):void +Createinit(node:XmlNodel +Creatcl)ataSct(node:XmlNode) +CreatcUserface(node:XmlNode) -CreateI。ablc(node:XmlNode.Parentctrrl:Contr01.10cation:point) -CreatcButton(node:XmlNode,l’arentctrl:Control,location:point) -Create r|ab(node:XmlNode.Parcntctrl:Contr01.10cation:pointl -CrcatcTabpage(nodc:XmlNode.f’arentctrl:Contr01.10cation:point) 一CreatePanel(nodc:XmlNode.Parcntctrl:Contr01.10cation:point) 一CrcateDataPanel(nodc:XmlNode,l’arentctrl:Control,location:point) 一Createlnput(nodc:XmlNode.11arcn cctrl:Contr01.10cation:pointl -CrcatcDataGrid(node:XmlNode,Parentctrl:Con【rol,location:point) 一Create,IextBox(node:XmlNode.Parcntcl一:(:ontr01.10cation:pointl 一CreateEdit(node:XmlNode,Parcntctrl:Control,location:point) 一CreateNavigation(node:XmlNodc.Parentctrl:Contr01.10cation:pointl .CreateDatcTimePicker(node:XmlNode,I’arentctrl:Control,location:point) +Fillnlb Je(seIcctSql:sIrin2,tab/eName:string) +Fill,I’ablc(node:XmlNodc、 +inserData(node:XmlNode)图4.5通用解释类类图Fig.4.5 Class of Common Parser}。装载xM?萄描述文件弋>执行Ca'-eateinit O创建变量 I<>执行Ca'-e龟teDateset O刨建 数据集lI之上丸-t-3"creel+.euserf毫ce0创建界面图4.6通』}j解释程序流程图Fig.4.6 Flow Chart of Common Parser Programe一32 人连莲f:人学专业学位硕十学位论文Createuserface的参数为Xmlnode,其程序流程如图4.7。图4.7Fig.4.7Createuserface()流科图Flow Chart ofCreateuserface()一33 石油开发中心源头数据采集系统数据集是各种数据操纵控件对数据操做的基础,数据集创建比较简单,主要是创建 一个dataset,然后再依据子节点,创建datatable并加入dataset。下面我们主要看界面创 建,即CreateuserfaceO函数执行过程。CreateuserfaceO执行时,对每一节点,先分析节 点的属性,columnpitch定义了界面上控件的列之间的宽度,tinespace定义了界面上控件 的行之间的宽度,width定义了控件的宽度,height定义了控件的高度。 对不同名称的节点产生不同的对象实例,同一个节点,产生的对象类型也可能不一 样。节点相同时,产生的对象的类型由节点属性type的值决定,例如,同为<input>节 点,有的产生的是textbox,有的产生的是combobox,有的产生的是comboform,有的 产生的是datetimepicker,这是因为其type属性值不同。 4.4.2数据集自定义控件设计 对于界面描述文件中描述的每一个对象,无论是可见的还是不可见的,我们都要设 计一个对象类,描述文件中的属性作为对象的属性,同时,设计一系列的操作,来完成 该类的功能11引。数据集是在内存中临时存放数据的一个空间,需要采集的数据表,为其他控件提供参考数据的数据表都需要存放在数据集中。对数据集,主要设计了两个类, 一个是XmlDataSet,一个是XmlDataTable。类图见4.8。鬲五;孑:Xm―l―No―de一一一1XmlDataSet ―Node+×mINOde―Da£aSef:DataSet -XmlDataTable[stirn口TableNamel:Table+C +Create×rnIDataTabIe0reateColumnChallgedEvent(string tabIename.×mlNode node) 一ParseData8et0 一CreateoataSetCXmlNode node) 一C reateDat a.rabIe(x rrlINode node’一CreateDafaLengmroroIedbOra“mf node)一Createl3ataIengthForOracIeCIlent('xmlN0de Rode) 一Createl3ataLengthFo rM SDE(×mINode node)一C 一Createl3ataReIahonC×mlNocle reateLOCaIeTable(,(mlNoderelationnode)cnod∞< >1O…tR]MIIDataT曲le+idataAdpter:I DataAadaPter+BindlngManagerbaseFOrDataGrid:日IndingManagerBase +BindlngM ana9erbaseF OrDataPanel:BindingM anage rBase +So rt string +SelectSql:string+XmlCotumns:×mlColumn0图4.8数据有关类Fig.4.8 Class About Data 人连理I:人学专业学位硕十学位论文(1)XmlDataSetXmlDataSet是由一个DataSet、多个XmlDataTable和其他一些扩充属性和方法组成。其类图如下;对于XmlDataSet类,其有3个属性: ①XmlNode,用于存放描述DataSet的节点,即界面描述文件中<DataSet></DataSet>及其子节点。②DataSet,就是.net中的DataSet对象。 ③XmlDataTable[String tablename],这是一个索引属性,通过表名来索引DataSet中的DataTable。XmlDataSet的方法主要是用于解释<DataSet>节点的方法,不再一一阐述。(2)XmlDataTableXmlDataTable是由一个Datatable、多个XmlColumn及一些扩充属性组成的类。对应界面描述文件中的节点<DataTable></DataTable> 4.4.3界面有关自定义控件设计采集界面上的多数可视的控件都是在原.net提供的控件上进行继承或者多个控件组合后形成的新控件。构成控件的类之间的关系,如图4.9。图4.9界面有关类图Fig.4.9 Class about Userface界面上的控件的属性及功能,在界面描述文件中已经说明,不再赘述。 石油开发中心源头数据采集系统5源头数据采集系统实现系统编码主要由两部分组成,一部分是主题数据库的实现,一部分是采集系统的实 现。5.1主题数据库的实现数据库的选择5.1.1(1)中心数据库关系系统的选择 目前,主流数据库仍然是关系型数据库,一些厂商也在丌发面向对象的关系型数据库。考虑到成熟、维护等方面原因,我们仍然在关系型数据库中进行选择。该系统中,采用了分布式数据库,数据采集到本地数据库,然后每天上报到中心数据库中。中心数 据库是数据中心,对数据库性能要求较高。目前,主流的高性能数据库主要有Oracle, DB2,SqlServer,Sybase等。通过对其可伸缩性、并行性、安全认证、性能、应用模式 等方面的考虑,Oracle数据库能在主流平台上运行,完全支持工业标准,安全性高,我 们选择oracle9i数据库作为该系统的中心数据库管理系统。 (2)本地数据库管理系统的选择 数据采集后,先存储在本地计算机中,本地计算机都是普通微机,性能不会太高, 所以选择的数据库管理系统不能太庞大。考虑到本项目采用VS.net 2005开发,我们选择 了msde数据库管理系统,该数据库管理系统占用资源少,与.net搭配,速度快。针对 该数据库管理系统安全性不高的问题,我们做了一个备份工具,对本地数据库定期备份,提高了安全性。 5.1.2数据库的实现本课题中涉及的表有80余张,如果通过数据库管理工具逐表在数据库中建立表,不仅创建速度慢,而且不易维护,也难以保证Oracle数据库和MSDE数据库结构的统 一。为了维护方便,我们创建了数据字典表,用它存放每张表的每个字段,从而形成了元数据。数据字典表模式如下: 数据字典(字段名称,表名称,字段类型,字段宽度,字段精度,是否主码,是否非空,字段说明) 字段名称和表名称为数据字典表的主码。如采油井日数据的数据字典如表5.1。 大连理l:人学专业学位硕+学位论文表5.1采油井日数据数据字典Tab.5.1 Data dictionary of daily oil well data在数据字典建成后,又在PL/SQL Developer中编写了过程【17】,对数据字典中的表逐一遍历,对每个表的数据项进行遍历,构造insert插入语句,最后把语句形成脚本【18】。 这样,数据库结构调整后,只需要该数据字典,然后重新执行一遍构造insert语句的过程,生成新的插入语句脚本即可。在系统运行后,有可能发现数据结构有不合理的地方,比如,字段宽度不够等,这时候,我们要做生成结构调整补丁,补丁内容有四部分: (1)建立临时表;(2)是把数据从需要调整结构的表导入到临时表;(3)删除临时表; (4)建立新表;(5)把数据从临时表导入到新调整后的表。通过数据字典,实现了数据结构的快速调整,为标准的、统一的高质量的数据结构的建立发挥了作用。一个脚本语句如图5.1。 ☆油开发中心源头数据采集系统【:……a…D…71● ……HnR2 C1…a…LL. …………L. …H……‘1 0…T…L zscw…cH^R2‘0…0…LL. ……ER‘2.u】. …D……(62).……T……E…021 ………nI……日21 ……T 0N……B^021…z……R2(11. …z……R2‘16). …~…一(3 D…T… …[R(s.1’. ……=……c P………(JH.R口.…¨)):一…L7.1,……T…0……021 ……T…0…D…21 ………0……021 c0HHE…H c0…D8^021 …~T…0……a21 …一T oH~……21 …一T…Ⅱ……021 ……T DH………021 ……T oH………021图51Fig 5 1dba021表脚本生成语句Creme S口1 aboutdba0215.2采集描述文件的定制界面描述文件列表如图5.2所示。mL“Ⅲl 。㈨zML 一㈣^ⅧL ‘㈣#mL =㈣ⅧL =Ⅲx% =Ⅲ4c㈣xn iⅢ6ⅫL 6…T)■L =.cwBⅫL =Ⅲ9nL 。c枞10 “W±xⅣL 2㈣l 。Ⅲ12ⅫL oⅢL2 。Ⅲ13 ……ⅫL 。cM3ⅫL 4㈣…Lxn4…… … … … … … … … … … … … … … … ~ 一 ~ …1口n 12∞ 口口 日Ⅱ 9Ⅻ1222n 8nT口 8n q8 8nx■Lxnxm-xHL。㈣5ⅫL =Ⅲ6 。㈣HL =蝴x■L“口一xn =㈣xn +㈣xnFig.5.2XML∞Ⅲ∞mL +cjⅢ1Ⅷ…xmL _c】一nL 。口―一xnz■Ln eⅫ器 裟滥器 箍裟器船裟 船箍= № 鬻 冀 凳 籍冀嚣 嚣凳嚣凳 嚣“图5.2界面描述文件列表List ofUserfaeedescribe file 大连理L大学专业学位硕士学位论文一个实际的采集描述文件见附录A。 采集描述文件为xml格式的文件,是一个文本文件,可以

我要回帖

更多关于 安全生产源头治理工作 的文章

 

随机推荐