CN111147888A - 流媒体视频数据处理方法、装置、计算机设备和存储介质 - Google Patents

流媒体视频数据处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111147888A
CN111147888A CN201811314448.5A CN201811314448A CN111147888A CN 111147888 A CN111147888 A CN 111147888A CN 201811314448 A CN201811314448 A CN 201811314448A CN 111147888 A CN111147888 A CN 111147888A
Authority
CN
China
Prior art keywords
video
data
information
fragment
metadata
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
Application number
CN201811314448.5A
Other languages
English (en)
Other versions
CN111147888B (zh
Inventor
孙俊
王雍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811314448.5A priority Critical patent/CN111147888B/zh
Priority to EP19881958.3A priority patent/EP3879842A4/en
Priority to PCT/CN2019/115725 priority patent/WO2020094012A1/zh
Publication of CN111147888A publication Critical patent/CN111147888A/zh
Application granted granted Critical
Publication of CN111147888B publication Critical patent/CN111147888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请涉及一种流媒体视频数据处理方法、装置、计算机设备和存储介质,所述方法通过接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息,生成与视频内容标识对应的预设拖拽参数,向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据,根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。通过生成的预设拖拽参数获取元数据,将元数据和视频数据分离,通过分离缓存的方式进行数据缓存,节约磁盘空间。

Description

流媒体视频数据处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种流媒体视频数据处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网的迅猛发展,视频和语音等流量不断增加,基于FLV(Flash Video,流媒体视频)格式的视频资源已经成为国内主流视频网站内容。FLV是一种全新的视频格式,由于它形成的文件极小、加载速度极快,便于传输特点,使得FLV实际成为了在线视频播放的现行标准,网络观看高清视频文件形成可能。网络上丰富多样的视频资源正逐渐地以FLV格式为主,通过调研发现不同视频网站播放平台对FLV视频格式要求存在差异性。
缓存加速服务器一般采用缓存整个FLV资源文件形式,用户再次请求该视频资源时,可以通过命中解析本地FLV格式视频资源,读取用户需要请求的片段内容给用户提供视频加速服务。当用户只需要观看视频资源的某一段内容时,视频缓存加速服务器需要缓存整个视频资源,浪费磁盘空间。
发明内容
为了解决上述技术问题,本申请提供了一种流媒体视频数据处理方法、装置、计算机设备和存储介质。
一种流媒体视频数据处理方法,包括:
接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息;
生成与视频内容标识对应的预设拖拽参数;
向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据;
根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据;
根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
一种流媒体视频数据处理装置,包括:
数据接收模块,用于接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息;
参数生成模块,用于生成与视频内容标识对应的预设拖拽参数;
数据获取模块,用于向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据;
数据缓存模块,用于根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据;
数据拼接模块,用于根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息;
生成与视频内容标识对应的预设拖拽参数;
向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据;
根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据;
根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息;
生成与视频内容标识对应的预设拖拽参数;
向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据;
根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据;
根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
上述流媒体视频数据处理方法、装置、计算机设备和存储介质,所述方法通过接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息,生成与视频内容标识对应的预设拖拽参数,向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据,根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。通过生成的预设拖拽参数获取元数据,将元数据和视频数据分离,通过分离缓存的方式进行数据缓存,节约磁盘空间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中流媒体视频数据处理方法的应用场景图;
图2为一个实施例中流媒体视频数据处理方法的流程示意图;
图3为另一个实施例中流媒体视频数据处理方法的流程示意图;
图4为一个实施例中分片信息确定步骤的流程示意图;
图5为一个具体实施例中流媒体视频数据处理方法的流程示意图;
图6为一个实施例中流媒体视频数据处理装置的结构框图;
图7为另一个实施例中流媒体视频数据处理装置的结构框图;
图8为一个实施例中数据缓存模块的结构框图;
图9为一个实施例中计算机设备的内部结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中流媒体视频数据处理方法的应用环境图。参照图1,该流媒体视频数据处理方法应用于流媒体视频数据处理系统。该流媒体视频数据处理系统包括终端组110、缓存加速服务器120和源站130。终端组110包括多个终端,如终端112、终端114和终端116,110和缓存加速服务器120通过网络连接,缓存加速服务器120与源站130过网络连接。缓存加速服务器120获取接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息,生成与视频内容标识对应的预设拖拽参数,向源站130获取与拖拽参数对应的视频信息,视频信息包含元数据,根据视频内存信息确定分片信息,向源站130获取与分片信息对应的分片视频数据,缓存分片视频数据,根据视频播放请求拼接元数据和所述分片视频数据,得到对应的播放数据。将播放数据发送至对应的终端。
终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。缓存加速服务器120或源站130都可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种流媒体视频数据处理方法。本实施例主要以该方法应用于上述图1中的缓存加速服务器120来举例说明。参照图2,该流媒体视频数据处理方法具体包括如下步骤:
步骤S202,接收至少一个终端发送的视频播放请求。
具体地,视频播放请求携带了视频内容标识和对应的视频内存信息。视频播放请求是指用户发送的用于获取播放数据的请求,该视频播放请求中携带了视频内容标识和视频内存信息,其中视频内容标识是用于标识视频内容的标签数据,视频内容标识包括视频主题、视频拖拽参数、视频类别等的至少一种,视频拖拽参数包括起始位置参数和终止位置参数的中的至少一个,其中起始位置参数可以用start表示,终止位置参数可以采用end表示。视频内存信息包括视频的内存大小信息和视频的播放位置信息等。缓存加速服务器是用于缓存视频数据的服务器,缓存加速服务器获取至少一个终端发送的视频播放请求。
步骤S204,生成与视频内容标识对应的预设拖拽参数。
步骤S206,向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据。
具体地,预设拖拽参数是预先设置的包括预设起始位置参数和预设终止位置参数的参数。预设拖拽参数可以用于获取视频内容标识对应的视频信息,其中视频信息包括元数据,和根据预设拖拽参数的拖拽起始位置和终止位置确定的视频数据。预设拖拽参数包括预设起始位置参数start和预设终止位置参数end,其中start和end可以预先设定,如设置start=0,end=1,生成预设拖拽参数后,将预设拖拽参数发送至源站,源站根据预设拖拽参数获取对应的视频数据和元数据,将获取到的视频数据和元数据返回服务器。其中源站是指用于存储流媒体视频数据的服务器,元数据(Metadata)是用于描述流媒体视频数据的数据,主要是描述流媒体视频数据的数据属性信息。
步骤S208,根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频数据,缓存分片视频数据。
具体地,分片信息是指分片后的分片视频数据的属性信息,包括分片视频数据的内存大小信息、播放位置信息等。将分片信息发送至源站,从源站中获取与分片信息对应的分片视频数据,分片视频数据是指将较大内存的视频数据按照一定内存大小进行划分后得到的视频数据。如一个视频的内存为20M,按照2M进行划分,得到10个分片视频数据,其中每一分片视频数据的内存大小为2M,缓存加速服务器中存在的分片视频数据的内存大小2M。
步骤S210,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
具体地,播放数据是用于发送至播放终端的视频数据,该视频数据是根据用户发送的视频播放请求对缓存的分片视频数据和元数据进行拼接得到的。用户发送的视频播放请求不相同,在对视频数据元数据进行拼接时得到的播放数据不相同。如用户发送的视频播放请求中携带了拖拽参数start或end时,直接将元数据和拖拽参数对应的视频数据进行拼接,得到播放数据。当用户发送的视频播放请求不包含拖拽参数start或end时,直接将源站返回的分片视频数据进行拼接得到播放数据。
在一个具体的实施例中,用户发送的视频播放请求中携带了拖拽参数,将拖拽参数对应的分片视频数据进行拼接,即当拖拽参数对应的视频内存大小与多个分片视频数据的内存大小的和相同,直接将多个分片视频数据拼接和元数据拼接成播放数据,反之,获取分片视频数据的视频内容全部一致的分片视频数据,和分片视频数据的部分视频内容与拖拽参数内容一致的视频,以及元数据进行拼接,得到播放数据。如当用户想要观看的视频内容为10M-20M时,将10M-12M、12M-14M、14M-16M、16M-18M和18M-20M的分片视频数据和元数据进行拼接得到播放数据,当用户想要观看的视频内容为10M-19M时,将10M-12M、12M-14M、14M-16M、16M-18M,和18M-19M,以及元数据进行拼接得到播放数据。
在一个实施例中,生成与视频内容标识对应的预设拖拽参数之前,还包括:判断是否存在与视频播放请求对应的元数据。当存在时,进入根据视频内存信息确定分片信息的步骤,当不存在时,进入向源站获取与拖拽参数对应的视频信息的步骤。
具体地,缓存加速服务器在生成与视频内容标识对应的预设拖拽参数之后,首先在本地搜索是否存在与视频播放请求对应的元数据。其中元数据中包含了视频内容标识。
在一个实施例中,根据视频播放请求中的视频内容标识与缓存加速服务器中的各个元数据的视频内容标识进行匹配。
当匹配成功时,表示缓存加速服务器中已经缓存了视频内容标识对应的部分或全部的分片视频数据,进入根据视频内存信息确定分片信息的步骤。
当匹配失败时,表示缓存加速服务器中不存在与视频内容标识对应的分片视频数据,进入向源站获取与拖拽参数对应的视频信息的步骤。直接根据元数据进行判断避免相同数据的重复获取。
在一个实施例中,根据视频内存信息确定分片信息之前,还包括:判断是否缓存到与视频播放请求对应的全部分片视频数据,当缓存到全部分片视频数据时,进入根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据的步骤,当未缓存到全部分片视频数据时,持续对全部分片视频数据的判断步骤,直至缓存到全部分片视频。
具体地,当缓存加速服务器中的元数据的视频内容标识与视频播放请求中的视频内容标识匹配时,判断缓存加速服务器中缓存的分片视频数据与视频播放请求的视频数据是否匹配,若匹配,则根据视频播放请求拼接元数据和分片视频数据,得到播放数据。如用户想要观看的视频数据为10-20分钟,缓存加速服务器中包含了10-20分钟的视频数据,则直接将缓存加速服务器中的分片视频数据和元数据进行拼接,得到播放数据。若不匹配,则根据视频播放请求中的视频内存信息向源站获取对应的视频数据,按照分片的方式缓存至缓存加速服务器。其中,若缓存加速服务器中包含视频播放请求对应的部分视频数据,则剩余部分从源站中获取,如当用户想要观看的视频数据为10-40分钟时,缓存加速服务器中包含了10-20分钟的视频数据,则剩下的20-40分钟的视频数据,向源站获取。若缓存加速服务器中不包含视频播放请求对应的视频数据,则向源站获取视频播放请求对应的视频数据。判断缓存加速服务器中是否存在对应的视频数据,避免获取重复的视频数据,直接从缓存加速服务器获取视频数据更为便捷。
在一个实施例中,步骤S210之后,还包括:
步骤S212,提取视频播放请求中的终端标识,将播放数据发送至终端标识对应的终端。
具体地,终端标识是用于标识终端的标签数据,终端标识可以采用字母、文字、特殊符号和数字等构成。每一个视频播放请求都携带了对应的终端标识。缓存加速服务器拼接得到播放数据后,提取视频播放请求中的终端标识,将播放数据发送至终端标识对应的终端中。如终端A发送请求播放节目X的视频播放请求,在获取到节目X的播放数据后,将播放数据发送至终端A。
上述流媒体视频数据处理方法,通过接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息,生成与视频内容标识对应的预设拖拽参数,向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据,根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。缓存加速服务器通过根据视频播放请求自动生成预设拖拽参数,根据预设拖拽参数向源站获取是视频信息,根据视频播放请求中携带的信息向源站获取分片视频数据,根据视频播放请求拼接分片视频数据,得到播放数据。其中预设拖拽参数能够获取到元数据,不同的视频提供商对视频请求响应的内容存在差异性,通过预设拖拽参数将元数据分离出来,在根据视频播放请求获取对应的视频数据,然后在将视频数据和元数据进行拼接,使得缓存加速服务器能够更好的获取不同视频提供商的视频,满足用户需求。通过分片缓存的方式,根据用户需求缓存对应的视频数减少源站压力,且能够更有效的利用缓存加速服务器的磁盘空间。
在一个实施例中,如图3所示,步骤S210之前,还包括:
步骤S402,判断视频播放请求中是否包含视频拖拽参数。
步骤S404,当视频播放请求包含视频拖拽参数时,拼接元数据与视频拖拽参数对应的分片视频数据,得到播放数据。
步骤S406,当视频播放请求未包含视频拖拽参数时,拼接视频播放请求对应的分片视频数据为播放数据。
具体地,判断用户发送的视频播放请求中是否包含了视频拖拽参数,其中视频拖拽参数是用于描述用户期望缓存的视频数据的标识,标识可以采用起始位置或终止位置中的至少一个位置表示,其中起始位置用start描述,终止位置用end描述。当视频播放请求中包含了视频拖拽参数时,将元数据和视频播放请求对应的分片视频数据进行拼接,得到播放数据。如当视频播放请求中包含视频拖拽参数为start=10,end=30时,将元数据和视频拖拽参数start=10和end=30对应的分片视频数据拼接,得到播放数据。当视频播放请求不包含视频拖拽参数时,直接将视频播放请求对应的分片视频数据进行拼接,得到播放数据。
在一个实施例中,如图4所示,步骤S208,包括:
步骤S2082,获取预设分片规则。
步骤S2084,根据视频内存大小和预设分片规则确定视频分片数量。
步骤S2086,根据视频播放位置信息和分片数量确定各个分片视频数据的播放位置信息。
具体地,预设分片规则是指预先设置的用于对视频进行分片的规则,该规则可以自定义,如可以是技术人员根据网络带宽、服务器性能等进行分析后制定的规则。在一个实施例中,预设分片规则包括内存分片规则、时间分片规则等,以内存分片规则为例,定义分片内存为2M,视频内存大小为10M,则分片数量为5。在确定了分片数量后,根据视频播放位置信息和分片数量确定各个分片视频数据的播放位置信息,如视频播放位置信息为10-20分钟,则10分钟时为第一分片视频数据的起始位置,12分钟时为第一分片视频数据的终止位置,第二分片视频数据的起始位置为12分钟、终止位置为14分钟,同理可知剩下三个分片的播放位置信息。
在一个具体的实施例中,上述流媒体视频数据处理方法包括:
步骤S602,终端向缓存加速服务器发送FLV视频播放请求。
步骤S604,缓存加速服务器根据FLV视频播放请求判断是否存在对应的元数据,当存在时,进入步骤S606A,当不存在时,进入步骤S606B。
步骤S606A,判断是否存在与FLV视频播放请求对应的视频数据,若存在,进入步骤S616B,不存在,进入步骤S612B。
步骤S606B,缓存加速服务器根据FLV视频播放请求重新拼接预设拖拽参数start=0和end=1,将预设拖拽参数发送至源站。
步骤S608B,源站根据预设拖拽参数获取对应的视频信息,将视频信息发送至缓存加速服务器。
步骤S610B,缓存加速服务器以文件名+metadata(元数据)为标识缓存源站发送的视频信息,视频信息包括元数据和视频数据。
步骤S612B,缓存加速服务器根据视频播放请求的视频内容标识中的范围以range头的方式按一定分片大小依次向源站回源。
步骤S614B,源站根据缓存加速服务器请求的range范围,响应对应的分片视频数据。
步骤S616B,缓存加速服务器以文件名+range范围为标识缓存源站响应的分片视频数据。
步骤S618B,缓存加速服务器判断视频播放请求是否带start或end拖拽参数,若是,进入步骤S620B,若不是,进入步骤S622B。
步骤S620B,将元数据和分片视频数据拼接成播放数据。即将视频信息中的是数据删除,剩下元数据,将元数据与分片视频进行拼接,得到播放数据。
步骤S622B,拼接分片视频数据,得到播放数据。
步骤S624B,缓存加速服务器将播放数据发送至终端。
图2-5为一个实施例中流媒体视频数据处理方法的流程示意图。应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种流媒体视频数据处理装置200,包括:
数据接收模块202,用于接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息。
参数生成模块204,用于生成与视频内容标识对应的预设拖拽参数。
数据获取模块206,用于向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据。
数据缓存模块208,用于根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据。
数据拼接模块210,用于根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
在一个实施例中,上述流媒体视频数据处理装置,还包括:
元数据判断模块212,用于判断是否存在与视频播放请求对应的元数据,当存在时,返回数据缓存模块208,当不存在时,返回数据获取模块206。
在一个实施例中,上述流媒体视频数据处理装置,还包括:
视频数据判断模块214,用于判断是否缓存到与视频播放请求对应的全部分片视频数据,当缓存到全部分片视频数据时,返回数据拼接模块208,当未缓存到全部分片视频数据时,返回数据获取模块206。
在一个实施例中,如图7所示,上述流媒体视频数据处理装置,还包括:
拖拽参数判断模块216,用于判断视频播放请求中是否包含视频拖拽参数。
数据拼接模块210还用于当视频播放请求包含视频拖拽参数时,拼接元数据与视频拖拽参数对应的分片视频数据,得到播放数据,当视频播放请求未包含视频拖拽参数时,拼接视频播放请求对应的分片视频数据为播放数据。
在一个实施例中,如图8所示,数据缓存模块208,包括:
信息获取单元2082,用于获取预设分片规则。
分片数量计算单元2084,用于根据视频内存大小和预设分片规则确定视频分片数量。
分片信息确定单元2086,用于根据视频播放位置信息和分片数量确定各个分片视频数据的播放位置信息。
在一个实施例中,上述流媒体视频数据处理装置,还包括:
数据发送模块218,用于提取视频播放请求中携带的终端标识,将播放数据发送至终端标识对应的终端。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或缓存加速服务器120)。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现流媒体视频数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行流媒体视频数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的流媒体视频数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该流媒体视频数据处理装置的各个程序模块,比如,图6所示的数据接收模块202、参数生成模块204、数据获取模块206、数据缓存模块208和数据拼接模块210。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的流媒体视频数据处理方法中的步骤。
例如,图9所示的计算机设备可以通过如图6所示的流媒体视频数据处理装置中的数据接收模块202执行接收至少一个终端发送的视频播放请求,视频播放请求携带了视频内容标识和对应的视频内存信息。计算机设备可通过参数生成模块204执行生成与视频内容标识对应的预设拖拽参数。计算机设备可通过数据获取模块206执行向源站获取与预设拖拽参数对应的视频信息,视频信息包含元数据。计算机设备可通过数据缓存模块208执行根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频,缓存分片视频数据。计算机设备可通过数据拼接模块210执行根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计了视算机程序时实现以下步骤:接收至少一个终端发送的视频播放请求,视频播放请求携带视频内容标识和对应的视频内存信息,生成与视频内容标识对应的预设拖拽参数,向源站获取与拖拽参数对应的视频信息,视频信息包含元数据,根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频数据,缓存分片视频数据,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
在一个实施例中,生成与所述视频内容标识对应的预设拖拽参数之前,处理器执行计算机程序时还实现以下步骤:判断是否存在与所述视频播放请求对应的元数据,当不存在时,进入向源站获取与所述拖拽参数对应的视频信息的步骤。
在一个实施例中,根据视频内存信息确定分片信息之前,处理器执行计算机程序时还实现以下步骤:判断是否缓存到与视频播放请求对应的全部分片视频数据,当缓存到全部分片视频数据时,进入根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据的步骤,当未缓存到全部分片视频数据时,持续对全部分片视频数据的判断步骤,直至缓存到全部分片视频数据。
在一个实施例中,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据之前,处理器执行计算机程序时还实现以下步骤:判断视频播放请求中是否包含视频拖拽参数,当视频播放请求包含视频拖拽参数时,拼接元数据与视频拖拽参数对应的分片视频数据,得到播放数据,当视频播放请求未包含视频拖拽参数时,拼接视频播放请求对应的分片视频数据为播放数据。
在一个实施例中,视频内存信息包括视频播放位置信息和视频内存大小,分片信息包括各个分片视频数据的播放位置信息,根据所述视频内存信息确定分片信息,包括:获取预设分片规则,根据视频内存大小和预设分片规则确定视频分片数量,根据视频播放位置信息和分片数量确定各个分片视频数据的播放位置信息。
在一个实施例中,视频播放请求中携带终端标识,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据之后,处理器执行计算机程序时还实现以下步骤:提取视频播放请求中携带的终端标,将播放数据发送至终端标识对应的终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收至少一个终端发送的视频播放请求,视频播放请求携带视频内容标识和对应的视频内存信息,生成与视频内容标识对应的预设拖拽参数,向源站获取与拖拽参数对应的视频信息,视频信息包含元数据,根据视频内存信息确定分片信息,向源站获取与分片信息对应的分片视频数据,缓存分片视频数据,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据。
在一个实施例中,生成与所述视频内容标识对应的预设拖拽参数之前,处理器执行计算机程序时还实现以下步骤:判断是否存在与所述视频播放请求对应的元数据,当不存在时,进入向源站获取与所述拖拽参数对应的视频信息的步骤。
在一个实施例中,根据视频内存信息确定分片信息之前,处理器执行计算机程序时还实现以下步骤:判断是否缓存到与视频播放请求对应的全部分片视频数据,当缓存到全部分片视频数据时,进入根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据的步骤,当未缓存到全部分片视频数据时,持续对全部分片视频数据的判断步骤,直至缓存到全部分片视频数据。
在一个实施例中,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据之前,处理器执行计算机程序时还实现以下步骤:判断视频播放请求中是否包含视频拖拽参数,当视频播放请求包含视频拖拽参数时,拼接元数据与视频拖拽参数对应的分片视频数据,得到播放数据,当视频播放请求未包含视频拖拽参数时,拼接视频播放请求对应的分片视频数据为播放数据。
在一个实施例中,视频内存信息包括视频播放位置信息和视频内存大小,分片信息包括各个分片视频数据的播放位置信息,根据所述视频内存信息确定分片信息,包括:获取预设分片规则,根据视频内存大小和预设分片规则确定视频分片数量,根据视频播放位置信息和分片数量确定各个分片视频数据的播放位置信息。
在一个实施例中,视频播放请求中携带终端标识,根据视频播放请求拼接元数据和分片视频数据,得到对应的播放数据之后,处理器执行计算机程序时还实现以下步骤:提取视频播放请求中携带的终端标,将播放数据发送至终端标识对应的终端。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种流媒体视频数据处理方法,所述方法包括:
接收至少一个终端发送的视频播放请求,所述视频播放请求携带了视频内容标识和对应的视频内存信息;
生成与所述视频内容标识对应的预设拖拽参数;
向源站获取与所述拖拽参数对应的视频信息,所述视频信息包含元数据;
根据所述视频内存信息确定分片信息,向所述源站获取与所述分片信息对应的分片视频数据,缓存所述分片视频数据;
根据视频播放请求拼接所述元数据和所述分片视频数据,得到对应的播放数据。
2.根据权利要求1所述的方法,其特征在于,所述生成与所述视频内容标识对应的预设拖拽参数之前,还包括:
判断是否存在与所述视频播放请求对应的元数据;
当不存在时,进入向源站获取与所述拖拽参数对应的视频信息的步骤。
3.根据权利要求1所述的方法,其特征在于,所述根据所述视频内存信息确定分片信息之前,还包括:
判断是否缓存到与所述视频播放请求对应的全部分片视频数据;
当缓存到全部所述分片视频数据时,进入根据视频播放请求拼接所述元数据和所述分片视频数据,得到对应的播放数据的步骤;
当未缓存到全部所述分片视频数据时,持续对全部所述分片视频数据的判断步骤,直至缓存到全部分片视频数据。
4.根据权利要求1所述的方法,其特征在于,所述根据视频播放请求拼接所述元数据和所述分片视频数据,得到对应的播放数据之前,还包括:
判断所述视频播放请求中是否包含视频拖拽参数;
当所述视频播放请求包含所述视频拖拽参数时,拼接所述元数据与所述视频拖拽参数对应的所述分片视频数据,得到所述播放数据;
当所述视频播放请求未包含所述视频拖拽参数时,拼接所述视频播放请求对应的所述分片视频数据为所述播放数据。
5.根据权利要求1所述的方法,其特征在于,所述视频内存信息包括视频播放位置信息和视频内存大小,所述分片信息包括各个所述分片视频数据的播放位置信息,所述根据所述视频内存信息确定分片信息,包括:
获取预设分片规则;
根据所述视频内存大小和所述预设分片规则确定视频分片数量;根据所述视频播放位置信息和所述分片数量确定各个所述分片视频数据的播放位置信息。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述视频播放请求中携带终端标识,所述根据视频播放请求拼接所述元数据和所述分片视频数据,得到对应的播放数据之后,还包括:
提取所述视频播放请求中携带的终端标识;
将所述播放数据发送至所述终端标识对应的终端。
7.一种流媒体视频数据处理装置,其特征在于,所述装置包括:
数据接收模块,用于接收至少一个终端发送的视频播放请求,所述视频播放请求携带了视频内容标识和对应的视频内存信息;
参数生成模块,用于生成与所述视频内容标识对应的预设拖拽参数;
数据获取模块,用于向源站获取与所述拖拽参数对应的视频信息,所述视频信息包含元数据;
数据缓存模块,用于根据所述视频内存信息确定分片信息,向所述源站获取与所述分片信息对应的分片视频,缓存所述分片视频数据;
数据拼接模块,用于根据视频播放请求拼接所述元数据和所述分片视频数据,得到对应的播放数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
元数据判断模块,用于判断是否存在与所述拖拽参数对应的元数据,当不存在时,返回数据获取模块。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201811314448.5A 2018-11-06 2018-11-06 流媒体视频数据处理方法、装置、计算机设备和存储介质 Active CN111147888B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811314448.5A CN111147888B (zh) 2018-11-06 2018-11-06 流媒体视频数据处理方法、装置、计算机设备和存储介质
EP19881958.3A EP3879842A4 (en) 2018-11-06 2019-11-05 METHOD AND EQUIPMENT FOR VIDEO DATA PROCESSING FROM STREAMING MEDIA AND COMPUTER DEVICE AND STORAGE MEDIUM
PCT/CN2019/115725 WO2020094012A1 (zh) 2018-11-06 2019-11-05 流媒体视频数据处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811314448.5A CN111147888B (zh) 2018-11-06 2018-11-06 流媒体视频数据处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111147888A true CN111147888A (zh) 2020-05-12
CN111147888B CN111147888B (zh) 2022-06-03

