CN111176980A - 调试环境和运行环境分离的数据分析方法、装置及系统 - Google Patents

调试环境和运行环境分离的数据分析方法、装置及系统 Download PDF

Info

Publication number
CN111176980A
CN111176980A CN201911262217.9A CN201911262217A CN111176980A CN 111176980 A CN111176980 A CN 111176980A CN 201911262217 A CN201911262217 A CN 201911262217A CN 111176980 A CN111176980 A CN 111176980A
Authority
CN
China
Prior art keywords
machine learning
data
environment
debugging
workflow
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
CN201911262217.9A
Other languages
English (en)
Other versions
CN111176980B (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 Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN201911262217.9A priority Critical patent/CN111176980B/zh
Publication of CN111176980A publication Critical patent/CN111176980A/zh
Application granted granted Critical
Publication of CN111176980B publication Critical patent/CN111176980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明适用计算机技术领域,提供了调试环境和运行环境分离的数据分析方法、装置及系统,该方法包括:从运行环境的真实数据中抽取部分数据,将部分数据经过脱敏后传送到调试环境中作为样本数据;在调试环境中,连接样本数据和机器学习组件组成机器学习工作流,获取每个机器学习组件设置的组件参数;在调试环境中调试机器学习工作流,调试完成之后,将机器学习工作流迁移到运行环境中运行;导入运行环境的真实数据执行机器学习工作流,得到机器学习模型;将运行环境中训练得到的机器学习模型通过白名单审查之后导入到调试环境中,供用户查看和下载。本发明既能保证数据隐私不被泄露,也能使用真实数据进行数据分析。

Description

调试环境和运行环境分离的数据分析方法、装置及系统
技术领域
本发明属于计算机技术领域,尤其涉及调试环境和运行环境分离的数据分析方法、装置及系统。
背景技术
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。
智能化是通过大数据作为燃料来驱动的。但是,目前数据隐私保护和数据挖掘效用存在巨大矛盾,前者着眼数据脱敏,以防止隐私泄露和二次分发;后者着眼全面开放共享,以充分挖掘数据价值。强化数据安全与隐私保护,在数据安全的前提下实现数据共享交换,是大势所趋。而如何在保证数据隐私不被泄露前提下,使用真实数据进行数据分析,是一个亟待解决的问题。
发明内容
本发明的目的在于提供调试环境和运行环境分离的数据分析方法、装置及系统,旨在解决如何既能保证数据隐私不被泄露,也能使用真实数据进行数据分析的问题。
一方面,本发明提供了一种调试环境和运行环境分离的数据分析方法,所述方法包括下述步骤:
从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据;
在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数;
在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行;
导入所述运行环境的真实数据执行所述机器学习工作流,得到机器学习模型;
将所述运行环境中训练得到的机器学习模型通过白名单审查之后导入到所述调试环境中,供用户查看和下载。
另一方面,本发明提供了一种调试环境和运行环境分离的数据分析装置,所述装置包括:
传送模块,用于从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据;
组成模块,用于在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数;
迁移模块,用于在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行;
执行模块,用于导入所述运行环境的真实数据执行所述机器学习工作流,得到机器学习模型;
导入模块,用于将所述运行环境中训练得到的机器学习模型通过白名单审查之后导入到所述调试环境中,供用户查看和下载。
另一方面,本发明还提供了一种调试环境和运行环境分离的数据分析系统,所述系统包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明提出了调试环境和运行环境分离的数据分析方法,有益效果如下:
1、既能保证数据隐私不被泄露,也能使用真实数据进行数据分析。
2、隐私保护下的前后端数据操作转换方法,支持在前端使用可视化方式进行数据处理操作。
3、提出变量访问数据的方法,用户无需关注数据的所在的地址和访问方式。
4、提出自定义编程组件代码告警方法,既可以满足用户编写自定义程序,又能对代码进行检测,保证代码正确。
附图说明
图1是本发明实施例一提供的调试环境和运行环境分离的数据分析方法的实现流程图;
图2是本发明实施例一提供的调试环境与运行环境分离的数据分析方法的流程图;
图3是本发明实施例二提供的训练损失函数值和验证损失函数值随着迭代次数增大的变化曲线图;
图4是本发明实施例二提供的训练准确率和验证准确率随着迭代次数增大的变化曲线图;
图5是本发明实施例三提供的自定义编程组件代码告警的应用流程图;
图6是本发明实施例四提供的可视化操作信息转换成后端数据处理脚本的流程图;
图7是本发明实施例四提供的可视化操作信息转换成后端数据处理脚本的样例图;
图8是本发明实施例五提供的变量方式访问结构化数据库和非结构化数据库的样例图;
图9是本发明实施例六提供的调试环境和运行环境分离的数据分析装置的结构示意图;
图10是本发明实施例七提供的调试环境和运行环境分离的数据分析系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1是本发明实施例一提供的调试环境和运行环境分离的数据分析方法的实现流程图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据;
其中,本发明面向数据分析和AI训练的典型场景,创新性地提出基于程序浮动的隐私保护前提下的机器学习台,既不需事先对数据脱敏而丧失挖掘价值,也不需把真实数据发送给数据使用方而失控。
在步骤S102中,在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数;
其中,机器学习工作流:机器学习的主要工作流程,包括数据预处理、特征工程、算法训练、算法预测等操作。
在步骤S103中,在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行;
在步骤S104中,导入所述运行环境的真实数据执行所述机器学习工作流,得到机器学习模型;
在步骤S105中,将所述运行环境中训练得到的机器学习模型通过白名单审查之后导入到所述调试环境中,供用户查看和下载。
其中,通过白名单申报审核机制,所有需要从运行环境中取走的算法模型,需要先申报,通过白名单审核机制之后,才能拿走模型,这样避免了出现将训练数据写入到机器学习模型中,通过下载模型拿走隐私数据的问题。
参考图2,图2是本发明实施例一提供的调试环境与运行环境分离的数据分析方法的流程图,详述如下:
数据准备阶段:
S1,用户将外部异构数据源适配到运行环境数据缓存与计算平台中,同时获取异构数据源的数据字典信息。
其中,外部异构数据源是指业务系统数据库,比如医院电子病历系统数据库、CT库等结构化数据库和非结构化数据库,运行环境数据缓存与计算平台支持但不限于Mysql等结构化数据库,HDFS、HBASE等大数据平台。
S2,用户从运行环境数据缓存与计算平台中抽取部分数据经过脱敏后传送到调试环境数据缓存计算平台中作为样本数据,同时保证调试环境数据缓存与计算平台和运行环境数据缓存与计算平台目录结构和数据字典一致。
数据分析阶段:
S3,用户登录系统进入到调试环境中,根据自己的任务需求拖拽样本数据和机器学习组件组成机器学习工作流。
S4,用户为每个机器学习组件设置参数。其中,机器学习组件库中有数据预处理组件、机器学习算法训练组件、算法预测组件、算法评估组件;
数据预处理组件可以直接在前端数据库进行可视化操作,比如:对数据表中的列进行添加或删除的操作;
机器学习算法训练组件主要设置算法参数,若选择的算法为线性回归算法,则需要指明数据的标注列、训练迭代次数、正则化方式、最小误差等;
算法预测组件则需要选择测试数据表中哪些是特征列,哪些是标注列;
算法评估组件,不同的评估方式,组件参数也不相同,如多分类算法评估组件,需要指明标注列和预测列。
S5,在调试环境中调试机器学习工作流,然后将调试环境中的机器学习工作流迁移到运行环境中运行。这一过程由系统后台执行,对用户不可见。
S6,导入运行环境数据缓存与计算平台中存储的真实数据执行机器学习工作流,工作流算法组件产生的结果存储在运行环境数据缓存与计算平台中。机器学习工作流在运行环境中运行过程对用户完全透明,用户无法访问运行环境。
S7,将运行环境中训练得到的机器学习模型通过白名单审查之后导入到调试环境数据缓存与计算平台中,供用户查看和下载。
经过所述的调试环境和运行环境分离的数据分析方法,既可以保证用户使用真实数据进行训练,又可以保证数据隐私不被泄露。
为便于说明,以用户分析医院电子病历表为例,分析医院电子病历表的直接目的是获取电子病历统计模型,电子病历统计模型只是作为中间结果,不涉及诊断结果,详述如下:
在数据准备阶段:运行环境管理员会将医院电子病历系统数据库适配到运行环境数据缓存和计算平台,同时获得病人电子病历表中每个字段所代表的含义。调试环境管理员会从运行环境数据缓存和计算平台中的病人电子病历表中抽取若干行数据作为样本数据,同时对抽取的数据进行脱敏处理,将该样本数据存储在调试环境数据缓存和计算平台,表名和所在目录与运行环境中的真实数据一致。
数据分析阶段:
1)用户登录系统,进入调试环境。从调试环境数据缓存和计算平台中选择电子病历样本数据。
2)从机器学习组件中分别选择数据预处理组件、机器学习算法训练组件、算法预测组件、算法评估组件,每个组件是一个docker容器,相应的机器学习代码和脚本在容器中运行。连接选择的样本数据和机器学习组件组成机器学习工作流,分别为每个组件设置相应的组件参数。
3)在调试环境中运行所述机器学习工作流,保证工作流能够正常运行。
4)将所述机器学习工作流迁移到运行环境中,即将选择的docker容器和容器之间的连接关系一起迁移到运行环境中执行。
5)在运行环境中使用完整的未脱敏的电子病历表来执行工作流,同时将工作流各个组件的结果保存在运行环境数据缓存和计算平台中。机器学习工作流在运行环境中运行时,用户无法访问运行环境。
6)执行结束之后,将算法组件的结果经过白名单审查机制之后传送到调试环境中,用户可以在调试环境中访问得到的某电子病历统计模型。
在本发明实施例中,机器学习工作台调试环境和运行环境分离,在调试环境中使用样本数据进行机器学习工作流调试,而样本数据通过从真实数据抽样并脱敏得到,用户在调试环境中可以接触样本数据。在运行环境中使用真实的真实数据执行机器学习工作流,训练得到机器学习模型,用户无法访问运行环境,无法接触真实数据。这种模式下既能保证用户使用真实的真实数据进行数据分析,也能保证数据隐私不被泄露。
实施例二:
本发明实施例描述了组成机器学习工作流的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
所述在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数,具体为:
在所述调试环境中,获取用户通过拖拽方式选择的样本数据和机器学习组件,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数,所述机器学习组件包括自定义编程组件和系统预置组件。
其中,系统预置组件包括数据预处理组件、机器学习算法训练组件、算法预测组件、算法评估组件之一或组合
为了满足不同用户的需求,本发明提供自定义编程组件,允许用户编写机器学习代码。尽管所述调试环境与运行环境分离,且运行环境对用户完全透明,用户无法访问运行环境。用户仍然可以通过自定义编程组件编写相关代码,在运行环境中运行机器学习工作流时,通过以下几种方式泄露隐私数据:
1)将训练数据打印到日志信息中,通过查看运行日志的方式泄露隐私数据
2)将训练数据通过hdfs、spark等框架的数据接口直接写入到调试环境数据缓存与计算平台中,在调试环境中查看和下载隐私数据。
3)将训练数据写入到机器学习模型中,通过下载模型拿走隐私数据。
针对上述问题,本发明的运行环境安全可控,详述如下:
为了避免问题1),本发明所述方法不允许用户查看运行环境中的工作流运行日志,同时为了保证用户通过机器学习算法训练信息如深度学习模型训练过程中准确率、训练过程中学习速率和训练过程中的损失函数值(loss值)等,能够有效地调试和终止运行环境中的工作流,获得最佳机器学习模型。
本发明所述方法在机器学习算法训练组件的docker容器根目录下设置一个json文件,json文件专门用来收集这些常用的训练信息,文件路径和文件名固定,例如/train_message.json。用户将要观测的训练信息写入到文件中,以深度学习训练为例,文件内容如下所示:
Figure BDA0002311881680000081
系统自动检测该文件并读取文件内容,将文件中的数值传送回前端,不展示具体的数值,只展示各个数值随着迭代次数的增加而变化的曲线。
其中,图3是本发明实施例二提供的训练损失函数值和验证损失函数值随着迭代次数增大的变化曲线图。
其中,图4是本发明实施例二提供的训练准确率和验证准确率随着迭代次数增大的变化曲线图。
用户可以根据如图3、图4展示的训练信息来调节机器学习工作流各组件的参数,而不需要查看训练日志信息。
为了避免2)中的问题,由于运行环境处于局域网内部,无法连接因特网,而且只能与调试环境进行通信。调试环境和运行环境之间通过特定通信协议和通信管道进行通信,数据无法通过现有的hdfs、spark等基于ip通信的框架进行数据传递,同时系统会对运行环境网络流量、I/O等系统活动进行管控与审计。
为了避免3)中的问题,本发明通过白名单申报审核机制,所有从运行环境中取走的算法模型,需要先申报,通过白名单审核机制之后,才能拿走模型。
实施例三:
图5是本发明实施例三提供的自定义编程组件代码告警的应用流程图,为了便于说明,仅示出了与本发明实施例相关的部分,具体地,自定义编程组件代码告警的步骤,详述如下:
在自定义编程组件中获取用户编写的机器学习代码,实时抽取所述机器学习代码得到自定义程序,对所述自定义程序进行程序解析得到所述自定义程序对应的抽象语法树AST,遍历所述AST搜索数据引用代码,如果搜索到所述数据引用代码,则在所述自定义组件中显示所述数据引用代码的告警信息和提示信息。
需要注意的是,自定义编程组件代码告警的步骤能与步骤S101同时运行,也能在步骤S101之前或之后运行,具体的执行顺序,在此不做限制。
其中,为了满足不同用户的需求,系统除了提供系统预置组件外,还提供自定义编程组件,允许用户在自定义编程组件中编写自己的机器学习代码。由于调试环境中的样本数据与运行环境中的真实数据不同,因此调试环境和运行环境的数据总量不同,当机器学习工作流在调试环境下通过调试并迁移到运行环境中执行时,可能出现一些编程错误。如访问数据的索引值只是样本数据而并非运行环境中的真实数据。
例如,以医院电子病历表为例,假设该医院电子病历表中有10万病人信息,而调试环境中仅仅只抽取了3000条作为样本数据,用户在调试环境的自定义编程组件中编写数据分析程序时,对数据的访问索引上限仅仅设置为3000,当机器学习工作流在真实数据中运行时也只使用了3000条真实数据,未能使用全部数据用于分析。
其中,对所述自定义程序进行程序解析得到所述自定义程序对应的抽象语法树(Abstract Syntax Tree,AST),遍历所述AST搜索数据引用代码,如果搜索到所述数据引用代码,则在所述自定义组件的提示栏中显示所述数据引用代码的告警信息和提示信息。为便于说明,举例如下:
Figure BDA0002311881680000101
本发明实施例提出通过实时解析用户编写的机器学习代码生成抽象语法树,然后遍历该抽象语法树找到数据引用代码,并对这些数据引用代码发出告警和提示,提醒用户可能存在的错误,从而避免这种编程错误,能减少编程时间,提高编程效率。
实施例四:
图6是本发明实施例四提供的可视化操作信息转换成后端数据处理脚本的流程图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在所述从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据之后,在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数之前,所述方法还包括:
在所述调试环境中,获取前端数据库中样本数据的可视化操作信息,调用Spark数据操作接口或系统封装的数据操作接口,将所述可视化操作信息转换成后端数据处理脚本,在所述调试环境的调试环境数据缓存与计算平台上对所述样本数据执行所述后端数据处理脚本,执行完毕后,返回处理后的所述样本数据。
如图6所示,在机器学习工作流组成和设置参数阶段,用户在数据预处理组件中进行可视化数据操作时,为了保证前端操作效率。从调试环境数据缓存与计算平台中加载待分析的样本数据到前端数据库中。用户能直接在数据预处理组件中可视化操作前端数据库中的样本数据,如添加列、删除列等。
其中,数据预处理组件包括前端操作与展示控件、操作记录表、后端转化器三部分。
前端操作与展示控件加载或输出前端数据库中样本数据可视化操作的操作内容、步骤、所选参数,根据前端数据库中样本数据的可视化操作的操作内容、步骤、所选参数,生成可视化操作信息;
操作记录表保存可视化操作信息,当机器学习工作流在调试环境中运行时,以json格式封装可视化操作信息后,传送可视化操作信息到后端转化器;
后端转化器解析可视化操作信息,调用Spark数据操作接口或系统封装的数据操作接口,将可视化操作信息转换成后端数据处理脚本,在调试环境数据缓存与计算平台上执行该后端数据处理脚本,执行成功后返回处理后的样本数据和执行状态。
其中,系统封装的数据操作接口包括Impala数据操作接口、Kudu数据操作接口、HDFS数据操作接口中的至少一种。
Spark数据操作接口为:使用Spark框架的数据操作接口。Spark是一个实现快速通用的集群计算平台。
Impala数据操作接口为:使用Impala框架的数据操作接口。
HBASE:一个开源的非关系型数据库。Impala是一个开源的大数据查询系统,能够查询存储在HDFS和HBASE中的PB级大数据
Kudu数据操作接口为:使用Kudu框架的数据操作接口。Kudu:一个开源的类似于关系型数据库的存储管理系统。
HDFS数据操作接口为:使用HDFS框架的数据操作接口。HDFS:Hadoop分布式文件系统(Hadoop Distributed File System)。
其中,为便于说明,以数据预处理组件处理医院病历表为例,详述如下:
用户进入数据预处理组件,由于病历表中姓名一栏是string类型的数据,在实际数据分析过程中需要将其替换成int类型的数据,因此在数据预处理组件中使用替换功能,显示替换操作,设置被替换类型为string,目标类型是int。这一转换过程会被组件中的操作记录表记录下来。如图7所示,图7是本发明实施例四提供的可视化操作信息转换成后端数据处理脚本的样例图,在图7中,在运行整个机器学习工作流时,操作记录表会以json格式封装可视化操作信息后,生成json数据,将json数据传送到将后端转化器,后端转化器解析该json数据,然后调用spark数据操作接口将可视化操作信息转换成后端数据处理的python代码。
在本发明实施例中,在调试环境中,拖拽各机器学习组件组成并调试机器学习工作流,数据预处理组件支持Web前端可视化操作。执行机器学习工作流时,需要将前端数据库中样本数据的可视化操作信息转换成后端数据处理脚本,然后作用到样本数据上,假设后端对样本数据的操作使用spark框架,则需要将前端数据库的可视化操作信息转换成在后端对样本数据操作的spark脚本。
实施例五:
图8是本发明实施例五提供的变量方式访问结构化数据库和非结构化数据库的样例图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行,具体为:
在所述调试环境中调试所述机器学习工作流,调试完成之后,所述机器学习工作流在所述调试环境中的输入变量、输出变量分别替换成所述机器学习工作流在所述运行环境中的输入变量、输出变量,以将所述机器学习工作流迁移到所述运行环境中的运行环境数据缓存与计算平台上运行。
其中,机器学习工作流中的各个机器学习组件都需要与样本数据和真实数据进行交互,由于调试环境中的样本数据和运行环境中的真实数据的存储地址不相同,且每个机器学习组件访问的数据目录和地址也不相同,为了保证机器学习工作流从调试环境迁移到运行环境能够顺利进行,在工作流的各阶段通过输入变量、输出变量的方式访问数据。
其中,调试环境的输入变量、输出变量分别代表访问的样本数据及样本数据的访问方式,运行环境的输入变量、输出变量分别代表访问的真实数据及真实数据的访问方式。当机器学习工作流从调试环境迁移到运行环境中时,系统会自动将机器学习工作流中每个机器学习组件在调试环境中的输入变量、输出变量替换成运行环境中的输入变量、输出变量,此过程对用户完全透明。
其中,本发明提出使用变量方式访问结构化数据库和非结构化数据库。每个机器学习组件与数据连接情况。
在自定义编程组件中:变量分为输入变量和输出变量。
其中,输入变量表示连接输入数据,用_INPUT表示,输出变量用于表示该组件输出的数据,用_OUTPUT表示。
其中,datatype表示数据类型,本发明支持结构化数据和非结构化数据。file表示文件名。
其中,每个自定义编程组件会为用户提供封装输入输出变量的接口,用户只需要根据输入或输出的数据类型来使用相应变量编写代码,无需知道输入的数据来源和传输方式,也无需知道输出的数据保存的地址。
其中,在系统预置组件中:输入变量、输出变量设置在每个组件的环境变量中,环境变量主要有ENV_HOST、ENV_PORT、ENV_USER、ENV_PASSWD、ENV_DB,分别表示数据所在的地址、端口、所属用户、认证密码、所属数据库。
在本发明实施例中,通过变量的方式,用户无需关注调试环境和运行环境中的数据地址和目录等信息,机器学习组件直接使用系统提供在调试环境中的输入变量、输出变量访问样本数据、直接使用运行环境中的输入变量、输出变量访问真实数据。
实施例六:
图9是本发明实施例六提供的调试环境和运行环境分离的数据分析装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
传送模块91,用于从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据;
组成模块92,用于在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数;
迁移模块93,用于在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行;
执行模块94,用于导入所述运行环境的真实数据执行所述机器学习工作流,得到机器学习模型;
导入模块95,用于将所述运行环境中训练得到的机器学习模型通过白名单审查之后导入到所述调试环境中,供用户查看和下载。
进一步地,在所述装置中,所述组成模块,具体用于:在所述调试环境中,获取用户通过拖拽方式选择的样本数据和机器学习组件,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数,所述机器学习组件包括自定义编程组件和系统预置组件。
进一步地,所述装置还包括:
自定义编程组件告警模块,用于在自定义编程组件中获取用户编写的机器学习代码,实时抽取所述机器学习代码得到自定义程序,对所述自定义程序进行程序解析得到所述自定义程序对应的抽象语法树AST,遍历所述AST搜索数据引用代码,如果搜索到所述数据引用代码,则在所述自定义组件中显示所述数据引用代码的告警信息和提示信息;
可视化数据处理操作后端转换模块,用于在所述调试环境中,获取前端数据库中样本数据的可视化操作信息,调用Spark数据操作接口或装置封装的数据操作接口,将所述可视化操作信息转换成后端数据处理脚本,在所述调试环境的调试环境数据缓存与计算平台上对所述样本数据执行所述后端数据处理脚本,执行完毕后,返回处理后的所述样本数据。
进一步地,在所述装置中,所述迁移模块,具体用于在所述调试环境中调试所述机器学习工作流,调试完成之后,所述机器学习工作流在所述调试环境中的输入变量、输出变量分别替换成所述机器学习工作流在所述运行环境中的输入变量、输出变量,以将所述机器学习工作流迁移到所述运行环境中的运行环境数据缓存与计算平台上运行。
在本发明实施例中,调试环境和运行环境分离的数据分析装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用于限制本发明。
实施例七:
图10是本发明实施例七提供的调试环境和运行环境分离的数据分析系统的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
本发明实施例的系统6包括处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62。该处理器60执行计算机程序62时实现上述各个方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,处理器60执行计算机程序62时实现上述各装置实施例中各单元的功能,例如图5所示单元51至54的功能。
该系统中处理器60执行计算机程序62时实现方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种调试环境和运行环境分离的数据分析方法,其特征在于,所述方法包括下述步骤:
从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据;
在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数;
在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行;
导入所述运行环境的真实数据执行所述机器学习工作流,得到机器学习模型;
将所述运行环境中训练得到的机器学习模型通过白名单审查之后导入到所述调试环境中,供用户查看和下载。
2.如权利要求1所述的方法,其特征在于,所述在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数,具体为:
在所述调试环境中,获取用户通过拖拽方式选择的样本数据和机器学习组件,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数,所述机器学习组件包括自定义编程组件和系统预置组件。
3.如权利要求1所述的方法,其特征在于,所述方法,还包括:
在自定义编程组件中获取用户编写的机器学习代码,实时抽取所述机器学习代码得到自定义程序,对所述自定义程序进行程序解析得到所述自定义程序对应的抽象语法树AST,遍历所述AST搜索数据引用代码,如果搜索到所述数据引用代码,则在所述自定义组件中显示所述数据引用代码的告警信息和提示信息。
4.如权利要求1所述的方法,其特征在于,在所述从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据之后,在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数之前,所述方法还包括:
在所述调试环境中,获取前端数据库中样本数据的可视化操作信息,调用Spark数据操作接口或系统封装的数据操作接口,将所述可视化操作信息转换成后端数据处理脚本,在所述调试环境的调试环境数据缓存与计算平台上对所述样本数据执行所述后端数据处理脚本,执行完毕后,返回处理后的所述样本数据。
5.如权利要求1所述的方法,其特征在于,在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行,具体为:
在所述调试环境中调试所述机器学习工作流,调试完成之后,所述机器学习工作流在所述调试环境中的输入变量、输出变量分别替换成所述机器学习工作流在所述运行环境中的输入变量、输出变量,以将所述机器学习工作流迁移到所述运行环境中的运行环境数据缓存与计算平台上运行。
6.一种调试环境和运行环境分离的数据分析装置,其特征在于,所述装置包括:
传送模块,用于从运行环境的真实数据中抽取部分数据,将所述部分数据经过脱敏后传送到调试环境中作为样本数据;
组成模块,用于在所述调试环境中,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数;
迁移模块,用于在所述调试环境中调试所述机器学习工作流,调试完成之后,将所述机器学习工作流迁移到所述运行环境中运行;
执行模块,用于导入所述运行环境的真实数据执行所述机器学习工作流,得到机器学习模型;
导入模块,用于将所述运行环境中训练得到的机器学习模型通过白名单审查之后导入到所述调试环境中,供用户查看和下载。
7.如权利要求6所述的装置,其特征在于,所述组成模块,具体用于:在所述调试环境中,获取用户通过拖拽方式选择的样本数据和机器学习组件,连接所述样本数据和机器学习组件组成机器学习工作流,获取每个所述机器学习组件设置的组件参数,所述机器学习组件包括自定义编程组件和系统预置组件。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
自定义编程组件告警模块,用于在自定义编程组件中获取用户编写的机器学习代码,实时抽取所述机器学习代码得到自定义程序,对所述自定义程序进行程序解析得到所述自定义程序对应的抽象语法树AST,遍历所述AST搜索数据引用代码,如果搜索到所述数据引用代码,则在所述自定义组件中显示所述数据引用代码的告警信息和提示信息;
可视化数据处理操作后端转换模块,用于在所述调试环境中,获取前端数据库中样本数据的可视化操作信息,调用Spark数据操作接口或装置封装的数据操作接口,将所述可视化操作信息转换成后端数据处理脚本,在所述调试环境的调试环境数据缓存与计算平台上对所述样本数据执行所述后端数据处理脚本,执行完毕后,返回处理后的所述样本数据。
9.如权利要求6所述的装置,其特征在于,所述迁移模块,具体用于在所述调试环境中调试所述机器学习工作流,调试完成之后,所述机器学习工作流在所述调试环境中的输入变量、输出变量分别替换成所述机器学习工作流在所述运行环境中的输入变量、输出变量,以将所述机器学习工作流迁移到所述运行环境中的运行环境数据缓存与计算平台上运行。
10.一种调试环境和运行环境分离的数据分析系统,所述系统包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
CN201911262217.9A 2019-12-10 2019-12-10 调试环境和运行环境分离的数据分析方法、装置及系统 Active CN111176980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911262217.9A CN111176980B (zh) 2019-12-10 2019-12-10 调试环境和运行环境分离的数据分析方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911262217.9A CN111176980B (zh) 2019-12-10 2019-12-10 调试环境和运行环境分离的数据分析方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111176980A true CN111176980A (zh) 2020-05-19
CN111176980B CN111176980B (zh) 2023-04-25

Family

ID=70653852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911262217.9A Active CN111176980B (zh) 2019-12-10 2019-12-10 调试环境和运行环境分离的数据分析方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111176980B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114462623A (zh) * 2022-02-10 2022-05-10 电子科技大学 基于边缘计算的数据分析方法、系统及平台
CN114860774A (zh) * 2022-05-19 2022-08-05 宁波奥克斯电气股份有限公司 空调器的大数据实时分析方法、系统、存储介质和空调器

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150193637A1 (en) * 2014-01-08 2015-07-09 International Business Machines Corporation Provisioning transient-controlled secure environments for viewing sensitive data
CN106126415A (zh) * 2016-06-15 2016-11-16 百度在线网络技术(北京)有限公司 一种在安卓系统中的应用调试方法和应用调试装置
WO2017162085A1 (zh) * 2016-03-25 2017-09-28 阿里巴巴集团控股有限公司 数据分析方法及装置
CN109063511A (zh) * 2018-08-16 2018-12-21 深圳云安宝科技有限公司 基于Web API的数据访问控制方法、装置、代理服务器及介质
CN109189993A (zh) * 2018-08-16 2019-01-11 深圳云安宝科技有限公司 大数据处理方法、装置、服务器及存储介质
CN109243616A (zh) * 2018-06-29 2019-01-18 东华大学 基于深度学习的乳腺电子病历联合关系抽取与结构化系统
US20190138930A1 (en) * 2017-05-31 2019-05-09 Adnomus, Inc. Systems and methods for real-time data processing analytics engine with artificial intelligence for target information protection
CN110020834A (zh) * 2019-04-15 2019-07-16 浩鲸云计算科技股份有限公司 一种建模和调试融合的在线智能大数据开发方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150193637A1 (en) * 2014-01-08 2015-07-09 International Business Machines Corporation Provisioning transient-controlled secure environments for viewing sensitive data
WO2017162085A1 (zh) * 2016-03-25 2017-09-28 阿里巴巴集团控股有限公司 数据分析方法及装置
CN106126415A (zh) * 2016-06-15 2016-11-16 百度在线网络技术(北京)有限公司 一种在安卓系统中的应用调试方法和应用调试装置
US20190138930A1 (en) * 2017-05-31 2019-05-09 Adnomus, Inc. Systems and methods for real-time data processing analytics engine with artificial intelligence for target information protection
CN109243616A (zh) * 2018-06-29 2019-01-18 东华大学 基于深度学习的乳腺电子病历联合关系抽取与结构化系统
CN109063511A (zh) * 2018-08-16 2018-12-21 深圳云安宝科技有限公司 基于Web API的数据访问控制方法、装置、代理服务器及介质
CN109189993A (zh) * 2018-08-16 2019-01-11 深圳云安宝科技有限公司 大数据处理方法、装置、服务器及存储介质
CN110020834A (zh) * 2019-04-15 2019-07-16 浩鲸云计算科技股份有限公司 一种建模和调试融合的在线智能大数据开发方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吕军;杨超;王跃东;刘林;王新宁;: "基于多业务场景的大数据脱敏技术研究及其在电力用户隐私信息保护中的应用" *
胡殿刚;李韶瑜;楼俏;王琼;程淼海;王国军;李国辉;: "ELM算法在用户用电行为分析中的应用" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114462623A (zh) * 2022-02-10 2022-05-10 电子科技大学 基于边缘计算的数据分析方法、系统及平台
CN114860774A (zh) * 2022-05-19 2022-08-05 宁波奥克斯电气股份有限公司 空调器的大数据实时分析方法、系统、存储介质和空调器

