亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

通過運(yùn)行時(shí)類型推斷的有效數(shù)據(jù)訪問的制作方法

文檔序號(hào):6651995閱讀:129來源:國(guó)知局
專利名稱:通過運(yùn)行時(shí)類型推斷的有效數(shù)據(jù)訪問的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及基于輸入數(shù)據(jù)集的類型推斷。
背景技術(shù)
類型推斷是編譯器在假設(shè)不可避免地缺乏完整類型信息時(shí)試圖確定表達(dá)式和變量的類型的過程。編譯器基于輸入數(shù)據(jù)流的上下文信息推斷丟失的類型信息。在例如同一語法用于整數(shù)和浮點(diǎn)算術(shù)運(yùn)算時(shí),算術(shù)運(yùn)算符可能存在困難。這對(duì)類型推斷造成了問題,因?yàn)椴豢赡苊鞔_地為諸如fn n=>n+n的函數(shù)重構(gòu)類型信息。該過分簡(jiǎn)化的函數(shù)是二義的,因?yàn)闊o法告知該加法運(yùn)算是整數(shù)還是浮點(diǎn)加法。例如,該表達(dá)式可以被解釋為以下縮寫類型int->int的fn nint=>n+n,或者是類型real->real的fn nreal=>n+n。
在某些情況下,周圍的上下文被用來確定意義。相關(guān)的困難根源是記錄的“尖銳”符號(hào)表示。由于上下文中缺乏信息,因此不能確定使用這些符號(hào)表示的函數(shù)的類型。從而,該函數(shù)將作為二義的而被拒絕,因?yàn)椴淮嬖谧銐虻男畔泶_定該函數(shù)的域類型。
上述示例示出了二義性導(dǎo)致困難的情形;然而,不能斷定類型推斷會(huì)失敗,除非丟失的類型信息可以是被唯一確定的。在眾多情況下,不存在推斷省略的類型信息的唯一方式;然而,可以存在一種最好的方式。
XML(可擴(kuò)展標(biāo)記語言)的一種主要的優(yōu)點(diǎn)是可以無需對(duì)文檔精確模式的先驗(yàn)知識(shí)而處理文檔。然而,操縱諸如C#或Java等語言迫使程序員使用冗長(zhǎng)的、解釋性的且計(jì)算上低效的編程模型來訪問這樣的無類型文檔,如以下代碼所表示的。
XmlDocument b=new XmlDocument();b.Load(...);string s=b.GetElementsByTagName(″Title″)
.Value;如果值的模式或類型已知,期望提供對(duì)該值的各部分的更有效的訪問,即,可期望假設(shè)類型信息來編譯訪問模式。不假設(shè)模式信息,則必須使用某種形式的通用表示來表示值,且訪問必須是解釋性的。當(dāng)在編譯時(shí)已知文檔的模式時(shí),可以生成對(duì)應(yīng)于該模式的一組類,該文檔可以被反串行化成對(duì)象圖,并以簡(jiǎn)明、強(qiáng)類型化的且計(jì)算上高效的方式對(duì)該文檔進(jìn)行編程,如以下代碼表示。
Book b=new XmlSerializer(typeof(Book)).Deserialize(...);string s=b.Title;然而,這是有缺點(diǎn)的,因?yàn)樵诒姸嗲闆r下,在編譯時(shí)沒有模式可用,所以必須使用解釋性的方法。數(shù)據(jù)庫以及如C#和Java等當(dāng)代編程語言難以處理非靜態(tài)類型。諸如Perl、Python、Ruby、PHP、Groovy等腳本語言能較好地處理動(dòng)態(tài)類型,但是是以對(duì)大型軟件系統(tǒng)不是健壯的且不能較好地縮放為代價(jià)的。因此,在現(xiàn)有技術(shù)中存在對(duì)提供跨動(dòng)態(tài)和靜態(tài)類型化語言的改進(jìn)的數(shù)據(jù)訪問的機(jī)制的基本上未被滿足的需求。

