掌桥专利:专业的专利平台
掌桥专利
首页

交委数据去重方法、装置及服务器

文献发布时间:2023-06-19 09:46:20


交委数据去重方法、装置及服务器

技术领域

本申请涉及交通领域,尤其是涉及一种交委数据去重方法、装置及服务器。

背景技术

随着互联网的蓬勃发展,大数据技术在各个领域都得到了广泛应用,在很多大数据应用场景中都需要在短时间内连续从外部接入大量数据,这些数据中存在大量的重复数据,例如,在人员密集的商场和车站,一个人在某个wifi电子围栏附近停留一段时间,相似的数据会被采集多次,又比如在交通运行场景中,车辆在卡口处缓行或静止时,数据采集器会在短时间内重复上传该车辆的过车记录,造成大数据平台存储较多重复数据。如果不对这些重复数据加以处理就进行存储,一方面会浪费系统的吞吐量和存储能力,另一方面会对后续的数据使用和数据分析带来较大影响。

目前,针对这些数据一般是通过ETL(Extract-Transform-Load,抽取-转换-加载)工具在数据抽取时进行去重处理,或者通过SQL语句进行去重处理,但是,ETL工具需要数据完全一致才能判断为重复数据,并不能通过部分关键字一致或者在指定的时段内部分关键字一致就判定是否为重复数据;而SQL语句则仅限用于关系型数据库中,不具有通用性和扩展性,并且在去重过程中对数据库的性能影响较大。

因此,当前数据去重方法存在灵活性和准确性不够,且扩展性和通用性差的技术问题。

发明内容

本申请实施例提供一种交委数据去重方法和装置,用以解决当前数据去重方法存在灵活性和准确性不够,且扩展性和通用性差的技术问题。

第一方面,本申请实施例提供一种交委数据去重方法,该交委数据去重方法包括:

展示目标数据的选择界面,通过所述选择界面接收数据类型选择操作;

根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据;

根据所述元数据更新所述选择界面,生成并显示配置界面;

通过所述配置界面接收去重参数配置操作,并根据所述去重参数配置操作依所述元数据确定去重索引字段和去重时间字段,以及设置所述去重时间字段对应的过滤时长;

接收交委数据,所述交委数据包括所述去重索引字段的索引数据段、以及所述去重时间字段的时间数据段;

基于redis数据库内缓存的数据,根据所述索引数据段、所述时间数据段以及所述过滤时长,对所述交委数据进行去重处理后缓存至所述redis数据库。

在一些实施例中,根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据,具体包括:

根据所述数据类型选择操作选择所述数据类型,并确定所述数据类型对应的目标数据;

根据所述数据类型,获取所述目标数据对应的所述元数据。

在一些实施例中,根据所述元数据更新所述选择界面,生成并显示配置界面,具体包括:

展示所述元数据,并设置所述元数据对应的字段索引框,每个所述元数据对应的字段选择框,以及字段确认框;

更新所述选择界面,生成并显示所述配置界面。

在一些实施例中,所述依所述元数据确定所述去重索引字段和所述去重时间字段,以及设置所述去重时间字段对应的过滤时长,具体包括:

通过所述字段索引框搜索所述去重索引字段和所述去重时间字段;

通过所述字段选择框选择所述去重索引字段和所述去重时间字段;

通过所述字段确认框确认所述去重索引字段和所述去重时间字段;

展示所述去重索引字段和所述去重时间字段,并设置所述去重时间字段对应的过滤时长。

在一些实施例中,所述去重索引字段包括至少一个所述元数据的字段,所述去重时间字段仅包括其中一个所述元数据的字段。

在一些实施例中,基于redis数据库内缓存的数据,根据所述索引数据段、所述时间数据段以及所述过滤时长,对所述交委数据进行去重处理后缓存至所述redis数据库,具体包括:

判断所述redis数据库内缓存的数据是否包括所述索引数据段,若所述redis数据库不包括所述索引数据段,则确定所述交委数据不为重复数据并将所述交委数据写入所述redis数据库;

若所述redis数据库内缓存的数据包括所述索引数据段,则判断所述时间数据段与所述redis数据库内缓存的最后一条交委数据的时间数据段之间的差值是否在所述过滤时长内,若不在所述过滤时长内,则确定所述交委数据不为重复数据,并将所述交委数据写入所述redis数据库;若在所述过滤时间内,则确定所述交委数据为重复数据而丢弃,并将所述redis数据库内缓存的最后一条交委数据的时间数据段更新为所述时间数据段。

