CN111191792A - 数据分发方法、装置和计算机设备 - Google Patents

数据分发方法、装置和计算机设备 Download PDF

Info

Publication number
CN111191792A
CN111191792A CN201911280901.XA CN201911280901A CN111191792A CN 111191792 A CN111191792 A CN 111191792A CN 201911280901 A CN201911280901 A CN 201911280901A CN 111191792 A CN111191792 A CN 111191792A
Authority
CN
China
Prior art keywords
machine learning
learning model
data
weight
language
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.)
Granted
Application number
CN201911280901.XA
Other languages
English (en)
Other versions
CN111191792B (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.)
Shenzhen Ping An Medical Health Technology Service Co Ltd
Original Assignee
Ping An Medical and Healthcare Management 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 Ping An Medical and Healthcare Management Co Ltd filed Critical Ping An Medical and Healthcare Management Co Ltd
Priority to CN201911280901.XA priority Critical patent/CN111191792B/zh
Publication of CN111191792A publication Critical patent/CN111191792A/zh
Application granted granted Critical
Publication of CN111191792B publication Critical patent/CN111191792B/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种数据分发方法、装置和计算机设备,该方法包括:运行至少两个语言版本的机器学习模型;检测至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。采用本方法能够提高机器性能的稳定性。

Description

数据分发方法、装置和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据分发方法、装置和计算机设备。
背景技术
随着科学技术的飞速发展,机器学习技术凭借其良好的数据分析和处理能力,越来越受到欢迎。比如,通过机器学习模型对数据进行分类等应用比较广泛。
传统方法中,主要是在一台机器上建立一个机器学习模型,然后,将数据一并发送至该机器学习模型中进行处理。这样一来,会导致运行该机器学习模型的机器的数据处理压力过大,从而造成机器性能不稳定。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高机器性能的稳定性的数据分发方法、装置、计算机设备和存储介质。
一种数据分发方法,所述方法包括:
运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能;
检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;
从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;
将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;
按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
在其中一个实施例中,所述方法还包括:
将各语言版本的机器学习模型分别对应的数据分配权重发送至消息中间件进行缓存;
所述按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包包括:
发送切片得到的所述数据包至所述消息中间件,以指示所述消息中间件,按照缓存的各语言版本的机器学习模型所对应的所述数据分配权重,将各所述数据包以消息的形式,向配置各语言版本的机器学习模型的机器进行分发。
在其中一个实施例中,所述检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息包括:
针对每个语言版本的机器学习模型,监控所述机器学习模型是否接收到请求;
当监控到所述机器学习模型接收到请求、且处于请求响应阶段时,检测与预设的响应性能指标对应的数据,得到响应性能信息。
在其中一个实施例中,所述响应性能信息为多项;所述检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息还包括:
将各项响应性能信息分别与预设的响应达标条件进行匹配;
当匹配成功时,则判定所述响应性能信息达标;
根据响应性能信息的达标项数,判断所述机器学习模型是否稳定;
根据判断结果,得到所述机器学习模型的稳定性信息。
在其中一个实施例中,所述响应性能信息和稳定性信息皆为多项;所述从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重包括:
针对每个语言版本的机器学习模型,将表征所述机器学习模型的数据处理性能的响应性能信息和稳定性信息,分别与预设的响应达标条件和稳定条件进行匹配;
确定与响应达标条件匹配成功的响应性能信息的达标项数、以及与稳定条件匹配成功的稳定性信息的稳定项数;
根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
在其中一个实施例中,所述方法还包括:
从数据库中的数据分发记录表中,查找每个语言版本的机器学习模型被分发至的数据包的历史总数量;所述历史总数量,用于表征所述机器学习模型的历史数据处理性能;
所述根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重包括:
根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
在其中一个实施例中,所述预设的权重表包括响应性能权重表、稳定性权重表和历史分发权重表;所述根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重包括:
在预先设置的响应性能权重表中,查询与所述达标项数对应的第一权重;
在预先设置的稳定性权重表中,查询与所述稳定项数对应的第二权重;
从历史分发权重表中,查找与所述历史总数量对应的第三权重;
根据第一权重、第二权重和第三权重,确定所述机器学习模型对应的数据分配权重。
在其中一个实施例中,所述运行至少两个语言版本的机器学习模型包括:
获取至少两个语言版本的机器学习模型的配置信息;
按照预设的模型导入比例,将各所述配置信息分别导入至机器集群中的机器中;所述模型导入比例,为集群中导入不同语言版本的机器学习模型的机器数量之比;
在各机器中根据所导入的配置信息运行相应的机器学习模型。
一种数据分发装置,所述装置包括:
模型运行模块,用于运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能;
检测模块,用于检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;
权重确定模块,用于从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;
数据分发模块,用于将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能;
检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;
从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;
将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;
按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下步骤:
运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能;
检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;
从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;
将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;
按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
上述数据分发方法、装置、计算机设备和存储介质,由于每个语言版本的机器学习模型运行时的响应性能信息和稳定性信息,能够表征该语言版本的机器学习模型的数据处理性能,而数据处理性能反映机器学习模型的数据处理能力,所以,相当于根据数据处理能力为各语言版本的机器学习模型分配相应的数据分配权重,能够实现合理的、准确的权重分配。接着,将模型输入数据集合进行切片,得到多个数据包;由于根据数据处理性能准确地确定出各语言版本的机器学习模型分配相应的数据分配权重,所以,按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包,通过集群中的各运行机器学习模型的机器来并发处理数据包,能够使得向各机器分发的数据量更加准确、合理,相较于传统方法能够减轻机器的数据处理压力,从而提高机器性能的稳定性。
附图说明
图1为一个实施例中数据分发方法的应用场景图;
图2为另一个实施例中数据分发方法的应用场景图;
图3为一个实施例中数据分发方法的流程示意图;
图4为一个实施例中数据分发方法的系统架构图;
图5为一个实施例中数据分发装置的结构框图;
图6为一个实施例中模型运行模块的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据分发方法,可以应用于如图1所示的应用环境中。其中,后台服务器110和机器集群120通过网络进行通信。后台服务器110,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。机器集群120是有多个机器组成的集群。机器集群中的各机器中运行有机器学习模型。
需要说明的是,机器集群120中运行多个语言版本的、但具有相同处理功能的机器学习模型。机器集群120中的每个机器中运行一种语言版本的机器学习模型。即,不同语言版本的机器学习模型分别配置在机器集群的不同机器中。其中,不同语言版本的机器学习模型,由不同的编程语言编写得到。具有相同处理功能,是指,机器学习模型虽然所使用的编程语言不同,但是,都是用来处理相同事务的。比如,Java版与Python版的风险预测模型,都是用来预测风险的(即,用来处理相同事务),但一个是使用Java语言编写的,一个是使用Python语言编写的。
后台服务器110可以检测至少两个语言版本的机器学习模型在机器集群120中运行时的响应性能信息和稳定性信息。其中,每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述机器学习模型的数据处理性能。后台服务器110可以从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重。后台服务器110可以将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据。后台服务器110可以按照各语言版本的机器学习模型所对应的所述数据分配权重,向机器集群120中的用于配置各语言版本的机器学习模型的机器分发所述数据包。
图2为另一个实施例中数据分发方法的应用环境图。参照图2,后台服务器110可以分别与消息中间件130以及机器集群120通过网络进行通信。本实施例中,后台服务器110可以将确定的与每个语言版本的机器学习模型的数据处理性能对应的数据分配权重,发送至消息中间件130中进行缓存。后台服务器110可以将对模型输入数据集合切片得到的多个数据包发送至消息中间件130,以指示消息中间件130按照所缓存的各语言版本的机器学习模型所对应的所述数据分配权重,向机器集群120中的用于配置各语言版本的机器学习模型的机器分发数据包。可以理解,消息中间件130是将数据包以消息的形式向机器集群120中用于配置的各语言版本的机器学习模型的机器进行分发。
在一个实施例中,如图3所示,提供了一种数据分发方法,以该方法应用于计算机设备为例进行说明,计算机设备可以为图1中的后台服务器110为例进行说明,包括以下步骤:
S302,运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中。
其中,不同的机器学习模型,使用不同的编程语言编写、且具有相同的处理功能。即,机器集群中运行多个语言版本的、但具有相同处理功能的机器学习模型。机器集群中的每个机器中运行一种语言版本的机器学习模型。
可以理解,不同的机器学习模型,虽然所使用的编程语言不同,但是,都是用来处理相同事务的。比如,Java版与Python版的风险预测模型,都是用来预测风险的(即,用来处理相同事务),但一个是使用Java语言编写的,一个是使用Python语言编写的。需要说明的是,这里仅用Java语言和Python语言进行举例,并不限定于这两种语言版本,可以是任意语言版本的机器学习模型。
可以理解,可以是机器集群的各机器中已经配置好了相应的机器学习模型,即,已经配置了至少两个语言版本的机器学习模型的配置信息。通过启动配置信息,运行至少两个语言版本的机器学习模型。在其他实施例中,也可以是通过向机器集群中的各机器导入并启动至少两个语言版本的机器学习模型的配置信息,来运行至少两个语言版本的机器学习模型。对此不做限定。
在一个实施例中,运行至少两个语言版本的机器学习模型包括:获取至少两个语言版本的机器学习模型的配置信息;按照预设的模型导入比例,将各所述配置信息分别导入至机器集群中的机器中;在各机器中根据所导入的配置信息运行相应的机器学习模型。
其中,配置信息,是机器学习模型启动所需要的信息。需要说明的是,不同语言版本的配置信息不同。模型导入比例,是指集群中导入不同语言版本的机器学习模型的机器数量之比。
具体地,计算机设备可以按照模型导入比例,从机器集群中划分与各语言版本的机器学习模型对应的机器,然后将各语言版本的机器学习模型的配置信息分别导入至所划分的机器中,以在集群的机器中根据所导入的配置信息运行相应的机器学习模型,从而启动多个语言版本的机器学习模型。
在其他实施例中,计算机设备也可以随机将各语言版本的机器学习模型的配置信息进行导入。
为了便于理解,现举例说明模型导入比例。比如,可以按照模型导入比例,将集群中的机器划分,一部分机器,用于启动运行java版本的机器学习模型,另一部分机器,用于启动运行python版本的机器学习模型。比如,有100台机器,有Java版本的机器学习模型和Python版本的机器学习模型,两者之间的模型导入比例为2:3,那么,可以有40台运行Java版本的机器学习模型,另外60台运行Python版本的机器学习模型。计算机设备则可以将Java版本的机器学习模型的配置信息导入至这40台机器中,并在这40台机器上启动该配置信息,以运行该Java版本的机器学习模型。计算机设备则可以将Python版本的机器学习模型的配置信息导入至另外60台机器中,并在这60台机器上启动该配置信息,以运行该Python版本的机器学习模型。
可以理解,机器学习模型可以是任意功能的通过机器学习训练得到的模型。
在一个实施例中,机器学习模型可以是风险预测模型。风险预测模型,用于根据模型输入数据进行风险预测处理。模型输入数据,是输入至机器学习模型的、且供机器学习模型进行分析的基础数据。
在一个实施例中,机器学习模型,可以是对医保基金信息进行分析的预测模型。比如,用于预测参保人口、以及与基金收支相关的预测分析。
S304,检测至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述机器学习模型的数据处理性能。
可以理解,响应性能信息,是指机器学习模型在响应请求时所表现的用于衡量性能指标的信息。稳定性信息,是用于衡量机器学习模型的稳定性的信息。机器学习模型的数据处理性能,是指机器学习模型处理数据的性能。
在一个实施例中,响应性能信息,可以包括对请求的响应时间、在响应请求阶段CPU使用率和内存消耗情况等性能指标的信息。
需要说明的是,计算机设备可以直接从数据库中获取各语言版本的机器学习模型的响应性能信息。计算机设备也可以在各语言版本的机器学习模型接收到请求时,对其响应阶段进行检测,得到响应性能信息。
同样地,计算机设备可以直接从数据库中获取各语言版本的机器学习模型的稳定性信息。计算机设备也可以根据对响应性能信息进行分析,得到机器学习模型的稳定性信息。
在一个实施例中,计算机设备可以预先根据包括样本响应性能信息和样本稳定性信息的样本数据,通过迭代地机器学习训练,调整模型参数,得到稳定的稳定性分析模型。稳定性分析模型,用于预测各语言版本的机器学习模型的稳定性。计算机设备可以将响应性能信息输入稳定性分析模型中,输出稳定性信息。
在另一个实施例中,针对语言版本的机器学习模型,计算机设备也可以预先建立与该语言版本对应的响应性能信息与稳定性分值之间的映射关系,根据映射关系,将语言版本的机器学习模型的各项响应性能信息映射为稳定性分值,将各个稳定性分值相加的稳定性总分值,作为该语言版本的机器学习模型的稳定性信息。
需要说明的是,计算机设备还可以通过其他方式,根据响应性能信息分析得到语言版本的机器学习模型的稳定性信息。并不限定于上述实现方式。
在一个实施例中,稳定性信息可以包括稳定和不稳定等信息。在另一个实施例中,稳定性信息还可以包括稳定等级或稳定性分值。比如,稳定性信息包括稳定等级为一级或二级等。又比如,稳定性信息可以包括稳定性分值为85分。这里对稳定性信息的表现形式不做限定。
需要说明的是,响应性能信息,能够一定程度上表明机器学习模型在数据处理上的性能好坏,比如,响应过慢,则能够表明数据处理性能较差。稳定性信息,也能够一定程度上表明机器学习模型在数据处理上的性能好坏,因为,机器学习模型不稳定的话,其数据处理能力也比较差。因此,响应性能信息和稳定性信息,能够共同表征机器学习模型的数据处理性能。
S306,从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重。
其中,数据分配权重,是指各版本的机器学习模型能够分配到模型输入数据的数据包的权重。其中,模型输入数据,是输入至机器学习模型的、且供机器学习模型进行分析的基础数据。
每个语言版本的机器学习模型的数据分配权重的大小,与该机器学习模型的数据处理性能强弱正相关。即,机器学习模型的数据处理性能越强,该机器学习模型的数据分配权重越大,反之,机器学习模型的数据处理性能越弱,该机器学习模型的数据分配权重越小。
在一个实施例中,计算机设备中预先根据样本数据训练了数据处理性能预测模型。可以理解,用于训练数据处理性能预测模型的样本数据,可以包括样本响应性能信息、样本稳定性信息和样本数据处理性能量化值,通过使用样本数据进行迭代地机器学习训练,得到数据处理性能预测模型。其中,数据处理性能预测模型,用于预测各语言版本的机器学习模型的数据处理性能,输出得到数据处理性能量化值。可以理解,数据处理性能量化值,是对数据处理性能的量化、数据化表示。计算机设备可以将表征各语言版本的机器学习模型的数据处理性能的响应性能信息和稳定性信息,输入数据处理性能预测模型中,输出各语言版本的机器学习模型所对应的数据处理性能量化值。进一步地,计算机设备中预先设置了权重表,该权重表中可以存储数据处理性能量化值的范围区间和数据分配权重之间的对应关系。计算机设备可以查找各数据处理性能量化值所位于的范围区间,并根据上述对应关系,查找所位于的范围区间对应的数据分配权重。
在其他实施例中,计算机设备中预设的权重表中,也可以直接存储响应性能信息和稳定性信息与数据分配权重之间的对应关系,从而直接根据响应性能信息和稳定性信息,从权重表中查找到各语言版本的机器学习模型所对应的数据分配权重。
S308,将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据。
其中,模型输入数据集合,是模型输入数据的集合。即,模型输入数据集合中包括多条模型输入数据。如前文所述,模型输入数据,是输入至机器学习模型的、且供机器学习模型进行分析的基础数据。
可以理解,模型输入数据集合,是同类业务数据的集合。同类业务数据可以使用同一个机器学习模型进行分析处理,所以,同类业务数据所对应的业务事项相同,仅由于用户不同所以存在的具体信息有差异。比如,业务数据可以是基金投保信息。
为了便于理解模型输入数据集合,现举例说明。比如,一共有100个参保人,每个参保人都对应多类业务数据(比如,历史投保信息、历史亏损信息等),那么,100个投保人的历史投保信息(即为100条历史投保信息),就属于同一类业务数据,就可以将这100条历史投保信息作为用于分析历史投保信息的机器学习模型的模型输入数据集合,每条模型输入数据,即为一条历史投保信息。假设将100条历史投保信息平均切片成10份,得到10个数据包,那么,每个数据包中就包括10条历史投保信息(即10条模型输入数据)。100个投保人的历史亏损信息,就属于另一类业务数据,就可以将这100条历史亏损信息作为用于分析历史亏损信息的机器学习模型的模型输入数据集合,每条模型输入数据,即为一条历史亏损信息。
可以理解,对模型输入数据集合切片成多个数据包,能够避免同时处理的数据量过大,实现集群中的机器学习模型的并发协同处理。
在一个实施例中,计算机设备可以按照预设的切分数量,将模型输入数据集合进行切片分包,得到多个数据包。
在另一个实施例中,计算机设备也可以根据模型输入数据集合的数据量大小和单次处理的数据量阈值,将模型输入数据集合进行切片分包,得到多个数据包。可以理解,根据模型输入数据集合的数据量大小和单次处理的数据量阈值,对模型输入数据集合进行切片,能够避免分包信息过大,造成处理难度过大的问题。
S310,按照各语言版本的机器学习模型所对应的数据分配权重,向配置各语言版本的机器学习模型的机器分发数据包。
可以理解,配置各语言版本的机器学习模型的机器接收的数据包之间的比例,满足各语言版本的机器学习模型所对应的数据分配权重。
具体地,计算机设备可以根据各语言版本的机器学习模型所对应的所述数据分配权重和数据包的总数量,确定分别向各语言版本的机器学习模型所分配的数据包的数量。然后,计算机设备可以将满足各语言版本的机器学习模型所分配的数量的数据包,向配置各语言版本的机器学习模型的机器分发。获取到数据包的机器,可以将获取的数据包输入至该机器所运行的机器学习模型中进行分析处理。
为了便于理解,现举例说明。比如,100条模型输入数据,切片得到10个数据包,每个数据包中有10条模型输入数据,有2个语言版本的机器学习模型,Java版的机器学习模型和Python版的机器学习模型。假设,Java版的机器学习模型和Python版的机器学习模型的数据分配权重分别为40%和60%,那么,就会向机器集群中运行Java版的机器学习模型的机器一共分配4个数据包,向运行Java版的机器学习模型的机器一共分配6个数据包。
需要说明的是,由于一个语言版本的机器学习模型可以运行在机器集群中的多台机器上,即,每台机器都会运行一个语言版本的机器学习模型,所以,可以根据负载均衡原理,从该语言版本的机器学习模型所运行于的机器中筛选用于接收数据包的机器。
在一个实施例中,计算机设备可以通过自身,在计算机设备的本地直接地按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
在另一个实施例中,该方法还包括:将各语言版本的机器学习模型分别对应的数据分配权重发送至消息中间件进行缓存。本实施例中,步骤S310包括:发送切片得到的所述数据包至所述消息中间件,以指示所述消息中间件,按照缓存的各语言版本的机器学习模型所对应的所述数据分配权重,将各所述数据包以消息的形式,向配置各语言版本的机器学习模型的机器进行分发。
其中,消息中间件,是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
在一个实施例中,消息中间件可以是kafka。Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。
计算机设备也可以通过将各语言版本的机器学习模型所对应的所述数据分配权重发送至消息中间件,消息中间件可以对各语言版本的机器学习模型所对应的所述数据分配权重进行缓存。计算机设备还可以将切片得到的各数据包发送至消息中间件。消息中间件在接收到发送的各数据包之后,可以从消息中间件的缓存中,提取各语言版本的机器学习模型所对应的所述数据分配权重,并按照所提取的各语言版本的机器学习模型所对应的所述数据分配权重,向各语言版本的机器学习模型所运行于的机器分发所述数据包。
上述数据分发方法,由于每个语言版本的机器学习模型运行时的响应性能信息和稳定性信息,能够表征所述语言版本的机器学习模型的数据处理性能,而数据处理性能反映机器学习模型的数据处理能力,所以,相当于根据数据处理能力的强弱为各语言版本的机器学习模型分配相应的数据分配权重,是符合自然规律的,而且能够实现合理的、准确的权重分配。接着,将模型输入数据集合进行切片,得到多个数据包。按照根据数据处理能力确定的准确的各语言版本的机器学习模型的数据分配权重,向集群中的配置各语言版本的机器学习模型的机器分发数据包,通过集群中的各运行机器学习模型的机器来并发处理数据包,能够使得数据处理能力较强的机器分发到较多的数据包,数据处理能力较弱的机器分发到较少的数据包,很显然,该分发处理同样符合自然规律,而且,能够使得向各机器分发的数据量更加准确、合理,相较于传统方法能够减轻机器的数据处理压力,从而提高机器性能的稳定性。
此外,相当于在机器集群中运行多语言版本的机器学习模型,来实现对数据的处理,而不局限于某一种语言版本的机器学习模型,提高了机器学习模型的多样性。进一步地,避免机器限定于必须支持某一种特定语言版本,从而降低了对机器性能的要求。然后,不同语言版本的机器学习模型,对数据处理能力可能存在差别,相较于单一语言版本的机器学习模型,提高了机器的数据处理能力。
在一个实施例中,检测至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息包括:针对每个语言版本的机器学习模型,监控所述机器学习模型是否接收到请求;当监控到所述机器学习模型接收到请求、且处于请求响应阶段时,检测与预设的响应性能指标对应的数据,得到响应性能信息。
其中,请求响应阶段,是从接收请求到响应请求完毕所经历的阶段。响应性能指标,是预先设置的用于评估响应性能的事项。
具体地,针对每个语言版本的机器学习模型,计算机设备可以确定该语言版本的机器学习模型所运行的机器,监控每个机器上所运行的机器学习模型是否接收到请求。
可以理解,计算机设备可以主动监控和被动监控机器上所运行的机器学习模型是否接收到请求。即,计算机设备可以通过针对每个机器设置专门的监控进程,来监控机器上所运行的机器学习模型是否接收到请求(即为主动监控)。也可以是,各机器在所运行的机器学习模型接收到请求时,主动向计算机设备反馈(即为被动监控)。
可以理解,当监控到机器学习模型接收到请求时,则在该机器学习模型对该请求的响应阶段,检测与预设的响应性能指标对应的数据,得到响应性能信息。
为了便于理解,现举例说明。比如,预设的响应性能指标包括响应时长,则在该机器学习模型对该请求的响应阶段,检测具体的响应时长(比如,响应1s)。又比如,预设的响应性能指标包括在响应请求阶段的CPU使用率,那么,在该机器学习模型对该请求的响应阶段,检测具体的CPU使用率(比如,45%)。
上述实施例中,通过对每个语言版本的机器学习模型习是否接收到请求进行监控;当监控到所述机器学习模型接收到请求、且处于请求响应阶段时,检测与预设的响应性能指标对应的数据,得到响应性能信息。能够实时地获取响应性能信息,相较于从数据库中存储的海量数据中读取响应性能信息而言,提高了获取响应性能信息的及时性。进而,提高了数据分发效率。
在一个实施例中,所述响应性能信息为多项。所述检测至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息还包括:将各项响应性能信息分别与预设的响应达标条件进行匹配;当匹配成功时,则判定所述响应性能信息达标;根据响应性能信息的达标项数,判断所述机器学习模型是否稳定;根据判断结果,得到所述机器学习模型的稳定性信息。
可以理解,因为,某种程度上,响应性能信息能够表征机器学习模型的稳定性,所以,计算机设备可以根据响应性能信息,分析得到机器学习模型的稳定性信息。
响应达标条件,是响应性能指标达标所需要满足的条件。可以理解,由于响应性能信息有多项,所以,响应达标条件分别针对各项响应性能指标预设了响应的达标条件。判断结果,是用于表征机器学习模型是否稳定的结果。
在一个实施例中,判断结果可以包括机器学习模型稳定和不稳定。
在一个实施例中,响应达标条件可以包括响应时长在预设时长阈值范围内、响应请求阶段的CPU使用率在预设使用率阈值内,响应请求阶段的内存消耗量在预设消耗量阈值内中等的至少一种。可以理解,响应达标条件与响应性能信息的项数相对应,有哪些项响应性能信息,就有对应设置的响应达标条件。
具体地,计算机设备可以将各项响应性能信息分别与预设的响应达标条件进行匹配;当匹配成功时,则判定所述响应性能信息达标。进一步地,计算机设备可以统计响应性能信息的达标项数,根据达标项数判断所述机器学习模型是否稳定。计算机设备可以将达标项数与预设的项数阈值进行比对,当达标项数大于或等于预设的项数阈值,则判定机器学习模型稳定。
上述实施例中,因为某种程度上,响应性能信息达标与否能够表征机器学习模型的稳定性,所以,根据响应性能信息的达标项数,判断机器学习模型是否稳定,是符合自然规律的,因而,能够准确地得到机器学习模型的稳定性信息。而且,基于具有一定的稳定性表征信息的响应性能信息,来确定机器学习模型的稳定性,不需要计算机设备耗费过多的系统资源来确定机器学习模型的稳定性信息,节省了系统资源,而且,能够快速地确定出机器学习模型的稳定性信息。
在一个实施例中,所述响应性能信息和稳定性信息皆为多项。步骤S306包括:针对每个语言版本的机器学习模型,将表征所述机器学习模型的数据处理性能的响应性能信息和稳定性信息,分别与预设的响应达标条件和稳定条件进行匹配;确定与响应达标条件匹配成功的响应性能信息的达标项数、以及与稳定条件匹配成功的稳定性信息的稳定项数;根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
其中,稳定条件,是指机器学习模型达到稳定水平所需要满足的条件。可以理解,由于稳定性信息有多项,所以,稳定条件分别针对各项稳定性信息预设了稳定条件。达标项数,是指响应性能信息符合响应达标条件的项数。稳定项数,是指稳定性信息符合稳定条件的项数。
在一个实施例中,当稳定性信息包括稳定和不稳定时,稳定条件则可以直接是稳定。在另一个实施例中,当稳定性信息包括稳定分值时,则稳定条件可以为稳定分值小于或等于预设分值阈值。
具体地,计算机设备可以针对每个语言版本的机器学习模型,将表征该机器学习模型的数据处理性能的响应性能信息与预设的响应达标条件进行匹配,并将表征该机器学习模型的数据处理性能的稳定性信息与预设的稳定条件进行匹配。计算机设备可以统计与响应达标条件匹配成功的响应性能信息的达标项数、以及与稳定条件匹配成功的稳定性信息的稳定项数。进一步地,计算机设备可以根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
在一个实施例中,预设的权重表可以包括响应性能权重表和稳定性权重表。计算机设备可以在预先设置的响应性能权重表中,查询与所述达标项数对应的第一权重;在预先设置的稳定性权重表中,查询与所述稳定项数对应的第二权重,根据第一权重和第二权重,确定机器学习模型的数据分配权重。
可以理解,计算机设备可以直接对第一权重和第二权重求和,得到机器学习模型的数据分配权重。计算机设备也可以获取预设的响应调节系数和稳定调节系数,将第一权重乘以响应调节系数,以及将第一权重乘以稳定调节系数,并将这两个乘积相加,得到该机器学习模型的数据分配权重。其中,响应调节系数,用于调节达标项数所对应的第一权重。稳定调节系数,用于调节稳定项数所对应的第二权重。
在另一个实施例中,预设的权重表中预先存储了项数和权重值之间的对应关系。计算机设备也可以将达标项数和稳定项数相加,并从预设的权重表中,查找与相加得到的总项数对应的权重值,得到所述机器学习模型的数据分配权重。
在又一个实施例中,预设的权重表中存储了达标项数区间、稳定项数区间与数据分配权重之间的对应关系。计算机设备可以确定达标项数在权重表中所位于的达标项数区间,以及确定稳定项数所位于的稳定项数区间,并查找与该达标项数区间和稳定项数区间对应的数据分配权重。比如,达标项数在5~10项、且稳定项数在3~5项之间,对应的数据分配权重为30%。
在其他实施例中,计算机设备可以根据样本达标项数和样本稳定项数以及样本权重进行迭代训练,得到权重预测模型。权重预测模型,用于预测各语言版本的机器学习模型的数据分配权重。所以,计算机设备可以将各语言版本的所对应的达标项数和稳定项数输入预先训练的权重预测模型中,输出该语言版本的机器学习模型的数据分配权重。
上述实施例中,由于响应性能信息的达标项数和稳定性信息的稳定项数,能够一定程度上反映机器学习模型的数据处理性能,所以,根据达标项数和稳定项数,确定所述机器学习模型的数据分配权重,符合自然规律,且,能够准确地确定出各语言版本的机器学习模型的数据分配权重。进而,能够更加准确地向集群中的各机器分发切分的数据包,从而避免各机器的数据处理压力过大,提高机器性能的稳定性。
在一个实施例中,该方法还包括:从数据库中的数据分发记录表中,查找每个语言版本的机器学习模型被分发至的数据包的历史总数量;所述历史总数量,用于表征所述机器学习模型的历史数据处理性能。本实施例中,根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重包括:根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
其中,数据分发记录表,用于记录各语言版本的机器学习模型被分发的历史数据包的信息。
计算机设备可以从数据库中的数据分发记录表中,查找每个语言版本的机器学习模型被分发至的数据包的历史总数量。可以理解,一个机器学习模型在历史被分发的数据包的总数量(即历史总数量),一定程度上可以表征该语言版本的机器学习模型的历史数据处理性能。
进而,计算机设备可以根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,确定所述机器学习模型的数据分配权重。可以理解,相当于,计算机设备可以根据当前的响应性能分析、稳定性分析、以及结合历史处理性能,来确定各机器学习模型的数据分配权重。
在一个实施例中,计算机设备可以根据包括样本达标项数、样本稳定项数、样本历史总数量以及样本权重的样本数据进行迭代训练,得到权重预测模型。所以,计算机设备可以将各语言版本的所对应的达标项数、稳定项数和表征所述历史数据处理性能的历史总数量输入预先训练的权重预测模型中,输出该语言版本的机器学习模型的数据分配权重。可以理解,在其他实施例中,计算机设备也可以不通过权重预测模型这种黑核的模型训练的方式,来确定数据分配权重,而是直接对各语言版本的所对应的达标项数、稳定项数和表征所述历史数据处理性能的历史总数量进行分析,得到机器学习模型的数据分配权重。
在一个实施例中,预设的权重表中存储了达标项数区间、稳定项数区间、以及历史分发数量区间,与数据分配权重之间的对应关系。计算机设备可以确定达标项数在权重表中所位于的达标项数区间、稳定项数所位于的稳定项数区间以及确定历史总数量所位于的历史分发数量区间,并查找与该达标项数区间、稳定项数区间以及历史分发数量区间对应的数据分配权重。比如,达标项数在5~10项、稳定项数在3~5项、且历史总数量在300~500之间,对应的数据分配权重为30%。可以理解,不同区间组合所对应的数据分配权重不同,比如,达标项数在5~10项、稳定项数在3~5项、且历史总数量在1000~2000之间,对应的数据分配权重为35%,就不同于历史总数量在300~500之间时所对应的数据分配权重。
在一个实施例中,预设的权重表包括响应性能权重表、稳定性权重表和历史分发权重表。所述根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重包括:在预先设置的响应性能权重表中,查询与所述达标项数对应的第一权重;在预先设置的稳定性权重表中,查询与所述稳定项数对应的第二权重;从历史分发权重表中,查找与所述历史总数量对应的第三权重;根据第一权重、第二权重和第三权重,确定所述机器学习模型对应的数据分配权重。
其中,响应性能权重表中预先设置了达标项数和权重值之间的对应关系。稳定性权重表中预先设置了稳定项数和权重值之间的对应关系。历史分发权重表中预先设置了历史总数量和权重值之间的对应关系。
计算机设备可以在预先设置的响应性能权重表中,查询与所述达标项数对应的第一权重;在预先设置的稳定性权重表中,查询与所述稳定项数对应的第二权重;从历史分发权重表中,查找与所述历史总数量对应的第三权重。进一步地,计算机设备可以根据第一权重、第二权重和第三权重,确定所述机器学习模型对应的数据分配权重。
可以理解,计算机设备可以直接对第一权重、第二权重和第三权重求和,得到机器学习模型对应的数据分配权重。计算机设备也可以获取预设的响应调节系数、稳定调节系数和历史调节系数,将第一权重乘以响应调节系数、将第一权重乘以稳定调节系数、以及将第三权重乘以历史调节系数,并将这三个乘积相加,得到该机器学习模型的数据分配权重。其中,历史调节系数,用于调节历史总数量所对应的第三权重。
上述实施例中,各语言版本的机器学习模型被分发至的数据包的历史总数量,能够表征该语言版本的机器学习模型的历史数据处理性能,所以目前的响应性能信息的达标项数、稳定性信息的稳定项数以及该机器学习模型的历史数据处理性能,能够很大程度上反映机器学习模型当前的数据处理性能,因此,根据目前的响应性能信息的达标项数、稳定性信息的稳定项数以及该机器学习模型的历史数据处理性能,确定机器学习模型的数据分配权重,符合自然规律,且,能够准确地确定出各语言版本的机器学习模型的数据分配权重。进而,能够更加准确地向集群中的各机器分发切分的数据包,从而避免各机器的数据处理压力过大,提高机器性能的稳定性。
在一个实施例中,每个语言版本的机器学习模型的所述响应性能信息包括该机器学习模型在所设置于的各机器上运行时的子响应性能信息;每个机器学习模型的稳定性信息包括所述机器学习模型在所设置于的各机器上运行时的子稳定性信息。该方法还包括:针对每个语言版本的机器学习模型,将该语言版本的机器学习模型在所设置于的每个机器上运行时的子响应性能信息和子稳定性信息,分别与预设的响应达标条件和稳定条件进行匹配;根据匹配结果,确定所述机器学习模型的运行达标数量和运行未达标数量;当同一语言版本的机器学习模型的机器运行达标数量和机器运行未达标数量之间的比例超出预设比例阈值时,则将所述机器学习模型的数据分配权重提升;当同一语言版本的机器学习模型的机器运行达标数量和机器运行未达标数量之间的比例超出预设比例阈值时,则将所述机器学习模型的数据分配权重降低。
可以理解,每个语言版本的机器学习模型的所述响应性能信息,包括多个子响应性能信息。子响应性能信息,是每个机器学习模型在所设置于的各机器上运行时的响应性能信息。每个语言版本的机器学习模型的所述稳定性信息,包括多个子稳定性信息。子稳定性信息,是每个机器学习模型在所设置于的各机器上运行时的稳定性信息。
匹配结果,是机器的子响应性能信息和子稳定性信息,与预设的响应达标条件和稳定条件匹配成功或失败的结果。运行达标数量,是机器运行达标的数量。运行未达标的数量,是机器运行不达标的数量。
针对每个语言版本的机器学习模型,计算机设备可以将该机器学习模型在所设置于的每个机器上运行时的子响应性能信息和子稳定性信息,分别与预设的响应达标条件和稳定条件进行匹配。当同一个机器的子响应性能信息和子稳定性信息,皆与预设的响应达标条件和稳定条件匹配成功时,则判定该机器运行达标。当同一个机器的子响应性能信息和子稳定性信息中的任意一个,与预设的响应达标条件和稳定条件匹配失败,则判定该机器运行不达标。
计算机设备可以确定同一语言版本的机器学习模型所对应的机器运行达标的数量,得到该机器学习模型的运行达标数量,以及,确定同一语言版本的机器学习模型所对应的机器运行未达标的数量,得到该机器学习模型的运行未达标数量。
计算机设备可以确定同一语言版本的机器学习模型所对应的运行达标数量和运行未达标数量之间的比例,并将该比例与预设比例阈值进行比对,当该比例超出预设比例阈值时,则将语言版本的机器学习模型的数据分配权重提高。当同一语言版本的机器学习模型的运行达标数量和运行未达标数量之间的比例低于预设比例阈值,则将该机器学习模型的数据分配权重降低。
其中,权重提高幅度与超出预设比例的程度正相关。比如,预设比例为1/2,那么,大于范围阈值的机器数量为3/4时,比2/3时的权重升级幅度要大,因为,3/4相较于2/3而言,超出1/2要多。权重降低幅度与小于预设比例的程度正相关。
上述实施例中,针对同一语言版本的机器学习模型,可以根据机器运行达标数量和机器运行未达标数量之间的比例,来对该语言版本的机器学习模型的数据分配权重进行提高或降低调节处理,能够提高权重分配的准确性。进而,能够更准确地向集群中各机器分配数据包,从而提高机器运行性能的稳定性,避免不必要的服务资源的损耗。
图4为一个实施例中数据分发方法的系统架构图。现结合图4对本申请的数据分发方法进行描述说明。参照图4,以Java版本模型和Python版本模型为例,后台服务器包括“引擎决策平台”和“模型健康性能指标检测中心”。其中,模型健康性能指标检测中心,用于获取Java版本模型和Python版本模型的响应性能信息和稳定性信息。引擎决策平台,在后台起决策作用,可以指示“模型健康性能指标检测中心”获取数据,以及指示对业务数据进行归类统计和切片处理等决策指示作用。图4中的“配置信息导入启动模型”,则表示将Java版本模型的配置信息和Python版本模型的配置信息导入至计算机设备,以启动模型在机器集群中的机器上运行。“引擎决策平台”可以指示“模型健康性能指标检测中心”检测收集Java版本模型和Python版本模型的模型健康状况及响应性能信息,并通过机器学习进行权重趋势预测,得到Java版本模型和Python版本模型各自对应的数据分配权重。可以理解,Java版本模型和Python版本模型各自对应的数据分配权重会被发送至kafka消息中间件进行缓存。引擎决策平台可以指示将业务数据进行归类统计切分,将归类为同一类的模型输入数据进行切分,并将切分得到的数据包发送至kafka消息中间件中,kafka消息中间件可以按照数据分配权重,向Java模型和Python模型所对应的机器分发所切分的数据包。
如图5所示,提供一种数据分发装置500,该装置500包括:模型运行模块502、检测模块504、权重确定模块506、以及数据分发模块508,其中:
模型运行模块502,用于运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能。
检测模块504,用于检测至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能。
权重确定模块506,用于从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重。
数据分发模块508,用于将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
在一个实施例中,所述数据分发模块508还用于将各语言版本的机器学习模型分别对应的数据分配权重发送至消息中间件进行缓存;发送切片得到的所述数据包至所述消息中间件,以指示所述消息中间件,按照缓存的各语言版本的机器学习模型所对应的所述数据分配权重,将各所述数据包以消息的形式,向配置各语言版本的机器学习模型的机器进行分发。
在一个实施例中,检测模块504还用于针对每个语言版本的机器学习模型,监控所述机器学习模型是否接收到请求;当监控到所述机器学习模型接收到请求、且处于请求响应阶段时,检测与预设的响应性能指标对应的数据,得到响应性能信息。
在一个实施例中,所述响应性能信息为多项;检测模块504还用于将各项响应性能信息分别与预设的响应达标条件进行匹配;当匹配成功时,则判定所述响应性能信息达标;根据响应性能信息的达标项数,判断所述机器学习模型是否稳定;根据判断结果,得到所述机器学习模型的稳定性信息。
在一个实施例中,所述响应性能信息和稳定性信息皆为多项。权重确定模块506还用于针对每个语言版本的机器学习模型,将表征所述机器学习模型的数据处理性能的响应性能信息和稳定性信息,分别与预设的响应达标条件和稳定条件进行匹配;确定与响应达标条件匹配成功的响应性能信息的达标项数、以及与稳定条件匹配成功的稳定性信息的稳定项数;根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
在一个实施例中,权重确定模块506还用于从数据库中的数据分发记录表中,查找每个语言版本的机器学习模型被分发至的数据包的历史总数量;所述历史总数量,用于表征所述机器学习模型的历史数据处理性能;根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
在一个实施例中,所述预设的权重表包括响应性能权重表、稳定性权重表和历史分发权重表;权重确定模块506还用于在预先设置的响应性能权重表中,查询与所述达标项数对应的第一权重;在预先设置的稳定性权重表中,查询与所述稳定项数对应的第二权重;从历史分发权重表中,查找与所述历史总数量对应的第三权重;根据第一权重、第二权重和第三权重,确定所述机器学习模型对应的数据分配权重。
如图6所示,在一个实施例中,模型运行模块502包括:
配置信息导入模块502a,用于获取至少两个语言版本的机器学习模型的配置信息;按照预设的模型导入比例,将各所述配置信息分别导入至机器集群中的机器中;所述模型导入比例,为集群中导入不同语言版本的机器学习模型的机器数量之比;
模型启动模块502b,用于在各机器中根据所导入的配置信息运行相应的机器学习模型。
关于数据分发装置的具体限定可以参见上文中对于数据分发方法的限定,在此不再赘述。上述数据分发装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1中的后台服务器110,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据分发方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据分发方法的步骤。此处数据分发方法的步骤可以是上述各个实施例的数据分发方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据分发方法的步骤。此处数据分发方法的步骤可以是上述各个实施例的数据分发方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据分发方法,所述方法包括:
运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能;
检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;
从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;
将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;
按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将各语言版本的机器学习模型分别对应的数据分配权重发送至消息中间件进行缓存;
所述按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包包括:
发送切片得到的所述数据包至所述消息中间件,以指示所述消息中间件,按照缓存的各语言版本的机器学习模型所对应的所述数据分配权重,将各所述数据包以消息的形式,向配置各语言版本的机器学习模型的机器进行分发。
3.根据权利要求1所述的方法,其特征在于,所述检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息包括:
针对每个语言版本的机器学习模型,监控所述机器学习模型是否接收到请求;
当监控到所述机器学习模型接收到请求、且处于请求响应阶段时,检测与预设的响应性能指标对应的数据,得到响应性能信息。
4.根据权利要求3所述的方法,其特征在于,所述响应性能信息为多项;所述检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息还包括:
将各项响应性能信息分别与预设的响应达标条件进行匹配;
当匹配成功时,则判定所述响应性能信息达标;
根据响应性能信息的达标项数,判断所述机器学习模型是否稳定;
根据判断结果,得到所述机器学习模型的稳定性信息。
5.根据权利要求1所述的方法,其特征在于,所述响应性能信息和稳定性信息皆为多项;所述从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重包括:
针对每个语言版本的机器学习模型,将表征所述机器学习模型的数据处理性能的响应性能信息和稳定性信息,分别与预设的响应达标条件和稳定条件进行匹配;
确定与响应达标条件匹配成功的响应性能信息的达标项数、以及与稳定条件匹配成功的稳定性信息的稳定项数;
根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
从数据库中的数据分发记录表中,查找每个语言版本的机器学习模型被分发至的数据包的历史总数量;所述历史总数量,用于表征所述机器学习模型的历史数据处理性能;
所述根据所述达标项数和稳定项数,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重包括:
根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重。
7.根据权利要求6所述的方法,其特征在于,所述预设的权重表包括响应性能权重表、稳定性权重表和历史分发权重表;
所述根据所述达标项数、所述稳定项数和表征所述历史数据处理性能的历史总数量,从数据库中预设的权重表中,查找所述机器学习模型的数据分配权重包括:
在预先设置的响应性能权重表中,查询与所述达标项数对应的第一权重;
在预先设置的稳定性权重表中,查询与所述稳定项数对应的第二权重;
从历史分发权重表中,查找与所述历史总数量对应的第三权重;
根据第一权重、第二权重和第三权重,确定所述机器学习模型对应的数据分配权重。
8.根据权利要求1所述的方法,其特征在于,所述运行至少两个语言版本的机器学习模型包括:
获取至少两个语言版本的机器学习模型的配置信息;
按照预设的模型导入比例,将各所述配置信息分别导入至机器集群中的机器中;所述模型导入比例,为集群中导入不同语言版本的机器学习模型的机器数量之比;
在各机器中根据所导入的配置信息运行相应的机器学习模型。
9.一种数据分发装置,其特征在于,所述装置包括:
模型运行模块,用于运行至少两个语言版本的机器学习模型;不同语言版本的机器学习模型分别配置在机器集群的不同机器中,且,不同语言版本的机器学习模型由不同的编程语言编写得到、并具有相同的处理功能;
检测模块,用于检测所述至少两个语言版本的机器学习模型运行时的响应性能信息和稳定性信息;每个语言版本的机器学习模型的响应性能信息和稳定性信息,用于表征所述语言版本的机器学习模型的数据处理性能;
权重确定模块,用于从数据库中预设的权重表中,查找与各语言版本的机器学习模型的数据处理性能对应的数据分配权重;
数据分发模块,用于将模型输入数据集合进行切片,得到多个数据包;每个数据包中包括至少一条模型输入数据;按照各语言版本的机器学习模型所对应的所述数据分配权重,向配置各语言版本的机器学习模型的机器分发所述数据包。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
CN201911280901.XA 2019-12-11 2019-12-11 数据分发方法、装置和计算机设备 Active CN111191792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911280901.XA CN111191792B (zh) 2019-12-11 2019-12-11 数据分发方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911280901.XA CN111191792B (zh) 2019-12-11 2019-12-11 数据分发方法、装置和计算机设备

