CN112702419A - 基于区块链的数据处理方法、装置、设备和存储介质 - Google Patents
基于区块链的数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112702419A CN112702419A CN202011521557.1A CN202011521557A CN112702419A CN 112702419 A CN112702419 A CN 112702419A CN 202011521557 A CN202011521557 A CN 202011521557A CN 112702419 A CN112702419 A CN 112702419A
- Authority
- CN
- China
- Prior art keywords
- software
- split data
- blockchain network
- split
- version information
- 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于区块链的数据处理方法、装置、设备和存储介质。方法包括:接收源主机下发的软件更新指令和软件更新指令对应的更新软件包;拆分更新软件包,生成多个拆分数据,各个拆分数据携带对应的拆分顺序;将各个拆分数据存储至区块链网络,通过区块链网络向第二监控服务器下发软件更新指令,并通过区块链网络向第二监控服务器提供各个拆分数据,使第二监控服务器按照拆分顺序组装各个拆分数据。基于上述方法将源主机下发的更新软件包拆分为多个拆分数据,并将拆分数据存储至区块链网络中,通过区块链网络令源主机和客户端主机之间形成相互信任的环境,并通过区块链网络确定数据传输过程中的安全性和可靠真实性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法、装置、计算机设备和存储介质。
背景技术
现有软件分发系统在进行软件分发与部署时,主要依赖于通过http协议进行网络软件传输,通过脚本调用运行程序。由于在网络中进行传输,软件分发过程中的源主机与客户主机之间并没有形成一个相互信任的环境,客户主机无法完全判断源主机所发送文件在传输过程中是否安全传输,也无法确认源主机身份是否真实。无法防止攻击者在软件分发过程中修改安装插件,或假冒客户主机向源主机发送软件安装或更新指令,进而对软件进行错误更新。
发明内容
为了解决上述技术问题,本申请提供了一种基于区块链的数据处理方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种基于区块链的数据处理方法,应用于第一监控服务器,包括:
接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;
拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;
将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
可选地,所述拆分所述更新软件包,生成多个拆分数据之后,所述方法还包括:
获取目标客户端主机对应的身份信息;
根据所述目标客户端主机的身份信息对各个所述拆分数据进行加密,得到加密后的拆分数据;
所述将各个所述拆分数据存储至区块链网络,包括:
将所述加密后的拆分数据存储至所述区块链网络,通过所述区块链网络向所述第二监控服务器提供各个所述加密后的拆分数据。
第二方面,本实施例提供了一种基于区块链的数据处理方法,应用于第二监控服务器,所述方法包括:
当检测到软件更新指令时,获取当前客户端主机对应的软件版本信息,所述软件更新指令携带对应的更新版本信息;
当所述软件版本信息与所述更新版本信息不匹配,且接收到来自所述当前客户端主机的更新请求时,生成下载请求;
发送所述下载请求至区块链网络,所述下载请求用于在所述区块链网络中下载与所述更新版本信息对应的拆分数据;
接收与所述更新版本信息对应的多个拆分数据,以及各个所述拆分数据对应的拆分顺序;
根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包;
发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包。
可选地,所述软件更新指令还携带有目标客户端主机的身份信息,所述接收与所述更新版本信息对应的多个拆分数据之后,所述方法还包括:
根据所述当前客户端主机的身份信息对各个所述拆分数据进行解密,得到解密后的所述拆分数据;
所述根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包,包括:
根据所述拆分顺序将所述解密后的各个所述拆分数据进行组装,生成软件安装包。
可选地,所述发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包之后,所述方法还包括:
接收来自所述当前客户端主机的反馈信息,所述反馈信息包括安装记录、安装版本信息、安装时间;
发送所述反馈信息至所述区块链网络,并根据所述反馈信息更新所述区块链网络中的智能合约。
可选地,所述当检测到软件更新指令之后,所述方法还包括:
当所述软件版本信息与所述更新版本信息相匹配,或,所述软件版本信息与所述更新版本信息不匹配,但未接收到所述更新请求时,生成无操作日志;
发送所述无操作日志至所述区块链网络进行上链存储。
第三方面,本申请提供了一种基于区块链的数据处理装置,包括:
指令接收模块,用于接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;
拆分模块,用于拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;
存储模块,用于将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
第四方面,本申请提供了一种基于区块链的数据处理装置,包括:
指令检测模块,用于当检测到软件更新指令时,获取当前客户端主机对应的软件版本信息,所述软件更新指令携带对应的更新版本信息;
版本比对模块,用于当所述软件版本信息与所述更新版本信息不匹配,且接收到来自所述当前客户端主机的更新请求时,生成下载请求;
下载请求模块,用于发送所述下载请求至区块链网络,所述下载请求用于在所述区块链网络中下载与所述更新版本信息对应的拆分数据;
数据接收模块,用于接收与所述更新版本信息对应的多个拆分数据,以及各个所述拆分数据对应的拆分顺序;
组装模块,用于根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包;
安装包发送模块,用于发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包。
第五方面,本申请提供了一种电子设备,包括:处理器、通信组件、存储器和通信总线,其中,处理器、通信组件和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的基于区块链的数据处理方法。
第六方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,实现第一方面所述基于区块链的数据处理方法。
上述基于区块链的数据处理方法、装置、计算机设备和存储介质,所述方法包括:接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。基于上述方法将源主机下发的更新软件包拆分为多个拆分数据,并将拆分数据存储至区块链网络中,令需要软件更新的客户端主机从区块链网络中获取拆分数据进行软件组装更新,通过区块链网络令源主机和客户端主机之间形成相互信任的环境,并通过区块链网络确定数据传输过程中的安全性和可靠真实性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中基于区块链的数据处理系统结构示意图;
图2为本申请实施例中区块链结构示意图;
图3为本申请实施例中区块链网络功能结构示意图;
图4为本申请实施例中一种基于区块链的数据处理方法流程示意图;
图5为本申请实施例中一种基于区块链的数据处理方法流程示意图;
图6为本申请实施例中一种基于区块链的数据处理装置结构示意图;
图7为本申请实施例中一种基于区块链的数据处理装置结构示意图;
图8为本申请实施例中电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一个具体实施例”,其描述了所有可能实施例的子集,但是可以理解,“一个具体实施例”,其描述了所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术的科学技术与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
在对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
(1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗称地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的结点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
(2)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
(3)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
(4)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持区块链中交易的快速查询。
(5)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询操作。
(6)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股权授权证明(DPoS,Delegatd Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
下面说明本发明实施例,提供的区块链网络的示例性应用,如图1所示,图1是本发明实施例提供的基于区块链的数据处理系统示意图,包括源主机101、第一监控服务器102、区块链网络103、第二监控服务器105和客户端主机106,下面分别进行说明:
第一监控服务器102为源主机106侧的服务器,使源主机106通过第一监控服务器102与区块链网络103建立连接关系,第二监控服务器105为客户端侧的监控服务器,第二监控服务器105具体可以为一个或多个服务器,每个客户端主机对应一个第二监控服务器105,使客户端主机通过第二监控服务器105与区块链网络103建立连接关系,客户端主机为用户终端,通过在区块链网络103中注册和取消注册软件分发目标服务器,在智能合约中维护服务器信息实体。
区块链网络103的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何服务器都可以在不需要授权的情况下接入区块链网络103;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络103,此时,成为区块链网络103中的客户端节点。
在一些实施例中,客户端节点可以只作为区块链网络103的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络103的第一监控服务器102的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络103中,通过区块链网络103实现数据和业务处理过程的可信和可追溯。
区块链网络103中的共识节点104接收来自不同业务主体,例如图1中示出的第二监控服务器105的客户端节点105-1提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回第二监控服务器105的客户端节点105-1中显示。
例如,客户端节点102-1可以订阅区块链网络103中感兴趣的事件,例如区块链网络103中特定的组织/通道中发生的交易,由第一监控服务器102推送相应的交易通知到客户端节点102-1,从而触发客户端节点102-1中相应的业务逻辑。
作为区块链的示例,如图2所示,图2是本发明实施例提供的区块链网络103中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,如图3所示,图3是本发明实施例提供的区块链网络103的功能架构示意图,包括应用层301、共识层302、网络层303、数据层304和资源层305,下面分别进行说明:
应用层301封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
共识层302封装了区块链网络103中的节点102对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。交易管理用于验证节点101接收到的交易中携带的数字签名,验证第二监控服务器105的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络103的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
网络层303封装了点对点(P2P,PointtoPoint)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络103中节点102之间的通信,数据传播机制保证了交易在区块链网络103中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点102之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络103的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络103的权限;第二监控服务器105身份管理用于存储允许接入区块链网络103的第二监控服务器105的身份、以及权限(例如能够发起的交易的类型)。
数据层304封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
资源层305封装了实现区块链网路101中的各个节点102的计算资源、存储资源和通信资源。
下面,为了更清楚的说明本申请,首先将智能合约的工作原理进行简单介绍:
构建智能合约:智能合约由区块链内的多个用户共同参与制定,可用于任何用户之间的任何交易。协议当中明确规定了交易双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。
存储智能合约:一旦编码完成,这份智能合约上传至区块链网络上,即全网的每个节点都可以收到这份智能合约。
执行智能合约:智能合约会定期检查是否存在相关事件和触发条件,以满足条件的事件推送到待验证的队列中,区块链上的验证节点先对事件进行签名验证,以确保其有效性,等大多数验证节点对该事件达成共识,智能合约将成功执行,并通知给用户。
基于上述架构,本发明实施例提出了以下的实现方式。
本申请实施例提供了一种基于区块链的数据处理方法,参照图4,所述方法应用于第一监控服务器,即图1中的第二监控服务器105,所述方法包括如下具体步骤:
步骤S410,接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包。
具体地,源主机对软件执行更新、删除、新增等操作,从而生成软件更新指令和更新软件包,更新软件包含有软件安装包、运行脚本和测试脚本等,软件更新指令用于令第二监控服务器执行相应的操作。
步骤S420,拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序。
具体地,基于区块链网络对应的交易数据量对更新软件包进行拆分,即每个拆分数据的数据量和区块链网络的交易数据量相同,例如,区块链网络对应的交易数据量为100KB,更新软件包的数据量为10MB,则将更新软件包拆分为100个拆分数据,并记录更新软件包的拆分顺序,拆分顺序用于在第二监控服务器按照此顺序进行组装。
当软件更新包对应的数据量较大时,通过将更新软件包拆分为多个拆分数据上链存储至区块链网络,提高了源主机对于更新软件包的下发速率,提高了数据处理速率,缓解了数据处理压力。
步骤S430,将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
具体地,第一监控服务器将拆分数据以及拆分顺序发送至区块链网络进行上链存储,区块链网络对拆分数据进行上链完成后,生成对应的交易哈希值,并将交易哈希值返回至第一监控服务器,根据交易哈希值和拆分顺序更新区块链网络中的智能合约,交易哈希值用于在区块链网络中查找对应的拆分数据,区块链网络还根据第一监控服务器的软件包下发过程生成更新日志,更新日志包括软件更新指令和拆分数据的下发时间、拆分数据的上链顺序以及拆分数据的数据量等,通过区块链网络实时记录软件分发过程,保证了软件分发过程中的安全性和可靠性。
拆分数据存储至区块链网络后,各个第二监控服务器根据对应的客户端主机的更新请求,分别从区块链网络获取拆分数据和拆分顺序,使第二监控服务器根据拆分顺序对拆分数据进行组装,从而完成各个客户端主机的软件更新,以实现软件分发。
在一个实施例中,所述拆分所述更新软件包,生成多个拆分数据之后,获取目标客户端主机对应的身份信息;根据所述目标客户端主机的身份信息对各个所述拆分数据进行加密,得到加密后的拆分数据;将所述加密后的拆分数据存储至所述区块链网络,通过所述区块链网络向所述第二监控服务器提供各个所述加密后的拆分数据。
具体地,目标客户主机为源主机指定更新软件包下发的一个或多个接收对象,目标客户端主机的身份信息包括身份标识和加密公钥,根据加密公钥对拆分数据进行加密,加密后的拆分数据存储至区块链网络中,只有目标客户端主机对应的第二监控服务器可以对加密后的拆分数据进行解密,该过程为源主机指定目标客户端主机进行软件更新,使非目标客户端主机无法获取拆分数据进行更新。
在一个实施例中,参照图5,本实施例提供了一种基于区块链的数据处理方法,应用于第二监控服务器,所述方法包括:
步骤S510,当检测到软件更新指令时,获取当前客户端主机对应的软件版本信息,所述软件更新指令携带对应的更新版本信息。
具体地,当前客户端主机为任意一个客户端主机,每个客户端主机对应一个第二监控服务器,第二监控服务器检测到区块链网络的智能合约中的软件更新指令时,检测当前客户端主机对应的软件版本信息,软件版本信息为与软件更新指令对应同一软件的版本信息,版本信息包括软件类型、软件名称和软件版本等。
步骤S520,当所述软件版本信息与所述更新版本信息不匹配,且接收到来自所述当前客户端主机的更新请求时,生成下载请求。
具体地,例如软件更新指令对应A软件的更新版本信息为2.0版本,当前客户端主机中A软件的版本信息为1.8版本,或当前客户端主机中不存在A软件,即当前客户端主机的版本信息为无,两个软件版本不相同则不匹配,但当前客户端主机发起了更新请求,表示当前客户端主机需要进行软件更新或需要下载该软件,则根据更新请求生成下载请求。
步骤S530,发送所述下载请求至区块链网络,所述下载请求用于在所述区块链网络中下载与所述更新版本信息对应的拆分数据。
具体地,下载请求携带有与软件更新指令对应的版本信息,根据下载请求在区块链网络中查找对应的拆分数据。
步骤S540,接收与所述更新版本信息对应的多个拆分数据,以及各个所述拆分数据对应的拆分顺序。
具体地,接收来自区块链网络的拆分数据以及拆分顺序,第二监控服务器可以同时下载各个拆分数据,提高了软件包的下载效率,通过区块链网络获取软件包的拆分数据,可以确定拆分数据的来源,并保证拆分数据和软件更新指令不会被篡改,保证了数据传输的安全性和可靠性。
步骤S550,根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包。
步骤S560,发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包。
具体地,第二监控服务器将拆分数据根据拆分顺序进行组装,将组装完成的软件安装包发送至当前客户端主机,令当前客户端主机安装软件安装包,基于上述步骤令每个客户端主机根据实际需求获取对应的软件安装包。
在一个实施例中,所述软件更新指令还携带有目标客户端主机的身份信息,所述接收与所述更新版本信息对应的多个拆分数据之后,根据所述当前客户端主机的身份信息对各个所述拆分数据进行解密,得到解密后的所述拆分数据;根据所述拆分顺序将所述解密后的各个所述拆分数据进行组装,生成软件安装包。
具体地,目标客户端主机为源主机指定下发软件更新包的客户端主机,即非目标客户端主机无法获取该软件更新包。目标客户端主机的身份信息包括至少一个客户端主机对应的身份标识和解密私钥,身份标识为目标客户端主机在区块链网络中完成注册后,区块链网络向目标客户端主机下发的唯一标识,因此,将目标客户端主机的身份标识与当前客户端主机的身份标识进行比对,判断当前客户端主机是否为源主机的发送对象,若对比结果一致,则表示当前客户端主机属于目标客户端主机,根据当前客户端主机的解密私钥对加密后的拆分数据进行解密,从而获取解密后的拆分数据,对解密后的拆分数据进行组装形成软件安装包进行安装更新,防止非目标客户端主机的第二监控服务器获取安装拆分数据对应的软件更新包。
在一个实施例中,所述发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包之后,接收来自所述当前客户端主机的反馈信息;发送所述反馈信息至所述区块链网络,并根据所述反馈信息更新所述区块链网络中的智能合约。
具体地,反馈信息包括安装记录、安装版本信息和安装时间等,将反馈信息上链存储至区块链网络中,并更新区块链网络中的智能合约,即将软件更新过程完整的记录至区块链网络中公示以供查询,保证软件更新过程中没有被肆意篡改。
在一个实施例中,所述当检测到软件更新指令之后,当所述软件版本信息与所述更新版本信息相匹配,或,所述软件版本信息与所述更新版本信息不匹配,但未接收到所述更新请求时,生成无操作日志;发送所述无操作日志至所述区块链网络进行上链存储。
具体地,当所述软件版本信息与所述更新版本信息相匹配,表示当前客户端主机中的软件为最新版本的,无需进行更新;所述软件版本信息与所述更新版本信息不匹配,但未接收到所述更新请求,表示当前客户端主机不需要下载或更新该更新版本信息对应的更新软件包。在当前客户端主机不进行更新操作的情况下,生成无操作日志,将无操作日志上链存储至区块链网络中进行公示以供查询,无论客户端主机是否进行软件更新都将对应的操作记录上链存储至区块链网络中进行公示,根据区块链网络构成安全可靠的数据传输环境。
本申请实施例还提供了一种基于区块链的数据处理装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图6所示,该装置主要包括:
指令接收模块610,用于接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;
拆分模块620,用于拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;
存储模块630,用于将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
在一个实施例中,所述拆分模块620包括:
身份获取单元,用于获取目标客户端主机对应的身份信息;
加密单元,用于根据所述目标客户端主机的身份信息对各个所述拆分数据进行加密,得到加密后的拆分数据;
所述存储模块630,包括:
上链存储单元,将所述加密后的拆分数据存储至所述区块链网络,通过所述区块链网络向所述第二监控服务器提供各个所述加密后的拆分数据。
本申请实施例还提供了一种基于区块链的数据处理装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图7所示,该装置主要包括:
指令检测模块710,用于当检测到软件更新指令时,获取当前客户端主机对应的软件版本信息,所述软件更新指令携带对应的更新版本信息;
版本比对模块720,用于当所述软件版本信息与所述更新版本信息不匹配,且接收到来自所述当前客户端主机的更新请求时,生成下载请求;
下载请求模块730,用于发送所述下载请求至区块链网络,所述下载请求用于在所述区块链网络中下载与所述更新版本信息对应的拆分数据;
数据接收模块740,用于接收与所述更新版本信息对应的多个拆分数据,以及各个所述拆分数据对应的拆分顺序;
组装模块750,用于根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包;
安装包发送模块760,用于发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包。
在一个实施例中,所述软件更新指令还携带有目标客户端主机的身份信息,所述装置还包括:
解密模块,用于根据所述当前客户端主机的身份信息对各个所述拆分数据进行解密,得到解密后的所述拆分数据;
所述组装模块750包括:
解密组装单元,用于根据所述拆分顺序将所述解密后的各个所述拆分数据进行组装,生成软件安装包。
在一个实施例中,所述装置还包括:
反馈接收模块,用于接收来自所述当前客户端主机的反馈信息,所述反馈信息包括安装记录、安装版本信息、安装时间;
反馈发送模块,用于发送所述反馈信息至所述区块链网络,并根据所述反馈信息更新所述区块链网络中的智能合约。
在一个实施例中,所述装置还包括:
无操作日志生成模块,用于当所述软件版本信息与所述更新版本信息相匹配,或,所述软件版本信息与所述更新版本信息不匹配,但未接收到所述更新请求时,生成无操作日志;
无操作日志上链存储模块,用于发送所述无操作日志至所述区块链网络进行上链存储。
基于同一构思,本申请实施例中还提供了一种电子设备,如图8所示,该电子设备主要包括:处理器701、通信组件702、存储器703和通信总线704,其中,处理器701、通信组件702和存储器703通过通信总线704完成相互间的通信。其中,存储器703中存储有可被至处理器701执行的程序,处理器701执行存储器703中存储的程序,实现如下步骤:接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
处理器701执行存储器703中存储的程序还可实现上述实施例中任意一项实施例所要实现的方法步骤。
上述电子设备中提到的通信总线704可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信组件702用于上述电子设备与其他设备之间的通信。
存储器703可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器701的存储装置。
上述的处理器701可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中任意一个实施例所描述基于区块链的数据处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于区块链的数据处理方法,其特征在于,应用于第一监控服务器,所述方法包括:
接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;
拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;
将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
2.根据权利要求1所述的方法,其特征在于,所述拆分所述更新软件包,生成多个拆分数据之后,所述方法还包括:
获取目标客户端主机对应的身份信息;
根据所述目标客户端主机的身份信息对各个所述拆分数据进行加密,得到加密后的拆分数据;
所述将各个所述拆分数据存储至区块链网络,包括:
将所述加密后的拆分数据存储至所述区块链网络,通过所述区块链网络向所述第二监控服务器提供各个所述加密后的拆分数据。
3.一种基于区块链的数据处理方法,其特征在于,应用于第二监控服务器,所述方法包括:
当检测到软件更新指令时,获取当前客户端主机对应的软件版本信息,所述软件更新指令携带对应的更新版本信息;
当所述软件版本信息与所述更新版本信息不匹配,且接收到来自所述当前客户端主机的更新请求时,生成下载请求;
发送所述下载请求至区块链网络,所述下载请求用于在所述区块链网络中下载与所述更新版本信息对应的拆分数据;
接收与所述更新版本信息对应的多个拆分数据,以及各个所述拆分数据对应的拆分顺序;
根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包;
发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包。
4.根据权利要求3所述的方法,其特征在于,所述软件更新指令还携带有目标客户端主机的身份信息,所述接收与所述更新版本信息对应的多个拆分数据之后,所述方法还包括:
根据所述当前客户端主机的身份信息对各个所述拆分数据进行解密,得到解密后的所述拆分数据;
所述根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包,包括:
根据所述拆分顺序将所述解密后的各个所述拆分数据进行组装,生成软件安装包。
5.根据权利要求4所述的方法,其特征在于,所述发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包之后,所述方法还包括:
接收来自所述当前客户端主机的反馈信息,所述反馈信息包括安装记录、安装版本信息、安装时间;
发送所述反馈信息至所述区块链网络,并根据所述反馈信息更新所述区块链网络中的智能合约。
6.根据权利要求3所述的方法,其特征在于,所述当检测到软件更新指令之后,所述方法还包括:
当所述软件版本信息与所述更新版本信息相匹配,或,所述软件版本信息与所述更新版本信息不匹配,但未接收到所述更新请求时,生成无操作日志;
发送所述无操作日志至所述区块链网络进行上链存储。
7.一种基于区块链的数据处理装置,其特征在于,应用于第一监控服务器,所述装置包括:
指令接收模块,用于接收源主机下发的软件更新指令和所述软件更新指令对应的更新软件包;
拆分模块,用于拆分所述更新软件包,生成多个拆分数据,各个所述拆分数据携带对应的拆分顺序;
存储模块,用于将各个所述拆分数据存储至区块链网络,通过所述区块链网络向第二监控服务器下发所述软件更新指令,并通过所述区块链网络向所述第二监控服务器提供各个所述拆分数据,使所述第二监控服务器按照所述拆分顺序组装各个所述拆分数据。
8.一种基于区块链的数据处理装置,其特征在于,应用于第二监控服务器,所述装置包括:
指令检测模块,用于当检测到软件更新指令时,获取当前客户端主机对应的软件版本信息,所述软件更新指令携带对应的更新版本信息;
版本比对模块,用于当所述软件版本信息与所述更新版本信息不匹配,且接收到来自所述当前客户端主机的更新请求时,生成下载请求;
下载请求模块,用于发送所述下载请求至区块链网络,所述下载请求用于在所述区块链网络中下载与所述更新版本信息对应的拆分数据;
数据接收模块,用于接收与所述更新版本信息对应的多个拆分数据,以及各个所述拆分数据对应的拆分顺序;
组装模块,用于根据所述拆分顺序将各个所述拆分数据进行组装,生成软件安装包;
安装包发送模块,用于发送所述软件安装包至所述当前客户端主机,使所述当前客户端主机安装所述软件安装包。
9.一种电子设备,其特征在于,包括:处理器、通信组件、存储器和通信总线,其中,处理器、通信组件和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011521557.1A CN112702419B (zh) | 2020-12-21 | 2020-12-21 | 基于区块链的数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011521557.1A CN112702419B (zh) | 2020-12-21 | 2020-12-21 | 基于区块链的数据处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702419A true CN112702419A (zh) | 2021-04-23 |
CN112702419B CN112702419B (zh) | 2023-03-24 |
Family
ID=75509726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011521557.1A Active CN112702419B (zh) | 2020-12-21 | 2020-12-21 | 基于区块链的数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702419B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385215A (zh) * | 2022-03-25 | 2022-04-22 | 江铃汽车股份有限公司 | 软件升级方法及系统 |
CN115390882A (zh) * | 2022-10-25 | 2022-11-25 | 广州万协通信息技术有限公司 | 基于车联网的车载终端程序更新方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、系统及装置 |
CN108270874A (zh) * | 2018-02-05 | 2018-07-10 | 武汉斗鱼网络科技有限公司 | 应用程序的更新方法及装置 |
JP2018197832A (ja) * | 2017-05-25 | 2018-12-13 | 日本電信電話株式会社 | ブロックチェーン更新システム、サーバ装置、クライアント装置、ブロックチェーン更新方法、およびプログラム |
US20190138294A1 (en) * | 2018-10-16 | 2019-05-09 | Ned M. Smith | Attestation manifest derivation and distribution using software update image |
CN110399424A (zh) * | 2018-04-23 | 2019-11-01 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、区块链节点及存储介质 |
-
2020
- 2020-12-21 CN CN202011521557.1A patent/CN112702419B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991334A (zh) * | 2016-11-24 | 2017-07-28 | 阿里巴巴集团控股有限公司 | 一种数据存取的方法、系统及装置 |
JP2018197832A (ja) * | 2017-05-25 | 2018-12-13 | 日本電信電話株式会社 | ブロックチェーン更新システム、サーバ装置、クライアント装置、ブロックチェーン更新方法、およびプログラム |
CN108270874A (zh) * | 2018-02-05 | 2018-07-10 | 武汉斗鱼网络科技有限公司 | 应用程序的更新方法及装置 |
CN110399424A (zh) * | 2018-04-23 | 2019-11-01 | 百度在线网络技术(北京)有限公司 | 区块生成方法、装置、区块链节点及存储介质 |
US20190138294A1 (en) * | 2018-10-16 | 2019-05-09 | Ned M. Smith | Attestation manifest derivation and distribution using software update image |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114385215A (zh) * | 2022-03-25 | 2022-04-22 | 江铃汽车股份有限公司 | 软件升级方法及系统 |
CN114385215B (zh) * | 2022-03-25 | 2022-06-24 | 江铃汽车股份有限公司 | 软件升级方法及系统 |
CN115390882A (zh) * | 2022-10-25 | 2022-11-25 | 广州万协通信息技术有限公司 | 基于车联网的车载终端程序更新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112702419B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708060B2 (en) | System and method for blockchain-based notification | |
US10686799B2 (en) | Blockchain-based method and system for providing tenant security and compliance in a cloud computing environment | |
RU2673842C1 (ru) | Автоматическая аттестация сохранности устройства с применением цепочки блоков | |
CN111434084B (zh) | 来自实体的访问信息的许可 | |
WO2021000337A1 (en) | System and method for mapping decentralized identifiers to real-world entities | |
US20180139056A1 (en) | Apparatus and method to perform secure data sharing in a distributed network by using a blockchain | |
US8612773B2 (en) | Method and system for software installation | |
CN111353903B (zh) | 一种网络身份保护方法、装置及电子设备和存储介质 | |
KR102116235B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
CN110569674A (zh) | 基于区块链网络的认证方法及装置 | |
KR102118962B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
CN112202705A (zh) | 一种数字验签生成和校验方法、系统 | |
US20140006781A1 (en) | Encapsulating the complexity of cryptographic authentication in black-boxes | |
CN112818014B (zh) | 区块链数据解析方法、装置和电子设备 | |
CN112702419B (zh) | 基于区块链的数据处理方法、装置、设备和存储介质 | |
CN109842616B (zh) | 账号绑定方法、装置及服务器 | |
CN112712452A (zh) | 基于区块链的审批信息处理方法和装置 | |
CN112800129A (zh) | 区块状态更新方法、装置、系统和电子设备 | |
CN115412269A (zh) | 业务处理方法、装置、服务器及存储介质 | |
KR102118947B1 (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 | |
CN112560005A (zh) | 身份可信服务系统、方法、电子设备和计算机可读介质 | |
CN111178896B (zh) | 乘车支付方法、装置及存储介质 | |
US20230244797A1 (en) | Data processing method and apparatus, electronic device, and medium | |
Mtetwa et al. | Secure the internet of things software updates with ethereum blockchain | |
KR20200110118A (ko) | 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |