CN115904609A - 镜像资源的处理方法及装置、非易失性存储介质、处理器 - Google Patents
镜像资源的处理方法及装置、非易失性存储介质、处理器 Download PDFInfo
- Publication number
- CN115904609A CN115904609A CN202210983940.1A CN202210983940A CN115904609A CN 115904609 A CN115904609 A CN 115904609A CN 202210983940 A CN202210983940 A CN 202210983940A CN 115904609 A CN115904609 A CN 115904609A
- Authority
- CN
- China
- Prior art keywords
- resource
- mirror image
- target account
- determining
- mirror
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种镜像资源的处理方法及装置、非易失性存储介质、处理器。其中,该方法包括:接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作的方式,本申请解决了镜像资源的发行和调用过程存在安全风险的技术问题。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种镜像资源的处理方法及装置、非易失性存储介质、处理器。
背景技术
虚拟环境容器(Docker)是一个开源的应用容器引擎,Docker把应用的可执行文件、应用的依赖文件和应用的操作系统文件等打包成一个轻量级、可移植的镜像,使应用的运行环境固定下来不再变化;同时,镜像可在其他环境下重现同样的运行环境,这些特性给运维和应用的发布带来极大的便利。Docker镜像由多个只读的镜像层组成,包含用于组合映像的命令的文本文档(Dockerfile)中每条指令都会新建一层,每层只记录本层所做的更改;一个容器被启动后,Docker会在最顶部添加读写层,在容器内做的所有更改都保存到读写层内,如写日志、修改、删除文件等。容器镜像常用于软件资源交付。在软件镜像发行交易过程中,软件存在被盗版或者被破解的风险,软件一旦被盗版或破解发行方的权益将受到严重损害;此外,发行过程中,容器镜像可能被恶意篡改或者被植入木马,而用户无法验证其来源和安全性,因此软件镜像发行交易过程中还存在安全风险。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种镜像资源的处理方法及装置、非易失性存储介质、处理器,以至少解决镜像资源的发行和调用过程存在安全风险的技术问题。
根据本申请实施例的一个方面,提供了一种容器镜像资源的处理方法,包括:接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作。
可选地,获取目标账户的权限,包括:获取区块链平台预先存储的镜像资源的第一标识,并确定从目标账户获取的镜像资源的第二标识,其中,第一标识包括:至少基于镜像资源和镜像资源的发行方信息确定的哈希值;在第一标识和第二标识一致的情况下,确定目标账户具有调用镜像资源的权限。
可选地,从区块链中获取与请求信息对应的镜像资源,包括:确定区块链的第一智能合约,通过第一智能合约获取第一标识对应的镜像资源。
可选地,镜像资源的通证通过以下方式确定:获取预设数量的资源管理容器的镜像资源,镜像资源包括资源管理容器信息和发行方信息;依据镜像资源确定通证。
可选地,依据镜像资源确定通证,包括:计算镜像资源的哈希值,将镜像资源存储在区块链的第一数据库中;依据镜像资源的名称,哈希值和发行方信息确定通证。
可选地,接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息之前,包括:接收来自目标账户的用于获取通证的请求消息,确定目标账户的地址;确定区块链的第二智能合约和第三智能合约;通过第二智能合约获取预设数量的虚拟资源,预设数量的虚拟资源存储在目标账户的地址;确认获取预设数量的虚拟资源后,通过第三智能合约将调用镜像资源的权限传输到目标账户的地址。
根据本申请实施例的另一方面,提供了一种镜像资源的处理装置,包括:接收模块,用于接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;获取模块,用于在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作。
可选地,获取模块,还用于获取区块链平台预先存储的镜像资源的第一标识,并确定从区块链获取的镜像资源的第二标识,其中,第一标识包括:至少基于镜像资源和镜像资源的发行方信息确定的哈希值;在第一标识和第二标识一致的情况下,确定目标账户具有镜像资源调用镜像资源的权限。
根据本申请实施例的再一方面,提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上镜像资源的处理方法。
根据本申请实施例的再一方面,提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上镜像资源的处理方法。
在本申请实施例中,采用接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作的方式,由于是从区块链中获取镜像资源,因此,可以提升镜像资源调用的安全性,并且由于是将镜像资源存储在了区块链中,也提供了镜像资源的发行过程的安全性,进而解决了镜像资源的发行和调用过程存在安全风险技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于镜像资源的处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种镜像资源的处理方法的流程图;
图3根据本申请实施例的一种镜像资源的处理装置的结构图;
图4是根据本申请实施例的一种发行镜像资源的流程图;
图5是根据本申请实施例的一种生成非同质化通证的示意图;
图6是根据本申请实施例的一种发行和调用镜像资源的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,对在本申请实施例中提到的区块链,以太坊,ERC721,智能合约做出如下解释:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain)技术在诞生后,首先应用于虚拟货币的风险控制中,它本质上是一个去中心化的数据库,同时区块链作为虚拟货币的底层技术,也是一串使用密码学方法相关联产生的数据块;每一个数据块中包含了一批次虚拟货币网络交易的信息,用于验证其信息的有效性实现防伪的效果和生成下一个区块。其中,去中心化:在一个分布有众多网络节点的网络或系统中,节点之间彼此可以自由连接形成新的连接单元,且任何一个节点都有可能成为阶段性的中心,但不具备强制性的中心控制功能。由于区块链能够维护数据完整性,存储在区块链上的数据由所有参与者共享,因此,区块链也是一个依时间顺序永久记录并储存交易数据的分布式的共享账本和数据库,并且具有去中心化、不可篡改、全程留痕、可以追溯、集体维护和公开透明等特点。基于区块链的上述特点,本申请实施例将区块链技术与软件容器镜像信息的发行进行融合,以增强容器镜像发行交易过程的安全性。
同质化代币(通证)是一种能够替换的,具有统一性的,可以接近无穷拆分的代币,非同质化通证(Non-Fungible Token,NFT)是一种数字资产,每个非同质化通证唯一地标定一个标的物,标的物可以是独特的艺术品或稀有卡牌等。相比同质化代币,它具有独一无二、不可分割、不可篡改等优质属性,所以通常被用于与特定资产进行挂钩,用来证明数字资产的归属权,主要应用于游戏、艺术品、收藏品、域名、虚拟资产、身份特征、数字音乐、数字证书等领域。本质上,区块链的通证是一个智能合约(一段软件代码),既包括了数据,还包括了对数据的操作。这类智能合约不仅是软件代码,它们还遵循业界的标准,如统一的数据结构,对数据的操作方式等等,因此,能够被行业内认可,可以适用于不同的工具、软件等来操作、浏览、引用,从而具有透明性、可监督性、可协作性等特性。比如标准的ERC721通证,其数据和操作,可以通过通用的区块链浏览器(第三方浏览器)来浏览,而其开放的数据结构和编程接口,又能够为其他人对其进行编程,从而形成对接。比如一个软件上发行的非同质化通证,可以流通到另外一个软件系统里,进行浏览,处理。大多数NFT的智能合约内都有一个函数可以返回与其代币标识符对应的元数据(例如NFT的属性)。返回值通常是由开发者运行的云服务器上的统一标识符(Uniform Resource Identifier, URI)(例如example.com/nft/2)。如果一个NFT的内容和媒介都由这种服务器控制,那么这个NFT就是中心化的,存在无常性和易变性问题。
以太坊通用协议(Ethereum Request for Comment,ERC),其中,ERC 721定义了一种以太坊(Ethereum)生态中不可分割的、具有唯一性的令牌(通证,token)交互、流通的接口规范。该规范本质上是Ethereum上的智能合约,依托于以太坊虚拟机 (EthereumVirtual Machine,EVM)运行,拥有唯一性和所属权转移的功能。
在软件镜像发行交易过程中,软件一旦被盗版或破解发行方的权益将受到严重损害;此外,容器镜像可能被恶意篡改、植入木马,而用户难以验证其来源和安全性,导致安全风险;本申请实施例提供了一种解决上述问题的方法,具体地,本申请实施例通过智能合约和以太坊非同质化代币标准(Ethereum Request for Comment, ERC-721)实现加密认证,将容器镜像及发行方信息以智能合约形式加密保存在区块链公链,提出了一种软件容器镜像发行、交易和使用的方案,实现镜像发行可追溯可验证,保证其权威性和安全性。以下详细说明。
根据本申请实施例,还提供了一种镜像资源的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、云端服务器或者类似的运算装置中执行。图1示出了一种用于镜像资源的处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1 所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10 还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的镜像资源的处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器 104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的镜像资源的处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency, RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
根据本申请实施例,提供了一种镜像资源的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本申请实施例的一种镜像资源的处理方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息。
例如,当用户需要进行部署等行为操作时,通过区块链平台对应的本地平台接口发起请求,区块链接收到用户的请求后,继续执行以下步骤的操作。其中,上述区块链平台可以为位于网络侧的计算机设备或计算机设备群组等,但不限于此。
步骤S204,在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作。
例如,区块链平台接收到用户的请求消息后,通过相关区块链浏览器通过(如区块浏览器Etherscan.io)查找智能合约,调用ERC721中用于校验的函数(getApproved 函数)判断用户是否具有权限,在确认用户有调用镜像资源的权限后,拉取与用户的通证对应的区块链镜像,并通过区块链浏览器查询用户的通证的哈希值,判断此哈希值是否与拉取镜像的哈希值一致,只有通证的哈希值与拉取镜像的哈希值一致时,用户可以获得镜像资源并对其部署。
在上述过程中,将镜像资源存储在了与区块链链接的数据库中,需要利用区块链获取镜像资源,有效避免了软件被人篡改、植入木马等问题,提升了软件发行的安全性;另外,利用非同质化通证的形式将镜像资源保存在区块链公链,利用了一个非同质化通证仅能对应一个标定物的唯一性,将软件镜像资源映射,有效避免软件盗版等问题,提升了镜像资源发行过程的安全性,进而解决了镜像资源的发行和调用过程存在安全风险技术问题。
在一些实施例中,获取目标账户的权限,包括以下步骤:获取区块链平台预先存储的镜像资源的第一标识,并确定从目标账户获取的镜像资源的第二标识,其中,第一标识包括:至少基于镜像资源和镜像资源的发行方信息确定的哈希值;在第一标识和第二标识一致的情况下,确定目标账户具有调用镜像资源的权限。
需要注意的是,第二标识可以为基于获取的镜像资源的哈希值计算得到的,因为哈希函数具有唯一性,所以只有第一标识和第二标识一致,能够证明在计算第一标识的哈希值和第二标识对应的哈希值时,两者使用的是相同信息,进而证明两者代表的是同一资源。
根据本申请一个可选的实施例,从区块链中获取与请求信息对应的镜像资源,包括:确定区块链的第一智能合约,通过第一智能合约获取第一标识对应的镜像资源。
在本实施例中,确认用户的拥有调用镜像资源的权限后,区块链通过智能合约到下述的制品库(即第一数据库)调用第一标识代表的镜像资源,供用户执行部署等操作。
根据本申请一个可选的实施例,镜像资源的通证通过以下方式确定:获取预设数量的资源管理容器的镜像资源,镜像资源包括资源管理容器信息和发行方信息;依据镜像资源确定通证。
还需要注意的是资源管理容器信息包括:用于标识资源管理容器的身份的信息,以及记录了在容器内进行的操作的信息;发行方信息是指发行方的名称或统一社会信用代码等任何可以表明发行方的身份的信息,发行方的信息在镜像资源中以数字身份的形式保存。
本实施例将创建镜像资源的通证划分为两个步骤,第一步是获取镜像资源中应包含的信息。镜像资源中应包括镜像资源信息,在创建镜像资源的通证前,首先通过以下方法确定发行方的以太坊钱包地址(发行方账户地址):创建发行方的数字钱包并得到一个随机的字符串,该字符串即为发行方的私钥,由于以太坊使用的是椭圆曲线 (secp256k1),所以对私钥使用椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)得到公钥,然后对获得的公钥使用一种哈希算法(Keccak-256算法)计算,得到公钥的哈希值,公钥的哈希值的后20个字节即为发行方的以太坊钱包地址;将得到的发行方的以太坊钱包地址与发行方实体信息进行映射生成数字身份,并计算数字身份的哈希值,发行方实体信息可包括但不仅限于发行方公司名称、统一社会信用代码等;将发行方的数字身份与发行方实体信息的键值对映射关系,以及键值对映射关系的哈希值保存在管理发行方和容器镜像资源的平台方本地,以便平台方管理、区分多个发行方及其对应的镜像资源。将镜像资源存储在资源管理容器中,发行方确认容器镜像的总发行量,创建容器镜像资源,并用于初始化镜像资产的智能合约(即为创建镜像资源的通证做准备);在容器的镜像资源中,既包含了资源管理容器的信息,也包含了镜像资源的信息,还包含了在容器内进行的操作的记录信息。
在另一些实施例中,依据镜像资源确定通证,包括以下的操作:计算镜像资源的哈希值,将镜像资源存储在区块链的第一数据库中;依据镜像资源的名称,哈希值和发行方信息确定通证。
在本实施例中,根据上述计算公钥的哈希值的方法计算镜像资源的哈希值,得到镜像资源的哈希值后,充分利用区块链去中心化和分布式存储的特点,将镜像资源及其对应的哈希值存储在不同的位置;将镜像资源存储在一个可以通过区块链访问的网络空间(即第一数据库,制品库),并将其对应的哈希值通过区块链的智能合约保存在区块链的公链上,利用该哈希值可进行镜像溯源和安全性验证;通过验证镜像哈希值保证发行的镜像内容不被恶意篡改,确保镜像发行可溯源。
根据本申请再一个可选的实施例,接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息之前,包括:接收来自目标账户的用于获取通证的请求消息,确定目标账户的地址;确定区块链的第二智能合约和第三智能合约;通过第二智能合约获取预设数量的虚拟资源,其中,预设数量的虚拟资源存储在目标账户的地址;确认获取预设数量的虚拟资源后,通过第三智能合约将调用镜像资源的权限传输到目标账户的地址。
在本可选的实施例中,提供了一种优选的获取镜像资源的通证的方法。用户在调用上述通证之前,需要先兑换(即获取)上述通证。当用户在平台上请求兑换上述通证时,平台侧判断发送兑换通证的请求的用户是否拥有数字钱包(即在区块链以太坊上的账户),如果没有,则链接到区块链创建用户数字钱包并映射钱包地址和对应关系,即为用户分配钱包地址。
如果发送兑换通证的请求的用户拥有数字钱包,则获取其以太坊钱包地址。由于所有通证的最初持有者指定为通证的发行方,兑换通证存在发行方的以太坊钱包地址 (在区块链上)中,因此,需要链接到区块链公有链进行以下操作:区块链调用ERC721 中用于转移通证的函数(即Transfer函数),向发行方请求获取通证,向目标账户发送支付消息,通知目标账户为兑换通证的行为付费,并在目标账户(即用户)支付一定区块链交易费用(gasfee)后,将虚拟的镜像(即通证)转移到用户的以太坊钱包地址;接下来,调用ERC721中用于确权的函数(即ownerOf函数)确认该通证的所有权,将上述转移到用户地址的通证的ID输入到ownerOf函数,如果能够返回到用户的地址,证明该通证的所有权属于用户。经过上述过程,用户即可拥有镜像资源的通证以及调用镜像资源的权限。上述钱包,本质上是管理区块链节点的密钥和地址的工具;其中,地址以及上述的以太坊钱包地址、钱包地址、目标账户的地址均是用户在区块链上的用于接收和存储区块链资产的一个字符串,是一串数字和字母的组合。
图3是根据本申请实施例提供的一种镜像资源的处理装置的结构图,如图3所示,该装置包括:接收模块30,用于接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;获取模块32,用于在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作。
在一些实施例中,获取模块还用于获取区块链平台预先存储的镜像资源的第一标识,并确定从区块链获取的镜像资源的第二标识,其中,第一标识包括:至少基于镜像资源和镜像资源的发行方信息确定的哈希值;在第一标识和第二标识一致的情况下,确定目标账户具有镜像资源调用镜像资源的权限。根据上述实施例,提供了一种具体的实施方法,以下从镜像资源的发行和使用角度分别说明。
图4是根据本实施方法的发行镜像资源的流程图,流程开始时,执行发行数字钱包的流程,根据本申请实施例提供的方法创建发行方的数字钱包得到私钥(Private Key),对私钥使用ECDSA椭圆曲线数字算法得到公钥(Public Key),对公钥进行计算,得到哈希结果的后20个字节即为发行方的以太坊钱包地址,具体计算过程如下所示:
Public key=ECDSA(Private key)
A=Keccak-256(Public key)
Address=′0x′+last 20 bytes of A
其中,A代表公钥的哈希值,Address代表以太坊钱包地址,“0x”代表十六进制,将公钥哈希值的倒数20个字节转换为一个十六进制的数。
上述提到的公钥和私钥是通过一种算法得到的一个密钥对,其本质上是两个字符串,公钥是密钥对中公开的部分,私钥则是非公开的部分。通常用公钥加密会话密钥,验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是独一无二的。
在得到发行方的钱包地址后,将其与发行方实体信息进行映射生成数字身份,并将发行方的数字身份与实体信息的映射关系及其哈希值保存在管理发行方和容器镜像资源的软件平台(可以是Gitlab)。进入创建本地映射关系的流程时,将发行方的数字身份与实体信息的映射关系为键值对映射关系,通过该键值对关系,能够将一个物理信息(及发行方的实体信息)转换为相应的数字信息(即发行方的数字身份)。将镜像资源保存在资源管理容器中,由发行方确认容器镜像的总发行量,获取待发行镜像的哈希值作为镜像标识后,将镜像资源上传到制品库,而该待发行镜像的哈希值则通过区块链智能合约写入公链进行存证,并继续执行生成镜像数字资产凭证的流程。
图5为根据以太坊非同质化代币ERC-721协议生成非同质化通证(即镜像数字资产凭证)的示意图,如图5所示,将上述镜像的哈希值,镜像哈希值、镜像名称以及镜像资源中包含的发行方的数字身份(即发行方名称)配置到该非同质化通证的元数据(Metadata)中;其中,镜像名称是在创建镜像资源时一同创建的,每个镜像资源都有其对应的镜像名称,元数据是镜像资源的标识,包含了镜像资源的基本要素信息,将该通证以元数据的形式存储在以太坊合约中,可以节省用于存储的资源,部署智能合约上链,发行镜像的非同质化通证,并确定其发行总量、是否可增发;所有通证的最初持有者指定为通证的发行方,兑换通证存入发行方的钱包地址中。
图6为发行和使用镜像资源的示意图。如图6所示,发行方发布区块链镜向到区块链平台;区块链平台保存镜像资源的标识,而将区块链镜像资源保存到制品库中;利用镜像资源的标识,根据以太坊非同质化代币ERC-721协议生成镜像数字资产凭证,并将镜像主要属性配置到通证的元数据中,包括镜像哈希值、镜像名称、发行方信息。然后进行镜像资产上链,将镜像资产部署到公有链上,由公有链发行镜像的非同质化通证(镜像数字资产Token)。第三方用户获取镜像资源时,向区块链平台对应的接口发送请求,区块链平台获取存储在发行方地址中的镜像资产的所有权,并转移到第三方用户的地址中。如果第三方用户需要使用区块链镜像,通过区块链平台发起请求,平台判断用户的权利,当平台确认用户权力后,从制品库拉取相关的区块链镜像,发送到第三方用户的地址,供第三方用户使用。
采用本申请实施例提供的上述方案,使用区块链技术可以有效实现,实现了软件镜像资源发行、交易和使用的分布式、去中心化和可信任化,使得数据具有不可篡改、全程留痕、可以追溯、集体维护、公开透明等优点。
通过容器镜像的非同质化,实现镜像资源的上链使其具有不可篡改性,将软件镜像映射为区块链上的数字资产,利用容器(docker)镜像哈希值(hash)的特性以及非同质化通证的元数据特性进行绑定,有效实现了容器镜像上链的安全性和唯一性,保证软件镜像资源的不可篡改,避免平台被人植入木马或破解的可能;同时,利用非同质化通证和区块链的特性,保证镜像的公信力,避免软件被盗版的可能,有效保护软件的版权。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行以上镜像资源的处理方法。
上述非易失性存储介质用于存储执行以下功能的程序:接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作。
本申请实施例还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上镜像资源的处理方法。
上述处理器用于运行执行以下功能的程序:接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,资源管理容器至少用于存储镜像资源的发行方信息;在请求消息的触发下,获取目标账户的权限,并在目标账户具有调用镜像资源的权限的情况下,确定允许目标账户对镜像资源进行操作。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种镜像资源的处理方法,其特征在于,包括:
接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,所述资源管理容器至少用于存储所述镜像资源的发行方信息;
在所述请求消息的触发下,获取所述目标账户的权限,并在所述目标账户具有调用所述镜像资源的权限的情况下,确定允许所述目标账户对所述镜像资源进行操作。
2.根据权利要求1所述的方法,其特征在于,获取所述目标账户的权限,包括:
获取区块链平台预先存储的所述镜像资源的第一标识,并确定从所述目标账户获取的所述镜像资源的第二标识,其中,所述第一标识包括:至少基于所述镜像资源和所述镜像资源的发行方信息确定的哈希值;
在所述第一标识和第二标识一致的情况下,确定所述目标账户具有调用所述镜像资源的权限。
3.根据权利要求2所述的方法,其特征在于,从区块链中获取与所述请求消息对应的镜像资源,包括:确定所述区块链的第一智能合约,通过所述第一智能合约获取所述第一标识对应的镜像资源。
4.根据权利要求3所述的方法,其特征在于,所述镜像资源的通证通过以下方式确定:
获取预设数量的资源管理容器的镜像资源,所述镜像资源包括所述资源管理容器信息和所述发行方信息;
依据所述镜像资源确定所述通证。
5.根据权利要求4所述的方法,其特征在于,依据所述镜像资源确定所述通证,包括:
计算所述镜像资源的哈希值,将所述镜像资源存储在所述区块链的第一数据库中;
依据所述镜像资源的名称,所述哈希值和所述发行方信息确定所述通证。
6.根据权利要求1所述的方法,其特征在于,接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息之前,包括:
接收来自所述目标账户的用于获取所述通证的请求消息,确定所述目标账户的地址;
确定区块链的第二智能合约和第三智能合约;
通过所述第二智能合约获取预设数量的虚拟资源,其中,所述预设数量的虚拟资源存储在所述目标账户的地址;
确认获取所述预设数量的虚拟资源后,通过所述第三智能合约将调用所述镜像资源的权限传输到所述目标账户的地址。
7.一种镜像资源的处理装置,其特征在于,包括:
接收模块,用于接收来自目标账户的用于调用资源管理容器的镜像资源的通证的请求消息,其中,所述资源管理容器至少用于存储所述镜像资源的发行方信息;
获取模块,用于在所述请求消息的触发下,获取所述目标账户的权限,并在所述目标账户具有调用所述镜像资源的权限的情况下,确定允许所述目标账户对所述镜像资源进行操作。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,还用于获取区块链平台预先存储的所述镜像资源的第一标识,并确定从所述区块链获取的所述镜像资源的第二标识,其中,所述第一标识包括:至少基于所述镜像资源和所述镜像资源的发行方信息确定的哈希值;在所述第一标识和第二标识一致的情况下,确定所述目标账户具有调用所述镜像资源的权限。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至6中任意一项所述的镜像资源的处理方法。
10.一种处理器,其特征在于,所述处理器用于运行存储在存储器中的程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的镜像资源的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210983940.1A CN115904609A (zh) | 2022-08-16 | 2022-08-16 | 镜像资源的处理方法及装置、非易失性存储介质、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210983940.1A CN115904609A (zh) | 2022-08-16 | 2022-08-16 | 镜像资源的处理方法及装置、非易失性存储介质、处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904609A true CN115904609A (zh) | 2023-04-04 |
Family
ID=86482301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210983940.1A Pending CN115904609A (zh) | 2022-08-16 | 2022-08-16 | 镜像资源的处理方法及装置、非易失性存储介质、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904609A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032893A (zh) * | 2023-08-14 | 2023-11-10 | 曙光云计算集团有限公司 | 一种容器镜像管理方法、装置、设备及介质 |
-
2022
- 2022-08-16 CN CN202210983940.1A patent/CN115904609A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032893A (zh) * | 2023-08-14 | 2023-11-10 | 曙光云计算集团有限公司 | 一种容器镜像管理方法、装置、设备及介质 |
CN117032893B (zh) * | 2023-08-14 | 2024-07-26 | 曙光云计算集团股份有限公司 | 一种容器镜像管理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sharma et al. | Blockchain technology for cloud storage: A systematic literature review | |
CN108781161B (zh) | 用于控制和分发数字内容的区块链实现的方法 | |
JP2022509104A (ja) | ブロックチェーンネットワークを介するデータの効率的且つセキュアな処理、アクセス、及び送信のためのシステム及び方法 | |
WO2018119892A1 (zh) | 软件应用程序发布和验证的方法及装置 | |
CN111144881A (zh) | 对资产转移数据的选择性访问 | |
CN108898389A (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN105164633B (zh) | 由可信提供商进行的配置和验证 | |
CN108960825A (zh) | 基于区块链的电子签名方法及装置、电子设备 | |
US11133936B1 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
CN110599342B (zh) | 基于区块链的身份信息的授权方法及装置 | |
WO2024011863A9 (zh) | 通信方法、装置、sim卡、电子设备和终端设备 | |
US20240137280A1 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
CN115705571A (zh) | 保护可审计的帐户的隐私 | |
CN114666168A (zh) | 去中心化身份凭证验证方法、装置,以及,电子设备 | |
CN115904609A (zh) | 镜像资源的处理方法及装置、非易失性存储介质、处理器 | |
JP2024501401A (ja) | 非集中型のブロードキャスト暗号化および鍵生成ファシリティ | |
Parisi | Securing Blockchain Networks like Ethereum and Hyperledger Fabric: Learn advanced security configurations and design principles to safeguard Blockchain networks | |
CN108710785A (zh) | 资源分发方法和装置 | |
CN117077195A (zh) | 一种Web3.0基于分布式存储网络的数据隐私保护方法、系统和设备 | |
CN112541820A (zh) | 数字资产管理方法、装置、计算机设备及可读存储介质 | |
Pérez‐Solà et al. | BArt: Trading digital contents through digital assets | |
CN113112325B (zh) | 物联网设备的租赁方法及通信装置 | |
US20230394481A1 (en) | Authorizing public trust ledger actions via a database system | |
US20230318833A1 (en) | Systems and methods for managing tokens | |
US20230267457A1 (en) | Privacy preserving asset transfer between networks |
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 |