<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    深藍色心情

    過來聊聊~~~~

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks

    2011年7月7日 #


    親愛的你萌是不是覺得哀家已經放棄了小谷子,不不不,原因只是因為哀家最近比較懶木有更新而已。哀家每年總有那么十來個月是比較懶的~~【望天

    不過,這次更新絕對有貨!在7月中發,也用來紀念我家的小桔梗殿下吧。

    guzz 1.3.1 20120712更新介紹:

    大版本更新噢:

    1. 動態拼接SQL終于發布啦,等的花都謝了。現在,乃可以寫一個有條件的sql語句,然后在執行時,guzz娘會根據傳入的參數構造成真正需要的sql語句,然后再綁定參數執行。古娘默認是基于Velocity模板實現的,于是動態SQL拼接的語法、靈活性、易用性、學習成本是絕對足夠的,velocity文檔也是絕對的豐富和成熟。來仔細瞧瞧吧:http://code.google.com/p/guzz/wiki/TutorialTemplatedSQLService?wl=zh-Hans

    2. 受夠了一個一個的添加域對象到guzz.xml中?是解放自己的時候啦。面對著大半年來的各種訴求,1.3.1版這次終于良心發現,增加了package-scan功能【淚目】。咱們也可以掃描文件并批量添加business啦。介是這個腦殘:http://code.google.com/p/guzz/wiki/TutorialHbmPackageScan?wl=zh-Hans

    3. 在SQL中寫時間串就報錯? 雖然是小功能,但轉義字符支持這次還是放出來啦。不害怕SQL注入,一門心思拼接SQL語句的孩紙們請看這里:http://code.google.com/p/guzz/wiki/TutorialGuzzXml?wl=zh-Hans#sql語句中特殊字符轉義 。搞死就這么玩吧,勇士們自己被黑了求別黑我家小谷子。

    4. JDNI數據源這次也支持啦。感謝波波提供的代碼。借機也感謝波波提供的其他代碼。http://code.google.com/p/guzz/wiki/TutorialDatasourceProvider?wl=zh-Hans#guzz內置連接池實現 

    5. 其他小功能和bug修正,本宮就不廢話了。親愛的你萌有興趣就自己去對比SVN代碼吧。


    下面照例復制下宣傳介紹。

    什么是guzz?

    guzz是一套用于多數據庫編程的Java ORM框架,用于替代hibernate和ibatis,實現在一套系統中輕松使用多臺數據庫。guzz同時提供通用數據計算和配置管理等,簡化系統復雜度,為系統在數據層的設計提供一站式解決方案。

    guzz主要功能與特點:
    • 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
    • 支持應用程序使用大量的數據庫和主從讀寫分離
    • 支持數據庫表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
    • 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數據庫中(VirtualDB)
    • 支持超越范式的特殊關聯、非結構化數據等異構資源POJO模式的統一讀取
    • 支持組件化服務(SOA)和服務相互依賴,構建企業/項目實施基礎平臺
    • 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
    • 對于大部分場景,支持像hibernate一樣的對象持久、映射和方便的增刪改查,提高開發效率
    • 對于復雜場景,支持像ibatis一樣,讓DBA參與SQL設計的復雜數據庫操作和優化,以及SQL在線調試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理
    項目地址:http://code.google.com/p/guzz/
    文檔:http://code.google.com/p/guzz/wiki/AboutGuzz?tm=6
    下載:http://code.google.com/p/guzz/downloads/list 
    新浪微博:http://weibo.com/guzzframework
    扣扣群: 36429094  218658794
    Mail List:https://lists.sourceforge.net/lists/listinfo/guzz-mail-users


    posted @ 2012-07-18 08:32 深藍色心情 閱讀(1556) | 評論 (0)編輯 收藏

    guzz 1.3.0 20120222更新介紹: 

    本次為改進型更新: 

    1. 增加了默認的多properties配置文件支持。方便配置管理和部署。詳細介紹[url] http://code.google.com/p/guzz/wiki/TutorialAppProperties?wl=zh-Hans[/url] 

    2. WriteTemplate增加了2個新接口,方便更好的進行sql語句直接操作。 

    3. 修正了打印sql語句的錯誤配置方式。 

    什么是guzz? 

    guzz是一套用于多數據庫編程的ORM框架,用于替代hibernate和ibatis,實現在一套系統中輕松使用多臺數據庫。guzz同時提供通用數據計算和配置管理等,簡化系統復雜度,為系統在數據層的設計提供一站式解決方案。

    guzz主要功能與特點: 
    • 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
    • 支持應用程序使用大量的數據庫和主從讀寫分離
    • 支持數據庫表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
    • 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數據庫中(VirtualDB)
    • 支持超越范式的特殊關聯、非結構化數據等異構資源POJO模式的統一讀取
    • 支持組件化服務(SOA)和服務相互依賴,構建企業/項目實施基礎平臺
    • 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
    • 對于大部分場景,支持像hibernate一樣的對象持久、映射和方便的增刪改查,提高開發效率
    • 對于復雜場景,支持像ibatis一樣,讓DBA參與SQL設計的復雜數據庫操作和優化,以及SQL在線調試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理
    項目地址:http://code.google.com/p/guzz/ 
    文檔:http://code.google.com/p/guzz/wiki/AboutGuzz?tm=6 
    下載:http://code.google.com/p/guzz/downloads/list 
    新浪微博:http://weibo.com/guzzframework 
    扣扣群: 36429094 
    Mail List:https://lists.sourceforge.net/lists/listinfo/guzz-mail-users 

    posted @ 2012-02-22 15:29 深藍色心情 閱讀(1328) | 評論 (0)編輯 收藏

    12306主要就是賣票比較復雜,注冊登錄之類的功能就不說了。 

    有網友說,12306賣票系統比航空復雜,因為要分段賣,航空只有起點和終點,火車中間還有好多站。不過好消息是,這些站在售票時是連續的,不會出現1張票跳著站買的情況,這樣就可以把一張票拆成N張只有起點和終點的票,和航空售票一樣了。 

    賣票分為兩部分,查詢和購買。12306目前提供了單獨的查詢,我覺得這個其實挺好的,至少有讀寫分離的思想;不過延遲10分鐘的數據,肯定沒什么人愿意用,大家還是要擠進購買系統查詢。單獨的查詢相當于擺設了,沒有發揮作用。要讓查詢系統有效,尤其是春運期間,延遲應該在30秒之內。 

    查詢剩余票數設計: 

    查詢的特點是按照車次信息或者時間查,車次和時間一般都不會變,因此在設計時,可以把頁面分成兩部分。一是匹配的車次列表信息,如北京到上海有哪些車,這個結果可以用CDN緩存。車次基本是固定的,緩存設置為10分鐘應該就能滿足需要。不占用負載。在瀏覽器拿到這個頁面后,通過異步請求,根據每趟車的編號二次查詢剩余票數等實時數據,合并顯示。 

    車次查詢時,把車次信息分庫存儲,并作冗余存儲。好比這個庫提供所有北京->xxx的查詢,這個庫提供上海到xxx的查詢,這個庫提供廣州到xx的查詢,剩下的在一個大庫中等。車次變化很小,庫可以分散存,而且可以冗余存儲。用內存表也行,總數據量也不多,性能上沒什么可說的。 

    對于實時票數,確實是比較困難的,網上很多方案都不對,沒有考慮中間站的問題。剩余票數緩存并不好做。我的想法是,提前分好票,然后用單獨的數據結構做緩存。 

    例如,對于G113高鐵,共有8站:北京、德州、濟南、徐州、南京、常州、蘇州、上海。假設它有兩千張票,座位啊臥鋪啊啥的。在發票前,創建新表20120113_G113,然后把2000張票提前插入到表中,每個票都有一個本表內唯一的數字編號。表結構基本上就是:編號、起始站、終點站、座位類型、車廂、座位號、乘客姓名、乘客證件號碼、車票狀態等實際業務模型需要。初始化時,起點站就是北京(根據順序存儲為1),終點站就是上海(根據順序存儲為8),乘客信息空著表示尚未綁定乘客,車票狀態置為“待出售”。 

    這樣我們要查詢2012年1月13號G113 濟南->南京 的剩余票數時,就查詢20120113_G113起始站編號大于等于3并且小于等于5,并且狀態為“待出售”的記錄數就行了。 

    每張表2000條數據,對于非春運時節,性能完全足夠。對于春運時節,非繁忙路段,性能應該也足夠了。對于春運繁忙期,繼續看下面的。 

    車票出售基本流程: 

    用戶選擇車票并要求購買,系統鎖定票并標記狀態為“鎖定中”,讓用戶付款等。完成后標記車票為“已經發售”,并且更新用戶信息到車票的持有人信息字段中。此票不再出售。 

    對于中間站購票,假設用戶購買了 濟南->南京 ,前面流程不變。但完成出票后,將車票起始和終點站改為“濟南”和“南京”,并且自動插入兩張新票可用。一張是“北京->濟南”,一張是“南京->上海”,通知隊列更新相關緩存。相當于車票做了自動分裂。這樣我們設計時只需要把一張票設計為“只有起點和終點”就行了。 

    更高效的剩余票數查詢設計: 

    數據庫的count操作并不快,因此對于繁忙季節的繁忙表,每次都count是鐵定不行的。我想到的一個辦法是:把上面提到的預售車票表加載到內存中。我們用一個64位long類型數字表示一張車票,每趟車的每種座位類型是一個long數組。 

    對于每個long數字,前面的32位用來順序存儲32個車站(假設一趟車最多有32個站,沒查過,不行可以放長點),每一位標記“車票是否包含此站”。如G113 濟南到南京的票(車站順序為第3到第5站),long數字的第2到第4位設置為1,其他前32位設置為0。后面的32位用來表示車票在車票出售表中的唯一編號。這樣根據一個long類型數字,我們就能表述一張票的發售信息了。 

    比如2012年1月13號G113,有軟臥500張和硬臥1500張。那就需要兩個數組。20120113_G113_軟臥 對應一個長度500的long數組;20120113_G113_硬臥 對應一個長度1500的long數組。存儲所有售票信息。 

    有點類似BitSet的感覺,對空間要求不高。我們可以做個系統把所有車票信息按照這種結構加載到內存中。對于實時查票,如查詢2012年1月13號G113車次 濟南->南京 的余票,就是遍歷兩個數組,檢查位數為2和4的long數字有多少個,就直接獲得了軟臥和硬臥的剩余票數。對于現代計算機,這點遍歷,時間是納秒級的。 

    當車票被出售后,從long數組中刪除票信息,比如先置為-1表示已經無效。再用后臺線程實際刪除(避免寫沖突,將刪除延遲到重建一個數組所消耗的多少納秒內剛好沒有寫請求的時間段中)。如果long數組長度為0,那就是沒有車票了,直接返回0;用戶再怎么刷,也不會干擾數據庫。 

    更高效的剩余票數查詢方案的擴展性和容錯性: 

    本身車票是按照車次劃分的,同時也有時間維度,橫向擴展不存在任何問題。 

    long數組可以根據數據庫票務信息重新構造,而且成本不高(一條“select * from xxx where 狀態=待發售” SQL語句)。在硬件故障,擴容機器,或是發現數據不一致時,重新構造數組就行。而且可以從后臺異步做。擴展性和容錯性都不是問題。 

    售票交易與鎖票: 

    用戶查詢到有票后,填寫要購買的票數,提交。好比購買兩張硬臥,流程如下: 

    1. 在20120113_G113_硬臥long數組中隨機獲取符合要求的順序的兩個long數字,并將其從數組中刪除;這個速度很快,納秒級; 

    2. 根據long數字后32位,從數據庫中鎖票。如果全部鎖定成功,設置票為預定狀態,更新用戶預定信息,鎖票時間等。然后記錄日志等其他相關操作。如果鎖票失敗,說明在納秒級的時間內,票還是有沖突,購票失敗,直接返回報錯。鎖票就是數據庫行鎖,sql中的 select for update nowait。 

    3. 頁面提示錯誤,或者進入下一步交易流程,如網銀支付等。 

    在整個過程中,我們看到,用戶請求就算集中爆發,事務的沖突性也能降低到“隨機獲取的long數組值剛好一樣 + 在cpu執行2000個for循環的可能百萬分之一秒內剛好同時提交”。我覺得沖突概率應該很低很低。一趟車2000個車票,1:100比例也就20萬人同時搶,20萬人同1秒提交cpu也算的過來。而實際上,怎么可能一秒鐘有20萬人同時搶一趟車的票哪…… 

    在整個過程中,大部分請求都被long數組消耗完后,直接檢查long數組長度為0,提示無票攔截。進入數據庫階段的,也就是比實際的票數多一點點的有效訂單而已。 

    回票: 

    中間站買票的,在預定成功后,車票自動分裂,分裂的票可以通過隊列調度實時的回到long數組中,繼續服務。 

    預定后不買的,可以通過預定時間的超時檢查,后臺做個線程,讓票回歸。 

    歡迎討論。 

    微博:http://weibo.com/guzzframework 
    posted @ 2012-01-16 19:48 深藍色心情 閱讀(2499) | 評論 (1)編輯 收藏


    chrome插件,用于統一提醒來自gmail, yahoo,hotmail,新浪微博。。。等多家主流網站的新郵件或新通知。喜歡的朋友可以加入此項目,繼續加對更多網站的支持! 

    http://code.google.com/p/notifyall/ 
    posted @ 2011-12-01 13:16 深藍色心情 閱讀(2021) | 評論 (1)編輯 收藏

         摘要: guzz是一套用于多數據庫編程的ORM框架,實現在一套系統中輕松使用多臺數據庫。在這次更新中,您可以像配置Hibernate一樣配置Guzz,讓Spring進行聲明式的全局事務管理。Guzz Spring事務支持標準Spring事務的所有配置,除了嵌套事務和JTA。  閱讀全文
    posted @ 2011-11-24 08:43 深藍色心情 閱讀(1603) | 評論 (1)編輯 收藏

    功能:顯示來自Gmail, Hotmail, Yahoo Mail, Facebook, 新浪微博, 百度, 網易郵箱的未讀郵件和未讀消息數。并可以在提示框直接點擊打開查看。 

    地址:https://chrome.google.com/webstore/detail/pfpnamijjddnpholapdkhokmgnfkdfpp?hl=zh_CN 


    用于提高工作效率。 

    效果圖: 

     
    posted @ 2011-11-18 11:20 深藍色心情 閱讀(8757) | 評論 (7)編輯 收藏


    如無意外,本次更新為1.2.9最后一次更新,隨后將進行下一個大版本的開發,設計新的功能,歡迎提供想法。 

    guzz 1.2.9 20110830更新介紹: 

    本次更新: 

    1. fix issue 16. 為paramMapping 增加了type屬性,用于直接指定參數類型,用于在沒有java屬性直接可用的情況下,為參數設置強類型。 

    2. fix issue 14, 15。允許基于對象的數字類型,如Long, Integer設置和獲取null值。修正了nullValue屬性設置后無效的bug。 ”null”作為nullValue的保留字,用于將默認值設置為java null對象。 

    3. 增加了hbm.xml中新格式的支持。新支持的格式為: 
    <property name="xxx" type="java.lang.Long"> 
                <column name="col_xxxx" precision="18" scale="0" not-null="true"> 
                    <comment>注釋xxxx</comment> 
                </column> 
            </property> 

    4. 增加了對空sql參數的檢測。如 select xxx where abc in() xxx;當in 操作集合為空時,直接返回查詢結果為空,避免sql錯誤。檢測僅限于基于taglib和SeachExpression對象化的查詢。 

    5. 修訂了配置管理中,連接池類型參數無法重復讀取的bug。 

    6. 工程改成了maven管理。 

    什么是guzz? 

    guzz是一套用于多數據庫編程的ORM框架,用于替代hibernate和ibatis,實現在一套系統中輕松使用多臺數據庫。guzz同時提供通用數據計算和配置管理等,簡化系統復雜度,為系統在數據層的設計提供一站式解決方案。

    guzz主要功能與特點: 
    • 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
    • 支持應用程序使用大量的數據庫和主從讀寫分離
    • 支持數據庫表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
    • 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數據庫中(VirtualDB)
    • 支持超越范式的特殊關聯、非結構化數據等異構資源POJO模式的統一讀取
    • 支持組件化服務(SOA)和服務相互依賴,構建企業/項目實施基礎平臺
    • 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
    • 對于大部分場景,支持像hibernate一樣的對象持久、映射和方便的增刪改查,提高開發效率
    • 對于復雜場景,支持像ibatis一樣,讓DBA參與SQL設計的復雜數據庫操作和優化,以及SQL在線調試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理
    項目地址:http://code.google.com/p/guzz/ 
    文檔:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6 
    下載:http://code.google.com/p/guzz/downloads/list 
    posted @ 2011-08-30 17:11 深藍色心情 閱讀(1812) | 評論 (1)編輯 收藏


    基于分表和自定義表結構的日志系統。真正足夠靈活的,實現成本較低的通用日志架構。 

    新浪微盤下載PDF文檔:http://t.cn/aY8XIT 



    posted @ 2011-08-01 18:35 深藍色心情 閱讀(2740) | 評論 (2)編輯 收藏


    guzz 1.2.9更新介紹: 

    本次更新: 

    1. 優化了批操作接口。增加了默認的自動提交和清除選項,使得調用者可以連續插入百萬記錄而不用自己計數,手工分batchSize提交。默認batchSize的大小根據數據庫類型和版本,自動選擇性價比最合適的;當然調用者也可以在程序中修改。 

    2. 新提供Leader服務接口。Leader接口用于在集群環境下確認自己是不是主機,一個集群下一般只允許1臺主機。新提供的LeaderService僅為接口,開發者需要根據自身情況選擇適合自己的實現。halo-cloud工程實現了基于zookeeper的Leader服務,代碼:[http://code.google.com/p/halo-cloud/source/browse/trunk/misc/com/guzzservices/version/impl/ZKLeaderElectionServiceImpl.java] 

    什么是guzz? 

    guzz是一套用于多數據庫編程的ORM框架,用于替代hibernate和ibatis,實現在一套系統中輕松使用多臺數據庫。guzz同時提供通用數據計算和配置管理等,簡化系統復雜度,為系統在數據層的設計提供一站式解決方案。

    guzz主要功能與特點: 
    • 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
    • 支持應用程序使用大量的數據庫和主從讀寫分離
    • 支持數據庫表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
    • 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
    • 支持1張大表分切后的小表,分布到不同的數據庫中(VirtualDB)
    • 支持超越范式的特殊關聯、非結構化數據等異構資源POJO模式的統一讀取
    • 支持組件化服務(SOA)和服務相互依賴,構建企業/項目實施基礎平臺
    • 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
    • 對于大部分場景,支持像hibernate一樣的對象持久、映射和方便的增刪改查,提高開發效率
    • 對于復雜場景,支持像ibatis一樣,讓DBA參與SQL設計的復雜數據庫操作和優化,以及SQL在線調試
    • 更簡潔、更好用、更容易控制的批操作接口
    • 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
    • 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理
    項目地址:http://code.google.com/p/guzz/ 
    文檔:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6 
    下載:http://code.google.com/p/guzz/downloads/list 

    posted @ 2011-07-29 09:14 深藍色心情 閱讀(1548) | 評論 (6)編輯 收藏

    halo-cloud介紹 

    halo-cloud是什么? 

    可由1到100臺機器組成,并用普通編程方式擴展的小型私有云計算平臺。 

    halo-cloud有何價值? 

    不是每個公司都像google、像淘寶、像新浪微博一樣龐大,需要復雜的成千上萬臺機器組成的大型云計算平臺,那樣技術太復雜,成本太高。 

    更沒有多少中國公司會使用GAE、Amaze EC之類公共云平臺,那樣網絡吃不消。 

    對于普通的公司,100臺以內機器組成的私有云是最好的選擇。規模適中、容易開發、易于維護。 

    我們對云不炒作,不報幻想,只是希望有了他,我在一個項目中寫過一遍的功能代碼,在以后的項目中可以直接用,不用重復開發。我也不需要什么這規范那規范,因為我從不打算開放成公共云,夠我的主要項目用,速度快就好。 

    總的來說:我希望我的云是個云,沒有單點問題;我希望我的云可以節省我的開發和維護成本,基礎功能統統只用寫一遍就可以復用;我希望我的云速度快,不要有SOAP Web Service之類的問題,當我真的需要性能的時候;我希望我的云能讓現有的團隊來維護和繼續開發,不要學一大堆東西,甚至牽扯到個人悟性上。 

    這就是halo-cloud誕生的理由。私有的、小型的、簡單的云計算基礎服務平臺。你可以直接使用上面的服務,也可以低成本的在上面開發自己的新服務。 

    PS:如果你覺得云這個名字不爽,就叫他分布式基礎服務吧。 

    主要更新: 

    1. 新增任務調度功能。項目價值:使用quartz統一實現調度,對于java項目開發基本不在需要配置調度;對于php等不具備任務功能的語言,自動獲取某個頁面定時執行的新功能。 

    2. 新增郵件發送功能。項目價值:對于項目開發,基本不用在配置重復的配置郵件服務器,編寫郵件發送代碼。只需要調用一個API即可。 

    3. 服務器端增加客戶端感知功能。編寫服務器端程序時(服務提供者),新接口允許提供者獲知當前調用者的IP地址和端口,用于進行權限校驗等。 

    詳細說明:http://code.google.com/p/halo-cloud/wiki/AboutFAQ 

    項目地址:http://code.google.com/p/halo-cloud/ 





    posted @ 2011-07-07 08:43 深藍色心情 閱讀(1806) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 久草视频免费在线观看| 亚洲一区二区视频在线观看| 亚洲精品宾馆在线精品酒店| 亚洲国产成人久久一区久久| 亚洲国产成人片在线观看无码| 国产亚洲视频在线观看| 亚洲人成伊人成综合网久久久| www永久免费视频| 久久亚洲sm情趣捆绑调教| 日本免费人成黄页网观看视频| 亚洲欧洲国产综合AV无码久久| 一色屋成人免费精品网站| 视频一区在线免费观看| 亚洲视频在线免费观看| 免费真实播放国产乱子伦| 100部毛片免费全部播放完整| 久久亚洲国产成人精品性色| 国产成人免费全部网站| 91视频免费网址| xvideos永久免费入口| 亚洲香蕉成人AV网站在线观看| 国产偷伦视频免费观看| 亚洲a∨无码精品色午夜| 久久亚洲精品人成综合网| 亚洲午夜福利精品无码| 免费A级毛片无码免费视| 日本中文字幕免费高清视频| 美女一级毛片免费观看| 亚洲色一区二区三区四区| 亚洲激情在线视频| 国产成人麻豆亚洲综合无码精品| 国产好大好硬好爽免费不卡| 婷婷亚洲综合五月天小说在线| 亚洲情侣偷拍精品| 午夜影视在线免费观看| 国产成人精品免费视频大全麻豆| 亚洲国产成人99精品激情在线| 又黄又爽无遮挡免费视频| 中文字幕无码不卡免费视频| 一级毛片全部免费播放| 最新国产乱人伦偷精品免费网站 |