[发明专利]一种基于OCI 9的数据库访问中间件有效
| 申请号: | 200910216546.X | 申请日: | 2009-12-04 |
| 公开(公告)号: | CN101814077A | 公开(公告)日: | 2010-08-25 |
| 发明(设计)人: | 胡术;刘建波;吴志红;季玉龙;刘舒 | 申请(专利权)人: | 四川川大智胜软件股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 成都信博专利代理有限责任公司 51200 | 代理人: | 卓仲阳;舒启龙 |
| 地址: | 610045 四川*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了一种基于OCI 9的数据库访问中间件,涉及计算机应用领域尤其可应用于分布式系统中访问数据库的实现。通过开发一个基于OCI技术,结合网络技术和多线程技术的运行于数据库服务器上的中间件,包括中间件运行端、客户端和一个使用客户端的剩余记录收集端构成;运行端部署于数据库服务器上,客户端以动态库或静态库的形式提供给需要访问数据库的进程使用,剩余记录收集端以进程的形式运行于每个需要访问数据库的主机中。可以使系统中除服务器外的主机访问数据库不基于OCI接口,不会出现无法控制的超长时间阻塞;克服了访问ORACLE数据库时发生异常,客户端长时间阻塞以及数据丢失或解决无OCI实现的操作系统平台访问数据库的问题。 | ||
| 搜索关键词: | 一种 基于 oci 数据库 访问 中间件 | ||
【主权项】:
一种基于OCI 9的数据库访问中间件,运行于空管系统(ATC)的UNIX系统中,包括中间件运行端(MDB)、客户端(DBC)和一个使用客户端的剩余记录收集端(DUMP)构成,运行端(MDB)部署于数据库服务器上,客户端(DBC)以动态库或静态库的形式提供给需要访问数据库的进程使用,剩余记录收集端(DUMP)以进程的形式运行于每个需要访问数据库的主机中,其特征在于:(1)所述中间件运行端(MDB)运行于数据库服务器上,使用OCI 9访问数据库,其运行时的侦听端口作为命令行参数传入,随侦听端口不同可以运行为几个不同的实例,运行端(MDB)设计为每一个客户端(DBC)的连接创建一个线程,该线程在接受一个客户端连接时产生一个新的文件描述符时被创建,每个创建的线程里完成使用这个文件描述符对SQL请求进行远端请求的接收和结果回发;具体步骤如下:线程开始,进入Select函数,某客户端连接的FD请求是否到达 如果No,回到Select函数阶段,如果Yes,调用OCI接口执行请求,使用该FD将结果回发,结束或者获取下一个读集触发的FD,重新回到客户端连接的FD请求是否到达阶段;(2)所述的客户端(DBC)使用TCP协议与运行端(MDB)通信,作为TCP的客户端,客户端(DBC)使用了支持并发读写的嵌入式数据库SQLite;客户端(DBC),由系统中除数据库以外的主机的进程使用,每个客户端(DBC)连接处于不同的侦听端口的运行端(MDB),客户端(DBC)提供接口进行SQL语句执行,对于查询语句提供查询信息的返回和再一次提取,直到查询完毕接口返回错误码;当一个新的查询开始时,前一个查询自动被终止;具体步骤如下:函数开始,语句分析,数据库是否正常 如果是Yes,开始执行,执行成功,返回结果;如果回答No则进入Select语句(即查询语句)判定,如果Yes,执行失败;如果No,写入本地SQLite,执行失败未来执行,则返回结果;(3)所述的剩余记录收集端(DUMP)是一个使用客户端(DBC)的进程,其内部使用SQLite数据库,DUMP间隔较长时间(可配置)定时检查SQLite数据库中是否有需要写入数据库的数据,同时检查与运行端(MDB)的通信是否正常;当两个条件都满足时,收集端将(DUMP)SQLite中的记录取出,送入运行端(MDB)执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川川大智胜软件股份有限公司,未经四川川大智胜软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910216546.X/,转载请声明来源钻瓜专利网。





