CN110597462A - 块链式账本中的数据存储方法、系统、装置及设备 - Google Patents

块链式账本中的数据存储方法、系统、装置及设备 Download PDF

Info

Publication number
CN110597462A
CN110597462A CN201910747315.5A CN201910747315A CN110597462A CN 110597462 A CN110597462 A CN 110597462A CN 201910747315 A CN201910747315 A CN 201910747315A CN 110597462 A CN110597462 A CN 110597462A
Authority
CN
China
Prior art keywords
data
client
database server
stored
compression
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
CN201910747315.5A
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910747315.5A priority Critical patent/CN110597462A/zh
Publication of CN110597462A publication Critical patent/CN110597462A/zh
Pending legal-status Critical Current

Links

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of 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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了块链式账本中的数据存储方法、系统、装置及设备。通过本说明书实施例所提供的方案,客户端在接收到用户所发送的业务数据时,即获取用户所对应的压缩配置配置参数,根据所述压缩配置参数来确定是进行相应的数据压缩,并将压缩数据写入块链式账本,从而可以节省账本的占用空间,提高账本的写入效率。

Description

块链式账本中的数据存储方法、系统、装置及设备
技术领域
本说明书实施例涉及信息技术领域,尤其涉及块链式账本中的数据存储方法、系统、装置及设备。
背景技术
在以中心化的块链式账本存储用户的业务数据时,用户经常一次性上传较多的数据作为一个整体进行存储(例如,一张报表,或者多张同类型报表),如果以原始的业务数据进行存储,则会发生存储额业务数据占用空间较大,账本臃肿的情形。
基于此,需要一种块链式账本中节省存储空间的数据存储方法。
发明内容
本说明书实施例的目的是提供一种块链式账本中节省存储空间的数据存储方法。
为解决上述技术问题,本说明书实施例是这样实现的:
一方面,本说明书实施例提供一种块链式账本中的数据存储方法,应用于包括客户端和数据库服务端的系统中,所述方法包括:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
客户端,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
数据库服务端获取所述待存储数据,将所述待存储数据写入所述块链式账本。
与一方面对应的,本说明书实施例还提供一种块链式账本中的数据存储系统,包括客户端和数据库服务端,在所述系统中:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
客户端,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
数据库服务端,获取所述待存储数据,将所述待存储数据写入所述块链式账本。
另一方面,本说明书实施例还提供一种块链式账本中的数据存储方法,应用于客户端中,所述方法包括:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
当所述目标对象为客户端时,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,并发送所述待存储数据至数据库服务端;
当所述目标对象为数据库服务端时,发送所述业务数据至数据库服务端,以便所述数据库服务端生成对于所述业务数据的压缩数据。
与另一方面对应的,本说明书实施例还提供一种块链式账本中的数据存储装置,应用于客户端中,所述装置包括:
获取模块,获取用户的业务数据,确定所述用户的压缩配置参数的值;
确定模块。根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
压缩模块,当所述目标对象为客户端时,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,
发送模块,发送所述待存储数据至数据库服务端;
所述发送模块还用于,当所述目标对象为数据库服务端时,发送所述业务数据至数据库服务端,以便所述数据库服务端生成对于所述业务数据的压缩数据。
再一方面,本说明书实施例还提供一种块链式账本中的数据存储方法,应用于数据库服务端中,所述方法包括:
数据库服务端接收客户端所发送的待存储数据,其中,所述待存储数据为客户端对于业务数据的压缩数据,或者,数据库服务端接收客户端所发送的业务数据,生成对于所述业务数据的压缩数据,并将所述压缩数据确定为待存储数据;
将所述待存储数据写入所述块链式账本。
与再一方面对应的,本说明书实施例还提供一种块链式账本中的数据存储装置,应用于数据库服务端中,所述装置包括:
接收模块,接收客户端所发送的待存储数据,其中,所述待存储数据为客户端对于业务数据的压缩数据,所述接收模块还用于,接收客户端所发送的业务数据;
压缩模块,生成对于所述业务数据的压缩数据,并将所述压缩数据确定为待存储数据;
写入模块,将所述待存储数据写入所述块链式账本。
通过本说明书实施例所提供的方案,客户端在接收到用户所发送的业务数据时,即获取用户所对应的压缩配置配置参数,根据所述压缩配置参数来确定是进行相应的数据压缩,并将压缩数据写入块链式账本,从而可以节省账本的占用空间,提高账本的写入效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本说明书实施例所涉及的系统的架构示意图;
图2是本说明书实施例所提供的块链式账本中的数据存储方法的流程示意图;
图3为本说明书实施例所提供的应用于客户端的块链式账本中的数据存储方法的流程示意图;
图4为本说明书实施例所提供的应用于客户端的块链式账本中的数据存储方法的结构示意图;
图5为本说明书实施例所提供的应用于数据库服务端的数据存储方法的流程示意图;
图6是本说明书实施例提供的一种块链式账本中的数据存储装置的结构示意图;
图7是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
在本说明书实施例中,数据库服务端以中心化的方式面向客户端提供数据存储服务。客户端的用户可以是机构组织,也可以是个人用户。如图1所示,图1为本说明书实施例所涉及的系统的架构示意图。
以下结合附图,详细说明本说明书各实施例提供的技术方案。一方面,如图2所示,图2是本说明书实施例所提供的块链式账本中的数据存储方法的流程示意图,应用于包括客户端和数据库服务端的系统中,该流程具体包括如下步骤:
S201,客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值。
所述业务数据,可以是客户端个人用户的各种消费记录,也可以是应用服务器基于用户的指令,在执行业务逻辑时产生的业务结果、中间状态以及操作记录等等。具体的业务场景可以包括消费记录、审计日志、供应链条、政府监管记录、医疗记录等等。例如,在金融监管中,业务数据可以是金融机构需要进行上报的各种报表。
压缩配置参数可以是包含于业务数据中。例如,在用户上传业务数据时同时提供压缩配置的选项让用户选择,基于用户的选择生成相应的压缩配置参数的值(一般而言是一个字符串或者数字),并且和业务数据拼接而得到一段新的包含有压缩配置参数的业务数据。
在另一种实施方式下,压缩配置参数也可以是用户预先已经设置并存储于客户端的压缩配置文件中。客户端可以从压缩配置文件中随时获取得到相应的压缩配置参数的值。
压缩配置参数的值有多种,值的具体表现形式可以是字符串或者数字,每个值分别表征了一种压缩方式:例如,1表征不压缩,2表征数据库服务端压缩,3表征客户端压缩,4表征执行动态压缩策略等等。容易理解,压缩配置参数的值的表现形式可以是多种且无法穷举的,只需其符合本申请的精神即可。
S203,客户端,根据所述压缩配置参数的值确定执行数据压缩的目标对象。
如前所述,客户端可以根据根据压缩配置参数的值来确定具体由谁来对业务数据执行压缩。
续前例而言,若压缩配置参数的值为3,则目标对象即为客户端,在这种情形下,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,并发送所述待存储数据至数据库服务端。
若压缩配置参数的值为2,则目标对象即为数据库服务端,在这种情形下,客户端可以直接发送业务数据至数据库服务端,数据库服务端接收到业务数据后从本地查询用户的配置文件,获取压缩配置参数的值为2,从而可以知道该业务数据需要在数据库服务端进行压缩;或者客户端发送携带压缩配置参数的值“2”的业务数据至数据库服务端,从而数据库服务端可以根据携带的“2”知道对接收到的业务数据进行压缩。
若压缩配置参数的值为4,则进行动态压缩,在客户端采集客户端所处设备的硬件参数和/或网络环境参数,并且根据所述客户端所处设备的硬件参数和/或网络环境参数确定出压缩权值。其中,压缩权值与硬件参数正相关,与网络环境参数负相关。压缩权值用于表征应该在客户端压缩还是在数据库服务端进行压缩。
例如,设备的硬件参数可以包括设备的CPU主频、CPU核数、内存大小等等,设备的网络环境参数可以包括设备的网络连接模式、设备的上传带宽等等。每种硬件参数均可以用相应的数值来表征。例如,主频2.2gHz表征为2.2,4CPU表征为4,2g内存表征为2;有线上网表征为4,上传带宽8M/s表征为8等等。通常而言,硬件性能越好,硬件参数值越大;网络环境越好,网络环境参数越大。
通过各参数值综合计算出压缩权值,并与临界压缩权值进行比较。例如,一种计算方式为压缩权值M=k*(主频*核数*内存)/(上网方式*上传带宽),其中k为经验参数,可由用户设置。临界压缩权值通常取1。
若压缩权值大于临界压缩权值,则由客户端进行压缩,反之,则由数据库服务端进行压缩。
例如,若临界压缩权值对应的设备条件为2.2gHz、4CPU、2g内存、宽带上网、8M上传带宽。则可以知道,若设备的硬件条件更差或者网络条件更好时,应该由数据库服务端进行压缩。
动态压缩的本质是基于客户端的设备硬件条件和网络条件,实现更高效的压缩以及传输,若客户端的设备硬件条件更好,网络条件更差,则在客户端执行压缩,反之则在数据库服务端进行压缩,以提高数据传输效率。
具体的压缩方式包括常规的可逆的无损压缩,在这种压缩方式下可以根据压缩数据完全恢复原始的业务数据。例如,将报表压缩为诸如RAR、ZIP等格式的压缩包。
在本说明书实施例中,还可以进行另一种压缩方式,即确定业务数据的哈希值,将业务数据的哈希值确定为压缩数据,进而将所述哈希值确定为待存储数据。在这种方式下,“压缩数据”无法还原得到对应的业务数据,但是由于哈希值的唯一性,同样可以验证账本中的待存储数据的完整性。
S205,所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据。
不论是数据库服务端还是客户端,若确定对于数据进行了压缩,则均将压缩数据确定为待存储数据。
S207,数据库服务端获取所述待存储数据,将所述待存储数据写入所述块链式账本。
具体而言,数据库服务端可以获取待存储的数据记录(即前述的待存储数据),确定各待存储的数据记录的哈希值,并且将待存储的数据记录的哈希值返回至客户端,以便客户端随时查询。
需要说明的是,如果压缩时,将业务数据的哈希值确定为压缩数据,则可以直接将业务数据的哈希值确定为待存储的数据记录的哈希值;若压缩时执行的是无损压缩,则是将得到的压缩包的哈希值确定为待存储的数据记录的哈希值。
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块。
所述预设的成块条件包括:待存储的数据记录数量达到数量阈值,例如,每接收到一千条数据记录时,生成一个新数据块,将一千条数据记录写入块中;或者,距离上一次成块时刻的时间间隔达到时间阈值,例如,每隔5分钟,生成一个新数据块,将在这5分钟内接收到的数据记录写入块中。
此处的N指的是数据块的序号,换言之,在本说明书实施例中,数据块是以块链的形式,基于成块时间的顺序先后排列,具有很强的时序特征。其中,数据块的块高基于成块时间的先后顺序单调递增。块高可以是序号,此时第N个数据块的块高即为N;块高也可以其它方式生成。
当N=1时,即此时的数据块为为初始数据块。初始数据块的哈希值和块高基于预设方式给定。例如,初始数据块中不包含数据记录,哈希值则为任一给定的哈希值,块高blknum=0;又例如,初始数据块的生成触发条件与其它数据块的触发条件一致,但是初始数据块的哈希值由对初始数据块中的所有内容取哈希确定。
当N>1时,由于前一数据块的内容和哈希值已经确定,则此时,可以基于前一数据块(即第N-1个数据块)的哈希值生成当前数据块(第N个数据块)的哈希值,例如,一种可行的方式为,确定每一条将要写入第N个块中的数据记录的哈希值,按照在块中的排列顺序,生成一个默克尔树,将默克尔树的根哈希值和前一数据块的哈希值拼接在一起,再次采用哈希算法,生成当前块的哈希值。又例如,还可以按照块中数据记录的顺序进行拼接并取哈希得到整体数据记录的哈希值,拼接前一数据块的哈希值和整体数据记录的哈希值,并对拼接得到的字串进行哈希运算,生成数据块的哈希值。
需要说明的是,在这个过程中,基于不同的压缩方式,如果待存储的数据是业务数据的压缩数据,则计算默克尔树的根哈希值时需要计算每个压缩数据的哈希值;如果待存储的数据是业务数据的哈希值,则计算摩尔克数的根哈希值时需要计算每个业务数据的哈希值的哈希值。
用户在上传数据成功后,即可以得到对应的数据记录的哈希值以及所处的数据块的哈希值,并保存,并且可以基于该哈希值发起完整性验证。具体的验证方式包括重新计算数据记录自身的哈希值以及所处的数据块的哈希值,与本地所保存的进行对比。
上述方式生成的数据块,可以包括块头和块体两个部分。块体中可以用于存储拼接数据的明文,或者拼接数据的哈希值等等;块头中可以用于存储有关本数据块的元数据,例如,账本的版本号,前一数据块的哈希值,自身数据块中的拼接数据所组成的默克尔树的根哈希值,自身数据块的哈希值,用于记录拼接数据的被操作状态的状态数组等等。
通过本说明书实施例所提供的方案,客户端在接收到用户所发送的业务数据时,即获取用户所对应的压缩配置配置参数,根据所述压缩配置参数来确定是进行相应的数据压缩,并将压缩数据写入块链式账本,从而可以节省账本的占用空间,提高账本的写入效率。
在一种实施例中,压缩配置参数的值还可能是表征不压缩的值,在这种方式下,客户端就无需确定执行压缩的目标对象,客户端将所述业务数据确定为待存储数据并发送至数据库服务端,数据库服务端将接收到的业务数据的明文写入所述块链式账本。
在一种实施例中,若确定出的目标对象为数据库服务端,则数据库服务端在对业务数据进行了压缩之后,还需要将业务数据进行本地存储,并且记录业务数据和业务数据的压缩数据的对应关系,具体而言,可以记录压缩数据的名称和业务数据的名称、存储位置之间的对应关系。若压缩数据为业务数据的哈希值,此时,还可以直接记录业务数据的存储位置和所述业务数据的哈希值之间的对应关系。
进一步地,在将业务数据以压缩数据的方式写入了账本之后,当用户需要根据哈希值进行查询时,数据库服务端还可以接收客户端所发送的包含哈希值的查询请求,在所述块链式账本中查询获取所述哈希值所对应的压缩数据,获取得到压缩数据所对应的业务数据(如果压缩数据是正常的无损可逆压缩,则直接解压压缩数据得到业务数据寄了;如果压缩数据是业务数据的哈希值,则可以根据哈希值查询得到该哈希值所对应的业务数据),并且,将业务数据以及压缩数据一起返回至客户端,以便客户端使用业务数据或者验证业务数据的完整性。
与一方面对应的,本说明书实施例还提供一种块链式账本中的数据存储系统,包括客户端和数据库服务端,在所述系统中:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
客户端,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
数据库服务端,获取所述待存储数据,将所述待存储数据写入所述块链式账本。
进一步地,在所述系统中,当目标对象为客户端时,所述客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,发送所述待存储数据至数据库服务端;或者,当目标对象为服务端时,所述客户端发送业务数据至数据库服务端,所述数据库服务端生成对于所述业务数据的压缩数据,将所述业务数据的压缩数据确定为待存储数据。
进一步地,在所述系统中,所述客户端,当所述压缩配置参数的值为表征为动态压缩的值时,获取客户端所处设备的硬件参数和/或网络环境参数;根据所述客户端所处设备的硬件参数和/或网络环境参数确定出压缩权值,其中,所述压缩权值与硬件参数正相关,与网络环境参数负相关;若所述压缩权值大于预设值,则将客户端确定为目标对象;否则,将数据库服务端确定为目标对象。
进一步地,在所述系统中,所述客户端还用于,确定所述用户的压缩配置参数的值为表征不压缩的值;相应的,客户端将所述业务数据确定为待存储数据并发送至数据库服务端;相应的,数据库服务端将接收到的业务数据写入所述块链式账本。
进一步地,在所述系统中,数据库服务端接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
进一步地,在所述系统中,所述预设的成块条件包括:待存储的数据记录数量达到数量阈值;或者,距离上一次成块时刻的时间间隔达到时间阈值。
进一步地,在所述系统中,若所述目标对象为数据库服务端,在所述目标对象生成对于所述业务数据的压缩数据之后,数据库服务端,记录所述业务数据和业务数据的压缩数据的对应关系,并存储所述业务数据。
进一步地,在所述系统中,数据库服务端,接收客户端所发送的包含哈希值的查询请求;在所述块链式账本中查询获取所述哈希值所对应的压缩数据;获取所述压缩数据所对应的业务数据,并发送所述业务数据至客户端。
另一方面,本说明书实施例还提供一种块链式账本中的数据存储方法,应用于客户端中,如图3所示,图3为本说明书实施例所提供的应用于客户端的块链式账本中的数据存储方法的流程示意图,所述方法包括:
S301,客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
S303,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
S305,当所述目标对象为客户端时,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,并发送所述待存储数据至数据库服务端;当所述目标对象为数据库服务端时,发送所述业务数据至数据库服务端,以便所述数据库服务端生成对于所述业务数据的压缩数据。
与另一方面对应的,本说明书实施例还提供一种块链式账本中的数据存储装置,应用于客户端中,如图4所示,图4为本说明书实施例所提供的应用于客户端的块链式账本中的数据存储方法的结构示意图,所述装置包括:
获取模块401,获取用户的业务数据,确定所述用户的压缩配置参数的值;
确定模块403,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
压缩模块405,当所述目标对象为客户端时,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
发送模块407,发送所述待存储数据至数据库服务端;
所述发送模块407还用于,当所述目标对象为数据库服务端时,发送所述业务数据至数据库服务端,以便所述数据库服务端生成对于所述业务数据的压缩数据。
再一方面,本说明书实施例还提供一种块链式账本中的数据存储方法,应用于数据库服务端中块链式账本中的数据存储方法的流程示意图,如图5所示,图5为本说明书实施例所提供的应用于数据库服务端的数据存储方法的流程示意图,所述方法包括:
S501,数据库服务端接收客户端所发送的待存储数据,其中,所述待存储数据为客户端对于业务数据的压缩数据,或者,数据库服务端接收客户端所发送的业务数据,生成对于所述业务数据的压缩数据,并将所述压缩数据确定为待存储数据;
S503,将所述待存储数据写入所述块链式账本。具体的写入方式已经在前文详述,此处不再赘述。
对应的,本说明书实施例还提供一种块链式账本中的数据存储装置,应用于数据库服务端中,如图6所示,图6是本说明书实施例提供的一种块链式账本中的数据存储装置的结构示意图,包括:
接收模块601,接收客户端所发送的待存储数据,其中,所述待存储数据为客户端对于业务数据的压缩数据,所述接收模块还用于,接收客户端所发送的业务数据;
压缩模块603,生成对于所述业务数据的压缩数据,并将所述压缩数据确定为待存储数据;
写入模块605,将所述待存储数据写入所述块链式账本。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3所示的数据存储方法。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图5所示的数据存储方法。
图7示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3所示的数据存储方法。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图5所示的数据存储方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (22)

