CN114090548A - 基于数据库的数据处理方法、装置、设备和存储介质 - Google Patents
基于数据库的数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114090548A CN114090548A CN202111435049.6A CN202111435049A CN114090548A CN 114090548 A CN114090548 A CN 114090548A CN 202111435049 A CN202111435049 A CN 202111435049A CN 114090548 A CN114090548 A CN 114090548A
- Authority
- CN
- China
- Prior art keywords
- database
- temporary
- data
- memory
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 54
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000013515 script Methods 0.000 claims abstract description 158
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000004140 cleaning Methods 0.000 claims description 88
- 238000004458 analytical method Methods 0.000 claims description 54
- 230000002159 abnormal effect Effects 0.000 claims description 37
- 238000012216 screening Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 14
- 230000005856 abnormality Effects 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000003062 neural network model Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能技术领域,提供一种基于数据库的数据处理方法、装置、计算机设备和存储介质,方法包括:获取与目标只读库具有对应关系的sql脚本;调用临时数据库,在临时数据库与目标只读库之间配置dblink链路;将sql脚本提交至临时数据库,在临时数据库内执行sql脚本得到执行结果数据;基于预设程序从执行结果数据中识别出新建临时表,并将新建临时表存储至临时数据库内;以及基于预设程序从执行结果数据中识别出业务表,并通过dblink链路将业务表存储至目标只读库内。本申请能够解决sql脚本无法在目标只读库内正常运行的问题,提高sql脚本处理的智能性。本申请还可以应用于区块链领域,上述执行结果数据可以存储于区块链上。
Description
技术领域
本申请涉及人工智能技术领域,具体涉及一种基于数据库的数据处理方法、装置、设备和存储介质。
背景技术
当数据处理sql脚本所在运行的数据库要下线,即停止提供服务时,如果数据处理sql脚本需要迁移到新数据库并执行,但是该新数据库不支持DDL和DML操作,例如该新数据库为设置了所有用户都无权限执行建表和更新表数据sql的只读数据库。如果此时直接在新数据库中直接提交该数据处理sql脚本并运行,则新数据库只会返回报错信息,且无法正常得到数据结果。然而也不能为了适配新数据库而将数据处理sql脚本修改为不做DDL和DML操作。针对上述业务场景,当前亟需提供一种能够解决数据处理sql脚本无法在新数据库内正常运行的技术问题的处理手段。
发明内容
本申请的主要目的为提供一种基于数据库的数据处理方法、装置、计算机设备和存储介质,旨在解决现有缺乏一种能够实现数据处理sql脚本可以在新数据库内正常运行的处理手段的技术问题。
本申请提出一种基于数据库的数据处理方法,所述方法包括步骤:
获取与目标只读库具有对应关系的sql脚本;
调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
可选地,所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤之前,包括:
调用预先训练生成的脚本异常分析模型;
将所述sql脚本输入至所述脚本异常分析模型内,通过所述脚本异常分析模型对所述sql脚本进行异常分析得到对应的分析结果;其中,所述脚本异常分析模型为基于多个sql脚本样本,以及与所述sql脚本样本对应的异常标签结果进行训练生成的;
判断所述分析结果是否为不存在异常;
若为不存在异常,触发所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤;
若为存在异常,生成与所述分析结果对应的预警信息,并展示所述预警信息。
可选地,所述将所述新建临时表存储至所述临时数据库内的步骤之后,包括:
运行预设的清理程序,判断与所述临时数据库内存储的所述新建临时表对应的指定数据是否满足预设条件;
若满足所述预设条件,获取所述临时数据库内包含的所有新建临时表,并从所有所述新建临时表中筛选出包含有预设的重要标识的指定临时表;
从预设的区块链中包含的所有存储区块中确定出指定存储区块;
将所述指定临时表存储于所述指定存储区块上;
在完成对于所述指定临时表的存储处理后,对所述临时数据库中的所有所述新建临时表进行清除处理。
可选地,所述从预设的区块链中包含的所有存储区块中确定出指定存储区块的步骤,包括:
获取所述指定临时表的内存占用值;
从所有所述存储区块中筛选出可用内存大于所述内存占用值的第一存储区块;
从所有所述第一存储区块中筛选出在预设时间周期内的区块使用次数大于预设次数阈值的第二存储区块;
获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数,调用第一预设公式计算出各所述第二存储区块的存储分数值;
从所有所述存储分数值中筛选出数值最大的指定存储分数值;
从所有所述第二存储区块中获取与所述指定存储分数值对应的第三存储区块,并将所述第三存储区块作为所述指定存储区块。
可选地,所述获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数的步骤之前,包括:
获取第四存储区块在所述预设时间周期内的数据清理频次;其中,所述第四存储区块为所有所述第二存储区块中的任意一个区块;
获取所述第四存储区块在所述预设时间周期内每一次的清理内存数值;
从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
获取所述指定清理内存数值的数量;
计算每一个所述指定清理内存数值与所述清理内存阈值之间的差值,并计算所有所述差值的和值得到内存超出总量;
获取与所述数据清理频次对应的第一权重,与所述指定清理内存数值对应的第二权重,以及与所述内存超出总量对应的第三权重;
基于所述第一权重、所述第二权重与所述第三权重,调用第二预设公式对所述数据清理频次、所述指定清理内存数值的数量以及所述内存超出总量进行计算处理得到对应的计算结果值;
将所述计算结果值作为所述第四存储区块的数据清理指数。
可选地,所述基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内的步骤之后,包括:
运行预设的表权限控制程序,获取预先创建的权限用户名单;
对于所述权限用户名单中的每一个用户,在所述临时数据库中为所述用户配置与所述临时数据库中存储的新建临时表对应的第一使用权限信息;以及,
对于所述权限用户名单中的每一个用户,在所述目标只读库中为所述用户配置与所述目标只读库中存储的业务表对应的第二使用权限信息。
可选地,所述基于数据库的数据处理方法还包括:
在所述临时数据库内执行所述sql脚本的过程中,获取所述临时数据库的资源消耗数据;其中,所述资源消耗数据至少包括CPU使用率、IO使用率、网络流量使用数据与内存使用数据;
获取与各所述资源消耗数据分别对应的资源消耗阈值;
判断每一个所述资源消耗数据是否均小于对应的资源消耗阈值;
若均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行正常的第一运行状态结果,并展示所述第一运行状态结果;
若未均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行异常的第二运行状态结果;
筛选出所述资源消耗数据中的异常数据,展示所述第二运行状态结果与所述异常数据。
本申请还提供一种基于数据库的数据处理装置,包括:
第一获取模块,用于获取与目标只读库具有对应关系的sql脚本;
配置模块,用于调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
执行模块,用于将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
第一存储模块,用于基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
第二存储模块,用于基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的基于数据库的数据处理方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的基于数据库的数据处理方法、装置、计算机设备和存储介质,在获取到与目标只读库具有对应关系的sql脚本时,会先调用预设的临时数据库,并在所述临时数据库与目标只读库之间配置dblink链路,然后将所述sql脚本提交到所述临时数据库,在所述临时数据库内执行所述sql脚本生成对应的执行结果数据,之后基于预设程序识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内,以及识别出所述业务表,并通过所述dblink链接将所述业务表存储至所述目标只读库。本申请通过基于临时数据库、dblink连接以及目标只读库的配合使用,即引入临时数据库,并配置目标只读库和临时库之间的dblink链路,以通过在临时数据库用dblink链路查询新目标只读库内的业务数据,并在临时数据库进行建表和更新表数据的操作,通过在临时数据库内对sql脚本进行的无感迁移处理实现了sql脚本的正常运行,并能准确生成与sql脚本对应的执行结果数据,有效地解决了sql脚本无法在目标只读库内正常运行的问题,提高了sql脚本处理的智能性。
附图说明
图1是本申请一实施例的基于数据库的数据处理方法的流程示意图;
图2是本申请一实施例的基于数据库的数据处理装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
参照图1,本申请一实施例的基于数据库的数据处理方法,包括:
S10:获取与目标只读库具有对应关系的sql脚本;
S20:调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
S30:将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
S40:基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
S50:基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
如上述步骤S10至S50所述,本方法实施例的执行主体为一种基于数据库的数据处理装置。在实际应用中,上述基于数据库的数据处理装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的基于数据库的数据处理装置,能够有效解决sql脚本无法在目标只读库内正常运行的问题,提高sql脚本处理的智能性。
具体地,首先获取与目标只读库具有对应关系的sql脚本。其中,所述目标只读库为只支持select语法,不支持DDL和DML操作的数据库,例如可以是因为该目标只读库设置了所有用户都无权限执行建表和更新表数据sql。由于在目标只读库内无法直接运行sql脚本,如果在该目标只读库内执行sql脚本,则目标只读库只会返回报错信息,无法正常得到结果数据。另外,与目标只读库具有对应关系的所述sql脚本为相关人员根据实际业务需求编写生成的用于对目标只读库内的业务数据进行数据处理的文本文件,sql脚本至少包括一条sql命令的sql查询语句,并通过相关的命令执行这个sql脚本文件。所述sql脚本也可称为数据处理sql脚本,sql脚本一般涉及在数据库执行DDL(oracle库建表语句)和DML(插入,修改,删除表数据语句)操作,例如对数据库存储的业务数据表做查询,汇聚,字段加工处理。
然后调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路。其中,所述临时数据库为预先创建的能够支持DDL和DML操作的数据库,当在该临时数据库提交运行sql脚本时,能够正常返回运行该sql脚本后所得到的执行结果数据。另外,dblink(Database Link)数据库链接,顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。在配置完成了所述临时数据库与目标只读库之间的dblink链路后,使得临时数据库可以通过该dblink链路来查询出目标只读库内的业务数据,进而可以根据接收到的sql脚本从目标只读库查询出所需处理的业务数据,并生成相应的结果数据。当执行sql脚本时,如果数据处理的计算逻辑复杂,会将部分结果数据先存放至临时表得到新建临时表,然后继续对临时表做数据清洗处理,直至得到目标结果数据,并可将目标结果数据存储至相应的表中得到业务表。
之后将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据。其中,所述执行结果数据包括新建临时表与业务表。其中,在临时数据库执行sql脚本时,会通过dblink从目标只读库查询出对应的业务数据,再对该业务数据进行处理以得到所述执行结果数据。在数据处理过程中,通常会先将部分结果数据存放到临时表汇总以生成对应的新建临时表,之后在对新建临时表进行数据清洗处理直至得到目标结果数据,再将目标结果数据存放到相应的表内以得到业务表。
最后基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内。以及基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。其中,所述预设程序为sql脚本自动调整程序,所述sql脚本自动调整程序可为相关人员根据实际业务需求后编写生成的代码程序。通过该sql脚本自动调整程序可以从所述执行结果数据筛选出新建临时表与业务表并进行区分,以在完成两类表的区分后将新建临时表与业务表分别存储至相应的数据库内。另外,在完成了所述临时数据库与目标只读库之间的dblink链路的配置后,便可将临时数据库中的业务表直接发送至目标只读库内进行存储,并且临时数据库会对内部的业务表进行删除,以减轻临时数据库的存储压力。由于临时数据库属于中转库,存储空间有限,不保存业务数据,故通过将业务表发送至目标只读库内进行存储,可以保证数据的规范存储,保障临时数据库的正常稳定运行。
本实施例中,在获取到与目标只读库具有对应关系的sql脚本时,会先调用预设的临时数据库,并在所述临时数据库与目标只读库之间配置dblink链路,然后将所述sql脚本提交到所述临时数据库,在所述临时数据库内执行所述sql脚本生成对应的执行结果数据,之后基于预设程序识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内,以及识别出所述业务表,并通过所述dblink链接将所述业务表存储至所述目标只读库。本实施例通过基于临时数据库、dblink连接以及目标只读库的配合使用,即引入临时数据库,并配置目标只读库和临时库之间的dblink链路,以通过在临时数据库用dblink链路查询新目标只读库内的业务数据,并在临时数据库进行建表和更新表数据的操作,通过在临时数据库内对sql脚本进行的无感迁移处理实现了sql脚本的正常运行,并能准确生成与sql脚本对应的执行结果数据,有效地解决了sql脚本无法在目标只读库内正常运行的问题,提高了sql脚本处理的智能性。
进一步地,本申请一实施例中,上述步骤S30之前,包括:
S300:调用预先训练生成的脚本异常分析模型;
S301:将所述sql脚本输入至所述脚本异常分析模型内,通过所述脚本异常分析模型对所述sql脚本进行异常分析得到对应的分析结果;其中,所述脚本异常分析模型为基于多个sql脚本样本,以及与所述sql脚本样本对应的异常标签结果进行训练生成的;
S302:判断所述分析结果是否为不存在异常;
S303:若为不存在异常,触发所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤;
S304:若为存在异常,生成与所述分析结果对应的预警信息,并展示所述预警信息。
如上述步骤S300至S304所述,在执行所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤之前,还可包括对所述sql脚本进行异常分析的过程。具体地,首先调用预先训练生成的脚本异常分析模型。然后将所述sql脚本输入至所述脚本异常分析模型内,通过所述脚本异常分析模型对所述sql脚本进行异常分析得到对应的分析结果。其中,所述脚本异常分析模型为基于多个sql脚本样本,以及与所述sql脚本样本对应的异常标签结果进行训练生成的。具体的,预先训练有神经网络模型,通过收集多个正常的sql脚本,以及多个异常的sql脚本作为sql脚本样本,并将sql脚本样本和sql脚本样本对应的异常标签结果输入到神经网络模型进行多次迭代训练,直到模型收敛后得到训练完成的神经网络模型,并作为所述脚本异常分析模型。异常标签结果可包括存在异常与不存在异常。其中,sql脚本样本对应的异常标签结果,可以是工程师预先在各个sql脚本样本中标注的,然后工程师再将标注后的sql脚本样本和对应的异常标签结果作为训练样本输入至神经网络模型中进行训练。在利用脚本异常分析模型对当前输入的sql脚本进行异常分析时,脚本异常分析模型会匹配与当前输入的sql脚本对应的训练结果,并获取训练结果关联的异常标签结果。当神经网络模型分析完成后,会输出sql脚本对应的异常标签结果。然后装置可以根据神经网络模型输出的异常标签结果生成分析结果,即将该异常标签结果作为所述分析结果。之后判断所述分析结果是否为不存在异常。若为不存在异常,触发所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤。而若为存在异常,生成与所述分析结果对应的预警信息,并展示所述预警信息。其中,所述预警信息至少包括所述分析结果,可将所述分析结果输入至预设的信息模板内以生成该预警信息,所述信息模板的内容可根据实际需求进行设置,例如可为:请注意,本次的sql脚本分析结果为:XXX,请尽快进行后续的异常排除!。本实施例在获得了sql脚本后,能够基于预设的脚本异常分析模型来快速准确地分析出当前获取的sql脚本是否有异常,只有sql脚本不存在异常时,后续才会继续执行与sql脚本相应的处理,有效地提高了sql脚本执行的规范性,避免在sql存在异常时也继续执行导致出现不必要的损耗,提高了sql脚本执行的智能性。
进一步地,本申请一实施例中,上述步骤S40之后,包括:
S400:运行预设的清理程序,判断与所述临时数据库内存储的所述新建临时表对应的指定数据是否满足预设条件;
S401:若满足所述预设条件,获取所述临时数据库内包含的所有新建临时表,并从所有所述新建临时表中筛选出包含有预设的重要标识的指定临时表;
S402:从预设的区块链中包含的所有存储区块中确定出指定存储区块;
S403:将所述指定临时表存储于所述指定存储区块上;
S404:在完成对于所述指定临时表的存储处理后,对所述临时数据库中的所有所述新建临时表进行清除处理。
如上述步骤S400至S404所述,所述将所述新建临时表存储至所述临时数据库内的步骤之后,还可包括对于所述临时数据库内的新建临时表的清除过程。具体地,首先运行预设的清理程序,判断与所述临时数据库内存储的所述新建临时表对应的指定数据是否满足预设条件。其中,所述清理程序可为相关人员根据实际业务需求后编写生成的用于对临时数据库内存储的新建临时表进行清除处理的代码程序。另外,所述指定数据可包括新建临时表的数量,或者新建临时表所占用的内存值,或者新建临时表所存储的时间长度。对应的,所述预设条件可包括新建临时表的数量大于预设数量阈值,或者新建临时表所占用的内存值大于预设内存阈值,或者新建临时表所存储的时间长度大于预设时间长度阈值。另外,对于所述预设数量阈值、预设内存阈值以及所述预设时间长度阈值的取值不作具体限定,可根据实际需求进行设置。若满足所述预设条件,获取所述临时数据库内包含的所有新建临时表,并从所有所述新建临时表中筛选出指定临时表。其中,在执行从所有新建临时表中筛选出包含有预设的重要标识的指定临时表的步骤之前还可包括指定临时表的生成过程:将所有新建临时表进行展示,获取目标用户从所有所述新建临时表中选择出的部分临时表,对所述部分临时表添加重要标识,并将与所述重要标识对应的所述部分临时表作为所述指定临时表。另外,装置会默认将目标用户选择出的部分临时表作为重要性较高,且后续可能还会需要使用到的临时表,并且会自动为该部分临时表中包括的每一个表均添加一个重要标识。对该重要标识的具体形式不作限定,例如可为一个红色图标,或者为一个填充有“重要”的文字的图标,等等。然后从预设的区块链中包含的所有存储区块中确定出指定存储区块。其中,对于所述从预设的区块链中包含的所有存储区块中确定出指定存储区块的具体实现过程,本申请将在后续的具体实施例中对此作进一步的描述,在此不予赘述。后续将所述指定临时表存储于所述指定存储区块上。最后在完成对于所述指定临时表的存储处理时,对所述临时数据库中的所有所述新建临时表进行清除处理。其中,临时数据库属于中转库,存储空间有限,不保存业务数据,通过定时清理新建临时表数据,能够防止临时数据库的存储暴增,有利于保证临时数据库的数据处理的正常进行。本实施例在对临时数据库内的新建临时表进行清除处理的过程中,并不会直接将所有新建临时表清除,而是会从所有新建临时表中筛选出部分重要的临时表保存至区块链,使得后续用户有需要的时候可以进行查阅,提高了新建临时表清理的智能性,提高了信息查询的稳定性,提高了用户的使用体验。
进一步地,本申请一实施例中,上述步骤S402,包括:
S4020:获取所述指定临时表的内存占用值;
S4021:从所有所述存储区块中筛选出可用内存大于所述内存占用值的第一存储区块;
S4022:从所有所述第一存储区块中筛选出在预设时间周期内的区块使用次数大于预设次数阈值的第二存储区块;
S4023:获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数,调用第一预设公式计算出各所述第二存储区块的存储分数值;
S4024:从所有所述存储分数值中筛选出数值最大的指定存储分数值;
S4025:从所有所述第二存储区块中获取与所述指定存储分数值对应的第三存储区块,并将所述第三存储区块作为所述指定存储区块。
如上述步骤S4020至S4025所述,所述从预设的区块链中包含的所有存储区块中确定出指定存储区块的步骤,具体可包括:首先获取所述指定临时表的内存占用值。然后从所有所述存储区块中筛选出可用内存大于所述内存占用值的第一存储区块。之后从所有所述第一存储区块中筛选出在预设时间周期内的区块使用次数大于预设次数阈值的第二存储区块。其中,对所述预设时间周期的取值不作具体限定,例如可为距离当前时间的前一个月内。以及对所述预设次数阈值的取值也不作具体限定,可根据实际需求进行设置。后续获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数,调用第一预设公式计算出各所述第二存储区块的存储分数值。其中,所述区块使用次数是指存储区块在该预设时间周期内进行数据存储的次数,所述存储内存使用量是指存储区块在该预设时间周期内进行的所有数据存储处理所花费的内存使用量。所述。具体的数据清理指数为用于表征存储区块在该预设时间周期内的存储的数据被清理的可能性的数值,数据清理指数的数值越大则数据被清理的可能性越大,数据清理指数的数值越小则数据被清理的可能性越小。具体地,所述第一预设公式可为:s=(N*a+C*b+L*c)/J,s为存储分数值,N为当前可用内存,a为当前可用内存的权重,C为在所述预设时间周期内的区块使用次数,b为区块使用次数的权重,L为在所述预设时间周期内的存储内存使用量,c为存储内存使用量的权重,J为在所述预设时间周期内的数据清理指数。若存储区块的当前可用内存越大,区块使用次数越大,存储内存使用量越大,数据清理指数越小,则表示该存储区块为用户常用的存储区块,且该存储区块内存储的数据被清理的可能性越小,故使用该存储区块进行数据存储可以保证用户的使用满意度,提高存储智能性。进一步从所有所述存储分数值中筛选出数值最大的指定存储分数值。最后从所有所述第二存储区块中获取与所述指定存储分数值对应的第三存储区块,并将所述第三存储区块作为所述指定存储区块。本实施例中,首先会根据可用内存与预设时间周期内的区块使用次数来从区块链的所有存储区块中先确定出第二存储区块,使得后续只需对第二存储区块进行数据处理,有效地减少了数据处理量,提高了指定存储区域的生成速率。另外,通过获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数,并基于第一预设公式计算出各所述第二存储区块的存储分数值,进而将与数值最大的存储分数值对应的第三存储区块作为所述目标存储区块,以实现根据存储区块的存储情况和清理情况合理选取相应的存储区块来进行对确定出的指定临时表的存储,有效的保证了得到的指定存储区块的准确性,也可以减少指定临时表被清理的可能性,提高了指定临时表的存储效率,以方便用户能够快速查询,有效地提高了用户使用体验。
进一步地,本申请一实施例中,上述步骤S4023之前,包括:
S40230:获取第四存储区块在所述预设时间周期内的数据清理频次;其中,所述第四存储区块为所有所述第二存储区块中的任意一个区块;
S40231:获取所述第四存储区块在所述预设时间周期内每一次的清理内存数值;
S40232:从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
S40233:获取所述指定清理内存数值的数量;
S40234:计算每一个所述指定清理内存数值与所述清理内存阈值之间的差值,并计算所有所述差值的和值得到内存超出总量;
S40235:获取与所述数据清理频次对应的第一权重,与所述指定清理内存数值对应的第二权重,以及与所述内存超出总量对应的第三权重;
S40236:基于所述第一权重、所述第二权重与所述第三权重,调用第二预设公式对所述数据清理频次、所述指定清理内存数值的数量以及所述内存超出总量进行计算处理得到对应的计算结果值;
S40237:将所述计算结果值作为所述第四存储区块的数据清理指数。
如上述步骤S40230至S40237所述,所述获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数的步骤之前,还可包括所述数据清理指数的计算生成过程。具体地,首先获取第四存储区块在所述预设时间周期内的数据清理频次。其中,所述第四存储区块为所有所述第二存储区块中的任意一个区块。以及获取所述第四存储区块在所述预设时间周期内每一次的清理内存数值。然后从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值。其中,对于所述清理内存阈值的取值不作具体限定,可根据实际需求进行设置。之后获取所述指定清理内存数值的数量。后续计算每一个所述指定清理内存数值与所述清理内存阈值之间的差值,并计算所有所述差值的和值得到内存超出总量。进一步获取与所述数据清理频次对应的第一权重,与所述指定清理内存数值对应的第二权重,以及与所述内存超出总量对应的第三权重。其中,对于所述第一权重、第二权重以及第三权重的取值不作具体限定,可根据实际需求进行设置或根据大量数据模拟得到。最后基于所述第一权重、所述第二权重与所述第三权重,调用第二预设公式对所述数据清理频次、所述指定清理内存数值的数量以及所述内存超出总量进行计算处理得到对应的计算结果值,并将所述计算结果值作为所述第四存储区块的数据清理指数。具体的,所述第二预设公式可为:z=P*d+Q*e+R*f,z为数据清理指数,P为数据清理频次、d为数据清理频次的第一权重,Q为指定清理内存数值的数量,e为指定清理内存数值的数量的第二权重,R为内存超出总量,f为内存超出总量的第三权重。本实施例通过获取预设时间周期内的各第四存储区块的数据清理频次、指定清理内存数值的数量以及内存超出总量来快速准确地计算出每一个第四存储区块的数据清理指数,有利于后续能够基于该数据清理指数来准确地计算出各所述第四存储区块的存储分数值,进而可以根据存储分数值来快速准确地完成指定存储区块的确定。
进一步地,本申请一实施例中,上述步骤S50之后,包括:
S500:运行预设的表权限控制程序,获取预先创建的权限用户名单;
S501:对于所述权限用户名单中的每一个用户,在所述临时数据库中为所述用户配置与所述临时数据库中存储的新建临时表对应的第一使用权限信息;以及,
S502:对于所述权限用户名单中的每一个用户,在所述目标只读库中为所述用户配置与所述目标只读库中存储的业务表对应的第二使用权限信息。
如上述步骤S500至S502所述,所述基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内的步骤之后,还可包括对于临时数据库内的新建临时表以及目标只读库内的业务表的权限管控处理过程。具体地,首先运行预设的表权限控制程序,获取预先创建的权限用户名单。其中,所述表权限控制程序可为相关人员根据实际业务需求后编写生成的用于对临时数据库内的新建临时表以及目标只读库内的业务表的权限管控的代码程序。所述权限用户名单为根据实际的使用需求预先生成的名单,该名单内至少包括具有合法身份的用户,以及与各用户对应的权限信息。然后对于所述权限用户名单中的每一个用户,在所述临时数据库中为所述用户配置与所述临时数据库中存储的新建临时表对应的第一使用权限信息。以及对于所述权限用户名单中的每一个用户,在所述目标只读库中为所述用户配置与所述目标只读库中存储的业务表对应的第二使用权限信息。其中,所述权限用户名单中记录了各用户对应的权限信息,且该权限信息内包括了用户对于数据表的使用权限信息,进而后续可以根据各用户的权限信息来对各用户进行关于新建临时表与业务表的使用权限的配置处理。本实施例中,通过获取权限用户名单,再基于该权限用户名单来将临时表与业务表的使用权限细化到具体的用户上,从而可以合理地对临时表与业务表的使用权限进行了配置处理,有效地保证了对于数据表的权限配置的规范性,使得相关用户能够根据自身的权限信息来查看到相应的数据表,保证了用户的使用体验。
进一步地,本申请一实施例中,所述基于数据库的数据处理方法还包括:
S510:在所述临时数据库内执行所述sql脚本的过程中,获取所述临时数据库的资源消耗数据;其中,所述资源消耗数据至少包括CPU使用率、IO使用率、网络流量使用数据与内存使用数据;
S511:获取与各所述资源消耗数据分别对应的资源消耗阈值;
S512:判断每一个所述资源消耗数据是否均小于对应的资源消耗阈值;
S513:若均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行正常的第一运行状态结果,并展示所述第一运行状态结果;
S514:若未均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行异常的第二运行状态结果;
S515:筛选出所述资源消耗数据中的异常数据,展示所述第二运行状态结果与所述异常数据。
如上述步骤S510至S515所述,在所述临时数据库内执行所述sql脚本的过程中,还可包括对于还包括对所述临时数据库的运行状态进行分析的过程。具体地,在所述临时数据库内执行所述sql脚本的过程中,首先获取所述临时数据库的资源消耗数据。其中,所述资源消耗数据至少包括CPU使用率、IO使用率、网络流量使用数据与内存使用数据。然后获取与各所述资源消耗数据分别对应的资源消耗阈值。其中,对于所述资源消耗阈值的取值不作具体限定,可根据实际需求进行设置。之后判断每一个所述资源消耗数据是否均小于对应的资源消耗阈值。若均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行正常的第一运行状态结果,并展示所述第一运行状态结果。其中,对于第一运行状态结果的展示方式不作限定,例如可包括文字信息展示、语音展示等方式。而若未均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行异常的第二运行状态结果。后续筛选出所述资源消耗数据中的异常数据,展示所述第二运行状态结果与所述异常数据。其中,所述异常数据是指所述资源消耗数据中大于相应的资源消耗阈值所对应的指定资源消耗数据。另外,只有判定出每一个资源消耗数据均小于对应的资源消耗阈值时,才会判定临时数据库为处于运行正常的状态,保证了生成的临时数据库的运行状态结果的准确性。本实施例中,在所述临时数据库内执行所述sql脚本的过程中,还可获取该临时数据库的资源消耗信息,并基于预设的资源消耗阈值对临时的资源消耗信息进行状态识别,来快速准确的得到临时数据库的运行状态,以及将得到的运行状态结果进行展示,使得用户可以根据展示的信息清楚的了解到临时数据库当前的运行状态,并能够根据该运行状态及时采取相应的处理措施,从而可以有效确保临时数据库的安全运作以及数据处理的正确运作,提高了用户的使用体验。
本申请实施例中的基于数据库的数据处理方法还可以应用于区块链领域,如将上述执行结果数据等数据存储于区块链上。通过使用区块链来对上述执行结果数据进行存储和管理,能够有效地保证上述执行结果数据的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种基于数据库的数据处理装置,包括:
第一获取模块1,用于获取与目标只读库具有对应关系的sql脚本;
配置模块2,用于调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
执行模块3,用于将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
第一存储模块4,用于基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
第二存储模块5,用于基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述基于数据库的数据处理装置,包括:
调用模块,用于调用预先训练生成的脚本异常分析模型;
分析模块,用于将所述sql脚本输入至所述脚本异常分析模型内,通过所述脚本异常分析模型对所述sql脚本进行异常分析得到对应的分析结果;其中,所述脚本异常分析模型为基于多个sql脚本样本,以及与所述sql脚本样本对应的异常标签结果进行训练生成的;
第一判断模块,用于判断所述分析结果是否为不存在异常;
触发模块,用于若为不存在异常,触发所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤;
第一生成模块,用于若为存在异常,生成与所述分析结果对应的预警信息,并展示所述预警信息。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述基于数据库的数据处理装置,包括:
第二判断模块,用于运行预设的清理程序,判断与所述临时数据库内存储的所述新建临时表对应的指定数据是否满足预设条件;
第二获取模块,用于若满足所述预设条件,获取所述临时数据库内包含的所有新建临时表,并从所有所述新建临时表中筛选出包含有预设的重要标识的指定临时表;
确定模块,用于从预设的区块链中包含的所有存储区块中确定出指定存储区块;
第三存储模块,用于将所述指定临时表存储于所述指定存储区块上;
清除模块,用于在完成对于所述指定临时表的存储处理后,对所述临时数据库中的所有所述新建临时表进行清除处理。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述确定模块,包括:
第一获取单元,用于获取所述指定临时表的内存占用值;
第一筛选单元,用于从所有所述存储区块中筛选出可用内存大于所述内存占用值的第一存储区块;
第二筛选单元,用于从所有所述第一存储区块中筛选出在预设时间周期内的区块使用次数大于预设次数阈值的第二存储区块;
第一计算单元,用于获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数,调用第一预设公式计算出各所述第二存储区块的存储分数值;
第三筛选单元,用于从所有所述存储分数值中筛选出数值最大的指定存储分数值;
第一确定单元,用于从所有所述第二存储区块中获取与所述指定存储分数值对应的第三存储区块,并将所述第三存储区块作为所述指定存储区块。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述确定模块,包括:
第二获取单元,用于获取第四存储区块在所述预设时间周期内的数据清理频次;其中,所述第四存储区块为所有所述第二存储区块中的任意一个区块;
第三获取单元,用于获取所述第四存储区块在所述预设时间周期内每一次的清理内存数值;
第四筛选单元,用于从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
第四获取单元,用于获取所述指定清理内存数值的数量;
第二计算单元,用于计算每一个所述指定清理内存数值与所述清理内存阈值之间的差值,并计算所有所述差值的和值得到内存超出总量;
第五获取单元,用于获取与所述数据清理频次对应的第一权重,与所述指定清理内存数值对应的第二权重,以及与所述内存超出总量对应的第三权重;
第三计算单元,用于基于所述第一权重、所述第二权重与所述第三权重,调用第二预设公式对所述数据清理频次、所述指定清理内存数值的数量以及所述内存超出总量进行计算处理得到对应的计算结果值;
第二确定单元,用于将所述计算结果值作为所述第四存储区块的数据清理指数。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述基于数据库的数据处理装置,包括:
第三获取模块,用于运行预设的表权限控制程序,获取预先创建的权限用户名单;
第一设置模块,用于对于所述权限用户名单中的每一个用户,在所述临时数据库中为所述用户配置与所述临时数据库中存储的新建临时表对应的第一使用权限信息;以及,
第二设置模块,用于对于所述权限用户名单中的每一个用户,在所述目标只读库中为所述用户配置与所述目标只读库中存储的业务表对应的第二使用权限信息。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述基于数据库的数据处理装置,包括:
第四获取模块,用于在所述临时数据库内执行所述sql脚本的过程中,获取所述临时数据库的资源消耗数据;其中,所述资源消耗数据至少包括CPU使用率、IO使用率、网络流量使用数据与内存使用数据;
第五获取模块,用于获取与各所述资源消耗数据分别对应的资源消耗阈值;
第三判断模块,用于判断每一个所述资源消耗数据是否均小于对应的资源消耗阈值;
第二生成模块,用于若均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行正常的第一运行状态结果,并展示所述第一运行状态结果;
第三生成模块,用于若未均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行异常的第二运行状态结果;
展示模块,用于筛选出所述资源消耗数据中的异常数据,展示所述第二运行状态结果与所述异常数据。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的基于数据库的数据处理方法的步骤一一对应,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储sql脚本、预设程序、新建临时表以及业务表。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种基于数据库的数据处理方法。
上述处理器执行上述基于数据库的数据处理方法的步骤:
获取与目标只读库具有对应关系的sql脚本;
调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于数据库的数据处理方法,具体为:
获取与目标只读库具有对应关系的sql脚本;
调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
综上所述,本申请实施例中提供的基于数据库的数据处理方法、装置、计算机设备和存储介质,在获取到与目标只读库具有对应关系的sql脚本时,会先调用预设的临时数据库,并在所述临时数据库与目标只读库之间配置dblink链路,然后将所述sql脚本提交到所述临时数据库,在所述临时数据库内执行所述sql脚本生成对应的执行结果数据,之后基于预设程序识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内,以及识别出所述业务表,并通过所述dblink链接将所述业务表存储至所述目标只读库。本申请实施例通过基于临时数据库、dblink连接以及目标只读库的配合使用,即引入临时数据库,并配置目标只读库和临时库之间的dblink链路,以通过在临时数据库用dblink链路查询新目标只读库内的业务数据,并在临时数据库进行建表和更新表数据的操作,通过在临时数据库内对sql脚本进行的无感迁移处理实现了sql脚本的正常运行,并能准确生成与sql脚本对应的执行结果数据,有效地解决了sql脚本无法在目标只读库内正常运行的问题,提高了sql脚本处理的智能性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于数据库的数据处理方法,其特征在于,包括:
获取与目标只读库具有对应关系的sql脚本;
调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
2.根据权利要求1所述的基于数据库的数据处理方法,其特征在于,所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤之前,包括:
调用预先训练生成的脚本异常分析模型;
将所述sql脚本输入至所述脚本异常分析模型内,通过所述脚本异常分析模型对所述sql脚本进行异常分析得到对应的分析结果;其中,所述脚本异常分析模型为基于多个sql脚本样本,以及与所述sql脚本样本对应的异常标签结果进行训练生成的;
判断所述分析结果是否为不存在异常;
若为不存在异常,触发所述将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据的步骤;
若为存在异常,生成与所述分析结果对应的预警信息,并展示所述预警信息。
3.根据权利要求1所述的基于数据库的数据处理方法,其特征在于,所述将所述新建临时表存储至所述临时数据库内的步骤之后,包括:
运行预设的清理程序,判断与所述临时数据库内存储的所述新建临时表对应的指定数据是否满足预设条件;
若满足所述预设条件,获取所述临时数据库内包含的所有新建临时表,并从所有所述新建临时表中筛选出包含有预设的重要标识的指定临时表;
从预设的区块链中包含的所有存储区块中确定出指定存储区块;
将所述指定临时表存储于所述指定存储区块上;
在完成对于所述指定临时表的存储处理后,对所述临时数据库中的所有所述新建临时表进行清除处理。
4.根据权利要求3所述的基于数据库的数据处理方法,其特征在于,所述从预设的区块链中包含的所有存储区块中确定出指定存储区块的步骤,包括:
获取所述指定临时表的内存占用值;
从所有所述存储区块中筛选出可用内存大于所述内存占用值的第一存储区块;
从所有所述第一存储区块中筛选出在预设时间周期内的区块使用次数大于预设次数阈值的第二存储区块;
获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数,调用第一预设公式计算出各所述第二存储区块的存储分数值;
从所有所述存储分数值中筛选出数值最大的指定存储分数值;
从所有所述第二存储区块中获取与所述指定存储分数值对应的第三存储区块,并将所述第三存储区块作为所述指定存储区块。
5.根据权利要求4所述的基于数据库的数据处理方法,其特征在于,所述获取各所述第二存储区块的当前可用内存、在所述预设时间周期内的区块使用次数、存储内存使用量以及数据清理指数的步骤之前,包括:
获取第四存储区块在所述预设时间周期内的数据清理频次;其中,所述第四存储区块为所有所述第二存储区块中的任意一个区块;
获取所述第四存储区块在所述预设时间周期内每一次的清理内存数值;
从所有所述清理内存数值中筛选出数值大于预设的清理内存阈值的指定清理内存数值;
获取所述指定清理内存数值的数量;
计算每一个所述指定清理内存数值与所述清理内存阈值之间的差值,并计算所有所述差值的和值得到内存超出总量;
获取与所述数据清理频次对应的第一权重,与所述指定清理内存数值对应的第二权重,以及与所述内存超出总量对应的第三权重;
基于所述第一权重、所述第二权重与所述第三权重,调用第二预设公式对所述数据清理频次、所述指定清理内存数值的数量以及所述内存超出总量进行计算处理得到对应的计算结果值;
将所述计算结果值作为所述第四存储区块的数据清理指数。
6.根据权利要求1所述的基于数据库的数据处理方法,其特征在于,所述基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内的步骤之后,包括:
运行预设的表权限控制程序,获取预先创建的权限用户名单;
对于所述权限用户名单中的每一个用户,在所述临时数据库中为所述用户配置与所述临时数据库中存储的新建临时表对应的第一使用权限信息;以及,
对于所述权限用户名单中的每一个用户,在所述目标只读库中为所述用户配置与所述目标只读库中存储的业务表对应的第二使用权限信息。
7.根据权利要求1所述的基于数据库的数据处理方法,其特征在于,所述基于数据库的数据处理方法还包括:
在所述临时数据库内执行所述sql脚本的过程中,获取所述临时数据库的资源消耗数据;其中,所述资源消耗数据至少包括CPU使用率、IO使用率、网络流量使用数据与内存使用数据;
获取与各所述资源消耗数据分别对应的资源消耗阈值;
判断每一个所述资源消耗数据是否均小于对应的资源消耗阈值;
若均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行正常的第一运行状态结果,并展示所述第一运行状态结果;
若未均小于对应的资源消耗阈值,生成与所述临时数据库对应的运行异常的第二运行状态结果;
筛选出所述资源消耗数据中的异常数据,展示所述第二运行状态结果与所述异常数据。
8.一种基于数据库的数据处理装置,其特征在于,包括:
第一获取模块,用于获取与目标只读库具有对应关系的sql脚本;
配置模块,用于调用预设的临时数据库,并在所述临时数据库与所述目标只读库之间配置dblink链路;其中,所述临时数据库为支持DDL和DML操作的数据库;
执行模块,用于将所述sql脚本提交至所述临时数据库,在所述临时数据库内执行所述sql脚本得到对应的执行结果数据;其中,所述执行结果数据包括新建临时表与业务表;
第一存储模块,用于基于预设程序从所述执行结果数据中识别出所述新建临时表,并将所述新建临时表存储至所述临时数据库内;以及,
第二存储模块,用于基于所述预设程序从所述执行结果数据中识别出所述业务表,并通过所述dblink链路将所述业务表存储至所述目标只读库内。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435049.6A CN114090548A (zh) | 2021-11-29 | 2021-11-29 | 基于数据库的数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435049.6A CN114090548A (zh) | 2021-11-29 | 2021-11-29 | 基于数据库的数据处理方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090548A true CN114090548A (zh) | 2022-02-25 |
Family
ID=80305735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111435049.6A Pending CN114090548A (zh) | 2021-11-29 | 2021-11-29 | 基于数据库的数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090548A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070203933A1 (en) * | 2006-02-24 | 2007-08-30 | Iversen Heine K | Method for generating data warehouses and OLAP cubes |
CN104462344A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 在目标服务器构建etl系统的处理方法及装置 |
CN109635024A (zh) * | 2018-11-23 | 2019-04-16 | 华迪计算机集团有限公司 | 一种数据迁移方法及系统 |
CN110019312A (zh) * | 2017-12-29 | 2019-07-16 | 中国移动通信集团山西有限公司 | 读写数据分离调度方法、装置、设备及介质 |
CN113505128A (zh) * | 2021-06-30 | 2021-10-15 | 平安科技(深圳)有限公司 | 创建数据表的方法、装置、设备及存储介质 |
-
2021
- 2021-11-29 CN CN202111435049.6A patent/CN114090548A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070203933A1 (en) * | 2006-02-24 | 2007-08-30 | Iversen Heine K | Method for generating data warehouses and OLAP cubes |
CN104462344A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 在目标服务器构建etl系统的处理方法及装置 |
CN110019312A (zh) * | 2017-12-29 | 2019-07-16 | 中国移动通信集团山西有限公司 | 读写数据分离调度方法、装置、设备及介质 |
CN109635024A (zh) * | 2018-11-23 | 2019-04-16 | 华迪计算机集团有限公司 | 一种数据迁移方法及系统 |
CN113505128A (zh) * | 2021-06-30 | 2021-10-15 | 平安科技(深圳)有限公司 | 创建数据表的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113516297A (zh) | 基于决策树模型的预测方法、装置和计算机设备 | |
CN106599713B (zh) | 一种基于大数据的数据库脱敏系统及方法 | |
CN111737963B (zh) | 基于配置文件的表单填写方法、装置和计算机设备 | |
CN112540811B (zh) | 缓存数据的检测方法、装置、计算机设备和存储介质 | |
CN113642039A (zh) | 单证模板的配置方法、装置、计算机设备和存储介质 | |
CN114218097A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN112668041A (zh) | 单证文件的生成方法、装置、计算机设备和存储介质 | |
WO2014008491A2 (en) | System and related method to facilitate process control | |
CN113326081A (zh) | 静态资源的处理方法、装置、计算机设备和存储介质 | |
CN112597158A (zh) | 数据匹配方法、装置、计算机设备和存储介质 | |
CN113127450A (zh) | 数据的维护方法、装置、计算机设备及存储介质 | |
CN114090408A (zh) | 数据监控分析方法、装置、计算机设备和存储介质 | |
CN113626285A (zh) | 基于模型的作业监控方法、装置、计算机设备和存储介质 | |
CN114817055A (zh) | 基于接口的回归测试方法、装置、计算机设备和存储介质 | |
CN112650659B (zh) | 埋点设置方法、装置、计算机设备和存储介质 | |
CN114237886A (zh) | 任务处理方法、装置、计算机设备和存储介质 | |
CN113656588A (zh) | 基于知识图谱的数据对码方法、装置、设备和存储介质 | |
CN113986581A (zh) | 数据聚合处理方法、装置、计算机设备和存储介质 | |
CN113327037A (zh) | 基于模型的风险识别方法、装置、计算机设备和存储介质 | |
CN113535260B (zh) | 基于模拟器的数据处理方法、装置、设备及存储介质 | |
CN113177396B (zh) | 报表生成方法、装置、计算机设备和存储介质 | |
CN114090548A (zh) | 基于数据库的数据处理方法、装置、设备和存储介质 | |
CN115225636A (zh) | 请求处理方法、装置、计算机设备和存储介质 | |
CN113077185B (zh) | 工作量评估方法、装置、计算机设备和存储介质 | |
CN114547053A (zh) | 基于系统的数据处理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |