軟體系統生成油氣儲量報告的方法
2023-07-01 12:59:51 1
軟體系統生成油氣儲量報告的方法
【專利摘要】一種能夠生成油氣儲量報告的方法,這種方法定義一個用於存儲儲量報告的文件結構,軟體系統對生成的儲量報告的文件結構的各個元素進行解釋並將解釋的結果在輸出設備上輸出。該文件結構中含有靜態和動態的文字、圖形、表格和屬性元素,同時動態的圖形、表格、文字結構含有對應用程式數據的連結,這樣便可實現儲量報告的實時更新。當軟體系統要生成顯示儲量報告時,則對存儲儲量報告的文件結構的各個元素進行解釋,然後將儲量報告的結果呈現在相應的輸出設備上用於各項工作的進行與分析。這種生成儲量報告的方法,大大提高了軟體的可用性和適應性。
【專利說明】軟體系統生成油氣儲量報告的方法
【技術領域】
[0001]本發明涉及油氣儲量評估類計算機軟體的油氣儲量報告的生成,尤其適用於圖形,表格,數值多變的情形的儲量報告的生成。
【背景技術】
[0002]隨著石油天然氣勘探行業的快速發展,國內外研發出了各種油氣分析的計算機軟體。這些軟體系統可以生成各種成果圖表用於儲量的分析與計算,給石油勘探工作帶來了便利,但是這些軟體在生成儲量報告的功能模塊上或多或少都還存在著不足之處。比如國內的卡奔石油類軟體,要想得到一份完整的儲量報告,只能將過程中產生的成果圖表嵌入word或excel中,再經過人工整理形成所需的報告結果。再如索特石油軟體,雖然相關功能比較強大,形成了專門的報告子系統,實現了報告定製,分析處理,報告編輯等功能,但是,在實際的工作當中,工作人員可能隨時編輯修改中間結果、成果圖表,但儲量報告並沒有更新,必須手動逐一更改所變化的數據及圖表。這種由於成果圖表及各種數據的更改而導致原儲量報告不能實時更新的情況,會給實際的工作帶來很大的麻煩和困擾。
【發明內容】
[0003]為了解決由於成果圖表及各種數據的更改而導致軟體系統的輸出設備上呈現的儲量報告並非最新的問題,本發明提供一種軟體系統生成油氣儲量報告的方法,該方法可實現儲量報告中各動態組成元素的實施更新。
[0004]本發明解決其技術問題所採用的技術方案是:
[0005]A:定義一個用於存儲儲量報告的文件結構,結構中含有靜態和動態的文字、圖形、表格和屬性元素,動態的圖形、表格、文字結構含有對應用程式數據的連結,使最終產生的儲量報告中的圖形、表格、文字能隨程序處理結果的變化而變化。
[0006]B:通過一個程序對生成的符合儲量報告文件結構的文件的各個元素進行解釋並在輸出設備上輸出。
[0007]本發明的有益效果是:用戶多次更改成果圖表時,仍可方便的獲取最新的油氣儲量報告,較好地解決了由於成果圖表及各種數據的更改而導致原儲量報告失效的問題。
【具體實施方式】
[0008]本發明實施例提供了一種軟體系統生成儲量報告的方法,下面對該方法做一下具體的解釋。
[0009]為了理解本實施例,首先對儲量報告的文件結構的具體內容做一下詳細的闡述:儲量報告的結構文件的類型為二進位文件,後綴名可規定為」.rep 」,文件的內容主要由文件頭和若干個對象結構組成。對象主要分為動態和靜態兩大類型。該實施例主要針對以下六種對象結構進行解釋:靜態文本對象,動態文本對象,靜態圖片對象,動態圖片對象,靜態表格對象,動態表格對象。[0010]文件頭的結構為:
[0011 ]TypeDef Struct
[0012]{ int nHeadLen ;
[0013]int nMark ;
[0014]int nVersion ;
[0015]} FileHead ;
[0016]其中nHeadLen為文件頭的長度;
[0017]nMark:為儲量報告文件結構的標識,用於程序識別正確的儲量報告文件,比如:1234567,若標識正確,則程序讀取該文件結構;
[0018]nVersion:代表儲量報告的版本號,比如:00000010,在程序解析文件結構時,若報告文檔版本較新,而當前程序版本較低,則不解析該文件結構;
[0019]靜態文本的結構為:
[0020]TypeDef Struct
[0021]{int nObjectLen ;
[0022]int nType ;
[0023]int nStaticTextLen ;
[0024]byte byTextBuffer[nStaticTextLen];
[0025]} Static-Text ;
[0026]nObjectLen:代表靜態文本對象的長度;
[0027]nType:代表要輸出的對象的類型:
[0028]O代表靜態文本
[0029]I代表動態文本
[0030]2代表靜態圖片
[0031]3代表動態圖片
[0032]4代表靜態表格
[0033]5代表動態表格
[0034]此處:nType= O ;
[0035]nStaticTextLen:代表文本的長度;
[0036]byte byTextBuffer [nStaticTextLen]:代表靜態文本;
[0037]動態文本的結構為:
[0038]TypeDef Struct
[0039]{int nObjectLen ;
[0040]int nType ;
[0041]int nTextLinkLen ;
[0042]byte byTextLink[nTextLinkLen];
[0043]int nTextDefLen ;
[0044]byte byDefText[nTextDefLen];
[0045]} Dynamic-Text ;
[0046]nObjectLen:為動態文本對象的長度;[0047]nType在該對象結構中值為I ;
[0048]nTextLinkLen:為動態文本連結的長度;
[0049]byte byTextLink [nTextLinkLen]:代表動態文本的連結,連結可以為全局變量或者變量表達式,例:連結可以是〃Globall+Global2"(其中Globall和Global2均為全局
變量);
[0050]nTextDefLen:代表默認的文本內容的長度;
[0051]byte byDefText [nTextDefLen]:存儲默認的文本內容,當程序解析文件結構時,若連結無效,則將存儲的內容取出作為輸出到輸出設備的內容;
[0052]靜態圖片的結構為:
[0053]TypeDef Struct
[0054]{int nObjectLen ;
[0055]int nType ;
[0056]int nStaticImageLen ;
[0057]byte bylmageBuffer[nStaticImageLen];
[0058]} Static-1mage ;
[0059]nObjectLen:代表靜態圖片對象的長度;
[0060]nType:在該對象結構中值為2 ;
[0061]nStaticImageLen:為靜態圖片的數據長度;
[0062]byte bylmageBuffer [nStaticImageLen]:代表靜態圖片的內容;
[0063]動態圖片的結構為:
[0064]TypeDef Struct
[0065]{int nObjectLen ;
[0066]int nType ;
[0067]int nlmageLinkLen ;
[0068]byte bylmageLink[nlmageLinkLen];
[0069]int nlmageDefLen ;
[0070]byte byDefImage[nlmageDefLen];
[0071]} Dynamic-1mage ;
[0072]nObjectLen:代表動態圖片對象的長度;
[0073]nType:在該對象結構中值為3 ;
[0074]nlmageLinkLen:代表圖片連結的長度;
[0075]byte bylmageLink [nlmageLinkLen]:為圖片的連結;
[0076]nlmageDefLen:代表默認的圖片的長度;
[0077]byte byDef Image [nlmageDefLen]:存儲默認的圖片的內容,當程序解析文件結構時,若連結無效,則將存儲的內容取出作為輸出到輸出設備的內容;
[0078]靜態表格的結構為:
[0079]TypeDef Struct
[0080]{int nObj ectLen ;
[0081]int nType ;[0082]int nStaticTableLen ;
[0083]Byte byTableBuffer[nStaticTableLen];
[0084]} Static-1 able ;
[0085]nObjectLen:為靜態表格對象結構的長度;
[0086]nType:在該對象結構中值為4 ;
[0087]nStaticTableLen:代表靜態表格數據的長度;
[0088]Byte byTableBuffer [nStaticTableLen]:代表靜態表格的內容;
[0089]動態表格的結構為:
[0090]TypeDef Struct
[0091]{int nObjectLen ;
[0092]int nType ;
[0093]int nTableLinkLen ;
[0094]byte byTableLink[nTableLinkLen];
[0095]int nTableDefLen ;
[0096]byte byDefTable[nTableDefLen];
[0097]}Dynamic-Table ;
[0098]nObjectLen:為動態表格對象結構的長度;
[0099]nType:在該對象結構中值為5 ;
[0100]nTableLinkLen:代表動態表格連結的長度;
[0101]byte byTableLink [nTableLinkLen]:為動態表格的連結;
[0102]nTableDefLen:代表默認的表格的內容的長度;
[0103]byte byDefTable [nTableDefLen]:存儲默認的表格的內容,程序解析文件結構時,若連結無效,則將存儲的內容取出作為輸出到輸出設備的內容;
[0104]上述為儲量報告六種對象元素的控制結構,程序對相應的文件結構進行解析並將對應的儲量報告顯示在輸出設備上。具體的方法實施者可根據實際需要去定義文件結構的對象元素從而對儲量報告的內容進行相應的控制,比如:在靜態文本結構中,可以定義一些屬性元素,對文本的字體,字號,顏色等屬性進行設置。
[0105]有了以上文件結構後,儲量報告的生成方法如下:
[0106]A:通過人機互動方法產生一個符合以上文件結構的文件;
[0107]B:軟體的程序對文件結構的各元素進行解釋,靜態的部分直接呈現在儲量報告中,動態的內容則通過動態的結構含有的連結去對應獲取系統中的數據元素;
[0108]C:如果當前動態對象的連結無效,則由文件中默認的數據取代。
[0109]以上所述,僅為本發明的一個具體的實施方式,但本發明的保護範圍並不局限於此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應該以權利要求的保護範圍為準。
【權利要求】
1.一種生成油氣儲量報告的方法,其特徵在於: A.定義一個用於存儲儲量報告的文件結構,結構中含有靜態和動態的文字、圖形、表格和屬性元素,動態的圖形、表格、文字結構含有對應用程式數據的連結,使最終產生的儲量報告中的圖形、表格、文字能隨程序處理結果的變化而變化。 B.通過一個程序對生成的符合儲量報告文件結構的文件的各個元素進行解釋並在輸出設備上輸出。
2.根據權利要求1的方法,其特徵在於,儲量報告的文件結構中含有程序中的變量和變量表達式,使最終儲量報告中的一些數據能隨處理結果的變化而變化。
3.根據權利要求1的方法,其特徵在於,當動態的圖形、表格、文字結構含有的對應用程式數據的連結在輸出設備上輸出時,如果連結不存在或暫時不工作,這些連接的數據將最近一次有效連接時的數據值做為默認值。
【文檔編號】G06F17/30GK103530422SQ201310530158
【公開日】2014年1月22日 申請日期:2013年11月1日 優先權日:2013年11月1日
【發明者】楊春生, 劉國強, 安國雙, 胡春美 申請人:北京金山頂尖科技股份有限公司