CN114448694A - 基于区块链的服务调用方法和装置 - Google Patents
基于区块链的服务调用方法和装置 Download PDFInfo
- Publication number
- CN114448694A CN114448694A CN202210082190.0A CN202210082190A CN114448694A CN 114448694 A CN114448694 A CN 114448694A CN 202210082190 A CN202210082190 A CN 202210082190A CN 114448694 A CN114448694 A CN 114448694A
- Authority
- CN
- China
- Prior art keywords
- service
- calling
- caller
- calling party
- request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012795 verification Methods 0.000 claims abstract description 73
- 230000003993 interaction Effects 0.000 claims description 119
- 238000012790 confirmation Methods 0.000 claims description 58
- 230000008569 process Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
说明书披露一种基于区块链的服务调用方法和装置。该方法包括:服务调用方向区块链系统发送服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;区块链系统响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;区块链系统将所述第一服务的调用信息发送给服务调用方;服务调用方基于所述调用信息发起针对所述第一服务的调用。
Description
技术领域
本说明书涉及区块链技术领域,尤其涉及一种基于区块链的服务调用方法和装置。
背景技术
SaaS(Software-as-a-Service)软件即服务,即通过网络提供软件服务。SaaS平台是运营SaaS软件服务的平台,传统的SaaS平台通过集中管控的方式对外提供SaaS软件服务。
发明内容
有鉴于此,本说明书提供一种基于区块链的服务调用方法和装置。
具体地,本说明书是通过如下技术方案实现的:
一种基于区块链的服务调用方法,包括:
服务调用方向区块链系统发送服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
区块链系统响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
区块链系统将所述第一服务的调用信息发送给服务调用方;
服务调用方基于所述调用信息发起针对所述第一服务的调用。
可选的,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
区块链系统获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
可选的,所述调用信息包括交互策略,所述方法还包括:
服务提供方向区块链系统发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;
区块链系统响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
区块链系统基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
可选的,还包括:
区块链系统在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
可选的,所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
可选的,所述区块链系统包括:服务平台和区块链网络,所述方法还包括:
服务调用方向服务平台发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
服务平台响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
服务平台在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
可选的,还包括:
服务提供方在接收到服务调用方发起的针对所述第一服务的调用时,发送调用确认请求给区块链系统,所述调用确认请求中携带服务调用方标识和第一服务标识;
区块链系统响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果;
服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
可选的,还包括:
服务调用方在第一服务调用完毕后,向区块链系统发送调用结果的存证请求;
区块链系统响应于所述存证请求,存证所述调用结果。
可选的,还包括:
服务提供方向区块链系统发送所述第一服务的被调用记录;
服务调用方向区块链系统发送针对所述第一服务的调用记录;
区块链系统判断所述被调用记录与所述调用记录是否匹配;
区块链系统在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
可选的,还包括:
区块链系统在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
一种基于区块链的服务调用方法,应用于区块链系统,所述方法包括:
接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
可选的,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
可选的,所述调用信息包括交互策略,所述方法还包括:
接收服务提供方发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;
响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
可选的,还包括:
在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
可选的,所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
可选的,所述区块链系统包括:服务平台和区块链网络,所述方法还包括:
服务平台接收服务调用方发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
服务平台响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
服务平台在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
可选的,还包括:
接收服务提供方在接收到服务调用方发起的针对所述第一服务的调用时发送的调用确认请求,所述调用确认请求中携带服务调用方标识和第一服务标识;
响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果。以供服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
可选的,还包括:
接收服务调用方在第一服务调用完毕后发送的调用结果的存证请求;
响应于所述存证请求,存证所述调用结果。
可选的,还包括:
接收服务提供方发送的所述第一服务的被调用记录;
接收服务调用方发送的针对所述第一服务的调用记录;
判断所述被调用记录与所述调用记录是否匹配;
在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
可选的,还包括:
在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
一种基于区块链的服务调用装置,应用于区块链系统,所述装置包括:
请求接收单元,接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
权限校验单元,响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
信息发送单元,将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
一种基于区块链的服务调用装置,应用于区块链系统,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的服务调用逻辑对应的机器可执行指令,所述处理器被促使:
接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
采用上述实施方式,由区块链系统为服务调用提供权限校验,并在校验服务调用方具有调用服务的权限后,将服务的调用信息返回给服务调用方,服务调用方可基于调用信息直接发起服务调用。
一方面,在权限校验通过后,服务调用方可基于调用信息直接发起服务调用,无需经过中心化平台,大大降低了监管合规风险。同时,也可降低由于中心化平台不稳定导致的服务访问不稳定风险。
另一方面,采用区块链系统来实现服务调用权限的校验,权限校验结果可追溯,透明度高,可信度强。
附图说明
图1是本说明书一示例性实施例示出的一种基于区块链的服务调用方法的流程示意图。
图2是本说明书一示例性实施例示出的一种服务订阅方法的流程示意图。
图3是本说明书一示例性实施例示出的一种服务提供方进行服务调用确认的方法的流程示意图。
图4是本说明书一示例性实施例示出的一种基于区块链的服务调用装置所在电子设备的一种硬件结构图。
图5是本说明书一示例性实施例示出的一种基于区块链的服务调用装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
传统SaaS平台通过集中管控的方式对外提供SaaS软件服务,中心化程度高,系统稳定性较差,透明程度低,并且存在监管合规风险。
本说明书提供一种基于区块链的服务调用方案,服务提供方和服务调用方通过区块链系统进行关联,实现服务调用,解决了传统SaaS平台中心化所带来的系统稳定性差、透明度低等问题,并且大大降低了监管合规风险。
上述服务通常为SaaS软件。
上述服务提供方通常为SaaS软件的开发方,服务提供方可基于区块链系统发布其开发的SaaS软件。
上述服务调用方通常为SaaS软件的使用方,例如采购SaaS软件的中小企业等。
上述区块链系统可包括区块链网络和服务平台。
其中,区块链网络可以为任意类型的区块链网络。在实际应用中,可以采用公有链、私有链、或者联盟链中的任意一种。
区块链网络中可部署有智能合约,智能合约是可以被交易触发执行的合约,可实现调用方权限的校验、路由策略的生成等逻辑。智能合约可以通过代码的形式定义。其部署方式可参考相关技术,本说明书在此不再一一赘述。
服务平台可基于区块链网络进行搭建,可为服务提供方和服务调用方提供订阅、权限校验记录的查询等功能。服务提供方和服务调用方可通过服务平台与区块链网络进行交互,当然,在其他例子中,也可不通过服务平台与区块链网络进行交互。
图1是本说明书一示例性实施例示出的一种基于区块链的服务调用方法的流程示意图。
请参考图1,所述基于区块链的服务调用方法可包括以下步骤:
步骤102,服务调用方向区块链系统发送服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识。
步骤104,区块链系统响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息。
本说明书中,服务调用方在与服务提供方达成服务的采购合作后,区块链系统可存证服务调用方与其采购的服务之间的采购映射关系。
上述采购映射关系可由服务销售平台存证至区块链系统。例如,服务调用方和服务提供方在服务销售平台中达成服务采购合作后,服务销售平台可将服务调用方与其采购的服务发送至区块链系统存证。
上述采购映射关系也可由服务调用方或服务提供方在二者达成服务的采购合作后,发送至区块链系统存证,本说明书对此不作特殊限制。
在本说明书中,服务调用方在需要进行服务调用时,可向区块链系统发送服务调用请求,并在所述服务调用请求中添加调用方标识和其需要调用的服务的服务标识。
其中,所述调用方标识可表征唯一的调用方,所述服务标识可表征唯一的服务。
所述调用方标识可以为唯一的随机数,也可以是基于调用方信息生成的唯一标识,例如:可基于调用方名称、调用方地址位置等信息生成调用方标识。类似的,所述服务标识也可以为唯一的随机数,也可以是基于服务生成的唯一标识,例如:可基于服务接口、服务版本信息、服务提供方标识等生成服务标识。
以服务调用方需要调用第一服务为例,服务调用方可在调用请求中添加服务调用方标识和第一服务标识。
区块链系统在接收到所述服务调用请求后,可调用智能合约中定义的权限校验逻辑,以校验服务调用方是否具有调用第一服务的权限。
所述权限校验逻辑可基于调用方标识和第一服务标识通过判断区块链系统中是否存证有服务调用方和第一服务之间的采购映射关系来确定服务调用方是否具有调用第一服务的权限。
若区块链系统中已存证有服务调用方和第一服务之间的采购映射关系,可确定服务调用方具有调用第一服务的权限,并可获取区块链系统中已存证的所述第一服务的调用信息。
所述调用信息可包括用于表征服务调用路径的路由策略,例如:调用服务时使用的通信协议、服务器机房等。
所述调用信息也可包括用于约定双方交互规则的交互策略,例如:幂等判断方法、版本兼容信息、重试机制、服务返回数据中的加密字段等。
若区块链系统中未存证服务调用方和第一服务之间的采购映射关系,可确定服务调用方不具有调用第一服务的权限,可向服务调用方返回无调用权限的提示。
步骤106,区块链系统将所述第一服务的调用信息发送给服务调用方。
步骤108,服务调用方基于所述调用信息发起针对所述第一服务的调用。
基于前述步骤104,区块链系统在获取到第一服务的调用信息后,可将该调用信息发送给服务调用方,服务调用方进而可基于调用信息直接向第一服务发起服务调用。
采用上述实施方式,由区块链系统为服务调用提供权限校验,并在校验服务调用方具有调用服务的权限后,将服务的调用信息返回给服务调用方,服务调用方可基于调用信息直接发起服务调用。
一方面,在权限校验通过后,服务调用方可基于调用信息直接发起服务调用,无需经过中心化平台,大大降低了监管合规风险。同时,也可降低由于中心化平台不稳定导致的服务访问不稳定风险。
另一方面,采用区块链系统来实现服务调用权限的校验,权限校验结果可追溯,透明度高,可信度强。
下面结合具体的应用场景,分别从服务发布、服务订阅、服务调用、服务监控与计费等方面来对本说明书提供的基于区块链的服务调用方案进行详细说明。
本说明书中,服务调用方和服务提供方可预先在区块链系统中注册,通过注册,可将自身的身份信息上传至区块链系统存证。
所述身份信息可包括:名称、纳税人识别号、身份标识、公钥、注册时间等。其中,公钥可由区块链系统在服务调用方和服务提供方注册时为其生成;也可由其他平台生成,服务调用方和服务提供方在注册时,将自身公钥上传至区块链系统。公钥与私钥组成密钥对,可用于信息的加解密,确保信息安全。
本说明书中,服务调用方和服务提供方可调用区块链系统中部署的智能合约实现注册过程。
以服务调用方为例,可向区块链系统发送注册请求,区块链系统响应该注册请求,可调用智能合约中定义的注册逻辑,将身份信息存证到智能合约对应的合约账户中,例如,可作为该合约账户中合约状态的取值。
在其他例子中,也可不通过智能合约实现注册。例如,服务调用方发送身份信息存证交易至区块链系统,区块链系统可对该身份信息存证交易进行合法性验证,在合法性验证通过后,可由区块链系统中的区块链节点对该身份信息存证交易进行共识,并可在共识处理后,将该身份信息存证交易添加至区块的区块体中,实现对服务调用方身份信息的存证。
服务调用方和服务提供方可在完成注册后,执行服务发布、服务订阅、服务调用等过程。后续主要以第一服务的发布、订阅、调用为例进行描述。
一、服务发布
服务提供方在区块链系统中完成注册后,可于区块链系统进行服务发布。
在本说明书中,服务提供方可调用区块链系统中部署的智能合约实现服务的发布。
例如,服务提供方向区块链系统发送第一服务发布请求,并可在该第一服务发布请求中携带第一服务的交互策略和调用方标识。
其中,所述调用方标识为购买第一服务的调用方的唯一标识。所述第一服务发布请求中的调用方标识的数量可以是1个,也可以是多个。
对应于实际的业务场景,本实施例中的第一服务可以是定制化服务,也可以标准化服务。
例如,服务调用方采购定制化的第一服务,服务提供方进而根据服务调用方的需求定制其需要的第一服务,然后进行发布。在这样的情况下,服务提供方发送的第一服务发布请求中,往往携带定制该第一服务的服务调用方标识。
再例如,服务提供方提供的是标准化的第一服务,该标准化的第一服务可被多个服务调用方采购。在这样的情况下,服务提供方发送的服务发布请求中,可携带有多个采购该标准化的第一服务的服务调用方标识。
表1
请参考表1的示例,区块链系统中可维护服务、服务的交互策略以及服务调用方之间的对应关系。当然,表1仅为示例性的说明,在实际应用中,区块链系统可能不会组织这样的表格,本说明书对此不作特殊限制。
服务提供方在发布时,还可同时发布服务提供方标识、第一服务的版本号、接口名称、服务类型(实时服务、回调服务等)、访问模式、接口描述、发布时间等。这些信息可连同交互策略和调用方标识一起添加至服务发布请求中,也可单独发送,本说明书对此不作特殊限制。
在本实施例中,区块链系统响应上述第一服务发布请求,可调用智能合约中定义的服务发布逻辑,将上述交互策略和调用方标识存证到智能合约对应的合约账户中。
在进行交互策略的存证时,服务发布逻辑可先获取调用方公钥,然后采用调用方公钥对该交互策略进行加密后再存证。
其中,调用方公钥可由服务发布逻辑基于调用方标识查找。
在其他例子中,也可不对交互策略进行加密存证。在进行加密存证的情况下,也可不通过智能合约实现服务发布,例如,服务调用方可发送第一服务信息存证交易至区块链系统,并在该第一服务信息存证交易中携带第一服务的交互策略、服务调用方标识等信息。区块链系统可对该第一服务信息存证交易进行合法性验证,并在合法性验证通过后,可由区块链系统中的区块链节点对该第一服务信息存证交易进行共识,并可在共识处理后,将该第一服务信息存证交易添加至区块的区块体中,实现对服务交互策略的存证。
在其他例子中,服务提供方向区块链系统发送的第一服务发布请求中也可不携带调用方标识。
例如,服务提供方提供的第一服务是标准化服务,其可仅将第一服务的交互策略添加至第一服务发布请求中。区块链系统在接收到该第一服务发布请求后,存证第一服务的交互策略即可。
二、服务订阅
服务调用方在和服务提供方达成服务采购合作后,可于区块链系统订阅其采购的服务的状态。
图2是本说明书一示例性实施例示出的一种服务订阅方法的流程示意图。
请参考图2,本说明书记载的区块链系统可包括服务平台和区块链网络,所述服务订阅方法可包括以下步骤:
步骤202,服务调用方向服务平台发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识。
在本实施例中,所述第二服务标识是服务调用方已采购的服务的标识,所述服务订阅请求中的第二服务标识的数量可以是1个,也可以是多个,本说明书对此不作特殊限制。
步骤204,服务平台响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更。
基于前述步骤202,服务平台在接收到所述服务订阅请求后,可先校验服务调用方是否具有订阅第二服务的权限。
若仅向采购第二服务的服务调用方提供服务订阅,服务平台可基于服务订阅请求中的调用方标识判断服务调用方是否已采购第二服务。
在服务调用方已采购第二服务的情况下,可确定服务调用方具有订阅第二服务的权限。
在服务调用方未采购第二服务的情况下,可确定服务调用方不具有订阅第二服务的权限。
例如,服务平台可基于智能合约进行订阅权限的校验,调用区块链网络中部署的智能合约中定义的权限校验逻辑,基于调用方标识查找区块链网络中存证的采购映射表,以校验服务调用方是否已采购第二服务。其具体过程可参考前述服务调用过程中对权限的校验。
若可向关注第二服务的各服务调用方提供服务订阅服务,服务平台可基于服务订阅请求中的调用方标识判断服务调用方是否已关注第二服务。
其中,服务调用方对服务的关注信息可存储至服务平台,服务平台可基于自身存储的关注信息进行判断。服务调用方对服务的关注信息也可存证至区块链网络,服务平台通过智能合约来实现上述判断,本说明书对此不作特殊限制。
在服务调用方已关注第二服务的情况下,可确定服务调用方具有订阅第二服务的权限。
在服务调用方未关注第二服务的情况下,可确定服务调用方不具有订阅第二服务的权限。
在本实施例中,在确定服务调用方具有订阅第二服务的权限后,可监听区块链网络中第二服务是否发生变更。
在本实施例中,服务提供方可在服务升级、服务交互策略发生变化等情况下,将服务的最新信息更新至区块链网络,例如:服务提供方可通过调用智能合约将更新后的第二服务信息存证至合约账户中。服务平台进而可通过监听合约账户来确定第二服务是否发生变更。
步骤206,服务平台在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
基于前述步骤204,服务平台可在监听到第二服务发生变更时,发送服务变更通知给订阅第二服务的服务调用方。
举例来说,服务提供方升级了第二服务,第二服务的版本由1.0升级为2.0,服务提供方将第二服务的新版本号2.0以及新版本的更新信息发送至区块链网络存证。服务平台在监听到该版本变更后,可向订阅第二服务的服务调用方B和服务调用方C发送第二服务的变更通知。
该变更通知中可携带第二服务的新版本号2.0以及新版本的更新信息。例如,新版本优化了UI交互页面等。
在本实施例中,服务平台可在确定服务调用方具有订阅第二服务的权限的情况下,与服务调用方建立长连接,服务平台可通过服务调用方发送的心跳报文来确定服务调用方是否在线。在监听到第二服务发生变更时,若服务调用方在线,可将服务变更通知发送至服务调用方。
当然,在其他例子中,服务平台也可采用其他的方式实现服务变更通知的发送。
本说明书中,区块链系统可在服务发生变更时,向订阅变更服务的服务调用方发送服务变更通知,以便服务调用方及时了解到服务的最新信息,提升了服务调用方的用户体验,也提升了服务调用方的粘性。
三、服务调用
服务调用方在与服务提供方达成第一服务的采购合作后,若要调用第一服务,可通过区块链系统获取调用第一服务所需的路由策略和交互策略。
在本说明书中,服务调用方可向区块链系统发送服务调用请求,并可在该服务调用请求中携带调用方标识和第一服务标识。
其中,所述第一服务标识可由服务提供方和服务调用方达成采购合作后,由服务提供方告知服务调用方。
区块链系统在接收到所述服务调用请求后,可调用智能合约中定义的权限校验逻辑基于调用方标识查找区块链系统中存证的采购映射关系,以校验服务调用方是否具有调用第一服务的权限。
表2
请参考表2所示的采购关系映射表,权限校验逻辑可基于调用方标识和第一服务标识,查找上述采购关系映射表,以确定所述采购关系映射表中是否存储有调用方标识和第一服务标识之间的映射关系。
若采购关系映射表中未存储调用方标识和第一服务标识之间的映射关系,可确定服务调用方不具有调用第一服务的权限。
例如,调用方标识为调用方B,采购关系映射表中未存储调用方A与第一服务之间的映射关系,可确定调用方A不具有调用第一服务的权限,进而可向调用方B返回无调用权限的提示。
若采购关系映射表中存储有调用方标识和第一服务标识之间的映射关系,可确定服务调用方具有调用第一服务的权限。
例如,调用方标识为调用方A,采购关系映射表中存储有调用方A与第一服务之间的映射关系,可确定调用方A具有调用第一服务的权限。
本说明书采用区块链系统存证服务调用方与服务之间的采购映射关系,服务调用方在进行服务调用时,由区块链系统来实现服务调用权限的校验,权限校验结果可追溯,透明度高,可信度强。
在本说明书中,在确定服务调用方具有调用第一服务的权限的情况下,区块链系统可获取第一服务的调用信息,并可将获取到的调用信息返回给服务调用方。所述调用信息可包括路由策略和交互策略。
其中,路由策略可用于表征服务调用路径。
区块链系统在服务调用方具有调用所述第一服务的权限的情况下,可调用智能合约中定义的路由策略生成逻辑基于路由因子为本次调用生成对应的路由策略。
所述路由因子可包括:调用方地理位置、调用方设备信息、服务的业务属性等。其中,部分路由因子可由服务调用方基于自身情况预先指定,例如调用方预算高,可指定高保级别的路由因子等。
举例来说,假设获取到的路由因子包括:调用方位于北京,服务的业务属性为金融服务,调用方级别为高保、合规级别等,路由策略生成逻辑基于上述路由因子可生成本次调用对应的路由策略:经专线调用北京金融服务专用机房,而非经公网调用一般服务机房。
在本说明书中,路由策略生成逻辑可生成一条路由策略,也可生成多条路由策略。若生成多条路由策略返回给服务调用方,服务调用方可在某条路由策略故障时,选择其他路由策略实现针对第一服务的调用,对于服务调用方而言,稳定性更高。
本说明书区块链系统响应于服务提供方的服务调用请求,可基于路由因子为服务调用方动态确定本次调用使用的路由策略。一方面,可基于业务属性选择合规线路。另一方面,服务调用方可基于预算等情况指定路由因子,使得生成的路由策略满足服务调用方的个性化预算需求。再一方面,区块链系统生成的路由策略可追溯,便于后续监管审查。
参考前述服务发布过程的描述,交互策略可由服务提供方在发布服务时存证至区块链系统,例如,存证的交互策略是采用调用方公钥加密后的加密交互策略。
在本说明书中,在确定服务调用方具有调用第一服务的权限的情况下,区块链系统可基于第一服务标识获取已存储的第一服务的加密交互策略。该加密交互策略的获取过程也可由智能合约来执行,本说明书对此不作特殊限制。
仍以表1所示的服务、服务的交互策略以及服务调用方之间的对应关系,区块链系统在确定服务调用方A具有调用第一服务的权限的情况下,可获取第一服务和服务调用方A对应的第一交互策略,该第一交互策略已采用服务调用方A的公钥加密。区块链系统可将该第一交互策略返回至服务调用方A,服务调用方A可采用自身私钥对该第一交互策略进行解密,得到未加密的交互策略。
当然,若区块链系统中存证的第一交互策略是未采用服务调用方A公钥进行加密的交互策略时,在获取到第一交互策略后,可查找服务调用方A的公钥,并可采用该公钥对第一交互策略进行加密后返回至服务调用方A。可选的,也可不对第一交互策略进行加密,可将其直接返回给服务调用方A,本说明书对此不作特殊限制。
在其他例子中,区块链系统在获取到采用调用方公钥进行加密的加密交互策略后,还可采用策略秘钥对加密交互策略进行二次加密,然后将策略秘钥和二次加密后的交互策略返回至服务调用方,服务调用方可先采用策略秘钥对二次加密的交互策略进行一次解密,然后再采用自身私钥进行二次解密,进而得到未加密的交互策略。
其中,策略秘钥可基于第一服务提供方的根秘钥和第一服务标识生成。所述根秘钥可在服务提供方本地随机生成,并可由服务提供方在注册时上传至区块链系统。
本说明书采用策略秘钥对交互策略进行二次加密,由于不同服务的服务标识不同,对其交互策略进行二次加密的策略秘钥也不同,进而实现服务级别的秘钥隔离。并且,若服务标识基于服务版本等信息生成,即便是相同的服务,不同服务版本对应的策略秘钥也不同,实现了版本级别的秘钥隔离。更细粒度的秘钥隔离,可大大降低秘钥传播所引发的安全风险,安全性更高。
在本说明书中,服务调用方在获取到本次调用需要使用的路由策略和交互策略后,可基于路由策略和交互策略发起针对第一服务的调用。
仍以前述举例为例,调用方A在获取到路由策略经专线调用北京金融服务专用机房以及幂等判断方法、重试机制、服务返回数据中的加密字段后,可经专线调用北京金融服务专用机房从而发起针对第一服务的调用。
在本说明书中,可选的,区块链系统在向服务调用方发送第一服务的调用信息前,还可判断服务调用方是否稳定,例如,基于服务调用方的心跳报文判断服务调用方是否稳定,并可在服务调用方稳定的情况下,将第一服务的调用信息发送至服务调用方。
本说明书中,服务调用方在接收到第一服务的调用信息后,可直接向发起针对第一服务的调用。第一服务的服务提供方在接收到该调用后,可直接为服务调用方提供第一服务,也可请求区块链系统进行服务调用的权限校验确认,并可在区块链系统返回已通过权限校验的确认结果后,为服务调用方提供第一服务,本说明书对此不作特殊限制。
图3是本说明书一示例性实施例示出的一种服务提供方进行服务调用确认的方法的流程示意图。
请参考图3,所述服务提供方进行服务调用确认的方法可包括以下步骤:
步骤302,服务提供方在接收到服务调用方发起的针对第一服务的调用时,发送调用确认请求给区块链系统,所述调用确认请求中携带服务调用方标识和第一服务标识。
本说明书中,服务提供方在接收到服务调用方发起的针对第一服务的调用时,可发送调用确认请求给区块链系统,以请求区块链系统确认是否已为该调用执行过权限校验,并且权限校验的结果为通过。
步骤304,区块链系统响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果。
本说明书中,区块链系统可记录其对服务调用请求的权限校验结果,在接收到服务提供方发送的调用确认请求后,可基于记录的权限校验结果判断是否执行过该服务调用的权限校验,以及对应的权限校验结果。
举例来说,假设,区块链系统接收到服务调用方发送的服务调用请求,该调用请求携带调用方标识A以及第一服务标识,经权限校验,区块链系统确定服务调用方A具有调用第一服务的权限,进而可以记录该权限校验结果。
服务调用方A向第一服务发起调用,第一服务的服务提供方在接收到该调用后,可发送调用确认请求给区块链系统,该调用确认请求中携带调用方标识A以及第一服务标识。
区块链系统响应于所述调用确认请求,查询记录的权限校验结果,确定曾确认过服务调用方A具有调用第一服务的权限,则可向服务提供方返回已通过权限校验的确认结果。
本说明书中,区块链系统可将权限校验结果存证至区块链网络,在接收到服务提供方发送的调用确认请求后,可于区块链网络中查询权限校验结果。采用区块链网络进行权限校验结果的存证与查询,可信度更高。
例如,智能合约中定义的权限校验逻辑在执行完毕权限校验后,可将权限校验结果存储至合约账户中。在为服务提供方进行服务调用确认时,可在合约账户中查询权限校验结果。在实际实现中,可为权限校验结果添加时间标签,若在预定时间内(例如30分钟)接收到来自服务提供方的调用确认请求,可确认针对所述第一服务的调用已通过权限校验。
本说明书中,区块链系统也可将校验结果存储至服务平台,在接收到服务提供方发送的调用确认请求后,可由服务平台查询其存储的权限校验结果。采用服务平台进行权限校验结果的存储与查询,可有效降低区块链网络的处理压力。
步骤306,服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
基于前述步骤304,服务提供方若接收到已通过权限校验的确认结果,可确定服务调用方发起的本次调用已经过区块链系统的权限校验,可为服务调用方提供第一服务。
服务提供方若接收到未通过权限校验的确认结果,可确定服务调用方发起的本次调用未经过区块链系统的权限校验,服务调用方可能从其他非法途径获知到了调用信息,进而可以向服务调用方返回无权限的回复。
本说明书中,服务提供方在接收到服务调用后,向区块链系统发送调用确认请求,以请求区块链系统确认是否为本次调用执行过权限校验,并在区块链系统返回已通过权限校验的确认结果后,为服务调用方提供服务。在提供服务前,于区块链系统确认服务调用方是否通过权限校验,可识别出服务调用方从非法途径获取到调用信息从而发起的服务调用,可有效降低非法调用给服务提供方来带的损失。
可选的,服务调用方在第一服务调用完毕后,还可向区块链系统发送调用结果的存证请求,区块链系统响应于所述存证请求,存证所述调用结果。
后续,若第三方对服务调用方给出的调用结果存在异议,可基于区块链系统存证的调用结果进行确认,进而实现对服务调用结果的追溯。
举例来说,第一服务是身份验证类服务,可为用户提供身份验证服务。用户张三在服务调用方A处办理业务,服务调用方A调用第一服务以请求对张三进行身份验证,第一服务返回的身份验证结果是未通过。服务调用方A可将该身份验证结果存证至区块链系统。
张三提供的是真实的身份信息,但其发现身份验证未通过,进行申诉。在申诉过程中,各方可于区块链系统中查询到身份验证未通过的结果是第一服务提供的,张三进而可向第一服务的服务提供方提出更正,无需向服务调用方A提出更正。
四、服务监控与计费
本说明书中,区块链系统还可监控服务调用,并可实现服务调用的计费管理。
在实际应用中,服务提供方和服务调用方达成的服务采购合作通常以服务调用次数为计费单位,区块链系统可协助服务提供方和服务调用方进行服务调用的计费。
以服务调用方A调用服务提供方提供的第一服务为例,服务提供方可定期向区块链系统发送第一服务的被服务调用方A调用的调用记录,类似的,服务调用方A也可定期向区块链系统发送其调用第一服务的调用记录。
所述调用记录中可记录有服务调用时间、路由策略等信息。
区块链系统可判断上述调用记录和被调用记录是否匹配。
若所述被调用记录与所述调用记录匹配,区块链系统可基于调用记录或被调用记录统计第一服务的调用次数,进而执行计费。
若所述被调用记录与所述调用记录不匹配,说明双方记录的调用次数不一致,区块链系统可向双方发送错误提示,以供双方查询记录不匹配的原因。
可选的,区块链系统还可以基于调用记录和被调用记录中记录的调用时间进一步确定出哪次调用不匹配,进而发送至双方确认。
可选的,若服务提供方和服务调用方达成的第一服务的采购合作中约定了调用次数,区块链系统可在确定上述被调用记录与上述调用记录匹配时,判断实际产生的调用次数是否超出合作时约定的调用次数,并可在实际调用次数超出约定调用次数时,向双方发送提示信息,以实现服务调用过程的监控。
当然,在对调用次数要求更严格的场景中,区块链系统也可在接收到服务调用方发送服务调用请求后,进行调用次数的判断,例如判断服务调用方的调用次数是否超出约定调用次数,若超出,可直接向服务调用方返回调用失败的提示,若未超出可执行调用信息的返回步骤,本说明书对此不作特殊限制。
与前述基于区块链的服务调用方法的实施例相对应,本说明书还提供了基于区块链的服务调用装置的实施例。
本说明书基于区块链的服务调用装置的实施例可以应用于电子设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书基于区块链的服务调用装置所在电子设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图5是本说明书一示例性实施例示出的一种基于区块链的服务调用装置的框图。
请参考图5,所述基于区块链的服务调用装置400可以应用在图4所示的电子设备上,该电子设备可以作为区块链系统中的电子设备,例如当区块链系统包括服务平台和区块链网络时,该电子设备可以作为区块链网络中的节点设备。
所述基于区块链的服务调用装置400可包括:请求接收单元401、权限校验单元402以及信息发送单元403。
其中,请求接收单元401,接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
权限校验单元402,响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
信息发送单元403,将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
可选的,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
可选的,所述调用信息包括交互策略,所述装置还包括:
服务发布单元404,接收服务提供方发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
可选的,在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
可选的,所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
可选的,所述装置还包括:
调用确认单元405,接收服务提供方在接收到服务调用方发起的针对所述第一服务的调用时发送的调用确认请求,所述调用确认请求中携带服务调用方标识和第一服务标识;响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果。以供服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
可选的,所述装置还包括:
结果存证单元406,接收服务调用方在第一服务调用完毕后发送的调用结果的存证请求;响应于所述存证请求,存证所述调用结果。
可选的,所述装置还包括:
记录匹配单元407,接收服务提供方发送的所述第一服务的被调用记录;接收服务调用方发送的针对所述第一服务的调用记录;判断所述被调用记录与所述调用记录是否匹配;在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
可选的,在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
可选的,当区块链系统包括服务平台和区块链网络时,应用于服务平台的上述装置:
接收服务调用方发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与前述基于区块链的服务调用方法的实施例相对应,本说明书还提供一种基于区块链的服务调用装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的服务调用逻辑对应的机器可执行指令,所述处理器被促使:
接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
可选的,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
可选的,所述调用信息包括交互策略,所述方法还包括:
接收服务提供方发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;
响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
可选的,还包括:
在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
可选的,所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
可选的,还包括:
接收服务提供方在接收到服务调用方发起的针对所述第一服务的调用时发送的调用确认请求,所述调用确认请求中携带服务调用方标识和第一服务标识;
响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果。以供服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
可选的,还包括:
接收服务调用方在第一服务调用完毕后发送的调用结果的存证请求;
响应于所述存证请求,存证所述调用结果。
可选的,还包括:
接收服务提供方发送的所述第一服务的被调用记录;
接收服务调用方发送的针对所述第一服务的调用记录;
判断所述被调用记录与所述调用记录是否匹配;
在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
可选的,还包括:
在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
可选的,区块链系统包括:服务平台和区块链网络,通过读取并执行所述存储器存储的与基于区块链的服务调用逻辑对应的机器可执行指令,应用于服务平台的处理器被促使:
接收服务调用方发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
与前述基于区块链的服务调用方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
可选的,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
可选的,所述调用信息包括交互策略,所述方法还包括:
接收服务提供方发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;
响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
可选的,还包括:
在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
可选的,所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
可选的,还包括:
接收服务提供方在接收到服务调用方发起的针对所述第一服务的调用时发送的调用确认请求,所述调用确认请求中携带服务调用方标识和第一服务标识;
响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果。以供服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
可选的,还包括:
接收服务调用方在第一服务调用完毕后发送的调用结果的存证请求;
响应于所述存证请求,存证所述调用结果。
可选的,还包括:
接收服务提供方发送的所述第一服务的被调用记录;
接收服务调用方发送的针对所述第一服务的调用记录;
判断所述被调用记录与所述调用记录是否匹配;
在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
可选的,还包括:
在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
可选的,区块链系统包括:服务平台和区块链网络,该程序被服务平台的处理器执行时可实现:
接收服务调用方发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (22)
1.一种基于区块链的服务调用方法,包括:
服务调用方向区块链系统发送服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
区块链系统响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
区块链系统将所述第一服务的调用信息发送给服务调用方;
服务调用方基于所述调用信息发起针对所述第一服务的调用。
2.根据权利要求1所述的方法,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
区块链系统获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
3.根据权利要求1所述的方法,所述调用信息包括交互策略,所述方法还包括:
服务提供方向区块链系统发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;
区块链系统响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
区块链系统基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
4.根据权利要求3所述的方法,还包括:
区块链系统在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
5.根据权利要求4所述的方法,
所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
6.根据权利要求1所述的方法,所述区块链系统包括:服务平台和区块链网络,所述方法还包括:
服务调用方向服务平台发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
服务平台响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
服务平台在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
7.根据权利要求1所述的方法,还包括:
服务提供方在接收到服务调用方发起的针对所述第一服务的调用时,发送调用确认请求给区块链系统,所述调用确认请求中携带服务调用方标识和第一服务标识;
区块链系统响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果;
服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
8.根据权利要求1所述的方法,还包括:
服务调用方在第一服务调用完毕后,向区块链系统发送调用结果的存证请求;
区块链系统响应于所述存证请求,存证所述调用结果。
9.根据权利要求1所述的方法,还包括:
服务提供方向区块链系统发送所述第一服务的被调用记录;
服务调用方向区块链系统发送针对所述第一服务的调用记录;
区块链系统判断所述被调用记录与所述调用记录是否匹配;
区块链系统在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
10.根据权利要求9所述的方法,还包括:
区块链系统在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
11.一种基于区块链的服务调用方法,应用于区块链系统,所述方法包括:
接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
12.根据权利要求11所述的方法,所述调用信息包括用于表征服务调用路径的路由策略,所述路由策略的获取过程,包括:
获取路由因子,调用智能合约中定义的路由策略生成逻辑基于所述路由因子为本次调用生成路由策略。
13.根据权利要求11所述的方法,所述调用信息包括交互策略,所述方法还包括:
接收服务提供方发送第一服务发布请求,所述第一服务发布请求中携带所述第一服务的交互策略和调用方标识;
响应于所述第一服务发布请求,调用智能合约中定义的服务发布逻辑采用调用方公钥对所述交互策略进行加密后存储;
所述交互策略的获取过程,包括:
基于所述第一服务标识获取已存储的所述第一服务的加密交互策略,将所述加密交互策略作为返回给服务调用方的交互策略。
14.根据权利要求13所述的方法,还包括:
在获取到加密交互策略后,采用策略秘钥对所述加密交互策略进行二次加密,并将二次加密后的交互策略和所述策略秘钥发送给服务调用方。
15.根据权利要求14所述的方法,
所述策略密钥基于第一服务提供方的根秘钥和第一服务标识生成。
16.根据权利要求11所述的方法,所述区块链系统包括:服务平台和区块链网络,所述方法还包括:
服务平台接收服务调用方发送服务订阅请求,所述服务订阅请求中携带调用方标识和第二服务标识;
服务平台响应于所述服务订阅请求,监听区块链网络以获知第二服务是否发生变更;
服务平台在监听到所述第二服务发生变更时,基于所述调用方标识向服务调用方发送服务变更通知。
17.根据权利要求11所述的方法,还包括:
接收服务提供方在接收到服务调用方发起的针对所述第一服务的调用时发送的调用确认请求,所述调用确认请求中携带服务调用方标识和第一服务标识;
响应于所述调用确认请求,确认针对所述第一服务的调用是否已通过权限校验,并在确认针对所述第一服务的调用已通过权限校验的情况下,向服务提供方返回已通过权限校验的确认结果,以供服务提供方在接收到所述已通过权限校验的确认结果后,为服务调用方提供第一服务。
18.根据权利要求11所述的方法,还包括:
接收服务调用方在第一服务调用完毕后发送的调用结果的存证请求;
响应于所述存证请求,存证所述调用结果。
19.根据权利要求11所述的方法,还包括:
接收服务提供方发送的所述第一服务的被调用记录;
接收服务调用方发送的针对所述第一服务的调用记录;
判断所述被调用记录与所述调用记录是否匹配;
在所述被调用记录与所述调用记录不匹配的情况下,发送错误提示。
20.根据权利要求19所述的方法,还包括:
在所述被调用记录与所述调用记录匹配的情况下,基于所述被调用记录或所述调用记录对所述第一服务的调用进行计费。
21.一种基于区块链的服务调用装置,应用于区块链系统,所述装置包括:
请求接收单元,接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
权限校验单元,响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
信息发送单元,将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
22.一种基于区块链的服务调用装置,应用于区块链系统,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的服务调用逻辑对应的机器可执行指令,所述处理器被促使:
接收服务调用方发送的服务调用请求,所述服务调用请求中携带调用方标识和第一服务标识;
响应于所述服务调用请求,调用智能合约中定义的权限校验逻辑基于所述调用方标识和所述第一服务标识判断服务调用方是否具有调用第一服务的权限,并在服务调用方具有调用所述第一服务的权限的情况下,获取所述第一服务的调用信息;
将所述第一服务的调用信息发送给服务调用方,以供服务调用方基于所述调用信息发起针对所述第一服务的调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210082190.0A CN114448694B (zh) | 2022-01-24 | 2022-01-24 | 基于区块链的服务调用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210082190.0A CN114448694B (zh) | 2022-01-24 | 2022-01-24 | 基于区块链的服务调用方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114448694A true CN114448694A (zh) | 2022-05-06 |
CN114448694B CN114448694B (zh) | 2024-04-09 |
Family
ID=81370296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210082190.0A Active CN114448694B (zh) | 2022-01-24 | 2022-01-24 | 基于区块链的服务调用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114448694B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024187977A1 (zh) * | 2023-03-13 | 2024-09-19 | 华为云计算技术有限公司 | 一种接口调用方法以及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190123889A1 (en) * | 2017-10-20 | 2019-04-25 | Sap Se | Document flow tracking using blockchain |
CN111597543A (zh) * | 2020-05-06 | 2020-08-28 | 国网电力科学研究院有限公司 | 基于区块链智能合约的广域进程访问权限认证方法及系统 |
CN112905364A (zh) * | 2021-03-31 | 2021-06-04 | 重庆度小满优扬科技有限公司 | 微服务的调用方法与电子设备 |
CN113094190A (zh) * | 2021-04-09 | 2021-07-09 | 中国工商银行股份有限公司 | 微服务调用方法、调用装置、电子设备和存储介质 |
CN113378120A (zh) * | 2021-06-28 | 2021-09-10 | 北京安天网络安全技术有限公司 | 基于区块链的版本授权控制方法、装置、设备及存储介质 |
CN113538019A (zh) * | 2021-09-14 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 食品溯源信息的存证方法和装置 |
CN114500119A (zh) * | 2022-04-15 | 2022-05-13 | 恒生电子股份有限公司 | 区块链服务的调用方法和装置 |
-
2022
- 2022-01-24 CN CN202210082190.0A patent/CN114448694B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190123889A1 (en) * | 2017-10-20 | 2019-04-25 | Sap Se | Document flow tracking using blockchain |
CN111597543A (zh) * | 2020-05-06 | 2020-08-28 | 国网电力科学研究院有限公司 | 基于区块链智能合约的广域进程访问权限认证方法及系统 |
CN112905364A (zh) * | 2021-03-31 | 2021-06-04 | 重庆度小满优扬科技有限公司 | 微服务的调用方法与电子设备 |
CN113094190A (zh) * | 2021-04-09 | 2021-07-09 | 中国工商银行股份有限公司 | 微服务调用方法、调用装置、电子设备和存储介质 |
CN113378120A (zh) * | 2021-06-28 | 2021-09-10 | 北京安天网络安全技术有限公司 | 基于区块链的版本授权控制方法、装置、设备及存储介质 |
CN113538019A (zh) * | 2021-09-14 | 2021-10-22 | 支付宝(杭州)信息技术有限公司 | 食品溯源信息的存证方法和装置 |
CN114500119A (zh) * | 2022-04-15 | 2022-05-13 | 恒生电子股份有限公司 | 区块链服务的调用方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024187977A1 (zh) * | 2023-03-13 | 2024-09-19 | 华为云计算技术有限公司 | 一种接口调用方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114448694B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712395B (zh) | 基于区块链的账号管理方法、装置、服务器及存储介质 | |
US10708060B2 (en) | System and method for blockchain-based notification | |
CN108898390B (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
CN108734028B (zh) | 基于区块链的数据管理方法、区块链节点及存储介质 | |
WO2019179537A2 (en) | System and method for implementing a resolver service for decentralized identifiers | |
CN108111604A (zh) | 区块链共识方法、装置和系统、标识信息处理方法和装置 | |
US20100080391A1 (en) | Auditing Data Integrity | |
US11051162B2 (en) | Method for anonymously identifying a security module | |
US11468437B2 (en) | Method and system for license server synchronization | |
US11469908B2 (en) | Equipment onboarding and deployment security system | |
CN112966309A (zh) | 一种基于区块链的业务实现方法和装置 | |
CN113538019B (zh) | 食品溯源信息的存证方法和装置 | |
CN115174099A (zh) | 基于区块链的版权资产授权方法及装置和电子设备 | |
CN114448694B (zh) | 基于区块链的服务调用方法和装置 | |
CN112418850A (zh) | 一种基于区块链的交易方法、装置及电子设备 | |
US12086283B2 (en) | Control method, server, recording medium, and data structure | |
CN112291321B (zh) | 业务处理方法、装置及系统 | |
CN113656497A (zh) | 一种基于区块链的数据验证方法和装置 | |
CN109472151A (zh) | 一种数据访问的方法及服务器 | |
CN110232570B (zh) | 一种信息监管方法及装置 | |
KR102633664B1 (ko) | 가상자산의 주소 공증 방법 및 장치 | |
CN110662210A (zh) | 基于区块链的二次或多次手机号的识别方法、系统及设备 | |
CN106815516B (zh) | 用户信息的访问授权方法及系统 | |
CN111626735B (zh) | 一种数据交互系统、方法和模块 | |
CN115062063B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |