信息处理方法和装置与流程

文档序号:14940833发布日期:2018-07-13 20:42阅读:261来源:国知局

本发明涉及信息处理领域,具体而言,涉及一种信息处理方法和装置。



背景技术:

现有技术中提供了一种海量数据服务平台,利用该海量数据服务平台可以提供海量的资讯信息。服务器可以预存海量的数据,在接收到客户端发送的展示请求之后,将其请求展示的信息发送给客户端,以供客户端展示。

在海量数据服务平台中,服务器可以从多个源站获取海量的文章,但是在多个源站中获取的文章中可能会有重复的文章,服务器需要确定该重复的文章,现有技术中提供了一种确定重复文章的方式,如图1所示,服务器将所有的存量文章(系统内已经处理过的文章),按照文章主题建立索引,如图1中示出的娱乐、科技以及时事等,每个主题均对应多个存量文章,当服务器从源站获取到的新文章时,服务器根据该新文章的主题检索出若干篇存量文章,并将该检索出的存量文章传输至一台主机,在该主机上,将检索出的存量文章与新文章一一对比,以确定该新文章是否属于重复的文章。

采用上述方案,在基于新文章检索出海量的存量文章时,需要通过网络传输该海量的文章到一台主机上,传输速度慢;另外,在该主机上一一比较海量文章和检索出的百万篇存量文章,会消耗大量的资源,并且处理速度也很慢,耗时长。

针对上述在海量数据服务平台中,确定新文章是否与存量文章雷同操作的耗时长的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种信息处理方法和装置,以至少解决在海量数据服务平台中,确定新文章是否与存量文章雷同操作的耗时长的技术问题。

根据本发明实施例的一个方面,提供了一种信息处理方法,应用于服务器集群,包括:接收信息处理请求,其中,所述信息处理请求用于请求确定所述服务器集群存储的存量对象中是否存在与目标对象对应的存量对象;将所述信息处理请求发送至所述服务器集群中的多个处理终端,其中,每个所述处理终端上存储有多个存量对象的第一属性信息;通过各个所述处理终端,分别基于所述第一属性信息检测是否存在与所述目标对象相对应的存量对象,得到检测结果;汇总所述多个处理终端的检测结果,以确定所述服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

根据本发明实施例的另一方面,还提供了一种信息处理装置,应用于服务器集群,包括:接收单元,用于接收信息处理请求,其中,所述信息处理请求用于请求确定所述服务器集群存储的存量对象中是否存在与目标对象对应的存量对象;发送单元,用于将所述信息处理请求发送至所述服务器集群中的多个处理终端,其中,每个所述处理终端上存储有多个存量对象的第一属性信息;检测单元,用于通过各个所述处理终端,分别基于所述第一属性信息检测是否存在与所述目标对象相对应的存量对象,得到检测结果;确定单元,用于汇总所述多个处理终端的检测结果,以确定所述服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

在本发明实施例中,在服务器集群中的控制终端接收信息处理请求之后,将信息处理请求发送至服务器集群中的多个处理终端,每个处理终端分别通过其本地存储的第一属性信息,检测是否存在与目标对象相对应的存量对象,得到检测结果,控制终端接收到多个处理终端的检测结果之后,进行汇总,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象,在该方案中,无需执行检索操作,无需传输大量的存量对象,减少了网络传输的开支和处理器的开支;并且,将检测操作分发到多个处理终端上执行,而不是集中在一台机器上进行,大大提高了处理速度,即便是处理海量数据,也可以快速确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象,解决了现有技术中在海量数据服务平台中,确定新文章是否与存量文章雷同操作的耗时长的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术中的信息处理系统的架构示意图;

图2是根据本发明实施例的信息处理方法的硬件环境的示意图;

图3是根据本发明实施例的一种可选的信息处理方法的流程图;

图4是根据本发明实施例的一种可选的应用信息处理方法的系统架构图;

图5是根据本发明实施例的一种可选的存储区域划分的示意图;

图6是根据本发明实施例的一种可选的逆向缓冲器的示意图;

图7是根据本发明实施例的一种可选的无锁编程的逆向缓冲器的示意图;

图8是根据本发明实施例的一种可选的无锁编程的示意图;

