CN110083635A - 基于区块链的数据查询及显示方法及装置 - Google Patents
基于区块链的数据查询及显示方法及装置 Download PDFInfo
- Publication number
- CN110083635A CN110083635A CN201910218394.0A CN201910218394A CN110083635A CN 110083635 A CN110083635 A CN 110083635A CN 201910218394 A CN201910218394 A CN 201910218394A CN 110083635 A CN110083635 A CN 110083635A
- Authority
- CN
- China
- Prior art keywords
- keyword
- keyword list
- business datum
- specified operation
- list
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000015654 memory Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 15
- 230000005055 memory storage Effects 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 7
- 238000007873 sieving Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种基于区块链的数据查询及显示方法及装置,其中,该方法包括:接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。通过本发明,解决了现有技术中不能对区块链的业务数据进行个性化显示的技术问题,提升了用户体验。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种基于区块链的数据查询及显示方法及装置。
背景技术
现有技术中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Block chain)本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
现有技术中,随着Hyper ledger技术的更新与发展,区块链底层账本的业务数据的查询速度已经达到了一个技术瓶颈,由于区块链本只负责存储业务数据,并不能对业务数据进行管理,导致账本查询出的数据无法进行分页、排序等操作,也不能实现个性化的展示。
针对现有技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种基于区块链的数据查询及显示方法及装置,用于解决现有技术中不能对区块链的业务数据进行个性化显示的技术问题,提升了用户体验。
根据本发明的一个实施例,提供了一种基于区块链的数据查询及显示方法,包括:接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
可选的,所述根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,包括:若用户指令对应的指定操作为分页,根据用户指令使用第三方数据库为所述第一关键字列表中的多个关键字分别分配展示页码,其中,每个关键字对应一个展示页码;若用户指令对应的指定操作为排序,根据用户指令使用第三方数据库按照时间顺序或预设重要程度为所述第一关键字列表中的多个关键字分配排序等级,其中,每个关键字对应一个排序名次;若用户指令对应的指定操作为高亮显示,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待高亮显示的第一指定关键字;若用户指令对应的指定操作为筛选,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待显示的第二指定关键字。
可选的,使用所述第二关键字列表在区块链上查询对应的业务数据包括:向区块链的多个节点广播所述第二关键字列表;确定响应所述第二关键字列表的指定节点;在所述指定节点上查询与所述第二关键字列表中的任一关键字对应的业务数据。
可选的,在使用所述第二关键字列表在区块链上查询对应的业务数据之前,所述方法还包括:基于业务数据生成关键字;将所述关键字,以及与所述关键字一一对应的所述业务数据存储至所述第三方数据库,以及将所述关键字,以及与所述关键字一一对应的加密后的业务数据加密存储至所述区块链。
可选的,基于业务数据生成关键字包括:接收所述业务数据的唯一标识符;基于所述唯一标识符和所述业务数据的业务场景生成所述关键字。
可选的,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作包括:使用Mysql的InnoDB存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;使用Mysql的MyISAM存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;使用Mysql的MEMORY存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作。
根据本发明的另一个实施例,提供了一种基于区块链的数据查询及显示装置,包括:接收模块,用于接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;管理模块,用于根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;显示模块,用于使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
可选的,所述管理模块包括:第一分配单元,用于若用户指令对应的指定操作为分页,根据用户指令使用第三方数据库为所述第一关键字列表中的多个关键字分别分配展示页码,其中,每个关键字对应一个展示页码;第二分配单元,用于若用户指令对应的指定操作为排序,根据用户指令使用第三方数据库按照时间顺序或预设重要程度为所述第一关键字列表中的多个关键字分配排序等级,其中,每个关键字对应一个排序名次;第一选择单元,用于若用户指令对应的指定操作为高亮显示,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待高亮显示的第一指定关键字;第二选择单元,用于若用户指令对应的指定操作为筛选,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待显示的第二指定关键字。
可选的,所述显示模块包括:广播单元,用于向区块链的多个节点广播所述第二关键字列表;确定单元,用于确定响应所述第二关键字列表的指定节点;查询单元,用于在所述指定节点上查询与所述第二关键字列表中的任一关键字对应的业务数据。
可选的,所述装置还包括:生成模块,用于在所述显示模块使用所述第二关键字列表在区块链上查询对应的业务数据之前,基于业务数据生成关键字;存储模块,用于将所述关键字,以及与所述关键字一一对应的所述业务数据存储至所述第三方数据库,以及将所述关键字,以及与所述关键字一一对应的加密后的业务数据加密存储至所述区块链。
可选的,所述生成模块包括:接收子单元,用于接收所述业务数据的唯一标识符;生成子单元,用于基于所述唯一标识符和所述业务数据的业务场景生成所述关键字。
可选的,所述管理模块包括:第一管理单元,用于使用Mysql的InnoDB存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;第二管理单元,用于使用Mysql的MyISAM存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;第三管理单元,用于使用Mysql的MEMORY存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,接收用于检索业务数据的第一关键字列表之后,使用第三方数据库来管理关键字后,再到区块链上查询业务数据,提高了区块链底层账本的查询速度,可实现业务数据的分页、排序等显示,解决了现有技术中不能对区块链的业务数据进行个性化显示的技术问题,查询到的链上数据可以按照一定的展示策略进行展示,如实现分页查看、根据关键字排序等效果,提升了用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种基于区块链的数据查询及显示服务器的硬件结构框图;
图2是根据本发明实施例的一种基于区块链的数据查询及显示方法的流程图;
图3是本发明实施例在区块链上查询对应的业务数据的流程示意图;
图4是根据本发明实施例的基于区块链的数据查询及显示装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的一种基于区块链的数据查询及显示硬件结构框图。如图1所示,终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种基于区块链的数据查询及显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种基于区块链的数据查询及显示方法,图2是根据本发明实施例的一种基于区块链的数据查询及显示方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;
在本实施例中,第一关键字列表是用户需要检索数据的关键字组成的列表,包括一个或多个关键字,用户在客户端上选择或者输入一个或多个关键字;
步骤S204,根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;
其中,第二关键字列表是对第一关键字列表中的关键字进行管理之后得到的,关键字本身没有发生变化,但对关键字按照一定的展示策略进行管理,由于区块链查询出的业务数据无法再进行管理,所以通过预先对关键字的管理可以间接实现对区块数据的管理;
步骤S206,使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
在查询到与关键字对应的业务数据后,按照预先使用第三方数据库设置的第二关键字列表的展示策略,在展示端显示查询到的所述业务数据。
通过上述步骤,接收用于检索业务数据的第一关键字列表之后,使用第三方数据库来管理关键字后,再到区块链上查询业务数据,提高了区块链底层账本的查询速度,可实现业务数据的分页、排序等显示,解决了现有技术中不能对区块链的业务数据进行个性化显示的技术问题,查询到的链上数据可以按照一定的展示策略进行展示,如实现分页查看、根据关键字排序等效果,提升了用户体验。
本实施例的一个实施方式中,第三方数据库为Mysql,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表,包括:使用Mysql的管理工具对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表。
本实施例在进行分页、排序、高亮显示、筛选指定操作时,需要对第一关键字列表中的多个关键字进行不同的处理,根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,包括:
示例一:在用户指令为分页指令,用户指令对应的指定操作为分页时,根据用户指令使用第三方数据库为所述第一关键字列表中的多个关键字分别分配展示页码,其中,每个关键字对应一个展示页码;
例如,第一关键字列表中的多个关键字分别为:a,b,c,d,e,对其分别分配展示页面,a,b,c,d,e分别分配的展示页码为:1,3,4,5,6,在分配完成后,在后续查询到业务数据后,a,b,c,d,e对应的业务数据会分别显示在第1页,第3页,第4页,第5页,第6页。
示例二:在用户指令为排序指令,用户指令对应的指定操作为排序时,根据用户指令使用第三方数据库按照时间顺序或预设重要程度为所述第一关键字列表中的多个关键字分配排序等级,其中,每个关键字对应一个排序名次;
例如,第一关键字列表中的多个关键字分别为:a,b,c,d,e,对其分别分配排序等级,按照预设重要程度依次为:a,c,e,b,d,在分配完成后,在后续查询到业务数据后,a,b,c,d,e对应的业务数据会分别按照排序等级进行显示,如下:最先a的业务数据,然后在a的业务数据后显示b的业务数据,在b的业务数据后显示c的业务数据,在c的业务数据后显示d的业务数据,在d的业务数据后显示e的业务数据。
示例三:在用户指令为高亮显示指令,若用户指令对应的指定操作为高亮显示时,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待高亮显示的第一指定关键字;
例如,第一关键字列表中的多个关键字分别为:a,b,c,d,e,根据用户指令,c,d的业务数据需要高亮显示,则选择c,d为第一指定关键字,在后续查询到业务数据后,a,b,c,d,e对应的业务数据中c,d的业务数据为高亮显示,a,b,e正常显示,其中,高亮显示可以是标黄了显示,采用指定格式或者指定字体(区别于正常显示的格式和字体)的显示等。
示例四:在用户指令为筛选指令,用户指令对应的指定操作为筛选时,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待显示的第二指定关键字。
例如,第一关键字列表中的多个关键字分别为:a,b,c,d,e,根据用户指令,此次只用显示a,b,c,d的业务数据(e的业务数据隐藏),则将a,b,c,d选择待为第二指定关键字,在后续查询到业务数据后,a,b,c,d,e对应的业务数据中只显示a,b,c,d的业务数据,同时隐藏e的业务数据。
在本实施例中,在使用第三方数据库管理所述第一关键字列表,得到第二关键字列表之前,还包括:
S11,基于业务数据生成关键字;
具体的,基于业务数据生成关键字包括:接收所述业务数据的唯一标识符;基于所述唯一标识符和所述业务数据的业务场景生成所述关键字。业务场景包括业务所在的领域,生成时间等,以使查到的业务数据与关键字更加匹配。
S12,将所述关键字,以及与所述关键字一一对应的所述业务数据存储至所述第三方数据库,以及将所述关键字,以及与所述关键字一一对应的加密后的业务数据加密存储至所述区块链。
在本实施例的一个应用场景中,本实施例的基于区块链分布式账本技术的平台包括:前端显示层、业务应用层、区块链应用层、区块链底层账本。区块链应用层与第三方数据库(如Mysql数据库)之间有数据传输通道。本实施例在应用场景的完整流程包括:用户在前端页面输入业务数据,业务应用层生成业务数据唯一ID,与业务数据一起传给区块链应用层;区块链应用层结合ID与具体业务场景生成关键字,并与业务数据一并存入Mysql数据库;业务数据加密后存入超级账本中,对应的关键字不加密;当业务应用层需要使用关键字查询数据并将数据分页、排序时,区块链应用层先在Mysql数据库中将关键字分页、排序后再去超级账本中查出数据并解密(超级账本中加密数据无法分页、排序),再将分页、排序好的数据返回给业务应用层,业务应用层再返回到前端页面显示。由于查询的时候分页排序的是关键字,而使用关键字可以在区块链上查询对应的数据,由于区块链查询出的数据无法进行分页排序,所以通过对关键字分页排序可以间接实现区块数据的分页排序。
用户在前端显示层的前端页面输入数据,业务应用层对这条数据校验之后生成唯一的ID,将ID与这条业务数据传给区块链应用层,区块链应用层再根据数据对应的业务类型将ID处理之后生成这条数据对应的关键字,区块链应用层将关键字与这条数据存入Mysql数据库,同时将关键字与数据同步到区块链,关键字将数据库数据与链上数据(区块链上存储的数据)一一对应,同时用于查询区块链上的数据,数据库数据和链上数据相同,通过关键字对应。
根据本实施例的上述应用场景,当业务应用层需要查询业务数据时,区块链应用层先在Mysql数据库中进行分页或排序等操作,管理关键字列表,关键字对应业务数据,关键字分页或排序之后,可以实现业务数据的分页或排序显示。
数据输入的检索信息可以直接是关键字,也可以是ID,由于Mysql数据库和区块链上存储的都是关键字,因此需要将ID转换为关键字,在一个示例中,ID与关键字相同。
本实施例可以利用Mysql InnoDB引擎的索引,可以在数据库快速找到关键字,并使用Mysql的分页、排序功能处理关键字,也可以使用MyISAM、MEMORY等引擎。使用Mysql的管理工具对所述第一关键字列表中的多个关键字进行指定操作包括:使用Mysql的InnoDB存储引擎对所述第一关键字列表中的多个关键字进行指定操作;使用Mysql的MyISAM存储引擎对所述第一关键字列表中的多个关键字进行指定操作;使用Mysql的MEMORY存储引擎对所述第一关键字列表中的多个关键字进行指定操作。下面分别对其进行详细解释和说明:
innodb存储引擎,支持外键,事务,行锁,安全性更高,写入快查询慢,适合大数据量;InnoDB中,创建的表的表结构存储在.frm文件中。数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。InnoDB的优势在于提供了良好的事务处理、崩溃修复能力和并发控制。缺点是读写效率较差,占用的数据空间相对较大。
myisam存储引擎,查询快写入慢,支持全文索引,表锁(MyISAM同一个表上的读锁和写锁是互斥的,容易阻塞);MyISAM是基于ISAM引擎发展起来的,增加了许多有用的扩展。MyISAM的表存储成3个文件。文件的名字与表名相同。拓展名为frm、MYD、MYI。frm文件存储表的结构;MYD文件存储数据,是MYData的缩写;MYI文件存储索引,是MYIndex的缩写。基于MyISAM存储引擎的表支持3种不同的存储格式。包括静态型、动态型和压缩型。其中,静态型是MyISAM的默认存储格式,它的字段是固定长度的;动态型包含变长字段,记录的长度不是固定的;压缩型需要用到myisampack工具,占用的磁盘空间较小。MyISAM的优势在于占用空间小,处理速度快。缺点是不支持事务的完整性和并发性。
MEMORY存储引擎,是MySQL中一类特殊的存储引擎。它使用存储在内存中的内容来创建表,而且数据全部放在内存中。每个基于MEMORY存储引擎的表实际对应一个磁盘文件。该文件的文件名与表名相同,类型为frm类型。该文件中只存储表的结构。而其数据文件,都是存储在内存中,这样有利于数据的快速处理,提高整个表的效率。但是服务器需要有足够的内存来维持MEMORY存储引擎的表的使用。MEMORY默认使用哈希索引,速度比使用B型树索引快,当然如果想用B型树索引,可以在创建索引时指定。
可选的,使用Mysql的分页、排序功能处理关键字分别包括:
分页过程包括:确定每页中每条显示数据之间的间隔值,以及页面的最大可显示数据量,或者数据条数。分页功能是使用Mysql的limit功能,Mysql limit语法是SELECTcolumn_name(s)FROM table_name LIMIT[offset,]rows,第一个参数offset是可选的,用于指定第一个返回记录行的偏移量,第二个参数rows指定记录行的最大数目。select是Mysql查询数据的语法,加上limit限制可以返回指定的记录数,例如若此时table表中有10条记录,SELECT*FROM table LIMIT 5,5则是将表中数据分为5条一页,5条关键字的数据显示在第一页,另5条关键字的数据显示在第二页;
排序功能是使用Mysql的order by功能,语法是SELECT column_name(s)FROMtable_name ORDER BY field1,[field2...][ASC[DESC]],可以指定按哪个字段升序还是降序排序,例如SELECT*FROM table ORDER BY date DESC就是查询table表时将数据按照date字段降序排序后展示。对关键字进行排序具体包括:根据时间排序,根据关键字的重要性等。
图3是本发明实施例在区块链上查询对应的业务数据的流程示意图,如图3所示,使用所述第二关键字列表在区块链上查询对应的业务数据包括:
S302,向区块链的多个节点广播所述第二关键字列表;
在广播之前,如果第二关键字列表不是区块链可识别的字段,需要将第三方数据库的数据(Mysql数据)转换为区块链语句,将Mysql数据中各种类型的字符串转换为二进制码;
S304,确定响应所述第二关键字列表的指定节点;
S306,在所述指定节点上查询与所述第二关键字列表中的任一关键字对应的业务数据。接收到节点的响应消息后,将响应的节点确定为指定节点,然后定位到响应的指定节点查询与关键字对应的业务数据。第二关键字列表的业务数据可能存储在多个区块链节点上,因此只要区块节点的数据与任一关键字对应,都会向请求端反馈业务数据。
在本实施例中,在使用所述第二关键字列表在区块链上查询对应的业务数据之后,还包括:按照所述第二关键字列表中各个关键字的展示策略,展示所述业务数据。在得到数据值(业务数据)之后,还需要对其进行解密处理,解密之后返回给客户端。
第二关键字列表中各个关键字的展示策略包括分页展示、排序展示等,如使用Mysql的分页、排序功能处理关键字后,再从区块链中查出数据,即可在展示终端上安装与关键字对应的展示策略展示业务数据。
可选地,上述步骤的执行主体可以为客户端或服务器等,客户端可以是移动终端,PC等,服务器可以是数据服务器,策略服务器等。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种基于区块链的数据查询及显示装置,可以是终端或服务器,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的基于区块链的数据查询及显示装置的结构框图,可以应用在客户端或服务器中,如图4所示,该装置包括:接收模块40,管理模块42,显示模块44,其中,
接收模块,用于接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;
管理模块42,用于根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;
显示模块44,用于使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
可选的,所述管理模块包括:第一分配单元,用于若用户指令对应的指定操作为分页,根据用户指令使用第三方数据库为所述第一关键字列表中的多个关键字分别分配展示页码,其中,每个关键字对应一个展示页码;第二分配单元,用于若用户指令对应的指定操作为排序,根据用户指令使用第三方数据库按照时间顺序或预设重要程度为所述第一关键字列表中的多个关键字分配排序等级,其中,每个关键字对应一个排序名次;第一选择单元,用于若用户指令对应的指定操作为高亮显示,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待高亮显示的第一指定关键字;第二选择单元,用于若用户指令对应的指定操作为筛选,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待显示的第二指定关键字。
可选的,所述显示模块包括:广播单元,用于向区块链的多个节点广播所述第二关键字列表;确定单元,用于确定响应所述第二关键字列表的指定节点;查询单元,用于在所述指定节点上查询与所述第二关键字列表中的任一关键字对应的业务数据。
可选的,所述装置还包括:生成模块,用于在所述显示模块使用所述第二关键字列表在区块链上查询对应的业务数据之前,基于业务数据生成关键字;存储模块,用于将所述关键字,以及与所述关键字一一对应的所述业务数据存储至所述第三方数据库,以及将所述关键字,以及与所述关键字一一对应的加密后的业务数据加密存储至所述区块链。
可选的,所述生成模块包括:接收子单元,用于接收所述业务数据的唯一标识符;生成子单元,用于基于所述唯一标识符和所述业务数据的业务场景生成所述关键字。
可选的,所述管理模块包括:第一管理单元,用于使用Mysql的InnoDB存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;第二管理单元,用于使用Mysql的MyISAM存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;第三管理单元,用于使用Mysql的MEMORY存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作。
需要说明的是,终端和服务器仅是方案在执行主体上的差异,上述识别终端中的各个示例和可选方案同样适应在服务器中,并产生相同的技术效果。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;
S2,根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;
S3,使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;
S2,根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到所述第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;
S3,使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种基于区块链的数据查询及显示方法,其特征在于,包括:
接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;
根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;
使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
2.根据权利要求1所述的方法,其特征在于,所述根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,包括:
若用户指令对应的指定操作为分页,根据用户指令使用第三方数据库为所述第一关键字列表中的多个关键字分别分配展示页码,其中,每个关键字对应一个展示页码;
若用户指令对应的指定操作为排序,根据用户指令使用第三方数据库按照时间顺序或预设重要程度为所述第一关键字列表中的多个关键字分配排序等级,其中,每个关键字对应一个排序名次;
若用户指令对应的指定操作为高亮显示,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待高亮显示的第一指定关键字;
若用户指令对应的指定操作为筛选,根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待显示的第二指定关键字。
3.根据权利要求1所述的方法,其特征在于,使用所述第二关键字列表在区块链上查询对应的业务数据包括:
向区块链的多个节点广播所述第二关键字列表;
确定响应所述第二关键字列表的指定节点;
在所述指定节点上查询与所述第二关键字列表中的任一关键字对应的业务数据。
4.根据权利要求1述的方法,其特征在于,在使用所述第二关键字列表在区块链上查询对应的业务数据之前,所述方法还包括:
基于业务数据生成关键字;
将所述关键字,以及与所述关键字一一对应的所述业务数据存储至所述第三方数据库,以及将所述关键字,以及与所述关键字一一对应的加密后的业务数据加密存储至所述区块链。
5.根据权利要求4述的方法,其特征在于,基于业务数据生成关键字包括:
接收所述业务数据的唯一标识符;
基于所述唯一标识符和所述业务数据的业务场景生成所述关键字。
6.根据权利要求2述的方法,其特征在于,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作包括:
使用Mysql的InnoDB存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;
使用Mysql的MyISAM存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作;
使用Mysql的MEMORY存储引擎对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作。
7.一种基于区块链的数据查询及显示装置,其特征在于,包括:
接收模块,用于接收用于检索数据的第一关键字列表,其中,所述第一关键字列表由多个关键字组成;
管理模块,用于根据用户指令,使用第三方数据库对所述第一关键字列表中的多个关键字进行所述用户指令对应的指定操作,得到第二关键字列表;所述指定操作包括分页、排序、高亮显示、筛选中的至少一个;
显示模块,用于使用所述第二关键字列表在区块链上查询对应的业务数据,并根据所述第二关键字列表中包含的多个关键字与所述指定操作对应的展示策略,对应显示查询到的所述业务数据。
8.根据权利要求7所述的装置,其特征在于,所述管理模块包括:
第一分配单元,用于根据用户指令使用第三方数据库为所述第一关键字列表中的多个关键字分别分配展示页码,其中,每个关键字对应一个展示页码;
第二分配单元,用于根据用户指令使用第三方数据库按照时间顺序或预设重要程度为所述第一关键字列表中的多个关键字分配排序等级,其中,每个关键字对应一个排序名次;
第一选择单元,用于根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待高亮显示的第一指定关键字;
第二选择单元,用于根据用户指令使用第三方数据库在所述第一关键字列表中的多个关键字中选择待显示的第二指定关键字。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910218394.0A CN110083635A (zh) | 2019-03-21 | 2019-03-21 | 基于区块链的数据查询及显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910218394.0A CN110083635A (zh) | 2019-03-21 | 2019-03-21 | 基于区块链的数据查询及显示方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110083635A true CN110083635A (zh) | 2019-08-02 |
Family
ID=67413361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910218394.0A Pending CN110083635A (zh) | 2019-03-21 | 2019-03-21 | 基于区块链的数据查询及显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083635A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060287978A1 (en) * | 2005-06-17 | 2006-12-21 | Microsoft Corporation | Efficient querying and paging in databases |
CN105760457A (zh) * | 2016-02-05 | 2016-07-13 | 成都康赛信息技术有限公司 | 一种基于MongoDB的数据分页优化方法 |
CN107133300A (zh) * | 2017-04-27 | 2017-09-05 | 福建中金在线信息科技有限公司 | 一种数据查询方法及装置 |
CN107943833A (zh) * | 2017-10-25 | 2018-04-20 | 华南农业大学 | 一种基于区块链的无中心分布式文件存储及检索方法 |
CN109165224A (zh) * | 2018-08-24 | 2019-01-08 | 东北大学 | 一种在区块链数据库上针对关键字key的索引方法 |
CN109271362A (zh) * | 2018-08-31 | 2019-01-25 | 上海雄九投资控股(集团)有限公司 | 一种基于区块链的数据处理系统 |
-
2019
- 2019-03-21 CN CN201910218394.0A patent/CN110083635A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060287978A1 (en) * | 2005-06-17 | 2006-12-21 | Microsoft Corporation | Efficient querying and paging in databases |
CN105760457A (zh) * | 2016-02-05 | 2016-07-13 | 成都康赛信息技术有限公司 | 一种基于MongoDB的数据分页优化方法 |
CN107133300A (zh) * | 2017-04-27 | 2017-09-05 | 福建中金在线信息科技有限公司 | 一种数据查询方法及装置 |
CN107943833A (zh) * | 2017-10-25 | 2018-04-20 | 华南农业大学 | 一种基于区块链的无中心分布式文件存储及检索方法 |
CN109165224A (zh) * | 2018-08-24 | 2019-01-08 | 东北大学 | 一种在区块链数据库上针对关键字key的索引方法 |
CN109271362A (zh) * | 2018-08-31 | 2019-01-25 | 上海雄九投资控股(集团)有限公司 | 一种基于区块链的数据处理系统 |
Non-Patent Citations (1)
Title |
---|
王战英;王占宏;: "基于元数据的分布式通用查询系统研究与实现", 微型电脑应用, no. 08, 20 August 2017 (2017-08-20) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7634484B2 (en) | Metadata distribution management system, apparatus, and method, and computer program therefore | |
CN103686941B (zh) | 一种显示wifi名称的方法及系统 | |
US20100114691A1 (en) | Managing a marketing template used in an e-mail marketing campaign | |
Smirnov et al. | Knowledge logistics in information grid environment | |
CN114511344A (zh) | 一种互联网动态营销的控制方法 | |
CN103164525B (zh) | Web应用发布方法和装置 | |
CN102272784A (zh) | 用于提供内容项关联的分析和可视化的方法、装置和计算机程序产品 | |
KR20090071569A (ko) | 복수의 상이한 타입의 사용자 디바이스에 분산된 데이터 파일에 대한 사용자 액세스 제공 | |
CN106844372A (zh) | 一种物流信息查询方法和装置 | |
CN108491267A (zh) | 用于生成信息的方法和装置 | |
CN104899186A (zh) | 一种表单生成以及获取方法和装置 | |
CN103235719B (zh) | 建立网站的方法和装置 | |
WO2021260981A1 (ja) | 情報処理装置及び情報処理方法 | |
CN102750588A (zh) | 突发公共卫生应急指挥决策系统 | |
CN108052553A (zh) | 电子手册生成的方法、装置、计算机设备及存储介质 | |
CN101894146A (zh) | 使用创建的文本编辑框实现广告功能的方法及系统 | |
CN102316128A (zh) | 一种用于生成网络服务的方法及装置 | |
CN105677699A (zh) | 一种为用户生成新闻页面的方法和装置 | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
CN110083635A (zh) | 基于区块链的数据查询及显示方法及装置 | |
JP2021005353A (ja) | クラウド検索に基づく推奨方法、装置、機器及び読み取り可能な記憶媒体 | |
CN113010775B (zh) | 信息推荐方法、装置和计算机设备 | |
CN112162731B (zh) | 数据扩展方法、装置、存储介质及电子装置 | |
CN108492230A (zh) | 基于分布式架构的互联网服务资源推广的系统及方法 | |
CN109165049A (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 |