CN113505155B - 基于区块链网络的交易信息检索方法和检索装置 - Google Patents
基于区块链网络的交易信息检索方法和检索装置 Download PDFInfo
- Publication number
- CN113505155B CN113505155B CN202110760180.3A CN202110760180A CN113505155B CN 113505155 B CN113505155 B CN 113505155B CN 202110760180 A CN202110760180 A CN 202110760180A CN 113505155 B CN113505155 B CN 113505155B
- Authority
- CN
- China
- Prior art keywords
- target
- block
- layer
- node
- current
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/2246—Trees, e.g. B+trees
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链网络的交易信息检索方法和检索装置。该方法包括:从所属区块链网络中获取服务请求节点发送的交易信息检索请求,该交易信息检索请求包含交易信息对应的目标时间段;基于预先生成的二叉树查询出目标时间段对应的目标区块号,基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,并将检索结果广播至所述区块链网络中,以供服务请求节点获取检索结果。本发明能够缩短检索时间,提高检索效率,增加用户检索体验,促进了区块链网络应用与发展。
Description
技术领域
本发明涉及通信技术领域,具体涉及基于区块链网络的交易信息检索方法和检索装置。
背景技术
区块链网络中包含数量巨大的交易信息,这些交易信息存储在区块链网络的各个区块中。当前用户节点想要检索自己需要的交易信息时,需要从该区块链网络的创世区块遍历到该区块链网络的最后一个区块,检索时间长、效率低,导致用户检索体验差,区块链网络应用与发展受限。
发明内容
为此,本发明提供基于区块链网络的交易信息检索方法和检索装置,以解决现有技术中由于当前在区块链网络中进行交易信息检索的检索时间长、效率低而导致的用户检索体验差、区块链网络应用与发展受限问题。
为了实现上述目的,本发明第一方面提供一种基于区块链网络的交易信息检索方法,该方法包括:
根据区块链网络中多个区块的区块生成时间戳对多个所述区块的区块信息进行分层,获得分层结果;所述分层结果中,每一层对应的区块的数量按照预设规律递增,每一层对应的区块中任一区块的区块生成时间戳对应的时间早于下一层对应的区块中任一区块的区块生成时间戳对应的时间;
根据所述分层结果构建包含相应层数的二叉树,所述二叉树的每一层的存储节点数量与所述分层结果中相应层所对应的区块的数量相同;
将每一层对应的所述区块的区块信息存入所述二叉树中相应层的存储节点,每个存储节点对应存储一个区块的区块信息,所述区块信息包括区块号和区块生成时间戳;
从所属区块链网络中获取服务请求节点发送的交易信息检索请求;所述交易信息检索请求包含交易信息对应的目标时间段;
基于预先生成的二叉树查询出所述目标时间段对应的目标区块号;
基于所述目标区块号和所述服务请求节点的请求节点区块链标识生成检索结果,并将所述检索结果广播至所述区块链网络中,以供所述服务请求节点获取所述检索结果。
可选地,所述目标时间段包含目标起始时间和目标终止时间;所述目标区块号包括起始区块号和终止区块号;所述基于预先生成的二叉树查询出所述目标时间段对应的目标区块号的步骤,包括:
基于预先生成的所述二叉树,查询出所述目标起始时间对应的起始区块号;
基于预先生成的所述二叉树,查询出所述目标终止时间对应的终止区块号。
可选地,所述基于预先生成的所述二叉树,查询出所述目标起始时间对应的起始区块号的步骤,包括:
将所述二叉树的第一层作为当前第一查询层;
在所述当前第一查询层中获取全部第一目标存储节点;所述第一目标存储节点是所述当前第一查询层中存储的区块生成时间戳对应的时间不早于所述目标起始时间的存储节点;
在所述当前第一查询层中所述第一目标存储节点的数目不为0的情况下,获取所述当前第一查询层中存储的区块生成时间戳对应的时间最接近所述目标起始时间的第一目标存储节点,并将该第一目标存储节点存储的区块号作为所述起始区块号;
在所述当前第一查询层中所述第一目标存储节点的数目为0的情况下,将所述二叉树的下一层作为当前第一查询层,执行所述在所述当前第一查询层中获取全部第一目标存储节点的步骤。
可选地,针对所述二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间;
所述在所述当前第一查询层中获取全部第一目标存储节点,包括:
判断所述当前第一查询层中顺序排在末位的存储节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若是,则确定所述当前第一查询层中所述第一目标存储节点的数目为0;
若否,将当前第一查询层中顺序排在倒数第二位的存储节点作为当前第一查询节点,确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若是,则将当前第一查询层中顺序排在所述当前第一查询节点之后的全部存储节点作为所述第一目标存储节点;
若否,则确定所述当前第一查询节点为所述第一目标存储节点,并将顺序排在所述当前第一查询节点前一位的存储节点作为所述当前第一查询节点,执行所述确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间的步骤。
可选地,针对所述二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间;
所述在所述当前第一查询层中获取全部第一目标存储节点,包括:
判断所述当前第一查询层中顺序排在末位的存储节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若是,则确定所述当前第一查询层中所述第一目标存储节点的数目为0;
若否,将所述当前第一查询层中顺序排在首位的存储节点作为所述当前第一查询节点,确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若否,则确定所述当前第一查询节点和当前第一查询层中排在所述当前第一查询节点之后的存储节点为所述当前第一查询层中的全部所述第一目标存储节点;
若是,将当前排在所述当前第一查询节点后一位的存储节点作为所述当前第一查询节点,执行所述确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间的步骤。
可选地,基于预先生成的所述二叉树,查询出所述目标终止时间对应的终止区块号的步骤,包括:
将所述二叉树的第一层作为当前第二查询层;
在所述当前第二查询层中获取全部第二目标存储节点;所述第二目标存储节点是所述当前第二查询层中存储的区块生成时间戳对应的时间不早于所述目标终止时间的存储节点;
在所述当前第二查询层中所述第二目标存储节点的数目不为0的情况下,获取所述当前第二查询层中存储的区块生成时间戳对应的时间最接近所述目标起始时间的第二目标存储节点,该第二目标存储节点存储的区块号为所述终止区块号;
在所述当前第二查询层中所述第二目标存储节点的数目为0的情况下,将所述二叉树的下一层作为当前第二查询层,执行所述在所述当前第二查询层中获取全部第二目标存储节点的步骤。
可选地,所述基于所述目标区块号和所述服务请求节点的请求节点区块链标识生成检索结果的步骤,包括:
利用时间戳服务器对所述目标区块号和所述请求节点区块链标识签发时间戳;
利用自身私钥对所述目标区块号、所述请求节点区块链标识和所述时间戳进行私钥签名,以生成所述检索结果;所述检索结果包含所述目标区块号、所述请求节点区块链标识、所述时间戳和检索节点的私钥签名。
本发明第二方面提供一种基于区块链网络的交易信息检索装置,该装置包括:
接收模块,用于从所属区块链网络中获取服务请求节点发送的交易信息检索请求;所述交易信息检索请求包含交易信息对应的目标时间段;
处理模块,用于基于预先生成的二叉树查询出所述目标时间段对应的目标区块号;
生成模块,用于基于所述目标区块号和所述服务请求节点的请求节点区块链标识生成检索结果,并将所述检索结果广播至所述区块链网络中,以供所述服务请求节点获取所述检索结果。
所述处理模块,还用于:
根据所述区块链网络中多个区块的区块生成时间戳对多个所述区块的区块信息进行分层,获得分层结果;所述分层结果中,每一层对应的区块的数量按照预设规律递增,每一层对应的区块中任一区块的区块生成时间戳对应的时间早于下一层对应的区块中任一区块的区块生成时间戳对应的时间;
根据所述分层结果构建包含相应层数的所述二叉树,所述二叉树的每一层的存储节点数量与所述分层结果中相应层所对应的区块的数量相同;
将每一层对应的所述区块的区块信息存入所述二叉树中相应层的存储节点,每个存储节点对应存储一个区块的区块信息,所述区块信息包括区块号和区块生成时间戳。
可选地,所述目标时间段包含目标起始时间和目标终止时间;所述处理模块,还用于:
基于预先生成的所述二叉树,查询出所述目标起始时间对应的起始区块号;
基于预先生成的所述二叉树,查询出所述目标终止时间对应的终止区块号。
可选地,上述生成模块,还用于:
利用时间戳服务器对所述目标区块号和所述请求节点区块链标识签发时间戳;
利用自身私钥对所述目标区块号、所述请求节点区块链标识和所述时间戳进行私钥签名,以生成所述检索结果;所述检索结果包含所述目标区块号、所述请求节点区块链标识、所述时间戳和检索节点的私钥签名。
本发明具有如下优点:
本发明提供一种基于区块链网络的交易信息检索方法和检索装置。该方法包括:首先,从所属区块链网络中获取服务请求节点发送的交易信息检索请求,该交易信息检索请求包含交易信息对应的目标时间段;然后,基于预先生成的二叉树查询出目标时间段对应的目标区块号,避免在检索时遍历全部区块,能够缩短检索时间,提高检索效率;最后,基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,并将检索结果广播至所述区块链网络中,以供服务请求节点获取检索结果,增加了用户检索体验,促进了区块链网络应用与发展。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。
图1为本发明实施例提供的一种基于区块链网络的交易信息检索方法的流程图;
图2为本发明实施例提供的一种满二叉树的结构示意图;
图3为本发明实施例提供的一种图1中步骤S102的流程图;
图4为本发明实施例提供的一种图3中步骤S1021的流程图;
图5为本发明实施例提供的一种基于区块链网络的交易信息检索装置的结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明实施例提供一种基于区块链网络的交易信息检索方法,应用于区块链网络中的矿工节点,如图1所示,该方法包括以下步骤:
步骤S101,从所属区块链网络中获取服务请求节点发送的交易信息检索请求。
其中,交易信息检索请求包含交易信息对应的目标时间段,该目标时间段包含目标起始时间和目标终止时间。该目标起始时间和目标终止时间由用户通过用户终端进行设定,即用户需要查询该目标起始时间和目标终止时间之间的交易信息。该目标起始时间可以视为用户需要查询的最早交易的交易时间,该目标终止时间可以视为用户需要查询的最晚交易的交易时间。该交易信息检索请求还包含:服务请求节点的区块链标识、检索回报和检索截止时间。
在一个实施方式中,该交易信息检索请求是经该服务请求节点进行私钥签名的交易信息检索请求。为了避免非法节点冒充,保护服务请求节点利益和自身利益,矿工节点在从所属区块链网络中获取服务请求节点发送的交易信息检索请求之后,验证该交易信息检索请求的私钥签名是否正确,例如利用预存的服务请求节点的公钥验证该交易信息检索请求的私钥签名是否正确,若正确,进行后续流程,若不正确,拒绝执行步骤S102。
在一个实施方式中,矿工节点从所属区块链网络中获取服务请求节点发送的交易信息检索请求之前,还包括:预先生成二叉树。具体包括以下步骤:
第一步、根据区块链网络中多个区块的区块生成时间戳对多个区块的区块信息进行分层,获得分层结果。
在该分层结果中,每一层对应一个或多个区块的区块信息,每一层对应的区块的数量按照预设规律递增,每一层对应的区块中任一区块的区块生成时间戳对应的时间早于下一层对应的区块中任一区块的区块生成时间戳对应的时间。在一些实施例中,每一层对应的所有区块信息可以按照区块生成时间戳的先后顺序(时间先后顺序)依次排序。
其中,按照预设规律递增例如可以是按照满二叉树每一层对应的节点的数目递增规律递增,即第一层对应的区块数量为1,第二层对应的区块数量为2,第三层对应的区块数量为4,第四层对应的区块数量为8,依此类推,第i层对应的区块数量为2i-1,i为正整数,i=1,2,3,…,N,N为分层结果中的总层数。在本发明实施例中,对于预设规律不作限制,按照预设规律递增例如还可以是按照完全二叉树或非完全二叉树的每一层对应的节点的数目递增规律递增。
第二步、根据分层结果构建包含相应层数的二叉树,该二叉树的每一层的存储节点数量与分层结果中相应层所对应的区块的数量相同。
例如,如图2所示,该满二叉树包含多个存储节点21。分层结果中,每一层对应的区块的数量按照图2所示的满二叉树每一层对应的节点的数目递增规律递增,假设分层结果中的总层数为N,也即构建的二叉树为满二叉树,其层数为N,其中第i层的存储节点数量为2i-1,层数为N的该二叉树的总存储节点数量为2N-1。
第三步、将每一层对应的区块的区块信息存入二叉树中相应层的存储节点,每个存储节点对应存储一个区块的区块信息,其中,区块信息包括区块号和区块生成时间戳。
以二叉树为满二叉树为例,在第三步中,将分层结果的第一层中顺序位于第一位的区块信息存储至二叉树的第一层的第一个存储节点中,将分成结果的第二层中顺序位于第一位的区块信息存储至二叉树的第二层的第一个存储节点中,将分成结果的第二层中顺序位于第二位的区块信息存储至二叉树的第二层的第二个存储节点中,将分成结果的第三层中顺序位于第一位的区块信息存储至二叉树的第三层的第一个存储节点中,依此类推,直至将分成结果中所有层对应的所有区块信息存储至二叉树中。
在一个实施方式中,针对二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间。
在另一个实施方式中,针对二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间还可以从晚到早的顺序依次排序设置,且该层中顺序排在首位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在末位的存储节点所存储的区块时间戳对应的时间。
需要说明的是,区块的区块生成时间戳一般晚于本区块中包含的所有交易中最新的交易的交易时间。
步骤S102,基于预先生成的二叉树查询出目标时间段对应的目标区块号。
其中,目标时间段包含目标起始时间和目标终止时间;目标区块号包括起始区块号和终止区块号。
需要说明的是,矿工节点基于预先生成的二叉树查询出目标时间段对应的目标区块号,服务请求节点能够基于目标区块号检索区块链账本中所需的交易信息,从而能够避免检索交易信息时在区块链账本中从创世区块遍历到最后一个区块,缩短了交易信息检索时间,提高了检索效率,能够增加用户检索体验,促进区块链网络应用与发展。
在一个实施方式中,如图3所述,上述步骤S102,基于预先生成的二叉树查询出目标时间段对应的目标区块号的步骤,包括以下步骤:
步骤S1021,基于预先生成的所述二叉树,查询出目标起始时间对应的起始区块号。
步骤S1022,基于预先生成的所述二叉树,查询出目标终止时间对应的终止区块号。
区块链网络中,区块链是一种按照时间顺序将区块以顺序相连的方式组合成的一种链式数据结构,而区块链网络中的交易也是按照交易时间先后顺序被打包至区块中,因此,通过查询起始区块号和终止区块号,即可查询出所需的交易信息,并不需要遍历整个区块链网络中的所有区块进行查询,从而缩短了交易信息检索时间,提高了检索效率。
在一个实施方式中,如图4所示,上述步骤S1021,基于预先生成的二叉树,查询出目标起始时间对应的起始区块号的步骤,包括:
步骤S401,将二叉树的第一层作为当前第一查询层。
步骤S402,在当前第一查询层中获取全部第一目标存储节点。其中,第一目标存储节点是当前第一查询层中存储的区块生成时间戳对应的时间不早于目标起始时间的存储节点。
步骤S403,在当前第一查询层中第一目标存储节点的数目不为0的情况下,获取当前第一查询层中存储的区块生成时间戳对应的时间最接近目标起始时间的第一目标存储节点,并将该第一目标存储节点存储的区块号作为起始区块号。
步骤S404,在当前第一查询层中第一目标存储节点的数目为0的情况下,将二叉树的下一层作为当前第一查询层,执行在当前第一查询层中获取全部第一目标存储节点的步骤(即步骤S402)。
在一个实施方式中,为了提高检索效率,简化检索流程,矿工节点在预先生成二叉树时,针对二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间。则在上述步骤S402,在当前第一查询层中获取全部第一目标存储节点,包括:
步骤一、判断当前第一查询层中顺序排在末位的存储节点所存储的区块生成时间戳对应的时间是否早于目标起始时间,并根据判断结果执行下述步骤二或者步骤三。
步骤二、若是,则确定所述当前第一查询层中第一目标存储节点的数目为0,执行上述步骤S404。
步骤三、若否,(说明当前第一查询层中第一目标存储节点的数目不为0)将当前第一查询层中顺序排在倒数第二位的存储节点作为当前第一查询节点,确定当前第一查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间。
若是,则将当前第一查询层中顺序排在所述当前第一查询节点之后的全部存储节点作为所述第一目标存储节点。
若否,则确定当前第一查询节点为第一目标存储节点,并将顺序排在当前第一查询节点前一位的存储节点作为当前第一查询节点,执行确定当前第一查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间的步骤。
在另一个实施方式中,上述步骤三还可以替换为下述步骤四。
步骤四、若否,(说明当前第一查询层中第一目标存储节点的数目不为0)将当前第一查询层中顺序排在首位的存储节点作为当前第一查询节点,确定当前第一查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间。
若否,则确定当前第一查询节点和当前第一查询层中排在当前第一查询节点之后的存储节点为当前第一查询层中全部第一目标存储节点。
若否,将当前排在当前第一查询节点后一位的存储节点作为当前第一查询节点,执行确定当前第一查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间的步骤。
在一个实施方式中,矿工节点为了提高检索效率,还可以在执行步骤三或者步骤四之前,获取当前第一查询层中顺序排在末位的存储节点所存储的区块时间戳对应的时间与目标起始时间的第一时间差值,以及当前第一查询层中顺序排在首位的存储节点所存储的区块时间戳对应的时间与目标起始时间的第二时间差值,并判断第一时间差值的绝对值和第二时间差值的绝对值的大小关系,根据判断结果执行步骤三还是步骤四。具体地,在第一时间差值的绝对值小于第二时间差值的绝对值的情况下,执行上述步骤三;在第一时间差值的绝对值不小于第二时间差值的绝对值的情况下,执行上述步骤四。
需要说明的是,在该实施方式中,在第一时间差值的绝对值小于第二时间差值的绝对值的情况下,最后一个确定的第一目标存储节点为存储的区块生成时间戳对应的时间最接近目标起始时间的第一目标存储节点。在第一时间差值的绝对值不小于第二时间差值的绝对值情况下,第一个确定的第一目标存储节点为存储的区块生成时间戳对应的时间最接近目标起始时间的第一目标存储节点。在一些实施例中,也可以直接对比存储的区块生成时间戳对应的时间获得存储的区块生成时间戳对应的时间最接近目标起始时间的第一目标存储节点在一个实施方式中,为了提高检索效率,简化检索流程,矿工节点在预先生成二叉树时,针对二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间还可以从晚到早的顺序依次排序设置,且该层中顺序排在首位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在末位的存储节点所存储的区块时间戳对应的时间。
在一个实施方式中,上述步骤S1022,基于预先生成的二叉树,查询出目标终止时间对应的终止区块号的步骤,包括:将二叉树的第一层作为当前第二查询层;在当前第二查询层中获取全部第二目标存储节点,该第二目标存储节点是当前第二查询层中存储的区块生成时间戳对应的时间不早于目标终止时间的存储节点。在当前第二查询层中第二目标存储节点的数目不为0的情况下,获取当前第二查询层中存储的区块生成时间戳对应的时间最接近目标起始时间的第二目标存储节点,该当前第二查询层中第二目标存储节点存储的区块号为终止区块号;在第二目标存储节点的数目为0的情况下,将二叉树的下一层作为当前第二查询层,执行在当前第二查询层中获取全部第二目标存储节点的步骤。
在一个实施方式中,为了提高检索效率,简化检索流程,矿工节点在预先生成二叉树时,针对二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间。则上述在当前第二查询层中获取全部第二目标存储节点,包括:
步骤五、判断当前第二查询层中顺序排在末位的存储节点所存储的区块生成时间戳对应的时间是否早于目标终止时间,并根据判断结果执行步骤六或者步骤七。
步骤六、若是,则确定当前第二查询层中第二目标存储节点的数目为0,执行上述在第二目标存储节点的数目为0的情况下,将二叉树的下一层作为当前第二查询层,执行在当前第二查询层中获取全部第二目标存储节点的步骤。
步骤七、若否,(说明当前第二查询层中第二目标存储节点的数目不为0)将当前第二查询层中顺序排在倒数第二位的存储节点作为当前第二查询节点,确定当前第二查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间。
若是,则将当前第二查询层中顺序排在所述当前第二查询节点之后的全部存储节点作为所述第二目标存储节点。
若否,则确定当前第二查询节点为第二目标存储节点,并将当前排在当前第二查询节点前一位的存储节点作为当前第二查询节点,执行确定当前第二查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间的步骤。
在一个实施方式中,上述步骤七还可以替换为下述步骤八。
步骤八、若否,(说明当前第二查询层中第二目标存储节点的数目不为0)将当前第二查询层中顺序排在首位的存储节点作为当前第二查询节点,确定当前第二查询节点所存储的区块生成时间戳对应的时间是否早于目标起始时间。
若否,则确定当前第二查询节点和当前第二查询层中排在当前第二查询节点之后的存储节点为当前第二查询层中全部第二目标存储节点。
若是,将当前排在当前第二查询节点后一位的存储节点作为当前第二查询节点,执行确定当前第二查询节点所存储的区块生成时间戳对应的时间是否不早于目标起始时间的步骤。
在一个实施方式中,矿工节点为了提高检索效率,还可以在执行步骤七或者步骤八之前,获取当前第二查询层中顺序排在末位的存储节点所存储的区块时间戳对应的时间与目标起始时间的第三时间差值,以及当前第二查询层中顺序排在首位的存储节点所存储的区块时间戳对应的时间与目标起始时间的第四时间差值,并判断第三时间差值的绝对值和第四时间差值的绝对值的大小关系,根据判断结果执行步骤七还是步骤八。具体地,在第三时间差值的绝对值小于第四时间差值的绝对值的情况下,执行上述步骤七;在第三时间差值的绝对值不小于第四时间差值的绝对值的情况下,执行上述步骤八。
需要说明的是,在该实施方式中,在第三时间差值的绝对值小于第四时间差值的绝对值的情况下,最后一个确定的第二目标存储节点为存储的区块生成时间戳对应的时间最接近目标起始时间的第二目标存储节点。在第三时间差值的绝对值不小于第四时间差值的绝对值情况下,第一个确定的第二目标存储节点为存储的区块生成时间戳对应的时间最接近目标起始时间的第二目标存储节点。在一些实施例中,也可以直接对比存储的区块生成时间戳对应的时间获得存储的区块生成时间戳对应的时间最接近目标起始时间的第二目标存储节点
在一个实施方式中,由于目标终止时间必然晚于目标起始时间,因此,为了加快检索速度,提高检索效率,矿工节点在执行上述步骤S1021,基于预先生成的二叉树,查询出目标起始时间对应的起始区块号之后,矿工节点在执行上述步骤S1022,基于预先生成的二叉树,查询出目标终止时间对应的终止区块号的步骤,包括:将二叉树的该确定第一目标存储节点的数目不为0的当前第一查询层所在层作为当前第二查询层;在当前第二查询层中获取全部第二目标存储节点;第二目标存储节点是存储的区块生成时间戳对应的时间不早于目标终止时间的存储节点;在第二目标存储节点的数目不为0的情况下,获取存储的区块生成时间戳对应的时间最接近目标起始时间的第二目标存储节点,该第二目标存储节点存储的区块号为终止区块号;在第二目标存储节点的数目为0的情况下,将二叉树的下一层作为当前第二查询层,执行在当前第二查询层中获取全部第二目标存储节点的步骤。
步骤S103,基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,并将检索结果广播至区块链网络中,以供服务请求节点获取检索结果。
在一个实施方式中,基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果的步骤,包括:利用时间戳服务器对目标区块号和请求节点区块链标识签发时间戳;利用自身私钥对目标区块号、请求节点区块链标识和时间戳进行私钥签名,以生成检索结果。
其中,检索结果包含目标区块号、请求节点区块链标识、时间戳和检索节点的私钥签名。
由于服务请求节点发送的交易信息检索请求包含检索截止时间和检索回报。因此,根据检索结果中包含的时间戳对应的时间可以确定该检索结果的时间戳对应的时间是否超过该检索截止时间。在该检索结果包含的时间戳对应的时间超过该检索截止时间的情况下,结束流程。在该检索结果包含的时间戳对应的时间没有超过该检索截止时间的情况下,确认该检索结果中目标区块号是否正确。确认该检索结果中目标区块号不正确的情况下,结束流程。当服务请求节点接收到多个矿工节点返回的检索结果,且服务请求节点确认检索结果中目标区块号正确的情况下,将由该多个矿工节点构成的矿工节点名单使用自己的私钥签名后广播至区块链网络中,该经服务请求节点私钥签名的矿工节点名单被写入区块链账本中。该矿工节点名单上的矿工节点可以平分该检索回报,其中检索回报可以是现金奖励,也可以是数字货币奖励,还可以是其他资源奖励等。
本发明实施例提供一种基于区块链网络的交易信息检索方法,该方法包括:首先,从所属区块链网络中获取服务请求节点发送的交易信息检索请求,该交易信息检索请求包含交易信息对应的目标时间段;然后,基于预先生成的二叉树查询出目标时间段对应的目标区块号,避免在检索时遍历全部区块,能够缩短检索时间,提高检索效率;最后,基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,并将检索结果广播至所述区块链网络中,以供服务请求节点获取检索结果,增加了用户检索体验,促进了区块链网络应用与发展。
本发明实施例还一种基于区块链网络的交易信息检索装置,如图5所示,该装置包括:接收模块51、处理模块52和生成模块53。
其中,接收模块51,用于从所属区块链网络中获取服务请求节点发送的交易信息检索请求,其在,交易信息检索请求包含交易信息对应的目标时间段。
处理模块52,用于基于预先生成的二叉树查询出目标时间段对应的目标区块号。
生成模块53,用于基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,并将检索结果广播至区块链网络中,以供服务请求节点获取检索结果。
在一个实施方式中,处理模块52,还用于:根据区块链网络中多个区块的区块生成时间戳对多个所述区块的区块信息进行分层,获得分层结果;所述分层结果中,每一层对应的区块的数量按照预设规律递增,每一层对应的区块中任一区块的区块生成时间戳对应的时间早于下一层对应的区块中任一区块的区块生成时间戳对应的时间;根据分层结果构建包含相应层数的所述二叉树,所述二叉树的每一层的存储节点数量与所述分层结果中相应层所对应的区块的数量相同;将每一层对应的区块的区块信息存入二叉树中相应层的存储节点,每个存储节点对应存储一个区块的区块信息,该区块信息包括区块号和区块生成时间戳。
在一个实施方式中,目标时间段包含目标起始时间和目标终止时间;上述处理模块52,基于预先生成的二叉树查询出目标时间段对应的目标区块号,具体包括:基于预先生成的二叉树,查询出目标起始时间对应的起始区块号;基于预先生成的二叉树,查询出目标终止时间对应的终止区块号。
在一个实施方式中,上述生成模块53,基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,具体包括:利用时间戳服务器对目标区块号和请求节点区块链标识签发时间戳;利用自身私钥对目标区块号、请求节点区块链标识和时间戳进行私钥签名,以生成检索结果,其中,检索结果包含目标区块号、请求节点区块链标识、时间戳和检索节点的私钥签名。
本实施例提供的应用于矿工节点的基于区块链网络的交易信息检索装置中各模块的工作方式与应用于矿工节点的基于区块链网络的交易信息检索方法中各步骤对应,因此,应用于矿工节点的基于区块链网络的交易信息检索装置中各模块的详细工作方式可参见本实施例提供的应用于矿工节点的基于区块链网络的交易信息检索方法。
本发明实施例提供一种基于区块链网络的交易信息检索装置,接收模块从所属区块链网络中获取服务请求节点发送的交易信息检索请求,该交易信息检索请求包含交易信息对应的目标时间段;处理模块基于预先生成的二叉树查询出目标时间段对应的目标区块号,避免在检索时遍历全部区块,能够缩短检索时间,提高检索效率;生成模块基于目标区块号和服务请求节点的请求节点区块链标识生成检索结果,并将检索结果广播至所述区块链网络中,以供服务请求节点获取检索结果,增加了用户检索体验,促进了区块链网络应用与发展。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
Claims (10)
1.一种基于区块链网络的交易信息检索方法,其特征在于,所述方法包括:
根据区块链网络中多个区块的区块生成时间戳对多个所述区块的区块信息进行分层,获得分层结果;所述分层结果中,每一层对应的区块的数量按照预设规律递增,每一层对应的区块中任一区块的区块生成时间戳对应的时间早于下一层对应的区块中任一区块的区块生成时间戳对应的时间;
根据所述分层结果构建包含相应层数的二叉树,所述二叉树的每一层的存储节点数量与所述分层结果中相应层所对应的区块的数量相同;
将每一层对应的所述区块的区块信息存入所述二叉树中相应层的存储节点,每个存储节点对应存储一个区块的区块信息,所述区块信息包括区块号和区块生成时间戳;
从所属区块链网络中获取服务请求节点发送的交易信息检索请求;所述交易信息检索请求包含交易信息对应的目标时间段;
基于预先生成的二叉树查询出所述目标时间段对应的目标区块号;
基于所述目标区块号和所述服务请求节点的请求节点区块链标识生成检索结果,并将所述检索结果广播至所述区块链网络中,以供所述服务请求节点获取所述检索结果。
2.根据权利要求1所述的方法,其特征在于,所述目标时间段包含目标起始时间和目标终止时间;所述目标区块号包括起始区块号和终止区块号;所述基于预先生成的二叉树查询出所述目标时间段对应的目标区块号的步骤,包括:
基于预先生成的所述二叉树,查询出所述目标起始时间对应的起始区块号;
基于预先生成的所述二叉树,查询出所述目标终止时间对应的终止区块号。
3.根据权利要求2所述的方法,其特征在于,所述基于预先生成的所述二叉树,查询出所述目标起始时间对应的起始区块号的步骤,包括:
将所述二叉树的第一层作为当前第一查询层;
在所述当前第一查询层中获取全部第一目标存储节点;所述第一目标存储节点是所述当前第一查询层中存储的区块生成时间戳对应的时间不早于所述目标起始时间的存储节点;
在所述当前第一查询层中所述第一目标存储节点的数目不为0的情况下,获取所述当前第一查询层中存储的区块生成时间戳对应的时间最接近所述目标起始时间的第一目标存储节点,并将该第一目标存储节点存储的区块号作为所述起始区块号;
在所述当前第一查询层中所述第一目标存储节点的数目为0的情况下,将所述二叉树的下一层作为当前第一查询层,执行所述在所述当前第一查询层中获取全部第一目标存储节点的步骤。
4.根据权利要求3所述的方法,其特征在于,针对所述二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间;
所述在所述当前第一查询层中获取全部第一目标存储节点,包括:
判断所述当前第一查询层中顺序排在末位的存储节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若是,则确定所述当前第一查询层中所述第一目标存储节点的数目为0;
若否,将当前第一查询层中顺序排在倒数第二位的存储节点作为当前第一查询节点,确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若是,则将当前第一查询层中顺序排在所述当前第一查询节点之后的全部存储节点作为所述第一目标存储节点;
若否,则确定所述当前第一查询节点为所述第一目标存储节点,并将顺序排在所述当前第一查询节点前一位的存储节点作为所述当前第一查询节点,执行所述确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间的步骤。
5.根据权利要求3所述的方法,其特征在于,针对所述二叉树中的每一层,该层的存储节点按照所存储的区块时间戳对应的时间从早到晚的顺序依次排序设置,且该层中顺序排在末位的存储节点所存储的区块时间戳对应的时间早于下一层中顺序排在首位的存储节点所存储的区块时间戳对应的时间;
所述在所述当前第一查询层中获取全部第一目标存储节点,包括:
判断所述当前第一查询层中顺序排在末位的存储节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若是,则确定所述当前第一查询层中所述第一目标存储节点的数目为0;
若否,将所述当前第一查询层中顺序排在首位的存储节点作为所述当前第一查询节点,确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间;
若否,则确定所述当前第一查询节点和当前第一查询层中排在所述当前第一查询节点之后的存储节点为所述当前第一查询层中的全部所述第一目标存储节点;
若是,将当前排在所述当前第一查询节点后一位的存储节点作为所述当前第一查询节点,执行所述确定所述当前第一查询节点所存储的区块生成时间戳对应的时间是否早于所述目标起始时间的步骤。
6.根据权利要求2所述的方法,其特征在于,基于预先生成的所述二叉树,查询出所述目标终止时间对应的终止区块号的步骤,包括:
将所述二叉树的第一层作为当前第二查询层;
在所述当前第二查询层中获取全部第二目标存储节点;所述第二目标存储节点是所述当前第二查询层中存储的区块生成时间戳对应的时间不早于所述目标终止时间的存储节点;
在所述当前第二查询层中所述第二目标存储节点的数目不为0的情况下,获取所述当前第二查询层中存储的区块生成时间戳对应的时间最接近所述目标起始时间的第二目标存储节点,该第二目标存储节点存储的区块号为所述终止区块号;
在所述当前第二查询层中所述第二目标存储节点的数目为0的情况下,将所述二叉树的下一层作为当前第二查询层,执行所述在所述当前第二查询层中获取全部第二目标存储节点的步骤。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标区块号和所述服务请求节点的请求节点区块链标识生成检索结果的步骤,包括:
利用时间戳服务器对所述目标区块号和所述请求节点区块链标识签发时间戳;
利用自身私钥对所述目标区块号、所述请求节点区块链标识和所述时间戳进行私钥签名,以生成所述检索结果;所述检索结果包含所述目标区块号、所述请求节点区块链标识、所述时间戳和检索节点的私钥签名。
8.一种基于区块链网络的交易信息检索装置,其特征在于,所述装置包括:
处理模块,用于根据区块链网络中多个区块的区块生成时间戳对多个所述区块的区块信息进行分层,获得分层结果;所述分层结果中,每一层对应的区块的数量按照预设规律递增,每一层对应的区块中任一区块的区块生成时间戳对应的时间早于下一层对应的区块中任一区块的区块生成时间戳对应的时间;根据所述分层结果构建包含相应层数的二叉树,所述二叉树的每一层的存储节点数量与所述分层结果中相应层所对应的区块的数量相同;将每一层对应的所述区块的区块信息存入所述二叉树中相应层的存储节点,每个存储节点对应存储一个区块的区块信息,所述区块信息包括区块号和区块生成时间戳;
接收模块,用于从所属区块链网络中获取服务请求节点发送的交易信息检索请求;所述交易信息检索请求包含交易信息对应的目标时间段;
所述处理模块,还用于基于预先生成的二叉树查询出所述目标时间段对应的目标区块号;
生成模块,用于基于所述目标区块号和所述服务请求节点的请求节点区块链标识生成检索结果,并将所述检索结果广播至所述区块链网络中,以供所述服务请求节点获取所述检索结果。
9.根据权利要求8所述的装置,其特征在于,所述目标时间段包含目标起始时间和目标终止时间;所述处理模块,还用于:
基于预先生成的所述二叉树,查询出所述目标起始时间对应的起始区块号;
基于预先生成的所述二叉树,查询出所述目标终止时间对应的终止区块号。
10.根据权利要求8所述的装置,其特征在于,所述生成模块,还用于:
利用时间戳服务器对所述目标区块号和所述请求节点区块链标识签发时间戳;
利用自身私钥对所述目标区块号、所述请求节点区块链标识和所述时间戳进行私钥签名,以生成所述检索结果;所述检索结果包含所述目标区块号、所述请求节点区块链标识、所述时间戳和检索节点的私钥签名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760180.3A CN113505155B (zh) | 2021-07-06 | 2021-07-06 | 基于区块链网络的交易信息检索方法和检索装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760180.3A CN113505155B (zh) | 2021-07-06 | 2021-07-06 | 基于区块链网络的交易信息检索方法和检索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505155A CN113505155A (zh) | 2021-10-15 |
CN113505155B true CN113505155B (zh) | 2023-05-12 |
Family
ID=78011234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110760180.3A Active CN113505155B (zh) | 2021-07-06 | 2021-07-06 | 基于区块链网络的交易信息检索方法和检索装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505155B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600433A (zh) * | 2018-12-06 | 2019-04-09 | 北京磁云数字科技有限公司 | 一种系统内数据汇总方法及装置 |
CN109951481A (zh) * | 2019-03-19 | 2019-06-28 | 全链通有限公司 | 基于区块链网络相邻节点的信息处理方法和系统 |
CN110059503A (zh) * | 2019-04-24 | 2019-07-26 | 成都派沃特科技股份有限公司 | 可追溯的社交信息防泄露方法 |
CN110474986A (zh) * | 2019-08-20 | 2019-11-19 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的共识方法、装置及系统 |
CN111984732A (zh) * | 2020-09-01 | 2020-11-24 | 厦门市易联众易惠科技有限公司 | 在区块链上实现去中心化检索的方法、节点及区块链网络 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI715036B (zh) * | 2019-05-15 | 2021-01-01 | 宏碁股份有限公司 | 檔案驗證方法、檔案驗證系統與檔案驗證伺服器 |
-
2021
- 2021-07-06 CN CN202110760180.3A patent/CN113505155B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600433A (zh) * | 2018-12-06 | 2019-04-09 | 北京磁云数字科技有限公司 | 一种系统内数据汇总方法及装置 |
CN109951481A (zh) * | 2019-03-19 | 2019-06-28 | 全链通有限公司 | 基于区块链网络相邻节点的信息处理方法和系统 |
CN110059503A (zh) * | 2019-04-24 | 2019-07-26 | 成都派沃特科技股份有限公司 | 可追溯的社交信息防泄露方法 |
CN110474986A (zh) * | 2019-08-20 | 2019-11-19 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的共识方法、装置及系统 |
CN111984732A (zh) * | 2020-09-01 | 2020-11-24 | 厦门市易联众易惠科技有限公司 | 在区块链上实现去中心化检索的方法、节点及区块链网络 |
Non-Patent Citations (4)
Title |
---|
Abraham Nesarani et al..An efficient approach for rice prediction from authenticated Block chain node using machine learning technique.《Environmental Technology & Innovation》.2020,1-14. * |
加密外包数据上的信息检索方案研究;郭子卿;《中国博士学位论文全文数据库 信息科技辑》;I138-15 * |
基于区块链技术的去中心化数字出版平台研究;张岩 等;《出版科学》;13-18 * |
存储容量可扩展区块链系统的高效查询模型;贾大宇 等;《软件学报》;2655-2670 * |
Also Published As
Publication number | Publication date |
---|---|
CN113505155A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783980B (zh) | 索引数据生成及数据查询方法及装置、存储和查询系统 | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
CN109597853B (zh) | 业务场景元素序列号生成方法、装置、介质和计算机设备 | |
CN106657216B (zh) | 序列号生成方法和装置 | |
CN110096685B (zh) | 一种设备标识生成方法及装置 | |
EP4300323A1 (en) | Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product | |
CN107181686B (zh) | 路由表的同步方法、装置及系统 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
CN111385370B (zh) | Id分配方法、装置、存储介质及id分配系统 | |
CN108710643B (zh) | 数据共享方法、装置、计算机设备和存储介质 | |
CN110765205A (zh) | 基于区块链的元数据管理方法、系统和计算机存储介质 | |
CN111177144A (zh) | 表同步方法、装置、设备、存储介质及系统 | |
WO2024104047A1 (zh) | 一种区块链交易分配方法及装置 | |
CN109684303B (zh) | 通信码归属地查询方法、装置、计算机设备和存储介质 | |
CN109889349B (zh) | 一种app广播消息推送方法、装置及可读存储介质 | |
CN106982126B (zh) | 一种资源共享计费方法及计费装置、内存库 | |
CN113505155B (zh) | 基于区块链网络的交易信息检索方法和检索装置 | |
CN117348804A (zh) | 面向数联网监管系统的分层存储方法、系统及存储介质 | |
CN110333984B (zh) | 接口异常检测方法、装置、服务器及系统 | |
CN112069259A (zh) | 一种基于区块链的多云环境数据存储系统及方法 | |
CN111061557B (zh) | 均衡分布式内存数据库负载的方法和装置 | |
CN108882230B (zh) | 通话记录管理方法、装置及系统 | |
CN108365962B (zh) | 一种证书吊销列表查询方法及装置 | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN115002187A (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 |