本技術涉及計算機,特別涉及一種計算設備內組件間功能調用的方法、裝置和設備。
背景技術:
1、隨著芯片技術發展,在單個芯片內集成了越來越多計算單元,每個計算單元都可以運行獨立的固件,除了這些計算單元上運行的獨立的固件,在計算系統內還有傳統已具備的基板管理控制器(baseboard?management?controller,bmc)/嵌入式控制器(embeddedcontroller,ec)固件、設備固件、操作系統等。在計算系統中,固件、軟件、系統均可稱為組件,如何實現組件間的功能調用成為計算系統中關鍵之一。
技術實現思路
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、第五方面,提供了一種計算機可讀存儲介質,包括計算機程序指令,當所述計算機程序指令由計算設備執行時,所述計算設備執行上述第一方面和/或第一方面中任一可實現的方式中所述的計算設備內組件間功能調用的方法。