本文作者:kaifamei

一種混合開發(fā)客戶端的加載方法、裝置、設(shè)備及存儲介質(zhì)與流程

更新時間:2025-12-25 05:26:52 0條評論

一種混合開發(fā)客戶端的加載方法、裝置、設(shè)備及存儲介質(zhì)與流程



1.本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種混合開發(fā)客戶端的加載方法、裝置、設(shè)備及存儲介質(zhì)。


背景技術(shù):



2.目前,客戶端混合開發(fā)主要采用內(nèi)嵌瀏覽器內(nèi)核的方案,如windows pc上使用嵌入式框架cef3(chromium embedded framework)或前端開發(fā)框架electron,采用本地加載web資源文件來實現(xiàn)ui界面渲染。現(xiàn)有技術(shù)中,客戶端啟動后,加載瀏覽器內(nèi)核并渲染ui界面,然后利用ui界面瀏覽器內(nèi)核請求頁面生成相關(guān)的資源文件,并進行ui界面的第一次渲染,ui界面瀏覽器內(nèi)核再向服務(wù)器請求業(yè)務(wù)ui數(shù)據(jù),并進行ui界面的第二次渲染。但是,這種方式下ui界面的渲染工作是在ui界面準(zhǔn)備渲染后才開始的,并且需要依次利用頁面生成相關(guān)的資源文件和業(yè)務(wù)ui數(shù)據(jù)進行多次渲染才能實現(xiàn)ui界面的渲染,增加了渲染時間。


技術(shù)實現(xiàn)要素:



