999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于動態表格格式的數據上報平臺的研發

2015-01-29 02:57:38肖招娣
電子設計工程 2015年9期
關鍵詞:數據庫

肖招娣

(廣東電網有限責任公司 佛山供電局,廣東 佛山 528000)

目前公司內部基于B/S架構的信息系統所具備的數據收集功能均為基于固定庫表結構的。這存在5個問題:1)需要重復開發多個不同的模塊,而這些模塊的代碼會存在高度的冗余和重復,實際上做了大量重復性的工作,浪費了軟件開發的人力資源。2)靈活性很差,無法滿足企業日常運作所需的不同表格的在線數據收集需求,迫使員工通過電子郵件等線下方式進行收集、下載和人工合并,浪費了大量的勞動力。3)對于復雜的表格,人工合并過程容易出錯。4)沒有集中存放,人員換崗或者離職后,容易造成數據丟失,不便于查詢歷史數據和追溯。5)沒有備份,一旦數據收集者個人電腦硬件出現不可恢復的故障,收集者需要重新匯總數據。

本文研發的基于動態表格格式的數據上報平臺,用戶可以自身的需要定制數據庫表結構,線上發布數據收集模板,通過平臺上報數據自動匯總數據。基于動態表格格式,極大地增強了它的靈活性,擴大了它的應用范圍。

1 系統架構

該平臺采用基于Struts 2的MVC架構。用戶通過JSP/html發起請求,通過struts 2的配置文件,調用對應的Action,并將結果反饋給JSP/html進行展示[3-4]。

使用MVC架構,踐行“高內聚、低耦合”的原則,使得該平臺具有良好的可擴展性,易于維護和修改,提高代碼的重復利用率,降低代碼冗余度。

2 系統功能

系統功能架構圖如圖3所示。

3 關鍵技術

3.1 POI事件模式讀取Excel 2007,奠定海量數據處理基礎

圖1 基于Struts 2的MVC業務處理流程Fig.1 MVCbusiness process based on Struts 2

圖2 系統整體架構Fig.2 The overall system architecture

圖3 系統功能架構圖Fig.3 Function architecture of the system

目前,處理excel讀寫的開源 API包括 Jxl和 POI[1]。Jxl(Java Excel API)只支持Excel 2003以下的版本,POI可支持更高的Excel版本2007。通常情況下只是使用POI的用戶模式進行Excel的讀取,這種方式同Jxl的使用很類似,使用簡單,都是將文件一次性讀到內存,文件小的時候,沒有什么問題,當文件大的時候,就會出現內存溢出問題。該平臺對excel 2007進行處理的時候,采用POI的事件驅動模式.拿Excel 2007來說,其內容采用XML的格式來存儲,所以處理Excel就是解析XML,使用事件驅動模式解析讀取XML文檔時,并沒有將整個文檔讀入內存,而是按順序將整個文檔解析完,在解析過程中,會主動產生事件交給程序中相應的處理函數來處理當前內容。因此這種方式對系統資源要求不高,可以處理海量數據。因此,該平臺初步具備了處理海量數據的基礎。

3.2 動態表格設計中數據導入過程類型問題

動態表格設計,意味著表格中包含的數據的列數以及每一列的屬性是變化的。常規的Excel數據導入到數據庫中的方法是針對固定的表格設置進行的,這種情形只要對每一列的數據結合其類型處理即可。為了避免動態表格格式的數據上報過程數據導入數據庫時類型不匹配的問題,以及復雜的類型處理邏輯,該平臺采用了中間文件類型的方法解決該問題,即先將Excel數據讀取出來,寫入到不帶格式的文件中,再通過命令將中間文件中的數據導入到目標數據庫中。

3.3 創建數據庫過程中字段長度的設定

根據該平臺的設計,需要定義一個模板發布格式,由用戶填寫完后在平臺上發布,發布過程在后臺的操作即創建數據庫表并定義其結構,這就存在中文字符串長度定義問題,最理想的狀態是正好夠用而又不浪費資源。該平臺采用的是UTF-8的編碼方式,即一個中文字符占3個字節[2]。解決這個問題的方法是,由模板發布者估算對應列包含中文字符的最大長度,而后通過相關的轉換確定每個字符串型的字段的長度。

3.4 靈活解決數據修改、模板修改過程中權限的控制

由于該平臺的數據上報均是以部門為單位進行的,因此沒有必要采用面向用戶的權限控制顆粒度。在滿足基本需求的情況下,為加速開發進度,對平臺數據修改、模板修改過程中權限的控制采用的方式是比對當前用戶和對應數據、模板的上傳者的用戶名、MAC地址信息等,當二者一致的時候,予以修改。

3.5 通過Struts 2簡化業務控制代碼

