数据统计完整度计算方法和系统与流程

文档序号:11729268阅读:1037来源:国知局
数据统计完整度计算方法和系统与流程

本发明涉及计算机网络数据技术领域,特别涉及一种数据统计完整度计算方法和系统。



背景技术:

分布式系统是建立在网络之上的软件系统,通常部署在一组独立的网络设备上,对外展现给用户的是一个统一的整体,提供多种业务能力,由系统内的全部或部分设备组合运行各个业务应用。系统通常基于设备产生的运行数据做数据统计,为用户提供具有业务价值的统计数据。

分布式系统基于设备运行数据的采集和统计的过程通常是多层级和复杂的,在现实计算过程中可能因为设备、网络、系统、程序等多种因素出现异常,造成部分运行数据没有进入计算过程,从而导致数据统计结果因数据缺失而不完整。因此需要计算数据统计完整度,作为衡量数据统计结果的质量指标。

现有的技术已有基于监控已知规模的网络设备的运行数据,实现对整个网络设备集群和每个网络设备监控的方法。该方法主要基于保存网络设备运行数据和处理状态的数据质量表,实现对指定时间范围、设备范围、指标范围的运行数据查询统计,以计算出目标范围的数据完整率。主要用于监控网络设备的运行数据完整性,以发现网络设备的异常状况。

然而现有方法并不能够满足大规模分布式系统对各种业务的数据统计结果完整度的计算需求,其不足包括以下几点:(1)大规模分布式系统的网络设备集群规模大,少则上百多则上万,生产数据的时间粒度通常是分钟级,设备产生的运行数据量非常大,需要应用大数据分布式存储和并行计算技术。(2)数据完整度的目标对象是不同业务的数据统计结果,而不是网络设备。运行数据经过多个层级计算处理,每一种数据统计结果都可以用完整度作为质量指标。(3)不同业务的运行数据可能来自不同范围的网络设备集群,且设备数量也会随时间动态变化,因此要有可扩展的数据存储结构和结合设备集群的实时信息的计算方法,才能精确计算出目标业务数据的完整度。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种数据统计完整度计算方法和系统。所述技术方案如下:

一方面,一种数据统计完整度计算方法,包括以下步骤:

持续采集网络设备上的运行数据;

将运行数据按生产时间点汇总,并对汇总后的运行数据进行数据统计计算;

用汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度。

进一步的,持续采集网络设备上的运行数据的具体步骤包括:

设置数据计算中心和数据统计完整度表,数据计算中心用于数据采集、存储和计算,数据统计完整度表用于保存数据统计完整度计算数据;

持续采集网络设备上的运行数据。

进一步的,将运行数据按生产时间点汇总,并对汇总后的运行数据进行数据统计计算的具体步骤包括:

将从网络设备上持续采集到的运行数据汇总到数据计算中心,按生产时间点整合;

保存整合后的运行数据;

存储已保存的运行数据的来源设备信息,来源设备信息包括运行数据指标、时间点和来源设备数;

对整合后的运行数据进行数据统计计算。

进一步的,对整合后的运行数据进行数据统计计算的具体方法为:根据业务需要,按时间粒度和业务类型,将汇总后的运行数据进行聚合、解析、分类或过滤后再对运行数据的来源设备数进行加和得到数据统计计算结果。

进一步的,用汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度的具体方法包括单个时间点数据完整度计算和多个时间点数据完整度计算,计算公式如下:

单个时间点数据完整度计算公式:

某时间点的数据完整率=实际来源设备数/理论来源设备数×100%(1);

多个时间点数据完整度计算公式:

多时间点的数据完整度=各时间点的实际来源设备数之和/各时间点的理论来源设备数之和×100%(2);

实际来源设备数为汇总后的运行数据在所述时间点的数据统计计算结果,理论来源设备数为所述时间点应该产生运行数据的来源设备总数,来源设备总数为已知值。

进一步的,多个时间点数据完整度计算公式中,在网络设备数量稳定的情况下,各个时间点的理论来源设备数可以认为一致,公式(2)简化后可得:

多时间点的数据完整度=avg(各时间点的数据完整度)(3)。

进一步的,计算方法还包括:数据统计完整度异常判断及分析的步骤,

当数据统计完整度低于设定的数据质量指标要求,则判断数据统计完整度发生异常;

数据统计完整度异常分析的具体步骤包括:

根据数据统计完成度异常时刻查询入库数据完整度是否异常;

如果不异常,则说明数据统计过程发生异常,检查数据统计在所述时刻异常的原因;

如果异常,则进一步查询异常时刻未采集到运行数据的设备清单,判断设备是否生成运行数据;

如果产生了运行数据,则说明数据采集过程发生异常,检查采集过程在所述时刻出现异常的原因;

如果未产生运行数据,则说明设备产生运行数据异常,检查设备在所述时刻出现异常的原因。

另一方面,一种数据统计完整度计算系统,包括:

采集模块,用于持续采集网络设备上的运行数据;

汇总模块,与采集模块连接,用于将运行数据汇总,并对汇总后的运行数据进行数据统计计算;

计算模块,与汇总模块连接,用于根据汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度。

进一步的,汇总模块具体包括:

汇总子模块,用于接收采集模块采集的运行数据,将运行数据和运行数据的来源设备信息按相同生产时间点汇总整合;

存储子模块,与汇总子模块连接,用于存储汇总后的运行数据和运行数据的来源设备信息;

统计子模块,与汇总子模块连接,用于对运行数据进行数据统计。

进一步的,数据统计完整度计算系统还包括:

异常处理模块,与计算模块连接,用于对异常数据统计完整度数据告警和处理。

进一步的,异常处理模块具体包括:

异常判断模块,与计算模块连接,用于设定数据质量指标,根据设定的数据质量指标和数据统计完整度比较,判断数据统计完整度是否异常,并发出告警;

异常分析模块,与异常判断模块连接,用于分析数据完整度异常原因并进行处理。

本发明实施例提供的技术方案带来的有益效果是:本发明提供一种数据统计完整度的计算方法和系统,能够实时地计算数据统计结果的完整度。一方面可作为分布式系统的统计数据的质量指标,另一方面可用于监控系统数据采集和统计过程的异常情况,有助于及时发现和分析网络设备运行和数据计算过程的异常。本发明能够集成大数据分布式存储和并行计算技术,应对大规模分布式系统环境下的大数据量的数据采集和数据统计的性能要求。以数据统计的业务类型为完整度分析维度,能够应对基于设备运行数据实现多层级和复杂的数据统计场景。使用可扩展的数据存储结构和实时取得设备信息的计算方式,能够精确计算目标业务数据的完整度。

附图说明

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

图1是本发明提供的一种数据统计完整度计算方法的实施方式的流程图;

图2是本发明提供的再一种数据统计完整度计算方法的实施方式的流程图;

图3是本发明提供的又一种数据统计完整度计算方法的实施方式的流程图;

图4是本发明提供的一种数据统计完整度计算系统的实施方式的结构图;

图5是本发明提供的另一种数据统计完整度计算系统的实施方式的结构图;

图6是本发明提供的再一种数据统计完整度计算系统的实施方式的结构图;

图7是本发明提供的又一种数据统计完整度计算系统的实施方式的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明提供一种数据统计完整度计算方法的实施方式,如图1所示,包括以下步骤:

步骤s101,持续采集网络设备上的运行数据。网络设备不断运转产生运行数据,将这些运行数据持续不断的采集下来。

步骤s102,将运行数据按生产时间点汇总,并对汇总后的运行数据进行数据统计计算。比如将运行数据按照每天、每小时或者每分钟作为一个生产时间进行汇总,然后对汇总后的运行数据进行数据统计。

步骤s103,用汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度。

具体的,如图2所示,本发明提供再一种数据统计完整度计算方法的实施方式:

步骤s201,设置数据计算中心和数据统计完整度表。在分布式系统内部设置数据计算中心和数据统计完整度表,数据计算中心用于数据采集、存储和计算,数据统计完整度表用于保存数据统计完整度计算数据。

步骤s202,通过数据中心持续采集网络设备上的运行数据。数据中心持续不断的将网络设备上生产的运行数据采集进来。

步骤s203,将从网络设备上持续采集到的运行数据汇总到数据计算中心,按生产时间点整合。比如将同一日生产的运行数据整合在一起,或者将同一小时、同一分钟生产的运行数据整合在一起。

步骤s204,保存整合后的运行数据。将每份整合后的运行数据存储在数据库或其他数据存储工具中,作为原始数据用于归档查询。

步骤s205,存储已保存的运行数据的来源设备信息。将已存储在数据库中的运行数据的来源设备信息也存储至同一数据库,用于计算相应时间点的数据完整度。来源设备信息包括:运行数据指标、时间点、来源设备数和其他信息。运行数据指标指数据流量、生产日志等由数据生产设备在生成数据时产生的业务数据内容。来源设备数指采集的运行数据的设备数量,计算过程只需要使用数量,而不用具体的设备清单。设备清单可以另外保存到独立的数据中心,用于针对某个完整度异常时刻查询未采集运行数据的异常设备。其他信息指不同数据生产设备的一些特殊信息。

步骤s206,对整合后的运行数据进行数据统计计算。根据业务需要,按时间粒度和业务类型,将汇总后的运行数据进行聚合、解析、分类或过滤后再对运行数据的来源设备数进行加和得到数据统计计算结果。比如将10分钟内相同业务类型的运行数据汇总在一起,如果没有特殊业务需要,就直接对运行数据的来源设备数进行加和;如果需要对运行数据进行解析,则先对这部分运行数据进行解析,在统计解析后运行数据的来源设备数的数量;如果只在某一范围内的运行数据,或只需要大于某值或小于某值的运行数据,则先对运行数据进行过滤,过滤之后对剩余的运行数据统计来源设备数的数量。

步骤s207,计算运行数据的数据统计完整度。用汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度。按业务类型和时间区间对数据统计完整度进行查询计算,并将结果存储在数据统计完整度表中。数据统计完整度计算方法包括单个时间点数据完整度计算和多个时间点数据完整度计算。

如果时间区间只覆盖一个时间点,可使用单个时间点数据完整度计算公式:

某时间点的数据完整率=实际来源设备数/理论来源设备数×100%(1)

式中“实际来源设备数”,指该时间点进入数据统计模型被成功处理的数据的来源设备总数,即运行数据的数据统计计算结果;“理论来源设备数”,指该时间点应该产生相关运行数据的来源设备总数。理论来源设备数是具体业务覆盖的网络设备数,且该设备数量可能不同时间点会不同,因为系统运营过程中可能对该业务的运行设备集群进行扩容或缩容。来源设备总数为已知值。

如果时间区间覆盖多个时间点,如运行数据产生周期为1分钟粒度,则5分钟的时间将覆盖五个连续时间点。多个时间点数据完整度计算公式如下:

多时间点的数据完整度=各时间点的实际来源设备数之和/各时间点的理论来源设备数之和×100%(2)

在网络设备数量稳定的情况下,各个时间点的理论来源设备数可以认为一致,则可以有:

各个时间点的理论来源设备数之和=n×(1个时间点的理论来源设备数)

公式(2)可以按如下过程简化:

多时间点的数据完整度=sum(各时间点实际来源设备数)/(n×1个时间点的理论来源设备数)×100%=1/n×sum(各时间点的数据完整度)=avg(各时间点的数据完整度)

可以得到以下公式:

多时间点的数据完整度=avg(各时间点的数据完整度)(3)

根据上述计算步骤,每个时间点的每种数据统计结果都会有相应的数据完整度。

图3所示是本发明提供的又一种数据统计完整度计算方法的实施方式,在本实施方式中,完成步骤s207后,还包括数据统计完整度异常判断及分析的步骤。

步骤s301,根据数据统计完成度异常时刻查询入库数据完整度是否异常。步骤s204直接将采集汇总后的运行数据入库保存,所以步骤s207计算的数据完整度可以反映数据采集到达数据中心的数据质量,可用于和其它数据统计结果的数据完整度对标,分析发现数据完整度异常的原因。数据统计结果的使用方可以根据完整度决定是否接受该数据结果,如果不接受可以在继续等待一段时间后再次计算,也可以进一步核查分析异常原因。比如目标数据完整度未达到数据质量指标要求99.9%,可根据完整度的异常时刻查询入库数据完整度,基于统计数据完整度和入库数据完整度可以进一步分析异常原因。如果入库数据完整度没有异常,则进行步骤s302;如果入库数据完整度异常,则进行步骤s304。

步骤s302,数据统计过程发生异常。当网络设备产生了运行数据,运行数据也被采集到数据计算中心,但在数据统计过程出现异常,导致某些运行数据没有被成功纳入计算时,表现为统计数据完整度异常,但入库数据完整度正常。可能是数据统计过程出现异常。

步骤s303,检查数据统计在这个时刻异常的原因,优化数据统计程序。

步骤s304,查询异常时刻未采集到运行数据的设备清单,判断设备是否生成运行数据。数据统计完整度异常,且数据入库的完整度也异常,异常原因可能出现在运行数据采集汇总之前。可以查询异常时刻的采集设备清单,取得未采集到数据的设备清单,进一步分析设备是否产生运行数据。如果未产生运行数据,则进行步骤s305;如果产生了运行数据,则进行步骤s307。

步骤s305,设备产生运行数据异常。当网络设备不可用,在异常时刻没有产生运行数据时,通常表现为数据统计完整度异常,且数据入库的完整度也异常,但生成数据的设备不存在运行数据。

步骤s306,检查设备在这个时刻出现异常的原因,对设备进行修复或优化。

步骤s307,数据采集过程发生异常。当网络设备正常产生了运行数据,但该运行数据没有被采集到数据计算中心时,通常表现为统计数据完整度异常,入库数据的完整度也异常,而生成数据的设备是存在运行数据的。

步骤s308,检查采集过程在这个时刻出现异常的原因,优化采集程序或优化网络。

本发明提供一种数据统计完整度的计算方法,能够实时地计算数据统计结果的完整度,一方面作为分布式系统的统计数据的质量指标,另一方面可用于监控系统数据采集和统计过程的异常情况,有助于及时发现网络设备运行和数据计算过程的异常原因。

本发明能够集成大数据分布式存储和并行计算技术,应对大规模分布式系统环境下的大数据量的数据采集和数据统计的性能要求。以数据统计的业务类型为完整度分析维度,能够应对基于设备运行数据实现多层级和复杂的数据统计场景。使用可扩展的数据存储结构和实时取得设备信息的计算方式,能够精确计算目标业务数据的完整度。

本发明还提供一种数据统计完整度计算系统的实施方式,如图4所示,包括:采集模块100、汇总模块200和计算模块300。

采集模块100用于持续采集网络设备上的运行数据;汇总模块200与采集模块100连接,用于将运行数据汇总,并对汇总后的运行数据进行数据统计计算;计算模块300与汇总模块200连接,用于根据汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度。

大规模分布式系统上部署的缓存服务器等网络设备是主要的数据生产节点,持续按1分钟等固定的时间周期生产日志和流量等运行数据,采集模块100将这些数据被采集上报到数据统计完整度计算系统。计算模块300负责数据完整度信息计算和更新,以及业务节点查询计算目标业务和时间范围的数据完整度。成功处理后的运行数据关联的采集设备信息都会提交给计算模块300。

计算模块300用汇总后的运行数据的数据统计计算结果,计算运行数据的数据统计完整度。按业务类型和时间区间对数据统计完整度进行查询计算。数据统计完整度计算方法包括单个时间点数据完整度计算和多个时间点数据完整度计算。

如果时间区间只覆盖一个时间点,可使用单个时间点数据完整度计算公式:

某时间点的数据完整率=实际来源设备数/理论来源设备数×100%(1)

式中“实际来源设备数”,指该时间点进入数据统计模型被成功处理的数据的来源设备总数,即运行数据的数据统计计算结果;“理论来源设备数”,指该时间点应该产生相关运行数据的来源设备总数。理论来源设备数是具体业务覆盖的网络设备数,且该设备数量可能不同时间点会不同,因为系统运营过程中可能对该业务的运行设备集群进行扩容或缩容。来源设备总数为已知值。

如果时间区间覆盖多个时间点,如运行数据产生周期为1分钟粒度,则5分钟的时间将覆盖五个连续时间点。多个时间点数据完整度计算公式如下:

多时间点的数据完整度=各时间点的实际来源设备数之和/各时间点的理论来源设备数之和×100%(2)

在网络设备数量稳定的情况下,各个时间点的理论来源设备数可以认为一致,则可以有:

各个时间点的理论来源设备数之和=n×(1个时间点的理论来源设备数)

公式(2)可以按如下过程简化:

多时间点的数据完整度=sum(各时间点实际来源设备数)/(n×1个时间点的理论来源设备数)×100%=1/n×sum(各时间点的数据完整度)=avg(各时间点的数据完整度)

可以得到以下公式:

多时间点的数据完整度=avg(各时间点的数据完整度)(3)

根据上述计算步骤,每个时间点的每种数据统计结果都会有相应的数据完整度。

具体的,本发明提供另一种数据统计完整度计算系统的实施方式,如图5所示,在本实施方式中,采集模块100、汇总模块200和计算模块300在功能和结构上与图4一致。本实施方式与图4的区别在于,汇总模块200具体包括:汇总子模块201、存储子模块202和统计子模块203。

汇总子模块201用于接收采集模块100采集的运行数据,将运行数据和运行数据的来源设备信息按相同生产时间点汇总整合。存储子模块202与汇总子模块201连接,用于存储汇总后的运行数据和运行数据的来源设备信息。统计子模块203与汇总子模块201连接,用于对运行数据进行数据统计。

汇总子模块201是运行数据的接入点,负责接收从网络设备采集上来的运行数据,将运行数据按相同业务时间点的数据汇总整合,比如汇总整合同1分钟或同5分钟内的运行数据。然后再将汇总后的运行数据提交给存储子模块202和统计子模块203。每个业务时间点的运行数据采集来源设备清单也是在汇总子模块201汇总和提交保存。

