消息的处理方法、装置及电子设备与流程

文档序号:17489001发布日期:2019-04-23 20:15阅读:197来源:国知局
消息的处理方法、装置及电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种消息的处理方法、装置及电子设备。



背景技术:

在很多业务场景中,需要对消息进行过滤。例如一个新闻产品,客户端获取消息展示给用户(即消息的消费者consumer),但是某些用户只关心国内的新闻,而某些用户则只关心国外的新闻,此时就需要对这些消息进行过滤,让只关心国内新闻的用户只收到国内新闻相关的消息,而只关心国外新闻的用户只收到国外新闻相关的消息。

现有技术中,客户端中的消息引擎对消息进行过滤时,主要采用以下技术方案:1)在消息生产阶段,消息引擎直接将接收到的消息存储在磁盘上。2)在消息获取阶段,消息引擎从磁盘中实时读取消息并根据消费者过滤消息的过滤条件(描述消费者需要消费什么样的消息,如某个标题,或者含有某个属性等),例如消费者过滤消息的表达式,对消息进行过滤计算以判断是否过滤,并将未被过滤掉的消息展示给消费者。

发明人在实现本发明的过程中,发现现有技术至少存在如下问题:在消息获取阶段,对于每个消费者,消息引擎都需要从磁盘中读取消息并判断是否过滤,导致消息的读取次数较多,消息获取阶段的效率较低。



技术实现要素:

本发明提供一种消息的处理方法、装置及电子设备,以提高消息获取阶段的效率。

为达到上述目的,本发明采用如下技术方案:

一方面,本发明提供一种消息的处理方法,包括:读取预先存储的消息过滤结果,所述消息过滤结果包括消息的标识和与所述消息的标识对应的消费者过滤结果;根据所述消息过滤结果与消费者的标识确定需要推送给所述消费者的消息的标识;读取与所述需要推送给所述消费者的消息的标识对应的消息并推送给所述消费者。

另一方面,本发明还提供一种消息的处理方法,包括:接收消息;根据消费者过滤消息的过滤条件对所述消息进行过滤计算,得到消息过滤结果,所述消费者过滤消息的过滤条件包括消费者的标识和所述消费者的标识对应的消费者需要消费的消息需满足的条件,所述消息过滤结果包括所述消息的标识和与所述消息的标识对应的消费者过滤结果;分别存储所述消息过滤结果和所述消息。

另一方面,本发明还提供一种消息的处理装置,包括:消息过滤结果读取模块,用于读取预先存储的消息过滤结果,所述消息过滤结果包括消息的标识和与所述消息的标识对应的消费者过滤结果;确定模块,用于根据所述消息过滤结果与消费者的标识确定需要推送给所述消费者的消息的标识;第一消息读取模块,用于读取与所述需要推送给所述消费者的消息的标识对应的消息并推送给所述消费者。

另一方面,本发明还提供一种消息的处理装置,包括:第三消息接收模块,用于接收消息;第三计算模块,用于根据消费者过滤消息的过滤条件对所述消息进行过滤计算,得到消息过滤结果,所述消费者过滤消息的过滤条件包括消费者的标识和所述消费者的标识对应的消费者需要消费的消息需满足的条件,所述消息过滤结果包括所述消息的标识和与所述消息的标识对应的消费者过滤结果;第三存储模块,用于分别存储所述消息过滤结果和所述消息。

另一方面,本发明还提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于:读取预先存储的消息过滤结果,所述消息过滤结果包括消息的标识和与所述消息的标识对应的消费者过滤结果;根据所述消息过滤结果与消费者的标识确定需要推送给所述消费者的消息的标识;读取与所述需要推送给所述消费者的消息的标识对应的消息并推送给所述消费者。

另一方面,本发明还提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于:接收消息;根据消费者过滤消息的过滤条件对所述消息进行过滤计算,得到消息过滤结果,所述消费者过滤消息的过滤条件包括消费者的标识和所述消费者的标识对应的消费者需要消费的消息需满足的条件,所述消息过滤结果包括所述消息的标识和与所述消息的标识对应的消费者过滤结果;分别存储所述消息过滤结果和所述消息。

