CN110149376B - 提高hyperledger composer链码部署效率的方法 - Google Patents
提高hyperledger composer链码部署效率的方法 Download PDFInfo
- Publication number
- CN110149376B CN110149376B CN201910360121.XA CN201910360121A CN110149376B CN 110149376 B CN110149376 B CN 110149376B CN 201910360121 A CN201910360121 A CN 201910360121A CN 110149376 B CN110149376 B CN 110149376B
- Authority
- CN
- China
- Prior art keywords
- proxy server
- chain code
- ccenv
- deployment
- grpc
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- 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
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了提高hyperledger composer链码部署效率的方法,即在通过hyperledger composer进行业务网络部署中,使用代理服务软件建立代理服务器,并把代理服务器地址通过参数传入,底层fabric的ccenv被告知去访问所述代理服务器,在ccenv编译链码的时候,通过所述代理服务器从镜像服务器处获取对应的二进制文件。本发明易于实现,极大地提高了部署链码的稳定性,部署的成功率可以达到99%,其次,极大地缩短了部署链码的时间,主要是很大程度的避免了访问aws超时以及grpc源码的编译,在同一台机器上的测试表明,现有技术的部署时间需要≥10分钟,而本发明缩短到2‑3分钟。
Description
技术领域
本发明涉及区块链技术领域,具体涉及到一种提高hyperledger composer业务网络部署效率的方法技术。
背景技术
在实际通过hyperledger composer进行业务网络部署中,底层fabric的ccenv会去编译源代码生成二进制文件,一般会耗时很久,而且往往会超时失败。为此,在现有技术中,是通过本地搭建npm的镜像服务器来解决这个问题,但这个成本比较大,不太适合小企业及个人用户;或者通过修改官方ccenv镜像避免npm依赖频繁安装,这个技术要求也比较高,而且在生成环境中,不方便部署,也会带来比较大的风险。另外通过传递参数registry=https://mycompanynpmregistry.com:4873,通过这个参数向npm发出指令使registry指定的网址去寻找对应的npm包,但从测试的结果看,不成功。
发明内容
为了克服现有技术的不足,本发明的目的在于提供提高hyperledger composer链码部署效率的方法,易于实现,提高部署链码的稳定性与部署的成功率,缩短部署链码的时间。
为达上述目的,本发明采用以下技术方案:
一种提高hyperledger composer链码部署效率的方法,即在通过hyperledgercomposer进行业务网络部署中,使用代理服务软件建立代理服务器,并把代理服务器地址通过参数传入,底层fabric的ccenv被告知去访问所述代理服务器,在ccenv编译链码的时候,通过所述代理服务器从镜像服务器处获取对应的二进制文件。
所述代理服务器的代理服务指向国内的grpc版本服务的npm镜像服务器,并把https协议转换为http协议,并进行路径转换。
进一步来说:通过开源软件,搭建代理服务器,IP地址设置为x.y.z.k,开放端口port1;
在代理服务器中配置本地的端口port指向https://npm.XX.org/mirrors/grpc,其中npm.XX.org是指镜像服务器的具体名称;在本地目录中生成文件npmconfig.txt,内容如grpc_node_binary_host_mirror=https://x.y.z.k:port1/;通过composer networkinstall、composer network start提供的参数npmrcFile指向npmconfig.txt,这样在ccenv编译链码的时候,通过所述代理服务器去npm镜像服务器处获取grpc二进制版本。
本发明具有以下有益效果:
在实际通过hyperledger composer进行业务网络部署中,底层fabric的ccenv会去编译源代码生成二进制文件,一般会耗时很久,而且往往会超时失败,现有技术通过本地搭建npm的镜像服务器或者通过修改官方ccenv镜像避免npm依赖频繁安装来解决这种技术难题,显然,其没有获取其产生的根本原因,这种根本原因,对于本领域的技术人员来说,是难以发现的。本发明通过阅读源码发现,在编译过程中,发现ccenv去aws获取grpc对应版本的二进制文件,如果获取不到,就会去获取对应的源代码,然后本地编译生成,耗时很久,其原因往往是本地编译源码的过程耗时,而超时失败更多的是因为访问aws没有响应导致的,这样极大地影响了链码的部署效率,通过本发明,经测试,首先极大地提高了部署链码的稳定性,部署的成功率可以达到99%,其次,极大地缩短了部署链码的时间,主要是很大程度的避免了访问aws超时和grpc源码的编译,在同一台机器上的测试表明,现有技术的部署时间需要≥10分钟,而本发明缩短到2-3分钟。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是现有技术的常规网络链接图;
图2是现有技术中ccenv编译源代码为二进制的流程图;
图3是本发明网络连接图;
图4是本发明ccenv编译源代码为二进制的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提高hyperledger composer链码部署效率的方法,是指在通过hyperledger composer进行业务网络部署中,使用代理服务软件建立代理服务器,并把代理服务器地址通过参数传入,底层fabric的ccenv被告知去访问所述代理服务器,如图3所示网络连接图。在ccenv编译链码的时候,通过所述代理服务器从镜像服务器处获取对应的二进制文件。代理服务器的代理服务指向国内的grpc版本服务的npm镜像服务器,并把https协议转换为http协议,并进行路径转换。
通过开源软件,搭建代理服务器,IP地址设置为x.y.z.k,开放端口port1;在代理服务器中配置本地的端口port指向https://npm.XX.org/mirrors/grpc,该网址是npm.XX.org镜像服务器下grpc对应的目录,其中npm.XX.org是指镜像服务器的具体名称;在本地目录中生成文件npmconfig.txt,内容如grpc_node_binary_host_mirror=https://x.y.z.k:port1/;通过composer network install、composer network start提供的参数npmrcFile指向npmconfig.txt,这样在ccenv编译链码的时候,通过所述代理服务器去npm镜像服务器处获取grpc二进制版本,如图4所示ccenv编译源代码为二进制的流程图。
下面是更详细的说明:
本发明提高hyperledger composer链码部署效率的方法,使用代理服务软件,如开源的nginx,来建立一个代理服务,指向国内的grpc版本服务的npm镜像服务器,例如阿里云的npm镜像服务器,并把https协议转换为http协议,并进行路径转换,然后在部署业务网络的时候,通过传入对应的参数,告诉ccenv,去访问这个代理服务,从而从npm镜像服务器获取对应的grpc二进制文件。如图4,ccenv通过代理服务器从npm镜像获取grpc二进制版本,然后编译x509源码,再编译链码源码以及后续的操作。图1是现有技术的常规网络链接图,即ccenv去amazon获取grpc对应版本的二进制文件,如果获取不到,就会去获取对应的源代码,然后本地编译生成,图2所示ccenv编译源代码为二进制的流程图,耗时很久,其原因往往是本地编译源码的过程耗时,而超时失败更多的是因为访问amazon没有响应导致的,这样极大地影响了链码的部署效率。
详细步骤是:通过开源软件,搭建代理服务器(IP地址为x.y.z.k),开放端口port1;
在代理服务器中配置本机的端口port指向https://npm.taobao.org/mirrors/grpc;
在本地目录中生成文件npmconfig.txt,内容如grpc_node_binary_host_mirror=https://x.y.z.k:port1/,其中x.y.z.k是指IP地址的具体数字,IP地址为192.168.1.2;
在hyperledger composer进行业务网络部署的时候,通过composer networkinstall、composer network start提供的参数npmrcFile指向npmconfig.txt,这样在ccenv编译链码的时候,就会通过代理服务器去npm镜像获取grpc二进制版本。
在本发明中专有名词解释:
hyperledger:是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起该项目。
hyperledger composer:是Hyperledger项目下的一个子项目,是用于构建区块链网络的协同工具。借助Hyperledger Composer,可以在线、本地或在云中,通过最喜欢的方式,轻松构建区块链应用程序。
fabric/hyperledger composer:是Hyperledger项目下的一个子项目。
amazon:亚马逊公司或者网站。
aws:亚马逊公司旗下云计算服务平台,为全世界各个国家和地区的客户提供一整套基础设施和云解决方案。
ccenv:fabric项目中使用的go语言的cc运行环境库镜像。
grpc:由google开发,是一款语言中立、平台中立、开源的远程过程调用RPC系统。
npm:是JavaScript世界的包管理工具,并且是Node.js平台的默认包管理工具。
nginx:是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。
https:是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
x509:是一种非常通用的证书格式,所有的证书都符合ITU-T X.509国际标准。
proxy:代理。
IP:IP地址。
port:端口。
composer network install/composer network start:composer中安装/运行业务网络的命令。
需要声明的是,上述具体实施方式仅为本发明的较佳实施例及所运用技术原理,在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (3)
1.一种提高hyperledger composer链码部署效率的方法,其特征在于:在通过hyperledger composer进行业务网络部署中,使用代理服务软件建立代理服务器,并把代理服务器地址通过参数传入,底层fabric的ccenv被告知去访问所述代理服务器,在ccenv编译链码的时候,通过所述代理服务器从镜像服务器处获取对应的二进制文件。
2.根据权利要求1所述的提高hyperledger composer链码部署效率的方法,其特征在于:所述代理服务器的代理服务指向国内的grpc版本服务的npm镜像服务器,并把https协议转换为http协议,并进行路径转换。
3.根据权利要求1所述的提高hyperledger composer链码部署效率的方法,其特征在于:
通过开源软件,搭建代理服务器,IP地址设置为x.y.z.k,开放端口port1;
在代理服务器中配置本地的端口port指向https://npm.XX.org/mirrors/grpc,其中npm.XX.org是指镜像服务器的具体名称;
在本地目录中生成文件npmconfig.txt,内容为grpc_node_binary_host_mirror=https://x.y.z.k:port1/;
通过composer network install、composer network start提供的参数npmrcFile指向npmconfig.txt,这样在ccenv编译链码的时候,通过所述代理服务器去npm镜像服务器处获取grpc二进制版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910360121.XA CN110149376B (zh) | 2019-04-30 | 2019-04-30 | 提高hyperledger composer链码部署效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910360121.XA CN110149376B (zh) | 2019-04-30 | 2019-04-30 | 提高hyperledger composer链码部署效率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110149376A CN110149376A (zh) | 2019-08-20 |
CN110149376B true CN110149376B (zh) | 2021-01-05 |
Family
ID=67594041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910360121.XA Active CN110149376B (zh) | 2019-04-30 | 2019-04-30 | 提高hyperledger composer链码部署效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110149376B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114675935A (zh) * | 2022-03-30 | 2022-06-28 | 蚂蚁区块链科技(上海)有限公司 | 联盟链中部署链码的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579931A (zh) * | 2017-09-08 | 2018-01-12 | 杭州云象网络技术有限公司 | 一种基于Kubernetes的区块链即服务资源适配方法 |
CN108965468A (zh) * | 2018-08-16 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN109462508A (zh) * | 2018-11-30 | 2019-03-12 | 北京百度网讯科技有限公司 | 节点部署方法、装置和存储介质 |
CN109545301A (zh) * | 2018-11-23 | 2019-03-29 | 浙江工商大学 | 基于区块链Hyperledger Fabric的共享电子病历方法 |
CN109597693A (zh) * | 2018-09-25 | 2019-04-09 | 国网浙江省电力有限公司信息通信分公司 | 分布式软件系统中grpc通信协议的应用方法 |
CN109634810A (zh) * | 2018-12-10 | 2019-04-16 | 广东亿迅科技有限公司 | 基于Fabric的区块链业务平台和运行方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10762079B2 (en) * | 2017-09-29 | 2020-09-01 | Oracle International Corporation | System and method for managing a blockchain cloud service |
-
2019
- 2019-04-30 CN CN201910360121.XA patent/CN110149376B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107579931A (zh) * | 2017-09-08 | 2018-01-12 | 杭州云象网络技术有限公司 | 一种基于Kubernetes的区块链即服务资源适配方法 |
CN108965468A (zh) * | 2018-08-16 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台及其链码安装方法、存储介质 |
CN109597693A (zh) * | 2018-09-25 | 2019-04-09 | 国网浙江省电力有限公司信息通信分公司 | 分布式软件系统中grpc通信协议的应用方法 |
CN109545301A (zh) * | 2018-11-23 | 2019-03-29 | 浙江工商大学 | 基于区块链Hyperledger Fabric的共享电子病历方法 |
CN109462508A (zh) * | 2018-11-30 | 2019-03-12 | 北京百度网讯科技有限公司 | 节点部署方法、装置和存储介质 |
CN109634810A (zh) * | 2018-12-10 | 2019-04-16 | 广东亿迅科技有限公司 | 基于Fabric的区块链业务平台和运行方法 |
Non-Patent Citations (2)
Title |
---|
Performance Characterization of Hyperledger Fabric;Arati Baliga等;《IEEE 2018 Crypto Valley Conference on Blockchain Technology (CVCBT)》;20180622;全文 * |
基于Node.js高并发web系统的研究与应用;陈瑶;《中国优秀硕士学位论文全文数据库信息科技辑I139-514》;20160315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110149376A (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105487892B (zh) | 一种Linux环境下的云中GIS服务部署系统 | |
US20130080999A1 (en) | Automated Testing for Hosted Applications on Various Computing Platforms | |
US7085851B2 (en) | SNMP interface to existing resource management extension-enabled management agents | |
US20080320135A1 (en) | Method and system for establishing network connections | |
US20050015762A1 (en) | Methods and systems for deploying computer source code | |
US6519228B1 (en) | System and method of operation for verifying and validating public switch telephone networks (PSTN) to (IP) network services | |
CN104536890A (zh) | 测试系统、方法和装置 | |
US11726808B2 (en) | Cloud-based managed networking service that enables users to consume managed virtualized network functions at edge locations | |
CN103428046A (zh) | 一种测试接口协议的方法及终端 | |
CN113515278A (zh) | 低代码模型处理方法、系统、电子设备及存储介质 | |
CN110149376B (zh) | 提高hyperledger composer链码部署效率的方法 | |
US12137032B2 (en) | Systems and methods for identifying and determining third party compliance | |
CN104536765B (zh) | 登录、调试嵌入式设备的方法及系统 | |
CN112073923A (zh) | 兼容多运营商的通信方法、装置、网关及可读存储介质 | |
CN115248700A (zh) | 一种产品代码自动化构建移动安装包的方法和系统 | |
KR102436385B1 (ko) | 사물 인터넷 프로토콜을 이용한 비콘 기반 단말 접속 시스템, 이의 방법, 그리고 이 방법이 저장된 컴퓨터 판독 가능 저장 매체 | |
CN101499031A (zh) | 软件错误反馈系统及方法 | |
JP2009157468A (ja) | プレゼンス合成装置、プレゼンス合成プログラム、およびプレゼンス合成方法 | |
CN113824790A (zh) | 一种支持企业级应用的云原生PaaS管理平台 | |
KR100751449B1 (ko) | OSGi 서비스 플랫폼 기반의 스텁 번들 생성 방법 | |
US10419388B2 (en) | Method and system for dark matter scanning | |
Cisco | Release Notes for Cisco Unity Release 3.1(2c) | |
Cisco | Release Notes for Cisco Unity Release 3.1(2b) | |
US11249742B1 (en) | Systems and methods for zero-touch infrastructure build automation | |
CN113992517A (zh) | 基于PaaS平台的网络对外服务的实现方法及系统 |
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 |