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