Publications (2)

Publication Number Publication Date
CN111191792A true CN111191792A (zh) 2020-05-22
CN111191792B CN111191792B (zh) 2022-07-15

Family

ID=70707336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911280901.XA Active CN111191792B (zh) 2019-12-11 2019-12-11 数据分发方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN111191792B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112382395A (zh) * 2020-11-11 2021-02-19 上海森亿医疗科技有限公司 基于机器学习的一体化建模系统
CN113703826A (zh) * 2021-07-29 2021-11-26 北京三快在线科技有限公司 响应数据处理请求的方法、装置、设备以及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170124487A1 (en) * 2015-03-20 2017-05-04 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism
CN107209746A (zh) * 2015-11-16 2017-09-26 华为技术有限公司 模型参数融合方法及装置
CN107368501A (zh) * 2016-05-13 2017-11-21 北京京东尚科信息技术有限公司 数据的处理方法及装置
US20170357807A1 (en) * 2016-06-08 2017-12-14 Cylance Inc. Deployment of Machine Learning Models for Discernment of Threats
CN108596434A (zh) * 2018-03-23 2018-09-28 卫盈联信息技术(深圳)有限公司 欺诈检测和风险评估方法、系统、设备及存储介质
CN109155012A (zh) * 2016-12-30 2019-01-04 谷歌有限责任公司 评估机器学习模型的准确度
CN109615022A (zh) * 2018-12-20 2019-04-12 上海智臻智能网络科技股份有限公司 模型上线配置方法和装置
CN109857922A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 数据评测模型建模方法、装置、计算机设备及存储介质
CN109933429A (zh) * 2019-03-05 2019-06-25 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN110222500A (zh) * 2019-06-14 2019-09-10 深圳前海微众银行股份有限公司 版本管理方法、装置、设备及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170124487A1 (en) * 2015-03-20 2017-05-04 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning model training and deployment with a rollback mechanism
CN107209746A (zh) * 2015-11-16 2017-09-26 华为技术有限公司 模型参数融合方法及装置
CN107368501A (zh) * 2016-05-13 2017-11-21 北京京东尚科信息技术有限公司 数据的处理方法及装置
US20170357807A1 (en) * 2016-06-08 2017-12-14 Cylance Inc. Deployment of Machine Learning Models for Discernment of Threats
CN109155012A (zh) * 2016-12-30 2019-01-04 谷歌有限责任公司 评估机器学习模型的准确度
CN108596434A (zh) * 2018-03-23 2018-09-28 卫盈联信息技术(深圳)有限公司 欺诈检测和风险评估方法、系统、设备及存储介质
CN109615022A (zh) * 2018-12-20 2019-04-12 上海智臻智能网络科技股份有限公司 模型上线配置方法和装置
CN109857922A (zh) * 2019-01-18 2019-06-07 深圳壹账通智能科技有限公司 数据评测模型建模方法、装置、计算机设备及存储介质
CN109933429A (zh) * 2019-03-05 2019-06-25 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN110222500A (zh) * 2019-06-14 2019-09-10 深圳前海微众银行股份有限公司 版本管理方法、装置、设备及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112382395A (zh) * 2020-11-11 2021-02-19 上海森亿医疗科技有限公司 基于机器学习的一体化建模系统
CN112382395B (zh) * 2020-11-11 2021-10-15 上海森亿医疗科技有限公司 基于机器学习的一体化建模系统
CN113703826A (zh) * 2021-07-29 2021-11-26 北京三快在线科技有限公司 响应数据处理请求的方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN111191792B (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN110297701B (zh) 数据处理作业调度方法、装置、计算机设备及存储介质
CN106940679B (zh) 数据处理方法及装置
CN110362473B (zh) 测试环境的优化方法及装置、存储介质、终端
CN107592345B (zh) 交易限流装置、方法及交易系统
CN108829581B (zh) 应用程序测试方法、装置、计算机设备及存储介质
CN111191792B (zh) 数据分发方法、装置和计算机设备
CN109002424B (zh) 文件格式转换方法、装置、计算机设备及存储介质
CN111143163A (zh) 数据监控方法、装置、计算机设备和存储介质
CN113207146B (zh) 无线通信网络质量监控系统及方法
CN109711656B (zh) 多系统关联预警方法、装置、设备及计算机可读存储介质
CN114186699A (zh) 质检节点的优化方法、装置、计算机设备及存储介质
CN109409948A (zh) 交易异常检测方法、装置、设备及计算机可读存储介质
CN110728118B (zh) 跨数据平台的数据处理方法、装置、设备及存储介质
CN116701191A (zh) 量化回测的优化方法、装置、设备、存储介质及程序产品
CN115952098A (zh) 一种性能测试调优方案推荐方法及系统
CN111930625A (zh) 基于云服务平台的日志获取方法、装置及系统
CN116450483A (zh) 一种确定软件分配的负载的方法、装置、服务器及介质
CN113676377B (zh) 基于大数据的在线用户数评估方法、装置、设备及介质
CN116049019A (zh) 一种基于测试芯片对软件进行测试的方法及系统
CN115248779A (zh) 一种代码覆盖测试方法、装置、计算机设备及存储介质
US20180060892A1 (en) Market segment analysis of product or service offerings
CN112295216A (zh) 玩家延时断线分析方法、系统、电子装置和存储介质
US10263878B2 (en) Protocol determination
CN116185815B (zh) 一种软件性能测试模拟方法及系统
CN116541416B (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
TA01 Transfer of patent application right

Effective date of registration: 20220520

Address after: 518048 China Aviation Center 2901, No. 1018, Huafu Road, Huahang community, Huaqiang North Street, Futian District, Shenzhen, Guangdong Province

Applicant after: Shenzhen Ping An medical and Health Technology Service Co.,Ltd.

Address before: Room 12G, Area H, 666 Beijing East Road, Huangpu District, Shanghai 200001

Applicant before: PING AN MEDICAL AND HEALTHCARE MANAGEMENT Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant