數(shù)據(jù)加載方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)加載方法和裝置。
【背景技術(shù)】
[0002]Tree (樹形)控件在數(shù)據(jù)加載方面得到了廣泛應(yīng)用,常被用來展示樹形結(jié)構(gòu)數(shù)據(jù)。
[0003]以瀏覽器通過Tree控件加載書簽為例,當(dāng)瀏覽器獲取到用戶觸發(fā)的數(shù)據(jù)加載指示后,瀏覽器加載樹形結(jié)構(gòu)下每一個結(jié)點對應(yīng)的數(shù)據(jù)。比如,當(dāng)樹形結(jié)構(gòu)為圖1所示時,該樹形結(jié)構(gòu)共包含屬于3個層級的9個結(jié)點。瀏覽器獲取到對應(yīng)于根結(jié)點11的數(shù)據(jù)加載指示后,加載該所有9個結(jié)點對應(yīng)的數(shù)據(jù)。
[0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)上述技術(shù)至少存在以下問題:當(dāng)Tree控件需要加載的數(shù)據(jù)量較大時,所需耗費的加載時長較長,有時甚至?xí)?dǎo)致瀏覽器出現(xiàn)卡死的情況。因此,上述技術(shù)存在加載效率低、延遲時間長的問題。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)存在的加載效率低、延遲時間長的問題,本發(fā)明實施例提供了一種數(shù)據(jù)加載方法和裝置。所述技術(shù)方案如下:
[0006]第一方面,提供了一種數(shù)據(jù)加載方法,所述方法包括:
[0007]獲取對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示;
[0008]在所述結(jié)點的各個子結(jié)點中,加載與目標(biāo)操作有關(guān)的子結(jié)點,所述與目標(biāo)操作有關(guān)的子結(jié)點是所述結(jié)點的全部子結(jié)點或部分子結(jié)點;
[0009]根據(jù)加載后的所述子結(jié)點執(zhí)行所述目標(biāo)操作。
[0010]第二方面,提供了一種數(shù)據(jù)加載裝置,所述裝置包括:
[0011]指示獲取模塊,用于獲取對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示;
[0012]結(jié)點加載模塊,用于在所述結(jié)點的各個子結(jié)點中,加載與目標(biāo)操作有關(guān)的子結(jié)點,所述與目標(biāo)操作有關(guān)的子結(jié)點是所述結(jié)點的全部子結(jié)點或部分子結(jié)點;
[0013]操作執(zhí)行模塊,用于根據(jù)加載后的所述子結(jié)點執(zhí)行所述目標(biāo)操作。
[0014]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0015]通過在獲取到對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示后,在該結(jié)點的各個子結(jié)點中,僅加載與目標(biāo)操作有關(guān)的子結(jié)點;解決了【背景技術(shù)】存在的加載效率低、延遲時間長的問題;提高了加載效率,縮短了加載過程中的延遲時間。
【附圖說明】
[0016]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是【背景技術(shù)】涉及的一種樹形結(jié)構(gòu)的示意圖;
[0018]圖2是本發(fā)明一個實施例提供的數(shù)據(jù)加載方法的方法流程圖;
[0019]圖3A是本發(fā)明另一實施例提供的數(shù)據(jù)加載方法的方法流程圖;
[0020]圖3B是本發(fā)明實施例涉及的一種樹形結(jié)構(gòu)的示意圖;
[0021]圖3C是本發(fā)明實施例涉及的一種書簽加載的示意圖;
[0022]圖4是本發(fā)明一個實施例提供的數(shù)據(jù)加載裝置的結(jié)構(gòu)方框圖;
[0023]圖5是本發(fā)明另一實施例提供的數(shù)據(jù)加載裝置的結(jié)構(gòu)方框圖;
[0024]圖6是本發(fā)明一個實施例提供的電子設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0025]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0026]請參考圖2,其示出了本發(fā)明一個實施例提供的數(shù)據(jù)加載方法的方法流程圖,本實施例以該數(shù)據(jù)加載方法應(yīng)用于諸如手機、平板電腦、電子書閱讀器、個人數(shù)字助理和計算機之類的電子設(shè)備中進行舉例說明。該數(shù)據(jù)加載方法可以包括如下幾個步驟:
[0027]步驟202,獲取對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示。
[0028]步驟204,在該結(jié)點的各個子結(jié)點中,加載與目標(biāo)操作有關(guān)的子結(jié)點,上述與目標(biāo)操作有關(guān)的子結(jié)點是該結(jié)點的全部子結(jié)點或部分子結(jié)點。
[0029]步驟206,根據(jù)加載后的子結(jié)點執(zhí)行目標(biāo)操作。
[0030]綜上所述,本實施例提供的數(shù)據(jù)加載方法,通過在獲取到對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示后,在該結(jié)點的各個子結(jié)點中,僅加載與目標(biāo)操作有關(guān)的子結(jié)點;解決了【背景技術(shù)】存在的加載效率低、延遲時間長的問題;提高了加載效率,縮短了加載過程中的延遲時間。
[0031]請參考圖3A,其示出了本發(fā)明另一實施例提供的數(shù)據(jù)加載方法的方法流程圖,本實施例以該數(shù)據(jù)加載方法應(yīng)用于諸如手機、平板電腦、電子書閱讀器、個人數(shù)字助理和計算機之類的電子設(shè)備中進行舉例說明。該數(shù)據(jù)加載方法可以包括如下幾個步驟:
[0032]步驟301,獲取對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示。
[0033]數(shù)據(jù)加載指示對應(yīng)的結(jié)點至少存在一個子結(jié)點。如圖3B所示的樹形結(jié)構(gòu)中,可以對結(jié)點31、結(jié)點31的子結(jié)點32或結(jié)點31的子結(jié)點33中的任意一個結(jié)點觸發(fā)數(shù)據(jù)加載指示。在本實施例中,假設(shè)數(shù)據(jù)加載指示對應(yīng)于結(jié)點31。
[0034]電子設(shè)備獲取到對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示后,加載該結(jié)點的全部子結(jié)點或部分子結(jié)點。具體如下步驟302:
[0035]步驟302,在該結(jié)點的各個子結(jié)點中,加載與目標(biāo)操作有關(guān)的子結(jié)點。
[0036]與目標(biāo)操作有關(guān)的子結(jié)點是該結(jié)點的全部子結(jié)點或部分子結(jié)點。與【背景技術(shù)】提供的數(shù)據(jù)加載方式不同的是:【背景技術(shù)】在獲取到對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示后,不論何種情況,均加載該結(jié)點的全部子結(jié)點;而本發(fā)明實施例提供的技術(shù)方案在獲取到對應(yīng)于樹形結(jié)構(gòu)中的一個結(jié)點的數(shù)據(jù)加載指示后,首先需要確定目標(biāo)操作,然后僅加載該結(jié)點的各個子結(jié)點中與目標(biāo)操作有關(guān)的子結(jié)點,也即與目標(biāo)操作無關(guān)的子結(jié)點無需加載。
[0037]其中,目標(biāo)操作為預(yù)先針對結(jié)點所配置的操作。比如,目標(biāo)操作可以是顯示結(jié)點的部分或全部子結(jié)點,或者目標(biāo)操作也可以是計算/處理結(jié)點的部分或全部子結(jié)點,等等。
[0038]在一個可能的實施例中,本步驟可以包括如下幾個子步驟:
[0039]第一,在目標(biāo)操作為顯示該結(jié)點的下一層子結(jié)點并標(biāo)識每個下一層子結(jié)點是否還包括有子結(jié)點時,加載該結(jié)點的下一層子結(jié)點。
[0040]首先,僅加載需要顯示的子結(jié)點,該需要顯示的子結(jié)點即為該結(jié)點的下一層子結(jié)點。另外,考慮到還需標(biāo)識每個下一層子結(jié)點是否還包括有子結(jié)點,則針對每個下一層子結(jié)點,需要執(zhí)行如下第二和第三個子步驟。
[0041]第二,對于每個下一層子結(jié)點,檢測能否加載到該下一層子結(jié)點的子結(jié)點。
[0042]第三,當(dāng)能夠加載到該下一層子結(jié)點的子結(jié)點時,確定該下一層子結(jié)點還包括有子結(jié)點。
[0043]電子設(shè)備試探加載每個下一層子結(jié)點的子結(jié)點,若能夠加載到該下一層子結(jié)點的子結(jié)點,則說明該下一層子結(jié)點還包括有子結(jié)點;反之,若無法加載到該下一層子結(jié)點的子結(jié)點,則說明該下一層子結(jié)點下不存在子結(jié)點。
[0044]可選的,電子設(shè)備試探加載該下一層子結(jié)點的第一個子結(jié)點。電子設(shè)備僅試探加載第一個子結(jié)點,可以提高檢測效率,快速地確定出各個下一層子結(jié)點下是否還包括有子結(jié)點。
[0045]比如,結(jié)合參考圖3B,假設(shè)數(shù)據(jù)加載指示對應(yīng)于結(jié)點31,電子設(shè)備首先加載該結(jié)點31的子結(jié)點32,然后檢測能否加載到該子結(jié)點32的子結(jié)點,如試探加載該子結(jié)點32的第一個子結(jié)點34,當(dāng)能夠加載到子結(jié)點34時,確定子結(jié)點32還包括有子結(jié)點,但具體包括的子結(jié)點數(shù)量無需確定。之后,電子設(shè)備加載該結(jié)點31的子結(jié)點33,然后檢測能否加載到該子結(jié)點33的子結(jié)點,如試探加載該子結(jié)點33的第一個子結(jié)點35,當(dāng)能夠加載到子結(jié)點35時,確定子結(jié)點33還包括有