[發明專利]基于MySQL計數器表的高并發計數方法及web服務器有效
| 申請號: | 201711225004.X | 申請日: | 2017-11-29 |
| 公開(公告)號: | CN107862082B | 公開(公告)日: | 2021-06-25 |
| 發明(設計)人: | 鄭秋燕 | 申請(專利權)人: | 努比亞技術有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F16/958;G06F9/54 |
| 代理公司: | 深圳市凱達知識產權事務所 44256 | 代理人: | 劉大彎;沈榮彬 |
| 地址: | 518057 廣東省深圳市南山區高新區北環大道9018*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mysql 計數器 并發 計數 方法 web 服務器 | ||
1.一種基于MySQL計數器表的高并發計數方法,應用于web服務器,其特征在于,所述基于MySQL計數器表的高并發計數方法包括以下步驟:
在MySQL計數器表中設置多個槽位,且多個槽位對應的多個槽位值存入預設棧;
實時檢測是否發生計數事件;
若檢測到計數事件,將所述計數事件存儲至消息隊列;
開啟與所述槽位數量相同的多個計數線程以使各所述計數線程從所述消息隊列中讀取所述計數事件、從所述預設棧中讀取所述槽位值、將所述計數事件更新至所述槽位值、將已進行計數的所述計數事件從所述消息隊列中刪除并將更新后的所述槽位值返回所述預設棧。
2.如權利要求1所述的基于MySQL計數器表的高并發計數方法,其特征在于,所述基于MySQL計數器表的高并發計數方法還包括:
統計當前計數結果時,從所述MySQL計數器表中讀取各所述槽位對應的槽位值;
將各所述槽位值相加并將相加后的和值作為當前計數結果。
3.如權利要求2所述的基于MySQL計數器表的高并發計數方法,其特征在于,所述MySQL計數器表中還設置有日期;
所述統計當前計數結果時,從所述MySQL計數器表中讀取各所述槽位對應的槽位值的步驟具體為:
獲取當前日期;
根據所述當前日期從對應日期的MySQL計數器表中讀取各所述槽位對應的槽位值。
4.如權利要求2所述的基于MySQL計數器表的高并發計數方法,其特征在于,所述開啟與所述槽位數量相同的多個計數線程以使所述計數線程從所述預設棧中取出所述槽位值的步驟之后還包括:
檢測所述預設棧是否為空;
若檢測結果為是,則將所述計數線程從所述消息隊列中取出的計數事件再次存儲至所述消息隊列;
若檢測結果為否,則執行所述從所述預設棧中讀取所述槽位值的步驟。
5.如權利要求1所述的基于MySQL計數器表的高并發計數方法,其特征在于,所述將所述計數事件存儲至消息隊列的步驟具體為:
將所述計數事件并發存儲至所述消息隊列。
6.一種web服務器,其特征在于,所述web服務器包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的基于MySQL計數器表的高并發計數程序,所述基于MySQL計數器表的高并發計數程序被所述處理器執行時實現如下步驟:
在MySQL計數器表中設置多個槽位,且多個槽位對應的多個槽位值存入預設棧;
實時檢測是否發生計數事件;
若檢測到計數事件,將所述計數事件存儲至消息隊列;
開啟與所述槽位數量相同的多個計數線程以使各所述計數線程從所述消息隊列中讀取所述計數事件、從所述預設棧中讀取所述槽位值、將所述計數事件更新至所述槽位值、將已進行計數的所述計數事件從所述消息隊列中刪除并將更新后的所述槽位值返回所述預設棧。
7.如權利要求6所述的web服務器,其特征在于,所述基于MySQL計數器表的高并發計數程序被所述處理器執行時,還用于實現以下步驟:
統計當前計數結果時,從所述MySQL計數器表中讀取各所述槽位對應的槽位值;
將各所述槽位值相加并將相加后的和值作為當前計數結果。
8.如權利要求7所述的web服務器,其特征在于,所述MySQL計數器表中還設置有日期;所述基于MySQL計數器表的高并發計數程序被所述處理器執行時,還用于實現以下步驟:
獲取當前日期;
根據所述當前日期從對應日期的MySQL計數器表中讀取各所述槽位對應的槽位值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于努比亞技術有限公司,未經努比亞技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711225004.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:網絡信息源查找方法、裝置及服務器
- 下一篇:一種掃描文件快速歸檔的方法





