消息处理方法、装置、电子设备及计算机可读介质与流程

文档序号:25543504发布日期:2021-06-18 20:40
消息处理方法、装置、电子设备及计算机可读介质与流程

本公开涉及计算机信息处理领域,具体而言,涉及一种消息处理方法、装置、电子设备及计算机可读介质。



背景技术:

大型的公司经常使用分布式集群来处理日常业务,在分布式集群系统中,常使用消息中间件作为消息分发解耦组件。随着大型公司业务的发展,接入分布式集群的业务线逐渐增加,系统的消息量达到数百亿。同时,分配给分布式系统的机器资源有限,对某公司而言,目前有33台物理机,一共部署了18个集群,总计106个服务节点。为了提高资源利用率,不同的节点之间需要共用物理机,不同业务线的主题需要混合部署,当某些业务线的主题消息量异常时(如压测),会耗尽服务器资源,导致服务器宕机,影响该服务器所在集群所处理的其他主题消息。

在现有技术中,可对消息中间件的异常消息量的主题消息进行限速,以避免上述情况发生。由于客户端限速需要业务线配合升级,升级周期长,所以采用在分布式集群的服务端进行限速。

在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

有鉴于此,本公开提供一种消息处理方法、装置、电子设备及计算机可读介质,在正常网络状态和极端网络状态下,均能够确定适当的限速消息的主题范围,从而对过量消息进行限速,避免网络风险情况的发生,也降低了人力物力成本。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一方面,提出一种消息处理方法,可应用于分布式服务集群中的服务端,该方法包括:服务端获取来自多个客户端的多个消息;基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;将所述目标消息主题对应的多个消息进行抛弃处理。

在本公开的一种示例性实施例中,服务端获取来自多个客户端的多个消息之前,还包括:接收由所述注册中心发送的限速主题集合,所述限速主题集合中包括消息主题;接收来自多个客户端的多个消息;确定所述多个消息对应的消息主题;在所述消息主题和所述限速主题集合中的消息主题一致时,抛弃所述消息主题对应的消息。

在本公开的一种示例性实施例中,接收由所述注册中心发送的限速主题集合之前,还包括:服务端获取当前待处理的多个消息主题和其对应的消息数量;定时将所述多个消息主题和其对应的消息数量发送至分布式服务集群中的注册中心。

在本公开的一种示例性实施例中,服务端获取来自多个客户端的多个消息之前,还包括:获取所述服务端的消息队列对应的堆内存的可用内存;在所述可用空间阈值小于第一空间阈值时,接收所述多个消息。

在本公开的一种示例性实施例中,还包括:在所述可用空间大于第一空间阈值且小于第二空间阈值时,生成通知消息以使得客户端将后续消息发送至其他服务端;在所述可用空间大于第二空间阈值时,抛弃所述多个消息。

在本公开的一种示例性实施例中,获取所述服务端的消息队列对应的堆内存的可用内存,包括:基于内存管理功能获取实际最大内存;获取tracelog队列占用内存和基础信息占用内存;基于所述实际最大内存、tracelog队列占用内存和基础信息占用内存确定所述可用内存。

在本公开的一种示例性实施例中,在所述可用空间阈值小于第一空间阈值时,接收所述多个消息,包括:在所述可用空间阈值小于第一空间阈值且刷盘操作次数小于刷盘阈值时,接收所述多个消息。

在本公开的一种示例性实施例中,还包括:根据所述服务端的最大承担能力确定预设阈值区间。

在本公开的一种示例性实施例中,在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题,包括:在所述消息总量位于第一阈值区间时,将所述消息主题排名中的首位作为所述目标消息主题;在所述消息总量位于第二阈值区间时,将所述消息主题排名中的首五位作为所述目标消息主题;在所述消息总量位于第三阈值区间时,将所述消息主题排名中的全部作为所述目标消息主题。

