CN115098541A - 区块链数据查询以及数据上链的方法、装置、设备及介质 - Google Patents
区块链数据查询以及数据上链的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115098541A CN115098541A CN202210673684.6A CN202210673684A CN115098541A CN 115098541 A CN115098541 A CN 115098541A CN 202210673684 A CN202210673684 A CN 202210673684A CN 115098541 A CN115098541 A CN 115098541A
- Authority
- CN
- China
- Prior art keywords
- target data
- audit
- auditing
- server
- state
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种区块链数据查询及数据上链的方法、装置、设备及介质。方案包括:获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;获取针对所述目标数据的审核状态标识;若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;将所述目标数据发送至所述查询请求的发起方。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种区块链数据查询以及数据上链的方法、装置、设备及介质。
背景技术
随着计算机技术的发展,区块链技术也被应用到各个领域,区块链信息安全也称为信息监管重点关注的内容。其中,区块链信息服务作为互联网信息服务的一种形式,在传播违法不良信息、实施网络违法犯罪行为、破坏网络生态秩序等方面,存在与互联网信息服务相同的安全风险。由于区块链技术的特有特征增加了信息溯源、违法不良信息处置等信息内容安全管理难度
因此,如何提高区块链信息服务的安全性是亟待解决的技术问题。
发明内容
本说明书实施例提供一种区块链数据查询以及数据上链的方法、装置、设备及介质,用于提高区块链信息服务的安全性。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种区块链数据查询的方法,包括:
获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
基于所述数据标识,获取针对所述目标数据的审核状态标识;
若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
将所述目标数据发送至所述查询请求的发起方。
本说明书实施例提供的一种数据上链的方法,包括:
获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
本说明书实施例提供的一种区块链数据查询的装置,包括:
请求获取模块,用于获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
标识获取模块,用于基于所述数据标识,获取针对所述目标数据的审核状态标识;
数据获取模块,用于若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
数据发送模块,用于将所述目标数据发送至所述查询请求的发起方。
本说明书实施例提供的一种数据上链的装置,包括:
上链请求获取模块,用于获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
审核发送模块,用于发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
上链模块,用于若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
上链终止模块,用于若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
本说明书实施例提供的一种区块链数据查询的设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
基于所述数据标识,获取针对所述目标数据的审核状态标识;
若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
将所述目标数据发送至所述查询请求的发起方。
本说明书实施例中提供的一种数据上链的设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现一种区块链数据查询的方法或数据上链的方法。
本说明书一个实施例实现了能够达到以下有益效果:
本说明书实施例中当从区块链***中查询目标数据时,可以获取目标数据的审核状态标识,当该审核状态标识表示目标数据符合预设审核状态时,才可以将从区块链***中获取到的目标数据发送至查询请求的发起方,从而可以通过审核状态标识限定是否可以将区块链***中的目标数据提供给发起方,可保证发起方获取到的数据是符合条件的数据,进而可避免从区块链数据获取到不符合条件的违规数据,避免违规数据通过区块链***进行传播,可提高区块链信息服务的安全性。
另一方面,本说明书实施例中提供的数据上链的方法中,也需要对请求上链的目标数据进行内容安全审核,避免审核未通过的数据上链,也可避免违规数据通过区块链***进行传播,可提高区块链信息服务的安全性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种区块链数据查询以及数据上链的方法的应用场景的示意图;
图2为本说明书实施例提供的一种区块链数据查询的方法的流程示意图;
图3为本说明书实施例提供的一种数据上链的方法的流程示意图;
图4为本说明书实施例提供的一种数据上链的方法的泳道图;
图5为本说明书实施例提供的一种区块链数据查询的方法的泳道图;
图6为本说明书实施例提供的一种区块链数据查询的装置的结构示意图;
图7为本说明书实施例提供的一种数据上链的装置的结构示意图;
图8为本说明书实施例提供的一种区块链数据查询的设备及数据上链的设备的结构示意图。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
为了解决现有技术中的缺陷,本方案给出了以下实施例:
图1是本说明书实施例提供的一种区块链数据查询以及数据上链的方法的应用场景的示意图。如图1所示,该方案可以包括提供查询服务的查询服务器1、区块链***2、提供数据上链的上链服务器3以及对数据进行内容安全审核的审核服务器4。其中,查询机服务器1可以获取用户通过手机、电脑等终端发送的针对目标数据的查询请求,该查询请求可以包含该目标数据的数据标识,通过该数据标识可以获取目标数据的审核状态标识,该审核状态标识可以为表示目标数据是否为符合预设条件的安全合规的数据,当确定该目标数据符合预设审核状态后可以从区块链***2中获取目标数据,并可以将获取到的该目标数据发送至查询请求的发起方。
本说明书实施例中为保证上链信息的安全性,提供数据上链服务的上链服务器3在获取到包含目标数据的数据上链请求后,可以调用具有内容安全审核功能的审核服务器4对目标数据进行审核,若在预设时间内接收到审核服务器4反馈的表示审核未通过的第一审核结果,可以拒绝将该目标数据上传至区块链***,可避免内容安全审核审核未通过的数据上链。
接下来,将针对说明书实施例提供的一种区块链数据查询以及数据上链的方法结合附图进行具体说明:
图2为本说明书实施例提供的一种区块链数据查询的方法的流程示意图。从程序角度而言,流程的执行主体可以为能够查询存储于区块链***中的数据的搭载于应用服务器的程序或应用客户端。实际应用中,区块链***中的区块节点根据功能权限划分可以包括:监管共识节点、共识节点以及普通全节点。其中,监管共识节点可以作为最高级别的节点,具有同步全部账本数据、参与区块链共识的能力,还可以负责对区块链接入平台、主体进行管理与授权等;共识节点可以同步全部账本数据,还可以参与区块链共识;普通全节点,也可以称为只读节点,可以同步全部账本数据。本说明书实施例中提供的方法的执行主体也可以为监管共识节点对应的服务器,也可以为接入区块链的平台、主体对应的服务器,该服务器具有查询区块链数据的功能。
如图2所示,该流程可以包括以下步骤:
步骤202:获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识。
本说明书实施例中具有查询区块链数据功能的查询服务器可以获取到查询用户发送的针对目标数据的查询请求,可以基于该查询请求从区块链***中获取需要的目标数据。
步骤204:基于所述数据标识,获取针对所述目标数据的审核状态标识。
本说明书实施例中审核状态标识可以用于表示目标数据的审核状态,审核状态可以为表示目标数据未通过审核、已审核通过、未完成审核等审核状态。其中,可以通过具有对数据进行内容安全审核的审核服务器对目标数据进行内容安全审核,根据审核结果确定目标数据的审核状态信息。
步骤206:若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据。
其中,预设审核状态可以表示目标数据处于能够出链的状态,例如,目标数据对应的内容信息符合相关法律法规的规定,则可以从区块链节点中获取目标数据。
步骤208:将所述目标数据发送至所述查询请求的发起方。
本说明书实施例中可以在发送目标数据至查询请求的发起方之前可以根据目标数据的审核状态标识确定目标数据的审核状态,将符合预设审核状态的目标数据提供给查询请求的发起方,可保证发起方从区块链***中获取符合规定的数据。
应当理解,本说明书一个或多个实施例所述的方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。
图2中的方法,当从区块链***中查询目标数据时,可以获取目标数据的审核状态标识,当该审核状态标识表示目标数据符合预设审核状态时,才可以将从区块链***中获取到的目标数据发送至查询请求的发起方,从而可以通过审核状态标识限定是否可以将区块链***中的目标数据提供给发起方,可保证发起方获取到的数据是符合条件的数据,进而可避免从区块链数据获取到不符合条件的违规数据,避免违规数据通过区块链***进行传播,可提高区块链信息服务的安全性。
基于图2的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点,从而保证其不可伪造和篡改。世界状态是基于账户模型的区块链***在交易执行完之后产生的状态信息的总和,包括所有区块链中账户的包括余额在内的账户信息,和所有智能合约的状态信息。智能合约的调用或者在不调用合约情况下的转账操作都会导致世界状态的改变。每一个区块的交易执行之后产生的最新世界状态,是下一个区块的交易执行的基础,每笔交易的执行都会在前一笔交易执行之后的最新世界状态的基础上继续修改。
区块链以节点的方式组建成网络,所有节点从同一个初始状态开始,依次执行已由各个节点达成共识的区块内交易,从而驱动各个节点的状态按照相同操作序列(增加、删除、修改)不断变化,实现所有节点在执行完相同的区块内交易后状态完全一致,这个状态称为世界状态。区块链的每个节点内部集成了KV数据库(Key-Value数据库),用于存储各种信息,比如账户余额、智能合约字节码、各个智能合约自定义的数据、区块链的配置参数等。在区块链执行了达成共识的区块内交易之后,涉及交易的各个节点会把其交易数据传输至涉及交易的其它节点中进行数据更新,以使涉及交易的各个节点处于一致的世界状态。
本说明书实施例中的区块链***中的节点维护的区块链账本可以包含区块链数据库以及世界状态数据库。其中,区块链数据库可以用于记录存储到区块链***中的各个数据的区块,世界状态数据库可以用于记录存储到区块链***中的数据的审核状态标识或者审核状态信息。
可选的,本说明书实施例中所述获取针对所述目标数据的审核状态标识,具体可以包括:
从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识。
其中,服务器中可以部署有智能合约,可以通过智能合约从区块链***的世界状态数据库中拉取目标数据的审核状态标识。
实际应用中,内容安全可以是为识别、阻断不良有害信息、违规内容的传播,比如色情内容、犯罪内容、恐怖反动等内容,主要通过算法、模型等技术手段针对图片、文本、视频、音频等形态的对象进行风险识别。
实际应用中由于法律法规等对数据进行内容安全审核的依据的变更,本说明书实施例中可以利用具有审核功能的审核服务器对已经上链的数据进行定期或者不定期的内容安全审核,根据最新的审核结果来更新区块链***中已经保存的目标数据的审核状态标识,以便及时的调整对出链数据的管理,保证内容安全的数据才能出链。
为了更有效的确定目标数据的审核状态,本说明书实施例中所述从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识之前,还可以包括:
判断所述区块链***的世界状态数据库中针对所述目标数据的审核状态标识是否为最新的审核状态标识。
实际应用中,世界状态数据库中可以存储多次对目标数据进行审核得到的审核状态标识,也可以根据最新一次审核得到的审核状态标识更新前一次的审核状态标识。
其中,当世界状态数据库中可以存储多次对目标数据进行审核得到的审核状态标识时,可以根据审核状态标识的时间戳,判断针对该目标数据的审核状态标识的生成时间是否是距离当前时间距离最短的生成时间,若该审核状态标识的生成时间距离当前时间距离最短,则可确定该审核状态标识为最新的审核状态标识。
为避免世界状态数据库中存储过多的审核状态标识信息,减少对区块节点的空间占用,也根据最新一次审核得到的审核状态标识更新世界状态数据库中前一次的审核状态标识。
本说明书实施例中审核服务器在对目标数据审核完成后,可以将审核状态信息投递到具有预言机功能的预言机服务器中,然后根据预言机服务器的审核状态信息确定区块链***的世界状态数据库中的针对目标数据的审核状态标识。其中,预言机服务器在接收到审核服务器发送的审核状态信息后,可以生成该审核状态信息的审核记录标识,该审核记录标识可以表示是否已经根据该审核状态信息更新区块链***中的该目标数据的审核状态标识。
本说明书实施例中可以根据预言机服务器中的目标数据的审核记录标识来判断区块链***中的该目标数据的审核状态标识是否为最新的审核状态标识。可选的,本说明书实施例中所述判断所述区块链***的世界状态数据库中针对所述目标数据的审核状态标识是否为最新的审核状态标识,具体可以包括:
从具有预言机功能的预言机服务器中获取所述目标数据的第一审核记录标识;
判断所述第一审核记录标识是否为第一标识;所述第一标识用于表示所述预言机服务器中所述目标数据的审核状态已同步至所述区块链***的世界状态数据库中;
所述从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识,具体可以包括:
若所述第一审核记录标识为第一标识,则从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识。
本说明书实施例中可以基于智能合约根据预言机服务器中的审核状态信息更新区块链***的世界状态数据库中的审核状态标识,当区块链***从预言机服务器中获取审核状态信息后,可以将预言机服务器中该审核状态信息的第一审核记录标识标记为表示预言机服务器中目标数据的审核状态已同步至区块链***的世界状态数据库中的第一标识,例如,可以标记为“已标记”等字样。当预言机服务器中的第一审核记录标识为第一标识时,可以确定区块链***中的目标数据的审核状态标识为最新的审核状态标识,可以根据区块链***中的审核状态标识判断是否可以将该目标信息发送至查询请求的发起方。
本说明书实施例中,本说明书实施例中,审核服务器在审核出审核结果后,可以将该审核结果投递至预言机服务器中,预言机服务器中可以存储有最新的审核结果等表示目标数据的审核状态的信息。预言机服务器在接收到审核服务器投递的审核结果等状态信息后,可以将该审核状态信息的审核记录标识标记为第二标识,该第二标识,可以表示预言机服务器中该目标数据的审核状态未同步至世界状态数据库中,例如,可以标记为“待更新”;在区块链***从预言机服务器中调取审核结果等可以表示审核状态的信息后,可以将预言机服务器中的该表示审核状态的信息的审核记录标识标记为第一标识。
可选的,本说明书实施例中所述判断所述审核记录标识是否为第一标识之后,还可以包括:
若所述第一审核记录标识为第二标识,则从所述预言机服务器中获取所述目标数据的审核状态信息;所述第二标识用于表示所述预言机服务器中所述目标数据的审核状态未同步至所述世界状态数据库中;
基于从所述预言机服务器中获取的所述目标数据的审核状态信息更新所述区块链***的世界状态数据库中所述目标数据的审核状态标识。
其中,区块链***从预言机服务器中调取审核结果等可以表示审核状态的信息后,可以根据最新获取到的信息更新区块链***的世界状态数据库中目标数据的审核状态标识,预言机服务器中该审核状态信息对应的审核记录标识也可以由第二标识变更为第一标识,以表示区块链***的世界状态数据库中的该目标数据的审核状态与预言机服务器中记载的该目标数据的审核状态一致。
当根据预言机服务器中表示该目标数据的审核状态信息更新区块链***中该目标数据的审核状态标识后,可以从区块链***中获取该目标数据的最新的审核状态标识,根据该最新的审核状态标识判断是否将目标数据提供给查询请求的发起方。
本说明书实施例中可以根据预言机服务器中的审核状态信息及时的更新区块链***中的审核状态信息,从而可保证发送至查询请求的发起方的数据是符合安全管控的,可避免用户从区块链***中获取违规数据,可提高区块链信息服务的安全性。并且,从区块链***中获取目标数据的审核状态标识,也可充分利用区块链***的稳定性,当部分节点出现故障时,也可从其他节点中获取到目标数据的审核状态标识,对目标数据进行审核,可避免因不能及时获取到目标数据的审核状态标识造成的查询请求处理失败的情况。
本说明书实施例中为减轻区块链***的压力,还可以从具有预言机功能的预言机服务器中获取目标数据的审核状态标识,可选的,所述获取针对所述目标数据的内容的审核状态标识,具体可以包括:
发送用于获取所述目标数据的审核状态的审核查询请求至具有预言机功能的预言机服务器;
获取所述预言机服务器反馈的针对所述目标数据的第一审核状态标识。
其中,具有内容安全审核的审核服务器对目标数据审核后,可将审核状态信息发送至具有预言机功能的预言机服务器中,预言机服务器可以根据接收到的审核状态信息保存目标数据的第一审核状态标识。
为保证区块链***中也可保存最新的审核状态信息,可选的,本说明书实施例中所述获取所述预言机反馈的针对所述目标数据的内容的第一审核状态标识之后,还可以包括:
从所述区块链***的世界状态数据库中获取所述目标数据的第二审核状态标识;
判断所述第一审核状态标识与所述第二审核状态标识表示的审核状态是否一致;
若不一致,则根据所述第一审核状态标识更新所述区块链***的世界状态数据库中的第二审核状态标识。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,实际应用中,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。本说明书实施例中可以通过用于对审核状态打标的智能合约更新区块链***中的审核状态标识;还可以通过用于信息出链的智能合约,从区块链***中获取目标数据。
本说明书实施例中预设审核状态可以表示通过内容安全审核的审核状态,其中,当根据目标数据的审核状态标识确定目标数据已经通过了内容安全审核,可以将该目标数据反馈至查询请求的发起方,以便该发起方从区块链***中获取安全合规的数据。本说明书实施例中还可以拒绝将未审核通过的数据发送至请求发起方,其中,若所述审核状态标识表示所述目标数据不符合所述预设审核状态,则终止将所述目标数据发送至所述查询请求的发起方的流程。
本说明书实施例中当终止将目标数据发送至查询请求的发起方时,可以将表示查询失败的提示信息发送至该发起方,该提示信息中还可以包含对于查询失败的原因的说明,例如“查询对象包含违规信息,不予查询”等提示信息。实际应用中,可以根据实际需求设定提示信息的具体内容以及格式,这里不作具体限定。
考虑到审核服务器的工作效率与将数据上链的上链服务器的工作效率可能不同,对于审核服务器来说,审核体量较大或者较复杂的数据可能需要较长的审核时间,本说明书实施例中为保证信息上链的效率,可允许目标数据与目标数据对应的审核结果的审核状态异步上链,可以先将未审核完成的数据上链,之后等审核服务器审核完成后,再将审核完成后对应的审核状态上链,其中,对于区块链***中包含的已经发送审核服务器进行审核但是还没有接收到审核服务器反馈的审核结果的数据,可以将该类数据的审核状态标识标记为表示审核未完成的审核状态的标识,例如可以标记“审核未完成”、“待确认”等字样。本说明书实施例中标识的具体内容以及格式可以根据实际需求进行设定,这里不作具体限定。
本说明书实施例中审核状态标识可以包括表示审核未完成的审核状态的标识,若查询数据时,目标数据当前的审核状态还处于未审核完成状态,可以提示用户稍后访问,以便在对目标数据审核完成后,根据审核完成后得到的审核结果判断是否可以将目标数据提供给用户。可选的,本说明书实例中所述审核状态标识包括表示审核未完成的审核状态的标识;所述终止将所述目标数据发送至所述查询请求的发起方的流程之前,还可以包括:
发送表示稍后访问的提示信息至所述查询请求的发起方。
实际应用中,发起方可以在获取到提示信息后,过一段时间后再发起对于目标数据的查询请求。为简化发起方的操作,本说明书实施例中发送查询请求的终端应用也可以在预设时间段后,如,5秒,10秒等,自动基于之前接收到的查询请求再发起对于目标数据的查询请求。
本说明书实施例中在对上链数据进行内容安全审核完成后,可以根据审核结果更新区块链***中该数据对应的审核状态标识。若根据再次发起的查询请求获取到的目标数据的审核状态标识表示目标数据处于通过内容安全审核的审核状态,则可以将目标数据发送至发起方;若根据再次发起的查询请求获取到的目标数据的审核状态标识表示目标数据处于没有通过内容安全审核的审核状态,不符合安全审核的要求,则可以终止将目标数据发送至发起方的流程。
基于同样的思路,本说明书实施例还提供了一种数据上链的方法,上述区块链数据查询方法中所查询的目标数据可以是基于该方法上链的。
图3为本说明书实施例提供的一种数据上链的方法的流程示意图。从程序角度而言,流程的执行主体可以为能够将数据上传至区块链***的搭载于应用服务器的程序或应用客户端。同样,本说明书实施例中提供的方法的执行主体也可以为监管共识节点对应的服务器,也可以为接入区块链的平台、主体对应的服务器,该服务器具有将数据上传至区块链***的功能。
如图3所示,该流程可以包括以下步骤:
步骤302:获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据。
本说明书实施例中具有将数据上传至区块链***的服务器可以获取到用户发送的针对目标数据的数据上链请求。数据上链请求中可以包含待上链的目标数据。
步骤304:发送针对所述目标数据的审核请求至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核。
本说明书实施例中审核服务器可以对待上链的目标数据进行内容安全审核,上链服务器可以发送审核请求至审核服务器,调用审核服务器对目标数据进行审核,审核服务器可以将表示审核通过或者不通过的审核结果反馈至上链服务器。
步骤306:若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***。
步骤308:若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
实际应用中审核服务器对于数据量较大或者较复杂的数据进行审核时,可能花费的审核时间较长,本说明书实施例中为减少对上链服务器的上链效率的影响,若在预设时间内未接收到审核服务器反馈的审核结果,可以先将数据上链,后续等审核结果出来后再将审核结果发送至区块链信息。其中,预设时间可以根据上链服务器的性能进行确定,这里不作具体限定。
本说明书实施例中对请求上链的目标数据进行内容安全审核,避免审核未通过的数据上链,也可避免违规数据通过区块链***进行传播,可提高区块链信息服务的安全性。并且,可以异步处理上链数据以及审核结果,对于预设时间内未获取到审核结果的数据可先行上链,无需花费较长时间等待审核记过,可避免对于上链效率的影响。
本说明书实施例中的区块链***可以包含区块链数据库以及世界状态数据库,其中,上述将所述目标数据上传至区块链***,具体可以包括:将所述目标数据上传至所述区块链***的区块链数据库。
本说明书实施例中用户可以调用信息上链应用程序接口,通过该应用程序接口可以调用信息上链合约,基于该信息上链合约可以将目标数据保存至区块链***的区块链数据库中。
本说明书实施例中还可以将目标数据的审核状态保存至区块链***的世界状态数据库中,可选的,本说明书实施例中的方法还可以包括:
基于所述在预设时间内接收到的所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到的所述审核服务器反馈的第一审核结果,确定所述目标数据的第一审核状态标识;
将所述目标数据的第一审核状态标识保存至所述区块链***,以便所述区块链***中保存所述目标数据的审核状态信息。
本说明书实施例中第一审核状态标识可以为表示所述目标数据审核通过的状态标识或表示所述目标数据审核未完成的状态标识。其中,若预设时间内接收到审核服务反馈的是表示该目标数据审核通过的审核结果,则说明该目标数据符合内容安全审核的要求,第一审核状态标识可以为表示目标数据通过审核的审核状态的标识;若发送目标数据至审核服务器后,预设时间内未接收到审核服务反馈的审核结果,即未接收到审核服务器反馈的表示该目标数据审核通过或者审核不通过的审核结果,第一审核状态标识可以为表示目标数据审核未完成的审核状态的标识。
例如,对于审核通过的目标数据可以标记为“审核通过”,对于审核未完成的目标数据可以标记为“审核待确认”,可以将审核状态标识保存至区块链***的世界状态数据库中。具体的标识内容以及方式这里不作具体限定。
本说明书实施例中还可以利用具有预言机功能的预言机服务器保存目标数据的审核结果,基于预言机服务器中的审核结果确定区块链***中目标数据的审核状态。可选的,本说明书实施例中的方法,具有预言机功能的预言机服务器用于接收所述审核服务器发送的所述第一审核结果,该方法还可以包括:
从所述预言机服务器中获取所述第一审核结果;所述预言机服务器中所述第一审核结果的审核记录标识标记为第二标识;所述第二标记用于表示所述预言机服务器中所述目标数据的审核状态信息未同步至所述区块链***中;
在从所述预言机服务器中获取所述第一审核结果之后,将所述预言机服务器中的所述第一审核结果的审核记录标识标记为第一标识;所述第一标记用于表示所述预言机服务器中所述目标数据的审核状态信息已同步至所述区块链***中。
实际应用中,审核服务器对目标数据审核完成后,可以将审核结果投递至具有预言机功能的预言机服务器或者上链服务器在获取到审核结果后也可以将该审核结果投递到预言机服务器中,该审核结果可以包含表示审核通过或者不通过的审核结果。
本说明书实施例中第一审核结果可以包括预设时间内审核服务器审核完成的审核结果,预言机服务器为了方便后续管理,可以在预言机服务器接收到第一审核结果后,先将该第一审核结果进行打标,将该第一审核结果的预言机服务器审核记录标识标记为第二标识,如“待更新”字样的标识,用于表示预言机服务器中所述目标数据的审核状态信息还未同步至所述区块链***中,需要对区块链***中该目标数据的审核状态信息进行更新。
对于预设时间内还未完成审核的数据,预言机服务器中可以不存储该类数据的审核状态信息,也可以表示该信息未审核完成的审核标记,具体情况也根据实际需求设定,这不作具体限定。
本说明实施例中区块链***在接收到目标数据后,可以从预言机服务器中查询该目标数据的审核结果信息,进而根据查询到的审核结果信息确定目标数据的审核状态信息;或者,上链服务器也可以将获取到的审核结果发送至区块链***,区块链***也可以根据上链服务器发送的审核结果确定目标数据的审核状态信息,将确定出的审核状态信息保存到世界状态数据库中。
其中,在区块链***从预言机服务器中调取第一审核结果后,可将预言机服务器中的该第一审核结果的审核记录标识标记变更为第一标识,如“已标记”字样的标识,该第一标记可以用于表示预言机服务器中目标数据的审核状态已同步至所述世界状态数据库中,即可以表示世界状态数据库中的审核状态信息可以表示目标数据当前的最新审核状态。
本说明书实施例中对于在上链时还没有审核完成的目标数据,在审核服务器完成对该目标数据的审核后,还可以根据得到的审核结果,更新已经记录的审核状态信息。可选的,说明书实施例中当在所述预设时间内未接收到所述审核服务器反馈的第一审核结果时,所述方法还可以包括:
将所述目标数据上传至区块链***之后,获取针对所述目标数据的第二审核结果;所述第二审核结果为在所述预设时间段之后所述审核服务器对所述目标数据审核完成后反馈的审核结果;
基于所述第二审核结果,确定所述目标数据的第二审核状态标识;
将所述第二审核状态标识保存至所述区块链***。
其中,第二审核结果可以是表示审核通过或审核不通过的审核结果。
本说明书实施例中为减少对于区块链***的存储空间的占用,可以基于第二审核状态信息更新区块链***中之前已经存储的第一审核状态信息,可选的,本说明书实施例中所述将所述第二审核状态标识保存至所述区块链***,具体可以包括:
基于所述第二审核状态标识更新所述第一审核状态标识。
本说明书实施例中采用异步方式上链,可以将待上链的数据或者预设时间内未审核完成的数据先作上链处理,再根据上链后得到的审核结果确定上链数据的审核状态信息,可无需花费过多的时间等待审核结果,可提高数据上链的效率。并且,还可以在数据上链后,根据审核服务器的审核结果及时的更新区块链***的该已上链的目标数据的审核状态标识,该更新后的审核状态标识可以为表示目标数据是否通过审核的状态标识,以便可以根据最新的审核状态标识判断是否可将数据出链,也可保证用户从区块链***中获取安全的数据。
例如,对于未审核完成的目标数据先上链后,可以将该目标数据的审核状态标识标记为表示未审核完成的审核标记,如“审核状态待确定”字样;当审核服务器完成对目标数据的审核后,假设审核结果为表示审核通过的结果,则可以根据该审核结果,确定目标数据的为审核通过的审核状态,可以将区块链***中目标数据的审核状态标识“审核状态待确定”更新为表示审核通过的审核状态标识,如“审核通过”字样;假设审核结果为表示审核未通过的结果,则可以根据该审核结果,确定目标数据的为审核未通过的审核状态,可以将区块链***中目标数据的审核状态标识“审核状态待确定”更新为表示审核未通过的审核状态标识,如“审核未通过”字样。在后续信息出链时,可以根据审核状态标识判断是否可以将目标数据提供给请求出链的用户。
假设对于在上链时没有完成审核的目标数据,最终审核结果是该目标数据审核不通过,区块链***中该目标数据的审核状态标识也可以更新为表示该目标数据审核不通过的标识,进而在用户请求数据出链时,也可根据该审核状态标识不允许用户获取该审核不通过的数据,也可避免违规数据通过区块链***传播。
本说明书实施例审核服务器还可以将之前未完成审核的目标数据的审核结果投递至具有预言机功能的预言机服务器,基于得到的审核结果,更新之前记录的表示审核未完成的审核状态标识。可选的,本说明书实施例中具有预言机功能的预言机服务器用于接收所述审核服务器发送的所述第二审核结果,所述获取针对所述目标数据的第二审核结果,具体可以包括:从所述预言机服务器中获取所述第二审核结果;所述预言机服务器中所述第二审核结果的审核记录标识标记为第二标识;所述第二标记用于表示所述预言机服务器中所述目标数据的审核状态信息未同步至所述区块链***中。
本说明书实施例中的方法还可以包括:在从所述预言机服务器中获取所述第二审核结果之后,将所述预言机服务器中的所述第二审核结果的审核记录标识标记为第一标识;所述第一标记用于表示所述预言机服务器中所述目标数据的审核状态信息已同步至所述区块链***中。
假设在将目标数据发送至区块链***时,审核服务器还没有完成对于该目标数据的审核,预言机服务器中还没有该目标数据的审核结果;当审核服务器对该目标数据审核完成后,可以将得到的审核结果发送至预言机服务器,这里用第二审核结果表示在所述预设时间段之后所述审核服务器对所述目标数据审核完成后反馈的审核结果。预言机服务器在接收到第二审核结果后,可以先将该第二审核结果的审核记录标识标记为第二标识,如,“待更新”,用于表示所述预言机服务器中所述目标数据的审核状态信息未同步至所述区块链***中,需要后续将第二审核结果对应的审核状态信息发送至区块链***。
本说明书实施例中若预言机服务器中存在标记有第二标识,如“待更新”,的审核状态信息时,预言机服务器也可以向区块链***发送更新审核状态的请求,通过调用审核状态打标合约将预言机服务器中标记有“待更新”的审核状态信息对应的审核状态标识上传至所述区块链***的世界状态数据库,以便可以及时更新世界状态数据库中的审核状态信息。
区块链***可以从预言机服务器中查询标记有第二标记的第二审核结果,并可以根据将第二审核结果对应的第二审核状态信息保存至所述区块链***。在区块链***从预言机服务器中调取了第二审核结果后,可以将预言机服务器中的第二审核结果的审核记录标识标记为第一标识,如“已标记”,用于表示预言机服务器中目标数据的审核状态信息已同步至区块链***中,区块链***中保存的审核状态信息是最新的审核状态信息。
本说明书实施例中审核服务器中的审核依据可以是根据现行的法律法规、规整制度等生成的,随着行业发展,有些规章可能会发生变化,进而审核依据也会随之变化,使得之前已经审核完成的上链数据,按照新的规章来说可能存在审核结果与之前的审核结果不同的情况。对此,本说明书实施例中还可以根据审核策略发生变化及时更新上链数据的审核状态信息,进而更准确的避免违规信息通过区块链***传播。
可选的,本说明书实施例中的方法还可以包括:
获取针对所述目标数据的第三审核结果;所述第三审核结果是所述审核服务器基于变更后的审核策略对所述目标数据进行审核得到的审核结果;
判断所述第三审核结果与所述第一审核标识表示的审核结果是否一致;
若不一致,则基于所述第三审核结果更新所述区块链***中第一审核状态标识。
其中,审核服务器在根据更新后的审核策略对目标数据进行审核后,得到第三审核结果,也可以将第三审核结果投递到具有预言机功能的预言机服务器中,预言机服务器中可以记录有根据更新前的审核策略进行审核得到的第一审核结果,若第三审核结果与第一审核结果表示的审核结果不一致,如,第一审核结果表示目标数据审核通过,第三审核结果表示目标数据审核不通过,又如,第一审核结果表示目标数据审核不通过,而第三审核结果表示目标数据审核通过,则可以根据该第三审核结果,更新区块链***的世界状态数据库中的第一审核状态标识。
本说明书实施例中可以利用对已上链的数据进行内容安全管控的服务器在审核策略发送变化后,执行对已经上链的数据进行审核的流程,其中,为减少区块链***中共识节点的共识效率,可以从区块链***的只读节点中获取需要被审核的已上链的数据。
与上述已经说明的审核记录标识同理,若第三审核结果与第一审核结果表示的审核结果不一致,预言机服务器中可以根据第三审核结果更新已经记录的第一审核结果,然后将该第三审核结果的审核记录标识标记为第二标识,以表示区块链***中还未获取该第三审核结果,需要对区块链***中该目标数据的审核结果进行更新。其中可以通过调用审核状态打标合约从预言机服务器中调取第三审核结果,根据该第三审核结果更新区块链***中的审核结果信息。在审核状态打标合约从预言机服务器中调取第三审核结果后,可以将预言机服务器中的该第三审核结果的审核记录标识标记更改为第一标识,用于表示区块链***中的审核结果已经与预言机服务器中的审核结果同步,为最新的审核结果。
实际应用中,基于更新后的审核策略对目标数据进行审核的请求可以由具有对已上链的数据进行内容安全管控的服务器发起,该服务器可以根据更新后的审核策略确定已经上链的数据中需要根据更新后的审核策略被审核的数据,这里假设目标数据是需要根据更新后的审核策略被审核的数据。
为更清楚的说明本说明书实例中提供的区块链数据查询以及数据上链的方法,图4为本说明书实施例提供的一种数据上链的方法的泳道图。该方案可以包括数据获取阶段、审核阶段以及上链阶段,具体的可以包括:
步骤402:具有数据上链功能的上链服务器获取针对目标数据的数据上链请求,该请求中包含待上链的目标数据。
步骤404:上链服务器可以基于获取到的目标数据,生成针对目标数据的审核请求,并将该审核请求发送至审核服务器,调用审核服务器对目标数据进行内容安全审核。
步骤406:审核服务器可以对目标数据进行内容安全审核。
步骤408:审核服务器在审核完成后,将得到的第一审核结果反馈至上链服务器。
实施应用中,可能由于被审核的目标数据体量较大或者较复杂,审核服务器需要使用较长的时间才能审核完成,本说明书实施例中为减少对上链服务器的上链服务的影响,可以允许将暂时未审核完成的数据先进行上链处理。
步骤410:判断上链服务器在发送请求后的预设时间内是否结果到审核服务器反馈的表示目标数据审核通过或者审核未通过的第一审核结果。
步骤412:若预设时间内未接收到审核服务器反馈的第一审核结果,则可以发送目标数据至区块链***,执行数据上链流程。
其中,若在预设时间内未接收到审核服务器反馈的第一审核结果,可以将该目标数据的审核状态确定为审核未完成的状态,可以用表示目标数据处于审核未完成的状态的第一审核状态标识表示目标数据的当前状态。
步骤414:若预设时间内接收到审核服务器反馈的第一审核结果,则可以判断该第一审核结果是否为表示审核通过的审核结果。
步骤416:若第一审核结果表示审核未通过的审核结果,则可以拒绝将所述目标数据上传至区块链***。
其中,若第一审核结果表示审核通过的审核结果则还可以执行步骤412将目标数据发送至区块链***,执行上链流程。其中,还可以用表示目标数据处于审核通过的状态的第一审核状态标识表示目标数据的当前状态。
步骤418:审核服务器还可以将针对目标数据的第一审核结果发送至具有预言机功能的预言机服务器。实际应用中预言机服务器中的第一审核结果也可以是上链服务器发送的,具体发送方式这里不作具体限定。
步骤420:预言机服务器在获取到第一审核结果后,可以将第一审核结果的审核记录标识标记为第二标识,用于表示预言机服务器中该目标数据的审核状态信息未同步至区块链***中。
步骤422:上链服务器发送目标数据至区块链***后,区块链***可以接收该目标数据
步骤424:区块链***在获取到目标数据后,可以发送用于调取该目标数据的审核结果的请求。
步骤426:预言机服务器发送第一审核结果至区块链***,区块链***从预言机服务器中调取第一审核结果。
其中,若审核服务器未对目标数据审核完成,预言机服务器中可以不包含该目标数据的审核结果,区块链***不能从预言机服务器中调取到审核结果,可以确定该目标数据的审核状态为审核未完成状态;或者,若审核服务器未对目标数据审核完成,预言机服务器可以根据审核服务器接收对于目标数据的审核通知确定目标数据处于未审核完成的状态,预言机服务器也可以记录表示目标数据处于未审核完成的状态的审核状态信息,区块链***可以调取该表示目标数据处于未审核完成的状态的审核状态信息,确定该目标数据的审核状态为审核未完成状态。
在后续审核服务器对目标数据审核完成后,可以将得到的审核结果发送至预言机服务器,区块链***可以从预言机服务器中获取该审核结果,并根据该审核结果,更新区块链中目标数据的审核状态标识。
步骤428:区块链***可以根据获取到的第一审核结果,确定目标数据的第一审核状态信息,将该第一审核状态信息对应的第一审核状态标识保存至世界状态数据库中。
步骤430:预言机服务器在区块链***调取审核结果后,可将预言机服务器中的第一审核结果的审核记录标识标记为第一标识,用于表示预言机服务器中目标数据的审核状态信息已同步至区块链***中。
步骤432:区块链***可以将接收到的目标数据保存至区块链***的区块链数据库中。
图5为本说明书实施例提供的一种区块链数据查询的方法的泳道图。如图5所示,该方案可以包括请求获取阶段、查询阶段、结果发送阶段。具体的可以包括:
步骤502:具有处理针对区块链数据进行查询的查询请求能力的查询服务器可以获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识。
步骤504:查询服务器可以基于该数据标识,获取针对所述目标数据的审核状态标识。其中,上链数据对应的审核状态标识可以保存在区块链***的世界状态数据库中,可以基于数据标识,从世界状态数据库查询目标数据对应的审核状态标识。
步骤506:查询服务器还可以发送用于查询目标数据的审核状态标识对应的审核记录标识的请求至预言机服务器,以便确定区块链***中该目标数据的审核状态标识是否为最新的审核状态标识。其中,预言机服务器中可以保存有审核审核服务器发送的审核结果,还可以基于区块链***是否已经调取过该审核结果,对该审核结果标记审核记录标识。
步骤508:预言机服务器基于请求,可以确定目标数据对应的审核记录标识,并将该审核记录标识发送至查询服务器。
步骤510:查询服务器从预言机服务器中获取目标数据对应的审核记录标识。
步骤512:根据目标数据对应的审核记录标识,判断所述审核状态标识是否为最新的审核状态标识。
步骤514:若所述审核状态标识不是最新的审核状态标识,则可以发送用于获取最新的审核状态标识的请求至预言机服务器。
步骤516:预言机服务器可以确定出的目标数据的最新的审核状态标识,并将该最新的审核状态标识发送至区块链***。
步骤518:区块链***从预言机服务器获取的最新的审核状态标识。
步骤520:更新区块链***中目标数据的审核状态标识。
步骤522:根据审核标识判断目标数据是否符合预设审核状态。其中,若步骤510中获取到的审核状态标识为最新的审核状态标识,可以根据该审核状态标识判断目标数据是否符合预设审核状态。若根据从预言机服务器获取的最新的审核状态信息更新了世界状态数据库中的审核状态标识,也可以根据更新后的审核状态标识判断目标数据是否符合预设审核状态。
步骤524:目标数据符合预设审核状态,可以从区块链***的区块链节点中获取目标数据。
步骤526:发送目标数据至所述查询请求的发起方。
步骤528:若目标数据不符合预设审核状态,则可以拒绝将目标数据出链。
本说明书实施例中查询服务器可以为区块链***之外的服务器,也可以为区块链***中具有查询功能的节点对应的服务器,这里仅是为了说明本说明书实施例中的方法将查询服务器与区块链***进行了区分,上述步骤的执行主体可以实际需求进行设定,这里仅是示意性说明,不作具体限定。同样,上述查询服务器、上链服务器、审核服务器、预言机服务器可以为同一个服务器,也可以为不同的服务器;可以是区块链***中的服务器,也可以为区块链***之外的服务器,具体服务器的使用以及分布情况可根据实际需求进行设定,这里不作具体限定。其中,当查询服务器为区块链***中的服务器时,可以基于智能合约执行对目标数据的查询流程。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图6为本说明书实施例提供的一种区块链数据查询的装置的结构示意图。如图6所示,该装置可以包括:
请求获取模块602,用于获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
标识获取模块604,用于基于所述数据标识,获取针对所述目标数据的审核状态标识;
数据获取模块606,用于若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据。
数据发送模块608,用于将所述目标数据发送至所述查询请求的发起方。
图7为本说明书实施例提供的一种数据上链的装置的结构示意图。如图7所示,该装置可以包括:
上链请求获取模块702,用于获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
审核发送模块704,用于发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
上链模块706,用于若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
上链终止模块708,用于若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图8为本说明书实施例提供的一种区块链数据查询的设备及数据上链的设备的结构示意图。所述区块链数据查询的设备与所述数据上链的设备可以具有相同的结构。如图8所示,设备800可以包括:
至少一个处理器810;以及,
与所述至少一个处理器通信连接的存储器830;其中,
所述存储器830存储有可被所述至少一个处理器810执行的指令820,
对应于本说明书实施例中图2所述的区块链数据查询的方法,所述指令被所述至少一个处理器810执行,以使所述至少一个处理器810能够:
获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
基于所述数据标识,获取针对所述目标数据的审核状态标识;
若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
将所述目标数据发送至所述查询请求的发起方。
对应于本说明书实施例中图3所述的数据上链的方法,所述指令被所述至少一个处理器810执行,以使所述至少一个处理器810能够:
获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
基于同样的思路,本说明书实施例还提供了上述方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述区块链数据查询的方法或数据上链的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图8所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字符多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (22)
1.一种区块链数据查询的方法,包括:
获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
基于所述数据标识,获取针对所述目标数据的审核状态标识;
若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
将所述目标数据发送至所述查询请求的发起方。
2.根据权利要求1所述的方法,所述获取针对所述目标数据的审核状态标识,具体包括:
从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识。
3.根据权利要求2所述的方法,所述从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识之前,还包括:
判断所述区块链***的世界状态数据库中针对所述目标数据的审核状态标识是否为最新的审核状态标识。
4.根据权利要求3所述的方法,所述判断所述区块链***的世界状态数据库中针对所述目标数据的审核状态标识是否为最新的审核状态标识,具体包括:
从具有预言机功能的预言机服务器中获取所述目标数据的第一审核记录标识;
判断所述第一审核记录标识是否为第一标识;所述第一标识用于表示所述预言机服务器中所述目标数据的审核状态已同步至所述区块链***的世界状态数据库中;
所述从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识,具体包括:
若所述第一审核记录标识为第一标识,则从所述区块链***的世界状态数据库中获取所述针对所述目标数据的审核状态标识。
5.根据权利要求4所述的方法,所述判断所述审核记录标识是否为第一标识之后,还包括:
若所述第一审核记录标识为第二标识,则从所述预言机服务器中获取所述目标数据的审核状态信息;所述第二标识用于表示所述预言机服务器中所述目标数据的审核状态未同步至所述世界状态数据库中;
基于从所述预言机服务器中获取的所述目标数据的审核状态信息更新所述区块链***的世界状态数据库中所述目标数据的审核状态标识。
6.根据权利要求1所述的方法,所述获取针对所述目标数据的审核状态标识,具体包括:
发送用于获取所述目标数据的审核状态信息的审核查询请求至具有预言机功能的预言机服务器;
获取所述预言机服务器反馈的针对所述目标数据的第一审核状态标识。
7.根据权利要求6所述的方法,所述获取所述预言机反馈的针对所述目标数据的内容的第一审核状态标识之后,还包括:
从所述区块链***的世界状态数据库中获取所述目标数据的第二审核状态标识;
判断所述第一审核状态标识与所述第二审核状态标识表示的审核状态是否一致;
若不一致,则根据所述第一审核状态标识更新所述区块链***的世界状态数据库中的第二审核状态标识。
8.根据权利要求1所述的方法,所述方法还包括:
若所述审核状态标识表示所述目标数据不符合所述预设审核状态,则终止将所述目标数据发送至所述查询请求的发起方的流程。
9.根据权利要求8所述的方法,所述审核状态标识包括表示审核未完成的审核状态的标识;
所述终止将所述目标数据发送至所述查询请求的发起方的流程之前,还包括:
发送表示稍后访问的提示信息至所述查询请求的发起方。
10.一种数据上链的方法,包括:
获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
发送针对所述目标数据的审核请求至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
11.根据权利要求10所述的方法,所述将所述目标数据上传至区块链***,具体包括:
将所述目标数据上传至所述区块链***的区块链数据库。
12.根据权利要求10所述的方法,还包括:
基于所述在预设时间内接收到的所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到的所述审核服务器反馈的第一审核结果,确定所述目标数据的第一审核状态标识;
将所述目标数据的第一审核状态标识保存至所述区块链***。
13.根据权利要求10所述的方法,具有预言机功能的预言机服务器用于接收所述审核服务器发送的所述第一审核结果,所述方法还包括:
从所述预言机服务器中获取所述第一审核结果;所述预言机服务器中所述第一审核结果的审核记录标识标记为第二标识;所述第二标记用于表示所述预言机服务器中所述目标数据的审核状态信息未同步至所述区块链***中;
在从所述预言机服务器中获取所述第一审核结果之后,将所述预言机服务器中的所述第一审核结果的审核记录标识标记为第一标识;所述第一标记用于表示所述预言机服务器中所述目标数据的审核状态信息已同步至所述区块链***中。
14.根据权利要求10所述的方法,当在所述预设时间内未接收到所述审核服务器反馈的第一审核结果时,所述方法还包括:
将所述目标数据上传至区块链***之后,获取针对所述目标数据的第二审核结果;所述第二审核结果为在所述预设时间段之后所述审核服务器对所述目标数据审核完成后反馈的审核结果;
基于所述第二审核结果,确定所述目标数据的第二审核状态标识;
将所述第二审核状态标识保存至所述区块链***。
15.根据权利要求14所述的方法,所述将所述第二审核状态标识保存至所述区块链***,具体包括:
基于所述第二审核状态标识更新所述第一审核状态标识。
16.根据权利要求14所述的方法,具有预言机功能的预言机服务器用于接收所述审核服务器发送的所述第二审核结果,所述获取针对所述目标数据的第二审核结果,具体包括:
从所述预言机服务器中获取所述第二审核结果;所述预言机服务器中所述第二审核结果的审核记录标识标记为第二标识;所述第二标记用于表示所述预言机服务器中所述目标数据的审核状态信息未同步至所述区块链***中;
所述方法还包括:
在从所述预言机服务器中获取所述第二审核结果之后,将所述预言机服务器中的所述第二审核结果的审核记录标识标记为第一标识;所述第一标记用于表示所述预言机服务器中所述目标数据的审核状态信息已同步至所述区块链***中。
17.根据权利要求12所述的方法,还包括:
获取针对所述目标数据的第三审核结果;所述第三审核结果是所述审核服务器基于变更后的审核策略对所述目标数据进行审核得到的审核结果;
判断所述第三审核结果与所述第一审核标识表示的审核结果是否一致;
若不一致,则基于所述第三审核结果更新所述区块链***中的第一审核状态标识。
18.一种区块链数据查询的装置,包括:
请求获取模块,用于获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
标识获取模块,用于基于所述数据标识,获取针对所述目标数据的审核状态标识;
数据获取模块,用于若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
数据发送模块,用于将所述目标数据发送至所述查询请求的发起方。
19.一种数据上链的装置,包括:
上链请求获取模块,用于获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
审核发送模块,用于发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
上链模块,用于若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
上链终止模块,用于若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
20.一种区块链数据查询的设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取针对区块链***中目标数据的查询请求;所述查询请求包含所述目标数据的数据标识;
基于所述数据标识,获取针对所述目标数据的审核状态标识;
若所述审核状态标识表示所述目标数据符合预设审核状态,则从区块链节点中获取所述目标数据;
将所述目标数据发送至所述查询请求的发起方。
21.一种数据上链的设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取针对目标数据的数据上链请求;所述数据上链请求中包含所述目标数据;
发送所述目标数据至审核服务器;所述审核服务器用于对所述目标数据进行内容安全审核;
若在预设时间内接收到所述审核服务器反馈的表示审核通过的第一审核结果或者在所述预设时间内未接收到所述审核服务器反馈的第一审核结果,将所述目标数据上传至区块链***;
若在预设时间内接收到所述审核服务器反馈的表示审核未通过的第一审核结果,拒绝将所述目标数据上传至区块链***。
22.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至9中任一项所述的区块链数据查询的方法或权利要求10至17中任一项所述的数据上链的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210673684.6A CN115098541A (zh) | 2022-06-14 | 2022-06-14 | 区块链数据查询以及数据上链的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210673684.6A CN115098541A (zh) | 2022-06-14 | 2022-06-14 | 区块链数据查询以及数据上链的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098541A true CN115098541A (zh) | 2022-09-23 |
Family
ID=83290497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210673684.6A Pending CN115098541A (zh) | 2022-06-14 | 2022-06-14 | 区块链数据查询以及数据上链的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098541A (zh) |
-
2022
- 2022-06-14 CN CN202210673684.6A patent/CN115098541A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025559B (zh) | 一种业务处理方法及装置 | |
CN108346028B (zh) | 一种业务审批处理方法、装置及*** | |
JP2021504832A (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
CN111899008B (zh) | 资源转移方法、装置、设备及*** | |
CN107578338B (zh) | 一种业务发布方法、装置及设备 | |
CN112087530B (zh) | 一种将数据上传至区块链***的方法、装置、设备及介质 | |
TWI762851B (zh) | 塊鏈式帳本中的資料驗證方法、系統、裝置及設備 | |
CN111611558B (zh) | 一种身份验证的方法及装置 | |
CN114091099A (zh) | 一种针对业务***的权限分级控制方法、设备及存储介质 | |
CN112214519A (zh) | 一种数据查询方法、装置、设备及可读介质 | |
CN111897542A (zh) | 一种灰度发布的方法及装置 | |
CN108647102B (zh) | 异构***的服务请求处理方法、装置和电子设备 | |
CN107528822B (zh) | 一种业务执行方法以及装置 | |
CN115511595A (zh) | 一种基于区块链的业务执行方法及装置 | |
CN115098541A (zh) | 区块链数据查询以及数据上链的方法、装置、设备及介质 | |
CN113673844B (zh) | 一种信息反馈方法、装置及设备 | |
CN106548331B (zh) | 一种确定发布顺序的方法及装置 | |
TWI505128B (zh) | Method and System of Intelligent Component Library Management | |
CN111966709A (zh) | 一种数据查询方法、装置及电子设备 | |
CN117076473B (zh) | 一种SaaS多租户的元数据运行方法、***、设备及介质 | |
CN114862380B (zh) | 额度共享处理方法及装置 | |
CN110321250B (zh) | 一种针对应用的容灾方法及装置 | |
CN114297177A (zh) | 一种链下数据的获取方法、装置、设备及*** | |
CN115906041A (zh) | 一种获取信息的方法、装置、设备及介质 | |
CN117527319A (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 |