本發(fā)明涉及電子商務(wù)領(lǐng)域,具體為一種電子商務(wù)數(shù)據(jù)庫(kù)數(shù)據(jù)頁(yè)預(yù)讀方法及系統(tǒng)。
背景技術(shù):
1、電子商務(wù)正在改變?nèi)藗兊纳罘绞?,從?gòu)物到支付再到物流,所有環(huán)節(jié)都在變得更加便捷和高效。消費(fèi)者可以隨時(shí)隨地瀏覽和購(gòu)買全球商品,無(wú)需受限于實(shí)體店的營(yíng)業(yè)時(shí)間和地理位置。電子商務(wù)平臺(tái)涉及海量的商品信息、用戶數(shù)據(jù)、訂單記錄、交易歷史等,這些數(shù)據(jù)需要高效、安全地存儲(chǔ)和管理。數(shù)據(jù)庫(kù)系統(tǒng)為這些數(shù)據(jù)提供了結(jié)構(gòu)化的存儲(chǔ)方案,確保數(shù)據(jù)的完整性、一致性和高可用性。電子商務(wù)平臺(tái)的流量和數(shù)據(jù)量隨著業(yè)務(wù)增長(zhǎng)而不斷增加,數(shù)據(jù)庫(kù)需要具備良好的高并發(fā)處理能力,以支持成千上萬(wàn)用戶的同時(shí)訪問(wèn)和操作。
2、數(shù)據(jù)頁(yè)預(yù)讀技術(shù)能夠在用戶實(shí)際發(fā)出請(qǐng)求之前,將可能需要的數(shù)據(jù)提前加載到內(nèi)存中,不僅可以減少因頻繁磁盤訪問(wèn)導(dǎo)致的瓶頸,而且減少了數(shù)據(jù)庫(kù)在高并發(fā)訪問(wèn)下的i/o操作次數(shù),網(wǎng)站能夠在短時(shí)間內(nèi)響應(yīng)更多的用戶請(qǐng)求,優(yōu)化整體查詢性能。但是現(xiàn)有的預(yù)讀方式存在過(guò)度預(yù)讀、錯(cuò)誤預(yù)讀等,這都降低了預(yù)讀技術(shù)在數(shù)據(jù)庫(kù)中的實(shí)際效果。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述問(wèn)題,本發(fā)明提供了一種電子商務(wù)數(shù)據(jù)庫(kù)數(shù)據(jù)頁(yè)預(yù)讀方法,所述方法包括以下步驟:
2、獲取對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表中所有數(shù)據(jù)頁(yè)的訪問(wèn)記錄,找到包含對(duì)數(shù)據(jù)頁(yè)訪問(wèn)的會(huì)話,基于會(huì)話中的訪問(wèn)記錄確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,根據(jù)訪問(wèn)模式和對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
3、當(dāng)滿足預(yù)設(shè)條件時(shí),從所述訪問(wèn)記錄中找到包含對(duì)所述要預(yù)讀的數(shù)據(jù)頁(yè)進(jìn)行訪問(wèn)的會(huì)話,在所述會(huì)話中找到和所述要預(yù)讀的數(shù)據(jù)頁(yè)最相關(guān)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
4、根據(jù)預(yù)讀列表中數(shù)據(jù)頁(yè)的來(lái)源確定將預(yù)讀數(shù)據(jù)頁(yè)預(yù)讀到緩沖池的位置。
5、優(yōu)選地,所述基于會(huì)話中的訪問(wèn)記錄確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,具體為:
6、提取所述會(huì)話中以所述數(shù)據(jù)頁(yè)為起點(diǎn)的預(yù)設(shè)范圍內(nèi)數(shù)據(jù)頁(yè)訪問(wèn)記錄,基于所述預(yù)設(shè)范圍內(nèi)數(shù)據(jù)頁(yè)訪問(wèn)記錄確定每個(gè)會(huì)話中所述數(shù)據(jù)頁(yè)的訪問(wèn)方式,所述訪問(wèn)方式包括順序訪問(wèn)、隨機(jī)訪問(wèn);
7、對(duì)所有包含所述數(shù)據(jù)頁(yè)的會(huì)話中的每一個(gè)會(huì)話確定一種訪問(wèn)方式,計(jì)算順序訪問(wèn)出現(xiàn)的概率,基于所述概率確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,所述訪問(wèn)模式包括順序模式、隨機(jī)模式、混合模式。
8、優(yōu)選地,所述根據(jù)訪問(wèn)模式和對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中,具體為:
9、基于對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定預(yù)設(shè)個(gè)數(shù);
10、若訪問(wèn)模式為順序模式,則按照數(shù)據(jù)頁(yè)的編號(hào)從數(shù)據(jù)頁(yè)的后續(xù)數(shù)據(jù)頁(yè)中確定預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)頁(yè)作為要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
11、若訪問(wèn)模式為隨機(jī)模式,則獲取包含對(duì)所述數(shù)據(jù)頁(yè)訪問(wèn)的所有會(huì)話,統(tǒng)計(jì)所有會(huì)話中所述數(shù)據(jù)頁(yè)接下來(lái)訪問(wèn)的每個(gè)數(shù)據(jù)頁(yè)的概率,按照所述概率從大到小的順序確定預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)頁(yè)作為要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
12、若訪問(wèn)模式為混合模式,則獲取包含對(duì)所述數(shù)據(jù)頁(yè)訪問(wèn)的所有會(huì)話中,對(duì)數(shù)據(jù)頁(yè)訪問(wèn)方式為順序訪問(wèn)和隨機(jī)訪問(wèn)的比值,根據(jù)所述比值和所述預(yù)設(shè)個(gè)數(shù)確定第一值和第二值,按照訪問(wèn)模式為順序模式確定第一值個(gè)數(shù)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中,并按照隨機(jī)模式確定第二值個(gè)數(shù)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中。
13、優(yōu)選地,所述在所述會(huì)話中找到和所述要預(yù)讀的數(shù)據(jù)頁(yè)最相關(guān)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中,具體為:
14、統(tǒng)計(jì)會(huì)話中對(duì)所述要預(yù)讀的數(shù)據(jù)頁(yè)訪問(wèn)后下一個(gè)訪問(wèn)的數(shù)據(jù)頁(yè)的概率,將概率最大的下一個(gè)訪問(wèn)的數(shù)據(jù)頁(yè)作為所述要預(yù)讀的數(shù)據(jù)頁(yè)最相關(guān)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中。
15、優(yōu)選地,所述根據(jù)預(yù)讀列表中數(shù)據(jù)頁(yè)的來(lái)源確定將預(yù)讀數(shù)據(jù)頁(yè)預(yù)讀到緩沖池的位置,具體為:
16、按照預(yù)讀列表中數(shù)據(jù)頁(yè)的來(lái)源對(duì)數(shù)據(jù)頁(yè)賦予不同權(quán)重,按照所述權(quán)重對(duì)歷史訪問(wèn)頻率進(jìn)行加權(quán),將加權(quán)后頻率大于閾值的數(shù)據(jù)頁(yè)預(yù)讀到y(tǒng)oung區(qū),否則將數(shù)據(jù)頁(yè)預(yù)讀到old區(qū)。
17、此外,本發(fā)明還提供了一種電子商務(wù)數(shù)據(jù)庫(kù)數(shù)據(jù)頁(yè)預(yù)讀系統(tǒng),所述系統(tǒng)包括以下模塊:
18、第一預(yù)讀數(shù)據(jù)頁(yè)確定模塊,用于獲取對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表中所有數(shù)據(jù)頁(yè)的訪問(wèn)記錄,找到包含對(duì)數(shù)據(jù)頁(yè)訪問(wèn)的會(huì)話,基于會(huì)話中的訪問(wèn)記錄確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,根據(jù)訪問(wèn)模式和對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
19、第二預(yù)讀數(shù)據(jù)頁(yè)確定模塊,用于當(dāng)滿足預(yù)設(shè)條件時(shí),從所述訪問(wèn)記錄中找到包含對(duì)所述要預(yù)讀的數(shù)據(jù)頁(yè)進(jìn)行訪問(wèn)的會(huì)話,在所述會(huì)話中找到和所述要預(yù)讀的數(shù)據(jù)頁(yè)最相關(guān)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
20、預(yù)讀模塊,用于根據(jù)預(yù)讀列表中數(shù)據(jù)頁(yè)的來(lái)源確定將預(yù)讀數(shù)據(jù)頁(yè)預(yù)讀到緩沖池的位置。
21、優(yōu)選地,所述基于會(huì)話中的訪問(wèn)記錄確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,具體為:
22、提取所述會(huì)話中以所述數(shù)據(jù)頁(yè)為起點(diǎn)的預(yù)設(shè)范圍內(nèi)數(shù)據(jù)頁(yè)訪問(wèn)記錄,基于所述預(yù)設(shè)范圍內(nèi)數(shù)據(jù)頁(yè)訪問(wèn)記錄確定每個(gè)會(huì)話中所述數(shù)據(jù)頁(yè)的訪問(wèn)方式,所述訪問(wèn)方式包括順序訪問(wèn)、隨機(jī)訪問(wèn);
23、對(duì)所有包含所述數(shù)據(jù)頁(yè)的會(huì)話中的每一個(gè)會(huì)話確定一種訪問(wèn)方式,計(jì)算順序訪問(wèn)出現(xiàn)的概率,基于所述概率確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,所述訪問(wèn)模式包括順序模式、隨機(jī)模式、混合模式。
24、優(yōu)選地,所述根據(jù)訪問(wèn)模式和對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中,具體為:
25、基于對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定預(yù)設(shè)個(gè)數(shù);
26、若訪問(wèn)模式為順序模式,則按照數(shù)據(jù)頁(yè)的編號(hào)從數(shù)據(jù)頁(yè)的后續(xù)數(shù)據(jù)頁(yè)中確定預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)頁(yè)作為要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
27、若訪問(wèn)模式為隨機(jī)模式,則獲取包含對(duì)所述數(shù)據(jù)頁(yè)訪問(wèn)的所有會(huì)話,統(tǒng)計(jì)所有會(huì)話中所述數(shù)據(jù)頁(yè)接下來(lái)訪問(wèn)的每個(gè)數(shù)據(jù)頁(yè)的概率,按照所述概率從大到小的順序確定預(yù)設(shè)個(gè)數(shù)的數(shù)據(jù)頁(yè)作為要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;
28、若訪問(wèn)模式為混合模式,則獲取包含對(duì)所述數(shù)據(jù)頁(yè)訪問(wèn)的所有會(huì)話中,對(duì)數(shù)據(jù)頁(yè)訪問(wèn)方式為順序訪問(wèn)和隨機(jī)訪問(wèn)的比值,根據(jù)所述比值和所述預(yù)設(shè)個(gè)數(shù)確定第一值和第二值,按照訪問(wèn)模式為順序模式確定第一值個(gè)數(shù)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中,并按照隨機(jī)模式確定第二值個(gè)數(shù)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中。
29、優(yōu)選地,所述在所述會(huì)話中找到和所述要預(yù)讀的數(shù)據(jù)頁(yè)最相關(guān)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中,具體為:
30、統(tǒng)計(jì)會(huì)話中對(duì)所述要預(yù)讀的數(shù)據(jù)頁(yè)訪問(wèn)后下一個(gè)訪問(wèn)的數(shù)據(jù)頁(yè)的概率,將概率最大的下一個(gè)訪問(wèn)的數(shù)據(jù)頁(yè)作為所述要預(yù)讀的數(shù)據(jù)頁(yè)最相關(guān)的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中。
31、優(yōu)選地,所述根據(jù)預(yù)讀列表中數(shù)據(jù)頁(yè)的來(lái)源確定將預(yù)讀數(shù)據(jù)頁(yè)預(yù)讀到緩沖池的位置,具體為:
32、按照預(yù)讀列表中數(shù)據(jù)頁(yè)的來(lái)源對(duì)數(shù)據(jù)頁(yè)賦予不同權(quán)重,按照所述權(quán)重對(duì)歷史訪問(wèn)頻率進(jìn)行加權(quán),將加權(quán)后頻率大于閾值的數(shù)據(jù)頁(yè)預(yù)讀到y(tǒng)oung區(qū),否則將數(shù)據(jù)頁(yè)預(yù)讀到old區(qū)。
33、最后,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的方法。
34、針對(duì)電子商務(wù)網(wǎng)站用戶比較分散,數(shù)據(jù)庫(kù)預(yù)讀容易產(chǎn)生過(guò)度預(yù)讀或者錯(cuò)誤預(yù)讀的問(wèn)題,本發(fā)明基于會(huì)話中的訪問(wèn)記錄確定數(shù)據(jù)頁(yè)所屬的訪問(wèn)模式,并根據(jù)訪問(wèn)模式和對(duì)數(shù)據(jù)頁(yè)所屬數(shù)據(jù)表的訪問(wèn)頻次確定要預(yù)讀的數(shù)據(jù)頁(yè)并加入到預(yù)讀列表中;而且在滿足預(yù)設(shè)條件時(shí),進(jìn)一步將預(yù)讀列表中的數(shù)據(jù)頁(yè)相關(guān)的數(shù)據(jù)頁(yè)加入到預(yù)讀列表中,此外,還根據(jù)預(yù)讀列表中數(shù)據(jù)頁(yè)來(lái)源確定預(yù)讀到緩沖池的位置。不僅提高了預(yù)讀的準(zhǔn)確性,而且能夠提高數(shù)據(jù)庫(kù)的速度,在電子商務(wù)大數(shù)據(jù)量訪問(wèn)時(shí),顯著提高電子商務(wù)網(wǎng)站的性能。