System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及進程間通信,特別是涉及一種進程間通信方法、裝置、電子設備及存儲介質。
技術介紹
1、electron是使用javascript,html和css構建跨平臺的桌面應用程序框架。對于electron桌面應用程序框架而言,其是通過ipc(inter-process?communication,進程間通信)進行通信的。而ipc通信存在著數據傳輸局限性,只能主進程與子進程之間進行數據傳輸,子進程之間進行數據傳輸需要以主進程作為中轉站,即子進程將數據發送給主進程,再由主進程將數據發送給另一個子進程,數據傳輸過程繁瑣。同時,ipc是基于cpu(centralprocessing?unit,中央處理器)和內存的通信方式,繁瑣的數據傳輸過程增加了對系統資源的占用,增加了系統的功耗。
技術實現思路
1、鑒于上述問題,提出了本申請實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種進程間通信方法、裝置、電子設備及存儲介質。
2、第一方面,本申請實施例提供了一種進程間通信方法,應用于電子設備內安裝的操作系統,所述方法包括:
3、將各進程間待傳輸的目標數據存儲于所述操作系統內的共享存儲空間內;
4、在任一進程需要調用數據時,從所述共享存儲空間內讀取對應的目標數據。
5、可選地,所述方法還包括:
6、獲取預先編譯的與所述共享存儲空間關聯的關聯腳本,所述關聯腳本用于協助進程從所述共享存儲空間中讀取對應的目標數據;
7、將
8、在進程創建完成之后,調用腳本導入組件從所述預設文件內讀取所述關聯腳本,并將所述關聯腳本導入至所述進程中。
9、可選地,在所述目標數據的指定數據位存儲有對應進程的進程標識,
10、所述在任一進程需要調用數據時,從所述共享存儲空間內讀取對應的目標數據,包括:
11、將所述共享存儲空間內包含目標進程的進程標識的數據確定為目標數據,所述目標進程讀取所述目標數據。
12、可選地,所述將所述共享存儲空間內包含所述目標進程的進程標識的數據確定為目標數據,所述目標進程讀取所述目標數據,包括:
13、向所述目標進程發送讀取所述目標數據的指示信息;
14、調用所述目標進程根據所述指示信息,從所述共享存儲空間內讀取所述目標數據。
15、可選地,所述操作系統為vue系統,對應地,所述共享存儲空間包括vue狀態管理庫。
16、可選地,所述進程至少包括主進程和子進程中的任一種。
17、可選地,所述方法還包括:
18、獲取所述進程的進程狀態;
19、在所述進程狀態指示所述進程處于休眠狀態的情況下,喚醒所述進程。
20、第二方面,本申請實施例提供了一種進程間通信裝置,應用于電子設備內安裝的操作系統,所述裝置包括:
21、目標數據存儲模塊,用于將各進程間待傳輸的目標數據存儲于所述操作系統內的共享存儲空間內;
22、目標數據讀取模塊,用于在任一進程需要調用數據時,從所述共享存儲空間內讀取對應的目標數據。
23、可選地,所述裝置還包括:
24、關聯腳本獲取模塊,用于獲取預先編譯的與所述共享存儲空間關聯的關聯腳本,所述關聯腳本用于協助進程從所述共享存儲空間中讀取對應的目標數據;
25、關聯腳本存儲模塊,用于將所述關聯腳本存儲于預設文件內;
26、關聯腳本導入模塊,用于在進程創建完成之后,調用腳本導入組件從所述預設文件內讀取所述關聯腳本,并將所述關聯腳本導入至所述進程中。
27、可選地,在所述目標數據的指定數據位存儲有對應進程的進程標識,
28、所述目標數據讀取模塊包括:
29、目標數據讀取單元,用于將所述共享存儲空間內包含目標進程的進程標識的數據確定為目標數據,所述目標進程讀取所述目標數據。
30、可選地,所述目標數據讀取單元包括:
31、指示信息發送子單元,用于向所述目標進程發送讀取所述目標數據的指示信息;
32、目標數據讀取子單元,用于調用所述目標進程根據所述指示信息,從所述共享存儲空間內讀取所述目標數據。
33、可選地,所述操作系統為vue系統,對應地,所述共享存儲空間包括vue狀態管理庫。
34、可選地,所述進程至少包括主進程和子進程中的任一種。
35、可選地,所述裝置還包括:
36、進程狀態獲取模塊,用于獲取所述進程的進程狀態;
37、進程喚醒模塊,用于在所述進程狀態指示所述進程處于休眠狀態的情況下,喚醒所述進程。
38、第三方面,本申請實施例提供了一種電子設備,包括:
39、一個或多個處理器;和
40、其上存儲有指令的一個或多個機器可讀介質,當由所述一個或多個處理器執行時,使得所述裝置執行上述任一項所述的進程間通信方法。
41、第四方面,本申請實施例提供了一種計算機可讀存儲介質,其存儲的計算機程序使得處理器執行上述任一項所述的進程間通信方法。
42、本申請實施例包括以下優點:
43、本申請實施例提供的方案,通過將各進程間待傳輸的目標數據存儲于操作系統內的共享存儲空間內,在任一進程需要調用數據時,從共享存儲空間內讀取對應的目標數據。本申請實施例通過在電子設備內安裝操作系統,通過操作系統的共享存儲空間內存儲ipc通信模式下各進程發送的數據,從而可以實現主進程與子進程、以及子進程與子進程之間的通信。同時,以操作系統為依托進行ipc通信,不會造成對cpu和內存的占用,避免了對電子設備的系統資源的占用,有效降低了系統功耗。
本文檔來自技高網...【技術保護點】
1.一種進程間通信方法,其特征在于,應用于電子設備內安裝的操作系統,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
3.根據權利要求1或2所述的方法,其特征在于,在所述目標數據的指定數據位存儲有對應進程的進程標識,
4.根據權利要求3所述的方法,其特征在于,所述將所述共享存儲空間內包含所述目標進程的進程標識的數據確定為目標數據,所述目標進程讀取所述目標數據,包括:
5.根據權利要求3所述的方法,其特征在于,
6.根據權利要求3所述的方法,其特征在于,所述進程至少包括主進程和子進程中的任一種。
7.根據權利要求6所述的方法,其特征在于,所述方法還包括:
8.一種進程間通信裝置,其特征在于,應用于電子設備內安裝的操作系統,所述裝置包括:
9.一種電子設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其特征在于,其存儲的計算機程序使得處理器執行如權利要求1至7中任一項所述的進程間通信方法。
【技術特征摘要】
1.一種進程間通信方法,其特征在于,應用于電子設備內安裝的操作系統,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
3.根據權利要求1或2所述的方法,其特征在于,在所述目標數據的指定數據位存儲有對應進程的進程標識,
4.根據權利要求3所述的方法,其特征在于,所述將所述共享存儲空間內包含所述目標進程的進程標識的數據確定為目標數據,所述目標進程讀取所述目標數據,包括:
5.根據權利要求3所述的...
【專利技術屬性】
技術研發人員:任向鵬,張勇勇,李云鵬,楊春暉,
申請(專利權)人:視聯動力信息技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。