存储过程自适应系统及方法

文档序号:6472249阅读:125来源:国知局
专利名称:存储过程自适应系统及方法
技术领域
本发明涉及一种存储过程自适应系统及方法。
背景技术
管理信息系统(MIS, Management Information System),是一个由人、计算机及其他 外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。目前,企业 的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。随着我国与世界信 息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效 益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。MIS系统通常用于系统决 策,例如,可以利用MIS系统找出目前迫切需要解决的问题,并将信息及时反馈给上层管理 人员,使他们了解当前工作发展的进展或不足。
然而所有的MIS系统都离不开大型的数据库支持,几乎所有的应用也都是面向数据库交 换进行的。通常在系统的实施及验收过程中,客户会提出一些变更请求,变更的请求多数需 要修改数据库及数据结构,由于调用存储过程需要对应的程序代码,若改变存储过程,则需 要改变相应的调用代码,这无疑会给程序开发人员带来很大的压力及负担,降低了工作效率

发明内容
鉴于以上内容,有必要提供一种存储过程自适应系统,包括数据库服务器,该数据库服 务器包括存储过程和数据字典,该数据字典中存储有所有存储过程的信息,该数据库服务 器还包括一个存储过程规则表,该存储过程规则表中存储有用户所定义的存储过程访问规则 ,所述数据库服务器还包括选择模块,用于选择所述数据字典中用户所需要的存储过程的 信息;保存模块,用于将所选择的用户所需要的存储过程的信息保存于数据链表中;所述选 择模块,还用于在所述存储过程规则表中选择一个当前所需要执行的存储过程所对应的存储 过程访问规则;获取模块,用于根据所选择的存储过程访问规则于所述数据链表中获取当前 所需要执行的存储过程的信息;及执行模块,用于执行所述存储过程并返回执行存储过程的 结果。
此外,还有必要提供一种存储过程自适应方法,该方法包括如下步骤在数据库服务器 中建立存储过程规则表,该存储过程规则表中存储有用户所定义的存储过程访问规则;在所
4述数据库服务器中的数据字典中选择用户所需要的存储过程的信息;将所选择的用户所需要 的存储过程的信息保存于所述数据库服务器中的数据链表中;在所述存储过程规则表中选择 一个当前所需要执行的存储过程所对应的存储过程访问规则;根据所选择的存储过程访问规 则于所述数据链表中获取当前所需要执行的存储过程的信息;及执行所述存储过程并返回执 行存储过程的结果。
相较于现有技术,所述存储过程自适应系统及方法,能够对修改的数据库进行自动适应 ,改变存储过程时,无需改变调用存储过程的代码,最大限度的减少代码的修改,降低了系 统开发项目的风险,提高了工作效率。


