本技術涉及計算機,尤其涉及一種數據處理方法、裝置以及存儲介質。
背景技術:
1、在采用編程語言進行編程過程中,會采用類型特化進行代碼的優化,即在數據執行之前不需要做類型判斷,直接調用對應的執行函數從而達到優化的過程。
2、一般,類型特化的過程,可以通過擴展語法支持類型標注,即通過人工標注的類型信息實現類型特化。
3、但是,隨著代碼規模的擴大,人工標注類型信息的過程需要耗費大量的時間,影響類型特化過程中數據處理的效率。
技術實現思路
1、有鑒于此,本技術提供一種數據處理方法,可以有效提高類型特化過程中數據處理的效率。
2、本技術第一方面提供一種數據處理方法,可以應用于終端設備中包含數據處理功能的系統或程序中,具體包括:
3、獲取目標程序在數據交互過程中對應的數據表,所述目標程序用于編程語言的編輯;
4、確定所述數據表所指示的元數據,以根據所述元數據確定所述數據表中執行數據所對應的數據類型信息;
5、根據所述數據類型信息對所述目標程序在數據交互過程中對應的交互變量信息進行標記,以得到標記變量信息;
6、對所述目標程序對于所述編程語言的編譯過程進行解析,以生成用于解釋執行的第一字節碼;
7、基于所述標記變量信息對所述第一字節碼進行類型特化,以得到第二字節碼,所述第二字節碼用于支持所述目標程序的運行。
8、可選的,在本技術一些可能的實現方式中,所述確定所述數據表所指示的元數據,以根據所述元數據確定所述數據表中執行數據所對應的數據類型信息,包括:
9、確定所述數據表中的主要信息表;
10、基于所述主要信息表執行查詢命令,以打印所述主要信息表對應的元數據;
11、根據所述元數據確定所述數據表中執行數據所對應的數據類型信息。
12、可選的,在本技術一些可能的實現方式中,所述確定所述數據表所指示的元數據,以根據所述元數據確定所述數據表中執行數據所對應的數據類型信息,包括:
13、獲取所述目標程序在數據交互過程中所采用的的數據操作框架信息;
14、確定所述數據操作框架信息中指示的數據讀寫接口;
15、通過所述數據讀寫接口獲取所述數據表所指示的元數據,以根據所述元數據確定所述數據表中執行數據所對應的數據類型信息。
16、可選的,在本技術一些可能的實現方式中,所述方法還包括:
17、將所述數據操作框架信息與所述目標程序進行關聯,以得到框架調用表;
18、響應于所述目標程序對應編輯操作的執行,調用所述框架調用表;
19、基于所述框架調用表確定所述目標程序中所述數據表的執行數據所對應的數據類型信息。
20、可選的,在本技術一些可能的實現方式中,所述方法還包括:
21、響應于所述目標程序的類型參考信息輸入,獲取所述類型參考信息中指示所述目標程序中所述數據表的執行數據所對應的參考類型信息;
22、基于所述參考類型信息確定所述目標程序中所述數據表的執行數據所對應的數據類型信息。
23、可選的,在本技術一些可能的實現方式中,所述基于所述標記變量信息對所述第一字節碼進行類型特化,以得到第二字節碼,包括:
24、基于所述標記變量信息對所述第一字節碼中的第一列數據進行類型標記,以得到第一標記數據;
25、獲取所述第一列數據對應的數據流關聯信息;
26、根據所述數據流關聯信息對所述第一列數據關聯的第二列數據進行類型標記,以得到第二標記數據;
27、基于所述第一標記數據和所述第二標記數據對所述第一字節碼進行類型特化,以得到所述第二字節碼。
28、可選的,在本技術一些可能的實現方式中,所述數據處理方法應用于虛擬機,所述編程語言為動態類型語言,所述方法還包括:
29、響應于針對于所述虛擬機的語言編輯指令,獲取所述虛擬機執行的目標程序中的執行變量;
30、基于所述數據類型數據確定所述執行變量的數據類型,以調用匹配于數據類型的目標函數;
31、基于所述目標函數執行所述動態類型語言對應的目標程序的指令。
32、本技術第二方面提供一種數據處理裝置,包括:
33、獲取單元,用于獲取目標程序在數據交互過程中對應的數據表,所述目標程序用于編程語言的編輯;
34、確定單元,用于確定所述數據表所指示的元數據,以根據所述元數據確定所述數據表中執行數據所對應的數據類型信息;
35、處理單元,用于根據所述數據類型信息對所述目標程序在數據交互過程中對應的交互變量信息進行標記,以得到標記變量信息;
36、所述處理單元,還用于對所述目標程序對于所述編程語言的編譯過程進行解析,以生成用于解釋執行的第一字節碼;
37、所述處理單元,還用于基于所述標記變量信息對所述第一字節碼進行類型特化,以得到第二字節碼,所述第二字節碼用于支持所述目標程序的運行。
38、可選的,在本技術一些可能的實現方式中,所述確定單元,具體用于確定所述數據表中的主要信息表;
39、所述確定單元,具體用于基于所述主要信息表執行查詢命令,以打印所述主要信息表對應的元數據;
40、所述確定單元,具體用于根據所述元數據確定所述數據表中執行數據所對應的數據類型信息。
41、可選的,在本技術一些可能的實現方式中,所述確定單元,具體用于獲取所述目標程序在數據交互過程中所采用的的數據操作框架信息;
42、所述確定單元,具體用于確定所述數據操作框架信息中指示的數據讀寫接口;
43、所述確定單元,具體用于通過所述數據讀寫接口獲取所述數據表所指示的元數據,以根據所述元數據確定所述數據表中執行數據所對應的數據類型信息。
44、可選的,在本技術一些可能的實現方式中,所述確定單元,具體用于將所述數據操作框架信息與所述目標程序進行關聯,以得到框架調用表;
45、所述確定單元,具體用于響應于所述目標程序對應編輯操作的執行,調用所述框架調用表;
46、所述確定單元,具體用于基于所述框架調用表確定所述目標程序中所述數據表的執行數據所對應的數據類型信息。
47、可選的,在本技術一些可能的實現方式中,所述確定單元,具體用于響應于所述目標程序的類型參考信息輸入,獲取所述類型參考信息中指示所述目標程序中所述數據表的執行數據所對應的參考類型信息;
48、所述確定單元,具體用于基于所述參考類型信息確定所述目標程序中所述數據表的執行數據所對應的數據類型信息。
49、可選的,在本技術一些可能的實現方式中,所述處理單元,具體用于基于所述標記變量信息對所述第一字節碼中的第一列數據進行類型標記,以得到第一標記數據;
50、所述處理單元,具體用于獲取所述第一列數據對應的數據流關聯信息;
51、所述處理單元,具體用于根據所述數據流關聯信息對所述第一列數據關聯的第二列數據進行類型標記,以得到第二標記數據;
52、所述處理單元,具體用于基于所述第一標記數據和所述第二標記數據對所述第一字節碼進行類型特化,以得到所述第二字節碼。
53、可選的,在本技術一些可能的實現方式中,所述數據處理方法應用于虛擬機,所述編程語言為動態類型語言,所述處理單元,具體用于響應于針對于所述虛擬機的語言編輯指令,獲取所述虛擬機執行的目標程序中的執行變量;
54、所述處理單元,具體用于基于所述數據類型數據確定所述執行變量的數據類型,以調用匹配于數據類型的目標函數;
55、所述處理單元,具體用于基于所述目標函數執行所述動態類型語言對應的目標程序的指令。
56、本技術第三方面提供一種計算機設備,包括:存儲器、處理器以及總線系統;所述存儲器用于存儲程序代碼;所述處理器用于根據所述程序代碼中的指令執行上述第一方面或第一方面任一項所述的數據處理方法。
57、本技術第四方面提供一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,當其在計算機上運行時,使得計算機執行上述第一方面或第一方面任一項所述的數據處理方法。
58、根據本技術的一個方面,提供了一種計算機程序產品或計算機程序,該計算機程序產品或計算機程序包括計算機指令,該計算機指令存儲在計算機可讀存儲介質中。計算機設備的處理器從計算機可讀存儲介質讀取該計算機指令,處理器執行該計算機指令,使得該計算機設備執行上述第一方面或者第一方面的各種可選實現方式中提供的數據處理方法。
59、從以上技術方案可以看出,本技術實施例具有以下優點:
60、通過獲取目標程序在數據交互過程中對應的數據表,該目標程序用于編程語言的編輯;然后確定數據表所指示的元數據,以根據元數據確定數據表中執行數據所對應的數據類型信息;進一步根據數據類型信息對目標程序在數據交互過程中對應的交互變量信息進行標記,以得到標記變量信息;然后對目標程序對于編程語言的編譯過程進行解析,以生成用于解釋執行的第一字節碼;進而基于標記變量信息對第一字節碼進行類型特化,以得到第二字節碼,該第二字節碼用于支持目標程序的運行。從而實現高效的類型特化過程,由于采用數據交互過程中的元數據進行數據類型的標記,進行類型特化的字節碼更新,更新后的字節碼無需對變量類型進行逐一編碼查詢,提高了字節碼在執行時的數據處理效率。