本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)校驗(yàn)方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)業(yè)務(wù)通常會(huì)涉及到多個(gè)系統(tǒng),如購(gòu)物時(shí),會(huì)涉及到登錄系統(tǒng)、購(gòu)物車系統(tǒng)、收銀臺(tái)系統(tǒng)等。不同的系統(tǒng)通常會(huì)對(duì)應(yīng)有不同的數(shù)據(jù)庫(kù)表。在處理業(yè)務(wù)中,數(shù)據(jù)在不同的系統(tǒng)間傳遞后,會(huì)相應(yīng)地存儲(chǔ)在系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中。但是,數(shù)據(jù)在傳遞過(guò)程中可能會(huì)出現(xiàn)錯(cuò)誤,如數(shù)據(jù)傳遞前后不一致的情況,進(jìn)而導(dǎo)致數(shù)據(jù)庫(kù)中的數(shù)據(jù)異常;或者,數(shù)據(jù)向數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程中磁盤發(fā)生故障,進(jìn)而導(dǎo)致存儲(chǔ)后的數(shù)據(jù)異常。
現(xiàn)有技術(shù)中,通過(guò)數(shù)據(jù)校驗(yàn)可以找到上述異常數(shù)據(jù)。一般的,數(shù)據(jù)校驗(yàn)需要用戶編寫測(cè)試腳本。所述測(cè)試腳本會(huì)用一個(gè)期望值與數(shù)據(jù)庫(kù)中實(shí)際值進(jìn)行比對(duì),如果所述期望值和實(shí)際值一致,則說(shuō)明數(shù)據(jù)庫(kù)表中實(shí)際值是正常的,即校驗(yàn)結(jié)果為數(shù)據(jù)正常。如果,期望值和實(shí)際值不一致,則說(shuō)明數(shù)據(jù)庫(kù)表中實(shí)際值是不正常的,即校驗(yàn)結(jié)果為數(shù)據(jù)異常。然而,由于數(shù)據(jù)校驗(yàn)代碼是寫在測(cè)試腳本里的,使得數(shù)據(jù)校驗(yàn)和測(cè)試腳本耦合性高,對(duì)于待校驗(yàn)的字段對(duì)應(yīng)的數(shù)據(jù)庫(kù)表還需要關(guān)聯(lián)一個(gè)csv(commaseperatedvalue)文件,使得測(cè)試腳本可以進(jìn)行數(shù)據(jù)校驗(yàn)。數(shù)據(jù)庫(kù)表中的字段對(duì)應(yīng)所述csv文件中的一行數(shù)據(jù),并通過(guò)設(shè)置y(需要校驗(yàn)),n(不用校驗(yàn)),c(查詢)來(lái)表示所述字段是否需要校驗(yàn)。如在csv文件中一行數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的字段“姓名”,通過(guò)設(shè)置y對(duì)字段“姓名”進(jìn)行校驗(yàn),或者通過(guò)設(shè)置n不用對(duì)字段“姓名”進(jìn)行校驗(yàn)。通常,設(shè)置y時(shí)還需要設(shè)置c,即對(duì)需要校驗(yàn)的字段進(jìn)行查詢,得到數(shù)據(jù)庫(kù)表中的實(shí)際值。如果數(shù)據(jù)庫(kù)表很多,數(shù)據(jù)庫(kù)表中字段也很多時(shí),上述數(shù)據(jù)校驗(yàn)需要增加很多的 csv文件,并花費(fèi)很多時(shí)間來(lái)配置csv文件中的數(shù)據(jù)。
綜上所述,現(xiàn)有技術(shù)中存在數(shù)據(jù)校驗(yàn)和測(cè)試腳本耦合性高,用戶操作復(fù)雜的問題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)實(shí)施例的目的是提供一種數(shù)據(jù)校驗(yàn)方法及裝置,用以解決現(xiàn)有技術(shù)中存在數(shù)據(jù)校驗(yàn)和測(cè)試腳本耦合性高,用戶操作復(fù)雜的問題。
為解決上述技術(shù)問題,本申請(qǐng)實(shí)施例提供的數(shù)據(jù)校驗(yàn)方法及裝置是這樣實(shí)現(xiàn)的:
一種數(shù)據(jù)校驗(yàn)方法,包括:
校驗(yàn)服務(wù)器接收測(cè)試客戶端發(fā)送的攜帶待校驗(yàn)字段集合與期望值的測(cè)試腳本;
校驗(yàn)服務(wù)器根據(jù)所述測(cè)試腳本中待校驗(yàn)字段集合獲取預(yù)設(shè)的校驗(yàn)用例;
校驗(yàn)服務(wù)器向數(shù)據(jù)庫(kù)查詢所述校驗(yàn)用例中各個(gè)數(shù)據(jù)庫(kù)表中所述待校驗(yàn)字段集合的實(shí)際值;
校驗(yàn)服務(wù)器判斷所述測(cè)試腳本中待校驗(yàn)字段集合期望值與所述實(shí)際值是否一致。
一種數(shù)據(jù)校驗(yàn)的方法,包括:
測(cè)試客戶端在測(cè)試腳本中配置待校驗(yàn)字段集合;
測(cè)試客戶端將待校驗(yàn)字段集合的期望值寫入到測(cè)試腳本中;
測(cè)試客戶端將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
一種數(shù)據(jù)校驗(yàn)的裝置,包括:
接收單元:用于接收測(cè)試客戶端發(fā)送的攜帶待校驗(yàn)字段集合與期望值的測(cè)試腳本;
獲取單元:用于根據(jù)所述測(cè)試腳本中待校驗(yàn)字段集合獲取預(yù)設(shè)的校驗(yàn)用例;
查詢單元:用于向數(shù)據(jù)庫(kù)查詢所述校驗(yàn)用例中各個(gè)數(shù)據(jù)庫(kù)表中所述待校驗(yàn)字段集合的實(shí)際值;
判斷單元:用于判斷所述測(cè)試腳本中待校驗(yàn)字段集合期望值與所述實(shí)際值是否一致。
一種數(shù)據(jù)校驗(yàn)的裝置,包括:
配置單元:用于在測(cè)試腳本中配置待校驗(yàn)字段集合;
寫入單元:用于將待校驗(yàn)字段集合的期望值寫入到測(cè)試腳本中;
發(fā)送單元:用于將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
由以上本申請(qǐng)實(shí)施例提供的技術(shù)方案可見,通過(guò)將測(cè)試腳本與數(shù)據(jù)校驗(yàn)分離,用戶只需在測(cè)試客戶端上配置好測(cè)試腳本后發(fā)送至校驗(yàn)服務(wù)器,由校驗(yàn)服務(wù)器來(lái)完成數(shù)據(jù)校驗(yàn)。如此,相較于現(xiàn)有技術(shù)使得測(cè)試腳本和數(shù)據(jù)校驗(yàn)解耦,并且無(wú)需用戶配置csv文件,降低了用戶操作復(fù)雜性,解決現(xiàn)有技術(shù)中測(cè)試腳本和數(shù)據(jù)校驗(yàn)耦合性高,用戶操作復(fù)雜的問題。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)的系統(tǒng)架構(gòu)圖;
圖2為本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)方法的流程圖;
圖3為本申請(qǐng)一實(shí)施例中提供的校驗(yàn)服務(wù)器為主體的流程圖;
圖4為本申請(qǐng)一實(shí)施例中提供的腳本客戶端為主體的流程圖;
圖5為本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)裝置的模塊示意圖;
圖6為本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)裝置的模塊示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
圖1為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)校驗(yàn)的系統(tǒng)架構(gòu)圖。本實(shí)施例中,該系統(tǒng)可以包括校驗(yàn)服務(wù)器105,腳本客戶端106。
系統(tǒng)架構(gòu)圖100中,腳本客戶端106與校驗(yàn)服務(wù)器105之間借助網(wǎng)絡(luò)可以實(shí)現(xiàn)遠(yuǎn)程通信,繼而完成數(shù)據(jù)交互和處理。系統(tǒng)架構(gòu)圖100可以包括經(jīng)由網(wǎng)絡(luò)112分別與多個(gè)腳本客戶端106進(jìn)行通信的校驗(yàn)服務(wù)器105,以及可以集成于所述校驗(yàn)服務(wù)器105或獨(dú)立于所述校驗(yàn)服務(wù)器105的數(shù)據(jù)庫(kù)115。
網(wǎng)絡(luò)112可以包括有線或無(wú)線電信裝置,腳本客戶端106所基于的網(wǎng)絡(luò)裝置可以通過(guò)所述有線或無(wú)線電信裝置來(lái)交換數(shù)據(jù)。例如,網(wǎng)絡(luò)112可以包括局域網(wǎng)(“l(fā)an”)、廣域網(wǎng)(“wan”)、內(nèi)部網(wǎng)、互聯(lián)網(wǎng)、移動(dòng)電話網(wǎng)絡(luò)、虛擬專用網(wǎng)(vpn)、蜂窩式或其它移動(dòng)通信網(wǎng)絡(luò)、藍(lán)牙、nfc或其任何組合。
校驗(yàn)服務(wù)器105,腳本客戶端106的設(shè)備在架構(gòu)上都包含一些基本組件,如總線、處理裝置、存儲(chǔ)裝置、一個(gè)或多個(gè)輸入/輸出裝置、和通信接口等??偩€可以包括一個(gè)或多個(gè)導(dǎo)線,用來(lái)實(shí)現(xiàn)服務(wù)器和客戶端設(shè)備各組件之間的通信。處理裝置可以包括各類型的用來(lái)執(zhí)行指令、處理進(jìn)程或線程的處理器或微處理器。存儲(chǔ)裝置可以包括用以存儲(chǔ)動(dòng)態(tài)消息的動(dòng)態(tài)存儲(chǔ)器,如隨機(jī)訪問存儲(chǔ)器(ram),或用以存儲(chǔ)靜態(tài)消息的靜態(tài)存儲(chǔ)器,如只讀存儲(chǔ)器(rom),以及包括磁或光學(xué)記錄介質(zhì)與相應(yīng)驅(qū)動(dòng)的大容量存儲(chǔ)器。輸入裝置可以是鍵盤、鼠標(biāo)、手寫筆、觸摸屏、聲音識(shí)別裝置、或生物測(cè)定裝置等。輸出裝置可以是用以輸出消息的顯示器、打印機(jī)、或揚(yáng)聲器等。通信接口用來(lái)使服務(wù)器或客戶端設(shè)備與其他系統(tǒng)或裝置進(jìn)行通信。通信接口之間可通過(guò)有線連接方式、無(wú)線 連接方式、或光連接方式連接到上述網(wǎng)絡(luò)中,以使上述客戶端設(shè)備、服務(wù)器實(shí)現(xiàn)相互通信。
腳本客戶端106所基于的網(wǎng)絡(luò)裝置都可以包括具有能夠經(jīng)由網(wǎng)絡(luò)112發(fā)出并接收數(shù)據(jù)的通信模塊的裝置。例如,腳本客戶端106所基于的網(wǎng)絡(luò)裝置都可以包括臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、智能手機(jī)、手持式計(jì)算機(jī)、個(gè)人數(shù)字助理(“pda”),或者其它任何的有線或無(wú)線處理器驅(qū)動(dòng)裝置。
系統(tǒng)架構(gòu)圖100中,校驗(yàn)服務(wù)器105可以提供腳本客戶端106數(shù)據(jù)校驗(yàn)服務(wù)。腳本客戶端106可以用于配置測(cè)試腳本并將測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器105中進(jìn)行數(shù)據(jù)校驗(yàn)。
具體地,腳本客戶端106可以通過(guò)網(wǎng)絡(luò)112調(diào)用校驗(yàn)服務(wù)器105對(duì)外提供的遠(yuǎn)程過(guò)程調(diào)用協(xié)議(remoteprocedurecallprotocol,rpc)服務(wù)接口,從而將配置好的測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器105。校驗(yàn)服務(wù)器105根據(jù)所述測(cè)試腳本中待校驗(yàn)字段的期望值,從數(shù)據(jù)庫(kù)表中獲取待校驗(yàn)字段的實(shí)際值,并對(duì)所述期望值與實(shí)際值比較,得出校驗(yàn)結(jié)果。
以下結(jié)合圖2所示的例子介紹本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)方法的流程圖。本實(shí)施例中,所述數(shù)據(jù)校驗(yàn)方法包括如下步驟:
s201:腳本客戶端在測(cè)試腳本中配置待校驗(yàn)字段集合。
所述待校驗(yàn)字段集合可以是用戶根據(jù)業(yè)務(wù)系統(tǒng)結(jié)合校驗(yàn)需求設(shè)置的待校驗(yàn)字段的集合。所述待校驗(yàn)字段集合中至少包括一個(gè)字段。
例子一:一個(gè)購(gòu)物系統(tǒng),該系統(tǒng)涉及到登錄子系統(tǒng)、購(gòu)物車子系統(tǒng)、收銀臺(tái)子系統(tǒng),訂單子系統(tǒng)。假設(shè)校驗(yàn)需求是校驗(yàn)購(gòu)物者的姓名、年齡是否正常(正常情況下,在一次購(gòu)物過(guò)程中購(gòu)物者的姓名、年齡前后必定是一致的),那么所述待校驗(yàn)字段集合可以包括如下所示的字段:
登錄子系統(tǒng)對(duì)應(yīng)的登錄數(shù)據(jù)庫(kù)表中姓名字段“namea”、年齡字段“agea”;
購(gòu)物車系統(tǒng)對(duì)應(yīng)的購(gòu)物車數(shù)據(jù)庫(kù)表中姓名字段“nameb”、年齡字段 “ageb”;
收銀臺(tái)系統(tǒng)對(duì)應(yīng)的收銀臺(tái)數(shù)據(jù)庫(kù)表中姓名字段“namec”、年齡字段“aged”;
訂單系統(tǒng)對(duì)應(yīng)的訂單數(shù)據(jù)庫(kù)表中姓名字段“named”、年齡字段“aged”;
即,該例子中,待校驗(yàn)字段集合為{namea,agea,nameb,ageb,namec,agec,named,aged}。
例子二:通常,不同系統(tǒng)中相同字段命名可能是相同的。相對(duì)于例子一,本例子中姓名字段在各個(gè)數(shù)據(jù)庫(kù)表中均命名為“name”。如此,在姓名字段和年齡字段相同的情況下,待校驗(yàn)字段集合可以包括如下所示的字段:
登錄子系統(tǒng)對(duì)應(yīng)的登錄數(shù)據(jù)庫(kù)表中姓名字段“name”、年齡字段“age”;
購(gòu)物車系統(tǒng)對(duì)應(yīng)的購(gòu)物車數(shù)據(jù)庫(kù)表中姓名字段“name”、年齡字段“age”;
收銀臺(tái)系統(tǒng)對(duì)應(yīng)的收銀臺(tái)數(shù)據(jù)庫(kù)表中姓名字段“name”、年齡字段“age”;
訂單系統(tǒng)對(duì)應(yīng)的訂單數(shù)據(jù)庫(kù)表中姓名字段“name”、年齡字段“age”;
即,待校驗(yàn)字段集合為{name,age}。
腳本客戶端需要在測(cè)試腳本中配置所述待校驗(yàn)字段集合。結(jié)合上述例子二所述的待校驗(yàn)字段集合{name,age},配置的代碼示例如下所示:
如上所示,testcontext是java中提供的一個(gè)上下文的類,在testcontext中定義了一個(gè)具體的字段stringname,該字段即為待校驗(yàn)字段集合中的字段“name”。進(jìn)一步的,代碼中還提供了get和set方法,用于通過(guò)getname()方法獲取業(yè)務(wù)系統(tǒng)中的姓名,再通過(guò)setname()方法寫入獲取到的姓名。
需要說(shuō)明的是,上文提及的代碼僅為本實(shí)施例中配置字段集合的部分代碼示例,為將本實(shí)施例闡述得清楚簡(jiǎn)潔,對(duì)于本實(shí)施例全部代碼在此不作贅述。
s202:腳本客戶端將待校驗(yàn)字段集合的期望值寫入到測(cè)試腳本中。
具體地,所述s210步驟可以包括如下步驟:
腳本客戶端通過(guò)get方法獲取所述待校驗(yàn)字段的期望值;
腳本客戶端通過(guò)set方法將所述期望值寫入到測(cè)試腳本中。
沿用上一步驟中的例子二,在購(gòu)物系統(tǒng)中,假設(shè)張三進(jìn)行了一次購(gòu)物,那么腳本客戶端通過(guò)get方法可以從業(yè)務(wù)系統(tǒng)中獲取姓名字段的期望值為“張三”,年齡字段的期望值為“18”。腳本客戶端通過(guò)set方法,將姓名字段的期望值“張三”和年齡字段的期望值“18”寫入測(cè)試腳本中。
在本申請(qǐng)的一個(gè)具體地實(shí)施例中,在s201步驟之后,還可以包括如下步驟:
腳本客戶端將所述測(cè)試腳本存儲(chǔ)在本地。
如此,當(dāng)用戶下次需要校驗(yàn)相同的字段時(shí),只需將存儲(chǔ)的測(cè)試腳本再次發(fā)送至校驗(yàn)服務(wù)器即可?;蛘?,當(dāng)用戶需要增加待校驗(yàn)字段時(shí),只需增加或修改 現(xiàn)有的測(cè)試腳本,無(wú)需重新配置測(cè)試腳本。通過(guò)本實(shí)施例,簡(jiǎn)化了用戶操作,提高了整體的校驗(yàn)效率。
s211:測(cè)試客戶端將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
測(cè)試客戶端通過(guò)調(diào)用校驗(yàn)服務(wù)器提供的rpc服務(wù)接口,從而將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
具體地,s221步驟可以包括:所述測(cè)試客戶端通過(guò)json方式將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
所述json方式,是以鍵值對(duì)來(lái)傳輸數(shù)據(jù)的,例如<name,張三>、<age,18>,而數(shù)據(jù)庫(kù)表也是以鍵值對(duì)來(lái)存儲(chǔ)數(shù)據(jù)的。如此,通過(guò)json方式發(fā)送所述測(cè)試腳本就會(huì)變得更有效率。
在本申請(qǐng)的另一個(gè)實(shí)施例中,所述s211步驟,具體還可以包括:
所述測(cè)試客戶端通過(guò)jsonobject方式將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
在上一實(shí)施例中,通過(guò)json方式發(fā)送的測(cè)試腳本是json格式的,由于校驗(yàn)服務(wù)器只能識(shí)別jsonobject格式,所以校驗(yàn)服務(wù)器還需將json格式轉(zhuǎn)化為jsonobject格式后才能讀取發(fā)送過(guò)來(lái)的測(cè)試腳本。通過(guò)本實(shí)施例,測(cè)試客戶端預(yù)先將測(cè)試腳本轉(zhuǎn)化為jsonobject格式后發(fā)送,服務(wù)器接收后即可直接讀取測(cè)試腳本。
s221:校驗(yàn)服務(wù)器接收所述測(cè)試客戶端發(fā)送的測(cè)試腳本。
在本申請(qǐng)的一個(gè)具體地實(shí)施例中,在s221步驟之后,還可以包括如下步驟:
校驗(yàn)服務(wù)器將所述測(cè)試腳本存儲(chǔ)在數(shù)據(jù)庫(kù)中。
如此,當(dāng)用戶下次需要校驗(yàn)相同的字段時(shí),只需調(diào)用rpc服務(wù)器接口后查找到校驗(yàn)服務(wù)器上存儲(chǔ)的該測(cè)試腳本供所校驗(yàn)服務(wù)器進(jìn)行校驗(yàn)即可,無(wú)需重新配置測(cè)試腳本后發(fā)送至校驗(yàn)服務(wù)器。
s222:校驗(yàn)服務(wù)器根據(jù)所述測(cè)試腳本中待校驗(yàn)字段集合獲取預(yù)設(shè)的校驗(yàn)用例。
所述校驗(yàn)用例可以是用戶預(yù)先在校驗(yàn)服務(wù)器上設(shè)置的。所述校驗(yàn)用例可以由不同的數(shù)據(jù)庫(kù)表組合而成。
具體地,用戶通過(guò)測(cè)試客戶端調(diào)用rpc服務(wù)接口后,可以在校驗(yàn)服務(wù)器上設(shè)置校驗(yàn)用例。
設(shè)置校驗(yàn)用例的步驟如下所示:
a1:校驗(yàn)服務(wù)器接收測(cè)試客戶端通過(guò)rpc服務(wù)接口發(fā)送的設(shè)置校驗(yàn)用例的請(qǐng)求,所述請(qǐng)求攜帶有業(yè)務(wù)系統(tǒng)名;
a2:校驗(yàn)服務(wù)器接收所述請(qǐng)求,根據(jù)數(shù)據(jù)連接文件(如zdal文件)從數(shù)據(jù)庫(kù)中獲取所述業(yè)務(wù)系統(tǒng)名下所有的數(shù)據(jù)庫(kù)表;
a3:校驗(yàn)服務(wù)器接收測(cè)試客戶端從所有的數(shù)據(jù)庫(kù)表中選擇的數(shù)據(jù)庫(kù)表后,將選出的數(shù)據(jù)庫(kù)表關(guān)聯(lián)后設(shè)置為校驗(yàn)用例。
沿用上述例子一,用戶可以預(yù)先在校驗(yàn)服務(wù)器上設(shè)置包括登錄數(shù)據(jù)庫(kù)表、購(gòu)物車數(shù)據(jù)庫(kù)表、收銀臺(tái)數(shù)據(jù)庫(kù)表和訂單數(shù)據(jù)庫(kù)表的校驗(yàn)用例。相同的,對(duì)于上述例子二,用戶可以預(yù)先在校驗(yàn)服務(wù)器上設(shè)置包括登錄數(shù)據(jù)庫(kù)表、購(gòu)物車數(shù)據(jù)庫(kù)表、收銀臺(tái)數(shù)據(jù)庫(kù)表和訂單數(shù)據(jù)庫(kù)表的校驗(yàn)用例。
校驗(yàn)服務(wù)器接收到測(cè)試腳本后,可以根據(jù)所述測(cè)試腳本中的配置的待識(shí)別字段集合,獲取對(duì)應(yīng)的預(yù)設(shè)校驗(yàn)用例。
s223:校驗(yàn)服務(wù)器向數(shù)據(jù)庫(kù)查詢所述校驗(yàn)用例中各個(gè)數(shù)據(jù)庫(kù)表中所述待校驗(yàn)字段集合的實(shí)際值。
校驗(yàn)服務(wù)器獲取校驗(yàn)用例后,通過(guò)db查詢(數(shù)據(jù)庫(kù)查詢)查詢所述校驗(yàn)用例中各個(gè)數(shù)據(jù)庫(kù)表中所述待校驗(yàn)字段集合的實(shí)際值,從而獲取實(shí)際值。
沿用例子一,校驗(yàn)服務(wù)器查詢登錄數(shù)據(jù)庫(kù)表中待校驗(yàn)字段“namea”和“agea”的實(shí)際值、購(gòu)物車數(shù)據(jù)庫(kù)表中待校驗(yàn)字段“nameb”和“ageb”的實(shí)際值、收銀臺(tái)數(shù)據(jù)庫(kù)表中待校驗(yàn)字段“namec”和“agec”的實(shí)際值和訂單數(shù)據(jù)庫(kù)表中待校驗(yàn)字段“named”和“aged”的實(shí)際值。
沿用例子二,校驗(yàn)服務(wù)器查詢登錄數(shù)據(jù)庫(kù)表、購(gòu)物車數(shù)據(jù)庫(kù)表、收銀臺(tái)數(shù) 據(jù)庫(kù)表和訂單數(shù)據(jù)庫(kù)表中待校驗(yàn)字段“name”、“age”的實(shí)際值。
s224:校驗(yàn)服務(wù)器判斷所述測(cè)試腳本中待校驗(yàn)字段集合期望值與所述實(shí)際值是否一致。
沿用例子二,待校驗(yàn)字段集合{name,age}期望值為:name=張三、age=18。校驗(yàn)服務(wù)器判斷登錄數(shù)據(jù)庫(kù)表中字段“name”的實(shí)際值是否為“張三”、字段“age”的實(shí)際值是否為“18”;判斷購(gòu)物車數(shù)據(jù)庫(kù)表中字段“name”的實(shí)際值是否為“張三”、字段“age”的實(shí)際值是否為“18”;判斷收銀臺(tái)數(shù)據(jù)庫(kù)表中字段“name”的實(shí)際值是否為“張三”、字段“age”的實(shí)際值是否為“18”;判斷訂單數(shù)據(jù)庫(kù)表中字段“name”的實(shí)際值是否為“張三”、字段“age”的實(shí)際值是否為“18”。
本實(shí)施例中,通過(guò)將測(cè)試腳本與數(shù)據(jù)校驗(yàn)分離,用戶只需在測(cè)試客戶端上配置好測(cè)試腳本后發(fā)送至校驗(yàn)服務(wù)器,由校驗(yàn)服務(wù)器來(lái)完成數(shù)據(jù)校驗(yàn)。如此,相較于現(xiàn)有技術(shù)使得測(cè)試腳本和數(shù)據(jù)校驗(yàn)解耦,并且無(wú)需用戶配置csv文件,降低了用戶操作復(fù)雜性,解決現(xiàn)有技術(shù)中測(cè)試腳本和數(shù)據(jù)校驗(yàn)耦合性高,用戶操作復(fù)雜的問題。
本實(shí)施例中在s224步驟之后,還可以包括如下所示步驟:
校驗(yàn)服務(wù)器向所述測(cè)試客戶端返回校驗(yàn)結(jié)果。
測(cè)試客戶端接收所述校驗(yàn)結(jié)果,并將所述校驗(yàn)結(jié)果為失敗的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示。
在本實(shí)施例中,所述校驗(yàn)結(jié)果包括兩種校驗(yàn)狀態(tài),一種為待校驗(yàn)字段期望值與實(shí)際值一致時(shí)得出的狀態(tài),定義該狀態(tài)下校驗(yàn)結(jié)果為數(shù)據(jù)正常。另一種為待校驗(yàn)字段期望值與實(shí)際值不一致時(shí)得出的狀態(tài),定義該狀態(tài)下校驗(yàn)結(jié)果為數(shù)據(jù)異常。值得一提的是,上述兩種狀態(tài)定義的名詞僅是示例,還可以是成功、失敗,在本實(shí)施例中不加以限定。
所述校驗(yàn)結(jié)果可以是s224步驟判斷的結(jié)果,即在所述測(cè)試腳本中待校驗(yàn) 字段期望值與實(shí)際值一致時(shí),校驗(yàn)結(jié)果為數(shù)據(jù)正常;在所述測(cè)試腳本中待校驗(yàn)字段期望值與實(shí)際值不一致時(shí),校驗(yàn)結(jié)果為數(shù)據(jù)異常。如此,校驗(yàn)服務(wù)器可以向所述測(cè)試客戶端返回校驗(yàn)結(jié)果。而測(cè)試客戶端接收所述校驗(yàn)結(jié)果后,可以將所述校驗(yàn)結(jié)果為數(shù)據(jù)異常的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示出來(lái),用以提示用戶進(jìn)行處理。
本實(shí)施例中在s224步驟之后,還可以包括如下所示步驟:
校驗(yàn)服務(wù)器在所述測(cè)試腳本中待校驗(yàn)字段期望值與實(shí)際值不一致時(shí),向所述測(cè)試客戶端發(fā)送校驗(yàn)結(jié)果。
測(cè)試客戶端接收所述校驗(yàn)結(jié)果,并將所述校驗(yàn)結(jié)果的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示。
與上一實(shí)施例不同的是,本實(shí)施例中校驗(yàn)服務(wù)器只有在校驗(yàn)結(jié)果為數(shù)據(jù)異常時(shí),才向測(cè)試客戶端發(fā)送校驗(yàn)結(jié)果,測(cè)試客戶端無(wú)需判斷,當(dāng)接受校驗(yàn)結(jié)果后直接展示出來(lái)即可。通過(guò)本實(shí)施例,可以減少校驗(yàn)服務(wù)器與測(cè)試客戶端之間的交互數(shù)據(jù)量,進(jìn)而提高系統(tǒng)運(yùn)行性能。
以下結(jié)合圖3介紹本申請(qǐng)以校驗(yàn)服務(wù)器為主體的方法實(shí)施例,該實(shí)施例可以對(duì)應(yīng)圖2:
s310:接收測(cè)試客戶端發(fā)送的攜帶待校驗(yàn)字段集合與期望值的測(cè)試腳本。
在本申請(qǐng)的一個(gè)實(shí)施例中,在s310步驟之后,還可以包括:
將所述測(cè)試腳本存儲(chǔ)在數(shù)據(jù)庫(kù)中。
s320:根據(jù)所述測(cè)試腳本中待校驗(yàn)字段集合獲取預(yù)設(shè)的校驗(yàn)用例。
s330:向數(shù)據(jù)庫(kù)查詢所述校驗(yàn)用例中各個(gè)數(shù)據(jù)庫(kù)表中所述待校驗(yàn)字段集合的實(shí)際值。
s340:判斷所述測(cè)試腳本中待校驗(yàn)字段集合期望值與所述實(shí)際值是否一致。
本申請(qǐng)的一個(gè)實(shí)施例中,在s340步驟之后,還可以包括:
向所述測(cè)試客戶端返回校驗(yàn)結(jié)果。
本申請(qǐng)一個(gè)實(shí)施例中,在s340步驟之后,還可以包包括:
在所述測(cè)試腳本中待校驗(yàn)字段期望值與實(shí)際值不一致時(shí),向所述測(cè)試客戶端發(fā)送校驗(yàn)結(jié)果。
以下結(jié)合圖4介紹本申請(qǐng)以測(cè)試客戶端為主體的方法實(shí)施例,該實(shí)施例可以對(duì)應(yīng)圖2:
s410:在測(cè)試腳本中配置待校驗(yàn)字段集合。
s420:將待校驗(yàn)字段集合的期望值寫入到測(cè)試腳本中。
具體地,所述s420步驟,可以包括:
通過(guò)get方法獲取所述待校驗(yàn)字段的期望值;
通過(guò)set方法將所述期望值寫入到測(cè)試腳本中。
在本申請(qǐng)的一個(gè)實(shí)施例中,在s420步驟之后,還可以包括:
將所述測(cè)試腳本存儲(chǔ)在本地。
s430:將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
在本申請(qǐng)的一個(gè)實(shí)施例中,在s430步驟之后,還可以包括:
接收所述校驗(yàn)服務(wù)器返回的校驗(yàn)結(jié)果,并將所述校驗(yàn)結(jié)果為失敗的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示。
在本申請(qǐng)的一個(gè)實(shí)施例中,在s430步驟之后,還可以包括:
接收所述校驗(yàn)服務(wù)器返回的校驗(yàn)結(jié)果,并將所述校驗(yàn)結(jié)果的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示。
本申請(qǐng)實(shí)施例提供還提供一種裝置,可以實(shí)現(xiàn)上述的方法步驟,且該裝置可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為邏輯意義上的裝置,是通過(guò)服務(wù)器的cpu(centralprocessunit, 中央處理器)將對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。
圖5為本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)裝置的模塊示意圖。本實(shí)施例中,所述數(shù)據(jù)校驗(yàn)裝置包括:
接收單元510:用于接收測(cè)試客戶端發(fā)送的攜帶待校驗(yàn)字段集合與期望值的測(cè)試腳本。
獲取單元520:用于根據(jù)所述測(cè)試腳本中待校驗(yàn)字段集合獲取預(yù)設(shè)的校驗(yàn)用例。
查詢單元530:用于向數(shù)據(jù)庫(kù)查詢所述校驗(yàn)用例中各個(gè)數(shù)據(jù)庫(kù)表中所述待校驗(yàn)字段集合的實(shí)際值。
判斷單元540:用于判斷所述測(cè)試腳本中待校驗(yàn)字段集合期望值與所述實(shí)際值是否一致。
通過(guò)本實(shí)施例中,將測(cè)試腳本與數(shù)據(jù)校驗(yàn)分離,用戶只需在測(cè)試客戶端上配置好測(cè)試腳本后發(fā)送至校驗(yàn)服務(wù)器,由校驗(yàn)服務(wù)器來(lái)完成數(shù)據(jù)校驗(yàn)。如此,相較于現(xiàn)有技術(shù)使得測(cè)試腳本和數(shù)據(jù)校驗(yàn)解耦,并且無(wú)需用戶配置csv文件,降低了用戶操作復(fù)雜性,解決現(xiàn)有技術(shù)中測(cè)試腳本和數(shù)據(jù)校驗(yàn)耦合性高,用戶操作復(fù)雜的問題。
在本申請(qǐng)的一個(gè)實(shí)施例中,在所述接收單元510之后,還可以包括:
第一存儲(chǔ)子單元:用于將所述測(cè)試腳本存儲(chǔ)在數(shù)據(jù)庫(kù)中。
通過(guò)本實(shí)施例,當(dāng)用戶下次需要校驗(yàn)相同的字段時(shí),只需調(diào)用rpc服務(wù)器接口后查找到校驗(yàn)服務(wù)器上存儲(chǔ)的該測(cè)試腳本供所校驗(yàn)服務(wù)器進(jìn)行校驗(yàn)即可,無(wú)需重新配置測(cè)試腳本后發(fā)送至校驗(yàn)服務(wù)器。
在本申請(qǐng)的一個(gè)實(shí)施例中,在所述判斷單元540之后,還可以包括:
第一返回子單元,用于向所述測(cè)試客戶端返回校驗(yàn)結(jié)果。
通過(guò)本實(shí)施例,校驗(yàn)服務(wù)器可以向測(cè)試客戶端返回校驗(yàn)結(jié)果,而測(cè)試客戶端接收所述校驗(yàn)結(jié)果后,可以將所述校驗(yàn)結(jié)果為數(shù)據(jù)異常的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示出來(lái),用以提示用戶進(jìn)行處理。
在本申請(qǐng)的一個(gè)實(shí)施例中,在所述判斷單元540之后,還可以包括:
第二返回子單元,用于在所述測(cè)試腳本中待校驗(yàn)字段期望值與實(shí)際值不一致時(shí),向所述測(cè)試客戶端發(fā)送校驗(yàn)結(jié)果。
通過(guò)本實(shí)施例,校驗(yàn)服務(wù)器只有在校驗(yàn)結(jié)果為數(shù)據(jù)異常時(shí),才向測(cè)試客戶端發(fā)送校驗(yàn)結(jié)果,測(cè)試客戶端無(wú)需判斷,當(dāng)接受校驗(yàn)結(jié)果后直接展示出來(lái)即可。從而,可以減少校驗(yàn)服務(wù)器與測(cè)試客戶端之間的交互數(shù)據(jù)量,進(jìn)而提高系統(tǒng)運(yùn)行性能。
圖6為本申請(qǐng)一實(shí)施例中提供的數(shù)據(jù)校驗(yàn)裝置的模塊示意圖。本實(shí)施例中,所述數(shù)據(jù)校驗(yàn)裝置包括:
配置單元610:用于在測(cè)試腳本中配置待校驗(yàn)字段集合。
寫入單元620:用于將待校驗(yàn)字段集合的期望值寫入到測(cè)試腳本中。
發(fā)送單元630:用于將所述測(cè)試腳本發(fā)送至校驗(yàn)服務(wù)器。
通過(guò)本實(shí)施例,將測(cè)試腳本與數(shù)據(jù)校驗(yàn)分離,用戶只需在測(cè)試客戶端上配置好測(cè)試腳本后發(fā)送至校驗(yàn)服務(wù)器,由校驗(yàn)服務(wù)器來(lái)完成數(shù)據(jù)校驗(yàn)。如此,相較于現(xiàn)有技術(shù)使得測(cè)試腳本和數(shù)據(jù)校驗(yàn)解耦,并且無(wú)需用戶配置csv文件,降低了用戶操作復(fù)雜性,解決現(xiàn)有技術(shù)中測(cè)試腳本和數(shù)據(jù)校驗(yàn)耦合性高,用戶操作復(fù)雜的問題。
在本申請(qǐng)的一個(gè)實(shí)施例中,所述寫入單元620,具體可以包括:
獲取子單元,用于通過(guò)get方法獲取所述待校驗(yàn)字段的期望值;
寫入子單元,用于通過(guò)set方法將所述期望值寫入到測(cè)試腳本中。
通過(guò)本實(shí)施例,在業(yè)務(wù)系統(tǒng)運(yùn)行中,測(cè)試腳本可以通過(guò)get/set方法獲取待校驗(yàn)字段的期望值。
在本申請(qǐng)的一個(gè)實(shí)施例中,在所述寫入單元620之后,還包括:
第二存儲(chǔ)子單元,用于將所述測(cè)試腳本存儲(chǔ)在本地。
通過(guò)本實(shí)施例,當(dāng)用戶下次需要校驗(yàn)相同的字段時(shí),只需將存儲(chǔ)的測(cè)試腳 本再次發(fā)送至校驗(yàn)服務(wù)器即可?;蛘?,當(dāng)用戶需要增加待校驗(yàn)字段時(shí),只需增加或修改現(xiàn)有的測(cè)試腳本,無(wú)需重新配置測(cè)試腳本。簡(jiǎn)化了用戶操作,提高了整體的校驗(yàn)效率。
在本申請(qǐng)的一個(gè)實(shí)施例中,在所述發(fā)送單元630之后,還可以包括:
第一接收子單元,用于接收所述校驗(yàn)服務(wù)器返回的校驗(yàn)結(jié)果,并將所述校驗(yàn)結(jié)果為失敗的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示。
通過(guò)本實(shí)施例,校驗(yàn)服務(wù)器可以向測(cè)試客戶端返回校驗(yàn)結(jié)果,而測(cè)試客戶端接收所述校驗(yàn)結(jié)果后,可以將所述校驗(yàn)結(jié)果為數(shù)據(jù)異常的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示出來(lái),用以提示用戶進(jìn)行處理。
在本申請(qǐng)的一個(gè)實(shí)施例中,在所述發(fā)送單元630之后,還可以包括:
第二收子單元,用于接收所述校驗(yàn)服務(wù)器返回的校驗(yàn)結(jié)果,并將所述校驗(yàn)結(jié)果的數(shù)據(jù)庫(kù)表單和待校驗(yàn)字段展示。
通過(guò)本實(shí)施例,校驗(yàn)服務(wù)器只有在校驗(yàn)結(jié)果為數(shù)據(jù)異常時(shí),才向測(cè)試客戶端發(fā)送校驗(yàn)結(jié)果,測(cè)試客戶端無(wú)需判斷,當(dāng)接受校驗(yàn)結(jié)果后直接展示出來(lái)即可。從而,可以減少校驗(yàn)服務(wù)器與測(cè)試客戶端之間的交互數(shù)據(jù)量,進(jìn)而提高系統(tǒng)運(yùn)行性能。
在20世紀(jì)90年代,對(duì)于一個(gè)技術(shù)的改進(jìn)可以很明顯地區(qū)分是硬件上的改進(jìn)(例如,對(duì)二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進(jìn))還是軟件上的改進(jìn)(對(duì)于方法流程的改進(jìn))。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進(jìn)已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進(jìn)。設(shè)計(jì)人員幾乎都通過(guò)將改進(jìn)的方法流程編程到硬件電路中來(lái)得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說(shuō)一個(gè)方法流程的改進(jìn)就不能用硬件實(shí)體模塊來(lái)實(shí)現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場(chǎng)可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對(duì)器件編程來(lái)確定。由設(shè)計(jì)人員自行編程來(lái)把一個(gè)數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請(qǐng)芯片制 造廠商來(lái)設(shè)計(jì)和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來(lái)實(shí)現(xiàn),它與程序開發(fā)撰寫時(shí)所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語(yǔ)言來(lái)撰寫,此稱之為硬件描述語(yǔ)言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語(yǔ)言稍作邏輯編程并編程到集成電路中,就可以很容易得到實(shí)現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄?shí)現(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲(chǔ)可由該(微)處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼(例如軟件或固件)的計(jì)算機(jī)可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲(chǔ)器控制器還可以被實(shí)現(xiàn)為存儲(chǔ)器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)控制器以外,完全可以通過(guò)將方法步驟進(jìn)行邏輯編程來(lái)使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來(lái)實(shí)現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對(duì)其內(nèi)包括的用于實(shí)現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)?;蛘呱踔?,可以將用于實(shí)現(xiàn)各種功能的裝置視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
上述實(shí)施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計(jì)算機(jī)芯片或?qū)嶓w實(shí)現(xiàn),或者由具有某種功能的產(chǎn)品來(lái)實(shí)現(xiàn)。
為了描述的方便,描述以上裝置時(shí)以功能分為各種單元分別描述。當(dāng)然,在實(shí)施本申請(qǐng)時(shí)可以把各單元的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的 例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本申請(qǐng)的實(shí)施例而已,并不用于限制本申請(qǐng)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的權(quán)利要求范圍之內(nèi)。