用于保护数据操作的方法和系统的制作方法

文档序号:10655933阅读:386来源:国知局
用于保护数据操作的方法和系统的制作方法
【专利摘要】本发明涉及用于保护数据操作的方法和系统,特别涉及用于在包含互联节点的计算机化系统中的数据操作的方法、系统和计算机程序产品,其中所述互连节点被配置来发送、接收和存储数据,并且其中所述方法包括执行计算机化加密方法以便实现两个或更多的工作证明,包括:通过从所述互连节点的至少一个子集的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集中的每个节点处可证明地获取数据的所述子集中的数据。
【专利说明】
用于保护数据操作的方法和系统
技术领域
[0001 ]本发明的实施方式概括地涉及实施工作证明的加密方法的领域,例如加密货币系统。
【背景技术】
[0002]网页搜索引擎是被设计来搜索、索引、组织和排序万维网上的信息的软件系统。该信息可以包括网页、图片和其他类型的文件。搜索引擎也可以挖掘数据库或公开目录中可用的数据。不同于网页目录,搜索引擎由于网络爬虫(即蜘蛛)的存在而保持准实时信息,其存储有关从页面的HTML标记获取的网页的信息。这些页面由网络爬虫遵循网站上的每条链路取回而来。然后搜索引擎分析每个页面的内容,以确定它应当如何被索引;例如,从题目、内容、标题或者元标记中提取词。关于网页的数据被存储在索引数据库中以供以后查询使用。
[0003]如Bitcoin?(比特币)之类的加密货币系统使用加密来保护交易。通常,加密货币系统使用分散(uncentralized)控制(与集中货币系统相反)和记录交易的公开总账(ledger)(例如,比特币块链)。加密货币使用各种时间戳方案,以避免受信任的第三方对加入到块链总账的时间戳交易的需要。被发明的第一个时间戳方案是工作证明(PoW)方案。最广泛使用的PoW方案是基于由Bitcoin?(比特币)和scrypt引入的所谓的SHA-256算法。用于PoW的其他散列算法包括Blake,SHA-3,和Xl I。一些加密货币系统使用联合的工作证明/权益证明方案。权益证明是通过请求用户示出对一定量货币的所有权以保护加密货币网络安全并达成分布的共识的方法。它不同于PoW系统,PoW系统运行资源密集的散列算法,以验证电子交易并生成新的货币单位(即,挖掘或铸币)。

【发明内容】

[0004]根据实施例,公开了一种用于保护计算机化的系统中的数据操作的方法,所述计算机化的系统包括被配置来发送、接收和存储数据的互连节点,并且用于通过如下来执行计算机化的加密方法以便实现两个或更多的工作证明:从所述互连节点的至少一个子集的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集中的每个节点处可证明地获取数据的所述子集中的数据。
[0005]根据另一实施例,公开了一种用于保护数据操作的计算机化的系统,包括被配置来发送、接收和存储数据的互连节点,并且用于通过如下来执行计算机化加密方法以便实现两个或更多的工作证明:从所述互连节点的至少一个子集的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集中的所述每个节点处可证明地获取在数据的所述子集中的数据。
[0006]根据另一实施例,公开了一种用于保护数据操作的计算机程序产品,所述计算机程序产品包括其上包含程序指令的计算机可读存储介质。所述程序指令可由用于保护数据操作的计算机化的系统中的互连节点执行,以使得所述节点通过如下来执行计算机化加密方法以便实现两个或更多的工作证明:从所述互连节点的至少一个子集的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集中的所述每个节点处可证明地获取在数据的所述子集中的数据。
【附图说明】
[0007]下列详细说明将结合附图得到最好的理解,所述详细说明以示例的方式给出而不旨在将本发明仅限制于此,在附图中可以不示出所有结构。
[0008]图1示意性地示出了根据本发明实施例的计算机化的系统,其包括以对等(点对点,直接或间接地)的方式互连的节点集合。
[0009]图2示意性地示出了根据本发明实施例的如图1所示的系统的典型节点(实际上是通用计算机)。
[0010]图3是根据本发明实施例的流程图,其图示了根据实施例保护数据操作的方法的尚级步骤。
[0011]图4是根据本发明实施例示意性地图示了通信层组件和应用层组件的图表。
[0012]附图不必是按比例绘制的。附图仅仅是示意性的,并不旨在描绘本发明的具体参数。附图旨在仅描绘本发明的典型实施例。在附图中,相同的附图标记代表相同的元件。
【具体实施方式】
[0013]此处公开了要求保护的结构和方法的详细实施例;然而,应当理解,公开的实施例仅仅是对要求保护的可以以各种形式实现的结构和方法的说明。但是,本发明可以以许多不同的形式来体现,并且不应该被解释为局限于这里阐述的示例性实施例。相反,提供这些示例性实施例以使得本公开将是彻底和完整的,并将本发明的构思完全传达给本领域技术人员。
[0014]出于在下文中描述的目的,如在附图中所示,术语“上”,“下”,“右”,“左”,“垂直”,“水平”,“顶”,“底”,以及它们的衍生物将涉及所公开的结构和方法。应当理解,当诸如层、区域或基板之类的元件被称为在另一元件“上”、“之上”、“之下”、“下面”、“下”时,它可以存在于另一元件或中间元件上面或下面,或者还可以存在中间元件。相反,当一个元件被称为“直接在”另一元件“上”、“上方”、“之下”、“下面”或“直接接触”时,可以没有中间元件存在。此外,在本文中使用的术语仅用于描述具体实施例的目的,并非旨在限制本发明。如本文中所使用的,单数形式的“一”,“一个”和“该”也意图包括复数形式,除非上下文清楚地另外指明。
[0015]为了不模糊本发明实施例的介绍,在以下详细实施例中,为了介绍和说明的目的,本领域所公知的一些处理步骤或操作可以被合并,并且在一些实例中可能没有详细的描述。在其他实例中,本领域所公知的一些处理步骤或操作可能完全没有描述。应当理解,以下描述更关注于本发明各种实施例的区别特征或元件。
[0016]参照图1-图4,描述了本发明的实施例,其可以包括用于在计算机化系统中保护数据操作的方法的实施方式。如图1所示,假设系统10包括互连节点1-节点7。每个节点被配置为发送、接收和存储数据。本计算机化的方法可以在系统的一个或(通常)多个节点处被执行,并且包括执行计算机化的加密方法来实现两个或更多个工作证明(以下称“PoW” )。
[0017]PoW的概念通常从加密货币系统所已知。然而并且与已知的加密货币系统相比,在这里,PoW至少包括如图3的流程图中所示的操作S20和S30。
[0018]首先,加密方法的执行导致从系统的每个节点或者至少其节点的子集(以下称为“节点”)可证明地抓取S20数据的相应子集。积极贡献以呈现PoW的节点可以与加密货币系统中被称为“工人”或“矿工”的节点相比较。每个数据子集被存储在系统的节点上(即,跨越)或者与之通信。注意,从一个或多个节点执行抓取操作,并且因此,一组爬虫可以被分配到一个或多个节点。应当注意,抓取数据的概念是本领域中众所周知的。
[0019]如图1所示的计算机化的系统10可以被限制为小型系统,例如专用网络或公司网络,或者作为另一示例,可以包括与一个或多个第三方网络进行通信以形成计算机化系统的公司网络。因此,将被抓取的数据不必存储在触发抓取动作的特定节点上。相反,数据可通过一个或多个互连节点的不同节点被分散。
[0020]其次,加密方法的执行导致可证明地获取S30所抓取的数据子集。换句话说,在系统的每个节点(或者至少其节点的子集)处采取这些步骤,以获取被抓取的数据子集中的数据。获取数据意味着节点获得数据(即,数据以电信号的形式被发送到节点),这样该节点将稍后能够存储所需的数据。
[0021]因此,系统10可以运行加密方法来实现PoW,其可以至少包括抓取/获取数据的上述操作。换言之并且由于所执行的PoW的性质,本加密方法增加并重新定义已知加密货币系统的功能。尽管如此,本发明方法的实施例可以仍然保留加密货币系统的一些已知的特征,比如所执行的操作的可证明性,其可以继而涉及已经建立的块链、时间戳、数字签名和加密货币系统中已知的其他协议。
[0022]PoW的概念例如从Hashcash?和Bitcoin?系统中被已知。PoW的概念在这里一般被保留。然而,相对于已知的加密货币系统,在这里PoW操作将至少包括上面的抓取/获取操作。其他PoW操作可以被涉及,这在下面进行描述。加密货币散列的概念在实施例中可以被如在这里所述的PoW替换或保留和增加。
[0023]像加密货币系统一样,本系统可以被看作是使用加密来保护交易的交换媒介,虽然在这里拟进行的交易是不同的性质的并且意指先前的数据抓取和获取。因此,本发明的实施例与Bitcoin?的块链的概念具有相似性。例如,示例性实施例可以包括时间戳服务器,全局序列器和广播协议。然而,这里讨论的所有实施例都包括抓取和获取数据的操作,其通常将发现基于搜索的PoW中的应用。
[0024]使用加密方法来保护数据和数据操作并且由此保证这些操作确实已被执行。本系统运行密码方法来保护数据,并且优选地也是为了保护数据传输。因此,本实施例不只限于重新运用加密货币系统以用于执行有用(挖掘)工作;它们还允许PoW的结果,包括数据被抓取、被获取、以及索引也被获得、查询被服务以及要被保护的其他相关操作。实际上,在合法节点处可证明地获取数据继而可以允许附加的PoW被执行,如在下面详细讨论的那样。
[0025]在实施例中,优选地,系统10是分散的、对等的,或者在变体中可以包含与对等架构相结合的一些分层拓扑。然而,在其他变体中,系统10可以不是对等的,在这种情况下,与对等架构相反,要被抓取的数据的子集可能需要被“非民主地”分配。这在下面更详细地讨论。
[0026]在实施例中,并且在抓取数据子集之前,本方法还可以包括向每个活跃节点(SP,稍后触发抓取操作的节点)分配SlO地址的步骤。每个被分配的地址是到某数字资源的参考(如统一资源定位符或URL)。因此,可以根据被分配给活跃节点的地址从每个活跃节点执行抓取的后续步骤。
[0027]地址优选地由系统本身(S卩,由系统中的一个或多个其他节点)提供。地址例如可以包括URL或互联网协议(IP)地址。地址可以例如对应于链接到其他HTML页面的HTML页面。因此,地址可以对应于数据语料库图形(例如,因特网语料库图形)的子图形。数据语料库图形要被抓取和获取的数据的图形。因此,对节点提供地址相当于分配要被抓取的数据语料库图形的子图形。从节点抓取的空间例如可以包括因特网或者任何其他通信网络(例如,物联网或私有网络),或者它们的子部分或子部分的任何组合。
[0028]如前面所提起的那样,本系统例如可以是对等系统,并且因此将优选地涉及抓取的分散的抓取证明,由此,爬虫被系统独立地分配相应的子图形。这例如可以通过分布式散列表(DHT)来实现,以防止不希望的干扰。更一般地,本系统的拓扑结构例如可以是对等的,集中化的或者混合。系统拓扑确定节点的图形一一与数据语料库图形不同。两个图形例如可以经由多个双射而映射。这些数据与节点映射可以利用来自图形理论和规划理论的经典方法来进行优化,比如除了已知的映射的其他示例之外的二分图形匹配(BGM)。然后,每个节点可以分配一个或多个爬虫的相应集合,执行独立的任务,比如探索通过DHT方式分配给各节点的数据的子图形。在这个意义上,从每个工人节点处执行抓取操作。
[0029]子图形可以被分配如下:可以对表示数据图形结构的数据进行散列;然后执行图形的划分和攻克以获得子图形,子图形本身可以被散列。这可以借助于DHT来实施,其允许子图形的完整性证明。但是,使用DHT只是一种选项,附带地说一下,其不是特别适合于某些类型的基于查询的搜索。对于其他拓扑结构(例如,树型、k-ary n_cubes、k_ary n-flies),针对DHT的备选的、不必完全被分散的选项被考虑,比如链接/跳表,具有溢流的超级节点,或者当选系统的超级节点所已知的全局路由表。
[0030]如在图3的流程图中所图示的那样,优选地,本方法可以包括:使用类似加密货币的协议来安全地奖励S80—个或多个PoW以奖励积极参与者。更一般地,适合于安全奖励机制的任何协议都可以被考虑。取决于所选择的协议,则奖励可以采取资产、单元(可能是与货币单位相关联的标记,例如在所谓的“FoldingCoin”系统中那样)或者任何其他适合的奖励机制的形式,其优选地将与节点可证明地执行的工作量成比例。奖励机制还可以考虑其他因素,如工作成果、时间、资源分发等。特别地,系统可以奖励S80已经引起如下内容的节点:(i)可证明地抓取了被相应分配的数据和/或(ii)可证明地获取了这些数据。更一般地,系统可以有利地奖励每一个PoW。
[0031]在实施例中,系统10可以包括与奖励系统紧密耦合的信誉系统,以便与较不活跃的或较新的节点相对而言,提高被高度奖励的节点的可信度,较不活跃或较新节点的结果有时可能会与由更有信誉的节点所返回的结果冲突。
[0032]应该强调的是,上面提起的奖励系统和信誉系统可以由系统的节点1-7中的一个或多个来体现。类似地,在图3中所描绘的任何步骤都可以被系统的节点中的一个或多个或者任何一个或者任何组合来实现。即,在对等、分散的节点架构中,在图3中所描绘的任何一个或多个或者每一个步骤都可以由每个活跃节点来实现。任何节点都可以执行数据抓取,数据获取,参与奖励、时间戳、签名等。在“较少”分散的系统架构中,一个或多个节点可以被分配特定操作。一个节点可以专用于数字签名,另一个专用于奖励,等等。
[0033]有利的是,本方法可以试图冗余地分配SlO相同的地址给两个或更多个节点,以便获得由活跃节点随后执行的抓取操作的冗余度。这可以通过任何合适的选举机制来实现。冗余分配使得被抓取和获取的数据的能够达到期望的冗余度,这继而允许改善结果的可靠性和信任度。冗余度可以进一步被利用来证明节点已经真正履行其抓取任务。举例来说,简单的2k+l冗余度可以被实施以用于打破关系并获取大多数。
[0034]正如前面所说,数据抓取和获取是本方法所执行的最小的PoW。除了这些最小的PoW之外,本方法还可以包括在每个活跃节点处存储S40它已经获取的数据。存储操作建立第三PoW。同样,期望冗余度以保护被抓取的数据的存档。注意:复杂的协议被考虑以确保被存储的数据的冗余度一一尽管节点之间存在可能的数据交换。事实上,本方法不排除各个节点对通过节点的数据存储进行重新组织的可能性。就像以前一样,第三PoW操作优选地由系统奖励。与用于奖励抓取/获取操作相同的加密货币协议可以被用来奖励第三PoW(以及任何其他PoW—一如果有的话)。已经正确地抓取、获取、存储(以及还有取回,见下文)数据的节点的证明可以用加密的方式来保护安全。独立于加密方法或者与加密方法互补,还可以使用冗余度以建立证明。
[0035]优选地,加密方法应该如此被配置以使得请求者(S卩,请求数据的任何连接的计算机化的单元)可以根据密码协议和使用冗余度来可证明地取回存储在系统节点上的数据。即,本方法可以进一步包括可证明地取回S70存储在系统10的节点上的数据的步骤。请求方例如可以是系统的节点。由于前面讨论的可能的系统配置,请求者可以是第三方,如与核心系统的节点通信的外部客户端节点(但仍然与它一起形成扩展的计算机化的系统)。一个合适的密码协议的示例是所谓的零知识证明协议,如果需要,其可以具体适用于本实施例的上下文。
[0036]取回存储在节点上的数据是实现存储证明的一种实用方法。然而,由于数据取回不同于存储数据的操作,数据取回被认为是一个单独的PoW(在这里是第四PoW)。可取回性证明可能引起延迟,这对于一些应用可能是不能接受的。因此,本发明的实施例可以寻求例如从信誉高的节点快速取回临时结果,并且如果必要的话,低延迟的早期结果稍后被证明无效(延迟通常是几毫秒到几秒一一取决于具体上下文)。
[0037]实施例可以进一步包括:对存储在节点上的数据进行索引S50并对索引化的结果进行排序S60。索引在许多场景下都被证明是有用的。对数据进行索引优选地将在存储所获取的数据之后被执行。在实施例中,可以在存储数据之前或者同时(on-the-fly),通过解析所获取的数据在运行中执行对数据进行索引(数据索引操作在本领域是众所周知的)。然而,索引不是强制性的,特别是在只请求原始数据的情况下。每个节点可以采取步骤来索引它存储的数据,或者不索引。相对于请求键或值索引的数据,无论是否索引,任何节点稍后都可以只请求原始(抓取,也被称为语料库)数据。
[0038]在本上下文中,可以有利地使用节点上存储的数据的冗余度来执行排序。请注意,排序通常是基于“秘密”因素的启发式线性方程,诸如WWW引用、到一个页面的链接、或图形的边的数量。当然,并且除了冗余之外,其他的标准也可以被使用,比如信誉,其本身就可以使用(由用户)放入在结果中的信任度和/或基于之前做的工作的信任度。除了信誉之外,还可以使用冗余度,以进一步对结果进行排序。同样,正如在图1的系统中所假设的那样,优选地,寻求的是分散的共识。
[0039]索引操作建立了第五PoW,其优选地也将被奖励S80ο即,本方法可以安全地奖励S80这样的节点:这些节点根据适合的类似加密货币的协议而已经对存储在其上的数据可证明地进行了索引。正确的索引的证明例如可以类似于可取回性的证明。A〈键,值〉算法(例如,就像如在Hadoop中的映射化简(MapReduce))可以被使用。然而,这样的算法涉及高延迟的批量处理,其通常需要数十个到数千个工作节点的集群。分层和增量算法最近已经出现,例如,Spark、Caffeine和Percolator,它们保持过渡状态并且可能更适合本上下文。一般来说,由节点执行的任何集中化操作优选地应该可证明是正确的并且(以标记或货币单位的形式)被合理地奖励。
[0040]如先前提起的,系统优选地将进一步被配置用于接收和处理S70数据搜索查询,无论它来自内部节点还是客户端节点。为了这个目的,系统10可以分发S74在步骤S72处通过活跃节点接收到的数据搜索查询,以服务S76接收到的数据搜索查询。
[0041 ]管理查询建立了第六PoW。管理这样的查询意味着如对查询进行接收、分发(负载平衡)、以及服务这样的基本操作。然而,在实施例中,可以涉及另外的操作,例如组织查询以及处理和组织查询的结果。数据搜索查询可以按照先前排序的操作进行分发。这可以以例如混合在服务/服务质量(QoS)方程中的节点的信誉和它们的性能为基础。另外可以虑及到存储在系统节点上的数据的冗余度、实际负载、占用度和度量以优化(延迟、质量/可靠性等),来分发查询。再一次,在早期结果中的低延迟和信任度可以可选地通过高信誉节点(例如,由可以是本系统一部分的受欢迎的集群)注入。这些可以稍后被精炼或者甚至被最后的结果无效。在其他变形中,数据搜索查询可以根据排序结果和冗余度二者来被分发。
[0042]如图3所示,本方法优选地将安全地奖励S80节点使用任何合适协议已经可证明地服务搜索查询的节点。
[0043]如图3中进一步示出的,一个或多个PoW可以被数字签名S90,以使其能够证明由节点执行的操作。优选地,每个PoW均被进行数字签名。为了这一目的,系统可以包括被布置与节点通信的专用数字签名单元。在分散的架构中,数字签名协议由图1中示出的互连节点1-7来实施。
[0044]由系统所执行的密码方法启用本文所讨论的PoW。有趣的是,相同的加密方法可以被用来保护存储在节点上的数据以及通过节点的数据传输。本计算机化方法可以进一步被配置成确保跨越节点的由节点抓取和获取的数据的冗余度。
[0045]上述特征可以以各种方式进行组合。例如,本方法可以被体现为对等方法、实施步骤以便:加密-保护存储在系统上的数据和由系统执行的操作,被布置为分散的搜索引擎(相对于只归档随机库);以及奖励由节点执行的工作,其中来自奖励机制的输出可以被用来提高节点的信誉和他们在未来的抓取和查询管理操作中受到青睐的机会。
[0046]此外,这些方法可以被用来:(i)用新的排序算法增加搜索能力,从(可能是高度的)冗余的对等系统中获益;以及(ii)改善一一如果不是替换的话一一目前在流行的加密货币系统中实现的浪费的基于散列的PoW。尽管如此,因为本系统和方法使用加密来提供交换媒介从而保护交易数据,目前加密货币系统的一些特征可以被保留,如数字签名和加密协议。
[0047]如上面详细讨论的,本发明可以被体现为方法。它也可以被体现为计算机系统10。如在图1和图2中描绘的,计算机处理系统10可以包括被配置为发送、接收和存储数据的互连节点1-7。节点被进一步配置用于执行如上所述的计算机化加密方法。
[0048]最后,本发明可以被实现为包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有包含在其中的程序指令。所述程序指令可由系统10的节点1-7执行,使得后者执行如本文中所述的计算机化加密方法,由此两个或更多个PoW可以被实施。
[0049]现在,有关系统和计算机程序实现的更多内容将被述说。如这里所描述的,计算化设备可以被适当地设计用于实现本发明实施例。关于此点,可以意识到,本文所述的方法很大程度上是非交互和自动化的。在示例性实施例中,本文所述的方法可以在交互式、部分交互式或非交互式系统中实现。本文所述的方法可以在软件(例如,固件)、硬件或其组合中实现。在示例性实施例中,本文描述的方法以软件实现为由适当数字处理设备执行的可执行程序。更通用地,可以实现本发明的实施例,其中使用诸如个人计算机、工作站等等通用数字计算机作为本文的节点1-7。
[0050]例如,节点I在图2中被示意性表示。节点I可以是计算机化单元101,例如通用计算机。在示例性实施例中,关于硬件架构,如图2所示,单元101包括处理器105、与存储器控制器115耦合的存储器110、以及一个或多个输入和/或输出(I/O)设备140、145、150和155(或外设),其经由本地输入/输出控制器135通信耦合。输入/输出(或I/O)控制器135可以是但不限于一个或多个总线或其他有线或无线连接,如本领域已知的。I/O控制器135可以具有用于支持通信的额外元件(为了简要而省略),如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器。此外,本地接口可以包括地址、控制和/或数据连接,以实现上述组件之间的适当通信。
[0051]处理器105是用于执行软件(特别是存储在存储器110中的软件)的硬件设备。处理器105可以是任何订制或商业可用的处理器、中央处理单元(CPU)、与单元101关联的多个处理器当中的辅助处理器、基于半导体的微处理器(微芯片或芯片组的形式)、或通用的任何用于执行软件指令的设备。
[0052]存储器110可以包括易失性存储器元件(例如,随机存取存储器)和非易失性存储器元件的任一或组合。此外,存储器110可以合并电、磁、光和/或其他类型的存储介质。注意,存储器110可以具有分布式架构,其中各个组件彼此远离但可以被处理器105访问。
[0053]存储器110中的软件可以包括一个或多个分开的程序,其每一个包括用于实现逻辑功能的可执行指令的有序列表。在图2的示例中,存储器110中的软件包括根据示例性实施例在本文中描述的方法以及——如果必要的话——适当的操作系统(OS) 111 AS 111基本控制其他计算机程序的执行,如本文描述的方法,并提供调度、输入输出控制、文件和数据管理、存储器管理、以及通信控制和相关服务。
[0054]本文描述的方法可以是源程序、可执行程序(对象代码)、脚本或包含要执行的指令集的任何其他实体的形式。当作为源程序形式时,程序需要经由汇编器、编译器、解释器等等进行翻译,如自身已知的,其可以或可以不包含在存储器110中,以便关于OS 111进行适当操作。此外,方法可以被编写为具有方法和数据的类的面向对象的编程语言,或编程为具有例程、子例程和/或功能的过程化编程语言。
[0055]可能地,传统键盘150和鼠标155可以耦合到输入/输出控制器135。此外,I/O设备140-155可以进一步包括与输入和输出两者通信的设备。单元101还可包括耦合到显示器130的显示控制器125。在示例性实施例中,单元101还将包括经由通信网络165与其他节点102通信的网络接口,或收发器160或者任何适当的通信装置。网络165在节点1-7之间、以及外部系统(如果需要的话)之间发送和接收数据。网络165可以以无线方式实现,例如使用无线协议和技术,如WiF1、WiMax等。网络165可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个域网(PAN)、虚拟私有网络(VPN)、内联网或其他适当网络系统,并且包括用于接收和发送信号的设备。网络165还可以是基于IP的网络,用于经由宽带连接在节点I和任何外部节点2之间进行通信。在示例性实施例中,网络165可以是由服务提供者管控的受管理IP网络。此外,网络165可以是分组交换网,如LAN、WAN、因特网等。
[0056]如果单元101是PC、工作站、智能设备等,则存储器110中的软件还可包括基本输入输出系统(B1S) 310S被存储在ROM中,使得当激活单元101时可以执行B1S。
[0057]当单元101在操作中时,处理器105被配置为执行存储在存储器110中的软件、向/从存储器110传递数据、以及依照软件一般地控制单元101的操作。本文所述的方法和OS111(整体或部分由处理器105读取)典型地被缓存在处理器105中然后被执行。当本文描述的方法以软件实现时,所述方法可以被存储在任何计算机可读介质(如存储120)上,用于由任何计算机相关的系统或方法使用或结合计算机相关的系统或方法使用。
[0058]如图4所示,在典型实施例中,应用层基本上包括PoW计算(S卩,与图3中的步骤SlO-S60相关)和查询处理(步骤S70)所必要的组件。PoW计算导致与数据“语料库”存储的交互,而查询处理管理来自节点1-7(或任何连接的请求者)的交易查询以及去往节点1-7(或任何连接的请求者)的响应。通信层可以像往常一样分解在物理、数据链路、网络、传输、会话和呈现子层中。在实施例中,这些子层中的一些可能不是必需的。
[0059]本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0060]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例的非穷举列表包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROMS闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0061]这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0062]用于执行本发明操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如Smal I talk、C++等,以及常规的过程式编程语言一诸如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如包括可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0063]这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0064]这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0065]也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0066]附图中的流程图和框图显示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0067]虽然参照有限数目的实施例、变形和附图已经描述了本发明,但是本领域技术人员应该理解在不偏离本发明的范围的情况下可以做出各种变化和用各种等同物来替代。具体地,在不偏离本发明的范围的情况下,在给定实施例中描述的、变形的或附图所示的特征(类似装置或类似方法)可以合并或替代另一个实施例中描述的、变形的或附图中的另一个特征。在所附权利要求的范围内,可以相应地考虑根据上述任何实施例或变形描述的特征的各种组合。此外,在不偏离本发明的范围的情况下,可以做出很多较小的修改以适应特定情形或本发明教导的材料。因此,本发明并非意图限制到公开的具体实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。此外,可以考虑很多上面清楚提及以外的其他变形。
[0068]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所描述的实施例的范围和精神的情况下,许多修改和变形对于本技术领域的普通技术人员来说都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实施例。
【主权项】
1.一种用于保护计算机化的系统中的数据操作的方法,所述计算机化的系统包括被配置来发送、接收和存储数据的互连节点,所述方法包括: 执行计算机化的加密方法以实现两个或更多个工作证明,其中所述计算机化的加密方法包括从所述互连节点的至少一个子集中的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集的每个节点处可证明地获取数据的所述子集中的数据。2.根据权利要求1所述的方法,进一步包括:分配一个或多个地址到所述子集的每个节点,其中被分配地址中的每个地址是对数字资源的引用,并且其中根据分配给所述子集的每个节点的一个或多个地址而从所述子集的每个节点执行可证明地抓取。3.根据权利要求2所述的方法,其中所述地址由所述系统提供。4.根据权利要求2所述的方法,其中所述方法包括:将一个或多个相同地址冗余地分配给所述子集的两个或更多个节点,以获得由所述两个或更多个节点执行的抓取操作的冗余度。5.根据权利要求4所述的方法,其中所述加密方法进一步被配置使得第三方可以根据使用所述冗余度的加密协议来可证明地取回存储在所述子集的所述节点中的一个或多个节点上的数据,并且其中所述方法进一步包括:可证明地取回存储在所述子集的所述节点中的所述一个或多个节点上的数据。6.根据权利要求1所述的方法,进一步包括: 针对已经使得可证明地抓取所述数据的所述相应子集和/或可证明地获取数据的所述子集中的所述数据,根据类似加密货币的协议,安全地奖励所述子集的所述每个节点。7.根据权利要求1所述的方法,进一步包括: 在所述子集的所述每个节点处存储它已获取的数据。8.根据权利要求7所述的方法,其中所述系统进一步被配置用于接收数据搜索查询,所述方法进一步包括:跨越互连节点的所述子集的节点来分发由所述系统接收的数据搜索查询以服务所接收的所述数据搜索查询,其中分发所述查询根据存储在互连节点的所述子集的所述节点上的数据的冗余度被执行。9.根据权利要求7所述的方法,进一步包括: 针对已经可证明地存储了它已经获取的所述数据,根据加密货币协议,安全地奖励所述子集的所述每个节点。10.根据权利要求7所述的方法,进一步包括:在所述子集的所述节点的所述一个或多个节点处: 对存储在其上的数据进行索引;以及 对索引所述数据的结果排序。11.根据权利要求10所述的方法,其中对所述结果进行排序根据存储在所述子集的所述节点中的所述一个或多个节点上的数据的冗余度被执行。12.根据权利要求10所述的方法,进一步包括: 针对已经可证明地索引存储在其上的数据,根据加密货币协议,安全地奖励所述子集的所述节点中的所述一个或多个节点。13.根据权利要求10所述的方法,其中所述系统进一步被配置用于接收数据搜索查询,所述方法进一步包括: 跨越互连节点的所述子集的节点来分发由所述系统接收的数据搜索查询以服务所接收的所述数据搜索查询,其中对所述数据搜索查询的分发根据对索引所述数据的结果进行排序的产出被执行。14.根据权利要求1所述的方法,其中所述系统进一步被配置用于接收数据搜索查询,所述方法进一步包括: 跨越所述子集的所述节点中的一个或者多个节点来分发由所述系统接收的数据搜索查询以服务所接收的所述数据搜索查询。15.根据权利要求14所述的方法,进一步包括:针对已经可证明地服务跨越它们而分发的搜索查询,根据加密货币协议,安全地奖励所述子集的所述节点中的一个或多个节点。16.根据权利要求1所述的方法,其中对所述两个或更多个工作证明中的一个工作证明或每个工作证明进行数字签名。17.根据权利要求1所述的方法,其中所述加密方法被配置为保护存储在所述子集的所述节点上的数据和跨越所述子集的所述节点的数据传输。18.根据权利要求1所述的方法,进一步包括: 跨越所述子集的节点,确保由所述子集的所述每个节点抓取和获取的所述数据的冗余度。19.一种用于保护数据操作的计算机化的系统,包括被配置来发送、接收和存储数据的互连节点,并且用于执行计算机化的加密方法以通过如下实现两个或更多个工作证明:从所述互连节点的至少一个子集的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集中的所述每个节点处可证明地获取在数据的所述子集中的数据。20.—种用于保护数据操作的计算机程序产品,所述计算机程序产品包括其上体现程序指令的计算机可读存储介质,所述程序指令由用于保护数据操作的计算机化的系统中互连的节点可执行,以使得所述节点执行计算机化的加密方法以通过如下实现两个或更多个工作证明:从所述互连节点的至少一个子集的每个节点可证明地抓取存储在所述系统的节点上的数据的相应子集,以及在所述子集中的所述每个节点处可证明地获取在数据的所述子集中的数据。
【文档编号】G06Q20/06GK106022139SQ201610140997
【公开日】2016年10月12日
【申请日】2016年3月11日
【发明人】E·安德罗拉基, M·古萨特, I·科尔特斯达斯, M·索伊穆
【申请人】国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1