CN110334086A - 数据去重方法、装置、计算机设备以及存储介质 - Google Patents

数据去重方法、装置、计算机设备以及存储介质 Download PDF

Info

Publication number
CN110334086A
CN110334086A CN201910461945.6A CN201910461945A CN110334086A CN 110334086 A CN110334086 A CN 110334086A CN 201910461945 A CN201910461945 A CN 201910461945A CN 110334086 A CN110334086 A CN 110334086A
Authority
CN
China
Prior art keywords
feature field
field
feature
data
access request
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.)
Pending
Application number
CN201910461945.6A
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910461945.6A priority Critical patent/CN110334086A/zh
Priority to PCT/CN2019/103388 priority patent/WO2020237878A1/zh
Publication of CN110334086A publication Critical patent/CN110334086A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据去重方法、装置、计算机设备以及存储介质,所述方法包括:获取数据访问请求,并提取数据访问请求中的特征字段;对特征字段进行清洗,并将清洗后的特征字段进行规范化处理;对特征字段进行拼接,生成特征字段组合,对特征字段组合使用hash算法进行压缩处理;基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断特征字段是否为重复字段;若特征字段为重复字段,将特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示特征字段为正常字段。本发明基于数据处理提供一种数据去重方法,能够减轻大量重复数据对数据库资源的消耗,节省数据库内存空间,改善企业的声誉。

Description

数据去重方法、装置、计算机设备以及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据去重方法、装置、计算机设备以及存储介质。
背景技术
目前,在与EMS(Express Mail Service,邮政特快专递)系统交互时,经常会从EMS系统中获得大量重复的快递物流动态信息,由于所获取的大量的快递物流动态信息需要进行存储,需要占用后台数据库的大量存储空间,造成后台数据库的存储压力非常大,在严重情况下,有可能会导致后台数据库无法正常工作,另外,由于后台数据库中大量的快递物流动态信息存在重复的信息,若没有经过一定的筛选或者去重处理便向相应的用户发送重复的物流短信或者其他物流消息推送,容易引起用户投诉,对企业声誉产生严重的影响。
发明内容
有鉴于此,本发明实施例提供一种数据去重方法、装置、计算机设备以及存储介质,能够减轻大量重复数据对数据库资源的消耗,节省数据库内存空间,进一步地,能够降低用户的投诉率,改善企业的声誉。
一方面,本发明实施例提供了一种数据去重方法,该方法包括:
获取数据访问请求,并提取所述数据访问请求中的特征字段;
对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
另一方面,本发明实施例提供了一种数据去重装置,所述装置包括:
获取单元,用于获取数据访问请求,并提取所述数据访问请求中的特征字段;
处理单元,用于对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
拼接处理单元,用于对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
识别判断单元,用于基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
存储输出单元,用于若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
又一方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的数据去重方法。
再一方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如上所述的数据去重方法。
本发明实施例提供一种数据去重方法、装置、计算机设备以及存储介质,其中方法包括:获取数据访问请求,并提取所述数据访问请求中的特征字段;对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。本发明基于数据处理提供一种数据去重方法,能够减轻大量重复数据对数据库资源的消耗,节省数据库内存空间,进一步地,能够降低用户的投诉率,改善企业的声誉。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据去重方法的应用场景示意图;
图2是本发明实施例提供的一种数据去重方法的示意流程图;
图3是本发明实施例提供的一种数据去重方法的另一示意流程图;
图4是本发明实施例提供的一种数据去重方法的另一示意流程图;
图5是本发明实施例提供的一种数据去重方法的另一示意流程图;
图6是本发明实施例提供的一种数据去重方法的另一示意流程图;
图7是本发明实施例提供的一种数据去重装置的示意性框图;
图8是本发明实施例提供的一种数据去重装置的另一示意性框图;
图9是本发明实施例提供的一种数据去重装置的另一示意性框图;
图10是本发明实施例提供的一种数据去重装置的另一示意性框图;
图11是本发明实施例提供的一种数据去重装置的另一示意性框图;
图12是本发明实施例提供的一种计算机设备的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种数据去重方法的应用场景示意图,所述应用场景包括:
(1)服务器,服务器用于提供数据传输的后端服务。服务器为一种计算机设备,可以为单台服务器或者服务器集群,也可以为云服务器,或者为专门的网页服务器,接收外部终端的访问,通过有线网络或者无线网络与终端连接。
(2)终端,图1所示终端包括终端1、终端2和终端3,所述终端通过访问服务器,从服务器上获取目标数据,在终端上将所获取的目标数据插入终端上的本地数据表中。所述终端可以为智能手机、智能手表、笔记本电脑、平板电脑或者台式电脑等电子设备,终端通过有线网络或者无线网络访问服务器。
请参阅图2,图2为本发明实施例提供的一种数据去重方法的示意流程图。如图2所示,该方法包括以下步骤S101~S104。
S101,获取数据访问请求,并提取所述数据访问请求中的特征字段。
在本发明实施例中,所述数据访问请求指的是由EMS系统向服务器发出的物流数据请求,该数据访问请求以请求报文的形式发送至服务器中,并由服务器接收EMS系统所发送的数据访问请求,该请求报文为HTTP报文。所述特征字段指的是数据访问请求中的字段数据内容,例如,对于物流数据请求,特征字段可以包括邮编、物流订单号、物流时间等字段数据内容。
在一实施例中,如图3所示,所述步骤S101包括步骤S201~S202:
S201,获取数据访问请求,对所述数据访问请求进行解析。
在本发明实施例中,由EMS系统发出的数据访问请求实际为请求报文,对所述数据访问请求进行解析即为对请求报文进行解析,解析的过程为:首先确定请求报文的组成部分(包括请求行、请求头以及请求体),其中,请求行包含了一个方法和一个请求的URL,还包含HTTP报文的版本,请求头包含HTTP报文首部字段向请求报文中添加了一些附加信息,请求体包含报文的长度和字段内容。
S202,根据所述解析结果获取所述数据访问请求中的特征字段。
在本发明实施例中,在确定了报文的组成部分后,从请求体中确定出请求报文的字段内容并提取作为特征字段,在本实施例中,特征字段可以包括邮编、物流订单号、物流时间等字段数据内容。
S102,对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理。
在本发明实施例中,对所述特征字段进行清洗指的是捕获特征字段中的空值字段,将空值字段加载或替换为特定数据。其中,根据空值字段可以进行不同数据库的分流;将清洗后的特征字段进行规范化处理,规范化处理的过程具体为:针对来自不同数据源的特征字段,有可能出现相同的特征字段属于不同的数据类型,但在实际上指的是同一个概念,例如:它们可能会是字符型或者数值型,针对这种情况,将对当前特征字段进行判断而不考虑其本身在数据源中所属于的数据类型,并使用数值型来代替字符型或者使用字符型来代替数值型。
S103,对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理。
在本发明实施例中,对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理的步骤,如图4所示,包括以下步骤S301~S303;S301,使用C#语言的StringBuilder类中的append方法对所述特征字段进行拼接;S302,使用hash算法对拼接后的特征字段进行取模运算;S303,获取运算结果,并将运算结果进行定位存放以完成压缩处理。具体的,可使用C#语言的StringBuilder类中的append方法对请求报文中的特征字段进行拼接,StringBuilder类为C#语言中的可变字符序列类,使用append方法将特征字段按照先后顺序进行拼接,例如:对于特征字段“邮编、物流订单号、物流时间”,拼接方法为append(邮编,物流订单号,物流时间),最后输出的拼接结果为“邮编,物流订单号,物流时间”。hash算法是一个“链表散列”的数据结构,通过hash算法,会将特征字段数据进行取模运算,并将结果放在数组某个位置,即实现特征字段数据的定位存放。这个压缩不是原数据进行压缩还原,而是对元数据进行hash处理,变成一个唯一hashcode,后续还需要由hashcode来判断特征字段数据是否重复。hashcode是经过hash算法获取的对象地址,或者字符串或数字算出来的int类型的数字,java中调用Object.hashcode()即可获取。
S104,基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段。
在本发明实施例中,所述预设数据库集群为分布式redis数据库集群,在对已压缩处理的特征字段进行识别之前,需要预先设置数据库集群,并对预先设置的数据库集群进行初始化,初始化指的是预先向数据库集群中存储特征字段数据,本实施例中的预设数据库集群为分布式redis数据库集群,该分布式redis数据库集群为现有的基于内存的数据库,也是一种单线程高性能内存数据库。
基于预设数据库集群对已压缩处理的特征字段进行识别,在识别时需要调用setnx命令,根据setnx命令将已压缩处理的特征字段遍历预设数据库集群中存储的所有数据,然后由setnx命令返回一个返回值,再根据setnx命令返回的返回值来判断所述特征字段是否为重复字段,所谓重复字段指的是预设数据库集群中是否存在与已压缩处理的特征字段全部相同的特征字段数据,若有,则说明已压缩处理的特征字段为重复字段,若没有,则说明已压缩处理的特征字段不是重复字段。
S105,若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
在本发明实施例中,若setnx命令的返回值为1,则说明已压缩处理的特征字段不是重复字段,并输出所述特征字段为正常字段的提示消息,提示消息可以以短信、消息推送的方式进行推送,最后将所述特征字段存储至分布式redis数据库集群中;若setnx命令的返回值为0,则说明已压缩处理的特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,其中,异常处理队列为分布式redis数据库集群专门为异常数据设置的处理窗口,对于重复的特征字段存储至该处理窗口中进行处理操作,该处理操作可以为删除操作,例如,直接将重复的特征字段存储至该处理窗口中进行删除。
由以上可见,本发明实施例通过获取数据访问请求,并提取数据访问请求中的特征字段;对特征字段进行清洗,并将清洗后的特征字段进行规范化处理;对特征字段进行拼接,生成特征字段组合,对特征字段组合使用hash算法进行压缩处理;基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断特征字段是否为重复字段;若特征字段为重复字段,将特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示特征字段为正常字段。本发明基于数据处理提供一种数据去重方法,能够减轻大量重复数据对数据库资源的消耗,节省数据库内存空间,进一步地,能够降低用户的投诉率,改善企业的声誉。
请参阅图5,图5为本发明另一实施例提供的一种数据去重方法的示意流程图。如图5所示,该方法包括以下步骤S401~S407。
S401,获取数据访问请求,并提取所述数据访问请求中的特征字段。
在本发明实施例中,所述数据访问请求指的是由EMS系统向服务器发出的物流数据请求,该数据访问请求以请求报文的形式发送至服务器中,并由服务器接收EMS系统所发送的数据访问请求,该请求报文为HTTP报文。所述特征字段指的是数据访问请求中的字段数据内容,例如,对于物流数据请求,特征字段可以包括邮编、物流订单号、物流时间等字段数据内容。
S402,对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理。
在本发明实施例中,对所述特征字段进行清洗指的是捕获特征字段中的空值字段,将空值字段加载或替换为特定数据。其中,根据空值字段可以进行不同数据库的分流;将清洗后的特征字段进行规范化处理,规范化处理的过程具体为:针对来自不同数据源的特征字段,有可能出现相同的特征字段属于不同的数据类型,但在实际上指的是同一个概念,例如:它们可能会是字符型或者数值型,针对这种情况,将对当前特征字段进行判断而不考虑其本身在数据源中所属于的数据类型,并使用数值型来代替字符型或者使用字符型来代替数值型。
S403,对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理。
在本发明实施例中,可使用C#语言的StringBuilder类中的append方法对请求报文中的特征字段进行拼接,StringBuilder类为C#语言中的可变字符序列类,使用append方法将特征字段按照先后顺序进行拼接,例如:对于特征字段“邮编、物流订单号、物流时间”,拼接方法为append(邮编,物流订单号,物流时间),最后输出的拼接结果为“邮编,物流订单号,物流时间”。hash算法是一个“链表散列”的数据结构,通过hash算法,会将特征字段数据进行取模运算,并将结果放在数组某个位置,即实现特征字段数据的定位存放。这个压缩不是原数据进行压缩还原,而是对元数据进行hash处理,变成一个唯一hashcode,后续还需要由hashcode来判断特征字段数据是否重复。hashcode是经过hash算法获取的对象地址,或者字符串或数字算出来的int类型的数字,java中调用Object.hashcode()即可获取。
S404,判断所述已压缩处理的特征字段是否为同类型字段。
S405,若所述已压缩处理的特征字段为同类型字段,对所述已压缩处理的特征字段进行分组。
在本发明实施例中,所谓同类型字段指的是字段所设置的类型属于同一种类型,例如,字段A、字段B均属于整型,字段C、字段D均属于浮点型等;若存在多个已压缩的特征字段,且多个已压缩的特征字段存在相同的子特征字段,则判断多个已压缩处理的特征字段为同类型字段,并进行分组,比如上述实际例子中,在多个已压缩的特征字段中,存在相同的子特征字段“邮编”,那么这些已压缩的特征字段就为同类型字段,并将这些同类型字段归为同一个分组,分组的方法为将对应的同类型字段存放至同一个list集合中。
S406,基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段。
在本发明实施例中,所述预设数据库集群为分布式redis数据库集群,在对已压缩处理的特征字段进行识别之前,需要预先设置数据库集群,并对预先设置的数据库集群进行初始化,初始化指的是预先向数据库集群中存储特征字段数据,本实施例中的预设数据库集群为分布式redis数据库集群,该分布式redis数据库集群为现有的基于内存的数据库,也是一种单线程高性能内存数据库。
基于预设数据库集群对已压缩处理的特征字段进行识别,在识别时需要调用setnx命令,根据setnx命令将已压缩处理的特征字段遍历预设数据库集群中存储的所有数据,然后由setnx命令返回一个返回值,再根据setnx命令返回的返回值来判断所述特征字段是否为重复字段,所谓重复字段指的是预设数据库集群中是否存在与已压缩处理的特征字段全部相同的特征字段数据,若有,则说明已压缩处理的特征字段为重复字段,若没有,则说明已压缩处理的特征字段不是重复字段。
S407,若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
在本发明实施例中,若setnx命令的返回值为1,则说明已压缩处理的特征字段不是重复字段,并输出所述特征字段为正常字段的提示消息,提示消息可以以短信、消息推送的方式进行推送,最后将所述特征字段存储至分布式redis数据库集群中;若setnx命令的返回值为0,则说明已压缩处理的特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,其中,异常处理队列为分布式redis数据库集群专门为异常数据设置的处理窗口,对于重复的特征字段将存储至该处理窗口中进行处理操作,处理操作可以包括删除操作。
请参阅图6,图6为本发明另一实施例提供的一种数据去重方法的示意流程图。如图6所示,该方法包括以下步骤S501~S507。
S501,获取数据访问请求,并提取所述数据访问请求中的特征字段。
在本发明实施例中,所述数据访问请求指的是由EMS系统向服务器发出的物流数据请求,该数据访问请求以请求报文的形式发送至服务器中,并由服务器接收EMS系统所发送的数据访问请求,该请求报文为HTTP报文。所述特征字段指的是数据访问请求中的字段数据内容,例如,对于物流数据请求,特征字段可以包括邮编、物流订单号、物流时间等字段数据内容。
S502,对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理。
在本发明实施例中,对所述特征字段进行清洗指的是捕获特征字段中的空值字段,将空值字段加载或替换为特定数据。其中,根据空值字段可以进行不同数据库的分流;将清洗后的特征字段进行规范化处理,规范化处理的过程具体为:针对来自不同数据源的特征字段,有可能出现相同的特征字段属于不同的数据类型,但在实际上指的是同一个概念,例如:它们可能会是字符型或者数值型,针对这种情况,将对当前特征字段进行判断而不考虑其本身在数据源中所属于的数据类型,并使用数值型来代替字符型或者使用字符型来代替数值型。
S503,对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理。
在本发明实施例中,可使用C#语言的StringBuilder类中的append方法对请求报文中的特征字段进行拼接,StringBuilder类为C#语言中的可变字符序列类,使用append方法将特征字段按照先后顺序进行拼接,例如:对于特征字段“邮编、物流订单号、物流时间”,拼接方法为append(邮编,物流订单号,物流时间),最后输出的拼接结果为“邮编,物流订单号,物流时间”。hash算法是一个“链表散列”的数据结构,通过hash算法,会将特征字段数据进行取模运算,并将结果放在数组某个位置,即实现特征字段数据的定位存放。这个压缩不是原数据进行压缩还原,而是对元数据进行hash处理,变成一个唯一hashcode,后续还需要由hashcode来判断特征字段数据是否重复。hashcode是经过hash算法获取的对象地址,或者字符串或数字算出来的int类型的数字,java中调用Object.hashcode()即可获取。
S504,基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段。
在本发明实施例中,所述预设数据库集群为分布式redis数据库集群,在对已压缩处理的特征字段进行识别之前,需要预先设置数据库集群,并对预先设置的数据库集群进行初始化,初始化指的是预先向数据库集群中存储特征字段数据,本实施例中的预设数据库集群为分布式redis数据库集群,该分布式redis数据库集群为现有的基于内存的数据库,也是一种单线程高性能内存数据库。
基于预设数据库集群对已压缩处理的特征字段进行识别,在识别时需要调用setnx命令,根据setnx命令将已压缩处理的特征字段遍历预设数据库集群中存储的所有数据,然后由setnx命令返回一个返回值,再根据setnx命令返回的返回值来判断所述特征字段是否为重复字段,所谓重复字段指的是预设数据库集群中是否存在与已压缩处理的特征字段全部相同的特征字段数据,若有,则说明已压缩处理的特征字段为重复字段,若没有,则说明已压缩处理的特征字段不是重复字段。
S505,若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
在本发明实施例中,若setnx命令的返回值为1,则说明已压缩处理的特征字段不是重复字段,并输出所述特征字段为正常字段的提示消息,提示消息可以以短信、消息推送的方式进行推送,最后将所述特征字段存储至分布式redis数据库集群中;若setnx命令的返回值为0,则说明已压缩处理的特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,其中,异常处理队列为分布式redis数据库集群专门为异常数据设置的处理窗口,对于重复的特征字段将存储至该处理窗口中进行处理操作,处理操作可以包括删除操作。
S506,预先设置所述预设数据库集群的数据更新时长。
在本发明实施例中,所述数据更新时长可以是1分钟,可以是2分钟,也可以是其他预设时长,所述预设时长的具体数值在此不作限定,可以根据实际需要进行设置。
S507,若所述特征字段存储至所述预设数据库集群中的时长超过预设的数据更新时长,删除所述特征字段。
在本发明实施例中,若所述特征字段存储至所述预设数据库集群中的时长超过预设的数据更新时长,触发预设数据库集群中的删除指令并通过执行该删除指令以删除所述特征字段。通过设置预设数据库集群存储特征字段的数据更新时长,能够定期更新预设数据库集群中的字段数据,并保证数据库集群中的字段数据按期更新。
请参阅图7,对应上述一种数据去重方法,本发明实施例还提出一种数据去重装置,该装置100包括:获取单元101、处理单元102、拼接处理单元103、识别判断单元104、存储输出单元105。
其中,获取单元101,用于获取数据访问请求,并提取所述数据访问请求中的特征字段;
处理单元102,用于对所述特征字段进行清洗,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
拼接处理单元103,用于对所述特征字段进行拼接,将拼接后的特征字段使用hash算法进行压缩处理;
识别判断单元104,用于基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
存储输出单元105,用于若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
由以上可见,本发明实施例通过获取数据访问请求,并提取数据访问请求中的特征字段;对特征字段进行清洗,并将清洗后的特征字段进行规范化处理;对特征字段进行拼接,生成特征字段组合,对特征字段组合使用hash算法进行压缩处理;基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断特征字段是否为重复字段;若特征字段为重复字段,将特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示特征字段为正常字段。本发明基于数据处理提供一种数据去重方法,能够减轻大量重复数据对数据库资源的消耗,节省数据库内存空间,进一步地,能够降低用户的投诉率,改善企业的声誉。
请参阅图8,所述获取单元101,包括:
解析单元101a,用于获取数据访问请求,对所述数据访问请求进行解析;
获取子单元101b,用于根据所述解析结果获取所述数据访问请求中的特征字段。
请参阅图9,所述拼接处理单元103,包括:
拼接单元103a,用于使用C#语言的StringBuilder类中的append方法对所述特征字段进行拼接;
运算单元103b,用于使用hash算法对拼接后的特征字段进行取模运算;
存放单元103c,用于获取运算结果,并将运算结果进行定位存放以完成压缩处理。
请参阅图10,对应上述一种数据去重方法,本发明实施例还提出一种数据去重装置,该装置200包括:获取单元201、处理单元202、拼接处理单元203、判断单元204、分组单元205、识别判断单元206、存储输出单元207。
其中,获取单元201,用于获取数据访问请求,并提取所述数据访问请求中的特征字段;
处理单元202,用于对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
拼接处理单元203,用于对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
判断单元204,用于判断所述已压缩处理的特征字段是否为同类型字段;
分组单元205,用于若所述已压缩处理的特征字段为同类型字段,对所述已压缩处理的特征字段进行分组。
识别判断单元206,用于基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
存储输出单元207,用于若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
请参阅图11,对应上述一种数据去重方法,本发明实施例还提出一种数据去重装置,该装置300包括:获取单元301、处理单元302、拼接处理单元303、识别判断单元304、存储输出单元305、预先设置单元306、删除单元307。
其中,获取单元301,用于获取数据访问请求,并提取所述数据访问请求中的特征字段;
处理单元302,对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
拼接处理单元303,用于对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
识别判断单元304,用于基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
存储输出单元305,用于若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段;
预先设置单元306,用于预先设置所述预设数据库集群的数据更新时长;
删除单元307,用于若所述特征字段存储至所述预设数据库集群中的时长超过预设的数据更新时长,删除所述特征字段。
上述数据去重装置与上述数据去重方法一一对应,其具体的原理和过程与上述实施例所述方法相同,不再赘述。
上述数据去重装置可以实现为一种计算机程序的形式,计算机程序可以在如图12所示的计算机设备上运行。
图12为本发明一种计算机设备的结构组成示意图。该设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式装置等具有通信功能和语音输入功能的电子装置。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图12,该计算机设备500包括通过系统总线501连接的处理器502、非易失性存储介质503、内存储器504和网络接口505。其中,该计算机设备500的非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种数据去重方法。该计算机设备500的处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序被处理器执行时,可使得处理器502执行一种数据去重方法。计算机设备500的网络接口505用于进行网络通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502执行所述计算机程序时实现如下操作:
获取数据访问请求,并提取所述数据访问请求中的特征字段;
对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
在一个实施例中,所述获取数据访问请求,并提取所述数据访问请求中的特征字段,包括:
获取数据访问请求,对所述数据访问请求进行解析;
根据所述解析结果获取所述数据访问请求中的特征字段。
在一个实施例中,所述对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理,包括:
使用C#语言的StringBuilder类中的append方法对所述特征字段进行拼接;
使用hash算法对拼接后的特征字段进行取模运算;
获取运算结果,并将运算结果进行定位存放以完成压缩处理。
在一个实施例中,所述处理器502执行所述计算机程序时还实现如下操作:
判断所述已压缩处理的特征字段是否为同类型字段;
若所述已压缩处理的特征字段为同类型字段,对所述已压缩处理的特征字段进行分组。
在一个实施例中,所述处理器502执行所述计算机程序时还实现如下操作:
预先设置所述预设数据库集群的数据更新时长;
若所述特征字段存储至所述预设数据库集群中的时长超过预设的数据更新时长,删除所述特征字段。
本领域技术人员可以理解,图12中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图12所示实施例一致,在此不再赘述。
本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现以下步骤:
获取数据访问请求,并提取所述数据访问请求中的特征字段;
对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
在一个实施例中,所述获取数据访问请求,并提取所述数据访问请求中的特征字段,包括:
获取数据访问请求,对所述数据访问请求进行解析;
根据所述解析结果获取所述数据访问请求中的特征字段。
在一个实施例中,所述对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理,包括:
使用C#语言的StringBuilder类中的append方法对所述特征字段进行拼接;
使用hash算法对拼接后的特征字段进行取模运算;
获取运算结果,并将运算结果进行定位存放以完成压缩处理。
在一个实施例中,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,还实现以下步骤:
判断所述已压缩处理的特征字段是否为同类型字段;
若所述已压缩处理的特征字段为同类型字段,对所述已压缩处理的特征字段进行分组。
在一个实施例中,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,还实现以下步骤:
预先设置所述预设数据库集群的数据更新时长;
若所述特征字段存储至所述预设数据库集群中的时长超过预设的数据更新时长,删除所述特征字段。
本发明前述的存储介质包括:磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等各种可以存储程序代码的介质。
本发明所有实施例中的单元可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application Specific IntegratedCircuit,专用集成电路)来实现。
本发明实施例数据去重方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例数据去重装置中的单元可以根据实际需要进行合并、划分和删减。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据去重方法,其特征在于,所述方法包括:
获取数据访问请求,并提取所述数据访问请求中的特征字段;
对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
2.如权利要求1所述的方法,其特征在于,所述获取数据访问请求,并提取所述数据访问请求中的特征字段,包括:
获取数据访问请求,对所述数据访问请求进行解析;
根据所述解析结果获取所述数据访问请求中的特征字段。
3.如权利要求1所述的方法,其特征在于,所述对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理,包括:
使用C#语言的StringBuilder类中的append方法对所述特征字段进行拼接;
使用hash算法对拼接后的特征字段进行取模运算;
获取运算结果,并将运算结果进行定位存放以完成压缩处理。
4.如权利要求1所述的方法,其特征在于,所述基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段的步骤之前,所述方法还包括:
判断所述已压缩处理的特征字段是否为同类型字段;
若所述已压缩处理的特征字段为同类型字段,对所述已压缩处理的特征字段进行分组。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
预先设置所述预设数据库集群的数据更新时长;
若所述特征字段存储至所述预设数据库集群中的时长超过预设的数据更新时长,删除所述特征字段。
6.一种数据去重装置,其特征在于,所述装置包括:
获取单元,用于获取数据访问请求,并提取所述数据访问请求中的特征字段;
处理单元,用于对所述特征字段进行清洗,并将清洗后的特征字段进行规范化处理;
拼接处理单元,用于对所述特征字段进行拼接,生成特征字段组合,对所述特征字段组合使用hash算法进行压缩处理;
识别判断单元,用于基于预设数据库集群对已压缩处理的特征字段进行识别,并根据识别结果判断所述特征字段是否为重复字段;
存储输出单元,用于若所述特征字段为重复字段,将所述特征字段存储至预设的异常处理队列中,否则输出提示消息,所述提示消息用于提示所述特征字段为正常字段。
7.如权利要求6所述的装置,其特征在于,所述获取单元,包括:
解析单元,用于获取数据访问请求,对所述数据访问请求进行解析;
获取子单元,用于根据所述解析结果获取所述数据访问请求中的特征字段。
8.如权利要求6所述的装置,其特征在于,所述拼接处理单元,包括:
拼接单元,用于使用C#语言的StringBuilder类中的append方法对所述特征字段进行拼接;
运算单元,用于使用hash算法对拼接后的特征字段进行取模运算;
存放单元,用于获取运算结果,并将运算结果进行定位存放以完成压缩处理。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述的数据去重方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如权利要求1-5任一项所述的数据去重方法。
CN201910461945.6A 2019-05-30 2019-05-30 数据去重方法、装置、计算机设备以及存储介质 Pending CN110334086A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910461945.6A CN110334086A (zh) 2019-05-30 2019-05-30 数据去重方法、装置、计算机设备以及存储介质
PCT/CN2019/103388 WO2020237878A1 (zh) 2019-05-30 2019-08-29 数据去重方法、装置、计算机设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910461945.6A CN110334086A (zh) 2019-05-30 2019-05-30 数据去重方法、装置、计算机设备以及存储介质

