国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

地震資料處理Q補(bǔ)償作業(yè)生成軟件開發(fā)與應(yīng)用

2021-09-24 03:36吳顯鳳付喜春王喜平田東升
石油管材與儀器 2021年4期
關(guān)鍵詞:輸入輸出文件名工區(qū)

董 一,吳顯鳳,付喜春,王喜平,田東升

(東方地球物理勘探公司大慶物探研究院 黑龍江 大慶 163357)

0 引 言

按照油田甲方要求,一些地震資料處理工區(qū)在做完去噪處理后還要進(jìn)行表層Q補(bǔ)償處理。目前大慶物探院所使用的Omega、Geocluster軟件由于軟件版本較低,沒有Q補(bǔ)償模塊。Geoeast軟件中雖然有Q補(bǔ)償?shù)哪K,但甲方要求使用QCompensation_Server軟件(以下簡稱Q補(bǔ)償軟件),因此表層Q補(bǔ)償工作必須用該軟件來完成。

Q補(bǔ)償軟件是一款獨(dú)立的專門做表層Q補(bǔ)償?shù)能浖?。處理軟件做完去噪后的?shù)據(jù),用戶需要按照Q補(bǔ)償軟件的要求手動編輯和分發(fā)作業(yè),再將做完表層Q補(bǔ)償后的數(shù)據(jù)用于下一步處理。

Q補(bǔ)償軟件被安裝在1套集群系統(tǒng)的28個計(jì)算節(jié)點(diǎn)上。它是以命令行方式手動分發(fā)作業(yè),每次只能提交一個作業(yè),格式如下:

%rsh 主機(jī)名 Q補(bǔ)償命令 補(bǔ)償因子文件 輸入輸出參數(shù)文件 > 日志文件 &

其中主機(jī)名是安裝了Q補(bǔ)償軟件的主機(jī)IP地址,Q補(bǔ)償命令和補(bǔ)償因子文件兩個參數(shù)同一個工區(qū)固定不變,日志文件記錄運(yùn)行作業(yè)過程中所產(chǎn)生的信息。輸入輸出參數(shù)文件中存放的是輸入數(shù)據(jù)和輸出數(shù)據(jù)的文件名,每個作業(yè)都需要一個輸入輸出參數(shù)文件,一個處理工區(qū)一般拆分成幾百個去噪后的數(shù)據(jù),那就意味著用戶要手工編輯幾百個參數(shù)文件,在命令提示符下發(fā)送幾百次作業(yè)。為了達(dá)到負(fù)載均衡和批量分發(fā)作業(yè)的目的[1],用戶又必須手工編輯腳本文件,把每個命令行寫入腳本,然后一次性執(zhí)行腳本,這就會耗費(fèi)大量的人工時間。因此通過編制相關(guān)功能軟件代替大量的人工操作是非常必要的。

1 技術(shù)方法

1.1 Python編程軟件簡介

Python是一種跨平臺計(jì)算機(jī)程序設(shè)計(jì)語言,是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮某绦蛘Z言。它的特點(diǎn)是語法簡潔、通俗易懂、可擴(kuò)展性好,還可以編寫圖形界面的應(yīng)用程序,主要應(yīng)用于科學(xué)計(jì)算和統(tǒng)計(jì)、人工智能、軟件開發(fā)等領(lǐng)域[2]。

1.2 軟件開發(fā)環(huán)境

基于Linux Redhat操作系統(tǒng),采用Python3來研制Q補(bǔ)償作業(yè)生成軟件,通過其中的Qt C++類庫來對模塊進(jìn)行圖形用戶界面(Graphical User Interface,簡稱 GUI)的設(shè)計(jì)[3],使用PyQt5進(jìn)行開發(fā),再通過Qt Designer設(shè)計(jì)界面,最終開發(fā)出專業(yè)的Python GUI應(yīng)用程序[4]。

1.3 Q補(bǔ)償軟件編輯作業(yè)與分發(fā)原理

由于Q補(bǔ)償軟件針對多個同一類型的數(shù)據(jù)進(jìn)行相同的處理,因此在編輯作業(yè)時存在著普遍規(guī)律性,可以通過軟件實(shí)現(xiàn)自動批量的編輯和分發(fā)作業(yè)的目的。根據(jù)處理用戶的使用習(xí)慣,同一工區(qū)去噪后的數(shù)據(jù)文件均保存在一個目錄下,文件名的前綴相同,僅末尾的序號以連續(xù)且遞增的方式命名,同時也為了方便之后的處理工作,用戶做完表層Q補(bǔ)償后的輸出文件名序號均與輸入文件名相同,僅輸出目錄和前綴有所改變。根據(jù)這個規(guī)律性,即可編輯軟件自動生成輸入輸出參數(shù)文件。

