CN111083067A - 数据流拼接的方法、装置、存储介质和终端设备 - Google Patents
数据流拼接的方法、装置、存储介质和终端设备 Download PDFInfo
- Publication number
- CN111083067A CN111083067A CN201811222706.7A CN201811222706A CN111083067A CN 111083067 A CN111083067 A CN 111083067A CN 201811222706 A CN201811222706 A CN 201811222706A CN 111083067 A CN111083067 A CN 111083067A
- Authority
- CN
- China
- Prior art keywords
- data
- splicing
- data stream
- subscription
- generation time
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种数据流拼接的方法、装置、存储介质和终端设备,其中,所述方法包括:获取所述订阅后端已接收的来自传输服务器的数据流中的各订阅数据的第一数据产生时间;获取所述数据流中的、所述传输服务器已接收但所述订阅后端尚未接收到的各订阅数据的第二数据产生时间;根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳;以及根据所述数据流的时间戳,决定是否触发所述数据流的数据拼接。采用本发明,可以准确地判断数据延迟,提高数据流拼接的准确度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据流拼接的方法、装置、存储介质和终端设备。
背景技术
多数据流拼接是流式计算中的一个应用场景。该技术广泛应用于广告计费、用户行为分析等领域。多数据流拼接的难点之一在于:多个数据流分别来自于不同的产品线、IDC(Internet Data Center,互联网数据中心)机房或地域等,其到达流式计算应用的延迟也不同。
一般来说,多数据流拼接所采用的方案是基于系统时间来对数据流进行拼接,并进行流式计算。假设系统存在计算节点A,系统设置节点A在预设时间段内接收数据,并在此时间段的尾节点处对接收到所有数据进行拼接。如果存在数据延迟,且在此预设时间段内未至达节点A,则在节点A处对数据流进行拼接的过程会漏掉此延迟的数据,导致计算结果不准确。
以信息流广告为例,其包括展现、曝光、点击行为的三种数据流。其采用基于系统时间的数据流拼接方案。如果点击行为的数据流延迟过大,且该点击行为的数据流在触发计算的系统时间之前仍未到达,由于系统无法识别点击行为的数据未到达的原因是延迟还是真实的无点击行为,所以系统仍然依据系统时间触发数据流拼接的,并下发拼接结果。因此,由于存在数据延迟超预期的情况,采用基于系统时间的数据流拼接,会导致流式计算的结果不准确。
为此,现有的方案提出一种基于事件发生时间的多流对齐方式,进行数据流拼接。采用“模糊Low watermark”推测源端进度,Low watermark为时间戳,又称为低水位值。时间戳用于触发计算节点的数据流拼接。模糊Low watermark常见计算方式如下:
模糊Low watermark=max(event time of records)-delay time。
其中,event time of records为事件发生的记录时间。delay time为可配置的数据流延迟的经验值,在可预测的传输延迟时间与可接受的拼接延迟时间之间折中。但是,如果该值配置过小,仍然会导致计算结果不准确。如果配置过大,则会导致计算结果输出给下一节点的延迟增大,时效性低。因此,现有的方案难以在计算结果的正确性与时效性之间取得平衡。
发明内容
本发明实施例提供一种数据流拼接的方法、装置、存储介质和终端设备,以解决或缓解现有技术中的以上一个或多个技术问题。
第一方面,本发明实施例提供了一种数据流拼接的拼方法,用于订阅后端,包括:
获取所述订阅后端已接收的来自传输服务器的数据流中的各订阅数据的第一数据产生时间;
获取所述数据流中的、所述传输服务器已接收但所述订阅后端尚未接收到的各订阅数据的第二数据产生时间;
根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳;以及
根据所述数据流的时间戳,决定是否触发所述数据流的数据拼接。
第二方面,本发明实施例提供一种数据流拼接的装置,用于订阅后端,包括:
送达时间获取模块,用于获取所述订阅后端已接收的来自传输服务器的数据流中的各订阅数据的第一数据产生时间;
未送达时间获取模块,用于获取所述数据流中的、所述传输服务器已接收但所述订阅后端尚未接收到的各订阅数据的第二数据产生时间;
时间戳确定模块,用于根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳;以及
数据拼接触发模块,用于根据所述数据流的时间戳,判断是否触发所述数据流的数据拼接。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,数据流拼接的结构中包括处理器和存储器,所述存储器用于数据流拼接的装置执行上述数据流拼接的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述数据流拼接的装置还可以包括通信接口,用于数据流拼接的装置与其他设备或通信网络通信。
第三方面,本发明实施例还提供一种计算机可读存储介质,用于数据流拼接的装置所用的计算机软件指令,其中包括用于执行上述数据流拼接的方法所涉及的程序。
上述技术方案中的任意一个技术方案具有如下优点或有益效果:
本发明实施例同时结合已送达至数据流的数据产生时间和经传输服务器传输的此数据流的订阅数据的数据发生时间两者,可以准确地判断数据延迟情况,以确定数据流的时间戳。可以不依据经验延迟值,即可在正确性和时效性中取得较好的折中。此外,本实施例仅依赖于传输服务器传输的订阅数据的数据产生时间,无外部存储依赖,资源开销小。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1是本发明提供的数据流拼接的应用环境的示意图。
图2是本发明提供的数据流拼接的方法的一个实施例的流程示意图;
图3是本发明提供的数据拼接的触发时机判断过程的一个实施例的流程示意图;
图4是本发明提供的抽样拼接的一个实施例的流程示意图;
图5是本发明提供的预拼接的一个实施例的流程示意图;
图6是本发明提供的时间戳计算的应用示例的一个流程示意图;
图7是本发明提供的数据流拼接的时机判断过程的应用示例的一个流程示意图;
图8是本发明提供的数据流拼接的装置的一个实施例的结构示意图;
图9是本发明提供的终端设备的一个实施例的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
请参阅图1,本发明实施例提供一种数据流拼接的应用环境。本应用环境包括:前端机器、数据采集器、传输服务器、订阅后端、中控LWM服务节点以及拼接引擎。拼接引擎可以是硬件或软件模块,可以设置在中控LWM服务节点中也可独立设置。前端机器可以包括一个或多个,图中仅以一个前端机器示意。订阅后端可以包括一个或多个,图中仅以一个订阅后端示意。
前端机器用于与用户交互,并在交互过程中产生数据。为每一个前端机器分别设置数据采集器。数据采集器与相应的前端机器联动,实时或定时从前端机器中获取前端机器生成的数据。数据采集器内部设置有消息队列,消息队列可以包括多个分片。数据采集器根据生成的数据的类别,将数据分配到消息队列中对应的一个分片中。每个分片可以分别对应一个订阅后端。在数据传输过程中,可以实现订阅后端与数据采集器之间的数据传输为点对点传输,且可以保证点对点传输的有序性。
订阅后端可以向数据采集器发送订阅请求。数据采集器将对应的消息队列的分片中请求订阅的订阅数据发送给传输服务器,例如:DNS(Domain Name System,域名系统)服务器。DNS服务器对接收到的每一个订阅数据进行注册,因而DNS存储有其传输的所有订阅数据的数据产生时间。传输服务器将接收到的订阅数据传输给相应的订阅后端。订阅后端可以定时或实时地将已送达的订阅数据的数据产生时间发送给中控LWM(Low watermark,低水位值,又称为时间戳)服务节点。每个订阅数据的数据产生时间通常携带有此订阅数据的数据标识。数据标识可以包括生成数据的前端机器的IP(Internet Protocol,网络之间互连的协议)地址或设备序列号等身份标识,以及数据筒的ID(identification,identity,身份标识)等任意一者或多者。数据筒用于存储数据的数据采集器中的数据库存储结构。
本应用环境可以根据系统的业务要求,设置多个订阅后端。每个订阅后端所订阅的数据的类别可以互不相同。
中控LWM服务节点可以定期地从DNS服务器中获取其所传输的订阅数据的数据产生时间,包括未送达至数据流的订阅数据的数据产生时间。中控LWM服务节点可以根据获取到每个数据流的所有数据产生时间,确定每个订阅后端的时间戳。
拼接引擎可以判别待拼接的多个订阅后端的数据流的时间戳是否满足拼接条件。如果满足拼接条件,则可以对此多个待拼接的数据流进行数据拼接。所谓数据拼接,即将多个数据流中的数据按照一定的数据拼接格式连接起来。当然也可能存有某个或一些无法拼接的数据,此时可以忽略无法拼接的数据,继续数据拼接。
请参阅图2,本发明实施例提供了一种数据流拼接的方法,可以由中控LWM服务节点执行,用于拼接订阅后端的数据流。本实施例包括步骤S100至步骤S400,具体如下:
S100,获取订阅后端已接收的来自传输服务器的数据流中的各订阅数据的第一数据产生时间。其中,此数据流为待拼接的数据流。待拼接的数据流可以包括一个或多个。如果数据流A包括订阅数据{a1,a2,...,an},则订阅数据a1至订阅数据an均为订阅后端已接收到的来自传输服务器的数据。传输服务器从前端机器接收订阅数据并转发给订阅后端。
每个订阅数据均具有一个数据产生时间。本实施例所指的第一数据产生时间和第二数据产生时间均指数据产生时间,第一数据产生时间和第二数据产生时间是用于区分订阅后端已接收的来自传输服务器的数据流中的各订阅数据的数据产生时间和数据流中的、传输服务器已接收但订阅后端尚未接收到的各订阅数据的数据产生时间。
每个订阅后端可以接收一条数据流,数据流通常按接收时间的先后顺序排列数据。每个订阅后端均可以将其接收到的订阅数据的数据产生时间发送给中控LWM服务节点。中控LWM服务节点可以为各订阅后端对应的数据流分别设置一个订阅进度集合,用于存储相应的数据流的数据产生时间。例如,一个订阅数据的数据产生时间可以表示为(tag,event time)。tag表示数据产生时间所对应的数据标识,可以保证数据的唯一性。eventtime表示数据产生时间的具体时间。
S200,获取数据流中的、传输服务器已接收但订阅后端尚未接收到的各订阅数据的第二数据产生时间。
在本实施例,传输服务器传输的数据流的订阅数据可以包括已送达至订阅后端的订阅数据和未送达至此数据流的订阅数据。在一些实施例中,步骤S200可以从传输服务器中获取此数据流中的传输服务器已接收到的所有订阅数据的数据产生时间,然后从中剔除订阅后端已接收到的各订阅数据的第一数据产生时间,得到订阅后端未接收到的各订阅数据的第二数据产生时间。
在本实施例中,订阅数据由前端机器传输到订阅后端的传输过程,可以经由传输服务器传输。例如:移动终端传送广告交互信息给后端的广告服务器。移动终端与用户进行交互,移动终端在交互过程中呈现广告。在呈现广告的同时,移动终端记载了用户与广告的交互信息。这些交互信息可以作为广告服务器可订阅的数据流。当移动终端或者移动终端的数据采集器接收到订阅请求时,通过传输服务器将请求订阅的数据传输给订阅后端。传输服务器每传输一个订阅数据时,均会对该订阅数据进行注册。例如,记载此订阅数据的数据标识和数据产生时间。
在数据传输过程中,因传输故障等原因,有可能无法按时传输订阅数据给订阅后端。或者,在传输过程中丢失了。仅根据当前已送达至订阅后端的订阅数据的数据产生时间,来确定此数据流的时间戳,可能导致后续数据拼接的结果不准确。因此,本实施例可以从传输服务器中获取未送达至订阅后端的订阅数据的数据产生时间,以准确地判断数据延迟情况,提高数据拼接的成功率以及准确度。
示例性地,数据流A请求订阅的数据包括订阅数据{a1,a2,...,an,...,am}。前端机器在接收订阅请求后,将订阅数据{a1,a2,...,an,...,am}发送给传输服务器。传输服务器会注册订阅数据{a1,a2,...,an,...,am}的信息,包括订阅数据的数据标和数据产生时间。但是,因传输故障等原因,在数据传输过程部分订阅数据有可能延迟或丢失。订阅后端无法获知未到达的订阅数据是延迟了抑或者丢失了。在当前时刻,如果订阅后端接收到的数据流包括订阅数据{a1,a2,...,an},则至少存在订阅数据{an+1,...,am}存在延迟或者丢失。如果仅根据订阅数据{a1,a2,...,an}计算此数据流的时间戳,则可能导致触发数据拼接的时机的判断错误,进而拼接结果的准确性也大打折扣。如果传输服务器将订阅数据成功地传输给订阅后端,在一定的时间段内仍会保留注册数据,但过了此时间段则可以清除这些已成功传输的注册数据。但是,对于未成功传输的数据,即使过了此时间段,仍保留这些未成功传输的订阅数据的注册信息。
接上例,本实施例从传输服务器中至少可以获取到订阅后端尚未接收到的订阅数据{an+1,...,am}的数据产生时间。则当前获取的数据的数据产生时间至少包括订阅数据{a1,a2,...,an,...,am}的数据产生时间。依据此时获取到的所有的数据产生时间计算时间戳,可以准确地获知数据延迟的情况。
S300,根据获取到的第一数据产生时间和第二数据产生时间,确定数据流的时间戳。
此时,获取到的此数据流的所有数据产生时间包含了:订阅后端已接收到的订阅数据的数据产生时间,即第一数据产生时间,和传输服务器已接收但订阅后端尚未接收到的订阅数据的数据产生时间,即第二数据产生时间。因此,本实施例根据此时获取的所有数据产生时间,可以准确地判断数据延迟情况,提高了时间戳的准确度,使判别触发数据拼接的时机的过程也更为准确。
对于待拼接的每一个数据流,均可以通过以上述步骤S100至步骤S300计算得到各自的时间戳。
S400,根据数据流的时间戳,决定是否触发数据流的数据拼接。
在一些实施例中,如果待拼接的数据流仅为1个,则可以判断此数据流的时间戳是否达到触发拼接的时间阈值。如果此数据流的时间戳达到触发拼接的时间阈值,则触发此数据流内的数据的拼接。
在一些实施例中,如果待拼接的数据流包括多个,则可以通过各数据流之间的时间戳距离,来判断是否满足拼接条件。若满足拼接条件,则可以触发各数据流的数据拼接。其中,数据拼接的过程可以由中控LWM服务节点执行,也可由中控LWM服务节点调用拼接引擎来执行。
在本实施例中,数据流拼接是指对订阅后端已接收到的各数据流中的各订阅数据进行拼接。
示例性地,待拼接的数据流包括数据流A、数据流B和数据流C。在当前时间,订阅后端所接收到的:数据流A包括订阅数据{a1,a2,...,an},数据流B包括订阅数据{b1,b2,...,bm},数据流C包括订阅数据{c1,c2,...,ck}。如果待拼接的数据流的时间戳满足拼接条件,则将这三个数据流的所有订阅数据{a1,a2,...,an}、{b1,b2,...,bm}以及{c1,c2,...,ck}逐个数据拼接起来。
由于本实施例可以从传输服务器中获取到未送达至订阅后端的订阅数据的数据产生时间,准确地判断数据延迟情况。以及,结合当前已送达至的订阅数据的数据产生时间,即可准确地确定此数据流的时间戳,提高数据流的拼接结果的准确度。
订阅数据具有对应的数据标识,则利用订阅数据的数据标识区别各订阅数据的数据产生时间,可以保证的获取到时间数据的唯一性。在一些实施例中,可以利用数据标识对获取到的所有数据产生时间进行去重。因此,上述步骤S300可以包括:依据获取到的第一数据产生时间和第二数据产生时间各自所对应订阅数据的数据标识,对获取到的数据产生时间进行去重,获得数据流的订阅进度集合;以及根据订阅进度集合的数据产生时间,确定数据流的时间戳。
示例性地,如果数据流A对应的订阅后端所请求订阅的数据包括订阅数据{a1,a2,...,an,...,am},但是,如果当前数据流A仅包括订阅数据{a1,a2,...,an},则数据流A的已送达的订阅数据的数据产生时间包括订阅数据{a1,a2,...,an}的数据产生时间。如果从传输服务器中获取到的数据流A的订阅数据的数据产生时间包括订阅数据{a5,...,an,...,am}的数据产生时间,则当前获取到的所有数据产生时间中存在重合的部分为:订阅数据{a5,...,an}的数据产生时间。因此,对于订阅数据{a5,...,an}的数据产生时间可以仅留一份即可。其中,订阅数据{an+1,...,am}为数据流A中的传输服务器已接收但订阅后端尚未接收到的订阅数据。因此,本实施例获得的订阅进度集合可以尽可能地包含订阅后端请求订阅的数据的数据产生时间,以提高计算时间戳的准确度。
更为形象地,如果订阅后端已接收的数据流A的订阅数据的数据产生时间的集合表示为活跃标签集合(active tags)。从传输服务器中,获取到的数据流A中的订阅后端尚未接收到的订阅数据的数据产生时间的集合表示为订阅标签集合(suvscribe tags),则总的订阅进度集合C可以表示为活跃标签集合与订阅标签集合的并集。其中,订阅标签集合还可以仅仅包括经由传输服务器传输但未送达至数据流A的订阅数据的数据产生时间。
对于如何根据订阅进度集合的数据产生时间确定数据流的时间戳,可以有多种实施方式。例如,其中一种实施方式为:从订阅进度集合的数据产生时间中,选取产生最晚的数据产生时间,以确定数据流的时间戳。
接上例,从订阅进度集合C中选取产生最晚的数据产生时间,依据此数据产生时间确定数据流A的时间戳。如果订阅进度集合包括数据a1、a2和a3的数据产生时间,其中,数据产生时间分别记载了数据a1的数据产生时间为9:00、数据a2的数据产生时间为9:20,数据a3的数据产生时间为9:30。则可以依据数据产生时间9:30确定数据流A的时间戳。
其中一种实施方式为:按时间先后顺序,对订阅进度集合中的数据产生时间进行排序;以及根据排序在预设的分位值的位置上的数据产生时间,确定此订阅进度集合所对应的数据流的时间戳。
示例性地,如果订阅进度集合包括1000个订阅数据的数据产生时间,则按时间先后排序此1000个订阅数据的数据产生时间。如果预设的分位值为99.9%,则可以选取排序在第999位上的数据产生时间。最后,根据第999位上的数据产生时间确定数据流A的时间戳。本实施例的分位值并不限于99.9%,可以根据需求进行设置。需要说明的是,排序在后的数据一般是因DNS缓存、网络抖动、少量前端机抖动的影响而延迟的。本实施例可以忽略此部分数据的数据产生时间,能够加快确定触发数据拼接的时机。因此,本实施例可以避免DNS缓存、网络抖动、少量前端机抖动的影响。
在一些实施例中,待拼接的数据流可以包括多个,则如图3所示,上述步骤S400的数据拼接的触发时机判断过程,可以包括步骤S410至步骤S430,如下:
S410,从各数据流中确定基准数据流,并计算基准数据流与各数据流中的非基准数据流之间的时间戳距离。此各数据流为待拼接的数据流。
示例性地,待拼接的数据流包括数据流A、数据流B和数据流C。基准数据流可以随机选定,也可以按时间戳的排列顺序确定。例如,以排列在中位值的数据流作为基准数据流。如果基准数据流为数据流A,则需要计算数据流A与数据流B的时间戳距离,以及数据流A与数据流C的时间戳距离。这两者可以分别表示为:A→B和A→C。
S420,判断各时间戳距离是否均小于距离阈值。
S430,如果各时间戳距离均小于距离阈值,则触发各数据流的数据拼接。
接上例,如果A→B和A→C均小于距离阈值,则可以对数据流A、数据流B和数据流C中的订阅数据进行数据拼接。
此外,如果存在有时间戳距离大于距离阈值,则可以进行预拼接或抽样拼接来判断拼接成功率是否满足触发阈值。如果拼接成功率满足触发阈值,则可以触发拼接。如此可以提高数据拼接的成功率以及数据拼接的准确度。
在一种可能的实施例中,如图4所示,抽样拼接的过程可以包括步骤S442至步骤S446,如下:
S442,如果各数据流的时间戳距离中存在时间戳距离大于距离阈值,则从各数据流中抽取数据以进行抽样拼接。
示例性地,抽样拼接的过程可以如下:如果待拼接的数据流包括数据流A、数据流B和数据流C。数据流A包括订阅数据{a1,a2,...,an},数据流B包括订阅数据{b1,b2,...,bm},数据流C包括订阅数据{c1,c2,...,ck}。如果从数据流A中抽取订阅数据a1至a5,从数据流B中抽取订阅数据b1至b5,从数据流C中抽取数据订阅c1至c5,则可以将抽取到的订阅数据逐个拼接在一起。如果存在订阅数据a1、订阅数据b1和订阅数据c1无法拼接在拼接结果中,则数据流A的拼接成功率为75%。
S444,判断抽样拼接的拼接成功率是否满足成功率阈值。
S446,如果抽样拼接的拼接成功率满足成功率阈值,则触发各数据流的数据拼接。
在本实施例中,抽样拼接是从订阅后端已接收到的订阅数据中抽取部分数据。可能导致抽样到的数据未完成拼接相连的原因,不仅包括抽样到的数据未包括因数据延迟或丢失导致的未到达数据,还包括抽样到的数据未包括已送达至数据流但未被抽样的订阅数据。因此,可以设置抽样拼接的成功率阈值相对低一些,可以降低确定触发数据拼接的时机的灵敏度,以及提高数据拼接的效率。
在一种可能的实施例中,如图5所示,预拼接的过程可以包括步骤S452至步骤S456,如下:
S452,如果各数据流的时间戳距离中存在时间戳距离大于距离阈值,则对各数据流中的数据进行预拼接。
接上例,预拼接的过程可以如下:将数据流A包括的订阅数据{a1,a2,...,an}、数据流B包括的订阅数据{b1,b2,...,bm}以及数据流C包括的订阅数据{c1,c2,...,ck}全部接起来。如果存在订阅数据b2、订阅数据c5和订阅数据c9未被连接,则数据流A的拼接成功率为
S454,判断预拼接的拼接成功率是否满足成功率阈值。
S456,如果预拼接的拼接成功率满足成功率阈值,则以预拼接的结果作为各数据流拼接的结果。
在本实施例中,导致数据流未完全连接成功的原因一般是:有部分数据延迟或丢失以致当前时刻未送达至订阅后端。因此,在一些实施例中,可以将成功率阈值设置相对高一些,进一步提高数据拼接的准确度。本实施例虽然存有数据流之间的时间戳距离大于距离阈值,但如果拼接成功率高,则说明数据拼接的质量高,此时可以将预拼接的结果输出。但如果拼接成功率不高,则说明数据拼接的质量不高,此时可以丢弃预拼接的结果,继续等待下一个触发拼接的时机。
具体地,如果通过以上两种实施方式中的任一者发现拼接成功率不满足触发阈值,则可以返回重新计算各数据流的时间戳,以决定是否触发各数据流的数据拼接。在一些实施例中,可以在间隔了预设或随机的时间后,再重新计算各数据流的时间戳,以再次决定是否触发各数据流的数据拼接,从而实现数据拼接的推迟。待下一个触发拼接的时机到了,即可执行数据拼接。在此间隔时间段中,订阅后端仍可以继续接收传输服务器传送过来的订阅数据。
在本实施例中,在计算时间戳以及决定是否触发拼接的过程中,订阅后端仍然会接收来自前端机器发送的订阅数据。时间戳也可以定时或者实时地更新。如果当前的时间戳可以触发数据拼接,则结束订阅后端的数据接收以及时间戳更新。
本发明实施例提供了一种汇聚订阅后端所订阅的数据的数据产生时间的方法,可以准确地计算此订阅后端的数据流的时间戳。此外,基于各数据流之间的时间戳距离来判断触发拼接的时机,可以实现多个数据流的数据对齐,提高数据拼接的准确度。
请参阅图6和图7。图6是本发明提供的时间戳计算的应用示例的一个流程示意图。图7是本发明提供的数据流拼接的时机判断过程的应用示例的一个流程示意图。本实施例提供的订阅后端的时间戳(Low watermark,LWM)的计算方法,包括:
步骤S102、数据采集。在产生数据的前端机器设置数据采集器,确保每个前端机器的数据在同一时间,仅被拼接流里的一个订阅后端订阅,保证点对点传输的有序性。在一种实施方式中,数据采集器从前端机器中获取其产生的数据,并将数据排列在消息队列中的一个分片。其中,一个分片对应于订阅后端。订阅后端可以向从其所对应的分片中订阅数据。
步骤S104、数据产生时间存储。每个订阅后端均将各自的数据流的当前可见最大进度定期发送给一个中控LWM服务节点。即当前已送达至数据流的所有订阅数据的数据产生时间。其中,一个订阅数据的数据产生时间可以表示为(tag,event time)。tag是前端机器的IP地址或容器化后的数据筒(container)的ID,表示数据的来源,可以保证数据的确定性和唯一性。因此,每个数据流在中控LWM服务节点中均有相应的一个的活跃标签集合。
步骤S106、数据产生时间更新。中控LWM服务节点可以从DNS服务器获取数据产生时间,以定期更新订阅进度集合。例如,将从DNS服务器获取到需要传输订阅后端的所有订阅数据的数据产生时间,添加到订阅标签集合。以及,将活跃标签集合与订阅标签集合的并集作为订阅进度集合C。
步骤S108、根据数据产生时间,计算时间戳。则此订阅后端的数据流的时间戳的计算公式表示为:
min(event time of C:C∈(subscribe tags)∪(active tags))。
其中,subscribe tags表示订阅标签集合,active tags表示活跃标签集合。
为了避免DNS缓存、网络抖动、少量前端机抖动等的不良影响,本实施可以设置按分位值p,则此订阅后端的数据流的时间戳的计算公式表示为:
min(top p of(event time of C:C∈(subscribe tags)∪(active tags)))。
基于以上方案可独立计算出每条待拼接的数据流的时间戳,则拼接引擎可以根据彼此间的时间戳距离,决定是否触发数据拼接。如果不触发数据拼接则推迟数据拼接。此决定过程可以如下:
步骤S202、如果各数据流之间的时间戳距离小于等于距离阈值,则触发各数据流的数据拼接。
步骤S204、如果存在时间戳距离大于距离阈值,可以进行预拼接或抽样预拼接。
步骤S206,判断拼接成功率是否满足成功率阈值。如果拼接成功率满足成功率阈值,则触发各数据流的数据拼接。
步骤S208、如果拼接成功率不满足成功率阈值,则推迟拼接并等待下一个触发数据拼接的时机。
请参阅图8,本发明实施例提供一种数据流拼接的装置,包括:
送达时间获取模块100,用于获取已送达至数据流的各订阅数据的第一数据产生时间;
未送达时间获取模块200,用于从传输所述订阅数据的传输服务器中,获取经由所述传输服务器传输的所述数据流的各订阅数据的第二数据产生时间;
时间戳确定模块300,用于根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳;以及
数据拼接触发模块400,用于根据所述数据流的时间戳,决定是否触发所述数据流的数据拼接。
在一种可能的实现方式中,所述时间戳确定模块300包括:
去重单元,用于根据获取到的第一数据产生时间和第二数据产生时间各自所对应订阅数据的数据标识,对获取到的第一数据产生时间和第二数据产生时间进行去重,获得所述数据流的订阅进度集合;以及
确定单元,用于根据所述订阅进度集合的数据产生时间,确定所述数据流的时间戳。
在一种可能的实现方式中,所述确定单元包括:
最晚时间确定子单元,用于从所述订阅进度集合的数据产生时间中,选取产生最晚的数据产生时间,以确定所述数据流的时间戳。
在一种可能的实现方式中,所述确定单元包括:
排序子单元,用于按时间先后顺序,对所述订阅进度集合中的数据产生时间进行排序;以及
分位值时间确定子单元,用于根据排序在预设的分位值的位置上的数据产生时间,确定所述数据流的时间戳。
在一种可能的实现方式中,所述数据流包括多个,以及所述数据拼接触发模块400包括:
时间戳距离计算单元,用于从各所述数据流中确定基准数据流,并计算所述基准数据流与各所述数据流中的非所述基准数据流之间的时间戳距离;
距离判断单元,用于判断各所述时间戳距离是否均小于距离阈值;以及
第一数据拼接单元,用于如果各所述时间戳距离均小于所述距离阈值,则触发各所述数据流的数据拼接。
在一种可能的实现方式中,所述数据拼接触发模块400还包括:
抽样拼接单元,用于如果各所述时间戳距离中存在时间戳距离大于所述距离阈值,则从各所述数据流中抽取数据以进行抽样拼接;
抽样成功率判断单元,用于判断所述抽样拼接的拼接成功率是否满足成功率阈值;以及
第二数据拼接单元,用于如果所述抽样拼接的拼接成功率满足所述成功率阈值,则触发各所述数据流的数据拼接。
在一种可能的实现方式中,所述数据拼接触发模块400还包括:
预拼接单元,用于如果各所述时间戳距离存在时间戳距离大于所述距离阈值,则对各所述数据流中的数据进行预拼接;
预拼接成功率率判断单元,用于判断所述预拼接的拼接成功率是否满足成功率阈值;以及
如果所述预拼接的拼接成功率满足所述成功率阈值,则以所述预拼接的结果作为各所述数据流拼接的结果。
在一种可能的实现方式中,所述数据拼接触发模块400还包括:
重新计算单元,用于如果所述拼接成功率不满足所述成功率阈值,则返回重新计算各所述数据流的时间戳,以决定是否触发各所述数据流的数据拼接。
所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,数据流拼接的结构中包括处理器和存储器,所述存储器用于数据流拼接的装置执行上述第一方面中数据流拼接的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述数据流拼接的装置还可以包括通信接口,用于数据流拼接的装置与其他设备或通信网络通信。
本发明实施例还提供一种数据流拼接的终端设备,如图9所示,该设备包括:存储器21和处理器22,存储器21内存储有可在处理器22上的计算机程序。处理器22执行计算机程序时实现上述实施例中的数据流拼接的方法。存储器21和处理器22的数量可以为一个或多个。
该设备还包括:
通信接口23,用于处理器22与外部设备之间的通信。
存储器21可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
如果存储器21、处理器22和通信接口23独立实现,则存储器21、处理器22和通信接口23可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器21、处理器22及通信接口23集成在一块芯片上,则存储器21、处理器22及通信接口23可以通过内部接口完成相互间的通信。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成的程序,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种数据流拼接的方法,用于订阅后端,其特征在于,包括:
获取所述订阅后端已接收的来自传输服务器的数据流中的各订阅数据的第一数据产生时间;
获取所述数据流中的、所述传输服务器已接收但所述订阅后端尚未接收到的各订阅数据的第二数据产生时间;
根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳;以及
根据所述数据流的时间戳,决定是否触发所述数据流的数据拼接。
2.如权利要求1所述的方法,其特征在于,所述订阅数据具有数据标识,所述根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳,包括:
根据获取到的第一数据产生时间和第二数据产生时间各自所对应订阅数据的数据标识,对获取到的第一数据产生时间和第二数据产生时间进行去重,获得所述数据流的订阅进度集合;以及
根据所述订阅进度集合的数据产生时间,确定所述数据流的时间戳。
3.如权利要求2所述的方法,其特征在于,所述根据所述订阅进度集合的数据产生时间,确定所述数据流的时间戳,包括:
从所述订阅进度集合的数据产生时间中,选取产生最晚的数据产生时间,以确定所述数据流的时间戳。
4.如权利要求2所述的方法,其特征在于,所述根据所述订阅进度集合的数据产生时间,确定所述数据流的时间戳,包括:
按时间先后顺序,对所述订阅进度集合中的数据产生时间进行排序;以及
根据排序在预设的分位值的位置上的数据产生时间,确定所述数据流的时间戳。
5.如权利要求1所述的方法,其特征在于,所述数据流包括多个,以及所述根据所述数据流的时间戳,决定是否触发所述数据流的数据拼接,包括:
从各所述数据流中确定基准数据流,并计算所述基准数据流与各所述数据流中的非所述基准数据流之间的时间戳距离;
判断各所述时间戳距离是否均小于距离阈值;以及
如果各所述时间戳距离均小于所述距离阈值,则触发各所述数据流的数据拼接。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
如果各所述时间戳距离存在时间戳距离大于所述距离阈值,则从各所述数据流中抽取数据以进行抽样拼接;
判断所述抽样拼接的拼接成功率是否满足成功率阈值;以及
如果所述抽样拼接的拼接成功率满足所述成功率阈值,则触发各所述数据流的数据拼接。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
如果各所述时间戳距离存在时间戳距离大于所述距离阈值,则对各所述数据流中的数据进行预拼接;
判断所述预拼接的拼接成功率是否满足成功率阈值;以及
如果所述预拼接的拼接成功率满足所述成功率阈值,则以所述预拼接的结果作为各所述数据流拼接的结果。
8.如权利要求6或7所述的方法,其特征在于,所述方法还包括:
如果所述拼接成功率不满足所述成功率阈值,则返回重新计算各所述数据流的时间戳,以决定是否触发各所述数据流的数据拼接。
9.一种数据流拼接的装置,用于订阅后端,其特征在于,包括:
送达时间获取模块,用于获取所述订阅后端已接收的来自传输服务器的数据流中的各订阅数据的第一数据产生时间;
未送达时间获取模块,用于获取所述数据流中的、所述传输服务器已接收但所述订阅后端尚未接收到的各订阅数据的第二数据产生时间;
时间戳确定模块,用于根据获取到的第一数据产生时间和第二数据产生时间,确定所述数据流的时间戳;以及
数据拼接触发模块,用于根据所述数据流的时间戳,决定是否触发所述数据流的数据拼接。
10.如权利要求9所述的装置,其特征在于,所述时间戳确定模块包括:
去重单元,用于根据获取到的第一数据产生时间和第二数据产生时间各自所对应的订阅数据的数据标识,对获取到的第一数据产生时间和第二数据产生时间进行去重,获得所述数据流的订阅进度集合;以及
确定单元,用于根据所述订阅进度集合的数据产生时间,确定所述数据流的时间戳。
11.如权利要求10所述的装置,其特征在于,所述确定单元包括:
最晚时间确定子单元,用于从所述订阅进度集合的数据产生时间中,选取产生最晚的数据产生时间,以确定所述数据流的时间戳。
12.如权利要求10所述的方法,其特征在于,所述确定单元包括:
排序子单元,用于按时间先后顺序,对所述订阅进度集合中的数据产生时间进行排序;以及
分位值时间确定子单元,用于将排序在预设的分位值的位置上的数据产生时间,确定为所述数据流的时间戳。
13.如权利要求9所述的装置,其特征在于,所述数据流包括多个,以及所述数据拼接触发模块包括:
时间戳距离计算单元,用于从各所述数据流中确定基准数据流,并计算所述基准数据流与各所述数据流中的非所述基准数据流之间的时间戳距离;
距离判断单元,用于判断各所述时间戳距离是否均小于距离阈值;以及
第一数据拼接单元,用于如果各所述时间戳距离均小于所述距离阈值,则触发各所述数据流的数据拼接。
14.如权利要求13所述的装置,其特征在于,所述数据拼接触发模块还包括:
抽样拼接单元,用于如果各所述时间戳距离存在时间戳距离大于所述距离阈值,则从各所述数据流中抽取数据以进行抽样拼接;
抽样成功率判断单元,用于判断所述抽样拼接的拼接成功率是否满足成功率阈值;以及
第二数据拼接单元,用于如果所述抽样拼接的拼接成功率满足所述成功率阈值,则触发各所述数据流的数据拼接。
15.如权利要求13所述的装置,其特征在于,所述数据拼接触发模块还包括:
预拼接单元,用于如果各所述时间戳距离存在时间戳距离大于所述距离阈值,则对各所述数据流中的数据进行预拼接;
预拼接成功率率判断单元,用于判断所述预拼接的拼接成功率是否满足成功率阈值;以及
如果所述预拼接的拼接成功率满足所述成功率阈值,则以所述预拼接的结果作为各所述数据流拼接的结果。
16.如权利要求14或15所述的装置,其特征在于,所述数据拼接触发模块还包括:
重新计算单元,用于如果所述拼接成功率不满足所述成功率阈值,则返回重新计算各所述数据流的时间戳,以决定是否触发各所述数据流的数据拼接。
17.一种数据流拼接的终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-8中任一所述的数据流拼接的方法。
18.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的数据流拼接的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811222706.7A CN111083067B (zh) | 2018-10-19 | 2018-10-19 | 数据流拼接的方法、装置、存储介质和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811222706.7A CN111083067B (zh) | 2018-10-19 | 2018-10-19 | 数据流拼接的方法、装置、存储介质和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111083067A true CN111083067A (zh) | 2020-04-28 |
CN111083067B CN111083067B (zh) | 2023-04-25 |
Family
ID=70308473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811222706.7A Active CN111083067B (zh) | 2018-10-19 | 2018-10-19 | 数据流拼接的方法、装置、存储介质和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111083067B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954431A (zh) * | 2021-01-29 | 2021-06-11 | 北京奇艺世纪科技有限公司 | 视频播放方法、装置、视频播放设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993081B1 (en) * | 1999-11-23 | 2006-01-31 | International Business Machines Corporation | Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream |
US20100129056A1 (en) * | 2008-11-25 | 2010-05-27 | Cisco Technology, Inc. | Optimizing Ad Insertion By Removing Low Information Frames |
WO2014051897A1 (en) * | 2012-09-27 | 2014-04-03 | Ge Intelligent Platforms, Inc. | System and method for enhanced process data storage and retrieval |
US20160285711A1 (en) * | 2014-11-03 | 2016-09-29 | Google Inc. | Data Flow Windowing and Triggering |
CN106656672A (zh) * | 2016-12-28 | 2017-05-10 | 中国科学院信息工程研究所 | 无线局域网监控还原系统的数据流合并方法及装置 |
CN106850336A (zh) * | 2016-12-28 | 2017-06-13 | 中国科学院信息工程研究所 | 一种监控系统的数据流合并方法及服务端 |
WO2018183119A1 (en) * | 2017-03-27 | 2018-10-04 | Snap Inc. | Generating a stitched data stream |
CN108664966A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 一种笔记记录方法和装置 |
-
2018
- 2018-10-19 CN CN201811222706.7A patent/CN111083067B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993081B1 (en) * | 1999-11-23 | 2006-01-31 | International Business Machines Corporation | Seamless splicing/spot-insertion for MPEG-2 digital video/audio stream |
US20100129056A1 (en) * | 2008-11-25 | 2010-05-27 | Cisco Technology, Inc. | Optimizing Ad Insertion By Removing Low Information Frames |
WO2014051897A1 (en) * | 2012-09-27 | 2014-04-03 | Ge Intelligent Platforms, Inc. | System and method for enhanced process data storage and retrieval |
US20160285711A1 (en) * | 2014-11-03 | 2016-09-29 | Google Inc. | Data Flow Windowing and Triggering |
CN106656672A (zh) * | 2016-12-28 | 2017-05-10 | 中国科学院信息工程研究所 | 无线局域网监控还原系统的数据流合并方法及装置 |
CN106850336A (zh) * | 2016-12-28 | 2017-06-13 | 中国科学院信息工程研究所 | 一种监控系统的数据流合并方法及服务端 |
WO2018183119A1 (en) * | 2017-03-27 | 2018-10-04 | Snap Inc. | Generating a stitched data stream |
CN108664966A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 一种笔记记录方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954431A (zh) * | 2021-01-29 | 2021-06-11 | 北京奇艺世纪科技有限公司 | 视频播放方法、装置、视频播放设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111083067B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016049872A1 (zh) | 一种网络丢包的测量装置及方法 | |
CN106921665B (zh) | 一种报文处理方法及网络设备 | |
US8706927B2 (en) | Method for the recovery of a clock and system for the transmission of data between data memories by remote direct memory access and network station set up to operate in the method as a transmitting or, respectively, receiving station | |
CN110830460B (zh) | 一种连接建立方法、装置、电子设备及存储介质 | |
US20230042747A1 (en) | Message Processing Method and Device, Storage Medium, and Electronic Device | |
CN112672381B (zh) | 一种数据关联方法、装置、终端设备及介质 | |
WO2018095110A1 (zh) | 一种图片存储方法、装置及视频监控系统 | |
CN103947191A (zh) | 影像接收终端、家庭网关装置、质量管理系统以及质量劣化划分系统 | |
CN110719215A (zh) | 虚拟网络的流信息采集方法及装置 | |
CN106997394B (zh) | 一种数据乱序到达处理方法和系统 | |
CN113438499B (zh) | 数据上传和接收方法、装置、设备及存储介质 | |
CN111163018A (zh) | 网络设备及其降低传输时延的方法 | |
CN111083067A (zh) | 数据流拼接的方法、装置、存储介质和终端设备 | |
CN111064729B (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
WO2016197659A1 (zh) | 网络媒体流收包方法、装置及系统 | |
CN110868373A (zh) | 多媒体数据传输方法、装置及计算机可读存储介质 | |
CN115080771A (zh) | 基于人工智能的数据处理方法及装置、介质、网关设备 | |
CN112291076A (zh) | 丢包定位方法、装置及系统、计算机存储介质 | |
WO2018121421A1 (zh) | 一种流数据的跨域传输方法、装置和系统 | |
CN113422760B (zh) | 数据传输方法、装置、电子装置和存储介质 | |
CN115344522A (zh) | 消息转换通道、消息转换装置、电子设备和交换设备 | |
CN114338270A (zh) | 数据通信方法、装置、电子设备及存储介质 | |
CN112565821B (zh) | 数据处理方法、装置、安全网关及存储设备 | |
CN113490154A (zh) | 广播数据传输方法、装置、终端设备及存储介质 | |
CN112950447B (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 |