一種海量數(shù)據(jù)的實時傳輸處理方法、服務(wù)器及處理系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種海量數(shù)據(jù)的實時傳輸處理方法、服務(wù)器及處理系統(tǒng),其中,所述海量數(shù)據(jù)的實時傳輸處理方法,包括接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù);將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性;啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài);從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理;將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中;啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。
【專利說明】
一種海量數(shù)據(jù)的實時傳輸處理方法、服務(wù)器及處理系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于數(shù)據(jù)處理領(lǐng)域,尤其涉及一種海量數(shù)據(jù)的實時傳輸處理方法、服務(wù)器及處理系統(tǒng)。
【背景技術(shù)】
[0002]計算機和網(wǎng)絡(luò)技術(shù)及智能終端的高速發(fā)展,數(shù)據(jù)以一種不可估量的量級高速增長。而如何接受并完整、快速、安全、有效地處理海量數(shù)據(jù)顯得尤為重要。目前,國內(nèi)的數(shù)據(jù)傳輸系統(tǒng)或產(chǎn)品都不能兼容完整、快速、安全、有效地處理海量數(shù)據(jù)這些特點。一般情況下,在保證數(shù)據(jù)完整性的前提下,數(shù)據(jù)卻不能快速、安全地傳輸并保存至數(shù)據(jù)庫中;如果兼容速度,那么又不能保障數(shù)據(jù)的完整性。
[0003]因此,目前亟需一種能夠完整、快速、安全、有效地處理海量數(shù)據(jù)的海量數(shù)據(jù)的實時傳輸處理方法、服務(wù)器及處理系統(tǒng)來解決上述問題。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)的缺點,本發(fā)明提供一種海量數(shù)據(jù)的實時傳輸處理方法、服務(wù)器及處理系統(tǒng)。本發(fā)明通過數(shù)據(jù)單向傳輸、消息中間件、多線程及隊列機制技術(shù),解決了目前海量數(shù)據(jù)傳輸過程中普遍存在的完整與效率無法兼得的問題,亦保證了數(shù)據(jù)在整個傳輸過程中的安全問題。
[0005]為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0006]本發(fā)明提供了一種海量數(shù)據(jù)的實時傳輸處理方法,該方法包括:
[0007]接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù);
[0008]將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性;
[0009]啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài);
[0010]從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理;
[0011]將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中;
[0012]啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。
[0013]當每次消費線程組處理任務(wù)完成后,從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理。
[0014]在本發(fā)明的海量數(shù)據(jù)的實時傳輸處理方法中,客戶端采用數(shù)據(jù)單向傳輸協(xié)議進行發(fā)送數(shù)據(jù),在數(shù)據(jù)由客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性。
[0015]本發(fā)明還將接收的數(shù)據(jù)寫入消息中間件中進行緩存,這樣保證了高并發(fā)數(shù)據(jù)在傳輸過程中的完整性,而且不同業(yè)務(wù)數(shù)據(jù),消息中間件還可以按照不同的名稱進行緩存,大大地提高了數(shù)據(jù)傳輸過程中的業(yè)務(wù)處理能力。
[0016]當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。
[0017]在本發(fā)明的海量數(shù)據(jù)的實時傳輸處理方法中,調(diào)用相應(yīng)接口將數(shù)據(jù)批量存儲至不同數(shù)據(jù)庫。
[0018]由于數(shù)據(jù)傳輸?shù)淖罱K目的是將數(shù)據(jù)進行存儲,因此,通過配置和調(diào)用不同接口,則可將數(shù)據(jù)向一種或者多種數(shù)據(jù)庫中批量寫入,提高了數(shù)據(jù)傳輸協(xié)議的開發(fā)效率。
[0019]通過配置參數(shù)決定啟動工作線程組中工作線程的數(shù)目。
[0020]啟動各工作線程,各線程在隊列上等待任務(wù);就像一個工廠中有很多的工人,把任務(wù)放到一個隊列中,那些工人就會自動的獲取任務(wù),每次處理任務(wù)完成后,再次在隊列中等待新的任務(wù)。有任務(wù)時,取出任務(wù)進行處理;無任務(wù)時,空閑等待。每個任務(wù)只能被一個線程取出并處理。隊列機制是解決多線程并行協(xié)同工作的可靠和高效的手段。
[0021]本發(fā)明還提供了一種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,包括:
[0022]數(shù)據(jù)接收模塊,其被配置為接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù);
[0023]數(shù)據(jù)寫入模塊,其被配置為將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性;
[0024]消費線程啟動模塊,其被配置為啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài);
[0025]數(shù)據(jù)調(diào)取分配模塊,其被配置為從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理;
[0026]數(shù)據(jù)列隊緩存模塊,其被配置為將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中;
[0027]工作線程啟動模塊,其被配置為啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。
[0028]在消費線程啟動模塊中,當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。
[0029]所述用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器還包括接口調(diào)用模塊,其被配置為調(diào)用相應(yīng)接口將數(shù)據(jù)批量存儲至不同數(shù)據(jù)庫。
[0030]所述工作線程啟動模塊通過配置參數(shù)決定啟動工作線程組中工作線程的數(shù)目。
[0031]所述工作線程啟動模塊還按照數(shù)據(jù)的規(guī)模大小以及所述服務(wù)器的處理能力進行調(diào)整啟動工作線程組中工作線程的數(shù)目。
[0032]此外,本發(fā)明還提供了一種用于海量數(shù)據(jù)的實時傳輸處理系統(tǒng),該處理系統(tǒng)包括上述用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器。
[0033]本發(fā)明的有益效果為:
[0034](I)在本發(fā)明的海量數(shù)據(jù)的實時傳輸處理方法中,客戶端采用數(shù)據(jù)單向傳輸協(xié)議進行發(fā)送數(shù)據(jù),在數(shù)據(jù)由客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性;
[0035](2)本發(fā)明還將接收的數(shù)據(jù)寫入消息中間件中進行緩存,這樣保證了高并發(fā)數(shù)據(jù)在傳輸過程中的完整性,而且不同業(yè)務(wù)數(shù)據(jù),消息中間件還可以按照不同的名稱進行緩存,大大地提高了數(shù)據(jù)傳輸過程中的業(yè)務(wù)處理能力;
[0036](3)本發(fā)明還采用多線程模式,啟動消費線程組接收處理任務(wù)并將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中,以及啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中;結(jié)合列隊機制,將數(shù)據(jù)處理后放入各任務(wù)隊列當中和從隊列中順序讀取數(shù)據(jù)進行批量存儲,隊列機制解決了多線程并行協(xié)同工作的可靠性和高效性;
[0037](4)本發(fā)明以多線程并行工作的方式代替?zhèn)鹘y(tǒng)的工作方式,并可通過配置文件調(diào)整最大的工作線程數(shù)限制;而且允許使用者根據(jù)實際數(shù)據(jù)的規(guī)模,調(diào)優(yōu)參數(shù),達到實際環(huán)境的最佳性能。
【附圖說明】
[0038]圖1是本發(fā)明的海量數(shù)據(jù)的實時傳輸處理方法的流程示意圖;
[0039]圖2是本發(fā)明的用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實施方式】
[0040]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0041]本發(fā)明實施例中提及的客戶端可以包括個人電腦、平板電腦和智能手機。本發(fā)明實施例中的服務(wù)器可直接通過網(wǎng)絡(luò)與客戶端相互通信。
[0042]圖1是本發(fā)明實施例中一種海量數(shù)據(jù)的實時傳輸處理方法的流程示意圖,本實施例主要是從服務(wù)器一側(cè)來描述,如圖所示本實施例中的海量數(shù)據(jù)的實時傳輸處理方法,包括:
[0043]SlOl,接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù);
[0044]具體實現(xiàn)中,客戶端采用的數(shù)據(jù)單向傳輸協(xié)議(比如TFTP的單向文件傳輸、單向文件傳輸協(xié)議FLUTE傳輸),進行傳送數(shù)據(jù)。這樣使得數(shù)據(jù)在客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性。
[0045]S102,將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性;
[0046]具體實現(xiàn)中,消息中間件以由LinkedIn開發(fā)的一個分布式的消息系統(tǒng)kafka為例:
[0047]通過kafka,可將高并發(fā)數(shù)據(jù)進行緩存,客戶端可逐步進行消費,保證了數(shù)據(jù)在傳輸過程中的完整性。不同業(yè)務(wù)數(shù)據(jù),又可以通過kafka中不同TOPIC名稱進行緩存,大大地提高了此數(shù)據(jù)傳輸過程中的業(yè)務(wù)處理能力。
[0048]S103,啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài);
[0049]具體實現(xiàn)中,當每次消費線程組處理任務(wù)完成后,從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理。
[0050]S104,從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理;
[0051]在此過載中,接收數(shù)據(jù)格式與存儲時的格式存在不一致的情況,使用者可根據(jù)業(yè)務(wù)需求自行定義。
[0052]具體實現(xiàn)中,當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。
[0053]S105,將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中。
[0054]當每次消費線程組處理任務(wù)完成后,從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理。
[0055]S106,啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。
[0056]在具體實現(xiàn)中,還調(diào)用相應(yīng)接口將數(shù)據(jù)批量存儲至不同數(shù)據(jù)庫。
[0057]由于數(shù)據(jù)傳輸?shù)淖罱K目的是將數(shù)據(jù)進行存儲,因此,通過配置和調(diào)用不同接口,則可將數(shù)據(jù)向一種或者多種數(shù)據(jù)庫中批量寫入,提高了數(shù)據(jù)傳輸協(xié)議的開發(fā)效率。
[0058]此外,本實施例還通過配置參數(shù)決定啟動工作線程組中工作線程的數(shù)目。
[0059]啟動各工作線程,各線程在隊列上等待任務(wù);就像一個工廠中有很多的工人,把任務(wù)放到一個隊列中,那些工人就會自動的獲取任務(wù),每次處理任務(wù)完成后,再次在隊列中等待新的任務(wù)。有任務(wù)時,取出任務(wù)進行處理;無任務(wù)時,空閑等待。每個任務(wù)只能被一個線程取出并處理。隊列機制是解決多線程并行協(xié)同工作的可靠和高效的手段。
[0060]本實施例中,客戶端采用數(shù)據(jù)單向傳輸協(xié)議進行發(fā)送數(shù)據(jù),在數(shù)據(jù)由客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性;
[0061]本實施例還采用多線程模式,啟動消費線程組接收處理任務(wù)并將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中,以及啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中;結(jié)合列隊機制,將數(shù)據(jù)處理后放入各任務(wù)隊列當中和從隊列中順序讀取數(shù)據(jù)進行批量存儲,隊列機制解決了多線程并行協(xié)同工作的可靠性和高效性;
[0062]本實施例以多線程并行工作的方式代替?zhèn)鹘y(tǒng)的工作方式,并可通過配置文件調(diào)整最大的工作線程數(shù)限制;而且允許使用者根據(jù)實際數(shù)據(jù)的規(guī)模,調(diào)優(yōu)參數(shù),達到實際環(huán)境的最佳性能。
[0063]圖2是本發(fā)明實施例中一種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器的結(jié)構(gòu)示意圖,本發(fā)明實施例中提及的客戶端可以包括個人電腦、平板電腦和智能手機。本發(fā)明實施例中的服務(wù)器可直接通過網(wǎng)絡(luò)與客戶端相互通信。
[0064]如圖2所示本實施例中的用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,包括數(shù)據(jù)接收模塊、數(shù)據(jù)寫入模塊、消費線程啟動模塊、數(shù)據(jù)調(diào)取分配模塊、數(shù)據(jù)列隊緩存模塊和工作線程啟動模塊這六大模塊。
[0065]其中,數(shù)據(jù)接收模塊,其被配置為接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù)。
[0066]客戶端采用的數(shù)據(jù)單向傳輸協(xié)議(比如TFTP的單向文件傳輸、單向文件傳輸協(xié)議FLUTE傳輸),進行傳送數(shù)據(jù)。這樣使得數(shù)據(jù)在客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性。
[0067]數(shù)據(jù)寫入模塊,其被配置為將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性。
[0068]具體實現(xiàn)中,消息中間件以由LinkedIn開發(fā)的一個分布式的消息系統(tǒng)kafka為例:
[0069]通過kafka,可將高并發(fā)數(shù)據(jù)進行緩存,客戶端可逐步進行消費,保證了數(shù)據(jù)在傳輸過程中的完整性。不同業(yè)務(wù)數(shù)據(jù),又可以通過kafka中不同TOPIC名稱進行緩存,大大地提高了此數(shù)據(jù)傳輸過程中的業(yè)務(wù)處理能力。
[0070]消費線程啟動模塊,其被配置為啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài)。
[0071]具體實現(xiàn)中,當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。
[0072]在消費線程啟動模塊中,當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。
[0073]數(shù)據(jù)調(diào)取分配模塊,其被配置為從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理。
[0074]數(shù)據(jù)列隊緩存模塊,其被配置為將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中。
[0075]工作線程啟動模塊,其被配置為啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。
[0076]本實施例中的用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器還包括接口調(diào)用模塊,其被配置為調(diào)用相應(yīng)接口將數(shù)據(jù)批量存儲至不同數(shù)據(jù)庫。
[0077]其中,工作線程啟動模塊通過配置參數(shù)決定啟動工作線程組中工作線程的數(shù)目。
[0078]優(yōu)選地,工作線程啟動模塊還按照數(shù)據(jù)的規(guī)模大小以及所述服務(wù)器的處理能力進行調(diào)整啟動工作線程組中工作線程的數(shù)目。
[0079]本實施例中,客戶端采用數(shù)據(jù)單向傳輸協(xié)議進行發(fā)送數(shù)據(jù),在數(shù)據(jù)由客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性;
[0080]本實施例還采用多線程模式,啟動消費線程組接收處理任務(wù)并將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中,以及啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中;結(jié)合列隊機制,將數(shù)據(jù)處理后放入各任務(wù)隊列當中和從隊列中順序讀取數(shù)據(jù)進行批量存儲,隊列機制解決了多線程并行協(xié)同工作的可靠性和高效性;
[0081]本實施例以多線程并行工作的方式代替?zhèn)鹘y(tǒng)的工作方式,并可通過配置文件調(diào)整最大的工作線程數(shù)限制;而且允許使用者根據(jù)實際數(shù)據(jù)的規(guī)模,調(diào)優(yōu)參數(shù),達到實際環(huán)境的最佳性能。
[0082]此外,本發(fā)明還提供了一種用于海量數(shù)據(jù)的實時傳輸處理系統(tǒng),該處理系統(tǒng)包括上述用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器。具體地該服務(wù)器的具體結(jié)構(gòu)將不再累述。
[0083]本發(fā)明還提供了一種用于海量數(shù)據(jù)的實時傳輸處理系統(tǒng),接收客戶端采用數(shù)據(jù)單向傳輸協(xié)議進行發(fā)送數(shù)據(jù),在數(shù)據(jù)由客戶端傳輸至內(nèi)網(wǎng)即高密級端時,內(nèi)網(wǎng)的數(shù)據(jù)不會泄露,從而保證數(shù)據(jù)的安全性;
[0084]還將接收的數(shù)據(jù)寫入消息中間件中進行緩存,這樣保證了高并發(fā)數(shù)據(jù)在傳輸過程中的完整性,而且不同業(yè)務(wù)數(shù)據(jù),消息中間件還可以按照不同的名稱進行緩存,大大地提高了數(shù)據(jù)傳輸過程中的業(yè)務(wù)處理能力;
[0085]本發(fā)明還采用多線程模式,啟動消費線程組接收處理任務(wù)并將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中,以及啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中;結(jié)合列隊機制,將數(shù)據(jù)處理后放入各任務(wù)隊列當中和從隊列中順序讀取數(shù)據(jù)進行批量存儲,隊列機制解決了多線程并行協(xié)同工作的可靠性和高效性;
[0086]本發(fā)明以多線程并行工作的方式代替?zhèn)鹘y(tǒng)的工作方式,并可通過配置文件調(diào)整最大的工作線程數(shù)限制;而且允許使用者根據(jù)實際數(shù)據(jù)的規(guī)模,調(diào)優(yōu)參數(shù),達到實際環(huán)境的最佳性能。
[0087]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。
[0088]上述雖然結(jié)合附圖對本發(fā)明的【具體實施方式】進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。
【主權(quán)項】
1.一種海量數(shù)據(jù)的實時傳輸處理方法,其特征在于,包括: 接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù); 將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性; 啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài); 從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理; 將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中; 啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。2.如權(quán)利要求1所述的一種海量數(shù)據(jù)實時傳輸方法,其特征在于,當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。3.如權(quán)利要求1所述的一種海量數(shù)據(jù)實時傳輸方法,其特征在于,調(diào)用相應(yīng)接口將數(shù)據(jù)批量存儲至不同數(shù)據(jù)庫。4.如權(quán)利要求1所述的一種海量數(shù)據(jù)實時傳輸方法,其特征在于,通過配置參數(shù)決定啟動工作線程組中工作線程的數(shù)目。5.—種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,其特征在于,包括: 數(shù)據(jù)接收模塊,其被配置為接收客戶端的基于數(shù)據(jù)單向傳輸協(xié)議發(fā)送來的數(shù)據(jù); 數(shù)據(jù)寫入模塊,其被配置為將接收的數(shù)據(jù)寫入消息中間件中進行緩存,來保證數(shù)據(jù)在傳輸過程中的完整性; 消費線程啟動模塊,其被配置為啟動消費線程組,消費線程組中的各個消費線程啟動后均處于空閑等待任務(wù)狀態(tài); 數(shù)據(jù)調(diào)取分配模塊,其被配置為從消息中間件中取出數(shù)據(jù),并轉(zhuǎn)化成處理任務(wù)分配至消費線程組中的各個消費線程中進行處理; 數(shù)據(jù)列隊緩存模塊,其被配置為將每個消費線程處理任務(wù)完成后的結(jié)果數(shù)據(jù)保存至緩存隊列中; 工作線程啟動模塊,其被配置為啟動工作線程組,從緩存隊列中獲取結(jié)果數(shù)據(jù)并批量存儲至數(shù)據(jù)庫中。6.如權(quán)利要求5所述的一種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,其特征在于,在消費線程啟動模塊中,當每次消費線程組處理任務(wù)完成后且消息中間件中無數(shù)據(jù)時,消費線程組處于空閑等待任務(wù)狀態(tài)。7.如權(quán)利要求5所述的一種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,其特征在于,所述用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器還包括接口調(diào)用模塊,其被配置為調(diào)用相應(yīng)接口將數(shù)據(jù)批量存儲至不同數(shù)據(jù)庫。8.如權(quán)利要求5所述的一種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,其特征在于,所述工作線程啟動模塊通過配置參數(shù)決定啟動工作線程組中工作線程的數(shù)目。9.如權(quán)利要求8所述的一種用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器,其特征在于,所述工作線程啟動模塊還按照數(shù)據(jù)的規(guī)模大小以及所述服務(wù)器的處理能力進行調(diào)整啟動工作線程組中工作線程的數(shù)目。10.—種用于海量數(shù)據(jù)的實時傳輸處理系統(tǒng),其特征在于,該處理系統(tǒng)包括如權(quán)利要求5-9任一所述的用于海量數(shù)據(jù)的實時傳輸處理的服務(wù)器。
【文檔編號】H04L29/08GK105978968SQ201610309434
【公開日】2016年9月28日
【申請日】2016年5月11日
【發(fā)明人】陳浩, 王可鑫, 段文良, 高軍, 王恒
【申請人】山東合天智匯信息技術(shù)有限公司