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
主站蜘蛛池模板: 国产精品区视频中文字幕| 精品国产美女福到在线不卡f| 日韩美女福利视频| 99九九成人免费视频精品| 久久大香香蕉国产免费网站| 精品一区二区三区四区五区| 好紧好深好大乳无码中文字幕| 欧洲亚洲一区| 亚洲第一成网站| 国产中文在线亚洲精品官网| 亚洲欧美激情小说另类| 国产成人一区在线播放| 国产亚洲精品自在久久不卡| 巨熟乳波霸若妻中文观看免费| 亚洲综合二区| 黄色网页在线播放| 久久人妻xunleige无码| 综1合AV在线播放| 欧美亚洲国产精品久久蜜芽| 亚洲天堂免费| 日韩123欧美字幕| 日本成人福利视频| 91热爆在线| 日韩毛片基地| 亚洲第一区欧美国产综合| 日韩在线视频网| 久久久久九九精品影院| 欧美午夜视频| 国产一区二区影院| 一区二区午夜| 毛片免费高清免费| 丝袜亚洲综合| 国禁国产you女视频网站| 久草美女视频| 亚洲成人精品久久| 91网在线| 无码免费的亚洲视频| 色135综合网| 午夜欧美理论2019理论| 中文字幕在线看视频一区二区三区| 8090午夜无码专区| 国产精品流白浆在线观看| 欧美一区二区三区不卡免费| 在线综合亚洲欧美网站| 欧美日韩免费观看| 国产一区自拍视频| 日韩二区三区| 亚洲成人在线免费| 久久96热在精品国产高清| 99热国产这里只有精品无卡顿"| 最新亚洲人成网站在线观看| 免费99精品国产自在现线| 国产视频自拍一区| 国产91久久久久久| 国产小视频a在线观看| 亚洲欧美另类日本| 亚洲综合在线最大成人| 最新日韩AV网址在线观看| 免费国产黄线在线观看| 拍国产真实乱人偷精品| 中文字幕 91| 无码免费试看| 国产日韩欧美一区二区三区在线 | 亚洲中文字幕在线观看| 国产鲁鲁视频在线观看| 亚洲天堂日韩av电影| 99热最新网址| 国产日本欧美在线观看| 欧美日韩中文字幕在线| 在线毛片网站| 日本高清免费不卡视频| 永久成人无码激情视频免费| 亚洲人成亚洲精品| 伊人久久久久久久久久| 久久黄色免费电影| 国产综合精品日本亚洲777| 91九色最新地址| 国产一区二区三区在线精品专区 | 九色视频线上播放| 国产精品刺激对白在线| 欧美午夜精品| 亚洲91精品视频|