区块链上互联网搜索数据的存储方法及其装置与流程

文档序号:22679875发布日期:2020-10-28 12:39阅读:125来源:国知局
区块链上互联网搜索数据的存储方法及其装置与流程

本发明涉及互联网大数据技术领域,尤其涉及一种区块链上互联网搜索数据的存储方法及其装置。



背景技术:

目前,区块链技术是运用加密算法、共识机制等技术的分布式存储账本。随着区块链技术的运用,越来越多的互联网数据会存储在区块链上;可参见专利号:201910306004.5。

现有的搜索数据存储在区块链上,区块链节点需要先将数据打包成区块;然后将区块完成共识后,存入区块链中。若采用工作量证明pow的共识方法,该上链流程需要60分钟左右;若采用授权股权证明dpos的方法,该上链流程需要15分钟左右;pow和dpos这两种共识方法,是目前区块链系统的主流共识方法。当用户需要将搜索数据(例如:百度、360搜索等搜索平台数据)上链时,动辄十几分钟的上链时间,会影响用户使用区块链技术的体验。

因此,如何针对搜索数据上链存储,进而缩短用户数据上链的时间,成为亟待解决的问题。

以上描述仅仅为了方便理解,并不应限定为本申请的现有技术。



技术实现要素:

基于上述问题,本申请区块链上互联网搜索数据的存储方法及其装置,该方法能够缩短用户搜索数据的上链时间,进而提升用户搜索数据上链的体验。

本申请第一方面公开了一种区块链上互联网搜索数据的存储方法,区块链系统包括第一存储节点和第一出块节点,所述第一存储节点通过本地数据库存储数据,所述第一出块节点用于打包区块且将区块上链;所述存储方法应用于所述第一存储节点,所述第一存储节点包括第一公钥和第一私钥,包括:

接收终端发送的用户搜索数据上链请求,所述用户搜索数据包括用户在互联网搜索平台上的搜索操作数据、搜索操作数据id、用户id、搜索操作数据哈希值、终端私钥对搜索操作数据的签名以及终端公钥;

通过本地数据库存储所述用户搜索数据,且生成搜索数据第一存储证明;所述搜索数据第一存储证明包括所述用户搜索数据、存储地址、第一私钥对所述用户搜索数据的签名以及第一公钥,以使所述第一存储节点将所述搜索数据第一存储证明发送给所述出块节点,所述出块节点将所述用户搜索数据上链;

给所述终端发送所述搜索数据第一存储证明,以便于通知终端所述用户搜索数据已经被区块链系统存储。

在一种可能的实施方式中,所述搜索操作数据包括用户在互联网搜索平台上的搜索时间数据、搜索关键词数据以及搜索结果点击数据中的一种或多种。

在一种可能的实施方式中,所述方法还包括:所述第一存储节点将所述用户搜索数据随机发送给第二存储节点,以使第二存储节点备份存储所述用户搜索数据,且第二存储节点将各自生成的搜索数据第二存储证明,并将搜索数据第二存储证明发送给所述出块节点,出块节点将所述用户搜索数据上链。

在一种可能的实施方式中,第二存储节点的数量m≥2,m为正整数。

在一种可能的实施方式中,所述方法还包括:若所述第一存储节点未接收到所述出块节点发送的所述用户搜索数据第一存储证明上链响应,间隔预定时间段给所述出块节点发送所述用户搜索数据第一存储证明,直到所述出块节点将所述用户搜索数据第一存储证明上链。

在一种可能的实施方式中,所述方法还包括:所述第一存储节点发送用户搜索数据查询请求给所述出块节点,所述用户搜索数据查询请求包括所述搜索操作数据id;

接收所述出块节点发送的所述搜索操作数据id对应的第一搜索操作数据;

将所述第一搜索操作数据进行哈希运算得到的第一哈希值,与所述搜索操作的哈希值进行比较,若相同,所述第一存储节点确认所述出块节点已将所述搜索操作数据上链。

在一种可能的实施方式中,所述方法还包括:所述第一存储节点接收所述出块节点间隔预设时间发送的所述用户搜索数据查询请求,所述用户搜索数据查询请求包括所述搜索操作数据id;给所述出块节点发送第二搜索操作数据,所述第二搜索操作数据对应所述搜索操作数据id,以使所述出块节点对所述第二搜索操作数据进行哈希运算得到第二哈希值,根据第二哈希值与所述搜索操作数据的哈希值进行比较,若相同,则确认所述第一存储节点在预设时间段内已存储所述搜索操作数据。

在一种可能的实施方式中,所述方法还包括:所述第一存储节点接收所述终端的积分抵押操作;根据所述终端的积分数量,给所述终端分配存储空间权限;所述存储空间=单位时间存储空间x存储时间。

在一种可能的实施方式中,所述方法还包括:所述第一存储节点根据所述用户搜索操作数据需要的存储空间,对用户的存储空间权限进行校验;校验通过后,从用户存储空间权限中扣除所述用户搜索操作数据对应的存储空间权限;将用户剩余存储空间权限发送给所述终端,以告知所述终端对应的用户。

本申请第二方面公开了一种区块链上互联网搜索数据的存储装置,区块链系统包括第一存储节点和第一出块节点,所述第一存储节点通过本地数据库存储数据,所述第一出块节点用于打包区块且将区块上链;所述存储装置应用于所述第一存储节点,所述第一存储节点包括第一公钥和第一私钥,所述存储装置包括接收单元、处理单元以及发送单元;其中,

所述接收单元,接收终端发送的用户搜索数据上链请求,所述用户搜索数据包括用户在互联网搜索平台上的搜索操作数据、搜索操作数据id、用户id、搜索操作数据哈希值、终端私钥对搜索操作数据的签名以及终端公钥;

所述处理单元,通过本地数据库存储所述用户搜索数据,且生成搜索数据第一存储证明;所述搜索数据第一存储证明包括所述用户搜索数据、存储地址、第一私钥对所述用户搜索数据的签名以及第一公钥,以使所述第一存储节点将所述搜索数据第一存储证明发送给所述出块节点,所述出块节点将所述用户搜索数据上链;

所述发送单元,给所述终端发送所述搜索数据第一存储证明,以便于通知终端所述用户搜索数据已经被区块链系统存储。

在一种可能的实施方式中,所述搜索操作数据包括用户在互联网搜索平台上的搜索时间数据、搜索关键词数据以及搜索结果点击数据中的一种或多种。

在一种可能的实施方式中,所述发送单元,将所述用户搜索数据随机发送给第二存储节点,以使第二存储节点备份存储所述用户搜索数据,且第二存储节点将各自生成的搜索数据第二存储证明,并将搜索数据第二存储证明发送给所述出块节点,出块节点将所述用户搜索数据上链。

在一种可能的实施方式中,第二存储节点的数量m≥2,m为正整数。

在一种可能的实施方式中,若所述第一存储节点未接收到所述出块节点发送的所述用户搜索数据第一存储证明上链响应,所述处理单元间隔预定时间段给所述出块节点发送所述用户搜索数据第一存储证明,直到所述出块节点将所述用户搜索数据第一存储证明上链。

本申请能够缩短用户搜索数据的上链时间,进而提升用户搜索数据上链的体验。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请公开了一种区块链上互联网搜索数据的存储方法流程示意图;

图2为本申请公开了一种区块链上互联网搜索数据的存储装置结构示意图;

图3为本申请公开了一种区块链上互联网搜索数据的存储设备结构示意图;

图4为本申请公开了一种区块链上互联网搜索数据进行存储的区块链架构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请中的“第一”“第二”仅仅是便于理解,给技术词做区分,并不理解为先后,或作为限制性的理解。

为便于对本发明实施例的理解,下面将结合附图以具体实施例作进一步的解释说明,实施例并不构成对本发明实施例的限定。

如图4所示,区块链系统包括第一存储节点和第一出块节点,所述第一存储节点通过本地数据库存储数据,所述第一出块节点用于打包区块且将区块上链;所述存储方法应用于所述第一存储节点,所述第一存储节点包括第一公钥和第一私钥。

如图1所示,一种区块链上互联网搜索数据的存储方法,该方法包括s101-s103。

s101、接收终端发送的用户搜索数据上链请求,所述用户搜索数据包括用户在互联网搜索平台上的搜索操作数据、搜索操作数据id、用户id、搜索操作数据哈希值、终端私钥对搜索操作数据的签名以及终端公钥。

此时,搜索操作数据id或用户id,是给用户提供两种查询方式;终端私钥对搜索操作数据的签名,第一存储节点会对私钥对应的存储空间权限进行校验。

