CN113721921A - 一种联盟链多语言外部链码离线编译方法与系统 - Google Patents
一种联盟链多语言外部链码离线编译方法与系统 Download PDFInfo
- Publication number
- CN113721921A CN113721921A CN202111019706.9A CN202111019706A CN113721921A CN 113721921 A CN113721921 A CN 113721921A CN 202111019706 A CN202111019706 A CN 202111019706A CN 113721921 A CN113721921 A CN 113721921A
- Authority
- CN
- China
- Prior art keywords
- chain code
- external
- chain
- builder
- code
- 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
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
-
- 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/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提出了一种联盟链多语言外部链码离线编译方法与系统,具体包括:响应于外部链码离线编译请求,获取请求中的链码语言定义,根据链码语言定义选择链码包外部构建器类型,调用detect组件从相应外部构建器类型中选择外部构建器,外部构建器根据请求信息创建链码包;调用build组件编译链码包得到链码,并启动链码;验证Peer节点的证书、私钥和根CA证书,验证通过后,启用外部链码服务器与Peer之间的TLS协议;调用release组件提供元数据,元数据包括CouchDB状态数据库索引定义和外部链码服务的连接信息;根据元数据中的外部链码服务的连接信息连接Peer节点与外部链码服务器,连接完成后即可调用创建的外部链码。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种联盟链多语言外部链码离线编译方法与系统。
背景技术
在联盟链中,链码的编译和启动过程是peer实现的一部分,不容易定制。所有安装在peer上的链码都是使用peer中的语言特定逻辑硬编码来创建。这个过程会生成一个启动执行链码的Docker容器镜像作为客户端连接到peer。这种方式把链码的实现限制在了少数语言中,不能定制化特定语言链码,适应性和可扩展性较差,并且阻碍了链码作为一个长时间运行的服务。外部构建器和启动器通过允许操作员使用可以构建、启动和发现链码的程序扩展peer来解决这些限制。
发明内容
针对背景技术中提出的问题,本发明提出了一种联盟链多语言外部链码离线编译方法,具体包括:
响应于外部链码离线编译请求,获得请求中的链码定义;
调用Peer节点对链码定义进行背书,得到背书结果,其中,链码定义至少包括链码语言定义;
对背书结果进行验证,通过后将背书结果进行广播并对背书结果进行共识,共识通过后将链码定义打包成区块并添加到链上;
根据链码语言定义选择相应的外部构建器,并基于链码定义创建链码包,其中,链码包包括链码源路径和链码元数据;
通过链码源路径和链码元数据对所述链码包进行编译,得到链码;
对Peer节点的证书、私钥及根CA证书进行验证;
验证通过后,基于所述链码元数据中的连接信息将Peer节点与外部链码服务器进行连通,并调用创建的外部链码。
进一步的,所述链码语言定义用于定义链码语言信息,根据链码语言信息选择相应的外部构建器,其中,链码语言信息包括Go语言链码、Java语言链码、JavaScript语言链码,所述外部构建器包括Go链码包外部构建器、Java链码包外部构建器、JavaScript链码包外部构建器。
进一步的,所述基于链码语言定义选择相应的外部构建器,并基于链码定义创建链码包,具体包括:
初始化容器路由,根据yaml文件的配置信息初始化相应的外部构建器;
外部构建器的编译方法被调用时,循环所选类型中的所有外部构建器来调用detect组件,返回第一个满足条件的外部构建器即为选定的外部构建器;
外部构建器根据请求中的链码定义创建链码包。
进一步的,所述基于链码定义创建链码包步骤之前还包括配置外部构建器,具体为:
根据外部构建器的组件配置信息对包含的每个组件进行配置,其中,所述外部构建器包括detect组件、build组件、release组件及run组件,组件配置信息包括构建器路径、构建器名称、组件配置信息及脚本执行环境。
进一步的,还包括通过链码包配置信息对链码包进行配置的过程,其中,链码包配置信息包含链码源路径配置信息和链码元数据配置信息,所述链码元数据的配置项包括类型、路径和标签;
基于类型、路径和标签找到链码元数据,通过链码元数据的类型选择链码语言类型,基于链码源路径存储链码包。
进一步的,所述通过链码源路径和链码元数据对所述链码包进行编译,得到链码,包括以下步骤:
根据链码源路径调取链码源,根据链码元数据的配置信息调取链码元数据,使用编译器编译链码源和链码元数据得到链码。
另一方面,本发明提出了一种联盟链多语言外部链码离线编译系统,具体包括:
背书模块:调用Peer节点对链码定义进行背书,得到背书结果;
验证模块:验证背书结果信息及验证Peer节点的证书、私钥和根CA证书;
共识模块:调用Orderer节点对背书结果进行共识;
构建器选择模块:根据链码语言定义选择链码包外部构建器类型;
链码创建模块:通过链码源路径和链码元数据对所述链码包进行编译,得到链码;
链码调用模块:基于所述链码元数据中的连接信息将Peer节点与外部链码服务器进行连通,并调用创建的外部链码。
进一步的,所述构建器选择模块还用于根据链码语言信息选择相应的链码包外部构建器,链码语言定义定义了链码语言信息,包括Go链码、Java链码、JavaScript链码,相应的链码包外部构建器类型有Go链码包外部构建器、Java链码包外部构建器、JavaScript链码包外部构建器;
链码包创建模块还用于在peer节点最初启动时,初始化容器路由,用来对外提供调用,内部委托给不同的构建器实现;在初始化容器路由时,根据yaml文件的配置信息初始化外部构建器;外部构建器的编译方法被调用时,循环所选类型中的所有外部构建器来调用detect组件,返回第一个满足条件的外部构建器即为选定的外部构建器;外部构建器根据解析后的请求信息创建链码包,不报错则视为创建成功。
第三方面,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上任意一项所述的方法步骤。
第四方面,本发明提出了一种联盟链多语言外部链码离线编译装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以上任意一项所述的方法步骤。
本发明提出的一种联盟链多语言外部链码离线编译方法,在离线情况下,可以根据用户需求定制化编译外部链码,这种方式打破了链码语言限制,可定制化特定语言链码,适应性和可扩展性较强,并且链码可以作为一个长时间运行的服务。利用外部构建器和启动器通过允许操作员使用可以构建、启动和发现链码的程序扩展peer来解决这些限制,为用户提供了更多的链码种类与编译方法。另外,启用外部链码服务器与Peer之间的TLS协议,使得调用外部链码时更加安全。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一具体实施例中联盟链多语言外部链码离线编译方法流程示意图;
图2为一具体实施例中联盟链多语言外部链码离线编译系统架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一实施例”、“一具体实施例”、“一实施例方式”、“例如”的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
如图1所示,是一种联盟链多语言外部链码离线编译方法,具体包括:
Step01:响应于外部链码离线编译请求,请求来自于用户发起或系统发起;
Step02:获取并解析所述请求,请求信息包括用户信息或系统信息、链码定义,链码定义包括链码语言定义、链码用途定义、链码版本、链码运行环境等,获得请求中的链码定义;
Step03:Peer节点对链码定义进行背书,使用签名算法对链码定义进行签名,返回签名后的背书结果;
Step04:验证背书结果信息,用Peer节点公钥加密链码定义,所得结果与背书结果一致时验证通过;
Step05:当有多个Orderer节点时,将背书结果广播至所有Orderer节点,Orderer节点对背书结果进行共识,当通过共识的Orderer节点数量达到预设条件时共识通过;
Step06:共识通过后由Leader节点将链码定义打包成区块添加到链上;
Step07:获取请求中的链码语言定义,根据链码语言定义选择链码包外部构建器类型,链码语言定义定义了链码语言信息,包括Go链码、Java链码、JavaScript链码等,根据链码语言信息选择相应的链码包外部构建器,相应的链码包外部构建器类型有Go链码包外部构建器、Java链码包外部构建器、JavaScript链码包外部构建器;在外部构建器创建链码包之前需要配置外部构建器,外部构建器由detect、build、release、run这4个组件构成,配置信息包括构建器路径、构建器名称、组件配置信息及脚本执行环境,根据组件配置信息对4个组件进行配置;
Step08:调用detect组件从相应外部构建器类型中选择外部构建器,在peer节点最初启动时,初始化容器路由,用来对外提供调用,内部委托给不同的构建器实现;在初始化容器路由时,根据yaml文件的配置信息初始化外部构建器;外部构建器的编译方法被调用时,循环所选类型中的所有外部构建器来调用detect组件,返回第一个满足条件的外部构建器即为选定的外部构建器;
Step09:外部构建器根据解析后的请求信息创建链码包,不报错则视为创建成功;在创建链码包之前需要配置链码包,链码包配置信息包含链码源路径、链码元数据配置信息,链码元数据包含三个配置项:类型、路径和标签;
Step10:调用build组件编译链码包得到链码,并启动链码,包括根据链码源路径调取链码源,根据链码元数据配置信息调取链码元数据,使用编译器编译链码源和链码元数据得到链码;
Step11:验证Peer节点的证书、私钥和根CA证书;
Step12:验证通过后,启用外部链码服务器与Peer之间的TLS协议;
Step13:调用release组件提供元数据,元数据包括CouchDB状态数据库索引定义和外部链码服务的连接信息;根据元数据中的外部链码服务的连接信息连接Peer节点与外部链码服务器;
Step14:连接完成后即可调用创建的外部链码。
在另一具体实施例中,提出了一种联盟链多语言外部链码离线编译系统,如图2所示,系统具体包括:
请求解析模块:获取并解析所述请求,获得请求中的链码定义及获取请求中的链码语言定义;
背书模块:Peer节点对链码定义进行背书,返回背书结果;
验证模块:验证背书结果信息及验证Peer节点的证书、私钥和根CA证书;
共识模块:Orderer节点对背书结果进行共识;
构建器选择模块:根据链码语言定义选择链码包外部构建器类型,调用detect组件从相应外部构建器类型中选择外部构建器;
链码创建模块:外部构建器根据请求信息创建链码包,以及调用build组件编译链码包得到链码,并启动链码;
链码调用模块:启用外部链码服务器与Peer之间的TLS协议,调用release组件提供元数据,元数据包括CouchDB状态数据库索引定义和外部链码服务的连接信息;根据元数据中的外部链码服务的连接信息连接Peer节点与外部链码服务器,连接完成后即可调用创建的外部链码。
构建器选择模块还用于:根据链码语言信息选择相应的链码包外部构建器,链码语言定义定义了链码语言信息,包括Go链码、Java链码、JavaScript链码,相应的链码包外部构建器类型有Go链码包外部构建器、Java链码包外部构建器、JavaScript链码包外部构建器;
链码包创建模块还用于:在peer节点最初启动时,初始化容器路由,用来对外提供调用,内部委托给不同的构建器实现;在初始化容器路由时,根据yaml文件的配置信息初始化外部构建器;外部构建器的编译方法被调用时,循环所选类型中的所有外部构建器来调用detect组件,返回第一个满足条件的外部构建器即为选定的外部构建器;外部构建器根据解析后的请求信息创建链码包,不报错则视为创建成功。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
Claims (10)
1.一种联盟链多语言外部链码离线编译方法,其特征在于,具体包括:
响应于外部链码离线编译请求,获得请求中的链码定义;
调用Peer节点对链码定义进行背书,得到背书结果,其中,链码定义至少包括链码语言定义;
对背书结果进行验证,通过后将背书结果进行广播并对背书结果进行共识,共识通过后将链码定义打包成区块并添加到链上;
根据链码语言定义选择相应的外部构建器,并基于链码定义创建链码包,其中,链码包包括链码源路径和链码元数据;
通过链码源路径和链码元数据对所述链码包进行编译,得到链码;
对Peer节点的证书、私钥及根CA证书进行验证;
验证通过后,基于所述链码元数据中的连接信息将Peer节点与外部链码服务器进行连通,并调用创建的外部链码。
2.根据权利要求1所述的一种联盟链多语言外部链码离线编译方法,其特征在于,所述链码语言定义用于定义链码语言信息,根据链码语言信息选择相应的外部构建器,其中,链码语言信息包括Go语言链码、Java语言链码、JavaScript语言链码,所述外部构建器包括Go链码包外部构建器、Java链码包外部构建器、JavaScript链码包外部构建器。
3.根据权利要求1所述的一种联盟链多语言外部链码离线编译方法,其特征在于,所述基于链码语言定义选择相应的外部构建器,并基于链码定义创建链码包,具体包括:
初始化容器路由,根据yaml文件的配置信息初始化相应的外部构建器;
外部构建器的编译方法被调用时,循环所选类型中的所有外部构建器来调用detect组件,返回第一个满足条件的外部构建器即为选定的外部构建器;
外部构建器根据请求中的链码定义创建链码包。
4.根据权利要求1或3所述的一种联盟链多语言外部链码离线编译方法,其特征在于,所述基于链码定义创建链码包步骤之前还包括配置外部构建器,具体为:
根据外部构建器的组件配置信息对包含的每个组件进行配置,其中,所述外部构建器包括detect组件、build组件、release组件及run组件,组件配置信息包括构建器路径、构建器名称、组件配置信息及脚本执行环境。
5.根据权利要求1所述的一种联盟链多语言外部链码离线编译方法,其特征在于,还包括通过链码包配置信息对链码包进行配置的过程,其中,链码包配置信息包含链码源路径配置信息和链码元数据配置信息,所述链码元数据的配置项包括类型、路径和标签;
基于类型、路径和标签找到链码元数据,通过链码元数据的类型选择链码语言类型,基于链码源路径存储链码包。
6.根据权利要求1所述的一种联盟链多语言外部链码离线编译方法,其特征在于,所述通过链码源路径和链码元数据对所述链码包进行编译,得到链码,包括以下步骤:
根据链码源路径调取链码源,根据链码元数据的配置信息调取链码元数据,使用编译器编译链码源和链码元数据得到链码。
7.一种联盟链多语言外部链码离线编译系统,其特征在于,具体包括:
请求解析模块:获取并解析所述请求,获得请求中的链码定义及获取请求中的链码语言定义;
背书模块:调用Peer节点对链码定义进行背书,得到背书结果;
验证模块:验证背书结果信息及验证Peer节点的证书、私钥和根CA证书;
共识模块:调用Orderer节点对背书结果进行共识;
构建器选择模块:根据链码语言定义选择链码包外部构建器类型;
链码创建模块:通过链码源路径和链码元数据对所述链码包进行编译,得到链码;
链码调用模块:基于所述链码元数据中的连接信息将Peer节点与外部链码服务器进行连通,并调用创建的外部链码。
8.根据权利要求7所述的一种联盟链多语言外部链码离线编译系统,其特征在于,所述构建器选择模块还用于根据链码语言信息选择相应的链码包外部构建器,链码语言定义定义了链码语言信息,包括Go链码、Java链码、JavaScript链码,相应的链码包外部构建器类型有Go链码包外部构建器、Java链码包外部构建器、JavaScript链码包外部构建器;
链码包创建模块还用于在peer节点最初启动时,初始化容器路由,用来对外提供调用,内部委托给不同的构建器实现;在初始化容器路由时,根据yaml文件的配置信息初始化外部构建器;外部构建器的编译方法被调用时,循环所选类型中的所有外部构建器来调用detect组件,返回第一个满足条件的外部构建器即为选定的外部构建器;外部构建器根据解析后的请求信息创建链码包,不报错则视为创建成功。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的方法步骤。
10.一种联盟链多语言外部链码离线编译装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111019706.9A CN113721921A (zh) | 2021-09-01 | 2021-09-01 | 一种联盟链多语言外部链码离线编译方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111019706.9A CN113721921A (zh) | 2021-09-01 | 2021-09-01 | 一种联盟链多语言外部链码离线编译方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113721921A true CN113721921A (zh) | 2021-11-30 |
Family
ID=78680439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111019706.9A Pending CN113721921A (zh) | 2021-09-01 | 2021-09-01 | 一种联盟链多语言外部链码离线编译方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113721921A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338666A (zh) * | 2021-12-03 | 2022-04-12 | 杭州趣链科技有限公司 | 对Fabric区块链跨链交易的验证方法、装置、设备及介质 |
WO2023185058A1 (zh) * | 2022-03-30 | 2023-10-05 | 蚂蚁区块链科技(上海)有限公司 | 联盟链中部署链码的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102026580B1 (ko) * | 2019-01-15 | 2019-09-27 | 강대준 | 블록체인을 이용한 무인 이동체 제어 시스템 및 이를 이용한 무인 이동체의 제어 방법 |
CN110348830A (zh) * | 2019-06-20 | 2019-10-18 | 国家信息中心 | 一种基于区块链的网络系统、认证方法、设备及存储介质 |
CN110688634A (zh) * | 2019-09-19 | 2020-01-14 | 杭州云象网络技术有限公司 | 一种联盟链事务智能执行的方法 |
WO2021135117A1 (zh) * | 2020-01-03 | 2021-07-08 | 平安科技(深圳)有限公司 | 区块链中节点与链码的通信方法、装置、设备及存储介质 |
-
2021
- 2021-09-01 CN CN202111019706.9A patent/CN113721921A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102026580B1 (ko) * | 2019-01-15 | 2019-09-27 | 강대준 | 블록체인을 이용한 무인 이동체 제어 시스템 및 이를 이용한 무인 이동체의 제어 방법 |
CN110348830A (zh) * | 2019-06-20 | 2019-10-18 | 国家信息中心 | 一种基于区块链的网络系统、认证方法、设备及存储介质 |
CN110688634A (zh) * | 2019-09-19 | 2020-01-14 | 杭州云象网络技术有限公司 | 一种联盟链事务智能执行的方法 |
WO2021135117A1 (zh) * | 2020-01-03 | 2021-07-08 | 平安科技(深圳)有限公司 | 区块链中节点与链码的通信方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
余府: "Hyperledger Fabric 2.0 官方文档中文版 第8章 操作指南", pages 8, Retrieved from the Internet <URL:https://blog.csdn.net/bean_business/article/details/108669133> * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338666A (zh) * | 2021-12-03 | 2022-04-12 | 杭州趣链科技有限公司 | 对Fabric区块链跨链交易的验证方法、装置、设备及介质 |
WO2023185058A1 (zh) * | 2022-03-30 | 2023-10-05 | 蚂蚁区块链科技(上海)有限公司 | 联盟链中部署链码的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102237015B1 (ko) | 블록체인 상의 네이티브 계약을 구현하기 위한 시스템 및 방법 | |
US10740215B2 (en) | System and method for implementing an API validator tool | |
CN109558748B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US10929117B2 (en) | Container image building using shared resources | |
US9569288B2 (en) | Application pattern discovery | |
EP3499364B1 (en) | Method and device for loading kernel module | |
KR102044046B1 (ko) | 텔레메트리 파일 해시 및 충돌 검출 기법 | |
US11061800B2 (en) | Object model based issue triage | |
CN113721921A (zh) | 一种联盟链多语言外部链码离线编译方法与系统 | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN111984228A (zh) | 一种接口文档的处理方法、装置、计算机设备和存储介质 | |
CN113515278A (zh) | 低代码模型处理方法、系统、电子设备及存储介质 | |
Septian et al. | Automated test case generation from UML activity diagram and sequence diagram using depth first search algorithm | |
WO2021175053A1 (zh) | 一种在虚拟机中执行功能模块的方法和装置 | |
CN107368339B (zh) | 容器入口程序运行方法、系统、设备及存储介质 | |
CN110716786B (zh) | 一种页面展示方法、系统及存储介质 | |
CN108897588B (zh) | 一种用于模块间通信的路由方法和路由装置 | |
US11977872B2 (en) | Method and system for code maintenance | |
US20210234686A1 (en) | Information processing device, information processing method, and storage medium | |
CN110569659B (zh) | 数据处理方法、装置和电子设备 | |
CN114253595A (zh) | 代码仓库管理方法、装置、计算机设备及存储介质 | |
RU2385485C1 (ru) | Система и способ контроля за выполнением программ с помощью трассировки бинарных приложений | |
CN111177660A (zh) | 一种开放平台脚本代码的权限校验方法 | |
CN112882720B (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 |