CN108804242A - 一种数据计数去重方法、系统、服务器及存储介质 - Google Patents

一种数据计数去重方法、系统、服务器及存储介质 Download PDF

Info

Publication number
CN108804242A
CN108804242A CN201810498172.4A CN201810498172A CN108804242A CN 108804242 A CN108804242 A CN 108804242A CN 201810498172 A CN201810498172 A CN 201810498172A CN 108804242 A CN108804242 A CN 108804242A
Authority
CN
China
Prior art keywords
duplicate removal
data
request
duplicate
bloom filter
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
CN201810498172.4A
Other languages
English (en)
Other versions
CN108804242B (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.)
Shenzhen Andun Intellectual Property Services Co ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810498172.4A priority Critical patent/CN108804242B/zh
Publication of CN108804242A publication Critical patent/CN108804242A/zh
Application granted granted Critical
Publication of CN108804242B publication Critical patent/CN108804242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

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

Abstract

本发明公开了一种数据计算去重方法、系统、服务器及存储介质,适用于大数据中的数据去重。本发明提供的方法包括:接收调用请求,利用dubbo组件进行负载均衡;解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap;获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重。本发明中通过dubbo组件进行负载均衡,同时根据预设的去重等级,通过Bloom Filter算法进行对应级别的计数去重,不仅可以保障数据得到高效快速的处理,而且能大大减少数据误杀概率,提升去重的准确性。

Description

一种数据计数去重方法、系统、服务器及存储介质
技术领域
本发明涉及大数据领域,尤其涉及一种数据计数去重方法、系统、服务器及存储介质。
背景技术
随着互联网的普及,网络数据呈现指数级增长,庞大的数据量对于去重技术是一个重大考验。对于类似用户访问量、用户评论、用户发言等数据计数,传统简单的分组计数,相对于千万或上亿级别数据显然难以适用。
目前,针对这种庞大数据的计数去重,常采用Bloom Filter算法,使用多hash函数与bitmap存储达到数据去重的目的,但这种方式存在数据误杀,致使去重准确率较低,难以保障结果的可靠。
发明内容
有鉴于此,本发明实施例提供了一种数据计数去重方法、系统、服务器及存储介质,以现有去重方式准确率较低的问题。
本发明实施例的第一方面,提供了一种数据计数去重方法,包括:
接收到客户端去重调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理;
解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap;
获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等。
发送去重后的计数到所述客户端。
本发明实施例的第二方面,提供了一种数据计数去重系统,包括:
服务调用模块:用于通过spring boot框架生成接口调用服务;
负载均衡模块:用于在接收到用户调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理;
去重计算模块:用于获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等;
数据存储模块:用于根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap。
本发明实施例的第三方面,提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。
本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
本发明实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
本发明实施例中,通过dubbo组件进行负载均衡,同时根据预设的去重等级,通过Bloom Filter算法进行对应级别的计数去重,不仅可以保障数据得到高效快速的处理,而且基于多级去重会使用redis缓存能提高提高查重效率,同时,多级去重能大大减少数据误杀概率,提升去重的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的数据计数去重的流程示意图;
图2为本发明实施例二提供的步骤S102的流程示意图;
图3为本发明实施例三提供的步骤S103流程示意图;
图4为本发明实施例四提供的数据计数去重的结构示意图;
图5为本发明实施例五提供的服务器的结构示意图。
具体实施方式
本发明实施例提供了一种数据同步方法、服务器及存储介质,用于数据同步,保障数据同步的实时性。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
请参阅图1,本发明实施例提供的数据计数去重方法的流程示意图,包括以下步骤:
S101、接收到客户端去重调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理。
所述客户端能为用户提供本地服务,可以向服务器请求去重服务。所述客户端可以指客户机上的一段去重请求程序,能够调用服务器端的去重组件。服务器端接收到请求后,会验证请求的合法性,然后通过dubbo组件负载均衡,进行分配服务器。所述dubbo组件为一种分布式服务框架,可提供透明化的RPC(远程过程调用)远程服务调用,具有软负载均衡及容错机制。由于去重服务的计算量大,需要多台服务器配合,因此需要根据服务器端已有的硬件设备,动态分配处理任务。
可选的,接收请求前还包括:通过spring boot框架生成接口调用服务,并创建HTTP方式调用和RPC方式调用,同时还提供基础接口,方便扩展多种形式调用。具体的,HTTP方式调用是采用post请求方式接收请求的参数,在本发明实施例中所述参数可包括数据库名、日期分区、去重内容及去重级数等。RPC方式调用需要实例化RPC接口请求服务器,读取配置文件,获取监听的服务端口并启动服务,接收的参数与HTTP方式类似。HTTP方式可实现不同编程语言的交互,而RPC接口可实现远程调用,两种调用方式结合能够方便多种形式的调用。
S202、解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap;
所述请求中包含有去重需要用到的基本参数,例如去重内容、去重级别、数据库名等,所述预设的去重级别一般指去重等级,等级越高,去重精度越高,优选的,在本发明实施例中所述去重级别一般有1级、2级和3级,所述级别可以根据需要进行扩充。
所述redis是一种key-value存储系统,支持多种类型数据存储。所述bitmap是由连续位图组成的内存,有0和1表示元素是否存在,在本发明实施例中bitmap用于存储去重数据经过hash函数计算后,设置对应的bit位表示所述数据。通过redis数据存储bitmap,不仅能够节省大量内存空间,而且,基于key-value形式的数据查询比对具有效率高,速度快的优势。
可选的,所述创建过程还包括:根据所述请求中包含数据库名、分区数据及去重级别,在数据存储组件redis中查询并判断对应的数据库名和分区数据是否存在,当不存在时,在所述数据存储组件中创建所述去重数据对应的bitmap数据,并设置为0。
所述创建bitmap数据还包括:设置所述bitmap数据生存时间,当所述数据生存时间消耗完,自动销毁所述bitmap数据。
S103、获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等;
所述去重内容参数和去重级别参数均为应用请求时携带的参数,所述去重内容,可以是例如用户评论、用户发言等,通过用户唯一标识例如id,可以根据id查询用户的评论记录。所述Bloom Filter算法利用位数组标识集合,能够判断一个元素是否存在于该集合。具体的,通过计算查询元素的hash值,再去redis的bitmap中查询,并将bitmap中数值为0的数据设置为1。
每经过一次Bloom Filter算法查重,即表示一个去重等级,根据去重等级,需要对所述去重数据查询时,通过Bloom Filter算法进行对应次数的查重,每次查重需要重新计算hash值,同时基于上一次的查询就可以用到多级redis缓存,进一步加快查重效率。
S204、发送去重后的计数到所述客户端。
在本发明实施例中,通过结合dubbo组件进行负载均衡,并建立redis存储,结合bitmap基础上通过Bloom Filter算法查重计数,能够极大提高数据处理速度,同时多级查询判断,能大大降低误杀率,保障去重计数的准确性。
实施例二:
在图1的基础上,结合图2详述步骤S102,即创建去重服务数据存储单元,如下:
图2为本发明实施例提供的步骤S102流程示意图,包括步骤S1021、S1022、S1023、S1024,上述步骤并不意味着执行顺序的先后。
在步骤S1021中,解析请求参数可得到数据库名、分区数据及去重级别等。
当进行redis存储前,需要先去查询存储组件redis中确定有否已经存储过,这样能避免数据重复存储,占用内存。具体的,通过获取请求参数中的数据名及分区数据内容,然后和redis存储组件中的数据遍历比对,经过步骤S1022可以排除干扰。
当不存在对应的数据库名和分区数据时,创建分区数据对应的bitmap数据,建立键值关联关系,并将其中数值统一设为0。同时还要对所述数据设置生存时间,当生存时间耗尽,则销毁redis中数据。由于bitmap中的数据有可能已经没有作用或过期数据,这时若由人工销毁需要耗费大量时间,设置其自动销毁就可以节省内存空间,而且数据使用过就会失效这时让其自动销毁释放内存,就能方便提高空间利用率。
在S1024中所述去重级别即对应redis存储单元,一般所述级别可以预设,根据预设的级别创建对应数量的redis存储单元,例如当去重级别为2时,创建两个redis数据存储bitmap。
优选的,所述去重等级一般最高设定为3级。
在本发明提供的实施例中设置redis的过期时间,定时释放内存,能够节省内存空间,同时创建对应数量的redis存储单元能够保障后续查重计数的高效进行。
实施例三:
在图1的基础上,结合图3详述步骤S103创建去重计算单元的流程,如下:
解析完应用请求参数后,步骤S103中需要获知设定的去重级别参数。具体实现过程在S301和S302中通过Bloom Filter算法进行去重计数,例如,当去重级别为1级时,计算一组去重数据的hash值,根据hash值结果,找到对应的redis存储单元中的bitmap,并在所述bitmap中查询,若不存在,则将对应bitmap位中数值为0的设置1,将所述数据加入到去重结果的存储单元中,并返回去重结果。每次根据查询过程结束后将查询结果返回,若有任意bit位返回值为0,则表明该查询数据不存在,去重结果则为1,若返回的bit位全部为0,则表明所述查询数据已经存在,去重结果为0。
为了较少查询误杀,一次去重往往难以保障去重准确率。在S304当认定查询数据已经存在,需要验证去重级别,当大于1级时,进行二次去重计算。具体的,利用二级redis缓存,计算一组新的hash值。
可选的,每进行一次Bloom Filter去重计算,累次次数,使通过Bloom Filter算法去重次数与所述去重级别相等。
多级别的去重计算可以提高去重准确率,减少误杀。
实施例四:
上面主要描述了一种数据去重计数方法,下面将对一种数据计数去重系统进行详细描述。
图4示出了本发明实施例提供的数据计数去重系统的结构示意图,包括:
服务调用模块410:用于通过spring boot框架生成接口调用服务;
可选的,所述服务调用模块410包括:
接口生成单元:用于通过spring boot框架生成接口调用服务,并创建HTTP方式调用和RPC方式调用。
负载均衡模块420:用于在接收到用户调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理;
可选的,所述服务调用模块410为所述负载均衡模块420前置模块。
去重计算模块430:用于获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等;
可选的,所述去重计算模块具体包括:
去重计算单元:通过Bloom Filter算法计算得到去重结果后,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数得到hash值,在所述redis存储单元的bitmap中查询所述hash值,根据查询结果的返回值和已经去重的次数,判定是否进行再次去重,其中,所述已经去重次数即是通过Bloom Filter算法去重次数。
数据存储模块440:用于根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap。
可选的,所述数据存储模块440包括:
数据查询单元:用于根据所述请求中包含数据库名、分区数据及去重级别,在数据存储组件中查询并判断对应的数据库名和分区数据是否存在,当不存在时,在所述数据存储组件中创建bitmap数据,并设置为0。
设置单元:用于设置所述bitmap数据生存时间,当所述数据生存时间消耗完,自动销毁所述bitmap数据。
优选的,以上所述模块在具体服务架构中是以组件形式存在,所述服务调用模块410是以接口形式调用服务,所述负载均衡模块420是以dubbo组件形式进行分配服务器,所述去重计算模块430是以去重逻辑组件形式提供去重计算服务,所述数据存储模块440能以redis存储形式提供数据存储服务。进一步的,所述去重计算模块430与所述负载均衡模块420都是利用服务器处理器处理,且所述去重计算模块430在dubbo组件中定义生成。
实施例五:
图5是本发明一实施例提供的数据计数去重的服务器结构的示意图。所述服务器,为提供计算服务的设备,通常指具有较高计算能力,通过网络提供给多个用户使用的计算机。如图5所示,该实施例的服务器5包括:存储器510、处理器520以及系统总线530,所述存储器510包括存储其上的可运行的程序5101,本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对终端设备的各个构成部件进行具体的介绍:
存储器510可用于存储软件程序以及模块,处理器520通过运行存储在存储器510的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在存储器510上包含数据同步方法的可运行程序5101,所述可运行程序5101可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器510中,并由处理器520执行,以完成通知的传递并获取通知实现过程,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序5101在所述服务器5中的执行过程。例如,所述计算机程序5101可以被分割为获取模块、比对模块、拼接模块和发送模块。
处理器520是服务器的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器510内的软件程序和/或模块,以及调用存储在存储器510内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器520可包括一个或多个处理单元;优选的,处理器520可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器520中。
系统总线530是用来连接计算机内部各功能部件,可以传送数据信息、地址信息、控制信息,其种类可以是例如PCI总线、ISA总线、VESA总线等。处理器520的指令通过总线传递至存储器510,存储器510反馈数据给处理器520,系统总线530负责处理器520与存储器510之间的数据、指令交互。当然系统总线530还可以接入其他设备,例如网络接口、显示设备等。
所述服务器应至少包括CPU、芯片组、内存、磁盘系统等,其他构成部件在此不再赘述。
在本发明实施例中,该服务器所包括的处理器520执行的可运行程序具体为:
一种数据计数去重方法,其特征在于,包括:
接收到客户端去重调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理;
解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap;
获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等。
发送去重后的计数到所述客户端。
进一步的,所述接收到客户端去重调用请求后还包括:
通过spring boot框架生成接口调用服务,并创建HTTP方式调用和RPC方式调用。
进一步的所述解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap包括:
根据所述请求中包含数据库名、分区数据及去重级别,在数据存储组件redis中查询并判断对应的数据库名和分区数据是否存在,当不存在时,在所述数据存储组件中创建bitmap数据,并设置为0。
进一步的,所述在所述数据存储组中创建bitmap数据,并设置为0还包括:
设置所述bitmap数据生存时间,当所述数据生存时间消耗完,自动销毁所述bitmap数据。
进一步的,所述获取所述请求中的去重内容参数和所述去重级别参数,通过BloomFilter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重具体为:
通过Bloom Filter算法计算得到去重结果后,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数得到hash值,在所述redis存储单元的bitmap中查询所述hash值,根据查询结果的返回值和已经去重的次数,判定是否进行再次去重,其中,所述已经去重次数即是通过Bloom Filter算法去重次数。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据计数去重方法,其特征在于,包括:
接收到客户端去重调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理;
解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap;
获取所述请求中的去重内容参数和所述去重级别参数,通过Bloom Filter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等。
发送去重后的计数到所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述接收到客户端去重调用请求后还包括:
通过spring boot框架生成接口调用服务,并创建HTTP方式调用和RPC方式调用。
3.根据权利要求1所述的方法,其特征在于,所述解析所述请求,根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap包括:
根据所述请求中包含数据库名、分区数据及去重级别,在数据存储组件redis中查询并判断对应的数据库名和分区数据是否存在,当不存在时,在所述数据存储组件中创建bitmap数据,并设置为0。
4.根据权利要求3所述的方法,其特征在于,所述在所述数据存储组中创建bitmap数据,并设置为0还包括:
设置所述bitmap数据生存时间,当所述数据生存时间消耗完,自动销毁所述bitmap数据。
5.根据权利要求1所述的方法,其特征在于,所述当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过BloomFilter算法去重次数与所述去重级别相等具体为:
通过Bloom Filter算法计算得到去重结果后,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数得到hash值,在所述redis存储单元的bitmap中查询所述hash值,根据查询结果的返回值和已经去重的次数,判定是否进行再次去重,其中,所述已经去重次数即是通过Bloom Filter算法去重次数。
6.一种数据计数去重系统,其特征在于,包括:
服务调用模块:用于通过spring boot框架生成接口调用服务;
负载均衡模块:用于在接收到用户调用请求后,利用dubbo组件进行负载均衡,以分配服务器进行去重处理;
去重计算模块:用于获取所述请求中的去重内容参数和所述去重级别参数,通过BloomFilter算法计算得到去重结果,当所述去重级别大于1级且去重结果返回值为0时,重新计算一组hash函数,再次通过Bloom Filter算法去重,其中,通过Bloom Filter算法去重次数与所述去重级别相等;
数据存储模块:用于根据所述请求中预设的去重级别参数,在所述服务器上创建对应数量的redis数据存储bitmap。
7.根据权利要求6所述的系统,其特征在于,所述服务调用模块包括:
接口生成模块:用于通过spring boot框架生成接口调用服务,并创建HTTP方式调用和RPC方式调用。
8.根据权利要求6所述的系统,其特征在于,所述数据存储模块还包括:
数据查询单元:用于根据所述请求中包含数据库名、分区数据及去重级别,在数据存储组件中查询并判断对应的数据库名和分区数据是否存在,当不存在时,在所述数据存储组件中创建bitmap数据,并设置为0。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述数据计数去重方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述数据计数去重方法的步骤。
CN201810498172.4A 2018-05-23 2018-05-23 一种数据计数去重方法、系统、服务器及存储介质 Active CN108804242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810498172.4A CN108804242B (zh) 2018-05-23 2018-05-23 一种数据计数去重方法、系统、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810498172.4A CN108804242B (zh) 2018-05-23 2018-05-23 一种数据计数去重方法、系统、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN108804242A true CN108804242A (zh) 2018-11-13
CN108804242B CN108804242B (zh) 2022-03-22

