新四季網

隊列處理方法及裝置與流程

2023-05-08 23:04:21


本發明涉及通信領域,具體而言,涉及一種隊列處理方法及裝置。



背景技術:

隨著轉售業務的不斷擴展,系統處理的數據量劇增,越來越多的服務採用隊列的處理方式,讓高並發產生的數據進入隊列中,有序的處理。

然而,數據的積壓也會導致程序的處理效率受到影響,傳統的隊列方式還會造成與資料庫交互輸入輸出(Input OutputInterface,簡稱IO)壓力過大的問題。

因此,目前亟需提供一種高效且可控的隊列處理機制,來解決IO壓力大,效率低下的問題。



技術實現要素:

本發明的主要目的在於公開了一種呼叫限制方法及裝置,以至少解決相關技術中隊列方式還會造成與資料庫交互輸入輸出IO壓力過大的問題。

根據本發明的一個方面,提供了一種隊列處理方法。

根據本發明的隊列處理方法包括:判斷REDIS隊列中當前總數據量;如果所述總數據量大於或等於預定閾值,則等待第一預定時長之後,重新判斷REDIS隊列中的總數據量;如果所述總數據量小於預定閾值,則從資料庫隊列表中提取預定數量的數據,填充到REDIS隊列中。

優選地,從資料庫隊列表中提取數據,填充到REDIS隊列中包括:將資料庫取出的數據,逐條填充到所述REDIS隊列中,其中,將數據標識作為哈希表的鍵,將數據內容json串作為哈希表的值,一起保存到REDIS哈希表中。

優選地,上述方法還包括:在從所述REDIS隊列提取數據時,判斷所述REDIS隊列是否為空;如果所述REDIS隊列為空,則等待第二預定時長之後,再次嘗試提取所述REDIS隊列中的數據;如果所述REDIS隊列不為空,則根據數據標識從哈希表中取出待處理的數據內容。

優選地,根據數據標識從哈希表中取出待處理的數據內容之後,還包括:按照業務需求處理所述數據內容,返回執行從所述REDIS隊列中提取下一條數據的步驟。

根據本發明的另一方面,提供了一種隊列處理裝置。

根據本發明的隊列處理裝置包括:第一判斷模塊,用於判斷REDIS隊列中當前總數據量;第一處理模塊,用於在所述總數據量大於或等於預定閾值時,等待第一預定時長之後,重新判斷REDIS隊列中的總數據量;第二處理模塊,用於在所述總數據量小於預定閾值時,從資料庫隊列表中提取數據,填充到REDIS隊列中。

與現有技術相比,本發明實施例至少具有以下優點:可以控制REDIS內存中的臨時數據量,不會發生大量數據湧入內存導致溢出的情況,同時有效的限制了與資料庫的IO頻率。

附圖說明

圖1是根據本發明實施例的隊列處理方法的流程圖;

圖2是根據本發明優選實施例的提取數據填充到REDIS隊列中的流程圖;

圖3是根據本發明優選實施例的從REDIS隊列中取數據處理的流程圖;

圖4是根據本發明實施例的隊列處理裝置的結構框圖;

圖5是根據本發明優選實施例的隊列處理裝置的結構框圖。

具體實施方式

下面結合說明書附圖對本發明的具體實現方式做一詳細描述。

圖1是根據本發明實施例的隊列處理方法的流程圖。如圖1所示,該隊列處理方法包括:

步驟S101:判斷REDIS隊列中當前總數據量;

步驟S103:如果上述總數據量大於或等於預定閾值,則等待第一預定時長之後,重新判斷REDIS隊列中的總數據量;

步驟S105:如果上述總數據量小於預定閾值,則從資料庫隊列表中提取預定的數據量,填充到REDIS隊列中。

採用圖1所示的方法,當REDIS隊列中當前總數數據量大於或等於預定閾值,則等待第一預定時長之後,之後重新判斷REDIS隊列中的總數據量;當REDIS隊列中當前總數據量小於預定閾值時,從資料庫隊列表中提取預定數量的數據,填充到REDIS隊列中。可以控制REDIS內存中的臨時數據量,不會發生大量數據湧入內存導致溢出的情況,同時有效的限制了與資料庫的IO頻率。

其中,上述的預定閾值以及預定數量均為可以根據實際情況動態設置的值,兩者共同作用可以控制REDIS內存中的臨時數據量,不會發生大量數據湧入內存導致溢出的情況,同時有效的限制了與資料庫的IO頻率。此外,可以根據所處理的數據量和要求的效率,按需調整處理進程數量。

優選地,從資料庫隊列表中提取數據,填充到REDIS隊列中可以進一步包括:將資料庫取出的數據,逐條填充到上述REDIS隊列中,其中,將數據標識作為哈希表的鍵,將數據內容json串作為哈希表的值,一起保存到REDIS哈希表中。

優選地,上述隊列處理方法還可以包括:在從上述REDIS隊列提取數據時,判斷上述REDIS隊列是否為空;如果上述REDIS隊列為空,則等待第二預定時長之後,再次嘗試提取上述REDIS隊列中的數據;如果上述REDIS隊列不為空,則根據數據標識從哈希表中取出待處理的數據內容。

在根據數據標識從哈希表中取出待處理的數據內容之後,還可以包括以下處理:按照業務需求處理上述數據內容,返回執行從上述REDIS隊列中提取下一條數據的步驟。

以下結合圖2和圖3進一步描述上述優選實施方式。

圖2是根據本發明優選實施例的提取數據填充到REDIS隊列中的流程圖。如圖2所示,主要包括以下步驟:

步驟S201:判斷REDIS隊列中的當前總數據量;如果小於預定閾值,執行步驟S203,否則,執行步驟S207。

步驟S203:從資料庫對列表中提取預定數量的數據。

步驟S205:將資料庫取出的數據,逐條錄入REDIS隊列中。其中,數據ID保存到REDIS隊列中;數據ID作為哈希表的鍵,數據內容json串作為哈希表的值,保存到REDIS哈希表中。此批數據處理完成後,返回執行步驟S201。

步驟S207:等待1秒鐘,然後返回執行步驟S201。

圖3是根據本發明優選實施例的從REDIS隊列中取數據處理的流程圖。如圖3所示,主要包括以下步驟:

步驟S301:提取REDIS隊列中的數據(逐條處理)

步驟S303:判斷該REDIS隊列中的數據是否為空,如果是,執行步驟S305,否則,返回執行步驟S309。

步驟S305:如隊列中有數據ID取出,根據隊列ID,從哈希表中取出待處理的數據內容。

步驟S307:按照業務需求處理取出的數據,完成後返回執行步驟S301。

步驟S309:如隊列中無數據,進程等待1秒,返回執行步驟S301,即再次嘗試讀取REDIS隊列數據。

圖4是根據本發明實施例的隊列處理裝置的結構框圖。如圖4所示,該隊列處理裝置包括:第一判斷模塊40,用於判斷REDIS隊列中當前總數據量;第一處理模塊42,用於在上述總數據量大於或等於預定閾值時,等待第一預定時長之後,重新判斷REDIS隊列中的總數據量;第二處理模塊44,用於在上述總數據量小於預定閾值時,從資料庫隊列表中提取數據,填充到REDIS隊列中。

當REDIS隊列中當前總數數據量大於或等於預定閾值,則第一處理模塊42等待第一預定時長之後,之後重新判斷REDIS隊列中的總數據量;當REDIS隊列中當前總數據量小於預定閾值時,第二處理模塊44從資料庫隊列表中提取預定數量的數據,填充到REDIS隊列中。採用該裝置可以控制REDIS內存中的臨時數據量,不會發生大量數據湧入內存導致溢出的情況,同時有效的限制了與資料庫的IO頻率。

優選地,如圖5所示,上述第二處理模塊44可以進一步包括:填充單元440,用於將資料庫取出的數據,逐條填充到上述REDIS隊列中,其中,將數據標識作為哈希表的鍵,將數據內容json串作為哈希表的值,一起保存到REDIS哈希表中。

優選地,如圖5所示,上述裝置還可以包括:第二判斷模塊46,用於在從上述REDIS隊列提取數據時,判斷上述REDIS隊列是否為空;第一提取模塊48,用於在上述REDIS隊列為空時,等待第二預定時長之後,再次嘗試提取上述REDIS隊列中的數據;第二提取模塊50,用於在上述REDIS隊列不為空時,根據數據標識從哈希表中取出待處理的數據內容。

優選地,如圖5所示,上述裝置還可以包括:第三處理模塊52,用於按照業務需求處理上述數據內容,返回執行從上述REDIS隊列中提取下一條數據的步驟。

需要說明的是,上述隊列處理裝置中各個模塊,各個單元相互結合實施的隊列處理流程可以參見圖1至圖3的描述,此處不再贅述。

綜上所述,藉助本發明提供的上述實施例,一方面可以控制REDIS內存中的臨時數據量,不會發生大量數據湧入內存導致溢出的情況,同時有效的限制了與資料庫的IO頻率,保證資料庫運行穩定;另一方面,可以按需調配處理進程的數量,使得整個隊列程序穩定高效,並且自由可控。

以上公開的僅為本發明的幾個具體實施例,但是,本發明並非局限於此,任何本領域的技術人員能思之的變化都應落入本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