CN108763425B - 存储和读取音频文件的方法和装置 - Google Patents
存储和读取音频文件的方法和装置 Download PDFInfo
- Publication number
- CN108763425B CN108763425B CN201810507416.0A CN201810507416A CN108763425B CN 108763425 B CN108763425 B CN 108763425B CN 201810507416 A CN201810507416 A CN 201810507416A CN 108763425 B CN108763425 B CN 108763425B
- Authority
- CN
- China
- Prior art keywords
- metadata
- file
- file name
- summary information
- data
- 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
Abstract
本发明提供了一种存储和读取音频文件的方法和装置,属于计算机技术领域。所述方法包括:接收终端发送的目标音频文件的存储请求;获取所述目标音频文件的元数据、音频数据和文件名;对所述音频数据进行哈希,得到所述目标音频文件的摘要信息;对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,并在确定执行所述方法的设备未存储有所述摘要信息时,对所述音频数据和摘要信息进行对应存储,在确定所述设备存储有所述摘要信息时,不对所述音频数据进行存储。采用本发明,可以节约存储资源。
Description
技术领域
本发明涉及计算机技术,特别涉及一种存储和读取音频文件的方法和装置。
背景技术
随着计算机技术和网络技术的发展,由于网盘(还可以称为是网络硬盘)的便利性,网盘逐渐被用户所使用,用户可以将文件存储至网盘中,后续只要有网络,就可以随时随地获取网盘中自己存储的文件。
相关技术中,网盘存储用户上传的文件时,网盘的文件存储系统一般是将完整的文件作为哈希函数的输入,得到哈希值(哈希值为文件的摘要信息),然后存储文件名和哈希值的对应关系,并且存储哈希值和文件的数据的对应关系,后续当网盘接收到该文件名的读取请求时,可以查找到该文件名对应的哈希值,使用哈希值查找到文件的数据,发送至用户所使用的终端。
由于相关技术中,均是针对文本文件、视频文件等进行存储,并未涉及对音频文件进行存储,所以急需提供一种存储音频文件的方法。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种存储和读取音频文件的方法和装置。所述技术方案如下:
第一方面,提供了一种存储音频文件的方法,所述方法包括:
接收终端发送的目标音频文件的存储请求;
获取所述目标音频文件的元数据、音频数据和文件名;
对所述音频数据进行哈希,得到所述目标音频文件的摘要信息;
对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,并在确定执行所述方法的设备未存储有所述摘要信息时,对所述音频数据和摘要信息进行对应存储,在确定所述设备存储有所述摘要信息时,不对所述音频数据进行存储。
可选的,所述获取所述目标音频文件的元数据、音频数据和文件名,包括:
确定所述目标音频文件的格式类型;
根据所述目标音频文件的格式类型,获取所述目标音频文件的元数据、音频数据和文件名。
可选的,所述对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,包括:
将所述文件名、所述元数据和摘要信息对应存储至文件名、元数据和摘要信息的对应关系中。
可选的,所述对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,包括:
存储元数据,并且将所述文件名、所述元数据的存储位置和所述摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
可选的,所述方法还包括:
对所述元数据和所述终端的登录账户的账户标识进行对应存储。
第二方面,提供了一种读取音频文件的方法,所述方法包括:
接收终端发送的目标音频文件的读取请求,其中,所述读取请求中携带有所述目标音频文件的文件名;
根据所述文件名,获取所述文件名对应的摘要信息和元数据;
根据所述摘要信息,获取所述目标音频文件的音频数据;
对所述元数据和所述音频数据进行合并,得到所述目标音频文件;
向所述终端发送所述目标音频文件。
可选的,所述根据所述文件名,获取所述文件名对应的摘要信息和元数据,包括:
根据所述文件名、预先存储的文件名、元数据和摘要信息的对应关系,获取所述文件名对应的摘要信息和元数据。
可选的,所述根据所述文件名,获取所述文件名对应的摘要信息和元数据,包括:
根据预先存储的文件名、元数据的存储位置和摘要信息的对应关系,确定所述文件名对应的摘要信息和元数据的存储位置;
根据所述元数据的存储位置,获取所述元数据。
可选的,所述根据所述文件名,获取所述文件名对应的摘要信息和元数据,包括:
获取所述终端的登录账户的账户标识;
根据所述账户标识和所述文件名,获取所述账户标识和所述文件名对应的摘要信息和元数据。
可选的,所述对所述元数据和所述音频数据进行合并,得到所述目标音频文件,包括:
根据所述元数据中各数据帧的编号,对所述元数据和所述音频数据进行合并,得到所述目标音频文件。
第三方面,提供了一种存储音频文件的装置,所述装置包括:
第一接收模块,用于接收终端发送的目标音频文件的存储请求;
第一获取模块,用于获取所述目标音频文件的元数据、音频数据和文件名;
哈希模块,用于对所述音频数据进行哈希,得到所述目标音频文件的摘要信息;
存储模块,用于对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,并在确定执行所述方法的设备未存储有所述摘要信息时,对所述音频数据和摘要信息进行对应存储,在确定所述设备存储有所述摘要信息时,不对所述音频数据进行存储。
可选的,所述第一获取模块,用于:
确定所述目标音频文件的格式类型;
根据所述目标音频文件的格式类型,获取所述目标音频文件的元数据、音频数据和文件名。
可选的,所述存储模块,用于:
将所述文件名、所述元数据和摘要信息对应存储至文件名、元数据和摘要信息的对应关系中。
可选的,所述存储模块,用于:
存储元数据,并且将所述文件名、所述元数据的存储位置和所述摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
可选的,所述存储模块,还用于:
对所述元数据和所述终端的登录账户的账户标识进行对应存储。
第四方面,提供了一种读取音频文件的装置,所述装置包括:
第二接收模块,用于接收终端发送的目标音频文件的读取请求,其中,所述读取请求中携带有所述目标音频文件的文件名;
第二获取模块,用于根据所述文件名,获取所述文件名对应的摘要信息和元数据;根据所述摘要信息,获取所述目标音频文件的音频数据;
合并模块,用于对所述元数据和所述音频数据进行合并,得到所述目标音频文件;
发送模块,用于向所述终端发送所述目标音频文件。
可选的,所述第二获取模块,用于:
根据所述文件名、预先存储的文件名、元数据和摘要信息的对应关系,获取所述文件名对应的摘要信息和元数据。
可选的,所述第二获取模块,用于:
根据预先存储的文件名、元数据的存储位置和摘要信息的对应关系,确定所述文件名对应的摘要信息和元数据的存储位置;
根据所述元数据的存储位置,获取所述元数据。
可选的,所述第二获取模块,用于:
获取所述终端的登录账户的账户标识;
根据所述账户标识和所述文件名,获取所述账户标识和所述文件名对应的摘要信息和元数据。
可选的,所述合并模块,用于:
根据所述元数据中各数据帧的编号,对所述元数据和所述音频数据进行合并,得到所述目标音频文件。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例中,在往网盘中存储音频文件时,可以将元数据和音频数据分开存储,提供了存储音频文件的方法,而且在存储不同用户上传的相同音频数据时,可以仅存储一份音频数据,节约了存储资源,对应从网盘中读取音频文件时,可以首先获取到元数据和摘要信息,然后再基于摘要信息,获取到音频数据,将元数据和音频数据,合并得到音频文件,这样,既提供了网盘存储音频文件的方法,还节约了存储资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种存储音频文件的场景示意图;
图2是本发明实施例提供的一种存储音频文件的流程示意图;
图3是本发明实施例提供的一种拆分音频文件的示意图;
图4是本发明实施例提供的一种存储音频数据的示意图;
图5是本发明实施例提供的一种存储元数据的示意图;
图6是本发明实施例提供的一种拆分音频文件的示意图;
图7是本发明实施例提供的一种读取音频文件的流程示意图;
图8是本发明实施例提供的一种存储音频文件的结构示意图;
图9是本发明实施例提供的一种存储音频文件的结构示意图;
图10是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种存储音频文件的方法,该方法的执行主体为服务器。服务器可以网盘的服务器。服务器中可以设置有处理器、存储器、收发器等,处理器可以用于存储音频文件过程的处理,存储器可以用于存储音频文件的过程中需要的数据以及产生的数据(存储器可以是非易失性存储器),收发器可以用于接收以及发送数据。
在进行实施前,首先介绍一下本发明实施例的应用场景和名词:
如图1所示,用户想要使用网盘存储音频文件,可以在终端(智能手机、电脑、平板等)安装网盘客户端,用户可以点击网盘客户端的图标,终端则会检测到该图标的点击指令,显示网盘客户端的主界面。用户可以输入自己的账号和密码进行登录,然后点击主界面中显示的上传选项,终端则会接收到上传选项的点击指令,显示供用户选择文件的窗口,用户可以选择自己想要上传的音频文件,然后点击确认按键,终端则会检测到确认按键的点击指令,向服务器发送该音频文件的存储请求,服务器接收到存储请求后,可以对目标音频文件进行存储(存储方式在后面详细说明)。
音频文件,音频文件中包括音频数据和元数据,元数据是用于描述音频文件的属性的数据,如歌曲名称、专辑名称、发行日期等,音频数据是用于记录声波的数据。
网盘,可以称为是网络硬盘,由互联网公司推出的在线存储服务。网盘的服务器为用户划分一定的磁盘空间,为用户免费或收费提供文件存储、访问、备份、共享等文件管理的服务,并且拥有高级的容灾备份。
如图2所示,将音频文件写入网盘的处理流程可以如下:
步骤201,服务器接收终端发送的目标音频文件的存储请求。
其中,目标音频文件是任意音频文件,例如,歌曲的音频文件、伴奏的音频文件、录音的音频文件等,例如,歌曲《冰雨》的音频文件、歌曲《小苹果》的音频文件等、伴奏《梁祝》的音频文件等。
在实施中,用户想要在网盘中存储目标音频文件,可以点击网盘客户端的主界面中显示的上传选项,终端则会接收到上传选项的点击指令,为用户提供选择音频文件的窗口,用户可以选择目标音频文件,然后点击确认按键,终端则会接收到确认按键的点击指令,生成目标音频文件的存储请求,并且在存储请求中携带目标音频文件,向网盘的服务器发送该存储请求。
服务器接收到目标音频文件的存储请求后,可以从该存储请求中解析得到目标音频文件。
步骤202,服务器获取目标音频文件的元数据、音频数据和文件名。
在实施中,服务器解析到目标音频文件后,可以从目标音频文件的属性中,获取目标音频文件的文件名,然后对目标音频文件的数据,进行分离,得到目标音频文件的元数据和音频数据。
例如,用户对目标音频文件的命名为《123》,目标音频文件的文件名为123,目标音频文件为<元数据帧1><数据帧1><数据帧2>...<元数据帧k><数据帧n>,分离得到的元数据为<元数据帧1>…<元数据帧k>,音频数据为<数据帧1><数据帧2>…<数据帧n>。
可选的,可以基于目标音频文件的格式类型,获取目标音频文件的元数据和音频数据,相应的步骤202的处理可以如下:
确定目标音频文件的格式类型;
根据目标音频文件的格式类型,获取目标音频文件的元数据、音频数据和文件名。
其中,格式类型有MP3、flac、MIDI等。
在实施中,对于不同格式类型的音频文件,有不同的标准,所以在将音频文件的元数据和音频数据进行分离时,基于该音频文件的格式类型进行分离。
服务器可以查看目标音频文件的属性,确定出目标音频文件的格式类型,然后根据该格式类型的标准,分离目标音频文件,得到目标音频文件的元数据和音频数据。例如,如图3所示,目标音频文件的格式为MP3,文件名为“.mp3”之前的内容,服务器可以读取目标音频文件的第一个数据帧,查看其中的头部数据,获取头部数据中的前三个字节,如果前三个字节为ID3(ID3是一种metadata容器,多应用于MP3格式的音频文件中。它可以将相关的曲名、演唱者、专辑、音轨数等信息存储在MP3文件中),则属于元数据,追加到元数据末尾。如果前三个字节不是ID3,则判断前三个字节是否符合音频数据的帧头,如果前三个字节符合音频数据的帧头,则属于音频数据,追加到音频数据块的末尾,如果前三个字节不符合音频数据的帧头,则属于元数据,追加到元数据的末尾。在确定出第一个数据帧后,可以读取后续的数据帧,对于后续任一数据帧,判断是否是128字节,如果是128字节,则属于元数据,追加到元数据的末尾,如果不是128字节且不是0字节,可以判断头部数据中的前三个字节是否符合音频数据的帧头,如果前三个字节符合音频数据的帧头,则属于音频数据,追加到音频数据块的末尾,如果前三个字节不符合音频数据的帧头,则属于元数据,追加到元数据的末尾,如果不是128字节且是0字节,则说明目标音频文件分离完成,这样,就得到了目标音频文件的元数据和音频数据。
步骤203,服务器对音频数据进行哈希,得到目标音频文件的摘要信息。
在实施中,服务器获取到目标音频文件的元数据和音频数据后,可以获取预设的哈希算法(任意一种哈希算法都可以,对不同的内容,都使用同一哈希算法),将音频数据作为预设的哈希算法的输入,得到音频数据的哈希值,将该哈希值确定为目标音频文件的摘要信息。
需要说明的是,只要音频数据一样,经过预设的哈希算法哈希得到的哈希值都一样。
步骤204,服务器对文件名和元数据进行对应存储,并对元数据和摘要信息进行对应存储,并在确定执行方法的设备未存储有摘要信息时,对音频数据和摘要信息进行对应存储,在确定设备存储有摘要信息时,不对音频数据进行存储。
在实施中,服务器获取到目标音频文件的摘要信息后,可以将文件名和元数据对应存储,并且将元数据和摘要信息对应存储。并且判断自身是否存储有目标音频文件的摘要信息,如果未存储有摘要信息时,则可以对音频数据中的各数据帧和摘要信息对应存储,可以是将音频数据中的各数据帧和摘要信息对应存储至音频数据与摘要信息的对应关系中。如果存储有摘要信息,说明已经存储有目标音频文件的音频数据,服务器可以不存储目标音频文件的音频数据(这是由于相同的音频数据的哈希值相同)。这样,在音频文件的音频数据一样时,可以仅存储一份音频数据,节约服务器的存储空间。
例如,如图4所示,在音频数据与摘要信息的对应关系中,目标音频文件的音频数据包括N个帧(<数据帧1><数据帧2>…<数据帧n>),摘要信息为1FG23GF。在存储目标音频文件时,如果服务器已经存储有摘要信息1FG23GF,则说明已经存储有目标音频文件的音频数据,可以不存储目标音频文件的音频数据。
另外,服务器还可以首先存储目标音频文件的音频数据,然后将摘要信息和音频数据的存储位置对应存储至摘要信息和音频数据的存储位置的对应关系中。
可选的,可以将文件名、元数据和摘要信息,存储为对应关系,相应的处理可以如下:
将文件名、元数据、摘要信息对应存储至文件名、元数据和摘要信息的对应关系中。
在实施中,服务器可以将目标音频文件的文件名、元数据中各数据帧和各数据帧的编号和摘要信息,对应存储至文件名、元数据和摘要信息的对应关系中。这样,在读取目标音频文件时,通过各数据帧的编号就可以将各数据帧合并起来,得到元数据。
例如,如图5所示,文件名为文件1,元数据中各数据帧为<编号1,数据帧>...<编号k,数据帧>,摘要信息为1FG23GF,编号代表数据帧在元数据中的位置,编号越小,数据帧在元数据中的位置越靠前,编号越大,数据帧在元数据中的位置越靠后。
可选的,可以将文件名、元数据的存储位置和摘要信息,存储为对应关系,相应的处理可以如下:
存储元数据,并且将文件名、元数据的存储位置和摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
在实施中,服务器可以首先存储元数据的各数据帧和各数据帧对应的编号(此处的格式可以是<编号k,数据帧>),并且获取元数据的存储位置(也就是存储元数据的各数据帧和各数据帧对应的编号的存储位置),然后将目标文件的文件名、元数据的存储位置和摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
可选的,为了防止多个用户的文件命名相同,导致后续下载不到自己的音频文件,还可以将用户账户的账户标识也对应存储,相应的处理可以如下:
对元数据和终端的登录账户的账户标识进行对应存储。
在实施中,服务器可以获取发送存储请求的终端的登录账户的账户标识,然后将对文件名和元数据进行对应存储,并对元数据和摘要信息进行对应存储,并对元数据和终端的登录账户的账户标识进行对应存储,这样,后续在接收到音频文件的读取请求时,可以根据音频文件的文件名和账户标识一起查找到摘要信息和元数据,然后使用摘要信息,查找到音频数据,将音频数据和元数据,组成目标音频文件。
可选的,可以将文件名、元数据、摘要信息和终端的登录账户的账户标识存储至文件名、元数据、摘要信息和账户标识的对应关系中。
可选的,可以首先将元数据中各数据帧和各数据帧的编号进行存储(此处的格式可以是<编号k,数据帧>),然后将文件名、元数据的存储位置、摘要信息和终端的登录账户的账户标识存储至文件名、元数据的存储位置、摘要信息和账户标识的对应关系中。
另外,如图6所示,在本发明实施例中,可以在服务器的存储空间中分出两片存储区域:元数据库和音频数据库,元数据库中用于存储元数据,音频数据库中用于存储音频数据。
本发明实施例中,将音频文件的音频数据和元数据分开存储,在多个音频文件的音频数据一样时,由于音频数据的哈希值是一样的,所以可以仅存储一份音频数据,既存储了音频文件,还节约存储空间。
本发明另一实施例中,如图7所示,还提供了对应写入目标音频文件的过程,从网盘读取音频文件的过程,相应的流程可以如下:
步骤701,服务器接收终端发送的目标音频文件的读取请求。
在实施中,用户想要查看自己在网盘中存储的某个音频文件(后续可以称为是目标音频文件),可以启动之前安装的网盘客户端,并且找到目标音频文件,然后点击目标音频文件对应的下载选项,终端则会检测到下载选项的点击指令,生成读取请求,并且将目标音频文件的文件名,添加在读取请求中,然后向服务器发送该读取请求。服务器接收到终端发送的读取请求后,可以从中解析得到目标音频文件的文件名。
步骤702,服务器根据文件名,获取文件名对应的摘要信息和元数据。
在实施中,服务器在获取到文件名后,可以获取文件名对应的摘要信息和元数据。
可选的,可以从文件名、元数据和摘要信息的对应关系中,获取元数据,相应的步骤702的处理可以如下:
根据文件名、预先存储的文件名、元数据和摘要信息的对应关系,获取文件名对应的摘要信息和元数据。
在实施中,服务器在获取到文件名后,可以获取预先存储的文件名、元数据和摘要信息的对应关系,然后查找该对应关系,从中确定文件名对应的摘要信息、元数据中各数据帧和各数据帧的编号。按照各数据帧的编号,将各数据帧组成元数据(一般是数据帧的编号越小,数据帧的位置越靠前,数据帧的编号越大,数据帧的位置越靠后)。
可选的,可以从文件名、元数据的存储位置和摘要信息的对应关系,获取元数据,相应的步骤702的处理可以如下:
根据预先存储的文件名、元数据的存储位置和摘要信息的对应关系,确定文件名对应的元数据的存储位置和摘要信息;
根据元数据的存储位置,获取元数据。
在实施中,服务器在获取到文件名后,可以获取预先存储的文件名、元数据的存储位置和摘要信息的对应关系,然后查找该对应关系,从中确定文件名对应的元数据的存储位置和摘要信息,然后从该存储位置,获取该存储位置存储的各数据帧和各数据帧的编号,按照各数据帧的编号,将各数据帧组成元数据(一般是数据帧的编号越小,数据帧的位置越靠前,数据帧的编号越大,数据帧的位置越靠后)。
可选的,在服务器存储有多个相同文件名的音频文件时,相应的处理可以如下:
获取终端的登录账户的账户标识;
根据账户标识和文件名,获取账户标识和文件名对应的摘要信息和元数据。
在实施中,服务器在获取到文件名后,还可以确定发送读取请求的终端的登录账户的账户标识,然后查找该账户标识和用户名对应的摘要信息和元数据。
可以是从账户标识、文件名、元数据和摘要信息的对应关系中,获取账户标识和用户名共同对应的摘要信息和元数据。
可以是从账户标识、文件名、元数据的存储位置和摘要信息的对应关系中,获取账户标识和用户名共同对应的摘要信息和元数据的存储位置,然后从该存储位置获取到元数据。
步骤703,服务器根据摘要信息,获取目标音频文件的音频数据。
在实施中,服务器可以获取预先存储的摘要信息和音频数据的对应关系,从中获取到摘要信息对应的音频数据。
或者服务器可以获取预先存储的摘要信息和音频数据的存储位置的对应关系,从中获取到摘要信息对应的音频数据的存储位置,然后从该存储位置,获取各数据帧,确定为目标音频文件的音频数据。
步骤704,服务器对元数据和音频数据进行合并,得到目标音频文件。
在实施中,服务器获取到元数据和音频数据后,可以将元数据和音频数据合并,得到目标音频文件。
例如,合并得到的目标音频文件为<元数据帧1><数据帧1><数据帧2>...<元数据帧k><数据帧n>。
可选的,可以根据元数据中各数据帧的编号,对元数据和音频数据进行合并,相应的处理可以如下:
根据元数据中各数据帧的编号,对元数据和音频数据进行合并,得到目标音频文件。
在实施中,服务器可以确定元数据中各数据帧的编号,然后按照编号从小到的顺序,对元数据的各数据帧进行排列,然后确定音频数据中数据帧的顺序(一般服务器可以识别音频数据的数据帧的排列顺序,所以可以不存储音频数据中各数据帧的编号),将音频数据的各数据帧插入到元数据中的各数据帧中,这样,就得到了完整的目标音频文件。
步骤705,服务器向终端发送目标音频文件。
在实施中,服务器在获取到目标音频文件后,可以向终端发送目标音频文件。终端在接收到目标音频文件后,可以显示目标音频文件下载完成的通知,用户可以对目标音频文件进行播放等操作。
本发明实施例中,在从网盘中读取音频文件时,可以首先获取到元数据和摘要信息,然后再基于摘要信息,获取到音频数据,将元数据和音频数据,合并得到音频文件,这样,既提供了网盘存储音频文件的方法,还节约了存储资源。
基于相同的技术构思,本发明实施例还提供了一种存储音频文件的装置,如图8所示,该装置包括:
第一接收模块810,用于接收终端发送的目标音频文件的存储请求;
第一获取模块820,用于获取所述目标音频文件的元数据、音频数据和文件名;
哈希模块830,用于对所述音频数据进行哈希,得到所述目标音频文件的摘要信息;
存储模块840,用于对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,并在确定执行所述方法的设备未存储有所述摘要信息时,对所述音频数据和摘要信息进行对应存储,在确定所述设备存储有所述摘要信息时,不对所述音频数据进行存储。
可选的,所述第一获取模块820,用于:
确定所述目标音频文件的格式类型;
根据所述目标音频文件的格式类型,获取所述目标音频文件的元数据、音频数据和文件名。
可选的,所述存储模块840,用于:
将所述文件名、所述元数据和摘要信息对应存储至文件名、元数据和摘要信息的对应关系中。
可选的,所述存储模块840,用于:
存储元数据,并且将所述文件名、所述元数据的存储位置和所述摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
可选的,所述存储模块840,还用于:
对所述元数据和所述终端的登录账户的账户标识进行对应存储。
本发明实施例中,将音频文件的音频数据和元数据分开存储,在多个音频文件的音频数据一样时,可以仅存储一份音频数据,既存储了音频文件,还节约存储空间。
需要说明的是:上述实施例提供的存储音频文件的装置在存储音频文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储音频文件的装置与存储音频文件的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于相同的技术构思,本发明实施例还提供了一种读取音频文件的装置,如图9所示,该装置包括:
第二接收模块910,用于接收终端发送的目标音频文件的读取请求,其中,所述读取请求中携带有所述目标音频文件的文件名;
第二获取模块920,用于根据所述文件名,获取所述文件名对应的摘要信息和元数据;根据所述摘要信息,获取所述目标音频文件的音频数据;
合并模块930,用于对所述元数据和所述音频数据进行合并,得到所述目标音频文件;
发送模块940,用于向所述终端发送所述目标音频文件。
可选的,所述第二获取模块920,用于:
根据所述文件名、预先存储的文件名、元数据和摘要信息的对应关系,获取所述文件名对应的摘要信息和元数据。
可选的,所述第二获取模块920,用于:
根据预先存储的文件名、元数据的存储位置和摘要信息的对应关系,确定所述文件名对应的摘要信息和元数据的存储位置;
根据所述元数据的存储位置,获取所述元数据。
可选的,所述第二获取模块920,用于:
获取所述终端的登录账户的账户标识;
根据所述账户标识和所述文件名,获取所述账户标识和所述文件名对应的摘要信息和元数据。
可选的,所述合并模块930,用于:
根据所述元数据中各数据帧的编号,对所述元数据和所述音频数据进行合并,得到所述目标音频文件。
本发明实施例中,在从网盘中读取音频文件时,可以首先获取到元数据和摘要信息,然后再基于摘要信息,获取到音频数据,将元数据和音频数据,合并得到音频文件,这样,既提供了网盘存储音频文件的方法,还节约了存储资源。
需要说明的是:上述实施例提供的读取音频文件的装置在读取音频文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的读取音频文件的装置与读取音频文件的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本发明实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1001和一个或一个以上的存储器1002,其中,所述存储器1002中存储有至少一条指令,所述至少一条指令由所述处理器1001加载并执行上述存储和读取音频文件的方法的处理。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种存储音频文件的方法,其特征在于,所述方法包括:
接收终端发送的目标音频文件的存储请求;
获取所述目标音频文件的元数据、音频数据和文件名;
对所述音频数据进行哈希,得到所述目标音频文件的摘要信息;
对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,并在确定执行所述方法的设备未存储有所述摘要信息时,对所述音频数据和摘要信息进行对应存储,在确定所述设备存储有所述摘要信息时,不对所述音频数据进行存储;
所述方法还包括:
确定所述元数据中各数据帧的编号,按照编号从小到大的顺序,对所述元数据的各数据帧进行排列,确定所述音频数据中数据帧的顺序,将所述音频数据的各数据帧插入到所述元数据中的各数据帧中,进而获得所述目标音频文件。
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标音频文件的元数据、音频数据和文件名,包括:
确定所述目标音频文件的格式类型;
根据所述目标音频文件的格式类型,获取所述目标音频文件的元数据、音频数据和文件名。
3.根据权利要求1所述的方法,其特征在于,所述对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,包括:
将所述文件名、所述元数据和摘要信息对应存储至文件名、元数据和摘要信息的对应关系中。
4.根据权利要求1所述的方法,其特征在于,所述对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,包括:
存储元数据,并且将所述文件名、所述元数据的存储位置和所述摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述元数据和所述终端的登录账户的账户标识进行对应存储。
6.一种读取音频文件的方法,其特征在于,所述方法包括:
接收终端发送的目标音频文件的读取请求,其中,所述读取请求中携带有所述目标音频文件的文件名;
根据所述文件名,获取所述文件名对应的摘要信息和元数据;
根据所述摘要信息,获取所述目标音频文件的音频数据;
对所述元数据和所述音频数据进行合并,得到所述目标音频文件,其中,确定所述元数据中各数据帧的编号,按照编号从小到大的顺序,对所述元数据的各数据帧进行排列,确定所述音频数据中数据帧的顺序,将所述音频数据的各数据帧插入到所述元数据中的各数据帧中,进而获得所述目标音频文件;
向所述终端发送所述目标音频文件。
7.根据权利要求6所述的方法,其特征在于,所述根据所述文件名,获取所述文件名对应的摘要信息和元数据,包括:
根据所述文件名、预先存储的文件名、元数据和摘要信息的对应关系,获取所述文件名对应的摘要信息和元数据。
8.根据权利要求6所述的方法,其特征在于,所述根据所述文件名,获取所述文件名对应的摘要信息和元数据,包括:
根据预先存储的文件名、元数据的存储位置和摘要信息的对应关系,确定所述文件名对应的摘要信息和元数据的存储位置;
根据所述元数据的存储位置,获取所述元数据。
9.根据权利要求6所述的方法,其特征在于,所述根据所述文件名,获取所述文件名对应的摘要信息和元数据,包括:
获取所述终端的登录账户的账户标识;
根据所述账户标识和所述文件名,获取所述账户标识和所述文件名对应的摘要信息和元数据。
10.根据权利要求6所述的方法,其特征在于,所述对所述元数据和所述音频数据进行合并,得到所述目标音频文件,包括:
根据所述元数据中各数据帧的编号,对所述元数据和所述音频数据进行合并,得到所述目标音频文件。
11.一种存储音频文件的装置,其特征在于,所述装置包括:
第一接收模块,用于接收终端发送的目标音频文件的存储请求;
第一获取模块,用于获取所述目标音频文件的元数据、音频数据和文件名;
哈希模块,用于对所述音频数据进行哈希,得到所述目标音频文件的摘要信息;
存储模块,用于对所述文件名和所述元数据进行对应存储,并对所述元数据和所述摘要信息进行对应存储,并在确定所述装置未存储有所述摘要信息时,对所述音频数据和摘要信息进行对应存储,在确定所述装置存储有所述摘要信息时,不对所述音频数据进行存储;
所述装置还包括:
确定所述元数据中各数据帧的编号,按照编号从小到大的顺序,对所述元数据的各数据帧进行排列,确定所述音频数据中数据帧的顺序,将所述音频数据的各数据帧插入到所述元数据中的各数据帧中,进而获得所述目标音频文件。
12.根据权利要求11所述的装置,其特征在于,所述第一获取模块,用于:
确定所述目标音频文件的格式类型;
根据所述目标音频文件的格式类型,获取所述目标音频文件的元数据、音频数据和文件名。
13.根据权利要求11所述的装置,其特征在于,所述存储模块,用于:
将所述文件名、所述元数据和摘要信息对应存储至文件名、元数据和摘要信息的对应关系中。
14.根据权利要求11所述的装置,其特征在于,所述存储模块,用于:
存储元数据,并且将所述文件名、所述元数据的存储位置和所述摘要信息对应存储至文件名、元数据的存储位置和摘要信息的对应关系中。
15.根据权利要求11所述的装置,其特征在于,所述存储模块,还用于:
对所述元数据和所述终端的登录账户的账户标识进行对应存储。
16.一种读取音频文件的装置,其特征在于,所述装置包括:
第二接收模块,用于接收终端发送的目标音频文件的读取请求,其中,所述读取请求中携带有所述目标音频文件的文件名;
第二获取模块,用于根据所述文件名,获取所述文件名对应的摘要信息和元数据;根据所述摘要信息,获取所述目标音频文件的音频数据;
合并模块,用于对所述元数据和所述音频数据进行合并,得到所述目标音频文件,其中,确定所述元数据中各数据帧的编号,按照编号从小到大的顺序,对所述元数据的各数据帧进行排列,确定所述音频数据中数据帧的顺序,将所述音频数据的各数据帧插入到所述元数据中的各数据帧中,进而获得所述目标音频文件;
发送模块,用于向所述终端发送所述目标音频文件。
17.根据权利要求16所述的装置,其特征在于,所述第二获取模块,用于:
根据所述文件名、预先存储的文件名、元数据和摘要信息的对应关系,获取所述文件名对应的摘要信息和元数据。
18.根据权利要求16所述的装置,其特征在于,所述第二获取模块,用于:
根据预先存储的文件名、元数据的存储位置和摘要信息的对应关系,确定所述文件名对应的摘要信息和元数据的存储位置;
根据所述元数据的存储位置,获取所述元数据。
19.根据权利要求16所述的装置,其特征在于,所述第二获取模块,用于:
获取所述终端的登录账户的账户标识;
根据所述账户标识和所述文件名,获取所述账户标识和所述文件名对应的摘要信息和元数据。
20.根据权利要求16所述的装置,其特征在于,所述合并模块,用于:
根据所述元数据中各数据帧的编号,对所述元数据和所述音频数据进行合并,得到所述目标音频文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810507416.0A CN108763425B (zh) | 2018-05-24 | 2018-05-24 | 存储和读取音频文件的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810507416.0A CN108763425B (zh) | 2018-05-24 | 2018-05-24 | 存储和读取音频文件的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108763425A CN108763425A (zh) | 2018-11-06 |
CN108763425B true CN108763425B (zh) | 2021-02-26 |
Family
ID=64006592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810507416.0A Active CN108763425B (zh) | 2018-05-24 | 2018-05-24 | 存储和读取音频文件的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108763425B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1701377A (zh) * | 2003-06-11 | 2005-11-23 | 索尼株式会社 | 记录控制设备和方法、程序和记录媒体 |
CN101059813A (zh) * | 2006-04-21 | 2007-10-24 | 索尼株式会社 | 文件管理装置、文件管理方法和程序 |
CN107295376A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 广告和正片的合并方法、装置和广告的投放系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250533A1 (en) * | 2006-04-20 | 2007-10-25 | Wei-Hung Huang | Method, Apparatus, System, and Computer Program Product for Generating or Updating a Metadata of a Multimedia File |
US7660793B2 (en) * | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US8645438B2 (en) * | 2009-06-30 | 2014-02-04 | Sandisk Technologies Inc. | File system and method of file access |
CN102098339A (zh) * | 2011-01-26 | 2011-06-15 | 广州酷狗计算机科技有限公司 | 一种音频文件传输方法及其系统 |
CN103455514A (zh) * | 2012-06-01 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 音频文件更新方法及更新装置 |
CN103970793B (zh) * | 2013-02-04 | 2020-03-03 | 腾讯科技(深圳)有限公司 | 信息查询方法、客户端及服务器 |
CN104010016B (zh) * | 2013-02-27 | 2018-03-27 | 联想(北京)有限公司 | 数据管理方法、云端服务器及终端设备 |
US20160004501A1 (en) * | 2014-07-01 | 2016-01-07 | Honeywell International Inc. | Audio command intent determination system and method |
-
2018
- 2018-05-24 CN CN201810507416.0A patent/CN108763425B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1701377A (zh) * | 2003-06-11 | 2005-11-23 | 索尼株式会社 | 记录控制设备和方法、程序和记录媒体 |
CN101059813A (zh) * | 2006-04-21 | 2007-10-24 | 索尼株式会社 | 文件管理装置、文件管理方法和程序 |
CN107295376A (zh) * | 2016-04-05 | 2017-10-24 | 北京优朋普乐科技有限公司 | 广告和正片的合并方法、装置和广告的投放系统 |
Non-Patent Citations (2)
Title |
---|
"媒体资产系统中的数据管理(上";曹诚;《影视制作》;20130915(第09期);第86-89页 * |
"高校数字图书馆视音频编目技术及应用研究";竺亚珍;《图书馆杂志》;20120415;第31卷(第04期);第56-59页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108763425A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10643610B2 (en) | Voice interaction based method and apparatus for generating multimedia playlist | |
CA2660224C (en) | Managing media files from multiple sources | |
US7908270B2 (en) | System and method for managing access to media assets | |
SG177249A1 (en) | Method, system and device for uploading and downloading a caption file | |
CN104967862A (zh) | 一种视频存储方法及装置和视频搜索方法及装置 | |
EP2897060B1 (en) | Subtitle processing method, device and system, and storage medium | |
WO2021237467A1 (zh) | 文件上传方法、文件下载方法和文件管理装置 | |
US20110173206A1 (en) | Method and apparatus for identifying a piece of content | |
CN110913135A (zh) | 一种视频拍摄方法、装置、电子设备和存储介质 | |
CN109299352B (zh) | 搜索引擎中网站数据的更新方法、装置和搜索引擎 | |
CN112784073B (zh) | 车机的外部多媒体资源的整合方法和计算机存储介质 | |
CN114553858A (zh) | 一种资源预下载的方法、装置以及设备 | |
CN111813685A (zh) | 自动化测试方法和装置 | |
CN108763425B (zh) | 存储和读取音频文件的方法和装置 | |
CN112883205B (zh) | 多媒体物料的入库方法、介质、装置和计算设备 | |
CN110598009B (zh) | 查找作品的方法、装置、电子设备及存储介质 | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
KR20170027332A (ko) | 메타데이터를 추출하여 전송하는 콘텐츠 제공 방법 및 장치 | |
CN107749892B (zh) | 会议记录的网络读取方法、装置、智能平板和存储介质 | |
US20160314509A1 (en) | Audio uploading and sharing service | |
CN106411975B (zh) | 一种数据输出方法、装置及计算机可读取存储介质 | |
CN112752165A (zh) | 字幕处理方法、装置、服务器及计算机可读存储介质 | |
KR101407334B1 (ko) | 음원 서비스를 제공하는 방법, 단말 및 서버 | |
CN113434711A (zh) | 一种多媒体数据展示方法、存储介质及设备 | |
CN116974998A (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 |