CN115022096B - 下载软件方法和装置 - Google Patents
下载软件方法和装置 Download PDFInfo
- Publication number
- CN115022096B CN115022096B CN202210946846.9A CN202210946846A CN115022096B CN 115022096 B CN115022096 B CN 115022096B CN 202210946846 A CN202210946846 A CN 202210946846A CN 115022096 B CN115022096 B CN 115022096B
- Authority
- CN
- China
- Prior art keywords
- data
- software
- target
- block
- node
- 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.)
- Active
Links
Images
Classifications
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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 Security & Cryptography (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种下载软件方法和装置,该方法涉及软件下载领域,包括:接收下载设备发送的软件下载请求;根据软件下载请求中的目标软件信息,确定与目标软件对应的节点集合,其中,节点集合中每个节点存储的第一数据相同;在节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,其中,第一数据为每个节点中与目标软件对应的存储位置所存储的数据,在目标软件发布时,每个节点存储的第一数据相同;在划分结果中,确定包含节点数量最大的目标划分结果;根据目标划分结果中节点存储的第一数据,确定目标软件的安装数据,并将安装数据发送给下载设备。本申请可以避免将恶意程序发送给下载设备,保证了下载设备的安全。
Description
技术领域
本申请涉及软件下载领域,特别是涉及一种下载软件方法和装置。
背景技术
在实际生活中,当软件开发商开发好软件后,一般将该软件发布到网上,以便用户在应用商店或者官网上下载,来满足用户自身的需求。
具体的,当用户在应用商店或者官网上点击下载按钮后,下载设备接收到软件下载指令,并生成软件下载请求,进而请求服务器根据该软件下载请求所指示的软件信息,在存储安装数据的数据库中,查找该软件的安装数据,将其下发给下载设备。这样,该下载设备在获取到该安装数据之后,基于该安装数据进行安装。
然而,如果数据库中的安装数据被恶意用户篡改,则会将该被篡改的安装数据下发给下载设备。下载设备在基于被篡改的安装数据进行安装时,会严重威胁到下载设备的安全,严重时甚至造成数据泄漏。
发明内容
有鉴于此,本申请提供一种下载软件方法和装置,可以避免将恶意程序发送给下载设备,保证了下载设备的安全。
为达到上述目的,本申请主要提供如下技术方案:
第一方面,本申请提供了一种下载软件方法,所述方法包括:
接收下载设备发送的软件下载请求;
根据所述软件下载请求中的目标软件信息,确定与目标软件对应的节点集合,其中,所述节点集合中的节点数量大于阈值;
在所述节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,其中,所述第一数据为每个节点中与所述目标软件对应的存储位置所存储的数据,在所述目标软件发布时,所述节点集合中每个节点存储的第一数据相同;
在所述划分结果中,确定包含节点数量最大的目标划分结果;
根据所述目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,并将安装数据发送给下载设备。
进一步的,所述目标软件信息包括软件ID和版本号,所述将所述安装数据发送给下载设备之前,所述方法还包括:
确定创世区块ID为软件ID的验证信息子链;
在验证信息子链中,查找区块ID为版本号的区块;
在所述区块中,获取第一验证信息;
基于所述第一验证信息,对所述安装数据进行验证。
进一步的,所述第一数据还包括第二验证信息和第二数据,所述根据所述目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据之前,所述方法还包括:
在所述第一数据中,获取所述第二验证信息以及第二数据,所述第二数据为所述第一数据中除第二验证信息之外的数据;
基于所述第二验证信息,对所述第二数据进行验证。
进一步的,所述根据所述目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,包括:
将所述目标划分结果中节点存储的第二数据确定为所述节点集合对应的第二数据;
按照每个节点集合对应的排列顺序,对每个节点集合对应的第二数据进行组合,得到所述目标软件的安装数据。
进一步的,所述方法还包括:
当接收到软件发布请求时,确定发送所述软件发布请求的目标节点和所述软件发布请求中的软件ID,其中,所述软件ID为待发布软件的ID;
在创世区块ID为软件ID的配置数据子链中,获取待发布软件的公司ID;
在认证子链中,判断是否存在所述目标节点所属区块的区块ID,其中,所述区块ID为在软件公司认证通过时,为所述软件公司所生成的公司ID;
根据判断结果,确定是否发布所述待发布软件。
进一步的,所述根据判断结果,确定是否发布所述待发布软件,包括:
如果是,则当所述区块ID与所述公司ID相同时,发布所述待发布软件;
如果否,则当所述公司ID与预设ID相同时,发布所述待发布软件。
第二方面,本申请提供了一种下载软件装置,该装置包括:
接收单元,用于接收下载设备发送的软件下载请求;
第一确定单元,用于根据所述接收单元接收到的软件下载请求中的目标软件信息,确定与目标软件对应的节点集合,其中,所述节点集合中的节点数量大于阈值;
划分单元,用于在所述第一确定单元确定出的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,其中,所述第一数据为每个节点中与所述目标软件对应的存储位置所存储的数据,在所述目标软件发布时,所述节点集合中每个节点存储的第一数据相同;
第二确定单元,用于在所述划分单元划分出的划分结果中,确定包含节点数量最大的目标划分结果;
第三确定单元,用于根据所述第二确定单元确定出的目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,并将安装数据发送给下载设备。
进一步的,所述装置还包括第一验证单元,所述第一验证单元包括:
第一确定模块,用于确定创世区块ID为软件ID的验证信息子链;
第一查找模块,用于在第一确定模块确定出的验证信息子链中,查找区块ID为所述版本号的区块;
第一获取模块,用于在所述第二查找模块确定出的区块中,获取第一验证信息;
第一验证模块,用于基于所述第一获取模块获取到的第一验证信息,对所述安装数据进行验证。
进一步的,所述第一数据还包括第二验证信息和第二数据,所述装置还包括第二验证单元,所述第二验证单元包括:
第一获取模块,用于在所述第一数据中,获取所述第二验证信息以及第二数据,所述第二数据为所述第一数据中除第二验证信息之外的数据;
第二验证模块,用于基于所述第一获取模块获取到的第二验证信息,对所述第二数据进行验证。
进一步的,所述第三确定单元,包括:
第二确定模块,用于将所述目标划分结果中节点存储的第二数据确定为所述节点集合对应的第二数据;
排序模块,用于按照每个节点集合对应的排列顺序,对第二确定模块确定出的每个节点集合对应的第二数据进行组合,得到所述目标软件的安装数据。
进一步的,所述装置还包括发布单元,发布单元包括:
第三确定模块,用于当接收到软件发布请求时,确定发送所述软件发布请求的目标节点和所述软件发布请求中的软件ID,其中,所述软件ID为待发布软件的ID;
第三获取模块,用于在创世区块ID为第三确定模块确定出的软件ID的配置数据子链中,获取待发布软件的公司ID;
判断模块,用于在认证子链中,判断是否存在所述第三确定模块确定出的目标节点所属区块的区块ID,其中,所述区块ID为在软件公司认证通过时,为所述软件公司所生成的公司ID;
第四确定模块,用于根据判断模块的判断结果,确定是否发布所述待发布软件。
进一步的,所述第四确定模块还用于:
如果是,则当所述区块ID与所述公司ID相同时,发布所述待发布软件;
如果否,则当所述公司ID与预设ID相同时,发布所述待发布软件。
第三方面,本申请还提供了一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述第一方面的下载软件方法。
第四方面,本申请提供了一种存储介质,该存储介质用于存储计算机程序,其中,该计算机程序运行时控制该存储介质所在设备执行该第一方面所述的下载软件方法。
借由上述技术方案,本申请提供了一种下载软件方法和装置,具体记载了当接收到目标软件的下载请求时,在目标软件的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,并在这些划分结果中确定包含节点数量最大的目标划分结果,根据目标划分结果中节点存储的第一数据,确定目标软件的安装数据。由于设备等方面的限制,恶意人员只能对个别或者几个节点存储的第一数据进行篡改,不能对节点集合中大部分节点存储的第一数据进行篡改。因此,本申请可以通过上述方法确定出所包括的每个节点存储的第一数据相同,且节点数目最多的目标划分结果,该目标划分结果中每个节点存储的第一数据未被篡改,进而可以根据目标划分结果中节点存储的第一数据,确定安装数据,进而将其发送给下载设备。因此,基于本申请实施例的方法,发送给下载设备的数据是未经篡改的安装数据,避免将恶意程序发送给下载设备,保证了下载设备***的安全。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开的一种下载软件方法的流程示意图;
图2为本申请公开的又一种下载软件方法的流程示意图;
图3为本申请公开的还一种下载软件方法的流程示意图;
图4为本申请公开的一种下载软件装置的结构示意图;
图5为本申请公开的又一种下载软件装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
在实际中,由于设备等方面的限制,恶意人员只能对个别或者几个节点存储的数据进行篡改,不能对节点集合中大部分节点存储的数据进行篡改。如果节点存储的数据相同,这样,纵使节点集合中的一小部分节点存储的数据被恶意人员进行篡改,不可使用,但大部分节点存储的数据仍可以使用。因此,如果节点集合中的节点被篡改,存储数据相同且占大部分的节点便为数据未被篡改的节点。将这些节点的存储的数据发送给下载设备,避免将恶意程序发送给下载设备,保证了下载设备***的安全。
综上,本申请实施例提供了一种下载软件方法,该方法的执行主体为网络中的任意节点,可以避免将恶意程序发送给下载设备,保证了下载设备的安全。其具体执行步骤如图1所示,包括:
步骤101,接收下载设备发送的软件下载请求。
其中,软件下载请求用于请求获取目标软件的安装数据,并将其发送给下载设备。安装数据为安装目标软件所需要的数据。
在本步骤的具体实施方式中,用户可以在下载设备的应用商店搜索目标软件。在下载设备接收到搜索指令后,显示目标软件的下载页面,该下载页面上显示有至少一个版本的软件对应的下载按钮。当用户点击目标软件对应的下载按钮后,接收到下载按钮的点击指令,根据该目标软件信息,生成软件下载请求,并将该软件下载请求发送给某一节点。
步骤102,根据软件下载请求中的目标软件信息,确定与目标软件对应的节点集合。
其中,节点集合中的节点数量大于阈值,也就是说,在本申请中,节点集合的节点数据量必须多,才能保证发送给下载设备的数据为正确的安装数据。本申请中与目标软件对应的节点集合可以为一个,也可以为多个。如果不将目标软件的安装数据分为多份,则与目标软件对应的节点集合为一个。如果将目标软件的安装数据分为多份,则与目标软件对应的节点集合为多个。目标软件信息可以包括目标软件ID和版本号,用于查找存储目标软件的安装数据的节点。
在本步骤的具体实施方式中,根据软件下载请求中的目标软件信息,以及预先存储软件信息和节点集合的对应关系,查找到与目标软件对应的节点集合。
步骤103,在节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果。
其中,第一数据为每个节点中与目标软件对应的存储位置所存储的数据,在目标软件发布时,节点集合中每个节点存储的第一数据相同。同一个划分结果中的第一数据相同,不同划分结果中的第一数据不同。
在目标软件发布时,软件开发商会将目标软件的安装数据发布到网上,并将其存储到至少一个节点集合中。以下以将安装数据存储到一个节点集合中为例,该节点集合中每个节点都会存储该目标软件的安装数据,即在目标软件发布时,节点集合中每个节点存储的该目标软件的安装数据相同。
在本步骤的具体实施方式中,在确定节点集合后,对于每个节点,根据预先存储的目标软件、节点以及存储位置的对应关系,确定该节点中与目标软件对应的存储位置,即确定该节点中理应存储安装数据或其部分的存储位置。由于该存储位置存储的数据可能是安装数据或其部分数据,也可能是经过恶意人员篡改后的数据,因此为了将该存储位置存储的数据和安装数据区分开来,可以将该存储位置存储的数据确定为第一数据。由于上述已经确定节点集合中每个节点中与目标软件对应的存储位置,因此可以在每个存储位置中获取第一数据,进而得到每个节点的第一数据。之后根据第一数据的异同,对每个节点的第一数据进行分类,如果节点集合中节点存储的第一数据没有被篡改,则节点集合中的每个节点存储的第一数据相同,这样也只会得到一个划分结果。如果节点集合中的节点存储的第一数据被篡改,则节点集合中存在至少两种第一数据,这样会得到至少一个划分结果。
步骤104,在划分结果中,确定包含节点数量最大的目标划分结果。
在本步骤的具体实施方式中,由于在目标软件发布时,可以将目标软件的数据存储至少一个节点集合中,使得该节点集合中每个节点都存储相同的数据。但是,由于节点集合中存在大量的节点,且恶意人员对节点集合中的大部分节点存储的数据进行篡改的难度很大,因此,恶意人员只能对节点集合中的个别或者几个节点进行篡改。这样,当存在恶意人员对节点上存储的第一数据进行篡改时,基于本申请的方法可以确定出多个划分结果,而由于恶意人员只能对节点集合中的个别或者几个节点进行篡改,因此,包括节点数量较多的目标划分结果中节点存储的第一数据未被篡改,可以将其发送给下载设备。当不存在恶意人员对节点上存储的第一数据进行篡改时,只会得到一个划分结果,该划分结果便为目标划分结果。
需要说明的是,在本申请实施例中,为了保证节点集合中每个节点存储的数据相同,可以周期性按照少数服从多数原则,对节点集合中每个节点存储的数据进行数据同步。
步骤105,根据目标划分结果中节点存储的第一数据,确定目标软件的安装数据,并将安装数据发送给下载设备。
在本步骤的具体实施方式中,如果不将目标软件的安装数据分为多份,则与目标软件对应的节点集合为一个,这样是将目标软件的安装数据存储到节点集合中的每个节点中,基于本步骤确定出的目标划分结果中节点存储的第一数据便为安装数据。如果将目标软件的安装数据分为多份,则与目标软件对应的节点集合为多个,这样是将同一份数据存储到对应节点集合中的每个节点,基于本步骤确定出的目标划分结果中节点存储的第一数据为安装数据中的一部分,需要根据确定出的多个第一数据,来确定目标软件的安装数据。在确定出安装数据之后,将安装数据发送给下载设备,以实现软件的下载。
在本申请实施例中,当接收到目标软件的下载请求时,在目标软件的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,并在这些划分结果中确定包含节点数量最大的目标划分结果,根据目标划分结果中节点存储的第一数据,确定目标软件的安装数据。由于设备等方面的限制,恶意人员只能对个别或者几个节点存储的第一数据进行篡改,不能对节点集合中大部分节点存储的第一数据进行篡改。因此,本申请可以通过上述方法确定出所包括的每个节点存储的第一数据相同,且节点数目最多的目标划分结果,该目标划分结果中每个节点存储的第一数据未被篡改,进而可以根据目标划分结果中节点存储的第一数据,确定安装数据,进而将其发送给下载设备。因此,基于本申请实施例的方法,发送给下载设备的数据是未经篡改的安装数据,避免将恶意程序发送给下载设备,保证了下载设备***的安全。
进一步的,在目标软件发布时,可以将目标软件的安装数据存储至区块链中,进而当区块链***接收到软件下载请求时,在区块链中获取到目标软件的安装数据,并将其发送给下载设备。因此,本申请实施例在图1所述的实施例的基础上,还提供了一种下载软件方法,其具体执行步骤如图2所示,包括:
步骤201,接收下载设备发送的软件下载请求。
该步骤与步骤101类似,此处不再一一赘述。
步骤202,确定创世区块ID为软件ID和版本号的安装数据子链。
其中,目标软件信息中包括目标软件的软件ID和版本号。创世区块为安装数据子链中第一个创建的区块,该区块的ID为软件ID和版本号。
在本步骤的具体实施方式中,区块链***中可以存储不同软件的安装数据子链,为了区别不同软件的安装数据子链,可以将安装数据子链中创世区块ID设置为对应软件的软件ID和版本号。这样便可以在多个安装数据子链中,查找创世区块ID为软件ID和版本号的安装数据子链,进而找到存储有目标软件的安装数据的子链。
在本申请中,还提供了一种构建安装数据子链的方法,具体步骤为:
第一步,按照安装数据子链的每个区块的存储空间的大小,对安装数据进行划分,将其划分为多个数据块。或者按照预设大小,对安装数据进行划分,将其划分为多个数据块。例如,按照2M的大小,对安装数据进行划分,得到多个数据块。之后,为每个数据块设置唯一的数据块ID。该数据库ID可以指示数据块的组合顺序。
第二步,依次读取数据块,使用MD5算法对数据块计算数字标签,使用除MD5算法之外的散列函数计算得出数字标签的散列值。之后,将包括数字标签的散列值、数据块ID的数据块存储请求发送至区块链***中。
第三步,区块链***中的各节点接收到数据块存储请求后,开始反向计算数字标签的散列值对应的数字标签,当有节点计算出来正确的数字标签后,将数字标签发送至区块链网络中其他节点。其他节点使用散列函数计算接收到的数字标签的散列值,并与数据块存储请求中的散列值进行对比,如果一致则代表数字标签已确认。当存在超过半数以上节点确认数字标签后,将计算出数字标签的节点确定为本次的数据块存储节点。当数据块存储节点确认后,区块链网络中的其他节点在本地保存数据块ID、数据块存储节点ID、数字标签的散列值,用于接下来的存储区块验证和同步。
第四步,使用数据存储节点的公钥将数据块进行加密后,将加密后的数据块通过数据发送节点与数据存储节点之间建立的数据传输通道发送至数据发送节点。数据发送节点将加密后的数据块通过私钥进行解密,并在安装程序子链上创建新的区块,将解密后的数据块、数字标签、数字标签的散列值存储在新的区块中,并将数据块的ID确定为区块ID。在创建完成后,将新的区块同步至区块链网络中,区块链网络中的其他节点收到新区块后,判断新的区块的ID与第三步中本地保存的数据块ID是否一致,并且新的区块的数字标签的散列值与第三步本地保存的数字标签的散列值一致,则代表本次数据块存储合法,将新的区块添加至本地的安装程序子链。
之后,重复第二步和第四步知道将所有的数据块存储至安装数据子链中。
步骤203,遍历安装数据子链中所有的区块,得到每个区块对应的第一数据。
其中,当目标软件的安装数据所需要的存储空间大于区块的存储空间时,根据区块存储空间的大小,将安装数据分为多个数据块,将每份数据存储到区块中的节点中。同时,在划分之后,还可以根据数据块在安装数据中的位置,为每个数据块赋予对应的数据块ID,并将每个区块的区块ID设置为所存储的数据块的数据块ID,以便根据每个区块的区块ID对每个区块进行排序。第一数据为每个节点中与目标软件对应的存储位置所存储的数据,在目标软件发布时,节点集合中每个节点存储的第一数据相同。
在本步骤的具体实施方式中,可以根据每个区块的区块ID,依次遍历安装数据子链中所有的区块,将每个区块确定为一个节点集合,这样在每个节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果。在划分结果中,确定包含节点数量最大的目标划分结果。将目标划分结果中节点存储的第一数据确定为节点集合对应的第一数据,进而得到每个区块对应的第一数据。
步骤204,按照遍历顺序对每个区块对应的第一数据进行排序,得到安装数据。
其中,可以根据每个区块的区块ID确定对区块的遍历顺序。
在本步骤的具体实施方式中,当将安装数据存储到多个区块中时,按照遍历顺序,对每个节点集合对应的第一数据进行排序,得到目标软件的安装数据。
步骤205,确定创世区块ID为软件ID的验证信息子链。
其中,验证信息子链为存储验证信息的区块链,该验证信息子链包括ID为软件ID的创世区块,以及ID为版本号的区块,该区块中存储有目标软件的验证信息。
在本申请实施例中,在步骤207确定出目标软件的安装数据之后,可以直接将确定出的安装数据发送给下载设备,也可以先对安装数据进行验证,并在验证通过之后,将其发送给下载设备。当需要对安装数据进行验证时,需要先确定目标软件的验证信息的存储位置,进而根据该存储位置获取目标软件的验证信息。具体方式为:在多个验证信息子链中,确定创世区块ID为软件ID的验证信息子链。
步骤206,在验证信息子链中,查找区块ID为版本号的区块。
步骤207,在该区块中,获取第一验证信息。
其中,第一验证信息可以包括安装数据的数据量大小,也可以包括基于安装数据计算出的散列值,也可以包括安装数据的数据量大小和基于安装数据计算出的散列值。
步骤208,基于第一验证信息,对安装数据进行验证。
在本步骤的具体实施方式中,当第一验证信息包括安装数据的数据量大小时,可以获取步骤207确定出的安装数据的数据量,并比较该数据量和第一验证信息中数据量是否相等。当两者相等时,验证通过。当两者不等时,验证不通过。当第一验证信息包括基于安装数据计算出的散列值时,可以基于预先存储的算法计算步骤207确定出的安装数据的散列值,并比较该散列值和第一验证信息中的散列值是否相等。当两者相等时,验证通过。当两者不等时,验证不通过。
需要说明的是,当验证通过时,则说明安装数据是安全的,可以发送给下载设备进行安装。当验证不通过时,则说明安装数据是不安全的,可以将警报信息发送给目标软件的软件开发商,以使该软件开发商对安装数据进行维护。
步骤209,当验证通过时,将安装数据发送给下载设备。
在本申请实施例中,当接收到目标软件的下载请求时,在目标软件的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,并在这些划分结果中确定包含节点数量最大的目标划分结果,根据目标划分结果中节点存储的第一数据,确定目标软件的安装数据。由于设备等方面的限制,恶意人员只能对个别或者几个节点存储的第一数据进行篡改,不能对节点集合中大部分节点存储的第一数据进行篡改。因此,本申请可以通过上述方法确定出所包括的每个节点存储的第一数据相同,且节点数目最多的目标划分结果,该目标划分结果中每个节点存储的第一数据未被篡改,进而可以根据目标划分结果中节点存储的第一数据,确定安装数据,进而将其发送给下载设备。因此,基于本申请实施例的方法,发送给下载设备的数据是未经篡改的安装数据,避免将恶意程序发送给下载设备,保证了下载设备***的安全。
进一步的,在图1或图2所述实施例的基础上,本申请实施例还提供了一种下载软件方法,其具体执行步骤如图3所示,包括:
步骤301,接收下载设备发送的软件下载请求。
步骤302,确定创世区块ID为软件ID和版本号的安装数据子链。
步骤303,遍历安装数据子链中所有的区块,得到每个区块对应的第一数据。
步骤304,在每个第一数据中,获取第二验证信息以及第二数据。
其中,第二数据为第一数据中除第二验证信息之外的数据,具体的,第二数据为目标软件的安装数据或者其部分数据。第二验证信息可以包括第二数据的数字标签,也可以包括第二数据的散列值,也可以包括数字标签和散列值,其中,散列值为使用散列函数对数字标签进行计算得到的。
在本步骤的具体实施方式中,当确定出每个节点集合对应的第一数据之后,在每个第一数据中确定出第二验证信息和第二数据。
例如,将第一数据中前9位数据确定为第二验证信息,将其他数据确定为第二数据。
步骤305,基于第二验证信息,对第二数据进行验证。
在本步骤的具体实施方式中,当第二验证信息包括第二数据的数字标签时,使用预设的数字标签算法,对第二数据进行计算,得到第二数据的数字标签,将该数字标签与第二验证信息中的数字标签进行比较。当两者相同时,验证通过,当两者不相同时,验证不通过。当第二验证信息包括第二数据的散列值时,使用预设的散列值算法,对第二数据进行计算,得到第二数据的散列值,将该散列值与第二验证信息中的散列值进行比较。当两者相同时,验证通过,当两者不相同时,验证不通过。当第二验证信息包括第二数据的数字签名和散列值时,同时对数字标签和散列值进行验证。
步骤306,当验证通过时,将目标划分结果中节点存储的第二数据确定为节点集合对应的第二数据,按照每个节点集合对应的排列顺序,对每个节点集合对应的第二数据进行组合,得到所述目标软件的安装数据。
在本步骤的具体实施方式中,当验证通过时,将目标划分结果中节点存储的第二数据确定为对应区块的第二数据;按照每个区块对应的排列顺序,对每个区块对应的第二数据进行组合,得到目标软件的安装数据。
步骤307,确定创世区块ID为软件ID的验证信息子链。
步骤308,在验证信息子链中,查找区块ID为版本号的区块。
步骤309,在该区块中,获取第一验证信息。
其中,第一验证信息可以为安装数据的数据量大小,也可以为基于安装数据计算出的散列值,也可以为安装数据的数据量大小和基于安装数据计算出的散列值。
步骤310,基于第一验证信息,对安装数据进行验证。
步骤311,当验证通过时,将安装数据发送给下载设备。
在本申请实施例中,当接收到目标软件的下载请求时,在目标软件的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,并在这些划分结果中确定包含节点数量最大的目标划分结果,根据目标划分结果中节点存储的第一数据,确定目标软件的安装数据。由于设备等方面的限制,恶意人员只能对个别或者几个节点存储的第一数据进行篡改,不能对节点集合中大部分节点存储的第一数据进行篡改。因此,本申请可以通过上述方法确定出所包括的每个节点存储的第一数据相同,且节点数目最多的目标划分结果,该目标划分结果中每个节点存储的第一数据未被篡改,进而可以根据目标划分结果中节点存储的第一数据,确定安装数据,进而将其发送给下载设备。因此,基于本申请实施例的方法,发送给下载设备的数据是未经篡改的安装数据,避免将恶意程序发送给下载设备,保证了下载设备***的安全。
除上述实施例之外,为了在使用安装数据进行时,显示目标软件的软件配置数据,还可以在查找目标软件的安装数据的同时,查找目标软件的各种配置数据,进而将该安装数据和各种配置数据一并发送给下载设备。具体步骤为:确定创世区块ID为软件ID的配置数据子链。在该配置数据子链中,查找区块ID为版本号的第三区块。在第三区块中,获取目标软件的各种配置数据。
其中,配置数据包括软件名称、软件描述、软件分类等信息。
同时,本申请在软件发布时,还可以先确定一下发布软件的目标节点是否合法,并在该节点合法的情况下,允许该节点进行软件发布,具体方法为:当接收到软件发布请求时,确定发送软件发布请求的目标节点和软件发布请求中的软件ID,其中,软件ID为待发布软件的ID;在创世区块ID为软件ID的配置数据子链中,获取待发布软件的公司ID;在认证子链中,判断是否存在目标节点所属区块的区块ID,其中,区块ID为在软件公司认证通过时,为软件公司所生成的公司ID;根据判断结果,确定是否发布待发布软件,具体为:如果是,则当区块ID与公司ID相同时,发布待发布软件;如果否,则当公司ID与预设ID相同时,发布待发布软件。
其中,配置数据子链中的创世区块或者其他区块中可以存储开发该软件的公司ID。
对于商业软件而言,一般是由某公司开发而成的,如果该公司想要在区块链***上发布软件,则该公司必须经过区块链***的身份认证,进而在区块链***中的认证子链上创建区块ID为该公司的公司ID的区块。因此,当需要发布软件时,根据发布软件的目标节点,确定该目标节点是否属于认证子链中某个区块,即判断是否存在所述目标节点所属区块的区块ID。如果存在所述目标节点所属区块的区块ID,则验证该区块ID与配置数据子链中的公司ID是否相同。当相同时,则说明目标节点合法,可以发布目标节点上传的软件。当不相同时,则说明目标节点不合法,为了保证区块链***的安全,不能发布目标节点上传的软件。如果不存在所述目标节点所属区块的区块ID,说明待发布的软件为自由软件,只需要验证配置数据子链中的公司ID是否与预设ID相同。当相同时,说明该目标节点合法,当不同时,说明该目标节点不合法。
其中,对于商业软件,发布软件的主体是商业软件公司,商业软件公司在发布软件前需要进行身份认证,认证成功后,区块链***为其生成公司ID,作为该软件公司在区块链***中的唯一标识,公司ID与该商业软件公司的区块链节点进行一对一绑定。绑定的方式为在认证子链上创建新的区块,使用公司ID作为区块的ID,区块的数据区存储在软件公司的节点。在绑定后,该商业软件公司才可通过其区块链节点发布商业软件。
同时,上述建立配置数据子链的方法为:在软件发布前,软件发布者可以先发起软件配置请求,其中,软件配置请求至少包含公司ID、软件ID、版本号、软件配置数据。当区块链***接收到该软件配置请求之后,遍历该区块链中的所有创世区块的区块ID。当检测到存储与软件ID相同的区块ID时,说明已经建立该软件的配置数据子链,只需要确定创世区块的区块ID为软件ID的配置数据子链,并在该配置数据子链上新建一个区块,并将该区块的区块ID设置为版本号,进而将软件配置请求中的数据存储至该区块中。当没有检测到存储与软件ID相同的区块ID时,说明还没有建立该软件的配置数据子链,因此,需要先建立配置数据子链,在将软件配置请求中的软件配置数据进行存储。具体方式为:创建区块ID为软件ID的创世区块,并将公司ID存储至该创世区块中。之后在创世区块的子链中创建区块ID为版本号的区块,并将软件配置请求中的数据存储至该区块中。
同时,还可以对软件发布请求中的安装数据进行验证,以保证安装数据的正确性。例如,通过在线验证和人工验证两种验证方式对安装数据进行验证。具体的,软件安装程序被发送至验证云端,验证云端集成了各个主流软件安全公司的软件扫描引擎,使用各个引擎对软件安装程序进行安全扫描,检查各个引擎是否扫描通过。人工验证时,将软件安装包随机分配给不同地理位置的验证员,由检验员在沙盒环境下运行软件,检测软件的安全性。两种验证方式的安全性指标包括且不限于:恶意木马、恶意病毒、恶意下载、恶意广告等。
进一步的,作为对上述图1-3所示方法实施例的实现,本申请实施例提供了一种下载软件装置,该装置可以避免将恶意程序发送给下载设备,保证了下载设备的安全。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。具体如图4所示,该装置包括:
接收单元401,用于接收下载设备发送的软件下载请求;
第一确定单元402,用于根据所述接收单元401接收到的软件下载请求中的目标软件信息,确定与目标软件对应的节点集合,其中,所述节点集合中的节点数量大于阈值;
划分单元403,用于在所述第一确定单元402确定出的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,其中,所述第一数据为每个节点中与所述目标软件对应的存储位置所存储的数据,在所述目标软件发布时,所述节点集合的每个节点存储的第一数据相同;
第二确定单元404,用于在所述划分单元403划分出的划分结果中,确定包含节点数量最大的目标划分结果;
第三确定单元405,用于根据所述第二确定单元404确定出的目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,并将安装数据发送给下载设备。
进一步的,如图5所示,所述装置还包括第一验证单元406,所述第一验证单元406包括:
第一确定模块4061,用于确定创世区块ID为软件ID的验证信息子链;
第一查找模块4062,用于在第一确定模块4061确定出的验证信息子链中,查找区块ID为所述版本号的区块;
第一获取模块4063,用于在所述第二查找模块4062确定出的区块中,获取第一验证信息;
第一验证模块4064,用于基于所述第一获取模块4064获取到的第一验证信息,对所述安装数据进行验证。
进一步的,如图5所示,所述第一数据还包括第二验证信息和第二数据,所述装置还包括第二验证单元407,所述第二验证单元407包括:
第一获取模块4071,用于在所述第一数据中,获取所述第二验证信息以及第二数据,所述第二数据为所述第一数据中除第二验证信息之外的数据;
第二验证模块4072,用于基于所述第一获取模块4071获取到的第二验证信息,对所述第二数据进行验证。
进一步的,如图5所示,所述第三确定单元405,包括:
第二确定模块4051,用于将所述目标划分结果中节点存储的第二数据确定为所述节点集合对应的第二数据;
排序模块4052,用于按照每个节点集合对应的排列顺序,对第二确定模块4051确定出的每个节点集合对应的第二数据进行组合,得到所述目标软件的安装数据。
进一步的,如图5所示,所述装置还包括发布单元408,发布单元408包括:
第三确定模块4081,用于当接收到软件发布请求时,确定发送所述软件发布请求的目标节点和所述软件发布请求中的软件ID,其中,所述软件ID为待发布软件的ID;
第三获取模块4082,用于在创世区块ID为第三确定模块4081确定出的软件ID的配置数据子链中,获取待发布软件的公司ID;
判断模块4083,用于在认证子链中,判断是否存在所述第三确定模块4081确定出的目标节点所属区块的区块ID,其中,所述区块ID为在软件公司认证通过时,为所述软件公司所生成的公司ID;
第四确定模块4084,用于根据判断模块4083的判断结果,确定是否发布所述待发布软件。
进一步的,如图5所示,所述第四确定模块4084还用于:
如果是,则当所述区块ID与所述公司ID相同时,发布所述待发布软件;
如果否,则当所述公司ID与预设ID相同时,发布所述待发布软件。
进一步的,本申请实施例还提供一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述图1-3中所述的下载软件方法。
进一步的,本申请实施例还提供一种存储介质,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行上述图1-3中所述的下载软件方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再一一赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种下载软件方法,其特征在于,所述方法包括:
接收下载设备发送的软件下载请求;
根据所述软件下载请求中的目标软件信息,确定与目标软件对应的节点集合,其中,所述节点集合中的节点数量大于阈值;
在所述节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,其中,所述第一数据为每个节点中与所述目标软件对应的存储位置所存储的数据,在所述目标软件发布时,所述节点集合中每个节点存储的第一数据相同;
在所述划分结果中,确定包含节点数量最大的目标划分结果;
根据所述目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,并将安装数据发送给下载设备;
所述目标软件信息包括软件ID和版本号,所述将安装数据发送给下载设备之前,所述方法还包括:
确定创世区块ID为软件ID的验证信息子链;
在所述验证信息子链中,查找区块ID为版本号的区块;
在所述区块中,获取第一验证信息;
基于所述第一验证信息,对所述安装数据进行验证;
所述第一数据还包括第二验证信息和第二数据,所述根据所述目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据之前,所述方法还包括:
在所述第一数据中,获取所述第二验证信息以及第二数据,所述第二数据为所述第一数据中除第二验证信息之外的数据;
基于所述第二验证信息,对所述第二数据进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,包括:
将所述目标划分结果中节点存储的第二数据确定为所述节点集合对应的第二数据;
按照每个节点集合对应的排列顺序,对每个节点集合对应的第二数据进行组合,得到所述目标软件的安装数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到软件发布请求时,确定发送所述软件发布请求的目标节点和所述软件发布请求中的软件ID,其中,所述软件ID为待发布软件的ID;
在创世区块ID为软件ID的配置数据子链中,获取待发布软件的公司ID;
在认证子链中,判断是否存在所述目标节点所属区块的区块ID,其中,所述区块ID为在软件公司认证通过时,为所述软件公司所生成的公司ID;
根据判断结果,确定是否发布所述待发布软件。
4.根据权利要求3所述的方法,其特征在于,所述根据判断结果,确定是否发布所述待发布软件,包括:
如果是,则当所述区块ID与所述公司ID相同时,发布所述待发布软件;
如果否,则当所述公司ID与预设ID相同时,发布所述待发布软件。
5.一种下载软件装置,其特征在于,所述装置包括:
接收单元,用于接收下载设备发送的软件下载请求;
第一确定单元,用于根据所述接收单元接收到的软件下载请求中的目标软件信息,确定与目标软件对应的节点集合,其中,所述节点集合中的节点数量大于阈值;
划分单元,用于在所述第一确定单元确定出的节点集合中,对存储的第一数据相同的节点进行划分,得到划分结果,其中,所述第一数据为每个节点中与所述目标软件对应的存储位置所存储的数据,在所述目标软件发布时,所述节点集合的每个节点存储的第一数据相同;
第二确定单元,用于在所述划分单元划分出的划分结果中,确定包含节点数量最大的目标划分结果;
第三确定单元,用于根据所述第二确定单元确定出的目标划分结果中节点存储的第一数据,确定所述目标软件的安装数据,并将安装数据发送给下载设备;
所述目标软件信息包括软件ID和版本号,所述将安装数据发送给下载设备之前,所述装置还包括第一验证单元,所述第一验证单元,用于:
确定创世区块ID为软件ID的验证信息子链;
在所述验证信息子链中,查找区块ID为版本号的区块;
在所述区块中,获取第一验证信息;
基于所述第一验证信息,对所述安装数据进行验证;
所述第一数据还包括第二验证信息和第二数据,所述装置还包括第二验证单元,所述第二验证单元用于:
在所述第一数据中,获取所述第二验证信息以及第二数据,所述第二数据为所述第一数据中除第二验证信息之外的数据;
基于所述第二验证信息,对所述第二数据进行验证。
6.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行权利要求1-4中任意一项所述的下载软件方法。
7.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,其中,所述计算机程序运行时控制所述存储介质所在设备执行权利要求1-4中任意一项所述的下载软件方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946846.9A CN115022096B (zh) | 2022-08-09 | 2022-08-09 | 下载软件方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946846.9A CN115022096B (zh) | 2022-08-09 | 2022-08-09 | 下载软件方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022096A CN115022096A (zh) | 2022-09-06 |
CN115022096B true CN115022096B (zh) | 2022-11-22 |
Family
ID=83065361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946846.9A Active CN115022096B (zh) | 2022-08-09 | 2022-08-09 | 下载软件方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022096B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130026578A (ko) * | 2011-08-02 | 2013-03-14 | 광주과학기술원 | 가상화 노드, 가상화 노드를 설치하여 콘텐츠를 공유하는 사용자 노드, 그리고 가상화 노드를 이용한 콘텐츠 공유 방법 |
CN104331346A (zh) * | 2014-11-21 | 2015-02-04 | 四川神琥科技有限公司 | 一种数据保护方法 |
CN106897348A (zh) * | 2016-08-19 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种数据存储、数据校验、数据溯源方法和设备 |
CN107077557A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 软件应用程序发布和验证的方法及装置 |
CN107395587A (zh) * | 2017-07-18 | 2017-11-24 | 北京初识科技有限公司 | 一种基于多点协作机制的数据管理方法及*** |
CN110460486A (zh) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | 服务节点的监控方法及*** |
CN110995732A (zh) * | 2019-12-12 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种网页篡改检测方法及相关装置 |
CN112597485A (zh) * | 2021-03-01 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 基于区块链的信息校验方法、装置和设备及存储介质 |
CN114172689A (zh) * | 2021-11-11 | 2022-03-11 | 卓尔智联(武汉)研究院有限公司 | 一种信息处理方法及设备 |
-
2022
- 2022-08-09 CN CN202210946846.9A patent/CN115022096B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130026578A (ko) * | 2011-08-02 | 2013-03-14 | 광주과학기술원 | 가상화 노드, 가상화 노드를 설치하여 콘텐츠를 공유하는 사용자 노드, 그리고 가상화 노드를 이용한 콘텐츠 공유 방법 |
CN104331346A (zh) * | 2014-11-21 | 2015-02-04 | 四川神琥科技有限公司 | 一种数据保护方法 |
CN106897348A (zh) * | 2016-08-19 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种数据存储、数据校验、数据溯源方法和设备 |
CN107077557A (zh) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 软件应用程序发布和验证的方法及装置 |
CN107395587A (zh) * | 2017-07-18 | 2017-11-24 | 北京初识科技有限公司 | 一种基于多点协作机制的数据管理方法及*** |
CN110460486A (zh) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | 服务节点的监控方法及*** |
CN110995732A (zh) * | 2019-12-12 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | 一种网页篡改检测方法及相关装置 |
CN112597485A (zh) * | 2021-03-01 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 基于区块链的信息校验方法、装置和设备及存储介质 |
CN114172689A (zh) * | 2021-11-11 | 2022-03-11 | 卓尔智联(武汉)研究院有限公司 | 一种信息处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115022096A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019295815C1 (en) | Blockchain-based data verification method and apparatus, and electronic device | |
US11100546B2 (en) | Method and system for provenance tracking in software ecosystems | |
CN109492378B (zh) | 一种基于设备识别码的身份验证方法、服务器及介质 | |
US11621973B2 (en) | Blockchain cybersecurity audit platform | |
KR102071160B1 (ko) | 애플리케이션 정보 위험 관리를 위한 방법 및 장치 | |
CN104461491B (zh) | 一种Hybrid组件的运行方法和*** | |
CN110826111A (zh) | 测试监管方法、装置、设备及存储介质 | |
CN108683502B (zh) | 一种数字签名验证方法、介质及设备 | |
CN109918285B (zh) | 一种开源软件的安全识别方法及装置 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN111814196B (zh) | 一种数据处理方法、装置及设备 | |
TW201403368A (zh) | 運算環境安全方法和電子運算系統 | |
CN106899563B (zh) | 鉴权方法及装置、鉴权码生成方法及装置、鉴权*** | |
CN104424423A (zh) | 应用程序的权限确定方法和装置 | |
CN106709281B (zh) | 补丁发放和获取方法、装置 | |
CN113051036A (zh) | 基于Docker容器的应用程序许可方法、装置、设备和介质 | |
CN111245897A (zh) | 数据处理方法、装置、***、存储介质及处理器 | |
KR101480040B1 (ko) | 웹 페이지 변조 식별방법, 시스템 및 컴퓨터로 판독 가능한 기록매체 | |
CN115022096B (zh) | 下载软件方法和装置 | |
CN112732676B (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
CN114491661A (zh) | 基于区块链的日志防篡改方法及*** | |
WO2020228564A1 (zh) | 一种应用服务方法与装置 | |
CN117171185B (zh) | 基于工业标识的物流数据变更方法及相关设备 | |
CN113407213B (zh) | 资源包更新方法、装置、设备及存储介质 | |
US11687656B2 (en) | Secure application development using distributed ledgers |
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 |