掌桥专利:专业的专利平台
掌桥专利
首页

基于预言机即服务平台的服务管理方法、装置、系统

文献发布时间:2023-06-19 11:44:10


基于预言机即服务平台的服务管理方法、装置、系统

技术领域

本公开涉及区块链技术领域,更具体地,涉及一种基于预言机即服务平台的服务管理方法、装置、计算机系统、计算机可读存储介质和计算机程序产品。

背景技术

受限于区块链的共识模型,智能合约智能调用内部合约,而无法直接与外部数据源进行交互。区块链预言机是区块链与外部数据源交互的一种实现机制,使得外部数据源数据可以被安全可靠的传输给区块链。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:采用相关技术配置预言机的过程复杂且开发成本高。

发明内容

有鉴于此,本公开提供了一种基于预言机即服务平台的服务管理方法、装置、计算机系统、计算机可读存储介质和计算机程序产品。

本公开的一个方面提供了一种基于预言机即服务平台的服务管理方法,包括:

接收来自区块链系统的预言机部署请求,其中,预言机部署请求用于请求为区块链系统部署预言机系统,其中,预言机系统包括多个预言机,其中,区块链系统为预先部署在区块链即服务平台上的系统;以及

响应于预言机部署请求,为区块链系统部署预言机系统,并将预言机系统中的预言机的接口与区块链系统的接口关联。

根据本公开的实施例,服务管理方法还包括:接收由预先部署在区块链系统上的目标预言机合约发送的业务请求,其中,业务请求用于请求获取外部数据源数据;

响应于业务请求,确定目标预言机的接口;以及

将业务请求通过目标预言机的接口传输至目标预言机,以便目标预言机获取外部数据源数据。

根据本公开的实施例,其中,业务请求中携带有预言机合约标识信息;

根据本公开的实施例,服务管理方法还包括:

将预言机合约标识信息返回至目标预言机合约,以便目标预言机合约通过返回的预言机合约标识信息确定业务请求发送成功。

根据本公开的实施例,服务管理方法还包括:

基于预言机系统中的预言机的接口与区块链系统的接口的关联关系,构建接口关联关系规则;

其中,响应于业务请求,确定目标预言机的接口包括:

响应于业务请求,确定目标区块链系统的接口;

基于目标区块链系统的接口,查询接口关联关系规则,并确定目标预言机的接口。

根据本公开的实施例,其中,业务请求中携带有业务类型字段信息;

根据本公开的实施例,服务管理方法还包括:

提取业务请求中的业务类型字段信息;

将业务类型字段信息与预设规则进行匹配;

在业务类型字段信息满足预设规则的情况下,确定外部数据源数据需要回调;以及

在业务类型字段信息不满足预设规则的情况下,确定外部数据源数据不需要回调。

根据本公开的实施例,服务管理方法还包括:

在外部数据源数据需要回调的情况下,异步返回外部数据源数据。

根据本公开的实施例,其中,预言机即服务平台提供可信执行环境;

根据本公开的实施例,服务管理方法还包括:

基于可信执行环境,验证外部数据源数据中携带的通讯证书,以便确定外部数据源数据没有被篡改;

基于可信执行环境,对外部数据源数据进行加密;以及

将加密后的外部数据源数据发送至目标预言机合约。

本公开的另一个方面提供了一种基于预言机即服务平台的服务管理装置,包括:

部署请求接收模块,用于接收来自区块链系统的预言机部署请求,其中,预言机部署请求用于请求为区块链系统部署预言机系统,其中,预言机系统包括多个预言机,其中,区块链系统为预先部署在区块链即服务平台上的系统;以及

部署请求响应模块,用于响应于预言机部署请求,为区块链系统部署预言机系统,并将预言机系统中的预言机的接口与区块链系统的接口关联。

本公开的另一方面提供了一种计算机系统,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的基于预言机即服务平台的服务管理方法。

本公开的另一方面提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的基于预言机即服务平台的服务管理方法。

本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的基于预言机即服务平台的服务管理方法。

根据本公开的实施例,通过采用了接收来自区块链系统的预言机部署请求,其中,预言机部署请求用于请求为区块链系统部署预言机系统,其中,预言机系统包括多个预言机,其中,区块链系统为预先部署在区块链即服务平台上的系统;以及响应于预言机部署请求,为区块链系统部署预言机系统,并将预言机系统中的预言机的接口与区块链系统的接口关联的技术手段,由于将预言机部署在预言机即服务平台上,只需关注将预言机系统中的预言机的接口与区块链系统的接口关联,无需专门建设基础设施,至少部分的解决了采用相关技术单独部署预言机,具有部署繁琐且开发成本高的技术问题,进而达到了部署简单且可以为不同区块链系统提供区块链外数据写入区块链内的技术效果。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的可以应用基于预言机即服务平台的服务管理方法的示例性系统架构图;

图2示意性示出了根据本公开实施例的基于预言机即服务平台的服务管理方法的流程图;

图3示意性示出了根据本公开另一实施例的基于预言机即服务平台的服务管理方法的流程图;

图4示意性示出了根据本公开实施例的基于预言机即服务平台的服务管理方法的信令图;

图5示意性示出了根据本公开实施例的基于预言机即服务平台的服务管理装置的框图;以及

图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开的实施例提供了一种基于预言机即服务平台的服务管理方法、装置、计算机系统、计算机可读存储介质和计算机程序产品。该方法包括接收来自区块链系统的预言机部署请求,其中,预言机部署请求用于请求为区块链系统部署预言机系统,其中,预言机系统包括多个预言机,其中,区块链系统为预先部署在区块链即服务平台上的系统;以及响应于预言机部署请求,为区块链系统部署预言机系统,并将预言机系统中的预言机的接口与区块链系统的接口关联。

本公开实施例的预言机即服务平台支持各个不同区块链系统的智能合约的调用。支持灵活、弹性的预言机配置和部署。和传统预言机相比,开发和运行成本更低。

图1示意性示出了根据本公开实施例的可以应用基于预言机即服务平台的服务管理方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,基于预言机即服务平台的服务管理方法的示例性系统架构100可以包括嵌入在云服务平台上的区块链即服务平台101(BaaS)以及预言机即服务平台102(OaaS)。

根据本公开的实施例,区块链即服务平台101上可以部署有不同的区块链系统,例如Fabric区块链系统、以太坊区块链系统、EOS区块链系统、Corda区块链系统、波卡区块链系统、Cosmos区块链系统等。其中,区块链基础层可在开源的(如Hyperleger Fabric,Corda,EEA等)或闭源的(如TrustSql,蚂蚁区块链等)区块链系统上构建,为上层应用低成本、快速地提供高安全、高可靠、高性能的企业级区块链系统。

根据本公开的实施例,预言机即服务平台102可以一键组网预言机系统,实现一键部署分布式预言机形成预言机系统。其中,预言机即服务平台不仅可以部署中心化预言机,还可以部署去中心化预言机。根据本公开的实施例,预言机即服务平台不仅提供创建预言机系统的服务、部署分布式预言机的服务等。预言机即服务平台还可以基于BaaS给用户提供任意区块链底层运维服务如Fabric、以太坊、EOS、Cosmos、波卡等链服务和为不同区块链系统提供区块链外信息写入区块链内的机制。进行各个区块链智能合约的支持和调用。

综上所述,预言机即服务平台可以支持运行预言机的服务、监控预言机的服务、向不同区块链系统进行预言机的适配和调用的服务、基于区块链系统的搜索查询的服务、基于区块链系统的数据交易提交的服务、基于区块链系统的数据分析的服务等。

根据本公开的实施例,外部数据源103可以是互联网、搜索引擎、DAPPS(decentralized applications,分布式应用程序)、IPFS(InterPlanetary File System,星际文件系统)或者其他外部数据源。

