DataPipeline丨金融行业如何统一管理单个任务下所有API的同步情况
目前,依靠“手工人力”的电子表格数据治理模式逐渐被“自动智能”的专业工具取代。数据管理员、业务分析师开始采用“平台工具”来梳理主数据、元数据,构建模型和管控质量等。
以A公司为例,在此之前,其主要通过编写程序的方式定制化开发每个交易所的API。随着需要接入的交易所和用户量逐渐增多,且交易所的API会不断迭代,使得A公司面临许多问题:
需要针对每个API编写程序,且每个API会不断地迭代,导致维护成本巨大。
需要具备动态调整各个交易所API请求逻辑的能力。
需要具备实时接入新的API的能力。
监控与维护这套体系的成本较大。
本文将从A公司的具体背景着手,详细解读:应该如何借助工具解决A公司每天的数据抽取工作。
一、A公司背景
A公司专注为各种规模和复杂程度的金融投资机构提供一体化投资管理系统,系统主要由投资组合管理、交易执行管理、实时监控管理、风险管理、绩效归因、投资分析等功能模块构成。
通过产品持仓解析、敞口分析、绩效归因与风格分析、产品风险管理分析、情景压力测试分析,交易成本分析到FOF投资分析,自动生成投资业绩报告,为基金经理、管理者和投资者提供多维度、高价值参考数据,为合理决策提供可靠依据,大幅度减轻基金经理工作量。
然而,随着机构管理产品数量的不断增多,大量数据分散在各券商/系统中且数据存储格式各异,难以管理和利用。
为了帮助投资机构最大限度地提高投资决策和运营效率,A公司需要实时监控自己的用户在各个交易平台的基本信息、余额、订单交易情况,并需要根据分析结果及时给出投资建议。
二、如何借助工具解决数据抽取问题
随着技术的日渐成熟,相关平台工具系统的技术局限性如效率低、差错率高、扩展性差等将被一一攻破,能够更加有效地帮助企业解放人力,提高效率和精准度。
API数据源可通过更友好的方式解决A公司在对接几十个交易API的过程中遇到的上述需求场景:
1. 一分钟完成单个API配置
单个API的配置包含:API名称、URL地址、请求方式、参数设置、自定义高级设置。
参数允许用户填写:Text、WebService、Timestamp、DependOn。
若用户的value是一个数值或者静态数组则选择Text即可,若某一个key的value是动态的,可选择Web Service。
A公司的api-key还有symbol(或者signature)是动态的,用户无法给出静态值,所以可通过该功能实现动态传参。
用户可根据每个API的特殊情况完成自定义高级设置:若交易所API有请求频率的限制,可使用「最大请求频率」功能设置。若参数中需要指定分页参数,也可在高级设置中完成。
DataPipeline提供了指定「签名设置」,以及分隔符等其他自定义设置,目的是满足各个交易所的多种情况。
2. 允许用户在单个任务添加多个API,统一管理一个交易所的相关API
可同时(定时)请求多个API。
可统一管理单个任务下所有API的同步情况。
可动态修改API的任何配置项。
若某个API应用于多个任务时,只要修改一个指定的API即可完成所有任务下同一个API的配置。
3. 自定义目标库表结构
用户可以根据需求指定目标库的表名称以及每个字段的所有属性。
DataPipeline会自动检查目标库是否存在重名的情况。
可根据业务需求完成自定义字段内容,包括:字段名称、字段类型、精度、标度、主键以及其他。
4. 可视化调试解析逻辑与解析结果
DataPipeline提供可视化调试工具,内容包括:清洗脚本编辑器、样例数据栏、运行结果栏。
上半部分为解析脚本编辑器,用户可根据自己的解析逻辑完成解析脚本的录入与修改。左下半部分为样例数据栏,系统会自动获取该目的地表对应的API数据,便于用户编辑解析逻辑。
点击「试运行」,系统会立即返回样例数据经过解析脚本后的结果。若运行结果符合用户预期(与设置的目标库表结构一致),则点击「保存」即可。
5. 运行与监控API任务
当用户完成API配置以及目标库表结构设计,则可以「激活任务」。
DataPipeline 在任务设置上会提供更多个性化设置(定时、读写速率、并发限制、预警通知、错误队列等)。
用户在任务详情页可以很直观地看到每个任务的同步情况,帮助用户降低获取各个交易所API数据的开发和运维成本。
数据作为资产,对于其管理不是一劳永逸、一蹴而就的。在技术平台方面,企业需要适时借助先进的技术提高运营效率,最大限度地释放数据价值实现数据变现。
DataPipeline丨金融行业如何统一管理单个任务下所有API的同步情况的更多相关文章
- 如何统一管理单个任务下所有API的同步情况?
1. 一分钟完成单个API配置 单个API的配置包含:API名称.URL地址.请求方式.参数设置.自定义高级设置. 参数允许用户填写:Text.WebService.Timestamp.DependO ...
- 如何统一管理单个任务下所有API的同步情况?
如何统一管理单个任务下所有API的同步情况 1. 一分钟完成单个API配置 单个API的配置包含:API名称.URL地址.请求方式.参数设置.自定义高级设置. 参数允许用户填写:Text.WebSer ...
- Ext.net 异常统一管理,铥掉可恶的 Request Failure
Ext.net 异常统一管理,铥掉可恶的 Request Failure 看着这样的框框是不是很不爽 灭他.也不难.. .如果全部页面都有继承一个自定义的父类 ..那整个项目代码量就只有几行了.. 单 ...
- DataPipeline丨「自定义」数据源,解决复杂请求逻辑外部数据获取难题
A公司专注为各种规模和复杂程度的金融投资机构提供一体化投资管理系统,系统主要由投资组合管理.交易执行管理.实时监控管理.风险管理等功能模块构成.随着企业管理产品数量的不断增多,大量数据分散在各券商系统 ...
- 利用log4j+mongodb实现分布式系统中日志统一管理
背景 在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ...
- 项目中angular js的接口url统一管理
为了防止环境改变时需要修改多处接口的url,项目中用到了一个config.json文件来统一管理url: 在src下建立config文件夹,创建config.json文件,主要内容如下: { &quo ...
- 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...
- 用slf4j统一管理日志总结
用slf4j统一管理日志总结 参考网页:http://www.slf4j.org/ 一.使用slf4j统一管理并配置统一使用log4j日志 使用的jar:(slf4j-api-1.7.5.jar,jc ...
- 玩转mongodb(九):通过log4jmongo来实现分布式系统的日志统一管理
背景 在分布式系统中,我们有多个web app,这些web app可能分别部署在不同的物理服务器上,并且有各自的日志输出.当生产问题来临时,很多时候都需要去各个日志文件中查找可能的异常,相当耗费人力. ...
随机推荐
- 图灵程序设计丛书(SQL必知必会)笔记
SQL必知必会 第二课:检索数据 1.分页 (1).SQL Server 栗子 : select top 2 columns from tableName (2).Oracle 栗子 :select ...
- css的input文本框的 propertychange、focus、blur
1.输入框检查的需求--即时搜索--解决方案 当input的value发生变化就会发生,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化,propertychange,只要当前对象属性发生改变.(I ...
- PAT1079 :Total Sales of Supply Chain
1079. Total Sales of Supply Chain (25) 时间限制 250 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHE ...
- java thread yield 的设计目的是什么?
如题,java thread yield 的设计目的是什么?有什么实际应用场景吗? Ps:它的作用是理解的,和 join 等的区别也理解.就是个人感觉这个设计有点鸡肋(可能是个人读书太少...) It ...
- iPhone越狱
手机越狱 常用工具:PP越狱助手.盘古越狱.iTunes 如果手机第一次越狱使用pp越狱助手成功率比较高 iPhone固件下载地址http://iphone.91.com/fw/iphone5/ 具体 ...
- 配置windbg遇到的问题
这几天在学用windbg分析进程的PTE和PDE内容,不过在配置windbg的过程中就遇到了不少问题.以下是步骤,可供参考. 1. 下载windbg,建议选择32位的.然后去 http://www.m ...
- python 基础语法学习
.注释 python单行注释以#开头 如:#!/usr/bin/env python3 #查找运行环境 多行注释有' ' '和" " " .python最具有特色的是使用 ...
- python函数注释, :与 ->
python函数注释, :与 -> 如图:add1函数中的:意思是:函数中的参数说明 add2函数中:->意思是:函数的返回值为整型 这两种方法都是函数的注释方法,具体使用时要别人能 ...
- 你不知道的JavaScript--Item13 理解 prototype, getPrototypeOf 和__proto__
1.深入理解prototype, getPrototypeOf和_ proto _ prototype,getPropertyOf和 _ proto _ 是三个用来访问prototype的方法.它们的 ...
- 终于将 SQL Server 成功迁移至 MySQL8.0 啦!!!
之前一直使用 SQL Server 作为主数据库而不是 MySQL ,原因之一是单机 SQL Server 性能比 MySQL 强很多,另一个原因是之前客户的系统管理员大多只有 SQL Server ...