亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

隊(duì)列處理方法及裝置的制造方法

文檔序號(hào):8543800閱讀:330來源:國知局
隊(duì)列處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種隊(duì)列處理方法及裝置。
【背景技術(shù)】
[0002]近年來,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)被廣泛的應(yīng)用于人們生活、學(xué)習(xí)、工作的各個(gè)角落。因此,在每時(shí)每刻,都有大量的數(shù)據(jù)在互聯(lián)網(wǎng)上進(jìn)行傳遞。
[0003]在需要對(duì)數(shù)據(jù)庫中的表或者字段進(jìn)行修改時(shí),數(shù)據(jù)庫程序?yàn)榱吮WC數(shù)據(jù)的一致性,會(huì)對(duì)數(shù)據(jù)庫中的表或者字段通過鎖定(Locking)的方式進(jìn)行控制。當(dāng)有大量數(shù)據(jù)并發(fā)寫入數(shù)據(jù)庫時(shí),就有可能會(huì)因系統(tǒng)資源不足、資源分配不當(dāng)?shù)仍虬l(fā)生數(shù)據(jù)庫死鎖的現(xiàn)象。一旦發(fā)生數(shù)據(jù)庫死鎖,就有可能導(dǎo)致進(jìn)程永久堵塞,或者需要寫入數(shù)據(jù)庫的信息丟失。
[0004]針對(duì)現(xiàn)有技術(shù)中大量數(shù)據(jù)并發(fā)寫入數(shù)據(jù)庫,導(dǎo)致的數(shù)據(jù)庫死鎖的問題,目前尚未提出有效的解決方案。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的主要目的在于提供一種隊(duì)列處理方法及裝置,以解決現(xiàn)有技術(shù)中大量數(shù)據(jù)并發(fā)寫入數(shù)據(jù)庫,導(dǎo)致的數(shù)據(jù)庫死鎖的問題。
[0006]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種隊(duì)列處理方法。該方法包括:接收多個(gè)消息數(shù)據(jù),寫入緩存隊(duì)列;創(chuàng)建至少一個(gè)處理進(jìn)程,處理進(jìn)程用于處理消息數(shù)據(jù);從緩存隊(duì)列中讀取預(yù)定數(shù)量的消息數(shù)據(jù);將取預(yù)定數(shù)量的消息數(shù)據(jù)寫入臨時(shí)文件,其中,臨時(shí)文件與處理進(jìn)程相對(duì)應(yīng);通過處理進(jìn)程處理臨時(shí)文件中的消息數(shù)據(jù)。
[0007]進(jìn)一步的,在處理進(jìn)程中設(shè)置計(jì)數(shù)器,其中,通過處理進(jìn)程處理臨時(shí)文件中的消息數(shù)據(jù)包括:讀取臨時(shí)文件中的消息數(shù)據(jù);通過處理進(jìn)程對(duì)臨時(shí)文件進(jìn)行處理;當(dāng)處理進(jìn)程對(duì)臨時(shí)文件處理完成后,刪除臨時(shí)文件,并對(duì)與處理進(jìn)程對(duì)應(yīng)的計(jì)數(shù)器做累加運(yùn)算。
[0008]進(jìn)一步的,在當(dāng)處理進(jìn)程對(duì)臨時(shí)文件處理完成后,刪除臨時(shí)文件,并對(duì)與處理進(jìn)程對(duì)應(yīng)的計(jì)數(shù)器做累加運(yùn)算之后,方法還包括:將計(jì)數(shù)器中的數(shù)值與預(yù)先設(shè)置的第一閾值進(jìn)行比對(duì);當(dāng)計(jì)數(shù)器中的數(shù)值小于或等于第一閾值時(shí),重復(fù)執(zhí)行從緩存隊(duì)列中讀取預(yù)定數(shù)量的消息數(shù)據(jù)的步驟;當(dāng)計(jì)數(shù)器中的數(shù)值大于第一閾值時(shí),結(jié)束處理進(jìn)程。
[0009]進(jìn)一步的,當(dāng)緩存隊(duì)列至少為兩個(gè)的情況下,接收消息數(shù)據(jù),寫入緩存隊(duì)列包括:接收消息數(shù)據(jù);將消息數(shù)據(jù)隨機(jī)存儲(chǔ)至一個(gè)緩存隊(duì)列中,并判斷消息數(shù)據(jù)是否存儲(chǔ)成功;當(dāng)消息數(shù)據(jù)存儲(chǔ)失敗時(shí),將消息數(shù)據(jù)存儲(chǔ)至另一個(gè)緩存隊(duì)列中;其中,當(dāng)消息數(shù)據(jù)存儲(chǔ)失敗的次數(shù)大于預(yù)先設(shè)置的第二閾值時(shí),生成錯(cuò)誤日志。
[0010]進(jìn)一步的,在通過處理進(jìn)程處理臨時(shí)文件中的消息數(shù)據(jù)之后,方法還包括:對(duì)處理進(jìn)程設(shè)置預(yù)定時(shí)長(zhǎng)的休眠時(shí)間。
[0011]進(jìn)一步的,在創(chuàng)建至少一個(gè)處理進(jìn)程,處理進(jìn)程用于處理消息數(shù)據(jù)之后,方法還包括:創(chuàng)建監(jiān)控進(jìn)程,監(jiān)控進(jìn)程用于監(jiān)控處理進(jìn)程;監(jiān)控進(jìn)程監(jiān)控處理進(jìn)程執(zhí)行對(duì)臨時(shí)文件中的消息數(shù)據(jù)進(jìn)行處理。
[0012]進(jìn)一步的,監(jiān)控進(jìn)程監(jiān)控處理進(jìn)程執(zhí)行對(duì)臨時(shí)文件中的消息數(shù)據(jù)進(jìn)行處理包括:當(dāng)處理進(jìn)程執(zhí)行結(jié)束時(shí),監(jiān)控進(jìn)程檢測(cè)是否存在與處理進(jìn)程對(duì)應(yīng)的臨時(shí)文件;當(dāng)存在與處理進(jìn)程對(duì)應(yīng)的臨時(shí)文件時(shí),監(jiān)控進(jìn)程讀取在臨時(shí)文件中記錄對(duì)臨時(shí)文件的處理次數(shù);監(jiān)控進(jìn)程調(diào)用處理進(jìn)程對(duì)臨時(shí)文件進(jìn)行處理。
[0013]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種隊(duì)列處理裝置,該裝置包括:接收模塊,用于接收多個(gè)消息數(shù)據(jù),寫入緩存隊(duì)列;第一創(chuàng)建模塊,用于創(chuàng)建至少一個(gè)處理進(jìn)程,處理進(jìn)程用于處理消息數(shù)據(jù);讀取模塊,用于從緩存隊(duì)列中讀取預(yù)定數(shù)量的消息數(shù)據(jù);寫入模塊,用于將取預(yù)定數(shù)量的消息數(shù)據(jù)寫入臨時(shí)文件,其中,臨時(shí)文件與處理進(jìn)程相對(duì)應(yīng);處理模塊,用于通過處理進(jìn)程處理臨時(shí)文件中的消息數(shù)據(jù)。
[0014]進(jìn)一步的,第二創(chuàng)建模塊,用于創(chuàng)建監(jiān)控進(jìn)程,監(jiān)控進(jìn)程用于監(jiān)控處理進(jìn)程;監(jiān)控模塊,用于監(jiān)控進(jìn)程監(jiān)控處理進(jìn)程執(zhí)行對(duì)臨時(shí)文件中的消息數(shù)據(jù)進(jìn)行處理。
[0015]進(jìn)一步的,子監(jiān)測(cè)模塊,用于當(dāng)處理進(jìn)程執(zhí)行結(jié)束時(shí),監(jiān)控進(jìn)程檢測(cè)是否存在與處理進(jìn)程對(duì)應(yīng)的臨時(shí)文件;第一子處理模塊,用于當(dāng)存在與處理進(jìn)程對(duì)應(yīng)的臨時(shí)文件時(shí),監(jiān)控進(jìn)程讀取在臨時(shí)文件中記錄對(duì)臨時(shí)文件的處理次數(shù);第二子處理模塊,用于監(jiān)控進(jìn)程調(diào)用處理進(jìn)程對(duì)臨時(shí)文件進(jìn)行處理。
[0016]根據(jù)發(fā)明實(shí)施例,通過接收多個(gè)消息數(shù)據(jù),寫入緩存隊(duì)列;創(chuàng)建至少一個(gè)處理進(jìn)程,處理進(jìn)程用于處理消息數(shù)據(jù);從緩存隊(duì)列中讀取預(yù)定數(shù)量的消息數(shù)據(jù);將取預(yù)定數(shù)量的消息數(shù)據(jù)寫入臨時(shí)文件,其中,臨時(shí)文件與處理進(jìn)程相對(duì)應(yīng);通過處理進(jìn)程處理臨時(shí)文件中的消息數(shù)據(jù),解決了現(xiàn)有技術(shù)大量數(shù)據(jù)并發(fā)寫入數(shù)據(jù)庫,導(dǎo)致的數(shù)據(jù)庫死鎖的問題。實(shí)現(xiàn)了把大量并發(fā)寫入的消息數(shù)據(jù)轉(zhuǎn)化為串行或者通過處理進(jìn)程將消息數(shù)據(jù)并發(fā)異步寫入數(shù)據(jù)庫的效果。
【附圖說明】
[0017]構(gòu)成本申請(qǐng)的一部分的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1是根據(jù)本發(fā)明實(shí)施例一的隊(duì)列處理方法的流程圖;
[0019]圖2是根據(jù)本發(fā)明實(shí)施例二的隊(duì)列處理裝置的結(jié)構(gòu)示意圖;
[0020]圖3是根據(jù)本發(fā)明實(shí)施例二可選的隊(duì)列處理裝置的結(jié)構(gòu)示意圖;以及
[0021]圖4是根據(jù)本發(fā)明實(shí)施例二可選的隊(duì)列處理裝置的監(jiān)控模塊的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。
[0023]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0024]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0025]實(shí)施例1
[0026]本發(fā)明實(shí)施例提供了一種隊(duì)列處理方法,圖1是根據(jù)本發(fā)明實(shí)施例的隊(duì)列處理方法的流程圖,如圖1所示,該方法包括步驟如下:
[0027]步驟SI I,接收多個(gè)消息數(shù)據(jù),寫入緩存隊(duì)列。
[0028]步驟S13,創(chuàng)建至少一個(gè)處理進(jìn)程,處理進(jìn)程用于處理消息數(shù)據(jù)。
[0029]步驟S15,從緩存隊(duì)列中讀取預(yù)定數(shù)量的消息數(shù)據(jù)。
[0030]步驟S17,將取預(yù)定數(shù)量的消息數(shù)據(jù)寫入臨時(shí)文件,其中,臨時(shí)文件與處理進(jìn)程相對(duì)應(yīng)。
[0031]步驟S19,通過處理進(jìn)程處理臨時(shí)文件中的消息數(shù)據(jù)。
[0032]通過上述步驟,將接收到的消息數(shù)據(jù)寫入緩存隊(duì)列,并將緩存隊(duì)列中預(yù)訂數(shù)量的消息數(shù)據(jù)寫入與處理進(jìn)程一一對(duì)應(yīng)的臨時(shí)文件,最后通過處理進(jìn)程對(duì)消息數(shù)據(jù)進(jìn)行處理。從而解決了大量數(shù)據(jù)并發(fā)寫入數(shù)據(jù)庫,導(dǎo)致的數(shù)據(jù)庫死鎖的問題,通過利用二級(jí)緩存機(jī)制,處理進(jìn)程將消息數(shù)據(jù)并發(fā)異步寫入數(shù)據(jù)庫的效果。
[0033]作為一個(gè)可選實(shí)施例,在步驟Sll中,可以利用緩存系統(tǒng),將接收到的消息數(shù)據(jù)以時(shí)間順序進(jìn)行保存。通過緩存系統(tǒng),將大量并發(fā)寫入的消息數(shù)據(jù),轉(zhuǎn)化為按照時(shí)間順序進(jìn)
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1