基于數據節(jié)點的并行海量數據處理方法
【專利摘要】本發(fā)明涉及一種基于數據節(jié)點的并行海量數據處理方法;本方法通過將海量數據存儲到不同數據節(jié)點中的數據對象中,所述客戶端可以同時通過不同的數據對象進行并行訪問,提高了訪問效率,實現(xiàn)了大容量、高性能的數據處理服務,并且構建了分布式數據庫系統(tǒng),提供一種利用分布式數據存儲技術實現(xiàn)海量數據訪問服務,形成基于數據節(jié)點的并行海量數據處理方法,本方法還基于IEC61970GID標準和CORBA規(guī)范,支持豐富的聚集操作,滿足數據處理的功能要求,提高開發(fā)效率,節(jié)約資源、降低開發(fā)和維護成本。
【專利說明】基于數據節(jié)點的并行海量數據處理方法
【技術領域】
[0001]本發(fā)明涉及一種基于數據節(jié)點的并行海量數據處理方法,屬于數據處理【技術領域】。
【背景技術】
[0002]隨著計算機技術和現(xiàn)代通信技術的飛速發(fā)展,電力系統(tǒng)自動化軟件業(yè)正在掀起網絡化、組件化的浪潮,從廠站側間隔級的過程總線到主站側的電力企業(yè)集成總線將全面組網和互聯(lián),IT流行的公共對象請求代理體系結構(common object request brokerarchitecture,簡稱CORBA)開始用于電力系統(tǒng)自動化的解決方案,網絡化使電力系統(tǒng)自動化軟件在分布式環(huán)境下分工合作,這種分布式系統(tǒng)往往是一個由不同硬件、不同操作系統(tǒng)、不同支撐環(huán)境或不同廠家的產品組成的異構系統(tǒng),要使其協(xié)調工作,各個部分的接口必須標準化,因此,國際電工技術委員會(IEC)負責電力系統(tǒng)控制及其通信的相關標準的第57技術委員會(IEC TC 57)制定了一系列標準,其中第13工作組(WG13)負責制定與EMS專業(yè)相關的Clbi和CIS標準,其標準系列為IEC 61970系列。
[0003]現(xiàn)在不管是在電力系統(tǒng)領域還是通信領域各種處理的數據都在不斷變大,也就是海量數據處理問題,針對這一問題現(xiàn)有技術中也進行了相應的研究,如中國發(fā)明專利號ZL201010265079.2的《基于文件的海量數據處理方法》公開了一種基于文件海量數據處理模型,所述具體處理過程包括:(I)對多臺數據處理服務器間進行互斥控制,保持所述數據處理系統(tǒng)只有一臺在處理數據,其他數據處理服務器作為備份;(2)對海量數據文件進行分組,將海量數據文件根據并發(fā)線程的總數量進行分組,再將分組后的文件對應到不同的線程進行處理。但是該發(fā)明以數據庫文件存儲數據,并且不能進行并行處理,處理數據較慢,電力系統(tǒng)的各種數據龐大又需要及時處理,并且該發(fā)明沒有與電力系統(tǒng)對接標準,因此現(xiàn)在急需一種可以處理海量電力數據的數據處理方法。
【發(fā)明內容】
[0004]本發(fā)明所要解決的技術問題是現(xiàn)有技術中海量數據處理較慢,開發(fā)效率低的問題,從而提供一種利用分布式數據存儲技術實現(xiàn)海量數據訪問服務,形成基于數據節(jié)點的并行海量數據處理方法。
[0005]為解決上述技術問題,本發(fā)明是通過以下技術方案實現(xiàn)的:
一種基于數據節(jié)點的并行海量數據處理方法,包括以下步驟:
將數據信息壓縮并封裝到數據對象中,所述數據對象對其封裝的數據信息進行存儲并提供訪問接口;
將海量數據根據實際的業(yè)務需求分為一系列的數據節(jié)點,所述數據節(jié)點為一組所述數據對象的集合,將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中,提供并行訪問;
客戶端向總線發(fā)送數據訪問命令時,所述總線根據請求的數據信息,向包含所需數據信息的數據對象并行的發(fā)送訪問請求;
數據對象調用本身的接口訪問其內部存儲的數據,進而獲取數據或寫入數據,最后將結果通過所述總線返回給客戶端。
[0006]所述總線為CORBA的ORB總線。
[0007]所述訪問接口為GID接口,與符合GID標準的配電系統(tǒng)連接。
[0008]每個所述數據對象對應一個數據庫文件,對每個所述數據庫文件預先分配存儲空間。
[0009]所述數據庫文件分布式存儲。
[0010]所述將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中的過程,包括根據可預測的數據訪問頻率的高低和數據量的大小,將訪問頻率高和數據量大的數據對象分配到不同的數據節(jié)點。
[0011]還包括將每個所述數據對象的歷史數據存儲到與其對應的數據庫文件中的步驟。 所述歷史數據為所述數據對象存儲過的所有數據,是一組可以按照時間查閱的數據序列。
[0012]本發(fā)明的上述技術方案相比現(xiàn)有技術具有以下優(yōu)點:
(I)本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法,包括以下步驟:將數據信息壓縮并封裝到數據對象中,所述數據對象對其封裝的數據信息進行存儲并提供訪問接口 ;將海量數據根據實際的業(yè)務需求分為一系列的數據節(jié)點,所述數據節(jié)點為一組所述數據對象的集合,將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中,提供并行訪問;客戶端向總線發(fā)送數據訪問命令時,所述總線根據請求的數據信息,向包含所需數據信息的數據對象并行的發(fā)送訪問請求;數據對象調用本身的接口訪問其內部存儲的數據,進而獲取數據或寫入數據,最后將結果通過所述總線返回給客戶端,本方法通過將海量數據存儲到不同數據節(jié)點中的數據對象中,所述數據對象是本發(fā)明定義的概念,集數據壓縮、存儲和訪問于一體,也是數據處理的基本單元,所述數據對象可以對海量數據進行分類存儲,并可以對多個數據節(jié)點中的數據對象進行并行訪問,提高了訪問效率,實現(xiàn)了大容量、高性能的數據處理服務,解決的技術問題是現(xiàn)有技術中海量數據處理較慢,開發(fā)效率低的問題,從而提供一種基于數據節(jié)點的并行海量數據處理方法。
[0013](2)本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法,所述總線為CORBA的ORB總線,所述訪問接口為GID接口,與符合GID標準的配電系統(tǒng)連接,因此本方法還基于IEC61970 GID標準和CORBA規(guī)范,支持豐富的聚集操作,滿足數據處理的功能要求,提高開發(fā)效率,節(jié)約資源、降低開發(fā)和維護成本。
[0014](3)本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法,每個所述數據對象對應一個數據庫文件,對每個數據庫文件預先分配存儲空間,防止在運行時出現(xiàn)磁盤空間不足等不確定的情況,還可以預防磁盤碎片的產生,保證數據訪問性能的穩(wěn)定和高效。
[0015](4)本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法,所述數據庫文件分布式存儲,因此構建了分布式的數據庫系統(tǒng),可方便的對重要數據進行備份,避免服務器故障引發(fā)的數據丟失或不可查;并且通過海量數據服務,用戶就能夠讀取到所有的數據存儲節(jié)點的信息,而無需關心數據被存儲在哪個網絡的哪個服務器中;所述將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中的過程,包括根據可預測的數據訪問頻率的高低和數據量的大小,將訪問頻率高和數據量大的數據對象分配到不同的數據節(jié)點,方便并行訪問,以此實現(xiàn)負載均衡。
[0016](5)本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法,還包括將每個所述數據對象的歷史數據存儲到與其對應的數據庫文件中的步驟,用戶可以調閱之前某時刻的數值,得到該時刻的歷史數據。將數據對象的歷史數據分別存儲到對應數據庫文件,可以增加數據訪問速度,并方便數據對象的添加、刪除、遷移和數據庫文件的備份。
【專利附圖】
【附圖說明】
[0017]為了使本發(fā)明的內容更容易被清楚的理解,下面結合附圖,對本發(fā)明作進一步詳細的說明,其中,
圖1是本發(fā)明所述基于數據節(jié)點的并行海量數據處理方法的結構示意圖;
圖2是本發(fā)明所述基于數據節(jié)點的并行海量數據處理方法的流程圖;
圖3是本發(fā)明所述基于數據節(jié)點的并行海量數據處理方法的原始數據讀取測試圖。
【具體實施方式】
[0018]下面提供本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法的【具體實施方式】。
[0019]實施例1
本發(fā)明所述的基于數據節(jié)點的并行海量數據處理方法,如圖2所示,其包括以下步驟:將數據信息壓縮并封裝到數據對象中,所述數據對象集數據壓縮、存儲和訪問于一體,也是數據處理的基本單元,即一個數據對象用于壓縮、存儲和訪問某個測量點的一個監(jiān)測指標,通過數據對象的讀取接口,可以獲取該監(jiān)測指標的所有歷史數據,通過數據對象的寫入接口,可以存儲該監(jiān)測指標某時刻的值,所述數據對象對其封裝的數據信息進行存儲并提供訪問接口,所述數據對象可以對海量數據進行分類存儲,并可以對多個數據節(jié)點中的數據對象進行并行訪問。
[0020]將海量數據根據實際的業(yè)務需求分為一系列的數據節(jié)點,所述數據節(jié)點為一組所述數據對象的集合,劃分數據節(jié)點的原則是根據實際業(yè)務需求和數據量的規(guī)模,一般可按照變電站結合其數據量進行劃分,當同一變電站的數據能滿足快速訪問的需要時,可將同一變電站的數據對象劃分到相同的節(jié)點;當同一變電站的數據量過大時,將需要同時獲取的同一變電站的海量數據分別存放到不同的數據節(jié)點中,提供并行訪問。
[0021]如圖1所示,客戶端查詢/存儲某些測量值,海量數據處理服務向對應數據對象(例如數據對象a和數據對象z)發(fā)送訪問請求,數據對象調用本身的訪問接口訪問數據庫文件進而獲取/寫入數據,查詢的結果最終通過海量數據處理服務返回給客戶端,客戶端發(fā)送訪問請求與數據對象獲取/寫入數據是個順序的過程,而針對不同節(jié)點的數據訪問過程是并行執(zhí)行的,極大提高了數據訪問速度;本方法通過將海量數據存儲到不同數據節(jié)點中的數據對象中,所述客戶端可以同時通過不同的數據對象進行并行訪問,提高了訪問效率,實現(xiàn)了大容量、高性能的數據處理服務,根據各應用功能不同,可提高2-4倍的開發(fā)效率,節(jié)約資源、降低開發(fā)和維護成本。
[0022]圖3給出了原始數據讀取性能測試結果,從左到右依次為一次讀取100條、讀取Ik條、讀取10k、和讀取40k條的測試結果;從測試結果來看,在一次性讀取大量數據上具有明顯的優(yōu)勢,且在線程內讀取的速度遠遠超過通過網絡讀取的速度。
[0023]從聚集操作讀取性能測試結果中,可以得出,在其他條件相同的情況下各種聚集操作所用的時間基本相同;時間差異與每次讀取的條目數無關,僅與操作次數有關,所以在讀取聚集操作時同樣支持一次讀取大量數據。
[0024]實施例2
在實施例1所述的基于數據節(jié)點的并行海量數據處理方法的基礎上,所述總線為CORBA的ORB總線,ORB (Object Request Broker)是對象請求代理?;贠RB機制就可以充分利用分布的、可以互操作的對象構造和可以互操作的應用。這種優(yōu)勢是明顯的,數據通信的細節(jié)被完整封裝,用戶可以在不了解實現(xiàn)交互細節(jié)的情況下,可以使用不同的開發(fā)語言及環(huán)境建立共享資源的應用,具有可移植性。
[0025]所述訪問接口為GID 接口,所述 GID 接口為 IEC61970 GID (Generic InterfaceDefinition)標準的接口,它提供了一套用于系統(tǒng)間數據訪問和交換的通用接口,解決了系統(tǒng)的應用與數據資源的共享問題,尤其對于那些耦合較為緊密的核心業(yè)務之間的數據交互,大大優(yōu)化系統(tǒng)的技術架構,根本上解決數據服務和數據交換的性能瓶頸問題。并且IEC61970 GID標準支持豐富的聚集操作,比如求和、差值、平均值、加權平均值、標準差、最大值和最小值等等,滿足數據處理的功能要求。只要符合GID的配電網系統(tǒng)都可以通過數據對象訪問數據庫文件中的內容,實現(xiàn)數據共享。
[0026]實施例3
在以上實施例的基礎上,每個所述數據對象對應一個數據庫文件,對每個數據庫文件預先分配存儲空間,防止在運行時出現(xiàn)磁盤空間不足等不確定的情況,還可以預防磁盤碎片的產生,保證數據訪問性能的穩(wěn)定和高效。
[0027]所述數據庫文件分布式存儲,目前存在數據庫系統(tǒng)難以實現(xiàn)多個數據庫相關聯(lián),而海量數據處理技術針對復雜的數據需求可以對數據庫文件進行配置實現(xiàn)分布式存儲網絡的構建,可方便的對重要數據進行備份,避免服務器故障引發(fā)的數據丟失或不可查;而龐大的存儲結構對外僅僅是一個簡單的CORBA接口,讓用戶使用起來很簡單;此外分布式部署可以加強數據庫服務的可用性,防止部分網絡癱瘓造成的數據節(jié)點不可訪問。
[0028]所述將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中的過程,包括根據可預測的數據訪問頻率的高低和數據量的大小,將訪問頻率高和數據量大的數據對象分配到不同的數據節(jié)點,方便并行訪問,以此實現(xiàn)負載均衡。
[0029]還包括將每個所述數據對象的歷史數據存儲到與其對應的數據庫文件中的步驟,所述歷史數據為數據對象的所有存儲過的值,是一組可以按照時間查閱的數據序列,用戶可以調閱之前某時刻的數值,得到該時刻的歷史數據。將數據對象的歷史數據分別存儲到對應數據庫文件,可以增加數據訪問速度,并方便數據對象的添加、刪除、遷移和數據庫文件的備份。
[0030]顯然,上述實施例僅僅是為清楚地說明所作的舉例,而并非對實施方式的限定。對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變動仍處于本發(fā)明創(chuàng)造的保護范圍之中。
【權利要求】
1.一種基于數據節(jié)點的并行海量數據處理方法,其特征在于,包括以下步驟: 將數據信息壓縮并封裝到數據對象中,所述數據對象對其封裝的數據信息進行存儲并提供訪問接口; 將海量數據根據實際的業(yè)務需求分為一系列的數據節(jié)點,所述數據節(jié)點為一組所述數據對象的集合,將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中,提供并行訪問; 客戶端向總線發(fā)送數據訪問命令時,所述總線根據請求的數據信息,向包含所需數據信息的數據對象并行的發(fā)送訪問請求; 數據對象調用本身的接口訪問其內部存儲的數據,進而獲取數據或寫入數據,最后將結果通過所述總線返回給客戶端。
2.根據權利要求1所述的數據處理方法,其特征在于,所述總線為CORBA的ORB總線。
3.根據權利要求1或2所述的數據處理方法,其特征在于,所述訪問接口為GID接口,與符合GID標準的配電系統(tǒng)連接。
4.根據權利要求1-3任一項所述的數據處理方法,其特征在于,每個所述數據對象對應一個數據庫文件,對每個所述數據庫文件預先分配存儲空間。
5.根據權利要求1-4任一項所述的數據處理方法,其特征在于,所述數據庫文件分布式存儲。
6.根據權利要求1-5任一項所述的數據處理方法,其特征在于,所述將需要同時獲取的海量數據分別存放到不同的數據節(jié)點中的過程,包括根據可預測的數據訪問頻率的高低和數據量的大小,將訪問頻率高和數據量大的數據對象分配到不同的數據節(jié)點。
7.根據權利要求1-6任一項所述的數據處理方法,其特征在于,還包括將每個所述數據對象的歷史數據存儲到與其對應的數據庫文件中的步驟。
8.根據權利要求1-7任一項所述的數據處理方法,其特征在于,所述歷史數據為所述數據對象存儲過的所有數據,是一組可以按照時間查閱的數據序列。
【文檔編號】H04L29/06GK103778212SQ201410020055
【公開日】2014年5月7日 申請日期:2014年1月16日 優(yōu)先權日:2014年1月16日
【發(fā)明者】張宏偉, 趙生傳, 王華廣, 崔瀟, 于強, 牟磊, 郭英雷, 李延真, 蔡鍵, 王德東, 李長林, 陳明, 潘新民, 彭博, 肖慶維, 段蘊毅 申請人:國網山東省電力公司青島供電公司