摘 要: 金融信息服務系統中,需要處理的數據對象包括了結構化和非結構化的復雜混合數據。構建一個滿足金融混合數據處理要求的統一的數據管理平臺,是成功實現一個可擴展、高性能、高可靠的金融信息服務系統的基礎。文章介紹了混合型數據管理引擎的概念和方法,提出了一種基于混合型數據管理引擎構建金融數據平臺的解決方案,可有效解決混合類型金融數據在數據集成、組合查詢檢索、數據挖掘等環節遇到的問題,為客戶提供更有價值的、可個性化定制的金融信息服務。
關鍵詞: 金融信息服務系統; 混合型數據管理引擎; 數據集成; 個性化定制
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2015)11-36-04
Abstract: Data objects processed by a financial information service system contain structural data and unstructured data. Therefore, building a unified data management platform that meets the requirement of such comprehensive data, is the essential basement to build an expandable, high performance, high reliable financial information service system. The paper introduces the concept and method of hybrid data management engine, proposes a solution to build a financial data management platform based on hybrid data management engine, which is effective to solve the problem in acquiring, integrating, analyzing and utilizing the mix-type financial data, and to provide more valuable and customizable financial information service to the clients.
Key words: financial information service system; hybrid data management engine; data integration; personalized customization
0 引言
金融信息服務系統是集實時資訊、行情報價、歷史數據、研究工具和分析模型于一體的系統。金融信息服務系統需要處理各類型的金融數據,從數據結構的角度,可分為宏觀經濟數據、行業統計數據、上市公司數據、海關數據等結構化數據,以及實時資訊、分析報告等非結構化數據;從數據更新頻度的角度,可分為低頻數據,以及高頻數據如實時行情報價、交易數據等。顯然,金融信息服務系統是一個典型的混合數據類型的應用系統。
面對種類多樣、結構復雜的金融數據,如何有效地獲取、整合、存儲、分析和挖掘利用,如何構建一個滿足金融數據處理需求的統一的數據管理與檢索平臺,是成功實現一個可擴展、高性能、高可靠、可定制的金融信息服務系統的基礎。如何打通不同結構類型之間數據的鴻溝,有效地理解和挖掘蘊含在金融資訊中的價值,發現結構化數據與非結構化數據之間的內在聯系,從而為用戶提供有價值且及時的增值服務,是金融信息服務系統要努力達到的目標[1]。
1 金融信息服務系統對數據管理平臺的要求
金融數據管理平臺要處理的數據對象是結構化、非結構化數據并存的混合類型數據,其具有以下特點。
⑴ 海量性:數據數量多、容量大,需要高性能的存儲、查詢檢索和分布式存儲和管理技術。
⑵ 多樣性:信息來源不同、格式不同、載體不同、處理方式不同。
⑶ 復雜性:金融數據在采集、過濾、存儲、檢索、提取、挖掘、分析等方面,具有更高的復雜性。
⑷ 個性化:在金融信息應用中,對信息個性化增值服務方面存在廣泛需求。
⑸ 實時性:金融數據關系到交易決策,從數據產生到推送至用戶終端,延遲越低越好。
金融數據具有來源繁多、種類復雜多樣、體量大、實時性強的特點,金融信息服務系統對金融數據的利用需求又涵蓋實時查詢、聯機事務處理、批量分析處理等多個方面,如何統一存儲和管理這些海量異構的金融數據,實現集中管理與共享,是建立金融信息服務系統的重點。
歸納上述需求特點,我們需要這樣一個金融數據管理引擎,其能夠統一管理結構化和非結構化混合的數據類型,既具有高可靠性、一致性的在線事務處理能力,也能滿足批量分析處理的要求;既能高效實現結構化數據的查詢、統計,也提供高性能和功能豐富的文本檢索,并支持跨數據和文本的智能挖掘功能[2]。
最后,我們希望在此統一數據引擎上可以獲得更高的開發效率,具有一致的開發語言和接口。同時我們也關注并發控制、災難恢復等需求。
2 混合數據管理技術
混合數據管理技術是將傳統關系數據庫技術與智能信息檢索、數據挖掘等技術相結合,在內核級實現結構化數據與非結構化數據統一管理的一種新型的數據管理技術[3]。
傳統關系數據庫主要面向事務處理和數據分析應用領域,擅長解決結構化數據管理問題。而全文信息檢索系統是八十年代發展起來,面向文檔類型的數據管理系統。其核心是結合智能信息處理技術,采用專門的倒排結構對海量文本信息建立索引,以實現海量文本數據的高速檢索。但是,全文數據庫不支持數據管理和查詢語言的標準,事務處理能力差。
混合數據管理技術,既利用了關系數據模型在抽象和數據類型簡單上的優勢,以實現數據間的關系運算并確保數據一致性、容錯性;同時利用了全文檢索對海量文本數據的高速檢索和信息處理技術,在系統內核把關系數據庫、全文檢索統一起來。因此其同時擁有兩類系統原有的長處與好處[4]。
混合數據管理技術具有以下五個特點和優勢。
⑴ 數據管理特性
具有傳統數據庫管理系統中基本的被實踐證明是非常有效的數據管理特性。這些特性包括:CRUD操作,支持事務處理的ACID特性(原子性、并發性、隔離性和一致性)、數據庫寫日志(WAL)、容錯恢復等。
⑵ 混合的數據查詢語言
在SQL/MM的標準(《ISO/IEC 13249-2信息技術 數據庫語言SQL多媒體和應用包 第2部分:全文》[6])的數據接口基礎上進行適當的擴展,形成同時支持SQL規范和面向信息檢索、多媒體查詢的混合查詢語言,且可互操作。使得大量的應用程序開發人員可用SQL工具上進行混合數據應用項目的開發,降低開發成本。
⑶ 查詢優化
針對混合查詢語言,擁有混合查詢優化的能力。系統能通過數據的類型、索引方式,負載情況自動選擇較優的索引和查詢計劃,實現查詢優化,獲得好的查詢性能。
⑷ 靈活的結果排序
對于高質量查詢結果輸出必須是靈活、可定制的加權(評分)和排序機制。最常用的有按相關度或時間序輸出。
⑸ 智能處理
內置自然語言文本智能分析組件、多媒體智能處理組件和數據挖掘組件,組成文本多媒體智能處理套件。具有內容自動分詞、要素提取、自動去重、自動摘要、自動分類、自動聚類、傾向性分析、多媒體數據文本抽取、特征標引、數據挖掘、多維分析等功能。
混合數據管理引擎是滿足上述五項要求的,在數據管理系統的基礎層提供統一的數據處理內核,在存儲方法上支持Hash索引、B+索引、層次索引、高維索引和倒排索引。同時具有完整的事務處理、并發控制和數據恢復功能,以及包括混合查詢和關聯查詢的執行器和優化器。如圖1所示。
3 基于混合數據管理引擎的金融信息服務平臺
以混合數據引擎為基礎,將各類型金融結構化數據、非結構化數據等都集成到基于混合數據引擎的數據庫中,進行統一存儲管理。如圖2所示。由于采用同一個數據引擎內核,可方便地實現數據集成、組合查詢、和挖掘利用。
3.1 金融數據集成加工系統
結構化數據主要包括各類行情數據、宏觀經濟數據、行業數據以及上市公司數據等,非結構化數據主要包括新聞資訊、研究報告和音視頻等[5]。此類數據特點是:來源不一,格式復雜多樣。因此需要開發一套數據集成加工系統對多種數據進行采集、校驗和入庫。混合數據引擎本身支持多種數據類型及組合數據類型的定義,同時提供了對不同類型數據進行預處理的工具包,因此在數據集成工具的設計上,可充分利用這一優勢,簡化并加快數據集成系統的實現過程。
3.2 金融數據的存儲、索引和查詢
結構化數據在混合數據引擎中的存儲,與傳統關系數據庫的組織方式一致。關系表中的數據,以b-tree索引的方式進行訪問。
而新聞資訊、研究報告、多媒體音視頻等非結構化數據,則按平臺規劃的統一的元數據標準,以類xml數據模型的方式進行組織和存儲。多媒體數據在集成平臺中就進行了預處理,利用人工標注和自動標注相結合的方式,加上了特征標引和內容文本。最后,對于需要查詢分析的元數據屬性和大文本內容,統一建立混合型倒排索引。
混合數據引擎在內核級支持跨表的結構化B-tree索引和倒排索引的組合求交運算,因而,我們可以實現復雜的跨關系數據、文本數據以及多媒體數據的組合查詢和檢索。
混合數據引擎支持數據庫事務,這確保了金融數據在更新時的高可靠性、一致性和并發性。譬如,一條新聞稿件可能會關聯到多個數據對象,如文本、圖像、視頻和相關的宏觀經濟數據記錄,事務機制可保證這些數據對象以及附加的各類索引在更新時保持一致性、完整性,并在統一語言接口的層面為應用服務的開發提供了可靠保障和便捷性。
3.3 金融數據的分析和挖掘
當金融數據平臺中積累了大量的不同類型數據,為了提供高質量的金融信息服務,我們需要對這些數據進行進一步的分析、挖掘和利用。混合數據管理引擎內置了一系列的文本智能分析組件,如分詞、自動分類、自動聚類、內容去重、自動摘要等,這些工具可以對金融類資訊進行深層次加工和挖掘。同時,由于結構化數據和非結構化數據存儲在同一個數據內核中,利用引擎提供的高維索引、層次索引、B樹索引和倒排索引,就能較容易地實現跨類型跨媒體數據的關聯、分析和挖掘。
3.4 統一接口的應用服務層
應用服務層是金融信息混合數據平臺對外提供靈活服務和發布統一數據的部分。金融終端的數據服務種類繁多,要求并發性能高,延遲低。因此,需要在應用服務系統設計統一的數據標準和接口規范,合理規劃,使得多個模塊之間能協調高效地運作,為客戶端提供高質量的金融信息服務。
⑴ 數據訪問接口層
通過消息中間件、高速緩沖技術和專線網絡解決方案來實現終端平臺與系統內部的高效、可靠的數據推送和分發。采用Restful Web API提供輕量級并高效的應用服務。
⑵ 負載均衡
將大量的并發訪問或數據流量分擔到多臺節點設備上分別處理,減少用戶等待時間,利用動態的分布式負載提高整體性能和吞吐量。
⑶ 安全管理
提供應用層對用戶權限的管理,實時監控用戶的接入;分離應用程序和數據庫服務,保證數據獨立于應用程序,提供安全的隔離。
3.5 可個性化定制的終端顯示框架
終端界面作為用戶與系統平臺的交互媒介,是用戶評論系統平臺好壞的重要指標之一。個性化界面針對金融信息服務業用戶需要的多樣性,改變終端界面的交互內容及表現形式,以滿足用戶的個性化需求,在提高用戶滿意度的同時增強系統平臺的通用性。
將終端界面從應用程序頂級開始,逐層進行對象化設計。功能界面劃分為框架、對象、工具條、浮動按鈕等多個層次。各個功能模塊加以細分為資訊、行情、交易、用戶管理等,每個功能模塊設計成一個個的獨立組件,每一個組件完成一個特定的功能。設計組件之間交互接口,通過協議和API接口組合成一個完整的系統。該方案增加了系統的靈活性,有利于針對不同用戶組進行功能的裁減、重組和擴充。
對用戶角色進行定義和分類,用戶可選擇自己的角色,即可訪問系統為這類角色預先設置好的一組新聞、行情鏈接,實現系統終端的個性化服務。
金融信息服務系統提供PC終端、Web終端、移動終端等多種形式。
4 結束語
本文提出基于混合數據引擎構建金融信息服務系統的解決方案,從數據管理的基礎引擎著手,解決了金融信息服務系統在處理復雜混合結構數據時,在數據集成、組合查詢檢索、跨類型跨媒體的數據挖掘方面遇到的困難,使得由此構建的金融信息服務系統,向用戶提供高可靠、高性能、可個性化定制的金融信息服務。本文也對基于數據引擎之上的金融應用服務層和金融終端顯示層需要解決的一些關鍵問題給出了設計思路和簡要描述。
本文論述的基于混合數據管理引擎的金融信息服務系統的設計思路和方案,已應用于新華08金融信息服務系統(精華版“金融臺”)[5],并取得了良好的社會效益和經濟效益。
下一步的工作是總結金融信息服務系統在實際應用中的經驗,展望未來,繼續探索基于混合數據引擎的分布式處理機制如分布式一致性、水平可擴展性,實現更大級別數據容量的混合管理,并支持在更高并發場景下系統的高可用性。
參考文獻(References):
[1] 俞楓,李潔華.金融信息服務系統技術框架研究[J].計算機系
統應用,2014.7:201
[2] Steve Duplessie.混合數據管理將成主流[J].軟件世界,
2007.23:68
[3] 鄭益,毛楚祥.傳統數據庫技術與信息檢索系統的集成[J].計
算機時代,2010.8:1
[4] 毛楚祥,鄭益.混合數據管理引擎[J].情報資料工作,2011.1:
68
[5] 吳滿宇,楊曉君.新華社推出綜合金融信息服務系統[J].
Chinese Journalist,2007.7:52
[6] ISO/IEC 13249-2:2003, SQL/MM:Part 2:Full-Text[S].
[國際、國家標準]