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

菌落信息管理系統(tǒng)設(shè)計與數(shù)據(jù)庫優(yōu)化

2017-09-09 10:22:04夏志君張榮福鄭傳生
軟件導刊 2017年8期

夏志君+張榮福+鄭傳生

摘 要:根據(jù)市場調(diào)查和行業(yè)分析,高通量菌落挑選儀在優(yōu)質(zhì)菌落的篩選過程中應用越來越廣泛。通過對高通量菌落挑選儀的分析研究,設(shè)計了一個基于C/S架構(gòu)的菌落信息管理系統(tǒng),解決高通量菌落挑選儀在工作過程中的數(shù)據(jù)管理問題。該系統(tǒng)使用C#語言,以SQL Sever 2008作為底層數(shù)據(jù)庫,建立數(shù)據(jù)庫關(guān)系模型,通過高通量菌落挑選儀上位機實現(xiàn)與其數(shù)據(jù)交互。同時從數(shù)據(jù)庫表結(jié)構(gòu)、索引及SQL語句等方面對數(shù)據(jù)庫進行了優(yōu)化,提高系統(tǒng)存儲和查找效率,節(jié)省了系統(tǒng)資源開銷。

關(guān)鍵詞:菌落挑選儀;數(shù)據(jù)訪問;SQL Server數(shù)據(jù)庫;數(shù)據(jù)庫優(yōu)化;信息管理

DOIDOI:10.11907/rjdk.171956

中圖分類號:TP319

文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0076-03

0 引言

隨著微生物、醫(yī)藥衛(wèi)生等行業(yè)的迅猛發(fā)展,基于菌落形態(tài)學特征的篩選技術(shù)對獲得合格菌落的重要性越來越大。高通量菌落挑選儀正是基于這一技術(shù)的自動化菌落挑選設(shè)備,能從眾多培養(yǎng)出來的菌落中篩選出符合條件的微生物,供后續(xù)培養(yǎng)繁殖,提高優(yōu)質(zhì)菌株的培養(yǎng)效率。而菌落信息管理系統(tǒng)的設(shè)計目的是將其作為高效的數(shù)據(jù)處理系統(tǒng)輔助高通量菌落挑選儀完善其功能,實現(xiàn)對儀器收集數(shù)據(jù)的整理、存儲及分析,它是高通量菌落挑選儀不可或缺的重要組成部分。但隨著存儲數(shù)據(jù)的不斷增多,系統(tǒng)通過全表掃描來查找相關(guān)信息將會耗費較長時間。因此,對數(shù)據(jù)庫進行優(yōu)化是提升菌落信息管理系統(tǒng)性能的重要內(nèi)容。

1 系統(tǒng)設(shè)計

1.1 軟件結(jié)構(gòu)設(shè)計

本系統(tǒng)軟件模塊采用分層結(jié)構(gòu)設(shè)計,分為界面顯示層、邏輯關(guān)系層和數(shù)據(jù)訪問層三層結(jié)構(gòu),它們既彼此獨立又相互聯(lián)系,構(gòu)成了系統(tǒng)軟件結(jié)構(gòu)的骨架。此結(jié)構(gòu)將系統(tǒng)的各個部分按照其調(diào)用的依賴關(guān)系分成不同的層級,且各個層級之間只能實現(xiàn)單項調(diào)用,不能越級調(diào)用,這樣的設(shè)計在保證系統(tǒng)運行流暢的同時也提高了系統(tǒng)的運行效率[1]。其中,邏輯關(guān)系層主要處理系統(tǒng)中的數(shù)據(jù)邏輯關(guān)系,如接種信息與菌落信息的匹配關(guān)系等。系統(tǒng)層級關(guān)系如圖1所示。

1.2 數(shù)據(jù)庫基本表設(shè)計

高通量菌落挑選儀是集挑選與接種于一體的自動化菌落優(yōu)選裝置,可以對平皿菌落進行智能識別和自動優(yōu)選。菌落信息管理系統(tǒng)作為高效的數(shù)據(jù)處理系統(tǒng)支撐挑選儀完成其功能,是整個菌落操作過程中的重要組成。高通量菌落挑選儀的數(shù)據(jù)流圖如圖2所示。

設(shè)計合理的系統(tǒng)相關(guān)表有利于后期對數(shù)據(jù)庫進行優(yōu)化。因此,在本系統(tǒng)的數(shù)據(jù)庫基本表設(shè)計中,遵循的范式是第三范式,設(shè)計出來的數(shù)據(jù)管理系統(tǒng)冗余較小,減少了CRUD操作異常。通過對菌落信息管理系統(tǒng)的相關(guān)數(shù)據(jù)進行分析,結(jié)合用戶需求,本系統(tǒng)設(shè)計了6張表,各表之間通過外鍵或中間表相連,它們分別是操作員信息表、實驗信息表、挑選配置信息表、清洗消毒信息表、菌落信息表和接種信息表,如表1所示。

1.3 數(shù)據(jù)庫模型

數(shù)據(jù)模型的發(fā)展過程先后經(jīng)歷了層次模型、網(wǎng)狀模型和關(guān)系模型3個階段[2],其中關(guān)系模型應用最為廣泛。關(guān)系模型用滿足相關(guān)條件的二維表結(jié)構(gòu)對不同的實體進行描述,并依據(jù)各實體自身情況來建立彼此聯(lián)系,再對數(shù)據(jù)進行相關(guān)代數(shù)和邏輯關(guān)系運算。本系統(tǒng)關(guān)系數(shù)據(jù)庫正是基于該模型建立而成。通過一組具有正式描述性的表格對數(shù)據(jù)庫中的數(shù)據(jù)進行相關(guān)描述,并以集合代數(shù)的方法對其進行相應的處理,而這些建立在被不同表格所描述的數(shù)據(jù)之間關(guān)系的集合就構(gòu)成了一個關(guān)系數(shù)據(jù)庫[3]。本系統(tǒng)數(shù)據(jù)信息實體關(guān)系如圖3所示。

1.4 ADO.NET數(shù)據(jù)訪問技術(shù)

菌落信息管理系統(tǒng)通過ADO.NET數(shù)據(jù)訪問組件實現(xiàn)儀器上位機對關(guān)系數(shù)據(jù)庫中數(shù)據(jù)的訪問。ADO是一組優(yōu)化的數(shù)據(jù)庫訪問專用對象集,為ASP提供了完整的站點數(shù)據(jù)庫解決方案,它作用在服務(wù)器端,提供含有數(shù)據(jù)庫信息的內(nèi)容,通過執(zhí)行SQL命令,讓用戶在系統(tǒng)主界面中存儲、更新和刪除相關(guān)數(shù)據(jù)庫信息[4]。

(1)Connection:連接數(shù)據(jù)對象。Connection對象用于系統(tǒng)連接本地數(shù)據(jù)庫。基于本地SQL Server 2008的高通量菌落挑選儀數(shù)據(jù)庫創(chuàng)建和打開連接的核心代碼如下:

string connectionStr=@” Integrated Security=SSPI; Data Source=localhost; Initial Catalig=SCP”;

SqlConnection conn=new SqlConnection (connectionStr);

conn.Open ();

(2)Command:操作數(shù)據(jù)對象;DataReader:讀取數(shù)據(jù)對象。Command對象以一個SQL語句的字符串為命令操作數(shù)據(jù)庫,而DataReader對象可以接收命令執(zhí)行結(jié)果。以查詢高通量菌落挑選儀在2017年1月1日所有的接種信息為例,代碼如下:

string cmdStr=”Select * From tb_PickingInformation Where Datatime=2017-01-01”;

SqlCommand dbCmd=new SqlCommand (cmdStr,conn);

SqlDataReader dbReader=new dbCmd.ExcuteReader ();

2 功能模塊

本系統(tǒng)通過C#進行可視化Winform窗體界面設(shè)計,根據(jù)高通量菌落挑選儀的功能需求,主要分為3個功能模塊,分別為信息存儲模塊、信息管理模塊和備份恢復模塊,并通過相關(guān)控件實現(xiàn)對應功能。

