[发明专利]一种基于ROWID的Oracle数据批量采集方法在审
申请号: | 201810453389.3 | 申请日: | 2018-05-14 |
公开(公告)号: | CN108664616A | 公开(公告)日: | 2018-10-16 |
发明(设计)人: | 刘福才;胡清;肖雪;王建华 | 申请(专利权)人: | 浪潮软件集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 刘继枝 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 采集 适用场景 数据采集 数据集合 数据库表 完整数据 可扩展 侵入 灵活 开发 | ||
1.一种基于ROWID的Oracle数据批量采集方法,其特征在于,该方法通过JDBC接口与Oracle数据库交互,使用ROWID来生成批量SQL语句,每条SQL语句负责采集数据库表中的一部分数据,所有SQL语句采集的数据集合即为完整数据。
2.根据权利要求1所述的方法,其特征在于,该方法的操作步骤如下:
步骤1)通过JDBC接口获取ROWID;
步骤2)使用ROWID生成批量不同的SQL语句;
步骤3)对批量生成的SQL语句进行分发;
步骤4)获取到分发的SQL语句后,执行SQL语句,获取结果集;
步骤5)获取到分发的SQL语句后,将数据写入新的存储系统。
3.根据权利要求2所述的方法,其特征在于,所述的步骤1)中,通过JDBC接口查询每条SQL起始的ROWID来生成SQL语句。
4.根据权利要求3所述的方法,其特征在于,所述的生成的SQL语句每条采集n万条数据,然后对ROWID进行排序,并获取第1条、第n+1、第2n+1…条ROWID。
5.根据权利要求4所述的方法,其特征在于,所述的获取ROWID的SQL语句采用并行模式执行,通过JDBC执行此SQL语句,结果集为一个有序的ROWID队列。
6.根据权利要求2所述的方法,其特征在于,所述的步骤2)中SQL语句数量等于ROWID队列长度。
7.根据权利要求2所述的方法,其特征在于,所述的步骤3)中批量生成的SQL语句分发到不同的线程、进程或服务器节点上去分布式并行执行。
8.根据权利要求7所述的方法,其特征在于,将所述的批量生成的SQL语句写入Kafka主题中,所有负责数据采集的节点使用相同的groupID消费数据,完成SQL语句分发。
9.根据权利要求2所述的方法,其特征在于,所述的步骤4)中所述的分发的SQL语句被各数据采集节点获取后,通过JDBC方式执行SQL语句,获取的结果集即为采集的数据。
10.根据权利要求2所述的方法,其特征在于,所述的步骤5)中所有获取数据后的数据采集节点将数据写入到同一个数据存储地址,完成数据汇总。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件集团有限公司,未经浪潮软件集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810453389.3/1.html,转载请声明来源钻瓜专利网。