中石油油井统计分析优化方案_第1页
中石油油井统计分析优化方案_第2页
中石油油井统计分析优化方案_第3页
中石油油井统计分析优化方案_第4页
全文预览已结束

下载本文档

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

文档简介

1、中石油油井统计分析优化方案背景中国石油天然气集团原有一套“勘探与生产技术数据管理系统”,底层结构为JAVA,展 现部分用报表工具。该系统的设计目标是宏观展示全国油井数据,监控各项关键指标,防范 已知和未知风险,追溯并解决问题油井。集团在全国有十六大油田、上百小油田,每个油田都有几十到几千口油井。该系统在试 点油田运行后,基本达到了设计目标,但正式部署到全国时,却发生了开发工作量大,迟迟 无法推广的问题。本方案试图找到问题的原因,并对原系统进行优化,从而提高开发效率,进而快速全国 推广,提高用户的满意度。原因分析解析Json原系统要对油井进行监控统计,数据来自于数据库和油井传感器。数据库提供JD

2、BC接 口,报表工具可直接访问,这方面不存在开发效率的问题。但油井传感器提供的是json接 口,报表工具不能直接访问,必须解析成报表工具可识别的二维表(自定义数据集)。个别报表工具可解析最简单(单层)json,但传感器是标准(多层)json,因此只能用 JAVA类进行解析。JAVA类的开发工作量大,远不如JDBC快捷。如果只解析一种传感器,工足量虽大但尚能忍受,但每口油井有多种传感器,json格式 各不相同,因此要用不同的JAVA类去解析,这样的开发效率就无法忍受了。推广到全国后, 又发现即使是相同类型的传感器,各地也存在年代和版本差异,从而导致json格式更多更 复杂,其开发过程令人苦不甘言

3、。数据计算将json解析为JAVA二维表,这只是最基本的开发障碍,真正的障碍是对二维表进行计 算。数据计算是SQL的专项,报表工具虽然也具有计算能力,但只限于最简单的算法,并 不能像SQL那样自由计算,比如:分组后取得各组最大的前三条记录,用这些记录和另一 个二维表关联,再做一次分组汇总。此外,报表计算时必须带着外观属性,内存占用大,很 容易溢出。报表计算性能更是短板,比如关联只能用字符串匹配来模拟,数据一旦上万就变 得很慢。用SQL无法计算JAVA二维表,用报表计算又缺乏自由和性能,所以只能用JAVA代码来 计算。JAVA自由度极高,任意SQL算法理论上都能等价实现;计算时不必带着外观属性,

4、可 以控制内存溢出;利用哈希表和排序算法,性能也有保障。但JAVA缺乏计算类库,就连最 简单的过滤都要从底层写起,因此代码冗长繁琐,极易出错,难以复用难以维护,这些都会 严重影响开发进度。其他原因开发工作量大的原因还有:试点范围扩大到全国,报表数量剧增;油井数量每天都有增 减;json格式变化多端;报表经常要改;json和数据库混合计算,JAVA实现困难等等。但这些都是表面原因,最底层最根本的原因还是前面的两条:解析Json和数据计算。优化方案集算器解析json,并对解析结果进行自由计算,报表工具通过JDBC调用集算器,并在 报表中展示数据。 解析json集算器支持多种数据源,包括数据库、文本

5、、Excel、Hadoop、mongodb,http流,namejdlJcL area lengthMemberkeyvaluenameABCid1jiobTeacherkeyvaluearea2RQ.key口valuelength LJ-45u也可以直接解析json,开发工作量几乎为零。示例如下:AB=httpfile( HYPERLINK /Servlet?t /Servlet?t)/获得json流=A1.read().importj()/解析多层json解析结果如下: 数据计算集算器内置结构化数据计算类库,封装了丰富的结构化计算函数,支持集合运算、 关联运算、有序运算,开发工作量极低。不

6、管是执行SQL、解析json或读取文件,其结 果都是统一的数据类型,都可以执行所有的集算器函数,也可进行多数据源混合计算。 示例如下:AB1=httpfile( HYPERLINK /Servlet?t /Servlet?t)/获得json串2=A1.read().importj()/解析多层json3=A2.select(like(name,A*)/对解析结果模糊查询4=A3.groups(key; count()/对查询结果分组汇总 JDBC 接口集算器对外提供JDBC接口,可被任意JAVA程序、报表工具调用,用法和访问数据 库一致,开发工作量几乎为零。示例如下:Connection co

7、n= DriverManager.getConnection(jdbc:esproc:local:/);Statementst =con.prepareCall(call queryJson();st.execute();优化效果原系统有几百张报表,现举一例说明。下面这张报表涉及9种json源,需要解析json, 再合并解析结果,最后进行一系列的计算(具体数据和算法涉密)45 业性髭IT井别冲g型性早1度g:(0r ?n r*a-oo ;用估国ib:ou耳l_ftne_tlCaijj*T,fa mar Ar aahcriaF 恩吾I:_:全工工止停建1IQ廿,4,击讪曲S!it工作门苜止工秘胃a果舟,吧afthfO7、土KT?vjfc JaTaijg-awni 争A*卜*9 mp p * , rsi, -_ b 1 a _jxfc t3止 |哉巳 舍下面比较优化-前后的工作量指标指标优化前优化后解析9种json4工作日2小时Json合并及计算8工作日2小时报表设计0.5工作日4小时(0.5工作日)总开发工作量12.5工作日8小时(1工作日)修改报表4工作日2小时醺位定U11KiT】.WE宜新岫必g耐。I 200,心1 :典可以看到,不论是总工作量还是维护工作量

温馨提示

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

最新文档

评论

0/150

提交评论