CN114860732A - 关键报表处理方法、装置、计算机设备及存储介质 - Google Patents
关键报表处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114860732A CN114860732A CN202210548706.6A CN202210548706A CN114860732A CN 114860732 A CN114860732 A CN 114860732A CN 202210548706 A CN202210548706 A CN 202210548706A CN 114860732 A CN114860732 A CN 114860732A
- Authority
- CN
- China
- Prior art keywords
- key
- report
- data
- monitoring
- reports
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
Abstract
本发明公开了一种关键报表处理方法,应用于大数据领域。本发明提供的方法包括:获取所有数据报表的名称和所述数据报表对应的脚本代码;遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络;计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序;按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列;监控所述关键报表监控队列中的各关键报表;在监测到至少一个关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有关键报表新增计算机资源。
Description
技术领域
本发明涉及大数据领域,尤其涉及关键报表处理方法、装置、计算机设备及存储介质
背景技术
随着数据时代的到来,企业中每时每刻都在产生海量的数据。数据分析师根据不同的业务场景,从大量数据中提炼和加工不同维度对应的数据指标,形成了指标体系和报表体系,所述指标和报表用于分析企业的经营和发展情况,对制定战略计划和经营策略至关重要。对于部分特殊性企业而言,还有一类数据报表需要更加关注,监管要求的数据需要按时按质报送,延迟报送将有可能面临被监管处罚的风险。因此,保证关键和重要数据的时效性、准确性和稳定性是数据团队的重要工作。
随着业务的开展,企业的指标和报表数量急速增长,受到有限的计算机资源限制,重要和核心指标的加工时效无法满足要求,甚至出现关键报表运行出现异常时,无法进行有效的事前预警,将延长对异常数据修复的时效,因此带来极大风险。
现有报表监控体系无法通过数据报表加工链路对时效和异常进行监控,以及无法提前判断和定位发生异常的链路对最终关键报表的影响。
发明内容
本发明实施例提供一种关键报表处理方法、装置、计算机设备及存储介质,以解决现有技术无法保证关键报表的数据的时效性和稳定性的问题。
一种关键报表处理方法,包括:
获取所有数据报表的名称和所述数据报表对应的脚本代码;
遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络;
计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序;
按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列;
监控所述关键报表监控队列中的各关键报表;
至少一个关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有关键报表新增计算机资源。
一种关键报表处理装置,包括:
数据获取模块,用于获取所有数据报表的名称和所述数据报表对应的脚本代码;
网络构建模块,用于遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络;
数据计算模块,用于计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序;
监控队列模块,用于按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列;
报表监控模块,用于监控所述关键报表监控队列中的各关键报表;
资源分配模块,用于在监测到至少一个关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有关键报表新增计算机资源。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述关键报表处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述关键报表处理方法的步骤。
上述关键报表处理方法、装置、计算机设备及存储介质,通过获取所有数据报表和所述数据报表之间的关联关系,使用所述数据报表的名称和所述关联关系生成有向网络,基于所述有向网络计算每个数据报表的重要度,并按照预设数量将重要度高的所述数据报表作为关键报表进行监控,在所述关键报表发生预警时候为所述关键报表分配更多计算机资源,保障所述关键报表的数据的时效性和稳定性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中关键报表处理方法的一应用环境示意图;
图2是本发明一实施例中关键报表处理方法的一流程图;
图3是本发明一实施例中关键报表处理装置的结构示意图;
图4是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的关键报表处理方法,可应用在如图1的应用环境中。其中,服务器101可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。关键报表是重要度较高的数据报表,而数据报表中的数据都是来源于部署在所述服务器101上的基于大数据框架的大数据应用程序,所述大数据应用程序从其他系统或模块中获取数据并存储,所述大数据框架还提供对应大数据处理工具从所述大数据应用程序中获取已经存储的数据,利用所述大数据处理工具以及相应的脚本代码语法规范,编写从所述大数据应用程序中获取已经存储的数据的脚本代码,获取已经存储的数据进行组合生成目标数据报表;通过所述脚本代码获取已经生成的数据报表的链接关系图谱,通过图论中的度中心性和介中心性去衡量所述关系图谱中每个节点的重要度,可以将所述重要度作为数据报表的重要度,按照具体的业务需求和当前计算机系统资源的情况,按照重要度从大到小的顺序获取预设数量的数据报表作为关键报表,监控所述关键报表关联的更新时间、脚本代码执行情况和任务执行情况,产生预警信息时发送相关预警信息和错误信息至相关人员,同时根据当前系统计算机资源的剩余情况给产生预警的关键报表关联的非关键数据报表新增计算机资源,保障所述关键报表的数据的时效性和稳定性。
在一实施例中,如图2所示,提供一种关键报表处理方法,以该方法应用在图1中的服务器101为例进行说明,包括如下步骤S201至S206:
S201、获取所有数据报表的名称和所述数据报表对应的脚本代码。
其中,需要说明的是所述所有数据报表的数据来源是至少一个基于大数据框架的应用程序,所述大数据框架包括但不限于:Hadoop、Spark、Storm、Samza、Flink。所述脚本代码根据所述大数据框架的不同也不一定相同,例如大数据框架Hadoop使用的是Hive SQL脚本代码,例如大数据框架Spark使用的是Spark SQL脚本代码。
其中,在本实施例中以所述所有数据报表的数据均来源于已经部署的Hadoop应用的HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)为例进行说明,使用Hive数据仓库工具编写Hive SQL脚本代码获取所述所有数据报表需要的数据生成所述所有数据报表,将所述所有数据报表的表名加入到数据报表名集合,所述数据报表名集合是一个字符串类型的集合,将所述Hive SQL脚本代码加入到脚本代码集合,所述脚本代码集合是一个字符串类型的集合,将所述Hive SQL脚本代码对应的所述全部数据报表建立一一对应的映射关系,保存所述映射关系。根据预设的时间规则定时运行所述Hive SQL脚本代码,更新所述所有数据报表中的数据,保证所述所有数据报表中数据的时效性。在所述Hadoop应用中,所述Hive SQL脚本代码将被编译后转化成MapReduce任务,所述MapReduce任务包括Mapper过程和Reducer过程。所述Hive SQL脚本代码被编译后转化成MapReduce任务,以及MapReduce任务的Mapper过程和Reducer过程的执行,在此不再赘述。
其中,所述预设的时间规则根据数据报表在具体业务中的情形调整,例如将关于出账和入账流水数据的所述数据报表设置为每24小时更新一次,将关于用户信息相关的所述数据报表设置为每72小时更新一次。
S202、遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络。
其中,所述脚本代码虽然根据所述大数据框架的不同在代码语法上存在差异,但都是类SQL型脚本语言,使用语义分析方法去识别所述脚本代码中的各个字符串,查看所述字符串是否存在于所述数据报表名集合中,若存在则所述字符串是一个所述数据报表的表名,若不存在则所述字符串不是一个所述数据报表的表名。
其中,使用语义分析方法识别出所述脚本代码中的第一字符串是一个所述数据报表的表名之后,获取所述第一字符串前后的第一相邻字符串,判断所述第一相邻字符串是否为所述脚本代码的语法中表示两个数据表关联信息的关键字,若是则将所述关键字表示的关联关系作为所述关联信息保存,若不是则继续获取与所述第一相邻字符串相邻的第二相邻字符串,并用所述第二相邻字符串更新所述第一相邻字符串,继续判断所述第一相邻字符串是否为所述脚本代码的语法中表示两个数据表关联信息的关键字,直至所述脚本代码中每个字符串都被分析。
具体地,遍历全部脚本代码,使用语义分析方法分析每个被遍历脚本代码,从每个被遍历脚本代码中获取数据报表的名称;将获取的数据报表名称添加到预设的节点集合,并对所述节点集合中的名称进行去重;再次遍历全部脚本代码,获取所述脚本代码中至少一个第二数据报表,并根据脚本代码的语法和所述脚本代码中的相关关键字,获取所述第二数据报表与所述脚本代码对应的第一数据报表之间的关联关系;将一条所述关联关系作为一条由所述第二数据报表指向所述第一数据报表的有向边,将所述有向边添加到预设的有向边集合,对所述有向边集合中的有向边进行去重;使用所述节点结合和所述有向边集合构建表示所述有向网络的邻接矩阵。
例如,使用V={v1,v2,...vn}表示所述节点集合,E={e1,e2,...em}表示所述有向边的集合,n和m分别是节点数和有向边数,G(V,E)表示所述有向网络,An * m=(aij)表示所述邻接矩阵,当aij=1表示当且仅当存在一条从节点vi指向vj的有向边。在Hive SQL脚本代码的语法中,所述数据报表之间的所述关联关系包括:内关联关系(inner jion)、左关联关系(left jion)、右关联关系(right jion)。
S203、计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序。
具体地,所述节点的重要度包括节点的度中心性的值和介中心性的值;先根据所述邻接矩阵分别计算所述有向网络中各节点连接的其他节点的数量,得到所述各节点的度中心性的值;再根据所述邻接矩阵分别计算所述有向网络中各节点之间的最短路径,将所述最短路径添加到预设的最短路径集合,对所述最短路径集合进行去重;然后遍历所述最短路径集合中的每条所述最短路径,获取每条所述最短路径上的节点,所述最短路径必然至少包含两个节点,并对每个节点出现在被遍历的所述最短路径中的次数进行累加,将每个节点出现的总次数作为所述节点的介中心性的值;最后将每个所述节点的度中心性的值和介中心性的值求和,将所述求和的值作为每个所述节点的重要度。
其中,可设置节点选择规则规定是否将所述最短路径的头节点和尾节点当作出现的次数,所述节点选择规则可根据系统中节点的数量来进行合理设置,因为不同的节点数量所需要消耗的计算机资源不同。
其中,度中心性(Degree Centrality)是从局部的角度来衡量一个所述数据报表的重要程度。在所述有向网络中,节点的度中心性是和该节点直接相连接的其他节点的数量。在本实施例的有向网络中,所述节点的出度(out degree)越大,即所述节点直接连接的其他节点的数量越大,就表示所述节点表示的数据报表和其他数据报表的关联越高,该节点在数据加工网络中就越重要,影响的其他的数据报表数量越大。
其中,介中心性(Betweenness Centrality)是从全局的角度来衡量一个所述数据报表的重要程度。在所述有向网络中,节点的介中心性是该节点担任其它两个结点之间最短路径上的结点的次数。在本实施例的有向网络中,节点充当“中介”的次数越高,所述节点的介中心度就越大,在报表加工的网络中,所述节点表示的数据报表的介性中心度较高,说明其他数据表之间的最短路径很多甚至全部都必须经过该数据报表来加工,假如该报表出现延迟或者异常,那么其他报表之间的加工会受到影响,甚至出现错误问题。
可选地,还可以使用接近中心性(Closeness Centrality)和特征向量中心性(Eigenvector Centrality)来衡量每个节点的重要程度,所述接近中心性反映该节点在所述有向网络中与其他节点之间的接近程度,所述特征向量中心性表示该节点连接的重要节点越多则该节点的重要性越大。
S204、按照所述重要度从大到小的顺序,获取预设数量的所述节点对应的所述数据报表作为关键报表,将所述关键报表加入关键报表监控队列。
可选地,设置所述度中心性的第一比例系数和所述介中心性的第二比例系数,所述第一比例系数和所述第二比例系数大于0且小于1,同时所述第一比例系数和第二比例系数相加的和为1。所述第一比例系数和所述第二比例系数表示度中心性和介中心性在重要度数据中的比重,即可以设置不同的所述第一比例系数和所述第二比例系数的系数大小,用所述系数大小来调节所述重要度在所述度中心性和所述介中心性之间的侧重点。
可选地,在所述按照所述重要度从大到小的顺序的步骤之前,还包括:将所述度中心性的值为0且所述介中心性的值为0的节点移除,不计算该节点的重要度。
可以理解的是,所述预设数量表示预先设置的关键报表的监控数量。其中,所述预设数量的取值范围为0至所述数据报表总数量,且所述预设数量的取值根据当前系统的可分配计算机资源动态调整,即当前系统的可分配计算机资源较少时减小所述预设数量的取值,当前系统的可分配计算机资源较多时增大所述预设数量的取值,对于可分配计算机资源的度量方式是现有技术在此不再赘述。
S205、监控所述关键报表监控队列中的所述关键报表。
具体地,对所述关键报表监控队列中的所述关键报表的监控具体包括:
使用第一定时任务,监控所述关键报表监控队列中所述关键报表的生成时间,若所述生成时间与当前系统时间的时间差超过预设允许时间差则产生第一预警,所述第一预警表示所述第一预警关联的关键报表的数据存在延迟的风险,具体的延迟原因需要相关人员进一步排查;
使用第二定时任务,监控所述关键报表监控队列中所述关键报表对应的所述脚本代码是否存在修改,若是且修改后的所述脚本代码是否存在第一执行错误,若存在所述第一执行错误则产生第二预警,并记录所述第一执行错误,所述第二预警的信息和所述第一执行错误都将被发送至相关人员,便于相关人员根据发送的内容信息解决所述第一执行错误,消除第二预警;
使用第三定时任务,监控所述关键报表监控队列中的所述关键报表对应的脚本代码关联的MapReduce任务,监控所述MapReduce任务是否存在第二执行错误,若存在所述第二执行错误则产生第三预警,并记录所述第二执行错误,所述第三预警的信息和所述第二执行错误都将被发送至相关人员,便于相关人员根据发送的内容信息解决所述第二执行错误,消除第三预警。
进一步地,所述使用第三定时任务,根据第三监控规则监控所述关键报表监控队列中的所述关键报表对应的脚本代码关联的MapReduce任务,监控所述MapReduce任务是否存在第二执行错误,具体包括:
使用所述第三定时任务,监控所述MapReduce任务的Mapper过程,若所述Mapper过程出现第四执行错误,则产生所述第三预警,并将所述第四执行错误记录,所述第三预警的信息和所述第四执行错误都将被发送至相关人员,便于相关人员根据发送的内容信息解决所述第四执行错误,消除第三预警;
使用所述第三定时任务,监控所述MapReduce任务的Reducer过程,若所述Reducer过程出现第五执行错误,则产生所述第三预警,并记录所述第五执行错误,所述第三预警的信息和所述第五执行错误都将被发送至相关人员,便于相关人员根据发送的内容信息解决所述第五执行错误,消除第三预警。
进一步地,所述将所述关键报表加入关键报表监控队列之后,还使用第四定时任务,按照预设间隔时间计算并更新所述有向网络中每个节点的新重要度;根据所述新重要度的排序结果和所述预设第一数量更新所述关键报表监控队列。
其中,所述第一定时任务、所述第二定时任务、第三定时任务和第四定时任务,可以为所有的关键报表在各自的定时任务中设置统一的一个间隔时间,也可以根据所有的关键报表的重要度在各自的定时任务中设置不同的时间间隔。
S206、当存在至少一个所述关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有所述关键报表分配更多计算机资源。
其中,所述预警规则包括但不限于:
所述关键报表的生成时间与系统当前时间的时间间隔大于预设时间差;
所述关键报表对应的脚本代码执行出现问题;
所述关键报表对应的脚本代码关联的MapReduce任务出现错误;
系统中其他模块发送的数据关联异常信息。
进一步地,为所述关键报表监控队列中的所有所述关键报表分配更多计算机资源之后,还获取触发所述预警规则的所述第一关键报表对应的脚本代码,得到目标脚本代码;使用语义分析方法获取目标脚本代码中与所述第一关键报表关联且未在所述关键报表监控队列中的非关键数据报表,作为待分配数据报表;将所述待分配数据报表添加到预警关联报表队列,并对所述预警关联报表队列去重;根据当前系统的计算机资源剩余情况以及预先设置的计算机资源分配规则,为所述预警关联报表队列中的所述待分配数据报表新增计算机资源。
进一步地,获取触发所述预警规则的所述关键报表对应的所述脚本代码之后还将产生的预警信息及所述关键报表对应的所述脚本代码,通过至少一种通信方式发送至所述关键报表的关联人员。
进一步地,所述为所述关键报表监控队列中的所有所述关键报表分配更多计算机资源的步骤之后,还包括:若监控结果是产生预警的所述关键报表的问题已经被解决,则回收给所述关键报表分配的计算机资源;回收给与所述关键队列关联且存在所述预警关联报表队列中的非关键数据报表的计算机资源。
本实施例提出的关键报表处理方法,通过获取所有数据报表和所述数据报表之间的关联关系,使用所述数据报表的名称和所述关联关系生成有向网络,基于所述有向网络计算每个数据报表的度中心性的值和介中心性的值,将所述度中心性的值和介中心性的值进行相加后的数值作为所述数据报表的重要度,并按照预设数量将重要度高的所述数据报表作为关键报表进行监控,在所述关键报表发生预警时候为所述关键报表分配更多计算机资源以保障所述关键报表的数据的时效性和稳定性,并通知所述关键报表的关联人对所述预警进行重视或解决问题,且在预警信息消除时候回收分配的计算机资源,实现了弹性且高效的利用计算机资源。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种关键报表处理装置,该关键报表处理装置与上述实施例中关键报表处理方法一一对应。如图3所示,该关键报表处理装置30包括数据获取模块301、网络构建模块302、数据计算模块303、监控队列模块304、报表监控队列305和资源分配模块306。各功能模块详细说明如下:
数据获取模块301,用于获取所有数据报表的名称和所述数据报表对应的脚本代码;
网络构建模块302,用于遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络;
数据计算模块303,用于计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序;
监控队列模块304,用于按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列;
报表监控模块305,用于监控所述关键报表监控队列中的各关键报表;
资源分配模块306,用于在监测到至少一个关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有关键报表新增计算机资源。
进一步地,所述网络构建模块302还包括:
遍历脚本子模块,用于遍历全部所述脚本代码,获取所有数据报表的名称;
表名获取子模块,用于将所述名称添加到预设的节点集合,并对所述节点集合中的名称进行去重;
关系获取子模块,用于遍历全部所述脚本代码,获取任意两个数据报表的关联关系;
集合生成子模块,用于遍历全部所述关联关系,将每条关联关系作为一条有向边添加到预设的有向边集合,对所述有向边集合中的有向边进行去重;
邻接矩阵子模块,用于使用所述节点结合和所述有向边集合构建表示所述有向网络的邻接矩阵。
进一步地,所述数据计算模块303还包括:
度中心性计算子模块,用于根据所述邻接矩阵分别计算所述有向网络中各节点所连接的其他节点数量,得到所述各节点的度中心性的值;
最短路径计算子模块,用于根据所述邻接矩阵分别计算所述有向网络中各节点之间的最短路径,将所述最短路径添加到预设的最短路径集合,对所述最短路径集合进行去重;
介中心性计算子模块,用于遍历所述最短路径集合中的每条最短路径,获取所述每条最短路径上的节点,并对每个节点出现的次数进行累加,得到所述各节点的介中心性的值。
重要度计算子模块,用于将所述各节点的度中心性的值和介中心性的值求和,得到所述各节点的重要度。
进一步地,所述监控队列模块304还包括:
节点处理子模块,用于将所述度中心性的值为0且所述介中心性的值为0的节点移除,不计算该节点的重要度。
进一步地,所述报表监控模块305还包括:
第一定时任务子模块,用于使用第一定时任务,监控所述关键报表监控队列中所述关键报表的生成时间,若所述生成时间与当前系统时间的时间差超过预设允许时间差则产生第一预警;
第二定时任务子模块,用于使用第二定时任务,监控所述关键报表监控队列中所述关键报表对应的所述脚本代码是否存在修改,若是则判断修改后的所述脚本代码是否存在第一执行错误,若存在则产生第二预警,并记录所述第一执行错误;
第三定时任务子模块,用于使用第三定时任务,监控所述关键报表监控队列中的所述关键报表对应的脚本代码关联的MapReduce任务,监控所述MapReduce任务是否存在第二执行错误,若存在则产生第三预警,并记录所述第二执行错误。
进一步地,所述第三定时任务子模块还包括:
Mapper子单元,用于使用所述第三定时任务,监控所述MapReduce任务的Mapper过程,若所述Mapper过程出现第四执行错误,则产生所述第三预警,并将所述第四执行错误记录;
Reducer子单元,用于使用所述第三定时任务,监控所述MapReduce任务的Reducer过程,若所述Reducer过程出现第五执行错误,则产生所述第三预警,并记录所述第五执行错误。
进一步地,所述资源分配模块306还包括:
第四定时任务子模块,用于使用第四定时任务,按照预设间隔时间计算并更新所述有向网络中每个节点的新重要度;
重排更新子模块,用于根据所述新重要度的排序结果和所述预设第一数量更新所述关键报表监控队列。
进一步地,所述资源分配模块306还包括:
预警关联脚本子模块,用于获取触发所述预警规则的第一关键报表对应的脚本代码,得到目标脚本代码;
预警关联报表子模块,用于获取所述目标脚本代码中与所述第一关键报表关联且未在所述关键报表监控队列中的非关键数据报表,作为待分配数据报表;
预警关联队列子模块,用于将所述待分配数据报表添加到预警关联报表队列;
预警关联资源子模块,用于根据当前系统的计算机资源剩余情况以及预设的计算机资源分配规则,为所述预警关联报表队列中的所述待分配数据报表新增计算机资源;
预警信息发送子模块,用于将产生的预警信息及所述关键报表对应的所述脚本代码,通过至少一种通信方式发送至所述关键报表的关联人员;
分配资源回收子模块,用于若监控结果是产生预警的所述关键报表的问题已经被解决,则回收给所述关键报表分配的计算机资源;
关联资源回收子模块,用于回收给与所述关键队列关联且存在所述预警关联报表队列中的非关键数据报表的计算机资源。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
关于关键报表处理装置的具体限定可以参见上文中对于关键报表处理方法的限定,在此不再赘述。上述关键报表处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储关键报表处理方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种关键报表处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中关键报表处理方法的步骤,例如图2所示的步骤S201至步骤S206及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中关键报表处理装置的各模块/单元的功能,例如图3所示模块301至模块306的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中关键报表处理方法的步骤,例如图2所示的步骤201至步骤206及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中关键报表处理装置的各模块/单元的功能,例如图3所示模块301至模块306的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种关键报表处理方法,其特征在于,包括:
获取所有数据报表的名称和所述数据报表对应的脚本代码;
遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络;
计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序;
按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列;
监控所述关键报表监控队列中的各关键报表;
在监测到至少一个关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有关键报表新增计算机资源。
2.根据权利要求1所述的关键报表处理方法,其特征在于,所述使用所述数据报表的名称和所述关联信息构建有向网络的步骤具体包括:
遍历全部所述脚本代码,获取所有数据报表的名称;
将所述名称添加到预设的节点集合,并对所述节点集合中的名称进行去重;
遍历全部所述脚本代码,获取任意两个具有关联关系的数据报表的关联关系;
遍历全部所述关联关系,将每条关联关系作为一条有向边添加到预设的有向边集合,对所述有向边集合中的有向边进行去重;
使用所述节点集合和所述有向边集合构建表示所述有向网络的邻接矩阵。
3.根据权利要求2所述的关键报表处理方法,其特征在于,所述节点的重要度包括节点的度中心性的值和介中心性的值,所述计算所述有向网络中每个节点的重要度,包括:
根据所述邻接矩阵分别计算所述有向网络中各节点所连接的其他节点数量,将与其他节点连接的所述数量作为对应节点的度中心性的值;
根据所述邻接矩阵分别计算所述有向网络中各节点之间的最短路径,将所述最短路径添加到预设的最短路径集合,对所述最短路径集合进行去重;
遍历所述最短路径集合中的每条最短路径,获取所述每条最短路径上的节点,并对每个节点出现的次数进行累加,得到所述各节点的介中心性的值;
将所述各节点的度中心性的值和介中心性的值求和,得到所述各节点的重要度。
4.根据权利要求1所述的关键报表处理方法,其特征在于,所述监控所述关键报表监控队列中的各关键报表的步骤具体包括:
使用第一定时任务,监控所述关键报表监控队列中所述关键报表的生成时间,若所述生成时间与当前系统时间的时间差超过预设允许时间差则产生第一预警;
使用第二定时任务,监控所述关键报表监控队列中所述关键报表对应的所述脚本代码是否存在修改,若是则判断修改后的所述脚本代码是否存在第一执行错误,若存在则产生第二预警,并记录所述第一执行错误;
使用第三定时任务,监控所述关键报表监控队列中的所述关键报表对应的脚本代码关联的MapReduce任务,监控所述MapReduce任务是否存在第二执行错误,若存在则产生第三预警,并记录所述第二执行错误。
5.根据权利要求4所述的关键报表处理方法,其特征在于,所述使用第三定时任务,监控所述关键报表监控队列中的各关键报表对应的脚本代码关联的MapReduce任务,监控所述MapReduce任务是否存在第二执行错误,具体包括:
使用所述第三定时任务,监控所述MapReduce任务的Mapper过程,若所述Mapper过程出现第四执行错误,则产生所述第三预警,并将所述第四执行错误记录;
使用所述第三定时任务,监控所述MapReduce任务的Reducer过程,若所述Reducer过程出现第五执行错误,则产生所述第三预警,并记录所述第五执行错误。
6.根据权利要求1所述的关键报表处理方法,其特征在于,所述按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列之后,还包括:
使用第四定时任务,按照预设间隔时间计算并更新所述有向网络中每个节点的新重要度;
根据所述新重要度的排序结果和所述预设第一数量更新所述关键报表监控队列。
7.根据权利要求1所述的关键报表处理方法,其特征在于,所述为所述关键报表监控队列中的所有关键报表新增计算机资源的步骤之后,还包括:
获取触发所述预警规则的第一关键报表对应的脚本代码,得到目标脚本代码;
获取所述目标脚本代码中与所述第一关键报表关联且未在所述关键报表监控队列中的非关键数据报表,作为待分配数据报表;
将所述待分配数据报表添加到预警关联报表队列;
根据当前系统的计算机资源剩余情况以及预设的计算机资源分配规则,为所述预警关联报表队列中的所述待分配数据报表新增计算机资源。
8.一种关键报表处理装置,其特征在于,包括:
数据获取模块,用于获取所有数据报表的名称和所述数据报表对应的脚本代码;
网络构建模块,用于遍历所述脚本代码,获取各所述数据报表之间的关联信息,使用所述数据报表的名称和所述关联信息构建有向网络;
数据计算模块,用于计算所述有向网络中每个节点的重要度,并按照所述重要度对所述节点进行排序;
监控队列模块,用于按照所述重要度从大到小的顺序,获取预设第一数量的节点所对应的数据报表作为关键报表,将所述关键报表加入关键报表监控队列;
报表监控模块,用于监控所述关键报表监控队列中的各关键报表;
资源分配模块,用于在监测到至少一个关键报表触发预先设置的预警规则时,为所述关键报表监控队列中的所有关键报表新增计算机资源。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述关键报表处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述关键报表处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210548706.6A CN114860732A (zh) | 2022-05-20 | 2022-05-20 | 关键报表处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210548706.6A CN114860732A (zh) | 2022-05-20 | 2022-05-20 | 关键报表处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860732A true CN114860732A (zh) | 2022-08-05 |
Family
ID=82638631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210548706.6A Pending CN114860732A (zh) | 2022-05-20 | 2022-05-20 | 关键报表处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860732A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541168A (zh) * | 2023-04-28 | 2023-08-04 | 北京大数据先进技术研究院 | 一种图网络剖分方法及系统 |
-
2022
- 2022-05-20 CN CN202210548706.6A patent/CN114860732A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541168A (zh) * | 2023-04-28 | 2023-08-04 | 北京大数据先进技术研究院 | 一种图网络剖分方法及系统 |
CN116541168B (zh) * | 2023-04-28 | 2023-11-10 | 北京大数据先进技术研究院 | 一种图网络剖分方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200042430A1 (en) | Quantization of Data Streams of Instrumented Software | |
US10187249B2 (en) | Distributed metric data time rollup in real-time | |
US11750738B2 (en) | Telecommunications data management interface | |
CN112749056A (zh) | 应用服务指标监控方法、装置、计算机设备和存储介质 | |
US9400731B1 (en) | Forecasting server behavior | |
US20170315858A1 (en) | Metric payload ingestion and replay | |
US11700255B2 (en) | Feedback framework | |
US20210382775A1 (en) | Systems and methods for classifying and predicting the cause of information technology incidents using machine learning | |
CN114860732A (zh) | 关键报表处理方法、装置、计算机设备及存储介质 | |
CN110661660B (zh) | 告警信息根源分析方法及装置 | |
CN114116065A (zh) | 获取拓扑图数据对象的方法、装置、及电子设备 | |
US11330001B2 (en) | Platform for the extraction of operational technology data to drive risk management applications | |
CN114282011A (zh) | 知识图谱的构建方法和装置、图计算方法及装置 | |
US20210344701A1 (en) | System and method for detection promotion | |
CN112286930A (zh) | redis业务方资源共享的方法、装置、存储介质及电子设备 | |
CN112182089A (zh) | 基于数据仓库模型的报表生成方法、装置和设备 | |
CN116455794A (zh) | 微服务节点的调试方法、装置、设备及存储介质 | |
KR20170122874A (ko) | 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치 | |
CN115496470A (zh) | 全链路配置化数据处理方法、装置和电子设备 | |
US20170154276A1 (en) | Event prediction system and method | |
CN114969187A (zh) | 数据分析系统及方法 | |
CN114064678A (zh) | 事件数据处理方法、装置及终端设备 | |
CN110597572B (zh) | 一种服务调用关系分析方法和计算机系统 | |
CN113946515A (zh) | 代码覆盖率测试方法、装置、计算机设备及存储介质 | |
US20210019637A1 (en) | Generating a recommendation associated with an extraction rule for big-data analysis |
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 |