2.1 信息存儲模塊

信息存儲模塊是菌落信息管理系統(tǒng)的重要組成部分。作為對高通量菌落優(yōu)選儀進行數(shù)據(jù)處理的信息管理系統(tǒng),本模塊會在儀器工作過程中采集相應數(shù)據(jù),通過與數(shù)據(jù)庫進行交互完成信息整理和存儲。系統(tǒng)信息采集流程如圖4所示,其中操作員信息、過程設(shè)置信息和清洗消毒信息在儀器挑選前完成存儲,菌落信息在儀器探針回到原點后進行采集存儲。此外,系統(tǒng)會根據(jù)操作員設(shè)置決定是否將基本參數(shù)信息和挑選接種信息保存至數(shù)據(jù)庫。以系統(tǒng)存儲菌落信息為例,相關(guān)代碼如下:endprint

string sqlstr = "insert into tb_ColonyInformation(孔板號,接種孔位置,質(zhì)心坐標X,質(zhì)心坐標Y,面積,周長,長徑,短徑,長短徑比,R,G,B,保存日期,保存時間) values('" + RecordList[i - 1].NoInDic.ToString() + "','" + RecordList[i - 1].IndexOfProbe.ToString() + "','" + Chara [i].Centroid.X.ToString() + "','" + Chara [i].Centroid.Y.ToString() + "','" + Chara [i].Area.ToString() + "','" + Chara [i].Perimeter.ToString() + "','" + Chara [i].MajorAxis.ToString() + "','" + Chara [i].MinorAxis.ToString() + "','" + Chara [i].MajToMinAxisRatio.ToString() + "','" + Chara [i].CentreAcerageColor.R.ToString() + "','" + Chara [i].CentreAcerageColor.G.ToString() + "','" + Chara [i].CentreAcerageColor.B.ToString() + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "','" + DateTime.Now.ToLongTimeString().ToString() + "')";

dataOperate.DataCom(sqlstr);

2.2 信息管理模塊

信息管理模塊的主要功能是對菌落來源信息進行跟蹤、回溯,即在后期菌落繁殖中,通過本模塊可以對繁殖快、抗污染的優(yōu)質(zhì)菌株追根溯源,提高優(yōu)質(zhì)菌株的培養(yǎng)效率。本模塊管理與儀器有關(guān)的操作員信息、配置信息、過程設(shè)置信息、清洗消毒信息、接種信息和菌落特征信息,能夠?qū)π畔⑦M行檢索查詢、刪除清空、數(shù)據(jù)輸出等操作,其中數(shù)據(jù)輸出是將上位機選中的數(shù)據(jù)庫表格導出成Excel。以查詢挑選配置表為例,相關(guān)代碼如下:

sqlstr = "select*from tb_PickingInformation";

tb = " tb_PickingInformation";

SqlDataAdapter sqldataadapter = new SqlDataAdapter(sqlstr,sqlconn);

DataSet mydataset = new DataSet();

sqldataadapter.Fill(mydataset,tb);

this.dataGridView1.DataSource = mydataset.Tables[tb]

2.3 備份恢復模塊

備份恢復模塊分為數(shù)據(jù)備份和數(shù)據(jù)恢復兩部分,主要用于預防突發(fā)情況造成系統(tǒng)重要信息的破壞。本模塊默認數(shù)據(jù)備份路徑為D:\\ Conoly,可手動備份或自動備份。自動備份SQL語句:"backup database MyDatabase to disk='D:\\ Conoly\\MyDatabase.bak'?"。而數(shù)據(jù)還原會掃描備份路徑下的全部子文件。自動還原SQL語句:"restore database MyDatabase from?disk=' D:\\ Conoly\\MyDatabase.bak' "。

3 數(shù)據(jù)庫性能優(yōu)化

3.1 優(yōu)化需求

