CN113792891B - 一种机器学习特征生产系统及方法 - Google Patents

一种机器学习特征生产系统及方法 Download PDF

Info

Publication number
CN113792891B
CN113792891B CN202111344564.3A CN202111344564A CN113792891B CN 113792891 B CN113792891 B CN 113792891B CN 202111344564 A CN202111344564 A CN 202111344564A CN 113792891 B CN113792891 B CN 113792891B
Authority
CN
China
Prior art keywords
feature
repository
features
subscription
characteristic
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
Application number
CN202111344564.3A
Other languages
English (en)
Other versions
CN113792891A (zh
Inventor
张险全
薛延波
赵鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Hanlan Wolf Technology Co ltd
Original Assignee
Beijing Huapin Borui Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huapin Borui Network Technology Co Ltd filed Critical Beijing Huapin Borui Network Technology Co Ltd
Priority to CN202111344564.3A priority Critical patent/CN113792891B/zh
Publication of CN113792891A publication Critical patent/CN113792891A/zh
Application granted granted Critical
Publication of CN113792891B publication Critical patent/CN113792891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种机器学习特征生产系统,包括:特征管理系统,确定是否有重复特征,在确定没有时将待接入离线特征写入特征数据仓库中和/或将待接入在线特征写入特征消息队列中;特征分发器集群,各个特征分发器分别监听特征消息队列,在监听到消息后将待分发特征分发至各个特征订阅存储库中,定期从特征元数据存储库中加载特征元数据,以检测是否有变更,并在有变更时处理待变更特征元数据;任务调度系统,定期将特征数据仓库中的特征同步至特征消息队列中;特征接入SDK,提供在线特征生产者的接入端口。本发明实施例还公开了一种机器学习特征生产方法。本发明能高效进行在/离线特征的生产,保证多数据源的在/离线特征的一致性。

Description

一种机器学习特征生产系统及方法
技术领域
本发明涉及机器学习技术领域,具体而言,涉及一种机器学习特征生产系统及方法。
背景技术
特征工程是机器学习算法的重要组成部分,特征在机器学习中起到至关重要的作用,特征的质量决定了算法模型的效果。在工业应用中,特征从生产到在线存储,过程复杂且涉及多数据源,多数据源的在线特征和离线特征一致性很难保证。
发明内容
为解决上述问题,本发明的目的在于提供一种机器学习特征生产系统及方法,能够高效的进行在线特征和离线特征的生产,并保证多数据源的在线特征和离线特征的一致性。
本发明实施例提供了一种机器学习特征生产系统,所述系统包括:
特征管理系统,用于根据特征订阅者提供的待接入特征的特征元数据和特征订阅存储库信息,确定各个特征订阅存储库中是否有与所述待接入特征重复的特征,所述待接入特征包括各个离线特征生产者生产的待接入离线特征和/或各个在线特征生产者生产的待接入在线特征,以在确定没有重复特征时,各个所述离线特征生产者将所述待接入离线特征写入特征数据仓库中和/或各个所述在线特征生产者将所述待接入在线特征写入至少一个特征消息队列中;
特征分发器集群,包括多个特征分发器,各个所述特征分发器用于监听所述至少一个特征消息队列,以在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,以使所述特征订阅者从各个所述特征订阅存储库中同步特征,各个所述特征分发器还用于定期从特征元数据存储库中加载特征元数据,以检测所述特征元数据存储库中的特征元数据是否有变更,并在检测到有变更时,对所述特征元数据存储库中的待变更特征元数据进行处理;
任务调度系统,用于定期将所述特征数据仓库中写入的离线特征同步至所述至少一个特征消息队列中;
特征接入SDK,用于提供在线特征生产者的接入端口,以使各个所述在线生产者将生产的在线特征写入至所述至少一个特征消息队列中。
作为本发明进一步的改进,所述特征管理系统包括:
特征值查询工具,用于在线查询各个所述特征订阅存储库中的特征和所述特征元数据库中的特征元数据;
特征下线工具,用于下线特征;
特征校验工具,用于校验待接入特征,以确定所述待接入特征与所述待接入特征定义的特征元数据是否匹配;
数据清理工具,用于清理各个所述特征订阅存储库中存储的所述下线特征以及所述特征元数据存储库中存储的所述下线特征的特征元数据;
数据恢复工具,用于恢复丢失的在线特征。
作为本发明进一步的改进,所述特征消息对应的待分发特征包括特征编码,
所述在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,包括:
在监听到特征消息后,对所述特征消息进行数据结构解析,并根据所述待分发特征的特征编码,从各个所述特征分发器中获取所述待分发特征的特征元数据,构建所述待分发特征被订阅的存储库列表;
确定所述待分发特征的操作类型,遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理。
作为本发明进一步的改进,所述操作类型包括是删除特征、新增特征和更新特征,
所述遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理,包括:
当确定所述操作类型为删除特征时,遍历所述存储库列表,依次删除各个所述特征订阅存储库中的待删除特征;
当确定所述操作类型为新增特征时,遍历所述存储库列表,依次将待新增特征写入各个所述特征订阅存储库中;
当确定所述操作类型为更新特征时,遍历所述存储库列表,依次将待更新特征写入各个所述特征订阅存储库中。
作为本发明进一步的改进,所述特征订阅存储库包括持久化订阅存储库、缓存系统和消息系统中的一种或多种。
本发明实施例还提供了一种机器学习特征生产方法,所述方法包括:
根据特征订阅者提供的待接入特征的特征元数据和特征订阅存储库信息,确定各个特征订阅存储库中是否有与所述待接入特征重复的特征;
在确定没有重复特征时,如果所述待接入特征是离线特征生产者生产的待接入离线特征,则将所述待接入离线特征写入特征数据仓库中,并定期将所述特征数据仓库中写入的离线特征同步至至少一个特征消息队列中,如果所述待接入特征是在线特征生产者生产的待接入在线特征,则将所述待接入在线特征写入所述至少一个特征消息队列中;
在监听到所述至少一个特征消息队列中的特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,以使所述特征订阅者从各个所述特征订阅存储库中同步特征。
作为本发明进一步的改进,所述特征消息对应的待分发特征包括特征编码,
所述在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,包括:
在监听到特征消息后,对所述特征消息进行数据结构解析,并根据所述待分发特征的特征编码获取所述待分发特征的特征元数据,构建所述待分发特征被订阅的存储库列表;
确定所述待分发特征的操作类型,遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理。
作为本发明进一步的改进,所述操作类型包括是删除特征、新增特征和更新特征,
所述遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理,包括:
当确定所述操作类型为删除特征时,遍历所述存储库列表,依次删除各个所述特征订阅存储库中的待删除特征;
当确定所述操作类型为新增特征时,遍历所述存储库列表,依次将待新增特征写入各个所述特征订阅存储库中;
当确定所述操作类型为更新特征时,遍历所述存储库列表,依次将待更新特征写入各个所述特征订阅存储库中。
作为本发明进一步的改进,所述方法还包括:
定期从特征元数据存储库中加载特征元数据,以检测所述特征元数据存储库中的特征元数据是否有变更,并在检测到有变更时,对所述特征元数据存储库中的待变更特征元数据进行处理。
作为本发明进一步的改进,所述特征订阅存储库包括持久化订阅存储库、缓存系统和消息系统中的一种或多种。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现所述的方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现所述的方法。
本发明的有益效果为:
能够高效的进行在线特征和离线特征的生产,且支持特征融合,将多数据源聚合在一起,使多数据源的在线特征和离线特征保持一致。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一示例性实施例所述的一种机器学习特征生产系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明的描述中,所用术语仅用于说明目的,并非旨在限制本发明的范围。术语“包括”和/或“包含”用于指定所述元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本发明所述实施例的说明。附图仅出于说明的目的用来描绘本发明所述实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本发明所述原理的情况下,可以采用本发明所示结构和方法的替代实施例。
本发明实施例所述的一种机器学习特征生产系统,如图1所示,所述系统包括:
特征管理系统,用于根据特征订阅者提供的待接入特征的特征元数据和特征订阅存储库信息,确定各个特征订阅存储库中是否有与所述待接入特征重复的特征,所述待接入特征包括各个离线特征生产者生产的待接入离线特征和/或各个在线特征生产者生产的待接入在线特征,以在确定没有重复特征时,各个所述离线特征生产者将所述待接入离线特征写入特征数据仓库中和/或各个所述在线特征生产者将所述待接入在线特征写入至少一个特征消息队列中;
特征分发器集群,包括多个特征分发器,各个所述特征分发器用于监听所述至少一个特征消息队列,以在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,以使所述特征订阅者从各个所述特征订阅存储库中同步特征,各个所述特征分发器还用于定期从特征元数据存储库中加载特征元数据,以检测所述特征元数据存储库中的特征元数据是否有变更,并在检测到有变更时,对各个所述特征元数据存储库中的待变更特征元数据进行处理;
任务调度系统,用于定期将所述特征数据仓库中写入的离线特征同步至所述至少一个特征消息队列中;
特征接入SDK,用于提供在线特征生产者的接入端口,以使各个所述在线生产者将生产的在线特征写入至所述至少一个特征消息队列中。
可以理解的是,上述待接入离线特征可以是一个离线生产者生产的,也可以是多个离线生产者生产的,上述待接入在线特征可以是一个在线生产者生产的,也可以是多个在线生产者生产的。
本发明所述系统能够高效的进行在线特征和离线特征的生产,离线特征和在线特征接入标准化,方便特征生产者贡献特征,且支持特征融合,将多数据源(多个在线生产者生产的在线特征和多个离线生产者生产的离线特征)聚合至特征消息队列中,支持多人合作,互不影响,方便特征的使用,使多数据源的在线特征和离线特征保持一致。同时对离线特征支持同步自动化调度,可以提升特征上线效率,方便特征的使用。特征分发器集群使高可用易扩展集群,支持大体量特征分发,分发过程延迟低,从特征消息队列中消费特征消息,且特征分发基于特征订阅方式,适用于各种业务场景的机器学习算法,将待分发特征分发到对应的特征订阅存储库中。
特征消息队列的作用是存储特征消息(在/离线特征生产者新接入的在/离线特征,即待分发的特征),在/离线特征生产者将特征消息写入特征消息队列中即可,特征分发器消费特征消息队列中的特征消息,将这些特征消息写入各个特征订阅存储库中。采用特征消息队列和特征分发器,可以将特征生产者和特征订阅者进行解耦,便于特征生产者和特征订阅者各自扩展,且互不影响。
特征消息队列可以是一个,也可以是多个,可以根据业务场景分类或特征分来来确定特征消息队列的数量。可以理解的是,如果是一个特征消息队列,那么多个特征生产者中的部分或全部特征生产者将生产的特征接入该特征消息队列,如果是多个特征消息队列,那么多个特征生产者中的部分特征生产者将生产的特征接入其中一个特征消息队列。还可以理解的是,如果是一个特征消息队列,那么多个特征分发器同时监听该特征消息队列,如果是多个特征消息队列,那么多个特征分发器中的部分特征分发器分别监听其中一个特征消息队列。以三个特征消息队列为例说明,部分特征生产者将生产的特征接入第一特征消息队列,部分特征生产者将生产的特征接入第二特征消息队列,部分特征生产者将生产的特征接入第三特征消息队列;部分特征分发器监听第一特征消息队列,部分特征分发器监听第二特征消息队列,部分特征分发器监听第三特征消息队列。特征消息队列的数量可以根据具体业务场景来适应性设计。
所述系统主要包括四个模块,分别是特征管理系统、特征分发器集群、任务调度系统和特征接入SDK。
其中,特征管理系统给工程师提供特征定义、特征注册以及特征订阅等功能,当工程师(包括在线特征生产者和离线特征生产者)在特征注册完成后即可生产特征(包括在线特征和离线特征),并将生产的特征自动存储到各个特征订阅存储库中。当工程师(特征订阅者)在特征订阅完成后即可得到待接入特征的特征元数据和特征订阅特征存储库信息。通过提供特征定义,使特征生产流程规范化,将统一的特征元数据持久化存储至特征元数据存储库中,各个特征分发器可以从特征元数据存储库中加载特征元数据,可以提高特征生产效率。通过特征订阅,可以按照需求订阅特征,以从对应的特征订阅存储库中同步特征。
该特征管理系统还提供了多种工具,包括:
特征值查询工具,用于在线查询各个所述特征订阅存储库中的特征和所述特征元数据库中的特征元数据。工程师通过该工具查询特征元数据库中已有的特征元数据,即可查询已存在的特征或相似特征,避免重复生产特征,提高特征生产效率。
特征下线工具,用于下线特征。工程师通过该工具将特征元数据存储库中的特征元数据标识为下线状态,以下线无用特征。
特征校验工具,用于校验待接入特征,以确定所述待接入特征与所述待接入特征定义的特征元数据是否匹配。该工具为待接入特征提供校验服务,工程师通过该工具检验待接入特征的特征值数据与特征定义的特征元数据是否相符,并生成匹配度报告,在匹配值超过一定阈值后会进行报警。
数据清理工具,用于清理各个所述特征订阅存储库中存储的所述下线特征以及所述特征元数据存储库中存储的所述下线特征的特征元数据。该工具支持下线特征和无效特征数据清理,以释放空间。
数据恢复工具,用于恢复丢失的在线特征。例如。部分业务场景的特征订阅存储库故障导致数据丢失,特征订阅缓存升级导致数据丢失等情况发生时,该工具支持对丢失数据进行数据恢复。
由此可见,特征管理系统提供了一个可视化系统,支持一些人工交互操作,例如查询特征,新增特征,下线特征以及删除特征。在可视化界面上进行人工操作之后,就会修改存储在特征元数据库中的特征元数据的状态。同时该系统还支持从各个特征订阅存储库中查询存储的特征。
特征分发器集群负责特征分发以及特征上线、特征下线的处理。特征分发器集群包括多个特征分发器,例如图1中的特征分发器1、……、特征分发器n,本发明对集群中特征分发器的数量不做具体限定。特征元数据存储库只有一个,存储了所有的特征元数据,多个特征分发器共享一个特征元数据存储库。每个特征分发器都是基于特征订阅的方式,将待分发特征分发至对应的特征订阅存储库中,并从特征元数据存储库中加载特征元数据(加载的特征元数据是加载到特征分发器本地内存中),检测该特征元数据存储中的特征元数据是否有变更。在检测到特征元数据存储库有变更时,分别对特征元数据存储库中对应的待变更特征元数据进行相应的处理,例如删除、新增或更新处理,使得特征元数据存储库中存储的特征元数据与特征分发器本地内存中的特征元数据一致。其中,新增和更新都可以理解为将新增和更新的特征元数据加载至特征分发器本地内存中,来上线特征。
举例说明,当特征分发器发现特征元数据存储库中有新增的特征元数据时,就会上线特征,将新增的特征元数据加载至本地内存中,然后从特征消息队列中接收到刚上线的特征消息时,会对该特征进行特征分发处理。当特征分发器发现特征元数据存储库中有特征元数据是下线状态时,就会下线特征,删除本地内存中缓存的特征元数据,如果从特征消息队列中接收到刚下线的特征消息时,不会进行特征分发处理,并向管理员报警。
任务调度系统,负责将特征数据仓库中的离线特征同步至特征消息队列中,定期检测特征数据仓库,当发现有数据(离线特征)时,则启动数据同步任务。任务调度系统可以配置数据验证规则以及同步周期,并进行定期检测,根据数据验证规则确定数据的合法性,同时还需要检测数据是否定期更新完成。如果未及时定期完成更新则报警提示,人工介入调查原因。
特征接入SDK,提供给在线特征生产者使用的客户端,封装了特征消息数据结构以及异步消息发送逻辑,给使用者提供了易用的API接口,不需要关心底层的数据结构,降低特征接入成本。
一种可选的实施方式中,所述特征订阅存储库包括持久化订阅存储库、缓存系统和消息系统中的一种或多种。
特征分发器分发的特征写入特征订阅存储库中,对于一个特征订阅存储库来说,其可以是持久化订阅存储库,可以是缓存系统,可以是消息系统,也可以是上述几种的组合,可以根据特征订阅者的需求将特征分发至对应的特征订阅存储库中。
例如,将待分发特征分发至一个或多个持久化订阅存储库中。例如,将待分发特征分发至一个或多个消息系统中。例如,将待分发特征分发至一个或多个缓存系统中。例如,将待分发特征分发至一个或多个持久化订阅存储库中,以及一个或多个缓存系统中。例如,将待分发特征分发至一个或多个持久化订阅存储库中,以及一个或多个消息系统中。例如,将待分发特征分发至一个或多个缓存系统中,以及一个或多个消息系统中。例如,将待分发特征分发至一个或多个持久化订阅存储库中,一个或多个缓存系统中,以及一个或多个消息系统中。上述为示例性说明,可以根据特征订阅者的需求来分发至对应的特征订阅存储库中。
持久化订阅存储库,是将特征订阅者订阅的特征持久化存储,例如KV数据存储库。
缓存系统,是将特征订阅者订阅的特征缓存,可以提高特征获取性能,也相当于是一种特征存储库,但只是缓存在内存中,不持久化存储。
消息系统,是将生产者生产的特征放进该系统中,特征订阅者从消息系统中消费订阅的特征。消息系统使得特征生产者和特征订阅者无需关心对方是否存在,通过消息系统可以使整个系统达到解耦的作用。
本发明中,消息系统、缓存系统以及持久化订阅存储库均是开源分布式高可用系统,不存在单点故障。特征分发器集群和特征管理系统均是无状态的对等节点,可以水平扩展,是高可用架构,不存在单点故障。任务调度系统是主从结构的高可用架构。因此,本发明所述系统是一个高可用的可扩展的且支持高并发。
本发明定义了三种数据结构:
(1)特征元数据的数据结构:该结构是对特征定义的描述,共有8部分组成,包括特征名称、特征编码、特征类型、特征描述、特征值数据类型、特征维度、特征命名空间以及特征订阅者;
(2)特征数据仓库的表结构:该结构是对离线特征存储的描述,共有5个部分组成,包括用户ID、特征编码、特征值、操作类型(删除/ 新增/更新)以及日期;
(3)特征消息的数据结构:该结构是对特征消息队列中存储消息的描述,共有7部分组成,包括用户ID、特征编码、特征值、操作类型(删除/ 新增/更新)、来源、扩展参数以及日期。
一种可选的实施方式中,所述特征消息对应的待分发特征包括特征编码,
所述在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,包括:
在监听到特征消息后,对所述特征消息进行数据结构解析,并根据所述待分发特征的特征编码,从各个所述特征分发器中获取所述待分发特征的特征元数据 ,构建所述待分发特征被订阅的存储库列表;
确定所述待分发特征的操作类型,遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理。
本发明中特征分发是根据特征元数据来进行处理的,先对特征消息进行合法性验证,在确定合法后,再基于获取的特征元数据来构建待分发特征被订阅的存储库列表,而当不合法时则会自动过滤掉监听到的特征消息。其中,对特征消息进行数据结构解析,得到待接入特征对应的特征编码,特征编码可用于获取对应的特征元数据,以获得特征元数据来构建该待分发特征被订阅的存储库列表。
一种可选的实施方式中,所述操作类型包括是删除特征、新增特征和更新特征,
所述遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理,包括:
当确定所述操作类型为删除特征时,遍历所述存储库列表,依次删除各个所述特征订阅存储库中的待删除特征;
当确定所述操作类型为新增特征时,遍历所述存储库列表,依次将待新增特征写入各个所述特征订阅存储库中;
当确定所述操作类型为更新特征时,遍历所述存储库列表,依次将待更新特征写入各个所述特征订阅存储库中。
可以理解的是,特征分发器可根据待分发特征的操作类型,来执行相应的操作。例如,如果是删除特征操作,则遍历存储库列表并依次删除各个特征订阅存储库中的特征。如果是新增或更新特征操作,则遍历存储库列表并依次将特征写入各个特征订阅存储库中。
本发明实施例所述的一种机器学习特征生产方法,所述方法包括:
S1,根据特征订阅者提供的待接入特征的特征元数据和特征订阅存储库信息,确定各个特征订阅存储库中是否有与所述待接入特征重复的特征;
S2,在确定没有重复特征时,如果所述待接入特征是离线特征生产者生产的待接入离线特征,则将所述待接入离线特征写入特征数据仓库中,并定期将所述特征数据仓库中写入的离线特征同步至至少一个特征消息队列中,如果所述待接入特征是在线特征生产者生产的待接入在线特征,则将所述待接入在线特征写入所述至少一个特征消息队列中;
S3,在监听到所述至少一个特征消息队列中的特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,以使所述特征订阅者从各个所述特征订阅存储库中同步特征。
可以理解的是,上述待接入离线特征可以是一个离线生产者生产的,也可以是多个离线生产者生产的,上述待接入在线特征可以是一个在线生产者生产的,也可以是多个在线生产者生产的。
本发明所述方法中,对于在线特征和离线特征的接入方法(即上述S1和S2的具体方法)如下:
S11,工程师登录特征管理系统;
S12,申请新特征(即待接入特征)并填写特征元数据和特征订阅特征存储库信息,提交申请;
S13,管理员审核待接入特征是否合法,是否是重复特征,以及审核该特征对应的存储体量和性能指标要求等;
S14,审核如果不通过,则该特征注册失败,反馈给申请人并结束流程,否则执行步骤S15;
S15,开始生产特征,如果是离线特征生产,则执行步骤S6,否则在线特征生产,则执行步骤S18;
S16,离线特征生产者生产离线特征,并将结果写入特征数据仓库中;
S17,任务调度系统定时检测特征数据仓库,当检测到有离线特征写入时,启动离线特征同步任务,将离线特征写入特征消息队列,离线特征接入流程完毕;
S18,在线特征生产者生产在线特征,调用特征接入SDK将在线特征写入特征消息队列中,在线特征接入流程完毕。
一种可选的实施方式中,所述特征消息对应的待分发特征包括特征编码,
所述在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,包括:
在监听到特征消息后,对所述特征消息进行数据结构解析,并根据所述待分发特征的特征编码获取所述待分发特征的特征元数据,构建所述待分发特征被订阅的存储库列表;
确定所述待分发特征的操作类型,遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理。
一种可选的实施方式中,所述操作类型包括是删除特征、新增特征和更新特征,
所述遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理,包括:
当确定所述操作类型为删除特征时,遍历所述存储库列表,依次删除各个所述特征订阅存储库中的待删除特征;
当确定所述操作类型为新增特征时,遍历所述存储库列表,依次将待新增特征写入各个所述特征订阅存储库中;
当确定所述操作类型为更新特征时,遍历所述存储库列表,依次将待更新特征写入各个所述特征订阅存储库中。
可以理解的是,本发明所述方法中,特征分发器集群执行的流程(即上述S3的具体流程)包括:
S21,特征分发器集群中的每个特征分发器启动并初始化,包括从特征元数据存储库中加载特征元数据,启动特征元数据变更监听任务,建立与对应的特征订阅存储库的连接以及建立与特征消息队列的连接;
S22,每个特征分发器监听特征消息队列(MQ);
S23,当其中一个或多个特征分发器监听到特征消息后,对监听到的特征消息进行数据结构解析;
S24,对特征消息进行合法性校验,如果特征消息合法,则执行S25,如果特征消息不合法,则过滤掉特征消息并报警;
S25,根据监听到的特征消息的特征编码,从特征分发器中获取特征元数据,构建该特征被订阅的存储库列表;
S26,判断特征的操作类型,如果是删除特征操作,则遍历存储库列表依次删除各个特征订阅存储库中的特征数据;如果是新增或更新操作,则遍历存储库列表依次将特征数据写入各个特征订阅存储库中;
S27,每个特征分发器继续执行步骤S22。
一种可选的实施方式中,所述方法还包括:
定期从特征元数据存储库中加载特征元数据,以检测所述特征元数据存储库中的特征元数据是否有变更,并在检测到有变更时,对所述特征元数据存储库中的待变更特征元数据进行处理。
一种可选的实施方式中,所述特征订阅存储库包括持久化订阅存储库、缓存系统和消息系统中的一种或多种。
本公开还涉及一种电子设备,包括服务器、终端等。该电子设备包括:至少一个处理器;与至少一个处理器通信连接的存储器;以及与存储介质通信连接的通信组件,所述通信组件在处理器的控制下接收和发送数据;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行以实现上述实施例中的方法。
在一种可选的实施方式中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本公开还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本领域技术人员应理解,尽管已经参考示例性实施例描述了本发明,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。

Claims (12)

1.一种机器学习特征生产系统,其特征在于,所述系统包括:
特征管理系统,用于根据特征订阅者提供的待接入特征的特征元数据和特征订阅存储库信息,确定各个特征订阅存储库中是否有与所述待接入特征重复的特征,所述待接入特征包括各个离线特征生产者生产的待接入离线特征和/或各个在线特征生产者生产的待接入在线特征,以在确定没有重复特征时,各个所述离线特征生产者将所述待接入离线特征写入特征数据仓库中和/或各个所述在线特征生产者将所述待接入在线特征写入至少一个特征消息队列中;
特征分发器集群,包括多个特征分发器,各个所述特征分发器用于监听所述至少一个特征消息队列,以在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,以使所述特征订阅者从各个所述特征订阅存储库中同步特征,各个所述特征分发器还用于定期从特征元数据存储库中加载特征元数据,以检测所述特征元数据存储库中的特征元数据是否有变更,并在检测到有变更时,对所述特征元数据存储库中的待变更特征元数据进行处理;
任务调度系统,用于定期将所述特征数据仓库中写入的离线特征同步至所述至少一个特征消息队列中;
特征接入SDK,用于提供在线特征生产者的接入端口,以使各个所述在线特征生产者将生产的在线特征写入至所述至少一个特征消息队列中。
2.如权利要求1所述的系统,其中,所述特征管理系统包括:
特征值查询工具,用于在线查询各个所述特征订阅存储库中的特征和所述特征元数据库中的特征元数据;
特征下线工具,用于下线特征;
特征校验工具,用于校验待接入特征,以确定所述待接入特征与所述待接入特征定义的特征元数据是否匹配;
数据清理工具,用于清理各个所述特征订阅存储库中存储的所述下线特征以及所述特征元数据存储库中存储的所述下线特征的特征元数据;
数据恢复工具,用于恢复丢失的在线特征。
3.如权利要求1所述的系统,其中,所述特征消息对应的待分发特征包括特征编码,
所述在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,包括:
在监听到特征消息后,对所述特征消息进行数据结构解析,并根据所述待分发特征的特征编码,从各个所述特征分发器中获取所述待分发特征的特征元数据,构建所述待分发特征被订阅的存储库列表;
确定所述待分发特征的操作类型,遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理。
4.如权利要求3所述的系统,其中,所述操作类型包括是删除特征、新增特征和更新特征,
所述遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理,包括:
当确定所述操作类型为删除特征时,遍历所述存储库列表,依次删除各个所述特征订阅存储库中的待删除特征;
当确定所述操作类型为新增特征时,遍历所述存储库列表,依次将待新增特征写入各个所述特征订阅存储库中;
当确定所述操作类型为更新特征时,遍历所述存储库列表,依次将待更新特征写入各个所述特征订阅存储库中。
5.如权利要求1所述的系统,其中,所述特征订阅存储库包括持久化订阅存储库、缓存系统和消息系统中的一种或多种。
6.一种机器学习特征生产方法,其特征在于,所述方法包括:
根据特征订阅者提供的待接入特征的特征元数据和特征订阅存储库信息,确定各个特征订阅存储库中是否有与所述待接入特征重复的特征;
在确定没有重复特征时,如果所述待接入特征是离线特征生产者生产的待接入离线特征,则将所述待接入离线特征写入特征数据仓库中,并定期将所述特征数据仓库中写入的离线特征同步至至少一个特征消息队列中,如果所述待接入特征是在线特征生产者生产的待接入在线特征,则将所述待接入在线特征写入所述至少一个特征消息队列中;
在监听到所述至少一个特征消息队列中的特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,以使所述特征订阅者从各个所述特征订阅存储库中同步特征。
7.如权利要求6所述的方法,其中,所述特征消息对应的待分发特征包括特征编码,
所述在监听到特征消息后,基于特征订阅方式将所述特征消息对应的待分发特征分发至各个所述特征订阅存储库中,包括:
在监听到特征消息后,对所述特征消息进行数据结构解析,并根据所述待分发特征的特征编码获取所述待分发特征的特征元数据,构建所述待分发特征被订阅的存储库列表;
确定所述待分发特征的操作类型,遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理。
8.如权利要求7所述的方法,其中,所述操作类型包括是删除特征、新增特征和更新特征,
所述遍历所述存储库列表,在各个所述特征订阅存储库中对所述待分发特征执行与所述操作类型对应的处理,包括:
当确定所述操作类型为删除特征时,遍历所述存储库列表,依次删除各个所述特征订阅存储库中的待删除特征;
当确定所述操作类型为新增特征时,遍历所述存储库列表,依次将待新增特征写入各个所述特征订阅存储库中;
当确定所述操作类型为更新特征时,遍历所述存储库列表,依次将待更新特征写入各个所述特征订阅存储库中。
9.如权利要求6所述的方法,其中,所述方法还包括:
定期从特征元数据存储库中加载特征元数据,以检测所述特征元数据存储库中的特征元数据是否有变更,并在检测到有变更时,对所述特征元数据存储库中的待变更特征元数据进行处理。
10.如权利要求6所述的方法,其中,所述特征订阅存储库包括持久化订阅存储库、缓存系统和消息系统中的一种或多种。
11.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现如权利要求6-10中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现如权利要求6-10中任一项所述的方法。
CN202111344564.3A 2021-11-15 2021-11-15 一种机器学习特征生产系统及方法 Active CN113792891B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111344564.3A CN113792891B (zh) 2021-11-15 2021-11-15 一种机器学习特征生产系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111344564.3A CN113792891B (zh) 2021-11-15 2021-11-15 一种机器学习特征生产系统及方法

Publications (2)

Publication Number Publication Date
CN113792891A CN113792891A (zh) 2021-12-14
CN113792891B true CN113792891B (zh) 2022-02-15

Family

ID=78955198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111344564.3A Active CN113792891B (zh) 2021-11-15 2021-11-15 一种机器学习特征生产系统及方法

Country Status (1)

Country Link
CN (1) CN113792891B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208780A1 (en) * 2006-03-02 2007-09-06 Anglin Matthew J Apparatus, system, and method for maintaining metadata for offline repositories in online databases for efficient access
CN108133041A (zh) * 2018-01-11 2018-06-08 四川九洲电器集团有限责任公司 基于网络爬虫和数据转移技术的数据采集系统及方法
CN112036577B (zh) * 2020-08-20 2024-02-20 第四范式(北京)技术有限公司 基于数据形式的应用机器学习的方法、装置和电子设备
CN113254466B (zh) * 2021-06-18 2022-03-01 腾讯科技(深圳)有限公司 一种数据处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113792891A (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
US10764369B2 (en) Data storage method and server applicable to distributed server cluster
US9819733B2 (en) Peer-to-peer exchange of data resources in a control system
WO2020147392A1 (zh) 数据库之间的数据同步方法和系统
CN102291416B (zh) 一种客户端与服务器端双向同步的方法及系统
CN102682052B (zh) 过滤数据存储上的查询数据
TWI704788B (zh) 經組態以實施一有條件觸發規則的具有多伺服器節點之實體安全系統
CN110362632B (zh) 一种数据同步方法、装置、设备及计算机可读存储介质
KR101871383B1 (ko) 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템
CN113254466B (zh) 一种数据处理方法、装置、电子设备和存储介质
CN111800443B (zh) 数据处理系统和方法、装置以及电子设备
CN104537076A (zh) 一种文件读写方法及装置
CN108566291B (zh) 一种事件处理的方法、服务器及系统
CN105653425A (zh) 基于复杂事件处理引擎的监控系统
CN109739435B (zh) 文件存储和更新方法及装置
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
CN109167819B (zh) 数据同步系统、方法、装置及存储介质
CN111010318A (zh) 发现物联网终端设备失联的方法、系统和设备影子服务器
CN110958161A (zh) 区块链节点监控方法及装置
US8510426B2 (en) Communication and coordination between web services in a cloud-based computing environment
CN113792891B (zh) 一种机器学习特征生产系统及方法
CN103905512A (zh) 一种数据处理方法和设备
CN112865927B (zh) 消息送达验证方法、装置、计算机设备和存储介质
CN110798358A (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN110545197A (zh) 节点状态监控方法及装置
CN112256446B (zh) 一种Kafka消息总线管控方法及系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240312

Address after: Room 13, 1801, 18th Floor, Building 1, No.16 Taiyanggong Middle Road, Chaoyang District, Beijing, 100028

Patentee after: Beijing Hanlan Wolf Technology Co.,Ltd.

Country or region after: China

Address before: 09 / F, 1801, 18 / F, building 1, No. 16, Taiyanggong Middle Road, Chaoyang District, Beijing 100028

Patentee before: BEIJING HUAPIN BORUI NETWORK TECHNOLOGY CO.,LTD.

Country or region before: China