中油中泰燃氣 姜兆巍/崔恩懷
易聯云 張???許亮
來源:《煤氣與熱力》2019年8月刊
摘要:建立燃氣企業購銷差管理系統。購銷差管理系統包括基礎數據管理、日常管理、購銷差管理、數據查詢分析功能模塊,對購銷差計算模型與預測方法、歷史數據處理流程進行分析。
關鍵詞:購銷差;購銷差率;管理系統
1 概述
燃氣購銷差是衡量燃氣企業經營管理水平最直接的綜合指標,控制和降低購銷差是燃氣企業的首要工作之一。實際上,燃氣企業購銷差整體管理水平并不樂觀,大部分燃氣企業并不清楚自身的實際購銷差、購銷差率。主要原因是燃氣企業沒有科學的購銷差計算模型,無法保障數據準確性與時效性。本文對燃氣企業購銷差管理系統的構建進行分析。
2 購銷差管理系統功能架構
購銷差管理系統充分利用燃氣公司現有業務系統數據,后臺服務程序從燃氣公司現有客戶與營收系統、用戶遠傳表監控系統等系統中抓取燃氣用量相關數據。購銷差管理系統主要包括基礎數據管理、日常管理、購銷差管理、數據查詢分析功能模塊。
① 基礎數據管理。主要包括氣源信息管理、工商戶信息管理、場站信息管理、管網信息管理、表具信息管理等子功能模塊,提供基礎信息的添加、刪除、修改、查詢等功能,為其他功能模塊提供基礎數據支撐。
② 日常管理。主要包括設備日常運行管理、氣量交接管理、氣損記錄管理,該功能模塊是購銷差管理系統的主要功能模塊,通過日常管理模塊收集的各項購銷氣數據,以及購銷差計算結果,可對購銷差產生原因進行分析,查找日常管理工作環節的不足,針對不足進行改進。
③ 購銷差管理模塊。主要功能定義銷氣量估算模型、定義購銷差計算模型。根據用氣估算模型、購銷差計算模型,預測計算一定時期的購銷差。也可以根據歷史數據,計算歷史購銷差。④ 數據查詢分析模塊。將購銷差數據以及日常管理過程中產生的相關業務數據進行多維度綜合統計分析,生成各類型統計報表,為燃氣企業的購銷差管理工作提供詳細的數據支撐。
3 購銷差計算模型與預測方法
① 購銷差計算模型
購銷差ΔQ的計算式為:
ΔQ=Qp+ Qi,e-Qi,L-Qs-Qf-Qc-Qd
式中 ΔQ——供銷差,m3
Qp——總購氣量,m3
Qi,e、Qi,L——統計初期總庫存量、統計末期總庫存量,m3
Qs——總銷氣量,m3
Qf——自用氣量,m3
Qc——索賠氣量,m3
Qd——放散氣量,m3
購銷差μ的計算式為:
μ=ΔQ/[Qp+(Qi-t1-Qi-t2)]
總購氣量包括管輸購氣量、CNG購氣量、LNG購氣量。統計初期總庫存量包括統計初期管存量、CNG庫存量、LNG庫存量。統計末期總庫存量包括統計末期管存量、CNG庫存量、LNG庫存量。總銷氣量包括工商業用戶銷氣量、場站銷氣量、居民用戶銷氣量、商業用戶銷氣量、供暖用戶銷氣量、加氣站用戶銷氣量、轉供量、其他銷氣量。
自用氣量包括生產自用氣量、生活自用氣量。索賠氣量包括非法索賠氣量、外力破壞索賠氣量。放散氣量包括生產放散氣量、工程放散氣量。
② 預測方法
對購銷差管理系統采集的歷史數據、流式數據進行建模分析,采用Spark MLlib機器學習方法對總購氣量、統計初期總庫存量、統計末期總庫存量、總銷氣量、自用氣量、索賠氣量、放散氣量等進行預測。將預測結果用于購銷差預測計算,從而根據預測購銷差制定購氣、銷氣策略。
4 歷史數據處理流程
4.1 數據采集
通過表具數據上報,將銷氣數據放入Kafka(分布式消息隊列)當中。使用分布式并行編程模型和計算框架(MapReduce)及機器學習和數據挖掘算法(Spark MLlib)對Kafka中的數據進行數據提取-轉化-加載(Extract-Transform-Load,ETL)。例:對表具上傳失敗的數據進行特定的算法填充,并對無效數據進行過濾。
4.2 數據存儲
使用Kettle、MapReduce、Spark等工具對所有數據進行ETL(提取-轉化-加載)并將ETL后的數據存放到數據倉庫Hive,使用HQL(Hibernate Query Language,查詢語言)對數據倉庫Hive中全量歷史數據進行批量的各維度(區域、時間等維度)的分析。將分析結果及其他經常使用的數據存放到HBase數據庫中,并提供交互式查詢。
4.3 數據分析
① 使用Hive QL語言對數據倉Hive中存放的全量數據進行各種維度的分析,如用戶畫像分析、時段統計等。
a.用戶畫像分析(用戶使用習慣分析)。以用戶為主要條件,時間為次要條件分組聚合,聚合后得到用戶每日的數據。將用戶每日的數據進行特定的算法對比過濾,得到用戶每日的用氣習慣數據,并加以分析。
b.時段統計。以季度為統計維度為例,將數據倉庫Hive中的全量數據(包括購銷差計算模型中的各項歷史數據)按季度為主要條件分組聚合。將聚合后的數據按時間排序,實現對季度數據的統計。
② 對HBase數據庫中的數據進行高效率的交互式查詢,建立查詢數據模型??蓪崿F經常使用的字段(如用戶ID、日期、區域等字段)進行單獨建模,從而實現按特定字段的數據查詢。
③ 流式計算(對實時的數據進行分析計算,如實時報警)。使用SparkStreaming、Flink、Storm等流式計算框架,實時拉取Kafka中的數據。對實時拉取數據進行分析,若發現某些數據變化異常,則將些數據標記為異常數據,并對進行異常報警,以短信、微信、郵件等方式推送報警數據。
4.4 數據結果展示
根據分析結果,可實現各個維度(區域、時間等)購銷差、購銷差率等數據的屏幕顯示。
5 結語
建立了燃氣企業購銷差管理系統。購銷差管理系統包括基礎數據管理、日常管理、購銷差管理、數據查詢分析功能模塊,對購銷差計算模型與預測方法、歷史數據處理流程進行分析。