[发明专利]基于统一接口的内存数据库远程并发访问和界面管理方法无效
申请号: | 200710025309.6 | 申请日: | 2007-07-20 |
公开(公告)号: | CN101119363A | 公开(公告)日: | 2008-02-06 |
发明(设计)人: | 朱春光;张晓乐 | 申请(专利权)人: | 南京联创科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/44 |
代理公司: | 南京天翼专利代理有限责任公司 | 代理人: | 汤志武;朱戈胜 |
地址: | 210013江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 统一 接口 内存 数据库 远程 并发 访问 界面 管理 方法 | ||
技术领域
本发明属于电信BOSS系统中资料管理领域,特别是内存数据库的访问和管理。
背景技术
随着电信运营商业务的不断发展,在其运营支撑系统中,需要管理的资料呈“爆炸式”增长。资料信息的纷繁、庞大、难以管理、使用、扩展成为困扰开发维护人员的棘手问题。基于上述现状,联创公司研发了内存数据库来管理资料,有效地解决部分问题。
然而新的问题又随之出现了,在使用内存数据库的过程中,我们发现,内存数据库没有一个统一的管理界面,资料的管理维护手段单一而复杂;那些需要访问内存数据库的应用必须运行在内存数据库同一台服务器上面,不适应分布式的计算环境,也不能做到“均衡负载”,浪费了很多系统资源。
目前主流数据库产品之一的Oracle的附带产品SQL*NET,SQL*NET是Oracle公司的远程数据访问报文式软件,用于实现客户机-服务器、服务器-服务器之间的通信。SQL*NET TCP/IP在网络通讯协议层中,对应ISO/OSI模式的第5层和第6层(即会话层和表示层),所以它运行还需要第三方的TCP/IP软件的支持。
受此启发,我们联想到能不能利用类似的技术来解决内存数据库所面对的矛盾和挑战。
针对上述情况,联创在新版综合营帐系统中,在改进了内存数据库的同时,研发了提供远程访问的组件MEMDB*NET和前台管理界面MEMDB*ADMIN。用于解决分布式环境下远程数据访问和内存数据库管理维护的问题。
发明内容
本发明目的是:针对现有技术中,内存数据库不能适应现有应用分布式计算的特点,不支持远程数据访问,不支持并发访问;没有一个友好的管理界面,直观而高效地管理和存取数据。开发出一个统一的远程访问接口,支持大批量并发的调用,在此基础上开发一个WEB方式的管理界面,便于用户直观地观察和管理内存数据库。
本发明技术方案是:一种基于统一接口的内存数据库远程并发访问和界面管理方法,采用SOCKET通信方法设置一套完整的报文式接口(MEMDB*NET协议),用户根据协议规范,正确地组织报文用以存取内存数据,从而进行远程访问;
具体步骤是:基于TCP/IP的报文式网络应用层协议MEMDB*NET,根据该协议组织报文,通过MEMDB*NET SERVICE进程和内存数据库进行间接的通讯,存取和管理内存数据库;在此基础上提供的MEMDB*ADMIN以WEB界面的方式管理内存数据库:
编写MEMDB*NET协议组件的方法是:
底层使用C++语言和socket技术,使用了多线程并发的方法,保证了统一的对外接口;
编写MEMDB*ADMIN界面组件的方法是:
使用了TAPESTRY WEB框架,这个组件被封装在一个WAR包里面,通过发布和配置,使用本组件了。
远程访问的组件MEMDB*NET和前台管理界面MEMDB*ADMIN提供了基于TCP/IP的报文式网络应用层协议MEMDB*NET,用户只要根据协议组织报文,就可以通过MEMDB*NET SERVICE进程和内存数据库进行间接地通讯,存取和管理内存数据库。在此基础上研发的MEMDB*ADMIN以WEB界面的方式,提供了友好的管理界面,增强系统的可视化程度。
具体而言:
1.解决远程访问的问题
内存数据库只有一个实例,而应用可能分布在其它服务器上面,因此我们利用SOCKET通信技术开发了一套完整的报文式接口(MEMDB*NET协议),用户根据协议规范,正确地组织报文就可以存取内存数据了,解决了远程访问的问题。
支持多种主流计算机语言来调用本组件
Java调用
本组件是轻量级的组件,在你的java应用的classpath中加入jar包memdb.jar就可以了。
然后引入其中的类,就可以访问内存数据库了
代码片断1:
TCPIPConnection connection=new TCPIPConnection(ipAddress,port);
connection.setReceiveTimeout(20*1000);
session=new Session(connection);
systemId=getParam(systemId);
password=getParam(password);
request.setSystemId(systemId);
request.setPassword(password);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京联创科技股份有限公司,未经南京联创科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710025309.6/2.html,转载请声明来源钻瓜专利网。