著录项信息
专利名称 | 音频搜索方法及装置 |
申请号 | CN200810114465.4 | 申请日期 | 2008-06-06 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2009-01-14 | 公开/公告号 | CN101344887 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 网易有道信息技术(北京)有限公司 | 申请人地址 | 北京市海淀区中关村东路1号院3号楼206室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 网易有道信息技术(北京)有限公司 | 当前权利人 | 网易有道信息技术(北京)有限公司 |
发明人 | 江峰;李新娟;周枫;吴迎晖 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
摘要
本发明公开了一种音频搜索服务器,包括:音频片段服务器,用于存储音频片段数据;搜索请求接收模块,用于接收用户提交的音频搜索请求;匹配模块,用于依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从所述音频片段服务器中提取相应的音频片段数据;搜索结果返回模块,用于向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息;预听请求接收模块,用于接收用户针对某个音频搜索结果发起的获取请求;预听片段返回模块,用于依据所述获取请求提取相应的音频片段数据返回给用户。本发明可以节省用户选择音频搜索结果的时间、减少资源耗费,使用户获得更好的使用体验。
音频搜索方法及装置\n技术领域\n[0001] 本发明涉及一种音频搜索技术领域,特别是涉及一种音频片段服务器的生成方法和生成装置、一种音频搜索方法和音频搜索装置,一种音频搜索中预听片段的方法和装置,以及一种音频搜索服务器。\n背景技术\n[0002] 目前互联网上的音频资源越来越丰富,使得查找资源的难度加大,因此人们希望能通过搜索引擎(Search Engines)更方便地搜索音频文件。搜索引擎是一个对互联网上的信息资源进行搜集整理,然后供用户查询的系统,搜索引擎的工作一般包括如下三个过程:1、在互联网中发现、搜集网页信息;2、对信息进行提取和组织建立索引库;3、再由检索器根据用户输入的查询关字,在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并将查询结果返回给用户。\n[0003] 现有技术中,用户使用搜索引擎进行音频搜索通常需要经过以下步骤:\n[0004] (a)输入关键字,例如:歌曲名、歌手名或歌词内容;\n[0005] (b)确认输入;\n[0006] (c)在搜索结果中选择需要的音频搜索结果;\n[0007] (d)下载目标音频文件。\n[0008] 由于音频文件相对于其它互联网文本资源而言,其数据量较大,为方便用户在搜索结果中选择需要的音频搜索结果,现有技术还提供了音频文件的“试听”功能,即用户在选择想要下载的音频文件时,可以通过链接音频搜索结果的URL预先试听以判断是否为目标音频文件。\n[0009] 然而,由于音频文件数据量较大的原因,实现试听往往需要缓冲很长一段时间;因而部分用户会采用不经试听直接下载的方式,然而,直接下载不仅同样需要花费较长的下载时间,而且需要占用较多的客户端、服务器和网络资源,关键还在于所下载的音频不一定是用户想要的。例如,用户只记得歌词里面有一句“我爱你”,于是通过“我爱你”的歌词进行搜索,获得上百万个搜索结果。在这种情况下,如果用户采用试听的方式对搜索结果逐个试听筛选,必然会占用用户较多的时间;如果用户采用直接下载的方式,则还会进一步浪费资源,还可能得不到用户想要的结果,用户体验非常差。\n[0010] 因此,本领域技术人员迫切需要解决的一个技术问题在于,如何提供一种创新的音频搜索机制,用以节省用户选择音频搜索结果的时间、减少资源耗费,使用户获得更好的使用体验。\n发明内容\n[0011] 本发明所要解决的技术问题是提供一种音频片段服务器的生成方法和装置,用以实现音频搜索结果的片段预听功能,节省用户时间以及减少资源耗费;\n[0012] 本发明还提供了一种音频搜索的方法和装置,以及,一种音频搜索中预听片段的方法和装置,向用户提供一种全新的音频搜索体验,用户在搜索结果中可以获得音频片段数据的相关信息,使用户获得更好的使用体验;\n[0013] 本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种音频搜索服务器,可以实现在音频搜索结果中预听音频片段的功能,从而有效节省了用户选择音频搜索结果的时间、减少了资源耗费,使用户获得更好的使用体验。\n[0014] 为解决上述技术问题,本发明提供了一种音频片段服务器的生成方法,包括:一种音频片段服务器的生成方法,其特征在于,包括:\n[0015] 获取音频数据;\n[0016] 截取所述音频数据的片段数据;\n[0017] 将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器。\n[0018] 优选的,所述截取音频片段数据的步骤包括:\n[0019] 对所述音频数据进行解码,获得所述音频数据的原始波形数据;\n[0020] 从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0021] 根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0022] 对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0023] 优选的,所述截取音频片段数据的步骤还包括:\n[0024] 针对所述预设时间阈值的原始波形数据中,一定时间段的尾部数据进行音量淡出处理。\n[0025] 优选的,所述获取音频数据的步骤包括:\n[0026] 获得音频数据的种子站点URL,所述种子站点URL包括种子站点的URL,以及,该种子站点所代表页面中的所有超链接的URL;\n[0027] 若所述种子站点URL合法,则定向抓取相应的音频数据。\n[0028] 优选的,所述的方法,还包括:\n[0029] 保存所抓取的音频数据,形成音频数据库。\n[0030] 优选的,所述的方法,还包括:\n[0031] 解析所述音频数据的文件头格式,判断是否为音频数据;\n[0032] 若否,则从所述音频数据库中去除该数据。\n[0033] 优选的,所述服务器为多台,所述音频片段数据部署步骤包括:\n[0034] 对各台服务器分配标识信息;\n[0035] 采用哈希算法计算所述音频片段数据所对应URL的哈希值;\n[0036] 根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0037] 将所述音频片段数据部署到所述目标服务器端。\n[0038] 本发明实施例还公开了一种音频搜索方法,包括:\n[0039] 接收用户提交的音频搜索请求;\n[0040] 依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从音频片段服务器中提取相应的音频片段数据;\n[0041] 向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0042] 优选的,所述音频片段服务器具有多台,并分别具有标识信息,所述提取音频片段数据的步骤包括:\n[0043] 采用哈希算法计算所述音频数据URL的哈希值;\n[0044] 根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0045] 从所述目标服务器端中提取相应的音频片段数据。\n[0046] 优选的,所述音频数据在音频数据库中匹配获得,所述音频数据库通过获得音频数据的种子站点URL,并在所述种子站点URL合法时,定向抓取相应的音频数据保存生成;\n所述种子站点URL包括种子站点的URL,以及,该种子站点所代表页面中的所有超链接的URL。\n[0047] 优选的,所述音频片段数据为所述音频数据一定时间内的片段数据,通过以下步骤生成:\n[0048] 对抓取的音频数据进行解码,获得所述音频数据的原始波形数据;\n[0049] 从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0050] 根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0051] 对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0052] 优选的,所述音频搜索结果以嵌入Flash程序的web页面形式展示。\n[0053] 本发明实施例还提供了一种音频搜索中预听片段的方法,包括:\n[0054] 接收用户针对某个音频搜索结果发起的获取请求,所述搜索结果中包括所述音频片段数据的信息,所述音频片段数据为依据所述音频搜索请求匹配获得相应音频数据的URL,从音频片段服务器中提取获得;\n[0055] 依据所述获取请求提取相应的音频片段数据返回给用户。\n[0056] 本发明实施例还提供了一种音频片段服务器的生成装置,包括:\n[0057] 音频数据获取单元,用于获取音频数据;\n[0058] 音频片段截取单元,用于截取所述音频数据的片段数据;\n[0059] 音频片段部署单元,用于将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器。\n[0060] 优选的,所述服务器为多台,所述音频片段部署单元进一步包括:\n[0061] 标识分配子单元,用于对各台服务器分配标识信息;\n[0062] 哈希计算子单元,用于采用哈希算法计算所述音频片段数据所对应URL的哈希值;\n[0063] 目标服务器确定子单元,用于根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0064] 音频片段定位子单元,用于将所述音频片段数据部署到所述目标服务器端。\n[0065] 本发明实施例还提供了一种音频搜索装置,包括:\n[0066] 音频片段服务器,用于存储音频片段数据;\n[0067] 搜索请求接收单元,用于接收用户提交的音频搜索请求;\n[0068] 匹配单元,用于依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从音频片段服务器中提取相应的音频片段数据;\n[0069] 搜索结果返回单元,用于向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0070] 本发明实施例还提供了一种音频搜索中预听片段的装置,包括:\n[0071] 音频片段服务器,用于存储音频片段数据;\n[0072] 预听请求接收单元,用于接收用户针对某个音频搜索结果发起的获取请求,所述搜索结果中包括所述音频片段数据的信息,所述音频片段数据为依据所述音频搜索请求匹配获得相应音频数据的URL,从音频片段服务器中提取获得;\n[0073] 预听片段返回单元,用于依据所述获取请求提取相应的音频片段数据返回给用户。\n[0074] 本发明实施例还提供了一种音频搜索服务器,包括:\n[0075] 音频片段服务器,用于存储音频片段数据;\n[0076] 搜索请求接收模块,用于接收用户提交的音频搜索请求;\n[0077] 匹配模块,用于依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从所述音频片段服务器中提取相应的音频片段数据;\n[0078] 搜索结果返回模块,用于向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息;\n[0079] 预听请求接收模块,用于接收用户针对某个音频搜索结果发起的获取请求;\n[0080] 预听片段返回模块,用于依据所述获取请求提取相应的音频片段数据返回给用户。\n[0081] 与现有技术相比,本发明具有以下优点:\n[0082] 本发明通过截取音频片段数据生成音频片段服务器,当进行音频数据搜索时,可以在音频搜索结果中提供相应的音频片段数据,用户触发该音频片段数据即可获得音频搜索结果的预听。本发明可以有效节省用户选择音频搜索结果的时间、减少资源耗费,使用户获得更好的使用体验。对于服务提供商来说,本发明技术实现简单,不占用系统资源,无技术障碍,无特殊保密算法,成本较低。\n附图说明\n[0083] 图1是本发明的一种音频片段服务器生成方法实施例的流程图;\n[0084] 图2是本发明的一种音频片段服务器的生成装置实施例的结构框图;\n[0085] 图3是应用图2所示的优选实施例生成音频片段服务器的流程图;\n[0086] 图4是本发明的一种音频搜索方法实施例的流程图;\n[0087] 图5是本发明的一种音频搜索装置实施例的结构框图;\n[0088] 图6是应用图5所示的优选实施例进行音频搜索的流程图;\n[0089] 图7是本发明的一种音频搜索中预听片段的方法实施例的流程图;\n[0090] 图8是本发明的一种音频搜索中预听片段的装置实施例的结构框图;\n[0091] 图9是本发明的一种音频搜索服务器的结构框图;\n[0092] 图10是应用图9所示的优选实施例进行音频搜索的流程图。\n具体实施方式\n[0093] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。\n[0094] 本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、包括以上任何系统或设备的分布式计算环境等等。\n[0095] 本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。\n[0096] 本发明实施例的核心构思之一在于,通过截取音频片段数据生成音频片段服务器,当进行音频数据搜索时,在音频搜索结果中提供相应的音频片段数据,用户触发该音频片段数据即可获得音频搜索结果的预听。本发明可以有效节省用户选择音频搜索结果的时间、减少资源耗费,使用户获得更好的使用体验。\n[0097] 参考图1,示出了本发明一种音频片段服务器的生成方法实施例的流程图,具体可以包括以下步骤:\n[0098] 步骤101、获取音频数据;\n[0099] 随着网络的迅速发展,万维网成为大量信息的载体,为有效地提取并利用这些信息,搜索引擎(Search Engine)作为一个辅助人们检索信息的工具,成为用户访问万维网的入口和指南。搜索引擎的工作原理是由网络爬虫或者叫spider(蜘蛛)的程序模块,不断地从web上寻找网页并且下载下来。最常用的方法是,把整个web网络看作是一个有向图,从种子URL集合开始,开始抓取并且存到本地,并且解析出网页内容中包含的URL链接,然后把这些新的URL加到URL集合中。一般按照宽度优先的方式来查找。这个过程不断重复直到URL集合中所有链接都已经采集过,或者是采集时间限制到了,或者是所有的不超过某一深度的链接都已经采集过了等一定停止条件为止。或者,由聚焦爬虫根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列;然后,将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。所有被网络爬虫抓取的网页将会被系统存储,进行一定的分析、过滤,并建立索引,以便之后的查询和检索。\n[0100] 基于上述搜索引擎的原理,在本实施例中,所述获取音频数据的步骤可以包括以下子步骤:\n[0101] 子步骤A1、获得音频数据的种子站点URL;\n[0102] 子步骤A2、若所述种子站点URL合法,则定向抓取相应的音频数据。\n[0103] 本实施例中对所述音频数据种子站点URL的获得不作限制,例如,从预置的种子资源库中调用,或依据某个关键词查找获得等,本领域技术人员采用任一方法获得其所需的种子站点URL都是可行的。在实际中,一个站点可能包含大量的超链接页面,因而,所述种子站点URL不仅可以包括种子站点的URL,还可以包括该种子站点所代表页面中的所有超链接的URL。\n[0104] 作为搜索引擎服务提供商而言,通常会把互联网上几乎所有的网页都抓取下来,并保存在搜索引擎服务器中,即保存互联网网页镜像数据。在这种情况下,一种获得音频数据种子站点URL的方法则可以为:\n[0105] B1、从互联网网页镜像数据中查找可能是音频数据的URL,例如以mp3、wma等后缀格式结尾的URL,将它们保存在种子库中;\n[0106] B2、如果种子库中发现一些含有音频URL特别多的网站,就把这些网站查找出来,然后进行专门的抓取,以获得更多的音频URL;\n[0107] B3、对包含有音频URL的网页的超链接页面进行专门的抓取。\n[0108] 假设一个URL-1所对应的页面上有URL-2,那么这个URL-2就是URL-1的超链接,URL-2所对应的页面就是超链接页面。\n[0109] 当然,上述获得音频数据种子站点URL的方法仅仅用作示例,本领域技术人员采用任一种方法获得音频数据种子站点URL都是可行的,例如,从用户下载的客户端软件向服务器发送的请求信息中获得更多的URL等,本发明对此不需要进行限定。\n[0110] 可能的是,某些超链接URL的站点URL已经不是种子站点的URL,在这种情况下,还可以通过判断种子站点URL是否合法来过滤所述种子站点URL。\n[0111] 通过分析URL的数据结构可以得知,一个URL可以包括协议参数(如http协议)、站点参数(host)、路径参数(path)和查询参数(query),其中路径参数可以包括一系列目录(directory),查询参数可以包括一系列键值(Key-Value)对。例如,对于URL:http://www.china-pub.com/member/buybook/view.asp?add=1&tid=203839,其站点参数为www.china-pub.com;路径参数为/member/buybook/view.asp;该路径参数的目录为member,buybook,view.asp;查询参数为add=1&tid=203839,即该查询参数的键值对为(add,1)和(tid,203839)。可以理解的是,判断种子站点URL是否合法的主要目的在于,通过提取URL的站点参数,判断其是否为种子站点,如果是则保留该URL,如果否,则去除该URL。通过过滤获得种子站点,可以减少后续页面抓取的工作量,从而有效提高抓取效率和抓取准确率。\n[0112] 如果种子站点URL合法,则可以获取这个URL的IP地址,然后发出一个HTTP请求,根据HTTP协议获得相应的数据。在实际中,还可以将这些数据保存在服务器端,形成音频数据库。\n[0113] 由于每种音频格式都具有相应的文件头格式,现有技术也提供了相应的头部解析器,因而优选的,本实施例还可以通过解析所述数据的文件头格式,来判断音频数据库中的数据是否为音频数据;如果是,则保留;如果否,则从音频数据库中去除该音频数据。从而更好的保证音频数据库的利用率,使后续的搜索具有更高的准确性。\n[0114] 步骤102、截取所述音频数据的片段数据;\n[0115] 本发明所截取的音频片段数据并不限定于某个时间段的片段数据,优选的,可以通过以下子步骤来截取音频片段数据:\n[0116] 子步骤C1、对所述音频数据进行解码,获得所述音频数据的原始波形数据;\n[0117] 子步骤C2、从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0118] 子步骤C3、根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0119] 子步骤C4、对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0120] 在实际中,利用音频解码器(decoder)就可以对音频文件进行解码,获得音频数据的原始波形数据。然后,可以根据该音频数据的文件头得到该波形的采样率以及通道数,采用公式:时间(以秒为单位)*采样频率*通道数*量化位数(一个PCM数据的字节数),就可以得到预设时间阈值(如15s,可以是音频开始的15s,也可以是中间的15s,本发明对此不作限制)的波形数据大小。把这个时间阈值以外的波形数据丢弃,只保存这个时间阈值内的波形数据。然后,可以调用对应的音频编码器(encoder)将这些波形数据全部编码成音频数据格式(如mp3格式),即处理成预听片段,保存到服务器的存储设备上。\n[0121] 其中,采样即指把音频数据的模拟信号转换为数字信息,简单地说就是通过波形采样的方法记录1秒钟长度的声音,例如,44.1KHz采样率的声音就是要花费44000个数据来描述1秒钟的声音波形。原则上采样率越高,声音的质量越好,采样频率一般可以分为\n22.05KHz、44.1KHz、48KHz三个等级。通道数通常对应实际中“单通道”、“双通道”的应用环境,如果记录1秒钟的声音需要44100个数据,对于双通道而言,就需要44100*2=88200个数据。在此,一个“数据”的大小即是由一个PCM数据的字节数决定的。一般可以用两个字节来表示一个“数据”,所以对于一个双通道、44.1Khz的音频,1秒钟需要的数据为:\n1s*44100*2*2=176400个字节。接着则可以对预设时间阈值15s的声音波形数据进行重新编码生成音频片段数据,把其它的数据丢掉。\n[0122] 在本实施例中,优选的,还可以通过以下子步骤来截取音频片段数据:\n[0123] 子步骤D1、对所述音频数据进行解码,获得所述音频数据的原始波形数据;\n[0124] 子步骤D2、从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0125] 子步骤D3、根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0126] 子步骤D4、针对所述预设时间阈值的原始波形数据中,一定时间段的尾部数据进行音量淡出处理;\n[0127] 子步骤D5、对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0128] 为使用户获得更好的音频片段预听体验,本实施例在将波形数据重新编码前,将波形数据中一定时间段的尾部数据做了音量淡出处理,例如,针对15秒的波形数据中,最后5秒的数据进行音量淡出处理,使用户听到的音频片段的声音是由大到小逐渐消失的,不会使用户产生戛然而止的不适感。\n[0129] 步骤103、将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器。\n[0130] 由于音频片段数据的数据量较大,在实际处理中可以把它们均匀分布到多台服务器上,在这种情况下,所述音频片段数据部署步骤可以包括以下子步骤:\n[0131] 子步骤E1、对各台服务器分配标识信息;\n[0132] 子步骤E2、采用哈希算法计算所述音频片段数据所对应URL的哈希值;\n[0133] 子步骤E3、根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0134] 子步骤E4、将所述音频片段数据部署到所述目标服务器端。\n[0135] 例如,对N台服务器进行编号,分别为0,1,2......,N-1。在部署时,对每个音频片段数据对应的URL(即抓取的、用来生成这个音频片段数据的源音频数据的URL)计算MD5值,得到一个整数;用这个整数指除以N,得到的余数M,这个余数会在0到N-1范围内;然后把这个音频片段数据放到第M台服务器上。或者,分别对N台服务器和音频片段数据编号,按照某种映射规则进行部署等。\n[0136] 当然,上述方法仅仅用作示例,本领域技术人员采用任一种方法在多台服务器上分别部署所述音乐片段数据都是可行的,本发明对此不需要进行限定。\n[0137] 参考图2,示出了本发明的一种音频片段服务器的生成装置实施例的结构框图,具体可以包括以下单元:\n[0138] 音频数据获取单元201,用于获取音频数据;\n[0139] 音频片段截取单元202,用于截取所述音频数据的片段数据;\n[0140] 音频片段部署单元203,用于将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器。\n[0141] 优选的,所述服务器可以为多台,在这种情况下,所述音频片段部署单元可以进一步包括以下子单元:\n[0142] 标识分配子单元,用于对各台服务器分配标识信息;\n[0143] 哈希计算子单元,用于采用哈希算法计算所述音频片段数据所对应URL的哈希值;\n[0144] 目标服务器确定子单元,用于根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0145] 音频片段定位子单元,用于将所述音频片段数据部署到所述目标服务器端。\n[0146] 在实施例中,所述截取音频片段截取单元可以包括以下子单元:\n[0147] 解码子单元,用于对所述音频数据进行解码,获得所述音频数据的原始波形数据;\n[0148] 特征获取子单元,用于从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0149] 片段提取子单元,用于根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0150] 片段编码子单元,用于对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0151] 优选的,所述截取音频片段截取单元可以包括以下子单元:\n[0152] 淡出处理子单元,用于针对所述预设时间阈值的原始波形数据中,一定时间段的尾部数据进行音量淡出处理。\n[0153] 在本实施例,所述音频数据获取单元可以包括以下子单元:\n[0154] 种子站点获得子单元,用于获得音频数据的种子站点URL,所述种子站点URL包括种子站点的URL,还可以包括该种子站点所代表页面中的所有超链接的URL;\n[0155] 抓取子单元,用于在所述种子站点URL合法时,定向抓取相应的音频数据。\n[0156] 在这种情况下,本实施例还可以包括步骤:\n[0157] 数据库保存单元,用于保存所抓取的音频数据,形成音频数据库。\n[0158] 优选的,本实施例还可以包括步骤:\n[0159] 解析判断单元,用于解析所述音频数据的文件头格式,判断是否为音频数据;若否,则触发去除单元;\n[0160] 去除单元,用于从所述音频数据库中去除该数据。\n[0161] 参考图3,示出了应用图2所示的优选实施例生成音频片段服务器的流程图,具体可以包括以下步骤:\n[0162] 步骤301、音频数据获取单元获取音频数据;\n[0163] 优选的,本步骤可以包括以下子步骤:\n[0164] 子步骤3011、种子站点获得子单元获得音频数据的种子站点URL;\n[0165] 优选的,所述种子站点URL包括种子站点的URL,还可以包括该种子站点所代表页面中的所有超链接的URL;\n[0166] 子步骤3012、抓取子单元在所述种子站点URL合法时,定向抓取相应的音频数据。\n[0167] 步骤302、数据库保存单元保存所抓取的音频数据,形成音频数据库;\n[0168] 步骤303、解析判断单元解析所述音频数据的文件头格式,判断是否为音频数据;\n若否,则触发去除单元从所述音频数据库中去除该数据;\n[0169] 步骤304、音频片段截取单元截取所述音频数据的片段数据;\n[0170] 优选的,本步骤可以包括以下子步骤:\n[0171] 子步骤3041、解码子单元对所述音频数据进行解码,获得所述音频数据的原始波形数据;\n[0172] 子步骤3042、特征获取子单元从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0173] 子步骤3043、片段提取子单元根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0174] 子步骤3044、片段编码子单元对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0175] 子步骤3045、淡出处理子单元针对所述预设时间阈值的原始波形数据中,一定时间段的尾部数据进行音量淡出处理。\n[0176] 步骤305、音频片段部署单元将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器。\n[0177] 优选的,所述服务器可以为多台,在这种情况下,本步骤可以包括以下子步骤:\n[0178] 子步骤3051、标识分配子单元对各台服务器分配标识信息;\n[0179] 子步骤3052、哈希计算子单元采用哈希算法计算所述音频片段数据所对应URL的哈希值;\n[0180] 子步骤3053、目标服务器确定子单元根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0181] 子步骤3054、音频片段定位子单元将所述音频片段数据部署到所述目标服务器端。\n[0182] 对于图2所示的装置实施例而言,由于其基本相应于图1所示的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。\n[0183] 参考图4,示出了本发明的一种音频搜索方法实施例的流程图,具体可以包括以下步骤:\n[0184] 步骤401、接收用户提交的音频搜索请求;\n[0185] 步骤402、依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从音频片段服务器中提取相应的音频片段数据;\n[0186] 步骤403、向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0187] 用户在音频搜索页面提交搜索关键字(如歌曲名、歌词内容或歌手名等)或采用现有技术任一种中音频搜索请求方式(如输入歌曲旋律片段或歌曲节奏片段等)提交相关音频的搜索请求,搜索引擎服务器会依据该请求在数据库中进行匹配查找,以找到与用户要求内容相符的音频数据链接,还可以进一步采用特殊的算法计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户。\n[0188] 本发明实施例在现有的音频搜索技术基础上,在执行音频搜索时,不仅按照搜索请求搜索出音频数据,还进一步提取出相应音频数据的片段数据,以作为音频预听片段的链接返回给用户。由于音频数据的数据量较大,在实际中,所述音频片段数据可以部署在多台服务器端,各台服务器分别具有标识信息,在这种情况下,所述步骤402可以包括以下子步骤:\n[0189] 子步骤F1、采用哈希算法计算所述音频数据URL的哈希值;\n[0190] 子步骤F2、根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0191] 子步骤F3、从所述目标服务器端中提取相应的音频片段数据。\n[0192] 例如,假设N台服务器的编号分别为0,1,2......,N-1。取得每个音频数据的URL后,针对该URL计算MD5值,得到一个整数;用这个整数指除以N,得到的余数M;然后从第M台服务器上把这个音频片段数据提取出来。可以看出,本实施例中定位所述音频片段数据在某台服务器端的方法与前述将音频片段数据部署在某台服务器的方法是对应的,因而,本发明对所述音频片段数据的定位方式亦无需作出限定。\n[0193] 优选的,所述音频数据可以在音频数据库中匹配获得。其中,所述音频数据库可以通过获得音频数据的种子站点URL,并在所述种子站点URL合法时,定向抓取相应的音频数据保存生成。\n[0194] 本实施例中对所述音频数据种子站点URL的获得不作限制,例如,从预置的种子资源库中调用,或依据某个关键词查找获得等,本领域技术人员采用任一方法获得其所需的种子站点URL都是可行的。在实际中,一个站点可能包含大量的超链接页面,因而,所述种子站点URL不仅可以包括种子站点的URL,还可以包括该种子站点所代表页面中的所有超链接的URL。\n[0195] 作为搜索引擎服务提供商而言,通常会把互联网上几乎所有的网页都抓取下来,并保存在搜索引擎服务器中,即保存互联网网页镜像数据。在这种情况下,一种获得音频数据种子站点URL的方法则可以为:\n[0196] G1、从互联网网页镜像数据中查找可能是音频数据的URL,例如以mp3、wma等后缀格式结尾的URL,将它们保存在种子库中;\n[0197] G2、如果种子库中发现一些含有音频URL特别多的网站,就把这些网站查找出来,然后进行专门的抓取,以获得更多的音频URL;\n[0198] G3、对包含有音频URL的网页的超链接页面进行专门的抓取。\n[0199] 假设一个URL-1所对应的页面上有URL-2,那么这个URL-2就是URL-1的超链接,URL-2所对应的页面就是超链接页面。\n[0200] 当然,上述获得音频数据种子站点URL的方法仅仅用作示例,本领域技术人员采用任一种方法获得音频数据种子站点URL都是可行的,例如,从用户下载的客户端软件向服务器发送的请求信息中获得更多的URL等,本发明对此不需要进行限定。\n[0201] 可能的是,某些超链接URL的站点URL已经不是种子站点的URL,在这种情况下,还可以通过判断种子站点URL是否合法来过滤所述种子站点URL。\n[0202] 通过分析URL的数据结构可以得知,一个URL可以包括协议参数(如http协议)、站点参数(host)、路径参数(path)和查询参数(query),其中路径参数可以包括一系列目录(directory),查询参数可以包括一系列键值(Key-Value)对。例如,对于URL:http://www.china-pub.com/member/buybook/view.asp?add=1&tid=203839,其站点参数为www.china-pub.com;路径参数为/member/buybook/view.asp;该路径参数的目录为member,buybook,view.asp;查询参数为add=1&tid=203839,即该查询参数的键值对为(add,1)和(tid,203839)。可以理解的是,判断种子站点URL是否合法的主要目的在于,通过提取URL的站点参数,判断其是否为种子站点,如果是则保留该URL,如果否,则去除该URL。通过过滤获得种子站点,可以减少后续页面抓取的工作量,从而有效提高抓取效率和抓取准确率。\n[0203] 如果种子站点URL合法,则可以获取这个URL的IP地址,然后发出一个HTTP请求,根据HTTP协议获得相应的数据。在实际中,还可以将这些数据保存在服务器端,形成音频数据库。\n[0204] 优选的,在本实施例中,所述音频片段数据为所述音频数据一定时间内的片段数据,可以通过以下子步骤生成:\n[0205] 子步骤H1、对抓取的音频数据进行解码,获得所述音频数据的原始波形数据;\n[0206] 子步骤H2、从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0207] 子步骤H3、根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0208] 子步骤H4、对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0209] 优选的,还可以包括以下子步骤:\n[0210] 子步骤H5、针对所述预设时间阈值的原始波形数据中,一定时间段的尾部数据进行音量淡出处理。\n[0211] 为了兼容各种平台和各种浏览器,上述方法生成的音频片段数据可以支持Flash播放器,由于Flash程序支持各种浏览器和操作系统,因而可以将所述音频搜索结果以嵌入Flash程序的web页面形式展示,即在web页面上嵌入一个Flash程序。在这种情况下,当用户针对某个音频搜索结果发起获取请求时,这个Flash程序就会把这个音频数据的URL发回音频片段服务器,从而获得服务器返回的音频片段数据,实现该音频片段数据的预听功能。可以看出,本发明的预听功能不受平台限制,用户使用体验较好。\n[0212] 为便于本领域技术人员更好地理解本发明,本实施例还可以采用如下描述,即具体可以包括以下步骤:\n[0213] 步骤S1、获取音频数据;\n[0214] 步骤S2、截取所述音频数据的片段数据;\n[0215] 步骤S3、将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器;\n[0216] 步骤S4、接收用户提交的音频搜索请求;\n[0217] 步骤S5、依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从所述音频片段服务器中提取相应的音频片段数据;\n[0218] 步骤S6、向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0219] 参考图5,示出了本发明的一种音频搜索装置实施例的结构框图,具体可以包括以下单元:\n[0220] 音频片段服务器501,用于存储音频片段数据;\n[0221] 搜索请求接收单元502,用于接收用户提交的音频搜索请求;\n[0222] 匹配单元503,用于依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从所述音频片段服务器中提取相应的音频片段数据;\n[0223] 搜索结果返回单元504,用于向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0224] 优选的,所述音频片段服务器可以有多台,并分别具有标识信息,在这种情况下,所述匹配单元可以包括以下子单元:\n[0225] 哈希计算子单元,用于采用哈希算法计算所述音频数据URL的哈希值;\n[0226] 目标服务器确定子单元,用于根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0227] 音频片段提取子单元,用于从所述目标服务器端中提取相应的音频片段数据。\n[0228] 优选的,所述音频数据可以在音频数据库中匹配获得,所述音频数据库通过获得音频数据的种子站点URL,并在所述种子站点URL合法时,定向抓取相应的音频数据保存生成;所述种子站点URL包括种子站点的URL,以及,该种子站点所代表页面中的所有超链接的URL。\n[0229] 更为优选的,所述音频片段数据可以为所述音频数据一定时间内的片段数据,并通过以下步骤生成:\n[0230] 对抓取的音频数据进行解码,获得所述音频数据的原始波形数据;\n[0231] 从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0232] 根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0233] 对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0234] 在本发明实施例中,所述音频搜索结果可以采用嵌入Flash程序的web页面形式展示。\n[0235] 参考图6,示出了应用图5所示的优选实施例进行音频搜索的流程图,具体可以包括以下步骤:\n[0236] 步骤601、搜索请求接收单元接收用户提交的音频搜索请求;\n[0237] 步骤602、匹配单元依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从音频片段服务器中提取相应的音频片段数据;\n[0238] 优选的,所述音频片段服务器可以有多台,并分别具有标识信息,在这种情况下,本步骤可以包括以下子步骤:\n[0239] 子步骤6021、哈希计算子单元采用哈希算法计算所述音频数据URL的哈希值;\n[0240] 子步骤6022、目标服务器确定子单元根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0241] 子步骤6023、音频片段提取子单元从所述目标服务器端中提取相应的音频片段数据。\n[0242] 步骤603、搜索结果返回单元向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0243] 对于图5所示的装置实施例而言,由于其基本相应于前述方法实施例,所以描述的比较简单,相关之处参见本说明书相应部分的说明即可,在此不赘述。\n[0244] 参考图7,示出了本发明的一种音频搜索中预听片段的方法实施例的流程图,具体可以包括以下步骤:\n[0245] 步骤701、接收用户针对某个音频搜索结果发起的获取请求,所述搜索结果中包括所述音频片段数据的信息,所述音频片段数据为依据所述音频搜索请求匹配获得相应音频数据的URL,从音频片段服务器中提取获得;\n[0246] 步骤702、依据所述获取请求提取相应的音频片段数据返回给用户。\n[0247] 优选的,所述音频片段服务器可以有多台,并分别具有标识信息,在这种情况下,到底从哪台音频片段服务器中提取音频片段数据,则可以通过以下子步骤确定:\n[0248] 子步骤I1、采用哈希算法计算所述音频数据URL的哈希值;\n[0249] 子步骤I2、根据所述哈希值和服务器数量计算获得目标服务器的标识信息;\n[0250] 子步骤I3、从所述目标服务器端中提取相应的音频片段数据。\n[0251] 优选的,所述音频数据可以在音频数据库中匹配获得,所述音频数据库通过获得音频数据的种子站点URL,并在所述种子站点URL合法时,定向抓取相应的音频数据保存生成;所述种子站点URL包括种子站点的URL,以及,该种子站点所代表页面中的所有超链接的URL。\n[0252] 更为优选的,所述音频片段数据可以为所述音频数据一定时间内的片段数据,并通过以下步骤生成:\n[0253] 对抓取的音频数据进行解码,获得所述音频数据的原始波形数据;\n[0254] 从所述音频数据的文件头中获取所述原始波形数据的采样频率、通道数和量化位数;\n[0255] 根据所述采样频率、通道数和量化位数计算预设时间阈值的原始波形数据;\n[0256] 对所述预设时间阈值的原始波形数据进行编码,生成音频片段数据。\n[0257] 在本发明实施例中,所述音频搜索结果可以采用嵌入Flash程序的web页面形式展示。\n[0258] 如果所述音频搜索结果是以嵌入Flash程序的web页面形式展示给用户的,则在用户针对某个音频搜索结果发起获取请求时,这个Flash程序就会把这个音频数据的URL发回音频片段服务器,从而获得服务器返回的音频片段数据,实现该音频片段数据的预听功能。\n[0259] 为便于本领域技术人员更好地理解本发明,本实施例还可以采用如下描述,即具体可以包括以下步骤:\n[0260] 步骤S1’、获取音频数据;\n[0261] 步骤S2’、截取所述音频数据的片段数据;\n[0262] 步骤S3’、将所述音频片段数据按照预置规则部署到对应的服务器端,生成音频片段服务器;\n[0263] 步骤S4’、接收用户提交的音频搜索请求;\n[0264] 步骤S5’、依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从所述音频片段服务器中提取相应的音频片段数据;\n[0265] 步骤S6’、向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息。\n[0266] 步骤S7’、接收用户针对某个音频搜索结果发起的获取请求,从音频片段服务器中提取相应的音频片段数据返回给用户。\n[0267] 参考图8,示出了本发明的一种音频搜索中预听片段的装置实施例的结构框图,具体可以包括以下单元:\n[0268] 音频片段服务器801,用于存储音频片段数据;\n[0269] 预听请求接收单元802,用于接收用户针对某个音频搜索结果发起的获取请求,所述搜索结果中包括所述音频片段数据的信息,所述音频片段数据为依据所述音频搜索请求匹配获得相应音频数据的URL,从音频片段服务器中提取获得;\n[0270] 预听片段返回单元803,用于依据所述获取请求提取相应的音频片段数据返回给用户。\n[0271] 对于图8所示的装置实施例而言,由于其基本相应于前述方法实施例,所以描述的比较简单,相关之处参见本说明书相应部分的说明即可,在此不赘述。\n[0272] 参考图9,示出了本发明的一种音频搜索服务器的结构框图,具体可以包括以下模块:\n[0273] 音频片段服务器901,用于存储音频片段数据;\n[0274] 搜索请求接收模块902,用于接收用户提交的音频搜索请求;\n[0275] 匹配模块903,用于依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从所述音频片段服务器中提取相应的音频片段数据;\n[0276] 搜索结果返回模块904,用于向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息;\n[0277] 预听请求接收模块905,用于接收用户针对某个音频搜索结果发起的获取请求;\n[0278] 预听片段返回模块906,用于依据所述获取请求将相应的音频片段数据返回给用户。\n[0279] 参考图10,示出了应用图9所示的优选实施例进行音频搜索的流程图,具体可以包括以下步骤:\n[0280] 步骤1001、搜索请求接收模块接收用户提交的音频搜索请求;\n[0281] 步骤1002、匹配模块依据所述音频搜索请求匹配获得相应的音频数据,并依据所述音频数据的URL从音频片段服务器中提取相应的音频片段数据;\n[0282] 其中,音频片段服务器存储有音频片段数据。\n[0283] 步骤1003、搜索结果返回模块向用户返回音频搜索结果,所述音频搜索结果中包括所述音频片段数据的信息;\n[0284] 步骤1004、预听请求接收模块接收用户针对某个音频搜索结果发起的获取请求;\n[0285] 步骤1005、预听片段返回模块依据所述获取请求将相应的音频片段数据返回给用户。\n[0286] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。此外,在本发明的实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。\n[0287] 以上对本发明所提供的一种音频片段服务器的生成方法和生成装置、一种音频搜索方法和音频搜索装置,一种音频搜索中预听片段的方法和装置,以及一种音频搜索服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2011-09-14
- 2009-03-04
- 2009-01-14
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |