亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于web及riversql的數(shù)據(jù)庫管理方案

        2015-12-05 08:27:07倪曼蒂馬建明
        電子測試 2015年15期
        關(guān)鍵詞:網(wǎng)段后臺(tái)報(bào)表

        倪曼蒂,馬建明

        (湖南商務(wù)職業(yè)技術(shù)學(xué)院 湖南長沙,410205)

        基于web及riversql的數(shù)據(jù)庫管理方案

        倪曼蒂,馬建明

        (湖南商務(wù)職業(yè)技術(shù)學(xué)院 湖南長沙,410205)

        出于安全考慮,將服務(wù)器所在網(wǎng)段與辦公電腦所在網(wǎng)段進(jìn)行隔離,卻為應(yīng)用系統(tǒng)的數(shù)據(jù)導(dǎo)入、導(dǎo)出等操作帶來不便。本文在riversql的基礎(chǔ)上,提出了一種基于web的數(shù)據(jù)庫管理方案,用于對各系統(tǒng)各類型數(shù)據(jù)庫的綜合管理。

        數(shù)據(jù)庫管理;riversql

        1 背景

        隨著一年一度高招工作的臨近,高等院校網(wǎng)絡(luò)安全面臨新一輪考驗(yàn),其中一種常見方式為通過職工的機(jī)器間接地獲取信息。為了防止黑客再次通過這樣的手段攻擊服務(wù)器,可將服務(wù)器所在的網(wǎng)段與職工電腦所在的網(wǎng)段進(jìn)行隔離,以防止不法份子攻擊服務(wù)器,破壞或盜取相關(guān)的資料信息。而實(shí)際情況下,這樣的措施雖然提高了服務(wù)器的安全性和可靠性,卻為網(wǎng)絡(luò)中心的日常數(shù)據(jù)運(yùn)維帶來了不便,包括數(shù)據(jù)導(dǎo)入、導(dǎo)出,報(bào)表生成等。因此,我們希望能開發(fā)一個(gè)工具來解決當(dāng)前的問題。

        2 功能設(shè)計(jì)

        目前我院系統(tǒng)使用的數(shù)據(jù)庫包括mysql及ms sqlserver這兩種常用數(shù)據(jù)庫,考慮到未來發(fā)展,這個(gè)數(shù)據(jù)庫管理工具需要支持mysql、ms sqlserver以及oracle等幾種常用的數(shù)據(jù)庫的基本操作,滿足對數(shù)據(jù)表的增、刪、查、改功能,并且對查詢結(jié)果進(jìn)行導(dǎo)出。另外,因?yàn)槭褂谜呖赡艽嬖谑褂貌划?dāng)?shù)那闆r,例如當(dāng)執(zhí)行了update,delete,add等更改功能時(shí),沒有點(diǎn)擊commit或rollback功能,這就會(huì)導(dǎo)致某個(gè)數(shù)據(jù)表行被鎖,因此,為了防止數(shù)據(jù)庫表不被鎖,當(dāng)用戶沒有提交事務(wù)或回滾而退出瀏覽器時(shí),直接回滾沒有提交的事務(wù),即當(dāng)session失效時(shí),我們將所有的沒有commit或rollback的功能進(jìn)行回滾操作。

        3 實(shí)現(xiàn)原理

        要完成對數(shù)據(jù)庫的管理,必定會(huì)面臨的幾個(gè)問題,主要包括:如何獲取表字段名稱;如何獲取當(dāng)前schema下的表,視圖,存儲(chǔ)過程,函數(shù),包等;如何處理不同數(shù)據(jù)庫之間的差異。

        在JDBC技術(shù)規(guī)范中,提供了Connection,Statement,ResultSet這三個(gè)開發(fā)過程中常用的接口。針對每個(gè)接口,JDBC規(guī)范又提供了相應(yīng)的接口描述對象,也就是xxxMetaData描述對象。而在數(shù)據(jù)庫管理工具中,我們將會(huì)用到DatabaseMetaData和ResultSetMetaData,他們分別描述了數(shù)據(jù)庫的相關(guān)信息和結(jié)果集的相關(guān)信息。利用xxxMetaData描述對象,我們可以獲取到相應(yīng)的數(shù)據(jù)庫信息。但是由于不同的數(shù)據(jù)庫之間,還會(huì)存在差異,因此對于不同數(shù)據(jù)庫之間的特性,我們還需要通過查詢特定表來獲取相關(guān)的信息。

        3.1 通過JDBC技術(shù)規(guī)范獲取數(shù)據(jù)庫信息

        JDBC技術(shù)規(guī)范中提供了DatabaseMetaData類來訪問數(shù)據(jù)庫信息??赏ㄟ^如下代碼獲取到此類, 并且通過此類提供的方法獲取數(shù)據(jù)庫的相應(yīng)信息。

        Connection con;

        Con = DriverManager. getConnection ( url, username, password);

        DatabaseMetaData dbmd=con.getMetaData ();

        通過getTables方法獲取數(shù)據(jù)庫表名。此方法可返回結(jié)果集ResultSet,結(jié)果集中有5列,超出會(huì)報(bào)越界異常。

        ResultSet DatabaseMetaData. getTables (String catalog, String schema, String tableName, String[ ] type)

        通過getColumns方法獲取指定表的列信息。

        ResultSet DatabaseMetaData getColumns (String catalog, String schema, String tableName, String columnName)

        通過getPrimaryKeys得到指定表的主鍵信息:

        ResultSet DatabaseMetaData getPrimaryKeys (String catalog, String schema, String tableName)

        DatabaseMetaData類除了可以獲取以上所述的信息外,還可以獲取數(shù)據(jù)庫與用戶,數(shù)據(jù)庫標(biāo)識符以及函數(shù)與存儲(chǔ)過程;數(shù)據(jù)庫限制;架構(gòu)、編目、表、列和視圖等。

        3.2 通過sql獲取數(shù)據(jù)庫的相應(yīng)信息

        有些信息因?yàn)椴煌瑪?shù)據(jù)庫之間會(huì)存在著差異,因此對這些信息需要分開處理,要獲取這些信息我們可以通過執(zhí)行sql的方式來獲取相應(yīng)的數(shù)據(jù)庫信息,下面將舉例說明:

        例1、獲取mysql和oracle的存儲(chǔ)過程

        mysql:

        "select routine_name from information_schema. routines

        where routine_schema=? And routine_ type=’PROCEDURE’ order by 1 asc";

        oracle:

        final String sql="SELECT object_name, status, creater, last_ddl_time,timestamp"+

        "FROM sys.all_objects where owner=?"+

        "and object_type=’PROCEDURE’ order by 1 asc";

        例2、獲取mysql和oracle的函數(shù)

        mysql:

        "select routine_name from information_schema. routines

        where routine_schema=? And routine_type=’FUNCTION’order by 1 asc";

        oracle:

        final String sql="SELECT object_name, status, created, last_ddl_time,timestamp"+

        "FROM sys.all_objects where owner=?"+

        "and object_type=’ FUNCTION’ order by 1 asc";

        4 實(shí)現(xiàn)方案

        4.1 整體架構(gòu)

        我們引入了riversql[3]開源工具,并在其基礎(chǔ)上了實(shí)現(xiàn)了基于web的數(shù)據(jù)庫管理工具。主要功能包括數(shù)據(jù)結(jié)構(gòu)(表,存儲(chǔ)過程,視圖,觸發(fā)器等)查看、數(shù)據(jù)導(dǎo)出(支持CSV/Excel、PDF格式)。技術(shù)框架模型如圖1所示:

        圖1 技術(shù)框架模型

        展現(xiàn)層:基于jsp+extJs開發(fā),可兼容大多數(shù)瀏覽器。

        服務(wù)層:服務(wù)層中,riversql簡單實(shí)現(xiàn)了自己的mvc框架,并沒有使用其他另外一些開源框架。實(shí)現(xiàn)的方式,主要是根據(jù)傳入的action字符串,然后實(shí)例化需要執(zhí)行的類,每一個(gè)實(shí)例化的類執(zhí)行每一個(gè)動(dòng)作,從而實(shí)現(xiàn)controller的功能。

        數(shù)據(jù)層:用jdbc直接執(zhí)行sql。

        4.2 基于riversql的二次開發(fā)

        我們在riversql的基礎(chǔ)上進(jìn)行了二次開發(fā),強(qiáng)化了整體功能,改善傳輸效率、中文支持等,以滿足我們當(dāng)前實(shí)際的需求。

        由于riversql是由外國人開發(fā)的一個(gè)工具,開發(fā)者并沒有考慮到中文的問題,加上不同的中間件編碼以及extjs對傳輸?shù)木幋a設(shè)置都不盡相同。為了減少這種不同環(huán)境的配置的麻煩,我們引入了Base64編碼。在導(dǎo)出數(shù)據(jù)時(shí),我們先對頁面數(shù)據(jù)進(jìn)行編碼,然后再傳到后臺(tái)進(jìn)行解碼導(dǎo)出文件。

        由于原先是將所有的數(shù)據(jù)顯示在頁面上,不利于我們查看數(shù)據(jù),也對瀏覽器的js解釋能力帶來負(fù)擔(dān),當(dāng)一次顯示的數(shù)據(jù)量比較大的時(shí)候,瀏覽器的響應(yīng)速度會(huì)比較慢。因此,我們將原來的數(shù)據(jù)顯示方式,改為分頁方式查看。

        此方案導(dǎo)出數(shù)據(jù)的方式,如圖2所示:

        圖2 數(shù)據(jù)導(dǎo)出

        ①在頁面上輸入sql語句,傳到后臺(tái)進(jìn)行查詢。

        ②后臺(tái)將查詢到的數(shù)據(jù),以報(bào)表形式返回到頁面上顯示。

        ③將頁面上的所有報(bào)表數(shù)據(jù)傳回后臺(tái),后臺(tái)對頁面上所顯示的報(bào)表數(shù)據(jù)進(jìn)行處理,生成特定格式(例如csv,pdf,excel等格式)的字節(jié)流。

        ④返回生成后的報(bào)表文件,供用戶下載。

        根據(jù)以上分析,網(wǎng)絡(luò)間的傳輸數(shù)據(jù)量是最終得到數(shù)據(jù)的2倍。因此,當(dāng)數(shù)據(jù)量較大時(shí),第③、④步將導(dǎo)致網(wǎng)絡(luò)開銷升高。因此,我們結(jié)合分頁功能對導(dǎo)出數(shù)據(jù)進(jìn)行改進(jìn)。改進(jìn)后的導(dǎo)出功能分兩種情況:

        1)導(dǎo)出當(dāng)前分頁頁面數(shù)據(jù)時(shí),用回原來的導(dǎo)出方式進(jìn)行導(dǎo)出結(jié)果。這樣避免了對數(shù)據(jù)庫頻繁的執(zhí)行sql。

        2)導(dǎo)出全部查詢結(jié)果,將第③④步合為一步,即不再將頁面的數(shù)據(jù)往后臺(tái)傳輸,而是再查詢一次數(shù)據(jù)庫,直接導(dǎo)出結(jié)果,而且導(dǎo)出的最大結(jié)果集為5000條。

        5 結(jié)語

        隨著教育信息化的不斷推進(jìn),各教育單位對網(wǎng)絡(luò)安全的要求也會(huì)不斷提高,對數(shù)據(jù)庫系統(tǒng)的安全管理也提出了更高的要求。網(wǎng)絡(luò)中心的管理人員應(yīng)對計(jì)算機(jī)的管理方式不斷探索與創(chuàng)新,制定出合理的應(yīng)對措施來面對日益嚴(yán)峻的網(wǎng)絡(luò)安全考驗(yàn)。

        [1] 計(jì)算機(jī)數(shù)據(jù)庫安全管理探析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013.10

        [2] 基于JDBC的數(shù)據(jù)庫連接池的煤礦安全監(jiān)控技術(shù)體系建設(shè)[J].煤炭技術(shù),2013.7

        [3] http://m.blog.csdn.net/blog/alen1985/41356361

        Database management scheme based on Web and riversql

        Ma Jianming,Ni Mandi
        (Hunan Vocational College of Commerce,Changsha,Hunan,410205)

        For security reasons, the server where the segment and the office computer network segment where the isolation of,but for the application system of data import and export operation inconvenience.In this paper,based on riversql,a database management scheme based on web is proposed,which is used to manage all kinds of databases.

        database management;riversql

        猜你喜歡
        網(wǎng)段后臺(tái)報(bào)表
        單位遭遇蠕蟲類病毒攻擊
        LabWindows/CVI中Excel報(bào)表技術(shù)研究
        后臺(tái)暗戀
        從三大報(bào)表讀懂養(yǎng)豬人的成績單
        前臺(tái)、后臺(tái)精彩花絮停不了
        Onvif雙網(wǎng)段開發(fā)在視頻監(jiān)控系統(tǒng)中的應(yīng)用
        電力調(diào)度中后臺(tái)監(jiān)控系統(tǒng)的應(yīng)用
        河南科技(2014年11期)2014-02-27 14:10:03
        后臺(tái)
        中國攝影(2013年6期)2013-04-29 21:58:19
        三層交換技術(shù)在大型醫(yī)療設(shè)備互聯(lián)時(shí)的應(yīng)用
        月度報(bào)表
        中國紡織(2009年7期)2009-08-07 06:56:16
        91热久久免费精品99| 久久久久99精品成人片直播| 国产精品三级在线观看无码| 亚洲欧洲国产日产国码无码| 日韩精品免费一区二区中文字幕| 亚洲一区二区在线观看免费视频| 亚洲精品久久一区二区三区777| 久久99精品久久久久久野外 | 又湿又黄裸乳漫画无遮挡网站| 岛国大片在线免费观看| 青青草视频在线观看9| 国产韩国精品一区二区三区| 丝袜美腿在线播放一区二区| 欧美成人秋霞久久aa片| 久久无码av三级| 国产成人精品男人的天堂网站| 亚洲福利二区三区四区| 久久天天躁狠狠躁夜夜av| 爱a久久片| 亚洲精品在线观看一区二区| 强d乱码中文字幕熟女免费| 国内精品自在自线视频| 亚洲男人堂色偷偷一区| 亚洲熟女av在线观看| 免费a级毛片18禁网站app| 国产亚洲日韩欧美久久一区二区| 日本在线一区二区三区观看| 白白白在线视频免费播放| 少妇性荡欲视频| 在线观看亚洲精品国产| 国产精品自拍视频在线| 无码人妻丰满熟妇啪啪网站| 亚洲精品日韩自慰喷水白浆| 性一交一乱一乱一视频亚洲熟妇| 久久99精品久久久久麻豆| 国产chinese男男gay视频网| 五月天婷婷一区二区三区久久| 国产在线观看视频一区二区三区| 国精产品推荐视频| 国产精品久久久久孕妇| 国产精品自拍盗摄自拍|