CN112035542A - 信息查询方法、装置、电子设备及可读存储介质 - Google Patents
信息查询方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112035542A CN112035542A CN202010888575.7A CN202010888575A CN112035542A CN 112035542 A CN112035542 A CN 112035542A CN 202010888575 A CN202010888575 A CN 202010888575A CN 112035542 A CN112035542 A CN 112035542A
- Authority
- CN
- China
- Prior art keywords
- information
- query
- asset
- queried
- strategy
- 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
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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种信息查询方法、装置、电子设备及可读存储介质,旨在提供更灵活的信息查询方式,并提高信息查询效率。其中,所述信息查询方法应用于中间件,所述中间件用于连接客户端和区块链网络,所述方法包括:接收所述客户端发出的信息查询请求,该信息查询请求中携带待查询信息的信息类型标识;根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;基于所述目标查询策略,查询所述待查询信息。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种信息查询方法、装置、电子设备及可读存储介质。
背景技术
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点采用预设共识策略来生成和更新数据,并利用链式数据结构来验证与存储数据,实现了数据防篡改机制。
区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。
相关技术中,随着信息查询需求的不断演进,目前已经能实现客户端与区块链网络节点的通讯,使得客户端能直接查询区块链网络中记录的信息。但是现有的信息查询方式不够灵活,信息查询效率偏低。
发明内容
本发明实施例的目的在于提供一种信息查询方法、装置、电子设备及可读存储介质,旨在提供更灵活的信息查询方式,并提高信息查询效率。具体技术方案如下:
在本发明实施例的第一方面,提供一种信息查询方法,应用于中间件,所述中间件用于连接客户端和区块链网络,使得客户端可以通过该中间件与区块链网络通信,所述方法包括:
接收所述客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型;
根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;
基于所述目标查询策略,查询所述待查询信息。
在本发明实施例的第二方面,提供一种信息查询装置,应用于中间件,所述中间件用于连接客户端和区块链网络,使得客户端可以通过该中间件与区块链网络通信,所述装置包括:
请求接收模块,用于接收所述客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型;
策略确定模块,用于根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;
信息查询模块,用于基于所述目标查询策略,查询所述待查询信息。
在本发明实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的信息查询方法。
在本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的信息查询方法。
本发明提供的信息查询方法应用于中间件,该中间件位于客户端与区块链网络之间。当客户端需要查询信息时,可以向中间件发送信息查询请求。中间件响应于该信息查询请求,根据该信息查询请求中携带的信息类型标识,从多个查询策略中确定该信息类型标识对应的目标查询策略,并基于该目标查询策略,查询待查询信息。可见本发明中,信息查询策略并不限定于固定的策略,而是不同信息类型的待查询信息,可以分别基于不同的查询策略进行查询。如此,本发明的信息查询方式更具灵活性。
此外,由于多个查询策略中包括第一查询策略和第二查询策略,第一查询策略为从区块链网络之外查询待查询信息,第二查询策略为从区块链网络查询待查询信息。可见,本发明在实施期间,某些类型的待查询信息可以从区块链网络查询,某些类型的待查询信息可以直接从区块链网络之外查询。对于可直接从区块链网络之外查询的待查询数据,由于不需要与区块链网络交互,因此可以简化查询步骤,从而提高信息查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明一实施例提出的数据处理系统的示意图;
图2是本发明一实施例提出的信息查询方法的流程图;
图3是本发明一实施例提出的资产发行过程的流程图;
图4是本发明一实施例提出的信息查询装置的示意图;
图5是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点采用预设共识策略来生成和更新数据,并利用链式数据结构来验证与存储数据,实现了数据防篡改机制。相关技术中,随着信息查询需求的不断演进,目前已经能实现客户端与区块链网络节点的通讯,使得客户端能直接查询区块链网络中记录的信息。但是现有的信息查询方式不够灵活,信息查询效率偏低。
为此,本发明通过以下实施例提出信息查询方法、装置、电子设备及可读存储介质,旨在提供更灵活的信息查询方式,并提高信息查询效率。
参考图1,图1是本发明一实施例提出的数据处理系统的示意图。如图1所示,该数据处理系统中包括区块链网络、中间件以及客户端。其中,区块链网络中包括多个分布式节点设备(以下简称为节点),中间件通过与区块链网络中的一个或多个指定节点通信连接,从而实现与区块链网络的通信连接。如图1所示,中间件还与客户端通信连接,使得客户端可以通过该中间件与区块链网络通信连接。
基于图1所示的数据处理系统,至少可以实现:处理业务请求、以及进行信息查询。需要说明的是,处理业务请求和进行信息查询两者之间,可以同步进行,两者不存在先后顺序的严格限制。换言之,数据处理系统在处理业务请求期间,也可以处理信息查询任务。
其中,在基于图1所示的数据处理系统处理业务请求时,首先客户端向中间件发送业务请求报文,该业务请求报文携带业务类型标识和业务参数。中间件响应于该业务请求报文,根据该业务请求报文中携带的业务类型标识,从多个预设的交易模板集合中,确定该业务类型标识对应的交易模板集合。确定出的交易模板集合中包括一个或多个交易模块,每个交易模板中包含需要填充业务参数的空字段。中间件将业务请求报文中携带的业务参数填入所述一个或多个交易模板,被填充业务数据的所述一个或多个交易模块形成一个或多个交易。如此,中间件将业务请求报文解析成一个或多个交易。中间件再将这些交易提交给区块链网络执行,通过区块链网络对这些交易的执行,以实现对整个业务请求的执行。
此外,如果业务请求报文被解析成多个交易,则多个交易之间具有时序关系。通过为多个交易设置时序关系,一方面考虑到在后交易的执行,可能依赖于在先交易的执行结果,因此按照时序关系依次执行各交易,有利于确保在后交易具有较高的执行成功率,从而提高整个业务请求的执行成功率。另一方面,区块链网络中的各个节点按照相同的时序关系,依次执行各个交易,如此各个节点依次获得的各交易执行结果,也基本具有相同的顺序,如此更有利于提高区块共识成功率,提高区块链网络的运行效率。
为便于理解,以资产发行业务为例,中间件接收的业务请求报文具体是资产发行报文。该资产发行报文可以是图1所示的客户端发出的,也可以是图1中未示出的其他客户端发出的,还可以是其他设备或软件模块(非客户端)发出的。该资产发行报文用于请求在区块链网络中发行目标资产,示例地,目标资产包括但不限于:债券、数字货币、证券、数字凭证等。该资产发行报文中携带:目标资产的资产ID、以及用于发行该目标资产的智能合约参数。其中,资产ID是待发行的目标资产的唯一性标识,一次资产发行分别对应一个唯一性的资产ID。示例地,智能合约参数包括但不限于:发行总量、接收地址、资产状态等。
中间件响应于资产发行报文,一方面从多个预设的智能合约模板中,确定用于发行上述目标资产的智能合约模板,然后利用资产发行报文中携带的智能合约参数,填充该智能合约模块,以生成用于发行上述目标资产的智能合约。
另一方面,中间件将资产发行报文解析成具有时序关系的多个交易,并按照多个交易的时序关系,依次将多个交易发送给区块链网络执行。其中,第一个交易为合约部署交易,该合约部署交易中携带生成的智能合约及其合约地址。
再一方面,中间件还建立资产ID与合约地址之间的映射关系,从而可以将区块链网络中的相应智能合约与资产对应起来。其中,资产ID是上述资产发行报文中携带的资产ID。合约地址是上述生成的智能合约的地址,该合约地址可以是中间件为该智能合约生成的。
此外,资产发行报文中还可以携带:发行上述目标资产的商户的商户ID。如此,中间件还可以建立该商户ID与资产ID之间的映射关系。其中,资产ID是资产发行报文中携带的资产ID。由于一个商户可能发行过多种资产,或者一个商户针对同种资产(例如债券)先后发行过多次,由于该商户每次发行资产分别会对应不同的资产ID,因此该商户的商户ID,可能与多个资产ID具有映射关系。如果一个商户ID与N个资产ID对应,则说明该商户先后发行过N个资产。
在目标资产发行完成后,用户(区别于上述商户)可以对该目标资产进行购买。在一些具体实施方式中,客户端向中间件发送资产购买报文,中间件将该资产购买交易解析成一个或多个交易,并将这些交易提交给区块链网络执行。区块链网络执行这些交易后,目标资产对应的智能合约中记录有上述用户的用户地址,以及该用户购买的资产数量。考虑到区块链网络执行交易的具体过程,可参考现有技术,因此本发明对区块链网络具体如何执行交易,不做赘述。
在基于图1所示的数据处理系统进行信息查询时,可以实施图2所示的信息查询方法。图2是本发明一实施例提出的信息查询方法的流程图,该方法应用于图1所示的数据处理系统中的中间件。如图2所示,该方法包括以下步骤:
步骤S21:接收客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型。
其中,信息类型标识可以是数字、英文字母、特殊符号或字符串等。本发明中,对于信息类型标识的具体形式不做限定,只要能根据信息查询请求中携带的信息类型标识,确定出待查询信息的信息类型即可。
步骤S22:根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息。
本发明中,并不是所有信息都存储在区块链网络中,或者并不是所有信息必须从区块链网络查询。不同类型的信息,可以分别存储在不同的位置处。例如有些类型的信息存储在区块链网络中,有些类型的信息存储在区块链网络之外(例如中间件本地)。
本发明中,中间件可预先建立多个信息类型标识与多个查询策略之间的对应关系。如此,在上述步骤S22中,中间件可以从信息查询请求中提取信息类型标识,并根据提取出的信息类型标识,从预先建立的对应关系中,确定该信息类型标识对应的查询策略,即目标查询策略。
在本发明的一些具体实施方式中,上述多个查询策略除了包括上述第一查询策略和第二查询策略以外,还可以包括第三查询策略。其中,第三查询策略为首先获取与待查询信息关联的中间信息,再根据获取到的中间信息,从所述区块链网络查询所述待查询信息。
进一步地,上述第一查询策略具体为从所述中间件本地查询待查询信息,以便于中间件更快速地查询到待查询信息。上述第三查询策略具体为首先从所述中间件本地获取与待查询信息关联的中间信息,以便于中间件更快速地获取到中间信息,中间件再根据获取到的中间信息,从所述区块链网络查询所述待查询信息。
在上述这些具体实施方式中,一方面通过获取与待查询信息关联的中间信息,再以获取到的中间信息为索引,从区块链网络中查询该中间信息关联的待查询信息,如此,可以使得区块链网络中一些难以查询的信息被顺利查询到。
或者另一方面,由于某些中间信息过于冗长,数据量过大。为了降低客户端与中间件的交互数据量,提高交互效率。如前所述,通过中间件本地获取中间数据,因此客户端不需要在信息查询请求中携带该中间信息,从而降低了客户端与中间件的交互数据量,有利于提高交互效率。
或者再一方面,由于某些中间信息是偏低技术底层的数据,而客户端主要用于实现应用层技术。为了使得客户端更少地处理技术底层数据,使得整个技术结构的分层更清晰可靠。如前所述,通过中间件本地获取中间数据,因此客户端不需要处理中间信息,从而使得整个技术结构的分层更清晰可靠。
步骤S23:基于所述目标查询策略,查询所述待查询信息。
本发明具体实现时,如果目标查询策略为前述第一查询策略,则可以直接从中间件本地查询相应的待查询信息。如果目标查询策略为前述第二查询策略,则可以直接从区块链网络查询相应的待查询信息。如果目标查询策略为前述第三查询策略,则可以首先从中间件本地获取待查询信息关联的中间信息,再根据获取到的中间信息,从区块链网络查询该待查询信息。
通过以上述步骤21至步骤S23的方式进行信息查询,当客户端需要查询信息时,可以向中间件发送信息查询请求。中间件响应于该信息查询请求,根据该信息查询请求中携带的信息类型标识,从多个查询策略中确定该信息类型标识对应的目标查询策略,并基于该目标查询策略,查询待查询信息。可见本发明中,信息查询策略并不限定于固定的策略,而是不同信息类型的待查询信息,可以分别基于不同的查询策略进行查询。如此,本发明的信息查询方式更具灵活性。
此外,由于多个查询策略中包括第一查询策略和第二查询策略,第一查询策略为从区块链网络之外查询待查询信息,第二查询策略为从区块链网络查询待查询信息。可见,本发明在实施期间,某些类型的待查询信息可以从区块链网络查询,某些类型的待查询信息可以直接从区块链网络之外查询。对于可直接从区块链网络之外查询的待查询数据,由于不需要与区块链网络交互,因此可以简化查询步骤,从而提高信息查询效率。
基于上述信息查询方法,本发明提出对一些类型的待查询信息的具体查询方式,具体请继续参见下文。
在本发明的一些具体实施方式中,如前所述,中间件中存储有资产ID与合约地址之间的映射关系(下文简称为第一映射关系)。如果客户端发出的信息查询请求的待查询信息的信息类型为用户资产,则该信息查询请求中还携带:用户地址和资产ID。简言之,如果客户端发出的信息查询请求用于查询用户资产信息,则该信息查询请求中还携带:用户地址和资产ID。
中间件响应于该信息查询请求,从该信息查询请求中获取信息类型标识。由于该信息类型标识表征的信息类型是用户资产,则中间件将多个查询策略中的第三查询策略确定为目标查询策略。换言之,为了查询用户资产,需要基于第三查询策略进行查询。
之后,中间件在基于第三查询策略进行查询时,可以根据上述第一映射关系和上述信息查询请求中携带的资产ID,确定该资产ID对应的合约地址;然后将确定出的合约地址和上述信息查询请求中携带的用户地址提交给区块链网络,以使得区块链网络从该合约地址对应的智能合约中,查询该用户地址对应的用户资产信息,并将查询到的用户资产信息返回给中间件。如此,中间件在接收到区块链网络返回的用户资产信息后,可以将用户资产信息发送给查询结果需求方,例如信息查询请求的发送方。
需要说明的是,区块链网络中部署了多个智能合约,其中一些智能合约是用于发行资产的智能合约,这些智能合约各自对应一个资产ID。通过以资产ID为索引,从上述第一映射关系中查询到相应的合约地址,相当于从区块链网络的多个智能合约中,确定了相应的智能合约。
此外,还需要说明的是,在客户端侧,用户仅需掌握资产ID,而不需要掌握智能合约的地址。智能合约的地址是一个冗长的字符串,用户不能从智能合约的地址得知资产类型。而资产ID相比于智能合约的地址,更能体现语义,也更容易识别和记忆,用户根据资产ID,能比较明确地了解资产类型。
本发明在具体实现时,如前所述,上述第一映射关系(即资产ID与合约地址之间的映射关系)可以是中间件在参与资产发行业务期间,建立并存储的。参考图3,图3是本发明一实施例提出的资产发行过程的流程图,该资产发行过程应用于中间件。如图3所示,该资产发行过程包括以下步骤:
步骤S31:接收资产发行报文,所述资产发行报文用于请求在所述区块链网络中发行目标资产,所述资产发行报文中携带:所述目标资产的资产ID、以及用于发行所述目标资产的智能合约参数。
步骤S32:从所述资产发行报文中获取智能合约参数,并基于该智能合约参数和所述目标资产对应的智能合约模板,生成用于发行所述目标资产的智能合约。
步骤S33:将所述资产发行报文解析成一个或多个交易,并将所述一个或多个交易提交给所述区块链网络执行,其中一个交易为合约部署交易,该交易中携带生成的智能合约及其合约地址。
步骤S34:建立所述资产ID与所述合约地址之间的第一映射关系。
此外,如前所述,资产发行报文中还就可以携带:发行所述目标资产的商户的商户ID。如图3所示,该资产发行过程还可以包括以下步骤:
步骤S35:建立所述商户ID与所述资产ID之间的第二映射关系。
对于步骤S31至步骤S35的具体实施方式,可参见上文,为避免重复,此处不再赘述。
需要补充的是,中间件中可存储多个智能合约模板,这些智能合约模板分别用于发行不同类型的资产,每个智能合约模板中包含需要填充智能合约参数的空字段。中间件在执行上述步骤S32时,可以根据目标资产的类型,从多个智能合约模板中确定用于发行该类目标资产的智能合约模板。并且,从资产发行报文中获取智能合约参数。然后,将获取的智能合约参数填入确定出的智能合约模板的空字段。如此,生成了用于发行该目标资产的智能合约。
此外,中间件还为该智能合约生成合约地址。示例地,中间件可以将资产发行报文的发起方(例如商户)信息和上述合约部署交易的交易数据作为随机数,通过预设加密算法(例如Kecca-256加密算法),生成智能合约的合约地址。需要说明的是,上述示例所提出的合约地址生成方式,仅作为示例,并不应理解为是对本发明的限定。
通过以上述步骤S31至步骤S34的方式,发行资产并建立第一映射关系,具有以下有益效果:一方面,用户不需要编写智能合约,仅需配置智能合约参数(例如资产发行量等),而中间件会根据用户配置的智能合约参数,自动生成智能合约,因此可以有效简化用户操作,整体提高业务处理效率。另一方面,为了发行资产,用户也不需要编辑交易,而是以报文的形式,将资产发行请求发送给中间件,中间件会自动将报文解析成一个或多个交易,因此也可以有效简化用户操作,进一步整体提高业务处理效率。
在本发明的另一些具体实施方式中,如果客户端发出的信息查询请求的待查询信息的信息类型为商户资产,则该信息查询请求中还携带商户ID。简言之,如果客户端发出的信息查询请求用于查询商户资产信息,则该信息查询请求中还携带商户ID。
中间件响应于该信息查询请求,从该信息查询请求中获取信息类型标识。由于该信息类型标识表征的信息类型是商户资产,则中间件将多个查询策略中的第一查询策略确定为目标查询策略。换言之,为了查询商户资产,需要基于第一查询策略进行查询。
之后,中间件在基于第一查询策略进行查询时,可以根据预先建立的第二映射关系和所述信息查询请求中携带的商户ID,查询该商户ID对应的所有资产ID,并将查询到的所有资产ID发送给查询结果需求方,例如信息查询请求的发送方。如此,查询结果需求方获得商户ID对应的各个资产ID后,可以根据资产ID得知该商户发行过的所有资产。
上述具体实施方式中,由于资产ID信息记录在中间件中,且中间件中还记录有商户ID与资产ID之间的映射关系。因此中间件在接收到用于查询商户资产的信息查询请求后,可以根据该信息查询请求中携带的商户ID,直接在中间件本地查询到商户对应的全部资产,而不需要与区块链网络交互。如此,在查询商户资产时,具有更高的查询效率。
在本发明的又一些具体实施方式中,如果客户端发出的信息查询请求的待查询信息的信息类型为存证信息,则该信息查询请求中还携带存证索引。简言之,如果客户端发出的信息查询请求用于查询存证信息,则该信息查询请求中还携带存证索引。
中间件响应于该信息查询请求,从该信息查询请求中获取信息类型标识。由于该信息类型标识表征的信息类型是存证信息,则中间件将多个查询策略中的第二查询策略确定为目标查询策略。换言之,为了查询存证信息,需要基于第二查询策略进行查询。
之后,中间件在基于第二查询策略进行查询时,可以从信息查询请求中提取出存证索引,并将提取出的存证索引提交给区块链网络,以使得区块链网络返回该存证索引对应的存证信息。如此,中间件在接收到区块链网络返回的存证信息后,可以将存证信息发送给查询结果需求方,例如信息查询请求的发送方。
基于同一发明构思,本发明实施例还提供一种信息查询装置。参考图4,图4是本发明一实施例提出的信息查询装置的示意图,该信息查询装置应用于中间件,该中间件用于连接客户端和区块链网络,使得客户端可以通过该中间件与区块链网络通信。如图4所示,该装置包括:
请求接收模块41,用于接收所述客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型;
策略确定模块42,用于根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;
信息查询模块43,用于基于所述目标查询策略,查询所述待查询信息。
可选地,所述多个查询策略还包括:第三查询策略,所述第三查询策略为首先获取与待查询信息关联的中间信息,再根据获取到的中间信息,从所述区块链网络查询所述待查询信息。
可选地,所述第一查询策略具体为从所述中间件本地查询待查询信息,所述第三查询策略具体为首先从所述中间件本地获取与待查询信息关联的中间信息,再根据获取到的中间信息,从所述区块链网络查询所述待查询信息。
可选地,所述中间件存储有资产ID与合约地址之间的第一映射关系;如果所述信息查询请求的待查询信息的信息类型为用户资产,则所述信息查询请求中还携带:用户地址和资产ID;
如果所述信息查询请求的待查询信息的信息类型为用户资产,则所述策略确定模块具体用于:根据所述信息查询请求中携带的信息类型标识,将所述第三查询策略确定为目标查询策略;
如果所述信息查询请求的待查询信息的信息类型为用户资产,则所述信息查询模块具体用于:根据所述第一映射关系和所述信息查询请求中携带的资产ID,确定该资产ID对应的合约地址,将确定出的合约地址和所述信息查询请求中携带的用户地址提交给所述区块链网络,以使得所述区块链网络从该合约地址对应的智能合约中,查询该用户地址对应的用户资产信息,并将查询到的用户资产信息返回给所述中间件。
可选地,所述装置还包括:
报文接收模块,用于接收资产发行报文,所述资产发行报文用于请求在所述区块链网络中发行目标资产,所述资产发行报文中携带:所述目标资产的资产ID、以及用于发行所述目标资产的智能合约参数;
合约生成模块,用于从所述资产发行报文中获取智能合约参数,并基于该智能合约参数和所述目标资产对应的智能合约模板,生成用于发行所述目标资产的智能合约;
报文解析模块,用于将所述资产发行报文解析成一个或多个交易,并将所述一个或多个交易提交给所述区块链网络执行,其中一个交易为合约部署交易,该交易中携带生成的智能合约及其合约地址;
第一映射关系建立模块,用于建立所述合约地址与所述资产ID之间的第一映射关系。
可选地,所述资产发行报文中还携带:发行所述目标资产的商户的商户ID,所述装置还包括:
第二映射关系建立模块,用于建立所述商户ID与所述资产ID之间的第二映射关系。
可选地,如果所述信息查询请求的待查询信息的信息类型为商户资产,则所述信息查询请求中还携带商户ID;
如果所述信息查询请求的待查询信息的信息类型为商户资产,则所述策略确定模块具体用于:根据所述信息查询请求中携带的信息类型标识,将所述第一查询策略确定为目标查询策略;
如果所述信息查询请求的待查询信息的信息类型为商户资产,则所述信息查询模块具体用于:根据预先建立的第二映射关系和所述信息查询请求中携带的商户ID,查询该商户ID对应的所有资产ID,并将查询到的所有资产ID发送给查询结果需求方。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
所述存储器503,用于存放计算机程序;
所述处理器501,用于在执行存储器503上所存放的程序时,实现如下步骤:
接收所述客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型;
根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;
基于所述目标查询策略,查询所述待查询信息。
或者,处理器501用于执行存储器503上所存放的程序时,实现本发明以上其他方法实施例所提供的信息查询方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的信息查询方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的信息查询方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种信息查询方法,其特征在于,应用于中间件,所述中间件用于连接客户端和区块链网络,使得客户端可以通过该中间件与区块链网络通信,所述方法包括:
接收所述客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型;
根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;
基于所述目标查询策略,查询所述待查询信息。
2.根据权利要求1所述的方法,其特征在于,所述多个查询策略还包括:第三查询策略,所述第三查询策略为首先获取与待查询信息关联的中间信息,再根据获取到的中间信息,从所述区块链网络查询所述待查询信息。
3.根据权利要求2所述的方法,其特征在于,所述第一查询策略具体为从所述中间件本地查询待查询信息,所述第三查询策略具体为首先从所述中间件本地获取与待查询信息关联的中间信息,再根据获取到的中间信息,从所述区块链网络查询所述待查询信息。
4.根据权利要求2或3所述的方法,其特征在于,所述中间件存储有资产ID与合约地址之间的第一映射关系;如果所述信息查询请求的待查询信息的信息类型为用户资产,则所述信息查询请求中还携带:用户地址和资产ID;
如果所述信息查询请求的待查询信息的信息类型为用户资产,则所述根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,包括:
根据所述信息查询请求中携带的信息类型标识,将所述第三查询策略确定为目标查询策略;
如果所述信息查询请求的待查询信息的信息类型为用户资产,则所述基于所述目标查询策略,查询所述待查询信息,包括:
根据所述第一映射关系和所述信息查询请求中携带的资产ID,确定该资产ID对应的合约地址,将确定出的合约地址和所述信息查询请求中携带的用户地址提交给所述区块链网络,以使得所述区块链网络从该合约地址对应的智能合约中,查询该用户地址对应的用户资产信息,并将查询到的用户资产信息返回给所述中间件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收资产发行报文,所述资产发行报文用于请求在所述区块链网络中发行目标资产,所述资产发行报文中携带:所述目标资产的资产ID、以及用于发行所述目标资产的智能合约参数;
从所述资产发行报文中获取智能合约参数,并基于该智能合约参数和所述目标资产对应的智能合约模板,生成用于发行所述目标资产的智能合约;
将所述资产发行报文解析成一个或多个交易,并将所述一个或多个交易提交给所述区块链网络执行,其中一个交易为合约部署交易,该交易中携带生成的智能合约及其合约地址;
建立所述资产ID与所述合约地址之间的第一映射关系。
6.根据权利要求5所述的方法,其特征在于,所述资产发行报文中还携带:发行所述目标资产的商户的商户ID,所述方法还包括:
建立所述商户ID与所述资产ID之间的第二映射关系。
7.根据权利要求6所述的方法,其特征在于,如果所述信息查询请求的待查询信息的信息类型为商户资产,则所述信息查询请求中还携带商户ID;
如果所述信息查询请求的待查询信息的信息类型为商户资产,则所述根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,包括:
根据所述信息查询请求中携带的信息类型标识,将所述第一查询策略确定为目标查询策略;
如果所述信息查询请求的待查询信息的信息类型为商户资产,则所述基于所述目标查询策略,查询所述待查询信息,包括:
根据预先建立的第二映射关系和所述信息查询请求中携带的商户ID,查询该商户ID对应的所有资产ID,并将查询到的所有资产ID发送给查询结果需求方。
8.一种信息查询装置,其特征在于,应用于中间件,所述中间件用于连接客户端和区块链网络,使得客户端可以通过该中间件与区块链网络通信,所述装置包括:
请求接收模块,用于接收所述客户端发出的信息查询请求,该信息查询请求中携带信息类型标识,该信息类型标识用于表征待查询信息的信息类型;
策略确定模块,用于根据所述信息查询请求中携带的所述信息类型标识,从多个查询策略中确定所述信息类型标识对应的目标查询策略,其中,所述多个查询策略包括:第一查询策略和第二查询策略,所述第一查询策略为从所述区块链网络之外查询待查询信息,所述第二查询策略为从所述区块链网络查询待查询信息;
信息查询模块,用于基于所述目标查询策略,查询所述待查询信息。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于在执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010888575.7A CN112035542B (zh) | 2020-08-28 | 2020-08-28 | 信息查询方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010888575.7A CN112035542B (zh) | 2020-08-28 | 2020-08-28 | 信息查询方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035542A true CN112035542A (zh) | 2020-12-04 |
CN112035542B CN112035542B (zh) | 2023-07-04 |
Family
ID=73586290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010888575.7A Active CN112035542B (zh) | 2020-08-28 | 2020-08-28 | 信息查询方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035542B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631731A (zh) * | 2020-12-30 | 2021-04-09 | 平安证券股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN115858885A (zh) * | 2023-02-28 | 2023-03-28 | 美云智数科技有限公司 | 账套数据查询方法、装置、计算机设备和存储介质 |
CN116431104A (zh) * | 2022-12-02 | 2023-07-14 | 东莞盟大集团有限公司 | 基于区块链技术标识解析应用的低代码开发方法 |
CN116483483A (zh) * | 2023-06-21 | 2023-07-25 | 中科方德软件有限公司 | 数据查询方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391557A (zh) * | 2017-03-24 | 2017-11-24 | 北京瑞卓喜投科技发展有限公司 | 针对设置链外勘误表的区块链串行查询方法及系统 |
CN107507005A (zh) * | 2017-08-01 | 2017-12-22 | 众安信息技术服务有限公司 | 一种基于联盟链的链外数据访问方法和系统 |
US20180018723A1 (en) * | 2016-07-18 | 2018-01-18 | Royal Bank Of Canada | Distributed ledger platform for vehicle records |
CN109710627A (zh) * | 2018-12-29 | 2019-05-03 | 中国银联股份有限公司 | 一种基于区块链网络的交易查询方法及装置 |
CN110162559A (zh) * | 2019-04-13 | 2019-08-23 | 山东公链信息科技有限公司 | 一种基于通用json同步和异步数据api接口调用的区块链处理方法 |
CN110612697A (zh) * | 2017-05-09 | 2019-12-24 | 埃森哲环球解决方案有限公司 | 用于高效信息检索的数据存储层索引 |
CN110769035A (zh) * | 2019-09-23 | 2020-02-07 | 北京海益同展信息科技有限公司 | 一种区块链资产发行方法、平台、业务节点及存储介质 |
CN111177182A (zh) * | 2019-12-19 | 2020-05-19 | 达闼科技成都有限公司 | 数据查询方法和装置、存储介质和电子设备 |
CN111475866A (zh) * | 2020-05-09 | 2020-07-31 | 南京工程学院 | 一种区块链电子证据保全方法和系统 |
-
2020
- 2020-08-28 CN CN202010888575.7A patent/CN112035542B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180018723A1 (en) * | 2016-07-18 | 2018-01-18 | Royal Bank Of Canada | Distributed ledger platform for vehicle records |
CN107391557A (zh) * | 2017-03-24 | 2017-11-24 | 北京瑞卓喜投科技发展有限公司 | 针对设置链外勘误表的区块链串行查询方法及系统 |
CN110612697A (zh) * | 2017-05-09 | 2019-12-24 | 埃森哲环球解决方案有限公司 | 用于高效信息检索的数据存储层索引 |
CN107507005A (zh) * | 2017-08-01 | 2017-12-22 | 众安信息技术服务有限公司 | 一种基于联盟链的链外数据访问方法和系统 |
CN109710627A (zh) * | 2018-12-29 | 2019-05-03 | 中国银联股份有限公司 | 一种基于区块链网络的交易查询方法及装置 |
CN110162559A (zh) * | 2019-04-13 | 2019-08-23 | 山东公链信息科技有限公司 | 一种基于通用json同步和异步数据api接口调用的区块链处理方法 |
CN110769035A (zh) * | 2019-09-23 | 2020-02-07 | 北京海益同展信息科技有限公司 | 一种区块链资产发行方法、平台、业务节点及存储介质 |
CN111177182A (zh) * | 2019-12-19 | 2020-05-19 | 达闼科技成都有限公司 | 数据查询方法和装置、存储介质和电子设备 |
CN111475866A (zh) * | 2020-05-09 | 2020-07-31 | 南京工程学院 | 一种区块链电子证据保全方法和系统 |
Non-Patent Citations (1)
Title |
---|
刘永相 等: "基于区块链的共享汽车智能合约算法设计", 《计算机应用》, vol. 40, no. 1, pages 231 - 237 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631731A (zh) * | 2020-12-30 | 2021-04-09 | 平安证券股份有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN116431104A (zh) * | 2022-12-02 | 2023-07-14 | 东莞盟大集团有限公司 | 基于区块链技术标识解析应用的低代码开发方法 |
CN115858885A (zh) * | 2023-02-28 | 2023-03-28 | 美云智数科技有限公司 | 账套数据查询方法、装置、计算机设备和存储介质 |
CN115858885B (zh) * | 2023-02-28 | 2023-06-30 | 美云智数科技有限公司 | 账套数据查询方法、装置、计算机设备和存储介质 |
CN116483483A (zh) * | 2023-06-21 | 2023-07-25 | 中科方德软件有限公司 | 数据查询方法、装置及电子设备 |
CN116483483B (zh) * | 2023-06-21 | 2023-09-19 | 中科方德软件有限公司 | 数据查询方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112035542B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035542B (zh) | 信息查询方法、装置、电子设备及可读存储介质 | |
CN105530175A (zh) | 一种消息处理方法、装置及系统 | |
CN108665946A (zh) | 一种业务数据的访问方法和装置 | |
CN112087502B (zh) | 处理请求的方法、装置、设备及存储介质 | |
CN107682397A (zh) | 客户资源获取方法、装置、终端设备及存储介质 | |
US11133936B1 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
CN110766406A (zh) | 资源转移方法、资源转移装置、存储介质及电子设备 | |
CN108154439A (zh) | 资产数据处理装置及方法 | |
WO2020062972A1 (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
CN112435030A (zh) | 一种基于区块链的数据处理方法、装置及电子设备 | |
CN107360261A (zh) | 一种http请求处理方法、装置及电子设备 | |
US20200014632A1 (en) | Resource path monitoring | |
CN108460272A (zh) | 密码更改方法、装置、终端设备及存储介质 | |
US20220052921A1 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
CN110910143A (zh) | 身份标识生成方法、装置、相关节点及介质 | |
CN110955724A (zh) | 基于区块链的数据处理方法、装置、节点设备及存储介质 | |
CN110599269A (zh) | 票据生成方法、装置、计算机可读存储介质和计算机设备 | |
CN111833037A (zh) | 一种账户管理的方法及装置 | |
CN112269915B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN115619395A (zh) | 基于区块链的数据处理方法及相关设备 | |
CN108876339B (zh) | 基于通证的电子宠物交易方法及装置 | |
CN112181628A (zh) | 资源转移方法、装置、系统和电子设备 | |
CN116961876A (zh) | 用于区块链的虚拟资源管理方法、装置、设备及存储介质 | |
CN117952747A (zh) | 基于区块链的权益凭证交易方法、装置、设备和可读介质 | |
CN112804357B (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 |