1.一种块链式账本中的数据存储方法,应用于包括客户端和数据库服务端的系统中,所述方法包括:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
客户端,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
数据库服务端获取所述待存储数据,将所述待存储数据写入所述块链式账本。
2.如权利要求1所述的方法,所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,包括:
当目标对象为客户端时,所述客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,发送所述待存储数据至数据库服务端;或者,
当目标对象为服务端时,所述客户端发送业务数据至数据库服务端,所述数据库服务端生成对于所述业务数据的压缩数据,将所述业务数据的压缩数据确定为待存储数据。
3.如权利要求1所述的方法,根据所述压缩配置参数的值确定执行数据压缩的目标对象,包括:
当所述压缩配置参数的值为表征为动态压缩的值时,获取客户端所处设备的硬件参数和/或网络环境参数;
根据所述客户端所处设备的硬件参数和/或网络环境参数确定出压缩权值,其中,所述压缩权值与硬件参数正相关,与网络环境参数负相关;
若所述压缩权值大于预设值,则将客户端确定为目标对象;否则,将数据库服务端确定为目标对象。
4.如权利要求1所述的方法,在根据所述压缩配置参数的值确定执行数据压缩的目标对象之前,所述方法还包括:确定所述用户的压缩配置参数的值为表征不压缩的值;
相应的,所述方法还包括:客户端将所述业务数据确定为待存储数据并发送至数据库服务端;
相应的,所述方法还包括:数据库服务端将接收到的业务数据写入所述块链式账本。
5.如权利要求1所述的方法,数据库服务端获取所述待存储数据,将所述待存储数据写入所述块链式账本,包括:
数据库服务端接收待存储的数据记录,确定各数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
6.如权利要求5所述的方法,所述预设的成块条件包括:
待存储的数据记录数量达到数量阈值;或者,
距离上一次成块时刻的时间间隔达到时间阈值。
7.如权利要求1所述的方法,若所述目标对象为数据库服务端,在所述目标对象生成对于所述业务数据的压缩数据之后,所述方法还包括:
数据库服务端,记录所述业务数据和业务数据的压缩数据的对应关系,并存储所述业务数据。
8.如权利要求7所述的方法,所述方法还包括:
数据库服务端,接收客户端所发送的包含哈希值的查询请求;
在所述块链式账本中查询获取所述哈希值所对应的压缩数据;
获取所述压缩数据所对应的业务数据,并发送所述业务数据至客户端。
9.一种块链式账本中的数据存储系统,包括客户端和数据库服务端,在所述系统中:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
客户端,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
所述目标对象生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
数据库服务端,获取所述待存储数据,将所述待存储数据写入所述块链式账本。
10.如权利要求9所述的系统,当目标对象为客户端时,所述客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,发送所述待存储数据至数据库服务端;或者,
当目标对象为服务端时,所述客户端发送业务数据至数据库服务端,所述数据库服务端生成对于所述业务数据的压缩数据,将所述业务数据的压缩数据确定为待存储数据。
11.如权利要求9所述的系统,所述客户端,当所述压缩配置参数的值为表征为动态压缩的值时,获取客户端所处设备的硬件参数和/或网络环境参数;
根据所述客户端所处设备的硬件参数和/或网络环境参数确定出压缩权值,其中,所述压缩权值与硬件参数正相关,与网络环境参数负相关;
若所述压缩权值大于预设值,则将客户端确定为目标对象;否则,将数据库服务端确定为目标对象。
12.如权利要求9所述的系统,所述客户端还用于,确定所述用户的压缩配置参数的值为表征不压缩的值;
相应的,客户端将所述业务数据确定为待存储数据并发送至数据库服务端;
相应的,数据库服务端将接收到的业务数据写入所述块链式账本。
13.如权利要求9所述的系统,数据库服务端接收待存储的数据记录,确定各数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
14.如权利要求13所述的系统,所述预设的成块条件包括:待存储的数据记录数量达到数量阈值;或者,距离上一次成块时刻的时间间隔达到时间阈值。
15.如权利要求9所述的系统,若所述目标对象为数据库服务端,在所述目标对象生成对于所述业务数据的压缩数据之后,数据库服务端,记录所述业务数据和业务数据的压缩数据的对应关系,并存储所述业务数据。
16.如权利要求15所述的系统,数据库服务端,接收客户端所发送的包含哈希值的查询请求;在所述块链式账本中查询获取所述哈希值所对应的压缩数据;获取所述压缩数据所对应的业务数据,并发送所述业务数据至客户端。
17.一种块链式账本中的数据存储方法,应用于客户端中,所述方法包括:
客户端,获取用户的业务数据,确定所述用户的压缩配置参数的值;
根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
当所述目标对象为客户端时,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据,并发送所述待存储数据至数据库服务端;
当所述目标对象为数据库服务端时,发送所述业务数据至数据库服务端,以便所述数据库服务端生成对于所述业务数据的压缩数据。
18.一种块链式账本中的数据存储装置,应用于客户端中,所述装置包括:
获取模块,获取用户的业务数据,确定所述用户的压缩配置参数的值;
确定模块,根据所述压缩配置参数的值确定执行数据压缩的目标对象,其中,所述执行数据压缩的目标对象包括客户端或者数据库服务端;
压缩模块,当所述目标对象为客户端时,客户端生成对于所述业务数据的压缩数据,将所述压缩数据确定为待存储数据;
发送模块,发送所述待存储数据至数据库服务端;
所述发送模块还用于,当所述目标对象为数据库服务端时,发送所述业务数据至数据库服务端,以便所述数据库服务端生成对于所述业务数据的压缩数据。
19.一种块链式账本中的数据存储方法,应用于数据库服务端中,所述方法包括:
数据库服务端接收客户端所发送的待存储数据,其中,所述待存储数据为客户端对于业务数据的压缩数据,或者,数据库服务端接收客户端所发送的业务数据,生成对于所述业务数据的压缩数据,并将所述压缩数据确定为待存储数据;
将所述待存储数据写入所述块链式账本。
20.一种块链式账本中的数据存储装置,应用于数据库服务端中,所述装置包括:
接收模块,接收客户端所发送的待存储数据,其中,所述待存储数据为客户端对于业务数据的压缩数据,所述接收模块还用于,接收客户端所发送的业务数据;
压缩模块,生成对于所述业务数据的压缩数据,并将所述压缩数据确定为待存储数据;
写入模块,将所述待存储数据写入所述块链式账本。
21.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求17所述的方法。
22.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求19所述的方法。
CN201910747315.5A 2019-08-14 2019-08-14 块链式账本中的数据存储方法、系统、装置及设备 Pending CN110597462A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910747315.5A CN110597462A (zh) 2019-08-14 2019-08-14 块链式账本中的数据存储方法、系统、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910747315.5A CN110597462A (zh) 2019-08-14 2019-08-14 块链式账本中的数据存储方法、系统、装置及设备

Publications (1)

Publication Number Publication Date
CN110597462A true CN110597462A (zh) 2019-12-20

Family

ID=68854104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910747315.5A Pending CN110597462A (zh) 2019-08-14 2019-08-14 块链式账本中的数据存储方法、系统、装置及设备

Country Status (1)

Country Link
CN (1) CN110597462A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027252A1 (zh) * 2019-08-14 2021-02-18 创新先进技术有限公司 块链式账本中的数据存储方法、装置及设备
US11249987B2 (en) 2019-08-14 2022-02-15 Advanced New Technologies Co., Ltd. Data storage in blockchain-type ledger

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300167A1 (en) * 2008-05-30 2009-12-03 General Electric Company Networked image visualization image quality enhancement method and system
CN109614043A (zh) * 2018-12-04 2019-04-12 郑州云海信息技术有限公司 一种数据压缩方法、装置、系统及计算机可读存储介质
CN109951290A (zh) * 2019-01-31 2019-06-28 阿里巴巴集团控股有限公司 一种链式账本的授时认证方法、装置及设备
CN110022315A (zh) * 2019-03-26 2019-07-16 阿里巴巴集团控股有限公司 一种块链式账本中的权重管理方法、装置及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300167A1 (en) * 2008-05-30 2009-12-03 General Electric Company Networked image visualization image quality enhancement method and system
CN109614043A (zh) * 2018-12-04 2019-04-12 郑州云海信息技术有限公司 一种数据压缩方法、装置、系统及计算机可读存储介质
CN109951290A (zh) * 2019-01-31 2019-06-28 阿里巴巴集团控股有限公司 一种链式账本的授时认证方法、装置及设备
CN110022315A (zh) * 2019-03-26 2019-07-16 阿里巴巴集团控股有限公司 一种块链式账本中的权重管理方法、装置及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027252A1 (zh) * 2019-08-14 2021-02-18 创新先进技术有限公司 块链式账本中的数据存储方法、装置及设备
US11249987B2 (en) 2019-08-14 2022-02-15 Advanced New Technologies Co., Ltd. Data storage in blockchain-type ledger

Similar Documents

Publication Publication Date Title
CN110188096B (zh) 一种数据记录的索引创建方法、装置及设备
US11249987B2 (en) Data storage in blockchain-type ledger
CN110825737A (zh) 索引创建和数据查询方法、装置及设备
CN110597461B (zh) 块链式账本中的数据存储方法、装置及设备
CN113726751B (zh) 一种块链式账本中的权重管理方法、装置及设备
CN110837502B (zh) 一种块链式账本中的数据存储方法、装置及设备
CN110347679B (zh) 一种基于收据的数据存储方法、装置及设备
CN110147685B (zh) 数据验证方法、系统、装置及设备
CN110162523B (zh) 数据存储方法、系统、装置及设备
US10958440B2 (en) Blockchain ledger compression
CN110716965B (zh) 一种块链式账本中的查询方法、装置及设备
US10999062B2 (en) Blockchain-type data storage
CN111046069B (zh) 一种块链式账本中的聚合计算方法、装置及设备
CN113535720A (zh) 一种块链式账本中的索引创建方法、装置及设备
CN110362568B (zh) 一种针对块链式账本的压缩方法、装置及设备
CN110597462A (zh) 块链式账本中的数据存储方法、系统、装置及设备
CN110727679A (zh) 法院案卷的协同追踪方法、系统、装置及设备
CN111444194B (zh) 一种块链式账本中索引的清除方法、装置及设备
CN110636042B (zh) 一种服务端已验证块高的更新方法、装置及设备
US20200177390A1 (en) Providing data verification in a blockchain ledger
CN113641643A (zh) 文件写入方法及装置
CN111444215A (zh) 一种块链式账本中的成块方法、装置及设备
CN112307010B (zh) 一种数据存储方法、装置及设备
CN111444195B (zh) 一种块链式账本中索引的清除方法、装置及设备
CN112307011A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40019442

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201012

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.