一种基于jdbc服务-长报文的数据共享服务平台基础支撑系统及方法

文档序号:9931350阅读:1713来源:国知局
一种基于jdbc服务-长报文的数据共享服务平台基础支撑系统及方法
【技术领域】
[0001]本发明属于计算机数据维护技术领域,具体涉及一种数据共享服务平台基础支撑系统数据访问中间件及方法。
【背景技术】
[0002]现有框架下因保密及安全等原因,各节点数据库之间的数据不能进行共享和同步。因此需要搭建数据服务共享平台,为客户端和数据库建立稳定可靠的数据传输通道,并能够保证客户端对数据的透明访问;为多种数据库的数据访问提供统一接口,提高易用性。
[0003]本发明针对目前现状,提出一种数据服务共享平台,它提供一个用于通过长报文来远程访问JDBC( Java Data Base Connectivity,java数据库连接)数据源的client-server (客户端-服务端)模型,客户端接口兼容JDBC接口,可以将对数据库的访问请求通过长报文传递给CJDBC服务器端,服务器把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器。可以解决在特定环境下的数据共享问题,同时服务器端进行数据库访问的权限控制,保证数据访问的安全性。

【发明内容】

[0004]本发明的技术解决问题:克服现有技术的不足,提供一种在特定环境下的数据库远程访问方法,同时在服务器端进行数据库访问的权限控制,使编程工作更高效、更方便,并保证数据访问的安全性。
[0005]本发明的技术解决方案:一种基于JDBC服务-长报文的数据共享服务平台基础支撑系统,包括:CJDBC客户端模块、长报文处理模块、CJDBC服务端模块;
[0006]所述CJDBC客户端模块包括:JDBC驱动接口模块、CJDBC客户端通信模块、CJDBC客户端异常处理模块;JDBC驱动模块提供访问数据库的JDBC驱动接口,是一个JDBC type 3驱动器,并将需用于传输数据的接口进行序列化,使用接口执行SQL的DDL、DML语句,返回执行结果,用户通过该接口模块发送数据库访问请求,并通过CJDBC客户端通信模块将数据库访问请求发送至长报文处理模块;CJDBC客户端通信模块使用长报文进行通信,调用长报文接口进行客户端之与服务端之间的数据传输,用户访问数据库请求通过SOCKET发送给长报文处理模块,并接收来自长报文处理模块返回的数据库访问结果,通信过程中产生的网络连接异常及SQL异常时调用CJDBC客户端异常处理模块进行处理;CJDBC客户端异常处理模块提供网络连接异常和SQL异常处理,当CJDBC客户端通信网络出现连接故障时抛出网络连接异常,当用户访问数据库请求操作数据库错误时抛出SQL异常;
[0007]所述长报文处理模块又包括:长报文SOCKET通信模块、长报文客户端通信模块、长报文数据加密模块;长报文SOCKET通信模块通过CJDBC客户端通信模块接收用户程序发送来的数据库访问请求,转给长报文客户端通信模块,并使用SOCKET服务将从长报文客户端通信模块接收到的数据库访问结果通过CJDBC客户端通信模块返回给用户;长报文客户端通信模块将收到的用户请求根据长报文配置通过长报文服务发送到CJDBC服务端模块,并接收CJDBC服务端模块返回的数据库访问结果;长报文数据加密模块使用已有的加密套件对长报文客户端通信模块的长报文传输信息进行加密和解密,保证数据传输的安全性,在数据发送端使用现有加密套件对通过长报文发送的数据进行加密,并在数据接收端解析加密后的传输信息;
[0008]所述CJDBC服务端模块又包括:CJDBC服务端通信模块、访问权限控制模块、数据库访问模块、并发处理模块、服务端异常处理模块、C JDBC服务端数据加密模块;CJDBC服务端通信模块封装长报文动态链接库,编写回调函数处理通信内容,使用长报文进行数据传输,接收长报文客户端发送的用户请求,返回数据库访问结果;访问权限控制模块根据来自长报文客户端的通信信息在服务器端对所有访问用户提供统一的访问权限控制,在连接时,根据客户端的角色信息,赋予相应的数据库访问权限,并通过CJDBC服务端通信模块将权限匹配结果返回;获得相应访问权限的用户访问通过数据库访问模块调用本地驱动进行数据库访问,使用配置文件配置数据库访问信息,配置文件包括配置长报文服务器IP、数据库IP信息;并发处理模块用于处理并发连接,处理多用户连接、多用户并发访问数据库;异常处理模块处理网络连接异常以及SQL异常,SQL异常产生于服务端,需将SQL异常再转发到客户端,提高客户端易用性;CJDBC服务端数据加密模块使用已有的加密套件对传输信息进行加密和解密,保证数据传输的安全性,将发送至CJDBC服务端通信模块的传输信息进行解密,并对发送至长报文客户端通信模块的信息进行加密。
[0009]一种基于JDBC服务-长报文的数据共享服务平台基础支撑方法,实现步骤如下:
[0010](I)用户通过CJDBC客户端模块发送数据库访问请求并获取返回的执行结果,该模块提供的JDBC驱动接口将需用于传输数据的接口进行序列化,执行SQL的DDL、DML语句,并通过CJDBC客户端通信模块将数据库访问请求发送至长报文处理模块;
[0011](2)CJDBC客户端模块通过TCP/IP网络使用SOCKET服务将用户请求发送至长报文处理模块,该模块通过本节点长报文服务将此请求发送至另一节点的长报文处理模块;
[0012](3)长报文处理模块将此数据访问请求传到本节点CJDBC服务端,CJDBC服务端使用本节点数据库访问模块请求访问数据库并获取返回的数据结构,该数据结构按原来路径返回到CJDBC客户端,至此一个通信过程完成;
[0013](4)CJDBC客户端和长报文处理模块在一个局域网内,通过SOCKET通信,长报文处理模块、CJDBC服务端、长报文服务端三个模块组成一个通信节点,通信节点之间通过长报文专用网络进行通信,实现节点间的对等访问;
[0014](5)数据加密模块使用加密套件对传输信息进行加密和解密,在长报文处理模块和CJDBC服务端模块的数据发送端、接收端对通过长报文服务发送的数据进行加解密和安全认证,保证了数据传输安全性;
[0015](6)CJDBC客户端节点在通信过程中产生的网络连接异常及SQL异常时调用CJDBC客户端异常处理模块进行处理,CJDBC服务端节点在通信及访问数据库过程中产生的网络连接异常以及SQL异常由CJDBC服务端异常处理模块进行处理,并将异常信息转发到CJDBC客户端节点,返回给用户,提高客户端易用性;
[0016](7)当遇到多用户并发访问时,CJDBC服务端模块处理多用户连接、多用户并发访问数据库的情况。每当用户给CJDBC客户端发送一条访问请求,CJDBC客户端开启一个新的处理线程,直至获得服务端返回的远程数据库访问数据,线程结束。每当CJDBC服务端接收至IJcjdbc客户端发送的一条访问请求,CjDBC服务端开启一个新的处理线程,直至获得数据库访问数据,并返回给CJDBC客户端,线程结束。
[0017]本发明与现有技术相比的优点在于:
[0018](I)克服现有技术的不足,提供一种在特定环境下的数据库远程访问方法,搭建了基于长报文通信的JDBC type 3驱动框架,实现常用的JDBC驱动接口,完全兼容现有的JDBC驱动,提供统一的数据访问接口,避免不同数据库操作的差异;
[0019](2)本发明实现了不同网络通信方式切换、管理,一次数据库访问通过多次TCP/IP、长报文通信转换,服务于处于多种不同网络环境的CJDBC客户端与长报文服务器、CJDBC服务端;
[0020](3)本发明在服务器端实现了数据库访问的权限控制,为不同权限的用户请求提供了相对应的数据库访问权限,保证了数据访问的安全性;
[0021](4)本发明提供了完善的数据库异常及网络连接异常抛出机制,建立SQL异常的传输机制,由服务端直接访问数据库,其所产生的SQL异常发生在服务端,将此SQL异常传回到客户端;
[0022](5)提供了快速的多用户连接,稳定的处理并发访问,建立了处理多用户连接,多用户并发访问数据库的并发访问机制,解决并发访问冲突等问题。使编程工作更高效、更方便,并保证数据访问的安全性;
[0023](6)提供了数据加解密机制,使用加密套件对传输信息进行加密和解密,对通过长报文发送的数据进行加密,在客服端与CJDBC服务端、数据库服务端与CJDBC服务端进行加密和安全认证,保证了数据传输安全性;
[0024](7)提供了创新的网络节点拓扑,每个通信节点包含长报文服务端、CJDBC服务端、CJDBC客户端应用以及数据库服务。CJDBC客户端应用或数据库服务通过普通网络连接与CJDBC服务端交互,CJDBC服务端与长报文服务端通过长报文进行通信,各个通信节点之间通过长报文进行通信,实现了节点间的对等访问。
【附图说明】
[0025]图1为本发明系统各模块的组成框图;
[0026]图2为本发明方法的实现流程图;
[0027]图3为本发明中客户端访问数据库服务通信流程图;
[0028]图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1