一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Fabric的区块链招投标系统及其实现方法

2022-04-27 13:50:19 来源:中国专利 TAG:

一种基于fabric的区块链招投标系统及其实现方法
技术领域
1.本发明涉及区块链技术领域,尤其涉及一种基于fabric的区块链招投标系统及其实现方法。


背景技术:

2.区块链是一种近年来诞生的新技术,它在本质上是由多个节点组成的分布式数据库。它是区块与链的组合,即使用一条链将所有的区块相连。区块按照时间顺序进行排列,每个区块中都会存储数据并通过使用包含密码学知识的加密算法等方式保证这些数据不被篡改。
3.招投标是有组织开展的一种择优成交方式,随着互联网的快速发展,出现了许多电子化的招投标系统。该系统参与人员包括招标人员和投标人员,主要招投标流程为:招标人员登录系统发布准备招标信息,随后发布招标公告,投标人员登录系统查看招标公告并提交资格预审信息,招标人员根据投标人员提供的资格预审信息对投标人员参与投标的资格进行审核,向通过审核的投标人员发送参与招标邀请,然后招标人员发布项目招标信息,决定对项目进行投标并且接受邀请的投标人员提交投标信息。招标人员根据投标人员提供的投标信息进行评分,随后向评分排名第一的投标人员发送中标信息,投标人员可以选择接受或者拒绝中标信息,如果拒绝则招标人员会向评分排名在下一顺位的投标人员发送中标信息,该投标人员同样可以选择接受或者拒绝,以此类推直至有投标人员接受中标信息,随后招标人员可以选择结束招标,招标人员和投标人员均可以查看招标结果。
4.hyperledger fabric是一个开源的企业级许可分布式账本技术平台,它在交易处理方面和交易确认延迟方面的性能较好,并且它实现了保密交易隐私功能和智能合约。它具有高度模块化和可配置的架构以满足不同行业的用户需求、支持通用编程语言编写智能合约并具有许可性以保证参与者彼此了解。
5.传统电子招投标平台虽然能够基本完成招投标流程,但是同时也具有信息不透明、数据管理成本高和信息虚假等问题。


技术实现要素:

