用于搜索区块链数据的方法、设备及计算机可读存储介质与流程

文档序号:16533298发布日期:2019-01-05 10:57阅读:180来源:国知局
用于搜索区块链数据的方法、设备及计算机可读存储介质与流程



技术实现要素:
涉及区块链搜索技术,更为具体地涉及一种用于搜索区块链数据的方法、一种用于搜索区块链数据的设备以及一种相应的计算机可读存储介质。



背景技术:

搜索引擎是指自动从万维网搜集信息,经过一定整理以后,提供给用户进行查询的系统。在搜索引擎搜集信息的过程中,其利用称为网络爬虫程序(spider)来连上每一个网页上的超链接。网络爬虫程序根据网页链到其中的超链接,就像日常生活中所说的“一传十、十传百……”一样,从少数几个网页开始,连到网络上所有其他的网页链接。理论上,若网页上有适当的超链接,网络爬虫程序便可以遍历绝大部分网页。

区块链(blockchain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链具有去中心化、反篡改、数据一致性存储、过程透明可追踪等技术优势,其被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。

发明内容

本发明的实施例提供了一种用于搜索区块链数据的方法、设备和计算机可读存储介质,可以从检索过的索引中搜集信息,从而提高了针对区块链数据的搜索效率。

为此,本发明内容的第一方面提出了一种用于搜索区块链数据的方法,所述方法包括:

a.经由超文本传输协议接口接收网页读取请求,所述网页读取请求包括第一统一资源定位地址和第一时间信息;

b.确定缓存中是否存在与所述第一统一资源定位地址相关联的索引,其中,所述缓存存储在预定时间段内检索过的一个或多个索引,每一个索引包括检索过的统一资源定位地址、与所述统一资源定位地址相关联的网页以及第二时间信息;

c1.在所述缓存中存在与所述第一统一资源定位地址相关联的索引,并且在所述第一时间信息早于所述索引中的所述第二时间信息的情况下,经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页。

此外,本发明内容的第二方面提出了一种用于搜索区块链数据的设备,所述设备包括:处理器;以及存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:

a.经由超文本传输协议接口接收网页读取请求,所述网页读取请求包括第一统一资源定位地址和第一时间信息;

b.确定缓存中是否存在与所述第一统一资源定位地址相关联的索引,其中,所述缓存存储在预定时间段内检索过的一个或多个索引,每一个索引包括检索过的统一资源定位地址、与所述统一资源定位地址相关联的网页以及第二时间信息;

c1.在所述缓存中存在与所述第一统一资源定位地址相关联的索引,并且在所述第一时间信息早于所述索引中的所述第二时间信息的情况下,经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页。

最后,本发明内容的第三方面提供了一种计算机可读存储介质,其具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据本发明内容的第一方面所述的用于搜索区块链数据的方法。

依据本发明内容的用于搜索区块链数据的方法、设备以及相对应的计算机可读存储介质能够基于在缓存中存储检索过的索引来确定是否曾经进行过相同的检索,在确定曾经进行过相同的检索的情况下返回该索引,进而提高了对区块链数据的搜索效率。

附图说明

结合附图并参考以下详细说明,本发明的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施例,在附图中:

图1为依据本发明内容的区块链的网络结构的示意图;

图2a为依据本发明内容的用于搜索区块链数据的方法的流程图;

图2b为依据本发明内容的缓存中所存储的索引的第一实施例的示意图;

图3为依据本发明内容的用于搜索区块链数据的方法的第一实施例的流程图;

图4a为依据本发明内容的用于搜索区块链数据的方法的第二实施例的流程图;

图4b为依据本发明内容的缓存中所存储的索引的第二实施例的示意图;

图5为依据本发明内容的用于搜索区块链数据的设备的第一实施例的示意图;以及

图6为依据本发明内容的用于搜索区块链数据的设备的第二实施例的示意图。

具体实施方式

以下参考附图详细描述本发明的各个示例性实施例。附图中的流程图和框图示出了根据本发明的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每一个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每一个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。

本文所使用的术语“包括”、“包含”及类似术语应该理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其他内容。术语“基于”是“至少部分地基于"。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”,等等。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当作为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。

本发明内容中的术语“搜索节点”是指独立于区块链中的其他节点的一种区块链节点,在搜索节点上设置有超文本传输协议接口以处理搜索引擎或者用户设备发送的网页读取请求,并且其上还设置有缓存以存储索引,此外该搜索节点仅能够同步区块链上的公开数据。

本发明内容中的术语“网页读取请求”中的“读取”包括由搜索引擎去抓取网页和由用户通过用户设备来获取网页,其中,通过用户设备来获取网页具体是指用户通过用户设备来查询或者浏览展由区块链数据生成的网页。

本发明内容中的术语“用户设备”是指包括但不限于智能手机、平板电脑、台式机、笔记本电脑的智能终端。

本发明内容中的术语“统一资源定位地址”是指因特网上标准的资源的地址,又称统一资源定位符(url:uniformresourcelocator)或网页地址。相应地,本发明内容中的术语“第一统一资源定位地址”是指依据本发明所提出的用于搜索区块链数据的方法执行时本级的统一资源定位地址,即本级url;而本发明内容中的术语“第二统一资源定位地址”是指依据本发明所提出的用于搜索区块链数据的方法执行时下一级的统一资源定位地址,即次级url。

发明内容中的术语“第一区块链数据”是指区块链中在第一统一资源定位地址处的区块链数据;与之相对应地,本发明内容中的术语“第二区块链数据”是指区块链中在第二统一资源定位地址处的区块链数据。

本发明内容中的术语“公开数据”是指不需要身份验证即可访问的数据,而“隐私数据”是指需要身份验证才可访问的数据。

本发明内容中的术语“第一时间信息”是指用户设备或搜索引擎上一次访问统一资源定位地址相关的网页的修改时间;术语“第二时间信息”是指该统一资源定位地址处区块链数据更新的时间。

本发明内容中的术语“第一”、“第二”仅用于描述指代、目的或某具体事物,而不能理解为指示或暗示相对重要性,或者隐含指明所指示的技术特征的数量。

本发明内容中的术语“多个”是指两个或两个以上。

本发明内容中出现了术语“检索”和“搜索”,其中,术语“检索”是指搜索引擎通过网络爬虫程序对于区块链数据的抓取、处理、建立索引和遍历的过程,而术语“搜索”是指搜索引擎接收用户在搜索引擎页面上输入关键词后对于之前的建立过索引的网页内容的查找。

本发明内容中的表述“在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联”是指所述第一区块链数据所包括的层次属性和预先确定的层次关系树表明是否存在处于第二统一资源定位地址的第二区块链数据的关联关系。

本发明内容中的术语“层次关系树”是指预先确定的表明所访问的区块链数据所生成的网页的层次结构的逻辑关系树。

本发明内容中的术语“层次属性”是指表明与所读取的网页相关联的统一资源定位地址属于上述的层次关系树中的哪一层的信息。

本发明内容中的术语“第一属性”用于标记区块链数据为隐私或者公开。

本发明内容中的术语“公开账本”是指在其中仅存储不需要身份验证即可访问的公开数据的区块链账本。

本发明内容中的术语“隐私账本”是指在其中仅存储需要身份验证才可访问的隐私数据的区块链账本。

本发明内容中的术语“账本的公开区域”是指账本中用于存储公开数据的区域。

本发明内容中的术语“账本的隐私区域”是指账本中用于存储隐私数据的区域。

本发明的实施例主要关注以下技术问题:首先,当前的区块链节点无法处理搜索引擎发送的超文本传输协议请求;其次,当前的网络搜索引擎是通过网络爬虫程序来抓取网页的方式来遍历网络中的信息的,但是当前的搜索引擎并不能遍历区块链网络中的区块链数据;再次,对现有的区块链中的数据进行检索时,由于区块链中的数据量大容易导致负责检索的区块链节点负担很重、检索速度慢、检索效率低并且可能干扰区块链的正常运行,此外还可能存在获取受保护的数据(也即,隐私数据)的风险。另外,当前的搜索引擎所搜索的都应该是公开数据,而区块链网络可能会同时存储公开数据和隐私数据,在搜索过程中应当区分这两类数据。

为解决这些问题,实现针对区块链网络的搜索服务,本发明的实施例首先提供了一种超文本传输协议接口,该超文本传输协议接口例如位于区块链的搜索节点中,使得搜索节点能够处理由搜索引擎或用户设备发送的超文本传输协议请求。其次,在搜索节点中设置缓存,使得该缓存能够存储搜索引擎或用户设备在预定时间段内检索过的索引。再次,本发明的实施例通过将其他网页的统一资源定位地址作为信息加入到该网页中,使得搜索引擎能够通过该网页链接到其他网页,实现了针对区块链网络的网页抓取功能。此外,本发明的实施例还针对区块链网络中的公开数据和隐私数据进行了区分处理。更为具体的实现方法和本发明的其他优势请参见下文中的阐述。

图1示出了依据本发明内容的区块链的网络结构100的示意图,在图1中区块链的网络结构100包括了区块链节点111、112、113、114、115、116以及搜索节点117;其中,搜索节点117包括缓存。区块链节点111-116以及搜索节点117之间可以通过网络同步数据,该网络可以是任何有线和/或无线网络。

在本发明内容中,搜索节点117仅能够同步公开数据,而不能够同步隐私数据。需要说明的是,在本发明内容中可以采用现有的或将来开发的同步技术实现数据同步。此外,在搜索节点117中设置的缓存能够存储在设定时间段内检索过的一个或多个索引,每一个索引包括检索过的统一资源定位地址、与该统一资源定位地址相关联的网页以及第二时间信息。图2b示出了存储在缓存中的示例性索引,其中包括了url1以及与其对应的网页html_1、第二时间信息stamp1,urln以及与其对应的网页html_n、第二时间信息stampn。另外,鉴于搜索节点117中缓存容量的限制,当所述设定时间段结束时,将删除该缓存内所有的索引,以实现缓存中索引的实时更新。

图2a示出了用于搜索区块链数据的方法200的流程图,在本实施例中,图1所示的区块链网络100中的搜索节点117可以实施图2a所示的方法200,具体如下:

步骤210:经由超文本传输协议接口接收网页读取请求,所述网页读取请求包括第一统一资源定位地址和第一时间信息。

在具体抓取网页信息时,搜索引擎端可以增加以下功能,即搜索引擎可以访问区块链的入口地址(例如:http://test.com.homepage),以便于搜索引擎能够访问该区块链。或者,用户可以利用浏览器访问区块链的入口地址(例如:http://test.com.homepage),使得用户能够访问该区块链。

步骤220:确定缓存中是否存在与所述第一统一资源定位地址相关联的索引。

在本步骤中,根据该网页读取请求中的该第一统一资源定位地址来确定缓存中是否存在与第一统一资源定位地址相关联的索引,并且所述缓存存储在预定时间段内检索过的一个或多个索引,每一个索引包括检索过的统一资源定位地址、与所述统一资源定位地址相关联的网页以及第二时间信息

步骤230:在所述缓存中存在与所述第一统一资源定位地址相关联的索引,并且在所述第一时间信息早于所述索引中的所述第二时间信息的情况下,经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页;具体实施方式如下:

第一,判断搜索引擎或用户是否曾经访问过与第一统一资源定位地址相关联的网页,当在该缓存中存在与第一统一资源定位地址相关联的索引时,表明搜索引擎或用户曾经访问过;然后,判断该访问过的网页的具体修改时间(也即,第一时间信息)是否早于缓存中存储的相应网页的修改时间(也即,表示区块链数据更新时间的第二时间信息),当第一时间信息早于该索引中的第二时间信息时,表明已经修改过该第一统一资源定位地址相关联的网页。

第二,当确定已经修改过该第一统一资源定位地址相关联的网页时,将经由超文本传输协议接口向搜索引擎或用户返回索引中的与第一统一资源定位地址相关联的网页,由此确保了搜索引擎或用户能够得到最新的检索结果。

此外,具体到如何通过生成与第一统一资源定位地址相关联的网页,其实现方式能够是多种多样的。例如能够在网页中生成第一统一资源定位地址所指向的区块链数据,另外,在存在至少一个第二统一资源定位地址即第二统一资源定位地址的情况下,该第二统一资源定位地址也能够呈现在该网页上,所以,该网页既能够包括区块链的数据,也能够包括统一资源定位地址。在具有多个统一资源定位地址的情况下,这些统一资源定位地址能够顺序地排列在所述网页上。也能够通过将区块链数据根据其逻辑关系生成与区块链数据中的数据相关联的逻辑搜索树状图的方式来实现。

再接下来,将该网页返回给用户设备或搜索引擎。用户设备或搜索引擎在接收到该返回的网页之后,既能够直接抽取其中的区块链数据及其访问地址,也能够向区块链网络侧发起进一步的网页读取请求,以抓取后续的区块链数据。

如果在所述缓存中存在与所述第一统一资源定位地址相关联的索引并且所述第一时间信息等于所述索引中的所述第二时间信息的情况下,经由所述超文本传输协议接口返回表示网页未修改的标识。具体地,确定缓存中存在与所述第一统一资源定位地址相关联的索引并且第一时间信息等于相应索引中的第二时间信息,则表明用户或搜索引擎曾经搜索的网页没有变化,也即无需向用户或搜索引擎提供检索结果,因此经由超文本传输协议接口返回表示网页未修改的标识。在具体实现中,可以返回http状态码‘304’以表明上述情况。

在本实施例中,如果判断缓存中不存在与第一统一资源定位地址相关联的索引,则方法200还包括如下步骤:

首先,在所述缓存中不存在与所述第一统一资源定位地址相关联的索引的情况下,获取在所述第一统一资源定位地址处的第一区块链数据。其次,判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联。再次,在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据和所述至少一个第二统一资源定位地址生成与所述第一统一资源定位地址相关联的网页;或者在不存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据生成与所述第一统一资源定位地址相关联的网页。然后,经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页。最后,将该第一统一资源定位地址、与该第一统一资源定位地址相关联的网页以及第二时间信息作为新的索引存储在所述缓存中。

在本发明内容中,获取在所述第一统一资源定位地址处的第一区块链数据具体包括:根据所述第一区块链数据的账本存储位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据;具体地,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在公开账本中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在隐私账本中;在所述第一区块链数据存储在所述公开账本中的情况下,获取在所述第一统一资源定位地址处的第一区块链数据。

在本发明内容中,获取在所述第一统一资源定位地址处的第一区块链数据还可以包括:根据所述第一区块链数据的存储区域位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据;具体地,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的公开区域中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的隐私区域中;在所述第一区块链数据存储在所述账本的公开区域中的情况下,获取在所述第一统一资源定位地址处的第一区块链数据。

在本发明内容中,判断是否存在至少一个第二统一资源定位地址进一步包括:根据所述第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在所述至少一个第二统一资源定位地址。

在本发明内容中,在生成与第一统一资源定位地址相关联的网页的时候,区块链数据所包括的层次属性也能够起到非常重要的作用,将会根据第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在至少一个第二统一资源定位地址。具体来看例如区块链数据a的层次属性为“保险”,并且预先确定的层次关系树表明存在层次属性为“保险/区块链保险”的区块链数据b,那么区块链数据b则为区块链数据a的下一级区块链数据。如果网页读取请求是为了抓取层次属性为“保险”的区块链数据a,则将指向层次属性为“保险/区块链保险”的区块链数据b的统一资源定位地址也生成在网页上,即在所生成的网页中包含指向层次属性为“保险/区块链保险”的区块链数据b的统一资源定位地址。

此外,在本实施例中为了确保缓存中所存储的索引中包含了相应统一资源定位地址的最新的区块链数据,以便于向用户或搜索引擎快速、有效地返回最新的网页,本发明内容所提供的用于搜索区块链数据的方法还包括了如图3所示的第一实施例300以便于更新缓存中索引,具体包括如下步骤:

步骤310:基于每一个索引中存储的统一资源定位地址确定所述区块链中相应统一资源定位地址处的区块链数据。

步骤320:将所述区块链数据与所述索引中存储的网页所对应的数据进行比较以确定所述统一资源定位地址处的区块链数据是否更新。

在本步骤中,当区块链数据与该索引中存储的网页所对应的数据之间存在差异时,表明已经更新过该统一资源定位地址处的区块链数据。

步骤330:在所述统一资源定位地址处的区块链数据被更新的情况下,在所述索引中将与所述统一资源定位地址相关联的网页更新为根据更新的区块链数据所生成的网页,并将所述第二时间信息更新为所述区块链数据的更新时间。

本发明内容可以采用该实施例实现在缓存中更新相应的索引。

替代地,本发明内容还可以采用如下实施例实现对于缓存中索引的实时更新:

首先,基于每一个索引中存储的统一资源定位地址确定所述区块链中相应统一资源定位地址处的区块链数据。

其次,将所述区块链数据的修改时间信息与所述索引中的第二时间信息进行比较以确定所述统一资源定位地址处的区块链数据是否更新。

具体地,当该区块链数据的修改时间信息不晚于该索引中的第二时间信息时表明该统一资源定位地址处的区块链数据没有被更新,当该区块链数据的修改时间信息晚于该索引中的第二时间信息时表明该统一资源定位地址处的区块链数据已经被更新。

第三,在所述区块链数据的修改时间信息晚于所述索引中的第二时间信息的情况下,在所述索引中将与所述统一资源定位地址相关联的网页更新为根据更新的区块链数据所生成的网页,并将所述第二时间信息更新为所述区块链数据的更新时间。

本发明内容也可以采用上述实施例在缓存中实时更新相应的索引。

可选地,为了确保缓存中所存储的索引中包含了相应统一资源定位地址的最新的区块链数据,以便于向用户设备或搜索引擎快速、有效地返回最新的网页,本发明内容所提供的用于搜索区块链数据的方法还可以采用如图4a所示的第二实施例400来实现上述目的。

在图4a所示的方法中,首先,网页读取请求中还包括表示允许返回差异网页的第一指示符,缓存中的每一个索引还包括一个或多个差异网页以及与每一个差异网页相对应的时间段信息。

如图4a所示的方法400具体操作如下:

步骤410:基于每一个索引中存储的统一资源定位地址确定所述区块链中相应统一资源定位地址处的区块链数据。

步骤420:将所述区块链数据与所述索引中存储的网页所对应的数据进行比较以确定所述统一资源定位地址处的区块链数据是否更新。

在本步骤中,将该区块链数据与所述索引中存储的网页所对应的数据进行比较判断是否存在数据差异,当存在数据差异时确定已经更新了该统一资源定位地址处的区块链数据。

步骤430:在所述索引中的所述统一资源定位地址处的区块链数据被更新的情况下,利用更新的区块链数据与所述索引中存储的网页所对应的数据之间的数据差异生成相应的差异网页,将所述第二时间信息以及区块链数据的更新时间一起作为与所述差异网页相对应的时间段信息。

步骤440:将与所述统一资源定位地址相关联的网页更新为根据更新的区块链数据所生成的网页,并将所述第二时间信息更新为所述区块链数据的更新时间。

因此,更新后的所述索引包括统一资源定位地址、与该统一资源定位地址相关联的网页、第二时间信息、与该统一资源定位地址相关联的一个或多个差异网页以及与每一个差异网页相对应的时间段信息。

在实际操作中,如果采用图4a所示的第二实施例400实现对缓存中索引的更新,则在所述缓存中存在与所述第一统一资源定位地址相关联的索引并且所述第一时间信息早于所述索引中的所述第二时间信息的情况下,用于搜索区块链数据的方法还包括:

首先,确定所接收的网页读取请求中是否存在第一指示符。

也即,当存在第一指示符时,表明发出该网页读取请求的搜索引擎或用户使用的浏览器允许返回差异网页。

其次,在接收的网页读取请求中存在第一指示符的情况下,基于所述第一时间信息与所述第二时间信息之间的时间差量以确定所述缓存中存在与所述时间差量相对应的一个或多个所述差异网页时,经由所述超文本传输协议接口返回与所述时间差量相对应的一个或多个所述差异网页。

本发明内容的上述步骤均可以由图1中所示的搜索节点117实现。

例如,搜索引擎向搜索节点117发送包括第一统一资源定位地址urlx、第一时间信息(例如,18:30)以及第一指示符的网页读取请求时,搜索节点117在缓存中查找是否存在与urlx相关联的索引。在图4b中显示了在缓存中与urlx相关联的索引的示例,具体包括了urlx以及与其对应的网页html_x、第二时间信息(例如,19:00)、在预定时间段内根据urlx获得的多个不同的差异网页(例如,△html_1、△html_2、△html_3)以及与这些差异网页相对应的时间段信息(例如,18:45-19:00、18:30-18:45、18:10-18:30)。搜索节点117根据第一时间信息(例如,18:30)与第二时间信息(例如,19:00)之间的时间差量(18:30-19:00),并从该索引中的多个时间段信息(例如,18:10-18:30、18:30-18:45、18:45-19:00)中确定在缓存中存在两个差异网页(也即,分别对应于18:45-19:00、18:30-18:45的△html_1、△html_2),则搜索节点117经由超文本传输协议接口返回这两个差异网页。

再比如,搜索引擎向搜索节点117发送包括第一统一资源定位地址urlx、第一时间信息(例如,08:20)以及第一指示符的网页读取请求时,搜索节点117在缓存中查找是否存在与urlx相关联的索引。在预定时间段设定为两个小时的情况下,在缓存中存在与urlx相关联的索引的情况下,查看urlx相对应的第二时间信息(例如,19:00),并且还查找到urlx相对应的多个时间段信息(例如,18:10-18:30、18:30-18:45、18:45-19:00),但是鉴于第一时间信息(例如,08:20)与第二时间信息(例如,19:00)之间的时间差量远远超过了所述预定时间段(例如,两个小时),那么搜索节点117将与urlx相关联的网页(例如,html_x)从缓存中经由超文本传输协议接口返回给搜索引擎。

在本发明内容中,为了实现通过该统一资源定位地址对于与其相关联的区块链数据的正确解析,本发明内容提出了为区块链数据配置用于指定该区块链数据的解析方式的属性。例如,该属性包括用于表示所述区块链数据的数据解析方法的数据格式名。

在实现上述链接地址时,同样需要遵循搜索引擎所需遵守的robots协议。具体而言,robots协议也称为爬虫协议、机器人协议等,其全称是“网络爬虫排除标准”(robotsexclusionprotocol),网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

具体到本发明内容,对于该入口网页中的各项链接地址,也需要通过robots协议告知搜索引擎允许遍历的链接地址。本发明内容利用区块链数据本身的属性(例如依据本发明内容所公开的区块链数据包括公开数据和隐私数据)来实现对于搜索引擎的搜索行为的控制,其中,公开数据和隐私数据存储在区块链的不同位置或者所述公开数据和所述隐私数据具有不同的标记。

fabric、corda等联盟链则对所有区块链数据中的全部的数据都做访问权限控制。由此可见,区块链平台对于有不同要求的数据都做了一样的访问控制而不具有不同的访问控制的能力。而一般而言,企业级区块链通常使用联盟链平台,对全部数据均做访问权限控制导致外部搜索引擎无法检索到需要公开的信息。

具体而言,公开数据和隐私数据存储在区块链的不同位置或者公开数据和隐私数据具有不同的标记的实现方式方法能够有很多种。

举例来说,本发明内容可以对于多个账本进行区分,例如将第一个账本标记为公开账本,即其上仅仅存储上述的公开数据,而将其他账本标记为隐私账本,其上仅仅存储隐私数据。本领域的技术人员应当了解,公开账本和隐私账本的数量能够根据区块链上需要公开的数据和隐私数据的比例动态配置。由此能够实现对于区块链网络上的数据的区分对待,从而为后续对于区块链上的数据的搜索服务提供保障。

在第一区块链数据存储在公开账本中的情况下,获取第一统一资源定位地址处的第一区块链数据。在第一统一资源定位地址处的第一区块链数据存储在隐私账本中的情况下,不能够获取该第一区块链数据。

替代地,也能够例如将第一个账本划分为两个不同的区域,在第一个区域上存储公开数据,而在第二个区域上存储隐私数据,由此也能够实现对于区块链网络上的数据的区分对待,从而为后续对于区块链上的数据的搜索服务提供保障。

在第一区块链数据存储在账本的公开区域中的情况下,获取在第一统一资源定位地址处的第一区块链数据;在第一区块链数据存储在账本的隐私区域中的情况下,不能够获取该第一区块链数据。

附加地或替代地,区块链数据以键值(key/value)方式进行存储,其中区块链数据还包括第一属性。当第一属性表明区块链数据为公开数据时,则可以检索到该区块链数据;当第一属性表明区块链数据为隐私数据时,则不能够检索到该区块链数据。

针对区块链网络上的对于区块链数据的访问无法保证满足搜索引擎的诸如robots协议的搜索要求的技术问题,本发明内容的发明人创新性地意识到能够通过改造区块链网络上的数据的属性来适配搜索引擎,从而实现基于搜索引擎来搜索区块链网络上的数据的目的,此外,在实现检索的同时还能够满足区块链对于需要进行隐私保护部分数据的隐私保护。

上述用于搜索区块链数据的方法一方面能够实现仅对区块链上公开数据进行检索,避免对区块链上隐私数据的获取;另一方面能够利用缓存中的索引来确定是否曾经进行过相同检索便于实现对网页读取请求的快速响应,并且降低了搜索节点处理网页读取请求的压力,由此提高了对区块链上公开数据的搜索效率。同时,通过本发明内容所提供的解决方案还可以减轻在搜索过程中对区块链的负担和干扰,以避免搜索引擎对区块链的其他节点进行直接访问,进而降低了搜索引擎获得区块链上的隐私数据的风险,增强了区块链与传统互联网互联互通过程中的安全性。此外,通过本发明内容所提供的解决方案可以实现区块链和互联网信息的互联互通,进一步发挥出区块链的巨大价值。

此外,替代地,上述方法能够通过计算机程序产品,即计算机可读存储介质来实现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明内容的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

图5示出了依据本发明内容的第一实施例所公开的用于搜索区块链数据的设备500的方框图。从图5中可以看出,用于搜索区块链数据的设备500包括处理器501和与处理器501耦接的存储器502。其中,存储器502存储有指令。指令在由处理器501执行时使得处理器501执行以下动作:

a.经由超文本传输协议接口接收网页读取请求,所述网页读取请求包括第一统一资源定位地址和第一时间信息;

b.确定缓存中是否存在与所述第一统一资源定位地址相关联的索引,其中,所述缓存存储在预定时间段内检索过的一个或多个索引,每一个索引包括检索过的统一资源定位地址、与所述统一资源定位地址相关联的网页以及第二时间信息;

c1.在所述缓存中存在与所述第一统一资源定位地址相关联的索引,并且在所述第一时间信息早于所述索引中的所述第二时间信息的情况下,经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页。

在依据本发明内容的一个实施例中,当所述指令执行时使得所述处理器501还执行以下操作:

c2.在所述缓存中存在与所述第一统一资源定位地址相关联的索引并且所述第一时间信息等于所述索引中的所述第二时间信息的情况下,经由所述超文本传输协议接口返回表示网页未修改的标识。

在依据本发明内容的一个实施例中,当所述指令执行时使得所述处理器501还执行以下操作:

d11.基于每一个索引中存储的统一资源定位地址确定所述区块链中相应统一资源定位地址处的区块链数据;

d12.将所述区块链数据与所述索引中存储的网页所对应的数据进行比较以确定所述统一资源定位地址处的区块链数据是否更新;

d13.在所述统一资源定位地址处的区块链数据被更新的情况下,在所述索引中将与所述统一资源定位地址相关联的网页更新为根据更新的区块链数据所生成的网页,并将所述第二时间信息更新为所述区块链数据的更新时间。

在依据本发明内容的一个实施例中,当所述指令执行时使得所述处理器501还执行以下操作:

d21.基于每一个索引中存储的统一资源定位地址确定所述区块链中相应统一资源定位地址处的区块链数据;

d22.将所述区块链数据的修改时间信息与所述索引中的第二时间信息进行比较以确定所述统一资源定位地址处的区块链数据是否更新;

d23.在所述区块链数据的修改时间信息晚于所述索引中的第二时间信息的情况下,在所述索引中将与所述统一资源定位地址相关联的网页更新为根据更新的区块链数据所生成的网页,并将所述第二时间信息更新为所述区块链数据的更新时间。

在依据本发明内容的一个实施例中,所述网页读取请求还包括表示允许返回差异网页的第一指示符,所述缓存中的每一个索引还包括一个或多个差异网页以及与分别每一个差异网页相对应的时间段信息,所述指令执行时还使得所述处理器501执行以下操作:

e1.基于每一个索引中存储的统一资源定位地址确定所述区块链中相应统一资源定位地址处的区块链数据;

e2.将所述区块链数据与所述索引中存储的网页所对应的数据进行比较以确定所述统一资源定位地址处的区块链数据是否更新;

e3.在所述索引中的所述统一资源定位地址处的区块链数据被更新的情况下,利用更新的区块链数据与所述索引中存储的网页所对应的数据之间的数据差异生成相应的差异网页,将所述第二时间信息以及区块链数据的更新时间一起作为与所述差异网页相对应的时间段信息;

e4.将与所述统一资源定位地址相关联的网页更新为根据更新的区块链数据所生成的网页,并将所述第二时间信息更新为所述区块链数据的更新时间。

在依据本发明内容的一个实施例中,在所述缓存中存在与所述第一统一资源定位地址相关联的索引并且所述第一时间信息早于所述索引中的所述第二时间信息的情况下,所述指令执行时还使得所述处理器501执行以下操作:

f1.确定所接收的网页读取请求中是否存在第一指示符;

f2.在接收的网页读取请求中存在第一指示符的情况下,基于所述第一时间信息与所述第二时间信息之间的时间差量以确定所述缓存中存在与所述时间差量相对应的一个或多个所述差异网页时,经由所述超文本传输协议接口返回与所述时间差量相对应的一个或多个所述差异网页。

在依据本发明内容的一个实施例中,当所述指令执行时使得所述处理器501还执行以下操作:

c31.在所述缓存中不存在与所述第一统一资源定位地址相关联的索引的情况下,获取在所述第一统一资源定位地址处的第一区块链数据;

c32.判断是否存在至少一个第二统一资源定位地址,其中,在所述至少一个第二统一资源定位地址处的第二区块链数据与所述第一区块链数据相关联;

c33.在存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据和所述至少一个第二统一资源定位地址生成与所述第一统一资源定位地址相关联的网页;以及

c34.经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页。

在依据本发明内容的一个实施例中,在所述步骤c34中经由所述超文本传输协议接口返回与所述第一统一资源定位地址相关联的网页之后,所述指令执行时使得所述处理器501还执行以下操作:

c35.将所述第一统一资源定位地址、与所述第一统一资源定位地址相关联的网页以及所述第二时间信息作为索引存储在所述缓存中。

在依据本发明内容的一个实施例中,当所述指令执行时使得所述处理器501还执行以下操作:

在不存在所述至少一个第二统一资源定位地址的情况下,根据所述第一区块链数据生成与所述第一统一资源定位地址相关联的网页。

在依据本发明内容的一个实施例中,所述步骤c32中判断是否存在至少一个第二统一资源定位地址进一步包括:

根据所述第一区块链数据所包括的层次属性和预先确定的层次关系树来判断是否存在所述至少一个第二统一资源定位地址。

在依据本发明内容的一个实施例中,所述步骤c31中获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:

根据所述第一区块链数据的账本存储位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,

其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在公开账本中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在隐私账本中;

在所述第一区块链数据存储在所述公开账本中的情况下,获取在所述第一统一资源定位地址处的第一区块链数据。

在依据本发明内容的一个实施例中,所述步骤c31中获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:

根据所述第一区块链数据的存储区域位置来确定是否获取在所述第一统一资源定位地址处的第一区块链数据,

其中,在所述第一区块链数据或所述第二区块链数据为公开数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的公开区域中;以及在所述第一区块链数据或所述第二区块链数据为隐私数据的情况下,所述第一区块链数据或所述第二区块链数据存储在账本的隐私区域中;

在所述第一区块链数据存储在所述账本的公开区域中的情况下,获取在所述第一统一资源定位地址处的第一区块链数据。

在依据本发明内容的一个实施例中,所述第一区块链数据和/或所述第二区块链数据包括第一属性,并且其中,所述步骤c31中获取在所述第一统一资源定位地址处的第一区块链数据进一步包括:

在所述第一区块链数据的第一属性表明所述第一区块链数据为公开数据的情况下,获取在所述第一统一资源定位地址处的第一区块链数据。

综上所述,本发明内容所提出的用于搜索区块链数据的方法、设备以及相应的计算机可读存储介质一方面能够在缓存中搜索曾经搜索过的数据来提高对区块链数据的搜索效率,另一方面能够对区块链上的数据作出精确控制,实现仅访问可以公开的数据,并且限定了一种供访问检索的内部机制和接口,不仅可以让外部网页链接可以直接链接区块链中的公开数据,也可以让区块链中的公开数据相互链接。此外,通过本发明内容所提供的解决方案可以实现区块链和互联网信息的快速互联互通,进一步发挥出区块链的巨大价值。

图6示出了用于搜索区块链数据的设备600的示意性框图。应当理解,设备600可以实现为实现图2a中的用于搜索区块链数据的方法200的功能。从图6中可以看出用于搜索区块链数据的设备600包括中央处理单元(cpu)601(例如,处理器),其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram603中,还可存储该设备600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许该设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各种方法,例如用于搜索区块链数据的方法能够由cpu601执行。例如,在一些实施例中,用于搜索区块链数据的方法200可以实现为计算机软件程序,其有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom602和/或通信单元609而载入和/或安装到该设备600上。当计算机程序加载到ram603并由cpu601执行时,可以执行上文描述的方法200中的一个或多个动作或步骤。

一般而言,本发明的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本发明的实施例的各方面图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

用于执行本发明内容的各个方面的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本发明内容的一方面的计算机可读程序指令,从而实施依据本发明内容的各个方面所公开的技术方案。

应当注意,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本发明的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。

以上所述仅为本发明的实施例可选实施例,并不用于限制本发明的实施例,对于本领域的技术人员来说,本发明的实施例可以有各种更改和变化。凡在本发明的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本发明的实施例的保护范围之内。

虽然已经参考若干具体实施例描述了本发明的实施例,但是应该理解,本发明的实施例并不限于所公开的具体实施例。本发明的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1