专利名称:重复信息识别方法和设备的制作方法
重复信息识别方法和设备技术领域
本申请涉及通信技术领域,特别涉及一种重复信息识别方法和设备。
技术背景
电子商务(Electronic Commerce, EC)通常是指在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。
电子商务涵盖的范围很广,一般可分为企业对企业(Business-to-Business, B2B),或企业对消费者(Business-to-Customer, B2C)两种。另外还有消费者对消费者 (Customer-to-Customer, C2C)这种大步增长的模式。随着国内Internet (互联网)使用人数的增加,利用^ternet进行网络购物并以银行卡付款的消费方式已渐流行,市场份额也在迅速增长,电子商务网站也层出不穷。
随着电子商务的高速发展,互联网上电子商务网站中的商品数量也在高速增长, 在海量的商品信息背后,存在着大量相同或相似的商品信息,对于电子商务网站的管理者, 大量的相同或相似的商品信息的重复审核,大大降低了产品审核效率,并消耗存储空间,浪费了商品信息的审核和存储资源,而如果大量内容相同或相似产品在前台展示,则对于电子商务网站的使用者来说,大量雷同信息的重复显示也会严重影响使用者的商品搜索体验和搜索效率。
因此,现有技术中,在电子商务网站的信息管理端启动了产品信息源头去重技术, 在产品信息进入审核前,通过技术手段自动将内容相同或相似的产品信息进行退回处理, 从而提高电子商务网站整体信息的质量。
通常,在现有的技术方案中,上述的产品信息源头去重技术所采用的方法具体为数据库查询比对法即将进入审核流程的产品数据取出,访问数据库查询出该产品对应用户的所有产品信息。通过程序将该产品信息与本用户的其它产品信息依次进行比较。如比较断定为重复信息,则对该产品信息的审核处理进行退回操作,反之,则继续进行其余审核。
在实现本申请实施例的过程中,申请人发现现有技术至少存在以下问题
1、造成了数据库访问的巨大压力
如果按照现有的技术方案,使用数据库查询比对法,则每审核一条产品信息都需要对数据库进行一次查询。在需要审核的信息量较小时,不会产生过大的影响,但需要审核的信息量一旦增加,便会对数据库造成极大的访问压力。
如果以一个电子商务网站每天需要审核几十万条的产品信息的审核量来计算,那么,对于一个电子商务网站的数据库来讲,每天至少将会增加几十万次的数据库查询操作, 系统资源浪费和数据库的访问流量压力巨大。
2、产品信息的比对效率低
使用数据库查询比对法,在查询数据库信息时,需要进行SQL(S加CturedQuery Language,结构化查询语言)解析、IO anput/Output,输入输出)操作、网络传输等一系列操作,因此,在需要查询的产品信息量较大时,会严重影响产品信息的比对效率。发明内容
本申请实施例提供一种重复信息识别方法和设备,解决在现有技术中存在大量重复数据,影响产品信息的使用体验的问题。
为达到上述目的,本申请实施例一方面提供了一种重复信息识别方法,包括
当服务器接收到一个信息发布者所发送的信息发布请求时,所述服务器根据所述信息发布请求所请求发布的信息生成特征编码;
所述服务器在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码;
所述服务器判断所述生成的特征编码与在内存中获取的已发布的信息的特征编码是否存在重复;
如果所述服务器的判断结果为重复,所述服务器拒绝发布所述信息发布请求所请求发布的信息。
另一方面,本申请实施例还提供了一种服务器,包括
接收模块,用于接收信息发布请求;
生成模块,用于在所述接收模块接收到一个信息发布者发送的信息发布请求时, 根据所述信息发布请求所请求发布的信息生成特征编码;
获取模块,用于在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码;
判断模块,用于判断所述生成模块所生成的特征编码与所述获取模块在内存中获取到的已发布的各信息的特征编码是否存在重复;
处理模块,用于在所述判断模块的判断结果为重复时,拒绝发布所述信息发布请求所请求发布的信息。
与现有技术相比,本申请实施例具有以下优点
通过应用本申请实施例的技术方案,将已发布的信息以特征编码的形式存储于内存中,在接收到新的信息发布请求时,在内存中查询相应的特征编码,通过比较是否存在重复的特征编码判断该信息发布者所请求发布的信息是否与已发布信息相重复,从而,在保证信息查重准确率的情况下,减少通过数据库进行信息重复查询所带来的数据库访问流量负担,以及提高重复信息的查询效率,缩短信息发布过程的查重时间。
图1为本申请实施例提出的一种重复信息识别方法的流程示意图2为本申请实施例所提出的一种重复信息识别方法的主体思路的流程示意图3为本申请实施例所提出的一种重复信息识别方法的具体的应用场景的系统结构示意图4为本申请实施例所提出的一种重复信息识别方法的具体的应用场景的系统6结构示意图5为本申请实施例提出的一种服务器的结构示意图。
具体实施方式
如背景技术所述,现有技术中的通过数据库进行重复信息查询的方案存在流量负担高,信息对比效率低的缺陷,如何降低因为重复信息查询所带来的流量负担,提高重复信息的查询效率,成为信息发布领域的一个重要课题。
基于此,本申请实施例提出了一种通过内存存储已发布信息编码进行信息查重的方法,重复信息比对解决方案,直接从内存获取数据进行比对,不访问数据库,避免了由于信息查重所带来的数据库的访问流量,并且不再需要数据库相关的操作,大大提高了比对效率。
如图1所示,为本申请实施例提出的一种重复信息识别方法的流程示意图,该方法具体包括以下步骤
步骤S101、当服务器接收到一个信息发布者所发送的信息发布请求时,服务器根据信息发布请求所请求发布的信息生成特征编码。
具体的特征编码生成过程为
首先,服务器获取信息发布请求所请求发布的信息中所包含的特征数据,在实际的应用场景中,该特征数据的项目类型可以根据信息的类型进行预设,对于大量信息类型和信息结构相类似的待发布信息可以按照此方式进行。
例如,对于请求发布待销售的产品信息的情况,预设的特征数据的项目类型可以为产品名称、产品分类、图片特征(例如产品图片的相似性比对参数)、产品说明、产品价格和产品生产信息等,而对于另一种情况,例如请求进行新闻发布的场景,如果应用本申请实施例所提出的技术方案,则可以设置的特征数据的项目可以包括新闻题目、新闻发生时间、 新闻关键词、新闻摘要、新闻来源、新闻多媒体资料和新闻版权信息等,通过这样的项目类型的设置,可以标识出所请求发布的待销售的产品信息或新闻的特征,以便进行后续的重复信息的识别。
具体的,上述的示例仅是以待销售的产品信息和新闻的请求发布过程中,对于能够表明信息差异性的特征数据的项目类型的设置方式进行举例说明,在实际的应用场景中,可以根据实际的场景需要进行选择,具体的项目类型的变化并不会影响本申请的保护范围。
在完成了上述的特征数据的项目类型的设置后,当服务器接收到相应的信息发布的请求后,可以根据相应的项目类型设置获取所请求发布的信息的特征数据,并根据预设算法,将所获取的特征数据转换为信息发布请求所请求发布的信息的特征编码。具体的算法可以是MD5算法,消息摘要算法以及其他能够对相应的信息数据进行编码转换,以达到本申请实施例中相应的技术目的的算法规则,这样的算法类型的变化并不会影响本申请的保护范围。
这样进行转换处理的目的一方面在于经过编码后的数据可以在后续的比对过程中提高比对效率,另一方面,则在于减少所获取的特征数据所占用的存储空间资源,尤其是对于已发布的信息,通过预设算法进行编码处理后,特征数据所占用的空间大小将大幅缩小,从而,使得服务器可以存储更多的已发布信息的特征数据,或存储更多项目类型的特征数据,从而,提高重复信息识别的准确性和全面性。
步骤S102、服务器在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码。
其中,已发布的各信息的特征编码即是先前已发布的各信息的特征信息经过预设算法转换处理后形成的编码信息,这部分信息在经过编码处理后所占用的存储空间资源已经很少,而且,被调用和更新的频率又会比较高,所以,服务器将这部分数据直接在内存中进行存储,一方面方便调用和更新,另一方面,也避免了对数据库中的数据进行频繁调用所带来的数据通信负担。
同时,内存中以信息发布者的标识信息为键(key),以该信息发布者所发布的各信息的特征编码为键值(value),建立信息发布者的标识信息和已发布的各信息的特征编码的对应关系,以便根据信息发布者的标识信息,对已发布信息进行来源分类和重复比较。
需要指出的是,根据具体应用场景的差异,在内存中存储已发布的信息的特征编码及其相对应的信息发布者的标识信息的方式也存在差别
情况一、在各信息发布者所发布的信息相互独立的情况下,即不同的发布者发布的信息之间互不干扰,允许不同的发布者发布重复的信息的情况下,例如,网络商店,个人博客等应用场景。
本步骤所获取的特征编码范围应该是属于同一个信息发布者所发布的信息的特征编码,即判断信息发布请求的信息发布者先前是否已发布过相同的信息。
在此种情况下,为了能够区分内存中已存储的特征编码与信息发布请求是否由相同的信息发布者所发送,便需要根据内存中与已发布的信息的特征编码相对应存储的信息发布者的标识信息,因此,本步骤的执行过程,具体为
服务器确定信息发布请求的信息发布者的标识信息;
服务器根据该标识信息,在内存中已存储的信息的特征编码中,获取该标识信息所对应的全部特征编码,即在内存中查询该标识信息所对应的信息发布者已发布的信息。
即在此种情况下,内存中存储已发布的信息的特征编码时,对应性的存储了发布该信息的信息发布者的标识信息。
情况二、在各信息发布者所发布的信息共享的情况下,即不同的发布者发布的信息彼此共享,不允许不同的发布者发布重复的信息的情况下,例如,新闻网站,资源共享平台等应用场景。
本步骤所获取的特征编码范围除了本信息发布者所发布的信息的特征编码外,还要包括其他信息发布者所发布的所有信息的特征编码,即判断所有已发布的所有信息中是否存在与本次信息发布请求所请求发布的信息内容相同的信息。
在此种情况下,在内存中存储已发布的信息的特征编码时,可以继续对应存储信息发布者的标识,但在此种情况下,这个标识可以只包含真正发布此信息的信息发布者,也可以进一步包含所有请求过发布该信息的信息发布者,即在记录成功发布该信息的信息发布者的同时,还可以记录所有请求发布该信息,但由于识别为重复信息而被拒绝了发布请求的信息发布者,从而,使其他再请求发布该相同或相似信息的信息发布者获知自己与哪个或哪些信息发布者请求发布了相同或相似的信息。
在实际应用中,具体应用上述哪种信息发布者的标识信息的存储方式可以根据需要进行选择,具体选择内容的变化并不会影响本申请的保护范围。
步骤S103、服务器判断生成的特征编码与在内存中获取的已发布的各信息的特征编码是否存在重复。
如果服务器的判断结果为存在重复,执行步骤S103 ;
如果服务器的判断结果为不存在重复,执行步骤S104。
在实际应用中,为了实现后续的比对识别过程,上述的步骤SlOl中服务器生成的特征编码,以及步骤S102中所提及的内存中所存储的特征编码,必须是根据相同的预设算法所生成的相同类型的编码信息,例如MD5编码信息以及其他类型的编码信息。
步骤S104、服务器拒绝发布所请求发布的信息。
在实际应用中,为了实现对特殊业务或高级客户所请求业务的优先处理和特殊管理,本步骤的处理还包括
服务器判断信息发布者是否定制了相应的特殊发布业务;
如果是,服务器发布该信息发布请求所请求发布的信息,如果不是,服务器拒绝发布该信息发布请求所请求发布的信息。
通过这样的处理,可以对开通了特殊业务的用户,以及优先级或发布权限较高的高级用户提供区别于一般情况的高级别服务,既这样的特殊业务和高级用户不再受到信息重复的发布限制,或所受到的发布限制较少,从而,改善这部分用户的使用体验,为其提供高级别的个性化服务。
在上述的处理过程中,具体的拒绝信息发布的方式为服务器向信息发布请求的信息发布者返回发布拒绝指示,为了使该信息发布者更多的了解自己的信息发布请求的处理情况,在发布拒绝指示中,还可以进一步携带拒绝发布的原因信息。
进一步的,本申请实施例所提出的技术方案还包括
服务器根据内存中所存储的已发布信息的特征编码,生成包含多个标杆信息的样本库。
在此过程中,内存中所存储的每一个已发布信息的特征编码都会生成相应的一个标杆信息存储到该样本库中,同时,该样本库中的标杆信息除了存储这些特征编码相对应的信息外,还记录了该特征编码相关的其他信息,例如其所对应的已发布信息的更新时间,更新次数,被识别重复为发布请求的次数,当前状态等信息,通过这样的处理,可以更加准确的记录信息发布请求的处理情况,以及为相应的后台维护提供记录依据。
进一步的,由于样本库中的信息相对于内存中所存储的特征编码被调用的频率和调用速度要求都要更低一些,所以,样本库无需在内存中进行存储,而是可以存储在服务器的本地磁盘或者相应的数据库中,具体存储位置可以根据实际的需要进行选择。
在完成上述的样本库的生成操作后,如果服务器判断内存中所存储的已发布信息的特征编码与信息发布请求所请求发布的信息的特征编码相重复,服务器将更新样本库中该特征编码所对应的标杆信息的操作时间及计数,并删除修改前的编码信息及其对应的标杆信息。
服务器将该标杆信息的地址信息发送给该信息发布请求的信息发布者,以使该信息发布者能够根据所接收到的地址信息查看该标杆信息,从而,确认已发布信息与信息发布请求的重复情况,通过这样的处理,一方面可以使信息发布者获知准确的信息重复发布情况,另一方面,地址信息的传输也不会给服务器构成过大的传输负担,不会影响服务器的业务性能。
步骤S105、服务器继续对信息发布请求根据预设的验证规则进行其他验证。
如果其他验证通过,执行步骤S106 ;
如果其他验证没有通过,则停止对该信息发布请求的后续验证过程,并记录该信息发布请求没有通过的原因。
步骤S106、服务器发布所请求发布的信息,并将信息所对应的特征编码存储至内存。
需要说明的是,在存储到内存中之后,如果特征数据的重要性较高,服务器还可以按照相应的备份策略对内存中的特征编码进行备份处理,以防止服务器遇到突发情况而不能提供服务时内存中的特征编码信息的丢失,例如,在服务器本地的磁盘中建立小型数据库,按照预设的备份周期将内存中的特征编码进行备份,以便在遭遇突发情况时,恢复相应的特征编码信息到内存中。
其中,具体的备份策略可以根据实际需要进行变化,例如,除了上述的周期备份外,还可以包括定时备份,事件触发备份等方式触发相应的备份操作,而备份数据的存储位置也不仅限于服务器的本地磁盘,也可以是与该服务器同处于一个服务器集群的其他服务器,或者数据库所对应的存储资源中。
需要指出的是,上述的备份操作是一种可选操作,因为其会带来存储资源的消耗, 也会产生一定量的传输负载,是否需要付出这样的资源和负载消耗可以根据内存中的特征数据的重要性进行确定,如果系统中没有进行这样的备份操作,而服务器又遭遇了突发情况,那么,服务器恢复工作或备份服务器代替服务器开始工作后,可以在前述的样本库,或者数据库中重新获取特征编码到内存中。
在上述技术方案实现的过程中,服务器还可以通过以下方式进行内存中的信息整理
方式一、如果已发布的信息被删除,则服务器删除内存中所存储的被删除信息所对应的特征编码。
方式二、如果已发布的信息被修改,服务器根据修改后的信息内容,返回步骤 S103,判断修改后的信息内容所对应的特征编码与内存中存储的同一个信息发布者已发布的各信息的特征编码是否存在重复,如果不重复,则修改内存中存储的被修改信息所对应的特征编码,如果重复,则参照前述的处理步骤来实现相应的进一步处理。
方式三、如果内存中所存储的特征编码达到了预设的清理触发条件,服务器按照预设的策略删除内存中存储的信息所对应的特征编码。
在实际的应用场景中,上述的预设的清理触发条件具体可以包括
1、如果内存中所存储的特征编码或样本库中的标杆信息的总数量达到了预设的数量阈值,则对内存中所存储的特征编码进行清理,同时,相应的清理样本库中相对应的标杆信息。
2、如果内存中所存储的特征编码或样本库中的标杆信息所占用的存储空间的大小达到了预设的空间阈值,则对内存中所存储的特征编码进行清理,同时,相应的清理样本10库中相对应的标杆信息。
3、如果内存中所存储的特征编码或样本库中的标杆信息所对应的操作时间距离当前时间的时间长度达到了预设的时间阈值,则对内存中所存储的特征编码进行清理,同时,相应的清理样本库中相对应的标杆信息。
在具体的清理过程中,可以根据预先定制的策略进行清理,例如,按照所对应的操作时间(生成时间或更新时间)的顺序,优先清理操作时间最早的特征信息,同时,相应的清理样本库中相对应的标杆信息。
具体应用的策略内容可以根据实际需要进行调整,这样的变化并不会影响本申请的保护范围。
这样的清理主要目的在于对内存空间资源的释放,避免长期不用的特征编码信息对内存存储空间的占用,当然,这会导致一部分已发布的信息所对应的特征编码的缺失,从而影响这部分数据的重复识别,但是,考虑到上述的清理策略所针对的特征编码,都是在相应的场景下被再次使用的概率较低的特征编码,所以,清楚这部分特征编码所带来的重复识别误差将会很小,相反,如果要避免这部分误差,必然需要存储更多的特征编码,那么,所能采取的措施只能是增加内存容量,在具体的应用场景中,通过权衡增大内存所带来的成本投入与上述误差对系统运行所带来的影响,可以确定是否应用上述的清理策略,这样的变化同样属于本申请的保护范围。
与现有技术相比,本申请实施例具有以下优点
通过应用本申请实施例的技术方案,将已发布的信息以特征编码的形式存储于内存中,在接收到新的信息发布请求时,在内存中查询相应的特征编码,通过比较是否存在重复的特征编码判断该信息发布者所请求发布的信息是否与已发布信息相重复,从而,在保证信息查重准确率的情况下,减少通过数据库进行信息重复查询所带来的数据库访问流量负担,以及提高重复信息的查询效率,缩短信息发布过程的查重时间。
下面,结合具体的应用场景,对本申请实施例所提出的技术方案进行说明。
本申请实施例所提出的一种重复信息识别方法的主体思路的流程示意图如图2 所示,其关键点在于
信息发布者所应用的本地客户端设备负责整理和抽取需要比对的数据(如确定待发布的信息),例如,根据信息发布者的操作以及所输入的指令信息,获取相应的待发布 fn息ο
进一步的,上述的客户端设备根据分发策略选择相应的的服务器,进行信息发布请求的上报,服务器负责按照相应的算法,对相应的数据完成特征编码的计算,并将计算得到的特征编码与当前内存中已存在的特征编码进行比对,根据比对结果为应用该客户端设备的信息发布者提供相应的服务。
为了应对大量的业务交互需求,上述的服务器一般可以通过多个服务器所组成的服务器集群来实现,在这样的处理过程中,客户端设备能实现异常恢复、错误重试等操作, 而服务器集群中的各服务器则能对相应的请求实现水平扩展以及负载均衡。
在实际的应用过程中,上述的比对活动由客户端设备发起,客户端设备在收集好需要比对的信息后,根据一定的时间区间(如最近的1分钟内)服务器集群中的各服务器所处理的信息发布请求总量,选取处理数量最小的服务器(从而实现负载均衡),向其请求进行比对服务,如果发生异常(如该服务提供者不能接收新的比对请求),则根据上述规则从剩余的服务器中重新选取服务器进行请求,在极端情况下,如果服务器集群中全部的服务器都存在异常,无法完成比对服务,则客户端设备直接为信息发布者返回缺省结果(例如,当前所请求发布的信息与已发布信息不重复)。
具体的,在实际应用中,如图3所示,为本申请实施例所提出的一种重复信息识别方法的具体的应用场景的系统结构示意图。
其中,信息发布者通过客户端设备接入网络,提交信息发布请求,客户端设备根据相应的分发策略向服务器集群中的相应服务器提交比对请求,由相应的服务器将待发布信息与内存中存储的已发布信息进行比对操作,并根据相应的比对结果进行后续操作。
在实际的应用中,为了更好的进行集中调度和管理,在客户端设备和服务器集群之间,还可以进一步设置集中式处理服务器,集中接收客户端上报的比对请求,并根据服务器集群中的各服务器当前的请求处理情况进行相应的请求分发,交给服务器集群中相应的服务器进行处理操作,这样的集中式管理可以有效的提高处理效率,避免客户端设备直接与服务器集群中的多台服务器通信所带来的网络流量的提高。
并且,如果访问服务器集群对于客户端设备来讲是远程调用的话,集中式管理可以有效的节约网络资源,其中,远程调用可以使用RMI (RemoteMethod Invocation,远程方法调用)技术。
另外,如果集中式处理服务器对于服务器集群中的一台或多台服务器的状态查询或配置信息获取失败,则集中式处理服务器可以沿用前次配置信息,避免硬件故障或通讯延迟对于系统稳定性的影响。
需要进一步指出的是,在上述的技术方案中,还需要通过对服务器集群中的各服务器同步操作,保持服务器集群中的各台服务器中的样本库信息的一致性,从而保证比对结果的准确。
在具体的实施场景中,对于上述的本申请实施例所提出的技术方案,以下问题需要特别说明
1、比对服务采用分布式计算
通过服务器集群中的多台服务器同时提供比对服务,客户端设备或服务器可以根据服务器集群中各台服务器的状态文件中的信息来分发信息发布请求,实现负载分担。
通过这样的处理,海量数据的比对服务可伸缩性强,只要动态增加服务器就可以实现更大的吞吐量。
2、样本数据结构的创新
样本数据(即前述的特征编码)以双向Map形式放在内存中,例如,对于待销售的产品信息,可以分别以公司ID或信息发布者标识信息和公司对应的产品相关信息的MD5值为key和value放在双向Map的数据结构里。
(1)在实际应用中,因为内存中存储的只是已发布信息的MD5值或其他编码信息, 多以,其在内存中所占用的存储资源非常少,并且,可预知每个对象的内存占用情况。
(2)对于待销售的产品信息,将公司ID或信息发布者标识信息和产品相关信息的 MD5值或其他编码信息存放在双向Map数据结构中,样本数据实现了水平拆分。可以快速定位到相同公司或相同的信息发布者的相关数据,通过检索样本数据的关键值是否存在与所请求发布信息的特征编码值相同的MD5值或其他编码信息来判断信息是否重复,从而,实现信息识别过程的高性能和高准确性。相比直接进行信息比对,通过特征编码进行比对的方式显然具有更高的处理效率。
3、比对服务器集群间的数据同步
服务器集群中的各服务器间的同步采用主动推送方式,即当其中一台服务器的内存中所存储的样本信息发生改变时,便直接通知服务器集群内的其它服务器进行相应的更新,从而,避免了服务器集群的同步操作所需要的额外的系统开销,而与不同的服务器之间的数据同步工作采用异步实现,大大提高了服务器的响应能力,增强了服务器集群配置的灵活性。
4、服务器集群的扩展
当服务器的内存资源不够用时,除了直接增加服务器自身内存资源外,还可通过增加服务器集群中的服务器数量来达到扩展内存容量的目的,可以有效的提高系统的扩展性。
5、服务器集群的可靠性
当服务器集群中某台服务器出现故障,使内存数据丢失时,可通过两种方式恢复数据
(1)通过集群其它服务器的数据同步恢复,这种方式恢复速度较快,但需要预先配置好服务器集群中的各服务器之间的同步策略,并且,在平时便需要及时在各服务器之间进行数据备份。
(2)通过数据库持久化的比对库数据恢复,这种方式主要是将服务器内存中的数据进行持久化,存储于其他设备中,恢复速度较慢,且存在数据延迟情况,但操作方便。
当然,还可以直接在已发布信息中进行重新获取,但这样操作的负载成本会很高。
在上述的各策略中,服务器集群的各服务器之间的同步策略可根据不同应用场景进行配置,在实际的应用场景中,对于同步策略的配置,可以在内存使用率和系统容灾性之间进行权衡,内存使用率越高,容灾性越低;容灾性越高,内存使用率越低。
与现有技术相比,本申请实施例具有以下优点
通过应用本申请实施例的技术方案,将已发布的信息以特征编码的形式存储于内存中,在接收到新的信息发布请求时,在内存中查询与相应的特征编码,通过比较是否存在重复的特征编码判断该信息发布者所请求发布的信息是否与已发布信息相重复,从而,在保证信息查重准确率的情况下,减少通过数据库进行信息重复查询所带来的数据库访问流量负担,以及提高重复信息的查询效率,缩短信息发布过程的查重时间。
为了实现本申请实施例的技术方案,本申请实施例还提供了一种服务器,其结构示意图如图5所示,具体包括
接收模块51,用于接收信息发布请求;
生成模块52,用于在接收模块51接收到一个信息发布者发送的信息发布请求时, 根据信息发布请求所请求发布的信息生成特征编码;
获取模块53,用于在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码;
判断模块M,用于判断生成模块52所生成的特征编码与获取模块53在内存中获取到的已发布的各信息的特征编码是否存在重复;
处理模块55,用于在判断模块M的判断结果为重复时,拒绝发布信息发布请求所请求发布的信息。
其中,生成模块52,具体用于
获取接收模块51所接收的信息发布请求所请求发布的信息中所包含的特征数据,并根据预设算法,将特征数据转换为该信息发布请求所请求发布的信息的特征编码。
在具体的应用场景中,对应前述的步骤S102中所提及的情况一,如果需要判断重复的信息范围是相同信息发布者所发布的信息,那么,获取模块53,具体用于
确定接收模块51所接收的信息发布请求的信息发布者所对应的标识信息,根据标识信息,在内存中已存储的信息的特征编码中,获取标识信息所对应的全部特征编码,之后,判断模块M将获取模块53获取到的特征编码与生成模块52所生成的特征编码进行比较,判断是否存在重复。
另一方面,对应前述的步骤S102中所提及的情况二,如果需要判断重复的信息范围是所有已发布信息,那么,获取模块53具体用于
在内存中获取所述信息发布请求的信息发布者的标识信息所对应的已发布的各信息的特征编码后,进一步获取其他已发布的各信息的特征编码。
进一步的,处理模块55,还用于
在判断模块M的判断结果为不重复时,继续对信息发布请求根据预设的验证规则进行其他验证,如果其他验证通过,则发布信息发布请求所请求发布的信息,并将信息所对应的特征编码存储至内存;如果其他验证没有通过,则停止对该信息发布请求的后续验证过程,并记录该信息发布请求没有通过的原因。
不仅如此,处理模块55,还用于
在判断模块M的判断结果为重复时,判断信息发布者是否定制了相应的特殊发布业务,如果是,发布信息发布请求所请求发布的信息,如果不是,拒绝发布信息发布请求所请求发布的信息。
当处理模块55确定拒绝发布信息发布请求所请求发布的信息时,处理模块55,具体用于向信息发布者返回发布拒绝指示,并携带拒绝发布的原因信息。
在具体的应用场景中,生成模块52,还用于根据内存中所存储的已发布信息的特征编码,生成包含多个标杆信息的样本库;
相应的,处理模块55,还用于在判断模块M的判断结果为重复时,更新生成模块 52所生成的样本库中所述特征编码所对应的标杆信息的操作时间及计数,并将生成模块 52所生成的标杆信息的地址信息发送给信息发布者,以使信息发布者根据地址信息查看标杆信息。
在实际的应用场景中,处理模块55,还用于
在已发布的信息被删除时,删除内存中存储的被删除信息所对应的特征编码;和 /或,
在已发布的信息被修改时,根据修改后的信息内容,判断修改后的信息内容所对应的特征编码与内存中存储的已发布的各信息的特征编码是否存在重复,如果不重复,则修改内存中存储的被修改信息所对应的特征编码,如果重复,则更新重复的特征编码所对应的相关信息,并删除修改前的编码信息;和/或,
在已发布的信息达到了预设的清理触发条件时,按照预设的策略删除内存中存储的信息所对应的特征编码。
相应的预设策略的内容参照前述说明,在此不再重复叙述。
与现有技术相比,本申请实施例具有以下优点
通过应用本申请实施例的技术方案,将已发布的信息以特征编码的形式存储于内存中,在接收到新的信息发布请求时,在内存中查询相应的特征编码,通过比较是否存在重复的特征编码判断该信息发布者所请求发布的信息是否与已发布信息相重复,从而,在保证信息查重准确率的情况下,减少通过数据库进行信息重复查询所带来的数据库访问流量负担,以及提高重复信息的查询效率,缩短信息发布过程的查重时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或网络设备等)执行本申请实施例各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请实施例所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请实施例的几个具体实施场景,但是,本申请实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请实施例的业务限制范围。
权利要求
1.一种重复信息识别方法,其特征在于,包括当服务器接收到一个信息发布者所发送的信息发布请求时,所述服务器根据所述信息发布请求所请求发布的信息生成特征编码;所述服务器在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码;所述服务器判断所述生成的特征编码与在内存中获取的已发布的信息的特征编码是否存在重复;如果所述服务器的判断结果为重复,所述服务器拒绝发布所述信息发布请求所请求发布的信息。
2.如权利要求1所述的方法,其特征在于,所述服务器根据所述信息发布请求所请求发布的信息生成特征编码,具体为所述服务器获取所述信息发布请求所请求发布的信息中所包含的特征数据;所述服务器根据预设算法,将获取的所述特征数据转换为所述信息发布请求所请求发布的信息的特征编码。
3.如权利要求1或2所述的方法,其特征在于,当所述所请求发布的信息具体为产品类信息时,所述特征数据,至少包括以下信息的一种或多种产品名称、产品分类、图片特征、产品说明、产品价格和产品生产信息。
4.如权利要求1或2所述的方法,其特征在于,当所述所请求发布的信息具体为新闻类信息时,所述特征数据,至少包括以下信息的一种或多种新闻题目、新闻发生时间、新闻关键词、新闻摘要、新闻来源、新闻多媒体资料和新闻版权信息。
5.如权利要求1或2所述的方法,其特征在于,所述服务器生成的特征编码,以及所述内存中存储的特征编码,具体为根据相同的预设算法生成的相同类型的编码信息。
6.如权利要求1所述的方法,其特征在于,所述服务器在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码,具体包括所述服务器确定所述信息发布请求的信息发布者所对应的标识信息;所述服务器根据所述标识信息,在所述内存中已存储的信息的特征编码中,获取与所述标识信息所对应的特征编码。
7.如权利要求1所述的方法,其特征在于,所述服务器判断所述生成的特征编码与在内存中获取的已发布的各信息的特征编码是否存在重复之后,还包括所述服务器判断所述特征编码与内存中存储的所有已发布的各信息的特征编码是否存在重复。
8.如权利要求1或7所述的方法,其特征在于,所述服务器判断所述特征编码与内存中存储的已发布的各信息的特征编码是否存在重复之后,还包括如果所述服务器的判断结果为不重复,所述服务器继续对所述信息发布请求根据预设的验证规则进行其他验证;如果其他验证通过,所述服务器发布所述信息发布请求所请求发布的信息,并将所述信息所对应的特征编码存储至所述内存;如果其他验证没有通过,则停止对所述信息发布请求的后续验证过程,并记录所述信息发布请求没有通过的原因。
9.如权利要求1所述的方法,其特征在于,如果所述服务器的判断结果为重复,还包括所述服务器判断所述信息发布者是否定制了相应的特殊发布业务;如果是,所述服务器发布所述信息发布请求所请求发布的信息,如果不是,所述服务器拒绝发布所述信息发布请求所请求发布的信息。
10.如权利要求1或9所述的方法,其特征在于,所述服务器拒绝发布所述信息发布请求所请求发布的信息,具体包括所述服务器向所述信息发布者返回发布拒绝指示,并携带拒绝发布的原因信息。
11.如权利要求10所述的方法,其特征在于,还包括所述服务器根据内存中所存储的已发布信息的特征编码,生成包含多个标杆信息的样本库;当所述服务器判断内存中所存储的已发布信息的特征编码与信息发布请求所请求发布的信息的特征编码相重复时,所述服务器更新样本库中所述特征编码所对应的标杆信息的操作时间及计数;所述服务器将所述标杆信息的地址信息发送给所述信息发布者,以使所述信息发布者根据所述地址信息查看所述标杆信息。
12.如权利要求1所述的方法,其特征在于,还包括如果已发布的信息被删除,所述服务器删除所述内存中存储的被删除信息所对应的特征编码;和/或,如果已发布的信息被修改,所述服务器根据修改后的信息内容,判断修改后的信息内容所对应的特征编码与内存中存储的已发布的各信息的特征编码是否存在重复,如果不重复,则修改内存中存储的被修改信息所对应的特征编码,如果重复,则更新重复的特征编码所对应的相关信息,并删除修改前的编码信息;和/或,如果内存中所存储的特征编码达到了预设的清理触发条件,所述服务器按照预设的策略删除所述内存中存储的特征编码。
13.一种服务器,其特征在于,包括接收模块,用于接收信息发布请求;生成模块,用于在所述接收模块接收到一个信息发布者发送的信息发布请求时,根据所述信息发布请求所请求发布的信息生成特征编码;获取模块,用于在对应保存有信息发布者的标识信息和已发布信息的特征编码的内存中查找获取与所述信息发布者的标识信息所对应的已发布的信息的特征编码;判断模块,用于判断所述生成模块所生成的特征编码与所述获取模块在内存中获取到的已发布的各信息的特征编码是否存在重复;处理模块,用于在所述判断模块的判断结果为重复时,拒绝发布所述信息发布请求所请求发布的信息。
14.如权利要求13所述的服务器,其特征在于,所述生成模块,具体用于获取所述接收模块所接收的信息发布请求所请求发布的信息中所包含的特征数据,并根据预设算法,将所述特征数据转换为所述信息发布请求所请求发布的信息的特征编码。
15.如权利要求13所述的服务器,其特征在于,所述获取模块,具体用于确定所述接收模块所接收的信息发布请求的信息发布者所对应的标识信息,根据所述标识信息,在所述内存中已存储的信息的特征编码中,获取与所述标识信息所对应的特征编码。
16.如权利要求13所述的服务器,其特征在于,所述获取模块,具体用于在内存中获取所述信息发布请求的信息发布者的标识信息所对应的已发布的各信息的特征编码后,获取其他已发布的各信息的特征编码。
17.如权利要求13或16所述的服务器,其特征在于,所述处理模块,还用于在所述判断模块的判断结果为不重复时,继续对所述信息发布请求根据预设的验证规则进行其他验证,如果其他验证通过,则发布所述信息发布请求所请求发布的信息,并将所述信息所对应的特征编码存储至所述内存;如果其他验证没有通过,则停止对所述信息发布请求的后续验证过程,并记录所述信息发布请求没有通过的原因。
18.如权利要求13所述的服务器,其特征在于,所述处理模块,还用于在所述判断模块的判断结果为重复时,判断所述信息发布者是否定制了相应的特殊发布业务,如果是,发布所述信息发布请求所请求发布的信息,如果不是,拒绝发布所述信息发布请求所请求发布的信息。
19.如权利要求13或18所述的服务器,其特征在于,当所述处理模块确定拒绝发布所述信息发布请求所请求发布的信息时,所述处理模块,具体用于向所述信息发布者返回发布拒绝指示,并携带拒绝发布的原因信息。
20.如权利要求19所述的服务器,其特征在于,所述生成模块,还用于根据内存中所存储的已发布信息的特征编码,生成包含多个标杆信息的样本库;所述处理模块,还用于在所述判断模块的判断结果为重复时,更新所述生成模块所生成的样本库中所述特征编码所对应的标杆信息的操作时间及计数,并将所述生成模块所生成的标杆信息的地址信息发送给所述信息发布者,以使所述信息发布者根据所述地址信息查看所述标杆信息。
21.如权利要求13所述的服务器,其特征在于,所述处理模块,还用于在已发布的信息被删除时,删除所述内存中存储的被删除信息所对应的特征编码;和/或,在已发布的信息被修改时,根据修改后的信息内容,判断修改后的信息内容所对应的特征编码与内存中存储的已发布的各信息的特征编码是否存在重复,如果不重复,则修改内存中存储的被修改信息所对应的特征编码,如果重复,则更新重复的特征编码所对应的相关信息,并删除修改前的编码信息;和/或,在已发布的信息达到了预设的清理触发条件时,按照预设的策略删除所述内存中存储的所述信息所对应的特征编码。
全文摘要
本申请实施例公开了一种重复信息识别方法和设备,通过应用本申请实施例的技术方案,将已发布的信息以特征编码的形式存储于内存中,在接收到新的信息发布请求时,在内存中查询相应的特征编码,通过比较是否存在重复的特征编码判断该信息发布者所请求发布的信息是否与已发布信息相重复,从而,在保证信息查重准确率的情况下,减少通过数据库进行信息重复查询所带来的数据库访问流量负担,以及提高重复信息的查询效率,缩短信息发布过程的查重时间。
文档编号G06F17/30GK102541918SQ20101061274
公开日2012年7月4日 申请日期2010年12月30日 优先权日2010年12月30日
发明者初永光, 李乐, 林朝森, 胡怀文, 苏磊, 陈斌, 韩灵叶 申请人:阿里巴巴集团控股有限公司