3.有鑒于此,本發(fā)明的目的在于提供一種混合開發(fā)客戶端的加載方法、裝置、設(shè)備及介質(zhì),能夠減少渲染時間。其具體方案如下:
4.第一方面,本技術(shù)公開了一種混合開發(fā)客戶端的加載方法,包括:
5.根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;
6.若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);
7.通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。
8.可選的,所述判斷所述歷史目標(biāo)資源文件是否有效之后,還包括:
9.若所述歷史目標(biāo)資源文件有效,則直接通過所述后臺線程將所述歷史目標(biāo)資源文件發(fā)送給所述瀏覽器內(nèi)核。
10.可選的,所述判斷所述歷史目標(biāo)資源文件是否有效,包括:
11.判斷是否存在歷史目標(biāo)資源文件,若不存在所述歷史目標(biāo)資源文件,則判定所述歷史目標(biāo)資源文件無效;
12.若存在所述歷史目標(biāo)資源文件,則根據(jù)所述文件標(biāo)識信息判斷所述歷史目標(biāo)資源文件是否與所述頁面生成資源文件及所述業(yè)務(wù)ui數(shù)據(jù)對應(yīng);
13.若不對應(yīng),則判定所述歷史目標(biāo)資源文件無效。
14.可選的,所述基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件之后,還包括:
15.確定所述客戶端當(dāng)前對應(yīng)的所述頁面生成資源文件的第一標(biāo)識信息,所述客戶端當(dāng)前對應(yīng)的所述業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息;
16.基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。
17.可選的,所述基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,包括:
18.將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。
19.可選的,所述基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,包括:
20.將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件的文件名;
21.相應(yīng)的,所述判斷所述歷史目標(biāo)資源文件是否有效,包括:
22.根據(jù)所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件的第一標(biāo)識信息以及當(dāng)前對應(yīng)的業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息,拼接得到目標(biāo)文件名;
23.按照所述目標(biāo)文件名進行文件讀取,若讀取成功則判定所述歷史目標(biāo)資源文件有效,若讀取失敗則判定所述歷史目標(biāo)資源文件無效。
24.可選的,所述后臺線程為多線程,所述通過后臺線程獲取本地存儲的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),包括:
25.通過所述后臺線程,并行執(zhí)行獲取所述頁面生成資源文件以及獲取所述業(yè)務(wù)ui數(shù)據(jù)的操作。
26.可選的,所述基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶對應(yīng)的目標(biāo)資源文件,包括:
27.基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)利用所述后臺線程進行渲染模擬,并將渲染結(jié)果對應(yīng)的數(shù)據(jù)作為所述目標(biāo)資源文件。
28.第二方面,本技術(shù)公開了一種混合開發(fā)客戶端的加載裝置,應(yīng)用于客戶端,包括:
29.判斷模塊,用于根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;
30.目標(biāo)資源文件生成模塊,用于若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);
31.渲染模塊,用于通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。
32.第三方面,本技術(shù)公開了一種電子設(shè)備,包括:
33.存儲器,用于保存計算機程序;
34.處理器,用于執(zhí)行所述計算機程序,以實現(xiàn)前述的混合開發(fā)客戶端的加載方法。
35.第四方面,本技術(shù)公開了一種計算機可讀存儲介質(zhì),用于存儲計算機程序;其中計算機程序被處理器執(zhí)行時實現(xiàn)前述的混合開發(fā)客戶端的加載方法。
36.本技術(shù)中,根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。可見,基于頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)生成渲染最終需要的目標(biāo)資源文件,瀏覽器內(nèi)核僅需要根據(jù)這一個目標(biāo)資源文件進行一次渲染即可完成ui界面渲染,降低ui界面展示時所需要的時間,并且將目標(biāo)資源文件生成的過程交由后臺線程執(zhí)行,后臺線程可以在ui界面展示之前開始工作從而提前生成目標(biāo)資源文件,減少瀏覽器內(nèi)核所需要的渲染時間。
附圖說明
37.為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
38.圖1為本技術(shù)提供的一種混合開發(fā)客戶端的加載方法流程圖;
39.圖2為現(xiàn)有技術(shù)中客戶端的加載方法流程圖;
40.圖3為本技術(shù)提供的一種具體的混合開發(fā)客戶端的加載方法流程圖;
41.圖4為本技術(shù)提供的一種混合開發(fā)客戶端的加載裝置結(jié)構(gòu)示意圖;
42.圖5為本技術(shù)提供的一種電子設(shè)備結(jié)構(gòu)圖。
具體實施方式
43.為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
44.現(xiàn)有技術(shù)中,客戶端啟動后,加載瀏覽器內(nèi)核并渲染ui界面,然后利用ui界面瀏覽器內(nèi)核請求頁面生成相關(guān)的資源文件,并進行ui界面的第一次渲染,再利用ui界面瀏覽器內(nèi)核請求業(yè)務(wù)ui數(shù)據(jù),并進行ui界面的第二次渲染。但是,這種方式下ui界面的渲染工作是在ui界面準(zhǔn)備渲染后才開始的,并且需要依次利用頁面生成相關(guān)的資源文件和業(yè)務(wù)ui數(shù)據(jù)進行多次渲染才能實現(xiàn)ui界面的渲染,增加了渲染時間。為克服上述技術(shù)問題,本技術(shù)提出一種混合開發(fā)客戶端的加載方法,能夠減少瀏覽器內(nèi)核所需要的渲染時間,降低ui界面展示時所需要的時間。
45.本技術(shù)實施例公開了一種混合開發(fā)客戶端的加載方法,參見圖1所示,該方法可以包括以下步驟:
46.步驟s11:根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效。
47.本實施例中,客戶端啟動后,首先根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件
標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效。歷史目標(biāo)資源文件為后臺線程在上一次基于當(dāng)時客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui(用戶界面,user interface)數(shù)據(jù)生成的目標(biāo)資源文件。
48.本實施例中,所述判斷所述歷史目標(biāo)資源文件是否有效,可以包括:判斷是否存在歷史目標(biāo)資源文件,若不存在所述歷史目標(biāo)資源文件,則判定所述歷史目標(biāo)資源文件無效;若存在所述歷史目標(biāo)資源文件,則根據(jù)所述文件標(biāo)識信息判斷所述歷史目標(biāo)資源文件是否與所述頁面生成資源文件及所述業(yè)務(wù)ui數(shù)據(jù)對應(yīng);若不對應(yīng),則判定所述歷史目標(biāo)資源文件無效。也就是說,歷史目標(biāo)資源文件無效可以分為兩種情況,第一種是不存在相關(guān)的歷史目標(biāo)資源文件,第二種情況是存在的歷史目標(biāo)資源文件與當(dāng)前的頁面生成資源文件及業(yè)務(wù)ui數(shù)據(jù)不對應(yīng),在無效情況下即表征該歷史目標(biāo)資源文件無法直接使用,需要重新生成當(dāng)前客戶端對應(yīng)的目標(biāo)資源文件,若有效,則可以直接使用。
49.上述根據(jù)所述文件標(biāo)識信息判斷所述歷史目標(biāo)資源文件是否與所述頁面生成資源文件及所述業(yè)務(wù)ui數(shù)據(jù)對應(yīng),具體可以包括:通過所述后臺線程獲取歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,以及所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件的第一標(biāo)識信息,以及客戶端當(dāng)前對應(yīng)的業(yè)務(wù)ui數(shù)據(jù)的第而標(biāo)識信息,根據(jù)上述第一標(biāo)識信息、第二標(biāo)識信息和文件標(biāo)識信息判斷所述歷史目標(biāo)資源文件是否與當(dāng)前的頁面生成資源文件及業(yè)務(wù)ui數(shù)據(jù)匹配,由此可以判斷距離上一次生成歷史目標(biāo)資源文件這段時間內(nèi),頁面生成資源文件及業(yè)務(wù)ui數(shù)據(jù)是否發(fā)生改變,若發(fā)生改變,則歷史目標(biāo)資源文件與當(dāng)前的頁面生成資源文件及業(yè)務(wù)ui數(shù)據(jù)不對應(yīng),若沒有改變,則可以認(rèn)為歷史目標(biāo)資源文件與當(dāng)前的頁面生成資源文件及業(yè)務(wù)ui數(shù)據(jù)對應(yīng)。
50.步驟s12:若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù)。
51.本實施例中,若歷史目標(biāo)資源文件無效,需要重新生成客戶端當(dāng)前適配的目標(biāo)資源文件,具體通過后臺線程獲取客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),然后,后臺線程基于上述頁面生成資源文件和上述業(yè)務(wù)ui數(shù)據(jù)生成客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件,其中,業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù)。上述頁面生成資源文件為用于頁面生成相關(guān)的資源文件數(shù)據(jù),通常存儲在本地,包括html(hyper text markup language,超文本標(biāo)記語言)、css(cascading style sheets,層疊樣式表)、js(javascript)等資源文件。上述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù),即業(yè)務(wù)相關(guān)的且可引起ui變化的數(shù)據(jù),例如在展示vip頭像的頁面中,標(biāo)識是否為vip信息的數(shù)據(jù)。也就是說,通過后臺線程提前基于頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)合成最終的目標(biāo)資源文件,利用該目標(biāo)資源文件直接渲染一次即可,相比于現(xiàn)有技術(shù)可以避免多次渲染。
52.本實施例中,所述后臺線程為多線程,所述通過后臺線程獲取本地存儲的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),可以包括:通過所述后臺線程,并行執(zhí)行獲取所述頁面生成資源文件以及獲取所述業(yè)務(wù)ui數(shù)據(jù)的操作。即后臺線程可以并行執(zhí)行,同時獲取頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),由此可以提高數(shù)據(jù)獲取的速度和效率。
53.本實施例中,所述基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端
用戶對應(yīng)的目標(biāo)資源文件,可以包括:基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)利用所述后臺線程進行渲染模擬,并將渲染結(jié)果對應(yīng)的數(shù)據(jù)作為所述目標(biāo)資源文件。即后臺線程獲取頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)后,基于頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)進行渲染模擬,得到渲染模擬結(jié)果,然后將該渲染模擬結(jié)果對應(yīng)的數(shù)據(jù)作為上述目標(biāo)資源文件,也就是利用后臺線程進行模擬渲染,得到最終ui渲染所需的目標(biāo)資源文件,以便瀏覽器僅根據(jù)新生成的這個目標(biāo)資源文件進行ui界面渲染即可。
54.本實施例中,所述基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件之后,還可以包括:確定所述客戶端當(dāng)前對應(yīng)的所述頁面生成資源文件的第一標(biāo)識信息,所述客戶端當(dāng)前對應(yīng)的所述業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息;基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。可以理解的是,目標(biāo)資源文件的文件標(biāo)識信息用于判斷目標(biāo)資源文件是否與當(dāng)前頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)對應(yīng),因此,本實施例中在每生成一個新的目標(biāo)資源文件后,根據(jù)生成時利用的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)分別對應(yīng)的標(biāo)識信息,確定出目標(biāo)資源文件對應(yīng)的標(biāo)識信息。上述第一標(biāo)識信息和第二標(biāo)識信息是具有唯一性的信息,可以為資源文件的版本號信息。
55.本實施例中,所述基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,可以包括:將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。即優(yōu)選的,本實施例中直接將第一標(biāo)識信息與第二標(biāo)識信息進行拼接,即首尾相連拼接在一起,將拼接后的得到的信息作為目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。這種方式操作簡便,且當(dāng)需要判斷目標(biāo)資源文件有效性時,直接將對應(yīng)的文件標(biāo)識信息與當(dāng)前的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)分別對應(yīng)的標(biāo)識信息進行對比即可,在能夠?qū)崿F(xiàn)驗證文件有效性的同時提高驗證效率。
56.進一步,本實施例中,所述基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,可以包括:將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件的文件名;相應(yīng)的,所述判斷所述歷史目標(biāo)資源文件是否有效,包括:根據(jù)所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件的第一標(biāo)識信息以及當(dāng)前對應(yīng)的業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息,拼接得到目標(biāo)文件名;按照所述目標(biāo)文件名進行文件讀取,若讀取成功則判定所述歷史目標(biāo)資源文件有效,若讀取失敗則判定所述歷史目標(biāo)資源文件無效。也就是說,本實施例中文件標(biāo)識信息為文件名,即將第一標(biāo)識信息和第二標(biāo)識信息拼接后作為目標(biāo)資源文件的文件名,在進行文件有效判斷時,根據(jù)當(dāng)前第一標(biāo)識信息和第二標(biāo)識信息生成目標(biāo)文件名,然后直接按照目標(biāo)文件名進行文件讀取,若讀取到文件,則判定歷史目標(biāo)資源文件有效,若沒有讀取到文件,則判定歷史目標(biāo)資源文件無效。由此,直接根據(jù)頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)的標(biāo)識信息進行文件讀取,根據(jù)讀取結(jié)果判斷文件是否有效,避免了需要讀取歷史目標(biāo)資源文件的文件標(biāo)識信息后再進行對比的操作,提高了文件有效性判斷的效率。在本實施例中,第一標(biāo)識信息和第二標(biāo)識信息拼接的方式可以是多種多樣的,可以是簡單的直接拼接,將第一標(biāo)識信息和第二標(biāo)識信息直接前后連接或者在兩者中間加上
“?”
等類似的符號進行連接,也可以是將第一標(biāo)識信息和第二標(biāo)識信息進行簡化之后再拼接,比如采用第一標(biāo)識信息頭三個字符和第二標(biāo)識信息的頭三個字符進行拼接,也可以是通過某一加密算法對第一標(biāo)識信息和第二標(biāo)識信息進行計算之后
得到加密后的第一標(biāo)識信息和第二標(biāo)識信息再進行拼接,也可以是將第一標(biāo)識信息和第二標(biāo)識信息通過加密算法進行拼接,還可以是上述方案的組合,只要是根據(jù)第一標(biāo)識信息和第二標(biāo)識信息得到文件名的方式都符合本方案的要求,可以根據(jù)需求進行選擇。
57.步驟s13:通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。
58.本實施例中,后臺線程將生成的目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,瀏覽器內(nèi)核再根據(jù)該目標(biāo)資源文件進行ui界面渲染,由于目標(biāo)資源文件是后臺線程基于頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)預(yù)先模擬渲染得到的文件,因此瀏覽器內(nèi)核僅通過一次渲染即可完成ui界面渲染。
59.本實施例中,所述判斷所述歷史目標(biāo)資源文件是否有效之后,還可以包括:若所述歷史目標(biāo)資源文件有效,則直接通過所述后臺線程將所述歷史目標(biāo)資源文件發(fā)送給所述瀏覽器內(nèi)核。即若判斷歷史目標(biāo)資源文件有效,則瀏覽器內(nèi)核直接利用該歷史目標(biāo)資源文件進行ui界面渲染。即若歷史目標(biāo)資源文件是有效的,那么后臺線程直接將該歷史目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,瀏覽器內(nèi)核利用歷史目標(biāo)資源文件進行渲染可生成符合客戶端當(dāng)前狀態(tài)的ui界面。也就是說,每次生成目標(biāo)資源文件后都可以保存至本地以便反復(fù)利用,即并非每次ui界面渲染都需要重新生成目標(biāo)資源文件,進一步降低了每次ui界面展示時所需要的時間。
60.例如圖2所示為現(xiàn)有技術(shù)中的ui界面渲染方式,可見,客戶端啟動后,加載瀏覽器內(nèi)核并渲染ui界面,然后利用ui界面瀏覽器內(nèi)核向本地資源文件中請求頁面生成相關(guān)的資源文件,并進行ui界面的第一次渲染,ui界面瀏覽器內(nèi)核再向服務(wù)器請求業(yè)務(wù)ui數(shù)據(jù),并進行ui界面的第二次渲染。但是,這種方式下ui界面的渲染工作是在ui界面準(zhǔn)備渲染后才開始的,并且需要依次利用頁面生成相關(guān)的資源文件和業(yè)務(wù)ui數(shù)據(jù)進行多次渲染才能實現(xiàn)ui界面的渲染,增加了渲染時間。
61.而根據(jù)圖3所示為本實施例提供的一種具體的混合開發(fā)客戶端的加載過程時序圖。可見,客戶端啟動后,首先啟動后臺線程;后臺線程獲取本地資源文件數(shù)據(jù)的標(biāo)識信息,本地資源文件數(shù)據(jù)即上述頁面生成資源文件,以及業(yè)務(wù)ui數(shù)據(jù)的標(biāo)識信息,以及本地資源文件2的標(biāo)識信息,本地資源文件2即上述歷史目標(biāo)資源文件,根據(jù)這些標(biāo)識信息判斷歷史目標(biāo)資源文件有效性,其中,這些標(biāo)識信息的獲取可以由后臺線程在并行模式下同時獲取。如若本地資源文件2無效,則獲取當(dāng)前的本地資源文件數(shù)據(jù)、業(yè)務(wù)ui數(shù)據(jù)重新生成本地資源文件2數(shù)據(jù)并存儲本地;然后,加載瀏覽器內(nèi)核并渲染ui界面,ui界面瀏覽器內(nèi)核向后臺線程請求本地資源文件數(shù)據(jù),后臺線程獲取本地資源文件2數(shù)據(jù)并返回給ui界面瀏覽器內(nèi)核;最后,ui界面瀏覽器內(nèi)核執(zhí)行渲染ui界面。可見,相比于現(xiàn)有技術(shù),調(diào)整了渲染方案,利用后臺線程模擬瀏覽器中的服務(wù)端渲染,并結(jié)合本地化的優(yōu)點緩存渲染結(jié)果,提前生成了最終ui界面所需要的目標(biāo)資源文件數(shù)據(jù),從而減少了渲染時間。
62.由上可見,本實施例中根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)
核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。可見,基于頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)生成渲染最終需要的目標(biāo)資源文件,瀏覽器內(nèi)核僅需要根據(jù)這一個目標(biāo)資源文件進行一次渲染即可完成ui界面渲染,降低ui界面展示時所需要的時間,并且將目標(biāo)資源文件生成的過程交由后臺線程執(zhí)行,后臺線程可以在ui界面展示之前開始工作從而提前生成目標(biāo)資源文件,減少瀏覽器內(nèi)核所需要的渲染時間。
63.相應(yīng)的,本技術(shù)實施例還公開了一種混合開發(fā)客戶端的加載裝置,參見圖4所示,該裝置包括:
64.判斷模塊11,用于根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;
65.目標(biāo)資源文件生成模塊12,用于若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);
66.渲染模塊13,用于通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。
67.由上可見,本實施例中根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。可見,基于頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù)生成渲染最終需要的目標(biāo)資源文件,瀏覽器內(nèi)核僅需要根據(jù)這一個目標(biāo)資源文件進行一次渲染即可完成ui界面渲染,降低ui界面展示時所需要的時間,并且將目標(biāo)資源文件生成的過程交由后臺線程執(zhí)行,后臺線程可以在ui界面展示之前開始工作從而提前生成目標(biāo)資源文件,減少瀏覽器內(nèi)核所需要的渲染時間。
68.在一些具體實施例中,所述混合開發(fā)客戶端的加載裝置具體可以包括:
69.文件發(fā)送單元,用于若所述歷史目標(biāo)資源文件有效,則直接通過所述后臺線程將所述歷史目標(biāo)資源文件發(fā)送給所述瀏覽器內(nèi)核。
70.在一些具體實施例中,所述判斷模塊11具體可以包括:
71.第一判斷單元,用于判斷是否存在歷史目標(biāo)資源文件,若不存在所述歷史目標(biāo)資源文件,則判定所述歷史目標(biāo)資源文件無效;
72.第二判斷單元,用于若存在所述歷史目標(biāo)資源文件,則根據(jù)所述文件標(biāo)識信息判斷所述歷史目標(biāo)資源文件是否與所述頁面生成資源文件及所述業(yè)務(wù)ui數(shù)據(jù)對應(yīng);若不對應(yīng),則判定所述歷史目標(biāo)資源文件無效。
73.在一些具體實施例中,所述混合開發(fā)客戶端的加載裝置具體可以包括:
74.標(biāo)識信息確定單元,用于確定所述客戶端當(dāng)前對應(yīng)的所述頁面生成資源文件的第一標(biāo)識信息,所述客戶端當(dāng)前對應(yīng)的所述業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息;
75.文件標(biāo)識信息生成單元,用于基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。
76.在一些具體實施例中,所述文件標(biāo)識信息生成單元具體可以包括:
77.拼接單元,用于將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。
78.在一些具體實施例中,所述文件標(biāo)識信息生成單元具體可以包括:
79.文件名生成單元,用于將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件的文件名;
80.相應(yīng)的,所述判斷模塊11具體可以包括:
81.拼接單元,用于根據(jù)所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件的第一標(biāo)識信息以及當(dāng)前對應(yīng)的業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息,拼接得到目標(biāo)文件名;
82.文件讀取單元,用于按照所述目標(biāo)文件名進行文件讀取,若讀取成功則判定所述歷史目標(biāo)資源文件有效,若讀取失敗則判定所述歷史目標(biāo)資源文件無效。
83.在一些具體實施例中,所述后臺線程為多線程,所述目標(biāo)資源文件生成模塊12具體可以包括:
84.并行執(zhí)行單元,用于通過所述后臺線程,并行執(zhí)行獲取所述頁面生成資源文件以及獲取所述業(yè)務(wù)ui數(shù)據(jù)的操作。
85.在一些具體實施例中,所述目標(biāo)資源文件生成模塊12具體可以包括:
86.模擬渲染單元,用于基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)利用所述后臺線程進行渲染模擬,并將渲染結(jié)果對應(yīng)的數(shù)據(jù)作為所述目標(biāo)資源文件。
87.進一步的,本技術(shù)實施例還公開了一種電子設(shè)備,參見圖5所示,圖中的內(nèi)容不能被認(rèn)為是對本技術(shù)的使用范圍的任何限制。
88.圖5為本技術(shù)實施例提供的一種電子設(shè)備20的結(jié)構(gòu)示意圖。該電子設(shè)備20,具體可以包括:至少一個處理器21、至少一個存儲器22、電源23、通信接口24、輸入輸出接口25和通信總線26。其中,所述存儲器22用于存儲計算機程序,所述計算機程序由所述處理器21加載并執(zhí)行,以實現(xiàn)前述任一實施例公開的混合開發(fā)客戶端的加載方法中的相關(guān)步驟。
89.本實施例中,電源23用于為電子設(shè)備20上的各硬件設(shè)備提供工作電壓;通信接口24能夠為電子設(shè)備20創(chuàng)建與外界設(shè)備之間的數(shù)據(jù)傳輸通道,其所遵循的通信協(xié)議是能夠適用于本技術(shù)技術(shù)方案的任意通信協(xié)議,在此不對其進行具體限定;輸入輸出接口25,用于獲取外界輸入數(shù)據(jù)或向外界輸出數(shù)據(jù),其具體的接口類型可以根據(jù)具體應(yīng)用需要進行選取,在此不進行具體限定。
90.另外,存儲器22作為資源存儲的載體,可以是只讀存儲器、隨機存儲器、磁盤或者光盤等,其上所存儲的資源包括操作系統(tǒng)221、計算機程序222及包括訓(xùn)練集在內(nèi)的數(shù)據(jù)223等,存儲方式可以是短暫存儲或者永久存儲。
91.其中,操作系統(tǒng)221用于管理與控制電子設(shè)備20上的各硬件設(shè)備以及計算機程序222,以實現(xiàn)處理器21對存儲器22中海量數(shù)據(jù)223的運算與處理,其可以是windows server、netware、unix、linux等。計算機程序222除了包括能夠用于完成前述任一實施例公開的由電子設(shè)備20執(zhí)行的混合開發(fā)客戶端的加載方法的計算機程序之外,還可以進一步包括能夠用于完成其他特定工作的計算機程序。
92.進一步的,本技術(shù)實施例還公開了一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)中存儲有計算機可執(zhí)行指令,所述計算機可執(zhí)行指令被處理器加載并執(zhí)行時,實現(xiàn)前述任一
實施例公開的混合開發(fā)客戶端的加載方法步驟。
93.本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
94.結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
95.最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個
……”
限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
96.以上對本發(fā)明所提供的一種混合開發(fā)客戶端的加載方法、裝置、設(shè)備及介質(zhì)進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。

