CN113347460B - 直播***搭建平台及消息传输方法 - Google Patents
直播***搭建平台及消息传输方法 Download PDFInfo
- Publication number
- CN113347460B CN113347460B CN202110667233.7A CN202110667233A CN113347460B CN 113347460 B CN113347460 B CN 113347460B CN 202110667233 A CN202110667233 A CN 202110667233A CN 113347460 B CN113347460 B CN 113347460B
- Authority
- CN
- China
- Prior art keywords
- attribute
- room
- user
- live broadcast
- message
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种直播***搭建平台以及消息传输方法,应用于云端服务器,直播***搭建平台包括Logic服务模块,WS服务模块,消息中间件,所述Logic服务模块包括代理层模块、抽象层模块、Logic层模块和接口层模块,所述代理层模块用于屏蔽来自不同供应商的音视频数据特性;所述抽象层模块用于把直播房间或用户抽象成对应的房间属性或用户属性;所述Logic层模块用于实现直播房间相关业务逻辑;接口层模块用于实现远程调用协议的封装。可以使第三方***快速进行对接,第三方只需实现其自己的业务逻辑服务,即可通过调用本平台提供的接口,快速的实现其直播功能。不需要再针对应用场景独立开发相应的应用***,有效缩短了开发周期,降低了开发成本及维护成本。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种直播***搭建平台及消息传输方法。
背景技术
随着网络技术、音视频压缩与传输技术的发展,以音视频直播为基础的应用服务如雨后春笋般的涌现在各个领域,如视频直播,直播带货,在线教育等。音视频直播是一套由多种底层技术结合的复杂的统合应用***。不同的应用场景下,使用不同的专业技术,并额外需要其它服务的配合,对于一般的开发者是一个很在的挑战。
一个新的应用***的开发首先要针对自身的应用场景来选择合适的底层技术,然后要在音视频直播之上开发业务相关的应用服务,如聊天,白板等。当应用场景改变,可能又需要重新做技术选型和开发,并且之前做的业务相关的应用服务(如:聊天)在新技术构架下也需要二次开发。***开发后,需要自己搭建服务集群来运行各***组件。***上线后,还需要专业的运维人员对***进行日常的运维工作。
虽然通过现有的技术手段可以搭建一套应用***,但是其开发周期长,技术曲线陡,开发人员多,最后导致开发成本高,***维护成本高,代码复用率低等问题。***的部署、版本更新、运维也需要专业的人员。
发明内容
为了改善上述问题,本发明提供了一种直播***搭建平台及消息传输方法。
本发明实施例的第一方面,提供了一种直播***搭建平台,应用于云端服务器,包括:
Logic服务模块,用于接收客户端发送的网络请求;WS服务模块,用于向客户端发送指令消息或是用户自定义消息;消息中间件,用于在所述Logic服务模块与WS服务模块间传递数据;
其中,所述Logic服务模块包括代理层模块、抽象层模块、Logic层模块和接口层模块,所述代理层模块用于屏蔽来自不同供应商的音视频数据特性;所述抽象层模块用于把直播房间或用户抽象成对应的房间属性或用户属性;所述Logic层模块用于实现直播房间相关业务逻辑;所述接口层模块用于实现远程调用协议的封装;
所述抽象层模块把直播房间或用户抽象成对应的房间属性或用户属性的方式为:生成对应直播房间或者用户的数据结构,根据获取的房间信息或者用户信息,在生成的数据结构中,添加相应的数据标签,数据标签的内容与房间信息或者用户信息相对应。
可选地,所述房间属性或用户属性包括静态属性和动态属性,所述静态属性对应直播房间或者用户在直播过程中不会发生变化的信息,所述动态属性对应直播房间或者用户在直播过程中可能随时间的推移而发生变化的信息;所述抽象层模块根据首次获取的房间信息或者用户信息,生成包括静态属性和动态属性的房间属性或用户属性,当后续获取的房间信息或者用户信息发生变化时,对已经生成的房间属性或用户属性中的动态属性进行调整,得到新的房间属性或用户属性。
可选地,所述抽象层模块通过所述消息中间件,将房间属性或用户属性与所述WS服务模块进行同步;当首次对房间属性或用户属性进行同步时,将静态属性和动态属性全部进行同步,当动态属性发生变化时,仅进行动态属性的同步。
可选地,所述抽象层模块根据获取的房间信息或者用户信息,在生成的数据结构中,添加相应的数据标签的方式,具体为:
提取房间信息或者用户信息的字段内容;
将字段内容按文字语义进行拆分,得到多个词组;
将词组分别与预先定义的房间属性或用户属性对应的词组进行匹配,如果匹配成功则添加对应的数据标签。
可选地,所述抽象层模块对已经生成的房间属性或用户属性中的动态属性进行调整的方式,具体为:
将当前房间信息或者用户信息匹配得到的数据标签,与上一状态进行比较;
如果有增加的数据标签,则将其添加到对应的房间属性或用户属性中,如果有减少的数据标签,则将其从对应的房间属性或用户属性中删除。
本发明实施例的第二方面,提供了一种消息传输方法,包括:
Logic服务模块接收待发送的消息,根据消息内容为待发送的消息增加路由属性;
Logic服务模块通过消息中间件将添加了路由属性的待发送的消息传递至WS服务模块;
WS服务模块对路由属性进行分析,将其与房间属性或用户属性进行匹配,将待发送的消息发送至匹配成功的房间或用户对应的客户端。
可选地,当路由属性与房间属性匹配时,WS服务模块将消息发送至对应房间内所有用户;
当路由属性与用户属性匹配时,WS服务模块将消息发送至对应的一个或多个用户。
可选地,对路由属性进行分析,将所述路由属性与房间属性或用户属性进行匹配的方式,具体为:
获取路由属性的字段信息,通过字符串正则表达式进行路由属性与房间属性或用户属性的匹配。
可选地,将待发送的消息发送至匹配成功的房间或用户对应的客户端的方式,具体为:
当待发送的消息添加到匹配路由属性的客户端的消息队列中。
本发明实施例的第三方面,提供了一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现上述的方法。
综上所述,本发明提供了一种直播***搭建平台以及消息传输方法,应用于云端服务器,可以使第三方***快速进行对接,第三方只需实现其自己的业务逻辑服务,即可通过调用本平台提供的接口,快速的实现其直播功能。不需要再针对应用场景独立开发相应的应用***,有效缩短了开发周期,降低了开发成本及维护成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍, 应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例的直播***搭建平台的使用状态示意图;
图2为本发明实施例的直播***搭建平台的***架构图;
图3为本发明实施例的Logic服务模块的结构示意图;
图4为本发明实施例的消息传输方法的方法流程图。
图标:
直播***搭建平台100;第三方***200;客户端300;Logic服务模块110;WS服务模块120;消息中间件130。
具体实施方式
目前,随着网络技术、音视频压缩与传输技术的发展,以音视频直播为基础的应用服务如雨后春笋般的涌现在各个领域,如视频直播,直播带货,在线教育等。音视频直播是一套由多种底层技术结合的复杂的统合应用***。不同的应用场景下,使用不同的专业技术,并额外需要其它服务的配合,对于一般的开发者是一个很在的挑战。
一个新的应用***的开发首先要针对自身的应用场景来选择合适的底层技术,然后要在音视频直播之上开发业务相关的应用服务,如聊天,白板等。当应用场景改变,可能又需要重新做技术选型和开发,并且之前做的业务相关的应用服务(如:聊天)在新技术构架下也需要二次开发。***开发后,需要自己搭建服务集群来运行各***组件。***上线后,还需要专业的运维人员对***进行日常的运维工作。
虽然通过现有的技术手段可以搭建一套应用***,但是其开发周期长,技术曲线陡,开发人员多,最后导致开发成本高,***维护成本高,代码复用率低等问题。***的部署、版本更新、运维也需要专业的人员。
鉴于此,本发明设计者设计了一种直播***搭建平台以及消息传输方法,可以使第三方***快速进行对接,第三方只需实现其自己的业务逻辑服务,即可通过调用本平台提供的接口,快速的实现其直播功能。不需要再针对应用场景独立开发相应的应用***,有效缩短了开发周期,降低了开发成本及维护成本。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语 “顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例
请参阅图1-图3,本实施例提供了一种直播***搭建平台。
请参阅图1,本发明提供的一种直播***搭建平台100,应用于云端服务器,第三方***200与本平台进行对接,在使用过程中,第三方***200仅仅需要实现自己的业务逻辑服务,直播相关功能通过调用本平台提供的接口进行实现。通过使用本发明提供直播***搭建平台100,第三方***200即可实现面向客户端300的直播功能。
在上述基础上,如图2-3所示,为本发明提供的直播***搭建平台100,的***架构。包括Logic服务模块110,用于接收客户端300发送的网络请求;WS服务模块120,用于向客户端300发送指令消息或是用户自定义消息;消息中间件130,用于在所述Logic服务模块110与WS服务模块120间传递数据。
其中,所述Logic服务模块110包括代理层模块、抽象层模块、Logic层模块和接口层模块,所述代理层模块用于屏蔽来自不同供应商的音视频数据特性;所述抽象层模块用于把直播房间或用户抽象成对应的房间属性或用户属性;所述Logic层模块用于实现直播房间相关业务逻辑;所述接口层模块用于实现远程调用协议的封装。
具体的,第三方***200通过接口层模块使用的远程调用协议与直播***搭建平台100进行对接。直播***搭建平台100通过远程调用协议提供直播间的相关接口,如主播音、视频显示,分享自己视频,聊天等。作为本发明的优选实施方式,接口层模块采用GRPC协议,GRPC协议是一套广泛被互联网公司使用的远程调用协议,采用GRPC协议能够使得使其它第三方***200很容易对接到本平台上。
当第三方***200与直播***搭建平台100进行对接后,参与直播的客户端300发送和接受消息,通过第三方***200调用直播***搭建平台100相关功能完成。其中Logic服务模块110,用于接收客户端300发送的网络请求;WS服务模块120,用于向客户端300发送指令消息或是用户自定义消息;消息中间件130,用于在所述Logic服务模块110与WS服务模块120间传递数据。
由于不同的第三方***200,在实现其自身的业务逻辑时,可能会使用来自不同供应商的不同的音视频技术,通过代理层模块将来自不同供应商的音视频数据特性进行屏蔽,再通过抽象层模块把直播房间或用户抽象成对应的房间属性或用户属性,然后再由Logic层模块实现来自不同第三方***200需要再直播房间实现的相关业务逻辑。采用上述方式,本发明提供的直播***搭建平台100,可以针对不同的第三方***200实现对接,兼容性高。
为了更快速和方便的实现直播功能,所述抽象层模块把直播房间或用户抽象成对应的房间属性或用户属性的方式为:生成对应直播房间或者用户的数据结构,根据获取的房间信息或者用户信息,在生成的数据结构中,添加相应的数据标签,数据标签的内容与房间信息或者用户信息相对应。
针对每个直播房间或者用户,生成相应的数据结构,该数据结构中包括一个或多个用于表示房间属性或用户属性的数据标签,数据标签是根据获取到的房间信息或者用户信息生成的,能够与对应的房间或者用户形成映射关系。作为本发明的优选实施方式,可以采用map类型数据结构。
例如,针对直播房间A可以生成对应的房间属性的数据结构
A(a1,a2,a3,a4,...),其中数据标签a1,a2,a3,a4,...可以分别对应所属第三方***200、房间编号、直播类型、直播时间等等,这些数据标签是通过房间信息生成。
同理可针对用户X可以生成对应的用户属性的数据结构
X(x1,x2,x3,x4,...),其中数据标签x1,x2,x3,x4,...可以分别对应所属第三方***200、用户名、所在房间编号、上线时长、用户状态等等,这些数据标签是通过用户信息生成。
在直播的过程中,随着时间的推移,房间信息或者用户信息可能会发生变化,因此房间属性或用户属性也因此需要对应的调整。作为本发明的优选实施方式,所述房间属性或用户属性包括静态属性和动态属性,
所述静态属性对应直播房间或者用户在直播过程中不会发生变化的信息,所述动态属性对应直播房间或者用户在直播过程中可能随时间的推移而发生变化的信息;所述抽象层模块根据首次获取的房间信息或者用户信息,生成包括静态属性和动态属性的房间属性或用户属性,当后续获取的房间信息或者用户信息发生变化时,对已经生成的房间属性或用户属性中的动态属性进行调整,得到新的房间属性或用户属性。
例如,直播房间A的数据结构A(a1,a2,a3,a4,...),可设置其中的前N个数据标签对应静态属性,例如所属第三方***200、房间编号,在本次直播过程中是固定不变的。数据结构中的其他的数据标签对应动态属性,例如直播类型、直播时间等,随着时间的推移,可能会发生变化。
抽象层模块按照一定的策略定期获取房间信息或者用户信息,当获取的信息发生变化时,就对已经生成的房间属性或用户属性中的动态属性进行调整,得到新的房间属性或用户属性。
抽象层模块生成了房间属性或用户属性后,通过消息中间件130,将房间属性或用户属性与所述WS服务模块120进行同步,使得WS服务模块120在发送消息时,能够准确的定位到相应的客户端300。为了进一步提升效率,当首次对房间属性或用户属性进行同步时,将静态属性和动态属性全部进行同步,当动态属性发生变化时,仅进行动态属性的同步。
在进行动态属性的同步时,将当前房间信息或者用户信息匹配得到的数据标签,与上一状态进行比较,根据比较的结果可以具体分为以下两种情况。一种是有增加的数据标签,此时需要告知WS服务模块120,将新增的数据标签添加到对应的房间属性或用户属性中,一种是有减少的数据标签,则将其从对应的房间属性或用户属性中删除。
为了能够针对不同的第三方***200,更准确的提取房间属性或用户属性,所述抽象层模块根据获取的房间信息或者用户信息,在生成的数据结构中,添加相应的数据标签的方式,具体为:提取房间信息或者用户信息的字段内容;将字段内容按文字语义进行拆分,得到多个词组;将词组分别与预先定义的房间属性或用户属性对应的词组进行匹配,如果匹配成功则添加对应的数据标签。
由于房间信息或者用户信息是从第三方***200处获取,不同***采用的信息描述方式可能存在差异,因此采用文字语义匹配的方式进行房间属性或用户属性的确定。由直播***搭建平台100内部预先定义房间属性或用户属性可能的词组,再将由房间信息或者用户信息的字段内容拆分得到的词组与其进行匹配。
例如,预先定义某房间属性的数据标签b1,对应多个预先定义的词组,包括b11,b112,b13,b14,...,将房间信息拆分得到的词组分别与之进行匹配,当其中出现b11,b112,b13,b14,...,中任意一个时,则该在房间属性中的添加数据标签b1。
通过上述直播***搭建平台100,可以使第三方***200快速进行对接,第三方只需实现其自己的业务逻辑服务,即可通过调用本平台提供的接口,快速的实现其直播功能。不需要再针对应用场景独立开发相应的应用***,有效缩短了开发周期,降低了开发成本及维护成本。
参阅图4,本发明还提供了一种消息传输方法,应用于上述该直播***搭建平台100,用于实现消息实现点对点发送或群发功能,该方法包括:
步骤S101,Logic服务模块110接收待发送的消息,根据消息内容为待发送的消息增加路由属性;
待发送的消息包括两个部分的内容,一个是消息发送的对象,一个消息的具体内容。由于在直播***搭建平台100内部,抽象层模块已经将直播房间或用户抽象成对应的房间属性或用户属性,为了能够准确的发送消息,需要为消息增加路由属性,指导其发送到正确的位置。
路由属性由消息发送的对象相关信息进行确定,可以指向房间也可以指向用户,可以指向多个对象,也可以指向一个对象。
步骤S102,Logic服务模块110通过消息中间件130将添加了路由属性的待发送的消息传递至WS服务模块120;
Logic服务模块110为待发送的消息添加了与之对应的路由属性后,通过传递消息的消息中间件130将其传递至WS服务模块120,由WS服务模块120完成后续的发送动作。
步骤S103,WS服务模块120对路由属性进行分析,将其与房间属性或用户属性进行匹配,将待发送的消息发送至匹配成功的房间或用户对应的客户端300。
WS服务模块120接受到消息中间件130传递的带有路由属性的待发送的消息后,提取路由属性的内容,将其与房间属性或用户属性进行匹配,进而确定与路由属性匹配的房间或用于有哪些,然后将待发送的消息发送至对应的客户端300中。
具体地,当匹配的当路由属性与房间属性匹配时,WS服务模块120将消息发送至对应房间内所有用户;当路由属性与用户属性匹配时,WS服务模块120将消息发送至对应的一个或多个用户。
WS服务模块120执行发送动作的具体方式为,将当待发送的消息添加到匹配路由属性的客户端300的消息队列中。
作为本发明实施例的优选实施方式,对路由属性进行分析,将所述路由属性与房间属性或用户属性进行匹配的方式,具体为:获取路由属性的字段信息,通过字符串正则表达式进行路由属性与房间属性或用户属性的匹配。通过字符串正则表达式进行匹配,能够更加准确和高效的完成匹配过程。
参与直播的用户客户端300通过WebSocket协议与WS服务模块120保持连接。WebSocket是一种双向通信的长连接,使得WS服务模块120可以实时向客户端300发送数据。在本发明提供的实施例中,平台只提供数据的发送通道功能,具体的数据格式由上层应用自定义。消息通过消息路由属性引导,发送给不同的WS(Web Service)服务,WS服务再将消息按属性发送给用户(或是多个用户)和房间(房间内所有用户都能收到)。
下面通过一个具体案例进行说明,假设有一条信息需要发送给某在线教育直播平台中,关于留学相关问题直播间的所有用户。根据发送的对象,可以生成的路由属性包括某在线教育直播平台对应的所属第三方***200的数据标签,以及直播主题“留学”对应的数据标签。然后再匹配房间属性中包含有上述两个数据标签的房间,将该信息发送到匹配房间中的所有用户客户端300。
本发明实施例提供的一种消息传输方法,应用于直播***搭建平台100,可以快速实现使消息实现点对点或群发功能,保证了消息能快速到达客户端300,同时消息在不同上层应用间的相互隔离,保证了信息的隐蔽性。
本发明实施例还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时实现上述的消息传输方法。
综上所述,本发明提供了一种直播***搭建平台以及消息传输方法,应用于云端服务器,可以使第三方***快速进行对接,第三方只需实现其自己的业务逻辑服务,即可通过调用本平台提供的接口,快速的实现其直播功能。不需要再针对应用场景独立开发相应的应用***,有效缩短了开发周期,降低了开发成本及维护成本。
在本申请所公开的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种直播***搭建平台,应用于云端服务器,其特征在于,包括:
Logic服务模块,用于接收客户端发送的网络请求;WS服务模块,用于向客户端发送指令消息或是用户自定义消息;消息中间件,用于在所述Logic服务模块与WS服务模块间传递数据;
其中,所述Logic服务模块包括代理层模块、抽象层模块、Logic层模块和接口层模块,所述代理层模块用于屏蔽来自不同供应商的音视频数据特性;所述抽象层模块用于把直播房间或用户抽象成对应的房间属性或用户属性;所述Logic层模块用于实现直播房间相关业务逻辑;所述接口层模块用于实现远程调用协议的封装;
所述抽象层模块把直播房间或用户抽象成对应的房间属性或用户属性的方式为:生成对应直播房间或者用户的数据结构,根据获取的房间信息或者用户信息,在生成的数据结构中,添加相应的数据标签,数据标签的内容与房间信息或者用户信息相对应。
2.根据权利要求1所述的直播***搭建平台,其特征在于,所述房间属性或用户属性包括静态属性和动态属性,
所述静态属性对应直播房间或者用户在直播过程中不会发生变化的信息,所述动态属性对应直播房间或者用户在直播过程中可能随时间的推移而发生变化的信息;
所述抽象层模块根据首次获取的房间信息或者用户信息,生成包括静态属性和动态属性的房间属性或用户属性,当后续获取的房间信息或者用户信息发生变化时,对已经生成的房间属性或用户属性中的动态属性进行调整,得到新的房间属性或用户属性。
3.根据权利要求2所述的直播***搭建平台,其特征在于,
所述抽象层模块通过所述消息中间件,将房间属性或用户属性与所述WS服务模块进行同步;当首次对房间属性或用户属性进行同步时,将静态属性和动态属性全部进行同步,当动态属性发生变化时,仅进行动态属性的同步。
4.根据权利要求3所述的直播***搭建平台,其特征在于,所述抽象层模块根据获取的房间信息或者用户信息,在生成的数据结构中,添加相应的数据标签的方式,具体为:
提取房间信息或者用户信息的字段内容;
将字段内容按文字语义进行拆分,得到多个词组;
将词组分别与预先定义的房间属性或用户属性对应的词组进行匹配,如果匹配成功则添加对应的数据标签。
5.根据权利要求3所述的直播***搭建平台,其特征在于,所述抽象层模块对已经生成的房间属性或用户属性中的动态属性进行调整的方式,具体为:
将当前房间信息或者用户信息匹配得到的数据标签,与上一状态进行比较;
如果有增加的数据标签,则将其添加到对应的房间属性或用户属性中,如果有减少的数据标签,则将其从对应的房间属性或用户属性中删除。
6.一种消息传输方法,应用于如权利要求1-5任一所述的直播***搭建平台,其特征在于,包括:
Logic服务模块接收待发送的消息,根据消息内容为待发送的消息增加路由属性;
Logic服务模块通过消息中间件将添加了路由属性的待发送的消息传递至WS服务模块;
WS服务模块对路由属性进行分析,将其与房间属性或用户属性进行匹配,将待发送的消息发送至匹配成功的房间或用户对应的客户端。
7.根据权利要求6所述的消息传输方法,其特征在于,
当路由属性与房间属性匹配时,WS服务模块将消息发送至对应房间内所有用户;
当路由属性与用户属性匹配时,WS服务模块将消息发送至对应的一个或多个用户。
8.根据权利要求6中所述的消息传输方法,其特征在于,对路由属性进行分析,将所述路由属性与房间属性或用户属性进行匹配的方式,具体为:
获取路由属性的字段信息,通过字符串正则表达式进行路由属性与房间属性或用户属性的匹配。
9.根据权利要求8所述的消息传输方法,其特征在于,将待发送的消息发送至匹配成功的房间或用户对应的客户端的方式,具体为:
当待发送的消息添加到匹配路由属性的客户端的消息队列中。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667233.7A CN113347460B (zh) | 2021-06-16 | 2021-06-16 | 直播***搭建平台及消息传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110667233.7A CN113347460B (zh) | 2021-06-16 | 2021-06-16 | 直播***搭建平台及消息传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113347460A CN113347460A (zh) | 2021-09-03 |
CN113347460B true CN113347460B (zh) | 2021-11-26 |
Family
ID=77476052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110667233.7A Active CN113347460B (zh) | 2021-06-16 | 2021-06-16 | 直播***搭建平台及消息传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347460B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361121C (zh) * | 2003-07-11 | 2008-01-09 | 北京直真节点技术开发有限公司 | 一种通用对象建模方法及通用对象管理*** |
US8156239B1 (en) * | 2011-03-09 | 2012-04-10 | Metropcs Wireless, Inc. | Adaptive multimedia renderer |
CN111934899B (zh) * | 2020-06-19 | 2023-05-16 | 深圳奇迹智慧网络有限公司 | 物联网用户信息的配置方法、装置、计算机设备 |
-
2021
- 2021-06-16 CN CN202110667233.7A patent/CN113347460B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113347460A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2308446T3 (es) | Sistema y metodo para comunicar asincronamente con servicos web sincronos a traves de un servio mediador. | |
US20050102364A1 (en) | Method and apparatus for generating data change requests containing data consistency information in a peer-to-peer collaborative computer system | |
JP2014523568A (ja) | 効率的な状態調整 | |
JP2017517063A (ja) | インスタントメッセージングシステムおよび方法 | |
CN103534988A (zh) | 消息发布与订阅的方法及装置 | |
CN105637472B (zh) | 具有广义屏幕描述的屏幕内容共享***的框架 | |
CN103346957A (zh) | 一种根据联系人消息改变联系人头像表情的***及方法 | |
CN112929253B (zh) | 一种虚拟形象交互方法和装置 | |
CN110708358B (zh) | 会话消息处理方法、电子设备和计算机可读存储介质 | |
CN104022945A (zh) | 在客户端中实现即时通讯的方法和装置 | |
US20070118634A1 (en) | Message oriented construction of web services | |
CN109189502A (zh) | 一种基于即时通讯公众平台的消息处理方法和相关设备 | |
CN105704001A (zh) | 一种微信服务器消息分发方法及*** | |
Shigeoka | Instant messaging in Java: the Jabber protocols | |
Ådahl | Shared resource for collaborative editing over a wireless network | |
CN109766315A (zh) | 文件展示方法及终端、计算机存储介质、计算机设备 | |
CN113347460B (zh) | 直播***搭建平台及消息传输方法 | |
US8683608B2 (en) | Communication method, display apparatus, moderator terminal apparatus, user terminal apparatus, and multi-user communication system including the same | |
CN114422468A (zh) | 消息处理方法、装置、终端及存储介质 | |
CN110442698A (zh) | 对话内容生成方法及*** | |
CN104378411A (zh) | 服务交换*** | |
CN115695512A (zh) | 基于微服务架构的数据订阅方法、***、设备和存储介质 | |
CN109408757A (zh) | 问答内容分享方法、装置、终端设备及计算机存储介质 | |
CN114500481B (zh) | 业务请求处理方法、***和装置 | |
CN112837678B (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 |