CN114297174A - 区块链实现的数据迁移审计轨迹 - Google Patents
区块链实现的数据迁移审计轨迹 Download PDFInfo
- Publication number
- CN114297174A CN114297174A CN202111162643.2A CN202111162643A CN114297174A CN 114297174 A CN114297174 A CN 114297174A CN 202111162643 A CN202111162643 A CN 202111162643A CN 114297174 A CN114297174 A CN 114297174A
- Authority
- CN
- China
- Prior art keywords
- blockchain
- data
- data migration
- migration
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Abstract
计算机实现方法、系统和计算机程序产品利用区块链网络来安全地存储防篡改分类账本,所述防篡改分类账本包括基于端对端数据迁移任务调度的时间线描述完成或丢失的数据迁移任务的审计轨迹。来自数据迁移源、数据迁移目标和/或迁移工具的事件日志和警报中的每一个,包括与端对端迁移任务相关联的网络设备日志、操作系统日志、用户访问日志、警报、迁移工具输出等,被作为审计轨迹的一部分并被存储到区块链的分类账本。记录到区块链的区块的所有事件日志、警报或其他数字资产可以被加时间戳、哈希并分布穿过区块链网络的所有节点,并且被每个对等节点验证为有效。当更新审计轨迹的区块被添加到区块链时,条目不能被修改或篡改。
Description
背景技术
本公开一般地涉及区块链存储领域,并且更具体地涉及实现区块链以安全地存储描述数据中心、计算机网络和/或基于云的网络之间的数据迁移的审计轨迹。
数据迁移可以指将数据从一个位置移动到另一个位置、从一种格式移动到另一种格式、或者从一个应用移动到另一个应用的过程。数据的迁移通常是为数据引入新的系统和/或位置的结果,而应用迁移或合并可能由寻求用可共享相同数据集的新应用来替换或扩充遗留系统的商业决策来驱动。当前,数据迁移中的趋势建议企业开始将数据从场所内(on-premiss)基础设施、数据中心和应用迁移到基于云的存储、服务和应用程序递送机制。一些类型的迁移可以包括应用迁移、云迁移和存储迁移。应用迁移可以指将应用程序从一个环境移动到另一个环境、从本地部署IT中心移动到云、在云之间移动(私有、公共和/或混合)、或将应用的底层数据移动到由软件提供者托管(host)的新形式的应用。类似地,云迁移可以指将数据、应用或其他商业元件从本地部署数据中心移动到云或从一个云移动到另一个云的过程。最后,存储迁移可以包括将数据从现有的存储阵列移动到新的存储阵列中。
发明内容
本公开的实施例涉及用于实现控制对包括审计轨迹的分类账本的访问的区块链的计算机实现的方法、相关联的计算机系统和计算机程序产品,该审计轨迹包含描述与数据迁移事件的执行相关联的任务的数字资产。该计算机实现的方法包括:由处理器创建被配置为委托用于将数据从数据迁移源迁移到数据迁移目标的一个或多个任务的任务列表;由该处理器将所述一个或多个任务分派给负责所分派的任务的执行的至少一方,以完成该数据从该数据迁移源到该数据迁移目标的迁移;由该处理器执行所分派的任务;由该处理器根据执行所分派的任务,将与所分派的任务的执行相对应的细节记录到数字资产;由该处理器将该数字资产记录为区块链的区块;以及由该处理器将描述用于从数据迁移源迁移到数据迁移目标的所分派的任务的执行的区块链的块分发到区块链网络的所有节点,其中,记录到该区块链的所述块更新该区块链实现的数据迁移审计轨迹。
附图说明
本公开中包括的附图并入说明书并形成说明书的一部分。它们示出了本公开的实施例,并且与描述一起解释了本公开的原理。附图仅说明某些实施例,并且不限制本公开。
图1描绘了根据本公开的在其中可以实现本文描述的实施例的数据处理系统的内部和外部组件的框图的实施例。
图2A描绘了根据本公开的用于执行区块链实现的数据迁移审计轨迹的计算环境的实施例的框图。
图2B描绘了根据本公开的用于实现区块链实现的数据迁移审计轨迹的计算环境的替代实施例的框图。
图3描绘了根据本公开的在其中可以实现本文描述的实施例的云计算环境的实施例。
图4描绘了根据本公开的云计算环境的抽象模型层的实施例。
图5A示出了根据本公开的实施例的示例区块链架构。
图5B示出了根据本公开的实施例的区块链交易流。
图6示出了根据本公开的实施例的区块链网络的对等节点及其一个或多个内容的示例。
图7描绘了根据本公开的用于执行块链实现的数据迁移审计轨迹的方法的实施例的框图。
具体实施方式
本文所使用的术语仅用于描述特定实施例的目的,且不希望称为本公开的限制。如本文所用,单数形式“一(a)”、“一(an)”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时,具体说明所陈述的特征、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、步骤、操作、元件、组件和/或其组的存在或添加。
所附权利要求中的所有部件或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于结合如具体要求保护的其它要求保护的元件执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本公开的描述,但是其不旨在是穷举的或限于所公开的形式的公开。在不背离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。所选择和描述的实施例是为了最好地解释本公开的原理、实际应用,并且使本领域的其他普通技术人员能够理解具有各种修改的各种实施例的本公开,这些修改适合于所考虑的特定用途。
概述
数据迁移程序可以涉及要由多个利益相关者执行的数百个任务(或更多),其可以在传统数据中心和/或云网络(公共或私有)之间迁移数百个应用和工作负载。这些利益相关者可以是不同的实体、团体、组织、企业或公司的部分,并且可能经常需要一起工作以完成与数据迁移事件相关联的端对端任务。利益相关者可以是应用团队的部分,应用团队可以是客户和/或服务提供者、执行数据迁移源(诸如数据中心或云网络)与数据迁移目标之间的一个或多个迁移服务的第三方迁移团队、以及与管理数据迁移目标相关联的基础设施团队和用于客户和/或服务提供者的管理团队。
本公开的实施例认识到,当前数据迁移程序可涉及为了完成一个或多个迁移任务来手动跟踪和更新时间线、允许一个或多个利益相关者回顾计划时间线内的已执行任务、验证任务的完成并手动更新时间线。然而,当该过程由参与端对端数据迁移任务的多个利益相关者手动执行时,本公开的实施例还认识到与审计数据迁移任务的执行的利益相关者相关联的关键安全挑战。作为可以是不同实体、公司、组织等的部分的多个利益相关者的结果,可能没有单个信任源可用于所有的利益相关者,该信任源可以帮助数据迁移中涉及的每一方理解所有的端对端迁移任务的完成进展和时间线。在来自多个不同从属关系的多个利益相关者将数据输入到所计划的迁移时间线中的情况下,跟踪端对端数据迁移任务的执行的一个或多个文件可能易于发生信任问题、操纵和错误。作为结果,跟踪数据的端对端迁移的进展的审计者可能被留下准备不足的审计轨迹,而没有可用于监视或理解端对端迁移任务的完成的单个可信认的跟踪信息源。
本公开的实施例认识到对于利益相关者在审查数据的端对端迁移时可以使用和信任并且用于监视数据迁移任务的进展的安全的、防篡改的审计轨迹的需求。本公开的实施例利用区块链的使用来创建包括审计轨迹的安全地存储的、防篡改的分类账本,其中被创建和更新的审计轨迹描述了端对端迁移任务的完成。审计轨迹可以由负责审计数据迁移的完成的利益相关者访问,以便跟踪以调度方式被完成的任务并且确保满足数据迁移的执行要求。来自数据迁移源或目标的服务器的事件日志、记录和警报中的每一个,包括与端对端迁移任务以及来自数据迁移工具的输出相关联的网络设备日志、操作系统日志、用户访问日志等,其可以被作为审计轨迹的部分并被存储到区块链网络的区块。区块链网络的示例可以包括对等(P2p)网络。跨区块链网络的所有节点,所有事件日志、警报或记录为区块链的区块的其他资产可以被加时间戳、被哈希和被存储。由于条目作为区块被添加到区块链,因此条目被区块链网络的每个节点验证为有效,并且被添加到区块链网络的区块不能被修改或篡改。
可以包括审计轨迹的一个或多个数字资产可以被从各自的监视服务器、记录服务器转发到和/或从迁移工具输出到区块链平台所利用的区块链网络的节点,该区块链平台使用应用编程接口(API)功能来执行应用代码以实现一个或多个区块链交易。负责跟踪任务的进展的管理者和/或审计者可以经由区块链平台访问和审计轨迹的区块,查询包含审计轨迹的(多个)分类账本,执行进一步的分析和/或使用一个或多个区块链应用和/或从分类账本信息生成用户友好的报告。所生成的报告可以由连接到区块链平台的客户端、连接到数据迁移源或数据迁移目标和/或其他利益相关者的客户端查看,以便向参与端对端数据迁移任务的所有团队或组显示任务进展。因此,允许端对端迁移的所有参与者和审计者观察描述端对端迁移事件的完整流程的单个未被篡改的源。
数据处理系统
本发明可以是任何可能的集成的技术细节级别的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的一个或多个计算机可读存储介质(或媒介),用于使处理器实施本发明的各方面。
计算机可读存储介质可以是能够保持和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、存储器棒、软盘、诸如有指令记录在其上的打孔卡或凹槽中的凸起结构的机械编码的装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)、或通过导线发送的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到各自的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在各自的计算/处理设备内的计算机可读存储介质中。
用于实施本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、针对集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,诸如Smalltalk、C++等)和过程式编程语言(诸如“C”编程语言或类似的编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全地在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后面的场景下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供者通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使个性化该电子电路。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明的各方面。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得诸如经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的部件。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制造品,该制造品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现(多个)指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者取决于所涉及的功能,这些框有时可以以相反的顺序执行。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或实施专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷举的或限于所公开的实施例。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上发现的技术的技术改进,或为了使本领域的其他普通技术人员能够理解本文所公开的实施例。
图1示出了数据处理系统10的框图,其可以是能够执行本文描述的一个或多个计算操作的计算系统的简化示例。数据处理系统10可以表示如图2A-6所示的并且根据本文描述的本公开的实施例的计算环境200、240、300、500、550中描绘的一个或多个计算系统或设备。应当理解,图1仅提供了数据处理系统10的一个实现方式的图示,并且不暗示对其中可以实现不同实施例的环境的任何限制。通常,图1中所示的组件可以表示能够执行机器可读程序指令的任何电子设备。
虽然图1示出了数据处理系统10的一个示例,但是数据处理系统10可以采取许多不同的形式,包括真实的、虚拟的和集装箱的形式。例如,数据处理系统10可以采取个人台式计算机系统、膝上型计算机、笔记本、平板电脑、服务器、客户端、网络设备、终端、瘦客户端、胖客户端、信息亭、移动通信设备(例如,智能电话)、增强现实(AR)设备、虚拟现实(VR)头戴式耳机、多处理器系统、基于微处理器的系统、小型计算机系统、大型计算机系统、智能设备(即,智能眼镜、智能手表等)、物联网(IoT)设备等的形式。数据处理系统10可以网络计算环境、虚拟计算环境、集装箱计算环境、分布式云计算环境、无服务器计算环境和/或其环境的组合中操作,其可以包括任何本文所描述的系统或设备和/或由本领域普通技术人员知晓或使用的附加计算设备或系统。
数据处理系统10可以包括通信结构22,其可以提供一个或多个处理器13、存储器15、永久存储16、高速缓冲存储器17、通信单元21和一个或多个输入/输出(I/O)接口25之间的电子通信。通信结构22可以用被设计用于在处理器13、存储器15、高速缓冲存储器17、外部设备27和数据处理系统10内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。
存储器15和永久存储16可以是计算机可读存储介质。存储器15的实施例可以包括随机存取存储器(RAM)和高速缓冲存储器17存储器。通常,存储器15可以包括任何适当的易失性或非易失性计算机可读存储介质,并且可以包括被编程到存储器15中的固件或其他软件。(多个)软件程序24、应用107a、107b(本文通常称为“应用107”)、工作负载109a、109b(本文通常称为“工作负载109”)和本文描述的服务可以存储在存储器15、高速缓冲存储器17和/或永久存储16中,以供数据处理系统10的各自的处理器13中的一个或多个执行和/或访问。
永久存储16可以包括多个磁硬盘驱动器。可替代地,或除了磁硬盘驱动器之外,永久存储16可包括一个或多个固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、快闪存储器或能够存储程序指令或数字信息的任何其它计算机可读存储介质。永久存储16所使用的媒介的实施例也可以是可移除的。例如,可移动硬盘驱动器可用于永久存储16。其它示例包括光盘和磁盘、拇指驱动器和智能卡,其被插入驱动器中以便传送到也是永久存储16的部分的另一计算机可读存储介质上。
通信单元21提供数据处理系统10之间的电子通信的便利。例如,经由通信网络在一个或多个计算机系统或设备之间的电子通信。在示例性实施例中,通信单元21可包括网络适配器或接口,诸如TCP/IP适配器卡,无线Wi-Fi接口卡或天线,3G、4G或5G蜂窝网络接口卡或其它有线或无线通信链路。通信网络可以包括例如铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机、边缘服务器和/或可以是通信网络的设备、系统、主机、终端或其他网络计算机系统的节点的一部分或连接该节点的其他网络硬件。用于实践本发明实施例的软件和数据可以通过通信单元21(例如,经由因特网、局域网或其它广域网)下载到在网络环境中操作的计算机系统。(多个)程序24、应用107、工作负载109或服务的数据和软件可以从通信单元21加载到永久存储16中,存储在存储器15和/或高速缓冲存储器17中。
一个或多个I/O接口25可以允许与可以连接到数据处理系统10的其他设备的数据的输入和数据的输出。例如,I/O接口25可以提供到一个或多个外部设备27的连接,该外部设备诸如一个或多个IoT设备、诸如音频记录设备的记录设备、麦克风、相机、一个或多个传感器、诸如键盘、计算机鼠标、触摸屏、虚拟键盘、触摸板、定点设备的输入设备或其他人机接口设备。外部设备27还可以包括便携式计算机可读存储介质,例如拇指驱动器、便携式光盘或磁盘、以及存储器卡。I/O接口25可以连接到人类可读显示设备28。显示设备28提供向用户显示数据的机制,并且可以是例如计算机监视器、屏幕、电视机、投影仪、显示面板等。显示设备28还可以是合并的显示器,并且可以用作作为平板计算机或移动计算设备的内置显示器的一部分的触摸屏。
用于执行区块链实现的数据迁移审计轨迹的系统
本公开的方面通常涉及区块链存储领域,并且更具体地涉及实现区块链以将描述与端对端数据迁移相关联的一个或多个任务的完成的证据安全地传送到区块链网络的区块,该证据包括由应用日志、操作系统日志、用户访问日志、网络设备日志和/或迁移工具或其他事件记录(本文统称为“资产”或“数字资产”)提供的证据,创建包括审计轨迹129的安全分类账本,其由执行端对端迁移过程的一个或多个任务的每个利益相关者信任。随着端对端迁移过程继续并最终完成网络、数据中心、私有云和/或公有云之间的数据的传送,负责监督和/或审查端对端迁移任务111的完成的管理者和/或审计者可通过查询由区块链网络130的对等节点104-110存储的分类账本来访问存储到区块链网络130上的审计轨迹129的审计数据。审计者和管理者可以审查数据迁移的进展、跟踪被分派了一个或多个任务的一个或多个负责方的进展、分析任何错误并且安全地验证数据的传送是否被成功地执行。
容易理解,如在本文附图中一般地描述和示出的,即时组件可以以各种不同的配置来布置和设计。因此,如附图中所表示的,方法、装置、非暂时性计算机可读介质和系统中的至少一个的实施例的以下详细描述不旨在限制所要求保护的应用的范围,而仅仅表示所选实施例。
在一个或多个实施例中,可以以任何适当的方式组合或去除贯穿本说明书中描述的即时特征、结构或特性。例如,贯穿本说明书,短语“示例实施例”、“一些实施例”或其它类似语言的使用指的是结合实施例描述的特定特征、结构或特性可以被包括在至少一个实施例中的事实。因此,贯穿本说明书出现的短语“示例性实施例”、“在一些实施例中”、“在其它实施例中”或其它类似语言不一定全部指的是同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合或去除。此外,在附图中,元件之间的任何连接可以允许单向和/或双向通信,即使所描述的连接是单向箭头或双向箭头。而且,图中描绘的任何设备可以是不同的设备。例如,如果移动设备被示为正在发送信息,则有线设备也可以被用于发送信息。
另外,虽然术语“消息”可以被用在实施例的描述中,但本申请可以应用于许多类型的网络和数据。此外,虽然在示例性实施例中可以描述某些类型的连接、消息和信令,但是本申请不限于某些类型的连接、消息和信令。
本文详细描述了利用区块链/超级分类账本结构来安全地创建审计轨迹129的方法、系统和计算机程序产品,该审计轨迹描述了在诸如目标数据中心125或云网络250的数据迁移目标和诸如源数据中心101或云网络250(公共或私有)的一个或多个迁移数据源之间的数据迁移期间执行的一个或多个端对端数据迁移任务111的进展和/或完成。参考附图,图2A-6描绘了可以使用在计算环境200、240、300、500、550及其变型内操作的一个或多个数据处理系统10来执行的方法,以实现区块链实现的数据迁移审计轨迹129的系统、方法和计算机程序产品。计算环境200、240、300、500、550的实施例可以包括作为计算网络的一部分而互连的一个或多个数据处理系统10。在计算网络上通信的互连的数据处理系统10可以是专用系统或设备,其可以包括但不限于包括记录服务器103和/或监视服务器105的一个或多个数据中心101、125的互连;客户端设备119、123、127和/或托管区块链网络130的区块链节点102的区块链平台112的互连。
图2A-6中示出的专用数据处理系统10不仅可以包括图2A-6的图中所描绘的系统和设备的元件,而且图2A-6中描绘的专用数据处理系统还可以并入图1中所示的并在上文描述的数据处理系统10的一个或多个元件。尽管未在图中示出,但是数据处理系统10的一个或多个元件可被集成到数据中心101、125,记录服务器103a、103b,监视服务器105a、105b,客户端设备119、123、127以及托管区块链平台112和/或组成区块链网络130的区块链节点102的系统的实施例中,包括(但不限于)一个或多个处理器13、(多个)程序24、存储器15、永久存储16、高速缓冲存储器17、通信单元21、输入/输出(I/O)接口25、外部设备27和/或显示设备28的集成。
参考附图,图2A-2B描绘了计算环境200、240的示例,其能够执行区块链实现的审计轨迹129,以在任务111被执行和完成、用于完成任务111的最后期限被错过或导致错误和/或警报被输出时安全地存储和跟踪端对端迁移任务111(本文中也被称为任务111)的进展。如图2A-2B所示,端对端迁移任务111可以包括可以作为数据迁移程序的一部分在数据迁移发生之前执行的任务(预迁移任务113)、作为将数据从数据迁移源迁移到数据迁移目标的一部分的任务(迁移任务115)以及可以在完成到数据迁移目标的数据迁移之后执行的任务(后迁移任务117)。
如图2A-2B的实施例所示,包括一个或多个应用107和/或工作负载109的迁移的数据迁移的示例可以作为以下各项的一部分来执行:从数据迁移源(即,源数据中心101)到数据迁移目标(即,如图2A所示的目标数据中心125)的迁移;源数据中心101到私有或公有云网络250(如图2B所示);和/或在一些实施例中,从第一私有或公有云网络250到第二私有或公有云网络250的迁移。
云网络250是用于使得能够对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问的服务递送模型,这些可配置计算资源可以用最少的管理努力(effort)或与服务的提供者的最少的交互来快速供应和释放。云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商进行人工交互。
广域网络访问:能力在网络上可用,并且通过标准机制来访问,该标准机制促进由异构的瘦或胖客户端平台(例如,移动电话、膝上型计算机、智能设备、IoT设备、虚拟助理集线器等)使用。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中根据需求不同的物理和虚拟资源被动态地分派和重新分派。存在位置独立性的感觉,因为消费者通常不控制或不知道所提供的资源的准确位置,但是能够在较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:能力可以被快速且弹性地提供,在一些情况下自动地,以讯速地扩大并快速地释放以讯速地缩小。对于消费者,可用于提供的能力经常看起来不受限制并且可以在任何时间以任何数量购买。
度量的服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的一些抽象级别的计量能力来自动地控制和优化资源使用。资源使用可以被监视、控制和报告,为所利用的服务的提供商和消费者两者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如网络(web)浏览器(例如,基于网络(web)的电子邮件)的瘦客户端界面从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该应用是使用由提供者支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对所部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者可以部署和运行任意软件的其它基本计算资源,该任意软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、所部署的应用的控制以及对选择联网组件(例如,主机防火墙)的可能地限制的控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
社区云:云基础设施由几个组织共享,并且支持具有共享事情(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多个云(私有、共同体或公有)的组合,其保持独特的(多个)实体但通过使数据和应用能够便携的标准化或私有化技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境300是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点310的云网络250的基础设施。
参考附图,图3是云计算环境300的说明性示例。如所示,云计算环境300包括一个或多个云计算节点310,消费者可以使用由云消费者操作或配置的客户端设备访问该云计算节点。诸如一个或多个主机系统或边缘设备的云计算环境300的节点310可以彼此通信,并且可以在一个或多个网络中物理地或虚拟地分组(未示出),诸如上文描述的私有云、社区云、公有云或混合云或其组合。这可以允许云计算环境300提供基础设施、平台和/或软件作为服务,对于该服务,云消费者不需要在与云网络250的节点310连接或通信的客户端设备318a-318n上维护资源。应当理解,连接到云计算环境300的客户端设备318a-318n的类型仅旨在是说明性的,并且云计算环境300的计算节点310可以在任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)上与任何类型的计算机化设备通信。
现在参考图4,示出了由云计算环境300提供的功能抽象层集合。应当提前理解,图4中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层460包括硬件和软件组件。硬件组件的示例包括大型机461;基于RISC(精简指令集合计算机)架构的服务器462;服务器463,包括记录服务器103和监视服务器;刀片服务器464;存储设备465;以及网络和连网组件466。在一些实施例中,软件组件包括网络应用服务器软件467和数据库软件468。
虚拟化层470提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器471;虚拟存储472;虚拟网络473,包括虚拟私人网络;虚拟应用和操作系统474;以及虚拟客户端475。
在一个示例中,管理层480可以提供下面描述的功能。资源供应481提供计算资源和被用于在云计算环境300内执行任务的其他资源的动态采购。计量和定价482提供了在云计算环境300内利用资源时的成本跟踪,以及针对这些资源的消耗的开账单或开发票。在一个示例中,这些资源可以包括应用软件许可证。安全为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户483为消费者和系统管理者提供对云计算环境300的访问。服务级别管理484提供云计算资源分配和管理,使得满足所需的服务级别。服务级别协议(SLA)规划和履行485提供了对针对其根据SLA预期未来需求的云计算资源的预安排和采购。
工作负载层490提供了可以针对其利用云计算环境的功能的示例。可以从该层提供的工作负载109和功能的示例包括软件开发和生命周期管理491、数据分析处理492、虚拟教室教育传递493、交易处理494、区块链应用124和/或用于访问和与区块链平台112的对等节点104-110通信的API 122。例如,使用应用124和/或API 122来调用链码/智能合同(下面详细讨论)到建议更新的区块以添加到区块链和/或查询由包括审计轨迹129的对等节点104-110存储的分类账本。
参考附图,图2A-2B描绘了能够使用区块链网络130在包括审计轨迹129的区块链上创建、存储和/或更新分类账本的计算环境200、240的示例的框图。审计轨迹129的实施例可以出于跟踪和监视与将数据从数据迁移源迁移到数据迁移目标相关联的任务111的进展的目的而生成。如计算环境200的示例中所示,计算环境200可以包括数据迁移源(即,源数据中心101),其可以存储和维护被选择来传送或复制到计算环境和/或网络内的另一位置的数据。例如,一个或多个应用107a、工作负载109a以及由数据迁移源托管的虚拟设备和系统的转移,所述虚拟设备和系统包括服务器103a、105a、虚拟设备、存储、容器等。
正在选择要执行数据迁移事件的利益相关者以及数据迁移事件的复杂度可以取决于可能正在发生的数据迁移的类型而变化。例如,在一些实施例中,由源数据中心101托管的应用107a的所有者或服务提供者可能正在选择要将应用107a或工作负载109a以及由源数据中心101托管的相关联的数据迁移到新的位置,诸如目标数据中心125或云网络250。在其他实施例中,迁移数据源的所有者或管理者,诸如源数据中心101的所有者,可以决定升级数据中心、从传统系统迁移到公有或私有云网络250和/或从私有云到公有云的变迁(或反之亦然)。作为数据中心101、125和/或云网络250的所有者或管理者决定迁移到新的基础设施或新的位置的结果,所导致的迁移可以将所有应用107a、工作负载109a、服务器、虚拟客户端和被托管的数据变迁到新的目标位置。
请求和/或协调数据从数据迁移源到数据迁移目标的迁移的利益相关者可以发展用于完成端对端迁移任务111的一个或多个的调度,以便在特定规范内适当地完成迁移事件。例如在承诺的时间帧内或符合承诺的合同义务或服务级别。在一些实施例中,协调数据迁移和/或调度任务111的实体可以是被传送的数据的所有者、管理者或操作者和/或数据迁移源的所有者、操作者或管理者。例如,源数据中心101的所有者、操作者或管理者和/或一个或多个应用107a的服务提供者和/或由源数据中心101托管的工作负载109a。在其它实施例中,可能正在协调和调度一个或多个任务111的完成的实体可以是一个或多个迁移团队(内部的或被雇佣来执行端对端迁移过程的第三方)。可以为了完成而被调度的任务111的实施例可以包括一系列预迁移任务113、迁移任务115和后迁移任务117、用于完成任务的所调度的时间帧(包括截止期限)以及被分派来完成每个任务的利益相关者。预迁移任务的示例可以包括重新引导服务器、准备源数据中心101的存储设备的备份、终止一个或多个运行的应用107a和/或工作负载109a的服务。迁移任务115的实施例可以包括可能涉及数据、应用107a、工作负载109a和库的实际传送的一个或多个任务,以及可以转换和/或格式化数据以满足在数据迁移目标处的存储和操作的要求的过程。例如,将由源数据中心101中的数据库存储的数据转换为在数据的迁移期间由接收数据库数据集的目标数据中心125的数据库引擎理解的新升级的格式。此外,后迁移任务117的示例可以包括诸如验证由数据迁移目标接收的迁移的数据的完成、更新许可、更新字段以对应于新数据迁移目标上的目的地、更新服务器名称、更新依赖性、以及最终测试数据迁移目标以确保在数据迁移期间不产生错误的任务,包括针对所传送的应用107b和/或工作负载109b的测试以确保它们无错误地发起和操作的后迁移任务117。
计算环境200、240的实施方式可以包括多个系统、组件、模块、服务和/或程序,其作为端对端数据迁移事件的一部分,执行和记录被分派给一个或多个特定利益相关者以完成的任务111的执行和/或完成。执行一个或多个任务111的执行、完成甚至失败(即,由于错过的截止期限或错误)可由计算环境200、240内的一个或多个系统、组件、程序等捕捉和记录。例如,任务111可以与数据迁移源和/或数据迁移目标的一个或多个记录服务器103a、103b、监视服务器105a、105b、应用107a、107b、工作负载109a、109b以及迁移工具121和/或执行一个或多个区块链应用124、API 122或应用代码120的客户端设备119、123、127协调地被监视、执行和/或日志记录。
作为执行被调度或分派给特定实体的一个或多个任务111的功能,实施一个或多个任务111的执行的系统、组件、模块、服务和/或程序的实施例可以创建描述任务111的实施(或尝试实施)的详细数字资产。术语“数字资产”可以指由被创建的数据的所有者或管理者拥有、许可或控制的电子记录。例如,由源数据中心101创建的日志、警报或事件记录在一些实例中可以是由源数据中心101的所有者拥有的数字资产,或者是创建日志或记录的应用107a或工作负载109a的所有者/被许可人。创建日志、警报、事件记录、错误报告或其他类型文件的资源的实施例可以在文件数据(或元数据)内提供描述事件特征的细节。例如,记录、日志、错误报告或警告可以包括任务名称、任务被执行的日期和时间、任务完成的日期和时间、任务的结果(即,它是成功完成还是失败)、发生的任何错误的列表和描述、以及任何错误代码或警告、系统、应用107、工作负载109、程序、迁移工具121或用于执行任务111的其他计算资源。数字资产可以由实施一个或多个任务111的执行一个或多个系统、组件、模块、服务、应用107、工作负载109、程序(通常称为“资源”)输出和/或存储。实施一个或多个任务111的执行的资源的实施例可以自动地和/或周期性地经由API 122和/或(多个)区块链应用124与区块链平台112建立连接,并且请求向区块链平台112的一个或多个对等节点104-110更新包括具有一个或多个文件的审计轨迹129的分类账本,该一个或多个文件包括描述端对端迁移任务111的实施和执行的数字资产。对等节点104-110的(多个)实施例的每个托管一个或多个区块链分类账本并且可以包括其可以访问区块链的分类账本(即审计轨迹129)的链码(也被称为智能合同并在下文详细描述)。与该链码的接口经由API 122执行应用程序代码120而发生。例如,端对端迁移任务111的审计者可以经由API 122运行链码以查询分类账本和/或迁移工具121,或者可以经由API 122执行链码以更新对等节点的分类账本。在一些实施例中,每个资源还可以将详述和描述一个或多个任务111的实施的数字资产备份和存储到本地化的储存库或数据库和/或网络可访问的储存库或数据库,其可以在区块链平台112之外被访问。
如上所述,在一个或多个任务111的实施和执行时可以创建数字资产的资源之一可以是记录服务器103a、103b。记录服务器103的实施例可以指计算机(真实的或虚拟的)或计算机程序,其可以管理和提供与从其中收集日志数据的计算机系统的状态相关的日志数据和事件记录。例如,记录服务器103a管理和提供描述源数据中心101的状态的日志数据和事件记录,包括描述源数据中心101的一个或多个应用107a和工作负载109a的动作的日志和事件记录。记录服务器103a的实施例可以附加地选择性地存储和归档由记录服务器103a跟踪的事件和日志的记录,确保所存储的日志的安全性和机密性,通过分析和/或向日志添加丢失的信息并且情境化由日志记录的事件来控制日志和事件记录质量,其包括记录关于生成日志或事件记录的IP地址的信息、用户信息、正被访问的系统的一个或多个特征以及可以作为日志或事件发生的一部分而被触发的任何错误细节或警报。
可以响应于所述端对端迁移任务111的实施或执行而创建对端对端任务111的审计追踪129有贡献的数字资产的另一种类型的资源可以包括监视服务器105a、105b。监视服务器105的实施例可以是负责监督应用107和工作负载109的计算机系统(真实的或虚拟的)或计算机程序,并且提供在给定时刻的应用107和工作负载109的全局视图以及应用107或工作负载109的过去状态的历史,包括:应用或工作负载的资源的执行和/或响应时间;应用107或工作负载109的完整性;以及应用107或工作负载109的可用性。监视服务器105可以检测执行的缺乏,进入服务、应用107或工作负载109的连接的数量,以及异常。监视服务器105可以监视多个服务,应用107和工作负载109的元件,通常称为“度量”。可以被监视的度量可以包括(但不限于)CPU负载、同时的连接的数量、错误、与应用107或工作负载109的模拟交互、网络负载(即,服务质量、等待时间、发送(ping)等)以及被防火墙阻挡的尝试连接。由监视服务器105对度量的监督允许可以引用或指示显著状态改变的警报的创建,其可以是在一些实例中是执行一个或多个任务111的结果。可以响应于一个或多个任务111的实施而创建的警报的示例可以包括CPU负载过高、储存库的推入、构建错误和太多同时的连接。
在一些实施例中,迁移工具121可以用于执行一个或多个端对端迁移任务111。迁移工具121可以由一个或多个利益相关者经由迁移客户端设备119操作,并且可以经常由可以被分派任务111的多于一个的不同团队使用,诸如数据迁移团队、管理团队和/或基础设施团队。数据迁移工具121的实施例可以用于将应用107a、服务、库、服务器103a,105a和/或工作负载109a(统称为“迁移数据”)从一个存储系统移动到另一个存储系统,并且更具体地从数据迁移源的一个或多个存储系统移动到数据迁移目标的(多个)存储系统。数据迁移工具121可以执行一个或多个端对端迁移任务111,包括通过过程的选择、准备、提取和/或转换数据迁移源的数据的迁移任务115,以确保迁移数据的形式与数据迁移目标的存储系统的新存储位置兼容。迁移工具121的实施例可包括能够执行数据集成的工具集,以及包括提取、加载和变换(ETL)工具。
可以是迁移工具121的实施例的一部分的ETL工具能够处理端对端迁移任务111的复杂要求,包括数据迁移过程的复杂迁移任务115。迁移工具121的ETL功能可以包括用于处理大数据集合、深入数据剖析和在多个平台之间的迁移数据的集成的工具。在一些实施例中,迁移工具121的ETL功能可以自动化标准ETL任务,诸如从操作系统取得数据、将取得的数据转换成统一格式以及将转换的数据加载到数据迁移目标的目的地数据库或存储系统中。
在迁移工具121的一些实施例中,执行一个或多个端对端迁移任务的迁移工具的输出可以包括输出一个或多个日志、警报、错误、记录和/或详述由迁移工具121执行的任务111的另一类型的数字资产、执行的一个或多个动作、执行任务111的结果(该结果包括成功、失败、错误等的指示)、任务被发起和完成的日期和时间、以及描述执行任务的用户的信息、运行迁移工具121的迁移客户端设备119的IP地址、数据迁移源和数据迁移目标。
作为由一个或多个系统、组件、程序应用107、工作负载、服务器103、105和/或迁移工具121执行一个或多个所分派的端对端迁移任务111的结果而记录和/或生成的数字资产的实施例,诸如日志、记录、错误、警报和事件,其可以被存储为审计轨迹129的一部分作为区块链或另一类型的分布式数据库的数据层128内的一个或多个区块。在一些实施例中,本文描述的方法、系统和/或计算机程序产品利用是分布式存储系统的分散式数据库(诸如区块链),其包括在区块链网络130上的彼此通信的多个节点102(包括对等节点104-110),以创建和更新描述(多个)数据迁移源和(多个)数据迁移目标之间的数据的端对端迁移的审计轨迹129的数据。分散式数据库可以包括类似于能够维护相互不可信方之间的记录的分布式分类账本的仅附加不可变数据结构。不可信方在这里被称为对等节点104-110或简单地称为对等方。每个对等方104-110维护描述审计轨迹129的分布式分类帐本的副本,并且在分布式对等方104-110之间没有达成一致的情况下,没有单个对等方可以修改分类帐本的记录。例如,对等节点104-110可以实施一致协议以验证将数字资产存储为写入审计轨迹129的区块的块链存储交易,将存储交易分组为区块,并在区块上构建哈希链。如是必需的,该过程通过对存储交易进行排序来形成分类账本以便保持一致性。
在各种实施例中,可使用许可和/或无许可的区块链。在公共或无许可区块链中,任何人可以在没有特定身份(例如,保持匿名)的情况下参与。公共区块链可涉及本机加密货币并使用基于诸如工作证明的各种协议的共识。另一方面,许可的区块链数据库提供了在一组实体之间的安全交互,该实体共享共同的目标(即,数据的迁移)但不完全彼此信任,诸如交换资金、货物、(私人)信息等以完成其目标的企业、实体和/或利益相关者。
此外,在一些实施例中,方法、系统和/或计算机程序产品可以利用区块链,该区块链操作任意、可编程逻辑、为分散式存储方案量身定做并且被称为“智能合同”或“链码”。对等方104-110可以托管可以被连接到应用124的链码和/或可以执行应用代码以实现链码指令或命令的API 122的实例。例如,访问或查询特定对等节点的分类账本或用对等节点104-110的一致性更新分类账本(即,审计轨迹129)的指令。在一些情况下,可存在用于管理功能和参数的专用链码,其被称为系统链码(诸如管理对链外数据存储/数据库的访问)。在一些实施例中,方法、系统和/或计算机程序产品还可利用是可信任的分布式应用的智能合同,其利用区块链数据库的防篡改性质和节点102之间的底层协议,这被称为签注或签注策略。与该应用相关联的区块链交易在被调配给区块链之前可被签注,而未被签注的交易被忽略。
签注策略允许链码以签注所必需的对等节点104-110的集合的形式指定交易的签注者。当区块链网络130的客户端节点将交易发送到签注策略中指定的对等方104-110时,交易被执行以验证该交易。在验证之后,交易进入排序阶段,在该排序阶段中使用一致性协议来产生被分组成区块的签注的交易的有序序列。
在一些实施例中,方法、系统和/或计算机程序产品可以利用是区块链系统的通信实体的节点102。“节点”可在不同类型的多个节点可在相同物理服务器或区块链平台112上运行的意义上执行逻辑功能。区块链节点102被分组在信任域中并且与以各种方式控制它们的逻辑实体相关联。区块链节点102可包括不同类型,诸如客户端节点560或向签注者(例如,对等方)提交交易调用并向订购服务(例如,订购节点)广播交易建议的提交客户端节点。
另一种类型的节点102是对等节点104-110,其可接收客户端提交的交易、调配交易、并维护区块链交易的分类账本的状态和副本。对等方104-110也可以具有签注者的角色,尽管这不是需要的。订购服务节点或订购者是为所有区块链节点102运行通信服务的节点,并且其实现递送保证,诸如当调配/确认交易(包括对从数据迁移源、数据迁移目标、迁移工具121和一个或多个客户端设备119、123、127接收的数字资产的转移进行文件编制)并修改区块链的世界状态时到对等节点104-110中的每一个的广播,该世界状态是初始区块链交易的另一名称并且通常可以包括控制和设置信息。
在一些实施例中,方法、系统和/或计算机程序产品可以利用分类账本,该分类账本是区块链的所有状态变迁的排序的、防篡改的记录。状态变迁可以由参与方(例如,客户端节点、排序节点、签注者节点、对等节点等)提交的链码调用(例如,交易)产生。每个参与方(诸如对等节点104-110)可以维护分类账本的副本。交易可以导致资产键-值对集合被提交给分类账本作为一个或多个操作数,诸如创建、更新、删除等。分类账本包括用于以区块存储不可变的排序的记录的区块链(也称为链)。分类账本还包括维护区块链的当前状态的状态数据库。
在一些实施例中,本文描述的方法、系统和/或计算机程序产品可以利用链作为交易日志,该交易日志被构造为哈希链接的区块(如图6所示),并且每个区块包含N个交易的序列,其中N等于或大于一。区块标头包括区块交易的哈希605a-605n,以及之前的区块交易的哈希607a-n。在起源区块的实例中,之前区块的标头的哈希可被归零,因为之前区块可能不存在。鉴于哈希链接的区块,分类账本上的所有交易可以被排序并且加密地链接在一起。因此,在不破坏哈希链路的情况下,不可能篡改分类账本数据。最近添加的区块链区块的哈希605表示在该链上在其之前到来的每个交易,使得可能确保所有对等节点104-110处于一致且可信的状态。区块链可被存储在对等节点104-110文件系统(例如,本地、附加存储、云等),有效地支持区块链工作负载的仅追加性质。图6描绘了被结构化为由对等节点104-110存储的哈希链接块的交易日志的示例。如图6所示,区块链网络130的对等节点104和110中的每一个不仅包括链接的哈希605a-605n、之前的区块的先前哈希607a-607n以及有效载荷609a-609n(即,被添加到审计轨迹129的数字资产或文件),而且还包括标识创建和/或添加区块到区块链的时间的收据的时间戳603a-603n,以及索引601a-601n。在一些实施例中,可以将现时值608a-608n添加到由每个对等节点104-110所存储的区块中。“现时值”可以指在加密通信期间的“仅使用一次的数字”。现时值608的实施例可以是当区块被哈希或被加密以确保在重放攻击中旧通信不能重使用时在认证协议中发出的随机或伪随机数,并且如果区块链中的区块被重哈希,则区块的重哈希通过被分派与重哈希的区块值相关联的新现时值而满足对重哈希的某些困难级别限制。
不可变分类账本的当前状态表示包括在链交易日志中的所有键的最新值。由于当前状态表示区块链网络130上的信道已知的最新键值,因此它有时被称为世界状态。信道的实施例允许对等方、应用124和API 122的特定集合在区块链网络130内彼此通信。链代码调用针对分类账本的当前状态数据执行交易。为了使这些链码交互作用有效,可将键的最新值存储在状态数据库中。状态数据库可以简单地是链的交易日志中的索引的视图,因此它可以在任何时间从链中重新生成。状态数据库可以在对等节点启动时并且在交易被接受之前自动恢复(或生成)。
本文描述和描绘的即时解决方案的一些益处包括用于实现区块链使用描述一个或多个端对端迁移任务111的执行的一个或多个数字资产来安全地创建端对端迁移事件的审计轨迹129的方法、系统和计算机程序产品。示例性实施例通过扩展数据库的特征,诸如不可变性、数字签名、并且是审计数据迁移源和数据迁移目标之间的数据迁移的执行的单一信任源,解决了时间和信任的问题。示例性实施例提供了用于生成安全分类账本的解决方案,该安全分类账本包含在经由区块链平台112可访问的区块链上的审计轨迹129。区块链网络130的实施例可以基于存储的信息的类型(例如,私有信息、公共信息、应用或工作量规范等)和基于经由应用124和/或API 122执行的智能合同来管理资产的规则而是同构的。在一些实施例中,由于可以从各种服务器103、105、迁移工具121、应用107、工作负载109和客户端设备119、123收集的不同类型的数字资产的性质,区块链网络130可以基于被存储到审计轨迹129的资产类型,或者基于被添加到审计轨迹129的迁移项目并且跨区块链通信协议可以用于每个区块链网络以同步地彼此通信。在其他实施例中,区块链网络130中的每个链可以与资产类型相关联,并且管理资产类型的规则可以经由通过跨链通信协议进行通信的链来组合。
注意,区块链与传统数据库的不同之处在于,区块链不是中央存储,而是分散的、不可变的和安全的存储,其中节点102可共享对存储中的记录的改变。区块链中固有的并且其帮助实现区块链的一些性质包括但不限于,不可变的分类账本、智能合同、安全性、隐私、分散化、共识、签注、可访问性等,其在本文中被进一步描述。根据各个方面,由于对区块链固有且唯一的不可变的责任制、安全性、隐私、允许的分散化、智能合同的可用性、签注和可访问性,实现了本文描述的系统。
具体地,包括审计轨迹129的区块链分类账本数据是不可变的,这提供了用于在进行数据迁移源和数据迁移目标之间的数据的端对端迁移的同时安全地审计一个或多个端对端任务111的执行的有效方法。此外,区块链中加密的使用提供了安全性并建立了信任。智能合同管理添加到审计轨迹129的数字资产的状态。示例性区块链是权限分散化的。因此,端对端数据迁移项目的每个终端用户、管理者和/或审计者可以访问其自己的分类账本副本。包括负责审计或执行任务111的一部分的不同组织、实体(和对等方)的多个利益相关者可以被装载到区块链网络130上。键组织可以用作签注对等方以验证智能合同执行结果、读取集和写入集。换言之,区块链固有特征提供了由利益相关者使用区块链平台112来审计源和目标之间的数据的端对端迁移的有效实现方式,以跟踪端对端迁移任务111的进展和执行。
本文描述的示例性实施例的益处之一在于,区块链改善了使用区块链网络130实现数据迁移审计轨迹129的一个或多个数据处理系统10的功能(例如,通过遵从在区块链网络130中的验证者/节点来实现转移,其可以促进确认接受一个或多个端对端迁移任务111的执行到审计轨迹129所需的多个签名的收集和签注)。通过本文描述的区块链系统,计算环境200、240、300、500、550的数据处理系统(或(一个或多个)数据处理系统10的处理器)可通过提供对区块链平台112的能力(诸如分布式分类账本、对等方、加密技术、事件处理等)的访问来执行用于跟踪源和目标系统和/或利用区块链网络130的云网络250之间的端对端数据迁移的进展的功能。此外,区块链平台112使得能够创建业务网络并使得任何利益相关者(包括端对端迁移事件的用户、实体或组织)成为机载参与(例如,与不可变的分类账本合并,成为验证/信任方等)。这样,区块链不仅仅是数据库;区块链具有创建用户、实体、机载/机外组织和其他利益相关者的网络的能力,所述网络可以以执行交易的智能合同的形式合作和执行服务过程,所述交易具有用描述端对端迁移任务的数字资产查询和更新的审计轨迹129的分类账本。此外,查询交易允许由审计者查看分类账本,以便监视一个或多个端对端数据迁移任务的进展和执行。
传统数据库的实施例不能被用于实现本文描述的实施例,因为传统数据库不能将参与端对端迁移的所有利益相关者带到区块链网络130上,所以传统数据库不创建可信合作,并且不提供防篡改存储和日志的保存、警报、记录和记录到区块链分类账本的其他数字资产。因此,本文描述的利用区块链网络130的所提出的实施例不能由传统数据库实现。此外,如果传统的数据库被用于实现示例实施例,则在此描述的示例实施例将遭受不必要的缺点,诸如缺乏安全性,以及缺乏包括描述端对端迁移任务111的状态的审计轨迹129的分类账本的单个统一共识。因此,示例实施例提供了对数据迁移源和数据迁移目标之间的审计数据迁移的领域/领域中的问题的具体解决方案。
现在转向图2A-2B的区块链平台112和图5A的区块链架构500,区块链平台112的实施例可包括某些区块链元件,例如,一组区块链节点102。区块链节点102可包括一个或多个对等方104-110(这四个节点仅通过示例来描述)。这些节点102参与若干活动,诸如区块链交易添加和验证过程(共识)。对等方104和110中的一个或多个可基于签注策略来签注和/或推荐交易(诸如将一个或多个数字资产记录为到区块链的区块),并可为区块链架构500中的所有区块链节点102提供订购服务。区块链节点102可发起区块链认证并设法写入存储在区块链层116中的区块链不可变分类账本,其副本也可存储在和/或数据层128上,或支持物理基础设施114。区块链配置可包括一个或多个区块链应用124,其可链接到应用编程接口(API)122以访问和执行存储的程序/应用代码120(例如,链代码、智能合同等),其可根据参与者所寻求的定制配置来创建,并且可维护其自身的状态、控制其自身的资产、以及接收外部信息。应用代码120可被部署为交易,并通过附加到分布式分类账本而被安装在所有区块链节点102及其对等方104和110上。例如,应用代码120可以运行基于被查询对等方的分类账本查询处于其当前状态的审计轨迹129的链代码,和/或利用区块链网络130的特定信道上的对等方的共识,运行具有一个或多个新记录、日志、事件、警报等更新审计轨迹129的应用代码120。
区块链平台112的实施例可包括各种层,诸如区块链数据层128、服务层118(例如,加密信任服务、虚拟执行环境等)以及基础物理计算机基础设施114层,其可被用于接收构成审计轨迹129的新交易并将其存储到区块链上,并提供对试图查询审计轨迹129的数据的审计者的访问(例如,经由审计客户端设备127)。区块链层116可展示提供对处理应用代码120和使用物理基础设施114所必需的虚拟执行环境的访问的接口。密码信任服务可用于验证诸如资产交换交易等交易并保持交易信息私密。
区块链架构500可经由区块链层116中暴露的一个或多个接口通过API122处理和执行应用代码120,以及由服务层118中的区块链平台112提供的服务。应用代码120可以控制区块链资产。例如,应用代码120可以存储和传送数据,并且可以由对等方104以服从智能合同和具有条件或其它代码元件的关联链码的形式执行。作为非限制性示例,可以创建智能合同以执行资源的转移和/或资源的生成。智能合同本身可以用于识别与授权(例如,资产递送规则、存储、限制等)、访问要求(例如,数据存储、链外数据存储等)和/或分类账本的使用相关联的规则,以创建或附加审计轨迹129。例如,审计轨迹资产数据529可以由包括在区块链层116中的一个或多个处理实体(例如,虚拟机)来处理。输出的结果531可以包括多个链接的共享文档(例如,每个链接的共享文档记录关于审计轨迹资产数据529的智能合同的签发,该审计轨迹资产数据被识别为被批准或被拒绝添加到区块链),包括可能包含日志、记录、警报、错误报告和经由API 122传送到区块链平台112的其他数字资产的文档和文件。在一些实施例中,物理基础设施114可以用于取得本文描述的任何数据或信息。
智能合同可以经由高级别应用和编程语言来创建,并且然后被写入区块链中的区块。智能合同可以包括使用区块链(例如,区块链对等方的分布式网络)注册、存储和/或复制的可执行代码。交易是智能合同代码的执行,其可以响应于与智能合同相关联的条件被满足而被执行。智能合同的执行可以触发对区块链的分类账本的状态的(一个或多个)可信修改。由智能合同执行引起的对块链分类账本的(一个或多个)修改可通过一个或多个一致协议在整个块链对等方104-110的分布式网络中自动复制。
智能合同可以以键-值对的格式将数据写入区块链。此外,智能合同代码可以读取存储在区块链中的值,并在应用操作中使用它们,例如以生成关于审计轨迹129的用户友好报告,并将报告递送到安装在用户客户端设备124上的区块链应用124。智能合同代码的实施例可以将各种逻辑操作的输出写入区块链中。该代码可用于在虚拟机或其它计算平台中创建临时数据结构。写入到区块链的数据可以是公共的和/或可以被加密并被作为私有数据进行维护。由智能合同使用/生成的临时数据由所提供的执行环境保持在存储器中,然后一旦标识了区块链所需的数据就被删除。
链码可以包括具有附加特征的智能合同的代码解释。如这里所述,链码可以是部署在计算网络上的应用代码120,其中它在共识过程期间由链式验证者一起执行和验证。链码接收哈希605,并从区块链取得与通过使用先前存储的特征提取器创建的数据模板相关联的哈希。如果哈希标识符的哈希与从所存储的标识符模板数据创建的哈希匹配,则链码向所请求的服务发送授权键。链代码可以将与加密细节相关联的数据写入区块链(例如,从而确认数字资产的转移,诸如针对审计轨迹129日志、记录、警告或事件;或识别与数字资产的透视转移的差异等)。
图5B示出例如通过对等(p2p)网络的节点102的区块链网络130的节点102之间的区块链交易流550的示例。交易流550可包括由应用客户端节点560发送给签订方对等节点581的交易建议591(例如,在一些实施例中,交易建议591可以是包括与链外数据存储或数据库相关联的标识符的请求)。签注对等节点581可以验证客户端签名并执行链码功能以发起所建议的交易。例如,建议的交易以记录从迁移工具121到区块的日志,并将该区块输入到审计轨迹129区块链中。输出可以包括链码结果、在链码中读取的键/值版本的集合(读取集)以及在链码中写入的键/值集合(写入集)。建议响应592与签注签名(如果被批准)一起被发送回客户端节点560。客户端节点560将签注组装成交易有效载荷593,并将有效载荷593广播到排序服务节点584。排序服务节点584然后将排序的交易作为区块传递到信道上的所有对等点581-583。在被调配到区块链之前,每个对等方581-583可以检查签注策略以确保特定对等方的正确分配,该特定对等方已经对结果签名并针对事务有效载荷593验证签名(例如,所有对等方或阈值数量的对等方,验证请求是否包括允许找到数据存储连接对象和/或访问存储数字资产的链外数据库的标识符和/或对称密钥)
客户端节点560的实施例通过构造并发送请求到作为签注者的对等节点581来发起交易建议591。客户端节点560可以包括利用支持软件开发工具包(SDK)的应用,其利用可用的API 122来连接到对等方并调用链码以生成交易建议591。通过对等连接,应用124和/或API 122可以执行链码以查询或更新分类账本。分类帐查询交易的结果被立即返回,而分类帐更新涉及应用、对等方和订购者之间的更复杂的交互(在此详细描述)。交易建议591是来调用链码功能的请求,使得数据可以被读取和/或写入到分类账本(例如,写入用于被添加到审计轨迹129的资产的新键值对)。SDK可将交易建议591的包简化为适当的架构化格式(例如,远程过程调用(RPC)上的协议缓冲区),并取客户端节点560的密码凭证来产生交易建议591的唯一签名。
作为响应,签注对等节点581可以验证(a)将数字资产添加到包括审计轨迹129的区块的交易建议591形成得很好,(b)过去尚未提交交易(重放攻击保护),(c)签名有效,以及(d)提交者(在该示例中,客户端节点560)被恰当地授权以在区块链网络130的该信道上执行所建议的操作。签注对等节点581可将交易建议591输入作为调用的链码函数的自变量。然后针对当前状态数据库执行该链码,以产生包括响应值、读集合和写集合的交易结果。然而,此时不对区块链的节点102的分类账本进行更新。在一些实施例中,该值集合连同签注对等节点581的签名一起作为建议响应592被传回给客户端节点560的SDK,该SDK解析负载593以供应用124和/或API 122消费和显示。
作为响应,客户端节点560的应用查看/验证签注对等方的签名并比较该建议响应以确定该建议响应是否相同。如果链码只查询分类账本,则应用查看查询响应并且典型地不向排序节点584服务提交交易。如果客户端节点560意图向排序节点584服务提交交易以更新分类账本,则客户端节点560确定指定的签注策略在提交之前是否已经被满足(例如,请求已经被接受)。这里,客户端节点560可以仅包括以将数字资产添加到审计轨迹129的区块中交易的多方或利益相关者之一。在这种情况下,每个单独的客户端节点560可以具有它们自己的签注对等方,并且每个签注对等方将需要签注该交易。该架构使得即使客户端节点560选择不查看响应或以其他方式转发未签注的交易,签注策略仍将由对等方强行实施并在提交验证阶段得到支持。
在成功查看之后,在交易有效载荷593步骤中,客户端节点560将签注装配到交易中,并在交易消息内将交易建议591和响应广播到排序节点584。交易可以包含读/写集合、签注对等方的签名和信道ID。排序节点584不需要查看交易的全部内容以便执行它的操作,而是用排序节点584可以简单地从网络的所有信道接收交易、由信道按时间顺序对它们排序,并且创建每信道的交易的区块来替代。
交易的区块在信道中从排序节点(图5B的示例中的第4对等节点584,在此被称为“排序节点584”)被递送到所有对等节点581-583。区块内的交易594被验证以确保任何签注策略被满足,并确保自从由交易执行生成读集合以来,对于读集合变量的分类帐本状态没有改变。区块中的交易被标记为有效或无效。此外,在步骤595中,每个对等节点581-583将区块附加到信道的链,并对于每个有效交易,写集合被调配给当前状态数据库。发出事件以通知客户端节点560的应用该交易(调用)已经被不可变地附加到链,以及通知交易是被验证的还是未被验证的(例如,对审计轨迹129的更新请求是被允许还是拒绝,其可以包括从一个或多个服务器103、105、迁移工具121和/或客户端设备119、123、127发送到区块链平台112的新数字资产的添加)。
用于执行区块链实现的数据前几审计轨迹的方法
图7的图表示执行用于执行区块链实现的数据迁移审计轨迹129的计算机实现方法的算法700的实施例,其能够安全地跟踪端对端迁移任务111的进展。如图7所示和所述的算法700可以使用一个或多个计算机系统,该算法一般由图1的数据处理系统10定义,并且更具体地由图2A-6中所描绘和如文本所述的计算环境200、240、300、500、550的专用数据处理系统的实施例定义。本领域技术人员应当认识到,图7中描述的算法700的步骤可以以与所呈现的不同的顺序来执行。算法700可以不必要求执行本文描述的所有步骤。而是,算法700的一些实施例可以通过使用下面讨论的步骤中的一个或多个步骤执行步骤的子集来改变该方法。
算法700的实施例可以在步骤701开始。在步骤701中,用户、所有者、管理者、实体或具有对由一个或多个数据迁移源存储的数据进行数据迁移授权以创建和/或授权新数据迁移项目的权限的其他利益相关者。授权和/或创建数据迁移项目的用户可以标识诸如源数据中心101或云网络250的负责传送数据的数据迁移源和被指定为接收从数据迁移源迁移的数据的目标数据源,诸如目标数据中心125或第二云网络。
在算法700的步骤703中,可以生成任务列表111和/或将其分发给每个利益相关者和/或可以参与或贡献于在步骤701中创建的数据迁移项目的参与者。所生成的任务列表111可以包括用于准备、传送和验证数据迁移源和数据迁移目标之间的数据的成功迁移的一个或多个端对端迁移任务。端对端迁移任务列表111的实施例可包括一个或多个预迁移任务113、迁移任务115和/或后迁移任务117。在步骤705中,在步骤703中生成的任务列表的一个或多个任务111可以被分派给一个或多个利益相关者,诸如负责执行任务列表111的分派任务的特定参与者团队。此外,除了所分派的任务之外,任务列表111还可包括用于在截止期限之前完成任务的调度和在可完成的从属任务之前可能需要所分派的任务的完成的一个或多个从属任务的指定。
在算法700的步骤707中,通过将针对任务的完成而调度的到期日与做出确定的当前日进行比较,做出数据迁移项目的分派的任务中的一个或多个是否超期的确定。如果分派的任务还没有被执行并且超过由在步骤703中生成的任务列表调度的所分派的到期日,则算法可进行到步骤709,其中超过到期日的任务的非执行被记录到数字资产,诸如日志文件、事件记录、警报等。组件、程序、服务器103,105、迁移工具121或记录所分派的任务的非执行的其他资源可以发起交易,以将指示任务的非执行的数字资产添加到由区块链平台112维护的审计轨迹129。例如,生成指示任务的非执行的数字资产的资源可以经由请求维护审计轨迹129的分类账本被更新以包括非执行资产的API 122和/或应用124执行应用代码120。具体地,接收更新分类账本的请求的客户端节点可以执行链代码,该链代码将更新请求的执行传播到区块链网络130的对等方104-110。
相反地,如果在步骤707中,确定分派的任务111是否过期,则可以做出是否已经在计算环境200、250内执行一个或多个任务111的第二确定,作为在步骤701中创建的端对端迁移项目的一部分。如果在步骤711中尚未执行任务111,则算法700可以返回到步骤707。同样,如果在步骤711中,发生了一个或多个任务111的执行,则算法700可进行到步骤713。在步骤713中,在由计算环境200、250的一个或多个资源(诸如由(一个或多个)应用107、工作负载109、迁移工具121、服务器103、105和/或客户端设备119、124、127)执行任务时,计算环境的一个或多个资源可以生成和/或更新数字资产,诸如日志、警告、错误报告、事件记录等,其详述任务111的执行、结果和可以提供用于任务111的执行的上下文的一个或多个附加细节(即,识别何时执行任务、哪个资源执行任务、何时执行任务、用户名、网络、IP地址等)。例如,记录任务的执行的数字资产可以是应用日志、操作系统日志、来自一个或多个迁移工具121的输出、来自客户端119、123、127或服务器103、105的用户访问日志和/或网络设备日志。
在算法700的步骤715中,由计算环境200、240的一个或多个资源生成的数字资产可以连同以更新审计轨迹129的分类账本的交易建议一起发送资产,以便准确地反映维护审计轨迹129的区块链上的一个或多个任务111的执行。例如,生成资产的计算机环境200、240的一个或多个资源可以通过应用124和/或API 122将请求转发到区块链平台112。响应于接收到以更新包括审计轨迹129的区块链的分类账本的交易建议,应用124和/或API 122可以执行应用代码120,以便处理与一个或多个对等节点104-110的请求。例如,通过API122,寻求更新区块链的资源与区块链网络130的一个或多个对等节点104-110建立对等连接并且应用代码120调用链码以促进对等节点104-110来更新被提供有详述任务111的执行的数字资产的包括审计轨迹129的区块链。所调用的链码可生成更新建议响应,该响应可被返回给发送初始更新请求的应用124或API 122。
在算法700的步骤717中,指示一个或多个任务的执行的数字资产的记录可以被输入到区块链上,该区块链包括作为区块链中的区块的审计轨迹129。例如,在经由应用124或API 122从对等节点接收到建议响应时,应用124和/或API可通过向区块链网络130的排序节点发送交易请求来对被执行的更新交易进行排序。排序节点可将来自区块链网络130的交易收集成区块,其可包括索引601、时间戳603、哈希605、之前区块的先前哈希607、现时值(nonce)608和/或包括详述执行(或端对端迁移任务的非执行)的数字资产的有效载荷609。区块链网络130的排序节点的实施例可将针对所请求的交易的区块分发到区块链网络130上的所有对等方(或区块链网络的特定信道),包括接收调用链码以更新包括审计轨迹129的分类账本的原始更新请求的对等节点。对等节点104-110可以验证从排序节点接收的区块并且如果更新请求被认为是有效的,则从排序节点接收区块的每个对等节点可以更新他们的由每个对等节点104-110维护的审计轨迹129的分类账本的副本(如果对等节点104-110达成以执行更新交易的共识)。在一些实施例中,在包括审计轨迹129的分类账本的经验证的更新之后,对等节点104-110可以生成事件以标识更新交易的完成并将该事件发送给生成该初始交易请求的应用124或API 122。
在算法700的步骤719中,可以作出是否每个端对端迁移任务111已经被完成的确定。如果在步骤703中生成的端对端迁移任务111已经全部被完成,则算法700可以结束。相反地,如果仍然存在数据迁移项目的附加的未执行的端对端迁移任务111,则算法700可以从步骤719回到步骤707。
在一些实施例中,端对端迁移任务111的审计者可以尝试在任务111的执行已经被调度或完成的任何时间点,包括在所有端对端迁移任务111完成时,查看包括审计轨迹129的分类账本。审计者可以例如经由审计客户端设备127通过使用应用124和/或经由API 122建立与对等节点104-110的对等连接并且提交查询请求以接收由具有所建立的对等连接的对等节点维护的分类账本的副本来访问包括审计轨迹的分类账本。经由应用124和/或API122提交的查询请求可以执行应用代码120,调用对等节点的链码来执行查询请求。链代码生成分类账本的查询结果,并且将包括审计追踪129的分类账本的副本返回到审计者的客户端设备127,以便由审计者审查和分析。在一些实施例中,审计者可以利用包括审计轨迹129的分类账本的副本来准备详述端对端迁移任务的状态和执行的一个或多个报告,并且可以将生成的报告发送到一个或多个客户端设备119、123、127。
已经出于说明的目的呈现了对本公开的各种实施例的描述,但是其并非旨在是穷举的或限于所公开的实施例。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上发现的技术的技术改进,或为了使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (9)
1.一种用于生成区块链实现的数据迁移审计轨迹的计算机实现方法,包括:
由处理器创建被配置为委托用于将数据从数据迁移源迁移到数据迁移目标的一个或多个任务的任务列表;
由所述处理器将所述一个或多个任务分派给负责所分派的任务的执行的至少一方,以完成所述数据从所述数据迁移源到所述数据迁移目标的迁移;
由所述处理器执行所述所分派的任务;
由所述处理器根据执行所述所分派的任务,将与所述所分派的任务的执行相对应的细节记录到数字资产;
由所述处理器将所述数字资产记录为区块链的区块;以及
由所述处理器将描述用于从数据迁移源迁移到数据迁移目标的所述所分派的任务的执行的所述区块链的所述区块分发到区块链网络的所有节点,其中,记录到所述区块链的所述区块更新所述区块链实现的数据迁移审计轨迹。
2.根据权利要求1所述的计算机实现方法,其中记录所述分派的任务的执行的所述数字资产选自由事件日志、应用日志、操作系统日志、用户访问日志、系统警报、网络设备日志和来自数据迁移工具的输出组成的组。
3.根据权利要求1所述的计算机实现方法,还包括:
由所述处理器,使用与托管所述区块链网络的区块链平台通信的应用编程接口API来建立与所述区块链网络的对等节点的对等连接;以及
由所述处理器,调用所述对等节点的链码,以用包括由所述数据迁移源或所述数据迁移目标的记录服务器或监视服务器、或者所述数据迁移工具中的至少一个生成的所述数字资产的区块来更新所述区块链。
4.根据权利要求3所述的计算机实现方法,其中,包括所述数字资产的被更新的所述区块链的所述区块还包括添加到所述区块的所述数字资产的时间戳、针对更新的区块生成的唯一的描述请求要由所述区块记录的内容的哈希、以及描述所述区块链网络中的紧接在之前记录的区块的先前的哈希。
5.根据权利要求1所述的计算机实现方法,其中所述数据迁移源和所述数据迁移目标各自选自由数据中心、公有云网络和私有云网络组成的组。
6.根据权利要求1所述的计算机实现方法,还包括:
由所述处理器,使用与托管所述区块链网络的区块链平台通信的应用编程接口API来建立到所述区块链网络的对等节点的对等连接;
由所述处理器,向所述区块链网络的对等节点查询所述区块链实现的数据迁移审计轨迹的副本;
由所述处理器,基于所取得的区块链实现的数据迁移审计轨迹来生成描述用于将数据从数据迁移源迁移到数据迁移目标的所述一个或多个任务的进展的报告;以及
由所述处理器,将所述报告分发到所述数据迁移源或所述数据迁移目标的一个或多个客户端设备。
7.根据权利要求1所述的计算机实现方法,其中,所述区块链网络是对等p2p网络并且接收所述区块的所述p2p网络的每个节点验证所述区块未被篡改,并将所述区块添加到所述区块链网络的现有区块链。
8.一种用于生成区块链实现的数据迁移审计轨迹的计算机系统,包括:
处理器;以及
耦合到所述处理器的计算机可读存储介质,其中所述计算机可读存储介质包括执行根据权利要求1至7中任一项所述的计算机实现方法的程序指令。
9.一种计算机程序产品,包括:
具有随其体现的程序指令的计算机可读存储介质,所述程序指令可由处理器执行以使所述处理器执行根据权利要求1至7中的任一项所述的用于创建区块链实现的数据迁移审计轨迹的计算机实现的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/065,555 US11449478B2 (en) | 2020-10-08 | 2020-10-08 | Blockchain implemented data migration audit trail |
US17/065,555 | 2020-10-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297174A true CN114297174A (zh) | 2022-04-08 |
Family
ID=78399508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111162643.2A Pending CN114297174A (zh) | 2020-10-08 | 2021-09-30 | 区块链实现的数据迁移审计轨迹 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11449478B2 (zh) |
JP (1) | JP7470089B2 (zh) |
CN (1) | CN114297174A (zh) |
DE (1) | DE102021123128A1 (zh) |
GB (1) | GB2601049B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412336A (zh) * | 2022-08-26 | 2022-11-29 | 国网数字科技控股有限公司 | 联盟链账本篡改攻击检测方法、装置及电子设备 |
CN116010998A (zh) * | 2023-03-20 | 2023-04-25 | 中国信息通信研究院 | 基于区块链的数据格式校验及托管方法、装置和电子设备 |
CN116361271A (zh) * | 2023-05-09 | 2023-06-30 | 中航信移动科技有限公司 | 一种区块链数据修改迁移方法、电子设备及存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11416449B2 (en) * | 2020-07-23 | 2022-08-16 | National Applied Research Laboratories | Method of synchronous deletion for distributed storage system |
US20220129443A1 (en) * | 2020-10-27 | 2022-04-28 | Genetec Inc. | Document management system and related method |
US11700304B2 (en) * | 2020-11-19 | 2023-07-11 | Deixis, PBC | Confirmation of service levels via distributed ledgers |
US20220197730A1 (en) * | 2020-12-21 | 2022-06-23 | Sap Se | Blockchain-based multi-application communication platform |
US11962697B2 (en) * | 2021-09-24 | 2024-04-16 | Johnson Controls Tyco IP Holdings LLP | Systems and methods for tracking chain of custody of body worn cameras |
US11704219B1 (en) * | 2021-10-04 | 2023-07-18 | Splunk Inc. | Performance monitoring of distributed ledger nodes |
US20240020266A1 (en) * | 2022-07-15 | 2024-01-18 | Box, Inc. | Methods and systems for external migration collaboration |
CN116032793B (zh) * | 2022-11-17 | 2024-04-02 | 中国联合网络通信集团有限公司 | 信息处理方法、装置、电子设备及计算机可读介质 |
CN115858687B (zh) * | 2023-03-02 | 2023-05-23 | 山东省计算中心(国家超级计算济南中心) | 一种可审计、可强制撤销的区块链修改方法及系统 |
CN116723239B (zh) * | 2023-08-09 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 区块链数据的传输方法、装置、电子设备和可读介质 |
CN116910816B (zh) * | 2023-09-12 | 2023-12-05 | 北京迅京科技有限公司 | 一种提高隐私保护下的多方资产协同管理方法及装置 |
CN117689227A (zh) * | 2023-12-11 | 2024-03-12 | 广州智业节能科技有限公司 | 一种数字化运营管理平台、数据标准化方法及装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2393868B1 (es) | 2006-07-14 | 2013-11-06 | Kinamik Data Integrity, S.L. | Método y sistema para generar registros de auditoría inmutables. |
JP2009110102A (ja) | 2007-10-26 | 2009-05-21 | Chugoku Electric Power Co Inc:The | ログ監視システムおよびログ監視方法 |
JP4990322B2 (ja) * | 2009-05-13 | 2012-08-01 | 株式会社日立製作所 | データ移動管理装置及び情報処理システム |
US9602598B2 (en) * | 2013-05-29 | 2017-03-21 | International Business Machines Corporation | Coordinating application migration processes |
US10324914B2 (en) * | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
US20170345011A1 (en) * | 2016-05-26 | 2017-11-30 | Hitfin, Inc. | System and method executed on a blockchain network |
US11042525B2 (en) * | 2017-04-04 | 2021-06-22 | Oracle International Corporation | Extracting and labeling custom information from log messages |
EP3785199A4 (en) * | 2018-04-26 | 2022-01-19 | The Assay Depot, Inc. | DECENTRALIZED DATA VERIFICATION |
CN108829350B (zh) | 2018-05-31 | 2020-02-21 | 阿里巴巴集团控股有限公司 | 基于区块链的数据迁移方法和装置 |
CA3102237A1 (en) * | 2018-06-04 | 2019-12-12 | Foogal, Inc. | Utility token-based systems and methods |
JP7056429B2 (ja) | 2018-07-18 | 2022-04-19 | 株式会社デンソー | 履歴管理方法、及び履歴管理装置 |
US20200058007A1 (en) | 2018-08-15 | 2020-02-20 | NEC Laboratories Europe GmbH | Data exchange platform using blockchain |
US11301590B2 (en) * | 2018-09-05 | 2022-04-12 | International Business Machines Corporation | Unfalsifiable audit logs for a blockchain |
JP2020057881A (ja) | 2018-09-30 | 2020-04-09 | 株式会社ミツトヨ | データ管理システム |
US20200142965A1 (en) * | 2018-11-06 | 2020-05-07 | International Business Machines Corporation | Migration of a legacy system |
US11455380B2 (en) * | 2018-11-20 | 2022-09-27 | International Business Machines Corporation | Chain-of-custody of digital content in a database system |
SG11202003810RA (en) * | 2019-08-27 | 2020-05-28 | Advanced New Technologies Co Ltd | System and method for registering subscribable sub-states in blockchain |
US10637666B1 (en) | 2019-08-29 | 2020-04-28 | Blockstack Pbc | Migrating data for decentralized applications between disparate backend storage providers |
-
2020
- 2020-10-08 US US17/065,555 patent/US11449478B2/en active Active
-
2021
- 2021-09-07 DE DE102021123128.0A patent/DE102021123128A1/de active Pending
- 2021-09-24 GB GB2113648.6A patent/GB2601049B/en active Active
- 2021-09-30 CN CN202111162643.2A patent/CN114297174A/zh active Pending
- 2021-10-07 JP JP2021165692A patent/JP7470089B2/ja active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412336A (zh) * | 2022-08-26 | 2022-11-29 | 国网数字科技控股有限公司 | 联盟链账本篡改攻击检测方法、装置及电子设备 |
CN115412336B (zh) * | 2022-08-26 | 2023-03-31 | 国网数字科技控股有限公司 | 联盟链账本篡改攻击检测方法、装置及电子设备 |
CN116010998A (zh) * | 2023-03-20 | 2023-04-25 | 中国信息通信研究院 | 基于区块链的数据格式校验及托管方法、装置和电子设备 |
CN116010998B (zh) * | 2023-03-20 | 2023-08-29 | 中国信息通信研究院 | 基于区块链的数据格式校验及托管方法、装置和电子设备 |
CN116361271A (zh) * | 2023-05-09 | 2023-06-30 | 中航信移动科技有限公司 | 一种区块链数据修改迁移方法、电子设备及存储介质 |
CN116361271B (zh) * | 2023-05-09 | 2024-01-23 | 中航信移动科技有限公司 | 一种区块链数据修改迁移方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11449478B2 (en) | 2022-09-20 |
US20220114150A1 (en) | 2022-04-14 |
GB2601049B (en) | 2023-02-08 |
DE102021123128A1 (de) | 2022-04-14 |
JP2022062705A (ja) | 2022-04-20 |
GB202113648D0 (en) | 2021-11-10 |
GB2601049A (en) | 2022-05-18 |
JP7470089B2 (ja) | 2024-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449478B2 (en) | Blockchain implemented data migration audit trail | |
AU2020261982B2 (en) | Extracting data from a blockchain network | |
US11321337B2 (en) | Crowdsourcing data into a data lake | |
US20200234816A1 (en) | Blockchain Framework for Enforcing Regulatory Compliance in Healthcare Cloud Solutions | |
US20210352077A1 (en) | Low trust privileged access management | |
JP2023542317A (ja) | ブロックチェーン・ネットワークのための合意サービス | |
US11816069B2 (en) | Data deduplication in blockchain platforms | |
US20200234817A1 (en) | Continuous Compliance Auditing Readiness and Attestation in Healthcare Cloud Solutions | |
CN116325833A (zh) | 将设备标识集成到区块链的许可框架中 | |
US11943360B2 (en) | Generative cryptogram for blockchain data management | |
US11818206B2 (en) | Visibility of digital assets at channel level | |
US11804950B2 (en) | Parallel processing of blockchain procedures | |
US11640392B2 (en) | Blockchain endorsement agreement | |
US11782823B2 (en) | Automatically capturing weather data during engineering tests | |
US20220171763A1 (en) | Blockchain selective world state database | |
Dubey et al. | A Beginners Guide to Amazon Web Services | |
US20220188295A1 (en) | Dynamic management of blockchain resources | |
US20220255990A1 (en) | Topological ordering of blockchain associated proposals | |
Flamer et al. | ADL Enterprise Learner Record Repository Systems Integration Plan |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221206 Address after: New York, United States Applicant after: Qindarui Co. Address before: New York grams of Armand Applicant before: International Business Machines Corp. |
|
TA01 | Transfer of patent application right |