技術(shù)特征:


1.一種混合開發(fā)客戶端的加載方法,其特征在于,應(yīng)用于客戶端,包括:根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。2.根據(jù)權(quán)利要求1所述的混合開發(fā)客戶端的加載方法,其特征在于,所述判斷所述歷史目標(biāo)資源文件是否有效之后,還包括:若所述歷史目標(biāo)資源文件有效,則直接通過所述后臺線程將所述歷史目標(biāo)資源文件發(fā)送給所述瀏覽器內(nèi)核。3.根據(jù)權(quán)利要求1所述的混合開發(fā)客戶端的加載方法,其特征在于,所述判斷所述歷史目標(biāo)資源文件是否有效,包括:判斷是否存在歷史目標(biāo)資源文件,若不存在所述歷史目標(biāo)資源文件,則判定所述歷史目標(biāo)資源文件無效;若存在所述歷史目標(biāo)資源文件,則根據(jù)所述文件標(biāo)識信息判斷所述歷史目標(biāo)資源文件是否與所述頁面生成資源文件及所述業(yè)務(wù)ui數(shù)據(jù)對應(yīng);若不對應(yīng),則判定所述歷史目標(biāo)資源文件無效。4.根據(jù)權(quán)利要求1所述的混合開發(fā)客戶端的加載方法,其特征在于,所述基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件之后,還包括:確定所述客戶端當(dāng)前對應(yīng)的所述頁面生成資源文件的第一標(biāo)識信息,所述客戶端當(dāng)前對應(yīng)的所述業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息;基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。5.根據(jù)權(quán)利要求4所述的混合開發(fā)客戶端的加載方法,其特征在于,所述基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,包括:將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息。6.根據(jù)權(quán)利要求4所述的混合開發(fā)客戶端的加載方法,其特征在于,所述基于所述第一標(biāo)識信息和所述第二標(biāo)識信息生成所述目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,包括:將所述第一標(biāo)識信息與第二標(biāo)識信息進行拼接,將拼接后信息作為所述目標(biāo)資源文件的文件名;相應(yīng)的,所述判斷所述歷史目標(biāo)資源文件是否有效,包括:根據(jù)所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件的第一標(biāo)識信息以及當(dāng)前對應(yīng)的業(yè)務(wù)ui數(shù)據(jù)的第二標(biāo)識信息,拼接得到目標(biāo)文件名;按照所述目標(biāo)文件名進行文件讀取,若讀取成功則判定所述歷史目標(biāo)資源文件有效,若讀取失敗則判定所述歷史目標(biāo)資源文件無效。
7.根據(jù)權(quán)利要求1所述的混合開發(fā)客戶端的加載方法,其特征在于,所述后臺線程為多線程,所述通過后臺線程獲取本地存儲的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),包括:通過所述后臺線程,并行執(zhí)行獲取所述頁面生成資源文件以及獲取所述業(yè)務(wù)ui數(shù)據(jù)的操作。8.根據(jù)權(quán)利要求1至7任一項所述的混合開發(fā)客戶端的加載方法,其特征在于,所述基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶對應(yīng)的目標(biāo)資源文件,包括:基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)利用所述后臺線程進行渲染模擬,并將渲染結(jié)果對應(yīng)的數(shù)據(jù)作為所述目標(biāo)資源文件。9.一種混合開發(fā)客戶端的加載裝置,其特征在于,應(yīng)用于客戶端,包括:判斷模塊,用于根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;目標(biāo)資源文件生成模塊,用于若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)ui數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)ui數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)ui數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);渲染模塊,用于通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行ui界面渲染。10.一種電子設(shè)備,其特征在于,包括:存儲器,用于保存計算機程序;處理器,用于執(zhí)行所述計算機程序,以實現(xiàn)如權(quán)利要求1至8任一項所述的混合開發(fā)客戶端的加載方法。11.一種計算機可讀存儲介質(zhì),其特征在于,用于存儲計算機程序;其中計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至8任一項所述的混合開發(fā)客戶端的加載方法。

