使用分布式分类帐进行数据处理的系统和方法与流程

文档序号:18192296发布日期:2019-07-17 05:38阅读:314来源:国知局
使用分布式分类帐进行数据处理的系统和方法与流程

本申请要求于2016年9月21日提交的美国临时专利申请号62/397,911的优先权。上述临时申请的全部内容在此通过引用并入本发明作为参考。

发明背景。

发明领域

本发明所述的某些实施例可涉及使用分布式分类帐进行数据处理的系统和方法。更具体地,本发明所述的某些实施方案可涉及使用区块链来提供与数据交易相关联的元数据的可审计的、可见的记录。

相关现有技术的描述

云计算的兴起使得高效存储、处理以及处理大量数据的能力得到极大提升。云计算的基本原则之一是可以存储和/或处理数据而不受物理或地理边界的限制。因此,企业可以访问“云”,而非在本地拥有专用服务器集合,而“云”包括世界各地的数据中心。云计算的好处包括降低数据存储成本、多地理访问以及提高生产力。

然而,当前云基础设施的一个缺点是存储的数据可能会受到数据安全性方面的破坏。譬如,在许多情况下,黑客(或未授权用户)已获得了对云中的敏感数据(例如,信用卡号、财务数据等)的访问权。其他安全风险包括授权用户(例如,在辞职之前下载竞争数据的雇员)不正当地使用数据,渗透云存储的恶意软件攻击等。

当前云基础设施的另一个缺点是某些政府数据主权法规可能危及某些地区存储的数据。为了降低这种风险,一些国家制定了法规,要求在该国家的服务器上维护某些数据(例如,公民的个人数据)。

虽然可通过添加额外的安全层或验证层来提高数据安全性,但这些额外的措施会降低云的效率。同样,尽管可通过仅在某些国家维护云服务器来解决数据主权问题,但这需要继续审查新的法规等。此外,在传统云基础设施中存储数据不允许进行审计,因此对大多数企业和政府而言是不可接受的。例如,亚马逊(amazon)为美国政府建立了“私有云”来解决这一缺陷。

因此,需要用于在云中处理和存储数据的改进的系统和方法。

发明概述

根据第一实施方案,用于在集成云计算网络中使用分布式分类账来处理数据的方法可包括在网络节点处创建与所述集成云计算网络的客户端相关联的交易的分布式分类账集合。所述方法还可包括根据一系列预定义规则存储和处理与所述交易相对应的数据。所述方法还可包括验证所述交易以查看所述交易是否符合所述一系列预定义规则。此外,所述方法可包括针对每个有效交易,向所述分布式分类账集合的分类账中添加条目,以及针对每个无效交易,向所述分布式分类账集合的所述分类账中添加侧分支。并且,所述方法可包括将所述分布式分类账集合分发到与所述客户端相关联的端点。

在所述方法的实施方案中,所述分布式分类账集合的每个分布式分类账包含特定于所述客户端的唯一根密钥。在所述方法的另一实施方案中,所述一系列预定义规则可包括加密规则类,地理规则类,寿命规则类,持久性规则类,或保留规则类。在所述方法的进一步实施方案中,所述方法可包括在单独的分类账中维护与所述客户端的所述交易相对应的所述数据以及维护与至少另一客户端的其他交易相对应的数据。根据所述方法的另一实施方案,所述方法可包括通过实施对象查询语言模块、哈希/散列(hash)树模块、和区块链模块来管理所述分布式分类账集合。在所述方法的其他实施方案,所述对象查询语言模块可配置为接收用于所述数据处理的一系列规则,所述哈希树模块可配置为生成哈希树结构,所述哈希树结构记录关于每个交易的信息,和所述区块链模块可配置为生成共享分类账,所述共享分类账包括表示每个交易的条目。

第二实施方案可涉及设备。所述设备可包括至少一个处理器,至少一个存储器,所述存储器包括计算机程序代码。所述至少一个存储器和所述计算机程序代码配置为同所述至少一个处理器一起,使所述设备至少:在网络节点处创建与所述集成云计算网络的客户端相关联的交易的分布式分类帐集合,根据一系列预定义规则存储和处理与所述交易相对应的数据,验证所述交易以查看所述交易是否符合所述一系列预定义规则;针对每个有效交易,向所述分布式分类账集合的分类账中添加条目,针对每个无效交易,向所述分布式分类账集合的所述分类账中添加侧分支,和将所述分布式分类账集合分发到与所述客户端相关联的端点。

在所述设备的实施方案中,所述分布式分类账集合的每个分布式分类账可包括特定于所述客户端的唯一根密钥。在所述设备的另一实施方案中,所述一系列预定义规则包含加密规则类,地理规则类,寿命规则类,持久性规则类,或保留规则类。在所述设备的进一步实施方案中,所述至少一个存储器和所述计算机程序代码可进一步配置为同所述至少一个处理器一起,使所述设备在单独的分类账中至少维护与所述客户端的所述交易相对应的所述数据以及维护与至少另一客户端的其他交易相对应的数据。

在所述设备的另一实施方案中,所述至少一个存储器和所述计算机程序代码可进一步配置为同所述至少一个处理器一起,使所述设备通过实施对象查询语言模块、哈希树模块、和区块链模块至少管理所述分布式分类账集合。根据所述设备的另一实施方案,所述对象查询语言模块可配置为接收用于所述数据处理的一系列规则,所述哈希树模块可配置为生成哈希树结构,所述哈希树结构记录关于每个交易的信息,和所述区块链模块可配置为生成共享分类账,所述共享分类账包括表示每个交易的条目。

第三实施方案涉及计算机程序。所述计算机程序可体现在非暂时性计算机可读介质上,所述计算机程序在由处理器执行时,使所述处理器:在网络节点处创建与所述集成云计算网络的客户端相关联的交易的分布式分类帐集合,根据一系列预定义规则存储和处理与所述交易相对应的数据,验证所述交易以查看所述交易是否符合所述一系列预定义规则,针对每个有效交易,向所述分布式分类账集合的分类账中添加条目,针对每个无效交易,向所述分布式分类账集合的所述分类账中添加侧分支,和将所述分布式分类账集合分发到与所述客户端相关联的端点。

在所述计算机程序的实施方案中,所述分布式分类账集合的每个分布式分类账可括含特定于所述客户端的唯一根密钥。在所述计算机程序的另一实施方案中,所述一系列预定义规则可包含加密规则类,地理规则类,寿命规则类,持久性规则类,或保留规则类。在所述计算机程序的另一实施方案中,所述计算机程序在由处理器执行时,可进一步使所述处理器在单独的分类账中维护与所述客户端的所述交易相对应的所述数据以及维护与至少另一客户端的其他交易相对应的数据。根据所述计算机程序的另一实施方案,所述计算机程序在由处理器执行时,可进一步使所述处理器通过实施对象查询语言模块、哈希树模块、和区块链模块来管理所述分布式分类账集合。在所述计算机程序的另一实施方案中,所述对象查询语言模块可配置为接收用于所述数据处理的一系列规则,所述哈希树模块可配置为生成哈希树结构,所述哈希树结构记录关于每个交易的信息,和所述区块链模块可配置为生成共享分类账,所述共享分类账包括表示每个交易的条目。

附图简要说明

为了正确理解本发明,应参考附图,其中:

图1示出了根据某些实施方案的区块链云集成的部署架构。

图2是示出了根据某些实施方案的软件堆栈的逻辑图。

图3是根据某些实施方案的用于数据交易的区块链实施的示意图。

图4是根据某些实施方案的哈希(或merkle)树的示意图。

图5是根据某些实施方案的哈希(或merkle)树的另一示意图。

图6-10描绘了根据某些实施方案的对象查询语言模块的策略、操作和操作数。

图11示出了根据某些实施方案的方法的流程图。

图12示出了根据某些实施方案的设备。

发明详述

贯穿本说明书所述的本发明的特征、结构或特点可在一个或多个实施方案中以任何合适的方式进行组合。譬如,在整个本说明书中使用短语“某些实施方案”、“一些实施方案”或其他类似语言,是指与所述实施方案有关的描述的特定特征、结构或特点可包括在本发明的至少一个实施方案中。

在以下说明性实施方案的详细描述中,参考构成本发明一部分的附图。足够详细地描述了所述这些实施方案以使本领域技术人员能够实践本发明,并且应当理解,在不脱离本发明精神或范围的情况下,可利用其他实施方案并且可对本发明进行逻辑或结构上的改变。为了避免使得本领域技术人员实施本发明所述实施方案而不需要的细节,所述描述可省略本领域技术人员已知的某些信息。因此,以下详细描述不应被视为具有限制意义。

本发明使用的单数形式“一个/一种”和“所述”旨在也包括复数形式,除非本发明上下文中另有说明。术语“包含”、“包括”、“具有”等指定所述特征、步骤、操作、元件、组件等的存在,但不排除存在或添加一个或多个其他特征、步骤、操作、元件、组件或其组合。

本发明所述的实施方案解决了系统根据数据主权法规保持数据完整性的需求,并提供了核实和验证涉及数据存储和/或处理的交易的简单有效方式。根据某些实施方案,本发明可提供方法,以满足企业和政府需求的方式解决数据可靠性、可用性以及可扩展性的问题。具有适当的基于规则和应用程序编程接口(api)的分布式分类帐的实现可获得此级别的交易透明性和可审计性。此外,可通过为每个客户端提供唯一的、单独签名的分类账以及跟踪/启用跨分类账活动的中央分类账来实现可扩展性。

在一些实施方案,方法可包括建立分布式分类账集合。每个分布式分类帐(或区块链)可包括特定于所述客户端的唯一根密钥。可生成用于数据处理和/或操纵的一系列规则,并且可根据此类规则来处理所述数据。可针对每个交易向所述分类帐中添加条目,和可将所述分类帐分发到与所述客户端相关联的那些端点。在无效(或未授权)交易的情况下,可向所述分类账中添加“侧分支”(或“故障分支”),从而容易地将所述交易识别为对所述客户端无效。

在一些实施方案,设备可包括区块链数据处理程序,所述区块链数据处理程序配置为管理用于数据交易的分布式分类账,如本发明所述。所述区块链数据处理程序可在存储器或处理器中的至少一个中实施,并可包括对象查询语言(oql)模块、哈希(或merkle)树模块和区块链模块。所述对象查询语言模块可配置为接收用于处理数据的一系列规则。此外,所述哈希树模块可配置为生成哈希树结构,所述哈希树结构记录关于每个交易的信息。所述哈希树模块可通过生成与每个有效交易相关联的哈希值(或标识符)来启用与每个数据交易相关的“存在证明”。所述哈希树模块还从所述链生成“分支”以隔离和/或识别任何未授权的交易(或故障)。在某些实施方案,所述区块链模块可配置为生成共享分类账,所述共享分类账包括表示每个交易的条目或“块”。在其他实施方案,所述共享分类帐提供所有交易的不可变的、可审计的记录。

根据某些实施方案,可修改所述哈希树模块,其中在分类账块发生损坏的情况下,通过机器错误或诸如黑客的外部压力,所述块哈希值不再有效。此时,可选择销毁所述无效的分类帐块并将其替换为有效的分类帐块。在某些实施方案,其可通过编程方式或通过从所述对象存储库中提取所述分类帐块来完成。或者,可通过为所述分类帐块创建新的唯一根,并将所述交易隔离到单独的链来解决此问题。这些交易可单独保存,数据访问请求可发送至蜜罐。利用此种修改的哈希树模块,可提供足够的时间来识别和定位黑客或威胁,并防止分类账块的任何进一步损坏。

在一些实施方案,存储表示由处理器执行的指令的代码的非暂时性处理器可读介质包括代码,所述代码用于使所述处理器确定同与用户相关的数据交易相关联的接收信息。所述代码还包括用于确定所述交易是否与规则集合一致和/或符合规则集合的代码。在某些实施方案,可包括条目集合的条目(或“块”)可在确定所述交易符合所述规则集合时被添加到与所述用户相关联的链中。所述代码还可包括当确定所述交易不符合所述规则集合时,则从所述主链生成侧链的代码。在某些实施方案,如果所述用户是有效的授权用户,但不允许交易,则将拒绝所述交易或交易请求,并且可发送错误信息。在实施方案中,所述错误信息可包括“不允许”的错误信息。

根据某些实施方案,区块链是适用于任何在线数字交易的方法。所述区块链方法学涉及创建分布在网络参与者之间的数字分类帐。所述参与者能够根据加密规则来操纵与交易相关的分类帐。因此,可在不需要可信第三方的情况下验证每个交易的有效性。在金融交易(例如,比特币)的背景下,区块链方法学避免了对可信第三方(例如银行或贝宝(paypal))的需要来验证每个交易。相反,通过密码学(即,数字签名)来保护和/或验证每个交易。在验证之后,将每个交易记录到所述分类账上,然后与所有网络参与者共享。换言之,每个交易的记录被添加为所述“链”的新“块”,然后与所有参与者共享。

根据某些实施方案,所述分类帐可包括元数据。为了安全起见,所述元数据可以用单独的密钥集合加密,并且以一种不可能知道一个密钥空间在何处结束而另一个密钥空间在何处开始的方式存储。在某些实施方案,每个带签名块中的元数据可以与所述数据本身一样不可变,除了可以应用掩码之外。例如,在某些实施方案,如果更新元数据,则可向非审计用户仅显示最后更新,而不显示所有以前的更新。在其他实施方案,元数据可分解为字段或类别。一类可以是系统生成的数据,例如,在服务器丢失之后的子组件恢复。另一类可以是用户生成的元数据。用户生成的元数据可存储在给定对象id的所述分类帐中的新记录中的密钥值对中。因此,根据某些实施方案,可在以下条件下更新所述分类帐:写入(新数据或元数据更新);以及对所述数据的任何访问(用户请求或机器生成)。

在某些实施方案,实施所述哈希树模块或区块链模块的服务可以不同的方式分解。例如,根据某些实施方案,可将服务分解为数据服务和元数据服务。数据服务可利用oql来应用布局规则(数据主权和持久性,例如,副本或擦除编码的)。然后可将这些布局作为对象交易的一部分提交。根据某些实施方案,可将所述元数据收集到交易中,所述交易被合并到未决交易块中。可将所述未决交易块与所述链式分类帐块的当前末端一起进行散列,以形成所述链式分类帐块的新末端。此外,每个新的分类帐块可具有指向前一个块和未决交易块的指针。另外,在某些实施方案,可在创建merkel树时将所述分类帐块添加到所述merkel树,从而创建链接证明的验证。因此,如果修改了块,则可立即更改所述merkel树。如此,可检测到任何错误。

根据某些实施方案,可将所述merkel树分割成越来越小的树以查找所述错误的确切位置。纠正所述错误可以编程方式来完成,也可作为被视为数据(不可变的)的分类帐块来完成,其中可从数据存储中检索替换块。

图1是示出根据某些实施方案的区块链云集成系统(或网络)的部署架构的示意图。所述区块链网络可包括其上示出的设备和/或模块。根据某些实施方案,所述部署架构可包括客户端api100。所述客户端api可提供对管理、元数据操作和数据操作的访问。此外,规则可以应用于图1所示的部署架构的组件,使得可允许来自给定实例的这些操作动作的子集。此举可创建访问位置感知或协议感知限制。其还可允许创建受限制的用户权限。譬如,在某些实施方案,可允许用户仅输入数据而不能读取数据。甚至,在其他实施方案,用户可具有使用数据的权限,但不具有进行管理配置更改的权限。

在某些实施方案,图1所示的部署架构还可包括一个或多个区块链处理程序105。根据某些实施方案,所述区块链处理程序105可以是具有相关存储的物理机器。在其他实施方案,所述区块链处理程序105可以是虚拟机。根据某些实施方案,所述区块链处理程序105可以充当读取高速缓存,并有助于为对象存储进行数据分段。

图1所示的部署架构还可包括分段单元110。根据某些实施方案,所述分段单元可通过以低延迟地理分布方式使副本可用并且优化其与所述区块链处理程序105之间的带宽,来帮助所述区块链处理程序访问对象存储。所述分段单元110还可彼此协同工作以使端点的体验更好,同时减少网络传输的负担。

图1中还示出了一个或多个数据存储节点115。所述数据存储节点115可分为针对长期耐久性而优化的多个类别。例如,所述这些类别中的一些可用于活跃的交易,因此其可以是快速的,而其他类别可用于存档存储。在其他实施方案,所述数据存储节点115可以位于外部云上。

图1所示的部署架构还可包括认证和同步服务节点120。所述认证和同步服务节点120可负责确保准确并可靠地更新分类帐。所述认证和同步服务节点120还可确保为热块创建副本分类帐,并且确保用户正在访问他们被允许访问的组件。譬如,如果从多个位置或某个位置的多个客户端访问分类帐,则所述热块可能需要创建副本以便为io请求提供服务。