在本公开的一种示例性实施例中,将所述目标消息主题对应的多个消息进行抛弃处理,包括:间隔预设时间后,将所述目标消息主题对应的多个消息进行抛弃处理。

根据本公开的一方面,提出一种消息处理装置,可应用于分布式服务集群中的服务端,该装置包括:获取模块,用于服务端获取来自多个客户端的多个消息;计算模块,用于基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;目标模块,用于在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;抛弃模块,用于将所述目标消息主题对应的多个消息进行抛弃处理。

在本公开的一种示例性实施例中,还包括:集合模块,用于接收由所述注册中心发送的限速主题集合,所述限速主题集合中包括消息主题;预接收模块,用于接收来自多个客户端的多个消息;主题模块,用于确定所述多个消息对应的消息主题;抛弃模块,还用于在所述消息主题和所述限速主题集合中的消息主题一致时,抛弃所述消息主题对应的消息。

在本公开的一种示例性实施例中,还包括:内存模块,用于获取所述服务端的消息队列对应的堆内存的可用内存;接收模块,用于在所述可用空间阈值小于第一空间阈值时,接收所述多个消息。

根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。

根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。

根据本公开的消息处理方法、装置、电子设备及计算机可读介质,服务端获取来自多个客户端的多个消息;基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;将所述目标消息主题对应的多个消息进行抛弃处理的方式,在正常网络状态和极端网络状态下,均能够确定适当的限速消息的主题范围,从而对过量消息进行限速,避免网络风险情况的发生,也降低了人力物力成本。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种消息处理方法及装置的系统框图。

图2是根据一示例性实施例示出的一种消息处理方法的流程图。

图3是根据另一示例性实施例示出的一种消息处理方法的流程图。

图4是根据另一示例性实施例示出的一种消息处理方法的流程图。

图5是根据另一示例性实施例示出的一种消息处理方法的流程图。

图6是根据一示例性实施例示出的一种消息处理装置的框图。

图7是根据另一示例性实施例示出的一种消息处理装置的框图。

图8是根据一示例性实施例示出的一种电子设备的框图。

图9是根据一示例性实施例示出的一种计算机可读介质的框图。

具体实施方式

在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。

附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。

附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理单元装置和/或微控制器装置中实现这些功能实体。

各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。

图1是根据一示例性实施例示出的一种消息处理方法、装置、电子设备及计算机可读介质的系统框图。

如图1所示,系统架构10可以包括客户端101、102、103,服务端104、105,注册中心106,还可包括网络,网络用以在客户端101、102、103和服务端104、105、注册中心106之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用客户端101、102、103通过网络与服务端104、105交互,以接收或发送消息等。客户端101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

客户端101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务端104、105可以分布式集群中的服务端,服务端104、105可对来自客户端101、102、103的消息进行分布式处理,并生成结果返回给客户端。

注册中心106可和服务端104、105共同构成分布式集群,注册中心106可用于对服务端104、105处理的消息进行管控,注册中心106可根据当前消息流量,确定服务端104、105是否应该进行限速,还可确定服务端104、105对哪些主题消息进行限速。

服务端104、105可例如获取来自客户端101、102、103的多个消息;服务端104、105可例如基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;服务端104、105可例如在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;服务端104、105可例如将所述目标消息主题对应的多个消息进行抛弃处理。

服务端104、105还可例如接收由注册中心106发送的限速主题集合,所述限速主题集合中包括消息主题;服务端104、105还可例如接收来自客户端101、102、103的多个消息;服务端104、105还可例如确定所述多个消息对应的消息主题;服务端104、105还可例如在所述消息主题和所述限速主题集合中的消息主题一致时,抛弃所述消息主题对应的消息。

服务端104、105还可例如获取所述服务端的消息队列对应的堆内存的可用内存;服务端104、105还可例如在所述可用空间阈值小于第一空间阈值时,接收所述多个消息。

服务端104、105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的消息处理方法可以由服务端104、105和注册中心106执行,相应地,消息处理装置可以设置于服务端104、105和注册中心106中。

