国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種控制紅包的方法以及系統(tǒng)與流程

      文檔序號:12470471閱讀:828來源:國知局
      一種控制紅包的方法以及系統(tǒng)與流程

      本發(fā)明涉及一種控制紅包的方法以及系統(tǒng)。



      背景技術(shù):

      在當今互聯(lián)網(wǎng)行業(yè)高速發(fā)展的時代,搶紅包這種線上的溝通交友方式,已經(jīng)越來越受到廣大人民群眾的追捧;當大量用戶爭搶同一個紅包的操作時,訪問量的上升,多進程的開辟,此時相對應于服務器則需要較高的性能要求和網(wǎng)絡質(zhì)量。

      在搶紅包的高峰期,存在著紅包個數(shù)少,搶紅包用戶多的情況。在此情況下,存在著同一時刻多用戶搶同一個紅包,或者已經(jīng)被搶的紅包還沒來得及修改紅包狀態(tài)極有可能被其他用戶再次爭搶。因此,如何讓紅包有序的被用戶獲取、避免每次爭搶紅包時獲取數(shù)據(jù)的不一致是紅包系統(tǒng)中主要處理的核心問題。



      技術(shù)實現(xiàn)要素:

      本發(fā)明要解決的技術(shù)問題,在于提供一種控制紅包的方法以及系統(tǒng),使得處理速度加快,并降低了數(shù)據(jù)庫壓力。

      本發(fā)明之一是這樣實現(xiàn)的:一種控制紅包的方法,包括如下步驟:

      步驟1、服務器將紅包分為限定個子紅包,設(shè)置每個子紅包的金額以及序列值;

      步驟2、服務器根據(jù)用戶的先后順序,依次將子紅包的序列值分配給用戶;

      步驟3、根據(jù)序列值將子紅包的金額分配給對應的用戶。

      進一步地,所述步驟1進一步具體為:服務器將紅包分為限定個子紅包,設(shè)置每個子紅包的金額以及序列值,并存入服務器數(shù)據(jù)緩存中。

      進一步地,所述步驟2進一步具體為:服務器根據(jù)用戶的先后順序,將一子紅包的序列值分配給一用戶,之后進入步驟3;或者服務器根據(jù)用戶的先后順序,依次將限定個數(shù)的子紅包的序列值分配給限定個數(shù)的用戶。

      進一步地,所述步驟3進一步具體為:服務器開啟一進程,并開啟共享內(nèi)存鎖,之后根據(jù)序列值為用戶分配子紅包的金額,之后服務器關(guān)閉共享內(nèi)存鎖;若存在子紅包未分配,則進入步驟2。

      本發(fā)明之二是這樣實現(xiàn)的:一種控制紅包的系統(tǒng),包括如下模塊:

      設(shè)置模塊,服務器將紅包分為限定個子紅包,設(shè)置每個子紅包的金額以及序列值;

      分配序列值模塊,服務器根據(jù)用戶的先后順序,依次將子紅包的序列值分配給用戶;

      控制紅包模塊,根據(jù)序列值將子紅包的金額分配給對應的用戶。

      進一步地,所述設(shè)置模塊進一步具體為:服務器將紅包分為限定個子紅包,設(shè)置每個子紅包的金額以及序列值,并存入服務器數(shù)據(jù)緩存中。

      進一步地,所述分配序列值模塊進一步具體為:服務器根據(jù)用戶的先后順序,將一子紅包的序列值分配給一用戶,之后進入步驟3;或者服務器根據(jù)用戶的先后順序,依次將限定個數(shù)的子紅包的序列值分配給限定個數(shù)的用戶。

      進一步地,所述控制紅包模塊進一步具體為:服務器開啟一進程,并開啟共享內(nèi)存鎖,之后根據(jù)序列值為用戶分配子紅包的金額,之后服務器關(guān)閉共享內(nèi)存鎖;若存在子紅包未分配,則進入分配序列值模塊。

      本發(fā)明具有如下優(yōu)點:本發(fā)明一種控制紅包的方法以及系統(tǒng),規(guī)避了mysql數(shù)據(jù)庫在高并發(fā)時,使用加鎖操作,大幅降低數(shù)據(jù)庫的性能,吞吐量下降;在資源端,將紅包信息cache在數(shù)據(jù)緩存里,避免第一級邏輯判斷時對數(shù)據(jù)庫大量的訪問鎖操作,分配的資源,減少數(shù)據(jù)庫的負擔;之后通過調(diào)用子進程,批量串行處理并發(fā)的紅包數(shù)據(jù),之后在與mysql鏈接,實行數(shù)據(jù)的更新,達到無鎖等待,大幅提升性能。

      附圖說明

      下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。

      圖1為本發(fā)明方法執(zhí)行流程圖。

      圖2為本發(fā)明系統(tǒng)的原理框圖。

      圖3為本發(fā)明紅包與子紅包的關(guān)系示意圖。

      具體實施方式

      如圖1和圖3所示,本發(fā)明控制紅包的方法,包括如下步驟:

      步驟1、服務器將紅包分為限定個子紅包,設(shè)置每個子紅包的金額以及序列值,并存入服務器數(shù)據(jù)緩存中;

      步驟2、服務器根據(jù)用戶的先后順序,將一子紅包的序列值分配給一用戶,之后進入步驟3;或者服務器根據(jù)用戶的先后順序,依次將限定個數(shù)的子紅包的序列值分配給限定個數(shù)的用戶;

      步驟3、服務器開啟一進程,并開啟共享內(nèi)存鎖,之后根據(jù)序列值為用戶分配子紅包的金額,之后服務器關(guān)閉共享內(nèi)存鎖;若存在子紅包未分配(即服務器數(shù)據(jù)緩存中設(shè)有子紅包的庫存量,該庫存量不為零時表示存在子紅包未分配),則進入步驟2。

      如圖2和圖3所示,本發(fā)明控制紅包的系統(tǒng),包括如下模塊:

      設(shè)置模塊,服務器將紅包分為限定個子紅包,設(shè)置每個子紅包的金額以及序列值,并存入服務器數(shù)據(jù)緩存中;

      分配序列值模塊,服務器根據(jù)用戶的先后順序,將一子紅包的序列值分配給一用戶,之后進入步驟3;或者服務器根據(jù)用戶的先后順序,依次將限定個數(shù)的子紅包的序列值分配給限定個數(shù)的用戶;

      控制紅包模塊,服務器開啟一進程,并開啟共享內(nèi)存鎖,之后根據(jù)序列值為用戶分配子紅包的金額,之后服務器關(guān)閉共享內(nèi)存鎖;若存在子紅包未分配,則進入分配序列值模塊。

      數(shù)據(jù)庫中建立紅包維度表,包含發(fā)包者、庫存、總金額、訂單等,相關(guān)紅包信息的表;數(shù)據(jù)庫中建立搶紅包記錄表,子紅包序列值、紅包ID、子紅包金額、分配情況等;在服務器數(shù)據(jù)緩存中處理好之后,再將兩個數(shù)據(jù)庫中的表進行修改,達到無鎖等待,大幅提升性能,并降低數(shù)據(jù)庫的壓力。

      雖然以上描述了本發(fā)明的具體實施方式,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應當理解,我們所描述的具體的實施例只是說明性的,而不是用于對本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應當涵蓋在本發(fā)明的權(quán)利要求所保護的范圍內(nèi)。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1