[发明专利]神通数据库的包机制的实现方法有效

专利信息
申请号: 201110033362.7 申请日: 2011-01-30
公开(公告)号: CN102054050A 公开(公告)日: 2011-05-11
发明(设计)人: 谢卫平;何清法;顾云苏;冯柯;蒋志勇;周丽霞;尚博;孙鹏;胡秀龙;彭贺 申请(专利权)人: 天津神舟通用数据技术有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 天津盛理知识产权代理有限公司 12209 代理人: 王来佳
地址: 300384 天津市南开区华苑产业*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 神通 数据库 机制 实现 方法
【说明书】:

技术领域

发明属于数据库应用技术领域,尤其是一种神通数据库的包机制的实现方法。

背景技术

Oracle数据库中的包是使用包名进行分组的PL/SQL语句块的集合,它含有存储过程、函数和全局变量等。使用包来绑定存储过程和函数具有如下优点:(1)良好设计的包是对象(如存储过程、函数、全局变量等)的逻辑分组,当第一次调用包时,所有的代码被加载到内存,即:第一次调用包的成本虽然较高,但是之后的调用处理性能会比较高,因此,在应用程序中使用包,能够比较经济地反复使用存储过程和函数;(2)使用包可以收集类似的存储过程和函数,并赋予公共的上下文,实现对它们的封装;(3)在包中可以创建私有的存储过程和函数,只能被相同包中的其他存储过程和函数调用,这样实现了信息隐藏。综上所述,Oracle包机制在数据库后台和网络传输上不仅提高了执行效率,而且信息隐藏的特点提高了数据库的安全性。但是,Oracle包机制的实现细节是不公开的。

目前,神通数据库虽然也开发了自身的过程式SQL语言,但是和Oracle这样成熟的数据库相比,在功能完备性和执行效率方面存在一定差距,尤其是不支持包功能,使得基于Oracle开发的应用程序不能与神通数据库进行无缝对接,移植的工作量比较大;另外,基于神通数据库的复杂应用逻辑,仅仅使用存储过程和函数的效率没有使用包机制的效率高。

发明内容

本发明的目的在于克服现有技术的不足,提供一种全面兼容Orac le PL/SQLPackage的神通数据库的包机制的实现方法,解决了神通数据库与基于Oracle开发的应用程序的无缝对接功能,提高了神通数据库的执行效率。

本发明解决现有的技术问题是采取以下技术方案实现的:

一种神通数据库的包机制的实现方法,包括包的创建方法、包的执行方法、包的编译方法和包的删除方法,通过包的创建、包的执行、包的编译和包的删除处理对包的系统表、包管理器和包实例进行管理,从而在神通数据库上实现包机制的功能。

而且,所述包的系统表包括关系系统表、源码系统表、依赖关系系统表、包变量系统表和包子程序系统表;该关系系统表存放包与表关系的唯一标识号、名称、关系类型和所属模式信息;该源码系统表按行存放包头和包体的源码,该源码系统表得字段含有包的唯一标识号、名称、包头和包体的区别标识、源码的行号和每行源码;该依赖关系系统表存放依赖与被依赖对象的唯一标识;该包变量系统表存放包的唯一标识号、全局变量名称、包头和包体的变量的区别标识;该包子程序系统表存放包的子程序的唯一标识号、参数的数据类型、参数的输入和输出类型、参数名称、存储过程和函数的区别标识、子程序公有和私有区别标识、对应包的唯一标识号。

而且,所述的包管理器由多个包项目组成,每个包项目包括包的唯一标识号、包头和包体是否失效、包被置为有效时的时间戳、包头和包体的语法树、以及包中存储过程和函数的语法树,在包管理器上拥有一个读写锁。

而且,所述的包实例是在用户会话过程中建立的会话级的哈希表,该哈希表用于存放被使用的包的信息,该包实例所对应的包包括包的唯一标识号、包头声明的公有全局变量的拷贝、包体声明的私有全局变量的拷贝、以及包被置为有效时的时间戳的拷贝。

而且,所述的包的创建方法包括包头的创建方法和包体的创建方法,其中,包头的创建方法包括如下步骤:

(1)语法解析模块对包头创建语句的解析;

(2)包头在关系系统表中的存储;

(3)包头源码在源码系统表中的存储;

(4)过程语言模块对包头声明部分的编译;

(5)包头对象在包变量系统表、包子程序系统表中的存储;

(6)包头依赖关系在依赖关系系统表中的存储;

(7)包管理器中新增包项目;

所述的包体的创建方法包括如下步骤:

(1)语法解析模块对包体创建语句的解析;

(2)检查包头是否编译;

(3)包体在关系系统表和包体源码在源码系统表中的存储;

(4)过程语言模块对包体的解析;

(5)包体对象在包变量系统表、包子程序系统表中的存储;

(6)包体对包头的依赖性检查;

(7)在包管理器中对应包项目增加包体信息。

而且,所述的包的执行方法包括以下步骤:

(1)确定包和子程序的唯一标识号;

(2)获取包项目;

(3)获取包实例;

(4)调用包中的子程序的语法树;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津神舟通用数据技术有限公司,未经天津神舟通用数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110033362.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top