数据去重方法及装置的制造方法

文档序号:8457292阅读:217来源:国知局
数据去重方法及装置的制造方法
【技术领域】
[0001] 本发明实施例涉及计算机技术领域,尤其涉及一种数据去重方法及装置。
【背景技术】
[0002] 随着计算机和通信技术的发展,网络的应用迅速普及,已日益成为成活中不可或 缺的工具。与此同时,为了网络安全和服务的需要,需要对网络数据进行采集分析。由于网 络设计和采集方案的原因,采集到的数据往往有大量重复数据,这对后续的存储和分析造 成重大影响。因此,实际应用中会在存储和分析前对数据进行去重操作。
[0003] 现有技术中常用的数据去重方法为双哈希法,在双哈希法去重处理过程中,主要 包括数据处理流程和辅助处理流程,数据处理流程主要包括如下步骤:
[0004] 步骤101a、创建两张相同的hash表,命名为哈希表1 (hi)和哈希表2(h2)。
[0005] 步骤102a、当t时间有数据d到来时,先在hi和h2中查找是否存在d的MD5值, 如果存在,则执行步骤103,如果不存在,则执行步骤104。
[0006] 步骤103a、确定d为重复数据,将其丢弃。
[0007] 步骤104a、将MD5值插入hi和h2中。
[0008] 辅助处理流程主要包括如下步骤:
[0009] 步骤101b、初始化hi和h2。
[0010] 步骤l〇2b、当时间到达超时时间的二分之一时,清空hi。
[0011] 步骤l〇3b、当时间到达超时时间时,清空h2清空。重复循环上述步骤。
[0012] 但是,上述双哈希算法操作以下不足:
[0013] 1、相同的数据会同时保存到hi和h2中,造成资源的浪费;
[0014] 2、需要额外的辅助线程对hi和h2中的数据进行清空,造成系统资源浪费。

【发明内容】

[0015] 有鉴于此,本发明实施例提供一种数据去重方法及装置,以优化现有的数据去重 方法,只需要存储一份数据就可完成去重,节约了系统资源。
[0016] 在第一方面,本发明实施例提供了一种数据去重方法,包括:
[0017] 向采集设备发送数据采集请求,以使所述采集设备从网络上采集数据,所述数据 为网络数据包或通信信令;
[0018] 接收所述采集设备发送的第一数据;
[0019] 检测缓存中是否存有所述第一数据,若存有所述第一数据,则将所述第一数据丢 弃,若未存有所述第一数据,则将所述第一数据插入缓存。
[0020] 在第二方面,本发明实施例提供了数据去重装置,包括:
[0021] 发送模块,用于向采集设备发送数据采集请求,以使所述采集设备从网络上采集 数据,所述数据为网络数据包或通信信令;
[0022] 接收模块,用于接收所述采集设备发送的第一数据;
[0023] 检测模块,用于检测缓存中是否存有所述第一数据;
[0024] 丢弃模块,用于若检测模块检测缓存中存有所述第一数据,则将所述第一数据丢 弃;
[0025] 插入模块,用于若检测模块检测缓存中未存有所述第一数据,则将所述第一数据 插入缓存。
[0026] 本发明实施例通过向采集设备发送数据采集请求,以使所述采集设备从网络上采 集数据,并接收所述采集设备发送的第一数据,检测缓存中是否存有所述第一数据,若存有 所述第一数据,则将所述第一数据丢弃,若未存有所述第一数据,则将所述第一数据插入缓 存,只需要存储一份数据就可完成去重,不仅能够达到数据去重的目的,而且节约了系统资 源。
【附图说明】
[0027] 图1是本发明第一实施例提供的一种数据去重方法的流程示意图;
[0028] 图2是本发明第二实施例提供的一种数据去重方法的流程示意图;
[0029] 图3是本发明第三实施例提供的一种数据去重方法的流程示意图;
[0030] 图4是本发明第四实施例提供的一种数据去重装置的结构示意图。
【具体实施方式】
[0031] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实 施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明, 而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关 的部分而非全部内容。
[0032] 本发明实施例的方法可以由数据去重装置来执行,该装置可通过硬件和/或软件 的方式实现。
[0033] 第一实施例
[0034] 图1是本发明第一实施例提供的一种数据去重方法的流程示意图,如图1所示,包 括如下步骤:
[0035] 步骤101、向采集设备发送数据采集请求,以使所述采集设备从网络上采集数据, 所述数据为网络数据包或通信信令。
[0036] 其中,数据采集请求中包含采集数据的目标地址,例如IP地址,采集设备根据所 述目标地址从网络上采集数据。其中,所述采集数据可以为网络数据包、或通信信令、或数 据文件。
[0037] 其中,数据采集请求中可以包含多个不同的目标地址,采集设备根据所述目标地 址依次从不同的网络上获取数据。
[0038] 步骤102、接收所述采集设备发送的第一数据。
[0039] 这里,为了区分本发明实施例中前后出现的不同的采集数据,将在本文中首次出 现的采集数据称为第一数据,将后续出现的采集数据称为第二数据。
[0040] 其中,第一数据为采集数据的一部分,可以为一个数据,还可以由多个数据组成, 这里,优选为一个数据。在接收所述采集设备发送的第一数据之后,将所述第一数据放置在 缓存中。
[0041] 步骤103、检测缓存中是否存有所述第一数据。
[0042] 具体的,检测缓存中是否存有所述第一数据,若缓存中存有所述第一数据,则执行 步骤104,若缓存中未存有所述第一数据,则步骤105。
[0043] 步骤104、将所述第一数据丢弃。
[0044] 具体的,若缓存中存有所述第一数据,则说明该第一数据为重复数据,将其丢弃。
[0045] 步骤105、将所述第一数据插入缓存。
[0046] 具体的,若缓存中存有所述第一数据,则说明该第一数据为非重复数据,将其插入 缓存,以备与后续接收的采集数据进行比较。
[0047] 示例性的,所述检测缓存中是否存有所述第一数据,包括:
[0048] 检测缓存中的第一数据结构中是否存有所述第一数据,所述第一数据结构用来保 存数据和指向第二数据结构中与所述数据对应节点的指针,所述第二数据结构用来保存指 向第一数据结构中的数据的指针和数据到达缓存的时间;
[0049] 所述将所述第一数据丢弃之后,还包括:
[0050] 更新所述第二数据结构中所述第一数据对应的数据到达缓存的时间;
[0051] 所述将所述第一数据插入缓存,包括:
[0052] 将所述第一数据插入第一数据结构中,并将所述第一数据对应的数据到达缓存的 时间插入第二数据结构中。
[0053] 例如,可以在缓存中设置数据结构,其中第一数据结构用来保存数据和指向第二 数据结构中的数据对应时间节点的指针,第二数据结构用来保存指向数据的指针及数据到 达缓存的时间,其中,数据到达缓存的时间按照先后顺序组织排序,以保证后续扫描再缓
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1