CN115994386A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115994386A CN115994386A CN202310118800.2A CN202310118800A CN115994386A CN 115994386 A CN115994386 A CN 115994386A CN 202310118800 A CN202310118800 A CN 202310118800A CN 115994386 A CN115994386 A CN 115994386A
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- change record
- target
- data change
- 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
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及区块链技术领域,特别涉及数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取账户当前数据变更记录对应的哈希值;获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据;获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据;将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。本公开实施例可以大大减少存储资源,提高数据查询和共享效率。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
目前,越来越多的信息共享场景利用区块链技术的去中心化不可篡改的特性进行数据溯源,以监测数据修改变更记录的真实性和有效性。相关技术中,参考图1所示,先将某条数据分配一个唯一编号,然后将将明文内容加密成密文,最后将上述唯一编号和密文共享至区块链上。后续对该条数据的维护变更操作都将唯一编号及变更后的密文共享至链上。在查询时,将唯一编号作为索引,把该条数据所有的历史变更记录查询出来,并对密文解密以此来溯源。因为采用了区块链技术,因此能起到防篡改的作用。
相关技术将数据从创建到每次变更的记录都在区块链上进行存证。随着业务的发展,这种方式产生的数据量将会极其庞大。以机构A的授信数据为例,用户一生会在多家机构申请办理资源交互业务,同一交互业务的交互数据会调整多次。如果对该用户的授信数据进行共享,需要存证的数据量可达数十亿甚至上百亿,这样的数据量将会明显影响区块链的数据上传和查询性能。
发明内容
基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种数据处理方法,应用于第一本地服务器,包括:
获取账户当前数据变更记录对应的哈希值;
获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据;
获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据,得到第二合并数据;
将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。
在一种可能的实现方式中,所述将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据,包括:
在多个第一分组中每个所述第一分组的历史数据变更记录的个数均大于或等于所述第一阈值的情况下,创建新的第一分组;
将所述当前数据变更记录加入到所述新的第一分组,确定所述第一合并数据为所述当前数据变更记录对应的哈希值。
在一种可能的实现方式中,所述获取历史第一合并数据的个数小于第二阈值的第二分组,将得到的所述第一合并数据加入所述第二分组,得到更新后的第二分组,包括:
在多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值的情况下,创建新的第二分组;
将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。
在一种可能的实现方式中,在所述存储所述当前数据变更记录之后还包括:
响应于第二本地服务器对目标数据变更记录的查询请求,根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组;
计算所述目标第一分组对应的目标第一合并数据;
根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组;
确定所述目标第二分组对应的目标第二合并数据;
对所述目标第二合并数据与上传到所述区块链服务器中的第二合并数据进行校验,若校验通过,则所述目标数据变更记录无篡改。
在一种可能的实现方式中,所述将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录,包括:
将所述第二合并数据存储至区块链服务器以及将上链时间分别存储至区块链服务器以及所述第一本地服务器,存储所述当前数据变更记录;
在所述存储所述当前数据变更记录之后还包括:
响应于第二本地服务器对目标数据变更记录的查询请求,从所述区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间;
从所述第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间;
对所述第一上链时间和所述第二上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改。
第二方面,本申请还提供了一种数据处理装置,所述装置应用于第一本地服务器,包括:
第一获取模块,用于获取账户当前数据变更记录对应的哈希值;
第一处理模块,用于获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据;
第二处理模块,用于获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据,得到第二合并数据;
存储模块,用于将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。
在一种可能的实现方式中,所述第一处理模块包括:
第一创建子模块,用于在多个第一分组中每个所述第一分组的历史数据变更记录的个数均大于或等于所述第一阈值的情况下,创建新的第一分组;
第一处理子模块,用于将所述当前数据变更记录加入到所述新的第一分组,确定所述第一合并数据为所述当前数据变更记录对应的哈希值。
在一种可能的实现方式中,所述第二处理模块包括;
第二创建子模块,用于在多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值的情况下,创建新的第二分组;
第二处理子模块,用于将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。
在一种可能的实现方式中,还包括:
第一确定模块,用于响应于第二本地服务器对目标数据变更记录的查询请求,根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组;
计算模块,用于计算所述目标第一分组对应的目标第一合并数据;
第二确定模块,用于根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组;
第三确定模块,用于确定所述目标第二分组对应的目标第二合并数据;
第一校验模块,用于对所述目标第二合并数据与上传到所述区块链服务器中的第二合并数据进行校验,若校验通过,则所述目标数据变更记录无篡改。
在一种可能的实现方式中,所述存储模块包括:
存储子模块,用于将所述第二合并数据存储至区块链服务器以及将上链时间分别存储至区块链服务器以及所述第一本地服务器,存储所述当前数据变更记录;
所述装置还包括:
查询模块,用于响应于第二本地服务器对目标数据变更记录的查询请求,从所述区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间;
第二获取模块,用于从所述第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间;
第二校验模块,用于对所述第一上链时间和所述第二上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开实施例任一项所述的数据处理方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例任一项所述的数据处理方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开实施例任一项所述的数据处理方法。
上述实施例,将第二合并数据存储至区块链服务器,由于第二合并数据是对原始的数据变更记录的压缩加密后的数据,因此,存储第二合并数据相较于存储原始的数据变更记录可以大大减少存储资源,提高数据查询和共享效率。进一步的,本公开实施例将数据变更记录进行分组合并,并对分组合并后的第一合并数据再次进行分组合并,可以进一步有效的减少存储资源,并且,通过具体的分组,可以根据数据所在第一分组、第二分组,快速的查询到具体的合并数据,无需对所有的加密数据进行查询,进一步提高了查询效率。
附图说明
图1为现有技术中数据处理方法的示意图;
图2为一个实施例中数据处理方法的应用环境图;
图3为一个实施例中数据处理方法的第一流程示意图;
图4为另一个实施例中数据处理方法的第二流程示意图;
图5为另一个实施例中数据处理方法的第三流程示意图;
图6为另一个实施例中数据处理方法的第四流程示意图;
图7为另一个实施例中数据处理方法的第四流程示意图;
图8为另一个实施例中数据处理方法的第四流程示意图;
图9为一个实施例中数据处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。本申请技术方案中对数据的获取、存储、使用、处理均符合国家法律法规的相关规定。
本申请实施例提供的数据处理方法,可以应用于如图2所示的应用环境中。其中,第一本地服务器201通过网络与区块链进行通信,第二本地服务器203通过网络与区块链进行通信,第一本地服务器201与第二本地服务器203通过网络进行通信。第一本地服务器201可以包括数据存储系统,数据存储系统可以存储第一本地服务器201需要处理的数据。第一本地服务器201、第二本地服务器203可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图3所示,提供了一种数据处理方法,以该方法应用于图1中的第一本地服务器201为例进行说明,包括以下步骤:
步骤S301,获取账户当前数据变更记录对应的哈希值。
具体的,数据变更记录的内容可以根据具体应用场景设置,例如可以包括账户标识、时间、业务内容、数据量、是否符合预设条件等。数据变更记录有次数之分,可以按照时间的先后顺序划分不同的数据变更记录,其中,当前数据变更记录可以包括当前时间正在处理的数据变更记录。在一示例性实施例中,当数据变更记录为首次记录时,当前数据变更记录也可以包括数据创建记录。在一示例性实施例中,使用哈希算法对当前数据变更记录进行处理,得到当前数据变更记录对应的哈希值。其中,哈希算法的种类可以包括多种,例如SHA256算法,本公开对此不做限制。使用哈希算法对数据变更记录进行处理,可以压缩数据变更记录的数据量以及起到加密作用。
步骤S303,获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据。
具体的,所述历史数据变更记录包括发生在当前数据变更记录之前的数据变更记录。在一示例性实施例中,可以对历史数据变更记录进行分组,例如50条划分为一个第一分组。本公开实施例中,第一阈值的设置值可以根据具体的应用场景确定,例如20、50、300等。所述历史数据变更记录的个数小于第一阈值的第一分组,即第一分组中历史数据变更记录的个数不足第一阈值,则将当前数据变更记录加入到所述第一分组。本公开实施例中,每一条所述历史变更记录均对应哈希值,将当前变更记录对应的哈希值与历史变更记录对应的哈希值进行合并,可以包括将多个哈希值进行拼接或加权拼接等处理,得到第一合并数据。例如,当前变更记录对应哈希值包括:xdg,历史变更记录对应哈希值包括:SFu,Fe8#,F!g,…,则合并后的第一合并数据可以包括:xdg SFu Fe8#F!g。
步骤S305,获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据,得到第二合并数据。
具体的,可以对历史第一合并数据进行分组,例如30条第一合并数据划分为一个第二分组。本公开实施例中,第二阈值的设置值可以根据具体应用场景确定,例如30、50、80等。所述历史第一合并数据的个数小于第二阈值的第二分组,即第二分组中第一合并数据的个数不足第二阈值。则可以将上述第一合并数据与该第二分组中的历史第一合并数据进行合并,得到第二合并数据。本公开实施例中,合并的具体含义与步骤S303中的合并的含义相同,在此不再进行赘述。
步骤S307,将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。
具体的,所述区块链可以包括按照时间顺序,将数据区块以顺序相连的方式组合成的链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。所述区块链服务器可以包括区块链中的服务器。在一示例性实施例中将所述第二合并数据存储至区块链服务器,将当前数据变更记录存储至第一本地服务器。
上述实施例,将第二合并数据存储至区块链服务器,由于第二合并数据是对原始的数据变更记录的压缩加密后的数据,因此,存储第二合并数据相较于存储原始的数据变更记录可以大大减少存储资源,提高数据查询和共享效率。进一步的,本公开实施例将数据变更记录进行分组合并,并对分组合并后的第一合并数据再次进行分组合并,可以进一步有效的减少存储资源,并且,通过具体的分组,可以根据数据所在第一分组、第二分组,快速的查询到具体的合并数据,无需对所有的加密数据进行查询,进一步提高了查询效率。
图4为另一个实施例中数据处理方法的第二流程示意图,参考图4所示,步骤S303包括:
步骤S401,在多个第一分组中每个所述第一分组的历史数据变更记录的个数均大于或等于所述第一阈值的情况下,创建新的第一分组。
具体的,多个第一分组中每个第一分组的历史数据变更记录的个数均大于或等于所述第一阈值,例如第一分组A、B、C,第一阈值设置为50,且第一分组A中有50个历史数据变更记录;第一分组B中有50个历史数据变更记录;第一分组C中有50个历史数据变更记录。则可以创建新的第一分组,例如第一分组D。在另一示例性实施例中,若不存在历史数据变更记录,也可以创建新的第一分组。
步骤S403,将所述当前数据变更记录加入到所述新的第一分组,确定所述第一合并数据为所述当前数据变更记录对应的哈希值。
具体的,将所述当前数据变更记录加入到所述新的第一分组,由于此时,第一分组中仅包含所述当前数据变更记录,则第一分组对应的第一合并数据为所述当前数据变更记录对应的哈希值。在一示例性实施例中,新的第一分组中包含了所述当前数据变更记录,其含有数据变更记录的个数若没有达到第一阈值,则下一次数据变更记录产生时,则可以将该数据变更记录加入到该新的第一分组。
本公开实施例,当多个第一分组中每个第一分组的历史数据变更记录的个数均大于或等于第一阈值的情况下,可以创建新的第一分组,为后续数据查询或溯源提供数据支撑。
图5为另一个实施例中数据处理方法的第三流程示意图,参考图5所示,步骤S305包括:
步骤S501,在多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值的情况下,创建新的第二分组。
具体的,多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值,例如,第二分组A的第一合并数据包括20条:abc,dfg,chs,…;第二分组B的第一合并数据包括20条:ghj,ksh,heb,…;第二分组C的第一合并数据包括20条:hie,jke,iwk,…;若第二阈值为20,则可以创建新的第二分组。在另一示例性实施例中,由于第一合并数据与第一分组可以是一一对应的关系,因此,上述条件也可以表示成在多个第二分组中每个所述第二分组中第一分组的个数均大于或等于所述第二阈值。其具体实施与本实施例相似,在此不再赘述。
步骤S503,将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。
具体的,将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。例如,原有的第二分组包括第二分组A、B、C,新的第二分组表示为D,则更新后的第二分组包括第二分组A、B、C,D,其中第二分组D中仅包括一个所述第一合并数据。在一示例性实施例中,当下一次第一合并数据产生时,可以将该第一合并数据加入第二分组D。
本公开实施例,当多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于第二阈值的情况下,可以创建新的第二分组,为后续数据查询或溯源提供数据支撑。
图6为另一个实施例中数据处理方法的第四流程示意图,参考图6所示,步骤S307之后还包括:
步骤S601,响应于第二本地服务器对目标数据变更记录的查询请求,根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组。
具体的,所述第二本地服务器可以包括与第一本地服务器对应不同机构的本地服务器。在数据共享应用场景中,各个机构将自身业务积累的数据共享出来,供其他机构查询使用。又或者在数据溯源场景中,机构A已经从机构B查询到某一条数据,想了解该条数据的数据变更情况,可以从机构B处进行数据溯源查询。本公开实施例中,所述目标数据变更记录可以包括待查询的数据变更记录。
在一示例性实施例中,可以建立数据变更记录与第一分组的预设关联关系,例如数据变更记录的标识信息与第一分组的标识信息的预设关联关系,其中,数据变更记录的标识信息用于唯一识别对应的数据变更记录,第一分组的标识信息用于唯一识别对应的第一分组。根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组。
步骤S603,计算所述目标第一分组对应的目标第一合并数据。
具体的,可以根据数据变更记录与第一分组的预设关联关系,确定第一分组中除所述目标数据变更记录以外的其他数据变更记录。在一示例性实施例中,可以从第一本地服务器获取所述其他数据变更记录以及所述目标数据变更记录,利用哈希算法计算所述其他数据变更记录对应的哈希值,以及所述目标变更记录对应的哈希值,合并所述其他数据变更记录对应的哈希值以及所述目标数据变更记录对应的哈希值,得到计算后的目标第一合并数据。
步骤S605,根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组。
步骤S607,确定所述目标第二分组对应的目标第二合并数据。
具体的,可以根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组。在一示例性实施例中,可以从第一本地服务器获取所述目标第二分组中除所述目标第一合并数据以外的其他第一合并数据。在另一示例性实施例中,也可以从所述目标第二分组中获取除所述目标第一合并数据以外的其他第一合并数据对应的数据变更记录,利用数据变更记录重新进行哈希算法计算后得到目标第二合并数据。
步骤S609,对所述目标第二合并数据与上传到所述区块链服务器中的第二合并数据进行校验,若校验通过,则所述目标数据变更记录无篡改。
具体的,可以将上述目标第二合并数据与上传到区块链服务器中的第二合并数据进行校验,如果两第二合并数据校验一致,则校验通过,说明所述目标数据变更记录无篡改;如果两第二合并数据校验不一致,则校验不通过,说明所述目标数据变更记录有篡改。
上述实施例,将原始的数据变更记录存储在第一本地服务器,将数据变更记录对应的第二合并数据存储在区块链服务器,由于区块链服务器仅存储了加密后的第二合并数据,因此,可以显著提高数据存储及查询效率。在进行目标变更记录溯源时,可以从第一本地服务器获取原始的数据变更记录,根据数据变更记录与第一分组的预设关联关系,以及第一合并数据与第二分组的预设关联关系,从第一本地服务器确定第二合并数据,将该第二合并数据与区块链上的第二合并数据进行数据校验,实现区块链服务器不存储原始数据变更记录的情况下的数据溯源,并且仅对第二分组中的第二合并数据进行校验,而没有对所有的第二合并数据进行校验,可以保证准确度的情况下显著提高校验效率。
图7为另一个实施例中数据处理方法的第四流程示意图,参考图7所示,其中步骤S307包括:
步骤S701,将所述第二合并数据存储至区块链服务器以及将上链时间分别存储至区块链服务器以及所述第一本地服务器,存储所述当前数据变更记录。
在步骤S701之后还包括:
步骤S703,响应于第二本地服务器对目标数据变更记录的查询请求,从所述区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间;
步骤S705,从所述第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间;
步骤S707,对所述第一上链时间和所述第二上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改。
具体的,本公开实施例在区块链服务器上存储第二合并数据的上链时间,并在第一本地服务器上也存储上述上链时间。后续,在进行数据查询时,分别从第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间,以及从区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间,对两上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改;若校验不通过,则所述目标数据变更记录被篡改。
本公开实施例可以进一步加强数据校验的准确度。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
图8为另一个实施例中数据处理方法的第四流程示意图,参考图8所示,将每条数据变更记录对应的哈希值进行合并,得到第一合并数据,归入第一分组。其中,第一分组中数据变更记录的个数小于或等于第一阈值。将多个第一合并数据进行合并得到第二合并数据,归入第二分组。其中,第二分组中第一合并数据的个数小于或等于第二阈值。将第二合并数据存储至区块链服务器,并在区块链服务器中存储第一上链时间,以及在第一本地服务器中存储第二上链时间。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据处理装置900,包括:
所述装置应用于第一本地服务器,包括:
第一获取模块901,用于获取账户当前数据变更记录对应的哈希值;
第一处理模块903,用于获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据;
第二处理模块905,用于获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据,得到第二合并数据;
存储模块907,用于将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。
在一种可能的实现方式中,所述第一处理模块包括:
第一创建子模块,用于在多个第一分组中每个所述第一分组的历史数据变更记录的个数均大于或等于所述第一阈值的情况下,创建新的第一分组;
第一处理子模块,用于将所述当前数据变更记录加入到所述新的第一分组,确定所述第一合并数据为所述当前数据变更记录对应的哈希值。
在一种可能的实现方式中,所述第二处理模块包括;
第二创建子模块,用于在多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值的情况下,创建新的第二分组;
第二处理子模块,用于将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。
在一种可能的实现方式中,还包括:
第一确定模块,用于响应于第二本地服务器对目标数据变更记录的查询请求,根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组;
计算模块,用于计算所述目标第一分组对应的目标第一合并数据;
第二确定模块,用于根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组;
第三确定模块,用于确定所述目标第二分组对应的目标第二合并数据;
第一校验模块,用于对所述目标第二合并数据与上传到所述区块链服务器中的第二合并数据进行校验,若校验通过,则所述目标数据变更记录无篡改。
在一种可能的实现方式中,所述存储模块包括:
存储子模块,用于将所述第二合并数据存储至区块链服务器以及将上链时间分别存储至区块链服务器以及所述第一本地服务器,存储所述当前数据变更记录;
所述装置还包括:
查询模块,用于响应于第二本地服务器对目标数据变更记录的查询请求,从所述区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间;
第二获取模块,用于从所述第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间;
第二校验模块,用于对所述第一上链时间和所述第二上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于数据处理方法。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种数据处理方法,其特征在于,应用于第一本地服务器,包括:
获取账户当前数据变更记录对应的哈希值;
获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据;
获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据,得到第二合并数据;
将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据,包括:
在多个第一分组中每个所述第一分组的历史数据变更记录的个数均大于或等于所述第一阈值的情况下,创建新的第一分组;
将所述当前数据变更记录加入到所述新的第一分组,确定所述第一合并数据为所述当前数据变更记录对应的哈希值。
3.根据权利要求1所述的方法,其特征在于,所述获取历史第一合并数据的个数小于第二阈值的第二分组,将得到的所述第一合并数据加入所述第二分组,得到更新后的第二分组,包括:
在多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值的情况下,创建新的第二分组;
将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。
4.根据权利要求1所述的方法,其特征在于,在所述存储所述当前数据变更记录之后还包括:
响应于第二本地服务器对目标数据变更记录的查询请求,根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组;
计算所述目标第一分组对应的目标第一合并数据;
根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组;
确定所述目标第二分组对应的目标第二合并数据;
对所述目标第二合并数据与上传到所述区块链服务器中的第二合并数据进行校验,若校验通过,则所述目标数据变更记录无篡改。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录,包括:
将所述第二合并数据存储至区块链服务器以及将上链时间分别存储至区块链服务器以及所述第一本地服务器,存储所述当前数据变更记录;
在所述存储所述当前数据变更记录之后还包括:
响应于第二本地服务器对目标数据变更记录的查询请求,从所述区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间;
从所述第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间;
对所述第一上链时间和所述第二上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改。
6.一种数据处理装置,其特征在于,所述装置应用于第一本地服务器,包括:
第一获取模块,用于获取账户当前数据变更记录对应的哈希值;
第一处理模块,用于获取历史数据变更记录的个数小于第一阈值的第一分组,将所述当前数据变更记录加入到所述第一分组,并合并所述哈希值和所述历史变更记录对应的哈希值,得到第一合并数据;
第二处理模块,用于获取历史第一合并数据的个数小于第二阈值的第二分组,合并得到的所述第一合并数据与所述第二分组中历史第一合并数据,得到第二合并数据;
存储模块,用于将所述第二合并数据存储至区块链服务器,存储所述当前数据变更记录。
7.根据权利要求6所述的装置,其特征在于,所述第一处理模块包括:
第一创建子模块,用于在多个第一分组中每个所述第一分组的历史数据变更记录的个数均大于或等于所述第一阈值的情况下,创建新的第一分组;
第一处理子模块,用于将所述当前数据变更记录加入到所述新的第一分组,确定所述第一合并数据为所述当前数据变更记录对应的哈希值。
8.根据权利要求6所述的装置,其特征在于,所述第二处理模块包括;
第二创建子模块,用于在多个第二分组中每个所述第二分组的第一合并数据的个数均大于或等于所述第二阈值的情况下,创建新的第二分组;
第二处理子模块,用于将所述第一合并数据加入所述新的第二分组,得到更新后的第二分组。
9.根据权利要求6所述的装置,其特征在于,还包括:
第一确定模块,用于响应于第二本地服务器对目标数据变更记录的查询请求,根据数据变更记录与第一分组的预设关联关系,确定所述目标数据变更记录所在的目标第一分组;
计算模块,用于计算所述目标第一分组对应的目标第一合并数据;
第二确定模块,用于根据第一合并数据与第二分组的预设关联关系,确定所述目标第一合并数据所在的目标第二分组;
第三确定模块,用于确定所述目标第二分组对应的目标第二合并数据;
第一校验模块,用于对所述目标第二合并数据与上传到所述区块链服务器中的第二合并数据进行校验,若校验通过,则所述目标数据变更记录无篡改。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述存储模块包括:
存储子模块,用于将所述第二合并数据存储至区块链服务器以及将上链时间分别存储至区块链服务器以及所述第一本地服务器,存储所述当前数据变更记录;
所述装置还包括:
查询模块,用于响应于第二本地服务器对目标数据变更记录的查询请求,从所述区块链服务器获取所述目标数据变更记录对应的第二合并数据的第一上链时间;
第二获取模块,用于从所述第一本地服务器获取所述目标数据变更记录对应的第二合并数据的第二上链时间;
第二校验模块,用于对所述第一上链时间和所述第二上链时间进行校验,若校验通过,则所述目标数据变更记录无篡改。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的数据处理方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的数据处理方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310118800.2A CN115994386A (zh) | 2023-02-03 | 2023-02-03 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310118800.2A CN115994386A (zh) | 2023-02-03 | 2023-02-03 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115994386A true CN115994386A (zh) | 2023-04-21 |
Family
ID=85993444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310118800.2A Pending CN115994386A (zh) | 2023-02-03 | 2023-02-03 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115994386A (zh) |
-
2023
- 2023-02-03 CN CN202310118800.2A patent/CN115994386A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095451B2 (en) | Optimal data storage configuration in a blockchain | |
EP3709568A1 (en) | Deleting user data from a blockchain | |
US11270227B2 (en) | Method for managing a machine learning model | |
CN112506481A (zh) | 业务数据交互方法、装置、计算机设备和存储介质 | |
CN115659417A (zh) | 审计日志存储方法、验证方法、装置和计算机设备 | |
KR101428649B1 (ko) | 맵 리듀스 기반의 대용량 개인정보 암호화 시스템 및 그의 동작 방법 | |
CN116094849B (zh) | 应用访问鉴权方法、装置、计算机设备和存储介质 | |
CN115168499B (zh) | 数据库表的分片方法、装置、计算机设备和存储介质 | |
CN116910820A (zh) | 数据报表处理方法、装置、计算机设备以及存储介质 | |
CN115994386A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115658794A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN115858322A (zh) | 日志数据处理方法、装置和计算机设备 | |
CN115237617A (zh) | 接口组件的确定方法、装置、设备、存储介质和程序产品 | |
CN116192395A (zh) | 用于分散式数据存储的可信系统 | |
CN112860755B (zh) | 业务标识生成方法、装置、计算机设备和介质 | |
US20170185321A1 (en) | Dynamic resilience in flash acceleration tiers | |
CN117391702A (zh) | 账户数据的验证方法、装置、计算机设备、存储介质 | |
CN116880927A (zh) | 规则管理方法、装置、计算机设备和存储介质 | |
Buccafurri et al. | Range query integrity in the cloud: the case of video surveillance | |
CN116909785A (zh) | 异常事件的处理方法、装置、设备、存储介质和程序产品 | |
CN118170833A (zh) | 资源信息的转移方法、装置、计算机设备、存储介质 | |
CN117593125A (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN116938681A (zh) | 网元设备的孪生数据稽核方法、装置和计算机设备 | |
CN117271445A (zh) | 日志数据处理方法、装置、服务器、存储介质和程序产品 | |
CN117827890A (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 |