一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种直播间实现方法和装置与流程

2022-02-20 00:15:47 来源:中国专利 TAG:


1.本发明涉及互联网直播领域,尤其涉及一种直播间实现方法和装置。


背景技术:

2.视频直播,是当前非常流行的业务及技术场景,例如媒体直播、电商直播、淘宝直播、秀场直播、游戏直播,主播端参与的人数增加迅速,观众端的日活和同时在线人数乃至交易额都屡创新高,对技术的扩展性和可用性提出了更多的挑战亟待解决。业界常见的解决方案,都是为每种直播间独立设计与开发出一种直播间元数据结构,例如“媒体直播间”、“电商直播间”等等。针对每一种业务类型,如媒体直播、电商直播、秀场直播等,都有独立的一套数据与服务,让业务人员更加聚焦以“直播间类型”为单位的解决方案。以此根据,在业务和技术,都独立出媒体直播团队、电商直播团队、淘宝直播团队、秀场直播团队、游戏直播团队等等,跟进直播间类型划分的团队设计。按照直播间类型为单位进行划分,是一种常见设计和服务的解决方案;在当下业务创新和发展的迅速,经常出现直播间功能的交叉和新功能难以界定的场景,这样当前的以“直播间”为划分单位的设计,就难以取得理想的效果。比如,媒体直播间,主要是以承担像央视、各地方卫视、报社杂志这些媒体属性和政治属性很强的主播类型,对直播的可靠性、安全性、及时性要求高,需要支持极高突发流量支持(最高可支持百万级别),同时对于评论的正能量要求高,但是不需要打赏、送礼、美颜、滤镜、连麦等功能;电商直播间,通常是以秀场直播间为蓝本,可以支持红包、送礼、美颜、滤镜、连麦等功能,但是对于直播的可靠性、安全性、及时性要求需要和成本统一考虑,所以一般情况下在这些方面要逊于媒体直播,同时在设计容量突发性和上限,也不及媒体直播的要求。
3.现实的业务需求,对这样的设计提出了重大的挑战。受2021年新冠疫情的影响,对线下经营带来了巨大的苦难,很多商家转投线上,电商直播类型在整个直播类型的占比在扩大。此时,各大媒体也在自己的媒体直播间极力的推动网上直播带货,简单来说需要解决“媒体直播 电商直播”这样的多直播间类型组合或者交叉带来的功能性和可用性难题。
4.在实现本发明过程中,申请人发现现有技术中至少存在如下问题:
5.多种直播间类型组合或交叉导致直播间功能性和可用性差的问题。


技术实现要素:

6.本发明实施例提供一种直播间实现方法和装置,解决了多种直播间类型组合或交叉导致直播间功能性和可用性差的问题。
7.为达上述目的,一方面,本发明实施例提供一种直播间实现方法,包括:
8.根据特定直播间的完整功能需求,从预置的直播间功能需求库中选取与所述完整功能需求匹配的至少一个细分功能需求,所述预置的直播间功能需求库包括各类型直播间的所有细分功能需求;
9.根据所述特定直播间对应的至少一个细分功能需求建立与所述特定直播间对应的直播间模板,所述直播间模板用于记录所述至少一个细分功能需求各自对应的功能服务
的配置信息;
10.根据所述直播间模板记录的各功能服务的配置信息运行所述特定直播间相应的功能服务;
11.向所述特定直播间的用户发送所述特定直播间的直播间数据;
12.其中,所述预置的直播间功能需求库中各细分功能需求各自对应的功能服务预先创建。
13.另一方面,本发明实施例提供一种直播间实现装置,包括:需求选择单元,用于根据特定直播间的完整功能需求,从预置的直播间功能需求库中选取与所述完整功能需求匹配的至少一个细分功能需求,所述预置的直播间功能需求库包括各类型直播间的所有细分功能需求;
14.模板创建单元,用于根据所述特定直播间对应的至少一个细分功能需求建立与所述特定直播间对应的直播间模板,所述直播间模板用于记录所述至少一个细分功能需求各自对应的功能服务的配置信息;
15.运行单元,用于根据所述直播间模板记录的各功能服务的配置信息运行所述特定直播间相应的功能服务;
16.发送单元,用于向所述特定直播间的用户发送所述特定直播间的直播间数据;
17.其中,所述预置的直播间功能需求库中各细分功能需求各自对应的功能服务预先创建。
18.上述技术方案具有如下有益效果:通过自底向上的由指定直播需求的各种直播间功能组合为直播间模板,达到直播间功能的聚合,实现配置化的直播间模板,直播间则像一个通用容器,通过直播间与直播间模板的绑定,直播间可以使用不同的直播间模板,在当前微服务盛行和需求更迭频繁、业务创新度大的背景下,具备更强的扩展性和可用性。进一步地,可在运行前和运行时通过绑定直播间模板以及修改直播间模板中的各直播间功能服务的配置信息,灵活地修改直播间整体的功能,或灵活地修改直播间中各直播间功能服务的状态;特别的,通过修改与直播间模板绑定的的灰度策略,为开发过程中有选择的发布指定部分功能以及向指定部分用户发布指定部分功能提供了更便捷的设置方法。进一步地,通过聚合化的直播间数据接口,统一返回该直播间的所有直播间数据,降低了进入直播间或更新直播间时交换直播间数据的复杂度,提高了数据交换的效率,降低了对接口带宽的消耗。进一步地,通过对各直播间功能服务的探测,及时发现异常的直播间功能服务,对其进行降级或者及时发现功能服务已经从异常状态中恢复为正常的直播间功能服务,恢复其功能,达到实时控制直播间的性能的效果。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是现有技术中的直播间的一种架构示意图;
21.图2是现有技术中的电商直播间的一种功能组成示意图;
22.图3是现有技术中的媒体直播间的一种功能组成示意图;
23.图4是本发明实施例之一的直播间和直播间模板以及功能服务的关系示意图;
24.图5是本发明实施例之一的一种直播间实现方法的流程图;
25.图6是本发明实施例之一的直播间和直播间模板以及功能服务的另一关系示意图;
26.图7是本发明实施例之一通过直播间数据接口返回直播间数据的一个示意图;
27.图8是本发明实施例之一通过直播间数据接口返回直播间数据的另一示意图;
28.图9是本发明实施例之一不使用直播间数据接口时客户端遍历各功能服务的示意图;
29.图10是本发明实施例之一的直播间模板绑定了灰度策略的示意图;
30.图11是本发明实施例之一的根据服务质量探测结果降级或恢复直播间功能示意图;
31.图12是本发明实施例之一的直播间模板包含功能服务状态设置的示意图;
32.图13是本发明实施例之一的一种直播间实现装置的架构图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.如图1所示,业界常见的解决方案,都是为每种直播间独立设计与开发出一种直播间元数据结构,例如“媒体直播间”、“电商直播间”等等。针对每一种业务类型,如媒体直播、电商直播、秀场直播等,都有独立的一套数据与服务。如图2所示,电商直播是以秀场直播为基础,加上购物车功能;如图3所示,媒体直播,是独立的直播功能。在这种架构下,需要实现以下的业务需求,个别媒体直播具备直播带货功能。简而言之,就是个别媒体直播要具备电商直播的购物车用于完成选商品、下单、支付;
35.在当前架构下,可选的方案:方案一:以“媒体直播间”为基础,增加购物车功能;方案二:以“电商直播间”为基础,增加媒体直播功能;
36.针对这样的业务需求,无论是方案一还是方案二,都不能在不违背“开闭原则”(即软件设计原则,对扩展开放,对修改封闭)优雅的满足这种业务需求。本质原因,是模型抽象的粒度过大,无法满足内部的功能组合和添加、删减和修改。如图4所示,本发明的技术方案主要是直播间模型的划分粒度,将功能服务作为最小单位,通过组合成直播间模板,通过自底向上的功能组合配置出直播间。当业务调整或者突发需求时,可以通过功能的插拔和适配,及时的生成需要的直播间,满足业务需求。
37.一方面,如图5所示,本发明实施例提供一种直播间实现方法,应用于直播间实现装置,该直播间实现装置可以是任意的具有计算功能的终端或服务器,包括但不限于以下步骤:
38.步骤s500,根据特定直播间的完整功能需求,从预置的直播间功能需求库中选取与所述完整功能需求匹配的至少一个细分功能需求,所述预置的直播间功能需求库包括各
类型直播间的所有细分功能需求;
39.步骤s501,根据所述特定直播间对应的至少一个细分功能需求建立与所述特定直播间对应的直播间模板,所述直播间模板用于记录所述至少一个细分功能需求各自对应的功能服务的配置信息;
40.步骤s502,根据所述直播间模板记录的各功能服务的配置信息运行所述特定直播间相应的功能服务;
41.步骤s503,向所述特定直播间的用户发送所述特定直播间的直播间数据;
42.其中,所述预置的直播间功能需求库中各细分功能需求各自对应的功能服务预先创建。
43.在一些实施例中,预先根据各种需求场景定义预置的直播间需求库,预置的直播间需求库包括各种类型直播间的所有细分功能需求,针对预置的直播间需求库中的各种细分功能需求分别建立各自对应的功能服务;例如直播间类型包括但不限于媒体直播间和电商直播间,媒体直播间需要的细分功能包括但不限于评论功能、头等舱功能等,电商直播间需要的细分功能包括但不限于购物车功能和红包功能等,通过对各种需求场景和各种直播间类型的分析获得各种细分功能需求,并根据实际需要构建直播间需求库,并且针对预置的直播间需求库中的各细分功能需求建立各自对应的功能服务;在创建直播间后,可执行相应的功能服务为创建的直播间提供相应的直播间功能。对于任一特定直播间,根据此特定直播间的完整功能需求,从预置的功能需求库中选择此完整功能需求对应的各至少一个细分功能需求,根据获得的至少一个细分功能需求建立与该特定直播间对应的直播间模板;在一些实施例中,直播间模板可以记录预置的直播间需求库中的全部细分功能需求对应的功能服务的配置信息,并根据特定直播间相应的至少一个细分功能需求在各功能服务的配置信息中标识出特定直播间用到的功能服务;在一些实施例中,直播间模板记录了与该特定直播间对应的至少一个细分功能需求相应的功能服务的配置信息。配置信息记录了包括但不限于可唯一标识相应功能服务的功能服务标识和与相应功能服务对应的功能服务状态等其他相关信息,功能服务标识可以是包括但不限于功能服务id,功能服务的存储路径,功能服务的名称等信息;功能服务状态可包括但不限于相应功能服务的开、关等状态。根据直播间模板记录的配置信息运行特定直播间相应的功能服务并将各功能服务产生的数据发送给特定直播间的用户。用户可以包括但不限于用户终端或客户端。特定直播间以及图6中的通用直播间指的是任一具体的直播间,任一具体的直播间根据具体情况可以与一个直播间模板绑定,当具体情况发生变化,根据实际需要,该直播间也可以重新与另一直播间模板绑定。还可以根据具体情况,修改直播间模板中的配置信息,根据具体情况调整各细分功能需求对应的功能服务的功能服务状态,例如临时关闭某些功能服务等。作为一个实施例,通过上述步骤,建立了功能服务与直播间模板之间的绑定关系,还建立了特定直播间和直播间模板的对应关系,在具体实施中,直播间模板的内容可以保存在指定的文件中,或直播间模板的内容可以保存在直播间的配置中,还可以通过文件或数据库中的键值对保存直播间模板和直播间之间的绑定关系。如图6所示,直播间模板包含1个甚至多个直播间功能(即功能服务),直播间模板与直播间功能即功能服务是一对多的关系;一个直播间(即通用直播间)在同一时间里对应一个且仅一个直播间模板,直播间模板描述该直播间能够支持的直播间功能集合。直播间数据可以包括但不限于与直播间相关的各种配置数据
和直播间运行过程中产生的运行数据;例如在一些实施例中,与直播间相关的各种配置数据可以包括但不限于特定直播间相应的直播间模板记录的各功能服务的配置信息;直播间运行过程中产生的运行数据可包括但不限于各功能服务执行后各自产生的相应的细分功能直播数据。根据所述直播间模板记录的各功能服务的配置信息运行所述特定直播间相应的功能服务,例如直播间模板中各功能服务的配置信息可以记录相应功能服务是否被启用,是否对指定用户开放,从而限定各功能服务的运行。向所述特定直播间的用户发送所述特定直播间的直播间数据,例如可以根据来自用户的请求向所述特定直播间的用户发送所述特定直播间的直播间数据,还可以在特定直播间的直播间数据发生变化时,主动向用户推送所述特定直播间的直播间数据,可以根据具体需要选择。
44.本发明实施例具有如下技术效果:将功能服务作为最小单位通过组合成直播间模板,通过自底向上的功能组合配置出直播间,当业务调整或者突发需求时,可以通过功能服务的插拔和适配,及时的生成需要的直播间,快速满足业务需求。
45.进一步地,所述配置信息包括功能服务状态;所述直播间数据包括:所述直播间模板记录的各功能服务的功能服务状态;
46.所述向所述特定直播间的用户发送所述特定直播间的直播间数据,包括
47.通过直播间数据接口向所述用户发送所述直播间模板记录的各功能服务的功能服务状态;
48.其中,所述直播间数据接口是预先根据所述直播间模板记录的各功能服务的配置信息建立的。
49.在一些实施例中,直播间模板的数据接口(即直播间数据接口),主要承担用户访问直播间模板的数据,例如各功能服务的配置信息,包括但不限于各功能服务的功能服务状态等信息,直播间数据接口也可以根据具体需要利用剩余的带宽发送其他数据,例如各功能服务的配置信息和细分功能直播数据等。直播间数据接口可根据直播间模板记录的各功能服务的配置信息预先创建,直播间数据接口可以是包括但不限于一个或一组api(application programming interface,应用程序编程接口),并且可根据直播间模板记录的各功能服务的配置信息预先定义直播间数据接口中传输数据的协议。用户可以通过直播间数据接口获得各功能服务的功能服务状态,并判断各功能服务状态中相应功能服务的启用标识,若相应启用标识表示启用,则用户请求相应功能服务的具体配置信息和功能服务的细分功能直播数据,若相应启用标识表示禁用,则用户不需要请求相应功能服务的具体配置信息和功能服务的细分功能直播数据。在一些实施例中,如图7所示,用户获取直播间模板记录的各功能服务的配置信息,用户从配置信息中获取各功能服务的功能服务状态;图7中,功能1和功能2启用,功能3没有启用,用户再通过模板聚合数据接口只获取功能1和功能2的细分功能直播数据。
50.本发明实施例具有如下技术效果:通过直播间数据接口将直播间模板中的各功能服务的配置信息中的功能服务状态发送给客户,使用户能清楚地知道需要请求的功能服务,避免用户为了兼容功能服务的变化而无差别的请求全部的功能服务的数据,从而在进入直播间期间,集中同步直播间各功能服务的配置信息和细分功能直播数据时,仅对需要请求的功能服务发出请求,显著降低了用户与直播间实现装置之间的请求次数,降低了系统的吞吐量,降低了系统对带宽的要求,增加系统稳定性。
51.进一步地,所述直播间数据还包括:所述直播间模板记录的各功能服务的细分功能直播数据和其他配置信息;
52.所述向所述特定直播间的用户发送所述特定直播间的直播间数据,还包括:
53.获取各功能服务运行后各自产生的细分功能直播数据;
54.将符合指定限制条件的各功能服务的细分功能直播数据和其他配置信息通过所述直播间数据接口发送给所述用户。
55.在一些实施例中,符合指定限制条件的各功能服务的细分功能直播数据和其他配置信息包括小于或者等于指定字节数的各功能服务的细分功能直播数据和其他配置信息;在直播间模板中记录有各功能服务相应的配置信息,配置信息中至少包含功能服务状态,功能服务状态中至少包含有记录该功能服务是否启用的标识;各功能服务的其他配置信息可以包括但不限于相应功能服务的全部配置信息或部分配置信息。为了控制在用户登录直播间时,集中向直播间请求数据的请求数,尽可能将各功能服务的配置信息和细分功能直播数据放在一次发送中;但由于直播间可能使用大量功能服务,并且部分功能服务的配置信息或细分功能直播数据的字节数比较大,无法被放在一次发送中,所以需要限制通过直播间数据接口统一发送的数据量,将小于或者等于指定字节数的细分功能直播数据和小于或者等于指定字节数的各功能服务的配置信息放在直播间数据接口中统一发送。可以根据具体情况,先通过直播间数据接口发送各功能服务的功能服务状态,再通过直播间数据接口发送小于或者等于指定字节数的细分功能直播数据和小于或者等于指定字节数的各功能服务的配置信息;也可以根据具体情况将各功能服务的功能服务状态和小于或者等于指定字节数的细分功能直播数据和小于或者等于指定字节数的各功能服务的配置信息一起经一次发送通过直播间数据接口发送给用户。利用直播间模板接口,可以最大限度的将发送的数据进行聚合,通过一个接口发送,大幅降低接口放大比例,显著降低请求次数,提高带宽利用效率。
56.在一些实施例中,符合指定限制条件的各功能服务的细分功能直播数据和其他配置信息包括直播间核心功能服务的细分功能直播数据和其他配置信息,所述直播间核心功能服务是所述特定直播间的完整需求中规定的必不可少的细分功能需求对应的功能服务。在一些实施例中,每次发送的数据量受到限制时可以在直播间数据接口中发送各功能服务的功能服务状态和核心功能服务的配置信息和核心功能服务对应的细分功能直播数据;各功能服务的功能服务状态可单独发送,也可以与核心功能服务的配置信息和核心功能服务对应的细分功能直播数据在同一个发送中统一发送。本实施例可以与前一实施例结合,对于小于或者等于指定字节数的各核心功能服务的细分功能直播数据和小于或者等于指定字节数的各核心功能服务的配置信息通过直播间数据接口发送给用户,对于大于指定字节数的各核心功能服务的细分功能直播数据和配置信息则通过相应核心功能服务的私有接口发送给用户。利用直播间模板接口,可以最大限度的将发送的数据进行聚合,通过一个接口发送,大幅降低接口放大比例,显著降低请求次数,提高带宽利用效率。
57.进一步地,根据所述直播间模板记录的各功能服务的配置信息中的功能服务状态,判断每个功能服务是否启用,如果判断出该功能服务启用并且该功能服务的配置信息和该功能服务的细分功能直播数据都小于或等于所述指定字节数,则将该功能服务的配置信息和该功能服务的细分功能直播数据发送给用户,如果判断出该功能服务没有启用,则
不会向用户发送该功能服务的配置信息和细分功能直播数据;或者,如果判断出该功能服务启用并且该功能服务为核心功能服务,则将该核心功能服务的配置信息和细分功能直播数据作为直播间数据,如果判断出该功能服务没有启用,则不会向用户发送该功能服务的配置信息和细分功能直播数据。在一些实施例中,可以根据具体情况,定义直播间数据接口的通信协议,例如直播间模板记录的各功能服务的配置信息中的功能服务状态可以在单独的一次用户请求中通过直播间数据接口发送给用户,也可以与小于或等于所述指定字节数的各功能服务的配置信息和各功能服务的细分功能直播数据或者与核心功能服务的配置信息和细分功能直播数据一起在一次发送中发送给用户。对于大于指定字节数的各功能服务的配置信息和各功能服务的细分功能直播数据,可以通过各功能服务各自提供的私有接口发送给用户。
58.在一些实施例中,根据直播间模板记录的各功能服务的配置信息,可以获得该特定直播间涉及到的功能服务及各功能服务的服务状态等信息,可根据配置信息预先创建直播数据接口(即直播间模板接口即直播间模板的数据接口),直播数据接口聚合了包括但不限于该特定直播间对应的各功能服务的所有需要发送给用户终端或客户端的各细分功能直播数据。例如可根据该特定直播间涉及到的功能服务的配置信息和细分功能直播数据定义聚合后的数据协议;再例如,当从配置信息中得知,某功能服务的服务状态为关时,则直播数据接口中可以不传输该处于关状态的功能服务对应的细分功能直播数据,从而降低数据传输量。直播间模板接口,会作为客户端进入直播间时请求的入口数据接口,需要有能力抗住瞬时大流量,这是该技术容量设计的必要条件。直播间模板接口,是一个聚合数据接口,将该直播间模板需要的直播间功能服务配置和功能服务的细分功能直播数据,以一个合适的限制条件(即指定限制条件),聚合在这一个接口进行数据返回。这个“合适”的限制条件,主要考虑以下几个方面,首先是数据大小,直播间模板数据接口,需要控制自身数据大小,需要考虑在高并发大流量下的下行数据网络压力;其次,要考虑到如果不能覆盖所有直播间功能,那么要优先要支持功能的开关配置(标明该直播间功能是否存在的配置项),然后要考虑召回核心的直播间功能配置,针对长尾的直播间功能服务或者配置项比较冗长,可以要求二次请求该直播间功能自己的数据配置,即对于不满足指定限值条件的功能服务的配置信息和功能服务的细分功能直播数据可通过相应功能服务的私有接口请求。根据实际需要,可以满足指定限制条件要求的功能服务的配置信息和功能服务的细分功能直播数据封装在一起在一次请求中发送给用户,还可以先将满足指定限制条件要求的功能服务的配置信息通过直播数据接口发送给用户,用户可根据收到的配置信息有针对性的在下一次请求中通过直播间数据接口获取感兴趣的功能服务的细分功能直播数据。
59.在一些实施例中,如图8所示,通过直播间模板接口(即模板数据聚合接口即直播间数据接口)根据直播间模板中记录的各直播间功能的状态,仅收集状态为开的直播间功能,从而降低数据量,避免单独遍历每个直播间功能,从而显著降低通信中所需的带宽和数据流量。
60.如图9所示,如果没有直播间模板接口时,受限于发版成本限制,客户端设计为了保证每项直播间功能都有可能被使用,通常的做法的是遍历直播间功能服务接口。这种做法虽然可以保障功能发版的灵活性,但是比较简单粗暴,增加对服务端的接口访问系数。举个例子,当直播间包含了10个已用直播间服务和5个未用直播间功能,上述模式下,在进入
直播间访问直播间数据接口时,会对以上15个接口分别请求,请求放大为15倍之多;由于微服务架构设计思想的应用,服务粒度更细小,通常一个直播间服务可调用的服务数量,通常在30个功能服务;这些接口,都要承担进入直播间时的峰值高并发大流量,提升服务可用性风险,也增加了服务成本。
61.本发明实施例具有如下技术效果:利用直播间模板接口,可以最大限度的将返回数据进行聚合,通过一个接口返回;大幅降低接口放大比例,显著降低请求次数,提高带宽利用效率。
62.进一步地,还包括:将根据所述特定直播间的灰度需求创建的灰度策略与所述直播间模板绑定;
63.根据所述灰度策略选择所述直播间模板中的部分或全部功能服务仅向所述灰度策略中指定的白名单用户开放,或者所述直播间模板中的部分或全部功能服务不向所述灰度策略中指定的黑名单用户开放。
64.在现有技术中,当没有模板化的配置时,直播间功能灰度,一般是耦合在功能逻辑里,这样会带来两方面问题。一方面是灰度逻辑会与直播间自身的逻辑耦合在一起,增加修改的成本,且容易带来线上问题;另一方面,当灰度涉及到多项直播间服务时,联动修改的成本很高。
65.在一些实施例中,如图10所示,可以通过为不同直播间模板绑定不同组合的功能灰度策略,功能恢度策略(即灰度策略)与直播间模板在同一时间的关系是一对一,这样,当直播间的模板更换时,与模板绑定的灰度策略,也随之更改;减少了人工参与的成本,简单高效。还可以是在不同的时间,直播间模板可以绑定不同的功能灰度策略,可以根据具体的情况需要,改变直播间模板绑定的功能灰度策略。
66.通过灰度策略,可以通过白名单将特定直播间开放给白名单指定的用户,也可以通过黑名单将特定直播间设置为禁止向黑名单中指定的用户开放,还可以通过灰度策略指定在特定直播间中的一些指定功能服务禁用,另一些指定功能服务启用。还可以将黑名单和白名单和具体指定的功能服务相结合,实现针对白名单中的用户开放指定的部分功能服务,和/或,针对黑名单中的用户禁止开放指定的同一部分或另一部分功能服务。
67.本发明实施例具有如下技术效果:将灰度策略与直播间模板绑定,在直播间更换直播间模板时,相应地,灰度策略也跟随改变,减少了为控制直播间功能灰度而导致的人工参与成本,避免修改代码,操作安全简单高效,以直播间模板为单位进行功能灰度的管理也简单高效,需要立即回滚时,只需要替换会原来的直播间模板即可。
68.进一步地,所述配置信息包括功能服务状态;所述方法还包括:当所述特定直播间对应的至少一个细分功能需求各自对应的功能服务发生异常时,将所述直播间模板中对应的功能服务的配置信息中的功能服务状态设置为降级中;
69.当所述特定直播间对应的至少一个细分功能需求各自对应的功能服务正在从异常中恢复时,将所述直播间模板中对应的功能服务的配置信息中的功能服务状态设置为恢复中。
70.在一些实施例中,当没有直播间模板的配置信息时,如果直播间依赖的功能服务出现异常,由于客户端是与这些直播间的功能服务直接通信,直播间的功能服务只能依赖其自身的过载保护,继续承担着首次洪峰流量的冲击;如图11所示,当存在直播间模板时,
因为其在诸多直播间功能服务的上游,通过服务质量探测,可以及时感知下游直播间功能服务(即功能服务)能力,如功能服务的异常超过阈值,可通过配置直播间模板中相应功能服务的配置信息中的功能服务状态触发该功能服务熔断,返回客户端降级数据,保护下游直播间服务;如果之前发生异常熔断的功能服务恢复,可通过配置直播间模板中相应直播间服务(即功能服务)的配置信息使该直播间服务恢复,并且及时通知客户端请求恢复该直播间服务的调用。
71.本发明实施例具有如下技术效果:通过对各直播间功能(即功能服务)的探测,及时发现异常的直播间功能,对其进行降级或者及时发现功能已经恢复正常的之前的异常直播间功能,对恢复其功能,实现对直播间性能的细粒度控制,达到实时控制直播间的性能,使直播间运行更稳定,避免因个别功能服务异常导致直播间整体崩溃的问题。
72.进一步地,还包括:当在运行所述特定直播间相应的功能服务过程中,如果所述直播间模板中记录的配置信息发生修改,通过消息机制通知所述特定直播间的用户重新拉取所述直播间数据。
73.在一些实施例中,如图12所示,一个直播间模板,包含了诸多直播间服务(即功能服务)的配置,当直播间在运行时,也支持动态修改某项或者某几项的直播间服务配置(即功能服务的配置信息)。例如可以通过调整功能配置2中的功能服务状态中的参数设置功能2的工作方式。通过消息机制,告知客户端重新拉取直播间服务数据,实现动态数据加载,提升业务适应能力。
74.本发明实施例具有如下技术效果:通过将直播间的组成粒度缩小到每个直播间功能,将直播间需求的直播间功能及其参数例如布局、样式、灰度、状态(例如:开、关、降级中、恢复中等状态)记录于该直播间对应的直播间模板的配置信息中,实现了使用更小粒度整合得到直播间所需的功能,更加灵活的配置各种直播间的组合和交叉功能。进一步地,可以在运行时通过后台配置页面配置指定直播间的直播间模板达到运行时修改指定指定直播间的直播间功能,达到灵活高效的定制直播间,相对现有技术,无需修改代码,仅需要修改参数,避免了针对指定直播间的定义影响其他直播间的使用,提高了定制直播间操作的安全稳定性。
75.另一方面,如图13所示,本发明实施例提供一种直播间实现装置,包括:需求选择单元130,用于根据特定直播间的完整功能需求,从预置的直播间功能需求库中选取与所述完整功能需求匹配的至少一个细分功能需求,所述预置的直播间功能需求库包括各类型直播间的所有细分功能需求;
76.模板创建单元131,用于根据所述特定直播间对应的至少一个细分功能需求建立与所述特定直播间对应的直播间模板,所述直播间模板用于记录所述至少一个细分功能需求各自对应的功能服务的配置信息;
77.运行单元132,用于根据所述直播间模板记录的各功能服务的配置信息运行所述特定直播间相应的功能服务;
78.发送单元133,用于向所述特定直播间的用户发送所述特定直播间的直播间数据;
79.其中,所述预置的直播间功能需求库中各细分功能需求各自对应的功能服务预先创建。
80.进一步地,所述配置信息包括功能服务状态;所述直播间数据包括:所述直播间模
板记录的各功能服务的功能服务状态;
81.所述发送单元133,具体用于通过直播间数据接口向所述用户发送所述直播间模板记录的各功能服务的功能服务状态;
82.其中,所述直播间数据接口是预先根据所述直播间模板记录的各功能服务的配置信息建立的。
83.进一步地,所述直播间数据还包括:所述直播间模板记录的各功能服务的细分功能直播数据和其他配置信息;
84.所述发送单元133,还用于获取各功能服务运行后各自产生的细分功能直播数据;将符合指定限制条件的各功能服务的细分功能直播数据和其他配置信息通过所述直播间数据接口发送给所述用户。
85.进一步地,所述装置还包括:灰度绑定单元,用于将根据所述特定直播间的灰度需求创建的灰度策略与所述直播间模板绑定;
86.灰度执行单元,用于根据所述灰度策略选择所述直播间模板中的部分或全部功能服务仅向所述灰度策略中指定的白名单用户开放,或者所述直播间模板中的部分或全部功能服务不向所述灰度策略中指定的黑名单用户开放。
87.进一步地,所述装置还包括:降级单元,用于当所述特定直播间对应的至少一个细分功能需求各自对应的功能服务发生异常时,将所述直播间模板中对应的功能服务的配置信息中的功能服务状态设置为降级中;
88.恢复单元,用于当所述特定直播间对应的至少一个细分功能需求各自对应的功能服务正在从异常中恢复时,将所述直播间模板中对应的功能服务的配置信息中的功能服务状态设置为恢复中。
89.进一步地,还包括:配置更新单元,用于当在运行所述特定直播间相应的功能服务过程中,如果所述直播间模板中记录的配置信息发生修改,通过消息机制通知所述特定直播间的用户重新拉取所述直播间数据。
90.本发明实施例提供的一种直播间模板化装置是与前述的一种直播间模板化方法一一对应的装置,本领域技术人员可以根据前述的一种直播间模板化方法中的实施例说明毫无异议的理解本发明实施例提供的一种直播间模板化装置,在此不再赘述。
91.下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
92.现有技术介绍:视频直播,是当前非常流行的业务及技术场景,例如媒体直播、电商直播、淘宝直播、秀场直播、游戏直播,主播端参与的人数增加迅速,观众端的日活和同时在线人数乃至交易额都屡创新高,对技术的扩展性和可用性提出了更多的挑战亟待解决。业界常见的解决方案,都是为每种直播间独立设计与开发出一种直播间元数据结构,例如,如图1中的“媒体直播间”、“电商直播间”等等。针对每一种业务类型,如媒体直播、电商直播、秀场直播等,都有独立的一套数据与服务,让业务人员更加聚焦以“直播间类型”为单位的解决方案。以此根据,在业务和技术,都独立出媒体直播团队、电商直播团队、淘宝直播团队、秀场直播团队、游戏直播团队等等,跟进直播间类型划分的团队设计。
93.发明人分析现有技术后发现现有技术的缺点如下:按照直播间类型为单位进行划分,是一种常见设计和服务的解决方案;在当下业务创新和发展的迅速,经常出现直播间功
能的交叉和新功能难以界定的场景,这样当前的以“直播间”为划分单位的设计,就难以取得理想的效果。比如,媒体直播间,主要是以承担像央视、各地方卫视、报社杂志这些媒体属性和政治属性很强的主播类型,对直播的可靠性、安全性、及时性要求高,需要支持极高突发流量支持,最高可支持百万级别,同时对于评论的正能量要求高,但是不需要打赏、送礼、美颜、滤镜、连麦等功能;电商直播间,通常是以秀场直播间为蓝本,可以支持红包、送礼、美颜、滤镜、连麦等功能,但是对于直播的可靠性、安全性、及时性要求需要和成本统一考虑,所以一般情况下在这些方面要逊于媒体直播,同时在设计容量突发性和上限,也不及媒体直播的要求。现实的业务需求,对这样的设计提出了重大的挑战。在线下经营环境因成本、环境、政策、社会等因素恶化时,很多商家转投线上,电商直播类型在整个直播类型的占比在扩大。此时,各大媒体也在自己的媒体直播间极力的推动网上直播带货,简单来说需要解决“媒体直播 电商直播”这样的多直播间类型组合或者交叉带来的功能性和可用性难题。如图2所示,电商直播是以秀场直播为基础,加上购物车功能;如图3所示,媒体直播,是独立的直播功能。在这种架构下,需要实现以下的业务需求,个别媒体直播具备直播带货功能。简而言之,就是个别媒体直播要具备电商直播的购物车即支持选商品、下单、支付等功能。
94.在当前架构下,可选的方案:方案一:以“媒体直播间”为基础,增加购物车功能;方案二:以“电商直播间”为基础,增加媒体直播功能。针对这样的业务需求,无论是方案一还是方案二,都不能在不违背“开闭原则”(即软件设计原则,对扩展开放,对修改封闭)而优雅的满足这种业务需求。本质原因,是模型抽象的粒度过大,无法满足内部的功能组合和添加、删减和修改。
95.通过上述分析,发明人提出以下技术方案:
96.如图4所示,本发明实施例通过对直播间模型的划分粒度,将功能服务作为最小单位,通过组合成直播间模板,通过自底向上的功能组合配置出直播间。当业务调整或者突发需求时,可以通过功能的插拔和适配,及时的生成需要的直播间,满足业务需求。
97.本发明实施例的详细说明:
98.建立“直播间功能-直播间模板-直播间”的绑定关系:1)直播间功能即功能服务:直播间内的针对主播和观众侧的可见功能总称,例如包括但不限于评论功能、送礼功能、头等舱(即观众侧排名)功能、直播间人气功能、直播间角标功能、购物车功能、直播间显示清晰度功能、侧边栏功能、底部栏功能等等。2)直播间模板:功能服务的模式化配置,根据运营人员和产品人员的需求,将需要的功能服务和相应的配置信息配置在直播间模板中。3)直播间结构:是服务端程序运行时的直播间数据结构,通过下行接口将直播间数据通知给客户端。4)直播间类型:标志直播间具体是应用于哪种场景,比如针对购物消费类型,有电商直播和淘宝直播。
99.直播间模板包含1个甚至多个直播间功能,直播间模板与直播间功能是一对多的关系;一个直播间结构,在同一时间包含一个且仅为一个直播间模板,描述其直播间结构能够支持的直播间功能集合,直播间结构与直播间模板是一对一的关系;直播间类型,是显示标明直播间的应用场景。
100.直播间模板的数据接口即直播间数据接口:主要承担客户端访问直播间模板;直播间数据接口是高并发大流量的接口,直播间模板接口即直播间数据接口,会作为观众端即客户端即用户进入直播间时请求的入口数据接口,需要有能力抗住瞬时大流量,这是该
技术容量设计的必要条件。聚合数据常用的直播间功能配置:首先,直播间模板接口,是一个聚合数据接口,将该模板需要的直播间功能配置,以一个合适的限制条件,聚合在这一个接口进行数据返回。这个“合适”的限制条件,主要考虑以下几个方面,首先是数据大小,直播间模板数据接口,需要控制自身数据大小,需要考虑在高并发大流量下的下行数据网络压力;其次,要考虑到如果不能覆盖所有直播间功能,那么要优先要支持功能的开关配置(标明该直播间功能是否存在的配置项),然后要考虑召回核心的直播间功能配置,针对长尾的直播间功能或者配置项比较冗长,可以要求二次请求该直播间功能自己的数据配置。如图9所示,如果没有模板化的配置时,受限于发版成本限制,客户端设计为了保证每项直播间功能都有可能被使用,通常的做法的是遍历直播间功能服务接口。这种做法虽然可以保障功能发版的灵活性,但是比较简单粗暴,增加对服务端的接口访问系数。举个例子,当直播间包含了10个已用直播间服务和5个未用直播间功能,上述模式下,在进入直播间访问直播间数据接口时,会对以上15个接口分别请求,请求放大为15倍之多;由于微服务架构设计思想的应用,服务粒度更细小,通常一个直播间服务可调用的服务数量,通常在30个功能服务;这些接口,都要承担进入直播间时的峰值高并发大流量,提升服务可用性风险,也增加了服务成本。如图8所示,利用直播间模板接口,可以最大限度的将返回数据进行聚合,通过一个接口返回;大幅降低接口放大比例。
101.功能灰度方面的服务扩展性支持:现有技术中,当没有模板化的配置时,直播间功能灰度,一般是耦合在功能逻辑里,这样会带来两方面问题。一方面是灰度逻辑会与直播间自身的逻辑耦合在一起,增加修改的成本,且容易带来线上问题;另一方面,当灰度涉及到多项直播间服务时,联动修改的成本很高。在本实施例中,如图10所示,直播间模板接口是一个数据聚合的接口,可以通过为不同模板绑定不同组合的功能灰度策略,功能灰度策略与直播间模板的关系是一对一;绑定的方法包括但不限于可以将功能灰度策略直接保存在直播间模板中,或者通过在文件或数据库中保存灰度策略与直播间模板的对应关系建立二者的绑定关系。这样,当直播间的模板更换时,与模板绑定的灰度策略,也随之更改;减少了人工参与的成本,简单高效。
102.服务降级和服务恢复方面的服务可用性支持:当没有模板化的配置时,如果直播间依赖的服务出现异常,由于客户端是与这些直播间服务直接通信,直播间服务只能依赖其自身的过载保护,继续承担着首次洪峰流量的冲击;当存在模板化服务时,因为其在诸多直播间服务的上游,通过服务质量探测,可以及时感知下游直播间服务能力,如服务异常超过阈值,可触发该直播间服务熔断,返回客户端降级数据,保护下游直播间服务;如果服务恢复,可以及时通知客户端请求,恢复该直播间服务的调用。如图11所示,监测到功能3(即第三个功能服务)异常,则将功能3的功能配置3的功能服务状态设置为降级中。监测到功能4(即第四个功能服务)从异常中恢复为正常,则将功能4的功能能配置4的功能服务状态设置为恢复中。
103.支持运行时的动态配置调整,提升服务扩展性能力:一个直播间模板,包含了诸多直播间服务的配置信息,当直播间在运行时,也支持动态修改某项或者某几项的直播间服务配置。通过消息机制,告知客户端重新拉取直播间服务数据,实现动态数据加载,提升业务适应能力。
104.本发明实施例具有如下技术效果:现有技术,主要是采用自顶向下的思路,先圈定
业务场景,通过直播间类型来具化体现,然后接收功能服务;本发明实施例采用的是自底向上的思路,通过直播间功能的聚合,实现配置化的直播间模板,直播间则像一个通用容器,可以使用不同的直播间模板。在当前微服务盛行和需求更迭频繁、业务创新度大的背景下,具备更强的扩展性和可用性。
105.应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
106.在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
107.为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本技术公开的原理和新颖性特征的最广范围相一致。
108.上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
109.本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
110.本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
111.本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
112.在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
113.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献