Publications (1)

Publication Number Publication Date
CN110334086A true CN110334086A (zh) 2019-10-15

Family

ID=68140493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910461945.6A Pending CN110334086A (zh) 2019-05-30 2019-05-30 数据去重方法、装置、计算机设备以及存储介质

Country Status (2)

Country Link
CN (1) CN110334086A (zh)
WO (1) WO2020237878A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339070A (zh) * 2020-02-20 2020-06-26 上海二三四五网络科技有限公司 一种订单重复提交的控制方法及装置
CN112436943A (zh) * 2020-10-29 2021-03-02 南阳理工学院 基于大数据的请求去重方法、装置、设备及存储介质
CN112597138A (zh) * 2020-12-10 2021-04-02 浙江岩华文化科技有限公司 数据去重方法、装置、计算机设备和计算机可读存储介质
CN112906005A (zh) * 2021-02-02 2021-06-04 浙江大华技术股份有限公司 Web漏洞扫描方法、装置、系统、电子装置和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117436496A (zh) * 2023-11-22 2024-01-23 深圳市网安信科技有限公司 基于大数据日志的异常检测模型的训练方法及检测方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298633A (zh) * 2011-09-08 2011-12-28 厦门市美亚柏科信息股份有限公司 一种分布式海量数据排重方法及系统
CN102591855A (zh) * 2012-01-13 2012-07-18 广州从兴电子开发有限公司 一种数据标识方法及系统
US20120323862A1 (en) * 2011-06-20 2012-12-20 Bank Of America Corporation Identifying Duplicate Messages in a Database
WO2014135038A1 (zh) * 2013-03-04 2014-09-12 华为技术有限公司 基于pcie总线的报文传输方法与装置
CN107688591A (zh) * 2017-04-06 2018-02-13 平安科技(深圳)有限公司 一种精算处理方法和装置
CN108804242A (zh) * 2018-05-23 2018-11-13 武汉斗鱼网络科技有限公司 一种数据计数去重方法、系统、服务器及存储介质
CN109542854A (zh) * 2018-11-14 2019-03-29 网易(杭州)网络有限公司 数据压缩方法、装置、介质及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1677216A3 (en) * 2005-01-04 2006-08-16 International Business Machines Corporation A method for reducing a data repository
CN108090064B (zh) * 2016-11-21 2021-10-08 腾讯科技(深圳)有限公司 一种数据查询方法、装置、数据存储服务器及系统
CN108280227A (zh) * 2018-01-26 2018-07-13 北京奇虎科技有限公司 基于缓存的数据信息处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120323862A1 (en) * 2011-06-20 2012-12-20 Bank Of America Corporation Identifying Duplicate Messages in a Database
CN102298633A (zh) * 2011-09-08 2011-12-28 厦门市美亚柏科信息股份有限公司 一种分布式海量数据排重方法及系统
CN102591855A (zh) * 2012-01-13 2012-07-18 广州从兴电子开发有限公司 一种数据标识方法及系统
WO2014135038A1 (zh) * 2013-03-04 2014-09-12 华为技术有限公司 基于pcie总线的报文传输方法与装置
CN107688591A (zh) * 2017-04-06 2018-02-13 平安科技(深圳)有限公司 一种精算处理方法和装置
CN108804242A (zh) * 2018-05-23 2018-11-13 武汉斗鱼网络科技有限公司 一种数据计数去重方法、系统、服务器及存储介质
CN109542854A (zh) * 2018-11-14 2019-03-29 网易(杭州)网络有限公司 数据压缩方法、装置、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAO-FEI: "机器学习之数据清洗、特征提取与特征选择", pages 1 - 7, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/34450286> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339070A (zh) * 2020-02-20 2020-06-26 上海二三四五网络科技有限公司 一种订单重复提交的控制方法及装置
CN112436943A (zh) * 2020-10-29 2021-03-02 南阳理工学院 基于大数据的请求去重方法、装置、设备及存储介质
CN112597138A (zh) * 2020-12-10 2021-04-02 浙江岩华文化科技有限公司 数据去重方法、装置、计算机设备和计算机可读存储介质
CN112906005A (zh) * 2021-02-02 2021-06-04 浙江大华技术股份有限公司 Web漏洞扫描方法、装置、系统、电子装置和存储介质

Also Published As

Publication number Publication date
WO2020237878A1 (zh) 2020-12-03

Similar Documents

Publication Publication Date Title
CN110334086A (zh) 数据去重方法、装置、计算机设备以及存储介质
CN110008045B (zh) 微服务的聚合方法、装置、设备及存储介质
US9542461B2 (en) Enhancing performance of extract, transform, and load (ETL) jobs
CN110781183A (zh) Hive数据库中增量数据的处理方法、装置以及计算机设备
CN110147281A (zh) 优化雪花算法在金融业务中应用的方法、装置、电子设备
CN109522332A (zh) 客户信息数据合并方法、装置、设备及可读存储介质
CN112967023A (zh) 获取日程信息的方法、装置、设备、存储介质及程序产品
CN108536544B (zh) 基于数据库消息队列的消费方法、装置、服务器和介质
CN112835904A (zh) 一种数据处理方法和数据处理装置
CN114489762A (zh) 一种多版本应用的实现方法、系统及电子设备
CN112860412B (zh) 业务数据处理方法、装置、电子设备及存储介质
KR20210040311A (ko) 개체를 위해 개별화 규칙을 맞춤 제정하는 방법, 장치, 기기, 저장 매체 및 컴퓨터 프로그램
US20170171128A1 (en) Method and electronic device for email processing
CN111126965A (zh) 审核规则优化方法、装置、计算机设备以及存储介质
CN113132241B (zh) Acl模板动态配置方法及装置
CN115328457A (zh) 基于参数配置的表单页面实现方法和装置
CN108845953B (zh) 接口测试的方法及装置
JP7073813B2 (ja) 制御プログラム、制御方法および情報処理装置
CN113360558A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
CN113760695A (zh) 一种定位问题代码的方法和装置
CN109977104A (zh) 数据管理方法及装置
CN106411547B (zh) 一种redis调用监控方法和装置
CN111381977A (zh) 消息处理方法及设备
CN112311931B (zh) 一种在终端处理联系人信息的方法、装置和电子设备
CN112948485B (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