CN114466062B - 消息分发方法和装置 - Google Patents
消息分发方法和装置 Download PDFInfo
- Publication number
- CN114466062B CN114466062B CN202210118024.1A CN202210118024A CN114466062B CN 114466062 B CN114466062 B CN 114466062B CN 202210118024 A CN202210118024 A CN 202210118024A CN 114466062 B CN114466062 B CN 114466062B
- Authority
- CN
- China
- Prior art keywords
- module
- message
- listener
- record table
- management record
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及移动设备领域,尤其涉及一种消息分发方法和装置。一种消息分发方法,所述方法应用于消息管理模块,所述方法包括:接收到第一消息时,确定与所述第一消息关联的功能模块标识信息;确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,其中所述消息管理记录表注册有若干功能模块和若干监听者模块,所述监听者模块用于对一个或者多个功能模块的消息进行监听;如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块;将所述第一消息分发给所述目标监听者模块。通过设置消息管理模块作为媒介,向在消息管理记录表内完成注册的监听者模块进行了消息分发。
Description
【技术领域】
本申请涉及移动设备领域,尤其涉及一种消息分发方法和装置。
【背景技术】
功能模块在分发消息时通常通过调用监听者模块接口的方式,直接将消息发送给监听者模块。这样在为不同监听者模块分发消息的过程中,功能模块需要不停调用各个监听者模块的接口以对实现消息发送,导致了功能模块与监听者模块具有很强的耦合关系。同时可扩展性较差,当消息管理模块需要更改接受的内容时需要针对各个功能模块逐一修改。
【发明内容】
有鉴于此,本发明实施例提供了一种消息分发方法和装置,用以实现对监听模块进行消息分发。
第一方面,本发明实施例提供了一种消息分发方法,所述方法应用于消息管理模块,所述方法包括:
接收到第一消息时,确定与所述第一消息关联的功能模块标识信息;
确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,其中所述消息管理记录表注册有若干功能模块和若干监听者模块,所述监听者模块用于对一个或者多个功能模块的消息进行监听;
如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块;
将所述第一消息分发给所述目标监听者模块。
可选的,所述确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,包括:
如果所述消息管理记录表中存在与所述功能模块标识信息完全一致、且完成注册的第一功能模块,则确定所述第一功能模块注册在所述消息管理记录表。
可选的,所述消息管理记录表记录有每个所述监听者模块的监听需求信息,所述监听需求信息包含监听者模块需要监听的功能模块标识;
根据所述消息管理记录表确定所述第一功能模块的目标监听者模块,包括:
根据所述消息管理记录表中各个监听者模块的监听需求信息,确定需要接收所述第一消息的监听者模块,将需要接收所述第一消息的监听者模块确定为所述目标监听者模块。
可选的,每个所述监听者模块的监听需求信息还包含需要接收的消息段信息;
将所述第一消息分发给所述目标监听者模块,包括:
根据所述目标监听者模块的监听需求信息,确定所述目标监听者模块需要接收的第一消息的目标消息段;
将所述第一消息的目标消息段发送给所述目标监听者模块。
可选的,将所述第一消息分发给所述目标监听者模块,包括:
确定处于活跃状态的目标监听者模块;
将所述第一消息分发给处于活跃状态的目标监听者模块。
可选的,所述方法还包括:
接收到待注册监听者模块的注册指令时,从所述注册指令中确定所述待注册监听者模块的监听需求信息,所述监听需求信息包含所述待注册监听者模块需要监听的功能模块标识;
将所述待注册监听者模块的标识信息和监听需求信息注册进所述消息管理记录表。
可选的,所述方法还包括:
接收到监听者模块的删除指令时,将所述删除指令对应的监听者模块的标识信息和监听需求信息从所述消息管理记录表中删除。
第二方面,本发明实施例提供了一种消息分发装置,包括:
接收模块,接收到第一消息时,确定与所述第一消息关联的功能模块标识信息;
第一确定模块,确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,其中所述消息管理记录表注册有若干功能模块和若干监听者模块,所述监听者模块用于对一个或者多个功能模块的消息进行监听;
第二确定模块,如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块;
分发模块,将所述第一消息分发给所述目标监听者模块。
第三方面,本发明实施例提供了一种消息分发设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第一方面任一所述的方法。
根据上述方法,通过设置消息管理模块作为媒介,将从功能模块接收到的消息向在消息管理记录表内完成注册的监听者模块实现了消息分发,避免了功能模块对各监听者模块接口的反复调取。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种消息分发方法的流程图;
图2为本发明实施例提供的一种消息分发装置的结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
移动设备中通常设有功能模块与监听者模块。功能模块用于采集各类信息,并将信息发送给监听者模块。而监听者模块通过接收功能模块发送的信息,并对其进行进一步处理,以实现对信息的利用。一般功能模块通常是移动设备搭载的各类硬件设备,而监听者模块通常是移动设备上安装的应用程序。
在功能模块向监听者模块发送消息的过程中,往往需要调用监听者模块的接口,并实现消息发送。因此功能模块在需要向多个监听者模块发送消息时,需要反复调用个监听者模块的接口,并逐一发送,十分繁琐。
本发明实施例将消息管理模块作为媒介,功能模块发出的消息不再直接发送给监听者模块,而是发送给消息管理模块。消息管理模块在接收到消息后,按照各监听者模块注册的监听需求信息,将消息分发给在其内部完成注册的监听者模块。
本发明实施例提供了一种消息分发方法。如图1所示,所述方法应用于消息管理模块,该方法的处理步骤包括:
101,消息管理模块接收到第一消息时,确定与所述第一消息关联的功能模块标识信息。
消息管理模块接收到的第一消息中,包含着发送第一消息的第一功能模块的功能模块标识信息。
具体的,第一功能模块在发送第一消息时,会为第一消息设置特有的标识信息。为第一消息设置的标识信息通常由高16位标识信息和低16位标识信息组成。其中,高16位标识信息与第一功能模块的功能模块标识信息一致,通过第一消息标识信息的高16位标识信息可以具体确定出第一消息由哪一个功能模块发送。消息管理模块在接收到第一消息时,将第一消息的高16位标识信息确定为与第一消息关联的功能模块标识信息。
而第一消息的低16位标识信息用于为每个消息进行具体标识,并与第一功能模块发送的其他消息进行区分。
102,确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表。
如表1所示,为本发明实施例提供的一个消息管理记录表。
client_handle1 | client_handle2 | … | client_handleN | |
功能module1 | client_i nfo | client_info | …… | client_info |
功能module2 | client_info | client_info | …… | client_info |
…… | …… | …… | …… | …… |
功能moduleN | client_info | client_info | … | client_info |
表1消息管理管理记录表
具体的,在消息管理模块中储存的消息管理记录表注册有若干功能模块和若干监听者模块。参见表1,第一列所记录的功能moudle1至功能moudleN为在消息管理记录表中注册的N个功能模块;第一行所记录的client_handle1至client_handleN为在消息管理记录表中记录的N个监听者模块。其中注册的每一个监听者模块均用于对一个或者多个功能模块发送的消息进行监听。
确定完成注册的各个功能模块各自的标识信息。如果消息管理记录表中存在与所述功能模块标识信息完全一致、且完成注册的第一功能模块,则确定第一功能模块注册在所述消息管理记录表,并将消息管理记录表中对应的功能模块确定为第一功能模块。
103,如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块。
消息管理记录表中还记录有每个监听者模块的监听需求信息。消息管理模块在对监听者模块分发第一消息时,会根据各监听者模块在消息管理记录表中注册的监听需求信息,确定出需要接收第一消息的目标监听者模块。
参见表1,任意一行的功能模块与任意一列的监听者模块的交汇处,所记录的client_info为该列对应监听者模块对该行对应功能模块的监听需求信息。消息管理模块在将某一行的功能模块确定为第一功能模块后,会依次根据各个监听者模块在同一行注册的监听需求信息,确定出哪些监听者模块为目标监听者模块。
其中,监听需求信息包括监听者模块需要监听功能模块标识。监听者模块需要监听的功能模块标识具体描述了在消息管理记录表中注册的各个功能模块与各个监听者模块间的监听关系。
具体的,由于第一功能模块分发的第一消息通常会由一些固定的监听者模块进行接收,而其他对于第一消息没有获取需求的监听者模块则不会接收第一消息。因此,根据消息管理记录表中各个监听者模块的监听需求信息,确定需要接收第一消息的监听者模块,并将需要接收第一消息的监听者模块确定为目标监听者模块。
在一个具体实施例中,第一功能模块为用来测量用户心率的心率传感器,第一消息为心率传感器测量的用户心率信息。消息管理模块根据各个监听者模块的监听需求,将心率应用和健康应用确定为目标监听者模块,在进行消息分发时只会向心率应用和健康应用分发用户心率信息。而在消息管理记录表中注册的其他应用,如阅读应用和游戏应用等因为没有对用户心率信息的获取需求,并未确定为目标监听者模块,所以在分发用户心率信息时不会对阅读应用和游戏应用等进行分发。
104,将所述第一消息分发给所述目标监听者模块。
具体的,消息管理模块还会根据各目标监听者模块注册的监听需求信息,向各个目标监听者模块分发第一消息。其中,监听需求信息除了各监听者模块需要监听功能模块之外,还包含各监听模块的活跃状态和需要监听的消息段。监听需求信息可以根据目标监听者模块对第一消息的获取需求进行随时更改。
监听者模块的监听信息还包含了监听者模块的活跃状态。
具体的,消息管理模块需要在多个目标监听者模块中确定出处于活跃状态的目标监听者模块,并将所述第一消息依次分发给全部处于活跃状态的目标监听者模块,对于处于非活跃状态的目标监听者模块则不再分发第一消息。
与未将监听者模块确定为目标监听者模块,始终无法接收到第一消息不同,目标监听者模块的活跃状态仅用于表示短时间内目标监听者模块是否会接收第一功能模块分发的第一消息,目标监听者模块可随时根据对第一消息的获取需求调整其自身的活跃状态。
监听者模块的监听信息还包含了监听者模块需要接收的消息段信息。
具体的,在一些情况下目标监听者模块可能不需要接收全部的第一消息,而是仅需要获取第一消息中的部分内容,因此需要在监听需求信息中写入目标监听者模块需要监听第一消息的消息段。
消息管理模块在对目标监听者模块分发消息时,根据目标监听者模块的监听需求信息,确定目标监听者模块需要接收的第一消息的目标消息段,并将第一消息的目标消息段发送给所述目标监听者模块。
本发明实施例通过设置消息管理模块作为媒介,将从功能模块接收到的消息向在消息管理记录表内完成注册的监听者模块实现了消息分发,避免了功能模块对各监听者模块接口的反复调取。
在一些实施例中,消息管理记录表中还注册有监听者模块的回调指令。监听者模块在接收到第一消息后,会根据注册的回调指令对第一消息进一步做出处理,实现对第一消息的应用。
在一些实施例中,当移动设备上安装了新的应用程序时,需要在消息管理记录表内注册新增的监听者模块,以帮助新安装的应用程序接收各个功能模块发送的消息。
具体的,在移动设备上安装新的应用程序时,应用程序会向消息管理模块的消息管理记录表发送注册指令。消息管理记录表在接收到待注册监听者模块的注册指令时,会从注册指令中确定所述待注册监听者模块的监听需求信息,并将所述待注册监听者模块的标识信息和监听者模块的活跃状态、需要监听的消息段等监听需求信息注册进所述消息管理记录表。
在移动设备删除应用时,同样会向消息管理模块的消息管理记录表发送删除指令。消息管理记录表在接收到监听者模块的删除指令时,将所述删除指令对应的监听者模块的标识信息和监听需求信息从所述消息管理记录表中删除。
在一些实施例中,当移动设备上搭载了新的硬件设备时,或是需要移除硬件设备时,同样需要在消息管理记录表中完成功能模块的注册或删除。
如表2所示,为本发明实施例提供的一个具体的消息管理记录表,表中完成注册的两个功能模块分别是移动设备搭载的心率传感器和血压传感器,监听者模块分别是心率应用、血压应用、健康应用和阅读应用。当消息管理模块在接收到心率传感器发送的用户心率信息时,根据用户心率信息的高16位标识信息将心率传感器确定为第一功能模块,将用户心率信息确定为第一消息;并根据各监听者模块需要监听功能模块标识,将心率应用和健康应用确定为目标监听者模块,向心率应用和健康应用分发用户心率信息。
消息管理模块分别根据监听需求信息1和监听需求信息6向心率应用和健康应用分发用户心率信息。
心率应用 | 血压应用 | 健康应用 | 阅读应用 | |
心率传感器 | 监听需求信息1 | 监听需求信息3 | 监听需求信息5 | 监听需求信息7 |
血压传感器 | 监听需求信息2 | 监听需求信息4 | 监听需求信息6 | 监听需求信息8 |
表2消息管理记录表
其中,当监听信息1具体是处于活跃状态、消息段为全部心率信息时,消息管理模块将从心率传感器接收到的全部用户心率信息发送给心率应用。
当监听信息5具体是处于活跃状态,消息段为最近1分钟心率信息时,消息管理模块则会将最近1分钟的用户心率信息发送给心率应用。
而对于未确定为目标监听者模块的血压应用和阅读应用,消息管理模块则不会向其分发用户心率信息。
对应上述消息分发方法,本发明实施例还提供了一种消息分发装置。参见图2,所述消息分发装置可以包括:接收模块201、第一确定模块202、第二确定模块203和分发模块204。
接收模块201,接收到第一消息时,确定与所述第一消息关联的功能模块标识信息。
第一确定模块202,确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,其中所述消息管理记录表注册有若干功能模块和若干监听者模块,所述监听者模块用于对一个或者多个功能模块的消息进行监听。
第二确定模块203,如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块。
分发模块204,将所述第一消息分发给所述目标监听者模块。
图2所示实施例提供的消息分发装置可用于执行本说明书所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图3为本说明书电子设备一个实施例的结构示意图,如图3所示,上述电子设备可以包括至少一个处理器;以及与上述处理单元通信连接的至少一个存储器,其中:存储器存储有可被处理单元执行的程序指令,上述处理器调用上述程序指令能够执行本实施例提供的消息分发方法。
其中,上述电子设备可以为能够与用户进行智能对话的设备,例如:云服务器,本说明书实施例对上述电子设备的具体形式不作限定。可以理解的是,这里的电子设备即为方法实施例中提到的机器。
图3示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图3显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。
如图3所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器310、通信接口320、存储器330,连接不同系统组件(包括存储器330、通信接口320和处理器310)的通信总线340。
通信总线340表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器330可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器330可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器330中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器310通过运行存储在存储器330中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书所示实施例提供的消息分发方法。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书所示实施例提供的消息分发方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (9)
1.一种消息分发方法,其特征在于,所述方法应用于消息管理模块,所述方法包括:
接收到第一消息时,确定与所述第一消息关联的功能模块标识信息;
确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,其中所述消息管理记录表注册有若干功能模块和若干监听者模块,所述监听者模块用于对一个或者多个功能模块的消息进行监听;
如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块;
将所述第一消息分发给所述目标监听者模块;
所述消息管理记录表记录有每个所述监听者模块的监听需求信息,所述监听需求信息包含监听者模块需要监听的功能模块标识;
根据所述消息管理记录表确定所述第一功能模块的目标监听者模块,包括:
根据所述消息管理记录表中各个监听者模块的监听需求信息,确定需要接收所述第一消息的监听者模块,将需要接收所述第一消息的监听者模块确定为所述目标监听者模块。
2.根据权利要求1所述的方法,其特征在于,所述确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,包括:
如果所述消息管理记录表中存在与所述功能模块标识信息完全一致、且完成注册的第一功能模块,则确定所述第一功能模块注册在所述消息管理记录表。
3.根据权利要求1所述的方法,其特征在于,每个所述监听者模块的监听需求信息还包含需要接收的消息段信息;
将所述第一消息分发给所述目标监听者模块,包括:
根据所述目标监听者模块的监听需求信息,确定所述目标监听者模块需要接收的第一消息的目标消息段;
将所述第一消息的目标消息段发送给所述目标监听者模块。
4.根据权利要求1所述的方法,其特征在于,将所述第一消息分发给所述目标监听者模块,包括:
确定处于活跃状态的目标监听者模块;
将所述第一消息分发给处于活跃状态的目标监听者模块。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到待注册监听者模块的注册指令时,从所述注册指令中确定所述待注册监听者模块的监听需求信息,所述监听需求信息包含所述待注册监听者模块需要监听的功能模块标识;
将所述待注册监听者模块的标识信息和监听需求信息注册进所述消息管理记录表。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收到监听者模块的删除指令时,将所述删除指令对应的监听者模块的标识信息和监听需求信息从所述消息管理记录表中删除。
7.一种消息分发装置,其特征在于,包括:
接收模块,接收到第一消息时,确定与所述第一消息关联的功能模块标识信息;
第一确定模块,确定所述功能模块标识信息对应的第一功能模块是否注册在消息管理记录表,其中所述消息管理记录表注册有若干功能模块和若干监听者模块,所述监听者模块用于对一个或者多个功能模块的消息进行监听;
第二确定模块,如果所述第一功能模块注册在所述消息管理记录表,则根据所述消息管理记录表确定所述第一功能模块的目标监听者模块;
所述消息管理记录表记录有每个所述监听者模块的监听需求信息,所述监听需求信息包含监听者模块需要监听的功能模块标识;
根据所述消息管理记录表确定所述第一功能模块的目标监听者模块,包括:
根据所述消息管理记录表中各个监听者模块的监听需求信息,确定需要接收所述第一消息的监听者模块,将需要接收所述第一消息的监听者模块确定为所述目标监听者模块。
8.一种消息分发设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210118024.1A CN114466062B (zh) | 2022-02-08 | 2022-02-08 | 消息分发方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210118024.1A CN114466062B (zh) | 2022-02-08 | 2022-02-08 | 消息分发方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114466062A CN114466062A (zh) | 2022-05-10 |
CN114466062B true CN114466062B (zh) | 2023-10-20 |
Family
ID=81413557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210118024.1A Active CN114466062B (zh) | 2022-02-08 | 2022-02-08 | 消息分发方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114466062B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684114A (zh) * | 2019-01-02 | 2019-04-26 | 深圳乐信软件技术有限公司 | 基于iOS系统的消息分发方法、装置、终端和介质 |
CN111897694A (zh) * | 2020-07-30 | 2020-11-06 | 北京百度网讯科技有限公司 | 小程序中消息处理方法及装置、设备、存储介质 |
CN113505037A (zh) * | 2021-06-24 | 2021-10-15 | 北京天九云电子商务有限公司 | 消息管理监控系统、方法、可读介质及电子设备 |
-
2022
- 2022-02-08 CN CN202210118024.1A patent/CN114466062B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684114A (zh) * | 2019-01-02 | 2019-04-26 | 深圳乐信软件技术有限公司 | 基于iOS系统的消息分发方法、装置、终端和介质 |
CN111897694A (zh) * | 2020-07-30 | 2020-11-06 | 北京百度网讯科技有限公司 | 小程序中消息处理方法及装置、设备、存储介质 |
CN113505037A (zh) * | 2021-06-24 | 2021-10-15 | 北京天九云电子商务有限公司 | 消息管理监控系统、方法、可读介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114466062A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198859B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN110708212B (zh) | 分布式系统中调用链路的追踪方法及装置 | |
CN109275042B (zh) | 一种弹幕消息的分发方法、装置、终端和存储介质 | |
CN109062699A (zh) | 一种资源监控方法、装置、服务器及存储介质 | |
US20200220824A1 (en) | Method, a device and a storage medium of forwarding voice information in instant messaging | |
WO2020119173A1 (zh) | 推送信息的方法和装置 | |
CN107861821B (zh) | 模块调用关系的挖掘方法、装置及计算机可读介质 | |
CN114466062B (zh) | 消息分发方法和装置 | |
CN108399128A (zh) | 一种用户数据的生成方法、装置、服务器及存储介质 | |
CN111274104B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN114979256B (zh) | 一种消息推送方法、装置、电子设备及计算机可读介质 | |
CN112860538A (zh) | 基于线上日志进行接口回归测试的方法和装置 | |
CN115022201B (zh) | 一种数据处理功能测试方法、装置、设备及存储介质 | |
CN109686415A (zh) | 一种数据传输方法、管理平台、电子设备及存储介质 | |
CN111338642B (zh) | 确定应用下载途径的方法、设备、终端及存储介质 | |
CN115631514A (zh) | 基于掌静脉指纹的用户识别方法、装置、设备与介质 | |
CN112000491B (zh) | 一种应用程序接口调用方法、装置、设备和存储介质 | |
CN111262727B (zh) | 服务的扩容方法、装置、设备及存储介质 | |
CN113919310A (zh) | 短信内容确定方法、装置、电子设备及存储介质 | |
CN115052003A (zh) | 数据同步方法、相关装置和介质 | |
CN114566173A (zh) | 一种音频混音方法、装置、设备及存储介质 | |
CN113986995A (zh) | 请求分发方法、装置、存储介质及电子设备 | |
CN112667119A (zh) | 测点批量关联方法、装置、电子设备和计算机可读介质 | |
CN112631812A (zh) | 标识设置方法、装置、电子设备以及存储介质 | |
CN113760988A (zh) | 一种无界流数据关联处理方法、装置、设备及存储介质 |
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 |