本发明提供的消息的处理方法、装置及电子设备,在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。另外,消息过滤结果可以在消息生产阶段,根据消费者过滤消息的过滤条件对所述消息进行过滤计算得到,为后续的消息获取阶段提供支持。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为相关技术中消息的生产过程示意图;

图2为相关技术中消息的获取过程示意图;

图3为本发明实施例中消息的获取过程示意图;

图4为本发明实施例中消息的生产过程示意图一;

图5为本发明实施例中消息的生产过程示意图二;

图6为本发明实施例的消息的处理方法的应用场景示意图;

图7为本发明提供的消息的处理方法一个实施例的流程示意图;

图8为本发明提供的消息的处理方法又一个实施例的流程示意图;

图9为本发明提供的消息的处理方法又一个实施例的流程示意图;

图10为本发明提供的消息的处理方法又一个实施例的流程示意图;

图11为本发明提供的消息的处理装置一个实施例的结构示意图;

图12为本发明提供的消息的处理装置又一个实施例的结构示意图;

图13为本发明提供的消息的处理装置又一个实施例的结构示意图;

图14为本发明提供的消息的处理装置又一个实施例的结构示意图;

图15为本发明实施例提供的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

相关术语说明:

消息(message),消息系统中的基本单位。一条完整的消息,包含标题、内容、属性等信息。

消息的消费者(consumer),消费者理论上可以指定特定消息进行消费,如某个标题,或者含有某个属性的消息等。

消费者过滤消息的过滤条件,即描述消费者需要消费什么样的消息,如某个标题,或者含有某个属性等,可包括该消费者的标识和该消费者需要消费的消息需满足的条件,具体可以用消费者过滤消息的表达式(consumerexpression)来表示。

过滤(filter),对于某条消息,某个消费者不需要,则称之为过滤。

消息过滤结果,对于某条消息,表征一群消费者的过滤结果,即表征了这些消费者是否需要消费这条消息,可包括该消息的标识(通过该标识可以去磁盘中找到该消息)和这些消费者对于该消息的消费者过滤结果。

消费者过滤结果,表征一群消费者对某条消息的过滤结果,即表征了这些消费者是否需要消费这条消息,可包括以下三种形式中的任意一种:1)需要消费该消息的消费者的标识和否定过滤标识(例如notfilter);2)不需要消费该消息的消费者的标识和肯定过滤标识(例如filter);3)消费者的标识和与每个消费者的标识对应的肯定过滤标识或否定过滤标识。

下面对本发明的技术原理进行说明:

图1为相关技术中消息的生产过程示意图。如图1所示,在消息生产阶段,消息引擎直接将接收到的消息存储在磁盘上。图2为相关技术中消息的获取过程示意图。如图2所示,在消息获取阶段,针对每个消费者,消息引擎从磁盘中实时读取一次消息(有多少个消费者,一条消息就被读取多少次),并根据消费者过滤消息的过滤条件(描述消费者需要消费什么样的消息,如某个标题,或者含有某个属性等)对消息进行过滤计算以判断是否过滤,并将未被过滤掉的消息推送给消费者。

在本发明实施例中,针对消息的获取过程进行了改进,具体如图3所示,针对每个消费者,消息引擎从磁盘中读取存储的消息过滤结果(有多少个消费者,过滤结果就被读取多少次),并根据消息过滤结果确定需要推送给该消费者哪些消息,进而去磁盘中读取这些消息并推送给该消费者。即在消息获取阶段,在预先存储有根据消费者过滤消息的过滤条件对消息进行过滤计算得到的消息过滤结果(描述对于某条消息,这些消费者是否需要消费这条消息)的情况下,通过读取预先存储的消息过滤结果实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。

另外,消息获取阶段中预先存储的消息过滤结果可以在消息的生产过程中预先过滤计算得到,因此本发明实施例还针对消息的生产过程进行了改进,增加了对消息进行过滤计算的步骤,根据该步骤位于消息存储之前还是之后分为以下两种方式:第一种方式,先存储消息再过滤计算。具体的,如图4所示,在消息生产阶段,消息引擎直接将接收到的消息存储在磁盘上,并依次读取消息,对于每条消息,根据消费者过滤消息的过滤条件对该消息进行过滤计算,并将得到的消息过滤结果(描述对于某条消息,这些消费者是否需要消费这条消息)存储在磁盘上。第二种方式,先过滤计算再存储消息。具体的,如图5所示,在消息生产阶段,消息引擎在接收到消息后,根据消费者过滤消息的过滤条件对该消息进行过滤计算,并将得到的消息过滤结果与消息分别存储在磁盘上。即在消息生产阶段,预先对消息进行了过滤计算,为后续的消息获取阶段提供了消息过滤结果的支持。另外,第二种先过滤计算再存储消息的方式,相比于第一种先存储消息再过滤计算的方式,节省了消息的读取次数,结合上述消息获取过程,从整体上减少了消息的读取次数,提高了消息获取阶段的效率,且避免了大量的磁盘读取和序列化操作的产生,降低了磁盘和cpu的负担,进而提升了系统性能。

图6为本发明实施例的消息的处理方法的应用场景示意图。如图6所示,上述的消息引擎可以位于消息处理平台中,该消息处理平台可以是例如大型的媒体平台或者购物平台,相应地,消息的内容可以是新闻消息或者是商品消息等。消费者则通过用户终端来接收推送的消息或者主动获取消息。消息处理平台所接收的消息,来自于消息生产者的服务器或者终端,消息生产者可以是具体的新闻媒体或者自媒体,也可以是在购物平台上销售商品的商家。

上述实施例是对本发明实施例的技术原理的说明,为了本领域技术人员能够清楚、准确地理解本发明的技术方案,下面将结合附图及具体实施例对本发明的技术方案进行详细的描述。

实施例一

图7为本发明提供的消息的处理方法一个实施例的流程示意图。本发明实施例的消息的处理方法可应用于现有的各种消息引擎中,即本发明实施例的消息的处理方法的执行主体为现有的各种消息引擎。如图7所示,本发明实施例的消息的处理方法描述的是消息获取流程,具体可包括:

s701,读取预先存储的消息过滤结果,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。

具体的,消息过滤结果可以预先存储在磁盘中。由于消息过滤结果只是个标记,不涉及消息的内容,因此数据量很小,也可以预先存储在内存中,相比于预先存储在磁盘中,读取速度更快,且占用系统资源更少。每条消息都对应一条消息过滤结果,消息过滤结果可以分条单独存储,也可以以表格的形式进行存储。对于每个消费者,消息引擎读取预先存储的消息过滤结果,消息过滤结果中可以包括消息的标识(用于标识某条消息,通过该标识可以在磁盘中找到该消息)和与消息的标识对应的消费者过滤结果(用于表征消费者是否需要消费该消息)。

进一步的,消费者过滤结果可以包括但不限于以下几种方式中的任意一种:1)需要消费消息的标识对应的消息的消费者的标识和否定过滤标识,例如需要消费该消息的消费者甲的标识+消费者乙的标识+否定过滤标识notfilter,或者,消费者甲的标识+否定过滤标识notfilter,消费者乙的标识+否定过滤标识notfilter;2)不需要消费消息的标识对应的消息的消费者的标识和肯定过滤标识,例如不需要消费该消息的消费者丙的标识+消费者丁的标识+肯定过滤标识filter,或者,消费者丙的标识+肯定过滤标识filter,消费者丁的标识+肯定过滤标识filter;3)消费者的标识和与每个消费者的标识对应的肯定过滤标识或否定过滤标识,例如消费者甲的标识+消费者乙的标识+否定过滤标识notfilter,消费者丙的标识+消费者丁的标识+肯定过滤标识filter,或者,消费者甲的标识+否定过滤标识notfilter,消费者乙的标识+否定过滤标识notfilter,消费者丙的标识+肯定过滤标识filter,消费者丁的标识+肯定过滤标识filter。

s702,根据消息过滤结果与消费者的标识确定需要推送给消费者的消息的标识。

具体的,假设对于消费者甲,消息a的消息过滤结果为“消息a的标识+需要消费(对应否定过滤标识notfilter)消息a的消费者甲的标识+……”,消息b的消息过滤结果为“消息b的标识+不需要消费(对应肯定过滤标识filter)消息b的消费者甲的标识+……”,则消息引擎根据消息a的消息过滤结果和消息b的消息过滤结果以及消费者甲的标识,确定需要推送给消费者甲的消息为消息a,对应的标识为消息a的标识。

s703,读取与需要推送给消费者的消息的标识对应的消息并推送给消费者。

具体的,消息可以预先存储在磁盘中。参见上述例子,消息引擎从磁盘中读取消息a的标识对应的消息a,并推送给消费者甲。

综上,本发明实施例在消息获取阶段,无需读取消息只通过读取消息过滤结果即可实现对消息的过滤判断,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数。

为了能够更清楚、准确地说明本发明实施例的消息的处理方法,在消息获取阶段可以减少了消息的读取次数,下面举例进行说明。

图2所示的相关技术中消息获取阶段的方案举例如下:

假设有3个消费者甲乙丙(并且甲乙丙都有各自的过滤消息的过滤条件),消息引擎接收了10条消息存储在磁盘中。在消费者获取消息阶段,

向甲推送消息的过程:读取第一条消息,用甲的过滤消息的过滤条件判断一遍,如果符合(即不过滤)则推送,不符合则放弃,然后读取第二条消息重复这个过程……

向乙推送消息的过程:读取第一条消息用乙的过滤消息的过滤条件判断一遍,如果符合则推送,不符合则放弃,然后读取第二条消息重复这个过程……

向丙推送消息的过程:读取第一条消息用丙的过滤消息的过滤条件判断一遍,如果符合则推送,不符合则放弃,然后读取第二条消息重复这个过程……

也就是说,在消息的获取阶段:10条消息要被读取30次,过滤计算30次。总结来说,每条消息被读取的次数=消费者的数量,消息被读取的总次数=消息的总数*消费者的数量。

本发明实施例的消息的处理方法在消息获取阶段的方案举例如下:

仍假设有3个消费者甲乙丙(并且甲乙丙都有各自的过滤消息的过滤条件),消息引擎接收了10条消息存储在磁盘中。对应每条消息,预先计算并存储了一条消息过滤结果。

向甲推送消息的过程:读取消息过滤结果,判断需要向甲推送哪些消息,然后根据消息标识去磁盘中读取消息,并推送给甲。

向乙推送消息的过程:读取消息过滤结果,判断需要向乙推送哪些消息,然后根据消息标识去磁盘中读取消息,并推送给乙。

向丙推送消息的过程:读取消息过滤结果,判断需要向丙推送哪些消息,然后根据消息标识去磁盘中读取消息,并推送给丙。

也就是说,在消息的获取阶段,每条消息被读取的次数=需要消费该消息的消费者的数量≤消费者的总数量3,消息被读取的总次数=(甲需要消费的消息数量+乙需要消费的消息数量+丙需要消费的消息数量)≤消息的总数量10*消费者的总数量3=30,过滤计算0次。因此,在消息的获取阶段中,消息被读取的次数一定是小于或者等于30次的,也就是说小于相关技术的。此处需要说明的是,由于消息过滤结果的数据量很小,因此读取消息过滤结果相比于读取消息对系统性能的影响可以忽略不计。

本发明实施例的消息的处理方法,在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。

实施例二

图8为本发明提供的消息的处理方法又一个实施例的流程示意图。本发明实施例的消息的处理方法可应用于现有的各种消息引擎中,即本发明实施例的消息的处理方法的执行主体为现有的各种消息引擎。如图8所示,在实施例一的基础上,本发明实施例的消息的处理方法具体可包括:

在实施例一的步骤s701之前,增加了以下步骤s801。

s801,根据消费者过滤消息的过滤条件对接收到的消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件。

具体的,本步骤描述的是消息过滤结果的获得过程。假设消费者甲过滤消息的过滤条件为“消费者甲的标识+消费者甲需要消费的消息需满足属性为‘娱乐新闻’”,消费者乙过滤消息的过滤条件为“消费者乙的标识+消费者乙需要消费的消息需满足属性为‘经济新闻’”,消息a的属性为“娱乐新闻”,则消息引擎根据消费者甲、乙过滤消息的过滤条件对消息a进行过滤计算,得到消息a的消息过滤结果“消息a的标识+需要消费(对应否定过滤标识notfilter)消息a的消费者甲的标识+不需要消费(对应肯定过滤标识filter)消息a的消费者乙的标识”。

s802,读取预先存储的消息过滤结果,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。

s803,根据消息过滤结果与消费者的标识确定需要推送给消费者的消息的标识。

s804,读取与需要推送给消费者的消息的标识对应的消息并推送给消费者。

具体的,步骤s802-s804与实施例一中的步骤s701-s703相同,此处不再赘述。

进一步的,步骤s801可以在消息生产过程中实现,根据该步骤位于消息存储之前还是之后,分为以下两种实现方式:

第一种方式,先存储消息再过滤计算。具体的,接收消息并存储消息;读取消息,并根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件;存储消息过滤结果。

第二种方式,先过滤计算再存储消息。具体的,接收消息;根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件;分别存储消息过滤结果和消息。

这两种实现方式的具体过程可分别参见以下实施例三、四中的相关描述,此处不再赘述。

本发明实施例的消息的处理方法,在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。另外,在消息生产阶段,预先根据消费者过滤消息的过滤条件对消息进行了过滤计算,得到消息过滤结果并存储,为后续的消息获取阶段提供了消息过滤结果的支持。

实施例三

图9为本发明提供的消息的处理方法又一个实施例的流程示意图。本发明实施例的消息的处理方法可应用于现有的各种消息引擎中,即本发明实施例的消息的处理方法的执行主体为现有的各种消息引擎。如图9所示,本发明实施例的消息的处理方法描述的是第一种方式先存储消息再过滤计算的消息生产流程,具体可包括:

s901,接收消息并存储消息。

具体的,本步骤与相关技术中的消息生产流程相同,消息引擎接收消息,并将接收到的消息直接存储到磁盘中。

本发明实施例的消息的处理方法相比相关技术中的消息生产流程,增加了以下步骤s902-s903。

s902,读取消息,并根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果。

具体的,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。消息引擎从磁盘中依次读取消息,对于每条消息,根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果。具体过程,可参见上述实施例一、二中的相关描述,此处不再赘述。

s903,存储消息过滤结果。

具体的,消息引擎存储步骤s902得到的消息过滤结果,具体可存储在磁盘或内存中。

为了能够更清楚、准确地说明本发明实施例的消息的处理方法,下面举例进行说明。

假设有3个消费者甲乙丙(并且甲乙丙都有各自的过滤消息的过滤条件),消息引擎接收了10条消息并直接存储在磁盘中。

读取第一条消息,用甲乙丙的过滤消息的过滤条件计算一遍,得出消息过滤结果:第一条消息的标识+甲的过滤结果+乙过滤结果+丙的过滤结果;

读取第二条消息……;

……;

读取第十条消息……。

将全部的消息过滤结果分别存储在磁盘中。

也就是说,在消息的获取阶段之前,消息被读取10次,过滤计算30次。

此处需要说明的是,本发明实施例在消息生产阶段需读取消息,结合实施例一的消息获取阶段,虽然从整体上(消息生产阶段+消息获取阶段)不一定减少了消息的读取次数,但由于消息生产阶段是在服务器后台处理的,因此此阶段消息的读取次数多少并不影响消息获取阶段消息的读取次数,即不影响消息获取阶段的效率。

本发明实施例的消息的处理方法,在消息生产阶段,预先根据消费者过滤消息的过滤条件对消息进行了过滤计算,得到消息过滤结果并存储,为后续的消息获取阶段提供了消息过滤结果的支持。使得在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。

实施例四

图10为本发明提供的消息的处理方法又一个实施例的流程示意图。本发明实施例的消息的处理方法可应用于现有的各种消息引擎中,即本发明实施例的消息的处理方法的执行主体为现有的各种消息引擎。如图10所示,本发明实施例的消息的处理方法描述的是第二种方式先过滤计算再存储消息消息生产流程,具体可包括:

s1001,接收消息。

具体的,本步骤与相关技术中的消息生产流程不同,消息引擎接收消息,先不将接收到的消息存储到磁盘中,而是进行以下步骤s1002的计算后,再将接收到的消息存储到磁盘中。

s1002,根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果。

具体的,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。消息引擎对接收到的每条消息,根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果。具体过程,可参见上述实施例一、二中的相关描述,此处不再赘述。

s1003,分别存储消息过滤结果和消息。

具体的,消息引擎分别存储步骤s1001接收到的消息和步骤s1002得到的消息过滤结果。具体可将消息存储在磁盘中,将消息过滤结果存储在磁盘或内存中。

为了能够更清楚、准确地说明本发明实施例的消息的处理方法,下面举例进行说明。

假设有3个消费者甲乙丙(并且甲乙丙都有各自的过滤消息的过滤条件),消息引擎接收了10条消息。

对于第一条消息,用甲乙丙的过滤消息的过滤条件计算一遍,得出消息过滤结果:第一条消息的标识+甲的过滤结果+乙过滤结果+丙的过滤结果;

对于第二条消息……;

……;

对于第十条消息……。

将10条消息和全部的消息过滤结果分别存储在磁盘中。

也就是说,在消息的获取阶段之前,消息被读取0次,过滤计算30次。

综上,本发明实施例在消息生产阶段无需读取消息,结合实施例一的消息获取阶段,从整体上(消息生产阶段+消息获取阶段)减少了消息的读取次数。

本发明实施例的消息的处理方法,在消息生产阶段,预先根据消费者过滤消息的过滤条件对消息进行了过滤计算,得到消息过滤结果并存储,为后续的消息获取阶段提供了消息过滤结果的支持。使得在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。另外,本发明实施例的消息的处理方法在消息生产阶段无需读取消息,结合实施例一的消息获取阶段,从整体上(消息生产阶段+消息获取阶段)减少了消息的读取次数,提高了消息获取阶段的效率,且避免了大量的磁盘读取和序列化操作的产生,降低了磁盘和cpu的负担,进而提升了系统性能。

实施例五

图11为本发明提供的消息的处理装置一个实施例的结构示意图。本发明实施例的消息的处理装置可设置在消息引擎中,用于执行实施例一中的消息的处理方法。如图11所示,本发明实施例的消息的处理装置具体可包括消息过滤结果读取模块111、确定模块112和第一消息读取模块113。

消息过滤结果读取模块111,用于读取预先存储的消息过滤结果,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。

确定模块112,用于根据消息过滤结果与消费者的标识确定需要推送给消费者的消息的标识。

第一消息读取模块113,用于读取与需要推送给消费者的消息的标识对应的消息并推送给消费者。

进一步的,消费者过滤结果包括需要消费消息的标识对应的消息的消费者的标识和否定过滤标识,或者,包括不需要消费消息的标识对应的消息的消费者的标识和肯定过滤标识,或者,包括消费者的标识和与每个消费者的标识对应的肯定过滤标识或否定过滤标识。

进一步的,消息过滤结果读取模块111可具体用于:从内存中读取预先存储的消息过滤结果。

具体的,本发明实施例的消息的处理装置中各模块实现其功能的具体过程可参见上述实施例一所示方法实施例中的相关描述,此处不再赘述。

本发明实施例的消息的处理装置,在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。

实施例六

图12为本发明提供的消息的处理装置又一个实施例的结构示意图。本发明实施例的消息的处理装置可设置在消息引擎中,用于执行实施例二中的消息的处理方法。如图12所示,本发明实施例的消息的处理装置,在实施例五的基础上,还可包括计算模块121。

计算模块121,用于根据消费者过滤消息的过滤条件对接收到的消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件。

进一步的,本发明实施例的消息的处理装置还可以包括:第一消息接收模块,用于接收消息并存储所述消息;第二消息读取模块,用于读取所述消息,并根据消费者过滤消息的过滤条件对所述消息进行过滤计算,得到所述消息过滤结果,所述消费者过滤消息的过滤条件包括消费者的标识和所述消费者的标识对应的消费者需要消费的消息需满足的条件;第一存储模块,用于存储所述消息过滤结果。

进一步的,本发明实施例的消息的处理装置还可以包括:第二消息接收模块,用于接收消息;第二计算模块,用于根据消费者过滤消息的过滤条件对所述消息进行过滤计算,得到所述消息过滤结果,所述消费者过滤消息的过滤条件包括消费者的标识和所述消费者的标识对应的消费者需要消费的消息需满足的条件;第二存储模块,用于分别存储所述消息过滤结果和所述消息。

具体的,本发明实施例的消息的处理装置中各模块实现其功能的具体过程可参见上述实施例二所示方法实施例中的相关描述,此处不再赘述。

本发明实施例的消息的处理装置,在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。

实施例七

图13为本发明提供的消息的处理装置又一个实施例的结构示意图。本发明实施例的消息的处理装置可设置在消息引擎中,用于执行实施例三中的消息的处理方法。如图13所示,本发明实施例的消息的处理装置具体可包括第一消息接收模块131、第二消息读取模块132和第一存储模块133。