图9是根据本发明实施例的一种可选的信息处理装置的示意图;以及

图10是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

文章:在本申请实施例中,专指资讯类文章,有标题、发布时间、发布者、正文等内容。

存量文章:系统内已经处理过的文章。

新文章:系统正在处理的文章。

比较:在此为专有名词。指比较两篇文章是否雷同。

元信息:指用于比较的文章信息,有标题、正文hash,图片hash等。

主题:指一篇文章所属的类型,例如,有娱乐、科技、以及时事等,可选地,在本申请实施例中可以设置30个主题。

序列化:将内存中的数据结构转化成字节流。

反序列化:将字节流转化成内存数据结构。

平坦字节块:一块用来存储复杂对象的连续内存,里面的对象不依靠指针组织。

就地比较:表示对象的字节块不做反序列化,直接用于比较。

无锁编程:一种多线程高性能编程方式,线程不会被阻塞。

根据本发明实施例,提供了一种信息处理的方法实施例。可选地,在本实施例中,上述信息处理方法可以应用于如图2所示的由服务器集群102和客户端104所构成的硬件环境中。如图2所示,服务器集群102通过网络与客户端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,客户端104并不限定于pc、手机、平板电脑等。本发明实施例的信息处理方法可以由服务器集群102来执行,也可以由客户端104来执行,还可以是由服务器集群102和客户端104共同执行。其中,客户端104执行本发明实施例的信息处理方法也可以是由安装在其上的客户端来执行。

该服务器集群可以提供海量数据服务,通过该服务器集群可以提供海量的资讯信息,其中,在服务器集群中可以预存海量的数据,在接收到客户端发送的展示请求之后,将其请求展示的信息发送给客户端,以供客户端展示。

优选地,该方案应用在服务器集群中,该服务器集群中包括控制终端和处理终端,该控制终端master在接收到信息处理请求之后,将获取到的信息处理请求中继到服务器集群中包括的所有处理终端worker上,每个终端将信息处理请求所请求检测的目标对象与本地上存储的存量对象一一比较,得到检测结果,控制终端接收到所有处理终端的应答(即上述的检测结果)之后,综合接收到的检测结果。

目标对象和存量对象可以为文章,本申请的下述实施例均以目标对象和存量对象为文章为例,但是,本申请的实施例并不限定在该目标对象和存量对象为文章上。

图3是根据本发明实施例的一种可选的信息处理方法的流程图,如图3所示,该方法应用于服务器集群,可选地,该实施例可以包括以下步骤:

步骤s302,接收信息处理请求,其中,信息处理请求用于请求确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象;

步骤s304,将信息处理请求发送至服务器集群中的多个处理终端,其中,每个处理终端上存储有多个存量对象的第一属性信息;

步骤s306,通过各个处理终端,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象,得到检测结果;

步骤s308,汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

通过上述实施例,在服务器集群中的控制终端接收信息处理请求之后,将信息处理请求发送至服务器集群中的多个处理终端,每个处理终端分别通过其本地存储的第一属性信息,检测是否存在与目标对象相对应的存量对象,得到检测结果,控制终端接收到多个处理终端的检测结果之后,进行汇总,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象,在该方案中,无需执行检索操作,无需传输大量的存量对象,减少了网络传输的开支和处理器的开支;并且,将检测操作分发到多个处理终端上执行,而不是集中在一台机器上进行,大大提高了处理速度,即便是处理海量数据,也可以快速确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象,解决了现有技术中在海量数据服务平台中,确定新文章是否与存量文章雷同操作的耗时长的问题。

在步骤s302提供的技术方案中,接收信息处理请求,其中,信息处理请求用于请求确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

可选地,服务器集群中的控制终端可以接收信息处理请求,在接收到信息处理请求之后,将该信息处理请求中继给服务器集群中的处理终端,通过服务器集群中的处理终端处理该信息处理请求。

进一步地,排重请求用于请求确定服务器集群中存储的存量对象中是否存在与目标对象相匹配的对象,例如,相同或者相似。

在一个可选的实施例中,信息处理请求可以为来自客户端的排重请求,也即,可以请求确定服务器集群中存储的存量对象中是否存在与该目标对象雷同的对象,在该实施例中,与目标对象对应的存量对象即为与目标对象相匹配的存量对象,如,相同或相似的对象。

在另一个可选的实施例中,海量数据服务平台,在从源站中爬取到新的文章之后,可以自动生成信息处理请求,并将该信息处理请求发送至控制终端上,该信息处理请求也可以为排重请求。

需要说明的是,信息处理请求中携带有目标对象(如新文章)的属性信息(即第二属性信息),该属性信息可以为用于区别目标对象与其他对象的信息,该属性信息可以包括下述至少之一:对象来源、目标对象的网络资源地址、目标对象的标题、目标对象的发布时间、目标对象的正文哈希值、以及目标对象所包含图片的图片哈希值。

其中,对象来源指的是目标对象的来源网站,例如,新浪、搜狐等门户网站;目标对象的发布时间可以指在目标对象的内容中标注的目标对象的生成时间,也可以指该目标对象存入服务器集群的时间,还可以是指目标对象被抓取到的时间;目标对象的正文哈希值可以是sim-hash值,目标对象的图片哈希值可以为p-hash值,在该示例中,目标对象的正文哈希值和图片哈希值均可以为局部敏感哈希值,这样,即便是存量对象与目标对象有着细微的差别,也可以准确地确定出两个对象是否匹配。

在步骤s304和步骤s306提供的技术方案中,将信息处理请求发送至服务器集群中的多个处理终端,其中,每个处理终端上存储有多个存量对象的第一属性信息,通过各个处理终端,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象,得到检测结果。可选地,控制终端在接收到信息处理请求之后,将该信息处理请求发送至每个处理终端上,通过各个处理终端并行处理信息处理请求,可以加快处理速度。

每个处理终端在得到本地上存储的第一属性信息是否与目标对象相匹配的检测结果之后,向控制终端反馈检测结果(即应答),在确定应答之后,在该实例中,利用多个处理终端多机并行计算,系统性能随着机器的增加线性增长。

其中,检测结果用于指示该处理终端上是否存储有与目标对象对应的第一属性信息。

可选地,每个处理终端可以基于目标对象的第二属性信息和存储的存量对象的第一属性信息,检测是否存在与目标对象相对应的第一属性信息,其中,若处理终端上存储有与第二属性信息相匹配的第一属性信息,则可以确定存在与目标对象对应的存量对象。

进一步地,可以逐一对处理终端本地存储的第一属性信息与第二属性信息进行匹配(或执行比较操作),来逐一确定第一属性信息是否与第二属性信息相匹配。可选地,若检测出第一属性信息与第二属性信息相匹配,则该处理终端停止比较操作,得到该处理终端的检测结果,将该指示存在与目标对象相匹配(或对应)的存量对象的检测结果返回给控制终端。

在步骤s308提供的技术方案中,汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

控制终端在接收到所有处理终端的检测结果之后,汇总所有处理终端返回的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象相对应的存量对象,并生成最终的结果,将该最终的结果返回给发起信息处理请求的终端(如终端或服务器)。

在一个可选的实施例中,控制终端每接收到一个检测结果,记录该检测结果,若检测结果指示该在对应的处理终端上存储了与目标对象向对应的存量对象,则可以确定服务器集群存储的存量对象中存在与目标对象相对应的存量对象。

进一步地,在确定服务器集群存储的存量对象中存在与目标对象相对应的存量对象的情况下,若未接收到全部处理终端返回的检测结果,可以向未返回检测结果的处理终端发送中止指令,该中止指令用于中止这些未返回检测结果的处理终端中止执行检测操作。

一种可选地,在确定服务器集群存储的存量对象中存在与目标对象相对应的存量对象的情况下,若未接收到全部处理终端返回的检测结果,可以向未返回检测结果的处理终端发送终止指令,该终止指令用于终止这些未返回检测结果的处理终端终止执行检测操作。

下面结合图4,以文章为例,对本申请的一个可选的实施例进行详细描述。