在一些实施例中,所述判断所述redis数据库内缓存的数据是否包括所述索引数据段,若所述redis数据库不包括所述索引数据段,则确定所述交委数据不为重复数据并将所述交委数据写入所述redis数据库,具体包括:

将所述去重索引字段和所述索引数据段,生成所述交委数据对应的redis键名称;

将所述时间数据段生成所述交委数据对应的redis键值;

将所述redis键名称和所述redis键值组成所述交委数据对应的判重redis键值;

将所述判重redis键值对插入所述redis数据库,并判断所述redis数据库内缓存的数据是否包括所述redis键名称;

若不包括所述redis键名称,则确定所述交委数据不为重复数据,并将所述redis键值对写入所述redis数据库。

在一些实施例中,所述判断所述时间数据段与所述redis数据库内缓存的最后一条交委数据的时间数据段之间的差值是否在所述过滤时长内,若不在所述过滤时长内,则确定所述交委数据不为重复数据,并将所述交委数据写入所述redis数据库;若在所述过滤时间内,则确定所述交委数据为重复数据而丢弃,并将所述redis数据库内缓存的最后一条交委数据的时间数据段更新为所述时间数据段,具体包括:

判断所述redis键值与所述redis数据库中缓存的最后一条所述交委数据的redis键值之间的差值是否在所述过滤时长内;

若不在所述过滤时长内,则确定所述交委数据不为重复数据,并将所述redis键值对写入所述redis数据库;

若在所述过滤时长内,则确定所述交委数据为重复数据而丢弃,并将所述redis数据库内缓存的最后一条交委数据对应的redis键值更新为所述redis键值。

第二方面,本申请实施例还提供一种交委数据去重装置,该交委数据去重装置包括:

数据类型选择模块,用于展示目标数据的选择界面,通过所述选择界面接收数据类型选择操作;

元数据获取模块,用于根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据;

界面生成模块,用于根据所述元数据更新所述选择界面,生成并显示配置界面;

配置模块,用于通过所述配置界面接收去重参数配置操作,并根据所述去重参数配置操作依所述元数据确定去重索引字段和去重时间字段,以及设置所述去重时间字段对应的过滤时长;

接收模块,用于接收交委数据,所述交委数据包括所述去重索引字段的索引数据段、以及所述去重时间字段的时间数据段;

去重模块,用于基于redis数据库内缓存的数据,根据所述索引数据段、所述时间数据段以及所述过滤时长,对所述交委数据进行去重处理后缓存至所述redis数据库。

第三方面,本申请实施例还提供一种服务器,该服务器包括:处理器、存储器、总线及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器处理器执行所述计算机程序时实现如上所述的交委数据去重方法。

有益效果:本申请实施例提供一种交委数据去重方法、装置及服务器,该交委数据去重方法通过选择界面确定某一数据类型的目标数据以及该类目标数据的元数据,然后更新选择界面生成配置界面,再由配置界面从元数据中选择用于去重处理的去重索引字段和去重时间字段,并设置去重时间字段对应的过滤时长,最后基于redis数据库中缓存的数据,根据接收的与目标数据同一类型的交委数据的去重索引字段的索引时间段和去重时间字段的时间数据段,以及过滤时长,对交委数据进行去重处理,该交委数据去重方法能通过初始的选择界面动态生成用于去重的配置界面,并通过配置界面动态选择去重索引字段和去重时间字段,提高了去重处理的灵活性和准确性,同时在去重处理时采用高并发访问的键值对的redis数据库,能够有效过滤掉接收时间相近的重复数据,提高了去重处理的速度,且具有较强的系统扩展性,通用性高。

附图说明

下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。

图1为本申请实施例提供的交委数据去重方法的场景示意图。

图2为本申请实施例提供的交委数据去重方法的流程示意图。

图3为本申请实施例提供的交委数据去重方法的选择界面的示意图。

图4为本申请实施例提供的交委数据去重方法的配置界面的示意图。

图5为本申请实施例提供的交委数据去重装置的结构示意图。

图6为本申请实施例提供的服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请实施例中,“例如”、“例子”和“比如”用来表示“用作例子、例证或说明”。本申请中被描述为“例如”、“例子”和“比如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

本申请实施例提供一种交委数据去重方法、装置及服务器,以下分别进行详细说明。

请参阅图1,图1为本申请实施例提供的交委数据去重方法的场景示意图。该交委数据去重方法的网络架构包括依次连接的数据采集器11、服务器12和redis数据库13,其中,数据采集器11用于采集实时数据,并将采集的数据上传给服务器12,服务器12对数据进行去重处理,redis数据库13用于缓存服务器12对数据去重处理过程中的中间数据。其中,数据采集器11、服务器12和redis数据库13都可以有多个,需要注意的是,在本申请实施例中,每个redis数据库13在一段时间内仅临时缓存一种数据类型的目标数据。