以往在開發簡單的web應用時,考慮到業務邏輯不復雜,一般情況下使用servlet充當控制器,這種方法的弊端是代碼量比較大,數據從jsp/html傳遞到控制器以及網頁的跳轉,均需要通過代碼實現。為簡化開發過程,該平臺使用了Struts 2充當控制器,通過簡單的配置文件[5-6],實現業務邏輯控制,大大簡化了實現過程。

4 結束語

企業日常運作過程中需要收集大量的數據,為了解決線下數據上報存在的問題,研發了基于動態表格格式的數據上報平臺。該平臺:

1)對不同版本的Excel文件分而治之。使用了jxl和POI開源的Java API源碼庫,分別解決了Excel 2003和Excel 2007的讀寫問題。

2)引入POI事件驅動模式對Excel文件進行處理,使得該平臺具備了海量數據處理的基礎。

3)解決了動態數據庫結構數據導入問題。由于數據導入過程中,由于各類表格的列數及每一列的屬性相差甚遠,無法通過固定的方式處理。該平臺使用了具備了動態數據庫表結構自適應能力。

4)通過中間文件,避免了數據批量導入過程中復雜的數據處理邏輯。

[1]POI讀取海量數據[EB/OL]http://blog.csdn.net/jinshuaiwang/article/details/15499685.

[2]Java中文字符所占的字節數[EB/OL]http://www.blogjava.net/qileilove/archive/2014/02/26/410319.html.

[3]struts2處理請求的過程分析[EB/OL]http://www.2cto.com/kf/201312/262962.html.

[4]struts2——基礎流程[EB/OL]http://www.cnblogs.com/jacksun 1978/archive/2012/06/29/2570087.html.

[5]王偉平,等.Struts 2完全學習手冊[M].北京:清華大學出版社,2011.

[6]陳亞輝,繆勇.Struts2+Spring+Hibernate框架技術與項目實戰[M].北京:清華大學出版社,2012.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 婷婷99视频精品全部在线观看| 国产精品无码AⅤ在线观看播放| 久久99精品久久久大学生| 中文字幕久久精品波多野结| 狠狠色婷婷丁香综合久久韩国 | 最新无码专区超级碰碰碰| 无码视频国产精品一区二区| 欧美日韩国产精品va| 亚欧成人无码AV在线播放| 91九色最新地址| 国产91丝袜在线播放动漫| 色悠久久久| 国产v精品成人免费视频71pao| 99er精品视频| 欧美啪啪精品| 香蕉伊思人视频| 国产久操视频| 巨熟乳波霸若妻中文观看免费| 免费黄色国产视频| 欧美久久网| 天天综合网色| 国产精品成人第一区| 久草视频中文| 免费xxxxx在线观看网站| 日韩欧美网址| 国产免费精彩视频| 亚洲精品自产拍在线观看APP| 在线看国产精品| 92午夜福利影院一区二区三区| 国产成人精品午夜视频'| 久久久亚洲国产美女国产盗摄| 亚洲无码视频一区二区三区| 国产视频欧美| 日韩亚洲综合在线| 亚洲精品无码久久毛片波多野吉| 狠狠色婷婷丁香综合久久韩国| 毛片基地美国正在播放亚洲| 国产不卡国语在线| 手机永久AV在线播放| 国产玖玖玖精品视频| 国产Av无码精品色午夜| 国产女同自拍视频| 亚洲国产成人久久77| 精品国产免费观看一区| 91精品国产一区| 国产亚洲视频中文字幕视频| 国产欧美日韩资源在线观看| 亚洲开心婷婷中文字幕| 精品乱码久久久久久久| 免费A级毛片无码免费视频| 亚洲av色吊丝无码| 久久精品只有这里有| 欧美a在线视频| 欧美人与牲动交a欧美精品| 欧美区在线播放| 国产高清在线丝袜精品一区| 国产高清不卡视频| 一本大道香蕉久中文在线播放| 第九色区aⅴ天堂久久香| 国产在线视频福利资源站| 日本不卡视频在线| 亚洲男人的天堂久久香蕉网| 日本一区中文字幕最新在线| 国产真实自在自线免费精品| 国产在线日本| 亚洲综合色在线| 亚洲黄色网站视频| 国产成年女人特黄特色毛片免| 国产黄网永久免费| 一级毛片不卡片免费观看| 欧洲在线免费视频| 天堂网亚洲系列亚洲系列| 2021国产精品自产拍在线| 无码专区在线观看| 国产一区成人| 亚洲全网成人资源在线观看| 久久伊人色| 国产综合在线观看视频| 拍国产真实乱人偷精品| 日韩精品久久久久久久电影蜜臀| 国产高清无码麻豆精品| 一本大道无码高清|