CN113343292A - 交易编号处理方法、装置、存储介质及计算机设备 - Google Patents
交易编号处理方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN113343292A CN113343292A CN202110592617.7A CN202110592617A CN113343292A CN 113343292 A CN113343292 A CN 113343292A CN 202110592617 A CN202110592617 A CN 202110592617A CN 113343292 A CN113343292 A CN 113343292A
- Authority
- CN
- China
- Prior art keywords
- transaction
- block
- information
- target
- generated
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 71
- 238000005192 partition Methods 0.000 claims description 90
- 238000012545 processing Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 abstract description 28
- 230000000875 corresponding effect Effects 0.000 description 82
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 8
- 238000009795 derivation Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种交易编号处理方法、装置、存储介质及计算机设备。该方法包括:获取区块链的共识节点中待生成区块的时间戳信息、以及预设的交易出块时间粒度信息,根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息,获取各交易的交易数据,并根据交易出块时间信息和各交易的交易数据更改各交易的交易编号。本申请实施例中的交易编号中携带交易出块时间信息和交易数据,在查询时,可根据待查询交易的交易出块时间信息快速定位到包括该待查询交易的目标区块,再根据交易哈希值快速地从目标区块中查找出待查询交易,而无需遍历区块链中的整个交易列表,极大地提高了交易查询效率。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种交易编号处理方法、装置、计算机可读存储介质及计算机设备。
背景技术
区块链的信息具有即时验证、可追溯、但难以篡改和无法屏蔽的特性,因此越来越多的人使用区块链来保存对应的交易信息。区块链上的每个交易都有对应的交易编号。该交易编号和快递单号类似,每一单快递都有唯一的快递单号;每一笔区块链转账或者存证等交易都有唯一的不可篡改的交易编号,通过该交易编号就能查到该笔交易所有相关的信息。
现有的交易编号是通过使用账户私钥对交易进行签名,得到一个签名值,将签名值和交易合并,并进行哈希值运算,得到交易编号,然后向区块链网络广播。如果交易成功,就可以在区块链网络上查询到该交易编号。
当前的交易编号通过哈希值运算得到的,当需要通过交易编号查询交易详情时,需要遍历整个交易列表,查询效率低下。
发明内容
本申请实施例提供一种交易编号处理方法、装置、计算机可读存储介质及计算机设备,可以提高交易查询的效率。
本申请实施例提供了一种交易编号处理方法,包括:
获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;
根据所述时间戳信息和所述交易出块时间粒度信息确定所述待生成区块中各交易对应的交易出块时间信息;
获取所述各交易的交易数据;
根据所述交易出块时间信息和所述各交易的交易数据更改所述各交易的交易编号。
本申请实施例还提供了一种交易编号处理方法,包括:
获取区块链网络共识节点中的待生成区块的区块高度信息;
获取所述待生成区块中各交易的交易数据;
根据所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
本申请实施例还提供一种交易编号处理装置,包括:
第一时间获取模块,用于获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;
第一时间确定模块,用于从所述时间戳信息中提取出与所述交易出块时间粒度信息匹配的时间信息,作为所述待生成区块中各交易对应的交易出块时间信息;
第一交易获取模块,用于获取所述各交易的交易哈希值;
第一处理模块,用于根据所述交易出块时间信息和所述各交易的交易数据更改所述各交易的交易编号。
本申请实施例还提供一种交易编号处理装置,包括:
第二高度获取模块,用于获取区块链网络共识节点中的待生成区块的区块高度信息;
第二交易获取模块,用于获取所述待生成区块中各交易的交易数据;
第二处理模块,用于根据所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的交易编号处理方法中的步骤。
本申请实施例还提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的交易编号处理方法中的步骤。
本申请实施例提供的交易编号处理方法、装置、计算机可读存储介质及计算机设备,通过获取区块链的共识节点中待生成区块的时间戳信息、以及预设的交易出块时间粒度信息,根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息,获取各交易的交易数据,并根据交易出块时间信息和各交易的交易数据更改各交易的交易编号;即在待生成区块生成的过程中,根据交易出块时间信息和各交易的交易数据更改各交易的交易编号,使得交易编号中携带交易出块时间信息和交易数据。如此,在查询时,可根据待查询交易的交易出块时间信息快速定位到包括该待查询交易的目标区块,再根据交易哈希值快速地从目标区块中查找出待查询交易,而无需遍历区块链中的整个交易列表,极大地提高了交易查询效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的交易编号处理装置的系统示意图。
图2为本申请实施例提供的交易编号处理方法的流程示意图。
图3为本申请实施例提供的更改交易编号的示意图。
图4为本申请实施例提供的交易编号处理方法的另一流程示意图。
图5为本申请实施例提供的更改交易编号的另一示意图。
图6为本申请实施例提供的交易编号处理方法的另一流程示意图。
图7a为本申请实施例提供的存储磁盘分区根据年份分区的示意图。
图7b为本申请实施例提供的存储磁盘分区根据年月分区的示意图。
图8为本申请实施例提供的交易编号处理方法的另一流程示意图。
图9为本申请实施例提供的查询待查询交易的示意图。
图10是本申请实施例提供的交易编号处理方法的又一流程示意图。
图11为本申请实施例提供的更改交易编号的又一示意图。
图12为本申请实施例提供的交易编号处理装置的结构示意图。
图13为本申请实施例提供的交易编号处理装置的另一结构示意图。
图14为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种交易编号处理方法、装置、计算机可读存储介质及计算机设备。具体地,本申请实施例的交易编号处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)等加入至区块链网络中并成为共识节点的终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群,还可以是提供云服务、云数据库等基础云计算服务的云服务器;该服务器加入至区块链网络并成为区块链网络中的共识节点。
本申请实施例中的区块链网络,指的是区块链的多个节点,以及多个节点之间相互连接的关系所形成的网络,该网络中的多个节点通过点对点(P2P,Peer To Peer)协议进行通信。
区块链是由节点参与的分布式数据库系统,或者,也可称之为一个基于P2P(点对点)网络的分布式公共账本,由于对区块链加入了可信时间戳,因此,区块链的特点是不可更改、不可伪造。区块链中包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链就不会再被移除。
区块链的节点,指的是参与构建区块链的任意形式的计算机设备,如终端设备和服务器。任何计算机设备可以加入而成为节点。节点存储有相关区块数据,区块数据可以包括交易等数据。其中,所述节点中包括共识节点,共识节点指的是可以生成区块的节点(具有生成区块的能力)。同时需要说明的是,区块链网络中同一时刻只有一个共识节点可以生成区块。
主节点,指的是区块链网络中的当前可生成区块的共识节点。从节点,指的是区块链网络中的当前不生成区块的共识节点。
请参阅图1,图1是本申请实施例提供的交易编号处理装置的系统示意图。该系统中包括多个节点,多个节点之间相互连接,形成点对点(P2P,Peer To Peer)网络,该网络也可称为区块链网络。在多个节点中,包括一个主节点11,该主节点属于区块链的共识节点中的一个节点,将除主节点11之外的其他节点作为从节点12。
本申请实施例中的交易编号处理装置应用在区块链网络中的主节点11上。具体地,应用在主节点11生成区块的过程中。在其他实施例中,生成区块的节点也可用共识节点来表述。
以下将分别对本申请实施例提供的交易编号处理方法、装置、存储介质及计算机设备进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
图2是本申请实施例提供的交易编号处理方法的流程示意图。该交易编号处理方法应用于在共识节点中,具体地,应用在共识节点生成区块的过程中。该交易编号处理方法包括如下步骤。
101,获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息。
区块链网络共识节点生成的区块包括区块头和区块体,区块体中包括至少一个交易;一般情况下,区块体中包括多个交易,交易中包括有转账或者存证数据等。区块头中包括上一个区块的区块哈希值、本区块的时间戳信息(用于保存该区块生成时本地的时间)、本区块的区块高度信息等。
其中,区块哈希值指的是对区块头中的信息进行哈希运算后所得到的哈希值。该哈希值可唯一、明确地表示一个区块。通过区块哈希值将多个区块“连接”在一起,形成区块链。
本区块的时间戳用于保存本区块生成的本地时间,根据区块生成的本地时间形成的字符序列即为时间戳信息。该时间戳信息中的时间会精确到秒,甚至会精确到更小的时间粒度,例如毫秒等。
本区块的区块高度信息是指本区块在区块链中的位置。区块高度并不是唯一的。虽然一个单一的区块总是会有一个明确的、固定的区块高度,但反过来可能却并不成立,一个区块高度并不总是识别一个单一的区块,例如两个或两个以上的区块可能有相同的区块高度,在区块链里争夺同一位置。
区块头中还可以包括版本、难度、随机数、Merkel跟等信息。在此不再详细说明。
在共识节点生成区块的过程中,会得到待生成区块的时间戳信息等。在一实施例中,获取区块链网络共识节点中的待生成区块的时间戳信息的步骤,可以是在生成待生成区块的过程中,已经得到了对应的时间戳信息之后开始执行,如此直接获取已得到的待生成区块的时间戳信息。
在一实施例中,获取区块链网络共识节点中的待生成区块的时间戳信息的步骤,是在生成待生成区块的过程中,还未得到对应的时间戳信息时就开始执行,如此,通过步骤101来确定待生成区块的时间戳信息。
在一实施例中,获取区块链网络共识节点中的待生成区块的时间戳信息的步骤,包括:获取区块链共识节点的操作系统时间、以及区块链中的上一区块对应的区块出块时间;当操作系统时间大于区块出块时间,根据操作系统时间生成待生成区块的时间戳信息;当操作系统时间不大于区块出块时间,获取区域链中区块的平均出块时间,并根据操作系统时间和平均出块时间生成待生成区块的时间戳信息。
其中,操作系统时间也即共识节点所对应的本地时间,可精确到秒或者更小的时间粒度。例如,操作系统时间为2020年03月06日15时00分00秒。上一区块对应的区块出块时间可直接获取上一区块的区块头中的时间戳信息,根据上一区块的时间戳信息来确定上一区块对应的区块出块时间。具体地,将上一区块的时间戳信息中的对应秒数转换为对应的具体时间,以得到上一区块对应的区块出块时间。
由于区块链中的待生成区块的区块出块时间要大于上一区块的区块出块时间,因此当操作系统时间不大于区块出块时间时,需要修改共识节点的操作系统时间。具体地,获取区块链中区块的平均出块时间,该平均出块时间指的是该条区块链中的平均出块时间;将操作系统时间加上平均出块时间得到待生成区块的区块出块时间;将待生成区块的区块出块时间转化成秒数,以得到对应的时间戳信息。
其中,本申请实施例中的预设的交易出块时间粒度信息,指的是需要在交易编号上加上的交易出块时间所对应的时间粒度。其中,交易出块时间以区块出块时间为基准。如预设的交易出块时间粒度为日、月、年、小时等中的一个。
在一实施例中,预设的交易出块时间粒度信息可根据存储区块的存储时间粒度信息确定。具体地,获取预设的交易出块时间粒度信息的步骤,包括:获取存储待生成区块的存储时间粒度信息;将存储时间粒度信息作为预设的交易出块时间粒度信息。其中,存储时间粒度信息指的是在数据库/存储磁盘中存储区块的时间粒度。如存储时间粒度为月,则意味着将每个月生成的区块都放在同一存储磁盘或者同一存储磁盘的相同分区中,或者理解为保存区块的存储磁盘分区先根据年份分区,再根据月份进行分区;如存储时间粒度为年,则意味着将每年生成的区块都放在同一存储磁盘或者同一存储磁盘的相同分区中,或者理解为保存区块的存储磁盘分区根据年份进行分区。
存储时间粒度预先设置,如此,直接获取存储待生成区块的存储时间粒度信息,将该存储时间粒度信息作为预设的交易出块时间粒度信息。如此,交易编号中的交易出块时间粒度与存储时间粒度相同,便于根据交易编号快速定位存储该交易编号所对应的区块的存储磁盘分区,提高查询效率。
在该实施例中,存储时间粒度设定后,一般情况下,不再更改存储时间粒度;但在区块链中的数据量比较大,不便于用现有的存储时间粒度信息进行存储时,可更改该存储时间粒度,在该种情况下,预设的交易出块时间粒度信息也随之更改。
在一实施例中,预设的交易出块时间粒度信息可直接设定,如将预设的交易出块时间粒度信息设定为月,直接获取设定的交易出块时间粒度信息。该种情况下,无论存储待生成区块的存储时间粒度信息是否更改,预设的交易出块时间粒度信息都可不进行更改。在该种情况下,预设的交易出块时间粒度信息与待生成区块的存储时间粒度信息无关系;但一般情况下,设置更改前和更改后的存储时间粒度信息都不小于预设的交易出块时间粒度信息,如预设的交易出块时间粒度信息为月,那么更改前和更改后的存储时间粒度信息可以为年或者是月。
102,根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息。
具体地,从时间戳信息中提取出与交易出块时间粒度信息匹配的时间信息;将该时间信息作为待生成区块中各交易对应的交易出块时间信息。例如,交易出块时间粒度信息为月,则从时间戳信息中提取到月的时间信息,如2020年03月,将该时间信息作为各交易对应的交易出块时间信息。
在一实施例中,从时间戳信息中提取出与交易出块时间粒度信息匹配的时间信息的步骤,包括:删除时间戳信息中比交易出块时间粒度信息更小的时间粒度所对应的时间信息;将删除后的时间信息,作为与交易出块时间粒度信息匹配的时间信息。提取出时间戳信息中比交易出块时间粒度信息更小的时间粒度所对应的时间信息,再进行删除。例如,交易出块时间粒度信息为月,交易出块时间粒度信息更小的时间粒度为日、时、分、秒、更小的时间粒度等,将提取出的时间戳信息中日、时、分、秒、更小的时间粒度所对应的时间信息进行删除,以得到与交易出块时间粒度信息匹配的时间信息。
在一实施例中,从时间戳信息中提取出与交易出块时间粒度信息匹配的时间信息的步骤,包括:提取时间戳信息中不小于交易出块时间粒度信息的时间粒度所对应的时间信息,将提取出的该时间信息作为与交易出块时间粒度信息匹配的时间信息。例如,交易出块时间粒度信息为月,不小于交易出块时间粒度信息的时间粒度为世纪、年、月,将提取出的包括世纪、年、月的时间信息,作为与交易出块时间粒度信息匹配的时间信息。
得到与交易出块时间粒度信息匹配的时间信息后,将该时间信息作为待生成区块中各交易对应的交易出块时间信息。例如,交易出块时间信息为2020年03月。
103,获取各交易的交易数据。
其中,各交易的交易数据包括交易哈希值(或者其他可唯一表示一个交易的标识信息)和/或交易信息。其中,交易哈希值是对包括交易信息的数据进行哈希运算得到的,该交易哈希值在交易发送时就得到了。每个交易对应一个唯一的交易哈希值,由于交易哈希值的唯一,交易哈希值也可以理解为交易ID、交易编号等。可理解地,在现有技术中,将交易哈希值作为交易编号,即更改前的交易编号为交易哈希值。
交易信息可理解为具体的交易内容。
本申请实施例中以交易数据为交易哈希值为例进行说明。获取各交易的交易数据,可理解为获取各交易的交易哈希值。
104,根据交易出块时间信息和各交易的交易数据更改各交易的交易编号。
根据交易出块时间信息和各交易的交易数据(如交易哈希值)确定各交易的交易编号;再利用所确定的交易编号更改各交易原来的交易编号。其中,各交易原来的交易编号指的是交易哈希值,更改后的交易编号中包括交易出块时间信息和交易数据(如交易哈希值)。
在一实施例中,所述根据交易出块时间信息和各交易的交易数据更改各交易的交易编号的步骤,包括:将交易出块时间进行编码,根据编码后的交易出块时间和各交易的交易数据更改各交易的交易编号。
将交易出块时间进行编码,包括:将交易出块时间进行hex(十六进制)编码,即将交易出块时间编码为十六进制格式的数据,再根据编码后的交易出块时间和各交易的交易数据更改各交易的交易编号。若交易数据为交易哈希值,根据编码后的交易出块时间和各交易的交易数据更改各交易的交易编号的步骤,包括:将编码后的交易出块时间和各交易的交易哈希值进行拼接,以得到各交易的交易编号。如此,每个交易的交易编号中包括了交易出块时间和该交易所对应的交易哈希值。
其中,交易哈希值可通过如下方式得到:利用账户私钥对交易信息进行签名,得到一个签名值,将交易信息和签名值合并,利用哈希函数进行哈希运算,得到交易哈希值。将交易的交易哈希值用TxHash来表示,编码后的交易出块时间用Time来表示,交易信息用TxData来表示,签名值为sign来表示。根据交易信息TxData和签名值sign进行哈希运算得到交易哈希值TxHash。
如图3所示,更改前的交易编号包括交易哈希值TxHash,该交易哈希值TxHash在交易发送时计算得到的。更改后的交易编号包括编码后的交易出块时间Time和交易哈希值TxHash,其中,编码后的交易出块时间Time是在待生成区块打包的过程中得到的。可为编码后的交易出块时间Time设置第一预设字节数的存储空间,如第一预设字节数可以是4个字节。
当根据交易编号进行查询时,可根据待查询交易的交易出块时间信息快速定位到包括该待查询交易的目标区块,该目标区块可能会存在多个,再根据交易哈希值快速地从目标区块中查找出待查询交易,而无需遍历区块链中的整个交易列表,极大地提高了交易查询效率。
在一实施例中,所述交易编号处理方法,还包括:根据时间戳信息和所更改的交易编号的各交易,生成待生成区块;当待生成区块完成共识时,获取存待生成区块的存储时间粒度信息;根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。
在一实施例中,所述交易编号处理方法,还包括:检测存储待生成区块的存储时间粒度信息是否发生更改;若是,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据;按照更改之后的新存储时间粒度信息,将第一交易数据保存在第二存储磁盘分区中。其中,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据的步骤请参看下文中的详细描述。
图4是本申请实施例提供的交易编号处理方法的另一流程示意图。该交易编号处理方法应用于在共识节点中,具体地,应用在共识节点生成区块的过程中。该交易编号处理方法包括如下步骤。
201,获取区块链网络共识节点中的待生成区块的时间戳信息、待生成区块的区块高度信息以及预设的交易出块时间粒度信息。
待生成区块的区块高度信息是指待生成区块在区块链中的位置。
在共识节点生成区块的过程中,会得到待生成区块的时间戳信息、区块高度信息等。在一实施例中,获取区块链网络共识节点中的待生成区块的时间戳信息、待生成区块的高度信息的步骤,可以是在生成待生成区块的过程中,已经得到了对应的时间戳信息、区块高度信息之后开始执行,如此直接获取已得到的待生成区块的时间戳信息和区块高度信息。
在一实施例中,获取区块链网络共识节点中的待生成区块的时间戳信息、待生成区块的高度信息的步骤,是在生成待生成区块的过程中,还未得到对应的时间戳信息和/或区块高度信息时就开始执行,如此,通过该步骤来确定待生成区块的时间戳信息和/或区块高度信息。
其中,获取区块链网络共识节点中的待生成区块的区块高度信息,包括:获取区块链中上一区块的区块高度信息,根据上一区块的区块高度信息确定待生成区块的区块高度信息。如将上一区块的区块高度信息加1得到待生成区块的区块高度信息。
该步骤中其他的内容请参看上述实施例中的对应描述,在此不再赘述。
202,根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息。
203,获取各交易的交易数据。
步骤202至步骤203的详细内容请参看上述实施例中的对应描述,在此不再赘述。
204,根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号。
根据交易出块时间信息、区块高度信息和各交易的交易数据(如交易哈希值)确定各交易的交易编号;再利用所确定的交易编号更改各交易原来的交易编号。其中,更改后的交易编号中包括交易出块时间信息、区块高度信息和各交易的交易数据(如交易哈希值)。
在一实施例中,所述根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号的步骤,包括:将交易出块时间和区块高度信息进行编码,根据编码后的交易出块时间、区块高度信息和各交易的交易数据更改各交易的交易编号。
将交易出块时间和区块高度信息进行编码,包括:将交易出块时间和区块高度信息分别进行hex(十六进制)编码,即将交易出块时间和区块高度信息分别编码为十六进制格式的数据,再根据编码后的交易出块时间、区块高度信息和各交易的交易数据(如交易哈希值)更改各交易的交易编号。若交易数据为交易哈希值,可将编码后的交易出块时间、区块高度信息和各交易的交易哈希值进行拼接,以得到各交易的交易编号。如此,每个交易的交易编号中不仅包括了交易哈希值,还包括了交易出块时间、区块高度信息。
其中,拼接的方式可按照编码后的交易出块时间、区块高度信息和各交易的交易哈希值依次进行拼接,本申请实施例中采用这种方式进行说明,以便于查询。需要注意的是,还可以按照其他的顺序来进行拼接,如按照区块高度信息、交易出块时间和各交易的交易哈希值依次进行拼接等,具体不做限定。
将交易的交易哈希值用TxHash来表示,编码后的交易出块时间用Time表示,编码后的区块高度信息用BlockNum表示,交易信息用TxData来表示,签名值为sign来表示。根据交易信息TxData和签名值sign得到交易哈希值TxHash。
如图5所示,更改前的交易编号包括交易哈希值TxHash,该交易哈希值TxHash在交易发送时计算得到的。更改后的交易编号包括编码后的交易出块时间Time、编码后的区块高度信息BlockNum和交易哈希值TxHash,其中,编码后的交易出块时间Time和编码后的区块高度信息BlockNum是在待生成区块打包的过程中得到的。可为编码后的交易出块时间Time设置第一预设字节数的存储空间、为编码后的区块高度信息BlockNum设置第二预设字节数的存储空间。其中,第一预设字节数可以是4个字节,第二预设字节数可以是8个字节。
当根据交易编号进行查询时,可根据待查询交易的交易出块时间信息快速定位到保存该待查询交易的目标存储磁盘分区,然后根据区块高度信息从目标存储磁盘分区中快速定位包括该待查询交易的目标区块,该目标区块对应为一个,最后再根据交易哈希值快速地从该一个目标区块中查找出待查询交易。可以理解地,根据交易编号来查询待查询交易时,根据交易出块时间和区块高度信息快速地定位到一个目标区块,再根据交易哈希值从该目标区块中查找出待查询交易,如此,无需遍历区块链中的整个交易列表,也无需从多个目标区块中来查找待查询区块,极大地提高了交易查询效率。
图6是本申请实施例提供的交易编号处理方法的又一流程示意图。该交易编号处理方法包括如下步骤。
301,获取区块链网络共识节点中的待生成区块的时间戳信息、待生成区块的区块高度信息以及预设的交易出块时间粒度信息。
302,根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息。
303,获取各交易的交易数据。
304,根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号。
其中,步骤301至步骤304的详细内容请参看上述实施例中的对应描述,在此不再赘述。
305,根据时间戳信息、区块高度信息、所更改的交易编号的各交易,生成待生成区块。
根据待生成区块的区块头和待生成区块的区块体生成待生成区块。其中,待生成区块的区块头中至少包括待生成区块的时间戳信息、待生成区块的区块高度信息。待生成区块的区块体中包括所更改的交易编号的各交易。
306,当待生成区块完成共识时,获取存储待生成区块的存储时间粒度信息。
生成待生成区块之后,共识节点会将该生成的待生成区块发送至区块链网络中的其他节点进行共识。其他节点收到所生成的待生成区块后,对该待生成区块进行验证,并将验证的结果发送至共识节点。共识节点接收到超过一定数量的其他节点发送的验证通过的消息后,则确定待生成区块完成共识。该共识的过程只是一种举例说明,不同区块链中完成共识的过程可能会有所不同,本申请实施例中对完成共识的过程不做限制。
待生成区块完成共识,表示该待生成区块的数据是正确的,不存在造假或者篡改等情况,可以将所生成的待生成区块落盘。当待生成区块完成共识时,获取存储待生成区块的存储时间粒度信息。存储时间粒度信息指的是在数据库/存储磁盘分区中存储区块的时间粒度,可参看上文对应的解释说明。
存储时间粒度信息可以是年或者月,或者还可以是更小的时间粒度。
在区块链中的数据不是很大的时候,存储时间粒度可以是年,可理解为保存区块的存储磁盘分区根据年份分区。如将每一年所生成的区块保存在同一存储磁盘分区中。如图7a所示,将2019年所生成的区块保存在同一存储磁盘分区;将2020年所生成的区块保存在同一存储磁盘分区;将2021年所生成的区块保存在同一存储磁盘分区。
在区块链中的数据很大时,存储时间粒度可以是月,可理解为保存区块的存储磁盘分区先根据年份分区,再根据月份分区。如将每个月所生成的区块保存在同一存储磁盘分区中。如图7b所示,将2019年所生成的区块保存在相同存储磁盘分区、2020年所生成的区块保存在相同存储磁盘分区、2021年所生成的区块保存在相同存储磁盘分区。其中,对于2019年来说,将2019年1月份所生成的区块保存在同一存储磁盘分区,2019年2月份的保存在同一存储磁盘分区,......,2019年12月份所生成的区块保存在同一存储磁盘分区。2020年所生成的区块、2021年所生成的区块与2019年的存储方式一致。
307,根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。
具体地,根据存储时间粒度信息,将待生成区块保存在交易出块时间所对应的第一存储磁盘分区中。例如,存储时间粒度为月,交易出块时间为2021年01月,则将待生成区块保存在2021年01月所对应的第一存储磁盘分区中。
该实施例中根据存储时间粒度信息,将所生成的待生成区块保存对应的第一存储磁盘分区中,以使得所生成的区块可以按照存储时间粒度信息进行保存,方便存储和查找对应的区块和交易等数据。
在一实施例中,所述交易编号处理方法,还包括:检测存储待生成区块的存储时间粒度信息是否发生更改;若是,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据;按照更改之后的新存储时间粒度信息,将第一交易数据保存在第二存储磁盘分区中。
当区块链中的数据量比较大,不便于用现有的存储时间粒度信息进行存储时,可更改该存储时间粒度。可在获取存储时间粒度信息的时候来检测存储时间粒度信息是否发生更改;或者也可每隔预定时间来检测存储时间粒度信息是否发生更改。如果发生了更改,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据,按照更改之后的新存储时间粒度信息,将第一交易数据保存在第二存储磁盘分区中;如果未发生更改,根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。
导出第一交易数据可直接从数据库/存储磁盘分区中导出,也可以直接从区块链上导出。从数据库/存储磁盘分区中导出的速度要比从区块链中导出速度快。其中,需要注意的是,数据库/存储磁盘分区中保存的是交易,即以交易为单位进行保存,而区块链上保存的是区块,即以区块为单位进行保存。
具体地,当从数据库/存储磁盘分区中导出第一交易数据时,对应地,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据的步骤,包括:从保存区块链中的第一交易数据对应的第一存储磁盘分区中导出存储时间粒度信息发生更改之前的第一交易数据;在将第一交易数据保存在第二存储磁盘分区中的步骤之后,还包括:删除第一存储磁盘分区中的第一交易数据。
可以理解地,将第一存储磁盘分区中的第一交易数据按照新存储时间粒度信息保存在第二存储磁盘分区中。
具体地,当从区块链中导出第一交易数据时,对应地,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据的步骤,包括:导出存储时间粒度信息发生更改之前的区块链;解析区块链以得到区块链中的区块数据;从区块数据中解析出多个交易,以得到第一交易数据。
解析区块链,以得到每个区块;删除每个区块的区块头,以得到区块体;解析每个区块体,得到多个交易,如此以得到第一交易数据。
从区块链中导出第一交易数据时,需要解析区块链、解析区块等才可以得到第一交易数据,因此,从区块链上导出第一交易数据比从数据库/存储磁盘分区中导出第一交易数据要慢。
由于数据库/存储磁盘分区中以交易为单位进行保存,因此,需要将区块链上的区块中的第一交易数据解析出来,以便于将第一交易数据保存在第二存储磁盘分区中。
该实施例中详细描述了更改存储时间粒度信息之后,如何更新数据库/存储磁盘分区中的第一交易数据。
在一实施例中,如图8所示,交易编号处理方法,还包括如下步骤。
401,接收交易查询指令,该交易查询指令中携带待查询交易的目标交易编号。
例如,在交易查询界面上,输入目标交易编号,触发查询控件,即触发交易查询指令,其中,触发查询控件可通过触摸/点击/语音等方式来触发;对应地,共识节点接收输入的目标交易编号,并接收触发查询控件所对应的交易查询指令。该交易查询指令中包括待查询交易的目标交易编号。
例如,可直接通过计算机查询命令的方式来触发交易查询指令,该命令中携带待查询交易的目标交易编号;对应地,共识节点接收该查询命令,解析该查询命令,以得到待查询交易的目标交易编号。
在一些情况下,还可以直接通过语音的方式来触发交易查询指令,例如,当共识节点接收到“查询交易编号为012345678的交易信息”等语音(需要注意的是,该处的交易编号只是为了方便理解而随机设置的一串数字,并不是有效的交易编号),则接收到交易查询指令,并识别语音中的目标交易编号。
需要注意的是,交易查询指令涉及的应用场景还可以包括多种,不再例举。
402,解码目标交易编号。
共识节点接收到目标交易编号后,对目标交易编号进行解码。
在一实施例中,若交易编号是按照交易出块时间和交易哈希值拼接得到的,那么对应地,解码目标交易编号的步骤,包括:提取目标交易编号中前第一预设字节数的字节内容,提取目标交易编号中的目标交易数据;将第一预设字节数的字节内容进行解码得到目标交易出块时间。
其中,第一预设字节数与更改交易编号时对应的交易出块时间所占用的字节数一致,如4个字节。前第一预设字节可以理解为目标交易编号的交易哈希值对应的字节之前的第一预设字节。
在一实施例中,若交易编号是按照交易出块时间、区块高度信息和交易哈希值依次拼接得到的,那么对应地,解码目标交易编号的步骤,包括:提取目标交易编号中前第一预设字节数的字节内容、第一预设字节数之后的第二预设字节数的字节内容,提取目标交易编号中的目标交易数据;将前第一预设字节数的字节内容、第二预设字节数的字节内容分别解码得到目标交易出块时间信息和目标区块高度信息。
其中,第一预设字节数与更改交易编号时对应的交易出块时间所占用的字节数一致,如4个字节,第二预设字节数与更改交易编号时对应的区块高度信息所占用的字节数一致,如8个字节。
其中,将第一预设字节数的字节内容进行解码得到目标交易出块时间,包括:将第一预设字节数的字节内容从十六进制转换为十进制,以得到目标交易出块时间信息。
其中,将第二预设字节数的字节内容进行解码得到目标区块高度信息,包括:将第二预设字节数的字节内容从十六进制转换为十进制,以得到目标区块高度信息。
其中,提取目标交易编号中的目标交易数据,包括:将目标交易编号中剩余的字节内容作为目标交易编号中的目标交易数据。其中,若目标交易数据为交易哈希值,则提取出的目标交易编号中的目标交易数据也为交易哈希值。
403,根据解码后的目标交易编号查询待查询交易。
查询待查询交易可以直接从数据库/存储磁盘分区中查询,也可以直接从区块链中查询对应的待查询交易。
下面介绍从数据库/存储磁盘分区中查询待查询交易的具体实现方式,以目标交易数据为目标交易哈希值为例进行说明。
若交易编号是按照交易出块时间和交易哈希值拼接得到的,解码后的目标交易编号中包括目标交易出块时间和目标交易哈希值。根据解码后的目标交易编号查询待查询交易的步骤,包括:根据目标交易出块时间,从保存区块链的存储磁盘分区中确定包括待查询交易的目标存储磁盘分区,具体地,确定交易出块时间为目标交易出块时间所对应的区块数据所在的目标存储磁盘分区;根据目标交易哈希值从目标存储磁盘分区中查找待查询交易,具体地,从目标存储磁盘分区中查找交易哈希值为目标交易哈希值的交易,作为待查询交易。其中,从目标存储磁盘分区中查找待查询交易,比直接从保存区块链的所有存储磁盘分区中查找待查询交易,速度要更快,如此,提高了查询速度和效率。
若交易编号是按照交易出块时间、区块高度信息和交易哈希值拼接得到的,解码后的目标交易编号中包括目标交易出块时间、目标区块高度信息和目标交易哈希值。根据解码后的目标交易编号查询待查询交易的步骤,包括:根据目标交易出块时间,从保存区块链的存储磁盘分区中确定包括待查询交易的目标存储磁盘分区;根据目标区块高度信息,从目标存储磁盘分区中确定目标区块,具体地,确定区块高度信息为目标区块高度信息的目标区块;根据目标交易哈希值从目标区块对应的目标交易列表中查找出待查询交易。其中,根据目标交易出块时间,定位目标存储磁盘分区;再根据目标区块高度信息定位目标区块,其中,该目标区块只有一个;再根据目标交易哈希值从目标区块中确定待查询交易。如此,直接根据目标交易出块时间和目标区块高度信息快速地从存储磁盘分区中定位目标区块,再根据目标交易哈希值快速确定待查询交易,极大地加快了查询速度,提高了查询效率。
图9是本申请实施例提供的查询待查询交易的示意图。该待查询交易的目标交易编号中包括目标交易出块时间信息Time、目标区块高度信息BlockNum和目标交易哈希值TxHash。首先解码目标交易编号,得到目标交易出块时间信息Time为2020年01月、目标区块高度信息199999和目标交易哈希值AAAAAAAABBBBBBBBBCCCCCCCCCC。其中,根据目标交易出块时间2020年01月,可知交易出块时间粒度信息为月。再根据目标交易出块时间信息2020年01月确定存储2020年01月份的区块数据所对应的目标存储磁盘分区;再根据目标区块高度信息199999从目标存储磁盘分区中确定区块高度信息为199999的目标区块。最后根据目标交易哈希值从目标区块199999的目标交易列表中,查找待查询交易。如此,可快速地查询出待查询交易,提高查询速度和效率。
下面介绍从区块链中查询待查询交易的具体实现方式,以目标交易数据为目标交易哈希值为例进行说明。
若交易编号是按照交易出块时间和交易哈希值拼接得到的,解码后的目标交易编号中包括目标交易出块时间和目标交易哈希值。根据解码后的目标交易编号查询待查询交易的步骤,包括:根据目标交易出块时间,从区块链中确定目标区块,其中,该目标区块可能会存在多个;从区块链中拉取目标区块,即拉取目标区块的区块数据;根据目标交易哈希值从目标区块中查找待查询交易。其中,从区块链的多个目标区块中查找待查询交易,比直接从整个区块链查找待查询交易,速度要更快,如此,提高了查询速度和效率。
若交易编号是按照交易出块时间、区块高度信息和交易哈希值拼接得到的,解码后的目标交易编号中包括目标交易出块时间、目标区块高度信息和目标交易哈希值。根据解码后的目标交易编号查询待查询交易的步骤,包括:根据目标交易出块时间和目标区块高度信息,从区块链中确定包括待查询交易目标区块,其中,该目标区块只有一个;从区块链中拉取目标区块,其中,拉取一个目标区块的时间要比拉取多个目标区块的时间要短;根据目标交易哈希值从目标区块对应的目标交易列表中查找出待查询交易。如此,直接根据目标交易出块时间和目标区块高度信息快速地从区块链中定位目标区块,再根据目标交易哈希值快速确定待查询交易,极大地加快了从区块链中查询待查询交易的速度,提高了查询效率。
图10是本申请实施例提供的交易编号处理方法的又一流程示意图。该交易编号处理方法应用于共识节点中,具体地,应用在共识节点生成区块的过程中。需要注意的是,在该实施例中,在共识节点生成区块的过程中不存在区块高度相同的情况。具体地,该交易编号处理方法包括如下步骤。
501,获取区块链网络共识节点中的待生成区块的区块高度信息。
502,获取待生成区块中各交易的交易数据。
其中,步骤501至步骤502请参看上文中相同步骤的描述,在此不再赘述。
503,根据区块高度信息和各交易的交易数据更改各交易的交易编号。
根据区块高度信息和各交易的交易数据(如交易哈希值)确定各交易的交易编号;再利用所确定的交易编号更改各交易原来的交易编号。其中,各交易原来的交易编号指的是交易哈希值,更改后的交易编号中包括区块高度信息和交易数据。其中,交易数据可以是交易信息和/或交易哈希值。
在一实施例中,所述根据区块高度信息和各交易的交易数据更改各交易的交易编号的步骤,包括:将区块高度信息进行编码,根据编码后的区块高度信息和各交易的交易数据更改各交易的交易编号。
将区块高度信息进行编码,包括:将区块高度信息进行hex(十六进制)编码,即将区块高度信息编码为十六进制格式的数据,再根据编码后的区块高度信息和各交易的交易数据更改各交易的交易编号。若交易数据为交易哈希值,根据编码后的区块高度信息和各交易的交易数据更改各交易的交易编号的步骤,包括:将编码后的区块高度信息和各交易的交易哈希值进行拼接,以得到各交易的交易编号。如此,每个交易的交易编号中包括了区块高度信息和该交易所对应的交易哈希值。
如图11所示,更改前的交易编号包括交易哈希值TxHash,该交易哈希值TxHash在交易发送时计算得到的。更改后的交易编号包括编码后的区块高度信息BlockNum和交易哈希值TxHash,其中,编码后的区块高度信息BlockNum是在待生成区块打包的过程中得到的。可为编码后的区块高度信息BlockNum设置第二预设字节数的存储空间,如第二预设字节数可以是8个字节。
在一实施例中,所述交易编号处理方法,还包括:根据区块高度信息和所更改的交易编号的各交易,生成待生成区块;当待生成区块完成共识时,获取存待生成区块的存储时间粒度信息;根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。需要注意的是,根据区块高度信息和所更改的交易编号的各交易,生成待生成区块的步骤,以及上文中的根据时间戳信息和所更改的交易编号的各交易,生成待生成区块等步骤,并不表示待生成区块中仅包括区块高度信息/时间戳信息和所更改的交易编号的各交易,应当理解,生成待生成区块与现有技术中生成待生成区块的方式一致,只是待生成区块中的各交易的交易编号发生了改变。
在一实施例中,所述交易编号处理方法,还包括:检测存储待生成区块的存储时间粒度信息是否发生更改;若是,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据;按照更改之后的新存储时间粒度信息,将第一交易数据保存在第二存储磁盘分区中。其中,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据的步骤请参看上文中的对应步骤的描述。
在一实施例中,所述交易编号处理方法,还包括:获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息;所述根据区块高度信息和各交易的交易数据更改各交易的交易编号的步骤,包括:根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号。具体请参看上文中对应步骤的描述。
在一实施例中,所述交易编号处理方法,还包括:根据时间戳信息、区块高度信息和所更改的交易编号的各交易,生成待生成区块;当待生成区块完成共识时,获取存待生成区块的存储时间粒度信息;根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。具体请参看上文中对应步骤的描述。
在一实施例中,所述交易编号处理方法,还包括:接收交易查询指令,所述交易查询指令中携带待查询交易的目标交易编号;解码目标交易编号;根据解码后的目标交易编号查询待查询交易。
其中,共识节点接收到目标交易编号后,对目标交易编号进行解码。下面以目标交易数据为目标交易哈希值为例进行说明。
若交易编号是按照区块高度信息和交易哈希值拼接得到的,那么对应地,解码目标交易编号的步骤,包括:提取目标交易编号中前第二预设字节数的字节内容,提取目标交易编号中的目标交易数据;将第二预设字节数的字节内容进行解码得到目标区块高度信息。其中,第二预设字节数与更改交易编号时对应的区块高度信息所占用的字节数一致,如8个字节。前第二预设字节可以理解为目标交易编号的交易哈希值对应的字节之前的第二预设字节。
对应地,根据解码后的目标交易编号查询待查询交易的步骤,包括:根据目标区块高度信息,从保存区块链的存储磁盘分区中确定目标区块,具体地,确定区块高度信息为目标区块高度信息的目标区块;根据目标交易哈希值从目标区块中查找待查询交易,具体地,从目标区块中查找交易哈希值为目标交易哈希值的交易,作为待查询交易。根据目标区块高度信息从存储磁盘分区中确定目标区块,再根据目标交易哈希值查找待查询交易,比直接从存储磁盘分区中查找待查询交易,速度要快。
或者,根据解码后的目标交易编号查询待查询交易的步骤,包括:根据目标区块高度信息,从区块链中确定目标区块;从区块链中拉取目标区块;根据目标交易哈希值从目标区块对应的目标交易列表中查找出待查询交易。如此,直接从区块链中定位目标区块,再根据目标交易哈希值快速确定待查询交易,极大地加快了从区块链中查询待查询交易的速度,提高了查询效率。
在一实施例中,若交易编号是按照交易出块时间、区块高度信息和交易哈希值依次拼接得到的,对应地,解码目标交易编号的步骤请参看上文中对应步骤的详细描述,对应地,根据解码后的目标交易编号查询待查询交易的步骤,也请参看上文中对应步骤的详细描述,在此不再赘述。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
为便于更好的实施本申请实施例的交易编号处理方法,本申请实施例还提供一种交易编号处理装置。请参阅图12,图12为本申请实施例提供的交易编号处理装置的结构示意图。该交易编号处理装置可以包括第一时间获取模块601、第一时间确定模块602、第一交易获取模块603以及第一处理模块604。
第一时间获取模块601,用于获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息。
其中,第一时间获取模块601,在执行获取区块链网络共识节点中的待生成区块的时间戳信息的步骤时,具体执行:获取区块链共识节点的操作系统时间、以及区块链中的上一区块对应的区块出块时间;当操作系统时间大于区块出块时间,根据操作系统时间生成待生成区块的时间戳信息;当操作系统时间不大于区块出块时间,获取区域链中区块的平均出块时间,并根据操作系统时间和平均出块时间生成待生成区块的时间戳信息。
其中,第一时间获取模块601,在执行获取预设的交易出块时间粒度信息的步骤时,具体执行:获取存储待生成区块的存储时间粒度信息;将存储时间粒度信息作为预设的交易出块时间粒度信息。
第一时间确定模块602,用于根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息。
具体地,第一时间确定模块602,具体用于从时间戳信息中提取出与交易出块时间粒度信息匹配的时间信息;将该时间信息作为待生成区块中各交易对应的交易出块时间信息。
第一交易获取模块603,用于获取各交易的交易数据。
第一处理模块604,用于根据交易出块时间信息和各交易的交易数据更改各交易的交易编号。
其中,第一处理模块604,具体用于将交易出块时间进行编码,根据编码后的交易出块时间和各交易的交易数据更改各交易的交易编号。其中,根据编码后的交易出块时间和各交易的交易数据更改各交易的交易编号的步骤,包括:将编码后的交易出块时间和各交易的交易哈希值进行拼接,以得到各交易的交易编号。
在一实施例中,如图12所示,交易编号处理装置还包括:第一生成模块605、第一存储获取模块606、第一保存模块607。其中,第一生成模块605,用于根据时间戳信息和所更改的交易编号的各交易,生成待生成区块。第一存储获取模块606,用于当待生成区块完成共识时,获取存储待生成区块的存储时间粒度信息。第一保存模块607,用于根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。
在一实施例中,如图12所示,交易编号处理装置还包括:第一检测模块608、第一导出模块609。其中,第一检测模块608,用于检测存储待生成区块的存储时间粒度信息是否发生更改。第一导出模块609,用于若是,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据。第一保存模块607,用于按照更改之后的新存储时间粒度信息,将第一交易数据保存在第二存储磁盘分区中。
在一实施例中,如图12所示,交易编号处理装置还包括:第一接收模块610、第一查询模块611。其中,第一接收模块610,用于接收交易查询指令,交易查询指令中携带待查询交易的目标交易编号。第一查询模块611,用于解码目标交易编号;根据解码后的目标交易编号查询待查询交易。
其中,第一查询模块611,在执行解析目标交易编号的步骤时,具体执行提取目标交易编号中前第一预设字节数的字节内容;将前第一预设字节数的字节内容进行解码,得到目标交易出块时间信息。第一查询模块611,在执行根据解码后的目标交易编号查询待查询交易的步骤时,具体执行:根据目标交易出块时间信息,从保存区块链的存储磁盘分区中确定包括待查询交易的目标存储磁盘分区,根据目标交易数据从目标存储磁盘分区中查找待查询交易;或者根据目标交易出块时间,从区块链中确定目标区块,其中,该目标区块可能会存在多个;从区块链中拉取目标区块,拉取目标区块的区块数据;根据目标交易数据从目标区块中查找待查询交易。
在一实施例中,如图12所示,交易编号处理装置还包括:第一高度获取模块612。其中,第一高度获取模块612,用于获取待生成区块的区块高度信息。第一处理模块604,还用于根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号。
其中,第一处理模块604,在执行根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号的步骤时,具体执行:将交易出块时间信息和区块高度信息进行编码;根据编码后的交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号。例如,将编码后的交易出块时间信息、区块高度信息和各交易的交易哈希值进行拼接,以更改各交易的交易编号。
对应地,第一生成模块605,还用于根据时间戳信息、区块高度信息和所更改的交易编号的各交易,生成待生成区块。
对应地,第一查询模块611,在执行解析目标交易编号的步骤时,具体执行提取目标交易编号中前第一预设字节数的字节内容、第一预设字节数之后的第二预设字节数的字节内容,提取目标交易编号中的目标交易数据;将前第一预设字节数的字节内容、第二预设字节数的字节内容进行解码分别进行解码,得到目标交易出块时间信息和区块高度信息。
对应地,第一查询模块611,在执行根据解码后的目标交易编号查询待查询交易的步骤时,具体执行:根据目标交易出块时间,从保存区块链的存储磁盘分区中确定包括待查询交易的目标存储磁盘分区;根据目标区块高度信息,从目标存储磁盘分区中确定目标区块;根据目标交易数据从目标区块对应的目标交易列表中查找出待查询交易;或者根据目标交易出块时间和目标区块高度信息,从区块链中确定包括待查询交易目标区块;从区块链中拉取目标区块;根据目标交易数据从目标区块对应的目标交易列表中查找出待查询交易。
请参阅13,图13为本申请实施例提供的交易编号处理装置的另一结构示意图。该交易编号处理装置可以包括第二高度获取模块701、第二交易获取模块702以及第二处理模块703。
第二高度获取模块701,用于获取区块链网络共识节点中的待生成区块的区块高度信息。
第二交易获取模块702,用于获取待生成区块中各交易的交易数据。
第二处理模块703,用于根据区块高度信息和各交易的交易数据更改各交易的交易编号。
其中,第二处理模块703,具体用于将区块高度信息进行编码,根据编码后的区块高度信息和各交易的交易数据更改各交易的交易编号。如将编码后的区块高度信息和各交易的交易哈希值进行拼接,以得到各交易的交易编号。
在一实施例中,如图13所示,交易编号处理装置还包括第二生成模块704、第二存储获取模块705和第二保存模块706。其中,第二生成模块704,用于根据区块高度信息和所更改的交易编号的各交易,生成待生成区块。第二存储获取模块705,用于当待生成区块完成共识时,获取存待生成区块的存储时间粒度信息。第二保存模块706,用于根据存储时间粒度信息,将待生成区块保存在对应的第一存储磁盘分区中。
在一实施例中,如图13所示,交易编号处理装置还包括第二检测模块707、第二导出模块708。其中,第二检测模块707,用于检测存储待生成区块的存储时间粒度信息是否发生更改。第二导出模块708,用于若发生更改,导出存储时间粒度信息发生更改之前的区块链中的第一交易数据。第二保存模块706,还用于按照更改之后的新存储时间粒度信息,将第一交易数据保存在第二存储磁盘分区中。
在一实施例中,如图13所示,交易编号处理装置还包括:第二接收模块709、第二查询模块710。其中,第二接收模块709,用于接收交易查询指令,交易查询指令中携带待查询交易的目标交易编号。第二查询模块710,用于解码目标交易编号;根据解码后的目标交易编号查询待查询交易。
其中,第二查询模块710,在执行解码目标交易编号的步骤时,具体执行:提取目标交易编号中前第二预设字节数的字节内容,提取目标交易编号中的目标交易数据;将第二预设字节数的字节内容进行解码得到目标区块高度信息。第二查询模块710在执行根据解码后的目标交易编号查询待查询交易的步骤时,具体执行:根据目标区块高度信息,从保存区块链的存储磁盘分区中确定目标区块;根据目标交易数据从目标区块中查找待查询交易;或者根据目标区块高度信息,从区块链中确定目标区块;从区块链中拉取目标区块;根据目标交易数据从目标区块对应的目标交易列表中查找出待查询交易。
在一实施例中,如图13所示,交易编号处理装置还包括第二时间获取模块711、第二时间确定模块712。其中,第二时间获取模块711,用于获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息。第二时间确定模块712,用于根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息。对应地,第二处理模块703,还用于根据交易出块时间信息、区块高度信息和各交易的交易数据更改各交易的交易编号。
对应地,第二生成模块704,还用于根据时间戳信息、区块高度信息和所更改的交易编号的各交易,生成待生成区块。
对应地,第二查询模块710,在执行解析目标交易编号的步骤时,具体执行提取目标交易编号中前第一预设字节数的字节内容、第一预设字节数之后的第二预设字节数的字节内容,提取目标交易编号中的目标交易数据;将前第一预设字节数的字节内容、第二预设字节数的字节内容进行解码分别进行解码,得到目标交易出块时间信息和区块高度信息。
对应地,第二查询模块710,在执行根据解码后的目标交易编号查询待查询交易的步骤时,具体执行:根据目标交易出块时间,从保存区块链的存储磁盘分区中确定包括待查询交易的目标存储磁盘分区;根据目标区块高度信息,从目标存储磁盘分区中确定目标区块;根据目标交易数据从目标区块对应的目标交易列表中查找出待查询交易;或者根据目标交易出块时间和目标区块高度信息,从区块链中确定包括待查询交易目标区块;从区块链中拉取目标区块;根据目标交易数据从目标区块对应的目标交易列表中查找出待查询交易。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。具体地,上述各个模块所实现的功能和达到的有益效果与上述方法实施例中的一一对应,具体请参看上述方法实施例中的对应内容,在此不再赘述。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该计算机设备为共识节点设备。如图14所示,图14为本申请实施例提供的计算机设备的结构示意图。该计算机设备800包括有一个或者一个以上处理核心的处理器801、有一个或一个以上计算机可读存储介质的存储器802及存储在存储器802上并可在处理器上运行的计算机程序。其中,处理器801与存储器802电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器801是计算机设备800的控制中心,利用各种接口和线路连接整个计算机设备800的各个部分,通过运行或加载存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行计算机设备800的各种功能和处理数据,从而对计算机设备800进行整体监控。
在本申请实施例中,计算机设备800中的处理器801会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现上述交易编号处理方法的任一实施例中的任一功能。
例如,获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息;获取各交易的交易数据;根据交易出块时间信息和各交易的交易数据更改各交易的交易编号。
例如,获取区块链网络共识节点中的待生成区块的区块高度信息;获取待生成区块中各交易的交易数据;根据区块高度信息和各交易的交易数据更改各交易的交易编号。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图14所示,计算机设备800还包括:触控显示屏803、射频电路804、音频电路805、输入单元806以及电源807。其中,处理器801分别与触控显示屏803、射频电路804、音频电路805、输入单元806以及电源807电性连接。
触控显示屏803可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏803可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器801,并能接收处理器801发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器801以确定触摸事件的类型,随后处理器801根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏803而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏803也可以作为输入单元806的一部分实现输入功能。
射频电路804可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路805可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路805可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路805接收后转换为音频数据,再将音频数据输出处理器801处理后,经射频电路804以发送给比如另一计算机设备,或者将音频数据输出至存储器802以便进一步处理。音频电路805还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元806可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源807用于给计算机设备800的各个部件供电。可选的,电源807可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源807还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图14中未示出,计算机设备800还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
其中,该计算机设备实现了上述交易编号处理方法任一实施例中的步骤,因此达到的有益效果也请参看上述交易编号处理方法实施例中的对应效果。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种交易编号处理方法中的步骤。
例如,该计算机程序可以执行如下步骤:
获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;根据时间戳信息和交易出块时间粒度信息确定待生成区块中各交易对应的交易出块时间信息;获取各交易的交易数据;根据交易出块时间信息和各交易的交易数据更改各交易的交易编号。
例如,该计算机程序可以执行如下步骤:
获取区块链网络共识节点中的待生成区块的区块高度信息;获取待生成区块中各交易的交易数据;根据区块高度信息和各交易的交易数据更改各交易的交易编号。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种交易编号处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种交易编号处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种交易编号处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (25)
1.一种交易编号处理方法,其特征在于,包括:
获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;
根据所述时间戳信息和所述交易出块时间粒度信息确定所述待生成区块中各交易对应的交易出块时间信息;
获取所述各交易的交易数据;
根据所述交易出块时间信息和所述各交易的交易数据更改所述各交易的交易编号。
2.根据权利要求1所述的交易编号处理方法,其特征在于,还包括:
获取所述待生成区块的区块高度信息;
所述根据所述交易出块时间信息和所述各交易的交易数据更改所述各交易的交易编号的步骤,包括:根据所述交易出块时间信息、所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
3.根据权利要求2所述的交易编号处理方法,其特征在于,所述根据所述交易出块时间信息、所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号的步骤,包括:
将所述交易出块时间信息和所述区块高度信息进行编码;
根据编码后的交易出块时间信息、区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
4.根据权利要求3所述的交易编号处理方法,其特征在于,所述交易数据包括交易哈希值,所述根据编码后的交易出块时间信息、区块高度信息和所述各交易的交易数据更改所述各交易的交易编号的步骤,包括:
将编码后的交易出块时间信息、区块高度信息和所述各交易的交易哈希值进行拼接,以更改所述各交易的交易编号。
5.根据权利要求1所述的交易编号处理方法,其特征在于,获取预设的交易出块时间粒度信息的步骤,包括:
获取存储所述待生成区块的存储时间粒度信息;
将所述存储时间粒度信息作为预设的交易出块时间粒度信息。
6.根据权利要求1所述的交易编号处理方法,其特征在于,所述根据所述时间戳信息和所述交易出块时间粒度信息确定所述待生成区块中各交易对应的交易出块时间信息的步骤,包括:
从所述时间戳信息中提取出与所述交易出块时间粒度信息匹配的时间信息;
将所述时间信息作为所述待生成区块中各交易对应的交易出块时间信息。
7.根据权利要求1所述的交易编号处理方法,其特征在于,所述获取区块链网络共识节点中的待生成区块的时间戳信息的步骤,包括:
获取区块链共识节点的操作系统时间、以及区块链中的上一区块对应的区块出块时间;
当所述操作系统时间大于所述区块出块时间,根据所述操作系统时间生成待生成区块的时间戳信息;
当所述操作系统时间不大于所述区块出块时间,获取区域链中区块的平均出块时间,并根据所述操作系统时间和所述平均出块时间生成待生成区块的时间戳信息。
8.根据权利要求1所述的交易编号处理方法,其特征在于,在更改所述各交易的交易编号的步骤之后,还包括:
根据所述时间戳信息和所更改的交易编号的所述各交易,生成待生成区块;
当所述待生成区块完成共识时,获取存储所述待生成区块的存储时间粒度信息;
根据所述存储时间粒度信息,将所述待生成区块保存在对应的第一存储磁盘分区中。
9.根据权利要求8所述的交易编号处理方法,其特征在于,还包括:
检测存储所述待生成区块的所述存储时间粒度信息是否发生更改;
若是,导出所述存储时间粒度信息发生更改之前的区块链中的第一交易数据;
按照更改之后的新存储时间粒度信息,将所述第一交易数据保存在第二存储磁盘分区中。
10.根据权利要求9所述的交易编号处理方法,其特征在于,所述导出所述存储时间粒度信息发生更改之前的区块链中的第一交易数据的步骤,包括:
从保存区块链中的第一交易数据对应的第一存储磁盘分区中导出所述存储时间粒度信息发生更改之前的所述第一交易数据;
所述在将所述第一交易数据保存在第二存储磁盘分区中的步骤之后,还包括:
删除所述第一存储磁盘分区中的所述第一交易数据。
11.根据权利要求9所述的交易编号处理方法,其特征在于,所述导出所述存储时间粒度信息发生更改之前的区块链中的第一交易数据的步骤,包括:
导出所述存储时间粒度信息发生更改之前的区块链;
解析所述区块链以得到所述区块链中的区块数据;
从所述区块数据中解析出多个交易,以得到第一交易数据。
12.根据权利要求1所述的交易编号处理方法,其特征在于,在更改所述各交易的交易编号的步骤之后,还包括:
接收交易查询指令,所述交易查询指令中携带待查询交易的目标交易编号;
解码所述目标交易编号;
根据解码后的目标交易编号查询所述待查询交易。
13.根据权利要求12所述的交易编号处理方法,其特征在于,所述解码所述目标交易编号的步骤,包括:
提取所述目标交易编号中前第一预设字节数的字节内容;
将所述前第一预设字节数的字节内容进行解码,得到目标交易出块时间信息。
14.根据权利要求13所述的交易编号处理方法,其特征在于,所述解码所述目标交易编号的步骤,还包括:
提取所述第一预设字节数之后的第二预设字节数的字节内容;
将所述第二预设字节数的字节内容进行解码,得到目标区块高度信息。
15.根据权利要求14所述的交易编号处理方法,其特征在于,还包括:
提取所述目标交易编号中的目标交易数据;
所述根据解码后的目标交易编号查询所述待查询交易的步骤,包括:
根据所述目标交易出块时间信息,从保存所述区块链的存储磁盘分区中确定包括所述待查询交易的目标存储磁盘分区;
根据所述目标区块高度信息从所述目标存储磁盘分区中确定目标区块;
根据所述目标交易数据从所述目标区块对应的目标交易列表中查找出所述待查询交易。
16.根据权利要求14所述的交易编号处理方法,其特征在于,还包括:
提取所述目标交易编号中的目标交易数据;
所述根据解码后的目标交易编号查询所述待查询交易的步骤,包括:
根据所述目标交易出块时间信息和所述目标区块高度信息,从区块链中确定目标区块;
从所述区块链中拉取所述目标区块;
根据所述目标交易数据从所述目标区块对应的目标交易列表中查找出所述待查询交易。
17.一种交易编号处理方法,其特征在于,包括:
获取区块链网络共识节点中的待生成区块的区块高度信息;
获取所述待生成区块中各交易的交易数据;
根据所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
18.根据权利要求17所述的交易编号处理方法,其特征在于,所述根据所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号的步骤,包括:
将所述区块高度信息进行编码;
根据编码后的区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
19.根据权利要求18所述的交易编号处理方法,其特征在于,所述交易数据为交易哈希值,所述根据编码后的区块高度信息和所述各交易的交易数据更改所述各交易的交易编号的步骤,包括:
将编码后的区块高度信息和所述各交易的交易数据进行拼接,以更改所述各交易的交易编号。
20.根据权利要求17所述的交易编号处理方法,其特征在于,还包括:
获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;
根据所述时间戳信息和所述交易出块时间粒度信息确定所述待生成区块中各交易对应的交易出块时间信息;
获取所述各交易的交易数据;
所述根据编码后的区块高度信息和所述各交易的交易数据更改所述各交易的交易编号的步骤,包括:根据所述交易出块时间信息、所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
21.根据权利要求17所述的交易编号处理方法,其特征在于,还包括:
根据所述区块高度信息和所更改的交易编号的所述各交易,生成待生成区块;
当所述待生成区块完成共识时,获取存储所述待生成区块的存储时间粒度信息;
根据所述存储时间粒度信息,将所述待生成区块保存在对应的第一存储磁盘分区中。
22.一种交易编号处理装置,其特征在于,包括:
第一时间获取模块,用于获取区块链网络共识节点中的待生成区块的时间戳信息、以及预设的交易出块时间粒度信息;
第一时间确定模块,用于从所述时间戳信息中提取出与所述交易出块时间粒度信息匹配的时间信息,作为所述待生成区块中各交易对应的交易出块时间信息;
第一交易获取模块,用于获取所述各交易的交易哈希值;
第一处理模块,用于根据所述交易出块时间信息和所述各交易的交易数据更改所述各交易的交易编号。
23.一种交易编号处理装置,其特征在于,包括:
第二高度获取模块,用于获取区块链网络共识节点中的待生成区块的区块高度信息;
第二交易获取模块,用于获取所述待生成区块中各交易的交易数据;
第二处理模块,用于根据所述区块高度信息和所述各交易的交易数据更改所述各交易的交易编号。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-16任一项所述的交易编号处理方法中的步骤或者执行如权利要求17-21任一项所述的交易编号处理方法中的步骤。
25.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1-16任一项所述的交易编号处理方法中的步骤或者执行如权利要求17-21任一项所述的交易编号处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110592617.7A CN113343292A (zh) | 2021-05-28 | 2021-05-28 | 交易编号处理方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110592617.7A CN113343292A (zh) | 2021-05-28 | 2021-05-28 | 交易编号处理方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113343292A true CN113343292A (zh) | 2021-09-03 |
Family
ID=77471993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110592617.7A Pending CN113343292A (zh) | 2021-05-28 | 2021-05-28 | 交易编号处理方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343292A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304475A (zh) * | 2017-12-28 | 2018-07-20 | 北京比特大陆科技有限公司 | 数据查询方法、装置及电子设备 |
CN109165221A (zh) * | 2018-08-16 | 2019-01-08 | 北京京东尚科信息技术有限公司 | 区块链的数据存储方法、装置、区块链节点及存储介质 |
CN110008233A (zh) * | 2019-03-31 | 2019-07-12 | 杭州复杂美科技有限公司 | 一种信息查询和共识方法、系统、设备及存储介质 |
CN110190949A (zh) * | 2019-05-31 | 2019-08-30 | 杭州复杂美科技有限公司 | 用于大数据量资源上链的方法和系统、设备及存储介质 |
CN111078657A (zh) * | 2019-12-26 | 2020-04-28 | 北京思特奇信息技术股份有限公司 | 一种分布式系统的业务日志查询方法、系统、介质及设备 |
CN111209591A (zh) * | 2019-12-31 | 2020-05-29 | 浙江工业大学 | 一种按时间排序的存储结构与快速查询的方法 |
CN111339086A (zh) * | 2020-02-18 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 区块处理方法、基于区块链的数据查询方法及装置 |
CN111343142A (zh) * | 2020-01-22 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法、装置及存储介质 |
CN111382458A (zh) * | 2018-12-28 | 2020-07-07 | 富泰华工业(深圳)有限公司 | 数据分批封存方法、装置及计算机存储介质 |
CN111708825A (zh) * | 2020-06-11 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111813788A (zh) * | 2020-05-20 | 2020-10-23 | 北京金山云网络技术有限公司 | 信息的查询方法和装置、信息的同步方法和装置 |
CN112182114A (zh) * | 2020-10-28 | 2021-01-05 | 网易(杭州)网络有限公司 | 基于区块链的数据处理方法、装置以及服务端设备 |
CN112328601A (zh) * | 2020-11-16 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置、设备和存储介质 |
CN112765271A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 区块链交易索引的存储方法、装置、计算机设备及介质 |
-
2021
- 2021-05-28 CN CN202110592617.7A patent/CN113343292A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304475A (zh) * | 2017-12-28 | 2018-07-20 | 北京比特大陆科技有限公司 | 数据查询方法、装置及电子设备 |
CN109165221A (zh) * | 2018-08-16 | 2019-01-08 | 北京京东尚科信息技术有限公司 | 区块链的数据存储方法、装置、区块链节点及存储介质 |
CN111382458A (zh) * | 2018-12-28 | 2020-07-07 | 富泰华工业(深圳)有限公司 | 数据分批封存方法、装置及计算机存储介质 |
CN110008233A (zh) * | 2019-03-31 | 2019-07-12 | 杭州复杂美科技有限公司 | 一种信息查询和共识方法、系统、设备及存储介质 |
CN110190949A (zh) * | 2019-05-31 | 2019-08-30 | 杭州复杂美科技有限公司 | 用于大数据量资源上链的方法和系统、设备及存储介质 |
CN111078657A (zh) * | 2019-12-26 | 2020-04-28 | 北京思特奇信息技术股份有限公司 | 一种分布式系统的业务日志查询方法、系统、介质及设备 |
CN111209591A (zh) * | 2019-12-31 | 2020-05-29 | 浙江工业大学 | 一种按时间排序的存储结构与快速查询的方法 |
CN111343142A (zh) * | 2020-01-22 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种基于区块链网络的数据处理方法、装置及存储介质 |
CN111339086A (zh) * | 2020-02-18 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 区块处理方法、基于区块链的数据查询方法及装置 |
CN111813788A (zh) * | 2020-05-20 | 2020-10-23 | 北京金山云网络技术有限公司 | 信息的查询方法和装置、信息的同步方法和装置 |
CN111708825A (zh) * | 2020-06-11 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN112182114A (zh) * | 2020-10-28 | 2021-01-05 | 网易(杭州)网络有限公司 | 基于区块链的数据处理方法、装置以及服务端设备 |
CN112328601A (zh) * | 2020-11-16 | 2021-02-05 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置、设备和存储介质 |
CN112765271A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 区块链交易索引的存储方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110365491B (zh) | 业务处理方法、装置、设备、存储介质以及数据共享系统 | |
JP6577680B2 (ja) | デジタル署名を用いた変形ブロックチェーンについての方法及びシステム | |
US20170279840A1 (en) | Automated event id field analysis on heterogeneous logs | |
WO2022143540A1 (zh) | 区块链索引的存储方法、装置、计算机设备及介质 | |
WO2019019361A1 (zh) | 数据库数据处理方法、装置、计算机设备和存储介质 | |
CN107341033A (zh) | 一种数据统计方法、装置、电子设备和存储介质 | |
CN113157810B (zh) | 一种区块同步方法、计算机设备和存储介质 | |
CN116976898B (zh) | 一种数据获取方法、数据可视化方法、装置及相关产品 | |
CN112434062A (zh) | 准实时数据处理方法、装置、服务器及存储介质 | |
US20230029788A1 (en) | Method of deploying certificate, electronic device, and storage medium | |
CN113343292A (zh) | 交易编号处理方法、装置、存储介质及计算机设备 | |
CN115633195A (zh) | 一种数据安全保护方法、装置、计算机设备及存储介质 | |
CN115423030A (zh) | 一种设备识别的方法和装置 | |
CN113890753A (zh) | 数字身份管理方法、装置、系统、计算机设备和存储介质 | |
CN114238335A (zh) | 一种埋点数据生成方法及其相关设备 | |
CN114329164A (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN113935069A (zh) | 一种基于区块链的数据验证方法、装置、设备及存储介质 | |
CN113760920A (zh) | 一种数据同步方法、装置、电子设备和存储介质 | |
CN112541645B (zh) | 伴随车辆产品项目开发的数据处理方法、系统及相关装置 | |
CN114362968B (zh) | 区块链获取随机数的方法、装置、设备和介质 | |
CN114650252B (zh) | 基于企业服务总线的路由方法、装置及计算机设备 | |
CN115907358B (zh) | 待办任务的处理方法、装置、系统及电子设备 | |
EP4191983A1 (en) | Driving data processing method, apparatus, device, automatic driving vehicle, medium and product | |
CN114968595A (zh) | Nft所有者信息的处理方法、装置、计算机设备及存储介质 | |
CN115408357A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210903 |