在一些实施方案,单个实体(或服务提供商)可维护对整个网络的所有权和/或控制权。换言之,在一些实施方案,单个实体(或服务提供商)可维护对所示的所有设备和/或模块的所有权和/或控制权,除了客户端端点(例如,在图1中标识为“客户端api”)。以此种方式,本发明所述的数据管理方法不易受到未授权“中间人/中间商”等的破坏。因此,本发明所述的系统和方法与对等文件共享、使用公共的“未使用”空间的分散存储等不同。

如图所示,根据某些实施方案的系统可包括一个或多个区块链数据处理程序105,所述区块链数据处理程序105配置为执行本发明所述的任何操作。譬如,在一些实施方案,所述区块链数据处理程序105(或整个区块链系统)可包括对象查询语言(oql)模块、哈希(或merkle)树模块和区块链模块。所述对象查询语言模块可执行多种功能,包括但不限于:

•存储、创建和/或维护对象、命名空间、集合以及数据集行为的规则

•配置和管理

•应用程序集成点

•命名空间定义

•用户创建和角色分配

•启用用户定义的元数据的早期和晚期绑定。

根据某些实施方案,所述哈希(或merkle)树模块可执行多种功能,包括但不限于:

•预取/缓存协调

•自动一致性检查/轻量级一致性检查

•综合能力审计

•用户定义的元数据记录

•细粒度的访问控制

•灵活的叶子节点列表(灵活的副本或分片策略)

•自动数据局部性-用于任何类型的数据主权,特定地点的存储或仅从特定端点访问

•过渡性一致的修改/报告/审计/测试

•不变性证明。

在其他实施方案,所述哈希(或merkle)树模块可执行多种功能,包括但不限于:

•保证最终的一致性

•综合审计能力

•安全、细粒度的共享

•保证自治节点之间的写入一致性

•协助审计规则的永久分类帐记录

•访问执行

•多租户隔离

•消费者对风险和权衡的可见性。

根据某些实施方案,图1所示的设备和模块,例如区块链处理程序105和图1-5中所示的其他节点,均可通过任何合适的网络进行互连。所述网络可以是作为有线网络和/或无线网络实现的任何类型的网络(例如,局域网(lan)、广域网(wan)、虚拟网络和电信网络)。如本发明进一步详细描述的,在一些实施方案,例如,所述设备和/或模块可经由内联网、因特网服务提供商(isp)和因特网、蜂窝网等互相连接。

图2示出了根据某些实施方案的软件架构。所述软件架构可包括客户端数据处理程序200。在某些实施方案,所述客户端数据处理程序200可以独立地扩展,并可用于管理客户端连接并为其唯一的生命周期准备数据和元数据。所述软件架构还可包括规则代理205,其可以是用于建立用户、命名空间和数据管道的单独接口。

根据某些实施方案,所述软件架构还可包括安全层210。所述安全层210可以是允许扩展安全性和认证的单独层,以及被重定向到蜜罐的恶意用户的位置。此外,所述软件架构可包括策略实施层215。在某些实施方案,所述策略实施层可确保所述交易是有效的,并且确保它们不违反用于处理区块链数据的任何现有规则。图2中还示出了配置引擎220。根据某些实施方案,所述配置引擎220可负责将所述交易路由到适当的存储节点225。此外,当策略被更改时,所述配置引擎220可在所述适当的存储节点225上重新布局数据。

图2所示的软件架构还可包括一个或多个存储节点225。根据某些实施方案,所述存储节点225可以是具有不同设计点的物理节点。例如,一些存储节点225可进行优化用于长期持久存储,而其他存储节点225可进行优化用于活动处理。图2所示的软件架构还可包括一个或多个分类帐230。根据某些实施方案,所述分类帐230可以是独立的区块链层,所述区块链层允许记录和审计所有交易状态。图2还示出了分析层235。根据某些实施方案,所述分析层235可以是报告层,所述报告层允许授权用户能够查看给定命名空间的所有交易,而不仅仅是系统的当前状态的能力。此举可使所述系统获得全球不同组织的合规性。

图3是根据某些实施方案的用于数据交易的区块链实施的示意图。图3中所示的区块链可包括有效交易状态300。所述有效交易状态可表示在某个时间点的某个状态,在这个时间点上所有交易已被验证,并生成加密签名的块。这也可适用于首次实例化所述分类帐的初始状态。

图3还示出了所述区块链可包括未决交易记录305。所述未决交易记录305可包括待处理插入到所述分类账中的所有未完成交易的记录。在某些实施方案,对于不经常使用的分类账,可能存在相对较少的记录,或者对于接收大量交易的分类账而言,可能存在大量的记录。此外,所述区块链可包括散列和签名程序310。根据某些实施方案,所述散列和签名程序310可包括散列和签名所有有效交易的过程。此过程可获取尚未提交的给定分类帐的所有元数据交易,并对它们进行验证、加密,并在这些新交易中的merkel树中创建新叶子以及所述分类账中最后一个块的哈希值。

根据一些实施方案,可使用位掩码来生成本发明所述的任何区块链或分类帐。图3中所示的状态可存储在所生成的哈希树中。

图4是根据某些实施方案的哈希(或merkle)树的示意图。所述merkle树可有两个主要用途。如下所述,对交易的任何攻击或修改均会自动导致生成私有节点/树,从而隔离所述“故障”。另一功能是,要在任何有效的位置呈现命名空间,只需要与所述命名空间关联的叶节点可用。通过将元数据交易与数据交易分离,可实现自动和免费的重复数据删除。此外,数据完整性是自动的,任何两个相邻的叶子均可重新创建丢失的姊妹或父级。

如图4所示,所述merkel树可包括根哈希值/散列400。根据某些实施方案,所述根哈希值400可由与所述根相邻的所述merkel树中的所有叶节点形成,并被散列在一起。所述merkel树还可包括叶a(leafa)405和叶b(leafb)410。在标准左手右手符号中,上部哈希值的左成员被称为叶a405,并且所述对的所述左手侧被称为叶b410,其中通过将下级叶a405和叶b410一起散列来创建所述对。

如图4中进一步所示,所述merkel树可包括无效叶415。根据某些实施方案,可修改无效叶415并不再散列到与其最初相同的值。所述无效叶415可由父节点检测到,因为它的值不再正确。反过来,所述根哈希值也是无效的。根据此种方法,可快速检测错误,并将所述错误与其来源隔离开来。

图5是根据某些实施方案的哈希(或merkle)树的另一示意图。这些系统和/或模块共同地和/或单独地执行本发明所述的功能,包括但不限于,考虑到日益增加的数据主权问题来保持数据完整性,提供用于跟踪数据交易的安全系统,以及将“存在证明”应用于数据和/或数据交易。

在一些实施方案,所述系统可与多个不同的客户端应用程序(或端点)相关联。具体地,本发明所述的系统和方法可以操作以服务于多个不同的客户端。在此类实施方案中,所述区块链模块可为所述“链”生成不同的根密钥,所述根密钥对于每个不同的客户端是唯一的。

譬如,在某些实施方案,实体可拥有主分类帐。当所述实体接受客户端a时,将创建客户端a的唯一条目。所述条目可与最初设置的oql规则一同使用,以创建唯一的根密钥,所述根密钥将作为客户端分类帐的基础,也称为有根的侧链。并非正常使用这些侧链(黑客隔离或测试新的分类帐规则),而是可允许所述侧链永久存在。此外,每个唯一的分类帐可具有自己的merkel哈希值,并且从根到最新的分类帐块均是有效的。如若要对所述分类帐的元数据进行任何更改(新的或进行修改),则必须重新计算和验证整个树结构。因此,通过创建许多较小的树,可以减少延迟,增加并行化和可扩展性。

以此种方式,每个客户端的数据交易可保持在为每个其他客户端生成的单独的链和/或共享分类帐中。通过为每个客户端生成单独的分类帐或区块链,可最小化所述链的总长度(与所有客户端关联的单个链相比),并且可最小化实现所述块链(例如,验证交易的工作证明,每笔交易的存在证明等等)所需的计算资源。

在一些实施方案,本发明所述的区块链方法和系统可为每笔交易实现“存在证明”。存在证明可包括识别与数据交易相关联的“哈希值”(例如,由所述哈希树模块生成和/或包括在所述哈希树模块内),并将所述哈希值存储在所述区块链中。由于所述区块链存储了所有已确认的有效交易,并且所有哈希值均是唯一的,因此在确认所述交易有效之后,可在后续引用它来证明特定文档存在。

在一些实施方案,本发明所述的方法和系统可针对每个有效交易向所述分类帐(或区块链)添加条目。所述分类帐可分发到与所述客户端相关联的那些端点。在无效(或未授权)交易的情况下,可向所述分类账中添加“侧分支”(或“故障分支”),从而容易地将所述交易识别为对所述客户端无效。

下面针对满足客户端的企业顶层需求来描述使用案例。为了有效地满足需求,可使用保持可审计记录或数据完整性以及数据配置的系统和方法。在一些实施方案,所述方法可包括本发明所述的区块链方法。

在根据某些实施方案的使用中,命名空间是允许用户(例如,客户端)创建一些规则的构造,其中所述一些规则是所有对象(例如数据块)应当最初遵守的,并且没有其他输入应当回复。例如,其中一条此种规则是在档案媒体上“存储50年”。但后续策略可用于上述命名空间中的任何对象,并要求将所述对象移至热层,甚至是本地(on-premises)。不得违反原50年的存储策略,因此只能将副本发送至边缘。当用户处理完所述边缘处的数据时,可安全地删除它,并且所述命名空间返回至静态状态。这些转换中的每一个均可由所述区块链分类账中的条目表示。在某些实施方案,作为区块链的元数据分类帐可具有比更新访问和复制元数据更大的分支。作为另一个示例,后续策略可与特定国家通过的数据主权法规相关。同样,所述初始规则仍然有效,所述系统保护数据不受任何此类法规的影响。

在上述示例中,如果主权布局规则被修改,则所述数据现在可能部分位于新规则之外。那些不再符合要求的部分可重新布置到符合所述规则的档案媒体上。或者,可销毁那些不再符合要求的部分。此外,如果所述规则更改是系统不能遵守的规则更改,则可触发报告机制,并通知用户某些部分数据处于此新策略的风险之中。

如本发明所述,在一些实施方案,针对最终用户生成透明分类帐(或区块链)以核实和验证所述系统中的所有项目(例如,数据块)是否符合它们在开始时所阐述的规则(例如,通过oql模块)。在生成所述区块链分类帐时,所述系统可被认为是“买方”(就跟踪实际交易而言)。因此,上载后的对象(或数据)将在默认策略中运行,在上载完成后,制作外部(off-premise)副本,并使用第二个副本保护它。现在,所述命名空间规则有安全的对象来开始工作。在某些实施方案,所述命名空间规则可以是广泛的和变化的。