如图4所示,客户端发送排重请求给控制终端master,请求中包含新文章的第二属性信息(如标题、来源、正文hash以及图片hash);master将客户端的请求中继到所有的处理终端worker上,worker将新文章与本地的存量文章一一比较,并应答master,master收到所有的worker的应答后,综合结果,应答客户端。进一步地,如果新文章不与存量文章任何一篇雷同(即相匹配或相对应),就将其按网络资源地址对应的hash值分布加入某台处理终端worker。

根据本发明实施例,汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象包括:若多个处理终端的检测结果中至少一个检测结果指示存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中存在与目标对象对应的存量对象;若多个处理终端的检测结果中任意一个检测结果均指示不存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象。

在获取到所有处理终端返回的检测结果之后,若多个检测结果中有一个检测结果指示存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中存在与目标对象对应的存量对象;若各个处理终端的检测结果中均指示不存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象。

进一步地,在确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象之后,方法还可以包括:若确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象,则将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中。

通过上述实施例,在确定出服务器集群存储的存量对象中不存在与目标对象对应的存量对象的情况下,将该目标对象的第二属性信息添加人服务器集群中,从而可以完善存量对象的信息,在获取到更新的数据时,避免漏检。

可选地,将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中包括:基于目标对象的网络资源地址生成哈希值;对哈希值进行预处理,得到处理后的哈希值;按照多个处理终端的数量对哈希值进行取模,得到取模结果m;将目标对象的第二属性信息添加入与n个处理终端中的第m个处理终端,其中,n为自然数,m为小于等于n的自然数。

其中,哈希值可以为md5值,哈希值可以为固定长度的值,如16个字节的数字。对哈希值进行预处理可以包括:去除哈希值中固定字节的信息。例如,可以去除哈希值中前p位字节的信息,通过该预处理可以减少数据的处理量。又如,哈希值为16个字节的数字,可以去除哈希值前8字节的数字,得到处理后的哈希值,即,后八位的哈希值。

在上述实施例中,在基于目标对象的网络资源地址url生成md5值之后,去除该md5值中的前8位,并按照多个处理终端的数量对处理后的哈希值进行取模,得到取模结果m;将目标对象的第二属性信息添加入与n个处理终端中的第m个处理终端,其中,n为自然数,m为小于等于n的自然数。需要说明的是,该n个处理终端按照预定的顺序排列。

可选的,将对象(包括目标对象和存量对象)的元信息(即属性信息)存在处理终端的本地可以通过下述方案实现:控制终端worker存储存量文章的第一属性信息,该第一属性信息包括:url、标题、来源、发布时间、正文hash以及图片hash,可选地,该第一属性信息可组成一个结构体。

进一步地,文章的元信息(即对象的属性信息)具体存储在哪台worker,可以通过下述数据分布算法决定:每台处理终端worker配置有一个编号,若有n台处理终端worker,可以从0到n-1设置编号。在用md5对每篇文章对url算出一个16个字节的哈希值之后,去前8个字节,得到处理后的哈希值,并利用该处理后的哈希值对worker个数取模,得到对应worker的编号m,将该目标对象的第二属性信息存入编号为m的处理终端上。

根据本发明的上述实施例,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象包括:处理终端获取目标对象的主题,其中,主题携带在信息处理请求中;处理终端确定与主题对应的存储空间,其中,存储空间中存储的第一属性信息对应的存量对象均属于主题;处理终端检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息;其中,在检测出存储空间中存储有与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定存在与目标对象相对应的存量对象;在检测出存储空间中未存储与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定不存在与目标对象相对应的存量对象。

可选地,由于两篇雷同的文章一般具有相同的主题,利用文章主题划分比较空间,可以只对同主题下的文章比较,能大幅降低比较的数量,提高处理速度。

具体地,可以预先设置多个主题,例如,设置包含如图5所示的娱乐、科技、军事、职场在内的30个主题。在该实施例中,将处理终端的存储空间中按照主题进行划分,也即,存储引擎按主题划分存储空间,可以是每个主题对应一个buffer缓冲器。

在另一个可选的实施例中,检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息包括:按照预定顺序逐一检测存储空间中存储的第一属性信息是否与第二属性信息相匹配,其中,预定顺序基于第一属性信息存入存储空间的时间而确定。可选地,该预定顺序可以为按照第一属性信息存入存储空间的后先顺序,也即,先比较存入时间较晚的第一属性信息,后比较存入存储空间较早的第一属性信息。

