• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    大數(shù)據(jù)應(yīng)用系統(tǒng)的消息驅(qū)動(dòng)架構(gòu)

    2016-04-06 09:29:15貴芳李廉楊靜武永衛(wèi)
    大數(shù)據(jù) 2016年4期
    關(guān)鍵詞:系統(tǒng)管理

    貴芳,李廉,楊靜,武永衛(wèi)

    1. 合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009;2. 清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,北京 100084

    大數(shù)據(jù)應(yīng)用系統(tǒng)的消息驅(qū)動(dòng)架構(gòu)

    貴芳1,李廉1,楊靜1,武永衛(wèi)2

    1. 合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009;2. 清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,北京 100084

    基于消息驅(qū)動(dòng)框架的軟件開發(fā)成為大數(shù)據(jù)應(yīng)用系統(tǒng)的重要模式之一?;诿嫦?qū)嶓w、消息驅(qū)動(dòng)的開發(fā)架構(gòu),設(shè)計(jì)并實(shí)現(xiàn)了該架構(gòu)中的消息管理模塊。定義了消息基本格式,制定了消息管理規(guī)范,并且具體實(shí)現(xiàn)了其功能,通過一個(gè)案例顯示了該架構(gòu)的優(yōu)點(diǎn)。

    大數(shù)據(jù)應(yīng)用系統(tǒng);消息驅(qū)動(dòng)架構(gòu);消息管理模塊;多用戶;動(dòng)態(tài)演化編程

    1 引言

    在互聯(lián)網(wǎng)支持的大數(shù)據(jù)應(yīng)用系統(tǒng)中,實(shí)體行為通常通過消息交流產(chǎn)生相互影響,實(shí)體行為之間是并發(fā)的、獨(dú)立的、自演化的。所有實(shí)體的行為決定了系統(tǒng)的行為,在系統(tǒng)的穩(wěn)定態(tài)下個(gè)別實(shí)體的變異不會(huì)影響整個(gè)系統(tǒng)的功能,雖然每個(gè)實(shí)體的行為具有確定性,但它們所作用的系統(tǒng)演化結(jié)果具有不確定性。也就是說,互聯(lián)網(wǎng)中的所有個(gè)體構(gòu)成了巨大的并發(fā)計(jì)算機(jī),每一個(gè)個(gè)體通過與其他個(gè)體進(jìn)行信息交互實(shí)現(xiàn)各自的計(jì)算,并且得出整個(gè)系統(tǒng)的運(yùn)行結(jié)果[1]。如果將這種在互聯(lián)網(wǎng)世界表現(xiàn)出來的行為方式運(yùn)用到程序架構(gòu)設(shè)計(jì)中,由個(gè)體的消息來驅(qū)動(dòng)程序,降低個(gè)體變異對(duì)整個(gè)系統(tǒng)的影響,形成一種新的開發(fā)框架,將會(huì)是程序設(shè)計(jì)的一種新思路,可以看作在程序?qū)用婺M自然系統(tǒng)的行為。比如,很多大數(shù)據(jù)應(yīng)用系統(tǒng)由于個(gè)體行為與整個(gè)系統(tǒng)性能有著強(qiáng)關(guān)聯(lián)性,其編程方法和開發(fā)模式就需要解決實(shí)體的動(dòng)態(tài)性、不確定性、并發(fā)性,通過模擬自然系統(tǒng)的行為和演化模式,實(shí)現(xiàn)程序的靈活性、頑健性等問題。

    在大數(shù)據(jù)應(yīng)用系統(tǒng)中,已出現(xiàn)很多實(shí)際問題需要采用新的程序架構(gòu)來完成特定的功能要求。比如在智慧城市中,許多用戶之間共用一套消息管理系統(tǒng),消息管理系統(tǒng)可將消息主動(dòng)推送給相應(yīng)的用戶,而用戶之間很少進(jìn)行聯(lián)系[2,3]。在傳統(tǒng)的面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,對(duì)象之間是相互通信且彼此聯(lián)系的,任何一個(gè)對(duì)象的加入或者退出都需要告知其他對(duì)象,簡(jiǎn)單來說就是每個(gè)對(duì)象內(nèi)部都有一套自己的消息管理系統(tǒng)。但是在大數(shù)據(jù)應(yīng)用中,多元數(shù)據(jù)的融合卻成為重要的問題,這就給程序設(shè)計(jì)帶來新的問題,即動(dòng)態(tài)融合的數(shù)據(jù)如何更好地應(yīng)用于系統(tǒng),以實(shí)現(xiàn)“融合、跨界、基礎(chǔ)、突破”[4]。

    針對(duì)這類大數(shù)據(jù)應(yīng)用,一種新的程序開發(fā)架構(gòu)正在形成,這就是面向?qū)嶓w、基于消息驅(qū)動(dòng)[5]的開發(fā)架構(gòu)——消息驅(qū)動(dòng)架構(gòu)(massage driven framework,MDF)。MDF在結(jié)構(gòu)上沒有傳統(tǒng)的主程序,而是分為3個(gè)模塊,即實(shí)體模塊、消息模塊和數(shù)據(jù)及顯示模塊。實(shí)體類似于對(duì)象,封裝了數(shù)據(jù)和操作,形成獨(dú)立的運(yùn)行單元。但是實(shí)體之間沒有直接聯(lián)系,所有的實(shí)體都是基于消息控制的。MDF提供了一種在網(wǎng)絡(luò)環(huán)境下,共同開發(fā)系統(tǒng)的機(jī)制,遵守事先規(guī)定好的規(guī)范,開發(fā)人員不需要有溝通聯(lián)系,根據(jù)規(guī)范自行開發(fā)應(yīng)用模塊(實(shí)體),然后加入系統(tǒng)中運(yùn)行,并且還可以隨時(shí)退出,這些操作都無需與系統(tǒng)其他用戶和管理人員打招呼。所有這些實(shí)體(用戶)行為決定了系統(tǒng)的行為,個(gè)別實(shí)體的消亡或變化不影響整個(gè)系統(tǒng)的功能。MDF是一種在互聯(lián)網(wǎng)環(huán)境下的編程框架,支持眾多實(shí)體參與的共同開發(fā)模式,它建立一種直接模擬自然和社會(huì)系統(tǒng)復(fù)雜行為運(yùn)行的編程方法,排除個(gè)別變異實(shí)體對(duì)整個(gè)系統(tǒng)功能的影響;探索一種新的應(yīng)對(duì)大數(shù)據(jù)問題高并發(fā)、大流量、用戶獨(dú)立的解決方案,滿足新的應(yīng)用需求。

    消息管理是MDF重要的組成部分,可以說是整個(gè)系統(tǒng)的中樞,所有實(shí)體的運(yùn)行要靠消息管理進(jìn)行協(xié)同,因此消息管理模塊的設(shè)計(jì)與開發(fā)是整個(gè)系統(tǒng)的關(guān)鍵內(nèi)容。這里面主要有三大挑戰(zhàn):一是在MDF中,所有的通信方式都被嚴(yán)格定義為消息,不同類型的消息有著不同的處理方式,消息管理器如何在消息數(shù)量龐大的情況下識(shí)別消息類型,盡可能提高消息的處理準(zhǔn)確率;二是在消息維護(hù)過程中,如何通過調(diào)度策略,以優(yōu)化各種不同類型消息的處理和管理,使得在消息交互過程中盡量減少資源開銷和成本;三是在消息接收和發(fā)送過程中,尤其在消息數(shù)量龐大的情況下,消息必然出現(xiàn)排隊(duì)情況,如何設(shè)計(jì)合理算法,保證不同優(yōu)先級(jí)的消息能夠及時(shí)得到發(fā)送,又避免出現(xiàn)消息長期等待不被處理的情況。

    本文中指的消息,相對(duì)于已有的事件驅(qū)動(dòng)(event-driven)中的事件有所不同,事件的定義更加廣泛,可以是程序本身發(fā)出的信息,也可以是終端設(shè)備發(fā)出的請(qǐng)求。事件的管理和處理需要有一套復(fù)雜的硬軟件設(shè)備來完成。消息只是用戶程序(終端應(yīng)用程序)發(fā)出的一些文字序列,因此比起事件來說,在類型和內(nèi)容上要簡(jiǎn)單的多。理論上說,事件驅(qū)動(dòng)的技術(shù)可以用來產(chǎn)生消息驅(qū)動(dòng)程序,但是不如另外為消息驅(qū)動(dòng)重新定制一種架構(gòu),在應(yīng)用系統(tǒng)開發(fā)中會(huì)更加有效和簡(jiǎn)單。

    消息管理模塊在MDF中起到了中心的作用。本文設(shè)計(jì)并實(shí)現(xiàn)了MDF的消息管理模塊,包括以下3個(gè)方面:

    · 定義了消息的基本格式,制定了消息池的語言規(guī)范,通過消息表單的配置,實(shí)現(xiàn)不同類型消息的區(qū)別管理;

    · 利用現(xiàn)有的編程語言Java開發(fā)了消息維護(hù)中間件,根據(jù)消息規(guī)范的表單配置自動(dòng)生成消息類型管理,實(shí)現(xiàn)消息的接收、維護(hù)、存儲(chǔ)和發(fā)送等核心功能;

    · 開發(fā)了中間件,接受實(shí)體對(duì)于消息管理模塊的操作,包括查詢、檢索以及對(duì)于各種類型消息的定義變更,滿足了MDF中實(shí)體運(yùn)行和變化的需要。

    在MDF中,實(shí)體的數(shù)量是可變的,實(shí)體的類型是多樣的。所有實(shí)體發(fā)送的消息和接收的消息將遵循統(tǒng)一的格式,實(shí)體需要向系統(tǒng)聲明的是它的URL地址、消息類型、消息發(fā)送要求等。URL地址提供了該實(shí)體消息發(fā)送和接收的接口。消息類型和消息發(fā)送要求提供了消息的處理方式,這種要求被消息管理模塊響應(yīng),并被正確維護(hù)。一個(gè)系統(tǒng)中的實(shí)體類型是多種的,每一種實(shí)體類型被定義了消息格式,同一類型的實(shí)體必須按照相同的消息格式發(fā)送消息,系統(tǒng)的消息管理模塊在邏輯上是唯一的。所以消息管理模塊的設(shè)計(jì)為實(shí)現(xiàn)MDF的并發(fā)性、動(dòng)態(tài)性、頑健性、不確定性和跨平臺(tái)性等重要特性奠定了基礎(chǔ)。

    2 相關(guān)工作

    隨著計(jì)算機(jī)經(jīng)驗(yàn)和軟件技術(shù)的發(fā)展,計(jì)算機(jī)編程語言經(jīng)歷了機(jī)器語言、匯編語言、面向過程的程序設(shè)計(jì)語言以及面向?qū)ο蟮某绦蛟O(shè)計(jì)語言階段[6]。具體的語言不勝枚舉,見表1。

    隨著編程語言的發(fā)展,計(jì)算機(jī)程序設(shè)計(jì)的方法也主要經(jīng)歷了3個(gè)階段的發(fā)展:面向機(jī)器的程序設(shè)計(jì)、面向過程的程序設(shè)計(jì)和面向?qū)ο蟮某绦蛟O(shè)計(jì)[7]。

    表1 編程語言的發(fā)展

    人類和計(jì)算機(jī)進(jìn)行交流最開始的語言是由計(jì)算機(jī)可以直接識(shí)別的二進(jìn)制指令組成的機(jī)器語言,在這個(gè)時(shí)期,計(jì)算機(jī)的程序架構(gòu)就是直接描述機(jī)器操作,因此這時(shí)的程序稱為面向機(jī)器的程序架構(gòu)。隨著高級(jí)程序語言的出現(xiàn),面向過程的程序架構(gòu)被提出,這種結(jié)構(gòu)化的程序設(shè)計(jì)采用了“自頂向下,逐步求精”[8]的思想,將計(jì)算問題模塊分化,功能分解,大的問題化解為若干個(gè)小問題,大大提高了工作效率,也利于程序的維護(hù)。當(dāng)然,面向過程的設(shè)計(jì)方法也存在一定缺點(diǎn),最主要的是該方法編寫的程序是一系列的線性步驟,這種編程方式必須按照線性步驟從頭到尾編寫代碼,過程枯燥且不易修改,代碼的靈活性和可移植性都較差。為了克服這一困難,面向?qū)ο蟮某绦蚣軜?gòu)應(yīng)運(yùn)而生,其主要思想是“注重對(duì)象,抽象成類”,不再強(qiáng)調(diào)過程,更側(cè)重于對(duì)對(duì)象的操作。對(duì)象是數(shù)據(jù)和操作的封裝體,與客觀實(shí)體直接對(duì)應(yīng)。通過封裝使對(duì)象變得獨(dú)立,只能通過預(yù)先設(shè)定的方法與對(duì)象交談,在構(gòu)建代碼的過程中通過繼承,減少冗余代碼的同時(shí)又可擴(kuò)展現(xiàn)有代碼;封裝可減少外界對(duì)程序的干擾;且面向?qū)ο蟮南到y(tǒng)很容易切分成很多獨(dú)立的部分,將系統(tǒng)化繁為簡(jiǎn),同時(shí)這種方法可以使系統(tǒng)從小到大逐步升級(jí)[9]。但傳統(tǒng)的面向?qū)ο蠹軜?gòu)仍存在不足,對(duì)象之間需要建立自己的通信通道,所有對(duì)象都需要了解一定的環(huán)境參數(shù)。但是在互聯(lián)網(wǎng)環(huán)境中某些由眾多用戶動(dòng)態(tài)參與的應(yīng)用系統(tǒng)中,例如購物、游戲、社區(qū)等,它們的特點(diǎn)是用戶眾多且不確定,并且在大多數(shù)情況下,用戶不需要了解過多的運(yùn)行要求和參數(shù),而且用戶之間是透明的,也就是用戶之間可能不知道對(duì)方的存在,因此也不能有直接的溝通,對(duì)于這類程序的開發(fā)就需要提供一種更為自由和開放的編程模式。從目前主要是個(gè)人和小團(tuán)隊(duì)開發(fā)的模式,逐步過渡到可以由彼此互不認(rèn)識(shí)的眾多用戶共同開發(fā)的模式,讓眾多的用戶包括非計(jì)算機(jī)專業(yè)的用戶也可以參與到系統(tǒng)的開發(fā)和運(yùn)行中,使得每一個(gè)用戶既是程序的應(yīng)用者也是程序的開發(fā)者,將更加能夠體現(xiàn)大數(shù)據(jù)應(yīng)用的特點(diǎn)[10]。

    本文提出的MDF的程序設(shè)計(jì)方法的主要思想是“實(shí)體獨(dú)立,消息驅(qū)動(dòng)”,各個(gè)實(shí)體之間遵循相同的消息通信協(xié)議,參與設(shè)計(jì)和開發(fā)的人員只需輸入框架指定的幾個(gè)參數(shù)就可參與開發(fā),因此開發(fā)人員不需要相互溝通,大家只需要根據(jù)協(xié)議和規(guī)范就可以進(jìn)行各自的應(yīng)用開發(fā),最終組成一個(gè)龐大的應(yīng)用系統(tǒng),讓更多的用戶根據(jù)個(gè)性化的要求方便地使用。

    3 MDF架構(gòu)與消息管理模塊

    3.1 MDF架構(gòu)

    MDF沒有傳統(tǒng)意義上的主體程序,而是由實(shí)體、消息和數(shù)據(jù)顯示3個(gè)部分組成??傮w來說,MDF是模擬自然和社會(huì)系統(tǒng)的運(yùn)行模式,MDF所有運(yùn)行都是通過消息驅(qū)動(dòng)的。任何用戶都可以成為系統(tǒng)的組成部分,稱之為實(shí)體,或者系統(tǒng)對(duì)象。程序開發(fā)者只發(fā)布系統(tǒng)規(guī)范,系統(tǒng)規(guī)范指明實(shí)體的類型[11]、實(shí)體的動(dòng)作定義、實(shí)體的消息構(gòu)成、實(shí)體消息的內(nèi)容格式與解釋以及實(shí)體的登錄方法、實(shí)體生命周期等。一般地,規(guī)范提供實(shí)體樣式。系統(tǒng)規(guī)范還會(huì)提供實(shí)體與數(shù)據(jù)顯示部分的數(shù)據(jù)交換方式、運(yùn)行結(jié)果顯示的方式以及相應(yīng)的顯示控制軟件,由數(shù)據(jù)顯示部分具體執(zhí)行。規(guī)范是開放的,用戶可以根據(jù)系統(tǒng)規(guī)范開發(fā)實(shí)體,或者實(shí)體樣式填好參數(shù)進(jìn)行注冊(cè),進(jìn)入系統(tǒng)運(yùn)行;也可以根據(jù)規(guī)范自行開發(fā)顯示模塊,獲取個(gè)性化的顯示方式。實(shí)體的地位是平等的,實(shí)體的加入和退出完全是自由的,雖然會(huì)影響系統(tǒng)的運(yùn)行結(jié)果,但是一般不會(huì)影響系統(tǒng)的功能。消息部分是實(shí)體之間進(jìn)行信息交互的中介,實(shí)體之間并不直接通信,而是借助消息部分進(jìn)行轉(zhuǎn)發(fā)[12]。實(shí)體的動(dòng)作由消息定義,實(shí)體通過發(fā)送和接收消息來實(shí)行具體動(dòng)作。實(shí)體的功能以及如何由消息定義動(dòng)作在系統(tǒng)規(guī)范中予以說明。數(shù)據(jù)顯示部分提供運(yùn)行結(jié)果和過程的顯示。MDF通過3個(gè)模塊實(shí)現(xiàn)這些功能,分別是實(shí)體管理模塊、消息管理模塊和由數(shù)據(jù)庫和輸出控制組成的數(shù)據(jù)顯示模塊[13]。其具體架構(gòu)如圖1所示。

    · 實(shí)體管理模塊:是整個(gè)軟件開發(fā)的主要部分。開發(fā)者編制、發(fā)布實(shí)體規(guī)范,規(guī)范提供實(shí)體描述定義、實(shí)體動(dòng)作定義以及消息內(nèi)容格式與解釋,用戶根據(jù)規(guī)范自行開發(fā)實(shí)體程序,或者根據(jù)開發(fā)者提供的實(shí)體樣板注冊(cè)登錄。實(shí)體管理模塊根據(jù)實(shí)體規(guī)范協(xié)議管理所有的實(shí)體,包括實(shí)體的登錄和退出以及生存期間的運(yùn)行管理。

    · 消息管理模塊:管理實(shí)體之間用于交互的消息。消息管理模塊發(fā)布一個(gè)消息格式協(xié)議[14],其中定義了消息格式的內(nèi)容與解釋。消息管理模塊根據(jù)消息格式協(xié)議管理消息的接收、發(fā)行、維護(hù)以及存儲(chǔ)等。

    · 數(shù)據(jù)顯示模塊:提供系統(tǒng)運(yùn)行數(shù)據(jù)的顯示,包括結(jié)果顯示和過程顯示,數(shù)據(jù)顯示模塊與實(shí)體進(jìn)行通信,接收實(shí)體提供的數(shù)據(jù),通過輸出控制器執(zhí)行數(shù)據(jù)顯示的功能。同時(shí)該模塊還提供公共性數(shù)據(jù)和永久性數(shù)據(jù)的存儲(chǔ)和查詢,這些功能同樣通過與實(shí)體消息交互來驅(qū)動(dòng)和實(shí)現(xiàn)。

    本文主要介紹消息管理模塊的設(shè)計(jì)原理和實(shí)現(xiàn),其他兩個(gè)模塊將另文撰寫。

    3.2 消息格式協(xié)議

    消息管理模塊最重要的是消息格式協(xié)議(message format propotol,MFP)。MFP定義消息為一個(gè)文本信息,分為4種類型,分別為:發(fā)送消息、查詢消息、測(cè)試消息和名單消息,所有消息都用表示消息類型的代碼開頭,后面跟隨消息本體。其中,A表示發(fā)送消息,即實(shí)體之間傳遞的消息;B表示查詢消息,即實(shí)體發(fā)出的查詢某個(gè)消息的請(qǐng)求;C表示測(cè)試消息,即實(shí)體用于測(cè)試通信鏈路狀態(tài)的消息;D表示名單消息,即實(shí)體發(fā)出的名單,這個(gè)名單提供當(dāng)前實(shí)體的變動(dòng),或者在多播狀態(tài)下提供接收實(shí)體的列表。

    圖1 MDF系統(tǒng)架構(gòu)

    MFP定義消息head部分有7個(gè)屬性(見表2)。各部分內(nèi)容如下。

    · name:符號(hào)串類型,表示消息的名稱。字長限制為128 byte。

    · from:URL類型+時(shí)間類型,消息發(fā)送方的URL地址,后跟發(fā)送時(shí)間,中間用“+”號(hào)隔開。

    · to:消息接收方地址,使用“X+P”形式表示,其中,X表示發(fā)送形式,分別是U(單播)、M(多播)和B(廣播)。P表示發(fā)送對(duì)象,在單播時(shí)為URL地址,多播時(shí)為接收方的URL地址,最多為16個(gè)地址,或者是分組文件名稱,這個(gè)分組文件事先存放在消息管理模塊中。廣播時(shí),P為空,此時(shí)由消息管理模塊根據(jù)內(nèi)部存放的實(shí)體名單向各實(shí)體發(fā)送消息。X和P之間用“+”隔開。

    · type:消息發(fā)送類型,使用單個(gè)字符表示,其中A表示主動(dòng)發(fā)送,即該消息根據(jù)設(shè)定的時(shí)間自動(dòng)發(fā)送到接收方;P表示消息只在接收方查詢時(shí)發(fā)送。

    · life:消息生存時(shí)間,使用“單個(gè)字符+時(shí)間類型”形式表示,單個(gè)字符表示消息銷毀時(shí)間,后面是具體的時(shí)間,中間用“+”隔開。其中,單個(gè)字符L表示該消息發(fā)送后即銷毀;L+time表示該消息在time這個(gè)時(shí)間點(diǎn)銷毀;K+time表示消息在保存time時(shí)間后銷毀。

    · time:時(shí)間類型,表示消息發(fā)送的時(shí)間,這個(gè)參數(shù)只在主動(dòng)發(fā)送時(shí)有效,在查詢發(fā)送的消息中,該欄目可以為空。

    · priority:整數(shù)類型,取值為1~3,表示該消息的優(yōu)先等級(jí),消息的優(yōu)先等級(jí)由系統(tǒng)規(guī)范定義。

    表2列出了發(fā)送消息name、from、to、type、life、time、priority的全部7種屬性。消息管理模塊會(huì)針對(duì)消息的屬性描述進(jìn)行不同的處理。

    發(fā)送消息(以A開頭)的消息內(nèi)容由head和body兩段組成。head定義了消息的聲明部分,用以描述消息的屬性;body定義了消息的內(nèi)容部分,用以描述消息的正文。MFP僅對(duì)消息的head部分進(jìn)行了格式要求,其屬性值對(duì)消息的傳輸、保留、銷毀、發(fā)送以及與實(shí)體之間的交互起著重要的作用。MFP對(duì)body未做要求,只是限定了body的長度。body的內(nèi)容語義解釋由程序開發(fā)者定義,所有實(shí)體必須按照這個(gè)定義來編排消息內(nèi)容。在MFP和消息管理模塊中,不涉及對(duì)于消息內(nèi)容的任何讀寫,只是根據(jù)消息head部分的要求進(jìn)行消息管理,而消息body部分的內(nèi)容理解是由實(shí)體完成的。

    表2 消息的基本格式

    查詢消息(以B開頭)由消息名稱(name)(必有)、查詢方的URL地址(to)以及查詢內(nèi)容(body)組成。查詢內(nèi)容是消息的屬性,該模塊支持屬性匹配查詢,消息管理模塊在匹配檢查完成后,將符合條件的消息根據(jù)URL地址發(fā)送給查詢方。查詢內(nèi)容部分可以是空,表示這部分不用匹配。在本文的版本中,暫不支持模糊查詢和通配符查詢,也暫不支持多條件查詢。

    測(cè)試消息(以C開頭)是由發(fā)送方的URL地址加上任意的64 byte的文本,中間用“+”隔開。消息管理模塊在收到該消息后,向發(fā)送方返回該64 byte的文本。測(cè)試消息是為了檢查當(dāng)前通信線路是否可用,當(dāng)實(shí)體發(fā)送測(cè)試消息并正確回收發(fā)送的文本后,就可以執(zhí)行正常的消息傳送了。

    名單消息(以D開頭)有兩種格式:名單定義與名單刪除。名單定義用于表示實(shí)體定義的多播名單,一般情況下,實(shí)體可以隨時(shí)發(fā)送多播名單,多播名單有多個(gè),編號(hào)加以區(qū)別,該多播名單聲明實(shí)體名稱和多播對(duì)象URL地址。當(dāng)實(shí)體提交一個(gè)多播消息時(shí),應(yīng)在屬性to中指明多播名單的編號(hào),以便于消息管理模塊生成發(fā)送消息對(duì)象。名單刪除表示需要?jiǎng)h除的名單,所有名單通過名單名稱進(jìn)行識(shí)別。

    3.3 消息管理模塊

    消息由實(shí)體產(chǎn)生,并以消息格式協(xié)議規(guī)定的形式由消息管理模塊處理,其中消息名稱name是消息的唯一標(biāo)識(shí)。

    每一個(gè)實(shí)體在登錄系統(tǒng)時(shí),會(huì)向消息管理模塊發(fā)送一個(gè)身份登錄信息,從而在消息管理模塊中產(chǎn)生一個(gè)動(dòng)態(tài)的實(shí)體名單,該名單維護(hù)當(dāng)前登錄實(shí)體名稱。同時(shí)每一個(gè)實(shí)體需要發(fā)送多播消息時(shí),會(huì)向消息管理模塊提交多播名單編號(hào)。如果未提交多播名單,協(xié)議允許發(fā)送方在消息屬性to部分臨時(shí)指定不超過16個(gè)發(fā)送對(duì)象的URL地址。實(shí)體名單和多播名單都由消息管理模塊維護(hù)。

    圖2演示了消息從接收到發(fā)送的完整流程[15]。實(shí)體1發(fā)送控制指令與通信線程1建立消息傳輸通道1,發(fā)送消息msg2。消息管理模塊接收到msg2,經(jīng)過合法性和完整性的驗(yàn)證,將消息存放在消息池中。如果消息屬于主動(dòng)發(fā)送類型,則將該消息加入發(fā)送隊(duì)列,根據(jù)指定的優(yōu)先級(jí)發(fā)送消息。如果是被動(dòng)發(fā)送消息,則在接收到查詢消息后,將該消息加入發(fā)送消息隊(duì)列,根據(jù)該消息的優(yōu)先級(jí)發(fā)送到實(shí)體2。

    由圖2可以看出,消息管理模塊主要分為2個(gè)部分:消息池和消息數(shù)據(jù)庫。

    圖2 消息的流向

    消息池是3個(gè)消息隊(duì)列,分別對(duì)應(yīng)MFP中的3個(gè)優(yōu)先級(jí)。需要發(fā)送的消息根據(jù)優(yōu)先級(jí)放入相應(yīng)的消息隊(duì)列進(jìn)行排隊(duì)。消息隊(duì)列的管理算法在下面單獨(dú)說明。

    消息數(shù)據(jù)庫是一個(gè)數(shù)據(jù)庫,消息被接收后,經(jīng)過消息管理模塊的解析,如果不是即時(shí)發(fā)送,則存入相應(yīng)的數(shù)據(jù)庫。消息數(shù)據(jù)庫隨時(shí)檢查消息,當(dāng)某條消息達(dá)到發(fā)送條件時(shí),即將該消息送入消息池排隊(duì)。如果接收到的消息是查詢消息,則進(jìn)行相應(yīng)的查詢,并將查詢的信息返回發(fā)送方。如果某條消息需要銷毀,則消息數(shù)據(jù)庫進(jìn)行相應(yīng)的操作[16]。

    除了這兩部分外,消息管理模塊還負(fù)責(zé)消息池和消息數(shù)據(jù)庫的維護(hù),保證其正常運(yùn)行和通信暢通。當(dāng)實(shí)體發(fā)送測(cè)試消息時(shí),該模塊負(fù)責(zé)響應(yīng)該測(cè)試消息。當(dāng)實(shí)體發(fā)送名單消息時(shí),該模塊負(fù)責(zé)讀取并存入相應(yīng)的存儲(chǔ)器管理,或從存儲(chǔ)器中刪除名單。

    (1)消息管理

    消息與實(shí)體之間的聯(lián)系采取socket通信協(xié)議[17]。socket為消息管理模塊和實(shí)體模塊之間的通信提供了進(jìn)程通信的端點(diǎn),每個(gè)socket都用一個(gè)半相關(guān)的描述(協(xié)議、本地IP地址、本地端口)。系統(tǒng)會(huì)根據(jù)實(shí)體的URL地址和端口號(hào)為其生成一個(gè)socket號(hào);消息管理模塊向所有實(shí)體公布唯一的socket號(hào),任何知道該socket號(hào)的實(shí)體都可以向消息管理器發(fā)出連接請(qǐng)求。

    消息管理模塊與實(shí)體之間的連接過程分為3個(gè)步驟:通信線程的監(jiān)聽、實(shí)體端請(qǐng)求和消息管理模塊的連接確認(rèn)。由于消息在網(wǎng)絡(luò)中進(jìn)行傳輸會(huì)有較大的時(shí)延,為了提高系統(tǒng)的實(shí)時(shí)性和吞吐量,每個(gè)實(shí)體與消息管理器之間都有一個(gè)消息傳輸通道。對(duì)于每一個(gè)消息傳輸通道,消息管理器中有一個(gè)用來收發(fā)消息的通信線程與其對(duì)應(yīng)[18]。

    通信線程接收到用戶實(shí)體發(fā)送的消息后,首先對(duì)消息進(jìn)行完整性、合法性檢驗(yàn),然后再對(duì)檢驗(yàn)合格的消息進(jìn)行處理。

    · 如果是發(fā)送消息,則解析消息head中的各個(gè)屬性,對(duì)于滿足發(fā)送條件的,則根據(jù)屬性中的指示,將消息加上需送達(dá)的實(shí)體URL地址以及其他一些輔助信息,根據(jù)其優(yōu)先級(jí),加入相應(yīng)的發(fā)送隊(duì)列等待發(fā)送。

    · 如果是查詢消息,根據(jù)查詢消息中的查詢內(nèi)容在消息庫中進(jìn)行查詢;將查詢到的消息加上送達(dá)實(shí)體的URL地址以及其他一些輔助信息,并根據(jù)其優(yōu)先級(jí),加入相應(yīng)的發(fā)送隊(duì)列等待發(fā)送。

    · 如果是測(cè)試消息,則根據(jù)協(xié)議規(guī)定,返回測(cè)試實(shí)體64 byte的文本。

    · 如果是名單消息,則將名單加上發(fā)送實(shí)體的URL地址與編號(hào)作為文件名稱,存入相應(yīng)的存儲(chǔ)器,以備使用。

    同時(shí),消息管理模塊也支持一些控制指令,以保證系統(tǒng)通信的正常和完好。

    (2)消息池

    消息池負(fù)責(zé)管理消息的發(fā)送,主要包括多個(gè)發(fā)送隊(duì)列(本文中是3個(gè))、發(fā)送隊(duì)列維護(hù)線程、消息的發(fā)送線程。消息管理模塊與實(shí)體連接后,就會(huì)進(jìn)行消息的傳遞,在消息的傳送過程中,將根據(jù)優(yōu)先隊(duì)列進(jìn)行消息發(fā)送。

    消息池經(jīng)常處于并發(fā)工作狀態(tài),為此在消息池中對(duì)每條消息都標(biāo)記了優(yōu)先級(jí),同優(yōu)先級(jí)的消息位于同一發(fā)送隊(duì)列,如圖3所示。

    具體算法如下。

    采用優(yōu)先隊(duì)列發(fā)送(priority queue sent,PQS)算法。

    ①讀取最高優(yōu)先級(jí)(priority=3)的隊(duì)列消息,如果該消息信道空閑,則發(fā)送該消息;如果信道繁忙,則轉(zhuǎn)向同隊(duì)列的下一條消息;如果下一條消息不存在,則將下一優(yōu)先級(jí)的第1個(gè)消息移入該隊(duì)列,并發(fā)送該消息。

    ②消息發(fā)出后,等待時(shí)間間隔γ,如果收到消息發(fā)送成功信息,則在隊(duì)列中刪去此消息。將次高優(yōu)先級(jí)(priority=2)和最低優(yōu)先級(jí)(priority=1)的隊(duì)列中的最前消息優(yōu)先級(jí)加1,并排到前一優(yōu)先級(jí)的隊(duì)尾;返回第①步。

    圖3 發(fā)送隊(duì)列設(shè)計(jì)

    ③如果時(shí)間間隔γ后,未收到消息發(fā)送成功信息,則再次發(fā)送該消息。

    ④如果再次時(shí)間間隔γ后,仍未收到消息發(fā)送成功信息,將該消息移到同一優(yōu)先級(jí)的隊(duì)尾,返回第①步。

    該算法可以設(shè)立通信進(jìn)程而支持消息的并行發(fā)送,在前一個(gè)消息發(fā)出而未收到確認(rèn)信息時(shí),后一條消息仍可以發(fā)送,而且確認(rèn)信息回復(fù)的次序可以與發(fā)送次序不同,后發(fā)的消息回復(fù)可能先收到。

    消息池在消息隊(duì)列的內(nèi)部采用FIFO(first in first out,先進(jìn)先出)算法[19];在隊(duì)列間,采用動(dòng)態(tài)優(yōu)先權(quán)調(diào)度算法[20],即將消息加入發(fā)送隊(duì)列時(shí),按其優(yōu)先級(jí)加入相應(yīng)的發(fā)送隊(duì)列,消息發(fā)送總是在最高優(yōu)先級(jí)隊(duì)列中進(jìn)行,每處理一條消息后,就將其余隊(duì)列中的第1條消息的優(yōu)先級(jí)加1,并按更新后的優(yōu)先級(jí)將消息轉(zhuǎn)至相應(yīng)的發(fā)送隊(duì)列隊(duì)尾。梯度發(fā)送隊(duì)列之間用鏈表實(shí)現(xiàn)。發(fā)送隊(duì)列維護(hù)線程用于動(dòng)態(tài)(按時(shí)間片)更新消息的優(yōu)先級(jí)。消息的發(fā)送線程用于從優(yōu)先級(jí)最高的發(fā)送隊(duì)列中取出消息,并根據(jù)消息head中的to字段調(diào)用相應(yīng)的通信線程發(fā)送消息。由于系統(tǒng)中有多個(gè)消息傳輸通道,等待一個(gè)消息被接收后再發(fā)送另一個(gè)消息會(huì)導(dǎo)致傳輸通道的空閑時(shí)間過長,為了提高系統(tǒng)的吞吐量,本文采用了多線程的消息發(fā)送模式[21],只要待發(fā)消息的信道空閑,就發(fā)送該消息,這樣的方法可以提高信道的利用率。

    (3)消息庫

    消息庫是一個(gè)關(guān)系數(shù)據(jù)庫,本文使用的是MySQL。消息庫存放所有未被刪除的消息以及名單消息中提供的名單,并實(shí)現(xiàn)以下的操作。

    · 接收消息后,經(jīng)過解析,如果需要立即發(fā)送,則按照優(yōu)先級(jí)送到相應(yīng)的發(fā)送隊(duì)列排隊(duì),并存入信息庫;若不需要發(fā)送,則送入消息庫,消息的各屬性作為消息庫的字段,以便于按屬性查詢。

    · 檢查消息庫:如果某條消息符合發(fā)送條件,則取出該消息,送入發(fā)送隊(duì)列;如果某條消息需要銷毀,則銷毀該消息。

    · 收到查詢消息后,進(jìn)行按屬性查詢,并將查詢結(jié)果返回查詢實(shí)體。如果被查詢消息需要發(fā)送,則送入發(fā)送隊(duì)列。

    · 收到名單消息后,如果是名單定義,則將名單追加到消息庫;如果是名單刪除,則從消息庫中刪除指示名稱的名單。

    4 實(shí)驗(yàn)設(shè)計(jì)

    本文提供一個(gè)基于MDF開發(fā)的實(shí)例——天文大數(shù)據(jù)模擬系統(tǒng)。天文科學(xué)是一個(gè)產(chǎn)生大數(shù)據(jù)的學(xué)科,例如在太陽與小行星的運(yùn)行系統(tǒng)中,就有數(shù)以萬計(jì)的小行星,計(jì)算這些小行星的軌跡是一個(gè)典型的大數(shù)據(jù)應(yīng)用。這些小行星還會(huì)不斷增加和消失,如果把小行星看作用戶,這是非常有代表性的多用戶動(dòng)態(tài)運(yùn)行系統(tǒng)。因此通過MDF開發(fā)一個(gè)系統(tǒng),隨時(shí)模擬小行星的運(yùn)行,該系統(tǒng)支持小行星的隨時(shí)更新。在本文中,筆者做了一個(gè)簡(jiǎn)化的實(shí)驗(yàn)性版本,用以說明原理,以太陽、地球、火星、金星4個(gè)星體為例,模擬星體的運(yùn)行軌跡。星體之間由于受到引力作用,以太陽為中心做橢圓軌跡的運(yùn)動(dòng)。太陽系的運(yùn)行是包括太陽在內(nèi)的所有星體共同作用的結(jié)果,由于每個(gè)星體都是不停運(yùn)動(dòng)的,對(duì)其他星體引力的大小和方向在時(shí)刻變動(dòng)。消息驅(qū)動(dòng)框架正適宜去描述這類問題。在該模型中,每個(gè)星體都是一個(gè)實(shí)體,它們都具備相同的功能,而一個(gè)星體對(duì)另一個(gè)星體的引力影響可以認(rèn)為是該星體發(fā)出了一個(gè)消息給另一個(gè)星體,星體根據(jù)消息內(nèi)容做出自己的運(yùn)行。在MDF方式下,每個(gè)星體只要給出自己的物理參數(shù)(質(zhì)量、位置、速度),整個(gè)太陽系的運(yùn)行就可以自動(dòng)建立起來,而且可以隨時(shí)添加新發(fā)現(xiàn)的星體(小行星),也可以隨時(shí)刪去星體。

    圖4顯示了金星在太陽、地球和火星作用下的引力模型。金星有一個(gè)質(zhì)量和初速度V0使其能在引力作用下圍繞太陽轉(zhuǎn)動(dòng)。

    在該引力模型中,實(shí)體管理模塊有兩種實(shí)體類型:太陽和行星。地球、火星、金星為行星類型。實(shí)體管理模塊定義太陽的位置固定不動(dòng),行星在引力的牽引下圍繞太陽作公轉(zhuǎn)運(yùn)動(dòng)。太陽實(shí)體具有質(zhì)量(weight)和位置(position)兩種屬性,以(weight,positon)的消息格式發(fā)送并存放在消息管理模塊。每個(gè)行星實(shí)體都有質(zhì)量(weight)、位置(position)、速度(velocity)、時(shí)間(time)4種屬性,并將這4種屬性以(weight,position,velocity,time)的形式加以封裝,作為消息相互傳遞通信。太陽的消息是被動(dòng)查詢類型,而每個(gè)行星實(shí)體的消息都是主動(dòng)廣播類型。以火星為例,火星實(shí)體向消息管理器發(fā)送一條查詢消息,消息管理器解析火星實(shí)體發(fā)送來的查詢消息的head部分,將查詢到太陽的消息發(fā)送給火星,火星實(shí)體解析出太陽的位置和質(zhì)量,又得到其他行星推送的消息,就可以計(jì)算出自己在當(dāng)前位置受到的來自太陽和其他行星的引力,并計(jì)算下一步的位移。

    圖4 三行星的運(yùn)行模型

    表3 行星參數(shù)

    為了觀察實(shí)驗(yàn)結(jié)果,將太陽、地球、金星和火星的運(yùn)動(dòng)軌跡以圖像的形式展現(xiàn)出來,本次實(shí)例使用的質(zhì)量、位置、速度數(shù)據(jù)均以目前太陽系運(yùn)行模型為基準(zhǔn),參數(shù)設(shè)置在表3中,而圖5則將表3的參數(shù)圖形化,顯示了各個(gè)星體的初始位置。

    圖6顯示了太陽在靜止不動(dòng)的情況下,地球、金星和火星圍繞太陽的運(yùn)行軌跡。

    圖5 星體的初始位置

    圖6 星體的運(yùn)行軌跡

    在該天體模型中,可以隨時(shí)加入或撤銷星體。當(dāng)發(fā)現(xiàn)新的星體時(shí),只要在實(shí)體管理模塊輸入星體正確的質(zhì)量、速度和初始位置,就可以加入該天體模型中。新星體的加入或撤銷會(huì)影響其他星體的運(yùn)行軌跡,但不會(huì)導(dǎo)致整個(gè)模型的崩潰。

    5 結(jié)束語

    在大數(shù)據(jù)應(yīng)用背景下,編程語言顯示出與機(jī)器的相關(guān)性越來越小,與客觀世界越來越貼近,程序的開發(fā)架構(gòu)也越來越與計(jì)算機(jī)執(zhí)行的過程脫離,而趨向于和問題結(jié)構(gòu)越來越靠近,“描述就是編程”已經(jīng)成為當(dāng)前編程架構(gòu)的關(guān)注點(diǎn)。編程語言已經(jīng)逐漸從專業(yè)高端走向普通大眾。本文研究的消息驅(qū)動(dòng)框架的開發(fā)模式是一種典型的聲明式編程,其中,消息管理模塊是消息驅(qū)動(dòng)框架的交通樞紐、神經(jīng)中樞,它控制著通信唯一媒介——消息的接收、存儲(chǔ)、發(fā)送以及維護(hù)等相關(guān)工作。這種編程框架模擬了許多自然和社會(huì)系統(tǒng)的行為方式,改變了人們的解決問題的方式,也將處理邏輯的重點(diǎn)從內(nèi)部轉(zhuǎn)移到外部,簡(jiǎn)化了問題求解的復(fù)雜度[22]。

    在消息驅(qū)動(dòng)的開發(fā)框架中,消息管理模塊的定義與設(shè)計(jì)是重點(diǎn),目前也只是完成初步的描述,還有很多細(xì)節(jié)和功能方面需要改進(jìn),以下幾點(diǎn)是需要完善和考量的。

    · 程序的頑健性:在消息管理模塊中有大量的中間件,要保證每個(gè)中間件必須是頑健的。因此建立錯(cuò)誤恢復(fù)機(jī)制、為開發(fā)人員提供測(cè)試和調(diào)試的接口以及提供較為明確的錯(cuò)誤報(bào)告對(duì)消息驅(qū)動(dòng)框架的發(fā)展是相當(dāng)必要的。

    · 消息管理:本文雖然對(duì)消息管理做了初步的約定和設(shè)計(jì),但是在實(shí)際系統(tǒng)運(yùn)行中,消息管理的要求是多樣的,如何適應(yīng)不同需求的消息管理模式,仍有待于繼續(xù)探討。

    · 消息管理模塊與實(shí)體模塊和顯示模塊的對(duì)接:本文的工作主要是針對(duì)MDF的消息管理模塊,實(shí)體模塊以及數(shù)據(jù)管理和顯示模塊仍需要進(jìn)一步完成和完善。

    [1] 高志剛.自然資源系統(tǒng)的演化及其動(dòng)力機(jī)制[J].資源開發(fā)與市場(chǎng), 2002, 18(6): 14-17. GAO Z G. Evolution and its driving mechanism of natural resources system[J]. Resource Development & Market, 2002, 18(6): 14-17.

    [2] 洪學(xué)海, 范靈俊, 洪筱楠, 等. 智慧城市建設(shè)中政府大數(shù)據(jù)開放與市場(chǎng)化利用[J]. 大數(shù)據(jù), 2016, 2(3): 17-26. HONG X H, FAN L J, HONG X N, et al. Government big data opening and market utilization for smart city construction[J]. Big Data Research, 2016, 2(3): 17-26.

    [3] 鄭磊, 高豐. 中國開放政府?dāng)?shù)據(jù)平臺(tái)研究:框架、現(xiàn)狀與建議[J]. 電子政務(wù), 2015(7): 8-16. ZHENG L, GAO F. Study on the Chinese government data platform: framework, status and suggestions[J]. E-Government, 2015(7): 8-16.

    [4] 馬朝輝, 聶瑞華, 譚昊翔, 等. 大數(shù)據(jù)治理的數(shù)據(jù)模式與安全[J]. 大數(shù)據(jù), 2016, 2(3): 83-95. MA C H, NIE R H, TAN H X, et al. Research on data schema and security in data governance[J]. Big Data Research, 2016, 2(3): 83-95.

    [5] MASKIT D, TAYLOR S. A messagedriven programming system for fine-grain multicomputers[J]. Software: Practice and Experience, 1994, 24(10): 953-980.

    [6] 邵長磊, 吾際舟. 計(jì)算機(jī)編程語言的演變[J].農(nóng)業(yè)網(wǎng)絡(luò)信息, 2009(11): 112-115. SHAO C L, WU J Z. Evolution of computer programming languages[J]. Agriculture Network Information, 2009(11): 112-115.

    [7] SAMMET J E. Programming languages: history and future[J]. Communications of the ACM, 1972, 15(7): 601-610.

    [8] 朱樹人,賀株莉. 面向?qū)ο笈c面向過程的程序設(shè)計(jì)方法比較[J].長沙電力學(xué)院學(xué)報(bào), 1998, 13(2): 161-167. ZHU S R, HE Z L. Compare the programming method of the objectoriented and the process-oriented[J]. Journal of Changsha University of Electric Power, 1998, 13(2): 161-167.

    [9] 張麗霞. 面向過程的編程與面向?qū)ο蟮木幊蘙J].赤峰學(xué)院學(xué)報(bào), 2006, 22(5): 41-46. ZHANG L X. Programming about process-oriented and object-oriented[J]. Journal of Chifeng College, 2006, 22(5): 41-46.

    [10] BAINOMUGISHA E, CARRETON A L, CUTSEM T, et al. A survey on reactive programming[J]. ACM Computing Surveys (CSUR), 2013, 45(4): 115-123.

    [11] KANTOROWITZ E, TADMOR S. Toward specification-oriented frameworks[C]//The Israeli Workshop on Programming Languages & Development Environments, July 1, 2002, Hefa, Israel. [S.l.:s.n.], 2002: 4.

    [12] DE PAOLI F, TISATO F. On the complementary nature of event-driven and time-driven models[J]. Control Engineering Practice,1996, 4(6): 847-854.

    [13] HE C, HE K. A role-based approach to design pattern modeling and implementation[J]. Journal of Software, 2006, 17(4): 658-669.

    [14] ZHANG T, ZHANG Y, YU X F, et al. MDF based design patterns modeling and model transformation[J]. Journal of Software, 2008, 19(9): 2203-2217.

    [15] PENCZEK F, HERHUT S, SCHOLZ S B, et al. Message driven programming with s-net: methodology and performance[C]// The 39th International Conference on Parallel Processing Workshops (ICPPW), September 13-16, 2010, San Diego, CA, USA. New Jersey: IEEE Press, 2010: 405-412.

    [16] PHILLIPS J C, STONE J E, SCHULTEN K. Adapting a message-driven parallel application to GPU-accelerated clusters[C]// International Conference for High Performance Computing, Networking, Storage and Analysis, November 15-21, 2008, Austin, TX, USA. New Jersey: IEEE Press, 2008: 1-9.

    [17] 肖美華, 余立金. SOCKET通信程序模型抽取及可靠性驗(yàn)證[J]. 計(jì)算機(jī)科學(xué), 2012, 39(11):102-105. XIAO M H, YU L J. Model extraction and reliability verification on socket communication program[J]. Computer Science, 2012, 39(11):102-105.

    [18] 劉邦桂, 李正凡. 用Java實(shí)現(xiàn)流式Socket通信[J].華東交通大學(xué)學(xué)報(bào), 2007, 24(5): 110-112. LIU B G, LI Z F. Implementation of socket stream communication in Java[J]. Journal of East China Jiaotong University, 2007, 24(5): 110-112.

    [19] 于海, 樊曉椏. 基于FPGA異步FIFO的研究與實(shí)現(xiàn)[J]. 微電子學(xué)與計(jì)算機(jī), 2007, 24(3): 210-213. YU H, FAN X Y. Research and implementation of asynchronous FIFO based on FPGA[J]. Microelectronics &Computer, 2007, 24(3): 210-213.

    [20] 夏家莉, 陳輝. 一種動(dòng)態(tài)優(yōu)先級(jí)實(shí)時(shí)任務(wù)調(diào)度算法[J]. 計(jì)算機(jī)學(xué)報(bào), 2012, 35(12): 2685-2695. XIA J L, CHEN H. A real-time tasks scheduling algorithm based on dynamic priority[J]. Chinese Journal of Computers, 2012, 35(12): 2685-2695.

    [21] 李建中, 張東東. 滑動(dòng)窗口規(guī)模的動(dòng)態(tài)調(diào)整算法[J]. 軟件學(xué)報(bào), 2004, 15(12): 1800-1814. LI J Z, ZHANG D D. Algorithms for dynamically adjusting the sizes of sliding windows[J]. Journal of Software, 2004, 15(12): 1800-1814.

    [22] KALé L V, BHANDARKAR M A. Structured dagger: a coordination language for message-driven programming[C]//The Second International Euro-Par Conference, August 26-29, 1996, Lyon, France. Berlin: Springer Berlin Heidelberg, 1996: 646-653.

    A message driven framework for big data application system

    GUI Fang1, LI Lian1, YANG Jing1, WU Yongwei2
    1. School of Computer and Information, Hefei University of Technology, Hefei 230009, China 2. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China

    Software development based on message driven framework has become an important pattern for big data application system. The message management module which is an important part of whole framework was designed and implemented. The basic format of message and the standard of message management was defined, its function was realized, and the advantages through a case were shown.

    big data application system, message driven framework, module of message management, dynamic and self developing programming

    TP31

    A

    10.11959/j.issn.2096-0271.2016040

    貴芳(1991-),女,合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院碩士生,主要研究方向?yàn)榇髷?shù)據(jù)應(yīng)用、機(jī)器學(xué)習(xí)和程序語言等。

    李廉(1951-),男,合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院教授,主要從事大數(shù)據(jù)應(yīng)用、機(jī)器學(xué)習(xí)、無線傳感器網(wǎng)絡(luò)等領(lǐng)域的研究工作。擔(dān)任教育部高等學(xué)校大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)主任,中國計(jì)算機(jī)學(xué)會(huì)理論計(jì)算機(jī)專業(yè)委員會(huì)主任。先后承擔(dān)或參與國家自然科學(xué)基金重點(diǎn)項(xiàng)目和面上項(xiàng)目,“973”計(jì)劃前期研究專項(xiàng),省、部級(jí)重點(diǎn)項(xiàng)目,國家科技攻關(guān)計(jì)劃項(xiàng)目等10項(xiàng);發(fā)表論文100余篇;已獲得授權(quán)專利2項(xiàng),國家軟件著作權(quán)10件。獲安徽省教學(xué)成果獎(jiǎng)特等獎(jiǎng)一項(xiàng),國家教學(xué)成果獎(jiǎng)二等獎(jiǎng)一項(xiàng)。

    楊靜(1979-),女,博士,合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院副教授,主要研究方向?yàn)槿斯ぶ悄芎蛿?shù)據(jù)挖掘。

    武永衛(wèi)(1974-),男,清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系教授、副系主任,主要從事并行與分布式處理、云存儲(chǔ)和大數(shù)據(jù)系統(tǒng)等方面的研究工作。擔(dān)任IEEE Transactions on Sustainable Computing的指導(dǎo)委員會(huì)委員,IEEE Cloud Computing、IEEE Transactions on Cloud Computing等國際期刊編委。在TC、TPDS等國際期刊和MICRO、FSE、ATC等國際發(fā)表學(xué)術(shù)論文100余篇,獲得FSE等國際會(huì)議最佳論文3篇;承擔(dān)了國家自然科學(xué)基金重點(diǎn)課題、“863”計(jì)劃、歐盟FP6、Intel、百度等課題;申請(qǐng)中國發(fā)明專利20項(xiàng),美國發(fā)明專利3項(xiàng);獲國家技術(shù)發(fā)明獎(jiǎng)二等獎(jiǎng)、國家科技進(jìn)步獎(jiǎng)二等獎(jiǎng),省部級(jí)一等獎(jiǎng)2項(xiàng),中創(chuàng)軟件人才獎(jiǎng)等獎(jiǎng)勵(lì)。

    2016-06-20

    國家自然科學(xué)基金資助項(xiàng)目(No.61370219, No.61433008, No.U1435216);廣東省佛山市創(chuàng)新團(tuán)隊(duì)基金資助項(xiàng)目(No.2015IT100095)

    Foundation Items:The National Natural Science Foundation of China(No.61370219, No.61433008, No.U1435216), The Innovation Teams Foundation of Foshan, Guangdong(No. 2015IT100095)

    猜你喜歡
    系統(tǒng)管理
    棗前期管理再好,后期管不好,前功盡棄
    Smartflower POP 一體式光伏系統(tǒng)
    WJ-700無人機(jī)系統(tǒng)
    ZC系列無人機(jī)遙感系統(tǒng)
    基于PowerPC+FPGA顯示系統(tǒng)
    加強(qiáng)土木工程造價(jià)的控制與管理
    如何加強(qiáng)土木工程造價(jià)的控制與管理
    半沸制皂系統(tǒng)(下)
    連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
    “這下管理創(chuàng)新了!等7則
    雜文月刊(2016年1期)2016-02-11 10:35:51
    黑人巨大精品欧美一区二区蜜桃 | 国产淫语在线视频| 日韩熟女老妇一区二区性免费视频| 亚洲成人av在线免费| 亚洲欧美一区二区三区黑人 | 亚洲人成网站在线播| 国产色爽女视频免费观看| 伊人久久国产一区二区| 免费大片黄手机在线观看| 亚洲欧美一区二区三区黑人 | 丝袜喷水一区| 国产黄片美女视频| 少妇人妻一区二区三区视频| 高清av免费在线| 国精品久久久久久国模美| 人妻人人澡人人爽人人| 精品99又大又爽又粗少妇毛片| 美女中出高潮动态图| 九草在线视频观看| 日产精品乱码卡一卡2卡三| 一本色道久久久久久精品综合| 成人影院久久| 亚洲国产精品成人久久小说| 乱码一卡2卡4卡精品| 国产欧美日韩精品一区二区| 亚洲av日韩在线播放| 亚洲欧美成人综合另类久久久| a级毛片免费高清观看在线播放| 午夜91福利影院| 久久精品久久久久久久性| 一级爰片在线观看| 人体艺术视频欧美日本| 国产一区二区在线观看av| 亚洲情色 制服丝袜| 国产精品嫩草影院av在线观看| 在线亚洲精品国产二区图片欧美 | 狠狠精品人妻久久久久久综合| 精品一区二区三卡| 亚洲欧美精品自产自拍| 日韩三级伦理在线观看| 亚洲综合精品二区| 嫩草影院新地址| 久久久久久久久久成人| 嘟嘟电影网在线观看| 在线免费观看不下载黄p国产| 亚洲精品国产成人久久av| 69精品国产乱码久久久| 午夜日本视频在线| av.在线天堂| 色94色欧美一区二区| 高清视频免费观看一区二区| 国产伦精品一区二区三区四那| 久久久久久久亚洲中文字幕| 丝瓜视频免费看黄片| 亚洲不卡免费看| 国产在线一区二区三区精| 热re99久久精品国产66热6| 精品亚洲成a人片在线观看| 国产在线视频一区二区| 观看av在线不卡| 狂野欧美激情性xxxx在线观看| 2021少妇久久久久久久久久久| 免费黄网站久久成人精品| 一个人看视频在线观看www免费| 日韩人妻高清精品专区| 色哟哟·www| 日韩免费高清中文字幕av| 欧美日韩亚洲高清精品| 国产探花极品一区二区| 日本av免费视频播放| 丰满乱子伦码专区| 久久精品国产亚洲网站| 日韩在线高清观看一区二区三区| 久久国产乱子免费精品| 热re99久久国产66热| 中文字幕制服av| 久久精品国产亚洲av涩爱| 91午夜精品亚洲一区二区三区| 亚洲av福利一区| 成人无遮挡网站| 如何舔出高潮| 国产在线免费精品| 国产成人91sexporn| 在线观看免费高清a一片| 婷婷色av中文字幕| 国产成人freesex在线| 欧美亚洲 丝袜 人妻 在线| 国产国拍精品亚洲av在线观看| 一区二区三区四区激情视频| 在线亚洲精品国产二区图片欧美 | 成人美女网站在线观看视频| 国产高清不卡午夜福利| 婷婷色综合大香蕉| 一区二区三区免费毛片| 99久久人妻综合| 色5月婷婷丁香| 午夜福利网站1000一区二区三区| 五月玫瑰六月丁香| 亚洲国产色片| av专区在线播放| 国产av码专区亚洲av| 少妇丰满av| 日韩成人av中文字幕在线观看| 麻豆乱淫一区二区| a级片在线免费高清观看视频| 国产永久视频网站| 国国产精品蜜臀av免费| 亚洲欧美中文字幕日韩二区| av在线老鸭窝| 高清午夜精品一区二区三区| 日韩大片免费观看网站| 日本欧美国产在线视频| 男女无遮挡免费网站观看| 美女脱内裤让男人舔精品视频| 99热国产这里只有精品6| 成人18禁高潮啪啪吃奶动态图 | 99久久综合免费| 婷婷色av中文字幕| 岛国毛片在线播放| www.色视频.com| 91在线精品国自产拍蜜月| 麻豆精品久久久久久蜜桃| 两个人免费观看高清视频 | 中文字幕精品免费在线观看视频 | 夜夜骑夜夜射夜夜干| 黑人巨大精品欧美一区二区蜜桃 | 一个人看视频在线观看www免费| 久久99蜜桃精品久久| 国产高清国产精品国产三级| 99热这里只有是精品在线观看| 国产成人午夜福利电影在线观看| 国产精品无大码| 日日爽夜夜爽网站| 亚洲国产毛片av蜜桃av| 天天躁夜夜躁狠狠久久av| 国产精品欧美亚洲77777| 亚洲人与动物交配视频| 中文资源天堂在线| 精品久久久久久久久亚洲| 久久6这里有精品| 久久久久久久国产电影| 欧美日韩综合久久久久久| 少妇人妻久久综合中文| 人妻少妇偷人精品九色| 在线精品无人区一区二区三| 91久久精品电影网| 天天操日日干夜夜撸| av在线老鸭窝| 成人免费观看视频高清| 纵有疾风起免费观看全集完整版| 高清黄色对白视频在线免费看 | 男女免费视频国产| av免费观看日本| 成人影院久久| 一本大道久久a久久精品| a级毛色黄片| 在线观看人妻少妇| 日韩,欧美,国产一区二区三区| 伊人亚洲综合成人网| 亚洲国产av新网站| 日韩成人av中文字幕在线观看| 一本一本综合久久| 国产精品久久久久久精品古装| 亚洲三级黄色毛片| h日本视频在线播放| 日日啪夜夜撸| 一本—道久久a久久精品蜜桃钙片| 久久97久久精品| 午夜激情福利司机影院| 国产高清三级在线| 九草在线视频观看| 五月玫瑰六月丁香| 国产精品久久久久久久久免| 国产有黄有色有爽视频| 亚洲精品国产色婷婷电影| 国产69精品久久久久777片| 九草在线视频观看| 国产精品免费大片| 久久久久久久大尺度免费视频| 黑丝袜美女国产一区| 自拍欧美九色日韩亚洲蝌蚪91 | 国产精品偷伦视频观看了| 国产高清有码在线观看视频| 国产在线一区二区三区精| 男女免费视频国产| 国产黄片视频在线免费观看| 欧美一级a爱片免费观看看| 亚洲精品视频女| 在线观看美女被高潮喷水网站| 久久久久久人妻| 九九在线视频观看精品| 中国国产av一级| 91精品国产九色| 免费av不卡在线播放| 国产欧美另类精品又又久久亚洲欧美| 99热这里只有是精品在线观看| 少妇高潮的动态图| 亚洲精品乱久久久久久| 美女视频免费永久观看网站| 欧美精品人与动牲交sv欧美| 少妇猛男粗大的猛烈进出视频| 久久久a久久爽久久v久久| 国产永久视频网站| 国精品久久久久久国模美| 亚洲第一av免费看| 国产精品偷伦视频观看了| 精品少妇内射三级| 国产精品国产av在线观看| 哪个播放器可以免费观看大片| videossex国产| 中文字幕久久专区| 国产精品无大码| 99久久综合免费| 夜夜爽夜夜爽视频| 久久久久精品久久久久真实原创| 水蜜桃什么品种好| 国产欧美亚洲国产| 精品久久久久久久久av| 国产爽快片一区二区三区| 亚洲欧美一区二区三区黑人 | av福利片在线观看| 伦理电影免费视频| 亚洲av在线观看美女高潮| 天天操日日干夜夜撸| 日本av手机在线免费观看| 中文字幕人妻熟人妻熟丝袜美| 成人毛片a级毛片在线播放| 黄色怎么调成土黄色| 观看免费一级毛片| 日本色播在线视频| 中文乱码字字幕精品一区二区三区| 亚洲在久久综合| 国产精品秋霞免费鲁丝片| 老司机影院成人| 欧美日本中文国产一区发布| 欧美另类一区| 国产日韩欧美在线精品| 国产真实伦视频高清在线观看| 久久国内精品自在自线图片| av视频免费观看在线观看| 美女主播在线视频| 人妻少妇偷人精品九色| 欧美日韩综合久久久久久| 91久久精品国产一区二区三区| 久久久久久人妻| 中文天堂在线官网| 一级毛片我不卡| 在线播放无遮挡| 久久久久久久久大av| 少妇熟女欧美另类| 人体艺术视频欧美日本| 久久精品久久精品一区二区三区| 赤兔流量卡办理| 视频区图区小说| 男人爽女人下面视频在线观看| 久久亚洲国产成人精品v| 国产精品国产三级国产av玫瑰| 一级黄片播放器| 欧美最新免费一区二区三区| 亚洲国产精品一区三区| 黄色欧美视频在线观看| 视频区图区小说| 国产日韩欧美视频二区| 免费观看在线日韩| 精品国产国语对白av| 国产欧美日韩精品一区二区| 色吧在线观看| 国产91av在线免费观看| 国产极品天堂在线| 国产精品嫩草影院av在线观看| 亚洲在久久综合| 亚洲内射少妇av| 中文字幕制服av| 中文天堂在线官网| 午夜福利影视在线免费观看| 九草在线视频观看| 18禁在线播放成人免费| 亚洲第一av免费看| 极品人妻少妇av视频| 国产亚洲一区二区精品| 亚洲精品视频女| 日韩免费高清中文字幕av| 97超碰精品成人国产| 日日撸夜夜添| 国产精品蜜桃在线观看| 一区二区三区精品91| 一本久久精品| 伦理电影大哥的女人| 在线观看国产h片| 丝瓜视频免费看黄片| 精品熟女少妇av免费看| 十分钟在线观看高清视频www | 一级黄片播放器| 欧美+日韩+精品| 蜜臀久久99精品久久宅男| 观看美女的网站| 99热6这里只有精品| 久久亚洲国产成人精品v| 91久久精品国产一区二区成人| 国语对白做爰xxxⅹ性视频网站| 中文字幕人妻熟人妻熟丝袜美| 两个人的视频大全免费| 国产精品欧美亚洲77777| 免费看日本二区| av有码第一页| 又大又黄又爽视频免费| 18禁在线播放成人免费| 亚洲精品成人av观看孕妇| 91精品一卡2卡3卡4卡| 国产永久视频网站| 在线观看国产h片| 97精品久久久久久久久久精品| 亚洲经典国产精华液单| 日本av手机在线免费观看| 亚洲国产毛片av蜜桃av| 亚洲国产精品专区欧美| 欧美成人精品欧美一级黄| 欧美精品一区二区大全| 一区二区三区免费毛片| av有码第一页| 嫩草影院新地址| 国产在线男女| 少妇人妻久久综合中文| 亚洲国产成人一精品久久久| 黄片无遮挡物在线观看| 人妻系列 视频| 欧美xxⅹ黑人| 婷婷色综合www| 亚洲中文av在线| 18禁在线播放成人免费| 18+在线观看网站| 日韩大片免费观看网站| 伊人久久国产一区二区| 人人妻人人澡人人看| 热re99久久精品国产66热6| 日韩av不卡免费在线播放| 99九九在线精品视频 | 一二三四中文在线观看免费高清| 亚洲国产精品999| 精品久久国产蜜桃| 欧美97在线视频| 最新中文字幕久久久久| 国产精品伦人一区二区| 国产精品成人在线| 久久99热6这里只有精品| 亚洲精品aⅴ在线观看| 亚洲综合精品二区| 99视频精品全部免费 在线| 久久6这里有精品| 国产毛片在线视频| 亚洲国产精品一区三区| 亚洲精华国产精华液的使用体验| 多毛熟女@视频| 男人添女人高潮全过程视频| 少妇丰满av| 热re99久久精品国产66热6| a级毛片在线看网站| 男人和女人高潮做爰伦理| 中文字幕人妻丝袜制服| 日韩欧美精品免费久久| 亚洲av二区三区四区| 日本爱情动作片www.在线观看| kizo精华| 亚洲av福利一区| 观看免费一级毛片| av又黄又爽大尺度在线免费看| 久久精品国产鲁丝片午夜精品| 亚洲欧美精品专区久久| 国产日韩欧美视频二区| 国产极品天堂在线| 国产日韩欧美视频二区| 国产精品国产三级专区第一集| 欧美精品亚洲一区二区| 这个男人来自地球电影免费观看 | 91成人精品电影| 日韩不卡一区二区三区视频在线| 极品教师在线视频| 国产真实伦视频高清在线观看| 日本黄色片子视频| 婷婷色麻豆天堂久久| 黄色视频在线播放观看不卡| 国产女主播在线喷水免费视频网站| 亚洲四区av| 熟女电影av网| 我要看黄色一级片免费的| 亚洲av二区三区四区| 啦啦啦视频在线资源免费观看| 日韩成人伦理影院| 一级毛片电影观看| 18+在线观看网站| a级毛片免费高清观看在线播放| 日韩电影二区| 亚洲精品国产色婷婷电影| 中文在线观看免费www的网站| 色94色欧美一区二区| 国产伦在线观看视频一区| 精品国产乱码久久久久久小说| 久久 成人 亚洲| 国产精品麻豆人妻色哟哟久久| 欧美精品一区二区大全| 国产黄片视频在线免费观看| 国产在线一区二区三区精| 亚洲第一区二区三区不卡| 伦理电影免费视频| 自线自在国产av| 人妻夜夜爽99麻豆av| 日本爱情动作片www.在线观看| 午夜影院在线不卡| 国产精品无大码| 亚洲四区av| 免费大片黄手机在线观看| 国产国拍精品亚洲av在线观看| 纯流量卡能插随身wifi吗| 伊人亚洲综合成人网| 美女福利国产在线| 亚洲人成网站在线观看播放| 亚洲国产av新网站| 99热6这里只有精品| 看十八女毛片水多多多| 在线观看美女被高潮喷水网站| 国产伦理片在线播放av一区| 日韩强制内射视频| 人妻 亚洲 视频| 九色成人免费人妻av| 免费少妇av软件| 五月玫瑰六月丁香| 在线观看免费视频网站a站| 精品久久久久久久久av| 久久毛片免费看一区二区三区| 亚洲精品国产色婷婷电影| 国产又色又爽无遮挡免| 搡老乐熟女国产| 人人妻人人看人人澡| 一边亲一边摸免费视频| 国产伦精品一区二区三区四那| 国国产精品蜜臀av免费| 日韩欧美一区视频在线观看 | 久久久国产欧美日韩av| 久久久久久伊人网av| av黄色大香蕉| 777米奇影视久久| 日韩电影二区| 日韩强制内射视频| 内射极品少妇av片p| 一二三四中文在线观看免费高清| 国产高清不卡午夜福利| 午夜福利影视在线免费观看| 国产女主播在线喷水免费视频网站| 久久久久精品性色| 一级,二级,三级黄色视频| 国产精品国产三级国产专区5o| 亚洲欧美精品专区久久| 国产欧美日韩一区二区三区在线 | 国模一区二区三区四区视频| 99视频精品全部免费 在线| 中文字幕精品免费在线观看视频 | 国产av精品麻豆| 婷婷色综合www| 国产精品一区二区性色av| 免费播放大片免费观看视频在线观看| 国产片特级美女逼逼视频| 国产极品天堂在线| 亚洲不卡免费看| 自拍欧美九色日韩亚洲蝌蚪91 | 91在线精品国自产拍蜜月| 欧美日韩综合久久久久久| 国产精品久久久久久精品电影小说| 免费人妻精品一区二区三区视频| 久久精品国产亚洲av天美| 日韩三级伦理在线观看| 日韩成人伦理影院| 国产成人a∨麻豆精品| 男女免费视频国产| 性色av一级| 九九久久精品国产亚洲av麻豆| 精品一区二区三卡| 黄色怎么调成土黄色| 精品国产一区二区三区久久久樱花| 黄色视频在线播放观看不卡| 最黄视频免费看| 精品亚洲成a人片在线观看| 夫妻午夜视频| 精品酒店卫生间| 色婷婷久久久亚洲欧美| 深夜a级毛片| 乱码一卡2卡4卡精品| 成人特级av手机在线观看| 一个人看视频在线观看www免费| 国精品久久久久久国模美| av.在线天堂| 欧美日韩av久久| 免费观看a级毛片全部| 一个人免费看片子| 免费久久久久久久精品成人欧美视频 | 亚洲中文av在线| 偷拍熟女少妇极品色| 美女cb高潮喷水在线观看| 久久久久久久大尺度免费视频| 久久久久视频综合| 亚洲国产精品999| 黑人猛操日本美女一级片| 岛国毛片在线播放| 国产精品国产三级国产av玫瑰| 国产成人午夜福利电影在线观看| 免费观看a级毛片全部| 丁香六月天网| 人人妻人人澡人人看| 日韩精品免费视频一区二区三区 | 久久精品国产鲁丝片午夜精品| 欧美日韩视频精品一区| 少妇精品久久久久久久| 极品人妻少妇av视频| 成人午夜精彩视频在线观看| 搡女人真爽免费视频火全软件| 最近手机中文字幕大全| 成人毛片a级毛片在线播放| 亚洲国产精品一区三区| 在线精品无人区一区二区三| 偷拍熟女少妇极品色| 九九在线视频观看精品| 国产在视频线精品| 蜜臀久久99精品久久宅男| 一区二区三区乱码不卡18| 久久免费观看电影| 欧美日韩国产mv在线观看视频| 国产永久视频网站| 一本大道久久a久久精品| 最近中文字幕2019免费版| 成人18禁高潮啪啪吃奶动态图 | 又粗又硬又长又爽又黄的视频| 国产毛片在线视频| 日韩强制内射视频| 人体艺术视频欧美日本| 国产亚洲欧美精品永久| 国产成人freesex在线| 91在线精品国自产拍蜜月| 国产免费一级a男人的天堂| 成人18禁高潮啪啪吃奶动态图 | 日韩一区二区视频免费看| 国产亚洲欧美精品永久| 少妇高潮的动态图| 18禁在线播放成人免费| 久久国产精品大桥未久av | 成人亚洲欧美一区二区av| 狂野欧美激情性bbbbbb| 日韩欧美 国产精品| 亚洲人成网站在线播| 草草在线视频免费看| 国产又色又爽无遮挡免| 国产亚洲最大av| .国产精品久久| 性色avwww在线观看| 汤姆久久久久久久影院中文字幕| 日韩一区二区三区影片| 97超视频在线观看视频| 另类亚洲欧美激情| 国内揄拍国产精品人妻在线| 久久人人爽人人片av| 我的女老师完整版在线观看| 观看免费一级毛片| 最近中文字幕高清免费大全6| 人人妻人人爽人人添夜夜欢视频 | 欧美3d第一页| 深夜a级毛片| 免费人成在线观看视频色| 成人特级av手机在线观看| 人人妻人人澡人人爽人人夜夜| 亚洲婷婷狠狠爱综合网| a级毛片在线看网站| 麻豆精品久久久久久蜜桃| 国产一区亚洲一区在线观看| 丝袜喷水一区| 啦啦啦中文免费视频观看日本| 久久99一区二区三区| 亚洲欧美中文字幕日韩二区| 亚洲怡红院男人天堂| 日日啪夜夜爽| 高清av免费在线| 老熟女久久久| av线在线观看网站| 日日摸夜夜添夜夜添av毛片| 日本与韩国留学比较| 国产精品久久久久久精品古装| 成年美女黄网站色视频大全免费 | 精品酒店卫生间| 少妇的逼好多水| 乱人伦中国视频| 久久久久视频综合| 秋霞在线观看毛片| 精品熟女少妇av免费看| 偷拍熟女少妇极品色| 久久av网站| 爱豆传媒免费全集在线观看| 五月天丁香电影| 纵有疾风起免费观看全集完整版| 丰满迷人的少妇在线观看| 日本91视频免费播放| 久久久久视频综合| 国产爽快片一区二区三区| 日产精品乱码卡一卡2卡三| 最近的中文字幕免费完整| 人妻夜夜爽99麻豆av| 一级黄片播放器| 我的老师免费观看完整版| 久久综合国产亚洲精品| 精品人妻熟女毛片av久久网站| www.色视频.com| 国产一级毛片在线| 亚洲经典国产精华液单| 色视频在线一区二区三区| 一级av片app| 精品少妇黑人巨大在线播放| 一本—道久久a久久精品蜜桃钙片| 免费少妇av软件| 亚洲精品乱久久久久久|