新四季網

數據遞送的製作方法

2023-09-22 02:21:35

數據遞送的製作方法
【專利摘要】用於依賴於支持的post遞送的方法、系統和裝置,包括編碼在計算機存儲介質上的電腦程式。在一個方面中,一種方法包括:生成用於由第一伺服器供應的並且在客戶端設備上渲染的網頁的傳輸數據,第一伺服器屬於第一域;確定客戶端設備是否支持跨來源資源共享;響應於確定客戶端設備不支持跨來源資源共享:定義用於網頁的iFrame,iFrame屬於接收伺服器的第二域並且具有從傳輸數據導出的名稱值;接收來自接收伺服器的iFrame指令並且在iFrame中執行iFrame指令,iFrame指令使客戶端設備:根據iFrame的名稱值生成去往接收伺服器的HTTP?POST請求,第一HTTP?POST請求包括傳輸數據。
【專利說明】數據遞送
【技術領域】
[0001 ] 本說明書涉及數據傳輸。
【背景技術】
[0002]數據傳輸用於在連接到網絡的兩個或者更多計算機之間進行通信。數據遞送的一個示例使用是在網站分析領域中。發布者是擁有和/或管理網站的實體。使用第三方提供的分析服務,發布者可以監視與用戶訪問和指向網站的連結有關的分析數據。示例分析數據包括與訪問者從其到來的和訪問者離開去往的域和/或網站有關的數據;流量模式,例如訪問者在發布者的網站內的導航點擊;訪問者動作,例如購物、填寫表單等以及訪問者可以關於發布者的網站進行的其他動作。對這種分析數據的分析可以告知發布者訪問者是如何被引薦到發布者的網站、廣告活動是否導致該引薦以及訪問者如何與發布者的網站交互。憑藉這一了解,發布者可以實施改變以增加收入生成和/或改進訪問者體驗。例如發布者可以使營銷資源專注於廣告活動、審核來自其他網站的引薦、識別作為交叉連結的潛在夥伴的其他發布者,等等。
[0003]從MountainView,California的Google公司獲得的Google?Analytics提供了一個示例分析系統,該分析系統提供有助於收集和分析這種分析數據的分析工具。為了使用這種系統,發布者通常提供嵌入在其網頁中的跟蹤指令(或者備選地,在其網頁中提供代碼,該代碼請求來自分析伺服器的跟蹤指令)。通常,跟蹤指令是發布者向它們的網站中將為其跟蹤流量的每個頁面上添加的JavaScript?代碼的片段。當由用戶設備渲染頁面時,跟蹤指令被執行、收集訪問者數據並且將訪問者數據以跟蹤數據通信的形式向分析伺服器發送回以供處理。一種發送跟蹤數據通信的常見方法是將其作為HTTP請求的一部分進行發送。
[0004]跟蹤數據的匯集也稱為跟蹤信標。示例跟蹤數據包括標識發布者的分析帳戶的帳戶標識符、標識訪問者的訪問者標識符和事件統計信息,諸如訪問者是否以前去過該網站、當前訪問的時間戳等。
[0005]發布者可以指定在跟蹤數據中報告的事件的數量和類型以例如說明發布者希望跟蹤的特定信息。然而,跟蹤數據通信的大小存在上限,因為HTTP GET請求具有關於可以發送的信息量的限制。一種能夠發送比HTTP GET可以發送的更多數量的跟蹤數據的方式是利用HTTP POST。
[0006]HTTP POST可以作為html表單的一部分或者作為異步JavaScript (AJAX)請求的一部分進行發送。作為html表單的一部分而發送的HTTP POST向一些瀏覽器的歷史添加條目。這可能潛在地降低用戶體驗,因為向歷史添加的條目將使瀏覽器中的後退按鈕響應於用戶的點擊而產生意外結果。
[0007]使用AJAX將跟蹤數據作為HTTP POST的一部分進行發送受制於瀏覽器的同來源策略。許多web瀏覽器具有內置保護,這些保護防止源於一個域的運行網頁或者應用訪問來自另一個域的方法和屬性。由於被跟蹤的網頁源於與分析伺服器的域不同的發布者域,所以在發布者域的網頁上運行的JavaScript可能不能向分析伺服器發送HTTP POST。
[0008]最後,跨來源資源共享(CORS)不允許跨域邊界發送AJAX post請求。然而許多瀏覽器不支持跨來源資源共享。

【發明內容】