存储子模块202负责将原始的运行数据归档并存储到数据库或其他存储工具中,以便于对比和修复业务数据。存储子模块202同时还保存运行数据的来源设备信息,便于计算模块300计算相应时间点的数据完整度。来源设备信息包括:运行数据指标、时间点、来源设备数和其他信息。运行数据指标指数据流量、生产日志等由数据生产设备在生成数据时产生的业务数据内容。来源设备数指采集的运行数据的设备数量,计算过程只需要使用数量,而不用具体的设备清单。设备清单可以另外保存到独立的数据中心,用于针对某个完整度异常时刻查询未采集运行数据的异常设备。其他信息指不同数据生产设备的一些特殊信息。

统计子模块203负责基于运行数据进行数据统计,实现业务统计目标,如基于各种指标维度统计数据。统计子模块203根据业务需要,按时间粒度和业务类型,将汇总后的运行数据进行聚合、解析、分类或过滤后再对运行数据的来源设备数进行加和得到数据统计计算结果。比如将10分钟内相同业务类型的运行数据汇总在一起,如果没有特殊业务需要,就直接对运行数据的来源设备数进行加和;如果需要对运行数据进行解析,则先对这部分运行数据进行解析,在统计解析后运行数据的来源设备数的数量;如果只在某一范围内的运行数据,或只需要大于某值或小于某值的运行数据,则先对运行数据进行过滤,过滤之后对剩余的运行数据统计来源设备数的数量。

如图6所示,是本发明数据统计完整度计算系统的再一种实施方式。在本实施方式中,采集模块100、汇总模块200和计算模块300,及汇总模块200的汇总子模块201、存储子模块202和统计子模块203在功能和结构上与图4和图5一致。本实施方式与图4和图5的区别在于,数据统计完整度计算系统还包括:异常处理模块400。异常处理模块400与计算模块300连接,用于对异常数据统计完整度数据告警和处理。异常处理模块400提取统计子模块203得到的数据统计结果和计算模块300得到的数据完整度结果,根据数据完整度判断统计数据的可用性,对低于一定指标的统计数据可提出异常数据告警和处理。

如图7所示,本发明提供又一种数据统计完整度计算系统的实施方式,在本实施方式中,采集模块100、汇总模块200和计算模块300,及汇总模块200的汇总子模块201、存储子模块202和统计子模块203在功能和结构上与图4和图5一致。本实施方式与图4和图5的区别在于,异常处理模块400具体包括:异常判断模块401和异常分析模块402。

异常判断模块401与计算模块连接100,用于设定数据质量指标,根据设定的数据质量指标和数据统计完整度比较,判断数据统计完整度是否异常,并发出告警。异常分析模块402与异常判断模块401连接,用于分析数据完整度异常原因并进行处理。

比如通过异常判断模块401设定数据质量指标为99.9%,如果计算模块300得到的目标数据完整度未达到该设定值,则异常判断模块401判断数据完整度出现异常。此时异常分析模块402可根据完整度的异常时刻查询入库数据完整度,基于统计数据完整度和入库数据完整度可以进一步分析异常原因。

如果入库数据完整度没有异常,则说明数据统计过程发生异常;如果入库数据完整度异常,异常原因可能出现在运行数据采集汇总之前,则应查询异常时刻未采集到运行数据的设备清单,判断设备是否生成运行数据。如果未产生运行数据,则说明设备产生运行数据异常;如果产生了运行数据,则说明数据采集过程发生异常。

数据完整度偏低一般有以下几种原因:

(1)当网络设备产生了运行数据,运行数据也被采集到数据计算中心,但在数据统计过程出现异常,导致某些运行数据没有被成功纳入计算时,表现为统计数据完整度异常,但入库数据完整度正常。可能是数据统计过程出现异常,此时应检查数据统计在这个时刻异常的原因,优化数据统计程序。

(2)当网络设备不可用,在异常时刻没有产生运行数据时,通常表现为数据统计完整度异常,且数据入库的完整度也异常,但生成数据的设备不存在运行数据。应检查设备在这个时刻出现异常的原因,对设备进行修复或优化。

(3)当网络设备正常产生了运行数据,但该运行数据没有被采集到数据计算中心时,通常表现为统计数据完整度异常,入库数据的完整度也异常,而生成数据的设备是存在运行数据的。应当检查采集过程在这个时刻出现异常的原因,优化采集程序或优化网络。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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