劉景城 葉小艷 張芒
摘 要: 信息系統(tǒng)的智能查詢功能對大數(shù)據(jù)顯得特別重要,可以更快捷、更有效地在數(shù)據(jù)庫中查詢到與用戶需求相吻合的數(shù)據(jù)。系統(tǒng)設(shè)計利用WCF技術(shù)實現(xiàn)跨平臺技術(shù),具有單表查詢、條件查詢、多表查詢、生成視圖等功能模塊,界面設(shè)計友好。系統(tǒng)構(gòu)架分為公共層、服務(wù)端、客戶端。系統(tǒng)能夠做到用戶點擊界面便可查詢所需數(shù)據(jù),還可以把用戶覺得重要的查詢方式保存為視圖,以便下次查看。
關(guān)鍵詞: 智能查詢; 數(shù)據(jù)挖掘; 多表查詢; WCF
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2015)06-32-03
Abstract: The intelligent query function of information system is particularly important to big data, and can query to the data coincide with the users' needs more effectively and quickly. The system design uses WCF technology to achieve cross platform technology, with single table query, criteria query, multi table query, view generation modules and a friendly interface. The system architecture is divided into public layer, server and client. Users can query the data required by clicking on the interface, the important query can be saved as a view so as to use for next time.
Key words: intelligent query; data mining; multi table query; WCF
0 引言
大數(shù)據(jù)時代,為了更快捷、更有效地在數(shù)據(jù)庫中查詢到與用戶需求相吻合的數(shù)據(jù),信息系統(tǒng)的查詢功能顯得尤其重要。在數(shù)據(jù)查詢方面,不僅要關(guān)注數(shù)據(jù)庫檢索的有效性,而且要能夠靈活、智能、自然地查到數(shù)據(jù)。而目前大部分信息系統(tǒng),一旦開發(fā)完成,就把查詢功能、查詢視圖、查詢方式固定下來,這不利于數(shù)據(jù)庫的擴展。如一般的企業(yè)信息系統(tǒng)是針對特定數(shù)據(jù)庫開發(fā)數(shù)據(jù)查詢功能,這樣會使得系統(tǒng)的耦合度變高。假設(shè)該企業(yè)信息系統(tǒng)發(fā)展得越來越大,那么由于業(yè)務(wù)需要,需要新增一個數(shù)據(jù)庫來存儲數(shù)據(jù),那原來系統(tǒng)的數(shù)據(jù)查詢功能,就沒有用了。為此,本文研究采用C#高級語言和WCF技術(shù)開發(fā)的智能化數(shù)據(jù)庫查詢系統(tǒng),不但可以實現(xiàn)靈活、帶有記憶功能,而且可以使用各種技術(shù)來降低系統(tǒng)的耦合度。
1 WCF介紹
WCF(Windows Communication Foundation)是由微軟開發(fā)的一系列支持?jǐn)?shù)據(jù)通信的應(yīng)用程序框架,其工作原理如圖1所示。服務(wù)端會有一個服務(wù)寄宿過程,因為WCF服務(wù)需要寄宿于一個運行著的進(jìn)程中,服務(wù)寄宿就是為服務(wù)指定一個宿主程序,而WCF采用基于終結(jié)點的通訊手段,包括地址、綁定和契約。當(dāng)服務(wù)被成功寄宿,WCF會創(chuàng)建分發(fā)器,通過分發(fā)器來監(jiān)聽客戶端是否發(fā)來消息。對于客戶端,通過圖1的一系列流程后,可以實現(xiàn)如代理、創(chuàng)建傳輸通道等訪問服務(wù)。
2 系統(tǒng)總體設(shè)計
查詢系統(tǒng)的運行環(huán)境、運用技術(shù)、系統(tǒng)功能以及系統(tǒng)應(yīng)用平臺如圖2所示。
2.1 模塊功能設(shè)計
根據(jù)對數(shù)據(jù)智能查詢系統(tǒng)的需求分析,系統(tǒng)的功能大致包括:數(shù)據(jù)查詢模塊和生成視圖模塊。在數(shù)據(jù)查詢模塊中,包含了三個子模塊:單表查詢、條件查詢、多表查詢模塊。生成視圖功能包括定義視圖名稱和保存視圖模塊。每個模塊提供圖形化的操作方式給用戶進(jìn)行數(shù)據(jù)查詢,增強了用戶體驗性。
2.1.1 快速單表查詢
單表查詢主要是提供給用戶能夠快速地查到數(shù)據(jù)。只需在系統(tǒng)界面選擇數(shù)據(jù)庫、數(shù)據(jù)表或者手動輸入操作便可,不需用戶懂太多技術(shù)上的操作。該功能是系統(tǒng)的最基本查詢功能,主要適用于簡單數(shù)據(jù)查詢??焖賳伪聿樵兞鞒倘鐖D4所示。
條件查詢功能主要是便于用戶篩選數(shù)據(jù),根據(jù)用戶需求,把數(shù)據(jù)查詢出來,如圖5所示。
2.1.3 多表查詢
多表查詢功能主要是需要查詢業(yè)務(wù)比較復(fù)雜的數(shù)據(jù),可提供數(shù)據(jù)挖掘的功能。用戶只需要選擇幾張要查詢的表以及輸入表之間的關(guān)聯(lián)條件,點擊確定便可查詢數(shù)據(jù)。其流程如圖6所示。
2.2 生成視圖
生成視圖功能主要是當(dāng)用戶查詢到數(shù)據(jù)后,若用戶覺得該次查詢數(shù)據(jù)的方式以后會多次用到,那么用戶就可點擊生成視圖,把該數(shù)據(jù)表關(guān)系保存下來,以便以后使用。
2.3 系統(tǒng)的界面設(shè)計
系統(tǒng)界面使用WinForm技術(shù)設(shè)計,采用IrisSkin2皮膚,整體上給熟悉windows操作系統(tǒng)的用戶一種親切感,且較易用。如圖7所示,左上部分可選擇數(shù)據(jù)庫、表和視圖,左下部分可選擇要展示的哪列數(shù)據(jù)。右上部分是顯示用戶所查詢到的數(shù)據(jù),右下部分用戶可直接輸入Sql語句便可查詢到數(shù)據(jù)。
2.4 系統(tǒng)的架構(gòu)設(shè)計
圖8展示了系統(tǒng)的架構(gòu),總體上分為公共層、服務(wù)端、客戶端。各層之間分工協(xié)作,項目名稱與各層次的對應(yīng)關(guān)系如下。
⑴ 公共層(Common):主要存放一些系統(tǒng)公共代碼,如SQLHelper數(shù)據(jù)操作代碼。
⑵ 服務(wù)端:Service是系統(tǒng)服務(wù),主要描述該系統(tǒng)提供哪些功能;Service.Interface是系統(tǒng)契約,即服務(wù)的定義;ServiceConsumer主要用于服務(wù)訪問代理;ServiceHosting是WCF服務(wù)寄宿。
⑶ 客戶端(QueryProject):系統(tǒng)UI層,主要是呈現(xiàn)給用戶看的界面。
3 結(jié)束語
系統(tǒng)主要的亮點是為用戶提供多種查詢數(shù)據(jù)的方式,以及它的靈活性和可移植性。信息化產(chǎn)品已經(jīng)不斷的呈現(xiàn)在用戶的面前,同時企業(yè)對于辦公效率的追求也越來越高,而針對數(shù)據(jù)方面的需求更加無法想象,大數(shù)據(jù)、云技術(shù)的出現(xiàn),滿足人們需求的同時,也刺激了人們更大的需求。其中對數(shù)據(jù)的查詢及分析需求顯得尤為重要。所以該系統(tǒng)的設(shè)計符合時代的發(fā)展,傳統(tǒng)的數(shù)據(jù)查詢根本滿足不了用戶如今強大的需求,而該系統(tǒng)(如圖8)正好符合用戶的需求。
系統(tǒng)的發(fā)展方向是將每一個功能做成一個個控件,那樣用戶就可以隨意按自己的需要拖拉控件實現(xiàn)相應(yīng)的功能,即把界面交給用戶,按用戶所需進(jìn)行設(shè)計。
參考文獻(xiàn):
[1] 劉先省,陳克堅,董淑娟等.Visual C#程序設(shè)計教程[M].機械工業(yè)出版
社,2010.
[2] 劉衛(wèi)國,熊擁軍.數(shù)據(jù)庫技術(shù)與應(yīng)用-SQL Server 2005[M].清華大學(xué)
出版社,2011.
[3] 蔣金楠.WCF全面解析[M].電子工業(yè)出版社,2012.
[4] Christian Nagel,Bill Evjen,Jay Glynn.C#高級編程[M].清華大學(xué)出版
社,2010.
[5] 黃瑤,王雷剛.結(jié)構(gòu)陶瓷數(shù)據(jù)庫管理系統(tǒng)的研究[J].陶瓷科學(xué)與藝術(shù),
2002.36(4):6-8
[6] 袁滿,郭寶祥,孫永東.元數(shù)據(jù)驅(qū)動的個性化查詢工具設(shè)計與實現(xiàn)[J].
計算機工程與應(yīng)用,2007.43(11):185-187