基于人工智能的软件工程数据库维护与预警系统的制作方法

文档序号:21973011发布日期:2020-08-25 19:03阅读:173来源:国知局
基于人工智能的软件工程数据库维护与预警系统的制作方法

本发明属于数据库维护领域,尤其涉及一种利用边缘计算设备的基于人工智能的软件工程数据库维护与预警系统。



背景技术:

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

一个数据库被创建以后的工作都叫做数据库维护。包括备份系统数据、恢复数据库系统、产生用户信息表,并为信息表授权、监视系统运行状况,及时处理系统错误、保证系统数据安全,周期更改用户口令,数据库维护比数据库的创建和使用更难。

事务日志(又称日志数据库)是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式变化。事务日志还称作前滚日志或重做日志。事务日志是备份和恢复的重要组件,也是使用sqlremote或[复制代理]复制数据所必需的。在缺省情况下,所有数据库都使用事务日志。事务日志的使用是可选的,但是,除非您因特殊原因而不使用,否则您应始终使用它。运行带有事务日志的数据库可提供更强的故障保护功能、更好的性能以及数据复制功能。

数据库故障是由于程序执行错误而引起事务非预期的、异常终止的故障。它发生在单个事务的局部范围内,实际上就是程序的故障。有的事务故障(数据库故障)可以通过事务程序本身发现。通常情况下,故障伴随着日志警报信息,因此,一般的数据库维护都是当日志报警时才开始,不能提前进行预警。

申请号为cn201911186146.9的中国发明专利申请提出一种数据库性能诊断方法及其系统、设备、介质,所述方法包括如下步骤:实时监测oracle数据库的预警指标,并在所述预警指标触及预警条件时,生成预警信号;根据所述预警信号获取预设时间段内oracle数据库的性能指标;根据所述性能指标进行诊断得到oracle数据库发生故障的可信度。所述存储介质为计算机可读存储介质,其上存储有用于实现所述数据库性能诊断方法的计算机程序。所述设备包括处理器和存储有所述计算机程序的存储器,能够实现所述数据库性能诊断方法。该技术方案能够实现数据库性能与故障的诊断,进行预警,及早通知相关人员进行干预,避免真正的告警或事故产生,有效减少数据库宕机,大大提高运维的稳定性。

申请号为cn201410792124.8的中国发明专利申请提出一种日志分析的计算机实现的方法、计算机及系统,属于计算机领域。方法包括:从日志存储装置中,获取目标日志的至少一个分析规则,分析规则至少包括人物、地点、时间、操作名称、操作频次和操作内容中的一个;根据至少一个分析规则,生成与目标日志对应的预警模型;根据预警模型,周期性地分析目标日志。本发明通过目标日志的至少一个分析规则生成的预警模型对日志进行分析,减少处理大量的报警信息时存在的误报警现象,提高了日志分析的效率。

申请号为cn201310125628.x的中国发明专利申请提出的数据库性能自动分析和预警系统通过数据库性能数据定时采集工具周期性地采集数据库性能数据,通过数据库性能自动分析工具对采集到的性能数据进行实时自动分析,将分析结果与数据库性能基线对比及时发现性能隐患,并通过可配置的预警机制进行自动报警,从而及时进行人工干预,避免对业务系统的运行造成影响。对数据库性能数据的自动分析分为两阶段,第一阶段对单次性能数据进行分析,第二阶段对连续多次性能数据进行综合关联分析并预测未来性能状况。预警系统可提供电子邮件、手机短信、即时消息、日志、屏幕显示、语音、指示灯等多种报警方法。

然而,发明人发现,对于大规模软件工程数据库来说,上述现有技术的数据流维护或者预警方案可靠性不强,往往会出现错误的结果;单一的文本比对分析也无法准确的对大型数据块本身可能出现的性能错误提前做出预警。



技术实现要素:

为解决上述技术问题,本发明提出一种基于人工智能的软件工程数据库维护与预警系统,包括日志数据库、日志解析模块与边缘计算任务分配模块。将第i个周期获取的运行状态信息数据di按照大小为ti的时间窗口划分为多个数据块之后,由边缘计算任务分配模块分配给多个边缘计算终端;多个边缘计算终端处理完当前数据块后,将处理反馈信息发送至边缘计算任务分配模块,边缘计算任务分配模块基于所述处理反馈信息调节所述时间窗口的大小为ti+1,并将第i+1个周期获取的运行状态信息数据di+1按照大小为ti+1的时间窗口划分为多个数据块后分配给多个边缘终端。如果所述日志数据库识别出包含警报级别以上的状态信息,则直接将状态信息发送给所述用户移动终端。在本发明中,所述多个数据块的每一个至少由两个边缘计算终端进行处理,因此,本发明利用人工智能技术以及数据挖掘技术提前对软件工程数据库可能存在的风险状况提前做出预测以及预警,同时预测结果稳定可靠。

具体来说,本申请的技术方案整体上概括如下:

一种基于人工智能的软件工程数据库维护与预警系统,所述维护与预警系统包括日志数据库、日志解析模块与边缘计算任务分配模块。

所述日志数据库用于记录所述软件工程数据库的运行状态信息,并在正常工作状态下定期将所述运行状态信息发送至日志解析模块。

作为本发明的第一个创新点,在本发明中,利用所述日志解析模块接收所述运行状态信息,并对其进行解析。

具体来说,所述日志解析模块连接多个边缘计算终端,所述多个边缘计算终端的每一个内置不同的数据挖掘模型;

作为体现上述创新点的关键技术手段,在本发明将第i个周期获取的运行状态信息数据di按照大小为ti的时间窗口划分为多个数据块之后,由所述边缘计算任务分配模块将所述多个数据块分配给所述多个边缘计算终端;i为大于1的正整数;

值得注意的是,不同于现有技术的单一比对或者文本预测,在本发明中,所述多个数据块的每一个至少由两个边缘计算终端进行处理;

作为体现本发明上述创新点的关键技术手段,所述维护与预警系统还至少与一个用户移动终端远程连接;

所述多个数据块的每一个至少由两个边缘计算终端进行处理,具体包括:

针对数据块dataj,先将其分配给第一边缘计算终端,所述第一边缘计算终端利用第一数据挖掘模型对数据块dataj进行解析后,

如果解析结果为不存在风险,则将处理反馈信息发送给所述边缘计算任务分配模块,由所述边缘计算任务分配模块将所述数据块dataj发送给第二边缘计算终端。

如果解析结果为存在风险,则发送提示信息给所述用户移动终端,由所述用户移动终端指定第二边缘计算终端对所述数据块dataj进行再次解析;

所述提示信息包括所述第一边缘计算终端的解析结果、第一边缘计算终端内置的数据挖掘模型以及多个第二边缘计算终端内置的数据挖掘模型类型。

在每一个周期中,所述多个边缘计算终端处理完当前数据块后,将处理反馈信息发送至所述边缘计算任务分配模块,所述边缘计算任务分配模块基于所述处理反馈信息调节所述时间窗口的大小为ti+1,并将第i+1个周期获取的运行状态信息数据di+1按照大小为ti+1的时间窗口划分为多个数据块后分配给所述多个边缘计算终端。

所述多个边缘计算终端处理完当前数据块后,将处理反馈信息发送至所述边缘计算任务分配模块,所述边缘计算任务分配模块基于所述处理反馈信息调节所述时间窗口的大小为ti+1,具体包括:

在第i个周期结束后,所述边缘计算任务分配模块获取n个边缘计算终端发送的处理反馈信息fs,基于所述处理反馈信息fs计算第i个周期的调节反馈值f,从而得到所述ti+1,其中s=1,2......,n。

所述边缘计算任务分配模块获取n个边缘计算终端发送的处理反馈信息fs,基于所述处理反馈信息fs计算第i个周期的调节反馈值f,从而得到所述ti+1,具体包括:

tj为第s个边缘计算设备针对第j个数据块dataj得出处理结果的时间;lj为所述数据块dataj的大小,cj为获取所述数据块dataj的延迟时间;

所述第i个周期的调节反馈值

其中,f为第i-1个周期的调节反馈值;ej为数据块dataj的解析结果值。

所述日志解析模块连接多个边缘计算终端,所述多个边缘计算终端的每一个内置不同的数据挖掘模型,具体包括:

所述数据挖掘模型包括基于时间衰减模型的数据流闭合模型、基于滑动窗口数据流频繁项集挖掘模型、频繁模式决策树处理可变数据流处理模型。

所述边缘计算任务分配模块将所述多个数据块分配给所述多个边缘计算终端,具体包括:

所述边缘计算任务分配模块基于所述多个边缘计算终端前一个周期内上报的处理反馈信息,将数据库分配给对应边缘计算终端,使得对应的边缘计算终端下一个周期上报的处理反馈信息fs减少。

所述日志数据库用于记录所述软件工程数据库的运行状态信息,进一步包括:

如果所述日志数据库识别出包含警报级别以上的状态信息,则直接将状态信息发送给所述用户移动终端。

如果解析结果为不存在风险,则将处理反馈信息发送给所述边缘计算任务分配模块,由所述边缘计算任务分配模块将所述数据块dataj发送给第二边缘计算终端,进一步包括:

将所述数据块dataj与所述第一边缘计算终端的解析结果发送给所述第二边缘计算终端。

本发明的进一步优点将结合说明书附图在具体实施例部分进一步详细体现。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的基于人工智能的软件工程数据库维护与预警系统的整体架构图。

图2是图1所述系统中对于分块数据块的处理的细节示意图。

图3是图2或图1所述系统中流程的周期循环示意图。

图4是本申请的技术方案的总体方案实现示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和实施例对本发明做进一步说明。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。下面,结合附图以及具体实施方式,对发明做出进一步的描述。

参照图1,是本发明一个实施例的基于人工智能的软件工程数据库维护与预警系统的整体架构图。

在图1中,包括多个软件工程数据库,所述多个软件工程数据库组成了本申请的技术方案维护与预警的对象。

在该实施例中,包括日志数据库、时间窗口分块模块、边缘计算任务分配模块以及日志解析模块。

所述日志数据库用于记录所述软件工程数据库的运行状态信息,并在正常工作状态下定期将所述运行状态信息发送至日志解析模块。

如果所述日志数据库识别出包含警报级别以上的状态信息,即处于非正常工作状态下,则直接将状态信息发送给所述用户移动终端。

所述多个日志解析模块包括多个边缘计算终端;所述多个边缘计算终端的每一个内置不同的数据挖掘模型。

所述日志解析模块接收所述运行状态信息,并对其进行解析。

值得注意的是,所述多个数据块的每一个至少由两个边缘计算终端进行处理。

在图1中,将第i个周期获取的运行状态信息数据di按照大小为ti的时间窗口划分为多个数据块之后,由所述边缘计算任务分配模块将所述多个数据块分配给所述多个边缘计算终端。

在图1基础上结合图2,所述多个边缘计算终端处理完当前数据块后,将处理反馈信息发送至所述边缘计算任务分配模块,所述边缘计算任务分配模块基于所述处理反馈信息调节所述时间窗口的大小为ti+1,并将第i+1个周期获取的运行状态信息数据di+1按照大小为ti+1的时间窗口划分为多个数据块后分配给所述多个边缘计算终端。

针对数据块dataj,先将其分配给第一边缘计算终端,所述第一边缘计算终端利用第一数据挖掘模型对数据块dataj进行解析后,如果解析结果为不存在风险,则将处理反馈信息发送给所述边缘计算任务分配模块,由所述边缘计算任务分配模块将所述数据块dataj发送给第二边缘计算终端。

如果解析结果为不存在风险,则将处理反馈信息发送给所述边缘计算任务分配模块,由所述边缘计算任务分配模块将所述数据块dataj发送给第二边缘计算终端,进一步包括:

将所述数据块dataj与所述第一边缘计算终端的解析结果发送给所述第二边缘计算终端。

如果解析结果为存在风险,则发送提示信息给所述用户移动终端,由所述用户移动终端指定第二边缘计算终端对所述数据块dataj进行再次解析。

所述提示信息包括所述第一边缘计算终端的解析结果、第一边缘计算终端内置的数据挖掘模型以及多个第二边缘计算终端内置的数据挖掘模型类型。

接下来参见图3,所述多个边缘计算终端处理完当前数据块后,将处理反馈信息发送至所述边缘计算任务分配模块,所述边缘计算任务分配模块基于所述处理反馈信息调节所述时间窗口的大小为ti+1,具体包括:

在第i个周期结束后,所述边缘计算任务分配模块获取n个边缘计算终端发送的处理反馈信息fs,基于所述处理反馈信息fs计算第i个周期的调节反馈值f,从而得到所述ti+1,其中s=1,2,......,n。

更具体的,所述边缘计算任务分配模块获取n个边缘计算终端发送的处理反馈信息fs,基于所述处理反馈信息fs计算第i个周期的调节反馈值f,从而得到所述ti+1,具体包括:

所述tj为第s个边缘计算设备针对第j个数据块dataj得出处理结果的时间;lj为所述数据块dataj的大小,cj为获取所述数据块dataj的延迟时间;

所述第i个周期的调节反馈值

其中,f′为第i-1个周期的调节反馈值;ej为数据块dataj的解析结果值。

在本发明的各个实施例中,在每一个周期都会执行计算调节反馈值的步骤,因此,在每一个周期内都得到调节反馈值。

在上述步骤中,调节下一个窗口的大小,需要用到前一个周期的调节反馈值。

在本申请中,ej为数据块dataj的解析结果值,具体可以根据实际情况确定,例如,可以定义ej为逻辑值-1或1;1表示无风险,-1为存在风险;

也可以定义ej为风险值0-9,0为无风险,1-9表示存在风险的程度,风险越大取值越高,等等;在本发明中,取值为-1或1,计算出的ti+1能够更好调节窗口大小。

在图4中给出了本申请技术方案的整体流程如下:

正常运行状态下,所述日志数据库用于记录所述软件工程数据库的运行状态信息,定期将所述运行状态信息发送至日志解析模块;

在当前周期内,将获取的运行状态信息数据按照时间窗口大小划分为多个数据块;

所述边缘计算任务分配模块将所述多个数据块分配给所述多个边缘计算终端;

多个边缘计算终端处理完当前数据块后,将处理反馈信息发送至所述边缘计算任务分配模块;

边缘计算任务分配模块基于所述处理反馈信息调节所述时间窗口的大小,然后进入下一个周期。

需要指出的是,在上述实施例中,所述日志解析模块连接多个边缘计算终端,所述多个边缘计算终端的每一个内置不同的数据挖掘模型,具体包括:

所述数据挖掘模型包括基于时间衰减模型的数据流闭合模型、基于滑动窗口数据流频繁项集挖掘模型、频繁模式决策树处理可变数据流处理模型。

本发明的不同边缘计算终端内置不同的挖掘模型,并且每一个数据块至少采用两个不同的挖掘模型进行处理,使得结果更为稳健。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1