CN112667476B - 基于任务的消息过滤方法、装置、设备及存储介质 - Google Patents
基于任务的消息过滤方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112667476B CN112667476B CN202011604442.9A CN202011604442A CN112667476B CN 112667476 B CN112667476 B CN 112667476B CN 202011604442 A CN202011604442 A CN 202011604442A CN 112667476 B CN112667476 B CN 112667476B
- Authority
- CN
- China
- Prior art keywords
- message
- filtering
- task
- service
- configuration table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据分析的智能推荐技术领域,公开了一种基于任务的消息过滤方法、装置、设备及存储介质,用于通过任务统一配置过滤任务的方式对消息进行实时有效地过滤,让消息消费者拿到的消息都是满足条件的有效消息,并减少了硬件资源的投入、节省了开发成本。方法包括:监听消息中间件收发的消息;所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;若不符合则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者,本发明还涉及区块链技术。
Description
技术领域
本发明涉及数据分析的智能推荐技术领域,尤其涉及一种基于任务的消息过滤方法、装置、设备及存储介质。
背景技术
在传统实现消息过滤的方法中,消息消费者一般通过监听某一个消息主题及消息类型,针对这有效的消息进行消息消费,对于无效消息需要消费者进行自行过滤。这种方式使得每个消息消费者接收并处理的消息量是所有消息总量,即需要处理全量的消息以排除过滤掉无效消息,导致大部分的硬件资源都被无效消息所消耗。此外,开发人员还需要针对每个运营场景,譬如支付场景、重要物品发货通知、特定店铺订单统计、指定品牌订单返券、指定品牌订单统计等等,都需要针对处理对应消息的过滤逻辑,导致开发成本过高。因此,基于传统订阅消费模式资源浪费问题较为严重,需要实现一种统一过滤的方式,对消息进行实时有效地过滤,让消息消费者拿到的消息都是满足条件的有效消息,并减少了硬件资源的投入、同时也能节省开发成本。
发明内容
本发明提供一种基于任务的消息过滤方法、装置、设备及存储介质,其主要目的在于提供一种基于任务的消息过滤方法、设备及存储介质,旨在实现统一配置过滤任务对消息进行实时有效地过滤,让消息消费者拿到的消息都是满足条件的有效消息,以减少硬件资源的投入、同时节省开发成本。
为实现上述目的,本发明第一方面提供了一种基于任务的消息过滤方法,所述方法包括:
监听消息中间件收发的消息;
所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;
通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;
若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;
若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者。
可选的,本发明第一方面所述基于任务的消息过滤方法的另一实施例中,所述监听消息中间件收发的消息之前,所述方法还包括:
获取各个所述消息对应的待过滤属性,将所述待过滤属性作为过滤项,其中,所述过滤项包括过滤属性、属性名称、消息主题与消息类型;
根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表。
可选的,本发明第一方面所述基于任务的消息过滤方法的另一实施例中,所述根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表之后,所述方法还包括:
根据各个所述业务场景配置的过滤需求,基于所述过滤属性配置表,对每个所述业务场景设置对应的过滤规则;
根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表。
可选的,本发明第一方面所述基于任务的消息过滤方法的另一实施例中,所述根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表具体包括:
对每个所述过滤规则,根据对应的业务场景配置相应的业务过滤项,其中,所述业务过滤项包括过滤属性、消息主题、消息类型、过滤类型、属性值、业务场景、任务编号及消费者;
根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点。
可选的,本发明第一方面所述基于任务的消息过滤方法的另一实施例中,所述根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点之后,还包括:
根据每个所述过滤任务,配置对应的消息过滤流程,其中,每个所述消息过滤流程用于被执行时实现对对应的业务场景的消息过滤。
可选的,本发明第一方面所述基于任务的消息过滤方法的另一实施例中,所述消息中间件为ActiveMQ、RabbitMQ、Kafka、RocketMQ中的一种,当所述消息包括同一消息主题的多个子消息且每个所述子消息相互关联时,所述通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配之后,还包括:
根据所述消息中间件中预设的消息标签,对符合预设条件的子消息进行打标签处理,得到带有消息标签标识的子消息;
所述判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者之后,还包括:
判断所述有效消息中的每个子消息是否带有消息标签标识;
若是则将带有消息标签标识的子消息排列在优先消费序列,并向所述目标消息消费者发送优先消费通知。
本发明第二方面提供了一种基于任务的消息过滤装置,所述装置包括:
监听模块,用于监听消息中间件收发的消息;
触发模块,用于所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;
业务过滤项匹配模块,用于通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;
丢弃模块,用于若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;
推送模块,用于若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者。
本发明第三方面提供了一种基于任务的消息过滤设备,包括存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于任务的消息过滤设备执行上述第一方面所述的基于任务的消息过滤方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的基于任务的消息过滤方法。
本发明提供的技术方案中,通过监听消息中间件收发的消息;所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者,即通过统一配置过滤任务进行实时有效地过滤,让消息消费者拿到的消息都是满足条件的有效消息,以减少硬件资源的投入、并且使研发人 员能专注于业务逻辑处理,节省了开发成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例中基于任务的消息过滤方法的一个实施例过程示意图;
图2为本发明实施例中基于任务的消息过滤装置的一个实施例示意图;
图3为本发明实施例中基于任务的消息过滤设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于任务的消息过滤方法、装置、设备及存储介质,用于通过任务统一配置的方式对消息进行实时有效地过滤,让消息消费者拿到的消息都是满足条件的有效消息,并减少了硬件资源的投入、同时也能节省开发成本。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术中,传统的消息消费者都是监听某一个消息主题及消息类型,针对这一类消息进行消息消费,对于无效消息需要消费者进行过滤。比如,A应用通过监听支付消息,实现为单笔满1000元的订单返100元消费券;如果使用传统的订阅消费方式,消费者应用A订阅消息后,会接受到此消息主题下所有的支付消息,处理的消息量也是支付的订单总量。如果应用B通过监听支付消息统计满1000元的所有订量,如果使用传统的订阅消费方式,消费者B订阅消息后,也会接受到此消息主题下所有的支付消息,处理的消息量也是支付订单总量。这种方式主是各消费方都需要处理全量的支付消息,假设支付订单峰值QPS为1000,支付金额超1000元的订单支付峰值QPS为50,假如,一台机器能处理的最大QPS为50,那么我们需要为A应用、B应用分别准备20台机器资源,也就是共40台机器,其中,大部分的资源都被无效消息所消耗。与此类似的业务场景还有重要物品发货通知、特定店铺订单统计、指定品牌订单返券、指定品牌订单统计等等。
本发明提供的基于任务的消息过滤方法能解决了目前存在基于传统订阅消费模式资源浪费严重的问题,可以让消息消费者拿到的消息都是满足条件的有效消息,并减少了硬件资源的投入、同时也能节省开发成本,以下分别进行详细的说明。
参阅图1,本发明实施例中基于任务的消息过滤方法的一个实施例包括:
步骤101、监听消息中间件收发的消息;
步骤102、所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;
步骤103、通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;
步骤104、若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;
步骤105、若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者。
具体实施时,消息中间件可以为ActiveMQ、RabbitMQ、Kafka、RocketMQ中的一种;本发明消息过滤服务器通过监听消息中间件收发的消息、并通过消息中间件接收根据用户操作指令触发出的消息,通过预先创建的过滤任务配置表对消息的消息主题、消息类型及业务场景进行业务过滤项匹配,若消息的消息主题、消息类型及业务场景符合过滤任务配置表中对应的业务过滤项,则判定消息为无效消息并将消息丢弃;若消息的消息主题、消息类型及业务场景不符合过滤任务配置表中对应的业务过滤项,则判定消息为有效消息并将消息推送给符合预设条件的目标消息消费者。
譬如,消息过滤服务向消息中间件监听支付完成消息,当用户在购物平台上购买商品,完成支付动作时,触发系统向消息中间件发出支付成功消息;消息过滤服务同时接受到完成支付消息;消息过滤服务根据消息主题及消息类型匹配符合条件的过滤任务配置表;如果符合条件的为空,即消息的消息主题、消息类型及业务场景符合过滤任务配置表中对应的业务过滤项,则判定消息为无效消息并将消息丢弃。消息的消息主题、消息类型及业务场景不符合过滤任务配置表中对应的业务过滤项,则判定消息为有效消息并将消息推送给符合预设条件的目标消息消费者;这样,各消费者应用接受到的消息都是符合其条件的有效消息,无效消息都被消息过滤服务拦截。
首先在硬件资源节省方面,如不同的业务场景在不同的应用中,消息的总体并发为1000,满足条件的消息并发都为50,假如一台机器能处理的最大消息并发为50,那么采用本发明就只需要为一个场景投入1台机器就能满足硬件资源的要求;改进前则需要为每个场景投入20台机器资源;这样,运营场景越多节省的硬件成本就越多。其次,开发成本省节方面,技术方案改进后,每个运营场景的开发都不需要处理消息的过滤逻辑,而只需要在消息过滤服务器中配置过滤任务即可,让开发人员专注于业务逻辑处理。进一步地,使用本方案,可以继续扩展接入更多的消息,容纳更多的业务场景,不断迭代升级,以更低的成本投入接入更多的业务场景,节省硬件资源及人力资源投入的同时,也能提升业绩。
进一步地,在所述监听消息中间件收发的消息之前,所述方法还包括:
获取各个所述消息对应的待过滤属性,将所述待过滤属性作为过滤项,其中,所述过滤项包括过滤属性、属性名称、消息主题与消息类型;
根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表。
具体实施时,消息服务器通过梳理并获取各类消息需要过滤的属性,作为过滤项按消息主题进行分类配置处理,以创建过滤属性配置表,作为过滤任务配置表的基础,以便于后续创建过滤任务配置表。
譬如,针对支付和价格消息主题的过滤属性配置表如下表所示:
过滤属性 | 属性名称 | 消息主题 | 消息类型 |
amount | 支付金额 | sub_pay | number |
num | 价值 | sub_ic | number |
进一步地,所述根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表之后,所述方法还包括:
根据各个所述业务场景配置的过滤需求,基于所述过滤属性配置表,对每个所述业务场景设置对应的过滤规则;
根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表。
具体地,消息服务器根据各个业务场景,譬如满返券、订单确认、发货通知等等不同的过滤需求,基于上述过滤属性配置表,对每个业务场景设置对应的过滤规则,从而创建所述过滤任务配置表。
具体实施时,所述根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表具体包括:对每个所述过滤规则,根据对应的业务场景配置相应的业务过滤项,其中,所述业务过滤项包括过滤属性、消息主题、消息类型、过滤类型、属性值、业务场景、任务编号及消费者;根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点。
譬如,针对满返券、订单确认、发货通知场景创建的过滤任务配置表如下表所示:
过滤属性 | 属性名称 | 消息主题 | 消息类型 | 过滤类型 | 属性值 | 业务场景 | 任务编号 | 消费者 |
amount | 支付金额 | sub_pay | 支付消息 | 大于等于 | 1000 | 满返券 | 1101 | 应用A |
amount | 支付金额 | sub_pay | 支付消息 | 大于等于 | 500 | 订单确认 | 1102 | 应用B |
num | 价值 | sub_ic | 发货消息 | 大于等于 | 2000 | 发货通知 | 1103 | 应用C |
进一步地,所述根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点之后,还包括:
根据每个所述过滤任务,配置对应的消息过滤流程,其中,每个所述消息过滤流程用于被执行时实现对对应的业务场景的消息过滤。
由此可见,可根据不同的业务场景需求,配置多个过滤任务帮助下游业务系统集中完成消息过滤流程,减小每个下游系统面对的并发量,从而减少软硬件资源配置,达到节约总体成体的目的。本发明实现统一的消息过滤服务,根据配置的过滤任务规则,对消息进行实时过滤,让消息消费者拿到的消息都是满足条件的有效消息,从而解决基于传统订阅消费模式资源浪费严重的问题。
进一步地,当所述消息包括同一消息主题的多个子消息且每个所述子消息相互关联时,所述通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配之后,还包括:
根据所述消息中间件中预设的消息标签,对符合预设条件的子消息进行打标签处理,得到带有消息标签标识的子消息。
具体实施时,由于消息中间件提供消息标签的能力,支持生产者为每条消息提供一个或多个标签。标签是用来区分某个消息队列的消息主题下的消息分类,通常情况下,标签可以用来区分同一个消息主题下相互关联的消息。本发明根据消息中间件中预设的消息标签,对符合预设条件的子消息进行打标签处理,得到带有消息标签标识的子消息。
进一步地,所述判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者之后,还包括:
判断所述有效消息中的每个子消息是否带有消息标签标识;
若是则将带有消息标签标识的子消息排列在优先消费序列,并向所述目标消息消费者发送优先消费通知。
具体实施时,过滤消息服务器通过判断上述有效消息中的每个子消息是否带有消息标签标识;若是则将带有消息标签标识的子消息排列在优先消费序列,并向目标消息消费者发送优先消费通知。即消费者则根据标签的内容来过滤子消息,且确保每个消费者能够优先消费到它感兴趣的消息类型,提高消息消费效率。
综上可知,本发明提供的一种基于任务的消息过滤方法,通过监听消息中间件收发的消息;所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者,即通过统一配置过滤任务进行实时有效地过滤,让消息消费者拿到的消息都是满足条件的有效消息,以减少硬件资源的投入、并且使研发人 员能专注于业务逻辑处理,节省了开发成本。
上面对本发明实施例中基于任务的消息过滤方法进行了描述,下面对本发明实施例中基于任务的消息过滤装置进行描述,请参阅图2,本发明实施例中基于任务的消息过滤装置的一个实施例包括:
监听模块21,用于监听消息中间件收发的消息;
触发模块22,用于所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;
业务过滤项匹配模块23,用于通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;
丢弃模块24,用于若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;
推送模块25,用于若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者。
可选的,在本发明基于任务的消息过滤装置的另一个实施例中,所述装置还包括:
过滤项获取模块,用于获取各个所述消息对应的待过滤属性,将所述待过滤属性作为过滤项,其中,所述过滤项包括过滤属性、属性名称、消息主题与消息类型;
过滤属性配置表创建模块,用于根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表。
可选的,在本发明基于任务的消息过滤装置的另一个实施例中,所述装置还包括:
过滤规则设置模块,用于根据各个所述业务场景配置的过滤需求,基于所述过滤属性配置表,对每个所述业务场景设置对应的过滤规则;
过滤任务配置表创建模块,用于根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表。
可选的,在本发明基于任务的消息过滤装置的另一个实施例中,所述过滤任务配置表创建模块具体包括:
业务过滤项配置单元,用于对每个所述过滤规则,根据对应的业务场景配置相应的业务过滤项,其中,所述业务过滤项包括过滤属性、消息主题、消息类型、过滤类型、属性值、业务场景、任务编号及消费者;
创建单元,用于根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点。
可选的,在本发明基于任务的消息过滤装置的另一个实施例中,所述过滤任务配置表创建模块还包括:
消息过滤流程配置单元,用于根据每个所述过滤任务,配置对应的消息过滤流程,其中,每个所述消息过滤流程用于被执行时实现对对应的业务场景的消息过滤。
可选的,在本发明基于任务的消息过滤装置的另一个实施例中,所述消息中间件为ActiveMQ、RabbitMQ、Kafka、RocketMQ中的一种,当所述消息包括同一消息主题的多个子消息且每个所述子消息相互关联时,所述装置还包括:
打标签模块,用于根据所述消息中间件中预设的消息标签,对符合预设条件的子消息进行打标签处理,得到带有消息标签标识的子消息;
可选的,在本发明基于任务的消息过滤装置的另一个实施例中,所述装置还包括:
标签判断模块,用于判断所述有效消息中的每个子消息是否带有消息标签标识;
优先消费提醒模块,用于若是则将带有消息标签标识的子消息排列在优先消费序列,并向所述目标消息消费者发送优先消费通知。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
需要说明的是,本发明实施例中的装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实例中的相关描述,此处不再赘述。
上面图2从模块化功能实体的角度对本发明实施例中的基于任务的消息过滤装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于任务的消息过滤设备进行详细描述。
图3是本发明实施例提供的一种基于任务的消息过滤设备的结构示意图,该基于任务的消息过滤设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)301(例如,一个或一个以上处理器)和存储器309,一个或一个以上存储应用程序307或数据306的存储介质308(例如一个或一个以上海量存储设备)。其中,存储器309和存储介质308可以是短暂存储或持久存储。存储在存储介质308的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对图计算的布尔型变量存储中的一系列指令操作。更进一步地,处理器301可以设置为与存储介质308通信,在基于任务的消息过滤设备300上执行存储介质308中的一系列指令操作。
基于任务的消息过滤设备300还可以包括一个或一个以上电源302,一个或一个以上有线或无线网络接口303,一个或一个以上输入输出接口304,和/或,一个或一个以上操作系统305,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图3中示出的基于任务的消息过滤设备结构并不构成对基于任务的消息过滤设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中,该计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory, ROM)、随机存取存储器(randomaccess memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于任务的消息过滤方法,其特征在于,所述方法包括:
监听消息中间件收发的消息;
所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;
通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;
若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;
若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者;
所述消息中间件为ActiveMQ、RabbitMQ、Kafka、RocketMQ中的一种,当所述消息包括同一消息主题的多个子消息且每个所述子消息相互关联时,所述通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配之后,还包括:
根据所述消息中间件中预设的消息标签,对符合预设条件的子消息进行打标签处理,得到带有消息标签标识的子消息;
所述判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者之后,还包括:
判断所述有效消息中的每个子消息是否带有消息标签标识;
若是则将带有消息标签标识的子消息排列在优先消费序列,并向所述目标消息消费者发送优先消费通知;
其中,每一所述业务场景,可对应配置多个过滤任务。
2.根据权利要求1所述的基于任务的消息过滤方法,其特征在于,所述监听消息中间件收发的消息之前,所述方法还包括:
获取各个所述消息对应的待过滤属性,将所述待过滤属性作为过滤项,其中,所述过滤项包括过滤属性、属性名称、消息主题与消息类型;
根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表。
3.根据权利要求2所述的基于任务的消息过滤方法,其特征在于,所述根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表之后,所述方法还包括:
根据各个所述业务场景配置的过滤需求,基于所述过滤属性配置表,对每个所述业务场景设置对应的过滤规则;
根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表。
4.根据权利要求3所述的基于任务的消息过滤方法,其特征在于,所述根据每个所述过滤规则配置对应的过滤任务,创建所述过滤任务配置表具体包括:
对每个所述过滤规则,根据对应的业务场景配置相应的业务过滤项,其中,所述业务过滤项包括过滤属性、消息主题、消息类型、过滤类型、属性值、业务场景、任务编号及消费者;
根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点。
5.根据权利要求4所述的基于任务的消息过滤方法,其特征在于,所述根据每个所述业务过滤项配置对应的过滤任务,创建所述过滤任务配置表,所述过滤任务配置表可以存储至区块链节点之后,还包括:
根据每个所述过滤任务,配置对应的消息过滤流程,其中,每个所述消息过滤流程用于被执行时实现对对应的业务场景的消息过滤。
6.一种基于任务的消息过滤装置,其特征在于,所述装置包括:
监听模块,用于监听消息中间件收发的消息;
触发模块,用于所述消息中间件接收根据用户操作指令触发出的消息,其中,所述用户操作指令为用户根据不同业务场景对应操作发出;
业务过滤项匹配模块,用于通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配;
丢弃模块,用于若所述消息的消息主题、消息类型及业务场景符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为无效消息并将所述消息丢弃;
推送模块,用于若所述消息的消息主题、消息类型及业务场景不符合所述过滤任务配置表中对应的业务过滤项,则判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者;
所述消息中间件为ActiveMQ、RabbitMQ、Kafka、RocketMQ中的一种,当所述消息包括同一消息主题的多个子消息且每个所述子消息相互关联时,所述通过预先创建的过滤任务配置表对所述消息的消息主题、消息类型及业务场景进行业务过滤项匹配之后,还包括:
根据所述消息中间件中预设的消息标签,对符合预设条件的子消息进行打标签处理,得到带有消息标签标识的子消息;
所述判定所述消息为有效消息并将所述消息推送给符合预设条件的目标消息消费者之后,还包括:
判断所述有效消息中的每个子消息是否带有消息标签标识;
若是则将带有消息标签标识的子消息排列在优先消费序列,并向所述目标消息消费者发送优先消费通知;
其中,每一所述业务场景,可对应配置多个过滤任务。
7.根据权利要求6所述的基于任务的消息过滤装置,其特征在于,所述装置还包括:
过滤项获取模块,用于获取各个所述消息对应的待过滤属性,将所述待过滤属性作为过滤项,其中,所述过滤项包括过滤属性、属性名称、消息主题与消息类型;
过滤属性配置表创建模块,用于根据所述消息的消息主题对所述过滤项进行分类处理,创建过滤属性配置表。
8.一种基于任务的消息过滤设备,其特征在于,所述基于任务的消息过滤设备包括存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互联;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于任务的消息过滤设备执行如权利要求1-5中任意一项所述的基于任务的消息过滤方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述基于任务的消息过滤方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011604442.9A CN112667476B (zh) | 2020-12-30 | 2020-12-30 | 基于任务的消息过滤方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011604442.9A CN112667476B (zh) | 2020-12-30 | 2020-12-30 | 基于任务的消息过滤方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667476A CN112667476A (zh) | 2021-04-16 |
CN112667476B true CN112667476B (zh) | 2023-02-14 |
Family
ID=75410738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011604442.9A Active CN112667476B (zh) | 2020-12-30 | 2020-12-30 | 基于任务的消息过滤方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667476B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979308B (zh) * | 2022-05-11 | 2024-04-16 | 北京沃东天骏信息技术有限公司 | 一种消息处理的方法和装置 |
CN114979178B (zh) * | 2022-05-12 | 2023-11-10 | 中国人民解放军陆军装甲兵学院 | 一种基于消息队列的消息流向控制平台及方法 |
CN115047835A (zh) * | 2022-06-27 | 2022-09-13 | 中国核动力研究设计院 | 基于dcs系统定期试验数据获取方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143198A (zh) * | 2010-09-30 | 2011-08-03 | 华为技术有限公司 | 消息传送方法、装置和系统 |
CN103679392A (zh) * | 2013-12-26 | 2014-03-26 | 拉卡拉支付有限公司 | 一种任务调度处理方法及系统 |
CN104754036A (zh) * | 2015-03-06 | 2015-07-01 | 合一信息技术(北京)有限公司 | 一种基于kafka的消息处理系统及处理方法 |
CN108011805A (zh) * | 2016-12-29 | 2018-05-08 | 北京车和家信息技术有限责任公司 | 消息过滤的方法、装置、中间服务器及车联网系统 |
CN109684370A (zh) * | 2018-09-07 | 2019-04-26 | 平安普惠企业管理有限公司 | 日志数据处理方法、系统、设备及存储介质 |
CN111711561A (zh) * | 2020-06-17 | 2020-09-25 | 平安科技(深圳)有限公司 | 消息分类的处理方法、装置及计算机设备 |
CN111931110A (zh) * | 2020-08-12 | 2020-11-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种消息推送处理方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761523B2 (en) * | 2007-02-09 | 2010-07-20 | Research In Motion Limited | Schedulable e-mail filters |
CN107431664B (zh) * | 2015-01-23 | 2021-03-12 | 电子湾有限公司 | 消息传递系统和方法 |
-
2020
- 2020-12-30 CN CN202011604442.9A patent/CN112667476B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143198A (zh) * | 2010-09-30 | 2011-08-03 | 华为技术有限公司 | 消息传送方法、装置和系统 |
CN103679392A (zh) * | 2013-12-26 | 2014-03-26 | 拉卡拉支付有限公司 | 一种任务调度处理方法及系统 |
CN104754036A (zh) * | 2015-03-06 | 2015-07-01 | 合一信息技术(北京)有限公司 | 一种基于kafka的消息处理系统及处理方法 |
CN108011805A (zh) * | 2016-12-29 | 2018-05-08 | 北京车和家信息技术有限责任公司 | 消息过滤的方法、装置、中间服务器及车联网系统 |
CN109684370A (zh) * | 2018-09-07 | 2019-04-26 | 平安普惠企业管理有限公司 | 日志数据处理方法、系统、设备及存储介质 |
CN111711561A (zh) * | 2020-06-17 | 2020-09-25 | 平安科技(深圳)有限公司 | 消息分类的处理方法、装置及计算机设备 |
CN111931110A (zh) * | 2020-08-12 | 2020-11-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种消息推送处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112667476A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112667476B (zh) | 基于任务的消息过滤方法、装置、设备及存储介质 | |
US9369521B2 (en) | Naming of distributed business transactions | |
CN112667414A (zh) | 基于消息队列的消息消费方法、装置、计算机设备及介质 | |
CN104579905B (zh) | 消息传递方法和系统及mom服务器、接收端 | |
CN105471671A (zh) | 一种云平台资源自定义监控规则的方法 | |
US6240453B1 (en) | Managing unused resources in a service application | |
CN109636304B (zh) | 业务系统的发布方法及装置、存储介质、电子装置 | |
CN111274052A (zh) | 数据分发方法、服务器及计算机可读存储介质 | |
CN110928655A (zh) | 一种任务处理方法及装置 | |
CN101652750A (zh) | 数据处理装置、分散处理系统、数据处理方法及数据处理程序 | |
CN111399909A (zh) | 业务系统数据分发处理方法、装置及存储介质 | |
CN110851248A (zh) | 异步任务数据处理方法、装置及计算机可读存储介质 | |
CN112017007A (zh) | 用户行为数据的处理方法及装置、计算机设备、存储介质 | |
CN113553310A (zh) | 数据的采集方法及装置、存储介质、电子设备 | |
US20120072589A1 (en) | Information Processing Apparatus and Method of Operating the Same | |
CN114710571A (zh) | 数据包处理系统 | |
CN114153862A (zh) | 业务数据处理方法、装置、设备及存储介质 | |
CN113434742A (zh) | 账号的筛选方法和装置、存储介质及电子装置 | |
CN110009273B (zh) | 信息处理方法及装置、存储介质、电子装置 | |
CN111212112B (zh) | 信息处理方法和装置 | |
CN113743879A (zh) | 一种自动化规则处理方法、系统以及相关设备 | |
CN111538604B (zh) | 分布式任务处理系统 | |
CN111756836A (zh) | 一种基于事件管理模型的信息发送方法及装置 | |
CN112417015A (zh) | 数据分发方法和装置、存储介质及电子装置 | |
CN101923624A (zh) | 基于管道流的rfid事件处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |