CN109308188A - 一种基于区块链的版本控制方法及系统 - Google Patents

一种基于区块链的版本控制方法及系统 Download PDF

Info

Publication number
CN109308188A
CN109308188A CN201811128866.5A CN201811128866A CN109308188A CN 109308188 A CN109308188 A CN 109308188A CN 201811128866 A CN201811128866 A CN 201811128866A CN 109308188 A CN109308188 A CN 109308188A
Authority
CN
China
Prior art keywords
version
block
block chain
layer
control system
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
Application number
CN201811128866.5A
Other languages
English (en)
Other versions
CN109308188B (zh
Inventor
任飞
李海彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201811128866.5A priority Critical patent/CN109308188B/zh
Publication of CN109308188A publication Critical patent/CN109308188A/zh
Application granted granted Critical
Publication of CN109308188B publication Critical patent/CN109308188B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明公开了一种基于区块链的版本控制方法及系统,所述系统包括协议层、扩展层和应用层;所述协议层包括存储层和网络层,所述存储层包括区块以及由所述区块组成的区块链数据库,所述网络层包括多个节点,其通过挖矿、投票等共识算法保障节点安全,并通过节点网络维护存储层更新;所述扩展层内置智能合约和多种侧链应用,用于文档、图片、电子书、视频等用户数据文件存储或分享;本发明的一种基于区块链的版本控制系统及认证方法,其不仅适用于代码版本控制,也适用于文档版本控制,流媒体版本控制,视频版本控制等配置管理的核心功能。

Description

一种基于区块链的版本控制方法及系统
技术领域
本发明涉及计算机软件信息技术领域,尤其涉及一种基于区块链的版本控制方法及系统。
背景技术
互联网技术的快速发展,也带动了部分学科的快速发展,如信息安全和密码学。现有的问题在于现行的系统都有集中式版本库或服务器,而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了,所有保存的资料都会被破坏。另外代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
发明内容
本发明的目的就在于为了解决上述问题而提供一种基于区块链的版本控制方法及系统,本发明通过以下技术方案来实现上述目的:
一种基于区块链的版本控制方法,包括以下步骤:
第一步、新版本广播到全网的节点,每个客户端节点会收到有新版本消息;
第二步、每个区块链版本控制系统独立客户端将新版本收集到的节点的内存,并组装成区块;
第三步、每个区块链版本控制系统独立客户端都尝试在自己的区块中找到一个具有足够难度的工作量证明;
第四步、区块链版本控制系统独立客户端解出一个工作量证明,把有效的区块链数据向全网广播,并获得token奖励;
第五步、当且仅当包含在该区块中的交易都是有效的,并验证其完成的工作量,证明其他节点才认同该区块的有效性,即产生了一个新的版本节点确认;
第六步、其他区块链版本控制系统独立客户端表示接受该区块,并在该区块的末尾制造新的情况,以延长整个区块的链条。
一种基于区块链的版本控制系统,所述系统包括协议层、扩展层和应用层;其中:
所述协议层包括存储层和网络层,所述存储层包括区块以及由所述区块组成的区块链数据库,所述网络层包括多个节点,其通过挖矿、投票等共识算法保障节点安全,并通过节点网络维护存储层更新;
所述扩展层内置智能合约和多种侧链应用,用于文档、图片、电子书、视频等用户数据文件存储或分享;
所述应用层包括检入检出控制模块、分支和合并模块、历史记录模块;其中:所述检入检出控制模块中的检入就是把软件配置项从用户的工作环境存入到软件配置库的过程,检出就是把软件配置项从软件配置库中取出的过程,检入是检出的逆过程;所述分支和合并模块用于生成新的版本,其中分支是指版本以一个已有的特定版本为起点,但是独立发展的版本序列,版本合并有两种途径,一是将版本A的内容附加到版本B中;另一种是合并版本A和版本B的内容,形成新的版本C;所述历史记录模块用于对软件配置项进行审核,审核内容包括版本号、版本修改时间、版本修改者、版本修改描述等最基本的内容。
本发明不仅适用于代码版本控制,也适用于文档版本控制,流媒体版本控制,视频版本控制等配置管理的核心功能,以代码版本控制为最有代表性。
进一步的,所述历史记录模块审核内容还还辅助性内容,辅助性内容包括版本的文件大小和读写属性。
本发明的有益效果在于:
本发明的一种基于区块链的版本控制系统及认证方法,其不仅适用于代码版本控制,也适用于文档版本控制,流媒体版本控制,视频版本控制等配置管理的核心功能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明区块链版本控制系统的详细工作原理示意图;
图2为本发明区块链版本控制体系系统构架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
如图1所示,一种基于区块链的版本控制方法,包括以下步骤:
第一步、新版本广播到全网的节点,每个客户端节点会收到有新版本消息;
第二步、每个区块链版本控制系统独立客户端将新版本收集到的节点的内存,并组装成区块;
第三步、每个区块链版本控制系统独立客户端都尝试在自己的区块中找到一个具有足够难度的工作量证明;
第四步、区块链版本控制系统独立客户端解出一个工作量证明,把有效的区块链数据向全网广播,并获得token奖励;
第五步、当且仅当包含在该区块中的交易都是有效的,并验证其完成的工作量,证明其他节点才认同该区块的有效性,即产生了一个新的版本节点确认;
第六步、其他区块链版本控制系统独立客户端表示接受该区块,并在该区块的末尾制造新的情况,以延长整个区块的链条。
一种基于区块链的版本控制系统,其特征在于:所述系统包括协议层、扩展层和应用层;其中:
所述协议层包括存储层和网络层,所述存储层包括区块以及由所述区块组成的区块链数据库,所述网络层包括多个节点,其通过挖矿、投票等共识算法保障节点安全,并通过节点网络维护存储层更新;
所述扩展层内置智能合约和多种侧链应用,用于文档、图片、电子书、视频等用户数据文件存储或分享;
所述应用层包括检入检出控制模块、分支和合并模块、历史记录模块;其中:所述检入检出控制模块中的检入就是把软件配置项从用户的工作环境存入到软件配置库的过程,检出就是把软件配置项从软件配置库中取出的过程,检入是检出的逆过程;所述分支和合并模块用于生成新的版本,其中分支是指版本以一个已有的特定版本为起点,但是独立发展的版本序列,版本合并有两种途径,一是将版本A的内容附加到版本B中;另一种是合并版本A和版本B的内容,形成新的版本C;所述历史记录模块用于对软件配置项进行审核,审核内容包括版本号、版本修改时间、版本修改者、版本修改描述等最基本的内容。
进一步的,所述历史记录模块审核内容还还辅助性内容,辅助性内容包括版本的文件大小和读写属性。
检入检出控制是指软件开发人员对源文件的修改不能在软件配置管理库中进行,对源文件的修改依赖于基本的文件系统并在各自的工作空间下进行。为了方便软件开发,需要不同的软件开发人员组织各自的工作空间。一般说来,不同的工作空间由不同的目录表示,而对工作空间的访问,由文件系统提供的文件访问权限加以控制。
访问控制需要管理各个人员存取或修改一个特定软件配置对象的权限。开发人员能够从库中取出对应项目的配置项进行修改,并检入到软件配置库中,对版本进行“升级”;配置管理人员可以确定多余配置项并删除。
同步控制的实质是版本的检入检出控制。检入就是把软件配置项从用户的工作环境存入到软件配置库的过程,检出就是把软件配置项从软件配置库中取出的过程。检人是检出的逆过程。同步控制可用来确保由不同的人并发执行的修改不会产生混乱。
分支和合并是指版本分支(以一个已有分支的特定版本为起点,但是独立发展的版本序列) 的人工方法就是从主版本——称为主干上拷贝一份,并做上标记。在实行了版本控制后,版本的分支也是一份拷贝,这时的拷贝过程和标记动作由版本控制系统完成。版本合并(来自不同分支的两个版本合并为其中一个分支的新版本)有两种途径,一是将版本A的内容附加到版本B中;另一种是合并版本A和版本B的内容,形成新的版本C。
历史记录是指版本的历史记录有助于对软件配置项进行审核,有助于追踪问题的来源。历史记录包括版本号、版本修改时间、版本修改者、版本修改描述等最基本的内容,还可以有其他一些辅助性内容,比如版本的文件大小和读写属性。
本发明不仅适用于代码版本控制,也适用于文档版本控制,流媒体版本控制,视频版本控制等配置管理的核心功能,以代码版本控制为最有代表性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

Claims (3)

1.一种基于区块链的版本控制方法,其特征在于,包括以下步骤:
第一步、新版本广播到全网的节点,每个客户端节点会收到有新版本消息;
第二步、每个区块链版本控制系统独立客户端将新版本收集到的节点的内存,并组装成区块;
第三步、每个区块链版本控制系统独立客户端都尝试在自己的区块中找到一个具有足够难度的工作量证明;
第四步、区块链版本控制系统独立客户端解出一个工作量证明,把有效的区块链数据向全网广播,并获得token奖励;
第五步、当且仅当包含在该区块中的交易都是有效的,并验证其完成的工作量,证明其他节点才认同该区块的有效性,即产生了一个新的版本节点确认;
第六步、其他区块链版本控制系统独立客户端表示接受该区块,并在该区块的末尾制造新的情况,以延长整个区块的链条。
2.一种基于区块链的版本控制系统,其特征在于:所述系统包括协议层、扩展层和应用层;其中:
所述协议层包括存储层和网络层,所述存储层包括区块以及由所述区块组成的区块链数据库,所述网络层包括多个节点,其通过挖矿、投票等共识算法保障节点安全,并通过节点网络维护存储层更新;
所述扩展层内置智能合约和多种侧链应用,用于文档、图片、电子书、视频等用户数据文件存储或分享;
所述应用层包括检入检出控制模块、分支和合并模块、历史记录模块;其中:所述检入检出控制模块中的检入就是把软件配置项从用户的工作环境存入到软件配置库的过程,检出就是把软件配置项从软件配置库中取出的过程,检入是检出的逆过程;所述分支和合并模块用于生成新的版本,其中分支是指版本以一个已有的特定版本为起点,但是独立发展的版本序列,版本合并有两种途径,一是将版本A的内容附加到版本B中;另一种是合并版本A和版本B的内容,形成新的版本C;所述历史记录模块用于对软件配置项进行审核,审核内容包括版本号、版本修改时间、版本修改者、版本修改描述等最基本的内容。
3.根据权利要求2所述一种基于区块链的版本控制系统,其特征在于:所述历史记录模块审核内容还还辅助性内容,辅助性内容包括版本的文件大小和读写属性。
CN201811128866.5A 2018-09-25 2018-09-25 一种基于区块链的版本控制方法及系统 Active CN109308188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811128866.5A CN109308188B (zh) 2018-09-25 2018-09-25 一种基于区块链的版本控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811128866.5A CN109308188B (zh) 2018-09-25 2018-09-25 一种基于区块链的版本控制方法及系统

Publications (2)

Publication Number Publication Date
CN109308188A true CN109308188A (zh) 2019-02-05
CN109308188B CN109308188B (zh) 2021-06-22

Family

ID=65224108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811128866.5A Active CN109308188B (zh) 2018-09-25 2018-09-25 一种基于区块链的版本控制方法及系统

Country Status (1)

Country Link
CN (1) CN109308188B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363990A (zh) * 2020-11-09 2021-02-12 北京磨刀刻石科技有限公司 一种设计文件在线版本管理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897348A (zh) * 2016-08-19 2017-06-27 阿里巴巴集团控股有限公司 一种数据存储、数据校验、数据溯源方法和设备
CN107967416A (zh) * 2016-10-19 2018-04-27 华为技术有限公司 版权维权检测的方法、装置和系统
CN107977910A (zh) * 2017-12-04 2018-05-01 四川长虹电器股份有限公司 一种基于区块链的学历签发方法和系统
CN108023794A (zh) * 2017-12-04 2018-05-11 四川长虹电器股份有限公司 一种设备访问控制方法及装置
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897348A (zh) * 2016-08-19 2017-06-27 阿里巴巴集团控股有限公司 一种数据存储、数据校验、数据溯源方法和设备
CN107967416A (zh) * 2016-10-19 2018-04-27 华为技术有限公司 版权维权检测的方法、装置和系统
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
CN107977910A (zh) * 2017-12-04 2018-05-01 四川长虹电器股份有限公司 一种基于区块链的学历签发方法和系统
CN108023794A (zh) * 2017-12-04 2018-05-11 四川长虹电器股份有限公司 一种设备访问控制方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李博: "比特币矿工节点的区块链存储分析与优化研究", 《中国优秀硕士学位论文全文数据库_经济与管理科学辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363990A (zh) * 2020-11-09 2021-02-12 北京磨刀刻石科技有限公司 一种设计文件在线版本管理方法及装置

Also Published As

Publication number Publication date
CN109308188B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
US10346637B2 (en) Data processing systems for the identification and deletion of personal data in computer systems
Conradie et al. Exploring process barriers to release public sector information in local government
US20140019933A1 (en) Selecting a development associate for work in a unified modeling language (uml) environment
CN102236763A (zh) 基于数据驱动角色的安全
CN112699089B (zh) 数据共享系统、数据共享方法及装置
US10776514B2 (en) Data processing systems for the identification and deletion of personal data in computer systems
Koster et al. FAIR Principles for Library, Archive and Museum Collections: A proposal for standards for reusable collections
Mahula et al. With blockchain or not? Opportunities and challenges of self-sovereign identity implementation in public administration: Lessons from the Belgian case
WO2019028405A1 (en) DATA PROCESSING SYSTEMS FOR THE IDENTIFICATION AND DELETION OF PERSONAL DATA IN COMPUTER SYSTEMS
Darch et al. Library cultures of data curation: Adventures in astronomy
Altman et al. Digital preservation through archival collaboration: The data preservation alliance for the social sciences
Al-Dhaqm et al. Model derivation system to manage database forensic investigation domain knowledge
CN109582641A (zh) 一种基于区块链的作品录入的筛选方法及筛选系统
Betancort Cabrera et al. White Paper on implementing the FAIR principles for data in the Social, Behavioural, and Economic Sciences
CN109308188A (zh) 一种基于区块链的版本控制方法及系统
Lee Defining digital preservation work: A case study of the development of the reference model for an open archival information system
CN116415203A (zh) 一种基于大数据的政务信息智能融合系统及方法
Guzdial et al. Programming programming languages, and analyzing Facebook's failure
Gilliland et al. Towards a 21st century metadata infrastructure supporting the creation, preservation and use of trustworthy records: Developing the InterPARES 2 metadata schema registry
Alkouz et al. EPPR: using blockchain for sharing educational records
Lampathaki et al. Implementing interoperability infrastructures: Issues and challenges from the citizens' base registry in Greece
Lampathaki et al. National interoperability frameworks: The way forward
Faulder et al. Cornell University Library Repository Principles and Strategies Handbook
Grandi et al. Management of the citizen’s digital identity and access to multi-version norm texts on the semantic web
Haras et al. Patient data synchronization process in a continuity of care environment

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