CN110457305A - 数据去重方法、装置、设备及介质 - Google Patents

数据去重方法、装置、设备及介质 Download PDF

Info

Publication number
CN110457305A
CN110457305A CN201910745028.0A CN201910745028A CN110457305A CN 110457305 A CN110457305 A CN 110457305A CN 201910745028 A CN201910745028 A CN 201910745028A CN 110457305 A CN110457305 A CN 110457305A
Authority
CN
China
Prior art keywords
sample
database
request
target
sample database
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
CN201910745028.0A
Other languages
English (en)
Other versions
CN110457305B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910745028.0A priority Critical patent/CN110457305B/zh
Publication of CN110457305A publication Critical patent/CN110457305A/zh
Application granted granted Critical
Publication of CN110457305B publication Critical patent/CN110457305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据去重方法、装置、设备及介质,该方法包括获取服务器发送的样本库以得到本地样本库;获取目标请求并将其添加至预设数据库中的请求队列;获取预设数据库发送的目标子队列;目标子队列中的请求为当前请求队列中的位于目标请求之前的所有请求;判断与目标请求对应的目标样本是否与目标子队列所对应的样本相似,若相似则禁止写入本地样本库,若均不相似则判断目标样本是否与本地样本库中的样本相似;若与本地样本库中的样本相似则禁止写入本地样本库,若均不相似则写入本地样本库。通过上述方案,可以允许并行地获取写入请求并进行相应的去重处理,从而实现在避免样本库出现相似样本数据的情况下有效地提升样本入库效率的效果。

Description

数据去重方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,特别涉及一种数据去重方法、装置、设备及介质。
背景技术
现有的推荐***中,通常会保存有由内容中心提供的样本库。推荐***基于上述样本库中保存的样本数据,向用户进行内容推荐。
为了避免推荐***向用户推荐重复的内容,需要保证上述样本库中不存在相似的样本数据。现有技术中,为了实现该效果,常用的方案是在获取到一定数量的待入库样本之后,便在上述待入库样本与当前样本库中的样本之间进行去重处理,并且在这个去重过程中,不允许接收新的待入库样本,直到上述去重过程结束为止才允许接收新的待入库样本。这是因为,一旦在上述去重过程中接收到新的待入库样本,那么由于此时前一批待入库样本正在与样本库进行比对,所以会导致错过了新接收到的待入库样本与前一批待入库样本之间的去重处理,这样一来,如果新接收到的待入库样本与前一批待入库样本之间存在相似的样本数据,很有可能会因此导致后续样本库出现相似的样本数据,从而引起内容重复推荐的情形。然而,现有技术中,需要在待入库样本与样本库之间的去重过程结束之后才能允许接收新的待入库样本,这在很大程度上制约了样本入库效率的提高。
发明内容
有鉴于此,本申请的目的在于提供一种数据去重方法、装置、设备及介质,能够在避免样本库出现相似样本数据的情况下,有效地提升样本入库效率。其具体方案如下:
为实现上述目的,一方面,本申请提供了一种数据去重方法,包括:
获取服务器发送的样本库,以得到本地样本库;
获取目标请求,并将所述目标请求添加至预设数据库中的请求队列;
获取所述预设数据库发送的目标子队列;所述目标子队列中的请求为当前所述请求队列中的位于所述目标请求之前的所有请求;
判断所述目标请求对应的目标样本是否与所述目标子队列所对应的样本相似,若相似,则禁止将所述目标样本写入所述本地样本库,若均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;
若所述目标样本与所述本地样本库中的样本相似,则禁止将所述目标样本写入所述本地样本库,若所述目标样本与所述本地样本库中的样本均不相似,则将所述目标样本写入所述本地样本库。
又一方面,本申请还提供了一种数据去重装置,包括:
样本库获取模块,用于获取服务器发送的样本库,以得到本地样本库;
请求获取模块,用于获取目标请求;
请求入队模块,用于将所述目标请求添加至预设数据库中的请求队列;
队列获取模块,用于获取所述预设数据库发送的目标子队列;所述目标子队列中的请求为当前所述请求队列中的位于所述目标请求之前的所有请求;
队列去重模块,用于判断所述目标请求对应的目标样本是否与所述目标子队列所对应的样本相似;
样本库去重模块,用于当所述目标样本与所述目标子队列所对应的样本相似,则禁止将所述目标样本写入所述本地样本库,当所述目标样本与所述目标子队列所对应的样本均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;
样本入库模块,用于当所述目标样本与所述本地样本库中的样本相似,则禁止将所述目标样本写入所述本地样本库,当所述目标样本与所述本地样本库中的样本均不相似,则将所述目标样本写入所述本地样本库。
又一方面,本申请还提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述公开的数据去重方法。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述公开的数据去重方法。
本申请中,通过预设数据库中的请求队列来顺序记录各个写入请求,并且在将某个写入请求对应的样本与本地样本库中的样本进行相似性比对分析之前,先将该写入请求对应的样本与请求队列中的排在该写入请求之前的其他所有请求所对应的样本进行相似性比对分析。这样可以使得,本申请即便同时对多个写入请求分别展开相应的去重处理,也能够保证在上述多个写入请求对应的样本之间进行了去重处理,从而避免出现由于不同写入请求对应的样本之间没有进行去重处理而引起内容重复推荐的情况。由此一来,本申请在对某个写入请求展开去重处理的时候,可以同时获取其他的写入请求并展开相应的去重处理。也即,本申请可以允许并行地获取写入请求并进行相应的去重处理,从而实现在避免样本库出现相似样本数据的情况下,有效地提升样本入库效率的效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种数据去重方法所适用的***硬件组成框架图;
图2为本申请提供的一种数据去重方法所适用的具体的***硬件组成框架图;
图3为本申请提供的一种数据去重方法流程图;
图4为一种引起重复样本的情形说明示意图;
图5为本申请提供的一种数据去重方法子流程图;
图6为本申请提供的一种数据去重方法子流程图;
图7为本申请提供的一种应用场景中的应用过程示意图;
图8为本申请提供的另一种应用场景中的应用过程示意图;
图9为本申请提供的一种数据去重装置示意图;
图10为本申请提供的一种电子设备结构图。
具体实施方式
目前,为了避免出现推荐***向用户推荐重复内容的情况,需要保证推荐***中的样本库不存在相似的样本数据。为此,现有的解决方案是在获取到一定数量的待入库样本之后,便在上述待入库样本与当前样本库中的样本之间进行去重处理,并且在这个去重过程中,不允许接收新的待入库样本,直到上述去重过程结束为止才允许接收新的待入库样本,然而,这在很大程度上制约了样本入库效率的提高。鉴于此,本申请提供了一种数据去重方案,能够在避免样本库出现相似样本数据的情况下,有效地提升样本入库效率。
为了便于理解,下面先对本申请的技术方案所适用的***架构进行介绍。参见图1,其示出了本申请的一种数据去重方法所适用的***硬件组成框架。
如图1所示,本申请的***硬件组成框架具体可以包括去重计算机11、全量服务器12、请求管理服务器13以及增量服务器14。
本申请中,每台去重计算机11均可以通过远程通信技术分别与全量服务器12、请求管理服务器13和增量服务器14进行远程信息交互。
全量服务器12中设有样本库。全量服务器12通过该样本库,对自身已获取到的全部样本进行存储,并可以将自身的样本库的副本远程传送给任一台去重计算机11,以形成这台去重计算机11的本地样本库。
请求管理服务器13中包含预设数据库,在该预设数据库中设有请求队列。请求管理服务器13远程获取每个去重计算机11发送的写入请求,并将所有去重计算机11发送过来的各个写入请求,顺序地记录至上述请求队列中。上述请求队列中不同的写入请求对应不同的写入队列时间。本申请中的请求管理服务器13通过数据库中的表来维护上述请求队列,由于数据库自身所具备的结构化查询的特点,使得针对上述请求队列的查看和检索过程具有较高的便捷性。另外由于数据库自身规模的可控性较好的原因,使得上述请求队列在数据规模和请求量方面是可控的,从而保证了性能的稳定性。
增量服务器14中设有增量数据库。增量服务器14通过上述增量数据库保存每台去重计算机11在本地样本库的内容发生变化后发送的相应的增量数据。
本申请中,对于任意一台去重计算机11来说,在获取到针对任一样本的写入请求之后,先将该写入请求发送至请求管理服务器13,以便请求管理服务器13将该写入请求添加至自身预设数据库中的请求队列,然后获取请求管理服务器13返回的包含队列位置位于该写入请求之前的所有请求的目标子队列。接着将该写入请求对应的样本与目标子队列对应的样本进行相似性比对分析;如果目标子队列对应的样本中不存在与该写入请求对应的样本相似的样本,再对该写入请求对应的样本与从全量服务器12获取到的本地样本库进行相似性比对分析;如果本地样本库中的样本中仍然不存在与该写入请求对应的样本相似的样本,才允许将该写入请求对应的样本写入本地样本库。
本申请中,可以基于分布式架构,并以去重计算机11为节点,来搭建分布式去重计算机集群。也即,图1中不同的去重计算机11可以作为分布式计算机集群中的节点,分布于不同的地理空间位置上。另外,可以理解的是,本申请中每台去重计算机中的去重服务均是无状态服务,也即是不会受到其他去重计算机中的去重服务的影响,这样能够方便根据实际业务需要对上述分布式去重计算机集群进行水平扩容,而不必担心会受到其他去重服务的处理速度和状态的影响。
另外,需要进一步指出的是,本申请中的上述样本库、预设数据库以及增量数据库,既可以分布于不同的实体服务器上,由此得到上述全量服务器12、请求管理服务器13和增量服务器14。当然,在实体服务器的性能足够好的情况下,也可以将上述样本库、预设数据库以及增量数据库集成到同一台实体服务器上,通过这一台实体服务器来同时维护上述样本库、预设数据库以及增量数据库。
进一步的,在向用户进行内容推荐时,本申请既可以由去重计算机11基于自身的本地样本库来创建推荐内容,然后下发给相应的用户终端,也可以由全量服务器12利用自身的样本库来创建推荐内容。可以理解的是,在向用户终端下发推荐内容之前,具体可以根据用户画像、个人的兴趣爱好等,从样本库中选取出适合特定用户的样本,以形成相应的推荐内容。
参见图2,其示出了本申请所适用的一种基于区块链网络的***硬件组成框架。
图2中的***硬件组成框架具体可以包括位于区块链网络中的区块链节点11-1、区块链节点11-2…区块链节点11-N、全量服务器12、请求管理服务器13以及增量服务器14。
本申请中,区块链网络中的每个区块链节点均可以通过远程通信技术分别与全量服务器12、请求管理服务器13和增量服务器14进行远程信息交互。
全量服务器12中设有样本库。全量服务器12通过该样本库,对自身已获取到的全部样本进行存储,并可以将自身的样本库的副本远程传送给区块链节点,并保存在区块链上,以形成区块链节点的本地样本库。
请求管理服务器13中包含预设数据库,在该预设数据库中设有请求队列。请求管理服务器13远程获取每个区块链节点发送的写入请求,并将所有区块链节点发送过来的各个写入请求,顺序地记录至上述请求队列中。上述请求队列中不同的写入请求对应不同的写入队列时间。本申请中的请求管理服务器13通过数据库中的表来维护上述请求队列,由于数据库自身所具备的结构化查询的特点,使得针对上述请求队列的查看和检索过程具有较高的便捷性。另外由于数据库自身规模的可控性较好的原因,使得上述请求队列在数据规模和请求量方面是可控的,从而保证了性能的稳定性。
增量服务器14中设有增量数据库。增量服务器14通过上述增量数据库保存每个区块链节点在本地样本库的内容发生变化后发送的相应的增量数据。
本申请中,对于任意一个区块链节点来说,在获取到针对任一样本的写入请求之后,先将该写入请求发送至请求管理服务器13,以便请求管理服务器13将该写入请求添加至自身预设数据库中的请求队列,然后获取请求管理服务器13返回的包含队列位置位于该写入请求之前的所有请求的目标子队列。接着将该写入请求对应的样本与目标子队列对应的样本进行相似性比对分析;如果目标子队列对应的样本中不存在与该写入请求对应的样本相似的样本,再对该写入请求对应的样本与从全量服务器12获取到的本地样本库进行相似性比对分析;如果本地样本库中的样本中仍然不存在与该写入请求对应的样本相似的样本,才允许将该写入请求对应的样本写入到区块链中,以实现对区块链节点的本地样本库的更新操作。
图3为本申请实施例提供的一种数据去重方法流程图。参见图3所示,该数据去重方法可以包括以下步骤:
S101、全量服务器向去重计算机发送样本库。
S102、去重计算机获取全量服务器发送的样本库,以得到本地样本库。
可以理解的是,全量服务器的样本库保存有较为全面的各种样本数据。为了便于对样本库进行高效管理,全量服务器在样本库创建或者更新的时候,除了需要记录相应的样本,还可以进一步记录样本库的创建时间戳或者更新时间戳,以便通过时间戳来快速确定样本库的不同历史状态。本实施例中的样本包括但不限于图片、文本、视频、音频、网页等。
在一种具体实施方式中,去重计算机可以在每次启动的时候,自动向全量服务器发送样本库请求命令。全量服务器在接收到上述样本库请求命令之后,便将当前自身保存的最新样本库下发给相应的去重计算机。
在另一种具体实施方式中,全量服务器可以在自身的样本库发生更新并且更新比例大于预设比例阈值时,自动向每一台去重计算机下发当前最新的样本库。其中,所述预设比例阈值可以根据实际应用需要进行具体设定。例如,对于非常注重时效性的内容推荐场景,如时事新闻推荐等,为了保证时效性,可以将所述预设比例阈值设置为较小的数值,例如设为3%;对于不是非常注重时效性的内容推荐场景,如纪录片推荐等,为了减少服务器的运算量和通信消耗,可以将所述预设比例阈值设置为较大的数值,例如设为25%。
进一步的,本实施例中,去重计算机获取全量服务器发送的样本库以得到本地样本库之后,还可以判断当前是否满足预设的一致性维护条件;如果满足,则获取当前全量服务器中的最新样本库,然后在所述本地样本库和所述最新样本库之间进行数据同步,以维护所述本地样本库和所述最新样本库之间的数据一致性。通常情况下,全量服务器中的所述最新样本库的样本数据比所述本地样本库中的样本数据更新、更全面。此时,在所述本地样本库和所述最新样本库之间进行的数据同步具体是指利用全量服务器中的所述最新样本库对所述本地样本库进行相应的更新同步。不过,在少数情况下,也有可能出现所述本地样本库中的样本数据比全量服务器中的所述最新样本库的样本数据更新、更全面。此时,在所述本地样本库和所述最新样本库之间进行的数据同步具体是指利用所述本地样本库对全量服务器中的样本库进行相应的更新同步。
在一种具体实施方式中,去重计算机判断当前是否满足预设的一致性维护条件的过程,可以包括:去重计算机实时监测本地样本库与全量服务器中的最新样本库之间没有进行数据一致性维护的持续时长,并比对所述持续时长与预设时长阈值之间的大小关系,当所述持续时长达到或超过所述预设时长阈值时,则判定当前满足预设的一致性维护条件,否则判定当前不满足预设的一致性维护条件。
在另一种具体实施方式中,去重计算机判断当前是否满足预设的一致性维护条件的过程,可以包括:去重计算机判断当前时刻是否与预设维护周期所对应的维护时刻相一致,如果是,判定当前满足预设的一致性维护条件,否则判定当前不满足预设的一致性维护条件。其中,所述预设维护周期可以根据实际应用需要进行设置,在此不进行具体限定。
S103、去重计算机获取目标请求。
本实施例中,所述目标请求具体为针对目标样本的写入请求。并且,去重计算机可以通过不同的渠道来获取写入请求。
在一种具体实施方式中,去重计算机可以获取数据爬取装置发送的写入请求。具体的,数据爬取装置可以实时地对互联网中特定类型的样本进行数据爬取,然后针对爬取到的一个或多个样本创建相应的写入请求,并传送给去重计算机。可以理解的是,上述数据爬取装置具体可以是位于去重计算机外部的独立装置,当然也可以是位于去重计算机内部的装置。
在另一种具体实施方式中,去重计算机也可以获取由用户通过预设分享客户端触发的写入请求。具体的,所述预设分享客户端中设有样本选取接口和请求创建接口。用户通过上述样本选取接口可以选中自身希望分享的样本,然后通过上述请求创建接口创建针对上述自身希望分享的样本的写入请求,并发送至去重计算机。
S104、去重计算机将所述目标请求发送至请求管理服务器,以将所述目标请求添加至预设数据库中的请求队列。
本实施例中,每台去重计算机在获取到各自的写入请求之后,均需要先将写入请求发送至请求管理服务器。请求管理服务器接收到任一写入请求后,将该写入请求按顺序放入位于请求管理服务器中的请求队列。
具体的,请求管理服务器在接收到任一写入请求之后,可以记录相应的接收时间戳,然后按照接收时间戳的时间先后顺序,依序将还没放入队列的各个写入请求放入所述请求队列的尾部。如果存在具有相同接收时间戳的多个写入请求,此时可以引入新的排列依据来确定这些写入请求的队列顺序。其中,所述新的排列依据包括但不限于去重计算机获取到写入请求时的时间戳、去重计算机的权重、写入请求对应的样本的权重等。可以理解的是,决定去重计算机的权重的因素包括但不限于去重计算机的区域服务地位、当前工作负荷以及自身的计算能力等。决定样本的权重的因素包括但不限于样本类型的重要程度、对时效性的要求等。
S105、请求管理服务器中的所述预设数据库向去重计算机发送目标子队列。所述目标子队列中的请求为当前所述请求队列中的位于所述目标请求之前的所有请求。
S106、去重计算机获取所述目标子队列。
S107、去重计算机判断所述目标请求对应的目标样本是否与所述目标子队列所对应的样本相似,若相似,则禁止将所述目标样本写入所述本地样本库,若均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;若所述目标样本与所述本地样本库中的样本相似,则禁止将所述目标样本写入所述本地样本库,若所述目标样本与所述本地样本库中的样本均不相似,则将所述目标样本写入所述本地样本库。
本实施例中,去重计算机向请求管理服务器发送目标请求之后,需要请求管理服务器返回相应的目标子队列,并且该目标子队列中所记录的请求具体是位于当前所述请求队列中的并且比所述目标请求更早进入队列的请求。
需要指出的是,如果所述目标样本中只有一个样本,则去重计算机在获取到上述目标子队列之后,先判断所述目标样本是否与所述目标子队列所对应的样本相似;如果所述目标样本与所述目标子队列所对应的某个样本相似,则直接删除所述目标样本,并结束针对所述目标请求的去重处理,如果均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;如果所述目标样本与所述本地样本库中的某个样本相似,则可以直接删除所述目标样本,并结束针对所述目标请求的去重处理,如果均不相似,则允许将所述目标样本写入所述本地样本库。
如果所述目标样本中存在多个样本,则去重计算机可以先判断所述目标样本的内部是否存在相似样本,如果是,则在目标样本内部进行去重处理,以剔除所述目标样本内部相似的重复样本,从而得到优化后的目标样本。另外,去重计算机在获取到上述目标子队列之后,先判断所述目标样本是否与所述目标子队列所对应的样本相似;如果所述目标样本与所述目标子队列所对应的样本之间存在相似的情况,则需要将这些相似样本从所述目标样本中剔除掉,得到剩余样本,然后判断所述剩余样本是否与所述本地样本库中的样本相似;如果所述目标样本与所述目标子队列所对应的样本均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似。可以理解的是,在判断某个样本与所述本地样本库中的样本是否相似时,如果这个样本与所述本地样本库中的样本相似,则可以直接删除该样本,如果这个样本与所述本地样本库中的样本不相似,则允许将该样本写入本地样本库。
另外,本实施例步骤S105中,目标子队列中的请求之所以不是当前所述请求队列中除目标请求之外的其他全部请求,而是所述请求队列中的比所述目标请求更早进入队列的请求,是为了避免后续在与目标子队列所对应的样本展开去重处理时出现互相去重的问题。也即,如果是与除目标请求之外的其他所有队列请求所对应的样本展开去重处理,可能会引起互相去重的问题。
例如,假设请求管理服务器的请求队列中原先保存的请求依照时间先后顺序依次为:A-B-C-D-E-F,并且此时请求管理服务器中先后进来了G1、H和G2三个写入请求,其中G1和G2请求对应的样本是相似样本,那么请求管理服务器中请求队列会变更为:A-B-C-D-E-F-G1-H-G2。如果去重计算机在对每个写入请求展开去重处理时,所获取到的目标子队列中的请求是除该写入请求之外的其他所有队列请求,则:
对于G1,去重计算机获取的目标子队列具体为:A-B-C-D-E-F-H-G2;
对于G2,去重计算机获取的目标子队列具体为:A-B-C-D-E-F-G1-H;
显然,由于G1和G2请求对应的样本是相似样本,所以最终导致的结果是,在分别针对G1和G2请求展开去重处理时,G1和G2请求各自对应的样本均会被剔除掉,它们中没有一个样本会被写入样本库。
为了避免出现上述问题,本实施例所采取的方案是规定所获取到的目标子队列中的请求是比所述目标请求更早进入队列的请求,由此一来:
对于G1,去重计算机获取的目标子队列具体为:A-B-C-D-E-F;
对于G2,去重计算机获取的目标子队列具体为:A-B-C-D-E-F-G1-H;
这样,在对G2展开去重处理时,虽然G2对应的样本会被剔除掉,但是在对G1展开去重处理时,G1对应的样本则会被保留下来,从而避免出现上述互相去重的情况。
另外,可以理解的是,判断任意两个样本是否相似的过程具体可以包括:确定第一样本和第二样本各自的特征,得到第一样本特征和第二样本特征,然后计算所述第一样本特征和第二样本特征之间的相似度,并判断所述相似度是否大于预设相似度阈值,如果是,则判定所述第一样本和所述第二样本是相似样本。其中,所述预设相似度阈值可以基于实际应用需要进行设置,在此不对其进行具体限定。
本实施例中,在确定任一样本的特征时,可以通过实时识别的方式来确定。当然,为了进一步提高样本去重效率,本实施例的全量服务器在通过样本库保存样本的同时,还可以进一步利用全量服务器自身的计算资源识别出样本库中的所有样本的特征。这样一来,全量服务器在向去重计算机下发样本库的同时,还可以将样本库中所有样本的样本特征一起下发给去重计算机,由此省去了每台去重计算机在识别样本库的样本特征方面所消耗的计算资源和时间成本,从而提升了样本去重效率。
本实施例中,当写入请求对应的样本与本地样本库中的样本相似时,去重计算机可以进一步确定出写入请求对应的样本的优先级和本地样本库中相应样本的优先级。如果判断出写入请求对应的样本的优先级高于本地样本库中相应样本的优先级,则将本地样本库中的相应样本替换为写入请求对应的样本。
本实施例中,为了减少不必要的相似性比对次数,提升样本去重效率,本实施例中的去重计算机将所述目标样本写入所述本地样本库之后,还可以进一步创建针对所述目标请求的移除指令,然后将所述移除指令发送至所述请求管理服务器中的所述预设数据库,以便所述预设数据库根据所述移除指令移除当前所述请求队列中的所述目标请求。
进一步的,考虑到由于设备中途崩溃或者处理完某个写入请求后忘记删除队列中相应的请求等原因,会导致请求管理服务器中的请求队列存在大量的“僵尸”请求。也即,请求队列中可能会存在大量已经无效或者已经处理完毕的写入请求,从而对样本去重处理效率产生不良影响。为此,本申请实施例可以定期地对请求队列进行清理,以剔除掉请求队列中当前已经是无效的或者已经处理完毕的请求。
另外,需要说明的是,本实施例在对写入请求对应的样本展开去重处理时,是先与目标子队列对应的样本展开去重处理,然后再与本地样本库中的样本展开去重处理。之所以按照这种顺序进行去重处理,是因为如果先与本地样本库中的样本展开去重处理,然后再与目标子队列对应的样本展开去重处理,则会引起较短时间内获取到的多个写入请求对应的样本之间没有展开去重处理的情况,从而可能会导致样本库中出现重复样本。为了便于理解,以图4中的内容为例,对上述问题进行阐述说明。
图4中,初始时刻请求队列的实时内容是A-B-C-D-E;
第1时刻下,去重计算机获取到F1请求,将F1请求添加至请求队列,从而得到更新后的请求队列A-B-C-D-E-F1,并将F1请求对应的样本与本地样本库进行比较,以进行相应的去重处理;
第2时刻下,如果F1请求对应的样本与本地样本库中的样本不相似,则将F1请求对应的样本与目标子队列A-B-C-D-E对应的样本进行比较,以进行相应的去重处理;与此同时,去重计算机获取到F2请求,其中F2请求对应的样本与F1请求对应的样本相似,将F2请求添加至请求队列,从而得到更新后的请求队列A-B-C-D-E-F1-F2,并将F2请求对应的样本与本地样本库进行比较,以进行相应的去重处理;
第3时刻下,如果F1请求对应的样本与目标子队列A-B-C-D-E对应的样本不相似,则将F1请求对应的样本加入本地样本库,并从请求队列中剔除掉F1请求,得到更新后的请求队列A-B-C-D-E-F2;与此同时,将F2请求对应的样本与目标子队列A-B-C-D-E对应的样本进行比较;
第4时刻下,如果F2请求对应的样本与目标子队列A-B-C-D-E对应的样本不相似,则将F2请求对应的样本加入本地样本库,并从请求队列中剔除掉F2请求,得到更新后的请求队列A-B-C-D-E。
由此可见,上述过程中,F1请求对应的样本与F2请求对应的样本之间,自始至终均没有经过去重处理,致使本地样本库中出现了相似的两个样本,从而引起内容重复推荐的问题。为此,本申请所采取的解决方案是先与目标子队列对应的样本展开去重处理,然后再与本地样本库中的样本展开去重处理,通过上述方案能够防止出现获取到的多个写入请求对应的样本之间没有展开去重处理的情况,从而避免出现由此引发的本地样本库中出现相似的多个样本的情况。
需要指出的是,去重计算机将所述目标样本写入所述本地样本库之后,还可以进一步创建包含所述目标样本的更新请求,然后将所述更新请求发送至全量服务器,以便利用所述更新请求中的所述目标样本对所述全量服务器中的所述样本库进行更新。
进一步的,去重计算机将所述目标样本写入所述本地样本库之后,还可以用于:记录本次写入操作对应的写入时间戳,并将所述目标样本作为增量样本,然后绑定所述写入时间戳和所述增量样本,得到相应的增量数据。接着,将所述增量数据发送至位于增量服务器中的增量数据库进行保存。也即,本实施例中还可以设置增量服务器,用于保存增量数据。其中,上述增量数据具体可以包括增量样本,为了方便后续对增量样本的查找、管理和使用,本实施例的增量数据中还可以进一步包括与增量样本对应的所述写入时间戳。
本申请实施例中,通过预设数据库中的请求队列来顺序记录各个写入请求,并且在将某个写入请求对应的样本与本地样本库中的样本进行相似性比对分析之前,先将该写入请求对应的样本与请求队列中的排在该写入请求之前的其他所有请求所对应的样本进行相似性比对分析。这样可以使得,本申请实施例即便同时对多个写入请求分别展开相应的去重处理,也能够保证在上述多个写入请求对应的样本之间进行了去重处理,从而避免出现由于不同写入请求对应的样本之间没有进行去重处理而引起内容重复推荐的情况。由此一来,本申请实施例在对某个写入请求展开去重处理的时候,可以同时获取其他的写入请求并展开相应的去重处理。也即,本申请实施例可以允许并行地获取写入请求并进行相应的去重处理,从而实现在避免样本库出现相似样本数据的情况下,有效地提升样本入库效率的效果。
进一步的,在前述实施例的基础上,为了避免出现由于去重计算机的本地样本库的内容不够丰富全面而影响了推荐效果,本实施例中可以利用增量数据库中的数据对本地样本库进行更新。参见图5所示,图5示出了本实施例中的由去重计算机执行完成的一种数据去重方法的子流程,用于对去重计算机的本地样本库进行更新。具体如下:
S201、判断所述目标样本是否与所述本地样本库中的样本相似之前,创建包含获取时间戳的增量数据请求;所述获取时间戳为获取到所述本地样本库时对应的时间戳。
本实施例中,去重计算机可以判断当前是否满足预设样本库更新条件,如果是,则调取出之前获取全量服务器发送的本地样本库时对应的获取时间戳,然后生成包含上述获取时间戳的增量数据请求,以通过所述增量数据请求向增量服务器请求相应的增量数据。
本实施例中,预设样本库更新条件可根据不同的实际应用需要进行设置。
在一种具体实施方式中,去重计算机判断当前是否满足预设样本库更新条件的过程,具体可以包括:去重计算机定期向增量服务器发送包含所述获取时间戳的数据量统计请求,然后获取增量服务器对所述数据量统计请求进行响应后反馈的写入时间戳晚于所述获取时间戳的增量数据的数据量大小,并判断所述数据量大小是否大于预设数据量阈值,如果是,则判定当前满足预设样本库更新条件,如果否,则判定当前还未满足预设样本库更新条件。
在另一种具体实施方式中,去重计算机判断当前是否满足预设样本库更新条件的过程,具体可以包括:去重计算机实时监视增量服务器是否发送了更新提醒,如果是,则判定当前满足预设样本库更新条件,如果否,则判定当前还未满足预设样本库更新条件。其中,增量服务器具体可以根据自身的增量数据的变更情况、每台去重计算机的本地样本库的更新情况等信息自动为每台去重计算机触发相应的更新提醒。
在又一种具体实施方式中,去重计算机判断当前是否满足预设样本库更新条件的过程,具体可以包括:去重计算机按照本地预设的样本库更新周期,判断当前时刻是否是与所述样本库更新周期对应的更新时刻,如果是,则判定当前满足预设样本库更新条件,如果否,则判定当前还未满足预设样本库更新条件。
S202、将所述增量数据请求发送至增量服务器中的增量数据库。
S203、获取所述增量数据库在对所述增量数据请求进行响应后返回的目标增量数据;所述目标增量数据为写入时间戳晚于所述获取时间戳的增量数据。
S204、将所述目标增量数据和所述本地样本库进行合并,得到更新后的所述本地样本库。
也即,本实施例中,去重计算机向增量服务器发送包含上述获取时间戳的增量数据请求之后,增量服务器从增量数据库中调取出写入时间戳晚于所述获取时间戳的增量数据,并发送给去重计算机。
可以理解的是,去重计算机将所述目标增量数据和所述本地样本库进行合并时,需要将所述目标增量数据和所述本地样本库中相似的重复数据进行剔除,然后将剩下的样本合并,从而得到更新后的本地样本库。
当然,为了减少去重计算机的运算量以及数据传输量,本实施例中,当增量服务器获取到某台去重计算机发送的包含获取时间戳的增量数据请求时,也可以先从增量数据库中查找出写入时间戳晚于所述获取时间戳的所有增量数据,然后从写入时间戳晚于所述获取时间戳的所有增量数据中剔除掉由这台去重计算机之前亲自发送过来的增量数据,从而得到优化后的目标增量数据,并将其发送至相应的去重计算机,这样一来,既能够减少增量服务器向去重计算机进行数据传输时的数据传输量,又能够大幅减少去重计算机在目标增量数据与本地样本库的合并过程中由于去重而需要消耗的运算量。
进一步的,在前述实施例的基础上,为了防止增量数据库过于臃肿,以免影响增量服务器的整体响应性能,本实施例中可以定期地对增量数据库中满足条件的增量数据进行清理。参见图6所示,图6示出了本实施例中的由去重计算机执行完成的一种数据去重方法的子流程,用于对增量服务器中的增量数据库进行定期瘦身。具体如下:
S301、按照预设周期,定期获取当前全量服务器中的最新样本库以及当前增量服务器的增量数据库中的增量数据。
可以理解的是,所述预设周期可以根据实际应用需要进行设置,在此不对其进行具体限定。
S302、判断所述最新样本库是否包含当前所述增量数据库中的增量数据。
S303、如果包含,则向所述增量数据库发送相应的删除指令,以删除所述增量数据库中的增量数据。
本实施例中,去重计算机按照所述预设周期,定期向全量服务器索要当前全量服务器中的最新样本库以及向增量服务器索要当前增量数据库中的全部增量数据,并判断最新样本库是否包含当前增量数据库中的增量数据,如果包含,则针对这些已经存在于最新样本库中的增量数据创建相应的删除指令,然后将该删除指令发送至增量服务器,以利用该删除指令删除增量数据库中的相应的增量数据。
当然,本实施例除了可以由去重计算机来触发增量数据的删除指令,也可以由全量服务器来触发增量数据的删除指令或者由增量服务器自身来触发增量数据的删除指令。
可以理解的是,如果是由全量服务器来触发增量数据的删除指令,则需要全量服务器定期向增量服务器索要当前增量数据库中的全部增量数据。全量服务器获取到上述增量数据之后,判断自身的最新样本库中是否包含当前获取到的增量数据,如果是,则针对这些已经存在于最新样本库中的增量数据创建相应的删除指令,然后将该删除指令发送至增量服务器,以删除增量数据库中的相应的增量数据。
另外,如果是由增量服务器自身来触发增量数据的删除指令,则需要增量服务器定期向全量服务器索要当前最新样本库,然后判断获取到的最新样本库中是否包含当前自身保存的增量数据,如果是,则自动针对这些已经存在于最新样本库中的增量数据触发相应的删除指令,以利用该删除指令删除自身相应的增量数据。
下面以图书推荐这一具体的应用场景为例,对本申请的方案进行说明。具体参见图7所示,去重计算机分别与全量服务器、请求管理服务器和用户终端进行通信连接。
图7中,全量服务器的样本库中保存的图书包括:《三国演义》、《巴黎圣母院》、《战争与和平》、《人类简史》和《孙子兵法》。请求管理服务器的请求队列中当前保存的还未处理完的请求包括以下5个写入请求:分别为针对《水浒传》、《诗经》、《红楼梦》、《家春秋》和《论语》的写入请求。去重计算机先向全量服务器发送样本库请求命令,然后接收全量服务器反馈的相应的样本库。
假设接下来去重计算机获取到针对图书《史记》的写入请求,则将针对图书《史记》的写入请求发送至请求管理服务器,以将针对《史记》的写入请求添加至请求队列的尾部中。请求管理服务器接着向去重计算机返回相应的目标子队列,该目标子队列中包含当前请求队列中的位于针对《史记》的写入请求之前的其他5个请求。
去重计算机获取到请求管理服务器返回的目标子队列之后,先判断图书《史记》是否与目标子队列中的图书样本相似,由于均不相似,所以接着判断图书《史记》是否与当前去重计算机的本地样本库中的图书样本相似,由于也不相似,所以便将图书《史记》写入本地样本库,以得到更新后的本地样本库。
假如后续有用户终端向去重计算机发送了用户的兴趣爱好信息,并且该兴趣爱好信息显示该用户是一个中国历史迷,那么去重计算机便可以从当前的本地样本库中筛选出与中国历史相关的图书《史记》,接着向用户终端推送上述图书《史记》,以满足该用户的实际兴趣需求。
下面以NBA比赛报道推荐这一具体的应用场景为例,对本申请的方案进行说明。具体参见图8所示,去重计算机分别与全量服务器和请求管理服务器进行通信连接。
图8中,全量服务器的样本库中保存的NBA比赛报道包括:A网站的快船VS勇士的比赛报道、A网站的火箭VS爵士的比赛报道、B网站的掘金VS马刺的比赛报道、C网站的雄鹿VS活塞的比赛报道。请求管理服务器的请求队列中当前保存的还未处理完的请求包括以下3个写入请求:分别为针对A网站的猛龙VS魔术的比赛报道、C网站的雷霆VS篮网的比赛报道、A网站的勇士VS篮网的比赛报道的写入请求。去重计算机先向全量服务器发送样本库请求命令,然后接收全量服务器反馈的相应的样本库。
假设接下来去重计算机在非常短的时间内依次获取到以下两个写入请求:针对B网站的76人VS火箭的比赛报道的写入请求1以及针对C网站的76人VS火箭的比赛报道的写入请求2,则将写入请求1和写入请求2依次发送至请求管理服务器,以将写入请求1和写入请求2依次添加至请求队列的尾部中。请求管理服务器接着向去重计算机依次返回与写入请求1对应的第1目标子队列以及与写入请求2对应的第2目标子队列。
其中,第1目标子队列中包含当前请求队列中的位于写入请求1之前的3个请求,即:针对A网站的猛龙VS魔术的比赛报道的写入请求、针对C网站的雷霆VS篮网的比赛报道的写入请求以及针对A网站的勇士VS篮网的比赛报道的写入请求。第2目标子队列中包含当前请求队列中的位于写入请求2之前的4个请求,即:针对A网站的猛龙VS魔术的比赛报道的写入请求、针对C网站的雷霆VS篮网的比赛报道的写入请求、针对A网站的勇士VS篮网的比赛报道的写入请求以及写入请求1。
去重计算机获取到请求管理服务器返回的第1目标子队列之后,先判断B网站的76人VS火箭的比赛报道是否与第1目标子队列对应的比赛报道相似,由于均不相似,所以接着判断B网站的76人VS火箭的比赛报道是否与当前去重计算机的本地样本库中的图书样本相似,由于也不相似,所以便将B网站的76人VS火箭的比赛报道写入本地样本库,以得到更新后的本地样本库。
去重计算机获取到请求管理服务器返回的第2目标子队列之后,先判断C网站的76人VS火箭的比赛报道是否与第2目标子队列对应的比赛报道相似,由于第2目标子队列中的第4请求对应的报道是B网站的76人VS火箭的比赛报道,该报道与C网站的76人VS火箭的比赛报道相似,所以直接将C网站的76人VS火箭的比赛报道剔除,不允许将其写入样本库。
参见图9所示,图9为本申请实施例提供的一种数据去重装置结构示意图,该数据去重装置包括:
样本库获取模块21,用于获取服务器发送的样本库,以得到本地样本库;
请求获取模块22,用于获取目标请求;
请求入队模块23,用于将所述目标请求添加至预设数据库中的请求队列;
队列获取模块24,用于获取所述预设数据库发送的目标子队列;所述目标子队列中的请求为当前所述请求队列中的位于所述目标请求之前的所有请求;
队列去重模块25,用于判断所述目标请求对应的目标样本是否与所述目标子队列所对应的样本相似;
样本库去重模块26,用于当所述目标样本与所述目标子队列所对应的样本相似,则禁止将所述目标样本写入所述本地样本库,当所述目标样本与所述目标子队列所对应的样本均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;
样本入库模块27,用于当所述目标样本与所述本地样本库中的样本相似,则禁止将所述目标样本写入所述本地样本库,当所述目标样本与所述本地样本库中的样本均不相似,则将所述目标样本写入所述本地样本库。
本申请实施例中,通过预设数据库中的请求队列来顺序记录各个写入请求,并且在将某个写入请求对应的样本与本地样本库中的样本进行相似性比对分析之前,先将该写入请求对应的样本与请求队列中的排在该写入请求之前的其他所有请求所对应的样本进行相似性比对分析。这样可以使得,本申请实施例即便同时对多个写入请求分别展开相应的去重处理,也能够保证在上述多个写入请求对应的样本之间进行了去重处理,从而避免出现由于不同写入请求对应的样本之间没有进行去重处理而引起内容重复推荐的情况。由此一来,本申请实施例在对某个写入请求展开去重处理的时候,可以同时获取其他的写入请求并展开相应的去重处理。也即,本申请实施例可以允许并行地获取写入请求并进行相应的去重处理,从而实现在避免样本库出现相似样本数据的情况下,有效地提升样本入库效率的效果。
在一些可能实现方式中,所述数据去重装置,还可以包括:
更新请求创建模块,用于在将所述目标样本写入所述本地样本库之后,创建包含所述目标样本的更新请求;
样本库更新模块,用于将所述更新请求发送至所述服务器,以便利用所述更新请求中的所述目标样本对所述服务器中的所述样本库进行更新。
在一些可能实现方式中,所述数据去重装置,还可以包括:
写入时间戳记录模块,用于在将所述目标样本写入所述本地样本库之后,记录本次写入操作对应的写入时间戳;
增量样本确定模块,用于将所述目标样本作为增量样本;
信息绑定模块,用于绑定所述写入时间戳和所述增量样本,得到相应的增量数据;
增量数据发送模块,用于将所述增量数据发送至增量数据库进行保存。
在一些可能实现方式中,所述数据去重装置,还可以包括:
增量数据请求创建模块,用于在判断所述目标样本是否与所述本地样本库中的样本相似之前,创建包含获取时间戳的增量数据请求;所述获取时间戳为获取到所述本地样本库时对应的时间戳;
增量数据请求发送模块,用于将所述增量数据请求发送至所述增量数据库;
增量数据获取模块,用于获取所述增量数据库在对所述增量数据请求进行响应后返回的目标增量数据;所述目标增量数据为写入时间戳晚于所述获取时间戳的增量数据;
数据合并模块,用于将所述目标增量数据和所述本地样本库进行合并,得到更新后的所述本地样本库。
在一些可能实现方式中,所述数据去重装置,还可以包括:
数据定期获取模块,用于按照预设周期,定期获取当前所述服务器中的最新样本库以及当前所述增量数据库中的增量数据;
增量数据判断模块,用于判断所述最新样本库是否包含当前所述增量数据库中的增量数据;
删除指令发送模块,用于当所述最新样本库包含当前所述增量数据库中的增量数据,则向所述增量数据库发送相应的删除指令,以删除所述增量数据库中的增量数据。
在一些可能实现方式中,所述数据去重装置,还可以包括:
条件判断模块用于在获取服务器发送的样本库,以得到本地样本库之后,判断当前是否满足预设的一致性维护条件;
最新样本库获取模块,用于在当前满足预设的一致性维护条件时,获取当前所述服务器中的最新样本库;
数据同步模块,用于在所述本地样本库和所述最新样本库之间进行数据同步,以维护所述本地样本库和所述最新样本库之间的数据一致性。
在一些可能实现方式中,所述数据去重装置,还可以包括:
移除指令创建模块,用于在将所述目标样本写入所述本地样本库之后,创建针对所述目标请求的移除指令;
移除指令发送模块,用于将所述移除指令发送至所述预设数据库,以便所述预设数据库根据所述移除指令移除当前所述请求队列中的所述目标请求。
进一步的,本申请实施例还提供了一种电子设备。其中,上述电子设备具体是如图10所示的去重计算机30。图10是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。
图10为本申请实施例提供的一种去重计算机的结构示意图。该去重计算机30,具体可以包括:至少一个处理器31、至少一个存储器32、电源33、通信接口34、输入输出接口35和通信总线36。其中,所述存储器32用于存储计算机程序,所述计算机程序由所述处理器31加载并执行,以实现前述任一实施例公开的由去重计算机执行的数据去重方法中的相关步骤。
本实施例中,电源33用于为去重计算机30上的各硬件设备提供工作电压;通信接口34能够为去重计算机30创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口35,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器32作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***321、计算机程序322及数据323等,存储方式可以是短暂存储或者永久存储。
其中,操作***321用于管理与控制去重计算机30上的各硬件设备以及计算机程序322,以实现处理器31对存储器32中海量数据323的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序322除了包括能够用于完成前述任一实施例公开的由去重计算机执行的数据去重方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据323除了可以包括去重计算机收集到的各种样本数据、增量数据、用户画像、用户兴趣爱好信息外,还可以包括游戏数据、电商交易数据等业务数据。
需要进一步指出的是,本实施例中的电子设备除了可以是常规的分布式计算机集群中的节点外,还可以是区块链网络中的区块链节点。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的由去重计算机执行的数据去重方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种数据去重方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种数据去重方法,其特征在于,包括:
获取服务器发送的样本库,以得到本地样本库;
获取目标请求,并将所述目标请求添加至预设数据库中的请求队列;
获取所述预设数据库发送的目标子队列;所述目标子队列中的请求为当前所述请求队列中的位于所述目标请求之前的所有请求;
判断所述目标请求对应的目标样本是否与所述目标子队列所对应的样本相似,若相似,则禁止将所述目标样本写入所述本地样本库,若均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;
若所述目标样本与所述本地样本库中的样本相似,则禁止将所述目标样本写入所述本地样本库,若所述目标样本与所述本地样本库中的样本均不相似,则将所述目标样本写入所述本地样本库。
2.根据权利要求1所述的数据去重方法,其特征在于,所述将所述目标样本写入所述本地样本库之后,还包括:
创建包含所述目标样本的更新请求;
将所述更新请求发送至所述服务器,以便利用所述更新请求中的所述目标样本对所述服务器中的所述样本库进行更新。
3.根据权利要求1所述的数据去重方法,其特征在于,所述将所述目标样本写入所述本地样本库之后,还包括:
记录本次写入操作对应的写入时间戳,并将所述目标样本作为增量样本;
绑定所述写入时间戳和所述增量样本,得到相应的增量数据;
将所述增量数据发送至增量数据库进行保存。
4.根据权利要求3所述的数据去重方法,其特征在于,所述判断所述目标请求对应的目标样本是否与所述本地样本库中的样本相似之前,还包括:
创建包含获取时间戳的增量数据请求;所述获取时间戳为获取到所述本地样本库时对应的时间戳;
将所述增量数据请求发送至所述增量数据库;
获取所述增量数据库在对所述增量数据请求进行响应后返回的目标增量数据;所述目标增量数据为写入时间戳晚于所述获取时间戳的增量数据;
将所述目标增量数据和所述本地样本库进行合并,得到更新后的所述本地样本库。
5.根据权利要求3所述的数据去重方法,其特征在于,还包括:
按照预设周期,定期获取当前所述服务器中的最新样本库以及当前所述增量数据库中的增量数据;
判断所述最新样本库是否包含当前所述增量数据库中的增量数据;
如果包含,则向所述增量数据库发送相应的删除指令,以删除所述增量数据库中的增量数据。
6.根据权利要求1所述的数据去重方法,其特征在于,所述获取服务器发送的样本库,以得到本地样本库之后,还包括:
判断当前是否满足预设的一致性维护条件;
如果满足,则获取当前所述服务器中的最新样本库;
在所述本地样本库和所述最新样本库之间进行数据同步,以维护所述本地样本库和所述最新样本库之间的数据一致性。
7.根据权利要求1至6任一项所述的数据去重方法,其特征在于,所述将所述目标样本写入所述本地样本库之后,还包括:
创建针对所述目标请求的移除指令;
将所述移除指令发送至所述预设数据库,以便所述预设数据库根据所述移除指令移除当前所述请求队列中的所述目标请求。
8.一种数据去重装置,其特征在于,包括:
样本库获取模块,用于获取服务器发送的样本库,以得到本地样本库;
请求获取模块,用于获取目标请求;
请求入队模块,用于将所述目标请求添加至预设数据库中的请求队列;
队列获取模块,用于获取所述预设数据库发送的目标子队列;所述目标子队列中的请求为当前所述请求队列中的位于所述目标请求之前的所有请求;
队列去重模块,用于判断所述目标请求对应的目标样本是否与所述目标子队列所对应的样本相似;
样本库去重模块,用于当所述目标样本与所述目标子队列所对应的样本相似,则禁止将所述目标样本写入所述本地样本库,当所述目标样本与所述目标子队列所对应的样本均不相似,则判断所述目标样本是否与所述本地样本库中的样本相似;
样本入库模块,用于当所述目标样本与所述本地样本库中的样本相似,则禁止将所述目标样本写入所述本地样本库,当所述目标样本与所述本地样本库中的样本均不相似,则将所述目标样本写入所述本地样本库。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的数据去重方法。
10.根据权利要求9所述的电子设备,其特征在于,所述电子设备为区块链节点。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的数据去重方法。
CN201910745028.0A 2019-08-13 2019-08-13 数据去重方法、装置、设备及介质 Active CN110457305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910745028.0A CN110457305B (zh) 2019-08-13 2019-08-13 数据去重方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910745028.0A CN110457305B (zh) 2019-08-13 2019-08-13 数据去重方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN110457305A true CN110457305A (zh) 2019-11-15
CN110457305B CN110457305B (zh) 2021-11-26

Family

ID=68486267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910745028.0A Active CN110457305B (zh) 2019-08-13 2019-08-13 数据去重方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110457305B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488366A (zh) * 2020-04-09 2020-08-04 百度在线网络技术(北京)有限公司 关系型数据库更新方法、装置、设备及存储介质
CN112436943A (zh) * 2020-10-29 2021-03-02 南阳理工学院 基于大数据的请求去重方法、装置、设备及存储介质
CN112463774A (zh) * 2020-10-23 2021-03-09 完美世界控股集团有限公司 数据去重方法、设备及存储介质
CN113934365A (zh) * 2020-06-29 2022-01-14 横河电机株式会社 数据管理***、数据管理方法及记录有数据管理程序的记录介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130077759A (ko) * 2011-12-29 2013-07-09 한양대학교 산학협력단 저장장치에서 중복제거 성능 향상을 위한 그룹핑 방법 및 장치
US20140115258A1 (en) * 2012-10-18 2014-04-24 Oracle International Corporation System and method for managing a deduplication table
US20140325147A1 (en) * 2012-03-14 2014-10-30 Netapp, Inc. Deduplication of data blocks on storage devices
US20160086260A1 (en) * 2014-09-19 2016-03-24 Amazon Technologies, Inc. Lifecycle transitions in log-coordinated data stores
CN106354722A (zh) * 2015-07-15 2017-01-25 阿里巴巴集团控股有限公司 一种流式计算***的消息处理方法和装置
CN107077492A (zh) * 2014-09-10 2017-08-18 亚马逊科技公司 可扩展的基于日志的事务管理
US20180006871A1 (en) * 2016-06-30 2018-01-04 Ca, Inc. Serving channelized interactive data collection requests from cache
CN107967361A (zh) * 2017-12-22 2018-04-27 北京明朝万达科技股份有限公司 一种数据库的增量处理方法和***
US20180143994A1 (en) * 2016-11-21 2018-05-24 Fujitsu Limited Apparatus and method for information processing
CN109408761A (zh) * 2018-10-16 2019-03-01 翟红鹰 一种重复请求的过滤方法、***、设备及存储介质
CN109800218A (zh) * 2019-01-04 2019-05-24 平安科技(深圳)有限公司 分布式存储***、存储节点设备和数据去重方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130077759A (ko) * 2011-12-29 2013-07-09 한양대학교 산학협력단 저장장치에서 중복제거 성능 향상을 위한 그룹핑 방법 및 장치
US20140325147A1 (en) * 2012-03-14 2014-10-30 Netapp, Inc. Deduplication of data blocks on storage devices
US20140115258A1 (en) * 2012-10-18 2014-04-24 Oracle International Corporation System and method for managing a deduplication table
CN107077492A (zh) * 2014-09-10 2017-08-18 亚马逊科技公司 可扩展的基于日志的事务管理
US20160086260A1 (en) * 2014-09-19 2016-03-24 Amazon Technologies, Inc. Lifecycle transitions in log-coordinated data stores
CN106354722A (zh) * 2015-07-15 2017-01-25 阿里巴巴集团控股有限公司 一种流式计算***的消息处理方法和装置
US20180006871A1 (en) * 2016-06-30 2018-01-04 Ca, Inc. Serving channelized interactive data collection requests from cache
US20180143994A1 (en) * 2016-11-21 2018-05-24 Fujitsu Limited Apparatus and method for information processing
CN107967361A (zh) * 2017-12-22 2018-04-27 北京明朝万达科技股份有限公司 一种数据库的增量处理方法和***
CN109408761A (zh) * 2018-10-16 2019-03-01 翟红鹰 一种重复请求的过滤方法、***、设备及存储介质
CN109800218A (zh) * 2019-01-04 2019-05-24 平安科技(深圳)有限公司 分布式存储***、存储节点设备和数据去重方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488366A (zh) * 2020-04-09 2020-08-04 百度在线网络技术(北京)有限公司 关系型数据库更新方法、装置、设备及存储介质
CN113934365A (zh) * 2020-06-29 2022-01-14 横河电机株式会社 数据管理***、数据管理方法及记录有数据管理程序的记录介质
US11755204B2 (en) 2020-06-29 2023-09-12 Yokogawa Electric Corporation Data management system, data management method, and recording medium for recording data management program
CN113934365B (zh) * 2020-06-29 2023-11-21 横河电机株式会社 数据管理***、数据管理方法及记录有数据管理程序的记录介质
CN112463774A (zh) * 2020-10-23 2021-03-09 完美世界控股集团有限公司 数据去重方法、设备及存储介质
CN112436943A (zh) * 2020-10-29 2021-03-02 南阳理工学院 基于大数据的请求去重方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110457305B (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN110457305A (zh) 数据去重方法、装置、设备及介质
JP5656563B2 (ja) 文書管理システム、文書管理システムの制御方法、プログラム
CN101568919B (zh) 具有分布式存储的联网计算机***中的单个数据视图
CN107169083A (zh) 公安卡口海量车辆数据存储与检索方法及装置、电子设备
US6078955A (en) Method for controlling a computer system including a plurality of computers and a network processed as a user resource
CN106610876A (zh) 数据快照的恢复方法及装置
CN103186554B (zh) 分布式数据镜像方法及存储数据节点
US20170316026A1 (en) Splitting and moving ranges in a distributed system
CN108121511A (zh) 一种分布式边缘存储***中的数据处理方法、装置及设备
CN106021327B (zh) 一种支持多用户同时读写的网盘***及其读文件方法、写文件方法
CN110046133A (zh) 一种存储文件***的元数据管理方法、装置及***
US6560631B1 (en) Data analysis in distributed data processing system
CN103716397B (zh) 一种面向服务仿真时钟推进方法
CN113760453B (zh) 容器镜像分发***及容器镜像推送、拉取和删除方法
CN111177159B (zh) 一种数据处理的***、方法和数据更新设备
CN106933836A (zh) 一种基于分表的数据存储方法和***
CN103646103A (zh) 管理可扩展标记语言文档管理服务器历史的***和方法
CN116108057A (zh) 一种分布式数据库访问方法、装置、设备及存储介质
CN108090056A (zh) 数据查询方法、装置及***
CN111143336A (zh) 面向高校科研数据管理的网络爬虫管理方法及平台
Han et al. Access trends of in-network cache for scientific data
CN114205354B (zh) 事件管理***、事件管理方法、服务器及存储介质
CN107896248B (zh) 一种基于客户端通信的并行文件***应用方法
CN109165259A (zh) 基于网络附属存储的索引表更新方法、处理器及存储装置
CN109634759A (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