本發(fā)明的實(shí)施例涉及頁面的自動化檢查,具體涉及計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的方法和裝置。
背景技術(shù):
在移動電商平臺,各個頻道頁和活動頁曝光的商品數(shù)據(jù)來源主要是賣場接口直接吐出的數(shù)據(jù)。根據(jù)不同的接口類型,吐出不同的數(shù)據(jù)類型,最后得到需要的商品信息(包括商品名稱、商品庫存量單位(stockingkeepingunit,sku)標(biāo)識(id)、價格信息、所屬區(qū)域、商品對應(yīng)的單品統(tǒng)一資源定位符(url)、庫存信息等)。
然而,對于活動頁面曝光的商品數(shù)據(jù),存在以下問題:配置的數(shù)據(jù)為空或者配置的獲取數(shù)據(jù)參數(shù)id錯誤,從而導(dǎo)致用戶打開某個活動頁面時沒有任何商品數(shù)據(jù);以及活動頁面的價格、庫存、促銷信息與商品詳情中的價格、庫存、促銷信息來源不同,用戶在活動頁面看到的價格和促銷信息與進(jìn)入商品詳情頁面查看的不一致,或者用戶進(jìn)入商品詳情頁面之后,發(fā)現(xiàn)對應(yīng)商品無庫存。以上兩個問題都會在一定程度上影響用戶的購買體驗。因此,在移動電商行業(yè),在功能發(fā)布之前需要對功能發(fā)布進(jìn)行驗證和測試。
目前,主要是通過人工手動檢查網(wǎng)頁上的品牌數(shù)據(jù),即由測試人員通過手動點(diǎn)擊每一個品牌或活動頁面的鏈接,來檢查鏈接的配置是否正確以及頁面商品數(shù)據(jù)信息是否正確等等。
然而,在大型促活動期間,由于涉及的活動頁面很多,因此需人工檢查每一個頁面中每個品牌的商品數(shù)據(jù)是否完備、正確和一致。這種人工檢查的方式存在以下缺點(diǎn):非常耗時耗力、人工成本高;由于網(wǎng)頁中的品牌鏈接數(shù)以百計,手動檢查很容易出現(xiàn)遺漏或錯誤;無法實(shí)現(xiàn)實(shí)時和定時檢查(在活動期間,可能一直對數(shù)據(jù)進(jìn)行配置);無法 快速形成可視化的報表數(shù)據(jù);無法及時、定向地通知與問題頁面對應(yīng)的負(fù)責(zé)人等等。為了減少人工檢測成本并且減少誤報和漏報,需要一種用于自動檢查數(shù)據(jù)完整性和一致性的技術(shù),以便能夠通過對頻道頁和活動頁下的商品數(shù)據(jù)的一致性進(jìn)行自動檢查,暴露出大部分不一致的問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中的一個或多個問題,提出了一種計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的方法和裝置。采用自動化監(jiān)控代替?zhèn)鹘y(tǒng)的人工測試大大縮短了產(chǎn)品的發(fā)布周期并提高了產(chǎn)品發(fā)布質(zhì)量。
在本發(fā)明的一個方面,公開了一種計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的方法,包括:
在接收到新的頁面信息之后,對頁面的統(tǒng)一資源定位符url進(jìn)行解析;
當(dāng)所述頁面url中不存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,對所述頁面進(jìn)行處理以確定接口url和接口類型;
根據(jù)所述接口類型來確定功能接口;
根據(jù)所述接口url通過所確定的功能接口來獲取頁面數(shù)據(jù);以及
對所述頁面數(shù)據(jù)進(jìn)行自動化檢查。
優(yōu)選地,對所述頁面進(jìn)行處理以確定接口url和接口類型包括:
對所述頁面進(jìn)行phantomjs解析,以獲得接口url;
確定所述接口url中是否存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字;以及
當(dāng)所述接口url中存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,確定所述接口類型是第一類接口類型。
優(yōu)選地,對所述頁面進(jìn)行處理以確定接口url和接口類型還包括:
對所述頁面中未確定接口類型的區(qū)域進(jìn)行解析以獲得頁面源代 碼;以及
根據(jù)所述頁面源代碼確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型和相應(yīng)的接口url。
優(yōu)選地,當(dāng)所述頁面url中存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第一類接口類型。
優(yōu)選地,根據(jù)所述頁面源代碼確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型和相應(yīng)的接口url包括:
根據(jù)所述頁面源代碼確定關(guān)鍵字;以及
根據(jù)所述關(guān)鍵字產(chǎn)生具有所述第一類接口類型的接口url。
優(yōu)選地,所述關(guān)鍵字是活動標(biāo)識和區(qū)域標(biāo)識。
優(yōu)選地,根據(jù)所述頁面源代碼確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型和相應(yīng)的接口url包括:
根據(jù)所述頁面源代碼確定關(guān)鍵字;以及
根據(jù)所述關(guān)鍵字確定所述接口類型是第二類接口類型并且根據(jù)所述頁面源代碼和所述關(guān)鍵字產(chǎn)生接口url。
優(yōu)選地,所述關(guān)鍵字包括webpagebegin和webpageend。
優(yōu)選地,所述方法還包括:
以預(yù)定的掃描方式對存儲頁面信息的數(shù)據(jù)庫進(jìn)行掃描,以確定是否接收到新的頁面信息。
優(yōu)選地,所述預(yù)定的掃描方式包括實(shí)時掃描方式和定時掃描方式。
在本發(fā)明的另一個方面,公開了一種計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的裝置,包括:
解析模塊,被配置為在接收到新的頁面信息之后,對頁面的統(tǒng)一資源定位符url進(jìn)行解析;
處理模塊,被配置為當(dāng)所述頁面url中不存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,對所述頁面進(jìn)行處理以確定接口url和接口類型;
確定模塊,被配置為根據(jù)所述接口類型來確定功能接口;
獲取模塊,被配置為根據(jù)所述接口url通過所確定的功能接口 來獲取頁面數(shù)據(jù);以及
檢查模塊,被配置為對所述頁面數(shù)據(jù)進(jìn)行自動化檢查。
優(yōu)選地,所述處理模塊被進(jìn)一步配置為:
對所述頁面進(jìn)行phantomjs解析,以獲得接口url;
確定所述接口url中是否存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字;以及
當(dāng)所述接口url中存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,確定所述接口類型是第一類接口類型。
優(yōu)選地,所述處理模塊被進(jìn)一步配置為:
對所述頁面中未確定接口類型的區(qū)域進(jìn)行解析以獲得頁面源代碼;以及
根據(jù)所述頁面源代碼確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型和相應(yīng)的接口url。
優(yōu)選地,所述處理模塊被進(jìn)一步配置為:
當(dāng)所述頁面url中存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第一類接口類型。
優(yōu)選地,所述處理模塊被進(jìn)一步配置為:
根據(jù)所述頁面源代碼確定關(guān)鍵字;以及
根據(jù)所述關(guān)鍵字產(chǎn)生具有所述第一類接口類型的接口url。
優(yōu)選地,所述關(guān)鍵字是活動標(biāo)識和區(qū)域標(biāo)識。
優(yōu)選地,所述處理模塊被進(jìn)一步配置為:
根據(jù)所述頁面源代碼確定關(guān)鍵字;以及
根據(jù)所述關(guān)鍵字確定所述接口類型是第二類接口類型并且根據(jù)所述頁面源代碼和所述關(guān)鍵字產(chǎn)生接口url。
優(yōu)選地,所述關(guān)鍵字包括webpagebegin和webpageend。
優(yōu)選地,所述裝置還包括:
掃描模塊,被配置為以預(yù)定的掃描方式對存儲頁面信息的數(shù)據(jù)庫進(jìn)行掃描,以確定是否接收到新的頁面信息。
優(yōu)選地,所述預(yù)定的掃描方式包括實(shí)時掃描方式和定時掃描方式。
在本發(fā)明提出的方案中,實(shí)現(xiàn)了以下優(yōu)點(diǎn):節(jié)省了人力成本,縮短了產(chǎn)品的發(fā)布周期;降低了人工檢查帶來的漏報率和誤報率;提升了產(chǎn)品質(zhì)量在用戶心中的認(rèn)知;報表中清晰的日志信息可以供運(yùn)營人員和開發(fā)人員快速定位問題;可以動態(tài)新增檢查點(diǎn),只需新增對應(yīng)檢查點(diǎn)的處理方法;可以實(shí)時和定時地監(jiān)控電商系統(tǒng)線上商品數(shù)據(jù)信息(正確性、一致性、實(shí)時性,即頁面鏈接是否正確,數(shù)據(jù)是否為空,價格信息是否一致,庫存信息是否實(shí)時更新);本發(fā)明基于頁面解析,可以針對電商系統(tǒng)大部分活動、促銷或品牌頁面;本發(fā)明基于接口監(jiān)控,除非接口變更,否則頁面變更無須更新腳本;以及對于新增的頻道頁,簡單分析頁面數(shù)據(jù)之后,可以調(diào)用現(xiàn)有的解析模塊進(jìn)行數(shù)據(jù)分析、提取,方便后續(xù)擴(kuò)展使用。
附圖說明
為了更好地理解本發(fā)明,將根據(jù)以下附圖對本發(fā)明的實(shí)施例進(jìn)行描述:
圖1是示出了根據(jù)本發(fā)明實(shí)施例的計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的方法的流程圖;
圖2是示出了根據(jù)本發(fā)明實(shí)施例的通過對頁面進(jìn)行phantomjs處理來確定接口類型的方法的流程圖;
圖3是示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)頁面源代碼確定接口類型和接口url的方法的第一實(shí)施例的示意圖;
圖4是示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)頁面源代碼確定關(guān)鍵字的示意圖;
圖5是示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)頁面源代碼確定接口類型和接口url的方法的第二實(shí)施例的示意圖;
圖6是示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)頁面源代碼確定關(guān)鍵字和接口url的示意圖;
圖7是示出了根據(jù)本發(fā)明實(shí)施例的計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的裝置的框圖;以及
圖8是示出了根據(jù)本發(fā)明實(shí)施例的計算機(jī)執(zhí)行的基于頁面解析進(jìn) 行自動化檢查的系統(tǒng)的示意圖。
附圖沒有對實(shí)施例的所有電路或結(jié)構(gòu)進(jìn)行顯示。貫穿所有附圖相同的附圖標(biāo)記表示相同或相似的部件或特征。
具體實(shí)施方式
下面將詳細(xì)描述本發(fā)明的具體實(shí)施例,應(yīng)當(dāng)注意,這里描述的實(shí)施例只用于舉例說明,并不用于限制本發(fā)明。在以下描述中,為了提供對本發(fā)明的透徹理解,闡述了大量特定細(xì)節(jié)。然而,對于本領(lǐng)域普通技術(shù)人員顯而易見的是:不必采用這些特定細(xì)節(jié)來實(shí)行本發(fā)明。在其他實(shí)例中,為了避免混淆本發(fā)明,未具體描述公知的電路、材料或方法。
在整個說明書中,對“一個實(shí)施例”、“實(shí)施例”、“一個示例”或“示例”的提及意味著:結(jié)合該實(shí)施例或示例描述的特定特征、結(jié)構(gòu)或特性被包含在本發(fā)明至少一個實(shí)施例中。因此,在整個說明書的各個地方出現(xiàn)的短語“在一個實(shí)施例中”、“在實(shí)施例中”、“一個示例”或“示例”不一定都指同一實(shí)施例或示例。此外,可以以任何適當(dāng)?shù)慕M合和/或子組合將特定的特征、結(jié)構(gòu)或特性組合在一個或多個實(shí)施例或示例中。此外,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,在此提供的附圖都是為了說明的目的,并且附圖不一定是按比例繪制的。這里使用的術(shù)語“和/或”包括一個或多個相關(guān)列出的項目的任何和所有組合。
下面,將參照圖1描述計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的方法。
首先,在步驟s101,接收到新的頁面信息,然后對頁面的url進(jìn)行解析。可以以預(yù)定的掃描方式(例如,實(shí)時掃描方式和定時掃描方式)對存儲頁面信息的數(shù)據(jù)庫進(jìn)行掃描,以確定是否接收到新的頁面信息。如果是實(shí)時掃描方式,則促發(fā)掃描模塊開始掃描,并且在掃描結(jié)束之后產(chǎn)生掃描結(jié)果,如果為定時掃描方式,則在系統(tǒng)設(shè)置的時間點(diǎn)進(jìn)行掃描。這里的url支持包括一級、二級、三級頁面的靜態(tài)頁面,也可以為直接的商品數(shù)據(jù)獲取接口。
然后,在步驟s102,判斷頁面url中是否存在與針對后臺業(yè)務(wù)系 統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字。后臺業(yè)務(wù)系統(tǒng)中存儲了各種類型的頁面數(shù)據(jù)。具有第一類接口類型的url本身為數(shù)據(jù)請求url或者帶有接口所需的參數(shù)的url。針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字可以由用戶定義。例如,關(guān)鍵字可以被定義為mmart、brandspecial、spematerial等等。
當(dāng)在步驟s102確定頁面url中存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,在步驟s103,確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第一類接口類型,并且此時的接口url即為頁面url,然后過程前進(jìn)至步驟s105。
當(dāng)在步驟s102確定頁面url中不存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,在步驟s104,對所述頁面進(jìn)行處理以確定接口url和接口類型。
接下來,在步驟s105,根據(jù)接口類型來確定功能接口。這里,不同的接口類型對應(yīng)于不同的功能接口,例如,功能接口1、功能接口2、功能接口3等等。針對不同的功能接口,所獲取的頁面數(shù)據(jù)類型是不同的。例如,針對功能接口1,要獲取的頁面數(shù)據(jù)類型是商品名稱和商品skuid,針對功能接口2,要獲取的頁面數(shù)據(jù)類型是價格信息和所屬區(qū)域,并且針對功能接口3,要獲取的頁面數(shù)據(jù)類型是商品名稱和庫存信息等等。
然后,在步驟s106,根據(jù)接口url通過所確定的功能接口來獲取頁面數(shù)據(jù)。
最后,在步驟s107,對頁面數(shù)據(jù)進(jìn)行自動化檢查。所涉及的檢查包括數(shù)據(jù)完整性檢查和數(shù)據(jù)正確性檢查。具體地,對頁面數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,檢查數(shù)據(jù)的完整性,即,判斷商品數(shù)據(jù)是否為空,如果為空則提示有問題,并且將相關(guān)問題信息通過郵件發(fā)送給相關(guān)人員,或者對頁面數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,檢查數(shù)據(jù)的正確性,即,判斷商品數(shù)據(jù)的鏈接是否正確,價格是否正確,庫存是否正確,如果有不正確的則提示有問題,并且將相關(guān)問題信息通過郵件發(fā)送給相關(guān)人員。
接下來,將參照圖2至圖5對步驟s104進(jìn)行詳細(xì)討論。圖2是示出了根據(jù)本發(fā)明實(shí)施例的通過對頁面進(jìn)行phantomjs處理來確定接 口類型的方法的流程圖。phantomjs是一個基于webkit的服務(wù)器端javascriptapi。圖1中的步驟s104包括以下步驟。
在步驟s201,對所述頁面進(jìn)行phantomjs解析,以獲得接口url,例如,http://wq.jd.com/mcoss/mmart/show?tpl=4&callback=mart_fu_bao&actid=61029&pi=1&pc=200&t=4842749&g_ty=ls。
在步驟s202,確定所述接口url中是否存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字。
在步驟s203,當(dāng)所述接口url中存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第一類接口類型。例如,對于上述接口url:http://wq.jd.com/mcoss/mmart/show?tpl=4&callback=mart_fu_bao&actid=61029&pi=1&pc=200&t=4842749&g_ty=ls,可以確定存在相匹配的關(guān)鍵字mmart。因此,確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第一類接口類型。
當(dāng)對所述頁面進(jìn)行phantomjs解析之后所述頁面中還存在未確定接口類型的區(qū)域時,需要對所述區(qū)域進(jìn)行解析以獲得頁面源代碼,然后根據(jù)所述頁面源代碼確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型和相應(yīng)的接口url。
圖3是示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)頁面源代碼確定接口類型和接口url的方法的第一實(shí)施例的示意圖。
首先,在步驟s301,對頁面中的區(qū)域進(jìn)行解析以獲得頁面源代碼。然后,在步驟s302,根據(jù)所述頁面源代碼確定關(guān)鍵字,例如actid和areaid。最后,在步驟s303,根據(jù)所述關(guān)鍵字產(chǎn)生具有所述第一類接口類型的接口url。例如,可以通過將關(guān)鍵字(例如,actid和areaid)以及與關(guān)鍵字相對應(yīng)的值拼接在與第一類接口類型相對應(yīng)的url(例如http://wq.jd.com/mcoss/mmart/show?)之后,來產(chǎn)生具有第一類接口類型的接口url。
如圖4所示,圖4的右側(cè)示出了通過對圖4的左側(cè)的頁面中的區(qū)域進(jìn)行解析獲得的頁面源代碼。根據(jù)該頁面源代碼,可以確定關(guān)鍵字 為actid和areaid,并且actid的相應(yīng)值為61025,而areaid的相應(yīng)值為80681、80679和80678。然后,通過將關(guān)鍵字以及與關(guān)鍵字相對應(yīng)的值拼接在與第一類接口類型相對應(yīng)的url之后,得到的接口url。以actid為61025并且areaid為80681為例,得到的接口url為http://wq.jd.com/mcoss/mmart/show?actid=61025&areaid=80681。當(dāng)然,本發(fā)明中根據(jù)關(guān)鍵字產(chǎn)生具有第一類接口類型的接口url的方式不限于此,還存在各種其他類型的拼接方式。
圖5是示出了根據(jù)本發(fā)明實(shí)施例的根據(jù)頁面源代碼確定接口類型和接口url的方法的第二實(shí)施例的示意圖。
首先,在步驟s501,對頁面中的區(qū)域進(jìn)行解析以獲得頁面源代碼。然后,在步驟s502,根據(jù)所述頁面源代碼確定關(guān)鍵字,例如webpagebegin、webpageend等等。最后,在步驟s503,根據(jù)關(guān)鍵字確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第二類接口類型并且根據(jù)頁面源代碼和關(guān)鍵字產(chǎn)生接口url。
如圖6所示,圖6的右側(cè)示出了通過對圖6的左側(cè)的頁面中的區(qū)域進(jìn)行解析獲得的頁面源代碼。根據(jù)該頁面源代碼,可以確定關(guān)鍵字為webpagebegin和webpageend。根據(jù)關(guān)鍵字確定針對后臺業(yè)務(wù)系統(tǒng)的接口類型是第二類接口類型并且根據(jù)頁面源代碼和關(guān)鍵字產(chǎn)生接口url。如圖6所示,在關(guān)鍵字webpagebegin和webpageend之間查找頁面源代碼中的接口url,以得到接口url:http://wqs.jd.com/portal/sq/clothing/clothing_index_sq.shtml?ptag=38376.1.1、http://wqs.jd.com/portal/sq/clothing/clothing_index_man_sq.shtml?ptag=38376.2.1等。
圖7是示出了根據(jù)本發(fā)明實(shí)施例的計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的裝置700的框圖。裝置700包括:解析模塊710、處理模塊720、確定模塊730、獲取模塊740和檢查模塊750。解析模塊710被配置為在接收到新的頁面信息之后,對頁面的統(tǒng)一資源定位符url進(jìn)行解析。處理模塊720被配置為當(dāng)所述頁面url中不存在與針對后臺業(yè)務(wù)系統(tǒng)的第一類接口類型的關(guān)鍵字相匹配的關(guān)鍵字時,對 所述頁面進(jìn)行處理以確定接口url和接口類型。確定模塊730被配置為根據(jù)所述接口類型來確定功能接口。獲取模塊740被配置為根據(jù)所述接口url通過所確定的功能接口來獲取頁面數(shù)據(jù)。檢查模塊750被配置為對所述頁面數(shù)據(jù)進(jìn)行自動化檢查。
裝置700還包括:掃描模塊,被配置為以預(yù)定的掃描方式對存儲頁面信息的數(shù)據(jù)庫進(jìn)行掃描,以確定是否接收到新的頁面信息。
裝置700與方法100相對應(yīng)。以上對方法100的具體描述和解釋同樣適用于裝置700,在此不再贅述。
圖8示出了根據(jù)本發(fā)明實(shí)施例的計算機(jī)執(zhí)行的基于頁面解析進(jìn)行自動化檢查的系統(tǒng)800的示意圖。系統(tǒng)800包括處理器810,例如,數(shù)字信號處理器(dsp)。處理器810可以是用于執(zhí)行本文所描述的過程的不同動作的單個單元或多個單元。系統(tǒng)800還可以包括輸入/輸出(i/o)單元830,用于從其他實(shí)體接收信號或者向其他實(shí)體發(fā)送信號。
此外,系統(tǒng)800包括存儲器820,該存儲器820可以具有以下形式:非易失性或易失性存儲器,例如,電可擦除可編程只讀存儲器(eeprom)、閃存等。存儲器820存儲計算機(jī)可讀指令,當(dāng)處理器810執(zhí)行該計算機(jī)可讀指令時,該計算機(jī)可讀指令使處理器執(zhí)行本文所述的動作。
以上的詳細(xì)描述通過使用示意圖、流程圖和/或示例,已經(jīng)闡述了檢查方法和系統(tǒng)的眾多實(shí)施例。在這種示意圖、流程圖和/或示例包含一個或多個功能和/或操作的情況下,本領(lǐng)域技術(shù)人員應(yīng)理解,這種示意圖、流程圖或示例中的每一功能和/或操作可以通過各種結(jié)構(gòu)、硬件、軟件、固件或?qū)嵸|(zhì)上它們的任意組合來單獨(dú)和/或共同實(shí)現(xiàn)。在一個實(shí)施例中,本發(fā)明的實(shí)施例所述主題的若干部分可以通過專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、數(shù)字信號處理器(dsp)、或其他集成格式來實(shí)現(xiàn)。然而,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識到,這里所公開的實(shí)施例的一些方面在整體上或部分地可以等同地實(shí)現(xiàn)在集成電路中,實(shí)現(xiàn)為在一臺或多臺計算機(jī)上運(yùn)行的一個或多個計算機(jī)程序(例如,實(shí)現(xiàn)為在一臺或多臺計算機(jī)系統(tǒng)上運(yùn)行的一個或多個程序),實(shí)現(xiàn)為在一個或多個處理器上運(yùn)行的一個或多個程序(例如,實(shí)現(xiàn)為在一個或 多個微處理器上運(yùn)行的一個或多個程序),實(shí)現(xiàn)為固件,或者實(shí)質(zhì)上實(shí)現(xiàn)為上述方式的任意組合,并且本領(lǐng)域技術(shù)人員根據(jù)本公開,將具備設(shè)計電路和/或?qū)懭胲浖?或固件代碼的能力。此外,本領(lǐng)域技術(shù)人員將認(rèn)識到,本公開所述主題的機(jī)制能夠作為多種形式的程序產(chǎn)品進(jìn)行分發(fā),并且無論實(shí)際用來執(zhí)行分發(fā)的信號承載介質(zhì)的具體類型如何,本公開所述主題的示例性實(shí)施例均適用。信號承載介質(zhì)的示例包括但不限于:可記錄型介質(zhì),如軟盤、硬盤驅(qū)動器、緊致盤(cd)、數(shù)字通用盤(dvd)、數(shù)字磁帶、計算機(jī)存儲器等;以及傳輸型介質(zhì),如數(shù)字和/或模擬通信介質(zhì)(例如,光纖光纜、波導(dǎo)、有線通信鏈路、無線通信鏈路等)。
雖然已參照幾個典型實(shí)施例描述了本發(fā)明,但應(yīng)當(dāng)理解,所用的術(shù)語是說明和示例性、而非限制性的術(shù)語。由于本發(fā)明能夠以多種形式具體實(shí)施而不脫離發(fā)明的精神或?qū)嵸|(zhì),所以應(yīng)當(dāng)理解,上述實(shí)施例不限于任何前述的細(xì)節(jié),而應(yīng)在隨附權(quán)利要求所限定的精神和范圍內(nèi)廣泛地解釋,因此落入權(quán)利要求或其等效范圍內(nèi)的全部變化和改型都應(yīng)為隨附權(quán)利要求所涵蓋。