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

    基于PHP的socket游戲服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)

    2016-11-09 11:03:58王盛林
    電子設(shè)計(jì)工程 2016年20期
    關(guān)鍵詞:充值客戶(hù)端邏輯

    王盛林

    (上海竹靈網(wǎng)絡(luò)科技有限公司 上海200120)

    基于PHP的socket游戲服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)

    王盛林

    (上海竹靈網(wǎng)絡(luò)科技有限公司 上海200120)

    近年來(lái)網(wǎng)頁(yè)游戲、手機(jī)游戲快速發(fā)展,對(duì)游戲服務(wù)端提出新的要求:架構(gòu)簡(jiǎn)單、配置靈活,同時(shí)可支持快速開(kāi)發(fā)。文中提出一種架構(gòu):服務(wù)器底層通訊基于高性能的socket庫(kù)開(kāi)發(fā),而游戲邏輯采用成熟的PHP框架開(kāi)發(fā),游戲邏輯不關(guān)心底層細(xì)節(jié)達(dá)到快速高效的目的。文中主要分三層介紹:基礎(chǔ)層主要采用libevent和ZeroMQ的API;核心服務(wù)層提供網(wǎng)絡(luò)通訊和數(shù)據(jù)存儲(chǔ)服務(wù);應(yīng)用層處理游戲內(nèi)的邏輯。此外,以該架構(gòu)的游戲服務(wù)器已在兩款網(wǎng)頁(yè)游戲開(kāi)服上百組,性能測(cè)試穩(wěn)定。

    游戲服務(wù)器;套接字;libevent;ZeroMQ;PHP

    在游戲產(chǎn)業(yè)快速發(fā)展的今天,越來(lái)越多的公司因?yàn)橐豢钣螒蚓蛷幕ヂ?lián)網(wǎng)公司當(dāng)中脫穎而出,相比于傳統(tǒng)的MMORPG客戶(hù)端游戲,網(wǎng)頁(yè)游戲與手機(jī)游戲由于其便捷性更容易實(shí)際盈利目標(biāo)。因單服規(guī)模相對(duì)較小,游戲服務(wù)端無(wú)須復(fù)雜的服務(wù)器架構(gòu),需要能快速開(kāi)服,如何能保持在多人同時(shí)游戲時(shí)的流暢性以及系統(tǒng)的穩(wěn)定性是對(duì)游戲開(kāi)發(fā)人員的一大考驗(yàn)。由于這類(lèi)游戲要求開(kāi)發(fā)周期短、開(kāi)服速度快,因此需要綜合考慮成本與機(jī)動(dòng)性,同時(shí)又要求保證性能。文中就當(dāng)前比較熱門(mén)的網(wǎng)頁(yè)游戲和手機(jī)游戲,提出了一款基于PHP的Socket的游戲服務(wù)器,在底層引進(jìn) libevent庫(kù)提高負(fù)載能力和ZeroMQ庫(kù)來(lái)進(jìn)行服務(wù)器的通訊,游戲邏輯層采用PHP開(kāi)發(fā),最終達(dá)到快速與高效的目的。

    1 游戲服務(wù)器基礎(chǔ)層設(shè)計(jì)

    1.1 基礎(chǔ)層分析

    游戲服務(wù)器采用PHP作為腳本開(kāi)發(fā)語(yǔ)言,因其跨平臺(tái)、易布署、維護(hù)方便等特性,得到廣泛應(yīng)用。通過(guò)Socket網(wǎng)絡(luò)編程中成熟的技術(shù)方案來(lái)處理游戲中高連接數(shù)、高吞吐量的事件[1]。同時(shí)PHP支持C編寫(xiě)擴(kuò)展,可以做到與游戲服務(wù)器數(shù)據(jù)通訊一致。在底層采用類(lèi)庫(kù)有:

    1)Libevent庫(kù),使用事件驅(qū)動(dòng)方式極大的降低資源占用,增大服務(wù)接待能力,并提高網(wǎng)絡(luò)傳輸效率。

    2)ZeroMQ號(hào)稱(chēng)“史上最快的消息隊(duì)列”,他提供的API讓復(fù)雜的消息處理更加簡(jiǎn)潔同時(shí)性能更高。

    1.2 底層庫(kù)libevent

    libevent是一個(gè)開(kāi)源的事件觸發(fā)的網(wǎng)絡(luò)庫(kù),適用于windows、linux、bsd等多種平臺(tái),按不同平臺(tái)采用select、epoll、kqueue等系統(tǒng)調(diào)用管理事件機(jī)制。對(duì)于每個(gè)網(wǎng)絡(luò)請(qǐng)求,libevent相當(dāng)于在各個(gè)平臺(tái)的網(wǎng)絡(luò)后端增加一個(gè)包裝器,讓事件管理在得以最高效最高性能,同時(shí)事件系統(tǒng)優(yōu)化讓處理函數(shù)非常方便,有效降低底層I/O復(fù)雜性。其主要功能有:

    1)采用事件驅(qū)動(dòng)機(jī)制,異步調(diào)用性能高。

    2)專(zhuān)注于網(wǎng)絡(luò)處理,方便編寫(xiě)。

    3)跨平臺(tái)支持,嘗試使用每個(gè)平臺(tái)上最高速的非阻塞IO實(shí)現(xiàn),并且不引入太多的額外開(kāi)銷(xiāo)。

    4)支持I/O(socket)、定時(shí)器和信號(hào)事件。

    5)支持多種I/O多路復(fù)用技術(shù),有效提高網(wǎng)絡(luò)傳輸效率。

    6)其他組件提供緩沖的事件系統(tǒng),以及HTTP、DNS和RPC系統(tǒng)核心實(shí)現(xiàn)。

    libevent在網(wǎng)絡(luò)編程得到充分驗(yàn)證,采用基于libevent為底層的成熟服務(wù)器端:Memcache(分布式緩存)[2],PLB(負(fù)載均衡器),而對(duì)PHP支持很好的有Swoole[3]、ReactPHP[4]等。

    1.3 底層庫(kù)ZeroMQ

    ZeroMQ[5]是消息隊(duì)列管理庫(kù),其提供底層的網(wǎng)絡(luò)通訊庫(kù),對(duì)Socket API做了一層封裝,將網(wǎng)絡(luò)通訊、進(jìn)程通訊和線(xiàn)程通訊作為統(tǒng)一的API接口,其主要優(yōu)點(diǎn)有:

    1)支持高并發(fā)、異步調(diào)用,速度快。

    2)支持多個(gè)消息傳送模式:如P2P、訂閱發(fā)布模式、以及請(qǐng)求響應(yīng)模式。

    3)支持多個(gè)平臺(tái):如Linux/Windows/OSX等。

    4)協(xié)議比 TCP更快、適用于大型集群和分布式計(jì)算

    5)開(kāi)源社區(qū)支持,支持多種開(kāi)發(fā)語(yǔ)言。

    圖1 游戲服務(wù)器端結(jié)構(gòu)示意圖

    2 游戲服務(wù)器核心層設(shè)計(jì)

    傳統(tǒng)客戶(hù)端服務(wù)器在線(xiàn)人數(shù)多,游戲邏輯復(fù)雜,所以已發(fā)展出成熟的解決方案:如魔獸世界(WOW)采用的BigWorld[6]方案,功能強(qiáng)大,動(dòng)態(tài)負(fù)載均衡和容錯(cuò)性做了很多工作,但同時(shí)硬件要求比較高,價(jià)格昂貴。它的服務(wù)器端架構(gòu)分為Gate(網(wǎng)關(guān)服務(wù)器,負(fù)責(zé)客戶(hù)端連接及消息轉(zhuǎn)發(fā))、GameServer(提供游戲邏輯功能的服務(wù)器程序)、DBManager(負(fù)責(zé)將游戲數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù))、GameManager(處理所有GameServer中消息處理)。

    文中主要借鑒這種架構(gòu)思路:按數(shù)據(jù)通訊服務(wù)、數(shù)據(jù)存儲(chǔ)服務(wù)、定時(shí)器服務(wù)、消息服務(wù)劃分,可實(shí)現(xiàn)一臺(tái)獨(dú)立物理服務(wù)器提供所有核心服務(wù),或者一個(gè)服務(wù)提供給多臺(tái)服務(wù)器,同時(shí)還支持分布式服務(wù),按照實(shí)際開(kāi)服情況靈活處理,實(shí)現(xiàn)快速機(jī)動(dòng)、節(jié)約成本。

    2.1 數(shù)據(jù)通訊服務(wù)

    2.1.1 功能說(shuō)明

    數(shù)據(jù)通訊服務(wù)類(lèi)似Gateway網(wǎng)關(guān)服務(wù)器,負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的接收與發(fā)送,將客戶(hù)端發(fā)送的數(shù)據(jù)解碼后發(fā)送游戲邏輯層處理,對(duì)游戲邏輯發(fā)過(guò)來(lái)的數(shù)據(jù)編碼后發(fā)送給客戶(hù)端。由于在線(xiàn)玩家通過(guò)TCP直接連到服務(wù)器,所以承載很大的壓力,數(shù)據(jù)通訊服務(wù)具有如下特點(diǎn):

    1)響應(yīng)時(shí)間及時(shí):與游戲客戶(hù)端一樣,響應(yīng)越快游戲越流暢,延時(shí)過(guò)長(zhǎng)會(huì)大大降低游戲體檢。

    2)服務(wù)可擴(kuò)展:根據(jù)游戲人數(shù)確定增加負(fù)載能力,如增加Worker進(jìn)程,多開(kāi)通訊進(jìn)程等。

    3)服務(wù)穩(wěn)定性:游戲是7*24不間斷服務(wù),所以需要提供由于在線(xiàn)人數(shù)多或者少各種情況下的應(yīng)用平穩(wěn)以及各種異常的修復(fù)及處理功能。

    2.1.2 方案說(shuō)明

    游戲服務(wù)是網(wǎng)絡(luò)IO密集型服務(wù),采用方案是:

    1)采用libevent庫(kù)作為網(wǎng)絡(luò)通訊接口:由于libevent采用事件驅(qū)動(dòng)模式,非阻塞網(wǎng)絡(luò)IO,采用EPOLL事件輪循機(jī)制,盡管采用多進(jìn)程,但由于游戲邏輯執(zhí)行優(yōu)化后,并行處理數(shù)據(jù)輸入輸出還是很高效的。通訊服務(wù)以常駐進(jìn)程方式啟動(dòng),worker進(jìn)程收到客戶(hù)端發(fā)來(lái)的請(qǐng)求,以C加載CLI的方式執(zhí)行PHP業(yè)務(wù)邏輯,處理結(jié)果PHP通知給worker,中間用C編寫(xiě)的PHP擴(kuò)展保持?jǐn)?shù)據(jù)結(jié)構(gòu)一致。

    2)服務(wù)端采用Master-Workers結(jié)構(gòu) (管理者-工作者):這種結(jié)構(gòu)能夠動(dòng)態(tài)管理游戲服務(wù)進(jìn)程,從而提高處理效率。如:Nginx[6]、PHP-FPM[7]都采用這種方式。主要特點(diǎn)有:

    ①多進(jìn)程由操作系統(tǒng)來(lái)調(diào)度,管理方便,運(yùn)行起來(lái)比較強(qiáng)壯穩(wěn)定。

    ②隔離性好,可由Master來(lái)管理worker進(jìn)程,實(shí)現(xiàn)平滑的加載游戲配置以達(dá)熱更新。

    ③充分利用多核cpu來(lái)進(jìn)行并行運(yùn)算,利用率高。具體工作示意圖如圖2。

    圖2 通訊服務(wù)結(jié)構(gòu)示意圖

    2.2 定時(shí)器服務(wù)

    定時(shí)器服務(wù)是以加載配置的方式,執(zhí)行應(yīng)用層的業(yè)務(wù)邏輯。可直接使用其來(lái)創(chuàng)建定時(shí)啟動(dòng)、關(guān)閉應(yīng)用。設(shè)定時(shí)間到來(lái)時(shí),會(huì)自動(dòng)執(zhí)行配置中指定應(yīng)用層游戲邏輯。一般用在游戲活動(dòng)開(kāi)啟、關(guān)閉,定時(shí)恢復(fù)游戲?qū)傩缘取?/p>

    其中游戲中一些需要異步去處理的應(yīng)用,以常駐進(jìn)程方式加載,也用定時(shí)器來(lái)實(shí)現(xiàn)。如一些比較占用網(wǎng)絡(luò)IO資源、業(yè)務(wù)邏輯復(fù)雜的服務(wù):合作商之間的充值驗(yàn)證服務(wù)、游戲戰(zhàn)斗結(jié)算服務(wù)等,以隊(duì)列形式處理請(qǐng)求,有效平衡服務(wù)器負(fù)載。

    2.3 數(shù)據(jù)存儲(chǔ)服務(wù)

    游戲中玩家數(shù)據(jù)分成兩種方式存儲(chǔ):一種存儲(chǔ)在物理介質(zhì)上的DataBase(如一般的關(guān)系型數(shù)據(jù)庫(kù),MySQL/SQLServer等)中,另一種存儲(chǔ)在內(nèi)存為介質(zhì)的NoSQL中 (如Redis、Mongo等)??紤]到游戲的高性能需要,對(duì)于實(shí)時(shí)操作的數(shù)據(jù)放在以?xún)?nèi)存為介質(zhì)的NoSQL中,而那些需要提供給數(shù)據(jù)分析的數(shù)據(jù)會(huì)寫(xiě)入數(shù)據(jù)庫(kù)中。

    2.3.1 關(guān)系型數(shù)據(jù)庫(kù)DataBase

    關(guān)系型數(shù)據(jù)庫(kù)是創(chuàng)建在關(guān)系模型(relational database)基礎(chǔ)上的數(shù)據(jù)庫(kù),借助于集合代數(shù)等概念和方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。由于游戲中操作頻繁,磁盤(pán)IO成了性能瓶頸,主要用于玩家游戲數(shù)據(jù)的持久化:如保留一些用戶(hù)信息以及游戲日志。

    2.3.2 內(nèi)存型數(shù)據(jù)庫(kù)NoSQL

    NoSQL不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),已經(jīng)不使用SQL作為查詢(xún)語(yǔ)言。NoSQL數(shù)據(jù)庫(kù)有幾大好處:大數(shù)據(jù)量,高性能,支持集群,易部署。本例采用的Redis[8]是一種key-value對(duì)應(yīng)結(jié)構(gòu)的內(nèi)存數(shù)據(jù)庫(kù),存儲(chǔ)效率高。同時(shí)支持定時(shí)器、自動(dòng)排序結(jié)構(gòu)(stored set)、邏輯事務(wù)等結(jié)構(gòu),適合游戲內(nèi)的邏輯。還利用其提供的持久化用作游戲數(shù)據(jù)的備份。

    2.4 消息通知服務(wù)

    游戲邏輯需要在服務(wù)之間以及服務(wù)器組之間傳遞消息。文中采用的是ZeroMQ,其除了簡(jiǎn)潔快速外,對(duì)其中組件的啟動(dòng)順序沒(méi)有要求,適合游戲服務(wù)器動(dòng)態(tài)擴(kuò)展。文中使用ZeroMQ主要用到他的通訊模式只有兩類(lèi)。

    1)請(qǐng)求回應(yīng)模型(Request-Reply)。

    該模型為請(qǐng)求端(REQ)發(fā)起請(qǐng)求,等待回應(yīng)端(REP)回應(yīng)。因REQ端均只能在單線(xiàn)程中運(yùn)行,因此必須要recv與send配對(duì)使用,但利用支持的路由功能(Router),加大了REQ端的擴(kuò)展性,如下圖3,在游戲服務(wù)器常見(jiàn)情景如:客戶(hù)端發(fā)起戰(zhàn)斗請(qǐng)求,服務(wù)端將復(fù)雜的運(yùn)算結(jié)果返回給客戶(hù)端。

    圖3 ZeroMQ的請(qǐng)求回應(yīng)模型

    2)發(fā)布訂閱模型(Publish-Subscribe)。

    訂閱端一旦連接上發(fā)布端就能收到發(fā)布端發(fā)送的消息,而沒(méi)連接上不影響發(fā)布端發(fā)布給其他訂閱端。同時(shí)如果發(fā)布端丟失,所有訂閱端都會(huì)等待發(fā)布端連接上直至發(fā)布新的消息,如下圖4所示。而對(duì)于訂閱端斷線(xiàn)重連消息丟失以及訂閱端后連接上而丟失消息均可有相應(yīng)解決方案。在游戲中實(shí)際常用在跨區(qū)玩法:不同游戲區(qū)組成一個(gè)跨區(qū)讓玩家玩一個(gè)模塊,跨區(qū)服相當(dāng)于發(fā)布端,其他游戲大區(qū)相當(dāng)于訂閱者,從而實(shí)現(xiàn)跨區(qū)消息傳送目的。

    圖4 ZeroMQ的發(fā)布訂閱模型

    3 游戲服務(wù)器應(yīng)用層設(shè)計(jì)

    應(yīng)用層采用PHP開(kāi)發(fā),開(kāi)發(fā)效率高,適合于頁(yè)游、手游這類(lèi)快速開(kāi)服平臺(tái)。采用高性能框架,采用內(nèi)存化數(shù)據(jù)緩存,能保證游戲邏輯快速響應(yīng)。

    3.1 開(kāi)發(fā)框架

    采用Yaf(Yet Another Framework)是由PHP核心開(kāi)發(fā)組成員惠新宸開(kāi)發(fā)一款用C語(yǔ)言擴(kuò)展開(kāi)源框,與其他框架CI、Zend Framework,Yii相比效率更高,無(wú)需編譯,在PHP啟動(dòng)時(shí)加載,并常駐內(nèi)存。優(yōu)化如圖5。

    圖5 優(yōu)化框架圖

    同時(shí)支持MVC(Model-View-Controller,應(yīng)用邏輯和表現(xiàn)邏輯分開(kāi))。游戲處理請(qǐng)求與發(fā)送請(qǐng)求代碼如下例:

    3.2 加密與安全

    由于PHP是一種腳本型語(yǔ)言,以明文方式保存在服務(wù)器,所以并不安全??梢圆捎肸end Guard Loader、ioncube等商業(yè)軟件來(lái)加密源代碼。

    3.3 優(yōu)化與加速

    由于PHP預(yù)編譯時(shí)會(huì)把源碼編成opcode緩存來(lái)達(dá)到加速目的,這里開(kāi)啟PHP5.5以后自帶OPCache[11],相對(duì)比eacce lerator、xcache、apc等緩存工具更穩(wěn)定。

    對(duì)于游戲邏輯中用到的大量配置文件,采用緩存到redis方法達(dá)到加速目的。

    3.4 模塊說(shuō)明

    3.4.1 游戲邏輯模塊

    采用MVC開(kāi)發(fā)模式,Models模型文件提供接口給Controller來(lái)處理游戲邏輯。

    3.4.2 登陸模塊

    由于目前手機(jī)游戲和網(wǎng)頁(yè)游戲大多聯(lián)合運(yùn)營(yíng),登陸、充值模塊都是以接口的方式與運(yùn)營(yíng)平臺(tái)通訊,所以這里采用WEB方式與平臺(tái)對(duì)接,與平臺(tái)驗(yàn)證成功便可進(jìn)入游戲邏輯。采用訪(fǎng)問(wèn)白名單方式來(lái)保證通訊安全,同時(shí)寫(xiě)入登陸日志以備查詢(xún)。

    3.4.3 充值模塊

    游戲開(kāi)發(fā)商提供充值接口與運(yùn)營(yíng)平臺(tái)充值平臺(tái)對(duì)接,來(lái)完成游戲內(nèi)充值。在游戲內(nèi)需要一個(gè)常駐進(jìn)程來(lái)處理來(lái)自運(yùn)營(yíng)平臺(tái)的充值邏輯。同樣這個(gè)接口需要設(shè)置白名單來(lái)保證安全性。由于充值會(huì)涉及很多游戲邏輯,所以這里將以隊(duì)列形式(如:Redis的List數(shù)據(jù)類(lèi)型)來(lái)處理。

    3.4.4 日志模塊

    1)一般游戲日志:如用戶(hù)消費(fèi)日志,使用日志一般均是在游戲邏輯中以數(shù)據(jù)庫(kù)形式保存,方便查詢(xún)和制作數(shù)據(jù)報(bào)表

    2)游戲運(yùn)行日志:包括游戲邏輯異常、worker進(jìn)程異常日志,一般以文本形式保存,方便改進(jìn)。

    4 結(jié)束語(yǔ)

    在游戲行業(yè)快速發(fā)展的今天,技術(shù)變化日新月異,不斷有更優(yōu)化、更適合的方案出現(xiàn)?;赑HP的socket游戲服務(wù)器方案優(yōu)點(diǎn)明顯,但也有一些缺點(diǎn)。若是計(jì)算密集型應(yīng)用,就無(wú)法體現(xiàn)出libevent提供的異步非阻塞IO的優(yōu)點(diǎn)。本文從基礎(chǔ)層、核心層以及應(yīng)用層三部分進(jìn)行系統(tǒng)的介紹,實(shí)現(xiàn)一種快速高效的解決方案。通過(guò)對(duì)實(shí)際游戲運(yùn)行測(cè)試,結(jié)果表明該服務(wù)器可實(shí)現(xiàn)較高的穩(wěn)定性和運(yùn)行速度,達(dá)到所需目的。

    [1](美)Pieter Hintjens.ZeroMQ:云時(shí)代極速消息通信庫(kù)[M].盧濤,李穎譯.北京:電子工業(yè)出版社,2015.

    [2]李子婷.基于分布式中間件的多人在線(xiàn)網(wǎng)絡(luò)游戲的構(gòu)建[D].上海:復(fù)旦大學(xué),2010.

    [3]陳俊,黃維平.分布式Memcached在社交游戲中的應(yīng)用研究[J].電腦知識(shí)與技術(shù),2011,7(10):2301-2305.

    [4]Kjetil Raaen,Hard Espeland&HonKvale Stensland.ADemonstration Of aLoekless,Relaxed Atomicity State Parallel Game Server[D].NorwaySimulaResearchLaboratory,2010.

    [5](美)Pieter Hintjens.ZeroMQ:云時(shí)代極速消息通信庫(kù)[M].盧濤,李穎譯.北京:電子工業(yè)出版社,2015.

    [6]深入理解Nginx[M].陶輝.北京:機(jī)械工業(yè)出版社,2013.

    [7](美)W.Richard Stevens,(美)BillFenner,(美)Andrew M.Rudoff.Tudoff.UNIX網(wǎng)絡(luò)編程卷1:套接字聯(lián)網(wǎng)API[M].3版.北京:人民郵電出版社,2010.

    [8]Redis設(shè)計(jì)與實(shí)現(xiàn)[M].黃健宏.北京:機(jī)械工業(yè)出版社,2014.

    The architectures of socket game server based on PHP

    WANG Sheng-lin
    (Shanghai Zhulin Network Inc.PostCode,Shanghai200120,China)

    Web games,mobile games fast development today,the game server need simplearchitectures,flexible configuationandsupport high-efficiencydevelopment.This paper presents the design of Socket server-based game,usehighefficiency PHP framework to develop the game logic,and game logicdon't need to care about the server communication details.This papermainly describes the system in three parts from the base layer and core layer and application layer.Among them,the base layer ismainly done to pave the way for the subsequent development of pre-module,which consists of data,protocolmodules;the core layer provide data communication and data storage;application layer is the base layer on the base,by calling each module server package and handling agreements.In order to improve server performance and speed,at the application layer adds libevent and ZeroMQ two open source model.In this paper,the proposed technology for the server based on the developmentofa good stability and speed.

    gameserver;Socket;libevent;ZeroMQ

    TM933.4

    A

    1674-6236(2016)20-0125-04

    2015-10-28 稿件編號(hào):201510208

    王盛林(1977—),男,湖北蘄春人,工程師。研究方向:網(wǎng)頁(yè)游戲移動(dòng)游戲系統(tǒng)架構(gòu)與開(kāi)發(fā)。

    猜你喜歡
    充值客戶(hù)端邏輯
    刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
    法律方法(2022年2期)2022-10-20 06:44:24
    邏輯
    創(chuàng)新的邏輯
    縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶(hù)端
    孵化垂直頻道:新聞客戶(hù)端新策略
    奇妙的智商充值店
    基于Vanconnect的智能家居瘦客戶(hù)端的設(shè)計(jì)與實(shí)現(xiàn)
    女人買(mǎi)買(mǎi)買(mǎi)的神邏輯
    37°女人(2017年11期)2017-11-14 20:27:40
    充值
    基于NFC的ETC卡空中充值服務(wù)應(yīng)用系統(tǒng)實(shí)現(xiàn)
    蜜桃亚洲精品一区二区三区| 色吧在线观看| 亚洲精华国产精华精| 最新在线观看一区二区三区| 成人精品一区二区免费| 日韩人妻高清精品专区| 亚洲内射少妇av| 春色校园在线视频观看| 午夜久久久久精精品| 在线观看舔阴道视频| 国产一区二区三区视频了| www日本黄色视频网| 我的女老师完整版在线观看| 国产精品女同一区二区软件 | 国产亚洲精品综合一区在线观看| 亚洲中文字幕一区二区三区有码在线看| 国产高清激情床上av| 听说在线观看完整版免费高清| 亚洲最大成人av| 狠狠狠狠99中文字幕| 亚洲七黄色美女视频| 男人狂女人下面高潮的视频| 国产亚洲精品av在线| 悠悠久久av| 亚洲av.av天堂| 亚洲黑人精品在线| 成熟少妇高潮喷水视频| 看免费成人av毛片| 亚洲美女视频黄频| 最后的刺客免费高清国语| 一卡2卡三卡四卡精品乱码亚洲| 国产精品不卡视频一区二区| 人人妻,人人澡人人爽秒播| 国产精品日韩av在线免费观看| 亚洲四区av| av黄色大香蕉| 午夜福利在线观看免费完整高清在 | 最近最新中文字幕大全电影3| 成年版毛片免费区| 久久久久久久久大av| 91久久精品国产一区二区成人| 在线免费十八禁| 精品国内亚洲2022精品成人| 麻豆久久精品国产亚洲av| 亚洲av美国av| 99精品久久久久人妻精品| 成人美女网站在线观看视频| 永久网站在线| 免费高清视频大片| 在线免费观看不下载黄p国产 | 天美传媒精品一区二区| 校园春色视频在线观看| 国产白丝娇喘喷水9色精品| av国产免费在线观看| 搡老妇女老女人老熟妇| 日本三级黄在线观看| 白带黄色成豆腐渣| 久久中文看片网| 美女cb高潮喷水在线观看| 日韩欧美国产在线观看| 亚洲无线观看免费| 久久精品国产亚洲av涩爱 | 亚洲人成伊人成综合网2020| 国产久久久一区二区三区| 成人精品一区二区免费| 国产av在哪里看| 狂野欧美激情性xxxx在线观看| bbb黄色大片| 日韩一区二区视频免费看| 我的老师免费观看完整版| 欧美黑人欧美精品刺激| 三级毛片av免费| 成人精品一区二区免费| 日本色播在线视频| 日本 欧美在线| 久久久久久久久久久丰满 | 一个人免费在线观看电影| 成人鲁丝片一二三区免费| 搡老熟女国产l中国老女人| 精品人妻1区二区| 国产精品自产拍在线观看55亚洲| 一级av片app| 两性午夜刺激爽爽歪歪视频在线观看| 婷婷六月久久综合丁香| videossex国产| 又爽又黄a免费视频| av天堂中文字幕网| 国产男人的电影天堂91| 最近在线观看免费完整版| 久久久久精品国产欧美久久久| 日本成人三级电影网站| 欧美精品国产亚洲| 亚洲欧美激情综合另类| 亚洲三级黄色毛片| 日本-黄色视频高清免费观看| 亚洲精品色激情综合| 国内精品宾馆在线| 免费av观看视频| av中文乱码字幕在线| 免费大片18禁| 亚洲国产精品久久男人天堂| 熟女电影av网| 亚洲最大成人av| 久久久国产成人精品二区| 欧美绝顶高潮抽搐喷水| 精品乱码久久久久久99久播| 别揉我奶头~嗯~啊~动态视频| 波多野结衣巨乳人妻| 中文字幕av成人在线电影| 九九热线精品视视频播放| 成人av在线播放网站| 国产激情偷乱视频一区二区| 亚洲精品一区av在线观看| 日日干狠狠操夜夜爽| 校园春色视频在线观看| 12—13女人毛片做爰片一| 国国产精品蜜臀av免费| 人妻久久中文字幕网| 国产黄片美女视频| 久久人人爽人人爽人人片va| x7x7x7水蜜桃| 又黄又爽又免费观看的视频| 久久久久久伊人网av| 国产亚洲精品久久久com| 国产精品野战在线观看| 黄片wwwwww| 色精品久久人妻99蜜桃| 免费在线观看日本一区| 国产一区二区三区av在线 | 黄色视频,在线免费观看| 91麻豆av在线| 麻豆久久精品国产亚洲av| 狂野欧美激情性xxxx在线观看| 老司机午夜福利在线观看视频| 老熟妇乱子伦视频在线观看| 国产精品人妻久久久影院| 午夜爱爱视频在线播放| 在线播放无遮挡| 最新中文字幕久久久久| 真人一进一出gif抽搐免费| 亚洲精华国产精华液的使用体验 | 久久精品人妻少妇| 69av精品久久久久久| 国产综合懂色| 此物有八面人人有两片| 日韩欧美精品免费久久| 日本一本二区三区精品| 国产高潮美女av| 嫩草影院精品99| 特大巨黑吊av在线直播| 国内少妇人妻偷人精品xxx网站| or卡值多少钱| 日韩欧美国产在线观看| 亚洲乱码一区二区免费版| 69av精品久久久久久| 国产色爽女视频免费观看| 久久久久久九九精品二区国产| 免费大片18禁| 午夜精品一区二区三区免费看| 波多野结衣高清无吗| 狠狠狠狠99中文字幕| 十八禁国产超污无遮挡网站| 此物有八面人人有两片| a在线观看视频网站| 国产av麻豆久久久久久久| 亚洲精品在线观看二区| 日本一二三区视频观看| 久久久久久久久久成人| 日日撸夜夜添| 久久久久性生活片| 亚洲人成网站在线播放欧美日韩| 国产一区二区激情短视频| 欧美中文日本在线观看视频| 九九在线视频观看精品| 偷拍熟女少妇极品色| 亚洲国产精品久久男人天堂| 日韩人妻高清精品专区| 日韩高清综合在线| 国产精品99久久久久久久久| 美女黄网站色视频| 国产中年淑女户外野战色| 久久久久国产精品人妻aⅴ院| 国产精品,欧美在线| 午夜激情欧美在线| 欧美区成人在线视频| 精品久久国产蜜桃| 国内久久婷婷六月综合欲色啪| 亚洲成人久久性| 18禁在线播放成人免费| 亚洲在线观看片| 亚洲精品在线观看二区| 男人和女人高潮做爰伦理| 中国美白少妇内射xxxbb| 日日撸夜夜添| 如何舔出高潮| 久久精品91蜜桃| 草草在线视频免费看| 天堂动漫精品| 中文亚洲av片在线观看爽| 日韩一本色道免费dvd| 久久这里只有精品中国| 少妇裸体淫交视频免费看高清| 极品教师在线视频| 亚洲av二区三区四区| 高清日韩中文字幕在线| 欧美一区二区亚洲| 99热这里只有是精品在线观看| 国产午夜精品论理片| 国产高清视频在线播放一区| 草草在线视频免费看| 99riav亚洲国产免费| 亚洲国产日韩欧美精品在线观看| 久久久久久久久久黄片| 精品日产1卡2卡| 免费观看在线日韩| 少妇猛男粗大的猛烈进出视频 | 精品人妻熟女av久视频| .国产精品久久| 狂野欧美激情性xxxx在线观看| 尤物成人国产欧美一区二区三区| 婷婷精品国产亚洲av在线| 国模一区二区三区四区视频| 国产精品99久久久久久久久| 波多野结衣高清作品| 国产单亲对白刺激| 国产女主播在线喷水免费视频网站 | 毛片一级片免费看久久久久 | 国产高清视频在线观看网站| 亚洲avbb在线观看| 欧美日本亚洲视频在线播放| 久9热在线精品视频| 少妇熟女aⅴ在线视频| 欧美精品国产亚洲| 一本精品99久久精品77| 精品国产三级普通话版| 成年免费大片在线观看| 日韩欧美 国产精品| 欧美黑人巨大hd| 成人精品一区二区免费| 亚洲av成人av| 尤物成人国产欧美一区二区三区| 美女大奶头视频| 精品欧美国产一区二区三| 日本熟妇午夜| 嫩草影院精品99| 精品久久久久久久久久免费视频| 3wmmmm亚洲av在线观看| 欧美丝袜亚洲另类 | 麻豆精品久久久久久蜜桃| 精品不卡国产一区二区三区| 国产黄色小视频在线观看| 日韩大尺度精品在线看网址| 一a级毛片在线观看| 内地一区二区视频在线| 搡老岳熟女国产| 禁无遮挡网站| 国产精品1区2区在线观看.| 噜噜噜噜噜久久久久久91| 亚洲av成人精品一区久久| 精华霜和精华液先用哪个| 别揉我奶头~嗯~啊~动态视频| 免费av不卡在线播放| 国内毛片毛片毛片毛片毛片| 国产精品电影一区二区三区| 他把我摸到了高潮在线观看| 国产亚洲欧美98| 1000部很黄的大片| 一本一本综合久久| 女同久久另类99精品国产91| а√天堂www在线а√下载| 欧美潮喷喷水| 亚洲av美国av| 老女人水多毛片| 日本色播在线视频| 欧美中文日本在线观看视频| 婷婷精品国产亚洲av在线| 久久久色成人| 亚洲第一区二区三区不卡| 少妇猛男粗大的猛烈进出视频 | 小蜜桃在线观看免费完整版高清| 亚洲av免费在线观看| 成熟少妇高潮喷水视频| 自拍偷自拍亚洲精品老妇| 亚洲国产色片| 国产一级毛片七仙女欲春2| 日韩av在线大香蕉| 又黄又爽又免费观看的视频| 听说在线观看完整版免费高清| 99热精品在线国产| 88av欧美| 国产aⅴ精品一区二区三区波| 久久精品久久久久久噜噜老黄 | 久久精品国产清高在天天线| 国产精品av视频在线免费观看| 无人区码免费观看不卡| 日韩一本色道免费dvd| 成年人黄色毛片网站| 精品福利观看| 女人十人毛片免费观看3o分钟| 韩国av一区二区三区四区| 国产黄a三级三级三级人| 精品久久久久久久久久久久久| 亚洲国产精品sss在线观看| 无人区码免费观看不卡| 97碰自拍视频| 午夜精品久久久久久毛片777| 国产老妇女一区| 日本爱情动作片www.在线观看 | 深夜a级毛片| 国产成人aa在线观看| 亚洲中文字幕日韩| 色播亚洲综合网| 91狼人影院| 91久久精品国产一区二区三区| 大又大粗又爽又黄少妇毛片口| 国产精品久久久久久精品电影| 免费看日本二区| 最好的美女福利视频网| 亚洲一区高清亚洲精品| 最好的美女福利视频网| 色视频www国产| 我的老师免费观看完整版| 午夜福利在线观看吧| 少妇熟女aⅴ在线视频| 国内毛片毛片毛片毛片毛片| 亚洲性久久影院| 国产一区二区三区在线臀色熟女| 午夜日韩欧美国产| 综合色av麻豆| 中文资源天堂在线| 最近视频中文字幕2019在线8| 亚洲av中文字字幕乱码综合| 亚洲av日韩精品久久久久久密| 免费在线观看日本一区| 精品久久久久久久久av| 欧美最黄视频在线播放免费| 国产精品一区二区三区四区久久| 午夜精品一区二区三区免费看| 亚洲一级一片aⅴ在线观看| 99久久成人亚洲精品观看| 午夜福利欧美成人| 成人亚洲精品av一区二区| 91av网一区二区| 又爽又黄无遮挡网站| 午夜福利在线在线| 美女高潮的动态| 精品人妻1区二区| 非洲黑人性xxxx精品又粗又长| 久久热精品热| 国产麻豆成人av免费视频| 国内少妇人妻偷人精品xxx网站| 欧美色视频一区免费| 成人特级黄色片久久久久久久| 国产精品久久视频播放| 在线天堂最新版资源| 俺也久久电影网| 亚洲人成网站在线播放欧美日韩| 99久久精品国产国产毛片| 日本成人三级电影网站| 美女cb高潮喷水在线观看| 日本黄色视频三级网站网址| 美女cb高潮喷水在线观看| 成人特级黄色片久久久久久久| 嫁个100分男人电影在线观看| 国产精品亚洲一级av第二区| 18禁裸乳无遮挡免费网站照片| 国产精品1区2区在线观看.| 夜夜爽天天搞| 亚洲人成网站在线播放欧美日韩| 亚洲四区av| 日本黄大片高清| 精品欧美国产一区二区三| 亚洲一区二区三区色噜噜| 久久久色成人| 国产高潮美女av| 熟女人妻精品中文字幕| 午夜福利高清视频| videossex国产| 国产精品99久久久久久久久| 欧美激情在线99| 99久久精品一区二区三区| 欧美bdsm另类| 久久精品国产亚洲av天美| 草草在线视频免费看| 久久精品国产鲁丝片午夜精品 | 色综合婷婷激情| 丰满乱子伦码专区| 成人永久免费在线观看视频| 久久久久久久精品吃奶| 国产老妇女一区| 国产精华一区二区三区| 老熟妇仑乱视频hdxx| 国产成人av教育| 又粗又爽又猛毛片免费看| 欧美xxxx性猛交bbbb| 中文字幕av成人在线电影| 99热6这里只有精品| 国产三级中文精品| 欧美丝袜亚洲另类 | 国产精品一区二区免费欧美| 精品久久国产蜜桃| 色5月婷婷丁香| 日本a在线网址| 亚洲av五月六月丁香网| 午夜福利在线观看吧| av.在线天堂| 国内精品宾馆在线| 一区二区三区高清视频在线| 韩国av在线不卡| 男女啪啪激烈高潮av片| 夜夜夜夜夜久久久久| 日本色播在线视频| 久久精品国产鲁丝片午夜精品 | 啦啦啦观看免费观看视频高清| 亚洲内射少妇av| 天堂av国产一区二区熟女人妻| 欧美日韩中文字幕国产精品一区二区三区| netflix在线观看网站| 一级毛片久久久久久久久女| 欧美日韩瑟瑟在线播放| 91久久精品国产一区二区成人| 国内精品一区二区在线观看| 亚洲va在线va天堂va国产| 身体一侧抽搐| 美女 人体艺术 gogo| av中文乱码字幕在线| 国产精品久久久久久久久免| 免费av毛片视频| 九色国产91popny在线| 天堂动漫精品| 国产亚洲精品av在线| а√天堂www在线а√下载| 一个人看的www免费观看视频| 中国美女看黄片| 不卡一级毛片| 亚洲成a人片在线一区二区| 精品久久久久久,| 国产精品久久电影中文字幕| 我的女老师完整版在线观看| 精品久久久久久久人妻蜜臀av| 久久久精品欧美日韩精品| 欧美人与善性xxx| 一区二区三区四区激情视频 | 亚洲最大成人中文| 性色avwww在线观看| 成人av一区二区三区在线看| 在线看三级毛片| 欧美bdsm另类| 久久久精品大字幕| 91久久精品国产一区二区三区| 久久精品国产亚洲av涩爱 | 国产黄色小视频在线观看| 国产精品1区2区在线观看.| 日本一二三区视频观看| 欧美+亚洲+日韩+国产| 老司机午夜福利在线观看视频| 国产伦精品一区二区三区视频9| 成人亚洲精品av一区二区| 少妇人妻一区二区三区视频| 精品久久久久久久人妻蜜臀av| 亚洲av免费在线观看| 联通29元200g的流量卡| 九九热线精品视视频播放| 精品一区二区三区av网在线观看| avwww免费| 亚洲avbb在线观看| 国产男人的电影天堂91| 真实男女啪啪啪动态图| 99热网站在线观看| 十八禁国产超污无遮挡网站| 中文字幕熟女人妻在线| 日韩精品中文字幕看吧| 国产精品嫩草影院av在线观看 | 亚洲精品日韩av片在线观看| 午夜久久久久精精品| 国产精品三级大全| 欧美精品啪啪一区二区三区| 久久国内精品自在自线图片| 男人舔奶头视频| 成人亚洲精品av一区二区| 久久久久久久久久黄片| 日日摸夜夜添夜夜添av毛片 | 不卡一级毛片| 美女高潮的动态| 久久99热这里只有精品18| 国产精品电影一区二区三区| 嫩草影院新地址| 小说图片视频综合网站| 非洲黑人性xxxx精品又粗又长| 男人舔女人下体高潮全视频| 成人美女网站在线观看视频| 深爱激情五月婷婷| h日本视频在线播放| 国产淫片久久久久久久久| 亚洲精品亚洲一区二区| 老司机福利观看| 99热只有精品国产| 国产伦在线观看视频一区| 男女视频在线观看网站免费| 22中文网久久字幕| 特大巨黑吊av在线直播| 免费电影在线观看免费观看| 精品久久久久久久人妻蜜臀av| 成人午夜高清在线视频| 亚洲国产高清在线一区二区三| 久久九九热精品免费| 国产av在哪里看| 亚洲第一电影网av| 露出奶头的视频| 国产精品98久久久久久宅男小说| 亚洲国产色片| 3wmmmm亚洲av在线观看| 国产探花在线观看一区二区| av视频在线观看入口| 亚洲一区二区三区色噜噜| 女人被狂操c到高潮| 国产精品国产三级国产av玫瑰| 国产精品人妻久久久久久| 日本爱情动作片www.在线观看 | 精品乱码久久久久久99久播| 国产午夜精品论理片| 久久久久国内视频| 亚洲真实伦在线观看| 精品午夜福利视频在线观看一区| 日本精品一区二区三区蜜桃| 中文资源天堂在线| 男插女下体视频免费在线播放| 人人妻人人澡欧美一区二区| 黄色丝袜av网址大全| 久久久久久国产a免费观看| 成人国产综合亚洲| 国产欧美日韩一区二区精品| 国产一区二区在线观看日韩| 日韩大尺度精品在线看网址| av视频在线观看入口| 夜夜看夜夜爽夜夜摸| 国产美女午夜福利| 午夜福利欧美成人| 免费一级毛片在线播放高清视频| 欧美zozozo另类| 国内少妇人妻偷人精品xxx网站| 99热这里只有精品一区| 丰满乱子伦码专区| 日本成人三级电影网站| 桃色一区二区三区在线观看| 88av欧美| 又黄又爽又免费观看的视频| 可以在线观看的亚洲视频| 欧美日本亚洲视频在线播放| 久久精品国产鲁丝片午夜精品 | 国产毛片a区久久久久| 国产精品嫩草影院av在线观看 | 能在线免费观看的黄片| 国产主播在线观看一区二区| 国产精品人妻久久久久久| 日韩高清综合在线| 日韩欧美精品v在线| 男女那种视频在线观看| 91在线精品国自产拍蜜月| 国内精品美女久久久久久| 一级av片app| 国产精品人妻久久久影院| 欧美精品啪啪一区二区三区| 久久国内精品自在自线图片| 亚洲精品一区av在线观看| 老师上课跳d突然被开到最大视频| 偷拍熟女少妇极品色| 日本黄大片高清| 一卡2卡三卡四卡精品乱码亚洲| 国产一区二区亚洲精品在线观看| av福利片在线观看| 麻豆av噜噜一区二区三区| 国产精品一区二区三区四区久久| 色综合色国产| 很黄的视频免费| 免费不卡的大黄色大毛片视频在线观看 | 亚洲午夜理论影院| 日本一二三区视频观看| 婷婷色综合大香蕉| 99久久精品一区二区三区| 中国美女看黄片| 国产精品无大码| 啦啦啦韩国在线观看视频| 丝袜美腿在线中文| 国产乱人视频| 99久久成人亚洲精品观看| 免费观看人在逋| 欧美一区二区精品小视频在线| 亚洲男人的天堂狠狠| 久久久精品欧美日韩精品| 国产午夜福利久久久久久| 如何舔出高潮| a级毛片免费高清观看在线播放| 国产熟女欧美一区二区| 婷婷丁香在线五月| 亚洲av日韩精品久久久久久密| 中文亚洲av片在线观看爽| 91麻豆av在线| or卡值多少钱| 身体一侧抽搐| 亚洲第一电影网av| 男女之事视频高清在线观看| 国产乱人视频| 国产色爽女视频免费观看| 久久6这里有精品| 大型黄色视频在线免费观看| 久久国产精品人妻蜜桃| 国产一区二区在线av高清观看| 女同久久另类99精品国产91| 91麻豆av在线| 日韩强制内射视频| 色哟哟哟哟哟哟| 亚洲第一电影网av| 一夜夜www| 久久久午夜欧美精品|