[發明專利]基于工程造價計算機描述語言BCL的數據分析裝置及生成方法在審
| 申請號: | 201710085144.5 | 申請日: | 2017-02-17 |
| 公開(公告)號: | CN106874000A | 公開(公告)日: | 2017-06-20 |
| 發明(設計)人: | 萬慧建;歐陽強;高超;郝海風;廖成慧;劉國;楊日亮;方澤桔 | 申請(專利權)人: | 江西博微新技術有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F9/45 |
| 代理公司: | 南昌市平凡知識產權代理事務所36122 | 代理人: | 夏材祥 |
| 地址: | 330096 江西*** | 國省代碼: | 江西;36 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 工程造價 計算機 描述 語言 bcl 數據 分析 裝置 生成 方法 | ||
1.一種基于工程造價計算機描述語言BCL的數據分析裝置,其特征在于:
所述裝置是基于工程造價計算描述語言BCL而實現的,包括:計算過程記錄裝置、數據關系建立裝置、記錄信息翻譯裝置以及文件持久化裝置;
所述工程造價計算描述語言BCL,其實現包括:
(1)設計描述具體計算算法規則的代數式及擴展運算表達式結構,即EL表達式;所述EL表達式是對計算算法規則的一個完整描述,以${和}作為起始和結束標記,它在沿襲傳統代數表達式運算特點的同時,支持用于包含多種表達式選擇的條件選擇運算和完成具體計算規則的函數運算在內的其他高級運算功能;與傳統代數運算不同,所述EL表達式包含種類多元化的操作數,支持數值、字符串和變量等類型,其中,變量類型操作數是所述EL表達式支持動態數據掛接的典型體現,其值可以為外部對象的引用,也可以為執行階段設定的具體數據值;
所述條件表達式以#{和}作為起始和結束標記,其內部包含多個條件分支和至多一個缺省條件分支,每個分支對應一個EL表達式,整個條件選擇表達式的取值為當前被激活條件分支對應的EL表達式計算結果,如:
#{
->條件1:EL表達式1;
->條件2:EL表達式2;
->:EL表達式3;
}
所述函數運算定義了具體的計算規則,以滿足工程造價特定計算需求,其語法結構與C語言兼容,并支持BCL的擴展數據類型,除此之外,所述函數的調用還支持把EL表達式作為參數進行輸入,能夠實現指定工程數據范圍與EL表達式的動態綁定,進而減少表達式代碼冗余,語法格式為:
sum(數據源標記,數據源別名,EL表達式);
(2)分析工程造價計算需求,確定除EL表達式以外的其他計算邏輯單元;
通過對造價工程數據及計算算法、過程的總結歸納,得出任何工程的工程造價復雜計算算法都可分解為最小的原子計算邏輯單元,即:EL表達式、宏表、變量、參數、數據源和包,其中,所述宏表能完整的表示一個具有遞歸、多字段、多記錄、有匯總關系的計算規則;所述數據源用于描述一個工程的數據及其數據范圍,它是BCL語言與工程數據的粘合劑,實現真實數據的傳遞;所述變量是包含數據源、數據過濾算法以及費用計算算法規則在內的具體費用計算結構,相較于僅包含具體數值的參數而言,變量的計算有一定的先后次序,更為復雜,但功能強大,所述包為其他原子計算邏輯單元的容器,能劃定計算邏輯單元的作用范圍,屏蔽命名沖突;
(3)分析工程造價計算過程,基于工程造價計算描述語言BCL擴展并確定分析描述語言,具體包括擴展EL表達式、EL表達式數據分析函數及除EL表達式以外的數據分析邏輯單元;
通過對BCL表達式數據計算算法和過程的總結歸納,在數據計算過程中,可將任意復雜計算過程拆分為包含左操作數、右操作數以及操作符的單步運算集合表述;
所述EL表達式邏輯結構表述如下:
EL表達式
->左操作數:EL表達式
->右操作數:EL表達式
->運算符:EL表達式
所述EL表達式邏輯結構中,左操作數、右操作數、操作符均使用EL表達式標識,其作用在于支持傳統的四則運算類型之外,支持其他形式的數據和運算符擴展;
所述EL表達式邏輯結構分析可知,任意形式計算過程可識別為一系列EL表達式的語法樹形式;語法樹表示方式能具體表述數據計算的過程和數據之間關系,通過對數據計算過程和關系信息記錄,配合BCL數據源標記,記錄整個數據計算生命周期的數據、關系以及過程,記錄語法格式如下:
Record(數據源標記,EL表達式,結果值);
所述語法格式中,“EL表達式”可替換為Record語法、EL函數、自定義函數、宏變量以及常量的表述;支持Record語法的嵌套調用,其中,所述EL表達式、變量、參數與工程造價計算語言描述一致;所述數據源標記用于描述一個工程的數據及其數據范圍,它是BCL語言與工程數據的粘合劑,實現真實數據的傳遞;
所述計算過程記錄裝置將數據計算的每一次運算操作及運算結果進行記錄,同時對輸出內容進行簡化和調優,初步形成可追溯的數據信息;
所述數據關系建立裝置是對上述過程記錄信息進行整理,建立過程與過程、過程與數據源,數據源與數據源之間的數據關系,完善可追溯數據信息鏈路,完成數據與信息之間的關系梳理;
所述記錄信息翻譯裝置是將建立關系后的信息進行可視化翻譯,將機器識別或代碼識別信息翻譯為造價人員可識別信息,形成可視化數據信息;
所述文件持久化裝置是將信息轉化為物理文件并記錄到磁盤,完成數據持久化操作;文件持久化裝置可在數據關系建立裝置之后或可在記錄信息翻譯裝置之后執行,可根據需要,進行使用時翻譯或記錄時翻譯的選擇。
2.一種基于工程造價計算描述語言BCL的數據分析生成方法,其特征在于:所述方法是基于工程造價計算描述語言BCL而實現的;
所述工程造價計算描述語言BCL,其實現包括:
(1)設計描述具體計算算法規則的代數式及擴展運算表達式結構,即EL表達式;所述EL表達式是對計算算法規則的一個完整描述,以${和}作為起始和結束標記,它在沿襲傳統代數表達式運算特點的同時,支持用于包含多種表達式選擇的條件選擇運算和完成具體計算規則的函數運算在內的其他高級運算功能;與傳統代數運算不同,所述EL表達式包含種類多元化的操作數,支持數值、字符串和變量等類型,其中,變量類型操作數是所述EL表達式支持動態數據掛接的典型體現,其值可以為外部對象的引用,也可以為執行階段設定的具體數據值;
所述條件表達式以#{和}作為起始和結束標記,其內部包含多個條件分支和至多一個缺省條件分支,每個分支對應一個EL表達式,整個條件選擇表達式的取值為當前被激活條件分支對應的EL表達式計算結果,如:
#{
->條件1:EL表達式1;
->條件2:EL表達式2;
->:EL表達式3;
}
所述函數運算定義了具體的計算規則,以滿足工程造價特定計算需求,其語法結構與C語言兼容,并支持BCL的擴展數據類型,除此之外,所述函數的調用還支持把EL表達式作為參數進行輸入,能夠實現指定工程數據范圍與EL表達式的動態綁定,進而減少表達式代碼冗余,語法格式為:
sum(數據源標記,數據源別名,EL表達式);
(2)分析工程造價計算需求,確定除EL表達式以外的其他計算邏輯單元;
通過對造價工程數據及計算算法、過程的總結歸納,得出任何工程的工程造價復雜計算算法都可分解為最小的原子計算邏輯單元,即:EL表達式、宏表、變量、參數、數據源和包,其中,所述宏表能完整的表示一個具有遞歸、多字段、多記錄、有匯總關系的計算規則;所述數據源用于描述一個工程的數據及其數據范圍,它是BCL語言與工程數據的粘合劑,實現真實數據的傳遞;所述變量是包含數據源、數據過濾算法以及費用計算算法規則在內的具體費用計算結構,相較于僅包含具體數值的參數而言,變量的計算有一定的先后次序,更為復雜,但功能強大,所述包為其他原子計算邏輯單元的容器,能劃定計算邏輯單元的作用范圍,屏蔽命名沖突;
(3)分析工程造價計算過程,基于工程造價計算描述語言BCL擴展并確定分析描述語言,具體包括擴展EL表達式、EL表達式數據分析函數及除EL表達式以外的數據分析邏輯單元;
通過對BCL表達式數據計算算法和過程的總結歸納,在數據計算過程中,可將任意復雜計算過程拆分為包含左操作數、右操作數以及操作符的單步運算集合表述;
所述EL表達式邏輯結構表述如下:
EL表達式
->左操作數:EL表達式
->右操作數:EL表達式
->運算符:EL表達式
所述EL表達式邏輯結構中,左操作數、右操作數、操作符均使用EL表達式標識,其作用在于支持傳統的四則運算類型之外,支持其他形式的數據和運算符擴展;
所述EL表達式邏輯結構分析可知,任意形式計算過程可識別為一系列EL表達式的語法樹形式;語法樹表示方式能具體表述數據計算的過程和數據之間關系,通過對數據計算過程和關系信息記錄,配合BCL數據源標記,記錄整個數據計算生命周期的數據、關系以及過程,記錄語法格式如下:
Record(數據源標記,EL表達式,結果值);
所述語法格式中,“EL表達式”可替換為Record語法、EL函數、自定義函數、宏變量以及常量的表述;支持Record語法的嵌套調用,其中,所述EL表達式、變量、參數與工程造價計算語言描述一致;所述數據源標記用于描述一個工程的數據及其數據范圍,它是BCL語言與工程數據的粘合劑,實現真實數據的傳遞;
所述數據分析生成方法步驟如下:
第一步:編制BCL腳本文件;
依據工程造價計算描述語言BCL編制符合其語法規則的數據計算過程;
第二步:加載BCL腳本,對BCL腳本進行詞法分析,生成EL表達式;
(1)依據工程造價計算描述語言BCL腳本解析裝置,對BCL腳本進行詞法、語法的解析;
(2)創建相應BCL對象,并關聯經語法分析后得到的BCL語法樹;
(3)通過對生成的BCL對象進行分析,獲取待計算BCL語法樹對象;
第三步:解釋執行當前BCL語法樹,按照后序遍歷的方式處理語法樹中的結點,并且對第二步中生成的EL表達式對象進行信息記錄,直至全部BCL語法樹執行完畢;
該過程涉及到的處理包括:
(1)若當前結點為傳統代數運算符結點,則分別計算并獲取左右結點值,作為左右操作數,進行代數運算,并將運算結果值作為當前結點的值;
(2)若當前結點為引用變量結點,則將該結點對應的外部引用對象的值作為當前結點的結果值;
(3)若當前結點為函數參數EL表達式結點,則忽略計算該結點及其左右子樹,待執行相應函數時,再進行計算;
(4)若當前結點為函數結點,則利用函數注冊器,匹配并執行相應函數;
(5)若當前結點為未知變量結點,則匹配并設置為當前運行上下文中數據源的屬性值;
(6)對產生結果值的運算節點進行數據信息記錄,最終形成可視化數據分析模型;
第四步:對記錄信息進行簡化和調優;
該過程涉及的處理包括:
(1)對信息進行篩選和整理,合并冗余信息,排除干擾信息;
(2)對漢字進行信息替換,并形成文字信息對照表;
中文漢字采用雙字節處理,出現中文漢字的文件必須以Unicode格式進行存儲,文件大小會比英文和字符文件增加一倍,對信息中漢字進行簡詞描述可以有效的降低物理磁盤占用量;同時為了保證信息的可讀性,對應輸出一套信息對照表,用以支持信息還原;
第五步:建立數據源標識與過程信息的數據關系;
該過程涉及的處理包括:
(1)若當前節點函數節點,則讀取數據源對象的唯一標識,記錄標識屬性,建立數據源標識與過程信息之間關聯關系;
(2)若當前節點為非函數節點,利用節點上下文,建立過程信息之間關聯關系;
第六步:對過程信息進行翻譯處理;
信息翻譯是建立信息可視化的第一步,翻譯過程包括語義翻譯以及義原詞語翻譯,具體描述如下:
所述語義翻譯是將零散和不直觀的信息進行整合,形成具有一定語法含義的語句;
所述義原詞語翻譯是將機器識別名稱進行中文詞語翻譯,如:求和(Sum),截位(Round);
第七步:對過程信息進行持久化操作,流程結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江西博微新技術有限公司,未經江西博微新技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710085144.5/1.html,轉載請聲明來源鉆瓜專利網。





