本申請(qǐng)根據(jù)35U.S.C.§119(e)要求于2014年4月4日提交的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)序列號(hào)61/975,664“Fast Rendering of Visualization,”和于2014年12月19日提交的美國(guó)非臨時(shí)專(zhuān)利申請(qǐng)序列號(hào)14/578,267“Fast Rendering of Visualization,”的優(yōu)先權(quán),其全部?jī)?nèi)容通過(guò)引用合并于此。
背景技術(shù):
1.技術(shù)領(lǐng)域
本公開(kāi)總體上涉及服務(wù)器-客戶(hù)端數(shù)據(jù)通信領(lǐng)域,且具體地,涉及在服務(wù)器-客戶(hù)端架構(gòu)下的快速可視化渲染。
2.相關(guān)技術(shù)
工業(yè)界目前遵循傳統(tǒng)的用于發(fā)送數(shù)據(jù)且實(shí)現(xiàn)在客戶(hù)端上的可視化的服務(wù)器-客戶(hù)端架構(gòu)。該傳統(tǒng)架構(gòu)和在服務(wù)器與客戶(hù)端之間的工作劃分可能具有顯著的缺點(diǎn)。例如,在傳統(tǒng)服務(wù)器-客戶(hù)端架構(gòu)中,大量的數(shù)據(jù)處理工作需要在服務(wù)器上被完成,導(dǎo)致服務(wù)器超載。
另外,為實(shí)現(xiàn)在客戶(hù)端上渲染可視化,服務(wù)器和客戶(hù)端可能需要彼此通信大量處理結(jié)果。因此,對(duì)大量處理結(jié)果的通信可能導(dǎo)致可視化渲染的難以忍受的延遲。
附圖說(shuō)明
圖1是根據(jù)一個(gè)實(shí)施例的用于實(shí)現(xiàn)快速可視化渲染的示例計(jì)算環(huán)境的高層框圖。
圖2是圖示根據(jù)一個(gè)實(shí)施例的能夠從機(jī)器可讀介質(zhì)讀取指令且在處理器(或控制器)中執(zhí)行指令以充當(dāng)客戶(hù)端設(shè)備和/或服務(wù)器的示例機(jī)器的組件的框圖。
圖3是圖示根據(jù)一個(gè)實(shí)施例的用于提供簡(jiǎn)潔表的示例方法的流程圖。
圖4是圖示根據(jù)一個(gè)實(shí)施例的用于實(shí)現(xiàn)例如在客戶(hù)端設(shè)備上渲染可視化的應(yīng)用的示例方法的流程圖。
圖5至圖11是對(duì)顯示不同可視化的用戶(hù)接口的示例圖形表示。
具體實(shí)施方式
公開(kāi)的實(shí)施例具有從詳細(xì)描述和附圖(或圖形)中將更顯而易見(jiàn)的優(yōu)點(diǎn)和特征。
附圖和下述描述僅通過(guò)圖示的方法涉及優(yōu)選的實(shí)施例。應(yīng)注意從下述討論中,本文中所公開(kāi)的結(jié)構(gòu)和方法的替選的實(shí)施例將被容易地辨識(shí)為可以在不背離所要求保護(hù)的原理的情況下采用的可行替代。
現(xiàn)在將詳細(xì)地對(duì)多個(gè)實(shí)施例做出參考,其示例在附圖中被圖示。注意在任意可行的時(shí)候,相似或相同的附圖標(biāo)記可以被用于附圖中且可以指示相似或相同的功能。附圖僅為了圖示的目的描繪公開(kāi)的系統(tǒng)(或方法)的實(shí)施例。本領(lǐng)域技術(shù)人員將輕易從詳細(xì)描述中意識(shí)到本文中圖示的結(jié)構(gòu)和方法的替選實(shí)施例可以在不背離本文中描述的原理的情況下被采用。
配置概述
為克服傳統(tǒng)服務(wù)器-客戶(hù)端數(shù)據(jù)通信架構(gòu)的缺點(diǎn),系統(tǒng)(和計(jì)算機(jī)實(shí)現(xiàn)方法)被配置為在客戶(hù)端設(shè)備上實(shí)現(xiàn)應(yīng)用。在一個(gè)示例配置中,系統(tǒng)基于用戶(hù)輸入,確定在客戶(hù)端設(shè)備上實(shí)現(xiàn)應(yīng)用所需的數(shù)據(jù)集。系統(tǒng)向服務(wù)器發(fā)送對(duì)數(shù)據(jù)集的請(qǐng)求,且接收與數(shù)據(jù)集相對(duì)應(yīng)的一個(gè)或多個(gè)簡(jiǎn)潔表。系統(tǒng)將一個(gè)或多個(gè)簡(jiǎn)潔表組合以生成數(shù)據(jù)集。系統(tǒng)隨后基于數(shù)據(jù)集,在客戶(hù)端設(shè)備上實(shí)現(xiàn)應(yīng)用。
該系統(tǒng)提供優(yōu)于傳統(tǒng)模型的多個(gè)優(yōu)點(diǎn)。首先,該系統(tǒng)實(shí)現(xiàn)被服務(wù)器發(fā)送的數(shù)據(jù)大小的巨大減小,例如,在經(jīng)處理的數(shù)據(jù)高度依賴(lài)于特定的通用數(shù)據(jù)的應(yīng)用中。其次,系統(tǒng)允許在服務(wù)器和客戶(hù)端之間更快的通信,并且因此減少通信延遲。這對(duì)交互式且實(shí)時(shí)的可視化尤為有幫助。第三、系統(tǒng)減少在服務(wù)器側(cè)的負(fù)載,且導(dǎo)致服務(wù)器側(cè)更簡(jiǎn)單且簡(jiǎn)潔的應(yīng)用編程接口(API)。第四,系統(tǒng)通過(guò)使用簡(jiǎn)單數(shù)據(jù)組塊邏輯且將所有的處理在客戶(hù)端側(cè)處置,來(lái)實(shí)現(xiàn)與大型數(shù)據(jù)集快速且實(shí)時(shí)的交互。第五,本地緩存和處理使得系統(tǒng)也適合離線(xiàn)使用。第六,系統(tǒng)使用本地的處理邏輯且允許更快的開(kāi)發(fā)。
示例計(jì)算環(huán)境
圖1示出根據(jù)一個(gè)實(shí)施例的用于實(shí)現(xiàn)快速可視化渲染的計(jì)算環(huán)境100。計(jì)算環(huán)境100包括通過(guò)網(wǎng)絡(luò)150連接的服務(wù)器110、多個(gè)客戶(hù)端設(shè)備170和數(shù)據(jù)庫(kù)130。圖1中僅示出一個(gè)服務(wù)器110、兩個(gè)客戶(hù)端設(shè)備170和數(shù)據(jù)庫(kù)130以使描述簡(jiǎn)單且清晰。計(jì)算環(huán)境100的替選或附加實(shí)施例可以具有多個(gè)連接到網(wǎng)絡(luò)150的服務(wù)器110、客戶(hù)端設(shè)備170和數(shù)據(jù)庫(kù)130。相似地,被圖1的各種實(shí)體所執(zhí)行的功能在不同的實(shí)施例中可能不同。
服務(wù)器110包括記錄處理模塊115。數(shù)據(jù)庫(kù)130包括一個(gè)或多個(gè)簡(jiǎn)潔表135??蛻?hù)端設(shè)備170包括瀏覽器190,所述瀏覽器190內(nèi)有表處理模塊175和可視化模塊177。
服務(wù)器110生成且存儲(chǔ)用于在客戶(hù)端設(shè)備170上為用戶(hù)渲染可視化的簡(jiǎn)潔表。在一個(gè)實(shí)施例中,服務(wù)器110從各種資源檢索原始數(shù)據(jù),且處理原始數(shù)據(jù)以生成簡(jiǎn)潔表。另外,服務(wù)器110響應(yīng)于從客戶(hù)端設(shè)備170接收請(qǐng)求,經(jīng)由網(wǎng)絡(luò)150,將簡(jiǎn)潔表提供給客戶(hù)端設(shè)備170。在一個(gè)實(shí)施例中,服務(wù)器110包括記錄處理模塊115,但地圖服務(wù)器110的其他實(shí)施例包括不同的和/或附加的組件。另外,功能可以以與本文中描述的不同的方式,在組件之間分布。
記錄處理模塊115處理原始數(shù)據(jù)且基于經(jīng)處理的原始數(shù)據(jù)生成簡(jiǎn)潔表。在一個(gè)實(shí)施例中,記錄處理模塊115從各種資源收集與公共運(yùn)輸有關(guān)的原始數(shù)據(jù)。原始數(shù)據(jù)可以包括從運(yùn)輸系統(tǒng)所收集的記錄,所述運(yùn)輸系統(tǒng)包括公共汽車(chē)線(xiàn)路、火車(chē)、地鐵線(xiàn)路等。例如,諸如地鐵站的每個(gè)運(yùn)輸站可以被配備有允許通勤者刷入和刷出的傳感器單元(例如,在地鐵的入口和出口)。在另一示例中,諸如地鐵、公共汽車(chē)或火車(chē)的每個(gè)運(yùn)輸工具可以被配備有相似的傳感器單元以檢測(cè)通勤者的進(jìn)入和退出。在無(wú)論哪種情況下,通勤者的刷入和刷出運(yùn)輸工具的記錄可以從傳感器單元被收集。
在另一個(gè)實(shí)施例中,原始數(shù)據(jù)也可以包括諸如公共汽車(chē)、火車(chē)、地鐵線(xiàn)路等的傳輸線(xiàn)路的公共運(yùn)輸?shù)脑獢?shù)據(jù)。在另一實(shí)施例中,記錄處理模塊115收集運(yùn)輸系統(tǒng)中心數(shù)據(jù),諸如針對(duì)運(yùn)輸工具的速度測(cè)量和全球定位系統(tǒng)(GPS)位置、站點(diǎn)信息、站點(diǎn)占用信息、交通延遲信息等。在再另一實(shí)施例中,記錄處理模塊115也從通勤者所使用的移動(dòng)應(yīng)用(app)收集原始數(shù)據(jù)。例如,記錄處理模塊115收集通信者的獨(dú)立GPS日志。
在一個(gè)實(shí)施例中,記錄處理模塊115分析所收集的原始數(shù)據(jù)以生成經(jīng)處理的數(shù)據(jù)。例如,經(jīng)處理的數(shù)據(jù)可以描述獨(dú)立運(yùn)輸工具(例如,公共汽車(chē)、火車(chē)、地鐵)的移動(dòng)。在另一示例中,經(jīng)處理的數(shù)據(jù)也可以描述每條交通線(xiàn)路在每個(gè)站或站點(diǎn)的估計(jì)等待時(shí)間。特別地,記錄處理模塊115分析所收集的記錄且基于運(yùn)輸系統(tǒng)中心數(shù)據(jù)和/或諸如刷入和刷出數(shù)據(jù)的傳感器數(shù)據(jù),計(jì)算每條線(xiàn)路在每個(gè)站或站點(diǎn)的等待時(shí)間。例如,記錄處理模塊115可以使用公共汽車(chē)的速度測(cè)量和地理定位來(lái)估計(jì)在公共汽車(chē)線(xiàn)路的一站處的等待時(shí)間。記錄處理模塊115也可以使用交通延遲信息以動(dòng)態(tài)地調(diào)整等待時(shí)間。另外,記錄處理模塊115能夠使用刷入和刷出數(shù)據(jù)來(lái)計(jì)算目前多少人在公共汽車(chē)上,使用站點(diǎn)占用信息來(lái)確定多少人在公共汽車(chē)的下一站等待,且接著估計(jì)在該下一站所有等待的人是否都能夠上車(chē)。記錄處理模塊115隨后基于所述估計(jì)來(lái)調(diào)整等待時(shí)間。在另外的示例中,經(jīng)處理的數(shù)據(jù)也可以描述每個(gè)運(yùn)輸工具的占用,諸如在每個(gè)公共汽車(chē)、火車(chē)或地鐵上有多少人。關(guān)于記錄處理模塊115的操作的附加細(xì)節(jié)可以在由Morteza Ibrahimi、Damon Jude Wischik、Christopher David Pluntke、Balaji Satyanarayana Prabhakat、和Deepak Merugu與本申請(qǐng)同日提交的標(biāo)題為“Transportation System Reconstruction”的同時(shí)待審申請(qǐng)中找到。該同時(shí)待審申請(qǐng)的全部?jī)?nèi)容通過(guò)引用合并于此。
在一個(gè)實(shí)施例中,記錄處理模塊115從經(jīng)處理的數(shù)據(jù)中提取信息,并且將所提取的信息存儲(chǔ)在簡(jiǎn)潔表中。簡(jiǎn)潔表是可以包括描述元素或特性的數(shù)據(jù)的表,所述元素或特性被用于生成用來(lái)向用戶(hù)渲染可視化的圖形用戶(hù)界面(GUI)。例如,簡(jiǎn)潔表存儲(chǔ)定義元素在GUI中的位置和諸如顏色、大小、形狀等的元素式樣的數(shù)據(jù)塊。在一個(gè)實(shí)施例中,簡(jiǎn)潔表包括多個(gè)條目,每個(gè)條目與這樣的數(shù)據(jù)塊相對(duì)應(yīng)。在一個(gè)實(shí)施例中,簡(jiǎn)潔表存儲(chǔ)基于在諸如三個(gè)月的預(yù)定時(shí)間長(zhǎng)度內(nèi)的記錄所生成的數(shù)據(jù)。記錄處理模塊115在數(shù)據(jù)庫(kù)130中存儲(chǔ)簡(jiǎn)潔表。在一個(gè)實(shí)施例中,簡(jiǎn)潔表是具有標(biāo)準(zhǔn)化的數(shù)據(jù)方案的表以便最小化冗余數(shù)據(jù)并且改善存儲(chǔ)效率。
在一個(gè)實(shí)施例中,記錄處理模塊115向客戶(hù)端設(shè)備170提供簡(jiǎn)潔表。例如,記錄處理模塊115從客戶(hù)端設(shè)備170接收對(duì)簡(jiǎn)潔表的請(qǐng)求,且基于請(qǐng)求,在不對(duì)所請(qǐng)求的簡(jiǎn)潔表做任何處理的情況下從數(shù)據(jù)庫(kù)130取得所請(qǐng)求的簡(jiǎn)潔表以將所請(qǐng)求的簡(jiǎn)潔表提供到客戶(hù)端設(shè)備170。根據(jù)一些實(shí)施例,僅簡(jiǎn)潔表的一部分(諸如包括一個(gè)或多個(gè)條目的部分)被請(qǐng)求,且記錄處理模塊115取得所請(qǐng)求的條目且發(fā)送到客戶(hù)端設(shè)備170。例如,客戶(hù)端設(shè)備170已接收用于渲染顯示公共汽車(chē)系統(tǒng)的動(dòng)態(tài)操作的GUI的簡(jiǎn)潔表。簡(jiǎn)潔表包括定義公共汽車(chē)路徑的數(shù)據(jù)、在每個(gè)時(shí)間戳處公共汽車(chē)的位置、站信息(例如,站位置、站名)和每個(gè)公共汽車(chē)的占用信息。因此,當(dāng)客戶(hù)端設(shè)備170在諸如五分鐘的特定間隔后請(qǐng)求簡(jiǎn)潔表以更新GUI時(shí),在不請(qǐng)求包括定義公共汽車(chē)的路徑和車(chē)站信息的數(shù)據(jù)的簡(jiǎn)潔表的情況下,客戶(hù)端設(shè)備170可以?xún)H請(qǐng)求與定義公共汽車(chē)的經(jīng)更新的位置和公共汽車(chē)的經(jīng)更新的占用信息相關(guān)的數(shù)據(jù)。
客戶(hù)端設(shè)備170是用戶(hù)所使用以執(zhí)行功能的電子設(shè)備,所述功能諸如查詢(xún)運(yùn)輸信息、消費(fèi)數(shù)字內(nèi)容、執(zhí)行軟件應(yīng)用、瀏覽網(wǎng)絡(luò)150上由web服務(wù)器所托管的網(wǎng)站、下載文件和與服務(wù)器110交互。在一個(gè)實(shí)施例中,客戶(hù)端設(shè)備170也可以具有針對(duì)向用戶(hù)渲染可視化的應(yīng)用所定義且被本地存儲(chǔ)的模板。替選地,客戶(hù)端設(shè)備170可以從服務(wù)器110中選擇數(shù)據(jù)且拉取模板。更進(jìn)一步,服務(wù)器110在簡(jiǎn)潔表中包括可定義的模板用于由客戶(hù)端設(shè)備170拉取而非實(shí)時(shí)對(duì)原始數(shù)據(jù)進(jìn)行處理。
客戶(hù)端設(shè)備170可以是專(zhuān)用電子閱讀器(e-Reader)、智能電話(huà)或平板式、膝上型、筆記本或臺(tái)式計(jì)算機(jī)??蛻?hù)端設(shè)備170包括顯示設(shè)備和/或與顯示設(shè)備交互,在該顯示設(shè)備上用戶(hù)可以查看諸如示出運(yùn)輸信息的圖形用戶(hù)界面(GUI)的可視化。另外,客戶(hù)端設(shè)備170提供諸如物理和/或屏幕上的按鈕的用戶(hù)接口(UI),使用用戶(hù)接口用戶(hù)可以與客戶(hù)端設(shè)備170交互以執(zhí)行諸如以下的功能:在運(yùn)輸?shù)貓D上輕擊元素(例如,公共汽車(chē)站標(biāo)簽、火車(chē)站標(biāo)簽等)、輸入站或站點(diǎn)的名字、選擇公共汽車(chē)或地鐵線(xiàn)路、放大和/或縮小運(yùn)輸?shù)貓D,以及任意其他可能的交互。
在一個(gè)實(shí)施例中,客戶(hù)端設(shè)備170包括表處理模塊175和可視化模塊177,但地圖服務(wù)器110的其他實(shí)施例包括不同的和/或附加的組件。另外,功能可能以與本文中描述的不同的方式在組件之間分布。
表處理模塊175請(qǐng)求且組合簡(jiǎn)潔表以生成用于在客戶(hù)端設(shè)備170上實(shí)現(xiàn)應(yīng)用的應(yīng)用數(shù)據(jù)(例如,用于渲染可視化的可視化數(shù)據(jù))。表處理模塊175可以包括Javascript形式的優(yōu)化的源代碼。在一個(gè)實(shí)施例中,表處理模塊175確定用于實(shí)現(xiàn)諸如在客戶(hù)端設(shè)備170上渲染可視化的應(yīng)用的數(shù)據(jù)集。例如,為了渲染示出多個(gè)公共汽車(chē)線(xiàn)路狀況的地圖,表處理模塊175確定需要定義用于公共汽車(chē)線(xiàn)路路徑的可視化的數(shù)據(jù)。表處理模塊175確定也需要定義用于每個(gè)公共汽車(chē)的占用和每一站的等待時(shí)間的可視化的數(shù)據(jù)。上文提到的定義地圖的每個(gè)特性(例如,路徑、占用和等待時(shí)間)的可視化的數(shù)據(jù)可以描述每個(gè)特性的顏色、大小、形狀、地圖上的位置等。例如,數(shù)據(jù)將等待時(shí)間指定為具有不同長(zhǎng)度的條以指示不同的等待時(shí)間。具體地,條的長(zhǎng)度可以與等待時(shí)間的長(zhǎng)度成比例。在另一示例中,數(shù)據(jù)將公共汽車(chē)線(xiàn)路的不同路徑指定為不同顏色。
在一個(gè)實(shí)施例中,表處理模塊175確定用于實(shí)現(xiàn)諸如在客戶(hù)端設(shè)備170上渲染可視化的應(yīng)用的數(shù)據(jù)子集。例如,表處理模塊175確定渲染可視化所必要的最小數(shù)據(jù)集,諸如顯示多個(gè)公共汽車(chē)線(xiàn)路的占用的GUI。假定基于先前的請(qǐng)求,表處理模塊175已接收包括用于渲染顯示公共汽車(chē)線(xiàn)路的占用的地圖的數(shù)據(jù)的簡(jiǎn)潔表,比如在十分鐘之前。表處理模塊175將所接收的簡(jiǎn)潔表本地地存儲(chǔ)在客戶(hù)端設(shè)備170中。因此,表處理模塊175確定在10分鐘內(nèi)什么被更新,且隨后確定用于渲染經(jīng)更新的占用信息的最小必要數(shù)據(jù)。在一個(gè)實(shí)施例中,表處理模塊175周期性地刪除過(guò)期的數(shù)據(jù),諸如三個(gè)月或更早的數(shù)據(jù)。
在一個(gè)實(shí)施例中,表處理模塊175從服務(wù)器110接收所請(qǐng)求的簡(jiǎn)潔表或簡(jiǎn)潔表的部分,且將簡(jiǎn)潔表或簡(jiǎn)潔表的部分與在客戶(hù)端設(shè)備170上的現(xiàn)有簡(jiǎn)潔表組合,以生成用于在客戶(hù)端設(shè)備170上實(shí)現(xiàn)應(yīng)用的數(shù)據(jù)。例如,表處理模塊175將簡(jiǎn)潔表的部分與先前被存儲(chǔ)在客戶(hù)端設(shè)備170上的條目組合,以生成用于渲染可視化的數(shù)據(jù)。表處理模塊175可以基于其共同認(rèn)證信息,組合表或者表?xiàng)l目。例如,第一條目描述站點(diǎn)占用且包括站點(diǎn)識(shí)別(ID)、時(shí)間和占用的變量;第二條目描述站點(diǎn)信息且包括站點(diǎn)ID、站點(diǎn)名字和時(shí)間的變量。表處理模塊175能夠基于其擁有的共同變量(即,站點(diǎn)ID),來(lái)組合這兩個(gè)條目。
可視化模塊177基于表處理模塊175所生成的數(shù)據(jù),渲染可視化。例如,可視化模塊177使用來(lái)自簡(jiǎn)潔表的合并的數(shù)據(jù),渲染顯示多個(gè)地鐵線(xiàn)路的占用信息的GUI。在一個(gè)實(shí)施例中,可視化模塊177基于圖形語(yǔ)法,針對(duì)通用可視化使用簡(jiǎn)潔和描述性的語(yǔ)法。另外,可視化模塊177使用擴(kuò)展的圖形語(yǔ)法以支持交互、動(dòng)畫(huà)和控制。可視化模塊177針對(duì)使用可伸縮矢量圖形(SVG)和Canvas的現(xiàn)代瀏覽器被優(yōu)化。與表處理模塊175相似,可視化模塊177可以包括Javascript形式的優(yōu)化的源代碼。
針對(duì)一個(gè)示例實(shí)施例,假定三個(gè)簡(jiǎn)潔表已經(jīng)被存儲(chǔ)在數(shù)據(jù)庫(kù)130中。第一個(gè)是公共汽車(chē)位置表:公共汽車(chē)位置(公共汽車(chē)id、路徑id、站id、時(shí)間戳、占用)且具有100,000條記錄,每個(gè)的大小是五個(gè)單元。第二個(gè)是公共汽車(chē)路徑表:公共汽車(chē)路徑(路徑id、路徑名稱(chēng)、路徑代碼)且具有100條記錄,每個(gè)的大小是三個(gè)單元。第三個(gè)是公共汽車(chē)站表:公共汽車(chē)站(站id,站名稱(chēng)、站位置(緯度,經(jīng)度))且具有1000條記錄,每個(gè)的大小是四個(gè)單元。為了生成諸如示出一天內(nèi)在地圖上所有的公共汽車(chē)與公共汽車(chē)的信息的GUI的可視化,需要涉及路徑名稱(chēng)、路徑代碼、站名稱(chēng)、站位置(緯度,經(jīng)度)的記錄。因此,需要公共汽車(chē)位置表、公共汽車(chē)路徑表和公共汽車(chē)站表的多表格加入,導(dǎo)致100,000條記錄,每條的大小是10個(gè)單元。本系統(tǒng)100避免了當(dāng)在客戶(hù)端設(shè)備170上渲染GUI時(shí)從服務(wù)器110向客戶(hù)端設(shè)備170發(fā)送1000,000個(gè)單元(即,100,000×10)的數(shù)據(jù),這可能由于需要發(fā)送的巨量數(shù)據(jù)而導(dǎo)致延遲。相反地,服務(wù)器110僅向客戶(hù)端設(shè)備170發(fā)送三個(gè)簡(jiǎn)潔表,涉及總數(shù)據(jù)大小為504,300個(gè)單元(即,100,00×5+100×3+1000×4)。因此,通過(guò)將未經(jīng)處理的簡(jiǎn)潔表從服務(wù)器110發(fā)送到客戶(hù)端設(shè)備170,且使客戶(hù)端設(shè)備170處理簡(jiǎn)潔表(諸如組合簡(jiǎn)潔表),系統(tǒng)100節(jié)省了大約50%的數(shù)據(jù)流量。進(jìn)一步,所需要的很多不同的數(shù)據(jù)記錄通常依賴(lài)于相同的簡(jiǎn)潔表,因此可能有更高的節(jié)省。
網(wǎng)絡(luò)150實(shí)現(xiàn)存儲(chǔ)服務(wù)器110、客戶(hù)端設(shè)備170和es160之間的通信且可以包括互聯(lián)網(wǎng)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)150使用標(biāo)準(zhǔn)通信技術(shù)和/或協(xié)議。在另一實(shí)施例中,條目可以使用定制的和/或?qū)S脭?shù)據(jù)通信技術(shù)以替代或者附加于前述的技術(shù)。
計(jì)算機(jī)器架構(gòu)
現(xiàn)在參考圖2,其是一個(gè)圖示根據(jù)一個(gè)實(shí)施例的能夠從機(jī)器可讀介質(zhì)讀取指令(例如,軟件或程序代碼)且在處理器(或控制器)中執(zhí)行所述代碼以充當(dāng)客戶(hù)端設(shè)備170和/或地圖服務(wù)器110的示例機(jī)器的組件的框圖。具體地,圖2以計(jì)算機(jī)系統(tǒng)200的示例形式示出機(jī)器的圖解表示,在計(jì)算機(jī)系統(tǒng)200中用于使該機(jī)器執(zhí)行本文中描述的方法論中的任意一個(gè)或多個(gè)的指令224(例如,軟件或程序代碼)可以被執(zhí)行。在替選的實(shí)施例中,機(jī)器作為獨(dú)立設(shè)備操作,或可以被連接(例如,被聯(lián)網(wǎng))到其他機(jī)器。在聯(lián)網(wǎng)的部署下,機(jī)器可以在服務(wù)器-客戶(hù)端網(wǎng)絡(luò)環(huán)境中作為服務(wù)器機(jī)器或客戶(hù)端機(jī)器操作,或在對(duì)等(或分布)網(wǎng)絡(luò)環(huán)境中作為對(duì)等機(jī)器操作。
機(jī)器可以是服務(wù)器計(jì)算機(jī)、客戶(hù)端計(jì)算機(jī)、個(gè)人計(jì)算機(jī)(PC)、平板式PC、機(jī)頂盒(STB)、個(gè)人數(shù)字助理(PDA)、蜂窩電話(huà)、智能電話(huà)、web電器、網(wǎng)絡(luò)路由器、交換機(jī)或橋接器、或能夠執(zhí)行指定被該機(jī)器采取的動(dòng)作的指令224(順序地或以其它方式地)的任意機(jī)器。進(jìn)一步,當(dāng)僅有單個(gè)機(jī)器被圖示時(shí),術(shù)語(yǔ)“機(jī)器”應(yīng)也被理解為包括單獨(dú)地或共同地執(zhí)行指令224以實(shí)現(xiàn)本文中討論的任意一個(gè)或多個(gè)方法論的任意機(jī)器的組合。
示例計(jì)算機(jī)系統(tǒng)200包括一個(gè)或多個(gè)處理器(總體地,處理器202)(例如,中央處理單元(CPU)、圖形處理單元(GPU)、數(shù)字信號(hào)處理器(DSP)、一個(gè)或多個(gè)專(zhuān)用集成電路(ASIC)、一個(gè)或多個(gè)射頻集成電路(RFIC)、或以上的任意組合)、主存儲(chǔ)器204、靜態(tài)存儲(chǔ)器206,它們被配置為經(jīng)由總線(xiàn)208彼此通信。計(jì)算機(jī)系統(tǒng)200可以進(jìn)一步包括圖形顯示單元210(例如,等離子顯示板(PDP)、液晶顯示器(LCD)、投影儀、或陰極射線(xiàn)管(CRT))。計(jì)算機(jī)系統(tǒng)200也可以包括字母數(shù)字輸入設(shè)備212(例如,鍵盤(pán))、光標(biāo)控制設(shè)備214(例如,鼠標(biāo)、軌跡球、操縱桿、運(yùn)動(dòng)傳感器或其他指針器件)、存儲(chǔ)單元216、信號(hào)生成設(shè)備218(例如,揚(yáng)聲器)、以及網(wǎng)絡(luò)接口設(shè)備220,它們也被配置為經(jīng)由總線(xiàn)208通信。
存儲(chǔ)單元216包括機(jī)器可讀介質(zhì)222,在其上存儲(chǔ)體現(xiàn)本文中描述的任意一個(gè)或多個(gè)方法或功能的指令224。指令224也可以在被計(jì)算機(jī)系統(tǒng)200執(zhí)行期間,全部地或至少部分地位于主存儲(chǔ)器204內(nèi)部或在處理器202內(nèi)部(例如,在處理器的緩存內(nèi)),主存儲(chǔ)器204和處理器202也組成機(jī)器可讀介質(zhì)。指令224(例如,軟件)可以經(jīng)由網(wǎng)絡(luò)接口設(shè)備220通過(guò)網(wǎng)絡(luò)226被傳送或被接收。
盡管機(jī)器可讀介質(zhì)222在示例實(shí)施例中作為單個(gè)介質(zhì)被示出,術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”應(yīng)被理解為包括能夠存儲(chǔ)指令(例如,指令224)的單個(gè)介質(zhì)或多個(gè)介質(zhì)(例如,中央式或分布式數(shù)據(jù)庫(kù)、或關(guān)聯(lián)的緩存和服務(wù)器)。術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”也應(yīng)被理解為包括任意能夠存儲(chǔ)用于被機(jī)器執(zhí)行且導(dǎo)致機(jī)器實(shí)現(xiàn)任意一個(gè)或多個(gè)本文中公開(kāi)的方法論的指令(例如,指令224)的介質(zhì)。術(shù)語(yǔ)“機(jī)器可讀介質(zhì)”包括但不被限于以固態(tài)存儲(chǔ)器、光學(xué)介質(zhì)和磁性介質(zhì)的形式的數(shù)據(jù)倉(cāng)庫(kù)。
示例方法
現(xiàn)在轉(zhuǎn)向圖3,圖3是圖示根據(jù)一個(gè)實(shí)施例的用于提供簡(jiǎn)潔表的示例方法的流程圖。圖3將方法的步驟歸屬于服務(wù)器110的記錄處理模塊115。然而,這些步驟的一些或全部可以被其他實(shí)體執(zhí)行。另外,一些實(shí)施例可以并行執(zhí)行這些步驟、以不同的順序執(zhí)行步驟或執(zhí)行不同的步驟。另外,注意在一個(gè)示例實(shí)施例中步驟和/或模塊可以被實(shí)現(xiàn)為指令(例如,224),其可以被關(guān)于圖2描述的處理器202執(zhí)行。
最初,在310,記錄處理模塊115從各種資源收集原始數(shù)據(jù),如關(guān)于圖1被描述的,原始數(shù)據(jù)可以包括從諸如公共汽車(chē)線(xiàn)路系統(tǒng)、火車(chē)系統(tǒng)、地鐵線(xiàn)路系統(tǒng)等的公共運(yùn)輸系統(tǒng)中收集的記錄。在320,記錄處理模塊115分析所收集的原始數(shù)據(jù)以生成經(jīng)處理的數(shù)據(jù)。例如,記錄處理模塊115分析記錄以針對(duì)每個(gè)公共汽車(chē)、火車(chē)或地鐵線(xiàn)路估計(jì)運(yùn)動(dòng)、等待時(shí)間和占用。
在步驟330處,記錄處理模塊115基于經(jīng)處理的數(shù)據(jù),生成簡(jiǎn)潔表。如先前關(guān)于圖1被描述的,記錄處理模塊115基于經(jīng)處理的數(shù)據(jù)提取信息,且將所提取的信息存儲(chǔ)在數(shù)據(jù)庫(kù)130的簡(jiǎn)潔表中。例如,記錄處理模塊175生成針對(duì)公共汽車(chē)位置的簡(jiǎn)潔表,且簡(jiǎn)潔表包括諸如公共汽車(chē)ID、路徑ID、站ID、時(shí)間戳和占用的五列。簡(jiǎn)潔表可以包括100,000個(gè)條目,每個(gè)條目大小為五個(gè)單元。
在步驟340處,記錄處理模塊115從客戶(hù)端設(shè)備170接收請(qǐng)求。例如,客戶(hù)端設(shè)備170請(qǐng)求具有路徑名稱(chēng)、路徑代碼、站名稱(chēng)和站位置作為條目的簡(jiǎn)潔表。在步驟350處,記錄處理模塊115響應(yīng)于請(qǐng)求,取得簡(jiǎn)潔表。在步驟360處,記錄處理模塊115將簡(jiǎn)潔表提供給客戶(hù)端設(shè)備170。例如,在不對(duì)簡(jiǎn)潔表做任何諸如合并簡(jiǎn)潔表的處理的情況下,記錄處理模塊115將簡(jiǎn)潔表發(fā)送給客戶(hù)端設(shè)備170。
圖4是圖示根據(jù)一個(gè)實(shí)施例的用于實(shí)現(xiàn)應(yīng)用的示例方法的流程圖,所述應(yīng)用例如在客戶(hù)端設(shè)備170上渲染可視化。圖4將方法的步驟歸屬于客戶(hù)端設(shè)備170的表處理模塊175和/或可視化模塊177。然而,這些步驟的一些或全部可以被其他實(shí)體執(zhí)行。另外,一些實(shí)施例可以并行執(zhí)行這些步驟、以不同的順序執(zhí)行這些步驟或執(zhí)行不同的步驟。
最初,在410,表處理模塊175確定用于實(shí)現(xiàn)應(yīng)用的數(shù)據(jù)子集,所述應(yīng)用例如渲染可視化。如先前關(guān)于圖1被描述的,為渲染示出一天內(nèi)地圖上所有公共汽車(chē)的GUI,表處理模塊175確定需要路徑名稱(chēng)、路徑代碼、站名稱(chēng)和站位置的信息。在一個(gè)實(shí)施例中,表處理模塊175可以檢測(cè)描述路徑名稱(chēng)和路徑代碼的數(shù)據(jù)由于先前動(dòng)作已被請(qǐng)求且已被本地地存儲(chǔ)于客戶(hù)端設(shè)備170。因此,表處理模塊175確定僅需要描述站名稱(chēng)和站位置的數(shù)據(jù)。在420,表處理模塊175向服務(wù)器110發(fā)送對(duì)該數(shù)據(jù)子集的請(qǐng)求。例如,表處理模塊175向服務(wù)器110發(fā)送對(duì)描述站名稱(chēng)和站位置的數(shù)據(jù)的請(qǐng)求。
在步驟430處,表處理模塊175從服務(wù)器110接收針對(duì)數(shù)據(jù)子集的簡(jiǎn)潔表。例如,表處理模塊175接收描述公共汽車(chē)站的簡(jiǎn)潔表,且簡(jiǎn)潔表具有站ID、站名稱(chēng)和位置的數(shù)據(jù)。在步驟440處,表處理模塊175組合所接收的簡(jiǎn)潔表以擴(kuò)展用于實(shí)現(xiàn)應(yīng)用的數(shù)據(jù)。例如,表處理模塊175將描述公共汽車(chē)站的簡(jiǎn)潔表與先前存儲(chǔ)的描述路徑名稱(chēng)和路徑代碼的數(shù)據(jù)組合,以擴(kuò)展對(duì)于渲染示出一天內(nèi)在地圖上所有公共汽車(chē)的GUI有必要的數(shù)據(jù)。
在步驟450處,可視化模塊177在客戶(hù)端設(shè)備170上實(shí)現(xiàn)應(yīng)用。例如,可視化模塊177基于所述數(shù)據(jù),在客戶(hù)端設(shè)備170上渲染示出一天內(nèi)在地圖上所有公共汽車(chē)的GUI。
示例用戶(hù)接口
現(xiàn)在參考圖5至圖11,圖示了針對(duì)顯示不同可視化的圖形用戶(hù)界面(GUI)的示例圖形表示。例如,GUI被客戶(hù)端設(shè)備170的可視化模塊177生成。圖5圖示示出針對(duì)火車(chē)系統(tǒng)的整體交通狀況的GUI 500。例如,該火車(chē)系統(tǒng)包括四條火車(chē)線(xiàn)路。圖5的GUI 500顯示針對(duì)四條火車(chē)線(xiàn)路的路徑。GUI 500也示出在每個(gè)時(shí)刻每條線(xiàn)路的火車(chē)位置、每個(gè)火車(chē)的占用狀況、在每個(gè)站點(diǎn)等待的乘客數(shù)量和在每個(gè)站點(diǎn)估計(jì)的等待時(shí)間。例如,服務(wù)器110上的記錄處理模塊115收集包括被公共運(yùn)輸系統(tǒng)所采集的記錄,且基于原始數(shù)據(jù),生成經(jīng)處理的數(shù)據(jù)。記錄處理模塊115隨后從經(jīng)處理的數(shù)據(jù)提取信息以生成包括用于渲染諸如GUI 500的GUI的元素或特性的簡(jiǎn)潔表。當(dāng)客戶(hù)端設(shè)備170的用戶(hù)請(qǐng)求諸如GUI 500的GUI時(shí),客戶(hù)端設(shè)備170從服務(wù)器110拉取必要的一個(gè)或多個(gè)簡(jiǎn)潔表,且組合簡(jiǎn)潔表以向用戶(hù)渲染GUI 500。
圖6圖示顯示錯(cuò)過(guò)火車(chē)的人數(shù)的圖表610和620。例如,圖表610示出在一天中從6:00AM到00:00AM,錯(cuò)過(guò)零班火車(chē)、一班火車(chē)、兩班火車(chē)、三班火車(chē)和四或更多班火車(chē)的人數(shù)。為顯示示例性統(tǒng)計(jì)量,圖表610也包括描述在8:15AM到8:30AM期間錯(cuò)過(guò)零班火車(chē)、一班火車(chē)、兩班火車(chē)、三班火車(chē)和四或更多班火車(chē)的人數(shù)的列表615。例如,一天中錯(cuò)過(guò)火車(chē)的人數(shù)可以基于原始數(shù)據(jù)通過(guò)記錄處理模塊175被計(jì)算且被存儲(chǔ)在簡(jiǎn)潔表中??蛻?hù)端設(shè)備170可以拉取簡(jiǎn)潔表且組合簡(jiǎn)潔表以渲染諸如圖表610的可視化。圖表620示出從1月5日到3月25日,在8:15AM到8:30AM期間錯(cuò)過(guò)零班火車(chē)、一班火車(chē)、兩班火車(chē)、三班火車(chē)和四或更多班火車(chē)的人數(shù)。圖表620也包括描述在3月7日在8:15AM到8:30AM期間錯(cuò)過(guò)零班火車(chē)、一班火車(chē)、兩班火車(chē)、三班火車(chē)和四或更多班火車(chē)的人數(shù)的列表625。相似地,從1月5日到3月25日錯(cuò)過(guò)火車(chē)的人數(shù)可以由記錄處理模塊175基于原始數(shù)據(jù)計(jì)算,且被存儲(chǔ)在簡(jiǎn)潔表中。客戶(hù)端設(shè)備170可以拉取簡(jiǎn)潔表且組合簡(jiǎn)潔表以渲染諸如圖表620的可視化。
圖7圖示示出公共汽車(chē)線(xiàn)路路徑和公共汽車(chē)位置的可視化700??梢暬?00也顯示每個(gè)公共汽車(chē)的占用。通過(guò)記錄處理模塊115,描述公共汽車(chē)線(xiàn)路的路徑、公共汽車(chē)位置和每個(gè)公共汽車(chē)的占用的數(shù)據(jù)被提取且被保存在數(shù)據(jù)庫(kù)130的簡(jiǎn)潔表中??蛻?hù)端設(shè)備170請(qǐng)求且接收用于渲染可視化700的簡(jiǎn)潔表。
圖8圖示與特定公共汽車(chē)線(xiàn)路有關(guān)的圖表810和820。例如,圖表810顯示在每一站點(diǎn)等待和下車(chē)的乘客數(shù)量。圖表820顯示在6:00AM到00:00AM期間針對(duì)該特定公共汽車(chē)線(xiàn)路的平均等待時(shí)間。在每一站點(diǎn)等待和下車(chē)的乘客數(shù)量被計(jì)算且被存儲(chǔ)在簡(jiǎn)潔表中。客戶(hù)端設(shè)備170從服務(wù)器側(cè)拉取未經(jīng)處理的簡(jiǎn)潔表,且本地處理簡(jiǎn)潔表以渲染圖表810。另外,針對(duì)該特定公共汽車(chē)線(xiàn)路在6:00AM到00:00AM期間的平均等待時(shí)間可以以相同的方式在圖表820中呈現(xiàn)。
圖9圖示示出包括多個(gè)公共汽車(chē)線(xiàn)路的公共汽車(chē)線(xiàn)路系統(tǒng)的視圖的可視化900。與參考圖5所描述的過(guò)程相似,由記錄處理模塊115對(duì)描述公共汽車(chē)線(xiàn)路的路徑、公共汽車(chē)位置和每個(gè)公共汽車(chē)的占用的數(shù)據(jù)進(jìn)行提取且將其保存在數(shù)據(jù)庫(kù)130中的簡(jiǎn)潔表中??蛻?hù)端設(shè)備170請(qǐng)求且接收用于渲染可視化900的簡(jiǎn)潔表。
圖10圖示示出一月在8:00AM到8:15AM期間的等待時(shí)間的圖表1000。例如,在8:00AM到8:15AM期間的等待時(shí)間被計(jì)算且被存儲(chǔ)在簡(jiǎn)潔表中??蛻?hù)端設(shè)備170從服務(wù)器側(cè)拉取未經(jīng)處理的簡(jiǎn)潔表,且本地處理簡(jiǎn)潔表以渲染圖表1000。
圖11圖示在地圖上示出出站通勤者流的可視化1100。在一個(gè)實(shí)施例中,使用該運(yùn)輸系統(tǒng)的乘客的可能的工作位置和居住位置可以基于通勤者流被估計(jì)??梢曰谒占穆贸逃涗浐?或車(chē)隊(duì)(fleet)數(shù)據(jù)從重建模塊115的結(jié)果中獲取匯總通勤者經(jīng)歷的統(tǒng)計(jì)量??蛻?hù)端設(shè)備170請(qǐng)求和接收用于渲染圖表1100的經(jīng)重建數(shù)據(jù)。
附加配置考慮
因此,如前述,用于快速可視化渲染的系統(tǒng)和方法提供優(yōu)于傳統(tǒng)模型多個(gè)優(yōu)點(diǎn)。例如,系統(tǒng)和方法允許在服務(wù)器110和客戶(hù)端設(shè)備170之間更快的通信,且因此減少通信延遲。這對(duì)于交互式和實(shí)時(shí)可視化尤為有幫助。另外,系統(tǒng)和方法實(shí)現(xiàn)了在服務(wù)器110所發(fā)送的數(shù)據(jù)大小的大量減小,例如在經(jīng)處理的數(shù)據(jù)高度依賴(lài)于某些通用數(shù)據(jù)的應(yīng)用中。進(jìn)一步地,本地緩存和處理使系統(tǒng)也適用于離線(xiàn)使用。另外,系統(tǒng)和方法通過(guò)使用簡(jiǎn)單數(shù)據(jù)組塊邏輯且將所有的處理在客戶(hù)端設(shè)備170處置,來(lái)實(shí)現(xiàn)與大型數(shù)據(jù)集快速且實(shí)時(shí)的交互。
貫穿本說(shuō)明書(shū),多個(gè)實(shí)例可以實(shí)現(xiàn)被描述為單個(gè)實(shí)例的組件、操作或結(jié)構(gòu)。盡管一個(gè)或多個(gè)方法的獨(dú)立操作被圖示且被描述為分離的操作,獨(dú)立操作中的一個(gè)或多個(gè)可以被同時(shí)執(zhí)行,且不需要操作以圖示的順序被執(zhí)行。在示例配置中呈現(xiàn)為分離的組件的結(jié)構(gòu)和功能可以被實(shí)現(xiàn)為組合的結(jié)構(gòu)或組件。相似地,被呈現(xiàn)為單個(gè)組件的結(jié)構(gòu)和功能可以被實(shí)現(xiàn)為分離的組件。這些以及其他的變化、修改、附加和改進(jìn)落在本文中的本主題的范圍內(nèi)。
本文中,特定的實(shí)施例被描述為包括邏輯或多個(gè)組件、模塊或機(jī)制。模塊可以組成軟件模塊(例如,在機(jī)器可讀介質(zhì)上或在傳輸信號(hào)中嵌入的代碼)或硬件模塊。硬件模塊是能夠執(zhí)行特定操作且可以以特定方式被配置或安排的有形單元。在示例實(shí)施例中,一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)(例如,單機(jī)、客戶(hù)端或服務(wù)器計(jì)算機(jī)系統(tǒng))或計(jì)算機(jī)系統(tǒng)的一個(gè)或多個(gè)硬件模塊(例如,處理器或處理器群組,例如處理器202)可以被軟件(例如,應(yīng)用或應(yīng)用的部分)配置為操作以執(zhí)行如本文中描述的特定操作的硬件模塊。
在各種實(shí)施例中,硬件模塊可以被機(jī)械地或電子地實(shí)現(xiàn)。例如,硬件模塊可以包括被永久配置的專(zhuān)用電路或邏輯(例如,作為專(zhuān)用處理器,諸如現(xiàn)場(chǎng)可編程門(mén)序列(FPGA)或?qū)S眉呻娐?ASIC))以執(zhí)行特定操作。硬件模塊也可以包括被軟件(或程序代碼)暫時(shí)配置以執(zhí)行特定操作的可編程邏輯或電路(例如,作為被包括在通用處理器或其他可編程處理器內(nèi))。應(yīng)理解,在專(zhuān)用且永久配置的電路、或在暫時(shí)配置的電路(例如,被軟件或程序代碼配置)機(jī)械地實(shí)現(xiàn)硬件模塊的決定可能是被成本和時(shí)間考慮而驅(qū)動(dòng)的。
本文中描述的示例方法的各種操作可以被至少部分地被一個(gè)或多個(gè)處理器(例如,處理器202)執(zhí)行,處理器被暫時(shí)地配置(例如,被軟件)或永久地配置以執(zhí)行相關(guān)操作。無(wú)論被暫時(shí)地配置或永久地配置,這樣的處理器可以組成操作以執(zhí)行一個(gè)或多個(gè)操作或功能的處理器實(shí)現(xiàn)模塊。本文中涉及的模塊在一些示例實(shí)施例中可以包括處理器實(shí)現(xiàn)的模塊。
一個(gè)或多個(gè)處理器也可以操作以支持相關(guān)操作在“云計(jì)算”環(huán)境中或作為“軟件即服務(wù)(software as a service)”(SaaS)執(zhí)行。例如,操作的至少部分可以被計(jì)算機(jī)組(例如包括處理器202的機(jī)器)執(zhí)行,這些操作可經(jīng)由網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))和經(jīng)由一個(gè)或多個(gè)合適的接口(例如,應(yīng)用編程接口(API))被訪(fǎng)問(wèn)。
特定操作的執(zhí)行可以被分布在一個(gè)或多個(gè)處理器(例如,處理器202)之間,不僅位于單個(gè)機(jī)器內(nèi),但被跨多個(gè)機(jī)器部署。在一些示例實(shí)施例中,一個(gè)或多個(gè)處理器或處理器實(shí)現(xiàn)的模塊可以位于單個(gè)地理位置(例如,在家庭環(huán)境、辦公室環(huán)境或服務(wù)器組)。在其他示例實(shí)施例中,一個(gè)或多個(gè)處理器或處理器實(shí)現(xiàn)的模塊可以跨多個(gè)地理位置分布。
本說(shuō)明書(shū)的一些部分以對(duì)作為位或二進(jìn)制數(shù)字信號(hào)被存儲(chǔ)在機(jī)器存儲(chǔ)器(例如,計(jì)算機(jī)存儲(chǔ)器)內(nèi)的數(shù)據(jù)進(jìn)行操作的算法或符號(hào)表示的形式被呈現(xiàn)。這些算法或符號(hào)表示是被數(shù)據(jù)處理領(lǐng)域技術(shù)人員使用的技術(shù)的示例以將他們工作的實(shí)質(zhì)傳遞給其他本領(lǐng)域技術(shù)人員。如本文中使用的,“算法”是導(dǎo)致所需結(jié)果的自一致的操作或類(lèi)似經(jīng)處理的序列。在該場(chǎng)境中中,算法和操作涉及物理量的物理操作。通常,盡管不是必須的,這些物理量采用能夠被存儲(chǔ)、訪(fǎng)問(wèn)、傳遞、組合、比較或以其他方式被機(jī)器操作的電、磁或光信號(hào)的形式。已經(jīng)證明使用“數(shù)據(jù)”、“內(nèi)容”、“位”、“值”、“元素”、“符號(hào)”、“特性”、“術(shù)語(yǔ)”、“數(shù)字”、“數(shù)目”等來(lái)指代這樣的信號(hào)有時(shí)是方便的,主要為了通用使用的原因。然而,這些詞語(yǔ)僅作為方便的標(biāo)簽,且和適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)。
除非特別說(shuō)明,否則本文中使用諸如“處理”、“計(jì)算(computing)”、“計(jì)算(calculating)”、“確定”、“呈現(xiàn)”、“顯示”的討論是指機(jī)器(例如,計(jì)算機(jī))的動(dòng)作和過(guò)程,所述機(jī)器對(duì)一個(gè)或多個(gè)存儲(chǔ)器(例如,易失性存儲(chǔ)器、非易失性存儲(chǔ)器、或其組合)、寄存器或接收、存儲(chǔ)、傳送或顯示信息的其他機(jī)器組件內(nèi)的表示為物理(例如,電子、磁性或光學(xué))量的數(shù)據(jù)進(jìn)行操縱和轉(zhuǎn)換。
本文中使用的對(duì)“一個(gè)實(shí)施例”或“實(shí)施例”的引用指的是關(guān)聯(lián)于該實(shí)施例被描述的特定的元素、特征、結(jié)構(gòu)或特性被包括在至少一個(gè)實(shí)施例中。在說(shuō)明書(shū)中各處出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”不必全部指相同實(shí)施例。
一些實(shí)施例可以使用表達(dá)“被耦合”或“被連接”與其衍生物一起被描述。例如,一些實(shí)施例可以使用術(shù)語(yǔ)“被耦合”被描述以指示兩個(gè)或多個(gè)元素被直接地物理或電接觸。然而,術(shù)語(yǔ)“被耦合”可以指兩個(gè)或多個(gè)元素未彼此直接接觸,但依然彼此協(xié)作或交互。實(shí)施例不被限制于本場(chǎng)境。
如本文中使用的,術(shù)語(yǔ)“包含(comprises)”、“包含(comprising)”、“包括(includes)”、“包括(including)”、“具有(has)”、“具有(having)”或其其他變體旨在表示非排他性的包括。例如,包括元素列表的過(guò)程、方法、制品、或裝置不必被限制于僅有這些元素,但可以包括其他未明確列出或固有于這些過(guò)程、方法、制品、或裝置的元素。進(jìn)一步,除非相反地明確聲明,“或”指的是包含性的或而不是排它的或。例如,條件A或B被下述任意一條滿(mǎn)足:A為真(或存在)且B為假(不存在),A為假(不存在)且B為真(或存在),或A和B均為真(或存在)。
另外,“一(a)”、“一個(gè)(an)”的使用是用來(lái)描述本文中實(shí)施例的元素和組件。這僅為了方便和給出本發(fā)明的一般性意義。描述應(yīng)當(dāng)被理解為包括一個(gè)或至少一個(gè),且單數(shù)形式也包括復(fù)數(shù)形式,除非顯然它指的是另外的方式。
在閱讀本公開(kāi)后,本領(lǐng)域技術(shù)人員將領(lǐng)會(huì)依然有用于快速可視化渲染的系統(tǒng)和過(guò)程的附加的替選的結(jié)構(gòu)性或功能性設(shè)計(jì)。因此,盡管特定的實(shí)施例和應(yīng)用被圖示和描述,應(yīng)理解公開(kāi)的實(shí)施例不被限制于本文中公開(kāi)的精確的結(jié)構(gòu)和組件。對(duì)本領(lǐng)域技術(shù)人員將顯而易見(jiàn),在不背離在附加權(quán)利要求中定義的精神和范圍的情況下,不同的修改、改變和變化可以在本文中公開(kāi)的方法和裝置的安排、操作和細(xì)節(jié)中做出。