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

基于SQLite 的安全殼缺陷檢測(cè)數(shù)據(jù)庫(kù)設(shè)計(jì)與應(yīng)用

2015-08-26 06:38:10王秋實(shí)張麗芹何小明
電子設(shè)計(jì)工程 2015年17期
關(guān)鍵詞:界面數(shù)據(jù)庫(kù)用戶

王秋實(shí), 張麗芹, 何小明

(中科華核電技術(shù)研究院 北京分院, 北京 100086)

由于日本福島核事故的影響,世界各國(guó)對(duì)核安全的認(rèn)識(shí)又提高到一個(gè)新的高度,安全文化得到了全世界核電企業(yè)的廣泛認(rèn)同和實(shí)踐。 目前,安全文化已是核電企業(yè)文化的核心,被稱為核電企業(yè)的靈魂,成為核安全的重要保障[1]。

核電站安全殼是防止放射性物質(zhì)向環(huán)境釋放的大體積預(yù)應(yīng)力混凝土筒殼結(jié)構(gòu),是特殊環(huán)境條件下的重點(diǎn)防護(hù)目標(biāo)。 目前國(guó)內(nèi)已建的核電站大部分位于沿海地區(qū), 正常情形下要經(jīng)受氯離子含量很高的海風(fēng)的侵蝕和陽(yáng)光直射, 同時(shí)要承受臺(tái)風(fēng)、地震等環(huán)境因素影響;這些環(huán)境因素的影響會(huì)導(dǎo)致混凝土表面碳化,引起鋼筋和預(yù)應(yīng)力系統(tǒng)腐蝕,出現(xiàn)破損或裂縫,降低承載力,影響使用壽命。 因此對(duì)核電站安全殼進(jìn)行定期的外觀檢查, 對(duì)其外觀的缺陷進(jìn)行基本評(píng)定以及持續(xù)跟蹤和分析就成為了核安全文化中不可忽視的一項(xiàng)重要任務(wù)。

利用爬壁機(jī)器人外帶攝像機(jī)對(duì)核電站安全殼外觀進(jìn)行視頻檢測(cè),并將圖像送回上位機(jī)檢測(cè)系統(tǒng)——安全殼外觀缺陷檢測(cè)系統(tǒng),進(jìn)行缺陷分析及數(shù)據(jù)存儲(chǔ)。 因此,為了能夠更加全面的分析缺陷類型、 缺陷特性和缺陷長(zhǎng)度面積等參數(shù),也為了能夠?qū)?shù)據(jù)參數(shù)及圖像信息進(jìn)行高效的存儲(chǔ)和查詢,研究人員將SQLite 數(shù)據(jù)庫(kù)技術(shù)應(yīng)用到了檢測(cè)系統(tǒng)中。

1 SQLite 數(shù)據(jù)庫(kù)技術(shù)介紹

SQLite 是一個(gè)開(kāi)源的、內(nèi)嵌式的關(guān)系型數(shù)據(jù)庫(kù)。 它最初發(fā)布于2000 年,在便攜性、易用性、緊湊性、有效性和可靠性方面有突出的表現(xiàn)。 數(shù)據(jù)庫(kù)的服務(wù)器和客戶端運(yùn)行在同一個(gè)進(jìn)程中。 這樣可以減少網(wǎng)絡(luò)訪問(wèn)的消耗,簡(jiǎn)化數(shù)據(jù)庫(kù)管理,使你的程序部署起來(lái)更容易。 所有需要你做的都已經(jīng)和你的程序一起編譯好了。

在SQLite 提供的C/C++接口中,其中6 個(gè)APIs 屬于核心接口。 其中, 最主要的兩個(gè)對(duì)象是,database_connection 和prepared_statement。 database_connection 對(duì) 象 是 由SQLite3_open()接口函數(shù)創(chuàng)建并返回的,在應(yīng)用程序使用任何其他SQLite 接口函數(shù)之前, 必須先調(diào)用該函數(shù)以便獲得database_connnection 對(duì)象,在隨后的其他APIs 調(diào)用中,都需要該對(duì)象作為輸入?yún)?shù)以完成相應(yīng)的工作。 至于prepare_statement, 我們可以簡(jiǎn)單的將它視為編譯后的SQL語(yǔ)句,因此,所有和SQL 語(yǔ)句執(zhí)行相關(guān)的函數(shù)也都需要該對(duì)象作為輸入?yún)?shù)以完成指定的SQL 操作[2-6]。

SQLite 具有以下主要特征[3]:

1)管理簡(jiǎn)單,甚至可以認(rèn)為無(wú)需管理;

