• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種數據推送方法和時序控制器以及數據推送系統技術方案

    技術編號:14526422 閱讀:141 留言:0更新日期:2017-02-02 05:49
    本發明專利技術公開了一種數據推送方法和時序控制器以及數據推送系統,提高應用程序服務器的數據讀寫效率。本發明專利技術實施例提供一種數據推送方法,包括:接收交互式應用服務器分別發送的至少兩個數據包,將接收到的至少兩個數據包分別存儲到本地緩存隊列中;從本地緩存隊列中取出第一數據包,將第一數據包發送給應用程序服務器,由應用程序服務器使用第一數據包與存儲服務器進行讀寫處理;獲取在當前時刻應用程序服務器是否完成對第一數據包的讀寫處理;若在當前時刻應用程序服務器已經完成對第一數據包的讀寫處理,從本地緩存隊列中取出第二數據包,將第二數據包發送給應用程序服務器,由應用程序服務器使用第二數據包與存儲服務器進行讀寫處理。

    【技術實現步驟摘要】

    本專利技術涉及通信
    ,尤其涉及一種數據推送方法和時序控制器以及數據推送系統
    技術介紹
    在應用程序(Application,APP)里需要展示用戶數據,例如在游戲類的APP中需要展示玩家在游戲里的數據,包括玩家信息、好友列表、比賽戰績等。這些數據的產生來自游戲服務器,游戲服務器會在數據產生后推送一份給APP服務器,APP服務器再保存起來供用戶查詢。游戲服務器向APP服務器推送的數據量較大時,通常采用分包的方法來推送數據,即將一個較大的數據包拆分為多個較小的數據包推送至APP服務器。APP服務器就會在極短時間內接收到來自同一個用戶的多個數據包。由于APP服務器在處理每一個數據包時,都要對存儲服務器進行讀和寫兩次操作,在保存數據的時候就會遇到高并發讀寫沖突的問題,導致數據保存失敗或數據讀寫效率過低,APP服務器短時間內接收到多個數據包,APP服務器要進行針對每個數據包都進行一次讀寫操作,而這些讀操作和寫操作之間的順序是隨機的,因此可能會出現讀出來的數據不是所需要的數據,寫入的數據覆蓋了其他服務器所寫的數據,這種問題稱之為并發性讀寫沖突。現有技術中針對并發性讀寫沖突的一種解決方法是采用比較并交換(CompareAndSwap,CAS)操作的方法進行加鎖讀寫。具體的,APP服務器在對存儲服務器的某個位置上存儲的數據進行讀寫操作時采用CAS操作,CAS操作包含三個操作數:內存位置、預期原值和新值。如果內存位置的值與預期原值相匹配,那么APP服務器會自動將該位置值更新為新值。否則,APP服務器不做任何操作,因此通過加鎖讀寫的方式可以解決并發性讀寫沖突。但是本專利技術的專利技術人在實現本專利技術的過程中發現,上述CAS操作的方式需要針對每次讀寫操作都進行加鎖,并且還需要進行值的判斷,這會導致APP服務器的數據讀寫效率很低,并且這種方式并無法緩解高并發的讀寫沖突對APP服務器造成的極大處理負荷。
    技術實現思路
    本專利技術實施例提供了一種數據推送方法和時序控制器以及數據推送系統,能夠采用無鎖讀寫的方式解決并發性讀寫沖突對應用程序服務器造成的處理負荷,提高應用程序服務器的數據讀寫效率。第一方面,本專利技術實施例提供一種數據推送方法,包括:接收交互式應用服務器分別發送的至少兩個數據包,將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中;從所述本地緩存隊列中取出第一數據包,將所述第一數據包發送給應用程序服務器,由所述應用程序服務器使用所述第一數據包與存儲服務器進行讀寫處理;獲取在當前時刻所述應用程序服務器是否完成對所述第一數據包的讀寫處理;若在當前時刻所述應用程序服務器已經完成對所述第一數據包的讀寫處理,從所述本地緩存隊列中取出第二數據包,將所述第二數據包發送給所述應用程序服務器,由所述應用程序服務器使用所述第二數據包與所述存儲服務器進行讀寫處理。第二方面,本專利技術實施例提供一種時序控制器,包括:數據包存儲模塊,用于接收交互式應用服務器分別發送的至少兩個數據包,將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中;第一發送模塊,用于從所述本地緩存隊列中取出第一數據包,將所述第一數據包發送給應用程序服務器,由所述應用程序服務器使用所述第一數據包與存儲服務器進行讀寫處理;數據推送確定模塊,用于獲取在當前時刻所述應用程序服務器是否完成對所述第一數據包的讀寫處理;第二發送模塊,用于若在當前時刻所述應用程序服務器已經完成對所述第一數據包的讀寫處理,從所述本地緩存隊列中取出第二數據包,將所述第二數據包發送給所述應用程序服務器,由所述應用程序服務器使用所述第二數據包與所述存儲服務器進行讀寫處理。第三方面,本專利技術實施例提供一種數據推送系統,包括:交互式應用服務器、如第二方面中任一項所述的時序控制器、應用程序服務器和存儲服務器,其中,所述交互式應用服務器和所述時序控制器之間建立有通信連接,所述時序控制器和所述應用程序服務器之間建立有通信連接,所述應用程序服務器和所述存儲服務器之間建立有通信連接;所述交互式應用服務器,用于向所述時序控制器發送至少兩個數據包;所述應用程序服務器,用于接收所述時序控制器發送的第一數據包,使用所述第一數據包與所述存儲服務器進行讀寫處理;接收所述時序控制器發送的第二數據包,使用所述第二數據包與所述存儲服務器進行讀寫處理;所述存儲服務器,用于和所述應用程序服務器進行所述第一數據包的讀寫處理交互;和所述應用程序服務器進行所述第二數據包的讀寫處理交互。從以上技術方案可以看出,本專利技術實施例具有以下優點:本專利技術實施例中,交互式應用服務器并不是直接和應用程序服務器進行數據推送,交互式應用服務器發送的至少兩個數據包先被存儲到本地緩存隊列中,然后從本地緩存隊列中先取出第一數據包,該第一數據包被轉發給應用程序服務器,本專利技術實施例中在第一數據包發送之后,需要獲取在當前時刻應用程序服務器是否完成對第一數據包的讀寫處理,只有在當前時刻應用程序服務器已經完成對第一數據包的讀寫處理時,本專利技術實施例才會從本地緩存隊列中繼續取出第二數據包,該第二數據包被轉發給應用程序服務器。也就是說,本專利技術實施例中并不改變交互式應用服務器發送多個數據包的處理方式,但是交互式應用服務器發送的多個數據包并不是同時到達應用程序服務器,而是第一數據包、第二數據包按照串行處理的方式依次發送給應用程序服務器,該應用程序服務器在第一數據包處理完成之后才會接收到第二數據包,對于應用程序服務器而言,并不是在很短時間內接收到大量數據包,因此本專利技術實施例可以緩解應用程序服務器的高并發的讀寫沖突,減少應用服務器的處理負荷。本專利技術實施例通過對多個數據包的時序調控,串行化地處理數據讀寫,以無鎖的形式避免了讀寫沖突,提高了數據讀寫性能,同時也保證了數據包的完整性。附圖說明圖1為本專利技術實施例提供的數據推送方法的一個實施例的流程示意圖;圖2為本專利技術實施例提供的數據推送方法的系統架構示意圖;圖3為本專利技術實施例的數據推送系統內的一種交互流程示意圖;圖4為本專利技術實施例的數據推送系統內的另一種交互流程示意圖;圖5是本專利技術實施例提供的一種時序控制器的組成結構示意圖;圖6是本專利技術實施例提供的數據推送方法應用于服務器的結構示意圖;圖7是本專利技術實施例提供的一種數據推送系統的組成結構示意圖。具體實施方式本專利技術實施例提供了一種數據推送方法和時序控制器以及數據推送系統,能夠采用無鎖讀寫的方式解決并發性讀寫沖突對應用程序服務器造成的處理負荷,提高應用程序服務器的數據讀寫效率。為使得本專利技術的專利技術目的、特征、優點能夠更加的明顯和易懂,下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本專利技術一部分實施例,而非全部實施例。基于本專利技術中的實施例,本領域的技術人員所獲得的所有其他實施例,都屬于本專利技術保護的范圍。本專利技術的說明書和權利要求書及上述附圖中的術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統、產品或設備不必限于那些單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它單元。本專利技術實施例應用于數據推送過程中對應用程序服務器容易產生的并發性讀寫沖突進行有效緩解,首先對本專利技術實施例提供的數據推送方法應用的系本文檔來自技高網
    ...

    【技術保護點】
    一種數據推送方法,其特征在于,包括:接收交互式應用服務器分別發送的至少兩個數據包,將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中;從所述本地緩存隊列中取出第一數據包,將所述第一數據包發送給應用程序服務器,由所述應用程序服務器使用所述第一數據包與存儲服務器進行讀寫處理;獲取在當前時刻所述應用程序服務器是否完成對所述第一數據包的讀寫處理;若在當前時刻所述應用程序服務器已經完成對所述第一數據包的讀寫處理,從所述本地緩存隊列中取出第二數據包,將所述第二數據包發送給所述應用程序服務器,由所述應用程序服務器使用所述第二數據包與所述存儲服務器進行讀寫處理。

    【技術特征摘要】
    1.一種數據推送方法,其特征在于,包括:接收交互式應用服務器分別發送的至少兩個數據包,將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中;從所述本地緩存隊列中取出第一數據包,將所述第一數據包發送給應用程序服務器,由所述應用程序服務器使用所述第一數據包與存儲服務器進行讀寫處理;獲取在當前時刻所述應用程序服務器是否完成對所述第一數據包的讀寫處理;若在當前時刻所述應用程序服務器已經完成對所述第一數據包的讀寫處理,從所述本地緩存隊列中取出第二數據包,將所述第二數據包發送給所述應用程序服務器,由所述應用程序服務器使用所述第二數據包與所述存儲服務器進行讀寫處理。2.根據權利要求1所述的方法,其特征在于,所述至少兩個數據包是所述交互式應用服務器采用并發方式同時發送的;所述將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中,包括:對接收到的所述至少兩個數據包分別進行依次順序編號,并按照編號順序將所述至少兩個數據包依次存儲到本地緩存隊列中。3.根據權利要求2所述的方法,其特征在于,所述從所述本地緩存隊列中取出第一數據包,包括:按照編號順序從所述本地緩存隊列中取出編號順序為首位的第一數據包,所述本地緩存隊列中取出所述第一數據包之后第二數據包處于編號順序的首位;所述從所述本地緩存隊列中取出第二數據包,包括:按照編號順序從所述本地緩存隊列中取出編號順序為首位的第二數據包。4.根據權利要求1所述的方法,其特征在于,所述至少兩個數據包是所述交互式應用服務器按照相鄰數據包之間的依賴順序發送的;所述將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中,包括:從接收到的所述至少兩個數據包中確定相鄰數據包之間的依賴順序,并按照所述相鄰數據包之間的依賴順序將所述至少兩個數據包依次存儲到本地緩存隊列中。5.根據權利要求4所述的方法,其特征在于,所述從所述本地緩存隊列中取出第一數據包,包括:按照相鄰數據包之間的依賴順序從所述本地緩存隊列中取出不依賴于其它數據包的第一數據包,所述本地緩存隊列中與所述第一數據包具有依賴順序的數據包為第二數據包;所述從所述本地緩存隊列中取出第二數據包,包括:按照相鄰數據包之間的依賴順序從所述本地緩存隊列中取出與所述第一數據包具有依賴順序的第二數據包。6.根據權利要求1至5中任一項所述的方法,其特征在于,所述獲取在當前時刻所述應用程序服務器是否完成對所述第一數據包的讀寫處理,包括:判斷當前是否接收到所述應用程序服務器發送的對所述第一數據包的處理完成消息,若接收到所述對所述第一數據包的處理完成消息,則確定在當前時刻所述應用程序服務器已經完成對所述第一數據包的讀寫處理,若沒有接收到所述對所述第一數據包的處理完成消息,則確定在當前時刻所述應用程序服務器尚未完成對所述第一數據包的讀寫處理。7.根據權利要求1至5中任一項所述的方法,其特征在于,所述獲取在當前時刻所述應用程序服務器是否完成對所述第一數據包的讀寫處理,包括:將所述第一數據包發送給所述應用程序服務器的發送時間點記錄為起始時刻,判斷從所述起始時刻直至當前所經過的時間長度是否達到時長閾值,若所述時間長度達到所述時長閾值,則確定在當前時刻所述應用程序服務器已經完成對所述第一數據包的讀寫處理,若所述時間長度沒有達到所述時長閾值,則確定在當前時刻所述應用程序服務器尚未完成對所述第一數據包的讀寫處理。8.根據權利要求7所述的方法,其特征在于,所述時長閾值通過如下方式確定:獲取所述應用程序服務器與所述存儲服務器進行讀寫處理所需要的處理耗時;選擇大于或等于所述處理耗時的時間段作為所述時長閾值。9.一種時序控制器,其特征在于,包括:數據包存儲模塊,用于接收交互式應用服務器分別發送的至少兩個數據包,將接收到的所述至少兩個數據包分別存儲到本地緩存隊列中;第一發送模塊,用于從所述本地緩存隊列中取出第一數據包,將所述第一數據包發送給應用程序服務器,由所述應用程序服務器使用所述第一數據包與存儲服...

    【專利技術屬性】
    技術研發人員:馮鋒
    申請(專利權)人:騰訊科技深圳有限公司
    類型:發明
    國別省市:廣東;44

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: (无码视频)在线观看| 亚洲av无码成人影院一区 | 亚洲综合无码AV一区二区| 日本爆乳j罩杯无码视频| 无码精品久久久天天影视| 无码国内精品久久人妻麻豆按摩 | 18禁成年无码免费网站无遮挡| 免费无码又爽又刺激网站直播 | 少妇无码太爽了不卡在线观看 | 亚洲?v无码国产在丝袜线观看| 蜜桃臀无码内射一区二区三区 | 无码亚洲成a人在线观看| 亚洲一区无码中文字幕| 东京热一精品无码AV| 精品人妻无码区在线视频| 国内精品人妻无码久久久影院 | 少妇无码一区二区三区免费| 一道久在线无码加勒比| 亚洲午夜成人精品无码色欲| 人妻丰满熟妞av无码区 | 亚洲va中文字幕无码久久不卡| 无码av大香线蕉伊人久久| 99久久国产热无码精品免费| 中文字幕丰满伦子无码| 超清无码一区二区三区| 免费人妻av无码专区| 精品无码专区亚洲| 无码一区二区三区AV免费| 精品成在人线AV无码免费看| 十八禁无码免费网站| 日韩精品久久无码人妻中文字幕| 国产精品99无码一区二区| 粉嫩大学生无套内射无码卡视频 | 99精品国产在热久久无码| 亚洲av无码片在线播放| 亚洲av永久无码精品秋霞电影影院| 亚洲一区无码中文字幕| 无码少妇精品一区二区免费动态| 国产午夜无码精品免费看动漫| 亚洲无码在线播放| 久久精品中文字幕无码绿巨人|