• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當(dāng)前位置: 首頁 > 專利查詢>微軟公司專利>正文

    具有腳本代碼的標(biāo)記內(nèi)容的快速呈現(xiàn)制造技術(shù)

    技術(shù)編號:8271253 閱讀:158 留言:0更新日期:2013-01-31 03:25
    本發(fā)明專利技術(shù)涉及具有腳本代碼的標(biāo)記內(nèi)容的快速呈現(xiàn)。提供動態(tài)代碼生成和協(xié)調(diào)技術(shù),用于顯示包括腳本代碼的動態(tài)標(biāo)記文檔。一種代碼生成過程不僅被代碼生成階段和子階段的推遲來引導(dǎo),而且通過解釋或?qū)?zhí)行的觀察來被關(guān)于該代碼本身的所擁有的各個信息等級所通知,以便不僅生成經(jīng)修改的代碼,而且還為替代情形生成替代代碼(例如,生成不同的循環(huán)體,此后可取決于瀏覽器應(yīng)用所調(diào)用的給定函數(shù)來容易地?fù)Q入或換出所述不同的循環(huán)體)。通過為用戶體驗來非對稱地確保區(qū)分網(wǎng)站呈現(xiàn)和功能的優(yōu)先級,多核架構(gòu)進(jìn)一步改進(jìn)了用戶體驗。

    【技術(shù)實現(xiàn)步驟摘要】
    本專利技術(shù)涉及通過用于減少與基于腳本代碼動態(tài)生成可執(zhí)行代碼相關(guān)聯(lián)的代碼準(zhǔn)備的各階段(Stage)的傳統(tǒng)延遲的各種技術(shù),快速呈現(xiàn)具有腳本代碼的標(biāo)記內(nèi)容。
    技術(shù)介紹
    隨著web瀏覽體驗從用最小的交互性平面地呈現(xiàn)信息向在客戶端側(cè)具有大量交互性的更豐富的應(yīng)用(application)或小程序(applet)體驗(或一般地信息顯示畫面和與顯示畫面上的對象的更豐富的交互性的混合)不斷地發(fā)展,基于原本主要為基于客戶端上的本機(jī)代碼的平面信息呈現(xiàn)的舊文檔對象模型(DOM)向流動地處理腳本代碼(諸如JavaScript對象)的體驗的發(fā)展存在各種挑戰(zhàn)。例如,加速用戶體驗仍然是一項挑戰(zhàn)。 例如,使用過去的飛出菜單,web體驗基于與服務(wù)器的通信對延遲進(jìn)行閃爍。腳本使得小的程序能夠在進(jìn)行中(on the fly)修改DOM而無需返回到服務(wù)器來獲得額外的幫助,例如異步JavaScript和可擴(kuò)展標(biāo)記語言(Ajax)。由于開發(fā)者和消費(fèi)者可能想要在不返回到服務(wù)器的情況下在進(jìn)行中做更多事情,使腳本代碼在客戶端側(cè)上快速執(zhí)行已成為挑戰(zhàn)。因為用戶體驗集中于使DOM腳本化(scripting),所以緩慢地改變DOM帶來不好的交互響應(yīng)。在過去,由于對包括使任何對象可腳本化的一組接口(iDispatch、iActiveScript等)的OLE自動化的使用,腳本引擎和DOM的本機(jī)類之間的通信是不良的。此外,如今各種組件對象模型(COM)對象可被無區(qū)別地創(chuàng)建,但這可能是不必要的,減慢了性能。通過避免與服務(wù)器的一次或多次往返通信,客戶端側(cè)腳本化能夠使網(wǎng)頁對一旦在客戶端瀏覽器上做出的用戶輸入更具響應(yīng)性,客戶端側(cè)腳本化一般是指web上在客戶端側(cè)通過用戶的web瀏覽器執(zhí)行而不是在服務(wù)器側(cè)(在web服務(wù)器上)執(zhí)行的那類計算機(jī)程序。作為示例,客戶端側(cè)腳本化是動態(tài)超文本標(biāo)記語言(動態(tài)HTML或DHTML)的一部分,使得網(wǎng)頁能夠被按照腳本化語言(諸如JavaScript (客戶端側(cè)JavaScript)和VBScript)腳本化,以取決于用戶輸入、環(huán)境條件(諸如在一天中的時間)或其他變量而具有不同且不斷變化的內(nèi)容。嵌入標(biāo)記文檔內(nèi)的客戶端側(cè)腳本有時被稱為“嵌入式腳本”,而包含在分開的文件(這些文件被使用該文件的文檔所引用)中的腳本有時被稱為“外部腳本”。響應(yīng)于請求,這些腳本文件被這些文件所在的網(wǎng)絡(luò)計算設(shè)備(諸如web服務(wù)器)發(fā)送到用戶的計算機(jī)。關(guān)于此,為了執(zhí)行腳本并顯示包括來自腳本的任何可見輸出的標(biāo)記文檔,web瀏覽器與腳本引擎一起工作以解析并編譯腳本代碼。客戶端側(cè)腳本還可包含瀏覽器響應(yīng)于某些用戶動作(例如,點擊按鈕)要遵循的指令。通常,這些指令可被遵循而無需與服務(wù)器進(jìn)一步通信。作為一個趨勢,web瀏覽器和網(wǎng)頁趨向于采用越來越多的客戶端側(cè)腳本化,這對其中用戶沒有體驗到不友善的網(wǎng)頁“刷新”的改進(jìn)的用戶界面具有貢獻(xiàn),但是反而看見,例如,表示動畫圖形交換格式(GIF)文件的圖標(biāo)以及網(wǎng)頁的該部分將在很短時間內(nèi)被更新,其中該圖標(biāo)表示發(fā)生對GIF文件的請求。除了 JavaScript能力之外,Ajax還允許客戶端機(jī)器和腳本化的文檔的開發(fā)者在后臺與網(wǎng)絡(luò)計算設(shè)備(諸如web服務(wù)器)通信而不需要請求并呈現(xiàn)新的網(wǎng)頁版本。盡管一般會帶來用戶體驗的改進(jìn),但是這導(dǎo)致了在設(shè)置時間在客戶端側(cè)上花太久的其他等待時間。例如,在大量腳本化在網(wǎng)站中被采用的情況下(前100個web特性通常是這樣),或者在網(wǎng)絡(luò)數(shù)據(jù)傳輸速率很慢的情況下,或在客戶端上的處理另外地受限的情況下,腳本引擎可能花太久來交付所有的可執(zhí)行代碼以用于標(biāo)記文檔的內(nèi)容的呈現(xiàn),導(dǎo)致不佳的用戶體驗。關(guān)于此,傳統(tǒng)web瀏覽已按照導(dǎo)致腳本引擎低效地創(chuàng)建可執(zhí)行代碼的方式發(fā)展,因為腳本引擎關(guān)于腳本代碼創(chuàng)建沒有區(qū)分,導(dǎo)致在腳本引擎完成其工作以呈現(xiàn)腳本化的標(biāo)記文檔時的不想要的等待時間。這種不想要的等待時間可能明顯拖用戶體驗的后腿,特別是在用戶可能不需要或想要在開始交互之前等待所有網(wǎng)站功能加載的情況下。如今的腳本引擎和代碼生成的上述缺點僅僅旨在提供對常規(guī)系統(tǒng)的一些問題的總覽,并且不旨在是窮盡性的。在仔細(xì)閱讀了以下詳細(xì)描述后,現(xiàn)有技術(shù)的其他問題和各非限制性性實施例的對應(yīng)好處可變得顯而易見。
    技術(shù)實現(xiàn)思路
    此處提供了簡化的
    技術(shù)實現(xiàn)思路
    以幫助能夠?qū)σ韵赂敿?xì)的描述和附圖中的示例性、非限制性實施例的各方面有基本或大體的理解。然而,本
    技術(shù)實現(xiàn)思路
    并不旨在是詳盡的或窮盡的。相反,本專利技術(shù)的唯一目的在于,以簡化的形式提出與一些示例性、非限制性實施例相關(guān)的一些概念,作為以下各實施例的更詳細(xì)的描述的序言。在一示例實施例中,一種方法包括通過計算設(shè)備的腳本引擎接收腳本代碼,其中所述計算設(shè)備的瀏覽器應(yīng)用所接收的標(biāo)記文檔包括或引用所述腳本代碼,以及確定要應(yīng)用到由所述腳本引擎應(yīng)用到所述腳本代碼的多方面代碼準(zhǔn)備過程的至少一個方面(phase)的努力等級。該努力等級可通過以下來確定基于由該瀏覽器應(yīng)用對該腳本代碼的一部分的調(diào)用的預(yù)測或分析,或基于在由該瀏覽器應(yīng)用對該腳本代碼的該部分的歷史使用中觀察到的模式。在另一示例實施例中,計算設(shè)備包括瀏覽器應(yīng)用和腳本引擎組件,瀏覽器應(yīng)用被配置成顯示包括或引用腳本代碼的標(biāo)記文檔,腳本引擎組件被配置成接收該腳本代碼、分析該腳本代碼的一部分或該腳本代碼的執(zhí)行期間該部分的使用來確定一組條件,在該組條件下該部分的性能通過執(zhí)行經(jīng)修改的部分而增加,其中,響應(yīng)于該組條件被滿足,該經(jīng)修改的部分而不是該部分由該瀏覽器應(yīng)用執(zhí)行。在另一示例實施例中,一種計算機(jī)可讀存儲介質(zhì)包括計算機(jī)可讀指令,該計算機(jī)可讀指令響應(yīng)于執(zhí)行致使包括至少兩個處理核的計算設(shè)備執(zhí)行操作,所述操作包括通過所述至少兩個處理核中的第一處理核處理包括或引用腳本代碼的標(biāo)記文檔,包括由該第一處理核生成可執(zhí)行代碼,該可執(zhí)行代碼使能由該標(biāo)記文檔的該腳本代碼所表示的功能。該操作還包括基于該腳本代碼的性質(zhì),通過該至少兩個處理核中的第二處理核選擇性地生成不同于該可執(zhí)行代碼的替代可執(zhí)行代碼,并用該替代可執(zhí)行代碼取代該可執(zhí)行代碼以用于該第一處理核對該腳本代碼的進(jìn)一步執(zhí)行。生成該替代可執(zhí)行代碼可包括基于以下來選擇性地生成該替代可執(zhí)行代碼該腳本代碼的至少一個循環(huán)的大小與該腳本代碼的總大小的比值的函數(shù)、該腳本代碼的計算強(qiáng)度的測量、或?qū)谠撃_本代碼構(gòu)造的調(diào)用樹的分析。以下更詳細(xì)地描述其他實施例和各非限制性性示例、場景和實現(xiàn)。附圖描述參考附圖進(jìn)一步描述各非限制性實施例,在附圖中圖I示出流程圖,該流程圖 示出用于確定應(yīng)用到多方面代碼準(zhǔn)備過程的一個或多個階段的努力等級的示例方法。圖2示出根據(jù)各實施例在代碼準(zhǔn)備期間代碼可能經(jīng)歷的各個示例階段。圖3是根據(jù)各實施例可能存在的不同努力等級可被應(yīng)用到的給定方面的多個子等級的框圖;圖4是示出在一實施例中基于不同執(zhí)行條件生成代碼的替代循環(huán)體的框圖;圖5示出在一實施例中基于動態(tài)鍵入在動態(tài)代碼生成和執(zhí)行期間的代碼交換(code swapping)的另一非限制性示例;圖6是在一實施例中在瀏覽器應(yīng)用和腳本引擎之間的示例交換的流程圖;圖7是示出在一個實施例中在運(yùn)行解釋代碼的線程和生成優(yōu)化代碼和相應(yīng)數(shù)據(jù)結(jié)構(gòu)集合的線程之間的平衡的框圖;圖8是示出根據(jù)一實施例的為代碼優(yōu)化而重新區(qū)分工作項的優(yōu)先級的框圖;圖9是示出在一實施例中用于生成用于取代本文檔來自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點】
    一種方法,包括:通過計算設(shè)備的腳本引擎接收(100)腳本代碼,由所述計算設(shè)備的瀏覽器應(yīng)用所接收的標(biāo)記文檔包括或引用所述腳本代碼;以及確定(110)要應(yīng)用到由所述腳本引擎應(yīng)用到所述腳本代碼的多方面代碼準(zhǔn)備過程中的至少一個方面的努力等級,其中所述確定包括基于以下來確定所述努力等級:基于所述瀏覽器應(yīng)用對所述腳本代碼的一部分的調(diào)用的預(yù)測或分析中的至少一個,或基于在所述瀏覽器應(yīng)用對所述腳本代碼的至少所述部分的歷史使用中觀察到的模式。

    【技術(shù)特征摘要】
    2011.09.02 US 13/225,1321.一種方法,包括 通過計算設(shè)備的腳本引擎接收(100)腳本代碼,由所述計算設(shè)備的瀏覽器應(yīng)用所接收的標(biāo)記文檔包括或引用所述腳本代碼;以及 確定(110)要應(yīng)用到由所述腳本引擎應(yīng)用到所述腳本代碼的多方面代碼準(zhǔn)備過程中的至少一個方面的努力等級, 其中所述確定包括基于以下來確定所述努力等級基于所述瀏覽器應(yīng)用對所述腳本代碼的一部分的調(diào)用的預(yù)測或分析中的至少一個,或基于在所述瀏覽器應(yīng)用對所述腳本代碼的至少所述部分的歷史使用中觀察到的模式。2.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于解析所述腳本代碼的努力等級。3.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于基于所述腳本代碼生成字節(jié)碼的努力等級。4.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于解釋所述腳本代碼的努力等級。5.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于優(yōu)化所述腳本代碼的存儲器使用的努力等級。6.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于優(yōu)化所述腳本代碼的循環(huán)體的努力等級。7.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于優(yōu)化所述腳本代碼的變量的類型的努力等級。8.如權(quán)利要求I所述的方法,其特征在于,所述確定(110)包括確定要應(yīng)用于使用及時編譯器來優(yōu)化所述腳本代碼的努力等級。9.一種包括計算機(jī)可讀指令的計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀指令響應(yīng)于執(zhí)行致使包括至少兩個處理核的計算設(shè)備執(zhí)行操作,所述操作包括 通過所述至少兩個處理核中的第一處理核來處理(900)包括或引用腳本代碼的標(biāo)記文檔,包括通過所述第一處理核生成可執(zhí)...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:S·盧科L·拉弗雷尼爾C·CC·曼P·A·萊瑟斯
    申請(專利權(quán))人:微軟公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲熟妇无码AV| 亚洲中文字幕伊人久久无码| 亚洲无码精品浪潮| 亚洲成a人片在线观看天堂无码| 男人的天堂无码动漫AV| 国产精品午夜无码AV天美传媒| 国产精品无码无卡无需播放器| 国产午夜无码视频在线观看| 无码精品视频一区二区三区| av中文无码乱人伦在线观看| 无码免费一区二区三区免费播放| 亚洲AV成人无码网天堂| 无码内射中文字幕岛国片| 麻豆人妻少妇精品无码专区| 无码精品国产dvd在线观看9久 | 超清无码无卡中文字幕| 92午夜少妇极品福利无码电影| 一本大道无码日韩精品影视_| 91精品国产综合久久四虎久久无码一级| 精品无码一区二区三区水蜜桃| 精品国产v无码大片在线观看| 无套内射在线无码播放| 免费无码一区二区三区蜜桃 | 宅男在线国产精品无码| 免费无码AV电影在线观看| 亚洲av极品无码专区在线观看| 亚洲啪啪AV无码片| 熟妇人妻中文a∨无码| 久久伊人中文无码| 亚洲v国产v天堂a无码久久| 亚洲国产精品无码观看久久| 亚洲日韩精品A∨片无码加勒比| 日韩精品无码一区二区中文字幕| 国产拍拍拍无码视频免费| 中文无码AV一区二区三区| 寂寞少妇做spa按摩无码| 国产精品午夜福利在线无码| 亚洲v国产v天堂a无码久久| 特级做A爰片毛片免费看无码| 国产免费无码一区二区| 亚洲A∨无码一区二区三区|