CN113014947B - 数据推送方法、辅端、主端及数据推送系统 - Google Patents
数据推送方法、辅端、主端及数据推送系统 Download PDFInfo
- Publication number
- CN113014947B CN113014947B CN202110246132.2A CN202110246132A CN113014947B CN 113014947 B CN113014947 B CN 113014947B CN 202110246132 A CN202110246132 A CN 202110246132A CN 113014947 B CN113014947 B CN 113014947B
- Authority
- CN
- China
- Prior art keywords
- time
- data
- pushing
- auxiliary
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供数据推送方法、辅端、主端及数据推送系统,其中数据推送方法包括:响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。如此,可以将对直播数据的计算和处理分散到多个辅端执行,降低主端的计算压力,从而降低主端的能耗,对主端的性能要求也相应降低。
Description
技术领域
本说明书涉及互联网技术领域,特别涉及数据推送方法、辅端、主端及数据推送系统。
背景技术
随着计算机技术和互联网技术的快速发展,用户需求也呈爆发式增长,视频直播业务作为用户实时交流的一种有效方式,以其丰富多彩的直播种类和实时快捷的交流特点,受到广大用户的喜爱。主播通过直播客户端进行直播,然后将直播数据推送给观看客户端进行观看。
现有技术中,往往是直播客户端获取直播数据,对直播数据进行处理,然后将直播数据上传至直播服务器,直播服务器向各个请求获取直播数据的观看客户端推送该直播数据。然而,直播客户端需要获取直播数据、对直播数据进行处理、上传直播数据,对直播数据的计算和处理均集中在直播客户端,直播客户端的计算压力较大,对直播客户端的性能要求较高。
发明内容
有鉴于此,本说明书实施例提供了数据推送方法。本说明书同时涉及一种辅端,一种主端,两种数据推送系统,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据推送方法,应用于辅端,所述方法包括:
响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则;
根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
根据本说明书实施例的第二方面,提供了一种数据推送方法,应用于主端,所述方法包括:
获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;
向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则,使得所述至少一个辅端响应于所述数据推送指令,获取第一直播数据,并根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
根据本说明书实施例的第三方面,提供了一种辅端,包括:
第一获取模块,被配置为响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则;
第一推送模块,被配置为根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
根据本说明书实施例的第四方面,提供了一种主端,包括:
第二获取模块,被配置为获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;
发送模块,被配置为向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则,使得所述至少一个辅端响应于所述数据推送指令,获取第一直播数据,并根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
根据本说明书实施例的第五方面,提供了一种数据推送系统,所述系统包括:主端和至少两个辅端;
所述主端,被配置为向所述至少两个辅端发送数据推送指令,所述数据推送指令中携带预设数据推送规则;
所述至少两个辅端,被配置为响应于所述主端发送的数据推送指令,获取第一直播数据;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
根据本说明书实施例的第六方面,提供了一种数据推送系统,所述系统包括:主端和至少一个辅端;
所述主端,被配置为获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;同时向所述至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则;
所述至少一个辅端,被配置为响应于所述数据推送指令,获取第一直播数据;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
根据本说明书实施例的第七方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现所述数据推送方法的操作步骤。
根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据推送方法的操作步骤。
本说明书提供的一种数据推送方法,主端可以获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;同时向至少一个辅端发送数据推送指令,使得所述至少一个辅端可以响应于所述数据推送指令,获取第一直播数据,根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。如此,主端可以控制自身和辅端均以预设的数据推送规则直接向直播服务器推送直播数据,由于主端和辅端向直播服务器推送直播数据的规则相同,保证了主辅端、各辅端之间直播数据的时间顺序一致性,将对直播数据的计算和处理分散为主、辅端同时执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
附图说明
图1是本说明书一实施例提供的第一种数据推送方法的流程图;
图2是本说明书一实施例提供的第二种数据推送方法的流程图;
图3是本说明书一实施例提供的第三种数据推送方法的流程图;
图4是本说明书一实施例提供的第四种数据推送方法的流程图;
图5是本说明书一实施例提供的第五种数据推送方法的流程图;
图6是本说明书一实施例提供的第六种数据推送方法的流程图;
图7是本说明书一实施例提供的一种辅端的结构示意图;
图8是本说明书一实施例提供的一种主端的结构示意图;
图9是本说明书一实施例提供的一种数据推送系统的结构框图;
图10是本说明书一实施例提供的另一种数据推送系统的结构框图;
图11是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
广域网(Wide Area Network,WAN):又称外网、公网,广域网并不等同于互联网,它是连接不同地区局域网或城域网计算机通信的远程网,主要使用分组交换技术。广域网通常跨接很大的物理范围,覆盖的范围比局域网(LAN)和城域网(MAN)都广,所覆盖的范围从几十公里到几千公里,能连接多个地区、城市和国家,能提供远距离通信。
局域网(LocalArea Network,LAN):是指在某一区域内由多台计算机互联成的计算机组,可以通过数据通信网或专用数据电路,与远方的局域网、数据库或处理中心相连接,构成一个较大范围的信息处理系统。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
在本说明书中,提供了数据推送方法,本说明书同时涉及一种辅端,一种主端,两种数据推送系统,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例提供的第一种数据推送方法的流程图,应用于辅端,如图1所示,该方法具体包括如下步骤:
步骤102:响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则。
具体的,主端用于与辅端、直播服务器进行交互,实际应用中该主端可以为主播使用的直播客户端;辅端用于根据主端的需求直接向直播服务器推送直播数据,即辅端可以辅助主端直接向直播服务器推送直播数据。
另外,第一直播数据是辅端获取或采集到的直播数据。辅端接收到的数据推送指令是指示辅端获取并向直播服务器推送直播数据的指令,该指令中携带该辅端对应的预设数据推送规则,该预设数据推送规则是指预先设置的、主端和辅端向直播服务器推送数据的规则,该规则用于保证主端和辅端向直播服务器推送的直播数据时间先后顺序唯一固定,即保证主辅端、各辅端之间直播数据的时间顺序一致性。
再者,该数据推送指令中还可以携带有直播数据标识,辅端在接收到主端发送的数据推送指令时,可以根据该数据推送指令中携带的直播数据标识,获取相应的第一直播数据。
需要说明的是,辅端接收到主端发送的数据推送指令后,需要获取相应的第一直播数据,辅端可以通过自身携带的摄像装置直接采集并生成该直播数据,也可以借助其他推送设备采集到相应数据后,再对其进行处理,得到该第一直播数据。当然,实际应用中,辅端还可以为其他形式的设备,通过其他形式获取到需要发送的直播数据,本说明书中对此不进行限制。
本实施例一个可选的实施方式中,辅端在接收主端发送的数据推送指令之前,辅端还需要先与主端建立连接,因而响应于主端发送的数据推送指令,获取第一直播数据之前,还包括:
向中间节点发送连接信息获取请求,所述连接信息获取请求携带第一身份标识;
接收所述中间节点基于第二身份标识和所述第一身份标识返回的连接信息,所述第二身份标识为所述主端向所述中间节点发送的连接信息中携带的身份标识;
根据所述连接信息中携带的网络地址,发起连接请求,所述网络地址为所述主端向所述中间节点发送的连接信息中携带的地址。
具体的,中间节点用于存储主端和辅端进行连接所需的连接信息;第一身份标识是辅端的身份标识,第二身份标识是主端的身份标识。需要说明的是,辅端从中间节点获取连接信息时,中间节点还可以对辅端的身份进行验证,因而辅端在发送连接信息获取请求时需要携带自身的第一身份标识,中间节点可以基于主端的第二身份标识,对辅端的第一身份标识进行校验,只有辅端使用相同的身份标识才可以从中间节点获取到主端的连接信息,保证了主端的安全性。
实际实现时,中间节点接收并存储所述主端发送的连接信息,获取所述连接信息中的第二身份标识;中间节点接收所述辅端发送的连接信息获取请求,所述连接信息获取请求携带第一身份标识;中间节点在所述第一身份标识和所述第二身份标识相同的情况下,向所述辅端返回所述连接信息。
实际应用中,中间节点会预先暴露自己的广域网域名,辅端获取到中间节点暴露的域名后,可以通过http协议与中间节点建立连接。之后,辅端可以基于第一身份标识从中间节点获取到主端的连接信息,然后向连接信息中携带的网络地址发送连接请求,由于此时主端在该网络地址上进行监听,因而主端可以监听到辅端的连接请求,并与辅端建立连接。
另外,如果辅端获取到主端的连接信息,则可以根据该连接信息,向主端发送连接请求,从而尝试与主端建立连接,如果连接成功,则可以进行后续的数据交互,如果连接失败则可以按照固定时间间隔重新从中间节点获取连接信息,并根据新获取到的连接信息与主端尝试连接,直至连接失败的次数达到预设次数。
本实施例一个可选的实施方式中,辅端和主端连接成功后,辅端还可以和主端互相发送保活信息,以确定连接的可用性,也即在辅端和主端建立连接后,还包括:
向所述主端发送第一保活信息,并接收所述主端发送的第二保活信息;
在第三预设时长未接收到所述第二保活信息的情况下,断开与所述主端的连接。
具体的,保活信息是指用于标识自身活跃状态的信息,第一保活信息是辅端发送给主端的信息,以通知主端自身的活跃状态,第二保活信息是主端发送给辅端的信息,通过该第二保活信息,辅端可以获知主端的活跃状态。如果辅端第二预设时长未接收到主端发送的保活信息,则说明主端可能出现异常,或者与主端的连接出现了异常,因而可以断开与主端之间的连接,从而保证出现故障时,可以及时断开连接,节省资源。
步骤104:根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
具体的,在响应于主端发送的数据推送指令,获取第一直播数据的基础上,进一步地,将根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
本实施例一个可选的实施方式中,所述预设数据推送规则为以标准时间为参考,每隔预设时长推送一次直播数据;
所述根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器,具体实现过程可以如下:
根据接收到的所述预设数据推送规则,确定对应的第一预设时长;
以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送所述第一直播数据。
具体的,第一预设时长是指该辅端向直播服务器推送第一直播数据的时间间隔。
示例的,辅端1接收到的数据推送指令中携带的预设数据推送规则为以10:00为参考,每隔6分钟推送一次直播数据,此时辅端1向直播服务器推送第一直播数据的时间为10:06、10:12、11:18,以此类推。
需要说明的是,各个辅端可以根据主端规定的时间间隔向直播数据服务器推送第一直播数据,使得后续直播服务器可以按照各个第一直播数据的发送先后顺序,对接收到的各个第一直播数据进行时间对齐,保证了各辅端之间直播数据的时间顺序一致性,避免了直播数据出现时间错乱和数据错误。
本实施例一个可选地实施方式中,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间;
所述根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器,包括:
根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间;
将所述第一主端时间携带在所述第一直播数据中推送给所述直播服务器。
需要说明的是,主端还可以通过预设数据推送规则,使得各个辅端在向直播服务器推送第一直播数据时,携带对应的主端时间,而不是辅端自身的时间,避免不同辅端的时间不同,导致直播数据出现时间错乱和数据错误。
本实施例一个可选的实施方式中,由于主端和辅端各自使用不受系统时钟调整影响的本地时钟,即主端和辅端使用的是各自的本地时间(如开机时间),因而主端和辅端成功建立连接之后,辅端根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间之前,还需要进行对时,以保证时间的准确性,避免时间错乱导致数据不一致。具体实现时,根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间之前,还包括:
每隔第二预设时长向所述主端发送对时包,所述对时包携带有发送的第二辅端时间;
接收所述主端发送的对时响应包,并记录接收所述对时响应包的第三辅端时间,所述对时响应包中携带所述第二辅端时间、第二主端时间以及发送所述对时响应包的第三主端时间,所述第二主端时间为所述主端接收所述对时响应包的时间;
根据所述第二主端时间与第二辅端时间的第一时间差,以及所述第三主端时间与所述第三辅端时间的第二时间差,确定所述对时包对应的时间偏移。
具体的,第三预设时长是预先设置的发送对时包的时间间隔,即多久发送一个对时包。如该第三预设时长可以为1分钟、5分钟、10分钟等。
需要说明的是,辅端每隔第三预设时长会向主端发送一个对时包,然后根据该对时包的相关时间,确定该对时包对应的时间偏移,即每发送一个对时包,就会得到该对时包对应的时间偏移。
具体实现时,针对发送的任意一个对时包,根据第二主端时间与第二辅端时间的第一时间差,以及第三主端时间与第三辅端时间的第二时间差,确定该对时包对应的时间偏移,可以通过如下公式(1)实现:
offsetn=(timereceive-timeoriginate+timetransmit-timeresponse)/2 (1);
其中,offsetn表示第n个对时包对应的时间偏移,timereceive表示第二主端时间,timeoriginate表示第二辅端时间,timetransmit表示第三主端时间,timeresponse表示第三辅端时间。
示例的,假设第一预设时长为5分钟,主端和辅端建立连接之后,主端立即向辅端发送第一个对时包,根据该对时包计算得到对应的时间偏移为offset1=0.4秒;5分钟之后,主端向辅端发送第二个对时包,根据该对时包计算得到对应的时间偏移为offset2=0.2秒;又5分钟之后,主端向辅端发送第三个对时包,根据该对时包计算得到对应的时间偏移为offset3=0.3秒;又5分钟之后,主端向辅端发送第四个对时包,根据该对时包计算得到对应的时间偏移为offset4=0.1秒;又5分钟之后,主端向辅端发送第五个对时包,根据该对时包计算得到对应的时间偏移为offset5=0.3秒。
本实施例一个可选的实施方式中,一段时间之后,会分别得到多个对时包对应的时间偏移,然后可以根据这段时间发送的多个对时包对应的时间偏移,确定主端和辅端之间的当前对时偏移,因而确定所述对时包对应的时间偏移之后,还包括:
在确定出n个对时包对应的时间偏移的情况下,根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移,其中,所述n大于等于1,所述m小于等于n,所述m和n均为自然数。
具体的,m是系统中预先设置的参数,代表用于计算主端和辅端之间的当前对时偏移所需的时间偏移的数目,由于m需要小于等于n,且m是系统预先设置好的参数,因而需要在获取到n个对时包对应的时间偏移后,才可以进行主端和辅端之间的当前对时偏移的计算,要保证n大于等于m。
本实施例一个可选的实施方式中,根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定主端和辅端之间的当前对时偏移,具体实现过程可以为:
计算第1个对时包对应的时间偏移至第m个对时包对应的时间偏移的第一均值,将所述第一均值确定为所述主端和所述辅端之间的当前对时偏移。
具体实现时,可以表示为如下公式(2):
offsetavg1,m=offset1+offset2+...+offsetm (2);
其中,offsetavg1,m表示第1个对时包对应的时间偏移至第m个对时包对应的时间偏移的第一均值,offset1表示第一个对时包对应的时间偏移,offset2表示第二个对时包对应的时间偏移,offsetm表示第m个对时包对应的时间偏移。
沿用上例,假设m为3,n为5,即需要3个时间偏移的数据来计算主端和辅端之间的当前对时偏移,当前计算得到了5个时间偏移,分别为offset1=0.4秒、offset2=0.2秒、offset3=0.3秒、offset4=0.1秒和offset5=0.3秒,此时计算也即计算得到当前对时偏移为0.3秒。
本说明书中可以通过计算均值的方式综合第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,以得到主端和辅端之间的当前对时偏移。当然,实际应用中,还可以通过其他方式综合第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,如计算加权均值、计算最大时间偏移和最小时间偏移之差的均值等,本说明书中对此不进行限制。
本实施例一个可选的实施方式中,在计算得到主端和辅端之间的当前对时偏移之后,辅端可以继续向主端发送对时包,继续进行对时,并根据后续发送的对时包对应的时间偏移,确定是否需要更新主端和辅端之间的当前对时偏移,也即根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移之后,还包括:
在确定出第k个对时包对应的时间偏移的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,其中所述j等于k-m+1,所述k大于n,所述j和k均为自然数。
具体的,第k个对时包为所述第n个对时包之后的对时包,可以根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定第n个对时包之后的对时包数据的一致性,根据该数据一致性,确定是否更新所述主端和所述辅端之间的当前对时偏移。
本实施例一个可选的实施方式中,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,具体实现过程可以如下:
计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的偏离值;
在所述偏离值大于等于预设阈值的情况下,确定不更新所述主端和所述辅端之间的当前对时偏移;
在所述偏离值小于预设阈值的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,对所述主端和所述辅端之间的当前对时偏移进行更新。
具体的,预设阈值为系统中预先设置的参数,用于判断第n个对时包之后确定出的对时包对应的时间偏移是否过大,即第n个对时包之后的对时包数据一致性是否较差,在数据一致性较差的情况下,确定不更新主端和辅端之间的当前对时偏移,即使用旧数据计算得到的对时偏移继续作为当前对时偏移(即继续将第一均值确定为主端和辅端之间的当前对时偏移),在数据一致性较好的情况下,使用新数据重新计算得到当前对时偏移。
需要说明的是,所述偏离值用于表示第j个对时包对应的时间偏移至第k个对时包对应的时间偏移是否过大,即第j个对时包至第k个对时包的数据的一致性高低。具体实现时,可以计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的方差,通过方差和预设阈值之间的关系,确定是否更新主端和所述辅端之间的当前对时偏移。当然,实际应用中,还可以通过其他方式进行计算,例如可以计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的标准差,通过标准差和预设阈值之间的关系,确定是否更新主端和所述辅端之间的当前对时偏移,本说明书中对此不进行限制。
其中,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,对所述主端和所述辅端之间的当前对时偏移进行更新,具体实现过程可以如下:
计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的第二均值,将所述第二均值更新为所述主端和所述辅端之间的当前对时偏移。
示例的,假设n为10,m为6,根据第1个对时包对应的时间偏移至第6个对时包对应的时间偏移计算得到了当前对时偏移offsetavg1,6;之后,对于第11次计算得到offset11,判断offsetvar11-6+1,11,即offsetvar6,11是否大于预设阈值(其中,offsetvar6,11表示第6个对时包对应的时间偏移至第11个对时包对应的时间偏移的方差),如果大于,则说明第6个对时包对应的时间偏移至第11个对时包对应的时间偏移一致性较差,依旧将offsetavg1,6作为当前对时偏移,否则,将当前对时偏移更新为offsetavg6,11(即第6个对时包对应的时间偏移至第11个对时包对应的时间偏移的均值)。
本说明书中在计算得到主端和辅端之间的当前对时偏移后,还可以继续进行对时,实时更新主端和辅端之间的当前对时偏移,保证主端和辅端精准对时,从而保证主辅端、各辅端之间数据的一致性。
本实施例一个可选的实施方式中,所述根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间,具体实现过程可以如下:
将所述第一辅端时间与所述当前对时偏移之和确定为所述第一直播数据对应的第一主端时间。
实际实现时,将所述第一辅端时间与所述当前对时偏移之和确定为所述直播数据对应的第一主端时间可以表示为如下公式(3):
timemain=timeassist+offsetsystem (3);
其中,timemain表示第一主端时间,timeassist表示第一直播数据生成的第一辅端时间,offsetsystem表示当前对时偏移。
需要说明的是,由于在计算对时包对应的时间偏移时,是采用主端时间减去辅端时间,因而后续计算得到的主端与辅端之间的当前对时偏移是辅端晚于主端的时间,后续可以在辅端时间的基础上加上该当前时间偏移,即可得到对应的主端时间。当然实际应用中,在计算对时包对应的偏移时间时,也可以采用辅端时间减去主端时间,那么后续计算得到的主端与辅端之间的当前对时偏移是辅端早于主端的时间,后续可以在辅端时间的基础上减去该当前时间偏移,即可得到对应的主端时间,本说明书中对此不进行限制。
需要说明的是,辅端获取第一直播数据时,会记录获取该第一直播数据的本地时间(即第一辅端时间),并根据主端和辅端之间的当前对时偏移,将该辅端的本地时间(第一辅端时间)转换为主端的本地时间(第一主端时间),然后再发送给直播服务器,使得直播服务器接收到的直播数据中携带的都是主端时间,保证直播服务器接收到的各个直播数据的时间先后顺序准确无误。
本说明书提供的一种数据推送方法,辅端可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,使得后续直播服务器可以按照各个第一直播数据的发送先后顺序,对接收到的各个第一直播数据进行时间对齐。或者,还可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据中携带的第一主端时间对接收到的各个第一直播数据进行时间对齐,主端与辅端精准对时。如此,保证了各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
图2示出了根据本说明书一实施例提供的第二种数据推送方法的流程图,应用于主端,如图2所示,该方法具体包括如下步骤:
步骤202:获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器。
具体的,第二直播数据是主端获取或采集到的直播数据。需要说明的是,除了依靠辅端获取并向直播服务器推送直播数据外,主端自身也可以获取相应的直播数据,推送给直播服务器。
本实施例一个可选的实施方式中,所述预设数据推送规则为以标准时间为参考,每隔第一预设时长推送一次直播数据;
所述根据预设数据推送规则,将所述第二直播数据推送给直播服务器,具体实现过程可以如下:
确定自身的预设数据推送规则中的标准时间和第一预设时长;
以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送第一直播数据。
具体的,标准时间是默认的时间,该标准时间可以为主端时间,也可以为其他固定的时间;第一预设时长是指主端推送第一直播数据的时间间隔。
示例的,主端自身的预设数据推送规则可以为以10:00为基础,每隔5分钟推送一次直播数据,即标准时间可以为10:00,第一预设时长为5分钟。也就是说,主端向直播服务器推送直播数据的时间为10:05、10:10、10:15,以此类推。
本实施例一个可选的实施方式中,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间;
所述根据预设数据推送规则,将所述第二直播数据推送给直播服务器,具体实现过程可以如下:
确定自身获取第二直播数据的第四主端时间;
将所述第四主端时间携带在所述第二直播数据中发送给所述直播服务器。
需要说明的是,第四主端时间是指主端自己采集第二直播数据的时间,将该时间携带在第二直播数据服务器中发送给直播服务器,后续直播服务器接收到的第二直播数据中均携带第四主端时间,便于直播服务器对接收到的各个直播数据进行对齐。
步骤204:向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则,使得所述至少一个辅端响应于所述数据推送指令,获取第一直播数据,并根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
具体的,在获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器的基础上,进一步地,将向至少一个辅端发送数据推送指令。需要说明的是,主端除了自己可以获取相应的直播数据外,还可以向至少一个辅端发送数据推送指令,控制该至少一个辅端也获取相应的直播数据,并按照与主端相同的规则,推送给直播服务器。也即,数据推送指令中携带的预设数据推送规则与主端向直播服务器推送第二直播数据的预设数据推送规则相同。
另外,主端向辅端发送的数据推送指令中还可以携带直播数据标识,以指示辅端获取相应的第一直播数据,实际实现时,主端可以根据发送的数据推送指令中携带的直播数据标识,确定自身需要获取的第二直播数据。
例如,主端向辅端A发送数据推送指令1,该数据推送指令1携带时间标识t1,辅端A在接收到数据推送指令1时,可以获取时间t1之前的第一直播数据;主端向辅端B发送数据推送指令2,该数据推送指令2携带时间标识t1和t2,辅端B在接收到数据推送指令2时,获取时间t1-t2之间的第一直播数据,此时主端可以获取t2之后的第二直播数据。
本实施例一个可选的实施方式中,主端确定向直播服务器推送第二直播数据采用的预设数据推送规则后,还可以确定辅端对应的预设数据推送规则,从而向辅端发送数据推送指令,因而在向至少一个辅端发送数据推送指令之前,还包括:
根据所述自身的预设数据推送规则,确定各个所述辅端的预设数据推送规则,其中,不同辅端的预设数据推送规则中所述标准时间相同,所述第一预设时长不同,且与所述主端对应的第一预设时长不同。
需要说明的是,主端需要控制各个不同的辅端获取并向直播服务器推送第一直播数据,因而主端需要向各个辅端均发送数据推送指令。为了避免各个辅端向直播服务器推送的第一直播数据时间重复,向各个辅端发送的数据推送指令中携带的预设数据推送规则中时间间隔应该各不相同。在预设数据推送规则为以标准时间为参考,每隔预设时长推送一次直播数据的情况下,由于标准时间是一个参考标准,因而各个辅端接收到的数据推送指令中标准时间应该是相同的,而各个辅端预设时长则应该不同,且与主端对应的预设时长也不同,用于区分不同的直播数据。
示例的,主端自身的预设数据推送规则可以为以10:00为基础,每隔5分钟推送一次直播数据;辅端1的预设数据推送规则可以为以10:00为基础,每隔6分钟推送一次直播数据;辅端2的预设数据推送规则可以为以10:00为基础,每隔7分钟推送一次直播数据。也就是说,主端向直播服务器推送直播数据的时间为10:05、10:10、10:15,以此类推;辅端1向直播服务器推送直播数据的时间为10:06、10:12、11:18,以此类推;辅端3向直播服务器推送直播数据的时间为10:07、10:14、11:21,以此类推。
本实施例一个可选的实施方式中,在数据推送系统包括多个辅端时,主端需要确定向哪些辅端发送数据推送指令,即主端需要从数据推送系统包括的多个辅端中选取执行数据生成任务的部分或全部辅端,因而主端向至少一个辅端发送数据推送指令之前,还包括:
根据所述至少一个辅端中每个所述辅端的负载,确定接收所述数据推送指令的辅端。
需要说明的是,主端可以根据辅端负载,即当前还未执行完的直播数据生成任务,来决定新的直播数据生成任务由哪些辅端执行,即可以通过负载均衡确定接收所述数据推送指令的辅端(即执行直播数据生成任务的辅端)。
示例的,数据推送系统包括5个辅端,假设主端有5个生成直播数据的需求,则会分别向该5个辅端发送数据推送指令。之后,假设主端又有3个生成直播数据的需求,此时由于该5个辅端均只有一个生成直播数据的任务正在执行,即负载相同,因而此时可以从该5个辅端中随机选取3个辅端(辅端1、辅端2和辅端3),向选取出的该3个辅端再次发送数据推送指令。之后,假设主端又有2个生成直播数据的需求,此时根据负载,会向该5个辅端中除上述3个辅端外的辅端(辅端4和辅端4)再次发送数据推送指令。
本实施例一个可选的实施方式中,主端向至少一个辅端发送数据推送指令之前,主端还需要先与该至少一个辅端建立连接,因而向至少一个辅端发送数据推送指令之前,还包括:
向中间节点发送连接信息,所述连接信息包括网络地址和第二身份标识;
在所述网络地址监听连接请求;
响应于监听到的连接请求与辅端建立连接,所述连接请求为所述辅端基于第一身份标识从中间节点获取到的网络地址发起的连接请求。
具体的,中间节点用于存储主端和辅端进行连接所需的连接信息,中间节点会预先暴露自己的广域网域名,主端和辅端获取到中间节点暴露的域名后,可以通过http协议与中间节点建立连接。之后,主端可以将携带有网络地址的连接信息发送给中间节点,并在该网络地址上开始监听,其中,该网络地址可以是主端可用的IP地址(Internet ProtocolAddress,互联网协议地址),即可用端口。辅端与中间节点建立连接后,可以从中间节点获取到主端的连接信息,然后向连接信息中携带的网络地址发送连接请求,由于此时主端在该网络地址上进行监听,因而主端可以监听到辅端的连接请求,并与辅端建立连接。
需要说明的是,主端向中间节点发送的连接信息携带有自身的第二身份标识,只有辅端使用相同的身份标识才可以从中间节点获取到主端的连接信息,保证了主端的安全性。
另外,如果主端和辅端处于局域网,则主端向中间节点发送的连接信息为局域网信息,而如果主端和辅端处于广域网,则主端向中间节点发送的连接信息为广域网信息。另外,中间节点一般和主端、辅端处于广域网,也即,中间节点一般通过广域网域名进行访问。
本实施例一个可选的实施方式中,主端和辅端连接成功后,主端还可以和辅端互相发送保活信息,以确定连接的可用性,也即在主端和辅端建立连接后,还包括:
向所述辅端发送第二保活信息,并接收所述辅端发送的第一保活信息;
在第三预设时长未接收到所述第一保活信息的情况下,断开与所述辅端的连接。
需要说明的是,主端可以向辅端发送第二保活信息,以通知辅端自身的活跃状态,第一保活信息是辅端发送给主端的信息,通过该第一保活信息,主端可以获知辅端的活跃状态。如果主端第三预设时长未接收到辅端发送的保活信息,则说明该辅端可能出现异常,或者与该辅端的连接出现了异常,因而可以断开与该辅端之间的连接,从而保证出现故障时,可以及时断开连接,节省资源。
需要说明的是,主端和辅端可以分别获取直播数据,然后分别直接将获取到的直播数据推送给直播服务器,由于主端和辅端均是按照预设数据推送规则向直播服务器推送直播数据的,避免了直播数据出现时间错乱和数据错误,保证了主辅端、各辅端之间直播数据的时间顺序一致性。另外,主端和辅端分别获取直播数据,然后直接推送给直播服务器,由直播服务器对直播数据进行时间对齐,减少了直播数据的推送时间,提高了直播数据的推送效率。
本说明书提供的一种数据推送方法,辅端可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,主端自身还可以按照相应的时间间隔获取直播数据推送给服务器,使得后续直播服务器可以按照各个第一直播数据和第二直播数据的发送先后顺序,对接收到的各个第一直播数据和第二直播数据进行时间对齐。或者,辅端还可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,主端自身也获取第二直播数据,将获取第二直播数据的时间携带在第二直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据和第二直播数据中携带的时间对接收到的各个第一直播数据和第二直播数据进行时间对齐,主端与辅端精准对时。如此,保证了主辅端、各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
图3示出了根据本说明书一实施例提供的第三种数据推送方法的流程图,如图3所示,该方法具体包括如下步骤:
步骤302:主端向中间节点发送连接信息,所述连接信息包括网络地址;并在所述网络地址监听连接请求。
步骤304:辅端从所述中间节点获取所述连接信息;并根据所述连接信息中携带的所述网络地址,向所述主端发起连接请求。
本实施例一个可选的实施方式中,辅端从中间节点获取连接信息时,中间节点还可以对辅端的身份进行验证,也即,主端向中间节点发送的连接信息还可以包括第二身份标识,辅端从中间节点获取连接信息,具体实现过程可以如下:
中间节点接收并存储所述主端发送的连接信息,获取所述连接信息中的第二身份标识;
中间节点接收所述辅端发送的连接信息获取请求,所述连接信息获取请求携带第一身份标识;
中间节点在所述第一身份标识和所述第二身份标识相同的情况下,向所述辅端返回所述连接信息。
步骤306:主端响应于监听到的所述连接请求与所述辅端建立连接。
本实施例一个可选的实施方式中,主端和辅端连接成功后,主端和辅端还可以互相发送保活信息;在第三预设时长未接收到对端发送的保活信息的情况下,断开主端和辅端之间的连接,从而保证主端或辅端出现问题后,可以及时断开连接,节省资源。
具体实现时,主端可以向辅端发送第二保活信息,并接收所述辅端发送的第一保活信息;在第三预设时长未接收到所述第一保活信息的情况下,断开与辅端的连接;相应的,辅端向主端发送第一保活信息,并接收主端发送的第二保活信息;在第三预设时长未接收到所述第二保活信息的情况下,断开与主端的连接。其中,第二保活信息是指用于标识主端活跃状态的信息,第一保活信息是指用于标识辅端活跃状态的信息。
步骤308:主端向至少两个辅端发送数据推送指令,所述数据推送指令中携带预设数据推送规则,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间。
步骤310:辅端响应于所述数据推送指令,获取第一直播数据。
步骤312:辅端每隔第二预设时长向所述主端发送对时包,所述对时包携带有发送的第二辅端时间。
步骤314:主端记录接收所述对时包的第二主端时间,并向所述辅端发送对时响应包,所述对时响应包携带所述第二辅端时间、所述第二主端时间和发送所述对时响应包的第三主端时间。
步骤316:辅端记录接收所述对时响应包的第三辅端时间,并根据所述第二主端时间与第二辅端时间的第一时间差,以及所述第三主端时间与所述第三辅端时间的第二时间差,确定所述对时包对应的时间偏移。
步骤318:辅端在确定出n个对时包对应的时间偏移的情况下,根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移,其中,n大于等于1,m小于等于n,m和n均为自然数。
步骤320:辅端在确定出第k个对时包对应的时间偏移的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,其中所述j等于k-m+1,所述k大于n,所述j和k均为自然数。
步骤322:辅端根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间;将所述第一主端时间携带在所述第一直播数据中推送给所述直播服务器。
步骤324:直播服务器按照第一直播数据和第二直播数据中携带的主端时间,对接收到的各个第一直播数据和第二直播数据进行时间对齐。
本说明书提供的一种数据推送方法,辅端可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据中携带的第一主端时间对接收到的各个第一直播数据进行时间对齐,主端与辅端精准对时。如此,保证了各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述图3所示为本实施例的一种数据推送方法的示意性方案。需要说明的是,图3所示的数据推送方法的技术方案与上述的图1、图2所示的数据推送方法的技术方案属于同一构思,图3所示的数据推送方法的技术方案未详细描述的细节内容,均可以参见上述图1、图2所示的数据推送方法的技术方案的描述。
图4示出了根据本说明书一实施例提供的第四种数据推送方法的流程图,如图4所示,该方法具体包括如下步骤:
步骤402:主端向中间节点发送连接信息,所述连接信息包括网络地址;并在所述网络地址监听连接请求。
步骤404:辅端从所述中间节点获取所述连接信息;并根据所述连接信息中携带的所述网络地址,向所述主端发起连接请求。
步骤406:主端响应于监听到的所述连接请求与所述辅端建立连接。
步骤408:主端向至少两个辅端发送数据推送指令,所述数据推送指令中携带预设数据推送规则,所述预设数据推送规则为以标准时间为参考,每隔预设时长推送一次直播数据。
步骤410:辅端响应于所述数据推送指令,获取第一直播数据。
步骤412:辅端根据接收到的所述预设数据推送规则,确定对应的第一预设时长,以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送所述第一直播数据。
步骤414:直播数据服务器按照各个第一直播数据和第二直播数据的发送先后顺序,对接收到的各个第一直播数据和第二直播数据进行时间对齐。
本说明书提供的一种数据推送方法,辅端可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,使得后续直播服务器可以按照各个第一直播数据的发送先后顺序,对接收到的各个第一直播数据进行时间对齐。如此,保证了各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述图4所示为本实施例的一种数据推送方法的示意性方案。需要说明的是,图4所示的数据推送方法的技术方案与上述的图1、图2所示的数据推送方法的技术方案属于同一构思,图4所示的数据推送方法的技术方案未详细描述的细节内容,均可以参见上述图1、图2所示的数据推送方法的技术方案的描述。
图5示出了根据本说明书一实施例提供的第五种数据推送方法的流程图,如图5所示,该方法具体包括如下步骤:
步骤502:主端向中间节点发送连接信息,所述连接信息包括网络地址;并在所述网络地址监听连接请求。
步骤504:辅端从所述中间节点获取所述连接信息;并根据所述连接信息中携带的所述网络地址,向所述主端发起连接请求。
步骤506:主端响应于监听到的所述连接请求与所述辅端建立连接。
步骤508:主端获取第二直播数据,确定自身获取第二直播数据的第四主端时间;将所述第四主端时间携带在所述第二直播数据中发送给所述直播服务器。
步骤510:主端向至少一个辅端发送数据推送指令,所述数据推送指令中携带预设数据推送规则,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间。
步骤512:辅端响应于所述数据推送指令,获取第一直播数据。
步骤514:辅端每隔第二预设时长向所述主端发送对时包,所述对时包携带有发送的第二辅端时间。
步骤516:主端记录接收所述对时包的第二主端时间,并向所述辅端发送对时响应包,所述对时响应包携带所述第二辅端时间、所述第二主端时间和发送所述对时响应包的第三主端时间。
步骤518:辅端记录接收所述对时响应包的第三辅端时间,并根据所述第二主端时间与第二辅端时间的第一时间差,以及所述第三主端时间与所述第三辅端时间的第二时间差,确定所述对时包对应的时间偏移。
步骤520:辅端在确定出n个对时包对应的时间偏移的情况下,根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移,其中,n大于等于1,m小于等于n,m和n均为自然数。
步骤522:辅端在确定出第k个对时包对应的时间偏移的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,其中所述j等于k-m+1,所述k大于n,所述j和k均为自然数。
步骤524:辅端根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间;将所述第一主端时间携带在所述第一直播数据中推送给所述直播服务器。
步骤526:直播服务器按照第一直播数据和第二直播数据中携带的主端时间,对接收到的各个第一直播数据和第二直播数据进行时间对齐。
本说明书提供的一种数据推送方法,辅端可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,主端自身也获取第二直播数据,将获取第二直播数据的时间携带在第二直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据和第二直播数据中携带的时间对接收到的各个第一直播数据和第二直播数据进行时间对齐,主端与辅端精准对时。如此,保证了主辅端、各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述图5所示为本实施例的一种数据推送方法的示意性方案。需要说明的是,图5所示的数据推送方法的技术方案与上述的图1、图2所示的数据推送方法的技术方案属于同一构思,图5所示的数据推送方法的技术方案未详细描述的细节内容,均可以参见上述图1、图2所示的数据推送方法的技术方案的描述。
图6示出了根据本说明书一实施例提供的第六种数据推送方法的流程图,如图6所示,该方法具体包括如下步骤:
步骤602:主端向中间节点发送连接信息,所述连接信息包括网络地址;并在所述网络地址监听连接请求。
步骤604:辅端从所述中间节点获取所述连接信息;并根据所述连接信息中携带的所述网络地址,向所述主端发起连接请求。
步骤606:主端响应于监听到的所述连接请求与所述辅端建立连接。
步骤608:主端确定自身的预设数据推送规则中的标准时间和第一预设时长;以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送第一直播数据。
步骤610:主端向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则,所述预设数据推送规则为以标准时间为参考,每隔预设时长推送一次直播数据。
步骤612:辅端响应于所述数据推送指令,获取第一直播数据。
步骤614:辅端根据接收到的所述预设数据推送规则,确定对应的第一预设时长,以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送所述第一直播数据。
步骤616:直播数据服务器按照各个第一直播数据和第二直播数据的发送先后顺序,对接收到的各个第一直播数据和第二直播数据进行时间对齐。
本说明书提供的一种数据推送方法,辅端可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,主端自身还可以按照相应的时间间隔获取直播数据推送给服务器,使得后续直播服务器可以按照各个第一直播数据和第二直播数据的发送先后顺序,对接收到的各个第一直播数据和第二直播数据进行时间对齐如此,保证了主辅端、各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述图6所示为本实施例的一种数据推送方法的示意性方案。需要说明的是,图6所示的数据推送方法的技术方案与上述的图1、图2所示的数据推送方法的技术方案属于同一构思,图6所示的数据推送方法的技术方案未详细描述的细节内容,均可以参见上述图1、图2所示的数据推送方法的技术方案的描述。
与上述图1所示方法实施例相对应,本申请还提供了一种辅端实施例,图7示出了本申请一实施例提供的一种辅端的结构示意图。如图7所示,该辅端包括:
第一获取模块702,被配置为响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则;
第一推送模块704,被配置为根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
可选地,所述预设数据推送规则为以标准时间为参考,每隔预设时长推送一次直播数据;所述第一推送模块704进一步被配置为:
根据接收到的所述预设数据推送规则,确定对应的第一预设时长;
以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送所述第一直播数据。
可选地,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间;所述第一推送模块704进一步被配置为:
根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间;
将所述第一主端时间携带在所述第一直播数据中推送给所述直播服务器。
可选地,所述第一推送模块704进一步被配置为:
每隔第二预设时长向所述主端发送对时包,所述对时包携带有发送的第二辅端时间;
接收所述主端发送的对时响应包,并记录接收所述对时响应包的第三辅端时间,所述对时响应包中携带所述第二辅端时间、第二主端时间以及发送所述对时响应包的第三主端时间,所述第二主端时间为所述主端接收所述对时响应包的时间;
根据所述第二主端时间与第二辅端时间的第一时间差,以及所述第三主端时间与所述第三辅端时间的第二时间差,确定所述对时包对应的时间偏移。
可选地,所述第一推送模块704进一步被配置为:
在确定出n个对时包对应的时间偏移的情况下,根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移,其中,所述n大于等于1,所述m小于等于n,所述m和n均为自然数。
可选地,所述第一推送模块704进一步被配置为:
计算第1个对时包对应的时间偏移至第m个对时包对应的时间偏移的第一均值,将所述第一均值确定为所述主端和所述辅端之间的当前对时偏移。
可选地,所述第一推送模块704进一步被配置为:
在确定出第k个对时包对应的时间偏移的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,其中所述j等于k-m+1,所述k大于n,所述j和k均为自然数。
可选地,所述第一推送模块704进一步被配置为:
计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的偏离值;
在所述偏离值大于等于预设阈值的情况下,确定不更新所述主端和所述辅端之间的当前对时偏移;
在所述偏离值小于预设阈值的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,对所述主端和所述辅端之间的当前对时偏移进行更新。
可选地,所述第一推送模块704进一步被配置为:
计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的第二均值,将所述第二均值更新为所述主端和所述辅端之间的当前对时偏移。
可选地,所述第一推送模块704进一步被配置为:
将所述第一辅端时间与所述当前对时偏移之和确定为所述第一直播数据对应的第一主端时间。
可选地,所述辅端还包括第一建立连接模块,被配置为:
向中间节点发送连接信息获取请求,所述连接信息获取请求携带第一身份标识;
接收所述中间节点基于第二身份标识和所述第一身份标识返回的连接信息,所述第二身份标识为所述主端向所述中间节点发送的连接信息中携带的身份标识;
根据所述连接信息中携带的网络地址,发起连接请求,所述网络地址为所述主端向所述中间节点发送的连接信息中携带的地址。
可选地,所述辅端还包括第一保活模块,被配置为:
向所述主端发送第一保活信息,并接收所述主端发送的第二保活信息;
在第三预设时长未接收到所述第二保活信息的情况下,断开与所述主端的连接。
本说明书提供的一种辅端,可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,使得后续直播服务器可以按照各个第一直播数据的发送先后顺序,对接收到的各个第一直播数据进行时间对齐。或者,还可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据中携带的第一主端时间对接收到的各个第一直播数据进行时间对齐,主端与辅端精准对时。如此,保证了各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述为本实施例的一种辅端的示意性方案。需要说明的是,该辅端的技术方案与上述的图1所示的数据推送方法的技术方案属于同一构思,该辅端的技术方案未详细描述的细节内容,均可以参见上述图1所示的数据推送方法的技术方案的描述。
与上述图2所示方法实施例相对应,本申请还提供了一种主端实施例,图8示出了本申请一实施例提供的一种主端的结构示意图。如图8所示,该主端包括:
第二获取模块802,被配置为获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;
发送模块804,被配置为向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则,使得所述至少一个辅端响应于所述数据推送指令,获取第一直播数据,并根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
可选地,所述预设数据推送规则为以标准时间为参考,每隔第一预设时长推送一次直播数据;第二获取模块802进一步被配置为:
确定自身的预设数据推送规则中的标准时间和第一预设时长;
以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送第一直播数据。
可选地,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间;第二获取模块802进一步被配置为:
确定自身获取第二直播数据的第四主端时间;
将所述第四主端时间携带在所述第二直播数据中发送给所述直播服务器。
可选地,所述主端还包括第一确定模块,被配置为:
根据所述自身的预设数据推送规则,确定各个所述辅端的预设数据推送规则,其中,不同辅端的预设数据推送规则中所述标准时间相同,所述第一预设时长不同,且与所述主端对应的第一预设时长不同。
可选地,所述主端还包括第二建立连接模块,被配置为:
向中间节点发送连接信息,所述连接信息包括网络地址和第二身份标识;
在所述网络地址监听连接请求;
响应于监听到的连接请求与辅端建立连接,所述连接请求为所述辅端基于第一身份标识从中间节点获取到的网络地址发起的连接请求。
可选地,所述主端还包括第二保活模块,被配置为:
向所述辅端发送第二保活信息,并接收所述辅端发送的第一保活信息;
在第三预设时长未接收到所述第一保活信息的情况下,断开与所述辅端的连接。
可选地,所述主端还包括第二确定模块,被配置为:
根据所述至少一个辅端中每个所述辅端的负载,确定接收所述数据推送指令的辅端。
本说明书提供的一种主端自身还可以按照相应的时间间隔获取直播数据推送给服务器,然后控制辅端基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,使得后续直播服务器可以按照各个第一直播数据和第二直播数据的发送先后顺序,对接收到的各个第一直播数据和第二直播数据进行时间对齐。或者,辅端还可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,主端自身也获取第二直播数据,将获取第二直播数据的时间携带在第二直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据和第二直播数据中携带的时间对接收到的各个第一直播数据和第二直播数据进行时间对齐,主端与辅端精准对时。如此,保证了主辅端、各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述为本实施例的一种主端的示意性方案。需要说明的是,该主端的技术方案与上述的图2所示的数据推送方法的技术方案属于同一构思,该主端的技术方案未详细描述的细节内容,均可以参见上述图2所示的数据推送方法的技术方案的描述。
图9示出了根据本说明书一实施例提供的一种数据推送系统的结构框图,如图9所示,该数据推送系统包括主端902和至少两个辅端904。
所述主端902,被配置为向所述至少两个辅端904发送数据推送指令,所述数据推送指令中携带预设数据推送规则;
所述至少两个辅端904,被配置为响应于所述主端902发送的数据推送指令,获取第一直播数据;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
本实施例一个可选的实施方式中,所述系统还包括中间节点,所述主端902还被配置为:
向所述中间节点发送连接信息获取请求,并接收所述中间节点返回的连接信息;
响应于监听到的连接请求与辅端904建立连接;
相应的,所述辅端904还被配置为:
从所述中间节点获取所述连接信息;
根据所述连接信息中携带的所述网络地址,发起连接请求。
本说明书提供的一种数据推送系统,辅端可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,使得后续直播服务器可以按照各个第一直播数据的发送先后顺序,对接收到的各个第一直播数据进行时间对齐。或者,还可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据中携带的第一主端时间对接收到的各个第一直播数据进行时间对齐,主端与辅端精准对时。如此,保证了各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述为本实施例的一种数据推送系统的示意性方案。需要说明的是,该数据推送系统的技术方案与上述数据推送方法的技术方案属于同一构思,该数据推送系统的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。
图10示出了根据本说明书一实施例提供的另一种数据推送系统的结构框图,如图10所示,该数据推送系统包括主端1002和至少一个辅端1004。
所述主端1002,被配置为获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;同时向所述至少一个辅端1004发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则;
所述至少一个辅端1004,被配置为响应于所述数据推送指令,获取第一直播数据;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
本说明书提供的一种数据推送系统,辅端可以基于主端发送的数据推送指令,获取第一直播数据,按照该数据推送指令中携带的时间间隔向直播服务器推送该第一直播数据,主端自身还可以按照相应的时间间隔获取直播数据推送给服务器,使得后续直播服务器可以按照各个第一直播数据和第二直播数据的发送先后顺序,对接收到的各个第一直播数据和第二直播数据进行时间对齐。或者,辅端还可以根据自身的辅端时间和主端对时,确定出相应的第一主端时间,将该第一主端时间携带在获取到的第一直播数据中推送给直播服务器,主端自身也获取第二直播数据,将获取第二直播数据的时间携带在第二直播数据中推送给直播服务器,使得后续直播服务器可以按照第一直播数据和第二直播数据中携带的时间对接收到的各个第一直播数据和第二直播数据进行时间对齐,主端与辅端精准对时。如此,保证了主辅端、各辅端之间数据的一致性,且将对直播数据的计算和处理分散到了多个辅端执行,降低了主端的计算压力,从而降低了主端的能耗,对主端的性能要求也相应降低;其次,主端可以同时连接多个辅端,具有良好的规模可扩展性,能够充分利用网络带宽。
上述为本实施例的一种数据推送系统的示意性方案。需要说明的是,该数据推送系统的技术方案与上述数据推送方法的技术方案属于同一构思,该数据推送系统的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。
图11示出了根据本说明书一实施例提供的一种计算设备1100的结构框图。该计算设备1100的部件包括但不限于存储器1110和处理器1120。处理器1120与存储器1110通过总线1130相连接,数据库1150用于保存数据。
计算设备1100还包括接入设备1140,接入设备1140使得计算设备1100能够经由一个或多个网络1160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备1140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备1100的上述部件以及图11中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图11所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备1100还可以是移动式或静止式的服务器。
其中,处理器1120用于执行如下计算机可执行指令,以实现上述数据推送方法。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据推送方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现上述数据推送方法的操作步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据推送方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据推送方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (25)
1.一种数据推送方法,其特征在于,应用于辅端,所述方法包括:
响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则和时间标识,其中,所述预设数据推送规则为以标准时间为参考每隔预设时长推送一次直播数据或者在推送的直播数据中携带对应的主端时间,所述时间标识用于指示所述辅端获取所述第一直播数据的起止时段,所述主端发送给不同辅端的数据推送指令中携带的时间标识不同;
根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
2.根据权利要求1所述的数据推送方法,其特征在于,所述预设数据推送规则为以标准时间为参考,每隔预设时长推送一次直播数据;
所述根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器,包括:
根据接收到的所述预设数据推送规则,确定对应的第一预设时长;
以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送所述第一直播数据。
3.根据权利要求1所述的数据推送方法,其特征在于,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间;
所述根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器,包括:
根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间;
将所述第一主端时间携带在所述第一直播数据中推送给所述直播服务器。
4.根据权利要求3所述的数据推送方法,其特征在于,所述根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间之前,还包括:
每隔第二预设时长向所述主端发送对时包,所述对时包携带有发送的第二辅端时间;
接收所述主端发送的对时响应包,并记录接收所述对时响应包的第三辅端时间,所述对时响应包中携带所述第二辅端时间、第二主端时间以及发送所述对时响应包的第三主端时间,所述第二主端时间为所述主端接收所述对时响应包的时间;
根据所述第二主端时间与第二辅端时间的第一时间差,以及所述第三主端时间与所述第三辅端时间的第二时间差,确定所述对时包对应的时间偏移。
5.根据权利要求4所述的数据推送方法,其特征在于,所述确定所述对时包对应的时间偏移之后,还包括:
在确定出n个对时包对应的时间偏移的情况下,根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移,其中,所述n大于等于1,所述m小于等于n,所述m和n均为自然数。
6.根据权利要求5所述的数据推送方法,其特征在于,所述根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移,包括:
计算第1个对时包对应的时间偏移至第m个对时包对应的时间偏移的第一均值,将所述第一均值确定为所述主端和所述辅端之间的当前对时偏移。
7.根据权利要求5所述的数据推送方法,其特征在于,所述根据第1个对时包对应的时间偏移至第m个对时包对应的时间偏移,确定所述主端和所述辅端之间的当前对时偏移之后,还包括:
在确定出第k个对时包对应的时间偏移的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,其中所述j等于k-m+1,所述k大于n,所述j和k均为自然数。
8.根据权利要求7所述的数据推送方法,其特征在于,所述根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,确定是否更新所述主端和所述辅端之间的当前对时偏移,包括:
计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的偏离值;
在所述偏离值大于等于预设阈值的情况下,确定不更新所述主端和所述辅端之间的当前对时偏移;
在所述偏离值小于预设阈值的情况下,根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,对所述主端和所述辅端之间的当前对时偏移进行更新。
9.根据权利要求8所述的数据推送方法,其特征在于,所述根据第j个对时包对应的时间偏移至第k个对时包对应的时间偏移,对所述主端和所述辅端之间的当前对时偏移进行更新,包括:
计算第j个对时包对应的时间偏移至第k个对时包对应的时间偏移的第二均值,将所述第二均值更新为所述主端和所述辅端之间的当前对时偏移。
10.根据权利要求5-9任一所述的数据推送方法,其特征在于,所述根据获取所述第一直播数据的第一辅端时间,确定所述第一直播数据对应的第一主端时间,包括:
将所述第一辅端时间与所述当前对时偏移之和确定为所述第一直播数据对应的第一主端时间。
11.根据权利要求1所述的数据推送方法,其特征在于,所述响应于主端发送的数据推送指令,获取第一直播数据之前,还包括:
向中间节点发送连接信息获取请求,所述连接信息获取请求携带第一身份标识;
接收所述中间节点基于第二身份标识和所述第一身份标识返回的连接信息,所述第二身份标识为所述主端向所述中间节点发送的连接信息中携带的身份标识;
根据所述连接信息中携带的网络地址,发起连接请求,所述网络地址为所述主端向所述中间节点发送的连接信息中携带的地址。
12.根据权利要求1所述的数据推送方法,其特征在于,所述方法还包括:
向所述主端发送第一保活信息,并接收所述主端发送的第二保活信息;
在第三预设时长未接收到所述第二保活信息的情况下,断开与所述主端的连接。
13.一种数据推送方法,其特征在于,应用于主端,所述方法包括:
获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器,其中,所述预设数据推送规则为以标准时间为参考每隔预设时长推送一次直播数据或者在推送的直播数据中携带对应的主端时间;
向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则和时间标识,使得所述至少一个辅端响应于所述数据推送指令,获取第一直播数据,并根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器,其中,所述时间标识用于指示所述辅端获取所述第一直播数据的起止时段,所述主端发送给不同辅端的数据推送指令中携带的时间标识不同。
14.根据权利要求13所述的数据推送方法,其特征在于,所述预设数据推送规则为以标准时间为参考,每隔第一预设时长推送一次直播数据;
所述根据预设数据推送规则,将所述第二直播数据推送给直播服务器,包括:
确定自身的预设数据推送规则中的标准时间和第一预设时长;
以所述标准时间为参考,每隔所述第一预设时长,向所述直播服务器推送第二直播数据。
15.根据权利要求13所述的数据推送方法,其特征在于,所述预设数据推送规则为在推送的直播数据中携带对应的主端时间;
所述根据预设数据推送规则,将所述第二直播数据推送给直播服务器,包括:
确定自身获取第二直播数据的第四主端时间;
将所述第四主端时间携带在所述第二直播数据中发送给所述直播服务器。
16.根据权利要求14所述的数据推送方法,其特征在于,所述向至少一个辅端发送数据推送指令之前,还包括:
根据所述自身的预设数据推送规则,确定各个所述辅端的预设数据推送规则,其中,不同辅端的预设数据推送规则中所述标准时间相同,所述第一预设时长不同,且与所述主端对应的第一预设时长不同。
17.根据权利要求13所述的数据推送方法,其特征在于,所述向至少一个辅端发送数据推送指令之前,还包括:
向中间节点发送连接信息,所述连接信息包括网络地址和第二身份标识;
在所述网络地址监听连接请求;
响应于监听到的连接请求与辅端建立连接,所述连接请求为所述辅端基于第一身份标识从中间节点获取到的网络地址发起的连接请求。
18.根据权利要求13所述的数据推送方法,其特征在于,所述方法还包括:
向所述辅端发送第二保活信息,并接收所述辅端发送的第一保活信息;
在第三预设时长未接收到所述第一保活信息的情况下,断开与所述辅端的连接。
19.根据权利要求13所述的数据推送方法,其特征在于,所述向至少一个辅端发送数据推送指令之前,还包括:
根据所述至少一个辅端中每个所述辅端的负载,确定接收所述数据推送指令的辅端。
20.一种辅端,其特征在于,包括:
第一获取模块,被配置为响应于主端发送的数据推送指令,获取第一直播数据,所述数据推送指令中携带预设数据推送规则和时间标识,其中,所述预设数据推送规则为以标准时间为参考每隔预设时长推送一次直播数据或者在推送的直播数据中携带对应的主端时间,所述时间标识用于指示所述辅端获取所述第一直播数据的起止时段,所述主端发送给不同辅端的数据推送指令中携带的时间标识不同;
第一推送模块,被配置为根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
21.一种主端,其特征在于,包括:
第二获取模块,被配置为获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器,其中,所述预设数据推送规则为以标准时间为参考每隔预设时长推送一次直播数据或者在推送的直播数据中携带对应的主端时间;
发送模块,被配置为向至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则和时间标识,使得所述至少一个辅端响应于所述数据推送指令,获取第一直播数据,并根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器,其中,所述时间标识用于指示所述辅端获取所述第一直播数据的起止时段,所述主端发送给不同辅端的数据推送指令中携带的时间标识不同。
22.一种数据推送系统,其特征在于,所述系统包括:主端和至少两个辅端;
所述主端,被配置为向所述至少两个辅端发送数据推送指令,所述数据推送指令中携带预设数据推送规则和时间标识,其中,所述预设数据推送规则为以标准时间为参考每隔预设时长推送一次直播数据或者在推送的直播数据中携带对应的主端时间,所述时间标识用于指示所述辅端获取第一直播数据的起止时段,所述主端发送给不同辅端的数据推送指令中携带的时间标识不同;
所述至少两个辅端,被配置为响应于所述主端发送的数据推送指令,获取第一直播数据;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给直播服务器。
23.一种数据推送系统,其特征在于,所述系统包括:主端和至少一个辅端;
所述主端,被配置为获取第二直播数据,根据预设数据推送规则,将所述第二直播数据推送给直播服务器;同时向所述至少一个辅端发送数据推送指令,所述数据推送指令中携带所述预设数据推送规则和时间标识,其中,所述预设数据推送规则为以标准时间为参考每隔预设时长推送一次直播数据或者在推送的直播数据中携带对应的主端时间,所述时间标识用于指示所述辅端获取第一直播数据的起止时段,所述主端发送给不同辅端的数据推送指令中携带的时间标识不同;
所述至少一个辅端,被配置为响应于所述数据推送指令,获取第一直播数据;根据所述数据推送指令中携带的预设数据推送规则,将所述第一直播数据推送给所述直播服务器。
24.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现上述权利要求1-12或13-19任一项所述的数据推送方法的操作步骤。
25.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现上述权利要求1-12或13-19任一项所述的数据推送方法的操作步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110246132.2A CN113014947B (zh) | 2021-03-05 | 2021-03-05 | 数据推送方法、辅端、主端及数据推送系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110246132.2A CN113014947B (zh) | 2021-03-05 | 2021-03-05 | 数据推送方法、辅端、主端及数据推送系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014947A CN113014947A (zh) | 2021-06-22 |
CN113014947B true CN113014947B (zh) | 2023-05-09 |
Family
ID=76407065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110246132.2A Active CN113014947B (zh) | 2021-03-05 | 2021-03-05 | 数据推送方法、辅端、主端及数据推送系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014947B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210757A (zh) * | 2016-07-28 | 2016-12-07 | 北京小米移动软件有限公司 | 直播方法、直播装置及直播系统 |
CN106303559A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种控制直播视频流的方法及直播服务器 |
WO2017050006A1 (zh) * | 2015-09-24 | 2017-03-30 | 广州视睿电子科技有限公司 | 远程直播方法和系统 |
CN106713975A (zh) * | 2016-12-08 | 2017-05-24 | 广州华多网络科技有限公司 | 直播处理方法和装置 |
WO2017167272A1 (en) * | 2016-03-31 | 2017-10-05 | Chengdu Ck Technology Co., Ltd. | Systems and associated methods for live broadcasting |
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
CN108259989A (zh) * | 2018-01-19 | 2018-07-06 | 广州华多网络科技有限公司 | 视频直播的方法、计算机可读存储介质和终端设备 |
CN111698521A (zh) * | 2019-03-12 | 2020-09-22 | 广州华林珠宝有限公司 | 网络直播方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9872079B2 (en) * | 2013-03-15 | 2018-01-16 | The Roger B. And Ann K. Mcnamee Trust U/T/A/D | Systems and methods for distributing audio/video feed of a live event via satellite |
-
2021
- 2021-03-05 CN CN202110246132.2A patent/CN113014947B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017050006A1 (zh) * | 2015-09-24 | 2017-03-30 | 广州视睿电子科技有限公司 | 远程直播方法和系统 |
WO2017167272A1 (en) * | 2016-03-31 | 2017-10-05 | Chengdu Ck Technology Co., Ltd. | Systems and associated methods for live broadcasting |
CN106210757A (zh) * | 2016-07-28 | 2016-12-07 | 北京小米移动软件有限公司 | 直播方法、直播装置及直播系统 |
CN106303559A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种控制直播视频流的方法及直播服务器 |
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
CN106713975A (zh) * | 2016-12-08 | 2017-05-24 | 广州华多网络科技有限公司 | 直播处理方法和装置 |
CN108259989A (zh) * | 2018-01-19 | 2018-07-06 | 广州华多网络科技有限公司 | 视频直播的方法、计算机可读存储介质和终端设备 |
CN111698521A (zh) * | 2019-03-12 | 2020-09-22 | 广州华林珠宝有限公司 | 网络直播方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113014947A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632931B (zh) | 一种基于5g网络的数据传输方法、装置、设备及介质 | |
CN108781473B (zh) | 一种在不同终端间共享文件的方法及设备 | |
WO2017179608A1 (ja) | 時刻同期方法、センサ収容端末、およびセンサネットワークシステム | |
CN111405633B (zh) | 一种基于云计算的电力通讯监控系统 | |
JP2003319433A (ja) | 通信装置の設置位置を監視する監視装置および監視システム | |
CN113032223B (zh) | 服务器状态检测方法及装置 | |
CN111181747A (zh) | 一种网关协同实现方法、装置、IoT网关及存储介质 | |
JP6555445B1 (ja) | 時刻同期システム、タイムマスタ、管理マスタおよび時刻同期方法 | |
WO2014037684A1 (en) | Methods and devices for clock synchronization | |
US20210329477A1 (en) | Communication apparatus, method, program and recording medium | |
CN103780436A (zh) | 网络装置与其相关的连接保持方法 | |
CN113014947B (zh) | 数据推送方法、辅端、主端及数据推送系统 | |
CN112887775B (zh) | 数据推送方法、辅端、主端及数据推送系统 | |
CN100512515C (zh) | 一种移动终端周期定位的方法 | |
US20230246438A1 (en) | Data alignment method, differential protector and differential protection system | |
CN117118814A (zh) | 基于多云管理平台的云资源切换方法、装置、设备及介质 | |
CN116915353A (zh) | 作为精确时间协议边界时钟的堆叠网络设备 | |
CN113810144A (zh) | 时间同步方法、装置、差动保护装置、终端及存储介质 | |
US20030214936A1 (en) | Using GPS signals to synchronize stationary multiple master networks | |
CN107979653B (zh) | 负载均衡方法及装置 | |
CN117579207A (zh) | 一种时钟同步保证方法及装置 | |
CN112910595A (zh) | 一种实时通信方法及装置 | |
JP2014116759A (ja) | 通信システム、通信端末、制御装置、取次端末、通信方法、及びプログラム | |
CN106992890B (zh) | 一种多服务器切换方法及系统 | |
WO2013000294A1 (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 |