CN117336515A - 基于区块链的直播数据处理方法及相关设备 - Google Patents
基于区块链的直播数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN117336515A CN117336515A CN202311376156.5A CN202311376156A CN117336515A CN 117336515 A CN117336515 A CN 117336515A CN 202311376156 A CN202311376156 A CN 202311376156A CN 117336515 A CN117336515 A CN 117336515A
- Authority
- CN
- China
- Prior art keywords
- live
- live broadcast
- information
- client
- target
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 description 35
- 238000003062 neural network model Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000035945 sensitivity Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- 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/50—Network services
- H04L67/55—Push-based network services
-
- 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
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- 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/488—Data services, e.g. news ticker
- H04N21/4882—Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例公开了一种基于区块链的直播数据处理方法及相关设备,方法包括:接收主播客户端发送的交易数据;交易数据包括主播客户端发起的目标直播对应的直播数据流,直播数据流包括一条或多条直播信息;基于交易数据在区块链上生成针对直播数据流的交易回执,交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;向已订阅目标直播的观众客户端推送直播事件,以使观众客户端响应直播事件,并将直播事件中的直播信息显示在观众客户端的直播界面上;可有效降低带宽消耗。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的直播数据处理方法及相关设备。
背景技术
在直播应用中,直播方所产生的直播数据流可以推送至直播平台后台,在直播平台后台接收到直播数据流之后,观众客户端可以从直播平台后台中拉取对应的直播数据流以进行直播显示。当同一时刻存在大量的观众客户端来进行拉取操作时,为避免造成拥堵,保证各个观众客户端的直播显示的流畅性,通常需要占用较大的带宽。
发明内容
本申请实施例提供了一种基于区块链的直播数据处理方法及相关设备,可以在保证观众客户端的直播显示的流畅性的同时,有效降低带宽消耗。
第一方面,本申请实施例提供了一种基于区块链的直播数据处理方法,包括:
接收主播客户端发送的交易数据;所述交易数据包括所述主播客户端发起的目标直播对应的直播数据流,所述直播数据流包括一条或多条直播信息;
基于所述交易数据在区块链上生成针对直播数据流的交易回执,所述交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;
向已订阅所述目标直播的观众客户端推送直播事件,以使所述观众客户端响应所述直播事件,并将直播事件中的直播信息显示在所述观众客户端的直播界面上。
第二方面,本申请实施例提供了一种基于区块链的直播数据处理装置,包括:
接收单元,用于接收主播客户端发送的交易数据;所述交易数据包括所述主播客户端发起的目标直播对应的直播数据流,所述直播数据流包括一条或多条直播信息;
处理单元,用于基于所述交易数据在区块链上生成针对直播数据流的交易回执,所述交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;
发送单元,用于向已订阅所述目标直播的观众客户端推送直播事件,以使所述观众客户端响应所述直播事件,并将直播事件中的直播信息显示在所述观众客户端的直播界面上。
第三方面,本申请实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,其中,存储器用于存储计算机程序,该计算机程序包括程序指令,处理器被配置用于调用该程序指令,执行上述方法中的部分或全部步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时,用于执行上述方法中的部分或全部步骤。
第五方面,本申请实施例还提供了一种计算机程序产品或者计算机程序,该计算机程序产品或计算机程序包括程序指令,该程序指令被处理器执行时可实现上述方法中的部分或全部步骤。
本申请实施例,可以接收主播客户端发送的交易数据;该交易数据可以包括主播客户端发起的目标直播对应的直播数据流,直播数据流可以包括一条或多条直播信息;还可以基于交易数据在区块链上生成针对直播数据流的交易回执,该交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;进一步的,可以向已订阅目标直播的观众客户端推送直播事件,以使观众客户端响应直播事件,并将直播事件中的直播信息显示在观众客户端的直播界面上。通过实施上述方法,可以在保证各个观众客户端的直播显示的流畅性的同时,有效降低带宽消耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种数据共享系统的示意图;
图1b是本申请实施例提供的一种区块组成的结构示意图;
图1c是本申请实施例提供的一种新区块产生的流程图;
图2是本申请实施例提供的一种基于区块链的直播数据处理方法的流程示意图;
图3是本申请实施例提供的另一种基于区块链的直播数据处理方法的流程示意图;
图4是本申请实施例提供的又一种基于区块链的直播数据处理方法的流程示意图;
图5是本申请实施例提供的一种基于区块链的直播数据处理装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
本申请实施例涉及区块链网络,下面对区块链网络的相关术语及概念进行简要介绍:
区块链网络10是指用于进行节点与节点之间数据共享的网络,区块链网络中可以包括多个节点101,其中,该多个节点101中可以包括共识节点、全节点、轻节点(如SPV(Simplified Payment Verification,简单支付验证)节点)等各种类型的节点。全节点可以是指维护有区块链网络中完整的区块链的节点,轻节点可以是指维护有区块链中区块头的节点,轻节点可以理解为未拥有完成区块链的节点。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。
其中,区块链网络中的不同节点可以存储一条相同的区块链,该区块链包括一系列按照产生的先后时间顺序相互接续的区块(Block)。此处的节点可以是指维护有区块链网络中完整的区块链的节点,如上述的全节点,共识节点等。如图1a中所示的区块1、区块M-1等等,M为大于1的正整数;新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链网络中节点提交的记录数据。为了保证区块链网络内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer)通信,具体可以通过有线通信链路或无线通信链路进行点对点通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
客户端102可以接入该区块链网络,并可以与区块链网络中的节点进行通信,例如,向节点发送交易数据等等。其中,客户端102所在的终端具体可以是智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端等,本申请实施例不做限定。
需要说明的是,图1a中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点,该节点可以是指接入网络中的任意形式的计算设备,例如服务器、终端均可以加入而成为节点。
其中,对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有区块链网络中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链网络中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息,表中仅以IP地址为例进行说明。
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
其中,区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值(或称之为默克尔根哈希值、merkle_root等)、父区块的区块头特征值(或称之为prev_hash等)、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
其中,在生成区块链中的各个区块时,参见图1c,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
其中,区块链网络的节点上可以运行智能合约,智能合约是一种运行在区块链上的不可篡改、自动执行的计算机程序,智能合约是用于在满足一定条件时而执行的代码实现,开发人员可以通过编程语言定义合约逻辑,发布到区块链上(智能合约注册),根据合约条款的逻辑,调用密钥或者其他的事件触发执行,完成合约逻辑,同时还提供对智能合约升级、注销的功能。
基于上述区块链网络的相关介绍,本申请实施例提出了一种基于区块链的直播数据处理方案,以在保证观众客户端的直播显示的流畅性的同时,尽可能降低带宽消耗。在一些可行的实施方式中,该直播数据处理方案可以由计算机设备执行,该计算机设备可以是区块链网络中的任一区块链节点,或者,该区块链节点可以是指直播平台后台连接到区块链网络中的节点。该直播数据处理方案的原理如下:当主播开启一场直播时,区块链节点可以接收主播对应的主播客户端所发送的交易数据,该交易数据可以包括主播客户端发起的目标直播对应的直播数据流,该直播数据流可以包括一条或多条直播信息;区块链节点在接收到该交易数据之后,可以生成对应的交易回执,该交易回执中可以包括针对每条直播信息的直播事件,并可以向已订阅目标直播的观众客户端推送直播事件,以使观众客户端响应所述直播事件,并将直播事件中的直播信息显示在观众客户端的直播界面上。
基于上述描述可知,本方案提出了一种基于区块链事件机制的直播平台,通过这种直播方式,相比于利用一个后台服务器为大量的观众客户端进行直播服务,本方案中的观众客户端可以连接一个去中心化的区块链节点,不用全部涌到一个后台服务器上拿直播数据,而是可以分散的去获取直播数据,并在获取到数据之后,在各自的观众客户端上处理推送的直播数据,并显示在观众客户端的直播界面上,从而可以有效节省主播方对宽带的需要,即可以在保证各个观众客户端的直播显示的流畅性的同时,可以有效降低带宽需求。并且,相比于利用一个后台服务器为大量的观众客户端进行直播服务的场景,由于直播流数据均是存储在后台服务器中,则存在流量中心化的问题,如果后台服务器存在异常,则有可能影响后台服务器中数据的可用性,也就是说流量中心化容易存在单点故障风险,而本方案可以通过给予去中心化的直播事件,也可以有效避免单点故障的风险。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
请参见图2,图2是本申请实施例提供的一种基于区块链的直播数据处理方法的流程示意图,本申请实施例的直播数据处理方法主要是从区块链节点一侧进行描述的,如图2所示,该基于区块链的直播数据处理方法可包括:
S201,接收主播客户端发送的交易数据。
其中,交易数据可以包括主播客户端发起的目标直播对应的直播数据流,目标直播可以是指任一场直播,例如,该目标直播可以是球赛文字直播,新闻直播等等;直播数据流中可以包括一条或多条直播信息、目标直播的直播标识、每条直播信息的直播时间等等;直播标识可以用于唯一指示一场直播;一条直播信息的直播时间可以是指主播客户端侧产生该直播信息的时间。示例性的,在目标直播为文字类直播时,直播信息可以是需推送给观众客户端的文字(如可简称为推送文字)。
在一种实现方式中,当在直播过程中,主播可以利用对应的主播客户端开启一场直播(如此处的目标直播),在主播客户端产生了对应的直播数据流之后,主播客户端可以将直播数据流以交易的形式提交给区块链节点,即区块链节点可以接收到主播客户端发起的目标直播对应的直播数据流的交易数据。
需要理解的是,主播客户端这边具有推送打包的功能,且可以在推送中添加一条或多条直播信息(如推送文字),即可以在同一个交易中将一条或多条直播信息推送给区块链节点。
其中,一个交易数据中的直播信息的信息数量不作限定,每个交易数据中的信息数量可以是固定不变的,也可以是动态变化的,即每个交易数据中的直播信息的信息数量可以是不同的,总的来说,主播客户端可以实现一段时间的信息推送。
在一个实施例中,可以设置一个交易数据中可存在的交易信息的信息数量,即每个交易数据中的信息数量是固定不变的。在这种情况下,在主播客户端产生了数量为信息数量的直播信息之后,主播客户端可以将这些直播信息打包为一个交易数据,并将该交易数据发送给区块链节点。示例性的,假设主播客户端在当前时间已产生了推送A、推送B、推送C这三条推送文字,则可以将推送A、推送B以及推送C打包为一个交易数据。
基于此可知,在主播客户端这一侧,主播客户端可以实时监测当前所生成的直播信息的数量,如果数量已达到预先设置的信息数量,则可以将数量为该信息数量的直播信息打包为一个交易数据,并将交易数据发送给区块链节点。换言之,交易数据是基于主播客户端监测到当前所生成的直播信息的数量达到预先设置的信息数量,并将该直播信息进行打包生成的。
在一个实施例中,可以预先设置进行打包操作的时间间隔,在这种情况下,该信息数量可以是基于时间间隔所确定的,如可以将一个时间间隔内所产生的直播信息打包为一个交易数据,此时交易数据中的信息数量是动态变化的。其中,该时间间隔不作具体限定,如该时间间隔可以是5秒,即将每5秒中所产生的直播信息打包为一个交易数据。示例性的,主播客户端在某一时间间隔内产生了推送A、推送B这两条推送文字,则可以将推送A和推送B打包为一个交易数据。
基于此可知,在主播客户端这一侧,主播客户端可以实时监测当前时间是否已达到进行打包操作的时间间隔所对应的时间,如果当前时间已达到时间间隔所对应的时间,则可以将该时间间隔所产生的直播信息打包为一个交易数据,并将交易数据发送给区块链节点。换言之,交易数据是基于主播客户端监测到当前时间是否已达到进行打包操作的时间间隔所对应的时间,并将该时间间隔所产生的直播信息进行打包生成的。
在一个实施例中,可以预先设置进行打包操作的数据量,在这种情况下,该信息数量可以是基于数据量大小所确定的。
基于此可知,在主播客户端这一侧,主播客户端可以实时统计当前时间已产生的直播信息的实时数据量,如果实时数据量已达到预先设置的数据量,则将所产生的直播信息打包为一个交易数据,并将交易数据发送给区块链节点。换言之,交易数据是基于主播客户端监测到当前时间所产生的直播信息的实时数据量已达到进行打包操作的数据量,并将该直播信息进行打包生成的。
在一种实现方式中,本申请提出的基于区块链的直播数据处理方法可以通过调用部署在区块链上的直播合约执行,应理解,本申请中的直播合约包含有完成一个直播任务的执行逻辑,即可以调用直播合约执行步骤S201-S203。即主播客户端可以调用直播合约实现目标直播中直播信息的推送。
在一种实现方式中,区块链节点在接收到交易数据之后,还可以对该交易数据进行安全性校验,以保证安全、干净的网络生态环境。在这种情况下,可以对交易数据进行安全性校验,以得到对应的校验结果;如果校验结果为该交易数据为安全数据,则执行后续步骤S202,如果校验结果为该交易数据为非安全数据,则将该交易数据进行过滤,也就不执行后续步骤S202。
可选的,在直播过程中,也可能出现一些违规信息,污染网络生态环境,则该安全性校验可以是指检测交易数据中是否存在违规信息,如果检测出交易数据不存在违规信息,则对应的校验结果为该交易数据为安全数据,如果检测出交易数据存在违规信息,则对应的校验结果为该交易数据为非安全数据。
其中,违规信息的检测可以通过调用预先训练好的神经网络模型来实现的,例如,可以将交易数据输入该神经网络模型,而该神经网络模型的输出即为对应的校验结果;或者,违规信息的检测也可以利用关键信息匹配的方式来实现的;等等。
在一个实施例中,除了进行违规信息的识别之外,还可以进行违规信息的违规类别的识别,即在识别出交易数据中存在违规信息时,还可以识别出该违规信息的违规类别。例如,该违规类别也可以通过调用神经网络模型得到的,如神经网络可以进行违规信息的识别,且在识别出违规信息时,也可以识别出该违规信息的违规类别。或者也可以利用其他方式进行违规类别的识别,对此不作限定。
在一个实施例中,在可识别出违规类别的情况下,还可以结合违规类别来确定是否执行步骤S202。可选的,在对交易数据进行安全性校验,且对应的校验结果为该交易数据为非安全数据的情况下,可以获取该交易数据的违规类别;进而基于该违规类别确定对交易数据的处理方式。其中,不同的违规类别可以对应不同的处理方式;在一个实施例中,可以预先设置参考违规类别与参考处理方式之间的映射关系;例如,对于违规程度较高的参考违规类别,可以其对应的参考处理方式设置为将交易数据过滤,即不执行步骤S202,对于违规程度较低的参考违规类别,可以将其对应的参考处理方式设置为向主播客户端发送警告提示信息。或者,也可以以其他方式设置映射关系,对比不作限定。
基于此可知,基于违规类别确定对交易数据的处理方式的具体实现可以是:将参考违规类别与映射关系中的参考违规类别进行匹配,并将匹配到的参考违规类别对应的参考处理方式,作为违规类别的处理方式。
可选的,在直播过程中,也可能存在一些经常出现违规操作的主播对象,为保证安全的直播环境,这些主播对象是不允许进行直播的,在这种情况下,可以预先设置一个参考名单,该参考名单中存在不允许进行直播的主播对象的对象标识,为方便描述,可以将参考名单中的对象标识称之为是参考标识。其中,参考名单中不允许进行直播的主播对象可以理解为违规对象。
基于此可知,安全性校验也可以是指检测主播客户端对应的主播对象是否为违规对象,如果检测出该主播对象不为违规对象,则对应的校验结果为该交易数据为安全数据,如果检测出该主播对象为违规对象,则对应的校验结果为该交易数据为非安全数据。在一个实施例中,检测主播客户端对应的主播对象是否为违规对象的具体实现可以是:获取主播客户端对应的主播对象的主播标识,如果该主播标识存在于参考名单中,则可以确定该主播对象为违规对象,如果该主播标识不存在于参考名单中,则可以确定该主播对象不为违规对象。其中,主播标识可以携带在交易数据中,即可以直接从交易数据中获取主播对象的对象标识。
其中,该参考名单可以是相关人员预先设置的,也可以是基于实时的特征参数确定的。可选的,该参考名单中的参考标识是基于各个主播对象在历史时间段内进行直播时出现违规信息的违规次数所确定的。其中,历史时间段可以是指位于当前时间之前,且与当前时间间隔预设时长(例如1天、一周等)的时间段,此处的当前时间可以是指检测到存在设置参考名单的设置需求的时刻。
在一个实施例中,可以统计各个主播对象在历史时间段内进行直播时出现违规信息的违规次数,如果某一主播对象对应的违规次数超过预设次数,则可以将该主播对象的对象标识添加至参考名单中;而如果某一主播对象对应的违规次数不超过预设次数,则可以不将该主播对象的对象标识添加在参考名单中,此时需要注意的是,如果该主播对象的对象标识已存在于该参考名单中,则可以将该对象标识从参考名单中过滤出来。此处的各个主播对象可以指通过利用区块链节点实现直播操作的主播。
其中,该参考名单可以是固定不变的,或者,也可以定期更新的,即该参考名单是动态变化的。其中,更新周期可以预先设置,如可以是一天或一周等,对此不作限定。
S202,基于交易数据在区块链上生成针对直播数据流的交易回执,交易回执中包括针对每条直播信息的直播事件,任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上。
在一种实现方式中,在区块链节点接收到交易数据之后,可以解析出该交易数据中直播数据流所包括的直播信息,以基于这些直播信息生成一个交易回执;具体实现中,可以将直播数据流中的直播进行分段后,以事件日志的形式显示在交易回执中,即该交易回执中可以包括针对每条直播信息的事件,如可以将此处的事件称之为是直播事件。其中,此处的分段可以是指将多条直播信息进行分段,以针对每条直播信息生成对应的直播事件;任一条直播信息的直播事件可以用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上。
例如,假设交易数据中存在推送A、推送B、推送C这三条推送文字,则可以针对推送A的直播事件,推送B的直播事件以及推送C的直播事件。
如前所述,步骤S202可以通过调用直播合约来实现的,则区块链节点可以调用直播合约解析交易数据中的直播信息,以得到交易数据中所包括的一条或多条直播信息,并可以将每条直播信息以事件日志的形式显示在交易回执中。
在一种实现方式中,在直播数据流包括多条直播信息时,可以以并行方式或串行方式生成多条直播信息的直播事件。在以串行方式生成多条直播信息的直播事件时,这多条直播信息的直播事件的生成存在对应的生成顺序。
在一个实施例中,一个交易回执中针对多条直播信息的直播事件的生成顺序可以是随机的,也可以是按照直播信息的直播时间的先后顺序依次生成多条直播信息的直播事件。可以理解的是,当一个直播信息先执行针对直播事件的生成操作,也可将先得到的直播事件推送给观众客户端,那么在后续持续性的将直播事件推送给观众客户端时,可以依照直播信息的直播时间来依次推送给观众客户端,那么在观众客户端这一侧,也可以依照直播信息的直播时间保证直播信息显示的有序性。
例如,假设直播数据流中包括3条直播信息,且这3条直播信息按照直播时间的先后顺序排列依次为:信息1、信息2、信息3;则在生成每条直播信息的直播事件时,可以依照信息1、信息2、信息3的顺序依次生成信息1的直播事件、信息2的直播事件、信息3的直播事件。
S203,向已订阅目标直播的观众客户端推送直播事件,以使观众客户端响应直播事件,并将直播事件中的直播信息显示在观众客户端的直播界面上。
在一种实现方式中,区块链节点在进行直播事件的推送时,可以是将一个交易回执中的所有直播事件同时推送给观众客户端;也可以是按照直播事件中直播信息的直播时间的先后顺序依次推送一个交易回执的直播事件,以保证信息显示的有序性。
需要说明的是,直播事件中可以包括直播信息对应的直播时间,即在观众客户端接收到区块链节点推送的直播事件之后,可以按照直播时间的先后顺序来依次显示各个直播事件中的直播信息。在观众客户端接收到直播事件之后,可以对该直播事件进行解析,以解析直播事件中的事件内容,该事件内容也就是直播信息,在解析出直播信息之后,即可以将直播信息显示在直播界面上。
在一种实现方式中,观众客户端可以在区块链节点注册针对目标直播的订阅服务,以使得区块链节点可以向观众客户端推送目标直播的直播数据流,继而使得观众客户端可以实现直播显示。
基于此可知,观众客户端可以向区块链节点发送注册订阅服务的订阅注册请求;该订阅注册请求可以包括目标直播的直播标识,观众客户端用于接收直播信息的信息接收地址。其中,在该订阅注册请求中携带直播标识,表明观众客户端需要订阅该直播标识对应的直播(即目标直播),以便于区块链节点可以将目标直播的直播事件推送给观众客户端;信息接收地址是便于区块链节点可以将直播事件推送到一个具体的地址,该地址也就是观众客户端可接收信息的地址。
考虑到区块链节点在接收到交易数据之后,对该交易数据执行一系列的操作,如可在区块链上生成对应的区块;因此,针对该交易数据而言,可以包括各种类型的数据。基于此可知,在该订阅注册请求中还可以包括订阅数据类型,如此处的订阅数据类型可以是交易回执类型,即观众客户端仅订阅交易数据对应的交易回执,以便于后续在区块链对交易数据进行处理之后,仅将该交易数据对应的交易回执中的直播事件进行推送。
区块链节点可以接收观众客户端所发送的订阅注册请求,则在区块链节点接收到该订阅注册请求之后,可以响应该订阅注册请求,以实现观众客户端的订阅服务的注册。具体地,区块链节点可以检测订阅注册请求中是否存在针对直播的直播标识,如果存在对应的直播标识,则区块链节点可以确定观众客户端所要订阅的直播为该直播标识对应的直播,便于后续可以对观众客户端推送关于该直播的直播事件。在一个实施例中,可以将订阅注册请求中观众客户端的信息接收地址写入直播合约中,便于后续可以从直播合约中查询直播事件所要推送到的地址,并可将直播事件推送到一个具体的地址。基于上述描述,在确定订阅注册请求中存在直播对应的直播标识,并在将信息接收地址成功写入直播合约时,即可以确定观众客户端为已订阅目标直播的客户端。
在一个实施例中,此处的观众客户端所发起的订阅注册请求也可以发送到区块链网络中的共识节点进行共识验证,并在共识验证通过之后,才可以将订阅注册请求中观众客户端的信息接收地址写入直播合约。
基于上述描述可知,在区块链节点生成对应的直播事件后,可以将所生成的直播事件推送给订阅过该目标直播的观众客户端,具体实现中,步骤S203的具体实现可以是:区块链节点可以从直播合约中查询已订阅目标直播的观众客户端的信息接收地址,并向信息接收地址推送直播事件。
在一种实现方式中,观众客户端可以不间断地监测区块链上最新生成的交易回执,如果观众客户端到监测到区块链上存在有直播的交易回执,且该直播为观众客户端所订阅的目标直播,则观众客户端可以从区块链上获取对应的交易回执中的直播事件。在这种情况下,观众客户端可以向区块链节点发送针对目标直播的事件获取请求,在区块链节点接收到该事件获取请求之后,该区块链节点可以响应该事件获取请求,并发送对应的直播事件,从而使得观众客户端可以获取到对应的直播事件。可见,观众客户端可以通过监测链上数据,实时展现目标直播的直播内容。
在本申请实施例中,可以基于事件进行直播,后台可以负责将滚动直播的直播信息上链,前端可以监测链上的直播事件,并显示在前端界面上。由于前端是分布式的(如每个观众都可以利用各自的观众客户端观看直播),则是由各个前端连接去中心化的区块链节点,不用大量的观众客户端涌到一个后台服务器上拉取直播数据,而是可以分散的去获取直播数据,并在获取到直播数据之后,在各自的观众客户端上上处理推送的直播数据,并显示在直播界面上,即可以利用分布式的方式有效减轻中心化后台服务器的压力,节省主播方对宽带的需要,即可以在保证各个观众客户端的直播显示的流畅性的同时,可以有效降低带宽需求;同时,可以通过给予去中心化的直播事件,也可以有效避免单点故障的风险。
基于上述实施例,本申请实施例提供了另一种基于区块链的直播数据处理方法,本申请实施例的数据处理方法主要是从区块链节点一侧进行描述的,请参阅图3,该基于区块链的直播数据处理方法包括但不限于以下步骤:
S301,接收主播客户端发送的针对目标直播的直播注册请求。
在一种实现方式中,为使得主播客户端具备利用区块链向观众客户端推送目标直播的直播数据流的推送权限,主播对象在直播前,可以在区块链节点上对该目标直播进行注册,当该目标直播在区块链节点上成功注册后,即表明主播客户端具备对应的推送权限。
基于此可知,主播客户端需要先在区块链节点上注册目标直播的推送权限,其具体实现可以是:主播客户端可以向区块链节点发送针对目标直播的直播注册请求,该直播注册请求用于请求注册针对目标直播的推送权限。
在一种实现方式中,主播对象也可以将目标直播的直播发布授权给其他直播对象,即该目标直播可以通过主播对象的主播客户端进行直播,也可以通过其他主播对象的主播客户端进行直播,此处的其他主播对象的数量可以是一个或多个。为方便描述,可以将此处其他主播对象称之为是共享主播对象,其他主播对象的主播客户端称之为是共享主播客户端。
在这种情况下,为使得共享主播对象也可以对该目标直播进行直播,该直播注册请求中还可以携带共享标识,以将直播发布资格授权给各个共享主播对象,使得各个共享主播对象具有对目标直播进行发布的权限。其中,该共享标识可以是共享主播对象的对象标识、共享主播客户端的设备标识中的一种或多种。此处为完成共享主播对象对目标直播进行发布的权限授权,可以将共享标识写入直播合约中,只有成功写入直播合约中的共享标识才表明对应的共享主播具有对目标直播进行发布的权限。
在一种实现方式中,在将目标直播的发布授权给共享主播对象时,共享主播对象还需要向主播对象转移对应的资源量。在这种情况下,共享主播对象可以通过共享主播客户端提交对应的共享资源量,在区块链节点获取到该共享资源量之后,可以将该共享资源量与标准资源量进行比较,如果该共享资源量大于或等于标准资源量,则对共享主播对象的发布权限进行授权,如果该共享资源量小于标准资源量,则不对共享主播对象的发布权限进行授权,并可以向共享主播客户端返回直播授权失败的提示信息。其中,标准资源量为共享主播客户端具备针对目标直播的发布权限所需要的资源量。
S302,响应直播注册请求,并获取主播客户端发起的目标直播的直播标识。
在一种实现方式中,在区块链节点接收到该直播注册请求后,可以响应该直播注册请求,以实现目标直播的推送权限的注册。可选的,实现直播的推送权限的注册的要求可以是将直播的直播标识写入直播合约中,基于此可知,区块链节点可以获取主播客户端发起的目标直播的直播标识。
其中,直播标识可以用于唯一指示目标直播,即不同的直播对应不同的直播标识。直播标识可以携带在直播注册请求中,则可以直接从直播注册请求中获取目标直播对应的直播标识;或者,该直播标识是由区块链节点生成的,例如,在区块链节点接收到针对目标直播的直播注册请求之后,可以即时生成该目标直播的直播标识。
S303,将目标直播的直播标识写入直播合约中,直播合约中的直播标识用于指示主播客户端具备利用区块链向观众客户端推送目标直播的直播数据流的推送权限。
在一种实现方式中,目标直播的直播标识可以直接写入直播合约中,或者,也可以是在该直播注册请求通过共识验证后,才允许将目标直播的直播标识写入直播合约。在这种情况下,区块链节点可以将直播注册请求发送区块链网络中的共识节点,以使得区块链网络中的共识节点可以对主播客户端具备利用区块链向观众客户端推送目标直播的直播数据流的推送权限进行共识;而在共识节点确定对应的共识结果之后,可以将对应的共识结果返回给区块链节点,则区块链节点可以接收区块链网络中的共识节点所返回的共识结果,进而基于共识节点的共识结果将目标直播的直播标识写入直播合约中。
其中,共识节点的数量可以为一个或多个,任一共识节点的共识结果可以包括:任一节点确定直播注册请求通过共识的结果,或者任一节点确定直播注册请求未通过共识的结果;在这种情况下,基于共识节点的共识结果将目标直播的直播标识写入直播合约中的具体实现可以是:
可以统计共识节点的共识结果中目标共识结果的数量;目标共识结果可以为确定直播注册请求通过共识的结果;然后,可以计算目标共识结果的数量与共识结果的数据之间的比例,并将该比例与预设比例进行比较。如果该比例大于或等于预设比例,则可以确定该直播注册请求通过共识验证,并可以将目标直播的直播标识写入直播合约中。如果该比例小于预设比例,则可以确定该直播注册请求未通过共识验证,并不允许将目标直播的直播标识写入直播合约中。
其中,预设比例可以预先设置,其具体数值不作限定;例如,该预设比例可以是2/3,4/5等数值。
在一种实现方式中,为使得主播方可以具备利用区块链实现关于直播的推送权限的功能,主播方还可以向区块链节点转移需使用该功能的资源量;即主播客户端可以向区块链节点转移对应的资源量,在区块链节点确定接收到主播客户端转移的资源量后,才允许区块链节点对推送权限进行授权。
S304,接收主播客户端发送的交易数据;交易数据包括主播客户端发起的目标直播对应的直播数据流,直播数据流包括一条或多条直播信息。
在一种实现方式中,为保证交易数据在数据传输过程中的安全性,主播客户端可以对该交易数据进行签名,以得到针对该交易数据的签名数据,便于后续在区块链节点接收到交易数据之后,可以基于该签名数据对该交易数据进行签名验证,以保证该交易数据确实是由主播客户端所传输的原始数据,并未篡改后的数据。基于此可知主播客户端可以先对交易数据进行签名,其具体实现可为如下任一方式:
方式一:主播客户端利用私钥对交易数据进行签名,并将签名后的数据作为签名数据。
方式二:主播客户端可以先对交易数据进行哈希计算,以得到对应的哈希结果,在得到该哈希结果之后,可以再利用私钥对该哈希结果进行签名,并可以将签名得到的结果作为签名数据。
其中,本申请实施例所利用到的私钥不作限定,该私钥可以是任一签名算法所对应的私钥。
如前所述,主播客户端可以对交易数据进行签名,并得到对应的签名数据,则在主播客户端在将交易数据发送给区块链节点时,为保证交易数据的安全性,可以将签名数据携带在交易数据中,而该签名数据是主播客户端利用私钥对交易数据进行签名得到的。在这种情况下,区块链节点在接收到交易数据之后,还可以利用签名数据对交易数据进行签名验证,以保证交易数据的安全性,并在通过签名验证的情况下,才可以执行后续的操作。
基于此可知,在区块链节点接收到直播客户端发送的交易数据之后,还可以获取私钥对应的公钥,以利用该公钥以及签名数据对交易数据进行签名验证。其中,当签名数据的生成方式不同时,所利用到的签名验证方式也存在区别。
当签名数据为上述方式一生成的情况下,可先利用公钥对签名数据进行解签处理,得到解签结果,然后直接将该解签结果以交易数据进行比较。如果解签结果与交易数据相同,则可以确定交易数据通过签名验证,并可以触发执行后续步骤S305。如果解签结果与交易数据不相同,则可以确定交易数据未通过签名验证,也就不允许执行后续步骤S305,还可以向主播客户端返回签名验证失败提示信息,以便于主播客户端可以基于该提示信息作相应的调整。
当签名数据为上述方式二生成的情况下,可先利用公钥对签名数据进行解签处理,得到解签结果;并可以对交易数据进行哈希计算,以得到交易数据的哈希结果;再将解签结果与哈希结果进行比较。如果解签结果与哈希结果相同,则可以确定交易数据通过签名验证,并可以触发执行后续步骤S305。如果解签结果与哈希结果不相同,则可以确定交易数据未通过签名验证,也就不允许执行后续步骤S305,还可以向主播客户端返回签名验证失败提示信息。
其中,该步骤的其他具体实现方式可以参考上述步骤S201中的描述,此处不再赘述。
S305,基于交易数据在区块链上生成针对直播数据流的交易回执,交易回执中包括针对每条直播信息的直播事件,任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上。
其中,该步骤的具体实施方式可以参考上述步骤S202中的描述,此处不再赘述。
S306,向已订阅目标直播的观众客户端推送直播事件,以使观众客户端响应直播事件,并将直播事件中的直播信息显示在观众客户端的直播界面上。
在一种实现方式中,如前所述,只有在区块链网络中完成直播的注册之后,才存在利用区块链向观众客户端推送直播的直播数据流的推送权限,则区块链节点在向观众客户端推送直播事件之前,可以先查询针对目标直播的推送权限,在查询到具有针对目标直播的推送权限后,即可以执行步骤S306。参考上述步骤S301中的描述可知,在进行推送权限的注册时,是利用直播的直播标识来实现注册的。
基于此可知,查询针对目标直播的推送权限的具体实现可以是:获取目标直播的直播标识;如果可以从直播合约中查询到目标直播的直播标识,则可以确定目标直播具有推送权限,即可以触发执行向已订阅目标直播的观众客户端推送直播事件的操作;如果未从直播合约中查询到目标直播的直播标识,则可以确定目标直播不具有推送权限,即不可以触发执行向已订阅目标直播的观众客户端推送直播事件的操作。
在一种实现方式中,为使得主播客户端具备对应的推送权限,主播客户端需要转移一定量的资源量,在这种情况下,区块链节点可以获取主播客户端提交的实际资源量,并将实际资源量与预设资源量进行比较;如果实际资源量大于或等于预设资源量,则表明推送权限已授权,并可以触发执行向已订阅目标直播的观众客户端推送直播事件的步骤。如果实际资源量小于预设资源量,则表明推送权限未授权,并不允许触发执行向已订阅目标直播的观众客户端推送直播事件的步骤。
其中,预设资源量可以为主播客户端具备利用区块链向观众客户端推送目标直播的直播数据流的推送权限所需要的资源量。例如,假设预设资源量为100,如果实际资源量为100,即表明可以触发执行步骤S306,而如果实际资源量为80,则表明不可以触发执行步骤S306。
在一种实现方式中,还可以获取事件推送参数,并基于该事件推送参数向已订阅目标直播的观众客户端推送直播事件。其中,该事件推送参数可以包括用于指示直播事件的直播信息中是否存在敏感信息的敏感指示信息、直播信息的信息类型等中的一种或多种。
(1)在事件推送参数为敏感指示信息的情况下。
在一种实现方式中,基于事件推送参数向已订阅目标直播的观众客户端推送直播事件的具体实现可以是:当敏感指示信息为指示直播事件的直播信息中存在敏感信息,可以将该直播事件过滤,即不执行向已订阅目标直播的观众客户端推送直播事件的操作。当敏感指示信息为指示直播事件的直播信息中不存在敏感信息,则可以向已订阅目标直播的观众客户端推送直播事件。
其中,敏感指示信息可以是对直播事件中的直播信息进行敏感性校验得到的,在一个实施例中,可以对直播事件中的直播信息进行敏感性校验,以确定该直播事件中的直播信息是否为敏感信息;如果校验结果为直播信息为敏感信息,则确定对应的敏感指示信息为指示直播事件的直播信息中存在敏感信息;如果校验结果为直播信息不为敏感信息,则确定对应的敏感指示信息为指示直播事件的直播信息中不存在敏感信息。
其中,对直播信息进行敏感性校验的具体实现可以为如下描述:可以预先设置一个敏感库,该敏感库中可以包含大量的敏感词,则在对直播信息进行敏感性校验时,可以将敏感信息与该敏感库中的敏感词进行匹配;如果该敏感信息中可以匹配到敏感库中的敏感词,则可以确定敏感性校验的校验结果为直播信息为敏感信息;如果该敏感信息中匹配不到敏感库中任一敏感词,则可以确定敏感性校验的校验结果为直播信息不为敏感信息。
(2)在事件推送参数为订阅信息类型的情况下。
基于事件推送参数向已订阅目标直播的观众客户端推送直播事件的具体实现可以是:获取直播事件中直播信息的信息类型,并获取观众客户端的订阅信息类型;在获取到这两种类型之后,可以将直播信息的信息类型与观众客户端对应的订阅信息类型进行匹配;如果该信息类型与订阅信息类型一致,则可以将向已订阅目标直播的观众客户端推送直播事件;如果该信息类型与订阅信息类型不一致,则可以不执行向已订阅目标直播的观众客户端推送直播事件的步骤。可见,通过这种方式,可以基于直播信息的信息类型来选择性的进行直播事件的推送,以保证推送的直播信息为观众所感兴趣的信息;并且,不同的观众客户端可以基于各自的订阅信息类型针对性的进行直播事件的推送,以有效提高推送个性化。
其中,不同直播场景下的直播所对应的信息类型可能存在不同,例如,在球赛类型的文字直播场景中,直播信息的信息类型可以包括:比分结果的类型、球员信息介绍的类型、赢球分析的类型、输球分析的类型等等。在产品介绍的文字直播场景中,直播信息的信息类型可以包括:产品适用人群信息的类型、产品参数介绍的类型、产品技术团队的信息类型等等。
其中,观众客户端的订阅信息类型的数量可以包括一个或多个。例如,假设观众客户端的订阅信息类型包括比分结果的类型、赢球分析的类型、输球分析的类型;如果直播事件中的直播信息的信息类型为比分结果的类型,则可以将该直播事件推送给观众客户端,而如果直播事件中的直播信息的信息类型为球员信息介绍的类型,则可以不将该直播事件推送给观众客户端。
在一个实施例中,直播信息的信息类型可以是通过调用预先训练好的神经网络模型预测得到的,该神经网络模型可以用于对直播信息的信息类型进行识别。如前所述,不同直播场景下的直播信息的信息类型可能存在区别,则为准确识别出各个直播场景下直播信息的信息类型,可以预先训练出各个直播场景下所对应的神经网络模型,以在不同直播场景下,可以利用相应的神经网络模型来进行类型识别。
基于此可知,获取直播事件中的直播信息的信息类型的具体实现可以是:可以获取目标直播的直播场景(如可以称之为是目标直播场景),并调用与该目标直播场景一致的神经网络模型对直播事件中的直播信息进行类型识别,以得到该直播信息的信息类型。
在一个实施例中,直播信息的信息类型可以是通过关键词匹配方式确定的。例如,可以预先设置针对各个信息类型的关键词,则获取直播事件中的直播信息的信息类型的具体实现可以是:将直播信息与各个信息类型的关键词进行匹配,并将匹配到的信息类型作为直播信息的信息类型。
其中,观众客户端对应的订阅信息类型可以预先设置好的,且可以是已写入直播合约中,则可以从直播合约中查询观众客户端对应的订阅信息类型。在一个实施例中,观众对象在通过观众客户端发送订阅注册请求时,在该订阅注册请求中可以携带对应的所要订阅的信息类型(即订阅信息类型),则在区块链节点获取到该订阅注册请求后,可以将该订阅注册请求所携带的订阅信息类型写入直播合约中,以便于后续在进行直播事件的推送时,可以从直播合约中查询观众客户端的订阅信息类型。
(3)在事件推送参数为敏感指示信息以及订阅信息类型的情况下。
基于事件推送参数向已订阅目标直播的观众客户端推送直播事件的具体实现可以是:如果敏感指示信息为指示直播事件的直播信息中存在敏感信息,则不执行推送操作;如果敏感指示信息为指示直播事件的直播信息中不存在敏感信息,则可以进一步获取该直播信息的信息类型,并获取观众客户端对应的订阅信息类型;将直播信息的信息类型与观众客户端的订阅信息类型进行匹配,如果该信息类型与订阅信息类型一致,则可以执行推送操作,如果该信息类型与订阅信息类型不一致,则可以不执行推送操作。
需要说明的是,除了上述提及的先进行敏感指示信息的判断,再进行信息类型匹配操作之外,也可以是先进行信息类型匹配,再进行敏感指示信息的判断,仅需保证直播信息不为敏感信息,且对应的信息类型与订阅信息类型一致即可。
其中,该步骤的其他具体实现方式可以参考上述步骤S203中的描述,此处不再赘述。
通过上述描述可知,在通过区块链实现直播的过程中,主播对象可以在直播合约中注册对应的直播,以将该场直播的发布资源授权给发布者;如可以先在直播合约中注册目标直播的直播标识。在直播过程中调用直播合约将直播所产生的直播信息进行推送时,可以在推送中添加多条直播信息,然后在直播合约中一并在同一条交易中发出;如前所述,主播客户端可以向区块链节点发送包含一种或多条直播信息的交易数据。在区块链节点接收到该交易数据之后,可以调用直播合约解析交易数据中的直播信息,并将直播信息以事件的形式,显示在交易回执中。而直播平台的前端(可理解为观众客户端)可以不间断地监测最新交易的交易回执,如果有直播的交易回执,并且直播的直播标识为观众客户端所订阅关注的直播,则区块链节点可以推送交易回执中的事件到观众客户端。
为更加理解本申请实施例提出的直播处理数据方法,下述结合图4所示的直播处理数据方法的流程图进一步说明。例如,参见图4所示:主播对象在直播前,可以先在区块链网络中对目标直播进行注册,只有在获取到针对目标直播的推送权限之后,才可以利用区块链实现对目标直播的直播数据流的推送。另外,为实现目标直播的注册,或者说为获取到该推送权限,主播对象还需支付(提交)对应的资源量。在一种实现方式中,主播客户端可以通过直播平台后台完成在区块链网络中目标直播的注册,例如,主播客户端可以向直播平台后台发送直播注册请求,在直播平台后台获取到该直播注册请求之后,可以调用部署在区块链上的直播合约实现目标直播的注册。另一种实现方式中,主播客户端可以通过区块链节点完成目标直播的注册,即主播客户端可以直接向区块链节点发送直播注册请求,在区块链节点获取到该直播注册请求之后,可以调用部署在区块链上的直播合约实现目标直播的注册。
在直播过程中,主播客户端可以产生针对目标直播的直播数据流,并可以将直播数据流通过直播合约以交易的形式提交给区块链节点(如可以是底层链),如区块链节点可以接收到主播客户端发送的交易数据。而在区块链节点接收到该交易数据之后,可以调用直播合约可以解析交易数据中的直播信息,并可以将直播信息分段后以事件(event)日志的形式显示在交易回执中。如图4所示,交易回执中可以包括针对推送A、推送B、推送C分别对应的事件日志。
而对应观众客户端这一侧,观众客户端可以不间断地监测区块链上最新生成的交易回执,如果观众客户端到监测到区块链上存在有直播的交易回执,且该直播为观众客户端所订阅的目标直播,则观众客户端可以从区块链上获取对应的交易回执中的直播事件,并可以将直播事件中的直播信息显示在观众客户端的直播界面上,或者说显示在直播平台前端。
在本申请实施例中,在本申请实施例中,可以基于事件进行直播,后台可以负责将滚动直播的直播信息上链,前端可以监测链上的直播事件,并显示在前端界面上。由于前端是分布式的(如每个观众都可以利用各自的观众客户端观看直播),则是由各个前端连接去中心化的区块链节点,不用大量的观众客户端涌到一个后台服务器上拉取直播数据,而是可以分散的去获取直播数据,并在获取到直播数据之后,在各自的观众客户端上上处理推送的直播数据,并显示在直播界面上,即可以利用分布式的方式有效减轻中心化后台服务器的压力,节省主播方对宽带的需要,即可以在保证各个观众客户端的直播显示的流畅性的同时,可以有效降低带宽需求;同时,可以通过给予去中心化的直播事件,也可以有效避免单点故障的风险。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
图5示出了本申请一个示例性实施例提供的一种基于区块链的直播数据处理装置的结构示意图;该基于区块链的直播数据处理装置可以用于是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的直播数据处理装置可以是计算机设备中的应用程序;该基于区块链的直播数据处理装置可以用于执行图2和图3所示的方法实施例中的部分或全部步骤。请参见图5,该基于区块链的直播数据处理装置包括如下单元:
接收单元501,用于接收主播客户端发送的交易数据;所述交易数据包括所述主播客户端发起的目标直播对应的直播数据流,所述直播数据流包括一条或多条直播信息;
处理单元502,用于基于所述交易数据在区块链上生成针对直播数据流的交易回执,所述交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;
发送单元503,用于向已订阅所述目标直播的观众客户端推送直播事件,以使所述观众客户端响应所述直播事件,并将直播事件中的直播信息显示在所述观众客户端的直播界面上。
在一种实现方式中,所述处理单元502,还用于:
接收所述主播客户端发送的针对所述目标直播的直播注册请求;
响应所述直播注册请求,并获取所述主播客户端发起的目标直播的直播标识;
将所述目标直播的直播标识写入直播合约中,所述直播合约中的直播标识用于指示所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限;
所述发送单元503,具体用于:
获取所述目标直播的直播标识;
若从直播合约中查询到所述目标直播的直播标识,则触发执行所述向已订阅所述目标直播的观众客户端推送直播事件的操作。
在一种实现方式中,所述处理单元502,具体用于:
将所述直播注册请求发送区块链网络中的共识节点,以使得区块链网络中的共识节点对所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限进行共识;
接收区块链网络中的共识节点所返回的共识结果;
基于所述共识节点的共识结果将所述目标直播的直播标识写入直播合约中。
在一种实现方式中,所述共识节点的数量为一个或多个,任一共识节点的共识结果包括:所述任一节点确定直播注册请求通过共识的结果,或者任一节点确定直播注册请求未通过共识的结果;所述处理单元502,具体用于:
统计所述共识节点的共识结果中目标共识结果的数量;所述目标共识结果为确定直播注册请求通过共识的结果;
若所述目标共识节点的数量与共识结果的数量之间的比例大于或等于预设比例,则将所述目标直播的直播标识写入直播合约中。
在一种实现方式中,所述处理单元502,还用于:
获取所述主播客户端提交的实际资源量,并将所述实际资源量与预设资源量进行比较;所述预设资源量为所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限所需要的资源量;
若所述实际资源量大于或等于所述预设资源量,则触发执行所述向已订阅所述目标直播的观众客户端推送直播事件的步骤。
在一种实现方式中,所述处理单元502,还用于:
接收观众客户端发送的注册订阅服务的订阅注册请求,所述订阅注册请求包括所述目标直播的直播标识,所述观众客户端用于接收直播信息的信息接收地址;
响应所述订阅注册请求,并将所述观众客户端的信息接收地址写入直播合约中,确定所述观众客户端为已订阅所述目标直播的客户端;
所述发送单元503,具体用于:
从所述直播合约中查询已订阅所述目标直播的观众客户端的信息接收地址,并向所述信息接收地址推送直播事件。
在一种实现方式中,所述交易数据携带有签名数据,所述签名数据是所述主播客户端利用私钥对所述交易数据进行签名得到的;所述处理单元502,还用于:
获取所述私钥对应的公钥,利用所述公钥对所述签名数据进行解签处理,得到解签结果;
对所述交易数据进行哈希计算,得到所述交易数据的哈希结果;
将所述解签结果与所述哈希结果进行比较;
若所述解签结果与所述哈希结果相同,则触发执行基于所述交易数据生成针对直播信息的交易回执的步骤。
可以理解,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
请参见图6,图6为本申请实施例提供的一种计算机设备的结构示意图。如图6所示,该计算机设备包括:至少一个处理器601、存储器602。可选的,该计算机设备还可以包括网络接口603。其中,处理器601、存储器602以及网络接口603之间可以交互数据,网络接口603受处理器601的控制用于收发消息,存储器602用于存储计算机程序,该计算机程序包括程序指令,处理器601用于执行存储器602存储的程序指令。其中,处理器601被配置用于调用该程序指令执行上述方法。
其中,存储器602可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器602也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory)、固态硬盘(solid-state drive,SSD)等;存储器602还可以包括上述两种或两种以上种类的存储器的组合。
其中,处理器601可以是中央处理器(central processing unit,CPU)。在一个实施例中,处理器601还可以是图形处理器(Graphics Processing Unit,GPU)。处理器601也可以是由CPU和GPU的组合。
在一个可能的实施方式中,存储器602用于存储程序指令,处理器601可以调用该程序指令,执行以下步骤:
接收主播客户端发送的交易数据;所述交易数据包括所述主播客户端发起的目标直播对应的直播数据流,所述直播数据流包括一条或多条直播信息;
基于所述交易数据在区块链上生成针对直播数据流的交易回执,所述交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;
向已订阅所述目标直播的观众客户端推送直播事件,以使所述观众客户端响应所述直播事件,并将直播事件中的直播信息显示在所述观众客户端的直播界面上。
在一种实现方式中,所述处理器601,还用于:
接收所述主播客户端发送的针对所述目标直播的直播注册请求;
响应所述直播注册请求,并获取所述主播客户端发起的目标直播的直播标识;
将所述目标直播的直播标识写入直播合约中,所述直播合约中的直播标识用于指示所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限;
获取所述目标直播的直播标识;
若从直播合约中查询到所述目标直播的直播标识,则触发执行所述向已订阅所述目标直播的观众客户端推送直播事件的操作。
在一种实现方式中,所述处理器601,具体用于:
将所述直播注册请求发送区块链网络中的共识节点,以使得区块链网络中的共识节点对所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限进行共识;
接收区块链网络中的共识节点所返回的共识结果;
基于所述共识节点的共识结果将所述目标直播的直播标识写入直播合约中。
在一种实现方式中,所述共识节点的数量为一个或多个,任一共识节点的共识结果包括:所述任一节点确定直播注册请求通过共识的结果,或者任一节点确定直播注册请求未通过共识的结果;所述处理器601,具体用于:
统计所述共识节点的共识结果中目标共识结果的数量;所述目标共识结果为确定直播注册请求通过共识的结果;
若所述目标共识节点的数量与共识结果的数量之间的比例大于或等于预设比例,则将所述目标直播的直播标识写入直播合约中。
在一种实现方式中,所述处理器601,还用于:
获取所述主播客户端提交的实际资源量,并将所述实际资源量与预设资源量进行比较;所述预设资源量为所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限所需要的资源量;
若所述实际资源量大于或等于所述预设资源量,则触发执行所述向已订阅所述目标直播的观众客户端推送直播事件的步骤。
在一种实现方式中,所述处理器601,还用于:
接收观众客户端发送的注册订阅服务的订阅注册请求,所述订阅注册请求包括所述目标直播的直播标识,所述观众客户端用于接收直播信息的信息接收地址;
响应所述订阅注册请求,并将所述观众客户端的信息接收地址写入直播合约中,确定所述观众客户端为已订阅所述目标直播的客户端;
从所述直播合约中查询已订阅所述目标直播的观众客户端的信息接收地址,并向所述信息接收地址推送直播事件。
在一种实现方式中,所述交易数据携带有签名数据,所述签名数据是所述主播客户端利用私钥对所述交易数据进行签名得到的;所述处理器601,还用于:
获取所述私钥对应的公钥,利用所述公钥对所述签名数据进行解签处理,得到解签结果;
对所述交易数据进行哈希计算,得到所述交易数据的哈希结果;
将所述解签结果与所述哈希结果进行比较;
若所述解签结果与所述哈希结果相同,则触发执行基于所述交易数据生成针对直播信息的交易回执的步骤。
具体实现中,上述所描述的装置、处理器、存储器等可执行上述方法实施例所描述的实现方式,也可执行本申请实施例所描述的实现方式,在此不再赘述。
本申请实施例中还提供一种计算机(可读)存储介质,该计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行时,使处理器可执行上述方法实施例中所执行的部分或全部步骤。可选的,该计算机存储介质可以是易失性的,也可以是非易失性的。计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括程序指令,该程序指令被处理器执行时可实现上述基于区块链的直播数据处理方法中的部分或全部步骤。可选地,该程序指令可以存储在计算机可读存储介质中,计算机设备如计算机设备的处理器从计算机可读存储介质读取该程序指令,处理器执行该程序指令,使得该计算机设备执行上述提供的基于区块链的直播数据处理方法。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个程序指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。程序指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。
程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种基于区块链的直播数据处理方法,其特征在于,所述方法包括:
接收主播客户端发送的交易数据;所述交易数据包括所述主播客户端发起的目标直播对应的直播数据流,所述直播数据流包括一条或多条直播信息;
基于所述交易数据在区块链上生成针对直播数据流的交易回执,所述交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;
向已订阅所述目标直播的观众客户端推送直播事件,以使所述观众客户端响应所述直播事件,并将直播事件中的直播信息显示在所述观众客户端的直播界面上。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收所述主播客户端发送的针对所述目标直播的直播注册请求;
响应所述直播注册请求,并获取所述主播客户端发起的目标直播的直播标识;
将所述目标直播的直播标识写入直播合约中,所述直播合约中的直播标识用于指示所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限;
所述向已订阅所述目标直播的观众客户端推送直播事件,包括:
获取所述目标直播的直播标识;
若从直播合约中查询到所述目标直播的直播标识,则触发执行所述向已订阅所述目标直播的观众客户端推送直播事件的操作。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标直播的直播标识写入直播合约中,包括:
将所述直播注册请求发送区块链网络中的共识节点,以使得区块链网络中的共识节点对所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限进行共识;
接收区块链网络中的共识节点所返回的共识结果;
基于所述共识节点的共识结果将所述目标直播的直播标识写入直播合约中。
4.根据权利要求3所述的方法,其特征在于,所述共识节点的数量为一个或多个,任一共识节点的共识结果包括:所述任一节点确定直播注册请求通过共识的结果,或者任一节点确定直播注册请求未通过共识的结果;所述基于所述共识节点的共识结果将所述目标直播的直播标识写入直播合约中,包括:
统计所述共识节点的共识结果中目标共识结果的数量;所述目标共识结果为确定直播注册请求通过共识的结果;
若所述目标共识节点的数量与共识结果的数量之间的比例大于或等于预设比例,则将所述目标直播的直播标识写入直播合约中。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取所述主播客户端提交的实际资源量,并将所述实际资源量与预设资源量进行比较;所述预设资源量为所述主播客户端具备利用区块链向观众客户端推送所述目标直播的直播数据流的推送权限所需要的资源量;
若所述实际资源量大于或等于所述预设资源量,则触发执行所述向已订阅所述目标直播的观众客户端推送直播事件的步骤。
6.根据权利要求1所述的方法,其特征在于,还包括:
接收观众客户端发送的注册订阅服务的订阅注册请求,所述订阅注册请求包括所述目标直播的直播标识,所述观众客户端用于接收直播信息的信息接收地址;
响应所述订阅注册请求,并将所述观众客户端的信息接收地址写入直播合约中,确定所述观众客户端为已订阅所述目标直播的客户端;
所述向已订阅所述目标直播的观众客户端推送直播事件,包括:
从所述直播合约中查询已订阅所述目标直播的观众客户端的信息接收地址,并向所述信息接收地址推送直播事件。
7.根据权利要求1所述的方法,其特征在于,所述交易数据携带有签名数据,所述签名数据是所述主播客户端利用私钥对所述交易数据进行签名得到的;还包括:
获取所述私钥对应的公钥,利用所述公钥对所述签名数据进行解签处理,得到解签结果;
对所述交易数据进行哈希计算,得到所述交易数据的哈希结果;
将所述解签结果与所述哈希结果进行比较;
若所述解签结果与所述哈希结果相同,则触发执行基于所述交易数据生成针对直播信息的交易回执的步骤。
8.一种基于区块链的直播数据处理装置,其特征在于,所述装置包括:
接收单元,用于接收主播客户端发送的交易数据;所述交易数据包括所述主播客户端发起的目标直播对应的直播数据流,所述直播数据流包括一条或多条直播信息;
处理单元,用于基于所述交易数据在区块链上生成针对直播数据流的交易回执,所述交易回执中包括针对每条直播信息的直播事件;任一条直播信息的直播事件用于指示:将该直播事件中的直播信息显示在观众客户端的直播界面上;
发送单元,用于向已订阅所述目标直播的观众客户端推送直播事件,以使所述观众客户端响应所述直播事件,并将直播事件中的直播信息显示在所述观众客户端的直播界面上。
9.一种计算机设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令被执行时,用于实现如权利要求1-7任一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序指令,所述程序指令被处理器执行时,用于实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311376156.5A CN117336515A (zh) | 2023-10-23 | 2023-10-23 | 基于区块链的直播数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311376156.5A CN117336515A (zh) | 2023-10-23 | 2023-10-23 | 基于区块链的直播数据处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117336515A true CN117336515A (zh) | 2024-01-02 |
Family
ID=89291625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311376156.5A Pending CN117336515A (zh) | 2023-10-23 | 2023-10-23 | 基于区块链的直播数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117336515A (zh) |
-
2023
- 2023-10-23 CN CN202311376156.5A patent/CN117336515A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263585B (zh) | 测试监管方法、装置、设备及存储介质 | |
CN104134021B (zh) | 软件的防篡改验证方法及装置 | |
CN110659441B (zh) | 一种基于区块链的信息发布管理方法及装置 | |
US10880285B2 (en) | Self-driving vehicle test authentication | |
US20170366550A1 (en) | Targeted user access control system | |
CN111680068B (zh) | 一种校验方法、装置、设备及存储介质 | |
WO2020088098A1 (zh) | 一种基于区块链的质量数据处理方法和装置 | |
CN110851288B (zh) | 消息处理方法及装置 | |
CN110324416B (zh) | 下载路径跟踪方法、装置、服务器、终端及介质 | |
CN109672582A (zh) | 全路径监测方法、设备、存储介质及装置 | |
CN113315828B (zh) | 一种流量录制方法、装置及流量录制设备、存储介质 | |
CN110460584B (zh) | 访问请求处理方法、装置、电子设备和计算机可读介质 | |
CN110866265A (zh) | 一种基于区块链的数据存储方法、设备及存储介质 | |
CN110838067B (zh) | 一种房产交易数据处理方法、装置、服务器及存储介质 | |
CN112948224A (zh) | 一种数据处理方法、装置、终端及存储介质 | |
CN111861472A (zh) | 业务监控的处理方法和装置 | |
CN110858211B (zh) | 数据存储方法、装置及系统、存储介质 | |
CN117336515A (zh) | 基于区块链的直播数据处理方法及相关设备 | |
CN116132625A (zh) | 交易流程的监管方法和装置 | |
CN116451191A (zh) | 信息审核方法、装置、电子设备和计算机可读存储介质 | |
CN112135199A (zh) | 基于多类型视频源的视频播放方法及相关设备 | |
CN112148903A (zh) | 一种进行内容审核的数据处理方法及装置 | |
EP4049165B1 (en) | Cross-domain frequency filters for fraud detection | |
CN116506333B (zh) | 交易系统生产反演检测方法及设备 | |
CN115203063B (zh) | 基于实时录制的生产流量重跑风险程序的回放方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |