CN115022329B - 基于sse实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质 - Google Patents
基于sse实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质 Download PDFInfo
- Publication number
- CN115022329B CN115022329B CN202210799908.8A CN202210799908A CN115022329B CN 115022329 B CN115022329 B CN 115022329B CN 202210799908 A CN202210799908 A CN 202210799908A CN 115022329 B CN115022329 B CN 115022329B
- Authority
- CN
- China
- Prior art keywords
- message
- user
- sse
- live
- module
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/14—Session management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于SSE实现投顾实时图文直播的系统,其中,该系统包括:SSE连接管理模块,用于接收客户端发送的SSE连接请求,并进行全生命周期连接管理及维护、消息推送以及负载输出的处理;新一代云原生消息平台,用于进行数据传输、消息缓存及限速、安全接入处理;调度模块,用于将用户调度引导至最优连接目标服务器处;图文直播服务端,用于提供投顾直播间中的多业务功能处理;投顾管理后台,用于为投顾人员提供实际操作的可视化后台管理页面。本发明还涉及一种相应的方法、装置、处理器及其存储介质。采用了本发明的该系统、方法、装置、处理器及其存储介质,解决了现有技术中存在的高并发性能、高扩展性、实现复杂度等较难统一的问题。
Description
技术领域
本发明涉及计算机网络技术领域,具体是指一种基于SSE实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质。
背景技术
目前券商提供投顾服务的方式大多采用电话、微信群和QQ群的方式进行服务,缺乏统一管理、存在信息安全、对客户也缺乏适当性判断,因此券商急需一个平台来解决这些问题。且传统的图文直播,在H5和PC端,主要采用拉取消息的方式,非常考验服务器的性能要求,很难提高在高并发情况下的效率。并且传统的图文直播,只能采用定时发消息的方式检测链接存活。在图片消息的处理上,以前都是采用服务器本地存储或者base64流的方式存储,对存储空间、访问并发、消息传输上都有很大的压力。
在技术上,服务器消息推送技术主要用于解决客户端和服务端的数据同步,使得客户端能以较低延迟获取到服务器最新消息数据,并尽可能的降低服务器压力。传统图文直播系统存在的常见问题:高并发性能、高扩展性、实现复杂度等较难统一。
业务上,券商投顾服务平台有很多领域相关的定制化业务特征,现有图文直播系统往往在投顾类功能扩展、交互形式、安全合规等方面支持比较弱,存在一定局限性。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种能够有效降低服务端的复杂度的基于SSE实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质。
为了实现上述目的,本发明的基于SSE实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质如下:
该基于SSE实现投顾实时图文直播的系统,其主要特点是,所述的系统包括:
SSE连接管理模块,用于接收客户端发送的SSE连接请求,并进行全生命周期连接管理及维护、消息推送以及负载输出的处理;
新一代云原生消息平台,与所述的SSE连接管理模块相连接,用于进行数据传输、消息缓存及限速、安全接入处理,以保障系统各个模块的稳定性;
调度模块,与客户端以及新一代云原生消息平台相连接,用于根据接收到的用户信息将用户调度引导至最优连接目标服务器处;
图文直播服务端,与客户端以及新一代云原生消息平台相连接,用于提供投顾直播间中的多业务功能处理;以及
投顾管理后台,与所述的图文直播服务端相连接,用于为投顾人员提供由所述的图文直播服务端实现的实际操作的可视化后台管理页面。
较佳地,所述的SSE连接管理模块包括:
连接管理及维护单元,用于将物理连接ID、用户ID、设备ID、直播间ID的映射关系以及用户在线状态保存到内存中,并同时通过所述的新一代云原生消息平台向所述的图文直播服务端发送用户登录通知消息,所述的图文直播服务端收到消息后维护用户在线状态及用户与直播间的映射关系;
消息推送单元,所述的图文直播服务端通过所述的新一代云原生消息平台将所述的投顾管理后台发布的消息推送至所述的消息推送单元处,所述的消息推送单元用于检测直播间的用户在线状态并将对应的消息推送至在线用户;以及
负载输出单元,用于将自身负载进行上报,供所述的调度模块使用;当在线设备的连接数超过所述的SSE连接管理模块部署实例的设置阈值时,将返回指定报错码,并通知客户端重新请求所述的调度模块进行重新负载均衡处理。
较佳地,所述的连接管理及维护单元还用于接收地址中包含用户ID、设备ID、直播间ID的参数信息的SSE连接请求,并向所述的新一代云原生消息平台发送查询直播间分配关系的消息,并根据返回消息判断当前用户是否有进入对应直播间的访问权限,如果有,则允许当前用户进入对应直播间,否则,终止连接。
较佳地,所述的SSE连接管理模块将定期向客户端发送约定格式的消息,以保持客户端与服务端之间的SSE连接长期存活;所述的SSE连接管理模块还用于通过监听Linux系统发出的物理连接建立或断开消息来判断当前用户设备的在线状态及维护消息的推送订阅数据。
较佳地,所述的新一代云原生消息平台包括:
topic维护处理单元,用于创建消息topic配置生成目标topic列表,并传输包含用户登录信息、用户登出信息的消息数据;
消息限速处理单元,用于判断接收到的数据是否需要进行限速处理。
较佳地,所述的调度模块用于接收包括服务器负载、在线连接数、处理耗时的运行指标,并根据当前客户端的地理位置和运营商,按照地理位置相近、运营商相同、负载较低的原则,将用户引流至合适的接入节点。
较佳地,所述的图文直播服务端具体包括:
消息处理及维护模块、直播间信息维护模块、用户与直播间在线状态维护模块、直播间分配算法模块、问题分配模块、历史消息查询模块、敏感词识别及过滤模块、股票常见问题库维护模块、IP地理位置识别模块以及公告发布处理模块。
较佳地,当所述的图文直播服务端接收到用户的访问请求后,则进行校验接口签名、校验用户密码,校验用户对目标直播间的访问权限的安全校验处理,并依次通过所述的敏感词识别及过滤模块进行敏感词识别和过滤处理,最后将消息存储到数据库和缓存中。
较佳地,所述的图文直播服务端支持人工审核模式和自动审核模式,以决定用户发送的消息内容是否能够公开发布到直播间中,其中,所述的人工审核模式需由投顾进行人工审核并决定是否公开,所述的自动审核模式则会自动发布通过所述的敏感词识别及过滤模块筛选的所有消息。
较佳地,所述的投顾管理后台具体包括:
投顾人员管理模块、直播间管理模块、消息发送及回复模块、直播间分配算法配置模块以及回复模式管理模块,其中,所述的直播间管理模块用于查询并展示直播间的消息;所述的直播间分配算法配置模块用于根据直播间的投顾数量,按照比例配置用户问题的分配接收规则。
较佳地,所述的回复模式管理模块包括公开回复和私密回复,如果当前回复消息为公开消息,则通过所述的SSE连接管理模块将该消息推送至目标直播间的所有在线设备;如果为隐私消息,则所述的SSE连接管理模块将只推送给目标用户的在线设备列表。
该利用上述所述的系统实现基于SSE的投顾实时图文直播的处理方法,其主要特点是,所述的方法包括以下步骤:
(1)客户端查询当前用户所属的直播间;
(2)客户端向所述的调度模块发起调度请求,以获取最优接入节点地址;
(3)客户端向所述的SSE连接管理模块发送SSE连接请求建立SSE连接进行数据交互;
(4)所述的投顾管理后台根据所述的图文直播服务端接收到的用户登录消息、维护用户在线状态信息以及接入节点的信息进行消息发送及回复处理;
(5)所述的图文直播服务端根据用户发送消息的内容判断是否进行公开处理;
(6)待用户退出直播间后,断开连接,并通过所述的SSE连接管理模块进行管理维护,以维持消息推送订阅关系。
较佳地,所述的步骤(3)包括以下步骤:
(3.1)客户端向所述的图文直播服务端发起http请求,并在请求中携带包含用户ID、设备ID、地理位置、接口签名的参数信息;
(3.2)所述的图文直播服务端接收到请求后,对当前用户的个人信息进行查询和验证处理;
(3.3)所述的图文直播服务端通过智能分配算法,对当前用户的地理位置、用户所属营业部、签约产品、用户画像数据进行自动匹配,输出用户能看到的直播间列表,并将该列表返回给客户端;
(3.4)用户根据返回的直播间列表进行任意选择,并点击进入相应的图文直播间。
较佳地,所述的步骤(3.2)还包括:
当所述的图文直播服务端识别到当前所述的客户端未上传地理位置信息时,所述的服务端则会从请求对象中提取真实IP并从第三方提供的IP地址库中解析出当前该用户的城市级别的地理位置。
该基于SSE的投顾实时图文直播的处理装置,其主要特点是,所述的装置包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述计算机可执行指令被所述处理器执行时,实现上述所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
该基于信息增强实现两步中文事件精准检测的处理器,其主要特点是,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
该计算机可读存储介质,其主要特点是,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
采用了本发明的该基于SSE实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质,基于业务特征的可定制的直播间智能分配算法;调用HTTP服务接口与后续SSE连接交互形式相互配合,首先通过接口形式获取到客户端建立SSE连接所需的状态数据(目标直播间编号),降低了服务端的复杂度;SSE连接管理模块维护了物理连接ID、用户ID、设备ID、直播间ID的关系并通过SSE方式进行消息推送,使用Erlang语言开发,具有开发简单、高并发的技术特征;SSE连接管理模块将负载输出给调度模块,有效的解决了异地多节点的负载均衡及线路择优,保证大量用户访问时的直播间系统的稳定及高性能;同时,本技术方案所使用的该图文直播类系统,其服务端复杂度更低,客户端接入非常简单,相较于现有技术而言,其具备高性能、易扩展、实现简单的突出优点。
附图说明
图1为本发明的基于SSE实现投顾实时图文直播的系统的架构图。
图2为本发明的基于SSE实现投顾实时图文直播的系统的功能模块结构示意图。
图3为本发明的客户端与服务端之间进行交互的示意图。
图4为本发明进行多节点部署的示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
在详细说明根据本发明的实施例前,应该注意到的是,在下文中,术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
请参阅图1所示,该基于SSE实现投顾实时图文直播的系统,其中,所述的系统包括:
SSE连接管理模块,用于接收客户端发送的SSE连接请求,并进行全生命周期连接管理及维护、消息推送以及负载输出的处理;
新一代云原生消息平台Pulsar,与所述的SSE连接管理模块相连接,用于进行数据传输、消息缓存及限速、安全接入处理,以保障系统各个模块的稳定性;
调度模块,与客户端以及新一代云原生消息平台Pulsar相连接,用于根据接收到的用户信息将用户调度引导至最优连接目标服务器处;
图文直播服务端,与客户端以及新一代云原生消息平台Pulsar相连接,用于提供投顾直播间中的多业务功能处理;以及
投顾管理后台,与所述的图文直播服务端相连接,用于为投顾人员提供由所述的图文直播服务端实现的实际操作的可视化后台管理页面。
作为本发明的优选实施方式,所述的SSE连接管理模块包括:
连接管理及维护单元,用于将物理连接ID、用户ID、设备ID、直播间ID的映射关系以及用户在线状态保存到内存中,并同时通过所述的新一代云原生消息平台Pulsar向所述的图文直播服务端发送用户登录通知消息,所述的图文直播服务端收到消息后维护用户在线状态及用户与直播间的映射关系;
消息推送单元,所述的图文直播服务端通过所述的新一代云原生消息平台Pulsar将所述的投顾管理后台发布的消息推送至所述的消息推送单元处,所述的消息推送单元用于检测直播间的用户在线状态并将对应的消息推送至在线用户;以及
负载输出单元,用于将自身负载进行上报,供所述的调度模块使用;当在线设备的连接数超过所述的SSE连接管理模块部署实例的设置阈值时,将返回指定报错码,并通知客户端重新请求所述的调度模块进行重新负载均衡处理。
作为本发明的优选实施方式,所述的连接管理及维护单元还用于接收地址中包含用户ID、设备ID、直播间ID的参数信息的SSE连接请求,并向所述的新一代云原生消息平台Pulsar发送查询直播间分配关系的消息,并根据返回消息判断当前用户是否有进入对应直播间的访问权限,如果有,则允许当前用户进入对应直播间,否则,终止连接。
作为本发明的优选实施方式,所述的SSE连接管理模块将定期向客户端发送约定格式的消息,以保持客户端与服务端之间的SSE连接长期存活;所述的SSE连接管理模块还用于通过监听Linux系统发出的物理连接建立或断开消息来判断当前用户设备的在线状态及维护消息的推送订阅数据。
作为本发明的优选实施方式,所述的新一代云原生消息平台Pulsar包括:
topic维护处理单元,用于创建消息topic配置生成目标topic列表,并传输包含用户登录信息、用户登出信息的消息数据;
消息限速处理单元,用于判断接收到的数据是否需要进行限速处理。
作为本发明的优选实施方式,所述的调度模块用于接收包括服务器负载、在线连接数、处理耗时的运行指标,并根据当前客户端的地理位置和运营商,按照地理位置相近、运营商相同、负载较低的原则,将用户引流至合适的接入节点。
作为本发明的优选实施方式,所述的图文直播服务端具体包括:
消息处理及维护模块、直播间信息维护模块、用户与直播间在线状态维护模块、直播间分配算法模块、问题分配模块、历史消息查询模块、敏感词识别及过滤模块、股票常见问题库维护模块、IP地理位置识别模块以及公告发布处理模块。
作为本发明的优选实施方式,当所述的图文直播服务端接收到用户的访问请求后,则进行校验接口签名、校验用户密码,校验用户对目标直播间的访问权限的安全校验处理,并依次通过所述的敏感词识别及过滤模块进行敏感词识别和过滤处理,最后将消息存储到数据库和缓存中。
作为本发明的优选实施方式,所述的图文直播服务端支持人工审核模式和自动审核模式,以决定用户发送的消息内容是否能够公开发布到直播间中,其中,所述的人工审核模式需由投顾进行人工审核并决定是否公开,所述的自动审核模式则会自动发布通过所述的敏感词识别及过滤模块筛选的所有消息。
作为本发明的优选实施方式,所述的投顾管理后台具体包括:
投顾人员管理模块、直播间管理模块、消息发送及回复模块、直播间分配算法配置模块以及回复模式管理模块,其中,所述的直播间管理模块用于查询并展示直播间的消息;所述的直播间分配算法配置模块用于根据直播间的投顾数量,按照比例配置用户问题的分配接收规则。
作为本发明的优选实施方式,所述的回复模式管理模块包括公开回复和私密回复,如果当前回复消息为公开消息,则通过所述的SSE连接管理模块将该消息推送至目标直播间的所有在线设备;如果为隐私消息,则所述的SSE连接管理模块将只推送给目标用户的在线设备列表。
该利用上述所述的系统实现基于SSE的投顾实时图文直播的处理方法,其中,所述的方法包括以下步骤:
(1)客户端查询当前用户所属的直播间;
(2)客户端向所述的调度模块发起调度请求,以获取最优接入节点地址;
(3)客户端向所述的SSE连接管理模块发送SSE连接请求建立SSE连接进行数据交互;
(4)所述的投顾管理后台根据所述的图文直播服务端接收到的用户登录消息、维护用户在线状态信息以及接入节点的信息进行消息发送及回复处理;
(5)所述的图文直播服务端根据用户发送消息的内容判断是否进行公开处理;
(6)待用户退出直播间后,断开连接,并通过所述的SSE连接管理模块进行管理维护,以维持消息推送订阅关系。
作为本发明的优选实施方式,所述的步骤(3)包括以下步骤:
(3.1)客户端向所述的图文直播服务端发起http请求,并在请求中携带包含用户ID、设备ID、地理位置、接口签名的参数信息;
(3.2)所述的图文直播服务端接收到请求后,对当前用户的个人信息进行查询和验证处理;
(3.3)所述的图文直播服务端通过智能分配算法,对当前用户的地理位置、用户所属营业部、签约产品、用户画像数据进行自动匹配,输出用户能看到的直播间列表,并将该列表返回给客户端;
(3.4)用户根据返回的直播间列表进行任意选择,并点击进入相应的图文直播间。
作为本发明的优选实施方式,所述的步骤(3.2)还包括:
当所述的图文直播服务端识别到当前所述的客户端未上传地理位置信息时,所述的服务端则会从请求对象中提取真实IP并从第三方提供的IP地址库中解析出当前该用户的城市级别的地理位置。
在实际应用当中,本技术方案将按照如下处理流程实现相应的功能:
(1)客户端查询有权限的图文直播间列表
1.1客户端向直播间服务端发起http请求,并在请求中携带用户ID、设备ID、地理位置、接口签名等参数。
1.2直播间服务端收到请求后,验签并查询用户相关信息。如果客户端未上传地理位置信息,服务端则会从请求对象中提取真实IP并从第三方提供的IP地址库中解析出城市级别的地理位置(传统的获取用户地理信息依赖用户开启手机自身定位,但很多用户出于隐私保护、手机节电等考虑,不愿意打开定位功能,本方式能有效的解决此类问题)。
1.3直播间服务端的智能分配算法会根据地理位置、用户所属营业部、签约产品、用户画像数据等进行自动匹配,输出用户能看到的直播间列表,将该列表返回给客户端。
其中,智能分配算法可定制,可灵活配置,支持多种模式,下面是一个具体案例:
(a)首先判断用户是否登录,如果未登录则分配到所在城市的直播间;
(b)如果用户已登录,则继续进行如下处理:
①如果用户有签约产品,将用户分配到对应的主题直播间;
②如果用户等级高于设定阈值,将用户分配到VIP服务直播间;
③其余情况,默认将用户分配到开户营业部的直播间;
1.4用户在客户端点击进入图文直播间。
(2)客户端与服务端建立SSE连接,接收直播间服务端推送的实时消息
2.1客户端向服务端发起SSE连接请求,在地址中携带用户ID、设备ID、直播间ID等参数。
2.2SSE连接管理模块接收到连接请求,向Pulsar发送查询直播间分配关系的消息,直播服务端收到消息后执行分配算法并将用户有权限的直播间ID以消息形式回传到pulsar的指定topic中,SSE连接管理模块接收消息以确认当前用户是否有对应直播间的访问权限。如果没有,则终止连接。
2.3SSE连接管理模块维护消息推送订阅数据,将物理连接ID、用户ID、设备ID、直播间ID的映射关系及用户在线状态保存到内存中;同时通过Pulsar向直播间服务端发送用户登录通知消息,直播间服务端收到消息后维护用户在线状态及用户与直播间的映射关系。
2.4SSE连接建立后,客户端即可接收服务端的实时消息推送。直播间服务端通过Pulsar将后台投顾发布的消息推送给SSE连接管理模块,该模块检测直播间的用户在线状态并将消息推送给在线用户。由于维护了用户ID和设备ID的映射数据,本模块可以给该用户的所有设备进行推送,多个设备都能收到实时消息。
2.5SSE连接管理模块定期向客户端发送约定格式的消息,以保持客户端和服务端的SSE连接长期存活;
2.6SSE连接管理模块通过监听Linux系统发出的物理连接建立或断开消息来判断用户设备的在线状态及维护消息推送订阅数据。详细讲,如果物理连接断开,则认为该物理连接的用户设备下线,将会清除物理连接ID、设备ID等映射数据,更新用户设备在线状态。如果用户设备全部下线,本模块将通过Pulsar组件向直播间服务端发送目标用户离线的通知消息。
2.7SSE连接管理模块将自身负载进行上报,供调度模块使用;当在线设备的连接数超过SSE连接管理模块部署实例的设置阈值时,会返回指定报错码,通知客户端重新请求调度模块进行重新负载均衡。
(3)用户在客户端发消息,直播间服务端进行存储及处理
3.1客户端通过调用http接口形式发消息给直播间服务端;
3.2直播间服务端收到请求后,进行一系列安全校验,包括校验接口签名、校验用户密码,校验用户对目标直播间的访问权限等,然后依次进行敏感词识别和过滤并将消息存储到数据库和缓存中。
3.3直播间服务端支持人工审核模式和自动审核模式,以决定用户发送的消息内容是否可以公开发布到直播间中。人工处理模式需由投顾进行人工审核并决定是否公开,自动处理模式则会自动发布通过敏感词识别及过滤模块筛选的所有消息。
3.4直播间服务端提供查询接口,包括查询历史消息、查询指定用户的消息等。
3.5直播间提供了其他多类业务功能,包括股票识别、股票问题库维护等等。
(4)在投顾管理平台发消息或回复用户消息
4.1投顾管理平台查询并展示直播间的消息;
4.2根据直播间的投顾数量,管理平台可以按比例配置用户问题的分配接收规则;
4.3投顾可以在管理后台可以直接发布消息或者针对用户提问进行回复,平台支持公开及私密回复,公开回复时直播间所有用户都能看到,私密回复时只有提问者能看到;
4.4直播间服务端会将对应消息通过pulsar推送给SSE连接管理模块。如果是公开消息,SSE连接管理模块将消息推送给目标直播间的所有在线设备。如果是隐私消息,SSE连接管理模块将只推送给目标用户的在线设备列表。
(5)本方案架构灵活,具有高并发、可扩展性强、稳定性强等特征
5.1SSE连接管理模块、直播间服务端通过Pulsar消息队列进行数据交互,模块间解耦,各模块都可按需横向扩容,具有高可扩展性;
5.2Pulsar集群能进行数据缓冲和消息速率控制,有效保障系统各模块的稳定性;
5.3通过SSE连接管理模块和调度模块的配合,能有效提高异地多接入节点的效能,降低图文消息的传输延时,提高访问性能。
在实际应用当中,该调度模块将用于以消费者的角色连接到Pulsar并接收多个连接管理模块的运行指标,包括服务器负载、在线连接数、处理耗时等,然后根据客户端的地理位置和运营商,按照地理位置相近、运营商相同、负载较低的原则,将用户引流到合适的接入节点。
如果某个接入节点(SSE连接管理模块)的在线设备连接数达到设定阈值时,该节点会发送通知消息给调度模块。对于客户端的连接请求,该节点会返回指定报错码,通知客户端重新请求调度模块进行重新负载均衡。
请参阅图1所示,本发明的该基于SSE实现投顾实时图文直播的系统其具体包括:
客户端:即客户端APP程序。
SSE连接管理模块:负责接收客户端连接请求并进行连接生命周期管理、连接维持、维护消息推送订阅数据(即物理连接ID、用户ID、设备ID、直播间ID的映射关系等)、进行消息推送等。
Pulsar:新一代云原生消息平台,支持多租户、持久化存储、跨地域数据复制等功能,具有强一致性、高吞吐、低延时等优势。在本方案中的作用是数据传输、消息缓存及限速、安全接入,保障系统各模块的稳定性。
图文直播服务端:负责提供投顾直播间的相关业务功能,如进行消息存储及缓存维护、消息查询、直播间智能分配、用户在线状态维护、股票热门问题、直播间公告等。
投顾管理后台:提供投顾人员操作的后台管理页面,实际功能由图文直播服务端实现。
调度模块:提供连接接入模块的负载均衡,客户端请求引导到最优的连接管理模块实例。
请参阅图3所示,Pulsar结合SSE连接模块来进行topic创建与维护,每个模块实例有1个消息topic,该topic用于传输用户登录、用户登出及消息等数据;图文直播服务端启动时根据配置的目标topic列表进行消息传输,一个服务端实例可以对接单个或多个连接管理模块实例。
请参阅图4所示,其为多接入节点部署图,为了提升客户端接入稳定性和降低服务延时,通常会在多地云机部署多个SSE连接模块以提供接入服务;调度模块负责进行节点的优选及请求调度;图文直播服务端和SSE连接管理模块都可以横向扩展,按需提升系统服务能力。
该基于SSE的投顾实时图文直播的处理装置,其中,所述的装置包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述计算机可执行指令被所述处理器执行时,实现上述所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
该基于信息增强实现两步中文事件精准检测的处理器,其中,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
该计算机可读存储介质,其中,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成的,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一实施例”、“一些实施例”、“示例”、“具体示例”、或“实施例”、“实施方式”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
采用了本发明的该基于SSE实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质,基于业务特征的可定制的直播间智能分配算法;调用HTTP服务接口与后续SSE连接交互形式相互配合,首先通过接口形式获取到客户端建立SSE连接所需的状态数据(目标直播间编号),降低了服务端的复杂度;SSE连接管理模块维护了物理连接ID、用户ID、设备ID、直播间ID的关系并通过SSE方式进行消息推送,使用Erlang语言开发,具有开发简单、高并发的技术特征;SSE连接管理模块将负载输出给调度模块,有效的解决了异地多节点的负载均衡及线路择优,保证大量用户访问时的直播间系统的稳定及高性能;同时,本技术方案所使用的该图文直播类系统,其服务端复杂度更低,客户端接入非常简单,相较于现有技术而言,其具备高性能、易扩展、实现简单的突出优点。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (17)
1.一种基于SSE实现投顾实时图文直播的系统,其特征在于,所述的系统包括:
SSE连接管理模块,用于接收客户端发送的SSE连接请求,并进行全生命周期连接管理及维护、消息推送以及负载输出的处理;
新一代云原生消息平台(Pulsar),与所述的SSE连接管理模块相连接,用于进行数据传输、消息缓存及限速、安全接入处理,以保障系统各个模块的稳定性;
调度模块,与客户端以及新一代云原生消息平台(Pulsar)相连接,用于根据接收到的用户信息将用户调度引导至最优连接目标服务器处;
图文直播服务端,与客户端以及新一代云原生消息平台(Pulsar)相连接,用于提供投顾直播间中的多业务功能处理;以及
投顾管理后台,与所述的图文直播服务端相连接,用于为投顾人员提供由所述的图文直播服务端实现的实际操作的可视化后台管理页面;
所述的系统具体进行以下处理:
客户端与图文直播服务端通过所述的SSE连接管理模块建立SSE连接,并接收所述的图文直播服务端推送的实时消息,具体包括:
所述的客户端向图文直播服务端发起SSE连接请求,在地址中携带用户ID、设备ID和直播间ID的参数;
所述的SSE连接管理模块接收到连接请求,向所述的新一代云原生消息平台(Pulsar)发送查询直播间分配关系的消息,所述的图文直播服务端收到消息后执行分配算法并将用户有权限的直播间ID以消息形式回传到所述的新一代云原生消息平台(Pulsar)的指定topic中,所述的SSE连接管理模块接收消息以确认当前用户是否有对应直播间的访问权限,如果没有,则终止连接;
所述的SSE连接管理模块维护消息推送订阅数据,将物理连接ID、用户ID、设备ID、直播间ID的映射关系及用户在线状态保存到内存中;同时通过所述的新一代云原生消息平台(Pulsar)向图文直播服务端发送用户登录通知消息,所述的图文直播间服务端收到消息后维护用户在线状态及用户与直播间的映射关系;
待SSE连接建立后,所述的客户端即可接收图文直播服务端的实时消息推送,所述的图文直播服务端通过新一代云原生消息平台(Pulsar)将后台投顾发布的消息推送给SSE连接管理模块,用于检测直播间的用户在线状态并将消息推送给在线用户,并通过给该用户的所有设备进行推送,从而多个设备都能收到实时消息;
所述的SSE连接管理模块定期向客户端发送约定格式的消息,以保持客户端和服务端的SSE连接长期存活;
所述的SSE连接管理模块通过监听Linux系统发出的物理连接建立或断开消息来判断用户设备的在线状态及维护消息推送订阅数据;
所述的SSE连接管理模块将自身负载进行上报,供所述的调度模块使用;当在线设备的连接数超过SSE连接管理模块部署实例的设置阈值时,会返回指定报错码,通知客户端重新请求所述的调度模块进行重新负载均衡。
2.根据权利要求1所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的SSE连接管理模块包括:
连接管理及维护单元,用于将物理连接ID、用户ID、设备ID、直播间ID的映射关系以及用户在线状态保存到内存中,并同时通过所述的新一代云原生消息平台(Pulsar)向所述的图文直播服务端发送用户登录通知消息,所述的图文直播服务端收到消息后维护用户在线状态及用户与直播间的映射关系;
消息推送单元,所述的图文直播服务端通过所述的新一代云原生消息平台(Pulsar)将所述的投顾管理后台发布的消息推送至所述的消息推送单元处,所述的消息推送单元用于检测直播间的用户在线状态并将对应的消息推送至在线用户;以及
负载输出单元,用于将自身负载进行上报,供所述的调度模块使用;当在线设备的连接数超过所述的SSE连接管理模块部署实例的设置阈值时,将返回指定报错码,并通知客户端重新请求所述的调度模块进行重新负载均衡处理。
3.根据权利要求2所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的连接管理及维护单元还用于接收地址中包含用户ID、设备ID、直播间ID的参数信息的SSE连接请求,并向所述的新一代云原生消息平台(Pulsar)发送查询直播间分配关系的消息,并根据返回消息判断当前用户是否有进入对应直播间的访问权限,如果有,则允许当前用户进入对应直播间,否则,终止连接。
4.根据权利要求3所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的SSE连接管理模块将定期向客户端发送约定格式的消息,以保持客户端与服务端之间的SSE连接长期存活;所述的SSE连接管理模块还用于通过监听Linux系统发出的物理连接建立或断开消息来判断当前用户设备的在线状态及维护消息的推送订阅数据。
5.根据权利要求2所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的新一代云原生消息平台(Pulsar)包括:
topic维护处理单元,用于创建消息topic配置生成目标topic列表,并传输包含用户登录信息、用户登出信息的消息数据;
消息限速处理单元,用于判断接收到的数据是否需要进行限速处理。
6.根据权利要求5所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的调度模块用于接收包括服务器负载、在线连接数、处理耗时的运行指标,并根据当前客户端的地理位置和运营商,按照地理位置相近、运营商相同、负载较低的原则,将用户引流至合适的接入节点。
7.根据权利要求2所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的图文直播服务端具体包括:
消息处理及维护模块、直播间信息维护模块、用户与直播间在线状态维护模块、直播间分配算法模块、问题分配模块、历史消息查询模块、敏感词识别及过滤模块、股票常见问题库维护模块、IP地理位置识别模块以及公告发布处理模块。
8.根据权利要求7所述的基于SSE实现投顾实时图文直播的系统,其特征在于,当所述的图文直播服务端接收到用户的访问请求后,则进行校验接口签名、校验用户密码,校验用户对目标直播间的访问权限的安全校验处理,并依次通过所述的敏感词识别及过滤模块进行敏感词识别和过滤处理,最后将消息存储到数据库和缓存中。
9.根据权利要求8所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的图文直播服务端支持人工审核模式和自动审核模式,以决定用户发送的消息内容是否能够公开发布到直播间中,其中,所述的人工审核模式需由投顾进行人工审核并决定是否公开,所述的自动审核模式则会自动发布通过所述的敏感词识别及过滤模块筛选的所有消息。
10.根据权利要求9所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的投顾管理后台具体包括:
投顾人员管理模块、直播间管理模块、消息发送及回复模块、直播间分配算法配置模块以及回复模式管理模块,其中,所述的直播间管理模块用于查询并展示直播间的消息;所述的直播间分配算法配置模块用于根据直播间的投顾数量,按照比例配置用户问题的分配接收规则。
11.根据权利要求10所述的基于SSE实现投顾实时图文直播的系统,其特征在于,所述的回复模式管理模块包括公开回复和私密回复,如果当前回复消息为公开消息,则通过所述的SSE连接管理模块将该消息推送至目标直播间的所有在线设备;如果为隐私消息,则所述的SSE连接管理模块将只推送给目标用户的在线设备列表。
12.一种利用权利要求1所述的系统实现基于SSE的投顾实时图文直播的处理方法,其特征在于,所述的方法包括以下步骤:
(1)客户端查询当前用户所属的直播间;
(2)客户端向所述的调度模块发起调度请求,以获取最优接入节点地址;
(3)客户端向所述的SSE连接管理模块发送SSE连接请求建立SSE连接进行数据交互;
(4)所述的投顾管理后台根据所述的图文直播服务端接收到的用户登录消息、维护用户在线状态信息以及接入节点的信息进行消息发送及回复处理;
(5)所述的图文直播服务端根据用户发送消息的内容判断是否进行公开处理;
(6)待用户退出直播间后,断开连接,并通过所述的SSE连接管理模块进行管理维护,以维持消息推送订阅关系。
13.根据权利要求12所述的实现基于SSE的投顾实时图文直播的处理方法,其特征在于,所述的步骤(3)包括以下步骤:
(3.1)客户端向所述的图文直播服务端发起http请求,并在请求中携带包含用户ID、设备ID、地理位置、接口签名的参数信息;
(3.2)所述的图文直播服务端接收到请求后,对当前用户的个人信息进行查询和验证处理;
(3.3)所述的图文直播服务端通过智能分配算法,对当前用户的地理位置、用户所属营业部、签约产品、用户画像数据进行自动匹配,输出用户能看到的直播间列表,并将该列表返回给客户端;
(3.4)用户根据返回的直播间列表进行任意选择,并点击进入相应的图文直播间。
14.根据权利要求13所述的实现基于SSE的投顾实时图文直播的处理方法,其特征在于,所述的步骤(3.2)还包括:
当所述的图文直播服务端识别到当前所述的客户端未上传地理位置信息时,所述的服务端则会从请求对象中提取真实IP并从第三方提供的IP地址库中解析出当前该用户的城市级别的地理位置。
15.一种基于SSE实现投顾实时图文直播处理的装置,其特征在于,所述的装置包括:
处理器,被配置成执行计算机可执行指令;
存储器,存储一个或多个计算机可执行指令,所述计算机可执行指令被所述处理器执行时,实现权利要求12至14中任一项所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
16.一种基于SSE实现投顾实时图文直播处理的处理器,其特征在于,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现权利要求12至14中任一项所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
17.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现权利要求12至14中任一项所述的基于SSE的投顾实时图文直播的处理方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210799908.8A CN115022329B (zh) | 2022-07-08 | 2022-07-08 | 基于sse实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210799908.8A CN115022329B (zh) | 2022-07-08 | 2022-07-08 | 基于sse实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022329A CN115022329A (zh) | 2022-09-06 |
CN115022329B true CN115022329B (zh) | 2023-08-04 |
Family
ID=83079325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210799908.8A Active CN115022329B (zh) | 2022-07-08 | 2022-07-08 | 基于sse实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022329B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547511A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及系统 |
CN110069342A (zh) * | 2019-04-11 | 2019-07-30 | 西安交通大学 | 一种移动云计算环境下融合视频直播频道部署方法 |
CN110380967A (zh) * | 2019-04-17 | 2019-10-25 | 武汉初心科技有限公司 | 一种基于sse技术的服务器推送消息方法 |
CN111092809A (zh) * | 2019-12-30 | 2020-05-01 | 北京每日优鲜电子商务有限公司 | 实时推送信息的方法、装置、计算机设备及存储介质 |
CN111510733A (zh) * | 2019-01-30 | 2020-08-07 | 北京奇虎科技有限公司 | 渠道调度方法、服务器和系统 |
CN111711689A (zh) * | 2020-06-16 | 2020-09-25 | 深圳市思迪信息技术股份有限公司 | 投顾系统图文直播方法及系统、设备及存储介质 |
CN112968963A (zh) * | 2021-02-23 | 2021-06-15 | 上海昊沧系统控制技术有限责任公司 | 基于WebSocket进行用户强制实时下线的方法 |
CN112995347A (zh) * | 2021-05-11 | 2021-06-18 | 北京沃丰时代数据科技有限公司 | 实现端对端实时数据展示的方法、装置、设备及存储介质 |
WO2021137098A1 (en) * | 2019-12-30 | 2021-07-08 | Altice Labs, S.A. | System and method for supporting permanent http connections |
CN114239566A (zh) * | 2021-12-14 | 2022-03-25 | 公安部第三研究所 | 基于信息增强实现两步中文事件精准检测的方法、装置、处理器及其计算机可读存储介质 |
CN114528473A (zh) * | 2021-12-30 | 2022-05-24 | 苏州空天信息研究院 | 一种基于WebSocket的信息集成发布方法及系统 |
-
2022
- 2022-07-08 CN CN202210799908.8A patent/CN115022329B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547511A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及系统 |
CN111510733A (zh) * | 2019-01-30 | 2020-08-07 | 北京奇虎科技有限公司 | 渠道调度方法、服务器和系统 |
CN110069342A (zh) * | 2019-04-11 | 2019-07-30 | 西安交通大学 | 一种移动云计算环境下融合视频直播频道部署方法 |
CN110380967A (zh) * | 2019-04-17 | 2019-10-25 | 武汉初心科技有限公司 | 一种基于sse技术的服务器推送消息方法 |
CN111092809A (zh) * | 2019-12-30 | 2020-05-01 | 北京每日优鲜电子商务有限公司 | 实时推送信息的方法、装置、计算机设备及存储介质 |
WO2021137098A1 (en) * | 2019-12-30 | 2021-07-08 | Altice Labs, S.A. | System and method for supporting permanent http connections |
CN111711689A (zh) * | 2020-06-16 | 2020-09-25 | 深圳市思迪信息技术股份有限公司 | 投顾系统图文直播方法及系统、设备及存储介质 |
CN112968963A (zh) * | 2021-02-23 | 2021-06-15 | 上海昊沧系统控制技术有限责任公司 | 基于WebSocket进行用户强制实时下线的方法 |
CN112995347A (zh) * | 2021-05-11 | 2021-06-18 | 北京沃丰时代数据科技有限公司 | 实现端对端实时数据展示的方法、装置、设备及存储介质 |
CN114239566A (zh) * | 2021-12-14 | 2022-03-25 | 公安部第三研究所 | 基于信息增强实现两步中文事件精准检测的方法、装置、处理器及其计算机可读存储介质 |
CN114528473A (zh) * | 2021-12-30 | 2022-05-24 | 苏州空天信息研究院 | 一种基于WebSocket的信息集成发布方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115022329A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102014403B (zh) | 一种传输网络拓扑信息的方法及系统 | |
CA2707536C (en) | Processing of network content and services for mobile or fixed devices | |
CN102255935B (zh) | 云服务消费方法、云服务中介及云系统 | |
CN101635728B (zh) | 内容分发网络中数据同步的方法及系统 | |
CN111861140A (zh) | 一种业务处理方法、装置、存储介质和电子装置 | |
CN110545327B (zh) | 一种信息推送方法及系统 | |
CN107172220A (zh) | 多cdn服务的切换调度方法及设备 | |
CN101365119A (zh) | 用于网络视频监控系统所使用的录像负载均衡方法 | |
RU2011110346A (ru) | Система медийных ресурсов и способ предоставления медийных ресурсов | |
CN110445697B (zh) | 视频大数据云平台设备接入服务方法 | |
CN101360129A (zh) | 网络视频监控系统手机短信发送方法 | |
CN101409654B (zh) | 一种网络管理系统中处理snmp信息的方法 | |
CN103312593A (zh) | 一种消息分发系统及方法 | |
CN112396432A (zh) | 回访任务生成系统及方法、设备、介质 | |
CN107071067B (zh) | 一种基于Cgo的高性能证券行情接入系统和方法 | |
CN101321123A (zh) | 嵌入式传输动态数据的系统及其传输方法 | |
CN103716230A (zh) | 消息发送方法、装置及服务器 | |
CN106453035B (zh) | 基于北斗通信和位置服务的即时通信系统 | |
CN115022329B (zh) | 基于sse实现投顾实时图文直播的系统、方法、装置、处理器及其计算机可读存储介质 | |
CN114338769A (zh) | 访问请求的处理方法及装置 | |
CN109302435B (zh) | 消息发布方法、装置、系统、服务器及计算机可读存储介质 | |
WO2022126837A1 (zh) | 视频监控服务智能调度系统 | |
WO2020134646A1 (zh) | 分布式语音监控方法、装置、系统、存储介质和设备 | |
CN101119275A (zh) | 使业务提供商设备获取信息的方法、设备和系统 | |
CN115632815A (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 |