對數(shù)據(jù)的處理和查詢速度已成為衡量系統(tǒng)性能的重要指標。隨著高通量菌落挑選儀的不斷工作,數(shù)據(jù)庫各表中的記錄會持續(xù)增加,系統(tǒng)響應速度也會越來越慢,因此有必要對數(shù)據(jù)庫進行性能優(yōu)化,提高系統(tǒng)工作效率?;赟QL Server數(shù)據(jù)庫的性能優(yōu)化方法有很多種,例如選擇性能優(yōu)越的服務(wù)器、合理使用事務(wù)和批處理以及在應用程序開發(fā)時使用合適的工具等。本系統(tǒng)除了規(guī)范基本表結(jié)構(gòu)外還通過索引優(yōu)化和SQL語句優(yōu)化兩種方法提升系統(tǒng)性能。

3.2 性能優(yōu)化方法

3.2.1 索引優(yōu)化

使用索引能大大加快數(shù)據(jù)庫查詢速度[5]。查詢執(zhí)行的大部分開銷是I/O ,索引優(yōu)化能提升系統(tǒng)性能的主要原因是避免了全表掃描。全表掃描會從磁盤讀取表的所有數(shù)據(jù)頁,若建立索引指向數(shù)據(jù)值,查詢只需讀較少次的磁盤。但索引不能建立過多,會占用磁盤空間和增加數(shù)據(jù)庫維護開銷。本系統(tǒng)對接種信息表中pickNum建立索引,以執(zhí)行SQL語句"SELECT * FROM tb_PickingInformation WHERE pickNum= 250000;"為例查詢一條記錄,結(jié)果如表2所示,對比發(fā)現(xiàn),建立索引后系統(tǒng)查詢時間明顯縮短。

3.2.2 語句優(yōu)化

對于菌落信息管理系統(tǒng)而言,SQL語句獨立于應用程序設(shè)計,比優(yōu)化系統(tǒng)源代碼的風險小、成本低。此外,SQL語句是對數(shù)據(jù)庫中數(shù)據(jù)進行操作的唯一方式,因此優(yōu)化SQL語句對提升系統(tǒng)性能起到重要作用。本系統(tǒng)從WHERE子句、避免使用游標和分頁查詢?nèi)矫鎸QL語句進行優(yōu)化:

(1)WHERE子句。在數(shù)據(jù)查詢時,通過WHERE子句限定查詢條件能夠避免查詢大量無用數(shù)據(jù),在WHERE涉及的列上建立索引,可以提高查詢效率。同時,避免在WHERE子句中對字段進行null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描。此外,盡量減少在WHERE子句中對字段進行表達式操作或函數(shù)操作,這也會導致引擎放棄使用索引而進行全表掃描。

(2)避免使用游標。游標的使用能讓系統(tǒng)對查詢返回結(jié)果集的每行進行處理,能基于游標位置對表中數(shù)據(jù)刪除或更新。但隨著菌落挑選儀的不斷工作,數(shù)據(jù)庫中存儲的信息會越來越龐大,如果建立游標,在處理數(shù)據(jù)時相關(guān)信息會被鎖定,直至數(shù)據(jù)遍歷完成。鑒于使用游標處理大量數(shù)據(jù)時, 效率低下、占用內(nèi)存大,因此避免使用游標。

(3)分頁查詢。數(shù)據(jù)庫中各表的記錄數(shù)很大,滿足查詢條件的記錄可能會很多,若將查詢結(jié)果一次性顯示出來會降低查詢效率。通過row_number()解析函數(shù)完成分頁查詢能解決此類問題,即根據(jù)查詢條件返回前n條記錄,需要時再返回n+1條以后的記錄。

4 結(jié)語