6.针对现有技术的不足,本发明提供一种基于fabric的区块链招投标系统及其实现方法;
7.一方面,一种基于fabric的区块链招投标系统,包括:登录模块、准备招标模块、发布招标公告模块、资格预审模块、招标与投标模块和评标模块;
8.所述登录模块包括用户登录功能和退出登录功能,其中用户登录功能为用户输入用户名和密码以登录进入系统,退出登录功能为用户退出系统登录账号;
9.所述准备招标模块用于发布准备招标信息,包括招标人员发布准备招标信息功能,其中准备招标信息中确定招标项目的招标方式包括两种:公开招标和邀请招标;
10.所述发布招标公告模块用于发布资格预审公告、发布邀请招标公告和回复邀请招
标信息,招标人员发布招标公告供投标人员查看;根据招标方式不同,发布招标公告分为两种:公开招标对应的发布资格预审公告和邀请招标对应的发布邀请招标公告:如果是邀请招标,则投标人员进行接受或者拒绝邀请的选择;如果是公开招标,则投标人员需要提交资格预审申请信息供招标人员审核;
11.所述资格预审模块用于提交资格预审申请信息、审核资格预审申请信息和回复资格预审邀请信息,投标人员提交资格预审申请信息,招标人员根据投标人员提供的信息对投标人员进行审核,向通过审核的投标人员发送参与招标邀请,投标人员对邀请进行回复。
12.所述招标与投标模块用于发布项目招标信息和提交项目投标信息,招标人员发布项目招标信息,投标人员查询项目招标信息以决定是否对项目进行投标,如果投标人员进行投标,则需要提交投标信息。
13.所述评标模块用于评分项目投标信息、发送中标信息、回复中标信息、结束招标和查看招标结果,招标人员根据投标人员提供的投标信息进行评分,随后向评分排名第一的投标人员发送中标信息,投标人员选择接受或者拒绝中标信息,如果接受则招标成功,如果拒绝则招标人员会向评分排名在下一顺位的投标人员发送中标信息,该投标人员选择接受或者拒绝,直至有评标人员接受中标信息,随后招标人员选择结束招标,所有招标人员和投标人员均能够查看招标结果。
14.另一方面,一种基于fabric的区块链招投标系统的实现方法,基于前述区块链招投标系统实现,包括以下步骤:
15.步骤1:构建基于分布式账本技术平台hyperledger fabric区块链的网络环境;
16.所述网络环境中具有两个peer节点容器peer1和peer2,它们属于同一个组织org1,一个ca节点容器和一个orderer节点容器,通过使用容器引擎对网络中的节点进行管理;
17.步骤2:配置hyperledger fabric官方go语言软件开发工具包参数,指定hyperledger fabric各组件的通信地址,使用fabric-sdk-go创建应用通道并将peer节点容器加入通道,随后在peer节点容器上安装并实例化链码;
18.步骤3:使用软件开发工具包的程序接口设计招标投标业务,实现链码访问;
19.所述链码访问为,通过调用链码实现区块链招投标系统对分类账本数据的要求操作并对操作内容进行记录,以用户编号作为用户信息的主键,以招标项目编号作为招标项目信息的主键,以投标项目编号作为投标项目信息的主键;
20.在用户每一次进行对系统数据更新的操作时,系统会调用链码更新分类账本数据并将本次更新内容进行记录;
21.步骤4:构建区块链招投标系统的前端页面;
22.所述构建前端页面为,使用go语言提供的网站服务器来处理http请求,随后设定路由将前端请求与后端负责操作分类账本数据的链码联系在一起,使得用户登录系统并完成对应功能操作后数据能够被记录存储并且显示在前端页面供用户进行交互,完成区块链招投标系统的设计。
23.采用上述技术方案所产生的有益效果在于:
24.本发明提出了一种基于fabric的区块链招投标系统及其实现方法,本发明利用联盟链的半公开半透明的特性使招投标流程在具有权限的用户之间能够进行信息公开共享,
同时又不会对外界用户暴露信息;本发明利用区块链的不可篡改性防止招投标信息被篡改,为系统信息的真实性和准确性提供了保证,当系统出现问题时,可以通过追溯信息找到问题源头,这能够提高监管效率和质量,同时提高解决问题效率。
附图说明
25.图1为本发明整体结构图;
26.图2为本发明用户登录功能时序图;
27.图3为本发明e-r图;
28.图4为本发明评分项目投标信息功能程序流程图;
具体实施方式
29.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
30.一方面,一种基于fabric的区块链招投标系统,如图1所示,包括:登录模块、准备招标模块、发布招标公告模块、资格预审模块、招标与投标模块和评标模块;
31.所述登录模块包括用户登录功能和退出登录功能,其中用户登录功能为用户输入用户名和密码以登录进入系统,退出登录功能为用户退出系统登录账号;
32.本实施例中如图2所示,用户登录功能流程是用户输入用户名和密码,系统对用户提交的用户名和密码在数据库的用户表中进行查询,并根据查询结果显示不同内容。用户登录成功后,按照用户类别进入不同页面,招标用户进入招标首页,投标用户进入投标首页。
33.所述准备招标模块用于发布准备招标信息,包括招标人员发布准备招标信息功能,其中准备招标信息中确定招标项目的招标方式包括两种:公开招标和邀请招标;
34.所述发布招标公告模块用于发布资格预审公告、发布邀请招标公告和回复邀请招标信息,招标人员发布招标公告供投标人员查看;根据招标方式不同,发布招标公告分为两种:公开招标对应的发布资格预审公告和邀请招标对应的发布邀请招标公告:如果是邀请招标,则投标人员进行接受或者拒绝邀请的选择;如果是公开招标,则投标人员需要提交资格预审申请信息供招标人员审核;
35.所述资格预审模块用于提交资格预审申请信息、审核资格预审申请信息和回复资格预审邀请信息,投标人员提交资格预审申请信息,招标人员根据投标人员提供的信息对投标人员进行审核,向通过审核的投标人员发送参与招标邀请,投标人员对邀请进行回复。
36.所述招标与投标模块用于发布项目招标信息和提交项目投标信息,招标人员发布项目招标信息,投标人员查询项目招标信息以决定是否对项目进行投标,如果投标人员进行投标,则需要提交投标信息。
37.所述评标模块用于评分项目投标信息、发送中标信息、回复中标信息、结束招标和查看招标结果,招标人员根据投标人员提供的投标信息进行评分,随后向评分排名第一的投标人员发送中标信息,投标人员选择接受或者拒绝中标信息,如果接受则招标成功,如果拒绝则招标人员会向评分排名在下一顺位的投标人员发送中标信息,该投标人员选择接受或者拒绝,直至有投标人员接受中标信息,随后招标人员选择结束招标,所有招标人员和投
标人员均能够查看招标结果。
38.如图3所示,描述了系统的主要实体和它们之间的关系,本实施例实体包括投标信息、资格预审信息、准备招标信息、招标公告和用户,每个实体都有自己的属性,例如用户实体包括属性:用户id、用户类型、密码和用户名,实体和实体之间也具有联系,例如用户实体和准备招标信息实体之间的联系是发布。
39.另一方面,一种基于fabric的区块链招投标系统的实现方法,基于前述区块链招投标系统实现,包括以下步骤:
40.步骤1:构建基于分布式账本技术平台hyperledger fabric区块链的网络环境;
41.所述网络环境中具有两个peer节点容器peer1和peer2,它们属于同一个组织org1,一个ca节点容器和一个orderer节点容器,通过使用容器引擎docker-compose对网络中的节点进行管理;
42.步骤2:配置hyperledger fabric官方go语言软件开发工具包fabric-sdk-go参数,指定hyperledger fabric各组件的通信地址,使用fabric-sdk-go创建应用通道并将peer节点容器加入通道,随后在peer节点容器上安装并实例化链码;
43.步骤3:使用软件开发工具包sdk的程序接口api设计招标投标业务,实现链码访问;
44.所述链码访问为,通过调用链码实现区块链招投标系统对分类账本数据的要求操作并对操作内容进行记录,本系统使用couchdb数据库存储数据,它是hyperledger fabric支持的两种数据库之一,能够根据不同场景需求使用富查询实现对于状态的检索。以用户编号作为用户信息的主键,以招标项目编号作为招标项目信息的主键,以投标项目编号作为投标项目信息的主键,以保证couchdb数据库中相关数据的唯一性,防止数据被覆盖。
45.在用户每一次进行对系统数据更新的操作时(例如对投标项目进行评分),系统会调用链码更新分类账本数据并将本次更新内容进行记录;方便用户后续根据主键等其他条件查找历史记录,保证了可追溯性。
46.步骤4:构建区块链招投标系统的前端页面;
47.所述构建前端页面为,使用go语言提供的网站服务器来处理http请求,随后设定路由将前端请求与后端负责操作分类账本数据的链码联系在一起,使得用户登录系统并完成对应功能操作后数据能够被记录存储并且显示在前端页面供用户进行交互,完成区块链招投标系统的设计。
48.本实施例中如图4所示,评分项目投标信息功能流程为:招标人员进入招标项目信息页面,页面显示以有投标人员提交投标信息和招标用户id为条件查询的有投标人员提交投标信息的招标项目信息,招标人员点击某一招标项目对应的查看详情按钮,系统跳转至项目投标详情页面。项目投标详情页面显示以招标项目id和已经提交投标信息为条件查询的针对本招标项目已经提交投标信息的投标人员信息。用户点击某一投标人员对应的评分按钮,系统跳转到项目投标打分页面。用户在项目投标打分页面输入最终评分后点击确定按钮,其中用户输入需不为空并且是在0到100之间的整数,评分属性更新,系统跳转至项目投标详情页面,此时已经被评分的投标项目对应的评分按钮已经被评分数字替代。
49.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而
成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献