<xmp id="kys4e"><nav id="kys4e"></nav>
  • <xmp id="kys4e">
  • <menu id="kys4e"></menu>
    <nav id="kys4e"></nav>

    基于MEAN框架的實時數據共享競賽系統的設計與實現

    2019-07-03 02:31:14 軟件工程2019年5期

    石清

    摘? 要:在“互聯網+”概念的影響下,越來越多的信息技術應用于體育產業。如何充分地利用信息技術手段為體育競賽服務,如何使體育競賽組織工作更加高效,如何使競賽數據更加透明,是目前面臨的重要問題。結合摩托艇項目,利用MEAN框架,開發了一套實時數據共享競賽管理系統,并將基于RESTful接口的異步I/O模式貫穿于整個體育競賽系統中。該系統能有效降低獲取信息的成本,使參與者即時掌握賽事動態,提高工作效率,改善用戶體驗。

    關鍵詞:實時數據共享;競賽系統;MEAN框架;RESTful接口

    中圖分類號:TP311? ? ?文獻標識碼:A

    Abstract:With the influence of Internet+,more and more information technology is applied to the sports industry.The current major problems lie in how to make full use of information technology to serve sports competitions,how to make sports competition organization work more efficiently,and how to make competition data more transparent.In conjunction with the motorboat project,the real-time data sharing competition system is developed based on the MEAN framework,applying the RESTful-based asynchronous I/O mode to the entire sports competition system.The system can effectively reduce the cost of obtaining information and update participants with latest news and events,increasing work efficiency and improving user experience.

    Keywords:real-time data sharing;competition system;MEAN framework;RESTful interface

    1? ?引言(Introduction)

    近年來隨著科技的進步,尤其是“互聯網+體育”概念的提出,為體育產業帶來了顛覆性的影響,為整個行業的發展提供了新模式。社交媒體的廣泛應用不斷推動民眾參與體育的熱情,無論是手機還是各種可穿戴設備都被廣泛應用于體育相關的健身活動中。互聯網視頻平臺及新媒體已經成為社會主流觀賽和賽后討論渠道,各式各樣的體育信息平臺如雨后春筍般涌現出來。無論是體育電商、賽事直播,還是個人健身、互動交流,各類應用滿足了大眾個性化體育信息服務的需求,從個人到企業組織,乃至整個社會的信息化程度都越來越高。

    信息化的過程就是數字化的過程,進而數據化的過程。但是,如果要發揮數據的真正價值,僅僅把數據儲存在數據庫中是不夠的,而是要將數據進行分享。正如阿里巴巴首席技術官王堅在其著作《在線》中所提到的,“今天數據的意義并不在于有多大,真正有意義的是讓數據變得在線,這恰恰是互聯網的特點。為什么今天的淘寶數據值錢,因為它是在線的。寫在磁帶和紙上的數據,作用是有限的[1]。”隨著云數據庫技術的發展與運用,無論是哪種平臺在運行的過程中產生的數據都可以存儲在云數據庫中,而這些海量的數據都可以通過接口的形式實現共享,為今后大數據的分析和挖掘提供了前提。大數據與云計算技術的發展也給體育服務帶來了新的發展契機[2]。通過數據共享,分析和挖掘數據背后的邏輯聯系,進而有利于更加全方位的展現體育的輪廓和視角,無論是將這些分析結果應用于政策制定還是媒體傳播,都能使其信息更具深度性[3]。

    隨著我國體育賽事的逐漸增多,對競賽服務體系也提出了更高的要求[3]。而傳統競賽服務系統多采用C/S構架,前期需要較大的硬件成本投入,同時開發周期長,成本高,除個別大型綜合性賽事外,單項體育比賽的競賽系統幾乎不具備實時分享數據的能力。而普通基于B/S構架下的體育競賽信息管理系統功能多集中在運動員注冊與賽事報名上,功能較為單一。而一套基于B/S架構的輕量級全功能競賽管理系統,無論是在數據分享,系統可擴展性上,還是在快速開發和維護成本方便都將具有更大的優勢。

    2? ?相關技術介紹(Related technology introduction)

    MEAN框架是一個JavaScript平臺下現代Web開發框架的總稱,是MongoDB、Express、Angular、NodeJS四個框架的第一個字母組合的簡稱,該框架均使用JavaScript作為開發語言(Angular 2.0之后使用的是TypeScript),開發者無須在不同的語言之間切換,很好地適應了個人全棧開發的需求。

    2.1? ?NodeJS介紹

    NodeJS是一種基于Chrome V8引擎,用于搭建響應速度快、易于擴展的網絡應用的執行平臺。Chrome V8引擎針對JavaScript的編譯進行了優化,使得代碼運行速度獲得了極大提升,同時節約了開發成本[4]。

    2.2? ?Express介紹

    Express是一個基于NodeJS平臺的極簡、靈活的Web應用開發框架,它提供一系列強大的特性,可以方便地創建各種Web和移動設備應用。豐富的HTTP快捷方法和任意排列組合的Connect中間件,使創建健壯、友好的API變得既快速又簡單[5,6]。

    2.3? ?Angular 介紹

    Angular是一個基于HTML和TypeScript構建客戶端應用的平臺與框架。它是最著名的SPA框架之一,它能提供一種接近桌面應用程序的流暢用戶體驗單Web頁面應用程序,它集聲明式模板、依賴注入、端到端工具和一些最佳實踐于一身,能輕松地構建Web應用。

    2.4? ?MongoDB介紹

    MongoDB屬于NoSQL,其數據保存為JSON格式文檔,具有高性能、高可用性和自動擴展功能。其支持的數據結構非常松散,可以存儲比較復雜的數據類型。尤其適合項目早期開發過程中,數據結構尚未完全明確,需要高度靈活性的IT系統,并對數據庫性能要求較高,但不需要高度的數據一致性的開發場景。

    3? ?需求分析(Requirements analysis)

    實時數據共享競賽系統的設計與開發,是為了方便賽事的組織和管理,是通過互聯網實現信息的實時交互,打通所有溝通環節,無論是運動員的報名報項,還是競賽委員會公布比賽成績,都完全通過競賽系統完成。即實現了無紙化辦公,又提高了工作效率。其具體的功能需求如下所述。

    3.1? ?用戶信息管理

    面向的對象為運動員和俱樂部管理人員,主要功能是個人及俱樂部基礎信息管理,報名參賽信息管理等。

    3.2? ?競賽項目管理

    面向的對象為賽事主辦單位,主要功能是分布競賽通知、競賽項目設定、日程安排等賽事相關信息。

    3.3? ?競賽信息管理

    面向的對象為裁判委員會,主要功能是調整出發艇位,為競速類項目計時計圈,為表演類項目打分,對犯規進行處罰,計算項目積分,顯示實時成績,分布最終成績等。

    4? ?系統架構(System architecture)

    4.1? ?服務器構架

    為了提高系統安全性,以及后續的擴展能力,設計時采用將計算、數據庫和文件存儲分離的架構。整個系統都部署在阿里云體系中,即兼顧了高效率的彈性又縮減了自建服務器的成本,服務器構架如圖1所示。

    4.2? ?MEAN架構

    基于NodeJS、Express和MongoDB的架構可以方便的在服務器端創建一個MVC框架的系統。MongoDB結合Mongoose可以很好地管理模型層并進行持久化,所有的業務邏輯通過NodeJS和Express來完成[7-9]。服務器端無須設計View層,所有的數據都采用RESTful接口的形式向客戶端傳輸數據,所有接口都是通過Express路由route來設計完成。Angular通過Ajax向上述接口請求數據,并將獲取的數據綁定在Model對象上,并最終在View層中顯示出來[10-12]。

    對于一個用于解決體育競賽的Web應用程序來說,以輕量級去適應體育競賽本身的靈活多變,通過上述多層架構實現一個可重用性、簡單性、可擴展性、功能清晰分離的系統。

    5? 系統的設計與實現(System design and

    implementation)

    5.1? ?NoSQL數據庫的必要性

    作為體育競賽系統來說,其系統結構和數據結構受制于體育項目的競賽規則和競賽組織形式。而競賽規則間隔幾年就會有一次調整,競賽形式也會根據具體競賽條件進行調整。尤其是小眾的運動項目,變化就更為明顯。其根源上就已經決定了很難在事務處理上保持數據結構的恒定不變。而NoSQL由于其本身數據模式靈活,適合非結構化的數據存儲。

    在使用MongoDB來存取數據時,通常都是使用Schema來定義對象。它無須定義MySQL等關系型數據庫的id主鍵,系統會自動為每個文檔添加一個"_id"鍵,其默認類型為ObjectId對象,該對象并不屬于自增型數據,當有大量數據同時進行請求時,它無須等待上一個id序號存儲完成之后再進行存儲。對于體育競賽中多場次同時競賽的方式具有非常好的支持,MongoDB的該特性非常適合于異步IO的存儲方式。

    5.2? ?數據模型的設計與實現

    使用NoSQL數據庫MongoDB來存取數據,與使用其他關系數據庫(如MySQL)的語法區別并不明顯,轉換成本不高。而對于一個數據結構尚處于變化中的系統來說,使用MongoDB可能還具備一定的優勢。MongoDB本身提供的查詢語言非常強大,同時配合Mongoose,以類似于面向對象的方式來操作數據對象,實現數據的持久化。

    阿里云出于完全考慮,其MongoDB數據庫通常只能通過內網進行訪問,所以在開發過程中不能實時連接云數據庫進行調試,只能在本地建立一個相同的MongoDB數據庫。為了開發方便建立一個獨立的database configuration文件,單獨保存數據庫的設置,分別用于網絡與本地的數據庫連接。

    在NodeJS的app.js文件中配置MongoDB數據庫,分別在本地和阿里云數據庫建立相同的數據庫用于前期測試:

    5.3? ?文件管理服務的設計與實現

    系統在設計時采用將WEB服務器與文件服務器分離的模式,這樣可以分擔Web服務器的I/O負載,提高WEB服務器的性能和穩定性。同時,將耗費資源的文件服務分離出來,也可以有效地減少帶寬成本,提高訪問速度。

    創建文件服務器時選擇的是阿里云的對象存儲服務(Object Storage Service,OSS)。OSS擁有與平臺無關的RESTful API接口和SDK開發包,提供包括圖片格式轉換、縮略圖、剪裁、水印、縮放等多種增值服務,結合OSS進行開發,將使整個開發過程方便、快捷,并使系統的文件管理服務功能更加強大。

    系統中的文件管理服務開發是將OSS封裝在接口中,從而實現對接口的調用。封閉圖片上傳的函數定義如下:

    一般來說,將文件上傳到分離的WEB服務器和文件服務器上時有兩種方式。第一種是先把文件上傳到WEB服務器上,然后再轉到文件服務器;第二種是直接上傳到文件服務器上。系統在開發過程中選擇的是第一種模式,這主要是出于安全考慮,將OSS的寫入和刪除等功能設置為只能通過內網ECS才允許調用的模式,外網只允許對OSS中的文件進行讀取。同時OSS對于內網傳輸實行免費的計費模式也同時保證了該方案的經濟性。所以在項目設計和實施的時,所有文件在上傳過程中都必須從ECS服務器上進行中轉,中轉完成后原文件將在ECS服務器上立即刪除。如圖3所示。

    5.4? ?RESTful API接口的設計與實現

    該體育競賽系統建立在B/S構架之上,它不僅需要滿足競賽團隊在瀏覽器端發送的請求,同時還需要兼顧為比賽現場大屏幕提供實時競賽數據,以及為電視臺轉播提供實時競賽數據的需求。所以,系統的應用場景是一個IO密集、高并發的應用場景。而Node的異步I/O可以讓JavaScript的單線程很好的處理阻塞問題,使系統更好地利用云服務器的計算資源。同時,體育賽事的競賽數據本身需要其數據具備高可靠性,而Node異步I/O、非阻塞的特性正好滿足體育比賽的這些特征。一個基于Node框架下的RESTful API接口的WEB軟件架構不僅可以完美支持上述需求,還可以應對未來其他系統或其他終端對數據資源的需求。

    系統的業務邏輯和流程控制都是由獨立的Controller對象來實現,針對具體的業務流程,會有不同的控制器。以下僅以Message對象簡要說明實現過程。Message Controller對象定義如下:

    5.5? ?RESTful API接口的權限管理

    對于一個設計好的RESTful API接口來說,其本身是無狀態的,用戶可以從任意一種可以發送HTTP請求的終端向服務器發送請求。雖然這樣做保證數據的高效分享,但卻存在極大的安全隱患。系統在設計的過程中,將所有需要身份驗證和角色權限控制的接口只用node中間件的方式進行管理。使用JSON Web Token來驗證請求是否為注冊用戶發送,通過驗證注冊用戶role字段中是否包含特定數據,判斷用戶是否具有操作權限。

    5.6? ?前端界面的設計與實現

    Angular作為Google公司主推的前端應用框架,其自動化雙向數據綁定技術使Angular運行操作體驗與本地應用非常類似。而模塊化設計和依賴注入等技術都大大地提高了開發速度和軟件結構的彈性。系統前端界面的設計過程中充分利用Angular的特點進行設計,充分考慮用戶體驗,無論是用戶輸入還是查詢都具備Autocomplete功能。考慮到該競賽系統主要應用于國際賽事,使用Angular第三方組件ngx-translate完成多語言支持。通過獨立編輯en.json文件和zh.json文件完成語言包的開發,也可根據需要開發對更多種類語言的支持。語言包中所有定義的變量都將通過Angular pipe的方式最終在頁面中呈現,應用方法如下:

    6? ?結論(Conclusion)

    本文基于MEAN框架開發的摩托艇競賽系統,利用將計算、數據庫和文件存儲分離的架構提升了服務器端的安全性,結合RESTful API接口的設計提升了服務器端的易用性和可擴展性。在系統使用過程中,通過線上線下相結合的模式,大幅降低賽事參與各方的溝通成本,有效提高辦賽效率,提升所有賽事參與者的用戶體驗。該系統已成功應用于2017年中國柳州國際水上摩托公開賽,并首次在摩托艇項目中實現了無紙化辦賽,即節約了辦賽成本,也讓所有賽事參與者享受到“互聯網+體育”帶來的便利。

    參考文獻(References)

    [1] 王堅.在線[M].北京:中信出版社,2018.

    [2] 王朝霞.互聯網環境下體育產業服務發展模式創新研究[J].廣州體育學院學報,2016,36(5):18-21.

    [3] 周兵.大數據時代新聞報道中數據新聞的運用[J].中國統計,2018(8):20-22.

    [4] 陶倩.基于競賽規程的大型體育賽事競賽成績管理軟件系統模型研究[J].山東體育科技,2014(1):62-66.

    [5] 黃揚子.基于NodeJS平臺搭建REST風格Web服務[J].無線互聯科技,2015(16):57-59.

    [6] 王伶俐.基于NodeJS+Express框架的輕應用定制平臺的設計與實現[J].計算機科學,2017(11):596-599.

    [7] Haviv,Amos Q.MEAN Web Development:Master real-time web application development using a mean combination of MongoDB,Express,Angular JS,and Node.js[M/OL].Birmingham,UK:Packet Publishing.

    [8] Holmes,Simon(2015).Getting MEAN with Mongo,Express,Angular,and Node[M/OL].Shelter Island,NY:Manning Publishing.

    [9] Dickey,Jeff(2014).Write Modern Web Apps with the MEAN Stack:Mongo,Express,AngularJS, and Node.js(Develop and Design)[M/OL].San Francisco,CA:Peachpit Press.

    [10] 程桂花,沈煒,何松林,等.Node.js中Express框架路由機制的研究[J].工業控制計算機,2016,29(8):101-102.

    [11] 朱建兵.基于Node.js高并發網絡應用框架的研究與實現[D].北京:北京郵電大學,2013.

    [12] 周昆.基于Node.js的非阻塞多核心服務器設計與實現[D].廈門:廈門大學,2011.

    ?
    天福彩票平台天福彩票主页天福彩票网站天福彩票官网天福彩票娱乐 www.sxyl2.com | 3950l.com | www.60123z.com | www.7669mm.com | 7720i.com | 01019991.com | 97799q.com | www.304110.com | www.52062y.com | www.2078b.com | 35222rr.com | dz826.com | www.97655c.com | www.63iii.com | 77990.com | 9103kk.com | www.zcwf4.com | www.9bet005.com | www.365uu6.com | 5219l.com | www.32123v.com | www.zmfqp.net | www.088878.com | 2677vvv.com | drcp222.com | www.355284.com | www.68993257.com | www.e69096.com | www.9068bb.com | 4426234.com | 11018h.com | www.26199.com | www.3396877.com | www.bet3650114.com | xxx1915.com | e2649.com | www.9818o.cc | www.js89v.vip | www.777753.com | 01dd.cc | 11oo8332.com | bosw1.com | www.9928n.com | www.93955d.com | www.866666c.com | 0600t.cc | 61652j.com | 99bjlvip.com | www.qml3.com | www.48330h.com | www.365099.bet | www.6868565.com | 99151e.com | 1331aa.com | 70118x.com | www.hcjt6.com | www.zsjzxyy.com | www.548866.com | www.agg033.com | 91019d.com | 87965ii.com | 500000414.com | www.c9223.com | www.97828e.vip | www.mk939.com | www.93456.com | 88663015.com | 2021k.com | 6868ff.cc | www.577513.com | www.77210l.com | www.1559503.com | www.589tyc.com | www.pj733.cc | f35151.com | 4288ll.com | 8036x.com | 66876s.com | www.576679.com | www.61655b.com | www.8c333.com | www.bwinyz36.com | www.345446.com | www.41msc.com | 60876.com | tz6.com | 5802ww.com | 52688j.com | 6698510.com | www.760320.com | www.54400n.com | www.97jsc.com | www.32031r.com | www.98698g.com | www.29019.com | www.365815j.com | 58802x.com | 33382b.com | 30688a.com | 22665144.com | 2147dh.com | 76886u.com | www.262771.com | www.972283.com | www.01500w.com | www.7714p.com | www.jsggb02.com | www.04bet8.com | www.c559cc.com | www.tyc606.com | www.345594.com | www.l27229.com | www.hg520.com | 4066ll.com | 33115u.com | 11663885.com | 8036c.com | 20053399.com | 272y.net | 316i.cc | 509.com | 9479a3.com | 4773355.com | 316c.cc | dd00558.com | 5855pp.com | 2190e.com | 658089.com | by306.com | c7454.com | hg88814.com | 5589f.com | zb7288.com | www.65707i.com | www.234259.com | www.370933.com | www.607323.com | www.574277.com | www.799436.com | www.922069.com | www.918109.com | www.919509.com | www.785382.com | www.669773.com | www.795335.com | www.820335.com | www.682224.com | www.569380.com | www.370155.com | www.196049.com | 0730000.com | 2776x.com | js14r.com | 86611m.com | 26668l.com | 1665a.com | dd5144.com | 88894f.com | 29918t.com | 500000459.com | qq365p.com | 7062004.com | 473042.com | 44488d.com | 1340.com | www.7111v.com | www.aomenjinsha.com | www.j0055.com | www.557789.com | www.4828118.com | www.63606p.com | www.111158.com | www.790711.com | www.33112p.com | www.66ffm.com | www.530995.com | www.081501.com | 365aaa.vip | cabet266.com | 5219d.com | 00773vv.com | 44462949.com | www.fh8000.com | www.370370.com | www.500.cm | www.535082.com | www.ky1004.com | www.069wy.com | www.689631.com | 97297r.com | 9694k.com | j67890.com | 55797b.com | www.wns8848.com | www.yh8461.com | www.62266.cc | www.97994f.com | www.77803g.com | www.975627.com | 90307h.com | 19991i.com | 55967y.com | 55885156.com | www.155a56.com | www.yf230.com | www.1764i.com | www.8667z.com | www.621421.com | 3434b.com | 98955z.com | 44002007.com | www.sb9909.com | www.85088k.com | www.3066nn.com | www.55228b.com | www.361550.com | 3178qq.com | 12124.company | 9149c.com | www.063801v.com | www.4963j.com | www.9511888.com | www.aa0090.com | 88119r.com | 69444455.com | 20773399.com | www.3653517.com | www.xj7001.com | www.50024t.com | www.300388.com | ab5.com | 85698w.com | www.benz4411s.com | www.998855s.com | www.4833046.com | www.810527.com | rr01234.com | 45637s.com | www.alpk99.com | www.50999d.com | www.939781.com | www.330671.com | 3189uu.com | 2306n.com | www.22582.com | www.d3846.com | www.856657.com | 3928722.com | df8a.com | www.hg2258.com | www.178633.com | www.hx5577.com | 3mgmmmm.com | 3522ll.com | www.553843.com | www.0600c.cc | www.595477.com | 7599kk.com | ks2227.com | www.xam88888.wang | www.89777w.com | www.278207.com | 33599rr.com | www.56733w.com | www.77731r.com | www.81520l.com | 93996.com | 88993r.com | www.77537o.com | www.566733.com | www.dzh0.com | 603.com | 35252m.com | www.8722msc.com | www.61233t.com | wx3388.com | 00uu8331.com | www.413999.com | www.ya2019t.com | jnbzsj.com | w99345.am | www.xpj144.com | www.8d838.com | 0909.net | 5360t.com | www.808msc.com | www.78949d.com | 66335003.com | ss56988.com | www.20199uu.com | www.3890e.com | 9479c2.com | www.yh8005.com | www.00773x.com | www.960737.com | renxinbo.cc | www.655666i.com | www.4499nsb.com | www.115779.com | 3726m.com | www.76775c.com | www.9478y.com | hhhhh.com | www.vns6n6.com | www.69567n.com | www.214654.com | 7599.cc | www.900168.com | www.41518d.com | feicai0439.com | www.wnsr848.com | www.66074.com | 9193.cc | 55335004.com | www.1754h.com | www.055972.com | 3308a.com | www.559159.com | www.870933.com | 78808e.com | www.644234.com | www.3478i.cc | 7599f.com | www.70022.com | www.5091j.com | 838388e.com | www.44488u.com | www.50026s.com | 88850kk.com | www.32666w.com | www.88266f.com | 535pj.cc | www.dhygw46.com | www.50054y.com | 972t.com | www.0004111.com | www.cpkk6.com | swtyooo.com | www.797008.com | www.c5128.com | 9506g.com | www.qmc0044.com | www.550417.com | 25288p.com | www.848777k.com | www.52303i.com | feicai0756.com | www.805sun.com | 6168.cc | www.1112558.com | www.77802t.com | amjs119.com | www.phsun31.com | www.976387.com | 71707u.com | www.19019p.com | www.73736e.com | 8052.am | www.81608p.com | blr940.net | www.vns78999.com | www.808712.com | 20778888.com | www.56011t.com | csj800.com | www.ab99900.com | www.946854.com | y68681.com | www.jsdc9222.com | pj88488.com | www.hqr8888.com | www.856458.com | 85698u.com | www.835991.com | 444000ooo.com | www.34656.com | www.565639.com | hg07111.com | www.2418s.com | 444000q.com | www.614548.com | 55772007.com | www.xpj99688.com | www.998294.com | 30006o.com | www.42842808.com | 7893w2.com | www.rr55826.com | ff555u.com | www.y1818.cc | www.375736.com | www.3333jsc.com | www.80065y.com | 3679zz.com | www.738055.com | gamelyd.com | www.l7793.com | 957004.com | www.hg123300.com | www.420611.com | www.long260.com | www.8816s.com | 2127e.com | www.0889888.com | 566777u.com | www.73990q.com | 69990k.com | www.633756.com | 1665v.com | www.jm49.com | 500000858.com | www.e23012.com | www.66376a.com | www.7111q.com | www.515663.com | www.333222u.com | www.hm5522.com | 47749l.com | www.3416x.com | 8827hh.com | www.16878f.com | feicai0534.com | www.65707w.com | 22002007.com | www.29277g.com | 0080o.com | www.50024c.com | www.xj6002.com | 8200d.com | www.81508.com | 4465k.com | www.u98478.com | 55967y.com | www.hg15588.com | 88888448.com | www.66621q.com | 500000412.com | www.66082.cc | 6137s.net | www.915776.com | www.621155z.com | www.498266.com | www.58777r.com | www.072211.com | www.b21365.com | 0201.cm | www.8511msc.com | 4052l.com | www.4078e.com | 23478.com | www.68365r.com | 4448449.com | www.61655s.com | 2418008.com | www.919226.com | www.67797n.com | www.105886.com | www.341616.com | df6236.com | www.4078g.com | 4508uu.com | www.4331q.com | g35151.com | www.987434.com | www.c30226.com | 6396s.com | www.97596.com | cr288.com | www.99094z.com | i7454.com | www.hy9996.com | www.00829h.com | 9694j.com | www.9dcp.com | 3846ooo.com | www.7239m.com | mmmm4488.com | www.195622.com | www.hg7814.com | 14977.com | www.97828u.vip | 88807g.com | www.769117.com | www.6137f.com | 112d.net | www.14341434.com | 6830ff.com | www.500021.com | www.980999.com | 20053355.com | www.js20016.com | www.laok111.com | www.021037.com | www.c44.com | 04666f.com | www.8039s.com | www.8188zr.com | 6245k.com | www.535081.com | 1077uuu.com | www.370933.com | www.w12111.com | 0667.com | www.77czt.com | www.xpj810.com | 5551779.com | www.4331g.com | www.111xpj88.com | 3122vip7.com | www.0600k.cc | 233235.com | ty262.com | www.704909.com | 229649.com | www.338031.com | www.sscb3.com | 3522kk.com | www.619477.com | www.63msxfptb.com | 3467w.am | www.802190.com | www.38238y.com | 8538a.com | www.836595.com | www.hjdc48.com | 3435c.com | www.673290.com | www.cp67774.com | 650877.com | www.436106.com | www.hga66600.com | jindaye88.com | www.093827.com | www.00778x.com | jl77777.com | 56988xx.com | www.1434e.com | www.32126m.net | 88119n.com | www.80075s.com | www.hg0006.com | 11005t.com | www.921677.com | www.20199cc.com | 11005k.com | www.80075e.com | www.y6094.com | www.hgc333.com | 3667yh.com | www.52072z.com | www.hg8357.com | 40033nnn.com | www.372918.com | www.4996qj.com | ss5144.com | 3778mm.com | www.35918x.com | www.23336.com | www.ky1008.com | www.69111k.com | 78808k.com | www.276081.com | www.40288o.com | www.7338007.net | 972t.com | www.858899.com | www.xpj2070.com | 77665156.com | lc99k.com | www.3126u.com | www.8494r.com | www.73736f.com | www.hg0423.com | 8569811v.com | v22999.com | www.606756.com | www.lhcbm.com | 7508e.com | 4694.com | www.83033w.com | www.hg8376.com | 3121w.com | 5478a.com | www.2934v.com | www.c555.com | www.js388999.com | dadidaohang.com | www.655870.com | www.20000.cc | www.7111x.com | 3846xx.com | 11ii8331.com | www.50064j.com | www.35252l.com | 54140055.com | 2072.com | www.277474.com | www.5956868.com | www.3680.com | 55gg8331.com | d8159.cc | www.342577.com | www.55717.com | www.437999.com | 88770.com | 22890.co | www.530396.com | www.666999qipai.com | www.778849.com | p533.cc | q3410.com | www.388229.com | www.28891j.com | www.3030011.com | www.xin2.net | rr444000.com | 660499.com | www.xpj7707.com | www.hg55.com | hfjxss.com | 1339.com | 2618w.com | www.8667s.com | www.am13579.com | www.1770q.com | 2569005.com | u72227.com | www.0377555.com | www.32123q.com | www.bet63o.com | www.jsjlb8.com | 500000370.com | 8722pppp.com | a1654.com | www.w931.com | www.1764t.com | www.3033b.com | www.28758u.com | 2127tt.com | 1479i.com | www.61655i.com | www.xjs8896.com | 4955y.com | 26444x.com | www.xcw866.com | www.29277t.com | www.73990x.com | www.awwv.cc | www.sun8558.com | 4647x.com | 673305.com | 6613699.com | www.769117.com | www.dayou567.com | www.1429g1.com | www.848033.com | www.617704.com | 68228u.com | 30179933.com | 2618i.com | www.177584.com | www.1368z.cc | www.6678698.com | www.pj88h.com | www.761111.com | www.7720e.com | fff8827.com | q4389.com | 87665.com | 91019i.com | www.670369.com | www.60007j.com | www.7920v.com | www.4963ee.com | www.88597.com | www.196303.com | www.caim3.com | www.7714d.com | www.2566y6.com | www.v3065.com | www.6372010.com | www.4625s.com | 1624xx.com | w77304.com | 53262.com | 3640yy.com | bfvip88.com | x292888.com | www.509433.com | www.33112t.com | www.5856889.com | www.j83377.com | www.428166.com | www.662678.com | www.v771177.com | www.38200r.com | 99111ww.com | 08530007.com | 96678.com | 5350u.com | 55899o.com | g86811.com | 01234rr.com | 196979.com | www.89894e.com | www.497918.com | www.903559.com | www.1368c.cc | www.33588h.com | www.3978z.com | www.9989576.com | www.3678.com | www.v2894.com | www.4996sc.com | www.138136.com | www.55526k.com | www.hg9010.com | www.hg7651.com | www.hg4748.com | www.0860v.com | www.7607677.com | www.6491r.com | www.wns365.com | www.1869s.com | 73999g.com | 2595j.com | 2595b.com | 30007v.com | 2247x.com | xsj027.cc | 168cp-m.com | 3258z.com | n47479.com | 22556u.com | 5003nn.com | 33313s.com | www.86611m.com | www.xx0088.com | www.hg148.com | www.sun008.cc | www.xj9900.com | www.28758x.com | www.36536509.com | www.h7788v.com | www.t8003.com | www.pj6545.com | www.3215503.com | www.44488.cc | www.yh843.com | www.70389.com | www.0849.com | www.02bet8.com | www.hgdc300.com | www.99552qq.com | www.792063.com | www.7886278.com | www.110287.COM | www.50732m.com | www.1035a.com | www.966083.com | www.602952.com | www.286967.com | 45637v.com | 00084066.com | 838388a.com | 11018y.com | 9068i.com | 62222k.com | 28483000.com | www.15000552959.com | www.1347-05.com | www.yh556699.com | www.xam03.com | www.yl258.com | www.am00000.com | www.wnsr118.com | www.ky1001.com | www.3479k.com | www.800471.com | www.3616g.com | www.234k7.com | www.55070v.com | www.12136d.com | www.4923g.com | www.2632l.com | www.699915.com | www.60007a.com | 7003a.com | 9958999.com | 3467z.am | 220414.com | www.vns9983.com | www.004716.com | www.20199ss.com | www.http://459155.com/ | www.456258.net | www.9818c.cc | www.580820.com | 0077buyu.com | 7736r.com | p8159.cc | 44ww8331.com | www.p22365.com | www.110483.com | www.4996ln.com | www.959595.la | www.6fa500.com | www.320662.com | 33111199.com | c89kj213.com | 666df8.com | www.1018555.com | www.4797.com | www.f69096.com | www.683909.com | www.977657.com | 0009193.com | afcp04.com | 08530004.com | www.md006.com | www.036888.com | www.17k0048.com | www.07163i.com | www.712012.com | 256777v.com | 3999xl.com | 2455l.com | www.05125b.com | www.d526688.com | www.55717s.com | www.cai345.cc | 3678q.com | 0615004.com | 256777e.com | www.0393901.com | www.80969y.com | www.ya2019g.com | www.658252.com | 80032233.com | 3522s.cc | www.4759rr.com | www.z3285.com | www.1841222.com | www.hx6695.com | 2648.com | 4152.com | www.22567.com | www.sb270.com | www.099018.com | www.818646.com | 3122qq.com | 88442007.com | www.3459i.com | www.j3065.com | www.7239r.com | www.196903.com | 00774oo.com | 88807z.com | www.734555.com | www.642486.com | www.843879.com | 18438p.com | 6150s.com | www.xpj1570.com | www.73990z.com | www.hm6622.com | 22571333.com | a2490.com | www.0099ooo.com | www.9895h.com | www.ck8299.com | 6594tt.com | bwin8t.com | www.734069.com | www.36yl.com | www.591733.com | 1094bo.com | 51335w.com | www.jjjj007.com | www.yh76b.com | www.55228i.com | 974022.com | www.67797g.com | www.3983184.com | www.csgc1.com | 272pp.net | 1077rrr.com | www.dbz9.com | www.91junzi.com | x59.com | 00773q.com | www.hotelisboa.com | www.780780f.com | www.500823.com | 01234v.com | www.30765.com | www.80188w.com | www.937150.com | 55967a.com | 5517.com | www.00772z.com | www.c4527.com | 4323v.com | www.pu5555.net | www.16181t.com | www.c5127.com | vv40033.com | www.cp2y.com | www.4996wh.com | www.767397.com | 86688008.com | www.hg3968.com | www.w84f.com | www.330732.com | xpj08000.com | www.hg7869.com | www.jgj.205115.com | 2229vip.com | 70118b.com | www.849suncity.com | www.7782w.com | 5528839.com | www.hg444.tw | www.a12189.com | www.514077.com | 3640.vip | www.67843.com | www.78700c.com | 0128765.com | www.033033p.com | www.06820n.com | www.370766.com | 5295.com | www.110483.com | www.5095d.com | jixiang.com | www.56520f.com | www.3775b.com | 500000853.com | 4997n.com | www.vns6601.com | www.411515.com | 18438z.com | www.078999.com | www.rrle3.com | pj520.com | www.03688.com | www.36788q.com | 45460006.com | www.9996pp.com | www.0659.com | bcylc88.com | www.95679.com | www.48330a.com | 0015pp.com | www.sb7744.com | www.1538222.com | 168cp-r.com | 73567tg17.com | www.42070016.com | 3258k.com | www.81866l.com | www.78680i.com | 272tt.net | www.js255.com | www.xx888.cc | yd12302.cc | www.hg2218.com | www.jzvip11.com | 2820j.com | www.9996xx.com | www.80767c.com | 88740a.com | www.tjflcpw.com | www.78gcw.com | z21148.com | www.hg068008.com | www.566217.com | 00ww8332.com | www.http://09991.com | bm1288.cc | www.jtx888.com | www.131095.com | 2222bj.com | www.6707555.com | www.lqc0.com | 3614m.com | www.86999.com | www.035989.com | ag1515a.com | www.x33789.com | 15a46.net | www.vnsr2018g.com | www.777768a.com | 4182l.com | www.3983184.com | w32689.net | www.www-77000.com | www.49956s.com | 23599s.com | www.58665w.com | www.68568u.com | www.vns4858.com | www.954321q.com | yhw8.cc | www.15786.com | www.286967.com | 6033d.com | www.5337933.com | 33uu8331.com | www.mk936.com | www.186763.com | www.86611m.com | www.0270i.com | 795939.com | www.98698i.com | 96155.com | www.88807m.com | www.chi32.com | 473042.com | www.535087.com | 1106.com | www.333777k.com | www.217113.com | www.yh8009.com | www.43818j.com | 4329822.com | www.06386666.com | 7742vv.com | 2381006.com | www.3170006.com | www.576679.com | 1hg7788.com | www.71399j.com | 3559bbbb.com | www.79095a.com | 61652m.com | www.xj2233.com | www.77114o.com | www.127788.net | www.ay7799.com | 3121b.com | www.99677m.com | www01234.com | www.3w28.com | a757055.com | www.tycyl.cc | zz8159.cc | www.786666.com | 4195jj.com | www.58777l.com | www.665771.com | www.jin444.com | www.3479u.com | 009900k.com | www.bet73w.com | 8037a.com | www.130a56.com | 6556pk.com | www.33678kk.com | 288-6.com | www.5446hh.com | 505ooo.com | www.c51ii.vip | feicai0417.com | www.44508.com | 3379y.com | www.wns47.com | 19990cc.com | www.3844a.com | www.055969.com | www.25288z.com | www.304110.com | www.88807r.com | www.530396.com | www.bet9339.com | www.602587.com | www.fed888.com | www.520462.com | www.21365tt.com |