石油勘探开发专业软件共享技术研究与应用
2018-11-09张云飞李志刚韩庆时
◆张云飞 李志刚 韩庆时 孙 超 刘 锐
石油勘探开发专业软件共享技术研究与应用
◆张云飞 李志刚 韩庆时 孙 超 刘 锐
(中海油研究总院有限责任公司信息数据中心 北京 100028)
为掌握集团公司科研软件许可证的真实需求,提高其利用率,通过对各分公司海量监测数据的统计分析,挖掘软件许可证应用峰谷周期不同的规律,利用共享方法设计和建立许可证应用中心,实现企业版软件在集团公司范围内集中管理与共享应用,减少集团公司许可证采购数量,节约软件投资成本,该研究提出了基于数据驱动的许可证需求预测方法,为企业版软件规划提供科学依据。
跨平台;数据采集;辅助决策;数据分析
0 引言
随着海洋石油工业的快速发展,科研软件在勘探开发研究中发挥了重要的作用,已成为科研生产不可缺少技术研究手段。石油勘探开发综合研究需要多学科、多专业协同,为更加精准的储量预测、综合决策提供技术保障[1]。在石油勘探领域中有大量的解释专业软件被频繁使用,但由于软件许可证数量有限,导致日常科研与生产工作不能正常进行[2]。科研软件许可证昂贵,提高其利用率是企业降本增效的有效方式。杨显峰等通过设计了专业软件远程共享应用模式,解决跨国石油公司专业软件软硬件资源共享应用上存在的问题,其在软件许可证共享应用上并未涉及[3]。集团公司各所属单位软件许可证独立使用,由于缺少技术手段准确计算许可证使用数量,只能通过任务量和技术人员数量来估算需求,随着各单位科研任务和人数不断增加,许可证总数成倍数增长。科研软件价格昂贵,为满足科研生产需要,公司不得不投入巨额资金购买许可证。近年来,国际油价暴跌,上游业务受到严重影响[4,5],持续高投入面临挑战。
本文在获取许可证海量监测数据基础上,利用统计分析方法,挖掘各单位软件许可证使用峰谷周期规律,建立集团公司许可证共享中心,提出基于数据驱动的许可证需求预测方法,为公司科研软件应用规划提供科学依据。
1 共享技术方案设计与实现
数据采集与监测可视化:
(1)跨平台许可证使用数据采集
数据采集是数据监测的基础,科研软件种类众多,许可证服务运行在linux、windows等异构操作系统下,邓莉等认为传统简单的许可证管理模式已不能满足全面管控的要求[6],提出对软件许可证的预留与管控,提高利用率。但对于多个软件、多个系统许可证使用数据采集与监测没有提出明确的解决方案。基于Flexlm、SafeNet、底层IO请求和网络分析技术,提出分时轮回异步采集机制,并将数据标准格式与非标准格式重新结构化输出到数据库中,实现数据的全采集。见图1。
图1 跨平台许可证数据采集图
(2)监测数据可视化
监测系统采用B/S架构,基于ASP.NET 2.0进行开发,Python语言编程实现,底层数据库为SQL SERVER数据库,利用许可证实时数据缓存技术实现海量数据采集、存储等功能。数据展示为使用者提供便利,可视化技术出现在科学计算可视化(Visualization in Scientific Computing),指利用计算机图形学、计算机图像处理、计算机信号处理等方法对数据、信息、知识的内在结构进行表达[7]。针对数据量大、结构复杂的数据,孙秋年等提出将管理分析与数据可视化结合,在有限的时间内快速理解和分析数据[8]。在数据的种类与范围与许可证使用数据存在差异。许可证监测数据从多个维度迅速直观展示许可证使用情况需求,研发许可证监测可视化技术,集合多个数据图表,支持多表关联、追加合并,包括使用频率、峰谷周期、购买数与使用数合理性分析等,实现跨系统、跨专业许可证应用数据多角度立体展示功能。
功能实现主要方法:
public void createReport(String software,String startDate,String endDate) {
List
View report = new View();
//创建汇总页
createSummary();
//遍历软件许可List
for(LicenseInfo li:licenseNameList) {
//创建分项页
createItem();
//绘制图表
drawChart(report);
}
}
public void drawChart(View report) {
//创建图表
ChartShape chart = report.addChart();
//设置数据系列
chart.setSeriesName();
chart.setSeriesYValueFormula();
chart.setCategoryFormula();
//设置图例
chart.setLegend();
//设置坐标轴范围
chart.setScaleValueRange();
}
组合显示多样化:显示多软件、多模块在各个单位的使用数、购买数、最大值,并自动集成绘制趋势图,见图2。
图2 多单位使用数据分布图
指标统计自动化:生成软件使用汇总报告,统计软件的整体使用情况,包括该软件所有模块在所有单位的使用峰值及使用率,并自动绘制使用峰值统计图,见图3。
图3 同一模块峰值示意
2 建立许可证共享应用中心
2.1 设计“本地+共享中心”应用模式
集团公司许可证共享应用,共享架构设计了南方与北方共享中心。跨区域共享必然导致许可证访问用户数与许可证进程数剧增,为突破服务器带宽和系统用户数方面的限制,利用许可证服务器网络链路绑定技术,增加网络带宽,确保多用户同时访问无延迟。经过Geoframe与Jason两个软件在线用户对服务器承载用户数压力测试,测试结果显示在服务器(2颗CPU,8个核心,主频3.2Ghz,内存48GB)以及万兆网络环境下,Redhat5.8下最多支持515个用户同时访问,此结论为确定共享软件规模提供了数据支持。
2.2 跨区域共享应用中心安全性
地震资料综合研究具有连续性特点,许可证应用的连续性至关重要。在许可证应用安全性上,建立许可服务的“多活”站点,确保许可证服务器故障能够快速提供服务。其原理在于一台许可服务器出现故障时,另外的服务器能快速地提供许可服务,提升许可服务的高可用性,确保许可证在有限公司范围内共享应用的安全与稳定。见图4。
图4 服务器多活站点示意图
3 基于滑动平均算法的需求预测方法
概率统计在经济社会的各个方面应用广泛,为解决现实世界中的问题提供研究思路[9,10]。通过对共享中心许可证使用数据监测,首次利用滑动平均算法[9]预测许可证需求数量趋势,结合科研任务量和人员数量,为集团公司许可证采购与制定许可证共享分配策略提供依据。滑动平均的计算公式如下:
Ft=(At-1+At-2+At-3+…+At-30)/n,
Ft代表预测值;
n代表移动平均的时期个数;
At-1代表前期实际值;
At-2,At-3和At-n分别表示前两期、前三期直至前n期的实际值。
以北京研究中心许可证某模块2016年1月至12月许可证使用情况数据为例。
红线代表许可证购买数64个,通过监测数据显示最大数为40个,许可证应用并不饱满,势必造成浪费。
图5 许可证需求预测示意图
基于以上监测数据分析得出的结论,对北京本地许可证进行调整,46个留在本地,其余放在共享中心,调整后使用情况数据为2017年7月至2018年3月数据,从监测显示许可证应用最大值为45个,接近购买留在本地的46个,许可证的使用率提高,验证了基于滑动平均算法的许可证需求方案的合理性。
4 应用效果与分析
(1)科研软件共享中心,首次实现跨操作系统、跨软件厂商、跨区域的许可证全面数据采集与监测;
(2)通过对采集8000多万条监测数据分析发现,用户使用许可证数量趋势符合泊松分布规律(12个月为周期),指导、制定许可证采购策略;
(3)许可证共享中心为1800多名科研人员服务,该共享应用模式相比传统模式一次性节约采购成本25%,经济效益显著。
5 结束语
专业软件许可证跨操作系统、跨软件厂商、跨区域共享应用模式,突破传统独立使用的壁垒,提出的基于滑动平均算法的许可证需求数量预测方法为采购许可证数量提供详实数据支撑,发现的用户使用许可证数量趋势符合泊松分布规律为公司制定软件采购规划提供科学依据。集团公司范围的科研软件许可证共享应用新模式为公司海外科研软件共享应用发挥示范引领作用。
[1]李慧,李志刚,王茹,刘锐,孙超.云技术在油气田勘探开发系统建设中的应用研究[J].网络安全技术与应用,2018.
[2]杨显峰,毛承国,陈翔等.软件远程共享管理平台的设计与实现[J].计算机时代,2016.
[3]魏锋,刘璀,张超林等.跨国公司石油专业软件共享系统的设计与应用[J].石油化工自动化,2016.
[4]冯启海,卫永刚,郑德鹏等.国内外石油企业应对低油价的做法及启示[J].国际石油经济,2016.
[5]李志刚,王俊琴.基于Studio的Petrel数据共享环境建设与应用[J].网络安全技术与应用,2016.
[6]邓莉,范德军,孙胤航.大型专业软件集中管控技术探索与实践[J].中国管理信息化,2014.
[7]曾悠.大数据时代背景下的数据可视化概念研究[D].浙江大学,2014.
[8]孙秋年,饶元.基于关联分析的网络数据可视化技术研究综述[J].计算机科学,2015.
[9]陈皓.概率统计在彩票中的应用探析[J].企业科技与发展,2018.
[10]张森源.概率统计在实际生活中的应用分析[J].经贸实践,2018.