图1是本发明存储过程自适应系统较佳实施例的硬件架构图。
图2是图1中数据库服务器3的功能模块图。
图3是本发明存储过程自适应方法较佳实施例的作业流程图。
图4是存储过程规则表示意图。
具体实施例方式
如图1所示,是本发明存储过程自适应系统较佳实施例的硬件架构图。该系统包括客户 端计算机l、与该客户端计算机1通过网络2通信的数据库服务器3。其中,网络2可以包括本 技术领域内众所周知的任何网络,包括传输控制协议/网络协议(TCP/IP)网络(例如 内部网络,因特网)、局域网、广域网、光纤信道、令牌环等。所述数据库服务器3包括 数据库300、存储过程400及数据链表500。
所述数据库300包括数据字典301 。数据字典301是以数据表和视图为主要存在形式存在 的,是关于数据的信息的集合。该数据字典301存放有数据库所有的相关信息,例如数据 库300分配多少空间,当前使用了多少空间,用户的名字,用户及角色被授予的权限及存储 过程400的相关信息等,所述存储过程400的相关信息包括存储过程400的输入参数、输出 参数、存储过程400的名称等。
所述存储过程400是由编程人员编写的一段程序,该程序用于数据库300与客户端计算机 l的数据交互,对数据库300的每个数据操作都具有相应的存储过程400。例如若客户端计 算机1需要存储数据至数据库300中,则执行存储数据的存储过程400;若客户端计算机l需要 调用数据库300中的数据,则执行调用数据的存储过程400。所述存储过程400还包括一个参 数表(图中未示出),该参数表中存储有存储过程400的输入参数及输出参数。所述数据链 表500用于存储从数据字典301中获取的用户所需要用的存储过程400的所有信息,所述存储过程400的所有信息是以存储过程400的名称存储于该数据链表500中的。
如图2所示,是图1中数据库服务器3的功能模块图。所述数据库服务器3包括获取模块 10、选择模块12、保存模块14及执行模块16。本发明存储过程自适应系统在启动之前,需由 编程人员于数据库服务器3中建立存储过程规则表,如图4所示,该存储过程规则表的内容包 括存储过程400的工作类型、存储过程400的名称、存储过程400的索引值序号及存储过程 400的返回标记值。所述存储过程400的工作类型记载为工作类型的ID号,该工作类型的ID号 由编程人员自行定义,例如本实施例中将所述ID号定义为ID号为1表示工作类型为上料, ID号为2表示工作类型为存储员工编号。所述存储过程400的名称用于根据该名称获取数据链 表500中对应该名称的存储过程400的信息。所述存储过程400的索引值序号表示存储过程 400的输出值在存储过程400的参数表中的序号。所述存储过程400的返回标记值有两种情况 :"1"或者"0",若返回标记值为"1",表示所述存储过程400有输出值,若不需要输出 ,则返回标记值为"0"。例如如图4所示,存储员工编号的工作类型的ID号为2,索引值 序号为3,返回标记值为l,表示存储员工编号对应的存储过程400有输出值,且该输出值为 所述参数表中的第三个参数。
获取模块10用于获取数据库300中的数据字典301。
选择模块12用于选择所述数据字典301中用户所需要的所有存储过程400的信息。
保存模块14用于将所选择的用户所需要的所有存储过程400的信息以存储过程400的名称 命名保存于数据链表500中。
所述选择模块12还用于在所述存储过程规则表中选择一个当前需要执行的存储过程400 所对应的存储过程访问规则,例如若当前需要存储员工编号,如图4所示,所述选择模块 12用于在存储过程规则表中选择存储员工编号所对应的存储过程访问规则工作类型的ID号 为2,索引值序号为3,返回标记值为l。
所述获取模块10还用于根据所述规则表中的规则中的该存储过程400的名称于所述数据 链表500中査找该存储过程400名称,从而获取当前所需要执行的存储过程400在数据链表 500中的信息,本实施例中获取存储员工编号对应的存储过程400在数据链表500中的信息。
执行模块16用于执行当前需要执行的存储过程400,该执行模块16还用于返回执行所述 存储过程400的输出结果。若所述存储过程400执行完成后无输出值,则返回输出结果为" ok",若所述存储过程400执行完成后有输出值,则返回输出结果为该输出值。
如图3所示,是本发明存储过程自适应方法较佳实施例的作业流程图。
步骤S30,建立存储过程规则表,如图4所示,该存储过程规则表的内容包括存储过程400的工作类型、存储过程400的名称、存储过程400的索引值序号及存储过程400的返回标记 值。所述存储过程400的工作类型记载为工作类型的ID号,该工作类型的ID号由编程人员自 行定义,例如本实施例中将所述ID号定义为ID号为1表示工作类型为上料,ID号为2表示工 作类型为存储员工编号。所述存储过程400的名称用于根据该名称或取数据链表500对应该名 称的存储过程400的信息。所述存储过程400的索引值序号表示存储过程400的输出值在存储 过程400的参数表中的序号。所述存储过程400的返回标记值有两种情况"1"或者"0", 若返回标记值为"1",表示所述存储过程400有输出值,若不需要输出,则返回标记值为" 0"。例如如图4所示,存储员工编号的工作类型的ID号为2,索引值序号为3,返回标记值 为l,表示存储员工编号对应的存储过程400有输出值,且该输出值为所述参数表中的第三个 参数。
步骤S32,获取模块10获取数据库300中的数据字典301。
步骤S34,选择模块12于所述数据字典301中选择用户所需要的所有存储过程400的信息
步骤S36,保存模块14将所选择的用户所需要的所有存储过程400的信息以存储过程400 的名称命名保存于数据链表500中。
步骤S38,所述选择模块l2在所述存储过程规则表中选择一个当前需要执行的存储过程 400所对应的存储过程访问规则,例如若当前需要存储员工编号,如图4所示,所述选择模 块l2用于在存储过程规则表中选择存储员工编号所对应的存储过程访问规则工作类型的 ID号为2,索引值序号为3,返回标记值为l。
步骤S40,所述获取模块lO根据所述选择的存储过程访问规则对应的该存储过程400的名 称于所述数据链表500中査找该存储过程400名称,从而获取当前所需要执行的存储过程400 在数据链表500中的信息,本实施例中获取存储员工编号对应的存储过程400在数据链表500 中的信息。
步骤S42,执行模块16执行当前需要执行的存储过程400,本实施例中执行所述存储员工 编号对应的存储过程400。
步骤S44,执行模块16返回执行所述存储过程400的输出结果。若所述存储过程400执行 完成后无输出值,则返回输出结果为"ok",若所述存储过程400执行完成后有输出值,则 返回输出结果为该输出值。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳 实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方
7案进行修改或等同替换,而不脱离本发明技术方案的精神和范围.
权利要求
1.一种存储过程自适应系统,包括数据库服务器,该数据库服务器包括存储过程和数据字典,该数据字典中存储有所有存储过程的信息,其特征在于,该数据库服务器还包括一个存储过程规则表,该存储过程规则表中存储有用户所定义的存储过程访问规则,所述数据库服务器还包括选择模块,用于选择所述数据字典中用户所需要的存储过程的信息;保存模块,用于将所选择的用户所需要的存储过程的信息保存于数据链表中;所述选择模块,还用于在所述存储过程规则表中选择一个当前所需要执行的存储过程所对应的存储过程访问规则;获取模块,用于根据所选择的存储过程访问规则于所述数据链表中获取当前所需要执行的存储过程的信息;及执行模块,用于执行所述存储过程并返回执行存储过程的结果。
2.如权利要求l所述的存储过程自适应系统,其特征在于,所述存储 过程规则表中包括存储过程的工作类型、存储过程名称、存储过程索引值序号及返回标记值。
3.如权利要求2所述的存储过程自适应系统,其特征在于,所述存储 过程名称为数据链表中存储过程的信息之一。
4.如权利要求3所述的存储过程自适应系统,其特征在于,所述获取 模块是根据存储过程访问规则中的存储过程名称于数据链表中査找该存储过程名称,来获取 数据链表中该存储过程的信息。
5.一种存储过程自适应方法,其特征在于,该方法包括如下步骤 在数据库服务器中建立存储过程规则表,该存储过程规则表中存储有用户所定义的存 储过程访问规则;在所述数据库服务器中的数据字典中选择用户所需要的存储过程的信息; 将所选择的用户所需要的存储过程的信息保存于所述数据库服务器中的数据链表中;在所述存储过程规则表中选择一个当前所需要执行的存储过程所对应的存储过程访问 规则;根据所选择的存储过程访问规则于所述数据链表中获取当前所需要执行的存储过程的 信息;及执行所述存储过程并返回执行存储过程的结果。
6.如权利要求5所述的存储过程自适应方法,其特征在于,所述存储 过程规则表中包括存储过程的工作类型、存储过程名称、存储过程索引值序号及返回标记 值。
7.如权利要求6所述的存储过程自适应方法,其特征在于,所述存储 过程名称为数据链表中存储过程的信息之一。
8.如权利要求7所述的存储过程自适应方法,其特征在于,所述于数 据链表中获取当前所需要执行的存储过程的信息是根据存储过程访问规则中的存储过程名称 于数据链表中査找该存储过程名称,来获取数据链表中该存储过程的信息。
全文摘要
一种存储过程自适应方法,该方法包括如下步骤在数据库服务器中建立存储过程规则表,该存储过程规则表中存储有用户所定义的存储过程访问规则;在所述数据库服务器中的数据字典中选择用户所需要的存储过程的信息;将所选择的用户所需要的存储过程的信息保存于所述数据库服务器中的数据链表中;在所述存储过程规则表中选择一个当前所需要执行的存储过程所对应的存储过程访问规则;根据所选择的存储过程访问规则于所述数据链表中获取当前所需要执行的存储过程的信息;及执行所述存储过程并返回执行存储过程的结果。另外,本发明还提供一种存储过程自适应系统。
文档编号G06F17/30GK101493827SQ20081030017
公开日2009年7月29日 申请日期2008年1月21日 优先权日2008年1月21日
发明者张志勇, 益 杨 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1