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

    基于生成樹的學(xué)生互校驗簽到算法實現(xiàn)

    2020-03-02 11:36:35吳偉銓王芳
    軟件 2020年1期
    關(guān)鍵詞:考勤算法

    吳偉銓 王芳

    摘 ?要: 文中講述了基于生成樹的學(xué)生互校驗簽到算法的實現(xiàn)方案,主要思路是通過搭建WebSocket實時交互環(huán)境,獲取算法的信息輸入與結(jié)果反饋;文中對互校驗算法進(jìn)行了分析并實現(xiàn);最后對算法進(jìn)行測試,結(jié)果表明,該方案能夠快速實現(xiàn)算法的校驗。

    關(guān)鍵詞: 簽到;生成樹;選座;相互校驗;考勤;算法

    中圖分類號: TP311 ? ?文獻(xiàn)標(biāo)識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.01.002

    本文著錄格式:吳偉銓,王芳. 基于生成樹的學(xué)生互校驗簽到算法實現(xiàn)[J]. 軟件,2020,41(01):0712

    【Abstract】: This paper describes the implementation scheme of student mutual verification check-in algorithm based on the Spanning Tree. The main idea is to build the WebSocket real-time interactive environment to obtain the information input and the result feedback of the algorithm. The cross-checking algorithm is analyzed and implemented in the paper. Finally, the algorithm is tested and the results show that the scheme can quickly verify the algorithm.

    【Key words】: Class sign-in; Spanning Tree; Seat selection; Mutual validation; Attendance; Arithmetic

    0 ?引言

    目前,高校在針對學(xué)生課堂考勤簽到方面存在著許多問題。傳統(tǒng)的點名考勤費時費力,占用了大量珍貴的課堂教學(xué)時間,考勤效率不高,同時存在許多學(xué)生找同學(xué)幫忙答到渾水摸魚,考勤的準(zhǔn)確性不高。隨著移動互聯(lián)網(wǎng)技術(shù)的發(fā)展,近些年涌現(xiàn)大批手機(jī)簽到系統(tǒng),如使用無線局域網(wǎng)和手機(jī)IMEI的簽到系統(tǒng)[1]、使用藍(lán)牙技術(shù)和二維碼技術(shù)的點名軟件[2],基于WIFI的室內(nèi)定位簽到[3],基于GPS定位的簽到[4-5]等,但都存在其局限性,如無法精確判斷學(xué)生是否到達(dá)課室,在學(xué)校推廣與普及難度較大。

    本文講述了一種基于生成樹的學(xué)生互校驗簽到算法[6]的實現(xiàn)方案。該方案基于WebSocket技術(shù)搭建實時交互環(huán)境,通過WebSocket獲取學(xué)生提交的選座信息經(jīng)處理轉(zhuǎn)化為生成樹,根據(jù)生成樹生成校驗信息指令,學(xué)生通過指令完成二次校驗,實現(xiàn)學(xué)生間相互校驗。該方案既縮短了位置校驗的時間,提高課堂考勤的效率同時學(xué)生互校驗很大程度上保證了校驗的準(zhǔn)確度。最后,文章針對算法進(jìn)行分別進(jìn)行了10人次,50人次與100人次的測試,驗證了算法的高效性。

    1 ?基于生成樹的互校驗簽到算法設(shè)計

    1.1 ?基于生成樹的互校驗簽到算法[6]

    第1步:根據(jù)選座座位表生成無向圖G

    第2步:調(diào)用DFS(或BFS)算法遍歷無向圖G,生成森林

    第3步:對生成森林中的每棵生成樹,根據(jù)樹的生成路徑,調(diào)用generateOrders算法(見算法2)生成要發(fā)送給每個節(jié)點的指令

    第4步:向每個節(jié)點表示的學(xué)生發(fā)送對應(yīng)的指令

    第5步:獲取學(xué)生根據(jù)指令提交的位置信息

    第6步:將位置信息與選座座位表進(jìn)行對比,生成簽到座位表

    1.2 ?基于生成樹的互校驗簽到算法分析

    學(xué)生互校驗簽到算法可劃分為以下幾個要點:(1)如何獲取學(xué)生座位信息;(2)如何生成樹,生成森林;(3)如何生成指令;(4)如何發(fā)送指令;(5)如何接收指令;(6)二次校驗:如何提交校驗信息、如何接受校驗信息、如何進(jìn)行校驗;(7)返回結(jié)果其中,獲取學(xué)習(xí)選座信息,發(fā)送指令,接收指令,提交校驗信息與返回結(jié)果,本質(zhì)上是一個與客戶端交互的過程。而在如今課堂上,簽到考勤依舊會消耗過多的課堂時間,因此在實現(xiàn)簽到算法的過程中需優(yōu)先考慮校驗時間。而搭建一個能夠?qū)崟r進(jìn)行交互的環(huán)境,能夠很大程度減少簽到校驗的時間,故本文的算法實現(xiàn)是基于實時交互校驗的環(huán)境下進(jìn)行。

    實現(xiàn)校驗算法的關(guān)鍵主要在于以下三個部分:(1)如何搭建實時同步的校驗環(huán)境;(2)如何將座位信息轉(zhuǎn)化后生成生成樹、生成指令;(3)如何進(jìn)行二次校驗

    2 ?基于生成樹的互校驗簽到算法實現(xiàn)

    2.1 ?基于WebSocket技術(shù)搭建實時交互的校驗環(huán)境

    互校驗簽到算法的實現(xiàn)對通信環(huán)境的要求:(1)提供一個能夠讓客戶端持續(xù)向服務(wù)器發(fā)送請求,服務(wù)器及時響應(yīng)并作出相應(yīng)的動作;(2)服務(wù)器主動向客戶端推送信息傳統(tǒng)的HTTP協(xié)議是一個請求-響應(yīng)協(xié)議,通信只能有客戶端發(fā)起,做不到服務(wù)器主動向客戶端推送消息。目前許多網(wǎng)站實現(xiàn)推送技術(shù),所用的技術(shù)都是Ajax輪詢。輪詢是在特定的時間間隔,通過瀏覽器對服務(wù)器發(fā)送HTTP請求,由服務(wù)器返回最新的數(shù)據(jù)給客戶端的瀏覽器。由于瀏覽器需要不斷的向服務(wù)器發(fā)出請求,而HTTP請求可能包含較長的頭部,真正有效的數(shù)據(jù)往往可能只是很小的一部分,這樣會浪費很多的帶寬等資源,效率低[7]。

    HTML5定義的WebSocket協(xié)議則是一種在單個TCP連接上進(jìn)行全雙工的通信協(xié)議[8],使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)器主動向客戶端推送數(shù)據(jù)。在WebSocket API中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并進(jìn)行雙向數(shù)據(jù)傳輸,相比基于HTTP的輪詢技術(shù),大大提高了效率和資源的利用率。

    因此本文基于WebSocket協(xié)議搭建簽到校驗環(huán)境,后端使用Tomcat 搭建WebSocket服務(wù)器。

    2.2 ?獲取學(xué)生選座信息生成無向圖

    由于大學(xué)課室座位一般為行列對齊,形成m*n型。因此獲取學(xué)生的選座信息生成無向圖能夠轉(zhuǎn)化為以矩陣的形式表現(xiàn)的學(xué)生選座狀態(tài)矩陣和學(xué)生信息矩陣(與選座狀態(tài)矩陣對應(yīng))。

    矩陣一般可使用二維數(shù)組進(jìn)行存儲。

    學(xué)生選座狀態(tài)矩陣用于表示學(xué)生當(dāng)前的選座狀態(tài),即已選座與未選座,因此可使用二維整型數(shù)組表示:0-未選座,1-已選座。數(shù)組可見圖1。

    學(xué)生信息矩陣用于存儲選座狀態(tài)矩陣每個節(jié)點所對應(yīng)的學(xué)生信息,矩陣中每個節(jié)點代表一個學(xué)生。由于二維數(shù)組每個節(jié)點無法存儲過多的信息,且此處的學(xué)生信息只為了標(biāo)識學(xué)生是否選座,因此可使用字符串?dāng)?shù)組中保存學(xué)生學(xué)號,數(shù)組可見圖2。

    2.3 ?調(diào)用DFS算法遍歷無向圖,生成森林S

    由于無向圖在上一步驟中簡化為學(xué)生選座狀態(tài)數(shù)組(簡稱為選座表)與學(xué)生學(xué)號數(shù)組(簡稱為學(xué)號表)。因此本步驟算法可分為兩部分,第一部分為generateForest算法,遍歷選座表,判斷節(jié)點是否已經(jīng)加入森林,若未加入則以該節(jié)點為根節(jié)點調(diào)用DFS算法進(jìn)行遍歷,最終生成森林;第二部分為DFS算法,遍歷選座表與學(xué)號表,生成對應(yīng)關(guān)系的生成樹。

    由于后續(xù)需要根據(jù)生成樹,調(diào)用generateOrders算法生成對應(yīng)節(jié)點的指令并發(fā)送。因此,DFS算法遍歷后的生成樹的節(jié)點需要周圍節(jié)點(前位、左位、后位、右位)相關(guān)聯(lián)。

    定義一個節(jié)點類(Node)。

    由于在后續(xù)算法的實現(xiàn)中多使用迭代器遍歷,鏈表結(jié)構(gòu)的集合使用迭代器遍歷,速度會更快,因此本文使用LinkedList類存放生成樹與森林。

    2.3.1 ?generateForest算法的設(shè)計

    第一步,獲取選座表與學(xué)號表作為信息輸入,實例化森林LinkedList> arrList,用于存放DFS算法生成的生成樹。

    第二步,座位表中任一節(jié)點都有存在成為生成樹根節(jié)點的可能性,因此本文采用for循環(huán)的雙重嵌套遍歷選座表(二維數(shù)組)。在循環(huán)體中,實例化生成樹LinkedList nodeArr,判斷當(dāng)前位置是否被選中(選座狀態(tài):0-未選座,1-已選座)和是否已加入森林(編寫函數(shù),將生成的森林(arrList)與當(dāng)前的生成樹(nodeArr)和當(dāng)前位置作為參數(shù)傳入,判斷當(dāng)前位置是否與arrList和nodeArr中節(jié)點Node中屬性(row,column)相同,若存在相同,表示當(dāng)前位置已加入,反之則未加入),若當(dāng)前位置滿足被選中且未加入森林,調(diào)用DFS算法遍歷,生成以當(dāng)前節(jié)點有根的生成樹。

    第三步,若生成樹不為空,將生成的生成樹加入森林(nodeArr)。

    2.3.2 ?DFS算法的設(shè)計

    深度優(yōu)先搜索(DFS):在搜索過程中訪問某個頂點后,需要遞歸地訪問此頂點的所有未訪問過的相鄰頂點。

    第一步,獲取數(shù)據(jù)輸入:

    (1)根節(jié)點位置

    (2)選座表(二維整型數(shù)組)和學(xué)號表(二維字符串?dāng)?shù)組)

    (3)當(dāng)前節(jié)點的父親節(jié)點(根節(jié)點無父親節(jié)點,這項置空)

    (4)節(jié)點所在生成樹(nodeArr)和森林(arrList)

    第二步,實例化當(dāng)前節(jié)點(Node)與創(chuàng)建孩子鏈表LinkedList child存放當(dāng)前節(jié)點的孩子節(jié)點,并將當(dāng)前節(jié)點(Node)添加至生成樹(nodeArr)

    第三步,為當(dāng)前節(jié)點(Node)賦值:

    (1)根據(jù)傳入的根節(jié)點位置設(shè)置屬性row和column

    (2)根據(jù)學(xué)號表與row和column值設(shè)置屬性digits

    (3)判斷獲取的父親節(jié)點是否為空,不為空則將該節(jié)點賦給屬性parent

    第四步,搜索孩子節(jié)點:

    (1)判斷節(jié)點前位的位置是否被選中且還未加入樹中,若滿足條件,再次調(diào)用DFS進(jìn)行遞歸,并將遞歸返回結(jié)果添加到孩子鏈表(child)中

    (2)判斷節(jié)點左位的位置是否被選中且還未加入樹中,若滿足條件,再次調(diào)用DFS進(jìn)行遞歸,并將遞歸返回結(jié)果添加到孩子鏈表(child)中

    (3)判斷節(jié)點后位的位置是否被選中且還未加入樹中,若滿足條件,再次調(diào)用DFS進(jìn)行遞歸,并將遞歸返回結(jié)果添加到孩子鏈表(child)中

    (4)判斷節(jié)點右位的位置是否被選中且還未加入樹中,若滿足條件,再次調(diào)用DFS進(jìn)行遞歸,并將遞歸返回結(jié)果添加到孩子鏈表(child)中

    第五步,判斷孩子鏈表是否為空,若不為空,將該鏈表設(shè)置為節(jié)點屬性child的值

    第六步,返回當(dāng)前節(jié)點

    2.4 ?對生成森林中的每棵生成樹,根據(jù)樹的生成路徑,調(diào)用generateOrders算法生成要發(fā)送給每個節(jié)點的指令

    指令的生成依據(jù):指令的生成根據(jù)生成樹中節(jié)點之間的父子關(guān)系(見表2)和節(jié)點本身的位置關(guān)系(見表3)。

    生成指令的規(guī)則:指令規(guī)則需滿足所有節(jié)點都通過能提交信息或被提交信息(即他人提交自己的信息)供服務(wù)器進(jìn)行驗證。本文采用父親掃孩子,孤點掃教師,一次提交雙方驗證的規(guī)則進(jìn)行校驗。

    (1)父親掃孩子:即父親節(jié)點可通過提交孩子的信息完成選座的二次校驗。

    (2)孤點掃教師:孤點指周圍(前位、左位、后位、右位)無節(jié)點,單獨成為一棵生成樹的節(jié)點,此類節(jié)點無法通過父子節(jié)點的關(guān)系進(jìn)行校驗,因此本文采用孤點掃教師的規(guī)則,即孤點通過提交教師給與的信息完成驗證。

    (3)一次提交雙方驗證:即一次提交信息的過程,提交信息的一方與被提交信息的一方皆可以完成校驗。

    因此,指令可分為三種,一是發(fā)送給孤點(該座位為孤點,請找教師進(jìn)行校驗);二是當(dāng)前節(jié)點存在父親節(jié)點(請將你的信息提供給某某方同學(xué));三是當(dāng)前節(jié)點存在孩子節(jié)點(請?zhí)峤荒衬撤酵瑢W(xué)信息)。由于考慮到每個座位的學(xué)生只發(fā)一種指令,大概率會造成部分同學(xué)無法完成校驗,因此對于同時存在父子節(jié)點或存在多個孩子節(jié)點的節(jié)點,采用糅合第二三種指令的方式生成指令。

    generateOrders算法:生成指令算法的關(guān)鍵在于怎樣保存對應(yīng)節(jié)點的指令與如何判斷節(jié)點的性質(zhì)。對于節(jié)點指令的保存問題,本文采用哈希表HashMap orderMap保存指令與節(jié)點與指令的聯(lián)系,后續(xù)只需通過位置或?qū)W號便可取到對應(yīng)的指令;對于如何判斷節(jié)點的性質(zhì)問題,本文采用迭代器遍歷森林中生成樹與遍歷生成樹中的節(jié)點,逐一比較。

    步驟如下:

    (1)判斷節(jié)點是否為孤點。孤點的判斷只需判斷節(jié)點所在的生成樹中節(jié)點的數(shù)量,當(dāng)節(jié)點數(shù)量為1,即表示該節(jié)點為孤點。將孤點指令與節(jié)點Node放進(jìn)orderMap中。

    (2)判斷節(jié)點是否存在父節(jié)點。判斷是否存在父節(jié)點需判斷當(dāng)前節(jié)點的屬性parent是否為NULL,若不為空,即表示節(jié)點存在父節(jié)點。若父節(jié)點存在,需判斷父節(jié)點與當(dāng)前節(jié)點的位置(即屬性row與column),得出節(jié)點與父節(jié)點的位置關(guān)系(例如,前方),生成指令(例如,請將你的信息提供給前方同學(xué))。將指令與節(jié)點Node放進(jìn)orderMap中。

    (3)判斷節(jié)點是否存在子節(jié)點。判斷是否存在子節(jié)點需判斷當(dāng)前節(jié)點的屬性child是否為NULL,若不為空,即表示存在孩子節(jié)點。孩子節(jié)點存在,需進(jìn)一步判斷孩子節(jié)點的數(shù)量與孩子節(jié)點與當(dāng)前節(jié)點的位置關(guān)系,由于本文使用LinkedList結(jié)構(gòu)去存放孩子節(jié)點,因此此處只需通過迭代器遍歷child,在迭代中判斷每個孩子節(jié)點與當(dāng)前節(jié)點的位置,返回對應(yīng)位置信息(例如左后方),生成指令(例如,請?zhí)峤蛔蠛蠓酵瑢W(xué)信息)。將指令與節(jié)點Node放進(jìn)orderMap中。

    (4)判斷節(jié)點是否同時存在父子節(jié)點。當(dāng)一節(jié)點同時滿足上述(2)(3),則表示節(jié)點同時存在父子節(jié)點,因此節(jié)點指令只需糅合(2)(3)步驟獲得的指令(例如,請將你的信息提供給前方同學(xué)或提交左后方同學(xué)信息)。將指令與節(jié)點Node放進(jìn)orderMap中。

    2.5 ?向節(jié)點發(fā)送指令與獲取學(xué)生提交的信息

    由于搭建了WebSocket實時交互的通信環(huán)境,此步驟技術(shù)難度大大降低,向節(jié)點發(fā)送指令與獲取提交信息皆可在WebSocket服務(wù)器中完成。作者在搭建WebSocket服務(wù)器,考慮到算法需要實現(xiàn)服務(wù)器對單一客戶端進(jìn)行通信,在服務(wù)器中使用session來區(qū)別不同的客戶端,以學(xué)號作為標(biāo)識將每個客戶端對應(yīng)的WebSocket實例存放到ConcurrentHashMap< String, WebSocket> clients中。服務(wù)器通過OnMessage方法獲得用戶的選座信息與提交的驗證信息;通過學(xué)號遍歷clients,獲取對應(yīng)的session,再通過session的getBasicRemote().sendText方法向客戶端發(fā)送指令與驗證結(jié)果。

    2.6 ?將位置信息與選座座位表進(jìn)行驗證,生成簽到座位表

    首先,需解析學(xué)生提交的座位信息。提交信息的方式與信息內(nèi)容可自行擴(kuò)展(例如,在登錄的時候為每個學(xué)生生成一個uuid,將uuid生成為二維碼,每個學(xué)生有對應(yīng)的一個二維碼作為標(biāo)識,提交信息的方式可以同時掃二維碼提交對應(yīng)的uuid完成驗證)本文為了簡化將需要提交的信息code設(shè)置為學(xué)生學(xué)號。

    驗證過程如下:

    第一步,獲取學(xué)生學(xué)號與提交的信息code

    第二步,判斷是否已經(jīng)結(jié)束選座

    第三步,進(jìn)入校驗流程:

    (1)獲取選座時生成的座位森林arrList,遍歷arrList中每棵生成樹的節(jié)點(本文采用嵌套雙重迭代器進(jìn)行查詢),找到與學(xué)生學(xué)號對應(yīng)的節(jié)點。

    (2)判斷節(jié)點是否存在孩子節(jié)點。若存在孩子節(jié)點,比較孩子節(jié)點的學(xué)號(屬性digits)是否與獲取的提交信息code匹配。若匹配通過WebSocket發(fā)送雙方校驗通過的信息到教師客戶端。若孩子節(jié)點皆無匹配項與不存在孩子,進(jìn)入下一輪判定。

    (3)判斷節(jié)點是否存在父節(jié)點。若存在父節(jié)點,比較父節(jié)點的學(xué)號(屬性digits)是否與獲取的提交信息code匹配。若匹配通過WebSocket發(fā)送雙方校驗通過的信息到教師客戶端。若父節(jié)點皆無匹配項與不存在父節(jié)點,進(jìn)入下一輪判定。

    (4)父子節(jié)點都判定失敗,跳出一重遍歷,判斷節(jié)點所在生成 樹的節(jié)點數(shù)量是否為1。若為1,比較教師工號與獲取的提交信息code。若匹配,通過WebSocket發(fā)送該學(xué)生校驗通過的信息到教師客戶端;若不匹配,發(fā)送該學(xué)生校驗失敗的信息到教師客戶端。為節(jié)點數(shù)量不為1,則發(fā)送雙方校驗失敗的信息到教師客戶端。

    第四步,校驗結(jié)束。

    當(dāng)學(xué)生完成校驗后,前端可通過分析選座表,學(xué)號表反饋信息生成簽到座位表,本文只分析算法實現(xiàn),不考慮前端具體實現(xiàn),故此處不詳細(xì)分析。

    3 ?基于生成樹的互校驗簽到算法測試

    為了保證算法在實際運用中的可行性與穩(wěn)定性,作者搭建了一個簡單的SSM項目進(jìn)行模擬測試。

    3.1 ?開發(fā)環(huán)境

    硬件參數(shù)——CPU:Intel(R) Core(TM) i5-7200U CPU @ 2.5 GHz 2.70 GHz;內(nèi)存:8.00 GB;存儲:SSD 128 G;網(wǎng)絡(luò):40 M

    開發(fā)平臺——Windows 10系統(tǒng)PC機(jī);Eclipse +JDK1.8;Tomcat7服務(wù)器

    3.2 ?算法測試

    (1)測試流程:學(xué)生提交座位信息進(jìn)行選座,當(dāng)所有學(xué)生完成選座,教師結(jié)束選座。系統(tǒng)根據(jù)選座信息調(diào)用算法生成森林和指令,通過WebSocket向?qū)?yīng)的學(xué)生發(fā)送指令。

    (2)學(xué)生根據(jù)指令在code框中輸入對應(yīng)同學(xué)學(xué)號。系統(tǒng)接受信息調(diào)用算法進(jìn)行校驗,最終向教師發(fā)送結(jié)果,完成校驗。圖4為測試流程圖。

    (3)測試用例:

    1)教師用例:2017012

    2)學(xué)生用例:2017001、2017002、2017003、2017004、2017005、2017006、2017007、2017008、2017009、2017010(座位表見表2)

    3)校驗信息用例:2017001提交2017005(父掃子通過);2017006提交2017005(子掃父通過);2017002提交2017001(無關(guān)座位失?。?2017009提交2017012(非孤點掃教師通過);2017010提交2017012(孤點掃教師通過);2017010提交2017003(孤點掃無關(guān)座位失?。?/p>

    (3)算法執(zhí)行時間:

    1)教師結(jié)束選座后,系統(tǒng)生成森林,生成指令,發(fā)送指令到客戶端的執(zhí)行時間:當(dāng)參與簽到的學(xué)生為10人時,執(zhí)行時間為5 ms;當(dāng)參與簽到的學(xué)生為50人時,執(zhí)行時間為31 ms;當(dāng)參與簽到的學(xué)生為100人時,執(zhí)行時間為60 ms;2)單位學(xué)生提交校驗信息,系統(tǒng)完成校驗并返回結(jié)果的時間為3 ms。因此粗略估計,當(dāng)參與簽到的學(xué)生為10人時,校驗信息步驟的執(zhí)行時間為30 ms;當(dāng)參與簽到的學(xué)生為50人時,校驗信息步驟的執(zhí)行時間為150 ms;當(dāng)參與簽到的學(xué)生為100人時,校驗信息步驟的執(zhí)行時間為300 ms;綜上所述,當(dāng)一個班級有10位學(xué)生,互校驗算法的執(zhí)行時間為35 ms,平均每人3.50 ms;當(dāng)一個班級有50位學(xué)生,互校驗算法的執(zhí)行時間為181 ms,平均每人3.68 ms;當(dāng)一個班級有100位學(xué)生,互校驗算法的執(zhí)行時間為360 ms,平均每人3.60 ms。

    4 ?結(jié)語

    本文實現(xiàn)了基于生成樹的學(xué)生互校驗簽到的算法,該算法解決方案的實現(xiàn)基于Java搭建WebSocket實時交互環(huán)境,在WebSocket交互環(huán)境的基礎(chǔ)上進(jìn)行算法的實現(xiàn),大大簡化了獲取選座信息,提交校驗信息等信息傳遞環(huán)節(jié)的實現(xiàn)難度?;谏蓸涞膶W(xué)生互校驗簽到算法執(zhí)行速度快,具有很強(qiáng)的實用性和推廣價值。

    參考文獻(xiàn)

    [1] 劉冬梅, 任亞平, 周杰等. 基于Android的手機(jī)簽到系統(tǒng)[J]. 科技資訊, 2017, 14: 17-18.

    [2] 陳三清, 殷鵬. 基于Android手機(jī)的課堂點名軟件設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù), 2017, 7: 95-99.

    [3] 蔣航, 蔡秋楓. 基于室內(nèi)定位的學(xué)生簽到系統(tǒng)設(shè)計[J]. 電腦知識與技術(shù), 2017, 1: 54-55.

    [4] 張勁波, 周澤崇, 李雅杰等. 基于Android的上課簽到軟件分析與設(shè)計[J]. 電腦編程技巧與維護(hù), 2017, 2(3): 28.

    [5] 徐寧. 基于微信平臺的并行簽到考勤管理系統(tǒng)[J]. 電腦知識與技術(shù), 2016, 30: 77-79.

    [6] 王芳, 蔡沂. 基于生成樹的學(xué)生互校驗簽到應(yīng)用研究[J]. 軟件, 2018, 7: 6-11.

    [7] HTML5 WebSocket[EB/OL]. [2019-09-20]. https://www. runoob.com/html/html5-websocket.html.

    [8] WebSocket[EB/OL]. [2019-09-20]. https://baike.baidu.com/ item/WebSocket.

    猜你喜歡
    考勤算法
    基于MapReduce的改進(jìn)Eclat算法
    Travellng thg World Full—time for Rree
    基于人臉識別技術(shù)的考勤應(yīng)用研究
    電子制作(2019年12期)2019-07-16 08:45:28
    智能人臉識別考勤系統(tǒng)
    電子制作(2019年9期)2019-05-30 09:42:00
    現(xiàn)代企業(yè)考勤管理存在的風(fēng)險及對策
    淺談電子考勤的優(yōu)勢及簡介
    魅力中國(2019年15期)2019-01-13 02:21:54
    進(jìn)位加法的兩種算法
    算法初步兩點追蹤
    便攜式指紋考勤信息管理系統(tǒng)設(shè)計
    基于增強(qiáng)隨機(jī)搜索的OECI-ELM算法
    亚洲成人一二三区av| 大又大粗又爽又黄少妇毛片口| 黄色一级大片看看| 国产极品天堂在线| 欧美国产精品一级二级三级 | 久久精品国产亚洲av天美| 久久av网站| 久久久久久九九精品二区国产| 亚洲av成人精品一二三区| 噜噜噜噜噜久久久久久91| 女性被躁到高潮视频| 国产91av在线免费观看| 亚洲,欧美,日韩| 国产永久视频网站| 丰满乱子伦码专区| 久久人人爽人人片av| 男女无遮挡免费网站观看| 国产熟女欧美一区二区| 国产精品国产三级国产av玫瑰| 国产成人a∨麻豆精品| 国产精品伦人一区二区| 九草在线视频观看| 少妇人妻 视频| 久久久久久久精品精品| 久久久久久人妻| 亚洲在久久综合| 22中文网久久字幕| 高清av免费在线| 五月天丁香电影| av黄色大香蕉| av.在线天堂| 精品久久久久久电影网| 国产免费一区二区三区四区乱码| 中文字幕免费在线视频6| 亚洲久久久国产精品| 这个男人来自地球电影免费观看 | 丰满人妻一区二区三区视频av| 亚洲婷婷狠狠爱综合网| 久久久a久久爽久久v久久| 欧美最新免费一区二区三区| 日韩制服骚丝袜av| av国产久精品久网站免费入址| 国产91av在线免费观看| 日本免费在线观看一区| av免费在线看不卡| 在线免费十八禁| 欧美97在线视频| 国产免费福利视频在线观看| 爱豆传媒免费全集在线观看| 下体分泌物呈黄色| 国产精品国产av在线观看| 亚洲av欧美aⅴ国产| 亚洲国产欧美在线一区| 最近2019中文字幕mv第一页| 尾随美女入室| 久久久久精品久久久久真实原创| 日韩欧美精品免费久久| 国产亚洲av片在线观看秒播厂| .国产精品久久| 国内揄拍国产精品人妻在线| 丰满少妇做爰视频| 成人一区二区视频在线观看| 免费高清在线观看视频在线观看| 亚洲色图综合在线观看| 久久精品国产亚洲av天美| 免费av不卡在线播放| 亚洲美女视频黄频| 夜夜骑夜夜射夜夜干| videos熟女内射| 插逼视频在线观看| 黑人高潮一二区| 夜夜骑夜夜射夜夜干| 国产日韩欧美在线精品| 亚洲av中文av极速乱| 国产精品精品国产色婷婷| 麻豆乱淫一区二区| 亚洲性久久影院| 国产精品无大码| 在线观看美女被高潮喷水网站| 国产69精品久久久久777片| 人妻一区二区av| 国产午夜精品久久久久久一区二区三区| 一级二级三级毛片免费看| 天堂俺去俺来也www色官网| 尾随美女入室| 亚洲伊人久久精品综合| 国产成人aa在线观看| 18+在线观看网站| 这个男人来自地球电影免费观看 | 夫妻午夜视频| 国产视频内射| 网址你懂的国产日韩在线| 亚洲av成人精品一二三区| 18禁裸乳无遮挡免费网站照片| 乱码一卡2卡4卡精品| 在线天堂最新版资源| 爱豆传媒免费全集在线观看| 日韩 亚洲 欧美在线| 午夜视频国产福利| 免费观看a级毛片全部| 国产av国产精品国产| 免费播放大片免费观看视频在线观看| 一区二区三区免费毛片| 日韩视频在线欧美| 亚洲美女黄色视频免费看| 天美传媒精品一区二区| 男人狂女人下面高潮的视频| 内射极品少妇av片p| 精品久久久久久久久亚洲| 91精品国产国语对白视频| 亚洲图色成人| 22中文网久久字幕| 天堂8中文在线网| 极品教师在线视频| 国产黄片美女视频| 成人国产av品久久久| 欧美一区二区亚洲| 精品亚洲乱码少妇综合久久| 身体一侧抽搐| 一级毛片久久久久久久久女| 久久久久久人妻| 插逼视频在线观看| 中国国产av一级| 国产精品蜜桃在线观看| 欧美三级亚洲精品| 搡老乐熟女国产| 国产精品伦人一区二区| 欧美xxⅹ黑人| 免费大片18禁| 国产大屁股一区二区在线视频| 成年美女黄网站色视频大全免费 | 国产欧美另类精品又又久久亚洲欧美| 99热全是精品| 九九在线视频观看精品| 伦理电影免费视频| 丝瓜视频免费看黄片| 一级毛片黄色毛片免费观看视频| 男女国产视频网站| 伊人久久国产一区二区| 亚洲一区二区三区欧美精品| 欧美xxxx黑人xx丫x性爽| 亚洲人成网站高清观看| 日本与韩国留学比较| 久久97久久精品| 伊人久久国产一区二区| 国产极品天堂在线| 亚洲综合精品二区| 久久婷婷青草| 亚洲美女视频黄频| 免费在线观看成人毛片| 老司机影院毛片| 久久久国产一区二区| 秋霞在线观看毛片| 老司机影院毛片| 日韩av免费高清视频| 日韩一区二区三区影片| 成人免费观看视频高清| av一本久久久久| 91精品国产九色| 全区人妻精品视频| 偷拍熟女少妇极品色| 亚洲av在线观看美女高潮| 国产免费福利视频在线观看| 亚洲,一卡二卡三卡| 乱码一卡2卡4卡精品| 亚洲激情五月婷婷啪啪| 嫩草影院入口| 亚洲精华国产精华液的使用体验| 久久久久精品久久久久真实原创| 97精品久久久久久久久久精品| 精品少妇黑人巨大在线播放| av又黄又爽大尺度在线免费看| 51国产日韩欧美| 不卡视频在线观看欧美| 自拍欧美九色日韩亚洲蝌蚪91 | 中国美白少妇内射xxxbb| 成人国产麻豆网| 国产人妻一区二区三区在| 亚洲久久久国产精品| av免费在线看不卡| 极品教师在线视频| 国产乱人视频| 午夜福利视频精品| 日日摸夜夜添夜夜添av毛片| 亚洲国产精品专区欧美| 麻豆精品久久久久久蜜桃| 成人免费观看视频高清| 色哟哟·www| 欧美丝袜亚洲另类| 国产免费一级a男人的天堂| 午夜免费鲁丝| h视频一区二区三区| 美女主播在线视频| 少妇熟女欧美另类| 欧美日韩一区二区视频在线观看视频在线| 日韩成人av中文字幕在线观看| 老师上课跳d突然被开到最大视频| 久久热精品热| 欧美zozozo另类| 日本欧美视频一区| 久久精品久久久久久噜噜老黄| 五月天丁香电影| 国产在线视频一区二区| 一级a做视频免费观看| 一级av片app| 夜夜看夜夜爽夜夜摸| 国产精品女同一区二区软件| 大又大粗又爽又黄少妇毛片口| av免费观看日本| 毛片女人毛片| 成人免费观看视频高清| 欧美少妇被猛烈插入视频| 欧美成人午夜免费资源| 在线观看免费日韩欧美大片 | 亚洲,一卡二卡三卡| 免费人成在线观看视频色| 日本色播在线视频| 简卡轻食公司| 看十八女毛片水多多多| 成人特级av手机在线观看| 亚洲不卡免费看| 天天躁夜夜躁狠狠久久av| 亚洲成人手机| 欧美人与善性xxx| 国产男人的电影天堂91| 国产精品国产三级国产专区5o| 欧美高清成人免费视频www| 亚洲精品自拍成人| 18禁裸乳无遮挡动漫免费视频| 毛片一级片免费看久久久久| 建设人人有责人人尽责人人享有的 | 汤姆久久久久久久影院中文字幕| 在线 av 中文字幕| 黄色日韩在线| 91久久精品国产一区二区三区| 国产日韩欧美亚洲二区| 五月伊人婷婷丁香| 国产美女午夜福利| 男女免费视频国产| 嫩草影院入口| 国产成人精品福利久久| 亚洲av电影在线观看一区二区三区| 涩涩av久久男人的天堂| 亚洲欧洲国产日韩| 男人狂女人下面高潮的视频| 亚洲真实伦在线观看| 最近手机中文字幕大全| 最近中文字幕2019免费版| 高清日韩中文字幕在线| 下体分泌物呈黄色| kizo精华| 日韩精品有码人妻一区| 能在线免费看毛片的网站| 中文在线观看免费www的网站| 精品人妻偷拍中文字幕| 久久影院123| 久久精品久久久久久久性| 自拍欧美九色日韩亚洲蝌蚪91 | 熟妇人妻不卡中文字幕| 黄色日韩在线| 国产男人的电影天堂91| 99久久精品国产国产毛片| 国产欧美日韩精品一区二区| 免费人妻精品一区二区三区视频| 午夜福利视频精品| 精品久久久噜噜| .国产精品久久| 一本色道久久久久久精品综合| 中文字幕精品免费在线观看视频 | 国产成人freesex在线| 在线观看免费日韩欧美大片 | 欧美日韩综合久久久久久| 精品久久久久久电影网| 好男人视频免费观看在线| 日日啪夜夜爽| 九九在线视频观看精品| 亚洲综合色惰| 嫩草影院入口| 男人添女人高潮全过程视频| 亚洲天堂av无毛| 少妇人妻精品综合一区二区| 国产乱人视频| 国产精品99久久99久久久不卡 | .国产精品久久| 日韩成人av中文字幕在线观看| 成人午夜精彩视频在线观看| 一级a做视频免费观看| 国产大屁股一区二区在线视频| 美女主播在线视频| 干丝袜人妻中文字幕| 午夜福利高清视频| 一本一本综合久久| 熟女电影av网| 午夜福利影视在线免费观看| 欧美区成人在线视频| 亚洲精品久久午夜乱码| 亚洲久久久国产精品| av一本久久久久| 大又大粗又爽又黄少妇毛片口| 久久久久久久久大av| 国产一级毛片在线| 久久99蜜桃精品久久| 久久久久国产精品人妻一区二区| 国产永久视频网站| 国产精品99久久99久久久不卡 | 国产av码专区亚洲av| 少妇猛男粗大的猛烈进出视频| 色5月婷婷丁香| 九色成人免费人妻av| 国产色爽女视频免费观看| 搡女人真爽免费视频火全软件| 国产精品一二三区在线看| 中文字幕av成人在线电影| 春色校园在线视频观看| 精品国产一区二区三区久久久樱花 | 日韩一区二区三区影片| 91久久精品电影网| 欧美精品亚洲一区二区| 久久久久久九九精品二区国产| 毛片女人毛片| 男女免费视频国产| 成年人午夜在线观看视频| 亚洲国产高清在线一区二区三| 精品久久久久久久末码| 网址你懂的国产日韩在线| 亚洲精品久久午夜乱码| 黄色配什么色好看| 午夜福利视频精品| 欧美最新免费一区二区三区| 能在线免费看毛片的网站| 亚洲成色77777| 啦啦啦视频在线资源免费观看| 国产伦理片在线播放av一区| 成人18禁高潮啪啪吃奶动态图 | 免费在线观看成人毛片| 亚洲av中文av极速乱| 亚洲欧美一区二区三区国产| 午夜日本视频在线| 秋霞在线观看毛片| 亚洲精品视频女| av女优亚洲男人天堂| 日本免费在线观看一区| 热99国产精品久久久久久7| 人体艺术视频欧美日本| 高清欧美精品videossex| 国产男女超爽视频在线观看| 久久午夜福利片| 人人妻人人澡人人爽人人夜夜| 亚洲色图综合在线观看| 久久久久久久久久久免费av| 欧美日韩国产mv在线观看视频 | 国产精品一区www在线观看| 久久人妻熟女aⅴ| 日韩欧美精品免费久久| 久久人妻熟女aⅴ| 中文字幕精品免费在线观看视频 | 99热这里只有是精品在线观看| 亚洲精品视频女| 免费黄色在线免费观看| 这个男人来自地球电影免费观看 | 亚洲精品日本国产第一区| 制服丝袜香蕉在线| 中文乱码字字幕精品一区二区三区| 免费观看av网站的网址| 热99国产精品久久久久久7| 午夜福利在线观看免费完整高清在| 亚洲精品国产av成人精品| 亚洲经典国产精华液单| 亚洲,一卡二卡三卡| 80岁老熟妇乱子伦牲交| 亚洲国产av新网站| 老司机影院成人| 欧美一级a爱片免费观看看| 在线观看av片永久免费下载| 人人妻人人添人人爽欧美一区卜 | 精品国产一区二区三区久久久樱花 | 亚洲人成网站在线播| 亚洲成人中文字幕在线播放| 狠狠精品人妻久久久久久综合| 精华霜和精华液先用哪个| 国产精品蜜桃在线观看| 日韩制服骚丝袜av| 99热这里只有是精品50| 国产精品欧美亚洲77777| 国产欧美日韩精品一区二区| 中国国产av一级| 麻豆成人av视频| 久久综合国产亚洲精品| 五月开心婷婷网| 在线观看免费高清a一片| 岛国毛片在线播放| 七月丁香在线播放| 亚洲三级黄色毛片| 亚洲精品国产色婷婷电影| 欧美老熟妇乱子伦牲交| 色视频在线一区二区三区| 日韩,欧美,国产一区二区三区| 免费观看性生交大片5| 久久亚洲国产成人精品v| 美女xxoo啪啪120秒动态图| 亚洲国产精品999| 偷拍熟女少妇极品色| 精品少妇黑人巨大在线播放| 99久久综合免费| 夫妻性生交免费视频一级片| 一本一本综合久久| 国产黄色免费在线视频| 91精品国产九色| 亚洲欧洲国产日韩| 久久久久久久亚洲中文字幕| 久久久久久伊人网av| 国产精品麻豆人妻色哟哟久久| 午夜激情久久久久久久| 亚洲欧美成人精品一区二区| 亚洲色图综合在线观看| 精品国产一区二区三区久久久樱花 | 高清在线视频一区二区三区| 精品午夜福利在线看| 青春草视频在线免费观看| 日韩av免费高清视频| 国产午夜精品一二区理论片| 久久99热这里只频精品6学生| 人妻制服诱惑在线中文字幕| 国语对白做爰xxxⅹ性视频网站| 亚洲国产高清在线一区二区三| 麻豆成人午夜福利视频| 久久久午夜欧美精品| 亚洲成人一二三区av| 免费播放大片免费观看视频在线观看| 国产高清三级在线| 国产精品爽爽va在线观看网站| 尾随美女入室| 国产成人免费无遮挡视频| 九九在线视频观看精品| 国产美女午夜福利| av免费观看日本| 精品亚洲乱码少妇综合久久| 少妇的逼好多水| 亚洲精品一二三| 91在线精品国自产拍蜜月| 性高湖久久久久久久久免费观看| 99久久精品国产国产毛片| 久久久亚洲精品成人影院| a级毛色黄片| 少妇丰满av| 最近最新中文字幕大全电影3| 九色成人免费人妻av| 欧美老熟妇乱子伦牲交| 国产成人a∨麻豆精品| 久久人妻熟女aⅴ| 97精品久久久久久久久久精品| 亚洲欧美日韩无卡精品| av在线app专区| 亚洲内射少妇av| 亚洲国产精品999| 美女福利国产在线 | 天美传媒精品一区二区| 人体艺术视频欧美日本| 最近的中文字幕免费完整| 成人黄色视频免费在线看| 亚洲国产精品国产精品| 亚洲欧洲日产国产| 亚洲精华国产精华液的使用体验| 91精品国产国语对白视频| 肉色欧美久久久久久久蜜桃| 国产精品久久久久久av不卡| 亚洲电影在线观看av| 国产精品一区www在线观看| 91aial.com中文字幕在线观看| 久久久久久久大尺度免费视频| 日韩制服骚丝袜av| a级一级毛片免费在线观看| 成人18禁高潮啪啪吃奶动态图 | 高清在线视频一区二区三区| 国产精品三级大全| 看免费成人av毛片| 在现免费观看毛片| 日本av免费视频播放| 高清在线视频一区二区三区| 一级毛片电影观看| 伦理电影大哥的女人| 国产精品久久久久成人av| 久久久亚洲精品成人影院| 欧美 日韩 精品 国产| 最近最新中文字幕免费大全7| 午夜免费观看性视频| 久久精品久久精品一区二区三区| 亚洲电影在线观看av| 秋霞在线观看毛片| 精品久久久久久电影网| av视频免费观看在线观看| 高清不卡的av网站| 国产成人精品久久久久久| 免费在线观看成人毛片| 久久久成人免费电影| 午夜免费观看性视频| 一区二区三区四区激情视频| 久久人妻熟女aⅴ| 国产精品一二三区在线看| 久久99热这里只有精品18| 精品一品国产午夜福利视频| 精品少妇久久久久久888优播| 网址你懂的国产日韩在线| av女优亚洲男人天堂| 免费观看a级毛片全部| 国产高清三级在线| 免费大片18禁| 免费观看在线日韩| 99热这里只有是精品在线观看| www.色视频.com| 亚洲人成网站在线观看播放| 亚洲高清免费不卡视频| 午夜福利高清视频| 蜜桃久久精品国产亚洲av| 又粗又硬又长又爽又黄的视频| 欧美激情国产日韩精品一区| 亚洲四区av| 亚洲真实伦在线观看| 高清在线视频一区二区三区| 国产精品一区二区在线不卡| 人体艺术视频欧美日本| 国产精品熟女久久久久浪| 亚洲av日韩在线播放| 国产成人aa在线观看| 精品人妻偷拍中文字幕| 99热这里只有是精品在线观看| 国产一区二区三区av在线| 国产精品伦人一区二区| 亚洲美女视频黄频| 国产高清三级在线| 精品久久国产蜜桃| 小蜜桃在线观看免费完整版高清| 日韩强制内射视频| 在线播放无遮挡| 人人妻人人添人人爽欧美一区卜 | 亚洲欧美精品专区久久| 韩国av在线不卡| 自拍偷自拍亚洲精品老妇| 麻豆精品久久久久久蜜桃| 国产一区二区三区av在线| 亚洲av不卡在线观看| 国产一区二区三区av在线| 18禁动态无遮挡网站| 草草在线视频免费看| 亚洲国产精品国产精品| 国产精品国产三级国产av玫瑰| 最近最新中文字幕大全电影3| 自拍欧美九色日韩亚洲蝌蚪91 | 日韩,欧美,国产一区二区三区| 91精品伊人久久大香线蕉| 夫妻性生交免费视频一级片| 美女cb高潮喷水在线观看| 国内少妇人妻偷人精品xxx网站| 99热6这里只有精品| 亚洲精品乱码久久久久久按摩| 韩国高清视频一区二区三区| 哪个播放器可以免费观看大片| 中文字幕亚洲精品专区| 日本wwww免费看| 联通29元200g的流量卡| 亚洲,一卡二卡三卡| 22中文网久久字幕| 国产乱人偷精品视频| 国产高清国产精品国产三级 | 久久精品国产亚洲网站| 18禁裸乳无遮挡动漫免费视频| 一个人看视频在线观看www免费| 毛片女人毛片| 久久精品国产自在天天线| 国产在线男女| 一本久久精品| 观看av在线不卡| 国产色婷婷99| 免费观看无遮挡的男女| 亚洲一区二区三区欧美精品| 国产亚洲av片在线观看秒播厂| 日韩成人av中文字幕在线观看| 边亲边吃奶的免费视频| 免费黄网站久久成人精品| 国国产精品蜜臀av免费| 99视频精品全部免费 在线| 亚洲精品中文字幕在线视频 | 欧美zozozo另类| 亚洲精品亚洲一区二区| 一个人免费看片子| 日韩成人av中文字幕在线观看| 交换朋友夫妻互换小说| 免费黄网站久久成人精品| 中国国产av一级| 在线看a的网站| 亚洲精品乱码久久久v下载方式| 亚洲国产精品一区三区| av在线蜜桃| 亚洲av在线观看美女高潮| 国产综合精华液| 在线看a的网站| 久久精品国产a三级三级三级| 青青草视频在线视频观看| 中文天堂在线官网| 精品亚洲成a人片在线观看 | 国产成人精品久久久久久| 国产91av在线免费观看| 久久影院123| 永久免费av网站大全| 内地一区二区视频在线| 丰满乱子伦码专区| 日本-黄色视频高清免费观看| 午夜精品国产一区二区电影| 欧美一区二区亚洲| 成人毛片a级毛片在线播放| 极品少妇高潮喷水抽搐| 99九九线精品视频在线观看视频| 两个人的视频大全免费| 亚洲不卡免费看| 日韩成人av中文字幕在线观看|