基于RDF/XML的异构数据交换模型的设计与研究

2013-08-06 02:14张守胜
电脑与电信 2013年1期
关键词:数据表异构文档

张守胜

(江西财经大学现代教育技术中心,江西 南昌 330013)

1.引言

信息资源是实现企业、政府、商业信息化的源泉。随着Internet技术的发展,这些信息资源逐渐呈现分布性、动态性,多领域、半结构化或无结构化、非规范化等特点。不同应用系统之间要进行准确的信息共享和交换,需要设计一个数据交换来实现跨部门、跨系统、跨异构数据库的数据共享,为领导管理、决策提供信息支持与服务。将不同的数据形式变异构为同一,化分散为集中,才能有利于集成人员对数据的发布、订阅和查询操作。

数据交换是实现数据共享的一种方式。通过数据交换的方法,实现企业业务系统间的数据共享、互联互通、业务协同,也是解决目前“信息孤岛”现象的关键途径。本文设计了一个基于RDF/XML的异构数据交换模型,利用RDF/XML文件为公共数据模型来实现异构数据库管理系统间模式转换和数据交换。

2.RDF/XML公共元数据

目前很多Web站点使用内嵌于HTML(超文本标记语言)中的或<META>等标记来描述该站点提供的网页内容,只能勉强满足Web站点的需求,不支持任何标记语义。这种缺乏元数据的基本结构增加了在互联网上搜索文档内容的困难。</p><p>一个完整的元数据体系可以从横向和纵向两方面分析。横向分析包括内容元数据、管理元数据和结构型元数据。纵向分析包括语义(元数据表达的含义)、结构(元数据元素之间的相互关系)和语法 (元数据体系如何描述和表达)。语法是前两者的表现基础,只有选择合适的语法才能体现出元数据的语义和结构[1]。元数据的语法通常是各种标记语言,如SGML(Standard Generic Markup Language,标准通用标记语言)、HTML,XML,RDF等。</p><h3>2.1RDF定义</h3><p>RDF是采用XML作为交换和处理元数据的通用语法结构体系,致力于增强WWW上对元数据的创建、交换和使用,甚至可以通过简单地嵌套RDF描述来生成由其他RDF资源所组成的资源。RDF的含义就是描述资源的框架(Framework for Describing Resources),这样,不同的用户或团体能在这一框架下定义他们自己的元数据资源。我们可以用对象模型的原则来辨别这些资源:</p><p>(1)资源(Resource):资源对象标识实际的以网络为基础的资源,包含世界上所有的网页及部分元素或网络应用程序、所有在Web上被命名、具有URI的东西,如网页、XML文档中的元素等。</p><p>(2)描述(Description):对资源属性(Property)的一个陈述,以表明资源的特性或者资源之间的联系。</p><p>(3)框架(Framework):与被描述资源无关的通用模型,以包容和管理资源的多样性、不一致性和重复性。</p><p>综合起来,RDF就是定义了一种通用的框架,即资源-属性-值的三元组,以不变应万变,来描述Web上的各种资源。</p><h3>2.2 用RDF/XML描述基础信息元数据</h3><p>用RDF/XML描述企业信息的元数据的优势在于:</p><p>(1)当前各个应用系统不同的机构和部门根据需要建设了形式多样、内容各异的资源库,把RDF/XML应用于基础信息元数据描述,通过其对资源库的领域知识进行识别和规范描述,达成领域内关于元数据及其关系之间的共识,从而实现资源库真正的重用和共享,解决资源库建设存在的问题。</p><p>(2)提供元数据映射方案,集成到基础信息的元数据管理中,使其有机地成为交换协议的一部分,实现公共元数据之间的语义映射、不同词汇之间的关系定义及约束规则,从而保证各个应用分布式资源的语义互操作。</p><p>(3)在RDF/XML的元数据层基础上构建有关领域知识的本体层帮助提供一种智能浏览技术,实现对查询请求的语义理解。</p><p>表1描述了一个国标的公共元数据一览表。</p><p><img src="https://cimg.fx361.com/images/2023/0324/98be564c18dbb2e4effc952dc8f16bbc98ba0d9d.webp"/></p><p>表1 GB/T 2261.1-2003人的性别代码表</p><p>上表的RDF/XML描述为:</p><p><rdf:rdfxmlns:rdf="http://www.w3.org/1999/02/22-rdfsyntax-ns#"</p><p>xmlns:dbinst-"http://www.baseinformation.com/RDF/dbinst"</p><p><dbinst:Sex></p><p><dbinst:Sex.code>0</dbinst:Sex.code></p><p><dbinst:Sex.caption> 未知的性别 </dbinst:Sex.caption></p><p></dbinst:Sex></p><p><dbinst:Sex></p><p><dbinst:Sex.code>1</dbinst:Sex.code></p><p><dbinst:Sex.caption> 男性 </dbinst:Sex.caption></p><p></dbinst:Sex></p><p><dbinst:Sex></p><p><dbinst:Sex.code>2</dbinst:Sex.code></p><p><dbinst:Sex.caption> 女性 </dbinst:Sex.caption></p><p></dbinst:Sex></p><p><dbinst:Sex></p><p><dbinst:Sex.code>9</dbinst:Sex.code></p><p><dbinst:Sex.caption> 未说明的性别 </dbinst:Sex.caption></p><p></dbinst:Sex></p><p></rdf:rdf></p><h2>3.数据交换模型</h2><p>数据交换模型是数据特征的抽象,是数据库管理的形式框架。数据交换模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。所有的数据库管理系统都是基于这样的概念和实现模式。借鉴这样的思想和实现模式,复杂网络环境下RDF/XML数据交换模型充分地吸取了RDF/XML的优点,用RDF/XML文件作为中间数据,利用RDF/XML丰富的表示形式和通用性自定义了数据的数据文档和结构文档,将数据表示和结构表示分开。</p><p><img src="https://cimg.fx361.com/images/2023/0324/99a27ad68d0229275e6ea4b8ae17568ad6350f38.webp"/></p><p>图1 数据交换模型图</p><p>如图1所示为数据交换模型,在该模型中,数据交换的过程是:首先通过数据采集将源数据的数据和结构都抽取出来,形成原始层的结构文档(以下也称Structure)和数据文档(以下也称Data);同时,也需要通过数据采集将目标数据结构抽取出来,形成转换层的结构文档(Structure)。然后对原始层和转换层的结构文档进行分析,按照转换的需求,形成数据转换规则配置文档。在原始层和转换层的结构文档和转换规则文档的基础上生成映射文档(以下也称Data Mapping),结合转换规则文档和映射文档完成数据的交换,并同时得到转换层数据文档。最后,利用转换层数据与目标层数据之间的映射文档,将转换层数据文档中的数据推送到目标数据库中,到此一个完整的数据交换过程结束。</p><p>数据采集模块、数据交换模块、数据推送模块是该数据交换模型的三个主要部分,下面分析各个模块的功能。数据采集模块是整个交换模型的基础,主要是和用户直接交互,获取源数据和目标数据的匹配信息;数据交换模块是整个交换模型的核心,主要是将源数据和目标数据表示成相应的数据文档和结构文档,按照用户需求,进行结构匹配操作,消除类型异构、语义异构、长度异构、精度异构、度量异构和联系异构等异构,同时按照数据映射文档和相关算法,将原始层数据转换成转换层数据库中;数据推送模块主要是将转换层文档按照数据映射文档,将转换层数据写入目标数据库中。</p><h3>3.1 数据采集模块</h3><p>数据采集模块是整个数据交换模型的基础,它的主要任务是与用户交互,获取数据源连接的相关信息,获取源数据表和目标数据表之间的数据结构对应关系,产生数据结构文档,为数据交换做好准备。</p><p>数据采集模块在整个数据交换模型中负责与用户进行交互工作,因为数据库连接方式的选择与系统的可扩展性紧密相关。因此,数据采集模块的设计模式选择是至关重要,要尽量减少数据之间的耦合,尽量考虑到系统的扩展性。考虑到整个模型今后在实际应用中的发展空间,为实际应用打下良好的基础。同时,对数据采集时,需要对采集的数据都用中间数据表示,因此对RDF/XML文档进行处理时应根据文档的特点及编程要求来选择相应的编程模型。</p><p>数据采集部分包括模式采集模块、模式提交模块、数据卸载模块。模式采集模块的任务是从关系数据库抽取关系数据表的结构信息作为结构文档,抽取关系数据表的值信息作为数据文档,实现关系模式与RDF/XML模式的转换。模式提交模块的任务是在模式提取模块将关系模式转换为RDF/XML模式后,分别将结构文档和数据文档提交保存为文件RDF/XML,进行不需要的索引处理,以供数据交换时使用。</p><h3>3.2 数据交换模块</h3><p>数据交换模块的作用是连接源数据和目标数据,利用RDF/XML作为存储和交换的中间媒介格式,生成源数据表和目标数据表的结构文档和数据文档,分别表示需要转换的数据和结构,完成从关系模式到RDF/XML模式的转换。为了方便下一步的数据交换,有时候,也可以将目标数据表认为是空。该模块通过对结构文档的匹配操作,来消除源数据和目标数据的类型异构、语义表示异构、数据长度异构、精度异构、度量异构和联系异构,是整个数据交换模型的核心。</p><p>关系数据库中的数据都是规则的二维结构关系表,所以能使用很简单的RDF/XML文档来表示。对象数据库中的数据,由于RDF/XML文档本身就是树形组织模式,所以也能使用RDF/XML文档来表示。利用RDF/XML作为交换的中间媒介格式,源数据和目标数据通过中间格式来进行表示和交换。一方面,利用RDF/XML来表示需要转换的数据本身;另一方面,也利用RDF/XML来表示数据结构。</p><p>数据交换文档详细给出了数据交换过程中原始层数据的每个字段是如何交换到转换层数据中的。生成一个转换层数据所需要的所有信息,包括原始层节点、转换层节点、转换规则。在这个模块中,将复杂的RDF/XML数据映射操作分解为若干个相对简单的子操作,每个子操作的计算过程被封装在转换函数中,转换链将转换函数按执行顺序组合在一起,全部转换函数计算完毕后,将计算结果组装成转换层的RDF/XML数据文档。</p><h3>3.3 数据推送模块</h3><p>数据推送模块的任务是负责将从目标层的数据文档传送到目标数据库管理系统,加入具体的数据库中。</p><h2>4.结束语</h2><p>随着社会化数字信息进程的飞速发展,人们访问的信息量呈指数增长,再加上资源分布的扩散性、自治性,信息分布趋势越来越异构化、海量化、动态化。在这种情况下,信息网络的异构数据交换一直是研究人员关注的焦点。本文在研究目前网络集中式数据转换技术基础上,提出了基于复杂网络环境下RDF/XML模式的数据转换模型,很好地解决了不同部门异构数据库之间的数据交换问题。同时消除各个信息孤岛,把这些孤岛一个一个互联起来,形成为信息共享的数据集合;及时获取这些有价值的数据信息的同时,积极充分地利用这些资源,降低信息化建设成本发挥更大的效益。</p><p>[1]赵永辉.信息网络异构数据交换技术研究与实现[D].西北工业大学,2007.</p><p>[2]杜思峰.数据交换平台中异构数据转换技术的研究[D].西安工业大学,2011.</p><p>[3]房成萍,马坤,杨波,陈贞翔.分布式一体化及数据交换平台的设计与实现[J].济南大学学报(自然科学版),2011(1):11~14.</p><p>[4]齐小文.高等学校电子校务数据交换平台设计初探[J].中山大学学报,2010(10):126~128.</p><p>[5]孙璐.一种面向服务的异构系统间数据交换平台设计[J].武汉理工大学学报(信息与管理工程版),2010(10):609~702.</p></p> <!-- <div class="article_pdf"><a href="https://cimg.fx361.com/kkb.apk">查看pdf文档请下载app</a></div>--><div class="article_love"> <div class="title">猜你喜欢</div> <div class="article_love_keyword"><span><a href="/tags/e/2/1f742cb2b523b350/1.html" target="_blank">数据表</a></span><span><a href="/tags/1/c/953e641c1fd33429/1.html" target="_blank">异构</a></span><span><a href="/tags/3/5/c0eb5cb77d8024b6/1.html" target="_blank">文档</a></span></div> <div class="article_love_news"><dd><a class="txt_title" href="/page/2022/0531/10341748.shtml" target="_blank" title="浅谈Matlab与Word文档的应用接口">浅谈Matlab与Word文档的应用接口</a><div class="rsorc"><a href="/bk/kelian/20223.html" class="ly" title="客联(2022年3期)">客联(2022年3期)</a><span class="txt">2022-05-31</span></div></dd><dd><a class="txt_title" href="/page/2022/0428/10280854.shtml" target="_blank" title="试论同课异构之“同”与“异”">试论同课异构之“同”与“异”</a><div class="rsorc"><a href="/bk/xxjxyj/20225.html" class="ly" title="小学教学研究(2022年5期)">小学教学研究(2022年5期)</a><span class="txt">2022-04-28</span></div></dd><dd><a class="txt_title" href="/page/2021/0727/8621423.shtml" target="_blank" title="有人一声不吭向你扔了个文档">有人一声不吭向你扔了个文档</a><div class="rsorc"><a href="/bk/zgxwzk/202126.html" class="ly" title="中国新闻周刊(2021年26期)">中国新闻周刊(2021年26期)</a><span class="txt">2021-07-27</span></div></dd><dd><a class="txt_title" href="/page/2020/0420/7937890.shtml" target="_blank" title="湖北省新冠肺炎疫情数据表(2.26-3.25)">湖北省新冠肺炎疫情数据表(2.26-3.25)</a><div class="rsorc"><a href="/bk/dyshx/20203.html" class="ly" title="党员生活·下(2020年3期)">党员生活·下(2020年3期)</a><span class="txt">2020-04-20</span></div></dd><dd><a class="txt_title" href="/page/2020/0417/6575724.shtml" target="_blank" title="湖北省新冠肺炎疫情数据表">湖北省新冠肺炎疫情数据表</a><div class="rsorc"><a href="/bk/dysh/20202.html" class="ly" title="党员生活(2020年2期)">党员生活(2020年2期)</a><span class="txt">2020-04-17</span></div></dd><dd><a class="txt_title" href="/page/2018/1206/15737738.shtml" target="_blank" title="基于列控工程数据表建立线路拓扑关系的研究">基于列控工程数据表建立线路拓扑关系的研究</a><div class="rsorc"><a href="/bk/tdtxxh/201810.html" class="ly" title="铁道通信信号(2018年10期)">铁道通信信号(2018年10期)</a><span class="txt">2018-12-06</span></div></dd><dd><a class="txt_title" href="/page/2017/0416/15312330.shtml" target="_blank" title="异构醇醚在超浓缩洗衣液中的应用探索">异构醇醚在超浓缩洗衣液中的应用探索</a><div class="rsorc"><a href="/bk/zgxdypgy/20172.html" class="ly" title="中国洗涤用品工业(2017年2期)">中国洗涤用品工业(2017年2期)</a><span class="txt">2017-04-16</span></div></dd><dd><a class="txt_title" href="/page/2016/1201/17689457.shtml" target="_blank" title="基于RI码计算的Word复制文档鉴别">基于RI码计算的Word复制文档鉴别</a><div class="rsorc"><a href="/bk/xxaqyj/20164.html" class="ly" title="信息安全研究(2016年4期)">信息安全研究(2016年4期)</a><span class="txt">2016-12-01</span></div></dd><dd><a class="txt_title" href="/page/2016/1123/18828847.shtml" target="_blank" title="overlay SDN实现异构兼容的关键技术">overlay SDN实现异构兼容的关键技术</a><div class="rsorc"><a href="/bk/dxkx/201611.html" class="ly" title="电信科学(2016年11期)">电信科学(2016年11期)</a><span class="txt">2016-11-23</span></div></dd><dd><a class="txt_title" href="/page/2016/0420/16982841.shtml" target="_blank" title="LTE异构网技术与组网研究">LTE异构网技术与组网研究</a><div class="rsorc"><a href="/bk/txdyjs/20166.html" class="ly" title="通信电源技术(2016年6期)">通信电源技术(2016年6期)</a><span class="txt">2016-04-20</span></div></dd></div> </div><div class="other_pel mt80"> <p class="fl"><a href="/bk/dnydx/20131.html" target="_blank"><img src="https://cimg.fx361.com/images/2023/0324/d3ac49db7eebd3655297888b4b76dd38ca653774.webp" alt=""></a><span class="p1"><a href="/bk/dnydx/" target="_blank">电脑与电信</a></span><span class="p2"><a href="/bk/dnydx/20131.html" target="_blank">2013年1期</a></span></p> <dl class="fl"><dt>电脑与电信的其它文章</dt><dd><a href="/page/2013/0806/19379923.shtml" title="视频统计与分析技术的应用研究">视频统计与分析技术的应用研究</a></dd><dd><a href="/page/2013/0806/19380082.shtml" title="谈谈电脑主板的维修方法">谈谈电脑主板的维修方法</a></dd><dd><a href="/page/2013/0806/19379939.shtml" title="移动办公系统在物业管理企业的应用">移动办公系统在物业管理企业的应用</a></dd><dd><a href="/page/2013/0806/19379908.shtml" title="基于G SM的空调远程控制系统">基于G SM的空调远程控制系统</a></dd><dd><a href="/page/2013/0806/19379894.shtml" title="NS2条件网络性能分析实践">NS2条件网络性能分析实践</a></dd><dd><a href="/page/2013/0806/19379858.shtml" title="Balihoo:执区域营销自动化之牛耳">Balihoo:执区域营销自动化之牛耳</a></dd></dl> </div></div> </div> </div> <div class="sidebarR"> <!-- tab选项卡 --> <div class="tab01 mb20"><div class="tabArrow"></div><div class="tabItem"><div class="tabTit"><a href="#">杂志排行</a></div> <div class="tabCont"><ol><li><p class="row01"><span class="topNum">1</span><a href="/bk/rsybngtgz/20243.html" class="row01a">《人生与伴侣·共同关注》</a><span class="row01_fr"><a href="/bk/rsybngtgz/20243.html">2024年3期</a></span></p></li><li><p class="row01"><span class="topNum">2</span><a href="/bk/huahui/20248.html" class="row01a">《花卉》</a><span class="row01_fr"><a href="/bk/huahui/20248.html">2024年8期</a></span></p></li><li><p class="row01"><span class="topNum">3</span><a href="/bk/xdjjxx/20245.html" class="row01a">《现代经济信息》</a><span class="row01_fr"><a href="/bk/xdjjxx/20245.html">2024年5期</a></span></p></li><li><p class="row01"><span class="topNum">4</span><a href="/bk/sjrdnyxx/20243.html" class="row01a">《世界热带农业信息》</a><span class="row01_fr"><a href="/bk/sjrdnyxx/20243.html">2024年3期</a></span></p></li><li><p class="row01"><span class="topNum">5</span><a href="/bk/jtyx/20242.html" class="row01a">《家庭医学》</a><span class="row01_fr"><a href="/bk/jtyx/20242.html">2024年2期</a></span></p></li><li><p class="row01"><span class="topNum">6</span><a href="/bk/zgzyyxdycjy/202410.html" class="row01a">《中国中医药现代远程教育》</a><span class="row01_fr"><a href="/bk/zgzyyxdycjy/202410.html">2024年10期</a></span></p></li><li><p class="row01"><span class="topNum">7</span><a href="/bk/cxcyllyjysj/20245.html" class="row01a">《创新创业理论研究与实践》</a><span class="row01_fr"><a href="/bk/cxcyllyjysj/20245.html">2024年5期</a></span></p></li><li><p class="row01"><span class="topNum">8</span><a href="/bk/jsnykx/20247.html" class="row01a">《江苏农业科学》</a><span class="row01_fr"><a href="/bk/jsnykx/20247.html">2024年7期</a></span></p></li><li><p class="row01"><span class="topNum">9</span><a href="/bk/jlyx/20243.html" class="row01a">《吉林医学》</a><span class="row01_fr"><a href="/bk/jlyx/20243.html">2024年3期</a></span></p></li><li><p class="row01"><span class="topNum">10</span><a href="/bk/dqjsyjj/20243.html" class="row01a">《电气技术与经济》</a><span class="row01_fr"><a href="/bk/dqjsyjj/20243.html">2024年3期</a></span></p></li></ol> </div></div> </div> </div> <div class="clr"></div> </div> </div> <!--div class="advertisement"> </div--> <div class="footer"> <p><a href="/aboutus/index.html">关于参考网</a></p> </div> <script> if ('serviceWorker' in navigator) { window.onload = function () { navigator.serviceWorker.register('/sw.js'); }; } </script> <script type="text/javascript" src="https://s1.pstatp.com/cdn/expire-1-M/jquery/3.4.0/jquery.min.js"></script> <script type="text/javascript" src="https://s1.pstatp.com/cdn/expire-1-M/sticky-kit/1.1.3/sticky-kit.min.js"></script> <script type="text/javascript"> document.write('<script src="https://js.fx361.com/index.js"><\/script>'); </script> </body> </html>