Family

ID=70516523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811314448.5A Active CN111147888B (zh) 2018-11-06 2018-11-06 流媒体视频数据处理方法、装置、计算机设备和存储介质

Country Status (3)

Country Link
EP (1) EP3879842A4 (zh)
CN (1) CN111147888B (zh)
WO (1) WO2020094012A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415069A (zh) * 2008-10-22 2009-04-22 清华大学 一种服务器及其在线播放视频的发送方法
CN102883187A (zh) * 2012-09-17 2013-01-16 华为技术有限公司 一种时移节目服务方法、设备和系统
CN106534946A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 视频播放的控制方法和装置
CN106550284A (zh) * 2015-09-21 2017-03-29 北京国双科技有限公司 一种播放分片视频的方法及装置
WO2017071566A1 (zh) * 2015-10-26 2017-05-04 中兴通讯股份有限公司 网络视频播放方法和系统及用户终端、家庭流服务节点
CN109104617A (zh) * 2018-09-05 2018-12-28 杭州领智云画科技有限公司 视频请求响应方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857794B (zh) * 2011-06-28 2018-03-06 上海聚力传媒技术有限公司 一种用于合并视频分段的方法与设备
CN102611945B (zh) * 2011-12-19 2014-06-04 北京蓝汛通信技术有限责任公司 一种流媒体切片方法、切片服务器及流媒体点播系统
WO2013173721A1 (en) * 2012-05-18 2013-11-21 Home Box Office, Inc. Audio-visual content delivery
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
CN105763960B (zh) * 2016-03-01 2019-01-01 聚好看科技股份有限公司 一种网络视频播放的方法和装置
CN105872807A (zh) * 2016-05-16 2016-08-17 乐视控股(北京)有限公司 一种视频播放的方法和系统
CN108235151A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 一种视频直播的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415069A (zh) * 2008-10-22 2009-04-22 清华大学 一种服务器及其在线播放视频的发送方法
CN102883187A (zh) * 2012-09-17 2013-01-16 华为技术有限公司 一种时移节目服务方法、设备和系统
CN106550284A (zh) * 2015-09-21 2017-03-29 北京国双科技有限公司 一种播放分片视频的方法及装置
WO2017071566A1 (zh) * 2015-10-26 2017-05-04 中兴通讯股份有限公司 网络视频播放方法和系统及用户终端、家庭流服务节点
CN106534946A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 视频播放的控制方法和装置
CN109104617A (zh) * 2018-09-05 2018-12-28 杭州领智云画科技有限公司 视频请求响应方法和系统

