一种基于区块链的数据存入和搜索系统及其方法技术方案

技术编号:20025846 阅读:38 留言:0更新日期:2019-01-06 04:41
本发明专利技术公开了一种基于区块链的数据存入和搜索系统及其方法,该系统包括:应用程序编程接口模块,该模块用于响应用应用层对区块链公链智能合约的调用;用户、角色、权限管理模块,该模块用于对接入区块链的用户、角色和权限按照算法进行用户、角色的验证,并对每个用户的权限进行有效性验证;数据库模块,该模块用于定时增量更新数据库和区块链的内容;内存数据库模块,该模块将数据库数据放在内存中直接调用智能合约;该模块用于定时增量更新数据库和区块链的内容。本发明专利技术通过中心化的数据库技术和去中心化的区块链技术结合,以区块链数据为锚点,在保证一致性,安全性等区块链固有优势的基础上,提升了区块链运行的效率。

【技术实现步骤摘要】
一种基于区块链的数据存入和搜索系统及其方法
本专利技术关于区块链的
,具体涉及一种基于区块链的数据存入和搜索系统及其方法。
技术介绍
去中心化的区块链搜索通过遍历所有区块来搜索需要的信息,工作量大;基于硬盘查询,搜索效率更低。公开号为100416559C(惠普公司,申请号:200410030467.7,优选权日为2003/03/14)中国专利技术专利申请的使用全局唯一标识符的数据搜索系统和数据搜索方式摘要所述:通过使用如下搜索系统更易于搜索与给定目标相关联的数据和/或服务,该系统具有全球唯一目标标识符、元数据存储器、用于输入全球唯一标识符的输入、用于从元数据存储器中读取包含该输入全球唯一标识符之元数据集合的元数据读取器以及元数据搜索引擎,用于通过搜索包含在已读取的元数据集合的每个元数据当中的特定描述语句来搜索特定元数据。公开号为1162154A(松下电器产业株式会社,申请号为97102618.1,申请日:1997/02/12)的中国专利技术专利申请的数据搜索装置摘要所述:揭示了一种数据搜索装置,该装置包括:请求接收部分,接收搜索请求和登记请求;记录号提供部分,把记录号数据提供给每个记录;相对编号部分,把记录号数据分组及转换成组号数据和相对记录号数据;索引文件产生部分,产生索引文件;索引文件存储部分,存储索引文件;索引文件搜索部分,搜索由搜索数据指出的记录;绝对编号部分,把被搜索记录的先对号数据和组号数据转换成记录号数据;以及搜索结果输出部分,依据记录号数据输出搜索结果。公开号为1053050C(申请号为93121698.2,IO研究有限公司)的中国专利技术专利申请的分布式数据库系统及其数据库接收机摘要所述:分布式数据库系统,包括:中心站及接收站。中心站包括:数据存储器,用于存储构成数据库的数据;处理器,用于从数据存储器提取数据以产生顺序的数据流来进行分配;传送装置,用于编码和传送数据流;各接收站包括:译码装置,接收和译码长松的数据以由此重新构成数据库数据;键盘,用于将用户命令输入接收站;接收机处理装置,根据与用户命令相关的数据构成数据库;存储器,存储构成数据库的数据;通信装置,响应用户命令传送被选择数据。以上三个专利都是基于中心化的数据库实现,中心化的数据库通过建索引,分库分表,分布式存储,内存数据库等办法提高搜索效率,但安全性一直被人诟病。
技术实现思路
本专利技术提供了一种基于区块链的数据存入和搜索系统及其方法,通过中心化的数据库技术和去中心化的区块链技术结合,以区块链数据为锚点,在保证一致性,安全性等区块链固有优势的基础上,提升了区块链运行的效率。一种基于区块链的数据存入和搜索系统,包括:应用程序编程接口模块,该模块用于响应用应用层对区块链公链智能合约的调用;管理、筛选应用层发送的信息,在区块链上实现增加和查询的功能;并对接入区块链的账户异常操作返回非法信息;用户、角色、权限管理模块,该模块用于对接入区块链的用户、角色和权限按照算法进行用户、角色的验证,并对每个用户的权限进行有效性验证;同时提供异步消息推送服务,将用户对账户信息的相关操作推送到应用程序编程接口模块中,实时更新账户信息;数据库模块,该模块用于定时增量更新数据库和区块链的内容;并通过分库、分表、索引技术提高数据库的工作;内存数据库模块,该模块将数据库数据放在内存中直接调用智能合约;该模块用于定时增量更新数据库和区块链的内容。本专利技术中,内存数据库模块,为了应对高吞吐量和大并发的现状,内存数据库模块将数据库数据放在内存中直接调用智能合约以提高效率,数据库模块通过分库、分表、索引等技术提高数据库的工作,本专利技术通过中心化的数据库技术和去中心化的区块链技术结合,以区块链数据为锚点,在保证一致性,安全性等区块链固有优势的基础上,提升了区块链运行的效率。一种采用基于区块链的数据存入和搜索系统的数据存入方法,该数据存入方法包括以下步骤:1)用户通过去中心化应用(DecentralizedApplication,DAPP,也叫分布式应用)入口,将信息输入到应用程序编程接口模块,应用程序编程接口模块将信息输入到用户、角色、权限管理模块进行验证,用户、角色、权限管理模块将信息和内存数据库模块进行交互,完成权限分配,然后调用获取GAS的方法,获得GAS;2)用户携带GAS发起请求,准备将时间戳、公钥、上链内容存入区块链;3)从内存数据库读取该用户权限版本,如权限版本不一致,则返回到步骤1)重新获取GAS,如权限版本一致,则采用内存数据库模块调用智能合约,若智能合约相应请求,执行一笔交易,把交易信息和备注内容写入新块,上传到区块链和数据库模块,结束合约,如智能合约交易失败,GAS烧完智能合约自动停止。一种采用基于区块链的数据存入和搜索系统的数据搜索方法,该搜索方法包括以下步骤:1)用户通过去中心化应用(DecentralizedApplication,DAPP,也叫分布式应用)入口,将信息输入到应用程序编程接口模块,应用程序编程接口模块将信息输入到用户、角色、权限管理模块进行验证,用户、角色、权限管理模块将信息和内存数据库模块进行交互,完成权限分配;2)用户输入搜索关键词结合算法和内存数据库模块交互;3)若搜索成功,则内存数据库模块将搜索结果返回给去中心化应用,若未搜索成功,则返回步骤2),未搜索成功次数达到5~15次,则停止搜索,并将未成功检索的信息反馈给去中心化应用;4)把这次搜索事件存放到区块链节点集群和数据块库模块中。步骤3)中,未搜索成功次数达到8~12次,最优选为10次。与现有技术相比,本专利技术具有如下优点:本专利技术的基于区块链的数据存入和搜索系统和方法作为一种底层技术可广泛应用于中心化系统的迭代和去中心化系统的优化,通过中心化的数据库技术和去中心化的区块链技术相结合,提升区块链数据存入和搜索的效率。附图说明图1为本专利技术的基于区块链的数据存入和搜索系统的示意图;图2为本专利技术基于区块链的数据存入和搜索系统的部署过程示意图;图3为本专利技术采用基于区块链的数据存入和搜索系统的数据存入方法的示意图;图4为本专利技术采用采用基于区块链的数据存入和搜索系统的数据搜索方法的示意图。具体实施方式如图1所示,为一种基于区块链的数据存入和搜索系统,包括:应用层API(ApplicationProgrammingInterface,应用程序编程接口)模块,该模块用于响应应用层对区块链公链智能合约的调用;管理、筛选应用层发送的信息,在区块链上实现了增加和查询的功能;并对接入区块链的账户异常操作返回非法信息。用户、角色、权限管理模块,该模块用于对接入区块链的用户、角色和权限按照指定的算法进行用户、角色的验证,并对每个用户的权限进行有效性验证;同时提供异步消息推送服务,将使用者对账户信息的相关操作推送到应用层API模块中,实时更新账户信息。数据库模块,该模块用于定时同步更新数据库和区块链的内容;该模块用于定时增量更新数据库和区块链的内容;并通过分库、分表、索引等技术提高数据库的工作。内存数据库模块,为了应对高吞吐量和大并发的现状,该模块将数据库数据放在内存中直接操作以提高效率;该模块用于定时增量更新数据库和区块链的内容。如图2所示,为基于区块链的数据存入和搜索系统的部署过程,包括:1)打本文档来自技高网
...

【技术保护点】
1.一种基于区块链的数据存入和搜索系统,其特征在于,包括:应用程序编程接口模块,该模块用于响应用应用层对区块链公链智能合约的调用;管理、筛选应用层发送的信息,在区块链上实现增加和查询的功能;并对接入区块链的账户异常操作返回非法信息;用户、角色、权限管理模块,该模块用于对接入区块链的用户、角色和权限按照算法进行用户、角色的验证,并对每个用户的权限进行有效性验证;同时提供异步消息推送服务,将用户对账户信息的相关操作推送到应用程序编程接口模块中,实时更新账户信息;数据库模块,该模块用于定时增量更新数据库和区块链的内容;并通过分库、分表、索引技术提高数据库的工作;内存数据库模块,该模块将数据库数据放在内存中直接调用智能合约;该模块用于定时增量更新数据库和区块链的内容。

【技术特征摘要】
1.一种基于区块链的数据存入和搜索系统,其特征在于,包括:应用程序编程接口模块,该模块用于响应用应用层对区块链公链智能合约的调用;管理、筛选应用层发送的信息,在区块链上实现增加和查询的功能;并对接入区块链的账户异常操作返回非法信息;用户、角色、权限管理模块,该模块用于对接入区块链的用户、角色和权限按照算法进行用户、角色的验证,并对每个用户的权限进行有效性验证;同时提供异步消息推送服务,将用户对账户信息的相关操作推送到应用程序编程接口模块中,实时更新账户信息;数据库模块,该模块用于定时增量更新数据库和区块链的内容;并通过分库、分表、索引技术提高数据库的工作;内存数据库模块,该模块将数据库数据放在内存中直接调用智能合约;该模块用于定时增量更新数据库和区块链的内容。2.一种采用权利要求1所述的基于区块链的数据存入和搜索系统的数据存入方法,其特征在于,该数据存入方法包括以下步骤:1)用户通过去中心化应用入口,将信息输入到应用程序编程接口模块,应用程序编程接口模块将信息输入到用户、角色、权限管理模块进行验证,用户、角色、权限管理模块将信息和内存数据库模块进行交互,完成权限分配,然后调用获取GAS的方法,获得GAS;2...

【专利技术属性】
技术研发人员:金政波金晓平费技峰朱晨强
申请(专利权)人:杭州微链区块链科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1