Q補(bǔ)償軟件分發(fā)作業(yè)時的命令格式固定,僅在節(jié)點(diǎn)名、輸入?yún)?shù)文件名、日志文件名有所區(qū)別,因此也可以根據(jù)一個工區(qū)文件名連續(xù)的規(guī)律,編輯軟件實(shí)現(xiàn)自動生成分發(fā)作業(yè)的腳本,再通過軟件批量地分發(fā)作業(yè)。

2 Q補(bǔ)償作業(yè)生成軟件的研制

Q補(bǔ)償作業(yè)生成軟件設(shè)計(jì)主要包含三部分:第一部分通過Qt Designer對軟件的圖形用戶界面進(jìn)行設(shè)計(jì);第二部分通過Python語言生成輸入輸出參數(shù)文件;第三部分通過Python語言及算法生成批量提交表層Q補(bǔ)償作業(yè)的shell腳本,同時實(shí)現(xiàn)通過軟件提交作業(yè)的功能。

2.1 Q補(bǔ)償作業(yè)生成軟件界面設(shè)計(jì)

若要想在Python里使用這個窗體,需要使用PyQt5里的工具軟件pyuic5將ui文件編譯轉(zhuǎn)換為Python語言程序文件。執(zhí)行以下命令完成轉(zhuǎn)換:

%pyuic5-o Q_creator.py Q_creator.ui

Q_creator.py即為Python語言識別的窗體文件。

Qt Designer實(shí)現(xiàn)對Q補(bǔ)償作業(yè)生成軟件界面的設(shè)計(jì)后,還需要實(shí)現(xiàn)從界面上讀取輸入數(shù)據(jù),經(jīng)過算法實(shí)現(xiàn)軟件功能后再將結(jié)果輸出保存為文件的功能。界面與算法功能設(shè)計(jì)方法主要有兩種,一種是多繼承的方法,另一種是單繼承的方法[5],本軟件采用多繼承的方法對程序進(jìn)行設(shè)計(jì),這種設(shè)計(jì)可以使界面上的組件都成為窗體業(yè)務(wù)邏輯類的公共屬性,外界可以直接訪問組件[6]。Qt界面組件都支持信號與槽的功能,每個類都有一些內(nèi)建的信號和槽函數(shù),這里使用的“保存”按鈕所使用的信號即為“clicked()”信號,在按鈕被單擊時發(fā)送這個信號,程序開始執(zhí)行,“提交”按鈕、“關(guān)閉”按鈕也使用了“clicked()”信號[7]。

2.2 Q補(bǔ)償輸入輸出參數(shù)文件的生成

Q補(bǔ)償作業(yè)中必須的輸入輸出參數(shù)文件的生成原理示意如圖1所示:

圖1 輸入輸出參數(shù)文件生成原理圖

從軟件圖形界面的文本框內(nèi),獲取Q補(bǔ)償軟件的輸入文件、輸出文件的物理地址及文件名前綴,例如:/data1/input/sw,/data2/output/sw,同時從文本框中獲取去噪后的文件數(shù)量N,以及輸入輸出文件命名時軟件需要的文件名前綴。輸入文件按照用戶的習(xí)慣文件序號均從0開始,因此軟件定義初始變量i=0,當(dāng)i的數(shù)值小于等于N時,軟件按照Q補(bǔ)償軟件的格式要求,將輸出、輸出文件的路徑、文件名前綴,與i的數(shù)值相結(jié)合,把文件名補(bǔ)齊并寫入輸入輸出參數(shù)文件,再通過獲取的文件名前綴與i的數(shù)值相結(jié)合作為輸入輸出參數(shù)文件名保存到“文件存放目錄”文本框獲得的目錄下[8]。生成一個輸入輸出參數(shù)文件后i的值都會加1,直到生成所有的輸入輸出參數(shù)文件后程序結(jié)束[9]。

2.3 Q補(bǔ)償作業(yè)執(zhí)行文件的生成

在指定目錄下放置一個hosts文件,文件內(nèi)容是正常運(yùn)行Q補(bǔ)償軟件的計(jì)算節(jié)點(diǎn)的IP地址,軟件通過用戶輸入的相應(yīng)參數(shù),根據(jù)Q補(bǔ)償軟件的要求,生成發(fā)送Q補(bǔ)償作業(yè)的命令行,并將命令行循環(huán)均勻分配給host文件中的計(jì)算節(jié)點(diǎn),生成批量分發(fā)Q補(bǔ)償作業(yè)的可執(zhí)行文件。

定義“提交作業(yè)”的函數(shù),在函數(shù)中執(zhí)行分發(fā)Q補(bǔ)償作業(yè)的可執(zhí)行文件,通過圖形界面中的“提交”按鈕激活函數(shù),實(shí)現(xiàn)用戶在軟件上直接分發(fā)Q補(bǔ)償作業(yè)的功能[10]。

3 軟件應(yīng)用效果

Q補(bǔ)償作業(yè)生成軟件需要在安裝了Python3的工作站或服務(wù)器上運(yùn)行。同時為了能夠?qū)崿F(xiàn)提交作業(yè)的功能,工作站需要配置與安裝Q補(bǔ)償軟件的28個計(jì)算節(jié)點(diǎn)rsh互信,且用戶需要有讀寫文件存放目錄的權(quán)限。

在命令提示符下輸入以下命令:%Python Q_creator.py,打開Q補(bǔ)償作業(yè)生成軟件,軟件界面如圖2所示。

圖2 Q補(bǔ)償作業(yè)生成軟件界面圖

用戶在“輸入文件”文本框填寫去噪后數(shù)據(jù)文件物理地址及文件名前綴,在“輸出文件”文本框中填寫Q補(bǔ)償軟件完成后文件存放的的物理地址及文件名的前綴。填寫需要做Q補(bǔ)償?shù)臄?shù)據(jù)文件數(shù)量,輸入輸出參數(shù)文件名的前綴,所有輸入輸出參數(shù)文件需要存放的目錄,Q補(bǔ)償軟件的開發(fā)者為每個工區(qū)提供的“JOB文件”放置的物理地址,LOG文件的前綴名。點(diǎn)擊“保存”按鈕后Q補(bǔ)償作業(yè)生成軟件即可自動編輯出所有Q補(bǔ)償軟件分發(fā)作業(yè)時需要的所有文件。點(diǎn)擊“提交”按鈕后,即可將Q補(bǔ)償作業(yè)負(fù)載均衡地分發(fā)到節(jié)點(diǎn)上進(jìn)行計(jì)算。

4 結(jié)束語

Q補(bǔ)償作業(yè)生成軟件主要實(shí)現(xiàn)了為Q補(bǔ)償軟件自動編輯、分發(fā)作業(yè)的功能。目前已經(jīng)成功應(yīng)用于4個資料處理工區(qū),實(shí)現(xiàn)了快速準(zhǔn)確地對Q補(bǔ)償作業(yè)進(jìn)行批量編輯和提交,節(jié)省了大量的人工操作時間。原來手工編輯、分發(fā)作業(yè)需要3 h左右才能完成的工作,使用地震資料Q補(bǔ)償作業(yè)生成軟件不到5 min即可全部完成,極大地提高了工作效率。這項(xiàng)技術(shù)可推廣應(yīng)用于使用QCompensation_Server軟件做補(bǔ)償?shù)乃泄^(qū)。

猜你喜歡
輸入輸出文件名工區(qū)
納米陶瓷基鋁電解陽極防氧化技術(shù)的工業(yè)應(yīng)用
淺析高速公路養(yǎng)護(hù)工區(qū)布局與標(biāo)準(zhǔn)化建設(shè)
右鍵調(diào)用多重更名更方便
Excel輕松提取文件名
把我的秘密藏起來
輸入輸出理論在大學(xué)英語聽說課堂中的教學(xué)探索
輸入輸出理論在高中英語教學(xué)中的應(yīng)用
輸入輸出視角下高職英語教學(xué)研究
鐵路線上別樣的春節(jié)
基于輸入輸出交互理論的高中英語讀寫課
同仁县| 滨海县| 嘉义县| 沾化县| 永春县| 中山市| 新昌县| 屯门区| 浪卡子县| 太谷县| 秭归县| 顺平县| 剑河县| 微山县| 府谷县| 托克托县| 盐边县| 元江| 隆尧县| 泰州市| 抚州市| 遂昌县| 东山县| 禹州市| 凤台县| 仙居县| 喀喇沁旗| 朝阳县| 潞城市| 古丈县| 当涂县| 莫力| 莱西市| 肃北| 北海市| 涞水县| 平阴县| 西充县| 隆回县| 西平县| 盐亭县|