用于访问数据的方法和装置制造方法及图纸

技术编号:20622471 阅读:32 留言:0更新日期:2019-03-20 14:23
本申请实施例公开了用于访问数据的方法和装置。该方法的一具体实施方式包括:接收结构化查询语言SQL指令;解析该SQL指令,确定该SQL指令所指示的数据访问类型;调用运行在目标区块链的智能合约中的、与该数据访问类型相匹配的接口,通过该接口对该目标区块链执行数据访问操作。该实施方式实现了对存储于区块链的数据的访问的灵活性。

Methods and devices for accessing data

The embodiment of this application discloses methods and devices for accessing data. One specific implementation of the method includes: receiving a structured query language SQL instruction; parsing the SQL instruction to determine the type of data access indicated by the SQL instruction; calling an interface running in the intelligent contract of the target block chain that matches the type of data access, and performing data access operations on the target block chain through the interface. The embodiment realizes the flexibility of accessing data stored in block chains.

【技术实现步骤摘要】
用于访问数据的方法和装置
本申请实施例涉及计算机
,具体涉及用于访问数据的方法和装置。
技术介绍
区块链是一个去中心化和去信任的分布式数据库,通过共识机制和加密算法可以有效杜绝记录的信息被篡改,做到可追溯。智能合约是以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。智能合约于区块链中运行,与外界进行交互,实现区块链数据的读写操作。受限于区块链开发方式没有被广大开发者熟知,开发者对区块链里面数据的操作方式普遍不太了解,对基于区块链的数据结构设计及开发应用的模式不清晰,使得基于区块链存储的应用开发变得很困难。相关方式中,开发者可以开发、部署及调用智能合约对区块链存储的数据进行读写操作。
技术实现思路
本申请实施例提出了用于访问数据的方法和装置。第一方面,本申请实施例提供了一种用于访问数据的方法,该方法包括:接收结构化查询语言SQL指令;解析SQL指令,确定SQL指令所指示的数据访问类型;调用目标区块链所运行的智能合约中的、与数据访问类型相匹配的接口,通过接口对目标区块链执行数据访问操作。在一些实施例中,调用目标区块链所运行的智能合约中的、与数据访问类型相匹配的接口,通过接口对目标区块链执行数据访问操作,包括:响应于确定数据访问类型为只读类型,调用运行在目标区块链的智能合约中的第一目标接口,通过第一目标接口查询目标区块链中的目标数据,其中,目标数据为SQL指令所指示的待查询的数据,第一目标接口用于查询目标区块链中所存储的数据。在一些实施例中,调用目标区块链所运行的智能合约中的、与数据访问类型相匹配的接口,通过接口对目标区块链执行数据访问操作,包括:响应于确定数据访问类型为读写类型,调用运行在目标区块链的智能合约中的第一目标接口,通过第一目标接口查询目标区块链中的目标数据,其中,目标数据为SQL指令所指示的待更新的数据,第一目标接口用于查询目标区块链中所存储的数据;调用目标区块链所运行的智能合约中的第二目标接口,通过第二目标接口,在目标区块链中存储对目标数据更新后的数据,其中,第二目标接口用于在目标区块链中存储数据。在一些实施例中,该方法还包括:返回执行数据访问操作后的执行结果。在一些实施例中,返回执行数据访问操作后的执行结果,包括:响应于确定数据访问类型是只读类型,返回SQL指令所指示的待查询的数据;响应于确定数据访问类型是读写类型,返回用于表征是否成功写入的提示信息。第二方面,本申请实施例提供了一种用于访问数据的装置,该装置包括:接收单元,被配置成接收结构化查询语言SQL指令;解析单元,被配置成解析SQL指令,确定SQL指令所指示的数据访问类型;访问单元,被配置成调用目标区块链所运行的智能合约中的、与数据访问类型相匹配的接口,利用接口对目标区块链执行数据访问操作。在一些实施例中,访问单元,进一步被配置成:响应于确定数据访问类型为只读类型,调用目标区块链所运行的智能合约中的第一目标接口,通过第一目标接口查询目标区块链中的目标数据,其中,目标数据为SQL指令所指示的待查询的数据,第一目标接口用于查询目标区块链中所存储的数据。在一些实施例中,访问单元,进一步被配置成:响应于确定数据访问类型为读写类型,调用目标区块链所运行的智能合约中的第一目标接口,通过第一目标接口查询目标区块链中的目标数据,其中,目标数据为SQL指令所指示的待更新的数据,第一目标接口用于查询目标区块链中所存储的数据;调用目标区块链所运行的智能合约中的第二目标接口,通过第二目标接口,在目标区块链中存储对目标数据更新后的数据,其中,第二目标接口用于在目标区块链中存储数据。在一些实施例中,该装置还包括:返回单元,被配置成返回执行数据访问操作后的执行结果。在一些实施例中,返回单元,进一步被配置成:响应于确定数据访问类型是只读类型,返回SQL指令所指示的待查询的数据;响应于确定数据访问类型是读写类型,返回用于表征是否成功写入的提示信息。第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一的方法。第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面中任一的方法。本申请实施例提供的用于访问数据的方法和装置,通过对接收到的SQL指令进行解析,以便调用目标区块链所运行的智能合约中的、与数据访问类型相匹配的接口,从而通过接口对目标区块链执行数据访问操作,由此,可以通过SQL指令实现对目标区块链的访问,提高了对存储于区块链的数据的访问的灵活性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请的一个实施例可以应用于其中的示例性系统架构图;图2是根据本申请的用于访问数据的方法的一个实施例的流程图;图3是根据本申请的用于访问数据的方法的一个应用场景的示意图;图4是根据本申请的用于访问数据的方法的又一个实施例的流程图;图5是根据本申请的用于访问数据的装置的一个实施例的结构示意图;图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示出了可以应用本申请的用于访问数据的方法或用于访问数据的装置的示例性系统架构100。如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如语音交互类应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。服务器105可以是用于维护目标区块链的服务器,例如存储有该目标区块链的完整记录的节点服务器。节点服务器可以对目标区块链中的数据进行查询,也可以在该目标区块链中写入新的数据等,还可以进行数据的处理(例如进行数据的更新),并将处理结果(利用执行数据访问操作后的执行结果)返回给终端设备。需要说明的是,服务器105可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个本文档来自技高网...

