本技術涉及打印設備控制,尤其涉及一種指令數據傳輸方法、系統、裝置及存儲介質。
背景技術:
1、為了解決傳統打印設備在執行打印任務時,需要調用操作系統內核實現打印任務執行過程中數據提取和傳輸而導致的數據傳輸效率較低的問題,現有的打印設備會為執行打印任務的各線程配置共享內存,以使各線程通過直接訪問共享內存實現數據提取和傳輸,省略了調用操作系統內核這一環節,提高了數據傳輸效率。
2、但是,由于現有打印設備中執行打印任務的各線程均是通過共享通道對共享內存進行訪問的,而打印任務通常包括多個操作指令,當某一個操作指令所需的數據過多時,將會導致該操作指令的數據提取和傳輸過程的耗時增加,從而導致共享通道發生阻塞,進而導致后續操作指令無法及時執行,降低了打印任務的執行效率。因此,如何提高打印任務的執行效率已成為亟待解決的問題。
技術實現思路
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、借由上述技術方案,本技術提供的一種指令數據傳輸方法、系統、裝置及存儲介質,通過將操作指令至少劃分為短耗時類型和長耗時類型,并配置將目標指令類型的各操作指令發送至與目標指令類型對應的目標打印數據傳輸網絡,以使指令執行進程利用目標打印數據傳輸網絡執行各操作指令,從而避免了長耗時類型的操作指令對短耗時類型的操作指令的影響,提高了操作指令的執行效率。并且,通過配置共享數據通道將各操作指令存儲至第一共享內存,并按照操作指令的存儲先后順序,依次向指令執行進程發送各操作指令的執行觸發指令,以使指令執行進程通過共享數據通道從第一共享內存提取操作指令以及與操作指令對應的執行數據集,并在執行操作指令后將指令執行結果通過共享數據通道存儲至第二共享內存,使得本技術相較于現有技術,在避免了讀寫沖突的同時,無需在接收到當前操作指令的指令執行結果的情況下再執行下一個操作指令,提高了操作指令的執行效率。可見,本技術提高了打印任務的執行效率。