本申请实施例的执行主体即为服务器12,服务器12通过对数据采集器11采集的数据进行去重处理并缓存入redis数据库13。redis数据库13是一种键值(key-value)型内存数据库,在数据去重处理时能通过高并发访问的键值对数据库进行原子性操作,从时间和空间的角度都最大限度的保证了占用资源的最小化。

本申请实施例可应用于各种数据具有时间连续性的大数据场景中,如在交通运行场景中,机动车数据就具备时间连续性。卡口的数据采集器将经过卡口的机动车的过车记录上传给服务器,当机动车在卡口处缓行或静止时,卡口的数据采集器将会在短时间内上传该机动车的多条过车记录,上传的这多条过车记录彼此之间只有过车时间不同,如果能在每隔一定的过滤时间内,只保留该机动车的第一条过车记录,而后将后续多次上传的过车记录作为重复数据而丢弃,下一过滤时间内也进行同样操作,如此循环,就能够有效过滤重复数据,以避免服务器中存储过多的冗余数据。

需要说明的是,图1所示的交委数据去重方法的场景示意图仅仅是一个示例,是为了更加清楚的说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定。

还需说明的是,以下各实施例的描述顺序不作为对实施例优选顺序的限定。

请参阅图2,图2为本申请实施例提供一种交委数据去重方法,该交委数据去重方法包括:

S1、展示目标数据的选择界面,通过所述选择界面接收数据类型选择操作。

其中,目标数据是指需要进行去重处理的数据源数据,例如在交通运行场景中,目标数据包括机动车数据、非机动车数据、人像数据、人员数据、wifi数据、电围数据等交委数据,并且,针对这些不同种类的目标数据预先进行过数据分类,以通过数据分类选择目标数据为某一数据类型的数据源数据。可以理解的是,进行数据分类时可以定义模板名称、厂家名称、分类名称等,以对每一数据类型进行详细划分。

其中,选择界面是指用于根据数据类型选择操作确定某一数据类型,然后获取这一数据类型的目标数据的初始后台界面。

其中,数据类型选择操作即是指选择某一数据类型的选择操作。

具体地,图3为本申请实施例提供的交委数据去重方法的选择界面的示意图,如图3所示,展示选择界面,通过选择界面能选择预先进行过数据分类的目标数据,因此通过选择界面接收数据类型选择操作,即是指通过选择界面确定通过数据类型选择操作选择的某一数据类型的目标数据。

需要说明的是,通过该步骤可以获取预先进行过数据分类的目标数据,对于通过选择界面不能选择数据类型的数据,不属于本申请实施例需要进行去重的目标数据。

S2、根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据。

其中,元数据是描述数据的数据,主要是指描述数据属性的信息,例如,针对机动车数据,设备名称、设备编码、车道号、车牌类型、号牌颜色、过车时间、车辆消失时间等用来描述机动车属性的数据,即是机动车数据对应的元数据,也就是说,元数据是根据目标数据的数据类型而用来描述这一数据类型的属性的信息。

需要说明的是,预先进行过数据分类的目标数据,还根据目标数据的数据类型定义了这一数据类型的元数据。

具体地,如图3所示,由数据类型选择操作选定某一数据类型,获取这一数据类型的目标数据的同时,选择界面展示这一数据类型的目标数据对应的元数据。

S3、根据所述元数据更新所述选择界面,生成并显示配置界面。

具体地,图4为本申请实施例提供的交委数据去重方法的配置界面的示意图,结合图3和图4所示,通过选择界面确定了某一数据类型,获取了这一数据类型的目标数据对应的元数据后,更新选择界面,从而生成并显示配置界面,即,配置界面为选择界面更新后的后台操作界面。

S4、通过所述配置界面接收去重参数配置操作,并根据所述去重参数配置操作依所述元数据确定去重索引字段和去重时间字段,以及设置所述去重时间字段对应的过滤时长。

可以理解的是,为了对目标数据进行去重处理,需要对目标数据设置去重判定规则,并依据去重判定规则判断目标数据是否为重复数据。本申请实施例中的去重索引字段和去重时间字段就是去重判定规则的关键字段,去重索引字段和去重时间字段会在redis数据库中存储较长的指定时间。

其中,去重索引字段主要是标识目标数据的自身属性的特征字段,去重时间字段主要是标识目标数据的时间属性的特征字段,过滤时长是指去重时间字段对应的过滤时长,例如,针对机动车数据,设备名称、设备编码、车牌号、车牌类型、号牌颜色等可以作为去重索引字段,过车时间、车辆消失时间等可以作为去重时间字段,过滤时长是指根据去重时间字段判断目标数据是否为重复数据的固定时间范围。

