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

    一種對(duì)話機(jī)器人開(kāi)發(fā)技術(shù)綜述與系統(tǒng)架構(gòu)實(shí)現(xiàn)

    2021-04-06 04:04:19孫小魚(yú)
    軟件工程 2021年2期
    關(guān)鍵詞:微服務(wù)

    摘? 要:對(duì)話機(jī)器人是使用自然語(yǔ)言處理與生成技術(shù),模擬人類對(duì)話邏輯并與人進(jìn)行交流的計(jì)算機(jī)程序。作為新一代人工智能產(chǎn)品的人機(jī)交互主要入口,邏輯實(shí)現(xiàn)方式與交互是對(duì)話機(jī)器人設(shè)計(jì)的關(guān)鍵。本文結(jié)合對(duì)話機(jī)器人的技術(shù)特點(diǎn),在實(shí)現(xiàn)過(guò)程中采用基于Python語(yǔ)言的Django微服務(wù)Web應(yīng)用開(kāi)發(fā)框架,將對(duì)話算法模型與邏輯處理過(guò)程進(jìn)行微服務(wù)化API封裝,使其他應(yīng)用能夠請(qǐng)求對(duì)話服務(wù)的接口進(jìn)行功能的二次開(kāi)發(fā)。為了提高對(duì)話響應(yīng)速度,本文采用了關(guān)系型數(shù)據(jù)庫(kù)MySQL與基于內(nèi)存的非關(guān)系型數(shù)據(jù)庫(kù)Redis結(jié)合的方式,減少算法模型對(duì)硬盤(pán)的讀取次數(shù),優(yōu)化了用戶體驗(yàn)。

    關(guān)鍵詞:微服務(wù);Django;MySQL;Redis

    Abstract: A chatbot is a computer program that simulates human conversation and communicates with human through natural language processing and generation technology. As main access to human-computer interaction for a new generation of artificial intelligence products, logical implementation and interaction are critical to the design of chatbots. Based on technical characteristics of chatbots, this paper adopts Python-based Django micro-service web application development framework in the implementation and encapsulates dialogue algorithm model and logic processing process into a micro-service API (Application Programming Interface). Thus, other applications can request the interface of dialogue service for a secondary development of functions. In order to improve the efficiency of query processing, a memory-based non-relational database Redis (Remote Dictionary Server) is used with relational database MySQL (Structured Query Language) to reduce the number of reads from hard disk and so to optimize system performance.

    Keywords: micro-services; Django; MySQL; Redis

    1? ?引言(Introduction)

    對(duì)話機(jī)器人是當(dāng)前人工智能領(lǐng)域的研究熱點(diǎn),它應(yīng)用自然語(yǔ)言處理與生成技術(shù),以聊天界面或API為基礎(chǔ),能夠與人進(jìn)行語(yǔ)音或文本對(duì)話,以聊天的方式解決用戶的需求[1]。對(duì)話算法主要包括以下幾個(gè)過(guò)程:自然語(yǔ)言理解、對(duì)話狀態(tài)追蹤[2]、對(duì)話內(nèi)容管理[3]、自然語(yǔ)言生成[4]。但是上述過(guò)程的核心算法都是基于Python編程語(yǔ)言開(kāi)發(fā)的,與網(wǎng)站軟件開(kāi)發(fā)或終端硬件開(kāi)發(fā)的技術(shù)架構(gòu)并不兼容。為了適應(yīng)越發(fā)復(fù)雜的大型網(wǎng)站系統(tǒng)單體架構(gòu),微服務(wù)技術(shù)應(yīng)運(yùn)而生,其核心思想是各種自治的子系統(tǒng)協(xié)同工作,共同完成大型網(wǎng)站的功能和業(yè)務(wù)需求[5]。

    對(duì)話機(jī)器人與其他微服務(wù)程序不同的地方在于:處理對(duì)話邏輯需要大量高頻重復(fù)且復(fù)雜的計(jì)算過(guò)程和頻繁的存取硬盤(pán)數(shù)據(jù)的過(guò)程。隨著使用對(duì)話的用戶規(guī)模變大,由于硬件資源有限,對(duì)話程序在運(yùn)行過(guò)程中很容易造成對(duì)話響應(yīng)速度變慢、對(duì)話邏輯處理不完整甚至是服務(wù)宕機(jī)等現(xiàn)象,嚴(yán)重影響用戶體驗(yàn)。

    針對(duì)上述問(wèn)題,本文在技術(shù)實(shí)現(xiàn)過(guò)程中采用基于Python語(yǔ)言的Django開(kāi)發(fā)框架,并根據(jù)業(yè)務(wù)邏輯將對(duì)話模型進(jìn)行模塊拆分,在模塊之間添加Redis緩存[6],用內(nèi)存中的讀寫(xiě)過(guò)程替代了高頻的復(fù)雜計(jì)算和高頻的硬盤(pán)存取過(guò)程。

    2? ?相關(guān)技術(shù)(Related technologies)

    2.1? ?Python

    Python是由Guido van Rossum在20世紀(jì)80年代末到90年代初于荷蘭國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所設(shè)計(jì)出來(lái)的一種結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言。它具有易于學(xué)習(xí)與維護(hù)、可移植、可擴(kuò)展、可嵌入等特點(diǎn)。Python由于代碼簡(jiǎn)潔、基礎(chǔ)代碼庫(kù)完善等優(yōu)勢(shì),已經(jīng)應(yīng)用于人工智能、Web應(yīng)用開(kāi)發(fā)、運(yùn)維系統(tǒng)開(kāi)發(fā)、游戲開(kāi)發(fā)等重要領(lǐng)域。Python語(yǔ)言在人工智能領(lǐng)域被廣泛應(yīng)用是因?yàn)樗鼘?duì)科學(xué)計(jì)算的友好支持[7],包括基礎(chǔ)的Numpy、Pandas、Scikit-learn等科學(xué)計(jì)算工具箱和Tensorflow、Pytorch、Caffe等深度學(xué)習(xí)開(kāi)發(fā)框架都是以Python語(yǔ)言為基礎(chǔ)進(jìn)行封裝的。

    2.2? ?Django

    Django是一款基于Python的免費(fèi)開(kāi)源的Web應(yīng)用開(kāi)發(fā)框架,采用了MVT的框架模式,即模型M(Model)、視圖V(View)和模板T(Template),于2008年9月發(fā)布了第一個(gè)正式版本1.0。MVT模式將傳統(tǒng)MVC模式中的Controller層拆分成業(yè)務(wù)邏輯操作與請(qǐng)求的處理與轉(zhuǎn)發(fā),將業(yè)務(wù)邏輯操作結(jié)合到了View層中,View通過(guò)調(diào)用Model層與Template層,根據(jù)HTML、CSS、JavaScript等對(duì)數(shù)據(jù)進(jìn)行渲染后返回給前端瀏覽器界面。同時(shí)新增了一個(gè)URL分發(fā)器,負(fù)責(zé)將不同的URL請(qǐng)求分發(fā)給不同的View進(jìn)行業(yè)務(wù)邏輯處理。Django擁有強(qiáng)大的數(shù)據(jù)庫(kù)功能,并自帶一套功能完備、界面美觀的管理后臺(tái)。由于Django具有低耦合、開(kāi)發(fā)快捷、部署方便、復(fù)用性高、運(yùn)維成本低、完善的開(kāi)發(fā)者社區(qū)等優(yōu)點(diǎn),近些年來(lái)許多大型網(wǎng)站的開(kāi)發(fā)都選擇Django作為Web應(yīng)用核心開(kāi)發(fā)框架,例如YouTube、Google、Instagram、Reddit,以及國(guó)內(nèi)的豆瓣、知乎等。

    Django框架原理如圖1所示。首先,客戶端向服務(wù)發(fā)送HTTP請(qǐng)求,由WSGI(Web Server Gateway Interface)模塊統(tǒng)一進(jìn)行協(xié)議處理后,發(fā)送給請(qǐng)求中間件,并由請(qǐng)求中間件交由URL分發(fā)器進(jìn)行統(tǒng)一分發(fā)。若找不到對(duì)應(yīng)的URL地址,則直接返回給響應(yīng)中間件,經(jīng)過(guò)WSGI模塊統(tǒng)一處理后返回給瀏覽器。若找到對(duì)應(yīng)的URL地址,則由視圖中間件進(jìn)行處理后映射到View層中的函數(shù)。View層的函數(shù)根據(jù)業(yè)務(wù)邏輯判斷是否需要調(diào)用Model層,Model層利用對(duì)象關(guān)系映射(Object-Relational Mapping,ORM)[8]將數(shù)據(jù)庫(kù)表抽象成Python中的類,數(shù)據(jù)庫(kù)表中的字段抽象成Python類中的屬性,通過(guò)對(duì)Model層的類的操作得到數(shù)據(jù)庫(kù)的API,避免了復(fù)雜的數(shù)據(jù)庫(kù)語(yǔ)句編寫(xiě)。View層在調(diào)用Model層的同時(shí)從Template層的靜態(tài)資源庫(kù)中調(diào)用HTML/CSS/JavaScript資源,并將數(shù)據(jù)和頁(yè)面解析、渲染成HTML頁(yè)面,經(jīng)事務(wù)中間件處理后返回給響應(yīng)中間件,由響應(yīng)中間件交給WSGI模塊統(tǒng)一處理后返回給瀏覽器。

    2.3? ?MySQL數(shù)據(jù)庫(kù)

    MySQL在Web應(yīng)用方面是最好的RDBMS(Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一,由瑞典的MySQL AB公司開(kāi)發(fā),屬于Oracle旗下產(chǎn)品。數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的應(yīng)用程序。關(guān)系型數(shù)據(jù)庫(kù)是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合、代數(shù)等數(shù)學(xué)概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。在關(guān)系型數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表(Table)的形式出現(xiàn),表中的每一行稱為一條記錄,表中的每一列稱為一個(gè)屬性,表與表之間以代數(shù)關(guān)系為基礎(chǔ)組成完整的系統(tǒng)數(shù)據(jù)。數(shù)據(jù)庫(kù)表的結(jié)構(gòu)設(shè)計(jì)決定了數(shù)據(jù)庫(kù)的性能,合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)可以讓使用者在每次訪問(wèn)最少數(shù)量的表的前提下完成業(yè)務(wù)需求。MySQL數(shù)據(jù)庫(kù)使用標(biāo)準(zhǔn)的SQL語(yǔ)言形式對(duì)數(shù)據(jù)進(jìn)行增加、刪除、修改、查詢等操作,由于其體積小、速度快、成本低、使用靈活等特點(diǎn)被應(yīng)用于中小型網(wǎng)站開(kāi)發(fā)。

    2.4? ?Redis

    遠(yuǎn)程字典服務(wù)(Remote Dictionary Server, Redis)是一個(gè)基于key-value形式存儲(chǔ)的NoSQL數(shù)據(jù)庫(kù)[9],用哈希表表示key與value之間的映射關(guān)系,可用key值迅速查詢對(duì)應(yīng)的value值[10]。Redis使用ANSI C編寫(xiě),包含五種數(shù)據(jù)結(jié)構(gòu),并且支持網(wǎng)絡(luò)通信和多語(yǔ)言API,遵守BSD協(xié)議,可擴(kuò)展性強(qiáng),可選作持久化存儲(chǔ)[11]。由于Redis的數(shù)據(jù)以key-value的形式存儲(chǔ)在內(nèi)存中,且Redis的事務(wù)操作具有原子性,因此比硬盤(pán)讀寫(xiě)更迅速,讀取速度可以達(dá)到110,000 次/秒,寫(xiě)入速度可以達(dá)到81,000 次/秒[12]。Redis通常應(yīng)用在“高頻讀、低頻寫(xiě)”的熱點(diǎn)數(shù)據(jù)緩存、計(jì)數(shù)器、消息隊(duì)列、排行榜、社交網(wǎng)絡(luò)、訂單系統(tǒng)等高吞吐、高并發(fā)場(chǎng)景。

    3? ?流程設(shè)計(jì)與實(shí)現(xiàn)(Process design and implementation)

    3.1? ?對(duì)話服務(wù)問(wèn)答流程

    基于Django的對(duì)話機(jī)器人服務(wù)流程如圖2所示。

    (1)對(duì)話服務(wù)從前端接收參數(shù)sentence和userId。其中sentence為用戶輸入的句子,userId為用戶的唯一標(biāo)識(shí)。

    (2)Django框架中的View層函數(shù)解析參數(shù)sentence和userId。

    (3)以sentence為key在Redis的nlu目錄中進(jìn)行查詢。若查詢到記錄,則將value取出作為dialogue,并更新生命周期為604,800 秒;若查詢不到記錄,則將sentence傳入NLU模塊進(jìn)行理解,輸出作為dialogue,并將最新的理解結(jié)果寫(xiě)入Redis。其中,dialogue為NLU模塊進(jìn)行理解后的計(jì)算結(jié)果。

    (4)以u(píng)serId為key在Redis的userdst目錄中進(jìn)行查詢。若查詢到記錄,則從value列表取出dst.state和keyword,并更新生命周期為604,800 秒;若查詢不到記錄,則初始化dst.state和keyword并寫(xiě)入Redis。其中,dst.state為該用戶的對(duì)話狀態(tài)追蹤信息,keyword為該用戶上次對(duì)話的關(guān)鍵詞。

    (5)將sentence,dialogue,dst傳入DPL對(duì)話策略學(xué)習(xí)模塊進(jìn)行意圖識(shí)別。若DPL模塊處理結(jié)果顯示為非問(wèn)答,則給出回應(yīng),并傳回給前端;若DPL模塊處理結(jié)果顯示為問(wèn)答,則將處理后的問(wèn)題question傳入QA模塊。

    (6)以question為key在Redis的qa目錄中進(jìn)行查詢。若查詢到記錄,則從value列表中取出answer,并更新生命周期為604,800 秒;若查詢不到記錄,則從數(shù)據(jù)庫(kù)中掃描關(guān)鍵詞并進(jìn)行問(wèn)答對(duì)匹配傳回給前端,同時(shí)將問(wèn)答對(duì)寫(xiě)入Redis,并更新生命周期為604,800 秒。

    通過(guò)上述流程,高頻輸入的句子、高頻活躍的用戶對(duì)話狀態(tài)追蹤和高頻匹配的問(wèn)答對(duì)全部被緩存至Redis之中。其他用戶請(qǐng)求服務(wù)時(shí),若輸入的是經(jīng)常被輸入的語(yǔ)句和經(jīng)常被理解的問(wèn)題,則直接從Redis數(shù)據(jù)庫(kù)中讀取內(nèi)容,不必進(jìn)行煩瑣的計(jì)算過(guò)程和緩慢的讀硬盤(pán)過(guò)程。

    3.2? ?MySQL數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)

    由于對(duì)話機(jī)器人模型首先需要掃描對(duì)話域內(nèi)的關(guān)鍵詞,匹配成功后再掃描該關(guān)鍵詞分支下的全部問(wèn)答對(duì),因此將關(guān)鍵詞表中的keyword字段作為問(wèn)答對(duì)表的外鍵。關(guān)鍵詞表和問(wèn)答對(duì)表如表1和表2所示。

    3.3? ?Redis存儲(chǔ)策略設(shè)計(jì)

    根據(jù)對(duì)話機(jī)器人模型的流程可知,高頻輸入語(yǔ)句的NLU計(jì)算結(jié)果、用戶狀態(tài)和用戶對(duì)話關(guān)鍵詞、高頻問(wèn)答對(duì)匹配結(jié)果可以在Redis進(jìn)行緩存處理。其中,高頻輸入語(yǔ)句的NLU計(jì)算結(jié)果用set命令存入chatbot:nlu目錄下,以sentence為key,以dialogue為value,生命周期為604,800 秒;用戶狀態(tài)和用戶對(duì)話關(guān)鍵詞用lpush命令存入chatbot:userdst目錄下,以u(píng)serId為key,以dst和keyword為value列表,生命周期為604,800 秒;高頻問(wèn)答對(duì)匹配結(jié)果用set命令存入chatbot:qa目錄下,以question為key,以answer為value,生命周期為604,800 秒。

    4? ?性能分析(Performance analysis)

    4.1? ?系統(tǒng)硬件指標(biāo)及測(cè)試工具

    本文的對(duì)話機(jī)器人服務(wù)開(kāi)發(fā)采用的是Windows 64位操作系統(tǒng)上位機(jī),處理器為Intel(R)Core(TM)i7-8565U CPU @ 1.80 GHz 2.00 GHz,核心數(shù)8 個(gè),內(nèi)存為16 GB、2400 MHz頻率,服務(wù)部署于開(kāi)發(fā)機(jī)上。性能指標(biāo)測(cè)試收集工具采用的是Postman請(qǐng)求模擬器v7.34.0和Apache Server中的ab.exe組件。

    4.2? ?單個(gè)請(qǐng)求響應(yīng)時(shí)間測(cè)試

    首先由一個(gè)新用戶向?qū)υ挿?wù)發(fā)問(wèn),然后更換用戶再向?qū)υ挿?wù)問(wèn)相同的內(nèi)容,記錄請(qǐng)求的響應(yīng)時(shí)間。如圖3和圖4所示,新用戶向?qū)υ挿?wù)發(fā)問(wèn)時(shí)請(qǐng)求完成時(shí)間為345 ms,而更換用戶后問(wèn)相同問(wèn)題時(shí)請(qǐng)求完成時(shí)間僅為83 ms。因?yàn)榍耙幻脩舻恼Z(yǔ)義理解結(jié)果和問(wèn)答對(duì)匹配結(jié)果已經(jīng)被記錄至Redis中,新用戶的發(fā)問(wèn)請(qǐng)求只需在Redis中讀取數(shù)據(jù),無(wú)須進(jìn)行復(fù)雜的計(jì)算和數(shù)據(jù)庫(kù)讀取。

    4.3? ?并發(fā)請(qǐng)求測(cè)試

    設(shè)置Apache Server ab.exe組件的參數(shù)-n與-c分別為{0,10,100,1000,10000}和{0,10,100,1000,10000}。其中,-n為總請(qǐng)求數(shù),-c為并發(fā)請(qǐng)求數(shù)。記錄服務(wù)的吞吐率(Requests per Second,RPS,單位為req/s)和平均請(qǐng)求完成時(shí)間(Time per Request,TPR,單位為ms),測(cè)試結(jié)果如表3所示。

    由測(cè)試結(jié)果可知,對(duì)話服務(wù)在4.1節(jié)的運(yùn)行條件下,接收100 個(gè)并發(fā)請(qǐng)求的時(shí)候達(dá)到性能瓶頸,此時(shí)RPS達(dá)到25左右,且隨著并發(fā)量增加RPS不再變化;TPR為40 ms左右,且隨著并發(fā)量增加TPR不再變化。

    5? ?結(jié)論(Conclusion)

    本文從對(duì)話機(jī)器人算法流程出發(fā),根據(jù)對(duì)話算法使用框架的特點(diǎn),在技術(shù)實(shí)現(xiàn)過(guò)程中采用基于Python編程語(yǔ)言的Django微服務(wù)框架對(duì)算法業(yè)務(wù)邏輯進(jìn)行API封裝,以便他人調(diào)用API接口進(jìn)行對(duì)話功能的二次開(kāi)發(fā);同時(shí)將復(fù)雜的計(jì)算流程和硬盤(pán)存取流程拆分,并將高頻訪問(wèn)的句子、高頻使用用戶的對(duì)話狀態(tài)追蹤信息和高頻匹配的問(wèn)答對(duì)進(jìn)行Redis緩存處理及MySQL持久化存儲(chǔ)處理。對(duì)性能分析的結(jié)果表明,基于Django框架和Redis緩存的對(duì)話服務(wù)開(kāi)發(fā)流程減少了計(jì)算過(guò)程和硬盤(pán)存取過(guò)程,能夠應(yīng)對(duì)大規(guī)模的數(shù)據(jù)存儲(chǔ)需求。對(duì)話服務(wù)的請(qǐng)求響應(yīng)迅速,吞吐率指標(biāo)正常,在保證性能的同時(shí)優(yōu)化了用戶體驗(yàn)。

    參考文獻(xiàn)(References)

    [1] 楊曄.基于深度學(xué)習(xí)的聊天機(jī)器人的研究[J].信息技術(shù)與信息化,2020(03):158-159.

    [2] Tsung-Hsien Wen, David Vandyke, Nikola Mrksic, et al. A Network-based End-to-End Trainable Task-oriented Dialogue System[C]. Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics(Volume 1: Long Papers), 2017:438-449.

    [3] Chien-Sheng Wu, Andrea Madotto, Ehsan Hosseini-Asl, et al.? Transferable Multi-Domain State Generator for Task-Oriented Dialogue Systems[C]. Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, 2019:? 808-819.

    [4] Hao Zhou, Tom Young, Minlie Huang, et al. Commonsense knowledge aware conversation generation with graph attention[C]. Proceedings of the 27th International Joint Conference on Artificial Intelligence, 2018:4623-4629.

    [5] 徐維,劉屹.微服務(wù)技術(shù)框架在智慧警務(wù)應(yīng)用中的優(yōu)勢(shì)和缺點(diǎn)[J].信息通信,2019(08):82-83.

    [6] 張永躍.基于微服務(wù)+Redis的政務(wù)數(shù)據(jù)共享模式設(shè)計(jì)[J].電子技術(shù)與軟件工程,2020(14):208-209.

    [7] 呂戌杪,粟藝峰,張蒙蒙,等.基于Django的煤礦地測(cè)防治水信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技經(jīng)濟(jì)導(dǎo)刊,2020,28(15): 13-14.

    [8] 石鳳貴.基于MTV模式的遠(yuǎn)程教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2020,16(07):93-96.

    [9] 屠雪真.一種大規(guī)模Redis集群云運(yùn)維技術(shù)[J].電腦知識(shí)與技術(shù),2019,15(08):1-3.

    [10] 桂成杰,曾獻(xiàn)輝.結(jié)合Redis與WebSocket的智能空調(diào)移動(dòng)環(huán)境實(shí)時(shí)控制技術(shù)[J].軟件導(dǎo)刊,2020,19(01):190-194.

    [11] 王佩劍.基于Docker容器的Redis高可用實(shí)現(xiàn)方案[J].信息通信,2019(08):67-70.

    [12] 寧方美,賀雪梅,牟晉娟.SpringBoot集成Redis緩存技術(shù)在企業(yè)一卡通系統(tǒng)中的應(yīng)用[J].電子技術(shù)與軟件工程,2019? (24):133-134.

    作者簡(jiǎn)介:

    孫小魚(yú)(1993-),男,碩士,初級(jí)研究員.研究領(lǐng)域:人工智能,微服務(wù)開(kāi)發(fā).

    猜你喜歡
    微服務(wù)
    基于供給側(cè)改革理論的圖書(shū)館社交網(wǎng)絡(luò)微服務(wù)研究
    微信公眾平臺(tái)在醫(yī)院圖書(shū)館的應(yīng)用現(xiàn)狀調(diào)查
    基于微信企業(yè)號(hào)的校園移動(dòng)服務(wù)
    微服務(wù)視角下高職圖書(shū)館數(shù)字資源使用分析
    中文信息(2016年10期)2016-12-12 10:09:57
    從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
    基于微信公眾平臺(tái)的高校圖書(shū)館微服務(wù)現(xiàn)狀及對(duì)策
    99热国产这里只有精品6| av片东京热男人的天堂| 美女午夜性视频免费| 国产欧美日韩一区二区三| 9191精品国产免费久久| av网站在线播放免费| 国产精品偷伦视频观看了| 叶爱在线成人免费视频播放| 欧美av亚洲av综合av国产av| 美女国产高潮福利片在线看| 老司机午夜福利在线观看视频| 国产免费现黄频在线看| 日本欧美视频一区| 999精品在线视频| 丁香六月欧美| 国产区一区二久久| 国产黄色免费在线视频| 国产免费现黄频在线看| 久久久精品免费免费高清| 国产99白浆流出| 美女福利国产在线| 国产成人av激情在线播放| 国产精品 国内视频| 国产精品九九99| 亚洲精品一二三| 久久精品aⅴ一区二区三区四区| av线在线观看网站| 好看av亚洲va欧美ⅴa在| 最近最新中文字幕大全电影3 | 亚洲精品国产色婷婷电影| 国产精品亚洲av一区麻豆| 99国产综合亚洲精品| 激情在线观看视频在线高清 | 咕卡用的链子| 亚洲欧洲精品一区二区精品久久久| 久99久视频精品免费| 高清黄色对白视频在线免费看| 亚洲精品美女久久av网站| 久久国产乱子伦精品免费另类| 亚洲精品成人av观看孕妇| 成在线人永久免费视频| 丰满的人妻完整版| 国产欧美日韩一区二区三区在线| 女同久久另类99精品国产91| 王馨瑶露胸无遮挡在线观看| 高清av免费在线| 国产色视频综合| 1024视频免费在线观看| 天天操日日干夜夜撸| 亚洲性夜色夜夜综合| 人人妻人人爽人人添夜夜欢视频| 国产不卡一卡二| 国产视频一区二区在线看| 色老头精品视频在线观看| 欧美日韩一级在线毛片| 成人免费观看视频高清| 捣出白浆h1v1| 国产一区二区三区综合在线观看| 国产精品九九99| 黄片小视频在线播放| 在线视频色国产色| 少妇粗大呻吟视频| 91成人精品电影| 成人特级黄色片久久久久久久| 成年人午夜在线观看视频| av一本久久久久| 国产国语露脸激情在线看| 在线观看日韩欧美| 欧美日韩成人在线一区二区| 亚洲aⅴ乱码一区二区在线播放 | 女人久久www免费人成看片| 一a级毛片在线观看| 人人妻,人人澡人人爽秒播| 飞空精品影院首页| 黄网站色视频无遮挡免费观看| 超碰成人久久| 国产激情欧美一区二区| www.熟女人妻精品国产| 亚洲一区高清亚洲精品| 国产国语露脸激情在线看| 欧美精品一区二区免费开放| 18禁美女被吸乳视频| 美女高潮到喷水免费观看| 欧美老熟妇乱子伦牲交| 国产真人三级小视频在线观看| 伊人久久大香线蕉亚洲五| 亚洲色图av天堂| 欧美日韩瑟瑟在线播放| 亚洲va日本ⅴa欧美va伊人久久| av国产精品久久久久影院| 最近最新中文字幕大全电影3 | 免费人成视频x8x8入口观看| 少妇裸体淫交视频免费看高清 | 精品国产一区二区久久| 人人妻人人澡人人看| 极品人妻少妇av视频| 精品久久久久久电影网| 人人妻人人澡人人看| 在线观看免费午夜福利视频| a级毛片在线看网站| 亚洲av日韩在线播放| 黄频高清免费视频| 成在线人永久免费视频| 亚洲精品粉嫩美女一区| 人人妻,人人澡人人爽秒播| 不卡一级毛片| 女人被躁到高潮嗷嗷叫费观| 午夜精品国产一区二区电影| 国产成人欧美| 在线观看一区二区三区激情| av线在线观看网站| 嫩草影视91久久| 十八禁高潮呻吟视频| 国产主播在线观看一区二区| 国产一卡二卡三卡精品| 婷婷精品国产亚洲av在线 | 高清黄色对白视频在线免费看| 国产成人精品久久二区二区91| 在线看a的网站| cao死你这个sao货| 亚洲国产精品一区二区三区在线| 久久久国产精品麻豆| videosex国产| 国产一区二区三区在线臀色熟女 | 一本一本久久a久久精品综合妖精| 亚洲男人天堂网一区| 久久久久精品人妻al黑| 日本精品一区二区三区蜜桃| 国产一卡二卡三卡精品| 十八禁网站免费在线| 一二三四社区在线视频社区8| 欧美黄色片欧美黄色片| 免费在线观看完整版高清| 91麻豆精品激情在线观看国产 | 国产成人系列免费观看| 久久国产乱子伦精品免费另类| 亚洲国产毛片av蜜桃av| 国产精品久久久av美女十八| 国产在线观看jvid| 麻豆成人av在线观看| 大型黄色视频在线免费观看| 韩国精品一区二区三区| 啦啦啦免费观看视频1| 亚洲视频免费观看视频| 欧美乱码精品一区二区三区| 亚洲欧美激情综合另类| 99精品久久久久人妻精品| 在线观看日韩欧美| 欧美人与性动交α欧美精品济南到| 美女 人体艺术 gogo| 无人区码免费观看不卡| 波多野结衣一区麻豆| 黄色片一级片一级黄色片| 久99久视频精品免费| 三级毛片av免费| 91麻豆av在线| 精品电影一区二区在线| 黄网站色视频无遮挡免费观看| 18禁观看日本| 亚洲美女黄片视频| 亚洲第一av免费看| 国产不卡一卡二| 黄片小视频在线播放| 亚洲精品美女久久久久99蜜臀| 日本精品一区二区三区蜜桃| 久久99一区二区三区| 国产黄色免费在线视频| 18禁黄网站禁片午夜丰满| 欧美日韩亚洲国产一区二区在线观看 | 婷婷成人精品国产| 91字幕亚洲| 国产在线观看jvid| av视频免费观看在线观看| 久久精品人人爽人人爽视色| 后天国语完整版免费观看| 丰满迷人的少妇在线观看| 又黄又爽又免费观看的视频| 免费少妇av软件| 香蕉丝袜av| 日韩大码丰满熟妇| 成年人黄色毛片网站| 欧美黄色淫秽网站| 国产成人啪精品午夜网站| 怎么达到女性高潮| 91九色精品人成在线观看| 欧美精品啪啪一区二区三区| 国产精品亚洲一级av第二区| 丝袜在线中文字幕| 亚洲伊人色综图| 午夜福利欧美成人| 亚洲,欧美精品.| 国产精品一区二区在线观看99| 天堂中文最新版在线下载| 成年人黄色毛片网站| 久久久国产成人精品二区 | 久久性视频一级片| 无人区码免费观看不卡| 国内久久婷婷六月综合欲色啪| 午夜日韩欧美国产| 国产精品久久久久成人av| 精品国产超薄肉色丝袜足j| 免费黄频网站在线观看国产| 精品久久久久久,| 丰满的人妻完整版| 极品教师在线免费播放| 国产精品久久视频播放| 精品无人区乱码1区二区| 欧美另类亚洲清纯唯美| 午夜久久久在线观看| 久久精品国产综合久久久| 热re99久久国产66热| 久久国产精品影院| 国产又爽黄色视频| 精品免费久久久久久久清纯 | 亚洲欧美精品综合一区二区三区| 自线自在国产av| 人妻 亚洲 视频| 久久香蕉国产精品| av网站免费在线观看视频| 午夜老司机福利片| www.熟女人妻精品国产| 搡老熟女国产l中国老女人| 热re99久久精品国产66热6| videos熟女内射| 亚洲男人天堂网一区| 国产亚洲精品久久久久5区| 欧美精品人与动牲交sv欧美| 一级作爱视频免费观看| 狂野欧美激情性xxxx| 久久人人爽av亚洲精品天堂| 在线观看免费高清a一片| 亚洲国产精品合色在线| 少妇粗大呻吟视频| 国产又爽黄色视频| 国产一区二区三区在线臀色熟女 | 精品久久久久久久毛片微露脸| 久久精品91无色码中文字幕| 日本撒尿小便嘘嘘汇集6| 搡老乐熟女国产| 岛国在线观看网站| 嫩草影视91久久| 欧美黄色片欧美黄色片| 51午夜福利影视在线观看| 波多野结衣一区麻豆| 亚洲综合色网址| 丝袜美足系列| 在线观看www视频免费| 国产一区在线观看成人免费| 国产欧美日韩精品亚洲av| 亚洲av熟女| 久久久国产成人免费| 国内久久婷婷六月综合欲色啪| 免费日韩欧美在线观看| 亚洲专区中文字幕在线| 少妇被粗大的猛进出69影院| av网站免费在线观看视频| av福利片在线| 欧美国产精品一级二级三级| 亚洲成人手机| 侵犯人妻中文字幕一二三四区| 男人舔女人的私密视频| 久久天堂一区二区三区四区| 天天添夜夜摸| 久久性视频一级片| 国产亚洲欧美在线一区二区| 免费人成视频x8x8入口观看| 久99久视频精品免费| 丰满人妻熟妇乱又伦精品不卡| 香蕉久久夜色| 亚洲国产欧美日韩在线播放| 亚洲av成人av| 久久九九热精品免费| 久久久久久久久免费视频了| 黄色成人免费大全| 精品久久久久久,| 大陆偷拍与自拍| 中文字幕人妻熟女乱码| 美女扒开内裤让男人捅视频| 精品国产国语对白av| 12—13女人毛片做爰片一| 午夜福利欧美成人| 天天添夜夜摸| 日本wwww免费看| 亚洲av成人一区二区三| 一级a爱视频在线免费观看| 午夜免费成人在线视频| 国产男女超爽视频在线观看| 麻豆国产av国片精品| 久久国产精品人妻蜜桃| 亚洲欧美精品综合一区二区三区| 搡老岳熟女国产| 久久99一区二区三区| 国产亚洲欧美98| 日日夜夜操网爽| 亚洲精品一卡2卡三卡4卡5卡| 亚洲第一av免费看| 日韩熟女老妇一区二区性免费视频| 大香蕉久久成人网| 久久久国产一区二区| 男男h啪啪无遮挡| 欧美亚洲日本最大视频资源| 黄色女人牲交| 精品免费久久久久久久清纯 | 91九色精品人成在线观看| 婷婷成人精品国产| avwww免费| 18禁美女被吸乳视频| 日本wwww免费看| 一级毛片女人18水好多| 国产精品亚洲一级av第二区| 80岁老熟妇乱子伦牲交| 天堂中文最新版在线下载| aaaaa片日本免费| 中文字幕av电影在线播放| 亚洲成人免费电影在线观看| 国产主播在线观看一区二区| 日韩欧美免费精品| 午夜老司机福利片| 久久青草综合色| 国产精品亚洲一级av第二区| 久久亚洲精品不卡| 天堂中文最新版在线下载| 色婷婷av一区二区三区视频| 精品少妇久久久久久888优播| 在线观看免费视频日本深夜| 免费少妇av软件| 亚洲av熟女| 久久久久国产一级毛片高清牌| 国产成+人综合+亚洲专区| 国产亚洲精品第一综合不卡| 满18在线观看网站| 午夜久久久在线观看| 精品国产超薄肉色丝袜足j| 久久狼人影院| 国产成人精品久久二区二区91| 亚洲成国产人片在线观看| 咕卡用的链子| av中文乱码字幕在线| 露出奶头的视频| 别揉我奶头~嗯~啊~动态视频| 最新美女视频免费是黄的| 一二三四在线观看免费中文在| 午夜福利欧美成人| 高清黄色对白视频在线免费看| 成年女人毛片免费观看观看9 | 一区二区三区激情视频| 久热这里只有精品99| 亚洲精华国产精华精| 大片电影免费在线观看免费| av电影中文网址| 91字幕亚洲| 五月开心婷婷网| 亚洲一卡2卡3卡4卡5卡精品中文| 黄色怎么调成土黄色| 欧美亚洲日本最大视频资源| 美女高潮喷水抽搐中文字幕| 高清毛片免费观看视频网站 | 男女下面插进去视频免费观看| 国产精品亚洲av一区麻豆| 美女国产高潮福利片在线看| 国产精品久久久av美女十八| 国产有黄有色有爽视频| 狂野欧美激情性xxxx| 亚洲国产精品合色在线| av在线播放免费不卡| a级毛片在线看网站| 在线播放国产精品三级| 麻豆成人av在线观看| 精品乱码久久久久久99久播| 在线观看免费日韩欧美大片| 黄色a级毛片大全视频| 超碰97精品在线观看| 亚洲av成人av| 女警被强在线播放| 亚洲午夜理论影院| 欧美av亚洲av综合av国产av| 黄频高清免费视频| 欧美国产精品一级二级三级| 欧美成人午夜精品| 男女床上黄色一级片免费看| 成人黄色视频免费在线看| 两个人看的免费小视频| 每晚都被弄得嗷嗷叫到高潮| 欧美日本中文国产一区发布| 一进一出抽搐动态| 美国免费a级毛片| 老汉色av国产亚洲站长工具| 女人被狂操c到高潮| 麻豆乱淫一区二区| 最近最新中文字幕大全免费视频| 99久久国产精品久久久| 日日摸夜夜添夜夜添小说| 美女午夜性视频免费| 日韩人妻精品一区2区三区| 欧美一级毛片孕妇| 国产亚洲一区二区精品| 天天添夜夜摸| 高清av免费在线| 国产一区二区三区视频了| 国产免费现黄频在线看| 亚洲第一欧美日韩一区二区三区| 国产亚洲av高清不卡| 女性生殖器流出的白浆| 可以免费在线观看a视频的电影网站| 水蜜桃什么品种好| 亚洲精品国产精品久久久不卡| 三级毛片av免费| 好看av亚洲va欧美ⅴa在| 精品国产一区二区三区四区第35| 嫁个100分男人电影在线观看| 真人做人爱边吃奶动态| 精品一品国产午夜福利视频| 欧美成狂野欧美在线观看| 亚洲国产欧美网| 亚洲国产看品久久| 日韩大码丰满熟妇| 亚洲色图综合在线观看| 午夜福利视频在线观看免费| 亚洲黑人精品在线| 精品少妇久久久久久888优播| 国产深夜福利视频在线观看| 狠狠婷婷综合久久久久久88av| 丰满迷人的少妇在线观看| 自线自在国产av| 大型av网站在线播放| 国产高清国产精品国产三级| 国产精品综合久久久久久久免费 | 亚洲av欧美aⅴ国产| 成人影院久久| 丝瓜视频免费看黄片| 久久精品国产亚洲av高清一级| 国产片内射在线| 国产深夜福利视频在线观看| 男女下面插进去视频免费观看| 国产激情欧美一区二区| 国产不卡一卡二| 免费观看a级毛片全部| 搡老熟女国产l中国老女人| 91麻豆精品激情在线观看国产 | 啪啪无遮挡十八禁网站| 欧美久久黑人一区二区| 精品亚洲成a人片在线观看| 免费看十八禁软件| 亚洲成人手机| 久久精品国产亚洲av香蕉五月 | 亚洲欧美激情在线| 色94色欧美一区二区| 大片电影免费在线观看免费| 好男人电影高清在线观看| 中文字幕人妻丝袜制服| 成人18禁在线播放| 男人舔女人的私密视频| 午夜福利在线观看吧| 亚洲av成人一区二区三| 亚洲男人天堂网一区| svipshipincom国产片| 国产精品免费视频内射| 97人妻天天添夜夜摸| 黄频高清免费视频| 9色porny在线观看| 乱人伦中国视频| 十八禁人妻一区二区| 搡老熟女国产l中国老女人| 另类亚洲欧美激情| 女警被强在线播放| 久久国产精品影院| 天天添夜夜摸| 久久国产精品人妻蜜桃| 黑人操中国人逼视频| 国产精品香港三级国产av潘金莲| 三级毛片av免费| 亚洲专区中文字幕在线| 成年人黄色毛片网站| 国产99白浆流出| 如日韩欧美国产精品一区二区三区| 女同久久另类99精品国产91| 久久久久久久久久久久大奶| 亚洲av成人一区二区三| 一个人免费在线观看的高清视频| 黑人巨大精品欧美一区二区mp4| 色精品久久人妻99蜜桃| 久久国产精品影院| 在线观看午夜福利视频| 亚洲成人免费电影在线观看| 久久天躁狠狠躁夜夜2o2o| 超碰成人久久| videosex国产| 人人妻人人添人人爽欧美一区卜| 国产成人系列免费观看| 国产成人一区二区三区免费视频网站| 欧美成人午夜精品| 老司机影院毛片| 人人澡人人妻人| 国产不卡av网站在线观看| 很黄的视频免费| 丝袜在线中文字幕| 亚洲av欧美aⅴ国产| 国产精品久久久久成人av| 视频区欧美日本亚洲| 国产精品电影一区二区三区 | 视频在线观看一区二区三区| 高清欧美精品videossex| 五月开心婷婷网| 久久热在线av| 精品国产一区二区三区四区第35| 国产成人av教育| 黄色 视频免费看| 国产一区二区激情短视频| 国产精品欧美亚洲77777| 久久久国产欧美日韩av| 国产国语露脸激情在线看| 妹子高潮喷水视频| 久久精品成人免费网站| 久久久久国产精品人妻aⅴ院 | 国产精品一区二区免费欧美| 80岁老熟妇乱子伦牲交| 亚洲国产中文字幕在线视频| 日韩欧美一区二区三区在线观看 | 激情在线观看视频在线高清 | 欧美性长视频在线观看| 亚洲aⅴ乱码一区二区在线播放 | 国产片内射在线| 成年动漫av网址| 欧美一级毛片孕妇| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲一区高清亚洲精品| 无遮挡黄片免费观看| 亚洲精品乱久久久久久| 国产在线观看jvid| 欧美日韩一级在线毛片| 超碰97精品在线观看| 桃红色精品国产亚洲av| 激情在线观看视频在线高清 | 看片在线看免费视频| 成年人免费黄色播放视频| 亚洲 欧美一区二区三区| 久久天堂一区二区三区四区| 国产精品欧美亚洲77777| 天天躁狠狠躁夜夜躁狠狠躁| 操美女的视频在线观看| 好男人电影高清在线观看| 久久香蕉激情| 麻豆乱淫一区二区| 色精品久久人妻99蜜桃| 老熟妇乱子伦视频在线观看| 男女免费视频国产| 欧美激情久久久久久爽电影 | 精品高清国产在线一区| 欧美激情极品国产一区二区三区| 免费观看精品视频网站| av有码第一页| 少妇猛男粗大的猛烈进出视频| 人人妻人人澡人人爽人人夜夜| 免费在线观看日本一区| 99国产精品免费福利视频| 亚洲情色 制服丝袜| 国产淫语在线视频| 欧洲精品卡2卡3卡4卡5卡区| 久热这里只有精品99| 久久影院123| 亚洲久久久国产精品| 人人澡人人妻人| 亚洲精品国产精品久久久不卡| 免费一级毛片在线播放高清视频 | 777久久人妻少妇嫩草av网站| 男女免费视频国产| 又紧又爽又黄一区二区| 久久精品成人免费网站| 美女视频免费永久观看网站| 精品久久久久久电影网| 免费黄频网站在线观看国产| 99久久综合精品五月天人人| 国产成人系列免费观看| 亚洲人成伊人成综合网2020| 国产深夜福利视频在线观看| 人人妻人人澡人人看| 久久精品国产a三级三级三级| 精品无人区乱码1区二区| 精品亚洲成a人片在线观看| av片东京热男人的天堂| 亚洲美女黄片视频| 国产区一区二久久| 色在线成人网| 午夜成年电影在线免费观看| 精品乱码久久久久久99久播| 人人澡人人妻人| 国产欧美日韩精品亚洲av| 窝窝影院91人妻| 女性生殖器流出的白浆| 亚洲成人手机| 国产成人精品在线电影| 王馨瑶露胸无遮挡在线观看| 精品久久久久久久毛片微露脸| 欧美日韩国产mv在线观看视频| 91av网站免费观看| 亚洲va日本ⅴa欧美va伊人久久| 色精品久久人妻99蜜桃| 无限看片的www在线观看| 精品福利永久在线观看| 国产精品免费视频内射| 麻豆av在线久日| 999精品在线视频| 日本wwww免费看| 国产在线观看jvid| svipshipincom国产片| 中文字幕人妻丝袜一区二区| 男男h啪啪无遮挡| 黄频高清免费视频| 久热爱精品视频在线9| 男人操女人黄网站| 日韩制服丝袜自拍偷拍| 老司机午夜福利在线观看视频| 一区二区日韩欧美中文字幕| 黄色怎么调成土黄色| 国产一区二区三区在线臀色熟女 |