亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NET的油田生產(chǎn)時(shí)率統(tǒng)計(jì)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)

        2021-06-04 01:24:34李高鵬樓海龍
        天津科技 2021年5期
        關(guān)鍵詞:后臺(tái)油井測(cè)井

        李高鵬,樓海龍,楊 靜

        (1. 中海油伊拉克有限公司 天津300450;2. 中海油采油技術(shù)服務(wù)有限公司 天津300450)

        生產(chǎn)時(shí)率是油田開發(fā)生產(chǎn)過程中的重要基礎(chǔ)數(shù)據(jù),通過生產(chǎn)時(shí)率可以反應(yīng)油田的油井利用率以及整體開發(fā)生產(chǎn)效率。生產(chǎn)過程中由于各種原因?qū)е碌挠途P(guān)停事件是造成生產(chǎn)時(shí)率損失和產(chǎn)量損失的主要因素。本文以伊拉克某中資油田為背景,該油田投產(chǎn)于20世紀(jì)70年代,生產(chǎn)管理手段仍在沿用手工報(bào)表,效率低且不便于跟蹤統(tǒng)計(jì)。該油田主要包括近200口油井,隨著地層壓力的衰減,生產(chǎn)模式逐漸由自噴生產(chǎn)轉(zhuǎn)向電潛泵開發(fā),生產(chǎn)時(shí)率對(duì)地面設(shè)備和供電的穩(wěn)定性要求越來越高。

        生產(chǎn)時(shí)率的影響因素多種多樣,如電網(wǎng)波動(dòng)和停電、管線泄漏、井下電潛泵故障、驅(qū)動(dòng)電潛泵發(fā)電機(jī)的保養(yǎng)和故障停機(jī)、設(shè)施流程維修改造、地層原因、偷盜等都會(huì)造成生產(chǎn)關(guān)停。

        常規(guī)Excel表格統(tǒng)計(jì)生產(chǎn)時(shí)率有以下不足:①不能同時(shí)多人對(duì)表格進(jìn)行編輯;②在Excel中輸入關(guān)停事件時(shí),不僅要計(jì)算每個(gè)關(guān)停事件的時(shí)長(zhǎng),還要查詢單井產(chǎn)量,計(jì)算產(chǎn)量損失,工作量大且容易出錯(cuò); ③Excel安全性差,容易被篡改或刪除;④隨著數(shù)據(jù)的增多,Excel運(yùn)行速度越來越慢。

        本文介紹了一種通過網(wǎng)站+數(shù)據(jù)庫的方式實(shí)現(xiàn)對(duì)關(guān)停信息的收集,同時(shí)在后臺(tái)計(jì)算出相應(yīng)的產(chǎn)量損失和生產(chǎn)時(shí)率等信息。網(wǎng)站具有共享性好,數(shù)據(jù)庫具有存儲(chǔ)量大的優(yōu)點(diǎn),對(duì)數(shù)據(jù)的處理和計(jì)算上也更加靈活。通過盡量少的輸入信息減少人員工作強(qiáng)度,盡可能多地通過后臺(tái)運(yùn)算處理來展示更多分析結(jié)果。

        1 網(wǎng)站實(shí)現(xiàn)功能的具體要求

        ①通過網(wǎng)站頁面實(shí)現(xiàn)對(duì)關(guān)停事件的信息采集,包括井名、站名、關(guān)停復(fù)產(chǎn)時(shí)間、關(guān)停原因等。

        ②通過頁面實(shí)現(xiàn)對(duì)最新油井測(cè)井信息的采集,包括單井總產(chǎn)液量、含水率、自噴產(chǎn)量等,并在后臺(tái)自動(dòng)計(jì)算出純油產(chǎn)量、產(chǎn)水量、ESP泵的增加產(chǎn)量等信息,補(bǔ)充到該關(guān)停事件信息中。

        ③在信息輸入過程中對(duì)輸入的信息進(jìn)行必要的數(shù)據(jù)有效性驗(yàn)證,增強(qiáng)數(shù)據(jù)可靠性。

        ④通過頁面端查詢、更新和刪除某一時(shí)間段內(nèi)的油井的所有關(guān)停事件信息。

        ⑤當(dāng)頁面輸入關(guān)停事件時(shí),根據(jù)最新的油井測(cè)井信息,自動(dòng)在后臺(tái)計(jì)算出產(chǎn)量損失和該關(guān)停事件對(duì)應(yīng)的當(dāng)天的生產(chǎn)時(shí)率損失,將生產(chǎn)時(shí)率的計(jì)算精確到每一次關(guān)停事件。

        ⑥查詢和顯示某一時(shí)間段內(nèi)的按關(guān)停原因分組的總的時(shí)率損失。

        ⑦通過頁面端輸入、查詢、更新和刪除某一時(shí)間段內(nèi)的所有油井或某一口井的計(jì)量和狀態(tài)信息。

        ⑧查詢和顯示截至輸入的查詢?nèi)掌?,總的油井?dāng)?shù)量以及總的開井?dāng)?shù)量,以便快速得出開井率。

        ⑨通過Excel批量上傳油井的測(cè)井信息,并在上傳數(shù)據(jù)前進(jìn)行數(shù)據(jù)有效性驗(yàn)證,并核對(duì)數(shù)據(jù)庫,進(jìn)行查重。

        ⑩將查詢到符合條件的關(guān)停事件信息或者油井信息導(dǎo)出到Excel中。

        2 開發(fā)工具和環(huán)境

        通過ASP.net編程搭建動(dòng)態(tài)網(wǎng)站作為前臺(tái)頁面,以及MSSQL數(shù)據(jù)庫作為后臺(tái)數(shù)據(jù)存儲(chǔ),主要開發(fā)平臺(tái)及軟件:Visual Studio 2015;MSSQL 2012數(shù)據(jù)庫;開發(fā)語言C#;Bootstrap 4.0 HTML網(wǎng)頁頁面架構(gòu);Microsoft.Net Framework 4.5.2 平臺(tái);Windows7+IIS服務(wù)。

        3 開發(fā)過程和具體實(shí)現(xiàn)

        3.1 數(shù)據(jù)流

        如圖1所示,前臺(tái)網(wǎng)頁頁面通過Visual Studio和Bootstrap進(jìn)行快速開發(fā),作為信息的收集和展示,后臺(tái)通過Action類作為頁面行為的引導(dǎo),最終通過Sqlhelper類建立和數(shù)據(jù)庫之間的數(shù)據(jù)交換,實(shí)現(xiàn)信息的動(dòng)態(tài)存取。

        3.2 數(shù)據(jù)庫設(shè)計(jì)

        在進(jìn)行前端開發(fā)前,首先需要對(duì)數(shù)據(jù)庫進(jìn)行配置,規(guī)劃好所有存儲(chǔ)的數(shù)據(jù)類型和表格。在數(shù)據(jù)庫中建立1個(gè)名稱為SDcollection的數(shù)據(jù)庫,同時(shí)建立 2個(gè)表格dbo.SDstatistic和dbo.Wellinfor,分別用來存儲(chǔ)關(guān)停事件信息和油井測(cè)井信息。

        圖1 數(shù)據(jù)交換流程 Fig.1 Data exchange process

        3.2.1 油井測(cè)井信息數(shù)據(jù)表

        油井測(cè)井信息數(shù)據(jù)表總共包含14列,分別用來存儲(chǔ)油井的類型、各種產(chǎn)量、含水、測(cè)井時(shí)間等信息,具體如圖2所示,其中產(chǎn)油量Oil、產(chǎn)水量Water、電潛泵增產(chǎn)量ESPproduction,這3項(xiàng)不需要在頁面端輸入,將根據(jù)其他輸入的油井測(cè)試信息在后臺(tái)進(jìn)行計(jì)算得出,然后合并填入數(shù)據(jù)庫。

        圖2 數(shù)據(jù)庫油井信息表結(jié)構(gòu)設(shè)計(jì) Fig.2 Structure design of oil well information table in database

        3.2.2 關(guān)停信息數(shù)據(jù)表

        關(guān)停信息數(shù)據(jù)表包含14列,分別用來存儲(chǔ)關(guān)停信息的井名、關(guān)停時(shí)間、關(guān)停原因、產(chǎn)量損失及該關(guān)停事件所對(duì)應(yīng)的當(dāng)天的時(shí)率損失等信息,具體如圖3所示。其中只有SDtime、Starttime、CloseWellYN、SDreason為必填項(xiàng),Detailreason為選填項(xiàng),其他項(xiàng)在輸入關(guān)停信息時(shí),將自動(dòng)查詢測(cè)井信息數(shù)據(jù)表,并計(jì)算出對(duì)應(yīng)的信息,一并填入關(guān)停事件信息表。

        3.2.3 時(shí)率計(jì)算原則

        時(shí)率計(jì)算根據(jù)統(tǒng)計(jì)規(guī)則的不同,結(jié)果也會(huì)有差別,本文所列時(shí)率計(jì)算原則具體如下:

        ①當(dāng)輸入某油井關(guān)停事件時(shí),將首先查詢測(cè)井信息表中有關(guān)該井的最近一條信息,并由此計(jì)算出“產(chǎn) 量損失”和“關(guān)停時(shí)長(zhǎng)”,讀取該井的“Active”狀態(tài)、該井的“自噴產(chǎn)量”,關(guān)停時(shí)“X-tree閥門是否關(guān)閉”,“關(guān)停和時(shí)間”等,并查詢截至當(dāng)天Active=Y(jié)的總井?dāng)?shù),然后計(jì)算出該關(guān)停事件的“當(dāng)天損失時(shí)率”,合并以上信息后,作為一條關(guān)停記錄寫入數(shù)據(jù)庫。

        圖3 數(shù)據(jù)庫關(guān)停信息表結(jié)構(gòu)設(shè)計(jì) Fig.3 Structure design of shutdown information table in database

        ②當(dāng)查詢某個(gè)時(shí)段的時(shí)率時(shí),記入時(shí)率損失的 2種情況為:如果該井狀態(tài)Active=Y(jié),并且自噴產(chǎn)量NFproduction>0,并且關(guān)閉了采油樹閥門CloseValveYN=Y(jié);如果該井狀態(tài)Active=Y(jié),并且自噴產(chǎn)量NFproduction=0,并且沒有關(guān)閉采油樹閥門CloseValveYN=N。

        ③當(dāng)查詢某個(gè)時(shí)段的時(shí)率時(shí),不計(jì)入時(shí)率損失的2種情況:該井狀態(tài)Active=Y(jié),并且自噴產(chǎn)量NFproduction>0,且沒有關(guān)閉采油樹閥門CloseValveYN=N;該井Active=N,則該關(guān)停事件不計(jì)入時(shí)率損失。

        ④當(dāng)輸入的關(guān)停事件跨越多天時(shí),輸入時(shí)會(huì)自動(dòng)分解到每一天,并計(jì)算每一天的時(shí)率損失。

        ⑤關(guān)停事件當(dāng)天的單井損失時(shí)率如式(1)所示:

        式中:ts為關(guān)停事件當(dāng)天損失時(shí)率;h為該油井關(guān)停時(shí)長(zhǎng);n為當(dāng)前狀態(tài)Active=Y(jié)的所有油井?dāng)?shù)。

        ⑥當(dāng)查詢某個(gè)時(shí)間段的總時(shí)率時(shí),在檢索時(shí)間段內(nèi),根據(jù)條件②、③計(jì)算關(guān)停損失時(shí)率如式(2):

        式中:χ為檢索時(shí)間段內(nèi)的總生產(chǎn)時(shí)率;Tstart為檢索起始日期;Tend為檢索結(jié)束日期。

        3.2.4 數(shù)據(jù)庫觸發(fā)器的設(shè)計(jì)

        在關(guān)停信息數(shù)據(jù)表中,定義了觸發(fā)器SDstatistic_ AutoEx_trigger,觸發(fā)器的使用主要滿足當(dāng)輸入關(guān)停事件時(shí),自動(dòng)計(jì)算相關(guān)項(xiàng)目,并更新到數(shù)據(jù)庫中。具體實(shí)現(xiàn)以下功能:

        ①自動(dòng)計(jì)算關(guān)停時(shí)長(zhǎng)、液量損失、油量損失;

        ②查詢測(cè)井信息表獲得該井的自噴產(chǎn)量,用于后面時(shí)率計(jì)算的判斷依據(jù);

        ③當(dāng)關(guān)停事件跨越多天時(shí),自動(dòng)將其拆分到每 一天;

        ④自動(dòng)計(jì)算每一個(gè)關(guān)停事件所對(duì)應(yīng)的當(dāng)天的時(shí)率損失。

        具體代碼邏輯如下,由于篇幅限制,本文以下程序只說明邏輯結(jié)構(gòu),并非可執(zhí)行源碼。

        insert into SDstatistic(*)values(*)

        3.2.5 數(shù)據(jù)庫時(shí)率計(jì)算函數(shù)的使用

        數(shù)據(jù)庫中定義了1個(gè)表值函數(shù)FN_TimeRate ByReason,當(dāng)頁面請(qǐng)求計(jì)算某個(gè)時(shí)間段的時(shí)率時(shí),數(shù)據(jù)庫將查詢?cè)摃r(shí)間段內(nèi)的每一條關(guān)停事件,根據(jù)時(shí)率計(jì)算原則的第②、③、④條判斷是否計(jì)入時(shí)率損失,最后按關(guān)停原因分組,返回一個(gè)List給頁面后臺(tái)代碼,然后綁定到頁面GridView中。數(shù)據(jù)庫時(shí)率計(jì)算函數(shù)代碼如下:

        3.3 前端頁面開發(fā)

        根據(jù)前端頁面信息輸入和展示的需要,總共規(guī)劃7個(gè)頁面:

        ①Shutdown Event Input輸入關(guān)停事件信息;

        ②Shutdown Event State查詢關(guān)停事件和生產(chǎn)時(shí)率;

        ③Well-Info Import油井測(cè)井信息錄入;

        ④Well-Info State查詢油井測(cè)井信息;

        ⑤Backup Database備份MSSQL數(shù)據(jù)庫;

        讓法比感到安全的是,叫趙玉墨的女人,永遠(yuǎn)不會(huì)愛上他。她那含意萬千的凝視是她的技巧,是她用來為自己換便利的,由此他更加恨她。他糊涂了,若是她死心塌地真心誠意地愛他,他不就完結(jié)了嗎?難道他不該感激她只和他玩技巧?

        ⑥D(zhuǎn)etail Shutdown Infor展示某一關(guān)停事件的詳細(xì)信息(間接打開);

        ⑦Detail Well-Info 展示某油井的某條詳細(xì)測(cè)井信息(間接打開)。

        前端頁面的樣式設(shè)計(jì)使用Bootstrap框架,能夠滿足快速開發(fā)的需求,同時(shí)使用母版頁,在母版頁中對(duì)主導(dǎo)航欄進(jìn)行設(shè)計(jì)后,可以直接在其他子頁面中進(jìn)行調(diào)用,而避免重復(fù)開發(fā)。

        本文著重講述前2個(gè)頁面,其他頁面具體功能代碼、Excel上傳下載、Bootstrap頁面架構(gòu)以及Web發(fā)布等不再詳述。

        3.3.1 頁面ShutdownEventInput的設(shè)計(jì)

        由于各個(gè)脫氣站的油井?dāng)?shù)量是動(dòng)態(tài)變化的,為避免每次有新的油井投產(chǎn),就要從后臺(tái)修改網(wǎng)頁的頁面設(shè)計(jì),那么油井輸入頁面也需要根據(jù)各個(gè)站的油井?dāng)?shù)量動(dòng)態(tài)顯示所有井。如圖4所示。

        3.3.2 ShutdownEventInput前臺(tái)頁面

        在前臺(tái)頁面中使用DropDownList控件,羅列 9個(gè)站的站名,當(dāng)需要輸入某個(gè)站的關(guān)停事件時(shí),選擇該站的站名,在后臺(tái)程序中將查詢油井測(cè)井信息表中所有隸屬該站的井,并將該站的井名和有油井類型綁定到頁面的GridView中,各列功能為:

        圖4 關(guān)停事件輸入頁面 Fig.4 Input page of shutdown events

        ②WellName,DGS和Type是從數(shù)據(jù)庫查詢出來后直接綁定無需填寫;

        ③SDtime和Starttime為文本框,用于輸入時(shí)間,通過彈窗方便選取時(shí)間;

        ④XtreeValveClose和SDreason則為下拉菜單,便于填寫;

        ⑤Detailreason為多行文本框。

        3.3.3 ShutdownEventInput前臺(tái)頁面代碼

        3.3.4 ShutdownEventInput后臺(tái)處理

        在后臺(tái)代碼中,當(dāng)點(diǎn)擊提交submit按鈕后,將首先對(duì)各個(gè)checkbox打勾的行所填內(nèi)容進(jìn)行有效性驗(yàn)證,如果不滿足下面條件,則會(huì)在頁面彈出報(bào)警提示用戶:

        ①輸入的 SDtime和 Startime必須符合InputTimeValidation()函數(shù)所規(guī)定的日期格式;

        ②XtreeValveClose和SDreason不能為空;

        ③點(diǎn)擊提交后,通過action.TotalCount()類獲得該站總的井?dāng)?shù);

        ④通過action類的GetWellName()方法,來獲得該站所有井的井名并綁定到GridView。

        3.3.5 ShutdownEventInput頁面后臺(tái)代碼

        3.3.6 Active類的邏輯處理

        后臺(tái)代碼響應(yīng)前臺(tái)頁面請(qǐng)求時(shí),通過傳遞過來的參數(shù)“DGS”名字,查詢數(shù)據(jù)庫中對(duì)應(yīng)站所有的井,并生成列表返回到頁面后臺(tái)代碼中,最后綁定到頁面的GridView。在Action類中,首先定義好查詢SQL數(shù)據(jù)庫的字符串sql語句,以及內(nèi)部形參,然后通過內(nèi)部方法給形參賦值;最終調(diào)用Sqlhelper類中的ExecuteReader()方法獲取油井列表返回給頁面后臺(tái)。Active類代碼如下:

        3.3.7 Sqlhelper類邏輯功能

        Sqlhelper類專門用來處理與數(shù)據(jù)庫之間的數(shù)據(jù)交換,包含5個(gè)方法,分別用來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的讀寫等各種操作:

        ①ExecuteNonQuery()方法,執(zhí)行SQL語句并返回受影響的行數(shù);

        ②ExecuteScalar()方法,執(zhí)行SQL語句并返回查詢結(jié)果集的第一行第一列的內(nèi)容;

        ③ExecuteReader()方法,執(zhí)行SQL語句并返回查詢結(jié)果集;

        ④ExecuteDataTable()方法,執(zhí)行SQL語句并以表的形式返回查詢結(jié)果集;

        ⑤ExecuteProc()方法,執(zhí)行數(shù)據(jù)庫中預(yù)定義的存儲(chǔ)過程,并返回第一行第一列的值,以判斷是否執(zhí)行成功,該方法用作備份數(shù)據(jù)庫使用。

        4 頁面ShutdownEventState的設(shè)計(jì)

        如圖5所示,在關(guān)停事件展示頁中,定義了檢索條件行,可以分別查詢某個(gè)時(shí)間段的所有關(guān)停事件,或者某個(gè)井的關(guān)停事件,以及對(duì)應(yīng)的時(shí)間段內(nèi)按關(guān)停原因分組的生產(chǎn)時(shí)率損失和總時(shí)率。

        圖5 關(guān)停事件展示頁面 Fig.5 Shutdown event state

        同時(shí)在查詢結(jié)果表中,通過按鈕實(shí)現(xiàn)查詢結(jié)果導(dǎo)出到Excel中。由于在Shutdown Event Input頁面中已詳細(xì)介紹了Action和Sqlhelper類的功能,下面的內(nèi)容中將不再贅述。

        如圖6所示,同時(shí)展示了符合查詢時(shí)間的關(guān)停事件的列表,在列表的首列定義了超鏈接,可以打開關(guān)于該事件的詳細(xì)信息。

        圖6 關(guān)停事件列表展示頁 Fig.6 Shutdown event list

        5 結(jié)論

        本文提出了一種時(shí)率統(tǒng)計(jì)方法,通過網(wǎng)站開發(fā)部署和完善,能夠滿足生產(chǎn)需求,從而減輕了數(shù)據(jù)統(tǒng)計(jì)工作量,有效保障數(shù)據(jù)的準(zhǔn)確性,同時(shí)提高了統(tǒng)計(jì)的數(shù)字化水平,便于后期維護(hù)。

        猜你喜歡
        后臺(tái)油井測(cè)井
        本期廣告索引
        八扇區(qū)水泥膠結(jié)測(cè)井儀刻度及測(cè)井?dāng)?shù)據(jù)處理
        中國煤層氣(2021年5期)2021-03-02 05:53:12
        新型油井水泥消泡劑的研制
        一種油井水泥用抗分散絮凝劑
        后臺(tái)暗戀
        前臺(tái)、后臺(tái)精彩花絮停不了
        基于測(cè)井響應(yīng)評(píng)價(jià)煤巖結(jié)構(gòu)特征
        中國煤層氣(2015年4期)2015-08-22 03:28:01
        中石油首個(gè)全國測(cè)井行業(yè)標(biāo)準(zhǔn)發(fā)布
        電力調(diào)度中后臺(tái)監(jiān)控系統(tǒng)的應(yīng)用
        河南科技(2014年11期)2014-02-27 14:10:03
        后臺(tái)
        中國攝影(2013年6期)2013-04-29 21:58:19
        亚洲欧美综合区自拍另类| 99久久免费国产精品2017| 国产亚洲欧美精品一区| 一片内射视频在线观看| 蜜桃高清视频在线看免费1| 欧美亚洲一区二区三区| 亚洲av成人中文无码专区| 3344永久在线观看视频| 久久国产国内精品对话对白| 漂亮的小少妇诱惑内射系列| 精品久久人妻一区二区| 人成综合视频在线播放| 中国少妇内射xxxx狠干| 精品无码国产污污污免费网站| 亚洲先锋影院一区二区| 国产一区二区av在线观看| 亚洲精品午夜久久久九九| 99爱在线精品免费观看| 成人片黄网站色大片免费观看app 亚洲av无码专区亚洲av | 中文字幕一区二区三区喷水| 少妇人妻中文久久综合| 亚洲娇小与黑人巨大交| 国产精品搭讪系列在线观看| 中文字幕精品一区二区日本| 婷婷色精品一区二区激情| 极品少妇小泬50pthepon| 日本五月天婷久久网站| 午夜视频免费观看一区二区| 色欲aⅴ亚洲情无码av蜜桃| 久久国产热精品波多野结衣av | av蜜桃视频在线观看| 99人中文字幕亚洲区三| 中国人妻被两个老外三p| 国产肉体XXXX裸体784大胆| 极品少妇高潮在线观看| 久久久久人妻一区精品| 亚洲人免费| 免费国产自拍视频在线观看| 免费观看a级毛片| 亚洲免费人成在线视频观看| 日本护士一区二区三区高清热线|