掌桥专利:专业的专利平台
掌桥专利
首页

数据存储方法、装置、服务器、介质及程序产品

文献发布时间:2023-06-19 11:22:42


数据存储方法、装置、服务器、介质及程序产品

技术领域

本公开涉及数据存储技术领域,尤其涉及数据存储方法、装置、服务器、介质及程序产品。

背景技术

在对信息进行推送的过程中,为了保证能够得到较好的推送效果,需要对用户针对历史推送信息的历史行为数据进行统计,并利用这些统计数据训练机器学习模型,使得后续能够利用训练好的模型来预测用户在遇到不同的推送信息后可能采用的行为,进而为后续的信息推送提供数据支持。

在此过程中,为了实现上述机器学习模型的训练,需要从原始的历史行为数据中提取特征数据,历史行为数据只有经过特征提取变成特征数据才能用于机器学习中的模型训练。

相关技术中,上述机器学习模型包括在线训练模型和离线训练模型。其中,在线训练模型和离线训练模型,存在训练过程中特征数据无法复用的情况,因此,存在重复的特征提取过程或文件生成过程,影响了训练的效率,进而也影响了后续依据训练结果进行信息推送的效率。

发明内容

本公开提供一种数据存储方法、装置、服务器、介质及程序产品,以至少解决相关技术中特征数据利用率低,导致影响了后续依据训练结果进行信息推送的效率的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种数据存储方法,包括:

接收针对推送数据的在线历史操作行为数据流;

对所述在线历史操作行为数据流中的在线历史操作行为数据进行特征提取,得到第一行为特征数据;

将所述第一行为特征数据存储到在线特征数据流中以及离线特征数据库中;

其中,所述在线特征数据流中的行为特征数据用于在线训练模型;所述离线特征数据库中的行为特征数据用于离线训练模型。

在一些实施例中,所述将所述第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,还包括:

接收针对推送数据的离线历史操作行为数据,所述离线历史操作行为数据包括从写入磁盘的历史日志中获取的数据;

对所述离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据;

将所述第二行为特征数据存储到所述离线特征数据库。

在一些实施例中,所述对所述离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据,包括:

将所述部分数据对应的第一属性信息与所述历史行为特征数据对应的第二属性信息进行比对,得到第一比对结果;

根据所述第一比对结果,筛选所述部分数据中对应于第一目标属性信息的数据;

对所述筛选出的数据进行特征提取,得到所述第二行为特征数据;

其中,所述第一目标属性信息包括属于所述第一属性信息且不属于所述第二属性信息的属性信息;所述历史行为特征数据为本次特征提取之前存储的行为特征数据。

在一些实施例中,所述将所述第一行为特征数据存储到离线特征数据库中,包括:

将所述第一行为特征数据结构化存储到所述离线特征数据库中。

在一些实施例中,所述将所述第二行为特征数据存储到所述离线特征数据库,包括:

将所述第二行为特征数据结构化存储到所述离线特征数据库中。

在一些实施例中,在所述将所述第一行为特征数据存储到在线特征数据流以及离线特征数据库中之后,所述数据存储方法还包括:

从所述在线特征数据流中筛选出用于至少一个在线训练模型训练的行为特征数据;

依据所述筛选出的行为特征数据训练所述至少一个在线训练模型,得到推送数据与用户行为数据之间的映射关系。

在一些实施例中,在所述将所述第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,还包括:

从所述离线特征数据库中查找出用于至少一个离线训练模型训练的行为特征数据;

依据所述行为特征数据训练所述至少一个离线训练模型,得到推送数据与用户行为数据之间的映射关系。

在一些实施例中,在所述将所述第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,还包括:

在增加用于训练的行为特征数据类型的情况下,从所述离线特征数据库中查找出新增类型的行为特征数据;

依据所述新增类型的行为特征数据训练离线训练模型,得到推送数据与用户行为数据之间的映射关系。

根据本公开实施例的第二方面,提供一种数据存储装置,包括:

第一接收模块,被配置为接收针对推送数据的在线历史操作行为数据流;

第一提取模块,被配置为对所述在线历史操作行为数据流中的在线历史操作行为数据进行特征提取,得到第一行为特征数据;

第一存储模块,被配置为执行将所述第一行为特征数据存储到在线特征数据流中以及离线特征数据库中;所述在线特征数据流中的行为特征数据用于在线训练模型;所述离线特征数据库中的行为特征数据用于离线训练模型。

在一些实施例中,所述数据存储装置还包括:

第二接收模块,被配置为执行接收针对推送数据的离线历史操作行为数据,所述离线历史操作行为数据包括从写入磁盘的历史日志中获取的数据;

第二提取模块,被配置为对所述离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据;

第二存储模块,被配置为将所述第二行为特征数据存储到所述离线特征数据库。

在一些实施例中,所述第二提取模块还包括:

第一比较子模块,被配置为将所述部分数据对应的第一属性信息与所述历史行为特征数据对应的第二属性信息进行比对,得到第一比对结果;

数据筛选子模块,被配置为根据所述第一比对结果,筛选所述部分数据中对应于第一目标属性信息的数据;

第二提取子模块,被配置为对所述筛选出的数据进行特征提取,得到所述第二行为特征数据;

其中,所述第一目标属性信息包括属于所述第一属性信息且不属于所述第二属性信息的属性信息;所述历史行为特征数据为本次特征提取之前存储的行为特征数据。

