欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    知识库系统与外部数据源接口的研究47344.docx

    • 资源ID:68844499       资源大小:49.94KB        全文页数:16页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    知识库系统与外部数据源接口的研究47344.docx

    一个知识库系统与外部数据源接口的研究 马金平 邢筠(青岛大学学商学院院管理系系, 26660771)摘要 本文文论述了了一个知知识库系系统与外外部数据据源接口口的描述述定义和和程序实实现方法法。关键词 知知识库系系统 数据库库 数据据源1 引言随着智能决决策支持持系统应应用领域域的不断断扩大,原原来由模模型库系系统完成成的部分分定量分分析任务务,将归归并到知知识库系系统中。即即要求知知识库中中,不仅仅有专家家的定性性知识,而而且也应应该具有有计算知知识,形形成一个个广义的的知识库库系统。在在广义知知识库系系统中,要要求推理理机不仅仅要具有有一般的的推理功功能,而而且能够够从外部部数据源源获取数数据,对对数学模模型进行行求解的的功能。如如何从外外部数据据源获取取数据,是是使推理理机具有有模型求求解功能能的关键键技术之之一。笔笔者在生生产成本本管理知知识库系系统的开开发过程程中,使使用Viisuaal cc+66.0 成功地地研究开开发了该该知识库库系统与与外部数数据源的的接口,拓拓宽了推推理机的的功能,收收到了比比较好的的效果。外外部数据据源主要要是指文文本数据据文件、数数据库和和Exccel电电子表。由由于受篇篇幅限制制,本文文主要针针对知识识库系统统与文本本数据文文件、数数据库接接口的设设计实现现问题进进行讨论论。知识识库系统统与Exxcell电子表表的接口口问题,笔笔者将另另撰文介介绍。2 接口口的描述述定义在生产成本本管理知知识库中中,以知知识数据据块的形形式对外外部数据据源进行行如下描描述定义义。2.1 文文本数据据文件接接口的定定义格式式 DAATAFFILEE /可以以定义多多个文件件的接口口。 <文文件句柄柄>=OOPENN(<文文件名称称>)/在一一个接口口中,可可以定义义任意个个输入数数据文件件。 <变量量>=RREADD(<文文件句柄柄>,行行号,列列号)/可以以有多行行。 | /或 WWITHH <文文件句柄柄> <变量量>=RREADD(行号号,列号号) /可以以有多行行。 EEND WITTH ENND DDATAAFILLE 2.2数据据库接口口的定义义格式 DATTABAASE /在一个个知识库库中可以以定义多多个这样样的接口口 CONNNECCTIOON <ADDO连接接对象名名>=<<连接字字符串>> /可以同同时定义义多个连连接对象象 INPPUTTTABLLE /每个个接口只只能定义义一个输输入块。 RECCORDDSETT <AADO记记录集对对象名>>=<SSQL查查询语句句>,CCONNNECTTIONN <AADO连连接对象象名> /可以定定义多个个记录集集对象名名。 变变量=<ADDO记录录集对象象名>.FIEELDSS(字段段序号)/可可以有多多行 | /或 WITHH AADO记记录集对对象名>> <<变量 >=.FIIELDDS(字字段序号号) /可以以有多行行 END WITTH ENDD INNPUTTTABBLE OUTPPUTTTABLLE /定义义与存储储结果数数据表的的接口,每每个接口口最多可可以定义义一个输输出块。 RRECOORDSSET <ADDO记录录集对象象名>=<SQQL查询询语句>>,<AADO连连接对象象名>; <ADDO记录录集对象象名>.FIEELDSS(字段段序号)=变变量; | /或 WITHH <AADO记记录集对对象名>> FFIELLDS(变变量序号号)=<<变量>>; END WITTH ENDD OUUTPUUTTAABLEE EEND DATTABAASE在上述格式式中,变量是指计计算表达达式及模模型中需需要用户户提供值值的参数数,或存存储表达达式及模模型的求求解结果果。“/”表示注注释。此此外,笔笔者在生生产成本本管理知知识库系系统开发发工具中中,开发发了知识识库与外外部数据据源接口口定义的的辅助工工具,用用户利用用这些工工具可以以十分方方便地完完成接口口的描述述定义工工作。3 接口程程序的实实现在推理机运运行之前前,首先先将知识识库读入入内存,并并且转换换成计算算机的内内部表现现形式。接接口程序序再根据据知识库库与外部部数据源源接口的的定义,将将外部数数据源的的数据读读入内存存缓冲区区后,最最后在进进行推理理。为了便于查查找知识识库与外外部数据据源接口口的定义义语句,首首先定义义如下数数据结构构:strucct LLineeTexxt /存储储知识库库语句行行文本。 CCStrringg Teext;/存存储知识识库语句句行文本本strucct llineetexxt *pNeextLLinee;/下一行行指针 *ppLinneTeextHHeadd; /知知识库语语句首行行指针。strucct DDataaObjjectt /知识数数据块对对象索引引表 CSStriing ObjeecTypee;/对象类类型strucct LinneTextt *ppTexxtLiine;/对对象首行行在LiineTTextt中的指指针strucct DDataaObjjectt *ppNexxtObjeect;/指向向下一个个知识数数据块对对象。strucct KKnowwClssNamme /存储储知识类类名称定定义语句句文本 CSStriing ClssNamme;/知识识类名称称strucct KKnowwClssNamme *pNeextCCls;/下下知识类类名称的的指针strucct LLlinneTeext *pTTexttLinne;/知识识类名称称在LiineTTextt中的指指针strucct DDataaObjjectt *ppFirrstOObjeect;/指指向知识识类中第第一个知知识数据据块对象象的指针针strucct MMethhod *pFFirsstMethhod;/指指向知识识类中第第一个知知识方法法的指针针*pCllsHeead;/指指向知识识类的头头指针。根据上述数数据结构构的定义义,接口口程序总总体实现现的程序序流程如如图1所所示。在在图1中中,当ppDo->ObbjecctTyype等等于“DATTAFIILE“或“DATTABAASE”或“EXCCEL”时,系系统分别别调用从从文本数数据文件件、数据据库和EEXCEEL电子子表获取取数据的的接口函函数。其其中:文文本数据据文件接接口函数数的程序序流程如如图2所所示,数数据库接接口函数数的程序序流程如如图3所所示。“OTHHER”表示知知识库中中的其它它知识数数据块对对象。开始pClspClsHead终止pDo=pClspFirstObjectpCls=NULL?? No Yess pDoObjectType=?pDo=NULL? YYes NNo pCls=pClspNextCls AB C DAATABBASEE EXCCEL OTHHER DAATAFFILEEpDo=pDopNextObject 图1 接口口程序总总体实现现的程序序流程 3.1 数数据文件件接口函函数程序序的实现现为了存储从从外部数数据文件件获取的的数据,定定义如下下数据结结构:strucct DDataaFilleBuuffeer /数数据文件件缓冲区区 CSStriing VarriabbleNNamee;/变变量名称称 doubble DaataVValuue;/从文文本文件件获取的的变量值值 struuct DaataBBufffer *pNexxtPaata;/指指向下一一个变量量的指针针*pDaataBBuffferHHeadd,*ppDattaBuuffeerTaail;/缓缓冲区的的头指针针和尾指指针。据此,绘出出从外部部数据文文件获取取数据的的接口函函数的程程序流程程如图22。由于于受篇幅幅限制,图图2仅给给出了程程序的主主要算法法流程。在在编程时时,还必必须考虑虑具体实实现的细细节,例例如:如如何从一一个数据据行中,确确定数据据项数量量,找到到Coll列;如如何创建建DattaFiileBBufffer的的链表结结构等。3.2 数数据库接接口函数数程序的的实现 根据上述知知识库与与数据库库接口的的定义格格式以及及知识库库内部存存储结构构,可以以绘制出出数据库库接口函函数程序序总体流流程如图图3所示示。其中中:D表表示输入入数据表表接口程程序流程程,如图图4所示示;E表表示输出出数据表表接口程程序流程程。3.2.11 输入入数据表表接口程程序的实实现为了存储从从输入数数据表获获取的数数据,定定义数据据结构如如下: strucct IInpuutDaataBBufffer /存存储从数数据库获获得的数数据,每每一个变变量建立立一个数数据区 _vaariaant_t DDataaVallue;/可可以存储储不同类类型的数数据;strucct IInpuutDaataBBufffer *pNNexttDattaVaaluee;;strucct PPremmiseeVarriabbleBBufffer /前前提变量量(自变变量)集集区,接接受来自自数据库库的数据据 CSttrinng VVariiablleNaame;strucct IInpuutDaataBBufffer *pIInpuutDaataBBuffferHHeadd;/指向数数据区头头指针。strucct PPremmiseeVarriabbleBBufffer *pNNexttVarriabble;/指指向下一一个变量量。*pPrremiiseVVariiablleBuuffeerHeead,pPrremiiseVVariiablleBuuffeerTaail;据此,可以以绘制出出知识库库从外部部数据库库获取数数据的接接口程序序流程如如图4所所示。 ApTL2=pTL1;nFind1=pTL2->Text。Find(”OPEN”)定义变量、初始化pTL1=pDopTextLinepTL1=pTL1pNextLine nfind1>-1? Noo YeespTL1Text=”END DATAFILE” ?找出文件名称、文件句柄名称,并且打开数据文件(设对象名为MyFile)。Ptl2<=PTL2->pNextLine Noo Yess 返回 Ptl2->Text=”END DATAFILE”? Yess pTL1=pTL1->pNextLine YYes pTL2<=pTL2->pNextLine在Ptl2->Text中,找出变量名称 VariableName,行号(Row)和列号(Col);MyFileSeekToBegin();Bool flag=MyFileReadString(mDataLine);设MyFile当前行nLine=1; 在Ptl2->Text中是否存在“READ”和文件句柄名称? Noo Yess Noo Flag=False? Noo YYes 在mDataLine中找Col列Row=nLine? 显示消息通知用户存在错误 Noo Yess flag=MyFile.ReadStirng(mDataLine);nLine+;找到否? NNo 将数据和VariableName采用DataFIleBuffer结构存入内存 YYes 图2 从外外部数据据文件获获取数据据的接口口函数程程序流程程BnFind1=pTL1->TextFind(“CONNECTION”)定义变量、初始化pTL1=pDopNextLinepTL1=pTL1pNextLinenFind1>-1? NNo 找出ADO连接对象名称和连接字符串,并打开连接 YesspTL1->Text=”END DATABASE” pIT=pTL1-pNextLine;pOT=pTL1->pNextLine Yess Noo 返回pIT->Text=”INPUTTABLE” pTL1=pTL1->pNextLine pIT=pIT->pNextLineD Yees pOT=pOT->pNextLine NopOT->Text=”OUTPUTTAB?LE ”pIT->Text=”END DATABASE”? Yees NNo EpOT->Text=”END DATABASE”? No Noo Yees Yes 图3 数据据库接口口程序实实现的总总体流程程 D返回 pIT=pIT->pNextLine pRec->Text=”END INPUTTABLE”? Yess pIT->Text=”END INPUTTABLE”? Yess No NNo pRec=pIT; 在pRec->Text中,查找记录集对象名称RecName、已经打开的连接对象名称conName, 找到否?pRec=pRec->pNextLine NNo 从pRec->Text截出SQL命令字符串,执行。 Yess 在pField->Text中找RecNamepField->Text=”END INPUTTABLE”? Yess pField=pRec->pNextLine 将第nField字段值存入InputDataBuffer内存缓冲区RecNameMoveNext() Noo pField=pField->pNextLine找到否? Yess Noo YYes RecName.GetadoEOF()?在pField->Text中截出变量名,并且存入PremiseVariableBuffer缓冲区;截出字段序号nField NNo 图4 从外外部数据据库获取取数据的的接口程程序流程程3.2.22 输出出数据表表接口程程序的实实现 输出数据表表用来存存储推理理机对表表达式或或模型的的求解结结果。因因此,需需要在推推理机运运行之前前,根据据输出数数据表接接口描述述的定义义,准确确地建立立结果变变量与打打开数据据表的记记录集对对象之间间以及记记录集对对象与连连接对象象之间的的链接关关系,使使得推理理完成后后,系统统能够正正确地连连接数据据库和打打开数据据表,将将求解结结果存入入到数据据表中。为为此,定定义如下下数据结结构:strucct OOutpputDDataaBuffferr/推推理机将将结果写写入该区区域 CSttrinng CConcclVaariaableeNamme;/推理理完成以以后,按按变量名名称排序序 _Vaariaan_tt DaataVValuue;/可以以存储不不同类型型的数据据; strructt OuutpuutDaataBBufffer *pNNexttDattaVaaluee;*pOuutpuutDaataBBuffferHHeadd,*ppOuttputtDattaBuuffeerTaail;strucct CConcclVaariaableeBuffferr /结果变变量缓冲冲区 CSttrinng VVariiablleNaame; CSttrinng CConOObjeectNNamee;/排序 可以减减少连接接数据库库的次数数 CSttrinng RRecOObjeectNNamee;/排序 可以减减少打开开记录集集的次数数 intt nFieeld;/字字段序号号 strructt OuutpuutDaataBBufffer *pOOutpputDDataaBuffferr;/指向向输出数数据区的的指针 strructt CooncllVarriabbleBBufffer *pNNexttVarriabbleNNamee;*pCooncllVarriabbleHHeadd,*ppConnclVVariiablleTaail;strucct CConnnecOObjeectNNamee /连接对对象缓冲冲区 CSttrinng OObjeectNNamee; CSttrinng CConnnecttionnStrringg; strructt CoonneecObbjecctNaame *pNNexttConnneccObjjecttNamme; *ppConnneccObjjecttNammeHeead;strucct RRecOObjeectNNamee /记录集集对象缓缓冲区 CSttrinng OObjeectNNamee;/记录集集对象名名称 CSttrinng RRecSStriing;/SSQL语语句字符符串 strructt ReecObbjecctNaame *pRRecOObjeectNNamee; *pRRecOObjeectNNameeheaad;程序实现流流程与图图4相类类似,不不同之处处是:在在初始化化阶段,不不需要连连接数据据库和打打开数据据表,将将找出的的结果变变量与打打开数据据表的记记录集对对象之间间以及连连接对象象之间的的对应关关系,存存到上述述结构所所定义的的链表中中。推理理机在推推理完成成以后,通通过指向向结果变变量缓冲冲区的头头指针获获得整个个链表的的入口,将将结果数数据存入入输出数数据表中中。 4 结束束语本文开发的的知识库库系统与与外部数数据源的的接口作作为生产产成本管管理知识识库系统统开发工工具的重重要组成成部分,目目前正在在两个不不同类型型的企业业进行试试运行,已已经收到到了比较较好的效效果。应应用实践践证明,该该系统运运行稳定定可靠,接接口描述述定义格格式简单单实用。我我们准备备将接口口程序转转为AcctivveX DLLL 组件件形式,便便于在不不同的知知识库系系统中使使用,以以获得更更好的效效果。参考文献1 EEugeene Olaafseen等著著, 王王建华等等译. MFCC Viisuaal CC+66编程技技术内幕幕. 机机械工业业出版社社, 220000年版2 熊熊范纶等等. 雄雄风专家家系统开开发工具具. 清清华大学学出饭社社, 119999年版3 王永永庆. 人工智智能原理理与方法法. 西西安交通通大学出出版社, 19998年年版 TThe Stuudy on Intterffacee of a Knoowleedgee Baase Sysstemm annd EExteernaal DDataaSouurcee Ma Jiinpiing XXingg juun(Manaangeemennt DDepaartmmentt QiingDDao Uniiverrsitty , 26660771)Abstrractt TThiss paaperr diiscuusseed ddesccribbe ddefiinittionn annd pproggramm immpleemenntattionn meethood oon iinteerfaace of a Knoowleedgee Baase Sysstemm annd EExteernaal DDataaSouurcee. Key wwordds Knoowleedgee Baase Sysstemm DattaBaase DDataaSouurcee

    注意事项

    本文(知识库系统与外部数据源接口的研究47344.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开