本文作者:kaifamei

一種小程序的壓力測試方法、裝置以及設(shè)備與流程

更新時間:2025-12-25 04:58:47 0條評論

一種小程序的壓力測試方法、裝置以及設(shè)備與流程



1.本說明書涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及基于一種小程序的壓力測試方法、裝置以及設(shè)備。


背景技術(shù):

2.隨著小程序的發(fā)展,越來越多的用戶需要將自己開發(fā)的小程序發(fā)布至應(yīng)用中。在這個過程中,由于很多用戶因為技術(shù)能力或者基礎(chǔ)設(shè)施的不足,其所開發(fā)的小程序沒有經(jīng)過壓力測試就上線。這樣對于消費者而言,往往就體現(xiàn)為應(yīng)用中的部分小程序穩(wěn)定性太差,在高并發(fā)時會出現(xiàn)各種問題。
3.基于此,需要一種便捷的小程序的壓力測試方案。


技術(shù)實現(xiàn)要素:

4.本說明書實施例提供一種小程序的壓力測試方法、裝置、設(shè)備以及存儲介質(zhì),用以解決如下技術(shù)問題:需要一種便捷的小程序的壓力測試方案。
5.為解決上述技術(shù)問題,本說明書一個或多個實施例是這樣實現(xiàn)的:
6.在第一方面,本說明書實施例提供一種小程序的壓力測試方法,包括:接收客戶端所發(fā)送的壓力測試請求,確定所述壓力測試請求所對應(yīng)的實例數(shù)量n,n為大于1的自然數(shù);獲取所述壓力測試請求所對應(yīng)的小程序資源和對應(yīng)的靜態(tài)服務(wù);創(chuàng)建虛擬化容器,在所述虛擬化容器中渲染所述小程序資源;在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問已渲染的小程序;獲取訪問過程中所產(chǎn)生的訪問數(shù)據(jù),將所述訪問數(shù)據(jù)發(fā)送至所述客戶端。
7.在第二方面,本說明書實施例提供一種小程序的壓力測試裝置,包括:接收模塊,接收客戶端所發(fā)送的壓力測試請求,確定所述壓力測試請求所對應(yīng)的實例數(shù)量n,n為大于1的自然數(shù);獲取模塊,獲取所述壓力測試請求所對應(yīng)的小程序資源和對應(yīng)的靜態(tài)服務(wù);虛擬模塊,創(chuàng)建虛擬化容器,在所述虛擬化容器中渲染所述小程序資源;訪問模塊,在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問已渲染的小程序;發(fā)送模塊,獲取訪問過程中所產(chǎn)生的訪問數(shù)據(jù),將所述訪問數(shù)據(jù)發(fā)送至所述客戶端。
8.在第三方面,本說明書實施例提供一種電子設(shè)備,包括:
9.至少一個處理器;以及,
10.與所述至少一個處理器通信連接的存儲器;其中,
11.所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠:執(zhí)行如第一方面所述的方法。
12.在第四方面,本說明書實施例提供一種非易失性計算機存儲介質(zhì)存儲有計算機可執(zhí)行指令,當(dāng)計算機讀取存儲介質(zhì)中的計算機可執(zhí)行指令后,該指令使得一個或多個處理器執(zhí)行如第一方面所述的方法。
13.本說明書一個或多個實施例采用的上述至少一個技術(shù)方案能夠達到以下有益效
果:通過接收客戶端所發(fā)送的壓力測試請求,確定所述壓力測試請求所對應(yīng)的實例數(shù)量n,n為大于1的自然數(shù);獲取所述壓力測試請求所對應(yīng)的小程序資源和對應(yīng)的靜態(tài)服務(wù);創(chuàng)建虛擬化容器,在所述虛擬化容器中渲染所述小程序資源;在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問已渲染的小程序;獲取訪問過程中所產(chǎn)生的訪問數(shù)據(jù),將所述訪問數(shù)據(jù)發(fā)送至所述客戶端。從而實現(xiàn)模擬并發(fā)訪問小程序的方式,還原消費者從打開小程序到頁面渲染成功的全鏈路過程,開發(fā)者無需額外配置設(shè)備,即可以隨時按實際需要進行壓力測試,更為便捷。
附圖說明
14.為了更清楚地說明本說明書實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
15.圖1為本說明書實施例所提供的一種小程序的壓力測試裝置的系統(tǒng)的架構(gòu)示意圖;
16.圖2為本說明書實施例提供的一種小程序的壓力測試方法的流程示意圖;
17.圖3為本說明書實施例所提供的一種系統(tǒng)中進行測試的邏輯框架示意圖;
18.圖4為本說明書實施例提供的一種小程序的壓力測試裝置的結(jié)構(gòu)示意圖;
19.圖5為本說明書實施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖。
具體實施方式
20.本說明書實施例提供一種小程序的壓力測試方法、裝置、設(shè)備以及存儲介質(zhì)。
21.為了使本技術(shù)領(lǐng)域的人員更好地理解本說明書中的技術(shù)方案,下面將結(jié)合本說明書實施例中的附圖,對本說明書實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本技術(shù)一部分實施例,而不是全部的實施例。基于本說明書實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本技術(shù)保護的范圍。
22.傳統(tǒng)的小程序壓力測試中,對于小程序的開發(fā)者二者,流程太長且成本過高,而且壓測過程無法隨意修改配置;無實時可觀測報告,存在滯后性。基于此,本說明書實施例提供一種小程序的壓力測試方案。
23.如圖1所示,圖1為本說明書實施例所提供的一種小程序的壓力測試裝置的系統(tǒng)的架構(gòu)示意圖。在該提供中,小程序的開發(fā)者通過客戶端可以進行壓力測試的配置,服務(wù)端針對開發(fā)者的請求進行必要信息的組裝,并在云端進行并發(fā)的模擬測試,從而實現(xiàn)對于開發(fā)者而言的一鍵式壓力測試。
24.如圖2所示,圖2為本說明書實施例提供的一種小程序的壓力測試方法的流程示意圖,包括以下步驟:
25.s201:接收客戶端所發(fā)送的壓力測試請求,確定所述壓力測試請求所對應(yīng)的n個實例。
26.在如1所示的架構(gòu)中,小程序的開發(fā)者可以在本地客戶端中展示用于創(chuàng)建和配置
壓測任務(wù)的頁面。具體而言,小程序的開發(fā)者可以通過登錄客戶端,并指示所需要進行壓力測試的小程序(同一個開發(fā)者可能會有多個需要測試的小程序),以及,配置小程序所需要的資源(包括圖片、視頻),所需要承受的壓力大小(例如,并發(fā)數(shù)量、最高同時在線用戶數(shù)量),并且,還可以指示需要服務(wù)端返回相應(yīng)的指標(biāo)值來做參考,具體的指標(biāo)值可以包括諸如最大響應(yīng)時間、最小響應(yīng)時間以及每秒處理的事務(wù)數(shù)目(transactions per second,tps)、每秒能處理查詢數(shù)目(queries per second、qps)等等。
27.在本說明書實施例中,一個實例用于向某個地址或者接口發(fā)起一定數(shù)量的并發(fā)訪問(例如,10個并發(fā)訪問或者100個并發(fā)訪問)。實例具有不同的規(guī)格配置,一些低配置的實例可發(fā)起的并發(fā)數(shù)量較小,而一些高配置的實例可發(fā)起的并發(fā)數(shù)量則可能較大。
28.服務(wù)端在接收到所述壓力測試請求,即可以基于所述壓力測試請求以及服務(wù)端中所預(yù)留的實例來確定需要調(diào)用的實例數(shù)量n。如果接收到的壓力測試請求中所攜帶的并發(fā)數(shù)量較低,則可以在公有池中去隨時取實例并按照所需要使用的數(shù)量進行測試;而如果接收到的壓力測試請求中所攜帶的并發(fā)數(shù)量較大(例如,超過5萬),那么則需要在公有池中預(yù)留一些大規(guī)格高配置的實例去使用。在實際應(yīng)用中,由于調(diào)用大規(guī)格高配置的實例往往會號位更多的資源,因此,可以通過動態(tài)的方式來基于用戶的實際需求調(diào)用實例,從而降低開發(fā)者的成本。
29.s203,獲取所述壓力測試請求所對應(yīng)的小程序資源和對應(yīng)的靜態(tài)服務(wù)。
30.小程序的開發(fā)者可以預(yù)先通過客戶端將小程序資源上傳至服務(wù)端。小程序資源可以包括小程序運行時所需要的代碼、文字、圖片以及所需調(diào)用的接口服務(wù)等等。從而可以將小程序資源進行下載至本地,并創(chuàng)建對應(yīng)的文件地址,從而基于所述文件地址創(chuàng)建小程序資源在調(diào)用時所需要的靜態(tài)服務(wù)。所述靜態(tài)服務(wù)包括諸頁面服務(wù)、靜態(tài)資源傳輸以及下載服務(wù)等等。
31.在這個過程中,需要說明的是,若服務(wù)端本地的設(shè)備滿足所述壓力測試請求所對應(yīng)的n個實例在運行時所需要的性能,那么,服務(wù)端的本地設(shè)備可以將所述小程序資源下載至本地并創(chuàng)建對應(yīng)的靜態(tài)服務(wù)。而若服務(wù)端本地的設(shè)備的性能不足時,則可以在如圖1所示的架構(gòu)中調(diào)用云端服務(wù),將所述小程序資源發(fā)送至云端設(shè)備,并在所述云端設(shè)備中創(chuàng)建對應(yīng)的靜態(tài)服務(wù)。
32.s205,創(chuàng)建虛擬化容器,在所述虛擬化容器中渲染所述小程序資源。
33.服務(wù)端可以基于并發(fā)所需要的性能選擇在本地設(shè)備或者在云端設(shè)備進行虛擬化容器的創(chuàng)建,并在創(chuàng)建好的虛擬化容器中基于所述小程序資源進行渲染,從而實現(xiàn)對于所述小程序的全部資源的模擬啟動。
34.s207,在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問已渲染的小程序。
35.在小程序渲染成功之后之后,即可以基于前述已經(jīng)準(zhǔn)備好的n個實例訪問所述已渲染的小程序。具體而言,實例可以啟動預(yù)先保留的多個測試賬戶,并通過所述多個測試賬戶通過所述靜態(tài)服務(wù)獲取相應(yīng)資源,并模擬訪問所述已經(jīng)渲染的小程序。在這個過程中,每個測試賬戶訪問小程序中所的網(wǎng)絡(luò)請求均會被觸發(fā),同時對于小程序中所需要訪問的資源也均會被渲染,做到全資源覆蓋。
36.此外,在這個過程中,訪問小程序的鏈路是基于開發(fā)者所提供的小程序資源模擬渲染而來,也就是在虛擬化容器中所產(chǎn)生的模擬訪問實際上是基于小程序的自身業(yè)務(wù)邏輯
所控制的,不會產(chǎn)生鏈路失真的問題。
37.s209,獲取訪問過程中所產(chǎn)生的訪問數(shù)據(jù),將所述訪問數(shù)據(jù)發(fā)送至所述客戶端。
38.每個實例在模擬訪問所述小程序的過程中均會產(chǎn)生相應(yīng)的數(shù)據(jù)。例如,每個實例在訪問過程中可以通過監(jiān)聽不同的接口、對于小程序資源的請求的情況對訪問數(shù)據(jù)進行實時收集,并采用心跳上報的方式給服務(wù)端進行入庫操作,從而生成格式化的訪問數(shù)據(jù)。
39.服務(wù)端皆可以將所述格式化的訪問數(shù)據(jù)返回至客戶端進行展示,以便小程序的開發(fā)者可以實時的了解在給定的并發(fā)數(shù)值下,將會有什么樣的表現(xiàn)。
40.此外,服務(wù)端還可以對格式化的訪問數(shù)據(jù)進行進一步的處理,生成在壓力測試請求中所包含的由開發(fā)者配置的壓力測試指標(biāo)的指標(biāo)值,并將這些指標(biāo)值返回至客戶端,從而開發(fā)者可以更直觀的觀看得到相應(yīng)的指標(biāo)數(shù)據(jù)。
41.通過接收客戶端所發(fā)送的壓力測試請求,確定所述壓力測試請求所對應(yīng)的實例數(shù)量n,n為大于1的自然數(shù);獲取所述壓力測試請求所對應(yīng)的小程序資源和對應(yīng)的靜態(tài)服務(wù);創(chuàng)建虛擬化容器,在所述虛擬化容器中渲染所述小程序資源;在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問已渲染的小程序;獲取訪問過程中所產(chǎn)生的訪問數(shù)據(jù),將所述訪問數(shù)據(jù)發(fā)送至所述客戶端。從而實現(xiàn)模擬并發(fā)訪問小程序的方式,還原消費者從打開小程序到頁面渲染成功的全鏈路過程,開發(fā)者無需額外配置設(shè)備,即可以隨時按實際需要進行壓力測試,更為便捷。
42.在一種實施例中,在確定所述壓力測試請求所對應(yīng)的n個實例時,可以基于請求中所攜帶的并發(fā)數(shù)值和實例所給定的模擬訪問值共同確定。即獲取所述壓力測試請求中由用戶所配置的并發(fā)數(shù)值;確定所述實例所對應(yīng)的模擬訪問值;根據(jù)所述并發(fā)數(shù)值和所述模擬訪問值確定所述壓力測試請求所對應(yīng)的n個實例。
43.在服務(wù)端或者云端可以預(yù)先配置好多種不同規(guī)格的實例以供調(diào)用,每種規(guī)格下的實例可以有多個。例如,可以預(yù)先設(shè)置4種不同規(guī)格的實例,模擬訪問值分別為10、100、1000和5000,從而,當(dāng)一個壓力測試請求中攜帶的并發(fā)數(shù)值為1萬是,即可以有限調(diào)用可用的實例中模擬訪問值最大的實例,從而根據(jù)所述并發(fā)數(shù)值和所述模擬訪問值確定所述壓力測試請求所對應(yīng)的2個模擬訪問值為5000的實例。
44.此外,在這個過程中,較大模擬訪問值的實例可能會出現(xiàn)預(yù)留(即被預(yù)定),那么則可以在較大規(guī)格的實例不足時,依次往下調(diào)用次一級規(guī)格的實例即可。從而實現(xiàn)動態(tài)的實例調(diào)用,避免資源浪費。
45.在一種實施例中,當(dāng)本地設(shè)備滿足進行壓力測試所需要的性能時,創(chuàng)建虛擬化容器可以在服務(wù)端的本地設(shè)備進行。例如,假設(shè)本地設(shè)備可以滿足并發(fā)數(shù)量為100以下的實例調(diào)用,則可以在本地設(shè)備中創(chuàng)建虛擬化容器并進行后續(xù)的壓力測試。
46.更為常見的情形中,基于開發(fā)者所需要測試的并發(fā)數(shù)量可能數(shù)值較大,當(dāng)本地設(shè)備不能滿足進行壓力測試所需要的性能時,則可以通過向云端設(shè)備發(fā)起遠程調(diào)用,從而在在所述云端服務(wù)所對應(yīng)的云端設(shè)備中創(chuàng)建虛擬化容器。例如,可以在服務(wù)端和云端之間建立通訊,并通過相應(yīng)的云函數(shù)確定在云端調(diào)用時所需要的資源。
47.云端在創(chuàng)建好虛擬化容器之后,后續(xù)的實例調(diào)用即同樣需要在云端設(shè)備進行。基于此,服務(wù)端需要將小程序的資源地址發(fā)送至所述云端設(shè)備,以便云端設(shè)備從所述資源地址拉取得到所述小程序資源,并將拉取得到的小程序資源存儲于所述云端設(shè)備中,這樣就
產(chǎn)生了一個目錄地址,該目錄地址表征了拉取得到的小程序資源在所述云端設(shè)備中的路徑,從而云端設(shè)備可以基于所述目錄地址提供所述小程序資源在所述云端設(shè)備中所對應(yīng)的靜態(tài)服務(wù)。
48.在一種實施例中,在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問所述已渲染的小程序時,可以采用無頭瀏覽器的方式來開啟。即在所述虛擬化容器開啟與所述n個實例對應(yīng)的n個無頭瀏覽器;每個實例通過對應(yīng)的無頭瀏覽器和所述靜態(tài)服務(wù)訪問所述小程序。
49.無頭瀏覽器(headles browser)是一種沒有操作界面的瀏覽器,即無法在屏幕上直接看到測試的實際執(zhí)行情況,但是訪問過程中所產(chǎn)生的數(shù)據(jù)依然可以被抓取。利用無頭瀏覽器其提供的api,可以自動執(zhí)行操作指令。在并發(fā)訪問時,通過執(zhí)行多個無頭瀏覽器的方式可以降低系統(tǒng)的負載。常見的無頭瀏覽器可以包括諸如headless chrome、html unitdriver等等。
50.在一種實施例中,在所述虛擬化容器中渲染所述小程序時,可以采用所述小程序所對應(yīng)的宿主瀏覽器,并且在所述虛擬化容器中啟動所述宿主瀏覽器,將所述小程序資源移植至所述啟動的宿主瀏覽器中進行渲染。需要說明的是,宿主瀏覽器也可以是無頭瀏覽器,也可以是正常瀏覽器。
51.宿主瀏覽器指的是小程序在實際應(yīng)用中被啟動時所依賴的瀏覽器。例如,小程序a需要被部署至用戶客戶端1中,客戶端1若采用的是chrome瀏覽器,則小程序a的宿主瀏覽器即為chrome瀏覽器。整個測試過程由于都發(fā)生在服務(wù)端一側(cè),實際上服務(wù)端可以預(yù)先知曉宿主瀏覽器的類型;以及,小程序的開發(fā)者也可以在壓力測試請求中配置好宿主瀏覽器的類型,以便服務(wù)端進行配合測試。
52.例如,假設(shè)在壓力測試請求中開發(fā)者指定小程序的宿主瀏覽器是chrome,那么即可以在所述虛擬化容器中啟動headless chrome,并將所述小程序資源移植至所述headless chrome中進行渲染。在這個過程中,宿主瀏覽器本身還可以提供相應(yīng)的接口。例如,在headless chrome中,其可以通過一個開源node庫puppeteer所提供的一個高級api來通過devtools協(xié)議控制宿主瀏覽器chrome,從而可以完整的模擬實現(xiàn)小程序咋宿主瀏覽器中的渲染情形,避免宿主環(huán)境丟失的問題。
53.在一種實施例中,獲取訪問過程中所產(chǎn)生的訪問數(shù)據(jù)可以包括確定訪問過程中所采用的多個接口,獲取訪問所述多個接口的流量數(shù)據(jù);確定所述小程序中的資源被渲染時的渲染數(shù)據(jù)。
54.例如,在通過puppeteer啟動訪問過程時,puppeteer可以提供網(wǎng)絡(luò)請求監(jiān)聽能力,通過監(jiān)聽不同接口、資源請求的情況實時收集并采用心跳上報的方式給服務(wù)端進行入庫操作,生成格式化的訪問數(shù)據(jù)。puppeteer可以同時監(jiān)聽每個實例在訪問過程中所采用的接口的流量、訪問時間以及資源的渲染時間、渲染程度等等。通過不同維度的訪問數(shù)據(jù)可以更加全面的測試出小程序的壓力承受能力。
55.在一種實施例中,服務(wù)端將所述訪問數(shù)據(jù)發(fā)送至所述客戶端時,還可以將可視化所述訪問數(shù)據(jù),生成可視化的訪問數(shù)據(jù);將所述可視化的訪問數(shù)據(jù)發(fā)送至所述客戶端。可視化的方式可以包括將前述格式化的數(shù)據(jù)生成隨時間動態(tài)變化的圖片、表格等等形式,并將生成的圖片、表格返回至所述客戶端,從而開發(fā)者可以直觀的了解得到在自己所配置的壓
力測試請求下小程序的性能。如圖3所示,圖3為本說明書實施例所提供的一種系統(tǒng)中進行測試的邏輯框架示意圖。在該示例圖中,開發(fā)者可以通過對壓力測試請求中所包含的并發(fā)數(shù)進行配置,服務(wù)端通過云函數(shù)調(diào)用并發(fā)n個實例,采集得到訪問數(shù)據(jù)并將數(shù)據(jù)進行實時的心跳上報,從而測試得到開發(fā)的小程序的壓力承受極限,生成的可視化圖片將即時的返回至開發(fā)者。從而實現(xiàn)即時的壓力測試的數(shù)據(jù)展示。
56.基于同樣的思路,本說明書一個或多個實施例還提供了上述方法對應(yīng)的裝置和設(shè)備,如圖4、圖5所示。
57.在第二方面,如圖4所示,圖4為本說明書實施例提供的一種小程序的壓力測試裝置的結(jié)構(gòu)示意圖,所述裝置包括:
58.接收模塊401,接收客戶端所發(fā)送的壓力測試請求,確定所述壓力測試請求所對應(yīng)的實例數(shù)量n,n為大于1的自然數(shù);
59.獲取模塊403,獲取所述壓力測試請求所對應(yīng)的小程序資源和對應(yīng)的靜態(tài)服務(wù);
60.虛擬模塊405,創(chuàng)建虛擬化容器,在所述虛擬化容器中渲染所述小程序資源;
61.訪問模塊407,創(chuàng)建虛擬化容器,在所述虛擬化容器中根據(jù)所述靜態(tài)服務(wù)開啟n個實例訪問所述小程序;
62.發(fā)送模塊409,訪問過程中所產(chǎn)生的訪問數(shù)據(jù),將所述訪問數(shù)據(jù)發(fā)送至所述客戶端。
63.可選地,所述接收模塊401,獲取所述壓力測試請求中由用戶所配置的并發(fā)數(shù)值;確定所述實例所對應(yīng)的模擬訪問值;根據(jù)所述并發(fā)數(shù)值和所述模擬訪問值確定所述壓力測試請求所對應(yīng)的n個實例。
64.可選地,所述訪問模塊407調(diào)用云端服務(wù),在所述云端服務(wù)所對應(yīng)的云端設(shè)備中創(chuàng)建虛擬化容器。
65.可選地,所述訪問模塊407,送資源地址至所述云端設(shè)備,所述云端設(shè)備從所述資源地址拉取所述小程序資源,并確定所述小程序資源在所述云端設(shè)備中所對應(yīng)的靜態(tài)服務(wù)。
66.可選地,所述訪問模塊40,7所述虛擬化容器開啟與所述n個實例對應(yīng)的n個無頭瀏覽器;每個實例通過對應(yīng)的無頭瀏覽器和所述靜態(tài)服務(wù)訪問所述小程序。
67.可選地,所述虛擬模塊405,定所述小程序所對應(yīng)的宿主瀏覽器;在所述虛擬化容器中啟動所述宿主瀏覽器,將所述小程序資源移植至所述啟動的宿主瀏覽器中進行渲染。
68.可選地,所述發(fā)送模塊409,確定訪問過程中所采用的多個接口,獲取訪問所述多個接口的流量數(shù)據(jù);確定所述小程序中的資源被渲染時的渲染數(shù)據(jù);將所述流量數(shù)據(jù)和所述渲染數(shù)據(jù)確定為訪問數(shù)據(jù)。
69.可選地,所述發(fā)送模塊409,可視化所述訪問數(shù)據(jù),生成可視化的訪問數(shù)據(jù);將所述可視化的訪問數(shù)據(jù)發(fā)送至所述客戶端。
70.在第三方面,如圖5所示,圖5為本說明書實施例提供的一種電子設(shè)備的結(jié)構(gòu)示意圖,所述設(shè)備包括:
71.至少一個處理器;以及,
72.與所述至少一個處理器通信連接的存儲器;其中,
73.所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一
個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行如第一方面所述的方法。
74.在第四方面,基于同樣的思路,本說明書實施例還提供了對應(yīng)于上述方法的一種非易失性計算機存儲介質(zhì),存儲有計算機可執(zhí)行指令,當(dāng)計算機讀取存儲介質(zhì)中的計算機可執(zhí)行指令后,該指令使得一個或多個處理器執(zhí)行如第一方面所述的方法。
75.在20世紀(jì)90年代,對于一個技術(shù)的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進。設(shè)計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmable logic device,pld)(例如現(xiàn)場可編程門陣列(field programmable gate array,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardware description language,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)與verilog。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
76.控制器可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(application specific integrated circuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
77.上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。一種典型的實現(xiàn)設(shè)備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數(shù)字助理、媒體播放器、導(dǎo)航設(shè)備、設(shè)備、游戲控制臺、平板計算機、可穿戴設(shè)備或者這些設(shè)備中的任何設(shè)備的組合。
78.為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本說明書時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
79.本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本說明書實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本說明書實施例可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本說明書實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
80.本說明書是參照根據(jù)本說明書實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
81.這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
82.這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
83.在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
84.內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flash ram)。內(nèi)存是計算機可讀介質(zhì)的示例。
85.計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
86.還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個
……”
限定的要素,并不排除在包括所述要
素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
87.本說明書可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本說明書,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
88.本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置、設(shè)備、非易失性計算機存儲介質(zhì)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
89.上述對本說明書特定實施例進行了描述。其它實施例在所附權(quán)利要求書的范圍內(nèi)。在一些情況下,在權(quán)利要求書中記載的動作或步驟可以按照不同于實施例中的順序來執(zhí)行并且仍然可以實現(xiàn)期望的結(jié)果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續(xù)順序才能實現(xiàn)期望的結(jié)果。在某些實施方式中,多任務(wù)處理和并行處理也是可以的或者可能是有利的。
90.以上所述僅為本說明書的一個或多個實施例而已,并不用于限制本說明書。對于本領(lǐng)域技術(shù)人員來說,本說明書的一個或多個實施例可以有各種更改和變化。凡在本說明書的一個或多個實施例的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本說明書的權(quán)利要求范圍之內(nèi)。


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-7-1057-0.html

來源:專利查詢檢索下載-實用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請保留出處。本站文章發(fā)布于 2022-11-27 21:27:47

發(fā)表評論

驗證碼:
用戶名: 密碼: 匿名發(fā)表
評論列表 (有 條評論
2人圍觀
參與討論