CN114390062A - 基于区块链的调用方法、装置、电子设备及存储介质 - Google Patents
基于区块链的调用方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114390062A CN114390062A CN202111658418.8A CN202111658418A CN114390062A CN 114390062 A CN114390062 A CN 114390062A CN 202111658418 A CN202111658418 A CN 202111658418A CN 114390062 A CN114390062 A CN 114390062A
- Authority
- CN
- China
- Prior art keywords
- chain code
- calling
- code result
- parameter
- chain
- 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 80
- 238000004891 communication Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 45
- 230000008569 process Effects 0.000 description 26
- 238000011161 development Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/104—Peer-to-peer [P2P] networks
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于区块链的调用方法、装置、电子设备及存储介质;方法包括:根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的调用方法、装置、电子设备及存储介质。
背景技术
区块链可以看作是一种特殊的分布式账本技术,以密码学的方式保证其数据不可篡改。区块链的“去中心化”、“不可篡改”、”公开透明“等特性被广泛运用于数据存储的场景中。大量企业开始基于区块链的数据库存储数据,以此为基础构建应用和系统,提高数据存储的安全和便捷性。
在现有开发和构建区块链应用的过程中,对区块链数据库的操作(增删改查)流程较繁琐,例如常用的联盟链系统Hyperledger Fabric,通过该系统进行应用开发时,通常基于官方提供的SDK(软件开发工具包),每操作一次区块链数据库,均需要手动编写代码,通过SDK来调用相应的链码,进行数据的读写操作。开发的过程中,如果更改了区块链数据库对应的链码,则在开发过程中也需要同步频繁调整SDK代码(例如新增了链码函数、更改了链码参数),整个开发流程较为繁琐。
发明内容
本发明实施例提供一种基于区块链的调用方法、装置、电子设备及存储介质。本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于区块链的调用方法,包括:
根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;
在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;
在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;
基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
所述调用参数还包括:预设格式信息;
所述基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端,包括:
根据预设格式信息,将所述第一链码结果或所述第二链码结果的数据格式转换为预设格式,并将完成格式转换后的所述第一链码结果或所述第二链码结果通过目标资源地址发送至所述终端。
上述方案中,所述方法还包括:
根据历史调用参数以及所述历史调用参数对应的所述目标资源地址,生成历史调用记录,并将所述历史调用纪录在图形化界面以日志的形式供用户操作。
上述方案中,监控所述区块链中的链码;
在所述区块链中的链码的数据状态发生变化的情况下,获取发生变化的所述链码的数据状态,并根据所述数据状态在所述缓存数据库中更新与所述发生变化的所述链码对应的第一链码结果。
上述方案中,在根据所述调用请求携带的目标资源地址,确定所述调用参数之前,所述方法还包括:根据调用参数,生成与所述调用参数对应的目标资源地址,并存储所述调用参数与目标资源地址之间的对应关系。
上述方案中,所述调用请求为HTTP调用请求;所述方法还包括:与所述终端建立HTTP通信连接,接收终端发送的HTTP调用请求。
本发明实施例还提供一种基于区块链的调用装置,包括:
确定单元,用于根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;
查询单元,用于在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;
执行单元,用于在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;
发送单元,用于基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
所述调用参数还包括:预设格式信息;所述发送单元还用于根据预设格式信息,将所述第一链码结果或所述第二链码结果的数据格式转换为预设格式,并将完成格式转换后的所述第一链码结果或所述第二链码结果通过目标资源地址发送至所述终端。
上述方案中,所述装置还包括:记录单元,用于根据历史调用参数以及所述历史调用参数对应的所述目标资源地址,生成历史调用记录,并将所述历史调用纪录在图形化界面以日志的形式供用户操作。
上述方案中,所述装置还包括:监控单元,用于监控所述区块链中的链码;并在所述区块链中的链码的数据状态发生变化的情况下,获取发生变化的所述链码的数据状态,并根据所述数据状态在所述缓存数据库中更新与所述发生变化的所述链码对应的第一链码结果。
上述方案中,所述调用请求为HTTP调用请求;所述装置还包括通信单元,用于与所述终端建立HTTP通信连接,接收所述终端发送的HTTP调用请求。
本发明实施例还提供一种电子设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述实施例提供的基于区块链的调用方法。
本发明实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本发明实施例提供的基于区块链的调用方法。
本发明实施例:1、通过根据终端发送的携带有目标资源地址的调用请求,在服务器端完成对链码的执行操作得到链码结果并将链码结果返回至终端,一方面,由于链码的调用操作集中在服务器端完成,提高了链码调用的处理效率,减少了终端的数据处理量,另一方面,使终端在实现链码的调用时,只需适配调用请求(只需要适配目标资源地址)就可完成对链码的操作,减少了终端应用开发与区块链之间的连接问题,降低了终端应用代码与区块链的耦合度。2、通过将操作模式为第一模式的调用参数对应的链码结果在缓存数据库进行查询,并在链码数据修改后更新缓存数据库,减少了链码的频繁调用,进一步提升了链码数据的处理效率。
附图说明
图1是本发明实施例提供的基于区块链的调用方法的实施场景示意图;
图2是本发明实施例提供的区块链开发的低代码平台构建方法方法的流程示意图;
图3是本发明实施例提供的基于区块链的调用装置的结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
下面说明本发明实施例提供的基于区块链的调用方法。参见图1,图1是本发明实施例提供的基于区块链的调用方法的流程示意图;在一些实施例中,该基于区块链的调用方法可由服务器执行,在实际应用中,服务器既可以为单独配置的支持各种业务的一个服务器,亦可以配置为一个服务器集群,本发明实施例提供的基于区块链的调用方法包括:
步骤S110:根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;
步骤S120:在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;
步骤S130:在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;
步骤S140:基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
在一实施例中,函数参数包括但不限于:链码的名称和对应参数,其中对应参数用于指示待查询或修改的目标数据。所述操作模式包括但不限于:第一模式和第二模式,其中第一模式包括:查询模式,用于查询链码数据;第二模式包括:调用模式,用于修改链码数据。
在一实施例中,函数参数与待执行的目标链码对应。
在一实施例中,目标资源地址包括:目标资源对应的位置信息。
在一实施例中,所述目标资源地址包括但不限于URL(Uniform ResourceLocator,统一资源定位器)。
在一实施例中,预设软件开发工具包包括:区块链数据对应的调用工具。用户可通过预设软件工具包对区块链数据进行操作。以联盟链系统HyperledgerFabric为例,其预设软件开发工具包即为其官方提供的SDK。
在一实施例中,所述第一链码结果和第二链码结果均为与调用参数对应的目标链码的数据信息。
在一实施例中,缓存数据库中存储有与函数参数对应的链码数据信息。
在一实施例中,终端可以为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,还可以为可穿戴计算设备、个人数字助理(PDA)、台式计算机、蜂窝电话、媒体播放器、导航设备、游戏机、电视机、或者这些数据处理设备或其他数据处理设备中任意两个或多个的组合。
在一实施例中,服务器在得到调用参数对应的链码结果后,通过URL将链码结果反馈至终端。
在一实施例中,终端在需要进行链码调用时向服务器发送携带目标资源地址的调用请求,服务器对调用请求进行解析,得到目标资源地址,并根据目标资源地址确定与目标资源地址对应的调用参数,当调用参数中的操作模式为查询模式时,可直接根据调用参数访问缓存数据库得到对应的链码结果,若操作模式不会查询模式,则服务器基于用于操作区块链数据块的SDK函数执行调用参数对应的目标链码得到链码结果。
在一实施例中,在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果,包括:在所述操作模式为第一模式的情况下,判断所述调用参数是否为常用调用参数,若所述调用参数为常用调用参数则查询缓存数据库得到与所述函数参数对应的第一链码结果;若所述调用参数不是常用调用参数则根据调用参数和预设软件开发工具包执行目标链码得到第一链码结果。如此,一方面减少了调用SDK执行链码的次数,另一方面也减少了缓存数据库占用的存储资源。
在一实施例中,基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果,包括:判断所述函数参数是否属于常用调用参数,若属于,则基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果。
在一实施例中,所述常用调用参数可为用户根据需求设置的。在另一实施例中,所述常用调用参数时基于历史调用记录确定的。
在一实施例中,历史调用记录可包括但不限于:服务器接收到与所述调用参数对应的调用请求的次数等。
在一实施例中,所述方法还包括:将常用调用参数对应的链码结果存储于缓存数据库。
本实施例:1、通过根据终端发送的携带有目标资源地址的调用请求,在服务器端完成对链码的执行操作得到链码结果并将链码结果返回至终端,一方面,由于链码的调用操作集中在服务器端完成,提高了链码调用的处理效率,减少了终端的数据处理量,另一方面,使终端在实现链码的调用时,只需适配调用请求(只需要适配目标资源地址)就可完成对链码的操作,减少了终端应用开发与区块链之间的连接问题,降低了终端应用代码与区块链的耦合度。2、通过将操作模式为第一模式的调用参数对应的链码结果在缓存数据库进行查询,并在链码数据修改后更新缓存数据库,减少了链码的频繁调用,进一步提升了数据的处理效率。
在一些实施例中,所述调用参数还包括:预设格式信息;
所述基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端,包括:
根据预设格式信息,将所述第一链码结果或所述第二链码结果的数据格式转换为预设格式,并将完成格式转换后的所述第一链码结果或所述第二链码结果通过目标资源地址发送至所述终端。
在一实施例中,预设格式信息可为与终端应用程序适配的数据格式信息。从而使终端不需再对接收的链码结果进行匹配处理,简化了终端应用的开发流程。
在一些实施例中,所述方法还包括:
根据历史调用参数以及所述历史调用参数对应的所述目标资源地址,生成历史调用记录,并将所述历史调用纪录在图形化界面以日志的形式供用户操作。
在一实施例中,历史调用参数可为服务器根据调用请求确定并处理过的调用参数。
在一实施例中,用户可直接在图形化界面调用日志模块查询链码的调用历史,且通过历史调用记录中的目标资源地址操作目标链码。
在一些实施例中,所述方法还包括:
监控所述区块链中的链码;
在所述区块链中的链码的数据状态发生变化的情况下,获取发生变化的所述链码的数据状态,并根据所述数据状态在所述缓存数据库中更新与所述发生变化的所述链码对应的第一链码结果。
具体的,在链码中加入事件监听指令,将该指令与区块链的数据变更关联。即通过SDK调用指定的数据操作会触发监听事件,触发监听事件后,链码将读取变更后的数据状态,将该状态传送至系统中的缓存数据库存储。当根据调用请求执行同类数据的查询操作时,直接从缓存数据库读取数据且该数据库每次变更都会立即在缓存数据库同步更新,使查询时缓存数据库更新为最新状态。
在一些实施例中,在根据所述调用请求携带的目标资源地址,确定所述调用参数之前,所述方法还包括:根据调用参数,生成与所述调用参数对应的目标资源地址,并存储所述调用参数与目标资源地址之间的对应关系。
服务器根据终端需求所对应的调用参数生成与调用参数对应的目标资源地址,以供终端在根据需求匹配调用参数时,只需匹配目标资源地址即可,即使区块链数据库中链码发生了更改,终端应用也不需要进行任何修改。
在一些实施例中,所述调用请求为HTTP调用请求;
在一些实施例中,所述方法还包括:与所述终端建立HTTP通信连接,接收所述终端发送的HTTP调用请求。
在一实施例中,服务器为HTTP(Hyper Text Transfer Protocol,超文本传输协议)服务器,是基于服务端框架构建的。服务器能接收HTTP请求的访问。
HTTP为互联网中使用较为广泛的网络协议,几乎任何开发环境都原生支持HTTP请求,因此,终端应用在适配调用请求时,不用进行特定适配流程,从而进一步简化了终端区块链应用的开发流程。
以下结合上述实施例提供具体示例:
当前开发流程中,开发基于区块链,需要开发者用SDK编写代码调用区块链,在SDK中写入固定的查询函数名称和参数;同时处理数据适配,将得到的数据提供给其他系统来处理。例如某管理系统的数据库采用区块链数据库,某功能是查询区块链数据库的数据。软件开发者开发这一功能时,先在区块链系统中编写链码进行数据查询操作,然后在SDK中写入链码名称和参数,执行该SDK即可得到查询结果,然后在准备开发的管理系统中。
为了简化区块链系统的开发难度,本示例提出了一种区块链开发的低代码平台构建方法。本示例以Hyperledger Fabric(超级账本)为例,对官方提供的SDK进行改造,将SDK调用执行链码的过程改为http请求调用链码,同时配置图形界面进行操作,构建一种区块链开发的低代码平台。
如图2所示,本示例提出的区块链开发的低代码平台构建方法,包括:
步骤S1:基于SDK构建服务端。
在官方的SDK中,加入服务端框架,例如超级账本官方提供的基于nodej s的SDK,可以引入基于该语言的koa服务端框架。通过该框架提供的接口进行代码编写,构建http服务器。
构建的服务端能接收http请求的访问,根据接收到的http请求参数执行相应操作,将执行的结果通过http请求返回给访问者;同时该服务端也能发送指定的http请求。
步骤S2:服务端嵌入链码调用模块。
在服务端框架的接口中编写函数,链码的名称和参数作为函数参数,函数执行的操作为根据参数调用指定的链码,并展示结果。函数实现的流程:
a.通过http请求接收参数,参数包含需要调用链码的名称、对应参数、该链码函数对应的SDK函数
b.解析参数;
c.根据参数解析结果,调用SDK执行链码;
d.服务端读取链码结果,并将链码结果和参数的对应关系存储于缓存数据库中;
e.服务端根据参数信息生成对应的url,将执行结果通过url展示;之后进行相同参数的调用只用请求该url即可;
f.服务端将需要频繁查询的数据保存至系统中的缓存数据库,SDK调用链码修改数据,链码将数据存储至缓存数据库(每次数据更改缓存数据库更新一次),当终端的http请求调用相关链码(查询同类数据)时直接通过缓存数据库查询数据,减少区块链系统的负担。
g.如果参数中包含了指定格式,则该函数将SDK执行后的结果转化为对应格式,通过url展示;
例如Hyperledger Fabric的SDK中,调用链码查询区块链数据库的操作需要执行“queryChaincode”函数,在SDK中配置好区块链的基本信息,然后执行该函数,将链码名称和参数传入该函数(参数为需要查询哪个字段的数据),就可以执行该函数,得到执行结果并展示。本示例将调用SDK中函数的这一流程,嵌入了http服务端框架,通过向指定的url发送http请求,即可处理参数,将参数传入queryChaincode”函数,用框架读取返回结果,通过url返回该结果。
步骤S3:构建前端页面。
通过前端页面框架开发,连接步骤S2中开发的服务端模块。该前端页面能接收用户填写的参数信息并记录,将该参数信息传到S2中的服务端,生成不同的url,并将url和参数信息汇总为表格。表格记录了调用不同SDK函数、参数对应的url地址。
同时前端页面加入日志模块,记录历史调用流程并展示,每次开发者请求访问已经生成的url,操作数据库,日志中均会相应记录并提供给开发者查询。
步骤S4:将平台与应用适配
开发者根据S3构建的前端页面得到的表格,在准备开发的应用中适配htt p请求(通过url适配),即可完成对区块链数据库的操作。当调整了链码内容后,只需重新在前端页面调整参数即可,不需要更改应用中的http适配(更改参数后,url可以保持不变)。在平台与应用适配的过程中,区块链数据库的链码中加入事件监听指令,将该指令与区块链的数据变更关联。即通过SDK调用指定的数据操作会触发监听事件,触发监听事件后,链码将读取变更后的数据状态,将该状态传送至系统中的缓存数据库存储。当通过http请求执行同类数据的查询操作时,直接从缓存数据库读取数据(该数据库每次变更都会立即在缓存数据库同步更新,查询时已经更新为最新状态)。
传统区块链开发基于SDK调用链码的、再进行数据适配,该过程需要在应用中嵌入SDK来操作区块链数据库,只要链码更改,就需要更改应用中的代码参数。且官方提供的SDK基于特定语言编写,调用代码受限制较多(只能基于指定的语言和环境),而任何开发环境都原生支持http请求,不用特定适配流程。本示例通过区块链开发的低代码平台简化了区块链应用开发流程,直接通过应用中的http请求进行调用,http请求的返回值即为已经进行格式匹配的数据且通过图形化界面展示管理链码调用,操作区块链数据库,简化了开发流程,提高了效率。
本示例还提出了一种区块链低代码开发方法,让开发者能避免重复编写SDK调用的代码。该方法基于“低代码”的技术思路,能低成本的解决区块链与应用之间的链接问题,并在不影响原有业务的基础上完成便捷的数据库操作。
基于上述示例,本示例提出的一种区块链调用方法,应用于服务器,包括:
1、与终端建立HTTP连接。建立HTTP后,平台能接收终端http请求的访问,根据接收到的http请求参数执行相应操作,将执行的结果通过http请求返回给访问者。
2、根据终端发送的HTTP调用请求,确定调用参数。终端发送的HTTP调用请求中的URL确定与URL对应的调用参数。
3、根据调用参数调用SDK执行链码或者查询缓存数据库得到链码结果,并将所述链码结果通过URL反馈至终端。
传统区块链开发基于SDK调用链码的、再进行数据适配,该过程需要在终端应用中嵌入SDK来操作区块链数据库,只要链码更改,就需要更改应用中的代码参数。且官方提供的SDK基于特定语言编写,调用代码受限制较多(只能基于指定的语言和环境),而任何开发环境都原生支持http请求,不用特定适配流程。基于本示例的方法,区块链应用开发流程可直接通过应用中的http请求进行调用,http请求的返回值即为已经进行格式匹配的数据,简化开发流程,提高了效率。
下面继续说明本发明实施例提供的基于区块链的调用装置,在一些实施例中,基于区块链的调用装置可采用软件模块的方式实现。参见图3,图3是本发明实施例提供的基于区块链的调用装置的结构示意图,本发明实施例提供的基于区块链的调用装置300包括:
确定单元310,用于根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;
查询单元320,用于在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;
执行单元330,用于在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;
发送单元340,用于基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
在一些实施例中,所述调用参数还包括:预设格式信息;所述发送单元还用于根据预设格式信息,将所述第一链码结果或所述第二链码结果的数据格式转换为预设格式,并将完成格式转换后的所述第一链码结果或所述第二链码结果通过目标资源地址发送至所述终端。
在一些实施例中,所述装置还包括:记录单元,用于根据历史调用参数以及所述历史调用参数对应的所述目标资源地址,生成历史调用记录,并将所述历史调用纪录在图形化界面以日志的形式供用户操作。
在一些实施例中,所述装置还包括:监控单元,用于监控所述区块链中的链码;并在所述区块链中的链码的数据状态发生变化的情况下,获取发生变化的所述链码的数据状态,并根据所述数据状态在所述缓存数据库中更新与所述发生变化的所述链码对应的第一链码结果。
在一些实施例中,所述调用请求为HTTP调用请求;所述装置还包括通信单元,用于与所述终端建立HTTP通信连接,接收所述终端发送的HTTP调用请求。
本发明实施例还提供一种电子设备,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:
处理器配置为执行存储的可执行指令,所述可执行指令配置为执行本发明实施例提供的基于区块链的调用方法。
需要说明的是,图4为本申请实施例提供的一种电子设备结构示意图,如图4所示,该设备400至少包括:处理器410、通信接口420和存储器430,其中:
处理器410通常控制设备400的总体操作。
通信接口420可以使设备通过网络与其他设备通信。
存储器430配置为存储由处理器410可执行的指令和应用,还可以缓存待处理器410以及设备400中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述基于区块链的调用方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台服务器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例提供的基于区块链的调用方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
当然,本申请实施例中的装置还可有其他类似的协议交互实现案例,在不背离本申请精神及其实质的情况下,本领域的技术人员当可根据本申请实施例做出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请方法所附的权利要求的保护范围。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络模块上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于区块链的调用方法,其特征在于,包括:
根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;
在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;
在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;
基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
2.根据权利要求1所述的方法,其特征在于,所述调用参数还包括:预设格式信息;
所述基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端,包括:
根据预设格式信息,将所述第一链码结果或所述第二链码结果的数据格式转换为预设格式,并将完成格式转换后的所述第一链码结果或所述第二链码结果通过目标资源地址发送至所述终端。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据历史调用参数以及所述历史调用参数对应的所述目标资源地址,生成历史调用记录,并将所述历史调用纪录在图形化界面以日志的形式供用户操作。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监控所述区块链中的链码;
在所述区块链中的链码的数据状态发生变化的情况下,获取发生变化的所述链码的数据状态,并根据所述数据状态在所述缓存数据库中更新与所述发生变化的所述链码对应的第一链码结果。
5.根据权利要求1所述的方法,其特征在于,在根据所述调用请求携带的目标资源地址,确定所述调用参数之前,所述方法还包括:根据调用参数,生成与所述调用参数对应的目标资源地址,并存储所述调用参数与目标资源地址之间的对应关系。
6.根据权利要求1所述的方法,其特征在于,所述调用请求为HTTP调用请求;所述方法还包括:与所述终端建立HTTP通信连接,接收所述终端发送的HTTP调用请求。
7.一种基于区块链的调用装置,其特征在于,包括:
确定单元,用于根据调用请求携带的目标资源地址,确定调用参数,其中,所述调用参数包括:函数参数和操作模式;
查询单元,用于在所述操作模式为第一模式的情况下,查询缓存数据库得到与所述函数参数对应的第一链码结果;
执行单元,用于在所述操作模式为第二模式的情况下,根据所述调用参数以及预设软件开发工具包执行目标链码得到第二链码结果,并基于所述第二链码结果更新所述缓存数据库中与所述函数参数对应的第一链码结果;
发送单元,用于基于所述目标资源地址,将所述第一链码结果或所述第二链码结果发送至终端。
8.根据权利要求1所述的装置,其特征在于,所述调用参数还包括:预设格式信息;所述发送单元还用于根据预设格式信息,将所述第一链码结果或所述第二链码结果的数据格式转换为预设格式,并将完成格式转换后的所述第一链码结果或所述第二链码结果通过目标资源地址发送至所述终端。
9.一种电子设备,其特征在于,所述设备至少包括:处理器和配置为存储可执行指令的存储介质,其中:
处理器配置为执行存储的可执行指令,所述可执行指令配置为执行上述权利要求1至6任一项提供的基于区块链的调用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述权利要求1至6任一项提供的基于区块链的调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658418.8A CN114390062A (zh) | 2021-12-30 | 2021-12-30 | 基于区块链的调用方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658418.8A CN114390062A (zh) | 2021-12-30 | 2021-12-30 | 基于区块链的调用方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114390062A true CN114390062A (zh) | 2022-04-22 |
Family
ID=81200603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111658418.8A Pending CN114390062A (zh) | 2021-12-30 | 2021-12-30 | 基于区块链的调用方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390062A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108335120A (zh) * | 2018-03-07 | 2018-07-27 | 物数(上海)信息科技有限公司 | 基于区块链的资产溯源方法、装置、电子设备、存储介质 |
CN109344000A (zh) * | 2018-08-16 | 2019-02-15 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台、恢复工具及其故障处理方法、存储介质 |
CN109545301A (zh) * | 2018-11-23 | 2019-03-29 | 浙江工商大学 | 基于区块链Hyperledger Fabric的共享电子病历方法 |
CN110390525A (zh) * | 2019-07-31 | 2019-10-29 | 中国工商银行股份有限公司 | 区块链世界状态的直接访问方法及区块链节点 |
US20200034353A1 (en) * | 2018-07-27 | 2020-01-30 | Oracle International Corporation | System and method for supporting sql-based rich queries in hyperledger fabric blockchains |
CN111191286A (zh) * | 2019-12-28 | 2020-05-22 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
CN112929396A (zh) * | 2019-12-06 | 2021-06-08 | 顺丰科技有限公司 | 基于区块链的业务处理方法、装置、设备和可读存储介质 |
-
2021
- 2021-12-30 CN CN202111658418.8A patent/CN114390062A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108335120A (zh) * | 2018-03-07 | 2018-07-27 | 物数(上海)信息科技有限公司 | 基于区块链的资产溯源方法、装置、电子设备、存储介质 |
US20200034353A1 (en) * | 2018-07-27 | 2020-01-30 | Oracle International Corporation | System and method for supporting sql-based rich queries in hyperledger fabric blockchains |
CN109344000A (zh) * | 2018-08-16 | 2019-02-15 | 北京京东尚科信息技术有限公司 | 区块链网络服务平台、恢复工具及其故障处理方法、存储介质 |
CN109545301A (zh) * | 2018-11-23 | 2019-03-29 | 浙江工商大学 | 基于区块链Hyperledger Fabric的共享电子病历方法 |
CN110390525A (zh) * | 2019-07-31 | 2019-10-29 | 中国工商银行股份有限公司 | 区块链世界状态的直接访问方法及区块链节点 |
CN112929396A (zh) * | 2019-12-06 | 2021-06-08 | 顺丰科技有限公司 | 基于区块链的业务处理方法、装置、设备和可读存储介质 |
CN111191286A (zh) * | 2019-12-28 | 2020-05-22 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
WO2021128733A1 (zh) * | 2019-12-28 | 2021-07-01 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510389B (zh) | 基于区块链的智能合约调用方法、设备及可读存储介质 | |
US8656417B2 (en) | Interface for telecommunication services using uniform resource identifiers | |
JP2009003930A (ja) | 操作可能な検索結果を提供するための方法およびシステム | |
CN109871354B (zh) | 一种文件处理的方法及装置 | |
CN102932471B (zh) | 浏览器登录服务器及其实现浏览器登录的方法和系统 | |
CN108549586B (zh) | 信息处理方法和装置 | |
CN112328413A (zh) | 应用服务的调用方法、装置及系统 | |
CN103580998A (zh) | 一种实现通信行为信息共享的方法及装置 | |
CN110334103B (zh) | 推荐服务的更新方法、提供装置、访问装置和推荐系统 | |
JP2005228183A (ja) | プログラム実行方法、および、プログラム実行のための計算機システム | |
KR100981763B1 (ko) | 발신자 식별 멀티미디어 컨텐츠 설정 방법 및 장치 | |
JP4271722B1 (ja) | 画像認識情報システム、情報サーバ、情報提供方法および情報提供プログラム | |
CN107391100B (zh) | 一种支持多语言账单的配置文件生成方法及装置 | |
CN111078437B (zh) | 验证码的远程调用方法、装置、电子设备及可读存储介质 | |
CN111797334A (zh) | 一种网址访问方法、装置、电子设备及存储介质 | |
CN110838969A (zh) | 一种图片传输方法、装置、设备及介质 | |
CN114390062A (zh) | 基于区块链的调用方法、装置、电子设备及存储介质 | |
CN113791984B (zh) | 接口自动化测试方法及装置 | |
JP6972417B2 (ja) | 携帯端末、システム、アクセス方法、およびプログラム | |
CN115061785A (zh) | 信息下发方法、装置、存储介质及服务器 | |
CN111506644B (zh) | 一种应用数据处理方法、装置和电子设备 | |
CN109274808B (zh) | 通讯录信息管理方法、系统及电子设备和存储介质 | |
CN109688090B (zh) | 通信服务方法 | |
CN106302821A (zh) | 一种数据请求方法及其设备 | |
CN108491448B (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240319 |