[發明專利]編號生成方法、裝置及系統和存儲介質有效
| 申請號: | 201811213822.2 | 申請日: | 2018-10-18 |
| 公開(公告)號: | CN109450987B | 公開(公告)日: | 2021-08-03 |
| 發明(設計)人: | 譚華林 | 申請(專利權)人: | 杭州云永網絡科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/863 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 巴翠昆;王寶筠 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 編號 生成 方法 裝置 系統 存儲 介質 | ||
1.一種編號生成方法,其特征在于,應用于分布式系統中的緩存服務器,所述分布式系統還包括與所述緩存服務器相連的多個服務器、與所述緩存服務器相連的數據庫設備;所述編號生成方法包括:
在編號請求設備向服務器發送編號生成請求后,接收由所述服務器轉發的所述編號生成請求;所述編號生成請求包括業務類型;
在已緩存編號計數器信息基礎上,生成與所述編號生成請求對應的編號;
反饋該編號至所述服務器,以供所述服務器反饋該編號至所述編號請求設備;
還包括:數據庫落地操作:單位時間內,從消息隊列中確定出多個業務類型對應的最大編號消息,并發送所述多個業務類型對應的最大編號消息至所述數據庫設備,以供數據庫設備利用所述多個業務類型對應的最大編號消息更新數據庫設備中的歷史編號消息;
還包括:
若所述緩存服務器中的編號計數器信息不存在,則從所述數據庫設備中獲取并緩存多個業務類型對應的最大編號消息,進入所述在已緩存編號計數器信息基礎上,生成與所述編號生成請求對應的編號的步驟;
在所述從所述數據庫設備中獲取并緩存多個業務類型對應的最大編號消息之前,還包括:
判斷所述消息隊列是否為空;
若所述消息隊列為空,則直接從所述數據庫設備中獲取并緩存多個業務類型對應的最大編號消息;
若所述消息隊列不為空,則掛起所述編號生成請求對應的線程,在執行至少一次數據庫落地操作后使所述消息隊列為空后,再從所述數據庫設備中獲取并緩存多個業務類型對應的最大編號消息。
2.如權利要求1所述的方法,其特征在于,所述編號生成請求包括業務類型,所述編號計數器信息包括多個業務類型對應的最大編號;
則所述在已緩存編號計數器信息基礎上,生成與所述編號生成請求對應的編號,包括:
在所述編號計數器信息中,確定出與所述編號生成請求中業務類型對應的最大編號;
在該最大編號基礎上加一計數,獲得與所述編號生成請求對應的編號。
3.如權利要求1所述的方法,其特征在于,所述編號生成請求包括業務類型,所述編號計數器信息包括多個業務類型對應的最大編號,所述緩存服務器還包括與業務類型對應的編號規則;
則所述在已緩存編號計數器信息基礎上,生成與所述編號生成請求對應的編號,包括:
在所述編號計數器信息中,確定出與所述編號生成請求中業務類型對應的最大編號;
在該最大編號基礎上,按與所述編號生成請求中業務類型對應的編號規則進行計數,獲得與所述編號生成請求對應的編號。
4.如權利要求2或3所述的方法,其特征在于在接收由所述服務器轉發的所述編號生成請求之后,還包括:
判斷所述緩存服務器中緩存的編號計數器信息是否存在;
若所述緩存服務器中的編號計數器信息存在,則執行所述在已緩存編號計數器信息基礎上,生成與所述編號生成請求對應的編號的步驟;并執行編號緩存操作:生成與所述編號對應的編號消息并緩存所述編號消息至消息隊列;
所述數據庫落地操作與所述編號緩存操作異步執行。
5.如權利要求4所述的方法,其特征在于,所述生成與所述編號對應的編號消息并緩存所述編號消息至消息隊列,包括:
構建所述編號生成請求中業務類型和所述編號生成請求對應編號組成的鍵值對;
添加所述鍵值對至預先構建的先進先出的消息隊列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州云永網絡科技有限公司,未經杭州云永網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811213822.2/1.html,轉載請聲明來源鉆瓜專利網。





