緩存區(qū)數(shù)據(jù)的預(yù)處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種數(shù)據(jù)的預(yù)處理方法及系統(tǒng),尤其涉及一種應(yīng)用于緩存區(qū)數(shù)據(jù)的預(yù) 處理方法及系統(tǒng)。
【背景技術(shù)】
[0002] 目前數(shù)據(jù)預(yù)處理技術(shù)主要是單純的采用一種技術(shù),而電子商務(wù)數(shù)據(jù)具有突發(fā)性強(qiáng) 和瞬間數(shù)據(jù)負(fù)責(zé)異常繁重等特點(diǎn),單純使用一種處理技術(shù)會(huì)造成很大的數(shù)據(jù)處理負(fù)擔(dān),不 能滿足電子商務(wù)的需求。
[0003] 先入先出隊(duì)列是一種傳統(tǒng)的按序執(zhí)行方法,當(dāng)緩存區(qū)數(shù)據(jù)滿時(shí),最先進(jìn)入緩存區(qū) 的數(shù)據(jù)/指令先完成執(zhí)行并離開(kāi)緩存區(qū),跟著才執(zhí)行第二條數(shù)據(jù)/指令。是一種先進(jìn)先出 的數(shù)據(jù)緩存器,他與普通存儲(chǔ)器的區(qū)別是沒(méi)有外部讀寫地址線,這樣使用起來(lái)非常簡(jiǎn)單,但 缺點(diǎn)就是只能順序?qū)懭霐?shù)據(jù),順序的讀出數(shù)據(jù),其數(shù)據(jù)地址由內(nèi)部讀寫指針自動(dòng)加1完成, 不能像普通存儲(chǔ)器那樣可以由地址線決定讀取或?qū)懭肽硞€(gè)指定的地址,其不能精確預(yù)估在 電子商務(wù)數(shù)據(jù)系統(tǒng)中的用戶查詢時(shí)間、停留時(shí)間、查詢內(nèi)容;統(tǒng)計(jì)方法,利用數(shù)學(xué)統(tǒng)計(jì)方法, 統(tǒng)計(jì)數(shù)據(jù)的系統(tǒng)頻率,把活躍用戶信息優(yōu)選存在緩存區(qū),通過(guò)顏色寄存器緩存在緩存器內(nèi) 與當(dāng)前訪問(wèn)的物理地址的內(nèi)存區(qū)域的顏色對(duì)應(yīng)的緩存區(qū)中,能夠提高緩存的使用效率,提 高系統(tǒng)性能,但該方法仍然無(wú)法滿足電子商務(wù)數(shù)據(jù)的特點(diǎn)。
[0004] 本發(fā)明提供了一種緩存區(qū)數(shù)據(jù)的預(yù)處理方法,該方法通過(guò)機(jī)器學(xué)習(xí)的方法,研究 用戶的行為準(zhǔn)則,預(yù)測(cè)用戶查詢時(shí)間,每次工作時(shí)間和查詢內(nèi)容等,系統(tǒng)將根據(jù)預(yù)測(cè)信息提 前設(shè)置緩存區(qū)數(shù)據(jù),從而使用戶的查詢體驗(yàn)最優(yōu)化。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供了一種緩存區(qū)數(shù)據(jù)的預(yù)處理方法,該方法通過(guò)機(jī)器學(xué)習(xí)的方 法,研究用戶的行為準(zhǔn)則,預(yù)測(cè)用戶查詢時(shí)間,每次工作時(shí)間和查詢內(nèi)容等,系統(tǒng)將根據(jù)預(yù) 測(cè)信息提前設(shè)置緩存區(qū)數(shù)據(jù),從而使用戶的查詢體驗(yàn)最優(yōu)化。
[0006] 為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0007] 本發(fā)明第一方面提供一種緩存區(qū)數(shù)據(jù)預(yù)處理方法,包括:
[0008] 記錄構(gòu)造基礎(chǔ)數(shù)據(jù),對(duì)基礎(chǔ)數(shù)據(jù)預(yù)處理;
[0009] 建立最小二乘法模型模擬用戶行為,預(yù)測(cè)用戶工作時(shí)間和查詢內(nèi)容等參數(shù)之間的 數(shù)據(jù)關(guān)系;
[0010] 存儲(chǔ)從緩存輸入接收的數(shù)據(jù)到緩存區(qū),按照先進(jìn)先出順序從所述緩存區(qū)中輸出。
[0011] 優(yōu)選的,根據(jù)第一方面,所述記錄構(gòu)造基礎(chǔ)數(shù)據(jù),具體包括:
[0012] 基礎(chǔ)數(shù)據(jù)是指用戶查詢時(shí)間TimeUserQuery、用戶停留時(shí)間TimeUserStand和用 戶查詢內(nèi)容ContentUserQuery。構(gòu)造TimeUserQuery,TimeUserStand和ContentUserQuery 接口函數(shù)從初始服務(wù)器端獲取客戶端用戶的查詢時(shí)間,停留時(shí)間和查詢內(nèi)容;在所述 TimeUserQuery和TimeUserStand函數(shù)中預(yù)設(shè)計(jì)時(shí)器Timer,并米用cookie控件技術(shù),獲取 當(dāng)前行為中用戶的查詢時(shí)間和停留時(shí)間;將收集到的數(shù)據(jù)通過(guò)GET、POST異步的方式發(fā)送 到目標(biāo)服務(wù)器端;所述基礎(chǔ)數(shù)據(jù)通過(guò)接口以JS0N格式展示到所述目標(biāo)服務(wù)器端。
[0013] 優(yōu)選的,所述用戶查詢內(nèi)容ContentUserQuery,具體包括:
[0014] 系統(tǒng)預(yù)設(shè)用戶可以操作的所有查詢內(nèi)容有Loading、Unloading、Cargo、 Carrier和Route中的一種或其任意組合(不同的行業(yè)和需求可預(yù)設(shè)不同查詢內(nèi)容), ContentUserQuery接口 函數(shù)的參數(shù)為L(zhǎng)oading、Unloading、Cargo、Carrier和Route,根據(jù) 用戶的不同操作行為,返回和展示的參數(shù)值不同,進(jìn)行了所述查詢內(nèi)容的參數(shù)返回值設(shè)為 1,沒(méi)有進(jìn)行所述查詢內(nèi)容的參數(shù)返回值設(shè)為0。
[0015] 優(yōu)選的,根據(jù)第一方面,所述對(duì)基礎(chǔ)數(shù)據(jù)預(yù)處理,具體包括:
[0016] 所述目標(biāo)服務(wù)器接收到返回值和返回內(nèi)容后,系統(tǒng)使用JObject或JArray的 Parse方法將JS0N字符串轉(zhuǎn)換為JS0N對(duì)象,通過(guò)所述JS0N對(duì)象的方式提取所述基礎(chǔ)數(shù) 據(jù),分析所述基礎(chǔ)數(shù)據(jù)查詢內(nèi)容和查詢時(shí)間之間的關(guān)聯(lián)即構(gòu)造Loading、Unloading、Cargo、 Carrier、Route和TimeUserQuery以及TimeUserStand的關(guān)系圖。
[0017]優(yōu)選的,根據(jù)第一方面,所述構(gòu)造Loading、Unloading、Cargo、Carrier、Route和 TimeUserQuery以及TimeUserStand的關(guān)系圖,一種可能實(shí)現(xiàn)方式為:
[0018] 優(yōu)選的,所述關(guān)系圖中,TimeUserQuery和TimeUserStand各自作為因變量和 Loading、Unloading、Cargo、Carrier、Route作為自變量,觀察圖形發(fā)現(xiàn)具有一定的線性回 歸趨勢(shì),考慮用最小二乘法做出預(yù)測(cè)。
[0019] 優(yōu)選的,最小二乘法是一種數(shù)學(xué)優(yōu)化技術(shù),它通過(guò)最小化誤差的平方和尋找數(shù)據(jù) 的最佳函數(shù)匹配,利用最小二乘法可以簡(jiǎn)便地求得未知的數(shù)據(jù),并使得這些求得的數(shù)據(jù)與 實(shí)際數(shù)據(jù)之間誤差的平方和為最小,可以求得目標(biāo)函數(shù)的最優(yōu)值。
[0020] 步驟1 :所述目標(biāo)服務(wù)器接收到一個(gè)用戶的多次查詢操作,所述用戶查詢了所述 查詢內(nèi)容的一個(gè)或多個(gè),設(shè)查詢內(nèi)容為n個(gè),用戶查詢每個(gè)所述查詢內(nèi)容的時(shí)間分別記為:
[0021] T= (t1;t2,t3, . . .t;. . . ,tn) (1)
[0022] 其中h表示用戶查詢所述第i項(xiàng)查詢內(nèi)容時(shí)的所述查詢時(shí)間。
[0023] 步驟2:-個(gè)用戶的m次查詢所述查詢內(nèi)容的所述查詢時(shí)間表示為:
[0024] y (t1; K, tn;x〇, x1; K, xn) = Xo+Xjt^ A +xntn (2)
[0025] 其中y代表用戶查詢所述查詢內(nèi)容的工作時(shí)間,x。,Xl,K,xn表示模型參數(shù),該參數(shù) 使得實(shí)際值和觀測(cè)值差的平方和最小,通常取 X(]= 1,用線性方程組表示為:
[0026] y!= x o+x^!^ A+Xjti^ A+xntln
[0027] y2= x o+Xit;,^ A +X jt2 j+ A +xnt2n
[0028] MM
[0029] Yi= x o+Xit;^ A+Xjt;^ A+xntin (3)
[0030] M
[0031 ] yn= x0+X&+ A +x'+ A +xntnn
[0032] 其中71表示所述用戶第i次查詢所述查詢內(nèi)容所用的查詢時(shí)間,t x]表示所述用戶 第i次查詢所述第j項(xiàng)查詢內(nèi)容所用的查詢時(shí)間。
[0033] 通常將記作數(shù)據(jù)矩陣A,所述模型參數(shù)x i記作參數(shù)矢量X,用戶所述查詢時(shí)間 yi記作Y,則線性方程組可表示為:
[0036] 步驟3 :擬合真實(shí)用戶行為的查詢時(shí)間和查詢內(nèi)容的所述模型參數(shù)矩陣X的值 為:
[0037] 由最小二乘法模型可定義用戶查詢所述一項(xiàng)查詢內(nèi)容的觀測(cè)估計(jì)值爲(wèi)和所述模 型參數(shù)的估計(jì)值爲(wèi):
[0042] 于是得到帶有所述模型參數(shù)的估計(jì)值方程組:
[0043]
W
[0044] 根據(jù)(8) (9)得到用戶查詢所述查詢內(nèi)容所用的時(shí)間的觀測(cè)值和估計(jì)值關(guān)系為:
[0045] (1〇)
[0046] 根據(jù)最小二乘的原理,所述模型參數(shù)的值為:
[0047]
(.11)
[0048] 最后得到所述模型參數(shù)的估計(jì)值是:
[0050] 步驟4 :預(yù)測(cè)所述用戶的TimeUserQuery時(shí)間:
[0049] (12)
[0051]
其中h表示用戶查詢所述第i項(xiàng)查詢內(nèi)容時(shí)的所述查詢時(shí)間。xi 表示第i項(xiàng)所述查詢內(nèi)容對(duì)應(yīng)的所述模型參數(shù),其中X(]= 1。若用戶只進(jìn)行Cargo操作,預(yù) 測(cè)Cargo查詢時(shí)間為:
[0052] y3=x0+t3x3。(13)
[0053] 其中為所述查詢內(nèi)容Loading、Unloading、Cargo、Carrier、Route在數(shù)據(jù)表中分 別設(shè)置一個(gè)Sessionld。在上述步驟4中直接通過(guò)所述Sessionld獲取相關(guān)參數(shù)值,并將得 到的數(shù)據(jù)作為緩存區(qū)輸入數(shù)據(jù)的原始數(shù)據(jù)。
[0054] 優(yōu)選的,第二方面,提供一種緩存區(qū)數(shù)據(jù)預(yù)處理方法,還包括:
[0055] 主緩存區(qū)被配置用于存儲(chǔ)從緩存輸入接收的數(shù)據(jù),緩存控制器用于選擇性的從所 述緩沖區(qū)將所述接收數(shù)據(jù)路由到備用緩存區(qū),使得所述從緩存輸入接收的數(shù)據(jù)可以按照 FIFO順序從所述備用緩存區(qū)將所述接收數(shù)據(jù)輸出到所述緩存輸出。
[0056] 優(yōu)選的,所述備用緩存用于存儲(chǔ)所述緩存輸入或存儲(chǔ)主緩存接收的所述接收數(shù) 據(jù),并且以與在所述主緩存相同接收數(shù)據(jù)的順序?qū)⑺鼋邮諗?shù)據(jù)輸出到所述緩存輸出。
[0057] 優(yōu)選的,所述緩存控制器的作用是當(dāng)所述主緩存為空數(shù)據(jù)狀態(tài)時(shí),所述主緩存從 緩存輸入向所述備用緩存?zhèn)鬏敂?shù)據(jù),或者當(dāng)所述備用緩存是滿數(shù)據(jù)狀態(tài)時(shí),所述備用緩存 從緩存輸入向所述主緩存?zhèn)鬏敂?shù)據(jù),或者當(dāng)所述主緩存數(shù)據(jù)狀態(tài)為不空時(shí),所述接收數(shù)據(jù) 從緩存輸入向所述主緩存?zhèn)鬏敂?shù)據(jù)。
[0058] 優(yōu)選的,所述主緩存和備用緩存是可以存儲(chǔ)不同類型數(shù)據(jù)的獨(dú)立的FIFO隊(duì)列并 且主緩存的數(shù)據(jù)存儲(chǔ)空間大于備用緩存的數(shù)據(jù)存儲(chǔ)空間。
[0059] 優(yōu)選的,第三方面,提供一種緩存區(qū)數(shù)據(jù)預(yù)處理系統(tǒng),包括:
[0060] 傳送裝置:將數(shù)據(jù)發(fā)送給緩存區(qū);緩存區(qū):用于從傳送裝置接收數(shù)據(jù),并按照先入 先出的順序把接收的數(shù)據(jù)傳送給接收裝置;接收裝置:用于接收來(lái)自于緩存區(qū)中的數(shù)據(jù)。
[0061] 其中,所述系統(tǒng)首先對(duì)數(shù)據(jù)進(jìn)行了訓(xùn)練和處理,由于數(shù)據(jù)量較大,首先通過(guò)傳輸裝