最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

數(shù)據(jù)處理方法及裝置、電子設備及存儲介質(zhì)與流程

文檔序號:41954638發(fā)布日期:2025-05-16 14:20閱讀:7來源:國知局
數(shù)據(jù)處理方法及裝置、電子設備及存儲介質(zhì)與流程

本公開涉及信息,尤其涉及一種數(shù)據(jù)處理方法及裝置、電子設備及存儲介質(zhì)。


背景技術(shù):

1、wasm(webassembly)是一種新的字節(jié)碼格式,其編譯的代碼指令體積小、可移植、加載快并且可以兼容網(wǎng)頁(web)。隨著計算機技術(shù)的不斷發(fā)展,wasm的應用領(lǐng)域從web應用發(fā)展到在wasm對應的虛擬機(vm?virtual?machine)中加載運行。虛擬機用于指示軟件模擬的、具備完整硬件系統(tǒng)功能并運行在隔離環(huán)境下的完整計算機系統(tǒng);虛擬機包括系統(tǒng)虛擬機(vmwave)和程序虛擬機(jvm虛擬機)。

2、通過wasm虛擬機中的wasm程序?qū)ative函數(shù)進行調(diào)用時,需要對native函數(shù)進行編譯并注冊至wasm虛擬機。通常,不同native函數(shù)依賴的wasm程序不同,需要對每個native函數(shù)單獨編譯并注冊,存在函數(shù)調(diào)用步驟繁瑣、程序的運行性能相對較差的問題。并且,對每個被調(diào)用的native函數(shù)單獨注冊,注冊信息較多,需要占用較多的內(nèi)存資源。


技術(shù)實現(xiàn)思路

1、本公開實施例公開了一種數(shù)據(jù)處理方法及裝置、電子設備及存儲介質(zhì)。

2、根據(jù)本公開實施例的第一方面,提供一種數(shù)據(jù)處理方法,應用于wasm虛擬機中,所述方法包括:

3、在wasm程序的運行過程中,獲取對native函數(shù)的函數(shù)調(diào)用信息;其中,所述函數(shù)調(diào)用信息中包括函數(shù)索引信息和函數(shù)參數(shù)信息;

4、響應于在所述wasm程序的運行過程中檢測到對通用函數(shù)的調(diào)用指令,利用所述通用函數(shù)確定所述函數(shù)索引信息對應的目標函數(shù)簽名;其中,所述目標函數(shù)簽名中包括待調(diào)用的目標naitve函數(shù)的函數(shù)指針;

5、利用所述通用函數(shù)根據(jù)所述目標函數(shù)簽名以及所述第一函數(shù)參數(shù)信息,調(diào)用所述函數(shù)指針所指向的所述目標naitve函數(shù)。

6、在一些實施例中,所述方法還包括:

7、在所述wasm程序的編譯過程中,根據(jù)所述wasm程序待調(diào)用的各native函數(shù)的函數(shù)信息生成函數(shù)對應的函數(shù)簽名,并為所述函數(shù)簽名分配函數(shù)索引信息;

8、在所述wasm程序的注冊過程中,將所述通用函數(shù)、各函數(shù)簽名以及函數(shù)簽名對應的函數(shù)索引信息進行關(guān)聯(lián)注冊;

9、所述響應于在所述wasm程序的運行過程中檢測到對通用函數(shù)的調(diào)用指令,利用所述通用函數(shù)確定所述函數(shù)索引信息對應的目標函數(shù)簽名,包括:

10、響應于在所述wasm程序的運行過程中檢測到對所述通用函數(shù)的所述調(diào)用指令,利用所述通用函數(shù)根據(jù)關(guān)聯(lián)注冊的信息確定所述函數(shù)調(diào)用信息中的函數(shù)索引信息對應的所述目標函數(shù)簽名。

11、在一些實施例中,所述根據(jù)所述wasm程序待調(diào)用的各native函數(shù)的函數(shù)信息生成函數(shù)對應的函數(shù)簽名,包括:

12、將所述wasm程序待調(diào)用的各native函數(shù)的函數(shù)信息存儲于預設數(shù)據(jù)結(jié)構(gòu)中;

13、基于所述預設數(shù)據(jù)結(jié)構(gòu)中native函數(shù)對應的函數(shù)信息,生成native函數(shù)對應的函數(shù)簽名。

14、在一些實施例中,所述函數(shù)參數(shù)信息包括關(guān)聯(lián)參數(shù)類型的參數(shù)值,所述目標函數(shù)簽名中還包括待調(diào)用的所述目標native函數(shù)的入?yún)㈩愋鸵约叭雲(yún)㈨樞颍?/p>

15、所述利用所述通用函數(shù)根據(jù)所述目標函數(shù)簽名以及所述函數(shù)參數(shù)信息,調(diào)用所述函數(shù)指針所指向的所述目標native函數(shù),包括:

16、利用所述通用函數(shù)根據(jù)所述入?yún)㈩愋秃退鋈雲(yún)㈨樞?,將所述參?shù)值賦給所述函數(shù)指針所指向的所述目標native函數(shù)。

17、在一些實施例中,所述利用所述通用函數(shù)根據(jù)所述目標函數(shù)簽名以及所述函數(shù)參數(shù)信息,調(diào)用所述函數(shù)指針所指向的所述目標native函數(shù),包括:

18、利用所述通用函數(shù)分別對所述目標函數(shù)簽名以及所述函數(shù)參數(shù)信息進行格式轉(zhuǎn)換,得到適用于所述native函數(shù)運行的編碼格式的函數(shù)簽名,以及適用于所述native函數(shù)運行的編碼格式的函數(shù)參數(shù)信息;

19、利用所述通用函數(shù)根據(jù)格式轉(zhuǎn)換后的函數(shù)簽名以及函數(shù)參數(shù)信息,調(diào)用所述函數(shù)指針所指向的所述目標native函數(shù)。

20、在一些實施例中,所述方法還包括:

21、利用所述通用函數(shù)對基于調(diào)用所述目標naitve函數(shù)得到的運行結(jié)果進行格式轉(zhuǎn)換,得到適用于所述wasm程序的運行結(jié)果。

22、在一些實施例中,所述將所述wasm程序待調(diào)用的各native函數(shù)的函數(shù)信息存儲于預設數(shù)據(jù)結(jié)構(gòu)中,包括:

23、將各native函數(shù)的函數(shù)信息分別存儲于所述預設數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)子結(jié)構(gòu)中;其中,一個所述native函數(shù)的函數(shù)信息對應一個所述數(shù)據(jù)子結(jié)構(gòu);

24、所述基于所述預設數(shù)據(jù)結(jié)構(gòu)中native函數(shù)對應的函數(shù)信息,生成native函數(shù)對應的函數(shù)簽名,包括:

25、分別對各數(shù)據(jù)子結(jié)構(gòu)中的函數(shù)信息進行編碼,生成native函數(shù)對應的函數(shù)簽名。

26、根據(jù)本公開實施例的第二方面,提供一種數(shù)據(jù)處理裝置,所述裝置包括:

27、獲取模塊,用于在wasm程序的運行過程中,獲取對native函數(shù)的函數(shù)調(diào)用信息;其中,所述函數(shù)調(diào)用信息中包括函數(shù)索引信息和函數(shù)參數(shù)信息;

28、確定模塊,用于響應于在所述wasm程序的運行過程中檢測到對通用函數(shù)的調(diào)用指令,利用所述通用函數(shù)確定所述函數(shù)索引信息對應的目標函數(shù)簽名;其中,所述目標函數(shù)簽名中包括待調(diào)用的目標naitve函數(shù)的函數(shù)指針;

29、調(diào)用模塊,用于利用所述通用函數(shù)根據(jù)所述目標函數(shù)簽名以及所述函數(shù)參數(shù)信息,調(diào)用所述函數(shù)指針所指向的所述目標naitve函數(shù)。

30、在一些實施例中,所述裝置還包括:

31、生成模塊,用于在所述wasm程序的編譯過程中,根據(jù)所述wasm程序待調(diào)用的各native函數(shù)的函數(shù)信息生成函數(shù)對應的函數(shù)簽名,并為所述函數(shù)簽名分配函數(shù)索引信息;

32、注冊模塊,用于在所述wasm程序的注冊過程中,將所述通用函數(shù)、各函數(shù)簽名以及函數(shù)簽名對應的函數(shù)索引信息進行關(guān)聯(lián)注冊;

33、所述確定模塊,用于響應于在所述wasm程序的運行過程中檢測到對所述通用函數(shù)的所述調(diào)用指令,利用所述通用函數(shù)根據(jù)關(guān)聯(lián)注冊的信息確定所述函數(shù)調(diào)用信息中的函數(shù)索引信息對應的所述目標函數(shù)簽名。

34、在一些實施例中,所述生成模塊,用于將所述wasm程序待調(diào)用的各native函數(shù)的函數(shù)信息存儲于預設數(shù)據(jù)結(jié)構(gòu)中;基于所述預設數(shù)據(jù)結(jié)構(gòu)中native函數(shù)對應的函數(shù)信息,生成native函數(shù)對應的函數(shù)簽名。

35、在一些實施例中,所述函數(shù)參數(shù)信息包括關(guān)聯(lián)參數(shù)類型的參數(shù)值,所述目標函數(shù)簽名中還包括待調(diào)用的所述目標native函數(shù)的入?yún)㈩愋鸵约叭雲(yún)㈨樞颍?/p>

36、所述調(diào)用模塊,用于利用所述通用函數(shù)根據(jù)所述入?yún)㈩愋秃退鋈雲(yún)㈨樞?,將所述參?shù)值賦給所述函數(shù)指針所指向的所述目標native函數(shù)。

37、在一些實施例中,所述調(diào)用模塊,用于利用所述通用函數(shù)分別對所述目標函數(shù)簽名以及所述函數(shù)參數(shù)信息進行格式轉(zhuǎn)換,得到適用于所述native函數(shù)運行的編碼格式的函數(shù)簽名,以及適用于所述native函數(shù)運行的編碼格式的函數(shù)參數(shù)信息;利用所述通用函數(shù)根據(jù)格式轉(zhuǎn)換后的函數(shù)簽名以及函數(shù)參數(shù)信息,調(diào)用所述函數(shù)指針所指向的所述目標naitve函數(shù)。

38、在一些實施例中,所述裝置還包括:

39、所述調(diào)用模塊,還用于利用所述通用函數(shù)對基于調(diào)用所述目標naitve函數(shù)得到的運行結(jié)果進行格式轉(zhuǎn)換,得到適用于所述wasm程序的運行結(jié)果。

40、在一些實施例中,所述生成模塊,用于將各native函數(shù)的函數(shù)信息分別存儲于所述預設數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)子結(jié)構(gòu)中;其中,一個所述native函數(shù)的函數(shù)信息對應一個所述數(shù)據(jù)子結(jié)構(gòu);

41、所述生成模塊,用于分別對各數(shù)據(jù)子結(jié)構(gòu)中的函數(shù)信息進行編碼,生成native函數(shù)對應的函數(shù)簽名。

42、根據(jù)本公開實施例的第三方面,提供一種電子設備,包括:

43、處理器;

44、用于存儲處理器可執(zhí)行指令的存儲器;

45、其中,所述處理器被配置為:用于運行所述可執(zhí)行指令時,實現(xiàn)本公開任意實施例所述的數(shù)據(jù)處理方法。

46、根據(jù)本公開實施例的第四方面,提供一種計算機可讀存儲介質(zhì),所述可讀存儲介質(zhì)存儲有可執(zhí)行程序,其中,所述可執(zhí)行程序被處理器執(zhí)行時實現(xiàn)本公開任意實施例所述的數(shù)據(jù)處理方法。

47、本公開的實施例提供的技術(shù)方案可以包括以下有益效果:

48、在本公開實施例中,wasm虛擬機利用通用函數(shù)基于被調(diào)用的目標native函數(shù)的函數(shù)索引信息,即可確定目標函數(shù)簽名,從而利用通用函數(shù)根據(jù)目標函數(shù)簽名以及函數(shù)參數(shù)信息,調(diào)用目標函數(shù)簽名中包括的函數(shù)指針所指向的目標native函數(shù)。可以理解的是,一方面,wasm虛擬機中通用函數(shù)根據(jù)函數(shù)索引信息即可進行調(diào)用,當存在多個待調(diào)用的目標native函數(shù)時,wasm虛擬機可獲取到多個目標native函數(shù)對應的函數(shù)索引信息,無需對每個目標native函數(shù)單獨編譯并注冊,因而對每個待調(diào)用的目標native函數(shù)的調(diào)用簡單、便捷、快速,程序運行的性能較好。另一方面,通過設置通用函數(shù)根據(jù)函數(shù)索引信息關(guān)聯(lián)被調(diào)用的目標native函數(shù),由于函數(shù)索引信息設置簡單方便,而無需wasm虛擬機基于各目標native函數(shù)的復雜的注冊信息實現(xiàn)調(diào)用,節(jié)省用于注冊目標native函數(shù)占用的內(nèi)存資源,也可以進一步降低對調(diào)用目標native函數(shù)的繁瑣程度;進而減少因內(nèi)存資源占用過多而導致的運行卡頓等情況,提高用戶的操作體驗。

49、應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1