發(fā)明內(nèi)容
以下呈現(xiàn)了本發(fā)明的簡(jiǎn)化的概述,以提供對(duì)本發(fā)明的某些方面的基本理解。該概述不是本發(fā)明的廣泛的概觀。它既不旨在標(biāo)識(shí)本發(fā)明的關(guān)鍵或重要的元素,也不描繪本發(fā)明的范圍。該概述的唯一目的是以簡(jiǎn)化的形式呈現(xiàn)本發(fā)明的某些概念,作為之后呈現(xiàn)的更詳細(xì)描述的序言。
本發(fā)明通過在運(yùn)行時(shí)使用在實(shí)際值上的模式推斷來連接純粹動(dòng)態(tài)和純粹靜態(tài)類型化的語言之間的差距,并使用該模式來創(chuàng)建可以被有效且方便地訪問的數(shù)據(jù)的專用表示。假定對(duì)于對(duì)象的后期綁定訪問(例如,在Visual Basic、以及諸如ECMAScript、Python以及Perl等腳本語言中),本發(fā)明通過使用非類型化的文檔訪問的靈活性的對(duì)象串行化來組合早期綁定訪問的效率。
此處所揭示和要求保護(hù)的本發(fā)明的一方面包括含有接收輸入數(shù)據(jù)流作為輸入的推斷組件的系統(tǒng)。推斷組件在運(yùn)行時(shí)處理輸入數(shù)據(jù)流來開發(fā)基于其實(shí)際值的模式。然后使用該推斷出的模式來創(chuàng)建作為輸入流數(shù)據(jù)的專用表示的推斷出的輸出數(shù)據(jù),之后能有效其方便地訪問該輸出數(shù)據(jù)。
本發(fā)明的另一方面,提供了一種通過使用在進(jìn)程的所有或所選點(diǎn)處的高速緩存來優(yōu)化運(yùn)行時(shí)推斷進(jìn)程的方法。該方法包括一高速緩存管理器,它通過將輸入數(shù)據(jù)和/或中間數(shù)據(jù)和/或代碼高速緩存至高速緩存存儲(chǔ)器中,以在運(yùn)行時(shí)進(jìn)程中提供在所有或所選點(diǎn)處的高速緩存。
在本發(fā)明的又一方面,提供了一種根據(jù)本發(fā)明處理XML文檔的運(yùn)行時(shí)類型推斷的方法。
在本發(fā)明的再一方面,提供了一種在運(yùn)行時(shí)優(yōu)化相似輸入數(shù)據(jù)的處理的方法。在連續(xù)加載若干個(gè)文檔的情況下,該方法提供針對(duì)之前推斷出的模式的對(duì)下一文檔的確認(rèn),如果確認(rèn)成功,則不必推斷新的模式。例如,當(dāng)運(yùn)行時(shí)推斷出第一模式之后,接收到第二數(shù)據(jù)集,使用針對(duì)第二數(shù)據(jù)集比較模式的成功(或失敗)的度量。如果成功低于該標(biāo)準(zhǔn),則從第二數(shù)據(jù)集中推斷出新的模式,以此類推。否則,對(duì)第二數(shù)據(jù)集繼續(xù)應(yīng)用第一模式。
在其另一方面,提供了一種根據(jù)本發(fā)明通過隨時(shí)間精煉推斷出的模式來優(yōu)化運(yùn)行時(shí)推斷進(jìn)程的方法。只要加載另一文檔,就可以隨時(shí)間精煉推斷出的模式。更精確的類型提供更有效的訪問。
在其又一方面,提供了一種使用基于概率和/或基于統(tǒng)計(jì)的分析來預(yù)測(cè)或推斷用戶想要自動(dòng)執(zhí)行的動(dòng)作的人工智能組件。
為了達(dá)到以上和相關(guān)目的,此處結(jié)合以下描述和附圖描述了本發(fā)明的某些說明性方面。然而,這些方面僅指示了可在其中使用本發(fā)明的原理的各種方式中的幾種,而本發(fā)明旨在包括所有這樣的方面以及其等效實(shí)現(xiàn)方式。結(jié)合附圖閱讀本發(fā)明的以下詳細(xì)描述,本發(fā)明的其它優(yōu)點(diǎn)和新穎的特征將變得明顯。


圖1示出了根據(jù)本發(fā)明在運(yùn)行時(shí)推斷模式的類型推斷系統(tǒng)。
圖2示出了根據(jù)本發(fā)明提供運(yùn)行時(shí)類型推斷的方法。
圖3示出了根據(jù)本發(fā)明運(yùn)行時(shí)類型推斷的概括方法。
圖4示出了根據(jù)本發(fā)明處理XML文檔的運(yùn)行時(shí)類型推斷的方法。
圖5示出了根據(jù)本發(fā)明通過使用高速緩存運(yùn)行時(shí)推斷進(jìn)程的所有或所選點(diǎn)來優(yōu)化該進(jìn)程的方法。
圖6示出了根據(jù)本發(fā)明在運(yùn)行時(shí)優(yōu)化相似輸入數(shù)據(jù)的處理的方法。
圖7示出了根據(jù)本發(fā)明通過隨時(shí)間精煉已推斷出的模式來優(yōu)化運(yùn)行時(shí)推斷進(jìn)程的方法。
圖8示出了根據(jù)本發(fā)明使用便于自動(dòng)化一個(gè)或多個(gè)特征的人工智能組件的系統(tǒng)。
圖9示出了可用來執(zhí)行所揭示的體系結(jié)構(gòu)的計(jì)算機(jī)的框圖。
圖10示出了根據(jù)本發(fā)明的示例性計(jì)算環(huán)境的示意性框圖。
具體實(shí)施例方式
現(xiàn)在參考附圖描述本發(fā)明,在全部附圖中,同樣的參考標(biāo)號(hào)指的是同樣的元素。在以下描述中,為說明起見,描述了眾多具體細(xì)節(jié),以提供對(duì)本發(fā)明的全面理解。然而顯然,本發(fā)明可以無需這些具體細(xì)節(jié)而實(shí)現(xiàn)。在其它實(shí)例中,公知的結(jié)構(gòu)和設(shè)備以框圖形式示出,以便描述本發(fā)明。
如在本申請(qǐng)中所使用的,術(shù)語“組件”和“系統(tǒng)”等指的是計(jì)算機(jī)相關(guān)的實(shí)體,它們或者是硬件、硬件和軟件的組合、軟件或者是執(zhí)行中的軟件。例如,組件可以是,但不限于,運(yùn)行在處理器上的進(jìn)程、處理器、對(duì)象、可執(zhí)行代碼、執(zhí)行的線程、程序和/或計(jì)算機(jī)。作為說明,運(yùn)行在服務(wù)器上的應(yīng)用程序和服務(wù)器都可以是組件。一個(gè)或多個(gè)組件可以駐留在進(jìn)程和/或執(zhí)行中的線程內(nèi),且組件可以位于一臺(tái)計(jì)算機(jī)上和/或分布在兩臺(tái)或多臺(tái)計(jì)算機(jī)之間。
如此處所使用,術(shù)語“推斷”和“推論”一般指的是從通過事件和/或數(shù)據(jù)而捕捉到的一組觀察值中推出或推斷系統(tǒng)、環(huán)境和/或用戶的狀態(tài)的過程。推論可以例如被用來標(biāo)識(shí)特定的上下文或動(dòng)作,或者可以生成狀態(tài)的概率分布。推論可以是概率性的,即,基于對(duì)數(shù)據(jù)和事件的考慮對(duì)所關(guān)心的狀態(tài)的概率分布的計(jì)算。推論也可以指的是用于從一組事件和/或數(shù)據(jù)中組成更高級(jí)的事件的技術(shù)。這樣的推論導(dǎo)致從一組觀察到的事件和/或存儲(chǔ)的事件數(shù)據(jù)中構(gòu)造出新的事件或動(dòng)作,而不論原先的事件是否在時(shí)間上緊密相關(guān),也不論原先的事件和數(shù)據(jù)是來自一個(gè)還是若干個(gè)事件和數(shù)據(jù)源。
最初參考附圖,圖1示出了根據(jù)本發(fā)明在運(yùn)行時(shí)推斷模式的類型推斷系統(tǒng)100。本發(fā)明的主要方面是在運(yùn)行時(shí)在實(shí)際值上使用模式推斷,并使用該模式來創(chuàng)建可以被有效且方便地訪問的數(shù)據(jù)的專用表示。
繼續(xù)以上示例,并假定對(duì)類型對(duì)象的值的后期綁定訪問(例如,在Visual Basic中),可以使用以下偽代碼來表示該新穎機(jī)制XmlDocument b=new XmlDocument();b.Load(...);Type T=InferSchemaAndGenerateCode(b);object b=new XmlSerializer(T).Deserialize(...);object s=b.Title;
實(shí)際文檔實(shí)例d可以被用來生成運(yùn)行時(shí)類型T,該類型T然后用于將文檔T反串行化為動(dòng)態(tài)類型T的對(duì)象圖。因?yàn)門不已知為靜態(tài)的,可以僅以后期綁定方式來針對(duì)文檔編程(假定它含有靜態(tài)類型object)。此處,由于進(jìn)行正常對(duì)象處理的能力,將文檔(XmlDocument b)加載至對(duì)象表示,然后訪問該標(biāo)題要有效得多。代碼object b=new XmlSerializer(T).Deserialize(...);以及object s=b.Title;定義了對(duì)于對(duì)象的后期綁定訪問,因?yàn)楫?dāng)編寫類型b為何的代碼時(shí),該對(duì)象不已知為靜態(tài)。然而,仍舊期望訪問該對(duì)象。
參考背景技術(shù)一節(jié)的第二個(gè)示例,根據(jù)本發(fā)明,運(yùn)行之前不需要定義類型Book。
存在若干方式來提高該進(jìn)程的效率。首先,可以在InferSchemaAndGenerateCode算法中執(zhí)行各種高速緩存策略。在連續(xù)加載若干文檔的情況下,例如,可能期望首先針對(duì)之前推斷出的模式來確認(rèn)下一文檔,如果成功,則不必推斷新的模式,且生成新的類型?;蛘?,只要加載了另一文檔,就可以隨時(shí)間精煉最初推斷出的模式。更精確的類型提供更有效的訪問。以下描述這些優(yōu)化。
為支持這一方面,提供了包括接收數(shù)據(jù)流作為輸入的推斷組件102的系統(tǒng)100。推斷組件102基于輸入數(shù)據(jù)的實(shí)際值在運(yùn)行時(shí)處理輸入數(shù)據(jù)流來推斷模式104。模式104然后被用于創(chuàng)建作為該輸入流數(shù)據(jù)的專用表示的推斷出的輸出數(shù)據(jù),然后可以有效且方便地訪問該輸出數(shù)據(jù)。
圖2示出了根據(jù)本發(fā)明提供運(yùn)行時(shí)類型推斷的方法。盡管為說明的簡(jiǎn)明性起見,此處例如以流程圖形式示出的一個(gè)或多個(gè)方法被示出或描述為一連串動(dòng)作,但是可以理解和領(lǐng)會(huì),本發(fā)明不受動(dòng)作順序的限制,因?yàn)楦鶕?jù)本發(fā)明,某些動(dòng)作可以按與此處示出和描述的不同的順序發(fā)生和/或與其它動(dòng)作同時(shí)發(fā)生。例如,本領(lǐng)域的技術(shù)人員可以理解和領(lǐng)會(huì),方法可以替換地被表示為諸如狀態(tài)圖中的一連串互相關(guān)聯(lián)的狀態(tài)或事件。而且,并非所有示出的動(dòng)作都是實(shí)現(xiàn)根據(jù)本發(fā)明的方法所必需的。
在200處,系統(tǒng)接收輸入數(shù)據(jù)流。該輸入數(shù)據(jù)可以是,僅舉幾個(gè)示例,XML(可擴(kuò)展標(biāo)記語言)文檔形式、與由上下文無關(guān)語法描述的語言兼容的數(shù)據(jù)、以及由關(guān)系模式描述的關(guān)系表形式的數(shù)據(jù)。在202處,推斷組件處理輸入數(shù)據(jù)以在運(yùn)行時(shí)從中推斷模式。在204處,該模式被用于基于輸入數(shù)據(jù)流的實(shí)際值來生成推斷出的輸出數(shù)據(jù)。
現(xiàn)在參考圖3,示出了根據(jù)本發(fā)明運(yùn)行時(shí)類型推斷的概括方法。接收輸入數(shù)據(jù)流300作為對(duì)該運(yùn)行時(shí)進(jìn)程的輸入。在302處,在運(yùn)行時(shí)為該輸入數(shù)據(jù)推斷模式。在304處,從推斷出的模式生成源代碼。在306處,源代碼被編譯成匯編碼,匯編碼可以是可執(zhí)行代碼。在308處,針對(duì)輸入數(shù)據(jù)300的類型處理匯編碼,并且將生成的類加載至存儲(chǔ)器中。在310處,類被用于對(duì)原始數(shù)據(jù)輸入流300反串行化來生成新創(chuàng)建和加載的類的實(shí)例312。然后可以有效并方便地訪問實(shí)例312。
圖4示出了根據(jù)本發(fā)明處理XML文檔402的運(yùn)行時(shí)類型推斷的方法400。在XML和對(duì)象串行化的情況下,模式可以用于使用例如由微軟公司提供的.NET架構(gòu)中的現(xiàn)有xsd.exe工具來生成源代碼,使用C#編譯器編譯該源代碼,將匯編碼加載至存儲(chǔ)器中,并將原始文檔反串行化為剛創(chuàng)建和加載的類的實(shí)例。然而,存在眾多其它的方式來從推斷出的模式中生成類,諸如Reflection.Emit或運(yùn)行時(shí)代碼生成的更輕便形式。.NET架構(gòu)的Reflection名字空間便于在運(yùn)行時(shí)查看匯編元數(shù)據(jù)以及創(chuàng)建匯編碼。Reflection允許代碼例如在運(yùn)行時(shí)進(jìn)行類型發(fā)現(xiàn)、查看匯編元數(shù)據(jù)以及動(dòng)態(tài)地調(diào)用匯編碼。
從而,提供了使得接收XML文檔402作為對(duì)運(yùn)行時(shí)進(jìn)程400的輸入數(shù)據(jù)的方法。在404處,基于XML文檔402的實(shí)際值在運(yùn)行時(shí)推斷模式。在406處,從已推斷出的模式中生成源代碼。在408處,源代碼使用例如C#編譯器被編譯成匯編碼,匯編碼可以是可執(zhí)行代碼。在410處,使用匯編碼來處理XML文檔402的類型以生成被加載至存儲(chǔ)器中的類。在412處,類被用于對(duì)原始數(shù)據(jù)輸入流的反串行化,來創(chuàng)建新創(chuàng)建和加載的類的實(shí)例414。然后,可以有效并方便地訪問實(shí)例414。
再次參考圖1的示例偽代碼,注意到,一旦推斷出模式,不必使用一般的XML串行化器來將XML文檔反串行化成對(duì)象圖。而是,通過提供ISerializable界面的自定義實(shí)現(xiàn),可以為串行化和反串行化均生成類型專用的代碼。
盡管該示例是就XML文檔和模式而言的,但是該機(jī)制同樣能良好地應(yīng)用于其它領(lǐng)域,諸如由上下文無關(guān)語法描述的語言、由關(guān)系模式描述的關(guān)系表等。另外,代替反串行化成對(duì)象,本發(fā)明中描述的機(jī)制同樣良好地應(yīng)用于使用模式信息生成專用的任何表示(例如,模式專用DOM(文檔對(duì)象模型)或分析樹)。例如,XMLDOM是XML文檔的編程接口,并定義了可以訪問和操縱XML文檔的方式。稱為XML分析器的程序可以被用來將XML文檔加載至計(jì)算機(jī)的存儲(chǔ)器中。當(dāng)文檔被加載時(shí),可以通過訪問DOM來檢索和操縱文檔信息。DOM表示XML文檔的樹視圖。
圖5示出了根據(jù)本發(fā)明通過使用高速緩存運(yùn)行時(shí)推斷進(jìn)程500的所有或所選的點(diǎn)來優(yōu)化該進(jìn)程的方法。該方法包括高速緩存管理器502,它通過將輸入數(shù)據(jù)504和/或中間數(shù)據(jù)和/或代碼高速緩存至高速緩存存儲(chǔ)器506中以在運(yùn)行時(shí)進(jìn)程500期間提供在所有或所選點(diǎn)處的高速緩存。在508處,數(shù)據(jù)輸入流504在作為對(duì)該運(yùn)行時(shí)進(jìn)程的輸入接收時(shí),可以被高速緩存來提供更快速的訪問,以生成運(yùn)行時(shí)模式。在510處,可以為更快速訪問和處理高速緩存模式以生成源代碼。在512處,源代碼被編譯為匯編碼,匯編碼可以是可執(zhí)行代碼??梢詾楦焖僭L問而高速緩存源代碼。在514處,可以為更快速訪問和針對(duì)輸入數(shù)據(jù)類型處理來高速緩存可執(zhí)行匯編碼以生成加載至處理存儲(chǔ)器的類。在516處,可以高速緩存類類型,以準(zhǔn)備針對(duì)原始數(shù)據(jù)輸入流的反串行化進(jìn)程。在518處,可以高速緩存作為新創(chuàng)建和加載的類的實(shí)例520的反串行化的輸出。這提供了對(duì)實(shí)例520的更有效和方便的訪問。
現(xiàn)在參考圖6,示出了根據(jù)本發(fā)明在運(yùn)行時(shí)優(yōu)化相似輸入數(shù)據(jù)的處理的方法。例如,在一行中連續(xù)加載若干文檔的情況下,可能期望首先針對(duì)之前推斷出的模式來確認(rèn)下一文檔,如果確認(rèn)成功,那么不需推斷新的模式。例如,在運(yùn)行時(shí)推斷出第一模式之后,接收第二數(shù)據(jù)集,使用針對(duì)第二數(shù)據(jù)集比較模式的成功(或失敗)的度量。如果成功低于標(biāo)準(zhǔn),那么從第二數(shù)據(jù)集推斷出新模式,以此類推。否則,繼續(xù)對(duì)第二數(shù)據(jù)集應(yīng)用第一模式。
從而,在600處,標(biāo)準(zhǔn)被確定并被用于對(duì)多個(gè)相似的數(shù)據(jù)集應(yīng)用推斷出的模式。在602處,接收第一輸入數(shù)據(jù)集。在604處,在運(yùn)行時(shí)從第一數(shù)據(jù)集推斷出第一模式。在606處,接收第二數(shù)據(jù)集。在608處,在運(yùn)行時(shí)使用第一推斷出的模式針對(duì)第二數(shù)據(jù)集使用確認(rèn)進(jìn)程。如果如在610處所檢查的確認(rèn)不成功,流程至612處,在那里從第二數(shù)據(jù)集中推斷出新的模式。在614處,根據(jù)第二推斷出的模式,并根據(jù)之前描述的進(jìn)程的開發(fā)源代碼、編譯、反串行化等處理第二數(shù)據(jù)集?;蛘撸?10處,如果確認(rèn)成功,則如616處所示,對(duì)第二數(shù)據(jù)集應(yīng)用第一推斷出的模式。該進(jìn)程然后返回至600來處理下一數(shù)據(jù)集。
該進(jìn)程不限于兩次迭代。例如,如果不使用前兩個(gè)模式,可以導(dǎo)出第三推斷模式,以此類推。然而,應(yīng)該存在對(duì)當(dāng)使用基本上相似的輸入數(shù)據(jù)時(shí)可以推斷出的模式的數(shù)量或深度的限制;否則,可能影響系統(tǒng)性能。
圖7示出了根據(jù)本發(fā)明通過隨時(shí)間精煉推斷出的模式來優(yōu)化運(yùn)行時(shí)推斷進(jìn)程的方法。只要加載另一文檔,就可以隨時(shí)間精煉所推斷出的模式。更精確的類型提供更有效的訪問。從而,在700處,設(shè)置標(biāo)準(zhǔn)以應(yīng)用推斷出的模式來從輸入數(shù)據(jù)類型中導(dǎo)出類。例如,如果該標(biāo)準(zhǔn)設(shè)得相對(duì)較高,且針對(duì)輸入數(shù)據(jù)處理的推斷出的模式產(chǎn)生低于該標(biāo)準(zhǔn)的輸出,則可以精煉推斷算法,使得輸出的推斷出的模式最終將達(dá)到所期望的標(biāo)準(zhǔn)。在那一點(diǎn)處,將不再進(jìn)行精煉。
在702處,接收第一輸入數(shù)據(jù)集用于運(yùn)行時(shí)的推斷處理。在704處,通過基于輸入數(shù)據(jù)的推斷進(jìn)程導(dǎo)出模式。在706處,進(jìn)行檢查來確定所推斷出的模式是否是根據(jù)預(yù)定標(biāo)準(zhǔn)執(zhí)行的。如果是,那么過程返回至706處來接收下一數(shù)據(jù)集。如果該執(zhí)行不滿足所期望的標(biāo)準(zhǔn),那么流程從708處到710處以在運(yùn)行時(shí)更新或精煉現(xiàn)有模式。流程然后返回至706處來接收下一數(shù)據(jù)集用于處理。或者,使得推斷出的模式不能滿足標(biāo)準(zhǔn)的同一輸入數(shù)據(jù)集可以使用經(jīng)更新的模式來重新處理,以確保在運(yùn)行時(shí)使用最優(yōu)輸出。
圖8示出了根據(jù)本發(fā)明使用便于自動(dòng)化一個(gè)或多個(gè)特征的人工智能(AI)組件802的系統(tǒng)800。本發(fā)明(例如,關(guān)于推斷)可以使用各種基于AI的模式來執(zhí)行本發(fā)明的各方面。例如,可以通過自動(dòng)分類器系統(tǒng)和進(jìn)程來促進(jìn)用于確定何時(shí)精煉與更新推斷出的模式相關(guān)聯(lián)的預(yù)定標(biāo)準(zhǔn)或者該推斷出的模式的進(jìn)程。
分類器是將輸入屬性向量x=(x1,x2,x3,x4,xn)映射至該輸入屬于一個(gè)類的置信度的函數(shù),即f(x)=confidence(class)。這樣的分類可以使用基于概率和/或基于統(tǒng)計(jì)的分析(例如,分解為分析效用和成本)來預(yù)測(cè)或推斷用戶想要自動(dòng)執(zhí)行的動(dòng)作。
支持矢量機(jī)(SVM)是可以使用的分類器的一個(gè)示例。SVM通過尋找可能輸入的空間中的超曲面來操作,其中超曲面試圖從非觸發(fā)事件中分裂出觸發(fā)標(biāo)準(zhǔn)。直觀上,這使分類對(duì)于接近但不同于訓(xùn)練數(shù)據(jù)的測(cè)試數(shù)據(jù)是正確的??梢允褂闷渌邢蚧驘o向的模型分類方法包括,例如單純貝葉斯、貝葉斯網(wǎng)絡(luò)、決策樹、神經(jīng)網(wǎng)絡(luò)、模糊邏輯模型、以及提供不同的獨(dú)立模式的概率分類模型。此處所用的分類也包括用于開發(fā)優(yōu)先級(jí)模型的統(tǒng)計(jì)回歸。
可以通過本說明書容易地理解,本發(fā)明可以使用顯式訓(xùn)練(例如,通過普通訓(xùn)練數(shù)據(jù))以及隱式訓(xùn)練(例如,通過觀察用戶行為、接收外部信息)的分類器。例如,可以通過分類器構(gòu)造器和特征選擇模塊內(nèi)的學(xué)習(xí)或訓(xùn)練階段來配置SVM。這樣,分類器可以用于自動(dòng)學(xué)習(xí)和執(zhí)行多個(gè)功能,包括但不限于,根據(jù)預(yù)定標(biāo)準(zhǔn)確定何時(shí)更新或精煉之前推斷出的模式、基于處理數(shù)據(jù)的類型(例如,財(cái)政對(duì)于非財(cái)政,個(gè)人對(duì)于非個(gè)人...)拉緊推斷算法上的標(biāo)準(zhǔn)、以及一天中什么時(shí)間實(shí)現(xiàn)較嚴(yán)格的標(biāo)準(zhǔn)控制(例如,在較少影響系統(tǒng)性能的晚上)。
現(xiàn)在參考圖9,示出了用來執(zhí)行所揭示的體系結(jié)構(gòu)的計(jì)算機(jī)的框圖。為了向本發(fā)明的各個(gè)方面提供額外的環(huán)境,圖9及以下討論旨在提供其中可實(shí)現(xiàn)本發(fā)明的各方面的合適的計(jì)算環(huán)境900的簡(jiǎn)要概括描述。盡管以上在一臺(tái)或多臺(tái)計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)可執(zhí)行指令的通用語境中描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到,本發(fā)明也可以結(jié)合其它程序模塊和/或作為軟硬件的組合來實(shí)現(xiàn)。
一般而言,程序模塊包括例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。而且,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明方法可以使用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)現(xiàn),包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型機(jī)、大型機(jī)、以及個(gè)人計(jì)算機(jī)、手持式計(jì)算設(shè)備、基于微處理器的或可編程消費(fèi)電子產(chǎn)品等,它們中的每一個(gè)都可以操作上耦合至一個(gè)或多個(gè)相關(guān)聯(lián)的設(shè)備。
本發(fā)明所示方面也可以在分布式計(jì)算環(huán)境中實(shí)現(xiàn),在分布式計(jì)算環(huán)境中,某些任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行的。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地或遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。
計(jì)算機(jī)一般包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)訪問的任何可用介質(zhì),且包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)訪問的任何其它介質(zhì)。
通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”指的是這樣一種信號(hào),其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式被設(shè)定或更改。作為示例,而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、RF、紅外線和其它無線介質(zhì)。上述中任一個(gè)的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
再次參考圖9,示出了用于實(shí)現(xiàn)本發(fā)明各方面的示例性環(huán)境900,包括計(jì)算機(jī)902,計(jì)算機(jī)902包括處理單元904、系統(tǒng)存儲(chǔ)器906和系統(tǒng)總線908。系統(tǒng)總線908將包括但不限于系統(tǒng)總線906在內(nèi)的系統(tǒng)組件耦合至處理單元904。處理單元904可以是各種市場(chǎng)上可購(gòu)買的任何處理器。雙微處理器和其它多處理器體系結(jié)構(gòu)也可以作為處理單元904使用。
系統(tǒng)總線908可以是若干類型總線結(jié)構(gòu)中的任一種,它可進(jìn)一步與存儲(chǔ)器總線(帶有或不帶有存儲(chǔ)器控制器)、外設(shè)總線和使用各種市場(chǎng)上可購(gòu)買的總線體系結(jié)構(gòu)中任一種的局部總線互連。系統(tǒng)存儲(chǔ)器906包括只讀存儲(chǔ)器(ROM)910和隨機(jī)存取存儲(chǔ)器(RAM)912?;据斎?輸出系統(tǒng)(BIOS)存儲(chǔ)在諸如ROM、EPROM、EEPROM等非易失性存儲(chǔ)器910中,它包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)902中元件之間傳遞信息的基本例程。RAM 912還可以包括諸如靜態(tài)RAM等用于高速緩存數(shù)據(jù)的高速RAM。
計(jì)算機(jī)902還包括內(nèi)部硬盤驅(qū)動(dòng)器(HDD)914(例如EIDE、SATA),其中內(nèi)部硬盤驅(qū)動(dòng)器914也可被配置為在合適的機(jī)箱(未示出)中供外部使用;磁軟盤驅(qū)動(dòng)器(FDD)916(例如讀寫可移動(dòng)盤918)以及光盤驅(qū)動(dòng)器920(例如讀CD-ROM盤922,或者讀寫諸如DVD等其它高容量光介質(zhì))。硬盤驅(qū)動(dòng)器914、磁盤驅(qū)動(dòng)器916和光盤驅(qū)動(dòng)器920可以分別通過硬盤驅(qū)動(dòng)器接口924、磁盤驅(qū)動(dòng)器接口926和光盤驅(qū)動(dòng)器接口928連接到系統(tǒng)總線908。用于外部驅(qū)動(dòng)器實(shí)現(xiàn)的接口924包括通用串行總線(USB)和IEEE 1394接口技術(shù)中的至少一個(gè)或兩者。
驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)可執(zhí)行指令等的非易失性存儲(chǔ)。對(duì)于計(jì)算機(jī)902,驅(qū)動(dòng)器和介質(zhì)容納以合適的數(shù)字格式的任何數(shù)據(jù)的存儲(chǔ)。盡管以上計(jì)算機(jī)可讀介質(zhì)的描述涉及HDD、可移動(dòng)磁盤和諸如CD或DVD等可移動(dòng)光介質(zhì),但本領(lǐng)域的技術(shù)人員應(yīng)該理解,計(jì)算機(jī)可讀的其它類型的介質(zhì),諸如zip驅(qū)動(dòng)器、磁帶盒、閃存卡、盒式磁帶等,也可以在示例性操作環(huán)境中使用,而且,任何這樣的介質(zhì)可以包含用于執(zhí)行本發(fā)明的方法的計(jì)算機(jī)可執(zhí)行指令。
多個(gè)程序模塊可存儲(chǔ)在驅(qū)動(dòng)器和RAM 912中,包括操作系統(tǒng)930、一個(gè)或多個(gè)應(yīng)用程序932、其它程序模塊934和程序數(shù)據(jù)936。操作系統(tǒng)、應(yīng)用程序、模塊和/或數(shù)據(jù)的全部或部分也可以高速緩存在RAM 912中。可以理解,本發(fā)明可以使用各種市場(chǎng)上可購(gòu)買的操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)。
用戶可以通過一個(gè)或多個(gè)有線/無線輸入設(shè)備,例如鍵盤938和諸如鼠標(biāo)940等定點(diǎn)設(shè)備來向計(jì)算機(jī)902輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、IR遙控器、操縱桿、游戲墊、指示筆、觸摸屏等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線908的輸入設(shè)備接口942連接到處理單元904,但可以由其它接口連接,諸如并行端口、IEEE 1394串行端口、游戲端口、USB端口、IR接口等。
監(jiān)示器944或其它類型的顯示設(shè)備也通過接口,諸如視頻適配器946連接至系統(tǒng)總線908。除監(jiān)示器944之外,計(jì)算機(jī)一般包括其它外圍輸出設(shè)備(未示出),諸如揚(yáng)聲器、打印機(jī)等。
計(jì)算機(jī)902可使用通過有線和/或無線通信至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)948可以是工作站、服務(wù)器計(jì)算機(jī)、路由器、個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、基于微處理器的娛樂設(shè)備、對(duì)等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括相對(duì)于計(jì)算機(jī)902描述的多個(gè)或全部元素,但是為了簡(jiǎn)明起見,僅示出存儲(chǔ)器存儲(chǔ)設(shè)備950。所示邏輯連接包括至局域網(wǎng)(LAN)952和/或較大網(wǎng)絡(luò),例如廣域網(wǎng)(WAN)954的有線/無線連接。這樣的LAN和WAN網(wǎng)絡(luò)環(huán)境在辦公室和公司中是常見的,且促進(jìn)諸如內(nèi)聯(lián)網(wǎng)等企業(yè)范圍網(wǎng)絡(luò),它們?nèi)慷伎蛇B接至例如因特網(wǎng)的全球通信網(wǎng)絡(luò)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)902通過有線和/或無線通信網(wǎng)絡(luò)接口或適配器956連接至局域網(wǎng)952。適配器956可促進(jìn)至LAN 952的有線或無線通信,LAN 925也可包括部署在其上的用于與無線適配器956通信的無線接入點(diǎn)。
當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)902可以包括調(diào)制解調(diào)器958,或者連接至WAN 954上的通信服務(wù)器,或者具有用于通過諸如因特網(wǎng)等WAN 954建立通信的其它裝置。調(diào)制解調(diào)器958可以是內(nèi)置或外置的和有線或無線設(shè)備,它通過串行端口接口942連接至系統(tǒng)總線908。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)902所述的程序模塊或其部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器/存儲(chǔ)設(shè)備950中??梢岳斫猓镜木W(wǎng)絡(luò)連接是示例性的,且可使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。
計(jì)算機(jī)902可以用于與操作上部署在無線通信中的任何無線設(shè)備或?qū)嶓w通信,例如,打印機(jī)、掃描儀、臺(tái)式和/或便攜式計(jì)算機(jī)、便攜式數(shù)據(jù)助理、通信衛(wèi)星、與無線可檢測(cè)標(biāo)簽(例如公共電話亭、報(bào)亭、休息室)相關(guān)聯(lián)的任何設(shè)備部分或位置、以及電話。這至少包括Wi-Fi和BluetoothTM(藍(lán)牙)無線技術(shù)。因此,通信可以是使用常規(guī)網(wǎng)絡(luò)的預(yù)定義結(jié)構(gòu),或僅僅是至少兩個(gè)設(shè)備之間的特別通信。
Wi-Fi或無線保真允許從家里的睡椅、旅館房間中的床或工作單位的會(huì)議室無線地連接至因特網(wǎng)。Wi-Fi是類似于蜂窩電話中使用的技術(shù)的無線技術(shù),它使得例如計(jì)算機(jī)等設(shè)備能夠在戶內(nèi)外基站范圍內(nèi)的任何地方收發(fā)數(shù)據(jù)。Wi-Fi網(wǎng)絡(luò)使用稱為IEEE 802.11(a、b、g等)的無線電技術(shù)來提供安全、可靠、快速的無線連接。Wi-Fi網(wǎng)絡(luò)可以用于將計(jì)算機(jī)彼此連接、連接至因特網(wǎng)、以及連接至有線網(wǎng)絡(luò)(使用IEEE 802.3或以太網(wǎng))。Wi-Fi網(wǎng)絡(luò)在非特許的2.4和5GHz無線電波段中例如以11Mbps(802.1a)或54Mbps(802.11b)數(shù)據(jù)速率運(yùn)行,或者帶有包括兩種波段(雙波段)的產(chǎn)品,因此網(wǎng)絡(luò)可以提供類似于在許多辦公室中使用的基本10BaseT有線以太網(wǎng)網(wǎng)絡(luò)的真實(shí)性能。
現(xiàn)在參考圖10,示出了根據(jù)本發(fā)明的示例性計(jì)算環(huán)境1000的示意框圖。系統(tǒng)1000包括一個(gè)或多個(gè)客戶機(jī)1002??蛻魴C(jī)1002可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。客戶機(jī)1002可以例如,通過使用本發(fā)明容納cookie和/或相關(guān)聯(lián)的上下文信息。
系統(tǒng)1000也包括一個(gè)或多個(gè)服務(wù)器1004。服務(wù)器1004也可以是硬件和/或軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。服務(wù)器1004可以例如,通過使用本發(fā)明容納執(zhí)行變換的線程??蛻魴C(jī)1002與服務(wù)器1004之間的一種可能的通信可以是以適用于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)包的形式。數(shù)據(jù)包可以包括,例如cookie和/或相關(guān)聯(lián)的上下文信息。系統(tǒng)1000包括通信架構(gòu)1006(例如,諸如因特網(wǎng)等全球通信網(wǎng)絡(luò)),它可以用于促進(jìn)客戶機(jī)1002與服務(wù)器1004之間的通信。
可以通過有線(包括光纖)和/或無線技術(shù)來促進(jìn)通信??蛻魴C(jī)1002操作上連接至可以用于存儲(chǔ)對(duì)客戶機(jī)1002本地的信息(例如,cookie和/或相關(guān)聯(lián)的上下文信息)一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)1008。類似地,服務(wù)器1004操作上連接至可使用來存儲(chǔ)對(duì)服務(wù)器1004本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)1010。
以上描述包括本發(fā)明的示例。當(dāng)然,不可能為描述本發(fā)明而描述每個(gè)可想象的組件或方法的組合,但是本領(lǐng)域的普通技術(shù)人員可以認(rèn)識(shí)到,還可能有本發(fā)明的眾多其它組合和排列。從而,本發(fā)明旨在包括落入所附權(quán)利要求書精神和范圍內(nèi)的所有這樣的變更、修改和變化。而且,就或者在詳細(xì)描述中或者在權(quán)利要求書中使用的術(shù)語“包括”而言,當(dāng)被用作權(quán)利要求書中的過渡詞時(shí),這樣的術(shù)語旨在是包含性的,類似于解釋術(shù)語“包含”的方式。
權(quán)利要求
1.一種便于數(shù)據(jù)訪問的系統(tǒng),包括輸入數(shù)據(jù)流;以及推斷組件,它在運(yùn)行時(shí)從所述輸入數(shù)據(jù)中推斷模式來創(chuàng)建所述輸入數(shù)據(jù)的專用表示。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述輸入數(shù)據(jù)包括XML文檔。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述輸入數(shù)據(jù)與上下文無關(guān)語言兼容。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述輸入數(shù)據(jù)是關(guān)系型的。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括便于在運(yùn)行時(shí)高速緩存文檔的高速緩存組件。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述推斷組件便于隨時(shí)間更新所述模式。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述推斷組件便于針對(duì)新輸入數(shù)據(jù)來確認(rèn)所述推斷出的模式。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述推斷組件在運(yùn)行時(shí)在實(shí)際值上推斷所述模式。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括人工智能組件,它使用基于概率和/或基于統(tǒng)計(jì)的分析來預(yù)測(cè)或推斷用戶想要自動(dòng)執(zhí)行的動(dòng)作。
10.一種在其上存儲(chǔ)用于實(shí)現(xiàn)如權(quán)利要求1所述的系統(tǒng)的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
11.一種使用如權(quán)利要求1所述的系統(tǒng)的服務(wù)器。
12.一種含有用于執(zhí)行便于數(shù)據(jù)訪問的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述方法包括接收輸入數(shù)據(jù)流;以及使用推斷組件來處理所述輸入數(shù)據(jù),所述推斷組件在運(yùn)行時(shí)進(jìn)程中基于實(shí)際值從所述輸入數(shù)據(jù)中推斷類型模式。
13.如權(quán)利要求12所述的方法,其特征在于,還包括在運(yùn)行時(shí)進(jìn)程中執(zhí)行高速緩存操作以生成所述模式。
14.如權(quán)利要求12所述的方法,其特征在于,還包括基于關(guān)于所述輸入數(shù)據(jù)的預(yù)定標(biāo)準(zhǔn)中的改變來隨時(shí)間更新所述推斷出的模式。
15.如權(quán)利要求12所述的方法,其特征在于,還包括在運(yùn)行時(shí)進(jìn)程中高緩存所述輸入數(shù)據(jù)、所述推斷出的模式、生成的源代碼、匯編碼以及反串行化信息中的至少一種。
16.如權(quán)利要求12所述的方法,其特征在于,還包括在所述運(yùn)行進(jìn)程中針對(duì)新輸入數(shù)據(jù)來確認(rèn)所述推斷出的模式。
17.如權(quán)利要求12所述的方法,其特征在于,所述輸入數(shù)據(jù)是XML文檔、上下文無關(guān)語言以及關(guān)系數(shù)據(jù)中的至少一種。
18.一種便于數(shù)據(jù)訪問的系統(tǒng),包括用于接收輸入數(shù)據(jù)流的裝置;用于使用推斷組件處理所述輸入數(shù)據(jù)的裝置,所述推斷組件基于實(shí)際值在運(yùn)行時(shí)進(jìn)程中從中推斷類型模式;以及用于在運(yùn)行時(shí)進(jìn)程中執(zhí)行高速緩存操作以生成所述模式的裝置。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,還包括用于基于關(guān)于所述輸入數(shù)據(jù)的預(yù)定標(biāo)準(zhǔn)中的改變來隨時(shí)間更新所述推斷出的模式的裝置。
20.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述用于高速緩存的裝置還包括用于在運(yùn)行時(shí)進(jìn)程中高速緩存所述輸入數(shù)據(jù)、所述推斷出的模式、生成的源代碼、匯編碼以及反串行化信息中的至少一種的裝置。
全文摘要
提供運(yùn)行時(shí)模式推斷的系統(tǒng)和方法。推斷組件接收輸入數(shù)據(jù)流作為輸入,并在運(yùn)行時(shí)處理該輸入數(shù)據(jù)流來基于其實(shí)際值開發(fā)模式。然后使用推斷出的模式來創(chuàng)建作為輸入流數(shù)據(jù)的專用表示的推斷出的輸出數(shù)據(jù),然后可以有效和方便地訪問輸出的數(shù)據(jù)。
文檔編號(hào)G06F9/45GK1811712SQ20051013815
公開日2006年8月2日 申請(qǐng)日期2005年12月27日 優(yōu)先權(quán)日2005年1月27日
發(fā)明者H·J·M·美吉爾, O·V·奧巴桑喬 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1