本公開(kāi)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種視頻播放測(cè)試方法及裝置。
背景技術(shù):
終端設(shè)備視頻播放器在播放過(guò)程中會(huì)出現(xiàn)偶現(xiàn)性bug,針對(duì)偶現(xiàn)性bug,目前一般是通過(guò)手工進(jìn)行定位進(jìn)行復(fù)現(xiàn),手工復(fù)現(xiàn)通過(guò)獲取bug日志進(jìn)行定位,需要花費(fèi)大量的人工和時(shí)間;對(duì)于Android平臺(tái)Google提供了monkey runner自動(dòng)化工具,但是無(wú)法實(shí)現(xiàn)比較復(fù)雜的控制。目前還沒(méi)有比較成熟的自動(dòng)化識(shí)別視頻播放器問(wèn)題和進(jìn)行視頻播放測(cè)試的方法。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本公開(kāi)提出了一種視頻播放測(cè)試方法及裝置。
根據(jù)本公開(kāi)的一方面,提供了一種視頻播放測(cè)試方法,包括:獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間;根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集,其中,所述第一樣本集中包含多個(gè)視頻樣本幀,各視頻樣本幀對(duì)應(yīng)的時(shí)間在所述視頻幀對(duì)應(yīng)的時(shí)間附近,所述視頻樣本幀為所述視頻對(duì)應(yīng)的源視頻中的視頻幀;在所述第一樣本集中不存在與所述視頻幀一致的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
根據(jù)本公開(kāi)的另一方面,提供了一種視頻播放測(cè)試裝置,包括:獲取模塊,用戶獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間;確定模塊,用于根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集,其中,所述第一樣本集中包含多個(gè)視頻樣本幀,各視頻樣本幀對(duì)應(yīng)的時(shí)間在所述視頻幀對(duì)應(yīng)的時(shí)間附近,所述視頻樣本幀為所述視頻對(duì)應(yīng)的源視頻中的視頻幀;故障判斷模塊,用于在所述第一樣本集中不存在與所述視頻幀一致的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
根據(jù)本公開(kāi)的另一方面,提供了一種視頻播放測(cè)試裝置,包括:處理器;用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為:獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間;根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集,其中,所述第一樣本集中包含多個(gè)視頻樣本幀,各視頻樣本幀對(duì)應(yīng)的時(shí)間在所述視頻幀對(duì)應(yīng)的時(shí)間附近,所述視頻樣本幀為所述視頻對(duì)應(yīng)的源視頻中的視頻幀;在所述第一樣本集中不存在與所述視頻幀一致的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
根據(jù)本公開(kāi)的另一方面,提供了一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由終端和/或服務(wù)器的處理器執(zhí)行時(shí),使得終端和/或服務(wù)器能夠執(zhí)行一種視頻播放測(cè)試方法,所述方法包括:獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間;根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集,其中,所述第一樣本集中包含多個(gè)視頻樣本幀,各視頻樣本幀對(duì)應(yīng)的時(shí)間在所述視頻幀對(duì)應(yīng)的時(shí)間附近,所述視頻樣本幀為所述視頻對(duì)應(yīng)的源視頻中的視頻幀;在所述第一樣本集中不存在與所述視頻幀一致的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
通過(guò)將獲取到的視頻幀與對(duì)應(yīng)時(shí)間附近的視頻樣本幀進(jìn)行對(duì)比來(lái)判斷視頻是否存在播放故障,根據(jù)本公開(kāi)上述實(shí)施例的視頻播放測(cè)試方法及裝置能夠準(zhǔn)確高效的識(shí)別、定位視頻播放過(guò)程中出現(xiàn)的故障,節(jié)省時(shí)間和人力。
根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本公開(kāi)的其它特征及方面將變得清楚。
附圖說(shuō)明
包含在說(shuō)明書(shū)中并且構(gòu)成說(shuō)明書(shū)的一部分的附圖與說(shuō)明書(shū)一起示出了本公開(kāi)的示例性實(shí)施例、特征和方面,并且用于解釋本公開(kāi)的原理。
圖1示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。
圖2示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。
圖3示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。
圖4示出根據(jù)本公開(kāi)一實(shí)施例的步驟S13方法的流程圖。
圖5示出根據(jù)本公開(kāi)一實(shí)施例的步驟S132方法的流程圖。
圖6示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。
圖7示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。
圖8示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的示意圖。
圖9示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的示意圖。
圖10示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試裝置的框圖。
圖11示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試裝置的框圖。
圖12示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試裝置的框圖。
圖13示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試裝置的框圖。
具體實(shí)施方式
以下將參考附圖詳細(xì)說(shuō)明本公開(kāi)的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專(zhuān)用的詞“示例性”意為“用作例子、實(shí)施例或說(shuō)明性”。這里作為“示例性”所說(shuō)明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。
另外,為了更好的說(shuō)明本公開(kāi),在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒(méi)有某些具體細(xì)節(jié),本公開(kāi)同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本公開(kāi)的主旨。
實(shí)施例1
圖1示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖,該方法可應(yīng)用于計(jì)算機(jī)、服務(wù)器等,例如,可用于進(jìn)行視頻播放問(wèn)題復(fù)現(xiàn)。如圖1所示,該方法包括:
步驟S11,獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間。
在一種可能的實(shí)施方式中,可以在搭建好的測(cè)試環(huán)境中運(yùn)行視頻播放客戶端播放視頻,通過(guò)自動(dòng)化測(cè)試工具獲取播放中的視頻的視頻幀和所述視頻幀對(duì)應(yīng)的時(shí)間,獲取的視頻幀可以是視頻播放過(guò)程中的一幀畫(huà)面。其中,搭建的測(cè)試環(huán)境可以是基于Appium(自動(dòng)化測(cè)試輔助工具)的,也可以是基于本領(lǐng)域熟知的其他測(cè)試工具;所述視頻幀對(duì)應(yīng)的時(shí)間可以是指在視頻中的相對(duì)時(shí)間點(diǎn)或時(shí)間偏移量,也可以說(shuō)是視頻幀的播放時(shí)間,或者說(shuō)視頻播放進(jìn)度條指示的時(shí)間。
步驟S12,根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集,其中,所述第一樣本集中包含多個(gè)視頻樣本幀,各視頻樣本幀對(duì)應(yīng)的時(shí)間在所述視頻幀對(duì)應(yīng)的時(shí)間附近,所述視頻樣本幀為所述視頻對(duì)應(yīng)的源視頻中的視頻幀。
源視頻可以是所播放視頻的原始視頻數(shù)據(jù),其可作為“標(biāo)準(zhǔn)樣本”與所播放的視頻幀進(jìn)行對(duì)照,判斷所播放的視頻幀是否出現(xiàn)錯(cuò)誤或故障。由于源視頻的樣本時(shí)間(毫秒級(jí))和視頻的播放時(shí)間(秒級(jí))的時(shí)間粒度是不同的,無(wú)法準(zhǔn)確獲取到剛好與樣本時(shí)間完全一致的視頻幀進(jìn)行對(duì)比,且由于自動(dòng)化工具以及網(wǎng)絡(luò)等問(wèn)題使得在視頻播放過(guò)程中獲取截圖(獲取視頻幀)的時(shí)機(jī)也很難準(zhǔn)確掌控。因此,本實(shí)施例是根據(jù)獲取視頻幀的時(shí)間確定相應(yīng)的時(shí)間附近(時(shí)間段)的視頻樣本幀作為第一樣本集,以此為基礎(chǔ)進(jìn)行下一步的故障判斷過(guò)程。
在一種可能的實(shí)施方式中,所述第一樣本集與子時(shí)間段對(duì)應(yīng),所述第一樣本集包括時(shí)間落入所述子時(shí)間段內(nèi)的視頻樣本幀,所述子時(shí)間段是由測(cè)試時(shí)間點(diǎn)前后的預(yù)定時(shí)間段劃分成的多個(gè)子時(shí)間段中的子時(shí)間段。
在一種可能的實(shí)施方式中,所述測(cè)試時(shí)間點(diǎn)可以是視頻播放過(guò)程中出現(xiàn)故障的播放時(shí)間點(diǎn),此播放時(shí)間點(diǎn)可以通過(guò)查詢視頻播放日志獲得,也可以通過(guò)用戶反饋等方式獲得,所述測(cè)試時(shí)間點(diǎn)還可以是視頻上線前進(jìn)行測(cè)試時(shí)隨機(jī)抽取的測(cè)試點(diǎn),本發(fā)明對(duì)此不作限制。
在一種可能的實(shí)施方式中,所述根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集可以是根據(jù)所述時(shí)間與所述預(yù)定時(shí)間段劃分成的多個(gè)子時(shí)間段的關(guān)系確定所述視頻幀對(duì)應(yīng)的第一樣本集,比如說(shuō),所述時(shí)間落入某個(gè)子時(shí)間段內(nèi),那么所述視頻幀對(duì)應(yīng)的第一樣本集為與所述子時(shí)間段相對(duì)應(yīng)的第一樣本集。
步驟S13,在所述第一樣本集中不存在與所述視頻幀一致的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
在一種可能的實(shí)施方式中,可以將所述視頻幀與所述第一樣本集中的多個(gè)視頻樣本幀逐一比較,在所述第一樣本集中存在與所述視頻幀相同(大小、畫(huà)面內(nèi)容一致)的視頻樣本幀的情況下,表示所述視頻幀播放正常,沒(méi)有出現(xiàn)播放故障(bug);在所述第一樣本集中不存在與所述視頻幀相同的視頻樣本幀的情況下,可以判斷為所述視頻幀播放不正常,存在播放故障(bug)。其中,自動(dòng)化測(cè)試工具可以通過(guò)比較視頻幀的文件大小、視頻幀的字符或者字節(jié)等判斷兩幀是否相同。
這樣,通過(guò)將獲取到的視頻幀與對(duì)應(yīng)時(shí)間附近的視頻樣本幀進(jìn)行對(duì)比來(lái)判斷視頻是否存在播放故障,根據(jù)本公開(kāi)上述實(shí)施例的視頻播放測(cè)試方法能夠準(zhǔn)確高效的自動(dòng)識(shí)別、定位視頻播放過(guò)程中出現(xiàn)的故障,節(jié)省時(shí)間和人力。
圖2示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖,其中示出了劃分子時(shí)間段的示例性過(guò)程。圖2中標(biāo)號(hào)與圖1相同的步驟具有相同的功能,為簡(jiǎn)明起見(jiàn),省略對(duì)這些步驟的詳細(xì)說(shuō)明。如圖2所示,所述方法還包括:
步驟S14,將測(cè)試時(shí)間點(diǎn)前后的預(yù)定時(shí)間段劃分為多個(gè)子時(shí)間段。
步驟S15,利用時(shí)間落入各個(gè)子時(shí)間段內(nèi)的視頻樣本幀建立與該子時(shí)間段相對(duì)應(yīng)的第一樣本集。
下面以所述測(cè)試時(shí)間點(diǎn)為視頻播放過(guò)程中出現(xiàn)故障的播放時(shí)間點(diǎn)為例對(duì)上述方法進(jìn)行說(shuō)明,由于前述的時(shí)間粒度不一致的問(wèn)題,測(cè)試中可在測(cè)試時(shí)間點(diǎn)前后選取一段預(yù)定時(shí)間段,比如說(shuō)測(cè)試時(shí)間點(diǎn)為t0,那么可將[t0-t1,t0+t2]時(shí)間段作為上述預(yù)定時(shí)間段,其中t1、t2(稱(chēng)為冗余時(shí)間)可以相同或不同,例如t1、t2可以是5s??蓪⒃擃A(yù)定時(shí)間段內(nèi)的源視頻的全部或部分視頻幀作為視頻樣本幀進(jìn)行存儲(chǔ)以用于后續(xù)的查找對(duì)比,判斷視頻播放故障。冗余時(shí)間t1、t2可以人為設(shè)置,并通過(guò)不斷的訓(xùn)練調(diào)整冗余時(shí)間,冗余時(shí)間的大小會(huì)影響測(cè)試所需的存儲(chǔ)空間、識(shí)別的命中率,冗余時(shí)間越大需要的存儲(chǔ)空間越大、獲取的視頻幀位于預(yù)定時(shí)間段內(nèi)的概率越高,且命中播放故障的概率越高,冗余時(shí)間越小則需要的存儲(chǔ)空間越小、獲取的視頻幀位于預(yù)定時(shí)間段內(nèi)的概率越低,且命中播放故障的概率越低。一般情況下,每秒鐘的視頻幀在20幀左右,每一幀10kb左右,冗余時(shí)間即使設(shè)定為5s,總的視頻樣本幀為200幀,共需大概2MB的存儲(chǔ)空間,這些開(kāi)銷(xiāo)都是可接受的。為了提高查找的效率,本公開(kāi)將預(yù)定時(shí)間段[t0-t1,t0+t2]劃分為多個(gè)子時(shí)間段,將落入各個(gè)子時(shí)間段內(nèi)的視頻樣本幀組成的集合作為各個(gè)第一樣本集,可建立索引表存儲(chǔ)在存儲(chǔ)器中,索引表可以表示各子時(shí)間段的時(shí)間起止點(diǎn)與第一樣本集的對(duì)應(yīng)關(guān)系。其中,所述多個(gè)子時(shí)間段長(zhǎng)度可以相同也可以不同,例如各個(gè)子時(shí)間段的長(zhǎng)度都是1s,那么各個(gè)子時(shí)間段內(nèi)對(duì)應(yīng)有20幀左右視頻樣本幀。
根據(jù)獲取的視頻幀的時(shí)間查找索引表可以確定對(duì)應(yīng)的子時(shí)間段,進(jìn)一步可以對(duì)對(duì)應(yīng)的第一樣本集進(jìn)行查找以判斷獲取的當(dāng)前視頻幀有沒(méi)有播放故障,對(duì)播放中的視頻幀重復(fù)上述過(guò)程即可以重現(xiàn)播放故障,據(jù)此可對(duì)故障位置進(jìn)行定位并修復(fù)故障。
需要說(shuō)明的是,盡管以視頻播放過(guò)程中出現(xiàn)故障的播放時(shí)間點(diǎn)作為示例介紹了視頻播放測(cè)試方法如上,但本領(lǐng)域技術(shù)人員能夠理解,本公開(kāi)應(yīng)不限于此。事實(shí)上,用戶完全可根據(jù)個(gè)人喜好和/或?qū)嶋H應(yīng)用場(chǎng)景靈活設(shè)定測(cè)試時(shí)間點(diǎn)、冗余時(shí)間等,只要能夠復(fù)現(xiàn)視頻播放故障或者實(shí)現(xiàn)視頻播放測(cè)試即可。
這樣,通過(guò)建立時(shí)間和視頻樣本幀之間的對(duì)應(yīng)關(guān)系,根據(jù)本公開(kāi)上述實(shí)施例的視頻播放測(cè)試方法能夠進(jìn)一步提高測(cè)試的效率,節(jié)省測(cè)試時(shí)間。
圖3示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。圖3中標(biāo)號(hào)與圖1相同的步驟具有相同的功能,為簡(jiǎn)明起見(jiàn),省略對(duì)這些步驟的詳細(xì)說(shuō)明。如圖3所示,所述步驟S11還包括:
步驟S111,在所述測(cè)試時(shí)間點(diǎn)前開(kāi)始播放所述視頻,并逐幀獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間。
還是以視頻播放過(guò)程中出現(xiàn)故障的播放時(shí)間點(diǎn)作為測(cè)試時(shí)間點(diǎn)為例來(lái)說(shuō),該測(cè)試時(shí)間點(diǎn)附近時(shí)間內(nèi)的視頻幀都有可能是存在播放故障的視頻幀,因此,可以從所述測(cè)試時(shí)間點(diǎn)前一定時(shí)間(例如5s,此時(shí)間可以人為調(diào)整,兼顧查找的效率和準(zhǔn)確性)開(kāi)始播放所述視頻,并逐幀獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間,并根據(jù)所述時(shí)間確定對(duì)應(yīng)的所述第一樣本集,判斷第一樣本集中是否存在相同的視頻樣本幀,以此復(fù)現(xiàn)視頻播放故障,判斷是否存在視頻播放故障并定位故障位置。
這樣,通過(guò)對(duì)測(cè)試時(shí)間點(diǎn)附近的視頻幀進(jìn)行視頻播放測(cè)試,能夠在兼顧測(cè)試效率的同時(shí)提高測(cè)試的準(zhǔn)確性,并且可以避免多次重復(fù)復(fù)現(xiàn)播放故障。
圖4示出根據(jù)本公開(kāi)一實(shí)施例的步驟S13方法的流程圖,圖4所示,所述步驟S13包括:
步驟S131,根據(jù)所述視頻幀對(duì)所述第一樣本集中的視頻樣本幀進(jìn)行篩選,得到第二樣本集。
在一種可能的實(shí)施方式中,可以將所述第一樣本集中數(shù)據(jù)大小與所述視頻幀相同的視頻樣本幀作為所述第二樣本集。舉例來(lái)說(shuō),上面已經(jīng)提到,以1s作為一個(gè)子時(shí)間段的話,每秒的視頻幀大約為20幀左右,因此待比較的第一樣本集大小為20幀左右,在比較過(guò)程中,首先通過(guò)文件大小進(jìn)行過(guò)濾(篩選),將文件大小不一致的樣本全部過(guò)濾掉,剩下文件大小相同的樣本作為第二樣本集,此時(shí)剩余的樣本集大小會(huì)更小(一般不會(huì)超過(guò)3個(gè))。這一步的粗篩選效率比較高,有利于提高測(cè)試的效率。
在一種可能的實(shí)施方式中,通過(guò)上一步驟S131的篩選,如果第二樣本集為空,也就是所述第一樣本集中不存在與所述視頻幀大小相同的視頻樣本幀的情況下,可以判斷所述視頻幀存在播放故障,如步驟S134所示,這種情況下可不執(zhí)行步驟S132。
步驟S132,在所述第二樣本集不為空的情況下,判斷所述視頻幀與所述第二樣本集內(nèi)的視頻樣本幀是否相同。
在一種可能的實(shí)施方式中,可以通過(guò)調(diào)用相關(guān)的比較函數(shù)(例如,cvAbsDiff函數(shù))對(duì)兩幀的畫(huà)面進(jìn)行比較判斷兩幀視頻是否相同,當(dāng)然也可以采用其他的方式,本公開(kāi)不做限定。
步驟S133,在所述第二樣本集內(nèi)不存在與所述視頻幀相同的視頻樣本幀的情況況下,判斷為所述視頻幀存在播放故障。
在一種可能的實(shí)施方式中,在所述第二樣本集不為空的情況下,可以通過(guò)步驟S132的比較進(jìn)一步判斷是否存在與所述視頻幀相同的視頻樣本幀,在所述第二樣本集中也不存在與所述視頻幀相同的視頻樣本幀的情況下,可以判斷所述視頻幀存在播放故障;在所述第二樣本集中存在與所述視頻幀相同的視頻樣本幀的情況下,說(shuō)明所述視頻幀沒(méi)有播放故障,可以繼續(xù)獲取下一幀視頻進(jìn)行測(cè)試。
這樣,通過(guò)對(duì)第一樣本集進(jìn)行篩選再進(jìn)一步精確查找以判斷是否存在播放故障,根據(jù)本公開(kāi)上述實(shí)施例的視頻測(cè)試方法能夠提高查找的效率從而提高視頻播放測(cè)試(或者故障復(fù)現(xiàn))的效率,并且能夠保證測(cè)試(或者故障復(fù)現(xiàn))的準(zhǔn)確度,大大的節(jié)省了時(shí)間和人力成本。
圖5示出根據(jù)本公開(kāi)一實(shí)施例的步驟S132方法的流程圖,圖5所示,所述步驟S132包括:
步驟S1321,在所述第二樣本集不為空的情況下,將所述視頻幀與所述第二樣本集內(nèi)的視頻樣本幀以字節(jié)流為單位進(jìn)行比較并判斷每一字節(jié)流是否相同。
步驟S1322,在所述視頻幀與所述第二樣本集內(nèi)的視頻樣本幀的字節(jié)流全部相同的情況下,判斷為所述視頻幀與所述視頻樣本幀相同。
通過(guò)將所述視頻幀和視頻樣本幀按字節(jié)流進(jìn)行比較進(jìn)而判斷兩幀視頻是否相同,可以精確判斷第一樣本集中是否存在與視頻幀相同的視頻樣本幀,進(jìn)而判斷視頻幀是否出現(xiàn)播放故障。
圖6示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。圖6中標(biāo)號(hào)與圖1相同的步驟具有相同的功能,為簡(jiǎn)明起見(jiàn),省略對(duì)這些步驟的詳細(xì)說(shuō)明。如圖6所示,所述方法還包括:
步驟S16,在判斷為所述視頻幀存在播放故障的情況下,生成包含所述視頻幀對(duì)應(yīng)的時(shí)間的視頻播放故障日志。
需要說(shuō)明的是,根據(jù)移動(dòng)端操作系統(tǒng)的不同,日志的收集方式有所不同,以Android為例,播放器APP的執(zhí)行日志會(huì)輸出到logcat中。
在一種可能的實(shí)施方式中,還可以通過(guò)與測(cè)試用例并行使用的日志收集庫(kù),實(shí)現(xiàn)在執(zhí)行測(cè)試過(guò)程中自動(dòng)收集日志并對(duì)其進(jìn)行過(guò)濾輸出到本地。
在一種可能的實(shí)施方式中,開(kāi)發(fā)人員可以根據(jù)本地接收到的日志和故障的場(chǎng)景進(jìn)行分析定位,并對(duì)故障進(jìn)行修改,修改完以后還需要進(jìn)行回歸驗(yàn)證,若驗(yàn)證通過(guò)則故障解除,若不通過(guò)還需重復(fù)上述測(cè)試方法。
圖7示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的流程圖。圖7中標(biāo)號(hào)與圖1相同的步驟具有相同的功能,為簡(jiǎn)明起見(jiàn),省略對(duì)這些步驟的詳細(xì)說(shuō)明。如圖7所示,所述方法還包括:
步驟S17,搭建測(cè)試環(huán)境。
步驟S18,在所述測(cè)試環(huán)境中運(yùn)行測(cè)試腳本以執(zhí)行上述實(shí)施方式所述的方法。
在一種可能的實(shí)施方式中,測(cè)試環(huán)境可以基于Appium工具搭建,Appium是一個(gè)基于UI的開(kāi)源的移動(dòng)端APP自動(dòng)化測(cè)試工具,使用時(shí)只需配置測(cè)試機(jī)的設(shè)備名以及系統(tǒng)版本即可,兼容Android和iOS系統(tǒng)(可跨平臺(tái)測(cè)試)。本領(lǐng)域技術(shù)人員可以理解,也可以基于其他工具搭建測(cè)試環(huán)境,在此不做限定。以上述測(cè)試環(huán)境為例,根據(jù)視頻播放故障的場(chǎng)景描述,開(kāi)發(fā)人員可以在搭建的測(cè)試環(huán)境中開(kāi)發(fā)自動(dòng)化測(cè)試腳本,結(jié)合視頻播放器的特點(diǎn)可以開(kāi)發(fā)相應(yīng)的python庫(kù)以便調(diào)用,主要包括:play、隨機(jī)seek、定點(diǎn)seek、pause、切換清晰度、全屏等操作。執(zhí)行腳本即可以實(shí)現(xiàn)自動(dòng)化視頻播放測(cè)試。
需要說(shuō)明的是,盡管以基于Appium工具搭建的測(cè)試環(huán)境為示例介紹了視頻播放測(cè)試方法如上,但本領(lǐng)域技術(shù)人員能夠理解,本公開(kāi)應(yīng)不限于此。事實(shí)上,用戶完全可根據(jù)個(gè)人喜好和/或?qū)嶋H應(yīng)用場(chǎng)景靈活選用基于哪種工具搭建測(cè)試環(huán)境,只要可以輔助完成上述視頻播放測(cè)試方法即可。
這樣,通過(guò)搭建測(cè)試環(huán)境開(kāi)發(fā)自動(dòng)化測(cè)試腳本實(shí)現(xiàn)自動(dòng)化測(cè)試的過(guò)程,根據(jù)本公開(kāi)上述實(shí)施方式的視頻測(cè)試方法能夠?qū)崿F(xiàn)偶現(xiàn)性故障復(fù)現(xiàn),并且測(cè)試效率、準(zhǔn)確度高,還節(jié)省時(shí)間和人力成本。
圖8示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的示意圖。如圖8所示,開(kāi)發(fā)人員首先搭建測(cè)試環(huán)境,然后可以在測(cè)試環(huán)境中開(kāi)發(fā)并運(yùn)行自動(dòng)化測(cè)試腳本實(shí)現(xiàn)自動(dòng)化測(cè)試或復(fù)現(xiàn)播放故障并輸出故障日志,收集故障日志后,開(kāi)發(fā)人員根據(jù)場(chǎng)景及故障日志進(jìn)行分析并定位播放故障位置,然后對(duì)播放故障進(jìn)行修復(fù)再進(jìn)行回歸驗(yàn)證,在回歸驗(yàn)證通過(guò)的情況下表示故障已經(jīng)解決,在回歸驗(yàn)證沒(méi)有通過(guò)的情況下,還要重新進(jìn)行測(cè)試分析直到解決播放故障。
圖9示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試方法的示意圖。如圖9所示,在測(cè)試時(shí)間點(diǎn)t0之前開(kāi)始播放所述視頻,獲取視頻幀和對(duì)應(yīng)的時(shí)間,判斷所述時(shí)間是否位于預(yù)定時(shí)間段[t0-t1,t0+t2]內(nèi),如果不在預(yù)定時(shí)間段內(nèi)則進(jìn)一步判斷所述時(shí)間是否大于于t0+t2,如果大于t0+t2則表示測(cè)試開(kāi)始播放的位置錯(cuò)誤或者測(cè)試完成,退出測(cè)試,如果小于t0+t2則繼續(xù)獲取下一視頻幀及對(duì)應(yīng)的時(shí)間,然后重新判斷所述時(shí)間是否位于預(yù)定時(shí)間段內(nèi);在所述時(shí)間位于預(yù)定時(shí)間段內(nèi)的情況下,根據(jù)索引表確定所述時(shí)間落在的子時(shí)間段及其對(duì)應(yīng)的第一樣本集,然后對(duì)所述第一樣本集進(jìn)行篩選獲得第二樣本集并判斷所述第二樣本集是否為空,在所述第二樣本集為空的情況下表示沒(méi)有相同的視頻樣本幀,存在播放故障,輸出播放故障日志;在所述第二樣本集中仍然有視頻樣本幀的情況下,進(jìn)一步判斷所述第二樣本集中是否存在與所述視頻幀相同的視頻樣本幀,在存在相同視頻樣本幀的情況下,表示播放正常,繼續(xù)獲取下一視頻幀及對(duì)應(yīng)的時(shí)間;在所述第二樣本集不存在相同視頻樣本幀的情況下,判斷為視頻播放故障,輸出播放故障日志,并獲取下一視頻幀重復(fù)上述測(cè)試過(guò)程。
實(shí)施例2
圖10示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試裝置的框圖,該方法可應(yīng)用于計(jì)算機(jī)、服務(wù)器等。如圖10所示,該裝置包括:獲取模塊101、確定模塊102以及故障判斷模塊103。
該獲取模塊101被配置為獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間;
該確定模塊102被配置為根據(jù)所述時(shí)間,確定所述視頻幀對(duì)應(yīng)的第一樣本集,其中,所述第一樣本集中包含多個(gè)視頻樣本幀,各視頻樣本幀對(duì)應(yīng)的時(shí)間在所述視頻幀對(duì)應(yīng)的時(shí)間附近,所述視頻樣本幀為所述視頻對(duì)應(yīng)的源視頻中的視頻幀;
該故障判斷模塊103被配置為在所述第一樣本集中不存在與所述視頻幀一致的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
在一種可能的實(shí)施方式中,所述第一樣本集與子時(shí)間段對(duì)應(yīng),所述第一樣本集包括時(shí)間落入所述子時(shí)間段內(nèi)的視頻樣本幀,所述子時(shí)間段是由測(cè)試時(shí)間點(diǎn)前后的預(yù)定時(shí)間段劃分成的多個(gè)子時(shí)間段中的子時(shí)間段。
這樣,通過(guò)將獲取到的視頻幀與對(duì)應(yīng)時(shí)間附近的視頻樣本幀進(jìn)行對(duì)比來(lái)判斷視頻是否存在播放故障,根據(jù)本公開(kāi)上述實(shí)施例的視頻播放測(cè)試方法能夠準(zhǔn)確高效的識(shí)別、定位視頻播放過(guò)程中出現(xiàn)的故障,節(jié)省時(shí)間和人力。
圖11示出根據(jù)本公開(kāi)一實(shí)施例的視頻播放測(cè)試裝置的框圖。圖11中標(biāo)號(hào)與圖10相同的組件具有相同的功能,為簡(jiǎn)明起見(jiàn),省略對(duì)這些組件的詳細(xì)說(shuō)明。如圖11所示,所述視頻播放測(cè)試裝置還包括時(shí)間段劃分模塊104和樣本集建立模塊105。
該時(shí)間段劃分模塊104被配置為將測(cè)試時(shí)間點(diǎn)前后的預(yù)定時(shí)間段劃分為多個(gè)子時(shí)間段。
該樣本集建立模塊105被配置為利用時(shí)間落入各個(gè)子時(shí)間段內(nèi)的視頻樣本幀建立與該子時(shí)間段相對(duì)應(yīng)的第一樣本集。
在一種可能的實(shí)施方式中,所述獲取模塊101還包括:獲取單元1011,
該獲取單元1011被配置為在所述測(cè)試時(shí)間點(diǎn)前開(kāi)始播放所述視頻,并逐幀獲取播放中的視頻的視頻幀以及所述視頻幀對(duì)應(yīng)的時(shí)間。
在一種可能的實(shí)施方式中,所述故障判斷模塊103包括:篩選單元1031、第一判斷單元1032以及第二判斷單元1033;
該篩選單元1031被配置為根據(jù)所述視頻幀對(duì)所述第一樣本集中的視頻樣本幀進(jìn)行篩選,得到第二樣本集。
該第一判斷單元1032被配置為在所述第二樣本集不為空的情況下,判斷所述視頻幀與所述第二樣本集內(nèi)的視頻樣本幀是否相同。
該第二判斷單元1033被配置為在所述第二樣本集內(nèi)不存在與所述視頻幀相同的視頻樣本幀的情況下,判斷為所述視頻幀存在播放故障。
在一種可能的實(shí)施方式中,所述故障判斷模塊103還包括:第三判斷單元1034。
該第三判斷單元1034被配置為在所述第二樣本集為空的情況下,判斷為所述視頻幀存在播放故障。
在一種可能的實(shí)施方式中,所述篩選單元1031包括:篩選子單元10311,
該篩選子單元10311被配置為將所述第一樣本集中數(shù)據(jù)大小與所述視頻幀相同的視頻樣本幀作為所述第二樣本集。
在一種可能的實(shí)施方式中,所述第一判斷單元1032包括:比較子單元10321和判斷子單元10322,
該比較子單元10321被配置為在所述第二樣本集不為空的情況下,將所述視頻幀與所述第二樣本集內(nèi)的視頻樣本幀以字節(jié)流為單位進(jìn)行比較并判斷每一字節(jié)流是否相同。
該判斷子單元10322被配置為在所述視頻幀與所述第二樣本集內(nèi)的視頻樣本幀的字節(jié)流全部相同的情況下,判斷為所述視頻幀與所述視頻樣本幀相同。
在一種可能的實(shí)施方式中,所述視頻播放測(cè)試裝置還包括:故障日志生成模塊106,
該故障日志生成模塊106被配置為在判斷為所述視頻幀存在播放故障的情況下,生成包含所述視頻幀對(duì)應(yīng)的時(shí)間的視頻播放故障日志。
在一種可能的實(shí)施方式中,所述視頻播放測(cè)試裝置還包括:測(cè)試環(huán)境建立模塊107和腳本運(yùn)行模塊108。
該測(cè)試環(huán)境建立模塊107被配置為搭建測(cè)試環(huán)境。
該腳本運(yùn)行模塊108被配置為在所述測(cè)試環(huán)境中運(yùn)行測(cè)試腳本以執(zhí)行上述方法或運(yùn)行上述裝置。
實(shí)施例3
圖12是根據(jù)一示例性實(shí)施例示出的一種視頻播放測(cè)試的裝置800的框圖。例如,裝置800可以是移動(dòng)電話,計(jì)算機(jī),數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺(tái),平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個(gè)人數(shù)字助理等。
參照?qǐng)D12,裝置800可以包括以下一個(gè)或多個(gè)組件:處理組件802,存儲(chǔ)器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口812,傳感器組件814,以及通信組件816。
處理組件802通常控制裝置800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件802可以包括一個(gè)或多個(gè)處理器820來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個(gè)或多個(gè)模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲(chǔ)器804被配置為存儲(chǔ)各種類(lèi)型的數(shù)據(jù)以支持在裝置800的操作。這些數(shù)據(jù)的示例包括用于在裝置800上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器804可以由任何類(lèi)型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),電可擦除可編程只讀存儲(chǔ)器(EEPROM),可擦除可編程只讀存儲(chǔ)器(EPROM),可編程只讀存儲(chǔ)器(PROM),只讀存儲(chǔ)器(ROM),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤(pán)或光盤(pán)。
電源組件806為裝置800的各種組件提供電力。電源組件806可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置800生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件808包括在所述裝置800和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來(lái)自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件808包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置800處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件810包括一個(gè)麥克風(fēng)(MIC),當(dāng)裝置800處于操作模式,如呼叫模式、記錄模式和語(yǔ)音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器804或經(jīng)由通信組件816發(fā)送。在一些實(shí)施例中,音頻組件810還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
I/O接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤(pán),點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁(yè)按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
傳感器組件814包括一個(gè)或多個(gè)傳感器,用于為裝置800提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件814可以檢測(cè)到裝置800的打開(kāi)/關(guān)閉狀態(tài),組件的相對(duì)定位,例如所述組件為裝置800的顯示器和小鍵盤(pán),傳感器組件814還可以檢測(cè)裝置800或裝置800一個(gè)組件的位置改變,用戶與裝置800接觸的存在或不存在,裝置800方位或加速/減速和裝置800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來(lái)在沒(méi)有任何的物理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于裝置800和其他設(shè)備之間有線或無(wú)線方式的通信。裝置800可以接入基于通信標(biāo)準(zhǔn)的無(wú)線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件816經(jīng)由廣播信道接收來(lái)自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件816還包括近場(chǎng)通信(NFC)模塊,以促進(jìn)短程通信。例如,在NFC模塊可基于射頻識(shí)別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍(lán)牙(BT)技術(shù)和其他技術(shù)來(lái)實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置800可以被一個(gè)或多個(gè)應(yīng)用專(zhuān)用集成電路(ASIC)、數(shù)字信號(hào)處理器(DSP)、數(shù)字信號(hào)處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器804,上述指令可由裝置800的處理器820執(zhí)行以完成上述方法。
圖13是根據(jù)一示例性實(shí)施例示出的一種視頻播放測(cè)試的裝置1900的框圖。例如,裝置1900可以被提供為一服務(wù)器。參照?qǐng)D13,裝置1900包括處理組件1922,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器1932所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理組件1922的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器1932中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述方法。
裝置1900還可以包括一個(gè)電源組件1926被配置為執(zhí)行裝置1900的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口1950被配置為將裝置1900連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口1958。裝置1900可以操作基于存儲(chǔ)在存儲(chǔ)器1932的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類(lèi)似。
在示例性實(shí)施例中,還提供了一種包括指令的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器1932,上述指令可由裝置1900的處理組件1922執(zhí)行以完成上述方法。
本公開(kāi)可以是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本公開(kāi)的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是――但不限于――電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、便攜式壓縮盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能盤(pán)(DVD)、記憶棒、軟盤(pán)、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。
這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過(guò)網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
用于執(zhí)行本公開(kāi)操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫(xiě)的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言—諸如Smalltalk、C++等,以及常規(guī)的過(guò)程式編程語(yǔ)言—諸如“C”語(yǔ)言或類(lèi)似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)—包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本公開(kāi)的各個(gè)方面。
這里參照根據(jù)本公開(kāi)實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本公開(kāi)的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
附圖中的流程圖和框圖顯示了根據(jù)本公開(kāi)的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
以上已經(jīng)描述了本公開(kāi)的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。