图2是根据一示例性实施例示出的一种消息处理方法的流程图。消息处理方法20可应用于分布式服务集群中的服务端,至少包括步骤s202至s208。

如图2所示,在s202中,服务端获取来自多个客户端的多个消息。

在s204中,基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名。统计当前时间该服务端的所有待处理的消息的总数据和每个消息主题中消息的数量。

在一个实施例中,为了取得最优的效率,服务端可每隔10ms统计出消息量top5的主题。

在s206中,在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题。可根据所述服务端的最大承担能力确定预设阈值区间。可在服务端上线之前进行压力测试,测出服务端最大承载能力。

其中,在所述消息总量位于第一阈值区间时,将所述消息主题排名中的首位作为所述目标消息主题;可在消息量达到最大承载能力的80%时,抛弃消息量最大的主题。

其中,在所述消息总量位于第二阈值区间时,将所述消息主题排名中的首五位作为所述目标消息主题可在消息量达到最大承载能力的达到90%,抛弃消息量top5主题。

其中,在所述消息总量位于第三阈值区间时,将所述消息主题排名中的全部作为所述目标消息主题。可在消息量达到最大承载能力的达到95%,全量抛弃。

在s208中,将所述目标消息主题对应的多个消息进行抛弃处理。可例如,间隔预设时间后,将所述目标消息主题对应的多个消息进行抛弃处理。

在一个实际场景中,当某个主题流量异常时,可能迅速占用了单机承载能力的80%,此时,距离全量抛弃只剩15%,如果正常流量的主题发送量超过15%,就会引起全量抛弃,导致误抛。引起这个问题的原因是节点只根据当前秒汇总结果限速,流量异常的主题每秒钟都有大量消息参与统计,再被限速,导致正常主题配额不足。解决方案是根据上一秒的统计结果进行限速。

更具体的,按比例限速存在误抛正常主题的风险,如果能根据上一秒中的统计结果限速,就能在下一秒不接收异常流量的主题,保护正常主题全量接收。更具体的,根据当前获取的目标消息主题,对下2秒内的主体消息进行限速。

根据本公开的消息处理方法,服务端获取来自多个客户端的多个消息;基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;将所述目标消息主题对应的多个消息进行抛弃处理的方式,在正常网络状态和极端网络状态下,均能够确定适当的限速消息的主题范围,从而对过量消息进行限速,避免网络风险情况的发生,也降低了人力物力成本。

本公开的发明人发现,在达到单机承载极限时,速度最大的主题一般都是超速主题,所以,在本公开的消息处理方法中,选择尽快统计出最大速度主题的方式,以便在到达单机承载极限的一定比例的时候进行抛弃,能够有效减轻服务负载。其余主题可能继续增长,为了减小主题抛弃对业务线带来的影响,应该尽量减少抛弃主题的范围,同时又能最大限度减轻服务负载,选择消息量topn进行抛弃。当达到单机承载极限一定比例之后,如果不能再增加,就需要全量抛弃,避免服务宕机。

应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。

图3是根据另一示例性实施例示出的一种消息处理方法的流程图。消息处理方法30至少包括步骤s302至s308。

如图3所示,在s302中,接收由所述注册中心发送的限速主题集合,所述限速主题集合中包括消息主题。

其中,接收由所述注册中心发送的限速主题集合之前,还包括:服务端获取当前待处理的多个消息主题和其对应的消息数量;定时将所述多个消息主题和其对应的消息数量发送至分布式服务集群中的注册中心。服务端可每隔100ms上报主题qps到注册中心,每个主题上报消息格式:主题_秒级时间戳_qps,如主题201在毫秒1508317365363表示的时间上报100条消息量:201_1508317365000_100。

注册中心在单机内存中统计汇总主题qps,如果超过客户端申请的发送量,则推送限速标识给服务端,消息格式可为:主题_秒级时间戳,如主题201在毫秒1508317365363表示的时间需要限速,则消息格式可为:201_1508317365000。

服务端可用主题限速集合存储限速标识,并定期清理。

在s304中,接收来自多个客户端的多个消息。

在s306中,确定所述多个消息对应的消息主题。

在s308中,在所述消息主题和所述限速主题集合中的消息主题一致时,抛弃所述消息主题对应的消息。服务端接收客户端发送的消息,解析出主题,查询是否在限速主题集合中,如果是,抛弃消息。

服务端可以每秒作为限速周期,服务端每隔100ms上报主题速度到注册中心,注册中心汇总,如果超速,推送限速标识、主题和限速所在秒到服务端以便服务端在该秒内将后续接收到的指定主题的消息抛弃。

在本公开中,除了根据发送速度限速,还可根据当前堆内存使用情况限速。服务端接收到消息以后,会将封装消息的实体放入队列中,最终由处理线程从队列中取出实体做刷盘处理。由于服务节点在物理机上是混合部署,多个节点之间可能相互影响,降低刷盘速度,导致消息在队列中堆积,如果队列中的消息大小超过堆区可用于存储消息的大小,会导致服务宕机,所以需要根据消息队列消息总大小和刷盘延迟进行限速。具体如下:

图4是根据另一示例性实施例示出的一种消息处理方法的流程图。消息处理方法40至少包括步骤s402至s408。

如图4所示,在s402中,获取所述服务端的消息队列对应的堆内存的可用内存。具体可例如,基于内存管理功能获取实际最大内存;获取tracelog队列占用内存和基础信息占用内存;基于所述实际最大内存、tracelog队列占用内存和基础信息占用内存确定所述可用内存。

目前堆区中可包括tracelog队列和其他基础信息(包括连接对象和netty框架本身的对象等)。计算方法如下:

tracelog包括3部分(produce、store和consume),每部分在tracelog队列中总数不超过20w,tracelog内容是行日志,每行不超过150个字节,共计消耗:200000*3*150=90m。

基础信息占用内存的测试方法:

启动单节点服务,每隔2秒执行system.gc()出发fgc,然后通过runtime获取totalmemory和freememory,求两者之间的差值。

部署100个主题,每个主题1个发送者和2个订阅者(只启动即可,不发送消息)。

通过runtime获取maxmemory,减去tracelog队列占用内存和基础信息占用内存,即可获得消息队列可使用的最大内存。

在s404中,在所述可用空间阈值小于第一空间阈值时,接收所述多个消息。具体可例如,在所述可用空间阈值小于第一空间阈值且刷盘操作次数小于刷盘阈值时,接收所述多个消息。

在s406中,在所述可用空间大于第一空间阈值且小于第二空间阈值时,生成通知消息以使得客户端将后续消息发送至其他服务端。可在队列中的消息量达到堆内存可用空间80%,并且刷盘操作连续3次超过2秒时,服务端通知所有发送者将消息发送到主题所在集群的其他服务节点。

在s408中,在所述可用空间大于第二空间阈值时,抛弃所述多个消息。可在队列中的消息量达到堆内存可用空间100%,并且刷盘操作连续3次超过2秒,服务端抛弃所有收到的消息。

图5是根据另一示例性实施例示出的一种消息处理方法的流程图。图5所示的流程50是对本公开的消息处理方法的全过程的详细描述。

如图5所示,在s501中,是否超过内存限制。

在s502中,是否在消息队列刷盘恢复周期。

在s503中,是否超过主题申请阈值。

在s504中,是否是上一秒统计的限速主题。

在s505中,当前秒是否需要按比例限速。

在s506中,是否超过单机最大消息量的80%。

在s507中,是否是最多主题消息。

在s508中,是否超过单机最大消息量的90%。

在s509中,是否是top5主题消息。

在s510中,是否超过单机最大消息量的95%。

在s511中,存储。

在s512中,抛弃。

