用于保持?jǐn)?shù)據(jù)一致性的方法和系統(tǒng)的制作方法

            文檔序號:6614265閱讀:618來源:國知局
            專利名稱:用于保持?jǐn)?shù)據(jù)一致性的方法和系統(tǒng)的制作方法
            技術(shù)領(lǐng)域
            本發(fā)明涉及編程模型,更具體地說,涉及用于松耦合應(yīng)用的同步 和異步的面向數(shù)據(jù)編程模型的系統(tǒng)和方法。
            背景技術(shù)
            在當(dāng)今的web應(yīng)用中,瀏覽器端表示邏輯、服務(wù)器端"商業(yè),,邏 輯以及用于持久數(shù)據(jù)訪問和詢問的邏輯之間的傳統(tǒng)邊界迅速變得模 糊。這種邊界的模糊在所謂的web混用(mash-up)中尤為顯著,所 述web混用通常使用異步("AJAX,,)邏輯在瀏覽器中一同呈現(xiàn)大量 數(shù)據(jù)源和表示組件。目前,必須使用數(shù)據(jù)訪問語言、服務(wù)器端編程模 型和客戶端腳本模型的結(jié)合對所述應(yīng)用編程,這意味著為了在不同層
            之間移動,不得不全部重寫程序或者對程序進(jìn)行重大改變。所涉及的 大量語言還意味著不付出艱苦的努力就無法很好地構(gòu)建組件。

            發(fā)明內(nèi)容
            在此提供一種用于全領(lǐng)域web應(yīng)用以及其它松耦合分布式應(yīng)用 的統(tǒng)一編程模型,即, 一種能夠使用相同的基本編程構(gòu)造來表示應(yīng)用 邏輯、用戶交互作用和應(yīng)用邏輯的模型。除了提供單一的編程方法之 外,所述模型還簡化了分布式web應(yīng)用的構(gòu)建、升級和維護(hù)。
            一種被配置為用于建立和升級程序的反應(yīng)器及其方法,包括收 件箱(inbox),該收件箱被配置為用于對用于添加和刪除操作的更新 束(bundle)進(jìn)行排隊(duì)。將應(yīng)用操作配置為用于將預(yù)狀態(tài)與更新束進(jìn) 行比較以基于由更新束提供的添加和刪除來確定激勵狀態(tài)。根據(jù)所述 激勵狀態(tài)得出響應(yīng)狀態(tài)。從反應(yīng)器看來,所述響應(yīng)狀態(tài)是外部可見的。
            一種被配置為用于保持?jǐn)?shù)據(jù)一致性的反應(yīng)器及其方法。反應(yīng)器包括收件箱,該收件箱被配置為用于接收更新信息。應(yīng)用操作被配置為 用于將更新信息應(yīng)用于預(yù)狀態(tài)以基于更新信息來確定激勵狀態(tài)。根據(jù) 所述激勵狀態(tài)得出響應(yīng)狀態(tài)。所述響應(yīng)狀態(tài)是從反應(yīng)器看來外部可見 的唯一狀態(tài)。
            一種在包括計算機(jī)可讀程序的計算機(jī)可用介質(zhì)上實(shí)現(xiàn)的反應(yīng)器, 其中,所述計算機(jī)可讀程序在計算機(jī)上執(zhí)行時保持分布式網(wǎng)絡(luò)中的數(shù)
            據(jù)一致性,所述反應(yīng)器包括收件箱,該收件箱被配置為用于接收更 新信息;應(yīng)用操作,被配置為用于將更新信息應(yīng)用于預(yù)狀態(tài)以基于更 新信息來確定激勵狀態(tài);以及根據(jù)所述激勵狀態(tài)的響應(yīng)狀態(tài)。所述響 應(yīng)狀態(tài)是由分布式網(wǎng)絡(luò)系統(tǒng)中的其它部件從反應(yīng)器看來外部可見的 唯一狀態(tài)。
            一種在包括計算機(jī)可讀程序的計算機(jī)可用介質(zhì)上實(shí)現(xiàn)的反應(yīng)器, 其中,所述計算機(jī)可讀程序在計算機(jī)上執(zhí)行時保持分布式網(wǎng)絡(luò)中的數(shù) 據(jù)一致性,所述反應(yīng)器包括根據(jù)至少一個與反應(yīng)器關(guān)聯(lián)的關(guān)系提供的 反應(yīng)器狀態(tài),其中,根據(jù)在分布式網(wǎng)絡(luò)系統(tǒng)中接收的更新信息來修改 所述反應(yīng)器狀態(tài)。至少一個規(guī)則被配置為用于保持?jǐn)?shù)據(jù)一致性,從而 如果一致性被破壞,則反應(yīng)失敗,以致反應(yīng)器狀態(tài)回退到啟動反應(yīng)之 前的狀態(tài)。
            一種用于在分布式系統(tǒng)中保持?jǐn)?shù)據(jù)一致性的方法,包括將更新 信息輸入到反應(yīng)器,以原子方式(atomically )按照任何定單(order) 執(zhí)行在所有涉及的反應(yīng)器中的所有規(guī)則,以便確定所述反應(yīng)器以及反 應(yīng)中的其它反應(yīng)器的響應(yīng)狀態(tài)和未來狀態(tài)中的至少一個,如果至少一 個規(guī)則無法滿足,則以原子方式將所有涉及的反應(yīng)器回退到它們在所 述反應(yīng)之前的各個狀態(tài),如果反應(yīng)中的所有規(guī)則被滿足,則產(chǎn)生用于 其它反應(yīng)器的更新信息,以在整個分布式系統(tǒng)中保持?jǐn)?shù)據(jù)一致性。
            一種被配置為用于保持?jǐn)?shù)據(jù)一致性的系統(tǒng),包括多個反應(yīng)器, 設(shè)置在分布式系統(tǒng)內(nèi),其中,每個反應(yīng)器包括收件箱,被配置為用 于接收更新信息;應(yīng)用操作,被配置為用于將更新信息應(yīng)用于預(yù)狀態(tài) 以基于更新信息確定激勵狀態(tài);以及響應(yīng)狀態(tài),該響應(yīng)狀態(tài)根據(jù)所述激勵狀態(tài)得出。響應(yīng)狀態(tài)是從反應(yīng)器看來外部可見的唯一狀態(tài),其中,
            每個反應(yīng)器處于以下兩種情況中的至少一種每個反應(yīng)器異步響應(yīng)于 來自包括該反應(yīng)器本身的其它反應(yīng)器的更新信息;以及每個反應(yīng)器同 步響應(yīng)于從其它反應(yīng)器寫入的數(shù)據(jù)。
            通過以下對結(jié)合附圖閱讀的本發(fā)明示例性實(shí)施例的詳細(xì)描述,這 些和其它特征及優(yōu)點(diǎn)將變得清楚。


            將參照附圖公開以下對優(yōu)選實(shí)施例的描述中的細(xì)節(jié),在附圖中 圖1是示出根據(jù)本發(fā)明原理的反應(yīng)器的示例性核心語法的示圖; 圖2是示出根據(jù)本發(fā)明原理的可由反應(yīng)器執(zhí)行的示例性重寫規(guī) 則的示圖3是示出根據(jù)本發(fā)明原理的反應(yīng)器的框圖/流程圖4A和圖4B是分別示出根據(jù)本發(fā)明原理的對于其它反應(yīng)器的
            異步和同步引用的示圖;以及
            圖5是示出根據(jù)本發(fā)明原理的反應(yīng)器的狀態(tài)和過渡的狀態(tài)圖; 圖6是示出根據(jù)本發(fā)明原理的由反應(yīng)器執(zhí)行的操作的框圖/流程
            圖;以及
            圖7是根據(jù)一示例性實(shí)施例的構(gòu)建反應(yīng)器的與定單無關(guān)的聲明 規(guī)則集合的框圖/流程圖。
            具體實(shí)施例方式
            提供一種稱為反應(yīng)器模型的簡單和統(tǒng)一的編程模型的內(nèi)核。反應(yīng) 器模型適合建立和升級互聯(lián)網(wǎng)規(guī)模的程序。所述程序表征為松耦合分 布式組件的集合,所述松耦合分布式組件被隨時聚集,以生成復(fù)合應(yīng) 用。
            反應(yīng)器包括兩個主要組件可變狀態(tài),其形式為關(guān)系的固定集合; 以及代碼,其形式為datalog樣式的規(guī)則的固定集合。響應(yīng)于外部激 勵來執(zhí)行反應(yīng)器的代碼,所述外部激勵采用嘗試更新反應(yīng)器的狀態(tài)的形式。
            如在典型的進(jìn)程演算中那樣,反應(yīng)器模型適應(yīng)分布式的同步執(zhí)行 的進(jìn)程的集合。然而,不同于典型的進(jìn)程演算,可觀察行為是狀態(tài)序 列。類似地,到反應(yīng)器的接口僅僅是它的狀態(tài),而不是消息通道、端 口或方法的集合。此外,同步和異步組件構(gòu)建兩者均是被允許的。在
            一實(shí)施例中,datalog樣式的規(guī)則允許按照aspect-like以自然的方式 構(gòu)建分開指定的功能關(guān)注事物,由此簡化了分布式應(yīng)用的構(gòu)建、升級 和維護(hù)。
            本發(fā)明的實(shí)施例可采取全硬件實(shí)施例、全軟件實(shí)施例或包括硬件 部件和軟件部件兩者的實(shí)施例的形式。在優(yōu)選實(shí)施例中,以軟件來實(shí) 現(xiàn)本發(fā)明,所述軟件包括但不受限于固件、駐留軟件、微碼等。
            此外,本發(fā)明可采取以下形式可從計算機(jī)可用或計算機(jī)可讀介 質(zhì)訪問的計算機(jī)程序產(chǎn)品,其提供由計算機(jī)或任何指令執(zhí)行系統(tǒng)使用 或結(jié)合計算機(jī)或任何指令執(zhí)行系統(tǒng)使用的程序代碼。為了以下的描 述,計算機(jī)可用或計算機(jī)可讀介質(zhì)可以是任何可包括、存儲、交換、 傳播或傳輸程序的裝置,所述程序由指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用, 或者結(jié)合指令執(zhí)行系統(tǒng)、設(shè)備或裝置使用。所述介質(zhì)可以是電、磁、 光、電磁、紅外或半導(dǎo)體系統(tǒng)(或設(shè)備或裝置)或者傳播媒介。計算 機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲器、磁帶、可移除計算機(jī) 盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、剛性磁盤和 光盤。光盤的當(dāng)前示例包括壓縮盤-只讀存儲器(CD-ROM)、壓 縮盤-讀/寫(CD-R/W)和DVD。
            適合存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)可包括至少 一個處 理器,所述處理器通過系統(tǒng)總線直接或間接地耦合到存儲器部件。所 述存儲器部件可包括在實(shí)際執(zhí)行程序代碼期間使用的本地存儲器、海 量存儲器以及高速緩沖存儲器,所述高速緩沖存儲器對至少某些程序 代碼提供臨時存儲,以減少在執(zhí)行期間從海量存儲器取回代碼的次 數(shù)??芍苯踊蛲ㄟ^中間的1/0控制器將輸入/輸出或1/0裝置(包括但 不受限于鍵盤、顯示器、指點(diǎn)裝置等)耦合到系統(tǒng)。還可將網(wǎng)絡(luò)適配器耦合到系統(tǒng)以使得數(shù)據(jù)處理系統(tǒng)能夠通過中
            裝置。調(diào)制解調(diào)器、有線調(diào)制解調(diào)器和以太網(wǎng)卡僅僅是幾種當(dāng)前可用 的網(wǎng)絡(luò)適配器。
            反應(yīng)器模型的介紹反應(yīng)器模型是對以下三篇文獻(xiàn)的主要思想的 綜合和延伸同步語言(參見,例如,N.Halbwachs的"Synchronous programming of reactive systems, a tutorial and commented bibliography" in Tenth International Conference on Computer-Aided Verification, CAV,98 (Vancouver (B.C.) , 1998年6月),LNCS 1427, Spring Verlag ) 、 Datalog(參見,例如,J.D.Ullman的"Database and Knowledge-Base Systems", vol.1, Computer Science Press, 1998, ch.3,該文獻(xiàn)通過引用合并于此)、角色模型(參見,例如,G.Agha 等人的"A Foundation for Actor Computation", Journal of Functional Programming 7,1 ( 1997年1月),1-69)。通過Datalog,我們得 到用于數(shù)據(jù)詢問的可表達(dá)、聲明和容易構(gòu)建的語言。通過同步語言, 我們得到已定義好的"事件"和原子事件處理的概念。通過角色,我們 得到用于動態(tài)創(chuàng)建進(jìn)程和異步進(jìn)程交互作用的單一模型。
            反應(yīng)器包括兩個主要組件可變狀態(tài),其形式為關(guān)系的固定集合; 以及代碼,其形式為Datalog樣式的規(guī)則的固定集合。響應(yīng)于外部激 勵來執(zhí)行反應(yīng)器的代碼,所述外部激勵采用嘗試更新反應(yīng)器的狀態(tài)的 形式。當(dāng)發(fā)生激勵時,在反應(yīng)中同步地以原子方式應(yīng)用反應(yīng)器的規(guī)則, 以產(chǎn)生響應(yīng)狀態(tài)。除了確定響應(yīng)狀態(tài)之外,在反應(yīng)中評估規(guī)則會產(chǎn)出 新的反應(yīng)器,或產(chǎn)生當(dāng)前執(zhí)行的反應(yīng)器或其它反應(yīng)器的新的激勵。根 據(jù)本發(fā)明的原理,優(yōu)點(diǎn)在于在后來的反應(yīng)中,異步處理新產(chǎn)生的激 勵。提供一種簡單的機(jī)制以允許反應(yīng)器的集合在合適的時候作為 一個 單位共同反應(yīng),由此提供分布式原子事務(wù)處理的形式。
            如在典型的進(jìn)程演算中那樣,根據(jù)本發(fā)明原理的反應(yīng)器模型適應(yīng) 分布式的同步執(zhí)行的進(jìn)程的集合。然而,不同于典型的進(jìn)程演算,該 實(shí)施例包括作為狀態(tài)序列而不是消息序列的可觀察行為。類似地,到反應(yīng)器的接口僅僅是它的狀態(tài)("REST"樣式),而不是消息通道、 端口或方法的集合。根據(jù)具體實(shí)用的實(shí)施例,通過防止可從外部訪問 的反應(yīng)器狀態(tài)中的特定關(guān)系,并允許有數(shù)據(jù)庫樣式的視圖的規(guī)范(其 中,將可公共訪問的狀態(tài)保持為更詳細(xì)的私有狀態(tài)的抽象)來適應(yīng)信
            jt隱o
            將數(shù)據(jù)用作到組件的接口 ,并將Datalog用作用于定義程序邏輯 的基礎(chǔ)的一個顯著優(yōu)點(diǎn)在于這種組合從允許利用最少的用于控制和 數(shù)據(jù)依賴的關(guān)注或評估定單來構(gòu)建被寫為規(guī)則的分開指定的狀態(tài)更 新這個意義上來說是高度"聲明"的。這種方式適應(yīng)按照aspect-like方 式以自然的方式構(gòu)建將被構(gòu)建的分開指定的功能關(guān)注事物。
            根據(jù)本發(fā)明原理提供的反應(yīng)器模型的獨(dú)特之處在于在單一語言 中至少協(xié)調(diào)地組合以下屬性1)數(shù)據(jù)(而不是端口或通道)用作到 組件的接口, 2)利用動態(tài)產(chǎn)生進(jìn)程的能力,在相同的模型中處理同 步和異步交互作用,3)提供表達(dá)的數(shù)據(jù)詢問和轉(zhuǎn)換構(gòu)造,4)提供指 定約束/斷言作為核心語言的自然部分的能力,5)提供分布式原子事 務(wù)處理,6)以aspect-like方式實(shí)現(xiàn)功能的聲明的、數(shù)據(jù)驅(qū)動的組成 規(guī)范。
            根據(jù)本發(fā)明的原理,提供一種用于反應(yīng)的分布式應(yīng)用的編程模 型,其具有用于表示、商業(yè)邏輯、數(shù)據(jù)訪問的相同模型,并簡化構(gòu)建、 升級和應(yīng)用維護(hù)。目標(biāo)應(yīng)用包括web應(yīng)用(Web application )、分 布式商業(yè)應(yīng)用、"軟件供應(yīng)鏈,,等。
            考慮下面的反應(yīng)器聲明示例1 (定單入口 ( order entrv ) , REST 樣式)
            clef OrderEntry = {
            (* each order entry consists of an orderid (presumed unique), an iteiuid, and a quantity *)
            public orders:(int, int, int), (* log entries have same components as orders *) log: (int, int, int》. log (id, itemidl, qt:y》 <一 orders (id, itemid, qty) , }
            這一反應(yīng)器類型聲明定義一類反應(yīng)器,所述反應(yīng)器記錄定單,即,用于在線目錄應(yīng)用。使用稍后描述的機(jī)制來動態(tài)地創(chuàng)建反應(yīng)器實(shí)例。 以反應(yīng)的固定集合來表達(dá)反應(yīng)器的狀態(tài)。這些是值的固定數(shù)量元組的
            數(shù)據(jù)庫意義的集合中的關(guān)系。該示例中的每個OrderEntry反應(yīng)器的 狀態(tài)包括兩種關(guān)系,order和log,它們均是整數(shù)值的3元組的集合。 關(guān)系order具有訪問注釋public,這表示可由任何客戶機(jī)來讀取或更 新order的內(nèi)容。通過"更新",意味著可向order添加元組或從order 刪除元組;在該實(shí)施例中沒有其它形式的更新是可行的。關(guān)系log缺 少任何訪問注釋,其在默認(rèn)情況下是私有的,因此,僅可由反應(yīng)器本 身來讀取或更新關(guān)系log。
            當(dāng)由反應(yīng)器來處理來自外部資源的更新束時,產(chǎn)生反應(yīng)。更新束 可以是更新的集合,每個更新用于目標(biāo)反應(yīng)器(更新束的目標(biāo)是反應(yīng) 器)的一個公共關(guān)系。每個更新可以是值的元組的一對集合。更新束 或更新信息可包括標(biāo)量或其它類型的更新。在該示例中, 一種集合是 添加集合a+,將添加到關(guān)聯(lián)的關(guān)系的元組的集合;另一種集合是刪除 集合a-,包括將從關(guān)聯(lián)的關(guān)系刪除的元組。在以下的示例中, 一次僅 更新一種關(guān)系,通常僅添加或刪除單個元組。然而,更新束通??筛?新反應(yīng)器的任何公共關(guān)系,并且一次性添加和/或刪除任意數(shù)量的元 組。以下將更加詳細(xì)地討論更新束。
            通過將更新束應(yīng)用(apply)于反應(yīng)器的公共關(guān)系來開始反應(yīng)。 在反應(yīng)之前的那些關(guān)系的值將被稱為反應(yīng)器的預(yù)狀態(tài)。將更新束應(yīng)用 于預(yù)狀態(tài)將產(chǎn)生反應(yīng)的激勵狀態(tài)。反應(yīng)的激勵狀態(tài)(在概念上)是反 應(yīng)器的每個公共反應(yīng)的拷貝,其中應(yīng)用來自更新束的相應(yīng)更新。
            因此,例如,在OrderEntry的情況下,如果關(guān)系定單包括在反
            應(yīng)之前的單個元組(O, 1234, 3),并且通過利用a+= {(1,5667,2)}和a-
            應(yīng)用更新束來啟動反應(yīng),則在反應(yīng)開始的定單的激勵值將是關(guān)系{( 0, 1234, 3) , (1, 5567, 2) }。我們將可交替地引用"激勵狀態(tài)下反應(yīng) r的值"和"r的激勵值"。
            如果反應(yīng)器不包括規(guī)則,則通過簡單地將激勵狀態(tài)下關(guān)系的值復(fù) 制到反應(yīng)器的相應(yīng)公共關(guān)系來結(jié)束反應(yīng)(我們將引用關(guān)系在反應(yīng)的結(jié)束時的狀態(tài)作為它的響應(yīng)狀態(tài))。因此,在最簡單的形式中,反應(yīng)僅 僅是狀態(tài)更新。然而,多數(shù)關(guān)注的反應(yīng)器將具有一個或多個規(guī)則。
            反應(yīng)器規(guī)則可按照Datalog的樣式或其它關(guān)系數(shù)據(jù)庫代碼來寫 成反應(yīng)器規(guī)則;在圖1中示出用于反應(yīng)器和規(guī)則的示例性語法。可讀 取OrderEntry的單個規(guī)則,以便為了確保在反應(yīng)的結(jié)束,除了那 些在反應(yīng)之前已經(jīng)處于log (即,處于log的激勵狀態(tài))中的orderid 之外,log包含任何處于定單的激勵狀態(tài)下的orderid。因此,在反應(yīng) 之前orders={ (0, 1234, 3 ) }并且log={ ( 0, 1234, 3 ) }并且更新束 包含添加集合{(1, 5567, 2)}的情況下,定單的激勵值將等于KO, 1234, 3), (1, 5567, 2)}。當(dāng)規(guī)則評估完成時,反應(yīng)結(jié)束,在這種 情況下產(chǎn)生響應(yīng)狀態(tài),從而log-((O, 1234, 3) , (1, 5567, 2)} 并且orders-{ (0, 1234, 3) , (1, 5667, 2)}。應(yīng)注意在外部 觀察者看來,反應(yīng)是以原子方式發(fā)生的,即,無法從外部觀察到評估 處理的中間狀態(tài),并且直到先前的反應(yīng)完成,才可將另外的更新束應(yīng) 用到反應(yīng)器。
            反應(yīng)器規(guī)則的右手邊或主體(body)包括一個或多個主體語句。 在OrderEntry中,只有一個主體語句,形式定單的匹配謂項(xiàng)(id, 一, 一)。匹配謂項(xiàng)基本上是如下模式,其將由該模式(這里為定單)命 名的關(guān)系中的元組的元素的實(shí)例綁定到變量。這里,只有一個命名的 變量,即,id。下劃線是用于唯一的最新變量名的簡寫。對規(guī)則的評 估促使主體語句匹配于定單的每個元組,將依次匹配的每個元組的每 個orderid值綁定到變量id。由于規(guī)則左側(cè)的頭部語句包括與主體語 句相同的變量,所以確保log將包括綁定到在左手邊匹配的id的每個 值??蓪⒁?guī)則中的每個語句當(dāng)作邏輯意義上的謂項(xiàng),因此,邏輯讀取 的OrderEntry的規(guī)則將用于所有orderid的id,如果定單包括id, 則log也包含id。
            現(xiàn)在,從上述先前OrderEntry反應(yīng)的結(jié)果開始,考慮按照A+^ 和^={(0,1234,3)}應(yīng)用另一更新束的效果。將通過刪除定單來開始反應(yīng), 產(chǎn)生激勵狀態(tài)orders={(l, 5667, 2)}, log={(0, 1234, 3), (1, 5667,2)}。在刪除之后評估規(guī)則對log沒有凈影響,這是因?yàn)橹挥卸▎沃?的剩余元組已存在于log中。激勵被包括在響應(yīng)中的log的值中。由 于已經(jīng)是這種情況,所以規(guī)則對log沒有影響,我們得到響應(yīng)狀態(tài), 從而orders={ (0, 1234, 3 ) }并且log={ ( 0 ) , (1)}。這一規(guī)則的 效果在于確保log包含在定單中曾經(jīng)看到的每個orderid。如果我們想 要確保log被保持為定單的當(dāng)前值的確切拷貝(這意味著將根本不再 存在 log ),則我們將采用"非"規(guī)則not
            log (, id, itemid, qty)<- not orders (id, itemid, qty)。
            這一規(guī)
            則的效果在于確保如果orderid不存在于定單中,則其也不在log中; 即,其對元組刪除進(jìn)行編碼。盡管對于多數(shù)Datalog語言通常在主體 語句中允許"非,,,但是對規(guī)則的頭部進(jìn)行"非,,處理要少見得多。
            OrderEntry的一個顯著方面在于由客戶機(jī)直接更新定單的集 合,而不是由"請求方法"或"請求端口"作為中介。由OrderEntry表 達(dá)的web組件交互作用的"REST (代表狀態(tài)傳送)"樣式通過直接暴 露狀態(tài),而不是通過訪問方法或端口將狀態(tài)封裝(如在"面向服務(wù),,的 樣式中那樣)而使得能夠更加容易地升級web應(yīng)用。
            組合對激勵和響應(yīng)狀態(tài)的引用
            現(xiàn)在考慮以下的OrderEntry反應(yīng)器的可選形式。
            示例2 (定單入口,服務(wù)樣式)
            def Nonce = {} defOrderEntry2 = { (* order consists of an item number and a quantity *)
            public write orderRequest: (int, mt). (* each pending order consists of a nonce, an item number, and a quantity *) public read pendingOrciers: (ref Nonce, int, int). (* each log entry consists of a nonce *) log: (ref Nonce). (* 1 *) not orderRequest (item, qty) <-
            AorderRequest(item, qty). (*2*) pendingOrders (key, item, qty) <-
            AorderRequest (item, qty, key = new Nonce. (*3*) log(n) <- pendbgOrders (n,—,J).}
            在反應(yīng)器類型的OrderEntry中,系統(tǒng)中活動的所有定單的集合是可通過外部客戶機(jī)進(jìn)行公開地讀和寫的。在上述的可選
            OrderEntry2形式中,關(guān)系order-Request意在包括定單入口的集合, 所述定單入口在更新束中作為一個單位被"接收"并按照以下方式在 單個反應(yīng)中被處理newOrder中的每個入口被傳送到關(guān)系 pendingOrders中,以進(jìn)一步處理。當(dāng)pendingOrders入口凈皮創(chuàng)建時, 將唯一的key給予所述pendingOrders以使其區(qū)別于恰巧具有相同 item號碼和數(shù)量的不相關(guān)定單。在適當(dāng)?shù)剡M(jìn)行處理之后,在反應(yīng)結(jié)束 之前刪除定單請求。最后,如OrderEntry的情況那樣,對每個定單 創(chuàng)建長的入口。現(xiàn)在讓我們依次考慮OrderEntry2聲明的每個規(guī)則, 以查看如何實(shí)現(xiàn)所述功能。
            規(guī)則(1)的效果在于刪除所有的進(jìn)入定單入口 。語句 八orderRequest (item, qty)中的A是指在應(yīng)用更新束之后的 orderRequest的激勵值,即,orderRequest在反應(yīng)開始的值。相反, 規(guī)則(1)的頭部是指orderRequest的響應(yīng)狀態(tài),即,關(guān)系在反應(yīng)結(jié) 束的期望狀態(tài)。因此,該規(guī)則表述以下事實(shí)在響應(yīng)狀態(tài)中不應(yīng)存在 來自orderRequest的激勵值的元組。規(guī)則僅可引用主體語句中的關(guān)系 的激勵值;其不能引用頭部中的關(guān)系的激勵值。實(shí)際上,其可"讀取,, 激勵值,但是不能"寫入"激勵值。
            規(guī)則(2)將orderRequest關(guān)系的內(nèi)容傳送到pendingOrderss 關(guān)系(回憶所述規(guī)則在由規(guī)則主體匹配的元組上執(zhí)行隱含的迭代)。 語句key=new Nonce是使用比較運(yùn)算符定義的基本謂項(xiàng)語句的實(shí)例。 規(guī)則(2)具有兩個主體語句。規(guī)則評估確保每當(dāng)所有的主體語句 被滿足時,規(guī)則的頭部語句被滿足。由于key是自由變量,所以語句 key=new Nonce總是保持并具有將key綁定到類型Nonce的新創(chuàng)建的 反應(yīng)器的值的效果。創(chuàng)建反應(yīng)器產(chǎn)生全局唯一的反應(yīng)器引用。Nonce 是無價值的反應(yīng)器,其僅有的功能在于用作全局唯一值的產(chǎn)生器;將 所述值用作key將是非常方便的。接下來,我們將假設(shè)Nonce反應(yīng)器 類型被預(yù)先定義。最后,如在OrderEntryl中那樣,規(guī)則(3)記錄 所有的進(jìn)入定單。應(yīng)注意規(guī)則評估的結(jié)果對于聲明規(guī)則的定單是不在意的(例如, 規(guī)則是與定單無關(guān)的)。這一特征使得能夠在不需要關(guān)注控制或數(shù)據(jù) 依賴的情況下,通過改變規(guī)則集合來更加容易地更新反應(yīng)器的功能。 應(yīng)注意例如,規(guī)則(3 )在OrderEntry和OrderEntryl中同樣好地 工作,這表示規(guī)則可用于按照"aspect-like"方式指定正交功能"關(guān)注"。
            還應(yīng)注意可將規(guī)則(2 )等同地寫為not orderRequest (_,_) <-0=0。由于0-0是總被滿足的語句,所以該規(guī)則具有在評估之后聲明 在orderRequest中沒有元組的效果,即,在反應(yīng)的結(jié)束,其應(yīng)該被簡 單地設(shè)置為空。
            記法規(guī)定1 (無條件規(guī)則)。我們將"head clause <-."用作形式 "head-clause <- 0 = O"的無條件規(guī)則的簡寫。在OrderEntry2中, orderRequest用作請求"通道"或"端口 "在其之后立即處理和清除 (刪除)進(jìn)入請求。由于orderRequest被聲明為"公開寫",所以不能 從外部讀取。相反,OrderEntry2反應(yīng)器的可見狀態(tài)是不能公開寫的 pendingOrders的當(dāng)前值。相反,OrderEntry通過允i午客戶才幾直接操 縱它的外部可見狀態(tài)來進(jìn)行操作。由OrderEntry表達(dá)的組件交互作 用的"代表狀態(tài)傳送,,("REST")樣式通過直接暴露狀態(tài),而不是 在"面向服務(wù),,的樣式中經(jīng)由訪問通道/端口/方法將狀態(tài)封裝,而使得 能夠更加容易地升級web應(yīng)用。反應(yīng)器模型的顯著特征在于這兩種樣 式均可被容易地適應(yīng)。
            初始化、常數(shù)、預(yù)狀態(tài)引用和反應(yīng)失敗以下的反應(yīng)器定義一類 "cell":想要確切地保留一個值的反應(yīng)器。
            示例3 ( Cell)
            def Cell = { public val: (int). live:().
            (* initializations *) (*1*) live()<-. (*2*) val (0) <- not -live(). (* singleton constraint; if the body is satisfiable, the reaction fails and the reactor rolls back *) (*3*) not live( ) <- val(x), val(y), x < > y. }
            16"cell"的實(shí)例包括兩個關(guān)系具有cell的可公開訪問值的公共一 元關(guān)系val,以及私有空(即,布爾值)關(guān)系live。當(dāng)創(chuàng)建反應(yīng)器時, 它的所有關(guān)系最初為空(null)。規(guī)則(1)和(2)共同定義慣用語, 其將允許我們將關(guān)系初始化為非空值。首先,考慮規(guī)則(1)。該規(guī) 則將live定義為常數(shù),這是因?yàn)樗捻憫?yīng)值在每個反應(yīng)結(jié)束時評估為 非空(即,"真")?,F(xiàn)在,考慮規(guī)則(2)。在該規(guī)則中,在對規(guī)則 中的關(guān)系live的引用中的"-"是指關(guān)系的預(yù)狀態(tài),即,在反應(yīng)的開始之 前,并且在應(yīng)用更新束之前所述關(guān)系的值。關(guān)系的預(yù)狀態(tài)值還是在緊 前面的反應(yīng)的結(jié)束時的響應(yīng)值。當(dāng)引用關(guān)系的激勵狀態(tài)時,對關(guān)系的 預(yù)狀態(tài)的引用僅出現(xiàn)在規(guī)則的主體中,而不是它的頭部中。在這兩種 情況下,這相當(dāng)于禁止"對過去的更新"。
            在反應(yīng)器初始化之后產(chǎn)生的第一反應(yīng)中,live的預(yù)狀態(tài)值將是空 (即,"假"),因此,規(guī)則(2)將促使val被初始化為包括單個值O。 然而,由于"live"的預(yù)狀態(tài)值在除了其后面的第一個反應(yīng)之后的每個 事務(wù)開始時均為真,所以規(guī)則(2)對于第一個反應(yīng)之后的反應(yīng)沒有 影響,原因在于它的主體將是不被滿足的(即,-live ()將為真,由 此not-live ()將為假)。這表示cell在初始化之后可以被自由地更 新;規(guī)則(2)的形式確保其不會被不經(jīng)意地"重新初始化"為0。
            記法規(guī)定2 (初始化和失敗)。我們將假設(shè)每個反應(yīng)器包括下面
            的定義
            live:().
            live ( )<- not live ().
            我們還將使用FAIL作為形式not live ()的規(guī)則頭部的簡寫。 根據(jù)這些規(guī)定,以下形式的"初始化聲明,,r: (int, int)init[(l, 2) ; (3, 4)將代表以下的順序聲明
            r:(int, int).
            r (1, 2) <- not —live().
            r (3, 4, )<- not -live( )
            考慮cell的規(guī)則(3)。它的主體中的三個語句共同查看"val"是否包括多于一個值,即,其是否是單個值。如果不是,則規(guī)則需要滿
            足它的(左手邊)目標(biāo)語句,即,"live"將被設(shè)置為空(假)。然而, 任何這種嘗試與規(guī)則(1)中的謂項(xiàng)live不為空(為真)不一致。當(dāng) 在對于val有非單個值的情況下不存在滿足反應(yīng)器的所有規(guī)則的一致 方式時,反應(yīng)失敗。在這種情況下,響應(yīng)狀態(tài)回復(fù)到預(yù)狀態(tài)的值;這 一行為由此相當(dāng)于在事務(wù)系統(tǒng)中回退。反應(yīng)器模型的一個顯著屬性在 于可按照與表示狀態(tài)更新的規(guī)則精確相同的形式來表示數(shù)據(jù)庫樣式 中的"斷言"和"完整性約束"。應(yīng)注意反應(yīng)會由于除了諸如上述規(guī)則 (3)的不滿足"約束檢查"之外的原因而失敗。還應(yīng)注意到如果發(fā) 生回退,則反應(yīng)中涉及的所有反應(yīng)器回退。這是分布式反應(yīng)的形式并 可在分布式系統(tǒng)上出現(xiàn)。
            例如,考慮下面的無條件規(guī)則
            val (17) <-. not val (17) <-.
            這些規(guī)貝L是不一致的,因?yàn)樗鼈儑L試同時確保val包含和不包含 17,因此,任何包含它們的反應(yīng)將失敗。盡管所述情形看起來不大可 能,但是有可能建立在給定的特定初始條件下(例如,由于程序員的 失誤)無法滿足的更多現(xiàn)實(shí)的規(guī)則,以識別特定邊緣情況。 一種被關(guān) 注的挑戰(zhàn)在于使用程序分析來在統(tǒng)計上檢測可能出現(xiàn)運(yùn)行時間不一 致的時間。然而,應(yīng)注意運(yùn)行時間反應(yīng)失敗的可能性是反應(yīng)器模型 的"特征"而非限制,原因在于其提供用于檢測和管理程序員的說明書 中的固有不一致的通用機(jī)制。
            反應(yīng)器類型"cell"的實(shí)例的客戶機(jī)需要例如通過在添加不同值之 前刪除cell的當(dāng)前值來確保它們保持其單個值約束。然而,如果需要, 則"cell"的聲明可通過添加以下的規(guī)則被擴(kuò)展,以使得希望更新其值 的客戶機(jī)能夠更容易地避免不得不刪除先前值
            not val (x)<- -val (x),Aval x < > x'
            這一規(guī)則受關(guān)注是因?yàn)樗迷诖擞懻摰乃腥齻€反應(yīng)器狀態(tài) 預(yù)狀態(tài)、激勵狀態(tài)和響應(yīng)狀態(tài)。規(guī)則的主體查看val的激勵值是否包含不同于預(yù)狀態(tài)的項(xiàng)。如果包含,則從val的響應(yīng)值刪除不好的預(yù)狀 態(tài)項(xiàng)。然而,應(yīng)注意如果客戶機(jī)嘗試將多于一個區(qū)別插入單個更新 束,則單個值約束仍可能失敗。該示例示出反應(yīng)器規(guī)則的聲明特性如 何使其通過以非打擾的方式添加新的特征來直接對現(xiàn)有功能"逐漸提 煉"。
            異步到目前為止,僅解釋了當(dāng)應(yīng)用更新束時反應(yīng)器如何反應(yīng)。 現(xiàn)在,我們描述如何產(chǎn)生更新(例如,更新束),并解釋該處理如何 密切地連接到異步交互作用。考慮以下的示例,該示例計算Fibonacci 序列的連續(xù)值
            示例4 (自反應(yīng)Fibonacci)
            def Fibonacci = ■{ (* complete series thus far; first element is index, second element is value *)
            public read series: (int, int) init [ (l,O); (2,1)〗, (* must be true for computation to take place *^ public write run: ( ) init [()). temporary relation holding all indices in the sequence less than the maximum *) ephemeral notLargest: (int). (* compute indices in "series" less than max *) notLargest (n) <-
            series (n, — ), series (n,, —), n, > n. (* next "series" value computed from current values *) —2" series A(n, xl+x2) <-not notLargest (n),
            series (n-l, xl), series (n, x2). (* halts computation if "run" set to false *)
            —3*) FAIL <-not -run (), not Aruti(). }_
            關(guān)系序列包括元素對,其第一元素是序列值的順序位置,其第二 元素是序列的相應(yīng)值。為了計算序列的下一元素,我們需要首先識別 到目前為止計算的序列的最后兩個元素。需要全稱量詞化來確定序列
            的最大元素;然而,Datalog規(guī)則的主體本質(zhì)上僅可對現(xiàn)存屬性進(jìn)行 編碼。為了計算全稱屬性,我們通常需要輔助關(guān)系。這里,我們使用 短暫或"臨時"關(guān)系notLargest,其用于包括少于最大索引的序列的元 素的所有索引。短暫關(guān)系在反應(yīng)之間不持久,即,它在反應(yīng)結(jié)束時的 值不被"寫回"以參與未來的反應(yīng)。然而,短暫關(guān)系通常可以是公開的,這允許通過更新束(它的初始值否則為空)來對其進(jìn)行初始化。規(guī)則
            (1)使用在匹配語句中嵌入的表達(dá)式的以下簡寫來定義notLargest 的內(nèi)容。
            記法規(guī)定3。形式的規(guī)則
            rl (exp。》 < i (e叩^….,其中,expi是圖i中的非終止符Exp
            的實(shí)例,并且是以下項(xiàng)的簡寫
            rl(x0) <- ...ri (xi). … ,x0 - exp0 , . . ,,xi = expi .
            其中,xi是所有的最新變量。
            規(guī)則(2)根據(jù)按照上述方式先前計算的值來計算Fibonacci序 列的下一值。然而,應(yīng)注意該規(guī)則的頭部中的關(guān)系具有形式seriesA。 這一形式的關(guān)系名稱是指關(guān)系的未來狀態(tài)。未來狀態(tài)定義在隨后的反 應(yīng)中在當(dāng)前反應(yīng)結(jié)束之后處理的更新束的內(nèi)容。因此,可將關(guān)系的未 來值看作用于定義異步更新或分派"消息"。作為引用序列的未來值的 結(jié)果,當(dāng)序列的連續(xù)值被添加到列表時,所述序列的連續(xù)值對于外部 觀察者而言分別可見。用于引用反應(yīng)的激勵值(例如, (x))和反應(yīng) 的未來值(例如,rA(s))的對稱寫法意在強(qiáng)調(diào)它們的補(bǔ)充作用未來 值引用產(chǎn)生更新束,激勵值引用產(chǎn)生關(guān)系在已經(jīng)應(yīng)用更新束之后的 值。
            Fibonacci的規(guī)則(3)添加最后的特征停止計算序列的能力。 如果run的預(yù)狀態(tài)和激勵值均為假,則規(guī)則導(dǎo)致失敗,由此防止產(chǎn)生 對序列的進(jìn)一步更新。應(yīng)注意該規(guī)則不會防止run本身的狀態(tài)被客 戶機(jī)改變。
            Fibonacci的實(shí)例可對兩個不同類的更新束作出反應(yīng)在內(nèi)部產(chǎn) 生的具有序列的新值的更新束,和客戶機(jī)產(chǎn)生的影響run的值的更新 束。由于"序列"不是公開的,所以客戶機(jī)不能更新"序列"。Fibonacci 反應(yīng)器不會產(chǎn)生影響"run"的值的更新束,原因在于其沒有引用"run" 的未來值的規(guī)則。因此,更新束將包含對"序列,,或"run"的更新,但 是不包含對這兩者的更新。
            通常,不同的反應(yīng)器同時獨(dú)立地操作(盡管多個反應(yīng)器可在特定情況下作為一個單位作出反應(yīng))。根據(jù)這一事實(shí),多個"源"反應(yīng)器可
            產(chǎn)生定義用于相同"目標(biāo)"反應(yīng)器的更新束的更新束。在Fibonacci反 應(yīng)器實(shí)例的情況下,可在所述實(shí)例的先前反應(yīng)正在進(jìn)行的同時,由客 戶機(jī)通過嘗試更新"run"的值來產(chǎn)生更新束。由于反應(yīng)以原子方式發(fā) 生,所以將未決客戶機(jī)更新排隊(duì),直到先前反應(yīng)完成。為此,每個反 應(yīng)器具有相關(guān)的收件箱隊(duì)列,其包括未決更新束(或其它更新信息) 的多個集合。當(dāng)反應(yīng)完成時,反應(yīng)器檢查新的更新束的存在。如果在 隊(duì)列中存在一個新的更新束,則使其出列并啟動反應(yīng)。如果不存在新 的更新束,則反應(yīng)器是靜止的,直到新的更新到達(dá)。應(yīng)該公平地執(zhí)行 處理收件箱的項(xiàng)(更新束)的定單。
            根據(jù)對目標(biāo)為Fibonacci實(shí)例的更新束作出反應(yīng)的定單,可多于 一次地產(chǎn)生序列的相同元素。這不會有問題,因?yàn)槎嘤谝淮蔚貙⑾嗤?的序列元素添加到相同的關(guān)系不具有有效影響。然而,可按照這種方 式來重寫Fibonacci,以確保序列的每個元素確切地產(chǎn)生一次。
            盡管將Fibonacci設(shè)計為使得更新束每次僅可更新一個關(guān)系,但 是更新束通常包括對于多于一個關(guān)系的更新??紤]例如想要更新服務(wù) 器上保持的定單的樹(例如,XML樹)的客戶機(jī)??墒褂霉?jié)點(diǎn)上的 兩種關(guān)系來保持定單的樹父子關(guān)系、下一同胞關(guān)系。在這種情況下, 更新很自然地影響這兩種關(guān)系。
            反應(yīng)器引用和異步交互作用到目前為止,我們的示例僅考慮了 單個反應(yīng)器類型(除了 Nonce的無價值情況)。現(xiàn)考慮以下的示例。
            示例5 (異步詢問/響應(yīng))def Sample = { (* reactor reference to sensor; assumed to be
            initialized by client public rSensor: (ref Sensor). (* samples collect thus far; uses nonce to distinguish multiple measurements of the same sample *) public log: (ref Nonce, int) (* "ports" for interaction *) public write ephemeral pulse:(). public write ephemeral response: (int). (* dispatch request for alue,, when "pulse" set *) (*1*) s.requestA(self) <- Apulse (), rSensor(s). (* process response by adding sample to log *) 〖*2*) log(new Nonce, r) <- ^response (r). } def Sensor = { public write ephemeral request: (ref Sample), public val: (int).
            dispatch response when client sets "request" *) r.response A(v) <- value (v),八request (r),
            (* singleton constraint " FAIL <- val(x) <val(y), x y. }
            反應(yīng)器類型"Sample (樣本)"和"Sensor (傳感器)"對"典型"
            的異步請求/響應(yīng)相互作用進(jìn)行編碼。為了使得兩個反應(yīng)器實(shí)例能夠通 信,我們使用諸如存儲在關(guān)系rSensor中的反應(yīng)器引用。"樣本"的規(guī) 則(1)的效果在于當(dāng)"樣本"的客戶機(jī)更新pulse時,分派對于由"傳 感器,,保持的當(dāng)前值的異步請求。規(guī)則(1)中的表達(dá)式s,requestA(self) 包括對關(guān)系rSensor的間接引用首先,存儲在關(guān)系rSensor中的反 應(yīng)器引用被綁定到變量s,然后,我們使用表達(dá)式s.request間接引用 傳感器實(shí)例的關(guān)系"請求",由于我們引用s.request的未來值,所以異 步更新束被分派到包含對請求器實(shí)例的自引用的傳感器實(shí)例,所述請 求器實(shí)例由自身構(gòu)造產(chǎn)生。
            傳感器實(shí)例通過經(jīng)由請求器設(shè)置的反應(yīng)器引用間接地設(shè)置響應(yīng) 關(guān)系來分派傳感器的當(dāng)前值,從而對請求作出響應(yīng)。由于r.responseA 引用未來值,所以響應(yīng)是異步的。請求器通過用響應(yīng)的值來更新log 來類似地處理來自傳感器實(shí)例的響應(yīng)。應(yīng)注意"樣本"的規(guī)則(2)具有多個頭部;其僅僅是單獨(dú)規(guī)則 的簡寫,每一個具有一個頭部,多個頭部共享相同的主體。
            為了示例樣本和傳感器實(shí)例并將它們連接到 一起,另 一反應(yīng)器包 括以下形式的規(guī)則
            s.rSensor (d) <畫s=new Sample, d= new Sensor
            這一規(guī)則創(chuàng)建了樣本和傳感器兩者的實(shí)例,并更新產(chǎn)生的樣本實(shí) 例的rSensor關(guān)系,以指向傳感器實(shí)例。樣本與傳感器實(shí)例之間的請 求-響應(yīng)循環(huán)需要三種不同的反應(yīng)樣本客戶機(jī)設(shè)置pulse (其將請 求分派到傳感器)的反應(yīng)、傳感器對所述請求作出響應(yīng)的反應(yīng)、以及 請求器更新log的值的反應(yīng)。
            復(fù)合同步響應(yīng)在示例5中,兩個反應(yīng)器實(shí)例異步地相互作用。 現(xiàn)在考慮示例6。
            示例6 (典型事務(wù))
            def Acct = ■{ public balance: (int). (* singleton constraint on balance *) FAIL <- balance (x), balance (y), x y.
            negative balances not allowed FAIL <-balance (x), x < 0. }
            def Minibank = {
            (* request consists of transfer amt, to account, from account" public write ephemeral transferReq: (int, ref Acct, ref Acct). to.balance (x+amt), not to,bai咖e (x) <-
            AtransferReq (amt, to, _), to.balance (x). from.balance (y-amt), not from.balance (y) <-、加sferReq (amt, _, from), not from,Gal加ce (y). }
            在示例6中,小型銀行的實(shí)例接收用于在帳戶之間轉(zhuǎn)移錢財?shù)漠?步請求。如示例5所示,我們使用引用使反應(yīng)器一起是"垂直的"。 然而,應(yīng)注意對兩個帳戶的收支差額關(guān)系的引用會引用它們的響應(yīng)
            值,而不是它們的未來值,例如,我們4吏用to' , balance (x+amt〉而 不是balanceA(x+amt)。這表示如果在小型4艮行的實(shí)例中,由具有新 的請求元組的更新束啟動反應(yīng),則反應(yīng)器的范圍將延伸到包括兩個帳戶反應(yīng)器(分別通過變量向外和向內(nèi)引用)。這將產(chǎn)生涉及三個反應(yīng) 器實(shí)例的復(fù)合的、同步的、原子的反應(yīng)。范圍延伸是固有的動態(tài)處理,
            類似于分布式事務(wù)每當(dāng)間接關(guān)系引用被寫入時,反應(yīng)的范圍延伸到 包括受影響的反應(yīng)器。以下將描述范圍延伸處理的細(xì)節(jié)。
            應(yīng)注意規(guī)則Acct (帳戶)對關(guān)于收支差額的可允許值的約束 進(jìn)行編碼。在復(fù)合反應(yīng)中,必須滿足所有涉及的反應(yīng)器的所有規(guī)則, 以便反應(yīng)能夠成功。如果任何規(guī)則失敗,則復(fù)合反應(yīng)失敗,所有的反 應(yīng)器回復(fù)到它們的預(yù)反應(yīng)狀態(tài)。復(fù)合反應(yīng)總是在單個啟動站點(diǎn)被啟 動,在反應(yīng)器實(shí)例中,某些異步產(chǎn)生的更新束被處理。在示例6的情 況下,復(fù)合反應(yīng)在小型銀行實(shí)例中總是被啟動。
            復(fù)合反應(yīng)中涉及的反應(yīng)器可分開定義相同反應(yīng)器實(shí)例的關(guān)系的 未來值。在這種情況下,組合了所有涉及的反應(yīng)器的復(fù)合未來值更新 的單個更新束在復(fù)合反應(yīng)結(jié)束時被分派到每個目標(biāo)反應(yīng)器。從這個意 義上來說,在外部觀察者看來,復(fù)合反應(yīng)具有與涉及單個反應(yīng)器的反 應(yīng)相同的原子屬性。
            復(fù)合反應(yīng)以及用戶接口部件示例7中示出某種程度上更加完整
            的示例,以下示出可如何基于關(guān)聯(lián)的數(shù)據(jù)庫的當(dāng)前內(nèi)容動態(tài)地例化
            (instantiate)多個用戶接口部件。這;f莫擬建立動態(tài)的、數(shù)據(jù)驅(qū)動的 用戶接口部件的處理。
            示例7 (數(shù)據(jù)驅(qū)動的UI)def ButtonWidget - { public label: (string), public write ephemeral pressed:(). FAIL <- label (x), label (y), x < > y, } def OutputWidget = { public label: (string), public val: (string). FAIL <- label (x), label (y), x o y. FAIL <- val (x), val (y), x <> y. } def DataDisplay = { (* database: entry is (itemid, qty) pair *)
            public db: (int, int) (* list of button / output widget pairs, indexed by itemid " widgets: (int,ref ButtonWidget, ref OutputWidg改). (* labels of widgets are constants *)
            o.label ("Inventory: ',) 〈-widgets (_, 一,。), (*2*) b.label ("Click to decrement") <- — widgets (_, b, 一 ) (* projection of relations onto their itemids *) ephemeral childltemsPrev: (int). ephemeral dbltems: (int). (*3*) childltemsPrev (i) <- -widgets (i,—,—). (*4*) dbltems (i) <- db (i, _). ——
            (* add new child widget if new item added to db " (*5*) children (i' new ButtonWidget, new OutputWidget) <-db (i, _), not in chi,dltemsPrev (i). (* delete widgets if corresponding item removed from db *) (*6*) not widgets (i, 一, 一 ) <_
            -widgets (i,」—X not dbltems (i).
            (* output value set to qty of corresponding item *) o.val (toString (q)),加to.val(s) <-widgets (i, 一, o), db (i, q), -o.val(s), (* button increments qty of corresponding item *) (*8*) db(i,q-l),notdb(i,q) <-
            -db (i, q), widgets (i, b, _ ), b.pressed (). }
            DataDisplay的基本構(gòu)思在于為數(shù)據(jù)庫中的每個項(xiàng)產(chǎn)生按鈕和輸 出字段。ButtonWidget和OutputWidget是可重復(fù)使用的用戶接口部 件,其代表為關(guān)系db中的每個項(xiàng)產(chǎn)生的按鈕和輸出字段。如此產(chǎn)生 的按鈕是"活動,,的按下它們將促使關(guān)聯(lián)的數(shù)據(jù)被減少,這又將導(dǎo)致 對用戶接口 (UI)的更新。
            規(guī)則(1) 、 (2) 、 (3)和(5)共同為db中的每個項(xiàng)創(chuàng)建新 的widget。規(guī)則(1)和(2)初始化用于widget的標(biāo)簽。盡管用于ButtonWidget和OutputWidget的規(guī)則是簡單的約束,但是我們注意 到用于新創(chuàng)建的反應(yīng)器的規(guī)則被評估為創(chuàng)建它們的"父"反應(yīng)器的一 部分。規(guī)則(7)將輸出字段的值設(shè)置到當(dāng)前保存在數(shù)據(jù)庫中的數(shù)量 的值。規(guī)則(8)將相應(yīng)按鈕和數(shù)據(jù)庫項(xiàng)"接線,,到一起,從而當(dāng)按鈕 被按下時,相應(yīng)的數(shù)據(jù)項(xiàng)被增加。
            參照圖2,示出了根據(jù)一示例性實(shí)施例的示出反應(yīng)器的核心語法 的程序代碼。反應(yīng)器包括關(guān)系和規(guī)則,并且可被分類為分布的反應(yīng)的、 單線程的、狀態(tài)化的單元。注意到以下內(nèi)容即足夠反應(yīng)器的規(guī)則可 引用反應(yīng)器本身的關(guān)系(本地關(guān)系)和其它反應(yīng)器的關(guān)系(遠(yuǎn)程關(guān)系), 兩種關(guān)系均處于主體和頭部中。在概念上,規(guī)則讀取出現(xiàn)在主體中的 所有關(guān)系以及以非的形式出現(xiàn)在頭部中的任何關(guān)系。因此,可在統(tǒng)計 上確定規(guī)則對于讀取訪問的需要。盡管在實(shí)際中,在清楚主體無法匹 配任何元組之后,將不再讀取附加關(guān)系。通常僅可在運(yùn)行時間確定規(guī) 則是否將在被評估時寫入頭部關(guān)系,原因在于讀取要匹配于滿足主體 進(jìn)行寫入發(fā)生的事實(shí)的非空集合。為此,我們將使用術(shù)語"讀取 (read)"來引用靜態(tài)屬性,而不考慮任何可避免不必要讀取的優(yōu)化。 另一方面,術(shù)語"寫入(write)"將嚴(yán)格地保留為用于動態(tài)屬性,即, 僅當(dāng)主體在被評估時產(chǎn)生至少 一個匹配時,頭部關(guān)系被認(rèn)為將被寫 入。
            關(guān)系和枚舉關(guān)系是元組的集合(n, ..., rn),其中,每個ri 是類型整型、字符、枚舉類型名稱、ref名稱之一?;绢愋途哂型?常的含義。以下描述反應(yīng)器引用、ref名稱。當(dāng)反應(yīng)器被例化時,關(guān) 系為空。當(dāng)元組x出現(xiàn)在關(guān)系r中時,我們說r (x)是一個事實(shí)。枚 舉引入在約束的有限集合上的一種新排列(即,空類型的約束)。例 如,enum season={Spring, Winter, Summer, Fall》引入具有四個常量 類型的季節(jié)。
            除了在反應(yīng)之間持久不變的規(guī)律關(guān)系之外,反應(yīng)器可聲明短暫的 關(guān)系。這些關(guān)系可按照與規(guī)律關(guān)系精確相同的方式從內(nèi)部和外部寫入 和讀取,但是它們在關(guān)系之間不持久。反應(yīng)當(dāng)反應(yīng)器接收到更新束時,反應(yīng)開始。更新束可以是從接
            受方的公開關(guān)系名稱到集合對(A+, A)的總映射,其中,A+和A是 分別從所述關(guān)系添加和刪除的元組的集合,并且A+門A-更新束
            應(yīng)該包括至少一個非空集合,即,完全空的更新束不能很好地形成。
            反應(yīng)器在接收到更新束之前的狀態(tài)稱為預(yù)狀態(tài)。將更新束應(yīng)用于 反應(yīng)器的預(yù)狀態(tài),結(jié)果產(chǎn)生激勵狀態(tài)。此外,反應(yīng)可產(chǎn)生某些未來狀 態(tài)的更新,這些更新形成啟動后來的反應(yīng)的更新束。響應(yīng)于更新束, 反應(yīng)器評估它的所有規(guī)則,當(dāng)進(jìn)行所述評估時,其可將反應(yīng)的范圍延
            伸到包括其它反應(yīng)器??砂凑找韵聝煞N方式進(jìn)行延伸l.當(dāng)新的反應(yīng) 器被例化時,將其包括在促使其被例化的反應(yīng)的范圍中。2.當(dāng)任何關(guān) 系(本地或遠(yuǎn)程)的響應(yīng)狀態(tài)被寫入時,將包括所述關(guān)系的反應(yīng)器以 及包括讀取所述關(guān)系的規(guī)則的所有反應(yīng)器包括在正在進(jìn)行的反應(yīng)的 范圍中。每當(dāng)規(guī)則產(chǎn)生用于所述關(guān)系的響應(yīng)狀態(tài)更新時,我們就說關(guān) 系被寫入,而不考慮其是否產(chǎn)生狀態(tài)改變(例如,添加已經(jīng)存在的元 組會構(gòu)成寫入)。
            被動讀取是一例外。被動讀取是指從遠(yuǎn)程關(guān)系的預(yù)狀態(tài)讀取。被 動讀取與其它遠(yuǎn)程讀取的區(qū)別在于寫入關(guān)系自身將不會造成反應(yīng)延 伸到閱讀器。當(dāng)包括在反應(yīng)中的所有反應(yīng)器已到達(dá)滿足它們的規(guī)則的 狀態(tài),或者已存在沖突(見下)并且所有涉及的反應(yīng)器回復(fù)(回退) 到它們的預(yù)狀態(tài)(即,在更新束發(fā)生之前或所述反應(yīng)器被包括在反應(yīng) 中之前所處的狀態(tài)),所述反應(yīng)完成。以下描述反應(yīng)的事務(wù)屬性。
            如上所述,當(dāng)關(guān)系寫入任何本地或遠(yuǎn)程關(guān)系的未來狀態(tài)時會產(chǎn)生 一個或多個新的更新束。反應(yīng)可產(chǎn)生許多更新束,但是在一實(shí)施例中, 其對于每個接收者可僅產(chǎn)生一個更新束。如果若干不同的有關(guān)反應(yīng)器
            對于相同的接收者產(chǎn)生更新束,則更新將被組合為一個更新束。在反 應(yīng)回退的情況下,不產(chǎn)生更新束。如果反應(yīng)更新反應(yīng)器d, ..., Cn 的未來狀態(tài),則其產(chǎn)生n個不同的更新束,并且每個Ci將具有對于它 自己的更新束而言分開且獨(dú)立的反應(yīng)。即使Ci的反應(yīng)的范圍碰巧擴(kuò)展 到包括某些其它的Cj, Cj的更新束也不會在所述反應(yīng)中被處理(或者甚至不會被看到)。
            可將反應(yīng)器的外部可見壽命循環(huán)示為一系列響應(yīng)狀態(tài) 實(shí)例化和反應(yīng) 更新i 更新2
            畫>響應(yīng)o -> 響應(yīng)i- >.. 術(shù)語預(yù)狀態(tài)、激勵狀態(tài)、響應(yīng)狀態(tài)和未來狀態(tài)僅相對于特定反應(yīng)
            有意義,這是因?yàn)橐粋€反應(yīng)的響應(yīng)狀態(tài)是下一反應(yīng)的預(yù)狀態(tài);并且一 個反應(yīng)的未來狀態(tài)分裂成為 一個或多個后續(xù)反應(yīng)的激勵狀態(tài)。反應(yīng)器 的規(guī)則可通過程序引用所有四種狀態(tài)其可讀取預(yù)狀態(tài)、激勵狀態(tài)和 響應(yīng)狀態(tài);其可寫入響應(yīng)狀態(tài)和未來狀態(tài)。
            當(dāng)反應(yīng)器響應(yīng)于更新束而開始反應(yīng)時,它的預(yù)狀態(tài)和激勵狀態(tài)將 通常變得不同(除非應(yīng)用更新束不產(chǎn)生改變),原因在于更新束的內(nèi) 容反應(yīng)在激勵狀態(tài)中。如果反應(yīng)范圍延伸到(或影響)其它反應(yīng)器, 然而,它們的預(yù)狀態(tài)和激勵狀態(tài)將相同。
            動態(tài)反應(yīng)器創(chuàng)建存在幾種引入對反應(yīng)器的引用的方式。關(guān)鍵字 "自我"在用于規(guī)則中時,用于評估對包含的反應(yīng)器的引用。表達(dá)式new reactor-type-name用于例化給定類型的新反應(yīng)器,將當(dāng)前反應(yīng)延伸為 包括所述新反應(yīng)器,并評估到所述新反應(yīng)器中的引用。
            反應(yīng)器引用是可被讀取,寫入和比較的總定單值??偠▎问菢?biāo)準(zhǔn) Datalog要求,以允許域上的聚合函數(shù)(計數(shù),求和等)。
            沖突和回退反應(yīng)是所有參與反應(yīng)器的所有規(guī)則的評估。結(jié)果, 規(guī)則對(涉及的反應(yīng)器的)響應(yīng)狀態(tài)和(任意反應(yīng)器的)未來狀態(tài)產(chǎn) 生添加和刪除。如果對于任何持久或短暫的反應(yīng),對于添加和刪除兩 者記錄相同的元組,則存在沖突。更具體地說,假設(shè)具有持久關(guān)系
            r"…,rn和短暫關(guān)系(臨時) rn+i, …,rn+m 的反應(yīng)器,反應(yīng)對于每
            個關(guān)系產(chǎn)生將被添加的元組集合和將被刪除的元組集合。我們將這些
            分別表示為 以及 Z一 ) …9 T A_ 。類似地,對于未來狀態(tài),
            —1 -w+ml -l -w+wl
            我們將其表示為,",…,,r以及"r,…,r,。
            如果對于任何i, ,n/-一,或者對于任何j, /^+r> A、—則存
            一/ 一/ — 一
            在沖突。應(yīng)注意響應(yīng)狀態(tài)與未來狀態(tài)之間的不一致不會引起沖突。此外,應(yīng)注意到短暫關(guān)系即使不持久,也仍舊遵循一致性檢查。
            如果存在沖突,則所有參與反應(yīng)器回復(fù)到它們的預(yù)狀態(tài),并且不 分派更新束。如果沒有檢測到?jīng)_突,則應(yīng)用對于響應(yīng)狀態(tài)的添加和刪 除,并且分派對于未來狀態(tài)的添加和刪除作為更新束。
            鎖定和反應(yīng)當(dāng)反應(yīng)擴(kuò)展到包括幾個反應(yīng)器時,復(fù)合反應(yīng)應(yīng)按照 與具有一個反應(yīng)器的反應(yīng)出現(xiàn)的相同方式表現(xiàn)為一個原子過渡中。以 下的鎖定規(guī)定確保這一屬性。
            反應(yīng)器當(dāng)同意對更新束作出反應(yīng)時進(jìn)行鎖定,并且在反應(yīng)的持續(xù) 期間保持鎖定狀態(tài),直到發(fā)現(xiàn)或提交響應(yīng)狀態(tài),或者沖突促使反應(yīng)器 回退到預(yù)狀態(tài)。當(dāng)反應(yīng)器被鎖定時,其拒絕與不是相同反應(yīng)的一部分 的反應(yīng)器的任何交互作用(包括讀取訪問、寫入訪問以及開始對其它 更新束作出反應(yīng))。
            簡言之,我們可觀察到如果反應(yīng)器被鎖定,則該反應(yīng)器被包括 在正在進(jìn)行的反應(yīng)中,或者所述反應(yīng)器的至少一個關(guān)系已經(jīng)或?qū)⒁?正在進(jìn)行的反應(yīng)中的另一反應(yīng)器讀取。反之并不總是如此,這是因?yàn)?正在進(jìn)行的反應(yīng)可能需要讀取反應(yīng)器,但是仍未鎖定。這種情況很容 易發(fā)生,例如,如果反應(yīng)器忙于服務(wù)于其它請求。直觀地,反應(yīng)范圍 擴(kuò)展到包括所有擁有或(非被動地)讀取正在寫入的關(guān)系的反應(yīng)器, 同時,鎖定動態(tài)地擴(kuò)展到包括所有擁有正在讀取的關(guān)系的反應(yīng)器(以 及所有在所述反應(yīng)范圍中的反應(yīng)器)。
            當(dāng)遠(yuǎn)程反應(yīng)器被讀取時,需要對于反應(yīng)器的專門加鎖,并在反應(yīng) 的整個持續(xù)期間保持鎖定。假如稍后需要在相同的反應(yīng)中寫入相同的 遠(yuǎn)程反應(yīng)器,則所述極其具有保護(hù)作用的鎖定策略保證對遠(yuǎn)程反應(yīng)器 的預(yù)狀態(tài)和響應(yīng)狀態(tài)的引用將實(shí)際上引用所述反應(yīng)器的兩個連續(xù)狀 態(tài),這是因?yàn)槠渖形幢会尫乓酝瑫r服務(wù)于任何其它反應(yīng)。在這種設(shè)置 中很自然地出現(xiàn)死鎖的問題,將在下面來討論這一問題。
            反應(yīng)器的任何實(shí)施應(yīng)該保證以上概括的語義,但是可進(jìn)行幾種優(yōu) 化。首先,基于類型的靜態(tài)依賴檢查可在許多情況下確定讀取的反應(yīng) 器是否從未被寫入反應(yīng)中。在這種情況下,讀取的鎖定可在完成時立即被解除,或者如果給予反應(yīng)器助手線程來服務(wù)于閱讀器,則甚至可 同時允許幾個閱讀器。其次,優(yōu)化策略可避免在讀取完成之后保持讀
            取鎖定,而是簡單地檢查沒有發(fā)生其它的干擾寫入,反應(yīng)需要寫入遠(yuǎn)
            程反應(yīng)器。
            規(guī)則可讀取規(guī)則聲明"用于以下元組的每個組合,所述元組匹
            配主體,將由頭部語句命令的更新要求添加到由頭部語句識別的狀
            態(tài)"。我們發(fā)現(xiàn)Datalog規(guī)則是一種方便的用于指定規(guī)則的一個概念
            的方式。其它語言和規(guī)則集合也可被理解。標(biāo)準(zhǔn)Datalog程序(即,
            普通程序)允許主體語句中的"非"。對于具有算術(shù)的標(biāo)準(zhǔn)Datalog的
            總體概述參見以上引用的Ullman的文章。為了全面支持一類目標(biāo)應(yīng)
            用以及目前提供的方式,需要對標(biāo)準(zhǔn)Datalog施加以下條件(i)頭
            部語句中的"非"(為了表示刪除);(ii)狀態(tài)更新(從規(guī)則評估清
            楚分離的連續(xù)可觀察狀態(tài));(iii)反應(yīng)器引用;(iv)在非的頭部 語句中的非綁定變量。
            頭部語句中的非可將在同步執(zhí)行的反應(yīng)器集合中刪除和添加持
            久關(guān)系ri的響應(yīng)狀態(tài)看作兩步處理(l)作為應(yīng)用標(biāo)準(zhǔn)Datalog技術(shù) 的結(jié)果創(chuàng)建一對關(guān)系(,,A),其包括將被添加到ri或從n刪除的
            一/ 一/
            元組的集合,然后(2)在Datalog框架的外部,重寫ri的響應(yīng)狀態(tài)以 包括卞,并排除<-。相同的構(gòu)思應(yīng)用于短暫關(guān)系的響應(yīng)狀態(tài)以及持
            久和短暫關(guān)系兩者的未來狀態(tài)。根據(jù)這種直觀情況,如果程序在任何 頭部語句中包括"非",則所述方式轉(zhuǎn)換"非,,以消除所有這種現(xiàn)象。
            分層期望識別以下的語法條件,所述語法條件將確保存在程序 解答,并且該解答對于給定的初始狀態(tài)而言是唯一的。分層是這樣一 種條件。作為應(yīng)用所述重寫技術(shù)的結(jié)果,我們得到標(biāo)準(zhǔn)Datalog程序。 在這種情況下,我們將給定關(guān)系的四種狀態(tài)的每一種看作不同的關(guān) 系。我們釆用現(xiàn)有技術(shù)中提供的標(biāo)準(zhǔn)程序的分層語義。分層隱含的主 要構(gòu)思是沿著"非"來分割程序,從而在應(yīng)用非運(yùn)算符之前充分計算關(guān) 系。假設(shè)Datalog程序P,依賴曲線圖G是有向圖〈N, A>,其中,N 是P中所有謂項(xiàng)符號的集合,如果p和q分別是規(guī)則r的主體語句和頭部語句中的謂項(xiàng)符號,則a是從p到q的邊緣。如果將p作 為謂項(xiàng)符號的主體語句是非,則標(biāo)記謂項(xiàng)符號p與q之間的弧。如果 在包括標(biāo)記的弧的G中不存在循環(huán),則P被分層。對于分層程序的解 答是全局和唯一的,其獨(dú)立于分層的G以及所選擇的分層。
            安全性Datalog程序的期望屬性是解答僅依賴于已知事實(shí), 而非依賴于所有事實(shí)的全體集合。這被稱為域獨(dú)立性。此外,我們希 望確保來自有限事實(shí)集合的規(guī)則評估產(chǎn)生有限結(jié)果集合。這稱為有限 性。由于域獨(dú)立性和有限性通常對于具有"非"和算術(shù)的Datalog程序 是無法確定的,所以作為替代,我們使用稱為安全性的保守語法特征。 安全性確保域獨(dú)立性和較弱的有限性,這意味著來自有限事實(shí)集合的 規(guī)則的前向應(yīng)用產(chǎn)生有限結(jié)果集合,而由無限遞歸造成的無限結(jié)果無 法排除。
            安全性在Datalog中是>^知的,我們僅使用由R.T叩or在"Safe Database Queries with Arithmetic Relations", Proceeding of the 14th Australian Computer Science Conference (1991)(該文獻(xiàn)通過引用 合并于此)中建議的變型,其支持算術(shù)表達(dá)式和"非"。應(yīng)注意這是 關(guān)于轉(zhuǎn)換的程序的條件,其中,反應(yīng)器到Datalog的具體擴(kuò)展已經(jīng)編 譯完成。
            簡言之,如果規(guī)則的所有變量是受限的,則規(guī)則是安全的。在以 下條件下,變量是受限的變量出現(xiàn)在主體中不是"非"的語句中;變 量出現(xiàn)在主體中的"非"語句中并且沒有在其它地方使用;或者變量出 現(xiàn)在表達(dá)式中,在該表達(dá)式中,在給出表達(dá)式的所有受限變量的情況 下可計算所述變量的唯一值。程序是安全的,則它的所有規(guī)則均是安 全的。考慮一些示例
            (*1*)answer (x)<_ mynumbei: (x), not zei:o(x) (*2*)P(x)<- Q(y),R(z), x + y - z (*3*)P(x)<- Q(y》,R(z), x * y - z
            規(guī)則(l)是安全的,但是去除mynumber(x)將導(dǎo)致其不安全, 因?yàn)閤隨后將不受限制。規(guī)則(2)是安全的,因?yàn)橐阎獃和z唯一 地給出x,但是規(guī)則(3)不安全,由于如果兩者為0,則x可以是任意值。
            程序轉(zhuǎn)換為了在支持我們的語言特征的同時調(diào)節(jié)現(xiàn)有的 Datalog工作,提供一種程序轉(zhuǎn)換技術(shù),其將程序轉(zhuǎn)換為標(biāo)準(zhǔn)Datalog 程序。假設(shè)具有持久關(guān)系n,...,"和短暫關(guān)系tn ..,, U的反應(yīng)器
            c,用r,v.,e來表示上述關(guān)系就在某反應(yīng)之前的內(nèi)容;如果c剛剛被 創(chuàng)建,則關(guān)系默認(rèn)為空。使、"、a。a-、《+和《—成為應(yīng)用于反應(yīng)器c
            的更新束的添加以及刪除集合。我們可假設(shè)、A+ n A,—并且 、A+ n f_ —,因?yàn)樵趧?chuàng)建新的更新束之前將由發(fā)起反應(yīng)器檢查這一屬
            性。用 -n,…,乂表示反應(yīng)的預(yù)狀態(tài), …,、表示激勵狀態(tài),r,"..,r"表示 響應(yīng)狀態(tài),,,,...,r 表示未來狀態(tài)。
            圖2示出根據(jù)一實(shí)施例的重寫技術(shù)如何將頭部語句中具有"非" 的程序轉(zhuǎn)換為沒有"非"的程序。
            再次參照圖2,使^和f作為需要添加到最終解答(即,持久
            關(guān)系的響應(yīng)狀態(tài))和從最終解答刪除的元組的集合。使f和f -作為用 于短暫關(guān)系的添加和刪除集合。重寫規(guī)則(I)是分層直觀的,其計
            算將被添加到ri的元組集合,作為主體語句解析的元組的集合。重寫 規(guī)則(II)按照非常類似的方式計算刪除集合;唯一的區(qū)別在于添加 主體語句,該主體語句僅當(dāng)已經(jīng)存在于反應(yīng)時才確保元組被從關(guān)系刪 除。額外語句確保這一重寫規(guī)則不會引入域依賴。規(guī)則(VI)在新添 加集合被計算出時立即將其添加到響應(yīng)狀態(tài);這確保最近的元組添加 可見,并傳播到其余的反應(yīng)器規(guī)則。我們希望類似地說明刪除集合, 但是將其表示為規(guī)則頭部中的"非",這正是程序轉(zhuǎn)換技術(shù)嘗試消除的 事物。因此,應(yīng)該將刪除集合說明為經(jīng)由反應(yīng)器規(guī)則傳播。重寫規(guī)則 (III)和(IV)所實(shí)現(xiàn)的正是這一處理。規(guī)則(III)限制n中的元 組到不處于刪除集合中的元組的匹配;相反,規(guī)則(IV)允許對刪除 集合中的元組的匹配。規(guī)則(V)將響應(yīng)狀態(tài)初始化為激勵狀態(tài)。規(guī) 則(VII)和(VIII)計算未來狀態(tài)的添加以及刪除集合。
            對于短暫關(guān)系t….tm,不變地應(yīng)用規(guī)則(I)到(VI)。規(guī)則(VII) 和(VIII)不應(yīng)用于短暫關(guān)系,因?yàn)樗鼈儾痪哂形磥頎顟B(tài)。在反應(yīng)的開始時發(fā)生以下的賦值-r;:=< A。
            =Ar,A+U-W,A— i :="f+
            直觀上,第 一賦值用關(guān)系在當(dāng)前反應(yīng)之前的內(nèi)容重寫當(dāng)前反應(yīng)的
            持續(xù)關(guān)系的預(yù)狀態(tài)。下一賦值隨后將相應(yīng)的更新束應(yīng)用于預(yù)狀態(tài)以獲 得激勵狀態(tài)。應(yīng)注意短暫關(guān)系的更新束 f-的刪除集合不產(chǎn)生任何
            影響。這些賦值在Datalog外部完成。這些賦值的作用為在規(guī)則需 要讀取預(yù)狀態(tài)和激勵狀態(tài)的情況下,以IDB (內(nèi)部數(shù)據(jù)庫關(guān)系)關(guān)系 的形式保存預(yù)狀態(tài)和激勵狀態(tài)的瞬像拷貝。預(yù)狀態(tài)的拷貝還將用于回 退反應(yīng)的情況。在這一點(diǎn)上,我們可應(yīng)用標(biāo)準(zhǔn)Datalog技術(shù)以將規(guī)則 評估到不動點(diǎn)。如果在評估期間的任意點(diǎn), tf+n^- 0,匕,+n ^-^0,〖廣n〖,、0,或^+n ^廣-0,則評估停止
            并且反應(yīng)回退。如果我們到達(dá)不動點(diǎn)(任何檢查均沒有失敗),則我 們更新當(dāng)前反應(yīng)的響應(yīng)狀態(tài),即,在關(guān)系在下一反應(yīng)之前的內(nèi)容,以 考慮刪除集合。該賦值在Datalog外部完成。:=r; "A—。在中止之
            一 /
            前,如果可應(yīng)用,則反應(yīng)形成用于其它反應(yīng)器以及其自身的更新束
            (er,。"和(^+, 、假設(shè)轉(zhuǎn)換的程序是安全和分層的,則存在不 動點(diǎn)解答,并且該不動點(diǎn)解答是唯一的,給出關(guān)于反應(yīng)器狀態(tài)的完整 信息。
            反應(yīng)器引用在一般情況下,在單個反應(yīng)中可涉及多個反應(yīng)器。 在自然的方式中,當(dāng)同步執(zhí)行的反應(yīng)器Ci的集合試圖將其范圍延伸到 新的反應(yīng)器Cj時,如果Cj已經(jīng)在反應(yīng)中涉及,則Ci首先等待Cj中止, 并接收Ci,對于范圍延伸的請求。Ci隨后回退,并且Ci和q兩者開始 作為由在反應(yīng)器Ci的更新束啟動的相同反應(yīng)的一部分而共同執(zhí)行。重 復(fù)這一操作,直到所述范圍擴(kuò)展到包括需要同步執(zhí)行的所有反應(yīng)器。
            一種稍不自然的方式將首先基于類型信息在統(tǒng)計上計算所有同 步執(zhí)行的反應(yīng)器的傳遞閉包。其目的在于協(xié)調(diào)規(guī)則評估的定單與鎖定 的定單。程序?qū)⒂纱擞嬎憬y(tǒng)計上計算的反應(yīng)器閉包的全局分層;每當(dāng) 存在用于評估下一規(guī)則的規(guī)則選項(xiàng)時,程序?qū)⑦x擇與全局分層一致的 規(guī)則。這將確保在評估關(guān)系的非之前完整地計算關(guān)系中的正信息。
            通過將反應(yīng)中的所有反應(yīng)器Ck的規(guī)則放置在一起而獲得的程序?qū)▽k中的關(guān)系的遠(yuǎn)程引用。為了使得所有的遠(yuǎn)程引用成為本 地引用,我們定義以下轉(zhuǎn)換。對于反應(yīng)器中的每個關(guān)系r,反應(yīng)器定 義陰影拷貝以及以下形式的隱含規(guī)則
            r-(self, x) <- r(x)
            對關(guān)系r的每個遠(yuǎn)程引用c.r(x)隨后可被轉(zhuǎn)換為對r(c,;c)的本地 訪問。在這一點(diǎn)上,統(tǒng)計上計算的規(guī)則集合僅包括本地引用,統(tǒng)計上 計算的規(guī)則集合被看作 一種我們可應(yīng)用上述重寫技術(shù)的程序。
            實(shí)施問題反應(yīng)確保所有涉及的反應(yīng)器相對于環(huán)境的已知的 ACID屬性。具體說來,(1)所有涉及的反應(yīng)器成功,或者沒有反應(yīng) 器成功,(2)每個涉及的反應(yīng)器的響應(yīng)狀態(tài)在提交時將滿足所有可 應(yīng)用規(guī)則,(3)反應(yīng)外部的反應(yīng)器僅在所有涉及的反應(yīng)器已提交之 后僅可觀察到響應(yīng)狀態(tài),以及(4) 一旦所有的反應(yīng)器已提交,則反 應(yīng)將不會回退。
            假設(shè)反應(yīng)在等待獲得讀取和寫入訪問的同時堵塞,則可能出現(xiàn)死
            性能。核心Datalog詢問經(jīng)過積極的優(yōu)化,已經(jīng)存在大量關(guān)于增加 Datalog詢問的研究。
            現(xiàn)在參照附圖,其中,相同的標(biāo)號代表與圖3中最初示出的部件 相同或相似的部件,框圖/流程圖示例性示出根據(jù)系統(tǒng)/方法的反應(yīng)。 在附圖的頂端部分示出用于執(zhí)行反應(yīng)器實(shí)例404的集合的時間線402, 所述反應(yīng)器實(shí)例標(biāo)注為M、 N和P,其相應(yīng)于時間線部分402上的每 個等級。框406代表每個反應(yīng)器408的可見狀態(tài)。網(wǎng)絡(luò)或分布式系統(tǒng) 410示出反應(yīng)器408的流程,鄰近反應(yīng)器408的框412包括它們相應(yīng) 的收件箱或收件箱隊(duì)列。收件箱402可包括用于關(guān)聯(lián)的反應(yīng)器實(shí)例的 未決更新束的多個集合。
            反應(yīng)器實(shí)例M和N兩者將它們在時間i - 1的更新束分派到網(wǎng)絡(luò) 上并完成它們的反應(yīng)(這是對網(wǎng)絡(luò)的抽象,不需要涉及確切的網(wǎng)絡(luò))。 網(wǎng)絡(luò)將每個更新束插入其目標(biāo)反應(yīng)器實(shí)例(在這種情況下為M)的收 件箱412。遵循公平策略,在時間i,反應(yīng)器實(shí)例N在其收件箱中檢查新的更新束,如果存在新的更新束則使其出列,并使用所述新的更
            新束來啟動新的反應(yīng)。類似地,在該反應(yīng)結(jié)束時,為反應(yīng)器實(shí)例M和 P分派新的更新束。
            在圖3的部分420中示出反應(yīng)器(Mi) 408的內(nèi)部部分???06 是與附圖的頂端部分相同的可見狀態(tài),稱為響應(yīng)狀態(tài)。輸入框412中 的更新束是從目標(biāo)反應(yīng)器實(shí)例的狀態(tài)下關(guān)系的集合到元組的集合對 的總映射,其中,所述元組將被添加到目標(biāo)關(guān)系或者從目標(biāo)關(guān)系刪除。 當(dāng)新的更新束從收件箱412出列時,將在應(yīng)用操作422中以原子方式 對預(yù)狀態(tài)424 (-Si)應(yīng)用所述新的更新束的添加和刪除,以獲得激勵 狀態(tài)426 (ASi)。預(yù)狀態(tài)424是反應(yīng)器實(shí)例在先前反應(yīng)結(jié)束時的響應(yīng) 狀態(tài)。激勵狀態(tài)426從以下含義上來說是候選響應(yīng)狀態(tài)(Si):如果 反應(yīng)器不包括規(guī)則,則響應(yīng)狀態(tài)432與先前激勵狀態(tài)426相同。
            如果反應(yīng)器包括規(guī)則428,則它們將重復(fù)執(zhí)行(遞歸),直到不 再向/從關(guān)系添加/刪除元組并且反應(yīng)靜止。規(guī)則428可讀取預(yù)狀態(tài) 424、激勵狀態(tài)426和響應(yīng)狀態(tài)432,并且可寫入響應(yīng)和本地或遠(yuǎn)程反 應(yīng)器的未來狀態(tài)430 (SiA)。訪問遠(yuǎn)程反應(yīng)器實(shí)例的響應(yīng)狀態(tài)432將 正在進(jìn)行的反應(yīng)延伸為包括反應(yīng)中的遠(yuǎn)程反應(yīng)器實(shí)例。
            圖3示出涉及反應(yīng)器實(shí)例的反應(yīng)。寫入未來狀態(tài)430有效地定義 了更新束,該更新束將在當(dāng)前反應(yīng)結(jié)束時被分派。如果在相同的反應(yīng) 中涉及多個反應(yīng)器實(shí)例,則對于每個目標(biāo)反應(yīng)器實(shí)例分派單個的更新 束434。分派的更新束434可被提供給網(wǎng)絡(luò)410上的其它反應(yīng)器的其 它收件箱436。從外部觀察者看來,反應(yīng)以原子方式發(fā)生。反應(yīng)器的 計算可產(chǎn)生其它反應(yīng)器或同一反應(yīng)器的新的狀態(tài)更新,并且可動態(tài)地 例化新的反應(yīng)器。
            參照圖4A和圖4B, 一種用于反應(yīng)器彼此交互作用的機(jī)制在于 經(jīng)由對所述其它反應(yīng)器的引用來讀取和寫入其它反應(yīng)器的狀態(tài)。這可 異步(圖4A)或同步(圖4B)地執(zhí)行。
            反應(yīng)器450的關(guān)系可包括對其它反應(yīng)器451的引用。引用可用作 對于同步或異步更新的"目標(biāo)"。例如,在圖4A中,規(guī)則453產(chǎn)生對類型傳感器的反應(yīng)器451中的遠(yuǎn)程關(guān)系"請求"的異步狀態(tài)更新,并且 可在閉合反應(yīng)器450的關(guān)系rSensor 453中發(fā)現(xiàn)對s的引用。引用對
            于異步更新的"目標(biāo)"或在復(fù)合反應(yīng)中可用作"目標(biāo)",其中,所述復(fù)合 反應(yīng)為涉及多于一個反應(yīng)器的同步原子反應(yīng)(圖4B)。
            圖4B示出用于在兩個帳戶(463和464 )之間轉(zhuǎn)帳的反應(yīng)器460。 規(guī)則462引用兩個帳戶反應(yīng)器463和464以在所述帳戶之間同步轉(zhuǎn)移 收支差額。=是用于添加新值和刪除舊值的簡寫。
            參照圖5,示例性示出反應(yīng)器狀態(tài)機(jī)的概況。將過渡(連接狀態(tài) 的邊緣)寫作{先決條件}活動{后置條件}。將狀態(tài)寫為{不變}狀態(tài)。 在處理的開始,反應(yīng)器處于非存在狀態(tài)502。在過渡504,反應(yīng)器實(shí) 例的預(yù)狀態(tài)-R、激勵狀態(tài)AR和響應(yīng)狀態(tài)R是相同(不變)的。在狀 態(tài)506,反應(yīng)器對反應(yīng)r作出反應(yīng)。在過渡510中遭遇的沖突促使反 應(yīng)器狀態(tài)回退到預(yù)狀態(tài),并且所有的鎖被解除。如果作為在過渡508 中應(yīng)用任何規(guī)則的結(jié)果而沒有遭遇沖突,則所有反應(yīng)被提交,更新束 被分派,所有的鎖被解除。
            在靜止?fàn)顟B(tài)512,反應(yīng)器實(shí)例的預(yù)狀態(tài)、激勵狀態(tài)和響應(yīng)狀態(tài)是 相同(不變)的。假設(shè)反應(yīng)器實(shí)例處于靜止?fàn)顟B(tài)512,如果其收件箱 非空(AR=apply (-R,b),其中,b是過渡條件5"下的更新束),則 反應(yīng)器實(shí)例將選擇在狀態(tài)506中處理的更新束。處理更新束將啟動新 的反應(yīng),該新的反應(yīng)當(dāng)前僅包括啟動反應(yīng)器實(shí)例(動作)。結(jié)果,通 過以原子方式將更新束應(yīng)用于預(yù)狀態(tài)(后置條件)來獲得激勵狀態(tài)。
            規(guī)則可讀取和寫入本地和遠(yuǎn)程關(guān)系。如果當(dāng)前反應(yīng)的范圍中的反 應(yīng)器實(shí)例之一中所包括的規(guī)則寫入遠(yuǎn)程關(guān)系的響應(yīng)狀態(tài),則擁有所述 關(guān)系的反應(yīng)器實(shí)例將反應(yīng)加入過渡516。過渡地,非被動地讀取(例 如,它們的狀態(tài)將被影響)所述遠(yuǎn)程關(guān)系的所有反應(yīng)器實(shí)例也成為該 反應(yīng)的一部分。從外部觀察者看來,反應(yīng)中的所有反應(yīng)器實(shí)例以原子 方式執(zhí)4亍。
            在反應(yīng)的持續(xù)期間,反應(yīng)中涉及的反應(yīng)器實(shí)例被自動鎖定在狀態(tài) 522下,直到其在以下條件中的任一個下在過渡520中被解除發(fā)現(xiàn)并提交靜止響應(yīng)狀態(tài)(過渡508 ),或者沖突促使反應(yīng)器回退到它的 預(yù)狀態(tài)(過渡510)。此外,在過渡518中類似地鎖定擁有正由反應(yīng) 中的反應(yīng)器讀取的關(guān)系的所有反應(yīng)器實(shí)例。當(dāng)反應(yīng)器實(shí)例被鎖定時, 其拒絕任何交互作用讀取,寫入,開始利用不是相同反應(yīng)的一部分 的反應(yīng)器實(shí)例對更新束作出反應(yīng)。結(jié)果,除了處理更新束的初始反應(yīng) 器實(shí)例之外,在反應(yīng)中涉及的所有反應(yīng)器實(shí)例的激勵狀態(tài)均與預(yù)狀態(tài) 相同。鎖定將確保如果稍后需要在相同的反應(yīng)中寫入正在讀取的反 應(yīng)器,則對反應(yīng)器的預(yù)狀態(tài)和響應(yīng)狀態(tài)的引用將引用連續(xù)的狀態(tài)。
            當(dāng)涉及的所有反應(yīng)器實(shí)例已經(jīng)到達(dá)滿足它們的所有規(guī)則的狀態(tài) 時,反應(yīng)完成。如果一個或多個反應(yīng)器實(shí)例不能滿足它們的規(guī)則,則 存在沖突,所有涉及的反應(yīng)器回退到它們的預(yù)狀態(tài),鎖被解除,不產(chǎn) 生更新束。否則,反應(yīng)提交,鎖被解除,更新束被分派。將通過收集 由提交反應(yīng)中涉及的所有反應(yīng)器實(shí)例執(zhí)行的所有未來狀態(tài)更新,對每 個目標(biāo)反應(yīng)器產(chǎn)生一個更新束。
            參照圖6,示例性示出用于允許應(yīng)用之間的交互作用的系統(tǒng)和方法。
            在塊602中,從反應(yīng)器的收件箱隊(duì)列"讀取,,更新束。在塊604 中,將更新束應(yīng)用于預(yù)狀態(tài)以獲得激勵狀態(tài)。在塊606中,按照任何 定單以原子方式執(zhí)行所有反應(yīng)器規(guī)則,以確定當(dāng)前和/或其它反應(yīng)器的 響應(yīng)狀態(tài)和/或未來狀態(tài)。在塊608中,如果規(guī)則例化新的反應(yīng)器,則 反應(yīng)將它的范圍延伸到包括新創(chuàng)建的反應(yīng)器。在塊610中,如果規(guī)則 寫入遠(yuǎn)程反應(yīng)器的響應(yīng)狀態(tài),則反應(yīng)將它的范圍延伸到包括遠(yuǎn)程反應(yīng) 器以及包括讀取正在寫入的關(guān)系的規(guī)則的所有反應(yīng)器。在塊612中, 復(fù)合反應(yīng)保持原子性。在塊614,采用鎖定規(guī)定或機(jī)制來保證原子屬 性,可采用多個不同的方案來代替或補(bǔ)充鎖定處理。在塊616中,寫 入遠(yuǎn)程反應(yīng)器的響應(yīng)狀態(tài)將同步地構(gòu)建多個反應(yīng)器。
            在塊618中,如果至少一個規(guī)則無法滿足,則所有涉及的反應(yīng)器 以原子方式回退到它們在反應(yīng)之前的各個狀態(tài)。如果反應(yīng)回退,則在 塊620中不產(chǎn)生更新束。如果反應(yīng)中的所有規(guī)則在它們的執(zhí)行靜止時被滿足,則在塊622,寫入反應(yīng)器的未來狀態(tài)以異步地構(gòu)建反應(yīng)器。 在塊624中對于每個反應(yīng)的每個目標(biāo)反應(yīng)器,將產(chǎn)生一個更新束。
            參照圖7,規(guī)則執(zhí)行的定單與所選擇的語言語義無關(guān)。換言之, 可以按任何定單來執(zhí)行規(guī)則,即,與定單無關(guān)的執(zhí)行。用于規(guī)則執(zhí)行 的處理模型的一種可行實(shí)施例提供以下特征。在塊702中,根據(jù)在復(fù) 合反應(yīng)中涉及的所有反應(yīng)器的規(guī)則P的集合,提供與定單無關(guān)的執(zhí)行。 這包括重寫P中的規(guī)則,以僅在塊704中計算關(guān)于反應(yīng)器狀態(tài)的正 信息。換言之,我們重寫在規(guī)則頭部中具有非的規(guī)則,以去除所述非。 這導(dǎo)致僅在規(guī)則主體中具有非的新的規(guī)則集合。
            在塊706中,建立有向的依賴曲線圖G: <N, A>,其中,N是 P中所有謂項(xiàng)符號的集合,如果p和q分別是規(guī)則r的主體語句和頭 部語句中的謂項(xiàng)符號,則(A中的)a是從p到q的邊緣。如果將p 作為謂項(xiàng)符號的主體語句是非,則在塊710中標(biāo)記p與q之間的孤(邊 緣)。如果在具有至少一個標(biāo)記的弧的G中存在循環(huán),則規(guī)則P的集 合不被滿足,并且在塊712中,復(fù)合反應(yīng)將以原子方式回退。否則, 在塊714中,對規(guī)則下定單,從而在給定關(guān)系用于確定給定值到所述 關(guān)系的非成員關(guān)系之前完整地計算所述給定關(guān)系。
            優(yōu)點(diǎn)在于,與定單無關(guān)的特征允許升級應(yīng)用。通過添加或去除規(guī) 則來升級應(yīng)用不涉及修改規(guī)則的現(xiàn)有集合。將通過添加或去除與已經(jīng) 添加或刪除的規(guī)則相應(yīng)的節(jié)點(diǎn)和/或邊緣來單獨(dú)地修改依賴關(guān)系圖。這 一屬性允許以正交的aspect-like方式添加新的功能或修改現(xiàn)有功能。
            已經(jīng)描述了用于松耦合應(yīng)用的面向數(shù)據(jù)的編程模型的系統(tǒng)和方 法的優(yōu)選實(shí)施例(其僅作為示例而不是限制),但是應(yīng)注意本領(lǐng)域 的技術(shù)人員可根據(jù)以上教導(dǎo)的指示進(jìn)行修改或變化。因此,應(yīng)理解 可對所公開的具體實(shí)施例進(jìn)行修改,所述修改落入由所附權(quán)利要求限 定的本發(fā)明的精神和范圍之內(nèi)。在如此描述了本發(fā)明的各方面之后, 其中具有專利法所要求的細(xì)節(jié)和特點(diǎn),在權(quán)利要求中闡述所要求權(quán)利 的并期望受專利證書保護(hù)的內(nèi)容。
            權(quán)利要求
            1、一種用于在分布式網(wǎng)絡(luò)中保持?jǐn)?shù)據(jù)一致性的反應(yīng)器,所述反應(yīng)器包括收件箱,被配置為用于接收更新信息;應(yīng)用操作,被配置為用于將更新信息應(yīng)用于預(yù)狀態(tài),以基于更新信息確定激勵狀態(tài);以及響應(yīng)狀態(tài),其根據(jù)激勵狀態(tài)來確定,所述響應(yīng)狀態(tài)是由分布式網(wǎng)絡(luò)系統(tǒng)中的其它組件從反應(yīng)器看來外部可見的唯一狀態(tài),從而反應(yīng)器對更新信息作出反應(yīng),并在分布式網(wǎng)絡(luò)中通過其可見狀態(tài)來啟動其它反應(yīng),以保持?jǐn)?shù)據(jù)一致性。
            2、 如權(quán)利要求1所述的反應(yīng)器,還包括至少一個規(guī)則,所述規(guī) 則在反應(yīng)期間進(jìn)一步定義反應(yīng)器的至少一個狀態(tài)。
            3、 如權(quán)利要求2所述的反應(yīng)器,其中,所述至少一個規(guī)則包括 如下的一個或多個規(guī)則,所述一個或多個規(guī)則被遞歸地執(zhí)行以提供響 應(yīng)狀態(tài)。
            4、 如權(quán)利要求3所述的反應(yīng)器,其中,所述至少一個規(guī)則是聲 明的,并被配置用于與定單無關(guān)的執(zhí)行。
            5、 如權(quán)利要求1所述的反應(yīng)器,其中,反應(yīng)器保持靜止,直到 被更新束激勵。
            6、 如權(quán)利要求1所述的反應(yīng)器,其中,對于反應(yīng)器,所述更新 束被作為目標(biāo)。
            7、 如權(quán)利要求1所述的反應(yīng)器,還包括基于預(yù)狀態(tài)、激勵狀 態(tài)和響應(yīng)狀態(tài)確定的未來狀態(tài)。
            8、 如權(quán)利要求7所述的反應(yīng)器,其中,未來狀態(tài)的確定導(dǎo)致將 更新束分派到包括所述反應(yīng)器自身的其它反應(yīng)器,以異步地啟動后來 的反應(yīng)。
            9、 如權(quán)利要求1所述的反應(yīng)器,其中,反應(yīng)器的反應(yīng)以原子方 式發(fā)生。
            10、 如權(quán)利要求9所述的反應(yīng)器,其中,使用在反應(yīng)的持續(xù)期間 鎖定反應(yīng)器的鎖定機(jī)制來獲得原子性。
            11、 如權(quán)利要求l所述的反應(yīng)器,其中,所述反應(yīng)器對同步交互 作用和異步交互作用都進(jìn)行處理。
            12、 一種用于在分布式網(wǎng)絡(luò)中保持?jǐn)?shù)據(jù)一致性的反應(yīng)器,所述反 應(yīng)器包括根據(jù)與反應(yīng)器關(guān)聯(lián)的至少一個關(guān)系提供的反應(yīng)器狀態(tài),其中,反應(yīng)器狀態(tài)能根據(jù)在分布式網(wǎng)絡(luò)系統(tǒng)中接收的更新信息來修改;以及至少一個規(guī)則,其被配置為用于保持?jǐn)?shù)據(jù)一致性,從而如果一致 性被破壞,則反應(yīng)失敗,以使得反應(yīng)器狀態(tài)回退到在反應(yīng)被啟動之前 的狀態(tài)。
            13、 如權(quán)利要求12所述的反應(yīng)器,其中,所述至少一個規(guī)則是 聲明的,并被配置用于與定單無關(guān)的執(zhí)行。
            14、 如權(quán)利要求12所述的反應(yīng)器,其中,反應(yīng)器狀態(tài)在反應(yīng)成 功時被修改,并且在反應(yīng)失敗的情況下保持不變。
            15、 如權(quán)利要求12所述的反應(yīng)器,其中,所述至少一個關(guān)系包 括用于定義反應(yīng)器狀態(tài)的關(guān)系的集合。
            16、 如權(quán)利要求12所述的反應(yīng)器,其中,更新信息包括由反應(yīng) 器接收的更新束,更新束包括將被添加和/或刪除以變更反應(yīng)器狀態(tài)的 信息。
            17、 如權(quán)利要求12所述的反應(yīng)器,其中,反應(yīng)器保持原子性, 從而響應(yīng)狀態(tài)是從反應(yīng)器外部可見的唯一狀態(tài)。
            18、 如權(quán)利要求12所述的反應(yīng)器,其中,反應(yīng)器包括預(yù)狀態(tài), 并且如果反應(yīng)失敗,則反應(yīng)器回退到預(yù)狀態(tài)。
            19、 如權(quán)利要求12所述的反應(yīng)器,其中,反應(yīng)器對同步交互作 用和異步交互作用都進(jìn)行處理。
            20、 如權(quán)利要求1所述的反應(yīng)器,其中,反應(yīng)器之間的接口是數(shù) 據(jù),從而反應(yīng)器對數(shù)據(jù)更新作出反應(yīng)。
            21、 一種用于在分布式系統(tǒng)中保持?jǐn)?shù)據(jù)一致性的方法,包括將更新信息輸入到反應(yīng)器;以原子方式按照任何定單執(zhí)行在所有涉及的反應(yīng)器中的所有規(guī) 則,以便確定所述反應(yīng)器以及反應(yīng)中的其它反應(yīng)器的響應(yīng)狀態(tài)和未來 狀態(tài)中的至少一個;如果至少一個規(guī)則無法滿足,則以原子方式將所有涉及的反應(yīng)器 回退到它們在所述反應(yīng)之前的各個狀態(tài);以及如果反應(yīng)中的所有規(guī)則被滿足,則產(chǎn)生用于包括所述反應(yīng)器的其 它反應(yīng)器的更新信息,以在整個分布式系統(tǒng)中保持?jǐn)?shù)據(jù)一致性。
            22、 如權(quán)利要求21所述的方法,其中,產(chǎn)生用于目標(biāo)反應(yīng)器的 更新信息包括當(dāng)反應(yīng)器執(zhí)行靜止時,對于每個反應(yīng)的每個目標(biāo)反應(yīng) 器產(chǎn)生一個更新束。
            23、 如權(quán)利要求21所述的方法,還包括如果規(guī)則例化新的反 應(yīng)器,則將反應(yīng)范圍延伸為包括新創(chuàng)建的反應(yīng)器。
            24、 如權(quán)利要求21所述的方法,還包括如果規(guī)則寫入遠(yuǎn)程反 應(yīng)器的響應(yīng)狀態(tài),則將反應(yīng)范圍延伸為包括遠(yuǎn)程反應(yīng)器以及具有讀取 正在寫入的關(guān)系的規(guī)則的所有反應(yīng)器。
            25、 如權(quán)利要求21所述的方法,其中,以原子方式執(zhí)行所有反 應(yīng)器規(guī)則包括提供鎖定規(guī)定以確保原子性。
            26、 如權(quán)利要求21所述的方法,還包括當(dāng)寫入遠(yuǎn)程反應(yīng)器的 響應(yīng)狀態(tài)時,同步地構(gòu)建多個反應(yīng)器。
            27、 如權(quán)利要求21所述的方法,其中,如果反應(yīng)回退,則不產(chǎn) 生任何更新束。
            28、 如權(quán)利要求21所述的方法,還包括當(dāng)寫入反應(yīng)器的未來 狀態(tài)時,異步地構(gòu)建反應(yīng)器。
            29、 如權(quán)利要求21所述的方法,其中,更新信息包括具有元組 的更新束,以及所述方法還包括將更新信息應(yīng)用于預(yù)狀態(tài)以創(chuàng)建激 勵狀態(tài)。
            30、 如權(quán)利要求21所述的方法,其中,更新束包括對于預(yù)狀態(tài) 的添加和刪除中的至少一個。
            31、 如權(quán)利要求21所述的方法,其中,遞歸地應(yīng)用所述規(guī)則。
            32、 一種用于在分布式系統(tǒng)中保持?jǐn)?shù)據(jù)一致性的計算機(jī)程序產(chǎn) 品,其包括含有計算機(jī)可讀程序的計算機(jī)可用介質(zhì),其中,所述計算 機(jī)可讀程序在計算機(jī)上執(zhí)行時使計算機(jī)執(zhí)行以下步驟將更新信息輸入到反應(yīng)器;以原子方式按照任何定單執(zhí)行在所有涉及的反應(yīng)器中的所有規(guī) 則,以便確定用于所述反應(yīng)器以及反應(yīng)中的其它反應(yīng)器的響應(yīng)狀態(tài)和未來狀態(tài)中的至少一個;如果至少 一個規(guī)則無法滿足,則以原子方式將所有涉及的反應(yīng)器回退到它們在所述反應(yīng)之前的各個狀態(tài);以及如果反應(yīng)中的所有規(guī)則被滿足,則產(chǎn)生用于包括所述反應(yīng)器的其 它反應(yīng)器的更新信息,以在整個分布式系統(tǒng)中保持?jǐn)?shù)據(jù)一致性。
            33、 一種被配置為用于保持?jǐn)?shù)據(jù)一致性的系統(tǒng),包括 設(shè)置在分布式系統(tǒng)內(nèi)的多個反應(yīng)器,其中,每個反應(yīng)器包括收件箱,其被配置為用于接收更新信息;應(yīng)用操作,其被配置為用于將更新信息應(yīng)用于預(yù)狀態(tài)以基于 更新信息確定激勵狀態(tài);以及根據(jù)所述激勵狀態(tài)得出的響應(yīng)狀態(tài),該響應(yīng)狀態(tài)是從反應(yīng)器 看來外部可見的唯一狀態(tài);其中,每個反應(yīng)器處于以下兩種情況中的至少一種反應(yīng)器異步 響應(yīng)于來自包括該反應(yīng)器本身的其它反應(yīng)器的更新信息;以及反應(yīng)器 同步響應(yīng)于從其它反應(yīng)器寫入的數(shù)據(jù)。
            34、 如權(quán)利要求33所述的系統(tǒng),其中,更新信息包括如下數(shù)據(jù), 該數(shù)據(jù)包括對反應(yīng)器的引用。
            35、 如權(quán)利要求33所述的系統(tǒng),還包括一個或多個規(guī)則,所述 一個或多個規(guī)則被執(zhí)行以提供響應(yīng)狀態(tài),其中,所述一個或多個規(guī)則 是聲明的,并被配置用于與定單無關(guān)的執(zhí)行。
            全文摘要
            一種被配置為用于保持?jǐn)?shù)據(jù)一致性的反應(yīng)器和方法。所述反應(yīng)器包括被配置為用于接收更新信息的收件箱。應(yīng)用操作被配置為用于將更新信息應(yīng)用于預(yù)狀態(tài)以基于更新信息確定激勵狀態(tài)。響應(yīng)狀態(tài)根據(jù)所述激勵狀態(tài)得出。響應(yīng)狀態(tài)是從反應(yīng)器看來外部可見的唯一狀態(tài)。
            文檔編號G06F9/44GK101315600SQ20071018608
            公開日2008年12月3日 申請日期2007年11月15日 優(yōu)先權(quán)日2007年6月1日
            發(fā)明者克里斯蒂安·斯蒂芬森, 布魯斯·D.·盧卡斯, 拉法·A.·霍斯, 查爾斯·F.·維查, 瑪利亞-克里斯蒂娜·V.·馬里奈斯庫, 約翰·H.·菲爾德, 馬克·N.·維格曼 申請人:國際商業(yè)機(jī)器公司
            網(wǎng)友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品
            在线观看国产三级| 国产亚洲自在精品久久| 亚洲区在线| 日韩一区二区不卡| 日韩精品中文字幕在线| 国产福利不卡视频| 91香蕉国产在线观看免费永久苹果版| 亚洲精品一二三区| 精品一区二区三区在线观看视频| 国产成人盗拍精品免费视频 | 国产精品第1页在线观看| 国产一区二区三区在线免费观看| 成人精品视频| 91免费公开视频| 日韩成人一级| 五月激情婷婷综合| 国产精品不卡| 国产成人亚洲精品91专区高清| 国产区福利| 久操综合| 2021国产精品自产拍在线| 亚洲一区网站| 日本在线www| 日本中文一二区有码在线观看 | 国产精品入口麻豆高清| 亚洲精品福利在线| 天天精品| 一区二区精品在线| 亚洲午夜高清| 91国视频在线观看| 国产精品欧美一区二区在线看| 日韩精品在线一区| 亚洲欧美日韩综合网导航| 91麻豆精品一二三区在线| 久久大香萑太香蕉综合网| 精品一区二区三区亚洲| 欧美国产中文| 99久久九九| 黑丝一区二区| 国产黄色一级网站| 日韩欧美久久一区二区| 91热视频在线观看| 国产欧美日本在线观看| 日韩午夜在线观看| 久久精品乱子伦免费| 欧美另类视频一区二区三区| 99精品视频在线观看免费专区| 狠狠五月深爱婷婷网| 久久国产精品亚洲一区二区| 亚洲成人一级| 成人亚洲欧美日韩中文字幕| 中文字幕视频免费| 日韩午夜在线观看| 男人天堂a在线| 伊人黄色片| 伊人网在线播放| 9色视频在线观看| 亚洲一区免费在线观看| 国产永久福利| 国产亚洲欧美一区二区三区| 99久久国产综合精品2020| 99在线热播精品免费| 久久香蕉国产在产线看观看| 国产香蕉成人综合精品视频| 亚洲第一区在线| 日本一区二区三区高清福利视频| 国产精品第四页| 99九九久久| 国产在线a| 精品一区二区三区免费观看| 亚洲国产精品久久久久秋霞影院 | 午夜精品视频在线| 久久精品免视看国产成人2021| 日韩欧美综合在线| 久久综合九色综合桃花| 久久精品综合一区二区三区| 成人欧美一区二区三区视频不卡| 成人亚洲视频在线观看| 国产精品成人免费视频| 欧美成人伊人十综合色| 99热国产在线| 国产对白91色拍高清精品| 日韩欧美亚洲一区二区综合| 四虎永久免费地址在线网站| 日韩精品午夜视频一区二区三区| 国产精品短视频| 久久成人国产精品| 久久精品123| 精品国产91乱码一区二区三区| 亚洲国产精品日韩高清秒播| 亚洲激情区| 伊人久久大香线蕉综合电影网 | 99成人免费视频| 国产不卡一区二区视频免费| 亚洲成a人片在线观看中文app| 久久亚洲国产高清| 精品一区二区在线观看| 精品国产一区二区三区麻豆小说| 欧美亚洲欧美日韩中文二区| 伊人网中文字幕| 国产精品成人亚洲| 亚洲精品自在线拍| 青草久久精品| 九九色在线视频| 日韩精品第1页| 波多野结衣一区二区三区| 国产成人免费在线| 天堂成人一区二区三区 | 亚洲欧美日韩精品久久亚洲区| 亚洲国产精品一区二区九九| 九九九精品成人免费视频7| 99热这里只有精品9| 国产精品国偷自产在线| 亚洲区一区| 99久久婷婷国产综合精品hsex| 精品久久久久久久| 日韩中文字幕a| 欧美日韩国产精品综合| 国产一级免费视频| 久久国产这里只有精品| 狠狠色婷婷七月色综合| 亚洲九九色| 91久久国产成人免费观看资源| 91精品国产综合成人| 国产第一福利精品导航| 国产亚洲精品观看91在线| 国产精品久久久久久久久久久搜索| 久久毛片免费看| 亚洲一区视频在线| 日本久久综合| 久久久久久久国产精品影院| 亚洲手机在线| 亚洲国产毛片| 欧美操大逼视频| 久久99亚洲综合精品首页| 国产在线不卡一区| 精品国产第一国产综合精品gif | 久久久99精品久久久久久| 久久99中文字幕| 无码日韩精品一区二区免费| 亚洲国产精品久久久久久| 亚洲一级黄色| 国产高清视频91| 精品欧美在线观看| 亚洲欧美久久精品一区| 国产精品福利网站| 欧美日韩免费观看| 91色国产| 亚洲区欧美区| 91精品国产综合久久消防器材| 国产午夜精品1区2区3福利| 伊人久久大香线| 久久99久久99精品免观看| 一区视频在线播放| 日韩精品一| 久久精品国产一区二区小说| 国产主播福利一区二区| 日韩欧美亚州| 日韩免费一区二区| 久久亚洲精品视频| 日韩欧美国产中文| 午夜精品福利视频| 视频一区欧美| 国产欧美视频在线| 99国产精品免费视频观看| 免费国产成高清人在线视频| 日韩精品一区二区三区免费观看| 激情综合色综合久久综合| 婷婷国产成人久久精品激情| 日韩欧美高清| 欧美精品一区二区三区免费| 伊人精品在线视频| 亚洲欧美日韩精品久久亚洲区色播| 国产成人一区免费观看| 亚洲成a人片在线网站| 午夜国产在线观看| 国产成人福利美女观看视频| 91精品国产综合久久香蕉| 91在线视频国产| 怡红院影院| 国产成人精品免费| 国产免费久久精品99| 久久久久久久成人午夜精品福利| 国产不卡视频在线观看| 亚洲欧美日韩综合网导航| 国产精品久久一区二区三区| 精品国产www| 国产探花一区| 国产高清一区二区| 精品999视频| 91精品专区| 久久亚洲国产| 91中文字字幕乱码| 欧美精品亚洲人成在线观看| 欧美激情第一区| 午夜精品久久久久久久久| 欧美福利小视频| 999精品久久久中文字幕蜜桃| 九色视频在线观看| 亚洲欧美精品中文字幕| 久久精品一级| 在线亚洲精品国产成人二区| 亚洲三级在线看| 四虎影院中文字幕| 国产尤物二区三区在线观看| 婷婷亚洲视频| 一区二区美女视频| 青青草国产97免久久费观看| 日韩精品欧美在线| 亚洲一级香蕉视频| 呦女亚洲一区精品| 国产原创视频在线| 亚洲网站在线| 亚洲精品在线免费观看| 日本精品久久久久久久| 亚洲jjzzjjzz在线观看| 伊人电影综合网| 久久久最新精品| 精品国产夜色在线| 欧美成在人线a免费| 久久99国产精品亚洲| 在线观看视频一区| 国内精品久久久久久久97牛牛| 日韩欧美精品综合久久| 中文字幕一区精品欧美| 国产在线一区二区三区四区| 亚洲视频精品| 精品国产美女福利在线 | 成人a视频在线观看| 精品国产一区二区三区四| 九九精品视频在线| 99热精品免费| 精品久久久久久久久中文字幕| 亚洲精品午夜在线观看| 久久精品呦女| 日韩乱码视频| 日韩国产精品视频| 精品一区二区久久久久久久网站| 91av最新地址| 欧美黑人在线色天天久久| 国产成人91高清精品免费| 亚洲欧美二区三区久本道| 综合久久久久6亚洲综合| 亚色精品| 四虎国产精品永久在线播放| 成人免费aa在线观看| 久久这里只有精品23| 久久99热国产这有精品| 亚洲综合色视频| 在线看一区| 91精品国产乱码在线观看| 国产精品亚洲综合久久小说| 亚洲一级视频在线观看| 亚洲视频欧美视频| 久久精品成人一区二区三区| 久久精品国产日本波多野结夜| 亚洲欧洲国产综合| 在线免费国产| 国产成人艳妇aa视频在线| 日韩欧美天堂| 99久久综合精品免费| 99热99re8国产在线播放| 久久综合成人网| 亚洲国产片高清在线观看| 色综合久久久久久久久五月| 国产精品va在线观看一 | 免费午夜网站| 97在线精品视频| 日韩欧美一区二区在线观看| 91av免费在线观看| 国产在线精品一区二区| 99视频有精品| 中文字幕日本一区| 在线视频精品一区| 国产精品久久久久不卡绿巨人| 六月婷婷导航福利在线| 在线不卡国产| 精品一区二区三区在线| 国产精品香蕉一区二区三区| 欧美日韩中文国产一区| 91综合网| 免费在线一区二区三区| 精品综合在线| 久久露脸国产精品| 免费a级特黄国产大片| 国产精品爽黄69天堂a| 91福利在线视频| 九九热国产| 久久精品免费电影| 久久亚洲国产精品五月天| 色狠狠色狠狠综合一区| 亚洲午夜综合网| 国产精品高潮呻吟久久av| 99久久免费精品视频| 99精品国产美女福到在线不卡| 久久成人福利视频| 欧美成人综合| 欧美日韩精品福利在线观看| 98国产精品永久在线观看| 日韩中文字幕网站| 日本成人不卡视频| 国产精品一区二区三| 亚洲黄网免费| 色伊人色成人婷婷六月丁香| 在线免费国产视频| 欧美日韩亚洲视频| 日本一区深夜影院深a| 欧美亚洲综合网| 亚洲欧美综合在线观看| 国产黄色片在线观看| 欧美伊人久久| 久久久综合中文字幕久久| 国产成人亚洲综合| 成人精品一区二区久久| 伊人精品线视天天综合| 热久久国产精品| 亚洲一区二区三区网站| 久久精品国产免费观看99| 欧美日韩国产人成在线观看| 九九99久久| 欧美日韩一区二区不卡| 国产精品男人的天堂| 999精品视频| 一道精品视频一区二区三区男同| 亚色中文字幕| 国产精品无打码在线播放9久| 日韩精品欧美一区二区三区| 国产精品女同久久免费观看| 日韩久久综合| 91久久综合| 亚洲一级理论片| 亚洲第一成年免费网站| 中文字幕三级久久久久久| 国产主播99| 在线观看国产高清免费不卡黄| 蜜桃久久| 尹人香蕉久久99天天拍| 国内精品久久国产大陆| 欧美精品v日韩精品v国产精品| www.精品国产| 国产精品视频网站| 深夜福利亚洲| 久久久久久久99精品免费观看| 99精品国产兔费观看66| 国产丝袜在线视频| 国产视频三区| 久久亚洲精品永久网站| 欧美精品在线一区| 亚洲国产综合精品| 国产精品成人一区二区不卡| 国产日本韩国不卡在线视频| 久久亚洲精选| 亚洲成a人v| 99国产在线观看| 精品国产专区91在线尤物 | 香蕉精品视频在线观看入口| 9久9久女女免费精品视频在线观看| 一区二区精品在线| 成人午夜网址| 亚洲国产综合久久精品| 日韩在线视频第一页| 99精品欧美一区二区三区| 99精品久久99久久久久| 久久97精品久久久久久久不卡| 色之综合网| 国产精品久久综合桃花网| 国产不卡在线观看| 亚洲乱码在线播放| 99久久精品费精品国产| 成人欧美日韩高清不卡| 国产精品区一区二区三| 国产青青草视频| 最新九九精品| 国产成人精品自拍| 成人久久伊人精品伊人| 国产日韩视频| 精品国精品国产自在久国产不卡| 日韩国产在线| 欧美精品人爱a欧美精品| 99久久免费观看| 欧美亚洲中日韩中文字幕在线| 亚洲欧美在线视频免费| 五月天综合网站| 九九九热精品| 久久精品亚洲一区二区三区浴池| 日韩国产第一页| 久久久久久久久97| 久久香蕉精品成人| 精品视频久久久| 女人国产香蕉久久精品| 亚洲一级毛片在线播放| 91亚洲福利| 久久婷婷激情| 久久狠狠干| 日韩不卡中文字幕| 99精品影视| 亚洲丝袜第一页| 亚洲人成在线精品| 国产成人亚洲欧美三区综合| 九九全国免费视频| 一区免费视频| 久久精品国产400部免费看| 成人精品视频网站| 亚洲第一天堂网| 青草青青产国视频在线| 国产精品第5页| 色综合网站在线| 亚洲国产综合精品| 在线一区二区观看| 伊人欧美在线| 91福利视频免费| 激情久久免费视频| 亚洲自偷自拍另类图片二区| 欧美日韩一本| 88国产经典欧美一区二区三区| 国产日本欧美在线观看乱码| 九九久久99综合一区二区| 99久久做夜夜爱天天做精品| 91精品国产调教在线观看| 四虎福利视频| 伊人第一页| 在线观看欧美国产| 欧美视频一区二区三区精品| 成人国产综合| 中日韩欧美在线观看| 亚洲午夜在线视频| 国产亚洲精品福利| 国产精品亚洲精品日韩已满| 婷婷六月激情在线综合激情| 国产精品久久成人影院| 在线观看国产麻豆| 91在线网站| www亚洲成人| 久久永久免费中文字幕| 天天综合色天天综合| 国产视频一区在线观看| 国产成人综合一区人人| 亚洲日本国产乱码va在线观看| 91啪国产在线观看| 久久国产精品最新一区| 亚洲国产精品67194成人| 国产精品日韩欧美一区二区| 99香蕉精品视频在线观看| 蜜桃精品免费久久久久影院| 午夜性色一区二区三区不卡视频| 视频一区二区三区欧美日韩| 伊人精品在线观看| 99精品视频在线观看免费| 亚洲国产精品综合久久一线| 最新国产中文字幕| 视频一区日韩| 2022年国产精品久久久久| 久久国产精品1区2区3区网页| 精品国产福利在线观看网址2022| 欧美激情精品久久久久久久| 99久久综合精品国产| 久久综合久久久| 亚洲精品欧美在线| 999福利视频| 国产乱码精品一区二区| 中文字幕在亚洲第一在线| 狠狠干精品| 色婷婷综合激情视频免费看| 亚洲日比视频| 伊人成综合网| 国产国语毛片| 亚洲免费视频一区| 精品欧美一区二区三区在线观看| 国产成人精品一区二三区在线观看 | 国产91成人| 99热国产这里只有精品免费| 91成人福利| 色婷婷中文字幕| 日韩精品免费| 精品久久久久久综合网| 99精品一区二区三区| 欧美专区日韩专区| 久色精品| 久久99精品久久久久久久不卡| 国产青青草视频| 69精品在线观看| 久久久高清免费视频| 色婷婷色| 中文字幕国产精品| 亚洲欧美综合乱码精品成人网| 国产区精品| 色www永久免费网站国产| 在线免费色| 日本高清视频www| 激情亚洲综合网| 色综合久久综合网| 国产视频第二页| 精品高清国产a毛片| 国产精品福利无圣光一区二区| 久久一区二区三区精品| 456亚洲视频| 久久精品视频网站| 亚洲制服丝袜在线| 亚洲三区视频| 久热这里只有精品在线| 日韩成人在线免费视频| 亚洲欧美日本在线| 国产播放器一区| 一区二区美女| 精品久久人人做人人爽综合| 亚洲综合成人网在线观看| 国产精自产拍久久久久久| 99久久国产综合精麻豆| 久综合色| 99精品一区二区三区| 久久青青草原精品国产麻豆| 91系列在线| 依人综合| 国产区视频在线观看| 亚洲一二三区视频| 国产91综合| 最新国产中文字幕| 99久久99久久精品免费看蜜桃| 国内精品伊人久久| 综合色在线| 欧美在线视频一区| 免费人成激情视频在线观看| 久久婷婷| 亚洲视频一区在线观看| 亚洲综合精品一二三区在线| 国产在线视频福利| 在线观看91精品国产入口| 国产精品日韩专区| 欧美精品一区视频| 亚洲精品有码在线观看| 亚洲精品高清视频| 中文国产成人精品久久96| 99国产情在线视频| 亚洲国产欧美日韩精品一区二区三区 | 亚洲性综合| 香蕉久久久久久狠狠色| 在线观看a国v| 亚欧美综合| 日韩在线一区二区| 99热在这里只有免费精品| 在线日韩麻豆一区| 欧美国产在线视频| 精品亚洲成a人片在线观看| 欧美国产高清| 欧美久久久久久久一区二区三区| 亚洲一本视频| 国产精品乱码高清在线观看| 亚洲一区二区中文| 中文字幕久久综合伊人| 久久久综合网| 国产精品免费视频一区二区三区| 狠狠色狠狠色综合| 免费在线一区| 色婷婷综合久久久中文字幕| 亚洲欧美激情另类| 国产在线观看中文字幕| 精品伊人久久| 99精品国产一区二区三区| 国产精品二区三区免费播放心| 亚洲欧美日韩一级特黄在线| 国产欧美日韩精品在线| 欧美成人精品一区二区三区| 久久99精品国产自在现线小黄鸭| 国产免费一区二区在线看| 日韩中文字幕精品免费一区| 日韩不卡一区二区三区| 免费视频91| 波多野结衣精品一区二区三区| 日本中文一二区有码在线观看| 国产精品.com| 亚洲系列中文字幕| 五月婷婷综合网| 国产综合网站| 国产亚洲欧美精品久久久| 免费日韩在线视频| 欧美日韩一区二区成人午夜电影| 色综合综合| 亚洲欧美一区二区三区不卡| 欧美综合区自拍亚洲综合天堂| 无码av中文一区二区三区桃花岛 | 99re在线观看视频| 亚洲a视频在线| 国产精品久久二区三区色裕| 久久免费激情视频| 亚洲欧美中文日韩二区一区| 久久精品小视频/| 成人亚洲网站| 国产尤物二区三区在线观看| 欧美成在线视频| 久久成人免费网站| 欧美婷婷综合| 亚洲欧美日韩综合一区| 亚洲日韩中文字幕| 一本久久综合亚洲鲁鲁五月天| 国产区精品高清在线观看| 99久久国产综合精品国| 亚洲精品欧美精品| 国产美女视频免费看网站| 91九色在线视频| 亚洲一区欧美日韩| 国产午夜视频在线观看第四页 | 草莓视频毛片| 日本一区二区不卡视频| 精品久久久久久久免费加勒比| 日本一区二区视频在线观看| 日本欧美国产精品第一页久久| 国产日本三级在线播放线观看| 日韩精品一区二区三区中文版| 日韩视频导航| 久久精品免视看国产成人2021| 亚洲欧美自拍一区| 成人精品一区久久久久| 亚洲欧美成人一区二区在线电影| 91精品国产91热久久p | 99久久99久久免费精品蜜桃| 国产精品999| 99久久精品国产一区二区成人| 午夜精品成人毛片| 91精品国产91热久久p| 波多野吉衣一区| 色综合久久中文字幕综合网| 久久成人综合| 香蕉69精品视频在线观看| 欧美精品国产第一区二区| 最新毛片久热97免费精品视频 | 国产在线精品观看| 性欧美极品xxxx欧美一区二区| 色综合视频一区二区观看| 日韩欧美中文字幕在线播放| 青青草a国产免费观看| 99精品久久久中文字幕| 97夜夜澡人人爽人人喊中国片| 日本三级香港三级人妇99视| 精品免费久久| 亚洲欧美偷拍视频| 麻豆精品久久精品色综合| 欧美一区二区在线观看| 国产无套在线播放| 精品国产免费久久久久久婷婷 | 九九热精彩视频| 精品久久久久中文字幕日本| 亚洲毛片大全| 亚洲国产情侣| 国产精品视频1区| 日韩欧美天堂| 久久精品免费视频6| 欧美专区第一页| 国产在线不卡一区| 日韩中文字幕一区| 国产成人黄网址在线视频| 亚洲精品视频在线免费| 日本三级一区二区三区| 九九热中文字幕| 欧美精品一区二区三区四区| 91网站视频在线观看| 国产成人综合久久精品下载| 亚洲免费一区| 欧美成人精品一区二三区在线观看| 日韩欧美国产三级| 亚洲国产精品久久久久666| 亚洲精品第一国产麻豆| 亚洲欧洲另类| 五月天久草| 91视频综合| 精品无码一区在线观看| 欧美日韩中文字幕在线观看| 在线播放国产一区| 日韩国产免费| 久久艹视频| 久久精品乱子伦免费| 亚洲国产精品ⅴa在线观看| 亚洲国产精品综合久久20| 国产视频一区二区三区四区| 亚洲国产精品一区二区久久hs | 中文字幕色综合久久| 欧美性受一区二区三区| 久久精品2| 亚洲天堂2018av| 怡红院综合网| 国产日韩欧美一区二区三区在线 | 亚洲天堂热| 久久国产免费一区| 精品91一区二区三区| 亚洲欧美一区二区三区九九九| 亚洲视频在线观| 伊在人亚洲香蕉精品区麻豆| 欧美婷婷综合| 8090yy亚洲人精品久久| 精品国产福利在线观看网址2022| 在线色网址| 国产中文久久精品| 久久99国产精品亚洲| 国产成人精品一区二三区 | 伊人热久久| 久久99精品国产| 国产二区视频在线观看| 精品亚洲一区二区三区在线播放 | 亚洲视频中文字幕| 伊人青青青| 四虎永久在线精品免费影视| 青草国产| 亚洲国产片高清在线观看| 久久精品午夜| 成人亚洲性情网站www在线观看| 久久中文精品| 久久久久久精| 欧美色图一区二区| 国产精品久久久久久久久电影网| 久久国产亚洲电影天堂| 国产麻豆精品一区二区| 久热国产视频| 中文字幕在线观看一区| 国产成人永久在线播放| 成人毛片免费观看| 成人国产精品一区二区网站| 欧美国产日韩久久久| 亚洲精品美女久久久久99| 婷婷激情在线| 在线观看免费视频一区| 99精品久久99久久久久久| 日韩欧美亚洲国产精品字幕久久久| 精品成人| 久久精品呦女| 精品国产91久久久久久久| 欧美国产日韩综合| 免费精品一区二区三区在线观看| 国产精品一区视频| 日韩国产另类| 99久久综合国产精品免费| 久久精品呦女| 国产三级精品视频| 亚洲国产欧美另类va在线观看| 成人欧美精品大91在线| 国产高清一区| 91精品国产自产在线观看| 欧美一区中文字幕| 91综合网| 99在线视频免费| 综合7799亚洲伊人爱爱网| 日韩在线视频线视频免费网站| 亚欧成人在线| 中文字幕亚洲一区二区三区| 国产成人精品久久综合| 亚洲欧美经典| 国产精品一区视频| 综合色桃花久久亚洲| 99久久精品免费看国产情侣| 午夜久久久| 亚洲啪啪网址| 久久精品免费观看久久| 91麻豆国产自产| 久久中文字幕网| 国产黄色免费网站| 99久久99久久精品国产| 青青热久久国产久精品| 伊人精品影院| 9久久这里只有精品国产| 色综合欧美| 国产午夜亚洲精品不卡福利| 亚洲七七久久综合桃花| 亚洲成a人片在线观看中文| 99精品免费视频| 亚洲视频一区在线| 久久精品首页| 亚洲一级片免费| 欧美日韩国产一区二区| 日日夜夜精品免费视频| 久久亚洲伊人| 精品久久久久久久一区二区伦理| 国产精品女上位好爽在线短片| 国产精品7m凸凹视频分类大全| 欧美日韩在线视频专区免费 | 中文字幕在线视频免费| 91成人免费在线视频| 亚洲午夜精品久久久久久成年| 久久riav国产精品| 欧美色图一区二区| 国产精品免费在线播放| 精品综合久久久久久8888| 精品成人免费一区二区在线播放| 91成人在线免费观看| 亚洲日本国产综合高清醉红楼| 欧美日韩中文字幕在线观看| 黑人中文字幕在线精品视频站| 国产真实伦在线观看 | 中文字幕一区精品欧美| 在线观看国产精品日本不卡网| 97成人免费视频| 综合久| 色综合欧美| 狠狠色婷婷综合天天久久丁香| 色一情一区二区三区四区| 欧美亚洲另类视频| 国产97免费视频| 99精品在线观看| 日韩欧美在线观看一区| 国内精品伊人久久| 国产精品美女在线观看| 在线观看免费精品国产| 亚洲精品小视频| 亚洲欧美中文日韩专区| 色一欲一性一乱一区二区三区| 中文字幕一区在线播放| 欧美午夜网| 一区中文字幕| 亚洲视频第一页| 亚洲人成网站色7777| 最新日韩精品| 97av视频在线观看| 欧美一区二区三区免费高| 91国内精品线免费播放| 精品91一区二区三区| 日韩一级欧美一级一级国产| 国产欧美亚洲精品a| 国产69页| 99久久精品99999久久| 日韩中文字幕网| 亚洲欧美色图| 999精品视频| 精品视频久久| 97成人精品| 日韩福利一区| 色婷婷色| 国产精品偷伦视频播放| 亚洲欧美国产中文| 国产在线精品香蕉麻豆| 激情五月婷婷在线| 国产不卡在线视频| 国内精品在线播放| 亚洲欧美日韩另类| 日本欧美在线视频| 午夜精品久久久久久中宇| 国产偷啪视频一区| 欧美日本一区二区三区| 精品国产成人综合久久小说| 久久91精品国产91久| 亚洲午夜久久久久国产| 日韩精品一区二区三区中文字幕 | 91av电影在线观看| 日韩精品一区二区在线观看| 婷婷激情综合网| 国产在线观看一区| 精品小视频在线| 99精品影视| 91av麻豆| 99ri精品国产亚洲| 国产精品欧美久久久久天天影视| 亚洲天堂国产| 99国产成+人+综合+亚洲欧美| 91av在线免费观看| 欧美影院一区| 亚洲国产中文在线| 久久免费手机视频| 国产精品视频久久久| 激情综合网址| 国产一区二区在线观看视频| 久久久91精品国产一区二区| 97国产免费全部免费观看| 国产精品自拍视频| 国产年成美女网站视频免费看| 亚洲国产精品丝袜在线观看 | 精品国产自| 欧美麻豆久久久久久中文| 毛片在线看免费| 五月婷婷在线视频| 久久首页| 欧美激情综合网| 色网站在线免费观看| 一区二区三区在线视频播放| 一区二区视频在线| 国产免费一级在线观看| 成人精品久久| a毛片免费全部播放完整成| 成人国产精品一区二区网站| 国产观看精品一区二区三区| 一个色综合久久| 亚洲激情黄色| 激情综合网址| 亚洲欧美日韩国产精品一区| 97色伦欧美自拍视频| 91免费高清视频| 国产在线精品福利一区二区三区| 国产一区二区在线看| 黄色片久久久| 亚洲欧美专区精品久久| 91精品国产福利在线观看| 99精品久久99久久久久久| 最新精品国产| www.国产精品| 国产三区视频| 亚洲国产成人va在线观看网址| 九九免费久久这里有精品23| 国产人成午夜免视频网站| 久热精品视频在线| 色综合色综合色综合色综合| 91九色在线播放| 99爱精品| 亚洲二区在线观看| 亚洲免费一区| 欧洲精品在线观看| 男人天堂久久| 99久久免费精品国产免费高清| 中文无码久久精品| 精品久| 亚洲欧美视频在线播放| 亚洲国产精品线在线观看| 在线看欧美日韩中文字幕| 欧美一级久久| 亚洲成人观看| 亚洲自偷自偷精品| 久久精品人人做人人综合试看| 亚洲综合综合在线| 国产在线观看色| 久久蜜视频| 久久夜色精品国产| 国产永久在线| 国产成人精品999在线观看| 国产自产视频| 欧美第六页| 国产三级精品三级在线观看| 久久精品这里| 99久久国产综合精品网成人影院| 亚洲综合成人网在线观看| 欧美成在线播放| 999色综合| 亚洲综合网址| 香蕉在线精品一区二区| 久久久久久噜噜噜久久久精品| 亚洲精品成人a在线观看| 91在线看片一区国产| 国产在线日韩| 国产亚洲欧洲精品| 成人在线日韩| www.亚洲天堂.com| 免费香蕉视频国产在线看| 精品色综合| 久久美女精品| 亚洲天堂视频在线观看免费| 国产91网| 欧美大陆日韩一区二区三区| 久久综合资源| 欧美日韩视频一区二区三区| 国产精品久久久久乳精品爆| 国产一级自拍| 国产一级毛片a午夜一级毛片| 午夜影院一区| 成人欧美一区二区三区黑人3p | 欧美精品久久久久久久免费观看| 久久美女精品国产精品亚洲| 99九九99九九九视频精品| 亚洲欧美专区| 激情五月婷婷在线| 欧美亚洲图区| 香蕉蕉亚亚洲aav综合| 综合久久精品| 福利片一区| 国产日产欧美一区二区三区| 欧美成人久久久免费播放| 亚洲成人三级| 亚洲一区免费在线观看| 四虎影视国产精品一区二区| 久久精品99久久香蕉国产色戒| 久久久国产一区二区三区| 亚洲自拍偷拍区| 日韩成人免费在线| 一本久久综合亚洲鲁鲁五月天| 伊香蕉大综综综合久久| 久久国产综合| 国产一区在线视频观看| 日本在线不卡一区二区| 欧美精品久久| 亚洲福利视频导航| 99ri精品| 亚洲高清国产一区二区三区| 亚洲视频国产精品| 欧美福利在线播放| 亚洲成a人片在线观看播放| 欧美一区二区三区婷婷月色| 日韩国产在线观看| 亚洲一区二区成人| 一区二区三区四区日韩| 成人欧美一区二区三区小说| 欧美日韩高清一本大道免费| 久久九九免费| 欧美亚洲另类在线观看| 国产爽的冒白浆的视频高清| 91久久国产视频| 国产精品手机在线播放| 九九黄色网| 91日韩欧美| 久久免费99精品久久久久久| 2020天堂中文字幕一区在线观| 国产中文字幕一区| 国产天天色| 狠狠色婷婷丁香综合久久韩国| 国产精品九九免费视频| 2019国内精品久久久久久| 九一视频在线免费观看| 亚洲欧美日韩综合在线| 国产午夜精品久久理论片| 亚洲高清视频在线观看| 国产一二精品| 九九精品国产99精品| 在线观看精品国产| 国产高清一区| 婷婷亚洲综合一区二区| 亚洲成人一区在线| 国模精品一区二区三区| 久久高清精品| 国产精品午夜在线观看| 国产精品永久免费视频| 亚洲一区欧美日韩| 99热国产在线| 国产亚洲欧美日韩国产片| 午夜精品免费| 国产精品一区二区在线播放| 香蕉国产线观看| 九九热精品在线视频| 日韩欧美一区二区三区在线观看 | 一级毛片免费观看不卡视频| 久久成人激情视频| 久草综合在线| 国产三级精品三级在专区| 国产成人香蕉久久久久| 国产精品成人麻豆专区| 91欧美激情一区二区三区成人| 日韩亚洲一区二区三区| 亚洲视频一二三| 国产精品久久久久久久牛牛| 欧美久久久久久| 久久社区视频| 国产在线观看一区| 中文字幕第一区| 国产韩国在线| 亚洲精品无码专区在线播放| 亚洲成人第一页| 国产欧美一区二区精品性色tv| 四虎精品影院永久在线播放| 99国产成+人+综合+亚洲欧美| 久久综合欧美| 日韩欧美亚洲一区| 日韩高清一区| 综合久久精品| 国产精品高清一区二区三区不卡| 国内精品久久久久久中文字幕| 亚洲成人一区在线| 国产99视频精品免费视频免里| 亚洲国产资源| 亚洲成人一区| 国产在线观看中文字幕| 国产91在线视频| 成人国产精品999视频| 欧美亚洲国产视频| 婷婷亚洲国产成人精品性色| 福利片一区| 欧美日韩一区二区三区麻豆| 亚洲专区中文字幕| 国产成人免费| 日韩精品一区二区三区中文字幕 | 日韩精品免费一区二区三区| 欧美一区二区三区四区在线观看| 欧美一区二区三区不卡免费| 色综合小说久久综合图片| 亚洲天堂免费看| 免费69视频| 国产成人啪午夜精品网站 | 91亚洲精品第一综合不卡播放| 欧美日韩麻豆| 一区二区在线免费视频| 亚洲无av码一区二区三区| 亚洲精品国产乱码在线播| 国产免费久久精品99| 成人欧美一区二区三区的电影| 97久久久久| 99精品在线免费观看| 国产最新精品| 久久精品动漫| 亚洲综合小视频| 97国产精品| 久久久久夜夜夜精品国产| 亚洲国产精品综合一区在线| 欧美日韩国产手机在线观看视频| 亚洲va中文va欧美va爽爽| 日韩中文字幕精品| 婷婷亚洲综合五月天在线| 午夜久久电影| 99久久国产综合精品2020| 日本尤物精品视频在线看| 99精品热线在线观看免费视频| 国产中文在线| 亚洲综合一二三| 亚洲视频精品| 亚洲专区在线播放| 精品久久久影院| 成人精品一区久久久久| 99久久免费国产精品特黄| 中文字幕国产在线观看| 青青青视频精品中文字幕| 久久97久久97精品免视看清纯| 国产l精品国产亚洲区久久| 日本在线视频二区| 综合色一色综合久久网vr| 久久99精品久久久久久黑人| 国产精品久久久久无码av| 国产欧美日韩综合精品二区| 中文字幕精品视频在线| 亚洲精品一二三| 97成人免费视频| 亚洲国产成人精彩精品| 中文字幕在线观看免费| 99re这里只有精品在线观看| 中文字幕一区婷婷久久| 这里只有久久精品| 成人网在线播放| 国产探花一区| 在线一区国产| 欧洲日韩视频二区在线| 亚洲天堂中文字幕| 欧美激情中文字幕一区二区| 欧美日韩视频免费播放| 欧美久久一区二区三区| 国产全黄三级播放| 天天躁夜夜躁狠狠躁2021a| 久久五月视频| 午夜久久久久久| 日韩久久免费视频| 久久五月婷| 欧美亚洲视频一区| 国产男靠女免费视频网站| 国产国产人免费人成成免视频| 伊人精品成人久久综合欧美| 亚洲综合色色图| 99成人免费视频| 久久精品2021国产| 欧美日韩在线看| 日韩视频一区二区 | 国产欧美日韩看片片在线人成| 亚洲三级在线观看| 精品久久久久久综合日本| 日韩欧美中文字幕一区二区三区| 日韩一区二区三区四区不卡 | 国产精品一区二区久久精品涩爱| 久久精品123| 亚洲一区二区三区免费视频| 亚洲一二三区久久五月天婷婷| 91国内外精品自在线播放 | 亚洲精品99久久久久中文字幕| 狠狠色丁香九九婷婷综合五月| 久久综合丁香激情久久| 国产欧美视频综合二区| 欧美日韩中文国产| 中文字幕精品一区影音先锋| 色婷婷色| 精品国产一区二区三区香蕉事| 怡红院网站| 亚洲综合狠狠| 欧美精品国产一区二区三区| 国产中文字幕久久| 欧美亚洲一区二区三区导航| 国产精品久久久久久久成人午夜| 国产在线视频资源| 亚洲欧美日韩国产一区二区三区精品 | 一级欧美一级日韩| 欧美在线一区二区| 亚洲天堂麻豆| 精品国产成人a在线观看| 国产亚洲精品美女2020久久| 久久精品综合国产二区| 日本一区二区在线| 久久国产99| 久久久精品久久久久特色影视| 亚洲欧美日韩在线2020| 成人亚洲国产综合精品91| 久久久福利视频| 99成人免费视频| 四虎在线观看一区二区| 精品久久九九| 国产一区精品在线观看| 国产精品视频网站| 怡红院网站| 国产成人综合亚洲一区| 久久青青国产| 国产精品视频免费| 亚洲欧美国产日产综合不卡| 欧美国产高清欧美| 福利一区二区三区视频午夜观看| 久久这里只有精品免费播放| 毛片免费在线播放| 国产福利小视频尤物98| 国产午夜精品久久久久小说| 婷婷激情久久| 国产视频精品久久| 亚洲精品国产字幕久久不卡| 亚洲精品专区| 免费人成视网站在线观看不卡| 婷婷丁香亚洲| 国产精品www视频免费看| 久久观看午夜精品| 亚洲欧美日韩一级特黄在线| 色婷综合| 另类亚洲视频| 国产日韩精品一区二区在线观看播放| 国产免费一区二区三区在线观看| 免费人成激情视频在线观看| 欧美精品一区视频| 九九精品99| 国产香蕉成人综合精品视频| 综合色综合| 99热免费精品| 欧美亚洲第一区| 欧美综合图区亚欧综合图区| 99久女女精品视频在线观看| 国产亚洲婷婷香蕉久久精品| 亚洲黄视频在线观看| 国产亚洲毛片在线| 久久精品综合一区二区三区| 免费看片亚洲| 欧美日韩第三页| 国产91在线|日韩| 日韩欧美在线精品| 精品国产免费人成在线观看| 日本国产在线观看| 精品久久亚洲| 久久精品国产曰本波多野结衣| 亚洲国产日韩综合久久精品| 久久精品视频1| 欧美日韩亚洲一区| 视频二区欧美| 国产三区视频| 久久国产精品最新一区| 精品国产91久久久久久久| 五月天亚洲综合| 欧美特黄a级| 国产一区二区视频在线| 91av在线视频观看| 亚洲黄a| 国产精品91在线播放| 999热视频| 久久精品2019www中文| 久久精品中文字幕久久| 91精品国产自产91精品| 麻豆精品久久精品色综合| 欧美日韩亚洲一区二区三区| 免费观看黄a一级视频日本| 久久香蕉国产线看观看精品yw| 亚洲精品综合网| 欧美一区精品二区三区| 亚洲伊人99综合网| 精品国产区一区二区三区在线观看 | 久久99免费| 国内精品久久久久久久| 国产在线一二三区| 99精品在线免费| 亚洲不卡免费视频| 亚洲天堂视频网站| 一区二区日韩欧美| 日本不卡影院| 性做久久久久久久久浪潮| 日韩国产欧美在线观看| 日韩乱视频| 国产精品视_精品国产免费| 日韩精品永久免费播放平台| 免费在线色视频| 国产欧美在线| 99在线观看精品免费99| 色婷婷视频| 91精品久久久| 国产日韩欧美一区二区| 日韩精品一区二区三区视频网| 久久国产资源| 国产自在线拍| 精品在线观看国产| 久久免费视频网站| 99久久久国产精品免费| 欧美亚洲日本视频| 国产精品福利无圣光一区二区| 欧美大片一区二区三区| 香蕉蕉亚亚洲aav综合| 国产欧美亚洲三区久在线观看| 97国产免费全部免费观看| 在线国产日韩| 精品伊人久久| 中文一区二区视频| 日本久久综合视频| 91色国产| 国产成人香蕉| 国产精品自拍一区| 久久青青热| 久久精品国产精品亚洲婷婷| 亚洲综合一| 免费国产之a视频| 国产精品亚洲精品不卡| 国产91在线看| 日本一区二区三区精品视频| 视频二区三区国产情侣在线| 中文字幕成人网| 午夜精品免费| 视频一区二区欧美日韩在线| 日本激情视频一区二区三区| 久久精品国产国语对白| 久久麻豆精品| 亚洲欧美精品久久| 久久久久久久国产精品影院| 精品国产电影网久久久久婷婷| 欧美性猛交99久久久久99| 91精品国产91| 一区二区福利视频| 91av在线免费视频| 五月天久草| 亚洲日韩精品欧美一区二区一| 91www在线观看| 国产精品午夜久久| 国产女人伦码一区二区三区不卡| 国产区网址| 日韩不卡一二三区| 在线亚洲日产一区二区| 一区二区三区视频在线观看| 欧美久久综合网| 欧美亚洲第一区| 欧美精品久久久久久久免费观看| 欧美成人免费一区在线播放| 中文字幕在线观看不卡| 欧美在线观看一区| 九九热这里只有精品6| 九九九精品视频免费| 亚洲品质自拍网站| 日本三级香港三级人妇99视| 亚洲国产精品免费视频| 99热这里只有精品在线观看| 香蕉久久一区二区三区| 亚洲欧美中文字幕| 国产99久久亚洲综合精品西瓜tv| 中文字幕成人在线观看| 国产婷婷色综合成人精品| 国产成人黄色| 久久五月婷| 国产亚洲精品资源在线26u| 韩国一区二区三区视频| 国产日韩欧美在线播放| 国产人成午夜免电影观看| 国产激情视频在线播放| 99久久精品免费观看区一| 久久精品看片| 99久久精品国语对白| 国产在线丝袜| 亚洲欧美人成综合在线最新| 日韩欧美在线一区二区三区| 国产另类在线观看| 国产综合视频在线| 国产欧美一区二区精品性色| 成人国产精品一级毛片视频| 亚洲影视一区二区| 伊人色强在线网| 色妞综合网| 综合久| 国产日韩欧美自拍| 国产成人福利美女观看视频| 欧美区在线观看| 国产精品久久久久久久| 久久99欧美| 视频一区二区三区免费观看| 日韩一区二区三区免费体验| 久久国产小视频| 亚洲婷婷丁香| 日本色一区| 97国产成人精品免费视频| 精品久久亚洲| 久久久久国产精品免费免费不卡| 午夜免费看视频| 日本高清www午夜视频| 91精品国产免费久久久久久青草| 国产私拍在线| 久久久久免费观看| 国产一区在线视频观看| 日韩精品一区在线| 久久高清精品| 久久青青国产| 国产有码视频| 国产成人精品在线观看| 亚洲第一页中文字幕| 亚洲毛片免费在线观看| 亚洲综合一区二区精品久久| 亚洲一区二区综合18p| 欧美日韩在线成人看片a| 欧美日韩不卡一区| 国产福利一区视频| 亚洲永久免费视频| 亚洲国产精品成人综合久久久| 婷婷亚洲综合五月天在线| 日本久久精品视频| 国产一区二区福利久久| 日本不卡影院| 国产精品亚洲αv天堂2021| 精品一区二区三区在线| 狠狠色丁香久久婷婷| 日韩欧美国产中文| 国产毛片视频网站| 国内欧美一区二区三区| 久久免费99精品国产自在现线| 国产精品久久福利新婚之夜| 911精品国产91久久久久| 国产精品国产精品国产三级普| 精品国产1区| 日韩欧美成末人一区二区三区| 99久免费精品视频在线观看2| 成人国内精品久久久久影| 亚洲视频在线观看一区| 亚洲欧美成aⅴ人在线观看| 国产免费a级片| 午夜视频免费在线| 伊人久久成人成综合网222| 97久久精品视频| 九九99精品久久久久久| 精品国产91久久久久久久a | 国产图片一区| 欧美一区精品| 这里只有精品网| 91麻豆精品国产91久久久| 中文国产在线观看| 国产日韩欧美综合| 亚洲精品美女久久久久| 国产叼嘿视频在线观看| 国产精品资源在线| 国产精品国产三级国产| 欧美一区二区三区精品| 精品欧美一区二区三区在线观看| 国产在线精品福利91香蕉| 精品乱久久| 国产在线91精品入口首页| 在线成人精品国产区免费| 99久久精品国产免费| 亚洲视频在线观看不卡| 国产91精品一区二区| 91精品国产91久久久久久青草| 香蕉乱码成人久久天堂爱免费| 欧美视频亚洲| 婷婷久久五月天| 91在线播放免费不卡无毒| 精品国产一区二区三区不卡| 依人综合| 综合色亚洲| 亚洲国产美女精品久久| 四虎在线精品免费高清在线| 99热国产免费| 亚洲欧美二区三区久本道| 亚洲三级在线看| 国产欧美综合在线观看第七页 | 国产精品午夜在线播放a| 九九大香尹人视频免费| 亚洲免费a| 亚洲色图欧美一区| 久久国产精品99国产精| 国产高清一区二区三区四区| 麻豆一级片| 国产精品欧美亚洲韩国日本不卡| 日本精品一二三区| 日韩欧国产精品一区综合无码| 国产在线一区二区| 日韩欧美在线播放| 免费成人福利视频| 欧美激情综合| 国产精品999在线| 国产日日夜夜| 色伊人久久| 日韩欧美一二区| 一区二区三区四区亚洲| 国产综合久久久久久| 久久久久久久免费| 国产啪在线91| 日韩精品午夜| 国产精品一区二区制服丝袜| 国产精品久久久免费视频| 久久青青国产| 日韩精品中文字幕一区三区| 国产日韩欧美在线一区二区三区| 日韩一区二区三区在线播放| 成人亚洲精品| 国产成人毛片亚洲精品不卡| 亚洲欧美日韩综合在线播放| 欧美日韩三| www.精品| 亚洲综合99| 五月天久久婷婷| 国产日韩欧美在线| 国产精品杨幂va在线观看| 亚洲国产第一区| 久久亚洲精品中文字幕三区| 激情综合网址| 免费a级毛片无码| 久久久久久久久一次| 国产视频二区在线观看| 久久亚洲精品人成综合网| 国产成人久久精品二区三区| 欧美一区二区在线观看| 香蕉久久夜色精品国产小优| 欧美一区在线观看视频| 99这里精品| 久久不卡免费视频| 亚洲一区二区视频在线观看| 国产精品夜色视频一区二区| 国产在线精品成人一区二区三区 | 免费看日产一区二区三区| 国产专区精品| 制服丝袜在线视频| 国产一级二级三级视频| 亚洲一二三在线| 99久久精品全部| 亚洲国产精品成人综合久久久| 久久久夜色精品国产噜噜| 国产成人青青热久免费精品| 中文字幕欧美在线| 国产成人91高清精品免费| 国产成人乱码一区二区三区| 中文字幕在线免费观看视频| 欧美日韩专区国产精品| 亚洲国产精品欧美综合| 亚洲丁香色婷婷综合欲色啪| 99久久精品免费看国产免费| 欧美日韩一区二区三区麻豆| 国产成人综合自拍| 国产91av在线| 婷婷综合久久中文字幕| 精品91一区二区三区| 精品国产一区二区三区不卡在线| 怡红院亚洲怡红院首页| 亚洲小视频网站| 国内精品视频在线播放一区| 国产夫妻久久线观看| 久久99精品国产麻豆婷婷| 九九99精品| 亚洲国产视频网| 亚洲激情综合网| 欧美一区二区三区视频| 亚洲一本| 制服丝袜在线不卡| 国产91色综合久久免费分享| 久久久久久九九| 在线精品视频免费观看| 91国内精品| 99热这里只有精品在线播放| 91免费视频国产| 国产专区91| 欧美精品一区二区精品久久| 九九热在线免费| 日韩国产成人资源精品视频| 亚洲fuli在线观看| 亚洲精品国产手机| 免费av一区二区三区| 97综合久久| 日韩免费成人| 免费色网址| 99精品福利视频| 亚洲丝袜国产| 国产亚洲精品91| 色综合区| 国产精品漂亮美女在线观看| 亚洲高清视频免费| 欧洲精品一区二区| 久久久久国产成人精品亚洲午夜| 亚洲视频毛片| 日韩美一区二区三区| 久久久久久综合一区中文字幕| 国内精品免费一区二区观看| 色中色综合网| 欧美极品在线| 成人亚洲欧美在线电影www色| 色婷婷亚洲十月十月色天| 久久久美女| 国产日韩一区二区三区在线播放| 日韩中文字幕网站| 久久riav国产精品| 色综合综合色| 国产欧美日韩一区| 国产精品久久久久久久久免费| 亚洲国产精品一区二区久久hs| 国产成人精品一区二区不卡| 日韩精品网| 国产不卡一区| 国产精品第一区在线观看| 99草在线观看| 国产美女久久久| 国产精品亚洲第一区二区三区 | 久久高清一区二区三区| 亚洲精品国产日韩| 久久亚洲网站| 亚洲日韩中文字幕天堂不卡| 亚洲综合中文| 91国偷自产一区二区三区蜜臀| 久久久久久99| 久草视频这里只有精品| 激情五月婷婷久久| 蜜桃精品免费久久久久影院| 91精品福利在线观看| 欧美日产国产亚洲综合图区一 | 国产亚洲一欧美一区二区三区| 成人中文字幕在线观看| 四虎影视国产精品一区二区| 国产成人精品在视频| 亚洲不卡网| 高清国产性色视频在线| 欧美国产日本精品一区二区三区| 日本一区二区中文字幕| 色综合日韩| 亚洲国产综合精品| 亚洲综合狠狠| 99成人在线| 亚洲欧美高清在线| 免费看片亚洲| 99久久精品99999久久| 亚洲精品美女久久久久网站| 精品国产三级a∨在线观看 | 亚洲国产成人麻豆精品| 欧美日韩中文在线视频| 精精国产www视频在线观看免费| 亚洲欧美日韩综合精品网| 在线观看网站国产| 国产一区高清视频| 国产欧美激情一区二区三区| 久久久久性| 曰批免费视频播放在线看片| 久久久精品久久久久久| 国产欧美日韩综合精品二区| 精品91在线| 成人久久久精品乱码一区二区三区| 欧美精品第一页| 久久一区二区三区免费| 视频一区二区三区在线观看| 中文字幕免费观看视频| 视频在线一区| 狠狠综合久久久久尤物丿| 亚洲欧洲一区二区三区| 福利一区二区在线观看| 91精品福利视频| 亚洲精品99久久久久久| 国产成人精品午夜在线播放| 久久99精品国产免费观看| 激情综合网五月婷婷| 日本精品视频一区二区三区| 欧美日本一本线在线观看| 亚洲天堂一区二区在线观看| 久久免费国产| 亚洲永久在线| 五月天婷婷久久| 精品久久久久久中文字幕专区| 国产精品第五页| 97s色视频一区二区三区在线| 99riav国产精品| 香港aa三级久久三级不卡| 国产精品福利网站| 久久国产视频精品| 日本一区二区中文字幕| 91福利在线视频| 久久精品国产免费观看99| 欧美日韩一区二区三区免费| 亚洲人成在线中文字幕| 欧美最新在线| 亚洲第一欧美| 国产精品无打码在线播放9久| 91国内精品久久久久免费影院| 国产日韩视频在线| 国产成人毛片视频不卡在线| 日韩精品视频观看| 88国产精品欧美一区二区三区| 国产精品久久不卡日韩美女| 国产一区精品视频| 亚洲国产欧美在线人成精品一区二区 | 国产精品yjizz视频网一二区| 国产在线91精品天天更新| 亚洲一区二区三区四区视频| 精品国产一级毛片大全| 日韩精品影视| 色视频一区二区三区| 成人精品国产| 91福利一区| 99国产精品久久| 亚洲日韩天堂| 国产福利小视频在线播放| 欧美自拍另类| 精品三级66在线播放| 国产在线观看91精品一区| 国产青青在线| 视频二区国产| 午夜国产精品福利在线观看| 福利在线一区| 国产亚洲视频在线| 日韩一区二区免费| 亚洲青草| 国产99免费视频| 亚洲国产欧美无圣光一区| 午夜在线精品不卡国产| 综合欧美亚洲| 亚洲怡红院在线| 九九精品视频一区二区三区| 欧美自拍另类| 99热精品国产三级在线观看| 亚洲国产精品丝袜在线观看 | 亚洲国产午夜精品乱码| 亚洲欧美中文字幕高清在线一| 久久久久亚洲日日精品| 国内精品久久精品| 国产精品乱码一区二区三区| 国产男靠女免费视频网站| 国内精品久久久久久久97牛牛| 亚洲成人中文字幕| 九九精品久久久久久噜噜中文 | 亚洲精品高清国产一久久| swag国产精品一区二区| 99国内精品久久久久久久| 欧美伊人久久大香线蕉在观| 精品成人一区二区三区免费视频| 亚洲欧美伦理| 精品久久久中文字幕| 久久香蕉国产观看猫咪3atv| 97av免费视频| 在线观看一区二区精品视频| 亚洲人在线观看| 狠狠色丁香久久婷婷| 中文字幕久久久久久精| 国产激情三级| 亚洲天堂首页| 精品久久久久中文字幕app| 国产女人久久精品| 综合久久影院| 欧美久久网| 国产精品欧美在线观看| 欧美成人一区二区三区不卡视频| 99久久精品国产麻豆| 国产精品久久久久久一级毛片| 日本伊人精品一区二区三区| 久一视频在线| 亚洲欧美人成综合导航| 2020久久国产精品福利| 99这里只有精品在线| 国产精品91在线播放| 99热这里只有精品6免费| 国产91网| 久久99精品国产自在现线小黄鸭| 亚洲一区二区三区91| 国产不卡在线看| 热久久国产| 四虎在线永久| 99re最新地址精品视频| 久久久久久久国产免费看| 日韩欧美一区二区三区在线| 国产一区二区高清视频| 亚洲一区影院| 欧美日韩国产乱了伦| 91国内精品| 五月婷婷六月合| 免费人成在线水蜜桃视频| 在线播放亚洲视频| 成人综合久久精品色婷婷| 精品国产福利片在线观看| 精品欧美一区二区三区在线| 亚洲欧美自拍另类| 蜜桃久久久| 亚洲视频国产精品| 精品乱码一区二区三区在线| 日本一道dvd在线中文字幕| 奇米在线影视一区二区三| 国产一级视频免费| 国产黄网| 91免费国产在线观看| 国产自在线拍| 国产人成久久久精品| 欧美日韩一| 国产亚洲毛片在线| 国内成人免费视频| 色综合久久中文字幕综合网| 国产一区福利| 精品成人毛片一区二区视| 在线中文字幕网| 日韩精品中文乱码在线观看| 国产一区二区在线视频播放| 国产网址在线观看| 国产在线精品一区二区夜色| 国产福利一区二区三区在线观看| 国产永久在线视频| 亚洲线精品一区二区三区| 午夜精品网站| 国产亚洲精品国看不卡| 亚洲视频精品| 激情视频综合网| 欧美一区二区在线观看| 亚洲制服无码| 日韩精品第一区| 亚洲午夜高清| 免费观看精品视频999| 亚洲另类在线欧美制服| 亚洲无线码一区二区三区| 韩国精品一区二区三区在线观看| 久久亚洲精中文字幕冲田杏梨| 亚洲精品美女久久久久网站| 免费精品久久| 亚洲免费a| 久久这里只有精品视频99| 一区二区三区精品视频| 五月婷婷影院| 国产精品日韩专区| 福利视频不卡| 精品一区二区三区中文字幕| 久久国产精品99久久久久久牛牛 | 色婷婷成人网| 国产91免费视频| 制服丝袜在线播放| 九九精品影院| 欧美精品一区二区| 成人激情综合网| 日韩乱视频| 免费视频一区二区| 在线a免费观看| 亚洲欧美日韩高清一区二区三区| 国产福利一区二区| 日韩毛片在线视频| 第一区免费在线观看| 欧美日韩一区二区三区自拍| 日韩精品免费观看| 精品一二区| 九九精品视频免费| 视频在线观看一区二区三区| 91久久精品国产91久久性色tv| 成人精品亚洲人成在线| 亚洲视频免费在线看| 国产免费久久精品| 国产一级毛片卡| 中文字幕66页| 精品视频一区在线观看| 亚洲一区中文字幕在线观看| 久久黄色免费| 一区二区美女视频| 福利视频一区| 国产视频久久久| 国产91专区| 国产精品国偷自产在线| 国产色视频在线观看免费| 亚洲天堂一区二区| 日本欧美一区二区免费视| 久久精品国产曰本波多野结衣| 久久久久久亚洲精品中文字幕| 91久久福利国产成人精品| 欧美一区二区三区免费| 亚洲欧美婷婷| 91精品国产91久久久久久麻豆| 欧美精品高| 99九九久久| 99久久精品国产高清一区二区| 国产在线不卡视频| 国产一区二区精品在线观看| 亚洲一区二区三区视频| 九九国产精品九九| 国产一起色一起爱| 国产免费久久精品99| 亚洲成人免费网址| 亚洲精品毛片久久久久久久| 欧美一区二区三区免费播放| 99久久精品国产9999高清| 夜色精品国产一区二区| 免费视频久久久| 四虎精品永久在线| 国产成人免费在线视频| 亚洲一区二区高清| 国产资源网| 久久免费精彩视频| 久久综合久久综合九色| 欧美国产免费| 日韩欧美中文亚洲高清在线| 婷婷色中文网| 视频久久精品| 国产在线资源站| 国产天堂在线观看| 日韩91| 亚洲一区毛片| 日本成人不卡视频| 国产精品资源| 日韩国产综合| 久久精品综合电影| 精品久久中文字幕| 亚洲国产人成中文幕一级二级| 制服丝袜一区二区三区| 91不卡视频| 亚洲国产成人精品91久久久| 久草青青在线| 欧美激情精品久久久久| 国产l精品国产亚洲区久久| 精品久久成人| 国自产在线精品免费| 综合久久久久| 国语高清精品一区二区三区| 国内精品久久久久影院一蜜桃| 性满足久久久久久久久| 国产v欧美v日本v精品| 国产日韩欧美在线| 麻豆精品久久久| 欧美激情不卡| 日韩国产在线播放| 美女福利视频一区二区| 欧美黄色免费网址| 久久厕所精品国产精品亚洲| 91精品国产人成网站| 视频一二三区| 亚洲欧美日韩在线观看| 久久亚洲国产伦理| 久久精品日日躁夜夜躁欧美| 成人网在线| 91精品国产综合久久久久| 欧美在线综合| 欧美第六页| 国产成人啪午夜精品网站| 日韩亚洲欧美综合| 欧美高清在线视频一区二区| 欧美日韩国产综合视频在线看| 国产亚洲精品免费| 香蕉久久精品| 伊人色在线视频| 久久成人精品| 在线观看日韩欧美| 青青草久久| 在线观看国产精品一区| 99热这里只有精品在线播放| 青草热久精品视频在线观看| 亚洲精品在线看| 欧美久久亚洲精品| 91中文字幕在线视频| 91av视频免费在线观看| 国产中文一区| 97视频在线播放| 亚洲天堂第一区| 午夜在线一区| 国产91在线看| 国产午夜精品久久久久小说| 国产91精品在线播放| 久久精品资源| 玖玖爱国产| 精品欧美一区二区在线看片| 日韩精品a在线视频| 尤物国产在线| 国产午夜精品久久久久小说| 四虎在线永久| 国产精品91在线播放| 久久www免费人成一看片| 久久免费视频网| 亚洲国产免费| 日韩一区二区在线播放| 欧美久久久久久| 欧美1区2区3区| 日韩深夜视频| 国产欧美日韩专区| 亚洲美女综合网| 伊人青青久久| 伊人精品视频一区二区三区| 欧美麻豆久久久久久中文| 国产精品免费大片| 国产偷啪视频一区| 亚洲天堂免费看| 视频一区欧美| 欧美日韩视频二区三区| 久久综合给会久久狠狠狠| 国产午夜亚洲精品不卡电影| 国产日韩欧美成人| 亚洲男人天堂网址| 伊人伊成久久人综合网777| 久久99九九| 日韩欧美国产中文| 亚洲日韩在线视频| 国产成人综合91香蕉| 日韩精品在线免费观看| 亚洲欧美精品| 日韩一区二区三区四区| 99久久精品久久久| 欧美久久一区二区| 91精品国产高清91久久久久久| 日韩国产欧美视频| 亚洲国产成人精品一区91| 精品国产亚洲人成在线| 呦系列视频一区二区三区| 91精品欧美成人| 怡春院一区二区| 国产精品第一| 亚洲系列第一页| 伊人久久精品| 国产精品自在线| 亚洲午夜一区二区三区| 日韩高清一区二区| 欧美在线观看视频一区| 青草精品在线| 亚洲第一欧美| 免费看国产精品久久久久| 2021久久精品永久免费| 亚洲精品色图| 久久国产高清| 国产在线拍揄自揄视频不卡99 | 久久精品国产在热亚洲完整版| 在线观看免费视频一区| 自拍亚洲一区| 日韩欧美视频二区| 九九热在线视频播放| 亚洲性生活网站| 国产人成精品午夜在线观看| 亚洲免费大全| 国产视频一区二区在线播放| 久国产精品久久精品国产四虎| 91免费精品视频| 青青操精品| 九九久久精品视频| 欧美青青草| 在线观看中文字幕亚洲| www.亚洲天堂| 欧美久久久久久| 色噜噜狠狠一区二区三区果冻| 亚洲日本在线免费观看| 国产高清精品久久久久久久| 国产资源免费观看| 国产午夜亚洲精品| 一本色道久久综合| 欧美高清一区| 国产人成久久久精品| 九九香蕉网| 婷婷爱五月天| 在线亚洲天堂| 国产一二三四在线观看| 日韩资源在线观看| tom影院亚洲国产日本一区| 久久精品国产精品2020| 国产精品毛片| 亚洲欧美日韩一级特黄在线| 久久99九九| 久久91av| 日韩国产中文字幕| 日韩精品一区二区三区四区| 午夜爽爽性刺激一区二区视频| 亚洲欧美精品一中文字幕| 中文字幕亚洲无线码在一区| 久久黄色影片| 久久久精彩视频| 国产第一页在线观看| 国产精品二区三区| 91综合在线| 日本亚洲欧美美色| 最新国产精品| 精品久久久久国产| 91久久精品午夜一区二区| 99精品久久99久久久久| 九九热免费观看| 日本亚洲欧美美色| 欧美日韩免费观看| 精品在线观看免费| 九九久久亚洲综合久久久| 精品日韩视频| 91精品国产综合久久福利| 欧美日韩在线观看一区二区| 精品在线一区二区三区| 午夜伦伦| 国产一区二区在免费观看| 伊人久久综合网亚洲| 91精品国产91久久久久久青草| 欧美视频一区二区专区| 毛片免费视频网站| 日韩区欧美区| 日韩欧美精品综合一区二区三区| 国产精品久久九九| 亚洲国产成人精品女人久久久| 色妞www精品视频免费看| 日韩精品1区| 一区在线免费观看| 久久久久亚洲香蕉网| 亚洲欧美日韩在线播放| 国产特级毛片aaaaaa毛片| 国产福利不卡一区二区三区| 青青伊人久久| 日本一区二区三区高清福利视频| 亚洲人成一区二区不卡| 久久久精品一区二区三区| 国产一级视频久久| 在线观看精品视频一区二区| 99视频精品在线| 亚洲欧美视频二区| 91亚洲天堂| 亚洲一二三区在线观看| 亚洲欧美日韩综合在线一区二区三区| 国产精品久久久尹人香蕉| 国产成人精品福利站| 一区二区三区欧美| 中文天堂网在线www| 黑丝一区二区| 久久免费视频精品| 国产精品福利网站| 欧美亚洲777| 国产亚洲三级| 色婷婷综合网| 欧美1区2区3区| 国产精品久久久久一区二区| 欧美精品九九99久久在免费线| 国产精品丝袜在线| 久久综久久美利坚合众国| 精品国产专区91在线app| 激情视频一区| 在线观看国产区| 亚洲永久免费视频| 亚洲二区在线视频| 亚洲精品高清在线观看| 国产剧情一区二区| 欧美日韩第三页| 5566中文字幕亚洲精品| 在线日韩国产| 久久亚洲国产精品五月天| 色综合天天综合网国产成人网| 成人国产在线观看高清不卡| 97se狠狠狠狠狠亚洲综合网| 久草国产在线观看| 成人久久伊人精品伊人| 午夜精品在线| 亚洲激情综合网| 久久综合给会久久狠狠狠| 久久99精品这里精品动漫6| 久久久久一级片| 国产91av视频| 韩国福利一区| 亚洲欧美日本国产综合在线| 久久久久久久影院| 国产亚洲精彩视频| 狠狠综合久久久久尤物丿| 欧美日韩精| 国产一区二区三区毛片| 国产精品乱码高清在线观看| 国产91色在线| 亚洲精品青青草原avav久久qv| 91久国产在线观看| 91精品国产一区| 99精品欧美| 国产制服丝袜在线观看| 亚洲国产大片| 国产精品伊人| 久久久国产精品福利免费| 婷婷在线观看网站| 欧美日韩一区二区三区在线| 国产区免费在线观看| 五月婷婷六月丁香综合| 中文字幕88页| 欧美色伊人| 精品一区二区三区免费视频| 国产无套在线播放| 九月婷婷综合| 国产综合亚洲专区在线| 99国内精品| 国产专区一区| 91av在线导航| 午夜精品在线| 日韩精品久久一区二区三区| 亚洲成a人一区二区三区| 婷婷97狠狠的狠狠的爱| 国产亚洲精品aaa大片| 亚洲视频在线观看一区| 国产精品不卡在线观看| 99久久精品免费看国产一区二区| 日韩一区二区免费看| 综合亚洲色图| 欧美日韩一区二区三区自拍 | 视频二区国产| 91av在线免费观看| 色综合中文网| 欧美精品日韩| 亚洲人6666成人观看| 亚洲欧美日韩中文无线码| 精品欧美一区二区三区在线观看| 国内精品久久影视免费| 亚洲一区二区成人| 亚洲天堂久久精品成人| 国产精品综合在线| 99re在线视频观看| 99精品在线| 91福利免费视频| 日本伊人精品一区二区三区 | 久久99久久99精品免费看动漫| 成人免费视频一区| 亚洲欧美一区二区三区九九九| 亚洲视频www| 在线久综合色手机在线播放| 国产成人欧美一区二区三区vr| 国产爽的冒白浆的视频高清| 国产69精品久久久久9999| 亚洲人免费视频| 精品视频久久| 国产精品国产三级国产an| 伊人网欧美| 伊人婷婷色| 国产99久久久国产精品免费直播 | 久久精品三级| 青青草原国产在线观看| 99精品欧美一区二区三区| 国产成人精品午夜免费| 日本精品久久久久中文字幕2 | 国产成人一区二区三区在线视频| 国产欧美日韩精品一区二| 国产一区二区三区免费在线视频 | 99在线观看精品视频| 色综合视频一区二区观看| 欧美在线亚洲| 久久久成人网| 亚洲视频第一页| 国产在线播放一区| 久久青青草原精品国产不卡| 日韩久久综合| 欧美在线黄色| 福利一区二区视频| 久久99精品国产自在现线小黄鸭 | 国内精品欧美久久精品| 亚洲综合15p| 精品国产成人| 久久成人免费网站| 亚洲精品国精品久久99热| 精品国产一区二区三区国产馆| 久久精品视频16| 精品国产一区二区三区免费| 九九99九九在线精品视频| 999精品视频在线| 在线色网址| 精品一区二区三区免费视频| 色综合视频一区二区三区| 亚洲欧美日韩国产综合专区| 欧美日韩精品一区二区三区四区| 亚洲日本中文字幕天天更新| 久久线看观看精品香蕉国产| 亚洲视频一区在线观看| 国产精品高清一区二区三区| 99性视频| 久久免费播放| 日韩欧美在线观看视频一区二区| 亚洲国产成人久久综合一区77| 无码中文字幕乱码一区| 亚洲成在人线av| 国产激情视频在线播放| 青草影院在线观看| 国产一区亚洲| 亚洲精品在线免费观看| 日韩精品久久久久久久电影99爱| 亚洲欧美综合日韩字幕v在线| 亚洲第一网站在线观看| 99视频在线国产| 亚洲欧美精品| 99在线视频网站| 亚洲国产欧美在线| 亚洲精品日韩专区在线观看| 国产精品亚洲精品| 国产日本精品| 日韩毛片免费视频| 国产成人无精品久久久| 99国产成人高清在线视频| 欧美高清国产在线观看| 久久久91精品国产一区二区三区| 玖玖精品国产| 国产欧美二区| 波多野结衣久久精品| 久久精品一区| 国产精品99一区二区三区| 亚洲精品亚洲人成在线| 99国产精品热久久久久久夜夜嗨| 久久99精品久久久久久青青91| 色综合视频在线| 久久97久久97精品免视看清纯 | 欧美国产合集在线视频| 日韩成人精品| 精品在线99| 国产调教视频在线观看| 久久这里只有精品国产| 国产欧美亚洲三区久在线观看| 国产精品福利一区二区久久| 亚洲午夜久久久久影院| 九色综合久久综合欧美97| 亚洲欧美在线观看| 97在线亚洲| 欧美日韩亚洲综合久久久| 狠狠亚洲狠狠欧洲2019| 日韩欧美精品在线| 97在线免费看视频| 亚洲综合一| 青青在线精品视频| 色婷婷综合激情视频免费看| 精品国产亚一区二区三区| 亚洲欧美久久精品一区| 在线观看亚洲| 国产第一福利精品导航| 在线亚洲精品中文字幕美乳| 国产成人一区二区三区高清| 国产在线视频不卡| 91欧洲在线视精品在亚洲| 欧美国产精品va在线观看| 99国产小视频| 日韩a在线观看免费观看| 亚洲国产精品ⅴa在线观看| 国产精品美女一区二区三区| 国产精品黄在线观看免费| 亚洲福利一区| 国产高清在线精品一区二区三区| 日韩精品免费一级视频| 国产精品美女久久久久网| 久久伊人成人| 成人亚洲国产综合精品91| 亚洲无限观看| 欧美天天视频| 国产成人免费全部网站| 伊人久久精品| 国产精品66| 91在线精品视频| 成人在线日韩| 国产精品久久久久乳精品爆| 五月婷婷亚洲| 国产日韩欧美自拍| 99视频国产在线| 怡红院亚洲红怡院天堂麻豆| 国产成人综合在线观看| 亚洲欧美日韩综合一区| 99久久综合狠狠综合久久| 国产综合久久久久久| 亚洲精品欧美在线| 国产成人精品午夜视频' | 精品国产一区二区三区在线| 久久久久久久综合日本亚洲| 久久久99精品久久久久久| 九九爱精品视频| 久久久91| 国产一起色一起爱| 91精品在线国产| 亚洲欧美国产中文| 日韩欧美精品一区二区| 国产精品久久久久久免费| 免费在线观看一区| 日本久久99| 中文字幕亚洲第一| 久久亚洲精品玖玖玖玖| 久久精品国产免费观看99| 亚洲一区视频| 91精品视品在线播放| 久久精品天堂| 国产日韩精品欧美一区喷| 亚洲综合自拍| 成人国产在线观看高清不卡| 精品国产一区二区二三区在线观看| 久久视精品| 九九视频精品全部免费播放| 91亚洲影院| 欧美激情视频网址| 四虎永久在线观看视频精品| 久久综合综合| 亚洲国产日韩欧美综合久久| 亚洲青草| 国产精品香蕉在线观看不卡| 国产精品视频1区| 丁香综合激情| 欧美天天| 日韩中文字幕网站| 中文国产欧美在线观看| 国产91在线看| 蜜桃成人精品| 久久伊人网视频| 国产成人精品综合在线| 91亚洲国产成人精品下载| 欧美日本一本| 欧洲视频一区| 久热草在线| 亚洲va中文字幕无码| 国产精品一区视频| 国产精品美女在线观看| 久久综合色网| 久久91精品国产91久| 免费观看黄a一级视频日本| 久久综合久久精品| 欧美一区二区三区不卡| 激情综合丝袜美女一区二区| 免费国产成人| 在线免费国产视频| 四虎在线看| 51国产偷自视频区视频| 亚洲视频在线网站| 999成人精品视频在线| 亚洲欧美日韩高清一区二区三区| 一本久草| 伊人成年综合网| 欧美日韩国产一区二区三区播放| a亚洲欧美中文日韩在线v日本| 国产欧美在线观看一区二区| 久久婷婷久久一区二区三区| 欧美综合区自拍亚洲综合天堂| 国产91原创| 日韩欧美一区在线观看| 国产亚洲精品拍拍拍拍拍| 精品日韩欧美一区二区三区| 亚洲精品乱码久久久久久麻豆 | 欧美色欧美亚洲另类| 91精品观看91久久久久久| 2020久久国产精品福利| 国产成人精品本亚洲| 亚洲国产高清在线| 国产激情视频在线观看首页| 天天伊人| 99久久免费国产精品m9| 精品福利视频导航| 国产久视频| 亚洲黄色网址在线观看| 六月婷婷导航福利在线| 成人综合视频网| 伊人精品视频在线| 国产欧美国产精品第一区| 国产色产综合色产在线观看视频 | 亚洲伊人网站| 国产综合精品在线| 日韩欧美在线观看| 欧美日本一道本| 亚洲精品免费在线视频| 婷婷伊人久久| 亚洲高清在线视频| 亚洲精品三区| 亚洲精品欧美在线| 中文字幕在线亚洲精品| 国产精品亚洲精品日韩动图| 99久久国产视频| 91青草视频| 国产精品精品国产一区二区| 欧美一区精品二区三区| 亚洲欧美另类自拍| 永久免费观看的毛片的网站| 国产成年网站| 亚洲国产精品人久久| 久久精品国产日本波多野结夜| 国产原创在线视频| 日本精品视频在线| 久久成人亚洲| 国产精品亚洲精品日韩动图| 在线观看免费黄网站| 99精品视频99| 亚洲精品二区| 欧美一级欧美三级在线观看| 亚洲欧洲一区| 久久www免费人成一看片| 国产91精品一区二区视色| 国产玖玖在线| 国产一级高清| 久久精品夜色国产| 日韩免费福利视频| 国产精品美女久久久久网站| 香蕉视频国产在线观看| 亚洲欧美成人综合久久久| 伊人中文| 亚洲欧美日韩在线香蕉| 日本一区二区中文字幕| 亚洲国产精品综合久久久| 日韩欧美久久一区二区| 91久国产在线观看| 色综合电影网| 四虎最新网址在线观看| 国产专区日韩精品欧美色| 香蕉久久夜色精品国产小优| 国产亚洲女在线精品| 久久久精品2021免费观看| 综合精品在线| 91国视频| 99视频有精品| 久久人人爽爽爽人久久久| 欧美精品v国产精品v日韩精品| 97夜夜澡人人波多野结衣| 国产欧美日韩在线播放| 国产精品福利尤物youwu| 色吊丝一区二区| 亚洲精品午夜国产va久久| 国产色91| 亚洲综合精品一区| 欧美丝袜一区| 综合网伊人| 欧美日韩亚洲区久久综合| 国产精品男女| 欧美日韩亚洲一区| 久久福利免费视频| 久久五月婷| 欧美国产在线看| 精品久久不卡| 国产欧美精品一区二区| 国产成+人+亚洲+欧美综合| 在线欧美69v免费观看视频| 亚洲精品在线播放视频| 日韩精品网| 91国偷自产一区二区三区蜜臀| 国产九九在线观看播放| 一区欧美| segui久久综合精品| 亚洲精品美女在线观看播放| 久久精品播放| 伊人激情综合网| 亚洲香蕉久久一区二区三区四区| 中文字幕精品久久天堂一区| 国产成人亚洲综合网站不卡| 亚洲欧美精品久久| 久久综合一区| 国产欧美亚洲精品第一页久久肉| 最新高清无码专区| 91视频一区二区| 日韩国产欧美视频一区二区三区| 国产精品第一页爽爽影院| 伊人网视频在线观看| 91精品一区二区| 国产美女视频一区二区二三区| 青青草99久久精品国产综合|