一种基于远程字典服务的滑窗计数方法及装置
技术领域
本发明涉及计算机
技术领域
,尤其涉及一种基于远程字典服务的滑窗计数方法及装置。背景技术
针对一些需要根据时间移动周期性统计以及对计数结果进行实时查询的场景,比如在一定周期内的监控、统计控制需求等,滑动窗口计数技术提供了一种简单、可行的解决方案。现有技术中大多采用引入流计算框架来实现滑动窗口计数,一般用于解决离线业务功能的需求,如果需要在实时业务流程中使用,就需要增加缓存技术组件,以及维护缓存的数据操作。
现有技术需要将多种技术框架与技术组件联合使用,实现复杂,并且滑窗操作和配置化处理灵活性低。
发明内容
本发明提供一种基于远程字典服务的滑窗计数方法及装置,用以解决现有技术中将多种技术框架与技术组件联合使用,实现复杂且灵活性低的缺陷,实现逻辑简单、稳定性强且滑窗操作和配置化处理灵活性高的滑窗计数方法。
本发明提供一种基于远程字典服务的滑窗计数方法,包括:
获取配置服务中的配置信息;
根据所述配置信息,接收目标程序发送的计数消息;
基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段以及计数值并存储于所述远程字典服务中;
根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,所述配置信息包括统计维度;
所述根据所述配置信息,接收目标程序发送的计数消息,包括:
根据所述配置信息的统计维度,接收所述目标程序发送的对应所述统计维度的计数消息。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,所述配置信息包括时间粒度,所述计数消息包括统计维度标识、计数唯一标识和计数事件时间;
所述基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段,包括:
根据所述配置信息的时间粒度,将所述计数消息中的计数事件时间转化为对应格式的时间字符串;
基于预设的远程字典服务存储规则,将所述统计维度标识、所述计数唯一标识和所述时间字符串生成目标字段。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,所述基于预设的远程字典服务存储规则以及所述计数消息,生成对应的计数值,包括:
若所述远程字典服务中不存在所述目标字段,将所述目标字段对应的计数值初始化为1;
若所述远程字典服务中存在所述目标字段,将所述目标字段对应的计数值增加1。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,所述根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果,包括:
根据所述滑窗计数请求生成远程字典服务的查询指令,并基于所述查询指令在远程字典服务中对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,在生成对应的目标字段以及计数值并存储于所述远程字典服务中后,所述方法还包括:
为所述目标字段设置第一失效时间,并在达到失效时间的情况下,在远程字典服务中删除所述目标字段及对应的计数值。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,在生成对应的目标字段以及计数值并存储于所述远程字典服务中后,所述方法还包括:
基于预设的转换规则对所述目标字段进行转换,生成二级字段;
基于所述第一失效时间为所述二级字段设置第二失效时间,所述第二失效时间小于所述第一失效时间;
接收远程字典服务基于所述第二失效时间发送的失效事件通知,其中,所述失效事件通知包括失效二级字段;
对所述失效二级字段进行解析,得到对应的待失效目标字段;
基于所述待失效目标字段确定存储于远程字典服务中对应所述待失效目标字段的计数值;
将所述待失效目标字段及对应的计数值存储至数据存储设备。
根据本发明提供的一种基于远程字典服务的滑窗计数方法,在将所述待失效目标字段及对应的计数值存储至数据存储设备后,所述方法还包括:
从所述远程字典服务中删除所述待失效目标字段及对应的计数值。
本发明还提供一种基于远程字典服务的滑窗计数装置,包括:
获取配置信息单元,用于获取配置服务中的配置信息;
接收计数消息单元,用于根据所述配置信息,接收目标程序发送的计数消息;
计数存储单元,用于基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段以及计数值并存储于所述远程字典服务中;
统计查询单元,用于根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述配置信息包括统计维度;
所述接收计数消息单元还用于:
根据所述配置信息的统计维度,接收所述目标程序发送的对应所述统计维度的计数消息。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述配置信息包括时间粒度,所述计数消息包括统计维度标识、计数唯一标识和计数事件时间;
所述计数存储单元还用于:
根据所述配置信息的时间粒度,将所述计数消息中的计数事件时间转化为对应格式的时间字符串;
基于预设的远程字典服务存储规则,将所述统计维度标识、所述计数唯一标识和所述时间字符串生成目标字段。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述计数存储单元还用于:
若所述远程字典服务中不存在所述目标字段,将所述目标字段对应的计数值初始化为1;
若所述远程字典服务中存在所述目标字段,将所述目标字段对应的计数值增加1。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述统计查询单元还用于:
根据所述滑窗计数请求生成远程字典服务的查询指令,并基于所述查询指令在远程字典服务中对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述装置还包括失效清理单元,用于在生成对应的目标字段以及计数值并存储于所述远程字典服务中后:
为所述目标字段设置第一失效时间,并在达到失效时间的情况下,在远程字典服务中删除所述目标字段及对应的计数值。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述装置还包括历史数据存储单元,用于在生成对应的目标字段以及计数值并存储于所述远程字典服务中后:
基于预设的转换规则对所述目标字段进行转换,生成二级字段;
基于所述第一失效时间为所述二级字段设置第二失效时间,所述第二失效时间小于所述第一失效时间;
接收远程字典服务基于所述第二失效时间发送的失效事件通知,其中,所述失效事件通知包括失效二级字段;
对所述失效二级字段进行解析,得到对应的待失效目标字段;
基于所述待失效目标字段确定存储于远程字典服务中对应所述待失效目标字段的计数值;
将所述待失效目标字段及对应的计数值存储至数据存储设备。
根据本发明提供的一种基于远程字典服务的滑窗计数装置,所述历史数据存储单元还用于:
在将所述待失效目标字段及对应的计数值存储至数据存储设备后,从所述远程字典服务中删除所述待失效目标字段及对应的计数值。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于远程字典服务的滑窗计数方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于远程字典服务的滑窗计数方法的步骤。
本发明提供的一种基于远程字典服务的滑窗计数方法及装置,获取配置服务的配置信息,从而可以配置化处理灵活性高,并根据配置信息接收目标程序发送的计数消息,然后基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中,无需将多种技术框架与技术组件联合使用,逻辑简单、稳定性强,然后根据滑窗计数请求,对目标字段及对应的计数值进行统计和/或查询,实现滑窗操作和配置化处理灵活性高的滑动窗口计数。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于远程字典服务的滑窗计数方法的流程示意图之一;
图2是本发明实施例提供的基于远程字典服务的滑窗计数方法的流程示意图之二;
图3是本发明实施例提供的基于远程字典服务的滑窗计数方法的流程示意图之三;
图4是本发明实施例提供的基于远程字典服务的滑窗计数方法的流程示意图之四;
图5是本发明实施例提供的各服务之间的交互示意图;
图6是本发明提供的基于远程字典服务的滑窗计数装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图7描述本发明各实施例提供的技术方案。
图1为本发明一实施例提供的基于远程字典服务的滑窗计数方法的流程示意图,该方法包括:
步骤110、获取配置服务中的配置信息。
步骤120、根据配置信息,接收目标程序发送的计数消息。
具体来说,计算服务器集群从配置服务中定时拉取计数相关的配置信息并缓存到本地内存。应用程序或者其他数据采集程序进行计数埋点,当计数机制被触发时,应用程序或者其他数据采集程序向计数服务器集群发送计数消息。计算服务器集群根据配置信息接收目标程序发送的计数消息。
步骤130、基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中。
其中,远程字典服务(Remote Dictionary Server,Redis),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。将计数消息进行处理得到Key-Value格式的目标字段及计数值存储于Redis,以实现对计数数据的快速查询。
步骤140、根据滑窗计数请求,对目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
具体来说,计算服务器集群向外部应用程序提供API接口,供给外部应用程序查询需要的计数结果,可以支持时点查询和一定时间周期内的计数统计,同时实现滑窗计数的效果,以满足应用层的不同的计数使用场景。
本发明提供的一种基于远程字典服务的滑窗计数方法,获取配置服务中的配置信息,从而可以配置化处理灵活性高,并根据配置信息接收目标程序发送的计数消息,然后基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中,无需将多种技术框架与技术组件联合使用,逻辑简单、稳定性强,然后根据滑窗计数请求,对目标字段及对应的计数值进行统计和/或查询,实现滑窗操作和配置化处理灵活性高的滑动窗口计数。
进一步地,在本发明一实施例中,配置信息包括统计维度和时间粒度。
具体来说,通过配置服务对新增的计数统计维度进行配置,包括选择和配置计数的时间粒度,以及设置统计维度标识KSTR。计算服务器集群根据配置信息的统计维度,接收目标程序发送的对应统计维度的计数消息。
进一步地,在本发明一实施例中,计数消息包括统计维度标识KSTR、计数唯一标识CUSTR和计数事件时间DateTime。
相应地,步骤130具体包括:
步骤210、根据配置信息的时间粒度,将计数消息中的计数事件时间转化为对应格式的时间字符串。
具体来说,从计数消息中获取DateTime,如果计数消息中为空值,则取服务器当前时间作为DateTime,基于计数消息中的KSTR获取配置信息以确定对应KSTR的时间粒度,基于时间粒度将DateTime转换成不同格式的时间字符串,比如,秒:YYYYMMDDHHMMSS、分钟:YYYYMMDDHHMM、小时:YYYYMMDDHH。
步骤220、基于预设的远程字典服务存储规则,将统计维度标识、计数唯一标识和时间字符串生成目标字段。
具体来说,将KSTR与时间字符串进行组合形成计数数据的目标字段Key,比如,Key=KSTR+“@”+CUSTR+“@”+时间字符串。
对于对应目标字段的计数值,需要判断Redis中是否存在当前目标字段,若不存在,则将所述目标字段对应的计数值增加1;若存在,则将所述目标字段对应的计数值初始化为1。
需要说明的是,上述存储规则实现对处于同一时间粒度内计数消息的累加计数,并随着时间的推移产生“滑动计数”的效果。
进一步地,在本发明一实施例中,步骤140具体包括:
根据滑窗计数请求生成Redis的查询指令,并基于查询指令在Redis中对目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
具体地,计算服务器集群提供API接口获取外部应用程序的查询请求。其中,对于时间粒度的时点查询,Redis使用get指令进行处理;对于一定时间周期内的计数统计,比如5秒、20小时等,Redis使用mget指令进行查询,而对于200小时这种超大的时间周期,为提高统计的性能,应该升级配置的计数时间粒度再进行统计。
需要说明的是,基于预设的Redis存储规则以及计数消息,生成对应的目标字段以及计数值并存储于Redis中,以及在查询过程中对计数周期的统计处理,可以形成一种滑窗计数的能力。
进一步地,在本发明一实施例中,在生成对应的目标字段以及计数值并存储于Redis后,还包括:
为目标字段设置第一失效时间,并在达到失效时间的情况下,在Redis中删除目标字段及对应的计数值。
具体来说,对目标字段设置过期自动清理的时间,该时间可以在时间周期粒度的固定评估过期时间之上,随机增加一个增量,比如,“秒”的时间周期为60秒,然后增加一个10-30秒的一个增量,用来避免在同一时间出现大量的目标字段触发时效机制。
进一步地,在本发明一实施例中,为增加历史数据的使用,可以将过期失效历史记录进行存储,具体包括:
步骤310、基于预设的转换规则对目标字段进行转换,生成二级字段。
步骤320、基于第一失效时间为二级字段设置第二失效时间,第二失效时间小于第一失效时间。
步骤330、接收Redis基于第二失效时间发送的失效事件通知,其中,失效事件通知包括失效二级字段。
步骤340、对失效二级字段进行解析,得到对应的待失效目标字段。
步骤350、基于待失效目标字段确定存储于Redis中对应待失效目标字段的计数值。
步骤360、将待失效目标字段及对应的计数值存储至数据存储设备。
具体来说,定义一个二级字段EKey,其形式可以为EKey=E+“#”+Key,设置EKey的过期时间为时间周期粒度的固定评估时间之上,随机增加100~1000ms,需要说明的是,随机增量可以是比第一失效时间小的其他数值。然后,计算服务器集群监听Redis的Ekey失效事件通知,过滤出需要处理的失效二级字段EKey,由于通知事件只能获取字段而不能获取对应的计数值,所以,需要根据EKey解析出Key,然后从缓存中获取到对应的计数值,然后写入到数据存储设备中,以供后续查询使用。
需要说明的是,在将待失效目标字段及对应的计数值存储至数据存储设备后,可以主动删除Redis中的待失效目标字段,或者达到第一失效时间时对Redis中相应的失效目标字段及计数值进行清理。
综上所述,本发明提供的一种基于远程字典服务的滑窗计数方法,获取配置服务中的配置信息,从而可以配置化处理灵活性高,并根据,并根据配置信息接收目标程序发送的计数消息,然后基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中,实现对处于同一时间粒度内计数消息的累加计数,无需将多种技术框架与技术组件联合使用,逻辑简单、稳定性强,然后根据滑窗计数请求,对目标字段及对应的计数值进行计数周期的统计处理,同时提供过期失效数据的自动清理,实现滑窗操作和配置化处理灵活性高的滑动窗口计数。
本发明一实施例还提供了一种基于远程字典服务的滑窗计数方法,参见图4和图5,该方法包括:
步骤410、获取配置服务中的配置信息。
具体来说,如图5所示,配置服务提供配置的功能管理界面,使用户可以对新增的计数统计维度进行配置,包括选择和配置计数的时间粒度,比如秒、分钟、小时,以及设置统计维度标识KSTR。
步骤420、根据配置信息的统计维度,接收目标程序发送的对应统计维度的计数消息。
具体来说,如图5所示,计算服务器集群从配置服务中定时拉取计数相关的配置信息并缓存到本地内存。应用程序或者其他数据采集程序进行计数埋点,当计数机制被触发时,应用程序或者其他数据采集程序生成消息放入消息队列中,等待向计数服务器集群发送。计算服务器集群根据配置信息的统计维度,接收目标程序发送的对应统计维度的计数消息。
步骤430、根据配置信息的时间粒度,将计数消息中的计数事件时间转化为对应格式的时间字符串。
具体来说,在图5的计算计数处理逻辑部分,计算服务器从计数消息中获取DateTime,如果计数消息中为空值,则取服务器当前时间作为DateTime,基于计数消息中的KSTR获取配置信息以确定对应的KSTR的时间粒度,基于时间粒度将DateTime转换成不同格式的时间字符串,比如,秒:YYYYMMDDHHMMSS、分钟:YYYYMMDDHHMM、小时:YYYYMMDDHH。
步骤440、基于预设的Redis存储规则,将统计维度标识、计数唯一标识和时间字符串生成目标字段并确定目标字段对应的计数值。
具体来说,将KSTR与时间字符串进行组合形成计数数据的Key,比如,Key=KSTR+“@”+CUSTR+“@”+时间字符串。
对于对应目标字段的计数值,需要判断Redis中是否存在当前目标字段,若不存在,则将所述目标字段对应的计数值增加1;若存在,则将所述目标字段对应的计数值初始化为1。
步骤450、为目标字段设置第一失效时间,并在达到失效时间的情况下,在Redis中删除目标字段及对应的计数值。
具体来说,对目标字段设置过期自动清理的时间,该时间可以在时间周期粒度的固定评估过期时间之上,随机增加一个增量,比如,“秒”的时间周期为60秒,然后增加一个10-30秒的一个增量,用来避免在同一时间出现大量的目标字段触发时效机制。
步骤460、将待失效目标字段及对应的计数值进行存储,具体包括:
步骤461、基于预设的转换规则对目标字段进行转换,生成二级字段。
步骤462、基于第一失效时间为二级字段设置第二失效时间,第二失效时间小于第一失效时间。
步骤463、接收Redis基于第二失效时间发送的失效事件通知,其中,失效事件通知包括失效二级字段。
步骤464、对失效二级字段进行解析,得到对应的待失效目标字段。
步骤465、基于待失效目标字段确定存储于Redis中对应待失效目标字段的计数值。
步骤466、将待失效目标字段及对应的计数值存储至数据存储设备,并从Redis中删除待失效目标字段。
具体来说,定义一个二级字段EKey,其形式为EKey=E+“#”+Key,设置EKey的过期时间为时间周期粒度的固定评估时间之上,随机增加100~1000ms,需要说明的是,随机增量可以是比第一失效时间小的其他数值。然后,如图5所示,计算服务器集群监听Redis的Ekey失效事件通知,过滤出需要处理的EKey,由于通知事件只能获取字段而不能获取对应的计数值,所以,需要根据EKey解析出Key,然后从缓存中获取到对应的计数值,然后写入到数据存储设备中,以供后续查询使用。
步骤470、根据滑窗计数请求生成Redis的查询指令,并基于查询指令在Redis中对目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
具体地,如图5所示,计算服务器集群提供API接口获取外部应用程序的查询请求并返回查询结果。其中,对于时间粒度的时点查询,Redis使用get指令进行处理;对于一定时间周期内的计数统计,比如5秒、20小时等,Redis使用mget指令进行查询,而对于200小时这种超大的时间周期,为提高统计的性能,应该升级配置的计数时间粒度。计算服务器接收上述时点计数结果或一定时间周期内多个时点的统计结果进行时间周期计数计算,并将计数结果通过计算服务API返回给外部应用程序。
综上所述,本发明提供的一种基于远程字典服务的滑窗计数方法,获取配置服务中的配置信息,从而可以配置化处理灵活性高,并根据配置信息接收目标程序发送的计数消息,然后基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中,实现对处于同一时间粒度内计数消息的累加计数,无需将多种技术框架与技术组件联合使用,逻辑简单、稳定性强,然后根据滑窗计数请求,对目标字段及对应的计数值进行计数周期的统计处理,同时提供过期失效数据的自动清理,实现滑窗操作和配置化处理灵活性高的滑动窗口计数。
下面对本发明提供的基于远程字典服务的滑窗计数装置进行描述,下文描述的基于远程字典服务的滑窗计数装置与上文描述的基于远程字典服务的滑窗计数方法可相互对应参照。
图6为本发明一实施例提供的一种基于远程字典服务的滑窗计数装置的结构示意图,如图6所示,该装置包括:
获取配置信息单元610,用于获取配置服务中的配置信息;
接收计数消息单元620,用于根据所述配置信息,接收目标程序发送的计数消息;
计数存储单元630,用于基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段以及计数值并存储于所述远程字典服务中;
统计查询单元640,用于根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
本发明提供的一种基于远程字典服务的滑窗计数装置,获取配置服务中的配置信息,从而可以配置化处理灵活性高,并根据配置信息接收目标程序发送的计数消息,然后基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中,无需将多种技术框架与技术组件联合使用,逻辑简单、稳定性强,然后根据滑窗计数请求,对目标字段及对应的计数值进行统计和/或查询,实现滑窗操作和配置化处理灵活性高的滑动窗口计数。
进一步地,在本发明一实施例中,所述配置信息包括统计维度;
所述接收计数消息单元620还用于:
根据所述配置信息的统计维度,接收所述目标程序发送的对应所述统计维度的计数消息。
进一步地,在本发明一实施例中,所述配置信息包括时间粒度,所述计数消息包括统计维度标识、计数唯一标识和计数事件时间;
所述计数存储单元630还用于:
根据所述配置信息的时间粒度,将所述计数消息中的计数事件时间转化为对应格式的时间字符串;
基于预设的远程字典服务存储规则,将所述统计维度标识、所述计数唯一标识和所述时间字符串生成目标字段。
进一步地,在本发明一实施例中,所述计数存储单元630还用于:
若所述远程字典服务中不存在所述目标字段,将所述目标字段对应的计数值初始化为1;
若所述远程字典服务中存在所述目标字段,将所述目标字段对应的计数值增加1。
进一步地,在本发明一实施例中,所述统计查询单元640还用于:
根据所述滑窗计数请求生成远程字典服务的查询指令,并基于所述查询指令在远程字典服务中对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
进一步地,在本发明一实施例中,所述装置还包括失效清理单元,用于在生成对应的目标字段以及计数值并存储于所述远程字典服务中后:
为所述目标字段设置第一失效时间,并在达到失效时间的情况下,在远程字典服务中删除所述目标字段及对应的计数值。
进一步地,在本发明一实施例中,所述装置还包括历史数据存储单元,用于在生成对应的目标字段以及计数值并存储于所述远程字典服务中后:
基于预设的转换规则对所述目标字段进行转换,生成二级字段;
基于所述第一失效时间为所述二级字段设置第二失效时间,所述第二失效时间小于所述第一失效时间;
接收远程字典服务基于所述第二失效时间发送的失效事件通知,其中,所述失效事件通知包括失效二级字段;
对所述失效二级字段进行解析,得到对应的待失效目标字段;
基于所述待失效目标字段确定存储于远程字典服务中对应所述待失效目标字段的计数值;
将所述待失效目标字段及对应的计数值存储至数据存储设备。
进一步地,在本发明一实施例中,所述历史数据存储单元还用于:
在将所述待失效目标字段及对应的计数值存储至数据存储设备后,从所述远程字典服务中删除所述失效目标字段及对应的计数值。
综上所述,本发明提供的一种基于远程字典服务的滑窗计数装置,获取配置服务中的配置信息,从而可以配置化处理灵活性高,并根据配置信息接收目标程序发送的计数消息,然后基于预设的远程字典服务存储规则以及计数消息,生成对应的目标字段以及计数值并存储于远程字典服务中,实现对处于同一时间粒度内计数消息的累加计数,无需将多种技术框架与技术组件联合使用,逻辑简单、稳定性强,然后根据滑窗计数请求,对目标字段及对应的计数值进行计数周期的统计处理,同时提供过期失效数据的自动清理,实现滑窗操作和配置化处理灵活性高的滑动窗口计数。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)830和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于远程字典服务的滑窗计数方法,该方法包括:获取配置服务中的配置信息;根据所述配置信息,接收目标程序发送的计数消息;基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段以及计数值并存储于所述远程字典服务中;根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的基于远程字典服务的滑窗计数方法,该方法包括:获取配置服务中的配置信息;根据所述配置信息,接收目标程序发送的计数消息;基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段以及计数值并存储于所述远程字典服务中;根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于远程字典服务的滑窗计数方法,该方法包括:获取配置服务中的配置信息;根据所述配置信息,接收目标程序发送的计数消息;基于预设的远程字典服务存储规则以及所述计数消息,生成对应的目标字段以及计数值并存储于所述远程字典服务中;根据滑窗计数请求,对所述目标字段及对应的计数值进行统计和/或查询,得到目标计数结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。