一种指标监控数据实时更新方法及系统与流程

文档序号:24352074发布日期:2021-03-19 12:37阅读:153来源:国知局
本公开涉及数据处理
技术领域
:,特别涉及一种指标监控数据实时更新方法及系统。
背景技术
::本部分的陈述仅仅是提供了与本公开相关的
背景技术
:,并不必然构成现有技术。sap(systemsapplicati/onsandproducts)是一款用于企业资源计划erp(enterpriseresourceplanning)管理的软件;sap的功能涵盖了企业管理业务的各个方面,这些功能模块服务于企业的各个不同管理领域,因为sap覆盖了企业的各个方面,所以存储企业人员、财务、物资、项目等各个领域的海量数据。发明人发现,目前现有的数据处理主要存在以下缺点:需要将数据进行多维度分析时,传统的处理方式是为每个指标开发一个指标处理程序,程序的开发时间较长,并且由于数据量级的原因,导致程序的执行速度较慢、效率降低,从而影响用户的使用体验。技术实现要素:为了解决现有技术的不足,本公开提供了一种指标监控数据实时更新方法及系统,根据用户输入的信息和数据库当期运行状况,自动优化数据处理过程,可以显著缩短数据处理时间,增加了数据响应的实时性。为了实现上述目的,本公开采用如下技术方案:本公开第一方面提供了一种指标监控数据实时更新方法。一种指标监控数据实时更新方法,包括以下步骤:获取用户输入的指标信息和指标选择条件;根据用户输入指标信息,确定各个数据表,并获取各个数据表总条目数;获取当前数据库系统的i/o信息,如果各个数据库表条目数大于或等于第一数值,且当前数据库系统的i/o使用量大于或等于第二数值时,将用户输入的指标选择条件拆分为多个并行的子条件;按照拆分的子条件,采用多线程并行的方式获取数据库表的数据,进行指标数据的更新。作为可能的一些实现方式,指标信息至少包括指标名称、指标取数表和指标字段。作为可能的一些实现方式,第一数值为百万级别的数值中的任一数值。作为可能的一些实现方式,第二数值为50%。作为可能的一些实现方式,每个选择条件拆分得到的并行的子条件的数量小于或等于第三数值。作为可能的一些实现方式,结合数据库表的索引进行取数,从数据库表中取得的数据,使用二分法和/或哈希算法进行数据匹配和计算。作为可能的一些实现方式,利用sapalv列表界面展示数据指标更新结果。作为可能的一些实现方式,将输入的指标信息保存到指标信息表、指标数据表和指标字段表中,供以后同一指标复用。本公开第二方面提供了一种指标监控数据实时更新系统。一种指标监控数据实时更新系统,包括:数据获取模块,被配置为:获取用户输入的指标信息和指标选择条件;数据处理模块,被配置为:根据用户输入指标信息,确定各个数据表,并获取各个数据表总条目数;条件拆分模块,被配置为:获取当前数据库系统的i/o信息,如果各个数据库表条目数大于或等于第一数值,且当前数据库系统的i/o使用量大于或等于第二数值时,将用户输入的指标选择条件拆分为多个并行的子条件;指标更新模块,被配置为:按照拆分的子条件,采用多线程并行的方式获取数据库表的数据,进行指标数据的更新。本公开第三方面提供了一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如本公开第一方面所述的指标监控数据实时更新方法中的步骤。本公开第四方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开第一方面所述的指标监控数据实时更新方法中的步骤。与现有技术相比,本公开的有益效果是:本公开所述的方法、系统、介质或电子设备,可实现指标自动快速生成功能,即能够使得用户定制并且高效抽取指标数据,首先用户从前台输入指标名称、指标抽取的各数据表、抽取条件、显示字段、集合运算等信息,然后根据用户输入的信息和数据库当期运行状况,自动优化数据处理过程,可以显著缩短数据处理时间,增加了数据响应的实时性。本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。附图说明构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。图1为本公开实施例1提供的指标监控数据实时更新方法的流程示意图。图2为本公开实施例1提供的指标名称示意图。图3为本公开实施例1提供的指标取数示意图。图4为本公开实施例1提供的指标字段示意图。图5为本公开实施例1提供的指标信息表示意图。图6为本公开实施例1提供的指标数据表示意图。图7为本公开实施例1提供的指标字段表示意图。具体实施方式下面结合附图与实施例对本公开作进一步说明。应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属
技术领域
:的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。实施例1:如图1所示,本公开实施例1提供了一种指标监控数据实时更新方法,可实现指标自动快速生成功能,即前端用户定制并且高效抽取指标数据;首先,由前端用户从前台输入指标名称、指标抽取的各数据表、抽取条件、显示字段、集合运算等信息;然后,程序会根据用户输入的信息和数据库当期运行状况,自动优化数据处理过程,可以显著缩短数据处理时间,增加数据响应的实时性。执行完毕后将指标结果展示给前端用户,为了达到该目的,主要运用了以下技术:(1)数据库i/o吞吐量获取,sap从数据库取数时,数据库索引的运用;(2)sap并行处理,将数据库取数分为多个进程同时执行;(3)数据处理中,采用sap语法binarysearch二分法、hashinternaltable哈希算法来查找数据;(4)sap进度条技术,可按照程序运行情况实时显示数据处理的进度百分比;(5)sap系统的alv界面展示技术,显示指标结果;;(6)sap数据库表创建,创建指标表、指标数据表、指标字段表。具体的,所述方法包括以下步骤:s1:用户定义/选择指标界面的取数条件,用户定义指标包括指标名称、指标取数表、指标字段等信息,格式如图2、如图3和图4所示。用户也可以选择已经定义过的指标,则上述信息会自动从指标表、指标数据表、指标字段表中带出。s2:根据用户输入指标信息,确定各个数据表,并获取各个数据表总条目数。s3:获取当前数据库系统的i/o信息,判断当前数据库系统的运行状况。s4:如果各个数据库表条目数达到百万级以上并且当前数据库系统的i/o使用量>=50%时,说明数据库表数据量巨大而且当前数据库i/o使用较大,转到步骤五;如果数据量不大并且数据库系统比较空闲,转到s7。s5:将用户输入的选择条件拆分为多个并行的子条件,例如用户输入(aorborc)andd,可拆分为aandd、bandd、candd,拆分的原则是不大于10个,防止后续拆分进程太多,影响系统性能。s6:为了加快数据库表的取数速度,按照步骤拆分的子条件,采用多线程并行的方式获取数据库表的数据,进行指标数据的更新,在取数的同时使用数据库表的索引加快取数速度,转到s8。s7:按照用户输入的条件,使用索引从数据库表中读取数据。s8:从数据库表中取得的数据,使用二分法、哈希算法进行数据匹配、计算,提高数据查找的效率,减少运行时间。s9:sapalv列表界面展示数据指标结果。s10:将用户输入的信息保存到指标信息表(如图5所示)、指标数据表(如图6所示)、指标字段表(如图7所示)中,供以后同一指标复用。实施例2:本公开实施例2提供了一种指标监控数据实时更新系统,包括:数据获取模块,被配置为:获取用户输入的指标信息和指标选择条件;数据处理模块,被配置为:根据用户输入指标信息,确定各个数据表,并获取各个数据表总条目数;条件拆分模块,被配置为:获取当前数据库系统的i/o信息,判断当前数据库系统的运行状况,如果各个数据库表条目数大于或等于第一数值,且当前数据库系统的i/o使用量大于或等于第二数值时,将用户输入的指标选择条件拆分为多个并行的子条件;指标更新模块,被配置为:按照拆分的子条件,采用多线程并行的方式获取数据库表的数据,进行指标数据的更新。所述系统的工作方法与实施例1提供的指标监控数据实时更新方法相同,这里不再赘述。实施例3:本公开实施例3提供了一种计算机可读存储介质,其上存储有程序,其特征在于,该程序被处理器执行时实现如本公开实施例1所述的指标监控数据实时更新方法中的步骤,所述步骤为:s1:用户定义/选择指标界面的取数条件,用户定义指标包括指标名称、指标取数表、指标字段等信息。用户也可以选择已经定义过的指标,则上述信息会自动从指标表、指标数据表、指标字段表中带出。s2:根据用户输入指标信息,确定各个数据表,并获取各个数据表总条目数。s3:获取当前数据库系统的i/o信息,判断当前数据库系统的运行状况。s4:如果各个数据库表条目数达到百万级以上并且当前数据库系统的i/o使用量>=50%时,说明数据库表数据量巨大而且当前数据库i/o使用较大,转到步骤五;如果数据量不大并且数据库系统比较空闲,转到s7。s5:将用户输入的选择条件拆分为多个并行的子条件,例如用户输入(aorborc)andd,可拆分为aandd、bandd、candd,拆分的原则是不大于10个,防止后续拆分进程太多,影响系统性能。s6:为了加快数据库表的取数速度,按照步骤拆分的子条件,采用多线程并行的方式获取数据库表的数据,进行指标数据的更新,在取数的同时使用数据库表的索引加快取数速度,转到s8。s7:按照用户输入的条件,使用索引从数据库表中读取数据。s8:从数据库表中取得的数据,使用二分法、哈希算法进行数据匹配、计算,提高数据查找的效率,减少运行时间。s9:sapalv列表界面展示数据指标结果。s10:将用户输入的信息保存到指标信息表、指标数据表、指标字段表中,供以后同一指标复用。实施例4:本公开实施例4提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例1所述的指标监控数据实时更新方法中的步骤,所述步骤为:s1:用户定义/选择指标界面的取数条件,用户定义指标包括指标名称、指标取数表、指标字段等信息。用户也可以选择已经定义过的指标,则上述信息会自动从指标表、指标数据表、指标字段表中带出。s2:根据用户输入指标信息,确定各个数据表,并获取各个数据表总条目数。s3:获取当前数据库系统的i/o信息,判断当前数据库系统的运行状况。s4:如果各个数据库表条目数达到百万级以上并且当前数据库系统的i/o使用量>=50%时,说明数据库表数据量巨大而且当前数据库i/o使用较大,转到步骤五;如果数据量不大并且数据库系统比较空闲,转到s7。s5:将用户输入的选择条件拆分为多个并行的子条件,例如用户输入(aorborc)andd,可拆分为aandd、bandd、candd,拆分的原则是不大于10个,防止后续拆分进程太多,影响系统性能。s6:为了加快数据库表的取数速度,按照步骤拆分的子条件,采用多线程并行的方式获取数据库表的数据,进行指标数据的更新,在取数的同时使用数据库表的索引加快取数速度,转到s8。s7:按照用户输入的条件,使用索引从数据库表中读取数据。s8:从数据库表中取得的数据,使用二分法、哈希算法进行数据匹配、计算,提高数据查找的效率,减少运行时间。s9:sapalv列表界面展示数据指标结果。s10:将用户输入的信息保存到指标信息表、指标数据表、指标字段表中,供以后同一指标复用。本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1