Also Published As

Publication number Publication date
CN111176980B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
US11169906B2 (en) Extraction of problem diagnostic knowledge from test cases
CN107895286B (zh) 理赔金额确定方法及装置、存储介质和电子设备
US20200117692A1 (en) Systems and methods for web analytics testing and web development
CN109062780B (zh) 自动化测试用例的开发方法及终端设备
US20130104107A1 (en) Data flow visualization and debugging
CN106559438A (zh) 一种基于目标网络平台的程序上传方法和装置
Biswas et al. Boa meets python: A boa dataset of data science software in python language
CN109564540A (zh) 用于jit编译器的调试工具
CN110287002A (zh) 一种以太坊虚拟机缺陷检测方法及系统
US10534700B2 (en) Separating test verifications from test executions
CN108984155A (zh) 数据处理流程设定方法和装置
WO2019104891A1 (zh) 报表导入导出的方法、装置、存储介质及终端
CN111176980B (zh) 调试环境和运行环境分离的数据分析方法、装置及系统
US20210406004A1 (en) System and method for implementing a code audit tool
CN106502720A (zh) 一种数据处理方法和装置
CN112328219A (zh) 业务访问处理方法、装置、系统和计算机设备
CN111966587A (zh) 数据采集方法、装置和设备
Williams et al. Guided feature identification and removal for resource-constrained firmware
CN106681909A (zh) 一种联机交易故障定位方法及装置
CN112131120B (zh) 一种源代码缺陷检测方法及装置
Huo et al. Autolog: A log sequence synthesis framework for anomaly detection
CN115454702A (zh) 日志故障分析方法、装置、存储介质及电子设备
CN109522206A (zh) 异常数据定位方法、装置、计算机设备及存储介质
US11741237B2 (en) Content-driven debugging by taint tracking along data flows
CN107818501A (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
GR01 Patent grant
GR01 Patent grant