CN112256706B - 一种handle引用状态的确定方法及装置 - Google Patents
一种handle引用状态的确定方法及装置 Download PDFInfo
- Publication number
- CN112256706B CN112256706B CN202011303152.0A CN202011303152A CN112256706B CN 112256706 B CN112256706 B CN 112256706B CN 202011303152 A CN202011303152 A CN 202011303152A CN 112256706 B CN112256706 B CN 112256706B
- Authority
- CN
- China
- Prior art keywords
- handle
- information
- target
- source
- identification
- 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.)
- Active
Links
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种handle引用状态的确定方法及装置,涉及通信技术领域,能够保证handle系统中handle间的引用关系,提升确定handle引用状态的准确性。该方法包括:客户端向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识;该客户端确定第二handle的标识信息和第二索引标识,与目标handle的标识信息和目标索引标识是否相同;在该第二handle的标识信息与该目标handle的标识信息不相同,和/或该第二索引标识与该目标索引标识不相同的情况下,该客户端确定该第一handle的引用处于异常状态。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种handle引用状态的确定方法及装置。
背景技术
目前,在handle系统中,一个handle可以引用另一个handle(例如handle a引用handle b),具体的,handle a可以对应一个value信息,该value信息中包括的至少一个引用信息中可以包括该handle a引用该handle b的引用关系。
但是,上述handle系统内可能存在循环引用的情况,例如,handle a引用handleb,handle b引用handle c,handle c引用handle a,如此,在客户端需要本地handle服务器查询handle a对应的业务数据时,本地handle服务器查询到handle b,再查询到handle c,之后又从handle c回到了handle a,如此存在的循环引用关系,可能导致本地handle服务器无法确定该handle a对应的业务数据。为避免出现此类现象,急需一种可以确定handle引用状态的方法。
发明内容
本发明实施例提供一种handle引用状态的确定方法及装置,能够保证handle系统中handle间的引用关系,提升确定handle引用状态的准确性。
第一方面,本发明实施例提供一种handle引用状态的确定方法,包括:客户端向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为该第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息;该客户端接收该本地handle服务器发送的源头handle查询响应消息,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识;该客户端确定该第二handle的标识信息和该第二索引标识,与目标handle的标识信息和目标索引标识是否相同,该目标handle的标识信息为目标区块链节点存储的多个标识信息中,存储时间与当前时间的时间差最小的标识信息,该目标索引标识为目标value信息中包括的索引标识,该目标value信息为该目标handle的标识信息对应的至少一个value信息中的一个,该目标区块链节点为与该客户端的通信距离最短的区块链节点;在该第二handle的标识信息与该目标handle的标识信息不相同,和/或该第二索引标识与该目标索引标识不相同的情况下,该客户端确定该第一handle的引用处于异常状态。
第二方面,本发明实施例提供一种handle引用状态的确定方法,包括:本地handle服务器接收客户端发送的源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为该第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息;该本地handle服务器从该第一源头信息中确定该第二handle的标识信息和该第二索引标识;该本地handle服务器向该客户端发送源头handle查询响应消息,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识。
第三方面,本发明实施例提供一种handle引用状态的确定装置,包括:发送模块、接收模块以及确定模块;该发送模块,用于向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为该第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息;该接收模块,用于接收该本地handle服务器发送的源头handle查询响应消息,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识;该确定模块,用于确定该第二handle的标识信息和该第二索引标识,与目标handle的标识信息和目标索引标识是否相同,该目标handle的标识信息为目标区块链节点存储的多个标识信息中,存储时间与当前时间的时间差最小的标识信息,该目标索引标识为目标value信息中包括的索引标识,该目标value信息为该目标handle的标识信息对应的至少一个value信息中的一个,该目标区块链节点为与该handle引用状态的确定装置的通信距离最短的区块链节点;该确定模块,还用于在该第二handle的标识信息与该目标handle的标识信息不相同,和/或该第二索引标识与该目标索引标识不相同的情况下,确定该第一handle的引用处于异常状态。
第四方面,本发明实施例提供一种handle引用状态的确定装置,包括:接收模块、确定模块以及发送模块;该接收模块,用于接收客户端发送的源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为该第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息;该确定模块,用于从该第一源头信息中确定该第二handle的标识信息和该第二索引标识;该发送模块,用于向该客户端发送源头handle查询响应消息,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识。
第五方面,本发明实施例提供另一种handle引用状态的确定装置,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当handle引用状态的确定装置运行时,处理器执行上述存储器存储的上述计算机执行指令,以使handle引用状态的确定装置执行如上述第一方面所提供的handle引用状态的确定方法。
第六方面,本发明实施例提供另一种handle引用状态的确定装置,包括:处理器、存储器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,当handle引用状态的确定装置运行时,处理器执行上述存储器存储的上述计算机执行指令,以使handle引用状态的确定装置执行如上述第二方面所提供的handle引用状态的确定方法。
第七方面,本发明实施例提供一种计算机可读存储介质,包括计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上述第一方面所提供的一种handle引用状态的确定方法。
第八方面,本发明实施例提供一种计算机可读存储介质,包括计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上述第二方面所提供的一种handle引用状态的确定方法。
第九方面,本发明实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述第一方面及其任意一种实现方式的handle引用状态的确定方法。
第十方面,本发明实施例提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述第二方面及其任意一种实现方式的handle引用状态的确定方法。
本发明实施例所提供的handle引用状态的确定方法及装置,客户端向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二handle的标识信息和该第二索引标识可以理解为handle系统内第一handle对应的源头handle的标识信息,和该源头handle对应的索引标识;本地handle服务器在接收到该源头handle查询请求消息之后,可以从第一源头信息(即第一value信息中包含的源头信息)中确定该第二handle的标识信息和该第二索引标识,并向客户端发送源头handle查询响应消息,即将该第二handle的标识信息和该第二索引标识发送至客户端;客户端在接收到该源头handle查询响应消息之后,确定该第二handle的标识信息和该第二索引标识,与目标handle的标识信息和目标索引标识是否相同,该目标handle的标识信息为目标区块链节点存储的多个信息中,存储时间与当前时间的时间差最小的标识信息;在第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同的情况下,客户端确定第一handle的引用处于异常状态。本发明实施例中,客户端通过从本地handle服务器中查询第二handle的标识信息和第二索引标识,即查询handle系统中的第一handle对应的源头handle(即第二handle),并且从目标区块链节点中获取目标handle的标识信息和目标索引标识(即对应目标handle);由于在正常状态下,第一handle的标识信息和第一索引标识应对应目标handle的标识信息和目标索引标识,即第一handle的源头handle应为目标handle,如此,当第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同时,说明第一handle的引用关系可能已经被篡改,如此确定第一handle的引用处于异常状态,能够保证handle系统中handle间的引用关系,提升确定handle引用状态的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的handle系统的网络架构示意图;
图2为本发明实施例提供的一种客户端的硬件示意图;
图3为本发明实施例提供的一种handle引用状态的确定方法的示意图一;
图4为本发明实施例提供的一种第一handle对应的value信息的示意图;
图5为本发明实施例提供的一种多个handle之间引用关系的有向无环图;
图6为本发明实施例提供的一种handle引用状态的确定方法的示意图二;
图7为本发明实施例提供的一种handle引用状态的确定方法的示意图三;
图8为本发明实施例提供的一种handle引用状态的确定装置的结构示意图一;
图9为本发明实施例提供的一种handle引用状态的确定装置的结构示意图二;
图10为本发明实施例提供的一种handle引用状态的确定装置的结构示意图三;
图11为本发明实施例提供的一种handle引用状态的确定装置的结构示意图四。
具体实施方式
下面将结合附图对本发明实施例提供的handle引用状态的确定方法及装置进行详细的描述。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,例如,第一handle和第二handle等是用于区别不同的handle,而不是用于描述handle的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中所述“和/或”,包括用两种方法中的任意一种或者同时使用两种方法。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
基于背景技术存在的问题,本发明实施例提供一种handle引用状态的确定方法及装置,客户端向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二handle的标识信息和该第二索引标识可以理解为handle系统内第一handle对应的源头handle的标识信息,和该源头handle对应的索引标识;本地handle服务器在接收到该源头handle查询请求消息之后,可以从第一源头信息(即第一value信息中包含的源头信息)中确定该第二handle的标识信息和该第二索引标识,并向客户端发送源头handle查询响应消息,即将该第二handle的标识信息和该第二索引标识发送至客户端;客户端在接收到该源头handle查询响应消息之后,确定该第二handle的标识信息和该第二索引标识,与目标handle的标识信息和目标索引标识是否相同,该目标handle的标识信息为目标区块链节点存储的多个信息中,存储时间与当前时间的时间差最小的标识信息;在第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同的情况下,客户端确定第一handle的引用处于异常状态。本发明实施例中,客户端通过从本地handle服务器中查询第二handle的标识信息和第二索引标识,即查询handle系统中的第一handle对应的源头handle(即第二handle),并且从目标区块链节点中获取目标handle的标识信息和目标索引标识(即对应目标handle);由于在正常状态下,第一handle的标识信息和第一索引标识应对应目标handle的标识信息和目标索引标识,即第一handle的源头handle应为目标handle,如此,当第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同时,说明第一handle的引用关系可能已经被篡改,如此确定第一handle的引用处于异常状态,能够保证handle系统中handle间的引用关系,提升确定handle引用状态的准确性。
本发明实施例提供的一种handle引用状态的确定方法及装置可以应用于handle系统,如图1所示,该handle系统包括客户端101和本地handle服务器102。通常,在实际应用中上述各个设备或服务功能之间的连接可以为无线连接,为了方便直观地表示各个设备之间的连接关系,图1中采用实线示意。
其中,客户端101用于向本地handle服务器102发送源头handle查询请求消息,即查询第二handle(可以理解为在该handle系统中第一handle对应的源头handle)的标识信息和第二索引标识。本发明实施例中,客户端101还用于将目标handle的标识信息和目标索引标识发送至目标区块链节点。
本地handle服务器102用于从第一源头信息(即第一handle的标识信息对应的第一value信息中包括的源头信息)中确定第二handle的标识信息和第二索引标识。本发明实施例中,本地handle服务器102还用于在确定第一handle是源头handle的情况下,将目标handle的标识信息和目标索引标识确定为第一源头信息。
示例性的,图2为本发明实施例提供的客户端的硬件结构示意图。如图2所示,该客户端20包括处理器201、存储器202以及网络接口203等。
其中,处理器201是客户端20的核心部件,处理器201用于运行客户端20的操作系统与该客户端20上的应用程序(包括系统应用程序和第三方应用程序),以实现该客户端20进行handle引用状态的确定方法。
本发明实施例中,处理器201可以是一个中央处理器(central processing unit,CPU),微处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其能够实现或执行结合本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
可选地,客户端20的处理器201包括一个或多个CPU,该CPU为单核CPU(single-CPU)或多核CPU(multi-CPU)。
存储器202包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmableread-only memory,EPROM)、快闪存储器、或光存储器等。存储器202中保存有操作系统的代码。
可选地,处理器201通过读取存储器202中保存的指令实现本发明实施例中的handle引用状态的确定方法,或者,处理器201通过内部存储的指令实现本发明实施例提供的handle引用状态的确定方法。在处理器201通过读取存储器保存的执行实现本发明实施例提供的handle引用状态的确定方法的情况下,存储器中保存实现本发明实施例提供的handle引用状态的确定方法的指令。
网络接口203是有线接口,例如光纤分布式数据接口(fiber distributed datainterface,FDDI)、千兆以太网(gigabit ethernet,GE)接口。或者,网络接口203是无线接口。网络接口203用于客户端20与其他设备通信。
存储器202用于存储第一handle的标识信息和第一索引标识。可选地,存储器202还用于存储第二handle的标识信息和第二索引标识等。至少一个处理器201进一步根据存储器202保存的第一handle的标识信息,第一索引标识,第二handle的标识信息以及第二索引标识来执行本发明实施例所描述的方法。处理器201实现上述功能的更多细节请参考下述各个方法实施例中的描述。
可选地,客户端20还包括总线,上述处理器201、存储器202通过总线204相互连接,或采用其他方式相互连接。
可选地,客户端20还包括输入输出接口205,输入输出接口205用于与输入设备连接,接收用户通过输入设备输入的handle引用状态的确定请求。输入设备包括但不限于键盘、触摸屏、麦克风等等。输入输出接口205还用于与输出设备连接,输出处理器201的handle引用状态的确定结果(即确定第一handle的引用是否处于异常状态)。输出设备包括但不限于显示器、打印机等等。
应理解,本发明实施例中,上述本地handle服务器的硬件结构与上述图2所示的客户端20的硬件结构是类似的,关于本地handle服务器的硬件结构的描述可参考客户端20的硬件结构的描述,此处不予详述。
结合上述图2所示的通信系统,下面从通信系统中各个设备交互的角度完整地描述本发明实施例提供的handle引用状态的确定方法,以说明本地handle服务器在第一value信息中添加第一引用信息的过程以及客户端从本地handle服务器中查询第二handle的标识信息和第二索引标识的过程。
如图3所示,对于本地handle服务器在第一value信息中添加引用信息的过程,本发明实施例提供的handle引用状态的确定方法可以包括S101-S109。
S101、客户端向本地handle服务器发送引用添加请求消息。
其中,该引用添加请求消息中包括第一value信息,目标handle的标识信息以及目标索引标识,第一value信息为第一handle的标识信息对应的至少一个value信息中的一个,该第一value信息中包括的索引标识为第一索引标识,该引用添加请求消息用于请求本地handle服务器在该第一value信息中添加第一引用信息,该第一引用信息用于表示第一handle与目标handle的引用关系。
应理解,对于任一handle(例如第一handle),该第一handle的标识信息可以对应至少一个value信息。对于其中的一个value信息,该value信息中可以包括该value信息对应的索引标识和该value信息对应的数据类型等。
示例性的,如图4所示,假设第一handle的标识信息为10.1045/may99-payette,图4为该10.1045/may99-payette对应的3个value信息的一种示例。其中,该3个value信息中各个value信息分别包括的索引标识(即<index>)分别为1、2以及3。需要说明的是,图4中仅示出了索引标识为1的value信息(以下简称value信息1)中包括的具体内容。
具体的,value信息1中包括的索引标识(即<index>)为1,该value信息1中包括的数据类型(即<type>)为统一资源定位系统(uniform resource locator,URL),该value信息1中包括的URL数据(即<data>)为http://www.dlib.org/dlib…,该value信息1中包括的存活时间(即<TTL>,time to live,具体为该value信息1在网络中缓存的时长)为﹛Relative:24hours﹜,该value信息1中包括的许可信息(即<permission>)为PUBLIC_READ(即公共可读),ADMIN_WRITE(即管理员可编辑),该value信息1中包括的时间戳(即<timestamp>)为927314334000,该value信息1中包括的引用信息(即<reference>)为﹛empty﹜(即该value信息1中包括的引用信息为空)。
需要说明的是,图4中示出的value信息1中包括的引用信息为空,说明该value信息1对应的handle没有引用其他handle。本发明实施例中,一个value信息中包括的引用信息也可以不为空,当一个value信息中包括的引用信息不为空时说明该value信息对应的handle可能引用了其他handle。
可以理解的是,上述第一引用信息用于表示第一handle与目标handle的引用关系(即第一handle引用目标handle),具体为第一handle的标识信息和第一索引标识,与目标handle的标识信息和目标索引标识的引用关系,即第一handle的标识信息和第一索引标识引用目标handle的标识信息和目标索引标识。
由于第一handle的标识信息和第一索引标识对应第一value信息,目标handle的标识信息和目标索引标识对应目标value信息,因此,第一引用信息也可以理解为用于表示第一value信息与目标value信息的引用关系,具体为第一value信息引用目标value信息。
本发明实施例中,上述客户端发送的引用添加请求消息用于请求本地handle服务器在该第一value信息中添加第一引用信息,即请求本地handle服务器将第一引用信息(具体为第一handle的标识信息和第一索引值,与目标handle的标识信息和目标索引值的对应关系)添加至第一value信息中的引用信息(即<reference>)中。如此,在该第一value信息中可以体现出第一handle与目标handle的引用关系,即在该第一value信息中可以确定第一handle引用目标handle,具体为第一handle的标识信息和第一索引标识引用目标handle的标识信息和目标索引标识。
S102、本地handle服务器接收客户端发送的引用添加请求消息。
结合上述实施例的描述,应理解,该引用添加请求消息中包括第一value信息,该目标handle的标识信息以及该目标索引标识,该引用添加请求消息用于请求本地handle服务器在该第一value信息中添加第一引用信息,该第一引用信息用于表示该第一handle与该目标handle的引用关系。
S103、本地handle服务器将第一引用信息添加至第一value信息中。
具体的,本地handle服务器将第一handle的标识信息和第一索引值,与目标handle的标识信息和目标索引值的对应关系(即引用关系)添加至第一value信息,具体为第一value信息中的引用信息中。
S104、本地handle服务器确定第一value信息中是否存在其他引用信息。
其中,该其他引用信息为除上述第一引用信息以外的引用信息。
结合上述实施例的描述,应理解,一个value信息中的引用信息可以为空,该value信息中的引用信息也可以不为空。当一个value信息中的引用信息不为空时,该value信息可以包括多个引用信息,即一个value信息中可以包括多个引用关系。
当第一value信息中存在其他引用信息时,说明第一handle在引用目标handle之前就已经引用了其他handle;当第一value信息中不存在其他引用信息时,说明第一handle在引用目标handle之前没有引用其他handle。
示例性的,如图5所示,为从本地handle服务器中获取的,用于表示多个handle之间引用关系的有向无环图的一种示例。其中,handle A←handle B表示handle A引用handle B,具体的,handle E引用handle B,handle A引用handle B,handle D引用handleB,handle F引用handle A,handle C引用handle A,handle G和handle X不引用任何handle。
假设图中的handle X为上述目标handle,以下,可以分两种情况进行说明:
1、当第一handle为handle E、handle A、handle D、handle F或handle C时,该第一handle在引用handle X之前已经引用了其他handle,即第一value信息中的引用信息不为空,具体为该第一value信息中存在其他引用信息。
2、当第一handle为handle B或handle G时,该第一handle在引用handle X之前没有引用其他handle,即第一value信息中的引用信息为空,具体为该第一value信息中不存在其他引用信息。
S105、在第一value信息中存在其他引用信息的情况下,本地handle服务器确定第一handle是否为源头handle。
应理解,源头handle为存在引用关系,但不引用其他handle的handle,即源头handle不引用某一handle但被另一handle引用,例如上述图5中的handle B,该handle B不引用其他handle,但被handle E、handle A、handle D、handle F以及handle C引用,本地handle服务器可以确定该handle B为源头handle。
同理,当第一handle为handle G时(即在第一value信息中不存在其他引用信息的情况下),本地handle服务器也可以确定handle G不是源头handle。
在本发明实施例的一种实现方式中,本地handle服务器还可以从数据库中存储的多个键值对中确定第一handle是否为源头handle。
应理解,本地handle服务器在将某一引用信息添加至某一value信息(例如执行上述S104)之后,还可以将某一源头信息添加至该value信息中。
示例性的,假设第一handle为源头handle,具体添加源头信息的过程可以分为以下两种情况进行说明。
第一种情况:第二handle直接引用第一handle,即第二handle对应的value信息中包括的引用信息中包含第二handle引用第一handle的对应关系,则本地handle服务器可以在该第二handle对应的value信息中添加一个源头信息1(可以理解为加入<source>字段),该源头信息1为该第一handle,具体为该第一handle的标识信息与该第一handle对应的某一索引标识,该源头信息1用于表示第二handle的源头handle为第一handle,并且该第二handle引用的是该源头handle的标识信息和该索引标识下对应的value信息。
第二种情况:第三handle间接引用第一handle,例如第三handle引用第二handle,第二handle引用第一handle,则本地handle服务器在该第三handle对应的value信息中添加一个源头信息2,该源头信息2也为该第一handle,具体为第一handle的标识信息与该第一handle对应的某一索引标识,该源头信息2用于表示第三handle的源头handle为第一handle,并且最终引用的是该源头handle的标识信息和该索引标识下对应的value信息,并且该第三handle最终引用的是该源头handle的标识信息和该索引标识下对应的value信息。
如此,本地handle服务器在除上述源头handle以外的所有handle对应的value中均添加了一个源头信息,该源头信息均为源头handle的标识信息和该源头handle对应的某一索引标识。
示例性的,结合图5,本地handle服务器可以在handle E、handle A、handle D、handle F以及handle C各自对应的value信息中分别添加一个源头信息,该源头信息均为handle B的标识信息和该handle B对一个的一个索引标识。
在本地handle服务器将某一源头信息添加至某一handle对应的value信息之后,该本地handle服务器还可以将该源头信息和该handle(具体为该handle的标识信息和该handle对应的索引标识)以键值对(key-value)的形式发送至数据库,由数据库将该键值对存储。具体的,源头信息为key,该handle的标识信息和该handle对应的索引标识为该键值对中的value。
示例性的,以下表1为多个handle对应的value信息中包括的各个源头信息的一种示例。如表1所示,handle标识1+索引标识1,handle标识2+索引标识2以及handle标识3+索引标识3对应的源头信息均为handle标识4+索引标识4。
表1
handle | 源头信息 |
handle标识1+索引标识1 | handle标识4+索引标识4 |
handle标识2+索引标识2 | handle标识4+索引标识4 |
handle标识3+索引标识3 | handle标识4+索引标识4 |
假设handle标识1+索引标识1为handle a对应的value信息1,handle标识2+索引标识2为handle b对应的value信息2,handle标识3+索引标识3为handle c对应的value信息3,则value信息1、value信息2以及value信息3中均包括该源头信息,即该3个value信息中的<source>字段中包括的信息均为handle标识4+索引标识4。进而,本地handle服务器将3个键值对发送至数据库,其中,该3个键值对中的key均为handle标识4+索引标识4,该3个键值对中的value分别为handle标识1+索引标识1,handle标识2+索引标识2以及handle标识3+索引标识3。
如此,数据库中存储了多个键值对,本地handle服务器可以查询多个键值对中各个键值对的“key”,若S105中第一handle的标识信息存在于该多个“key”中,则本地handle服务器可以确定该第一handle为源头handle。
S106、在第一handle是源头handle的情况下,本地handle服务器将目标handle的标识信息和目标索引标识确定为第一源头信息。
应理解,由于第一handle是源头handle,因此该第一value信息中原本是不存在源头信息的。当本地handle服务器执行上述S103之后,即确定该第一handle需要引用目标handle,目标handle成为新的源头handle,则本地handle服务器需要将目标handle的标识信息和目标索引标识添加至该第一value信息中,即确定目标handle的标识信息和该目标索引标识为该第一value信息中包括的源头信息。
在本发明实施例的一种实现方式中,在上述S106之后,本地handle服务器还可以将其他源头信息修改为该第一源头信息。
应理解,第一handle为原本的源头handle,当确定第一handle需要引用目标handle,即确定目标handle为新的源头handle之后,其他handle(具体为其他直接或间接引用第一handle)中包括的源头信息应该由本地handle服务器将第一handle的标识信息和第一索引标识修改为目标handle的标识信息和目标索引标识,即表征其他handle直接或间接引用目标handle。
在另一种实现方式中,本地handle服务器还可以将上述多个键值对中包括第一handle的标识信息和第一索引标识的“key”修改为目标handle的标识信息和目标索引标识,即确定新的“key”为目标handle的标识信息和目标索引标识,而这些“key”对应的“value”不发生变化。
并且,本地服务器还可以将目标键值对发送至数据库,由该数据库将该目标键值对存储,其中,该目标键值对用于表示第一handle与目标handle的对应关系。
其中,该目标键值对中的“key”为目标handle的标识信息和目标索引标识,该目标键值对中的“value”为第一handle的标识信息和第一索引标识。
如此,在后续源头handle的查询过程中,本地handle服务器可以直接从该数据库中查询每一个(包括第一handle)的源头handle(即目标handle),具体为目标handle的标识信息和目标索引标识。
S107、本地handle服务器向客户端发送第一引用添加响应消息。
其中,该第一引用添加响应消息中包括目标handle的标识信息和目标索引标识,该第一引用添加响应消息用于通知该客户端,该第一引用信息在第一value信息中添加成功。
可以理解的是,该第一引用信息在第一value信息中添加成功,说明本地handle服务器可以从该第一value信息中确定该第一handle与目标handle的引用关系,具体为第一handle的标识信息和第一索引标识,引用了目标handle的标识信息和目标索引标识。
S108、客户端接收本地handle服务器发送的第一引用添加响应消息。
S109、客户端将目标handle的标识信息和目标索引标识发送至目标区块链节点。
其中,该目标区块链节点为与客户端的通信距离最短的区块链节点。
应理解,目标handle的标识信息和目标索引标识信息即为上述第一源头信息,客户端可以将该第一源头信息直接发送至目标区块链节点,也可以将该第一源头信息进行哈希变换后的hash值发送至目标区块链节点,本发明实施例不做具体限定。
本发明实施例中,客户端向本地handle服务器发送引用添加请求消息,即请求本地handle服务器在第一value信息(即第一handle的标识信息和第一索引标识对一个的value信息)中添加第一引用信息,即添加第一handle与目标handle的引用关系(具体为第一handle的标识信息和第一索引标识,引用目标handle的标识信息和目标索引标识),并且本地handle服务器在确定第一handle为源头handle的情况下,将目标handle的标识信息和目标索引标识确定为第一源头信息,即确定目标handle为第一handle的引用源头(确定目标handle为新的源头handle),并将第一源头信息添加至该第一value信息中;之后,本地handle服务器向客户端发送第一引用添加响应消息,即通知客户端,该第一引用信息在该第一value信息中添加成功;客户端在接收到该第一引用添加响应消息之后可以将该源头信息(具体为目标handle的标识信息和目标索引信息)发送至目标区块链节点。
进而,在客户端向本地handle服务器发送源头handle查询请求消息,即查询当前的源头handle(可以理解为第二handle的标识信息和第二索引标识)之后,可以确定从本地handle服务器中获取的该第二handle的标识信息和第二索引标识,与目标区块链节点存储的目标handle的标识信息和目标索引标识是否相同,进而确定第一handle的引用状态,能够保证handle系统中handle间的引用关系,提升确定handle引用状态的准确性。
如图6所示,对于本客户端从本地handle服务器中查询第二handle的标识信息和第二索引标识的过程,本发明实施例提供的handle引用状态的确定方法可以包括S201-S208。
S201、客户端向本地handle服务器发送源头handle查询请求消息。
其中,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息。
结合上述实施例的描述应理解,一个handle的标识信息可以对应至少一个value信息,本地handle服务器可以根据第一handle的标识信息和第一索引标识从该至少一个value信息中确定第一value信息。当该第一handle引用了其他handle时,该第一value信息中可以包括某一引用关系,并且,该第一value信息中包括的源头信息即为该第一handle对应的源头handle,具体为该源头handle的标识信息和该源头handle对应的索引标识。本发明实施例中,上述第二handle即为第一handle在handle系统中对应的源头handle,即该第一value信息中包括的源头信息为该第二handle的标识信息和第二索引标识。
S202、本地handle服务器接收客户端发送的源头handle查询请求消息。
S203、本地handle服务器根据第一handle的标识信息和第一索引标识确定第一value信息。
具体的,本地handle服务器根据第一handle的标识信息确定该第一handle的标识信息对应的至少一个value信息,该本地handle服务器根据该第一索引标识从该至少一个value信息中确定该第一value信息。
S204、本地handle服务器从第一源头信息中确定第二handle的标识信息和第二索引标识。
应理解,该第一源头信息为该第一value信息中包括的源头信息,该第一源头信息用于表示第二handle为该第一handle对应的源头handle。
S205、本地handle服务器向客户端发送源头handle查询响应消息。
其中,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识。
S206、客户端接收本地handle服务器发送的源头handle查询响应消息。
S207、客户端确定第二handle的标识信息和第二索引标识,与目标handle的标识信息和目标索引标识是否相同。
其中,目标handle的标识信息为目标区块链节点存储的多个标识信息中,存储时间与当前时间的时间差最小的标识信息,目标索引标识为目标value信息中包括的索引标识,目标value信息为目标handle的标识信息对应的至少一个value信息中的一个,该目标区块链节点为与客户端的通信距离最短的区块链节点。
结合上述S109,应理解,在本地handle服务器确定一个新的源头handle(例如目标handle)之后,可以将该目标handle的标识信息和目标索引标识发送至目标区块链节点,进而目标区块链节点可以存储该目标handle的标识信息和目标索引标识。
例如,在第一handle为源头handle的情况下,本地handle服务器可以将第一handle的标识信息和第一索引标识发送至目标区块链节点,如此,目标区块链节点中存储了该第一handle的标识信息和第一索引标识;然后,在本地handle服务器确定第一handle需要引用第二handle,即第二handle为新的源头handle的情况下,本地handle服务器再将第二handle的标识信息和第二索引百事发送至目标区块链节点,如此,目标区块链节点中也存储了该第二handle的标识信息和第二索引标识。本发明实施例中,本地handle服务器可以确定后发送至目标区块链节点的标识信息或目标区块链节点中后存储的标识信息为源头handle的标识信息,即目标handle的标识信息。
示例性的,以下表2为目标区块链节点中存储的多个标识信息(具体为多个handle标识的标识信息)的一种示例。在表2中,可以确定该多个标识信息中每个标识信息的存储时间。
表2
假设表2中的标识信息1对应handle1的标识信息,标识信息2对应handle2的标识信息,标识信息3对应handle3的标识信息,则本地handle服务器确定handle1的标识信息为目标handle的标识信息。
S208、在第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同的情况下,客户端确定第一handle的引用处于异常状态。
应理解,第二handle的标识信息和第二索引标识是客户端通过向本地handle服务器发送源头handle查询响应消息后得到的,即当前handle系统内源头handle的标识信息和对应的索引标识;而目标handle的标识信息和目标索引标识是本地handle服务器在第一value信息中添加第一源头信息之后,发送至目标区块链节点的,该handle系统默认的源头handle应该为该目标handle。
当第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同时,说明第一handle的引用关系可能已经被篡改,例如,第一handle可能引用了其他handle,而并非目标handle(即第二handle与目标handle不相同),或者该handle系统中又出现了一个新的源头handle,如此,说明该第一handle的引用处于异常状态。
当第二handle的标识信息与目标handle的标识信息相同,并且第二索引标识与目标索引标识相同时,说明第二handle即为目标handle,即第二handle即为第一handle应当对应的源头handle,说明第一handle的引用处于正常状态。
本发明实施例提供的handle引用状态的确定方法,客户端向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二handle的标识信息和该第二索引标识可以理解为handle系统内第一handle对应的源头handle的标识信息,和该源头handle对应的索引标识;本地handle服务器在接收到该源头handle查询请求消息之后,可以从第一源头信息(即第一value信息中包含的源头信息)中确定该第二handle的标识信息和该第二索引标识,并向客户端发送源头handle查询响应消息,即将该第二handle的标识信息和该第二索引标识发送至客户端;客户端在接收到该源头handle查询响应消息之后,确定该第二handle的标识信息和该第二索引标识,与目标handle的标识信息和目标索引标识是否相同,该目标handle的标识信息为目标区块链节点存储的多个信息中,存储时间与当前时间的时间差最小的标识信息;在第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同的情况下,客户端确定第一handle的引用处于异常状态。本发明实施例中,客户端通过从本地handle服务器中查询第二handle的标识信息和第二索引标识,即查询handle系统中的第一handle对应的源头handle(即第二handle),并且从目标区块链节点中获取目标handle的标识信息和目标索引标识(即对应目标handle);由于在正常状态下,第一handle的标识信息和第一索引标识应对应目标handle的标识信息和目标索引标识,即第一handle的源头handle应为目标handle,如此,当第二handle的标识信息与目标handle的标识信息不相同,和/或第二索引标识与目标索引标识不相同时,说明第一handle的引用关系可能已经被篡改,如此确定第一handle的引用处于异常状态,能够保证handle系统中handle间的引用关系,提升确定handle引用状态的准确性。
如图7所示,在一种实现方式中,本发明实施例提供的handle引用状态的确定方法包括S301-S308。
S301、客户端向本地handle服务器发送引用添加请求消息。
其中,该引用添加请求消息中包括第一value信息,目标handle的标识信息以及目标索引标识,第一value信息为第一handle的标识信息对应的至少一个value信息中的一个,该第一value信息中包括的索引标识为第一索引标识,该引用添加请求消息用于请求本地handle服务器在该第一value信息中添加第一引用信息,该第一引用信息用于表示第一handle与目标handle的引用关系。
S302、本地handle服务器接收客户端发送的引用添加请求消息。
S303、本地handle服务器将第一引用信息添加至第一value信息中。
S304、本地handle服务器确定第一value信息中是否存在其他引用信息。
其中,该其他引用信息为除上述第一引用信息以外的引用信息。
S305、在第一value信息中不存在其他引用信息的情况下,本地handle服务器确定第一handle是否为源头handle。
应理解,S301-S305的解释说明可以参见上述S101-S105中的描述,此处不再赘述。
S306、在第一handle不是源头handle的情况下,本地handle服务器将第二源头信息确定为第一源头信息。
其中,第二源头信息为目标value信息中包括的源头信息。
应理解,当第一handle不是源头handle时,第一handle通过该目标handle间接引用真正的源头handle。此时,目标handle中包括的handle信息(即第二源头信息)与第一handle中需要添加的handle信息相同,即本地handle服务器确定第二源头信息为该第一value信息中包括的第一源头信息。
示例性的,结合上述图5,假设handle G为第一handle,handle D为目标handle,本地handle服务器可以确定handle G不是源头handle,并且可以将handle D中包括的源头信息(即handle B的标识信息和其对应的索引标识)确定为handle G中包括的源头信息。
S307、本地handle服务器向客户端发送第二引用添加响应消息。
其中,该第二引用添加响应消息中包括该第二源头信息,该第二引用添加响应消息用于通知客户端,该第一引用信息在该第一value信息中添加成功。
应理解,该第二引用添加响应消息还用于通知该客户端,该第二源头信息也在该第一value信息中添加成功。
S308、客户端接收本地handle服务器发送的第二引用添加响应消息。
本发明实施例提供的handle引用状态的确定方法,客户端向本地handle服务器发送引用添加请求消息,该引用添加请求消息中包括第一value信息,目标handle的标识信息以及目标索引标识,该引用添加请求消息用于请求本地handle服务器在该第一value信息中添加第一引用信息,该第一引用信息用于表示第一handle与目标handle的引用关系;本地handle服务器在接收到该引用添加请求消息之后,将该第一引用信息添加至该第一value信息中,并且确定该第一value信息中是否存在其他引用信息;在第一value信息中不存在其他引用信息的情况下,本地handle服务器确定该第一handle是否为源头handle,并且在第一handle不是源头handle的情况下,该本地handle服务器将第二源头信息(即目标value信息中包括的源头信息)确定为第一源头信息(即第一value信息中需要添加的源头信息),并向客户端发送第二引用添加响应消息,即向客户端发送第二源头信息,通知客户端,该第一引用信息在该第一value信息中添加成功。本发明实施例中,客户端可以通过本地handle服务器添加第一引用信息,即本地handle服务器可以在第一value信息中添加第一引用信息,并且在该第一value信息中添加相应的源头信息(即第二源头信息),如此,在客户端需要通过本地handle服务器查询第一handle对应的源头handle时,本地handle服务器可以直接从该value信息中确定源头handle的标识信息和相应的索引标识,能够提升handle系统中handle间引用的灵活性,进而提高确定handle引用状态的准确性。
本发明实施例可以根据上述方法示例对客户端和本地handle服务器等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的handle引用状态的确定装置的一种可能的结构示意图,如图8所示,handle引用状态的确定装置30可以包括:发送模块301、接收模块302以及确定模块303。
发送模块301,用于向本地handle服务器发送源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为该第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息。
接收模块302,用于接收该本地handle服务器发送的源头handle查询响应消息,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识。
确定模块303,用于确定该第二handle的标识信息和该第二索引标识,与目标handle的标识信息和目标索引标识是否相同,该目标handle的标识信息为目标区块链节点存储的多个标识信息中,存储时间与当前时间的时间差最小的标识信息,该目标索引标识为目标value信息中包括的索引标识,该目标value信息为该目标handle的标识信息对应的至少一个value信息中的一个,该目标区块链节点为与该handle引用状态的确定装置30的通信距离最短的区块链节点。
确定模块303,还用于在该第二handle的标识信息与该目标handle的标识信息不相同,和/或该第二索引标识与该目标索引标识不相同的情况下,确定该第一handle的引用处于异常状态。
可选地,发送模块301,还用于向该本地handle服务器发送引用添加请求消息,该引用添加请求消息中包括该第一value信息,该目标handle的标识信息以及该目标索引标识,该引用添加请求消息用于请求该本地handle服务器在该第一value信息中添加第一引用信息,该第一引用信息用于表示该第一handle与该目标handle的引用关系。
接收模块302,还用于接收该本地handle服务器发送的第一引用添加响应消息,该第一引用添加响应消息中包括该目标handle的标识信息和该目标索引标识,该第一引用添加响应消息用于通知该handle引用状态的确定装置30,该第一引用信息在该第一value信息中添加成功。
发送模块301,还用于将该目标handle的标识信息和该目标索引标识发送至该目标区块链节点。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的handle引用状态的确定装置的一种可能的结构示意图。如图9所示,handle引用状态的确定装置40可以包括:处理模块401和通信模块402。处理模块401可以用于对handle引用状态的确定装置40的动作进行控制管理。通信模块402可以用于支持handle引用状态的确定装置40与其他实体的通信。可选地,如图9所示,该handle引用状态的确定装置40还可以包括存储模块403,用于存储handle引用状态的确定装置40的程序代码和数据。
其中,处理模块401可以是处理器或控制器(例如可以是上述如图2所示的处理器201)。通信模块402可以是收发器、收发电路或通信接口等(例如可以是上述如图2所示的网络接口203)。存储模块403可以是存储器(例如可以是上述如图2所示的存储器202)。
其中,当处理模块401为处理器,通信模块402为收发器,存储模块403为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的handle引用状态的确定装置的一种可能的结构示意图,如图10所示,handle引用状态的确定装置50可以包括:接收模块501、确定模块502以及发送模块503。
接收模块501,用于接收客户端发送的源头handle查询请求消息,该源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,该第一索引标识为第一value信息中包括的索引标识,该第一value信息为该第一handle的标识信息对应的至少一个value信息中的一个,该源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,该第二索引标识为第二value信息中包括的索引标识,该第二value信息为该第二handle的标识信息对应的至少一个value信息中的一个,该第二handle为第一源头信息对应的handle,该第一源头信息为该第一value信息中包括的源头信息。
确定模块502,用于从该第一源头信息中确定该第二handle的标识信息和该第二索引标识。
发送模块503,用于向该客户端发送源头handle查询响应消息,该源头handle查询响应消息中包括该第二handle的标识信息和该第二索引标识。
可选地,接收模块501,还用于接收该客户端发送的引用添加请求消息,该引用添加请求消息中包括该第一value信息,该目标handle的标识信息以及该目标索引标识,该引用添加请求消息用于请求该handle引用状态的确定装置50在该第一value信息中添加第一引用信息,该第一引用信息用于表示该第一handle与该目标handle的引用关系。
确定模块502,用于将该第一引用信息添加至该第一value信息中。
确定模块502,还用于确定该第一value信息中是否存在其他引用信息,该其他引用信息为除该第一引用信息以外的引用信息。
确定模块502,还用于在该第一value信息中不存在该其他引用信息的情况下,确定该第一handle是否为源头handle。
确定模块502,还用于在该第一handle是该源头handle的情况下,将该目标handle的标识信息和该目标索引标识确定为该第一源头信息。
发送模块503,还用于向该客户端发送第一引用添加响应消息,该第一引用添加响应消息中包括该目标handle的标识信息和该目标索引标识,该第一引用添加响应消息用于通知该客户端,该第一引用信息在该第一value信息中添加成功。
可选地,确定模块502,还用于在该第一handle不是该源头handle的情况下,将第二源头信息确定为该第一源头信息,该第二源头信息为该目标value信息中包括的源头信息。
发送模块503,还用于向该客户端发送第二引用添加响应消息,该第二引用添加响应消息中包括该第二源头信息,该第二引用添加响应消息用于通知该客户端,该第一引用信息在该第一value信息中添加成功。
可选地,发送模块502,还用于将目标键值对发送至数据库,该目标键值对用于表示该第一handle与该目标的handle的对应关系。
在采用集成的单元的情况下,图11示出了上述实施例中所涉及的handle引用状态的确定装置的一种可能的结构示意图。如图11所示,handle引用状态的确定装置60可以包括:处理模块601和通信模块602。处理模块601可以用于对handle引用状态的确定装置60的动作进行控制管理。通信模块602可以用于支持handle引用状态的确定装置60与其他实体的通信。可选地,如图11所示,该handle引用状态的确定装置60还可以包括存储模块603,用于存储handle引用状态的确定装置60的程序代码和数据。
其中,处理模块601可以是处理器或控制器(例如可以是上述如图2所示的处理器201)。通信模块602可以是收发器、收发电路或通信接口等(例如可以是上述如图2所示的网络接口203)。存储模块603可以是存储器(例如可以是上述如图2所示的存储器202)。
其中,当处理模块601为处理器,通信模块602为收发器,存储模块603为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户终端线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种handle引用状态的确定方法,其特征在于,包括:
客户端向本地handle服务器发送源头handle查询请求消息,所述源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,所述第一索引标识为第一value信息中包括的索引标识,所述第一value信息为所述第一handle的标识信息对应的至少一个value信息中的一个,所述源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,所述第二索引标识为第二value信息中包括的索引标识,所述第二value信息为所述第二handle的标识信息对应的至少一个value信息中的一个,所述第二handle为第一源头信息对应的handle,所述第一源头信息为所述第一value信息中包括的源头信息;
所述客户端接收所述本地handle服务器发送的源头handle查询响应消息,所述源头handle查询响应消息中包括所述第二handle的标识信息和所述第二索引标识;
所述客户端确定所述第二handle的标识信息和所述第二索引标识,与目标handle的标识信息和目标索引标识是否相同,所述目标handle的标识信息为目标区块链节点存储的多个标识信息中,存储时间与当前时间的时间差最小的标识信息,所述目标索引标识为目标value信息中包括的索引标识,所述目标value信息为所述目标handle的标识信息对应的至少一个value信息中的一个,所述目标区块链节点为与所述客户端的通信距离最短的区块链节点;
在所述第二handle的标识信息与所述目标handle的标识信息不相同,和/或所述第二索引标识与所述目标索引标识不相同的情况下,确定所述第一handle的引用处于异常状态。
2.根据权利要求1所述的方法,其特征在于,在所述客户端向本地handle服务器发送源头handle查询请求消息之前,所述方法还包括:
所述客户端向所述本地handle服务器发送引用添加请求消息,所述引用添加请求消息中包括所述第一value信息,所述目标handle的标识信息以及所述目标索引标识,所述引用添加请求消息用于请求所述本地handle服务器在所述第一value信息中添加第一引用信息,所述第一引用信息用于表示所述第一handle与所述目标handle的引用关系;
所述客户端接收所述本地handle服务器发送的第一引用添加响应消息,所述第一引用添加响应消息中包括所述目标handle的标识信息和所述目标索引标识,所述第一引用添加响应消息用于通知所述客户端,所述第一引用信息在所述第一value信息中添加成功;
所述客户端将所述目标handle的标识信息和所述目标索引标识信息发送至所述目标区块链节点。
3.一种handle引用状态的确定方法,其特征在于,所述方法包括:
本地handle服务器接收客户端发送的源头handle查询请求消息,所述源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,所述第一索引标识为第一value信息中包括的索引标识,所述第一value信息为所述第一handle的标识信息对应的至少一个value信息中的一个,所述源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,所述第二索引标识为第二value信息中包括的索引标识,所述第二value信息为所述第二handle的标识信息对应的至少一个value信息中的一个,所述第二handle为第一源头信息对应的handle,所述第一源头信息为所述第一value信息中包括的源头信息;
所述本地handle服务器从所述第一源头信息中确定所述第二handle的标识信息和所述第二索引标识;
所述本地handle服务器向所述客户端发送源头handle查询响应消息,所述源头handle查询响应消息中包括所述第二handle的标识信息和所述第二索引标识。
4.根据权利要求3所述的方法,其特征在于,在所述本地handle服务器接收客户端发送的源头handle查询请求消息之前,所述方法还包括:
所述本地handle服务器接收所述客户端发送的引用添加请求消息,所述引用添加请求消息中包括所述第一value信息,目标handle的标识信息以及所述目标索引标识,所述引用添加请求消息用于请求所述本地handle服务器在所述第一value信息中添加第一引用信息,所述第一引用信息用于表示所述第一handle与所述目标handle的引用关系;
所述本地handle服务器将所述第一引用信息添加至所述第一value信息中;
所述本地handle服务器确定所述第一value信息中是否存在其他引用信息,所述其他引用信息为除所述第一引用信息以外的引用信息;
在所述第一value信息中不存在所述其他引用信息的情况下,所述本地handle服务器确定所述第一handle是否为源头handle;
在所述第一handle是所述源头handle的情况下,所述本地handle服务器将所述目标handle的标识信息和所述目标索引标识确定为所述第一源头信息;
所述本地handle服务器向所述客户端发送第一引用添加响应消息,所述第一引用添加响应消息中包括所述目标handle的标识信息和所述目标索引标识,所述第一引用添加响应消息用于通知所述客户端,所述第一引用信息在所述第一value信息中添加成功。
5.根据权利要求4所述的方法,其特征在于,在所述本地handle服务器确定所述第一handle是否为源头handle之后,所述方法还包括:
在所述第一handle不是所述源头handle的情况下,所述本地handle服务器将第二源头信息确定为所述第一源头信息,所述第二源头信息为所述目标value信息中包括的源头信息;
所述本地handle服务器向所述客户端发送第二引用添加响应消息,所述第二引用添加响应消息中包括所述第二源头信息,所述第二引用添加响应消息用于通知所述客户端,所述第一引用信息在所述第一value信息中添加成功。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述本地handle服务器将目标键值对发送至数据库,所述目标键值对用于表示所述第一handle与所述目标的handle的对应关系。
7.一种handle引用状态的确定装置,其特征在于,所述handle引用状态的确定装置包括发送模块、接收模块以及确定模块;
所述发送模块,用于向本地handle服务器发送源头handle查询请求消息,所述源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,所述第一索引标识为第一value信息中包括的索引标识,所述第一value信息为所述第一handle的标识信息对应的至少一个value信息中的一个,所述源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,所述第二索引标识为第二value信息中包括的索引标识,所述第二value信息为所述第二handle的标识信息对应的至少一个value信息中的一个,所述第二handle为第一源头信息对应的handle,所述第一源头信息为所述第一value信息中包括的源头信息;
所述接收模块,用于接收所述本地handle服务器发送的源头handle查询响应消息,所述源头handle查询响应消息中包括所述第二handle的标识信息和所述第二索引标识;
所述确定模块,用于确定所述第二handle的标识信息和所述第二索引标识,与目标handle的标识信息和目标索引标识是否相同,所述目标handle的标识信息为目标区块链节点存储的多个标识信息中,存储时间与当前时间的时间差最小的标识信息,所述目标索引标识为目标value信息中包括的索引标识,所述目标value信息为所述目标handle的标识信息对应的至少一个value信息中的一个,所述目标区块链节点为与所述handle引用状态的确定装置的通信距离最短的区块链节点;
所述确定模块,还用于在所述第二handle的标识信息与所述目标handle的标识信息不相同,和/或所述第二索引标识与所述目标索引标识不相同的情况下,确定所述第一handle的引用处于异常状态。
8.根据权利要求7所述的handle引用状态的确定装置,其特征在于,
所述发送模块,还用于向所述本地handle服务器发送引用添加请求消息,所述引用添加请求消息中包括所述第一value信息,所述目标handle的标识信息以及所述目标索引标识,所述引用添加请求消息用于请求所述本地handle服务器在所述第一value信息中添加第一引用信息,所述第一引用信息用于表示所述第一handle与所述目标handle的引用关系;
所述接收模块,还用于接收所述本地handle服务器发送的第一引用添加响应消息,所述第一引用添加响应消息中包括所述目标handle的标识信息和所述目标索引标识,所述第一引用添加响应消息用于通知所述handle引用状态的确定装置,所述第一引用信息在所述第一value信息中添加成功;
所述发送模块,还用于将所述目标handle的标识信息和所述目标索引标识发送至所述目标区块链节点。
9.一种handle引用状态的确定装置,其特征在于,所述handle引用状态的确定装置包括接收模块、确定模块以及发送模块;
所述接收模块,用于接收客户端发送的源头handle查询请求消息,所述源头handle查询请求消息中包括第一handle的标识信息和第一索引标识,所述第一索引标识为第一value信息中包括的索引标识,所述第一value信息为所述第一handle的标识信息对应的至少一个value信息中的一个,所述源头handle查询请求消息用于查询第二handle的标识信息和第二索引标识,所述第二索引标识为第二value信息中包括的索引标识,所述第二value信息为所述第二handle的标识信息对应的至少一个value信息中的一个,所述第二handle为第一源头信息对应的handle,所述第一源头信息为所述第一value信息中包括的源头信息;
所述确定模块,用于从所述第一源头信息中确定所述第二handle的标识信息和所述第二索引标识;
所述发送模块,用于向所述客户端发送源头handle查询响应消息,所述源头handle查询响应消息中包括所述第二handle的标识信息和所述第二索引标识。
10.根据权利要求9所述的handle引用状态的确定装置,其特征在于,
所述接收模块,还用于接收所述客户端发送的引用添加请求消息,所述引用添加请求消息中包括所述第一value信息,目标handle的标识信息以及所述目标索引标识,所述引用添加请求消息用于请求所述handle引用状态的确定装置在所述第一value信息中添加第一引用信息,所述第一引用信息用于表示所述第一handle与所述目标handle的引用关系;
所述确定模块,用于将所述第一引用信息添加至所述第一value信息中;
所述确定模块,还用于确定所述第一value信息中是否存在其他引用信息,所述其他引用信息为除所述第一引用信息以外的引用信息;
所述确定模块,还用于在所述第一value信息中不存在所述其他引用信息的情况下,确定所述第一handle是否为源头handle;
所述确定模块,还用于在所述第一handle是所述源头handle的情况下,将所述目标handle的标识信息和所述目标索引标识确定为所述第一源头信息;
所述发送模块,还用于向所述客户端发送第一引用添加响应消息,所述第一引用添加响应消息中包括所述目标handle的标识信息和所述目标索引标识,所述第一引用添加响应消息用于通知所述客户端,所述第一引用信息在所述第一value信息中添加成功。
11.根据权利要求10所述的handle引用状态的确定装置,其特征在于,
所述确定模块,还用于在所述第一handle不是所述源头handle的情况下,将第二源头信息确定为所述第一源头信息,所述第二源头信息为所述目标value信息中包括的源头信息;
所述发送模块,还用于向所述客户端发送第二引用添加响应消息,所述第二引用添加响应消息中包括所述第二源头信息,所述第二引用添加响应消息用于通知所述客户端,所述第一引用信息在所述第一value信息中添加成功。
12.根据权利要求10所述的handle引用状态的确定装置,其特征在于
所述发送模块,还用于将目标键值对发送至数据库,所述目标键值对用于表示所述第一handle与所述目标的handle的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011303152.0A CN112256706B (zh) | 2020-11-19 | 2020-11-19 | 一种handle引用状态的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011303152.0A CN112256706B (zh) | 2020-11-19 | 2020-11-19 | 一种handle引用状态的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256706A CN112256706A (zh) | 2021-01-22 |
CN112256706B true CN112256706B (zh) | 2023-01-24 |
Family
ID=74266407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011303152.0A Active CN112256706B (zh) | 2020-11-19 | 2020-11-19 | 一种handle引用状态的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256706B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
CN107798108A (zh) * | 2017-10-30 | 2018-03-13 | 中国联合网络通信集团有限公司 | 一种异步任务查询方法及设备 |
CN110247894A (zh) * | 2019-05-16 | 2019-09-17 | 中国联合网络通信集团有限公司 | 一种识别伪造handle服务器的方法及装置 |
-
2020
- 2020-11-19 CN CN202011303152.0A patent/CN112256706B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273556A (zh) * | 2017-08-23 | 2017-10-20 | 上海点融信息科技有限责任公司 | 区块链数据索引方法和设备 |
CN107798108A (zh) * | 2017-10-30 | 2018-03-13 | 中国联合网络通信集团有限公司 | 一种异步任务查询方法及设备 |
CN110247894A (zh) * | 2019-05-16 | 2019-09-17 | 中国联合网络通信集团有限公司 | 一种识别伪造handle服务器的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112256706A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107798108B (zh) | 一种异步任务查询方法及设备 | |
CN111352902A (zh) | 日志处理方法、装置、终端设备及存储介质 | |
CN110019080B (zh) | 数据访问方法和装置 | |
EP3817333B1 (en) | Method and system for processing requests in a consortium blockchain | |
KR20210106379A (ko) | 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 매체 및 프로그램 | |
JP6375047B1 (ja) | ファイアウォール装置 | |
CN109600254B (zh) | 全链路日志的生成方法及相关系统 | |
CN114637565A (zh) | 界面生成方法、装置、设备及计算机可读存储介质 | |
CN109086414B (zh) | 用于搜索区块链数据的方法、装置及存储介质 | |
CN112256706B (zh) | 一种handle引用状态的确定方法及装置 | |
CN110287049B (zh) | 数据处理方法、装置和存储介质 | |
CN112506968A (zh) | 信息聚合方法、装置、电子设备和计算机可读介质 | |
CN113672669B (zh) | 基于分布式存储的数据查询方法及装置 | |
CN113761565A (zh) | 数据脱敏方法和装置 | |
CN112948138A (zh) | 一种处理消息的方法和装置 | |
CN113779412B (zh) | 一种基于区块链网络的消息触达方法、节点和系统 | |
CN113490249B (zh) | 一种传输路径的确定方法及装置 | |
CN112491855B (zh) | 一种handle标识解析状态的确定方法及装置 | |
CN114116924A (zh) | 基于图谱数据的数据查询方法、图谱数据构建方法和装置 | |
CN114547094A (zh) | 一种数据查询的方法、装置及电子设备 | |
CN114124404A (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
US9313272B2 (en) | Information processor and information processing method | |
CN113127416A (zh) | 数据查询方法和装置 | |
CN113726885B (zh) | 一种流量配额的调整方法和装置 | |
CN112506740B (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 |