一种数据写入的方法、装置及设备制造方法及图纸

技术编号:19009184 阅读:31 留言:0更新日期:2018-09-22 09:03
本发明专利技术适用于计算机技术领域,提供了一种数据写入的方法、装置及设备,包括:获取当前写入数据,并确定所述当前写入数据对应的来源标记;基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据;将所述当前写入数据的当前数据信息写入数据节点列表,根据所述来源标记确定与所述当前写入数据对应的数据节点序号列表,获取由所述来源标记确定的来源已写入所述环形缓冲区中的写入数据的总数量,基于所述总数量,确定所述数据节点序号在所述数据节点序号列表中存储的数据序号,基于所述数据序号,将与所述当前数据信息对应的数据节点序号,写入所述数据节点序号列表。所述方法能够增大存储空间利用率。

Data writing method, device and device

The invention is applicable to the field of computer technology and provides a method, device and device for data writing, including: acquiring the current written data and determining the source tag corresponding to the current written data; and covering one or more historical writes in the ring buffer based on the data length of the current written data In order to store the currently written data, write the current data information of the currently written data into the data node list, determine the serial number list of the data node corresponding to the currently written data according to the source tag, and obtain the write data written into the ring buffer from the source tag determined by the source tag. The total number, based on the total number, determines the data serial number stored in the data node serial number list, and writes the data node serial number corresponding to the current data information into the data node serial number list based on the data serial number. The method can increase the utilization rate of storage space.

【技术实现步骤摘要】
一种数据写入的方法、装置及设备
本专利技术属于计算机
,尤其涉及一种数据写入的方法、装置及设备。
技术介绍
随着互联网技术的发展,一种在网络中使用流式传输技术的连续时基媒体-流媒体应用而生,常见的流媒体有音频、视频或多媒体文件。流服务可以给用户提供持续不断的音/视频流,满足用户无需下载即可实现在线观看动态影音的需求,因此,流媒体技术在媒体点播领域和媒体直播领域得到了极大的应用。但是,现有的流媒体转发模块会预先为每个网络链路预分配足够一帧的帧长度的内存用于数据的接收和发送,如果有多个网络链路,那将会占用大量的内存资源,造成内存资源的浪费,增大内存负担。例如,一个网络链路分配的内存大小为2M,而发送的数据的大小为0.1M,如果有10个网络链路,那么将分配20M的内存,而实际使用的内存却只有2M。
技术实现思路
有鉴于此,本专利技术实施例提供了一种数据写入的方法、装置及设备,以解决现有技术中的流媒体网络的内存分配方式导致的内存占用大、内存资源浪费的问题。本专利技术实施例的第一方面提供了一种数据写入的方法,包括:获取当前写入数据,并确定所述当前写入数据对应的来源标记;基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据;将所述当前写入数据的当前数据信息写入数据节点列表,所述当前数据信息包括所述当前写入数据的数据长度和在所述环形缓冲区中的偏移量,所述数据节点列表包括多个数据节点序号,所述当前数据信息对应一个数据节点序号;根据所述来源标记确定与所述当前写入数据对应的数据节点序号列表,获取由所述来源标记确定的来源已写入所述环形缓冲区中的写入数据的总数量,基于所述总数量,确定所述数据节点序号在所述数据节点序号列表中存储的数据序号,基于所述数据序号,将与所述当前数据信息对应的数据节点序号,写入所述数据节点序号列表。本专利技术实施例的第二方面提供了一种数据写入的装置,包括:获取模块,用于获取当前写入数据,并确定所述当前写入数据对应的来源标记;覆盖模块,用于基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据;写入模块,用于将所述当前写入数据的当前数据信息写入数据节点列表,所述当前数据信息包括所述当前写入数据的数据长度和在所述环形缓冲区中的偏移量,所述数据节点列表包括多个数据节点序号,所述当前数据信息对应一个数据节点序号;根据所述来源标记确定与所述当前写入数据对应的数据节点序号列表,获取由所述来源标记确定的来源已写入所述环形缓冲区中的写入数据的总数量,基于所述总数量,确定所述数据节点序号在所述数据节点序号列表中存储的数据序号,基于所述数据序号,将与所述当前数据信息对应的数据节点序号,写入所述数据节点序号列表。本专利技术实施例的第三方面提供了一种数据写入的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上第一方面所述的方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述方法的步骤。本专利技术实施例与现有技术相比存在的有益效果是:本专利技术实施例首先获取当前写入数据,并确定所述当前写入数据对应的来源标记,然后基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据,由于将不同来源的数据都写入一个固定大小的环形缓冲区,且当该环形缓冲区的存储空间不够的时候,通过覆盖环形缓冲区中一个或多个历史写入数据来存储当前写入数据,由此使得环形缓冲区不仅可以循环存储不同的写入数据,并且能够基于当前写入数据的数据长度进行存储空间的分配,而不是为每一个写入数据分配固定大小的存储空间,大大的提高了存储空间的利用率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1示出了本专利技术实施例提供的一种数据写入的方法的实现流程示意图;图2示出了本专利技术实施例提供的环形缓冲区的示意图;图3示出了本专利技术实施例提供的环形缓冲区的示意图;图4示出了本专利技术实施例提供的步骤S12的实现流程示意图;图5示出了本专利技术实施例提供的环形缓冲区的示意图;图6示出了本专利技术实施例提供的环形缓冲区的示意图;图7示出了本专利技术实施例提供的步骤S122的实现流程示意图;图8示出了本专利技术实施例提供的环形缓冲区的示意图;图9示出了本专利技术实施例提供的环形缓冲区的示意图;图10示出了本专利技术实施例提供的环形缓冲区的示意图;图11示出了本专利技术实施例提供的环形缓冲区的示意图;图12示出了本专利技术实施例提供的数据节点列表的示意图;图13示出了本专利技术实施例提供的数据节点序号列表的示意图;图14示出了本专利技术实施例提供的环形缓冲区的示意图;图15示出了本专利技术实施例提供的一种数据读取的方法的实现流程示意图;图16示出了本专利技术实施例提供的一种数据写入的装置的结构示意图;图17示出了本专利技术实施例提供的一种数据写入的设备的示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解的是,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一图1示出了本专利技术实施例提供的数据写入的方法的实现流程。本实施例中的数据写入的方法的执行主体为具有实现本专利技术实施例所述的数据写入的方法的设备,该设备包括但不限于流媒体转发设备,还可以包括能够实现数据写入功能的移动终端、服务器等。下面主要以码流中的帧数据的写入为例来详细讲述本专利技术实施例:S11、获取当前写入数据,并确定所述当前写入数据对应的来源标记。在本专利技术实施例中,写入数据的来源包括但不限于码流数据,写入数据的来源还可以是音频数据。当写入数据的来源是码流的时候,来源标记为码流标记,写入数据为帧数据。来源标记可以是数字和/或字母。码流是指视频文件在单位时间内使用的数据流量,也叫码率,是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越好。由上述码流定义部分的内容可知,一个码流可能包含多帧帧数据,而本专利技术实施例提供的方法需要在一个环形缓冲区中存储不同码流对应的帧数据(即写入数据),如果在获取到当前帧数据的时候不对当前帧数据对应的码流进行确认,那么后续在读取该当前帧数据的时候,将无法得知从环形缓冲区的哪个位置开始读取当前帧数据,或者读取的是哪个码流的帧数据,进而影响后续对读取的帧数据的进一步处理。S12、基于所述当前写入数据的数据长度,覆盖环形缓冲区中一个或多个历史写入数据以存储所述当前写入数据。在实施步骤S12之前,设置所述环形缓冲区。本专利技术实施例中的码流可以预先发送到流媒体转发设备,然后再由流媒体转发设备转发给客户端,因此,在流媒体转发设备中预先设置所述环形缓冲区。其中,流媒体转发设备是流媒体应用系统的核心器件,是向用户提供视频服务的关键平台。例如,当有多个用户并发访问同一本文档来自技高网...
一种数据写入的方法、装置及设备

