CN116032494A - 数据交互方法、区块链预言机、设备及介质 - Google Patents
数据交互方法、区块链预言机、设备及介质 Download PDFInfo
- Publication number
- CN116032494A CN116032494A CN202310293435.9A CN202310293435A CN116032494A CN 116032494 A CN116032494 A CN 116032494A CN 202310293435 A CN202310293435 A CN 202310293435A CN 116032494 A CN116032494 A CN 116032494A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- uplink
- contract request
- component
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种区块链预言机的数据交互方法、区块链预言机、计算机设备及计算机可读存储介质,方法包括:接收用户端发布的合约请求,并基于合约请求获取对应的数据;响应于合约请求,控制消息签名组件对合约请求对应的数据进行消息签名,得到签名后的数据;接收签名后的数据,控制消息上链组件对签名后的数据进行上链,得到上链后的数据;控制区块分发组件对上链后的数据进行消息分发,以使用户端接收到分发后的数据。本申请基于链下的消息签名组件、消息上链组件以及区块分发组件这三个服务端组件实现链上数据的消息签名、消息上链以及消息分发,保证了数据安全性的同时,减少资源的耗费。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于OpenHarmony的区块链预言机的数据交互方法、区块链预言机、计算机设备及计算机可读存储介质。
背景技术
在大数据背景下,数据共享交换过程中存在的安全与隐私问题能够通过区块链技术解决,以达到数据交换过程公开共享、可追溯、不可篡改的目的。区块链预言机是一种将区块链外数据写入区块链内的机制,它允许智能合约对区块链外部世界作出反映,完成区块链网络与现实世界的数据互通,是区块链与现实世界进行数据交互的接口。
传统的区块链预言机主要包括中心化区块链预言机以及去中心化区块链预言机两种。中心化区块链预言机的实现依赖于以太坊的区块链网络,为了保证上链信息的可靠性,中心化区块链预言机需要获取大量的现实世界信息以用于在区块链部署大量的分布式预言机节点,因此资源耗费较多。与之相对的中心化预言机,依靠选取的节点作为数据来源进行现实世界数据上链,然而其安全性又缺乏保障。
发明内容
本申请提供了一种基于OpenHarmony的区块链预言机的数据交互方法、区块链预言机、计算机设备及计算机可读存储介质,旨在数据交互过程中保证数据安全性的同时,减少资源的耗费。
为实现上述目的,本申请提供一种基于OpenHarmony的区块链预言机的数据交互方法,所述区块链预言机包括服务端,所述服务端包括通过分布式软总线连接的消息签名组件、消息上链组件以及区块分发组件,所述方法应用于所述服务端,所述方法包括:
接收用户端发布的合约请求,并基于所述合约请求获取对应的数据;
响应于所述合约请求,控制所述消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;
接收所述签名后的数据,并控制所述消息上链组件对所述签名后的数据进行上链,得到上链后的数据;
控制所述区块分发组件对所述上链后的数据进行消息分发,以使用户端接收到分发后的数据。
为实现上述目的,本申请还提供一种区块链预言机,所述区块链预言机包括:
获取模块,用于获取接收用户端发布的合约请求,并基于所述合约请求获取对应的数据;
消息签名模块,用于响应于所述合约请求,控制消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;
消息上链模块,用于接收所述签名后的数据,并控制消息上链组件对所述签名后的数据进行上链,得到上链后的数据;
消息分发,用于控制所述区块分发组件对上链后的数据进行消息分发,以使用户端接收到分发后的数据。
此外,为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现本申请实施例提供的任一项所述的基于OpenHarmony的区块链预言机的数据交互方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现本申请实施例提供的任一项所述的基于OpenHarmony的区块链预言机的数据交互方法的步骤。
本申请实施例公开的基于OpenHarmony的区块链预言机的数据交互方法、区块链预言机、计算机设备及计算机可读存储介质,能够接收到用户端发布的合约请求,并基于该合约请求获取到对应的数据。进一步的,可响应于合约请求,依次通过分布式软总线连接的消息签名组件、消息上链组件以及区块分发组件对合约请求对应的数据进行消息签名、消息上链以及消息分发操作,以使得用户接收到分发后的数据。本申请实施例能够基于链下的消息签名组件、消息上链组件以及区块分发组件这三个服务端组件与用户端进行数据交互,由于上述操作在链下进行,因此在保证数据安全性的同时,减少了资源的耗费。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于OpenHarmony的区块链预言机的数据交互方法的场景示意图;
图2是本申请实施例提供的一种基于OpenHarmony的区块链预言机的数据交互方法的步骤示意图;
图3是本申请实施例提供的基于合约请求获取对应的数据的步骤示意图;
图4是本申请实施例提供的基于区块分发组件实现消息分发的步骤示意图;
图5是本申请实施例提供的OpenHarmony的区块链预言机的工作流程示意图;
图6是本申请一实施例提供的一种区块链预言机的示意性框图;
图7是本申请一实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出
的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,本申请实施例提供的基于OpenHarmony的区块链预言机的数据交互方法,可以应用于如图1所示的应用环境中。该应用环境中包含有用户端110和服务器120,其中,用户端110可以通过网络与服务器120进行通信。具体地,服务器120接收用户端110发布的合约请求,并基于所述合约请求获取对应的数据;进而响应于所述合约请求,控制所述消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;并接收所述签名后的数据,并控制所述消息上链组件对所述签名后的数据进行上链,得到上链后的数据;最后控制所述区块分发组件对所述上链后的数据进行消息分发,以使用户端110接收到分发后的数据。其中,服务器120可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。用户端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器120以及用户端110可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参阅图2,图2是本申请实施例提供的一种基于OpenHarmony的区块链预言机的数据交互方法的步骤示意图。其中,区块链预言机包括服务端,服务端包括通过分布式软总线连接的消息签名组件、消息上链组件以及区块分发组件,该方法应用于服务端,由此可以与用户端实现数数据交互。
如图2所示,该基于OpenHarmony的区块链预言机的数据交互方法包括步骤S11至步骤S14。
步骤S11:接收用户端发布的合约请求,并基于合约请求获取对应的数据。
具体的,用户端创建上述合约,并调用预言机合约的查询方法,进而基于预言机合约的查询方法向预言机合约发出合约请求。基于此,预言机合约能够接受到用户端的合约请求,并将相关数据写入到Event 事件中,以使得服务端能够通过订阅预言机合约的Event 事件接收到用户端发布的合约请求,并基于该合约请求获取对应的数据。
需要说明的是,区块链预言机是将区块链连接到外部系统的实体,从而使智能合约能够基于现实世界的输入和输出执行。
进一步的,本申请提出的区块链预言机包括服务端,服务端包括通过分布式软总线连接的消息签名组件、消息上链组件以及区块分发组件。其中,分布式软总线技术可以实现近场设备间统一的分布式通信管理能力,提供不区分链路的设备间发现连接、组网和传输能力。因此,基于分布式软总线的消息签名组件、消息上链组件以及区块分发组件之间可以相互发现,并建立连接,从而能够实现不同组件之间数据的传输。
请继续参阅图3,图3是本申请实施例提供的基于合约请求获取对应的数据的步骤示意图。如图3所示,可通过步骤S111至步骤S112实现基于合约请求获取对应的数据。
步骤S111:接收用户端发布的合约请求,并判断用户端发布的合约请求是否合法。
步骤S112:在用户端发布的合约请求合法时,基于合约请求获取对应的数据。
为了确保数据源头是真实可靠的,还可以在接收用户端发布的合约请求时,判断该用户端发布的合约请求是否合法。并在用户端发布的合约请求合法时,基于合约请求获取对应的数据,从而实现真实有效的数据交互。
可选地,可通过以下方式判断用户端发布的合约请求是否合法:对合约请求进行溯源处理,溯源处理表示为获取发送合约请求的用户端的身份信息和IP网络地址;对用户端的身份信息和IP网络地址进行验证,计算得到合约请求的请求评值PR,根据请求评值PR判断合约请求是否合法。
具体的,可通过数据库对用户端的身份信息和IP网络地址进行验证,该数据库储存有用户的身份信息与身份特值的对照表,以及IP网络地址与网络地址特值的对照表。因此可通过查询数据库中发布合约请求的用户端的身份信息和IP网络地址,并确定对应的身份特值以及网络地址特值。进一步的,可基于用户端的身份特值以及网络地址特值计算合约请求的请求评值PR,并在请求评值PR大于预设阈值时确定合约请求合法。
需要说明的是,本申请对于合约请求的请求评值PR的计算规则以及预设阈值不加以限定,例如计算规则可以为用户端的身份特值以及网络地址特值的和,预设阈值可以为80。也即,在二者的和大于80时,可以确定该合约请求合法。
可选地,合约请求包括回调数据信息,回调数据信息包括回调数据类型,基于合约请求获取对应的数据之后,包括:基于回调数据信息,设置合约请求对应的数据类型为回调数据类型。
其中,回调数据类型即为用户端能够接收的数据类型。
具体的,在基于合约请求获取到对应的数据后,可以将数据类型设置为回调数据类型,从而能够使得数据在回调时能够被用户端接收,以实现完整的数据交互。
可选地,区块链预言机还包括网络端,服务端与网络端连接,上述基于合约请求获取对应的数据之后,还包括:基于网络端的接口,在服务端注册事件订阅;在注册事件订阅成功时,在服务端开启事件处理循环,以使服务端接收并处理事件消息。
需要说明的是,本申请对于事件处理循环不加以限定,例如可以为for循环、while循环等,本申请以for循环为例进行说明。可以理解的,服务端在执行for循环后,便可接收并处理消息事件,也即对合约请求对应的数据进行处理。
步骤S12:响应于合约请求,控制消息签名组件对合约请求对应的数据进行消息签名,得到签名后的数据。
步骤S13:接收签名后的数据,并控制消息上链组件对签名后的数据进行上链,得到上链后的数据。
具体的,在接收到合约请求对应的数据后,可控制消息签名组件基于自身的私钥对该数据进行加密以及消息签名,以得到消息签名后的数据,从而保证数据交互过程中数据的安全性和完整性。
进一步的,在接收到消息签名后的数据时,可控制消息上链组件对签名后的数据进行上链,以得到上链后的数据。
需要说明的是,数据上链是指将数据进一步加密并上传到基于ipfs的公网侧链,进而在公信链形成数据索引的过程。数据上链后,除了用户端自身的授权解密外,任何个人或组织都没有能力获取到该数据,从而保证数据的绝对安全。
在本申请实施例中,可通过消息签名组件以及消息上链组件对合约请求对应的数据进行签名以及上链,由于数据是加密签名以及上链过的,因此其他参与节点无法查看该数据,进而实现提升数据传输的安全性和隐私保护。
步骤S14:控制区块分发组件对上链后的数据进行消息分发,以使用户端接收到分发后的数据。
具体的,在接收到上链后的数据时,可控制区块分发组件对该数据进行消息分发至用户端,从而使得用户端能够接收到分发后的数据。
可选地,回调数据信息包括回调方法,上述控制区块分发组件对上链后的数据进行消息分发,包括:控制区块分发组件通过回调方法对上链后的数据进行消息分发。
可以理解的,回调方法为用户端能够实现接收数据的回调方法。因此,可基于回调方法对上链后的数据进行消息分发,从而使得用户端能够正常接收到分发后的数据。
需要说明的是,本申请对于回调方法不加以限定,例如回调方法为设置函数指针方法、集成接口方法等。
可选地,请参阅图4,图4是本申请实施例提供的基于区块分发组件实现消息分发的步骤示意图。如图4所示,可通过步骤S141至步骤S142实现基于区块分发组件实现消息分发。
步骤S141:控制网络端基于预设可信机制判断上链后的数据是否发生篡改。
步骤S142:在确认上链后的数据为未发生篡改时,控制区块分发组件对上链后的数据进行消息分发。
具体的,还可以控制网络端基于预设可信机制对上链后的数据进行判断,以防止上链后的数据发生篡改。并在确认上链后的数据为未发生篡改时,控制区块分发组件对上链后的数据进行消息分发,以进一步的保证数据传输的安全性。
需要说明的是,本申请对于预设可信机制不加以限定,例如可以包括多节点部署、门限签名和可验证随机函数等,本申请实施例以预设可信机制为可验证随机函数为例进行说明。
可验证随机函数是一种加密函数,基于数据输入生成伪随机数并附上一份证明,任何人都可以对其进行验证。其中,可验证随机函数的数据输入通常包含一对公钥和私钥(也称为“verification key”和“secret key”)以及一个seed。公钥和私钥是生成的,而seed则是选择的。将这些数值一起输入可验证随机函数,用私钥和seed来生成随机数。然后,可验证随机函数会生成一个随机数以及一份证明。用户可以通过证明来验证函数,而将私钥保密则可以确保随机数无法被预测。
在本申请实施例中,上述实现消息签名、消息上链以及消息分发的过程均是通过服务端的组件这一链下实现的,相较于现有区块链预言机需要部署多个节点实现上述过程,导致耗费的巨大燃费的问题。本申请实施例凭借消息签名组件、消息上链组件以消息分发组件可以更加高效的完成数据的获取和验证上传。此外,还可以借助分布式软总线的能力,同时完成单设备上链能力以及多设备协同上链能力的开发,以及实现多个OpenHarmony的区块链预言机的上链能力共享。
本申请实施例公开的基于OpenHarmony的区块链预言机的数据交互方法、区块链预言机、计算机设备及计算机可读存储介质,能够接收到用户端发布的合约请求,并基于该合约请求获取到对应的数据。进一步的,可响应于合约请求,依次通过分布式软总线连接的消息签名组件、消息上链组件以及区块分发组件对合约请求对应的数据进行消息签名、消息上链以及消息分发操作,以使得用户接收到分发后的数据。本申请实施例能够基于链下的消息签名组件、消息上链组件以及区块分发组件这三个服务端组件与用户端进行数据交互,由于上述操作在链下进行,因此在保证数据安全性的同时,减少资源的耗费。
请继续参阅图5,图5是本申请实施例提供的OpenHarmony的区块链预言机的工作流程示意图。如图5所示,区块链预言机与用户端在进行数据交互时,首先由用户端创建合约,进而用户端调用预言机合约的查询方法,并基于预言机合约的查询方法向预言机合约发出合约请求。基于此,预言机合约能够接受到用户端的合约请求,并将相关数据写入到Event 事件中,以使得服务端能够通过订阅预言机合约的 Event 事件接收到用户端发布的合约请求,并基于该合约请求获取对应的数据。进一步的,可通过调用消息签名组件、消息上链组件以消息分发组件对合约请求对应的数据进行消息签名、消息上链以及消息分发操作,以使得用户接收到分发后的数据。如此,实现区块链预言机与用户端的数据交互。
请参阅图6,图6是本申请一实施例提供的一种区块链预言机的示意性框图,该区块链预言机可以配置于服务器中,用于执行前述的基于OpenHarmony的区块链预言机的数据交互方法。
如图6所示,该区块链预言机200包括:获取模块201、消息签名模块202、消息上链模块203、消息分发204。
获取模块201,用于获取接收用户端发布的合约请求,并基于所述合约请求获取对应的数据;
消息签名模块202,用于响应于所述合约请求,控制消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;
消息上链模块203,用于接收所述签名后的数据,并控制消息上链组件对所述签名后的数据进行上链,得到上链后的数据;
消息分发204,用于控制区块分发组件对所述上链后的数据进行消息分发,以使用户端接收到分发后的数据。
获取模块201,还用于接收所述用户端发布的合约请求,并判断所述用户端发布的合约请求是否合法;在所述用户端发布的合约请求合法时,基于所述合约请求获取对应的数据。
获取模块201,还用于对所述合约请求进行溯源处理,所述溯源处理表示为获取发送所述合约请求的用户端的身份信息和IP网络地址;对所述用户端的身份信息和IP网络地址进行验证,计算得到所述合约请求的请求评值PR,根据请求评值PR判断所述合约请求是否合法。
获取模块201,还用于基于所述回调数据信息,设置所述合约请求对应的数据类型为所述回调数据类型。
获取模块201,还用于基于所述网络端的接口,在所述服务端注册事件订阅;在所述注册事件订阅成功时,在所述服务端开启事件处理循环,以使所述服务端接收并处理事件消息。
消息分发204,还用于控制所述区块分发组件通过所述回调方法对所述上链后的数据进行消息分发,其中,所述回调方法包括设置函数指针方法、集成接口方法。
消息分发204,还用于控制所述网络端基于预设可信机制判断所述上链后的数据是否发生篡改;在确认所述上链后的数据为未发生篡改时,控制所述区块分发组件对所述上链后的数据进行消息分发;其中,所述预设可信机制包括多节点部署、门限签名和可验证随机函数。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费终端设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
示例性的,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的示意图。该计算机设备可以是服务器。
如图7所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括易失性存储介质、非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于OpenHarmony的区块链预言机的数据交互方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于OpenHarmony的区块链预言机的数据交互方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一些实施方式中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:接收用户端发布的合约请求,并基于所述合约请求获取对应的数据;响应于所述合约请求,控制所述消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;接收所述签名后的数据,并控制所述消息上链组件对所述签名后的数据进行上链,得到上链后的数据;控制所述区块分发组件对所述上链后的数据进行消息分发,以使所述用户端接收到分发后的数据。
在一些实施方式中,所述处理器还用于接收所述用户端发布的合约请求,并判断所述用户端发布的合约请求是否合法;在所述用户端发布的合约请求合法时,基于所述合约请求获取对应的数据。
在一些实施方式中,所述处理器还用于对所述合约请求进行溯源处理,所述溯源处理表示为获取发送所述合约请求的用户端的身份信息和IP网络地址;对所述用户端的身份信息和IP网络地址进行验证,计算得到所述合约请求的请求评值PR,根据请求评值PR判断所述合约请求是否合法。
在一些实施方式中,所述处理器还用于基于所述回调数据信息,设置所述合约请求对应的数据类型为所述回调数据类型。
在一些实施方式中,所述处理器还用于控制所述区块分发组件通过所述回调方法对所述上链后的数据进行消息分发,其中,所述回调方法包括设置函数指针方法、集成接口方法。
在一些实施方式中,所述处理器还用于控制所述网络端基于预设可信机制判断所述上链后的数据是否发生篡改;在确认所述上链后的数据为未发生篡改时,控制所述区块分发组件对所述上链后的数据进行消息分发;其中,所述预设可信机制包括多节点部署、门限签名和可验证随机函数。
在一些实施方式中,所述处理器还用于基于所述网络端的接口,在所述服务端注册事件订阅;在所述注册事件订阅成功时,在所述服务端开启事件处理循环,以使所述服务端接收并处理事件消息。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时实现本申请实施例提供的任一种基于OpenHarmony的区块链预言机的数据交互方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于OpenHarmony的区块链预言机的数据交互方法,其特征在于,所述区块链预言机包括服务端,所述服务端包括通过分布式软总线连接的消息签名组件、消息上链组件以及区块分发组件,所述方法应用于所述服务端,所述方法包括:
接收用户端发布的合约请求,并基于所述合约请求获取对应的数据;
响应于所述合约请求,控制所述消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;
接收所述签名后的数据,并控制所述消息上链组件对所述签名后的数据进行上链,得到上链后的数据;
控制所述区块分发组件对所述上链后的数据进行消息分发,以使所述用户端接收到分发后的数据。
2.根据权利要求1所述的方法,其特征在于,所述接收用户端发布的合约请求,并基于所述合约请求获取对应的数据,包括:
接收所述用户端发布的合约请求,并判断所述用户端发布的合约请求是否合法;
在所述用户端发布的合约请求合法时,基于所述合约请求获取对应的数据。
3.根据权利要求2所述的方法,其特征在于,所述判断所述用户端发布的合约请求是否合法,包括:
对所述合约请求进行溯源处理,所述溯源处理表示为获取发送所述合约请求的用户端的身份信息和IP网络地址;
对所述用户端的身份信息和IP网络地址进行验证,计算得到所述合约请求的请求评值PR,根据请求评值PR判断所述合约请求是否合法。
4.根据权利要求1所述的方法,其特征在于,所述合约请求包括回调数据信息,所述回调数据信息包括回调数据类型,所述基于所述合约请求获取对应的数据之后,包括:
基于所述回调数据信息,设置所述合约请求对应的数据类型为所述回调数据类型。
5.根据权利要求4所述的方法,其特征在于,所述回调数据信息包括回调方法,所述控制所述区块分发组件对所述上链后的数据进行消息分发,包括:
控制所述区块分发组件通过所述回调方法对所述上链后的数据进行消息分发,
其中,所述回调方法包括设置函数指针方法、集成接口方法。
6.根据权利要求1所述的方法,其特征在于,所述区块链预言机还包括网络端,所述控制所述区块分发组件对所述上链后的数据进行消息分发,包括:
控制所述网络端基于预设可信机制判断所述上链后的数据是否发生篡改;
在确认所述上链后的数据为未发生篡改时,控制所述区块分发组件对所述上链后的数据进行消息分发;
其中,所述预设可信机制包括多节点部署、门限签名和可验证随机函数。
7.根据权利要求6所述的方法,其特征在于,所述服务端与所述网络端连接,所述基于所述合约请求获取对应的数据之后,还包括:
基于所述网络端的接口,在所述服务端注册事件订阅;
在所述注册事件订阅成功时,在所述服务端开启事件处理循环,以使所述服务端接收并处理事件消息。
8.一种区块链预言机,其特征在于,所述区块链预言机包括:
获取模块,用于获取接收用户端发布的合约请求,并基于所述合约请求获取对应的数据;
消息签名模块,用于响应于所述合约请求,控制消息签名组件对所述合约请求对应的数据进行消息签名,得到签名后的数据;
消息上链模块,用于接收所述签名后的数据,并控制消息上链组件对所述签名后的数据进行上链,得到上链后的数据;
消息分发,用于控制区块分发组件对所述上链后的数据进行消息分发,以使用户端接收到分发后的数据。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如权利要求1-7任一项所述的基于OpenHarmony的区块链预言机的数据交互方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1-7中任一项所述的基于OpenHarmony的区块链预言机的数据交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310293435.9A CN116032494B (zh) | 2023-03-24 | 2023-03-24 | 数据交互方法、区块链预言机、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310293435.9A CN116032494B (zh) | 2023-03-24 | 2023-03-24 | 数据交互方法、区块链预言机、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116032494A true CN116032494A (zh) | 2023-04-28 |
CN116032494B CN116032494B (zh) | 2023-06-09 |
Family
ID=86076196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310293435.9A Active CN116032494B (zh) | 2023-03-24 | 2023-03-24 | 数据交互方法、区块链预言机、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032494B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112003942A (zh) * | 2020-08-25 | 2020-11-27 | 杭州时戳信息科技有限公司 | 链下数据请求响应方法、系统、节点设备与存储介质 |
CN112948499A (zh) * | 2021-03-31 | 2021-06-11 | 北京金山云网络技术有限公司 | 信息获取方法和装置、电子设备和存储介质 |
US20210328791A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain data processing methods and apparatuses based on cloud computing |
CN113779642A (zh) * | 2021-09-02 | 2021-12-10 | 国网北京市电力公司 | 数据处理方法及其装置、系统、电子设备 |
CN114172662A (zh) * | 2021-12-03 | 2022-03-11 | 工银科技有限公司 | 区块链外部数据获取方法及装置 |
CN114328132A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 外部数据源的状态监控方法、装置、设备和介质 |
-
2023
- 2023-03-24 CN CN202310293435.9A patent/CN116032494B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210328791A1 (en) * | 2020-07-08 | 2021-10-21 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain data processing methods and apparatuses based on cloud computing |
CN112003942A (zh) * | 2020-08-25 | 2020-11-27 | 杭州时戳信息科技有限公司 | 链下数据请求响应方法、系统、节点设备与存储介质 |
CN112948499A (zh) * | 2021-03-31 | 2021-06-11 | 北京金山云网络技术有限公司 | 信息获取方法和装置、电子设备和存储介质 |
CN113779642A (zh) * | 2021-09-02 | 2021-12-10 | 国网北京市电力公司 | 数据处理方法及其装置、系统、电子设备 |
CN114172662A (zh) * | 2021-12-03 | 2022-03-11 | 工银科技有限公司 | 区块链外部数据获取方法及装置 |
CN114328132A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 外部数据源的状态监控方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116032494B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541785B (zh) | 基于云计算的区块链数据处理方法及装置 | |
CN112214780B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
US10984134B2 (en) | Blockchain system for leveraging member nodes to achieve consensus | |
WO2019179537A2 (en) | System and method for implementing a resolver service for decentralized identifiers | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
CN112104665B (zh) | 基于区块链的身份验证方法、装置、计算机以及存储介质 | |
CN111324446A (zh) | 多址接入边缘计算节点及部署一套分布式记账应用的方法 | |
CN111213350A (zh) | 用于创建去中心化标识的系统和方法 | |
CN110598434B (zh) | 基于区块链网络的房屋信息处理方法、装置、电子设备及存储介质 | |
WO2022166637A1 (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN111066047A (zh) | 实现基于区块链的工作流 | |
CN110362357A (zh) | 一种应用程序的配置文件管理方法及装置 | |
JP7479393B2 (ja) | 仮想分散型台帳ネットワークのためのシステムおよび方法 | |
EP3598333B1 (en) | Electronic device update management | |
Ma et al. | TrustedBaaS: Blockchain-enabled distributed and higher-level trusted platform | |
CN111880919A (zh) | 数据调度方法、系统和计算机设备 | |
Chen et al. | TrustBuilder: A non-repudiation scheme for IoT cloud applications | |
CN115296794A (zh) | 基于区块链的密钥管理方法及装置 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN110276693B (zh) | 保险理赔方法及系统 | |
CN116032494B (zh) | 数据交互方法、区块链预言机、设备及介质 | |
CN111125734B (zh) | 一种数据处理方法及系统 | |
CN111222860A (zh) | 一种数据资产处理方法及装置 | |
CN117040930B (zh) | 区块链网络的资源处理方法、装置、产品、设备和介质 | |
Alexandridis | Improving access security and throughput of blockchain-based Internet of things infrastructure |
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 |