CN109033406A - 用于搜索区块链数据的方法、装置及存储介质 - Google Patents
用于搜索区块链数据的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109033406A CN109033406A CN201810878130.3A CN201810878130A CN109033406A CN 109033406 A CN109033406 A CN 109033406A CN 201810878130 A CN201810878130 A CN 201810878130A CN 109033406 A CN109033406 A CN 109033406A
- Authority
- CN
- China
- Prior art keywords
- block chain
- chain data
- data
- uniform resource
- intelligent contract
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Abstract
本发明提供了用于搜索区块链数据的方法,包括:A.经由超文本传输协议接口接收由搜索引擎发送的包含第一统一资源定位地址和智能合约支持信息的网页读取请求;B.获取在第一统一资源定位地址处的第一区块链数据;C.获取与第一区块链数据相关联的包括智能合约地址信息智能合约信息;D.判断是否存在至少一个第二统一资源定位地址,在至少一个第二统一资源定位地址处的第二区块链数据与第一区块链数据相关联;E.在存在至少一个第二统一资源定位地址的情况下,根据第一区块链数据、与第一区块链数据相关联的智能合约信息以及至少一个第二统一资源定位地址生成网页读取请求的响应;以及F.将网页读取请求的响应经由超文本传输协议接口返回至搜索引擎。
Description
技术领域
本发明内容涉及区块链搜索技术,更为具体地涉及一种用于搜索区块链数据的方法、一种用于执行上述用于搜索区块链数据的方法的用于搜索区块链数据的装置以及一种相应的计算机可读存储介质。
背景技术
搜索引擎是指自动从万维网搜集信息,经过一定整理以后,提供给用户进行查询的系统。在搜索引擎搜集信息的过程中,其利用被称为网络爬虫程序(Spider)来连上每一个网页上的超链接。网络爬虫程序根据网页链到其中的超链接,就像日常生活中所说的“一传十、十传百……”一样,从少数几个网页开始,连到网络上所有其他的网页链接。理论上,若网页上有适当的超链接,网络爬虫程序便可以遍历绝大部分网页。
区块链(Blockchain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。所谓价值互联网,是指使得用户能够通过网络方便、快捷、低成本地传递价值。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。用户通过使用智能合约进行事务、共享数据、建立信任,并由区块链技术的特性而保障数据的存储、读取以及执行整个过程透明可跟踪、不可篡改。
发明内容
本发明的实施例提供了用于搜索区块链数据的方法、装置和计算机可读存储介质,使得搜索引擎可以从区块链网络中搜集信息以及相应的智能合约调用地址信息,从而实现了针对区块链网络的搜索服务。
为此,在本发明的实施例的第一方面中提供了一种用于搜索区块链数据的方法,所述方法包括:
A.经由超文本传输协议接口接收由搜索引擎发送的网页读取请求,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
B.获取在所述第一统一资源定位地址处的第一区块链数据;
C.获取与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
D.判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;
E.在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据、与所述第一区块链数据相关联的智能合约信息以及所述至少一个第二统一资源定位地址生成所述网页读取请求的响应;以及
F.将所述网页读取请求的响应经由所述超文本传输协议接口返回至所述搜索引擎。
此外,本发明的实施例的第二方面还提供了一种用于搜索区块链数据的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
A.经由超文本传输协议接口接收由搜索引擎发送的网页读取请求,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
B.获取在所述第一统一资源定位地址处的第一区块链数据;
C.获取与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
D.判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;
E.在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据、与所述第一区块链数据相关联的智能合约信息以及所述至少一个第二统一资源定位地址生成所述网页读取请求的响应;以及
F.将所述网页读取请求的响应经由所述超文本传输协议接口返回至所述搜索引擎。
再者,本发明的实施例的第三方面还提供了一种用于搜索区块链数据的方法,所述方法包括:
M.向区块链节点发送网页读取请求,其中,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
N.从所述区块链节点接收所述网页读取请求的响应,其中,所述响应包括在所述第一统一资源定位地址处的第一区块链数据和与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
O.接收对于智能合约的调用申请;以及
P.基于所述智能合约的智能合约地址信息向所述区块链节点发送对于所述智能合约的调用请求。
此外,本发明的实施例的第四方面还提供了一种用于搜索区块链数据的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
M.向区块链节点发送网页读取请求,其中,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
N.从所述区块链节点接收所述网页读取请求的响应,其中,所述响应包括在所述第一统一资源定位地址处的第一区块链数据和与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
O.接收对于智能合约的调用申请;以及
P.基于所述智能合约的智能合约地址信息向所述区块链节点发送对于所述智能合约的调用请求。
最后,本发明的实施例的第五方面提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明实施例的第一方面所述的用于搜索区块链数据的方法。本发明的实施例的第六方面提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明实施例的第三方面所述的用于搜索区块链数据的方法。
在本发明的实施例中,通过增加超文本传输协议接口使得区块链节点可以处理由搜索引擎发送的请求;再者,通过将区块链数据以及与区块链数据相关联的智能合约信息生成为网页读取请求的响应,使得搜索引擎可以获取、处理并存储展现为网页形式的区块链数据,使得搜索引擎可以获取并存储展现为网页形式的区块链数据和智能合约信息;此外,通过将统一资源定位地址加入到所生成的网页中,使得搜索引擎能够通过遍历网页的方式即可遍历区块链数据;在具体的搜索结果展示时,能够根据与智能合约相关联的数据来展示搜索结果网页,例如通过点击与该智能合约信息相关联的按钮便能够请求搜索引擎调用区块链中的智能合约。因此,通过本发明的实施例,使得用户可以通过搜索引擎来搜索区块链数据,实现了针对区块链网络的搜索服务;与之同时,还通过对于区块链中的智能合约的便捷的调用提高了搜索服务的用户体验,例如减少用户实现诸如投票、购买等具体智能合约功能的时间。本发明的其他优势将在下文中进一步说明。
附图说明
结合附图并参考以下详细说明,本发明的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施例,在附图中:
图1示出了依据本发明的一个实施例的用于搜索区块链数据的方法100的流程图;
图2示出了具有属性A1的采取键值方式存储的区块链数据的示意图200;
图3示出了分账本来存储公开数据和隐私数据的示意图300;
图4示出了以键值(Key/Value)方式存储的具有属性A2的区块链数据400的示例;
图5示出了依据本发明的另一个实施例的用于搜索区块链数据的方法500的流程图;
图6示出了依据本发明的一个实施例的用于搜索区块链数据的装置600的示意图;以及
图7示出了依据本发明的另一个实施例的用于搜索区块链数据的装置700的示意图。
具体实施方式
以下参考附图详细描述本发明的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。
此外,附图中的流程图和框图示出了根据本发明的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本发明内容中的术语“智能合约地址信息”是指通过该地址信息能够直接调用区块链中与该地址信息相关联的智能合约的地址信息。
本发明内容中的术语“智能合约支持信息”是指如下的一种信息,该信息表示所述搜索引擎支持从网页读取请求的响应中提取指向区块链中的智能合约的地址信息,并且能够通过该地址信息调用所述区块链中的智能合约。
本发明内容中的术语“网页读取请求”中的“读取”包括由搜索引擎去抓取网页和由用户通过用户设备来获取网页,其中,通过用户设备来获取网页具体是指用户通过用户设备来查询或者浏览由区块链数据生成的网页。
本发明内容中的术语“用户设备”是指包括但不限于智能手机、平板电脑、台式机、笔记本电脑的智能终端。
本发明内容中的术语“统一资源定位地址”是指因特网上标准的资源的地址,又称统一资源定位符(URL:Uniform Resource Locator)或网页地址。相应地,本发明内容中的术语“第一统一资源定位地址”是指依据本发明所提出的用于搜索区块链数据的方法执行时本级的统一资源定位地址,即本级URL;而本发明内容中的术语“第二统一资源定位地址”是指依据本发明所提出的用于搜索区块链数据的方法执行时下一级的统一资源定位地址,即次级URL。
本发明内容中的术语“第一区块链数据”是指区块链中在第一统一资源定位地址处的区块链数据;与之相对应地,本发明内容中的术语“第二区块链数据”是指区块链中在第二统一资源定位地址处的区块链数据。
本发明内容中的术语“公开数据”是指不需要身份验证即可访问的数据,而“隐私数据”是指需要身份验证才可访问的数据。
本发明内容中的术语“属性A1”是指用于表示所述区块链数据的数据解析方法的数据格式名或用于指示所述区块链数据的数据解析方法的数据格式解析函数名、数据格式解析服务地址、或数据格式解析智能合约地址。而术语“属性A2”用于标记区块链数据为隐私或者公开,其中,当所述区块链数据为公开数据时,“属性A2”具有第一值,而当所述区块链数据为隐私数据时,“属性A2”具有不同于所述第一值的第二值。
本发明内容中的术语“第一”、“第二”仅用于描述指代、目的或某具体事物,而不能理解为指示或暗示相对重要性,或者隐含指明所指示的技术特征的数量。
本发明内容中的术语“多个”是指两个或两个以上。
本发明内容中出现了术语“检索”和“搜索”,其中,术语“检索”是指搜索引擎通过网络爬虫程序对于区块链数据的抓取、处理、建立索引和遍历的过程,而术语“搜索”是指搜索引擎接收用户在搜索引擎页面上输入关键词后对于之前的建立过索引的网页内容的查找。
本发明内容中的表述“在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联”是指所述第一区块链数据所包括的层次属性和预先确定的层次关系树表明是否存在处于第二统一资源定位地址的第二区块链数据的关联关系。
本发明内容中的术语“层次关系树”是指预先确定的表明所访问的区块链数据所生成的网页的层次结构的逻辑关系树。
本发明内容中的术语“层次属性”是指表明与所读取的网页相关联的统一资源定位地址属于上述的层次关系树中的哪一层的信息。
本发明内容中的术语“第一属性”用于标记区块链数据为隐私或者公开,其中,术语“第一值”表示与之关联的区块链数据为公开数据,而术语“第二值”表示与之关联的区块链数据为隐私数据。
本发明内容中的术语“公开账本”是指在其中仅存储不需要身份验证即可访问的公开数据的区块链账本。
本发明内容中的术语“隐私账本”是指在其中仅存储需要身份验证才可访问的隐私数据的区块链账本。
本发明内容中的术语“账本的公开区域”是指账本中用于存储公开数据的区域。
本发明内容中的术语“账本的隐私区域”是指账本中用于存储隐私数据的区域。
如上文所述,搜索引擎的用户通过当前的搜索引擎无法搜索位于区块链上的数据。为了实现针对区块链网络的性能优异的搜索服务,本发明的实施例主要关注以下问题:当前的搜索引擎除了不能搜索位于区块链上的数据之外,其搜索结果中也不包含任何与智能合约相关的信息,更谈不上实现对于区块链上的智能合约的调用功能,无法借助于智能合约实现对于搜索结果的快速处理,例如直接投票、快速购买等。
除了上述的主要技术问题之外,本发明的实施例的各种技术方案还能够解决如下问题,即当前的区块链节点无法处理搜索引擎发送的超文本传输协议请求;其次,当前的搜索引擎是将检索到的网页存储在数据库中,在接收到用户的搜索请求后直接从数据库中获取相应的网页信息提供给用户。然而,在区块链网络中,信息是以特定的数据格式存储的,并不是网页文本形式。再者,当前的网络搜索引擎是通过网络爬虫程序来抓取网页的方式来遍历网络中的信息的,但是当前的搜索引擎并不能遍历区块链网络中的区块链数据。
再者,当前的搜索引擎所搜索的都应该是公开数据,而区块链网络可能会同时存储公开数据和隐私数据,在搜索过程中应当区分这两类数据。
为解决这些问题,实现针对区块链网络的搜索服务,本发明的实施例通过在生成可搜索的网页时附加地生成了与区块链数据相关联的智能合约信息,使得搜索引擎能够直接调用位于区块链上的智能合约,实现了对于区块链上的智能合约的快捷调用。此外,本发明的实施例首先提供了一种超文本传输协议接口,该超文本传输协议接口例如位于区块链节点中,使得区块链节点能够处理由搜索引擎发送的超文本传输协议请求;本发明的实施例还提供了将诸如XML或JSON等特定的数据格式的数据转换为网页的方法;本发明的实施例通过将其他网页的统一资源定位地址作为信息加入到该网页中,使得搜索引擎能够通过该网页链接到其他网页,实现了针对区块链网络的网页抓取功能。再者,本发明的实施例还针对区块链网络中的公开数据和隐私数据进行了区分处理。更为具体的实现方法和本发明的其他优势请参见下文中的阐述。
图1示出了该用于搜索区块链数据的方法100的流程图,从图1中可以看出,该方法100至少包括以下六个步骤,即首先在方法步骤110中经由超文本传输协议接口接收由搜索引擎发送的网页读取请求,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;然后在方法步骤120中获取在所述第一统一资源定位地址处的第一区块链数据;在方法步骤130中获取与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;接下来在方法步骤140中判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;再接下来在方法步骤150中在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据、与所述第一区块链数据相关联的智能合约信息以及所述至少一个第二统一资源定位地址生成所述网页读取请求的响应;最后,在方法步骤160中将所述网页读取请求的响应经由所述超文本传输协议接口返回至所述搜索引擎。所返回的网页读取请求的响应能够供所述搜索引擎对其进行遍历从而获取搜索结果并且在该搜索结果中包含相应的智能合约信息。
通过一方面提供互联网访问接口,另一方面提供根据区块链数据以及与区块链数据相关联的智能合约信息来生成网页读取请求的响应的方式,搜索引擎便能够对与区块链数据以及智能合约信息相关联的网页读取请求的响应进行遍历从而获取搜索结果并且在该搜索结果中包含相应的智能合约信息,从而实现了搜索引擎对于区块链数据的搜索并且实现了基于智能合约信息的对于区块链上的智能合约的直接调用。
上述的网页读取请求的响应可以至少包括两个部分,在具体实现时,由区块链数据所生成的网页可以位于该响应的主体部分(body部分),而其中所包括的智能合约信息包括的头部部分(header部分)。其中,所述智能合约信息包括智能合约地址信息、智能合约功能说明信息和/或调用参数说明信息。
具体到如何生成与区块链数据中的数据相关联的网页,其实现方式能够是多种多样的。例如能够在网页中生成第一统一资源定位地址即第一URL所指向的区块链数据,此外,在存在至少一个第二统一资源定位地址即第二统一资源定位地址URL的情况下,该第二统一资源定位地址URL也能够呈现在该网页上,所以,该网页既能够包括区块链的数据和智能合约信息,也能够包括统一资源定位地址URL。在具有多个统一资源定位地址URL的情况下,这些统一资源定位地址URL能够顺序地排列在所述网页上。也能够通过将区块链数据根据其逻辑关系生成与区块链数据中的数据相关联的逻辑搜索树状图的方式来实现。
在具体抓取网页信息时,搜索引擎端可以增加以下功能,即搜索引擎可以访问区块链的入口地址(例如:http://test.com.homepage),以便于搜索引擎能够访问该区块链。在区块链侧接收到网页读取请求之后,首先会根据该网页读取请求所包含统一资源定位地址URL获取在该统一资源定位地址URL处的第一区块链数据以及与该第一区块链数据相关联的智能合约信息,接下来,将会判断是否存在其他统一资源定位地址URL,具体到如何判断,则会根据所述第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在所述至少一个第二统一资源定位地址来判断。如果预先确定的层次关系树表明存在至少一个第二统一资源定位地址,则会将该第二统一资源定位地址也放在上述所生成的网页之中。
再接下来,将包括该网页以及智能合约信息的网页读取请求的响应返回给搜索引擎。搜索引擎在接收到该返回的网页读取请求的响应中所包含的网页之后,能够直接抽取其中的区块链数据及其访问地址,而从智能合约信息部分能够获取相应的智能合约信息,也能够进一步向区块链网络侧发起进一步的网页读取请求,以抓取后续的区块链数据。
具体来看,在生成上述网页的时候,区块链数据所包括的层次属性也能够起到非常重要的作用,将会根据第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在至少一个第二统一资源定位地址URL。具体来看例如区块链数据A的层次属性为“金融”,并且预先确定的层次关系树表明存在层次属性为“金融/区块链金融”的区块链数据B,那么区块链数据B则为区块链数据A的下一级区块链数据。如果网页读取请求是为了抓取层次属性为“金融”的区块链数据A,则将指向层次属性为“金融/区块链金融”的区块链数据B的统一资源定位地址URL也生成在网页上,即在所生成的网页中包含指向层次属性为“金融/区块链金融”的区块链数据B的统一资源定位地址URL。
再比如,如果区块链数据C的层次属性为“中国”,并且预先确定的层次关系树表明存在另一个区块链数据D的层次属性为“中国/上海”,则区块链数据D则为区块链数据C的下一级区块链数据。如果网页读取请求是为了抓取层次属性为“中国”的区块链数据C,则将指向层次属性为“中国/上海”的区块链数据D的统一资源定位地址URL也生成在网页上,即在所生成的网页中包含指向层次属性为“中国/上海”的区块链数据D的统一资源定位地址URL。
也存在一种可能性,即不存在任何其他的统一资源定位地址URL,那么便能仅根据网页读取请求所包含统一资源定位地址URL所指向的区块链数据以及与该区块链数据相关联的智能合约信息来生成上述网页读取请求的响应。
此外,为了实现通过该链接地址对于与其相关联的区块链数据的正确解析,本发明内容的发明人提出了为区块链数据配置属性A1,该属性A1即用于指定该区块链数据的解析方式。例如该属性A1包括用于表示所述区块链数据的数据解析方法的数据格式名。本领域的技术人员应当了解,该属性A1也能够包括用于指示所述公开数据和所述隐私数据的数据解析方法的数据格式解析函数名、数据格式解析服务地址、或数据格式解析智能合约地址。
此时,当搜索引擎访问该入口地址时,在每个数据的K/V/A1中属性A1表明该数据的具体数据格式(例如,XML、JSON等);当搜索引擎访问该入口地址时,显示区块链上可以搜索的数据列表,当搜索引擎搜索任一K值时,区块链根据对应的属性A1的值调用相应的解析方法对数据进行解析后生成对应的网页。
此外,每个区块链节点可以实现一个HTTP服务器,例如域名http://test.com.homepage指向该HTTP服务器。该页面可以展现部分K/V的内容,通常情况下并不能一次全部展示,因为一次全部展示该页面会过于庞大,同时通过下一页甚至第10页等链接的方式(http://test.com.homepage?page=10)让搜索引擎可以搜索到其它的K/V数据。同时还通过http://test.com.homepage?key=apple的链接形式显示单个K/V的内容,至于具体如何呈现,则可以通过不同的页面模板来定义。上述的属性A1除了使用具体数据格式名来表示数据格式,也可以是一个格式解析的函数名、或者一个格式解析服务的地址。也可以用一个内容代码比如1、2、3来表示,这样更简洁,可以节省存储空间。
图2示出了具有属性A1的采取键值方式存储的区块链数据的示意图200,从图2中可以看出,诸如K1、Kn的区块链数据包括属性A1,该属性A1包括用于表示诸如K1、Kn的区块链数据的数据解析方法的数据格式名。替代地,诸如K1的区块链数据和诸如Kn的区块链数据也能够包括用于指示该区块链数据的数据解析方法的数据格式解析函数名、数据格式解析服务地址、或数据格式解析智能合约地址。从图2中可以看出,诸如K1的区块链数据具有为“XML”的属性A1的值,这表明其值(Value)的解析方式为XML解析方法,与之相对应地,诸如Kn的区块链数据具有为“JSON”的属性A1的值,这表明其值(Value)的解析方式为JSON解析方法。也就是说,调用相应的解析函数或者解析方法能够解析出各个K1、Kn等的区块链数据。
在实现上述链接地址时,同样需要遵循搜索引擎所需遵守的Robots协议。具体而言,Robots协议也称为爬虫协议、机器人协议等,其全称是“网络爬虫排除标准”(RobotsExclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
具体到本发明内容,对于该入口网页中的各项链接地址,也需要通过Robots协议告知搜索引擎哪些链接地址可以遍历,哪些链接地址不可以遍历。但是Robots协议只是告知搜索引擎应该遍历哪些链接地址不应该遍历哪些连接地址从而实现对于区块链数据的检索,并不能够保证搜索引擎一定会很好地遵守该Robots协议,所以本发明内容的发明人创新性地想到利用区块链数据本身的属性来实现对于搜索引擎的搜索行为的控制,例如依据本发明内容所公开的区块链数据包括公开数据和隐私数据,其中,公开数据为不需要身份验证即可访问的数据并且隐私数据为需要身份验证才可访问的数据,并且其中,公开数据和隐私数据存储在区块链的不同位置或者所述公开数据和所述隐私数据具有不同的标记。
设置该属性A2的原因在于,在目前主流的区块链平台中,公有链完全不对区块链数据的访问设置限制,而比如Fabric、Corda等联盟链则对所有区块链数据中的全部的数据都做访问权限控制。由此可见,区块链平台对于有不同要求的数据都做了一样的访问控制而不具有不同的访问控制的能力。而一般而言,企业级区块链通常使用联盟链平台,对全部数据均做访问权限控制导致需要公开的信息无法被外部搜索引擎检索到。举例来说,一个使用区块链实现的保险销售系统,区块链中的保险价格、条款等信息是希望能够被搜索引擎检索查询、无需授权的;但是其他信息,例如用户信息、交易信息、理赔记录等信息是需要进行访问权限控制的,否则既不利于保护客户隐私也不利于保护保险公司的商业秘密。
具体而言,公开数据和隐私数据存储在区块链的不同位置或者所述公开数据和所述隐私数据具有不同的标记的实现方式方法能够有很多种。
举例来说,图3示出了分账本来存储公开数据和隐私数据的示意图300,从图中可以看出,该区块链网络中包括多个账本,例如账本301、302、…、308、309等九个账本,本领域的技术人员应当了解,此处示出了九个账本仅仅是示例性的而非限制性的,本领域的技术人员当然可以实现更多个或者更少个账本,实现账本的数量多少并不是本发明内容的关键,关键在于对于多个账本进行区分,例如将第一个账本即账本301标记为公开账本,即其上仅仅存储上述的公开数据,例如上述的区块链中的保险价格、条款等信息;而将其他账本即账本302、…、308、309等八个账本标记为隐私账本,其上仅仅存储隐私数据,例如上述的用户信息、交易信息、理赔记录等信息。本领域的技术人员应当了解,公开账本和隐私账本的数量能够根据区块链上需要公开的数据和隐私数据的比例动态配置。由此能够实现对于区块链网络上的数据的区分对待,从而为后续对于区块链上的数据的搜索服务提供保障。
替代地,也能够例如将第一个账本301划分为两个不同的区域,在第一个区域上存储公开数据,而在第二个区域上存储隐私数据,由此也能够实现对于区块链网络上的数据的区分对待,从而为后续对于区块链上的数据的搜索服务提供保障。
通过以上方式,即通过将公开数据和隐私数据存储于不同的账本之上或者将公开数据和隐私数据存储于相同的账本的不同区域之上来实现对于公开数据和所述隐私数据进行标记,以便后续搜索阶段能够基于账本类型或者账本的区域的类型来区分公开数据和隐私数据,从而为后续搜索提供支持。
附加地或者替代地,公开数据和隐私数据存储在区块链的不同位置或者所述公开数据和所述隐私数据具有不同的标记也能够通过其他方式来实现,例如通过额外的属性域的方式来实现,具体而言,公开数据和隐私数据可以包括属性A2,其中,所述公开数据具有例如为0的属性A2,而所述隐私数据具有例如为1的属性A2。
举例来说,例如每条区块链数据能够包含一个属性A2,该属性A2为例如为0时表示该区块链数据为公开数据,而当该属性A2为1的第二值时表示该区块链数据为隐私数据。相较于上述的采取分不同账本或者相同账本的不同区域来存储公开数据和隐私数据的技术方案来说,采取公开的动态调整,允许表示该区块链数据为公开数据或隐私数据的额外的属性A2的技术方案允许管理员在区块链运行过程之中实时动态地进行调整,从而提高了数据的动态维护性。
图4示出了以键值(Key/Value)方式存储的数据400的示例,从图4中可以看出,第一个区块链数据K1的值为V1,其属性A2为0,这则表明该第一区块链数据K1为公开数据,外部搜索引擎能够不需要任何访问控制或者验证即可访问该公开数据;而第n个区块链数据Kn的值为Vn,其属性A2为1,这则表明该区块链数据Kn为隐私数据,外部搜索引擎能够需要访问控制或者验证才可访问该隐私数据。也就是说,该公开数据K1和隐私数据Kn采取键值方式进行存储,并且公开数据具有为0的属性A2,而隐私数据具有为1的属性A2。本领域的技术人员应当了解,此处将属性A2的值设置为0或1仅仅是示例性的而非限制性的,其他能够实现本发明内容所公开的发明构思的不偏离本发明内容的发明精神的技术方案也同样包括在本发明内容所附的权利要求书的保护范围之内。
针对区块链网络上的对于区块链数据的访问无法保证满足搜索引擎的诸如Robots协议的搜索要求的技术问题,本发明内容的发明人创新性地意识到能够通过改造区块链网络上的数据的属性来适配搜索引擎,从而实现基于搜索引擎来搜索区块链网络上的数据的目的,此外,在实现检索的同时还能够满足区块链对于需要进行隐私保护部分数据的隐私保护。
上述用于搜索区块链数据的方法可以公开共享的数据无需访问控制即可访问而需要隐私保护的数据保留访问控制;另一方面限定了一种供访问检索的内部机制和接口,不仅可以让外部网页链接可以直接链接区块链中的公开数据,也可以让区块链中的公开数据相互链接,从而使得搜索引擎可以对区块链中的全部信息进行遍历检索。此外,通过本发明内容所提供的解决方案可以实现区块链和互联网信息的互联互通,进一步发挥出区块链的巨大价值。
此外,在搜索引擎侧需要作出相应的改进。具体而言,图5示出了依据本发明的另一个实施例的用于搜索区块链数据的方法500的流程图。从图中可以看出,该用于搜索区块链数据的方法500至少包括以下四个步骤,即首先在方法步骤510中向区块链节点发送网页读取请求,其中,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;然后在方法步骤520中从所述区块链节点接收所述网页读取请求的响应,其中,所述响应包括在所述第一统一资源定位地址处的第一区块链数据和与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;在方法步骤530中接收对于智能合约的调用申请;最后,在方法步骤540中基于所述智能合约的智能合约地址信息向所述区块链节点发送对于所述智能合约的调用请求。
在具体实现时,首先搜索引擎需要支持对于智能合约的直接调用,其次,搜索引擎支持对于智能合约的直接调用的这一功能需要告诉区块链网络,从而区块链网络相应地准备包含智能合约信息的网页读取请求的响应,以便在最终的搜索结果中能够呈现智能合约信息,以便搜索引擎能够直接调用区块链上的智能合约。
在依据本发明的一个实施例中,例如在购物网站类的应用场景之中,上述的用于搜索区块链数据的方法500还例如能够包括将所述身份验证信息发送给所述区块链的步骤,如此一来,在例如调用“立即购买”之类的智能合约时,能够在调用时一并向区块链侧传送表示用户身份的身份验证信息,区块链侧根据该身份验证信息能够获得该用户的诸如地址信息等信息,从而顺利完成购买之类的功能。
替代地,上述方法能够通过计算机程序产品,即计算机可读存储介质来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明内容的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
图6示出了依据本发明内容的一个实施例所提出的用于搜索区块链数据的装置600的方框图。从图6中可以看出,用于搜索区块链数据的装置600包括处理器610和与处理器610耦接的存储器620。
存储器620存储有指令。指令在由处理器610执行时使得处理器610执行以下动作:
A.经由超文本传输协议接口接收由搜索引擎发送的网页读取请求,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
B.获取在所述第一统一资源定位地址处的第一区块链数据;
C.获取与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
D.判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;
E.在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据、与所述第一区块链数据相关联的智能合约信息以及所述至少一个第二统一资源定位地址生成所述网页读取请求的响应;以及
F.将所述网页读取请求的响应经由所述超文本传输协议接口返回至所述搜索引擎。
指令在由处理器610执行时还使得处理器610执行以下动作:
E1.在不存在所述至少一个第二统一资源定位地址时,根据所述第一区块链数据和与所述第一区块链数据相关联的智能合约信息生成所述网页读取请求的响应。
在依据本发明内容的一个实施例中,所述智能合约信息还包括智能合约功能说明信息和/或调用参数说明信息。
在依据本发明内容的一个实施例中,D.判断是否存在至少一个第二统一资源定位地址进一步包括:
D1.根据所述第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在所述至少一个第二统一资源定位地址。
在依据本发明内容的一个实施例中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B1.根据所述第一区块链数据的数据格式名来解析在所述第一统一资源定位地址处的第一区块链数据。
在依据本发明内容的一个实施例中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B2.根据所述第一区块链数据的数据格式解析函数名、数据格式解析服务地址、或数据格式解析智能合约地址来解析在所述第一统一资源定位地址处的第一区块链数据。
在依据本发明内容的一个实施例中,所述第一区块链数据和/或所述第二区块链数据包括第一属性,并且其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B3.根据所述第一区块链数据的第一属性来确定是否获取在所述第一统一资源定位地址处的第一区块链数据。
在依据本发明内容的一个实施例中,所述第一区块链数据和/或所述第二区块链数据采取键值方式进行存储。
在依据本发明内容的一个实施例中,在所述第一区块链数据为公开数据的情况下,所述第一区块链数据的所述第一属性为第一值;在所述第二区块链数据为公开数据的情况下,所述第二区块链数据的所述第一属性为所述第一值;在所述第一区块链数据为隐私数据的情况下,所述第一区块链数据的所述第一属性为不同于所述第一值的第二值;在所述第二区块链数据为隐私数据的情况下,所述第二区块链数据的所述第一属性为所述第二值。
在依据本发明内容的一个实施例中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B4.根据所述第一区块链数据的账本存储位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,
其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在公开账本中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在隐私账本中。
在依据本发明内容的一个实施例中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B5.根据所述第一区块链数据的存储区域位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,
其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的公开区域中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的隐私区域中。
通过以上方式,即通过将公开数据和隐私数据存储于不同的账本之上或者将公开数据和隐私数据存储于相同的账本的不同区域之上来实现对于公开数据和所述隐私数据进行标记,以便后续搜索阶段能够基于账本类型或者账本的区域的类型来区分公开数据和隐私数据,从而为后续所搜提供支持。
存储器620还能够存储有其他指令。这些指令在由处理器610执行时使得处理器610执行以下动作:
M.向区块链节点发送网页读取请求,其中,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
N.从所述区块链节点接收所述网页读取请求的响应,其中,所述响应包括在所述第一统一资源定位地址处的第一区块链数据和与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
O.接收对于智能合约的调用申请;以及
P.基于所述智能合约的智能合约地址信息向所述区块链节点发送对于所述智能合约的调用请求。
在依据本发明内容的一个实施例中,在所述调用申请中还包括与所述搜索引擎的用户相关联的身份验证信息,当所述指令执行时使得所述处理器执行以下操作:
Q.将所述身份验证信息发送给所述区块链节点。
图7示出了用于搜索区块链数据的装置700的示意性框图。应当理解,装置700可以实现为实现图1或者图5中的用于搜索区块链数据的方法100、500的功能。从图7中可以看出用于数据库的装置700包括中央处理单元(CPU)701(例如处理器),其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储该装置700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
装置700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许该装置700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各种方法,例如用于搜索区块链数据的方法能够由处理单元701执行。例如,在一些实施例中,用于搜索区块链数据的方法500可以被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而载入和/或安装到该装置700上。当计算机程序加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法100、500中的一个或多个动作或步骤。
一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
虽然上面描述了本发明的各种示例实施例可以在硬件或专用电路中实现,但是上述用于区块链的数据处理设备既可以以硬件的形式来实现,也可以通过软件的形式来实现,这是因为:在20世纪90年代,一个技术改进能够很容易地对该改进属于硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是属于软件上的改进(例如对于方法流程的改进)。然而,随着技术的持续发展,如今的很多方法流程的改进几乎都能够通过将改进的方法流程编程到硬件电路中来实现,换句话说,通过对于硬件电路编程不同的程序从而得到相应的硬件电路结构,即实现了硬件电路结构的改变,故这样的方法流程的改进也可以被视为硬件电路结构的直接改进。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device:PLD)(例如现场可编程门阵列(Field Programmable Gate Array:FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片可编程逻辑器件上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compi1er)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language:HDL),而HDL也并非仅有—种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell UniversityProgramming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
用于执行本发明内容的各个方面的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本发明内容的一方面的计算机可读程序指令,从而实施依据本发明内容的各个方面所公开的技术方案。
综上所述,本发明内容所提出的用于搜索区块链数据的方法一方面能够对区块链上的数据作出精确控制,让可以公开共享的数据无需访问控制即可访问而需要隐私保护的数据保留访问控制;另一方面限定了一种供访问检索的内部机制和接口,不仅可以让外部网页链接可以直接链接区块链中的公开数据直接通过上述的智能合约地址信息调用或者访问区块链上的智能合约,也可以让区块链中的公开数据相互链接,从而使得搜索引擎可以对区块链中的全部信息进行遍历检索。此外,通过本发明内容所提供的解决方案可以实现区块链和互联网信息的互联互通,进一步发挥出区块链的巨大价值。
以上所述仅为本发明内容的实施例可选实施例,并不用于限制本发明的实施例,对于本领域的技术人员来说,本发明的实施例可以有各种更改和变化。凡在本发明的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本发明的实施例的保护范围之内。
虽然已经参考若干具体实施例描述了本发明的实施例,但是应当理解,本发明的实施例并不限于所公开的具体实施例。本发明的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (28)
1.一种用于搜索区块链数据的方法,所述方法包括:
A.经由超文本传输协议接口接收由搜索引擎发送的网页读取请求,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
B.获取在所述第一统一资源定位地址处的第一区块链数据;
C.获取与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
D.判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;
E.在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据、与所述第一区块链数据相关联的智能合约信息以及所述至少一个第二统一资源定位地址生成所述网页读取请求的响应;以及
F.将所述网页读取请求的响应经由所述超文本传输协议接口返回至所述搜索引擎。
2.根据权利要求1所述的方法,所述方法还包括:
E1.在不存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据和与所述第一区块链数据相关联的智能合约信息生成所述网页读取请求的响应。
3.根据权利要求1所述的方法,其中,所述智能合约信息还包括智能合约功能说明信息和/或调用参数说明信息。
4.根据权利要求1或2所述的方法,其中,D.判断是否存在至少一个第二统一资源定位地址进一步包括:
D1.根据所述第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在所述至少一个第二统一资源定位地址。
5.根据权利要求1或2所述的方法,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B1.根据所述第一区块链数据的数据格式名来解析在所述第一统一资源定位地址处的第一区块链数据。
6.根据权利要求1或2所述的方法,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B2.根据所述第一区块链数据的数据格式解析函数名、数据格式解析服务地址、或数据格式解析智能合约地址来解析在所述第一统一资源定位地址处的第一区块链数据。
7.根据权利要求1所述的方法,其中,所述第一区块链数据和/或所述第二区块链数据包括第一属性,并且其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B3.根据所述第一区块链数据的第一属性来确定是否获取在所述第一统一资源定位地址处的第一区块链数据。
8.根据权利要求7所述的方法,其中,所述第一区块链数据和/或所述第二区块链数据采取键值方式进行存储。
9.根据权利要求7所述的方法,其中,
在所述第一区块链数据为公开数据的情况下,所述第一区块链数据的所述第一属性为第一值;
在所述第二区块链数据为公开数据的情况下,所述第二区块链数据的所述第一属性为所述第一值;
在所述第一区块链数据为隐私数据的情况下,所述第一区块链数据的所述第一属性为不同于所述第一值的第二值;
在所述第二区块链数据为隐私数据的情况下,所述第二区块链数据的所述第一属性为所述第二值。
10.根据权利要求1所述的方法,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B4.根据所述第一区块链数据的账本存储位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,
其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在公开账本中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在隐私账本中。
11.根据权利要求1所述的方法,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B5.根据所述第一区块链数据的存储区域位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,
其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的公开区域中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的隐私区域中。
12.一种用于搜索区块链数据的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
A.经由超文本传输协议接口接收由搜索引擎发送的网页读取请求,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
B.获取在所述第一统一资源定位地址处的第一区块链数据;
C.获取与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
D.判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;
E.在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据、与所述第一区块链数据相关联的智能合约信息以及所述至少一个第二统一资源定位地址生成所述网页读取请求的响应;以及
F.将所述网页读取请求的响应经由所述超文本传输协议接口返回至所述搜索引擎。
13.根据权利要求11所述的装置,当所述指令执行时还使得所述处理器执行以下操作:
E1.在不存在所述至少一个第二统一资源定位地址时,根据所述第一区块链数据和与所述第一区块链数据相关联的智能合约信息生成所述网页读取请求的响应。
14.根据权利要求11所述的装置,其中,所述智能合约信息还包括智能合约功能说明信息和/或调用参数说明信息。
15.根据权利要求12或13所述的装置,其中,D.判断是否存在至少一个第二统一资源定位地址进一步包括:
D1.根据所述第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在所述至少一个第二统一资源定位地址。
16.根据权利要求12或13所述的装置,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B1.根据所述第一区块链数据的数据格式名来解析在所述第一统一资源定位地址处的第一区块链数据。
17.根据权利要求12或13所述的装置,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B2.根据所述第一区块链数据的数据格式解析函数名、数据格式解析服务地址、或数据格式解析智能合约地址来解析在所述第一统一资源定位地址处的第一区块链数据。
18.根据权利要求12所述的装置,其中,所述第一区块链数据和/或所述第二区块链数据包括第一属性,并且其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B3.根据所述第一区块链数据的第一属性来确定是否获取在所述第一统一资源定位地址处的第一区块链数据。
19.根据权利要求18所述的装置,其中,所述第一区块链数据和/或所述第二区块链数据采取键值方式进行存储。
20.根据权利要求18所述的装置,其中,
在所述第一区块链数据为公开数据的情况下,所述第一区块链数据的所述第一属性为第一值;
在所述第二区块链数据为公开数据的情况下,所述第二区块链数据的所述第一属性为所述第一值;
在所述第一区块链数据为隐私数据的情况下,所述第一区块链数据的所述第一属性为不同于所述第一值的第二值;
在所述第二区块链数据为隐私数据的情况下,所述第二区块链数据的所述第一属性为所述第二值。
21.根据权利要求12所述的装置,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B4.根据所述第一区块链数据的账本存储位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,
其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在公开账本中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在隐私账本中。
22.根据权利要求12所述的装置,其中,B.获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:
B5.根据所述第一区块链数据的存储区域位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,
其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的公开区域中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的隐私区域中。
23.一种用于搜索区块链数据的方法,所述方法包括:
M.向区块链节点发送网页读取请求,其中,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
N.从所述区块链节点接收所述网页读取请求的响应,其中,所述响应包括在所述第一统一资源定位地址处的第一区块链数据和与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
O.接收对于智能合约的调用申请;以及
P.基于所述智能合约的智能合约地址信息向所述区块链节点发送对于所述智能合约的调用请求。
24.根据权利要求23所述的方法,其中,在所述调用申请中还包括与所述搜索引擎的用户相关联的身份验证信息,所述方法还包括:
Q.将所述身份验证信息发送给所述区块链节点。
25.一种用于搜索区块链数据的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
M.向区块链节点发送网页读取请求,其中,所述网页读取请求包含第一统一资源定位地址和智能合约支持信息;
N.从所述区块链节点接收所述网页读取请求的响应,其中,所述响应包括在所述第一统一资源定位地址处的第一区块链数据和与所述第一区块链数据相关联的智能合约信息,其中,所述智能合约信息包括智能合约地址信息;
O.接收对于智能合约的调用申请;以及
P.基于所述智能合约的智能合约地址信息向所述区块链节点发送对于所述智能合约的调用请求。
26.根据权利要求25所述的装置,其中,在所述调用申请中还包括与所述搜索引擎的用户相关联的身份验证信息,当所述指令执行时使得所述处理器执行以下操作:
Q.将所述身份验证信息发送给所述区块链节点。
27.一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1至11中任一项所述的用于搜索区块链数据的方法。
28.一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求23或24所述的用于搜索区块链数据的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810878130.3A CN109033406B (zh) | 2018-08-03 | 2018-08-03 | 用于搜索区块链数据的方法、装置及存储介质 |
US17/265,576 US20210240784A1 (en) | 2018-08-03 | 2019-07-29 | Method, apparatus and storage medium for searching blockchain data |
PCT/CN2019/098141 WO2020024896A1 (zh) | 2018-08-03 | 2019-07-29 | 用于搜索区块链数据的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810878130.3A CN109033406B (zh) | 2018-08-03 | 2018-08-03 | 用于搜索区块链数据的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033406A true CN109033406A (zh) | 2018-12-18 |
CN109033406B CN109033406B (zh) | 2020-06-05 |
Family
ID=64649390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810878130.3A Active CN109033406B (zh) | 2018-08-03 | 2018-08-03 | 用于搜索区块链数据的方法、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210240784A1 (zh) |
CN (1) | CN109033406B (zh) |
WO (1) | WO2020024896A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818957A (zh) * | 2019-01-25 | 2019-05-28 | 上海淳麒金融信息服务有限公司 | 基于可视化界面的智能合约调用方法、装置及系统 |
CN110071968A (zh) * | 2019-04-16 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的消息存储方法及装置 |
CN110278255A (zh) * | 2019-06-13 | 2019-09-24 | 深圳前海微众银行股份有限公司 | 一种基于区块链的物联网iot设备间通信的方法及装置 |
WO2020024896A1 (zh) * | 2018-08-03 | 2020-02-06 | 上海点融信息科技有限责任公司 | 用于搜索区块链数据的方法、装置及存储介质 |
CN111026982A (zh) * | 2019-10-15 | 2020-04-17 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、计算机设备及存储介质 |
CN111475547A (zh) * | 2020-04-10 | 2020-07-31 | 普华云创科技(北京)有限公司 | 一种基于区块高度关联区块与输出关联信息的方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11558344B1 (en) | 2020-09-28 | 2023-01-17 | Unstoppable Domains Inc. | Resolving blockchain domains |
US11886425B2 (en) | 2021-01-13 | 2024-01-30 | Unstoppable Domains Inc. | Blockchain registry scaling |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719172A (zh) * | 2016-01-19 | 2016-06-29 | 布比(北京)网络技术有限公司 | 一种信息发布方法及装置 |
CN106227833A (zh) * | 2016-07-26 | 2016-12-14 | 宁圣金融信息服务(上海)有限公司 | 区块链搜索引擎方法、系统和装置 |
CN107273760A (zh) * | 2017-06-09 | 2017-10-20 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链多ca应用认证方法 |
US20170366347A1 (en) * | 2016-06-20 | 2017-12-21 | Ned M. Smith | Technologies for data broker assisted transfer of device ownership |
CN107682328A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及客户端 |
CN107807991A (zh) * | 2017-11-07 | 2018-03-16 | 泰康保险集团股份有限公司 | 用于处理区块链数据的方法及装置 |
CN108062413A (zh) * | 2017-12-30 | 2018-05-22 | 平安科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备及存储介质 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904450B2 (en) * | 2008-04-25 | 2011-03-08 | Wilson Kelce S | Public electronic document dating list |
US10984913B2 (en) * | 2012-04-27 | 2021-04-20 | Netspective Communications Llc | Blockchain system for natural language processing |
US10572684B2 (en) * | 2013-11-01 | 2020-02-25 | Anonos Inc. | Systems and methods for enforcing centralized privacy controls in de-centralized systems |
US20160012465A1 (en) * | 2014-02-08 | 2016-01-14 | Jeffrey A. Sharp | System and method for distributing, receiving, and using funds or credits and apparatus thereof |
WO2015142765A1 (en) * | 2014-03-17 | 2015-09-24 | Coinbase, Inc | Bitcoin host computer system |
US10152756B2 (en) * | 2014-03-31 | 2018-12-11 | Monticello Enterprises LLC | System and method for providing multiple payment method options to browser |
US20160098723A1 (en) * | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
CN105991731A (zh) * | 2015-02-13 | 2016-10-05 | 中兴通讯股份有限公司 | 一种获取信息的方法、智能终端和服务端 |
US20160283920A1 (en) * | 2015-03-28 | 2016-09-29 | Justin Fisher | Authentication and verification of digital data utilizing blockchain technology |
US9849364B2 (en) * | 2016-02-02 | 2017-12-26 | Bao Tran | Smart device |
US10715531B2 (en) * | 2016-02-12 | 2020-07-14 | Visa International Service Association | Network topology |
CA3031133C (en) * | 2016-07-18 | 2024-01-16 | Royal Bank Of Canada | Distributed ledger platform for vehicle records |
US10489834B2 (en) * | 2016-08-30 | 2019-11-26 | The Western Union Company | System and method for performing transactions similar to previous transactions |
US10691763B2 (en) * | 2016-11-11 | 2020-06-23 | International Business Machines Corporation | Trustable web searching verification in a blockchain |
EP3560136B1 (en) * | 2016-12-22 | 2020-12-02 | Itext Group NV | Distributed blockchain-based method for saving the location of a file |
US11128528B2 (en) * | 2016-12-30 | 2021-09-21 | Intel Corporation | Decentralized data storage and processing for IoT devices |
US10810569B2 (en) * | 2017-01-30 | 2020-10-20 | Square, Inc. | Contacts for misdirected payments and user authentication |
US10375105B2 (en) * | 2017-03-03 | 2019-08-06 | International Business Machines Corporation | Blockchain web browser interface |
WO2018170504A1 (en) * | 2017-03-17 | 2018-09-20 | Labyrinth Research Llc | Unified control of privacy-impacting devices |
WO2018176012A1 (en) * | 2017-03-24 | 2018-09-27 | Inmentis, Llc | Social media system with navigable, artificial-intelligence-based graphical user interface with result view |
US11308448B1 (en) * | 2017-04-12 | 2022-04-19 | Massachusetts Mutual Life Insurance Company | Intelligent employment-based blockchain |
US11157876B1 (en) * | 2017-04-12 | 2021-10-26 | Massachusetts Mutual Life Insurance Company | Intelligent employment-based blockchain |
US11217332B1 (en) * | 2017-05-02 | 2022-01-04 | State Farm Mutual Automobile Insurance Company | Distributed ledger system for managing medical records |
WO2019010392A1 (en) * | 2017-07-07 | 2019-01-10 | Symbiont.Io, Inc. | SYSTEMS, METHODS AND DEVICES FOR REDUCING AND / OR ELIMINATING DATA LEAKAGE IN ELECTRONIC REGISTER TECHNOLOGIES FOR NON-TRUST ORDER MATCHING |
CN107274136A (zh) * | 2017-07-11 | 2017-10-20 | 西安工业大学 | 一种产品溯源信息保护方法 |
CN107590265A (zh) * | 2017-09-22 | 2018-01-16 | 杭州安恒信息技术有限公司 | 一种基于网络爬虫的网站行政归属识别方法 |
US20190130416A1 (en) * | 2017-11-01 | 2019-05-02 | Wesley John Boudville | Blockchain, notary and linket for mobile users |
CN107967539B (zh) * | 2017-11-29 | 2020-11-13 | 暨南大学 | 基于机器学习和区块链技术的预测以太坊上交易的燃料限制的方法 |
US20190303942A1 (en) * | 2018-04-02 | 2019-10-03 | American Express Travel Related Services Company, Inc. | Fraud management using a distributed database |
US20190361917A1 (en) * | 2018-05-25 | 2019-11-28 | Bao Tran | Smart device |
CN109033406B (zh) * | 2018-08-03 | 2020-06-05 | 上海点融信息科技有限责任公司 | 用于搜索区块链数据的方法、装置及存储介质 |
-
2018
- 2018-08-03 CN CN201810878130.3A patent/CN109033406B/zh active Active
-
2019
- 2019-07-29 US US17/265,576 patent/US20210240784A1/en not_active Abandoned
- 2019-07-29 WO PCT/CN2019/098141 patent/WO2020024896A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719172A (zh) * | 2016-01-19 | 2016-06-29 | 布比(北京)网络技术有限公司 | 一种信息发布方法及装置 |
US20170366347A1 (en) * | 2016-06-20 | 2017-12-21 | Ned M. Smith | Technologies for data broker assisted transfer of device ownership |
CN106227833A (zh) * | 2016-07-26 | 2016-12-14 | 宁圣金融信息服务(上海)有限公司 | 区块链搜索引擎方法、系统和装置 |
CN107273760A (zh) * | 2017-06-09 | 2017-10-20 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链多ca应用认证方法 |
CN107682328A (zh) * | 2017-09-26 | 2018-02-09 | 武汉斗鱼网络科技有限公司 | 一种数据校验方法及客户端 |
CN107807991A (zh) * | 2017-11-07 | 2018-03-16 | 泰康保险集团股份有限公司 | 用于处理区块链数据的方法及装置 |
CN108062413A (zh) * | 2017-12-30 | 2018-05-22 | 平安科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020024896A1 (zh) * | 2018-08-03 | 2020-02-06 | 上海点融信息科技有限责任公司 | 用于搜索区块链数据的方法、装置及存储介质 |
CN109818957A (zh) * | 2019-01-25 | 2019-05-28 | 上海淳麒金融信息服务有限公司 | 基于可视化界面的智能合约调用方法、装置及系统 |
CN110071968A (zh) * | 2019-04-16 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的消息存储方法及装置 |
CN110071968B (zh) * | 2019-04-16 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种基于区块链的消息存储方法及装置 |
CN110278255A (zh) * | 2019-06-13 | 2019-09-24 | 深圳前海微众银行股份有限公司 | 一种基于区块链的物联网iot设备间通信的方法及装置 |
CN110278255B (zh) * | 2019-06-13 | 2021-10-15 | 深圳前海微众银行股份有限公司 | 一种基于区块链的物联网iot设备间通信的方法及装置 |
CN111026982A (zh) * | 2019-10-15 | 2020-04-17 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、计算机设备及存储介质 |
WO2021073202A1 (zh) * | 2019-10-15 | 2021-04-22 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、计算机设备及存储介质 |
CN111475547A (zh) * | 2020-04-10 | 2020-07-31 | 普华云创科技(北京)有限公司 | 一种基于区块高度关联区块与输出关联信息的方法及系统 |
CN111475547B (zh) * | 2020-04-10 | 2024-03-29 | 张家界万达信息网络科技工程有限公司 | 一种基于区块高度关联区块与输出关联信息的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20210240784A1 (en) | 2021-08-05 |
CN109033406B (zh) | 2020-06-05 |
WO2020024896A1 (zh) | 2020-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033406A (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN109033403A (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN109101607A (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
US20170103167A1 (en) | Blockchain system for natural language processing | |
CN108415832A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN107644286A (zh) | 工作流处理方法及装置 | |
CN106559438A (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN109063138A (zh) | 用于在区块链即服务平台搜索数据的方法、设备及存储介质 | |
WO2020024903A1 (zh) | 用于搜索区块链数据的方法、设备及计算机可读存储介质 | |
CN109408696A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN109492053A (zh) | 用于访问数据的方法和装置 | |
CN110189220A (zh) | 一种风险分析决策方法、装置、系统及存储介质 | |
CN108074033A (zh) | 指标数据的处理方法、系统、电子设备和存储介质 | |
CN109241722A (zh) | 用于获取信息的方法、电子设备和计算机可读介质 | |
CN112966089A (zh) | 基于知识库的问题处理方法、装置、设备、介质和产品 | |
CN109933514A (zh) | 一种数据测试方法和装置 | |
CN112927082A (zh) | 信用风险的预测方法、装置、设备、介质和程序产品 | |
WO2020024899A1 (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
US11263267B1 (en) | Apparatuses, methods, and computer program products for generating interaction vectors within a multi-component system | |
CN110503435A (zh) | 基于区块链的交易预警方法、装置及设备 | |
JP2018198046A (ja) | 金融イベント・データベースの生成のための装置および方法 | |
CN109145209A (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN108182180B (zh) | 用于生成信息的方法和装置 | |
CN105354189A (zh) | 搜寻应用软件的方法及其系统 | |
CN110347573A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201014 Address after: 200000 J, building 2, No. 4268 Zhennan Road, Jiading District, Shanghai Patentee after: Shanghai daokuai Information Technology Co., Ltd Address before: 200001 Huangpu District, Shanghai, No. 457, No. 8, No. 8, 4, phase 2, 205 room. Patentee before: SHANGHAI DIANRONG INFORMATION TECHNOLOGY Co.,Ltd. |