一種海量數(shù)據(jù)通信并發(fā)處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信請求處理技術(shù)領(lǐng)域,尤其涉及一種海量數(shù)據(jù)通信并發(fā)處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)一個平臺同時與數(shù)量較多的硬件進(jìn)行通信時,需要對海量的通信請求進(jìn)行處理,例如數(shù)據(jù)發(fā)送或者接受。在現(xiàn)有的通信請求處理機(jī)制中,對接硬件產(chǎn)品單一,數(shù)量有限,導(dǎo)致其通信方式較為單一。而當(dāng)有海量數(shù)據(jù)要求發(fā)送和接收時,很容易造成信息阻塞,擁堵或者數(shù)據(jù)丟失,并且,在與硬件的通信中包括指令的下發(fā)和數(shù)據(jù)的接收,一般均采用下發(fā)一條指令然后等待硬件的回應(yīng),這樣的設(shè)計(jì)處理能力和速度都不適合海量數(shù)據(jù)的處理要求。
【發(fā)明內(nèi)容】
[0003]鑒于上述現(xiàn)有技術(shù)的不足之處,本發(fā)明的目的在于提供一種海量數(shù)據(jù)通信并發(fā)處理方法及系統(tǒng),旨在解決現(xiàn)有通信處理機(jī)制容易造成信息阻塞,擁堵或者數(shù)據(jù)丟失的問題。
[0004]為了達(dá)到上述目的,本發(fā)明采取了以下技術(shù)方案:
一種海量數(shù)據(jù)通信并發(fā)處理方法,其中,所述方法包括:A、對數(shù)據(jù)表內(nèi)數(shù)據(jù)進(jìn)行分類,形成多個獨(dú)立的子數(shù)據(jù)表;B、將請求數(shù)據(jù)進(jìn)行排序,存儲到緩存中,并從緩存中依次序獲取請求數(shù)據(jù);C、處理線程依據(jù)所述獲取的請求數(shù)據(jù),進(jìn)行相應(yīng)的操作。
[0005]所述的海量數(shù)據(jù)通信并發(fā)處理方法,其中,所述步驟A具體包括:Al、預(yù)先設(shè)置一分類標(biāo)準(zhǔn);A2、依據(jù)所述分類標(biāo)準(zhǔn),將數(shù)據(jù)表內(nèi)的數(shù)據(jù)進(jìn)行分類,A3、形成多個獨(dú)立的子數(shù)據(jù)表。
[0006]所述的海量數(shù)據(jù)通信并發(fā)處理方法,其中,所述步驟B具體包括:B1、設(shè)置獨(dú)立的數(shù)據(jù)接收線程以及數(shù)據(jù)獲取線程,B2、數(shù)據(jù)接收線程接收請求數(shù)據(jù),依次序存儲到緩存中,B3、數(shù)據(jù)獲取線程從緩存中依次序獲取請求數(shù)據(jù)。
[0007]所述的海量數(shù)據(jù)通信并發(fā)處理方法,其中,所述步驟C具體包括:Cl、依據(jù)請求數(shù)據(jù)的數(shù)據(jù)處理類型,對應(yīng)設(shè)置多個獨(dú)立的,僅執(zhí)行一種數(shù)據(jù)處理類型的處理線程;C2、依據(jù)獲取的請求數(shù)據(jù),選擇對應(yīng)類型的處理線程;C3、所述處理線程處理請求數(shù)據(jù)并執(zhí)行相應(yīng)的操作指令。
[0008]所述的海量數(shù)據(jù)通信請求并發(fā)處理方法,其中,所述步驟C之后還包括:D、設(shè)置獨(dú)立的下發(fā)及接收線程,下發(fā)線程將操作指令發(fā)送到對應(yīng)硬件設(shè)備中,接收線程接收硬件設(shè)備返回的應(yīng)答數(shù)據(jù)。
[0009]一種海量數(shù)據(jù)通信并發(fā)處理系統(tǒng),其中,所述系統(tǒng)包括:分類模塊,用于對數(shù)據(jù)表內(nèi)數(shù)據(jù)進(jìn)行分類,形成多個獨(dú)立的子數(shù)據(jù)表,排序模塊,將請求數(shù)據(jù)進(jìn)行排序,存儲到緩存中,并從緩存中依次序獲取請求數(shù)據(jù),處理模塊,用于處理線程依據(jù)所述獲取的請求數(shù)據(jù),進(jìn)行相應(yīng)的操作。
[0010]所述的海量數(shù)據(jù)通信并發(fā)處理系統(tǒng),其中,所述分類模塊包括: 標(biāo)準(zhǔn)設(shè)置單元,用于預(yù)先設(shè)置一分類標(biāo)準(zhǔn);
分類單元,用于依據(jù)所述分類標(biāo)準(zhǔn),將數(shù)據(jù)表內(nèi)的數(shù)據(jù)進(jìn)行分類;
子數(shù)據(jù)表形成單元,用于形成多個獨(dú)立的子數(shù)據(jù)表。
[0011]所述的海量數(shù)據(jù)通信并發(fā)處理系統(tǒng),其中,所述排序模塊具體用于:
設(shè)置單元,用于設(shè)置獨(dú)立的數(shù)據(jù)接收線程以及數(shù)據(jù)獲取線程;
數(shù)據(jù)接收線程,用于接收請求數(shù)據(jù),依次序存儲到緩存中;
數(shù)據(jù)獲取線程,用于從緩存中依次序獲取請求數(shù)據(jù)。
[0012]所述的海量數(shù)據(jù)通信并發(fā)處理系統(tǒng),其中,所述處理模塊具體用于
類型設(shè)置單元,用于依據(jù)請求數(shù)據(jù)的數(shù)據(jù)處理類型,對應(yīng)設(shè)置多個獨(dú)立的,僅執(zhí)行一種數(shù)據(jù)處理類型的處理線程;
選擇單元,用于依據(jù)獲取的請求數(shù)據(jù),選擇對應(yīng)類型的處理線程;
處理線程,用于處理請求數(shù)據(jù)并執(zhí)行相應(yīng)的操作指令。
[0013]所述的海量數(shù)據(jù)通信并發(fā)處理系統(tǒng),其中,所述系統(tǒng)還包括獨(dú)立的下發(fā)及接收線程,所述下發(fā)線程用于將操作指令發(fā)送到對應(yīng)硬件設(shè)備中,所述接收線程用于接收硬件設(shè)備返回的應(yīng)答數(shù)據(jù)。
[0014]有益效果:本發(fā)明提供的一種海量數(shù)據(jù)通信并發(fā)處理方法及系統(tǒng),通過把大數(shù)據(jù)量的表分解成多個獨(dú)立的子數(shù)據(jù)表,把大的完整的活動分成幾個小的獨(dú)立的活動,操作中不會造成相互影響,能夠提高處理海量數(shù)據(jù)的速度和能力,避免信息阻塞,擁堵或者數(shù)據(jù)丟失的發(fā)生。
【附圖說明】
[0015]圖1為本發(fā)明具體實(shí)施例的一種海量數(shù)據(jù)通信并發(fā)處理方法的方法流程圖。
[0016]圖2為使用本發(fā)明所述方法進(jìn)行收到設(shè)備的刷卡數(shù)據(jù)的具體實(shí)施例的方法示意圖。
[0017]圖3為本發(fā)明具體實(shí)施例的一種海量數(shù)據(jù)通信并發(fā)處理系統(tǒng)的結(jié)構(gòu)框圖。
[0018]圖4為本發(fā)明具體實(shí)施例的一種海量數(shù)據(jù)通信并發(fā)處理方法的獨(dú)立子數(shù)據(jù)表示意圖。
【具體實(shí)施方式】
[0019]本發(fā)明提供一種海量數(shù)據(jù)通信并發(fā)處理方法及系統(tǒng)。為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0020]如圖1所示,為本發(fā)明一種海量數(shù)據(jù)通信并發(fā)處理方法的具體實(shí)施例。所述方法包括:
S100、對數(shù)據(jù)表內(nèi)數(shù)據(jù)進(jìn)行分類,形成多個獨(dú)立的子數(shù)據(jù)表;具體來說,其按來源進(jìn)行分類,對記錄數(shù)量大的表進(jìn)行折分,生成多個獨(dú)立的子數(shù)據(jù)表。
[0021]所述海量數(shù)據(jù)具體可以為考勤記錄或者消費(fèi)記錄,相對應(yīng)的,海量數(shù)據(jù)的并發(fā)處理具體可以為:同一個時間多人查詢學(xué)生的考勤或消費(fèi)記錄或者同一時間內(nèi)可能發(fā)生海量的指令下發(fā)或刷卡記錄接收。
[0022]對于具有較大數(shù)量的數(shù)據(jù)表,可以采用對數(shù)據(jù)表內(nèi)數(shù)據(jù)進(jìn)行分類,形成多個獨(dú)立的子數(shù)據(jù)表(形成多個數(shù)據(jù)映射表),例如:有一百個學(xué)校,每個學(xué)校的刷卡記錄都很多,按學(xué)校的ID分成一百個表(來存放出入記錄),即為每個學(xué)校建一個對應(yīng)表名,用學(xué)校唯一的ID為關(guān)鍵字,讀、寫、刪除等操作時,通過映射關(guān)系訪問對應(yīng)的數(shù)據(jù)表。如此一來,這個每個表的記錄數(shù)量就小了,對這個表的操作速度就快,具體如圖4所示。
[0023]上述方法能夠有效的解決數(shù)據(jù)表過大,導(dǎo)致對數(shù)據(jù)表的操作時間過長的問題。
[0024]S200、將請求數(shù)據(jù)進(jìn)行排序,存儲到緩存中,并從緩存中依次序獲取請求數(shù)據(jù); S300、處理線程依據(jù)所述獲取的請求數(shù)據(jù),進(jìn)行相應(yīng)的操作。
[0025]具體的,SlOO具體包括:首先預(yù)先設(shè)置一分類標(biāo)準(zhǔn),然后依據(jù)所述分類標(biāo)準(zhǔn),將數(shù)據(jù)表內(nèi)的數(shù)據(jù)進(jìn)行分類,最后形成多個獨(dú)立的子數(shù)據(jù)表。
[0026]更具體的,S200具體包括:首先,設(shè)置獨(dú)立的數(shù)據(jù)接收線程以及數(shù)據(jù)獲取線程。然后數(shù)據(jù)接收線程接收請求數(shù)據(jù),依次序存儲到緩存中,并由數(shù)據(jù)獲取線程從緩存中依次序獲取請求數(shù)據(jù)。
[0027]當(dāng)有海量數(shù)據(jù)要求處理時,采用了排序,在緩存中等候處理的方式。(即消息隊(duì)列進(jìn)行緩存),接收數(shù)據(jù)線程只負(fù)責(zé)收到數(shù)據(jù)寫加到隊(duì)列,處理數(shù)據(jù)線程只負(fù)責(zé)從隊(duì)列中取數(shù)據(jù)并對數(shù)據(jù)進(jìn)行分析處理。從而防止處理過程中數(shù)據(jù)的丟失和擁堵。
[0028]較佳的是,S300具體包括:首先,依據(jù)請求數(shù)據(jù)的數(shù)據(jù)處理類型,對應(yīng)設(shè)置多個獨(dú)立的,僅執(zhí)行一種數(shù)