Family

ID=64092911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810498172.4A Active CN108804242B (zh) 2018-05-23 2018-05-23 一种数据计数去重方法、系统、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN108804242B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933739A (zh) * 2019-03-01 2019-06-25 重庆邮电大学移通学院 一种基于转移概率的网页排序方法及系统
CN110334086A (zh) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 数据去重方法、装置、计算机设备以及存储介质
CN110569263A (zh) * 2019-08-27 2019-12-13 苏宁云计算有限公司 实时数据去重计数方法及装置
CN111343220A (zh) * 2018-12-18 2020-06-26 北京京东尚科信息技术有限公司 转发器、分布式文件传输方法、系统、介质及电子设备
CN111857850A (zh) * 2020-07-21 2020-10-30 掌阅科技股份有限公司 过滤器的初始化方法、电子设备及存储介质
CN112069188A (zh) * 2020-09-15 2020-12-11 北京值得买科技股份有限公司 一种高性能识别新旧设备id的方法
CN118113694A (zh) * 2024-04-28 2024-05-31 中电数据服务有限公司 一种基于边缘计算的医疗数据去重方法及传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN104809182A (zh) * 2015-04-17 2015-07-29 东南大学 基于动态可分裂Bloom Filter的网络爬虫URL去重方法
CN105022784A (zh) * 2015-06-05 2015-11-04 中国信息安全研究院有限公司 一种动态调节多级Bloom滤波器结构的方法
CN105938480A (zh) * 2016-04-07 2016-09-14 重庆大学 一种基于dtbf的rfid冗余数据清洗方法及系统
CN107798106A (zh) * 2017-10-31 2018-03-13 广东思域信息科技有限公司 一种分布式爬虫系统中的url去重方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345472A (zh) * 2013-06-04 2013-10-09 北京航空航天大学 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法
CN104809182A (zh) * 2015-04-17 2015-07-29 东南大学 基于动态可分裂Bloom Filter的网络爬虫URL去重方法
CN105022784A (zh) * 2015-06-05 2015-11-04 中国信息安全研究院有限公司 一种动态调节多级Bloom滤波器结构的方法
CN105938480A (zh) * 2016-04-07 2016-09-14 重庆大学 一种基于dtbf的rfid冗余数据清洗方法及系统
CN107798106A (zh) * 2017-10-31 2018-03-13 广东思域信息科技有限公司 一种分布式爬虫系统中的url去重方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李凡: "一种高效的二阶段Bloom filter算法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343220A (zh) * 2018-12-18 2020-06-26 北京京东尚科信息技术有限公司 转发器、分布式文件传输方法、系统、介质及电子设备
CN111343220B (zh) * 2018-12-18 2024-02-09 北京京东尚科信息技术有限公司 转发器、分布式文件传输方法、系统、介质及电子设备
CN109933739A (zh) * 2019-03-01 2019-06-25 重庆邮电大学移通学院 一种基于转移概率的网页排序方法及系统
CN110334086A (zh) * 2019-05-30 2019-10-15 平安科技(深圳)有限公司 数据去重方法、装置、计算机设备以及存储介质
CN110569263A (zh) * 2019-08-27 2019-12-13 苏宁云计算有限公司 实时数据去重计数方法及装置
CN110569263B (zh) * 2019-08-27 2022-11-22 苏宁云计算有限公司 实时数据去重计数方法及装置
CN111857850A (zh) * 2020-07-21 2020-10-30 掌阅科技股份有限公司 过滤器的初始化方法、电子设备及存储介质
CN112069188A (zh) * 2020-09-15 2020-12-11 北京值得买科技股份有限公司 一种高性能识别新旧设备id的方法
CN118113694A (zh) * 2024-04-28 2024-05-31 中电数据服务有限公司 一种基于边缘计算的医疗数据去重方法及传输方法
CN118113694B (zh) * 2024-04-28 2024-08-27 中电数据服务有限公司 一种基于边缘计算的医疗数据去重方法及传输方法

Also Published As

Publication number Publication date
CN108804242B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
CN108804242A (zh) 一种数据计数去重方法、系统、服务器及存储介质
US9602380B2 (en) Context-aware dynamic policy selection for load balancing behavior
US9454558B2 (en) Managing an index of a table of a database
CN106909451A (zh) 一种分布式任务调度系统及方法
CN106657287A (zh) 一种数据访问方法及系统
US20160253402A1 (en) Adaptive data repartitioning and adaptive data replication
CN106886371B (zh) 缓存数据处理方法及装置
CN106407207A (zh) 一种实时新增数据更新方法和装置
US11422994B2 (en) Adaptive query processor for query systems with limited capabilities
CN103984761A (zh) 海量异构数据的存储方法及系统
CN108900626A (zh) 一种云环境下数据存储方法、装置及系统
CN101577705A (zh) 一种多核并行的网络业务流负载均衡方法及其系统
CN105550274A (zh) 双副本并行数据库的查询方法和装置
CN109981702A (zh) 一种文件存储方法及系统
CN111782361A (zh) 一种量子计算机集群分布式队列调度方法及系统
CN113014611A (zh) 一种负载均衡方法及相关设备
CN115665284A (zh) 基于分布式配置中心的报文处理方法、装置及计算机设备
CN106940715B (zh) 一种基于索引表的查询的方法及设备
US20240314202A1 (en) Data acquisition method and apparatus for artificial intelligence platform, device and medium
US10990385B1 (en) Streaming configuration management
EP3507699B1 (en) Method and systems for master establishment using service-based statistics
Fan et al. An adaptive feedback load balancing algorithm in HDFS
CN103577424B (zh) 分布式数据库视图的实现方法及系统
CN110188140A (zh) 数据拉取方法、装置、存储介质和计算机设备
CN109005071A (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
TR01 Transfer of patent right

Effective date of registration: 20240507

Address after: 518000 room 1705-1707, Shenzhen Bay venture capital building, 1001 Keyuan Road, Yuehai street, Nanshan District, Shenzhen, Guangdong

Patentee after: SHENZHEN ANDUN INTELLECTUAL PROPERTY SERVICES Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right