本發(fā)明涉及機(jī)器人行為表達(dá)領(lǐng)域,具體而言,涉及一種機(jī)器人行為表達(dá)方法及計算機(jī)可讀介質(zhì)。
背景技術(shù):
機(jī)器人行為包括語音、圖像、動作、燈陣等元素。機(jī)器人行為的表達(dá)是多種元素合并輸出的結(jié)果。但是在現(xiàn)有的解決方案中,各個元素是分立的,輸出時各個模塊負(fù)責(zé)各自的元素輸出。例如,語言元素是通過語音模塊將文字轉(zhuǎn)變成音頻進(jìn)行輸出的,圖像元素是通過機(jī)器人的屏幕上播放視頻進(jìn)行輸出的,動作元素是通過運(yùn)動控制mcu發(fā)送指令至對應(yīng)的機(jī)器人身體部位而實(shí)現(xiàn)輸出的,燈陣元素則是通過向控制燈陣的mcu發(fā)送燈陣序列實(shí)現(xiàn)輸出的。由于機(jī)器人行為通常包括了多種元素的同步輸出,各個模塊的元素輸出需要在時序上緊密配合,否則會導(dǎo)致機(jī)器人行為混亂,例如機(jī)器人所進(jìn)行的動作和發(fā)出的語音是不匹配的。此外,由于各個模塊的元素輸出并無統(tǒng)一規(guī)范,導(dǎo)致開發(fā)效率降低。
因此,有必要開發(fā)一種多種元素配合輸出的機(jī)器人行為表達(dá)方法及計算機(jī)可讀介質(zhì)。
公開于本發(fā)明背景技術(shù)部分的信息僅僅旨在加深對本發(fā)明的一般背景技術(shù)的理解,而不應(yīng)當(dāng)被視為承認(rèn)或以任何形式暗示該信息構(gòu)成已為本領(lǐng)域技術(shù)人員所公知的現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提出了一種機(jī)器人行為表達(dá)方法及計算機(jī)可讀介質(zhì)。本發(fā)明在操作系統(tǒng)的程序邏輯上搭建了一組機(jī)器人行為序列框架,需要執(zhí)行某種行為時,直接調(diào)用對應(yīng)的整體行為包,內(nèi)含圖像序列、動作序列、燈陣序列和語音音色等,由行為執(zhí)行模塊序列化加載各類元素,按照一定的方式配合執(zhí)行,控制機(jī)器人完成相應(yīng)的資源輸出,使開發(fā)者有個良好的接入,提高了開發(fā)效率。
根據(jù)本發(fā)明的一個方面,提出了一種機(jī)器人行為表達(dá)方法。該方法可以包括:
將機(jī)器人行為拆解為多個可復(fù)用的動作元素;
根據(jù)各個動作元素的時間發(fā)生順序,將動作元素放入對應(yīng)的容器中或者將動作元素和/或容器裝入另一個容器中,其中,所述容器用于確定置于其中的動作元素之間或者動作元素與容器之間的執(zhí)行順序;
提取各個動作元素和各個容器之間的層次關(guān)系,根據(jù)所述層次關(guān)系將所述各個動作元素和各個容器組織成樹形結(jié)構(gòu),以表述所述機(jī)器人行為;
調(diào)用所述樹形結(jié)構(gòu)對應(yīng)的根節(jié)點(diǎn),執(zhí)行各動作元素。
優(yōu)選地,所述容器包括并發(fā)容器和順序容器,其中,所述將機(jī)器人行為拆解為多個可復(fù)用的動作元素包括:將所述機(jī)器人行為分解為不同的階段,再分別基于各個階段進(jìn)行動作元素的拆解。
優(yōu)選地,所述容器包括并發(fā)容器和順序容器,其中,置于所述并發(fā)容器中的動作元素是同時執(zhí)行的,置于所述順序容器中的動作元素是順序執(zhí)行的。
優(yōu)選地,所述樹形結(jié)構(gòu)的根節(jié)點(diǎn)和葉節(jié)點(diǎn)分別為動作元素和/或容器。
優(yōu)選地,所述動作元素包括如下狀態(tài):初始化完成、準(zhǔn)備完成、正在運(yùn)行、已暫停、已停止。
根據(jù)本發(fā)明的另一方面,提出一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序。該程序被處理器執(zhí)行時實(shí)現(xiàn)以下步驟;:
將機(jī)器人行為拆解為多個可復(fù)用的動作元素;
根據(jù)各個動作元素的時間發(fā)生順序,將動作元素放入對應(yīng)的容器中或者將動作元素和/或容器裝入另一個容器中,其中,所述容器用于確定置于其中的動作元素之間或者動作元素與容器之間的執(zhí)行順序;
提取各個動作元素和各個容器之間的層次關(guān)系,根據(jù)所述層次關(guān)系將所述各個動作元素和各個容器組織成樹形結(jié)構(gòu),以表述所述機(jī)器人行為;
調(diào)用所述樹形結(jié)構(gòu)對應(yīng)的根節(jié)點(diǎn),執(zhí)行各動作元素。
優(yōu)選地,所述將機(jī)器人行為拆解為多個可復(fù)用的動作元素包括:將所述機(jī)器人行為分解為不同的階段,再分別基于各個階段進(jìn)行動作元素的拆解。
優(yōu)選地,所述容器包括并發(fā)容器和順序容器,其中,置于所述并發(fā)容器中的動作元素是同時執(zhí)行的,置于所述順序容器中的動作元素是順序執(zhí)行的。
優(yōu)選地,所述樹形結(jié)構(gòu)的根節(jié)點(diǎn)和葉節(jié)點(diǎn)分別為動作元素和/或容器。
優(yōu)選地,所述動作元素包括如下狀態(tài):初始化完成、準(zhǔn)備完成、正在運(yùn)行、已暫停、已停止。
本發(fā)明的優(yōu)點(diǎn)在于:
1、通過編寫動作元素對應(yīng)的容器,可以實(shí)現(xiàn)幾乎所有機(jī)器人的行為;
2、每個機(jī)器人的行為被拆分成了很多小的動作元素,這些動作元素在不同的機(jī)器人之間是可以復(fù)用的。大量使用動作元素可以減少開發(fā)的工作量。
3、動作元素和容器的組織方式是根據(jù)最開始的機(jī)器人行為的定義而自動生成的。只要修改定義,就可以對機(jī)器人的行為進(jìn)行調(diào)整,而無須更改代碼。
本發(fā)明的方法具有其它的特性和優(yōu)點(diǎn),這些特性和優(yōu)點(diǎn)從并入本文中的附圖和隨后的具體實(shí)施例中將是顯而易見的,或者將在并入本文中的附圖和隨后的具體實(shí)施例中進(jìn)行詳細(xì)陳述,這些附圖和具體實(shí)施例共同用于解釋本發(fā)明的特定原理。
附圖說明
通過結(jié)合附圖對本發(fā)明示例性實(shí)施例進(jìn)行更詳細(xì)的描述,本發(fā)明的上述以及其它目的、特征和優(yōu)勢將變得更加明顯,其中,在本發(fā)明示例性實(shí)施例中,相同的參考標(biāo)號通常代表相同部件。
圖1示出了根據(jù)本發(fā)明的一個實(shí)施例的機(jī)器人行為表達(dá)方法的流程圖。
圖2為示例性機(jī)器人行為的分階段拆解圖。
圖3示出了根據(jù)本發(fā)明的一個實(shí)施例的動作的狀態(tài)轉(zhuǎn)換圖。
圖4示出動作元素和容器所形成的樹形關(guān)系圖。
圖5示出執(zhí)行機(jī)器人行為時的時序圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本發(fā)明。雖然附圖中顯示了本發(fā)明的優(yōu)選實(shí)施例,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本發(fā)明而不應(yīng)被這里闡述的實(shí)施例所限制。
圖1示出了根據(jù)本發(fā)明的一個實(shí)施例的機(jī)器人行為表達(dá)方法的流程圖。
該方法可以包括:
(1)將機(jī)器人行為拆解為多個可復(fù)用的動作元素。
為了定義機(jī)器人在某些特定情況下的反應(yīng),需要選擇用某些方式進(jìn)行表達(dá)。這些反應(yīng)可以是開發(fā)階段寫好的,也可以在運(yùn)行時由服務(wù)器開發(fā)。
在示例性實(shí)施例中,將機(jī)器人行為拆解為多個可復(fù)用的動作元素包括:將機(jī)器人的行為分解為不同的階段,再基于各個階段進(jìn)行動作元素的拆解。
這些動作元素可能是在屏幕上顯示一個動畫,可能是tts播放一句話,可能是一個動作,也可能是一個燈陣的效果。他們按照先后順序或者時間關(guān)系配合起來完成整個動作。
下面以機(jī)器人“回應(yīng)打招呼”這個行為為例來說明將機(jī)器人行為拆解為多個可復(fù)用的動作元素的具體過程。
如圖2所示,可以將機(jī)器人“回應(yīng)打招呼”這個行為分解為四個階段:
第一階段:抬頭;
第二階段:說出“hello”的同時,顯示一個微笑表情;
第三階段:燈陣按照一定的的規(guī)則閃爍;
第四階段:低頭,表情從微笑恢復(fù)到普通表情,同時說“什么事”。
根據(jù)各個階段的拆解,可以發(fā)現(xiàn)這個行為中包含的基礎(chǔ)單元為:抬頭、顯示微笑表情、tts發(fā)聲、燈陣閃爍、表情恢復(fù)到待機(jī)狀態(tài)以及低頭。
其中各個動作元素是這樣實(shí)現(xiàn)的:
抬頭動作的實(shí)現(xiàn)方式是通過系統(tǒng)調(diào)用向控制運(yùn)動的mcu發(fā)送運(yùn)動指令,控制電機(jī)的旋轉(zhuǎn)角度;
顯示微笑表情是在屏幕上播放動畫;
tts發(fā)聲是按照一定的發(fā)音規(guī)則將文字變成音頻;
燈陣是通過系統(tǒng)調(diào)用向控制燈陣的mcu發(fā)送燈陣序列;
恢復(fù)表情是在屏幕上播放另外一段動畫,這個動畫的第一幀與之前動畫的最后一幀相同能夠?qū)崿F(xiàn)連續(xù)的效果;
低頭是向運(yùn)動控制mcu發(fā)送運(yùn)動指令,使對應(yīng)機(jī)器人頸部的電機(jī)轉(zhuǎn)回到基準(zhǔn)位置。
(2)根據(jù)各個動作元素的時間發(fā)生順序,將動作元素放入對應(yīng)的容器中或者將動作元素和/或容器裝入另一個容器中,其中,所述容器用于確定置于其中的動作元素之間或者動作元素與容器之間的執(zhí)行順序。
在示例性實(shí)施例中,所述容器包括并發(fā)容器和順序容器,其中,置于所述并發(fā)容器中的動作元素是同時執(zhí)行的,置于所述順序容器中的動作元素是順序執(zhí)行的。
由于動作元素的容器也是一個動作,因此可以將容器和/或動作元素裝入另外的容器中,實(shí)現(xiàn)動作元素的層次堆疊。
機(jī)器人行為中的各個動作元素的時間發(fā)生順序可以通過以下方式獲得:按照機(jī)器人行為所分解的階段和每個階段里動作元素的劃分,通過xml將這個行為表達(dá)出來,xml記錄了按照時間順序發(fā)生的動作元素的序列。
對應(yīng)上述例子,xml文件總體分為四個部分,同時注明這四個部分是連續(xù)發(fā)生。第二個部分包括同時發(fā)生的兩個動作元素,第四個部分包括同時發(fā)生的三個動作元素。
在示例性實(shí)施例中,各所述動作元素包括如下狀態(tài):初始化完成、準(zhǔn)備完成、正在運(yùn)行、已暫停、已停止。
在輸出動作元素的過程中,可以通過調(diào)用如下指令來可以進(jìn)行所作元素的狀態(tài)之間的切換,以對機(jī)器人輸出的動作進(jìn)行控制:準(zhǔn)備、運(yùn)行、暫停、繼續(xù)、停止。如圖3所示,當(dāng)系統(tǒng)處于初始化完成狀態(tài),準(zhǔn)備指令使系統(tǒng)進(jìn)入準(zhǔn)備完成狀態(tài),此時運(yùn)行指令使系統(tǒng)進(jìn)入正在運(yùn)行狀態(tài);此時如果接收到暫停指令,系統(tǒng)則進(jìn)入已暫停狀態(tài),而繼續(xù)指令使系統(tǒng)從已暫停狀態(tài)進(jìn)入正在運(yùn)行狀態(tài);當(dāng)系統(tǒng)處于正在運(yùn)行狀態(tài)時接收到停止指令,則會進(jìn)入已停止?fàn)顟B(tài)。
以輸出燈陣閃爍這一動作元素為例,在機(jī)器人正在燈陣閃爍時,可以通過暫停指令讓其暫停閃爍并通過繼續(xù)指令繼續(xù)閃爍,也可以通過停止指令讓其停止燈陣閃爍。
所述動作元素在不同的狀態(tài)之間切換時向外發(fā)出信號,以令操作者確認(rèn)狀態(tài)切換成功。
并發(fā)容器在接收到“運(yùn)行”指令時,會給它所包含的所有子動作發(fā)送“運(yùn)行”指令,只有當(dāng)所有的子動作都運(yùn)行完成后,才會將自己的狀態(tài)變?yōu)椤耙淹V埂薄?/p>
順序容器在接收到“運(yùn)行”指令時,會給自己的第一個子動作發(fā)送“運(yùn)行”指令,當(dāng)?shù)谝粋€動作的狀態(tài)變成“已停止”后,他會給第二個子動作發(fā)送“運(yùn)行”指令,以此類推。直到最后一個子動作的狀態(tài)變成“已停止”,這個順序容器的狀態(tài)才會變成“已停止”。
下面以機(jī)器人“回應(yīng)打招呼”這個行為為例來說明讀取xml文件的過程:
由于一開始能夠讀取到整個行為分為順序執(zhí)行的四個部分,于是創(chuàng)建一個順序容器。
之后開始從xml文件中解析出第一部分,這個部分是一個抬頭動作,于是調(diào)用動作工廠創(chuàng)建抬頭的動作。
之后解析第二部分,其中包含兩個同時執(zhí)行的動作元素。于時創(chuàng)建一個并發(fā)容器,同時調(diào)用動作工廠創(chuàng)建微笑的動作元素和tts發(fā)聲的動作元素,并將這兩個動作元素添加到剛剛創(chuàng)建的并發(fā)容器里面。然后將并發(fā)容器添加到最開始的順序容器中。
之后解析第三部分,利用與第一部分相似的方法創(chuàng)建出燈陣閃爍的動作并將其添加到最開始的順序容器中。
最后解析第四部分,根據(jù)xml的內(nèi)容創(chuàng)建一個并發(fā)容器,并且將控制低頭、播放恢復(fù)表情和tts發(fā)聲的動作添加到并發(fā)容器中,然后將這個并發(fā)容器同樣添加到最開始的順序容器中。
隨著xml文件的解析,完成了將動作元素和/或容器置于其他容器的過程。
(3)提取各個動作元素和各個容器之間的層次關(guān)系,根據(jù)所述層次關(guān)系將所述各個動作元素和各個容器組織成樹形結(jié)構(gòu),以表述所述機(jī)器人行為。
在所述動作元素和所述容器所形成的樹形結(jié)構(gòu)中,根節(jié)點(diǎn)和葉節(jié)點(diǎn)可以分別為動作元素和/或容器。
對應(yīng)上述例子,根據(jù)各個動作元素與所創(chuàng)建的容器之間的層次關(guān)系所形成的樹形結(jié)構(gòu)如圖4所示。其中,實(shí)心的節(jié)點(diǎn)是容器,s1、s2表示順序容器,c1、c2表示并發(fā)容器,帶有序號的空心的節(jié)點(diǎn)是動作元素。
(4)調(diào)用所述樹形結(jié)構(gòu)對應(yīng)的根節(jié)點(diǎn),執(zhí)行各動作元素。
樹形結(jié)構(gòu)的根節(jié)點(diǎn)可以是動作元素和/或容器,過調(diào)用該根節(jié)點(diǎn)即可執(zhí)行所定義的機(jī)器人行為。
所述執(zhí)行模塊的操作對象可以是動作元素,也可以是一個包含了很多層容器的容器,因此可以通過執(zhí)行模塊調(diào)用根節(jié)點(diǎn)。
執(zhí)行模塊將接收到的動作排隊,根據(jù)需要下發(fā)執(zhí)行命令。也可以在一個動作沒有執(zhí)行完成的時候發(fā)送停止命令打斷,從而可以更快的執(zhí)行下一個動作。
下面以機(jī)器人“回應(yīng)打招呼”這個行為為例,結(jié)合圖4來說明執(zhí)行模塊執(zhí)行機(jī)器人行為的具體過程,執(zhí)行機(jī)器人行為時的時序圖如圖5所示。
首先向根節(jié)點(diǎn),也就是順序容器s1,發(fā)送“運(yùn)行”指令;
順序容器s1給它的第一個子節(jié)點(diǎn)—動作1:抬頭發(fā)送運(yùn)行命令;
動作1:抬頭開始運(yùn)行,在動作1完成后,其狀態(tài)轉(zhuǎn)換為已停止;
順序容器s1接收到已停止的狀態(tài)變化,給它的第二個子節(jié)點(diǎn)—順序容器s2發(fā)送運(yùn)行命令;而順序容器s2向它的第一個子節(jié)點(diǎn)—并發(fā)容器c1發(fā)送運(yùn)行命令。并發(fā)容器c1給它里面的兩個動作—動作2:播放微笑表情和動作3:tts發(fā)聲發(fā)送運(yùn)行指令。當(dāng)這兩個動作完成后,它們的狀態(tài)轉(zhuǎn)換為已停止。并發(fā)容器c1接收到狀態(tài)變化,將它自己的狀態(tài)轉(zhuǎn)換為已停止。
順序容器s2收到并發(fā)容器c1的已停止?fàn)顟B(tài),給動作4:燈陣閃爍發(fā)送運(yùn)行指令,動作4完成后,其狀態(tài)變成已停止。順序容器s2將它自身的狀態(tài)標(biāo)記為已停止。
順序容器s1接收到狀態(tài)變化,給并發(fā)容器c2發(fā)送運(yùn)行指令,并發(fā)容器c2給它內(nèi)部的三個動作—動作5:低頭,動作6:表請從微笑恢復(fù)到普通表情,動作7:說“什么事”發(fā)送運(yùn)行指令。這三個動作的狀態(tài)都變成已停止后,并發(fā)容器c2將它自身的狀態(tài)標(biāo)記為已停止。
順序容器s1接收到并發(fā)容器c2的狀態(tài)變化,但是發(fā)現(xiàn)c2已經(jīng)是最后一個子節(jié)點(diǎn),于是順序容器s1將自身的狀態(tài)標(biāo)記為已停止。
執(zhí)行模塊接收到順序容器s1的狀態(tài)變化,這個機(jī)器人的行為已經(jīng)執(zhí)行完成。
根據(jù)本發(fā)明的另一實(shí)施例的計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序。該程序被處理器執(zhí)行時實(shí)現(xiàn)以下步驟:
將機(jī)器人行為拆解為多個可復(fù)用的動作元素;
根據(jù)各個動作元素的時間發(fā)生順序,將動作元素放入對應(yīng)的容器中或者將動作元素和/或容器裝入另一個容器中,其中,所述容器用于確定置于其中的動作元素之間或者動作元素與容器之間的執(zhí)行順序;
提取各個動作元素和各個容器之間的層次關(guān)系,根據(jù)所述層次關(guān)系將所述各個動作元素和各個容器組織成樹形結(jié)構(gòu),以表述所述機(jī)器人行為;
調(diào)用所述樹形結(jié)構(gòu)對應(yīng)的根節(jié)點(diǎn),執(zhí)行各動作元素。
在示例性實(shí)施例中,所述將機(jī)器人行為拆解為多個可復(fù)用的動作元素包括:將所述機(jī)器人行為分解為不同的階段,再分別基于各個階段進(jìn)行動作元素的拆解。
在示例性實(shí)施例中,所述容器包括并發(fā)容器和順序容器,其中,置于所述并發(fā)容器中的動作元素是同時執(zhí)行的,置于所述順序容器中的動作元素是順序執(zhí)行的。
在示例性實(shí)施例中,所述樹形結(jié)構(gòu)的根節(jié)點(diǎn)和葉節(jié)點(diǎn)分別為動作元素和/或容器。
在示例性實(shí)施例中,所述動作元素包括如下狀態(tài):初始化完成、準(zhǔn)備完成、正在運(yùn)行、已暫停、已停止。
本領(lǐng)域技術(shù)人員應(yīng)理解,上面對本發(fā)明的實(shí)施例的描述的目的僅為了示例性地說明本發(fā)明的實(shí)施例的有益效果,并不意在將本發(fā)明的實(shí)施例限制于所給出的任何示例。
本發(fā)明可以是裝置、方法和/或計算機(jī)程序產(chǎn)品。計算機(jī)程序產(chǎn)品可以包括計算機(jī)可讀存儲介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個方面的計算機(jī)可讀程序指令。
計算機(jī)可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機(jī)可讀存儲介質(zhì)例如可以是――但不限于――電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機(jī)盤、硬盤、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲器(sram)、便攜式壓縮盤只讀存儲器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機(jī)可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計算機(jī)可讀程序指令可以從計算機(jī)可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機(jī)或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計算機(jī)和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計算機(jī)可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機(jī)可讀存儲介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計算機(jī)可讀程序指令可以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實(shí)施例中,通過利用計算機(jī)可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個方面。
這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計算機(jī)可讀程序指令可以提供給通用計算機(jī)、專用計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機(jī)可讀程序指令存儲在計算機(jī)可讀存儲介質(zhì)中,這些指令使得計算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機(jī)可讀介質(zhì)則包括一個制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機(jī)可讀程序指令加載到計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機(jī)實(shí)現(xiàn)的過程,從而使得在計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實(shí)施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。