【技术保护点】
1.一种用于访问数据的方法,包括:接收结构化查询语言SQL指令;解析所述SQL指令,确定所述SQL指令所指示的数据访问类型;调用目标区块链所运行的智能合约中的、与所述数据访问类型相匹配的接口,通过所述接口对所述目标区块链执行数据访问操作。

【技术特征摘要】
1.一种用于访问数据的方法,包括:接收结构化查询语言SQL指令;解析所述SQL指令,确定所述SQL指令所指示的数据访问类型;调用目标区块链所运行的智能合约中的、与所述数据访问类型相匹配的接口,通过所述接口对所述目标区块链执行数据访问操作。2.根据权利要求1所述的用于访问数据的方法,其中,所述调用目标区块链所运行的智能合约中的、与所述数据访问类型相匹配的接口,通过所述接口对所述目标区块链执行数据访问操作,包括:响应于确定所述数据访问类型为只读类型,调用目标区块链所运行的智能合约中的第一目标接口,通过所述第一目标接口查询所述目标区块链中的目标数据,其中,所述目标数据为所述SQL指令所指示的待查询的数据,所述第一目标接口用于查询所述目标区块链中所存储的数据。3.根据权利要求1所述的用于访问数据的方法,其中,所述调用目标区块链所运行的智能合约中的、与所述数据访问类型相匹配的接口,通过所述接口对所述目标区块链执行数据访问操作,包括:响应于确定所述数据访问类型为读写类型,调用目标区块链所运行的智能合约中的第一目标接口,通过所述第一目标接口查询所述目标区块链中的目标数据,其中,所述目标数据为所述SQL指令所指示的待更新的数据,所述第一目标接口用于查询所述目标区块链中所存储的数据;调用所述目标区块链所运行的智能合约中的第二目标接口,通过所述第二目标接口,在所述目标区块链中存储对所述目标数据更新后的数据,其中,所述第二目标接口用于在所述目标区块链中存储数据。4.根据权利要求1所述的用于访问数据的方法,其中,所述方法还包括:返回执行所述数据访问操作后的执行结果。5.根据权利要求4所述的用于访问数据的方法,其中,所述返回执行所述数据访问操作后的执行结果,包括:响应于确定所述数据访问类型是只读类型,返回所述SQL指令所指示的待查询的数据;响应于确定所述数据访问类型是读写类型,返回用于表征是否成功写入的提示信息。6.一种用于访问数据的用于访问数据的装置,包括:接收单元,被配置成接收结构化查询语言SQL指...

【专利技术属性】
技术研发人员:周坤龙
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1