CN116149969A - 一种数据库模型匹配异常监测处理方法 - Google Patents
一种数据库模型匹配异常监测处理方法 Download PDFInfo
- Publication number
- CN116149969A CN116149969A CN202310346981.4A CN202310346981A CN116149969A CN 116149969 A CN116149969 A CN 116149969A CN 202310346981 A CN202310346981 A CN 202310346981A CN 116149969 A CN116149969 A CN 116149969A
- Authority
- CN
- China
- Prior art keywords
- database
- field
- time
- thread
- tgapseq
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 37
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 135
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000002159 abnormal effect Effects 0.000 claims abstract description 26
- 230000005856 abnormality Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 28
- 241000613130 Tima Species 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 abstract description 6
- 230000004044 response Effects 0.000 abstract description 6
- 230000008859 change Effects 0.000 description 19
- 230000000903 blocking effect Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- 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/245—Query processing
- G06F16/2455—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于数据库技术领域,本发明提供一种数据库模型匹配异常监测处理方法,通过定时执行预设的脚本发送数据库查询请求;查询数据库的表结构是否发生变化;根据线程池中各个测试线程的执行时间计算各个测试字段的线程延长时刻;如果测试字段的执行结束时间晚于线程延长时刻时判断数据库发生字段匹配异常产生异常告警。能够精准的获得测试线程的测试效果最佳、引起数据库的操作响应时间递增的稳定的时间,使得线程延长时刻定位的测试线程生命周期结束的预期时间更加稳定和准确,从而进一步判断数据库被修改后的字段是否和其他字段和业务兼容,能够提高线程延长时刻计算的速度,数据库匹配系统资源的占用率低。
Description
技术领域
本发明属于数据库技术领域,具体涉及一种数据库模型匹配异常监测处理方法。
背景技术
在数据库的表结构发生改变时,很容易联动的引起程序兼容性和数据质量的稳定性,会对未来接收到数据库中的数据产生影响,因此,如何监测数据库修改后的字段是否能与其它的字段的数据匹配是否在数据在处理过程中发生异常,对于数据库的是非常重要的,是预防数据缺失遗漏和保障数据库应用的稳定性的关键。
在现有技术中,例如,公告号为CN105095056B中国发明文献提供了一种数据仓库数据监控的方法,通过监控表列出和当日新增的数据量是否异常、数据源表结构监控的内容是监控数据源的表结构是否发生变化,包括新增字段、删除字段、修改字段类型、修改字段长度等;监控数据源表重点字段的取值,包括维度表的取值,通过监控在数据处理过程中的异常情况,通过系统预警和人工处理相结合的方法处理,保证数据处理过程中的可靠稳定。但是,该类方法只是监测字段是否发生变化,并无法知道该字段中的数据发生新增、删除、修改时是否与数据库中其他字段相兼容,在实际的应用过程中,往往字段匹配异常的兼容性问题是隐蔽的,在修改后一开始并未表现出来异常,在通过一段时间后,修改后字段中的数据项的增加从而表现出对数据库操作的线程处于长时间的阻塞状态,从而表现出数据库的这种字段匹配异常。
发明内容
本发明的目的在于提出一种数据库模型匹配异常监测处理方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
为了实现上述目的,根据本发明的一方面,提供一种数据库模型匹配异常监测处理方法,所述方法包括以下步骤:
S100,定时执行预设的脚本发送数据库查询请求;所述数据库查询请求包括所需查询的表、查询的数据的起始时间以及结束时间;所需查询的表包括预设的数据库的表结构,所述数据库的表结构包括字段;
S200,将所述数据库查询请求加入到数据库的线程池;
S300,查询数据库的表结构是否发生变化,标记出数据库中表结构发生变化的字段记为测试字段,创建多个测试线程加入线程池对各个测试字段进行测试;
S400,根据线程池中各个测试线程的执行时间计算各个测试字段的线程延长时刻;
S500,如果测试字段的执行结束时间晚于线程延长时刻时判断数据库发生字段匹配异常,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中。其中,字段匹配异常是指被修改后的字段引起的数据库的程序兼容性下降(直观的表现为线程处于长时间的阻塞状态甚至线程死锁带来的响应时间增加或者超时)或者由此引发的数据库在该字段数据同步程序报错异常;
进一步地,在S100中,所述数据库为Mysql数据库、oracle11g数据库、SQLServer数据库中任意一种。
进一步地,在S100中,定时执行预设的脚本发送数据库查询请求的方法为:每隔[3,8]小时执行一次预设的脚本,发送数据库查询请求。
进一步地,在S100中,预设的脚本至少包括多条查询表指令,所述查询表指令包括对数据库的类型,数据库连接方式、数据库表名、对应数据库名中任意一种或多种的查询指令,其中,对数据库表名的查询指令包括新增字段、删除字段、修改字段类型、修改字段长度的查询。
进一步地,在S300中,查询数据库的表结构是否发生变化,包括判断新增字段、删除字段、修改字段类型、修改字段长度是否发生变化;(这些字段的变化将导致数据同步程序报错、数据的兼容性发生问题,或代表业务发生错误的改变);如果新增字段、删除字段、修改字段类型、修改字段长度发生了变化,则判断数据库的表结构发生了变化。
进一步地,在S300中,测试线程是对数据库的增加表指令、删除表指令、修改表指令、查询表指令中任意一种或多种的指令操作的指令流,每个对数据库的指令操作的指令流形成一个线程即测试线程。
进一步地,在S400中,计算各个测试字段的线程延长时刻的方法为:
依次计算对各个测试字段进行测试的稳态时间时段,具体为:
获取依次获取对数据库的测试字段进行测试时数据库的线程池中的各个线程的指令流的执行时间,按照先后顺序将各个执行时间依次排列成序列记为ThSeq;
依次由ThSeq中相邻的元素两两之间的大于0的差值构成的序列作为线程时变序列TGapSeq;(序列TGapSeq中每个差值的变化表示了测试线程对数据库进行测试中延迟的变化,在数据库的字段变化将导致的数据同步程序报错、数据的兼容性发生问题,或代表业务发生错误发生了变化后,序列TGapSeq中的差值在发生变化导致的存在数据丢失、损坏或不一致的情况的字段改变位置导致测试线程对数据库进行操作时产生的较大延时(线程处于长时间的阻塞状态甚至线程死锁带来的响应时间增加或者超时),这些字段改变位置在测试线程访问时产生的执行时间差值变化趋势会远大于字段无变化的位置的执行时间差值);
记TGapSeq(h)为序列TGapSeq中的第h个元素,其中,h为TGapSeq中元素的序号;
在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)>TGapSeq(h+1)且TGapSeq(h)>TGapSeq(h-1)时,记此时的序号h为极大值序号Maxh;在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)<TGapSeq(h+1)且TGapSeq(h)<TGapSeq(h-1)时,记此时的序号h为极小值序号Minh;(极大值序号Maxh是TGapSeq中差值首次递增的衰减时间,极小值序号Maxh是TGapSeq中差值首次衰减的拐点时间,这两个时间之间的时间段,即稳态时间时段能够表示出测试线程对数据库进行测试中线程时间的最稳定时段,用以在后续的线程延长时刻的计算中以准确的估计出这个时刻的大致时间);
以差值TGapSeq(Maxh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimA;以差值TGapSeq(Minh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimB;取TimA到TimB之间的时间段为稳态时间时段steadT;
计算测试字段的线程延长时刻为:以TimA和TimB中最晚的时间为TS;取TS+steadT为线程延长时刻。
稳态时间时段是测试字段的测试线程的所有线程的生命周期中运行最稳定的时段,根据稳态时间时段计算得到的线程延长时刻则能够准确的提供一个测试字段的中测试线程生命周期结束的预期时间,能够精准的获得测试线程的测试效果最佳、引起数据库的操作响应时间递增的稳定的时间,会有一些由于数据库的字段发生改变后数据的不兼容导致的未达到闲置超时时长的阻塞等待线程导致的线程结束时间延长,从而会使测试线程在多次测试后测试线程生命周期结束的并发调度产生的较大的时延误差,进而使得线程延长时刻产生较大的偏差;为解决该问题,本发明提供了以下计算测试字段的线程延长时刻的方法:
优选地,计算测试字段的线程延长时刻的方法为:
记TimA和TimB中最晚的时间为TS;计算测试字段的线程延长时刻extT:
extT=TS+steadT×ln|(TGapSeq(Maxh)-TSeqMean)÷(TGapSeq(Maxh)-TSeqMean)|;
TSeqMean是序列TGapSeq中各个元素的平均值,ln是取自然对数。
以上方法通过乘以序列TGapSeq的极限差值比值的自然对数从而去除了阻塞等待线程在数据库的字段发生变化后不兼容导致的阻塞等待线程导致的线程结束时间延长,使得线程延长时刻定位的测试线程生命周期结束的预期时间更加稳定和准确,从而进一步判断字段发生变化后的数据库是否兼容,该方法计算简单,能够提高线程延长时刻计算的速度,系统资源的占用率低。
优选地,计算测试字段的线程延长时刻为:
记TimA和TimB中最晚的时间为TS;计算测试字段的线程延长时刻extT:
extT=TS+steadT×RatioSted;
其中,RatioSted是稳态率,稳态率 RatioSted= exp(-(steadT÷(Fy-1))2);
Fy是兼容性延迟比,计算测试字段的测试线程的兼容性延迟比Fy,
其中exp是指取指数,Toal为序列TGapSeq中的元素的总数其中,h为TGapSeq中元素的序号;TSeqMean是序列TGapSeq中各个元素的平均值。
以上方法通过乘以测试字段的测试线程的兼容性延迟比获得的指数形式的稳态率,能够更加精准的获取到阻塞等待线程导致的线程结束时间延长。
进一步地,在S500中,所述异常告警包括测试字段的字段名,判断字段名是否是新增字段,如果不是新增字段则异常告警还包括测试字段被修改前的字段名和修改后的字段名。
进一步地,在S500中,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中的方法为:将异常告警的测试字段的字段名发告警到指定人员(管理员)的移动设备,或者把异常告警记录到日志文件。
本发明还提供了一种数据库模型匹配异常监测处理系统,所述一种数据库模型匹配异常监测处理系统包括:处理器、存储器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述一种数据库模型匹配异常监测处理方法中的步骤,所述一种数据库模型匹配异常监测处理系统可以运行于桌上型计算机、笔记本、掌上电脑及云端数据中心等计算设备中,可运行的系统可包括,但不仅限于,处理器、存储器、服务器集群,所述处理器执行所述计算机程序运行在以下系统的单元中:
定时查询单元,用于定时执行预设的脚本发送数据库查询请求;所述数据库查询请求包括所需查询的表、查询的数据的起始时间以及结束时间;所需查询的表包括预设的数据库的表结构,所述数据库的表结构包括字段;
线程队列单元,用于将所述数据库查询请求加入到数据库的线程池;
查询线程单元,用于查询数据库的表结构是否发生变化,标记出数据库中表结构发生变化的字段记为测试字段,创建多个测试线程加入线程池对各个测试字段进行测试;
延时计算单元,用于根据线程池中各个测试线程的执行时间计算各个测试字段的线程延长时刻;
异常告警单元,用于如果测试字段的执行结束时间晚于线程延长时刻时判断数据库发生字段匹配异常,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中。
本发明的有益效果为:本发明提供一种数据库模型匹配异常监测处理方法,能够精准的获得测试线程的测试效果最佳、引起数据库的操作响应时间递增的稳定的时间,使得线程延长时刻定位的测试线程生命周期结束的预期时间更加稳定和准确,从而进一步判断数据库被修改后的字段是否和其他字段和业务兼容,能够提高线程延长时刻计算的速度,提高数据库匹配后的容错性、系统资源的占用率低。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本发明的上述以及其他特征将更加明显,本发明附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种数据库模型匹配异常监测处理方法的流程图;
图2所示为一种数据库模型匹配异常监测处理系统结构图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为一种数据库模型匹配异常监测处理方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种数据库模型匹配异常监测处理方法,所述方法包括以下步骤:
S100,定时执行预设的脚本发送数据库查询请求;所述数据库查询请求包括所需查询的表、查询的数据的起始时间以及结束时间;所需查询的表包括预设的数据库的表结构,所述数据库的表结构包括字段;
S200,将所述数据库查询请求加入到数据库的线程池;
S300,查询数据库的表结构是否发生变化,标记出数据库中表结构发生变化的字段记为测试字段,创建多个测试线程加入线程池对各个测试字段进行测试;
S400,根据线程池中各个测试线程的执行时间计算各个测试字段的线程延长时刻;
S500,如果测试字段的执行结束时间晚于线程延长时刻时判断数据库发生字段匹配异常,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中。
进一步地,在S100中,所述数据库为Mysql数据库、oracle11g数据库、SQLServer数据库中任意一种。
进一步地,在S100中,定时执行预设的脚本发送数据库查询请求的方法为:每隔[3,8]小时执行一次预设的脚本,发送数据库查询请求。
进一步地,在S100中,预设的脚本至少包括多条查询表指令,所述查询表指令包括对数据库的类型,数据库连接方式、数据库表名、对应数据库名中任意一种或多种的查询指令,其中,对数据库表名的查询指令包括新增字段、删除字段、修改字段类型、修改字段长度的查询。
进一步地,在S300中,查询数据库的表结构是否发生变化,包括判断新增字段、删除字段、修改字段类型、修改字段长度是否发生变化;(这些字段的变化将导致数据同步程序报错、数据的兼容性发生问题,或代表业务发生错误的改变);如果新增字段、删除字段、修改字段类型、修改字段长度发生了变化,则判断数据库的表结构发生了变化。
进一步地,在S300中,测试线程是对数据库的增加表指令、删除表指令、修改表指令、查询表指令中任意一种或多种的指令操作的指令流,每个对数据库的指令操作的指令流形成一个线程即测试线程。
进一步地,在S400中,计算各个测试字段的线程延长时刻的方法为:
依次计算对各个测试字段进行测试的稳态时间时段,具体为:
获取依次获取对数据库的测试字段进行测试时数据库的线程池中的各个线程的指令流的执行时间,按照先后顺序将各个执行时间依次排列成序列记为ThSeq;
依次由ThSeq中相邻的元素两两之间的大于0的差值构成的序列作为线程时变序列TGapSeq;(序列TGapSeq中每个差值的变化表示了测试线程对数据库进行测试中延迟的变化,在数据库的字段变化将导致的数据同步程序报错、数据的兼容性发生问题,或代表业务发生错误发生了变化后,序列TGapSeq中的差值在发生变化导致的存在数据丢失、损坏或不一致的情况的字段改变位置导致测试线程对数据库进行操作时产生的较大延时,这些字段改变位置在测试线程访问时产生的执行时间差值变化趋势会远大于字段无变化的位置的执行时间差值);
记TGapSeq(h)为序列TGapSeq中的第h个元素,其中,h为TGapSeq中元素的序号;
在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)>TGapSeq(h+1)且TGapSeq(h)>TGapSeq(h-1)时,记此时的序号h为极大值序号Maxh;在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)<TGapSeq(h+1)且TGapSeq(h)<TGapSeq(h-1)时,记此时的序号h为极小值序号Minh;(极大值序号Maxh是TGapSeq中差值首次递增的衰减时间,极小值序号Maxh是TGapSeq中差值首次衰减的拐点时间,这两个时间之间的时间段,即稳态时间时段能够表示出测试线程对数据库进行测试中线程时间的最稳定时段,用以在后续的线程延长时刻的计算中以准确的估计出这个时刻的大致时间);
以差值TGapSeq(Maxh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimA;以差值TGapSeq(Minh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimB;取TimA到TimB之间的时间段为稳态时间时段steadT;
计算测试字段的线程延长时刻为:以TimA和TimB中最晚的时间为TS;取TS+steadT为线程延长时刻。
稳态时间时段是测试字段的测试线程的所有线程的生命周期中运行最稳定的时段,根据稳态时间时段计算得到的线程延长时刻则能够准确的提供一个测试字段的中测试线程生命周期结束的预期时间,能够精准的获得测试线程的测试效果最佳、引起数据库的操作响应时间递增的稳定的时间,会有一些由于数据库的字段发生改变后数据的不兼容导致的未达到闲置超时时长的阻塞等待线程导致的线程结束时间延长,从而会使测试线程在多次测试后测试线程生命周期结束的并发调度产生的较大的时延误差,进而使得线程延长时刻产生较大的偏差;为解决该问题,本发明提供了以下计算测试字段的线程延长时刻的方法:
优选地,计算测试字段的线程延长时刻的方法为:
记TimA和TimB中最晚的时间为TS;计算测试字段的线程延长时刻extT:
extT=TS+steadT×ln|(TGapSeq(Maxh)-TSeqMean)÷(TGapSeq(Maxh)-TSeqMean)|;
TSeqMean是序列TGapSeq中各个元素的平均值,ln是取自然对数。
以上方法通过乘以序列TGapSeq的极限差值比值的自然对数从而去除了阻塞等待线程在数据库的字段发生变化后不兼容导致的阻塞等待线程导致的线程结束时间延长,使得线程延长时刻定位的测试线程生命周期结束的预期时间更加稳定和准确,从而进一步判断字段发生变化后的数据库是否兼容,该方法计算简单,能够提高线程延长时刻计算的速度,系统资源的占用率低。
优选地,计算测试字段的线程延长时刻为:
记TimA和TimB中最晚的时间为TS;计算测试字段的线程延长时刻extT:
extT=TS+steadT×RatioSted;
其中,RatioSted是稳态率,稳态率 RatioSted= exp(-(steadT÷(Fy-1))2);
Fy是兼容性延迟比,计算测试字段的测试线程的兼容性延迟比Fy,
其中exp是指取指数,Toal为序列TGapSeq中的元素的总数其中,h为TGapSeq中元素的序号;TSeqMean是序列TGapSeq中各个元素的平均值。
以上方法通过乘以测试字段的测试线程的兼容性延迟比获得的指数形式的稳态率,能够更加精准的获取到阻塞等待线程导致的线程结束时间延长。
进一步地,在S500中,所述异常告警包括测试字段的字段名,判断字段名是否是新增字段,如果不是新增字段则异常告警还包括测试字段被修改前的字段名和修改后的字段名。
进一步地,在S500中,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中的方法为:将异常告警的测试字段的字段名发告警到指定人员(管理员)的移动设备,或者把异常告警记录到日志文件。
本发明的实施例提供的一种数据库模型匹配异常监测处理系统,如图2所示为本发明的一种数据库模型匹配异常监测处理系统结构图,该实施例的一种数据库模型匹配异常监测处理系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种数据库模型匹配异常监测处理系统实施例中的步骤。
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:
定时查询单元,用于定时执行预设的脚本发送数据库查询请求;所述数据库查询请求包括所需查询的表、查询的数据的起始时间以及结束时间;所需查询的表包括预设的数据库的表结构,所述数据库的表结构包括字段;
线程队列单元,用于将所述数据库查询请求加入到数据库的线程池;
查询线程单元,用于查询数据库的表结构是否发生变化,标记出数据库中表结构发生变化的字段记为测试字段,创建多个测试线程加入线程池对各个测试字段进行测试;
延时计算单元,用于根据线程池中各个测试线程的执行时间计算各个测试字段的线程延长时刻;
异常告警单元,用于如果测试字段的执行结束时间晚于线程延长时刻时判断数据库发生字段匹配异常,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中。
所述一种数据库模型匹配异常监测处理系统可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种数据库模型匹配异常监测处理系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种数据库模型匹配异常监测处理系统的示例,并不构成对一种数据库模型匹配异常监测处理系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种数据库模型匹配异常监测处理系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种数据库模型匹配异常监测处理系统运行系统的控制中心,利用各种接口和线路连接整个一种数据库模型匹配异常监测处理系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种数据库模型匹配异常监测处理系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
Claims (8)
1.一种数据库模型匹配异常监测处理方法,其特征在于,所述方法包括以下步骤:
S100,定时执行预设的脚本发送数据库查询请求;所述数据库查询请求包括所需查询的表、查询的数据的起始时间以及结束时间;所需查询的表包括预设的数据库的表结构,所述数据库的表结构包括字段;
S200,将所述数据库查询请求加入到数据库的线程池;
S300,查询数据库的表结构是否发生变化,标记出数据库中表结构发生变化的字段记为测试字段,创建多个测试线程加入线程池对各个测试字段进行测试;
S400,根据线程池中各个测试线程的执行时间计算各个测试字段的线程延长时刻;
S500,如果测试字段的执行结束时间晚于线程延长时刻时判断数据库发生字段匹配异常,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中。
2.根据权利要求1所述的一种数据库模型匹配异常监测处理方法,其特征在于,在S100中,所述数据库为Mysql数据库、oracle11g数据库、SQLServer数据库中任意一种。
3.根据权利要求1所述的一种数据库模型匹配异常监测处理方法,其特征在于,在S100中,定时执行预设的脚本发送数据库查询请求的方法为:每隔[3,8]小时执行一次预设的脚本,发送数据库查询请求;预设的脚本至少包括多条查询表指令,所述查询表指令包括对数据库的类型,数据库连接方式、数据库表名、对应数据库名中任意一种或多种的查询指令,其中,对数据库表名的查询指令包括新增字段、删除字段、修改字段类型、修改字段长度的查询。
4.根据权利要求1所述的一种数据库模型匹配异常监测处理方法,其特征在于,在S300中,查询数据库的表结构是否发生变化,包括判断新增字段、删除字段、修改字段类型、修改字段长度是否发生变化;如果新增字段、删除字段、修改字段类型、修改字段长度发生了变化,则判断数据库的表结构发生了变化。
5.根据权利要求1所述的一种数据库模型匹配异常监测处理方法,其特征在于,在S400中,计算各个测试字段的线程延长时刻的方法为:
依次计算对各个测试字段进行测试的稳态时间时段,具体为:
获取依次获取对数据库的测试字段进行测试时数据库的线程池中的各个线程的指令流的执行时间,按照先后顺序将各个执行时间依次排列成序列记为ThSeq;
依次由ThSeq中相邻的元素两两之间的大于0的差值构成的序列作为线程时变序列TGapSeq;
记TGapSeq(h)为序列TGapSeq中的第h个元素,其中,h为TGapSeq中元素的序号;
在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)>TGapSeq(h+1)且TGapSeq(h)>TGapSeq(h-1)时,记此时的序号h为极大值序号Maxh;在h的取值范围内搜索序列TGapSeq,当第一次搜索到TGapSeq(h)<TGapSeq(h+1)且TGapSeq(h)<TGapSeq(h-1)时,记此时的序号h为极小值序号Minh;
以差值TGapSeq(Maxh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimA;以差值TGapSeq(Minh)在序列ThSeq中对应的2个执行时间中最晚结束时间为TimB;取TimA到TimB之间的时间段为稳态时间时段steadT;
计算测试字段的线程延长时刻为:以TimA和TimB中最晚的时间为TS;取TS+steadT为线程延长时刻。
6.根据权利要求5所述的一种数据库模型匹配异常监测处理方法,其特征在于,计算测试字段的线程延长时刻的方法为:
记TimA和TimB中最晚的时间为TS;计算测试字段的线程延长时刻extT:
extT=TS+steadT×ln|(TGapSeq(Maxh)-TSeqMean)÷(TGapSeq(Maxh)-TSeqMean)|;
TSeqMean是序列TGapSeq中各个元素的平均值,ln是取自然对数。
8.根据权利要求1所述的一种数据库模型匹配异常监测处理方法,其特征在于,在S500中,所述异常告警包括测试字段的字段名,判断字段名是否是新增字段,如果不是新增字段则异常告警还包括测试字段被修改前的字段名和修改后的字段名,产生异常告警发送到管理员的移动设备或把异常告警记录到日志文件中的方法为:将异常告警的测试字段的字段名发告警到指定人员的移动设备,或者把异常告警记录到日志文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310346981.4A CN116149969B (zh) | 2023-04-04 | 2023-04-04 | 一种数据库模型匹配异常监测处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310346981.4A CN116149969B (zh) | 2023-04-04 | 2023-04-04 | 一种数据库模型匹配异常监测处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116149969A true CN116149969A (zh) | 2023-05-23 |
CN116149969B CN116149969B (zh) | 2023-06-20 |
Family
ID=86352613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310346981.4A Active CN116149969B (zh) | 2023-04-04 | 2023-04-04 | 一种数据库模型匹配异常监测处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149969B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0219727A1 (de) * | 1985-09-30 | 1987-04-29 | Siemens Aktiengesellschaft | Verfahren zum Testen der logischen Konsistenz in Datenbanksystemen |
US20040264650A1 (en) * | 2003-06-30 | 2004-12-30 | Wright Robert Hollis | Method, system and computer program product for facilitating the analysis of automatic line insulation testing data |
US20140046969A1 (en) * | 2012-08-10 | 2014-02-13 | Microsoft Corporation | Automatic Verification of Data Sources |
CN105095056A (zh) * | 2015-08-14 | 2015-11-25 | 焦点科技股份有限公司 | 一种数据仓库数据监控的方法 |
US20180121292A1 (en) * | 2016-11-02 | 2018-05-03 | Mastercard International Incorporated | Systems and methods for database management |
US20190303481A1 (en) * | 2018-03-30 | 2019-10-03 | International Business Machines Corporation | Supporting a join operation against multiple nosql databases |
CN110430091A (zh) * | 2019-07-09 | 2019-11-08 | 上海易点时空网络有限公司 | 适用于redis的主从时延监控方法及装置、存储介质 |
CN111125214A (zh) * | 2019-12-02 | 2020-05-08 | 武汉虹信技术服务有限责任公司 | 一种轻量级增量数据同步方法、装置及计算机可读介质 |
CN111767213A (zh) * | 2020-06-18 | 2020-10-13 | 北京同邦卓益科技有限公司 | 数据库检查点的测试方法、装置、电子设备及存储介质 |
CN111949550A (zh) * | 2020-08-31 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | 自动生成测试数据的方法、装置、设备及存储介质 |
WO2021042914A1 (zh) * | 2019-09-02 | 2021-03-11 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、计算机设备和存储介质 |
CN114661706A (zh) * | 2020-12-23 | 2022-06-24 | 杭州云掣科技有限公司 | 一种基于jlogstash的Clickhouse数据写入插件方法 |
CN115525456A (zh) * | 2022-09-15 | 2022-12-27 | 山东浪潮智慧医疗科技有限公司 | 基于操作数据库的字段长度异常的处理方法及系统 |
-
2023
- 2023-04-04 CN CN202310346981.4A patent/CN116149969B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0219727A1 (de) * | 1985-09-30 | 1987-04-29 | Siemens Aktiengesellschaft | Verfahren zum Testen der logischen Konsistenz in Datenbanksystemen |
US20040264650A1 (en) * | 2003-06-30 | 2004-12-30 | Wright Robert Hollis | Method, system and computer program product for facilitating the analysis of automatic line insulation testing data |
US20140046969A1 (en) * | 2012-08-10 | 2014-02-13 | Microsoft Corporation | Automatic Verification of Data Sources |
CN105095056A (zh) * | 2015-08-14 | 2015-11-25 | 焦点科技股份有限公司 | 一种数据仓库数据监控的方法 |
US20180121292A1 (en) * | 2016-11-02 | 2018-05-03 | Mastercard International Incorporated | Systems and methods for database management |
US20190303481A1 (en) * | 2018-03-30 | 2019-10-03 | International Business Machines Corporation | Supporting a join operation against multiple nosql databases |
CN110430091A (zh) * | 2019-07-09 | 2019-11-08 | 上海易点时空网络有限公司 | 适用于redis的主从时延监控方法及装置、存储介质 |
WO2021042914A1 (zh) * | 2019-09-02 | 2021-03-11 | 深圳壹账通智能科技有限公司 | 测试数据生成方法、装置、计算机设备和存储介质 |
CN111125214A (zh) * | 2019-12-02 | 2020-05-08 | 武汉虹信技术服务有限责任公司 | 一种轻量级增量数据同步方法、装置及计算机可读介质 |
CN111767213A (zh) * | 2020-06-18 | 2020-10-13 | 北京同邦卓益科技有限公司 | 数据库检查点的测试方法、装置、电子设备及存储介质 |
CN111949550A (zh) * | 2020-08-31 | 2020-11-17 | 平安国际智慧城市科技股份有限公司 | 自动生成测试数据的方法、装置、设备及存储介质 |
CN114661706A (zh) * | 2020-12-23 | 2022-06-24 | 杭州云掣科技有限公司 | 一种基于jlogstash的Clickhouse数据写入插件方法 |
CN115525456A (zh) * | 2022-09-15 | 2022-12-27 | 山东浪潮智慧医疗科技有限公司 | 基于操作数据库的字段长度异常的处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116149969B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11604782B2 (en) | Systems and methods for scheduling concurrent summarization of indexed data | |
JP6266630B2 (ja) | アーカイブされたリレーションを有する連続クエリの管理 | |
US9294338B2 (en) | Management computer and method for root cause analysis | |
US11775501B2 (en) | Trace and span sampling and analysis for instrumented software | |
US8856313B2 (en) | Systems and methods for using provenance information for data retention in stream-processing | |
US8055686B2 (en) | Method and program of collecting performance data for storage network | |
US7177823B2 (en) | In-queue jobs information monitoring and filtering | |
KR102025210B1 (ko) | 큐 모니터링 및 시각화 | |
US10951509B1 (en) | Methods, systems, and computer readable media for providing intent-driven microapps for execution on communications network testing devices | |
WO2019153550A1 (zh) | Sql自动优化方法、装置、计算机设备及存储介质 | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
CN110717130B (zh) | 打点方法、装置、终端及存储介质 | |
CN116149969B (zh) | 一种数据库模型匹配异常监测处理方法 | |
CN114020813A (zh) | 基于哈希算法的数据比对方法、装置、设备及存储介质 | |
CN111176987A (zh) | 前端日志统一输出的方法、装置、计算机设备及存储介质 | |
US8135664B2 (en) | Change management using collective data | |
US7660888B2 (en) | Indicating network resource availability methods, system and program product | |
US11741096B1 (en) | Granular performance analysis for database queries | |
LaRock et al. | Querying SQL Server Wait Statistics | |
Carlyle et al. | Practical support solutions for a workflow-oriented Cray environment | |
CN116932779B (zh) | 知识图谱的数据处理方法和装置 | |
US12099507B2 (en) | Systems and methods for reducing the cardinality of metrics queries | |
US20240069948A1 (en) | Mapping common paths for applications | |
van de Laar et al. | Querying SQL Server Wait Statistics | |
CN116232946A (zh) | 一种基于api的cdn设备监控系统、方法及终端 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method for monitoring and handling database model matching anomalies Granted publication date: 20230620 Pledgee: Bank of Beijing Limited by Share Ltd. Changsha branch Pledgor: Hunan Zhongqingneng Technology Co.,Ltd. Registration number: Y2024980028185 |