CN111881165A - 一种数据聚合方法、装置和计算机可读存储介质 - Google Patents
一种数据聚合方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111881165A CN111881165A CN202010681108.7A CN202010681108A CN111881165A CN 111881165 A CN111881165 A CN 111881165A CN 202010681108 A CN202010681108 A CN 202010681108A CN 111881165 A CN111881165 A CN 111881165A
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- aggregation
- target
- service data
- 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.)
- Granted
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据聚合方法、装置和介质,将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列。为了便于区分不同的队列,针对于每个队列会设置其对应的队列号。当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识,并创建与所述目标队列的原队列号同名的新队列。通过创建与目标队列的原队列号同名的新队列,可以将新接收到的业务数据按照原存储路径进行缓存。根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,从而可以保证系统顺利完成对目标队列中业务数据的聚合处理,有效的解决了聚合时间延迟带来的各种不良影响。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据聚合方法、装置和计算机可读存储介质。
背景技术
随着互联网的发展,用户和终端都在持续、快速的增长,这就意味着每时每刻产生的数据量也正在迅速的增加。持续增长的数据对各个领域的业务系统稳定性产生了巨大的冲击,数据聚合在这时也凸显得尤为重要。
现有的数据聚合方法中,最为常用的就是直接将指定的时间段的数据一次性从数据库取出后批量进行统一的计算并聚合,或者直接在数据库层面进行简单的直接聚合。这种方式带来的问题就是容易在数据量大的情况下,轻则因为数据聚合时间较长造成时间上的延迟,并影响下一次的聚合;重则侵占系统资源,导致业务系统或者数据库的崩溃。针对上述出现的问题,常用的解决方案是扩充服务器资源来提高系统的存储和计算能力,但是这种方案治标不治本,无法从根本上解决现有的数据聚合方式带来的问题。
可见,如何解决聚合时间延迟带来的各种不良影响,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种数据聚合方法、装置和计算机可读存储介质,可以解决聚合时间延迟带来的各种不良影响。
为解决上述技术问题,本发明实施例提供一种数据聚合方法,包括:
将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;其中,每个队列有其对应的队列号;
当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识,并创建与所述目标队列的原队列号同名的新队列;
根据所述目标队列的数据量以及服务器当前所能承载的数据量,重新为所述目标队列分配计算资源,以便于完成所述目标队列中业务数据的聚合处理。
可选地,所述将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列包括:
按照预先设定的数据类型,对接收到的业务数据进行分类;
判断每种类型的业务数据的数据量是否大于预设上限值;
当存在数据量小于或等于预设上限值的第一业务数据时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中;
当存在数据量大于预设上限值的第二业务数据时,则将所述第二业务数据进行拆分处理,以得到多个数据包;
将各所述数据包分别存储至新构建的队列中,并依据各所述数据包所属的数据类型以及时间戳,对各所述新构建的队列设置队列名。
可选地,所述依据各所述数据包所属的数据类型以及时间戳,对各所述新构建的队列设置队列名包括:
对目标数据包所属的数据类型的标识字符串和所述目标数据包的时间戳进行哈希运算,得到目标哈希值;其中,所述目标数据包为所有所述数据包中的任意一个数据包;
将所述目标哈希值与预设数值进行取余运算,得到余数;
将所述目标数据包所属的数据类型的标识字符串与所述余数组合作为目标队列的队列名;其中,所述目标队列为存储所述目标数据包的队列。
可选地,所述将所述第一业务数据存储至与其所属的数据类型相对应的队列中包括:
当所述第一业务数据的聚合方式为统计次数类型的聚合时,则按照key-value形式将所述第一业务数据存储至与其所属的数据类型相对应的队列中;
当所述第一业务数据的聚合方式为计算指标类聚合或时序性数据聚合时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中。
可选地,在所述将所述目标队列的队列号更换为聚合任务标识之后还包括:
将所述聚合任务标识写入预设的聚合任务队列中;
相应的,所述根据所述目标队列的数据量以及服务器当前所能承载的数据量,重新为所述目标队列分配计算资源,以便于完成所述目标队列中业务数据的聚合处理包括:
按照先进先出的顺序,依次读取所述聚合任务队列中各聚合任务标识所对应的队列数据;
根据当前读取的队列数据的数据量以及服务器当前所能承载的数据量,为所述当前读取的队列数据分配计算资源;按照设定的批量聚合方式利用所述计算资源对所述当前读取的队列数据进行聚合处理。
可选地,在所述按照设定的批量聚合方式利用所述计算资源对所述当前读取的队列数据进行聚合处理之后还包括:
释放所述计算资源以及所述当前读取的队列数据所占用的缓存空间。
本发明实施例还提供了一种数据聚合装置,包括缓存单元、更换单元、创建单元和分配单元;
所述缓存单元,用于将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;其中,每个队列有其对应的队列号;
所述更换单元,用于当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识;
所述创建单元,用于创建与所述目标队列的原队列号同名的新队列;
所述分配单元,用于根据所述目标队列的数据量以及服务器当前所能承载的数据量,重新为所述目标队列分配计算资源,以便于完成所述目标队列中业务数据的聚合处理。
可选地,所述缓存单元包括分类子单元、判断子单元、第一存储子单元、拆分子单元、第二存储子单元和设置子单元;
所述分类子单元,用于按照预先设定的数据类型,对接收到的业务数据进行分类;
所述判断子单元,用于判断每种类型的业务数据的数据量是否大于预设上限值;
所述第一存储子单元,用于当存在数据量小于或等于预设上限值的第一业务数据时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中;
所述拆分子单元,用于当存在数据量大于预设上限值的第二业务数据时,则将所述第二业务数据进行拆分处理,以得到多个数据包;
所述第二存储子单元,用于将各所述数据包分别存储至新构建的队列中;
所述设置子单元,用于依据各所述数据包所属的数据类型以及时间戳,对各所述新构建的队列设置队列名。
可选地,所述设置子单元具体用于对目标数据包所属的数据类型的标识字符串和所述目标数据包的时间戳进行哈希运算,得到目标哈希值;其中,所述目标数据包为所有所述数据包中的任意一个数据包;将所述目标哈希值与预设数值进行取余运算,得到余数;将所述目标数据包所属的数据类型的标识字符串与所述余数组合作为目标队列的队列名;其中,所述目标队列为存储所述目标数据包的队列。
可选地,所述第一存储子单元具体用于当所述第一业务数据的聚合方式为统计次数类型的聚合时,则按照key-value形式将所述第一业务数据存储至与其所属的数据类型相对应的队列中;当所述第一业务数据的聚合方式为计算指标类聚合或时序性数据聚合时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中。
可选地,还包括写入单元;
所述写入单元,用于在所述将所述目标队列的队列号更换为聚合任务标识之后,将所述聚合任务标识写入预设的聚合任务队列中;
相应的,所述分配单元具体用于按照先进先出的顺序,依次读取所述聚合任务队列中各聚合任务标识所对应的队列数据;根据当前读取的队列数据的数据量以及服务器当前所能承载的数据量,为所述当前读取的队列数据分配计算资源;按照设定的批量聚合方式利用所述计算资源对所述当前读取的队列数据进行聚合处理。
可选地,还包括释放单元;
所述释放单元,用于在所述按照设定的批量聚合方式利用所述计算资源对所述当前读取的队列数据进行聚合处理之后,释放所述计算资源以及所述当前读取的队列数据所占用的缓存空间。
本发明实施例还提供了一种数据聚合装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述数据聚合方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述数据聚合方法的步骤。
由上述技术方案可以看出,将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;通过将业务数据进行分类缓存,可以有效的降低直接对大数据量的业务数据进行聚合处理造成的时间延迟。为了便于区分不同的队列,针对于每个队列会设置其对应的队列号。当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识,并创建与所述目标队列的原队列号同名的新队列。通过创建与目标队列的原队列号同名的新队列,可以将新接收到的业务数据按照原存储路径进行缓存。根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,从而可以保证系统顺利完成对目标队列中业务数据的聚合处理,有效的解决了聚合时间延迟带来的各种不良影响。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据聚合方法的流程图;
图2为本发明实施例提供的一种数据聚合装置的结构示意图;
图3为本发明实施例提供的一种数据聚合装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种数据聚合方法。图1为本发明实施例提供的一种数据聚合方法的流程图,该方法包括:
S101:将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列。
在本发明实施例中,为了有效的降低直接对大数据量的业务数据进行聚合处理造成的时间延迟,可以对接收到的业务数据进行缓存处理。
为了更加有针对性的对业务数据进行处理,可以按照预先设定的分类规则将业务数据进行分类缓存。其中,分类规则可以包含对业务数据的数据类型的划分以及对每种数据类型下的业务数据的数据量的限定。
在具体实现中,可以按照预先设定的数据类型,对接收到的业务数据进行分类。判断每种类型的业务数据的数据量是否大于预设上限值。
当存在数据量小于或等于预设上限值的第一业务数据时,则可以直接将第一业务数据存储至与其所属的数据类型相对应的队列中。
当存在数据量大于预设上限值的第二业务数据时,预先建立的队列已经无法满足第二业务数据的存储要求,此时需要将第二业务数据进行拆分处理,以得到多个数据包;将各数据包分别存储至新构建的队列中,并依据各数据包所属的数据类型以及时间戳,对各新构建的队列设置队列名。
其中,数据类型可以包括威胁数据、审计数据、准入数据等。
在本发明实施例中,针对于每种类型的业务数据可以预先建立相应的队列,每个队列有其唯一对应的队列名。
考虑到物联网实际场景中,会存在两种类型和对象的聚合需求,一种是对于所有设备的聚合,另一种是针对单个设备的聚合。
针对所有设备的聚合需求的队列拆分方式,可以根据需要聚合的数据类型直接构建队列,比如威胁数据为队列一,审计数据为队列二,准入数据为队列三。其中,队列一的队列名可以为threat、队列二的队列名可以为audit、队列三的队列名可以为access。
针对单个设备的聚合需求的队列拆分方式,可以根据需要聚合的数据类型加上设备唯一标识的方式构建队列,唯一标识可以为ip或者机器码,以威胁数据为例,其对应的队列号可以设置为:threat_192.168.1.1。
在本发明实施例中,可以依据各数据包所属的数据类型以及时间戳,对各新构建的队列设置队列名。
为了便于处理系统识别不同的数据类型,每种数据类型会设置相应的标识字符串。以所有数据包中的任意一个数据包即目标数据包为例,在具体实现中,可以对目标数据包所属的数据类型的标识字符串和目标数据包的时间戳进行哈希运算,得到目标哈希值;将目标哈希值与预设数值进行取余运算,得到余数;将目标数据包所属的数据类型的标识字符串与余数组合作为目标队列的队列名;其中,目标队列为存储目标数据包的队列。
其中,预设数值可以为期望的队列数量。
以目标数据包的数据类型为威胁数据为例,假设对目标数据包所属的数据类型的标识字符串和目标数据包的时间戳进行哈希运算得到目标哈希值为3245,除以期望的队列数量比如20,再取余数5,从而确定队列号为威胁类型加5,标识字符串和余数之间可以采用“_”连接,例如可以将threat_5作为目标队列的队列名。
S102:当存在数据量超过预设值的目标队列时,则将目标队列的原队列号更换为聚合任务标识,并创建与目标队列的原队列号同名的新队列。
在本发明实施例中,对于数据量未超过预设值的队列,直接按照现有的数据聚合方式对该队列中的业务数据进行聚合处理即可,在此不再赘述。
在本发明实施例中,为了和数据量未超过预设值的队列进行区分,可以将数据量超过预设值的队列称作目标队列。
为了降低数据迁移对系统资源的占用,可以通过修改队列名的方式实现对目标队列的处理。在具体实现中,可以将目标队列的原队列号更换为聚合任务标识,并创建与目标队列的原队列号同名的新队列。
考虑到数据量超过预设值的目标队列可能有多个,而每个目标队列存入数据的时间戳并不相同,为了便于区分这多个目标队列,可以将每个目标队列的时间戳作为目标队列的聚合任务标识。
通过创建与目标队列的原队列号同名的新队列,可以将新接收到的业务数据按照原存储路径进行缓存,降低了业务数据缓存的难度。
S103:根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,以便于完成目标队列中业务数据的聚合处理。
当存在数据量超过预设值的目标队列时,如果仍按照原始状态下分配的计算资源对目标队列中的业务进行处理时,可能会由于目标队列中业务数据的数据量较大,造成聚合处理的延时。因此,在本发明实施例中,为了提升目标队列中业务数据的聚合处理效率,可以根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,以保证目标队列中业务数据可以快速、有效的完成聚合处理。
由上述技术方案可以看出,将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;通过将业务数据进行分类缓存,可以有效的降低直接对大数据量的业务数据进行聚合处理造成的时间延迟。为了便于区分不同的队列,针对于每个队列会设置其对应的队列号。当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识,并创建与所述目标队列的原队列号同名的新队列。通过创建与目标队列的原队列号同名的新队列,可以将新接收到的业务数据按照原存储路径进行缓存。根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,从而可以保证系统顺利完成对目标队列中业务数据的聚合处理,有效的解决了聚合时间延迟带来的各种不良影响。
考虑到实际应用中,根据聚合需求的不同,数据的存储方式可以划分为统计次数类型的聚合、计算指标类聚合以及时序性数据聚合。
以第一业务数据为例,当第一业务数据的聚合方式为统计次数类型的聚合时,则可以按照key-value形式将第一业务数据存储至与其所属的数据类型相对应的队列中。
在实际应用中,可以将可区分数据的唯一指标作为key,如果是统计次数,则将每次新的数据进入缓存队列后的统计次数加1结果作为value,每次更新缓存队列的value值的方式进行存储。
当第一业务数据的聚合方式为计算指标类聚合或时序性数据聚合时,需要在队列中存储完整的数据,此时可以直接将第一业务数据存储至与其所属的数据类型相对应的队列中,后续每次数据的增加在原基础的结尾处进行增加即可。
在本发明实施例中,为了实现对多个目标队列的有序处理,可以在将目标队列的队列号更换为聚合任务标识之后,将聚合任务标识写入预设的聚合任务队列中。相应的,对于目标队列的聚合处理,可以按照先进先出的顺序,依次读取聚合任务队列中各聚合任务标识所对应的队列数据;根据当前读取的队列数据的数据量以及服务器当前所能承载的数据量,为当前读取的队列数据分配计算资源;按照设定的批量聚合方式利用计算资源对当前读取的队列数据进行聚合处理。
在对当前读取的队列数据进行聚合处理之后,可以释放该队列数据所占用的计算资源以及该队列数据所占用的缓存空间。
通过将各个目标队列的聚合任务标识写入预设的聚合任务队列中,可以保证对所有目标队列的有序处理,并且可以有效的避免存在多个目标队列时遗漏目标队列的情况发生。
图2为本发明实施例提供的一种数据聚合装置的结构示意图,包括缓存单元21、更换单元22、创建单元23和分配单元24;
缓存单元21,用于将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;其中,每个队列有其对应的队列号;
更换单元22,用于当存在数据量超过预设值的目标队列时,则将目标队列的原队列号更换为聚合任务标识;
创建单元23,用于创建与目标队列的原队列号同名的新队列;
分配单元24,用于根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,以便于完成目标队列中业务数据的聚合处理。
可选地,缓存单元包括分类子单元、判断子单元、第一存储子单元、拆分子单元、第二存储子单元和设置子单元;
分类子单元,用于按照预先设定的数据类型,对接收到的业务数据进行分类;
判断子单元,用于判断每种类型的业务数据的数据量是否大于预设上限值;
第一存储子单元,用于当存在数据量小于或等于预设上限值的第一业务数据时,则将第一业务数据存储至与其所属的数据类型相对应的队列中;
拆分子单元,用于当存在数据量大于预设上限值的第二业务数据时,则将第二业务数据进行拆分处理,以得到多个数据包;
第二存储子单元,用于将各数据包分别存储至新构建的队列中;
设置子单元,用于依据各数据包所属的数据类型以及时间戳,对各新构建的队列设置队列名。
可选地,设置子单元具体用于对目标数据包所属的数据类型的标识字符串和目标数据包的时间戳进行哈希运算,得到目标哈希值;其中,目标数据包为所有数据包中的任意一个数据包;将目标哈希值与预设数值进行取余运算,得到余数;将目标数据包所属的数据类型的标识字符串与余数组合作为目标队列的队列名;其中,目标队列为存储目标数据包的队列。
可选地,第一存储子单元具体用于当第一业务数据的聚合方式为统计次数类型的聚合时,则按照key-value形式将第一业务数据存储至与其所属的数据类型相对应的队列中;当第一业务数据的聚合方式为计算指标类聚合或时序性数据聚合时,则将第一业务数据存储至与其所属的数据类型相对应的队列中。
可选地,还包括写入单元;
写入单元,用于在将目标队列的队列号更换为聚合任务标识之后,将聚合任务标识写入预设的聚合任务队列中;
相应的,分配单元具体用于按照先进先出的顺序,依次读取聚合任务队列中各聚合任务标识所对应的队列数据;根据当前读取的队列数据的数据量以及服务器当前所能承载的数据量,为当前读取的队列数据分配计算资源;按照设定的批量聚合方式利用计算资源对当前读取的队列数据进行聚合处理。
可选地,还包括释放单元;
释放单元,用于在按照设定的批量聚合方式利用计算资源对当前读取的队列数据进行聚合处理之后,释放计算资源以及当前读取的队列数据所占用的缓存空间。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;通过将业务数据进行分类缓存,可以有效的降低直接对大数据量的业务数据进行聚合处理造成的时间延迟。为了便于区分不同的队列,针对于每个队列会设置其对应的队列号。当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识,并创建与所述目标队列的原队列号同名的新队列。通过创建与目标队列的原队列号同名的新队列,可以将新接收到的业务数据按照原存储路径进行缓存。根据目标队列的数据量以及服务器当前所能承载的数据量,重新为目标队列分配计算资源,从而可以保证系统顺利完成对目标队列中业务数据的聚合处理,有效的解决了聚合时间延迟带来的各种不良影响。
图3为本发明实施例提供的一种数据聚合装置30的硬件结构示意图,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序以实现如上述任意实施例所述的数据聚合方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的数据聚合方法的步骤。
以上对本发明实施例所提供的一种数据聚合方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种数据聚合方法,其特征在于,包括:
将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;其中,每个队列有其对应的队列号;
当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识,并创建与所述目标队列的原队列号同名的新队列;
根据所述目标队列的数据量以及服务器当前所能承载的数据量,重新为所述目标队列分配计算资源,以便于完成所述目标队列中业务数据的聚合处理。
2.根据权利要求1所述的数据聚合方法,其特征在于,所述将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列包括:
按照预先设定的数据类型,对接收到的业务数据进行分类;
判断每种类型的业务数据的数据量是否大于预设上限值;
当存在数据量小于或等于预设上限值的第一业务数据时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中;
当存在数据量大于预设上限值的第二业务数据时,则将所述第二业务数据进行拆分处理,以得到多个数据包;
将各所述数据包分别存储至新构建的队列中,并依据各所述数据包所属的数据类型以及时间戳,对各所述新构建的队列设置队列名。
3.根据权利要求2所述的数据聚合方法,其特征在于,所述依据各所述数据包所属的数据类型以及时间戳,对各所述新构建的队列设置队列名包括:
对目标数据包所属的数据类型的标识字符串和所述目标数据包的时间戳进行哈希运算,得到目标哈希值;其中,所述目标数据包为所有所述数据包中的任意一个数据包;
将所述目标哈希值与预设数值进行取余运算,得到余数;
将所述目标数据包所属的数据类型的标识字符串与所述余数组合作为目标队列的队列名;其中,所述目标队列为存储所述目标数据包的队列。
4.根据权利要求2所述的数据聚合方法,其特征在于,所述将所述第一业务数据存储至与其所属的数据类型相对应的队列中包括:
当所述第一业务数据的聚合方式为统计次数类型的聚合时,则按照key-value形式将所述第一业务数据存储至与其所属的数据类型相对应的队列中;
当所述第一业务数据的聚合方式为计算指标类聚合或时序性数据聚合时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中。
5.根据权利要求1所述的数据聚合方法,其特征在于,在所述将所述目标队列的队列号更换为聚合任务标识之后还包括:
将所述聚合任务标识写入预设的聚合任务队列中;
相应的,所述根据所述目标队列的数据量以及服务器当前所能承载的数据量,重新为所述目标队列分配计算资源,以便于完成所述目标队列中业务数据的聚合处理包括:
按照先进先出的顺序,依次读取所述聚合任务队列中各聚合任务标识所对应的队列数据;
根据当前读取的队列数据的数据量以及服务器当前所能承载的数据量,为所述当前读取的队列数据分配计算资源;按照设定的批量聚合方式利用所述计算资源对所述当前读取的队列数据进行聚合处理。
6.根据权利要求5所述的数据聚合方法,其特征在于,在所述按照设定的批量聚合方式利用所述计算资源对所述当前读取的队列数据进行聚合处理之后还包括:
释放所述计算资源以及所述当前读取的队列数据所占用的缓存空间。
7.一种数据聚合装置,其特征在于,包括缓存单元、更换单元、创建单元和分配单元;
所述缓存单元,用于将接收到的业务数据按照设定的分类规则拆分缓存至相应的队列;其中,每个队列有其对应的队列号;
所述更换单元,用于当存在数据量超过预设值的目标队列时,则将所述目标队列的原队列号更换为聚合任务标识;
所述创建单元,用于创建与所述目标队列的原队列号同名的新队列;
所述分配单元,用于根据所述目标队列的数据量以及服务器当前所能承载的数据量,重新为所述目标队列分配计算资源,以便于完成所述目标队列中业务数据的聚合处理。
8.根据权利要求7所述的数据聚合装置,其特征在于,所述缓存单元包括分类子单元、判断子单元、第一存储子单元、拆分子单元、第二存储子单元和设置子单元;
所述分类子单元,用于按照预先设定的数据类型,对接收到的业务数据进行分类;
所述判断子单元,用于判断每种类型的业务数据的数据量是否大于预设上限值;
所述第一存储子单元,用于当存在数据量小于或等于预设上限值的第一业务数据时,则将所述第一业务数据存储至与其所属的数据类型相对应的队列中;
所述拆分子单元,用于当存在数据量大于预设上限值的第二业务数据时,则将所述第二业务数据进行拆分处理,以得到多个数据包;
所述第二存储子单元,用于将各所述数据包分别存储至新构建的队列中;
所述设置子单元,用于依据各所述数据包所属的数据类型以及时间戳,对各所述新构建的队列设置队列名。
9.一种数据聚合装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任意一项所述数据聚合方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述数据聚合方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010681108.7A CN111881165B (zh) | 2020-07-15 | 2020-07-15 | 一种数据聚合方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010681108.7A CN111881165B (zh) | 2020-07-15 | 2020-07-15 | 一种数据聚合方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881165A true CN111881165A (zh) | 2020-11-03 |
CN111881165B CN111881165B (zh) | 2023-03-24 |
Family
ID=73154507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010681108.7A Active CN111881165B (zh) | 2020-07-15 | 2020-07-15 | 一种数据聚合方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881165B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448997A (zh) * | 2021-06-22 | 2021-09-28 | 深信服科技股份有限公司 | 缓存处理方法、装置、电子设备和存储介质 |
CN115174501A (zh) * | 2022-05-23 | 2022-10-11 | 未名智算(北京)科技有限公司 | 一种用于网内聚合传输的服务系统和服务方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133513B1 (en) * | 2015-08-07 | 2018-11-20 | EMC IP Holding Company LLC | Cache management system and method |
CN109710416A (zh) * | 2019-01-11 | 2019-05-03 | 银清科技(北京)有限公司 | 资源调度方法及装置 |
CN109819037A (zh) * | 2019-01-29 | 2019-05-28 | 武汉鸿瑞达信息技术有限公司 | 一种自适应计算与通信的方法和系统 |
CN111131082A (zh) * | 2019-12-25 | 2020-05-08 | 广东电科院能源技术有限责任公司 | 一种充电设施数据传输动态控制方法及系统 |
-
2020
- 2020-07-15 CN CN202010681108.7A patent/CN111881165B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133513B1 (en) * | 2015-08-07 | 2018-11-20 | EMC IP Holding Company LLC | Cache management system and method |
CN109710416A (zh) * | 2019-01-11 | 2019-05-03 | 银清科技(北京)有限公司 | 资源调度方法及装置 |
CN109819037A (zh) * | 2019-01-29 | 2019-05-28 | 武汉鸿瑞达信息技术有限公司 | 一种自适应计算与通信的方法和系统 |
CN111131082A (zh) * | 2019-12-25 | 2020-05-08 | 广东电科院能源技术有限责任公司 | 一种充电设施数据传输动态控制方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448997A (zh) * | 2021-06-22 | 2021-09-28 | 深信服科技股份有限公司 | 缓存处理方法、装置、电子设备和存储介质 |
CN115174501A (zh) * | 2022-05-23 | 2022-10-11 | 未名智算(北京)科技有限公司 | 一种用于网内聚合传输的服务系统和服务方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111881165B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2780231C (en) | Goal oriented performance management of workload utilizing accelerators | |
US8112546B2 (en) | Routing users to receive online services based on online behavior | |
US10241836B2 (en) | Resource management in a virtualized computing environment | |
EP4239484A2 (en) | Collecting samples hierarchically in a datacenter | |
US20210224110A1 (en) | Task scheduling simulation system | |
CN111881165B (zh) | 一种数据聚合方法、装置和计算机可读存储介质 | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
US10884667B2 (en) | Storage controller and IO request processing method | |
CN110995776A (zh) | 区块链的区块分发方法、装置、计算机设备和存储介质 | |
WO2017107812A1 (zh) | 一种用户日志存储方法及设备 | |
CN108696571B (zh) | 云存储服务系统、方法、云服务智能设备及电子装置 | |
US11863675B2 (en) | Data flow control in distributed computing systems | |
CN107038067B (zh) | 分布式流处理中处理资源的管理方法和装置 | |
CN115348222A (zh) | 一种消息分发方法、装置、服务端及存储介质 | |
WO2024088078A1 (zh) | 一种带宽调节方法、系统、设备及存储介质 | |
CN109285015B (zh) | 一种虚拟资源的分配方法及系统 | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
CN113315825A (zh) | 分布式请求的处理方法、装置、设备及存储介质 | |
CN111338579B (zh) | 基于存储池的读写缓存优化方法、系统、终端及存储介质 | |
CN111400241B (zh) | 数据重构方法和装置 | |
US20090282287A1 (en) | Supporting apparatus for analyzing computer operation status | |
CN112558869A (zh) | 基于大数据遥感影像缓存方法 | |
US11374869B2 (en) | Managing bandwidth based on user behavior | |
CN115904671A (zh) | 一种边缘计算环境下的任务调度方法、装置、设备及介质 | |
CN113986962A (zh) | 排行榜生成方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |