一種企業內部業務數據系統及處理方法
【技術領域】
[0001 ]本發明涉及數據系統技術領域,特別涉及一種基于MVC+0RACLE+0DAC的企業內部業務數據系統及處理方法。
【背景技術】
[0002]隨著互聯網、物聯網和云計算等技術的高速發展,我們早已步入大數據的時代。企業的業務數據對企業的發展具有重要意義,因此不少大企業都有自己的內部業務數據管理系統,借以來統計業務、分析市場、判斷投資和考核員工等。
[0003]然而目前大多相關系統在開發和維護中的現狀:業務邏輯和頁面顯示混合在一起,不利于團隊開發;數據訪問方式采用內嵌SQL語句,不利于系統的維護;前臺維護成本高,尤其在新年度增加新業務或部門時;跨國子公司間業務數據不能及時同步,數據準確性低。同時,大公司的業務復雜多變,導致團隊開發效率低下,新版本發布延遲。所以有必要對這些問題進行解決。
【發明內容】
[0004]本發明所要解決的技術問題是提供一種能減少工作量,提升代碼的重用率,便于團隊分模塊開發,加強了程序的可維護性和維護成本,及時進行版本和數據更新的企業內部業務數據系統及方法。
[0005]本發明解決上述技術問題的技術方案如下:一種企業內部業務數據系統,包括
[0006]瀏覽器,用于向控制器發出數據請求;
[0007]控制器,用于將數據請求轉發至業務邏輯模型;還用于將業務數據發送至視圖;
[0008]業務邏輯模型,用于根據數據請求向數據訪問模型請求數據訪問;還用于對驗證和組裝后的原始數據進行業務邏輯處理,得業務數據;
[0009]數據訪問模型,用于通過0DAC(ODAC是OracIe數據訪問組件)組件訪問ORACLE數據庫數據;還用于對原始數據按照相應實體類進行驗證和組裝;
[0010]ORACLE數據庫,用于調取原始數據至數據訪問模型;
[0011 ]視圖,用于將業務數據呈現給用戶。
[0012]本發明的有益效果是:本發明基于模型、視圖、控制器、ORACLE和ODAC的架構開發,本架構中的視圖層和業務層分離,數據訪問層模型可根據數據庫表結構的變化而自動更新,減少編程工作量并加大了代碼的重用率,利于團隊分模塊開發,同時也加強了程序的可維護性。
[0013]在上述技術方案的基礎上,本發明還可以做如下改進。
[0014]進一步,所述業務邏輯模型包括Dashboard(Dashboard是多個儀表、圖表、報表等內容整合在一個頁面上進行顯示的工具)模塊,所述Dashboard模塊可后臺配置瀏覽器頁面顯示,通過反射的方式獲取靜態和動態的數據進行顯示。
[0015]采用上述進一步方案的有益效果是=Dashboard模塊通過反射的方式能提升數據處理的效率,簡便快速提取靜態和動態的數據,同時還能數據顯示效果。
[0016]進一步,所述業務邏輯模型還包括
[0017]用戶模塊,用于通過登錄完成對用戶的角色認證,控制用戶的業務數據訪問;
[0018]角色管理模塊,用于對完成角色認證的用戶進行角色管理;
[0019]信息傳遞模塊,用于根據用戶角色進行定時向用戶發送對應的信息;還用于根據用戶關注的業務,定時向用戶發送對應的業務數據。
[0020]采用上述進一步方案的有益效果是:增強數據傳遞的實效性,同時能保證數據傳遞的安全性。
[0021 ]進一步,所述業務邏輯模型還包括項目模塊,所述項目模塊用于對業務數據中的項目情況數據進行統計,并將統計結果進行動態呈現。
[0022]采用上述進一步方案的有益效果是:便于用戶及時了解項目進度,對項目進行規劃和改進。
[0023]進一步,所述業務邏輯模型還包括業務指標模塊,所述業務指標模塊用于調取業務數據,以圖表的形式進行顯示,實時更新業務數據和業務目標。
[0024]采用上述進一步方案的有益效果是:便于用戶及時了解完成業務及業務目標,便于用戶及時作出調整。
[0025]進一步,所述業務邏輯模型還包括會議績效模塊,所述會議績效模塊用于錄入會議出勤狀況,并對會議人員進行打分、分數統計和分析。
[0026]采用上述進一步方案的有益效果是:便于用戶進行了解會議出勤及人員分數統計和分析。
[0027]進一步,還包括web服務器,所述web服務器用于承載控制器、視圖、業務邏輯模型和數據訪問模型。
[0028]進一步,所述業務邏輯模型還包括Jenkins( Jenkins是一種持續集成工具,用于監控持續重復的工作)模塊,所述Jenkins模塊用于獲取控制器、業務邏輯模型、數據訪問模型和視圖的最新版本,并部署到web服務器中對控制器、業務邏輯模型、數據訪問模型和視圖進行同步更新,對瀏覽器進行配置和構建。
[0029]采用上述進一步方案的有益效果是=Jenkins模塊搭建的兩種機制,利于團隊開發并實時發布新版本,提升開發效率。
[°03°]進一步,所述業務邏輯模型還包括Robocopy(Robocopy是系統提供用來做備份的程序)模塊,所述Robocopy模塊和所述Jenkins模塊結合用于及時獲取新的業務數據,對新的業務數據進行刷新和保存。
[0031 ]采用上述進一步方案的有益效果是:Robocopy模塊和Jenkins模塊能自動同步業務數據,提升數據的準確性。
[0032]本發明解決上述技術問題的另一技術方案如下:一種企業內部業務數據處理方法,包括
[0033]瀏覽器向控制器發出數據請求;
[0034]控制器將數據請求轉發至業務邏輯模型;
[0035]業務邏輯模型根據數據請求向數據訪問模型請求數據訪問,數據訪問模型通過ODAC組件訪問ORACLE數據庫數據;
[0036]ORACLE數據庫調取原始數據至數據訪問模型;
[0037]數據訪問模型對原始數據按照相應實體類進行驗證和組裝,業務邏輯模型對驗證和組裝后的原始數據進行業務邏輯處理,得業務數據;
[0038]控制器將業務數據發送至視圖,視圖將業務數據呈現給用戶。
[0039]本發明的有益效果是:本發明基于模型、視圖、控制器、ORACLE和ODAC的架構開發,本架構中的視圖層和業務層分離,數據訪問層模型可根據數據庫表結構的變化而自動更新,減少編程工作量并加大了代碼的重用率,利于團隊分模塊開發,同時也加強了程序的可維護性。
【附圖說明】
[0040]圖1為本發明一種企業內部業務數據系統的模塊框圖;
[0041 ]圖2為本發明業務邏輯模型的模塊框圖;
[0042]圖3為Dashboard模塊的數據處理原理圖;
[0043]圖4為Dashboard模塊的反射方式數據處理原理圖。
[0044]附圖中,各標號所代表的部件列表如下:
[0045]1、瀏覽器,2、控制器;
[0046]3、業務邏輯模型,31、Dashboard模塊,32、用戶模塊,33、角色管理模塊,34、信息傳遞模塊,35、項目模塊,36、業務指標模塊,37、會議績效模塊,38、Jenkins模塊,39、Robocopy模塊;
[0047]4、數據訪問模型,5、0RACLE數據庫,6、視圖,7、web服務器。
【具體實施方式】
[0048]以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。
[0049]如圖1所示,一種企業內部業務數據系統,包括
[0050]瀏覽器I,用于向控制器2發出數據請求;
[0051 ]控制器2,用于將數據請求轉發至業務邏輯模型3;還用于將業務數據發送至視圖6;
[0052]業務邏輯模型3,用于根據數據請求向數據訪問模型4請求數據訪問;還用于對驗證和組裝后的原始數據進行業務邏輯處理,得業務數據;
[0053]數據訪問模型4,用于通過ODAC組件訪問ORACLE數據庫5數據;還用于對原始數據按照相應實體類進行驗證和組裝;
[0054]ORACLE數據庫5,用于調取原始數據至數據訪問模型4;
[0055]視圖6,用于將業務數據呈現給用戶。
[0056]MVC是“Model (模型)-View(視圖)-ControlIer(控制器)”的縮寫。下面結合Web三層架構和實際開發分析MVC模式如下:模型是MVC設計的核心基礎,它是系統的業務邏輯模型3和數據訪問模型4,業務邏輯模型3和數據訪問模型4可以作為控制器和視圖之間的載體,實現數據驗證和維護;模型也處理業務邏輯,是系統的業務邏輯模型3,本文中的edmx實體數據模型是數據訪問模型4,在企業內部業務數據系統中,模型很好地完成了數據庫中信息和應用程序的映射和訪問。
[0057]視圖是表示層,用戶交互的界面。主要負責顯示數據和用戶輸入,并不參與任何實際的業務處理。它通過業務邏輯模型3和數據訪問模型4處理后顯示相應的信息或者直接通過控制器中對應的Act1n返回需要的信息。結合Razor語法,書寫簡潔并且可以對顯示的內容進行進一步的處理,同時和HTML語法很好的兼容。
[0058]控制器2在三者中扮演著非常重要的角色,它是界面和視圖的協調者,接收用戶的輸入,結合業務邏輯模型3和數據訪問模型4響應給對應的視圖,在本系統中,用戶通過瀏覽器發送的頁面請求,控制器接收并處理請求信息,并結合業務邏輯模型3和數據訪問模型4去獲取相應的數據,控制器2有效地實現了視圖和業務邏輯的分離。
[0059]MVC這種松耦合的架構特性有利于系統的升級和拓展以及團隊開發,編程人員關注特定的層次,并行開發。數據庫表結構的改變可自動更新出新的實體模型,大大提高了系統開發的靈活性和配置性。