Also Published As

Publication number Publication date
EP3879842A1 (en) 2021-09-15
EP3879842A4 (en) 2022-08-31
WO2020094012A1 (zh) 2020-05-14
CN111147888B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
US9961398B2 (en) Method and device for switching video streams
CN107483627B (zh) 一种文件分发、下载方法、分发服务器、客户端及系统
CN110096660B (zh) 用于加载页面图片的方法、装置和电子设备
US11394796B2 (en) Dynamic and static data of metadata objects
US20130014064A1 (en) Predictive, Multi-Layer Caching Architectures
CN107197359B (zh) 视频文件缓存方法及装置
CN109729386B (zh) 一种视频文件启播方法、系统及电子设备和存储介质
CN108184170B (zh) 一种数据处理方法及装置
CN109862100B (zh) 用于推送信息的方法和装置
CN109525622B (zh) 分片资源id的生成方法、资源分享方法,装置及电子设备
WO2019051628A1 (zh) 一种文件分发、下载方法、分发服务器、客户端及系统
CN109255035B (zh) 用于构建知识图谱的方法和装置
CN108334516B (zh) 信息推送方法和装置
CN112269959A (zh) 展示内容的控制方法、装置、可读介质和电子设备
WO2023116219A1 (zh) Cdn节点分配方法、装置、电子设备、介质及程序产品
CN112632008A (zh) 一种数据分片的传输方法、装置及计算机设备
CN115168362A (zh) 数据处理方法、装置、可读介质及电子设备
CN111147888B (zh) 流媒体视频数据处理方法、装置、计算机设备和存储介质
CN110020290B (zh) 网页资源缓存方法、装置、存储介质及电子装置
CN113297267A (zh) 数据缓存和任务处理方法、装置、设备以及存储介质
WO2016184288A1 (zh) 一种广告投放方法、装置及系统
CN107291870B (zh) 一种分布式存储中文件批量读取方法
CN112084441A (zh) 信息检索方法、装置和电子设备
CN113473247B (zh) 一种视频播放请求处理方法、装置、系统和电子设备
CN113411364B (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