2)操作方便,SQLite 生成的數(shù)據(jù)庫(kù)文件可以在各個(gè)平臺(tái)無(wú)縫移植;

3)可以非常方便的以多種形式嵌入到其他應(yīng)用程序中,如靜態(tài)庫(kù)、動(dòng)態(tài)庫(kù)等;

4) 易于維護(hù)。

2 SQLite 與SQL Server 比較

SQL Server 是Microsoft 公司推出的大型數(shù)據(jù)庫(kù)管理系統(tǒng),建立在成熟而強(qiáng)大的關(guān)系模型基礎(chǔ)上,可以很好地支持客戶機(jī)/服務(wù)器網(wǎng)絡(luò)模式,能夠滿足各種類型的企事業(yè)單位對(duì)構(gòu)建網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的需求。 并且,為了有效利用SQL Server 的強(qiáng)大功能,Visual C++提供了多種數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)和編程規(guī)范,主要包括MFC ODBC,DAO 和ADO 等。

ODBC 作為一個(gè)應(yīng)用廣泛的數(shù)據(jù)庫(kù)訪問(wèn)應(yīng)用編程接口,使用標(biāo)準(zhǔn)的SQL 作為其數(shù)據(jù)庫(kù)訪問(wèn)語(yǔ)言。 MFC ODBC 類封裝了ODBC API,常用的類有CDatabase(數(shù)據(jù)庫(kù)類)、CRecordset(記錄集類)、CRecordView(可視記錄集類)、CDBException(異常類)。

盡管SQL Server 擁有諸多上述優(yōu)點(diǎn),但它需要SQL Server軟件的支持。 且與SQLite 相比較,盡管功能更加強(qiáng)大,但管理模式相對(duì)復(fù)雜,而SQLite 是內(nèi)嵌型數(shù)據(jù)庫(kù),移植性高,數(shù)據(jù)庫(kù)服務(wù)器就在本地應(yīng)用程序中,不需要網(wǎng)絡(luò)配置和管理,這樣既可以減少網(wǎng)絡(luò)訪問(wèn)的消耗,又可以簡(jiǎn)化數(shù)據(jù)庫(kù)管理。

3 安全殼外觀缺陷檢測(cè)系統(tǒng)——數(shù)據(jù)庫(kù)系統(tǒng)

3.1 安全殼外觀缺陷檢測(cè)系統(tǒng)簡(jiǎn)介

安全殼外缺陷檢測(cè)系統(tǒng)總體上可分為6 個(gè)大的功能模塊,這6 大功能模塊分別為:接收和發(fā)送驅(qū)動(dòng)模塊,底層通訊模塊,上位機(jī)界面模塊,后臺(tái)運(yùn)行數(shù)據(jù)庫(kù)模塊,后臺(tái)服務(wù)系統(tǒng)和11 個(gè)子功能模塊。11 個(gè)子功能模塊又包括控制模塊,定位模塊,視頻系統(tǒng),圖像系統(tǒng),工具模塊,菜單模塊,EXCEL 模塊,檢索模塊,CAD 模塊,存儲(chǔ)模塊和算法模塊等11 部分。無(wú)線形式發(fā)送回來(lái)的視頻信號(hào)、位置信息以及其他一些附加信息經(jīng)過(guò)無(wú)線數(shù)據(jù)收發(fā)硬件傳送給上位機(jī)電腦,上位機(jī)控制電腦通過(guò)數(shù)據(jù)接收驅(qū)動(dòng)模塊提取并存儲(chǔ)這些無(wú)線數(shù)據(jù),再由底層的通訊模塊發(fā)送給后臺(tái)服務(wù)系統(tǒng)——數(shù)據(jù)庫(kù)系統(tǒng)和上位機(jī)界面,而上位機(jī)界面和數(shù)據(jù)庫(kù)系統(tǒng)又通過(guò)后臺(tái)服務(wù)系統(tǒng)分別與11 個(gè)子功能模塊進(jìn)行通訊和數(shù)據(jù)交互。

總體方案邏輯圖如圖1 所示。

圖1 總體方案邏輯圖Fig. 1 The overall program logic diagram

3.2 數(shù)據(jù)庫(kù)系統(tǒng)功能

數(shù)據(jù)庫(kù)系統(tǒng)功能可以分為3 個(gè)模塊,分別是:用戶信息管理模塊,安全殼檢測(cè)信息儲(chǔ)存模塊,缺陷記錄檢索和缺陷分布圖繪制模塊。

為了能夠?qū)?shù)據(jù)信息進(jìn)行操作, 必須首先通過(guò)數(shù)據(jù)庫(kù)SQLite 技術(shù)中database_connection 對(duì)象,利用SQLite3_open()接口函數(shù)建立起數(shù)據(jù)信息與數(shù)據(jù)庫(kù)之間的聯(lián)系。 代碼如下:

CDVP_VCApp *m_app = (CDVP_VCApp *)AfxGetApp();

int rc ;

rc = SQLite3_open("DataBaseName.db",&m_app->db);

//建立或者連接數(shù)據(jù)庫(kù),并命名為“DataBaseName”

if (rc)

{fprintf (stderr,"cannot open databasename:% s. ",SQLite3_errmsg(m_app->db));

return ;}

else

{printf("open databasename successfully. ");}

char *Crack_Pic_info_table = "CREATE TABLE Crack_Pic_info_table(

電站NVARCHAR(100),缺陷區(qū)域NVARCHAR(100),X坐標(biāo)REAL(100),Y 坐標(biāo)REAL(100),缺陷編號(hào)CHAR(100),缺陷類型NVARCHAR(100),缺陷狀態(tài)NVARCHAR(100),幾何特性NVARCHAR(100),觀察特性NVARCHAR(100),附屬特性NVARCHAR(100),長(zhǎng)度REAL(100),面積REAL(100), 縫 寬 REAL (100), 時(shí) 間CHAR (100), 備 注NVARCHAR(100));";

//在 數(shù) 據(jù) 庫(kù) “DataBaseName” 中 建 立 數(shù) 據(jù) 表“Crack_Pic_info_table”,即裂縫缺陷信息

char *Login_info_table = "CREATE TABLE Login_info_table(登錄用戶名NVARCHAR(100),登 錄密碼NVARCHAR(100),登錄用戶類型NVARCHAR(100));";

//在 數(shù) 據(jù) 庫(kù) “DataBaseName” 中 建 立 數(shù) 據(jù) 表“Login_info_table”,即用戶信息。

SQLite3_exec (m_app->db, Crack_Pic_info_table, 0, 0,&m_app->zErrmsg);

SQLite3_exec (m_app ->db, Login_info_table, 0, 0,&m_app->zErrmsg);

3.2.1 用戶信息管理模塊

為了保障信息安全,防止安全殼監(jiān)測(cè)信息遭到不必要的泄漏,本數(shù)據(jù)庫(kù)系統(tǒng)引入了嚴(yán)格的用戶信息管理機(jī)制,只有得到授權(quán)的用戶才能憑借各自用戶名和密碼登陸數(shù)據(jù)庫(kù)系統(tǒng),進(jìn)行數(shù)據(jù)操作。

用戶可以分為兩種:普用用戶和管理員,普通用戶只能瀏覽安全殼檢測(cè)信息和進(jìn)行裂縫信息錄入工作,沒(méi)有管理賬號(hào)的權(quán)限。管理員可以管理賬戶信息,添加或是刪除用戶。其登錄和管理界面如圖2、圖3 所示[4-5]。

圖2 安全殼外觀缺陷檢測(cè)系統(tǒng)-登錄界面Fig. 2 The defect detection system of containment shell appearance-Login interface

圖3 安全殼外觀缺陷檢測(cè)系統(tǒng)-管理用戶界面Fig. 3 The defect detection system of containment shell appearance-Management user interface

管理員通過(guò)“管理用戶”界面,后臺(tái)程序執(zhí)行相應(yīng)的SQL語(yǔ)句:"INSERT INTO Login_info_table VALUES ('%s','%s','%s');" ,達(dá)到添加新用戶的目的,并可以賦予其相應(yīng)的管理權(quán)限。控件List Control 不僅能夠?qū)z索到的符合條件的用戶信息顯示到界面上, 而且通過(guò)SQLite 中的API 函數(shù)SQLite3_get_table(db, m_sql, &dResult, &nRow, &nColumn,&zErrmsg ), 可以使其與建立的數(shù)據(jù)庫(kù)文件“DataBaseName.db”聯(lián)系起來(lái),實(shí)時(shí)反饋數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息。

“ 登 錄”界面,則通過(guò)將所填信息與數(shù)據(jù)表“Login_info_table”一一比對(duì),從而判斷登錄信息是否有效,以及管理權(quán)限是否開(kāi)放。

3.2.2 安全殼檢測(cè)信息儲(chǔ)存模塊

攝像頭拍攝到安全殼外表的實(shí)時(shí)畫(huà)面后,將視頻數(shù)據(jù)通過(guò)無(wú)線網(wǎng)卡上傳到上位機(jī),并按照一定格式保存在上位機(jī)硬盤(pán)中。 與此同時(shí),運(yùn)行在上位機(jī)的圖像處理軟件將會(huì)處理拍攝到的畫(huà)面,從中識(shí)別出裂縫,并采用軟件手段計(jì)算出裂縫的長(zhǎng)度、寬度、嚴(yán)重程度等信息,該部分信息將會(huì)作為裂縫的屬性在上位機(jī)軟件界面上顯示出來(lái)。 界面如圖4 所示。

在此模塊中,需要將裂縫的圖片信息以“jpg”或者其他格式存儲(chǔ)到數(shù)據(jù)表“Crack_Pic_info_table”中,而圖片是大容量的二進(jìn)制數(shù)據(jù),所以我們不能像處理普通的文本那樣簡(jiǎn)單的插入或者查詢, 為此,SQLite 提供了一組函數(shù)來(lái)處理這種BLOB 字段類型的數(shù)據(jù),以下為程序執(zhí)行過(guò)程:

1)建立與數(shù)據(jù)表“Crack_Pic_info_table”之間的聯(lián)系:

SQLite3_prepare(db, "insert into Crack_Pic_info_table values ('m.jpg',?);", -1, &stat, 0);此語(yǔ)句中“? ”表示待插入的圖片的二進(jìn)制數(shù)據(jù);

2)利用二進(jìn)制文件處理函數(shù),將圖片'm.jpg' 的二進(jìn)制信息寫(xiě)入char 型指針jpg_file 中;

3) 執(zhí) 行BLOB 數(shù) 據(jù) 操 作:SQLite3_bind_blob(stmt,1,jpg_file,jpg_size,NULL);

4)執(zhí)行綁定之后的SQL 語(yǔ)句:SQLite3_step(stat)。

3.2.3 缺陷記錄檢索和缺陷分布圖繪制模塊

安全殼檢測(cè)信息儲(chǔ)存模塊將獲得的裂縫信息, 如圖片、缺陷區(qū)域、 坐標(biāo)、 缺陷類型等等參數(shù), 存儲(chǔ)到數(shù)據(jù)庫(kù)文件“DataBaseName.db”中,缺陷記錄檢索模塊可以通過(guò)輸入相應(yīng)的條件來(lái)匹配或者部分匹配符合條件的數(shù)據(jù),并顯示在控件List Control 中。 界面如圖5 所示[5]。

圖5 缺陷記錄檢索界面Fig. 5 Defect record retrieval interface

圖6 缺陷分布圖繪制界面Fig. 6 Defect distribution mapping interface

上位機(jī)軟件識(shí)別到裂縫后,會(huì)由裂縫信息存儲(chǔ)模塊將裂縫對(duì)應(yīng)的編號(hào),長(zhǎng)度,寬度,坐標(biāo),嚴(yán)重程度記錄在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的位置進(jìn)行保存,為了更加清晰的表達(dá)出裂縫所處的位置,我們將會(huì)在一個(gè)二維展開(kāi)平面上,按照坐標(biāo)關(guān)系將裂縫對(duì)應(yīng)的位置做出標(biāo)記。 標(biāo)記的顏色表示裂縫的嚴(yán)重程度,如圖6 所示。 在這里,數(shù)據(jù)庫(kù)只需要向上位機(jī)軟件傳遞四個(gè)參數(shù)(裂縫編號(hào),X 坐標(biāo),Y 坐標(biāo),嚴(yán)重程度),然后由上位機(jī)軟件在已有的圖片上對(duì)應(yīng)位置繪點(diǎn)即可。

4 結(jié) 論

以核電站實(shí)際工程項(xiàng)目應(yīng)用為背景, 以解決無(wú)法安全、高效的檢測(cè)并記錄安全殼外表面裂縫信息難題為目的,開(kāi)發(fā)出了安全殼外表面缺陷檢測(cè)系統(tǒng),并通過(guò)比較SQLite 技術(shù)與SQL Server 之間的優(yōu)缺點(diǎn),最終選擇SQLite,并將其成功地應(yīng)用到了VS2008 開(kāi)發(fā)平臺(tái)上,以用戶信息管理模塊,安全殼檢測(cè)信息儲(chǔ)存模塊,缺陷記錄檢索和缺陷分布圖繪制模塊為依托,實(shí)現(xiàn)了登錄系統(tǒng)的權(quán)限設(shè)置,缺陷信息參數(shù)的存儲(chǔ),以及缺陷記錄的檢索和分布圖繪制等主要功能。 實(shí)踐表明,該系統(tǒng)能滿足核電站工程應(yīng)用,它不僅可以將機(jī)器人探測(cè)到的裂縫圖像信息存儲(chǔ)到數(shù)據(jù)庫(kù),而且能夠根據(jù)需要隨時(shí)查看各種裂縫信息,來(lái)進(jìn)行分析比對(duì)。

