CN111400373B - 一种在联盟链中实现区块信息可视化的方法和装置 - Google Patents
一种在联盟链中实现区块信息可视化的方法和装置 Download PDFInfo
- Publication number
- CN111400373B CN111400373B CN202010184339.7A CN202010184339A CN111400373B CN 111400373 B CN111400373 B CN 111400373B CN 202010184339 A CN202010184339 A CN 202010184339A CN 111400373 B CN111400373 B CN 111400373B
- Authority
- CN
- China
- Prior art keywords
- decoding
- file
- decoded
- block
- information
- 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.)
- Active
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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/248—Presentation of query results
-
- 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
Abstract
本申请的目的是提供一种在联盟链中实现区块信息可视化的方法和装置,根据接收到的查询请求,获取联盟链中与该查询请求对应的区块的二进制流;对该二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,该第一解码文件中包括按该第一解码规则未能被成功解码的未解码信息;基于该第一解码文件,对该未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;基于该第二解码文件对该区块进行区块信息可视化。与现有技术相比,本申请针对目前不易解码的联盟链中的区块,采用多次解码的方式对其进行解码尝试,使得最终解码成功并对解码后的区块信息进行可视化,方便了查看和使用,提升了使用体验。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种在联盟链中实现区块信息可视化的技术。
背景技术
分布式账本系统(DLS,Distributed ledger system),其也可以被称为共识网络和/或区块链网络,使参与的实体能够安全地、不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的示例类型可以包括公有链、私有链和联盟链。公有链向所有实体开放使用DLS,且开放参与共识过程。私有链针对特定的实体提供,该实体集中控制读写许可。联盟链针对选择的实体组群提供,该实体组群控制共识过程,并包括访问控制层。
目前在联盟链中,根据联盟链提供的工具,联盟链应用程序开发者所能获得的仅是有关区块的二进制流,而无法将该区块的区块信息进行可视化展现。例如,在联盟链的Fabric平台中,根据该Fabric平台本身提供的SDK(Software Development Kit,软件开发工具包),所能得到的仅是基于protobuf编码的二进制流,而该二进制流是无法可视化的。
因此,如何在联盟链中实现区块信息可视化,成为本领域技术人员亟需解决的问题之一。
发明内容
本申请的目的是提供一种在联盟链中实现区块信息可视化的方法和装置。
根据本申请的一个方面,提供了一种在联盟链中实现区块信息可视化的方法,其中,该方法包括:
a根据接收到的查询请求,获取联盟链中与所述查询请求对应的区块的二进制流;
b对所述二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按所述第一解码规则未能被成功解码的未解码信息;
c基于所述第一解码文件,对所述未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;
d基于所述第二解码文件对所述区块进行区块信息可视化。
根据本申请的另一个方面,提供了一种在联盟链中实现区块信息可视化的装置,其中,该装置包括:
获取装置,用于根据接收到的查询请求,获取联盟链中与所述查询请求对应的区块的二进制流;
第一解码装置,用于对所述二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按所述第一解码规则未能被成功解码的未解码信息;
第二解码装置,用于基于所述第一解码文件,对所述未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;
可视化装置,用于基于所述第二解码文件对所述区块进行区块信息可视化。
根据本申请的又一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
根据本申请的再一个方面,还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
根据本申请的再一个方面,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
与现有技术相比,本申请将联盟链中对应查询请求的区块的二进制流按第一解码规则进行第一次解码,获得第一解码文件,再对该第一解码文件中包括的未解码信息按第二解码规则进行第二次解码,获得完全解码成功的第二解码文件,基于该第二解码文件对该区块进行区块信息可视化;本申请针对目前不易解码的联盟链中的区块,采用多次解码的方式对其进行解码尝试,使得最终解码成功并对解码后的区块信息进行可视化,方便了查看和使用;并且,本申请在应用之初不需要事先构建好数据库用于映射区块和交易结构,也不需要事先把联盟链中的区块和交易信息导入到数据库中,当需要查询某个指定区块的区块信息时,只需要输入针对该指定区块对应的查询请求,如输入对应区块哈希、区块编号或交易哈希等信息,就能实时地解码这个区块的信息并进行可视化,减轻了网络负担,提升了使用体验。
进一步地,本申请还可以将前述解码后获得的区块信息进行缓存,下次再查的时候,不需要再次进行解码就能直接展示对应区块的区块信息;此外,在未能查找到对应区块信息时,则再根据查询请求实时地解码对应区块的区块信息,实现了惰性初始化。
进一步地,本申请还可以根据第一次解码获得的第一解码文件中所包括的字符的特征,来选择至少一个预测解码规则对该第一解码文件中包括的未解码信息进行第二次解码,通过多次解码尝试最终实现成功解码,提高了解码效率与正确率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出适于用来实现本申请实施方式的示例性计算机系统/服务器12的框图;
图2示出根据本申请一个方面的一种在联盟链中实现区块信息可视化的方法的流程示意图;
图3示出根据本申请另一个方面的一种在联盟链中实现区块信息可视化的装置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本申请,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本申请。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本申请,也应包含在本申请保护范围以内,并以引用方式包含于此。
后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本申请的示例性实施例的目的。但是本申请可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
应当理解的是,当一个单元被称为“连接”或“耦合”到另一单元时,其可以直接连接或耦合到所述另一单元,或者可以存在中间单元。与此相对,当一个单元被称为“直接连接”或“直接耦合”到另一单元时,则不存在中间单元。应当按照类似的方式来解释被用于描述单元之间的关系的其他词语(例如“处于...之间”相比于“直接处于...之间”,“与...邻近”相比于“与...直接邻近”等等)。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本申请作进一步详细描述。
图1示出了适于用来实现本申请实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未示出,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图1中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理。
例如,存储器28中存储有用于执行本申请的各项功能和处理的计算机程序,处理单元16执行相应计算机程序时,本申请在联盟中区块信息可视化被实现。
以下将详细描述本申请用于在联盟链中实现区块信息可视化的具体步骤/装置。
图2示出根据本申请一个方面的一种在联盟链中实现区块信息可视化的方法的流程示意图。
通常,联盟链在参与实体之间是私有的。在联盟链中,共识过程由被授权的节点集控制,一个或多个节点由相应实体(例如,金融机构、保险公司)操作。例如,具有十(10)个实体(例如,金融机构、保险公司)的联盟可以运作一个联盟链,其中每个实体操作该联盟链中的至少一个节点。因此,联盟链可被认为是与参与的实体相关的私有网络。在一些示例中,每个实体(节点)必须对每个区块签名以使该区块有效,并被添加到该区块链中。在一些示例中,实体(节点)的至少一个子集(例如至少7个实体)必须对每个区块签名以使区块有效并被添加到区块链。
本申请文件参考联盟链进一步详细描述了本文的实施方式。
在步骤S201中,装置1根据接收到的查询请求,获取联盟链中与所述查询请求对应的区块的二进制流。
具体地,在步骤S201中,装置1接收对应的查询请求,例如,用户通过其客户端发送了查询请求,该查询请求中可以包括但不限于以下至少任一项:区块哈希;区块编号;交易哈希;装置1通过约定的通信方式接收该查询请求,随后,基于该查询请求,确定联盟链中与该查询请求对应的区块,进而,获取该区块对应的二进制流。例如,以联盟链的Fabric平台为例,由于Fabric平台本身对于区块内容采用了Google Protocol Buffer(后文简称为protobuf)编码协议,在步骤S201中,装置1根据接收到的查询请求确定对应的区块,随后,利用SDK(Software Development Kit,软件开发工具包)查询获得该区块的二进制流,该二进制流是基于protobuf编码的。
在一实施例中,用户例如在已有的区块链浏览器或其他可展示区块链信息的展示器中获取到某个区块的区块哈希,并将该区块哈希作为一个查询请求进行匹配查询,在步骤S201中,装置1接收到该查询请求,并基于该查询请求中包括的区块哈希,获取联盟链中与该查询请求对应的区块的二进制流。
在另一实施例中,用户例如在已有的区块链浏览器或其他可展示区块链信息的展示器中获取到某个交易哈希,并将该交易哈希作为一个查询请求进行匹配查询,在步骤S201中,装置1接收到该查询请求,并基于该查询请求中包括的交易哈希,确定对应的区块,进而,获取联盟链中该区块的二进制流。
本领域技术人员应能理解,上述查询请求中所包括的信息仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的查询请求中所包括的信息,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
在步骤S202中,装置1对所述二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按所述第一解码规则未能被成功解码的未解码信息。
具体地,在步骤S202中,装置1对前述在步骤S201中获取的二进制流按第一解码规则进行第一次解码,从而获得第一解码文件,然而,由于联盟链的特点,根据联盟链提供的工具,所能获得的仅是二进制流,而无法可视化。例如,在联盟链的Fabric平台中,根据该Fabric平台本身提供的SDK工具,所能得到的仅是基于protobuf编码的二进制流,是无法可视化的。并且,按照第一解码规则对该二进制流进行解码存在不能完全将所有的二进制流成功解码的情况,也即,该第一解码文件中包括按该第一解码规则未能被成功解码的未解码信息。
例如,以联盟链的Fabric平台为例,在步骤S201中,装置1根据查询请求获取到联盟链中的某个区块的基于protobuf编码的二进制流;随后,在步骤S202中,装置1利用Fabric平台提供的一个工具configtxlator,将该基于protobuf编码的二进制流解码成一个Json文件,该Json文件即为第一解码文件,然而,该第一解码文件中除了包括已解码成功的信息,还包括按照该第一解码规则进行解码却未能够被成功解码的未解码信息。例如,当该第一解码文件为Json文件,该Json文件中有70个字段/结构体被成功解码,而剩余30个字段/结构体却未能被成功解码。该Json文件只能正常显示区块的一部分信息,如,区块编号等,但是,诸如前一个区块哈希、当前区块哈希、交易哈希、交易时间戳、输入参数等关键信息都未能正确显示。
本领域技术人员应能理解,上述联盟链中的Fabric平台、所使用的工具以及第一解码文件的格式仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的联盟链中其他平台、所使用的其他工具以及第一解码文件的其他格式,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
在步骤S203中,装置1基于所述第一解码文件,对所述未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件。
具体地,在步骤S203中,装置1基于该第一解码文件,对前述在步骤S202中未能被成功解码的未解码信息按第二解码规则进行第二次解码,该第二次解码例如通过多次推测和尝试将该未能被成功解码的未解码信息进行解码,例如,装置1将该未解码信息中所包括的每一个字段/结构体按至少一个预测解码规则依次解码,直至每一个字段/结构体解码成功,而对于该未解码信息中所包括的多个字段/结构体,可以串行地或并行地执行该依次解码的操作,直至该多个字段/结构体全部解码成功,从而获得对应的第二解码文件。接前例,当该第一解码文件为Json文件,该Json文件中有70个字段/结构体被成功解码,而剩余30个字段/结构体却未能被成功解码。在步骤S203中,装置1将该第一解码文件,即,该Json文件作为输入,对该Json文件中所包括的该30个字段/结构体中的每一个均按至少一个预测解码规则依次解码,例如,分别按Base64解码规则、Base58解码规则、16进制解码规则等对同一个字段/结构体依次进行解码,直至该字段/结构体解码成功,而对于该30个字段/结构体,则可以按照串行地或并行地方式来执行该依次解码的操作,例如,并行处理30个解码操作,这30个解码操作中的每一个对应一个字段/结构体,该字段/结构体按至少一个预测解码规则依次被解码,从而获得第二解码文件,该第二解码文件也为Json文件。
在一优选实施例中,所述第二解码规则包括:将所述未解码信息中所包括的每一个字段/结构体按至少一个预测解码规则依次解码,直至所述每一个字段/结构体解码成功;对于所述未解码信息中所包括的至少一个字段/结构体,并行地执行所述依次解码操作,直至所述至少一个字段/结构体全部解码成功。
具体地,该未解码信息中包括多个字段/结构体,该第二解码规则包括:在步骤S203中,装置1将这多个字段/结构体进行并行地处理,每一个字段/结构体依次按照至少一个预测解码规则进行解码,例如,先推测该字段/结构体的编码方式为16进制,按照16进制解码规则对该未解码的字段/结构体进行解码,若仍旧未能解码成功,则再推测该字段/结构体的编码方式为Base58,按照Base58解码规则对该未解码的字段/结构体进行解码,若还是未能解码成功,则再推荐该字段/结构体的编码方式为Base64,按照Base64解码规则对该未解码的字段/结构体进行解码,按此方式依次根据不同的解码方式进行解码,直至将该未解码的字段/结构体完全解码成功。对于该未解码信息中包括的多个字段/结构体,每一个字段/结构体均以此规则进行解码,且并行地处理,直至所有的未解码的字段/结构体全部解码成功。
在一优选实施例中,装置1根据所述第一解码文件中所包括的字符的特征,选择所述至少一个预测解码规则。
具体地,第一解码文件所包括的字符可能具有一定的特征,装置1根据该字符的特征,选择至少一个预测解码规则,例如,前述第一次解码出的第一解码文件Json文件中的字段存在多个字符“=”,而通常该“=”是基于Base64编码的特征,或者,该Json文件中的字符的字节头包含“LS0t”,字节尾包含“LSOK”,这些都有可能是基于Base64编码的特征,因此,装置1根据上述特征,选择Base64解码规则来进行第二次解码。又如,该第一解码文件中存在多个特征,多个特征分别对应多个解码规则,则装置1将该多个解码规则作为预测解码规则,按该多个解码规则对该第一解码文件继续进行第二次解码,例如,按16进制解码规则、Base58解码规则、Base64解码规则、等多个预测解码规则对该第一解码文件进行第二次解码。具体地,在步骤S203中,装置1将该未解码信息中所包括的每一个字段/结构体按该选择的至少一个预测解码规则依次解码,直至该每一个字段/结构体解码成功;对于该未解码信息中所包括的至少一个字段/结构体,并行地执行该依次解码操作,直至该至少一个字段/结构体全部解码成功。
在此,装置1根据该第一解码文件中所包括的字符的特征,还可以冗余地多选择至少一个解码规则作为预测解码规则,按照所选择的预测解码规则对该未解码信息进行第二次解码,获得对应的第二解码文件。
在此,装置1根据第一次解码获得的第一解码文件中所包括的字符的特征,来选择至少一个预测解码规则对该第一解码文件中包括的未解码信息进行第二次解码,通过多次解码尝试最终实现成功解码,提高了解码效率与正确率。
在一实施例中,联盟链的Fabric平台先将区块信息,如区块哈希、上一区块哈希等信息利用自定义的复杂的protobuf协议进行统一编码,转为二进制流;则装置1在获取该区块的基于protobuf编码的二进制流之后,先按第一解码规则,如利用Fabric平台提供的一个工具configtxlator,将该基于protobuf编码的二进制流解码成一个Json文件,该Json文件中存在未被解码的信息,随后,装置1再将该Json文件进行Base64解码,若还存在未被解码的信息,则装置1再将该经过Base64解码的文件再进行16进制解码,直至完全解码成功,解码出该区块哈希、上一区块哈希等区块信息,获得对应的第二解码文件。
例如,当该第一解码文件为Json文件,则该第二解码文件仍旧为Json文件。在此,所获得的第二终解码文件的一个示例如下:
其中,{函数名,参数1,参数2,参数3}等展示的信息,其业务逻辑的意义由相应的智能合约决定。
在步骤S204中,装置1基于所述第二解码文件对所述区块进行区块信息可视化。
具体地,在步骤S204中,装置1基于在步骤S203中所获得的关于该区块的第二解码文件,对该区块进行区块信息可视化操作,例如,将该第二解码文件发送至区块浏览器或其他可用来展示区块信息的展示器,供该浏览器或展示器将该第二解码文件进行可视化展示,或者,根据该第二解码文件,对该区块的各个区块信息进行筛选、排序,最终在浏览器或展示器中按照一定的展示模式进行展示。
在此,区块链浏览器可被提供为用于查看区块链信息的可视化工具。该区块链浏览器的主页可以显示区块链上的关键数据,包括节点信息、交易信息、账户信息以及合约信息。由于区块是区块链信息的一个重要部分,因此区块信息可以为用户突出显示。例如,区块信息可在区块链浏览器中以展示相关区块的图形化联系的图形化结构显示。用户可选择连接相关区块的图形化链接以直观地浏览区块链。
所述图形化结构可与文本显示结合。例如,区块信息可在区块的图形表示上被直接显示,且响应于对表示出的区块的选择,区块的进一步细节可被显示。在区块链浏览器内,用户可选择区块、账户、交易或合约标识信息以查看相应区块、账户、交易或合约的详细信息。对于熟悉区块链详细技术和知识的用户以及不熟悉区块链详细技术的非技术性用户,区块链浏览器都可以是有用的。
在此,装置1将联盟链中对应查询请求的区块的二进制流按第一解码规则进行第一次解码,获得第一解码文件,再对该第一解码文件中包括的未解码信息按第二解码规则进行第二次解码,获得完全解码成功的第二解码文件,基于该第二解码文件对该区块进行区块信息可视化;装置1针对目前不易解码的联盟链中的区块,采用多次解码的方式对其进行解码尝试,使得最终解码成功并对解码后的区块信息进行可视化,方便了查看和使用;并且,装置1在应用之初不需要事先构建好数据库用于映射区块和交易结构,也不需要事先把联盟链中的区块和交易信息导入到数据库中,当需要查询某个指定区块的区块信息时,只需要输入针对该指定区块对应的查询请求,如输入对应区块哈希、区块编号或交易哈希等信息,就能实时地解码这个区块的信息并进行可视化,减轻了网络负担,提升了使用体验。
在一优选实施例中,该方法还包括步骤S205(未示出)。在步骤S205中,装置1将所述区块的上链信息与所述第二解码文件进行比对,判断所述第二解码文件是否正确;在步骤S204中,当判断所述第二解码文件正确,基于正确的所述第二解码文件对所述区块进行区块信息可视化。
具体地,对于在步骤S203中所获得的第二解码文件,装置1可以判断其准确性,当判断出该第二解码文件正确时,才基于该正确的第二解码文件对该区块进行区块信息可视化。在步骤S205中,装置1将该区块的上链信息与该第二解码文件进行比对,例如,将该上链信息所包括的区块哈希与该第二解码文件中所包括的区块哈希进行比对,当两者一致时,判断该第二解码文件正确;随后,在步骤S204中,基于该正确的第二解码文件对该区块进行区块信息可视化,对该区块进行区块信息可视化的具体操作与前述相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
在此,该上链信息包括但不限于区块哈希、交易时间、上链时间、智能合约信息、智能合约交互时的参数等,装置1可根据其中一项或多项,来判断第二解码文件是否正确。本领域技术人员应能理解,上述上链信息中所包括的信息仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的上链信息中所包括的信息,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
在此,装置1将区块的上链信息与解码出的第二解码文件进行比对,当该第二解码文件正确时,才基于正确的第二解码文件对该区块进行区块信息可视化,进一步提升了可视化区块信息的准确性与可靠性。
在一优选实施例中,该方法还包括步骤S206(未示出)。在步骤S206中,装置1根据所述第二解码文件,建立或更新对应的数据库。
具体地,在获得关于该区块的第二解码文件之后,装置1根据该第二解码文件,建立或更新对应的数据库,以供后续查询使用,如将该区块的哈希与对应的第二解码文件的映射关系存入该数据库中,或者,将该区块的编号与该第二解码文件的映射关系存入该数据库中。例如,在步骤S206中,装置1根据解码获得的第二解码文件,从该第二解码文件中提取该区块的编号,或该区块的哈希,建立该区块的编号或区块的哈希与该第二解码文件的映射关系,并存入数据库中,从而建立或更新对应的数据库。若装置1今后需要从该数据库中查询匹配解码文件,则可根据区块哈希或区块的编号自该数据库中进行查询匹配。该数据库例如位于该装置1中,也可以位于与该装置1具有网络连接的第三方设备中。
在一优选实施例中,该方法还包括步骤S207(未示出)。在步骤S207中,装置1根据接收到的所述查询请求,在所述数据库中进行匹配查找;若在所述数据库中未能匹配到对应所述区块的解码文件,则执行步骤S201至步骤S204的操作。
具体地,在获取来自客户端的查询请求之后,在步骤S207中,装置1根据该查询请求,例如根据该查询请求所包括的区块哈希、区块编号或交易哈希,在该数据库中进行匹配查找。若该装置1在该数据库中匹配到了对应的解码文件,则可直接获取该解码文件并加以使用,例如,将该获取的解码文件中的区块信息进行可视化操作。若该装置1在该数据库中未能匹配到对应的解码文件,则该装置1再基于该查询请求,确定联盟链中与该查询请求对应的区块,进而,获取该区块对应的二进制流;随后,装置1对该二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按第一解码规则未能被成功解码的未解码信息;基于该第一解码文件,对该未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;基于该第二解码文件对该区块进行区块信息可视化操作。此处,当装置1未能在该数据库中未能匹配到对应该区块的解码文件后所执行的操作与前述所记载的操作相同或相似,故此处不再赘述,并通过引用的方式包含于此。
在此,装置1将在步骤S203中解码后获得的区块信息进行缓存,下次再查的时候,不需要再次进行解码就能直接展示对应区块的区块信息;此外,在未能查找到对应区块信息时,则再根据查询请求实时地解码对应区块的区块信息,实现了惰性初始化。
图3示出根据本申请另一个方面的一种在联盟链中实现区块信息可视化的装置的示意图。
装置1包括获取装置301、第一解码装置302、第二解码装置303和可视化装置304。
获取装置301根据接收到的查询请求,获取联盟链中与所述查询请求对应的区块的二进制流。
具体地,获取装置301接收对应的查询请求,例如,用户通过其客户端发送了查询请求,该查询请求中可以包括但不限于以下至少任一项:区块哈希;区块编号;交易哈希;获取装置301通过约定的通信方式接收该查询请求,随后,基于该查询请求,确定联盟链中与该查询请求对应的区块,进而,获取该区块对应的二进制流。例如,以联盟链的Fabric平台为例,由于Fabric平台本身对于区块内容采用了Google Protocol Buffer(后文简称为protobuf)编码协议,获取装置301根据接收到的查询请求确定对应的区块,随后,利用SDK(Software Development Kit,软件开发工具包)查询获得该区块的二进制流,该二进制流是基于protobuf编码的。
在一实施例中,用户例如在已有的区块链浏览器或其他可展示区块链信息的展示器中获取到某个区块的区块哈希,并将该区块哈希作为一个查询请求进行匹配查询,获取装置301接收到该查询请求,并基于该查询请求中包括的区块哈希,获取联盟链中与该查询请求对应的区块的二进制流。
在另一实施例中,用户例如在已有的区块链浏览器或其他可展示区块链信息的展示器中获取到某个交易哈希,并将该交易哈希作为一个查询请求进行匹配查询,获取装置301接收到该查询请求,并基于该查询请求中包括的交易哈希,确定对应的区块,进而,获取联盟链中该区块的二进制流。
本领域技术人员应能理解,上述查询请求中所包括的信息仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的查询请求中所包括的信息,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
第一解码装置302对所述二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按所述第一解码规则未能被成功解码的未解码信息。
具体地,第一解码装置302对前述获取装置301获取的二进制流按第一解码规则进行第一次解码,从而获得第一解码文件,然而,由于联盟链的特点,根据联盟链提供的工具,所能获得的仅是二进制流,而无法可视化。例如,在联盟链的Fabric平台中,根据该Fabric平台本身提供的SDK工具,所能得到的仅是基于protobuf编码的二进制流,是无法可视化的。并且,按照第一解码规则对该二进制流进行解码存在不能完全将所有的二进制流成功解码的情况,也即,该第一解码文件中包括按该第一解码规则未能被成功解码的未解码信息。
例如,以联盟链的Fabric平台为例,获取装置301根据查询请求获取到联盟链中的某个区块的基于protobuf编码的二进制流;随后,第一解码装置302利用Fabric平台提供的一个工具configtxlator,将该基于protobuf编码的二进制流解码成一个Json文件,该Json文件即为第一解码文件,然而,该第一解码文件中除了包括已解码成功的信息,还包括按照该第一解码规则进行解码却未能够被成功解码的未解码信息。例如,当该第一解码文件为Json文件,该Json文件中有70个字段/结构体被成功解码,而剩余30个字段/结构体却未能被成功解码。该Json文件只能正常显示区块的一部分信息,如,区块编号等,但是,诸如前一个区块哈希、当前区块哈希、交易哈希、交易时间戳、输入参数等关键信息都未能正确显示。
本领域技术人员应能理解,上述联盟链中的Fabric平台、所使用的工具以及第一解码文件的格式仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的联盟链中其他平台、所使用的其他工具以及第一解码文件的其他格式,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
第二解码装置303基于所述第一解码文件,对所述未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件。
具体地,第二解码装置303基于该第一解码文件,对前述第一解码装置302未能成功解码的未解码信息按第二解码规则进行第二次解码,该第二次解码例如通过多次推测和尝试将该未能被成功解码的未解码信息进行解码,例如,第二解码装置303将该未解码信息中所包括的每一个字段/结构体按至少一个预测解码规则依次解码,直至每一个字段/结构体解码成功,而对于该未解码信息中所包括的多个字段/结构体,可以串行地或并行地执行该依次解码的操作,直至该多个字段/结构体全部解码成功,从而获得对应的第二解码文件。接前例,当该第一解码文件为Json文件,该Json文件中有70个字段/结构体被成功解码,而剩余30个字段/结构体却未能被成功解码。第二解码装置303将该第一解码文件,即,该Json文件作为输入,对该Json文件中所包括的该30个字段/结构体中的每一个均按至少一个预测解码规则依次解码,例如,分别按Base64解码规则、Base58解码规则、16进制解码规则等对同一个字段/结构体依次进行解码,直至该字段/结构体解码成功,而对于该30个字段/结构体,则可以按照串行地或并行地方式来执行该依次解码的操作,例如,并行处理30个解码操作,这30个解码操作中的每一个对应一个字段/结构体,该字段/结构体按至少一个预测解码规则依次被解码,从而获得第二解码文件,该第二解码文件也为Json文件。
在一优选实施例中,所述第二解码规则包括:将所述未解码信息中所包括的每一个字段/结构体按至少一个预测解码规则依次解码,直至所述每一个字段/结构体解码成功;对于所述未解码信息中所包括的至少一个字段/结构体,并行地执行所述依次解码操作,直至所述至少一个字段/结构体全部解码成功。
具体地,该未解码信息中包括多个字段/结构体,该第二解码规则包括:第二解码装置303将这多个字段/结构体进行并行地处理,每一个字段/结构体依次按照至少一个预测解码规则进行解码,例如,先推测该字段/结构体的编码方式为16进制,按照16进制解码规则对该未解码的字段/结构体进行解码,若仍旧未能解码成功,则再推测该字段/结构体的编码方式为Base58,按照Base58解码规则对该未解码的字段/结构体进行解码,若还是未能解码成功,则再推荐该字段/结构体的编码方式为Base64,按照Base64解码规则对该未解码的字段/结构体进行解码,按此方式依次根据不同的解码方式进行解码,直至将该未解码的字段/结构体完全解码成功。对于该未解码信息中包括的多个字段/结构体,每一个字段/结构体均以此规则进行解码,且并行地处理,直至所有的未解码的字段/结构体全部解码成功。
在一优选实施例中,该装置1还包括选择装置(未示出),该选择装置根据所述第一解码文件中所包括的字符的特征,选择所述至少一个预测解码规则。
具体地,第一解码文件所包括的字符可能具有一定的特征,选择装置根据该字符的特征,选择至少一个预测解码规则,例如,前述第一次解码出的第一解码文件Json文件中的字段存在多个字符“=”,而通常该“=”是基于Base64编码的特征,或者,该Json文件中的字符的字节头包含“LS0t”,字节尾包含“LS0K”,这些都有可能是基于Base64编码的特征,因此,选择装置根据上述特征,选择Base64解码规则来进行第二次解码。又如,该第一解码文件中存在多个特征,多个特征分别对应多个解码规则,则选择装置将该多个解码规则作为预测解码规则,第二解码装置303按该多个解码规则对该第一解码文件继续进行第二次解码,例如,按16进制解码规则、Base58解码规则、Base64解码规则、等多个预测解码规则对该第一解码文件进行第二次解码。具体地,第二解码装置303将该未解码信息中所包括的每一个字段/结构体按该选择的至少一个预测解码规则依次解码,直至该每一个字段/结构体解码成功;对于该未解码信息中所包括的至少一个字段/结构体,并行地执行该依次解码操作,直至该至少一个字段/结构体全部解码成功。
在此,选择装置根据该第一解码文件中所包括的字符的特征,还可以冗余地多选择至少一个解码规则作为预测解码规则,按照所选择的预测解码规则对该未解码信息进行第二次解码,获得对应的第二解码文件。
在此,装置1根据第一次解码获得的第一解码文件中所包括的字符的特征,来选择至少一个预测解码规则对该第一解码文件中包括的未解码信息进行第二次解码,通过多次解码尝试最终实现成功解码,提高了解码效率与正确率。
在一实施例中,联盟链的Fabric平台先将区块信息,如区块哈希、上一区块哈希等信息利用自定义的复杂的protobuf协议进行统一编码,转为二进制流;则第一解码装置302在获取该区块的基于protobuf编码的二进制流之后,先按第一解码规则,如利用Fabric平台提供的一个工具configtxlator,将该基于protobuf编码的二进制流解码成一个Json文件,该Json文件中存在未被解码的信息,随后,第二解码装置303再将该Json文件进行Base64解码,若还存在未被解码的信息,则第二解码装置303再将该经过Base64解码的文件再进行16进制解码,直至完全解码成功,解码出该区块哈希、上一区块哈希等区块信息,获得对应的第二解码文件。
例如,当该第一解码文件为Json文件,则该第二解码文件仍旧为Json文件。在此,所获得的第二终解码文件的一个示例如下:
其中,{函数名,参数1,参数2,参数3}等展示的信息,其业务逻辑的意义由相应的智能合约决定。
可视化装置304基于所述第二解码文件对所述区块进行区块信息可视化。
具体地,可视化装置304基于第二解码装置303中所获得的关于该区块的第二解码文件,对该区块进行区块信息可视化操作,例如,将该第二解码文件发送至区块浏览器或其他可用来展示区块信息的展示器,供该浏览器或展示器将该第二解码文件进行可视化展示,或者,根据该第二解码文件,对该区块的各个区块信息进行筛选、排序,最终在浏览器或展示器中按照一定的展示模式进行展示。
在此,区块链浏览器可被提供为用于查看区块链信息的可视化工具。该区块链浏览器的主页可以显示区块链上的关键数据,包括节点信息、交易信息、账户信息以及合约信息。由于区块是区块链信息的一个重要部分,因此区块信息可以为用户突出显示。例如,区块信息可在区块链浏览器中以展示相关区块的图形化联系的图形化结构显示。用户可选择连接相关区块的图形化链接以直观地浏览区块链。
所述图形化结构可与文本显示结合。例如,区块信息可在区块的图形表示上被直接显示,且响应于对表示出的区块的选择,区块的进一步细节可被显示。在区块链浏览器内,用户可选择区块、账户、交易或合约标识信息以查看相应区块、账户、交易或合约的详细信息。对于熟悉区块链详细技术和知识的用户以及不熟悉区块链详细技术的非技术性用户,区块链浏览器都可以是有用的。
在此,装置1将联盟链中对应查询请求的区块的二进制流按第一解码规则进行第一次解码,获得第一解码文件,再对该第一解码文件中包括的未解码信息按第二解码规则进行第二次解码,获得完全解码成功的第二解码文件,基于该第二解码文件对该区块进行区块信息可视化;装置1针对目前不易解码的联盟链中的区块,采用多次解码的方式对其进行解码尝试,使得最终解码成功并对解码后的区块信息进行可视化,方便了查看和使用;并且,装置1在应用之初不需要事先构建好数据库用于映射区块和交易结构,也不需要事先把联盟链中的区块和交易信息导入到数据库中,当需要查询某个指定区块的区块信息时,只需要输入针对该指定区块对应的查询请求,如输入对应区块哈希、区块编号或交易哈希等信息,就能实时地解码这个区块的信息并进行可视化,减轻了网络负担,提升了使用体验。
在一优选实施例中,该装置1还包括比对装置(未示出)。该比对装置将所述区块的上链信息与所述第二解码文件进行比对,判断所述第二解码文件是否正确;当判断所述第二解码文件正确,可视化装置304基于正确的所述第二解码文件对所述区块进行区块信息可视化。
具体地,对于第二解码装置303所获得的第二解码文件,比对装置可以判断其准确性,当判断出该第二解码文件正确时,可视化装置304才基于该正确的第二解码文件对该区块进行区块信息可视化。比对装置将该区块的上链信息与该第二解码文件进行比对,例如,将该上链信息所包括的区块哈希与该第二解码文件中所包括的区块哈希进行比对,当两者一致时,判断该第二解码文件正确;随后,可视化装置304基于该正确的第二解码文件对该区块进行区块信息可视化,对该区块进行区块信息可视化的具体操作与前述相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
在此,该上链信息包括但不限于区块哈希、交易时间、上链时间、智能合约信息、智能合约交互时的参数等,比对装置可根据其中一项或多项,来判断第二解码文件是否正确。本领域技术人员应能理解,上述上链信息中所包括的信息仅为举例,不应视为对本申请的限制,其他现有的或今后可能出现的上链信息中所包括的信息,如可适用于本申请,也应包含在本申请的保护范围之内,并通过引用的方式包含于此。
在此,装置1将区块的上链信息与解码出的第二解码文件进行比对,当该第二解码文件正确时,才基于正确的第二解码文件对该区块进行区块信息可视化,进一步提升了可视化区块信息的准确性与可靠性。
在一优选实施例中,该装置1还包括更新装置(未示出)。更新装置根据所述第二解码文件,建立或更新对应的数据库。
具体地,在获得关于该区块的第二解码文件之后,更新装置根据该第二解码文件,建立或更新对应的数据库,以供后续查询使用,如将该区块的哈希与对应的第二解码文件的映射关系存入该数据库中,或者,将该区块的编号与该第二解码文件的映射关系存入该数据库中。例如,更新装置根据解码获得的第二解码文件,从该第二解码文件中提取该区块的编号,或该区块的哈希,建立该区块的编号或区块的哈希与该第二解码文件的映射关系,并存入数据库中,从而建立或更新对应的数据库。若装置1今后需要从该数据库中查询匹配解码文件,则可根据区块哈希或区块的编号自该数据库中进行查询匹配。该数据库例如位于该装置1中,也可以位于与该装置1具有网络连接的第三方设备中。
在一优选实施例中,该装置1还包括匹配装置(未示出)。匹配装置根据接收到的所述查询请求,在所述数据库中进行匹配查找;若在所述数据库中未能匹配到对应所述区块的解码文件,则通知所述获取装置301、所述第一解码装置302、所述第二解码装置303及所述可视化装置304执行其操作。
具体地,在获取来自客户端的查询请求之后,匹配装置根据该查询请求,例如根据该查询请求所包括的区块哈希、区块编号或交易哈希,在该数据库中进行匹配查找。若该匹配装置在该数据库中匹配到了对应的解码文件,则可直接获取该解码文件并加以使用,例如,将该获取的解码文件中的区块信息进行可视化操作。若该匹配装置在该数据库中未能匹配到对应的解码文件,则该匹配装置再通知对应的其他装置执行其上的操作,例如,通知获取装置301基于该查询请求,确定联盟链中与该查询请求对应的区块,进而,获取该区块对应的二进制流;通知第一解码装置302对该二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按第一解码规则未能被成功解码的未解码信息;通知第二解码装置303基于该第一解码文件,对该未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;通知可视化装置304基于该第二解码文件对该区块进行区块信息可视化操作。此处,当匹配装置未能在该数据库中未能匹配到对应该区块的解码文件后所执行的操作与前述所记载的操作相同或相似,故此处不再赘述,并通过引用的方式包含于此。
在此,装置1将第二解码装置303解码成功后获得的区块信息进行缓存,下次再查的时候,不需要再次进行解码就能直接展示对应区块的区块信息;此外,在未能查找到对应区块信息时,则再根据查询请求实时地解码对应区块的区块信息,实现了惰性初始化。
本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个功能或步骤的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种在联盟链中实现区块信息可视化的方法,其中,该方法包括:
a根据接收到的查询请求,获取联盟链中与所述查询请求对应的区块的二进制流;
b对所述二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按所述第一解码规则未能被成功解码的未解码信息;
c基于所述第一解码文件,对所述未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;其中,所述第二解码规则包括:
将所述未解码信息中所包括的每一个字段/结构体按至少一个预测解码规则依次解码,直至所述每一个字段/结构体解码成功;其中,所述至少一个预测解码规则根据所述第一解码文件中所包括的字符的特征冗余地选择;
对于所述未解码信息中所包括的至少一个字段/结构体,并行地执行所述依次解码操作,直至所述至少一个字段/结构体全部解码成功;
d基于所述第二解码文件对所述区块进行区块信息可视化。
2.根据权利要求1所述的方法,其中,该方法还包括:
根据所述第一解码文件中所包括的字符的特征,选择所述至少一个预测解码规则。
3.根据权利要求1或2所述的方法,其中,该方法还包括:
根据所述第二解码文件,建立或更新对应的数据库。
4.根据权利要求3所述的方法,其中,该方法在步骤a之前还包括:
根据接收到的所述查询请求,在所述数据库中进行匹配查找;
若在所述数据库中未能匹配到对应所述区块的解码文件,则执行步骤a至步骤d的操作。
5.根据权利要求1或2所述的方法,其中,
该方法在步骤d之前还包括:
将所述区块的上链信息与所述第二解码文件进行比对,判断所述第二解码文件是否正确;
其中,所述步骤d包括:
当判断所述第二解码文件正确,基于正确的所述第二解码文件对所述区块进行区块信息可视化。
6.一种在联盟链中实现区块信息可视化的装置,其中,该装置包括:
获取装置,用于根据接收到的查询请求,获取联盟链中与所述查询请求对应的区块的二进制流;
第一解码装置,用于对所述二进制流按第一解码规则进行第一次解码,获得对应的第一解码文件,其中,所述第一解码文件中包括按所述第一解码规则未能被成功解码的未解码信息;
第二解码装置,用于基于所述第一解码文件,对所述未解码信息按第二解码规则进行第二次解码,获得对应的第二解码文件;其中,所述第二解码规则包括:
将所述未解码信息中所包括的每一个字段/结构体按至少一个预测解码规则依次解码,直至所述每一个字段/结构体解码成功;其中,所述至少一个预测解码规则根据所述第一解码文件中所包括的字符的特征冗余地选择;
对于所述未解码信息中所包括的至少一个字段/结构体,并行地执行所述依次解码操作,直至所述至少一个字段/结构体全部解码成功;
可视化装置,用于基于所述第二解码文件对所述区块进行区块信息可视化。
7.根据权利要求6所述的装置,其中,该装置还包括:
选择装置,用于根据所述第一解码文件中所包括的字符的特征,选择所述至少一个预测解码规则。
8.根据权利要求6或7所述的装置,其中,该装置还包括:
更新装置,用于根据所述第二解码文件,建立或更新对应的数据库。
9.根据权利要求8所述的装置,其中,该装置还包括匹配装置,用于:
根据接收到的所述查询请求,在所述数据库中进行匹配查找;
若在所述数据库中未能匹配到对应所述区块的解码文件,则通知所述获取装置、所述第一解码装置、所述第二解码装置及所述可视化装置执行其操作。
10.根据权利要求6或7所述的装置,其中,该装置还包括:
比对装置,用于将所述区块的上链信息与所述第二解码文件进行比对,判断所述第二解码文件是否正确;
其中,所述可视化装置用于:
当判断所述第二解码文件正确,基于正确的所述第二解码文件对所述区块进行区块信息可视化。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如权利要求1至5中任一项所述的方法被执行。
12.一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010184339.7A CN111400373B (zh) | 2020-03-16 | 2020-03-16 | 一种在联盟链中实现区块信息可视化的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010184339.7A CN111400373B (zh) | 2020-03-16 | 2020-03-16 | 一种在联盟链中实现区块信息可视化的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400373A CN111400373A (zh) | 2020-07-10 |
CN111400373B true CN111400373B (zh) | 2021-05-28 |
Family
ID=71435242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010184339.7A Active CN111400373B (zh) | 2020-03-16 | 2020-03-16 | 一种在联盟链中实现区块信息可视化的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400373B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626515A (zh) * | 2021-08-06 | 2021-11-09 | 戈尔特西斯科技(济南)有限公司 | 基于区块链供应链的企业财务监管审计的系统解决方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3161791A4 (en) * | 2014-06-24 | 2018-01-03 | Sportlogiq Inc. | System and method for visual event description and event analysis |
CN107317725A (zh) * | 2017-06-14 | 2017-11-03 | 物链(北京)科技有限公司 | 一种区块链的可视化方法及系统 |
CN107657986A (zh) * | 2017-09-22 | 2018-02-02 | 中链科技有限公司 | 临床试验数据核查方法、系统及电子设备 |
CN109327077A (zh) * | 2018-10-23 | 2019-02-12 | 杭州白小丁科技有限公司 | 一种基于区块链的新能源光伏发电数据监控方法 |
CN109358177A (zh) * | 2018-11-01 | 2019-02-19 | 华东师范大学 | 一种基于区块链的土壤改良跟踪检测系统 |
CN109491968B (zh) * | 2018-11-13 | 2021-01-22 | 恒生电子股份有限公司 | 一种文件处理方法、装置、设备及计算机可读存储介质 |
CN110163751B (zh) * | 2019-04-15 | 2023-07-04 | 广州致链科技有限公司 | 面向联盟链的区块链访问系统及其实现方法 |
CN110766422B (zh) * | 2019-10-30 | 2022-04-15 | 西南石油大学 | 基于联盟链的药品协作及溯源系统和方法 |
-
2020
- 2020-03-16 CN CN202010184339.7A patent/CN111400373B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111400373A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030222B2 (en) | Similarity sharding | |
US8150813B2 (en) | Using relationships in candidate discovery | |
US20230199013A1 (en) | Attack situation visualization device, attack situation visualization method and recording medium | |
CN102262641B (zh) | 网络查询中的在线手写识别系统和方法 | |
CN113094550A (zh) | 视频检索方法、装置、设备和介质 | |
WO2010123649A1 (en) | Systems and methods for cross-street identification | |
US11080068B2 (en) | Adaptive user-interface assembling and rendering | |
CN114357105B (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
EP3399443A1 (en) | Automated assistance for generating relevant and valuable search results for an entity of interest | |
US9721362B2 (en) | Auto-completion of partial line pattern | |
CN111046237A (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
CN113220734A (zh) | 课程推荐方法、装置、计算机设备及存储介质 | |
CN114782237A (zh) | 基于图案编码的水印生成方法、装置、设备及存储介质 | |
CN111552792B (zh) | 一种信息查询方法、装置、电子设备及存储介质 | |
US20150379112A1 (en) | Creating an on-line job function ontology | |
CN111400373B (zh) | 一种在联盟链中实现区块信息可视化的方法和装置 | |
CN114490756A (zh) | 一种关联查看模型的生成方法、装置、计算机设备及存储介质 | |
CN113360683A (zh) | 训练跨模态检索模型的方法以及跨模态检索方法和装置 | |
CN113326363A (zh) | 搜索方法及装置、预测模型训练方法及装置、电子设备 | |
CN110019193A (zh) | 相似帐号识别方法、装置、设备、系统及可读介质 | |
US20130117245A1 (en) | Method and system for identification of asset records in a version managed datastore | |
CN113591881B (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
CN115859273A (zh) | 一种数据库异常访问的检测方法、装置、设备及存储介质 | |
CN112052409B (zh) | 地址解析方法、装置、设备及介质 | |
CN115168609A (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 |