CN109408108A - 一种基于区块链的软件版本数据管理***及建立方法 - Google Patents
一种基于区块链的软件版本数据管理***及建立方法 Download PDFInfo
- Publication number
- CN109408108A CN109408108A CN201811188132.6A CN201811188132A CN109408108A CN 109408108 A CN109408108 A CN 109408108A CN 201811188132 A CN201811188132 A CN 201811188132A CN 109408108 A CN109408108 A CN 109408108A
- Authority
- CN
- China
- Prior art keywords
- data
- software
- node
- software version
- block
- 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 38
- 238000013523 data management Methods 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 claims abstract description 28
- 230000007246 mechanism Effects 0.000 claims abstract description 17
- 238000005538 encapsulation Methods 0.000 claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 13
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 238000013524 data verification Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims abstract description 5
- 238000007726 management method Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 11
- 238000012216 screening Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 5
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 4
- 230000010354 integration Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 claims description 2
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 238000004140 cleaning Methods 0.000 claims 1
- 239000004744 fabric Substances 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000015556 catabolic process Effects 0.000 abstract 1
- 230000009885 systemic effect Effects 0.000 abstract 1
- 238000012546 transfer Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
-
- 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
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及软件管理领域,旨在发明一种基于区块链的软件版本数据管理***及建立方法,主要包括数据获取、数据传输和数据共识模块;数据获取模块包括数据产生、数据拼接、数据封装,提供了软件版本数据的获取及结构化处理等功能;数据传输模块包括数据通信、数据解析及数据转发,提供了软件版本数据的传输功能;数据共识模块包括区块同步、数据验证、共识机制,提供了软件版本数据的可靠性检验、***新区块产生及节点数据同步;本发明通过区块链去中心化的特性避免了由中心化***单点故障带来的***瘫痪问题,解决多版本软件***兼容性不统一的问题,降低软件版本数据维护的成本。
Description
技术领域
本发明属于软件管理技术领域,尤其涉及一种基于区块链的软件版本数据管理***及建立方法。
背景技术
随着软件技术的发展,软件数量逐年增长,软件在兼容新***的同时,也会选择性摒弃旧***,这造成了***可用软件版本的不明确。现存的软件平台很多,但是各个平台软件版本不统一,并且很多软件平台的软件包含了大量的垃圾信息,造成了软件侵权。如何确保软件***兼容性信息,使得用户可以根据自身硬件信息进行软件版本选取,如何保证软件版权不被侵犯,是在软件版本管理中的两个最重要的问题。
目前的版本管理方法,包括以下几种:
传统软件版本管理方案:目前大多数软件平台采用的方法是软件平台根据软件公司发布的数据进行软件数据展示。
中心化软件版本管理方案:在中心化软件版本管理方案中,各个软件公司在自己维护的官方平台中发布自己软件的数据。公司间软件兼容性问题不被考虑。
但是,现有的中心化软件版本管理方案发布的软件数据只截止到软件发布时的***硬件版本,对于在软件后发布的***或硬件没有进行有效的测试,并且现有的软件版本管理方案不能根据公司需求进行协作软件开发。
此外,现有的传统软件版本管理方案对于数据的可信性大多数没有进行验证,并且对于软件的来源以及是否包含垃圾信息或恶意内容没有进行有效的检测,导致大量不可用软件充斥着整个软件平台。
因此,针对软件运行环境不明确,解决多版本软件***兼容性不统一的问题,利用区块链的信息不可篡改性,设计一种基于区块链的去中心化的软件版本数据管理***及建立方法,通过采用区块链及P2P的方式解决软件的版权问题,以保证用户得到的软件是厂商发布的正版软件,并且实现软件版本的共同维护和管理以及软件的协作开发。
发明内容
本发明的目的在于克服现有技术的不足,提供一种能保证用户得到的软件是厂商发布的正版软件,解决多版本软件***兼容性不统一的问题的一种基于区块链的软件版本数据管理***及建立方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于区块链的软件版本数据管理***,包括数据获取模块、数据传输模块和数据共识模块,所述数据获取模块用于获取数据信息并将其结构化后为数据广播做准备,所述数据传输模块用于区块链中软件版本数据的传递及验证;所述数据共识模块是软件版本管理各方通过共识机制对软件版本达成统一,并通过提供软件地址接口使用户获得相关软件;
所述数据获取模块包括数据产生、数据拼接、数据封装,数据产生是由参与软件版本管理的各方对自己软件的数据自行采集,由厂商形成标准数据;数据拼接、数据封装对采集到的数据进行筛选整合和标记,剔除重复的数据和不满足需求的数据,并给出合成数据的统一存储标准,并将筛选后的数据进行拼接、存储以及封装,最终形成结构化数据;
所述数据传输模块包括数据通信、数据解析及数据转发,数据通信和数据转发解决参与软件版本管理的各方的普遍参与性,通过各方商议并签署联盟条约,并基于区块链的通信协议,为参与软件版本管理的各方提供去中心化的P2P网络通信,数据解析对传输的数据按照规则进行解析,无法解析的数据将会舍弃或者重传;
所述数据共识模块包括区块同步、数据验证、共识机制,区块同步通过设置套接字对区块数据进行接收和同步,数据验证确保同步的区块中软件来源及软件数据的可靠性,并处理被篡改的软件,所述共识机制为区块链的共识机制,对软件下载记录作记录内容保护、发布及下载记录溯源以及拓扑式存储。
基于区块链的软件版本数据管理***建立方法,包括如下步骤:
(1)数据产生及处理
参与版本管理的各方对自己拥有的数据进行采集,并对数据进行清洗,对重复和无用数据进行去除,对处理后的数据做数据检验,确保数据的正确性,使用软件生成代表软件及其地址的字符串,包块软件地址,软件的MD5校验码和SHA1校验码,将软件数据和软件地址进行结构化及封装,生成软件版本信息;
(2)数据通信
对参与软件版本管理的各方进行节点初始化配置,通过各方签署联盟条约将节点组织成一个区域自治联盟,对各联盟节点作唯一标识,存储的标识后加上网络初始状态参数,状态参数包括节点数、各节点状态,并对其结构化处理生成新的存储数据,作为创世区块并广播至全网,全网络各节点存储创世区块数据,并采用基于区块链的通信协议;
(3)数据共识
链上节点发布步骤(1)中生成的软件版本信息,其他节点经广播接收信息,通过数字签名技术判断广播信息的节点身份及数据的真实性,若广播信息节点是联盟成员节点,则对软件版本信息进行完整性校验,若校验成功,则将软件数据上链;若节点是非链内成员,则区块链网络中各节点通过共识机制达成许可共识,若获得联盟中一半以上节点的许可,即可验证信息通过,并将节点信息加入创世区块,并对软件版本信息进行完整性校验,若校验成功,则将软件信息上链;若未获得联盟中一半以上节点的许可或者信息校验失败或者,则该拒绝该信息。
需要说明的是,所述步骤(2)中,当新的节点申请加入网络时,须全网广播并经过链中所有成员的协商议定,确定后将该节点的初始信息参数生成新的数据,保存在创世区块中。
此外,所述步骤(2)中通信协议配置过程中的通信协议内容为:用户将软件信息广播至全网,***其它用户在收到广播信息后对信息进行存储和转发;***内所有副节点选举出主节点用于生成新的区块并进行广播;***内各个副节点对广播的区块的有效性进行验证;若验证通过则更新节点自身的区块链,若验证不通过则重新选取主节点进行区块生成。
并且,除了软件共享带来的空间占用问题,软件的完整性校验也是软件共享中的主要问题之一,为了有效确保软件的完整性,所述步骤(3)中的软件版本数据的完整性校验过程为:联盟节点收到广播的软件版本信息,根据地址请求软件,判断软件校验的真实性,若软件校验通过,则将软件版本信息生成区块广播至全网;当用户下载完整的软件时,需对下载的软件进行校验码计算,并将计算后的校验码与区块链中存储的校验码做比对,若校验通过,则生成新的软件地址,并将其广播至全网,具有打包区块权利的节点验证新的地址,若该地址有效则将其放入区块中,方便其他软件获取者从该处取得软件;若校验未通过,则通知软件厂商重新对软件版本信息进行数据清洗及封装。
本发明的优点和积极效果是:
1、本发明以区块链全网共享记录的形式,成员节点相互之间在共享的同时,做到数据真实可靠,有效解决了垃圾软件和盗版软件广泛传播的问题;
2、本发明区块链的去中心化的策略可以减少平台的维护成本,降低单一软件企业的管理难度;
3、本发明区块的分布式的架构确保***不会由于单点故障而瘫痪,有效避免了DDOS攻击对***的影响;
4、本发明只有获得授权的节点方可发布数据,数据经过处理后放置在区块链上,有效保证了信息的可靠性和真实性;通过数字签名机制,既可以保证数据的真实性又可以保证数据的安全。
附图说明
以下将结合附图和实施例来对本发明的技术方案作进一步的详细描述,但是应当知道,这些附图仅是为解释目的而设计的,因此不作为本发明范围的限定。此外,除非特别指出,这些附图仅意在概念性地说明此处描述的结构构造,而不必要依比例进行绘制。
图1为本发明实施例提供的基于区块链的软件版本数据管理***的结构示意图;
图2为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的数据处理流程图;
图3为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的数据通信流程图;
图4为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的通信协议内容流程图;
图5为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的数据共识流程图;
图6为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的软件地址共识流程图;
具体实施方式
首先,需要说明的是,以下将以示例方式来具体说明本发明的具体结构、特点和优点等,然而所有的描述仅是用来进行说明的,而不应将其理解为对本发明形成任何限制。此外,在本文所提及各实施例中予以描述或隐含的任意单个技术特征,仍然可在这些技术特征(或其等同物)之间继续进行任意组合或删减,从而获得可能未在本文中直接提及的本发明的更多其他实施例。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面就结合图1至图6来具体说明本发明。
实施例1
图1为本发明实施例提供的基于区块链的软件版本数据管理***的结构示意图;图2为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的数据处理流程图;图3为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的数据通信流程图;图4为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的通信协议内容流程图;图5为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的数据共识流程图;图6为本发明实施例提供的基于区块链的软件版本数据管理***建立过程中的软件地址共识流程图;如图1~6所示,本实施例提供的一种基于区块链的软件版本数据管理***,包括数据获取模块、数据传输模块和数据共识模块,所述数据获取模块用于获取数据信息并将其结构化后为数据广播做准备,所述数据传输模块用于区块链中软件版本管理数据的传递及验证;所述数据共识模块是软件版本管理各方通过共识机制对软件版本数据达成统一,通过提供软件地址接口可以使用户获得相关软件;
所述数据获取模块包括数据产生、数据拼接、数据封装,数据产生是由参与软件版本管理的各方对自己软件的数据自行采集,由厂商形成标准数据;数据拼接、数据封装对采集到的数据进行筛选整合和标记,剔除重复的数据和不满足需求的数据,并给出合成数据的统一存储标准,并将筛选后的数据进行拼接、存储以及封装,最终形成结构化数据;
所述数据传输模块包括数据通信、数据解析及数据转发,数据通信和数据转发解决参与软件版本管理的各方的普遍参与性,通过各方商议并签署联盟条约,并基于区块链的通信协议,为参与软件版本管理的各方提供去中心化的P2P网络通信,数据解析对传输的数据按照规则进行解析,无法解析的数据将会舍弃或者重传;
所述数据共识模块包括区块同步、数据验证、共识机制,区块同步通过设置套接字对区块数据进行接收和同步。数据验证确保同步的区块中软件来源及软件信息的可靠性,并处理被篡改的软件,所述共识机制为区块链的共识机制,对软件下载记录作记录内容保护、发布及下载记录溯源以及拓扑式存储。
一种基于区块链的软件版本数据管理***建立方法,包括如下步骤:
(1)数据产生及处理
如图2所示,参与版本管理的各方对自己拥有的数据进行采集,并对数据进行清洗,对重复和无用数据进行去除,对处理后的数据做数据检验,此处的数据检验即采用现有技术中的数据校验方法,以校验数据信息是否存在误差及其他错误,确保数据的正确性,使用软件生成代表软件及其地址的字符串,包块软件地址,软件的MD5校验码和SHA1校验码,将软件信息和软件地址进行结构化及封装,生成软件版本信息;
(2)数据通信
根据图3所示,对参与软件版本管理的各方进行节点初始化配置,通过各方签署联盟条约将节点组织成一个区域自治联盟,对各联盟节点作唯一标识,存储的标识后加上网络初始状态参数,状态参数包括节点数、各节点状态,并对其结构化处理生成新的存储数据,作为创世区块并采用基于区块链的通信协议广播至全网,全网络各节点存储创世区块数据;当新的节点申请加入网络时,须向全网发送请求区块数据的消息广播,并经过链中所有成员协商议定广播请求中的节点参数的正确性,议定通过后将该节点的初始信息参数生成新的信息,保存在创世区块中,并将区块链数据传输给该节点,将区块链的通信协议配置在该节点上;节点至此成功完成了自身的***初始配置,开始接受广播信息并与其它节点共同处理区块链的广播请求。
其中,需要说明的是,所述步骤(2)中通信协议配置过程中的通信协议具体内容如图4所述:该基于区块链的软件版本数据管理***用户将软件数据广播至全网,***其它用户在收到广播信息后对信息进行存储和转发;***内所有副节点选举出主节点用于生成新的区块并进行广播;***内各个副节点对广播的区块的有效性进行验证;若验证通过则更新节点自身的区块链,若验证不通过则重新选取主节点进行区块生成。
(3)数据共识
根据图5所示,链上节点发布步骤(1)中生成的软件版本信息,其他节点经广播接收信息,通过数字签名技术判断广播信息的节点身份及信息的真实性,若广播信息节点是联盟成员节点,则对软件版本数据进行完整性校验,若校验成功,则将软件数据上链;若节点是非链内成员,则区块链网络中各节点通过共识机制达成许可共识,若获得联盟中一半以上节点的许可,即可验证数据通过,并将节点信息加入创世区块,并对软件版本数据进行完整性校验,若校验成功,则将软件信息上链;若未获得联盟中一半以上节点的许可或者信息校验失败或者,则该拒绝该信息。
需要说明的是,所述步骤(3)中的软件版本数据的完整性校验过程为如图6所示:软件厂商使用软件生成代表软件及其地址的字符串,包块软件地址,软件的MD5校验码和SHA1校验码,将软件信息和软件地址进行结构化及封装,生成软件版本信息,将软件版本信息广播至全网;联盟节点收到广播的软件版本信息,根据地址请求软件,判断软件校验的真实性,若软件校验通过,则将软件版本数据生成区块广播至全网;当用户下载完整的软件时,需对下载的软件进行校验码计算,并将计算后的校验码与区块链中存储的校验码做比对,若校验通过,则生成新的软件地址,并将其广播至全网,具有打包区块权利的节点验证新的地址,若该地址有效则将其放入区块中,方便其他软件获取者从该处取得软件;若校验未通过,则通知软件厂商重新对软件版本数据进行数据清洗及封装。
综上所述,本发明可提供一种能保证用户得到的软件是厂商发布的正版软件,解决多版本软件***兼容性不统一的问题的一种基于区块链的软件版本数据管理***及建立方法。
以上实施例对本发明进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (5)
1.一种基于区块链的软件版本数据管理***,其特征在于:包括数据获取模块、数据传输模块和数据共识模块,所述数据获取模块用于获取数据信息并将其结构化后为数据广播做准备,所述数据传输模块用于区块链中软件版本数据的传递及验证;所述数据共识模块是软件版本管理各方通过共识机制对软件版本达成统一,并通过提供软件地址接口使用户获得相关软件;
所述数据获取模块包括数据产生、数据拼接、数据封装,数据产生是由参与软件版本管理的各方对自己软件的数据自行采集,由厂商形成标准数据;数据拼接、数据封装对采集到的数据进行筛选整合和标记,剔除重复的数据和不满足需求的数据,并给出合成数据的统一存储标准,并将筛选后的数据进行拼接、存储以及封装,最终形成结构化数据;
所述数据传输模块包括数据通信、数据解析及数据转发,数据通信和数据转发解决参与软件版本管理的各方的普遍参与性,通过各方商议并签署联盟条约,并基于区块链的通信协议,为参与软件版本管理的各方提供去中心化的P2P网络通信,数据解析对传输的数据按照规则进行解析,无法解析的数据将会舍弃或者重传;
所述数据共识模块包括区块同步、数据验证、共识机制,区块同步通过设置套接字对区块数据进行接收和同步,数据验证确保同步的区块中软件来源及软件数据的可靠性,并处理被篡改的软件,所述共识机制为区块链的共识机制,对软件下载记录作记录内容保护、发布及下载记录溯源以及拓扑式存储。
2.一种基于区块链的软件版本数据管理***建立方法,其特征在于:包括如下步骤:
(1)数据产生及处理
参与版本管理的各方对自己拥有的数据进行采集,并对数据进行清洗,对重复和无用数据进行去除,对处理后的数据做数据检验,确保数据的正确性,使用软件生成代表软件及其地址的字符串,包块软件地址,软件的MD5校验码和SHA1校验码,将软件数据和软件地址进行结构化及封装,生成软件版本信息;
(2)数据通信
对参与软件版本管理的各方进行节点初始化配置,通过各方签署联盟条约将节点组织成一个区域自治联盟,对各联盟节点作唯一标识,存储的标识后加上网络初始状态参数,状态参数包括节点数、各节点状态,并对其结构化处理生成新的存储数据,作为创世区块并广播至全网,全网络各节点存储创世区块数据,并采用基于区块链的通信协议;
(3)数据共识
链上节点发布步骤(1)中生成的软件版本信息,其他节点经广播接收信息,通过数字签名技术判断广播信息的节点身份及数据的真实性,若广播信息节点是联盟成员节点,则对软件版本信息进行完整性校验,若校验成功,则将软件数据上链;若节点是非链内成员,则区块链网络中各节点通过共识机制达成许可共识,若获得联盟中一半以上节点的许可,即可验证信息通过,并将节点信息加入创世区块,并对软件版本信息进行完整性校验,若校验成功,则将软件信息上链;若未获得联盟中一半以上节点的许可或者信息校验失败或者,则该拒绝该信息。
3.根据权利要求2所述的基于区块链的软件版本数据管理***建立方法,其特征在于:所述步骤(2)中,当新的节点申请加入网络时,须全网广播并经过链中所有成员的协商议定,确定后将该节点的初始信息参数生成新的数据,保存在创世区块中。
4.根据权利要求2所述的基于区块链的软件版本数据管理***建立方法,其特征在于:所述步骤(2)中通信协议配置过程中的通信协议内容为:用户将软件信息广播至全网,***其它用户在收到广播信息后对信息进行存储和转发;***内所有副节点选举出主节点用于生成新的区块并进行广播;***内各个副节点对广播的区块的有效性进行验证;若验证通过则更新节点自身的区块链,若验证不通过则重新选取主节点进行区块生成。
5.根据权利要求2所述的基于区块链的软件版本数据管理***建立方法,其特征在于:所述步骤(3)中的软件版本数据的完整性校验过程为:联盟节点收到广播的软件版本信息,根据地址请求软件,判断软件校验的真实性,若软件校验通过,则将软件版本信息生成区块广播至全网;当用户下载完整的软件时,需对下载的软件进行校验码计算,并将计算后的校验码与区块链中存储的校验码做比对,若校验通过,则生成新的软件地址,并将其广播至全网,具有打包区块权利的节点验证新的地址,若该地址有效则将其放入区块中,方便其他软件获取者从该处取得软件;若校验未通过,则通知软件厂商重新对软件版本信息进行数据清洗及封装。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811188132.6A CN109408108A (zh) | 2018-10-12 | 2018-10-12 | 一种基于区块链的软件版本数据管理***及建立方法 |
US16/641,254 US11443042B2 (en) | 2018-10-12 | 2019-01-01 | Blockchain-based software version data management system and establishing method thereof |
PCT/CN2019/070004 WO2020073543A1 (zh) | 2018-10-12 | 2019-01-01 | 一种基于区块链的软件版本数据管理***及建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811188132.6A CN109408108A (zh) | 2018-10-12 | 2018-10-12 | 一种基于区块链的软件版本数据管理***及建立方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408108A true CN109408108A (zh) | 2019-03-01 |
Family
ID=65467792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811188132.6A Pending CN109408108A (zh) | 2018-10-12 | 2018-10-12 | 一种基于区块链的软件版本数据管理***及建立方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11443042B2 (zh) |
CN (1) | CN109408108A (zh) |
WO (1) | WO2020073543A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851146A (zh) * | 2019-11-08 | 2020-02-28 | 福州汇思博信息技术有限公司 | 一种基于分布式网络的终端应用发布方法以及*** |
CN111552482A (zh) * | 2020-04-21 | 2020-08-18 | 深圳市塔洛思技术有限公司 | 一种适用边缘计算的去中心化的服务动态部署方法及装置 |
CN111679853A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 开源软件的发布方法、装置、计算机设备及可读存储介质 |
JP2020155891A (ja) * | 2019-03-19 | 2020-09-24 | 株式会社スカイコム | 管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラム |
CN112052033A (zh) * | 2020-09-02 | 2020-12-08 | 江苏省电力试验研究院有限公司 | 一种基于流程及区块链的配电自动化主站版本管理方法及*** |
CN112241518A (zh) * | 2020-10-22 | 2021-01-19 | 广州市金其利信息科技有限公司 | 一种基于区块链的软件权限管理方法及*** |
CN112269771A (zh) * | 2020-11-11 | 2021-01-26 | 中山大学 | 基于区块链的数据共享方法和装置 |
WO2021051581A1 (zh) * | 2019-09-17 | 2021-03-25 | 平安科技(深圳)有限公司 | 服务器集群文件同步方法及装置、电子设备及存储介质 |
CN112929402A (zh) * | 2020-05-06 | 2021-06-08 | 云南电网有限责任公司信息中心 | 一种实现可信数据存证的移动自组网装置 |
CN113268711A (zh) * | 2021-05-25 | 2021-08-17 | 国网山东省电力公司电力科学研究院 | 基于Git及区块链的变电站继电保护装置软件版本管理方法 |
CN113312640A (zh) * | 2021-05-31 | 2021-08-27 | 天津理工大学 | 一种基于可信计算的软件数据完整性多方共识方法 |
CN113419769A (zh) * | 2021-06-23 | 2021-09-21 | 中国信息通信研究院 | 一种应用软件管理方法及装置 |
CN113608777A (zh) * | 2021-07-30 | 2021-11-05 | 广东全塑联科技有限公司 | 一种基于区块链的项目代码版本控制方法及*** |
CN113872923A (zh) * | 2020-06-30 | 2021-12-31 | 成都质数斯达克科技有限公司 | 基于区块链***的交易方法、更新方法、装置、设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109327528B (zh) * | 2018-10-31 | 2020-10-20 | 创新先进技术有限公司 | 一种基于区块链的节点管理方法和装置 |
US11316695B2 (en) * | 2019-05-01 | 2022-04-26 | Intuit Inc. | System and method for providing and maintaining irrefutable proof of the building, testing, deployment and release of software |
CN112381403A (zh) * | 2020-11-14 | 2021-02-19 | 西安热工研究院有限公司 | 一种基于区块链的网络安全绩效考核数据处理方法 |
CN112380576A (zh) * | 2020-11-17 | 2021-02-19 | 朱捷 | 一种基于位置的区块链数据传输和存储方法及*** |
CN113141271B (zh) * | 2021-04-20 | 2022-09-20 | 国网上海市电力公司 | 一种基于联盟链的变电站设备配置文件版本管理方法 |
CN113269571B (zh) * | 2021-06-25 | 2024-02-27 | 中国银行股份有限公司 | 基于区块链的企业征信信息处理方法及装置 |
CN113486361B (zh) * | 2021-07-27 | 2024-04-16 | 中国银行股份有限公司 | 基于区块链的app管理***及方法 |
CN113672992B (zh) * | 2021-08-16 | 2024-05-07 | 成都民航空管科技发展有限公司 | 全域空管运行多源异构数据安全防护与融合方法及*** |
CN114338699B (zh) * | 2021-11-18 | 2024-01-30 | 山大地纬软件股份有限公司 | 一种基于动态策略的区块链通信方法及*** |
CN115190036B (zh) * | 2022-06-02 | 2024-01-16 | 国能数智科技开发(北京)有限公司 | 一种实时数据汇聚的一致性校验方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135209A (zh) * | 2017-04-21 | 2017-09-05 | 天津理工大学 | 一种基于区块链的数据共享方法 |
US20180189732A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Blockchain for program code credit and programmer contribution in a collective |
CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
US20180260212A1 (en) * | 2017-03-10 | 2018-09-13 | Salesforce.Com, Inc. | Blockchain version control systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10592639B2 (en) | 2016-09-06 | 2020-03-17 | Intel Corporation | Blockchain-based shadow images to facilitate copyright protection of digital content |
CN108055138B (zh) | 2018-02-01 | 2020-03-17 | 国家计算机网络与信息安全管理中心 | 基于区块链的应用分发记录方法和*** |
US11237823B2 (en) * | 2018-06-18 | 2022-02-01 | Panasonic Intellectual Property Corporation Of America | Management method, management apparatus, and program |
US20190392118A1 (en) * | 2018-06-20 | 2019-12-26 | Adp, Llc | Blockchain Version Control |
CN108628245A (zh) * | 2018-06-27 | 2018-10-09 | 北京鉴衡认证中心有限公司 | 一种基于区块链的风力发电机组数据采集*** |
-
2018
- 2018-10-12 CN CN201811188132.6A patent/CN109408108A/zh active Pending
-
2019
- 2019-01-01 WO PCT/CN2019/070004 patent/WO2020073543A1/zh active Application Filing
- 2019-01-01 US US16/641,254 patent/US11443042B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
US20180189732A1 (en) * | 2017-01-05 | 2018-07-05 | International Business Machines Corporation | Blockchain for program code credit and programmer contribution in a collective |
US20180260212A1 (en) * | 2017-03-10 | 2018-09-13 | Salesforce.Com, Inc. | Blockchain version control systems |
CN107135209A (zh) * | 2017-04-21 | 2017-09-05 | 天津理工大学 | 一种基于区块链的数据共享方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020155891A (ja) * | 2019-03-19 | 2020-09-24 | 株式会社スカイコム | 管理サーバ、文書ファイル管理システム、文書ファイル管理方法、および文書ファイル管理プログラム |
WO2021051581A1 (zh) * | 2019-09-17 | 2021-03-25 | 平安科技(深圳)有限公司 | 服务器集群文件同步方法及装置、电子设备及存储介质 |
CN110851146A (zh) * | 2019-11-08 | 2020-02-28 | 福州汇思博信息技术有限公司 | 一种基于分布式网络的终端应用发布方法以及*** |
CN111552482A (zh) * | 2020-04-21 | 2020-08-18 | 深圳市塔洛思技术有限公司 | 一种适用边缘计算的去中心化的服务动态部署方法及装置 |
CN112929402A (zh) * | 2020-05-06 | 2021-06-08 | 云南电网有限责任公司信息中心 | 一种实现可信数据存证的移动自组网装置 |
CN111679853A (zh) * | 2020-06-08 | 2020-09-18 | 中国银行股份有限公司 | 开源软件的发布方法、装置、计算机设备及可读存储介质 |
CN113872923A (zh) * | 2020-06-30 | 2021-12-31 | 成都质数斯达克科技有限公司 | 基于区块链***的交易方法、更新方法、装置、设备及存储介质 |
CN113872923B (zh) * | 2020-06-30 | 2023-06-06 | 成都质数斯达克科技有限公司 | 基于区块链***的交易方法、更新方法、装置、设备及存储介质 |
CN112052033A (zh) * | 2020-09-02 | 2020-12-08 | 江苏省电力试验研究院有限公司 | 一种基于流程及区块链的配电自动化主站版本管理方法及*** |
CN112241518A (zh) * | 2020-10-22 | 2021-01-19 | 广州市金其利信息科技有限公司 | 一种基于区块链的软件权限管理方法及*** |
CN112269771A (zh) * | 2020-11-11 | 2021-01-26 | 中山大学 | 基于区块链的数据共享方法和装置 |
CN112269771B (zh) * | 2020-11-11 | 2024-01-02 | 中山大学 | 基于区块链的数据共享方法和装置 |
CN113268711A (zh) * | 2021-05-25 | 2021-08-17 | 国网山东省电力公司电力科学研究院 | 基于Git及区块链的变电站继电保护装置软件版本管理方法 |
CN113268711B (zh) * | 2021-05-25 | 2022-03-08 | 国网山东省电力公司电力科学研究院 | 基于Git及区块链的变电站继电保护装置软件版本管理方法 |
CN113312640A (zh) * | 2021-05-31 | 2021-08-27 | 天津理工大学 | 一种基于可信计算的软件数据完整性多方共识方法 |
CN113312640B (zh) * | 2021-05-31 | 2022-05-24 | 天津理工大学 | 一种基于可信计算的软件数据完整性多方共识方法 |
CN113419769A (zh) * | 2021-06-23 | 2021-09-21 | 中国信息通信研究院 | 一种应用软件管理方法及装置 |
CN113419769B (zh) * | 2021-06-23 | 2024-02-20 | 中国信息通信研究院 | 一种应用软件管理方法及装置 |
CN113608777A (zh) * | 2021-07-30 | 2021-11-05 | 广东全塑联科技有限公司 | 一种基于区块链的项目代码版本控制方法及*** |
CN113608777B (zh) * | 2021-07-30 | 2023-09-29 | 广东全塑智联科技有限公司 | 一种基于区块链的项目代码版本控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
WO2020073543A1 (zh) | 2020-04-16 |
US20200372158A1 (en) | 2020-11-26 |
US11443042B2 (en) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408108A (zh) | 一种基于区块链的软件版本数据管理***及建立方法 | |
CN107679045B (zh) | 版权授权管理方法及*** | |
CN106453271B (zh) | 身份注册方法及***、身份认证方法及*** | |
CN109819443B (zh) | 基于区块链的注册认证方法、装置及*** | |
Civit et al. | Polygraph: Accountable byzantine agreement | |
Mazieres | The stellar consensus protocol: A federated model for internet-level consensus | |
CN110300112A (zh) | 区块链密钥分层管理方法 | |
CN104200153B (zh) | 一种启动验证方法和*** | |
CN111191283B (zh) | 基于联盟区块链的北斗定位信息安全加密方法及装置 | |
CN110782251B (zh) | 一种基于智能合约自动化部署区块链网络的方法 | |
CN110417790B (zh) | 区块链实名制排队***及方法 | |
CN112000744B (zh) | 一种签名方法及相关设备 | |
CN109150861B (zh) | 区块链网络通信*** | |
CN110784495A (zh) | 基于区块链的大数据集群***的发现与配置信息管理方法 | |
CN114020839B (zh) | 一种基于区块链的学术成果预发表及权利认证***及方法 | |
CN106886722A (zh) | 大数据信息处理方法及装置 | |
CN108712383A (zh) | 一种离线安全二维码的生成方法及计算机可读存储介质 | |
CN116527684B (zh) | 基于1+1+n中继共识委员会的多链信息交互方法 | |
CN111740841A (zh) | 溯源码的生成、验证方法和装置 | |
CN109272300A (zh) | 全证据链签约方法、装置、存储介质及服务器 | |
CN116112506A (zh) | 基于联盟链***的交易信息处理方法、装置、介质及设备 | |
CN110213230A (zh) | 一种用于分布式通信的网络安全验证方法及装置 | |
CN110808841B (zh) | 基于区块链网络的通信***及其通信方法 | |
CN112118292A (zh) | 用于跨链通信的方法、装置、网络节点和存储介质 | |
CN114172661B (zh) | 一种数字资产的双向跨链方法、***及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190301 |