两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

高級語言和本機語言之間的通信協(xié)議的制作方法

文檔序號:6484504閱讀:189來源:國知局
高級語言和本機語言之間的通信協(xié)議的制作方法
【專利摘要】本發(fā)明公開了一種用于在客戶端設備上在兩個編程語言之間通信的系統(tǒng)和方法。高級語言的命令被編碼為包含由分隔符分離的數(shù)字序列的字符串,其中命令的每個組成部分被編碼為不同的數(shù)字。編碼的字符串被傳遞為在客戶端設備上本機運行的編譯代碼,并且本機代碼將字符串解碼為對應的本機命令并且執(zhí)行該本機命令。該通信協(xié)議允許以高級代碼編寫的應用執(zhí)行通常僅針對本機代碼設置的功能,諸如與web服務器進行通信以及修改保存在存儲器中的文件。高級代碼還可以在不經歷一些操作系統(tǒng)對用于應用二進制文件的傳送設置的限制的情況下被傳送到客戶端設備,這允許應用開發(fā)人員自動地向用戶發(fā)送應用更新。
【專利說明】高級語言和本機語言之間的通信協(xié)議
[0001]相關申請的交叉引用
[0002]本申請要求2010年12月14日提交的美國臨時申請N0.61/422,843以及2011年12月13日提交的美國專利申請N0.13/324,940的權益,其全部公開內容通過引用合并于此。
【技術領域】
[0003]本公開一般地涉及編程語言的領域,并且更具體地,涉及在兩種不同的編程語言之間的通信。
【背景技術】
[0004]軟件應用通常作為二進制可執(zhí)行文件來發(fā)行和分發(fā)。開發(fā)人員將代碼編譯成二進制可執(zhí)行文件,并且用戶將該編譯的應用二進制文件下載到其客戶端設備上并且在其客戶端設備上運行該編譯的應用二進制文件。在公開發(fā)行之前進行編譯的類似過程用于分發(fā)對軟件應用的更新和補丁。盡管該過程允許開發(fā)人員保護其源代碼,并且對用戶提供在其客戶端設備上本機運行的可執(zhí)行代碼,但是該過程還帶來了使得對于特定平臺沒有吸引力的很多限制和缺點。
[0005]一個缺點在于作為防止用戶運行未授權代碼的方法,一些操作系統(tǒng)對向客戶端設備傳送可執(zhí)行二進制文件進行限制。操作系統(tǒng)開發(fā)人員可以將這些限制作為對抗病毒或其他惡意代碼的傳播的安全措施,或者他們可以簡單地使用這些限制作為對操作系統(tǒng)施加更多控制的方法。在一些情況下,操作系統(tǒng)可以包括用于管理可執(zhí)行二進制文件的分發(fā)的集中式分發(fā)服務,并且被分發(fā)的二進制文件可以由分發(fā)服務的管理員來進行審查和批準。例如,蘋果iOS移動操作系統(tǒng)包括用于分發(fā)應用和更新的APP STORE,并且發(fā)布到APP STORE的內容在被分發(fā)給用戶之前經歷批準過程。在其他情況下,操作系統(tǒng)允許用戶自由下載可執(zhí)行二進制文件,但是操作系統(tǒng)可以在執(zhí)行新的應用或應用對現(xiàn)有應用的更新之前針對管理員密碼或一些其他種類的授權來提示用戶。
[0006]這些限制使軟件開發(fā)人員難以分發(fā)可執(zhí)行二進制文件。具體地,如果更新經受審查過程,或者如果更新在被應用之前需要用戶授權,則發(fā)行和分發(fā)更新和補丁的過程可能會變得明顯更慢。結果,很難迅速地向用戶分發(fā)更新。此外,如果開發(fā)人員希望分發(fā)針對用戶的設備配置、位置或人口統(tǒng)計信息而定制的更新,則定制的更新的每種變換可能都必須在被分發(fā)之前經歷審查過程。
【專利附圖】

【附圖說明】
[0007]所公開的實施例具有其他優(yōu)點和特征,這些其他優(yōu)點和特征從【具體實施方式】、所附權利要求和附圖中變得更顯而易見。以下是附圖的簡要介紹。
[0008]圖1是圖示根據(jù)一個實施例的適用于以高級語言遞送應用和更新的系統(tǒng)環(huán)境的網(wǎng)絡示圖。[0009]圖2是圖示根據(jù)一個實施例的客戶端設備的應用客戶端模塊的框圖。
[0010]圖3是圖示根據(jù)一個實施例的用于在應用運行之前自動應用對請求的應用的更新的示例性過程的交互示圖。
[0011]圖4是根據(jù)一個實施例的從高級語言的命令到編碼的字符串的映射的示例。
[0012]圖5是圖示根據(jù)一個實施例的用于將高級命令轉譯成對應的本機命令并且執(zhí)行對應的本機命令的過程的流程圖。
[0013]圖6是圖示根據(jù)一個實施例的用于針對應用的單個處理幀執(zhí)行多個命令的示例性過程的交互示圖。
[0014]圖7是根據(jù)一個實施例的用于針對應用注冊新的對象的示例性過程的交互示圖?!揪唧w實施方式】
[0015]附圖和下面的描述僅以說明的方式涉及優(yōu)選實施例。應當注意,從下面的討論中,這里所公開的結構和方法的替代實施例將很容易被視作在不背離所要求保護的原理的情況下采用的可行的替代。
[0016]現(xiàn)在將具體參考幾個實施例,在附圖中示出了這些實施例的示例。應當注意,在任何可實踐的情況下,可以在附圖中使用相似或相同的附圖標記,并且相似或相同的附圖標記可以指示相似或相同的功能。附圖僅出于說明的目的來描繪所公開的系統(tǒng)(或方法)的實施例。本領域技術人員從下面的描述中將容易地認識到,可以在不背離這里描述的原理的情況下采用這里說明的結構和方法的替代實施例。
[0017]配置概述
[0018]作為分發(fā)可執(zhí)行二進制文件的替代,應用和更新可以以諸如JavaScript的高級語言來被編寫和分發(fā)到客戶端設備。為了運行高級應用,用戶在其客戶端設備上安裝應用客戶端模塊。應用客戶端模塊實施通信協(xié)議,該通信協(xié)議允許高級語言與在客戶端設備上本機運行的編譯代碼通信。該通信協(xié)議允許高級應用訪問通常針對本機代碼所保留的系統(tǒng)資源,諸如聯(lián)網(wǎng)設備和物理傳感器。結果,以高級語言編寫的應用可以執(zhí)行通常限制為可執(zhí)行應用二進制文件的任務,這允許高級應用提供與二進制應用的用戶體驗類似的用戶體驗。
[0019]通信協(xié)議通過將高級命令編碼為包含一系列數(shù)字和控制字符的字符串來進行操作。每個數(shù)字表示命令的不同組成部分,諸如類標識符、方法標識符以及傳遞到該方法的一個或多個參數(shù)。編碼的字符串被發(fā)送到應用客戶端模塊的不同組件,該應用客戶端模塊將字符串解碼為本機命令并且執(zhí)行該命令。為了減小高級代碼的復雜度并且由此減少用于操作通信協(xié)議的計算資源,應用客戶端模塊還包含若干應用編程接口(API),該若干應用編程接口(API)允許提供用于訪問諸如圖形處理器、物理傳感器和網(wǎng)絡接口這樣的系統(tǒng)資源的簡化命令。本機代碼還可以使用該通信協(xié)議來將命令發(fā)布為高級代碼。
[0020]由于用于命令的編碼和解碼過程使用大量的計算資源,所以應用客戶端模塊還可以實施排隊機制以一次編碼和解碼若干命令。在一個實施例中,在被稱為處理巾貞的預定時間間隔期間發(fā)布的高級命令以命令被發(fā)布的次序被添加到隊列中。在處理幀的結束處,該隊列中的命令被編碼為字符串。隨后,該字符串被解碼為本機命令,并且以對應的高級命令被添加到該隊列的次序相同的次序來執(zhí)行本機命令。該排隊機制允許應用客戶端模塊通過一次編碼和解碼多個命令來改善性能,同時仍然保持高級命令的原始次序。
[0021]通過以高級語言來分發(fā)可執(zhí)行內容,該內容不經歷操作系統(tǒng)可能對二進制應用和更新的分發(fā)設置的限制。當以高級語言向客戶端設備傳送應用或更新時,操作系統(tǒng)將該活動解釋為數(shù)據(jù)的傳送,而不是可執(zhí)行代碼的傳送,并且在不施加與傳送可執(zhí)行代碼相關聯(lián)的限制的情況下允許該傳送進行。結果,高級應用能夠在應用引導過程期間檢查并且應用更新,并且開發(fā)人員還能夠通過自動地分發(fā)適應用戶的地理位置、人口統(tǒng)計組、設備配置和其他個人信息的高級更新來提供定制用戶體驗。雖然下載和執(zhí)行高級應用的該過程可能會繞過被集成到應用分發(fā)系統(tǒng)或操作系統(tǒng)中的一些安全措施,但是應用客戶端模塊包含通過限制被授予各個高級應用的權限級別來維持客戶端設備的安全性的特征。
[0022]系統(tǒng)架構的概述
[0023]圖1是圖示根據(jù)一個實施例的適合于以高級語言遞送應用和更新的系統(tǒng)環(huán)境的網(wǎng)絡示圖。除了其他組件,該系統(tǒng)環(huán)境包括應用服務器102、網(wǎng)絡104和客戶端設備100。在其它實施例中,在系統(tǒng)環(huán)境中可以存在更少、附加或不同的組件。具體地,雖然僅描繪了一個客戶端設備100和一個服務器104,但是可以存在連接到網(wǎng)絡102的其他客戶端設備或服務器。
[0024]應用服務器102操作支持應用客戶端模塊116的基于服務器的服務以及可以保存在客戶端設備100上的任何高級應用。具體地,應用服務器102使高級應用和更新可用于向用戶分發(fā),因此應用客戶端模塊116可以自動地或者響應于用戶請求而從應用服務器102檢索更新和新的應用。應用服務器102還可以提供其他應用相關服務,諸如應用集成的社交聯(lián)網(wǎng)或者數(shù)據(jù)收集和分析。雖然應用服務器102被描繪成單個實體,但是應用服務器102的功能可以分散在多個計算設備、計算集群或數(shù)據(jù)中心中,并且應用服務器102的組件可以駐留在多個地理位置中。
[0025]應用服務器102通過網(wǎng)絡104與多個客戶端設備100進行通信。網(wǎng)絡104可以包括本領域公知的標準通信技術和協(xié)議的任何組合。例如,可以通過諸如以太網(wǎng)、802.11、CDMA、3G、4G或數(shù)字訂戶線(DSL)這樣的鏈接技術來通過網(wǎng)絡104進行通信。網(wǎng)絡104可以支持多個聯(lián)網(wǎng)協(xié)議,包括超文本傳輸協(xié)議(HTTP)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)或者文件傳輸協(xié)議,并且通過網(wǎng)絡104傳送的任何數(shù)據(jù)可以利用諸如傳輸層安全性(TLS)、安全套接字層(SSL)和因特網(wǎng)協(xié)議安全(IPsec)這樣的技術來進行加密。
[0026]圖1還包含客戶端設備100的詳細視圖。除了其他組件,該客戶端設備100包括處理器106、存儲器108、網(wǎng)絡接口設備110、物理傳感器112、客戶端設備API114以及應用客戶端模塊116??蛻舳嗽O備100的組件106、108、110、112、114、116通過系統(tǒng)總線118以通信的方式耦合。作為一個整體,客戶端設備100可以是包括這些組件106、108、110、112、114,116的任何計算設備,諸如智能電話、個人數(shù)字助理(PDA)、平板計算機、膝上型計算機或臺式計算機。
[0027]處理器106執(zhí)行計算機可讀指令。處理器106可以訪問存儲器108以檢索用于執(zhí)行的指令或者讀取或寫入數(shù)據(jù)。雖然圖1中僅示出了單個處理器106,但是客戶端設備100可以包含可以并行操作的多個處理器106??蛻舳嗽O備100還可以包含用于圖形處理或音頻處理的專用處理器106。存儲器108是能夠存儲可以由處理器106執(zhí)行的計算機可讀指令和數(shù)據(jù)的任何非瞬態(tài)計算機可讀存儲介質。存儲器108可以包括易失性存儲器(例如,隨機存取存儲器)和非易失性存儲器(例如,硬盤驅動、固態(tài)驅動、壓縮盤,磁帶等)的組合。網(wǎng)絡接口設備Iio連接到網(wǎng)絡104,并且在網(wǎng)絡104和客戶端設備100的其他組件之間交換數(shù)據(jù)。
[0028]物理傳感器112可以包括監(jiān)視客戶端設備的定向或環(huán)境的任何設備。例如,傳感器可以包括加速度計、陀螺儀、全球定位服務(GPS)接收器、羅盤或環(huán)境光檢測器。物理傳感器112還可以包括用于記錄對客戶端設備100的用戶輸入的設備,諸如外部按鈕、鍵盤、鼠標、觸摸屏或麥克風。
[0029]操作系統(tǒng)可以提供一個或多個客戶端設備應用編程接口(API) 114,該一個或多個應用客戶端設備應用編程接口(API) 114允許二進制軟件應用與客戶端設備100的物理組件進行交互。操作系統(tǒng)可以包括用于與物理傳感器112、網(wǎng)絡接口設備110或者諸如可以由專用圖形或音頻處理器106控制的屏幕或揚聲器這樣的輸出設備進行交互的API。
[0030]應用客戶端模塊116實施通信協(xié)議,該通信協(xié)議允許以高級編程語言編寫的一個或多個應用與本地代碼通信。通信協(xié)議的一個益處在于,該協(xié)議允許高級應用執(zhí)行通常針對本機代碼所保留的任務,諸如修改保存在存儲器108中的其他應用或者通過網(wǎng)絡接口設備110與應用服務器102進行通信。為了流線化高級應用和本地代碼之間的通信,應用客戶端模塊116還包含簡化由操作系統(tǒng)提供的API114和高級應用之間的交互的應用客戶端API的集合。雖然應用客戶端模塊116被示出為單獨的實體,但是用于執(zhí)行應用客戶端模塊116的功能的邏輯可以整體或者部分地駐留在處理器106或存儲器108上。另外,全部或部分的應用客戶端模塊116可以被實現(xiàn)為單獨的硬件設備,諸如專用集成電路(ASIC)或者現(xiàn)場可編程門陣列(FPGA)。
[0031]應用客戶端模塊
[0032]現(xiàn)在參考圖2,圖示了圖1中示出的應用客戶端模塊116的具體視圖。除了其他組件,應用客戶端模塊116可以包含引導應用200、一個或多個其他高級應用202、高級API204、本機API206、高級對象注冊表(registry) 208、本機對象注冊表210、解釋器212以及一組簡化的設備API214。應用客戶端的其他實施例可以包含附加、更少或不同的組件。
[0033]引導應用200是以解釋的高級編程語言(例如,JavaScript)編寫的應用,該應用接收對高級應用200、202的引用并且嘗試更新所引用的應用。在接收到引用的應用之后,引導應用200詢問應用服務器102以確定所引用的應用的更新版本是否可用于下載。如果引導應用200在應用服務器102上找到了更新,那么引導應用200自動地檢索并且應用該更新。因為該更新也是以高級語言編寫的,所以可以在沒有來自用戶或操作系統(tǒng)的任何介入或授權的情況下檢索和應用該更新。
[0034]當應用客戶端模塊116接收到對啟動應用202的請求時,本機API206向引導應用200發(fā)出兩個命令。第一個命令包含對弓I導應用200的引用,這使得引導應用200對本身進行更新。第二個命令包含對所請求的應用202的引用,這使得引導應用200更新所請求的應用202。參考圖3來詳細描述更新引導應用200和所請求的應用202的過程。
[0035]高級應用202是諸如可以被下載到客戶端設備100的游戲、圖像編輯器或多媒體回放程序這樣的軟件應用。下載可以由客戶端設備100的用戶或者由應用客戶端模塊116內的另一應用202來發(fā)起。類似于引導應用202,高級應用202也以解釋的高級編程語言來編寫。如這里使用的高級編程語言是代替在被分發(fā)給客戶端設備之前被編譯,而可以由解釋器212在客戶端設備上執(zhí)行的任何編程語言(例如,JavaScript)。除了高級代碼,應用202還可以包含其它數(shù)據(jù)項,諸如圖像、視頻、音頻片段或明文(plaintext)。由于高級應用202是以高級編程語言編寫的,所以操作系統(tǒng)將高級應用202的下載解釋為數(shù)據(jù)文件的下載。結果,該下載不受到操作系統(tǒng)可能對可執(zhí)行二進制應用的下載設置的任何限制。雖然這可能繞過一些可能被集成到操作系統(tǒng)中的安全功能,但是解釋器212和本機API206包含調整被準許接入下載的高級應用202的級別的安全功能。
[0036]高級API和本機API206是提供用于簡化設備API中的功能的統(tǒng)一接口的應用編程接口(API)。當API204、206包含匹配類和方法時,高級API204以與引導應用200和其他應用202相同的高級語言來編寫,而本機API206是在客戶端設備100上本機運行的二進制文件。高級API204和本機API206還包含下述邏輯,該邏輯用于以隊列排列用于單個處理幀的命令,向解釋器212發(fā)送要被編碼為字符串的隊列,并且將該字符串解碼回命令。參考圖4來詳細描述編碼功能,并且參考圖6來詳細描述排隊機制。通過使各個簡化設備API214的功能統(tǒng)一,開發(fā)人員可以參考單個API以與客戶端設備100上的硬件進行交互。這簡化了開發(fā)過程,并且減少了類或方法被歸屬到錯誤的API的可能性。
[0037]高級對象注冊表208和本機對象注冊表210在運行應用202中保持活動對象的鏡像(mirrored)注冊表。在一個實施例中,對象初始地被注冊在高級對象注冊表208中,并且隨后將條目鏡像映射(miiTor)到本機對象注冊表210。參考圖7來詳細描述注冊新的對象以及在兩個注冊表208、210之間鏡像映射對象的過程。
[0038]解釋器212加載并且執(zhí)行高級代碼,諸如在引導應用200、其他應用202和高級API204中的代碼。當應用200、202包括要由本機代碼執(zhí)行的命令時,解釋器212對該命令進行編碼,并且將該命令發(fā)送到本機API206以被解碼和執(zhí)行。存在解釋器212的兩個獨立實例。應用解釋器212A具有訪問客戶端設備100的低權限。例如,應用解釋器212A能夠訪問屏幕上的圖形、用戶界面(UI)和音頻功能以及其他應用相關的功能。同時,系統(tǒng)解釋器212B具有訪問客戶端100的高權限,包括對可能造成系統(tǒng)不穩(wěn)定的客戶端設備100的部分的訪問。例如,系統(tǒng)解釋器212B可以使用網(wǎng)絡接口 110來向應用服務器102傳送授權憑證,或者修改存儲在存儲器108中的引導應用200或其他應用202。
[0039]因為引導應用200頻繁使用高權限功能,諸如訪問應用服務器102和修改存儲在存儲器108中的應用200、202,所以由系統(tǒng)解釋器212B來執(zhí)行引導應用200。其他應用202由應用解釋器212A來執(zhí)行。如果其他應用202中的一個包括要以高權限執(zhí)行的命令,則應用解釋器212A將該命令發(fā)送到本機API206,并且本機API206確定是否應當允許該命令。例如,本機API206可以允許執(zhí)行用于從應用服務器102中檢索社交聯(lián)網(wǎng)數(shù)據(jù)的命令,但是該API206可能不允許應用202執(zhí)行用于任意修改或擦除另一應用202的命令。如果本機API206允許高權限命令執(zhí)行,那么該命令被路由到系統(tǒng)解釋器212以供執(zhí)行。該配置允許應用202訪問客戶端設備100的高權限功能,同時仍然通過提供針對不適當和可能有害的高權限命令的保護來維護客戶端設備100的安全性。
[0040]簡化的設備API214提供了高級應用200、202可以用來與由操作系統(tǒng)提供的客戶端設備114進行交互的簡化接口。例如,簡化的圖形API214A可以提供簡化的方法來以單個命令在屏幕上定位圖像,而使相同的圖像位于屏幕上的相同位置中可能需要對于客戶端設備API114中的適當圖形API的復雜的調用序列。此外,應用客戶端模塊116可以實施不同版本的簡化設備API214以與不同客戶端設備100上的客戶端設備API114進行交互。例如,蘋果iOS中的圖形API可能需要第一命令序列來在屏幕上定位圖像,而使用GOOGLE安卓操作系統(tǒng)中的圖形API來定位圖像可能需要與第一命令序列不同的第二命令序列。在該情況下,簡化圖形API214A的iOS版本中的簡化的定位圖像命令將執(zhí)行第一命令序列,并且簡化圖形API214A的安卓版本中的定位圖像命令將執(zhí)行第二命令序列。結果,簡化的設備API214提供可以用于與不同設備100和不同操作系統(tǒng)的硬件、固件和軟件層進行交互的命令的標準集合,這允許在引導應用200、其他應用202和高級API204中的相同的高級代碼在不同的設備配置中起作用。
[0041]鏡像API204、206,鏡像對象注冊表208、210,解釋器212和簡化的API214 —起提供了在高級應用202和操作系統(tǒng)的內置API114之間的標準化接口。這意味著只要應用客戶端模塊116被安裝在設備上,相同的高級應用202就可以在不同的操作系統(tǒng)和不同的客戶端設備100上執(zhí)行。因此,開發(fā)人員可以聯(lián)絡跨多個操作系統(tǒng)和設備的更廣泛的用戶受眾,而無需編寫多個OS特定或者設備特定的版本的應用202。
[0042]應用自動更新
[0043]圖3是圖示根據(jù)一個實施例的在應用的引導過程期間自動地更新高級應用200的示例性過程的、在應用服務器102、本機API206、系統(tǒng)解釋器212B和應用解釋器212A之間的交互示圖。當應用客戶端模塊116接收300到對于運行應用的請求時,該過程開始。該請求通常作為來自傳感器112中的一個(例如,觸摸屏)的用戶輸入而被接收,但是該請求還可以源自不同的源,諸如不同的應用。在應用客戶端模塊116處接收到該請求之后,其被路由到本機API206,本機API206通過發(fā)出302指令系統(tǒng)解釋器212B更新引導應用200的第一命令來進行響應。
[0044]為了更新引導應用200,系統(tǒng)解釋器212B利用對其本身進行更新的指令來加載和執(zhí)行引導應用200。引導應用200中的高級代碼使得系統(tǒng)解釋器212B檢查304應用服務器102以確定引導應用的較新版本是否可用。系統(tǒng)解釋器212B能夠通過使用對于與網(wǎng)絡接口設備110進行交互的解釋器212B的較高訪問權限來訪問304應用服務器102,并且向應用服務器102發(fā)送適當?shù)氖跈鄳{證。
[0045]如果在應用服務器102上沒有找到更新,那么系統(tǒng)解釋器212B跳過更新過程308,并且關閉310該引導應用。如果找到了對引導應用200的更新,那么系統(tǒng)解釋器212B從應用服務器102接收306更新,并且應用308該更新。在一個實施例中,系統(tǒng)解釋器212B在更新過程308期間用更新的版本來替換整個引導應用200。替代地,系統(tǒng)解釋器212B可以在更新過程308期間替換引導應用200中的高級代碼的子集(例如,僅新的或不同的幾行代碼)。再次,因為系統(tǒng)解釋器212B具有比應用解釋器212A更高的權限,所以系統(tǒng)解釋器212B能夠修改引導應用200。
[0046]在系統(tǒng)解釋器212B更新308引導應用200之后,系統(tǒng)解釋器212B關閉引導應用310,并且使用返回聲明來返回312到本機API。接下來,本機API206發(fā)出314指令系統(tǒng)解釋器212B更新被請求的應用202的第二命令。系統(tǒng)解釋器212B使用類似的過程來更新所請求的應用202。首先,系統(tǒng)解釋器212B利用用于更新所請求的應用202的指令來加載引導應用200。引導應用202中的高級代碼使得系統(tǒng)解釋器212B檢查316應用服務器102上的所請求的應用202的更新版本。再次,如果在應用服務器102上沒有更新可用,則系統(tǒng)解釋器212B跳過更新過程320并且關閉322引導應用,而不修改所請求的應用202。如果有可用的更新,那么系統(tǒng)解釋器212B接收318并且應用320該更新。除了新的或不同的高級代碼,對于所請求的應用202的更新還可以包括附加數(shù)據(jù)對象,諸如電影、音頻片段、圖像或明文。
[0047]當更新所請求的應用202時,系統(tǒng)解釋器212B可以接收318對用戶的個人信息定制的更新(例如,用戶的地理位置、人口統(tǒng)計信息、設備配置等)。應用服務器102可以在更新請求316時從客戶端設備100上的各種傳感器122 (例如,GPS接收器)獲取用戶的個人信息。替代地,用戶可能已經自發(fā)地預先向應用服務器102提供了該信息(例如,當使用應用服務器的社交聯(lián)網(wǎng)功能時)。在應用該更新之后,系統(tǒng)解釋器212A關閉322引導應用200,并且使用第二返回聲明來返回到本機API206。最后,本機API206發(fā)出326指令低權限的應用解釋器212A加載并且執(zhí)行328所請求的應用的第三命令。
[0048]該配置出于若干原因是有利的。通過在啟動應用202之前自動地更新引導應用200和所請求的應用202,在不需要用戶手動請求更新的情況下,引導應用200和所請求的應用202都保持是最新的。此外,基于用戶的個人信息來定制應用更新的能力還允許應用開發(fā)人員提供更豐富和更個性化的用戶體驗。
[0049]將命令編碼為字符串
[0050]圖4圖示了根據(jù)一個實施例的從高級語言的命令400到編碼的字符串410的映射的示例。解釋器212將高級命令400編碼為字符串410,并且將該字符串發(fā)送到本機API206,在本機API206處字符串410被解碼并且作為本機命令來執(zhí)行。通過該編碼方法定義的通信協(xié)議允許高級語言執(zhí)行通常針對本機代碼所保留的命令。
[0051]高級語言的命令400可以包括,例如,類402、方法404和四個輸入?yún)?shù)406。編碼的字符串410可以包括例如與類402相對應的數(shù)字類標識符412、與方法404相對應的數(shù)字方法標識符414以及輸入?yún)?shù)406的值416。解釋器212和本機API206針對每個方法來預先確定輸入?yún)?shù)406的次序,使得當本機API206對字符串410進行解碼時表示參數(shù)406的值的字符串410中的數(shù)字146可以被映射成正確的參數(shù)。在替代實施例中,命令400和編碼的字符串410可以包括附加的、更少或不同的組成部分。例如,命令400可以包括附加的參數(shù)406,這可以使得編碼的字符串包括附加的參數(shù)值416。
[0052]除了表示高級命令的類、方法和參數(shù)的數(shù)字之外,編碼的字符串410還包含兩種類型的控制字符。第一類型的控制字符(冒號)418指示命令的開始,并且第二類型的控制字符(逗號)420分離字符串410中的不同條目。雖然如圖4中所示在整個字符串410中添加了空格來促進可讀性,但是空格不具有功能并且可以被省略。編碼的字符串410還包含指示類內的對象的特定實例的實例標識符422。當在高級對象注冊表208中注冊了對象時,高級API204對該對象的實例指派實例標識符422,并且解釋器212在編碼命令400時從高級對象注冊表208中檢索實例標識符422。在圖4中示出的實施例中,實例標識符422位于數(shù)字方法標識符414和參數(shù)的值416之間。
[0053]類402和方法404與其相應的數(shù)字標識符412、414之間的映射被配置為使得可以使用編碼的字符串410來將原始命令400重新創(chuàng)建為本機命令。在一個實施例中,預先確定從文本標識符402、404到數(shù)字標識符412、414的映射,但是在解釋器212和本機API206之間可以隨機地生成和再現(xiàn)該映射。此外,在方法404和數(shù)字方法標識符414之間的映射可能不是一對一映射。具有類似功能的方法404可以被映射成相同的數(shù)字方法標識符414。例如,用于旋轉、平移和縮放屏幕上的子畫面(sprite)的方法404可以被映射成與用于變換屏幕上的子畫面的本機API中的一般化的方法相對應的數(shù)字標識符414。在替代實施例中,類402和方法404可以被映射成單個復合數(shù)字標識符,而不是兩個分離的數(shù)字標識符402、404。再次,映射不需要是一對一映射。只要本機API206能夠將高級命令400再現(xiàn)為本機命令,就可以對映射過程進行任何其他改變。
[0054]圖5是圖示根據(jù)一個實施例的用于將以高級語言編寫的命令轉譯成本機命令并且執(zhí)行該本機命令的流程圖。當解釋器212從高級API204接收到500高級命令的隊列時,該過程開始。參考圖6來詳細描述將高級命令聚集在隊列中的過程。解釋器212根據(jù)參考圖4描述的過程來將高級命令編碼505為字符串。解釋器212以與對應的高級命令在隊列中的次序相同的次序來布置編碼的字符串,使得這些命令可以以其被排隊的相同次序來被執(zhí)行。
[0055]在接收到500高級命令的隊列并且將這些命令編碼505為字符串之后,解釋器212向本機API206發(fā)送510該編碼的命令。本機API206通過使在編碼過程505期間執(zhí)行的映射過程逆轉來將該字符串解碼515為本機命令。最后,本機API206使用在本機API206和本機對象注冊表210中的匹配類和對象來執(zhí)行520解碼的本機命令。
[0056]在高級腳本語言和本機代碼之間的交互
[0057]現(xiàn)在參考圖6和圖7,圖示了高級應用可以如何使用圖4中示出的通信協(xié)議來與客戶端設備100上的并且在應用客戶端模塊116內的資源進行交互的兩個示例。圖6是圖示根據(jù)一個實施例的用于處理在單個處理幀中的命令序列的交互示圖。在高級,應用202在固定時間間隔期間發(fā)出一個或多個命令,并且高級API204將命令添加到隊列。固定時間間隔被稱為處理幀。在處理幀的結束處,使用參考圖4描述的通信協(xié)議來編碼隊列中的命令并將其傳送到本機API206并且解碼為本機命令。排隊機制保持原始高級命令在編碼和解碼的整個過程中的次序,因此可以以應用202發(fā)出對應的高級命令的次序相同的次序來執(zhí)行本機命令。
[0058]當本機API206請求600用于下一處理幀的命令時,該過程開始。該請求被編碼為字符串并且被發(fā)送到解釋器212,該解釋器212對該請求進行解碼并且將其傳遞602到高級API204。高級API204在應用202中分析該高級代碼并且檢索要被編碼的第一命令604。檢索到的命令可以執(zhí)行通常針對本機代碼保留的任何功能,諸如顯示或修改屏幕上的子畫面、回放音頻片段、讀取或寫入存儲器108中的文件或者監(jiān)視來自物理傳感器112的輸入。在檢索604到第一命令之后,高級API將第一命令添加606到隊列。
[0059]在檢索604和排隊606第一命令之后,高級API204執(zhí)行相同的過程以對其他命令進行檢索608和排隊610。雖然僅針對總共兩個命令示出了檢索和排隊過程,但是高級API204可以在處理幀的持續(xù)時間中繼續(xù)將其他高級命令添加到隊列中。根據(jù)參考圖4描述的通信協(xié)議,在處理幀的結束處,高級API204向解釋器212發(fā)送612高級命令的隊列,并且解釋器212將每個排隊的命令編碼614為字符串。
[0060]解釋器212向本機API206發(fā)送616編碼的字符串隊列,本機API206將該字符串解碼為本機命令,并且執(zhí)行620、622該本機命令。因為在對命令排隊606、610、編碼614、傳送616和解碼618的同時保持了原始高級命令的次序,所以以與高級命令被排隊的相同的次序來執(zhí)行620、622本機命令。因為以不正確的次序執(zhí)行命令可能產生不正確的結果,所以保留命令的次序是重要的。例如,如果平移和旋轉步驟以相反的次序執(zhí)行,則用于將圖像放置于屏幕上、平移該圖像并且關于原點旋轉該圖像的命令序列可能產生不同的結果。
[0061]因為跨高級和本機代碼之間的處理邊界的過程(例如,編碼614、發(fā)送616和解碼618命令的過程)可能是相對地資源密集的,所以排隊機制降低了處理開銷,并且提高了應用202的性能。如果客戶端設備100是具有有限處理能力和電池壽命的移動設備,則這特別重要。通過一次處理整個處理幀的命令,應用客戶端模塊每處理幀跨越處理邊界一次而不是每命令跨越處理邊界一次。
[0062]圖7是圖示根據(jù)一個實施例的用于將新的對象注冊在應用客戶端模塊116所保持的兩個不同的對象注冊表208、210上的過程的交互示圖。用于注冊對象的過程以與參考圖6描述的過程相同的方式開始。首先,本機API206請求700用于下一處理幀的命令。本機API206將該請求編碼為字符串并且將該請求發(fā)送到解釋器212,該解釋器212對該請求進行解碼,并且將其傳遞702到高級API204。高級API204分析應用202中的該高級代碼,并且檢索704要被編碼的下一命令。如果高級API檢索704到用于注冊新的對象的命令,那么高級API204在將命令添加到隊列708之前將該對象注冊706在高級對象注冊表208中。
[0063]在一個實施例中,高級API204在將新的對象注冊706在高級注冊表208中時對該新的對象指派實例標識符。注冊命令還可以包含用于標識被注冊的對象的類型的類標識符。類標識符和實例標識符一起允許高級API204唯一地標識對象,并且兩個標識符被保存在對象注冊表中。在替代實施例中,類標識符和實例標識符可以合并成可以用于唯一地標識該對象的單個復合標識符。
[0064]在處理幀的結束處,高級API204向解釋器212發(fā)送710排隊的命令,并且使用參考圖5和圖6描述的過程來編碼712、發(fā)送714和解碼716隊列中的命令。如圖4中所示,實例和類標識符作為字符串的一部分被編碼和發(fā)送。雖然在圖7中僅示出了一個注冊命令,但是高級API204可以在檢索704和排隊708所示的對象注冊命令之前或之后,在處理幀期間檢索其他命令并且將其添加到隊列中。在用于處理幀的命令被解碼716成本機命令之后,本機API206執(zhí)行對象注冊命令并且將該對象注冊718在本機對象注冊表210中。使用相同的數(shù)字實例標識符來將該對象注冊718在本機對象注冊表210中。該過程允許應用客戶端模塊116保持對象注冊表的兩個鏡像副本208、210,使得可以由本機代碼來執(zhí)行引用一個或多個對象的命令。
[0065]所公開的配置有益地允許開發(fā)人員編寫對于用戶來說可與在客戶端設備100上本機運行的應用區(qū)分的高級軟件應用202。簡化的設備API214和在應用客戶端模塊116中實現(xiàn)的通信協(xié)議的組合允許高級應用202訪問通常針對本機應用保留的系統(tǒng)資源,諸如圖形功能、用戶接口功能、聯(lián)網(wǎng)設備110和物理傳感器112。結果,開發(fā)人員能夠編寫執(zhí)行與本機應用相同的功能的高級應用202。此外,所公開的配置允許高級應用202在不經歷客戶端設備100的操作系統(tǒng)可能對本機應用的更新設置的任何限制的情況下被更新。這允許應用客戶端模塊116自動地應用適應用戶的地理位置、人口統(tǒng)計信息、客戶端設備配置或其他個人具體信息的更新,這導致了提高高級應用202的值的更定制化的用戶體驗。
[0066]其他配置考慮
[0067]在本說明書中,多個實例可以實現(xiàn)被描述為單個實例的組件、操作或結構。雖然一個或多個方法的獨立操作被圖示和描述為單獨的操作(例如,在圖5中),但是一個或多個獨立操作可能同時執(zhí)行,并且不需要以圖示的次序執(zhí)行操作。示例性配置中被表示為單獨組件的結構和功能可以被實現(xiàn)為組合的結構或組件。類似地,表示為單個組件的結構和功能可以被實現(xiàn)為單獨組件。這些和其他變體、修改、添加和改善落在本主題的范圍內。
[0068]特定實施例在這里被描述為包括邏輯或很多組件、模塊或機制(例如,在圖1、圖
2、圖3、圖6和圖7中)。模塊可以構成軟件模塊(例如,在機器可讀介質上實現(xiàn)或者在發(fā)送信號中實現(xiàn)的代碼)或硬件模塊。硬件模塊是能夠執(zhí)行特定操作的有形單元,并且可以以特定的方式進行配置或布置。在示例性實施例中,一個或多個計算機系統(tǒng)(例如,單機、客戶端或服務器計算機系統(tǒng))或者計算機系統(tǒng)的一個或多個硬件模塊(例如,處理器或處理器組)可以通過軟件(例如,應用或應用部分)被配置為進行操作以執(zhí)行如這里描述的特定操作的硬件模塊。
[0069]在各種實施例中,硬件模塊可以被機械地或電子地實現(xiàn)。例如,硬件模塊可以包括專用電路或永久配置的邏輯(例如,作為專用處理器,諸如現(xiàn)場可編程門陣列(FPGA)或專用集成電路(ASIC))以執(zhí)行特定操作。硬件模塊還可以包括可編程邏輯或電路(例如,包括在通用處理器或其它可編程處理器內),其由軟件臨時配置為執(zhí)行特定操作。應當認識到,用于機械地、以專用和永久配置的電路或者以臨時配置的電路(例如,由軟件配置的)實現(xiàn)硬件模塊的決定可以由成本和時間考慮來驅動。
[0070]這里描述的示例性方法的各種操作可以至少部分地由臨時配置(例如,通過軟件)或永久配置成執(zhí)行相關操作的一個或多個處理器來執(zhí)行。不論臨時還是永久配置,這樣的處理器可以構成進行操作以執(zhí)行一個或多個操作或功能的處理器實現(xiàn)的模塊。這里涉及的模塊可以在一些示例實施例中包括處理器實現(xiàn)的模塊。
[0071]一個或多個處理器還可以進行操作以支持在“云計算”環(huán)境中或作為“軟件即服務”(SaaS)的相關操作的性能。例如,至少一些操作可以由計算機組(作為包括處理器的機器的示例)來執(zhí)行,這些操作可經由網(wǎng)絡(例如,因特網(wǎng))并且經由一個或多個適當?shù)慕涌?例如,應用程序接口(API))來訪問。
[0072]特定操作的執(zhí)行可以分布在一個或多個處理器中,而不僅駐留在單個機器內,而是跨多個機器來部署。在一些示例性實施例中,一個或多個處理器或處理器實現(xiàn)的模塊可以位于單個地理位置中(例如,在家庭環(huán)境、辦公室環(huán)境或服務器群內)。在其他示例性實施例中,一個或多個處理器或處理器實現(xiàn)的模塊可以跨多個地理位置來分布。
[0073]本說明書的一些部分在對機器存儲器(例如,計算機存儲器)內存儲為比特或二進制數(shù)字信號的數(shù)據(jù)的操作的符號表示或算法方面而提出。這些算法或符號表示是由數(shù)據(jù)處理領域的普通技術人員使用以對本領域技術人員傳達其工作實質的技術的示例。如這里使用的“算法”是產生期望結果的類似處理或操作的自洽序列。在該上下文中,算法和操作涉及對物理量的物理操縱。通常但不是必須的,這樣的量可以采取能夠由機器存儲、訪問、傳送、組合、比較或以其他方式操縱的電、磁或光信號的形式。有時并且主要是出于一般使用的原因,方便地使用諸如“數(shù)據(jù)”、“內容”、“比特”、“值”、“元素”、“符號”、“字符”、“項”、“編號”、“數(shù)字”等的詞語來指代這樣的信號。然而,這些詞語僅是方便的標簽并且要與適當?shù)奈锢砹肯嚓P聯(lián)。
[0074]除非特別地另外聲明,使用諸如“處理”、“計算”、“運算”、“確定”、“呈現(xiàn)”、“顯示”等的詞語的這里的討論可以指機器(例如,計算機)的動作或過程,該機器可以對表示為在一個或多個存儲器(例如,易失性存儲器、非易失性存儲器或其組合)、寄存器或接收、存儲、傳送或顯示信息的其他機器組件內的物理(例如,電、磁或光)量的數(shù)據(jù)進行操縱和轉換。
[0075]如這里使用的對“一個實施例”或“實施例”的任何引用指結合實施例描述的具體元素、特征、結構或特征被包括在至少一個實施例中。短語“在一個實施例中”在本說明書中的不同位置中的的出現(xiàn)不一定全部涉及同一實施例。
[0076]一些實施例可以使用表達“耦合”和“連接”及其派生詞來進行描述。例如,一些實施例可以使用術語“耦合”來描述以指示兩個或更多個元件處于直接物理或電接觸。然而,術語“耦合”還可以指兩個或更多個元件彼此不直接接觸,但是仍然彼此協(xié)作或交互。實施例并不限于該上下文。
[0077]如這里使用的術語“包括”、“包含”、“具有”或其任何其他變體意在涵蓋非排他性包括。例如,包括一系列元素的過程、方法、物品或裝置不必僅限于那些元素,而是可以包括沒有明確列出或者對這樣的過程、方法、物品或裝置所固有的其它元素。另外,除非另外明確地相反說明,“或”指兼或而非互斥或。例如,條件A或B通過下面中的任何一個來滿足:A為真(或存在)并且B為假(或不存在),A為假(或不存在)并且B為真(或存在),以及A和B都為真(或存在)。
[0078]另外,“一”的使用用于描述本實施例的元件和組件。這樣僅僅是為了方便并且給出本發(fā)明的一般含義。該描述應當被解讀為包括一個或至少一個,并且單數(shù)也包括復數(shù),除非以其他方式明顯指出。
[0079]在閱讀本公開時,本【技術領域】的技術人員將通過這里公開的原理理解用于在高級和本機代碼之間通信的系統(tǒng)和過程的其他替代結構和功能設計。因此,盡管已經說明和描述了具體實施例和應用,但是應當理解,所公開的實施例不限于這里公開的確切構成和組件。可以在不脫離所附權利要求所定義的精神和范圍的情況下在這里公開的方法和裝置的布置、操作和細節(jié)中作出對于本領域技術人員顯而易見的各種修改、改變和變化。
【權利要求】
1.一種用于在兩種編程語言之間通信的方法,包括: 接收第一編程語言的一個或多個命令,每個命令包括多個組成部分; 將接收到的命令中的每一個命令編碼為字符串,所述字符串包括: 第一類型的控制字符,所述第一類型的控制字符標記所述命令的開始, 表示所述命令的所述多個組成部分的多個數(shù)字,以及 第二類型的控制字符,所述第二類型的控制字符使所述多個數(shù)字中的各個數(shù)字分離;將編碼的字符串解碼為第二編程語言的至少一個命令,所述第二編程語言的每個命令與接收到的所述第一編程語言的命令中的一個命令相對應,并且執(zhí)行與對應的接收到的所述第一編程語言的命令相似的任務;以及 執(zhí)行所述第二編程語言的所述至少一個命令。
2.根據(jù)權利要求1所述的方法,其中接收所述第一編程語言的一個或多個命令包括:接收包含所述一個或多個命令的隊列,所述命令在所述隊列中的次序指示所述命令將要被執(zhí)行的次序。
3.根據(jù)權利要求2所述的方法,其中執(zhí)行所述第二編程語言的至少一個命令包括:以與對應的所述第一編程語言的命令在所述隊列中被布置的次序相同的次序來執(zhí)行所述至少一個命令。
4.根據(jù)權利要求1所述的方法,其中接收到的所述第一編程語言的命令中的每一個命令包括: 類標識符,所述類標識符標識對象的類型; 方法標識符,所述方法標識符標識在所標識的類內的成員功能;以及 將在所標識的方法中使用的一個或多個輸入?yún)?shù)。
5.根據(jù)權利要求4所述的方法,其中表示所述命令的所述組成部分的所述多個數(shù)字包括: 標識所述類標識符的第一數(shù)字; 標識所述方法標識符的第二數(shù)字; 標識在所標識的類內的對象的實例的第三數(shù)字;以及 與所述一個或多個輸入?yún)?shù)的值相對應的一個或多個附加數(shù)字。
6.根據(jù)權利要求4所述的方法,其中表示所述命令的所述組成部分的所述多個數(shù)字包括: 標識所述類標識符和所述方法標識符的第一數(shù)字; 標識在所標識的類內的對象的實例的第二數(shù)字;以及 與所述一個或多個輸入?yún)?shù)的值相對應的一個或多個附加數(shù)字。
7.一種用于在高級編程語言和在計算系統(tǒng)上本機運行的二進制代碼之間通信的計算系統(tǒng),包括: 處理器;以及 解釋器模塊,所述解釋器模塊被配置成: 接收高級編程語言的一個或多個命令,每個命令包括多個組成部分,以及將接收到的命令中的每一個命令編碼為字符串,所述字符串包括:標記所述命令的開始的第一類型的控制字符,表示所述命令的所述多個組成部分的多個數(shù)字,以及使所述多個數(shù)字中的各個數(shù)字分離的第二類型的控制字符;以及 本機模塊,所述本機模塊被配置成: 從所述解釋器模塊接收一個或多個字符串, 將所述一個或多個字符串解碼為由所述二進制代碼可執(zhí)行的至少一個命令,每個可執(zhí)行的命令與接收到的所述高級編程語言的命令中的一個命令相對應,并且執(zhí)行與對應的所述高級編程語言的命令相似的任務;以及執(zhí)行所述至少一個可執(zhí)行的命令。
8.根據(jù)權利要求7所述的系統(tǒng),其中接收所述高級編程語言的一個或多個命令包括:接收包含所述一個或多個命令的隊列,所述命令在所述隊列中的次序指示所述命令將被執(zhí)行的次序。
9.根據(jù)權利要求8所述的系統(tǒng),其中所述本機模塊進一步被配置為以與所述對應的所述高級編程語言的命令在所述隊列中被布置的次序相同的次序來執(zhí)行所述至少一個命令。
10.根據(jù)權利要求7所述的系統(tǒng),其中接收到的所述高級編程語言的命令中的每一個命令包括: 類標識符,所述類標識符標識對象的類型; 方法標識符,所述方法標識符標識在所標識的類內的成員功能;以及 將在所標識的方法中使用的一個或多個輸入?yún)?shù)。
11.根據(jù)權利要求10所述的系統(tǒng),其中表示所述命令的所述組成部分的所述多個數(shù)字包括: 標識所述類標識符的第一數(shù)字; 標識所述方法標識符的第二數(shù)字; 標識在所標識的類內的對象的實例的第三數(shù)字;以及 與所述一個或多個輸入?yún)?shù)的值相對應的一個或多個附加數(shù)字。
12.根據(jù)權利要求10所述的系統(tǒng),其中表示所述命令的所述組成部分的所述多個數(shù)字包括: 標識所述類標識符和所述方法標識符的第一數(shù)字; 標識在所標識的類內的對象的實例的第二數(shù)字;以及 與所述一個或多個輸入?yún)?shù)的值相對應的一個或多個附加數(shù)字。
13.根據(jù)權利要求7所述的系統(tǒng),進一步包括一個或多個高級應用,所述一個或多個高級應用包含以所述高級編程語言編寫的多個命令(高級命令)。
14.根據(jù)權利要求13所述的系統(tǒng),其中所述高級應用中的一個高級應用是包含高級命令的引導應用,所述高級命令被配置成,當由所述解釋器模塊編碼并且由所述本機模塊解碼和執(zhí)行時,使得所述處理器: 從遠程應用服務器接收一個或多個附加高級命令;以及 通過執(zhí)行以下各項中的至少一項來修改所述高級應用中的一個高級應用: 用所述附加高級命令中的至少一個高級命令來替換所述高級應用中的所述多個高級命令中的至少一個高級命令;以及 將所述附加高級命令中的至少一個高級命令插入到所述高級應用中的所述多個高級命令中?!?br> 15.一種被配置成存儲指令的非瞬態(tài)計算機可讀存儲介質,所述指令在由處理器執(zhí)行時使得所述處理器: 接收第一編程語言的一個或多個命令; 將接收到的命令中的每一個命令編碼為字符串,所述字符串包括: 第一類型的控制字符,所述第一類型的控制字符標記所述命令的開始, 表示所述命令的組成部分的多個數(shù)字,以及 第二類型的控制字符,所述第二類型的控制字符使所述多個數(shù)字中的各個數(shù)字分離;將編碼的字符串解碼為第二編程語言的至少一個命令,每個所述第二編程語言的命令與接收到的所述第一編程語言的命令中的一個命令相對應,并且執(zhí)行與對應的所述第一編程語言的命令相似的任務;以及 執(zhí)行所述第二編程語言的所述至少一個命令。
16.根據(jù)權利要求15所述的計算機可讀介質,其中接收所述第一編程語言的一個或多個命令包括:接收包含所述一個或多個命令的隊列,所述命令在所述隊列中的次序指示所述命令將被執(zhí)行的次序。
17.根據(jù)權利要求16所述的計算機可讀介質,其中執(zhí)行所述第二編程語言的所述至少一個命令包括:以與對應的所述第一編程語言的命令在所述隊列中被布置的次序相同的次序來執(zhí)行所述至少一個命令。
18.根據(jù)權利要求15所述的計算機可讀介質,其中接收到的所述第一編程語言的命令中的每一個命令包括: 類標識符,所述類標識符標識對象的類型; 方法標識符,所述方法標識符標識在所標識的類內的成員功能;以及 將在所標識的方法中使用的一個或多個輸入?yún)?shù)。
19.根據(jù)權利要求18所述的計算機可讀介質,其中表示所述命令的所述組成部分的所述多個數(shù)字包括: 標識所述類標識符的第一數(shù)字; 標識所述方法標識符的第二數(shù)字; 標識在所標識的類內的對象的實例的第三數(shù)字;以及 與所述一個或多個輸入?yún)?shù)的值相對應的一個或多個附加數(shù)字。
20.根據(jù)權利要求18所述的計算機可讀介質,其中表示所述命令的所述組成部分的所述多個數(shù)字包括: 標識所述類標識符和所述方法標識符的第一數(shù)字; 標識在所標識的類內的對象的實例的第二數(shù)字;以及 與所述一個或多個輸入?yún)?shù)的值相對應的一個或多個附加數(shù)字。
【文檔編號】G06F9/45GK103597447SQ201180065620
【公開日】2014年2月19日 申請日期:2011年12月14日 優(yōu)先權日:2010年12月14日
【發(fā)明者】S·C·德特威勒, J·E·瑪爾, P·R·懷特 申請人:恩格莫科有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
通辽市| 皮山县| 天门市| 合川市| 墨江| 马山县| 望谟县| 德清县| 安义县| 荆门市| 祁阳县| 麟游县| 青川县| 邵阳县| 肇州县| 浏阳市| 修文县| 遂昌县| 甘南县| 溧水县| 肇源县| 澎湖县| 西藏| 彰武县| 天峨县| 汽车| 宿迁市| 定边县| 凤城市| 横山县| 东城区| 互助| 宁波市| 苏尼特左旗| 太湖县| 淮滨县| 孟村| 闽清县| 镇安县| 长春市| 镇原县|