[发明专利]一种主机系统下的内存数据库的实现方法有效
申请号: | 201510075765.6 | 申请日: | 2015-02-12 |
公开(公告)号: | CN104615750B | 公开(公告)日: | 2017-11-03 |
发明(设计)人: | 朱浩 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 王宝筠 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 主机 系统 内存 数据库 实现 方法 | ||
1.一种主机系统下的内存数据库实现方法,其特征在于,该方法包括:
对初始数据进行数据整理;
将进行整理后的数据进行哈希计算,将哈希计算的结果按照内存数据库中预先建立的内存表规则进行建立,生成内存表源文件,组织生成内存表;其中,所述预先建立的内存表规则为:内存表为N+1级哈希结构,前N级只存储下一级哈希表所在位置,第N+1级用于存储数据;所述内存表的第N+1级存储的数据包括目标数据和离散数据,所述目标数据是基于初始数据构成,所述离散数据由动态新增的数据构成;
加载所述内存表源文件;
设定下载指令CICS LOAD,当客户信息控制系统区域CICS Region内的程序调用内存数据库时,通过CICS LOAD将所述内存表源文件的入口地址发送给所述程序,以作为该程序解析获取内存表地址的依据;
为所述内存表建立结构化查询语言SQL语句映射。
2.根据权利要求1所述的方法,其特征在于,所述数据整理为:将所述初始数据导入预先建立的物理表内。
3.根据权利要求1所述的方法,其特征在于,按照内存数据库中预先建立的内存表规则进行建立,生成内存表源文件的过程包括:
将所述整理后的数据进行N+1级哈希计算,将得到的N+1级哈希表按照所述内存表规则,将第N+1级用于存储数据,其余N级用于存储索引,生成相应的数据结构;
组织数据结构按照预先设定的形式生成内存表的高级语言源文件。
4.根据权利要求3所述的方法,其特征在于,所述索引中的各级哈希表包含有Offset和Num两个参数,其中,Offset代表下一级哈希表与内存的相对地址,Num代表下一级哈希表内的元素数量,当某一级哈希表中包含有H1个元素时,那该级哈希表以集合的形式进行表述为:
{{Offset1,Num1},{Offset2,Num2},...,{OffsetH1,NumH1}}。
5.根据权利要求4所述的方法,其特征在于,所述目标数据包括多个数据块,所述数据块包括:单条记录的访问结果VAL及访问该条记录时的索引字符串Key。
6.根据权利要求5所述的方法,其特征在于,所述目标数据还包括:指针Pointer,用于指向所述存储到离散数据中的新增数据。
7.根据权利要求6所述的方法,其特征在于,所述内存表中的起始地址为4KB的倍数,通过调整所述索引中各级哈希表的偏移量使得任一连续数据存储在同一虚拟页。
8.根据权利要求7所述的方法,其特征在于,所述SQL语句包括:访问、更新、删除、插入和游标。
9.根据权利要求8所述的方法,其特征在于,所述内存表的访问过程包括:
步骤一:定义用于索引的字符串为Key;
步骤二:根据拆分集合SkSet内的元素Sk1划分Key,得到字符串集合,从所述集合中获得用于第一级哈希索引的字符串,定义为Key1;
步骤三:确定索引中的第一哈希级为当前待访问哈希级,所述Key1为当前待索引字符串;
步骤四:调用哈希函数,对所述当前待索引字符串进行哈希计算,并获得当前哈希值;
步骤五:获得哈希因子集合HSet内的与所述当前待索引字符串对应的元素,确定对应的当前级哈希表索引为:当前哈希值对所述当前待索引字符串对应的元素的取余结果;
步骤六:判断当前哈希级表索引的参数中的Num值是否等于0,如果是,则记录不存在,访问失败,否则,进入步骤七;
步骤七:当所述当前哈希级表索引具有下一哈希级时,确定当前哈希级表索引的下一级哈希表为当前待访问哈希级,并确定字符串集合中的下一字符串为当前待索引字符串,返回执行步骤四,直到索引表访问结束或中断,执行步骤八;
步骤八:根据当前哈希级表索引确定目标数据中与其对应的数据,遍历所述数据,并顺序比较所述索引字符串Key的值,如果匹配,则访问成功,否则进入步骤九;
步骤九:判断当前结构Pointer指针指向的位置,沿着指针开始逐步比较离散数据,如果匹配,则访问成功,否则,访问失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510075765.6/1.html,转载请声明来源钻瓜专利网。