CN111736774B - 冗余数据的处理方法、装置、服务器及存储介质 - Google Patents

冗余数据的处理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN111736774B
CN111736774B CN202010554791.8A CN202010554791A CN111736774B CN 111736774 B CN111736774 B CN 111736774B CN 202010554791 A CN202010554791 A CN 202010554791A CN 111736774 B CN111736774 B CN 111736774B
Authority
CN
China
Prior art keywords
data
field
pieces
processed
redundant
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.)
Active
Application number
CN202010554791.8A
Other languages
English (en)
Other versions
CN111736774A (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.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online 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 Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN202010554791.8A priority Critical patent/CN111736774B/zh
Publication of CN111736774A publication Critical patent/CN111736774A/zh
Application granted granted Critical
Publication of CN111736774B publication Critical patent/CN111736774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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是本公开实施例提供的一种冗余数据的处理方法流程图;
图4是本公开实施例提供的一种冗余数据的处理方法流程图;
图5是本公开实施例提供的一种对字段名称相同的冗余字段的删除逻辑流程图;
图6是本公开实施例提供的一种对字段名称相似的冗余字段的删除逻辑流程图;
图7是本公开实施例提供的一种冗余数据的处理装置结构示意图;
图8是根据一示例性实施例示出的一种用于冗余数据的处理的服务器。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
在互联网技术领域,冗余数据主要产生于以下两类典型的应用场景中:
第一类场景为风险识别场景:在风险识别场景下,风险识别系统收集大量业务数据,并采用json格式传递业务数据。通常传递业务数据的业务链较长,在传输过程中业务数据会经过多次加工、填充、转换,在加工、填充、转换等过程中,业务数据中常常会出现冗余字段,例如,字段名称相同的冗余字段以及字段名称相似的冗余字段等。有些冗余字段会嵌套到较深的json中去,而由于需要处理数据的数据量较大,导致删除极为困难,而直接存储又会浪费大量的存储空间,尤其在流量高峰期,较大的IO(Input/Output,输入/输出)很容易造成系统雪崩,因此,需要对冗余数据进行处理。
另一类场景为模型训练场景:在模型训练场景下,不同数据团队都会获取大量特征数据,由于不同数据团队间很难实现完全信息共享,导致获取的特征数据中存在大量冗余数据。这些冗余数据不仅会浪费大量的存储空间,而且不利于模型训练的数据差异化要求,因此,需要对冗余数据进行处理。
为了更好地对冗余数据进行处理,本公开实施例提供了一种冗余数据的处理方法,该方法在数据产生源头,构建一个用于冗余数据处理的系统模块,基于该系统模块可智能地进行冗余数据的筛选和删除,从而无需技术人员编写大量代码,即可达到冗余数据的清理目的,节约了人力成本,提高了处理的灵活性。且由于删除了冗余数据,因而减少了存储空间,缓解过大IO造成的系统风险。
本公开实施例提供的系统模块设置于服务器中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。系统模块作为第三方组件,具备低侵入性、高性能、智能化等特点,根据使用方式和对进入模块前数据的初步筛选方式不同,系统模块的工作模式包括被动模式和主动模式两种。
其中,被动模式采用java-agent方式提供冗余数据的处理能力,在被动模式下,用户只需配置一个期望的单条数据大小基准线,系统模块就会自动选择筛选模式,对输入的全量数据进行冗余数据的筛选和删除,从而使得输出的数据尽可能满足用户设定的单条数据大小基准线,该单条数据大小基准线即为本公开实施例所述的预设阈值。
主动模式采用jar包形式提供冗余数据的处理能力,在主动模式下用户被赋予更丰富的权限,可对输入的数据进行初步处理,例如,初步筛选、清洗等,然后将初步处理后的数据提供给系统模块进行筛选和删除。在主动模式下,用户能够自由控制系统模块所使用的模式。同样的,用户需要配置一个期望的单条数据大小基准线。
虽然主动模式和被动模式的使用方式和对进入模块前数据的初步筛选方式不同,但二者对冗余数据的处理原理是相同的。
图1是本公开实施例提供的用于冗余数据处理的系统模块的框图,参见图1,该系统模块包括:SDK(Software Development Kit,软件开发工具包)、加载装置、初级清理器、深度清理器、监控区和数据缓冲区。
其中,加载装置用于在起始阶段加载系统模块,并读取系统模块相关的配置文件。
SDK为对外暴露的控制接口。在主动模式下,用户可以通过该接口对系统模块的行为和表现进行针对性的配置和管理,包括配置期望的单条数据大小基准线、对输入数据进行初步处理等;在被动模式下,用户可通过该接口配置期望的单条数据大小基准线。
初级清理器用于对输入的数据进行浅层次的格式化,以对完全重复的数据进行筛选和删除。在对完全重复的数据进行筛选和删除时,可基于初级算法实现对字段名称相同的冗余字段的删除逻辑。
深度清理器用于对经过初级清理器清理后仍高于所配置的单条数据大小基准线的数据进行深度清理,例如,对同义数据进行筛选和删除等。在对冗余数据进行深度清理时,深度清理器需要与监控区配合使用。在实现对同义数据进行筛选和删除时,基于深度清理算法,在所设置的字段名称相似度阈值基础上,对字段名称相同或相似的字段进行删除。深度清理算法核心思想是根据指纹在相似度阈值范围内形成的字段间的关联关系,构建无向关联子图,进而在图的一阶相似和二阶相似约束下,对字段名称相似的冗余字段进行删除。
监控区用于对输入初级清理器的数据及输入深度清理器的数据进行统计和监控,从而为深度清理器提供决策依据,并能够依据系统模块的整体运行情况,有针对性地对系统模块进行动态处理,包括进行熔断、降级、报警等处理。
数据缓冲区用于对数据进行缓存。由于数据缓存区中的数据无需拷贝可直接输出,因而大大减少了IO的压力。
图2为基于图1所示的系统模块进行冗余数据的处理逻辑框图。参见图2,冗余数据的处理过程为:
1、加载装置加载配置文件,以启动系统模块。
2、系统模块启动后,读取预设阈值(即用户配置的单条数据大小基准线)。对于输入的数据,如果输入的任一条数据的数据量小于该预设阈值,则将该条数据存储到缓存区;如果该条数据的数据量大于该预设阈值,则将该条数据输入到初级清理器中,进而由初级清理器进行冗余数据的筛选和删除。
3、对于经过初级清理器处理的数据,如果数据量小于预设阈值,则将该条数据存储至数据缓存区;如果数据量大于预设阈值,则将该条数据输入到深度清理器中,进而由深度清理器进行冗余数据的筛选和删除。
4、对于经过深度清理器处理的数据,将直接存储到数据缓存区。
在上述处理过程中,数据监控区会监控经初级清理器处理后的数据,通过对这些数据进行监控,可为深度清理器的清理提供决策依据。
本公开实施例提供了一种冗余数据的处理方法,以服务器执行本公开实施例为例,该服务器配置有图1所示的系统模块。参见图3,本公开实施例提供的方法流程包括:
301、获取多条待处理数据。
其中,每条待处理数据的数据量大于预设阈值。
302、对多条待处理数据进行解析,得到多个字段名称。
其中,每个字段名称对应一个字段值和至少一个索引值,索引值用于指示字段名称对应的字段在待处理数据中的位置。
303、根据多个字段名称对应的字段值和索引值,删除多条待处理数据中的冗余字段,得到多条处理后的数据。
本公开实施例提供的方法,无需技术人员编写大量代码,根据对多条待处理数据解析得到的字段名称对应的索引值和字段值,即可删除多条待处理数据中的冗余字段,不仅节约了人力成本,而且无需针对不同的业务修改所编写的代码,因而冗余数据的处理方式更灵活。
在一种可能的实现方式中,根据多个字段名称对应的字段值和索引值,删除多条待处理数据中的冗余字段,得到多条处理后的数据,包括:
根据多个字段名称对应的字段值和索引值,删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据;
从多条第一数据中,获取数据量大于预设阈值的多条第二数据;
根据多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余数据,得到多条处理后的数据。
在一种可能的实现方式中,根据多个字段名称对应的字段值和索引值,删除多条待处理数据中的字段名称相同的冗余字段,得到多条第一数据,包括:
将每个字段名称及其对应的字段值拼接成第一字符串,得到多个第一字符串;
采用指定算法对多个第一字符串进行加密计算,得到多个第一指纹;
根据多个字段名称对应的索引值和多个第一指纹,确定多条待处理数据中字段名称相同的冗余字段;
删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据。
在一种可能的实现方式中,根据多个字段名称对应的索引值和多个第一指纹,确定多条待处理数据中字段名称相同的冗余字段,包括:
从每个字段名称对应的索引值中,获取一个目标索引值;
将每个目标索引值对应的目标指纹与同字段名称的其余索引值对应的第一指纹进行比较;
获取指纹与每个目标指纹相同的指定索引值;
将指定索引值指示的字段,确定为字段名称相同的冗余字段。
在一种可能的实现方式中,将指定索引值指示的字段,确定为字段名称相同的冗余字段之后,还包括:
将指定索引值对应的标记更改为删除标记;
删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据,包括:
删除删除标记对应的索引值指示的字段,得到多条第一数据。
在一种可能的实现方式中,根据多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余字段,得到多条处理后的数据,包括:
将多条第二数据中每个字段名称及其对应的索引值拼接成第二字符串,得到多个第二字符串;
采用指定算法对多个第二字符串进行加密计算,得到多个第二指纹;
计算任意两个第二指纹之间的海明距离;
根据海明距离小于距离阈值的第二指纹,生成无向关联子图,无向关联子图包括多对节点和邻接矩阵,每对节点表示海明距离小于距离阈值的两个第二指纹对应的索引值;
根据多对节点和邻接矩阵,确定多条第二数据中字段名称相似的冗余字段;
删除多条第二数据中字段名称相似的冗余字段,得到多条处理后的数据。
在一种可能的实现方式中,根据多对节点和邻接矩阵,确定多条第二数据中字段名称相似的冗余字段,包括:
对于任一对节点,获取包括的两个节点之间的一阶相似度;
当一阶相似度小于一阶相似度阈值,根据邻接矩阵,获取两个节点之间的二阶相似度;
当二阶相似度小于二阶相似度阈值,将两个节点中任一节点对应的索引值指示的字段,确定为字段名称相似的冗余字段。
在一种可能的实现方式中,获取包括的两个节点之间的一阶相似度,包括:
获取两个节点连接成的边的边权重值;
对边权重值进行范数计算,得到两个节点之间的一阶相似度。
在一种可能的实现方式中,根据邻接矩阵,获取两个节点之间的二阶相似度,包括:
对邻接矩阵进行行编码,得到两个节点对应的行向量;
根据两个节点对应的行向量,获取两个节点之间的二阶相似度。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本公开实施例提供了一种冗余数据的处理方法,以服务器执行本公开实施例为例,该服务器配置有图1所示的系统模块。参见图4,本公开实施例提供的方法流程包括:
401、服务器获取多条待处理数据。
对于输入的多条数据,在采用系统模块进行冗余数据筛选和删除之前,服务器可将多条数据的数据量与预设阈值进行比较,进而将数据量大于预设阈值的多条数据,确定为多条待处理数据。其中,每条待处理数据的数据量大于预设阈值,该预设阈值可以为用户配置的单条数据大小的基准线,该预设阈值可以为10K、100K等等。
402、服务器对多条待处理数据进行解析,得到多个字段名称。
对于获取的多条待处理数据,服务器可对多条待处理数据进行字段名称和字段值的解析,得到多个字段名称。
为了减小服务器的处理压力,服务器在对多条待处理数据进行解析之前,可预先设置一个数据窗口,该数据窗口用于限定每次进行冗余数据处理的待处理数据的条数,也即是在对待处理数据进行冗余数据处理时以数据窗口为单位进行处理。数据窗口内包括的数据条数可根据服务器的计算能力及冗余数据的处理精度进行设定。基于所设置的数据窗口,服务器通过对数据窗口内的多条待处理数据进行字段名称和字段值的解析,得到多个字段名称。
其中,每个字段名称对应一个字段值,通常不同待处理数据中字段名称相同的字段的字段值相同。每个字段名称对应至少一个索引值,该索引值用于指示字段名称对应的字段在待处理数据中的位置,通常不同待处理数据中字段名称相同的字段的索引值不同。
为了便于对字段名称、索引值及字段值进行管理,本公开实施例可构建第一数据集合和第二数据集合。其中,第一数据集合包括不同索引值对应的字段名称,该第一数据集合可以采用D_K表示,该D_K={d_n},其中,d表示字段对应的索引值,d=0,1,2,…D,n表示字段对应的字段名称。第二数据集合包括不同字段名称的字段值,该第二数据集合可以采用VDN表示,VDN={v_d_n},v_d_n为字段名称d_n对应的字段值。
另外,本公开实施例还将构建第三数据集合,该第三数据集合包括不同字段的索引值对应的标记,该标记用于指示对索引值对应的字段的处理方式,该标记包括删除标记和保留标记,其中,删除标记的值可以设置为1,保留标记的值可以设置为0,如果任一字段对应的标记的值为1,则需对该字段进行删除处理;如果任一字段对应的标记的值为0,则需对该字段进行保留处理。第三数据集合可以采用MASK_D表示,MASK_D={(d,0)|d属于D_N中不同字段名称对应的索引值}。
403、服务器根据多个字段名称对应的字段值和索引值,删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据。
服务器根据多个字段名称对应的字段值和索引值,删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据时,可采用如下方式:
4031、服务器将每个字段名称及其对应的字段值拼接成第一字符串,得到多个第一字符串。
其中,第一字符串可以包括数字、字母、符号等。服务器在对每个字段名称及对应的字段值进行拼接时,可在每个字段名称后面添加字段值,也可以在每个字段名称前面添加字段值,当然,还可以采用其他方法进行拼接。
为了便于对多个第一字符串进行管理,本公开实施例还将构建第四数据集合,该第四数据集合包括多个第一字符串,该第四数据集合可以采用C_K表示。
4032、服务器采用指定算法对多个第一字符串进行加密计算,得到多个第一指纹。
其中,指定算法包括md5、sha、simhash等等。
为了便于对多个第一指纹进行管理,本公开实施例还将构建第五数据集合,该第五数据集合包括多个第一指纹,该第五数据集合可以采用F_K表示。
4033、服务器根据多个字段名称对应的索引值和多个第一指纹,确定多条待处理数据中字段名称相同的冗余字段。
第一步,服务器从每个字段名称对应的索引值中,获取一个目标索引值。
其中,目标索引值为待保留字段对应的索引值。服务器可根据字段名称,将字段名称相同的不同索引值构成一个集合,得到多个子集合。在从多个字段名称对应的索引值中获取目标索引值时,可从每个子集合中随机选取一个索引值,并将选取的索引值作为目标索引值。目标索引值的数量与字段名称的数量相同,每个字段名称均对应一个目标索引值。
进一步地,对于索引值数量为1的子集合,服务器将不再进行字段名称相同的冗余数据的筛选。对于索引值数量大于1的子集合,服务器将组成一个列表,在后续进行冗余数据处理时,可基于该列表对每个子集合中各个索引值对应的字段进行处理。
第二步,服务器可将每个目标索引值对应的目标指纹与同字段名称的其余索引值对应的第一指纹进行比较。
对于任一子集合,服务器从第五数据集合中获取该子集合中的目标索引值对应的目标指纹,并将目标指纹与该子集合中其他索引值对应的第一指纹进行比较。
第三步,服务器获取指纹与每个目标指纹相同的指定索引值,并将指定索引值指示的字段,确定为字段名称相同的冗余字段。
当任一第一指纹与目标指纹相同时,服务器将该第一指纹对应的索引值确定为指定索引值,并将指定索引值指示的字段,确定为字段名称相同的冗余字段。当将该目标指纹与该子集合中每个索引值对应的第一指纹比较完成后,服务器获取列表中获取下一子集合,并按照对上一子集合的处理方式,对该子集合进行处理,直至遍历完列表中各个子集合。
进一步地,在将指定索引值指示的字段,确定为字段名称相同的冗余字段之后,服务器还将指定索引值对应的标记更改为删除标记,从而在后续步骤中根据该删除标记删除字段。
4034、服务器删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据。
基于所设置的删除标记,服务器在删除多条待处理数据中字段名称相同的冗余字段时,通过删除该删除标记对应的索引值指示的字段,可得到多条第一数据。
图5为本公开实施例提供的对字段名称相同的冗余字段的删除逻辑流程图,参见图5,以待处理数据为日志数据为例,可以包括以下步骤:
第一步,服务器设置数据窗口,该数据窗口包括K条日志。基于所设置的数据窗口对每条日志进行字段名称和字段值的解析,得到D_N={d_n},VDN={v_d_n},MASK_D={(d,0)|d属于D_N对应的索引值}。
第二步,服务器将d_n字段与对应取值v_d_n拼接成字符串,并将拼接得到的多个字符串组成数据集合C_K。采用字符串指纹算法(如md5/sha/simhash),对C_K中的每个字符串进行加密计算,得到多条指纹,并将多条指纹组成数据集合F_K={ft_d_n,d_n属于D_K}。
第三步,服务器解析D_N的命名逻辑,将字段名称相同的索引值放在一个子集合中,并将索引值数量大于1的子集合放置在一个列表M中,M={N_i|N_i表示字段名称相同的索引值集合,且N_i元素>1}。
第四步,若M不为空,服务器从M中选取一个元素N_i,并设定S=N_i,接着依次从S中选取一个d,并将d对应指纹与S中其余d对应的指纹进行比较,如果d对应指纹与S中其余d对应的指纹相同,则在MASK_D中将其余d对应标记设置为1。若M_i为空,则输出MASK_D,并根据MASK_D中为1的索引值,将对应的字段进行删除。
第五步,更新M=M–N_i,并返回第四步。
404、服务器从多条第一数据中,获取数据量大于预设阈值的多条第二数据。
服务器将每条第一数据的数据量与预设阈值进行比较,根据比较结果,从多条第一数据中,获取多条第二数据,每条第二数据的数据量均大于预设阈值。
405、服务器根据多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余字段,得到多条处理后的数据。
服务器根据多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余字段,得到多条处理后的数据时,可采用如下方法:
4051、服务器将多条第二数据中每个字段名称及其对应的索引值拼接成第二字符串,得到多个第二字符串。
4052、服务器采用指定算法对多个第二字符串进行加密计算,得到多个第二指纹。
需要说明的是,服务器还可根据的第二数据,从上述第四数据集合中获取多个第二字符串,并从上述第五数据集合中获取多个第二指纹,而无需执行上述步骤4051和步骤4052。
4053、服务器计算任意两个第二指纹之间的海明距离。
其中,海明距离为二进制表示的序列相同位置上不同数据的个数。例如,两个第二指纹的二进制表示形式分别为10001和11011,则这两个第二指纹之间的海明距离为2。
4054、服务器根据海明距离小于距离阈值的第二指纹,生成无向关联子图。
服务器通过计算多个第二指纹中任意两个第二指纹之间的海明距离,获取海明距离小于距离阈值的第二指纹,并通过将海明距离小于距离阈值的两个第二指纹形成关联边,生成无向关联子图。其中,距离阈值可根据服务器的处理能力确定。无向关联子图包括多对节点和邻接矩阵,每对节点表示海明距离小于距离阈值的两个第二指纹对应的索引值,邻接矩阵用于表征节点之间的邻接关系。
4055、服务器根据多对节点和邻接矩阵,确定多条第二数据中字段名称相似的冗余字段。
服务器根据多对节点和邻接矩阵,确定多条第二数据中字段名称相似的冗余字段时,可采用如下方式:
40551、对于任一对节点,服务器获取包括的两个节点之间的一阶相似度。
第一步,服务器获取两个节点连接成的边的边权重值。
其中,边权重值可以表示两个节点之间的相似度。
在一种可能的实现方式中,服务器可将两个节点对应的第二字符串之间的海明距离,作为两个节点连接成的边的边权重值。
在另一种可能的实现方式中,服务器还可获取两个节点对应的第二字符串各个位置上的差值向量,并将该差值向量作为两个节点连接成的边的边权重值。
第二步,服务器对边权重值进行范数计算,得到两个节点之间的一阶相似度。
40552、当一阶相似度小于一阶相似度阈值,服务器根据邻接矩阵,获取两个节点之间的二阶相似度。
其中,一阶相似度阈值根据服务器的处理能力及处理精度进行设置。
当一阶相似度小于一阶相似度阈值,服务器对邻接矩阵进行行编码,得到两个节点对应的行向量,进而根据两个节点对应的行向量,获取两个节点之间的二阶相似度。服务器在根据两个节点对应的行向量,获取两个节点之间的二阶相似度时,可根据两个节点对应的行向量,计算两个节点之间的余弦距离,并将两个节点之间的余弦距离作为二阶相似度。
40553、当二阶相似度小于二阶相似度阈值,服务器将两个节点中任一节点对应的索引值指示的字段,确定为字段名称相似的冗余字段。
其中,二阶相似度阈值根据服务器的处理能力及处理精度进行设置。
当确定出字段名称相似的冗余字段后,服务器可将该冗余字段的标记设置为删除标记,即将标记值设置为1。
4056、服务器删除多条第二数据中字段名称相似的冗余字段,得到多条处理后的数据。
服务器将多条第二数据中标记值为1的冗余字段删除,得到多条处理后的数据。
图6为本公开实施例提供的对字段名称相似的冗余字段的删除逻辑流程图,参见图6,以待处理数据为日志数据为例,可以包括以下步骤:
第一步,服务器从初级清理中获取基于字段名称和字段值完成相同去重后的结果,获取结果对应的D_N、MASK_D和F_K以及对应C_K,并将D_N、MASK_D和F_K以及对应C_K传到数据监控器。
第二步,服务器设置海明相似距离阈值h,并计算字符串指纹集合F_K中两两指纹之间的海明距离。
第三步,若任一两个指纹之间的海明距离<=h,则将这两个指纹对应的索引值形成关联边,从而生成无向关联子图G(V,E)和对应的邻接矩阵A。其中V表示索引值对应的顶点编号,E表示节点连线形成的边,权重w为对应两节点相似度。
第四步,服务器设置一阶形似度阈值m1和二阶相似阈值m2。若两节点e(u,v)的||w||<=m1,则将该边节点纳入操作删除候选集SE。
第五步,服务器依次从SE中选取e(u,v),并对u和v的邻接矩阵A进行行编码,并算uv对应的二阶相似距离m2_uv,若m2_uv<=m2,则将u对应MASK_D标记为1。
第六步,返回MASK_D并按对应标记进行字段删除。
406、服务器缓存处理后的数据并输出。
本公开实施例提供的方法,无需技术人员编写大量代码,根据对多条待处理数据解析得到的字段名称对应的索引值和字段值,即可删除多条待处理数据中的冗余字段,不仅节约了人力成本,而且无需针对不同的业务修改所编写的代码,因而冗余数据的处理方式更灵活。
另外,由于删除了冗余字段,因而减少了存储空间,缓解了IO时的系统压力。
参见图7,本公开实施例提供了一种冗余数据的处理装置,该装置包括:
获取模块701,用于获取多条待处理数据,每条待处理数据的数据量大于预设阈值;
解析模块702,用于对多条待处理数据进行解析,得到多个字段名称,每个字段名称对应一个字段值和至少一个索引值,索引值用于指示字段名称对应的字段在待处理数据中的位置;
删除模块703,用于根据多个字段名称对应的字段值和索引值,删除多条待处理数据中的冗余字段,得到多条处理后的数据。
在一种可能的实现方式中,删除模块703,用于根据多个字段名称对应的字段值和索引值,删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据;从多条第一数据中,获取数据量大于预设阈值的多条第二数据;根据多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余数据,得到多条处理后的数据。
在一种可能的实现方式中,删除模块703,用于将每个字段名称及其对应的字段值拼接成第一字符串,得到多个第一字符串;采用指定算法对多个第一字符串进行加密计算,得到多个第一指纹;根据多个字段名称对应的索引值和多个第一指纹,确定多条待处理数据中字段名称相同的冗余字段;删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据。
在一种可能的实现方式中,删除模块703,用于从每个字段名称对应的索引值中,获取一个目标索引值;将每个目标索引值对应的目标指纹与同字段名称的其余索引值对应的第一指纹进行比较;获取指纹与每个目标指纹相同的指定索引值;将指定索引值指示的字段,确定为字段名称相同的冗余字段。
在一种可能的实现方式中,装置还包括:
更改模块,用于将指定索引值对应的标记更改为删除标记;
删除模块,用于删除删除标记对应的索引值指示的字段,得到多条第一数据。
在一种可能的实现方式中,删除模块703,用于将多条第二数据中每个字段名称及其对应的索引值拼接成第二字符串,得到多个第二字符串;采用指定算法对多个第二字符串进行加密计算,得到多个第二指纹;计算任意两个第二指纹之间的海明距离;根据海明距离小于距离阈值的第二指纹,生成无向关联子图,无向关联子图包括多对节点和邻接矩阵,每对节点表示海明距离小于距离阈值的两个第二指纹对应的索引值;根据多对节点和邻接矩阵,确定多条第二数据中字段名称相似的冗余字段;删除多条第二数据中字段名称相似的冗余字段,得到多条处理后的数据。
在一种可能的实现方式中,删除模块703,用于对于任一对节点,获取包括的两个节点之间的一阶相似度;当一阶相似度小于一阶相似度阈值,根据邻接矩阵,获取两个节点之间的二阶相似度;当二阶相似度小于二阶相似度阈值,将两个节点中任一节点对应的索引值指示的字段,确定为字段名称相似的冗余字段。
在一种可能的实现方式中,删除模块703,用于获取两个节点连接成的边的边权重值;对边权重值进行范数计算,得到两个节点之间的一阶相似度。
在一种可能的实现方式中,删除模块703,用于对邻接矩阵进行行编码,得到两个节点对应的行向量;根据两个节点对应的行向量,获取两个节点之间的二阶相似度。
综上,本公开实施例提供的装置,无需技术人员编写大量代码,根据对多条待处理数据解析得到的字段名称对应的索引值和字段值,即可删除多条待处理数据中的冗余字段,不仅节约了人力成本,而且无需针对不同的业务修改所编写的代码,因而冗余数据的处理方式更灵活。
另外,由于删除了冗余字段,因而减少了存储空间,缓解了IO时的系统压力。
图8是根据一示例性实施例示出的一种用于冗余数据的处理的服务器。参照图8,服务器800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述冗余数据的处理方法中服务器所执行的功能。
服务器800还可以包括一个电源组件826被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(I/O)接口858。服务器800可以操作基于存储在存储器832的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本公开实施例提供的服务器,无需技术人员编写大量代码,根据对多条待处理数据解析得到的字段名称对应的索引值和字段值,即可删除多条待处理数据中的冗余字段,不仅节约了人力成本,而且无需针对不同的业务修改所编写的代码,因而冗余数据的处理方式更灵活。
另外,由于删除了冗余字段,因而减少了存储空间,缓解了IO时的系统压力。
本公开实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现图3或图4所示的冗余数据的处理方法。该计算机可读存储介质可以是非暂态的。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开实施例提供的计算机可读存储介质,无需技术人员编写大量代码,根据对多条待处理数据解析得到的字段名称对应的索引值和字段值,即可删除多条待处理数据中的冗余字段,不仅节约了人力成本,而且无需针对不同的业务修改所编写的代码,因而冗余数据的处理方式更灵活。
另外,由于删除了冗余字段,因而减少了存储空间,缓解了IO时的系统压力。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (8)

1.一种冗余数据的处理方法,其特征在于,所述方法包括:
获取多条待处理数据,每条待处理数据的数据量大于预设阈值;
对所述多条待处理数据进行解析,得到多个字段名称,每个字段名称对应一个字段值和至少一个索引值,所述索引值用于指示字段名称对应的字段在待处理数据中的位置;
根据多个字段名称对应的字段值和索引值,删除所述多条待处理数据中的冗余字段,得到多条处理后的数据;
所述根据多个字段名称对应的字段值和索引值,删除所述多条待处理数据中的冗余字段,得到多条处理后的数据,包括:
根据多个字段名称对应的字段值和索引值,删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据;
从所述多条第一数据中,获取数据量大于所述预设阈值的多条第二数据;
根据所述多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余数据,得到多条处理后的数据;
所述根据多个字段名称对应的字段值和索引值,删除多条待处理数据中字段名称相同的冗余字段,得到多条第一数据,包括:
将每个字段名称及其对应的字段值拼接成第一字符串,得到多个第一字符串;
采用指定算法对所述多个第一字符串进行加密计算,得到多个第一指纹;
根据所述多个字段名称对应的索引值和所述多个第一指纹,确定所述多条待处理数据中字段名称相同的冗余字段;
删除所述多条待处理数据中字段名称相同的冗余字段,得到所述多条第一数据;
所述根据所述多条第二数据中字段名称对应的字段值和索引值,删除多条第二数据中字段名称相似的冗余数据,得到多条处理后的数据,还包括:
将所述多条第二数据中每个字段名称及其对应的索引值拼接成第二字符串,得到多个第二字符串;
采用指定算法对所述多个第二字符串进行加密计算,得到多个第二指纹;
计算任意两个第二指纹之间的海明距离;
根据海明距离小于距离阈值的第二指纹,生成无向关联子图,所述无向关联子图包括多对节点和邻接矩阵,每对节点表示海明距离小于距离阈值的两个第二指纹对应的索引值;
根据所述多对节点和所述邻接矩阵,确定所述多条第二数据中字段名称相似的冗余字段;
删除所述多条第二数据中字段名称相似的冗余字段,得到所述多条处理后的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个字段名称对应的索引值和所述多个第一指纹,确定所述多条待处理数据中字段名称相同的冗余字段,包括:
从每个字段名称对应的索引值中,获取一个目标索引值;
将每个目标索引值对应的目标指纹与同字段名称的其余索引值对应的第一指纹进行比较;
获取指纹与每个目标指纹相同的指定索引值;
将所述指定索引值指示的字段,确定为字段名称相同的冗余字段。
3.根据权利要求2所述的方法,其特征在于,所述将所述指定索引值指示的字段,确定为字段名称相同的冗余字段之后,还包括:
将所述指定索引值对应的标记更改为删除标记;
所述删除所述多条待处理数据中字段名称相同的冗余字段,得到所述多条第一数据,包括:
删除所述删除标记对应的索引值指示的字段,得到所述多条第一数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多对节点和所述邻接矩阵,确定所述多条第二数据中字段名称相似的冗余字段,包括:
对于任一对节点,获取包括的两个节点之间的一阶相似度;
当所述一阶相似度小于一阶相似度阈值,根据所述邻接矩阵,获取所述两个节点之间的二阶相似度;
当所述二阶相似度小于二阶相似度阈值,将所述两个节点中任一节点对应的索引值指示的字段,确定为字段名称相似的冗余字段。
5.根据权利要求4所述的方法,其特征在于,所述获取包括的两个节点之间的一阶相似度,包括:
获取所述两个节点连接成的边的边权重值;
对所述边权重值进行范数计算,得到所述两个节点之间的一阶相似度。
6.根据权利要求4所述的方法,其特征在于,所述根据所述邻接矩阵,获取所述两个节点之间的二阶相似度,包括:
对所述邻接矩阵进行行编码,得到所述两个节点对应的行向量;
根据所述两个节点对应的行向量,获取所述两个节点之间的二阶相似度。
7.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1至6中任一项所述的冗余数据的处理方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1至6中任一项所述的冗余数据的处理方法。
CN202010554791.8A 2020-06-17 2020-06-17 冗余数据的处理方法、装置、服务器及存储介质 Active CN111736774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010554791.8A CN111736774B (zh) 2020-06-17 2020-06-17 冗余数据的处理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010554791.8A CN111736774B (zh) 2020-06-17 2020-06-17 冗余数据的处理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN111736774A CN111736774A (zh) 2020-10-02
CN111736774B true CN111736774B (zh) 2024-02-23

Family

ID=72649559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010554791.8A Active CN111736774B (zh) 2020-06-17 2020-06-17 冗余数据的处理方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN111736774B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114066661A (zh) * 2021-11-20 2022-02-18 北京优全智汇信息技术有限公司 保险流程规范制定系统和制定方法
CN114637730B (zh) * 2022-03-23 2023-01-10 清华大学 一种模型文件的压缩的方法、装置、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133335A (zh) * 2017-05-15 2017-09-05 北京航空航天大学 一种基于分词与索引技术的重复记录检测方法
CN107329692A (zh) * 2017-06-07 2017-11-07 杭州宏杉科技股份有限公司 一种数据重删的方法及存储设备
CN110427364A (zh) * 2019-06-21 2019-11-08 北京奇艺世纪科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN110597900A (zh) * 2019-09-19 2019-12-20 浪潮软件股份有限公司 一种gdb数据实时按需生成矢量切片的方法
CN110852041A (zh) * 2019-10-12 2020-02-28 重庆金融资产交易所有限责任公司 一种字段处理方法及相关设备
CN110895582A (zh) * 2018-09-12 2020-03-20 珠海格力电器股份有限公司 一种数据处理的方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262012B2 (en) * 2015-08-26 2019-04-16 Oracle International Corporation Techniques related to binary encoding of hierarchical data objects to support efficient path navigation of the hierarchical data objects

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133335A (zh) * 2017-05-15 2017-09-05 北京航空航天大学 一种基于分词与索引技术的重复记录检测方法
CN107329692A (zh) * 2017-06-07 2017-11-07 杭州宏杉科技股份有限公司 一种数据重删的方法及存储设备
CN110895582A (zh) * 2018-09-12 2020-03-20 珠海格力电器股份有限公司 一种数据处理的方法和设备
CN110427364A (zh) * 2019-06-21 2019-11-08 北京奇艺世纪科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN110597900A (zh) * 2019-09-19 2019-12-20 浪潮软件股份有限公司 一种gdb数据实时按需生成矢量切片的方法
CN110852041A (zh) * 2019-10-12 2020-02-28 重庆金融资产交易所有限责任公司 一种字段处理方法及相关设备

Also Published As

Publication number Publication date
CN111736774A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
US20200167366A1 (en) Data processing method and device
Angel et al. Dense subgraph maintenance under streaming edge weight updates for real-time story identification
US9634902B1 (en) Bloom filter index for device discovery
US20190287022A1 (en) Data processing system and method
CN111736774B (zh) 冗余数据的处理方法、装置、服务器及存储介质
US20180089245A1 (en) Bloom filter index for device discovery
US11196633B2 (en) Generalized correlation of network resources and associated data records in dynamic network environments
CN113259972A (zh) 基于无线通信网络数据仓库构建方法、系统、设备及介质
KR20230031889A (ko) 네트워크 토폴로지에서의 이상 탐지
JP2020522782A (ja) データ・オブジェクトの削除可能性を見積もる方法
CN115905309A (zh) 相似实体搜索方法、装置、计算机设备及可读存储介质
CN109492844B (zh) 业务策略的生成方法和装置
CN114168581A (zh) 数据清洗方法、装置、计算机设备及存储介质
CN112750047A (zh) 行为关系信息提取方法及装置、存储介质、电子设备
US8836466B2 (en) Monitoring system, device, monitoring method, and monitoring program
CN117591705B (zh) 基于图搜索的分表关联方法及设备
CN117472918B (zh) 数据处理方法、系统、电子设备及存储介质
US20230125509A1 (en) Bayesian adaptable data gathering for edge node performance prediction
CN113098867B (zh) 基于人工智能的网络安全大数据处理方法及大数据云系统
CN115242614B (zh) 网络信息分析方法、装置、设备及介质
CN116909816B (zh) 数据库恢复方法和装置、存储介质及电子设备
CN117725555B (zh) 多源知识树的关联融合方法、装置、电子设备及存储介质
CN110968267B (zh) 数据管理方法、装置、服务器及系统
CN109101187B (zh) 一种进行数据重构的方法和装置
CN116128525A (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