CN113238718A - 数据的归并方法、装置、电子设备及存储介质 - Google Patents

数据的归并方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113238718A
CN113238718A CN202110775561.9A CN202110775561A CN113238718A CN 113238718 A CN113238718 A CN 113238718A CN 202110775561 A CN202110775561 A CN 202110775561A CN 113238718 A CN113238718 A CN 113238718A
Authority
CN
China
Prior art keywords
data
rule
merging
matching
identifier
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
Application number
CN202110775561.9A
Other languages
English (en)
Other versions
CN113238718B (zh
Inventor
常月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qianxin Technology Group Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202110775561.9A priority Critical patent/CN113238718B/zh
Publication of CN113238718A publication Critical patent/CN113238718A/zh
Application granted granted Critical
Publication of CN113238718B publication Critical patent/CN113238718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施例提供了一种数据的归并方法、装置、电子设备及存储介质。其中,数据的归并方法,包括:获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,并基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;基于所述归并标识归并所述数据。本发明的实施例,可以解决大范围数据乱序时归并数据的问题,并且,具有数据传输实时性高、内存开销低的优点。

Description

数据的归并方法、装置、电子设备及存储介质
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据的归并方法、装置、电子设备及存储介质。
背景技术
目前,对于数据的归并,通常采用的技术手段是利用窗口机制等方式实现,例如:某条数据到达窗口算子时,窗口算子会根据当前数据的时间和归并周期,建立一个窗口,后续根据匹配规则将数据累积到该窗口进行归并,然后,等到窗口结束时,将窗口内的数据处理后输出到外部存储系统。存在以下技术问题,对于乱序的数据,不能够进行归并,且在归并周期内,数据累积在内存中,内存开销大,而且需要等到窗口结束才能输出数据,数据传输的实时性差。
发明内容
针对现有技术中的问题,本发明实施例提供一种数据的归并方法、装置、电子设备及存储介质。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种数据的归并方法,包括:
获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;
对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;
基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,并基于所述归并标识归并所述数据。
进一步地,所述数据的数据时间为所述数据的产生时间,所述基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,包括:
计算所述数据时间与预设的基准时间之间的时间间隔,其中,所述基准时间早于所述数据时间,所述基准时间指计算所述时间间隔的参考时间点;
根据所述时间间隔和所述归并周期,得到所述数据的归并时间段,
根据所述归并时间段和所述规则标识,按照预定的归并标识生成算法生成所述归并标识。
进一步地,所述规则集合包括过滤规则,所述对所述数据进行规则匹配之前,还包括:
基于所述过滤规则判断是否过滤掉所述数据,如果是则将所述数据输出到外部存储系统,否则执行对所述数据进行规则匹配的步骤。
进一步地,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:
基于所述规则集合中各匹配规则的优先级,依次对所述数据进行规则匹配,直至所述数据命中所述规则集合中的任一匹配规则时,为所述数据添加对应的匹配规则的规则标识。
进一步地,所述获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则,包括:采用流式引擎获取接收多个数据源输出的数据,并采用所述流式引擎获取通过广播方式下发的所述规则集合;
所述匹配规则包括字段信息,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:判断所述数据中的相应字段的字段信息与任一匹配规则中对应的字段信息是否一致;如果一致,则确定所述数据命中对应的匹配规则,基于所述匹配规则的规则标识,为所述数据添加所述规则标识。
进一步地,在所述基于所述归并标识归并所述数据之前,还包括:
将所述归并标识存入内存,并在所述归并标识存入内存后,将所述数据输出到外部存储系统;
所述基于所述归并标识归并所述数据,包括:从所述内存中读取所述归并标识,以基于相同的归并标识归并数据,并在数据归并完成后,删除所述内存中的归并标识。
第二方面,本发明实施例提供了一种数据的归并装置,包括:
获取模块,用于获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;
匹配模块,用于对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;
归并模块,用于基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,以基于所述归并标识归并所述数据。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的数据的归并方法的步骤。
第四方面,本发明实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的数据的归并方法的步骤。
第五方面,本发明实施例提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的数据的归并方法的步骤。
由上面技术方案可知,本发明实施例提供的数据的归并方法、装置、电子设备及存储介质,数据可以在第一条进来的时候就输出到外部存储,只需要在内存中保留其归并标识就可以,保证下游业务系统可以准时接收到数据。并且,即使是乱序的数据,只要归并标识存在也会被准确地归并上,从而,可以解决大范围数据乱序的问题。此外,由于内存中只保留了不同的归并标识以及少量的计算信息(例如:每个归并标识都会有最近发现时间,归并次数等),而没有保留数据本身,因此,使用极少的内存空间就可以存储大量的归并标识,可以支撑更长的归并周期,进而更好地满足归并需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的数据的归并方法的流程图;
图2为本发明一实施例提供的数据的归并装置的结构框图;
图3为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明实施例提供的数据的归并方法的流程图。如图1所示,本发明实施例提供的数据的归并方法,包括如下步骤:
步骤101:获取数据和处理数据的规则集合,其中,规则集合包括匹配规则。
在本发明的一个实施例中,获取数据和处理数据的规则集合,包括:采用流式引擎获取接收多个数据源输出的数据,并采用所述流式引擎获取通过广播方式下发的所述规则集合。即:采用流式引擎具有数据获取实时性高的优点,此外,具有较大的吞吐量,从而,可以及时地获取到大量的数据,降低甚至避免数据堵塞。
其中,数据通常是来自不同的数据源,可以先按照不同的数据源的类型对数据进行预处理,以方便后续对数据的处理,预处理可以是按照不同的数据源的类型分别对来自不同的数据源的源数据进行富化降噪。例如:对于从不同数据源接收到的流数据(即:源数据),按照数据源的类型分别进行富化,其中,富化指的是给源数据添加上如地理位置信息、单位信息等,从而得到该示例中所述的数据,以供后续处理。
在本发明的一个实施例中,规则集合中包括有至少一个匹配规则,其中,匹配规则可以是从外部读取得到的。以流式引擎获取数据和处理数据的规则集合为例,流式引擎可以通过外部规则接口服务访问用户配置的规则集合,并将规则集合广播给流式引擎下游的规则匹配和归并逻辑使用。
步骤102:对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统。也就是说,如果没有命中到匹配规则,则说明该数据不需要进行归并,及时输出到外部存储系统,从而避免数据长时间占用内存空间,从而提升内存的利用率。
在本发明的一个实施例中,所述匹配规则包括字段信息,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:判断所述数据中的相应字段的字段信息与任一匹配规则中对应的字段信息是否一致;如果一致,则确定所述数据命中对应的匹配规则,基于所述匹配规则的规则标识,为所述数据添加所述规则标识。
可以预先为不同的匹配规则设置不同的优先级,这样,可以依据优先级依次进行匹配,即:对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加所述任一匹配规则的规则标识,具体包括:基于所述规则集合中各匹配规则的优先级,依次对所述数据进行规则匹配,直至所述数据命中所述规则集合中的任一匹配规则时,为所述数据添加所述对应的匹配规则的规则标识。该示例中,在对所述数据进行规则匹配时,还包括:如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统。
该示例中,每条匹配规则都有一个优先级,优先级可以预先设定,可以用整数表示不同的匹配规则的优先级,例如:从1开始,数字越小,代表该条匹配规则的优先级越高。当数据进入流式引擎时,会优先与最高优先级的匹配规则进行匹配,如果不匹配本条匹配规则即没有命中该条匹配规则,则继续寻找次高优先级的匹配规则进行匹配,直至到最后一条匹配规则,当数据匹配到某条匹配规则时,就按照该条匹配规则的内容,在数据中加上该条匹配规则的规则标识,例如加上该条匹配规则的规则ID (称为:rule_id),如果数据没有匹配上任何一条匹配规则,则可以打上如“已删除”等标签,然后,输出到外部存储系统。
匹配规则的规则ID也可以预先设定,保证不同的匹配规则的规则ID具有唯一性即可,为了简化规则ID,可以直接以预定的字符标示不同的规则ID,例如:规则ID为A,规则ID为B,规则ID为C等。匹配规则也是用户预先设定的,假设用户设定的某条匹配规则是:匹配出数据中的某预设字段的值为设定值的所有数据,例如:匹配出数据中的字段sip字段的值为第一设定值和字段dip的值为第二设定值的所有数据。
需要说明的是,当数据命中规则集合中的任一匹配规则并为该数据添加该匹配规则的规则标识通常是发生在开启归并功能时进行的,换言之,如果归并功能没有启动,则说明不需要对数据进行归并,这种情况下,可以直接将数据输出到外部存储系统,不需要额外的进行规则表示的添加等操作;通常是在归并功能启动的情况下,如果数据命中了某条匹配规则,则为了实现本发明实施例中后续对数据的归并,需要为数据添加上该条匹配规则的规则标识,即添加上该条匹配规则的rule_id。
由于数据量通常很多,有些数据是不需要进行归并的,或者根据需要只需要针对一些特定的数据进行归并,为了减少数据处理的工作量,提升归并的效率,在本发明的一个实施例中,规则集合例如还包括过滤规则,对数据进行规则匹配之前,还包括:基于过滤规则判断是否过滤掉所述数据,如果是则将所述数据输出到外部存储系统,否则执行对所述数据进行规则匹配的步骤。具体来说,过滤规则可以是一种设定的白名单规则,即:首先通过白名单规则对数据进行过滤,过滤掉不需要进行归并的数据。以白名单规则为例,对于符合白名单规则的数据进行过滤,该部分数据不参与后续的归并。例如:用户可以按照数据源的源ip地址设置白名单规则,则后续所有的来自所述的源ip地址的数据都会被打上如“已删除”的标签,即:不参与后的归并,直接过滤掉而输出到外部存储系统。例如:数据源包括数据源1至数据源3,而根据需要仅需要对数据源2和数据源3的数据进行归并,此时,可以按照元数据1的源ip地址设置白名单规则,以此来直接过滤掉来自数据源1的所有数据。由此,减少了数据处理的工作量,可以提升后续数据归并的效率。
步骤103:基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,并基于所述归并标识归并所述数据。
具体来说,数据的数据时间为所述数据的产生时间,所述基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,包括:计算所述数据时间与预设的基准时间之间的时间间隔,其中,所述基准时间早于所述数据时间,所述基准时间指计算所述时间间隔的参考时间点;根据所述时间间隔和所述归并周期,得到所述数据的归并时间段,根据所述归并时间段和所述规则标识,按照预定的归并标识生成算法生成所述归并标识。
其中,预设的归并周期例如为2小时,数据的数据时间例如为数据中携带的时间戳。基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,具体包括:根据所述数据时间、所述归并周期以及预设的基准时间,得到所述数据的归并时间段;根据所述归并时间段和所述规则标识生成所述归并标识。
为了减少内存存储数据的量,即:减少归并所需的内存占用,在本发明的一个实施例中,在所述基于所述归并标识归并所述数据之前,还包括:将所述归并标识存入内存,并将所述数据输出到外部存储系统,以在归并时,基于所述内存中存储的所述归并标识归并所述数据。即:将所述归并标识存入内存,并在所述归并标识存入内存后,将所述数据输出到外部存储系统, 避免所述数据占用所述内存;所述基于所述归并标识归并所述数据,包括:从所述内存中读取所述归并标识,以基于相同的归并标识归并数据,并在数据归并完成后,删除所述内存中的归并标识。
现有技术中,归并采用的通常是滑动窗口的方式。假设在一个场景中,将2小时内数据中的sip字段和dip字段相同的数据归并在一起。现有技术中采用的方式为:某个数据到达窗口算子时,窗口算子会根据当前数据的时间(假设是10:00)和归并周期(2个小时),建立一个窗口(如10:00到12:00),后续数据中的sip字段和dip字段与该匹配规则一致,且时间在归并周期内(即:10:00到12:00),就会累积到该窗口。等到窗口结束(即:12:00)时,会根据业务系统的定义操作将窗口内的数据处理后输出到外部存储系统。存在的问题是:数据不能乱序,例如:如果10:00的窗口已经建立起来,此时来了一条较早的数据(假设来了一个数据的时间为9:50的数据),则该数据就是乱序数据,只能进行例外处理,不能进入该窗口。目前对于这样的乱序数据,需要采用容忍机制等,即:一般流式处理框架都有容忍延时的机制,但不能解决大范围的乱序数据的问题。
并且,现有技术中,归并周期不能设置的太长。由于数据都在窗口中保存,只有在窗口结束时才触发计算和销毁。这样如果归并周期太长如一周甚至一月,数据就在内存中大量滞留,引起程序崩溃且内存开销过大。当然,现有技术中的方式还存在数据处理实时性差的问题,即:数据在窗口结束后才能输出,所有的数据的实效性都将延迟一个归并周期。如果归并周期过长,将会产生很大的数据延时,这是后续的业务系统不能够接受的。
而采用本发明实施例的方法,例如同样以上面的场景为例,将2小时内数据的sip字段和dip字段相同的数据归并在一起。首先,将时间按照归并周期P(如2小时)进行划分,如1天可以划分为12段,每段两个小时。当某个数据D到达归并算子时,归并算子会根据数据中的时间T,计算出数据D所处的归并时间段,记为S,S的计算如下:
S =(T – T1970)/P,S向上取整。其中,T1970为基准时间,即:计算时间间隔的参考时间点。例如:计算得到S是100.2,则向上取整后,S为101。
然后,提取数据D中rule_id字段,与S一起,生成唯一标识GEN_KEY(即:归并标识),其中,归并标识GEN_KEY如下:
GEN_KEY = md5(S + rule_id)。
将GEN_KEY保存在程序中,即存储在内存中,后续数据进入归并算子时,依照上述方式同样计算其GEN_KEY,只要GEN_KEY一致,就代表数据的归并时间段、归并字段、命中的匹配规则一致,是应该归并在一起的数据。
通过本发明实施例的方法,数据可以在第一条进来的时候就输出到外部存储,只需要在内存中保留其归并标识就可以,保证下游业务系统可以准时接收到数据。并且,即使是乱序的数据,只要归并标识存在也会被准确地归并上,从而,可以解决大范围数据乱序的问题。此外,由于内存中只保留了不同的归并标识以及少量的计算信息(例如:每个归并标识都会有最近发现时间,归并次数等),而没有保留数据本身,因此,使用极少的内存空间就可以存储大量的归并标识,可以支撑更长的归并周期,进而更好地满足归并需求。
根据本发明实施例的数据的归并方法,可以解决大范围数据乱序时归并数据的问题,并且,具有数据传输实时性高、内存开销低的优点。
图2示出了本发明实施例提供的数据的归并装置的结构示意图。如图2所示,本实施例提供的数据的归并装置,包括:获取模块210、匹配模块220和归并模块230,其中:
获取模块210,用于获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;
匹配模块220,用于对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;
归并模块230,用于基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,以基于所述归并标识归并所述数据。
基于上述各实施例的内容,在本实施例中,所述数据的数据时间为所述数据的产生时间,所述基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,包括:
计算所述数据时间与预设的基准时间之间的时间间隔,其中,所述基准时间早于所述数据时间,所述基准时间指计算所述时间间隔的参考时间点;
根据所述时间间隔和所述归并周期,得到所述数据的归并时间段,
根据所述归并时间段和所述规则标识,按照预定的归并标识生成算法生成所述归并标识。
基于上述各实施例的内容,在本实施例中,所述规则集合包括过滤规则,所述对所述数据进行规则匹配之前,还包括:
基于所述过滤规则判断是否过滤掉所述数据,如果是则将所述数据输出到外部存储系统,否则执行对所述数据进行规则匹配的步骤。
基于上述各实施例的内容,在本实施例中,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:
基于所述规则集合中各匹配规则的优先级,依次对所述数据进行规则匹配,直至所述数据命中所述规则集合中的任一匹配规则时,为所述数据添加对应的匹配规则的规则标识。
基于上述各实施例的内容,在本实施例中,所述获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则,包括:采用流式引擎获取接收多个数据源输出的数据,并采用所述流式引擎获取通过广播方式下发的所述规则集合;
所述匹配规则包括字段信息,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:判断所述数据中的相应字段的字段信息与任一匹配规则中对应的字段信息是否一致;如果一致,则确定所述数据命中对应的匹配规则,基于所述匹配规则的规则标识,为所述数据添加所述规则标识。
基于上述各实施例的内容,在本实施例中,在所述基于所述归并标识归并所述数据之前,还包括:
将所述归并标识存入内存,并在所述归并标识存入内存后,将所述数据输出到外部存储系统, 避免所述数据占用所述内存;
所述基于所述归并标识归并所述数据,包括:从所述内存中读取所述归并标识,以基于相同的归并标识归并数据,并在数据归并完成后,删除所述内存中的归并标识。
根据本发明实施例的数据的归并装置,数据可以在第一条进来的时候就输出到外部存储,只需要在内存中保留其归并标识就可以,保证下游业务系统可以准时接收到数据。并且,即使是乱序的数据,只要归并标识存在也会被准确地归并上,从而,可以解决大范围数据乱序的问题。此外,由于内存中只保留了不同的归并标识以及少量的计算信息(例如:每个归并标识都会有最近发现时间,归并次数等),而没有保留数据本身,因此,使用极少的内存空间就可以存储大量的归并标识,可以支撑更长的归并周期,进而更好地满足归并需求。
由于本发明实施例提供的数据的归并装置,可以用于执行上述实施例所述的数据的归并方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
在本实施例中,需要说明的是,本发明实施例的装置中的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图3,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304;
其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信;
所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述数据的归并方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,并基于所述归并标识归并所述数据。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据的归并方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,并基于所述归并标识归并所述数据。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
基于相同的发明构思,本发明又一实施例提供了一种计算机程序产品,所计算机程序产品包括有计算机程序,该计算机程序被处理器执行时实现上述数据的归并方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述过程:获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,并基于所述归并标识归并所述数据。
可以理解的是,所述计算机程序可以执行的细化功能和扩展功能可参照上面实施例的描述。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的流量审计方法。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本发明中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据的归并方法,其特征在于,包括:
获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;
对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;
基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,并基于所述归并标识归并所述数据。
2.根据权利要求1所述的数据的归并方法,其特征在于,所述数据的数据时间为所述数据的产生时间,所述基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,包括:
计算所述数据时间与预设的基准时间之间的时间间隔,其中,所述基准时间早于所述数据时间,所述基准时间指计算所述时间间隔的参考时间点;
根据所述时间间隔和所述归并周期,得到所述数据的归并时间段,
根据所述归并时间段和所述规则标识,按照预定的归并标识生成算法生成所述归并标识。
3.根据权利要求1所述的数据的归并方法,其特征在于,所述规则集合包括过滤规则,所述对所述数据进行规则匹配之前,还包括:
基于所述过滤规则判断是否过滤掉所述数据,如果是则将所述数据输出到外部存储系统,否则执行对所述数据进行规则匹配的步骤。
4.根据权利要求1-3任一项所述的数据的归并方法,其特征在于,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:
基于所述规则集合中各匹配规则的优先级,依次对所述数据进行规则匹配,直至所述数据命中所述规则集合中的任一匹配规则时,为所述数据添加对应的匹配规则的规则标识。
5.根据权利要求1所述的数据的归并方法,其特征在于,
所述获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则,包括:采用流式引擎获取接收多个数据源输出的数据,并采用所述流式引擎获取通过广播方式下发的所述规则集合;
所述匹配规则包括字段信息,所述对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,包括:判断所述数据中的相应字段的字段信息与任一匹配规则中对应的字段信息是否一致;如果一致,则确定所述数据命中对应的匹配规则,基于所述匹配规则的规则标识,为所述数据添加所述规则标识。
6.根据权利要求1所述的数据的归并方法,其特征在于,在所述基于所述归并标识归并所述数据之前,还包括:
将所述归并标识存入内存,并在所述归并标识存入内存后,将所述数据输出到外部存储系统;
所述基于所述归并标识归并所述数据,包括:从所述内存中读取所述归并标识,以基于相同的归并标识归并数据,并在数据归并完成后,删除所述内存中的归并标识。
7.一种数据的归并装置,其特征在于,包括:
获取模块,用于获取数据和处理数据的规则集合,其中,所述规则集合包括匹配规则;
匹配模块,用于对所述数据进行规则匹配,如果所述数据命中所述规则集合中的任一匹配规则,为所述数据添加对应的匹配规则的规则标识,如果所述数据未命中所述规则集合中的任一匹配规则,则将所述数据输出到外部存储系统;
归并模块,用于基于所述数据的数据时间、预设的归并周期和所述规则标识为所述数据生成归并标识,以基于所述归并标识归并所述数据。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现根据权利要求1~6任一项所述的数据的归并方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1~6任一项所述的数据的归并方法的步骤。
10.一种计算机程序产品,所计算机程序产品包括有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1~6任一项所述的数据的归并方法的步骤。
CN202110775561.9A 2021-07-09 2021-07-09 数据的归并方法、装置、电子设备及存储介质 Active CN113238718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110775561.9A CN113238718B (zh) 2021-07-09 2021-07-09 数据的归并方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110775561.9A CN113238718B (zh) 2021-07-09 2021-07-09 数据的归并方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113238718A true CN113238718A (zh) 2021-08-10
CN113238718B CN113238718B (zh) 2021-11-16

Family

ID=77141328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110775561.9A Active CN113238718B (zh) 2021-07-09 2021-07-09 数据的归并方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113238718B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239613A1 (en) * 2011-03-15 2012-09-20 International Business Machines Corporation Generating a predictive model from multiple data sources
CN104717078A (zh) * 2013-12-13 2015-06-17 贵州电网公司信息通信分公司 基于配置的数据归并方法
CN106059801A (zh) * 2016-05-24 2016-10-26 北京哈工大计算机网络与信息安全技术研究中心 基于云计算平台网络的虚拟机可信证据收集方法和装置
CN109189763A (zh) * 2018-09-17 2019-01-11 北京锐安科技有限公司 一种数据存储方法、装置、服务器及存储介质
CN112416972A (zh) * 2020-09-25 2021-02-26 上海哔哩哔哩科技有限公司 实时数据流处理方法、装置、设备、及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239613A1 (en) * 2011-03-15 2012-09-20 International Business Machines Corporation Generating a predictive model from multiple data sources
CN104717078A (zh) * 2013-12-13 2015-06-17 贵州电网公司信息通信分公司 基于配置的数据归并方法
CN106059801A (zh) * 2016-05-24 2016-10-26 北京哈工大计算机网络与信息安全技术研究中心 基于云计算平台网络的虚拟机可信证据收集方法和装置
CN109189763A (zh) * 2018-09-17 2019-01-11 北京锐安科技有限公司 一种数据存储方法、装置、服务器及存储介质
CN112416972A (zh) * 2020-09-25 2021-02-26 上海哔哩哔哩科技有限公司 实时数据流处理方法、装置、设备、及可读存储介质

Also Published As

Publication number Publication date
CN113238718B (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN105451087B (zh) 弹幕信息的推送方法、终端、历史数据服务器及系统
US20220407726A1 (en) Consensus method for blockchain, consensus node, electronic device, and storage medium
CN111343241B (zh) 一种图数据更新方法、装置及系统
EP3352121A1 (en) Content delivery method and device
CN114647698A (zh) 数据同步方法、装置及计算机存储介质
CN110471780B (zh) 分布式事件处理装置、终端和计算机存储介质
CN113238718B (zh) 数据的归并方法、装置、电子设备及存储介质
CN110442439B (zh) 任务进程处理方法、装置和计算机设备
CN107045466B (zh) 业务数据的稽核方法、装置及系统
CN109842482B (zh) 一种信息同步方法、系统及终端设备
CN115514759A (zh) 文件转发方法、电子设备及存储介质
CN114090409A (zh) 一种消息处理方法及装置
CN111147568B (zh) 身份数据的同步方法及装置
CN110808961B (zh) 用于安全验证的数据处理方法及装置
CN111291127B (zh) 一种数据同步方法、装置、服务器及存储介质
CN114866790A (zh) 直播流调度方法及装置
CN112764988A (zh) 一种数据分段采集方法及装置
CN113507394A (zh) 网络性能检测方法、装置、电子设备及存储介质
CN112749166A (zh) 一种业务数据处理方法、装置、设备及存储介质
CN106598721A (zh) 媒资数据流转方法及装置
CN113612832A (zh) 流式数据分发方法与系统
CN110597572B (zh) 一种服务调用关系分析方法和计算机系统
CN111178044B (zh) 一种确定目标文本要素的方法及装置
CN115081233B (zh) 一种流程仿真方法及电子设备
CN110856046B (zh) 一种ts流媒体文件定位的方法、装置、终端设备及介质

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