根据某些实施方案,所述系统通过作为买方,以及所有客户作为卖方,使得易于验证所述交易。如果最终用户希望向所述系统添加对象,则可以说他们发布了“销售意图”。当所述系统具有带宽时,则它可以获得此销售,应用合同条款(存储50年,或保存在我的国家内等),并通过发回普遍唯一的对象id来完成交易。此外,针对此唯一id的进一步交易,可以相同的方式记录,允许使用最新视图或审计完整的历史记录。

作为示例,考虑命名空间有一条规则,即数据在不可变介质上存储50年。在此示例中,请考虑本地(on-premises)存在一个副本,并且外部(off-premises)存在镜像。进一步考虑从外部(off-premises)到档案媒体的网络被认为是首选。然后在所述档案媒体上创建一份来自外部(off-premises)的副本。一旦完成,则可删除所有三个副本,并通知客户端已完成(例如,通过所述分布式分类帐)。

在此类示例中,当客户端输入“销售请求”(例如,完成数据交易如上传等)时,所述系统可在每次完成使销售取得成果的步骤时更新所述分类帐。如本发明所述,分类帐系统(或区块链系统)的使用提供了透明、抗黑客、可靠且大规模可扩展的方式来处理数据“销售”请求。首次创建所述对象时,所述客户端不应删除原对象(即擦除原字节),而是等待创建第一个分类帐条目。例如,可通过所述区块链模块或任何其他合适的模块来创建第一个分类帐条目。此时,所述外部(off-premises)副本已完成。使用此方法,数据不会在任何时候丢失。在一些实施方案,所述客户端可等待下一个条目(创建远程镜像)或最终条目。这种粒度级别允许客户端选择他们自己的风险容忍度,而非依赖于时间或其他盲目假设,即所述数据根据其期望的策略受到保护。

作为另一示例,可向所述系统提供规则覆盖,例如,以生成副本的高速缓存。此类覆盖交易也可以是所述分类帐中的条目,所述系统将尽职地调用所述归档数据,并在适当的介质上制作副本以供客户端访问它。一旦完成复制操作后,则所述交易便完成并在所述分类帐中注册。

但是,如果rouge用户发出删除数据的请求,则此请求将被输入到所述分类帐中。经审查(假设50年尚未过去),将发现所述请求违反规定并予以拒绝。所述用户(例如,用户的管理员)将看到此请求,并且所述系统不能遵守此请求,以及发出所述请求者的指纹。通过此种方式,所述用户管理者现在具有发现rouge用户的可审计方式。

生成透明的分布式分类帐还可具有其他用途,例如,计费和内部审计。作为示例,请考虑以下对不同地方的对象的任意成本值:最初的本地(on-premises)版本是每单元10美元,外部(off-premises)版本是每单元5美元,档案每单元1美元。因此,用户上传数据单元,其成本为10美元,其中制作远程副本(成本为5美元),并生成镜像版本(5美元)。使用这些假设,到目前为止,客户已花费20美元购买这个数据单元。现创建了存档副本,并删除了源文件。因此,此单元的成本降至1美元。然后,被授权获取数据的用户请求将其召回到本地(on-premises)并制作3份副本。对于所述召回和复制的单元,账单突然从每单位1美元涨至30美元。用户管理员将通过分布式分类帐查看此信息,并且可使用内部充值系统,或者如果认为过度,那么去找发出请求的最终用户,让他们撤销策略请求,或者至少减少副本数量。

除了这些非常适用于共享分类帐系统的外部使用案例之外,还有一些其他内部特征变得非常简单。计费是一回事,数据验证/核实(数据完整性证明)是另一回事,数据的预取/分段又是另一回事。

所述哈希树模块(又如图4和图5的哈希树示意图所示)可促进许多改进的数据处理方法。例如,为所有数据单元维护哈希树提供了对所述哈希值大小的简单计算。此外,对所述对象使用中等到强的哈希值允许在飞行中验证,并且如果使用强机制,即使在分行中校正无效数据也会成为简单的过程。

参照图4和图5,以智能方式组织这些树可以快速检测请求模式,因此可以更快速地填充高速缓存,具有比以往任何时候都更高的准确率。因此,希望使用数据的用户可在将整个对象返回到新请求的位置之前使用数据。所有其他系统均要求在i/o开始之前重建整个对象。

本发明所述的系统和方法还支持使用公钥-私钥结构进一步启用命名空间或命名空间中的对象。具体地,所述用户可添加只能用密钥访问数据的标签。此密钥已在所述分类帐中注册。如果以后密钥的所有者希望向所述对象授予另一个用户权限,则他们会要求另一用户提供他们的公钥,然后用他们的私钥将其添加到所述分类帐,从而授予其他用户访问所述对象的权限。然后,另一用户可以请求在其命名空间或缓存副本等中创建它的副本,然后在原始命名空间分类帐中记录所述分支并创建副本。关于如何管理此副本的规则的一些示例可包括:赠送(第二用户享有永久权利),受限访问,或时间分隔访问(意味着第二用户享有特定时间的读取权限,或者由所有者随意撤销等),以及许多其他组合。对于可撤销对象,所述新用户将获得一个条目,其中包含对原始分类帐的引用。一旦所述原始分类帐接收到删除所述第二用户公钥的交易,便终止对此对象的访问。

科学界存在大量不可变数据,其生命周期包括私有数据,然后添加合作机构,最终授予全球访问权限。例如,这可能与随时间变化的数据流有关。因此,如所讨论的,所述分类帐系统的某些实施方案可能非常适合此数据流和许多其他数据流。此外,完全取消访问限制可能涉及公开独立的公钥,或将密钥标记为空白字段。所有这些状态更改均可记录在所述分类帐中,其是可审计的、可见的和无可辩驳的。

