背景技術(shù):
互聯(lián)網(wǎng)促進全球的用戶之間的信息和事務(wù)的交換。這種信息交換使得數(shù)據(jù)提供者向各種用戶提供數(shù)據(jù)??梢皂憫?yīng)于從客戶端設(shè)備接收的多個請求提供數(shù)據(jù)。然而,每一請求要求計算資源的使用(例如,服務(wù)器和存儲器存儲設(shè)備)以及網(wǎng)絡(luò)資源(例如,路由器、交換機和網(wǎng)絡(luò)帶寬)以用所請求的數(shù)據(jù)進行響應(yīng)。此外,每一請求花費數(shù)據(jù)提供者一定時間來識別適當(dāng)?shù)臄?shù)據(jù)并且通過網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給客戶端設(shè)備。
技術(shù)實現(xiàn)要素:
本說明書描述與減少網(wǎng)絡(luò)通信和數(shù)據(jù)呈現(xiàn)中的時延有關(guān)的技術(shù)。
通常,本說明書中描述的主題的一個創(chuàng)新方面可以體現(xiàn)在方法中,所述方法包括動作:基于通過給定用戶的客戶端設(shè)備提交的數(shù)據(jù),將給定用戶認(rèn)證為給定在線賬戶的授權(quán)用戶;響應(yīng)于認(rèn)證,對給定用戶發(fā)起將與賬戶有關(guān)的數(shù)據(jù)呈現(xiàn)給用戶的用戶會話,賬戶可由具有訪問賬戶的證書的多個用戶訪問;基于(i)在先前用戶會話期間給定用戶與賬戶的用戶界面中呈現(xiàn)的用戶界面元素的交互和其他用戶與用戶界面元素的其他交互之間的相似度或(ii)在先前用戶會話期間給定用戶請求的至少一種數(shù)據(jù)類型與由其他用戶請求的至少一種數(shù)據(jù)類型之間的相似度,來識別給定用戶被指派到的用戶組;基于給定用戶被指派到的用戶組,選擇與賬戶有關(guān)的第一數(shù)據(jù)集,所述第一數(shù)據(jù)集是至少基于(i)在先前用戶會話期間由給定用戶請求的數(shù)據(jù)類型和(ii)先前用戶會話期間給定用戶交互的用戶界面元素來選擇的;基于由用戶組中除所述給定用戶外的至少一個用戶先前請求的數(shù)據(jù)類型,選擇與賬戶有關(guān)的第二數(shù)據(jù)集;更新用于賬戶的用戶界面以在用于賬戶的初始賬戶視圖中呈現(xiàn)第一數(shù)據(jù)集的至少一部分,初始賬戶視圖呈現(xiàn)被組合成單一呈現(xiàn)并且提供賬戶的概覽的多個不同類型的數(shù)據(jù);以及當(dāng)在所述客戶端設(shè)備處呈現(xiàn)所述第一數(shù)據(jù)集或第二數(shù)據(jù)集的附加部分時,通過在從客戶端設(shè)備接收對第二數(shù)據(jù)集的請求前向客戶端設(shè)備提供第二數(shù)據(jù)集,減少更新用于賬戶的用戶界面的時延,其中第二數(shù)據(jù)集被高速緩存在客戶端設(shè)備處并且在初始賬戶視圖中不呈現(xiàn)。所述方面的其他實施例包括對應(yīng)的系統(tǒng)、裝置和計算機程序,其被配置成執(zhí)行編碼在計算機存儲設(shè)備上的方法的動作。
這些和其他實施例能分別可選地包括下述特征中的一個或多個。在一些方面,使用創(chuàng)建多個用戶組并且將用戶指派到多個用戶組的機器學(xué)習(xí)過程,將給定用戶和其他用戶指派到用戶組。在一些方面中,附加地基于以下中的至少一個來將所述給定用戶指派到所述用戶組:(i)在先前用戶會話中由給定用戶請求的數(shù)據(jù)的時間范圍;(ii)由用戶修改的數(shù)據(jù);或(iii)給定用戶訪問與賬戶有關(guān)的數(shù)據(jù)的頻率。
在一些方面中,基于以下中的至少一個來選擇所述第二數(shù)據(jù)集的至少一部分:(i)在先前用戶會話中由給定用戶請求的數(shù)據(jù)類型;(ii)在先前用戶會話中由給定用戶請求的數(shù)據(jù)的時間范圍;或(iii)在先前用戶會話中給定用戶請求數(shù)據(jù)的地理區(qū)域。在一些方面中,基于由多個不同用戶的每一個請求的數(shù)據(jù)類型,為多個用戶的每一個提供不同的初始賬戶視圖。
一些方面能包括對為給定用戶發(fā)起的每一給定用戶會話,利用指定在給定用戶會話期間給定用戶交互的用戶界面元素和在用戶會話期間給定用戶請求的數(shù)據(jù)類型的數(shù)據(jù),更新用于給定用戶的用戶簡檔;以及基于更新,修改用于給定用戶的初始賬戶視圖。
一些方面能包括基于用于更新高速緩存的數(shù)據(jù)成本小于閾值成本,確定在用戶設(shè)備處更新第二數(shù)據(jù)集的高速緩存;以及響應(yīng)于確定更新高速緩存,向用戶設(shè)備提供經(jīng)更新的數(shù)據(jù)集。一些方面能包括識別所述賬戶的兩個或更多個活動,所述賬戶的兩個或更多個活動具有至少一個相同特性和對兩個或更多個活動中的每一個不同的至少一個特性;以及提供數(shù)據(jù),所述數(shù)據(jù)以高亮兩個或更多個活動中的每一個的至少一個特性的方式呈現(xiàn)所述兩個或更多個活動中的每一個的數(shù)據(jù)。
另一方面能夠被體現(xiàn)在系統(tǒng)中,所述系統(tǒng)包括存儲處理器可讀指令的存儲器;以及一個或多個處理器,所述一個或多個處理器被布置成讀取和執(zhí)行在所述存儲器中存儲的指令;第一前端服務(wù)器,所述第一前端服務(wù)器基于通過給定用戶的客戶端設(shè)備提交的數(shù)據(jù),將給定用戶認(rèn)證為給定在線賬戶的授權(quán)用戶;響應(yīng)于認(rèn)證,對給定用戶發(fā)起將與賬戶有關(guān)的數(shù)據(jù)呈現(xiàn)給用戶的用戶會話,賬戶可由具有訪問賬戶的證書的多個用戶訪問;數(shù)據(jù)選擇器,所述數(shù)據(jù)選擇器基于(i)在先前用戶會話期間給定用戶與賬戶的用戶界面中呈現(xiàn)的用戶界面元素的交互和其他用戶與用戶界面元素的其他交互之間的相似度或(ii)在先前用戶會話期間給定用戶請求的至少一種數(shù)據(jù)類型與由其他用戶請求的至少一種數(shù)據(jù)類型之間的相似度,來識別給定用戶被指派到的用戶組;基于給定用戶被指派到用戶組,選擇與賬戶有關(guān)的第一數(shù)據(jù)集,所述第一數(shù)據(jù)集是至少基于(i)在先前用戶會話期間由給定用戶請求的數(shù)據(jù)類型和(ii)在先前用戶會話期間給定用戶交互的用戶界面元素來選擇的;基于由用戶組中各種其他用戶先前請求的數(shù)據(jù)類型,選擇與賬戶有關(guān)的第二數(shù)據(jù)集;用戶界面生成器,所述用戶界面生成器更新用于賬戶的用戶界面以在用于賬戶的初始賬戶視圖中呈現(xiàn)第一數(shù)據(jù)集的至少一部分,初始賬戶視圖呈現(xiàn)被組合成單一呈現(xiàn)并且提供賬戶的概覽的多個不同類型的數(shù)據(jù);以及第二前端服務(wù)器,所述第二前端服務(wù)器當(dāng)在客戶端設(shè)備處呈現(xiàn)第一數(shù)據(jù)集或第二數(shù)據(jù)集的附加部分時,通過在從客戶端設(shè)備接收對第二數(shù)據(jù)集的請求前向客戶端設(shè)備提供第二數(shù)據(jù)集,減少更新用于賬戶的用戶界面的時延,其中第二數(shù)據(jù)集被高速緩存在第二前端服務(wù)器或客戶端設(shè)備處并且在初始賬戶視圖中不呈現(xiàn)。結(jié)合系統(tǒng),實現(xiàn)在第一方面的場境中所述的特征。
能實現(xiàn)本說明書中所述的主題的具體實施例,以便實現(xiàn)以下中的一個或多個優(yōu)點。通過在用戶設(shè)備處預(yù)緩存用戶可能請求但還未請求的數(shù)據(jù),減少將數(shù)據(jù)呈現(xiàn)給用戶的時延。通過預(yù)緩存所述數(shù)據(jù),能減少通過網(wǎng)絡(luò)提交的請求數(shù)目,由此減少用來響應(yīng)于請求加在網(wǎng)絡(luò)和計算資源上的需求量。通過增加資源響應(yīng)于請求的速度和最小化由過載資源引起的誤差和性能退化,加在網(wǎng)絡(luò)和計算資源上的需求的減少能提高網(wǎng)絡(luò)和計算資源的性能。通過檢索所請求的數(shù)據(jù)和用于同時預(yù)緩存的附加數(shù)據(jù),而不是多次查詢數(shù)據(jù)源,也能減少加在計算資源上的需求。因此,實施例解決了與如何提供用于在設(shè)備處預(yù)緩存的適當(dāng)數(shù)據(jù)相關(guān)聯(lián)的問題,例如,允許在設(shè)備處高速緩存數(shù)據(jù)集,由于改進選擇待高速緩存的數(shù)據(jù),提供與高速緩存的數(shù)據(jù)的較大集類似的優(yōu)點。
用戶可能請求的預(yù)緩存數(shù)據(jù)還允許客戶端設(shè)備更快速地呈現(xiàn)所請求的數(shù)據(jù),因為客戶端設(shè)備不必等待遍歷網(wǎng)絡(luò)的請求,服務(wù)器識別所請求的數(shù)據(jù),使所請求的數(shù)據(jù)到達客戶端設(shè)備。此外,通過在無需響應(yīng)于用戶提交的請求的網(wǎng)絡(luò)連接性的情況下呈現(xiàn)數(shù)據(jù),減少用戶受挫。通過有選擇地確定何時更新在高速緩存中存儲的數(shù)據(jù),還能減少加在網(wǎng)絡(luò)和計算資源上的需求。
在附圖和下述描述中,闡述在本說明書中描述的主題的一個或多個實施例的細(xì)節(jié)。本主題的其他特征、方面和優(yōu)點從描述、附圖和權(quán)利要求將變得顯而易見。
附圖說明
圖1是預(yù)緩存系統(tǒng)提供用于在客戶端設(shè)備處緩存的數(shù)據(jù)的示例環(huán)境。
圖2是賬戶管理系統(tǒng)管理賬戶數(shù)據(jù)并且提供呈現(xiàn)賬戶數(shù)據(jù)的用戶接口的示例環(huán)境。
圖3是呈現(xiàn)賬戶數(shù)據(jù)的示例用戶界面的屏幕截圖。
圖4是用于減少呈現(xiàn)賬戶數(shù)據(jù)的時延的示例過程的流程圖。
圖5是用于更新高速緩存的示例過程的流程圖。
圖6是用于向給定用戶指派用戶組并且基于所述用戶組,識別提供給所述給定用戶的數(shù)據(jù)的示例過程的流程圖。
圖7是用于生成呈現(xiàn)用于多個活動的賬戶數(shù)據(jù)的可視化的示例過程的流程圖。
各個圖中相同的參考編號和名稱指示相同的元件。
具體實施方式
系統(tǒng)能通過在客戶端設(shè)備提交對數(shù)據(jù)的請求前,通過將數(shù)據(jù)發(fā)送到客戶端設(shè)備并且在客戶端設(shè)備緩存所述數(shù)據(jù),減少呈現(xiàn)數(shù)據(jù)的時延。然而,能緩存的數(shù)據(jù)量通常小于可用數(shù)據(jù)量。因此,系統(tǒng)對不同用戶確定緩存哪些數(shù)據(jù),使得能實現(xiàn)由緩存數(shù)據(jù)提供的好處(例如,更快用戶界面更新和/或與用戶界面實時交互)。所述系統(tǒng)能基于用戶與呈現(xiàn)所述數(shù)據(jù)的用戶界面的先前交互,選擇提供給客戶端設(shè)備的數(shù)據(jù)。例如,如果用戶在特定時間段內(nèi)多次請求過特定數(shù)據(jù)(例如,上周內(nèi)的數(shù)據(jù)),所述系統(tǒng)可以在用戶真正提交對所述數(shù)據(jù)的請求前,提供那一時間段內(nèi)的所述特定數(shù)據(jù)。如果用戶稍后提交對所述數(shù)據(jù)的請求,在用戶設(shè)備處緩存所述數(shù)據(jù)并且比客戶端設(shè)備必須例如通過網(wǎng)絡(luò)從遠(yuǎn)程系統(tǒng)請求所述數(shù)據(jù)相比,更快地獲取和呈現(xiàn)所述數(shù)據(jù)。還能由遠(yuǎn)程系統(tǒng)緩存附加數(shù)據(jù),用于更快速地遞送給客戶端設(shè)備。
當(dāng)用戶訪問由所述系統(tǒng)管理的賬戶時,所述系統(tǒng)能發(fā)送用于向用戶呈現(xiàn)的數(shù)據(jù)和用于在用戶設(shè)備處緩存的數(shù)據(jù)。例如,當(dāng)用戶登錄所述賬戶時,所述系統(tǒng)能提供包括在儀表板內(nèi)的初始賬戶視圖和在用戶設(shè)備處緩存的附加數(shù)據(jù)的用戶界面。所述儀表板能包括賬戶的概覽,所述賬戶的概覽包括基于用戶與由所述系統(tǒng)提供的用戶界面的先前交互,對所述用戶選擇的數(shù)據(jù)的概述。還能基于用戶與由所述系統(tǒng)提供的用戶界面的先前交互,選擇呈現(xiàn)數(shù)據(jù)的方式。這些用戶交互能包括例如用戶查看、選擇或交互過的特定用戶界面元素(例如,控件、顯示卡等)、用戶請求或修改的數(shù)據(jù)的類型、和/或數(shù)據(jù)的維度(例如,在特定時間段內(nèi)或與特定地理位置有關(guān)的數(shù)據(jù))。然后,用戶能與儀表板的用戶界面元素交互來查看不同數(shù)據(jù)或查看不同類型的數(shù)據(jù)呈現(xiàn)。作為響應(yīng),能從緩存的數(shù)據(jù)獲取或從維護所述數(shù)據(jù)的系統(tǒng)請求適當(dāng)?shù)臄?shù)據(jù)。
能基于用戶被指派的用戶組,選擇在初始賬戶視圖中呈現(xiàn)的數(shù)據(jù)和/或為在客戶端設(shè)備處緩存提供的數(shù)據(jù)。例如,特定用戶組可以請求類似類型的數(shù)據(jù)和/或與類似類型的用戶界面元素交互。在特定示例中,具有類似角色但處于不同組織中的用戶可以請求和查看類似類型的數(shù)據(jù)和類似維度內(nèi)的數(shù)據(jù)。在一些實施方式中,能基于由所述組中的其他用戶執(zhí)行的動作,選擇對給定用戶緩存的數(shù)據(jù),即使當(dāng)所述給定用戶未執(zhí)行那些動作時。
圖1是預(yù)緩存系統(tǒng)110提供用于在客戶端設(shè)備130處緩存的數(shù)據(jù)的示例環(huán)境100。預(yù)緩存系統(tǒng)110能響應(yīng)于從客戶端設(shè)備130接收的數(shù)據(jù)請求140,提供來自數(shù)據(jù)存儲設(shè)備115的數(shù)據(jù)??蛻舳嗽O(shè)備130通過數(shù)據(jù)通信網(wǎng)絡(luò)120(例如,局域網(wǎng)(lan)、廣域網(wǎng)(wan)、互聯(lián)網(wǎng)或其組合),提供數(shù)據(jù)請求140。每一數(shù)據(jù)請求140能指定用戶使用客戶端設(shè)備130請求的特定數(shù)據(jù)。
響應(yīng)于每一數(shù)據(jù)請求140,預(yù)緩存系統(tǒng)110能從數(shù)據(jù)存儲設(shè)備115獲取所請求的數(shù)據(jù)并且將所請求的數(shù)據(jù)142提供給客戶端設(shè)備130。例如,預(yù)緩存系統(tǒng)110可以在一個或多個數(shù)據(jù)分組的一次或多次傳輸中,將所請求的數(shù)據(jù)142發(fā)送到客戶端設(shè)備130。預(yù)緩存系統(tǒng)110還能選擇和提供數(shù)據(jù)請求140未請求的附加數(shù)據(jù)144。例如,客戶端設(shè)備130的用戶可能未請求附加數(shù)據(jù)144。附加數(shù)據(jù)144能在客戶端設(shè)備130處被緩存,使得如果用戶請求附加數(shù)據(jù)144,能快速提供附加數(shù)據(jù)144且無需通過網(wǎng)絡(luò)120提交另一個數(shù)據(jù)請求。例如,附加數(shù)據(jù)144能被存儲在客戶端設(shè)備130的高速緩存135中。高速緩存135能包括安裝在客戶端設(shè)備130上并且存儲附加數(shù)據(jù)144的高速存儲器設(shè)備。
在一些實施方式中,預(yù)緩存系統(tǒng)110基于客戶端設(shè)備130的用戶,選擇附加數(shù)據(jù)144。例如,預(yù)緩存系統(tǒng)110可以基于用戶與向用戶呈現(xiàn)數(shù)據(jù)的一個或多個用戶界面(例如,由預(yù)緩存系統(tǒng)110提供的一個或多個用戶界面)的先前交互,選擇附加數(shù)據(jù)144。預(yù)緩存系統(tǒng)110用來選擇附加數(shù)據(jù)144的用戶交互能包括例如用戶交互的用戶界面元素(例如,控件、顯示卡、圖類型等)、用戶請求的數(shù)據(jù)的類型(例如,關(guān)鍵字、性能度量、出價等)、用戶請求的實際數(shù)據(jù)(例如,特定活動、特定關(guān)鍵字、特定內(nèi)容項等)、用戶請求的數(shù)據(jù)的維度(例如,特定時間段、特定地理位置、特定值范圍等)、用戶多久訪問一次所述賬戶和/或用戶選擇的偏好。例如,如果用戶先前用戶會話期間請求用于特定內(nèi)容遞送活動的上周的閃現(xiàn)數(shù)據(jù),預(yù)緩存系統(tǒng)110可以在用戶請求所述數(shù)據(jù)前,將用于特定活動的上周的閃現(xiàn)數(shù)據(jù)提供為用于當(dāng)前用戶會話的附加數(shù)據(jù)。
在一些實施方式中,一些數(shù)據(jù)請求140可以是常見的或隱含地請求而不是對特定數(shù)據(jù)的特定請求。例如,預(yù)緩存系統(tǒng)110可以生成和提供用戶界面,例如,儀表板,所述儀表板具有響應(yīng)于用戶登錄或訪問所述賬戶而提供賬戶概覽的初始賬戶視圖。能響應(yīng)于用戶登錄所述賬戶而不是對包括在所述概覽中的數(shù)據(jù)的特定請求,選擇數(shù)據(jù)的所述概述。預(yù)緩存系統(tǒng)110還能選擇和提供用戶查看儀表板后可能請求的附加數(shù)據(jù)。
在一些實施方式中,預(yù)緩存系統(tǒng)110還可以在預(yù)緩存系統(tǒng)110處緩存附加數(shù)據(jù)。以這種方式,預(yù)緩存系統(tǒng)能響應(yīng)于指定附加數(shù)據(jù)的數(shù)據(jù)請求,更快速地提供數(shù)據(jù)。能以與發(fā)送到客戶端設(shè)備130的附加數(shù)據(jù)144類似的方式,選擇所述附加數(shù)據(jù)。例如,預(yù)緩存系統(tǒng)110可以選擇附加數(shù)據(jù)集以供預(yù)緩存。預(yù)緩存系統(tǒng)110可以將附加數(shù)據(jù)的子集發(fā)送到客戶端設(shè)備130以在客戶端設(shè)備處緩存。預(yù)緩存系統(tǒng)110還可以在預(yù)緩存系統(tǒng)110處緩存所述附加數(shù)據(jù)的子集。例如,預(yù)緩存系統(tǒng)110可以從附加數(shù)據(jù)集識別用戶最可能選擇的數(shù)據(jù)并且將那一數(shù)據(jù)提供給客戶端設(shè)備130??梢栽陬A(yù)緩存系統(tǒng)110處緩存所述附加數(shù)據(jù)集中的剩余數(shù)據(jù)。在預(yù)緩存系統(tǒng)110處緩存能減少將數(shù)據(jù)提供給客戶端設(shè)備130的時延,因為響應(yīng)于對所述數(shù)據(jù)的請求,從數(shù)據(jù)存儲設(shè)備115獲取數(shù)據(jù)會花費時間并且增加對用來獲取所述數(shù)據(jù)的計算資源的需求。
圖2是賬戶管理系統(tǒng)210管理在線賬戶數(shù)據(jù)并且提供呈現(xiàn)賬戶數(shù)據(jù)的用戶界面的示例環(huán)境200。賬戶管理系統(tǒng)210能包括位于一個或多個數(shù)據(jù)中心處的一個或多個服務(wù)器。一個或多個服務(wù)器能通過數(shù)據(jù)通信網(wǎng)絡(luò)250(例如,lan、wan、互聯(lián)網(wǎng)或其組合)接收對在線賬戶數(shù)據(jù)的請求。例如,賬戶管理系統(tǒng)210能包括通過網(wǎng)絡(luò)250接收對在線數(shù)據(jù)的請求并且將所請求的數(shù)據(jù)提供給客戶端設(shè)備262和272的一個或多個前端服務(wù)器240。賬戶管理系統(tǒng)210還能包括一個或多個后端服務(wù)器,所述一個或多個后端服務(wù)器從前端服務(wù)器接收請求、基于請求獲取適當(dāng)?shù)馁~戶數(shù)據(jù)、并且將獲取的數(shù)據(jù)提供給前端服務(wù)器240。
賬戶管理系統(tǒng)210能管理多個不同賬戶持有者的多個不同賬戶的在線賬戶數(shù)據(jù)。例如,賬戶管理系統(tǒng)210能管理用于多個不同組織(例如,賬戶持有者260和270)的賬戶數(shù)據(jù)。雖然在圖2中示出了兩個賬戶持有者260和270,但賬戶管理系統(tǒng)210能管理用于其他數(shù)目的賬戶持有者的賬戶數(shù)據(jù)。下文所述的系統(tǒng)和技術(shù)還能應(yīng)用于各種其他類型的數(shù)據(jù)。
由賬戶管理系統(tǒng)210管理的賬戶數(shù)據(jù)能包括與賬戶有關(guān)的任何數(shù)據(jù),諸如內(nèi)容項的性能數(shù)據(jù)(例如,閃現(xiàn)數(shù)目、點擊率、轉(zhuǎn)化率等)、用于賬戶持有者的預(yù)算信息和/或內(nèi)容項分發(fā)標(biāo)準(zhǔn)。用于每一賬戶持有者的賬戶數(shù)據(jù)被存儲在賬戶數(shù)據(jù)存儲設(shè)備227中,其可以包括位于一個或多個數(shù)據(jù)中心中的多個數(shù)據(jù)存儲設(shè)備??梢詥为毢捅C艿卮鎯τ糜诿恳毁~戶持有者的賬戶數(shù)據(jù),使得用于一個賬戶持有者的賬戶數(shù)據(jù)不會被提供給不同賬戶持有者的用戶。
每一賬戶持有者260和270能具有被授權(quán)來查看與賬戶持有者的賬戶有關(guān)的數(shù)據(jù)的一個或多個授權(quán)用戶。例如,組織可以具有被授權(quán)來管理賬戶管理系統(tǒng)210維護賬戶數(shù)據(jù)的活動的多個用戶。被授權(quán)訪問賬戶持有者260的賬戶數(shù)據(jù)的每一用戶能使用客戶端設(shè)備262-1至262-n來訪問賬戶數(shù)據(jù)。類似地,被授權(quán)以訪問賬戶持有者270的賬戶數(shù)據(jù)的每一用戶能使用客戶端設(shè)備272-1至272-n來訪問賬戶數(shù)據(jù)。在準(zhǔn)許訪問賬戶數(shù)據(jù)前,可以提示用戶輸入證書(例如,用戶名和密碼)。
客戶端設(shè)備是能夠通過網(wǎng)絡(luò)250請求和接收電子資源和其他數(shù)據(jù)的電子設(shè)備。示例客戶端設(shè)備包括個人計算機、移動通信設(shè)備(例如,智能電話、平板計算設(shè)備和/或智能手表),以及能通過網(wǎng)絡(luò)250發(fā)送和接收數(shù)據(jù)的其他設(shè)備。客戶端設(shè)備通常包括用戶應(yīng)用(諸如web瀏覽器),以促進通過網(wǎng)絡(luò)250發(fā)送和接收數(shù)據(jù)。web瀏覽器能使用戶與通常位于網(wǎng)站的網(wǎng)頁上的文本、圖像、視頻、音樂和其他信息交互。客戶端設(shè)備能包括其他應(yīng)用,例如,為特定類型的設(shè)備或特定平臺開發(fā)的本原應(yīng)用(nativeapplication)。
每一客戶端設(shè)備262和272能包括高速緩存264和賬戶查看器266。賬戶查看器266是向客戶端設(shè)備的用戶呈現(xiàn)賬戶數(shù)據(jù)的應(yīng)用。賬戶查看器266可以是從賬戶管理系統(tǒng)210請求賬戶數(shù)據(jù)并且使用一個或多個用戶界面呈現(xiàn)賬戶數(shù)據(jù)的web瀏覽器或本原應(yīng)用,如下文更詳細(xì)所述。
高速緩存264包括存儲可以由賬戶查看器266呈現(xiàn)的賬戶數(shù)據(jù)的高速存儲器設(shè)備。例如,高速緩存264可以包括隨機存取存儲器(sram)和/或固態(tài)存儲器設(shè)備。高速緩存264可以存儲客戶端設(shè)備的用戶未請求過的賬戶數(shù)據(jù)。當(dāng)用戶請求在高速緩存264中存儲的賬戶數(shù)據(jù)時,賬戶查看器266能從高速緩存264快速地獲取所述賬戶數(shù)據(jù),無需通過網(wǎng)絡(luò)250提交對所述賬戶數(shù)據(jù)的請求。對數(shù)據(jù)的所述預(yù)緩存減少呈現(xiàn)賬戶數(shù)據(jù)的時延并且減少對網(wǎng)絡(luò)250以及賬戶管理系統(tǒng)210的計算資源的需求。
在一些實施方式中,賬戶查看器266能被配置成響應(yīng)于對賬戶數(shù)據(jù)的請求,檢查高速緩存264。如果在高速緩存264中找到所請求的賬戶數(shù)據(jù),賬戶查看器266能從高速緩存264獲取所述賬戶數(shù)據(jù)并且將所述賬戶數(shù)據(jù)呈現(xiàn)給用戶。如果所請求的賬戶數(shù)據(jù)不在高速緩存中,賬戶查看器266能例如通過通過網(wǎng)絡(luò)250提交請求,從賬戶管理系統(tǒng)210請求賬戶數(shù)據(jù)。
賬戶管理系統(tǒng)210包括數(shù)據(jù)傳輸子系統(tǒng)220、交互記錄器230和用戶組引擎235。數(shù)據(jù)傳輸子系統(tǒng)220接收和響應(yīng)于對賬戶數(shù)據(jù)的請求。數(shù)據(jù)請求可以包括對特定賬戶數(shù)據(jù)的特定請求。特定請求的示例是對特定活動并且在特定時間段期間的性能數(shù)據(jù)的請求。賬戶管理系統(tǒng)210還能響應(yīng)于常見或隱含請求,提供賬戶數(shù)據(jù)。常見或隱含請求的示例是用戶登錄到用戶被授權(quán)訪問的賬戶。在所述示例中,數(shù)據(jù)傳輸子系統(tǒng)220可以選擇數(shù)據(jù)的概述以在所述用戶的初始賬戶視圖中提供。
數(shù)據(jù)傳輸子系統(tǒng)220包括數(shù)據(jù)選擇器221和用戶界面生成器229。數(shù)據(jù)選擇器221響應(yīng)于從客戶端設(shè)備接收的數(shù)據(jù)請求(例如,特定、常見或隱含請求),識別要提供的賬戶數(shù)據(jù)。例如,數(shù)據(jù)選擇器221可以訪問賬戶數(shù)據(jù)存儲設(shè)備227來獲取由特定數(shù)據(jù)請求指定的特定數(shù)據(jù)。對常見或隱含數(shù)據(jù)請求,數(shù)據(jù)選擇器221能基于做出請求的特定用戶,選擇賬戶數(shù)據(jù)的子集。賬戶數(shù)據(jù)的所述子集是用戶被授權(quán)以訪問的賬戶的賬戶數(shù)據(jù)的子集。例如,如下文更詳細(xì)所述,數(shù)據(jù)選擇器221可以基于用戶與由賬戶管理系統(tǒng)210提供的用戶界面的先前交互,選擇要提供的賬戶數(shù)據(jù)的子集。
用戶界面生成器229能生成呈現(xiàn)賬戶數(shù)據(jù)的各種用戶界面。用戶界面能包括儀表板,所述儀表板包括使用戶請求并且以各種格式(例如,圖、圖表、表等)查看各種數(shù)據(jù)的用戶界面元素(例如,控件、顯示卡、菜單等)。每次用戶初始地訪問賬戶(例如響應(yīng)于用戶登錄到賬戶時),儀表板可以呈現(xiàn)初始賬戶視圖。所述初始賬戶視圖能包括例如提供賬戶的概覽并且適合于訪問所述賬戶的用戶的賬戶數(shù)據(jù)的子集。如下文更詳細(xì)所述,賬戶數(shù)據(jù)的概述能包括基于與由賬戶管理系統(tǒng)210提供的用戶界面的用戶的先前交互而選擇的數(shù)據(jù)。
用戶界面能包括一個或多個顯示卡用戶界面元素。每一顯示卡能以特定方式呈現(xiàn)特定類型的數(shù)據(jù)。例如,第一顯示卡可以呈現(xiàn)用于表中的內(nèi)容項的閃現(xiàn)數(shù)據(jù),而第二顯示卡可以呈現(xiàn)用于使用條形圖分發(fā)內(nèi)容項的多個關(guān)鍵字的點擊率。在一些實施方式中,用戶界面生成器229基于與顯示卡或其他用戶界面元素的用戶的先前交互,選擇要在初始賬戶視圖中提供的顯示卡。例如,如果用戶選擇查看特定顯示卡至少閾值多次,用戶界面生成器229可以在初始賬戶視圖中提供特定顯示卡。在另一示例中,用戶界面生成器229可以將用戶選擇以最大頻率查看的一個或多個顯示卡包括在初始賬戶視圖中。如下文更詳細(xì)所述,用戶界面生成器229還可以基于用戶被指派的用戶組,選擇以包含在初始賬戶視圖中的顯示卡。在圖3中示出示例用戶界面并且在下文描述。
交互記錄器230記錄描述用戶與由賬戶管理系統(tǒng)210提供和/或由賬戶查看器226呈現(xiàn)的用戶界面的交互的數(shù)據(jù)。如下文更詳細(xì)所述,所述交互數(shù)據(jù)被用來選擇被提供給用戶的賬戶數(shù)據(jù)。例如,每一用戶可以登錄他們的賬戶來查看賬戶數(shù)據(jù)和/或?qū)τ脩舯皇跈?quán)查看并且進行改變的賬戶進行變更。當(dāng)用戶登錄時,在用戶的許可下,交互記錄器230能接收描述用戶與用戶界面交互的數(shù)據(jù)并且將所述數(shù)據(jù)存儲在安全交互日志232中。例如,賬戶查看器266可以包括獲取用于每一交互的數(shù)據(jù)并且將所述數(shù)據(jù)提供給交互記錄器230的嵌入式腳本。描述在交互日志232中存儲的用戶的交互的數(shù)據(jù)能包括例如用戶交互的用戶界面元素(例如,控件、顯示卡、圖類型等)、用戶請求的數(shù)據(jù)的類型(例如,關(guān)鍵字、性能度量、出價等)、用戶請求的實際數(shù)據(jù)(例如,特定活動、特定關(guān)鍵字、特定內(nèi)容項等)、用戶請求的數(shù)據(jù)的維度(例如,特定時間段、特定地理位置、特定值范圍等)、用戶多久訪問一次所述賬戶、用戶選擇的偏好和/或其他適當(dāng)?shù)慕换?shù)據(jù)。
在一些實施方式中,交互記錄器230對每一用戶,生成包括登錄數(shù)據(jù)的用戶簡檔。在用于用戶的用戶簡檔中,交互記錄器230可以包括識別用戶交互的每一用戶交互元素的數(shù)據(jù)、用戶與用戶界面元素交互的次數(shù),和/或用戶與用戶界面元素交互的頻率。用于用戶的用戶簡檔還可以包括識別用戶請求的每種數(shù)據(jù)的數(shù)據(jù)、用戶請求每種數(shù)據(jù)的次數(shù)、以及用戶請求每種數(shù)據(jù)的頻率。對用戶請求的實際數(shù)據(jù)的每一特定部分,能存儲相同識別和頻率數(shù)據(jù)。對每種類型的數(shù)據(jù)和/或?qū)τ脩粽埱蟮臄?shù)據(jù)的每一特定部分,用戶簡檔能包括用于所述數(shù)據(jù)的維度。例如,如果用戶在特定時間段期間請求特定內(nèi)容項的性能,用戶簡檔將包括指定用于該類型的數(shù)據(jù)(性能數(shù)據(jù))和用于實際數(shù)據(jù)(特定內(nèi)容項的性能)的特定時間段的數(shù)據(jù)。在用戶訪問在線賬戶的每一用戶會話中,用戶交互記錄器230能更新用戶簡檔以描述在所述用戶會話期間,用戶與數(shù)據(jù)和用戶界面元素的交互。
用戶組引擎235能基于與由賬戶管理系統(tǒng)210提供的用戶界面的他們的交互,將用戶指派到用戶組。例如,用戶組引擎235可以基于他們的用戶簡檔之間的相似度,將用戶指派到用戶組。用戶組能基于他們的用戶簡檔,將與所述組中的每一其他用戶具有至少閾值相似度的用戶包括為所述用戶組的成員。例如,基于在兩個用戶的簡檔中存儲的數(shù)據(jù)之間的相似度,對每一用戶對,確定相似度分?jǐn)?shù)。如果相似度分?jǐn)?shù)滿足閾值(例如,通過滿足或超出閾值),兩個用戶可以被一起包括用戶組中。相似度分?jǐn)?shù)能基于兩個用戶之間的多個匹配特性。例如,如果兩個用戶請求相同類型的數(shù)據(jù)和/或選擇相同的用戶界面元素,兩個用戶可以比兩個用戶未請求過相同類型的數(shù)據(jù)或未選擇過相同的用戶界面元素的情況具有更高的相似度分?jǐn)?shù)。用戶組能被用來識別賬戶數(shù)據(jù)和用戶界面元素以提供給組成員,如下文更詳細(xì)所述。
在一些實施方式中,用戶組基于組織中的特定角色。例如,用戶組引擎235可以創(chuàng)建和填充用于產(chǎn)品管理者的用戶組和用于會計員的另一用戶組。用于特定角色的用戶組能包括具有與用于特定角色的簡檔匹配或類似的用戶簡檔的用戶。例如,特定角色的用戶可以訪問類似數(shù)據(jù)維度上的類似類型的數(shù)據(jù)和/或查看相同或類似的用戶界面元素。
用戶組能包括用于多個不同賬戶持有者的用戶。例如,用于產(chǎn)品管理者的用戶組可以包括用于多個不同組織的產(chǎn)品管理者。以這種方式,來自不同組織的用戶交互的模式能被用來識別更可能由具有相同或者類似角色的用戶請求的數(shù)據(jù)類型。在圖6中示出將用戶指派到用戶組的示例過程并且在下文描述。
如上所述,數(shù)據(jù)選擇器221能基于用戶與由賬戶管理系統(tǒng)210提供的用戶界面的先前交互,選擇數(shù)據(jù)以提供給用戶。特別地,數(shù)據(jù)選擇器221可以基于用戶與由賬戶管理系統(tǒng)210提供的用戶界面的先前交互,以針對所述用戶選擇在初始賬戶視圖中提供的數(shù)據(jù)。例如,當(dāng)用戶訪問賬戶管理系統(tǒng)210處的賬戶時,數(shù)據(jù)選擇器221可以響應(yīng)于用戶訪問所述賬戶,選擇賬戶數(shù)據(jù)的第一數(shù)據(jù)集以在初始賬戶視圖中提供,并且由客戶端設(shè)備緩存潛在數(shù)據(jù),即使該數(shù)據(jù)不用于初始賬戶視圖中。
數(shù)據(jù)選擇器221可以基于用戶請求或查看特定數(shù)據(jù)的頻率、用戶請求或查看特定類型的數(shù)據(jù)的頻率、用戶與特定用戶界面元素交互的頻率,和/或包括在用戶簡檔中的其他數(shù)據(jù),選擇用于包含在第一數(shù)據(jù)集中的數(shù)據(jù)。例如,初始賬戶視圖可以包括例如由用戶界面生成器229選擇的特定數(shù)目個卡。數(shù)據(jù)選擇器221能選擇第一數(shù)據(jù)集以填充數(shù)據(jù)卡。所述第一數(shù)據(jù)集可以包括更頻繁請求的數(shù)據(jù)和/或更頻繁選擇的數(shù)據(jù)類型以包括在顯示卡中。
數(shù)據(jù)選擇器221可以基于用戶請求的數(shù)據(jù)維度,選擇第一數(shù)據(jù)集。例如,第一數(shù)據(jù)集可以包括用于用戶先前請求數(shù)據(jù)的特定時間段的數(shù)據(jù)。在特定示例中,用戶僅對最新數(shù)據(jù)(例如,用于在上周發(fā)生的事件的數(shù)據(jù))感興趣。在所述示例中,用戶通常請求上周的數(shù)據(jù),而不請求更早的數(shù)據(jù)。在用戶登錄前,數(shù)據(jù)選擇器221可以為所述用戶提供包括與本周中發(fā)生的事件有關(guān)的數(shù)據(jù)的第一數(shù)據(jù)集以在初始賬戶視圖中呈現(xiàn)。數(shù)據(jù)選擇器221可以確定不向所述用戶提供更早數(shù)據(jù)直到用戶請求所述數(shù)據(jù)為止,導(dǎo)致通過網(wǎng)絡(luò)提供以及在客戶端設(shè)備處存儲更少數(shù)據(jù)。
還可以基于頻率,選擇用在選擇第一數(shù)據(jù)集中的數(shù)據(jù)維度。例如,用戶可以請求用于不同時間段或不同地理位置的數(shù)據(jù)。數(shù)據(jù)選擇器221可以基于最頻繁請求的時間段或地理位置,選擇第一數(shù)據(jù)集。
數(shù)據(jù)選擇器221可以基于將針對用戶在初始賬戶視圖中呈現(xiàn)的數(shù)據(jù)類型,選擇用于初始賬戶視圖的第一數(shù)據(jù)集。例如,特定顯示卡可以呈現(xiàn)特定類型的數(shù)據(jù)。如果對初始賬戶視圖選擇特定卡,那么數(shù)據(jù)選擇器221可以選擇用于填充特定顯示卡的適當(dāng)數(shù)據(jù)以包括在第一數(shù)據(jù)集中。
在一些實施方式中,數(shù)據(jù)選擇器221還能基于用戶被指派的用戶組或角色,選擇第一數(shù)據(jù)集。例如,所述組中或具有相同角色的其他用戶請求特定類型的數(shù)據(jù)或與特定用戶界面元素(例如,特定顯示卡)交互。數(shù)據(jù)選擇器221可以將所述組中(或被指派相同角色)的其他用戶請求的數(shù)據(jù)類型包括在第一數(shù)據(jù)集中,當(dāng)用戶對這些類型的數(shù)據(jù)感興趣或查找這些類型的數(shù)據(jù)時有用。當(dāng)然,來自其他賬戶的實際數(shù)據(jù)將不包括在第一數(shù)據(jù)集中。相反,數(shù)據(jù)選擇器221可以識別用戶被授權(quán)訪問的賬戶內(nèi),所述組中的其他用戶請求過的相同類型的賬戶數(shù)據(jù)。
數(shù)據(jù)選擇器221基于組中的其他用戶請求或查看數(shù)據(jù)類型的頻率,選擇由所述用戶組中的其他人請求的數(shù)據(jù)的類型以包括在第一數(shù)據(jù)集中。例如,如果所述組作為整體最頻繁請求或查看特定類型的數(shù)據(jù),那一特定類型的數(shù)據(jù)可以被包括在第一數(shù)據(jù)集中。數(shù)據(jù)選擇器221還能基于請求或查看數(shù)據(jù)的類型的其他用戶的數(shù)目,選擇由所述用戶組中的其他用戶請求的數(shù)據(jù)的類型以包括在第一數(shù)據(jù)集中。例如,可以將由大多數(shù)用戶(或至少閾值數(shù)目的用戶)請求或查看過的特定類型的數(shù)據(jù)可以包括在第一數(shù)據(jù)集中。
類似地,用戶界面生成器229能基于所述用戶組中的其他用戶選擇或查看過的用戶界面元素,選擇用戶界面元素,例如顯示卡以包括在初始賬戶視圖中。例如,用戶界面生成器229可以基于用戶組中的用戶選擇或查看用戶界面元素的次數(shù)和/或選擇或查看用戶界面元素的組中的用戶數(shù)目,選擇用于初始賬戶視圖的用戶界面元素。
通過基于用戶與由賬戶管理系統(tǒng)210提供的用戶界面的先前交互和/或基于包括在組中的其他用戶與所述用戶的交互,選擇用戶界面元素和數(shù)據(jù)以包括在用于用戶的初始賬戶視圖中,賬戶管理系統(tǒng)210能提供可能對用戶最有用的數(shù)據(jù)的概述,由此提高數(shù)據(jù)的概述的有效性。這會導(dǎo)致更大用戶滿意度以及減少對由用戶提交的附加數(shù)據(jù)的請求數(shù)目。由此,所述選擇過程能減少對網(wǎng)絡(luò)施加的需求以及由網(wǎng)絡(luò)引起的時延。
數(shù)據(jù)選擇器221包括預(yù)緩存引擎223和活動分組器225。預(yù)緩存引擎223能響應(yīng)于對賬戶數(shù)據(jù)的請求,選擇一個或多個第二數(shù)據(jù)集以提供給客戶端設(shè)備。預(yù)緩存引擎223能響應(yīng)于對特定數(shù)據(jù)的特定請求和/或?qū)?shù)據(jù)的常見或隱含請求(例如,用戶登錄到賬戶),選擇第二數(shù)據(jù)集。預(yù)緩存引擎223能在接收對包括在第二數(shù)據(jù)集中的數(shù)據(jù)的請求前,選擇和提供第二數(shù)據(jù)集。例如,第二數(shù)據(jù)集能是在特定請求中指定的或未選擇以包括在為初始賬戶視圖提供的第一數(shù)據(jù)集中的數(shù)據(jù)。
預(yù)緩存引擎223能將響應(yīng)于特定請求獲取的賬戶數(shù)據(jù),或與第一數(shù)據(jù)集一起將第二數(shù)據(jù)集發(fā)送到客戶端設(shè)備?;蛘?,在其他數(shù)據(jù)被發(fā)送到客戶端設(shè)備后,預(yù)緩存引擎223能提供第二數(shù)據(jù)集。客戶端設(shè)備能將第二數(shù)據(jù)集存儲在高速緩存264中。以這種方式,在用戶請求這種數(shù)據(jù)的情況下,能將第二數(shù)據(jù)集的賬戶數(shù)據(jù)更快速地呈現(xiàn)給用戶。
預(yù)緩存引擎223能基于用戶與由賬戶管理系統(tǒng)210提供的用戶界面的先前交互和/或用戶被指派的用戶組或角色,選擇數(shù)據(jù)以包括在用于用戶的第二數(shù)據(jù)集中。用來選擇第一數(shù)據(jù)集的類似標(biāo)準(zhǔn)能被用來選擇第二數(shù)據(jù)集。例如,預(yù)緩存引擎223能基于用戶請求或查看特定數(shù)據(jù)的頻率、用戶請求或查看特定類型的數(shù)據(jù)的頻率、用戶與特定用戶界面元素交互的頻率、用戶請求的數(shù)據(jù)維度、用戶組中的其他用戶請求或查看數(shù)據(jù)類型的頻率、請求或查看數(shù)據(jù)類型的用戶組中的其他用戶的數(shù)目和/或與用戶與用戶界面的交互有關(guān)的其他適當(dāng)數(shù)據(jù)和與其他用戶與用戶界面的交互有關(guān)的數(shù)據(jù),選擇用于包括在第二數(shù)據(jù)集中的數(shù)據(jù)。
在一些實施方式中,基于用戶與用戶界面的先前交互,選擇第一數(shù)據(jù)集,同時基于用戶組中的其他用戶或用戶被指派的角色的交互,選擇第二數(shù)據(jù)集。在一些實施方式中,均基于用戶與由賬戶管理系統(tǒng)210提供的用戶界面的先前交互和用戶組中的其他用戶或用戶被指派的角色的交互的組合,選擇第一數(shù)據(jù)集和第二數(shù)據(jù)集。在所述示例中,使用戶的交互加權(quán)高于用戶組中的其他用戶或用戶被指派的角色的交互。
在一些實施方式中,預(yù)緩存引擎223可以將第二數(shù)據(jù)集、第二數(shù)據(jù)集的一部分或不同的第三數(shù)據(jù)集存儲在前端服務(wù)器240的高速緩存245中。例如,前端服務(wù)器240可以包括或耦合到包括諸如sram和/或固態(tài)存儲器設(shè)備的高速存儲器的高速緩存245。在一些實施方式中,第二數(shù)據(jù)集可以存儲在賬戶管理系統(tǒng)210的高速緩存245中,而不是客戶端設(shè)備的高速緩存中。在一些實施方式中,第二數(shù)據(jù)集的一部分被存儲在賬戶管理系統(tǒng)210的高速緩存245中,以及在客戶端設(shè)備處緩存第二數(shù)據(jù)集的一部分。
在一些實施方式中,第二數(shù)據(jù)集可以被存儲在客戶端設(shè)備的高速緩存中,以及第三數(shù)據(jù)集可以被存儲在賬戶管理系統(tǒng)210的高速緩存245中。以與第二數(shù)據(jù)集類似的方式,選擇第三數(shù)據(jù)集。通過將附加數(shù)據(jù)存儲在前端服務(wù)器處,能減少響應(yīng)于對附加數(shù)據(jù)的請求,呈現(xiàn)附加數(shù)據(jù)的時延,因為消除從賬戶數(shù)據(jù)存儲設(shè)備227識別和檢索數(shù)據(jù)所需的時間。
活動分組器225能識別類似,但具有所有活動不同的特定特性的活動組(或其他信息組)。例如,賬戶持有者可以具有用于使用相同關(guān)鍵字和內(nèi)容項的相同產(chǎn)品或服務(wù)的多個不同活動。然而,每一活動可以針對不同狀態(tài)。在所述示例中,對每一活動,內(nèi)容項分發(fā)標(biāo)準(zhǔn)可以相同,除能分發(fā)用于每一活動的內(nèi)容項的狀態(tài)外?;顒臃纸M器225能識別這些活動并且將其添加到活動組。
用戶界面生成器229能對每一活動組,生成高亮活動之間的區(qū)別以及基于所述區(qū)別的活動性能的任何差別的可視化。繼續(xù)前一示例,用戶界面生成器229可以生成包括第五狀態(tài)的地圖的可視化。在所述圖上,可視化可以高亮每一狀態(tài)中的活動的性能,例如,使用性能編號、圖示性能顏色,或高亮不同狀態(tài)的活動之間的差異的另一視覺效果。
在另一示例中,用戶界面生成器229可以生成高亮基于對所述活動提供內(nèi)容項的星期幾不同的相同或類似活動的性能的差異的可視化。例如,熱圖可以被用來示出所述周的不同時間的活動的相對性能。在又一示例中,多個活動可以僅基于關(guān)鍵字類型的匹配(例如,精確匹配、寬泛匹配等)不同。在所述示例中,用戶界面可以呈現(xiàn)用于每種類型的關(guān)鍵字匹配的活動的性能。
圖3是呈現(xiàn)賬戶數(shù)據(jù)的示例用戶界面310的屏幕截圖300。示例用戶界面310包括在用于所述賬戶的儀表板中顯示的賬戶的初始賬戶視圖。例如,基于在用戶訪問賬戶的先前用戶會話期間給定用戶與用戶界面的交互,針對給定用戶生成初始賬戶視圖。
用戶界面310包括菜單320和顯示卡集330。菜單310能提供用戶能選擇以查看的其他顯示卡的列表。用戶界面310還能提供用戶能選擇以查看的數(shù)據(jù)列表。響應(yīng)于對菜單320中的項的選擇,用戶界面310能使呈現(xiàn)用戶界面310的客戶端設(shè)備請求所選擇顯示卡或所選擇數(shù)據(jù)。例如,客戶端設(shè)備可以首先訪問客戶端設(shè)備的緩存以確定所選擇數(shù)據(jù)(或?qū)⒃谒x擇顯示卡中呈現(xiàn)的數(shù)據(jù))是否存儲在緩存中。如果是,客戶端設(shè)備能從緩存獲取數(shù)據(jù)并且在用戶界面310中呈現(xiàn)數(shù)據(jù)。如果數(shù)據(jù)未存儲在緩存中,客戶端設(shè)備能從遠(yuǎn)程系統(tǒng)(例如圖2的賬戶管理系統(tǒng)210)請求數(shù)據(jù)。
每一顯示卡能以特定方式呈現(xiàn)特定類型的數(shù)據(jù)。例如,顯示卡331呈現(xiàn)性能數(shù)據(jù)(例如,轉(zhuǎn)化數(shù)目、點擊數(shù)目和閃現(xiàn)數(shù)目)以及用于活動的成本數(shù)據(jù)。顯示卡331以數(shù)值格式呈現(xiàn)所述數(shù)據(jù)以及還包括呈現(xiàn)性能和/或成本數(shù)據(jù)的一部分的線圖。
顯示卡333以表格的形式呈現(xiàn)用于若干活動的性能和成本數(shù)據(jù)。類似地,顯示卡337以表格的形式呈現(xiàn)用于被用來分發(fā)內(nèi)容項的若干關(guān)鍵字的性能和成本數(shù)據(jù)。另一顯示卡335呈現(xiàn)圖示用于呈現(xiàn)用于活動的內(nèi)容項的不同類型的設(shè)備的性能和成本數(shù)據(jù)的條形圖。又一顯示卡339呈現(xiàn)隨時間圖示活動度量(例如,性能度量、成本度量等)的熱圖。例如,熱圖中的每一方形的深色可以基于用于對應(yīng)時間的度量的值改變。能通過選擇顯示卡339的頂部的“天”、“天&小時”或“小時”,調(diào)整用于熱圖的時間范圍。
如上所述,基于用戶與用戶界面的先前交互和/或用戶被指派的用戶組,選擇包括在初始賬戶視圖中的顯示卡和/或數(shù)據(jù)。例如,可以基于在與賬戶的先前用戶會話期間用戶選擇顯示卡331-339,選擇顯示卡331-339和由顯示卡331-339呈現(xiàn)的數(shù)據(jù)。此外,可以基于用戶先前請求與這些活動有關(guān)的數(shù)據(jù),選擇包括在顯示卡333中的活動。類似地,可以基于用戶請求與這些關(guān)鍵字有關(guān)的數(shù)據(jù),選擇包括在顯示卡337中的關(guān)鍵字。在另一示例中,可以基于用戶先前與顯示卡339(或另一顯示卡)交互,選擇在顯示卡339中呈現(xiàn)的時間范圍以查看那一時間段的數(shù)據(jù)。
在用戶請求附加卡前,具有附加數(shù)據(jù)的附加卡能被提供給客戶端設(shè)備并且在客戶端設(shè)備處緩存。例如,用戶界面310包括五個顯示卡331-339。然而,用戶通常查看9個不同的顯示卡。當(dāng)用戶登錄所述賬戶時,在用戶界面中呈現(xiàn)的五個顯示卡和其他四個顯示卡(連同在顯示卡中呈現(xiàn)的數(shù)據(jù))能被提供給客戶端設(shè)備。以這種方式,當(dāng)用戶選擇4個顯示卡中的一個時,能在無需通過網(wǎng)絡(luò)提交另一請求的情況下將所選擇的顯示卡快速地呈現(xiàn)給用戶。
另一示例顯示卡能示出在用戶設(shè)備處顯示特定內(nèi)容項的方式。例如,可以基于以下各項以不同的方式呈現(xiàn)內(nèi)容項:呈現(xiàn)內(nèi)容項的客戶端設(shè)備的類型(例如,可以在智能電話上,與臺式計算機不同地呈現(xiàn)內(nèi)容項)、呈現(xiàn)內(nèi)容項的資源的位置(例如,可以與在網(wǎng)頁的一側(cè)上不同地在網(wǎng)頁的頂部呈現(xiàn)內(nèi)容項)或呈現(xiàn)內(nèi)容項的資源的類型(例如,可以與博客不同地在搜索結(jié)果頁上呈現(xiàn)內(nèi)容項)。對所述顯示卡,用戶界面生成器229能做出關(guān)于對內(nèi)容項的每一閃現(xiàn)如何顯示內(nèi)容項的概率性確定以及顯示如何呈現(xiàn)內(nèi)容項的表示。例如,用戶界面生成器229可以基于呈現(xiàn)內(nèi)容項的設(shè)備的類型、呈現(xiàn)內(nèi)容項的資源的位置、呈現(xiàn)內(nèi)容項的資源的類型和/或能影響內(nèi)容項的呈現(xiàn)的其他適當(dāng)數(shù)據(jù),對特定閃現(xiàn)做出概率性確定。
顯示卡能呈現(xiàn)確定呈現(xiàn)內(nèi)容項的方式的子集。例如,用戶界面生成器229可以針對對內(nèi)容項的每一閃現(xiàn),做出如何顯示內(nèi)容項的概率性確定。用戶界面生成器229可以基于概率性確定,計數(shù)用于呈現(xiàn)內(nèi)容項的每一方式的閃現(xiàn)數(shù)目。然后,用戶界面生成器229生成描繪用于具有最多閃現(xiàn)的方式的內(nèi)容項的表示的顯示卡。例如,可以在顯示卡中呈現(xiàn)基于閃現(xiàn)的前4個表示。以這種方式,用戶能快速地看到內(nèi)容項有多大可能被呈現(xiàn)給用戶。
圖4是用于減少呈現(xiàn)賬戶數(shù)據(jù)的時延的示例過程400的流程圖。例如,通過數(shù)據(jù)處理裝置,諸如圖2的賬戶管理系統(tǒng)210,實現(xiàn)過程400的操作。還能通過在計算機存儲介質(zhì)上存儲的指令,實現(xiàn)過程400,通過數(shù)據(jù)處理裝置執(zhí)行所述指令使得數(shù)據(jù)處理裝置執(zhí)行過程400的操作。
對在線賬戶授權(quán)給定用戶(402)。在線賬戶可以是用戶具有訪問的賬戶。例如,用戶可以是賬戶管理系統(tǒng)管理組織的賬戶數(shù)據(jù)的組織的雇員。多個不同用戶有權(quán)訪問所述賬戶。例如,組織可以具有不同角色(例如,產(chǎn)品管理者、品牌管理者、活動管理者等)的不同雇員,所述不同雇員分別有權(quán)訪問在線賬戶以查看和/或修改與所述雇員有關(guān)的數(shù)據(jù)。
基于通過給定用戶的客戶端設(shè)備提交的數(shù)據(jù),認(rèn)證給定用戶。例如,用戶可以提供唯一用戶名和密碼來訪問在線賬戶。如果由給定用戶提供的用戶名和密碼與對所述給定用戶存儲的用戶名和密碼匹配,對所述在線賬戶認(rèn)證所述用戶。
響應(yīng)于認(rèn)證用戶,對所述給定用戶發(fā)起用戶會話(404)。用戶會話允許用戶查看用于在線賬戶的賬戶數(shù)據(jù)。能使用一個或多個用戶界面,將賬戶數(shù)據(jù)呈現(xiàn)給用戶。例如,可以將儀表板呈現(xiàn)給用戶。所述儀表板能包括具有賬戶的概覽的初始賬戶視圖。此外,儀表板可以包括使用戶請求附加數(shù)據(jù)或選擇給定用戶感興趣的其他顯示卡的鏈接或其他用戶界面控件。
識別給定用戶被指派到的用戶組(406)。例如,基于在先前用戶會話期間給定用戶與在所述賬戶的用戶界面中呈現(xiàn)的用戶界面元素的交互與其他用戶與所述用戶界面元素的其他交互之間的相似度,將給定用戶指派到一個或多個用戶組。基于在先前用戶會話期間由給定用戶請求的至少一種數(shù)據(jù)類型與由其他用戶請求的至少一種數(shù)據(jù)類型之間的相似度,將給定用戶指派到用戶組。在圖6中示出用于將用戶指派到用戶組的示例過程,并且在下文描述。
選擇與在線賬戶有關(guān)的第一數(shù)據(jù)集(408)。第一數(shù)據(jù)集包括認(rèn)證用戶以訪問的在線賬戶的賬戶數(shù)據(jù)。例如,第一數(shù)據(jù)集可以包括用于以初始賬戶視圖呈現(xiàn)、向給定用戶提供在線賬戶的概覽的賬戶數(shù)據(jù)。初始賬戶視圖可以對給定用戶定制并且基于對用戶界面元素(例如,特定顯示卡、控件、圖等)的用戶先前請求和/或交互、對數(shù)據(jù)或數(shù)據(jù)類型的給定用戶的請求或修改、特定數(shù)據(jù)維度(例如,時間段、地理位置等)的給定用戶的請求或查看、用戶多久訪問所述在線賬戶一次、給定用戶選擇的偏好、給定用戶被指派的用戶組和/或其他適當(dāng)數(shù)據(jù)。初始賬戶視圖可以呈現(xiàn)被組合到單個呈現(xiàn)并且將在線賬戶的概覽提供給給定用戶的多個不同類型的數(shù)據(jù)。
在一些實施方式中,基于用戶與在給定用戶的先前用戶會話中呈現(xiàn)的用戶界面的先前交互和/或給定用戶被指派的用戶組,可以從用于在線賬戶的賬戶數(shù)據(jù)的數(shù)據(jù)儲存器,選擇用于在初始賬戶視圖中呈現(xiàn)的第一數(shù)據(jù)集。例如,可以基于在先前用戶會話期間由給定用戶請求的數(shù)據(jù)類型和/或在給定用戶的先前用戶會話期間給定用戶交互的用戶界面元素,選擇第一數(shù)據(jù)集。還可以基于由給定用戶指派的用戶組中的其他用戶請求的數(shù)據(jù)類型和/或其他用戶交互的用戶界面元素,選擇第一數(shù)據(jù)集。
選擇與在線賬戶有關(guān)的第二數(shù)據(jù)集(410)。第二數(shù)據(jù)集能包括在初始賬戶視圖中未呈現(xiàn)的數(shù)據(jù)。相反,第二數(shù)據(jù)集可以被發(fā)送到用戶的客戶端設(shè)備,用于在所述客戶端設(shè)備處緩存。以這種方式,如果給定用戶請求以查看在初始賬戶視圖中未示出,但包括在第二數(shù)據(jù)集中的附加數(shù)據(jù),能在無需從遠(yuǎn)程設(shè)備請求所述附加數(shù)據(jù)的情況下將附加數(shù)據(jù)呈現(xiàn)給給定用戶。由此,能減少呈現(xiàn)附加數(shù)據(jù)的時延。
通常,第二數(shù)據(jù)集可以包括很可能與給定用戶相關(guān),但可能不像第一數(shù)據(jù)集中的數(shù)據(jù)一樣相關(guān)的數(shù)據(jù)。還能基于用戶與在給定用戶的先前用戶會話中呈現(xiàn)的用戶界面的先前交互和/或給定用戶被指派的用戶組,選擇第二數(shù)據(jù)集。例如,第二數(shù)據(jù)集可以是由給定用戶被指派的用戶組中的至少閾值數(shù)目的其他用戶請求或用戶組中的其他用戶至少閾值次數(shù)請求的數(shù)據(jù)。
更新用于賬戶的用戶界面以呈現(xiàn)第一數(shù)據(jù)集的至少一部分(412)。例如,能更新給定用戶提交認(rèn)證數(shù)據(jù)的用戶界面以呈現(xiàn)用于給定用戶的賬戶的初始賬戶視圖。向給定用戶提供在線賬戶的概覽的初始賬戶視圖能包括第一數(shù)據(jù)集的至少一部分。
通過在從客戶端設(shè)備接收對第二數(shù)據(jù)集的請求前,通過將第二數(shù)據(jù)集提供給客戶端設(shè)備,減少當(dāng)在客戶端設(shè)備處呈現(xiàn)第一數(shù)據(jù)集或第二數(shù)據(jù)集的附加部分時,更新用戶界面的時延(414)。例如,第二數(shù)據(jù)集能與第一數(shù)據(jù)集一起,被發(fā)送到客戶端設(shè)備。在另一示例中,在第一數(shù)據(jù)集被發(fā)送到客戶端設(shè)備后,但在接收到對第二數(shù)據(jù)集的請求前,將第二數(shù)據(jù)集發(fā)送到客戶端設(shè)備。第二數(shù)據(jù)集(和第一數(shù)據(jù)集)能被存儲在客戶端設(shè)備的高速緩存中以減少當(dāng)在客戶端設(shè)備請求時,呈現(xiàn)高速緩存的數(shù)據(jù)的時延。
在每一用戶會話后,基于在用戶會話期間給定用戶與數(shù)據(jù)和用戶界面元素的交互,更新給定用戶的簡檔。基于對簡檔的更新,可以更新用于所述用戶的初始賬戶視圖。例如,可以更新初始賬戶視圖以呈現(xiàn)在用戶會話期間用戶請求的顯示卡和/或用戶會話期間用戶請求或修改的數(shù)據(jù)?;趯o定用戶的簡檔的更新,可以更新在第一數(shù)據(jù)集和/或第二數(shù)據(jù)集中包括的數(shù)據(jù)。
例如,如果數(shù)據(jù)已經(jīng)改變或數(shù)據(jù)在高速緩存中被存儲達至少閾值時間量,可以利用經(jīng)更新的數(shù)據(jù),刷新客戶端設(shè)備的高速緩存。然而,存在與更新高速緩存相關(guān)聯(lián)的成本。例如,需要跨網(wǎng)絡(luò)獲取和傳送大量數(shù)據(jù)。由此,預(yù)緩存引擎,例如圖2的預(yù)緩存引擎223能基于那些成本,確定是否更新高速緩存和與更新高速緩存相關(guān)的好處。
圖5是用于更新高速緩存的示例過程500的流程圖。例如通過數(shù)據(jù)處理裝置(諸如圖2的賬戶管理系統(tǒng)210),實現(xiàn)過程500的操作。還能通過在計算機存儲介質(zhì)上存儲的指令,實現(xiàn)過程500,其中,數(shù)據(jù)處理裝置執(zhí)行指令使得所述數(shù)據(jù)處理裝置執(zhí)行過程500的操作。
識別觸發(fā)器,用于更新客戶端設(shè)備的高速緩存(502)。在一些實施方式中,觸發(fā)器可以基于自將數(shù)據(jù)傳送到客戶端設(shè)備以在高速緩存中存儲以來流逝的時間量。觸發(fā)器還能基于在高速緩存中存儲的數(shù)據(jù)是否通過在高速緩存中存儲的值改變。例如,由于在利用包括用于內(nèi)容項的轉(zhuǎn)化量的數(shù)據(jù)填充高速緩存后發(fā)生的新轉(zhuǎn)化事件,增加內(nèi)容項的轉(zhuǎn)化數(shù)目。觸發(fā)器能基于自數(shù)據(jù)被傳送到客戶端設(shè)備以在高速緩存中存儲以來改變的多個數(shù)據(jù)項。例如,如果至少閾值多個數(shù)據(jù)項已經(jīng)改變,可以觸發(fā)高速緩存更新。觸發(fā)器還能基于對賬戶數(shù)據(jù)的用戶修改。
響應(yīng)于識別觸發(fā)器,確定是否更新高速緩存(504)。確定能基于與更新高速緩存相關(guān)聯(lián)的成本和與更新高速緩存相關(guān)聯(lián)的好處。例如,更新高速緩存要求計算資源和網(wǎng)絡(luò)資源的使用以獲取經(jīng)更新的數(shù)據(jù)并且將經(jīng)更新的數(shù)據(jù)傳送到客戶端設(shè)備。另一成本是利用經(jīng)更新的數(shù)據(jù)更新高速緩存花費的時間量。
好處包括呈現(xiàn)最新數(shù)據(jù)而不是舊數(shù)據(jù)。如果客戶端設(shè)備響應(yīng)于對查看所述數(shù)據(jù)的用戶請求,請求經(jīng)更新的數(shù)據(jù),好處還可以包括減少呈現(xiàn)經(jīng)更新的數(shù)據(jù)的時延。然而,對用戶而言最新的數(shù)據(jù)的好處可以取決于數(shù)據(jù)的類型。例如,用于前一年的閃現(xiàn)數(shù)據(jù)不太可能改變以及任何改變可能最小。由此,通過更新具有歷史時間段的數(shù)據(jù)的高速緩存的好處可以具有很少好處。然而,更新當(dāng)天的性能數(shù)據(jù)的好處對用戶更有利。
在一些實施方式中,是否更新高速緩存的確定基于在高速緩存中存儲的數(shù)據(jù)類型和/或數(shù)據(jù)量。例如,一些類型的數(shù)據(jù)會花費更長時間來通過網(wǎng)絡(luò)獲取和提供和/或包括必須傳送的更多數(shù)據(jù)。在一些實施方式中,確定是否更新高速緩存基于與在高速緩存中存儲的數(shù)據(jù)類型和/或數(shù)據(jù)量相關(guān)的歷史數(shù)據(jù)。例如,可以基于用于先前查詢模式的先前時延數(shù)的分析。
如果做出了不更新高速緩存確定,則不更新所述高速緩存。相反,過程500可以等待直到識別另一觸發(fā)器為止,并且在那時,確定是否更新高速緩存。如果做出了更新所述高速緩存的確定,對在所述高速緩存中存儲的一部分?jǐn)?shù)據(jù),獲取經(jīng)更新的數(shù)據(jù)(506)。例如,可以更新所有經(jīng)高速緩存的數(shù)據(jù)。在另一示例中,可以僅更新自在所述客戶端設(shè)備處高速緩存的數(shù)據(jù)以改變數(shù)據(jù)。
將經(jīng)更新的數(shù)據(jù)傳送到客戶端設(shè)備(508)。例如,可以使用一個或多個數(shù)據(jù)分組的一次或多次數(shù)據(jù)傳輸,通過網(wǎng)絡(luò)將經(jīng)更新的數(shù)據(jù)傳送到客戶端設(shè)備。一旦接收到,客戶端設(shè)備可以用經(jīng)更新的數(shù)據(jù)替換先前高速緩存的數(shù)據(jù)。
圖6是用于將給定用戶指派到用戶組并且基于所述用戶組識別提供給所述給定用戶的數(shù)據(jù)的示例過程600的流程圖。例如,可以通過數(shù)據(jù)處理裝置(諸如圖2的賬戶管理系統(tǒng)210)實現(xiàn)過程600的操作。過程600還可以通過在計算機存儲介質(zhì)上存儲的指令實現(xiàn),其中,數(shù)據(jù)處理裝置執(zhí)行指令使得所述數(shù)據(jù)處理裝置實現(xiàn)過程600的操作。
對給定用戶,獲取用戶簡檔(602)。用于所述給定用戶的用戶簡檔能包括描述與呈現(xiàn)賬戶數(shù)據(jù)的用戶界面的先前用戶交互的數(shù)據(jù)。例如,如上所述,用于給定用戶的用戶簡檔可以包括識別與所述給定用戶交互的每一用戶界面元素的數(shù)據(jù)、給定用戶與所述用戶界面元素交互的次數(shù)、和/或給定用戶與用戶界面元素交互的頻率。用于給定用戶的用戶簡檔還可以包括識別給定用戶請求或修改的每種類型的數(shù)據(jù)、給定用戶請求或修改每種類型數(shù)據(jù)的次數(shù)、以及給定用戶請求或修改每種類型數(shù)據(jù)的頻率。對由給定用戶請求或修改的實際數(shù)據(jù)的每一特定部分,存儲相同識別和頻率數(shù)據(jù)。對每種類型數(shù)據(jù)和/或?qū)o定用戶請求的數(shù)據(jù)的每一特定部分,用戶簡檔能包括數(shù)據(jù)的維度(例如,用于所述數(shù)據(jù)的時間段或地理位置)。
基于用于給定用戶的用戶簡檔,將給定用戶指派給用戶組(604)。在一些實施方式中,基于給定用戶的簡檔和其他用戶的簡檔之間的相似度,將給定用戶指派到用戶組。例如,將給定用戶指派到具有類似用戶簡檔的其他用戶的用戶組。特別地,基于與先前用戶會話期間在給定用戶與用于用戶的賬戶的用戶界面中呈現(xiàn)的用戶界面元素(例如,控件)的交互和其他用戶與在用戶界面中的用戶界面元素的其他交互之間的相似度,將給定用戶指派到用戶組。還可以基于給定用戶請求的數(shù)據(jù)類型與其他用戶請求的數(shù)據(jù)類型之間的相似度和/或給定用戶和其他用戶請求的數(shù)據(jù)維度之間的相似度,將給定用戶指派到用戶組。
在一些實施方式中,基于用戶的用戶簡檔之間的相似度,機器學(xué)習(xí)過程被用來生成和填充用戶組。例如,機器學(xué)習(xí)過程可以基于決策樹、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)和/或聚類技術(shù)。
基于給定用戶被指派的用戶組,對給定用戶識別數(shù)據(jù)類型和用戶界面元素。例如,為給定用戶提供由組中的其他用戶請求的數(shù)據(jù)類型和/或由組中的其他用戶選擇或查看的用戶界面元素。在特定示例中,可以為給定用戶提供由用戶組中的至少閾值數(shù)目的用戶請求的數(shù)據(jù)類型或由用戶組中的用戶最頻繁請求的數(shù)據(jù)類型。類似地,可以為給定用戶提供由組中的至少閾值數(shù)目的用戶選擇或查看的用戶界面元素和/或由用戶組中的用戶最頻繁選擇或查看的用戶界面元素。
圖7是生成呈現(xiàn)用于多個活動的賬戶數(shù)據(jù)的可視化的示例過程700的流程圖。例如,通過數(shù)據(jù)處理裝置(諸如圖21的賬戶管理系統(tǒng)210)實現(xiàn)過程700的操作。還能通過在計算機存儲介質(zhì)上存儲的指令,實現(xiàn)過程700,其中,數(shù)據(jù)處理裝置執(zhí)行指令使得數(shù)據(jù)處理裝置實現(xiàn)過程700的操作。
識別賬戶持有者的多個活動(702)。例如,賬戶持有者可以具有多個不同內(nèi)容遞送活動。在特定示例中,賬戶持有者可以具有用于產(chǎn)品或服務(wù)的多個不同活動。賬戶持有者還可以具有用于其他產(chǎn)品或服務(wù)的活動。
識別賬戶持有者的類似活動集(704)。類似活動集能包括類似的,但具有所有活動不同的特定特性的活動。例如,賬戶持有者可以具有用于特定產(chǎn)品和具有相同分發(fā)標(biāo)準(zhǔn),但具有對每一活動分發(fā)的不同內(nèi)容項的多個不同活動。這些不同活動能包括在用于特定產(chǎn)品的活動集中。
對活動集,生成可視化(706)。例如,可視化可以高亮用于活動集中的活動的數(shù)據(jù)差異。繼續(xù)前一示例,可視化可以對活動集中的每一活動,高亮每一內(nèi)容項的性能??梢栽谟糜谠谫~戶持有者的用戶的客戶端設(shè)備處呈現(xiàn)的顯示卡中,自動地生成和提供可視化。例如,可以響應(yīng)于識別類似活動集,自動地生成可視化,并且以這種方式,高亮一個不同特性。
盡管上文參考內(nèi)容遞送管理系統(tǒng)描述了本主題,但將意識到在將數(shù)據(jù)提供給用戶的替選系統(tǒng)中,本主題也是適用的,而不限于內(nèi)容遞送管理。
繼續(xù)上述描述,可以為用戶提供控制以允許用戶選擇本文所述的系統(tǒng)、程序或特征是否或者何時使能用戶信息(例如,與用戶的社交網(wǎng)絡(luò)、社交動作或活動、職業(yè)、用戶的偏好或用戶的當(dāng)前位置有關(guān)的信息)的收集,或是否從服務(wù)器向用戶發(fā)送內(nèi)容或通信。另外,在被存儲或使用之前,某些數(shù)據(jù)可以以一種或多種方式來處理,使得移除個人可識別信息。例如,可以處理用戶的身份,使得不能確定用戶的個人可識別的信息,或者在獲取位置信息(例如,城市、郵政編碼或州級別)的地方,用戶的地理位置可以被泛化,使得不能確定用戶的特定位置。因此,用戶可以控制收集與用戶有關(guān)的何種信息、如何使用該信息和將什么信息提供給用戶。
在本說明書中描述的主題和操作的實施例可以在數(shù)字電子電路中、或在包括本說明書中公開的結(jié)構(gòu)及其結(jié)構(gòu)等同物的計算機軟件、固件或硬件、或者一個或更多的組合中實現(xiàn)。在本說明書中描述的主題的實施例可以實現(xiàn)為,在計算機存儲介質(zhì)上編碼的用于由數(shù)據(jù)處理裝置執(zhí)行或控制數(shù)據(jù)處理裝置的操作的一個或多個計算機程序,即,計算機程序指令的一個或多個模塊。替選地或另外地,程序指令可以被編碼在人工生成的傳播信號上,例如,機器生成的電、光或電磁信號,其被生成以對信息進行編碼用于傳輸?shù)胶线m的接收器裝置以由數(shù)據(jù)處理裝置執(zhí)行。計算機存儲介質(zhì)可以是計算機可讀存儲設(shè)備、計算機可讀存儲基質(zhì)、隨機或串行存取存儲器陣列或設(shè)備,或它們中的一個或多個的組合,或被包括在其中。此外,雖然計算機存儲介質(zhì)不是傳播的信號,但是計算機存儲介質(zhì)可以是在人工生成的傳播信號中編碼的計算機程序指令的源或目的地。計算機存儲介質(zhì)還可以是,或者被包括在,一個或多個單獨的物理組件或介質(zhì)(例如,多個cd、磁盤或其他存儲設(shè)備)中。
在本說明書中描述的操作可以被實現(xiàn)為由數(shù)據(jù)處理裝置對存儲在一個或多個計算機可讀存儲設(shè)備上或從其他源接收到的數(shù)據(jù)執(zhí)行的操作。
術(shù)語“數(shù)據(jù)處理裝置”包括用于處理數(shù)據(jù)的所有種類的裝置、設(shè)備和機器,包括舉例來說可編程處理器、計算機、片上系統(tǒng)或者上述的多個或組合。所述裝置可以包括專用邏輯電路,例如fpga(現(xiàn)場可編程門陣列)或asic(專用集成電路)。除了硬件之外,所述裝置還可以包括創(chuàng)建用于所討論的計算機程序的執(zhí)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)、跨平臺運行時環(huán)境、虛擬機或它們中的一個或多個的組合的代碼。裝置和執(zhí)行環(huán)境可以實現(xiàn)各種不同的計算模型的基礎(chǔ)架構(gòu),諸如web服務(wù)、分布式計算和網(wǎng)格計算基礎(chǔ)架構(gòu)。
計算機程序(也稱為程序、軟件、軟件應(yīng)用、腳本或代碼)可以以任何形式的編程語言編寫,包括編譯或解釋型語言、說明性或過程語言,并且它可以以任何形式部署,包括作為獨立程序或作為模塊、組件、子例程、對象或適合在計算環(huán)境中使用的其他單元。計算機程序可以但不必與文件系統(tǒng)中的文件相對應(yīng)。程序可以存儲在保存其他程序或數(shù)據(jù)(例如,存儲在標(biāo)記語言文檔中的一個或多個腳本)的文件的一部分中、專用于所討論的程序的單個文件中,或在多個協(xié)同文件(例如,存儲一個或多個模塊、子程序或代碼部分的文件)中。計算機程序可以被部署為在一個計算機上或位于一個地點或分布在多個地點并通過通信網(wǎng)絡(luò)互連的多個計算機上執(zhí)行。
本說明書中描述的過程和邏輯流程可以由執(zhí)行一個或多個計算機程序的一個或多個可編程處理器執(zhí)行,以通過對輸入數(shù)據(jù)進行操作并生成輸出來執(zhí)行動作。所述過程和邏輯流程也可以由專用邏輯電路(例如,fpga(現(xiàn)場可編程門陣列)或asic(專用集成電路))來執(zhí)行,并且裝置也可以被實現(xiàn)為專用邏輯電路(例如,fpga(現(xiàn)場可編程門陣列)或asic(專用集成電路))。
適合于執(zhí)行計算機程序的處理器包括,舉例來說,通用和專用微處理器,以及任何種類的數(shù)字計算機的任何一個或多個處理器。通常,處理器將從只讀存儲器或隨機存取存儲器或兩者接收指令和數(shù)據(jù)。計算機的基本元件是用于根據(jù)指令執(zhí)行動作的處理器和用于存儲指令和數(shù)據(jù)的一個或多個存儲器設(shè)備。通常,計算機還將包括,例如磁盤、磁光盤或光盤的用于存儲數(shù)據(jù)的一個或多個大容量存儲設(shè)備,或可操作地耦合以從其接收數(shù)據(jù)或向其傳送數(shù)據(jù),或兩者。然而,計算機不必具有這樣的設(shè)備。此外,計算機可以嵌入在另一設(shè)備中,僅舉幾個例子,例如移動電話、個人數(shù)字助理(pda)、移動音頻或視頻播放器、游戲控制臺、全球定位系統(tǒng)(gps)接收器或便攜式存儲設(shè)備(例如,通用串行總線(usb)閃存驅(qū)動器)。適合于存儲計算機程序指令和數(shù)據(jù)的設(shè)備包括所有形式的非易失性存儲器、介質(zhì)和存儲器設(shè)備,例如包括半導(dǎo)體存儲器設(shè)備,例如eprom、eeprom和閃存設(shè)備;磁盤,例如內(nèi)部硬盤或可移動盤;磁光盤和cdrom和dvd-rom盤。處理器和存儲器可以由專用邏輯電路補充或并入專用邏輯電路中。
為了提供與用戶的交互,本說明書中描述的主題的實施例可以在具有例如crt(陰極射線管)或lcd(液晶顯示器)監(jiān)視器的用于向用戶顯示信息的顯示設(shè)備,以及用戶可以通過其向計算機提供輸入的鍵盤和例如鼠標(biāo)或軌跡球的指針設(shè)備的計算機上實現(xiàn)。其他類型的設(shè)備也可以用于提供與用戶的交互,例如,提供給用戶的反饋可以是任何形式的感覺反饋,例如視覺反饋、聽覺反饋或觸覺反饋,并且可以以任何形式接收來自用戶的輸入,包括聲音、語音或觸覺輸入。此外,計算機可以通過向用戶使用的設(shè)備發(fā)送文檔和從其接收文檔來與用戶交互;例如,響應(yīng)于從web瀏覽器接收到的請求將web頁面發(fā)送到用戶的客戶端設(shè)備上的web瀏覽器。
在本說明書中描述的主題的實施例可以在包括例如作為數(shù)據(jù)服務(wù)器的后端組件,或包括例如應(yīng)用服務(wù)器的中間件組件,或包括例如具有用戶可以通過其與本說明書中描述的主題的實現(xiàn)交互的圖形用戶界面或web瀏覽器的客戶端計算機的前端組件,或者一個或多個這樣的后端、中間件或前端組件的組合的計算系統(tǒng)中實現(xiàn)。系統(tǒng)的組件可以通過任何形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信互連,例如通信網(wǎng)絡(luò)。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“l(fā)an”)和廣域網(wǎng)(“wan”)、互聯(lián)網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))和對等網(wǎng)絡(luò)(例如,對等點對點網(wǎng)絡(luò))。
計算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠(yuǎn)離并且通常通過通信網(wǎng)絡(luò)交互??蛻舳撕头?wù)器的關(guān)系借助于在相應(yīng)的計算機上運行并且彼此具有客戶端-服務(wù)器關(guān)系的計算機程序而發(fā)生。在一些實施例中,服務(wù)器向客戶端設(shè)備發(fā)送數(shù)據(jù)(例如,html頁面)(例如,為了向與客戶端設(shè)備交互的用戶顯示數(shù)據(jù)并從其接收用戶輸入的目的)??梢詮姆?wù)器處的客戶端設(shè)備接收在客戶端設(shè)備處生成的數(shù)據(jù)(例如,用戶交互的結(jié)果)。
盡管本說明書包含許多具體實施細(xì)節(jié),但是這些不應(yīng)被解釋為對任何發(fā)明或權(quán)利要求的范圍的限制,而是被解釋為對特定發(fā)明的特定實施例特定的特征的描述。在本說明書中在單獨實施例的場境中描述的某些特征也可以在單個實施例中以組合的形式實現(xiàn)。相反,在單個實施例的場境中描述的各種特征也可以在多個實施例中單獨地或以任何合適的子組合的形式來實現(xiàn)。此外,雖然特征可以在上面描述為在某些組合中起作用并且甚至最初如此要求,但是在一些情況中要求保護的組合中的一個或多個特征可以從組合中去除,并且要求保護的組合可以涉及子組合或子組合的變體。
類似地,盡管在附圖中以特定順序描繪了操作,但是這不應(yīng)被理解為要求這些操作以所示的特定順序或以順序次序執(zhí)行,或者執(zhí)行所有所示的操作以實現(xiàn)期望的結(jié)果。在某些情況下,多任務(wù)和并行處理可能是有利的。此外,上述實施例中的各種系統(tǒng)組件的分離不應(yīng)被理解為在所有實施例中都需要這樣的分離,并且應(yīng)當(dāng)理解到,所描述的程序組件和系統(tǒng)通??梢砸黄鸺稍趩蝹€軟件產(chǎn)品中或封裝到多個軟件產(chǎn)品內(nèi)。
因此,已經(jīng)描述了主題的特定實施例。其他實施例在所附權(quán)利要求的范圍內(nèi)。在一些情況下,權(quán)利要求中所述的動作可以以不同的順序執(zhí)行并且仍然獲取期望的結(jié)果。另外,附圖中描繪的過程不一定需要所示的特定次序或順序的次序以實現(xiàn)期望的結(jié)果。在某些實現(xiàn)中,多任務(wù)和并行處理可能是有利的。