在一些实施例中,所述第一存储模块具体被配置为将所述第一行为特征数据结构化存储到所述离线特征数据库中。

在一些实施例中,所述第二存储模块具体被配置为将所述第二行为特征数据结构化存储到所述离线特征数据库中。

在一些实施例中,所述数据存储装置还包括:

第一特征筛选模块,被配置为从所述在线特征数据流中筛选出用于至少一个在线训练模型训练的行为特征数据;

在线训练模块,被配置为依据所述筛选出的行为特征数据训练所述至少一个在线训练模型,得到推送数据与用户行为数据之间的映射关系。

在一些实施例中,所述数据存储装置还包括:

第二特征筛选模块,被配置为从所述离线特征数据库中查找出用于至少一个离线训练模型训练的行为特征数据;

离线训练模块,被配置为依据所述行为特征数据训练所述至少一个离线训练模型,得到推送数据与用户行为数据之间的映射关系。

在一些实施例中,第二特征筛选模块,还被配置为在增加用于训练的行为特征数据的参数类型的情况下,从所述离线特征数据库中查找出新增参数类型的行为特征数据;

离线训练模块,还被配置为依据所述新增类型的行为特征数据训练离线训练模型,得到推送数据与用户行为数据之间的映射关系。

根据本公开实施例的第三方面,提供一种服务器,包括:

处理器;

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

其中,所述处理器用于执行所述指令,以实现如本公开实施例的第一方面提供的任一项所述的数据存储方法。

根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如本公开实施例的第一方面提供的任一项所述的数据存储方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括程序或指令,以使程序或指令被执行时,实现如本公开实施例的第一方面提供的任一项所述的数据存储方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

本实施例中,在线完成对推送数据的在线历史操作行为数据的特征提取,将得到的提取结果进行存储,使得各个模型无需不需要单独进行特征提取,从而减少了重复的特征提取操作。同时,将得到的提取结果分别存储到在线特征数据流中以及离线特征数据库中,使得在线训练模型可以从在线特征数据流中读取到在线提取的行为特征数据,以及离线训练模型可以从离线数据库中读取到在线提取的行为特征数据,从而实现了在线特征数据在离线训练模型中的复用。通过实现上述在线特征数据的复用,提高了在线特征数据的利用效率,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而可以加快训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是相关技术中示出的一种数据存储系统的架构图;

图2是根据一示例性实施例示出的一种数据存储方法的流程图;

图3是根据一示例性实施例示出的一种数据存储系统的架构图;

图4是根据一示例性实施例示出的一种数据存储装置框图;

图5是根据一示例性实施例示出的一种服务器的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

想要实现预测用户在遇到不同的推送信息后可能采用的行为的目的,需要依据历史操作行为数据进行机器学习训练,并根据训练完成后的模型对待预测的推送信息进行预测,得到待预测的推送信息可能对应的行为数据。

在机器学习过程中,特征指的是数据中所呈现出来的某一种重要的特性,通常通过属性计算、组合或者转换得到,原始的历史行为数据只有经过特征提取变成特征数据才能用于机器学习中的模型训练。

特征服务指的就是将特征数据存储起来并提供接口使得训练模型可以高效获取数据的服务(也可以理解为特征数据提取以及存储的服务)。

目前针对信息推送过程中的机器学习模型训练包括两个场景:在线训练和离线训练,在这两个场景中,现有的特征服务方案参见图1所示,图1是相关技术中示出的一种数据存储系统的架构图。

在线训练中的特征服务技术方案中,如图1中上半部分所示,特征服务嵌入在线训练模型的训练模块中,即特征服务由各个在线训练模型分别实现。原始数据保存在流式信息处理系统中,各个在线训练模型分别对流式信息处理系统中的原始数据进行特征提取,得到的第一行为特征数据直接提供给在线训练模型使用。因此,该方案中,各个在线训练模型提取到的第一行为特征数据没有复用,数据利用率低,特征提取操作存在重复,不仅浪费了计算资源,并且导致特征提取操作效率低,进而降低了后续对推荐信息和用户操作行为数据之间的映射关系的训练效率,对信息推荐过程造成影响。

离线训练中的特征服务技术方案中,如图1中下半部分所示,相较于在线训练,离线训练要求训练速度更快,因此离线训练过程中,将训练和特征提取流程割裂开来,特征提取从非流式的存储设备中记录的原始数据进行特征提取,并将得到的第二行为特征数据写入到分布式文件系统中的特征数据文件中,等待离线训练模型启动后使用。由于文件属于非结构化数据,即使将所有特征提取结果都统一暂存到统一的文件中,各个离线训练模型也不方便从中获取自身所需要的特征,因此需要为各个离线训练模型分别生成一个对应的特征数据文件。例如,第二行为特征数据包括1000条数据,每个离线训练模型分别需要其中的100条数据,这种情况下,会分别为每个离线训练模型生成一个包含其对应的100条数据的特征数据文件。因此,各个离线训练模型也无法复用彼此的特征数据,不仅浪费了存储资源,且需要增加文件生成的步骤,进而降低了推荐信息和用户操作行为数据之间的映射关系的训练效率,对信息推荐过程造成影响。