根据本公开的实施例,基于云服务平台上的区块链即服务平台以及预言机即服务平台,将预言机系统中的预言机的接口与区块链系统的接口关联。实现将外部数据源数据快速、灵活的传递到不同区块链系统中。

预言机即服务平台或者区块链即服务平台可以是终端设备、服务器或集群。

终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。终端设备上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。

服务器可以是提供各种服务的服务器,例如对用户利用终端设备所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的基于预言机即服务平台的服务管理方法一般可以由服务器执行。相应地,本公开实施例所提供的基于预言机即服务平台的服务管理装置一般可以设置于服务器中。本公开实施例所提供的基于预言机即服务平台的服务管理方法也可以由不同于服务器且能够与终端设备和/或服务器通信的服务器或服务器集群执行。相应地,本公开实施例所提供的基于预言机即服务平台的服务管理装置也可以设置于不同于服务器且能够与终端设备和/或服务器通信的服务器或服务器集群中。

需要说明的是,本公开基于预言机即服务平台的服务管理方法、装置、计算机系统、计算机可读存储介质和计算机程序产品可用于区块链技术领域,也可用于除区块链技术领域之外的任意领域,本公开基于预言机即服务平台的服务管理方法、装置、计算机系统、计算机可读存储介质和计算机程序产品的应用领域不做限定。

图2示意性示出了根据本公开实施例的基于预言机即服务平台的服务管理方法的流程图。

如图2所示,该方法包括操作S201~S202。

在操作S201中,接收来自区块链系统的预言机部署请求,其中,预言机部署请求用于请求为区块链系统部署预言机系统,其中,预言机系统包括多个预言机,其中,区块链系统为预先部署在区块链即服务平台上的系统。

本公开实施例提供一种预言机即服务平台OaaS(Oracle as aservice),该预言机即服务平台可以是从云服务网络中开辟出的一个空间,其上部署有多个预言机。OaaS上部署的预言机并不局限于是中心化预言机,也可以是非中心化预言机。

根据本公开的实施例,预言机即服务平台接收来自区块链系统的预言机部署请求,该部署请求用于请求为区块链系统部署预言机系统。其中,该区块链系统为预先部署在区块链即服务平台(BaaS)上的系统。在本公开实施例中的区块链系统,不局限于Fabric区块链系统,还可以是以太坊区块链系统或者EOS区块链系统等。

OaaS的服务性工具性更强,便于创建、部署、运行和监控预言机,还可以方便针对不同的区块链系统进行预言机的适配和调用。

在操作S202中,响应于预言机部署请求,为区块链系统部署预言机系统,并将预言机系统中的预言机的接口与区块链系统的接口关联。

根据本公开的实施例,可以将预言机系统中的预言机的接口与区块链系统的接口关联来实现部署在预言机即服务平台上的预言机和部署在区块链即服务平台上的区块链系统对接。

利用本公开实施例的预言机即服务平台,可以供用户自由访问在其上部署的预言机系统中的预言机。以便为不同区块链系统提供外部数据源数据传递到区块链系统内部的功能。

相比于传统方式的预言机的单独部署,本公开实施例提供的OaaS平台,只需关注将预言机系统中的预言机的接口与区块链系统的接口关联,无需专门建设自己的基础设施,不仅节省服务端研发成本,还可以提供更好的测试工具,降低部署和测试成本,降低用户使用预言机的门槛。

综上所述,本公开实施例的预言机即服务平台支持各个不同区块链系统的智能合约的调用。支持灵活、弹性的预言机配置。和传统预言机相比,给使用者和开发者提供更快的外部数据源数据。

下面参考图3~图4,结合具体实施例对图2所示的方法做进一步说明。

图3示意性示出了根据本公开另一实施例的基于预言机即服务平台的服务管理方法的流程图。

如图3所示,该方法包括操作S301~S303。

在操作S301中,接收由预先部署在区块链系统上的目标预言机合约发送的业务请求,其中,业务请求用于请求获取外部数据源数据;

在操作S302中,响应于业务请求,确定目标预言机的接口;以及

在操作S303中,将业务请求通过目标预言机的接口传输至目标预言机,以便目标预言机获取外部数据源数据。

根据本公开的实施例,预言机即服务平台不仅可以一键部署分布式预言机,还可以针对不同的区块链系统的业务请求,灵活支持并调用不同的预言机的接口,以及区块链系统的接口,实现外部数据源数据的传递。

根据本公开的实施例,在将业务请求通过目标预言机的接口传输至目标预言机后,还可以进行如下操作。例如,接收由目标预言机发送的外部数据源数据;以及将外部数据源数据通过目标区块链系统的接口传输至区块链系统,其中,目标区块链系统的接口可以为与目标预言机的接口相关联的接口。

根据本公开的实施例,利用预言机即服务平台,提供了一种新的将外部数据源数据向区块链内传递的方式,该外部数据源数据获取方式,不仅调用灵活、快速且部署成本低。

根据本公开的实施例,业务请求中携带有预言机合约标识信息。

根据本公开的实施例,预言机合约标识信息可以为预言机合约身份证号,例如ID;但是并不局限于此,还可以是二维码标识符或者条形码标识符,只要是能够唯一标识该预言机合约的标识信息均可。

根据本公开的实施例,在接收到由预先部署在区块链系统上的目标预言机合约发送的业务请求后,服务管理方法还可以包括将预言机合约标识信息返回至目标预言机合约的操作。

根据本公开的实施例,由预言机即服务平台发送的预言机合约标识信息,相当于反馈信号,以便目标预言机合约通过返回的预言机合约标识信息确定业务请求发送成功。利用本公开实施例中的将预言机合约标识信息返回至目标预言机合约的操作,能够向目标预言机合约进行发送成功的信号反馈,以便预言机合约在未收到反馈信号的情况下,在预设时间段内,重复向预言机即服务平台发送业务请求,避免业务请求得不到响应或者信息的丢失。

根据本公开的实施例,基于预言机即服务平台的服务管理方法还可以包括如下操作。

例如,基于预言机系统中的预言机的接口与区块链系统的接口的关联关系,构建接口关联关系规则。

根据本公开的实施例,可以是不同的区块链系统的接口对应不同的预言机的接口,在同一时间或者一段时间内,可能接收来自针对不同区块链系统的不同预言机合约,因此,在预言机即服务平台上,一般针对多个不同区块链系统,部署多个预言机的接口。

利用本公开的实施例,基于预言机系统中的预言机的接口与区块链系统的接口的关联关系,构建接口关联关系规则,以便将来自不同预言机合约的业务请求,利用接口关联关系规则,快速匹配到对应的预言机的接口。

根据本公开的实施例,利用接口关联关系规则,确定目标预言机的接口的具体操作可以包括,响应于业务请求,确定目标区块链系统的接口;以及基于目标区块链系统的接口,查询接口关联关系规则,并确定目标预言机的接口。

根据本公开的实施例,业务请求中还携带有业务类型字段信息。

根据本公开的实施例,基于预言机即服务平台的服务管理方法还可以包括如下操作。

例如,提取业务请求中的业务类型字段信息;

将业务类型字段信息与预设规则进行匹配;

在业务类型字段信息满足预设规则的情况下,确定外部数据源数据需要回调;以及

在业务类型字段信息不满足预设规则的情况下,确定外部数据源数据不需要回调。

根据本公开的实施例,预设规则可以是基于业务类型字段信息进行设定,例如,可以是业务类型字段信息中出现“callback”则为满足预设规则。在业务类型字段信息中未出现“callback”则为不满足预设规则。可以理解,预设规则并不局限于此,在本公开的其他实施例中,预设规则还可以根据实际情况自行设定。例如,还可以通过业务请求中是否携带有jsonpath命令来进行确定,利用预言机中内置的JSON解析器,根据jsonpath读取JSON的外部数据源数据,并返回相应部分的外部数据源数据。

根据本公开的实施例,在外部数据源数据需要回调的情况下,可以异步返回外部数据源数据。需要说明的是,该外部数据源数据可以回调至发送业务请求的预言机合约,但是并不局限于此,还可以是回调至非发送业务请求的预言机合约的其他预言机合约。

根据本公开的实施例,预言机即服务平台提供可信执行环境(TEE,TrustedExecution Environment)。在本公开实施例中,可信执行环境是一个安全隔离的执行环境,提供隔离执行、可信应用的完整性、可信数据的机密性、安全存储等安全特征,使外部数据源数据的传递服务安全可信。

根据本公开的实施例,在TEE环境中,可以在预言机与外部数据源之间建立端到端的加密信封,使得外部数据源数据只在可信执行环境里面解密,从而不会被泄露或者修改。但是并不局限于此,还可以利用预言机即服务平台,在预言机与区块链系统之间建立可信执行环境,并基于可信执行环境,验证外部数据源数据中携带的通讯证书,以便确定外部数据源数据没有被篡改。在本公开的实施例中,该通讯证书可以是TLS通信证书,通过TLS协议,确认外部数据源数据的身份,以及确保该数据没有被第三方篡改。

根据本公开的实施例,还可以执行基于可信执行环境,对外部数据源数据进行加密;以及将加密后的外部数据源数据发送至目标预言机合约。具体地,可以利用硬件私钥对外部数据源数据进行签名,并返回给智能合约,例如目标预言机合约,目标预言机合约将自动验证该签名,确保外部数据源数据是可信执行环境的执行结果,没有被第三方篡改,从而保证区块链系统安全可靠地获取外部数据源数据。

图4示意性示出了根据本公开另一实施例的基于预言机即服务平台的服务管理方法的信令图。

如图4所示,该方法包括操作S401~S408。

在操作S401中,目标预言机合约接收业务请求。

在本公开的实施例中,该业务请求是由客户端向BaaS上的智能合约例如用户合约发送的,然后用户合约响应于业务请求,向目标预言机合约发送,进而目标预言机合约接收业务请求。

在本公开的实施例中,该业务请求可以是获取如天气、赛事、航班等公共事件的外部数据源数据。

根据本公开的实施例,客户端可以通过CURL命令发送该业务请求。

在操作S402中,目标预言机合约通过目标区块链系统的接口将业务请求发送至OaaS。

根据本公开的实施例,BaaS可以基于该业务请求,进入联盟链或者公链,确定目标区块链系统,进而确定目标预言机合约以及得到目标预言机合约标识信息,例如目标预言机合约标识ID。

根据本公开的实施例,基于该目标预言机合约标识信息,确定目标区块链系统的接口,以便目标预言机合约通过目标区块链系统的接口发送业务请求至OaaS。

在操作S403中,OaaS在接收到业务请求的情况下,同步向目标预言机合约发送目标预言机合约标识信息。

在操作S404中,OaaS在接收到业务请求的情况下,将业务请求通过与目标区块链系统的接口相关联的目标预言机的接口发送至目标预言机。

根据本公开的实施例,可以基于接口关联关系规则,确定与目标区块链系统的接口相关联的目标预言机的接口。

在操作S405中,目标预言机从外部数据源获取外部数据源数据。

根据本公开的实施例,目标预言机与外部数据源可以利用HTTP协议建立端到端的安全通信通道,并且可以完成对外部数据源数据的证书校验,从而安全、可靠地获取外部数据源数据。

在操作S406中,OaaS接收来自目标预言机通过目标预言机的接口发送的外部数据源数据。

在操作S407中,在外部数据源数据需要回调的情况下,OaaS将外部数据源数据异步传输至区块链即服务平台的智能合约。

利用本公开实施例的服务管理方法,可以安全、快速的实现区块链系统的外部数据源数据的获取,至少部分的解决了区块链系统采用传统预言机来获取外部数据源数据,具有运行慢、开发成本高且适用范围小的技术问题,进而达到了降低运行时间和成本,并为不同区块链系统提供区块链外数据写入区块链内的技术效果。

图5示意性示出了根据本公开的实施例的基于预言机即服务平台的服务管理装置的框图。

如图5所示,基于预言机即服务平台的服务管理装置500包括部署请求接收模块501和部署请求响应模块502。

部署接收模块501,用于接收来自区块链系统的预言机部署请求,其中,预言机部署请求用于请求为区块链系统部署预言机系统,其中,预言机系统包括多个预言机,其中,区块链系统为预先部署在区块链即服务平台上的系统;以及

部署请求响应模块502,用于响应于预言机部署请求,为区块链系统部署预言机系统,并将预言机系统中的预言机的接口与区块链系统的接口关联。

本公开实施例的预言机即服务平台支持各个不同区块链系统的智能合约的调用。支持灵活、弹性的预言机配置。和传统预言机相比,开发和运行成本更低。

根据本公开的实施例,服务管理装置500还包括业务请求接收模块、业务请求响应模块、以及业务请求传输模块。

业务请求接收模块,用于接收由预先部署在区块链系统上的目标预言机合约发送的业务请求,其中,业务请求用于请求获取外部数据源数据;

业务请求响应模块,用于响应于业务请求,确定目标预言机的接口;以及

业务请求传输模块,用于将业务请求通过目标预言机的接口传输至目标预言机,以便目标预言机获取外部数据源数据。

根据本公开的实施例,其中,业务请求中携带有预言机合约标识信息;

根据本公开的实施例,服务管理装置500还包括信息反馈模块。

信息反馈模块,用于将预言机合约标识信息返回至目标预言机合约,以便目标预言机合约通过返回的预言机合约标识信息确定业务请求发送成功。

根据本公开的实施例,服务管理装置500还包括规则构建模块。

规则构建模块,用于基于预言机系统中的预言机的接口与区块链系统的接口的关联关系,构建接口关联关系规则。

根据本公开的实施例,业务请求响应模块包括第一确定单元和第二确定单元。

第一确定单元,用于响应于业务请求,确定目标区块链系统的接口;以及

第二确定单元,用于基于目标区块链系统的接口,查询接口关联关系规则,并确定目标预言机的接口。

根据本公开的实施例,其中,业务请求中携带有业务类型字段信息;

根据本公开的实施例,服务管理装置500还包括提取模块、匹配模块。

提取模块,用于提取业务请求中的业务类型字段信息;

匹配模块,用于将业务类型字段信息与预设规则进行匹配;在业务类型字段信息满足预设规则的情况下,确定外部数据源数据需要回调;以及在业务类型字段信息不满足预设规则的情况下,确定外部数据源数据不需要回调。

根据本公开的实施例,服务管理装置500还包括回调模块。

回调模块,用于在外部数据源数据需要回调的情况下,异步返回外部数据源数据。

根据本公开的实施例,其中,预言机即服务平台提供可信执行环境;

根据本公开的实施例,服务管理装置500包括验证模块。

验证模块,用于基于可信执行环境,验证外部数据源数据中携带的通讯证书,以便确定外部数据源数据没有被篡改。

根据本公开的实施例,服务管理装置500包括加密模块和发送模块。

加密模块,用于基于可信执行环境,对外部数据源数据进行加密;以及

发送模块,用于将加密后的外部数据源数据发送至目标预言机合约。

根据本公开的实施例的模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,部署请求接收模块501和部署请求响应模块502中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,部署请求接收模块501和部署请求响应模块502中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,部署请求接收模块501和部署请求响应模块502中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

需要说明的是,本公开的实施例中基于预言机即服务平台的服务管理装置部分与本公开的实施例中基于预言机即服务平台的服务管理方法部分是相对应的,基于预言机即服务平台的服务管理装置部分的描述具体参考基于预言机即服务平台的服务管理方法部分,在此不再赘述。

图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的基于预言机即服务平台的服务管理方法。

在该计算机程序被处理器601执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 基于预言机即服务平台的服务管理方法、装置、系统
  • 一种基于区块链的预言机服务的竞标方法及系统
技术分类

06120113034374