(计算机应用技术专业论文)插件式测井解释软件系统的应用与研究.pdf_第1页
(计算机应用技术专业论文)插件式测井解释软件系统的应用与研究.pdf_第2页
(计算机应用技术专业论文)插件式测井解释软件系统的应用与研究.pdf_第3页
(计算机应用技术专业论文)插件式测井解释软件系统的应用与研究.pdf_第4页
(计算机应用技术专业论文)插件式测井解释软件系统的应用与研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)插件式测井解释软件系统的应用与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 i 插件式测井解释软件系统的应用与研究 作者简介 窦育民 男 1973 年 9 月生 师从成都理工大学黄地龙教授 2010 年 06 月毕业于成都理工大学计算机应用技术专业 获得工学硕士学位 摘摘 要要 随着勘探开发对象逐步向复杂油气藏的转移 测井解释工作难度不断加大 迫切需要具有多学科综合油气藏评价能力的软件 测井综合应用平台新版本就是 以此为目标的解释应用平台 是以提高发现油气层水平为目标 充分利用数据库 网络和可视化等信息技术 构建统一数据管理 实时共享数据库和交互式可视化 界面的测井基础软件平台 建立解释知识库 提升测井解释技术水平 实现测井 处理解释的一体化 配套国产成套装备大规模投产应用 应对国外的技术垄断和 封锁 成为有较高技术水平和较强市场竞争力的国产测井软件产品 基于上述原因 本文的研究成果是测井综合应用平台新版本的基础平台 采 用总体设计 分步实施的策略 在原有基础平台上开发形成的测井综合应用平台 新版本 满足复杂油气藏测井综合评价的需要 满足提升测井技术服务国际竞争 力的需要 适应勘探开发节奏加快和信息化发展的需要 论文研究了跨平台技术下应用插件管理机制的方法 主要研究了集成界面的 二次开发功能接口 具有良好的可扩展性 可以让用户进行二次开发 插件与系 统接口关系的研究 支持插件提供插件管理功能 调用插件提供的接口 以及插 件组的交互控制关系的研究和基于观察者模式多视图测井解释插件部分功能的 研究 开发数据管理引擎 对数据进行组织与整理 在测井数据类型较多的情况下 更清晰的展示和组织数据 提高系统的易用性 关键词 跨平台 插件管理 结构化存储 内嵌式数据库 成都理工大学硕士学位论文 ii study on plug in log interpretation of software systems introduction of author douyumin male was born in september 1973 whose tutor was professor huangdilong he graduated from chengdu university of technology in computer application technology major and was granted the master degree in june 2010 abstract with the exploration and development targets to gradually shift to the complex reservoir logging work is becoming increasingly difficult to explain the urgent need for a multidisciplinary evaluation capacity of the software oil and gas reservoirs logging is an integrated application platform for the new version of the interpretation of this as a target application platform based on the level of increase the discovery of oil and gas reservoir target full use of databases networks and other information visualization techniques to build a unified data management real time shared database and interactive logging style visual interface based software platform set up to explain knowledge base enhance the technological level of log interpretation log processing and interpretation to achieve the integration of supporting large scale production applications made complete sets of equipment to deal with foreign technology monopoly and blockade become a high technical level and strong market competitiveness of domestic logging software for these reasons the results of this study is the comprehensive application platform logging new version of the basic platform using design step by step implementation of the strategy developed on the original foundation platform for the formation of logging comprehensive application platform for the new version to meet the complex reservoir the need for comprehensive evaluation of logging logging services to meet the upgrade needs of international competitiveness adapt to accelerate the pace of exploration and development and information development i studied under the application of cross platform plug in technology management mechanisms the main interface of the integrated function of the secondary development interface with good scalability allowing users to conduct secondary development plug in and study the relationship between system interface to support the plug in management features to provide plug ins called plug in provides an abstract iii interface and plug ins group interactive control relationship between the observer based multi view log interpretation model some features of plug ins development of data management engine organize and collate the data logging data types in more cases clearer display and organize data improve the system s ease of use keywords cross platform plugin management structured storage built in database 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果 据我所知 除了文中特别加以标注和致谢的地方外 论文中不包含其 他人已经发表或撰写过的研究成果 也不包含为获得 成都理工大学 或其他教 育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意 学位论文作者签名 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解 成都理工大学 有关保留 使用学位论文的规定 有权保留并向国家有关部门或机构送交论文的复印件和磁盘 允许论文被查阅和 借阅 本人授权 成都理工大学 可以将学位论文的全部或部分内容编入有关数 据库进行检索 可以采用影印 缩印或扫描等复制手段保存 汇编学位论文 保密的学位论文在解密后适用本授权书 学位论文作者签名 学位论文作者导师签名 年 月 日 第 1 章 引言 1 第第 1 1 章章 引引 言言 1 1 选题依据及研究意义选题依据及研究意义 测井数据处理与综合解释 就是按照预定的地质任务 用计算机对测井资料 进行处理 并综合地质 录井和开发资料进行综合分析解释 以解决地层划分 油气储集层和有用矿藏的评价及其勘探开发中的其它地质与工程技术问题 并把 解释成果以图形或数据表的形式直观地显示出来 它是测井学中最后 也是最直 接体现技术经济效益的最重要的组成部分 在信息与计算机技术的推动下 测井资料解释有了更大的发展 从测井资料 的人工整理 人工解释发展到计算机自动整理 自动处理解释与解释成果的自动 直观显示 从定性解释 半定量解释发展到定量解释 从个别层段人工解释到全 井段连续自动处理解释以及人机交互联作 从单井评价到多井评价与油藏描述 从简单纯地层模型到较完善的复杂地层模型 直到大量应用数理统计 多元分析 最优化 模糊数学 神经网络 人工智能以及数据库 计算机图形与图像处理技 术等 因此提高了解释精度 扩大了解释成果的应用范围 促进了解释理论和方 法的发展 也推动了测井数据处理与解释软件的发展 现代测井技术正朝着测井 方法系列化 井下仪器组合化 信息采集和传输自动化 测井记录数字化 现场 操作程控化 资料处理解释自动化和人机联作方向发展 计算机软件和硬件技术 的快速发展和广泛应用 把测井资料处理与综合解释推向了一个新的阶段 随着 各种解释模式的不断积累和解释模型的不断丰富 完善 各种数学模型的引入 为测井数据处理开辟了有效的途径 促使测井解释由识别型向评价型发展 由数 据离散型向连续的 图形 图像发展 以利于显示层内及层间地质特征的变化 提高了测井信息自身的还原能力和测井与测井信息间的综合能力 通过交互方 式 有可能获得最佳解释结果 计算机技术在测井解释中的广泛应用 扩展和加 深了测井资料地质应用的领域 也为今后测井新技术的发展提供了有利条件 随 着智能计算机的诞生与应用 测井资料综合解释与数据处理必然发展为完整的知 识工程系统 将测井分析家 地质学家 地球物理学家 油藏工程师的知识 经 验 推理及判断能力编入知识工程系统中 增强处理系统自动解释能力 可以提 高测井资料的数据处理和综合解释效果 测井资料处理解释系统已经成为测井数 据处理与综合解释必不可少的 最重要的工具之一 6 本系统是测井综合应用平 台新版本的基础平台 采用总体设计 分步实施的策略 在本基础平台上开发形 成的 测井综合应用平台新版本须满足复杂油气藏测井综合评价的需要 满足提 升测井技术服务国际竞争力的需要 适应勘探开发节奏加快和信息化发展的需 成都理工大学硕士学位论文 2 要 1 2 测测井解释软件系统井解释软件系统的国内外研究现状的国内外研究现状 1 2 1 国内外研究现状 20 世纪 50 60 年代 中国油田主要的测井方法和解释方法大部分是从原苏 联学来的 之后 中国的石油测井经历了一段自力更生的发展阶段 20 世纪 70 年代末期 中国的测井工作者开始接触西方的先进技术 国内各油田陆续引进了 斯伦贝谢 阿特拉斯 哈里伯顿的测井装备 并实现了 3700 测井系统生产技术 的转让 国内各油田在引进 消化 吸收的基础上也开发了自己的全数字化测井 系统或 小数控 以及配套的井下仪器 1 原苏联的测井技术逐渐淡出了人们 的视野 目前 我国东部老油田已进入开采后期 开发难度加大 西部新油田及 海上油田的勘探开发出于自然环境和节约投资考虑 要求大量采用国际先进钻井 技术 尤其是水平井 大位移井技术和地质导向技术 我国对定向井 水平井技 术的实质性研究开始于八十年代中后期 虽然经过多年的探索和研究 取得了一 定成果 但是由于基础薄弱 各项技术设备的配套不完善 整体技术水平与国外 仍有较大差距 其中很重要的一方面体现在测井仪器的差距上 由于硬件的成功 研制 软件系统的研制迫在眉睫 国外的测井系统虽然性能很好 但其价格也很 高 而且其测井的费用也十分昂贵 因此开发有自主知识产权的石油测井软件系 统就成为一项迫切的任务 随着油气工作难度的加大 测井资料的处理及解释对计算机软 硬件的依赖 越来越大 一个测井公司测井资料处理解释系统的性能成了其处理解释技术实力 的代表 测井资料处理解释应用软件同其它行业的应用软件一样 具有 一强通吃 的特点 目前 测井软件的发展方向是高度集成 大型化 综合性能强 发展趋势 是少数公司超级软件高度垄断世界市场 小型软件依靠某些特色做技术补充 我 国使用的比较有代表性的软件有 1 1 斯仑贝谢公司研制开发 geoframe 与 rm 处理解释系统 包括 p 包 岩石物 理分析 和 g 包 地质应用分析 p 包可进行测井资料环境校正 地层评 价 岩石力学分析等资料处理与评价 g 包可进行地层倾角资料处理 微 电阻率扫描成像测井资料处理 构造解释和裂缝计算等 该系统不仅可 处理斯仑贝谢测井资料 也可处理其他类型测井装备所获取的资料 2 西方阿特拉斯公司开发研制的 express 软件系统 是人机联作测井处理 与解释系统 该软件平台集成了许多有效 实用的测井分析软件 包括 第 1 章 引言 3 基 本 系 统 数据加载 数据显示 数据预处理 数据处理 高级分析模块 声电成像分析 核磁共振测井分析模块 全波列 wave 分析等 3 哈里伯顿国际公司推出的工作站综合解释软件系统 dpp 包括工具软件 模块和特殊应用模块两大部分 4 中国石油与北京石油大学合作研制的测井综合测井处理解释软件系统 forward forward 由平台底层和应用层两大部分组成 其中平台底层由 数据底层和平台工具两部分组成 应用层则是由专门为满足测井解释需 要设计开发的应用程序组成 具有测井常规解释 特殊测井资料处理所 需的各种工具和应用程序 geoframe工作站系统从现场使用来看是个不错的软件 加速度校正和裂缝的 自动识别都有处理 加速度校正斯仑贝谢公司说是做的相当准确了 他的校正公 式是内部封装的 由于加速校正本身就是个盲区 所以我们无法对它的准确性下 结论 对于裂缝的自动识别 geoframe 采用的是人机交互和自动识别相结合 它的 自动识别率可以达到 60 70 其它部分需要人机交互来实现 express 软件系统 也有同样的特点 forward 软件系统是中国石油天然气集团公司和石油大学开发研制的 它虽 然提供了加速度校正模块 但他却没有做处理 对于裂缝的自动识别就根本没有 做 从九十年代初开始 以 sun 公司为代表的工作站取得了突飞猛进的发展 国 外的各大测井公司都在工作站上建立了自己的软件平台 并且还在大量投入人 力 财力进行更深入的开发 软件版本不断升级 水平不断提高 国外的几大测 井资料处理软件就其本身而言具有较高的水平 就应用模块而言和具体的测井仪 器有关 并且在通用性上考虑较多 所以引进的软件主要适应引进的硬件测井设 备 对运行软件的机器要求都较高 基本都是工作站环境 不管是购买软件或硬 件 都需要投入大量的资金 同时 由于这些软件的开发时间都相对较早 随着 计算机软件开发技术的飞速发展 这些软件的开发技术就显得相对落后 已经不 能完全适应现在的需求 国内的软件 虽然 forward 有微机版和工作站版 logvision 也有微机版本 但软件本身相对较庞大 价格也很高 特别对于高校 实验室和一些研究单位 由于经费等问题 很难有足够的资金购买这些大型测井 软件 另外 目前在高校实验室和一些研究单位 多年的研究和实际工作 形成 了一些特殊的处理解释方法 但这些成果 基本以特定语言的代码形式存在 由 于国内外现有软件的可扩展性等问题 使得这些特殊的处理解释方法没有得到广 泛应用 目前的研究工作 基本是编写程序处理数据 然后借助现有软件进行绘 图 这本身就浪费了大量的时间 降低了效率 随着微机性能的不断提高 微机 成都理工大学硕士学位论文 4 处理数据的能力也越来越强 所以有必要开发具有特色的运行于微机上的可扩展 性好的测井资料处理解释系统 随着勘探开发对象逐步向低孔 低渗 高含水 低电阻和复杂岩性 储集空 间等复杂油气藏的转移 测井解释工作难度不断加大 迫切需要具有多学科综合 油气藏评价能力的软件 测井综合应用平台新版本就是以此为目标的解释应用平 台 以提高发现油气层水平为目标 充分利用数据库 网络和可视化等信息技术 构建统一数据管理 实时共享数据库和交互式可视化界面的测井基础软件平台 建立解释知识库 提升测井解释技术水平 实现测井处理解释的一体化 统一 配套国产成套装备大规模投产应用 应对国外的技术垄断和封锁 成为有较高技 术水平和较强市场竞争力的国产测井软件产品 1 3 本文研究的主要内容和组织结构本文研究的主要内容和组织结构 本测井解释系统采用跨平台技术 可以运行在多操作系统下 开发采用集成 界面方式 包含数据管理 数据编辑 处理流程 处理模块 解释知识 交会分 析 成果设计和绘制显示等多视图窗口 这些窗口以插件形式存在 从而实现了 用户可以根据需求定制 ui 的功能 由于开发语言主要采用 c c 与 qt 库 所以 支持跨平台功能 支持多类型插件式功能扩展如数据处理类型 人机交互类型 界面扩展类型 主要研究内容 1 集成界面的二次开发功能接口研究 测井一体化软件跨平台基础平台需要具有良好的可扩展性 可以让用户进行 二次开发 因此集成界面内的显示内容 包括图形显示 表格 流程 树形结构 以及其他类型的显示窗口 都可以根据用户的需求进行定制并且要求窗口之间可 以进行消息传递以及拖拽等操作 2 插件与系统接口关系的研究 主程序为支持插件提供插件管理功能 它调用了插件提供的接口 其具体实 现实际上是由插件本身完成的 3 插件组的交互控制关系的研究 数据管理和数据编辑等停泊框之间有主次关系 调用先后关系 排斥关系 并列关系 多重依赖关系 集成框架能够根据这些关系组织停泊框的显示形式 4 基于观察者模式多视图测井解释插件部分功能的研究 停泊窗口插件 处理方法插件 绘图插件 其它插件 这些插件有纯交互插 件 如多井对比 纯算法插件 如滤波 算法和交互均有的插件 如深度校正 5 采用数据库进行管理 开发数据管理引擎 第 1 章 引言 5 对数据进行组织与整理 在测井数据类型较多的情况下 更清晰的展示和 组织数据 提高系统的易用性 论文全文分为五章 第一章 引言 简述了选题依据以及测井解释系统国内外的研究开发现状 提出了本文的重点在于研究数据编辑 深度校正 常规测井处理三个模块 第二章 介绍了插件式测井解释软件关键技术应用 本项目是在基于跨平台 的开发 用到了 qt 相关知识 嵌入式数据库 sqlite 以及结构化存储方面的知识 第三章 介绍了插件的编写方法 主要介绍了插件的注册 卸载等管理机制 插件的配置文件 即 xml 文件的配置读取等使用方法 第四章 主要介绍了数据管理模块嵌入式数据库 sqlite 应用 结构化存储api 实现了本部分有关的交互功能 调用已有的数据管理接口 开发数据管理引擎 实现界面操作与底层数据的联动 第五章 介绍测井解释系统的的设计与实现 并予以结果显示 成都理工大学硕士学位论文 6 第第 2 2 章章 插件式插件式测井解释测井解释软件软件用到的相关用到的相关技术技术 2 1 测井解释软件测井解释软件简介简介 插件式测井统一软件首先是运行在多个操作系统下的跨平台软件系统 是将 eilogtm 成套装备测井资料 数字岩心测量结果 油气层解释标准三者有机结 合 形成了一套适应油气层测井综合评价和国产测井装备应用的测井处理解释统 一软件系统 它由网络数据平台 解释数据库 lead 测井综合应用平台构成 实现了数据管理与资料应用 单井解释与多井评价 裸眼井解释与套管井监测的 一体化 通过可视化集成 应用集成和数据集成 测井统一软件将成为技术先进 高效实用 有较强市场竞争力的中国石油测井主流软件 利用现代信息技术 实现测井采集 数字岩芯 数据处理解释 技术支持 生产管理一体化 主要任务是建设一个跨业务 跨系统的综合信息平台 使测井 业务各环节的工作人员同时在这个平台上开展各自的工作 自动传递相关数据信 息 共同研究讨论各类技术 管理问题 在保证产品质量 服务质量提升的前提 下 加快测井资料的周转速度和成果的提交时间 提高经营管理水平 8 跨平台泛指程序语言 软件或硬件设备可以在多种作业系统或不同硬件架构 的电脑上运作 跨平台概念是软件开发中一个重要的概念 即不依赖于操作系统 也不信赖硬件环境 一个操作系统下开发的应用 放到另一个操作系统下依然可 以运行 相对而言如果某种计算机语言不用修改代码即可做到高度跨平台 那麼 此语言就越抽象 硬件控制力就越低 只适合开发高度抽象的模型系统 它们将 可以在多种系统下开发 运行和维护 图 2 1 中 我方重点研究的内容是数据编辑 深度校正 常规处理解释 参 数卡编辑 成果输出 数据管理等 在设计时 要保证系统的可扩展性 设计不 仅仅是实现我方要研究的内容 还要求系统具有运行成像测井 生成测井等的能 力为以后这些模块的开发提供接口 第 2 章 插件测井解释软件用到的相关技术 7 2 2 1 测井解释流程 测井原始数据 格式转换 gds文件 数据编辑 预处理 曲线拼接 预处理 深度校正 常规处理解释 por 复杂岩性 解释参数 成果输出 参数卡编辑 水淹层分析地层组分分析解释模型编辑 成像测井 工程 生产测井 图图 2 1 测井解释流程 2 2 qt 跨平台应用程序框架跨平台应用程序框架 qt 是一个跨平台的 c 图形用户界面应用程序框架 它提供给应用程序开 发者建立艺术级的图形用户界面所需的所用功能 qt 是完全面向对象的 很容 测井原始数据包括 lis dlis xtf idf 716 和多种文本格式 等格式的数据文件 格式转换由数据解编 模块完成 甲方提供数 据解编模块的动态库 成都理工大学硕士学位论文 8 易扩展 并且允许真正地组件编程 自从 1996 年 qt 进入商业领域 它已经成 为全世界范围内数千种成功的应用程序的基础 qt 也是流行的 linux 桌面环境 的标准组件 kde 的基础 2 2 1 qt 优良的跨平台特性 qt 同 x window 上的 motif openwin gtk 等图形界 面库和 windows 平台上的 mfc owl vcl atl 是同类型的东西 qt 支持下列操作系统 microsoft windows 95 98 microsoft windows nt linux solaris sunos hp ux digital unix osf 1 tru64 irix freebsd bsd os sco aix os390 qnx 等等 系统开发中需要图形界面进行人机交互的场合 一般要求 gui 不能过多依 赖操作系统 一般由驱动层实现了画点 输入函数后 其它的功能都交由开发库 来实现 如画按钮 标题栏等 qt 对不同平台 unix windows mac 的专门 api 进行了封装 如文件处理 网络 操作 协议 进程处理 线程 数据库访问 等 qt 是以工具开发包的形式来提供给开发者的 这些开发工具包括了图形设 计器 makefile 制作工具 字体国际化工具 以及 c 类库等 qt 的类库也等价 于 windows 平台下的 mfc 开发库 但是 qt 的类库是支持跨平台的类库 它封 装了可以适应不同操作系统的访问细节 2 2 2 面向对象 面向对象 与 基于对象 两个不同的概念 面向对象的三大特点分别是封 装 继承 多态 缺一不可 通常 基于对象 是使用对象 但是无法利用现有的 对象模板产生新的对象类型 继而产生新的对象 也就是说 基于对象 没有继承 的特点 而 多态 表示为父类类型的子类对象实例 没有了继承的概念也就无从 谈论 多态 现在的很多流行技术都是基于对象的 它们使用一些封装好的对象 调用对象的方法 设置对象的属性 但是它们无法让程序员派生新对象类型 他 们只能使用现有对象的方法和属性 所以当你判断一个新的技术是否是面向对象 的时候 通常可以使用后两个特性来加以判断 面向对象 和 基于对象 都实现 了 封装 的概念 但是面向对象实现了 继承和多态 而 基于对象 没有实现这 些 面向对象开发方法很自然地支持了把系统分解成模块的设计原则 对象就是 模块 它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块 面向对象方法不仅支持过程抽象 而且支持数据抽象 在面向对象方法中 信息 隐藏通过对象的封装性来实现 对象是最基本的模块 因此 耦合主要指不同对 第 2 章 插件测井解释软件用到的相关技术 9 象之间相互关联的紧密程度 低耦合 高内聚是设计的一个重要标准 因为这有 助于使得系统中某一部分的变化对其它部分的影响降到最低程度 qt 的良好封装机制使得 qt 的模块化程度非常高 可重用性较好 对于用 户开发来说是非常 方便的 qt 提供了一种称为 signals slots 的安全类型来替代 callback 这使得各个元件 之间的协同工作变得十分简单 2 2 3 丰富的 api qt 包括多达 250 个以上的 c 类 还提供基于模板的 collections serialization file i odevice directory management date time 类 甚至还 包括正则表达式的处理功能 2 2 4 支持 2d 3d 图形渲染 qt 4 中的 2d 绘图由三个主要的类支撑整个框架 qpainter qpaintdevice 和 qpainterengine graphics view 框架使用了 mvc 模式 适合对大量的 2d 图元的 管理 在 graphics view 框架 场景 scene 存储了图形数据 它通过视图 view 以多 种形式表现 每个图元 item 可以单独进行控制 control 2 2 5 xml 支持 webkit 引擎的集成 可以实现本地界面与 web 内容的无缝集成 但是真正使得 qt 在自由软件界的众多 widgets 如 lesstif gtk ezwgl xforms fltk 等等 中脱颖而出的还是基于 qt 的重量级软件 kde qt 的 xml 模块支持两种 xml 解析方法 dom 和 sax dom 文档对象模 型 document object model 方法将 xml 文件表示成一棵树 便于随机访问其中的 节点 但消耗内存相对多一些 sax 是一种事件驱动的 xml api 速度快 但不便于 随机访问任意节点 本项目用的 dom 它是 w3c 开发的独立于平台和语言的接 口 它可以使程序和脚本能够动态地存取和更新 xml 文档的内容 结构和风格 有 level1 2 和 3 三个级别的规范 qt 支持 dom level 2 规范 成都理工大学硕士学位论文 10 2 3 嵌入式数据库嵌入式数据库 2 3 1 嵌入式数据库 sqlite 原理 图图 2 2 内嵌的主进程中的 sqlite sqlite 是一个内嵌式的数据库 数据库服务器就在你的程序中 其好处是不需要网络配置和管理 数据库的 服务器和客户端运行在同一个进程中 这样可以减少网络访问的消耗 简化数据 库管理 使你的程序部署起来更容易 所有需要你做的都已经和你的程序一起编 译好了 如图 2 2 所示 一个 perl 脚本 一个标准 c c 程序和一个使用 php 编写 的 apache 进程都使用 sqlite perl 脚本导入 dbi sqlite 模板 并通过它来访 问 c api php 采用与 c 相似的方式访问 c api 总之 它们都需要访问 c api 尽管它们每个进程中都有独立的数据库服务器 但它们可以操作相同的数据库文 件 sqlite 利用操作系统功能来完成数据的同步和加锁 第 2 章 插件测井解释软件用到的相关技术 11 2 3 2 sqlite 特点 通常我们采用各种数据库来实现对数据的存储 检索等功能 例如 oracle sql server mysql 等等 这些产品除提供基本的查询 删除 添加等功能外 也提供了很多高级特性 如触发器 存储过程 数据备份恢复 全文检索功能等 但实际上 很多的应用 仅仅利用到了这些数据库产品的基本特性而已 而且在 某些特殊场合的应用 这些数据库明显有一些臃肿 而 sqlite 是一个轻量级别 数据库 具有很多不错的特点 1 sqlite 的设计目的是嵌入式 sql 数据库引擎 基于纯 c 语言代码 已 经得到了非常广泛的应用 2 无需安装配置 应用程序只需携带一个动态链接库 3 sqlite 在需要持续存储时可以直接读写硬盘上的数据文件 在无须持续 存储时也可以将整个数据库置于内存当中 两者均不需要额外的 server 服务端进程 即 sqlite 是无须独立运行的数据库引擎 4 开发源码 整个代码至少三万行 有良好的注释和 90 以上的测试覆盖 率 5 少于 250k 的内存占用 gcc 编译下 支持数据库大小至 2tb 6 acid 事务支持 acid 即原子性 一致性 隔离性 和持久性 atomic consistent isolated 和 durable 7 数据库文件可以在不同字节顺序的机器间自由的共享 比如可以直接从 windows 移植到 linux 或 mac 8 支持视图 触发器 事务 支持嵌套 sql 功能 它提供了虚拟机用于处 理 sql 语句 支持大部分 ansi sql92 简单易用的 api 9 一个完整的数据库就对应磁盘上面一个文件 它是一种具备了基本数据 库特性的数据文件 10 同一个数据库文件可以在不同机器上面使用 可以在不同字节顺序的机 器间自由的共享 2 4 结构化存储结构化存储 2 4 1 结构化存储浏览器 智能实验室 结构化存储浏览器 structured storage explorer 是用以浏览 导 出任何使用结构化存储格式的文件 1 概念 成都理工大学硕士学位论文 12 结构化存储实际是把树状文件系统的原理应用到单个的文件中 使得单个文 件也能象文件系统一样包含 子目录 子目录 还可以包含更深层次的 子目录 各个 目录 可以含多个文件 把原来需要多个文件存储的内容按树状结构和层次 保存到一个文件中去 2 特色 通用强大 可以浏览任何使用结构化存储格式的文件 比如 office 系列文档 word excel ppt qq 所有数据文件 db 和表情文件 eip thumbs db 等 允 许有选择性地导出不同类型的文件 还可以仅导出列表等 多种查看方式 许以 缩略图 详细列表 单个预览 hex 内容等多种方式查看 缩略图更可以自由 定义各种大小 智能操作 无所不在的快捷方式与体贴的操作与提示 自动识 别特别内容格式 直接预览 个性体贴 每个功能都有快捷键 完全免费 为用户提供优良而且免费的服务 绿色简便 完全绿色软件 绝不捆绑任何软件 插件 只有主程序一个文 件 不用安装 第 3 章 插件管理机制的实现 13 第第 3 3 章章 插件管理机制的实现插件管理机制的实现 插件 plug in 是一种遵循统一的预定义接口规范编写出来的程序 应用程 序在运行时通过接口规范对插件进行调用 以扩展应用程序的功能 15 插件最大优越性是其所实现了 运行时 run time 功能扩展 软件开发者可以 通过公布插件的预定义接口规范 允许第三方的软件开发者通过开发插件对软件 的功能进行扩展 而无需再对整个程序代码进行重新编译 运行时 run time 是相 对于编译时 assembly time 而言的 一般来说 开发者对软件功能更新时 是在 源代码级别进行更新 然后对整个程序进行重新编译 发布应用程序的新版本 这就是编译时 assembly time 的软件更新 3 1 插件的工作原理插件的工作原理 插件本质是在不修改程序主体 基础平台 的情况下对软件功能进行扩展与 加强 当插件的接口公开后 用户可以制作自己的插件来解决一些操作上的不便 或增加新的功能 也就是实现了真正意义上的 即插即用 软件开发 平台与插件 结构是将一个待开发的目标软件分为两部分 一部分为程序的主体或主框架 可 定义为平台 另一部分为功能扩展或补充模块 可定义为插件 在进行软件开发之前 依据具体的软件需求情况进行确定是否采用平台和插 件结构进行软件开发 一般来讲 使用平台和插件结构进行软件设计会给所开发 软件增加新的生命力 当确定使用插件的软件结构之后 就要分析哪些部分功能 由主体完成 即基础平台的功能 哪些部分功能由插件完成 即需要扩展的插件 功能 平台所完成的功能应为一个软件系统的核心和基础 这些基本功能即可为 用户使用 也可为插件使用 就是又可以把基础平台功能分为两个部分 内核功 能和插件处理功能 平台的内核功能是整个软件的重要功能 一个软件的大部分 功能因由内核功能完成 平台的插件处理功能用于扩展平台和管理插件 为插件 操纵平台和与插件通信提供标准平台扩展接口 插件所完成的功能是对平台功能 的扩展与补充 一般插件完成系列化功能 这些功能都有一些共性 可以进行集 中管理 并且是可以定义出标准的插件接口 实现平台与插件结构的软件设计需要定义两个标准接口 一个为由基础平台 所实现的平台扩展接口 一个为插件所实现的插件接口 需要说明的是 基础平 台扩展接口完全由平台实现 插件只是调用和使用 插件接口完全由插件实现 平台也只是调用和使用 平台扩展接口实现插件向平台方向的单向通信 插件通 过平台扩展接口可获取主框架的各种资源和数据 可包括各种系统句柄 程序内 部数据以及内存分配等 插件接口为平台向插件方向的单向通信 平台通过插件 接口调用插件所实现的功能 读取插件处理数据等 成都理工大学硕士学位论文 14 图图 3 1 插件管理机制系统结构 平台插件处理功能包括插件注册 管理和调用 以及平台扩展接口的功能实 现 插件注册为按照某种机制首先在系统中搜索已安装插件 之后将搜索到的插 件注册到平台上 并在平台上生成相应的调用机制 这包括菜单选项 工具栏 内部调用等 插件管理完成插件与平台的协调 为各插件在平台上生成管理信息 以及进行插件的状态跟踪 插件调用为调用各插件所实现的功能 平台插件处理 功能实现的另一部分功能为平台扩展接口的具体实现 3 2 集成界面的二次开发功能接口研究集成界面的二次开发功能接口研究 3 2 1 二次开发功能接口的认识 开发支持插件功能的应用程序必须解决一个问题 如何在主程序与插件间 正确地互相通信 为了在主程序与插件之间能正确地互相通信 应该先制定一套 通信标准 这套通信标准就是接口 主程序与插件必须通过制订好的接口进行通 信 开发过程中 接口仅仅定义功能并规定调用功能的形式 而不包含功能的实 现 接口实质上是软件模块的调用规范 对开发支持插件功能的应用程序而言 一般由主程序的开发者来制订接口 如果允许其他的开发人员能进行二次开发相关的插件 就要公开相关接口 接口 第 3 章 插件管理机制的实现 15 功能一般应由插件实现 但插件的实现有时也要调用主程序的功能 所以接口功 能也可能由主程序来实现 也就是说 主程序与插件的信息流可能是双向的 接口的调用规范与功能实现互相分离有一个很大的优点 尽管不同的插件 开发者对同一个接口的具体实现不同 但是在主程序中对这些插件的调用方式是 一样的 如果有主程序实现的接口 在不同的插件中也可以用相同的使用方式调 用主程序的功能 这极大的提高了应用程序的灵活性 插件采用系统基础平台提供的各种接口 用来实现一些高级定制功能 用户 可以定制插件 插件进行注册 每个插件有一个唯一的 id 号 名称 类型 状态 保存 在xml配置文件中启动时 系统启动时 根据配置文件含有的插件id号 导入插件 生成用户自定义的集成界面 插件在导入时 寻找树视图中的本类文件是否为打开 状态 如果在树视图中选中了这一个文件 就显示出来 若没有选中 则不显示 等系 统激发时再做出响应 如图 3 2 图 3 3 图图 3 2 未定制初始界面 图 3 2 是没有定制 只实现基本功能的集成界面 图 3 3 是某一用户定制的集 成界面 包括数据管理 数据列表 属性列表框 参数卡 作业卡道等停泊框形 式在集成界面上显示 它们均通过插件方式开发形成 数据管理和数据属性等停 泊框之间有主次关系 如井管理和数据编辑 调用先后关系 排斥关系 一个 停泊框显示 另外一个是不可能显示的 并列关系 多重依赖关系 集成框架 能够根据这些关系组织停泊框的显示形式 成都理工大学硕士学位论文 16 图图 3 3 定制初始界面 3 2 2 集成界面停泊内容分类 用户定制过的的界面 即插件的表现形式是集成界面停泊框 标签页 属性配 置框等内容 不同的用户根据自己的需求 通过测井系统的基础平台选择自己所 需功能 这些功能在系统配置文件中注册 生成自己定制功能的系统 这些界面类 插件有以下几种 1 绘图类 如工区图 交会图 统计图等 2 表格类 如数据值 成果表等 3 流程类 如控制流程图 测井资料的处理流程为 定制单个或多个流程 启动集成界面 处理解释测井资料 在集成界面上显示的流程图是事 先定制好的 4 树类 如工区 可嵌套 如出现盆地 构造 凹陷 区块等多级 井 井次 曲线形式的数据管理 模块列表 数据管理 常规处理 成像处理 生产 工程测井 解 第 3 章 插件管理机制的实现 17 释评价 成果输出 模块 在模块列表树中 对各模块的分类不能固 定 利用插件机制 系统根据各模块的属性 自动对模块分类 形成 树图 工区需管理井 测井数据 解释知识等 5 其它形式 如帮助 解释知识查询 web 页面 等 3 2 3 集成界面操作形式 1 单个停泊框内的交互和控制 2 多个停泊框之间的关联控制 基础平台要提供关联机制 包括文档内关联和文档间关联 文档间关联的难 度系数大 由用户扩展实现 比如开发一个停泊窗口具备选中数据功能 通过某 种鼠标拖拽或者消息响应 能向其他具备数据接收功能的停泊窗口发送消息 可 能是一对多的消息传递 具备数据接收功能的停泊窗口接收到此消息后自动进行 相应工作 3 各停泊框可由一个位置拖动到另一个位置 重新排列界面各元素 各停 泊框可关闭 测井一体化软件跨平台基础平台需要具有良好的可扩展性 可以让用户进行 二次开发 因此集成界面内的显示内容 包括图形显示 表格 流程 树形结构 以及其他类型的显示窗口 都可以根据用户的需求进行定制并且要求窗口之间可 以进行消息传递以及拖拽等操作 基于此开发接口 能开发以下几个功能 停泊 窗口插件 处理方法插件 绘图插件 其它插件 这些插件有纯交互插件 如多 井对比 纯算法插件 如滤波 算法和交互均有的插件 如深度校正 3 3 插件与系统接口关系的研究插件与系统接口关系的研究 主程序为支持插件提供插件管理功能 它调用了插件提供的接口 其具体实 现实际上是由插件本身完成的 插件所完成的功能是对平台功能的扩展与补充 一般插件完成系列化功能 采用该架构模式的系统开发过程 是首先确定系统所提供的基础底层服务 然后 将需要完成的目标软件具体划分为若干功能扩展 各个功能扩展需要遵循标准接 口规定 在开发完成后需要整个软件集成时将各个扩一展模块组装起来而不必集 成源代码或链接库 当需要新的功能组件时 按照系统平台的插件解析引擎或者 是插件管理器事先提供的插件接口 通信契约定义和所需的公共辅助功能类库等 组件的规范要求 使用合适的方法开发独立的功能扩展插件 通过插件解析引擎 成都理工大学硕士学位论文 18 或插件管理器挂接到主应用程序框架中即可实现相应的功能扩展 若某一扩展功 能插件对该系统平台不够很好的满足应用需求 也可以通过对相应的功能扩展插 件进行修改以满足特定要求 具体的应用领域类型也对架构设计产生一定的影 响 对于不同领域应用中需要实现基于内核 插件架构的软件系统 首先与领域 专家结合分析该系统的应用领域问题 并确定其所需提供的外部服务功能 将这 些提供的不同服务功能进行类型分类 确定内核系统的功能服务在内核组件的结 构 还需要详细描述内核应为组件间通信的手段以及定义内核的服务接口 最后 基于内核开发客户插件扩展应用 内核把最小功能核心同扩展功能和特定客户部 分分离开来 29 主程序中 插件管理部分用于管理插件的安装和删除 并将所有安装插件的 信息保存到适合的地方 例如保存到注册表或配置文件中 主程序启动时 根据 插件的配置信息加载插件模块 然后获得插件的输出函数或输出类的指针并加以 保存 如果需要的话 可以向主程序增加界面接口元素 如菜单 工具条按钮等 在主程序中当点击与插件相关联的接口元素时 就会触发插件调用函数 在插件 调用函数中使用主函数中所保存的插件信息调用插件中实现的功能 在调用插件 输出函数时也可以把主程序中实现的接口传递给插件方 3 3 1 插件的注册机制及其程序结构 插件的注册 插件分为静态插件和动态插件 测井解释系统通过基础平台的 插件管理器管理插件 插件的注册分为三个步骤 首先注册静态插件 再注册动态插件 判断如果为动态库 注册插件 向插件列表注册一个插 件 如果注册不成功 则卸载 最后注册用户请求定制的插件 如果是第一次启动 系统要读取 xml 系统配置文件判断已登记的插件 逐个 调用 若不是第一次启动 就要检查该插件是否需要注册 如果需要 则注册 否则 不需注册 注册插件时 由 qobject 指针生成插件基类 检测该插件是否存在 不存在则注册 显示插件信息 加入到插件列表 还有可能插件已经注册 则不再 需注册 测井解释系统的插件是采用主动插入方式来通知系统 所以必须在插件配置 文件中调用 registerplugin 函数才能让插件进入系统的插件体系 第 3 章 插件管理机制的实现 19 图图 3 4 系统插件注册机制 测井系统按功能分类的插件 包括停泊窗口插件 处理方法插件 绘图插件 其它插件 其数据类型表示如下 enum type i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论