技術(shù)總結(jié)


本申請公開了一種混合開發(fā)客戶端的加載方法、裝置、設(shè)備及存儲介質(zhì),涉及計算機技術(shù)領(lǐng)域。該方法包括:根據(jù)歷史生成的歷史目標(biāo)資源文件對應(yīng)的文件標(biāo)識信息,判斷所述歷史目標(biāo)資源文件是否有效;若所述歷史目標(biāo)資源文件無效,通過后臺線程獲取所述客戶端當(dāng)前對應(yīng)的頁面生成資源文件和業(yè)務(wù)UI數(shù)據(jù),并基于所述頁面生成資源文件和所述業(yè)務(wù)UI數(shù)據(jù)生成所述客戶端用戶當(dāng)前對應(yīng)的目標(biāo)資源文件;所述業(yè)務(wù)UI數(shù)據(jù)為客戶端用戶信息相關(guān)的頁面資源數(shù)據(jù);通過所述后臺線程將所述目標(biāo)資源文件發(fā)送給瀏覽器內(nèi)核,以便所述瀏覽器內(nèi)核根據(jù)所述目標(biāo)資源文件進行UI界面渲染。瀏覽器內(nèi)核僅需要根據(jù)這個目標(biāo)資源文件進行一次渲染即可完成UI界面渲染,減少了渲染時間。減少了渲染時間。減少了渲染時間。


技術(shù)研發(fā)人員:

范澤龍

受保護的技術(shù)使用者:

迅雷計算機(深圳)有限公司

技術(shù)研發(fā)日:

2022.09.19

技術(shù)公布日:

2022/12/12


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-51103-0.html

來源:專利查詢檢索下載-實用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請保留出處。本站文章發(fā)布于 2022-12-20 06:24:30

發(fā)表評論

驗證碼:
用戶名: 密碼: 匿名發(fā)表
評論列表 (有 條評論
2人圍觀
參與討論