本发明专利技术涉及一种分布式中间件与数据库的数据交互方法,属于分布式系统中间件技术领域。其中分布式中间件由请求监听模块、请求接收模块、结果发送模块、数据缓存模块和数据访问模块组成,其特征在于数据缓存模块分别和请求接收模块、结果发送模块及数据访问模块相连接;请求监听模块和请求接收模块相连接;结果发送模块和请求监听模块分别通过TCP/IP通信协议与应用程序相连接,以实现信息通信目的;数据访问模块通过ODBC技术和数据库相连接,以实现其和数据库的信息传送。本发明专利技术方法提出了一种可复用、易解析、高效性、以及兼容性及扩展性较好的一种分布式中间件与数据库的高效数据交换方法。
【技术实现步骤摘要】
本专利技术涉及一种分布式中间件与数据库的 交互方法,属于分布式系统中间件fe^领域。
技术介绍
随着分布式计算系统的发豚中间fm术应运而生。中间件是在分布式系统环境中,实5I^S 互联、资源共享的一类独立的系统软件劍艮务程序。中间件已经成为分布式系统的关键性基础软 件,有了中间件以后,就可以更方便的开发、运行和管理分布式应用系统。在传统的分布式系统中中间件与 库^]£大都存在以下不足1. 不可复用目前很多的系统环境由多个开发商,的产品组成其中的中间件产品只针对某H^定数据库 以^Zffl禾骄进行设沐当产品之间产生差异,用,需求之间的差异以及系统框架改变后中间 件则无法启用。2. 微信息编码解码复杂传统中间件与应用辦之间的信息〗输以字符流(二进制数据)形式进行,在程序设计前期需 要定制详尽的信息编码与解析方式,这样大大减缓了系统的处理能力,在解码过程中易产生错误, 同时也不便于进行^lf信息的错误检査。郑州轻工业学院^m, 2008年第23期,名称为《基于 1的异构数据库中间# 开究》公开了一种现有技术即为此列。3. 数据请求冲突分布式系统中当应用fiia量较多或fM^求的数据更新较多较快时,易造成数据冲突和网络 堵塞,极易导致系縦t瑰缓舰机,成为齡系统性能的臓,同样,大量的娜库请求会产生 数据库请求的,。《微计^m^用》,2008年第09期,名称为《可复用可动态加载,据库中间 件的设计》公开了一种现有技术即为此列。ODBC (Open Database Connectivity,开放l^库互连)^是微软公司开柳艮务结构(WOSA, Windows Open Services Architecture)中有关数据库的一个组成部分,它M5l了一组规范,并提 供了一组对数据库访问的标准API (应用,编程接口)。 一个基于ODBC的应用禾辦对数据库的操 作不繊顿隨,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动辦完 成。也就是说,不论是FoxPro、 Access, MYSQL还是Oracle ,库,均可用ODBC API进行访问。 由此可见,ODBC的最大优点是能以统一的方式处a0f有的数据库。该技术的应用增强本专利技术的可 复用性。本专利技术使用了目前Internet环境中较为流行肌技术,降低传输信息编码解码的复杂度,增 强了系统的复用性。XMLS^m平台的,繊于内容的M,是当前处理结构化数据信息的有力 工具。扩展标记语言XML是一种简单的娜存fii吾言,使用一系列简单的标记描述翻,而这些标 记可以用方便的方式^和解析,虽然XML占用的空间比二进制数据要占用更多的空间,但XML 极其简单易于掌握和使用。XML的简单使其易于在ft^应用禾Sm中读写数据,这使XML很快成为数 据交换的唯一公共语言,就意,禾S^可以更容易的与Windows、 Mac 0S, Linux以及其他平台下 产生的信息结合,然后可以很容易加载肌数据至诉辨中并解析,并以XML格式输出结果。使用Cfr泛型技术组建和控制数据库访问的线程,泛型最常见的用途是创建集合类,本技术使 用了Dictionary〈(0f〈(TKey, TValue》》泛型类,Dictionary〈(0f〈(TKey, TValue》》泛型类 提供了从一组键到一组值的鹏寸。字典中的旨添加项都由一个,其相关联的键组威ffi3i旨检索值的速度是非常快的,,于0(D,这是因为Dictionary〈(Of〈(TKey, TValue〉)〉)类是作 为一个哈希表来实现的。对于本专利技术类似仓犍了一个小型内存数据库通过获得优先级别方式缓解 请求的冲突。
技术实现思路
本专利技术针对目前分布式系统中中间辨妆术的不足采用XML解析M Cff泛型^Sl ODBC (Open Database Connectivity,开皿据库互连)技术等多项先进技术,提出一种可复用、易解析、高效 性、以及兼容性及扩展性,的一种分布式中间件与数据库的高效数据交换方法。本专利技术的技术方案如下-一种分布式中间件,由请求监听模块、请求接收模块、结果錢模块、数据缓存模块和数据访 问模i杉且成,其特征在于 缓存模块分另,请求接收模块、结果发送模:^1 访问模块相连 接;请求监听模块和请求接收模块相连接;结果錢模块和请求监听模块分别舰TCP/IP通信协 议与应用,相连接,以实现信息通信目的;数据访问模块通过ODBC技斜嫩据库相连接,以实 现其和数据库的信息传送。如上所述的一种分布式中间件与数据库的,交互方法,步骤如下1) 开始2) 皿、接收请求中间件分客户端和服务端两部分,在服务端指定端口创建客户端,数据库操作请求监听程 序,针对接收到客户端请求信息创建其对应的M处翻艮务,网络连接状态的判定为系统Jli共基础 数据通讯支持,数据处劉艮务对皿的请求信息依据数据库请求编码与解析技术进行信息的校正, 如接收的请求信息有误会回执客户端错误信息提示,请求信息准确完整则将解析信息^S数据库信 息处劉艮务;3) 信息通讯信息通讯是以Cft异步通信fe7^乍为基础,■ Ctt异步通信技术可以避免网络通信中的阻塞现象,中间件客户端在首次运行时会向服务端錢粒异步通信的连銜青求,连^i青求内容包括客户 端IP地址以皿讯信息接收和皿端口 ,月艮务端解析接收的连^i青求信息M套接字与客户端建 立信息通讯链接;4) 数据库请,码与解析在客户端中定义字符串对象;将 库请求信息以可扩展标记语言XML形式填充至该字符串, 依据可扩展杏^B语言XML的语法规则, 库请求信息以如下的格式进行编码 <CMD METH0D="数据库i青求类型(SELECT、 DELETE、 UPDATE)"〉 数据库请求信息内容(结构化査询语言) </CMD>此方式改变以往以帧格式进,彌信信息编解码,简化了通讯信息内容的帝啶的錢度,4顿 XML可扩展标记语言駄中的XralNode类方法读取节点内容,这样大娥短编解離息时间,对接 收的信息进行相应语法规则的M即能判定接收信息请求的完整性;5) 数据库请求信息处理接收客户端皿的完 据库请求,将接收的完整 库请求信息依据请求时间的先后暂存入 繊缓存中,服务端舰ODBC开放数据库互连技术创建数据库麟,^f昔助ODBC开微据库互连 技术中提供的OdbcCommand类ExecuteNonQuery方法,以ODBC开放ic^库互连技术为基础,使 用ExecuteNonQuery方法来执行多个数据库操作i夠并返回数据库请求信息处理结果,这样大大提高了本服务端的数据库请求信息的处理能力,根据 缓存中的 库请求优先级别进行数据库 相应操作,避免了多请求访问数据库造成的 库访问效率的下降; 6)请求结果皿将数据库请求结果以亂方式进行编码,〈CMDTABLE^"表名"METH0D="请求类型" >执行状 态〈/CMD〉为请求结果信息开始标志,如果数据请求操作正常则以〈RES TABLE="表名"〉结果内容 〈/RES〉形式进行填充,通过创建与客户端的套接字链接发超客户端应用禾歸。上面所述的〈CMD〉是^"可扩展^iB语言XML语法规则的文档元素(document element),它 是该字符串中最外本文档来自技高网...
【技术保护点】
一种分布式中间件,由请求监听模块、请求接收模块、结果发送模块、数据缓存模块和数据访问模块组成,其特征在于数据缓存模块分别和请求接收模块、结果发送模块及数据访问模块相连接;请求监听模块和请求接收模块相连接;结果发送模块和请求监听模块分别通过TCP/IP通信协议与应用程序相连接,以实现信息通信目的;数据访问模块通过ODBC技术和数据库相连接,以实现其和数据库的信息传送。
【技术特征摘要】
【专利技术属性】
技术研发人员:于海忠,齐滨,潘恒,李森,刘强,李攀,李克,孟帅,赵冰,王博,
申请(专利权)人:莱芜钢铁集团有限公司,
类型:发明
国别省市:37[中国|山东]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。