第一消息接收模块131,用于接收消息并存储消息。

第二消息读取模块132,用于读取消息,并根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。

第一存储模块133,用于存储消息过滤结果。

进一步的,第一存储模块133可具体用于:在内存中存储消息过滤结果。

具体的,本发明实施例的消息的处理装置中各模块实现其功能的具体过程可参见上述实施例三所示方法实施例中的相关描述,此处不再赘述。

本发明实施例的消息的处理装置,在消息生产阶段,预先根据消费者过滤消息的过滤条件对消息进行了过滤计算,得到消息过滤结果并存储,为后续的消息获取阶段提供了消息过滤结果的支持。使得在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。

实施例八

图14为本发明提供的消息的处理装置又一个实施例的结构示意图。本发明实施例的消息的处理装置可设置在消息引擎中,用于执行实施例四中的消息的处理方法。如图14所示,本发明实施例的消息的处理装置具体可包括第三消息接收模块141、第三计算模块142和第三存储模块143。

第三消息接收模块141,用于接收消息。

第三计算模块142,用于根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果。

第三存储模块143,用于分别存储消息过滤结果和消息。

进一步的,第三存储模块143可具体用于:在磁盘或内存中存储消息过滤结果。

具体的,本发明实施例的消息的处理装置中各模块实现其功能的具体过程可参见上述实施例四所示方法实施例中的相关描述,此处不再赘述。

本发明实施例的消息的处理装置,在消息生产阶段,预先根据消费者过滤消息的过滤条件对消息进行了过滤计算,得到消息过滤结果并存储,为后续的消息获取阶段提供了消息过滤结果的支持。使得在消息获取阶段,通过读取预先存储的消息过滤结果即可实现对消息的过滤判断,即无需读取消息即可判断出哪些消息需要被过滤掉,后续只需将未被过滤掉的消息即消费者需要消费的消息读取出来即可,一定程度上减少了消息的读取次数,提高了消息获取阶段的效率。另外,本发明实施例的消息的处理装置在消息生产阶段无需读取消息,结合实施例五的消息获取阶段,从整体上(消息生产阶段+消息获取阶段)减少了消息的读取次数,提高了消息获取阶段的效率,且避免了大量的磁盘读取和序列化操作的产生,降低了磁盘和cpu的负担,进而提升了系统性能。

实施例九

以上描述了消息的处理装置的内部功能和结构,图15为本发明实施例提供的电子设备的结构示意图,如图15所示,实际中,上述实施例中的消息的处理装置可实现为一种电子设备,可以包括:存储器151和处理器152。

存储器151,用于存储程序。

除上述程序之外,存储器151还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,例如线上购物平台、线上电商平台、电话簿数据,消息,图片,视频等。

存储器151可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器152,耦合至存储器151,用于执行存储器151中的程序。

在本发明一实施例中,处理器152可具体用于:

读取预先存储的消息过滤结果,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果;

根据消息过滤结果与消费者的标识确定需要推送给消费者的消息的标识;

读取与需要推送给消费者的消息的标识对应的消息并推送给消费者。

在本发明另一实施例中,处理器152可具体用于:

接收消息并存储消息;

读取消息,并根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果;

存储消息过滤结果。

在本发明另一实施例中,处理器152可具体用于:

接收消息;

根据消费者过滤消息的过滤条件对消息进行过滤计算,得到消息过滤结果,消费者过滤消息的过滤条件包括消费者的标识和消费者的标识对应的消费者需要消费的消息需满足的条件,消息过滤结果包括消息的标识和与消息的标识对应的消费者过滤结果;

分别存储消息过滤结果和消息。

上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。

进一步,如图15所示,电子设备还可以包括:通信组件153、电源组件154、音频组件155、显示器156等其它组件。图15中仅示意性给出部分组件,并不意味着电子设备只包括图15所示组件。

通信组件153被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件153经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件153还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件154,为电子设备的各种组件提供电力。电源组件154可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件155被配置为输出和/或输入音频信号。例如,音频组件155包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器151或经由通信组件153发送。在一些实施例中,音频组件155还包括一个扬声器,用于输出音频信号。

显示器156包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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