论文部分内容阅读
本课题通过研究油气储层建模的一般流程,结合自主研发的“储层地质统计分析系统GASOR"的建模算法,搜集、改进和扩充了现有的克里金、多点统计等油气储层建模的算法,并运用设计模式进行设计和封装,从而系统地构建了储层算法类库。通过本类库构建的建模系统有助于快速建立储层模型,帮助用户认识和描述储层的非均质性;对开发具有自主知识产权的储层建模软件具有重要意义。本文的创新点和研究内容如下:第一,设计了储层算法类库的整体架构。该架构引入MVC(Model-View-Control)结构,融合了基于插件式开发技术的设计思想。按照面向接口编程的原则,对整体算法进行抽象,通过重构的方式将算法重复使用的代码模块分离出来并采用策略模式对其进行封装,使得算法更易于扩充和更新。另外,通过定义算法插件的接口,奠定了实现插件式框架的基础,使得类库具有良好的可维护性和可扩展性。第二,针对储层算法类库中算法要操作大量储层模型对象的特点,设计并实现了基于智能指针的储层模型对象管理机制。该机制在简化编程模型的同时有效地解决了内存泄露的问题;通过对工厂模式进行改进并应用于对象管理,整个算法类库中各个模块对象的创建、销毁、查询调用都得到了统一的管理,减少了重复构建对象而产生的开销,大大降低了各个模块之间的耦合度,方便了算法插件的管理。这种将插件式设计与MVC模式设计结合在一起的方式,更有利于实现一个易重用、易维护、易扩充的算法类库。第三,为解决类库中算法对界面的依赖问题,设计并实现了算法参数设置与用户界面相分离的机制。通过XML语言的参数文件将用户界面与储层算法进行分离,使算法对用户界面的依赖性大大降低;同时采用动态生成算法界面的方法支持了算法插件的扩展。用户扩充算法时,只需要把用户自定义的算法插件和算法参数界面加载到系统中即可;另外还可以把针对某个算法的算法参数保存下来,有利于用户日后的对比和使用。第四,应用常用的设计模式对算法类库的实现进行重构,增强了类库的逻辑性,使得类库更易于维护和扩充。在对象管理中应用了改进后的工厂模式,使得对象的创建避免了客户端选择代码冗余的缺陷;通过应用观察者模式有效地统一了数据模型与界面层的显示;算法模块的策略模式以及对象管理中的单件模式等使得类库更具有复用性。