由于现有特征服务技术方案中,如图1中上半部分所示,特征服务嵌入在线训练模型的训练模块中,特征服务中得到的第一行为特征数据直接提供给在线训练模型使用。因此离线训练模型无法从在线训练模型训练模块获取第一行为特征数据进行训练,导致第一行为特征数据无法在离线训练模型中复用,从而增加了重复的特征提取以及文件生成的过程,进而降低了推荐信息和用户操作数据之间的映射关系的训练效率,影响了后续依据训练结果进行信息推送的效率。

此外,在离线训练中增加新的行为特征数据进行训练,由于第二行为特征数据(离线特征数据)存储在分布式文件系统中的特征数据文件中。因此,新属性信息的行为特征数据无法直接加入到现有的第二行为特征数据中,而是需要重新提取所有行为特征数据。

为了解决上述技术问题,本公开实施例提供一种数据存储方法、装置、服务器、计算机存储介质及计算机程序产品,能将在线提取的第一行为特征数据分别存储在线特征数据流中和离线特征数据库中,使得在线训练模型能从在线特征数据流中读取行为特征数据进行训练,以及离线训练模型能从离线特征数据库中读取行为特征数据进行训练,从而有效解决现有系统无法复用特征提取流程的缺陷,实现行为特征数据在训练模型之间的复用,缩短了特征提取的时间,减少了重复的特征提取以及文件生成的过程。并且其可以有效减少机器学习系统中特征提取流程所占用的计算资源和存储资源,提升模型训练的离线行为特征数据准备时间。

下面首先对本公开实施例所提供的一种数据存储方法进行介绍。

图2是根据一示例性实施例示出的一种数据存储方法的流程图。该数据存储方法包括:

步骤S110,接收针对推送数据的在线历史操作行为数据流。

这里,在线历史操作行为数据流包括有序的多个历史操作行为数据。数据存储装置实时接收用户对推送数据的历史操作行为数据,并将历史操作行为数据进行流式缓存,得到针对推送数据的在线历史操作行为数据流。

其中,历史操作行为数据可以包括第一推送信息,以及第一推送信息对应的第一用户操作数据。这里的第一推送信息指的是被应用或设备推送至前端显示的信息,例如第一推送信息可以包括推送的广告、图像、视频等信息。这里的第一用户操作数据指的是用户对第一推送信息具体执行的操作数据。

在一些实施例中,第一用户操作数据可以包括以下至少一种:

是否浏览第一推送信息;打开第一推送信息后是否下载第一推送信息中推送的应用;打开第一推送信息后的浏览时长;预设时长内第一推送信息被打开的次数。例如,预设时长为2小时,第一用户操作数据可以包括:浏览了第一推送信息,打开第一推送信息后下载了推送的应用,浏览时长为5分钟,预设时长内第一推送信息被打开3次等。

这里,通过上述第一用户操作数据即能够了解到用户对于第一推送信息的态度,例如是否想要浏览,是否想要下载推送应用等,而依据用户对于第一推送信息的态度,即能够了解到第一推送信息是否达到了想要的推送效果,在后续依据第一推送信息和第一用户操作数据进行训练后,即能够根据训练结果预测目标推送信息对应的目标用户操作数据,进而了解目标推送信息可能的推送效果,来辅助和指导后续信息的推送过程。

当然,以上仅为一种具体示例,第一用户操作数据与用户的实际操作有关。此外,第一用户操作数据还可以包括其他类型的操作数据,例如是否接收到用户对第一推送信息的点击操作等。本公开实施例不限定第一用户操作数据所包括的数据类型以及具体内容。

步骤S120,对在线历史操作行为数据流中的在线历史操作行为数据进行特征提取,得到第一行为特征数据。

这里,数据存储装置从在线历史操作行为数据流中读取在线历史操作行为数据,并利用特征提取模型对在线历史操作行为数据进行特征提取,得到第一行为特征数据。第一行为特征数据可以包括在线历史操作行为数据的特征数据。第一行为特征数据可以为数据存储装置在线提取的特征数据,可以称为在线行为特征数据。

步骤S130,将第一行为特征数据存储到在线特征数据流中以及离线特征数据库中。

这里,在线特征数据流中的行为特征数据用于在线训练模型。离线特征数据库中的行为特征数据用于离线训练模型。

可选地,数据存储装置将第一行为特征数据进行流式缓存,从而将第一行为特征数据存储到在线特征数据流,以便在线训练模型从在线特征数据流中获取行为特征数据,利用行为特征数据进行训练。如此,后续使得各个在线训练模型能够直接读取该第一行为特征数据训练推送信息与用户操作数据之间的映射关系,实现了在线特征服务中的特征数据的复用。

可选地,数据存储装置还将第一行为特征数据写入离线特征数据库,从而将第一行为特征数据存储到离线特征数据库,以便离线训练模型从离线特征数据库中获取在线特征数据,利用行为特征数据进行训练。如此,后续使得各个离线训练模型能够从离线特征数据库中读取该第一行为特征数据训练推送信息与用户操作数据之间的映射关系,实现了在线特征数据的在离线训练系统中的复用。

上述实施例中,在线完成对推送数据的在线历史操作行为数据的特征提取,将得到的提取结果进行存储,从而不需要针对各个模型单独进行特征提取,减少了重复的特征提取操作。同时,将提取结果分别存储到在线特征数据流中以及离线特征数据库中,使得在线训练模型可以从在线特征数据流中读取到在线提取的行为特征数据,以及离线训练模型可以从离线数据库中读取到在线提取的行为特征数据,从而实现了在线特征数据在离线训练模型中的复用。通过实现上述在线特征数据的复用,提高了在线特征数据的利用效率,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而加快了训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。

在一些实施例中,为了使得得到第一行为特征获取更全面,该数据存储方法还包括:

在线读取记录用户对第一推送信息的第一用户操作数据的原始文本日志;

在线提取原始文本日志中的特征数据,得到第一行为特征数据。

本实施例中,数据存储装置从原始数据流中读取原始文本日志,原始文本日志中记录了用户对第一推送信息的第一用户操作数据,之后提取出原始文本日志中的全部特征数据作为第一行为特征数据。由于原始文本日志中能够记录下第一推送信息被推送过程中的全部相关数据,因此基于原始文本日志进行特征提取,使得得到的第一行为特征数据更加全面。

在一些实施例中,为了减少离线特征提取中重复的特征提取操作,该数据存储方法还包括:

步骤S140a,接收针对推送数据的离线历史操作行为数据。

这里,离线历史操作行为数据包括从写入磁盘的历史日志中获取的历史操作行为数据。数据存储装置提取原始文本日志中的特征数据,得到离线历史操作行为数据。具体地,数据存储装置对历史操作行为数据进行分布式存储,生成历史操作行为数据对应的历史日志。数据存储装置从历史日志中读取离线历史操作行为数据。离线历史操作行为数据包括第二推送信息以及第二推送信息对应的第二用户操作数据。这里的第二推送信息与第一推送信息具有相同的含义,第二用户操作数据与第一用户数据具有相同的含义,在此不再赘述。

步骤S150a,对离线历史操作行为数据进行特征提取,得到第二行为特征数据。

这里,特征提取方法与前述特征提取方法类似,这里不再赘述。其中,第二行为特征数据可以包括离线提取的行为特征数据,可以称为离线特征数据。

步骤S160a,将第二行为特征数据存储到离线特征数据库。

这里,数据存储装置还将第二行为特征数据写入离线特征数据库,从而将第二行为特征数据存储到离线特征数据库,其中,步骤S140与步骤S110至步骤S130,没有先后顺序。

在上述实施例中,离线完成对推送数据的离线历史操作行为数据的特征提取,将得到的第二行为特征数据存储在离线特征数据库,从而不需要针对各个离线训练模型单独进行特征提取,使得离线特征数据可以在各个模型间进行复用,从而减少了重复的特征提取以及文件生成的过程,提高了特征数据的利用效率,进而可以加快离线训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。

在一些实施例中,为了减少重复的行为特征数据占用空间,在步骤S150a,对离线历史操作行为数据进行特征提取,得到第二行为特征数据包括:

对离线历史操作行为数据进行特征提取,得到第三行为特征数据。

筛选第三行为特征数据中未包含于历史行为特征数据,将筛选得到的数据作为第二行为特征数据。

这里,历史行为特征数据为本次特征提取之前保存的行为特征数据,如此,筛选出与历史行为特征数据不同的新的离线行为特征数据,并将新的离线行为特征数据存储在数据库中,从而减少了重复的特征数据占用的空间。

在一些实施例中,为了减少重复的特征提取以及文件生成的过程,在步骤S130,将第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,该数据存储方法还包括:

步骤S140b,接收针对推送数据的离线历史操作行为数据。

这里,步骤S140b与步骤S140a类似,为简要起见这里不再赘述。

步骤S150b,对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据。

这里,部分数据可以包括未被进行在线特征提取的离线历史操作数据,还可以包括未被进行离线特征提取的离线历史操作数据。

步骤S160b,将第二行为特征数据存储到离线特征数据库。

例如,离线历史操作行为数据和历史行为特征数据中均保存有“是否浏览推送信息”属性信息,但是针对这个属性信息,离线历史操作行为数据与用于提取历史行为特征数据中历史操作行为数据不同,这里的历史操作行为数据可以包括在线历史操作行为数据和离线历史操作行为数据。因此这部分数据属于新数据,需要将离线历史操作行为数据中“是否浏览推送信息”这一属性信息对应的数据进行特征提取。

在上述实施例中,对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取操作,如此,一方面,避免了对历史操作行为数据中相同数据重复进行特征提取,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而加快了训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。另一方面,将离线历史操作行为数据中的部分数据进行特征提取,从而能够保证第二行为特征数据的完整性。

在一些实施例中,为了对新增加的属性信息的行为特征数据进行特征提取,步骤S150b,对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据,包括:

S151,将部分数据对应的第一属性信息与历史行为特征数据对应的第二属性信息进行比对,得到第一比对结果。

这里,历史行为特征数据为本次特征提取之前存储的行为特征数据。数据存储装置比较部分数据对应的第一属性信息与历史行为特征数据对应的第二属性信息,从而得到第一属性信息中不属于第二属性信息的属性信息。

S152,根据第一比对结果,筛选部分数据中对应于第一目标属性信息的数据。

这里,第一目标属性信息包括属于第一属性信息且不属于第二属性信息的属性信息。

S153,对筛选出的数据进行特征提取,得到第二行为特征数据。

例如,之前所保存的历史行为特征数据的第二属性信息包括是否浏览推送信息以及浏览时长,上述部分数据的第一属性信息中除了是否浏览推送信息以及浏览时长之外,还包括是否下载推送应用,则上述部分数据的第一属性信息中包括不属于第二属性信息的属性信息,这种情况下,将上述部分数据中对应于“是否下载推送应用”的数据进行提取,并作为第二行为特征数据。

本实施例中,数据存储装置筛选出第二历史行为数据中未被进行特征提取的部分数据,比较部分数据对应的第一属性信息和历史行为特征数据对应的第二属性信息,对新增加的属性信息对应的数据进行特征提取,从而能够减少对属性信息相同的特征数据的重复提取,从而减少重复数据对存储空间的占用。并且由于第二行为特征数据存储在数据库中,因此,对于新增加的属性信息的特征数据可以直接插入原有的历史行为特征数据中,无需再针对新增加的属性信息的重新生成特征数据文件。

在一些实施例中,为了方便对存储在数据库的特征数据进行操作,将第一行为特征数据结构化存储到离线特征数据库中。

这里,离线特征数据库可以包括结构化数据库。数据存储装置将第一行为特征数据结构化存储到离线特征数据库中,使得离线特征数据库中的行为特征数据以结构化形式存在,从而无需针对不同的离线训练模型生成不同的特征数据文件,而是可以直接从结构化的行为特征数据提取到自身需要的特征数据,从而使得各个离线训练模型能够实现特征数据的复用。此外,结构化数据库便于快速查找库中的特征数据,并且支持对库中数据进行操作。

在一些实施例中,为了方便对存储在数据库的特征数据进行补数操作,将第二行为特征数据结构化存储到离线特征数据库中。

这里,离线特征数据库可以包括结构化数据库。例如离线特征数据库可以为Hbase。数据存储装置将第二行为特征数据结构化存储到离线特征数据库中,使得离线特征数据库中的行为特征数据以结构化形式存在,从而无需针对不同的离线训练模型生成不同的特征数据文件,而是可以直接从结构化的行为特征数据提取到自身需要的特征数据,从而使得各个离线训练模型能够实现特征数据的复用。此外,结构化数据库便于快速查找库中的特征数据,并且支持对库中数据进行操作。

在本公开实施例中,离线特征数据库可以采用各种类型的、具有上述功能的结构化数据库。例如离线特征数据库可以为Hbase,Hbase是基于列存储的数据库,主要由主键以及列族构成,并且列是可以扩展的。本公开实施例对离线特征数据库的类型不作限定。

在一些实施例中,为了使得各个在线训练模型之间可以复用在线提取的行为特征数据,在步骤S130,将第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,该数据存储方法还包括:

步骤S170,从在线特征数据流中筛选出用于至少一个在线训练模型训练的行为特征数据。

这里,第一行为特征数据存储在线特征数据流后,各个在线训练模型不需要单独进行特征提取,从而减少了重复的特征提取操作。各个在线训练模型可以直接从在线特征数据流中获取第一行为特征数据。由于各个在线训练模型所需要的行为特征数据可能不同,例如,在线训练模型1想要获取游戏类推荐信息对应的第一行为特征数据,在线训练模型2想要获取新闻类推荐信息对应的第一行为特征数据,因此,各个在线训练模型在获取第一行为特征数据后,可以会进行数据筛选,选择自身训练所需要的第一目标特征数据进行训练。举例来看,假设第一行为特征数据包括1000条数据,每个在线训练模型仅需要100条数据,则在线训练模型在获取这1000条数据后,需要筛选得到自身所需的100条数据进行训练。

步骤S180,依据筛选出的行为特征数据训练至少一个在线训练模型,得到推送数据与用户行为数据之间的映射关系。

这里,数据存储装置利用筛选出的行为特征数据训练与行为特征数据对应的在线训练模型,从而得到推送数据与用户行为数据之间的映射关系。

在上述实施例中,各个在线训练模型能够直接从在线特征数据流中读取该第一行为特征数据,并且筛选出各自用于训练的行为特征数据,利用行为特征数据训练在线训练模型,得到推送信息与用户操作数据之间的映射关系,实现了在线特征服务中的特征数据在各个在线模型间的复用。

在一些实施例中,为了在训练各个离线训练模型时,可以复用在线提取的行为特征数据,在步骤S130,将第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,该数据存储方法还包括:

步骤S190,从离线特征数据库中查找出用于至少一个离线训练模型训练的行为特征数据。

这里,离线特征数据库中的行为特征数据可以包括第一行为特征数据。各个在线训练模型可以直接从离线特征数据库中获取第一行为特征数据,由于各个离线训练模型所需要的行为特征数据可能不同,例如,离线训练模型1想要获取游戏类推荐信息对应的第一行为特征数据,离线训练模型2想要获取新闻类推荐信息对应的第一行为特征数据,因此,各个离线训练模型在获取第一行为特征数据后,可以会进行数据筛选,选择自身训练所需要的第一目标特征数据进行训练。举例来看,假设第一行为特征数据包括1000条数据,每个离线训练模型仅需要100条数据,则离线训练模型在获取这1000条数据后,需要筛选得到自身所需的100条数据进行训练。

步骤S1010,依据行为特征数据训练至少一个离线训练模型,得到推送数据与用户行为数据之间的映射关系。

在上述实施例中,通过离线特征数据库使得各个离线训练模型可以获取到在线提取的第一行为特征数据,使得离线训练模型也能够使用第一行为特征数据进行训练,从而实现了在线训练模型与离线训练模型之间的特征数据的复用。

在一些实施例中,离线特征数据库中的行为特征数据可以包括第二行为特征数据,如此,通过离线特征数据库使得各个离线训练模型可以获取到离线提取的第二行为特征数据,使得各个离线训练模型也能够使用第二行为特征数据进行训练,从而实现了离线训练模型之间的特征数据的复用。

在一些实施例中,离线特征数据库中的行为特征数据可以包括第一行为特征数据和第二行为特征数据,如此,通过离线特征数据库使得各个离线训练模型可以获取到在线提取的第一行为特征数据和第二行为特征数据,使得各个离线训练模型也能够使用第一行为特征数和第二行为特征数据进行训练,从而实现了在线训练模型与离线训练模型之间的特征数据的复用以及离线训练模型之间的特征数据的复用。

在一些实施例中,为了利用新增类型的行为特征数据训练离线训练模型,在将第一行为特征数据存储到在线特征数据流中以及离线特征数据库中之后,还包括:

步骤S1020,在增加用于训练的行为特征数据类型的情况下,从离线特征数据库中查找出新增类型的行为特征数据。

这里,数据存储装置检测用于训练的行为特征数据类型增加,数据存储装置从离线特征数据库中查找出新增类型的行为特征数据。

在一些实施例中,在离线特征数据库中存储在新增类型的行为特征数据的情况下,离线训练模型直接从离线特征数据库中读取新增类型的行为特征数据。

在一些实施例中,在离线特征数据库中没有存储在新增类型的行为特征数据的情况下,数据存储装置从离线历史操作行为数据中筛选出新增类型的行为特征数据对应的离线历史操作行为数据,对筛选出的离线历史操作行为数据进行特征提取,将得到的新增类型的行为特征数据存储在离线特征数据库,从而离线特征数据库存储有新增类型的行为特征数据。如此,数据存储装置可以利用离线特征数据库可以对新增类型的行为特征数据进行补数操作,从而在增加用于训练的行为特征数据类型的情况下,可以针对新增类型的行为特征数据进行特征提取,并将特征提取的结果插入到离线特征数据库对应的位置即可。

步骤S1030,依据新增类型的行为特征数据训练离线训练模型,得到推送数据与用户行为数据之间的映射关系。

在上述实施例中,利用离线特征数据库中查找出新增类型的行为特征数据,如此,在行为特征数据类型增加的情况下,无需重新提取所有行为特征数据,从而避免了重复数据的保存以及对重复数据进行特征提取,减少了对数据库存储空间的占用,且提高了特征提取操作的效率。

基于与上述方法实施例相同的发明构思,本公开还提供了一种数据存储装置200,参见图3所示,图3是根据一示例性实施例示出的一种数据存储装置框图。该数据存储装置200包括第一接收模块210、第一提取模块220和第一存储模块230。

第一接收模块200,被配置为接收针对推送数据的在线历史操作行为数据流。

第一提取模块220,被配置为对在线历史操作行为数据流中的在线历史操作行为数据进行特征提取,得到第一行为特征数据。

第一存储模块230,被配置为执行将第一行为特征数据存储到在线特征数据流中以及离线特征数据库中;在线特征数据流中的行为特征数据用于在线训练模型;离线特征数据库中的行为特征数据用于离线训练模型。

在上述实施例中,在线完成对推送数据的在线历史操作行为数据的特征提取,将得到的提取结果进行存储,从而不需要针对各个模型单独进行特征提取,减少了重复的特征提取操作。同时,将提取结果分别存储到在线特征数据流中以及离线特征数据库中,使得在线训练模型可以从在线特征数据流中读取到在线提取的行为特征数据,以及离线训练模型可以从离线数据库中读取到在线提取的行为特征数据,从而实现了在线特征数据在离线训练模型中的复用。通过实现上述在线特征数据的复用,提高了在线特征数据的利用效率,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而加快了训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。

在一些实施例中,为了减少重复的特征提取以及文件生成的过程,数据存储装置200还包括:

第二接收模块240,被配置为执行接收针对推送数据的离线历史操作行为数据,离线历史操作行为数据包括从写入磁盘的历史日志中获取的数据;

第二提取模块250,被配置为对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据;

第二存储模块260,被配置为将第二行为特征数据存储到离线特征数据库。

在上述实施例中,对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取操作,如此,一方面,避免了历史操作行为数据中相同数据重复进行特征提取,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而加快了训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。另一方面,将离线历史操作行为数据中的部分数据进行特征提取,从而能够保证第二行为特征数据的完整性。

在一些实施例中,第二提取模块250还包括第一比较子模块2501、数据筛选子模块2502以及第二提取子模块2503。

第一比较子模块2501,被配置为将部分数据对应的第一属性信息与历史行为特征数据对应的第二属性信息进行比对,得到第一比对结果。

数据筛选子模块2502,被配置为根据第一比对结果,筛选部分数据中对应于第一目标属性信息的数据;

这里,第一目标属性信息包括属于第一属性信息且不属于第二属性信息的属性信息。历史行为特征数据为本次特征提取之前存储的行为特征数据。

第二提取子模块2503,被配置为对筛选出的数据进行特征提取,得到第二行为特征数据。

在上述实施例中,筛选出第二历史行为数据中未被进行特征提取的部分数据,比较部分数据对应的第一属性信息和历史行为特征数据对应的第二属性信息,对新增加的属性信息对应的数据进行特征提取,从而能够减少对属性信息相同的特征数据的重复提取,从而减少重复数据对存储空间的占用。并且由于第二行为特征数据存储在数据库中,因此,对于新增加的属性信息的特征数据可以直接插入原有的历史行为特征数据中,无需再针对新增加的属性信息的重新生成特征数据文件。

在一些实施例中,为了方便对存储在数据库的特征数据进行操作,第一存储模块230具体被配置为将第一行为特征数据结构化存储到离线特征数据库中。

在一些实施例中,为了方便对存储在数据库的特征数据进行补数操作,第二存储模块260具体被配置为将第二行为特征数据结构化存储到离线特征数据库中。

在一些实施例中,为了使得各个在线训练模型之间可以复用在线提取的行为特征数据,数据存储装置200还包括:

第一特征筛选模块270,被配置为从在线特征数据流中筛选出用于至少一个在线训练模型训练的行为特征数据;

在线训练模块280,被配置为依据筛选出的行为特征数据训练至少一个在线训练模型,得到推送数据与用户行为数据之间的映射关系。

在上述实施例中,各个在线训练模型能够直接从在线特征数据流中读取该第一行为特征数据,并且筛选出各自用于训练的行为特征数据,利用行为特征数据训练在线训练模型,得到推送信息与用户操作数据之间的映射关系,实现了在线特征服务中的特征数据在各个在线模型间的复用。

在一些实施例中,为了在训练各个离线训练模型时,可以复用在线提取的行为特征数据,数据存储装置200还包括:

第二特征筛选模块290,被配置为从离线特征数据库中查找出用于至少一个离线训练模型训练的行为特征数据;

第一离线训练模块2010,被配置为依据行为特征数据训练至少一个离线训练模型,得到推送数据与用户行为数据之间的映射关系。

在上述实施例中,通过离线特征数据库使得各个离线训练模型可以获取到在线提取的第一行为特征数据,使得离线训练模型也能够使用第一行为特征数据进行训练,从而实现了在线训练模型与离线训练模型之间的特征数据的复用。

在一些实施例中,数据存储装置200还包括:

第三特征筛选模块2020,还被配置为在增加用于训练的行为特征数据的参数类型的情况下,从离线特征数据库中查找出新增参数类型的行为特征数据。

第二离线训练模块2030,还被配置为依据新增类型的行为特征数据训练离线训练模型,得到推送数据与用户行为数据之间的映射关系。

在上述实施例中,利用离线特征数据库中查找出新增类型的行为特征数据,如此,在行为特征数据类型增加的情况下,无需重新提取所有行为特征数据,从而避免了重复数据的保存以及对重复数据进行特征提取,减少了对数据库存储空间的占用,且提高了特征提取操作的效率。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例提供了一种数据存储系统,图4是根据一示例性实施例示出的一种数据存储系统的架构图。参见图4所示,该系统包括原始数据存储系统310、特征服务中间层320、推送模型在线训练系统330、推送模型离线训练系统340。其中,推送模型在线训练系统330可以包括多个在线训练模型3301至330n、推送模型离线训练系统340可以包括多个离线训练模型3401至340n。

原始数据存储系统310,用于实时接收用户对推送数据的在线历史操作行为数据,并对在线历史操作行为数据进行流式缓存,得到在线历史操作行为数据流,其中,在线历史操作行为数据中包括第一推送信息以及第一推送信息对应的第一用户操作数据;

其中,原始数据存储系统310仅会对在线历史操作行为数据进行短期保存,并会自动删除到期历史操作行为数据,因此,原始数据存储系统310中保存的在线历史操作行为数据均为短期内生成的历史操作行为数据,例如3天内的历史操作行为数据,历史操作行为数据的时效性更强。

可选的,原始数据存储系统310,可以包括第一流式信息处理系统3101。其中,第一流式信息处理系统1102用于实时接收用户对推送数据的在线历史操作行为数据,并对在线历史操作行为数据进行流式缓存,得到在线历史操作行为数据流。

此外,第一流式信息处理系统3101可以采用各种类型的、具有上述功能的信息处理系统,例如,第一流式信息处理系统3101可以为卡夫卡消息处理系统。本公开实施例对此不作限定。

在一些可选的实施例中,原始数据存储系统310,还可以包括分布式存储系统3102。其中,分布式存储系统3102用于将历史操作行为数据进行分布式存储,将历史操作行为数据存入磁盘,得到离线历史操作行为数据。

这里,离线历史操作行为数据的周期可以较长,例如3天获取一次,可以主动获取,也可以被动接收离线历史操作行为数据。离线历史操作数据通常情况下不会被自动删除,而是始终保存于分布式系统文件中,直至用户手动删除,因此,原始数据存储系统310中存储有时间较长的离线历史操作行为数据。

此外,分布式存储系统3102可以采用各种类型的、具有上述功能的信息处理系统,例如,分布式存储系统3102可以为Hadoop分布式文件系统。本公开实施例对此不作限定。

特征服务中间层320可以包括第二流式信息处理系统3201和离线特征数据库3202。特征服务中间层320用于对在线历史操作行为数据流中的在线历史操作行为数据进行特征提取,得到第一行为特征数据。将第一行为特征数据存储到在线特征数据流中以及离线特征数据库3202中。

这里,特征服务中间层320从原始数据流(也就是在线历史操作行为数据流)中读取原始文本日志(即在线历史操作行为数据),对每条日志(即在线历史操作行为数据)都提取现有的所有特征,将每条日志(即在线历史操作行为数据)的提取特征结果(行为特征数据)都写入在线特征数据的数据流中。

在一些可选实施例中,第二流式信息处理系统3201,用于对第一行为特征数据进行流式缓存,将第一行为特征数据存储到在线特征数据流中。离线特征数据库3202,用于结构化存储第一行为特征数据。

这里,离线特征数据库3202可以为采用各种类型的、具有上述功能的数据库,例如,离线特征数据库3202可以为Hbase数据库。Hbase数据库为分布式数据库。本公开实施例对此不作限定。

推送模型在线训练系统330,用于从特征服务中间层320中的在线特征数据流中读取第一行为特征数据,并对第一行为特征数据进行特征筛选,依据筛选得到的第一目标特征数据对在线训练模型3301进行训练。

在线训练模型3301,用于根据第一目标特征数据,得到推送信息与用户操作行为数据之间的映射关系。

在本公开实施例中,在线训练模型3301可以为服务器或电子设备等,例如可以为计算机、云端服务器等,只要能够支持模型进行训练的设备均可以作为在线训练模型1201。

推送模型离线训练系统330,用于从离线特征数据库3202读取行为特征数据,并对行为特征数据进行特征筛选,依据筛选得到的第二目标特征数据对离线训练模型3401进行训练,第二目标特征数据属于第二行为特征数据或第一行为特征数据。

离线训练模型3401用于,用于根据第二目标特征数据,得到推送信息与用户操作行为数据之间的映射关系。

这里的离线训练模型3401可以为服务器或电子设备等,例如可以为计算机、云端服务器等,只要能够支持模型进行训练的设备均可以作为离线训练模型3401。

在上述实施例中,在线完成对推送数据的在线历史操作行为数据的特征提取,将得到的提取结果进行存储,从而不需要针对各个模型单独进行特征提取,减少了重复的特征提取操作。同时,将提取结果分别存储到在线特征数据流中以及离线特征数据库中,使得在线训练模型可以从在线特征数据流中读取到在线提取的行为特征数据,以及离线训练模型可以从离线数据库中读取到在线提取的行为特征数据,从而实现了在线特征数据在离线训练模型中的复用。通过实现上述在线特征数据的复用,提高了在线特征数据的利用效率,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而加快了训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。

在一些实施例中,特征服务中间层320还用于接收针对推送数据的离线历史操作行为数据,离线历史操作行为数据包括从落盘(即写入磁盘)的历史日志中获取的数据。对离线历史操作行为数据进行特征提取,得到第二行为特征数据;将第二行为特征数据结构化存储到离线特征数据库3202。

这里,离线特征数据库3202存储有时间较长的第二行为特征数据,将第二行为特征数据保存为结构化数据后,结构化数据是统一保存的,特征服务中间层320不会生成对应于各个离线训练模型3401的文件。

在上述实施例中,离线完成对推送数据的离线历史操作行为数据的特征提取,将得到的第二行为特征数据存储在离线特征数据库,从而不需要针对各个离线训练模型单独进行特征提取,使得离线特征数据可以在各个模型间进行复用,从而减少了重复的特征提取以及文件生成的过程,提高了特征数据的利用效率,进而可以加快离线训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。

在一些实施例中,特征服务中间层320还用于接收针对推送数据的离线历史操作行为数据;对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取,得到第二行为特征数据;将第二行为特征数据存储到离线特征数据库3202。

在上述实施例中,对离线历史操作行为数据中未被进行特征提取的部分数据进行特征提取操作,如此,一方面,避免了历史操作行为数据中相同数据重复进行特征提取,从而减少了重复的特征提取以及文件生成的过程,缩短了特征提取的时间,进而加快了训练得到推送信息与用户行为之间的映射关系的速度,提高了后续依据训练结果进行信息推送的效率。另一方面,将离线历史操作行为数据中的部分数据进行特征提取,从而能够保证第二行为特征数据的完整性。

在一些实施例中,在推送模型离线训练系统340中,用于训练的行为特征数据类型增加。特征服务中间层320用于从分布式系统中读取离线历史操作行为数据,并筛选出新增类型的行为特征数据对应的离线历史操作行为数据,对筛选出的离线历史操作行为数据进行特征提取,将得到的新增类型的行为特征数据存储在离线特征数据库,从而离线特征数据库存储有新增类型的行为特征数据。

在上述实施例中,由于行为特征数据存储在分布式存数据库中,特征服务中间层320可以利用离线特征数据库可以对新增类型的行为特征数据进行补数操作,从而在增加用于训练的行为特征数据类型的情况下,可以针对新增类型的行为特征数据进行特征提取,并将特征提取的结果插入到离线特征数据库对应的位置即可。

图4是根据一示例性实施例示出的一种服务器的框图。参照图4,服务器400可以包括以下一个或多个组件:处理组件402,存储器404,电力组件406,多媒体组件408,音频组件410,输入/输出(I/O)的接口412,传感器组件414,以及通信组件416。

处理组件402通常控制服务器400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。

存储器404被配置为存储各种类型的数据以支持服务器400的操作。这些数据的示例包括用于在服务器400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件406为服务器400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为服务器400生成、管理和分配电力相关联的组件。

在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器704,上述指令可由服务器400的处理器420执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供一种计算机程序产品,包括计算机程序或者指令,所述计算机程序或者指令被处理器执行时使得服务器能够执行上述的方法的全部或部分步骤。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 数据存储方法、装置、服务器、介质及程序产品
  • 多媒体数据存储方法、装置、设备、存储介质及程序产品
技术分类

06120112901761