一种基于SOLR索引与ORACLE存储的海量数据自动化存储方法.pdf

上传人:000****221 文档编号:1301793 上传时间:2018-04-14 格式:PDF 页数:12 大小:696.73KB
返回 下载 相关 举报
摘要
申请专利号:

CN201710069607.9

申请日:

2017.02.08

公开号:

CN106844716A

公开日:

2017.06.13

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20170208|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

上海熙菱信息技术有限公司

发明人:

赵敏; 牟秋辰; 裴华明; 王夷; 鲁惊雷; 马建平; 张栋; 姚莉雅; 张素芳

地址:

201203 上海市浦东新区中国(上海)自由贸易试验区龙东大道3000号7幢303室

优先权:

专利代理机构:

上海旭诚知识产权代理有限公司 31220

代理人:

郑立

PDF下载: PDF下载
内容摘要

本发明公开了一种基于Solr索引与Oracle存储的海量数据自动化存储方法,包括:步骤1、自动创建存储单元,自动创建对应规则的N个存储单元;步骤2、自动分类存储海量数据,将海量数据按照不同条件和维度进行拆分、合并存储到对应的Solr中的Connection索引服务和Oracle数据库相应的业务表中;步骤3、回收利用存储单元,将数据存储不达标的存储单元,进行Solr层面和Oracle数据库层面的合并,并将其他剩余Connection和空闲Oracle业务数据表进行回收。本发明的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,采用solr和Oracle结合技术,解决海量数据的查询、统计速率问题;采用优良的设计,解决项目扩展性和维护成本过高的问题,降低项目实现技术难度,增强系统扩展性和延伸性。

权利要求书

1.一种基于Solr索引与Oracle存储的海量数据自动化存储方法,其特征在于,包括:
步骤1、自动创建存储单元,预先设定N个创建存储单元的规则,自动创建对应规则的N
个存储单元;
步骤2、自动分类存储海量数据,预先设定存储规则,将海量数据按照不同条件和维度
进行拆分、合并存储到对应的Solr中的Connection索引服务和Oracle数据库相应的业务表
中;
步骤3、回收利用存储单元,将数据存储不达标的存储单元,进行Solr层面和Oracle数
据库层面的合并,并将其他剩余Connection和空闲Oracle业务数据表进行回收。
2.如权利要求1所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,所述创建存储单元的规则包括根据自然年份创建、根据自然季度创建、根据自
然年中的任意几个月创建、根据自然月单独创建、按每个存储单元数据最大数据保有量创
建中的一种或多种。
3.如权利要求2所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,步骤1具体包括:
步骤11、记录任务的初始状态;
步骤12、判断建表的标志位开关是否开启,当所述标志位开关处于开启状态,则开始后
续自动创建传统数据库的建表程序;当所述标志位开关处于关闭状态,则不执行后续步骤;
步骤13、当建表的标志位处于开启时,查询基础配置信息表,找到配置迁移数据的时间
区间;
步骤14、根据步骤13查找到的所述时间区间,检索已完成建表操作的相关动作记录表,
寻找迁移间隔,当所述迁移间隔在所述时间区间内,则不需要进行建表;当所述迁移间隔不
在时间区间内,则进行后续建表操作;
步骤15、当所述迁移间隔不在时间区间内时,首先修改本次配置迁移数据截止日期为
本月,然后保存至对应业务数据表中,以备下次开始建表流程时使用;
步骤16、新建本次配置迁移数据原始记录;
步骤17、根据既定生成的相关配置信息,创建对应的业务数据表格和相关Solr配置文
件及Connection数据加载配置文件;
步骤18、当步骤11至步骤17完成以后,更改任务执行记录状态,并保持至对应的业务数
据库。
4.如权利要求1所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,所述预先设定存储规则包括根据自然年份存储、根据自然季度存储、根据自然
年中的任意几个月存储、根据自然月单独存储、按每个存储单元数据最大数据保有量存储
中的一种或多种。
5.如权利要求4所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,步骤2具体包括:
步骤21、新建任务执行情况记录,记录任务执行的初始化状态;
步骤22、获取需要抽取的业务数据表名和与之相对应的Connection名称;
步骤23、通知Solr启动对应的抽取服务,将业务表的数据按照全表模式或增量模式同
步至相应的Connection中,建立数据索引;
步骤24、当步骤21至步骤23完成以后,更改任务执行记录状态,并保持至对应的业务数
据库。
6.如权利要求1所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,所述步骤3被设置为按照设定的规则对数据进行拆分,搬迁,归档。
7.如权利要求6所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,所述步骤3具体包括:
步骤31、新建任务执行情况记录,记录任务执行的初始化状态;
步骤32、查询信息系统操作日志数据表;
步骤33、查询当前系统中预先配置的数据保存天数,并进行计算,得到本次迁移数据;
步骤34、查找上次数据迁移的操作记录,从而计算本次数据存放位置;
步骤35、本次数据迁移完毕后,通知对应Solr存储单元加载最新数据;
步骤36、当步骤31至步骤35完成以后,更改任务执行记录状态,并保持至对应的业务数
据库。
8.如权利要求7所述的一种基于Solr索引与Oracle存储的海量数据自动化存储方法,
其特征在于,当步骤34计算的数据存放位置与上次迁移在同一个规定时间范围内,则沿用
上次数据存储单元;当步骤34计算的数据存放位置与上次迁移不在同一个规定时间范围
内,则根据预先配置的数据存储关系,找到本次数据存储位置。