在上述示例中,所述公钥-私钥结构可以指对非加密数据的访问。如果用户在上载之前加密所述数据,则仍可授予对所述加密数据的访问权。因此,可能仍然无法完成解密。然而,根据其他实施方案,所述数据可与所述元数据分类帐分开加密。例如,针对每个用户分类帐,分类帐均有唯一的密钥,如此用户便无法查看其他用户分类帐。

作为本发明所述的区块链系统和方法的另一示例,用户(或客户端)可希望创建存储数据并保存30年的地方,并最后自动清除所述存储的数据。此外,用户可要求所述交易是可审计的,以确保符合所述存储和清除。在一些实施方案,oql模块可配置为允许此功能。图6-10描绘了根据某些实施方案的oql模块的策略、操作和操作数。在此类实施方案中,oql模块可包括三种语法:规则、操作和逻辑。作为一个示例,oql可包括但不限于以下内容:

•创建“namespacealias=30year_retentionpolicies:retain=30purge=true(命名空间别名=30年_保留策略:保留=30清除=正确)”(createnamespacealias=30year_retentionpolicies:retain=30purge=true)

◦上述返回是名称id(nameid)和它的别名(alias)。

如果用户希望将数据存储在所述命名空间中,则:

•打开“30year_retention(30年_保留)”;放置<pathtoobjectbeingput(放置对象的路径)>;关闭“30year_retention(30年_保留)”(open30year_retention;put<pathtoobjectbeingput>;close30year_retention)

◦返回是持久的oid,用户将在所述对象生命周期或更长时间内保留此oid。

◦添加“打开(open)”和“关闭(close)”语句的目的是在单次运行中批量处理所有数百万个对象,并在它们周围添加容器。

如果用户希望检查所述策略是否有效,则:

•打开“30year_retention(30年_保留)”;删除<oid>(open30year_retention;delete<oid>)

◦此时,所述删除(delete)命令将被发送到所述特定对象。

◦所述系统将查看所述元数据并查看所述对象刚刚写入并具有30年的不变性标记。因此,所述系统不会删除它,而是向违规的帐户所有者发送通知,并向所述用户回复错误。

如果用户希望审核所述数据是否按预期存储,则:

•打开“30year_retention(30年_保留)”;测试<oid>(open30year_retention;test<oid>)

◦响应是查找策略设置,查找所述对象的分片并验证所述策略设置是否已发生。

◦<oid>具有30年不变性的策略,并且当前处于不符合此规则的访问节点上。具体而言,因为刚刚写入数据,所以尚未将其传递到存档层。因此,如果在初始测试后的某一设定时间执行第二次测试,则结果为:<oid>具有30年不变性的策略,并且(作为示例)在7个媒体库中分片,预期故障为1.2^-36,远低于规定的故障率。

现在,用户希望使用所述对象进行年终数据运行,则:

•打开“30year_retention(30年_保留)”;复制<oid>至<pathtolanditon(放置的路径)>;关闭“30year_retention(30年_保留)”(open30year_retention;copy<oid>to<pathtolanditon>;close30year_retention)

◦响应是检索所述对象并将其置于所述指定位置。本示例可能非常具有用户交互性。实际上,查询可以是查找相关数据并将其放在“access(访问)”框上进行检查。

◦打开“30year_retention(30年_保留)”(open30year_retention);迁移<dataset(数据集)>至<siteid(站点id)>(migrate<dataset>to<siteid>);关闭(close)。给定不可变标志,此操作会生成工作副本,但不会删除原始文件。

在30年期限结束时,则:

•打开“30year_retention(30年_保留)”(open30year_retention);得到<oid>(get<oid>)。所述响应是“错误(error)”,表明oid不再有效。

以上仅是根据某些实施方案的oql模块的结构和功能的一个示例。在一些实施方案,oql模块可包括足够数量和类型的基元以实现所需业务逻辑可能性。譬如,在一些实施方案,oql模块可包括多于20个基元。在其他实施方案,oql模块可包括多于25个基元。此外,在某些实施方案,所述基元可以是语言的基本结构,并且可以不被分解成更小的组件,而是可以用于创建构成规则的更大和更复杂的句子。换言之,基元可以描述api的最小基本单元。

本发明所述一些实施方案涉及具有非暂时性计算机可读介质(也可以称为非暂时性处理器可读介质)的计算机存储产品,所述非暂时性计算机可读介质上具有用于执行各种计算机实现的操作的指令或计算机代码,包括本发明所述和图1-12中所示的任何操作。应当理解,图1-11中所示的信号或块可通过各种手段或其组合来实现,例如硬件、软件、固件、一个或多个处理器和/或电路或其组合。计算机可读介质(或处理器可读介质)在其不包括暂时传播信号本身(例如,在诸如空间或电缆之类的传输介质上传输信息的传播电磁波)的意义上是非暂时性的。媒体和计算机代码(也可以称为代码)可以是为特定目的或用途而设计和构造的代码。非暂时性计算机可读介质的示例包括但不限于:磁存储介质,如硬盘、软盘和磁带;光盘存储介质,如光盘/数字视频光盘(cd/dvd),光盘只读存储器(cd-rom)和全息设备;磁光存储介质,如光盘;载波信号处理模块类;和专门配置用于存储和执行程序代码的硬件设备,如专用集成电路(asic),可编程逻辑器件(pld),只读存储器(rom)和随机存取存储器(ram)器件。本发明所述的其他实施方案涉及计算机程序产品,其可包括,例如,本发明所讨论的指令和/或计算机代码。

