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

    基于CoAP的M2M課程教學(xué)及實(shí)驗(yàn)設(shè)計(jì)

    2017-11-09 08:46:49張笑非
    計(jì)算機(jī)教育 2017年11期
    關(guān)鍵詞:服務(wù)端字段字節(jié)

    張笑非,劉 鎮(zhèn) ,滕 瑋

    (1.江蘇科技大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 鎮(zhèn)江 212003;2. 北京工業(yè)大學(xué) 信息學(xué)部,北京 100124 )

    基于CoAP的M2M課程教學(xué)及實(shí)驗(yàn)設(shè)計(jì)

    張笑非1,2,劉 鎮(zhèn)1,滕 瑋1

    (1.江蘇科技大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 鎮(zhèn)江 212003;2. 北京工業(yè)大學(xué) 信息學(xué)部,北京 100124 )

    闡述以IETF CoAP協(xié)議擴(kuò)展標(biāo)準(zhǔn)RFC 7959 “CoAP塊級(jí)傳輸”中的案例作為M2M課程教學(xué)內(nèi)容,提出通過(guò)Eclipse開源項(xiàng)目Californium中提供的API對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行設(shè)計(jì)并利用JUnit框架設(shè)計(jì)CoAP塊級(jí)傳輸案例的測(cè)試用例,測(cè)試結(jié)果驗(yàn)證了相應(yīng)的塊級(jí)傳輸流程。

    CoAP; 塊級(jí)傳輸;請(qǐng)求/應(yīng)答對(duì);Californium項(xiàng)目

    0 引 言

    當(dāng)前,全國(guó)眾多高校的物聯(lián)網(wǎng)專業(yè)都開設(shè)了M2M通信技術(shù)課程,由于涉及的理論和技術(shù)框架還在發(fā)展中,教學(xué)及實(shí)驗(yàn)內(nèi)容也在不斷建設(shè)和完善中。CoAP是一種應(yīng)用于受限節(jié)點(diǎn)和受限網(wǎng)絡(luò)的Web傳輸協(xié)議,類似HTTP但又不是盲目地在HTTP的技術(shù)上進(jìn)行縮減,而是針對(duì)M2M應(yīng)用進(jìn)行優(yōu)化,實(shí)現(xiàn)REST架構(gòu)風(fēng)格的一個(gè)子集[1]。在物聯(lián)網(wǎng)應(yīng)用中,CoAP成為HTTP的替代者而實(shí)現(xiàn)智能硬件到Web的接入[2]。CoAP的標(biāo)準(zhǔn)已在IETF RFC 7252中給出,文獻(xiàn)[3]提出將RFC標(biāo)準(zhǔn)文檔應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)教學(xué)中。MIT、Apache等機(jī)構(gòu)也都給出了多種編程語(yǔ)言版本的CoAP實(shí)現(xiàn),且文獻(xiàn)[4-6]也提出網(wǎng)絡(luò)編程在提高教學(xué)和實(shí)驗(yàn)效果方面的作用,文獻(xiàn)[7]分別就案例分解和重構(gòu)在網(wǎng)絡(luò)編程教學(xué)中的應(yīng)用與改革進(jìn)行了說(shuō)明。這些都為在物聯(lián)網(wǎng)專業(yè)的M2M通信技術(shù)課程中準(zhǔn)備了充足的教學(xué)和實(shí)驗(yàn)素材。

    1 CoAP教學(xué)設(shè)計(jì)

    本教學(xué)設(shè)計(jì)使用IETF RFC 7959[8]作為M2M通信技術(shù)課程中CoAP的教學(xué)內(nèi)容。RFC 7959是對(duì)RFC 7252的更新,是對(duì)CoAP塊級(jí)傳輸方式的定義。CoAP消息的基本傳輸方式是在客戶端和服務(wù)端之間,通過(guò)一次請(qǐng)求/應(yīng)答對(duì)完成,可以滿足從傳感器讀取數(shù)據(jù),或向執(zhí)行器發(fā)送指令等小型載荷需求,但面對(duì)固件更新這種需要承載大型載荷的M2M應(yīng)用時(shí),就需要對(duì)這些載荷進(jìn)行分割。由于CoAP使用的傳輸層協(xié)議是UDP或DTLS,因此不能像TCP對(duì)HTTP消息一樣進(jìn)行分割和重新排列。RFC 7959在不考慮使用IP碎片機(jī)制的情況下,通過(guò)對(duì)CoAP協(xié)議增加一對(duì)Block選項(xiàng)的方式,對(duì)單個(gè)大型載荷進(jìn)行分塊、并通過(guò)多次請(qǐng)求/應(yīng)答對(duì)完成傳輸。

    教學(xué)設(shè)計(jì)中之所以選擇RFC 7959定義的CoAP塊級(jí)傳輸作為教學(xué)內(nèi)容,是因?yàn)閷?duì)于協(xié)議三要素(語(yǔ)法、語(yǔ)義、時(shí)序)而言,RFC 7252中介紹的單次請(qǐng)求/應(yīng)答對(duì)作為時(shí)序部分較為簡(jiǎn)單。而基于塊級(jí)傳輸?shù)亩啻握?qǐng)求/應(yīng)答過(guò)程,能夠幫助學(xué)生更好地理解CoAP消息在客戶端/服務(wù)端之間的交換過(guò)程;同時(shí)也可以對(duì)比受限網(wǎng)絡(luò)環(huán)境和常規(guī)互聯(lián)網(wǎng)環(huán)境下,由于需求差異導(dǎo)致協(xié)議棧的每一層功能和策略存在的差別。

    1.1 教學(xué)內(nèi)容

    CoAP塊級(jí)傳輸中需要利用塊選項(xiàng)(Block Option),塊選項(xiàng)分為Block1和Block2。CoAP中的請(qǐng)求/應(yīng)答對(duì),其中請(qǐng)求消息由客戶端發(fā)送給服務(wù)端,應(yīng)答消息由服務(wù)端返還給客戶端。若需進(jìn)行分塊的載荷來(lái)自客戶端,如PUT和POST操作,則塊選項(xiàng)為Block1。若需進(jìn)行分塊的載荷來(lái)自服務(wù)端,如接收到GET操作,則塊選項(xiàng)為Block2。塊選項(xiàng)是變長(zhǎng)的,可以是1個(gè)或2個(gè)或3個(gè)字節(jié)。塊選項(xiàng)包含3個(gè)字段,即NUM、M和SZX,其中NUM的長(zhǎng)度可以是4bit或12bit或20bit,是當(dāng)前塊在所屬載荷分割出的多個(gè)塊中的序列號(hào);M占1bit,1表示還有后續(xù)塊,0表示本塊是最后一個(gè);SZX占3bit,是當(dāng)前塊尺寸的指數(shù),2^(SZX+4)就是當(dāng)前塊的字節(jié)數(shù)。為了便于講解,后面的例子中會(huì)將塊選項(xiàng)寫成4個(gè)部分,即“塊選項(xiàng)類型:NUM/M/2**(SZX+4)”,例如:2:2/0/32表示一個(gè)Block2塊選項(xiàng),塊序號(hào)為2、沒(méi)有后續(xù)塊、當(dāng)前塊的長(zhǎng)度是32字節(jié);1:3/1/128表示一個(gè)Block1塊選項(xiàng),塊序號(hào)為3,還有后續(xù)塊,當(dāng)前塊的長(zhǎng)度是128字節(jié)。

    1.2 教學(xué)案例

    RFC 7959的第3節(jié)給出4類案例,每類案例中包含若干具體案例,見表1。這些案例涵蓋了塊級(jí)GET、塊級(jí)PUT/POST的消息交換過(guò)程,其中塊級(jí)PUT與塊級(jí)POST的消息交換過(guò)程是一樣的,它們的區(qū)別在于對(duì)原子性和冪等性上的要求不一樣。這些案例演示了基本的塊級(jí)轉(zhuǎn)發(fā)流程、存在重傳的塊級(jí)轉(zhuǎn)發(fā)流程,存在塊尺寸協(xié)商的塊級(jí)轉(zhuǎn)發(fā)流程。

    表1 CoAP塊級(jí)傳輸案例

    1.2.1 簡(jiǎn)單塊級(jí)GET案例

    如圖1,該案例給出一個(gè)GET請(qǐng)求被分解為三次請(qǐng)求/應(yīng)答對(duì),客戶端在第一次向服務(wù)端發(fā)起CoAP GET消息時(shí),并不知道服務(wù)端將要返回的載荷大小。服務(wù)端在第一次應(yīng)答中建議的塊尺寸是128字節(jié),并且M標(biāo)志位為1,說(shuō)明還有后續(xù)的塊。于是客戶端繼續(xù)向服務(wù)端發(fā)送GET請(qǐng)求,直到接收到的來(lái)自服務(wù)端的第3個(gè)應(yīng)答時(shí),由于M標(biāo)志位為0,說(shuō)明整個(gè)載荷接收完畢。本案例中由于來(lái)自服務(wù)端的載荷被分割成3個(gè)塊,所以塊選項(xiàng)類型是Block2,3個(gè)塊的NUM依次為0、1、2,每個(gè)塊的尺寸都是128字節(jié),而實(shí)際情況中,第3個(gè)塊的長(zhǎng)度只需滿足不小于1個(gè)字節(jié)、且不大于128字節(jié)。

    圖1 簡(jiǎn)單塊級(jí)GET的消息交換過(guò)程

    1.2.2 存在CON消息丟失的后期協(xié)商塊級(jí)GET案例

    如圖2,教學(xué)設(shè)計(jì)中利用該案例闡述了CoAP塊級(jí)傳輸中的兩個(gè)要素,一個(gè)是塊尺寸的后期協(xié)商,另一個(gè)是重傳機(jī)制。案例中CoAP消息過(guò)程包含5個(gè)請(qǐng)求/應(yīng)答對(duì),這可以通過(guò)MID的值或塊選項(xiàng)字段NUM看出。MID是CoAP首部中的消息標(biāo)示符,該例中MID從1234到1238共5個(gè);同樣,NUM字段在5次請(qǐng)求/應(yīng)答對(duì)中分別是0、2、3、4、5共5個(gè),而沒(méi)有1,這正是后期協(xié)商造成的。

    圖2 存在CON消息丟失的后期協(xié)商塊級(jí)GET的消息交換過(guò)程

    客戶端和服務(wù)端可以在消息交換中的多次修改塊尺寸,提供類似TCP的擁塞控制功能[9]。在教學(xué)設(shè)計(jì)中,首先要講解什么是早期協(xié)商,即在第一次請(qǐng)求/應(yīng)答對(duì)的請(qǐng)求消息中,如果塊選項(xiàng)的SZX被設(shè)置了值,那這個(gè)值就是客戶端期望服務(wù)端在后續(xù)應(yīng)答時(shí)設(shè)置的塊尺寸指數(shù),反之則說(shuō)明客戶端沒(méi)有進(jìn)行早期協(xié)商。第一次請(qǐng)求/應(yīng)答對(duì)中的應(yīng)答消息到達(dá)客戶端后,客戶端對(duì)服務(wù)端設(shè)置的塊尺寸128字節(jié)并不滿意,因此在第二次的請(qǐng)求/應(yīng)答對(duì)的請(qǐng)求消息將塊尺寸設(shè)置為64字節(jié)。由于第一次應(yīng)答,服務(wù)端已經(jīng)返回了128字節(jié),而這時(shí)客戶端設(shè)置的塊尺寸為64字節(jié),因此相當(dāng)于之前已經(jīng)發(fā)送了兩個(gè)64字節(jié)的塊,第二次應(yīng)答消息中的塊相當(dāng)于是第3個(gè)64字節(jié)了,這就是為什么轉(zhuǎn)發(fā)過(guò)程中沒(méi)有出現(xiàn)NUM為1的情況。

    其次,在這個(gè)案例中,還需要對(duì)CoAP的重傳機(jī)制作講解。CoAP請(qǐng)求/應(yīng)答對(duì)的可靠性是通過(guò)設(shè)置請(qǐng)求消息中的Type字段為“需確認(rèn)”、即CON,客戶端會(huì)通過(guò)計(jì)時(shí)器判斷在規(guī)定時(shí)間內(nèi)是否收到與請(qǐng)求消息MID相同的應(yīng)答消息,否則會(huì)重新發(fā)送同樣的請(qǐng)求消息。該案例中模擬了第二次請(qǐng)求/應(yīng)答對(duì)的請(qǐng)求消息丟失的情況,若是應(yīng)答消息丟失則仍由客戶端重新發(fā)送請(qǐng)求,服務(wù)端并不設(shè)置超時(shí)機(jī)制。

    1.2.3 原子性塊級(jí)POST/塊級(jí)應(yīng)答組合案例

    如圖3,教學(xué)設(shè)計(jì)中利用該案例闡述了CoAP塊級(jí)傳輸中的兩個(gè)要素,一個(gè)是原子性塊級(jí)傳輸,另一個(gè)是Block1和Block2塊選項(xiàng)的組合。整個(gè)CoAP消息過(guò)程包含6個(gè)請(qǐng)求/應(yīng)答對(duì),即該例中MID從1234到1239;過(guò)程的前半部分是客戶端通過(guò)Block1塊選項(xiàng)把發(fā)送給服務(wù)端的數(shù)據(jù)分成了3個(gè)塊依次傳輸,過(guò)程的后半部分是服務(wù)端通過(guò)Block2塊選項(xiàng)把返回給客戶端的結(jié)果分成了4個(gè)塊依次傳輸。由于在第3次請(qǐng)求/應(yīng)答對(duì)中通過(guò)雙工的方式同時(shí)完成了最后一個(gè)Block1塊和第一個(gè)Block2塊,所以雙方交換7個(gè)塊通過(guò)6次請(qǐng)求/應(yīng)答對(duì)便完成了。

    圖3 原子性塊級(jí)POST/塊級(jí)應(yīng)答組合的消息交換過(guò)程

    在教學(xué)設(shè)計(jì)中,首先要講解原子性塊級(jí)傳輸?shù)臋C(jī)制,與之相對(duì)的是無(wú)狀態(tài)塊級(jí)傳輸。它們的區(qū)別在于在服務(wù)端通過(guò)應(yīng)答消息的M字段,以表示塊級(jí)傳輸過(guò)程中的所有請(qǐng)求/應(yīng)答對(duì)構(gòu)成一個(gè)原子性操作,還是說(shuō)每個(gè)請(qǐng)求/應(yīng)答對(duì)構(gòu)成獨(dú)立的操作。從本案例塊級(jí)傳輸?shù)拿恳淮螒?yīng)答消息可以看到,除了最后一次應(yīng)答消息,之前應(yīng)答消息的M字段均為1,說(shuō)明服務(wù)端預(yù)期來(lái)自客戶端更多的請(qǐng)求消息,直到最后一次應(yīng)答消息M字段為0,表示服務(wù)端認(rèn)為之前接收到的所有請(qǐng)求/應(yīng)答對(duì)成了一次原子性的塊級(jí)傳輸過(guò)程。而在無(wú)狀態(tài)塊級(jí)傳輸中,即使客戶端發(fā)送的請(qǐng)求消息中通過(guò)M字段置1、以告知服務(wù)端本次請(qǐng)求/應(yīng)答對(duì)后還有更多的請(qǐng)求/應(yīng)答對(duì),但服務(wù)端每次向客戶端發(fā)送的應(yīng)答消息的M字段都為0,以表示服務(wù)端可以獨(dú)立處理這些被分割的塊,每一個(gè)請(qǐng)求/應(yīng)答對(duì)是獨(dú)立的。

    其次,在這個(gè)案例中,還需要對(duì)CoAP的Block1和Block2塊選項(xiàng)組合機(jī)制作講解。整個(gè)塊級(jí)傳輸過(guò)程共包含6次請(qǐng)求/應(yīng)答對(duì),其中第3次請(qǐng)求/應(yīng)答對(duì)的應(yīng)答消息中同時(shí)包含了Block1和Block2塊選項(xiàng)。這是因?yàn)榭蛻舳送ㄟ^(guò)前三次請(qǐng)求將輸入數(shù)據(jù)提交給了服務(wù)端,而服務(wù)端則在第三次應(yīng)答中通過(guò)Block1塊選項(xiàng)M字段為0表示數(shù)據(jù)接收完成、同時(shí)還通過(guò)Block2塊選項(xiàng)開始向客戶端返回結(jié)果,直到第6次應(yīng)答通過(guò)Block2塊選項(xiàng)M字段置0告知客戶端結(jié)果返回完畢。

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

    本實(shí)驗(yàn)設(shè)計(jì)使用Eclipse開源項(xiàng)目Californium[10]作為CoAP的實(shí)驗(yàn)環(huán)境。Californium是一個(gè)面向后臺(tái)服務(wù)和強(qiáng)勁IoT設(shè)備的CoAP框架,其為RESTful Web服務(wù)提供的API支持CoAP的所有特性。實(shí)驗(yàn)設(shè)計(jì)在Californium中將每個(gè)案例編寫成JUnit測(cè)試單元來(lái)驗(yàn)證,文獻(xiàn)[11]就如何將JUnit應(yīng)用到課程教學(xué)中做了探討。

    2.1 案例的測(cè)試框架設(shè)計(jì)

    由于每一個(gè)CoAP案例的測(cè)試設(shè)計(jì)都包含通用模塊和獨(dú)立模塊,因此在設(shè)計(jì)上利用JUnit4的標(biāo)注機(jī)制。如圖4所示,用@BeforeClass定義CoAP網(wǎng)絡(luò)參數(shù)初始化函數(shù)init( ),用@Before定義CoAP客戶端實(shí)例和服務(wù)端實(shí)例的創(chuàng)建函數(shù)setupEndpoints( ),用@After定義CoAP客戶端實(shí)例和服務(wù)端實(shí)例的銷毀函數(shù)shutdownEndpoints( ),用@Test分別定義三個(gè)塊級(jí)傳輸過(guò)程函數(shù)testGET()、testGETLateNegotionalLostACK()、testAtomicBlo ckwisePOSTWithBlockwiseResponse()。

    圖4 實(shí)驗(yàn)測(cè)試流程

    2.2 測(cè)試的通用模塊設(shè)計(jì)

    鎖步(Lockstep)也稱為時(shí)鐘同步,是一種容錯(cuò)技術(shù)[12]。為了能夠重現(xiàn)教學(xué)案例中的場(chǎng)景,我們將服務(wù)端運(yùn)行在正常模式,而將客戶端運(yùn)行在鎖步模式,即客戶端每次發(fā)送和等待接收,都是通過(guò)明確的命令來(lái)控制。因此,首先定義測(cè)試用例的靜態(tài)初始化函數(shù)init( ),在其中為CoAP服務(wù)端定義運(yùn)行時(shí)的網(wǎng)絡(luò)參數(shù):

    接著就需要定義每次Test實(shí)例的初始化函數(shù)setupEndpoints( ),其中需要?jiǎng)?chuàng)建并啟動(dòng)運(yùn)行在正常模式的CoAP服務(wù)端實(shí)例,以及運(yùn)行在鎖步模式的CoAP客戶端實(shí)例:

    最后定義每次Test實(shí)例運(yùn)行完畢時(shí)執(zhí)行的銷毀函數(shù)shutdownEndpoints( ):

    2.3 測(cè)試的獨(dú)立模塊設(shè)計(jì)

    教學(xué)設(shè)計(jì)中的3個(gè)案例,可以通過(guò)CoAP客戶端的鎖步模式完成相應(yīng)的塊級(jí)傳輸流程。其中,客戶端client通過(guò)函數(shù)sendRequest完成請(qǐng)求消息的發(fā)送、通過(guò)函數(shù)expectResponse確認(rèn)應(yīng)答消息的接收。以案例3為例,為了完成圖3中的塊級(jí)傳輸流程,先通過(guò)函數(shù)generateRandomPayload為CoAP兩端生成指定長(zhǎng)度的隨機(jī)載荷;另外,CoAP客戶端需要指定token作為區(qū)分并發(fā)請(qǐng)求消息的標(biāo)識(shí)符,以及path作為POST請(qǐng)求創(chuàng)建資源的路徑。

    案例3中的6次請(qǐng)求/應(yīng)答對(duì),每一次請(qǐng)求/應(yīng)答對(duì)在CoAP客戶端鎖步模式下、通過(guò)執(zhí)行一對(duì)sendRequest和expectResponse函數(shù)來(lái)完成測(cè)試。

    2.4 測(cè)試結(jié)果

    將通用模塊和案例3獨(dú)立模塊的組合作為JUnit單元測(cè)試,圖5中的運(yùn)行結(jié)果正確驗(yàn)證了案例3在教學(xué)設(shè)計(jì)上的塊級(jí)傳輸流程。

    圖5 案例3的JUnit單元測(cè)試結(jié)果

    3 結(jié) 語(yǔ)

    該設(shè)計(jì)方法可以被用到M2M課程其他知識(shí)點(diǎn),或者其他課程的教學(xué)和實(shí)驗(yàn)設(shè)計(jì)當(dāng)中去,特別是目前一些涉及新技術(shù)的物聯(lián)網(wǎng)專業(yè)課程,在實(shí)際的教學(xué)過(guò)程中讓學(xué)生掌握先進(jìn)技術(shù)的原理和開發(fā)方法,以提高他們的專業(yè)素質(zhì)和能力。

    [1] Shelby K S, Hartke C B.The Constrained Application Protocol (CoAP), IETF RFC 7252, June 2014[EB/OL]. [2017-06-16].https://tools.ietf.org/pdf/rfc7252.pdf.

    [2] Lev? T, Mazhelis O, Suomi H. Comparing the cost-efficiency of CoAP and HTTP in Web of Things applications[J]. Decision Support Systems, 2014, 63(3): 23-38.

    [3] 王盛邦, 田海博. RFC在網(wǎng)絡(luò)協(xié)議教學(xué)中的應(yīng)用[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版), 2013(23): 35-39.

    [4] 張曉明, 杜天蒼, 秦彩云. 計(jì)算機(jī)網(wǎng)絡(luò)編程課程的教學(xué)改革與實(shí)踐[J]. 實(shí)驗(yàn)技術(shù)與管理, 2010(2): 4-7.

    [5] 胡靜, 趙雷, 羅宜元, 等. 網(wǎng)絡(luò)工程專業(yè)的網(wǎng)絡(luò)編程課程教學(xué)與改革[J]. 計(jì)算機(jī)教育, 2014(18): 35-38.

    [6] 戚平, 石樂(lè)義. 原始套接字編程在網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J]. 實(shí)驗(yàn)室研究與探索, 2012(7): 325-327.

    [7] 吳杰, 梁妍. 基于實(shí)驗(yàn)案例分解和重構(gòu)的Android網(wǎng)絡(luò)編程教學(xué)改革探索[J]. 信息技術(shù)與信息化, 2016(5): 103-110.

    [8] Borman C. Shelby Z.Block-Wise Transfers in the Constrained Application Protocol (CoAP), IETF RFC 7959, August 2016[EB/OL].[2017-06-16]. https://tools.ietf.org/pdf/rfc7959.pdf.

    [9] Castellani A P, Rossi M, Zorzi M. Back pressure congestion control for CoAP/6LoWPAN networks[J]. Ad Hoc Networks, 2014,18(1):71-84.

    [10] Kovatsch M, Lanter M, Shelby Z. Californium: Scalable cloud services for the Internet of Things with CoAP[C]// Internet of Things. IEEE, 2014: 1-6.

    [11] 朱冬玲. JUnit在軟件測(cè)試課程教學(xué)中的應(yīng)用[J]. 福建電腦, 2013(10): 56-57.

    [12] 付愛英,周晶晶. 基于Lockstep的容錯(cuò)技術(shù)的研究[J]. 科技廣場(chǎng), 2012(7): 70-73.

    1672-5913(2017)11-0150-05

    G642

    江蘇科技大學(xué)2016高教研究立項(xiàng)課題(GJKTY201625);江蘇省教育科學(xué)“十二五”規(guī)劃2015年度立項(xiàng)課題(D/2015/01/78);江蘇科技大學(xué)2015年學(xué)校重點(diǎn)教改課題“計(jì)算機(jī)類專業(yè)通用課程優(yōu)質(zhì)教學(xué)資源建設(shè)的研究與實(shí)踐”。

    張笑非,男,講師,研究方向?yàn)橥ㄐ偶夹g(shù)研究與教學(xué)工作,julychang@just.edu.cn。

    (編輯:郭田珍)

    猜你喜歡
    服務(wù)端字段字節(jié)
    圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
    No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
    No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
    云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
    新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
    在Windows Server 2008上創(chuàng)建應(yīng)用
    簡(jiǎn)談MC7字節(jié)碼
    CNMARC304字段和314字段責(zé)任附注方式解析
    無(wú)正題名文獻(xiàn)著錄方法評(píng)述
    關(guān)于CNMARC的3--字段改革的必要性與可行性研究
    精品国产三级普通话版| 老鸭窝网址在线观看| 国产美女午夜福利| 精品久久久久久久久久免费视频| 波野结衣二区三区在线 | or卡值多少钱| 色视频www国产| 久久久久久久亚洲中文字幕 | 国产伦精品一区二区三区视频9 | 日韩欧美在线乱码| 久久久久久人人人人人| 国产成年人精品一区二区| 中国美女看黄片| 91麻豆av在线| 欧美乱色亚洲激情| 国产不卡一卡二| 天天添夜夜摸| 又爽又黄无遮挡网站| 欧美日本视频| 亚洲国产精品sss在线观看| a级毛片a级免费在线| 麻豆成人午夜福利视频| 亚洲av中文字字幕乱码综合| 国产精品影院久久| 亚洲av电影在线进入| 亚洲人与动物交配视频| 在线播放无遮挡| 日韩人妻高清精品专区| 舔av片在线| 亚洲人与动物交配视频| 成人永久免费在线观看视频| 国产一区二区在线观看日韩 | 国内精品久久久久精免费| 国产老妇女一区| 亚洲成人中文字幕在线播放| 叶爱在线成人免费视频播放| 特大巨黑吊av在线直播| 黄色成人免费大全| 岛国视频午夜一区免费看| 午夜福利在线观看吧| 亚洲国产精品久久男人天堂| 熟女电影av网| 天堂√8在线中文| 国产亚洲精品久久久com| 中文字幕人妻熟人妻熟丝袜美 | 精品熟女少妇八av免费久了| 亚洲午夜理论影院| 日韩欧美精品v在线| 深爱激情五月婷婷| 欧美中文日本在线观看视频| 精品福利观看| 男女床上黄色一级片免费看| 1024手机看黄色片| 午夜免费男女啪啪视频观看 | 欧美日韩亚洲国产一区二区在线观看| 国产精品亚洲美女久久久| 日本与韩国留学比较| 俄罗斯特黄特色一大片| 内地一区二区视频在线| 精品不卡国产一区二区三区| 热99在线观看视频| 毛片女人毛片| 少妇的逼水好多| 伊人久久大香线蕉亚洲五| 亚洲av日韩精品久久久久久密| 女警被强在线播放| 熟妇人妻久久中文字幕3abv| 国产免费av片在线观看野外av| 母亲3免费完整高清在线观看| 亚洲人成网站在线播| 亚洲av五月六月丁香网| 男女床上黄色一级片免费看| 国产日本99.免费观看| netflix在线观看网站| 午夜免费成人在线视频| 观看美女的网站| 蜜桃亚洲精品一区二区三区| 欧美激情久久久久久爽电影| 日本 av在线| 久久天躁狠狠躁夜夜2o2o| 久久久久精品国产欧美久久久| 欧美最新免费一区二区三区 | 久久久国产精品麻豆| 亚洲欧美激情综合另类| 国产乱人伦免费视频| 久久久成人免费电影| 99国产精品一区二区蜜桃av| 精品一区二区三区av网在线观看| 老熟妇仑乱视频hdxx| 麻豆国产97在线/欧美| 91av网一区二区| or卡值多少钱| 欧美成人免费av一区二区三区| www日本在线高清视频| 在线观看一区二区三区| 亚洲最大成人手机在线| 国产亚洲精品综合一区在线观看| 97人妻精品一区二区三区麻豆| 岛国在线免费视频观看| 人妻丰满熟妇av一区二区三区| 成人av一区二区三区在线看| 成人特级av手机在线观看| 日本撒尿小便嘘嘘汇集6| 一本综合久久免费| 男女做爰动态图高潮gif福利片| 18美女黄网站色大片免费观看| 欧美国产日韩亚洲一区| 91久久精品电影网| 一个人免费在线观看电影| 老司机福利观看| 国产乱人伦免费视频| 丰满人妻一区二区三区视频av | 又紧又爽又黄一区二区| 欧美黄色片欧美黄色片| 99热6这里只有精品| 国产伦在线观看视频一区| 丁香欧美五月| 色精品久久人妻99蜜桃| 中文字幕久久专区| av国产免费在线观看| 18美女黄网站色大片免费观看| 99热这里只有是精品50| 女人高潮潮喷娇喘18禁视频| 欧美xxxx黑人xx丫x性爽| 国产成人av激情在线播放| 精品人妻偷拍中文字幕| 超碰av人人做人人爽久久 | 人人妻,人人澡人人爽秒播| 性色av乱码一区二区三区2| 精品99又大又爽又粗少妇毛片 | 又黄又爽又免费观看的视频| 中文字幕人妻丝袜一区二区| 欧美3d第一页| 精品国产亚洲在线| 欧美一区二区亚洲| 亚洲不卡免费看| 亚洲电影在线观看av| 国产一区二区亚洲精品在线观看| 午夜福利成人在线免费观看| 亚洲精品在线美女| 亚洲狠狠婷婷综合久久图片| 日韩欧美在线二视频| 精品一区二区三区视频在线观看免费| 俄罗斯特黄特色一大片| 国产精品久久电影中文字幕| 好男人电影高清在线观看| 午夜亚洲福利在线播放| 99热这里只有是精品50| av国产免费在线观看| www.www免费av| av专区在线播放| 精品久久久久久,| 亚洲五月天丁香| 欧美一级a爱片免费观看看| 老熟妇仑乱视频hdxx| 性色av乱码一区二区三区2| 中文字幕人妻熟人妻熟丝袜美 | 亚洲av不卡在线观看| 变态另类成人亚洲欧美熟女| 国产一区二区激情短视频| 亚洲精品456在线播放app | 手机成人av网站| 国产精品,欧美在线| 国产成人av教育| 欧美精品啪啪一区二区三区| 九九久久精品国产亚洲av麻豆| 午夜精品在线福利| 十八禁人妻一区二区| 亚洲av成人精品一区久久| 99国产极品粉嫩在线观看| 久久6这里有精品| 亚洲av成人精品一区久久| 国产av在哪里看| 99久久无色码亚洲精品果冻| 一区二区三区国产精品乱码| 色综合亚洲欧美另类图片| av女优亚洲男人天堂| 国产午夜精品论理片| 久久婷婷人人爽人人干人人爱| 久久亚洲真实| 欧美高清成人免费视频www| avwww免费| 久久午夜亚洲精品久久| 欧美日韩瑟瑟在线播放| 国产一区二区亚洲精品在线观看| 国产精品久久电影中文字幕| 亚洲专区中文字幕在线| 久久久久九九精品影院| 亚洲国产精品合色在线| 丰满乱子伦码专区| 久久国产精品人妻蜜桃| www日本黄色视频网| 黄片大片在线免费观看| 国内精品一区二区在线观看| 久久久久久久午夜电影| 久久国产精品人妻蜜桃| 国产不卡一卡二| 亚洲国产色片| 亚洲最大成人中文| 国产亚洲欧美在线一区二区| av黄色大香蕉| 一级a爱片免费观看的视频| 一本久久中文字幕| 国产伦一二天堂av在线观看| 日本精品一区二区三区蜜桃| 国产精品久久电影中文字幕| 日本与韩国留学比较| 99riav亚洲国产免费| 亚洲国产欧美网| 国产蜜桃级精品一区二区三区| 国产精品美女特级片免费视频播放器| av福利片在线观看| 男女之事视频高清在线观看| 午夜免费男女啪啪视频观看 | 日日摸夜夜添夜夜添小说| 在线观看一区二区三区| 国产97色在线日韩免费| 熟女电影av网| 啪啪无遮挡十八禁网站| 欧美日本视频| 国产一区二区激情短视频| 内地一区二区视频在线| 少妇人妻一区二区三区视频| 午夜激情福利司机影院| 国产99白浆流出| 一夜夜www| 中文字幕久久专区| 18禁国产床啪视频网站| 亚洲男人的天堂狠狠| 国产精品综合久久久久久久免费| 日韩欧美精品免费久久 | 日韩成人在线观看一区二区三区| bbb黄色大片| 黄色日韩在线| 极品教师在线免费播放| 脱女人内裤的视频| 国产精品免费一区二区三区在线| 校园春色视频在线观看| 国产三级在线视频| 操出白浆在线播放| 国产午夜福利久久久久久| 狠狠狠狠99中文字幕| 99精品在免费线老司机午夜| 丰满的人妻完整版| 精品日产1卡2卡| 欧美一区二区精品小视频在线| 男女视频在线观看网站免费| 天天一区二区日本电影三级| 九九热线精品视视频播放| 丰满人妻熟妇乱又伦精品不卡| 亚洲真实伦在线观看| 给我免费播放毛片高清在线观看| 一个人看的www免费观看视频| 亚洲无线在线观看| 高潮久久久久久久久久久不卡| 美女免费视频网站| 国产麻豆成人av免费视频| 国产老妇女一区| 国产伦人伦偷精品视频| 欧美高清成人免费视频www| 久久久久久久久久黄片| 日本在线视频免费播放| 午夜福利欧美成人| 免费看日本二区| 国产高潮美女av| 男女视频在线观看网站免费| 又黄又爽又免费观看的视频| 国产伦人伦偷精品视频| 国产熟女xx| АⅤ资源中文在线天堂| 国产高清videossex| 97人妻精品一区二区三区麻豆| 日韩有码中文字幕| 身体一侧抽搐| 性色avwww在线观看| 亚洲va日本ⅴa欧美va伊人久久| 国产成人福利小说| 久久国产精品人妻蜜桃| 欧美午夜高清在线| 欧洲精品卡2卡3卡4卡5卡区| 3wmmmm亚洲av在线观看| 日本撒尿小便嘘嘘汇集6| 两个人的视频大全免费| 亚洲成av人片免费观看| 亚洲 欧美 日韩 在线 免费| 亚洲精品久久国产高清桃花| 波野结衣二区三区在线 | 日日摸夜夜添夜夜添小说| 香蕉丝袜av| 天堂网av新在线| 99久久精品热视频| 99热这里只有精品一区| 美女大奶头视频| 成人av在线播放网站| 国产探花极品一区二区| 亚洲av免费在线观看| 国产单亲对白刺激| 午夜福利高清视频| 啪啪无遮挡十八禁网站| 欧美+日韩+精品| 国产精品一区二区三区四区久久| xxx96com| 深夜精品福利| 精品久久久久久久久久免费视频| 亚洲av免费在线观看| 国内久久婷婷六月综合欲色啪| 搡老岳熟女国产| 国产视频内射| 国产精品综合久久久久久久免费| 在线观看日韩欧美| 亚洲中文字幕一区二区三区有码在线看| 男女视频在线观看网站免费| 国产黄片美女视频| 狠狠狠狠99中文字幕| 好看av亚洲va欧美ⅴa在| 综合色av麻豆| 波多野结衣巨乳人妻| 欧美黑人欧美精品刺激| 精品一区二区三区av网在线观看| 国产精品一区二区三区四区久久| 亚洲天堂国产精品一区在线| 热99在线观看视频| 色av中文字幕| 亚洲片人在线观看| 色av中文字幕| 亚洲美女视频黄频| 丰满人妻熟妇乱又伦精品不卡| 国产不卡一卡二| 老司机午夜福利在线观看视频| 国产av在哪里看| 热99re8久久精品国产| 1000部很黄的大片| 在线观看日韩欧美| 又粗又爽又猛毛片免费看| 精品一区二区三区视频在线 | 亚洲五月天丁香| 国产精品一区二区三区四区免费观看 | 国产伦精品一区二区三区四那| 丰满的人妻完整版| 国产aⅴ精品一区二区三区波| 午夜a级毛片| 午夜福利成人在线免费观看| 亚洲片人在线观看| 尤物成人国产欧美一区二区三区| 国产精品,欧美在线| 亚洲第一电影网av| 国产精品免费一区二区三区在线| 国产精品一区二区免费欧美| 亚洲18禁久久av| 久久久久久久亚洲中文字幕 | tocl精华| 1000部很黄的大片| 黄色片一级片一级黄色片| 国内少妇人妻偷人精品xxx网站| 国产淫片久久久久久久久 | 精品久久久久久,| 97超级碰碰碰精品色视频在线观看| 97碰自拍视频| 美女高潮的动态| 精品人妻1区二区| 少妇人妻精品综合一区二区 | 亚洲中文日韩欧美视频| 淫秽高清视频在线观看| 亚洲无线观看免费| 国产伦人伦偷精品视频| 手机成人av网站| 一个人观看的视频www高清免费观看| 99国产精品一区二区三区| 天美传媒精品一区二区| 伊人久久精品亚洲午夜| 两个人视频免费观看高清| 久久精品国产亚洲av涩爱 | 亚洲国产精品久久男人天堂| 午夜免费观看网址| 精品久久久久久久久久免费视频| 国产黄a三级三级三级人| 国产欧美日韩精品一区二区| 久久久精品欧美日韩精品| 亚洲成av人片在线播放无| 欧美性感艳星| 亚洲va日本ⅴa欧美va伊人久久| 日本a在线网址| 少妇熟女aⅴ在线视频| 日本a在线网址| 国产毛片a区久久久久| 日韩av在线大香蕉| 国产精品1区2区在线观看.| 久久天躁狠狠躁夜夜2o2o| 国产老妇女一区| 桃红色精品国产亚洲av| 亚洲成人久久性| 国产精品美女特级片免费视频播放器| 国产男靠女视频免费网站| 两人在一起打扑克的视频| 亚洲美女黄片视频| 精品久久久久久成人av| 一进一出好大好爽视频| 国产成人a区在线观看| 美女高潮喷水抽搐中文字幕| 免费人成在线观看视频色| 亚洲精品粉嫩美女一区| 欧美高清成人免费视频www| 18禁在线播放成人免费| 在线十欧美十亚洲十日本专区| 国产精品久久久久久人妻精品电影| 免费无遮挡裸体视频| netflix在线观看网站| 听说在线观看完整版免费高清| 国产熟女xx| а√天堂www在线а√下载| 老熟妇乱子伦视频在线观看| 日韩欧美精品免费久久 | 国产成人福利小说| 欧美乱码精品一区二区三区| 久久6这里有精品| 欧美最新免费一区二区三区 | 国产亚洲欧美98| 一级a爱片免费观看的视频| 精品99又大又爽又粗少妇毛片 | 欧美bdsm另类| 国产aⅴ精品一区二区三区波| 国产精品一区二区三区四区久久| 人人妻人人看人人澡| 极品教师在线免费播放| 亚洲色图av天堂| 十八禁人妻一区二区| av在线蜜桃| 黄色片一级片一级黄色片| 亚洲乱码一区二区免费版| 蜜桃亚洲精品一区二区三区| 国产精品久久久久久精品电影| 久久人妻av系列| 波多野结衣高清作品| 天堂av国产一区二区熟女人妻| 90打野战视频偷拍视频| 欧美激情久久久久久爽电影| 美女cb高潮喷水在线观看| 每晚都被弄得嗷嗷叫到高潮| 欧美色欧美亚洲另类二区| 欧美av亚洲av综合av国产av| 久久伊人香网站| 日韩人妻高清精品专区| 中出人妻视频一区二区| 免费电影在线观看免费观看| 可以在线观看毛片的网站| 色老头精品视频在线观看| 成人午夜高清在线视频| 黄色日韩在线| 99精品久久久久人妻精品| 午夜免费成人在线视频| 国产成人啪精品午夜网站| 日韩欧美三级三区| 亚洲中文日韩欧美视频| 69av精品久久久久久| 国产精品亚洲一级av第二区| 女警被强在线播放| 亚洲精品成人久久久久久| 黄色丝袜av网址大全| 亚洲国产欧洲综合997久久,| 在线观看舔阴道视频| 亚洲国产精品成人综合色| 国产视频一区二区在线看| 欧美日韩福利视频一区二区| 亚洲精品一区av在线观看| 人妻久久中文字幕网| 丰满人妻一区二区三区视频av | 深夜精品福利| 亚洲国产日韩欧美精品在线观看 | 亚洲一区二区三区色噜噜| 99热6这里只有精品| 午夜福利欧美成人| 国产精品永久免费网站| 国产一区二区亚洲精品在线观看| 国产精品乱码一区二三区的特点| 99riav亚洲国产免费| 国产乱人视频| 蜜桃亚洲精品一区二区三区| 久久久久久久久久黄片| 真实男女啪啪啪动态图| 丁香欧美五月| 淫妇啪啪啪对白视频| 中文字幕熟女人妻在线| 免费av不卡在线播放| 别揉我奶头~嗯~啊~动态视频| av中文乱码字幕在线| 校园春色视频在线观看| 天堂√8在线中文| 无限看片的www在线观看| 久久精品91无色码中文字幕| 在线观看av片永久免费下载| 亚洲第一欧美日韩一区二区三区| 欧美黄色片欧美黄色片| 亚洲一区二区三区不卡视频| 国产成人影院久久av| 男人舔奶头视频| 亚洲av不卡在线观看| av福利片在线观看| 18禁黄网站禁片午夜丰满| 3wmmmm亚洲av在线观看| 日韩大尺度精品在线看网址| 免费看美女性在线毛片视频| 国产老妇女一区| 非洲黑人性xxxx精品又粗又长| 国内揄拍国产精品人妻在线| 国产av麻豆久久久久久久| 亚洲av第一区精品v没综合| 国产乱人伦免费视频| 亚洲人成电影免费在线| 国产精品香港三级国产av潘金莲| 国产精品电影一区二区三区| 69av精品久久久久久| 亚洲成人久久性| 欧美一级毛片孕妇| 国产av不卡久久| 少妇熟女aⅴ在线视频| 欧美成狂野欧美在线观看| 亚洲成人精品中文字幕电影| 男女那种视频在线观看| 免费观看人在逋| 亚洲电影在线观看av| 欧美丝袜亚洲另类 | av中文乱码字幕在线| 黄色丝袜av网址大全| 90打野战视频偷拍视频| 在线a可以看的网站| 国产成人aa在线观看| 国内揄拍国产精品人妻在线| 麻豆一二三区av精品| 男女视频在线观看网站免费| 好男人电影高清在线观看| 亚洲不卡免费看| 久久久国产精品麻豆| 波野结衣二区三区在线 | 我的老师免费观看完整版| 狂野欧美激情性xxxx| 99热只有精品国产| 久久精品国产亚洲av涩爱 | 麻豆一二三区av精品| 一个人观看的视频www高清免费观看| 久久久久久九九精品二区国产| 特大巨黑吊av在线直播| 麻豆国产97在线/欧美| 老熟妇乱子伦视频在线观看| 国产成人av教育| 丰满的人妻完整版| 国产熟女xx| 久久性视频一级片| 少妇人妻一区二区三区视频| 中文字幕久久专区| 免费搜索国产男女视频| 男人舔奶头视频| 精品人妻一区二区三区麻豆 | 免费一级毛片在线播放高清视频| 色播亚洲综合网| 伊人久久大香线蕉亚洲五| 国产av一区在线观看免费| 成人特级av手机在线观看| 又紧又爽又黄一区二区| 最新在线观看一区二区三区| 在线免费观看的www视频| 久久精品亚洲精品国产色婷小说| 欧美成狂野欧美在线观看| 国产真人三级小视频在线观看| 久久九九热精品免费| 日韩欧美 国产精品| 久久精品国产99精品国产亚洲性色| 91字幕亚洲| 在线播放国产精品三级| 叶爱在线成人免费视频播放| 欧美日韩黄片免| 老司机福利观看| 久久久久久久午夜电影| 99视频精品全部免费 在线| 国产单亲对白刺激| 有码 亚洲区| 波野结衣二区三区在线 | 精品人妻偷拍中文字幕| 久久久久精品国产欧美久久久| 俄罗斯特黄特色一大片| 老汉色∧v一级毛片| 国产成人啪精品午夜网站| 国产精品自产拍在线观看55亚洲| 亚洲精品在线美女| 亚洲人成网站在线播| or卡值多少钱| 日本黄大片高清| 蜜桃久久精品国产亚洲av| 最近视频中文字幕2019在线8| 日韩中文字幕欧美一区二区| 91麻豆av在线| 淫秽高清视频在线观看| 动漫黄色视频在线观看| 亚洲人成网站在线播| 国产精品自产拍在线观看55亚洲| 欧美日韩黄片免| 欧洲精品卡2卡3卡4卡5卡区| 欧美性感艳星| 12—13女人毛片做爰片一| 国产av一区在线观看免费| 制服丝袜大香蕉在线| 一进一出抽搐gif免费好疼| 色尼玛亚洲综合影院| 免费观看人在逋| 日韩人妻高清精品专区| 真实男女啪啪啪动态图| 欧美在线一区亚洲| 国产男靠女视频免费网站| 啦啦啦观看免费观看视频高清| 欧美成人a在线观看| 亚洲成人精品中文字幕电影| 日日摸夜夜添夜夜添小说| 桃红色精品国产亚洲av| 男女下面进入的视频免费午夜| 久久久久免费精品人妻一区二区| 欧美色视频一区免费|