目前,依靠“手工人力”的电子表格数据治理模式逐渐被“自动智能”的专业工具取代。数据管理员、业务分析师开始采用“平台工具”来梳理主数据、元数据,构建模型和管控质量等。

以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的同步情况的更多相关文章

  1. 如何统一管理单个任务下所有API的同步情况?

    1. 一分钟完成单个API配置 单个API的配置包含:API名称.URL地址.请求方式.参数设置.自定义高级设置. 参数允许用户填写:Text.WebService.Timestamp.DependO ...

  2. 如何统一管理单个任务下所有API的同步情况?

    如何统一管理单个任务下所有API的同步情况 1. 一分钟完成单个API配置 单个API的配置包含:API名称.URL地址.请求方式.参数设置.自定义高级设置. 参数允许用户填写:Text.WebSer ...

  3. Ext.net 异常统一管理,铥掉可恶的 Request Failure

    Ext.net 异常统一管理,铥掉可恶的 Request Failure 看着这样的框框是不是很不爽 灭他.也不难.. .如果全部页面都有继承一个自定义的父类 ..那整个项目代码量就只有几行了.. 单 ...

  4. DataPipeline丨「自定义」数据源,解决复杂请求逻辑外部数据获取难题

    A公司专注为各种规模和复杂程度的金融投资机构提供一体化投资管理系统,系统主要由投资组合管理.交易执行管理.实时监控管理.风险管理等功能模块构成.随着企业管理产品数量的不断增多,大量数据分散在各券商系统 ...

  5. 利用log4j+mongodb实现分布式系统中日志统一管理

    背景     在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数 ...

  6. 项目中angular js的接口url统一管理

    为了防止环境改变时需要修改多处接口的url,项目中用到了一个config.json文件来统一管理url: 在src下建立config文件夹,创建config.json文件,主要内容如下: { &quo ...

  7. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  8. 用slf4j统一管理日志总结

    用slf4j统一管理日志总结 参考网页:http://www.slf4j.org/ 一.使用slf4j统一管理并配置统一使用log4j日志 使用的jar:(slf4j-api-1.7.5.jar,jc ...

  9. 玩转mongodb(九):通过log4jmongo来实现分布式系统的日志统一管理

    背景 在分布式系统中,我们有多个web app,这些web app可能分别部署在不同的物理服务器上,并且有各自的日志输出.当生产问题来临时,很多时候都需要去各个日志文件中查找可能的异常,相当耗费人力. ...

随机推荐

  1. Web3与智能合约交互实战

    写在前面 在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互.这种使用命令行交互的方法虽然让很多程序员感到兴奋(黑客帝国的既视感?),但不可能指望普通用户通过命令行使用Dap ...

  2. mysql中float类型使用总结

    对于单精度浮点数Float:  当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成dou ...

  3. System.nanoTime理解

    JDK1.5之后java中的计时给出了更精确的方法:System.nanoTime(),输出的精度是纳秒级别,这个给一些性能测试提供了更准确的参考. 但是这个方法有个需要注意的地方,不能用来计算今天是 ...

  4. CF泛做

    CF Rd478 Div2 A Aramic script 题意:给定几个字符串,去重后,求种类 思路:直接map乱搞 #include<bits/stdc++.h> using name ...

  5. 浏览器中缓存Cache

        在请求服务器资源时,服务器会将图片.网页文件等资源保存在客户端的临时文件夹中,称为缓存,当浏览器向服务器请求相同的资源时,如果与服务器版本一致,则从缓存读取     Cookie:服务器存放在 ...

  6. this.state.menuList.toArray()[0].get('id')

    用toArray()处理传过来的list用get(")获取里面的值 而我用的是attributes得方法

  7. js中的拷贝问题

    浅拷贝的实现 // 浅拷贝函数 var dad = {name:'chen',age:18}; var son = {sex:'男'}; function clone(dad,son){ var so ...

  8. +function ($) { "use strict";}(window.jQuery);全面分析

    +function ($) { "use strict"; }(window.jQuery); 怎么理解? 匿名函数闭包 我们先来理一理函数表达式和函数声明的区别 函数表达式: 函 ...

  9. ZooKeeper 安装、配置

    http://blog.csdn.net/franklysun/article/details/6424582 如题本文介绍的是ZooKeeper 的安装和配置过程,此过程非常简单,关键是如何应用(将 ...

  10. 使用java检测网络连接状况

    windows中可以通过在cmd中使用ping命令来检测网络连接状况,如下: 网络连接正常时: 网络未连接时: 在java中可以通过调用ping命令来判断网络是否连接正常: package modul ...