一种甲骨文系统数据管理方法及其装置制造方法及图纸

技术编号:2913079 阅读:276 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种甲骨文数据管理方法,包括:在甲骨文系统中创建哈希表,构造所述哈希表的下标结构,并在甲骨文系统中声明所述哈希表为全局变量;在内存中为所述已被声明为全局变量的哈希表划分内存区域,创建所述哈希表的下标,并将所述下标与所述内存区域一一对应;将甲骨文系统中的数据项目存储到所述内存区域;根据查询条件查询所述哈希表的下标;根据查询到的所述哈希表的下标,从与所述下标对应的内存中读取数据项目采用本发明专利技术提供的技术方案,将数据存储在内存中,并且采用了哈希表查找的方式,通过给定数据查找数据下标,从而直接读取数据,避免了逐项对比查找,因而大大提高了查询的效率。本发明专利技术还提供了一种oracle数据管理装置。

【技术实现步骤摘要】

本专利技术涉及甲骨文系统(oracle)数据库管理领域,更具体地,本专利技术涉及在计算机系统中oracle数据管理的方法和装置。
技术介绍
在oracle存储过程中,对于数据量较小(通常在2000条记录以下,如代码转换表),但又需要频繁查询的表,通常会成为程序执行效率的瓶颈。例如个人征信系统中上报给人民银行征信中心的报文需要将ODS代码转换为人民银行征信中心代码,针对每个账户(假设有1亿个账户)需要代码转换的属性有30个左右,即,每个月底最少要访问代码对照表30亿次,对这样的问题,通常的做法是使用表关联查询,将需要转换的代码作为关联条件与相应的代码转换表进行关联,从而得到转换后的代码,该技术实现简单,而且oracle等数据库系统也会自动完成表关联查询的优化(例如,oracle系统一般会对关联表的记录先做有条件过滤,然后进行连接条件查询,这样可以使多表查询尽可能的高效)。但由于表关联查询在每次执行之前都需要进行自动优化,以及对小数据量数据查询(如代码转换表中的数据)有频繁的磁盘读操作,致使存储过程执行效率下降。
技术实现思路
本专利技术是为了在oracle数据管理过程中,减少读取磁盘次数和提高查询效率,提供一种oracle数据管理方法,本专利技术还提供一种oracle数据管理装置,用以保证上述方法在实际中实现和应用。本专利技术提供的一种甲骨文系统数据管理方法包括如下步骤:步骤a,在甲骨文系统中创建哈希表,构造所述哈希表的下标结构,并在甲骨文系统中声明所述哈希表为全局变量;步骤b,在内存中为所述已被声明为全局变量的哈希表划分内存区域,-->创建所述哈希表的下标,并将所述下标与所述内存区域一一对应;步骤c,将甲骨文系统中的数据项目存储到所述内存区域;步骤d,根据查询条件查询所述哈希表的下标;步骤e,根据查询到的所述哈希表的下标,从与所述下标对应的内存中读取数据项目。其中,步骤a和b是通过oracle package支持完成,并且所述步骤a是根据所述数据项目的主键构造所述哈希表的下标结构,所述数据项目的主键的长度为所述哈希表下标的长度。所述数据项目是列表、数组中的一种或其他类似的数据类型。进一步地,所述步骤e中,当所述哈希表下标对应到的内存区域中数据项目为空时,返回预先设定的数据项目。进一步地,当查询到的所述哈希表的下标多于一项时,读取第一项对应的内存区域中的数据项目。进一步地,在所述步骤a之前创建一个视图,所述视图的结构即为所述步骤a中的哈希表的下标结构。进一步地,在所述步骤a之前创建一个结构体,所述结构体的结构即为所述步骤a中的哈希表的下标结构。本专利技术提供的一种甲骨文系统数据管理装置,包括:创建单元,用于在甲骨文系统中创建哈希表,构造所述哈希表的下标结构,并在甲骨文系统中声明所述哈希表为全局变量;内存划分对应单元,用于在内存中为已被所述创建单元声明为全局变量的所述哈希表划分内存区域,创建所述哈希表的下标,并将所述下标并将所述下标与所述内存区域一一对应;存储单元,用于将甲骨文系统中的数据项目存储到所述内存划分对应单元划分出的所述内存区域;查询单元,用于根据查询条件查询哈希表的下标;读取单元,用于根据所述查询单元查询到的所述哈希表的下标,从与所述下标对应的所述内存区域中读取数据项目。进一步地,所述的oracle数据管理装置,还包括默认数据项目单元,用于当所述查询单元查询到的所述哈希表下标对应到的内存区域中数据项目为-->空时,返回预先设定的数据项目。进一步地,所述的oracle数据管理装置,还包括预处理单元,用于创建一个视图或结构体,所述视图或结构体的结构即为所述哈希表的下标结构。采用本专利技术提供的技术方案,通过oracle package包将数据声明为全局变量,从而将数据从存储设备中存储在内存中,使得后续的数据项目查询完全在内存中进行,这样就避免了反复地查询存储设备中的数据,因为内存查询的速度要比在存储设备中查询要快很多,且避免了数据传输到内存的时间,因而大幅度的降低了程序的响应时间。并且,本专利技术的所提供的技术方案,采用了哈希表(hash table)查找的方式,通过给定数据查找数据下标,从而直接读取数据,避免了逐项对比查找,因而也大大提高了查询的效率。附图说明附图1是本专利技术的一种oracle数据管理方法实施例1的流程图;附图2是本专利技术的一种oracle数据管理方法实施例2的流程图;附图3是本专利技术的一种oracle数据管理方法实施例3的流程图;附图4是本专利技术的一种oracle数据管理方法实施例4的流程图;附图5是本专利技术的一种oracle数据管理装置实施例1配合外部设备工作的结构示意框图;附图6是本专利技术的一种oracle数据管理装置实施例2配合外部设备工作的结构示意框图;附图7是本专利技术的一种oracle数据管理装置实施例3配合外部设备工作的结构示意框图。具体实施方式为使本专利技术的上述目的、特征和优点能更加明显易懂,下面结合附图和具体实施方式对本专利技术做进一步详细地说明。本专利技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携设备、平板型设备、多处理器系统、以及包括以上任何系统或设备的分布式计算环境等。操作系统可以是Windows系列操作系统,unix操作系统,linux操作系统等操作系统。-->本专利技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。也可以在分布式计算环境中实践本专利技术,在这些分布式计算环境中,由通过网络通信而被连接的远程处理设备来执行任务,在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。参考图1,图1是本专利技术的一种oracle数据管理方法实施例1的流程图,包括以下步骤:S101、在oracle中创建Hash表,构造所述Hash表的下标结构,并在oracle中声明所述Hash表为全局变量。在这一步中,需要对要缓存的表结构,以及该表的主键和常用的关联条件进行分析,计算出Hash表查找下标的长度。所述主键是指数据库中此表中唯一标识每条数据的字段,例如对于银行用户来说,用户的身份证号码即可以用来区别,可以选择其作为主键。通常,使用该表的主键的长度作为Hash表查找下标的长度。在本实施例中,S101采用以下代码实现:/*定义hash表结构*/TYPE SWITCH_HASH_TABLE IS TABLE OF表名%ROWTYPE INDEXBY VARCHAR2(25);/*声明全部变量hash_table*/HASH_TABLE SWITCH_HASH_TABLE;在本实施例中,根据代码类型(CODE_ID)以及原代码值(CODE_ITEM_NO_S)来获取转换后的代码值,此时用CODE_ID和CODE_ITEM_NO_S作为HASH表的下标,那么哈希表下标长度就是依据这2个字段的类型char(10)和char(15),得出下标长度应该不小于25位,这里为VARCHAR2(25)。然后,利用ORACLE PACKAGE的特点,将该变量声明为PACKAGE内的全局变量,这即有利于数据的封装性,也有利于数据使用的高效性。S10本文档来自技高网...

