歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機(jī)第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

基于Multi-Agent 的高校校園一卡通系統(tǒng)集成研究

文章出處:http://m.overnightmodel.com 作者:姚敏,郭慶   人氣: 發(fā)表時間:2011年11月15日

[文章內(nèi)容簡介]:在高校一卡通系統(tǒng)中,各子業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫、操作平臺等的異構(gòu)性,使得各系統(tǒng)之間數(shù)據(jù)共享和交互協(xié)作成為目前高校一卡通迫切需要解決的問題。為了解決此問題,將Multi-Agent 引入異構(gòu)數(shù)據(jù)庫集成系統(tǒng)中,利用XML對Agent之間的通信語言KQML進(jìn)行封裝,設(shè)計了一個完善的高校一卡通系統(tǒng)異構(gòu)數(shù)據(jù)庫集成方案。

    0 引言

    隨著信息技術(shù)的高速發(fā)展,目前高校的信息化程度也在逐漸提升。為了提升核心競爭力,高校掀起了一場“數(shù)字化校園系統(tǒng)建設(shè)”(Digital Campus)的熱潮。

    在數(shù)字化校園建設(shè)中,“校園一卡通”作為基礎(chǔ)工程,為數(shù)字化校園提供了全面的數(shù)據(jù)采集平臺。目前高校校園一卡通中存在多個不同時期的各種信息系統(tǒng),存在著異構(gòu)數(shù)據(jù)庫,需要整合二級管理部門的“信息孤島”[1],解決異構(gòu)的集成問題。本文主要研究各個應(yīng)用支撐系統(tǒng)的數(shù)據(jù)庫異構(gòu)問題,并引入Mutil-Agent 技術(shù),提出一種基于Mutil-Agent 的高校校園一卡通集成方案。

    1 Mutil-Agent 技術(shù)

    Mutil-Agent(MA)技術(shù)主要是研究多個Agent 之間如何相互協(xié)作、相互支持以完成系統(tǒng)共同目標(biāo)的問題,其成果可應(yīng)用于物理分布或邏輯上具有分布性特點的應(yīng)用領(lǐng)域。多智能Agent 系統(tǒng)(Mutil-Agent System,MAS)是指由多個可執(zhí)行網(wǎng)絡(luò)計算Agent 組成的集合。MAS 的協(xié)作求解問題的能力超過單個Agent,這是MAS 產(chǎn)生的最直接的原因。它能夠模擬人類社會團(tuán)體、大型組織機(jī)構(gòu)的群體工作,可用它解決復(fù)雜問題[2]。

    對MAS的研究主要涉及以下六個方面的內(nèi)容:

    ⑴ 功能控制范圍。單個Agent 的功能控制范圍可以是全局,也可以是局部。
    ⑵ 集成系統(tǒng)的操作手段。系統(tǒng)可以通過局部功能、局部接口、應(yīng)用或問題參數(shù)訪問單個Agent。
    ⑶ 系統(tǒng)控制位置。包括中心或分布的。
    ⑷ 系統(tǒng)集成機(jī)制。包括功能、語言、表示方法、應(yīng)用或問題。
    ⑸ Agent 組成。包括同構(gòu)、異構(gòu)的。
    ⑹ 系統(tǒng)Agent 類型。包括人、機(jī)器、人和機(jī)器的混合。MAS 的研究歷史最早可以追溯到80 年代中期的Actors 模型,隨后Davis 和Smith 提出了合同網(wǎng)協(xié)議。合同網(wǎng)協(xié)議至今仍被認(rèn)為是關(guān)于通信、MAS 研究的重要成果,主要內(nèi)容包括:MAS 理論、Multi-Agent 協(xié)商和Multi-Agent 規(guī)劃等。其他比較熱門的研究是,MAS 在Internet 上的應(yīng)用、移動Agent 系統(tǒng)、電子商務(wù)、基于經(jīng)濟(jì)學(xué)或市場學(xué)的MAS等。

    2 高校一卡通系統(tǒng)結(jié)構(gòu)及存在問題

    2.1 高校一卡通系統(tǒng)結(jié)構(gòu)

    校園一卡通是一個全新的理念,作為學(xué)校數(shù)字化校園的基礎(chǔ)建設(shè),在提升學(xué)校信息化建設(shè)和核心競爭力中起著舉足輕重的作用。按照業(yè)務(wù)功能的需要,校園一卡通平臺系統(tǒng)一般由支付交易系統(tǒng)、身份識別系統(tǒng)、應(yīng)用系統(tǒng)接口、綜合應(yīng)用系統(tǒng)四大功能系統(tǒng)組成。其結(jié)構(gòu)圖如圖1所示。

    系統(tǒng)的核心是數(shù)據(jù)資源的集成共享,統(tǒng)一的數(shù)據(jù)平臺的目標(biāo)是為了整個信息系統(tǒng)提供一個穩(wěn)定、集成、可靠的環(huán)境,保證系統(tǒng)中各個業(yè)務(wù)系統(tǒng)可以充分集成并保持一致。利用共享數(shù)據(jù)庫平臺,可集成各個不同時期建立的業(yè)務(wù)子系統(tǒng),實現(xiàn)整個校園管理的規(guī)范化、系統(tǒng)化、一體化。

    2.2 存在問題

    在高校校園一卡通系統(tǒng)中,學(xué)校很多部門在管理方面已經(jīng)應(yīng)用了一些專業(yè)生產(chǎn)廠家所開發(fā)的較為成熟的應(yīng)用管理系統(tǒng),如:控水控電系統(tǒng)、圖書借約系統(tǒng)、網(wǎng)上查詢系統(tǒng)、OA 系統(tǒng)等。他們采用的開發(fā)平臺各不相同。因此,目前各種類型的數(shù)據(jù)庫系統(tǒng)同時并存,有Foxpro、Access 等桌面型數(shù)據(jù)庫管理系統(tǒng),也有SQL Server、Oracle、Sybase 之類的大中型數(shù)據(jù)庫系統(tǒng)。 

校園一卡通系統(tǒng)結(jié)構(gòu)

    同時,隨著Web 技術(shù)的發(fā)展,又出現(xiàn)了許多新的數(shù)據(jù)形式(如文本、音頻、圖像、動畫、視頻數(shù)據(jù)等),這些異構(gòu)數(shù)據(jù),制約了各部門間的信息傳輸和互用。

    學(xué)校本部與分校及銀行在操作系統(tǒng)、數(shù)據(jù)庫和網(wǎng)絡(luò)上的異構(gòu)性,高校內(nèi)部各種形式的信息系統(tǒng),所形成的一個個分散的“信息孤島”[1],使得數(shù)據(jù)無法共享和及時更新,給單位的規(guī)范管理造成了一定困難。

    為了解決數(shù)據(jù)異構(gòu)問題,保護(hù)學(xué)校各部門的前期投資,促進(jìn)學(xué)校與銀行的相互協(xié)作,實現(xiàn)學(xué)校、商戶同銀行之間的信息交換,建立一個分布異構(gòu)環(huán)境下的異構(gòu)數(shù)據(jù)庫集成系統(tǒng)是十分必要的。
    3 基于Mutil-Agent 的一卡通集成系統(tǒng)

    為了解決高校各種業(yè)務(wù)系統(tǒng)中數(shù)據(jù)庫和操作系統(tǒng)平臺的異構(gòu)性、系統(tǒng)接口不統(tǒng)一、技術(shù)標(biāo)準(zhǔn)定義不一致、開發(fā)商不同等等問題,我們在一卡通系統(tǒng)中引入多Agent 技術(shù),即引入ManagentAgent 和各個業(yè)務(wù)子系統(tǒng)Agent,如OA Agent、圖書借約Agent、控水控電Agent 和網(wǎng)上查詢Agent 等來解決校園一卡通中各子系統(tǒng)間互相通信與協(xié)作,以便達(dá)到異構(gòu)數(shù)據(jù)庫的集成和透明共享,實現(xiàn)分布、異構(gòu)的校園一卡通子系統(tǒng)間的信息共享、功能共享、互通信和互操作。圖2 為基于Mutil-AgentAgent 的校園一卡通集成系統(tǒng)模型。 

    Client Agent 由Web Client 組成,是用戶和系統(tǒng)交流的接口,它接收用戶的操作和請求并返回執(zhí)行結(jié)果,并為用戶提供服務(wù),負(fù)責(zé)向Managent Agent 提交用戶信息和服務(wù)請求。用戶只需要提出相應(yīng)的要求或者作出一系列選擇,Client Agent 就能將用戶請求轉(zhuǎn)換成Agent 能識別的命令。 

    Managent Agent 是整個模型的核心,它接收Client Agent的請求任務(wù),轉(zhuǎn)換請求格式,并分解成相應(yīng)的子業(yè)務(wù),發(fā)送給各個子業(yè)務(wù)Agent,如OA Agent、Lib Agent、Inquiry Agent 等。接收各子業(yè)務(wù)Agent 發(fā)來的處理結(jié)果,并對其進(jìn)行整合后返回給Client Agent。

    元數(shù)據(jù)字典:包括各局部數(shù)據(jù)庫的模式信息、集成系統(tǒng)的全局視圖信息以及異構(gòu)模式的轉(zhuǎn)換規(guī)則等。這些元數(shù)據(jù)主要用于記錄整個數(shù)據(jù)庫系統(tǒng)的全局資源、局部資源和關(guān)系資源,是數(shù)據(jù)庫中數(shù)據(jù)的描述。元數(shù)據(jù)在需求分析階段定義,需要在設(shè)計過程中不斷修改、實施、完善。元數(shù)據(jù)字典位于管理Agent所在的同一機(jī)器上,這樣對于全局?jǐn)?shù)據(jù)庫的訪問只需訪問本機(jī)的數(shù)據(jù)庫。對于局部數(shù)據(jù)的訪問,相應(yīng)的信息通過JDBC 從全局?jǐn)?shù)據(jù)字典提取,再由Managent Agent 執(zhí)行。

    各子業(yè)務(wù)Agent:對應(yīng)于各子系統(tǒng)的數(shù)據(jù)庫服務(wù)器。它接收和解釋來自Managent Agent 的請求,檢驗其合法性以及權(quán)限;將服務(wù)通過標(biāo)準(zhǔn)接口JDBC 傳送給數(shù)據(jù)源執(zhí)行;取得查詢結(jié)果后,將其組織成規(guī)范的XML 格式文件傳送給ManagentAgent。

    4 基于Mutil-Agent 的集成通信機(jī)制設(shè)計

    校園一卡通集成系統(tǒng)模型中一個業(yè)務(wù)的執(zhí)行往往需要多個功能Agent 的交互協(xié)作。因而實現(xiàn)Agent 之間通信和協(xié)作,是保障校園一卡通系統(tǒng)高效、穩(wěn)定運(yùn)行的關(guān)鍵。完成協(xié)作,就需要通信。為了讓每個Agent 都能理解通信的內(nèi)容并作出相應(yīng)的反應(yīng),就需要為它們定義共同的通信機(jī)制。本文選擇KQML(Knowledge Query and Manipuliation Language)[3]作為開發(fā)語言,它提供了一套標(biāo)準(zhǔn)的Agent 通信原語,定義了一組Agent 之間傳遞信息的標(biāo)準(zhǔn)語法和動作,而且KQML 通信語言支持多種類型的消息通信,能夠完成控制系統(tǒng)中的一般信息交換、功能交互與知識共享。KQML 分為三個層次:內(nèi)容層、消息層和通訊層[4],如圖3 所示。 

     層間交互通過Inform,Request,Offer,Accept,Refuse,Command等類型的消息來實現(xiàn)。KQML 是一種較為成熟的Agent 通訊語言和通訊協(xié)議,但由于專業(yè)領(lǐng)域的封閉性和相應(yīng)軟件的不足,還遠(yuǎn)遠(yuǎn)不能滿足當(dāng)今Internet 發(fā)展的需求。XML 是一種可擴(kuò)展語言,是一種跨平臺的數(shù)據(jù)交換規(guī)范,已經(jīng)成為被廣泛接受的數(shù)據(jù)編碼和數(shù)據(jù)處理標(biāo)準(zhǔn)。它最重要的特征是,被標(biāo)記的各個數(shù)據(jù)是保持其含義的,因此極大地提高了系統(tǒng)間交換數(shù)據(jù)的可能性。鑒于XML語言的可擴(kuò)展性、平臺獨立性、靈活性、自描述性和簡明性[5],本文采用XML對KQML進(jìn)行封裝。

    用XML來封裝KQML語言的統(tǒng)一格式如下:

    <?xml version=”1.0”ecoding=”UTF-8”?>
    <message>
    <ID>消息的編號</ID>
    <sender>消息發(fā)送方</sender>
    <receiver>消息接收方</receiver>
    <type>消息類型</type>
    <content>消息的內(nèi)容</content>
    </message>

    Agent 采用KQML 通信的時候,其消息可劃分為兩個層面,通信原語和通信內(nèi)容層。這兩個層面是相對獨立的。如果采用KQML 來進(jìn)行Agent 通信,可用XML 來封裝KQML 通信原語消息,同時也可用XML 來表示通信內(nèi)容。我們將給出一個KQML 的DTD 設(shè)計,通信內(nèi)容則由用戶負(fù)責(zé)設(shè)計其DTD。這種做法的優(yōu)點是[6-7]:

    ⑴ 可增強(qiáng)不同種類的Agent 之間的通信能力;
    ⑵ 可降低通信的復(fù)雜度,使某些棘手的通信得以進(jìn)行;
    ⑶ 不依賴于特定網(wǎng)絡(luò)通信協(xié)議;
    ⑷ 有利于Agent 技術(shù)融入萬維網(wǎng)環(huán)境;
    ⑸ 有利于Agent 尋址、安全性以及標(biāo)準(zhǔn)詞匯集的定義和共享;
    ⑹ 有利于Agent 協(xié)調(diào)和合作;
    ⑺ 有利于增強(qiáng)Multi-agent 系統(tǒng)的靈活性和可擴(kuò)充性。 

    圖4為基于XML的Agent 通信框架: 

    XML Wrapper
    KQML
    request
    Ontology
    A
    Ontology
    B
    KB
    XML Wrapper
   KQML
   result
   Ontology
   A 
   Ontology
   B 
   KB 
   Background 
   Knowledge
   Base 

    該框架的通信流程為:

    設(shè)Agent A 就某問題向Agent B 詢問。Agent A 根據(jù)自己的知識庫經(jīng)過計算或推理,利用合適的標(biāo)準(zhǔn)詞匯集生成相應(yīng)的請求,將它嵌入KQML 的內(nèi)容層,使用XML 包裝器生成XML文檔,最后通過通信服務(wù)向B 傳送。Agent B 收到該文檔后,使用XML 解析器從中分離出KQML 消息,利用自己的知識庫進(jìn)行計算、推理和詮釋,并選用相應(yīng)的標(biāo)準(zhǔn)詞匯集生成反饋信息;接著,將其轉(zhuǎn)換成XML 文檔;最后也通過通信服務(wù)向A 傳回XML文檔。

    下面給出KQML消息的DTD定義。

    <!—filename:performative.dtd-->
    <!ENTITY%commadntype“ask-if|ask-all|ask-one|re-ask|streamall|
    eos|tell|untell|deny|suggest|insert|uminsert|delete-one|
    delete-all|undelete|achieve|unachieved|advertise|unadvertised|
    subscribe|error|sorry|standby|ready|next|rest|discard|register|
    unregister|forward|broadcast|transport-address|broker-one|
    broker-all|recommend-one|recruit-one|recruit-all”>
    <!ELEMENT performative(name,sender*,receiver*,in-reply-to?,
    reply-with,language,ontology,from?,to?,content)>
    <!ELEMENT name(% commandtype)>
    <!ELEMENT sender (Agent-id)>
    <!ELEMENT receiver (Agent-id)>
    <!ELEMENT in-reply-to (#PCDATA)>
    <!ELEMENT reply-with (#PCDATA)>
    <!ELEMENT content (#PCDATA)>
    <!ELEMENT language (#PCDATA)>
    <!ELEMENT ontology (#PCDATA)>
    <!ELEMENT from (#PCDATA)>
    <!ELEMENT to (#PCDATA)>
    <!ELEMENT Agent-id(name,address?)>
    <!ELEMENT name(#PCDATA)>
    <!ATLIST name id ID #IMPLIED)
    <!ELEMENT address EMPTY>

    這里給出一個數(shù)據(jù)庫查詢的實例。假設(shè)用戶執(zhí)行的語句如下所示:
    SQLConnect(dsn,dsn_len,uid,uid-len,pwd,pwd_len)解析:

    假設(shè)定義的數(shù)據(jù)庫連接語句原型為SQLConnect(DSN,UID,Len(UID),PWD,Len(PWD)),其中DSN 是數(shù)據(jù)源名,UID為用戶的ID,PWD 為用戶密碼,其余加Len()的表明為字符串的長度。
    文檔(Client Agent 向Managenent Agent 發(fā)送的文檔)
    <!—ask-if.xml-->
    <?xml version=“1.0” encoding=“UTF-8”standalone=“no”?>
    <!DOCTYPE performative SYSTEM“performative.dtd”>
    <!ELEMENT content sqlconnect>
    <!ELEMENT sqlconnect(dsn,dsn-len,uid,uid_len,pwd,pwd-len)>
    <!ElEMENT dsn (#PCDATA)>
    <!ATTLIST dsn_len (#PCDATA)>
    <!ATTLIST dsn_len inquire(yes|no)no>
    <!ElEMENT uid (#PCDATA)>
    <!ATTLIST uid inquire(yes|no)yes>
    <!ElEMENT uid_len (#PCDATA)>
    <!ATTLIST uid_len inquire(yes|no)no>
    <!ELEMENT pwd (#PCDATA)>
    <!ATTLIST pwd inquire(yes|no)yes>
    <!ELEMENT pwd (#PCDATA)>
    <!ATTLIST pwd inquire(yes|no)yes>
    <performative>
    <name> ask-if </name>
    <sender>
    <Agent -id>
    <name>Client Agent</name>

    </Agent -id>
    <content>
    <dsn>dsn</dsn>
    <dsn_len>dns_len</dsn_len>
    <uid>uid</uid>
    <uid_len>uid_len</uid_len>
    <pwd>pwd</pwd>
    <pwd_len>pwd_len</pwd_len>
    </content>
    </sender>
    <receiver>
    <Agent-id>
    <name> Menagement Agent</name>
    </Agent-id>
    </receiver>
    <in-reply-to/>
    <reply-with>No.1</reply-with>
    <content/>
    <language>XML</language>
    <ontology>Travel</ontology>
    </performative>

    5 結(jié)束語

    將Mutil-Agent 用于高校校園一卡通系統(tǒng),較好地解決了異構(gòu)數(shù)據(jù)庫系統(tǒng)之間的通信與協(xié)作問題,使系統(tǒng)更具有智能性和自學(xué)習(xí)功能。XML 具有的平臺獨立性、很好的擴(kuò)展性和自描述性,能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)的透明互訪和共享。所以通過XML 封裝KQML 消息,能夠有效地解決異構(gòu)數(shù)據(jù)庫系統(tǒng)的通信和協(xié)作問題。

本文關(guān)鍵詞:Multi-Agent,XML,KQML,ulti-Agent,XML,KQML,,lti-Agent,XML,KQML,一,ti-Agent,XML,KQML,一卡,i-Agent,XML,KQML,一卡通
回到頂部