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可能分别部署在不同的物理服务器上,并且有各自的日志输出.当生产问题来临时,很多时候都需要去各个日志文件中查找可能的异常,相当耗费人力. ...
随机推荐
- ubuntu18.04安装安装JDK
1.前提准备: 下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2. ...
- redux 中间件 --- applyMiddleware 源码解析 + 中间件的实战
前传 中间件的由来 redux的操作的过程,用户操作的时候,我们通过dispatch分发一个action,纯函数reducer检测到该操作,并根据action的type属性,进行相应的运算,返回st ...
- codeforces 983B XOR-pyramid
题意: 定义一个函数f(a): 给出一个数组a,有q个询问,每次询问回答在l到r的区间内,连续子串的f函数的最大值. 思路: 画图,来自codeforces SheepRanger 由此图可知,f(l ...
- PAT1052:Linked List Sorting
1052. Linked List Sorting (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A ...
- Pat1067:Sort with Swap(0,*)
1067. Sort with Swap(0,*) (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue G ...
- 报错 'dict' object has no attribute 'has_key'
has_key方法在python2中是可以使用的,在python3中删除了. 比如: if dict.has_key(word): 改为: if word in dict:
- 进击Node.js基础(二)promise
一.Promise—Promise似乎是ES6中的规范 PROMISE的语言标准,PROMISE/A+规范,如何使用,在什么场景下使用 Promise时JS对异步操作场景提出的解决方案(回调,观察者模 ...
- app后端设计(2)--xmpp的使用(2014.01.14更新)
在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境 ...
- 7.app和app后端的通讯
经常有开发者问:app和后端通讯是用http协议还是私有的协议?是用长连接还是短连接?通过阅读本文,帮你解除上面的疑问. (1)是用http协议还是私有的协议? 在间谍电视剧中,经常能看到间谍们的书信 ...
- 了解tomcat的server.xml文件
<?xml version='1.0' encoding='utf-8'?> <!-- Note: http://201605130349.iteye.com/blog/229898 ...