CN109799976A - 基于分布式流式计算引擎的实时风控变量计算方法 - Google Patents
基于分布式流式计算引擎的实时风控变量计算方法 Download PDFInfo
- Publication number
- CN109799976A CN109799976A CN201910027821.7A CN201910027821A CN109799976A CN 109799976 A CN109799976 A CN 109799976A CN 201910027821 A CN201910027821 A CN 201910027821A CN 109799976 A CN109799976 A CN 109799976A
- Authority
- CN
- China
- Prior art keywords
- data
- variable
- sql
- calculation method
- real
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式流式计算引擎的实时风控变量计算方法,在该计算方法中包括:数据源配置模块:用户配置各种计算依赖的数据源;变量定义模块:可以用SQL语言来开发各种变量;变量计算模块:根据计算的请求从预先配置的数据源中抓取数据,构建内存表,把相关的变量池中的所有SQL全部执行一遍,并输出计算结果;本发明提供的基于分布式流式计算引擎的实时风控变量计算方法,采用本发明研发的变量计算引擎和***,熟悉SQL语言的人员(如业务人员和开发人员),都能通过***来定义变量,大大缩短变量开发周期,节省成本。
Description
技术领域
本发明涉及一种产品软件和应用软件,尤其涉及一种基于分布式流式计算引擎的实时风控变量计算方法。
背景技术
互联网金融领域的风控模型需要针对大量的用户变量指标进行计算,这些用户变量的值是基于用户的各维度数据进行计算的。目前,主要方法是把用户的各维度数据先存入数据库(如MySQL、Oracle等),然后用传统软件开发方法或SAS***(StatisticsAnalysis System)开发出变量逻辑并进行计算。目前,从变量计算的需求提出、分析设计、开发、测试、上生产发布,相对来说开发周期长,沟通、开发、维护成本都比较高,同时远远不能满足大量的新增变量开发需求。若采用SAS***,还面临单机版本的不可扩展性、计算能力不足等问题。
发明内容
本发明为解决上述技术问题而采用的技术方案是提供一种基于分布式流式计算引擎的实时风控变量计算方法,其中,具体技术方案为:
在该计算方法中包括:
数据源配置模块:用户配置各种计算依赖的数据源;
变量定义模块:可以用SQL语言来开发各种变量;
变量计算模块:根据计算的请求从预先配置的数据源中抓取数据,构建内存表,把相关的变量池中的所有SQL全部执行一遍,并输出计算结果;
风控变量实时计算具体过程如下:
步骤1接收到变量请求后,解析变量请求信息的参数,即可获知需要计算的数据标识、用户数据维度信息、甚至SQL语句的参数;
步骤2根据用户申请信息中的数据标识、用户数据维度信息,从预先配置的数据源抓取数据,推送到高速缓存;
步骤3根据数据源配置的数据结构信息,从高速缓存中拉取数据,使用ApacheCalcite把拉取的数据构建到服务器的本地内存并形成内存表;
步骤4从变量池中获取跟用户数据维度相关的全部变量SQL语句,和SQL参数组合成可执行SQL语句,然后可执行SQL语句在内存表上运行并输出计算结果值。
上述的基于分布式流式计算引擎的实时风控变量计算方法,其中:用户数据维度信息包括但不限于***消费记录、通话记录。
上述的基于分布式流式计算引擎的实时风控变量计算方法,其中:ApacheCalcite本身不会存储或处理数据,却是许多数据库内核的基础,使用Calcite来构建自定义的数据库功能,采用Calcite构建数据库表,通过自定义函数(UDF)来扩展它的功能。
上述的基于分布式流式计算引擎的实时风控变量计算方法,其中:数据源配置模块,该模块是一个统一数据源配置中心,定义数据源的获取方式和结构化数据的组成,通过此模块配置相应的源数据获取方式及参数、数据的结构信息,在变量计算时,可实现自动化构建临时数据库表;用于变量计算的数据是多维度的,不同维度数据的来源都不一样,源数据存在于数据库中的,也会有不同类型的数据库,即使是同一类型数据库,不同的业务***所使用的数据库也位于不同的服务器上,针对数据库这类的数据源,***支持配置JDBC数据库连接来获取数据,参数包括数据库驱动、资源定位符、用户名及密码,还有一部分数据是外部***以接口方式提供,这种通过接口提供数据的方式,支持配置接口地址、访问授权信息等参数。
上述的基于分布式流式计算引擎的实时风控变量计算方法,其中:变量定义模块,在变量定义模块中,设定变量名,并采用SQL语言编写该变量的计算逻辑,即SQL语句,此处的SQL语句,必须符合Apache Calcite的SQL语法,Apache Calcite是一个新的查询引擎,它提供了标准的SQL语言、多种查询优化的能力,同时对标准SQL进行了扩展,支持自定义函数,可用于实现复杂的业务逻辑,相关开发或业务人员开发变量时,编写完SQL语句,保存时会进行SQL语法验证,保存后可进行基于验证数据进行逻辑验证,结果正确无误后,可推送到变量池并立即参与计算。
上述的基于分布式流式计算引擎的实时风控变量计算方法,其中:变量计算模块,实际上是一个强大变量计算引擎,具备构建数据库表、执行SQL语句并输出计算结果的能力。
本发明相对于现有技术具有如下有益效果:采用本发明研发的变量计算引擎和***,熟悉SQL语言的人员(如业务人员和开发人员),都能通过***来定义变量,大大缩短变量开发周期,节省成本;SQL语言语法简洁,易学易用,对变量逻辑理解起来容易,同时起到很好的解释作用。把数据拉取到服务器内部通过SQL语言的方式进行计算,性能很快,基本上毫秒级别,对大量的SQL计算有优势,能达到实时计算需求的目标。同时支持分布式部署,易于扩展,满足业务未来不断增多的变量计算需求。
附图说明
图1是本发明实施例中基于分布式流式计算引擎的实时风控变量计算方法的主要模块结构示意图;图2是本发明实施例中风控变量实时计算的流程图。
具体实施方式
本发明为了满足大量、实时变量计算需求,而用计算机软件实现的一个软件***。图1是一个实施例中实时风控变量计算方法的模块结构图,主要包括数据源配置、变量定义及变量计算三部分。
M100:数据源配置,该模块是一个统一数据源配置中心,定义数据源的获取方式和结构化数据的组成,通过此模块配置相应的源数据获取方式及参数、数据的结构信息,在变量计算时,可实现自动化构建临时数据库表。
用于变量计算的数据是多维度的,不同维度数据的来源都不一样。源数据存在于数据库中的,也会有不同类型的数据库(如MySQL、Oracle、,mongodb等),即使是同一类型数据库,不同的业务***所使用的数据库也位于不同的服务器上。针对数据库这类的数据源,***支持配置JDBC数据库连接来获取数据,参数包括数据库驱动(Database Driver)、资源定位符(URL)、用户名及密码。还有一部分数据是外部***以接口(Rest API)方式提供。这种通过接口提供数据的方式,支持配置接口地址、访问授权信息等参数。
M200:变量定义模块。在变量定义模块中,设定变量名,并采用SQL语言编写该变量的计算逻辑,即SQL语句。此处的SQL语句,必须符合Apache Calcite的SQL语法。ApacheCalcite是一个新的查询引擎,它提供了标准的SQL语言、多种查询优化的能力,同时对标准SQL进行了扩展;支持自定义函数,可用于实现复杂的业务逻辑。
相关开发或业务人员开发变量时,编写完SQL语句,保存时会进行SQL语法验证。保存后可进行基于验证数据进行逻辑验证,结果正确无误后,可推送到变量池并立即参与计算。
M300:变量计算模块。变量计算模块,实际上是一个强大变量计算引擎,具备构建数据库表、执行SQL语句并输出计算结果的能力。
图2是风控变量实时计算的流程图,具体过程如下。
步骤1接收到变量请求后,解析变量请求信息的参数,即可获知需要计算的数据标识、用户数据维度信息(如***消费记录、通话记录等)、甚至SQL语句的参数。
步骤2根据用户申请信息中的数据标识、用户数据维度信息,从预先配置的数据源抓取数据,推送到高速缓存。
步骤3根据数据源配置的数据结构信息,从高速缓存中拉取数据,使用ApacheCalcite把拉取的数据构建到服务器的本地内存并形成内存表。
Apache Calcite本身不会存储或处理数据,却是许多数据库内核的基础,可以使用Calcite来构建自定义的数据库功能。可采用Calcite构建数据库表,通过自定义函数(UDF)来扩展它的功能。
步骤4从变量池中获取跟用户数据维度相关的全部变量SQL语句,和SQL参数组合成可执行SQL语句,然后可执行SQL语句在内存表上运行并输出计算结果值。
Claims (6)
1.一种基于分布式流式计算引擎的实时风控变量计算方法,其特征在于:
在该计算方法中包括:
数据源配置模块:用户配置各种计算依赖的数据源;
变量定义模块:可以用SQL语言来开发各种变量;
变量计算模块:根据计算的请求从预先配置的数据源中抓取数据,构建内存表,把相关的变量池中的所有SQL全部执行一遍,并输出计算结果;
风控变量实时计算具体过程如下:
步骤1接收到变量请求后,解析变量请求信息的参数,即可获知需要计算的数据标识、用户数据维度信息、甚至SQL语句的参数;
步骤2根据用户申请信息中的数据标识、用户数据维度信息,从预先配置的数据源抓取数据,推送到高速缓存;
步骤3根据数据源配置的数据结构信息,从高速缓存中拉取数据,使用Apache Calcite把拉取的数据构建到服务器的本地内存并形成内存表;
步骤4从变量池中获取跟用户数据维度相关的全部变量SQL语句,和SQL参数组合成可执行SQL语句,然后可执行SQL语句在内存表上运行并输出计算结果值。
2.如权利要求1所述的基于分布式流式计算引擎的实时风控变量计算方法,其特征在于:用户数据维度信息包括但不限于***消费记录、通话记录。
3.如权利要求2所述的基于分布式流式计算引擎的实时风控变量计算方法,其特征在于:Apache Calcite本身不会存储或处理数据,却是许多数据库内核的基础,使用Calcite来构建自定义的数据库功能,采用Calcite构建数据库表,通过自定义函数(UDF)来扩展它的功能。
4.如权利要求3所述的基于分布式流式计算引擎的实时风控变量计算方法,其特征在于:数据源配置模块,该模块是一个统一数据源配置中心,定义数据源的获取方式和结构化数据的组成,通过此模块配置相应的源数据获取方式及参数、数据的结构信息,在变量计算时,可实现自动化构建临时数据库表;用于变量计算的数据是多维度的,不同维度数据的来源都不一样,源数据存在于数据库中的,也会有不同类型的数据库,即使是同一类型数据库,不同的业务***所使用的数据库也位于不同的服务器上,针对数据库这类的数据源,***支持配置JDBC数据库连接来获取数据,参数包括数据库驱动、资源定位符、用户名及密码,还有一部分数据是外部***以接口方式提供,这种通过接口提供数据的方式,支持配置接口地址、访问授权信息等参数。
5.如权利要求4所述的基于分布式流式计算引擎的实时风控变量计算方法,其特征在于:变量定义模块,在变量定义模块中,设定变量名,并采用SQL语言编写该变量的计算逻辑,即SQL语句,此处的SQL语句,必须符合Apache Calcite的SQL语法,Apache Calcite是一个新的查询引擎,它提供了标准的SQL语言、多种查询优化的能力,同时对标准SQL进行了扩展,支持自定义函数,可用于实现复杂的业务逻辑,相关开发或业务人员开发变量时,编写完SQL语句,保存时会进行SQL语法验证,保存后可进行基于验证数据进行逻辑验证,结果正确无误后,可推送到变量池并立即参与计算。
6.如权利要求5所述的基于分布式流式计算引擎的实时风控变量计算方法,其特征在于:变量计算模块,实际上是一个强大变量计算引擎,具备构建数据库表、执行SQL语句并输出计算结果的能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910027821.7A CN109799976B (zh) | 2019-01-11 | 2019-01-11 | 基于分布式流式计算引擎的实时风控变量计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910027821.7A CN109799976B (zh) | 2019-01-11 | 2019-01-11 | 基于分布式流式计算引擎的实时风控变量计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109799976A true CN109799976A (zh) | 2019-05-24 |
CN109799976B CN109799976B (zh) | 2022-04-01 |
Family
ID=66557084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910027821.7A Active CN109799976B (zh) | 2019-01-11 | 2019-01-11 | 基于分布式流式计算引擎的实时风控变量计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109799976B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240648A (zh) * | 2020-01-20 | 2020-06-05 | 重庆富民银行股份有限公司 | 用于变量的智能管理***及方法 |
CN111311404A (zh) * | 2019-12-18 | 2020-06-19 | 上海金融期货信息技术有限公司 | 一种基于分布式的流式金融交易风控***及方法 |
CN111949829A (zh) * | 2020-09-01 | 2020-11-17 | 辽宁振兴银行股份有限公司 | 一种xml解析和风控变量生成方法 |
CN112116468A (zh) * | 2020-06-24 | 2020-12-22 | 上海金融期货信息技术有限公司 | 一种基于流式计算引擎的结构化风控实现方法和*** |
CN112883049A (zh) * | 2019-11-29 | 2021-06-01 | 北京中关村科金技术有限公司 | 一种数据实时计算方法、装置和存储介质 |
CN113282625A (zh) * | 2021-05-31 | 2021-08-20 | 重庆富民银行股份有限公司 | 一种基于sql的api数据查询和处理***及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078039A1 (en) * | 2000-12-18 | 2002-06-20 | Ncr Corporation By Paul M. Cereghini | Architecture for distributed relational data mining systems |
US20120227055A1 (en) * | 2006-12-04 | 2012-09-06 | International Business Machines Corporation | Workflow Processing System and Method with Database System Support |
CN103942228A (zh) * | 2013-01-23 | 2014-07-23 | 纽海信息技术(上海)有限公司 | 规则引擎、计算方法、业务***及调用方法 |
CN107689999A (zh) * | 2017-09-14 | 2018-02-13 | 北纬通信科技南京有限责任公司 | 一种云平台全自动计算方法及装置 |
CN108984279A (zh) * | 2018-07-02 | 2018-12-11 | 山东汇贸电子口岸有限公司 | 一种面向物联网传统sql开发人员的流式计算方法 |
-
2019
- 2019-01-11 CN CN201910027821.7A patent/CN109799976B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020078039A1 (en) * | 2000-12-18 | 2002-06-20 | Ncr Corporation By Paul M. Cereghini | Architecture for distributed relational data mining systems |
US20120227055A1 (en) * | 2006-12-04 | 2012-09-06 | International Business Machines Corporation | Workflow Processing System and Method with Database System Support |
CN103942228A (zh) * | 2013-01-23 | 2014-07-23 | 纽海信息技术(上海)有限公司 | 规则引擎、计算方法、业务***及调用方法 |
CN107689999A (zh) * | 2017-09-14 | 2018-02-13 | 北纬通信科技南京有限责任公司 | 一种云平台全自动计算方法及装置 |
CN108984279A (zh) * | 2018-07-02 | 2018-12-11 | 山东汇贸电子口岸有限公司 | 一种面向物联网传统sql开发人员的流式计算方法 |
Non-Patent Citations (1)
Title |
---|
周余发: ""分布式数据回放***研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883049A (zh) * | 2019-11-29 | 2021-06-01 | 北京中关村科金技术有限公司 | 一种数据实时计算方法、装置和存储介质 |
CN111311404A (zh) * | 2019-12-18 | 2020-06-19 | 上海金融期货信息技术有限公司 | 一种基于分布式的流式金融交易风控***及方法 |
CN111311404B (zh) * | 2019-12-18 | 2023-10-17 | 上海金融期货信息技术有限公司 | 一种基于分布式的流式金融交易风控***及方法 |
CN111240648A (zh) * | 2020-01-20 | 2020-06-05 | 重庆富民银行股份有限公司 | 用于变量的智能管理***及方法 |
CN111240648B (zh) * | 2020-01-20 | 2023-02-28 | 重庆富民银行股份有限公司 | 用于变量的智能管理***及方法 |
CN112116468A (zh) * | 2020-06-24 | 2020-12-22 | 上海金融期货信息技术有限公司 | 一种基于流式计算引擎的结构化风控实现方法和*** |
CN112116468B (zh) * | 2020-06-24 | 2023-11-21 | 上海金融期货信息技术有限公司 | 一种基于流式计算引擎的结构化风控实现方法和*** |
CN111949829A (zh) * | 2020-09-01 | 2020-11-17 | 辽宁振兴银行股份有限公司 | 一种xml解析和风控变量生成方法 |
CN111949829B (zh) * | 2020-09-01 | 2024-06-07 | 辽宁振兴银行股份有限公司 | 一种xml解析和风控变量生成方法 |
CN113282625A (zh) * | 2021-05-31 | 2021-08-20 | 重庆富民银行股份有限公司 | 一种基于sql的api数据查询和处理***及方法 |
CN113282625B (zh) * | 2021-05-31 | 2022-10-04 | 重庆富民银行股份有限公司 | 一种基于sql的api数据查询和处理***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109799976B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109799976A (zh) | 基于分布式流式计算引擎的实时风控变量计算方法 | |
US20230185790A1 (en) | Dynamic aggregate generation and updating for high performance querying of large datasets | |
US9946780B2 (en) | Interpreting relational database statements using a virtual multidimensional data model | |
Zheng et al. | Construct food safety traceability system for people’s health under the internet of things and big data | |
Kelton | Experimental design for simulation | |
CN105224631B (zh) | 搭建行业开放云的***及编制xbrl财务报表的方法 | |
US11983199B2 (en) | Linking discrete dimensions to enhance dimensional analysis | |
CN105373472B (zh) | 一种基于数据库的统计准确性的测试方法及测试*** | |
CN101957832A (zh) | 对于事件流数据管理的统一的窗口支持 | |
JP2009509271A (ja) | 抽出、変換、及び読み込みタスクの構成に基づくデータプロファイルのための装置及び方法 | |
Dey et al. | Representation of developer expertise in open source software | |
Rabl et al. | Just can't get enough: Synthesizing Big Data | |
US11741111B2 (en) | Machine learning systems architectures for ranking | |
US10929361B2 (en) | Rule-based data source selection | |
Sanyal et al. | Simulation and big data challenges in tuning building energy models | |
WO2021012861A1 (zh) | 数据查询耗时评估方法、装置、计算机设备和存储介质 | |
Balliu et al. | A big data analyzer for large trace logs | |
US20220114483A1 (en) | Unified machine learning feature data pipeline | |
Sanyal et al. | Supercomputer assisted generation of machine learning agents for the calibration of building energy models | |
Muniswamaiah et al. | Data virtualization for decision making in big data | |
Guldner et al. | Exploration and systematic assessment of the resource efficiency of Machine Learning | |
AU2014203340A1 (en) | Correlation of maximum configuration data sets | |
CN108132802B (zh) | 一种配置模型在***开发中的应用方法 | |
Li et al. | [Retracted] Design of Teaching Quality Analysis and Management System for PE Courses Based on Data‐Mining Algorithm | |
CN105373874A (zh) | 一种erp决策支持*** |
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: 20230811 Address after: Room 101, No. 12, Lane 1661, Jialuo Road, Jiading District, Shanghai, 2018 J1469 Patentee after: Xiaohua (Shanghai) Internet Technology Co.,Ltd. Address before: 201808 room 101-16, 12 Lane 1661, Jialuo Road, Jiading District, Shanghai Patentee before: SHANGHAI KAIAN INFORMATION TECHNOLOGY CO.,LTD. |