CN109634597B - 数据处理方法、装置、电子设备及存储介质 - Google Patents

数据处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN109634597B
CN109634597B CN201811511776.4A CN201811511776A CN109634597B CN 109634597 B CN109634597 B CN 109634597B CN 201811511776 A CN201811511776 A CN 201811511776A CN 109634597 B CN109634597 B CN 109634597B
Authority
CN
China
Prior art keywords
layer
live broadcast
request
data
processing result
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
Application number
CN201811511776.4A
Other languages
English (en)
Other versions
CN109634597A (zh
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.)
Wuhan Ouyuan Network Video Co ltd
Original Assignee
Wuhan Ouyuan Network Video 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 Wuhan Ouyuan Network Video Co ltd filed Critical Wuhan Ouyuan Network Video Co ltd
Priority to CN201811511776.4A priority Critical patent/CN109634597B/zh
Publication of CN109634597A publication Critical patent/CN109634597A/zh
Application granted granted Critical
Publication of CN109634597B publication Critical patent/CN109634597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例公开了一种数据处理方法、装置、电子设备及存储介质。该方法包括:获取界面层所产生的直播关联请求,根据数据通道对应关系确定与直播关联请求相对应的至少两个关联数据层;将直播关联请求发送至初始数据层,并接收初始数据层根据直播关联请求执行对应的业务逻辑所反馈的初始处理结果;将初始处理结果和直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历关联数据层,得到目标处理结果;根据目标处理结果向界面层发送展示请求,以展示目标处理结果。采用上述技术方案提高了代码的稳定性、扩展性、可变性以及可维护性。

Description

数据处理方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的发展,网络直播作为一种新兴媒体方式应运而生。特别是娱乐类直播中,为了增强主播与观众之间的交互,往往会设计弹幕、打赏以及连麦通话等功能。
现有技术中通常采用传统的MVP架构进行代码开发。参见图1A,传统MVP***架构包括数据层(Model)、界面层(View)以及业务层(Presenter)。其中,界面层直接引用业务层,而业务层抽象引用界面层和数据层;界面层与数据层之间不能直接引用,必须通过业务层桥接。
在图1A所示的***架构下,当所开发的应用包含多种功能时,例如服务、语音、邀请、变声以及场景等,数据层以及界面层中将会包含有大量的高度耦合的代码逻辑,使得所开发应用的不同功能模块之间的代码杂糅在一起,形成一个网状结构,参见图1B。由于各个模块之间相互影响,降低了代码的稳定性、扩展性、可变性以及可维护性。
发明内容
本发明提供一种数据处理方法、装置、电子设备及存储介质,以实现数据层不同功能模块对应的业务逻辑的解耦,提高代码的稳定性、扩展性、可变性以及可维护性。
第一方面,本发明实施例提供了一种数据处理方法,包括:
获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层;所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系;
将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果;
将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果;
根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
第二方面,本发明实施例还提供了一种数据处理装置,包括:
直播关联请求获取模块,用于获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层;所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系;
初始处理结果接收模块,用于将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果;
目标处理结果得到模块,用于将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果;
目标处理结果展示模块,用于根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
第三方面,本发明实施例还提供了一种电子设备,包括输入装置和输出装置,还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面实施例所提供的一种数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所提供的一种数据处理方法。
本发明实施例通过获取界面层所产生的直播关联请求,并根据数据通道对应关系确定与直播关联请求相对应的至少两个关联数据层;将直播关联请求发送至初始数据层,并接收初始数据层根据直播关联请求执行对应的业务逻辑所反馈的初始处理结果;将初始处理结果和直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历关联数据层,得到目标处理结果;根据目标处理结果向界面层发送展示请求,以控制界面层展示目标处理结果。采用上述技术方案解决了现有技术中采用传统MVP架构进行与直播相关联的代码开发时,代码逻辑之间高度耦合的技术问题,提高了代码的稳定性、扩展性、可变性以及可维护性。
附图说明
图1A是现有技术中的MVP架构示意图;
图1B是采用现有技术中的MVP架构时数据层所形成的网状结构图;
图2A是本申请中的***架构示意图;
图2B是本发明实施例一中的一种数据处理方法的流程图;
图3A是本发明实施例二中的一种数据处理方法的流程图;
图3B是本发明实施例二中的一种软件架构设计图;
图3C是本发明实施例二中的一种数据处理过程示意图;
图3D是现有技术中的一种数据处理过程示意图;
图4是本发明实施例三中的一种数据处理方法的流程图;
图5A是现有技术中的一种数据处理过程示意图;
图5B是本发明实施例四中的一种数据处理过程示意图;
图6是本发明实施例五中的一种数据处理装置的结构图;
图7是本发明实施例六中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
为了使本发明各实施例的技术方案更为清楚,首先对本发明各实施例所采用的***架构进行说明。
参见图2A所示的***架构图,包括业务层,用于调度界面层和实现不同功能的各功能模块所对应的数据层。图2A中所示出的各数据层包括邀请层、服务层、软件开发工具包(Software Development Kit,SDK)层、邀请层、变声层以及场景层,以实现服务、语音、邀请、变声以及场景变换等不同的功能。各数据层仅与业务层之间存在一对一的代码关联,各数据层的代码逻辑之间不存在数据交叉,将图1B中的网状转换为图2A所示的形状结构,使各数据层对应的功能模块之间相互独立,互不影响,便于各功能模块对应的代码逻辑的维护。
实施例一
图2B是本发明实施例一中的一种数据处理方法的流程图。本发明实施例适用于与对与直播关联的相关请求进行处理的情况,该方法由数据处理装置来执行,该装置由软件和/或硬件实现,并具体配置于承载有直播软件客户端的电子设备中。典型的,电子设备可以是智能手机、平板电脑或PC机等终端设备。
如图2B所示的一种数据处理方法,应用于业务层,包括:
S110、获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层。
其中,直播关联请求可以理解为在直播的过程中所涉及的用户或主播通过触发电子设备中的功能按钮所产生的请求,例如可以是连麦请求、好友邀请请求、场景变换请求或者点赞请求等。
其中,关联数据层用于表征处理直播关联请求时所需要参与的数据层。其中,所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系。
具体的,当用户在直播软件客户端中触发设定的功能按钮时,界面层将会产生对应的直播关联请求,并将该直播关联请求发送至业务层;当业务层监听到有直播关联请求产生之后,获取该直播关联请求,其中,直播关联请求包括请求类型和请求指令;根据预先存储的数据通道对应关系,查询与请求类型相对应的至少两个数据层,作为关联数据层。其中,数据通道对应关系可以存储在电子设备本地,还可以是与电子设备具备通信关系的其他设备,当然还可以云端存储。
S120、将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果。
其中,关联数据层中包括初始数据层,用于最先处理并直接处理直播关联请求。业务层将获取的直播关联请求发送至初始数据层,初始数据层接收到该直播关联请求后,根据直播关联请求中的请求指令选取相应的业务逻辑,并采用选取的业务逻辑对直播关联请求进行业务处理,并得到初始处理结果;初始数据层将初始处理结果反馈至业务层。
S130、将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果。
业务层接收该初始处理结果,并将所接收到的初始处理结果和直播关联请求作为当前直播请求发送至下一关联数据层;当关联数据层接收到当前直播请求后,根据当前直播请求中的请求指令选取相应的业务逻辑,并采用选取的业务逻辑对当前直播关联请求进行业务处理,并得到当前处理结果;关联数据层将当前处理结果反馈至业务层。
当业务层接收到当前处理结果后,判断是否遍历确定的全部关联数据层;当未遍历完全部的关联数据层时,将当前处理结果与直播关联请求作为当前直播关联请求发送至下一关联数据层中,并接收反馈的当前处理结果,直至遍历完所有关联数据层后,业务层将最末次接收到的当前处理结果作为目标处理结果。
S140、根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
业务层根据目标处理结果生成展示请求,并将展示请求发送至界面层;当界面层接收到该展示请求后,展示相应的目标处理结果。
本发明实施例通过获取界面层所产生的直播关联请求,并根据数据通道对应关系确定与直播关联请求相对应的至少两个关联数据层;将直播关联请求发送至初始数据层,并接收初始数据层根据直播关联请求执行对应的业务逻辑所反馈的初始处理结果;将初始处理结果和直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历关联数据层,得到目标处理结果;根据目标处理结果向界面层发送展示请求,以控制界面层展示目标处理结果。采用上述技术方案解决了现有技术中采用传统MVP架构进行与直播相关联的代码开发时,代码逻辑之间高度耦合的技术问题,提高了代码的稳定性、扩展性、可变性以及可维护性。
实施例二
图3A是本发明实施例二中的一种数据处理方法的流程图。本发明实施例在上述各实施例的技术方案的基础上,进行细分优化。
进一步地,对界面层、初始数据层以及数据层细化为“所述界面层包括界面接口以及实现所述界面接口的界面类;所述初始数据层为服务层,包括服务接口以及实现所述服务接口的服务类;所述数据层还包括软件开发工具包SDK层,包括SDK接口以及实现所述SDK接口的SDK类”;相应的,将操作“将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果”细化为“将所述直播关联请求发送至所述服务层,并接收所述服务层根据所述直播关联请求调用所述服务类得到的待获取数据”,以完善初始数据层的处理机制,同时减少服务层和SDK层所包含代码逻辑之间的耦合度。
进一步地,将直播关联请求细化为“所述直播关联请求包括连麦请求”,相应的“所述关联数据层包括服务层和SDK层”,并将操作“所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果”细化为“将所述待获取数据和所述连麦请求发送至所述SDK层,以控制所述SDK层调用所述SDK类建立语音通信线路,并得到所述SDK层的线路连接结果作为目标处理结果”,以完善连麦请求处理机制。
如图3A所示的一种数据处理方法,应用于业务层,包括:
S210、获取界面层所产生的连麦请求,根据数据通道对应关系确定与所述直播关联请求相对应的服务层和SDK层。
其中,所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系。
其中,业务层包括业务接口以及实现业务接口的业务类;服务层包括服务接口,以及实现服务接口的服务类;SDK层包括SDK接口以及实现SDK接口的SDK类;界面层包括界面接口以及实现界面接口的界面类。其中,界面类中包括面板、列表以及弹窗等UI(UserInterface,用户界面)控件。
参见图3B所示的一种软件架构设计图,进行示例性说明。
图3B所示的软件架构基于Java进行设计,其中,IVoiceLinkChannel为业务接口,VoiceLinkChannelManager为实现IVoiceLinkChannel接口的业务类。其中,VoiceLinkChannelManager类作为一个核心类对界面层和数据层对应的业务逻辑进行调度管理,以实现对界面层、SDK层、服务层以及其他数据层的管理。其中,IchannelView为界面接口,VoiceLinkChannelView为实现IchannelView接口的界面类,用于基于用户的操作,通过对话框、消息框或其他任意形式进行展示。其中,IChannelSDK为SDK接口,SDKWrapper为实现IChannelSDK的SDK类,用于从推流库以及声网库等自研或第三方数据库或服务器中获取信息以实现声音的传递。其中,IChannelServer为服务接口,ChannelServerImpl为实现服务接口的服务类,用于与通过http请求、TCP长连接或其他任意通信协议实现数据通信,还用于从弹幕库等自研或第三方数据库中获取相关数据。
具体的,参见图3C所示的数据处理过程示意图,其中所涉及的***架构包括业务层310A、界面层320A以及服务层330A和SDK层340A。当基于用户在电子设备中的设定操作产生连麦请求后,界面层320A产生连麦请求,并发送至业务层310A;业务层310A接收连麦请求;其中,连麦请求对应的请求类型为连麦类型,对应的请求指令为连麦指令。根据该功能类型查询预先存储的数据通道对应关系中,与连麦类型相对应的服务层330A的服务类以及SDK层340A的SDK类。示例性地,设定操作可以是对加入连麦房间的按钮的点击操作。
S220、将所述连麦请求发送至所述服务层,并接收所述服务层根据所述连麦请求调用所述服务类得到的待获取数据。
业务层310A中的业务类根据连麦请求中的连麦指令生成令牌申请指令,并基于令牌申请指令调用服务层330A中的服务类;服务类处理该令牌申请指令,得到令牌。其中,令牌可以是由数字、字母或符号等组成的字符串。
S230、将所述待获取数据和所述连麦请求发送至所述SDK层,以控制所述SDK层调用所述SDK类建立语音通信线路,并得到所述SDK层的线路连接结果作为目标处理结果。
基于令牌和连麦请求,生成声网链接请求,并基于声网链接请求调用SDK层340A中的SDK类;SDK类处理该声网链接请求,并根据声网链接请求中所包含的链接方建立语音通信线路,在链接成功后生成链接成功信息;或者在链接失败后生成链接失败信息。
S240、根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
业务层310A的业务类根据链接成功信息调用界面层中的界面层320A的界面类;界面类将该链接成功信息加以展示;业务层310A的业务类根据链接失败信息调用界面层中的界面层320A的界面类;界面类将该链接失败信息加以展示。
参见图3D所示的现有技术中的数据处理过程示意图,现有技术所涉及的***架构包括业务层310B、界面层320B以及数据层330B。当业务层310B接收到界面层320B所产生的连麦请求后,调用数据层330B的控制逻辑331B,其中控制逻辑331B为未添加连麦功能时的业务逻辑。在添加了连麦功能之后,控制逻辑中需要嵌套建立声网链接的业务逻辑332B,又由于建立声网链接过程中,需要对申请加入的链接方的身份进行验证,因此还需要进一步嵌套申请令牌的业务逻辑333B。最终,根据业务层310B调用数据层330B中的各业务逻辑,得到连麦是否成功的结果数据。业务层310B调用界面层320B将结果数据进行展示。因此,在现有技术中添加其他功能时,会导致数据层330B中的代码逻辑体积庞大,同时各代码逻辑之间高度耦合,难以维护。
本发明实施例通过将同为数据层的SDK层和服务层隔离设置,通过调用服务层中的服务类对连麦请求进行处理得到待获取数据,通过调用SDK层中的SDK类对待获取数据和连麦请求进行处理,实现声网链接并得到链接成功的目标处理结果,并通过调用界面层中的界面类对目标处理结果加以展示。采用上述技术方案通过在直播软件客户端中添加连麦请求功能时,将新添加的连麦功能对应的代码逻辑与已存在的各数据层的代码逻辑进行隔离,通过将现有技术中的一个数据层划分为多个独立的子数据层,减少了各数据层中的代码逻辑的体积,实现了代码逻辑之间的解耦,提高了代码的稳定性、扩展性、可变性以及可维护性。
实施例三
图4是本发明实施例三中的一种数据处理方法的流程图。本发明实施例在上述各实施例的技术方案的基础上,进行了追加优化和细分优化。
进一步地,数据层还包括附加功能层;将直播关联请求细化为“直播关联请求包括附加功能请求”,关联数据层细化为“所述关联数据层包括服务层和附加功能层”;相应的,将操作“所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果”细化为“将所述待获取数据和所述附加功能请求发送至所述附加功能层,以控制所述附加功能层执行对应的业务逻辑,并得到所述目标处理结果”,以在现有的代码逻辑架构基础上添加其他功能模块对应的代码时,进一步减少代码逻辑之间的耦合度。
如图4所示的一种数据处理方法,包括:
S410、获取界面层所产生的附加功能请求,根据数据通道对应关系确定与所述附加功能请求相对应的服务层和附加功能层。
其中,所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系。其中,附加功能层包括请求类型以及请求指令。请求类型用于标识附加功能请求被执行后所产生的功能所属类型,请求指令为附加功能请求被执行时的参数内容。
其中,附加功能请求包括:变声请求、好友邀请请求、场景变换请求和点赞请求中的至少一个;附加功能层包括:变声层、邀请层、场景层和点赞层的至少一个。其中,变声层用于实现变声功能,邀请层用于实现好友邀请功能,场景层用于实现场景变换功能,以及点赞层用于实现点赞功能。
具体的,当基于用户的设定操作界面层产生附加功能请求后,将附加功能请求发送至业务层;根据附加功能请求的请求类型查询预先存储的数据通道对应关系,确定与附加功能请求的请求类型对应的服务层和附加功能层。
S420、将所述附加功能请求发送至所述服务层,并接收所述服务层根据所述附加功能请求调用所述服务类得到的待获取数据。
业务层中的业务类根据附加功能请求中的请求指令生成令牌申请指令,并基于令牌申请指令调用服务层的服务类;服务类处理该请求指令,得到与请求指令相对应的令牌。其中,令牌可以是由数字、字母或符号等组成的字符串。
S430、将所述待获取数据和所述附加功能请求发送至所述附加功能层,以控制所述附加功能层执行对应的业务逻辑,并得到所述目标处理结果。
基于令牌和附加功能请求,调用附加功能层中的附加功能类;附加功能类处理附加功能请求,得到相应的目标处理结果。
其中,当附加功能请求包括变声请求时,目标处理结果为选择的目标声音信息,包括声音频率、音色和音调等,还包括选择目标声音信息是否成功的提醒信息。当附加功能请求包括好友邀请请求时,目标处理结果包括邀请好友是否成功的提醒信息,还可以包括所邀请好友的基本信息。当附加功能请求包括场景变换请求时,目标处理结果包括待转换的目标场景,还可以包括目标场景的场景描述信息。当附加功能请求包括点赞请求时,目标处理结果包括点赞标识,还可以包括点赞标识的基本属性,其中基本属性包括颜色、大小以及显示位置等。
S440、根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
业务层的业务类根据目标处理结果调用界面层中的界面类;界面类将目标处理结果加以展示。
本发明实施例通过将同为数据层的附加功能层与服务层隔离设置,通过调用服务层中的服务类对附加功能请求进行处理得到待获取数据,通过调用附加功能层中的附加功能类对待获取数据和附加功能请求进行处理,实现附加功能并得到相应的目标处理结果,并通过调用界面层中的界面类对目标处理结果加以展示。采用上述技术方案通过在直播软件客户端中添加附加功能时,将新添加的附加功能对应的代码逻辑与已存在的各数据层的代码逻辑进行隔离,通过将现有技术中的一个数据层划分为多个独立的子数据层,减少了各数据层中的代码逻辑的体积,实现了代码逻辑之间的解耦,提高了代码的稳定性、扩展性、可变性以及可维护性。
实施例四
在上述各实施例的技术方案的基础上,为了凸显本申请与现有技术的不同,本发明实施例四示意性给出了在已有业务的基础上,需要添加连麦业务的新业务用以加入声网,提供连麦功能。但在加入声网之前,需要从服务中获取相关数据的情况下,现有技术中的数据处理过程与本申请中的数据处理过程之间的差异。
图5A示出了现有技术中的数据处理过程示意图。现有技术中所涉及的***架构包括业务层510A、界面层520A以及数据层530A。由于业务层510A作为整个***架构的管理控制中心,因此在添加连麦业务时,需要在业务层510A现有的基础管理类511A的基础上,添加连麦管理类512A。当业务层510A接收到界面层520A所产生的连麦请求后,根据基础管理类511A调用数据层530A的控制逻辑531A,其中控制逻辑531A为未添加连麦功能时的业务逻辑。在添加了连麦功能之后,控制逻辑531A中需要添加连麦管理类512A相对应的控制逻辑532A。但是,由于连麦之前需要建立声网链接,因此在数据层530A中需要额外嵌套建立声网链接的业务逻辑533A。又由于在建立声网链接之前,还需要获取相关数据,因此还需要在需要嵌套的建立声网链接的业务逻辑533A的基础上嵌套相关数据获取对应的业务逻辑534A。最终,根据业务层510A调用数据层530A中的各业务逻辑,得到连麦是否成功的结果数据。基础管理类511A调用界面层520A将结果数据进行展示。
图5B示出了本发明实施例所采用的数据处理过程示意,其中所涉及的***架构包括业务层510B、界面层520B以及服务层530B和SDK层540B。由于业务层510B作为整个***架构的管理控制中心,因此在添加连麦业务时,需要在业务层510B的基础管理类511B的基础上,添加连麦管理类512B。当业务层510B接收到界面层520B所产生的连麦请求后,基于连麦请求产生相关数据获取指令,并根据基础管理类511B调用服务层530B的业务逻辑,业务逻辑处理相关数据获取指令,得到相关数据。在业务层510B中新添加的连麦管理类512B根据连麦请求以及获取的相关数据生成声网链接指令,并调用SDK层中的业务逻辑处理该声网链接指令,建立声网链接并反馈声网链接结果。基础管理类511B调用界面层520B将声网链接结果进行展示。
本发明实施例通过在现有基础业务的基础上开发新业务时,通过将一个数据层中的业务逻辑隔离形成SDK层和服务层,减少数据层中业务逻辑之间的嵌套关联等形成的高度耦合,减少了数据层中代码逻辑的体积,实现了数据层中代码逻辑的解耦,提高了代码的稳定性、扩展性、可变性以及可维护性。
实施例五
图6是本发明实施例五中的一种数据处理装置的结构图。本发明实施例适用于与对与直播关联的相关请求进行处理的情况,该装置由软件和/或硬件实现,并具体配置于承载有直播软件客户端的电子设备中。如图6所示的一种数据处理装置,包括:直播关联请求获取模块610,初始处理结果接收模块620、目标处理结果得到模块630以及目标处理结果展示模块640。
其中,直播关联请求获取模块610,用于获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层;所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系;
初始处理结果接收模块620,用于将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果;
目标处理结果得到模块630,用于将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果;
目标处理结果展示模块640,用于根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
本发明实施例通过直播关联请求获取模块获取界面层所产生的直播关联请求,并根据数据通道对应关系确定与直播关联请求相对应的至少两个关联数据层;通过初始处理结果接收模块将直播关联请求发送至初始数据层,并接收初始数据层根据直播关联请求执行对应的业务逻辑所反馈的初始处理结果;通过目标处理结果得到模块将初始处理结果和直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历关联数据层,得到目标处理结果;通过目标处理结果展示模块根据目标处理结果向界面层发送展示请求,以控制界面层展示目标处理结果。采用上述技术方案解决了现有技术中采用传统MVP架构进行与直播相关联的代码开发时,代码逻辑之间高度耦合的技术问题,提高了代码的稳定性、扩展性、可变性以及可维护性。
进一步地,在直播关联请求获取模块610确定不包含与所述直播关联请求相对应的关联数据层时,所述直播关联请求获取模块610,还用于:
向所述界面层发送异常提醒请求,以控制所述界面层进行异常提醒;或者,
在接收到数据通道创建请求时,接收用户输入的各数据层标识,创建并存储所述数据层标识与所述直播关联请求的数据通道对应关系。
进一步地,所述界面层包括界面接口以及实现所述界面接口的界面类;
所述初始数据层为服务层,包括服务接口以及实现所述服务接口的服务类;
所述数据层还包括软件开发工具包SDK层,包括SDK接口以及实现所述SDK接口的SDK类。
进一步地,所述初始处理结果接收模块620,具体用于:
将所述直播关联请求发送至所述服务层,并接收所述服务层根据所述直播关联请求调用所述服务类得到的待获取数据。
进一步地,所述直播关联请求包括连麦请求;所述关联数据层包括服务层和SDK层;
相应的,所述目标处理结果得到模块630,具体用于:
将所述待获取数据和所述连麦请求发送至所述SDK层,以控制所述SDK层调用所述SDK类建立语音通信线路,并得到所述SDK层的线路连接结果作为目标处理结果。
进一步地,所述数据层还包括附加功能层;相应的,所述直播关联请求包括附加功能请求;所述关联数据层包括服务层和附加功能层;
相应的,所述目标处理结果得到模块630,具体用于:
将所述待获取数据和所述附加功能请求发送至所述附加功能层,以控制所述附加功能层执行对应的业务逻辑,并得到所述目标处理结果。
进一步地,所述附加功能层包括:变声层、邀请层、场景层和点赞层的至少一个;相应的,所述附加功能请求包括:变声请求、好友邀请请求、场景变换请求和点赞请求中的至少一个。
上述数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行数据处理方法相应的功能模块和有益效果。
实施例六
图7是本发明实施例六中的一种电子设备的硬件结构示意图,该设备包括:
输入装置710,用于接收直播关联请求;
输出装置720,用于展示各目标处理结果;
该装置还包括:
一个或多个处理器730以及存储装置740;
存储装置740,用于存储一个或多个程序。
图7中以一个处理器730为例,该电子设备中的输入装置710与输出装置720、处理器730和存储装置740可以通过总线或其他方式连接;处理器730和存储装置740也通过总线或其他方式进行连接,图7中以通过总线连接为例。
在本实施例中,电子设备中的处理器730从输入装置710获取直播关联请求;还可以根据数据通道对应关系确定与直播啊关联请求相对应的至少两个关联数据层;还可以将直播关联请求发送至初始数据层,并接收初始数据层根据直播关联请求执行对应的业务逻辑所反馈的初始处理结果;还可以将初始处理结果和从输入装置710中获取的直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历关联数据层,得到目标处理结果;还可以根据目标处理结果向界面层发送展示请求,以控制输出装置720展示目标处理结果。
该电子设备中的存储装置740作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中数据处理方法对应的程序指令/模块(例如,附图6所示的直播关联请求获取模块610,初始处理结果接收模块620、目标处理结果得到模块630以及目标处理结果展示模块640)。处理器730通过运行存储在存储装置740中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据处理方法。
存储装置740可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储数据等(如上述实施例中的直播关联请求、数据通道对应关系、初始处理结果、当前直播关联请求以及目标处理结果等)。此外,存储装置740可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置740可进一步包括相对于处理器730远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被数据处理装置执行时实现本发明实施提供的数据处理方法,该方法包括:获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层;所述数据通道对应关系为处理所述直播关联请求的各数据层的对应关系;将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果;将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果;根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层;所述数据通道对应关系为处理所述直播关联请求的各数据层与所述直播关联请求的对应关系;
将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果;
将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果;
根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
2.根据权利要求1所述的方法,其特征在于,在确定不包含与所述直播关联请求相对应的关联数据层时,还包括:
向所述界面层发送异常提醒请求,以控制所述界面层进行异常提醒;或者,
在接收到数据通道创建请求时,接收用户输入的各数据层标识,创建并存储所述数据层标识与所述直播关联请求的数据通道对应关系。
3.根据权利要求1所述的方法,其特征在于,所述界面层包括界面接口以及实现所述界面接口的界面类;
所述初始数据层为服务层,包括服务接口以及实现所述服务接口的服务类;
所述数据层还包括软件开发工具包SDK层,包括SDK接口以及实现所述SDK接口的SDK类。
4.根据权利要求3所述的方法,其特征在于,将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果,包括:
将所述直播关联请求发送至所述服务层,并接收所述服务层根据所述直播关联请求调用所述服务类得到的待获取数据。
5.根据权利要求4所述的方法,其特征在于,所述直播关联请求包括连麦请求;所述关联数据层包括服务层和SDK层;
相应的,所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果,包括:
将所述待获取数据和所述连麦请求发送至所述SDK层,以控制所述SDK层调用所述SDK类建立语音通信线路,并得到所述SDK层的线路连接结果作为目标处理结果。
6.根据权利要求4所述的方法,其特征在于,所述数据层还包括附加功能层;相应的,所述直播关联请求包括附加功能请求;所述关联数据层包括服务层和附加功能层;
相应的,所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果,包括:
将所述待获取数据和所述附加功能请求发送至所述附加功能层,以控制所述附加功能层执行对应的业务逻辑,并得到所述目标处理结果。
7.根据权利要求6所述的方法,其特征在于,所述附加功能层包括:变声层、邀请层、场景层和点赞层的至少一个;相应的,所述附加功能请求包括:变声请求、好友邀请请求、场景变换请求和点赞请求中的至少一个。
8.一种数据处理装置,其特征在于,包括:
直播关联请求获取模块,用于获取界面层所产生的直播关联请求,根据数据通道对应关系确定与所述直播关联请求相对应的至少两个关联数据层;所述数据通道对应关系为处理所述直播关联请求的各数据层与所述直播关联请求的对应关系;
初始处理结果接收模块,用于将所述直播关联请求发送至初始数据层,并接收所述初始数据层根据所述直播关联请求执行对应的业务逻辑所反馈的初始处理结果;
目标处理结果得到模块,用于将所述初始处理结果和所述直播关联请求作为当前直播关联请求发送至下一数据层,并接收下一数据层根据所述当前直播关联请求执行对应的业务逻辑所反馈的处理结果,直至遍历所述关联数据层,得到目标处理结果;
目标处理结果展示模块,用于根据所述目标处理结果向所述界面层发送展示请求,以控制所述界面层展示所述目标处理结果。
9.一种电子设备,包括输入装置和输出装置,其特征在于,还包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的一种数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的一种数据处理方法。
CN201811511776.4A 2018-12-11 2018-12-11 数据处理方法、装置、电子设备及存储介质 Active CN109634597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811511776.4A CN109634597B (zh) 2018-12-11 2018-12-11 数据处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811511776.4A CN109634597B (zh) 2018-12-11 2018-12-11 数据处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN109634597A CN109634597A (zh) 2019-04-16
CN109634597B true CN109634597B (zh) 2022-02-18

Family

ID=66072858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811511776.4A Active CN109634597B (zh) 2018-12-11 2018-12-11 数据处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN109634597B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434241A (zh) * 2019-08-26 2021-03-02 上海哔哩哔哩科技有限公司 业务处理方法、计算机设备及存储介质
CN111694618A (zh) * 2020-06-04 2020-09-22 北京字节跳动网络技术有限公司 一种对象处理方法、装置、设备和存储介质
CN114827741A (zh) * 2021-01-18 2022-07-29 武汉斗鱼鱼乐网络科技有限公司 直播流管理方法、装置、电子设备及存储介质
CN113810775B (zh) * 2021-09-13 2023-04-07 上海哔哩哔哩科技有限公司 语音视频连线***和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223396A (zh) * 2011-05-12 2011-10-19 杭州动量云霄网络技术有限公司 计算机***中云计算业务逻辑与用户界面关联***与方法
CN106792188A (zh) * 2016-12-06 2017-05-31 腾讯数码(天津)有限公司 一种直播页面的数据处理方法、装置和***
CN107818706A (zh) * 2017-10-30 2018-03-20 中科汉华医学科技(北京)有限公司 一种医院远程直播式教学培训***
CN107979635A (zh) * 2017-10-24 2018-05-01 广东康美通信息服务有限公司 基于微服务的***、方法及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791208B1 (ko) * 2016-01-12 2017-10-31 네이버 주식회사 생중계 데이터를 공유하는 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223396A (zh) * 2011-05-12 2011-10-19 杭州动量云霄网络技术有限公司 计算机***中云计算业务逻辑与用户界面关联***与方法
CN106792188A (zh) * 2016-12-06 2017-05-31 腾讯数码(天津)有限公司 一种直播页面的数据处理方法、装置和***
CN107979635A (zh) * 2017-10-24 2018-05-01 广东康美通信息服务有限公司 基于微服务的***、方法及存储介质
CN107818706A (zh) * 2017-10-30 2018-03-20 中科汉华医学科技(北京)有限公司 一种医院远程直播式教学培训***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于云服务的移动视频直播***的设计与实现;孙恒;《现代教育技术》;20171231;全文 *

Also Published As

Publication number Publication date
CN109634597A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
CN109634597B (zh) 数据处理方法、装置、电子设备及存储介质
US8819549B2 (en) Method and system for mutidimensional virtual online support center
US20140344286A1 (en) Method and apparatus for displaying webcast roomss
WO2014183427A1 (en) Method and apparatus for displaying webcast rooms
CN104363476A (zh) 一种基于在线直播的组队活动方法、相关装置及***
KR102085383B1 (ko) 그룹 채팅 서비스를 이용하는 단말 및 이의 운용 방법
CN107534679B (zh) 用于针对通信会话的端点控制的方法和***
WO2022041731A1 (zh) 消息推送方法、装置及电子设备
CN105472430A (zh) 通过智能电视控制移动终端响铃的方法、设备及***
CN104902295A (zh) 智能电视业务实现方法、终端设备和***
WO2017220004A1 (zh) 视频会话方法及装置
CN113573083A (zh) 连麦直播互动方法、装置及计算机设备
WO2023093452A1 (zh) 资源交互方法、装置、终端及存储介质
JP2022021294A (ja) 生放送室でのユーザコミュニケーションのための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
CN114554134B (zh) 配置音视频会议的方法、装置、服务器和存储介质
WO2023103759A1 (zh) 服务调用方法、***、装置、设备及存储介质
CN114268812A (zh) 直播间虚拟资源赠送方法、装置、计算机设备及存储介质
CN106375784A (zh) 评论节目和提供节目的评论信息的方法和装置
CN110674040A (zh) 应用的测试方法、装置、设备和存储介质
CN105577603A (zh) 一种播放多媒体消息的方法及装置
CN112770171A (zh) 一种内容显示方法、装置、***、设备及存储介质
CN115720121A (zh) 设备联动实时播报方法、装置、存储介质、计算机设备
CN114449301B (zh) 物品发送方法、装置、电子设备和计算机可读存储介质
CN115379279A (zh) 多屏联动的交互方法及装置、***、存储介质、电子设备
CN113891162A (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