一种消息广播的方法和装置制造方法及图纸

技术编号:25091148 阅读:40 留言:0更新日期:2020-07-31 23:35
本发明专利技术公开了一种消息广播的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据消息广播任务获取接入点的网络地址信息集合;确定每个网络地址信息对应的接入点,并调用接入点的进程广播服务将消息广播给用户,其中,进程广播服务用于使接入点从其进程的内存中读取连接标识并将消息投递给连接标识对应的用户,连接标识用于标识接入点与用户的关联关系。该实施方式能够实现在进程内进行消息广播,从而降低消息广播的延迟并减轻网络负担,提升用户体验。

【技术实现步骤摘要】
一种消息广播的方法和装置
本专利技术涉及计算机
,尤其涉及一种消息广播的方法和装置。
技术介绍
在一些大型(百万、千万级在线用户)的群交互系统中,广播延迟问题一直是个难题。以现今最为流行的直播系统为例,在直播场景中,弹幕作为观众之间以及观众与主播互动交互的重要方式,每位观众都期待自己的发言能够得到主播和其他观众的快速响应。然而,直播间观众数量众多,怎样保证消息能够低延迟地广播给直播间的所有人,是直播系统架构设计所需研究的重要课题。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:在以直播系统为例的大型群交互系统中,现有的广播方式由于需要跨进程加载用户的连接信息,以及分批次RPC远程调用消息投递服务会造成很高的延迟以及增加网络负担,因此,当直播间观众数量多,用户频繁发言时,消息广播的延迟很高,用户体验差。
技术实现思路
有鉴于此,本专利技术实施例提供一种消息广播的方法和装置,能够实现在进程内进行消息广播,从而降低消息广播的延迟并减轻网络负担,提升用户体验。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种消息广播的方法。一种消息广播的方法,包括:根据消息广播任务获取接入点的网络地址信息集合;确定每个网络地址信息对应的接入点,并调用所述接入点的进程广播服务将消息广播给用户,其中,所述进程广播服务用于使所述接入点从其进程的内存中读取连接标识并将所述消息投递给所述连接标识对应的用户,所述连接标识用于标识接入点与用户的关联关系。可选地,通过映射表和列表结合的方式保存数据之间的关联关系。可选地,所述数据包括群交互系统标识、用户标识和连接标识,并且,将群交互系统标识与连接标识集合之间的关联关系以群交互系统标识为键名,以连接标识集合为键值存储到第一映射表中;将连接标识集合存储到列表中;将用户标识与用户在连接标识集合中的下标位置之间的关联关系以用户标识为键名,以用户在连接标识集合中的下标位置为键值存储到第二映射表中。可选地,将所述消息投递给所述连接标识对应的用户包括:将所述连接标识进行复制分段后分配给投递线程池,以将所述消息异步投递给所述连接标识对应的用户。根据本专利技术实施例的另一方面,提供了一种消息广播的装置。一种消息广播的装置,包括:信息获取模块,用于根据消息广播任务获取接入点的网络地址信息集合;消息广播模块,用于确定每个网络地址信息对应的接入点,并调用所述接入点的进程广播服务将消息广播给用户,其中,所述进程广播服务用于使所述接入点从其进程的内存中读取连接标识并将所述消息投递给所述连接标识对应的用户,所述连接标识用于标识接入点与用户的关联关系。可选地,通过映射表和列表结合的方式保存数据之间的关联关系。可选地,所述数据包括群交互系统标识、用户标识和连接标识,并且,将群交互系统标识与连接标识集合之间的关联关系以群交互系统标识为键名,以连接标识集合为键值存储到第一映射表中;将连接标识集合存储到列表中;将用户标识与用户在连接标识集合中的下标位置之间的关联关系以用户标识为键名,以用户在连接标识集合中的下标位置为键值存储到第二映射表中。可选地,所述消息广播模块还用于:将所述连接标识进行复制分段后分配给投递线程池,以将所述消息异步投递给所述连接标识对应的用户。根据本专利技术实施例的又一方面,提供了一种消息广播的电子设备。一种消息广播的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例所提供的消息广播的方法。根据本专利技术实施例的再一方面,提供了一种计算机可读介质。一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例所提供的消息广播的方法。上述专利技术中的一个实施例具有如下优点或有益效果:通过根据消息广播任务获取接入点的网络地址信息集合;确定每个网络地址信息对应的接入点,并调用接入点的进程广播服务将消息广播给用户,其中,进程广播服务用于使接入点从其进程的内存中读取连接标识并将消息投递给连接标识对应的用户,实现了在进程内进行消息广播,从而降低消息广播的延迟并减轻网络负担,提升用户体验。用户连接信息在接入层注册存储结构,巧妙利用映射表和列表组合数据结构,通过很小的时间开销即可定位群交互系统对应的连接标识集合以及用户对应的连接标识位置信息,从而降低了查找延迟。通过在接入层节点的进程内将群交互系统对应的连接标识多线程分段投递,可以在投递时预判断用户的在线状态,减少无效投递,提高投递吞吐率,降低整体消息广播延迟。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是现有的消息广播流程示意图;图2是本专利技术实施例的消息广播流程示意图;图3是根据本专利技术实施例的消息广播的方法的主要步骤示意图;图4是本专利技术实施例的接入点数据存储结构示意图;图5是本专利技术实施例的接入点的进程广播服务进行消息广播的过程示意图;图6是根据本专利技术实施例的消息广播的装置的主要模块示意图;图7是本专利技术实施例可以应用于其中的示例性系统架构图;图8是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。群交互系统(例如:直播系统)的架构一般分为接入层、逻辑层和存储层。接入层的主要作用是建立和维护直播间所有用户与用于广播消息的弹幕服务器的会话长连接,逻辑层则按事先约定处理解析直播间消息协议,存储层记录直播过程中产生的所有信息。现有的直播系统一般通过Redis数据库存储用户的连接信息,用户的连接信息主要包括用户接入直播间时接入点的IP(InternetProtocol,互联网协议)地址和接入点为该用户分配的通道标识(即:连接ID(identification,唯一识别号))。由于直播间用户的连接信息数量多,因此需要将这些信息分散到多个集合桶中进行存储。图1是现有的消息广播流程示意图。如图1所示,用户(观众)通过接入层的接入点加入直播间时,首先在接入层注册接入点的IP地址和连接ID。逻辑层接收到加入直播间协议后,将用户的接入点IP地址和连接ID以直播间ID为主键Key,以分桶的形式存储于key-value的缓存中。当有消息需要广播时,主要步骤如下:1)接入层收到客户端发来的消息后生成广播任务,并从缓存中查询出直播间所有用户的连接桶列表;2)逻辑层的广播节点将广播任务均匀地分配给逻辑层的其他广播节点;本文档来自技高网...

【技术保护点】
1.一种消息广播的方法,其特征在于,包括:/n根据消息广播任务获取接入点的网络地址信息集合;/n确定每个网络地址信息对应的接入点,并调用所述接入点的进程广播服务将消息广播给用户,其中,所述进程广播服务用于使所述接入点从其进程的内存中读取连接标识并将所述消息投递给所述连接标识对应的用户,所述连接标识用于标识接入点与用户的关联关系。/n

【技术特征摘要】
1.一种消息广播的方法,其特征在于,包括:
根据消息广播任务获取接入点的网络地址信息集合;
确定每个网络地址信息对应的接入点,并调用所述接入点的进程广播服务将消息广播给用户,其中,所述进程广播服务用于使所述接入点从其进程的内存中读取连接标识并将所述消息投递给所述连接标识对应的用户,所述连接标识用于标识接入点与用户的关联关系。


2.根据权利要求1所述的方法,其特征在于,通过映射表和列表结合的方式保存数据之间的关联关系。


3.根据权利要求2所述的方法,其特征在于,所述数据包括群交互系统标识、用户标识和连接标识,并且,将群交互系统标识与连接标识集合之间的关联关系以群交互系统标识为键名,以连接标识集合为键值存储到第一映射表中;将连接标识集合存储到列表中;将用户标识与用户在连接标识集合中的下标位置之间的关联关系以用户标识为键名,以用户在连接标识集合中的下标位置为键值存储到第二映射表中。


4.根据权利要求1所述的方法,其特征在于,将所述消息投递给所述连接标识对应的用户包括:
将所述连接标识进行复制分段后分配给投递线程池,以将所述消息异步投递给所述连接标识对应的用户。


5.一种消息广播的装置,其特征在于,包括:
信息获取模块,用于根据消息广播任务获取接入点的网络地址信息集合;
消息广播模块,用于确定每个网络地址信息对应的接入点,并调用所述接入点的进程...

【专利技术属性】
技术研发人员:刘锋
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1