CN113608703A - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
CN113608703A
CN113608703A CN202110976768.2A CN202110976768A CN113608703A CN 113608703 A CN113608703 A CN 113608703A CN 202110976768 A CN202110976768 A CN 202110976768A CN 113608703 A CN113608703 A CN 113608703A
Authority
CN
China
Prior art keywords
identification information
node
storage node
key
data
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
Application number
CN202110976768.2A
Other languages
English (en)
Inventor
史锋锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Dianrong Information Technology Co ltd
Original Assignee
Shanghai Dianrong Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Dianrong Information Technology Co ltd filed Critical Shanghai Dianrong Information Technology Co ltd
Priority to CN202110976768.2A priority Critical patent/CN113608703A/zh
Publication of CN113608703A publication Critical patent/CN113608703A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本发明实施例公开了一种数据处理方法,该数据处理方法包括:在当前存储节点的磁盘中存储从区块链网络中的其他存储节点同步过来的当前区块,当前区块中按照键值key‑value对形式存储数据;从当前区块的各个key中获取节点标识信息;确定各个key中的节点标识信息与当前存储节点的标识信息是否匹配;在当前存储节点的内存中缓存节点标识信息与当前存储节点的标识信息匹配的key及对应的value数据,在当前存储节点的内存中不缓存节点标识信息与当前存储节点的标识信息不匹配的key及对应的value数据。本发明实施例能够减少各个存储节点缓存的数据的量,减少对各个存储节点的缓存资源的占用,提高各个存储节点的数据处理效率。

Description

数据处理方法及装置
技术领域
本发明涉及计算机技术,尤其涉及一种数据处理方法及装置。
背景技术
在区块链网络中,通常有多个存储节点,每个存储节点均可以用来存储数据,数据以区块的形式形成区块链存储在存储节点中,每个存储节点都存储有全量数据,全量数据通常存储在存储节点的磁盘中。
存储节点中的数据更新,一般不会删除原有的数据,而是以版本更新的形式存储在存储节点中,这就意味着存储节点中的数据会有多个版本,但通常只有最新版本的数据具有较大的使用价值。为了提升数据的访问效率,各存储节点会在内存中缓存最新版本的数据。随着存储数据量的增大,各存储节点需要缓存的数据的量将越来越大,极大地占用了各存储节点的缓存资源,降低了各存储节点的数据处理效率。
发明内容
本发明实施例提供一种数据处理方法及装置,减少了各个存储节点缓存的数据的量,减少了对各个存储节点的缓存资源的占用,提高了各个存储节点的数据处理效率。
第一方面,本发明实施例提供一种数据处理方法,应用于区块链网络,所述数据处理方法包括:
在当前存储节点的磁盘中存储从所述区块链网络中的其他存储节点同步过来的当前区块,所述当前区块中按照键值key-value对形式存储数据;
从所述当前区块的各个key中获取节点标识信息;
确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配;
在所述当前存储节点的内存中缓存节点标识信息与所述当前存储节点的标识信息匹配的key及对应的value数据,在所述当前存储节点的内存中不缓存节点标识信息与所述当前存储节点的标识信息不匹配的key及对应的value数据。
第二方面,本发明实施例提供另一种数据处理方法,应用于区块链网络,所述数据处理方法包括:
生成键值key-value对形式的原始数据;
在所述原始数据的key中添加节点标识信息,得到目标数据;
向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
第三方面,本发明实施例提供一种数据处理装置,应用于区块链网络,所述数据处理装置包括:
存储模块,用于在当前存储节点的磁盘中存储从所述区块链网络中的其他存储节点同步过来的当前区块,所述当前区块中按照键值key-value对形式存储数据;
获取模块,用于从所述当前区块的各个key中获取节点标识信息;
确定模块,用于确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配;
缓存模块,用于在所述当前存储节点的内存中缓存节点标识信息与所述当前存储节点的标识信息匹配的key及对应的value数据,在所述当前存储节点的内存中不缓存节点标识信息与所述当前存储节点的标识信息不匹配的key及对应的value数据。
第四方面,本发明实施例提供另一种数据处理装置,应用于区块链网络,所述数据处理装置包括:
生成模块,用于生成键值key-value对形式的原始数据;
添加模块,用于在所述原始数据的key中添加节点标识信息,得到目标数据;
发送模块,用于向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
第五方面,本发明实施例提供一种数据处理系统,包括用于执行本发明实施例任一所述数据处理方法的存储节点,以及用于执行如本发明实施例任一所述的数据处理方法的终端。
第六方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的数据处理方法。
第七方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据处理方法。
本发明实施例中,在当前存储节点的磁盘中存储从区块链网络中的其他存储节点同步过来的当前区块之后,可以从当前区块的各个key中获取节点标识信息;确定各个key中的节点标识信息与当前存储节点的标识信息是否匹配;在当前存储节点的内存中缓存节点标识信息与当前存储节点的标识信息匹配的key及对应的value数据,在当前存储节点的内存中不缓存节点标识信息与当前存储节点的标识信息不匹配的key及对应的value数据。即本发明实施例中,通过将当前区块的各个key中的节点标识信息与当前存储节点的标识信息进行匹配,从而确定在当前节点的内存中缓存的key及对应的value数据,而不是直接在当前节点的内存中缓存最新版数据中的所有key及对应的value数据,减少了各个存储节点缓存的数据的量,减少了对各个存储节点的缓存资源的占用,提高了各个存储节点的数据处理效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例提供的数据处理方法的一个流程示意图。
图2是本发明实施例提供的key中设置节点标识信息的一个方法示意图。
图3是本发明实施例提供的数据处理方法的另一流程示意图。
图4是本发明实施例提供的设置虚拟存储节点标识信息的一个方法示意图。
图5是本发明实施例提供的数据处理装置的一个结构示意图。
图6是本发明实施例提供的数据处理装置的另一个结构示意图。
图7是本发明实施例提供的电子设备的一个结构示意图。
图8是本发明实施例提供的数据处理系统的一个结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明实施例提供了一种数据处理方法,应用于区块链网络。下面介绍本发明实施例提供的存储节点侧的数据处理方法,图1为本发明实施例提供的数据处理方法的一个流程示意图,该方法可以由本发明实施例提供的数据处理装置来执行,该装置可采用软件和/或硬件的方式实现。在一个具体的实施例中,该装置可以集成在电子设备中,电子设备比如可以是服务器或者计算机。以下实施例将以该装置集成在电子设备中为例进行说明,参考图1,本实施例将从存储节点侧进行描述,该方法具体可以包括如下步骤:
步骤101、在当前存储节点的磁盘中存储从区块链网络中的其他存储节点同步过来的当前区块,当前区块中按照键值key-value对形式存储数据。
具体的,可以将区块以链的方式组合为区块链,区块链即为包含交易数据的区块从后向前有序链接起来的数据结构。一个完整的区块结构可以包括区块头和区块体,区块头可以包括父区块哈希值、版本,时间戳等,区块体可以包括所有交易数据、应用数据等。其中,父区块哈希值可以用于链接上一个区块,版本可以为区块中数据的版本,时间戳可以记录区块生成时间。磁盘可以为利用磁记录技术存储数据的存储器,是计算机的存储介质,具有永久存储作用;内存可以存放计算机的运行程序和处理的数据,缓存作为数据交换的缓冲区,运行速度快,可以提高数据访问效率;当前区块可以为最新版本的数据区块。
可选地,由于区块链网络中每个存储节点均可以存储全量数据,因此当存储数据更新时,可以在当前存储节点的磁盘中存储从区块链网络中的其他存储节点同步过来的当前区块。其中,当前区块中可以按照键值key-value对形式存储数据;key是关键字、value是值,一个关键字可以对应一个/或多个值。
示例地,数据可以为交易数据,也可以为应用数据。比如当前区块中按照键值key-value对形式存储应用数据时,key可以为身份证号码,value可以为该身份证号码对应人员的工作进度数据、业务处理状态数据等。
步骤102、从当前区块的各个key中获取节点标识信息。
具体的,节点标识信息可以包括物理存储节点标识信息或虚拟存储节点标识信息,物理存储节点可以为区块链网络中的实际存储节点,虚拟存储节点可以为区块链网络中虚拟的存储节点。由于各个物理存储节点的性能、数据存储、数据处理能力会不同,因此,可以根据各物理存储节点的实际情况,为一个物理存储节点设置一个或多个虚拟存储节点,通过物理存储节点与虚拟存储节点的映射关系,合理分配当前区块中的数据应缓存的物理存储节点,从而实现各物理存储节点无需缓存全量数据,节省计算资源,提升效率的目的。
可选地,节点标识信息可以为用于区分存储节点的编号,编号可以为字符和/或数字的组合。为了便于查询数据所存储的存储节点,当前区块中按照键值key-value对形式存储数据时,可以在key的字节码的指定位置存储该数据对应的物理存储节点或虚拟存储节点的标识信息。如图2所示,比如可以在key的最后一个字节处设置节点标识信息。
可选地,当前区块中可以存储多组key-value形式的数据,可以从当前区块的各个key中获取物理存储节点的节点标识信息,物理存储节点的标识信息可以为区块链网络中各存储节点的编号、代号、名称等。
在一个具体的实施例中,还可以从当前区块的各个key中获取虚拟存储节点的节点标识信息,并确定各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息。其中,节点映射表中可以包括各个虚拟存储节点的节点标识信息分别映射的物理存储节点的节点标识信息,即各个虚拟存储节点的节点标识信息与物理存储节点的节点标识信息的对应关系。
可选地,节点映射表中的一个或多个虚拟存储节点的节点标识信息可以映射一个物理存储节点的节点标识信息。即,物理存储节点的节点标识信息与虚拟存储节点的节点标识信息可以为一对多的关系,不同物理存储节点映射的虚拟存储节点的数量可以相同,也可以不同。比如,区块链网络中有两个物理存储节点,每个物理存储节点可以映射4个虚拟存储节点;又比如,区块链网络中有两个物理存储节点,一个物理存储节点可以映射2个虚拟存储节点,另一个物理存储节点可以映射4个虚拟存储节点。
在一个具体的实施例中,节点映射表可以配置在每个物理存储节点本地,则在从当前区块的各个key中获取虚拟存储节点的节点标识信息之后,可以查询当前存储节点中存储的节点映射表以确定各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息。
在另一个具体的实施例中,节点映射表可以配置在指定设备中,指定设备可以是计算机、服务器等,则在从当前区块的各个key中获取虚拟存储节点的节点标识信息之后,可以向指定设备发送节点查询请求,节点查询请求中包括各个key中的虚拟存储节点的节点标识信息,以使得指定设备查询指定设备中存储的节点映射表以确定各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息。当前存储节点可以接收指定设备反馈的各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息。
步骤103、确定各个key中的节点标识信息与当前存储节点的标识信息是否匹配。
可选地,当前存储节点的标识信息可以为存储节点的编号、代号、名称等。
具体地,当key中存在的是物理存储节点的节点标识信息时,可以确定各个key中的物理存储节点的节点标识信息与当前存储节点的标识信息是否相同;如果某个key中的物理存储节点的节点标识信息与当前存储节点的标识信息相同,则可以表示该key中的物理存储节点的节点标识信息与当前存储节点的标识信息匹配。比如,key中的节点标识信息为1,当前存储节点的标识信息也为1,则二者匹配。
具体地,当key中存在的是虚拟存储节点的节点标识信息时,可以根据节点映射表确定虚拟存储节点映射的物理存储节点,比较物理存储节点的节点标识信息与当前存储节点的标识信息是否相同,若相同则可以表示匹配。比如,某个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息为2,当前存储节点的标识信息也为2,则二者匹配。
步骤104、在当前存储节点的内存中缓存节点标识信息与当前存储节点的标识信息匹配的key及对应的value数据,在当前存储节点的内存中不缓存节点标识信息与当前存储节点的标识信息不匹配的key及对应的value数据。
示例地,若当前区块存储的数据包括key1-value1、key2-value2、key3-value3,key1中的节点标识信息为1,key2中的节点标识信息为2,key3中的节点标识信息为3,当前存储节点的标识信息为2。则可以当前存储节点的内存中缓存key2-value2,由于key1的节点标识信息1与key3的节点标识信息3均与当前存储节点的标识信息2不匹配,因此key2-value2、key3-value3不可以在当前存储节点的内存中缓存。
本发明实施例中,在当前存储节点的磁盘中存储从区块链网络中的其他存储节点同步过来的当前区块之后,可以从当前区块的各个key中获取节点标识信息;确定各个key中的节点标识信息与当前存储节点的标识信息是否匹配;在当前存储节点的内存中缓存节点标识信息与当前存储节点的标识信息匹配的key及对应的value数据,在当前存储节点的内存中不缓存节点标识信息与当前存储节点的标识信息不匹配的key及对应的value数据。即本发明实施例中,通过将当前区块的各个key中的节点标识信息与当前存储节点的标识信息进行匹配,从而确定在当前节点的内存中缓存的key及对应的value数据,而不是直接在当前节点的内存中缓存最新版数据中的所有key及对应的value数据,减少了各个存储节点缓存的数据的量,减少了对各个存储节点的缓存资源的占用,提高了各个存储节点的数据处理效率。
图3是本发明实施例提供的数据处理方法的另一流程示意图,应用于区块链网络,下面从终端侧具体描述数据处理方法。参考图3,本实施例的数据处理方法具体可以包括如下步骤:
步骤201、生成键值key-value对形式的原始数据。
可选地,可以将交易数据或应用数据生成键值key-value对形式的原始数据,原始数据比如,姓名-工作进度信息;又比如,手机号码-工作安排信息。
步骤202、在原始数据的key中添加节点标识信息,得到目标数据。
可选地,节点标识信息可以为数字或者符号的组合,用于区分各个存储节点。终端可以在原始数据的key中添加节点标识信息,得到目标数据。
可选地,某段时间内产生的目标数据可以形成一个区块,该区块可以由区块链网络中的任意一个存储节点创建并同步至其他存储节点,其他存储节点可以在磁盘存储该区块,但是否在自身内存中缓存该区块中的数据还需要确定区块中各个key中的节点标识信息与存储节点自身的标识信息是否匹配。
在一个具体的实施例中,终端可以根据数据平衡分布策略确定在内存中缓存目标数据的物理存储节点,并在原始数据的key中添加物理存储节点的节点标识信息,从而得到目标数据。虽然原始数据均以键值key-value对形式存储,key数据通常由应用程序生成,但是不同key对应的value数据的大小通常不同,为平衡区块链网络中各存储节点的缓存,确定缓存某个数据的物理存储节点时,可以考虑value数据的大小,可以自动按照value数据的大小将数据平衡分布在N个物理存储节点上,每个物理存储节点缓存的数据大小可以相同,同一个key对应的value数据可以分配至同一个物理存储节点上。其中,N可以为大于1的整数,数据大小可以通过字节表示。
在一个具体的实施例中,终端可以根据数据平衡分布策略确定在内存中缓存目标数据的虚拟存储节点,并在原始数据的key中添加虚拟存储节点的节点标识信息,从而得到目标数据。比如,如图4所示,可以构建虚拟存储节点环,终端可以按照虚拟存储节点环上的虚拟节点顺序确定key中需要添加的虚拟存储节点的节点标识信息,从而在对应的key中添加该虚拟存储节点的节点标识信息。
步骤203、向区块链网络中的各个存储节点发送目标数据,以使得各个存储节点根据节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存目标数据。
在一个具体的实施例中,当目标数据的key中包括物理存储节点的节点标识信息时,终端可以向区块链网络中的各个存储节点发送目标数据,以使得各个存储节点根据物理存储节点的节点标识信息及对应存储节点的标识信息确定是否在对应存储节点的内存中缓存目标数据。
示例地,目标数据的key中的物理存储节点的节点标识信息为1,区块链网络中包括3个物理存储节点,物理存储节点1的标识信息为1,物理存储节点2的标识信息为2,物理存储节点3的标识信息为3,则物理存储节点1根据目标节点的标识信息及自身标识信息可以确定在内存中缓存目标数据。
在一个具体的实施例中,当目标数据的key中包括虚拟存储节点的节点标识信息时,终端可以向区块链网络中的各个存储节点发送目标数据,以使得各个存储节点根据虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息及对应存储节点的标识信息确定是否在对应存储节点的内存中缓存目标数据。
示例地,目标数据的key中的虚拟存储节点的节点标识信息为1,该虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息为2,区块链网络中包括3个物理存储节点,物理存储节点1的标识信息为1,物理存储节点2的标识信息为2,物理存储节点3的标识信息为3,则物理存储节点2可以确定在内存中缓存目标数据。
进一步地,在需要进行数据查询时,终端还可以确定待查询数据的key中包括的节点标识信息;根据待查询数据的key中包括的节点标识信息确定在内存中缓存了待查询数据的目标存储节点;向目标存储节点发送待查询数据的数据查询请求。
本发明实施例中,可以生成键值key-value对形式的原始数据;在原始数据的key中添加节点标识信息,得到目标数据;向区块链网络中的各个存储节点发送目标数据,以使得各个存储节点根据节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存目标数据。即本发明实施例中,在键值key-value对形式的原始数据的key中添加节点信息生成目标数据,各个存储节点根据key中的节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存目标数据,而不是直接在当前存储节点的内存中缓存最新版数据中的所有key及对应的value数据,减少了各个存储节点缓存的数据的量,减少了对各个存储节点的缓存资源的占用,提高了各个存储节点的数据处理效率。
图5是本发明实施例提供的数据处理装置的一个结构图,该装置适用于执行本发明实施例提供的数据处理方法。如图5所示,该装置具体可以包括:
存储模块301,用于在当前存储节点的磁盘中存储从所述区块链网络中的其他存储节点同步过来的当前区块,所述当前区块中按照键值key-value对形式存储数据;
获取模块302,用于从所述当前区块的各个key中获取节点标识信息;
确定模块303,用于确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配;
缓存模块304,用于在所述当前存储节点的内存中缓存节点标识信息与所述当前存储节点的标识信息匹配的key及对应的value数据,在所述当前存储节点的内存中不缓存节点标识信息与所述当前存储节点的标识信息不匹配的key及对应的value数据。
可选地,所述获取模块302具体用于:
从所述当前区块的各个key中获取物理存储节点的节点标识信息;
所述确定模块303具体用于:
确定所述各个key中的物理存储节点的节点标识信息与所述当前存储节点的标识信息是否相同。
可选地,所述获取模块302具体用于:
从所述当前区块的各个key中获取虚拟存储节点的节点标识信息,并确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息;
所述确定模块303具体用于:
确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息与所述当前存储节点的标识信息是否相同。
可选地,所述获取模块302确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,包括:
查询所述当前存储节点中存储的节点映射表以确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,所述节点映射表中包括各个虚拟存储节点的节点标识信息分别映射的物理存储节点的节点标识信息。
可选地,所述获取模块302确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,包括:
向指定设备发送节点查询请求,所述节点查询请求中包括所述各个key中的虚拟存储节点的节点标识信息,以使得所述指定设备查询所述指定设备中存储的节点映射表以确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,所述节点映射表中包括各个虚拟存储节点的节点标识信息分别映射的物理存储节点的节点标识信息;
接收所述指定设备反馈的所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息。
可选地,所述节点映射表中的一个或多个虚拟存储节点的节点标识信息映射一个物理存储节点的节点标识信息。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供存储节点侧的数据处理方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本发明任意方法实施例中的描述。
图6是本发明实施例提供的数据处理装置的一个结构图,该装置适用于执行本发明实施例提供的终端侧的数据处理方法。如图6所示,该装置具体可以包括:
生成模块401,用于生成键值key-value对形式的原始数据;
添加模块402,用于在所述原始数据的key中添加节点标识信息,得到目标数据;
发送模块403,用于向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
可选地,所述添加模块402具体用于:
根据数据平衡分布策略确定在内存中缓存所述目标数据的物理存储节点,并在所述原始数据的key中添加所述物理存储节点的节点标识信息,得到所述目标数据;
所述发送模块403具体用于:
向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述物理存储节点的节点标识信息及对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
可选地,所述添加模块402具体用于:根据数据平衡分布策略确定在内存中缓存所述目标数据的虚拟存储节点,并在所述原始数据的key中添加所述虚拟存储节点的节点标识信息,得到所述目标数据;
所述发送模块403具体用于:
向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息及对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
可选地,所述装置还包括:
数据查询请求发送模块,用于确定待查询数据的key中包括的节点标识信息;根据所述待查询数据的key中包括的节点标识信息确定在内存中缓存了所述待查询数据的目标存储节点;向所述目标存储节点发送所述待查询数据的数据查询请求。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供存储节点侧的数据处理方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本发明任意方法实施例中的描述。
下面参考图7,其示出了适于用来实现本发明实施例的电子设备的计算机系统500的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括存储模块、获取模块、确定模块和缓存模块,或者可以描述为:生成模块、添加模块和发送模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
本发明实施例还提供了一种数据处理系统,应用于区块链网络,如图8所示,包括存储节点601和终端602,存储节点601可以有多个,区块链网络中的任意一个存储节点可以根据终端602产生的目标数据生成当前区块,其中:
存储节点601可以在磁盘中存储从区块链网络中的其他存储节点同步过来的当前区块,当前区块中按照键值key-value对形式;从当前区块的各个key中获取节点标识信息;确定各个key中的节点标识信息与存储节点601的标识信息是否匹配;在存储节点601的内存中缓存节点标识信息与当前存储节点的标识信息匹配的key及对应的value数据,在存储节点601的内存中不缓存节点标识信息与当前存储节点的标识信息不匹配的key及对应的value数据。
具体数据处理方法的其他实现细节可参阅前面实施例的描述,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的数据处理方法,所述数据处理方法,包括:
在当前存储节点的磁盘中存储从所述区块链网络中的其他存储节点同步过来的当前区块,所述当前区块中按照键值key-value对形式存储数据;
从所述当前区块的各个key中获取节点标识信息;
确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配;
在所述当前存储节点的内存中缓存节点标识信息与所述当前存储节点的标识信息匹配的key及对应的value数据,在所述当前存储节点的内存中不缓存节点标识信息与所述当前存储节点的标识信息不匹配的key及对应的value数据。
或者,所述数据处理方法包括:
生成键值key-value对形式的原始数据;
在所述原始数据的key中添加节点标识信息,得到目标数据;
向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的数据处理方法。
值得注意的是,上述数据处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据处理方法,应用于区块链网络,其特征在于,所述数据处理方法包括:
在当前存储节点的磁盘中存储从所述区块链网络中的其他存储节点同步过来的当前区块,所述当前区块中按照键值key-value对形式存储数据;
从所述当前区块的各个key中获取节点标识信息;
确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配;
在所述当前存储节点的内存中缓存节点标识信息与所述当前存储节点的标识信息匹配的key及对应的value数据,在所述当前存储节点的内存中不缓存节点标识信息与所述当前存储节点的标识信息不匹配的key及对应的value数据。
2.根据权利要求1所述的数据处理方法,其特征在于,
所述从所述当前区块的各个key中获取节点标识信息,包括:从所述当前区块的各个key中获取物理存储节点的节点标识信息;
所述确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配,包括:确定所述各个key中的物理存储节点的节点标识信息与所述当前存储节点的标识信息是否相同。
3.根据权利要求1所述的数据处理方法,其特征在于,
所述从所述当前区块的各个key中获取节点标识信息,包括:从所述当前区块的各个key中获取虚拟存储节点的节点标识信息,并确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息;
所述确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配,包括:确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息与所述当前存储节点的标识信息是否相同。
4.根据权利要求3所述的数据处理方法,其特征在于,所述确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,包括:
查询所述当前存储节点中存储的节点映射表以确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,所述节点映射表中包括各个虚拟存储节点的节点标识信息分别映射的物理存储节点的节点标识信息;或者
向指定设备发送节点查询请求,所述节点查询请求中包括所述各个key中的虚拟存储节点的节点标识信息,以使得所述指定设备查询所述指定设备中存储的节点映射表以确定所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息,所述节点映射表中包括各个虚拟存储节点的节点标识信息分别映射的物理存储节点的节点标识信息;接收所述指定设备反馈的所述各个key中的虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息。
5.一种数据处理方法,应用于区块链网络,其特征在于,所述数据处理方法包括:
生成键值key-value对形式的原始数据;
在所述原始数据的key中添加节点标识信息,得到目标数据;
向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
6.根据权利要求5所述的数据处理方法,其特征在于,
所述在原始数据的key中添加节点标识信息,得到目标数据,包括:根据数据平衡分布策略确定在内存中缓存所述目标数据的物理存储节点,并在所述原始数据的key中添加所述物理存储节点的节点标识信息,得到所述目标数据;
所述向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据,包括:向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述物理存储节点的节点标识信息及对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
7.根据权利要求5所述的数据处理方法,其特征在于,
所述在key中添加节点标识信息,得到所述目标数据,包括:根据数据平衡分布策略确定在内存中缓存所述目标数据的虚拟存储节点,并在所述原始数据的key中添加所述虚拟存储节点的节点标识信息,得到所述目标数据;
所述向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据,包括:向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述虚拟存储节点的节点标识信息映射的物理存储节点的节点标识信息及对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
8.根据权利要求5至7任一所述的数据处理方法,其特征在于,所述方法还包括:
确定待查询数据的key中包括的节点标识信息;
根据所述待查询数据的key中包括的节点标识信息确定在内存中缓存了所述待查询数据的目标存储节点;
向所述目标存储节点发送所述待查询数据的数据查询请求。
9.一种数据处理装置,应用于区块链网络,其特征在于,所述数据处理装置包括:
存储模块,用于在当前存储节点的磁盘中存储从所述区块链网络中的其他存储节点同步过来的当前区块,所述当前区块中按照键值key-value对形式存储数据;
获取模块,用于从所述当前区块的各个key中获取节点标识信息;
确定模块,用于确定所述各个key中的节点标识信息与所述当前存储节点的标识信息是否匹配;
缓存模块,用于在所述当前存储节点的内存中缓存节点标识信息与所述当前存储节点的标识信息匹配的key及对应的value数据,在所述当前存储节点的内存中不缓存节点标识信息与所述当前存储节点的标识信息不匹配的key及对应的value数据。
10.一种数据处理装置,应用于区块链网络,其特征在于,所述数据处理装置包括:
生成模块,用于生成键值key-value对形式的原始数据;
添加模块,用于在所述原始数据的key中添加节点标识信息,得到目标数据;
发送模块,用于向所述区块链网络中的各个存储节点发送所述目标数据,以使得所述各个存储节点根据所述节点标识信息和对应存储节点的标识信息确定是否在对应存储节点的内存中缓存所述目标数据。
CN202110976768.2A 2021-08-24 2021-08-24 数据处理方法及装置 Pending CN113608703A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110976768.2A CN113608703A (zh) 2021-08-24 2021-08-24 数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110976768.2A CN113608703A (zh) 2021-08-24 2021-08-24 数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN113608703A true CN113608703A (zh) 2021-11-05

Family

ID=78341853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110976768.2A Pending CN113608703A (zh) 2021-08-24 2021-08-24 数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN113608703A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324757A (zh) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 区块链数据缩容方法、装置及存储介质
CN109684307A (zh) * 2018-12-26 2019-04-26 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
CN110061838A (zh) * 2019-04-28 2019-07-26 广州大学 一种dns资源记录的去中心化存储系统及其实现、信息检索方法
CN111338571A (zh) * 2020-02-18 2020-06-26 腾讯科技(深圳)有限公司 任务处理方法、装置、设备及存储介质
WO2020212766A1 (en) * 2019-04-15 2020-10-22 nChain Holdings Limited Computer-implemented system and method for implementing alias-based addressing for a distributed ledger
WO2020259352A1 (zh) * 2019-06-26 2020-12-30 华为技术有限公司 一种数据处理方法、节点及区块链系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324757A (zh) * 2018-08-22 2019-02-12 深圳前海微众银行股份有限公司 区块链数据缩容方法、装置及存储介质
CN109684307A (zh) * 2018-12-26 2019-04-26 百度在线网络技术(北京)有限公司 一种数据存储方法、装置、设备及存储介质
WO2020212766A1 (en) * 2019-04-15 2020-10-22 nChain Holdings Limited Computer-implemented system and method for implementing alias-based addressing for a distributed ledger
CN110061838A (zh) * 2019-04-28 2019-07-26 广州大学 一种dns资源记录的去中心化存储系统及其实现、信息检索方法
WO2020259352A1 (zh) * 2019-06-26 2020-12-30 华为技术有限公司 一种数据处理方法、节点及区块链系统
CN111338571A (zh) * 2020-02-18 2020-06-26 腾讯科技(深圳)有限公司 任务处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109447641B (zh) 向区块链浏览器传输区块链数据的方法和设备
CN110019080B (zh) 数据访问方法和装置
CN111274268A (zh) 物联网数据传输方法、装置、介质及电子设备
CN110909022A (zh) 一种数据查询方法和装置
CN111651424B (zh) 一种数据处理方法、装置、数据节点及存储介质
CN115858488A (zh) 基于数据治理的平行迁移方法、装置及可读介质
CN111046106A (zh) 缓存数据同步方法、装置、设备及介质
CN113821521A (zh) 分布式标识生成方法、装置、电子设备及存储介质
CN116775712A (zh) 联表查询方法、装置、电子设备、分布式系统和存储介质
CN107544916B (zh) 一种缓存方法及存储设备
CN111241137A (zh) 数据处理方法、装置、电子设备及存储介质
CN113608703A (zh) 数据处理方法及装置
CN110705935B (zh) 一种物流单据的处理方法和装置
CN111950031A (zh) 基于区块链的分布式数据管理方法、终端设备和存储介质
CN116542668A (zh) 一种基于区块链的数据处理方法、设备及可读存储介质
CN114063931A (zh) 一种基于大数据的数据存储方法
CN113553206A (zh) 数据事件执行方法、装置、电子设备和计算机可读介质
CN113760929A (zh) 数据同步方法、装置、电子设备和计算机可读介质
CN110019671B (zh) 一种处理实时消息的方法和系统
CN110889040B (zh) 用于推送信息的方法和装置
US20240106889A1 (en) Data resource storage method and apparatus, data resource query method and apparatus, and electronic device
WO2023143061A1 (zh) 一种数据访问方法及其数据访问系统
CN110716885B (zh) 数据管理方法、装置、电子设备和存储介质
CN113609130B (zh) 获取网关接入数据的方法、装置、电子设备及存储介质
CN115993942B (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