服务端以每秒作为限速周期,服务端每隔100ms上报主题速度到注册中心,注册中心汇总,如果超速,推送限速标识、主题和限速时间到服务端,服务端在该秒内将后续接收到的指定主题的消息抛弃。

除了根据发送速度限速,还可根据当前堆内存使用情况限速。服务端接收到消息以后,会将封装消息的实体放入队列中,最终由处理线程从队列中取出实体做刷盘处理。由于服务节点在物理机上是混合部署,多个节点之间可能相互影响,降低刷盘速度,导致消息在队列中堆积,如果队列中的消息大小超过堆区可用于存储消息的大小,会导致服务宕机,所以需要根据消息队列消息总大小和刷盘延迟进行限速。

服务端每隔10ms统计出消息量top5的主题。在消息量达到最大承载能力的一定比例之后开始执行限流策略:到达80%,抛弃消息量最大的主题;达到90%,抛弃消息量top5主题;达到95%,全量抛弃。

本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。

图6是根据另一示例性实施例示出的一种消息处理装置的框图。如图6所示,消息处理装置60可应用于分布式服务集群中的服务端,包括:获取模块602,计算模块604,目标模块606,抛弃模块608。

获取模块602用于服务端获取来自多个客户端的多个消息;

计算模块604用于基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;

目标模块606用于在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;可根据所述服务端的最大承担能力确定预设阈值区间。

抛弃模块608用于将所述目标消息主题对应的多个消息进行抛弃处理。可例如,间隔预设时间后,抛弃模块608将所述目标消息主题对应的多个消息进行抛弃处理。抛弃模块608用于还用于在所述消息主题和所述限速主题集合中的消息主题一致时,抛弃所述消息主题对应的消息。

图7是根据一示例性实施例示出的一种消息处理装置的框图。如图7所示,消息处理装置70可应用于分布式服务集群中的服务端,包括:集合模块702,预接收模块704,主题模块706,内存模块708,接收模块710。

集合模块702用于接收由所述注册中心发送的限速主题集合,所述限速主题集合中包括消息主题;

预接收模块704用于接收来自多个客户端的多个消息;

主题模块706用于确定所述多个消息对应的消息主题;

内存模块708用于获取所述服务端的消息队列对应的堆内存的可用内存;内存模块708还用于基于内存管理功能获取实际最大内存;获取tracelog队列占用内存和基础信息占用内存;基于所述实际最大内存、tracelog队列占用内存和基础信息占用内存确定所述可用内存。

接收模块710用于在所述可用空间阈值小于第一空间阈值时,接收所述多个消息。

根据本公开的消息处理装置,服务端获取来自多个客户端的多个消息;基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;将所述目标消息主题对应的多个消息进行抛弃处理的方式,在正常网络状态和极端网络状态下,均能够确定适当的限速消息的主题范围,从而对过量消息进行限速,避免网络风险情况的发生,也降低了人力物力成本。

图8是本发明的一个实施例的电子设备的结构示意图,该电子设备包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行基于旋转角监测的车辆智能助力推行方法。

如图8所示,电子设备以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子设备并不限于单一实体,也可以是多个实体设备的总和。

所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子设备能够执行本发明的方法,或者方法中的至少部分步骤。

所述存储器包括易失性存储器,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(rom)。

可选的,该实施例中,电子设备还包括有i/o接口,其用于电子设备与外部的设备进行数据交换。i/o接口可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

应当理解,图8显示的电子设备仅仅是本发明的一个示例,本发明的电子设备中还可以包括上述示例中未示出的元件或组件。例如,有些电子设备中还包括有显示屏等显示单元,有些电子设备还包括人机交互元件,例如按扭、键盘等。只要该电子设备能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子设备。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图9所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。

所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能::服务端获取来自多个客户端的多个消息;基于所述多个消息的消息主题和其对应的消息数量实时生成消息总量和消息主题排名;在所述消息总量位于预设阈值区间时,基于所述消息主题排名提取目标消息主题;将所述目标消息主题对应的多个消息进行抛弃处理。本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。

以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

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