本發明專利技術公開了一種云環境下基于隊列的高并發數據快速寫入系統及方法,具體包括以下步驟:建立同步管理,使兩臺服務器具有相同的隊列、配置,并且具有數據后備修復機制;配置管理,生成隊列的基本屬性,通過配置管理模塊動態的增加或刪除隊列;隊列管理,根據配置動態的完成對隊列創建及生命周期的管理;寫入操作,將各隊列中的數據按優先級依次寫入存儲設備。采用本發明專利技術可可以避免對磁盤和數據庫的寫競爭,避免死鎖,由于本方法同時注意了災備的考慮,不失一種高效高并發數據寫入的方法。
【技術實現步驟摘要】
本專利技術涉及一種軟件開發
,尤其涉及的是一種。
技術介紹
近些年來,物聯網的應用和大規模在線交易的出現,這些高并發輕量級任務的及時處理和響應是好的用戶體驗的基礎。在處理這些交易數據,一方面要保證及時處理,另一方面也要保證數據的安全。通過在雙機環境下利用隊列技術,通過批量的寫入技術達到高效處理高并發輕量級任務的能力,并且利用雙機來達到災備的目的。本專利技術是在國家863計劃項目基金資助下,在高并發開發領域,利用高速內存中的多隊列技術,通過高速緩存,利用批寫入技術,避免多個小任務的競爭寫入磁盤技術,能夠避免系統的死鎖和崩潰。利用隊列技術可以支持同步、異步和請求響應多個多并發任務。各個隊列中的數據通過調度算法順序寫入硬盤。利用兩個物理主機能夠達到災備的目的。因此,現有技術還有待于改進和發展。
技術實現思路
本專利技術的目的在于提供一種,旨在解決在云環境下高并發輕量級并發任務的數據快速寫入的問題。本專利技術的技術方案如下一種云環境下基于隊列的高并發數據快速寫入系統,其包括同步管理兩臺機器之間的數據一致的同步管理模塊;管理請求用戶和內存隊列的對應關系,隊列的優先級,數據要寫入的文件或數據庫的配置及位置的配置管理模塊;根據配置文件初始化生成隊列,管理隊列的增長和回收機制的隊列管理模塊;根據配置文件把隊列中的數據根據優先級寫入到文件或數據庫中的寫入模塊。所述的云環境下基于隊列的高并發數據快速寫入系統,其中,所述同步管理模塊是通過同步機制使兩臺機器具有相同的隊列、配置,并且具有數據后備修復機制。所述的云環境下基于隊列的高并發數據快速寫入系統,其中,所述配置管理模塊具有動態的增加或刪除隊列的功能。所述的云環境下基于隊列的高并發數據快速寫入系統,其中,所述隊列管理模塊利用效率和可擴展性高的類或開源軟件實現隊列創建和管理。所述的云環境下基于隊列的高并發數據快速寫入系統,其中,所述隊列管理模塊主要包括以下子模塊根據配置文件提供的類型來生成隊列的隊列生成子模塊;把請求存儲的數據放入高速內存隊列緩存的隊列數據寫入子模塊;在寫入模塊寫入存儲設備時從高速內存隊列取出數據,并刪除的隊列數據提取子模塊;能夠動態的添加隊列的隊列添加子模塊的隊列刪除子模塊。一種云環境下基于隊列的高并發數據快速寫入方法,其中,通過網絡把計算資源、存儲資源和網絡端口資源等進行集中的池化管理,然后由主機再進行資源的虛擬分配,形成虛擬服務器,通過在每個服務器中按照配置在內存中設置隊列,并安裝有同步機制,當一臺服務器收到數據寫入請求,由其中一臺自動同另一臺同步數據,同步成功或寫入成功向用戶返回成功,否則為失敗。所述的云環境下基于隊列的高并發數據快速寫入方法,其中,具體包括以下步驟步驟S1:建立同步管理,使兩臺服務器具有相同的隊列、配置,并且具有數據后備修復機制;步驟S2 :配置管理,生成隊列的基本屬性,通過配置管理模塊動態的增加或刪除隊列;步驟S3 :隊列管理,根據配置動態的完成對隊列創建及生命周期的管理;步驟S4 :寫入操作,將各隊列中的數據按優先級依次寫入存儲設備。所述的云環境下基于隊列的高并發數據快速寫入方法,其中,其寫入操作按設定的時間間隔按塊批量寫入磁盤或盤陣。所述的云環境下基于隊列的高并發數據快速寫入方法,其中,還通過按優先級循環選擇內存中的隊列,根據配置文件把隊列中的數據讀出,并批量寫入到存儲設備中,根據并發數據的數量和重要性設定不同的優先級。本專利技術的有益效果本專利技術通過使用內存中的隊列作為緩存,在時間或隊列中的排隊數達到設定的閾值后進行批量寫入,避免寫入磁盤的競爭和死鎖,大大提高了寫入的速度。使用在云環境不同的兩個機器,其中一個機器作為備份,這樣可以避免一臺機器出現異常而使數據丟失,大大提高數據寫入的安全性。通過使用XML配置文件作為服務提供,可以對不同的數據源寫入不同的格式和位置。這樣可以提供給不同企業和應用使用。本專利技術涉及云環境下高并發輕量級并發任務的數據快速寫入技術,并且使用雙機災備技術來保證寫入系統的可靠性和穩定性。它利用消息隊列和Web服務技術,具有很強的可擴展性和實用性,對于高并發任務中的數據寫入文件系統和數據庫都有很好的適應。附圖說明圖1為本專利技術提供的方法流程圖。具體實施例方式為使本專利技術的目的、技術方案及優點更加清楚、明確,以下參照附圖并舉實施例對本專利技術進一步詳細說明。參見圖1,一種云環境下基于隊列的高并發數據快速寫入方法包括下述步驟步驟S1:建立同步管理,使兩臺服務器具有相同的隊列、配置,并且具有數據后備修復機制;步驟S2 :配置管理,生成隊列的基本屬性,通過配置管理模塊動態的增加或刪除隊列;步驟S3 :隊列管理,根據配置動態的完成對隊列創建及生命周期的管理;步驟S4 :寫入操作,將各隊列中的數據按優先級依次寫入存儲設備。本專利技術提供的云環境下基于隊列高并發數據快速寫入方法是在兩個物理主機或云數據中心中的兩個虛擬機上,根據不同需求配置相應的內存和磁盤空間以便應對不同的高并發需求和數據快速寫入和備份的目的。通過網絡把計算資源、存儲資源和網絡端口資源等進行集中的池化管理,然后由主機再進行資源的虛擬分配,形成虛擬服務器。通過在每個服務器中按照配置在內存中設置隊列,隊列的大小和增長方式在配置文件中規定。兩臺服務器中安裝有同步機制,用戶只需要向一臺服務器發送數據寫入請求,由其中一臺自動同另一臺同步數據,同步成功或寫入成功向用戶返回成功,否則為失敗。另外,其寫入程序按一定的時間間隔批量寫入磁盤或盤陣,由于按塊批量寫入存儲設備,大大提高了寫入效率,同時每次寫入同一文件或數據庫的數據,避免了寫入競爭和死鎖。其中,兩臺物理主機,根據并發的多少可配置1-8G的內存,并配置相應大小的磁盤陣列,CPU速度在IGHz以上;或者在數據中心申請同樣速度和大小的CPU,內存和存儲的兩臺虛擬機。在兩臺機器或虛擬機上安裝相同的基礎軟件和配置文件,可以使用開源或商用的消息隊列服務軟件或開發自己的消息隊列軟件,配置文件主要包含以下內容I)用戶名、密碼;隊列名、隊列長度、寫入間隔時間;是否寫入文件以及寫入文件的路徑;2)是否寫入數據庫寫入的數據庫名,數據庫配置驅動、端口、用戶和密碼等;3)兩臺機器配置相同的軟件,為了達到備份的目的,配置同步機制,達到雙方消息隊列同步的目的,并提供統一的接口服務,讓使用者感覺就像在操作一臺機器一樣。本專利技術通過WEB Service來提供統一的服務,用戶通過驗證來調用相應的服務,然后通過服務把數據存入相應的隊列。還通過按優先級循環選擇內存中的隊列,根據配置文件把隊列中的數據讀出,并批量寫入到存儲設備中。這樣可以根據并發數據的數量和重要性采用不同的優先級,以不同的時間間隔來處理內存中的隊列數據,既可以優先把最重要地數據優先寫入,又可以優先選擇寫入高并發和數據量大的隊列中的數據。這樣可以避免大量的占用內存,造成內存泄露。在雙機環境下利用隊列技術寫入模型,實現對云環境的數據快速寫入。利用內存作為緩存,在排隊數達到設定的閾值后進行批量寫入,避免寫入磁盤的競爭和死鎖。按一定的時間間隔批量寫入磁盤或盤陣,由于按塊批量寫入存儲設備,提高了寫入效率。本專利技術中進行配置的具體實施方式如下<配置> <隊列 name=”F><名稱>本文檔來自技高網...
【技術保護點】
一種云環境下基于隊列的高并發數據快速寫入系統,其特征在于,包括:同步管理兩臺機器之間的數據一致的同步管理模塊;管理請求用戶和內存隊列的對應關系,隊列的優先級,數據要寫入的文件或數據庫的配置及位置的配置管理模塊;根據配置文件初始化生成隊列,管理隊列的增長和回收機制的隊列管理模塊;根據配置文件把隊列中的數據根據優先級寫入到文件或數據庫中的寫入模塊。
【技術特征摘要】
1.一種云環境下基于隊列的高并發數據快速寫入系統,其特征在于,包括 同步管理兩臺機器之間的數據一致的同步管理模塊; 管理請求用戶和內存隊列的對應關系,隊列的優先級,數據要寫入的文件或數據庫的配置及位置的配置管理模塊; 根據配置文件初始化生成隊列,管理隊列的增長和回收機制的隊列管理模塊; 根據配置文件把隊列中的數據根據優先級寫入到文件或數據庫中的寫入模塊。2.根據權利要求1所述的云環境下基于隊列的高并發數據快速寫入系統,其特征在于,所述同步管理模塊是通過同步機制使兩臺機器具有相同的隊列、配置,并且具有數據后備修復機制。3.根據權利要求1所述的云環境下基于隊列的高并發數據快速寫入系統,其特征在于,所述配置管理模塊具有動態的增加或刪除隊列的功能。4.根據權利要求1所述的云環境下基于隊列的高并發數據快速寫入系統,其特征在于,所述隊列管理模塊利用效率和可擴展性高的類或開源軟件實現隊列創建和管理。5.根據權利要求1所述的云環境下基于隊列的高并發數據快速寫入系統,其特征在于,所述隊列管理模塊主要包括以下子模塊根據配置文件提供的類型來生成隊列的隊列生成子模塊;把請求存儲的數據放入高速內存隊列緩存的隊列數據寫入子模塊;在寫入模塊寫入存儲設備時從高速內存隊列取出數據,并刪除的隊列數據提取子模塊;能夠動態的添加隊列的隊...
【專利技術屬性】
技術研發人員:王朝碩,周震震,高錫明,朱永虎,朱義,曾春,郭涑煒,邢春曉,
申請(專利權)人:中國南方電網有限責任公司超高壓輸電公司,清華大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。