1

tl;博士

在 Python 中是否有一种高效的数据完整性验证方法?

概要:

我正在开发一个框架,该框架(A)从可由开发人员构建的多个 API 服务中摄取相似类型的数据,(B)允许用户/开发人员创建与数据管道的集成,然后(C)返回交互使用相同或新的 API 服务。

数据流: A -> B -> C

该框架提供的3 个主要设施是:

  1. 给定 API 的共享上下文(允许速率限制设施、帐户凭据等)
  2. 各种数据集成组件的共享上下文(允许一个参与者为管道中的后续参与者生成有用的输出)。
  3. 从 API 传入的实际数据(可能是 websocket 或定期/计划的 API 响应)。

要求:

有了这个,我需要3类型的数据。在每个集合中,数据将具有以下要求:

  1. type包含任何传入 JSON 结构的单个 Python 。
  2. 对象应该是不可变的。
  3. 需要表现出色。目标是尽可能接近实时的 API 交互。

很高兴有:

  1. 在分组或定义文件中简单地定义类型的能力。
  2. 属性应该可以通过名称、键等来引用。
  3. 应该能够有效地序列化到 JSON 或从 JSON 序列化。
  4. 这里的安全性也是一个问题——我们希望相信数据没有被操纵,并且在某些情况下我们希望过滤掉敏感值。

现在在哪里:

这个项目一开始是namedtuples用来翻译dict类似 JSON 结构的,但它需要相当多的扩展。例如:虽然两个不同的 API 具有大部分相似的对象,但该数据的参与者需要它是一致的。这需要为每个 API 建立一个翻译层,为每个 API 创建一组额外的对象定义,并且使对namedtuples库的需求变得更加复杂和繁琐。

下一步对我来说,要么创建一个metaclass基于预定义结构生成不可变对象的类,要么创建一个子类namedtuples,添加几个辅助方法。

有了这个,我想在我推出自己的想法之前,我会联系社区,看看你们中是否有人有任何想法。

4

0 回答 0