技术领域
[0001] 本申请涉及数据统计领域,特别是涉及分段式数据统计方法、统计装置和电子装置。
相关背景技术
[0002] 在目前的大数据时代,人们有大量的数据查询方面的需求,但是面对海量数据,统计查询耗时越来越久,有时甚至要耗费60秒之久,远远不能满足用户的需要。在一些情况下也需要根据相应的统计值进行提示预警,来使相关人员更好的对该查询任务进行规划。在现有技术中,应用较为广泛的是针对每条待统计数据添加索引,并设置不同的单元来归置这些数据索引,但这种方法避免不了会出现效率低和应用不够灵活的问题。
[0003] 目前针对相关技术中数据统计的效率低且应用不够灵活的问题,尚未提出有效的解决方案。
具体实施方式
[0041] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0042] 在一个实施例中,如图1所示,提供了一种分段式数据统计的方法,图1是根据本申请实施例的分段式数据统计方法的流程图,如图1所示,该流程包括如下步骤:
[0043] 步骤S110,获取预设的分段式统计规则,并获取待统计数据,以及待统计数据对应的数据统计属性;其中,分段式统计规则至少包括预设时间间隔和预设统计属性;
[0044] 步骤S120,在从预设统计属性中匹配到与数据统计属性对应的目标统计属性的情况下,根据预设时间间隔对待统计数据进行分段处理得到分段式数据,根据目标统计属性对分段式数据进行统计处理并生成待统计数据的目标统计结果。
[0045] 具体地,分段式统计规则可以包括统计属性、统计标签、统计方法、预设时间间隔等可以对待统计数据预先进行统计并分段处理的统计规则;
[0046] 目标统计属性为,待统计数据中数据统计属性与分段式统计规则中包括的预设统计属性可以相匹配的数据统计属性;进一步地,数据统计属性可以包括:流量大小、攻击次数、区域、IP等类别,可以根据用户的需求进行选择。
[0047] 需要注意的是,与其他现有技术相比,本申请提出的分段式数据统计方法可以快速且高效的进行输入数据的统计,以便后续用户按需要进行查询时可以快速的得到查询结果。其中,由于分段式统计规则可以按照实际情况进行调整,因此本申请的分段式统计方法可以很好的适应各种不同的情况以执行不同的统计要求,尤其是其中对预设时间间隔进行调整,可以更好的适应不同的查询需要的时间跨度,以此来大大加快查询时的速度。并且,通过数据统计属性与预设统计属性进行匹配,可以增加统计时的准确度,并且也为后续查询缩小了查询范围,可以更快速的完成数据查询。
[0048] 为了方便理解,下列表格为一般情况下常见的分段式统计规则基本信息及其解释说明:
[0049]
[0050] 进一步地,分段式统计规则还包括新老查询开关,通过当前统计接口获取用户输入的第一统计请求指令后,若获取到针对当前统计接口的报错信息,则通过新老查询开关将当前统计接口切换至历史统计接口,并通过历史统计接口获取用户输入的第二统计请求指令,综上,可以通过第一统计请求指令或第二统计请求指令生成待统计数据的目标统计结果。
[0051] 其中,上述的当前统计接口是通过,根据用户的需求进行更新处理后的历史统计接口生成的,由于当前统计接口更新时可能会出现测试失误等问题,因此会存在报错等风险,当获取到当前统计接口的报错信息时,可以切换至历史统计接口,而当前统计接口和历史统计接口的切换并不会对用户造成明显影响。
[0052] 需要注意的是,一方面里,本申请中提出的将历史统计接口根据用户需求进行更新处理生成该当前统计接口,这个技术可以很好的使本申请满足随着时间推移逐渐变化的用户需求,可以使本申请更灵活的适应于不同的环境,并且对于统计接口的更新可以提高安全性;另一方面中,本申请中的新老查询开关可以及时对历史统计接口和当前统计接口进行切换,当当前统计接口由于测试失误等问题出现报错的情况,可以通过新老查询开关将统计接口切换回历史统计接口,以此可以保证本申请中数据分段式统计以及用户端进行数据查询的顺利进行,从而通过上述实施例解决了数据统计的效率低且应用不够灵活的问题。
[0053] 进一步地,上述的第一统计请求指令为用户输入至当前统计接口的指令,上述的第二统计请求指令为用户输入至历史统计接口的指令,其中,第一统计请求指令与第二统计请求指令在内容与形式上完全相同。
[0054] 进一步地,上述分段式统计规则还包括预设的数据存储类型,根据数据存储类型将第一统计请求指令或第二统计请求指令进行语句转换处理,生成目标查询语句;利用目标查询语句生成目标统计结果。
[0055] 其中,目标查询语句为根据数据存储类型将用户输入的查询指令转换为存储介质可以识别的语句,具体地,可以通过语法解析中心将查询指令转化为各类数据源存储介质可以识别的语言。
[0056] 在一些实施例中,分段式数据统计方法还包括,统计接口可以获取一个或多个用户端所发出的统计请求指令,当同时有多个用户端向统计接口发出请求指令时,对于多个请求指令的处理并没有优先关系,是并行处理;并且,用户端与统计接口可以有多种方式进行连接,例如,连接方式可以包括:POST请求或Get请求等。
[0057] 需要注意的是,本申请中提供的可以以多种连接方式与多个用户端同时连接进行数据查询,可以更好的适应不同环境的查询需要,并且可以为多个用户端提供并行查询处理,也大大增加了本申请的分段式数据查询方法的查询效率。
[0058] 在一些实施例中,分段式数据统计方法还包括,当根据目标统计属性对分段式数据进行统计处理并生成待统计数据的目标统计结果时,若该分段数据仅包括当前分段式数据时,根据目标统计属性对当前分段式数据进行统计并保存至预设统计数据库中,得到目标统计结果;
[0059] 若该分段式数据包括历史分段式数据和当前分段式数据时,根据目标统计属性对历史分段式数据进行统计得到对应的旧分段统计记录,并根据目标统计数据对当前分段式数据进行统计得到对应的新分段统计记录;
[0060] 进一步地,通过分段式统计规则对应的唯一标识信息将旧分段统计记录与新分段统计记录进行关联得到关联信息,并根据该关联信息将所述应的旧分段统计记录、新分段统计记录保存至预设统计数据库中,得到目标统计结果。
[0061] 其中,预设的统计数据库为,将数据统计完成后进行保存的数据库,数据保存的类型可以是mysql、es等,也可以根据用户的需要进行改进,以提供更多数据保存的形式。
[0062] 其中,旧分段统计记录为,通过目标统计属性对历史分段式数据进行统计生成的记录,进一步地,该历史分段式数据为此次待统计的分段式数据输入前已经获得的数据;同理,新分段统计记录为,通过目标统计属性对当前分段式数据进行统计生成的记录,进一步地,该当前分段式数据为此次输入的待统计的分段式数据。
[0063] 需要注意的是,本申请中对输入数据先按照分段式统计规则进行分段式数据统计处理,得到新分段统计记录,而后再通过分段式统计规则对应的唯一标识信息与旧分段统计记录进行关联,不仅可以增加预先对数据统计时的正确率,并且由于进行的是分段式统计处理,可以大大的增加统计的效率。本申请可以为统计完成的数据提供多种类型的保存,例如mysql、es等,因此可以适应很多不同的环境,减少了对完成统计的目标统计结果进行数据类型转换的时间及空间,大大提高了数据统计的效率。
[0064] 在一些实施例中,分段式数据统计方法还包括,通过分段式统计规则对分段式数据进行统计处理时,具体的:
[0065] 根据预设的统计算子获取对应的统计数值;
[0066] 根据预设统计算子、统计数值和目标统计属性对分段式数据进行统计处理并生成分段统计结果;其中,分段统计结果与预设统计算子相匹配;
[0067] 获取用户输入的统计请求指令,对统计请求指令解析生成统计功能信息,从预设统计算子中确定与统计功能信息相对应的目标统计算子,并获取与目标统计算子相匹配的分段统计结果,得到目标统计结果。
[0068] 其中,预设的统计算子可以为count、sum、avg、max、min等,可以在数据处理中心中进行对分段式数据的统计和存储,
[0069] 进一步地,当预设的统计算子为count时,即为统计当前类型条数的意思,因此直接在对应的统计数值上自加1,得到对应的分段统计结果;
[0070] 当预设的统计算子为sum时,即为需要把当前分段式数据对应的统计数值加至对应的旧分段统计记录中,得到对应的分段统计结果;
[0071] 当预设的统计算子为avg时,即为求平均值,即将当前分段式数据对应的统计数值与当前对应的旧分段统计记录对应的数值求平均值,得到对应的分段统计结果;
[0072] 当预设的统计算子为max时,即为求当前分段式数据对应的统计属性的最大值,因此可以为该分段式数据对应的统计属性单独建立一张属性表,该属性表包括该分段式数据的唯一标识信息、统计数值和统计属性,通过该属性表得到当前分段式数据对应的统计属性的最大值,得到对应的分段统计结果;
[0073] 同理,当预设的统计算子为min时,即为求当前分段式数据对应各统计属性的最小值,因此可以为该分段式数据对应的统计属性单独建立一张属性表,该属性表包括该分段式数据的唯一标识信息、统计数值和统计属性,通过该属性表得到当前分段式数据对应的统计属性的最小值,得到对应的分段统计结果。
[0074] 进一步地,当用户输入统计请求指令时,对用户输入的统计请求指令进行解析,得到用户需要的统计功能信息,而后从上述的预设统计算子中确定与该统计功能信息相对应的目标统计算子,并通过上述流程获得与该目标统计算子相匹配的分段统计结果,得到目标统计结果。
[0075] 在一些实施例中,分段式数据统计方法还包括,将目标统计结果与预设的预警阈值进行比较,其中,分段式统计规则包括预警阈值;其中,该预警阈值可以由用户结合实际情况预先进行设定,该预设阈值用于限定统计量所能达到的最大值。
[0076] 当待统计数据大于预警阈值且不超过预警阈值的第一百分比时,通过第一通讯方式进行预警;
[0077] 当待统计数据大于预警阈值的第一百分比且小于或等于预警阈值的第二百分比时,通过第二通讯方式进行预警;
[0078] 当待统计数据大于预警阈值的第二百分比时,通过第三通讯方式进行预警;
[0079] 其中,第一百分比小于第二百分比,第一通讯方式速度小于第二通讯方式速度且第二通讯方式速度小于第三通讯方式速度。
[0080] 具体地,其中预警部分可以根据需求选择是否需要预警,若不需要进行预警,可以由预警开关进行关闭,其中分段式统计规则包括预警开关;
[0081] 进一步地,上述的第一通讯方式可以为邮件等形式进行预警,第二通讯方式可以为微信、钉钉等通信软件的形式进行预警,第三通讯方式可以为电话、语音等形式进行预警;并且,上述的第一百分比一般可以设置为10%,第二百分比一般可以设置为50%,其中,在实际应用时,该第一百分比和第二百分比的具体数值可以根据需要进行修改。
[0082] 需要注意的是,在本申请中可以按照目标统计结果与预设的预警阈值的关系的不同,按不同的方式进行预警,不仅可以增加数据统计时的安全性,并且当目标统计结果超过阈值时及时通知相关人员进行处理,也可以保证本申请实际应用时可以正常运转,增加了对大量数据进行统计以及用户进行查询时的效率,使本申请提供的分段式数据处理可以适应多种不同的环境。
[0083] 在一些实施例中,分段式数据统计方法还包括,获取监听到的消息队列中间件的待统计数据;其中,该消息队列中间件连接用户端,待统计数据是由消息队列中间件从所述用户端获取的。
[0084] 具体地,该消息队列中间件可以选择使用kafka消息系统,kafka系统拥有高吞吐量、高并发、低延迟等特性,不仅可以实现高效的对大量数据进行处理,也可以实现多个用户端同时获取信息。
[0085] 下面通过优选实施例对本申请实施例进行描述和说明。
[0086] 对消息队列中间件进行监听,此处消息队列中间件可以选择用kafka;若监听到消息队列中间件中有第三方数据输入,获取数据,并获取预先配置好的分段式统计规则;然后将第三方数据与分段式统计规则进行一一匹配,此处的匹配主要是对数据统计属性和预设统计属性进行匹配,匹配成功则按照该分段式统计规则进行分段式统计,其中,较为常见的预设统计算子包括:count、sum、avg、max和min。对待统计数据根据通过分段式统计规则进行分段式数据统计处理后保存至预设统计数据库。当入库完成后,根据分段式统计规则中的预警阈值对入库的数据选择是否进行预警并且选择用何种方法进行预警,其中,比较常见的预警阈值和预警方法可以设置为,当数据库中的数据不超过预警阈值的10%时,使用邮件方式进行预警,当数据库中的数据超过预警阈值的10%且小于等于预警阈值的50%时,通过微信和钉钉进行预警,当数据库中的数据超过预警阈值的50%时,通过电话方式进行预警。
[0087] 相比于现有技术,一方面,本申请中提出的分段式数据统计的方法,通过将待统计数据按照制定分段式统计规则预先进行统计并存储,而后当用户进行查询时将统计好的分段式数据进行进一步统计便可较为快速的得出用户需要的查询结果,可以大大降低用户进行数据查询时所需要耗费的时间;另一方面,本申请主要是通过分段式统计规则对待统计数据进行预先统计并存储,该分段式统计规则可以根据实际应用的情况进行修改和选择,具有很高的应用灵活性,可以适应很多不同环境和不同需求;并且由于本发明中包括有对不同形式的查询请求指令进行转换的步骤,因此可以高效的处理不同形式的用户统计请求指令。
[0088] 本实施例还提供了一种分段式数据统计装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是根据本申请实施例的分段式数据统计系统的结构框图,如图2所示,该装置包括获取模块11和生成模块12:
[0089] 该获取模块11,用于获取预设的分段式统计规则,并获取待统计数据,以及该待统计数据对应的数据统计属性;其中,分段式统计规则至少包括预设时间间隔和预设统计属性;
[0090] 该生成模块12,用于在从预设统计属性中匹配到与数据统计属性对应的目标统计属性的情况下,根据预设时间间隔对待统计数据进行分段处理得到分段式数据,根据目标统计属性对分段式数据进行统计处理并生成待统计数据的目标统计结果。
[0091] 具体地,获取模块11首先通过消息队列中间件获取待统计数据,并且获取预设的分段式统计规则,其中分段式统计规则可以包括统计规则对应的唯一标识信息、预设时间间隔、预设统计属性、新老查询开关等可以对待统计数据进行分段式统计的统计规则,并且该分段式统计规则至少要包括预设时间间隔和预设统计属性。而后生成模块12获取待统计数据以及预设的统计规则,并对预设的统计规则中预设统计属性与数据统计属性中的目标统计属性进行匹配,并根据预设的分段式统计规则进行统计,得到对于待统计数据的目标统计结果。
[0092] 通过上述分段式数据统计装置,不仅可以做到对大量数据预先进行统计以减小用户查询时所需要耗费的时间,并且通过对分段式统计规则的设定可以更好的使该统计装置更好的适用于很多要求不同的场合。
[0093] 本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0094] 本实施例还提供了一种分段式数据统计系统,图3是根据本申请实施例的一种分段式数据统计系统的结构框图,如图3所示,该系统包括消息队列21、数据处理模块22、数据库23和用户端24;其中消息队列21获取待统计数据,消息队列21与数据处理模块22连接,若数据处理模块22监听到消息队列21中有待统计数据,数据处理模块22获取该待统计数据;数据处理模块22获取待统计数据并获取分段式统计规则,其中,分段式统计规则至少包括预设时间间隔以及预设统计属性,从预设统计属性中匹配到与数据统计属性对应的目标统计属性的情况下,根据预设时间间隔对待统计数据进行分段处理得到分段式数据,并通过分段式统计规则对分段式数据进行处理,得到新分段统计记录,其中分段式统计规则可以在数据处理模块22中根据实际需要进行调整,数据处理模块22与数据库23相连,当数据处理模块22将待统计数据分段统计完成后存储进数据库23中,与相应的旧分段统计记录进行累加,得到目标统计结果,其中,数据存储类型可以包括mysql、es等,并且,数据处理模块22还包括预警阈值,将目标统计结果与预设的预警阈值进行比较,以此来决定是否预警以及以什么方式进行预警;数据处理模块22还与用户端24通过统计端口相连,用户端24可以有一个或多个用户端24,当用户端24需要进行数据查询时,向统计端口中发送统计请求指令,数据处理模块22收到该指令后根据分段式统计规则以及目标统计结果对应的数据存储类型,将该指令进行语句转换处理,生成目标查询语句后进行目标查询,查询结束后返回该指令对应的目标查询结果,其中用户端24与数据处理模块22之间的通信方式可以为POST请求、Get请求等。
[0095] 与现有技术相比,本申请的分段式数据统计系统有显著的进步,一方面,本申请可以高效快速的按照不同用户的需求进行数据查询,与传统的查询方法所需的时间相比,由于本申请使用的分段式数据统及方法预先对数据进行了部分统计,本申请需要的查询时间大大减小;另一方面,本申请中可以对预设的分段式统计规则根据实际需求进行修改并且可以支持与多个用户端24同时连接完成并行查询请求,因此,本申请可以适应多种不同的环境以及适应多种不同的需求完成数据的统计和查询。
[0096] 在其中一些实施例中,提供了一种分段式数据统计设备,图4是根据本申请实施例的一种分段式数据统计设备内部的结构图。该分段式数据统计设备包括通过系统总线连接的消息队列中间件、获取部分、生成部分和统计接口。其中,该分段式统计设备的消息队列中间件与第三方待统计数据相连,待统计数据就是由消息队列中间件从第三方待统计数据获取的。在一些实施例中的获取部分与消息队列中间件相连,用来获取待统计数据以及获取预设的分段式统计规则。该分段式数据统及设备的生成部分用于将预设的统计属性与待统计数据的数据统计属性进行匹配,匹配完成后根据预设的时间间隔对待统计数据进行分段处理得到分段式数据,然后根据预设的分段式统计规则对该分段式数据进行统计处理得到待统计数据的目标统计结果。该分段式数据统计设备的统计接口用于与用户端进行连接,通过当前统计接口获取用户端输入的第一统计请求指令,若当前统计接口报错,则通过新老查询开关将当前统计接口切换为历史统计接口,并对当前统计接口进行修复,该当前统计接口为对于历史统计接口进行更新处理生成的。一方面,该分段式数据统计装置可以通过预先设置的分段式统计规则对待统计数据进行统计,大大加快了用户查询时的速度,其中,由于分段式统计规则可以预先进行设置,因此本申请的分段式数据统计可以适应很多不同的环境;另一方面,由于本申请中可以对用户输入的统计请求指令根据目标统计结果对应的数据存储类型进行语句转换处理,因此本申请可以高效的处理不同用户端输入的不同形式的统计请求指令,并且本申请可以同时与多个不同的用户端进行连接,获取其统计请求指令,因此可以高效的对多个用户端提供查询统计服务。
[0097] 本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的分段式数据统计设备的限定,具体的分段式数据统计设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0098] 本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0099] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。