【技术保护点】
1.一种数据写入的方法,其特征在于,包括:获取当前写入数据,并确定所述当前写入数据对应的来源标记;基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据;将所述当前写入数据的当前数据信息写入数据节点列表,所述当前数据信息包括所述当前写入数据的数据长度和在所述环形缓冲区中的偏移量,所述数据节点列表包括多个数据节点序号,所述当前数据信息对应一个数据节点序号;根据所述来源标记确定与所述当前写入数据对应的数据节点序号列表,获取由所述来源标记确定的来源已写入所述环形缓冲区中的写入数据的总数量,基于所述总数量,确定所述数据节点序号在所述数据节点序号列表中存储的数据序号,基于所述数据序号,将与所述当前数据信息对应的数据节点序号,写入所述数据节点序号列表。

【技术特征摘要】
1.一种数据写入的方法,其特征在于,包括:获取当前写入数据,并确定所述当前写入数据对应的来源标记;基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据;将所述当前写入数据的当前数据信息写入数据节点列表,所述当前数据信息包括所述当前写入数据的数据长度和在所述环形缓冲区中的偏移量,所述数据节点列表包括多个数据节点序号,所述当前数据信息对应一个数据节点序号;根据所述来源标记确定与所述当前写入数据对应的数据节点序号列表,获取由所述来源标记确定的来源已写入所述环形缓冲区中的写入数据的总数量,基于所述总数量,确定所述数据节点序号在所述数据节点序号列表中存储的数据序号,基于所述数据序号,将与所述当前数据信息对应的数据节点序号,写入所述数据节点序号列表。2.如权利要求1所述的方法,其特征在于,在所述基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据之前,还包括:设置所述环形缓冲区。3.如权利要求1所述的方法,其特征在于,所述基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据,包括:累计所述环形缓冲区中最先存储的至少一个历史写入数据的累积数据长度,直至所述累积数据长度大于或等于所述当前写入数据的数据长度;利用所述当前写入数据覆盖所述累积数据长度包括的所述历史写入数据。4.如权利要求3所述的方法,其特征在于,在所述将与所述当前数据信息对应的数据节点序号,写入所述数据节点序号列表之后,还包括:获取下一写入数据,并确定所述下一写入数据对应的来源标记;相应地,所述基于所述当前写入数据的数据长度,覆盖环形缓冲区中的一个或多个历史写入数据以存储所述当前写入数据,包括:在所述下一写入数据的数据长度小于所述累积数据长度与所述当前写入数据的数据长度之差时,基于所述下一写入数据的数据长度、所述当前写入数据的数据长度、所述当前写入数据在所述环形缓冲区中的偏移量和所述累积数据长度...

【专利技术属性】
技术研发人员:吴玲
申请(专利权)人:深圳市景阳信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1