CN110442773A - 分布式***中节点缓存方法、***、装置及计算机介质 - Google Patents
分布式***中节点缓存方法、***、装置及计算机介质 Download PDFInfo
- Publication number
- CN110442773A CN110442773A CN201910744995.5A CN201910744995A CN110442773A CN 110442773 A CN110442773 A CN 110442773A CN 201910744995 A CN201910744995 A CN 201910744995A CN 110442773 A CN110442773 A CN 110442773A
- Authority
- CN
- China
- Prior art keywords
- network node
- target data
- stored index
- target
- stored
- 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
- 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/951—Indexing; Web crawling techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种分布式***中节点缓存方法、***、装置及计算机介质,应用于分布式***的目标网络节点,当响应存储目标待存储数据索引的存储指令时,基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值;基于距离值确定出用于存储目标待存储数据索引的第一网络节点;对应存储目标待存储数据索引和第一网络节点;当响应查找目标待存储数据索引的查询指令时,查找缓存的与目标待存储数据索引对应的第一网络节点;以第一网络节点为起始网络节点,迭代查找目标待存储数据索引。本申请提供的分布式***中节点缓存方法、***、装置及计算机可读存储介质均提高了在分布式***中查找数据的查找效率。
Description
技术领域
本申请涉及分布式***存储技术领域,更具体地说,涉及分布式***中节点缓存方法、***、装置及计算机介质。
背景技术
在分布式***中,为了便于存储以及查询数据,通常使用键值对的形式保存数据信息,其中键值对中的键为数据索引,值为具体的数据值。然而,在分布式***中,数据可能存储在某一网络节点中,而其他网络节点中并不存储该数据,因此,使得在分布式***中查找数据的效率较低。
综上所述,如何提高在分布式***中查找数据的查找效率是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种分布式***中节点缓存方法,其能在一定程度上解决如何提高在分布式***中查找数据的查找效率的技术问题。本申请还提供了一种分布式***中节点缓存***、装置及计算机可读存储介质。
为了实现上述目的,本申请提供一种分布式***中节点缓存方法,应用于所述分布式***的目标网络节点,包括:
当响应存储目标待存储数据索引的存储指令时,基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值;
基于所述距离值确定出用于存储所述目标待存储数据索引的第一网络节点;
对应存储所述目标待存储数据索引和所述第一网络节点;
当响应查找所述目标待存储数据索引的查询指令时,查找缓存的与所述目标待存储数据索引对应的所述第一网络节点;
以所述第一网络节点为起始网络节点,迭代查找所述目标待存储数据索引。
优选的,所述基于所述距离值确定出用于存储所述目标待存储数据索引的第一网络节点,包括:
选取预设数量的值最小的距离值对应的网络节点作为所述第一网络节点。
优选的,所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值之前,还包括:
解析所述目标待存储数据索引的操作类型;
若所述操作类型为重新发布类型,则执行所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值的步骤。
优选的,所述对应存储所述目标待存储数据索引和所述第一网络节点之后,还包括:
判断所述分布式***的结构是否发生变化;
若是,则执行所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值及之后的步骤。
优选的,所述对应存储所述目标待存储数据索引和所述第一网络节点,包括:
在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点。
优选的,所述对应存储所述目标待存储数据索引和所述第一网络节点,包括:
在所述目标网络节点的数据库中,对应存储所述目标待存储数据索引和所述第一网络节点。
优选的,所述对应存储所述目标待存储数据索引和所述第一网络节点,包括:
判断所述目标网络节点的内存空间是否大于预设值;
若是,则直接在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点;
若否,则将所述目标网络节点的内存中已对应存储的数据索引和网络节点转存至所述目标网络节点的数据库中,并在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点。
为实现上述目的,本申请进一步提供一种分布式***中节点缓存***,应用于所述分布式***的目标网络节点,包括:
第一计算模块,用于当响应存储目标待存储数据索引的存储指令时,基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值;
第一确定模块,用于基于所述距离值确定出用于存储所述目标待存储数据索引的第一网络节点;
第一存储模块,用于对应存储所述目标待存储数据索引和所述第一网络节点;
第一查找模块,用于当响应查找所述目标待存储数据索引的查询指令时,查找缓存的与所述目标待存储数据索引对应的所述第一网络节点;
第二查找模块,用于以所述第一网络节点为起始网络节点,迭代查找所述目标待存储数据索引。
优选的,所述第一确定模块,包括:
第一确定单元,用于选取预设数量的值最小的距离值对应的网络节点作为所述第一网络节点。
优选的,还包括:
第一解析模块,用于所述第一计算模块基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值之前,解析所述目标待存储数据索引的操作类型;若所述操作类型为重新发布类型,则提示所述第一计算模块执行所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值的步骤。
优选的,还包括:
第一判断模块,用于所述第一存储模块对应存储所述目标待存储数据索引和所述第一网络节点之后,判断所述分布式***的结构是否发生变化;若是,则提示所述第一计算模块执行所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值及之后的步骤。
优选的,所述第一存储模块,包括:
第一存储单元,用于在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点。
优选的,所述第一存储模块,包括:
第二存储单元,用于在所述目标网络节点的数据库中,对应存储所述目标待存储数据索引和所述第一网络节点。
优选的,所述第一存储模块,包括:
第一判断单元,用于判断所述目标网络节点的内存空间是否大于预设值;若是,则直接在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点;若否,则将所述目标网络节点的内存中已对应存储的数据索引和网络节点转存至所述目标网络节点的数据库中,并在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点。
为实现上述目的,本申请进一步提供一种分布式***中节点缓存装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的分布式***中节点缓存程序,所述分布式***中节点缓存程序被所述处理器执行时实现如上任一所述的方法。
为实现上述目的,本申请进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式***中节点缓存程序,所述分布式***中节点缓存程序可被一个或者多个处理器执行,以实现如上任一所述的分布式***中节点缓存方法。
本申请提供的一种分布式***中节点缓存方法,应用于分布式***的目标网络节点,当响应存储目标待存储数据索引的存储指令时,基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值;基于距离值确定出用于存储目标待存储数据索引的第一网络节点;对应存储目标待存储数据索引和第一网络节点;当响应查找目标待存储数据索引的查询指令时,查找缓存的与目标待存储数据索引对应的第一网络节点;以第一网络节点为起始网络节点,迭代查找目标待存储数据索引。本申请提供的一种分布式***中节点缓存方法,由于第一网络节点为在存储目标待存储数据索引的过程中,确定的用于存储目标待存储数据索引的网络节点,所以目标网络节点在以第一网络节点为起始网络节点,迭代查找目标待存储数据索引时,可以快速查找到目标待存储数据索引,提高了在分布式***中查找数据的查找效率。本申请提供的一种分布式***中节点缓存***、装置及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请第一实施例的流程示意图;
图2为本申请第二实施例的流程示意图;
图3为本申请一实施例揭露的分布式***中节点缓存***的结构示意图;
图4为本申请一实施例揭露的分布式***中节点缓存装置的内部结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本申请提供一种分布式***中节点缓存方法,应用于分布式***的目标网络节点。
请参照图1,图1为本申请第一实施例的流程示意图。
在第一实施例中,该方法包括:
步骤S101:响应存储目标待存储数据索引的存储指令。
实际应用中,目标网络节点可以在外界的控制下来存储目标待存储数据索引,比如目标网络节点可以在接收到存储目标待存储数据索引的存储指令后,响应该存储指令,以执行后续对目标待存储数据索引进行存储的步骤。
步骤S102:基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值。
实际应用中,由于分布式***将目标待存储数据索引存储在距离目标待存储数据索引最近的网络节点中,所以目标网络节点可以先基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值。
具体应用场景中,为了提高目标网络节点计算网络节点与目标待存储数据索引间的距离值的计算效率,目标网络节点在基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值时,可以将网络节点ID的散列值与目标待存储数据索引的散列值进行异或运算,得到距离值。
步骤S103:基于距离值确定出用于存储目标待存储数据索引的第一网络节点。
实际应用中,由于分布式***将目标待存储数据索引存储在距离目标待存储数据索引最近的网络节点中,所以为了便于检索存储在分布式***中的目标待存储数据索引,在计算出网络节点与目标待存储数据索引间的距离值之后,便可以基于距离值确定出用于存储目标待存储数据索引的第一网络节点。具体应用场景中,为了尽可能的保证能够在第一网络节点中查找到目标待存储数据索引,可以将多个网络节点作为第一网络节点,则在基于距离值确定出用于存储目标待存储数据索引的第一网络节点时,可以选取预设数量的值最小的距离值对应的网络节点作为第一网络节点。预设数量的具体数值可以根据实际需要确定,比如其可以为8等。
步骤S104:对应存储目标待存储数据索引和第一网络节点。
实际应用中,目标网络节点在选取第一网络节点后,便可以对应存储目标待存储数据索引和第一网络节点,从而后续可以根据存储的第一网络节点在分布式***中检索目标待存储数据索引,比如可以以第一网络节点为起始网络节点在分布式***中检索目标待存储数据索引,而现有技术中,以路由表中第一个网络节点为起始节点来检索目标待存储数据索引,与现有技术相比,本申请可以快速锁定可能存储目标待存储数据索引的网络节点,提高检索效率。此外,本申请中,还可以通过预设数量控制目标网络节点存储的第一网络节点的量,便于管理目标网络节点的存储性能。
步骤S105:响应查找目标待存储数据索引的查询指令。
实际应用中,目标区块链节点可以在外界的触发下查找目标待存储数据索引,比如可以在接收到查找目标待存储数据索引的查询指令后,响应该查询指令以便在分布式***中查找目标待存储数据索引。应当指出,本申请所涉及的分布式***可以为kad(Kademlia)分布式***等。目标待存储数据索引指的是待存储至分布式***中的数据索引,其类型可以根据实际需要确定。
步骤S106:查找缓存的与目标待存储数据索引对应的第一网络节点;第一网络节点为在存储目标待存储数据索引的过程中,确定的用于存储目标待存储数据索引的网络节点。
实际应用中,目标区块链节点在响应查找目标待存储数据索引的查询指令后,可以先查找自身缓存的与目标待存储数据索引对应的第一网络节点。由于第一网络节点为在存储目标待存储数据索引的过程中,确定的用于存储目标待存储数据索引的网络节点,所以本申请中,在存储目标待存储数据索引的过程中,需缓存用于存储目标待存储数据索引的网络节点,具体的,可以在上次存储目标待存储数据索引的过程中,确定并缓存第一网络节点。
步骤S107:以第一网络节点为起始网络节点,迭代查找目标待存储数据索引。
实际应用中,由于第一网络节点为用于存储目标待存储数据索引的网络节点,所以在目标待存储数据索引在分布式***中的存储位置不变时,可以直接在第一网络节点中查找到目标待存储数据索引;而在目标待存储数据索引在分布式***中的存储位置发生变化时,新的存储目标待存储数据索引的网络节点与第一网络节点间的距离也不会过远,所以可以以第一网络节点为起始网络节点,迭代查找目标待存储数据索引,以尽快查找到目标待存储数据索引。
本申请提供的一种分布式***中节点缓存方法,应用于分布式***的目标网络节点,当响应存储目标待存储数据索引的存储指令时,基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值;基于距离值确定出用于存储目标待存储数据索引的第一网络节点;对应存储目标待存储数据索引和第一网络节点;当响应查找目标待存储数据索引的查询指令时,查找缓存的与目标待存储数据索引对应的第一网络节点;以第一网络节点为起始网络节点,迭代查找目标待存储数据索引。本申请提供的一种分布式***中节点缓存方法,由于第一网络节点为在存储目标待存储数据索引的过程中,确定的用于存储目标待存储数据索引的网络节点,所以目标网络节点在以第一网络节点为起始网络节点,迭代查找目标待存储数据索引时,可以快速查找到目标待存储数据索引,提高了在分布式***中查找数据的查找效率。
在第一实施例中,目标网络节点基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值之前,还可以执行以下步骤:
解析目标待存储数据索引的操作类型;
若操作类型为重新发布类型,则执行基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值的步骤。
实际应用中,当目标待存储数据索引的操作类型为重新发布类型时,目标待存储数据索引的检索次数可能较多,那么为了便于目标待存储数据索引的检索效率,可以执行本申请提供的分布式***中节点缓存方法。而当目标待存储数据索引的操作类型为获取类型时,由于获取次数多为一次等较少次数,此时为了节省目标网络节点的存储压力,可以直接获取目标待存储数据索引,而不执行本申请提供的分布式***中节点缓存方法。
应当指出,实际应用中,判断是否执行本申请提供的分布式***中节点缓存方法的判断条件可以根据实际需要灵活确定,比如在分布式***的结构发生变化时,目标待存储数据索引在分布式***中的存储信息会发生变化,此时,为了便于查找目标待存储数据索引,目标网络节点在对应存储目标待存储数据索引和第一网络节点之后,还可以判断分布式***的结构是否发生变化;若是,则执行基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值及之后的步骤。
请参与图2,图2为本申请第二实施例的流程示意图。
在第二实施例中,该方法包括:
步骤S201:响应存储目标待存储数据索引的存储指令。
步骤S202:基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值。
步骤S203:基于距离值确定出用于存储目标待存储数据索引的第一网络节点。
步骤S204:判断目标网络节点的内存空间是否大于预设值,若是,则执行步骤S205,若否,则执行步骤S206。
步骤S205:直接在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点,执行步骤S207。
步骤S206:将目标网络节点的内存中已对应存储的数据索引和网络节点转存至目标网络节点的数据库中,并在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点,执行步骤S207。
实际应用中,存储在目标网络节点内存中的数据的查找效率高于存储在目标网络节点数据库中的数据,所以为了便于查找第一网络节点,目标网络节点在对应存储目标待存储数据索引和第一网络节点时,可以先判断目标网络节点的内存空间是否大于预设值,若是,则直接在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点;若否,则将目标网络节点的内存中已对应存储的数据索引和网络节点转存至目标网络节点的数据库中,并在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点。预设值的具体数值可以根据实际需要确定,此外,在将目标网络节点的内存中已对应存储的数据索引和网络节点转存至目标网络节点的数据库中时,可以目标网络节点内存中一半数量的数据索引和网络节点对应转存至目标网络节点的数据库中。具体应用场景中,可以借助内存缓存结构和数据库主要字段来进行内存与数据库间的数据转存,内存缓存结构的类型可以为map[key,(nodes,seq,is_dirty)],数据库主要字段的类型可以为(key,nodes,seq)等,其中,map表示网络节点的缓存结构,key表示目标待存储数据索引,nodes表示key的数量,seq表示key是否发生变化,is_dirty表示内存中的key是否需要转存至数据库中。
应当指出,为了便于后续查询目标待存储数据索引,目标网络节点在对应存储目标待存储数据索引和第一网络节点时,可以直接在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点。
当然,为了降低目标网络节点的存储压力,目标网络节点在对应存储目标待存储数据索引和第一网络节点时,可以直接在目标网络节点的数据库中,对应存储目标待存储数据索引和第一网络节点。
步骤S207:响应查找目标待存储数据索引的查询指令。
步骤S208:查找缓存的与目标待存储数据索引对应的第一网络节点;第一网络节点为在存储目标待存储数据索引的过程中,确定的用于存储目标待存储数据索引的网络节点。
步骤S209:以第一网络节点为起始网络节点,迭代查找目标待存储数据索引。
另一方面,本申请提供一种分布式***中节点缓存***,应用于分布式***的目标网络节点。
请参照图3,图3为本申请一实施例揭露的分布式***中节点缓存***的结构示意图。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,可以包括:
第一计算模块301,用于当响应存储目标待存储数据索引的存储指令时,基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值;
第一确定模块302,用于基于距离值确定出用于存储目标待存储数据索引的第一网络节点;
第一存储模块303,用于对应存储目标待存储数据索引和第一网络节点;
第一查找模块304,用于当响应查找目标待存储数据索引的查询指令时,查找缓存的与目标待存储数据索引对应的第一网络节点;
第二查找模块305,用于以第一网络节点为起始网络节点,迭代查找目标待存储数据索引。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,第一确定模块可以包括:
第一确定单元,用于选取预设数量的值最小的距离值对应的网络节点作为第一网络节点。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,还可以包括:
第一解析模块,用于第一计算模块基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值之前,解析目标待存储数据索引的操作类型;若操作类型为重新发布类型,则提示第一计算模块执行基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值的步骤。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,还可以包括:
第一判断模块,用于第一存储模块对应存储目标待存储数据索引和第一网络节点之后,判断分布式***的结构是否发生变化;若是,则提示第一计算模块执行基于目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与目标待存储数据索引间的距离值及之后的步骤。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,第一存储模块可以包括:
第一存储单元,用于在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,第一存储模块可以包括:
第二存储单元,用于在目标网络节点的数据库中,对应存储目标待存储数据索引和第一网络节点。
本申请提供的一种分布式***中节点缓存***,应用于分布式***的目标网络节点,第一存储模块可以包括:
第一判断单元,用于判断目标网络节点的内存空间是否大于预设值;若是,则直接在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点;若否,则将目标网络节点的内存中已对应存储的数据索引和网络节点转存至目标网络节点的数据库中,并在目标网络节点的内存中,对应存储目标待存储数据索引和第一网络节点。
另一方面,本申请提供一种分布式***中节点缓存装置。
参照图4,图4为本申请一实施例揭露的分布式***中节点缓存装置的内部结构示意图。
本实施例中,分布式***中节点缓存装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。
该分布式***中节点缓存装置1可以是组成CDN网络或者区块链网络的节点。
该分布式***中节点缓存装置1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是分布式***中节点缓存装置1的内部存储单元,例如该分布式***中节点缓存装置1的硬盘。存储器11在另一些实施例中也可以是分布式***中节点缓存装置1的外部存储设备,例如分布式***中节点缓存装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括分布式***中节点缓存装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于分布式***中节点缓存装置1的应用软件及各类数据,例如分布式***中节点缓存程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行分布式***中节点缓存程序01等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,分布式***中节点缓存装置还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该分布式***中节点缓存装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在分布式***中节点缓存装置1中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14以及分布式***中节点缓存程序01的分布式***中节点缓存装置1,本领域技术人员可以理解的是,图4示出的结构并不构成对分布式***中节点缓存装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请提供的一种计算机可读存储介质,计算机可读存储介质上存储有分布式***中节点缓存程序,分布式***中节点缓存程序可被一个或者多个处理器执行,以实现如上任一实施例所描述的分布式***中节点缓存方法。
这里所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种分布式***中节点缓存方法,其特征在于,应用于所述分布式***的目标网络节点,包括:
当响应存储目标待存储数据索引的存储指令时,基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值;
基于所述距离值确定出用于存储所述目标待存储数据索引的第一网络节点;
对应存储所述目标待存储数据索引和所述第一网络节点;
当响应查找所述目标待存储数据索引的查询指令时,查找缓存的与所述目标待存储数据索引对应的所述第一网络节点;
以所述第一网络节点为起始网络节点,迭代查找所述目标待存储数据索引。
2.根据权利要求1所述的方法,其特征在于,所述基于所述距离值确定出用于存储所述目标待存储数据索引的第一网络节点,包括:
选取预设数量的值最小的距离值对应的网络节点作为所述第一网络节点。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值之前,还包括:
解析所述目标待存储数据索引的操作类型;
若所述操作类型为重新发布类型,则执行所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值的步骤。
4.根据权利要求1所述的方法,其特征在于,所述对应存储所述目标待存储数据索引和所述第一网络节点之后,还包括:
判断所述分布式***的结构是否发生变化;
若是,则执行所述基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值及之后的步骤。
5.根据权利要求1所述的方法,其特征在于,所述对应存储所述目标待存储数据索引和所述第一网络节点,包括:
在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点。
6.根据权利要求1所述的方法,其特征在于,所述对应存储所述目标待存储数据索引和所述第一网络节点,包括:
在所述目标网络节点的数据库中,对应存储所述目标待存储数据索引和所述第一网络节点。
7.根据权利要求1所述的方法,其特征在于,所述对应存储所述目标待存储数据索引和所述第一网络节点,包括:
判断所述目标网络节点的内存空间是否大于预设值;
若是,则直接在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点;
若否,则将所述目标网络节点的内存中已对应存储的数据索引和网络节点转存至所述目标网络节点的数据库中,并在所述目标网络节点的内存中,对应存储所述目标待存储数据索引和所述第一网络节点。
8.一种分布式***中节点缓存***,其特征在于,应用于所述分布式***的目标网络节点,包括:
第一计算模块,用于当响应存储目标待存储数据索引的存储指令时,基于所述目标待存储数据索引和网络节点ID各自的散列值,计算网络节点与所述目标待存储数据索引间的距离值;
第一确定模块,用于基于所述距离值确定出用于存储所述目标待存储数据索引的第一网络节点;
第一存储模块,用于对应存储所述目标待存储数据索引和所述第一网络节点;
第一查找模块,用于当响应查找所述目标待存储数据索引的查询指令时,查找缓存的与所述目标待存储数据索引对应的所述第一网络节点;
第二查找模块,用于以所述第一网络节点为起始网络节点,迭代查找所述目标待存储数据索引。
9.一种分布式***中节点缓存装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的分布式***中节点缓存程序,所述分布式***中节点缓存程序被所述处理器执行时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分布式***中节点缓存程序,所述分布式***中节点缓存程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的分布式***中节点缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744995.5A CN110442773B (zh) | 2019-08-13 | 2019-08-13 | 分布式***中节点缓存方法、***、装置及计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910744995.5A CN110442773B (zh) | 2019-08-13 | 2019-08-13 | 分布式***中节点缓存方法、***、装置及计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442773A true CN110442773A (zh) | 2019-11-12 |
CN110442773B CN110442773B (zh) | 2023-07-18 |
Family
ID=68435004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910744995.5A Active CN110442773B (zh) | 2019-08-13 | 2019-08-13 | 分布式***中节点缓存方法、***、装置及计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442773B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142799A (zh) * | 2019-12-26 | 2020-05-12 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111194055A (zh) * | 2019-12-30 | 2020-05-22 | 广东博智林机器人有限公司 | 数据存储频率处理方法、装置、电子设备以及存储介质 |
CN111193804A (zh) * | 2020-01-02 | 2020-05-22 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111291414A (zh) * | 2020-03-11 | 2020-06-16 | 深圳市网心科技有限公司 | 数据存储方法及装置、计算机装置及存储介质 |
CN113326810A (zh) * | 2021-06-30 | 2021-08-31 | 商汤国际私人有限公司 | 人脸识别方法、***、装置、电子设备及存储介质 |
WO2021248876A1 (zh) * | 2020-06-08 | 2021-12-16 | 江苏复杂美科技有限公司 | 分布式数据存储方法、设备和存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145929A (zh) * | 2007-08-09 | 2008-03-19 | 复旦大学 | 一种面向ipv6环境的p2p流媒体点播*** |
US20080181135A1 (en) * | 2007-01-31 | 2008-07-31 | Praveen Yalagandula | Distributed network distance detemination using a distributed hash table overlay network |
CN101645831A (zh) * | 2009-05-08 | 2010-02-10 | 中国科学院声学研究所 | 一种p2p***中的节点组织方法 |
US20100094877A1 (en) * | 2008-10-13 | 2010-04-15 | Wolf Garbe | System and method for distributed index searching of electronic content |
CN102436513A (zh) * | 2012-01-18 | 2012-05-02 | 中国电子科技集团公司第十五研究所 | 分布式检索方法和*** |
CN103605708A (zh) * | 2013-11-11 | 2014-02-26 | 中国科学院计算技术研究所 | Kad网络中由关键词哈希值推测关键词的方法及*** |
CN105516367A (zh) * | 2016-02-02 | 2016-04-20 | 北京百度网讯科技有限公司 | 分布式数据存储***、方法和装置 |
US20160267637A1 (en) * | 2015-03-12 | 2016-09-15 | Yahoo! Inc. | System and method for improved server performance for a deep feature based coarse-to-fine fast search |
US20170293617A1 (en) * | 2016-04-06 | 2017-10-12 | Baidu Usa Llc | Unified storage system for online image searching and offline image analytics |
CN108337170A (zh) * | 2018-01-30 | 2018-07-27 | 浙江省公众信息产业有限公司 | 分布式资源查找方法和*** |
-
2019
- 2019-08-13 CN CN201910744995.5A patent/CN110442773B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080181135A1 (en) * | 2007-01-31 | 2008-07-31 | Praveen Yalagandula | Distributed network distance detemination using a distributed hash table overlay network |
CN101145929A (zh) * | 2007-08-09 | 2008-03-19 | 复旦大学 | 一种面向ipv6环境的p2p流媒体点播*** |
US20100094877A1 (en) * | 2008-10-13 | 2010-04-15 | Wolf Garbe | System and method for distributed index searching of electronic content |
CN101645831A (zh) * | 2009-05-08 | 2010-02-10 | 中国科学院声学研究所 | 一种p2p***中的节点组织方法 |
CN102436513A (zh) * | 2012-01-18 | 2012-05-02 | 中国电子科技集团公司第十五研究所 | 分布式检索方法和*** |
CN103605708A (zh) * | 2013-11-11 | 2014-02-26 | 中国科学院计算技术研究所 | Kad网络中由关键词哈希值推测关键词的方法及*** |
US20160267637A1 (en) * | 2015-03-12 | 2016-09-15 | Yahoo! Inc. | System and method for improved server performance for a deep feature based coarse-to-fine fast search |
CN105516367A (zh) * | 2016-02-02 | 2016-04-20 | 北京百度网讯科技有限公司 | 分布式数据存储***、方法和装置 |
US20170293617A1 (en) * | 2016-04-06 | 2017-10-12 | Baidu Usa Llc | Unified storage system for online image searching and offline image analytics |
CN108337170A (zh) * | 2018-01-30 | 2018-07-27 | 浙江省公众信息产业有限公司 | 分布式资源查找方法和*** |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111142799A (zh) * | 2019-12-26 | 2020-05-12 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111194055A (zh) * | 2019-12-30 | 2020-05-22 | 广东博智林机器人有限公司 | 数据存储频率处理方法、装置、电子设备以及存储介质 |
CN111194055B (zh) * | 2019-12-30 | 2022-09-09 | 广东博智林机器人有限公司 | 数据存储频率处理方法、装置、电子设备以及存储介质 |
CN111193804A (zh) * | 2020-01-02 | 2020-05-22 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111193804B (zh) * | 2020-01-02 | 2022-09-09 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111291414A (zh) * | 2020-03-11 | 2020-06-16 | 深圳市网心科技有限公司 | 数据存储方法及装置、计算机装置及存储介质 |
WO2021248876A1 (zh) * | 2020-06-08 | 2021-12-16 | 江苏复杂美科技有限公司 | 分布式数据存储方法、设备和存储介质 |
CN113326810A (zh) * | 2021-06-30 | 2021-08-31 | 商汤国际私人有限公司 | 人脸识别方法、***、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110442773B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442773A (zh) | 分布式***中节点缓存方法、***、装置及计算机介质 | |
CN106294190B (zh) | 一种存储空间管理方法及装置 | |
CN108769111A (zh) | 一种服务器连接方法、计算机可读存储介质及终端设备 | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
CN111221840B (zh) | 数据处理方法及装置、数据缓存方法、存储介质、*** | |
CN109634915A (zh) | 文件部署方法、云服务器、***及存储介质 | |
CN111247518A (zh) | 数据库分片 | |
CN111241108B (zh) | 基于键值对kv***的索引方法、装置、电子设备和介质 | |
CN113568940B (zh) | 数据查询的方法、装置、设备以及存储介质 | |
CN111400334B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
CN111552692A (zh) | 一种加减法布谷鸟过滤器 | |
CN112395322B (zh) | 一种基于分级缓存的列表数据显示方法、装置及终端设备 | |
JP2021089704A (ja) | データ照会方法、装置、電子機器、可読記憶媒体、及びコンピュータープログラム | |
CN109739433A (zh) | 数据处理的方法及终端设备 | |
CN110489279A (zh) | 一种文件副本维护方法及相关装置 | |
CN104252457A (zh) | 一种用于对数据集合进行管理的方法与设备 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN109491962A (zh) | 一种文件目录树管理方法及相关装置 | |
CN108920613A (zh) | 一种元数据管理方法、***及设备和存储介质 | |
CN109947667B (zh) | 数据访问预测方法和装置 | |
CN109639801A (zh) | 数据节点分配及数据获取方法及*** | |
CN109783321A (zh) | 监控数据管理方法、装置、终端设备 | |
CN108763524A (zh) | 电子装置、聊天数据处理方法和计算机可读存储介质 | |
CN110874365B (zh) | 一种信息查询方法及其相关设备 | |
CN104536785A (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 |