由于新文章与发布时间较新的文章雷同的可能性更大,因此,可以将存储空间设置为逆向buffer缓冲器,如图6所示,当前位置指针沿着逆向的增长方向移动。通过该实施例,在将新文章(即目标对象)和存量文章(即存量对象)一一比较时,发布越晚的文章越早比较。

另一种可选地,也可以使用正向buffer缓冲器,在使用正向buffer进行检测时,可以逆向遍历该缓冲器,通过该实施例也可以实现优先比较新文章与发布时间较新的文章的目的。

根据本发明的上述实施例,检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息可以包括:将存储空间中存储的序列化后的第一属性信息,按照序列化规则进行转换,得到转换后的第三属性信息;检测转换后的第三属性信息是否与第二属性信息匹配。

在上述实施例中,在将第一属性信息存入对应的缓冲器之前,将该第一属性进行序列化(也即元信息序列化)后存储在逆向buffer缓冲器中,可选地,序列化的递归规则如下:

整数型序列化为固定长度,如4字节、8字节;

字符串以一个4字节的字符串长度为前缀,后面跟着字符串的内容;

数组以一个4字节的字符串长度为前缀,后面跟着数组内容。

利用上述序列化规则,在内存中对序列化后的第一属性信息进行强制转换,也即,直接进行整数和字符串的比较,以消除比较时的反序列化计算开销。

例如,按照上述的序列化规则,在从缓冲器中读取到一个存量对象的序列化的第一属性信息之后,若该第一属性信息为字符串,则将第四个字节之后的内容与第二属性信息进行比较;若对该第一属性信息为数组,则可以将第四个字节之后的内容与第二属性信息进行比较。

需要进一步说明的是,在信息处理请求为多个的情况下,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象可以包括:处理终端并行检测第一属性信息是否与各个目标对象的第二属性信息相匹配。

在并发操作下,锁的竞争条件会导致性能下降,在一个可选的实施例中,采用无锁编程消除这个影响,具体地,元信息是存储在逆向buffer中的,如图7所示,设置该逆向buffer可以有一个写线程(w表示写线程)和多个读取线程(r1和r2分别表示一个读取线程),从而可以并行处理多个信息处理请求,如图7所示,该写入方向与读取方向是相逆的,当前位置指针表示当前所在的读取位置。

进一步地可选地,为了实现正确的无锁编程,可以使用原子变量的require/release(即请求/释放)语义,图8示出了读写线程的伪代码,通过图8所示的伪代码,可以消除锁竞争导致的线程休眠和调度。

在上述实施例中,可以通过多个处理终端并行比较,master保持对所有worker的tcp连接,每一个客户端请求,都要等到所有worker运算完毕后,master才应答客户端,系统的性能是可以随着worker的增加而线性增加的。进一步地,通过元信息本地存储消除庞大的网络开销,通过并行计算和单机计算的优化,完全满足海量文章的比较,并且只要不断的加机器,性能就线性增长。

在上述实施例中,将元信息(即属性信息)存储在本地,可以消除信息传递的网络开销;利用多个处理终端多机并行计算,系统性能随着机器的增加线性增长;进一步地,利用文章主题划分比较空间,提升吞吐量20倍;存储比较所需的元数据时,采用逆向buffer,能根据计算资源灵活调节比较的数量。需要说明的是,上述实施例中,还使用平坦字节块就地比较的方式,节省反序列化消耗的计算资源;另外,文章元信息存储的无锁编程,消除锁竞争导致的线程休眠和调度。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例,还提供了一种用于实施上述信息处理方法的信息处理装置。图9是根据本发明实施例的一种可选的信息处理装置的示意图,如图9所示,该装置应用于服务器集群,可选地,该装置可以包括:

接收单元91,用于接收信息处理请求,其中,信息处理请求用于请求确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象;

发送单元93,用于将信息处理请求发送至服务器集群中的多个处理终端,其中,每个处理终端上存储有多个存量对象的第一属性信息;

检测单元95,用于通过各个处理终端,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象,得到检测结果;

确定单元97,用于汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

通过上述实施例,在服务器集群中的控制终端接收信息处理请求之后,将信息处理请求发送至服务器集群中的多个处理终端,每个处理终端分别通过其本地存储的第一属性信息,检测是否存在与目标对象相对应的存量对象,得到检测结果,控制终端接收到多个处理终端的检测结果之后,进行汇总,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象,在该方案中,无需执行检索操作,无需传输大量的存量对象,减少了网络传输的开支和处理器的开支;并且,将检测操作分发到多个处理终端上执行,而不是集中在一台机器上进行,大大提高了处理速度,即便是处理海量数据,也可以快速确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象,解决了现有技术中在海量数据服务平台中,确定新文章是否与存量文章雷同操作的耗时长的问题。

其中,确定单元包括:第一确定模块,用于若多个处理终端的检测结果中至少一个检测结果指示存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中存在与目标对象对应的存量对象;第二确定模块,用于若多个处理终端的检测结果中任意一个检测结果均指示不存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象。

进一步地,装置还包括:添加单元,用于在确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象之后,若确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象,则将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中。

根据本发明的上述实施例,添加单元可以包括:生成模块,用于基于目标对象的网络资源地址生成哈希值;处理模块,用于对哈希值进行预处理,得到处理后的哈希值;取模模块,用于按照多个处理终端的数量对哈希值进行取模,得到取模结果m;添加模块,用于将目标对象的第二属性信息添加入与n个处理终端中的第m个处理终端,其中,n为自然数,m为小于等于n的自然数。

在一个可选的实施例中,检测单元可以包括:获取模块,用于获取目标对象的主题,其中,主题携带在信息处理请求中;第三确定模块,用于确定与主题对应的存储空间,其中,存储空间中存储的第一属性信息对应的存量对象均属于主题;第一检测模块,用于检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息;其中,在检测出存储空间中存储有与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定存在与目标对象相对应的存量对象;在检测出存储空间中未存储与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定不存在与目标对象相对应的存量对象。

可选地,第一检测模块可以包括:第一检测子模块,用于按照预定顺序逐一检测存储空间中存储的第一属性信息是否与第二属性信息相匹配,其中,预定顺序基于第一属性信息存入存储空间的时间而确定。

另一种可选地,第一检测模块可以包括:转换子模块,用于将存储空间中存储的序列化后的第一属性信息,按照序列化规则进行转换,得到转换后的第三属性信息;第二检测子模块,用于检测转换后的第三属性信息是否与第二属性信息匹配。

又一种可选的,检测单元可以包括:第二检测模块,用于在信息处理请求为多个的情况下,并行检测第一属性信息是否与各个目标对象的第二属性信息相匹配。

其中,信息处理请求中携带有目标对象的第二属性信息,第二属性信息包括下述至少之一:对象来源、目标对象的网络资源地址、目标对象的标题、目标对象的发布时间、目标对象的正文哈希值、以及目标对象所包含图片的图片哈希值。

可选地,目标对象和存量对象为文章。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在上述的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例,还提供了一种用于实施上述信息处理方法的服务器或终端。

图10是根据本发明实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图10所示,该终端还可以包括输入输出设备207。

其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的信息处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器203用于存储应用程序。

处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:接收信息处理请求,其中,信息处理请求用于请求确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象;将信息处理请求发送至服务器集群中的多个处理终端,其中,每个处理终端上存储有多个存量对象的第一属性信息;通过各个处理终端,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象,得到检测结果;汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

处理器201还用于执行下述步骤,以汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象:若多个处理终端的检测结果中至少一个检测结果指示存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中存在与目标对象对应的存量对象;若多个处理终端的检测结果中任意一个检测结果均指示不存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象。

处理器201还用于执行下述步骤,在确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象之后,若确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象,则将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中。

处理器201还用于执行下述步骤,以将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中:基于目标对象的网络资源地址生成哈希值;对哈希值进行预处理,得到处理后的哈希值;按照多个处理终端的数量对哈希值进行取模,得到取模结果m;将目标对象的第二属性信息添加入与n个处理终端中的第m个处理终端,其中,n为自然数,m为小于等于n的自然数。