[1] 鄒正宇,蘇魯明.淺析核電企業(yè)的安全文化[J]. 中國(guó)核電,2008:350-353.

ZOU Zheng-yu,SU Lu-ming. Safety culture in nuclear power enterprise[J]. China Nuclear Power,2008:350-353.

[2] 唐敏,宋杰. 嵌入式數(shù)據(jù)庫(kù)SQLite的原理與應(yīng)用[J]. 電腦知識(shí)與技術(shù),2008:600-603.

TANG Min,SONG Jie. The Mechanism and applications of SQlite[J]. Computer Knowledge and Technology,2008:600-603.

[3] 倪天龍,張賢高,王培. 數(shù)據(jù)庫(kù)SQLite在嵌入式系統(tǒng)中的應(yīng)用[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(10):35-37.

NI Tian-long,ZHANG Xian-gao,WANG Pei. Application of SQLite database in the embedded system[J]. Microcontrollers& Embedded Systems,2005(10):35-37.

[4] 溫秀梅,丁學(xué)鈞. Visual C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005.

[5] 徐璇,姜明新. 基于MFC的工程軟件界面設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2011:11-13.

XU Xuan,JIANG Ming-xin. Software interface design of MFC-based engineering [J]. Electronic Design Engineering,2011:11-13.

[6] 格蘭特·艾倫,邁克·歐文斯.SQLite權(quán)威指南[M]. 楊謙,譯.2版.北京:電子工業(yè)出版社,2011.

猜你喜歡
界面數(shù)據(jù)庫(kù)用戶
國(guó)企黨委前置研究的“四個(gè)界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機(jī)交互界面發(fā)展趨勢(shì)研究
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數(shù)據(jù)庫(kù)
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
主站蜘蛛池模板: 国产一级做美女做受视频| 精品久久国产综合精麻豆| 婷婷丁香色| 国产精品高清国产三级囯产AV| 91成人在线观看视频| 久久久久无码国产精品不卡| 免费观看精品视频999| 欧美日韩亚洲综合在线观看| 国产欧美日韩资源在线观看| 欧美亚洲另类在线观看| 九色综合伊人久久富二代| 毛片在线看网站| 日韩人妻无码制服丝袜视频| 免费在线国产一区二区三区精品| 亚洲综合亚洲国产尤物| 亚洲精品无码专区在线观看| 尤物成AV人片在线观看| 真人高潮娇喘嗯啊在线观看| 欧美精品成人| 色悠久久久久久久综合网伊人| 国产精品亚洲精品爽爽| av大片在线无码免费| 亚洲91精品视频| 久久国产黑丝袜视频| 国产成人久久综合777777麻豆| 国产农村1级毛片| 国产精品开放后亚洲| 老司机精品一区在线视频| 国产精品视频导航| 直接黄91麻豆网站| 婷婷午夜影院| 国产真实乱子伦视频播放| 污污网站在线观看| 婷婷亚洲视频| 波多野结衣无码视频在线观看| 狠狠色婷婷丁香综合久久韩国| 91视频99| 国产精品手机在线观看你懂的| 国产导航在线| 性网站在线观看| 亚洲Aⅴ无码专区在线观看q| 东京热一区二区三区无码视频| 国产后式a一视频| 丁香五月激情图片| 国产成人综合久久精品尤物| 亚洲福利视频一区二区| 久久精品只有这里有| 国产成人高清精品免费软件| 国产精品第一区| 巨熟乳波霸若妻中文观看免费| 毛片卡一卡二| 在线观看精品国产入口| 国产视频大全| 国产亚洲精品资源在线26u| 伊人天堂网| 亚洲无码高清免费视频亚洲| 九九香蕉视频| 国产95在线 | 亚洲精品福利视频| 国内丰满少妇猛烈精品播 | 美女一区二区在线观看| 欧美精品亚洲日韩a| 伊人久久婷婷| 亚洲无码A视频在线| 欧美精品在线看| 国产微拍一区二区三区四区| 99国产精品免费观看视频| 波多野结衣无码中文字幕在线观看一区二区 | 波多野结衣无码中文字幕在线观看一区二区 | 久久五月天综合| 扒开粉嫩的小缝隙喷白浆视频| 日韩专区第一页| 一本色道久久88综合日韩精品| 亚洲精品欧美日本中文字幕| 欧美在线一二区| 国产在线观看91精品| 黄色网址免费在线| 亚洲国产成人精品青青草原| 亚洲成A人V欧美综合| 国产永久免费视频m3u8| 成人国产一区二区三区| 一本大道视频精品人妻|