说明书

一种基于Solr索引与Oracle存储的海量数据自动化存储方法

技术领域

本发明涉及数据存储技术,尤其涉及一种基于Solr索引与Oracle存储的海量数据
自动化存储方法。

背景技术

随着信息化快速发展,信息系统资源种类和功能越来越完备,随之产生庞大的信
息系统应用数据,这些应用数据越来越被重视,进行数据的深度挖掘和分析成为行业深耕
业务功能、用户行为分析、热点应用等一大批基于海量数据分析的技术手段出现,提现了这
些业务数据重要地位。

如何有效的保存这些珍贵的业务数据,就目前主流的技术手段和实现方法,主要
分布在两个方向:基于大数据技术的存储路线以及基于传统数据库模式的存储。

大数据存储技术路线最典型的共有三种:

第一种是采用MPP架构的新型数据库集群,重点面向行业大数据,采用Shared
Nothing架构,通过列存储、粗粒度索引等多项大数据处理技术,再结合MPP架构高效的分布
式计算模式,完成对分析类应用的支撑,运行环境多为低成本PC Server,具有高性能和高
扩展性的特点,在企业分析类应用领域获得极其广泛的应用。

这类MPP产品可以有效支撑PB级别的结构化数据分析,这是传统数据库技术无法
胜任的。对于企业新一代的数据仓库和结构化数据分析,目前最佳选择是MPP数据库。

第二种是基于Hadoop的技术扩展和封装,围绕Hadoop衍生出相关的大数据技术,
应对传统关系型数据库较难处理的数据和场景,例如针对非结构化数据的存储和计算等,
充分利用Hadoop开源的优势,伴随相关技术的不断进步,其应用场景也将逐步扩大,目前最
为典型的应用场景就是通过扩展和封装Hadoop来实现对互联网大数据存储、分析的支撑。
Hadoop平台更擅长非结构半结构化数据处理、复杂的ETL流程、复杂的数据挖掘和计算模
型。

第三种是大数据一体机,这是一种专为大数据的分析处理而设计的软、硬件结合
的产品,由一组集成的服务器、存储设备、操作系统、数据库管理系统以及为数据查询、处
理、分析用途而特别预先安装及优化的软件组成,高性能大数据一体机具有良好的稳定性
和纵向扩展性。

而传统基于数据库的存储目前除了互联网企业外,数据处理领域还是以传统关系
型数据库(RDBMS)为主。传统RDBMS的核心设计思想基本上是30年前形成的。过去30年脱颖
而出的无疑是Oracle公司。全世界数据库市场基本上被Oracle,IBM/DB2,Microsoft/SQL
Server垄断,目前有份量的独立数据库厂商现在就剩下Oracle和Teradata。开源数据库主
要是MySQL,PostgreSQL,除了互联网领域外,其他行业用的很少。这些数据库当年主要是面
向OLTP交易型需求设计、开发的,是用来开发人机会话应用为主的。这些传统数据库底层的
物理存储格式都是行存储,比较适合数据频繁的增删改操作,但对于统计分析类的查询,行
存储其实效率很低。

基于传统数据库存储的方式在以下几个不足:

1)传统数据库存储方式:在应对海量数据查询的时候,查询速度、统计速度缓慢,
需要几分钟乃至十几分钟才能返回数据结果;

2)基于传统数据的存储、查询优化需要较高专业技能,对人员能力要求较高,可能
导致项目升级、维护、改造困难。

基础大数据存储的方式在以下几个不足:

1)技术起点高,人员开发成本高,开发调试周期较长;

2)部署庞大,基于大数据技术的实现,整体项目一般都需要数十上百台的服务器,
有的需要的更多,就算最小的部署结构也需要十几台服务器,部署成本相对偏高;

3)整体结构复杂,维护人员能力需求高,维护、升级困难。

因此,本领域的技术人员致力于开发一种基于Solr索引与Oracle存储的海量数据
自动化存储方法,采用solr和Oracle结合技术,从根本上解决海量数据的查询、统计速率问
题;采用优良的设计,从根本上解决项目扩展性和维护成本过高的问题,降低项目实现技术
难度,增强系统扩展性和延伸性,使之成为一个高效、简洁、易于维护的系统。

发明内容

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是开发一种基于Solr索
引与Oracle存储的海量数据自动化存储方法,采用solr和Oracle结合技术,从根本上解决
海量数据的查询、统计速率问题;采用优良的设计,从根本上解决项目扩展性和维护成本过
高的问题,降低项目实现技术难度,增强系统扩展性和延伸性,使之成为一个高效、简洁、易
于维护的系统。

为实现上述目的,本发明提供了一种基于Solr索引与Oracle存储的海量数据自动
化存储方法,包括:

步骤1、自动创建存储单元,预先设定N个创建存储单元的规则,自动创建对应规则
的N个存储单元;

步骤2、自动分类存储海量数据,预先设定存储规则,将海量数据按照不同条件和
维度进行拆分、合并存储到对应的Solr中的Connection索引服务和Oracle数据库相应的业
务表中;

步骤3、回收利用存储单元,将数据存储不达标的存储单元,进行Solr层面和
Oracle数据库层面的合并,并将其他剩余Connection和空闲Oracle业务数据表进行回收。

进一步地,创建存储单元的规则包括根据自然年份创建、根据自然季度创建、根据
自然年中的任意几个月创建、根据自然月单独创建、按每个存储单元数据最大数据保有量
创建中的一种或多种。

进一步地,步骤1具体包括:

步骤11、记录任务的初始状态;

步骤12、判断建表的标志位开关是否开启,当标志位开关处于开启状态,则开始后
续自动创建传统数据库的建表程序;当标志位开关处于关闭状态,则不执行后续步骤;

步骤13、当建表的标志位处于开启时,查询基础配置信息表,找到配置迁移数据的
时间区间;

步骤14、根据步骤13查找到的时间区间,检索已完成建表操作的相关动作记录表,
寻找迁移间隔,当迁移间隔在时间区间内,则不需要进行建表;当迁移间隔不在时间区间
内,则进行后续建表操作;

步骤15、当迁移间隔不在时间区间内时,首先修改本次配置迁移数据截止日期为
本月,然后保存至对应业务数据表中,以备下次开始建表流程时使用;

步骤16、新建本次配置迁移数据原始记录;

步骤17、根据既定生成的相关配置信息,创建对应的业务数据表格和相关Solr配
置文件及Connection数据加载配置文件;

步骤18、当步骤11至步骤17完成以后,更改任务执行记录状态,并保持至对应的业
务数据库。

进一步地,预先设定存储规则包括根据自然年份存储、根据自然季度存储、根据自
然年中的任意几个月存储、根据自然月单独存储、按每个存储单元数据最大数据保有量存
储中的一种或多种。

进一步地,步骤2具体包括:

步骤21、新建任务执行情况记录,记录任务执行的初始化状态;

步骤22、获取需要抽取的业务数据表名和与之相对应的Connection名称;

步骤23、通知Solr启动对应的抽取服务,将业务表的数据按照全表模式或增量模
式同步至相应的Connection中,建立数据索引;

步骤24、当步骤21至步骤23完成以后,更改任务执行记录状态,并保持至对应的业
务数据库。

进一步地,步骤3被设置为按照设定的规则对数据进行拆分,搬迁,归档。

进一步地,步骤3具体包括:

步骤31、新建任务执行情况记录,记录任务执行的初始化状态;

步骤32、查询信息系统操作日志数据表;

步骤33、查询当前系统中预先配置的数据保存天数,并进行计算,得到本次迁移数
据;

步骤34、查找上次数据迁移的操作记录,从而计算本次数据存放位置;

步骤35、本次数据迁移完毕后,通知对应Solr存储单元加载最新数据;

