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