

摘 要: 本文研究生產采集系統對種類繁多、零散的數據進行采集時,如何建立業務模型,使系統更易于擴展。通過數據點、模板、指標的方式,結合基礎實體,建立動態業務數據模型,能夠有效支撐生產系統對實時、無關聯的數據采集和分析報表展現。
關鍵詞:生產采集 零散數據 動態業務模型 數據點 指標
中圖分類號:TP39 文獻標識碼:A 文章編號:1003-9082(2017)02-0004-02
一、概述
目前流行的關系數據模型設計中,經常采用實體-關系(E-R)模型,結合面向對象的思想,按照概念模型、物理模型的方法,建立相應的基礎實體、業務數據字體和關系,并通過ORM工具建立實體類。這種方法在一般的信息系統設計時非常有用,因為這類系統的業務關聯是非常明確的,比如訂購,我們為其建立相應的客戶、產品、訂單、付款等實體和關系就可以了。
在一些生產監控、實時采集等系統中,由于采集的數據種類繁多且非常零散,某些數據就是一個實時的值,用于不同的業務場景分析,它們屬于基礎實體,但業務之間的相關性較弱,我們得為這些業務數據按類型分別建立實體,這些實體的結構非常相似,且有新的業務數據要管理時,就需要在數據庫層面增加相應的實體表,系統不易于自動擴展。那么,我們考慮以動態列的方式來實現,會不會減少實體表的創建,系統也更容易擴展呢?即我們只建立一個業務數據實體表,該實體建立N個動態屬性字段,每種業務數據占用一個字段,通過配置定義業務字段。這種方式在數據的采集和管理上都沒有問題,但在數據的統計分析中,需要每個業務定義單獨的查詢語句,且DBMS對字段的數量也有相應的優化要求,如果業務數據類型過多,則要考慮分表管理。
那么,我們考慮將數據的存儲由列轉為行,是否可以有效解決這個問題呢?答案是肯定的,還需要做一些優化來提升系統性能,建立的業務數據字體表關聯基礎實體并定義分類,為值建立多個不同數據類型的字段,根據數據類型存儲在不同的字段中,便于其中的關聯值進行計算。我們把業務數據定義為數據點,把業務數據的運算和管理定義為指標,并在界面進行動態的展示,這種模型可稱之為指標模型。
二、設計方案
采用指標模型來為動態、分散的業務數據建模的設計方案,主要解決以下業務需求:
o業務數據分散獨立,基本都是類型和值,且各項數據采集或錄入時間不一致。
o業務數據需要按照一定規則進行計算并呈現。
為此,我們可以為模型建立幾個基本概念:數據點、數據點模板、指標。數據點即業務數據值,包含發生業務的時間、填寫時間和數據點標識號。數據點模板即業務數據分類,通過數據點模板,可以靈活定義一類數據。指標是對數據點模板進行運算的公式定義和結果展現。
1.數據點模板
在數據點模板的定義中,即可關聯實體的類型,也可為該模板定義可選的全局屬性,全局屬性可以指定值或值由數據點生成時選擇,指定了值的數據點為全實例化模板,未指定全局屬性值的模板為半實例化模板。如圖1所示。
可以通過分組方式,為同一類的數據點模板建立引用關系,即半實例化模板可以關聯多個實例化模板或半實例化模板,模板分組后,可以快速統計組下的所有數據點。我們定義石油管線的銷售完成量數據點模板組如圖2所示:
2.數據點
數據點為模板按時間的實例化,數據點依賴于模板和實體,在統計分析中可以通過實體維度、時間維度、數據點模板維度進行多種組合統計,數據點模板的修改記錄歷史。數據點可以在邏輯層生成,其業務流程如圖3所示:
3.指標
指標用于數據的運算和呈現,其數據源為數據點模板,支持四則運算和指標嵌套,并封裝為統一的接,通過標準的輸入參數、輸出提供給外部功能使用。
按照指標的運算方式,可分為數據點類和公式類。公式類指標支持數據點模板的運算,也支持公式類指標再次參與運算,參與運算的結果值都為數值型;選擇后將相應的數據源使用別名F1、F2、F3……等命名,別名描述運算規則。
在指標定義時,首先選擇具體數據源,系統自動對選擇的源進行公式命名,如F1、F2、F3…,如果選擇有自定義指標源,命名不允許重復。如圖4,選擇的指標中已定義了F1、F2、F3,新的指標只能從F4,F5開始。
指標的輸入參數為所選擇的所有源的參數的合集,同一實體的參數只能傳入一個實例化值。指標的結果輸出為一個聚合值,聚合類型包括Sum,Max,Min,Avg。
在指標管理中,需要提供預解析功能,將自定義的指標解析為數據點模板或原始記錄,如圖5所示:
F2為引用的指標,在預解析中,根據指標關聯的數據點模板,將F2解析為多個數據點模板。
在指標取數中,可以先按數據點模板或原始記錄進行統一取數,然后將取出的數據進行分發,再將分發的數據按照公式進行運算。
4.界面呈現
為了支持復雜的界面呈現方式,需要支持動態表單和靜態表單。動態表單指管理人員可以直接通過系統功能配置的格式相對簡單、部分數據根據實體動態生成的表單,如行可以根據實體類別動態變化,列固定的錄入表單,動態表單支持單項錄入、表格錄入。靜態表單指格式相對復雜,固定的表單。需要管理人員在HTML編輯器中進行頁面設計,然后通過腳本控制加載固定格式的表單,在樣式和控制上可以更加靈活。動態表單架構設計如圖6所示:
表單子模板是將通用表單中具有可復用性的錄入項、表格等元素預先定義和維護起來構成組成表單模板的子模板。當子模板發生變化時,所有引用到子模板的表單模板都會隨著子模板的變化而變化。子模板可以是單個錄入項、多個錄入項的組合、單個表格、表格加錄入項的組合等,按照表單的不同用途可以設計不同的子模板。
三、總結
指標模型能夠有效的設計出可擴展性較強、業務較為復雜、性能要求較高的動態業務數據管理系統。
通過指標模型中對數據點模板、數據點、指標的設計,涵蓋了數據從配置定義、存儲和運算、展示三個層次的管理,對于復雜的業務,可通過模板組、指標嵌套運算的方式來支撐,提升系統的性能。
參考文獻
[1]Joachim Rossberg Rickard Redler 著,卞軍 周磊 譯,《設計可擴展的.NET應用程序》,清華大學出版社,2005年07月
[2]劉希儉等 編著,《企業信息化實務指南》,石油工業出版社,2011年6月
作者簡介:劉穎(1981.5-),女,漢族,四川資中人,講師,研究方向:計算機應用。