本技術(shù)涉及數(shù)據(jù)處理,尤其涉及一種數(shù)據(jù)傳輸設(shè)備、方法、裝置、電子設(shè)備及介質(zhì)。
背景技術(shù):
1、針對由java編寫的軟件程序(為便于描述,稱為java應(yīng)用程序),使用javachromium嵌入式框架(java?chromium?embedding?frame,jcef)在java應(yīng)用程序中的用戶界面層所在的環(huán)境和處理層所在的環(huán)境之間進(jìn)行跨環(huán)境開發(fā)時,難免會遇到需要在用戶界面層和處理層之間進(jìn)行數(shù)據(jù)傳輸?shù)那闆r。相關(guān)技術(shù)中,例如用戶界面(用戶界面層)將產(chǎn)生的數(shù)據(jù)傳輸給處理層進(jìn)行處理時,用戶界面層通?;谕絺鬏?shù)姆绞綄?shù)據(jù)傳輸給處理層,例如,用戶界面層在將數(shù)據(jù)發(fā)送給處理層后,在處理層對數(shù)據(jù)進(jìn)行相應(yīng)處理的過程中,用戶界面層還需要實(shí)時等待處理層對數(shù)據(jù)的處理結(jié)果,在等待處理結(jié)果的過程中就容易發(fā)生頁面阻塞等情況,從而影響用戶體驗(yàn)。
2、因此,亟需一種可以快捷高效地在用戶界面層和處理層之間進(jìn)行數(shù)據(jù)傳輸?shù)募夹g(shù)方案。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種數(shù)據(jù)傳輸設(shè)備、方法、裝置、電子設(shè)備及介質(zhì),用以快捷高效地在用戶界面層和處理層之間進(jìn)行數(shù)據(jù)傳輸。
2、第一方面,本技術(shù)提供了一種數(shù)據(jù)傳輸設(shè)備,所述設(shè)備包括:
3、用戶界面層模塊,用于針對任一用戶界面產(chǎn)生的待傳輸?shù)教幚韺拥臄?shù)據(jù),生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識,并將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊;
4、所述處理層模塊,用于若接收到所述標(biāo)識以及所述數(shù)據(jù),對所述數(shù)據(jù)進(jìn)行相應(yīng)處理,并在處理完成后,將處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊;
5、所述用戶界面層模塊,還用于接收所述標(biāo)識以及所述處理結(jié)果,根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示。
6、相較于相關(guān)技術(shù)中用戶界面(用戶界面層)和處理層之間基于同步傳輸?shù)姆绞竭M(jìn)行數(shù)據(jù)傳輸時,用戶界面在將數(shù)據(jù)發(fā)送給處理層后,在處理層對數(shù)據(jù)進(jìn)行相應(yīng)處理的過程中,用戶界面還需要實(shí)時等待處理層對數(shù)據(jù)的處理結(jié)果,在等待處理結(jié)果的過程中就容易發(fā)生用戶界面(頁面)阻塞等情況,影響用戶體驗(yàn)而言,本技術(shù)實(shí)施例提供的用戶界面層模塊和處理層模塊之間通過異步傳輸來進(jìn)行數(shù)據(jù)傳輸?shù)姆绞?,用戶界面層模塊和處理層模塊之間可以基于標(biāo)識來識別不同的數(shù)據(jù)以及不同數(shù)據(jù)對應(yīng)的處理結(jié)果,例如在處理層模塊對數(shù)據(jù)進(jìn)行處理的過程中,用戶界面層模塊以及用戶界面(用戶界面層)不用實(shí)時等待處理層模塊對數(shù)據(jù)的處理結(jié)果,從而可以減少用戶界面阻塞的發(fā)生,實(shí)現(xiàn)快捷高效地在用戶界面層和處理層進(jìn)行數(shù)據(jù)傳輸?shù)哪康摹?/p>
7、在一種可能的實(shí)施方式中,所述用戶界面層模塊,具體用于:
8、若所述處理結(jié)果為執(zhí)行成功的處理結(jié)果,則調(diào)用創(chuàng)建的對應(yīng)所述標(biāo)識的promise對象中的執(zhí)行完成resolve回調(diào)函數(shù),在所述用戶界面展示相應(yīng)的第一頁面;
9、若所述處理結(jié)果為執(zhí)行失敗的處理結(jié)果,則調(diào)用所述promise對象中的執(zhí)行失敗reject回調(diào)函數(shù),在所述用戶界面展示相應(yīng)的第二頁面。
10、通過上述方式,可以創(chuàng)建用戶界面產(chǎn)生數(shù)據(jù)的標(biāo)識對應(yīng)的promise對象,并可以基于該promise對象中的resolve回調(diào)函數(shù)展示處理結(jié)果為執(zhí)行成功時用戶界面相應(yīng)的第一頁面,可以基于promise對象中reject回調(diào)函數(shù)展示處理結(jié)果為執(zhí)行失敗時用戶界面相應(yīng)的第二頁面,從而可以快捷高效地在用戶界面中展示處理層(處理層模塊)對數(shù)據(jù)的處理結(jié)果。
11、在一種可能的實(shí)施方式中,所述用戶界面層模塊,還用于:
12、在根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示后,將創(chuàng)建的與所述標(biāo)識對應(yīng)的promise對象刪除。
13、通過上述方式,可以在完成數(shù)據(jù)傳輸?shù)恼麄€過程之后,將保存的相應(yīng)的promise對象刪除,從而可以回收存儲空間,節(jié)省存儲資源。
14、在一種可能的實(shí)施方式中,所述用戶界面層模塊,還用于:
15、若在設(shè)定時長內(nèi)未接收到所述處理層模塊發(fā)送的對應(yīng)所述標(biāo)識的處理結(jié)果,則輸出針對所述用戶界面的處理超時的提示信息。
16、通過上述方式,可以在設(shè)定時長內(nèi)未接收到處理層模塊發(fā)送的對應(yīng)上述標(biāo)識的處理結(jié)果時,輸出針對該標(biāo)識對應(yīng)的用戶界面的處理超時的提示信息,以提示用戶,提高用戶體驗(yàn)。
17、在一種可能的實(shí)施方式中,所述用戶界面層模塊,具體用于:
18、基于產(chǎn)生所述數(shù)據(jù)時的時間戳信息、以及生成的隨機(jī)數(shù)中的至少一種,生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識。
19、通過上述方式,由于時間戳信息和隨機(jī)數(shù)的獲取難度較低,且不同時間戳之間以及不同隨機(jī)數(shù)之間互相重復(fù)的概率較小,本技術(shù)基于用戶界面產(chǎn)生數(shù)據(jù)時的時間戳信息、以及生成的隨機(jī)數(shù)中的至少一種,來生成對應(yīng)該數(shù)據(jù)以及該用戶界面的標(biāo)識,可以提高生成標(biāo)識的快捷性和靈活性。
20、在一種可能的實(shí)施方式中,所述用戶界面層模塊,具體用于:
21、基于jcef的cefmessagerouter接口,將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊。
22、通過上述方式,由于用戶界面層模塊可以基于jcef提供的cefmessagerouter接口,將標(biāo)識以及數(shù)據(jù)發(fā)送給處理層模塊,從而可以最大程度地保證數(shù)據(jù)傳輸?shù)目旖菪?、穩(wěn)定性以及準(zhǔn)確性。
23、在一種可能的實(shí)施方式中,所述處理層模塊,具體用于:
24、基于jcef的executejavascript函數(shù),將所述處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊。
25、通過上述方式,由于處理層模塊可以基于jcef提供的executejavascript函數(shù),將標(biāo)識以及處理結(jié)果一并發(fā)送給用戶界面層模塊,從而可以最大程度地保證數(shù)據(jù)傳輸?shù)目旖菪?、穩(wěn)定性以及準(zhǔn)確性。
26、第二方面,本技術(shù)提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
27、針對任一用戶界面產(chǎn)生的待傳輸?shù)教幚韺拥臄?shù)據(jù),生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識,并將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊,使得所述處理層模塊對所述數(shù)據(jù)進(jìn)行相應(yīng)處理;
28、接收所述處理層模塊發(fā)送的對所述數(shù)據(jù)的處理結(jié)果以及所述標(biāo)識,根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示。
29、在一種可能的實(shí)施方式中,所述根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示,包括:
30、若所述處理結(jié)果為執(zhí)行成功的處理結(jié)果,則調(diào)用創(chuàng)建的對應(yīng)所述標(biāo)識的promise對象中的執(zhí)行完成resolve回調(diào)函數(shù),在所述用戶界面展示相應(yīng)的第一頁面;
31、若所述處理結(jié)果為執(zhí)行失敗的處理結(jié)果,則調(diào)用所述promise對象中的執(zhí)行失敗reject回調(diào)函數(shù),在所述用戶界面展示相應(yīng)的第二頁面。
32、在一種可能的實(shí)施方式中,所述根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示之后,所述方法還包括:
33、將創(chuàng)建的與所述標(biāo)識對應(yīng)的promise對象刪除。
34、在一種可能的實(shí)施方式中,所述將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊之后,所述接收所述處理層模塊發(fā)送的對所述數(shù)據(jù)的處理結(jié)果以及所述標(biāo)識之前,所述方法還包括:
35、若在設(shè)定時長內(nèi)未接收到所述處理層模塊發(fā)送的對應(yīng)所述標(biāo)識的處理結(jié)果,則輸出針對所述用戶界面的處理超時的提示信息。
36、在一種可能的實(shí)施方式中,所述生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識,包括:
37、基于產(chǎn)生所述數(shù)據(jù)時的時間戳信息、以及生成的隨機(jī)數(shù)中的至少一種,生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識。
38、在一種可能的實(shí)施方式中,所述將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊,包括:
39、基于jcef的cefmessagerouter接口,將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊。
40、第三方面,本技術(shù)提供了另一種數(shù)據(jù)傳輸方法,所述方法包括:
41、接收用戶界面層模塊發(fā)送的標(biāo)識以及數(shù)據(jù),其中,所述標(biāo)識對應(yīng)所述數(shù)據(jù)以及產(chǎn)生所述數(shù)據(jù)的用戶界面;
42、對所述數(shù)據(jù)進(jìn)行相應(yīng)處理,并在處理完成后,將處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊,使得所述用戶界面層模塊根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示。
43、在一種可能的實(shí)施方式中,所述將處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊,包括:
44、基于jcef的executejavascript函數(shù),將所述處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊。
45、第四方面,本技術(shù)提供了一種數(shù)據(jù)傳輸裝置,所述裝置包括:
46、第一傳輸單元,用于針對任一用戶界面產(chǎn)生的待傳輸?shù)教幚韺拥臄?shù)據(jù),生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識,并將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊,使得所述處理層模塊對所述數(shù)據(jù)進(jìn)行相應(yīng)處理;
47、第一接收單元,用于接收所述處理層模塊發(fā)送的對所述數(shù)據(jù)的處理結(jié)果以及所述標(biāo)識,根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示。
48、在一種可能的實(shí)施方式中,所述第一接收單元,具體用于:
49、若所述處理結(jié)果為執(zhí)行成功的處理結(jié)果,則調(diào)用創(chuàng)建的對應(yīng)所述標(biāo)識的promise對象中的執(zhí)行完成resolve回調(diào)函數(shù),在所述用戶界面展示相應(yīng)的第一頁面;
50、若所述處理結(jié)果為執(zhí)行失敗的處理結(jié)果,則調(diào)用所述promise對象中的執(zhí)行失敗reject回調(diào)函數(shù),在所述用戶界面展示相應(yīng)的第二頁面。
51、在一種可能的實(shí)施方式中,所述第一接收單元,還用于:
52、將創(chuàng)建的與所述標(biāo)識對應(yīng)的promise對象刪除。
53、在一種可能的實(shí)施方式中,所述第一傳輸單元,還用于:
54、若在設(shè)定時長內(nèi)未接收到所述處理層模塊發(fā)送的對應(yīng)所述標(biāo)識的處理結(jié)果,則輸出針對所述用戶界面的處理超時的提示信息。
55、在一種可能的實(shí)施方式中,所述第一傳輸單元,具體用于:
56、基于產(chǎn)生所述數(shù)據(jù)時的時間戳信息、以及生成的隨機(jī)數(shù)中的至少一種,生成對應(yīng)所述數(shù)據(jù)以及所述用戶界面的標(biāo)識。
57、在一種可能的實(shí)施方式中,所述第一傳輸單元,具體用于:
58、基于jcef的cefmessagerouter接口,將所述標(biāo)識以及所述數(shù)據(jù)發(fā)送給處理層模塊。
59、第五方面,本技術(shù)提供了另一種數(shù)據(jù)傳輸裝置,所述裝置包括:
60、第二接收單元,用于接收用戶界面層模塊發(fā)送的標(biāo)識以及數(shù)據(jù),其中,所述標(biāo)識對應(yīng)所述數(shù)據(jù)以及產(chǎn)生所述數(shù)據(jù)的用戶界面;
61、第二傳輸單元,用于對所述數(shù)據(jù)進(jìn)行相應(yīng)處理,并在處理完成后,將處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊,使得所述用戶界面層模塊根據(jù)所述處理結(jié)果,在所述用戶界面中進(jìn)行相應(yīng)展示。
62、在一種可能的實(shí)施方式中,所述第二傳輸單元,具體用于:
63、基于jcef的executejavascript函數(shù),將所述處理結(jié)果以及所述標(biāo)識發(fā)送給所述用戶界面層模塊。
64、第六方面,本技術(shù)還提供了一種電子設(shè)備,所述電子設(shè)備至少包括處理器和存儲器,所述處理器用于執(zhí)行存儲器中存儲的計算機(jī)程序時實(shí)現(xiàn)如第二方面和第三方面任一項(xiàng)所述的數(shù)據(jù)傳輸方法的步驟。
65、第七方面,本技術(shù)實(shí)施例提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)程序,所述計算機(jī)程序包括程序指令,所述程序指令當(dāng)被計算機(jī)執(zhí)行時,使所述計算機(jī)執(zhí)行如第二方面和第三方面中任一項(xiàng)所述的數(shù)據(jù)傳輸方法的步驟。
66、第八方面,本技術(shù)實(shí)施例提供了一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括:計算機(jī)程序代碼,當(dāng)所述計算機(jī)程序代碼在計算機(jī)上運(yùn)行時,使得計算機(jī)執(zhí)行上述如第二方面和第三方面中任一項(xiàng)所述的數(shù)據(jù)傳輸方法的步驟。