[发明专利]一种基于Oracle的海量数据处理方法和装置有效
申请号: | 201811324819.8 | 申请日: | 2018-11-08 |
公开(公告)号: | CN109492006B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 肖飞军;赵斯兵;陆雯怡;金晓磊;王华阳;董洁 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242;G06F16/28 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 oracle 海量 数据处理 方法 装置 | ||
本发明提供一种基于Oracle的海量数据处理方法和装置。方法包括:依据接收到的客户发起的操作请求,生成类SQL语句,类SQL语句包含SQL语句结构部分、数据库子表前缀名称、关键要素项、表名称前缀相关的最多子表个数;其中一个关键要素项对应一个数据库表,一个数据库表被分成多个数据库子表,对应同一个数据库表的多个数据库子表的前缀名称相同;解析类SQL语句;计算各个数据库子表的序号;针对每一个数据库子表,依据该数据库子表的数据库子表前缀名称和序号,得到该数据库子表的名称;基于得到的各个数据库子表的名称,生成用于oracle执行的SQL脚本;将SQL脚本提交至oracle执行。本发明提高了检索速度。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于Oracle的海量数据处理方法和装置。
背景技术
现有的集中模式下,海量数据一般采用oracle分区技术进行分区存储,然而,虽然数据分别存储在不同的存储区中,但是每次执行查询操作时,由于数据库表中记录的数据量很大,查询操作响应往往缓慢,甚至发生超时。
以数据库表具体为银行的历史账户交易流水表为例,假设该历史账户交易流水表保存有2年内每个账户的变动账号数据,一般包含几百亿条数据。那么在实际应用过程中,如果按照查询条件“账号+查询起始日期+查询结束日期”查询数据,则会同时有几百个查询交易发起,此时便会发现查询交易响应缓慢,前端(银行柜台前端、客户web前端等)系统出现大量超时,无法取得查询结果的情况。
发明内容
有鉴于此,本发明提供一种基于Oracle的海量数据处理方法和装置,用于解决现有技术中基于海量数据的查询操作存在响应缓慢、超时的问题。技术方案如下:
基于本发明的一方面,本发明提供一种基于Oracle的海量数据处理方法,方法包括:
依据接收到的客户发起的操作请求,生成类SQL语句,所述类SQL语句包含SQL语句结构部分、数据库子表前缀名称、关键要素项、表名称前缀相关的最多子表个数;其中一个关键要素项对应一个数据库表,且一个数据库表被分成多个数据库子表,对应同一个数据库表的多个数据库子表的前缀名称相同;
解析所述类SQL语句,获取所述类SQL语句中的SQL语句结构部分、数据库子表前缀名称、关键要素项、表名称前缀相关的最多子表个数;
依据关键要素项和表名称前缀相关的最多子表个数,计算各个数据库子表的序号;
针对每一个数据库子表,依据该数据库子表的数据库子表前缀名称和序号,得到该数据库子表的名称;
基于得到的各个数据库子表的名称,生成用于oracle执行的SQL脚本;
将所述SQL脚本提交至所述oracle执行。
可选地,在生成所述类SQL语句之后,所述方法还包括:
验证所述类SQL语句的合法性;
其中在验证所述类SQL语句合法后,再执行解析所述类SQL语句的步骤。
可选地,所述验证所述类SQL语句的合法性包括:
验证所述类SQL语句是否包含SQL语句结构部分、数据库子表前缀名称、关键要素项和表名称前缀相关的最多子表个数;
所述类SQL语句涉及的数据库操作是否为以下操作之一:数据库操作SELECT、INSERT INTO、UPDATE、DELETE、MERGE大小写不敏感关键字操作;所述类SQL语句涉及的检查语句SELECT中是否含有where大小写不敏感关键字。
可选地,所述客户发起的操作请求包括关键字、数据库子表的类标识,所述依据接收到的客户发起的操作请求,生成类SQL语句包括:
依据所述数据库子表的类标识确定数据库子表前缀名称;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811324819.8/2.html,转载请声明来源钻瓜专利网。