專利名稱:基于緩存機制的協(xié)議分發(fā)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于海量數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種基于緩存機制的協(xié)議分發(fā)處理系統(tǒng)。
背景技術(shù):
目前基于GPRS/3G模式的在線監(jiān)控應(yīng)用越來越多,同時單一應(yīng)用下,接入的設(shè)備也越來越多,隨著設(shè)備的增加,同時設(shè)備類型有可能不同,還有上下行不同的業(yè)務(wù)數(shù)據(jù)處理,若采用單一接入點的方式,對服務(wù)器和網(wǎng)絡(luò)的要求會很高。同時監(jiān)控應(yīng)用中大部分是要是實時監(jiān)控設(shè)備的最新狀態(tài),若采用傳統(tǒng)的數(shù)據(jù)處理方式(如先存到表中,后續(xù)再實時調(diào)用),用戶的體驗會很差,往往覺得數(shù)據(jù)不夠及時。目前已經(jīng)有一些解決辦法如中國專利申請?zhí)枮?01110182296提供了一種海量數(shù) 據(jù)處理方法和系統(tǒng),調(diào)度模塊根據(jù)獲取的當(dāng)前業(yè)務(wù)信息和預(yù)設(shè)的調(diào)度策略判斷是否調(diào)用數(shù)據(jù)倉庫操作語句(H QL),當(dāng)判斷為是時,根據(jù)獲取的當(dāng)前業(yè)務(wù)信息和預(yù)設(shè)的調(diào)度策略獲取調(diào)用順序,調(diào)度模塊根據(jù)調(diào)用順序向數(shù)據(jù)倉庫平臺調(diào)用H Q L,數(shù)據(jù)倉庫平臺從關(guān)系數(shù)據(jù)庫中讀取數(shù)據(jù)倉庫對應(yīng)的配置信息,數(shù)據(jù)倉庫平臺根據(jù)調(diào)用順序觸發(fā)H Q L對分布式平臺存儲的數(shù)據(jù)進行運算,生成結(jié)果數(shù)據(jù)并存儲到分布式平臺。本發(fā)明還公開了一種海量數(shù)據(jù)處理系統(tǒng)。采用該海量數(shù)據(jù)處理方法和系統(tǒng),能夠增強海量數(shù)據(jù)處理的靈活性。另外中國專利申請?zhí)枮?00610098074提供了一種流水線多進程之間基于消息隊列的海量數(shù)據(jù)傳輸方法,在計費產(chǎn)品業(yè)務(wù)處理流程中一條話單順序通過至少分為格式化、規(guī)整(或者稱為分揀)、排重、批價、入庫多個進程,計費方法采用單步與整體提交相結(jié)合的機制,通過配置來實現(xiàn)在不同環(huán)境下采用不同消息隊列類型自動分配任務(wù),負(fù)載均衡管理,將話單分發(fā)至不相同的消息隊列,根據(jù)業(yè)務(wù)邏輯,自定義方式進行部署。采用本發(fā)明方法實現(xiàn)的計費系統(tǒng)海量的話單數(shù)據(jù)在進程間的傳輸,全部通過消息隊列,處理過程可以在內(nèi)存里面實現(xiàn),沒有系統(tǒng)IO的開銷,速度大大提高。采用基于消息隊列的流水線并行處理技術(shù)方案的系統(tǒng)處理效率明顯提高,處理速度在國內(nèi)外計費廠家中名列前茅。然而目前大部分技術(shù)都是基于數(shù)據(jù)庫的實時應(yīng)用,而在現(xiàn)實應(yīng)用中對設(shè)備的監(jiān)控數(shù)據(jù)一天往往就能達到40萬條記錄,對于這種海量的數(shù)據(jù)業(yè)務(wù),若采用傳統(tǒng)的數(shù)據(jù)讀取,一方面需要建索引,另一方面數(shù)據(jù)的取數(shù)速度相當(dāng)慢。而且終端的數(shù)據(jù)上傳協(xié)議大部分是基于TCP/UDP技術(shù)的,為了配置方便往往會指定一個接收服務(wù)器的IP地址和端口,這個服務(wù)器一方面要進行協(xié)議解析,另一方面要進行數(shù)據(jù)存儲。在數(shù)據(jù)量特別大的情況下就會照成服務(wù)擁塞。另外,目前大部分很多基于設(shè)備通信的服務(wù)沒有做到負(fù)載均衡和分發(fā)處理,性能往往比較低下,大部分的設(shè)備通信的數(shù)據(jù)處理是單線程處理,同時在緩存機制上欠缺考慮。本發(fā)明因此而來。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),解決了現(xiàn)有技術(shù)中海量數(shù)據(jù)處理時容易出現(xiàn)服務(wù)擁塞、性能往往比較低下等問題。為了解決現(xiàn)有技術(shù)中的這些問題,本發(fā)明提供的技術(shù)方案是一種基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),其特征在于所述系統(tǒng)包括系統(tǒng)資源登記、協(xié)議分發(fā)服務(wù)器、業(yè)務(wù)處理服務(wù)器,其特征在于所述協(xié)議分發(fā)服務(wù)器內(nèi)根據(jù)業(yè)務(wù)類型、使用的熱點頻率、數(shù)據(jù)方向、占用的數(shù)據(jù)帶寬大小、是否有分包處理構(gòu)建協(xié)議分發(fā)處理路由表,根據(jù)協(xié)議分發(fā)處理路由表將業(yè)務(wù)處理任務(wù)映射到相應(yīng)的業(yè)務(wù)處理服務(wù)器上處理;所述業(yè)務(wù)處理服務(wù)器在內(nèi)存中進行業(yè)務(wù)處理任務(wù)的數(shù)據(jù)索引和數(shù)據(jù)更新,并根據(jù)構(gòu)建的索引表定位到相應(yīng)的數(shù)據(jù)內(nèi)存塊位置。優(yōu)選的,所述業(yè)務(wù)處理服務(wù)器根據(jù)數(shù)據(jù)的使用頻繁程度進行判斷是否進行異步讀操作或異步寫操作,構(gòu)建并異步更新關(guān)系型數(shù)據(jù)庫。優(yōu)選的,當(dāng)所述業(yè)務(wù)處理服務(wù)器內(nèi)存緩存數(shù)據(jù)在出現(xiàn)異常時,按照索引的關(guān)鍵數(shù)據(jù)字段重新從關(guān)系數(shù)據(jù)庫構(gòu)建內(nèi)存緩存數(shù)據(jù)。 本發(fā)明還通過單點接入配置、負(fù)載均衡處理、協(xié)議分發(fā)處理、基于內(nèi)存的數(shù)據(jù)索引和緩存機制、異步更新關(guān)系型數(shù)據(jù)庫技術(shù)來解決這些問題。本發(fā)明的關(guān)鍵在于本發(fā)明技術(shù)方案不直接操作數(shù)據(jù)庫,而是采取的內(nèi)存緩存的技術(shù)存取最新的設(shè)備狀態(tài)數(shù)據(jù),同時異步保存數(shù)據(jù)進數(shù)據(jù)庫。具體的說I)單點接入配置所有的終端設(shè)備接入系統(tǒng)均采用單一 IP配置,通過單一 IP配置,能夠很好的進行硬件的初始化配置。接入服務(wù)器應(yīng)該部署在外網(wǎng)帶寬最大位置,該接入服務(wù)器主要工作就是協(xié)議分發(fā)。2)系統(tǒng)資源登記系統(tǒng)資源包括CPU資源,網(wǎng)絡(luò)資源,內(nèi)存資源,服務(wù)器資源。系統(tǒng)初始化時應(yīng)把所有的資源進行登記,如位置、調(diào)用的參數(shù)信息等。并結(jié)合分發(fā)路由表形成(信息幀/系統(tǒng)資源)的一一對應(yīng)關(guān)系。3)協(xié)議分發(fā)處理設(shè)備上傳的信息幀有不同的協(xié)議。根據(jù)業(yè)務(wù)類型、使用的熱點頻率、數(shù)據(jù)方向、占用的數(shù)據(jù)帶寬大小、是否有分包處理等會做一個路由判斷,同時根據(jù)系統(tǒng)資源情況進行排隊處理。內(nèi)部有一張協(xié)議分發(fā)處理路由表,通過路由表映射到相應(yīng)的業(yè)務(wù)處理服務(wù)器上處理。4)負(fù)載均衡處理一般設(shè)備通信協(xié)議中按照28定律有20%的協(xié)議是熱點協(xié)議,也就是我們要對這20%的熱點協(xié)議進行分配更多的系統(tǒng)資源,提高處理性能。因此會做一個負(fù)載均衡處理。在處理負(fù)載時要記住負(fù)載分發(fā)的路徑。5)基于內(nèi)存的數(shù)據(jù)索引和緩存機制內(nèi)存的數(shù)據(jù)更新和數(shù)據(jù)索引能很大提高數(shù)據(jù)處理效率,系統(tǒng)會重新構(gòu)建業(yè)務(wù)系統(tǒng),把業(yè)務(wù)系統(tǒng)的關(guān)鍵要素和數(shù)據(jù)關(guān)系構(gòu)建于內(nèi)存中,同時有個數(shù)據(jù)刷新機制。保證內(nèi)存中的數(shù)據(jù)始終是最新的。內(nèi)存的數(shù)據(jù)建立索引表,通過索引表能夠最快定位到相應(yīng)的數(shù)據(jù)內(nèi)存塊位置。6)異步更新關(guān)系型數(shù)據(jù)庫異步更新數(shù)據(jù)庫包括異步讀操作和異步寫操作,這兩個步驟是分開進行的。異步讀操作是根據(jù)數(shù)據(jù)的使用頻繁程度按照策略讀入內(nèi)存。異步寫操作是也是根據(jù)數(shù)據(jù)的使用性質(zhì)根據(jù)策略來決定會寫的頻率。7 )緩存數(shù)據(jù)的錯誤處理內(nèi)存緩存數(shù)據(jù)在出現(xiàn)異常時,有個錯誤處理機制,即按照索引的關(guān)鍵數(shù)據(jù)字段重新從關(guān)系數(shù)據(jù)庫構(gòu)建內(nèi)存,保證系統(tǒng)的正常運行。本發(fā)明技術(shù)方案中通過數(shù)據(jù)處理的協(xié)議分發(fā)處理,通過路由表來決定后續(xù)的協(xié)議轉(zhuǎn)發(fā);通過負(fù)載均衡處理熱點協(xié)議的熱點數(shù)據(jù),基于于內(nèi)存的數(shù)據(jù)索引和緩存機制使得數(shù)據(jù)處理無IO操作時間,加快讀取速度;另外異步更新關(guān)系型數(shù)據(jù)庫,永久數(shù)據(jù)的存儲方案,·通過成熟的關(guān)系數(shù)據(jù)庫技術(shù)保證數(shù)據(jù)的可靠存儲。在保障措施上,內(nèi)存數(shù)據(jù)是容易損壞的,在損壞的時候采用一種自動補救機制保證系統(tǒng)能不間斷運營,內(nèi)存數(shù)據(jù)的緩存機制崩潰處理機制保證系統(tǒng)數(shù)據(jù)的可用性,完整性。相對于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點是本發(fā)明針對通信終端設(shè)備接入系統(tǒng)的一種通用解決方案,通過該方案能夠有效解決設(shè)備種類多,數(shù)量多,協(xié)議多的問題。原有的架構(gòu)往往只考慮單一的接入情況,對總體處理考慮不夠。因為業(yè)務(wù)數(shù)據(jù)往往是有管理性的。同時在不同的處理層面都有備份機制保證系統(tǒng)在不同環(huán)節(jié)出問題都有一種自發(fā)的恢復(fù)機制,保證了系統(tǒng)的可用、可靠性。
下面結(jié)合附圖及實施例對本發(fā)明作進一步描述圖I為基于緩存機制的協(xié)議分發(fā)處理系統(tǒng)的系統(tǒng)架構(gòu)圖;圖2為基于緩存機制的協(xié)議分發(fā)處理系統(tǒng)的協(xié)議分發(fā)處理工作流程圖。
具體實施例方式以下結(jié)合具體實施例對上述方案做進一步說明。應(yīng)理解,這些實施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實施例中采用的實施條件可以根據(jù)具體廠家的條件做進一步調(diào)整,未注明的實施條件通常為常規(guī)實驗中的條件。實施例如圖I所示,本實施例得到的基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),包括協(xié)議分發(fā)服務(wù)器、業(yè)務(wù)處理服務(wù)器,其特征在于所述協(xié)議分發(fā)服務(wù)器內(nèi)根據(jù)業(yè)務(wù)類型、使用的熱點頻率、數(shù)據(jù)方向、占用的數(shù)據(jù)帶寬大小、是否有分包處理構(gòu)建協(xié)議分發(fā)處理路由表,根據(jù)協(xié)議分一發(fā)處理路由表將業(yè)務(wù)處理任務(wù)映射到相應(yīng)的業(yè)務(wù)處理服務(wù)器上處理;所述業(yè)務(wù)處理服務(wù)器在內(nèi)存中進行業(yè)務(wù)處理任務(wù)的數(shù)據(jù)索引和數(shù)據(jù)更新,并根據(jù)構(gòu)建的索引表定位到相應(yīng)的數(shù)據(jù)內(nèi)存塊位置。具體的說I)單點接入配置所有的終端設(shè)備接入系統(tǒng)均采用單一 IP配置,通過單一 IP配置,能夠很好的進行硬件的初始化配置。如統(tǒng)一接入服務(wù)器設(shè)為10.10. 10. I。接收端口為10000。接入服務(wù)器應(yīng)該部署在外網(wǎng)帶寬最大位置,該接入服務(wù)器主要工作就是協(xié)議分發(fā)。本實施例采用心跳信息幀,是最常用的設(shè)備檢測狀態(tài)的信息幀。心跳信息幀信息類別(心跳查詢),數(shù)據(jù)方向(只讀),使用頻率(經(jīng)常),數(shù)據(jù)大小(小),優(yōu)先級(一般)。2)資源登記處理把所有的應(yīng)用服務(wù)器資源CPU資源,網(wǎng)絡(luò)資源,內(nèi)存資源,服務(wù)器資源。系統(tǒng)初始化時應(yīng)把所有的資源進行登記,如位置、調(diào)用的參數(shù)信息等。并結(jié)合分發(fā)路由表形成(信息幀/系統(tǒng)資源)的一一對應(yīng)關(guān)系。 系統(tǒng)資源登記資源I (HeartQueryl),網(wǎng)址(10. 10. 11. I)端口(9999),可用 CPU (100%2. 2G 處理器),可用網(wǎng)絡(luò)資源(1000M共享),可用內(nèi)存(100%32G)。資源2 (HeartQuery2),網(wǎng)址(10. 10. 11. 2)端口(9999),可用 CPU (100%2. 2G 處理器),可用網(wǎng)絡(luò)資源(1000M共享),可用內(nèi)存(100%32G)。信息幀/系統(tǒng)資源關(guān)系對應(yīng)心跳信息巾貞應(yīng)使用資源(HeartQueryI、HeartQuery2)。3)協(xié)議分發(fā)處理設(shè)備上傳的信息幀有不同的協(xié)議。根據(jù)業(yè)務(wù)類型、使用的熱點頻率、數(shù)據(jù)方向、占用的數(shù)據(jù)帶寬大小、是否有分包處理等會做一個路由處理。內(nèi)部有一張協(xié)議分發(fā)處理路由表,通過路由表映射到相應(yīng)的業(yè)務(wù)處理服務(wù)器上處理。如圖2所示,分配資源的時候會判斷排隊未處理的隊列大小,根據(jù)不同的隊列大
小轉(zhuǎn)移信息幀。如心跳信息幀信息類別(心跳查詢),數(shù)據(jù)方向(只讀),使用頻率(經(jīng)常),數(shù)據(jù)大小(小),優(yōu)先級(一般)。獲取到心跳信息巾貞的后續(xù)處理應(yīng)用是HeartQueryl或HeartQuery2。3)負(fù)載均衡處理一般設(shè)備通信協(xié)議中按照28定律有20%的協(xié)議時熱點協(xié)議,也就是我們要對這20%的熱點協(xié)議進行優(yōu)化處理,提高處理性能。因此會做一個負(fù)載均衡處理。在處理負(fù)載時要記住負(fù)載分發(fā)的路徑。同樣是上述例子資源當(dāng)前使用情況=HeartQueryl:CPU使用率10%MEM(內(nèi)存使用率)10%LAN(網(wǎng)絡(luò)使用率)10%待處理請求20個。HeartQuery2: CPU使用率80%MEM (內(nèi)存使用率)80%LAN (網(wǎng)絡(luò)使用率)10%待處理請求200個。心跳信息巾貞的處理應(yīng)用HeartQueryl, HeartQuery2, HeartQueryl使用率低,HeartQuery2使用率高,則后續(xù)處理系統(tǒng)自動多分配HeartQueryl —些任務(wù)。若用資源全部接近99%,后續(xù)的信息幀再分配造成資源溢出,故系統(tǒng)將尋找未激活的資源和其他資源利用率不高的應(yīng)用,把應(yīng)用HeartQuery在該資源上激活,并予以分配。4)基于內(nèi)存的數(shù)據(jù)索引和緩存機制
內(nèi)存的數(shù)據(jù)更新和數(shù)據(jù)索引能很大提高數(shù)據(jù)處理效率,系統(tǒng)會重新構(gòu)建業(yè)務(wù)系統(tǒng),把業(yè)務(wù)系統(tǒng)的關(guān)鍵要素和數(shù)據(jù)關(guān)系構(gòu)建于內(nèi)存中,同時有個數(shù)據(jù)刷新機制。保證內(nèi)存中的數(shù)據(jù)始終是最新的。內(nèi)存的數(shù)據(jù)建立索引表,通過索引表能夠最快定位到相應(yīng)的數(shù)據(jù)內(nèi)存塊位置。同樣是上述過程,應(yīng)用HeartQueryl HeartQuery2共用內(nèi)存塊MEMBlockl,該內(nèi)存塊初始化時一次同步關(guān)鍵業(yè)務(wù)數(shù)據(jù)庫。HeartQuerylHeartQuery2共同更新維護該數(shù)據(jù)塊的信息,根據(jù)請求時間來判斷實時數(shù)據(jù)有效性。5)異步更新關(guān)系型數(shù)據(jù)庫異步更新數(shù)據(jù)庫包括異步讀操作和異步寫操作,這兩個步驟是分開進行的。異步讀操作是根據(jù)數(shù)據(jù)的使用頻繁程度按照策略讀入內(nèi)存。異步寫操作是也是根據(jù)數(shù)據(jù)的使用性質(zhì)根據(jù)策略來決定回寫的頻率。同樣上述例子 MEMBlockl是心跳數(shù)據(jù),每10秒回寫一次數(shù)據(jù)庫。6 )緩存數(shù)據(jù)的錯誤處理內(nèi)存緩存數(shù)據(jù)在出現(xiàn)異常時,有個錯誤處理機制,即按照索引的關(guān)鍵數(shù)據(jù)字段重新從關(guān)系數(shù)據(jù)庫構(gòu)建內(nèi)存,保證系統(tǒng)的正常運行。同樣上述例子MEMBlockl掉點或重啟造成數(shù)據(jù)丟失,則立刻進行初始化,重建該內(nèi)存段。上述實例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保護范圍。凡根據(jù)本發(fā)明精神實質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),其特征在于所述系統(tǒng)包括系統(tǒng)資源登記處理、協(xié)議分發(fā)服務(wù)器、業(yè)務(wù)處理服務(wù)器,其特征在于所述協(xié)議分發(fā)服務(wù)器內(nèi)根據(jù)業(yè)務(wù)類型、使用的熱點頻率、數(shù)據(jù)方向、占用的數(shù)據(jù)帶寬大小、是否有分包以及系統(tǒng)的資源使用情況處理構(gòu)建協(xié)議分發(fā)處理路由表,根據(jù)協(xié)議分發(fā)處理路由表將業(yè)務(wù)處理任務(wù)映射到相應(yīng)的業(yè)務(wù)處理服務(wù)器上處理;所述業(yè)務(wù)處理服務(wù)器在內(nèi)存中進行業(yè)務(wù)處理任務(wù)的數(shù)據(jù)索引和數(shù)據(jù)更新,并根據(jù)構(gòu)建的索引表定位到相應(yīng)的數(shù)據(jù)內(nèi)存塊位置。
2.根據(jù)權(quán)利要求I所述的基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),其特征在于所述業(yè)務(wù)處理服務(wù)器根據(jù)數(shù)據(jù)的使用頻繁程度進行判斷是否進行異步讀操作或異步寫操作,構(gòu)建并異步更新關(guān)系型數(shù)據(jù)庫。
3.根據(jù)權(quán)利要求2所述的基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),其特征在于當(dāng)所述業(yè)務(wù)處理服務(wù)器內(nèi)存緩存數(shù)據(jù)在出現(xiàn)異常時,按照索引的關(guān)鍵數(shù)據(jù)字段重新從關(guān)系數(shù)據(jù)庫構(gòu)建內(nèi)存緩存數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種基于緩存機制的協(xié)議分發(fā)處理系統(tǒng),其特征在于所述系統(tǒng)包括協(xié)議分發(fā)服務(wù)器、業(yè)務(wù)處理服務(wù)器,其特征在于所述協(xié)議分發(fā)服務(wù)器內(nèi)根據(jù)業(yè)務(wù)類型、使用的熱點頻率、數(shù)據(jù)方向、占用的數(shù)據(jù)帶寬大小、是否有分包處理構(gòu)建協(xié)議分發(fā)處理路由表,根據(jù)協(xié)議分發(fā)處理路由表將業(yè)務(wù)處理任務(wù)映射到相應(yīng)的業(yè)務(wù)處理服務(wù)器上處理;所述業(yè)務(wù)處理服務(wù)器在內(nèi)存中進行業(yè)務(wù)處理任務(wù)的數(shù)據(jù)索引和數(shù)據(jù)更新,并根據(jù)構(gòu)建的索引表定位到相應(yīng)的數(shù)據(jù)內(nèi)存塊位置。該系統(tǒng)在不同的處理層面都有備份機制保證系統(tǒng)在不同環(huán)節(jié)出問題都有一種自發(fā)的恢復(fù)機制,保證了系統(tǒng)的可用、可靠性。
文檔編號G06F9/50GK102902593SQ20121037101
公開日2013年1月30日 申請日期2012年9月28日 優(yōu)先權(quán)日2012年9月28日
發(fā)明者謝清 申請人:方正國際軟件有限公司