获取多媒体数据的方法、装置及存储介质与流程

文档序号:15076734发布日期:2018-08-01 01:57阅读:140来源:国知局

本发明涉及互联网领域,特别涉及一种获取多媒体数据的方法、装置及存储介质。



背景技术:

随着互联网技术的发展,用户可以通过终端向服务器上传自己制作的多媒体数据,也即,当服务器接收到终端发送的多媒体数据时,存储该多媒体数据,以便于其他用户从服务器中获取该用户上传的多媒体数据。比如,用户可以通过终端上安装的能够录制歌曲的应用程序向服务器上传自己演唱的歌曲,服务器存储该用户演唱的歌曲,以便于其他用户从服务器中获取该用户演唱的歌曲。

相关技术中,当服务器接收到终端发送的携带指定条件的数据获取请求时,服务器遍历存储的每条多媒体数据,并确定每条多媒体数据是否满足该指定条件,以得到满足该指定条件的多媒体数据。

在上述获取多媒体数据的方法中,由于服务器需要遍历存储的每条多媒体数据才能获取到满足指定条件的多媒体数据,严重影响了服务器获取多媒体数据的效率。



技术实现要素:

为了解决相关技术的问题,本发明实施例提供了一种获取多媒体数据的方法、装置及存储介质。所述技术方案如下:

第一方面,提供一种获取多媒体数据的方法,应用于nosql(notonlysql,非关系型)的键值型高速存储系统,所述nosql键值型高速存储系统提供分布式key-value(键-值)存储服务,所述方法包括:

接收终端发送的携带指定条件的数据获取请求,所述指定条件包括用户标识和至少一个属性;

确定与所述至少一个属性一一对应的至少一个特性,每个特性用于描述属性;

将所述至少一个特性中的每个特性和所述用户标识进行组合,得到至少一个键值中的键;

根据每个键值中的键获取每个键值中的值;

根据每个键值中的值确定至少一条多媒体数据,每个键值中的值用于存储多媒体数据的标识;

将确定得到的至少一条多媒体数据发送至所述终端。

可选地,所述接收终端发送的携带指定条件的数据获取请求之前,还包括:

当接收到针对目标多媒体数据的数据存储请求时,确定与所述目标多媒体数据的n个属性一一对应的属性值,所述n为大于或等于1的正整数,所述n个属性包括所述目标多媒体数据的评分等级、所述目标多媒体数据的上传时间和所述目标多媒体数据的风格类型;

根据与所述n个属性一一对应的属性值,确定所述目标多媒体数据对应的m个目标特性,所述m为大于或等于1且小于或等于n的正整数;

将所述m个目标特性中每个目标特征和用户标识进行组合,得到m个目标键值中的键,并将所述目标多媒体数据的标识添加至每个目标键值中的值中。

可选地,所述根据与所述n个属性一一对应的属性值,确定所述目标多媒体数据对应的m个目标特性,包括:

对于所述n个属性,从特性列表中查找与每个属性对应的属性值匹配的特性,所述特性列表包括多个特性;

将查找到的特性确定为所述目标多媒体数据对应的目标特性,以得到所述m个目标特性。

可选地,每个目标键值中的值中的多媒体数据的标识按照分批方式存储,每一批包括的多媒体数据的标识的最大数量为k,所述k为大于1的正整数;

所述将所述目标多媒体数据的标识添加至每个目标键值中的值中,包括:

对于所述m个目标键值中任一目标键值a中的值,确定与所述目标多媒体数据的标识对应的目标批次;

将所述目标多媒体数据的标识添加至所述目标批次中。

可选地,每个目标键值中的值中的多媒体数据的标识按照对应的多媒体数据在指定属性上的属性值的大小排序进行存储;

所述确定与所述目标多媒体数据的标识对应的目标批次,包括:

确定所述目标多媒体数据在所述指定属性上的属性值;

确定所述目标键值a中的值中每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在所述指定属性上的属性值;

根据每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在所述指定属性上的属性值和所述目标多媒体数据在所述指定属性上的属性值,确定所述目标批次。

可选地,所述确定与所述目标多媒体数据的标识对应的目标批次,包括:

将所述目标键值a中的值中的最后一个批次确定为所述目标批次。

可选地,所述将所述目标多媒体数据的标识添加至所述目标批次中之后,还包括:

确定所述目标批次包括的多媒体数据的标识的数量;

若所述目标批次包括的多媒体数据的标识的数量大于所述k,则将所述目标批次中排序末尾的多媒体数据的标识存储至下一批次中;

对于所述目标批次之后的每个批次,按照各个批次的顺序,依次执行若当前批次包括的多媒体数据的标识的数量大于所述k,则将当前批次中排序末尾的多媒体数据的标识存储至下一批次中的步骤。

第二方面,提供一种获取多媒体数据的装置,应用于nosql的键值型高速存储系统,所述nosql键值型高速存储系统提供分布式key-value存储服务,所述装置包括:

接收模块,用于接收终端发送的携带指定条件的数据获取请求,所述指定条件包括用户标识和至少一个属性;

第一确定模块,用于根据所述至少一个属性确定至少一个特性,每个特性用于描述属性;

组合模块,用于将所述至少一个特性中的每个特性和所述用户标识进行组合,得到至少一个键值中的键;

获取模块,用于根据每个键值中的键获取每个键值中的值;

第二确定模块,用于根据每个键值中的值确定至少一条多媒体数据,每个键值中的值用于存储多媒体数据的标识;

发送模块,用于将确定得到的至少一条多媒体数据发送至所述终端。

可选地,所述装置还包括:

第三确定模块,用于当接收到针对目标多媒体数据的数据存储请求时,确定与所述目标多媒体数据的n个属性一一对应的属性值,所述n为大于或等于1的正整数,所述n个属性包括所述目标多媒体数据的评分等级、所述目标多媒体数据的上传时间和所述目标多媒体数据的风格类型;

第四确定模块,用于根据与所述n个属性一一对应的属性值,确定所述目标多媒体数据对应的m个目标特性,所述m为大于或等于1且小于或等于n的正整数;

添加模块,用于将所述m个目标特性中每个目标特征和用户标识进行组合,得到m个目标键值中的键,并将所述目标多媒体数据的标识添加至每个目标键值中的值中。

可选地,所述第四确定模块包括:

查找单元,用于对于所述n个属性,从特性列表中查找与每个属性对应的属性值匹配的特性,所述特性列表包括多个特性;

确定单元,用于将查找到的特性确定为所述目标多媒体数据对应的目标特性,以得到所述m个目标特性。

可选地,每个目标键值中的值中的多媒体数据的标识按照分批方式存储,每一批包括的多媒体数据的标识的最大数量为k,所述k为大于1的正整数;

所述添加模块包括:

第一确定单元,用于对于所述m个目标键值中任一目标键值a中的值,确定与所述目标多媒体数据的标识对应的目标批次;

添加单元,用于将所述目标多媒体数据的标识添加至所述目标批次中。

可选地,每个目标键值中的值中的多媒体数据的标识按照对应的多媒体数据在指定属性上的属性值的大小排序进行存储;

所述第一确定单元,具体用于:

确定所述目标多媒体数据在所述指定属性上的属性值;

确定所述目标键值a中的值中每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在所述指定属性上的属性值;

根据每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在所述指定属性上的属性值和所述目标多媒体数据在所述指定属性上的属性值,确定所述目标批次。

可选地,所述第一确定单元,具体用于:

将所述目标键值a中的值中的最后一个批次确定为所述目标批次。

可选地,所述添加模块还包括:

第二确定单元,用于确定所述目标批次包括的多媒体数据的标识的数量;

第一存储单元,用于若所述目标批次包括的多媒体数据的标识的数量大于所述k,则将所述目标批次中排序末尾的多媒体数据的标识存储至下一批次中;

第二存储单元,用于对于所述目标批次之后的每个批次,按照各个批次的顺序,依次执行若当前批次包括的多媒体数据的标识的数量大于所述k,则将当前批次中排序末尾的多媒体数据的标识存储至下一批次中的步骤。

第三方面,提供了一种获取多媒体数据的装置,所述装置包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行上述第一方面所述的任一项方法的步骤。

第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的任一方法的步骤。

本发明实施例提供的技术方案带来的有益效果是:

在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求时,由于该指定条件包括用户标识和至少一个属性,因此可以根据至少一个属性确定至少一个特性,并将该至少一个特性中的每个特性和用户标识进行组合,得到至少一个键值中的键,获取该至少一个键值中每个键值中的值,并根据每个键值中的值确定至少一条多媒体数据。由于每个键值中的值用于存储多媒体的标识,因此,在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求,可以直接根据该指定条件确定至少一个键值中的键,然后根据至少一个键值中每个键值中的值中的多媒体数据的标识即可得到待获取的多媒体,无需遍历与该用户标识对应的所有多媒体数据才能得到待获取的多媒体数据,提高了获取多媒体数据的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种获取多媒体数据的方法流程图;

图2是本发明实施例提供的另一种获取多媒体数据的方法流程图;

图3a是本发明实施例提供的一种获取多媒体数据的装置框图;

图3b是本发明实施例提供的另一种获取多媒体数据的装置框图;

图4是本发明实施例提供的另一种获取多媒体数据的装置框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

在对本发明实施例进行详细解释说明之前,先对本发明实施例中涉及到的nosql键值型高速存储系统进行解释说明。

nosql键值型高速存储系统是一种用于提供分布式key-value存储服务的系统,在nosql键值型高速存储系统中,数据以键值的方式存储,键是根据数据的特性通过预设算法生成的,值用于存储数据的索引,当需要查找某个键的值对应的数据时,可以根据该键的值中存储的索引来查找对应的多媒体数据。

传统的关系型数据存储系统中都是存储一些格式化的数据结构,每个元组的字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作。而在nosql键值型高速存储系统中,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。

图1是本发明实施例提供的一种获取多媒体数据的方法流程图,应用于nosql键值型高速存储系统,该nosql键值型高速存储系统提供分布式key-value存储服务,如图1所示,该方法包括如下步骤:

步骤101:接收终端发送的携带指定条件的数据获取请求,该指定条件包括用户标识和至少一个属性。

步骤102:确定与该至少一个属性一一对应的至少一个特性,每个特性用于描述属性。

步骤103:将该至少一个特性中的每个特性和该用户标识进行组合,得到至少一个键值中的键。

步骤104:根据每个键值中的键获取每个键值中的值。

步骤105:根据每个键值中的值确定至少一条多媒体数据,每个键值中的值用于存储多媒体数据的标识。

步骤106:将确定得到的至少一条多媒体数据发送至该终端。

在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求时,由于该指定条件包括用户标识和至少一个属性,因此可以根据至少一个属性确定至少一个特性,并将该至少一个特性中的每个特性和用户标识进行组合,得到至少一个键值中的键,根据每个键值中的键获取每个键至的值,并根据每个键值中的值确定至少一条多媒体数据。由于每个键值中的值用于存储多媒体的标识,因此,在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求,可以直接根据该指定条件确定至少一个键值中的键,然后根据至少一个键值中每个键值中的值中的多媒体数据的标识即可得到待获取的多媒体,无需遍历与该用户标识对应的所有多媒体数据才能得到待获取的多媒体数据,提高了获取多媒体数据的效率。

可选地,接收终端发送的携带指定条件的数据获取请求之前,还包括:

当接收到针对目标多媒体数据的数据存储请求时,确定与该目标多媒体数据的n个属性一一对应的属性值,该n为大于或等于1的正整数,该n个属性包括目标多媒体数据的评分等级、目标多媒体数据的上传时间和目标多媒体数据的风格类型;

根据与该n个属性一一对应的属性值,确定该目标多媒体数据对应的m个目标特性,该m为大于或等于1且小于或等于n的正整数;

将该m个目标特性中每个目标特征和用户标识进行组合,得到m个目标键值中的键,并将该目标多媒体数据的标识添加至每个目标键值中的值中。

可选地,根据与该n个属性一一对应的属性值,确定该目标多媒体数据对应的m个目标特性,包括:

对于该n个属性,从特性列表中查找与每个属性对应的属性值匹配的特性,该特性列表包括多个特性;

将查找到的特性确定为该目标多媒体数据对应的目标特性,以得到该m个目标特性。

可选地,每个目标键值中的值中的多媒体数据的标识按照分批方式存储,每一批包括的多媒体数据的标识的最大数量为k,该k为大于1的正整数;

将该目标多媒体数据的标识添加至每个目标键值中的值中,包括:

对于该m个目标键值中任一目标键值a中的值,确定与该目标多媒体数据的标识对应的目标批次;

将该目标多媒体数据的标识添加至该目标批次中。

可选地,每个目标键值中的值中的多媒体数据的标识按照对应的多媒体数据在指定属性上的属性值的大小排序进行存储;

确定与该目标多媒体数据的标识对应的目标批次,包括:

确定该目标多媒体数据在该指定属性上的属性值;

确定该目标键值a中的值中每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在该指定属性上的属性值;

根据每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在该指定属性上的属性值和该目标多媒体数据在该指定属性上的属性值,确定该目标批次。

可选地,确定与该目标多媒体数据的标识对应的目标批次,包括:

将该目标键值a中的值中的最后一个批次确定为该目标批次。

可选地,将该目标多媒体数据的标识添加至该目标批次中之后,还包括:

确定该目标批次包括的多媒体数据的标识的数量;

若该目标批次包括的多媒体数据的标识的数量大于该k,则将该目标批次中排序末尾的多媒体数据的标识存储至下一批次中;

对于该目标批次之后的每个批次,按照各个批次的顺序,依次执行若当前批次包括的多媒体数据的标识的数量大于该k,则将当前批次中排序末尾的多媒体数据的标识存储至下一批次中的步骤。

上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。

图2是本发明实施例提供的另一种获取多媒体数据的方法流程图,应用于nosql键值型高速存储系统,该nosql键值型高速存储系统提供分布式key-value存储服务,如图2所示,该方法包括如下步骤:

步骤201:接收到针对目标多媒体数据的数据存储请求时,确定与目标多媒体数据的n个属性一一对应的属性值,n为大于或等于1的正整数,该n个属性包括目标多媒体数据的评分等级、目标多媒体数据的上传时间和目标多媒体数据的风格类型。

为了后续便于其他用户根据属性值获取多媒体数据,当需要存储目标多媒体数据时,需先确定目标多媒体数据在各个属性上的属性值,以便于根据目标多媒体数据在各个属性上的属性值对目标多媒体数据进行存储。

其中,目标多媒体数据的属性包括目标多媒体数据的评分等级、目标多媒体数据的上传时间和目标多媒体数据的风格类型。比如,评分等级可以包括1星、2星、3星、4星和5星,风格类型可以包括70年代、80年代、90年代、00年代。

另外,n为预先设置的数值,该n可以为2、3或4等。

比如,目标多媒体数据为歌曲,n为2,目标多媒体数据的两个属性分别为评分等级和上传时间,也即,将多媒体数据按照评分等级和上传时间进行存储。

步骤202:根据与n个属性一一对应的属性值,确定目标多媒体数据对应的m个目标特性,m为大于或等于1且小于或等于n的正整数。

实际应用中,对于某些属性,若将该属性对应的所有属性值列举出来,并按照每个不同的属性值对多媒体数据进行存储,将增加存储多媒体数据的难度,因此,在本发明实施例中,按照各个不同的特性对媒体数据进行存储。

其中,每个特性用于描述属性,也即,特性是用于描述属性值在指定范围内的一个属性。比如,若特性是针对评分等级的特性,则特性可以为评分等级为3星,或者,也可以为评分等级在三星以下。若特性是针对上传时间的特性,则特性可为上传时间在1月份,或者,上传时间在2月份等等。

进一步地,为了快速确定目标多媒体数据对应的目标特性,预先设置一个特性列表,该特性列表中包括多个特性,此时,步骤202的实现方式可以为:

对于n个属性,从特性列表中查找与每个属性对应的属性值匹配的特性,将查找到的特性确定为目标多媒体数据对应的目标特性,以得到该m个目标特性。

比如,特性列表包括针对评分等级的5个特性,分别为评分等级为1星、评分等级为2星、评分等级为3星、评分等级为4星和评分等级为5星,以及针对上传时间的12个特性,分别为上传时间在1月份、上传时间在2月份、…、上传时间在12月份。

若目标多媒体数据在属性评分等级上的属性值为4星,在属性上传时间上的属性值为10月20日,则可以得到目标多媒体数据的两个特性分别为评分等级为4星以及上传时间在10月份。

步骤203:将该m个目标特性中每个目标特征和用户标识进行组合,得到m个目标键值中的键,并将该目标多媒体数据的标识添加至每个目标键值中的值中。

在本发明实施例中,为了能够实现直接根据属性值获取对应的多媒体数据,以键值的方式存储多媒体数据。另外,由于实际应用中,其他用户通常是将属性值和用户标识作为获取条件获取多媒体数据,因此,可以将用户标识和一个特性作为一个键,以便于根据某个键直接得到与该用户标识和特性均对应的多媒体数据。

另外,为了简化键值的值中包括的信息,每个键值中的值还可以为与键包括的用户标识和特性均对应的多媒体数据的标识,也即,每个键值中的值用于存储多媒体数据的标识。

因此,当通过步骤202得到目标多媒体数据对应的m个目标特性之后,可以确定目标多媒体数据的标识,将该m个目标特性中每个目标特征和用户标识进行组合,得到m个目标键值中的键,并将该目标多媒体数据的标识添加至每个目标键值中的值中,以实现将目标多媒体数据以键值的方式进行存储。

进一步地,为了提高获取多媒体数据的效率,将键值列表中的键值中的值中的多媒体数据的标识按照分批方式存储,每一批包括的多媒体数据的标识的最大数量为k,k为大于1的正整数,以便于后续可以分批次向终端输出某个键-值的值对应的多媒体数据。

此时,每个目标键值中的值中的多媒体数据的标识按照分批方式存储,因此,步骤203具体可以为:对于m个目标键值中任一目标键值a中的值,确定与目标多媒体数据的标识对应的目标批次,将目标多媒体数据的标识添加至目标批次中。

也即,对于目标键-值a,需先确定一个目标批次,以便于将目标多媒体数据的标识添加至目标批次中,以实现将该多媒体数据存储至目标键-值a的值中。

需要说明的是,对于任一键值中的值中包括的多媒体数据的标识,可以按照一定的排序进行存储,当然也可以直接顺延排列存储。因此,确定与目标多媒体数据的标识对应的目标批次可以有以下两种可能的实现方式:

第一种可能的实现方式,键值列表中的键值中的值中的多媒体数据的标识按照对应的多媒体数据在指定属性上的属性值的大小排序进行存储,此时,确定目标多媒体数据在该指定属性上的属性值,确定目标键值a中的值中每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在该指定属性上的属性值;根据每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在该指定属性上的属性值和目标多媒体数据在该指定属性上的属性值,确定目标批次。

其中,指定属性为预先设置的属性,比如指定属性为评分等级,此时,对于目标键值a中的值中的多媒体数据的标识,将多媒体数据的标识按照对应的多媒体数据的评分等级的大小排序进行存储。又比如,指定属性为上传时间,对于目标键值a中的值中的多媒体数据的标识,将多媒体数据的标识按照对应的多媒体数据的上传时间的大小排序进行存储。

第二种可能的实现方式,键值列表中的键值中的值中的多媒体数据的标识直接顺延排列存储,此时,直接将目标键值a中的值中的最后一个批次确定为目标批次。

由于每一批包括的多媒体数据的标识的最大数量为k,因此,在将目标多媒体数据的标识添加至目标批次中之后,还需判断目标批次包括的多媒体数据的标识的数量是否大于k,以便于对各个批次中的多媒体数据的标识做出调整。

具体地,确定目标批次包括的多媒体数据的标识的数量,若目标批次包括的多媒体数据的标识的数量大于k,则将目标批次中排序末尾的多媒体数据的标识存储至下一批次中,对于目标批次之后的每个批次,按照各个批次的顺序,依次执行若当前批次包括的多媒体数据的标识的数量大于k,则将当前批次中排序末尾的多媒体数据的标识存储至下一批次中的步骤。

比如,k为10,目标键-值a的值中有5个批次,目标批次为3,此时将目标多媒体数据的标识存储至第三批次中之后,第三批次中将包括11个多媒体数据的标识,此时需将第三批次中排序末尾的多媒体数据的标识转移至第四批次中,并转移的多媒体数据的标识作为第四批次中第一个多媒体数据标识。第四批次中原包括的多媒体数据依次顺延,并确定第四批次中包括的多媒体数据的标识的数量,继续判断第四批次中包括的多媒体数据的标识的数量是否大于k,重复执行上述过程,直至目标键-值a的值中的最后一个批次包括的多媒体数据的标识的数量小于或等于k。

按照步骤201至步骤203的方式存储多媒体数据之后,可以通过下述步骤204至步骤208获取多媒体数据。

步骤204:接收终端发送的携带指定条件的数据获取请求,该指定条件包括用户标识和至少一个属性。

其中,用户标识为待获取的多媒体数据对应的用户标识。具体地,当用户b需要获取用户c的多媒体数据时,用户b可以通过终端向服务器发送数据获取请求,该数据获取请求携带用户c的用户标识,以及待获取的多媒体数据的至少一个属性。

比如,指定条件包括用户c在服务器上注册的用户账号,以及评分等级为3星。则表明用户b欲获取用户c的多媒体数据中评分等级为3星的多媒体数据。

步骤205:确定与该至少一个属性一一对应的至少一个特性。

由步骤202和步骤203可知,在本发明实施例中,根据目标多媒体数据对应的特性存储目标多媒体数据的,因此,当需要获取多媒体数据时,还需确定待获取的多媒体数据的特性,以便于后续根据确定的特性获取对应的多媒体数据。

具体地,对于该至少一个属性,从特性列表中查找与每个属性对应的属性值匹配的特性,以得到该至少一个特性。

步骤206:将该至少一个特性中的每个特性和用户标识进行组合,得到至少一个键值中的键。

由于存储的键值列表中的任一键值中的键包括用户标识和一个特性,因此在已知用户标识和至少一个特性的前提下,可以直接通过步骤206确定至少一个键值中的键。

比如,获取条件包括用户c在服务器上注册的用户账号,以及评分等级为3星,此时可得到一个键值中的键,该键值中的键包括用户c的用户标识和评分等级为3星。

步骤207:根据每个键值中的键获取每个键值中的值。

由于键值列表中每个键对应一个值,因此,在得到该至少一个键值中的键之后,可以根据每个键值中的键获取每个键值中的值。

步骤208:根据每个键值中的值确定至少一条多媒体数据。

由于每个键值中的值用于存储多媒体数据的标识,因此,可以根据每个键值中的值确定至少一条多媒体数据的标识,然后从存储的多媒体数据的标识与多媒体数据的对应关系中,确定与该至少一条多媒体数据的标识分别对应的多媒体数据,以得到该至少一条多媒体数据。

步骤209:将确定得到的至少一条多媒体数据发送至终端。

在根据上述步骤205至步骤208得到该至少一条多媒体数据之后,服务器可以将该至少一条多媒体数据发送给终端,以实现终端根据数据获取请求得到待获取的多媒体数据。

在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求时,由于该指定条件包括用户标识和至少一个属性,因此可以根据至少一个属性确定至少一个特性,并将该至少一个特性中的每个特性和用户标识进行组合,得到至少一个键值中的键,获取所述至少一个键值中每个键值中的值,并根据每个键值中的值确定至少一条多媒体数据。由于每个键值中的值用于存储多媒体的标识,因此,在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求,可以直接根据该指定条件确定至少一个键值中的键,然后根据至少一个键值中每个键值中的值中的多媒体数据的标识即可得到待获取的多媒体,无需遍历与该用户标识对应的所有多媒体数据才能得到待获取的多媒体数据,提高了获取多媒体数据的效率。

图3a是本发明实施例提供的一种获取多媒体数据的装置300,应用于nosql键值型高速存储系统,该nosql键值型高速存储系统提供分布式key-value存储服务,该装置300包括接收模块301、第一确定模块302、组合模块303、获取模块304、第二确定模块305和发送模块306:

接收模块301,用于接收终端发送的携带指定条件的数据获取请求,该指定条件包括用户标识和至少一个属性;

第一确定模块302,用于确定与该至少一个属性一一对应的至少一个特性,每个特性用于描述属性;

组合模块303,用于将该至少一个特性中的每个特性和该用户标识进行组合,得到至少一个键值中的键;

获取模块304,用于根据每个键值中的键获取每个键值中的值;

第二确定模块305,用于根据每个键值中的值确定至少一条多媒体数据,每个键值中的值用于存储多媒体数据的标识;

发送模块306,用于将确定得到的至少一条多媒体数据发送至该终端。

可选地,如图3b所示,该装置300还包括第三确定模块307、第四确定模块308和添加模块309:

第三确定模块307,用于当接收到针对目标多媒体数据的数据存储请求时,确定与该目标多媒体数据的n个属性一一对应的属性值,该n为大于或等于1的正整数,该n个属性包括目标多媒体数据的评分等级、目标多媒体数据的上传时间和目标多媒体数据的风格类型;

第四确定模块308,用于根据与该n个属性一一对应的属性值,确定该目标多媒体数据对应的m个目标特性,该m为大于或等于1且小于或等于n的正整数;

添加模块309,用于将该m个目标特性中每个目标特征和用户标识进行组合,得到m个目标键值中的键,并将该目标多媒体数据的标识添加至每个目标键值中的值中。

可选地,该第四确定模块308包括:

查找单元,用于对于该n个属性,从特性列表中查找与每个属性对应的属性值匹配的特性,该特性列表包括多个特性;

确定单元,用于将查找到的特性确定为该目标多媒体数据对应的目标特性,以得到该m个目标特性。

可选地,每个目标键值中的值中的多媒体数据的标识按照分批方式存储,每一批包括的多媒体数据的标识的最大数量为k,该k为大于1的正整数;

该添加模块309包括:

第一确定单元,用于对于该m个目标键值中任一目标键值a中的值,确定与该目标多媒体数据的标识对应的目标批次;

添加单元,用于将该目标多媒体数据的标识添加至该目标批次中。

可选地,每个目标键值中的值中的多媒体数据的标识按照对应的多媒体数据在指定属性上的属性值的大小排序进行存储;

该第一确定单元,具体用于:

确定该目标多媒体数据在该指定属性上的属性值;

确定该目标键值a中的值中每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在该指定属性上的属性值;

根据每个批次中排序末尾的多媒体数据的标识对应的多媒体数据在该指定属性上的属性值和该目标多媒体数据在该指定属性上的属性值,确定该目标批次。

可选地,该第一确定单元,具体用于:

将该目标键值a中的值中的最后一个批次确定为该目标批次。

可选地,该添加模块309还包括:

第二确定单元,用于确定该目标批次包括的多媒体数据的标识的数量;

第一存储单元,用于若该目标批次包括的多媒体数据的标识的数量大于该k,则将该目标批次中排序末尾的多媒体数据的标识存储至下一批次中;

第二存储单元,用于对于该目标批次之后的每个批次,按照各个批次的顺序,依次执行若当前批次包括的多媒体数据的标识的数量大于该k,则将当前批次中排序末尾的多媒体数据的标识存储至下一批次中的步骤。

在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求时,由于该指定条件包括用户标识和至少一个属性,因此可以根据至少一个属性确定至少一个特性,并将该至少一个特性中的每个特性和用户标识进行组合,得到至少一个键值中的键,获取该至少一个键中每个键值中每个键值中的值,并根据每个键值中的值确定至少一条多媒体数据。由于每个键值中的值用于存储多媒体的标识,因此,在本发明实施例中,当接收到终端发送的携带指定条件的数据获取请求,可以直接根据该指定条件确定至少一个键值中的键,然后根据至少一个键值中每个键值中的值中的多媒体数据的标识即可得到待获取的多媒体,无需遍历与该用户标识对应的所有多媒体数据才能得到待获取的多媒体数据,提高了获取多媒体数据的效率。

需要说明的是:上述实施例提供的获取多媒体数据的装置在获取多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的获取多媒体数据的装置与获取多媒体数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图4是本发明实施例提供的另一种多媒体数据的存储装置400。该装置400可以为服务器400,该服务器可以是后台服务器集群中的服务器。具体来讲:

服务器400包括中央处理单元(cpu)401、包括随机存取存储器(ram)402和只读存储器(rom)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。

基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。

根据本申请的各种实施例,服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行上述本发明实施例提供的多媒体数据的存储方法的指令。

本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述实施例提供的获取多媒体数据的方法。

本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的获取多媒体数据的方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1