CN110413261A - 一种直播功能模块的配置方法与设备 - Google Patents

一种直播功能模块的配置方法与设备 Download PDF

Info

Publication number
CN110413261A
CN110413261A CN201910562129.4A CN201910562129A CN110413261A CN 110413261 A CN110413261 A CN 110413261A CN 201910562129 A CN201910562129 A CN 201910562129A CN 110413261 A CN110413261 A CN 110413261A
Authority
CN
China
Prior art keywords
function module
layer
module
broadcasting room
direct broadcasting
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.)
Pending
Application number
CN201910562129.4A
Other languages
English (en)
Inventor
徐惠雨
周勇
陈小冬
朱林伟
陈建宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201910562129.4A priority Critical patent/CN110413261A/zh
Publication of CN110413261A publication Critical patent/CN110413261A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供一种直播功能模块的配置方法与设备,其中,该方法包括以下步骤:接收主播输入的直播请求,所述直播请求携带直播间类型信息;获取并显示与所述直播间类型信息对应的侯选个性化模块标识;接收主播从所述侯选个性化模块标识中选择的目标个性化模块标识;从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块;加载所述固定功能模块和所述个性化功能模块,生成目标直播界面。本发明可以解决现有技术各类型直播间的功能模块固定所造成的无法满足用户个性化配置需求,并且直播间各功能模块的可维护性和可扩展性低的问题。

Description

一种直播功能模块的配置方法与设备
技术领域
本发明涉及直播应用程序开发领域,尤其涉及一种直播功能模块的配置方法与设备。
背景技术
随着移动终端的快速发展,特别是手机移动终端的快速发展,直播行业越来越受欢迎,很多用户喜欢通过直播应用程序(APP)来观看直播。随着网络直播的兴起,各个直播平台也如雨后春笋般纷纷推出了自己的主播客户端。直播应用程序通常支持语音直播间,摄像直播间和/或录屏直播间等直播间类型。现有技术中,各类型直播间的功能模块都是固定的,然而,不同主播对于直播间的功能模块有不同的配置需求,随着后续的发展还可能有更多的个性化配置差异,因此,现有技术无法满足用户个性化配置需求,并且直播间各功能模块的可维护性和可扩展性低。
发明内容
针对上述现有技术的不足,本发明的目的在于提供一种直播功能模块的配置方法与设备,以解决现有技术各类型直播间的功能模块固定所造成的无法满足用户个性化配置需求,并且直播间各功能模块的可维护性和可扩展性低的问题。
为了实现上述目的,本发明提供一种直播功能模块的配置方法,该方法包括以下步骤:
接收主播输入的直播请求,所述直播请求携带直播间类型信息;
获取并显示与所述直播间类型信息对应的侯选个性化模块标识;
接收主播从所述侯选个性化模块标识中选择的目标个性化模块标识;
从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块;
加载所述固定功能模块和所述个性化功能模块,生成目标直播界面。
在本申请一个实施例中,当所述目标功能模块库采用的架构包含模型层、视图层和视图模型层时,所述从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块的步骤包括:
从所述模型层和视图层获取与所述直播间类型对应的固定功能模块;
从所述视图模型层获取与所述目标个性化模块标识对应的个性化功能模块。
在本申请一个实施例中,当所述目标功能模块库采用的架构包含基础服务层、弱业务层和业务层时,所述从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块的步骤包括:
从所述基础服务层和弱业务层获取与所述直播间类型对应的固定功能模块;
从所述业务层获取与所述目标个性化模块标识对应的个性化功能模块。
在本申请一个实施例中,所述直播间类型信息包括语音直播间、摄像直播间或录屏直播间中。
在本申请一个实施例中,所述直播间类型信息包括VR直播间或AR直播间。
在本申请一个实施例中,所述方法还包括:在直播过程中,
通过基础服务层接收服务器消息,并将所述服务器消息下发到弱业务层中与所述服务器消息对应的功能模块;
通过所述弱业务层中与服务器消息对应的功能模块,将所述服务器消息下发到所述业务层中与服务器消息对应的目标功能模块。
在本申请一个实施例中,所述通过所述弱业务层中与服务器消息对应的功能模块,将所述服务器消息下发到所述业务层中与服务器消息对应的目标功能模块的步骤包括:
检测目标缓存地址下是否缓存有所述服务器消息对应的模型数据,若有,从所述目标缓存地址下读取所述服务器消息对应的模型数据,并通过代理一一对应地将所述模型数据分发到所述业务层中与所述服务器消息对应的目标功能模块,否则,执行以下步骤:
将所述服务器消息转换成JSON格式;
将所述JSON格式的服务器消息转换成对应的模型数据;
将所述服务器消息对应的模型数据缓存到所述目标缓存地址,并通过代理一一对应将所述模型数据分发到所述业务层中与与所述服务器消息对应的目标功能模块。
为了实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
通过采用上述技术方案,本发明具有如下有益效果:本发明可以根据不同主播配置的目标个性化模块标识,加载对应的个性化功能模块,满足不同主播对于直播间的功能模块的不同配置需求,并且个性化功能模块可以根据需要修改和扩展,提高了功能模块的可维护性和可扩展性。
附图说明
图1为本发明所基于的直播系统的一个实施例的架构图;
图2为本发明一种直播功能模块的配置方法的一个实施例的流程图;
图3为本发明一种直播功能模块的配置方法的一个实施例的流程图;
图4为本发明目标功能模块库所采用的一个实施例的架构图;
图5为本发明目标功能模块库所采用的另一个实施例的架构图;
图6本发明服务器消息分发的一个实施例的原理图;
图7为本发明弱业务层分发服务器消息的一个实施例的原理图;
图8为现有技术不同直播端的开发示意图;
图9为本发明直播功能模块的配置方法的另一个实施例的流程图;
图10为基于本发明不同直播端的开发示意图;
图11本发明直播功能模块的配置装置的一个实施例的的结构框图;
图12为本发明计算机设备的硬件架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
在直播时,首先由直播端(即推流端)将直播信息发送给服务器,经由服务器处理后发送给各个观看端(即拉流端),最后在各个观看端播放该直播信息,完成直播过程。请参考图1,图1是本申请所基于的直播系统的架构图。如图1所示,直播端A通过无线网络将直播信息传输给服务器W,观看端B、C通过无线网络观看直播端A的直播视频,观看端D、E通过有线网络观看直播端A的直播视频,各观看端可以将各自接收到的弹幕信息传输给服务器W。此处仅示例性地给出一台服务器W,应该理解还可以采用多台相互通讯的服务器。服务器W可以是云端服务器,还可以是本地服务器。在本申请中,服务器W放置在云端侧。当直播端A发送直播信息时,服务器W对该直播信息进行处理,并将该直播信息转发给观看端B、C、D、E。其中,直播端、观看端不局限于图示的移动设备,所有可以进行推流、拉流的智能终端均可适用。
实施例一
如图2和3所示,本实施例提供一种直播功能模块的配置方法,适用于直播端,该方法包括以下步骤:
S11,接收主播输入的直播请求,所述直播请求携带直播间类型信息。
以“bilibili link”APP中的直播端为例,启动该直播端后,将显示语音直播间、摄像直播间和录屏直播间三个选项框。其中,语音直播间可以为多个用户构建的采用音频进行交流的环境。摄像直播间可以为主播提供视频直播功能,主播可以在视频直播间里唱歌、跳舞,进行一系列的表演,其他在视频直播间的用户可以观看主播的表演。录屏直播间可以将主播所持的移动终端的屏幕画面进行分享,以使在录屏直播间的其他用户可以观看主播所持的移动终端的屏幕画面。在主播对移动终端的屏幕进行操控时,屏幕画面可以随之变化,其他用户就可以看到这种变化。
当主播点击其中一个选项框后,直播端将接收到对应的直播请求,该直播请求中携带有被点击选项框对应的直播间类型信息。例如,主播点击了摄像直播间选项框,则直播请求中将携带摄像直播间类型信息。
S12,获取并显示与所述直播间类型对应的侯选个性化功能模块标识。
接收到主播输入的直播请求后,直播端将从预设的数据库中获取与直播请求中携带的直播间类型信息对应的侯选个性化功能模块标识,并通过预直播界面将获取的侯选个性化功能模块标识向主播展示出来。
S13,接收主播从所述侯选个性化功能模块标识中选择的目标个性化功能模块标识。
当预直播界面展示出侯选个性化功能模块标识后,主播可以从所述侯选个性化功能模块标识中选择需要的目标个性化功能模块标识。
S14、从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块。
在本申请中,固定功能模块是指在生成直播间界面时必须加载的功能模块,个性化功能模块是指在生成直播间界面时可以选择加载的功能模块。
在本申请中,可以针对安卓和IOS(苹果移动操作系统)目标功能模块库的架构是不同的。
对于安卓系统,优选采用图4所示的MVVM架构建立目标功能模块库。MVVM是Model(模型)-View(视图)-ViewModel(视图模型)的简写,即其包括:模型层、视图层和视图模型层。MVVM是从模型-视图-控制器(Model-View-Controller,MVC)架构进化而来。在MVVM架构中,Model层主要用于从数据库、本地存储地址和/或网络地址等途径获取原始数据;View层主要用于提供页面展示,其可以通过页面控件接收用户输入的操作指令;ViewModel层主要用于执行逻辑处理,其可以根据系统指令和用户操作指令从Model层读取需要的原始数据进行相应的逻辑处理后传送到View层进行展示。基于MVVM架构的代码库层次清晰,耦合度低,为代码复用提供了有利条件。
当目标功能模块库采用的架构包含模型层、视图层和视图模型层时,步骤S14具体包括:从所述模型层和视图层获取固定功能模块;从所述视图模型层获取与所述目标个性化模块标识对应的个性化功能模块。即,模型层和视图层中的功能模块是必须加载的,视图模型层中的功能模块是可以根据需要个性化选择的。
由于模型层和视图层中的固定功能模块通常是语音直播间、摄像直播间和录屏直播间都需要的功能模块,所以模型层和视图层中的固定功能模块供不同类型直播间复用。由于视图模型层中的个性化功能模块通常一部分是不同类型直播间均可以选择加载的,另一部分是特定类型直播间可以选择加载的,所以视图模型层中的个性化功能模块一部分被不同类型直播间复用,另一部分是不同类型直播间特有的。
对于IOS系统,优选采用图5所示的基础服务层-弱业务层-业务层架构建立目标功能模块库。在本实施例中,基础服务层用于为业务层、弱业务层提供基础的服务,具体包括推流服务、连麦服务和Socket(套接字)Multicast(组播)服务功能模块,其中基础服务层不包含任何业务逻辑,只提供一些基础的服务。弱业务层位于基础服务层之上,用于对基础服务层进行业务特性的二次封装,便于业务层使用,具体包括推流服务对应的推流业务、连麦服务对应的连麦业务、以及Socket Multicast服务对应的系统指令分发、PK消息分发、送礼消息分发、弹幕消息分发和开关播消息分发等功能模块。业务层位于弱业务层之上,用于为用户提供应用程序的界面和交互,业务层提供的是具体的业务,包括美颜/滤镜/贴纸、PK面板、礼物流水、礼物连击、全屏动效、弹幕面板、话题、修改标题、屏蔽词、贡献榜、分区修改、音效面板等功能模块。对于基础服务层而言,弱业务层是调用者;对于业务层而言,弱业务层却是被调用者。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是无知的,改变上层的设计对于其调用的底层而言没有任何影响,因而图5的架构可以避免功能模块之间的耦合,为个性化加载提供了有利条件。
当目标功能模块库采用的架构包含基础服务层、弱业务层和业务层时,步骤S14具体包括:从所述基础服务层和弱业务层获取固定功能模块;从所述业务层获取与所述目标个性化模块标识对应的个性化功能模块。即,基础服务层、弱业务层中的功能模块是必须加载的,业务层中的功能模块是可以根据需要个性化选择的。
由于基础服务层、弱业务层中的固定功能模块通常是语音直播间、摄像直播间和录屏直播间都需要的功能模块,所以基础服务层、弱业务层中的固定功能模块供不同类型直播间复用。由于业务层中的个性化功能模块通常一部分是不同类型直播间均可以选择加载的,另一部分是特定类型直播间可以选择加载的,所以业务层中的个性化功能模块一部分被不同类型直播间复用,另一部分是不同类型直播间特有的。例如,在bilibili link直播端中,语音直播间、摄像直播间和录屏直播间可以复用业务层中的贡献榜、礼物流水和弹幕面板功能模块,摄像直播间和语音直播间复用业务层中的屏蔽词、礼物连击功能模块,摄像直播间特有业务层中的PK面板、话题、美颜/滤镜/贴纸功能模块;语音直播间功能模块特有业务层中的音效面板功能模块。
S15,加载步骤S14获取的固定功能模块和个性化功能模块,生成目标直播界面。由于个性化功能模块是根据主播配置的目标个性化模块标识得到的,满足不同主播对于直播间的功能模块的不同配置需求,并且个性化功能模块可以根据需要修改和扩展,提高了功能模块的可维护性和可扩展性。
需要说明的是,除了按语音直播间、摄像直播间和录屏直播间对直播间类型进行分类以外,还可按VR(虚拟现实技术)直播间和AR(增强现实技术)直播间进行分类。即,前述直播间类型信息可以包括VR直播间或AR直播间,其中,VR直播间是指利用特定全景拍摄器或设备以及软件系统,可将现在常见的二维平面直播升级为VR全景直播模式。AR直播间是指在直播界面上将虚拟世界与现实世界结合并进行互动的直播模式。
此外,当直播端的目标功能模块库采用的架构包含基础服务层、弱业务层和业务层时。在直播过程,直播端通过如图6所示的过程对服务器下发的服务器消息进行消息分发处理:
首先,通过基础服务器层中的Socket Multicast(套接字组播)服务功能模块接收服务器消息(如系统指令、PK消息、送礼消息、弹幕消息等),并将接收到的服务器消息下发到弱业务层中与服务器消息对应的功能模块(如系统指令分发、PK消息分发、送礼消息分发、弹幕消息分发等功能模块)。其中,此处的Socket Multicast服务功能模块用于通过套接字接收服务器消息并下发到弱业务层中对应的功能模块。
而后,通过弱业务层中与服务器消息对应的功能模块,将所述服务器消息下发到业务层中与服务器消息对应的目标功能模块(如PK面板、礼物流水、礼物连击、全屏动效、弹幕面板等功能模块)。本步骤具体通过图7所示的流程实现:首先,检测是否缓存有服务器消息对应的模型数据,若有,读取缓存的所述模型数据,并采用多代理分发机制,通过代理一一对应地将模型数据分发到所述业务层中与服务器消息对应的目标功能模块,否则,执行以下步骤:
将服务器消息转换成JSON格式,其中转换方法是本领域公知的手段;
将JSON格式的服务器消息转换成对应的模型数据以适用于IOS系统进行处理,其中转换方法是本领域公知的手段;
缓存服务器消息对应的模型数据,并采用多代理分发机制,通过代理一一对应地将模型数据分发到所述业务层中与服务器消息对应的目标功能模块。在本实施例中,缓存是为了避免后续相同服务器消息重复经历JSON格式转换和模型转换,提高执行效率,多代理分发机制可以提高代理可扩展性。
以服务器消息为送礼消息为例,该消息对应弱业务层中的送礼消息分发功能模块,并对应业务层中的礼物流水、礼物连击、全屏动效、弹幕面板四个功能模块,则首先通过基础服务层的Socket Multicast服务功能模块接收送礼消息并下发到弱业务层中的送礼消息分发功能模块,而后送礼消息分发功能模块检测是否缓存有该送礼消息对应的模型数据,若有,从读取送礼消息对应的模型数据,并通过四个代理一一对应地分发到送礼消息对应的礼物流水、礼物连击、全屏动效、弹幕面板四个功能模块,否则,将送礼消息转换成JSON格式,将JSON格式的送礼消息转换成对应的模型数据并进行缓存,而后通过四个代理一一对应地分发到该礼物消息对应的礼物流水、礼物连击、全屏动效、弹幕面板四个功能模块。
需要说明的是,对于本实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
实施例二
在实际中,不同直播端具有很多相同或相似的功能,例如,哔哩哔哩APP中的直播端和bilibili link中的直播端有很多功能是相同或相似的。现有技术中,不同直播端的代码独立开发,如图8所示,现有“哔哩哔哩”APP中的直播端和“bilibili link”APP中的直播端的代码有大部分是相同的,但两者却是完全独立开发的,造成大量的重复性劳动,导致开发效率低。因此,本实施例提供另一种直播功能模块的配置方法,以解决现有技术中存储重复性劳动、开发效率低的问题。本实施例的直播功能模块的配置方法如图9所示,该方法包括以下步骤:
S21,在开发过程中,接收程序员输入的直播端代码获取请求,该请求携带代码库标识、代码接收地址、以及若干特有代码标识,所述特有代码标识例如可以是类名或者函数名。其中,特有代码标识由程序员根据待开发直播端的特定需求配置。
具体来说,预先创建有直播端功能代码库并预设有与该播端功能代码库对应的代码库标识,该直播端功能代码库包括公共代码库和特有代码库。其中,公共代码库中存储的是不同直播端可以通用的代码,特有代码库中存储的是不同直播端专用的代码。
针对安卓系统,直播端功能代码库优选采用图4所示的MVVM架构建立。MVVM是Model(模型)-View(视图)-ViewModel(视图模型)的简写,即其包括:模型层、视图层和视图模型层。MVVM是从模型-视图-控制器(Model-View-Controller,MVC)架构进化而来。在MVVM架构中,Model层主要用于从数据库、本地存储地址和/或网络地址等途径获取原始数据;View层主要用于提供页面展示,其可以通过页面控件接收用户输入的操作指令;ViewModel层主要用于执行逻辑处理,其可以根据系统指令和操作指令从Model层读取需要的原始数据进行相应的逻辑处理后传送到View层进行展示。基于MVVM架构的代码库层次清晰,耦合度低,为代码复用提供了有利条件。
当直播端功能代码库采用包含模型层、视图层和视图模型层的MVVM架构时,优选所述模型层和视图层的代码全部存储于所述公共代码库,所述视图模型层的一部分代码存储于所述公共代码库,所述视图模型层的另一部分代码存储于所述特有代码库。即,模型层和视图层的代码全部作为公共代码;视图模型层中的一部分代码作为公共代码,另一部分代码作为特有代码。
针对IOS系统,直播端功能代码库优选采用图5所示的基础服务层-弱业务层-业务层架构建立。在本实施例中,基础服务层用于为业务层、弱业务层提供基础的服务,具体包括推流服务、连麦服务和Socket(套接字)Multicast(组播)服务,其中基础服务层不包含任何业务逻辑,只提供一些基础的服务。弱业务层位于基础服务层之上,用于对基础服务层进行业务特性的二次封装,便于业务层使用,具体包括推流服务对应的推流业务、连麦服务对应的连麦业务、以及Socket Multicast服务对应的系统指令分发、PK消息分发、送礼消息分发、弹幕消息分发和开关播消息分发等业务模块。业务层位于弱业务层之上,用于为用户提供应用程序的界面和交互,业务层提供的是具体的业务,包括美颜/滤镜/贴纸、PK面板、礼物流水、礼物连击、全屏动效、弹幕面板、话题、修改标题、屏蔽词、贡献榜、分区修改等业务模块。对于基础服务层而言,弱业务层是调用者;对于业务层而言,弱业务层却是被调用者。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是无知的,改变上层的设计对于其调用的底层而言没有任何影响,因而图5的架构可以避免业务模块之间的耦合,为代码复用提供了有利条件。
当直播端功能代码库采用的架构包含图5所示的基础服务层、弱业务层和业务层时,优选所述基础服务层和弱业务层的代码全部存储于所述公共代码库,所述业务层的一部分代码存储于所述公共代码库,所述业务层的另一部分代码存储于所述特有代码库。基础服务层、弱业务层的代码全部作为公共代码;业务层中的一部分代码作为公共代码,另一部分代码作为特有代码。
S22,查找预先建立的、与所述代码库标识对应的直播端功能代码库,该直播端功能代码库包含公共代码库和特有代码库。
S23,获取所述公共代码库中的公共代码。具体地,当直播端功能代码库采用的是前述包含模型层、视图层和视图模型层的MVVM架构时,获取的的公共代码包含模型层、视图层中的公共代码、以及视图模型层中的公共代码。当直播端功能代码库采用的是前述包含基础服务层、弱业务层和业务层的架构时,获取的的公共代码包含基础服务层和弱业务层中的公共代码、以及业务层中的公共代码。
S24,根据所述特有代码标识,获取特有代码库中的特有代码。例如,当特有代码标识为类名时,则从特有代码库中获取与该类名对应的类;当特有代码标识为函数名时,则从特有代码库中获取与该函数名对应的函数。
具体地,当直播端功能代码库采用的是前述包含模型层、视图层和视图模型层的MVVM架构时,获取的的特有代码包含视图模型层中的特有代码。当直播端功能代码库采用的是前述包含基础服务层、弱业务层和业务层的架构时,获取的的特有代码包含业务层中的特有代码。
S25,将获取到的公共代码和特有代码发送到所述代码接收地址,以便程序员调用代码接收地址的公共代码和特有代码进行后续开发。
采用本实施例的方法开发“哔哩哔哩”直播端和“bilibili link”直播端时,则如图10所示,两个直播端可以共用公共代码模块中的代码。
综上所述,相比现有技术不同直播端的代码独立开发,本实施例在开发直播端时,可以复用公共代码,实现了代码复用,减少了开发成本和测试成本,提高了工作效率。此外,本实施例可以根据需要配置特有代码,满足直播端的不同配置需求,而且特有代码可以根据需要修改和扩展,提高了代码的可维护性和可扩展性。
实施例三
本实例提供一种直播功能模块的配置装置10,如图11所示,该装置10包括:
请求接收单元11,用于接收主播输入的直播请求,所述直播请求携带直播间类型信息;
标识显示单元12,用于获取并显示与所述直播间类型信息对应的侯选个性化模块标识;
标识接收单元13,用于接收主播从所述侯选个性化模块标识中选择的目标个性化模块标识;
模块获取单元14,用于从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块;
加载单元15,用于加载所述固定功能模块和所述个性化功能模块,生成目标直播界面。
在实施例中,当所述目标功能模块库采用的架构包含模型层、视图层和视图模型层时,所述功能模块获取单元具体用于:
从所述模型层和视图层获取固定功能模块;
从所述视图模型层获取与所述目标个性化模块标识对应的个性化功能模块。
在本实施例中,当所述目标功能模块库采用的架构包含基础服务层、弱业务层和业务层时,所述功能模块获取单元具体用于:
从所述基础服务层和弱业务层获取固定功能模块;
从所述业务层获取与所述目标个性化模块标识对应的个性化功能模块。
在本实施例中,所述直播间类型信息包括语音直播间、摄像直播间或录屏直播间。
在本实施例中,所述直播间类型信息包括VR直播间或AR直播间。
在本实施例中,当所述目标功能模块库采用的架构包含基础服务层、弱业务层和业务层时,所述装置还包括:消息分发单元,该消息分发单元包括:
基础服务器分发子单元,用于通过基础服务层接收服务器消息,并将所述服务器消息下发到弱业务层中与所述服务器消息对应的功能模块;
弱业务层分发子单元,用于通过所述弱业务层中与服务器消息对应的功能模块,将所述服务器消息下发到所述业务层中与服务器消息对应的目标功能模块。
在本实施例中,弱业务层分发子单元具体用于:
检测目标缓存地址下是否缓存有所述服务器消息对应的模型数据,若有,从所述目标缓存地址下读取所述服务器消息对应的模型数据,并通过代理一一对应地将所述模型数据分发到所述业务层中与所述服务器消息对应的目标功能模块,否则,执行以下步骤:
将所述服务器消息转换成JSON格式;
将所述JSON格式的服务器消息转换成对应的模型数据;
将所述服务器消息对应的模型数据缓存到所述目标缓存地址,并通过代理一一对应将所述模型数据分发到所述业务层中与所述服务器消息对应的目标功能模块。
本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的模块作并不一定是本发明所必须的。
实施例四
本发明还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图12所示。需要指出的是,图12仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用程序软件,例如实施例三的直播功能模块的配置装置10的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,以实现实施例一或二的直播功能模块的配置方法。
实施例五
本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用程序商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质上存储的计算机程序被处理器执行时实现实施例一或二的直播功能模块的配置方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种直播功能模块的配置方法,其特征在于,该方法包括以下步骤:
接收主播输入的直播请求,所述直播请求携带直播间类型信息;
获取并显示与所述直播间类型信息对应的侯选个性化模块标识;
接收主播从所述侯选个性化模块标识中选择的目标个性化模块标识;
从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块;
加载所述固定功能模块和所述个性化功能模块,生成目标直播界面。
2.根据权利要求1所述的直播功能模块的配置方法,其特征在于,当所述目标功能模块库采用的架构包含模型层、视图层和视图模型层时,所述从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块的步骤包括:
从所述模型层和视图层获取固定功能模块;
从所述视图模型层获取与所述目标个性化模块标识对应的个性化功能模块。
3.根据权利要求1所述的直播功能模块的配置方法,其特征在于,当所述目标功能模块库采用的架构包含基础服务层、弱业务层和业务层时,所述从目标功能模块库中获取固定功能模块、以及与所述目标个性化模块标识对应的个性化功能模块的步骤包括:
从所述基础服务层和弱业务层获取固定功能模块;
从所述业务层获取与所述目标个性化模块标识对应的个性化功能模块。
4.根据权利要求1所述的直播功能模块的配置方法,其特征在于,所述直播间类型信息包括语音直播间、摄像直播间或录屏直播间。
5.根据权利要求1所述的直播功能模块的配置方法,其特征在于,所述直播间类型信息包括VR直播间或AR直播间。
6.根据权利要求1所述的直播功能模块的配置方法,其特征在于,所述获取并显示与所述直播间类型信息对应的侯选个性化模块标识的步骤包括:
通过预直播界面显示与所述直播间类型信息对应的侯选个性化模块标识。
7.根据权利要求3所述的直播功能模块的配置方法,其特征在于,在直播过程中,所述方法还包括:
通过基础服务层接收服务器消息,并将所述服务器消息下发到弱业务层中与所述服务器消息对应的功能模块;
通过所述弱业务层中与服务器消息对应的功能模块,将所述服务器消息下发到所述业务层中与服务器消息对应的目标功能模块。
8.根据权利要求7所述的直播功能模块的配置方法,其特征在于,所述通过所述弱业务层中与服务器消息对应的功能模块,将所述服务器消息下发到所述业务层中与服务器消息对应的目标功能模块的步骤包括:
检测是否缓存有所述服务器消息对应的模型数据,若有,读取缓存的所述模型数据,并通过代理一一对应地将所述模型数据分发到所述业务层中与所述服务器消息对应的目标功能模块,否则,执行以下步骤:
将所述服务器消息转换成JSON格式;
将所述JSON格式的服务器消息转换成对应的模型数据;
缓存所述服务器消息对应的模型数据,并通过代理一一对应将所述模型数据分发到所述业务层中与与所述服务器消息对应的目标功能模块。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法的步骤。
CN201910562129.4A 2019-06-26 2019-06-26 一种直播功能模块的配置方法与设备 Pending CN110413261A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910562129.4A CN110413261A (zh) 2019-06-26 2019-06-26 一种直播功能模块的配置方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910562129.4A CN110413261A (zh) 2019-06-26 2019-06-26 一种直播功能模块的配置方法与设备

Publications (1)

Publication Number Publication Date
CN110413261A true CN110413261A (zh) 2019-11-05

Family

ID=68358300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910562129.4A Pending CN110413261A (zh) 2019-06-26 2019-06-26 一种直播功能模块的配置方法与设备

Country Status (1)

Country Link
CN (1) CN110413261A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586465A (zh) * 2020-04-30 2020-08-25 广州华多网络科技有限公司 直播间的操作交互方法、装置、设备及存储介质
CN112492328A (zh) * 2020-10-22 2021-03-12 百果园技术(新加坡)有限公司 虚拟房间创建方法、装置、终端及存储介质
CN113238756A (zh) * 2021-07-08 2021-08-10 北京达佳互联信息技术有限公司 直播业务处理方法、装置、电子设备及存储介质
CN113467762A (zh) * 2021-07-05 2021-10-01 深圳市泷富科技集团有限公司 app的模块编辑方法以及系统
CN113727164A (zh) * 2020-05-26 2021-11-30 百度在线网络技术(北京)有限公司 直播间入口显示方法、装置、电子设备和存储介质
CN113794891A (zh) * 2021-07-30 2021-12-14 北京达佳互联信息技术有限公司 界面处理方法、电子设备及计算机可读存储介质
CN113905246A (zh) * 2021-09-10 2022-01-07 微梦创科网络科技(中国)有限公司 一种直播间实现方法和装置
CN115426520A (zh) * 2022-08-30 2022-12-02 无限魔方(深圳)科技有限公司 一种对直播间的直播场景进行布置的方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141234A1 (en) * 2006-10-30 2008-06-12 Detlef Becker Method and system for executing and configuring applications on the basis of a use environment
CN107526591A (zh) * 2017-08-22 2017-12-29 广州市百果园信息技术有限公司 切换直播间类型的方法和装置
CN108762757A (zh) * 2018-05-21 2018-11-06 武汉斗鱼网络科技有限公司 直播间平台业务快速开发框架及方法、服务器及介质
CN109271534A (zh) * 2018-10-19 2019-01-25 武汉斗鱼网络科技有限公司 一种直播数据识别框架、方法、服务器及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080141234A1 (en) * 2006-10-30 2008-06-12 Detlef Becker Method and system for executing and configuring applications on the basis of a use environment
CN107526591A (zh) * 2017-08-22 2017-12-29 广州市百果园信息技术有限公司 切换直播间类型的方法和装置
CN108762757A (zh) * 2018-05-21 2018-11-06 武汉斗鱼网络科技有限公司 直播间平台业务快速开发框架及方法、服务器及介质
CN109271534A (zh) * 2018-10-19 2019-01-25 武汉斗鱼网络科技有限公司 一种直播数据识别框架、方法、服务器及存储介质

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586465B (zh) * 2020-04-30 2022-10-04 广州方硅信息技术有限公司 直播间的操作交互方法、装置、设备及存储介质
CN111586465A (zh) * 2020-04-30 2020-08-25 广州华多网络科技有限公司 直播间的操作交互方法、装置、设备及存储介质
CN113727164A (zh) * 2020-05-26 2021-11-30 百度在线网络技术(北京)有限公司 直播间入口显示方法、装置、电子设备和存储介质
CN112492328A (zh) * 2020-10-22 2021-03-12 百果园技术(新加坡)有限公司 虚拟房间创建方法、装置、终端及存储介质
CN112492328B (zh) * 2020-10-22 2023-01-13 百果园技术(新加坡)有限公司 虚拟房间创建方法、装置、终端及存储介质
CN113467762A (zh) * 2021-07-05 2021-10-01 深圳市泷富科技集团有限公司 app的模块编辑方法以及系统
CN113238756A (zh) * 2021-07-08 2021-08-10 北京达佳互联信息技术有限公司 直播业务处理方法、装置、电子设备及存储介质
CN113238756B (zh) * 2021-07-08 2021-10-22 北京达佳互联信息技术有限公司 直播业务处理方法、装置、电子设备及存储介质
CN113794891A (zh) * 2021-07-30 2021-12-14 北京达佳互联信息技术有限公司 界面处理方法、电子设备及计算机可读存储介质
CN113794891B (zh) * 2021-07-30 2023-08-18 北京达佳互联信息技术有限公司 界面处理方法、电子设备及计算机可读存储介质
CN113905246A (zh) * 2021-09-10 2022-01-07 微梦创科网络科技(中国)有限公司 一种直播间实现方法和装置
CN113905246B (zh) * 2021-09-10 2023-12-15 微梦创科网络科技(中国)有限公司 一种直播间实现方法和装置
CN115426520A (zh) * 2022-08-30 2022-12-02 无限魔方(深圳)科技有限公司 一种对直播间的直播场景进行布置的方法、装置及设备

Similar Documents

Publication Publication Date Title
CN110413261A (zh) 一种直播功能模块的配置方法与设备
CN107645561B (zh) 一种云手机的图片预览方法
CN104572278B (zh) 轻应用调用本地端能力的方法、装置及设备
CN104735030B (zh) 应用开启方法、装置和系统
CN110908658A (zh) 一种“微服务+微应用”系统、数据处理方法及装置
CN110096660A (zh) 用于加载页面图片的方法、装置和电子设备
US20180373736A1 (en) Method and apparatus for storing resource and electronic device
CN110990228A (zh) 数据接口监控方法及装置
JP2017539103A (ja) 複数の装置間においてメンバー利得を同期させるための方法、装置、サーバおよびシステム
CN111104551B (zh) 直播间标签确定方法与装置、存储介质、电子设备
CN105959207A (zh) 音视频分享方法及装置
WO2020238846A1 (zh) 图像获取方法、装置、服务器及存储介质
CN106658142A (zh) 界面配置方法及装置
CN111813418B (zh) 分布式链路跟踪方法、装置、计算机设备及存储介质
CN109348263A (zh) 智能电视视频追剧处理方法、系统及存储介质
CN113722114A (zh) 一种数据服务的处理方法、装置、计算设备及存储介质
CN104579908A (zh) 图像显示的方法及装置
CN109246454A (zh) 基于云平台的机顶盒管理方法、装置、终端及存储介质
CN113569089A (zh) 信息处理方法、装置、服务器、设备、系统及存储介质
CN108762757A (zh) 直播间平台业务快速开发框架及方法、服务器及介质
CN110838969B (zh) 一种图片传输方法、装置、设备及介质
CN106507137B (zh) 一种角标配置方法、服务器及系统
US20170289612A1 (en) System and methods thereof for displaying video content
CN103917951B (zh) 应用调用的方法及操作系统、浏览器
CN105872857B (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