图11示出了根据某些实施方案的方法的流程图。图11中所示的方法包括在501处,在网络节点处,创建与所述集成云计算网络的客户端相关联的交易的分布式分类帐集合。所述方法还包括在505处,根据一系列预定义规则存储和处理与所述交易相对应的数据。所述方法还可包括在510处,验证所述交易以查看所述交易是否符合所述一系列预定义规则。所述方法还可包括,在515处,针对每个有效交易,向所述分布式分类账集合的分类账中添加条目。另外,所述方法可包括,在520处,针对每个无效交易,向所述分布式分类账集合的所述分类账中添加侧分支。此外,所述方法可包括在525处,将所述分类帐集合分发到与所述客户端相关联的端点。

如图11中进一步所示,所述方法包括在530处,在单独的分类账中维护与所述客户端的所述交易相对应的所述数据以及维护与至少另一客户端的其他交易相对应的数据。所述方法还包括在535处,通过实施对象查询语言模块、哈希树模块和区块链模块来管理所述分布式分类账集合。根据某些实施方案,所述分布式分类帐集合的每个分布式分类帐可包括特定于所述客户端的唯一根密钥。在其他实施方案,所述一系列预定义规则可包括加密规则类,地理规则类,寿命规则类,持久性规则类或保留规则类。此外,在其他实施方案,所述对象查询语言模块可配置为接收用于所述数据处理的一系列规则,所述哈希树模块可配置为生成哈希树结构,所述哈希树结构记录关于每个交易的信息,和所述区块链模块可配置为生成共享分类帐,所述共享分类账包含表示每个交易的条目。

图12示出了根据某些实施方案的设备10。在其中一个实施方案,设备10可包括若干器件,例如,区块链处理程序,客户端ap,或网络节点如服务器、计算机、或电子移动设备或计算机。在其他实施方案,设备10可以是图1-4的框中所示的任何组件或单元,并且可以彼此独立地操作,或者彼此任意组合地操作。尽管图12中仅示出了一个设备10,但在其他实施方案中,一个以上的设备10可作为系统以各种组合一起实施,或者如上所述独立地实施。

设备10可包括处理器22,用于处理信息和执行指令或操作。处理器22可由任何计算或数据处理设备(例如中央处理单元(cpu),数字信号处理器(dsp),专用集成电路(asic),可编程逻辑器件(pld),现场可编程门阵列(fpga),数字增强电路,或类似设备或其组合)来实现。处理器22还可作为单个控制器、或多个控制器或处理器来实现。

对于固件或软件,所述实现/实施可包括至少一个芯片组(例如,程序、功能等)的模块或单元。存储器14可以独立地为任何合适的存储设备,例如以上所述的那些。所述存储器和计算机程序指令可以同用于特定设备的处理器一起配置,以使硬件设备(如设备10)执行上述任何过程(参见,例如图1-11)。因此,如上所述,在某些实施方案,非暂时性计算机可读介质可用计算机指令或一个或多个计算机程序(例如添加或更新的软件例程、小应用程序或宏)编码,当在硬件中执行时,可执行诸如本发明所述的过程之一的过程。或者,某些实施方案可完全用硬件执行。

根据某些实施方案,存储器14可连接至处理器22,用于存储可由处理器22执行的信息和指令。存储器14可以是适合于本地应用环境的任何类型的一个或多个存储器,并可以使用任何合适的易失性或非易失性数据存储技术(例如,基于半导体的存储器件,磁存储器件和系统,光学存储器件和系统,固定存储器,和移动式存储器)来实现。此种存储器的示例可包括以上所述的那些。

设备10还可包括一个或多个天线(未示出),用于向设备10发送信号和/或数据以及从设备10接收信号和/或数据。设备10还可包括收发器28,所述收发器28将信息调制到载波波形以供所述天线发送,并解调经由所述天线接收的信息,以供设备10的其他元件进一步处理。在其他实施方案,收发器28可能够直接发送和接收信号或数据。

根据某些实施方案,处理器22可执行与设备10的操作相关联的功能,包括但不限于上述以及附图中示出的任何过程/程序。

在其他实施方案,存储器14可存储由处理器22执行时提供功能的软件模块。所述模块可包括为设备10提供操作系统功能的操作系统15。存储器14还可存储一个或多个功能模块18,例如应用程序或程序,从而为设备10提供附加功能。设备10的组件可以硬件实现,或者以硬件和软件的任何合适组合实现。

计算机代码的实例包括但不限于,微代码或微指令,机器指令(如由编译器生成的机器指令),用于生成网络服务的代码,以及包含由计算机使用解释器执行的更高级别指令的文件。例如,实施方案可使用命令式编程语言(例如,c语言,fortran语言等),函数式编程语言(haskell,erlang等),逻辑编程语言(例如,prolog),面向对象的编程语言(例如,java,c++等),或其他合适的编程语言和/或开发工具来实施/实现。计算机代码的附加实例包括但不限于,控制信号类、加密代码和压缩代码。

在一些实施方案,区块链系统和/或方法包括数据屏蔽,以随意呈现与用户相关联的命名空间。

在一些实施方案,区块链系统和/或方法配置为记录元数据,如本发明所述。

在一个或多个实施方案中,可以任何合适的方式组合所述的本发明特点、优点和特征。相关领域的技术人员将认识到,可在不具有特定实施方案的一个或多个特定特征或优点的情况下实施本发明。在其他情况下,在某些实施方案中可认识到附加的特征和优点,所述这些特征和优点可不存在于本发明的所有实施方案中。本领域普通技术人员将容易理解,如上所讨论的本发明可以不同顺序步骤和/或使用与所公开的配置不同的配置中的硬件元件来实施。因此,尽管已基于所述这些优选实施方案对本发明进行了描述,但对于本领域技术人员而言显而易见的是,某些修改/修饰、变化/改变和替代构造/结构将是显而易见的,同时也仍然在本发明的精神和范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1