[0009]本說明書描述如下技術,這些技術涉及依賴於支持的post遞送並且更具體地涉及使用依賴於支持的post遞送過程來傳輸跟蹤數據。
[0010]一般而言,可以在包括以下動作的方法中實現在本說明書中描述的主題內容的一個創新方面:生成事件數據,該事件數據詳述用於由發布者伺服器供應的並且在客戶端設備上渲染的網頁的一個或者多個事件,網頁和發布者伺服器屬於第一域,並且一個或者多個事件相對於客戶端設備來測量;確定事件數據是否超過尺寸閾值;響應於確定事件數據未超過尺寸閾值,生成去往分析伺服器的HTTPGET請求,分析伺服器屬於與第一域不同的第二域,HTTP GET請求包括事件數據;響應於確定事件數據超過尺寸閾值,確定客戶端是否支持跨來源資源共享;響應於確定客戶端支持跨來源資源共享,生成去往分析伺服器的第一HTTP POST請求,第一HTTP POST包括事件數據並且是與跨來源資源共享兼容的消息;以及響應於確定客戶端不支持跨來源資源共享,生成去往分析伺服器的第二 HTTP POST,第二HTTP POST包括事件數據並且是從客戶端設備上的屬於第二域的環境發送的。這一方面的其他實施例包括被配置用於執行方法的動作的系統、裝置和在計算機存儲設備上編碼的電腦程式。
[0011]可以在包括以下動作的方法中實現在本說明書中描述的主題內容的另一創新方面:生成事件數據,該事件數據詳述用於由發布者伺服器供應的並且在客戶端設備上渲染的網頁的一個或者多個事件,網頁和發布者伺服器屬於第一域,並且一個或者多個事件相對於客戶端設備來測量;確定客戶端設備是否支持跨來源資源共享;響應於確定客戶端設備不支持跨來源資源共享:定義用於網頁的iFrame,iFrame屬於分析伺服器的第二域,並且iFrame具有從事件數據導出的名稱值;從iFrame發出針對來自分析伺服器的環境指令的請求;接收來自分析伺服器的環境指令並且在iFrame中執行環境指令,環境指令使客戶端設備:從iFrame的名稱值生成去往分析伺服器的第一 HTTP POST請求,第一 HTTP POST請求包括事件數據;以及將iFrame的域從第二域改變成第一域。這一方面的其他實施例包括被配置用於執行方法的動作的系統、裝置和在計算機存儲設備上編碼的電腦程式。
[0012]在另一實現方式中,渲染具有用於發送跟蹤信息的指令的網頁使得計算機設備請求第二網頁。第二網頁向先前指示的伺服器發送跟蹤信息。
[0013]可以實施在本說明書中描述的主題內容的具體實施例以便實現以下優點中的一個或者多個優點。向發布者提供關於瀏覽器的通信能力而言與瀏覽器無關的跟蹤代碼。可以在單個消息中而不是通過使用HTTP get消息向分析第三方發送更大數量的所跟蹤數據,即發布者有能力僅用單個消息來跟蹤比通過使用單個HTTP get消息跟蹤的事件更多的事件。
[0014]在附圖和下文描述中闡述在本說明書中描述的主題內容的一個或者多個實施例的細節。主題內容的其他特徵、方面和優點將從描述、附圖和權利要求中變得清楚。【專利附圖】

【附圖說明】
[0015]圖1是其中報告跟蹤數據的示例環境的框圖。
[0016]圖2是用於報告事件數據的示例過程的流程圖。
[0017]圖3是用於從與為其報告事件數據的網頁分離的環境報告事件數據的示例過程的流程圖。
[0018]圖4是用於在報告事件數據之後刪除環境的示例過程的流程圖。
[0019]圖5是可編程處理系統的框圖。
【具體實施方式】
[0020]在客戶端設備上渲染包括跟蹤指令的發布者網頁。在渲染網頁期間,跟蹤指令指示客戶端設備收集訪問者數據並且向分析伺服器發送該數據。發布者網頁源於與分析伺服器的域不同的域。
[0021]在一些實現方式中,跟蹤指令包括如下指令,這些指令使得客戶端設備確定跟蹤數據是否太大而無法作為HTTP GET請求的一部分來發送。如果跟蹤數據不是太大而無法作為HTTP GET請求的一部分來發送,則客戶端設備通過HTTP GET請求向分析伺服器發送跟蹤數據。然而如果跟蹤數據太大而無法通過HTTP GET請求來發送,則客戶端設備確定在客戶端設備上運行的瀏覽器的支持能力,即客戶端設備確定瀏覽器是否支持與跨來源支持兼容的請求。如果瀏覽器支持與跨來源支持兼容的請求,則客戶端使用與跨來源支持兼容的請求來使用HTTP POST發送跟蹤數據。反言之,如果瀏覽器不支持與跨來源支持兼容的請求,則客戶端從單獨的網頁實例發送該請求。
[0022]圖1是報告和處理跟蹤數據通信的示例環境100的框圖。計算機網絡102,諸如網際網路或者網際網路與一個或者多個有線和無線網絡的組合,連接網站104-1-104-5、用戶設備108-1和108-2以及分析系統110,諸如包括伺服器或者許多聯網伺服器的數據處理裝置。雖然僅示出五個網站和兩個用戶設備,但是在線環境100可以包括數以千計的網站和用戶設備。
[0023]網站104是與域名關聯的一個或者多個網頁資源105,並且每個網站由一個或者多個伺服器託管。示例網站是用可以包含文本、圖形圖像、多媒體內容和諸如腳本的編程元素的超文本標記語言(HTML)格式化的網頁的匯集。每個網站104由發布者、例如管理和/或擁有網站的實體來維護。為了避免附圖中的擁擠,僅示出網站104-1的網頁資源105-1。
[0024]資源是可以由網站104通過網絡102提供的任何數據,其與資源地址相關聯。資源由統一資源定位符(URL)尋址。出於本文的目的,術語「網頁資源」或者簡稱為「網頁」或者「資源」將用來描述通過web瀏覽器或者相似類型的應用訪問的、用於在用戶設備上顯示的資源。網頁可以包括HTML或者XHTML數據、多媒體數據等、例如flash視頻、圖像、音頻、腳本以及可以在瀏覽器中呈現和執行和/或解譯的其他信息和對象。
[0025]用戶設備,諸如設備108-1或者108-2之一,是在用戶的控制之下的電子設備並且能夠通過網絡102請求和接收資源。示例用戶設備108包括例如用戶設備108-1的個人計算機、例如108-2的移動通信設備以及可以通過網絡102發送和接收數據的其他設備。用戶設備108通常包括用於有助於通過網絡102發送和接收數據的用戶應用,諸如web瀏覽器。[0026]分析系統110被實現為具有如下域名,該域名定義與網站104的域不同的域。每個網站104的發布者具有對應的跟蹤帳戶,在分析系統110中,關於去往和來自網站104的流量的數據以及與訪問者對網站104進行的動作有關的事件與該跟蹤帳戶相關聯。例如,網站104-1中發布者希望跟蹤針對訪問者流量的詳細統計信息的網頁105-1中的每個網頁已在其內嵌入了上文描述的跟蹤指令112。當在客戶端設備108上的瀏覽器應用中渲染網頁105-1之一時,執行跟蹤指令112。
[0027]跟蹤指令112的執行使得用戶設備108能夠向分析系統110提供跟蹤數據通信。示例跟蹤數據通信包括標識跟蹤帳戶的帳戶標識符、標識網頁的訪問者的訪問者標識符、事件時間以及一個或者多個事件統計信息。帳戶標識符是網站或者網頁的跟蹤帳戶編號。
[0028]在一些實現方式中,訪問者標識符可以標識用戶設備108的特定用戶。在一些實現方式中,為了隱私保護而匿名化訪問者信息。例如,跟蹤代碼可以被配置用於僅報告用戶設備108的網際協議(IP)地址,或者可以生成與用戶設備108的IP位址或者與用戶的標識符關聯的唯一隨機數。因此,針對特定用戶設備的跟蹤數據未以其他方式與特定用戶相關聯或者未能夠標識特定用戶。其他匿名化過程,諸如哈希化、加密和混亂技術,也可以用來確保訪問者隱私受保護。
[0029]在一些實現方式中,事件時間是指示向分析系統110發送跟蹤數據通信的時間的時間戳。例如,可以每當有用戶設備108生成的頁面請求時發送跟蹤數據通信。因而,事件時間將是在用戶設備108處生成頁面請求的時間。
[0030]可以報告許多不同的事件統計信息。例如網頁可以包括指定將在跟蹤數據通信中報告哪些事件的數據。報告的示例事件統計信息可以包括標識引薦者站點的引薦者數據、訪問者第一次訪問網站、訪問者已經訪問網站的次數和在站點進行的動作(例如在網頁105-1中點擊的連結、滑鼠懸停事件等)、標識訪問者來自的廣告活動的活動數據、通知訪問者註冊的註冊事件、訪問者對網站連結的選擇、訪問者下載可下載內容、訪問者的網站活動之間的時間、訪問者在網站上的總時間、訪問者進入安全會話以及其他事件統計信息。上文列舉的示例事件統計信息僅為示例,並且可以提供更多或者更少事件統計信息。
[0031]在用於網站104的跟蹤cookie中存儲與訪問者有關的歷史數據。例如,當在用戶設備108-1上加載網頁105-1之一時,在用戶設備108-1上的瀏覽器高速緩存中存儲用於網站104-1的一個或者多個跟蹤cookie 107-1。跟蹤指令然後在用戶設備108-1上的一個或者多個跟蹤cookie 107-1中存儲用於網站104的該訪問者的歷史數據。因而可以向分析系統110準確地報告事件的狀態,諸如用戶設備108-1訪問網站104-1的訪問次數和第一次訪問。
[0032]因而,報告跟蹤數據的跟蹤數據通信的大小依賴於所報告的事件。在一些實現方式中,跟蹤數據的大小以及客戶端設備108上的瀏覽器應用的能力可以確定用來報告事件數據的消息類型和過程。
[0033]在日誌120中存儲由分析系統110接收的跟蹤數據通信。在一些實現方式中,系統Iio訪問日誌120並且根據日誌120中存儲的跟蹤數據通信中的帳戶標識符和訪問者標識符來標識帳戶標識符和訪問者標識符對。隨後,針對每個標識的帳戶和訪問者標識符對,系統110按照事件統計信息在跟蹤數據通信中的對應事件時間對事件統計信息進行排序。使用這些針對每個帳戶和訪問者標識符對排序的事件統計信息,系統100確定用於每個帳戶和訪問者標識符對的會話並且將信息存儲在會話數據存儲庫122中。在一些實現方式中,可以針對每個帳戶和訪問者標識符來聚合事件統計信息。在統計信息數據存儲庫124中存儲所聚合的事件統計信息以供帳戶用戶訪問。在統計信息存儲庫124中存儲的事件通常在會話/訪問報告中呈現。這種報告對網站是有用的,因為它們能夠讓發布者深入了解其站點的訪問者數目、回歸訪問者的忠誠度、訪問持續時間、訪問者在訪問期間執行的動作、廣告活動驅動的到其站點的流量、產生到其站點的大量弓I薦的其他站點、以及其他有用的分析。
[0034]圖2是用於報告事件數據的示例過程200的流程圖。過程200可以由客戶端設備108執行。
[0035]過程200生成事件數據(202)。例如,執行跟蹤指令的客戶端設備生成如上文描述的事件數據。事件數據詳述用於由發布者伺服器供應的並且在客戶端設備108上渲染的網頁的一個或者多個事件,並且該一個或多個事件是相對於客戶端設備108而測量的。
[0036]過程200確定事件數據是否超過尺寸閾值(204)。例如在一些實現方式中,跟蹤指令112使得客戶端設備108確定事件數據是否超過尺寸閾值,例如2048位元組,或者具有編碼的事件數據的HTTP GET請求是否超過2048位元組。
[0037]如果事件數據未超過閾值,則過程200使用HTTP GET請求來報告事件數據(206)。例如,跟蹤數據112使得客戶端設備生成去往分析伺服器110的、包括事件數據的HTTP GET請求。舉例而言,跟蹤指令112可以生成通過向頁面中插入單像素圖像來發送HTTP GET請求的「gif hit」。用於該HTTP GET請求的事件數據被URL編碼並且作為查詢串附加到圖像URL。在圖1中示出包括編碼的事件數據TD-1的示例HTTP GET。
[0038]如果過程確定事件數據超過尺寸閾值,則過程200確定瀏覽器是否支持跨來源資源共享(CORS) (208)。例如,指令112使得客戶端設備108確定客戶端設備108上的瀏覽器實例B是否支持C0RS。這可以例如通過詢問瀏覽器類型和版本、通過檢查XMLHttpRequest對象上的withCredentials屬性的存在或者XDomainRequest對象的存在或者通過其他過程來完成。
[0039]響應於確定客戶端支持跨來源資源共享,過程200使用與CORS兼容的HTTP POST請求來報告事件數據(210)。例如,指令使得客戶端108生成去往分析伺服器110的HTTPPOST請求。HTTP POST包括事件數據並且是與CORS兼容的消息,諸如與CORS兼容的跨域AJAX HTTP POST請求。在圖1中示出與CORS兼容的並且包括編碼的事件數據TD-2的示例HTTP POST。
[0040]響應於確定客戶端不支持跨來源資源共享,過程200使用從屬於分析伺服器的域的環境發送的HTTP POST請求來報告事件數據(212)。例如,指令112使得客戶端設備108生成去往分析伺服器的HTTP POST,該HTTP POST包括事件數據並且是從客戶端設備108上的屬於第二域的環境(例如用於設備108-2的瀏覽器實例B)發送的。
[0041]如果環境具有用於特定域的監管權限,則環境屬於該特定域。此外,同域環境可以有計劃地通信,但是這種通信通常不容易在跨域環境之間促成。由於在與分析伺服器110相同的域中的環境不屬於發布者的域,所以發布者過程不具有針對這些環境的監管權限。因此,發布者105的過程不能變更內容項環境的內部狀態。這實現了如下安全措施,其使得發布者或者居間第三方更難以在這些環境內實施濫用過程(例如垃圾信息、虛假印象報告)O
[0042]在一些實現方式中,指令112生成環境B』。該環境可以例如是不可見iFrame (內聯框架),並且iFrame的名稱包含將要向分析伺服器110發送的事件數據。iFrame的名稱屬性可以用來指定事件信息。例如,可以通過在網頁中定義新分節並且向該新分節中插入iFrame來將iFrame附加到網頁上。
[0043]iFrame請求來自伺服器110的環境指令(例如圖1中的指令114)並且在接收指令時加載它們。指令114使得客戶端設備108在iFrame內執行如下過程,該過程讀取iFrame名稱並且將名稱複製到去往分析伺服器110的HTTP POST請求(例如AJAX POST)中。
[0044]在一些實現方式中,可以省略事件數據是否超過尺寸閾值的初始確定,因為可以通過使用HTTP get消息來報告事件數據。這些實現方式使用HTTP post消息並且確定瀏覽器支持哪個HTTP post過程。針對這些備選實現方式,過程200確定瀏覽器是否支持CORS (208)。
[0045]結合圖3更具體地描述從屬於分析伺服器的域的環境發送HTTP post請求,圖3是用於從與為其報告事件數據的網頁分離的環境來報告事件數據的示例過程300的流程圖。
[0046]過程300生成用於發送HTTP POST的環境(302)。例如,指令112生成iFrame。
[0047]過程300利用從事件數據中導出的名稱值對該環境命名(304)。例如,指令112利用事件數據或者從事件數據導出的值對iFrame命名。
[0048]過程300請求和接收來自分析伺服器的環境指令(306)。例如,iFrame請求和接收來自伺服器110的指令114,該指令繼而被加載到iFrame中。
[0049]過程300生成包括事件數據的HTTP POST請求(308)。例如,在伺服器110的域的監管控制之下執行的指令114讀取iFrame的名稱並且使用HTTP POST請求向伺服器110
提供事件數據。
[0050]過程300將該環境的域從分析伺服器的域改變成發布者伺服器的域(310)。域的改變允許屬於在客戶端設備上渲染的網頁的域的過程關閉(刪除)該iFrame,並且還發信號通知該過程關閉(刪除)iFrame。例如,指令114可以使得客戶端設備108將iFrame的域從分析伺服器110的域改變成發布者108的域。iFrame的域向發布者108的域的改變被屬於在客戶端設備上渲染的網頁的域的過程檢測到,並且使得該過程關閉(刪除)該iFrame。
[0051]在其他實現方式中,屬於在客戶端設備上渲染的網頁的域的過程可以監視超時,並且在超時結束時可以檢查iFrame的標題。指令114將iFrame的名稱值改變成發布者的域的統一資源定位符,或者備選地,將iFrame的名稱改變成預定義值、例如「完成」,並且將iFrame的位置改變成發布者108的域的頁面,因此指令112可以讀取「完成」標題。例如,假如發布者託管發布者108的favicon, ico或者blank, html這些元素,貝U可以將iFrame改變成這些元素。如果將iFrame的名稱改變成預定標題,則過程關閉(刪除)iFrame。
[0052]圖4是用於在報告事件數據之後刪除環境的示例過程的流程圖400。過程400監視環境中的域的改變(402)。例如,指令112可以包括在超時(例如100毫秒或者某一其他超時)之後執行的回調功能。在執行回調時,指令112使得客戶端設備108檢查iFrame的域是否與發布者的網頁的域相同。
[0053]響應於環境的域改變成發布者的域,過程400刪除iFrame (404)。例如,如果域相同,則客戶端設備可以刪除iFrame。[0054]如上文描述的那樣,事件數據的大小可以根據出現的事件而變化。在一些實現方式中,在發送事件數據之前,指令112使得客戶端設備確定事件數據的大小是否超過最大尺寸。最大尺寸是伺服器110將通過HTTP POST接受的事件數據的尺寸上限。如果事件數據超過最大尺寸,則客戶端設備不報告事件數據。在這一實現方式的變體中,指令112使得客戶端設備向伺服器110發送錯誤消息。錯誤消息指示由於過量尺寸而放棄報告事件數據。在這一實現方式的更多其他變體中,指令112使得客戶端設備將事件數據截短至最大尺寸並且通過適當的POST方法發送事件數據。
[0055]在更多其他實現方式中,如果事件數據超過最大尺寸,則客戶端設備如指令114所指示的那樣提供兩個或者更多HTTP post,並且系統110在接收這兩個或者更多HTTPpost時合併報告的事件數據。
[0056]雖然上文在網站分析的背景中描述上述示例,但是上文描述的數據遞送過程可以用來提供用於許多不同應用的許多不同類型的數據。例如取代事件數據,傳輸的數據可以是用於如下網頁的任何傳輸數據,該網頁由屬於第一域的第一伺服器供應並且在客戶端設備上被渲染。取代分析伺服器,向其發送傳輸數據的伺服器是屬於第二域的接收伺服器。
[0057]在本說明書中描述的主題內容和操作的實施例可以在數字電子電路中實現,或者在計算機軟體、固件或者硬體中實現,包括在本說明書中公開的結構及其結構等效物,或者在它們中的一項或者多項的組合中實現。在本說明書中描述的主題內容的實施例可以實施為在計算機存儲介質上編碼的用於由數據處理裝置執行或者用來控制數據處理裝置的操作的一個或者多個電腦程式,即一個或者多個電腦程式指令模塊。備選地或者附加地,程序指令可以被編碼於人為生成的傳播信號、例如機器生成的電、光學、電磁信號上,該傳播信號被生成用於對信息進行編碼用於向適當接收器裝置傳輸以供數據處理裝置執行。計算機存儲介質可以是或者被包含於機器可讀存儲設備、機器可讀存儲襯底、隨機或者串行存取存儲器陣列或者設備或者它們中的一項或者多項的組合。另外,儘管計算機存儲介質不是傳播信號,但是計算機存儲介質可以是在人為生成的傳播信號中編碼的電腦程式指令的源或者目的地。計算機存儲介質也可以是一個或者多個單獨物理部件或者介質(例如多個CD、盤或者其他存儲設備)或者被包含於一個或者多個單獨物理部件或者介質中。
[0058]在本說明書中描述的操作可以實施為由數據處理裝置對一個或者多個計算機可讀存儲設備上存儲的數據或者從其他來源接收的數據進行的操作。
[0059]術語「數據處理裝置」涵蓋所有種類的用於處理數據的裝置、設備和機器,舉例而言包括可編程處理器、計算機、片上系統或者前述各項的多個或者組合。該裝置可以包括專用邏輯電路、例如FPGA(現場可編程門陣列)或者ASIC(專用集成電路)。除了硬體之外,該裝置也可以包括為討論的電腦程式創建執行環境的代碼,例如構成處理器固件、協議棧、資料庫管理系統、作業系統、交叉平臺運行時環境、虛擬機或者它們中的一項或者多項的組合的代碼。裝置和執行環境可以實現各種不同計算模型基礎結構,諸如web服務、分布式計算和網格計算基礎結構。
[0060]電腦程式(也稱為程序、軟體、軟體應用、腳本或者代碼)可以用包括編譯或者解譯語言、說明或者過程語言的任何形式的程式語言進行編寫,並且其可以採用任何形式來部署、包括部署為獨立程序或者部署為適合於在計算環境中使用的模塊、部件、子例程、對象或者其他單元。電腦程式可以、但是不是必須對應於文件系統中的文件。程序可以被存儲於保持其他程序或者數據的文件(例如存儲於標記語言文檔中的一個或者多個腳本)的一部分中、專用於討論的程序的單個文件中或者多個協同文件(例如存儲一個或者多個模塊、子程序或者代碼部分的文件)中。電腦程式可以被部署用於在一個計算機上或者在位於一個地點或者分布於多個地點並且被通信網絡互連的多個計算機上執行。
[0061]在本說明書中描述的過程和邏輯流程可以被一個或者多個可編程處理器執行,該一個或者多個可編程處理器執行一個或者多個電腦程式以通過對輸入數據進行操作並且生成輸出來執行動作。過程和邏輯流程也可以被專用邏輯電路、例如FPGA(現場可編程門陣列)或者ASIC(專用集成電路)執行並且裝置也可以實施為專用邏輯電路。
[0062]舉例而言,適合於執行電腦程式的處理器包括通用和專用微處理器以及任何種類的數字計算機的任何一個或者多個處理器。一般而言,處理器將從只讀存儲器或者隨機存取存儲器或者二者接收指令和數據。計算機的基本單元是用於根據指令執行動作的處理器以及用於存儲指令和數據的一個或者多個存儲器設備。一般而言,計算機也將包括用於存儲數據的一個或者多個海量存儲設備,例如磁碟、光磁碟或者光碟,或者被操作地耦合用於從該一個或者多個海量存儲設備接收數據或者向該一個或者多個海量存儲設備發送數據或者二者。然而計算機不是必須具有這樣的設備。另外,計算機可以嵌入於另一設備中,聊舉數例,例如行動電話、個人數字助理(PDA)、移動音頻或者視頻播放器、遊戲控制臺、全球定位系統(GPS)接收器或者便攜存儲設備(例如通用串行總線(USB)快閃驅動)。適合於存儲電腦程式指令和數據的設備包括所有形式的非易失性存儲器、介質和存儲器設備,舉例而言包括半導體存儲器設備、例如EPROM、EEPROM和快閃記憶體設備;磁碟、例如內部硬碟或者可拆卸盤;光磁碟;以及CD-ROM和DVD-ROM盤。處理器和存儲器可以由專用邏輯電路補充或者併入於專用邏輯電路中。
[0063]為了提供與用戶的交互,在本說明書中描述的主題內容的實施例可以被實施於計算機上,該計算機具有用於向用戶顯示信息的顯示設備,例如CRT(陰極射線管)或者IXD(液晶顯示器)監視器,以及用戶可以用來向計算機提供輸入的鍵盤和指示設備,例如滑鼠或者跟蹤球。其他種類的設備也可以用來提供與用戶的交互;例如向用戶提供的反饋可以是任何形式的感官反饋、例如視覺反饋、聽覺反饋或者觸覺反饋;並且來自用戶的輸入可以以包括聲音、話音或者觸覺輸入的任何形式接收。此外,計算機可以通過向用戶使用的設備發送文檔和從該設備接收文檔來與用戶交互,例如通過響應於從用戶的客戶端設備上的web瀏覽器接收的請求向web瀏覽器發送網頁。
[0064]在本說明書中描述的主題內容的實施例可以被實施於計算系統中,該計算系統包括例如作為數據伺服器的後端部件或者包括中間件部件、例如應用伺服器或者包括前端部件、例如具有圖形用戶接口或者Web瀏覽器的客戶端計算機,用戶可以通過該圖形用戶接口或者Web瀏覽器與本說明書中描述的主題內容的實現方式交互,或者一個或者多個這樣的後端部件、中間件或者前端部件的任何組合。系統的部件可以被任何數字數據通信形式或者介質、例如通信網絡互連。通信網絡的示例包括區域網(「LAN」)和廣域網(「WAN」)、網際網路(例如網際網路)和對等網絡(例如自組織對等網絡)。
[0065]計算系統可以包括客戶端和伺服器。客戶端和伺服器一般相互遠離並且通常通過通信網絡交互。客戶端和伺服器的關係藉助在相應計算機上運行並且相互具有客戶端-伺服器關係的電腦程式而產生。在一些實施例中,伺服器向客戶端設備傳輸數據(例如HTML頁面)(例如用於向與客戶端設備交互的用戶顯示數據和從該用戶接收用戶輸入)。可以在伺服器處從客戶端設備接收在客戶端設備處生成的數據(例如用戶交互的結果)。
[0066]在圖5中示出一個這種類型的計算機的示例,該圖示出可編程處理系統(系統)的框圖。系統500可以用來實施這裡描述的系統和方法。系統500的架構可以例如用來實施計算機客戶端、計算機伺服器或者一些其他計算機設備。
[0067]系統500包括處理器510、存儲器520、存儲設備530和輸入/輸出設備540。可以例如使用系統總線550來互連部件510、520、530和540中的每個部件。處理器510能夠處理用於在系統500內執行的指令。在一個實現方式中,處理器510是單線程處理器。在另一實現方式中,處理器510是多線程處理器。處理器510能夠處理存儲器520中或者存儲設備530上存儲的指令。
[0068]存儲器520存儲系統500內的信息。在一個實現方式中,存儲器520是計算機可讀介質。在一個實現方式中,存儲器520是易失性存儲器單元。在另一實現方式中,存儲器520為非易失性存儲器單元。
[0069]存儲設備530能夠提供用於系統500的海量存儲裝置。在一個實現方式中,存儲設備530是計算機可讀介質。在各種不同實現方式中,存儲設備530可以例如包括硬碟設備、光碟設備或者一些其他大容量存儲設備。
[0070]輸入/輸出設備540提供用於系統500的輸入/輸出操作。在一個實現方式中,輸入/輸出設備540可以包括網絡接口設備,例如乙太網卡;串行通信設備,例如RS-232埠 ;和/或無線接口設備,例如802.11卡中的一項或者多項。在另一實現方式中,輸入/輸出設備可以包括被配置用於接收輸入數據並且向其他輸入/輸出設備,例如鍵盤、印表機和顯示設備560輸出數據的驅動器設備。
[0071]儘管本說明書包含許多具體實現方式細節,但是不應解釋這些為對任何發明的範圍或者可能要求保護的內容的範圍的限制,而是應當解釋為對特定於具體發明的具體實施例的特徵的描述。在本說明書中在單獨實施例的背景中描述的某些特徵也可以在單個實施例中被組合實施。反言之,在單個實施例的背景中描述的各種特徵也可以在多個實施例中單獨或者在任何適當子組合中被實施。另外,雖然上文可以描述特徵為在某些組合中動作並且甚至起初這樣要求保護,但是來自要求保護的組合的一個或者多個特徵在一些情況下可以從該組合中被刪除,並且要求保護的組合可以涉及子組合或者子組合的變體。
[0072]類似地,儘管在附圖中以特定順序描繪操作,但是這不應理解為要求以所示特定順序或者以依次順序進行這樣的操作或者進行所有所示操作以實現希望的結果。在某些境況中,多任務和並行處理可以是有利的。另外,在上文描述的實施例中的各種系統部件的分離不應理解為在所有實施例中要求這樣的分離,並且應當理解描述的程序部件和系統一般可以一起集成於單個軟體產品中或者封裝成多個軟體產品。
[0073]已經這樣描述主題內容的具體實施例。其他實施例在所附權利要求的範圍內。在一些情況下,在權利要求中記載的動作可以按不同順序來進行並且仍然實現希望的結果。此外,在附圖中描繪的過程未必需要所示具體順序或者依次順序以實現希望的結果。在某些實現方式中,多任務和並行處理可以是有利的。
【權利要求】
1.一種編碼有跟蹤指令的計算機存儲介質,所述跟蹤指令在由客戶端設備執行時使所述客戶端設備執行操作,所述操作包括: 生成事件數據,所述事件數據詳述用於由發布者伺服器供應的並且在所述客戶端設備上渲染的網頁的一個或者多個事件,所述網頁和所述發布者伺服器屬於第一域,並且所述一個或者多個事件相對於所述客戶端設備來測量; 確定所述事件數據是否超過尺寸閾值; 響應於確定所述事件數據未超過所述尺寸閾值,生成去往分析伺服器的HTTP GET請求,所述分析伺服器屬於與所述第一域不同的第二域,所述HTTP GET請求包括所述事件數據; 響應於確定所述事件數據超過所述尺寸閾值,確定所述客戶端是否支持跨來源資源共 響應於確定所述客戶端支持跨來源資源共享,生成去往所述分析伺服器的第一 HTTPPOST請求,所述第一 HTTP POST包括所述事件數據並且是與跨來源資源共享兼容的消息;以及 響應於確定所述客戶端不支持跨來源資源共享,生成去往所述分析伺服器的第二 HTTPPOST,所述第二 HTTP POST請求包括所述事件數據並且是從所述客戶端設備上的屬於所述第二域的環境發送的。
2.根據權利要求1所述的計算機存儲介質,其中生成去往所述分析伺服器的所述第一HTTP POST請求包括生成跨域AJAX HTTP POST請求,所述跨域AJAX HTTP POST請求是與跨來源資源共享兼容的消息。
3.根據權利要求1所述的計算機存儲介質,其中生成去往所述分析伺服器的所述第二HTTP POST 包括: 生成具有從所述事件數據導出的名稱值的所述環境; 從所述環境請求來自所述分析伺服器的環境指令; 接收所述環境指令並且在所述環境中執行所述環境指令,所述第二指令使所述客戶端設備生成去往所述分析伺服器的所述第二 HTTP POST。
4.根據權利要求3所述的計算機存儲介質,其中所述環境是iFrame。
5.根據權利要求3所述的計算機存儲介質,其中: 所述環境指令還使所述客戶端設備執行操作,所述操作包括將所述環境的所述域從所述分析伺服器的所述第二域改變成所述發布者的所述第一域;並且 所述跟蹤指令還使所述客戶端設備執行操作,所述操作包括響應於所述環境的所述域的所述改變來刪除所述環境。
6.根據權利要求5所述的計算機存儲介質,其中將所述環境的所述域從所述分析伺服器的所述域改變成所述發布者的所述域包括將所述環境的所述名稱值賦值成所述第一域的統一資源定位符。
7.一種編碼有跟蹤指令的計算機存儲介質,所述跟蹤指令在由客戶端設備執行時使所述客戶端設備執行操作,所述操作包括: 生成事件數據,所述事件數據詳述用於由發布者伺服器供應的並且在所述客戶端設備上渲染的網頁的一個或者多個事件,所述網頁和所述發布者伺服器屬於第一域,並且所述一個或者多個事件相對於所述客戶端設備來測量; 確定所述客戶端設備是否支持跨來源資源共享; 響應於確定所述客戶端設備不支持跨來源資源共享: 定義用於所述網頁的iFrame,所述iFrame屬於分析伺服器的第二域,並且所述iFrame具有從所述事件數據導出的名稱值; 從所述iFrame發出針對來自所述分析伺服器的環境指令的請求; 接收來自所述分析伺服器的所述環境指令並且在所述iFrame中執行所述環境指令,所述環境指令使所述客戶端設備: 根據所述iFrame的名稱值生成去往所述分析伺服器的第一 HTTP POST請求,所述第一HTTP POST請求包括所述事件數據;以及 將所述iFrame的所述域從所述第二域改變成所述第一域。
8.根據權利要求7所述的計算機存儲介質,其中將所述iFrame的所述域從所述第二域改變成所述第一域包括將所述環境的所述名稱值改變成所述第一域的統一資源定位符。
9.根據權利要求8所述的計算機存儲介質,其中所述跟蹤指令還使所述客戶端設備執行操作,所述操作包括: 確定所述iFrame的名稱值 是否包括所述第一域的所述統一資源定位符;以及響應於確定所述iFrame的名稱值包括所述第一域的所述統一資源定位符,刪除所述iFrame。
10.根據權利要求7所述的計算機存儲介質,其中所述跟蹤指令還使所述客戶端設備執行操作,所述操作包括: 響應於確定所述客戶端設備支持跨來源資源共享,生成去往所述分析伺服器的第二HTTP POST請求,所述第二HTTP POST請求包括所述事件數據並且是與跨來源資源共享兼容的消息。
11.一種由客戶端設備執行的計算機實施的方法,所述方法包括: 生成事件數據,所述事件數據詳述用於由發布者伺服器供應的並且在所述客戶端設備上渲染的網頁的一個或者多個事件,所述網頁和所述發布者伺服器屬於第一域,並且所述一個或者多個事件相對於所述客戶端設備來測量; 確定所述事件數據是否超過尺寸閾值; 響應於確定所述事件數據未超過所述尺寸閾值,生成去往分析伺服器的HTTP GET請求,所述分析伺服器屬於與所述第一域不同的第二域,所述HTTP GET請求包括所述事件數據; 響應於確定所述事件數據超過所述尺寸閾值,確定所述客戶端是否支持跨來源資源共 響應於確定所述客戶端支持跨來源資源共享,生成去往所述分析伺服器的第一 HTTPPOST請求,所述第一 HTTP POST請求包括所述事件數據並且是與跨來源資源共享兼容的消息;以及 響應於確定所述客戶端不支持跨來源資源共享,生成去往所述分析伺服器的第二 HTTPPOST,所述第二 HTTP POST包括所述事件數據並且是從所述客戶端設備上的屬於所述第二域的環境發送的。
12.根據權利要求11所述的計算機實施的方法,其中生成去往所述分析伺服器的所述第一 HTTP POST請求包括生成跨域AJAX HTTP POST請求,所述跨域AJAX HTTP POST請求是與跨來源資源共享兼容的消息。
13.根據權利要求11所述的方法,其中所述環境是iFrame,並且生成去往所述分析伺服器的所述第二 HTTP POST包括: 生成具有從所述事件數據導出的名稱值的所述環境; 將所述環境的所述域從所述分析伺服器的所述第二域改變成所述發布者的所述第一域;以及 響應於所述環境的所述域的所述改變來刪除所述環境; 其中將所述環境的所述域從所述分析伺服器的所述域改變成所述發布者的所述域包括將所述環境的所述名稱值賦值成所述第一域的統一資源定位符。
14.一種由客戶端設備執行的計算機實施的方法,所述方法包括: 生成事件數據,所述事件數據詳述用於由發布者伺服器供應的並且在所述客戶端設備上渲染的網頁的一個或者多個事件,所述網頁和所述發布者伺服器屬於第一域,並且所述一個或者多個事件相 對於所述客戶端設備來測量; 確定所述客戶端設備是否支持跨來源資源共享; 響應於確定所述客戶端設備不支持跨來源資源共享: 定義用於所述網頁的iFrame,所述iFrame屬於分析伺服器的第二域,並且所述iFrame具有從所述事件數據導出的名稱值; 從所述iFrame發出針對來自所述分析伺服器的環境指令的請求; 接收來自所述分析伺服器的所述環境指令並且在所述iFrame中執行所述環境指令,所述環境指令使所述客戶端設備: 根據所述iFrame的名稱值生成去往所述分析伺服器的第一 HTTP POST請求,所述第一HTTP POST請求包括所述事件數據;以及 將所述iFrame的所述域從所述第二域改變成所述第一域。
15.根據權利要求14所述的方法,其中將所述iFrame的所述域從所述第二域改變成所述第一域包括將所述環境的所述名稱值改變成所述第一域的統一資源定位符。
16.根據權利要求14所述的方法,還包括: 確定所述iFrame的名稱值包括所述第一域的所述統一資源定位符並且作為響應來刪除所述iFrame。
17.根據權利要求14所述的方法,還包括: 響應於確定所述客戶端設備支持跨來源資源共享,生成去往所述分析伺服器的第二HTTP POST請求,所述第二HTTP POST請求包括所述事件數據並且是與跨來源資源共享兼容的消息。
18.—種系統,包括: 處理子系統;以及 存儲指令的存儲器子系統,所述指令在由所述處理子系統執行時使所述處理子系統執行操作,所述操作包括: 生成事件數據,所述事件數據詳述用於由發布者伺服器供應的並且在所述客戶端設備上渲染的網頁的一個或者多個事件,所述網頁和所述發布者伺服器屬於第一域,並且所述一個或者多個事件相對於所述客戶端設備來測量; 確定所述客戶端設備是否支持跨來源資源共享; 響應於確定所述客戶端設備不支持跨來源資源共享: 定義用於所述網頁的iFrame,所述iFrame屬於分析伺服器的第二域,並且所述iFrame具有從所述事件數據導出的名稱值; 從所述iFrame發出針對來自所述分析伺服器的環境指令的請求; 接收來自所述分析伺服器的所述環境指令並且在所述iFrame中執行所述環境指令,所述環境指令使所述客戶端設備: 根據所述iFrame的名稱值生成去往所述分析伺服器的第一 HTTP POST請求,所述第一HTTP POST請求包括所述事件數據;以及 將所述iFrame的所述域從所述第二域改變成所述第一域。
19.一種編碼有數據遞送指令的計算機存儲介質,所述數據遞送指令在由客戶端設備執行時使所述客戶端設備執行操作,所述操作包括: 生成用於由第一伺服器供應的並且在所述客戶端設備上渲染的網頁的傳輸數據,所述網頁和所述第一伺服器屬於第一域; 確定所述客戶端設備是否支持跨來源資源共享;` 響應於確定所述客戶端設備不支持跨來源資源共享: 定義用於所述網頁的iFrame,所述iFrame屬於接收伺服器的第二域,並且所述iFrame具有從所述傳輸數據導出的名稱值; 從所述iFrame發出針對來自所述接收伺服器的iFrame指令的請求; 接收來自所述接收伺服器的所述iFrame指令並且在所述iFrame中執行所述iFrame指令,所述iFrame指令使所述客戶端設備: 根據所述iFrame的名稱值生成去往所述接收伺服器的第一 HTTP POST請求,所述第一HTTP POST請求包括所述傳輸數據;以及 將所述iFrame的所述域從所述第二域改變成所述第一域。
【文檔編號】G06F15/16GK103443781SQ201180061249
【公開日】2013年12月11日 申請日期:2011年11月1日 優先權日:2010年11月3日
【發明者】J·薩維奇, B·N·庫恩, J·L·沃吉利斯 申請人:谷歌公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