[发明专利]一种通过内存快速去重名单的方法有效
申请号: | 201210553720.1 | 申请日: | 2012-12-18 |
公开(公告)号: | CN103064908A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 吴为民;陶敏超 | 申请(专利权)人: | 北京讯鸟软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京汲智翼成知识产权代理事务所(普通合伙) 11381 | 代理人: | 陈曦;景志 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 内存 快速 名单 方法 | ||
技术领域
本发明涉及一种去重名单的方法,尤其涉及一种通过内存操作快速去重名单的方法,属于数据库技术领域。
背景技术
近年来,我国电子商务市场交易额稳定增长,电子商务在企业的应用成效以及对经济、社会发展的推动作用日益明显。针对电子商务的特性,一般都存在电子营销的过程。电子营销具有完全以客户为中心,互动性强、目标针对性强、客户准确性强、独具时空优势、传播范围广等特点。对于电子营销来说,电子营销名单的数据量非常大,不同的信息收集人员在收集营销信息过程中,不可避免会有重复名单信息被收集起来。电子营销名单不能重复,如果不去重,可能相同的电话被拨打多次,不但浪费人力和物力,而且会让客户很反感。
收集到的电子营销名单导入过程是电子营销名单进入电子营销系统的重要入口,而导入电子营销名单的同时对电子营销名单的去重是必不可少的一个环节。传统的电子营销系统中名单去重主要采用遍历数据表记录进行去重的,这种方式在小数据量的情况下问题不太大,但是随着时间的累加,数据表的数据量也会越来越大,名单的去重会变的越来越慢,而且大批量的名单去重可能无法使用,甚至会导致系统崩溃。传统的电销系统中,名单导入时去重主要采用以下两种方式:
(1)数据库与程序配合处理的方式,如图1所示,从收集到的电子营销名单文件中拿出一条名单记录。按照当前拿出的名单去电子营销数据库中查询,判断查询结果是否存在。如果不存在则将该条名单记录存入电子营销数据库中;如果存则在去除此条名单记录。按此方法查询下一条名单记录,直至所有名单记录都一一比对完毕。
(2)完全依赖数据库的方式,即在导入的表中将需要去重的项设置唯一约束,如图2所示,从收集到的电子营销名单文件中拿出一条名单记录。按照当前拿出的名单直接插入到数据库中,判断是否插入成功。如果插入成功,则说明该名单不重复;如果插入不成功,则说明该条名单重复。按此方法插入下一条名单记录,直至所有名单记录都一一比对完毕。
以上两种方式都是依赖遍历数据库逐条比对实现去重的,虽然通过这两种方式可以实现去重,但是当数据量和并发量过大时,这个效率是相当低,甚至会导致服务器的崩溃。第二种方式看起来应该会比第一种方式快,但是这种方式对文件的格式要求比较高,而且当需要将数据导入到多个表中时,效率会再降低。由于数据库的连接数和硬盘的IO速度都有限的,逾越这两个问题目前还存在一定的困难。
发明内容
针对现有技术所存在的不足,本发明所要解决的技术问题在于提供一种通过内存快速去重名单的方法。该方法通过集合运算批量去重,节约了去重时间、提高了去重效率。
为实现上述的发明目的,本发明采用下述的技术方案:
一种通过内存快速去重名单的方法,包括如下步骤:
读取数据库中的历史名单信息表并加载到内存中,存入历史名单集合;
将需要导入的名单加载到数据库临时表中;
读取临时表中需要进行名单去重的数据项并加载到内存中,存入当前导入名单集合;
通过当前导入名单集合与历史名单集合间运算批量删除重复名单,更新历史名单集合,更新历史名单信息表;
删除临时表。
其中较优地,通过当前导入名单集合与历史名单集合间运算批量删除重复名单,更新历史名单集合,更新历史名单信息表的步骤进一步包括:
当前导入名单集合与历史名单集合做交集运算找出重复名单集合,批量删除重复名单集合;
当前导入名单集合与历史名单集合做并集运算得到新的历史名单集合,将所述新的历史名单集合回填到内存中;
将临时表中的名单信息批量插入数据库中的历史名单信息表中。
其中较优地,通过当前导入名单集合与历史名单集合间运算批量删除重复名单,更新历史名单集合,更新历史名单信息表的步骤进一步包括:
当前导入名单集合与历史名单集合做并集运算得到新的历史名单集合;
将所述新的历史名单集合回填到内存中;
将所述新的历史名单集合替换数据库中的历史名单信息表。
其中较优地,通过当前导入名单集合与历史名单集合间运算批量删除重复名单,更新历史名单集合,更新历史名单信息表的步骤进一步包括:
当前导入名单集合与历史名单集合做交集运算找出重复名单集合,批量删除重复名单集合;
将临时表中的名单信息批量插入历史名单集合;
将临时表中的名单信息批量插入数据库中的历史名单信息表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京讯鸟软件有限公司,未经北京讯鸟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210553720.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:实现ACL的方法及客户端
- 下一篇:一种推荐信息的方法和设备