步骤36、当步骤31至步骤35完成以后,更改任务执行记录状态,并保持至对应的业
务数据库。

进一步地,当步骤34计算的数据存放位置与上次迁移在同一个规定时间范围内,
则沿用上次数据存储单元;当步骤34计算的数据存放位置与上次迁移不在同一个规定时间
范围内,则根据预先配置的数据存储关系,找到本次数据存储位置。

技术效果

1)规避了常规数据库存储方式在应对海量数据存储后,利用sql在海量数据中进
行条件检索、排序、统计类操作时,查询速率过慢的问题。

2)将Solr索引技术和传统数据库技术相结合,既满足了高效、快速的对海量数据
进行检索、统计查询的问题,又一次性解决了数据备份的问题,形成Solr数据和传统数据库
进行数据互补,相互备份的有效机制。

3)对于部署而言,单台普通应用服务器就可以容纳数十亿数据信息,并能提供秒
级单位的查询速度,保证了部署便捷、高效。

4)对于开发和维护而言,降低了专业技能要求,只要在熟悉传统数据库操作的基
础上,对Solr索引技术和工作原理有初步了解,即可进行相关工作,摆脱了对人员能力的高
标准需求,从而降低了技术壁垒和复杂度,进而为快速开发、平稳部署提供了有力保障。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以
充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的一种基于Solr索引与Oracle存储的海量数据自
动化存储方法的自动创建存储单元的流程示意图。

图2是本发明的一个较佳实施例的一种基于Solr索引与Oracle存储的海量数据自
动化存储方法的自动分类存储海量数据的流程示意图。

图3是本发明的一个较佳实施例的一种基于Solr索引与Oracle存储的海量数据自
动化存储方法的回收利用存储单元的流程示意图。

具体实施方式

本发明的一较佳实施例提供了一种基于Solr索引与Oracle存储的海量数据自动
化存储方法,包括:

步骤1、自动创建存储单元,预先设定N个创建存储单元的规则,自动创建对应规则
的N个存储单元;其中,创建存储单元的规则包括根据自然年份创建、根据自然季度创建、根
据自然年中的任意几个月创建、根据自然月单独创建、按每个存储单元数据最大数据保有
量创建中的一种或多种。

步骤2、自动分类存储海量数据,预先设定存储规则,将海量数据按照不同条件和
维度进行拆分、合并存储到对应的Solr中的Connection索引服务和Oracle数据库相应的业
务表中;其中,预先设定存储规则包括根据自然年份存储、根据自然季度存储、根据自然年
中的任意几个月存储、根据自然月单独存储、按每个存储单元数据最大数据保有量存储中
的一种或多种。

步骤3、回收利用存储单元,将数据存储不达标的存储单元,进行Solr层面和
Oracle数据库层面的合并,并将其他剩余Connection和空闲Oracle业务数据表进行回收。

具体地,如图1所示,步骤1又称为定时间表子流程,根据实际情况,预先设定N个存
储单元的创建规则,自动创建对应规则的Solr层面的Connection及相关配置文件、数据同
步文件以及Oracle数据库层面的业务数据表等存储单元。具体步骤如下:

步骤11、新建本次任务的执行情况:记录任务的初始状态;

步骤12、判断建表的标志位开关是否开启,当标志位开关处于开启状态,则开始后
续自动创建传统数据库的建表程序;当标志位开关处于关闭状态,则不执行后续步骤;

步骤13、当建表的标志位处于开启时,查询基础配置信息表,找到配置迁移数据的
时间区间(码表),然后,利用时间倒叙查询建表配置;

步骤14、根据步骤13查找到的时间区间,检索已完成建表操作的相关动作记录表,
寻找迁移间隔,即寻求最新一次的建表时间和作用范围进行比较,判断迁移间隔是否在时
间区间内;当迁移间隔在时间区间内,则不需要进行建表;当迁移间隔不在时间区间内,则
进行后续建表操作;

步骤15、当迁移间隔不在时间区间内时,首先修改本次配置迁移数据截止日期为
本月,然后保存至对应业务数据表中,以备下次开始建表流程时使用;

步骤16、新建本次配置迁移数据原始记录;在本实例中,其中开始时间问当前月份
的下一月,因为当前月份已在上一条记录中有所保存,为了避免同一个月的数据出现在两
个不同的存储单元中,进行如此设置;

步骤17、根据既定生成的相关配置信息,创建对应的业务数据表格和相关Solr配
置文件及Connection数据加载配置文件,以便于数据同步使用;

步骤18、当步骤11至步骤17完成以后,更改任务执行记录状态,修改本次执行为已
完成,并保持至对应的业务数据库,以便后续的业务追踪和情况监测。

如图2所示,步骤2也称定时Solr抽取子流程,根据预先设定的抽取规则,将业务数
据表中的数据同步至与之相对应的Solr Connection中,以备后续系统进行数据分析和统
计查询使用,同时原有数据库中的业务数据则转化为备份数据,实现业务数据的异地保存
机制,以防止数据丢失或者损坏。具体操作步骤如下:

步骤21、新建任务执行情况记录,记录任务执行的初始化状态;

步骤22、获取需要抽取的业务数据表名和与之相对应的Connection名称,如图2所
示,本实施例中抽取的业务数据表名为snam_cp_operate_log;

步骤23、通知Solr启动对应的抽取服务,将业务表的数据按照全表模式或增量模
式同步至相应的Connection中,建立数据索引;

步骤24、当步骤21至步骤23完成以后,更改任务执行记录状态,修改本次执行为已
完成,并保持至对应的业务数据库,以便后续的业务追踪和情况监测。

步骤3按照设定的规则对数据进行拆分,搬迁,归档,又称为定时数据迁移子流程,
达到高效利用、快速检索的目的。该步骤可以支撑单台普通配置的应用服务器对于十亿级
操作日志数据的秒级查询功能。

步骤3具体步骤如下:

步骤31、新建任务执行情况记录,记录任务执行的初始化状态;

步骤32、查询信息系统操作日志数据表,本实施例中的数据表如图3,命名为snam_
cp_operate_log;

步骤33、查询当前系统中预先配置的数据保存天数,过滤保留天数数据,并进行计
算,得到本次迁移数据;

步骤34、查找上次数据迁移的操作记录,即查询数据迁移配置的最新一条,从而计
算本次数据存放位置;如果和上次迁移在同一个规定时间范围内,则延用上次数据存储单
元;如果不在上次迁移时间范围内,则需要根据预先配置的数据存储关系,找到本次数据存
储位置;

步骤35、本次数据迁移完毕后,通知对应Solr存储单元加载最新数据,以便进行数
据同步和保存;

步骤36、当步骤31至步骤35完成以后,更改任务执行记录状态,并保持至对应的业
务数据库,以便后续的业务追踪和情况监测。

其中,步骤34具体操作如下:

判断上次数据迁移的操作记录和本次迁移是否在同一规定时间间隔内,如果在时
间间隔内,在Oracle数据库中找到上次数据的存储单元,并将本次迁移数据保存;如果不在
时间间隔内,则查询数据迁移配置最新一条(除本条外),再判断是否在同一个规定时间间
隔内,如果在时间间隔内,则保存对应oracle存储单元,如果不在时间间隔内,则修改迁移
配置截止日期为导入月份,并保存迁移配置对应月份表,保存对应的oracle存储单元;利用
Solr固定connection,码表查询保留天数,然后过滤保留天数,并进行计算,得到本次迁移
数据;查询数据迁移配置最新一条,判断和上次迁移是否在同一规定时间范围内,如果在时
间范围内,则保存对应connection,如果不在规定时间范围内,查询数据迁移配置的最新一
条(除本条),再判断和上次迁移是否在同一规定时间范围内,如果在时间范围内,则保存对
应connection。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无
需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术
人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的
技术方案,皆应在由权利要求书所确定的保护范围内。

一种基于SOLR索引与ORACLE存储的海量数据自动化存储方法.pdf_第1页
第1页 / 共12页
一种基于SOLR索引与ORACLE存储的海量数据自动化存储方法.pdf_第2页
第2页 / 共12页
一种基于SOLR索引与ORACLE存储的海量数据自动化存储方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种基于SOLR索引与ORACLE存储的海量数据自动化存储方法.pdf》由会员分享,可在线阅读,更多相关《一种基于SOLR索引与ORACLE存储的海量数据自动化存储方法.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于Solr索引与Oracle存储的海量数据自动化存储方法,包括:步骤1、自动创建存储单元,自动创建对应规则的N个存储单元;步骤2、自动分类存储海量数据,将海量数据按照不同条件和维度进行拆分、合并存储到对应的Solr中的Connection索引服务和Oracle数据库相应的业务表中;步骤3、回收利用存储单元,将数据存储不达标的存储单元,进行Solr层面和Oracle数据库层面的合并。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1