处理器201还用于执行下述步骤,以分别基于第一属性信息检测是否存在与目标对象相对应的存量对象:处理终端获取目标对象的主题,其中,主题携带在信息处理请求中;处理终端确定与主题对应的存储空间,其中,存储空间中存储的第一属性信息对应的存量对象均属于主题;处理终端检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息;其中,在检测出存储空间中存储有与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定存在与目标对象相对应的存量对象;在检测出存储空间中未存储与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定不存在与目标对象相对应的存量对象。

处理器201还用于执行下述步骤,检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息:按照预定顺序逐一检测存储空间中存储的第一属性信息是否与第二属性信息相匹配,其中,预定顺序基于第一属性信息存入存储空间的时间而确定。

处理器201还用于执行下述步骤,以检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息:将存储空间中存储的序列化后的第一属性信息,按照序列化规则进行转换,得到转换后的第三属性信息;检测转换后的第三属性信息是否与第二属性信息匹配。

处理器201还用于执行下述步骤,以分别基于第一属性信息检测是否存在与目标对象相对应的存量对象:在信息处理请求为多个的情况下,处理终端并行检测第一属性信息是否与各个目标对象的第二属性信息相匹配。

可选地,信息处理请求中携带有目标对象的第二属性信息,第二属性信息包括下述至少之一:对象来源、目标对象的网络资源地址、目标对象的标题、目标对象的发布时间、目标对象的正文哈希值、以及目标对象所包含图片的图片哈希值。

可选地,目标对象和存量对象为文章。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行信息处理方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收信息处理请求,其中,信息处理请求用于请求确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象;将信息处理请求发送至服务器集群中的多个处理终端,其中,每个处理终端上存储有多个存量对象的第一属性信息;通过各个处理终端,分别基于第一属性信息检测是否存在与目标对象相对应的存量对象,得到检测结果;汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,汇总多个处理终端的检测结果,以确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象:若多个处理终端的检测结果中至少一个检测结果指示存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中存在与目标对象对应的存量对象;若多个处理终端的检测结果中任意一个检测结果均指示不存在与目标对象对应的存量对象,则确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,在确定服务器集群存储的存量对象中是否存在与目标对象对应的存量对象之后,若确定服务器集群存储的存量对象中不存在与目标对象对应的存量对象,则将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以将目标对象的第二属性信息添加入多个处理终端中的一个处理终端中:基于目标对象的网络资源地址生成哈希值;对哈希值进行预处理,得到处理后的哈希值;按照多个处理终端的数量对哈希值进行取模,得到取模结果m;将目标对象的第二属性信息添加入与n个处理终端中的第m个处理终端,其中,n为自然数,m为小于等于n的自然数。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以分别基于第一属性信息检测是否存在与目标对象相对应的存量对象:处理终端获取目标对象的主题,其中,主题携带在信息处理请求中;处理终端确定与主题对应的存储空间,其中,存储空间中存储的第一属性信息对应的存量对象均属于主题;处理终端检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息;其中,在检测出存储空间中存储有与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定存在与目标对象相对应的存量对象;在检测出存储空间中未存储与目标对象的第二属性信息相匹配的第一属性信息的情况下,确定不存在与目标对象相对应的存量对象。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息:按照预定顺序逐一检测存储空间中存储的第一属性信息是否与第二属性信息相匹配,其中,预定顺序基于第一属性信息存入存储空间的时间而确定。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以检测存储空间中是否存储有与目标对象的第二属性信息相匹配的第一属性信息:将存储空间中存储的序列化后的第一属性信息,按照序列化规则进行转换,得到转换后的第三属性信息;检测转换后的第三属性信息是否与第二属性信息匹配。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以分别基于第一属性信息检测是否存在与目标对象相对应的存量对象:在信息处理请求为多个的情况下,处理终端并行检测第一属性信息是否与各个目标对象的第二属性信息相匹配。

可选地,信息处理请求中携带有目标对象的第二属性信息,第二属性信息包括下述至少之一:对象来源、目标对象的网络资源地址、目标对象的标题、目标对象的发布时间、目标对象的正文哈希值、以及目标对象所包含图片的图片哈希值。

可选地,目标对象和存量对象为文章。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1