本文介紹了菌落信息管理系統(tǒng)的軟件結(jié)構(gòu)、功能模塊和數(shù)據(jù)訪問技術(shù)等內(nèi)容,并通過數(shù)據(jù)庫優(yōu)化提升系統(tǒng)性能。通過實際測試,整個系統(tǒng)運行穩(wěn)定,功能達到設(shè)計要求。系統(tǒng)較數(shù)據(jù)庫優(yōu)化前能快速、準確地存儲和查詢相關(guān)信息,能通過上位機控件操作數(shù)據(jù)庫中各表數(shù)據(jù),具備良好的平臺無關(guān)性及拓展性。當菌落后期繁殖培養(yǎng)出優(yōu)質(zhì)菌株時,系統(tǒng)能準確回溯實驗相關(guān)信息,加快優(yōu)質(zhì)菌株的培養(yǎng)速度,很好地促進了高通量菌落挑選儀功能的完善。

參考文獻:

[1] 梁紅碩.存儲過程在C#數(shù)據(jù)庫編程中的應用[J].科技風,2014(1):83-83.

[2] 陳國紅.數(shù)據(jù)庫技術(shù)及其發(fā)展趨勢[J].紡織高校基礎(chǔ)科學學報,2001,14(3):244-248.

[3] 王曉鶴.數(shù)據(jù)融合中的數(shù)據(jù)庫技術(shù)[D].西安:西北工業(yè)大學,2004.

[4] 莫停飛,白振興,鄧善.C#環(huán)境下利用ADO與SQL Server 2000數(shù)據(jù)庫的鏈接[J].現(xiàn)代電子技術(shù),2004,27(9):39-41.

[5] 傅向華,馮博琴,王小民,等.一種基于數(shù)據(jù)訪問流的數(shù)據(jù)庫索引優(yōu)化方法[J].計算機工程,2007,33(12):99-101.endprint

主站蜘蛛池模板: 天堂av高清一区二区三区| 亚洲福利片无码最新在线播放| 久久精品人人做人人爽| 91视频99| 欧美成人综合视频| 人妻无码AⅤ中文字| 精品在线免费播放| 女人毛片a级大学毛片免费| 精品人妻无码区在线视频| 天堂成人在线| 国产乱子伦无码精品小说| 欧美中文字幕无线码视频| 99精品影院| 色哟哟国产精品一区二区| 亚洲天堂2014| 亚州AV秘 一区二区三区| 四虎永久免费地址在线网站 | 国产午夜小视频| 色视频久久| 三级毛片在线播放| 谁有在线观看日韩亚洲最新视频 | 亚洲三级a| 一本大道香蕉高清久久| 国产呦视频免费视频在线观看| 无码国产偷倩在线播放老年人| 色偷偷一区二区三区| 国产成人麻豆精品| 欧美天堂久久| 欧美日韩国产系列在线观看| 伊人91视频| 性欧美在线| AV无码无在线观看免费| 久久免费观看视频| 久久精品国产亚洲麻豆| 国产97公开成人免费视频| 国产福利在线免费观看| 精品视频一区在线观看| 二级特黄绝大片免费视频大片| 国产精品欧美在线观看| 亚洲精品大秀视频| 在线精品自拍| 国产在线观看一区精品| 国产综合网站| 国产网站免费看| 91亚瑟视频| 亚洲欧美成aⅴ人在线观看| 免费在线看黄网址| 香蕉久人久人青草青草| 91亚洲视频下载| 免费Aⅴ片在线观看蜜芽Tⅴ| 在线视频精品一区| 色哟哟精品无码网站在线播放视频| 亚洲国产精品不卡在线| 色综合手机在线| 女人爽到高潮免费视频大全| 欧美黑人欧美精品刺激| 综合久久久久久久综合网| 青青草原国产| 亚洲an第二区国产精品| 久久网综合| 欧美在线伊人| 国产精品999在线| 国产精品页| 2021国产乱人伦在线播放 | 免费亚洲成人| 久热这里只有精品6| 熟妇人妻无乱码中文字幕真矢织江| 久久国产精品无码hdav| 99久久99视频| 国产亚洲精品资源在线26u| 99视频全部免费| 久久国产精品影院| 国内精品视频在线| 在线免费观看AV| 在线观看精品自拍视频| 久久国产精品夜色| 五月婷婷精品| 熟女日韩精品2区| 98超碰在线观看| 国产精品免费p区| 一区二区午夜| 国产精品对白刺激|