<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種支持SAS語言解析與執行的大數據分析方法、裝置及應用與流程

文檔序號:41262813發布日期:2025-03-14 12:41閱讀:13來源:國知局
一種支持SAS語言解析與執行的大數據分析方法、裝置及應用與流程

本申請涉及代碼解析領域,特別涉及一種支持sas語言解析與執行的大數據分析方法、裝置及應用。


背景技術:

1、sas語言是一種用于統計分析和數據處理的編程語言,是由sas軟件研究所開發,在科研、金融、醫療衛生、政府等眾多領域廣泛應用。sas語言能夠高效地處理大規模數據集,進行數據清洗、轉換、合并等操作,例如,在處理海量的金融交易數據時,可以快速地篩選出特定時間段、特定交易類型的數據,并進行格式轉換和整合,為后續的分析提供準確的數據基礎;且涵蓋了各種統計分析方法,如描述性統計、回歸分析、聚類分析、因子分析等,以醫學研究為例,可用于分析患者的臨床數據,通過回歸分析探究疾病與各種因素(如年齡、性別、生活習慣等)之間的關系,為疾病的診斷和治療提供依據,因此在金融領域常被用于風險評估、投資組合分析和市場趨勢預測等場景,在醫療衛生領域常被用于疾病監測、臨床研究和醫療質量評估等場景。

2、sas語言在語法結構上包括用于數據輸入、處理和輸出的數據步(data?step)、提供各種統計分析和數據處理過程的過程步(proc?step)以及用于允許用戶定義和使用宏的宏語言,但是目前市面上僅有sas軟件可以兼容sas語言,導致sas語言的使用受到限制。

3、因此急需一種可對?sas?語言進行轉換執行并實現自由編譯?sas?語言的方案,以滿足海量數據分析的需求。


技術實現思路

1、本申請方案提供一種支持sas語言解析與執行的大數據分析方法、裝置及應用,以解決現有技術中?sas?語言無法被sas軟件以外的軟件兼容和自由編譯的問題,通過對sas語言的解析并結合sas語言實現了海量數據分析。

2、為實現以上目的,第一方面,本方案提供了一種支持sas語言解析與執行的大數據分析方法,包括以下步驟:

3、獲取待運行sas代碼,其中待運行sas代碼由sas語言表示;

4、識別待運行sas代碼中的關鍵詞段并根據關鍵詞段進行分詞處理得到分詞結果,其中針對分詞結果中的宏代碼字段,將mac字段存入系統mac庫中,自定義字段存入自定義mac庫中,其中針對分詞結果中的宏變量,將宏觀變量存入系統宏變量庫中,自定義的局部變量存入自定義宏變量庫中;

5、將分詞結果按照待運行sas代碼的代碼順序逐步放入預運行代碼池中,其中針對分詞結果中的宏代碼字段,從系統mac庫或自定義mac庫中獲取對應的代碼,其中針對分詞結果中的宏變量,從系統宏變量庫或者自定義宏變量庫中獲取變量值;

6、以分號對待運行代碼池中的代碼進行逐句切分得到單句代碼,分析每句代碼的含義以獲取運行方式,當識別到待運行代碼池中再次出現相同功能詞時,執行兩個相同功能詞之間的單句代碼組成的代碼段,并在執行完畢后清除已執行的代碼段;當識別到出現同功能詞對應的結束指令成對出現時,執行所有代碼段,并在執行完畢后清除已執行的代碼段。

7、第二方面,本方案提供了支持sas語言解析與執行的大數據分析平臺,以c++語言編譯進行代碼的執行,包括以下:

8、sas代碼獲取單元,用于獲取待運行sas代碼,其中待運行sas代碼由sas語言表示;

9、分詞單元,用于識別待運行sas代碼中的關鍵詞段并根據關鍵詞段進行分詞處理得到分詞結果,其中針對分詞結果中的宏代碼字段,將mac字段存入系統mac庫中,自定義字段存入自定義mac庫中,其中針對分詞結果中的宏變量,將宏觀變量存入系統宏變量庫中,自定義的局部變量存入自定義宏變量庫中;

10、宏代碼處理單元,用于將分詞結果按照待運行sas代碼的代碼順序逐步放入預運行代碼池中,其中針對分詞結果中的宏代碼字段,從系統mac庫或自定義mac庫中獲取對應的代碼,其中針對分詞結果中的宏變量,從系統宏變量庫或者自定義宏變量庫中獲取變量值;

11、執行單元,用于以分號對待運行代碼池中的代碼進行逐句切分得到單句代碼,分析每句代碼的含義以獲取運行方式,當識別到待運行代碼池中再次出現相同功能詞時,執行兩個相同功能詞之間的單句代碼組成的代碼段,并在執行完畢后清除已執行的代碼段;當識別到出現同功能詞對應的結束指令成對出現時,執行所有代碼段,并在執行完畢后清除已執行的代碼段。

12、第三方面,本方案提供了一種可讀存儲介質,所述可讀存儲介質中存儲有計算機程序,所述計算機程序包括用于控制過程以執行過程的程序代碼,所述過程包括第一方面提到的支持sas語言解析與執行的大數據分析方法。

13、區別于現有技術,本發明的主要貢獻和創新點如下:

14、本方案通過c++語言實現了對sas語言的解析和執行,填補了國內主流數據統計分析軟件在?sas?代碼編譯方面的空白,可在不依托于sas軟件的前提下實現sas的功能,為sas?代碼的應用和遷移提供了可能,打破了對特定?sas?軟件的依賴,拓展了?sas?代碼的使用場景。

15、與現有開源的數據統計分析軟件(如?python/r)相比,本申請的方案能夠有效減少內存占用,克服了硬件配置和代碼效率的部分限制,確保程序在處理海量數據時依然能夠流暢運行,顯著縮短數據處理耗時,提高運行效率,解決了在單機電腦上處理大數據集的技術難題,突破了普通開源統計分析軟件在處理大數據集時的限制(如單個數據集超過10g?時無法打開),可對超過常規大小的大數據集進行打開、編譯和計算操作,極大地拓展了單機數據處理能力。

16、本申請的一個或多個實施例的細節在以下附圖和描述中提出,以使本申請的其他特征、目的和優點更加簡明易懂。



技術特征:

1.一種支持sas語言解析與執行的大數據分析方法,其特征在于,包括以下步驟:

2.根據權利要求1所述的支持sas語言解析與執行的大數據分析方法,其特征在于,在獲取待運行sas代碼后創建臨時文件路徑、調用系統mac庫和系統宏變量庫以及創建自定義mac庫和自定義宏變量庫,系統mac庫中包括預先定義好的宏指令和函數,系統宏變量庫中存儲系統預定義的宏變量。

3.根據權利要求1所述的支持sas語言解析與執行的大數據分析方法,其特征在于,關鍵詞段包括功能詞和宏代碼字段,其中功能詞包括數據定義詞、運算邏輯詞、關鍵字、變量名、字符串以及數字,宏代碼字段以%開頭表示。

4.根據權利要求1所述的支持sas語言解析與執行的大數據分析方法,其特征在于,mac字段包括%macro、%if/%else、%substr和%do,針對于“%if/%else”,當進入宏%macro時,若首次定位到關鍵詞%if,則標記為a=0并逐詞存入詞庫臨時池,如果再次遇到%if,則標記為a+1;若定位到%else?%if時,則a不變;若定位到%else,則判斷a是否為0,當a>0時,則a-1并繼續逐詞存入詞庫臨時池,當a=0時,將詞庫臨時池的內容存入相應的自定義mac庫中macro對應的子macro中并清空詞庫臨時池;

5.根據權利要求1所述的支持sas語言解析與執行的大數據分析方法,其特征在于,自定義字段表示為“%macro?self_mac;...%mend”,當定位到自定義字段時,將?self_mac存入自定義mac庫中,如macro后在%mend之前出現另一個%macro,則需要將第二個macro存入?自定義mac庫的相應的子macro中,子macro中的宏變量需要存入自定義宏變量庫的子宏變量中。

6.根據權利要求1所述的支持sas語言解析與執行的大數據分析方法,其特征在于,識別到“%let?x?=()”,若%let?與=之間有一個分詞,則將=前的分詞與=后的宏變量值存入自定義宏變量庫中,若出現兩個以上分詞則返回報錯。

7.根據權利要求1所述的支持sas語言解析與執行的大數據分析方法,其特征在于,通過libname建立存放執行結果的數據庫同外部數據邏輯庫的鏈接,或者將存放執行結果的數據庫虛擬成外部數據邏輯庫。

8.一種支持sas語言解析與執行的大數據分析平臺,以c++語言編譯進行代碼的執行,其特征在于,包括以下:

9.根據權利要求8所述的支持sas語言解析與執行的大數據分析平臺,其特征在于,通過libname建立外部數據邏輯庫,將存放執行結果的數據庫和支持sas語言解析與執行的大數據分析平臺的一個外部數據邏輯庫關聯起來;或者,將存放執行結果的數據庫地址虛擬到支持sas語言解析與執行的大數據分析平臺中。

10.一種可讀存儲介質,其特征在于,所述可讀存儲介質中存儲有計算機程序,所述計算機程序包括用于控制過程以執行過程的程序代碼,所述過程包括根據權利要求1到7任一所述的支持sas語言解析與執行的大數據分析方法。


技術總結
本申請提出了一種支持SAS語言解析與執行的大數據分析方法、裝置及應用,識別待運行SAS代碼中的關鍵詞段并根據關鍵詞段進行分詞處理得到分詞結果,其中針對分詞結果中的宏代碼字段,將mac字段存入系統mac庫中,自定義字段存入自定義mac庫中,其中針對分詞結果中的宏變量,將宏觀變量存入系統宏變量庫中,自定義的局部變量存入自定義宏變量庫中,將分詞結果按照待運行SAS代碼的代碼順序逐步放入預運行代碼池中;以分號對待運行代碼池中的代碼進行逐句切分得到單句代碼進行執行,在不依賴于SAS軟件的前提下實現對SAS的解析和執行。

技術研發人員:吳思榕,沈紹良
受保護的技術使用者:杭州啟維軟件有限公司
技術研發日:
技術公布日:2025/3/13
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影