【技术保护点】
一种甲骨文系统数据管理方法,其特征在于,包括: 步骤a,在甲骨文系统中创建哈希表,构造所述哈希表的下标结构,并在甲骨文系统中声明所述哈希表为全局变量; 步骤b,在内存中为所述已被声明为全局变量的哈希表划分内存区域,创建所述哈希表 的下标,并将所述下标与所述内存区域一一对应; 步骤c,将甲骨文系统中的数据项目存储到所述内存区域; 步骤d,根据查询条件查询所述哈希表的下标; 步骤e,根据查询到的所述哈希表的下标,从与所述下标对应的内存中读取数据项目。

【技术特征摘要】
1.一种甲骨文系统数据管理方法,其特征在于,包括:步骤a,在甲骨文系统中创建哈希表,构造所述哈希表的下标结构,并在甲骨文系统中声明所述哈希表为全局变量;步骤b,在内存中为所述已被声明为全局变量的哈希表划分内存区域,创建所述哈希表的下标,并将所述下标与所述内存区域一一对应;步骤c,将甲骨文系统中的数据项目存储到所述内存区域;步骤d,根据查询条件查询所述哈希表的下标;步骤e,根据查询到的所述哈希表的下标,从与所述下标对应的内存中读取数据项目。2.如权利要求1所述的甲骨文系统数据管理方法,其特征在于:所述步骤a中,构造所述哈希表的下标结构具体为:根据所述数据项目的主键构造所述哈希表下标结构,所述数据项目的主键的长度为所述哈希表下标的长度。3.如权利要求1所述的甲骨文系统数据管理方法,其特征在于:所述步骤e中,当所述哈希表下标对应到的内存区域中数据项目为空时,返回预先设定的数据项目。4.如权利要求1所述的甲骨文系统数据管理方法,其特征在于:所述步骤e中,当查询到的所述哈希表的下标多于一项时,读取第一项对应的内存区域中的数据项目。5.如权利要求1所述的甲骨文系统数据管理方法,其特征在于:所述数据项目采用接口的方式封装。6.如权利要求5所述的甲骨文系统数据管理方法,其特征在于:在所述步骤...

【专利技术属性】
技术研发人员:陈皓郑承满张树贵高志慧
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1