具体地,如图4所示,在配置界面中,通过去重参数配置操作从展示的元数据中选择作为去重判定规则的去重索引字段和去重时间字段,并设置去重时间字段对应的过滤时长。

S5、接收交委数据,所述交委数据包括所述去重索引字段的索引数据段、以及所述去重时间字段的时间数据段。

其中,索引数据段是指去重索引字段的字段值,时间数据段是指去重时间字段的字段值,例如,针对机动车数据,若将车牌号作为去重索引字段,将过车时间作为去重时间字段,则车牌号的字段值(实际车牌号,比如鄂AXXXXXX)为索引数据段,过车时间的字段值(实际过车时间,比如2020-09-1310:00:00)为时间数据段,需要注意的是,时间数据段一般为一个时间点,且都采用统一的时间戳。

其中,交委数据是指包括索引数据段和时间数据段的目标数据,例如,交委数据包括“鄂AXXXXXX”和“2020-09-13 10:00:00”。

具体地,接收交委数据,后续依据交委数据的索引数据段和时间数据段,对交委数据进行去重处理。

可以理解的是,交委数据的数据类型应与目标数据的数据类型相同,即,在对某一数据类型的目标数据配置了去重判定规则后,就对这一数据类型的交委数据进行去重处理。

S6、基于redis数据库内缓存的数据,根据所述索引数据段、所述时间数据段和所述过滤时长,对所述交委数据进行去重处理后缓存至所述redis数据库。

需要说明的是,本申请实施例中的去重判定规则是指:两条交委数据的索引数据段相同且时间数据段的差值在过滤时长内时,则判定这两条交委数据为重复数据。

例如,针对机动车数据,将车牌号作为索引数据段,将过车时间作为去重时间字段,

若车牌号为鄂AXXXXXX的机动车,在2020-09-13 10:00:00至2020-09-1310:01:00经过卡口,过滤时长设置为30s,则根据去重判定规则,鄂AXXXXXX为索引数据段,2020-09-13 10:00:00到2020-09-13 10:00:60之间的某一时刻为去重时间字段。

假设存在2020-09-13 10:00:00经过卡口的交委数据,在2020-09-13 10:00:00到2020-09-13 10:00:30之间,会有多条索引数据段为鄂AXXXXXX,时间数据段为2020-09-1310:00:00到2020-09-13 10:00:30之间的某一时刻的交委数据接入,则将时间数据段为2020-09-13 10:00:00的交委数据写入redis数据库,将时间数据段2020-09-13 10:00:01到2020-09-13 10:00:30之间的交委数据作为重复数据而丢弃;接下来,2020-09-13 10:00:31的交委数据由于与redis数据库中缓存的2020-09-13 10:00:00交委数据的时间数据段相差超过30s,因此不为重复数据,而是作为新的数据写入redis数据库,然后时间数据段2020-09-13 10:00:32到2020-09-13 10:00:60之间的交委数据作为重复数据而丢弃,如此循环。

具体地,经过去重处理的交委数据均缓存于redis数据库内,根据索引数据段和时间数据段对交委数据进行去重处理,是指将该交委数据的索引数据段和时间数据段,与缓存于redis数据库内的索引数据段和时间数据段进行对比,从而判断该交委数据是否为重复数据,以丢弃该交委数据,或将该交委数据作为新的数据写入redis数据库。

需要注意的是,在交通运行场景中,由于交委数据是逐条接入的,因此判断当前接入的交委数据的时间数据段是否超过过滤时长时,是将当前接入的交委数据的时间数据段,与redis数据库中缓存的同样索引数据段对应的最后一条交委数据的时间数据段进行比较,即是判断当前接入的交委数据的时间数据段,与redis数据库中缓存的同样索引数据段对应的最后一条交委数据的时间数据段的差值是否超过过滤时长。

本申请实施例提供的交委数据去重方法,通过选择界面确定某一数据类型的目标数据以及该类目标数据的元数据,然后更新选择界面生成配置界面,再由配置界面从元数据中选择用于去重处理的去重索引字段和去重时间字段,并设置去重时间字段对应的过滤时长,最后基于redis数据库中缓存的数据,根据接收的与目标数据同一类型的交委数据的去重索引字段的索引时间段和去重时间字段的时间数据段,以及过滤时长,对交委数据进行去重处理,该交委数据去重方法能通过初始的选择界面动态生成用于去重的配置界面,并通过配置界面动态选择去重索引字段和去重时间字段,提高了去重处理的灵活性和准确性,同时在去重处理时采用高并发访问的键值对的redis数据库,能够有效过滤掉接收时间相近的重复数据,提高了去重处理的速度,且具有较强的系统扩展性,通用性高。

在一个实施例中,步骤S2具体包括如下步骤:

S21、根据所述数据类型选择操作选择所述数据类型,并确定所述数据类型对应的目标数据。

S22、根据所述数据类型,获取所述目标数据对应的所述元数据。

其中,选择界面设有数据类型的选择控件,数据类型选择操作包括选择模板名称、厂家和分类名称,因此分别设有模板名称、厂家和分类名称的选择控件,选择控件为下拉框控件。

具体地,如图3所示,在选择界面中,通过数据类型选择操作选择了某一数据类型后,即确定了对该数据类型的目标数据进行去重处理,根据该数据类型,选择界面会展示该数据类型的目标数据对应的所有元数据。其中,元数据包括名称、字段和类型,例如,“设备编码DeviceID string”,“过车时间Passtime string”等。

在一个实施例中,步骤S3具体包括如下步骤:

S31、展示所述元数据,设置所述元数据对应的字段索引框,每个所述元数据对应的字段选择框,以及字段确认框。

S32、更新所述选择界面,生成并显示所述配置界面。

其中,字段索引框为文本框控件,字段选择框为选择框控件,字段确认框为按钮控件。如图3所示,字段确认框具体包括去重索引字段确认框和去重时间字段确认框。

具体地,如图3和图4所示,在选择界面设置用于搜索元数据的字段索引框,用于选择每个元数据的字段选择框,以及用于确认将所选的元数据作为去重索引字段和去重时间字段的字段确认框,然后更新选择界面,生成去重索引字段、去重时间字段和过滤时长的显示控件,从而动态生成用于去重处理的配置界面。其中,显示控件为文本框控件。

另外,如图4所示,在生成配置界面的去重索引字段、去重时间字段和过滤时长的显示控件的同时,还生成了去重索引字段和去重时间字段删除控件,即可以通过删除控件删除选定的去重索引字段和去重时间字段,然后重新通过元数据的字段索引框、字段选择框和字段确认框,选择去重索引字段和去重时间字段。其中,删除控件为按钮控件。

在一个实施例中,步骤S4中的所述依所述元数据确定所述去重索引字段和所述去重时间字段,以及设置所述去重时间字段对应的过滤时长,具体包括如下步骤:

S41、通过所述字段索引框控件搜索所述去重索引字段和所述去重时间字段。

S42、通过所述字段选择框控件选择所述去重索引字段和所述去重时间字段。

S43、通过所述字段确认框控件确认所述去重索引字段和所述去重时间字段。

S44、展示所述去重索引字段和所述去重时间字段,并设置所述去重时间字段对应的过滤时长。

具体地,如图4所示,通过字段索引框搜索所述去重索引字段和所述去重时间字段,通过所述字段选择框选择所述去重索引字段和所述去重时间字段,通过所述字段确认框确认所述去重索引字段和所述去重时间字段之后,则由去重索引字段的显示控件显示去重索引字段,由去重时间字段的显示控件显示去重时间字段,同时还在过滤时长的显示控件内设置去重时间字段对应的过滤时长,即,在配置界面展示作为去重判定规则的去重索引字段和去重时间字段,同时,还需要设置去重时间字段对应的过滤时长,这样就确认了作为去重判定规则的去重索引字段、去重时间字段和过滤时长。

可以理解的是,如若直接通过字段选择框选择去重索引字段和去重时间字段,则无需通过字段索引框搜索去重索引字段和去重时间字段。

需要说明的是,去重索引字段包括至少一个元数据的字段,去重时间字段仅包括其中一个元数据的字段。如图4所示,针对去重索引字段,将选择第一个元数据的字段作为去重索引字段1,将选择的第二个元数据的字段作为去重索引字段2,依次类推。

在一个实施例中,步骤S6具体包括如下步骤:

S61、判断所述redis数据库内缓存的数据是否包括所述索引数据段,若所述redis数据库不包括所述索引数据段,则确定所述交委数据不为重复数据并将所述交委数据写入所述redis数据库。

本申请实施例采用redis数据库缓存去重处理过程中的中间数据,能利用redis数据库的可高并发访问的键值对,提高去重处理的速度。

具体地,接收到最新一条交委数据时,能确定该条交委数据的索引数据段和时间数据段,首先判断redis数据库内缓存的数据中是否包括该索引数据段,如果redis数据库内并没有缓存该索引数据段,则说明该条交委数据不是重复数据,则将该条交委数据作为新数据写入redis数据库。

例如,若车牌号为鄂AXXXXXX的机动车,在2020-09-13 10:00:00至2020-09-1310:01:00经过卡口,过滤时长设置为30s。

在接收到一条车牌号为鄂AXXXXXX的机动车,2020-09-13 10:00:05经过卡口的交委数据时,首先判断redis数据库内是否存在包括“鄂AXXXXXX”的交委数据,若不存在,则判断该条交委数据不为重复数据,将该条交委数据作为新数据写入redis数据库。

S62、若所述redis数据库内缓存的数据包括所述索引数据段,则判断所述时间数据段与所述redis数据库内缓存的最后一条交委数据的时间数据段之间的差值是否在所述过滤时长内,若不在所述过滤时长内,则确定所述交委数据不为重复数据,并将所述交委数据写入所述redis数据库;若在所述过滤时间内,则确定所述交委数据为重复数据而丢弃,并将所述redis数据库内缓存的最后一条交委数据的时间数据段更新为所述时间数据段。

具体地,承接上述步骤S61,如果redis数据库内缓存有该条交委数据的索引数据段,则进一步判断该条交委数据的时间数据段是否超过过滤时长,即,在redis数据库中找到该索引数据段对应的交委数据,也就是redis数据中缓存的最后一条交委数据的时间数据段,然后将最新接收到的该条交委数据的时间数据段,与redis数据库中缓存的最后一条交委数据的时间数据段进行比较,若两者之差未超过过滤时长,则判断该条交委数据为重复数据而丢弃,若两者之差超过过滤时长,则判断该条交委数据不为重复数据,将该条交委数据作为新数据写入redis数据库,即,该条交委数据成为新的缓存于redis数据库中的最后一条交委数据,作为接收的下一条交委数据的对比项。

例如,承接上述步骤S61的例子,假设存在车牌号为鄂AXXXXXX,2020-09-13 10:00:00经过卡口的交委数据,若redis数据库内存在包括“鄂AXXXXXX”的交委数据,则进一步将2020-09-13 10:00:05与2020-09-13

10:00:00进行比较,两者相差时间为5s,未超过过滤时长30s,因此将鄂AXXXXXX的机动车,2020-09-13 10:00:05经过卡口的这条交委数据作为重复数据而去除。接下来,在接收到一条车牌号为鄂AXXXXXX的机动车,2020-09-13 10:00:31经过卡口的交委数据时,由于2020-09-13 10:00:31与2020-09-13 10:00:00相差超过30s,因此不为重复数据,而是作为新的数据写入redis数据库,2020-09-13 10:00:31之后经过卡口的交委数据则将时间数据段与2020-09-13 10:00:31进行比较以判断是否为重复数据。

在一个实施例中,步骤S62具体包括如下步骤:

S621、将所述去重索引字段和所述索引数据段,生成所述交委数据对应的redis键名称。

S622、将所述时间数据段生成所述交委数据对应的redis键值。

例如,对于一条索引数据段为鄂AXXXXXX,时间数据段为2020-09-1310:00:05的交委数据,可以将“前缀_车牌号字段名_鄂AXXXXXX”作为该条交委数据的redis键名称,将“2020-09-13 10:00:05”作为该条交委数据的redis键值。

需要说明的是,如果选择多个元数据的字段作为去重索引字段,则将这多个元数据的字段名和字段值按照预设形式进行排列而生成最终的索引数据段,预设形式可以为:“前缀_去重索引字段1的字段名|去重索引字段1的字段值,去重索引字段2的字段名|去重索引字段2的字段值”,例如,对于一条包括索引数据段“鄂AXXXXXX”和索引数据段“设备名称BXXXXX的交委数据”,按照“前缀_LaneNo|鄂AXXXXXX,DeviceID|BXXXXX”作为该条交委数据对应的redis键名称。其中,该预设形式仅为示例,本申请实施例并不限定。

S623、将所述redis键名称和所述redis键值组成所述交委数据对应的判重redis键值。

例如,将redis键名称“前缀_车牌号字段名_鄂AXXXXXX”和redis键值“2020-09-1310:00:05”组成键值对(前缀_车牌号字段名_鄂AXXXXXX,2020-09-13 10:00:05),作为该条交委数据对应的判重redis键值。

S624、将所述判重redis键值对插入所述redis数据库,并判断所述redis数据库内缓存的数据是否包括所述redis键名称。

S625、若不包括所述redis键名称,则确定所述交委数据不为重复数据,并将所述redis键值对写入所述redis数据库。

例如,将键值对(前缀_车牌号字段名_鄂AXXXXXX,2020-09-13 10:00:05)插入redis数据库中,判断redis数据库中是否存在键名称“前缀_车牌号字段名_鄂AXXXXXX”,若不存在,则确定所述交委数据不为重复数据,并将键值对(前缀_车牌号字段名_鄂AXXXXXX,2020-09-13 10:00:05)写入redis数据库中。

在一个实施例中,步骤S63具体包括如下步骤:

S631、判断所述redis键值与所述redis数据库中缓存的最后一条所述交委数据的redis键值之间的差值是否在所述过滤时长内。

S632、若不在所述过滤时长内,则确定所述交委数据不为重复数据,并将所述redis键值对写入所述redis数据库。

S633、若在所述过滤时长内,则确定所述交委数据为重复数据而丢弃,并将所述redis数据库内缓存的最后一条交委数据对应的redis键值更新为所述redis键值。

例如,承接步骤S625的例子,若redis数据库中存在键名称“前缀_车牌号字段名_鄂AXXXXXX”,则进一步将redis键值“2020-09-13 10:00:05”与redis数据库中缓存的最后一条交委数据的redis键值“2020-09-13 10:00:00”比较,两者相差时间为5s,若过滤时长未30s,则在过滤时长内,因此将索引数据段为鄂AXXXXXX,时间数据段为2020-09-13 10:00:05的这条交委数据作为重复数据而去除。

基于上述各实施例,下面给出一个完整实施例,以详细说明该交委数据去重方法的实现过程:

首先,展示目标数据的选择界面,在选择界面上通过数据类型选择操作选择模板名称、厂家名称和分类名称,从而选择某一数据类型的目标数据,以确定对该数据类型的目标数据进行去重处理,这时选择界面会根据数据类型展示目标数据对应的元数据,包括元数据的字段、名称和类型,再根据元数据更新选择界面以生成并显示配置界面。

然后,在配置界面上通过配置界面从元数据中确定去重索引字段和去重时间字段,并设置去重索引字段对应的过滤时长,将去重索引字段、去重时间字段和过滤时长作为去重判定规则的去重参数,其中,去重判定规则是指:当两条交委数据的索引数据段相同且时间数据段的差值在过滤时长内时,则判定这两条交委数据为重复数据。

最后,接收交委数据,交委数据的数据类型与目标数据的数据类型相同,交委数据为实时数据,交委数据包括去重索引字段的索引数据段(即去重索引字段的字段值)和去重时间字段的时间数据段(即去重时间字段的字段值),将去重时间字段和索引数据段生成交委数据对应的redis键名称,将时间数据段生成交委数据对应的redis键值,并将交委数据对应的redis键名称和交委数据对应的redis键值形成交委数据对应的redis键值对,将交委数据的redis键值对与redis数据库中缓存的数据进行比较,具体为:先判断redis数据库中是否存在交委数据的redis键名称,若不存在,则确定该交委数据不是重复数据,将该交委数据作为新数据写入redis数据库;若存在,则进一步判断交委数据的redis键值与redis数据库中缓存的最后一条交委数据的redis键值之间的差值是否在过滤时长内,若在过滤时长内,则确定该交委数据是重复数据而丢弃,若不在过滤时长内,则确定该交委数据不是重复数据,将该交委数据作为新数据写入redis数据库。在一个过滤时长的周期内,都如此循环,从而对接入的交委数据进行去重处理后缓存至redis数据库。

本申请实施例提供的交委数据去重方法,在实际项目中经过验证时,使用该方法之前,某市wifi电子围栏设备每小时产生的数据量为300万条左右,每天产生的数据量为4000万条,原有的存储系统的数据存储量被大量占用,使用了该方法之后,通过合理配置去重索引字段,去重时间段,以及过滤时长,能过滤掉50%以上的重复数据,且由于在去重过程中采用redis数据库的高并发访问的键值对,去重速度快,并对数据接入的效率基本没有影响。

在上述实施例所述方法的基础上,本申请实施例将从交委数据去重装置的角度进一步进行描述,请参阅图5,图5为本申请实施例提供的交委数据去重装置的结构示意图,该交委数据去重装置包括:

数据类型选择模块51,用于展示目标数据的选择界面,通过所述选择界面接收数据类型选择操作;

元数据获取模块52,用于根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据;

界面生成模块53,用于根据所述元数据更新所述选择界面,生成并显示配置界面;

配置模块54,用于通过所述配置界面接收去重参数配置操作,并根据所述去重参数配置操作依所述元数据确定去重索引字段和去重时间字段;

接收模块55,用于接收交委数据,所述交委数据包括所述去重索引字段的索引数据段、以及所述去重时间字段的时间数据段;

去重模块56,用于基于redis数据库内缓存的数据,根据所述索引数据段和所述时间数据段,对所述交委数据进行去重处理后缓存至所述redis数据库。

本申请实施例提供的交委数据去重装置,通过选择界面确定某一数据类型的目标数据以及该类目标数据的元数据,然后更新选择界面生成配置界面,再由配置界面从元数据中选择用于去重处理的去重索引字段和去重时间字段,并设置去重时间字段对应的过滤时长,最后基于redis数据库中缓存的数据,根据接收的与目标数据同一类型的交委数据的去重索引字段的索引时间段和去重时间字段的时间数据段,以及过滤时长,对交委数据进行去重处理,该交委数据去重方法能通过初始的选择界面动态生成用于去重的配置界面,并通过配置界面动态选择去重索引字段和去重时间字段,提高了去重处理的灵活性和准确性,同时在去重处理时采用高并发访问的键值对的redis数据库,能够有效过滤掉接收时间相近的重复数据,提高了去重处理的速度,且具有较强的系统扩展性,通用性高。

在一个实施例中,元数据获取模块52还用于根据所述数据类型选择操作选择所述数据类型,并确定所述数据类型对应的目标数据;根据所述数据类型,获取所述目标数据对应的所述元数据。

在一个实施例中,界面生成模块53还用于展示所述元数据,设置所述元数据对应的字段索引框,每个所述元数据对应的字段选择框,以及字段确认框;更新所述选择界面,生成并显示所述配置界面。

在一个实施例中,配置模块54还用于通过所述字段索引框搜索所述去重索引字段和所述去重时间字段;通过所述字段选择框选择所述去重索引字段和所述去重时间字段;通过所述字段确认框确认所述去重索引字段和所述去重时间字段;展示所述去重索引字段和所述去重时间字段,并设置所述去重时间字段对应的过滤时长。

在一个实施例中,去重模块56还用于判断所述redis数据库内缓存的数据是否包括所述索引数据段,若所述redis数据库不包括所述索引数据段,则确定所述交委数据不为重复数据并将所述交委数据写入所述redis数据库;若所述redis数据库内缓存的数据包括所述索引数据段,则判断所述时间数据段与所述redis数据库内缓存的最后一条交委数据的时间数据段之间的差值是否在所述过滤时长内,若不在所述过滤时长内,则确定所述交委数据不为重复数据,并将所述交委数据写入所述redis数据库;若在所述过滤时间内,则确定所述交委数据为重复数据而丢弃,并将所述redis数据库内缓存的最后一条交委数据的时间数据段更新为所述时间数据段。

在一个实施例中,参阅图6,图6为本申请实施例提供的服务器的结构示意图,该服务器包括处理器601、存储器602和总线603,其中,所述处理器601和所述存储器602通过所述总线603完成相互间的通信;所述存储器602存储有可被所述处理器601执行的程序指令,以执行上述各方法实施例所提供的方法,例如包括:展示目标数据的选择界面,通过所述选择界面接收数据类型选择操作;根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据;根据所述元数据更新所述选择界面,生成并显示配置界面;通过所述配置界面接收去重参数配置操作,并根据所述去重参数配置操作依所述元数据确定去重索引字段和去重时间字段,以及设置所述去重时间字段对应的过滤时长;接收交委数据,所述交委数据包括所述去重索引字段的索引数据段、以及所述去重时间字段的时间数据段;基于redis数据库内缓存的数据,根据所述索引数据段、所述时间数据段以及所述过滤时长,对所述交委数据进行去重处理后缓存至所述redis数据库。

在一个实施例中,本申请实施例提供一种非暂态可读计算机存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:展示目标数据的选择界面,通过所述选择界面接收数据类型选择操作;根据所述数据类型选择操作确定所述目标数据,并获取所述目标数据对应的元数据;根据所述元数据更新所述选择界面,生成并显示配置界面;通过所述配置界面接收去重参数配置操作,并根据所述去重参数配置操作依所述元数据确定去重索引字段和去重时间字段,以及设置所述去重时间字段对应的过滤时长;接收交委数据,所述交委数据包括所述去重索引字段的索引数据段、以及所述去重时间字段的时间数据段;基于redis数据库内缓存的数据,根据所述索引数据段、所述时间数据段以及所述过滤时长,对所述交委数据进行去重处理后缓存至所述redis数据库。

其中,该计算机存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

由于该计算机存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的交委数据去重方法、装置及服务器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。

相关技术
  • 交委数据去重方法、装置及服务器
  • 一种数据去重方法、装置及存储介质和服务器
技术分类

06120112292511