s102、通过本地数据库存储所述用户搜索数据,且生成搜索数据第一存储证明;所述搜索数据第一存储证明包括所述用户搜索数据、存储地址、第一私钥对所述用户搜索数据的签名以及第一公钥,以使所述第一存储节点将所述搜索数据第一存储证明发送给所述出块节点,所述出块节点将所述用户搜索数据上链。

s103、给所述终端发送所述搜索数据第一存储证明,以便于通知终端所述用户搜索数据已经被区块链系统存储。

上述描述中,存储节点对用户搜索数据进行存储后,会直接返回给用户一个存储证明,该存储证明提示用户区块链系统的存储操作已经完成;用户不需要等待,可以直接进行其他操作;同时,区块链系统会对存储证明进行打包上链的处理,不影响用户使用区块链系统的其他功能;从而提升用户在区块链系统上存储数据的体验。

在一个示例中,所述搜索操作数据包括用户在互联网搜索平台上的搜索时间数据、搜索关键词数据以及搜索结果点击数据中的一种或多种。

在一个示例中,所述方法还包括:所述第一存储节点将所述用户搜索数据随机发送给第二存储节点,以使第二存储节点备份存储所述用户搜索数据,且第二存储节点将各自生成的搜索数据第二存储证明,并将搜索数据第二存储证明发送给所述出块节点,出块节点将所述用户搜索数据上链。

需要说明的是,若该用户搜索数据的数量大于预设阈值,第一存储节点对该用户搜索数据进行存储后,可以将该用户搜索数据划分成搜索数据分片,给多个第二存储节点发送搜索数据分片,一个搜索数据分片对应一个第二存储节点。对于数据量大的数据进行分片,进行分片备份存储,可以提高数据备份存储的效率。

此外,选择多个第二存储节点时,为了保证备份存储功能的可用性,可以将多个第二存储节点的宕机率相乘,得到总的宕机率;选择总的宕机率小于预设宕机率的多个第二存储节点。

在一个示例中,第二存储节点的数量m≥2,m为正整数。

此时,第二存储节点的数量就是备份数据的数量。

在一个示例中,所述方法还包括:若所述第一存储节点未接收到所述出块节点发送的所述用户搜索数据第一存储证明上链响应,间隔预定时间段给所述出块节点发送所述用户搜索数据第一存储证明,直到所述出块节点将所述用户搜索数据第一存储证明上链。

在一个示例中,所述方法还包括:所述第一存储节点发送用户搜索数据查询请求给所述出块节点,所述用户搜索数据查询请求包括所述搜索操作数据id;

接收所述出块节点发送的所述搜索操作数据id对应的第一搜索操作数据;

将所述第一搜索操作数据进行哈希运算得到的第一哈希值,与所述搜索操作的哈希值进行比较,若相同,所述第一存储节点确认所述出块节点已将所述搜索操作数据上链。

在一个示例中,所述方法还包括:所述第一存储节点接收所述出块节点间隔预设时间发送的所述用户搜索数据查询请求,所述用户搜索数据查询请求包括所述搜索操作数据id;给所述出块节点发送第二搜索操作数据,所述第二搜索操作数据对应所述搜索操作数据id,以使所述出块节点对所述第二搜索操作数据进行哈希运算得到第二哈希值,根据第二哈希值与所述搜索操作数据的哈希值进行比较,若相同,则确认所述第一存储节点在预设时间段内已存储所述搜索操作数据。

在一个示例中,所述方法还包括:所述第一存储节点接收所述终端的积分抵押操作;根据所述终端的积分数量,给所述终端分配存储空间权限;所述存储空间=单位时间存储空间x存储时间。

此时,用户需要存储的搜索数据时间到了之后,存储节点可以删除该搜索数据;此外,用户没有使用过的存储空间权限,用户可以通过终端发起解抵押操作,将剩余的未使用过的存储空间权限对应的积分赎回。

在一个示例中,所述方法还包括:所述第一存储节点根据所述用户搜索操作数据需要的存储空间,对用户的存储空间权限进行校验;校验通过后,从用户存储空间权限中扣除所述用户搜索操作数据对应的存储空间权限;将用户剩余存储空间权限发送给所述终端,以告知所述终端对应的用户。

需要说明的是,扣除存储空间权限的方式包括两种:一种是直接扣除用户搜索操作数据需要的存储空间;一种是按照单位时间扣除单位时间存储空间权限。单位时间可以是一天、一周或一个月。

在一个示例中,所述方法还包括:所述第一存储节点发送用户搜索数据查询请求给所述出块节点,所述用户搜索数据查询请求包括所述搜索操作数据id;接收所述出块节点发送的所述搜索操作数据id对应的第一搜索操作数据;将所述第一搜索操作数据进行哈希运算得到的第一哈希值,与所述搜索操作的哈希值进行比较,若相同,所述第一存储节点确认所述出块节点已将所述搜索操作数据上链。

在一个示例中,所述方法还包括:所述第一存储节点接收所述出块节点间隔预设时间发送的所述用户搜索数据查询请求,所述用户搜索数据查询请求包括所述搜索操作数据id;

给所述出块节点发送第二搜索操作数据,所述第二搜索操作数据对应所述搜索操作数据id,以使所述出块节点对所述第二搜索操作数据进行哈希运算得到第二哈希值,根据第二哈希值与所述搜索操作数据的哈希值进行比较,若相同,则确认所述第一存储节点在预设时间段内已存储所述搜索操作数据。

在一个示例中,所述方法还包括:所述第一存储节点接收所述终端的积分抵押操作;

根据所述终端的积分数量,给所述终端分配存储空间权限;所述存储空间=单位时间存储空间x存储时间。

在一个示例中,所述方法还包括:所述第一存储节点根据所述用户搜索操作数据需要的存储空间,对用户的存储空间权限进行校验;校验通过后,从用户存储空间权限中扣除所述用户搜索操作数据对应的存储空间权限;

将用户剩余存储空间权限发送给所述终端,以告知所述终端对应的用户。

本申请能够缩短用户搜索数据的上链时间,进而提升用户搜索数据上链的体验。

本申请第二方面公开了一种区块链上互联网搜索数据的存储装置,区块链系统包括第一存储节点和第一出块节点,所述第一存储节点通过本地数据库存储数据,所述第一出块节点用于打包区块且将区块上链;所述存储装置应用于所述第一存储节点,所述第一存储节点包括第一公钥和第一私钥,所述存储装置包括接收单元、处理单元以及发送单元;其中,

所述接收单元,接收终端发送的用户搜索数据上链请求,所述用户搜索数据包括用户在互联网搜索平台上的搜索操作数据、搜索操作数据id、用户id、搜索操作数据哈希值、终端私钥对搜索操作数据的签名以及终端公钥;

所述处理单元,通过本地数据库存储所述用户搜索数据,且生成搜索数据第一存储证明;所述搜索数据第一存储证明包括所述用户搜索数据、存储地址、第一私钥对所述用户搜索数据的签名以及第一公钥,以使所述第一存储节点将所述搜索数据第一存储证明发送给所述出块节点,所述出块节点将所述用户搜索数据上链;

所述发送单元,给所述终端发送所述搜索数据第一存储证明,以便于通知终端所述用户搜索数据已经被区块链系统存储。

在一个示例中,所述搜索操作数据包括用户在互联网搜索平台上的搜索时间数据、搜索关键词数据以及搜索结果点击数据中的一种或多种。

在一个示例中,所述发送单元,将所述用户搜索数据随机发送给第二存储节点,以使第二存储节点备份存储所述用户搜索数据,且第二存储节点将各自生成的搜索数据第二存储证明,并将搜索数据第二存储证明发送给所述出块节点,出块节点将所述用户搜索数据上链。

在一个示例中,第二存储节点的数量m≥2,m为正整数。

在一个示例中,若所述第一存储节点未接收到所述出块节点发送的所述用户搜索数据第一存储证明上链响应,所述处理单元间隔预定时间段给所述出块节点发送所述用户搜索数据第一存储证明,直到所述出块节点将所述用户搜索数据第一存储证明上链。

需要说明的是,装置实施例中,对于与方法实施例中相同或相近之处皆可参见,在此不在赘述。

本申请能够缩短用户搜索数据的上链时间,进而提升用户搜索数据上链的体验。

本申请又公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意实施例中的方法。

本申请还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实施例中的方法。

图3示出了一种计算机设备结构示意图,该计算机设备可以包括:处理器310、存储器320、输入/输出接口330、通信接口340和总线350。其中处理器340、存储器320、输入/输出接口330和通信接口340通过总线350实现彼此之间在设备内部的通信连接。

处理器310可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器320可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器320中,并由处理器310来调用执行。

输入/输出接口330用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口340用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线350包括一通路,在设备的各个组件(例如处理器310、存储器320、输入/输出接口330和通信接口340)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器310、存储器320、输入/输出接口330、通信接口340以及总线350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的范围之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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