CN112559484A - 用于管理数据对象的方法、设备和计算机程序产品 - Google Patents
用于管理数据对象的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN112559484A CN112559484A CN201910911231.0A CN201910911231A CN112559484A CN 112559484 A CN112559484 A CN 112559484A CN 201910911231 A CN201910911231 A CN 201910911231A CN 112559484 A CN112559484 A CN 112559484A
- Authority
- CN
- China
- Prior art keywords
- migration
- application system
- data object
- previous
- blockchain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 title claims abstract description 17
- 238000013508 migration Methods 0.000 claims abstract description 328
- 230000005012 migration Effects 0.000 claims abstract description 327
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 20
- 238000012795 verification Methods 0.000 description 12
- 238000013515 script Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于管理数据对象的方法、设备和计算机程序产品。应用环境包括源应用***、目的地应用***和数据流区块链。在一种方法中,接收源应用***向目的地应用***迁移数据对象的迁移请求。基于数据流区块链中的一组迁移记录,验证迁移请求,数据流区块链包括数据对象在应用环境中的多个应用***之间被迁移的迁移历史。响应于迁移请求被验证,向数据流区块链中添加与迁移请求相关联的迁移记录。从源应用***向目的地应用***迁移数据对象。利用数据流区块链中包括的不可篡改的迁移记录,可以防止数据对象被非法迁移的情况,进而提供更高的安全性。进一步,提供了在应用环境中管理数据对象的设备和计算机程序产品。
Description
技术领域
本公开的各实现方式涉及应用***,更具体地,涉及用于在应用环境中管理数据对象在多个应用***之间的迁移的方法、设备和计算机程序产品。
背景技术
随着数据存储技术的发展,目前已经出现了用于提高应用***中的数据保护等级的多种技术。出于数据使用、数据安全性、存储***扩展或者其他原因,原本存储在一个应用***中的数据对象可能会被迁移至另一应用***。因而,如何以更为可靠并且有效的方式来管理数据对象的迁移,成为一个研究热点。
发明内容
因而,期望能够开发并实现一种以更为有效的方式来管理数据对象的技术方案。期望该技术方案能够与现有的应用***相兼容,并且通过改造现有应用***的各种配置,来以更为有效的方式管理应用***中的数据对象。
根据本公开的第一方面,提供了一种用于在应用环境中管理数据对象的方法。应用环境包括源应用***、目的地应用***和数据流区块链。在该方法中,接收源应用***向目的地应用***迁移数据对象的迁移请求。基于数据流区块链中的一组迁移记录,验证迁移请求,数据流区块链包括数据对象在应用环境中的多个应用***之间被迁移的迁移历史。响应于迁移请求被验证,向数据流区块链中添加与迁移请求相关联的迁移记录。从源应用***向目的地应用***迁移数据对象。
根据本公开的第二方面,提供了一种用于在应用环境中管理数据对象的设备,应用环境包括源应用***、目的地应用***和数据流区块链,该设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得装置执行动作。该动作包括:接收源应用***向目的地应用***迁移数据对象的迁移请求;基于数据流区块链中的一组迁移记录,验证迁移请求,数据流区块链包括数据对象在应用环境中的多个应用***之间被迁移的迁移历史;响应于迁移请求被验证,向数据流区块链中添加与迁移请求相关联的迁移记录;以及从源应用***向目的地应用***迁移数据对象。
根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1示意性示出了根据一个技术方案的用于管理数据对象的过程的框图;
图2示意性示出了根据本公开的示例性实现方式的用于管理数据对象的过程的框图;
图3示意性示出了根据本公开的示例性实现方式的用于管理数据对象的方法的流程图;
图4示意性示出了根据本公开的示例性实现方式的数据流区块链的结构的框图;
图5示意性示出了根据本公开的示例性实现方式的迁移记录的框图;
图6示意性示出了根据本公开的示例性实现方式的数据流区块链与元数据区块链的框图;
图7示意性示出了根据本公开的示例性实现方式的用于从源应用***向目的地应用***迁移数据对象的过程的框图;
图8示意性示出了根据本公开的示例性实现方式的用于从源应用***向目的地应用***迁移数据对象的过程的框图;以及
图9示意性示出了根据本公开的示例性实现的用于管理数据对象的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
用于数据保护的技术方案长期以来一直专注于以更为可靠的方式管理数据对象。随着区块链技术的发展,目前已经提供了基于不可篡改的(immutable)的区块链技术,来管理数据对象以便提供更高的安全性。图1示意性示出了根据一个技术方案的用于管理数据对象112的过程的框图100。如图1所示,应用环境可以包括多个应用***110、应用***120、…...、以及应用***130。在此的应用***可以用于向用户提供各种服务,并且每个应用***可以包括一个或多个数据对象。例如,应用***110可以用于提供音乐服务并且包括数据对象112。在此的数据对象112可以是用于存储音乐数据的数据块。
将会理解,尽管以音乐数据库来作为数据对象112的示例,在此的数据对象112还可以包括其他类型的数据,例如,文本文件、图像、音频、视频等文件类型。又例如,数据对象112还可以包括应用***110处的操作***、应用***等的映像。出于多种原因,数据对象112可以从一个应用***被迁移至另一应用***。目前已经提出了基于区块链技术来防止黑客或者恶意程序等篡改数据对象的技术方案。
应用环境中可以包括元数据区块链140,用于存储有关各个数据对象的元数据。在此的元数据可以包括数据对象的摘要信息,例如,可以生成数据对象112的摘要信息142,并将该摘要信息142存储至元数据区块链140中。将会理解,在各个应用***的运行过程中,应用***可能会受到黑客、恶意程序和/或其他类型的攻击。例如,恶意程序可能会篡改数据对象112的内容,导致数据对象112与最初的原始数据(raw data)不一致。在数据迁移150期间,可以针对迁移后数据对象122生成元数据,并比较生成的元数据与元数据区块链中的元数据142是否一致,进而确保数据对象的安全性。
将会理解,尽管图1示意性示出了一个数据对象112及其迁移后的数据对象122,在实际应用环境中可以存在更多数据对象。进一步,在元数据区块链140中还可以包括更多数据对象的元数据。尽管上述方式可以验证数据对象112在迁移期间是否被篡改,然而恶意程序或者黑客等可能会通过执行非法迁移操作来窃取数据。此时期望以更为安全并且可靠的方式来管理数据对象的迁移,以便禁止非法迁移操作。
为了解决上述缺陷,本公开的实现方式提供了一种用于管理数据对象的方法、设备和计算机程序产品。根据本公开的示例性实现,提出了数据流区块链(data flowblockchain)的概念,并且可以在数据流区块链中存储有关数据对象112被执行的历史迁移相关的信息。在下文中,将参见图2概括地描述本公开的实现方式的架构。
图2示意性示出了根据本公开的示例性实现方式的用于管理数据对象的过程的框图200。如图2所示,数据流区块链210可以包括与数据对象112的迁移相关联的迁移记录。迁移记录212可以包括与数据对象112相关联的多种信息。此时,在数据流区块链210中可以包括与数据对象112相关的所有权信息,并且由于数据流区块链210是不可篡改的,这可以防止恶意程序或者黑客来非法篡改数据对象112的迁移记录。进一步,可以基于迁移记录来验证迁移请求是否合法,进而有效地防止数据对象112被迁移至非法的目的地应用***。可以针对每次迁移操作来生成相应的迁移记录,例如,随着数据对象被迁移,还可以生成迁移记录214。
利用本公开的示例性实现方式,基于数据流区块链210来记录有关迁移操作的迁移记录,可以提高数据对象的安全性,进而降低出现非法迁移的风险。在下文中,将参见图3描述本公开的实现方式的更多细节。
图3示意性示出了根据本公开的示例性实现方式的用于管理数据对象的方法300的流程图。如图3所示,在框310处,接收源应用***向目的地应用***迁移数据对象的迁移请求。在此的迁移请求可以是基于多种条件来触发的,例如,可以基于源应用***中的存储空间的不足、源应用***中的故障、源应用***中的潜在风险等来生成迁移请求。
在框320处,基于数据流区块链210中的一组迁移记录,验证迁移请求。数据流区块链210可以包括数据对象112在应用环境中的多个应用***之间被迁移的迁移历史。将会理解,在此的一组迁移记录可以按照区块链的方式被链接在一起,并且以不可篡改的方式记录数据对象被迁移的历史。在下文中,将参见图4描述有关数据流区块链210的数据结构。
图4示意性示出了根据本公开的示例性实现方式的数据流区块链210的结构的框图400。如图4所示,一组迁移记录可以包括迁移记录212、迁移记录214、等。可以基于迁移记录212和214的摘要来生成节点416,并且可以基于下层节点的信息来生成上层节点。例如,节点412是基于该节点412的子节点416和其他子节点生成的,并且块410是基于节点412和节点414生成的。
将会理解,尽管图4仅示意性示出了与数据对象112相关联的迁移记录,根据本公开的示例性实现方式,数据流区块链210中还可以包括与其他一个或多个数据对象相关联的迁移记录。以此方式,数据流区块链210以不可篡改的方式存储了与多个数据对象相关联的迁移历史。通过在数据流区块链210中查找与数据对象112相关联的迁移记录,即可准确地确定在应用环境中已经被执行的历史迁移。
根据本公开的示例性实现方式,一组迁移记录包括先前迁移记录,先前迁移记录与针对数据对象执行的先前迁移请求相关联。具体地,可以基于每个先前迁移操作来生成相应的先前迁移记录。如图4所示,迁移记录212可以对应于数据对象112的一次先前迁移操作,而迁移记录214可以对应于数据对象112的另一次先前迁移操作。
随着时间的推移,可以不断地向数据流区块链210中***与每次迁移操作相关联的迁移记录,例如,可以添加迁移记录430和其他的迁移记录。继而,可以按照从下向上的顺序,逐步生成节点426、节点422并生成新的块420。块420可以被链接至块410并且作为数据流区块链210的一部分。
将会理解,由于先前执行的一系列迁移操作是按照时间顺序执行的,因而在前后相继的两个迁移操作中,前一迁移操作涉及的目的地应用***将是后一迁移操作涉及的源应用***。因而,根据本公开的示例性实现方式,先前迁移记录包括与先前迁移请求涉及的源应用***相关联的先前源信息、与先前迁移请求涉及的目的地应用***相关联的先前目的地信息。此时,先前迁移请求涉及的目的地应用***与源应用***相同。由于迁移记录可以按照区块链的方式通过散列进行链接,可以进一步基于关于相同元数据的所有迁移记录形成可跟踪的迁移操作历史。
图5示意性示出了根据本公开的示例性实现方式的迁移记录的框图500。图5示意性示出了前后相继迁移记录510和520,两个迁移记录分别对应于在时间上连续执行的两个迁移操作。如图5所示,每个迁移记录可以包括:源信息,用于指示迁移请求涉及的源应用***;以及目的地信息,用于指示迁移请求涉及的目的地应用***。将会理解,数据对象的第一个迁移记录可以被称为基本迁移记录,该迁移操作可以由数据对象的原始所有者发起。在此特定的迁移记录中,源信息可以为空。
进一步,迁移记录还可以包括元数据引用,该引用例如可以是指向数据对象的元数据在元数据区块链140中的位置的指针。如图5所示,迁移记录510可以包括目的地信息514、元数据引用516,迁移记录520可以包括源信息522、目的地信息524、元数据引用526。此时,目的地信息514中的目的地应用***可以与源信息522中的源应用***相同。
返回图3,在框330处,可以确定迁移请求是否被验证。根据本公开的示例性实现方式,可以基于先前迁移记录,确定源应用***对于数据对象的所有权。如果源应用***具有所有权,确定迁移请求被验证。如果源应用***不具有所有权,确定迁移请求未被验证。利用本公开的示例性实现方式,可以基于历史迁移记录中的已经被验证为有效的所有权,来确定迁移请求是否合法。此时,可以以更为简单并且有效的方式来降低数据迁移过程中的潜在风险。
根据本公开的示例性实现方式,可以从先前迁移记录中包括的先前目的地信息中确定所有权信息。如上文已经描述,迁移记录可以包括源信息、目的地信息、以及元数据引用。在此的源信息指示数据对象的迁移历史是从哪个应用***开始。进一步,源信息还可以包括该迁移记录所链接到先前迁移记录的哈希、以及数据对象的当前迁移操作之前的迁移操作的所有权证明。可以从迁移记录的源信息中获取之前的迁移操作的所有权证明,以便验证当前迁移操作是否合法。迁移记录中的目的地信息可以指示数据对象将要去往哪个应用***。进一步,目的地信息还可以包括当前迁移操作之后的所有权证明,该所有权证明可以在下一迁移操作中进行验证。
所有权证明可以是基于区块链的所有权验证程序,例如可以使用脚本方式来实现,该所有权证明可以由应用***中的任何节点执行,这些节点例如可以由数据保护服务的提供者的数据保护设备来实现。可以存在三种类型的脚本:所有权脚本(OwnershipScript)、包括在所有权脚本中的验证脚本(ValidationScript)以及所有权哈希脚本(OwnershipHashScript)。在迁移操作期间,源应用***将所有权脚本放置在源信息中,并附加来自先前迁移记录的目的地信息中的所有权哈希脚本。然后,源应用***可以将目的地应用***提供的所有权哈希脚本放置在目的地信息中,该目的地信息用于在下一迁移操作期间的所有权验证。在下文中示意性示出了用于执行所有权验证的脚本的示例。
如表1所示,三种类型的脚本OwnershipScript、ValidationScript以及OwnershipHashScript彼此协调操作来完成所有权验证的目的。在脚本中的<signature>表示用于执行加密的签名,<pubkey>表示用于执行解密的公共秘钥,而[DFOP_VERIFYSIG]、[DFOP_HASH]和[DFOP_EQ]可以分别表示不同的动作,如验证动作、哈希动作和压栈动作。将会理解,上文表1仅仅示意性示出了以脚本方式来实现验证所有权的过程的一个示例,根据本公开的示例性实现方式,还可以采用其他方式来验证应用***的所有权。
返回图3,如果迁移请求被验证,则方法300前进至图3中的框340处。如果迁移请求未被验证,则可以向应用***的管理员提供警报。在框340处,向数据流区块链210中添加与迁移请求相关联的迁移记录。以此方式,可以确保数据流区块链210中包括与每次迁移操作相关联的信息。新添加的迁移记录可以用于在下次执行迁移操作时验证迁移请求是否被允许。
根据本公开的示例性实现方式,可以按照参见图5描述的迁移记录的格式来生成迁移记录。具体地,可以向迁移记录中添加与源应用***相关联的源信息、与目的地应用***相关联的目的地信息。进一步,还可以向迁移记录中添加对于先前迁移记录的引用。以此方式,当前新生成的迁移记录被链接至先前迁移记录。基于在区块链中存储记录的格式,还可以逐层生成哈希值以确保数据流区块链210中的内容不被篡改。
根据本公开的示例性实现方式,可以向迁移记录中添加对于数据对象的元数据的引用,在此元数据被存储在与一组应用***相关联的元数据区块链140中。通过该引用,可以迅速找到与被迁移的数据对象相关联的元数据。在下文中,将参见图6描述如何向数据流区块链210中添加新的迁移记录610。图6示意性示出了根据本公开的示例性实现方式的数据流区块链210与元数据区块链140的框图600。如图6所示,在向数据流区块链210添加新的迁移记录610之前,数据流区块链210可以包括迁移记录510和520。此时,迁移记录510中的元数据引用516和迁移记录520中的元数据引用526均指向元数据区块链140中的元数据620。
继而,可以向该数据流区块链210添加如虚线框所示的迁移记录610。迁移记录610可以包括源信息612、目的地信息614以及元数据引616。此时,迁移记录610可以被链接至上一个迁移记录520,并且元数据引用616可以被指向元数据620。在已经向数据流区块链210添加了迁移记录610的情况下,可以执行图3中的框350处所示的步骤。在图3中的框350,可以从源应用***向目的地应用***迁移数据对象。此时,数据流区块链210中已经记录了与迁移操作相关的各种信息,这样可以确保迁移操作的历史不会被篡改,进而提高了应用***的可靠性。
在下文中,将参见图7描述从源应用***向目的地应用***迁移数据对象的完整过程。图7示意性示出了根据本公开的示例性实现方式的用于从源应用***向目的地应用***迁移数据对象的过程的框图700。如图7所示,在初始阶段,源应用***710中存储有数据对象,目的地应用***720表示执行迁移操作的目的地。如箭头730所示,源应用***710可以向数据流区块链210发送用于从源应用***710向目的地应用***720迁移数据对象的迁移请求。
在数据流区块链210处,如箭头732所示,可以查找数据对象的迁移记录,并且如箭头734所示,可以基于迁移记录来验证源应用***720的所有权。如果验证成功,则如箭头736所示向源应用***710返回验证成功的消息。此时,如箭头738所示,源应用***710可以生成并且向数据流区块链210添加与该迁移请求相关联的迁移记录。如箭头740所示,在已经完成向数据流区块链210添加迁移记录之后,可以向源应用***710返回添加成功的消息。此时,在箭头742处,源应用***710可以执行迁移操作,即,可以将数据对象从源应用***710迁移至目的地应用***720。利用本公开的示例性实现方式,数据流区块链210可以确保数据对象的迁移历史不会被篡改,进而可以以更高的可靠性提供数据存储服务。
根据本公开的示例性实现方式,为了进一步提高迁移数据对象迁移操作的可靠性,还可以基于元数据区块链中的元数据来验证数据对象是否被篡改。具体地,可以基于源应用***中的数据对象,生成数据对象的元数据以便用于与元数据区块链140中存储的元数据进行比较。可以基于迁移记录中的引用,从元数据区块链140中获取预先存储的数据对象的元数据。可以基于两个元数据是否相匹配来确定数据对象是否被改变。如果确定生成的元数据与获取的元数据相匹配,则确认数据对象未被修改,因而可以从源应用***向目的地应用***迁移数据对象。如果确定两者不相匹配,则可以向应用***的管理员提供警报。
图8示意性示出了根据本公开的示例性实现方式的用于从源应用***向目的地应用***迁移数据对象的过程的框图800。如图8所示的在箭头730、732、734、736、738、740处的操作与图7中所示的操作相同,因而不再赘述。图8和图7的不同之处在于:图8进一步示出了元数据区块链140来用于存储数据对象的元数据,并且图8中的箭头810至818处示出了基于元数据区块链140中的元数据来验证源应用***710中的数据对象是否被修改的过程。
如图8中的箭头810所示,在源应用应用***710处可以生成数据对象的摘要。进一步,如箭头812所示,可以向元数据区块链140发送获取元数据的请求,并且如箭头814所示,可以从元数据区块链140返回元数据。如箭头816所示,可以将生成的摘要与获取的元数据中的摘要相比较,以确定两者是否相匹配。如果两个摘要相匹配,则如箭头818所示,可以将数据对象从源应用***710迁移至目的地应用***720。
利用本公开的示例性实现方式,一方面基于数据流区块链210可以确保迁移过程中的源应用***和目的地应用***是具有合法所有权的应用***;另一方面,基于元数据区块链140可以验证源应用***710中的数据对象未被修改。以此方式,可以以更高的可靠性确保迁移操作的执行。将会理解,尽管图8示出了首先基于数据流区块链210来验证迁移请求继而基于元数据区块链140来验证数据对象是否被篡改的过程,根据本公开的示例性实现方式,上述两个验证过程还可以以不同的顺序执行,或者可以被并行地执行。
根据本公开的示例性实现方式,还可以基于数据流区块链210中的迁移记录来确定数据对象在应用环境中的各个应用***之间被拷贝的历史。将会理解,由于数据流区块链210中的内容是不可篡改的,因而可以准确地记录数据对象被迁移的历史信息,进而便于数据对象的所有者或者应用***的管理员等用户的查询。以此方式,可以确保数据对象的每次迁移操作都是可追溯的,进而可以为应用***的管理提供更多监控。
具体地,如果接收到用于查询数据对象的迁移历史的查询请求,可以在一组迁移记录中搜索与查询请求相关联的迁移记录。例如,可以基于数据对象的标识符来进行搜索。将会理解,由于迁移记录中可以包括对于先前迁移记录的引用,因而可以基于找到的迁移请求中的引用,来逐步获得之前的迁移记录。以此方式,可以获取与数据对象相关联的一组历史迁移记录。对于获得的一组历史迁移记录中的每个历史迁移记录,可以基于其中记录的源应用***和目的地应用***,来确定数据对象的迁移历史。
根据本公开的示例性实现方式,在应用环境中还可以提供包括可信应用***的白名单。具体地,可以获取与一组应用***相关联的白名单,白名单包括允许作为迁移操作的目的地的应用***的列表。如果确定目的地应用***被包括在白名单中,则可以从源应用***向目的地应用***迁移数据对象。根据本公开的示例性实现方式,如果迁移请求未被验证和/或目的地应用***没有被包括在白名单中,则阻止从源应用***向目的地应用***迁移数据对象。根据本公开的示例性实现方式,可以在元数据区块链140和数据流区块链210之间设置通信接口来交换数据。
在不包括数据流区块链210和元数据区块链140的传统应用环境中,在应用***本地存储的元数据和拷贝记录很可能被黑客或者恶意程序篡改。根据本公开的示例性实现方式,通过利用数据流区块链210和元数据区块链140,与保护数据对象的安全性相关相关的全部信息(例如,所有权信息、元数据信息)都被存储至区块链中,攻击者无法修改这些信息。以此方式,可以降低潜在风险并提高数据的安全性和可追溯能力。利用本公开的示例性实现方式,可以显著提高数据保护技术方案的稳健性。可以将参见上文描述的数据流区块链210和元数据区块链140作为数据保护服务的基础架构,并且可以在该基础架构上开发更多应用程序。以此方式,可以确保数据迁移操作期间的安全性,同时显着降低了迁移流程的复杂性。
在上文中已经参见图2至图8详细描述了根据本公开的方法的示例,在下文中将描述相应的装置的实现。根据本公开的示例性实现方式,提供了一种在应用环境中管理数据对象的装置。应用环境包括源应用***、目的地应用***和数据流区块链。该装置包括:接收模块,配置用于接收源应用***向目的地应用***迁移数据对象的迁移请求;验证模块,配置用于基于数据流区块链中的一组迁移记录,验证迁移请求,数据流区块链包括数据对象在应用环境中的多个应用***之间被迁移的迁移历史;添加模块,配置用于响应于迁移请求被验证,向数据流区块链中添加与迁移请求相关联的迁移记录;以及迁移模块,配置用于从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现方式,一组迁移记录包括先前迁移记录,先前迁移记录与针对数据对象执行的先前迁移请求相关联;先前迁移记录包括与先前迁移请求涉及的源应用***相关联的先前源信息、与先前迁移请求涉及的目的地应用***相关联的先前目的地信息,先前迁移请求涉及的目的地应用***与源应用***相同。
根据本公开的示例性实现方式,验证模块包括:所有权确定模块,配置用于基于先前迁移记录,确定源应用***对于数据对象的所有权;以及验证模块进一步配置用于:响应于源应用***具有所有权,确定迁移请求被验证;以及响应于源应用***不具有所有权,确定迁移请求未被验证。
根据本公开的示例性实现方式,所有权确定模块包括:获取模块,配置用于从先前迁移记录中包括的先前目的地信息中确定所有权信息;以及所有权模块,配置用于基于所有权信息验证源应用***对于数据对象的所有权。
根据本公开的示例性实现方式,添加模块进一步配置用于:向迁移记录中添加与源应用***相关联的源信息、与目的地应用***相关联的目的地信息、以及对于先前迁移记录的引用。
根据本公开的示例性实现方式,应用环境进一步包括元数据区块链,该装置进一步包括:元数据模块,配置用于向迁移记录中添加对于数据对象的元数据的引用,元数据被存储在元数据区块链中。
根据本公开的示例性实现方式,该装置进一步包括:生成模块,配置用于基于源应用***中的数据对象,生成数据对象的元数据;元数据获取模块,配置用于基于迁移记录中的引用,从元数据区块链中获取数据对象的元数据;以及迁移模块进一步配置用于响应于确定生成的元数据与获取的元数据相匹配,从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现方式,该述装置进一步包括:查询模块,配置用于接收用于查询数据对象的迁移历史的查询请求;搜索模块,配置用于在一组迁移记录中搜索与查询请求相关联的迁移记录;记录获取模块,配置用于基于迁移记录中包括的对于先前迁移记录的引用,获取与数据对象相关联的一组历史迁移记录;以及历史获取模块,配置用于基于一组历史迁移记录中的相应历史迁移记录中的相应源应用***和相应目的地应用***,获取迁移历史。
根据本公开的示例性实现方式,迁移模块进一步包括:白名单模块,配置用于获取与应用环境相关联的白名单,白名单包括被允许作为迁移操作的目的地的应用***的列表;迁移模块进一步配置用于响应于确定目的地应用***被包括在白名单中,从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现方式,该装置进一步包括阻止模块,配置用于响应于迁移请求未被验证,阻止从源应用***向目的地应用***迁移数据对象。
图9示意性示出了根据本公开的示例性实现的用于管理数据对象的设备900的框图。如图所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300,可由处理单元901执行。例如,在一些实现中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实现中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序被加载到RAM 903并由CPU 901执行时,可以执行上文描述的方法300的一个或多个步骤。备选地,在其他实现中,CPU 901也可以以其他任何适当的方式被配置以实现上述过程/方法。
根据本公开的示例性实现,提供了一种用于在应用环境中管理数据对象的设备,应用环境包括源应用***、目的地应用***和数据流区块链,该设备包括:至少一个处理单元;至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得装置执行动作。该动作包括:接收源应用***向目的地应用***迁移数据对象的迁移请求;基于数据流区块链中的一组迁移记录,验证迁移请求,数据流区块链包括数据对象在应用环境中的多个应用***之间被迁移的迁移历史;响应于迁移请求被验证,向数据流区块链中添加与迁移请求相关联的迁移记录;以及从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现方式,一组迁移记录包括先前迁移记录,先前迁移记录与针对数据对象执行的先前迁移请求相关联;先前迁移记录包括与先前迁移请求涉及的源应用***相关联的先前源信息、与先前迁移请求涉及的目的地应用***相关联的先前目的地信息,先前迁移请求涉及的目的地应用***与源应用***相同。
根据本公开的示例性实现方式,验证迁移请求包括:基于先前迁移记录,确定源应用***对于数据对象的所有权;响应于源应用***具有所有权,确定迁移请求被验证;以及响应于源应用***不具有所有权,确定迁移请求未被验证。
根据本公开的示例性实现方式,确定源应用***对于数据对象的所有权包括:从先前迁移记录中包括的先前目的地信息中确定所有权信息;以及基于所有权信息验证源应用***对于数据对象的所有权。
根据本公开的示例性实现方式,向数据流区块链中添加与迁移请求相关联的迁移记录包括:向迁移记录中添加与源应用***相关联的源信息、与目的地应用***相关联的目的地信息、以及对于先前迁移记录的引用。
根据本公开的示例性实现方式,应用环境进一步包括元数据区块链,该动作进一步包括:向迁移记录中添加对于数据对象的元数据的引用,元数据被存储在元数据区块链中。
根据本公开的示例性实现方式,该动作进一步包括:基于源应用***中的数据对象,生成数据对象的元数据;基于迁移记录中的引用,从元数据区块链中获取数据对象的元数据;以及响应于确定生成的元数据与获取的元数据相匹配,从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现方式,该动作进一步包括:接收用于查询数据对象的迁移历史的查询请求;在一组迁移记录中搜索与查询请求相关联的迁移记录;基于迁移记录中包括的对于先前迁移记录的引用,获取与数据对象相关联的一组历史迁移记录;以及基于一组历史迁移记录中的相应历史迁移记录中的相应源应用***和相应目的地应用***,获取迁移历史。
根据本公开的示例性实现方式,从源应用***向目的地应用***迁移数据对象包括:获取与应用环境相关联的白名单,白名单包括被允许作为迁移操作的目的地的应用***的列表;响应于确定目的地应用***被包括在白名单中,从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现方式,该动作进一步包括:响应于迁移请求未被验证,阻止从源应用***向目的地应用***迁移数据对象。
根据本公开的示例性实现,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的方法。
根据本公开的示例性实现,提供了一种计算机可读介质。计算机可读介质上存储有机器可执行指令,当机器可执行指令在被至少一个处理器执行时,使得至少一个处理器实现根据本公开方法。
本公开可以是方法、设备、***和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实现中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实现的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。
Claims (20)
1.一种用于在应用环境中管理数据对象的方法,所述应用环境包括源应用***、目的地应用***和数据流区块链,所述方法包括:
接收源应用***向目的地应用***迁移所述数据对象的迁移请求;
基于所述数据流区块链中的一组迁移记录,验证所述迁移请求,所述数据流区块链包括所述数据对象在所述应用环境中的多个应用***之间被迁移的迁移历史;
响应于所述迁移请求被验证,向所述数据流区块链中添加与所述迁移请求相关联的迁移记录;以及
从所述源应用***向所述目的地应用***迁移所述数据对象。
2.根据权利要求1所述的方法,其中:
所述一组迁移记录包括先前迁移记录,所述先前迁移记录与针对所述数据对象执行的先前迁移请求相关联;
所述先前迁移记录包括与所述先前迁移请求涉及的源应用***相关联的先前源信息、与所述先前迁移请求涉及的目的地应用***相关联的先前目的地信息,所述先前迁移请求涉及的目的地应用***与所述源应用***相同。
3.根据权利要求2所述的方法,其中验证所述迁移请求包括:
基于所述先前迁移记录,确定所述源应用***对于所述数据对象的所有权;
响应于所述源应用***具有所述所有权,确定所述迁移请求被验证;以及
响应于所述源应用***不具有所述所有权,确定所述迁移请求未被验证。
4.根据权利要求3所述的方法,其中确定所述源应用***对于所述数据对象的所有权包括:
从所述先前迁移记录中包括的所述先前目的地信息中确定所有权信息;以及
基于所述所有权信息验证所述源应用***对于所述数据对象的所述所有权。
5.根据权利要求2所述的方法,其中向所述数据流区块链中添加与所述迁移请求相关联的迁移记录包括:
向所述迁移记录中添加与所述源应用***相关联的源信息、与所述目的地应用***相关联的目的地信息、以及对于所述先前迁移记录的引用。
6.根据权利要求5所述的方法,其中所述应用环境进一步包括元数据区块链,所述方法进一步包括:
向所述迁移记录中添加对于所述数据对象的元数据的引用,所述元数据被存储在所述元数据区块链中。
7.根据权利要求6所述的方法,进一步包括:
基于所述源应用***中的所述数据对象,生成所述数据对象的元数据;
基于所述迁移记录中的所述引用,从所述元数据区块链中获取所述数据对象的元数据;以及
响应于确定生成的所述元数据与获取的所述元数据相匹配,从所述源应用***向所述目的地应用***迁移所述数据对象。
8.根据权利要求5所述的方法,进一步包括:
接收用于查询所述数据对象的迁移历史的查询请求;
在所述一组迁移记录中搜索与所述查询请求相关联的迁移记录;
基于所述迁移记录中包括的对于所述先前迁移记录的引用,获取与所述数据对象相关联的一组历史迁移记录;以及
基于所述一组历史迁移记录中的相应历史迁移记录中的相应源应用***和相应目的地应用***,获取所述迁移历史。
9.根据权利要求1所述的方法,其中从所述源应用***向所述目的地应用***迁移所述数据对象包括:
获取与所述应用环境相关联的白名单,所述白名单包括被允许作为迁移操作的目的地的应用***的列表;
响应于确定目的地应用***被包括在所述白名单中,从所述源应用***向所述目的地应用***迁移所述数据对象。
10.根据权利要求1所述的方法,进一步包括:
响应于所述迁移请求未被验证,阻止从所述源应用***向所述目的地应用***迁移所述数据对象。
11.一种用于在应用环境中管理数据对象的设备,所述应用环境包括源应用***、目的地应用***和数据流区块链,所述设备包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述装置执行动作,所述动作包括:
接收源应用***向目的地应用***迁移所述数据对象的迁移请求;
基于所述数据流区块链中的一组迁移记录,验证所述迁移请求,所述数据流区块链包括所述数据对象在所述应用环境中的多个应用***之间被迁移的迁移历史;
响应于所述迁移请求被验证,向所述数据流区块链中添加与所述迁移请求相关联的迁移记录;以及
从所述源应用***向所述目的地应用***迁移所述数据对象。
12.根据权利要求11所述的设备,其中:
所述一组迁移记录包括先前迁移记录,所述先前迁移记录与针对所述数据对象执行的先前迁移请求相关联;
所述先前迁移记录包括与所述先前迁移请求涉及的源应用***相关联的先前源信息、与所述先前迁移请求涉及的目的地应用***相关联的先前目的地信息,所述先前迁移请求涉及的目的地应用***与所述源应用***相同。
13.根据权利要求12所述的设备,其中验证所述迁移请求包括:
基于所述先前迁移记录,确定所述源应用***对于所述数据对象的所有权;
响应于所述源应用***具有所述所有权,确定所述迁移请求被验证;以及
响应于所述源应用***不具有所述所有权,确定所述迁移请求未被验证。
14.根据权利要求13所述的设备,其中确定所述源应用***对于所述数据对象的所有权包括:
从所述先前迁移记录中包括的所述先前目的地信息中确定所有权信息;以及
基于所述所有权信息验证所述源应用***对于所述数据对象的所述所有权。
15.根据权利要求12所述的设备,其中向所述数据流区块链中添加与所述迁移请求相关联的迁移记录包括:
向所述迁移记录中添加与所述源应用***相关联的源信息、与所述目的地应用***相关联的目的地信息、以及对于所述先前迁移记录的引用。
16.根据权利要求15所述的设备,其中所述应用环境进一步包括元数据区块链,所述动作进一步包括:
向所述迁移记录中添加对于所述数据对象的元数据的引用,所述元数据被存储在所述元数据区块链中。
17.根据权利要求16所述的设备,其中所述动作进一步包括:
基于所述源应用***中的所述数据对象,生成所述数据对象的元数据;
基于所述迁移记录中的所述引用,从所述元数据区块链中获取所述数据对象的元数据;以及
响应于确定生成的所述元数据与获取的所述元数据相匹配,从所述源应用***向所述目的地应用***迁移所述数据对象。
18.根据权利要求15所述的设备,其中所述动作进一步包括:
接收用于查询所述数据对象的迁移历史的查询请求;
在所述一组迁移记录中搜索与所述查询请求相关联的迁移记录;
基于所述迁移记录中包括的对于所述先前迁移记录的引用,获取与所述数据对象相关联的一组历史迁移记录;以及
基于所述一组历史迁移记录中的相应历史迁移记录中的相应源应用***和相应目的地应用***,获取所述迁移历史。
19.根据权利要求11所述的设备,其中从所述源应用***向所述目的地应用***迁移所述数据对象包括:
获取与所述应用环境相关联的白名单,所述白名单包括被允许作为迁移操作的目的地的应用***的列表;
响应于确定目的地应用***被包括在所述白名单中,从所述源应用***向所述目的地应用***迁移所述数据对象。
20.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-10中的任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910911231.0A CN112559484A (zh) | 2019-09-25 | 2019-09-25 | 用于管理数据对象的方法、设备和计算机程序产品 |
US16/699,580 US20210089497A1 (en) | 2019-09-25 | 2019-11-30 | Method, device, and computer program product for managing data object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910911231.0A CN112559484A (zh) | 2019-09-25 | 2019-09-25 | 用于管理数据对象的方法、设备和计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559484A true CN112559484A (zh) | 2021-03-26 |
Family
ID=74880960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910911231.0A Pending CN112559484A (zh) | 2019-09-25 | 2019-09-25 | 用于管理数据对象的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210089497A1 (zh) |
CN (1) | CN112559484A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11270362B1 (en) * | 2020-03-02 | 2022-03-08 | Stripe, Inc. | Systems and methods for proof of application ownership |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247749A (zh) * | 2017-05-25 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种数据库状态确定方法、一致性验证方法及装置 |
CN107644064A (zh) * | 2017-08-31 | 2018-01-30 | 雷虹 | 一种基于区块链的学生档案*** |
CN108829350A (zh) * | 2018-05-31 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 基于区块链的数据迁移方法和装置 |
CN109144414A (zh) * | 2018-07-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 区块链数据的多级存储方法和装置 |
CN109729168A (zh) * | 2018-12-31 | 2019-05-07 | 浙江成功软件开发有限公司 | 一种基于区块链的数据共享交换***及方法 |
JP2019106639A (ja) * | 2017-12-13 | 2019-06-27 | 富士通株式会社 | 電子取引装置、電子取引方法及びプログラム |
CN110134668A (zh) * | 2019-04-28 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 应用于区块链的数据迁移方法、装置和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11296863B2 (en) * | 2018-01-04 | 2022-04-05 | Bank Of America Corporation | Blockchain enterprise data management |
-
2019
- 2019-09-25 CN CN201910911231.0A patent/CN112559484A/zh active Pending
- 2019-11-30 US US16/699,580 patent/US20210089497A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247749A (zh) * | 2017-05-25 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种数据库状态确定方法、一致性验证方法及装置 |
CN107644064A (zh) * | 2017-08-31 | 2018-01-30 | 雷虹 | 一种基于区块链的学生档案*** |
JP2019106639A (ja) * | 2017-12-13 | 2019-06-27 | 富士通株式会社 | 電子取引装置、電子取引方法及びプログラム |
CN108829350A (zh) * | 2018-05-31 | 2018-11-16 | 阿里巴巴集团控股有限公司 | 基于区块链的数据迁移方法和装置 |
CN109144414A (zh) * | 2018-07-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 区块链数据的多级存储方法和装置 |
CN109729168A (zh) * | 2018-12-31 | 2019-05-07 | 浙江成功软件开发有限公司 | 一种基于区块链的数据共享交换***及方法 |
CN110134668A (zh) * | 2019-04-28 | 2019-08-16 | 阿里巴巴集团控股有限公司 | 应用于区块链的数据迁移方法、装置和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210089497A1 (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10338946B1 (en) | Composable machine image | |
CN108810006B (zh) | 资源访问方法、装置、设备及存储介质 | |
US10614233B2 (en) | Managing access to documents with a file monitor | |
CN110414268B (zh) | 访问控制方法、装置、设备及存储介质 | |
US10621381B2 (en) | Event log tamper detection | |
US10523705B2 (en) | Password breach registry | |
CN109074452B (zh) | 用于生成绊网文件的***和方法 | |
CN101251881B (zh) | 一种内容识别的方法、***和装置 | |
JP2016527608A (ja) | プロセス認証とリソースパーミッション | |
US9338012B1 (en) | Systems and methods for identifying code signing certificate misuse | |
CN110555293A (zh) | 用于保护数据的方法、装置、电子设备和计算机可读介质 | |
GB2520056A (en) | Digital data retention management | |
US8972732B2 (en) | Offline data access using trusted hardware | |
US11947427B2 (en) | Method, electronic device, and computer program product for storage management using blockchain | |
US11307790B2 (en) | Method, device, and computer program product for managing data placement | |
CN112559484A (zh) | 用于管理数据对象的方法、设备和计算机程序产品 | |
US11295031B2 (en) | Event log tamper resistance | |
US20200401561A1 (en) | Method, device, and computer program product for managing data object | |
US11750660B2 (en) | Dynamically updating rules for detecting compromised devices | |
US11632251B1 (en) | Commit signing service | |
US11163909B2 (en) | Using multiple signatures on a signed log | |
Brown et al. | SPAM: A secure package manager | |
Kumar et al. | Efficient Blockchain Enabled Attribute-based Access Control as a Service |
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 |