Docs 菜单
Docs 主页
/

开放式金融数据存储

MongoDB 通过灵活的数据集成、内置安全性和可扩展的金融服务为开放式金融提供支持。

  • 使用案例: 应用程序驱动分析

  • 行业: 金融服务

  • 产品和工具: 聚合管道MongoDB Atlas

开放金融正在改变金融业,实现银行、金融科技公司和第三方提供商之间的无缝数据共享。然而,在整合各种金融数据的同时确保安全性、合规和可扩展性仍然是一个重大挑战。 MongoDB通过以下方式为开放金融奠定了基础:

  • 灵活的文档模型

  • 原生JSON支持

  • 强大的聚合框架

这些功能使机构能够统一多个来源的数据,确保安全合规的数据管理,而无需传统关系数据库的复杂性。

Open Finance 演示(GIF 格式)

图 1. 基于 MongoDB 的开放式金融应用程序

该解决方案演示了一个允许用户安全连接外部银行账户的银行应用程序。

  1. 用户发起连接其外部银行账户的请求。此操作需要明确的用户同意,以确保安全性并合规PSD2 等法规。为了进行身份验证,该应用程序会模拟 OAuth 2.0 并生成令牌,以启用机构之间的安全通信。

  2. 获得授权后,应用程序会使用 API 与外部银行进行通信。这些银行通过其微服务公开账户、交易和余额等财务数据。响应采用JSON格式,确保兼容性和无缝数据交换。

  3. 然后,该应用程序将财务数据推送到MongoDB Atlas。通过文档模型, MongoDB可以处理来自不同银行的不同数据结构。然后,该应用程序可以使用聚合管道来分析和丰富数据,为用户提供整体财务视图,同时使银行能够提供个性化的财务见解。

开放金融架构图

图2.开放金融架构图

在此解决方案中,数据模型模拟现实世界中的财务数据集成。这种方法利用文档模型的灵活性来处理来自不同金融实体的不同数据结构。

Collection
说明

tokens

存储持有者令牌,应用程序使用这些令牌对外部存储体的API请求进行身份验证和授权。

{
"_id": { "$oid": "unique_id" },
"UserName": "string",
"BearerToken": "string",
"TokenDates": {
"CreationDate": { "$date": "ISODate" },
"LastUseDate": { "$date": "ISODate" }
},
}

external_accounts

存储用户关联的外部银行账户信息。

{
"_id": { "$oid": "unique_id" },
"AccountId": "string",
"AccountBank": "string",
"AccountStatus": "string",
"AccountType": "string",
"AccountBalance": "number",
"AccountCurrency": "string",
"AccountDate": {
"OpeningDate": { "$date": "ISODate" }
},
"AccountUser": {
"UserName": "string",
"UserId": { "$oid": "unique_id" }
},
"GreenAccountNarrative": "string"
}

external_products

存储与用户关联的金融产品(例如贷款和抵押贷款)的信息。

{
"_id": { "$oid": "unique_id" },
"ProductId": "string",
"ProductBank": "string",
"ProductStatus": "string",
"ProductType": "string",
"ProductAmount": "number",
"ProductCurrency": "string",
"ProductInterestRate": "number",
"ProductDate": {
"OpeningDate": { "$date": "ISODate" }
},
"ProductCustomer": {
"UserName": "string",
"UserId": { "$oid": "unique_id" }
},
"GreenProductNarrative": "string",
"RepaymentPeriod": "number",
"LoanCollateral": "string"
}

在现实应用程序中,这些集合将涉及更复杂的安全机制和详细信息。每个金融实体都有自己的数据模型定义。

数据映射与关系
该应用程序稍后需要强大的数据映射和关系,以将来自不同金融实体的不同数据模型转换为统一格式。
安全性与合规性
应用程序必须确保数据安全并合规法规,例如一般数据保护法规 (GDPR)、PSD2 和其他当地金融法规。这包括加密、访问权限控制和Atlas 审核跟踪。
可扩展性和性能
应用程序需要一个可以有效处理大量数据的数据模型,同时考虑索引、分片和性能优化。
集成和互操作性
该应用程序实现的 API 和微服务可与各种外部系统集成,确保互操作性和实时数据交换。

借助文档模型的灵活性,该解决方案演示了金融机构如何统一和管理不同的数据源。生产级实施需要解决现实世界金融数据集成的复杂性和细微差别。

此解决方案可通过两个 GitHub 存储库获取:

有关解决方案后端的详细信息,请参阅后端 GitHub存储库。提供开放金融演示存储库。它展示了如何与第三方银行集成和安全数据交换。 MongoDB充当中央数据存储。

要构建解决方案,请完成以下步骤:

1

在 MongoDB Atlas 中创建一个名为 open_finance 的新数据库。然后添加三个集合:

  • tokens

  • external_accounts

  • external_products

2

将示例数据从 /backend/data/sample目录导入到相应的集合中。

3

创建一个具有 readWrite 访问权限的新用户,以便安全地管理 open_finance 数据库中的数据。

4

将数据库凭证和API源添加到 .env文件中。

5
  1. 使用 Poetry 设置虚拟环境

  2. 安装依赖项

  3. 使用 Uvicorn 启动后端

  4. 确保服务在用于API通信的正确端口上运行

GitHub 上的前端存储库提供了此解决方案的用户界面。这些组件被设计为微服务。用户界面存储库充当主中心,提供所有集成服务的概述。

  • 实施中央数据存储:使用MongoDB作为中央数据存储来支持开放金融生态系统。

  • 安全的数据管理: MongoDB通过内置加密、精细的访问权限控制和高可用性提供安全的数据管理。这有助于组织保护敏感信息并遵守监管要求。

  • 提供个性化见解:使用 MongoDB 的聚合管道分析客户数据,为用户提供定制的财务见解。

  • Luis Pazmino Diaz, MongoDB

  • Ainhoa Mugica,MongoDB

  • Julian Boronat,MongoDB

  • Andrea Alaman Calderon, MongoDB

  • 实时银行卡欺诈解决方案加速器

  • 支付现代化解决方案加速器

  • MongoDB 和 Hasura 用于现代金融科技服务

后退

现代金融科技服务

在此页面上