一种块链式账本中的成块方法、装置及设备制造方法及图纸

技术编号:24995862 阅读:61 留言:0更新日期:2020-07-24 17:58
公开了一种块链式账本中的成块方法、装置及设备。在以块链式账本存储数据记录的中心化的数据库服务端中,通过用户发起的成块条件更改指令,对相应的账本的成块条件进行更改,从而用户可以根据不同的业务场景对每个账本实现个性化的出块设置。

【技术实现步骤摘要】
一种块链式账本中的成块方法、装置及设备
本说明书实施例涉及信息
,尤其涉及一种块链式账本中的成块方法、装置及设备。
技术介绍
在常规的块链式账本中,出块条件是固定不变的。但是在中心化的块链式账本中,随着业务类型增多,用户有可能需要个性化的出块条件,而常规方式无法满足。基于此,需要一种可以在中心化的块链式账本中实现个性化出块的方案。
技术实现思路
本申请实施例的目的是提供一种在块链式账本中根据用户的需求在账本中进行个性化的出块的方案。为解决上述技术问题,本申请实施例是这样实现的:一种块链式账本中的成块方法,应用于以块链式账本存储数据记录的数据库服务端中,包括:接收用户所发送的成块条件更改指令;根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,所述成块条件包括:待存储的数据记录数量达到数量阈值,或者,距离上一次成块时刻的时间间隔达到时间阈值。在所述块链式账本中,根据改变后的成块条件生成数据块。对应的,本说明书实施例还提供一种块链式账本中的成块装置,应用于以块链式账本存储数据记录的数据库服务端中,包括:接收模块,接收用户所发送的成块条件更改指令;更改模块,根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,所述成块条件包括:待存储的数据记录数量达到数量阈值,或者,距离上一次成块时刻的时间间隔达到时间阈值。成块模块,在所述块链式账本中,根据改变后的成块条件生成数据块。在以块链式账本存储数据记录的中心化的数据库服务端中,通过用户发起的成块条件更改指令,对相应的账本的成块条件进行更改,从而用户可以根据不同的业务场景对每个账本实现个性化的出块设置,满足用户的实际业务需要,提高用户体验。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为本说明书实施例所涉及的系统架构示意图;图2是本说明书实施例提供的一种块链式账本中的成块方法流程示意图;图3为本说明书实施例所提供的一种生成块链式账本的流程示意图;图4为本说明书实施例所提供的一种数据块的块头的示意图;图5是本说明书实施例提供的一种块链式账本中的成块装置的结构示意图;图6是用于配置本说明书实施例方法的一种设备的结构示意图。具体实施方式为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。在常规的块链式账本中,出块条件通常是固定的。例如,比特币中就是写死在初始逻辑中。但是在中心化的数据库服务端中,一个服务端通常要面对多个机构或者用户提供块链式账本的服务,如图1所示,图1为本说明书实施例所涉及的系统架构示意图。在该示意图中,一个服务端可以服务多个企业机构,而每个企业机构又可以面向多名用户,或者,数据库服务端还可以直接对接用户,任一用户均可以在数据库服务端中建立属于自己的账本。由于每个用户所涉及的业务往往是不一样的,那么随着业务类型增多,用户有可能需要个性化的出块条件,而常规方式无法满足。例如,数据库服务端对接的机构是某金融产品公司,账本中的数据记录可以是个人用户在该金融产品公司的理财记录;或者,对接的机构可以是政府部门,其中的数据记录是政府部门对于该部门所管理的公共项目的开销明细;或者,数据库服务端对接的机构是某个医院,其中的数据记录是病人的病历;或者,数据库服务端对接的机构是第三方支付机构,数据记录可以是个人用户通过该机构的支付记录,等等。那么在不同的业务类型下,每天所产生的数据量是不一样的,在金融机构中的用户可能每天所产生的数据记录较多,而在对接医院的用户时,每天产生的数据记录则可能较少。如果都按照一样的成块条件来生成数据块,那么显然无法适应不同类型的业务场景。基于此,本说明书实施例提供一种对于每个账本进行个性化的出块方案。以下结合附图,详细说明本说明书各实施例提供的技术方案。如图2所示,图2是本说明书实施例提供的一种块链式账本中的成块方法流程示意图,应用于以块链式账本存储数据记录的中心化的数据库服务端中,该流程具体包括如下步骤:S201,接收用户所发送的成块条件更改指令。首先需要说明的是,在中心化的块链式账本中,每个账本在创建时即拥有一个初始默认的成块条件,这里的成块条件包括待存储的数据记录数量达到数量阈值,或者,距离上一次成块时刻的时间间隔达到时间阈值。换言之,任一账本总是会存在一个成块条件,而成块条件更改指令的更改对象即为当前的成块条件。由于用户在服务端中可以是同时拥有多个账本,每个用户在服务端会有一个账户AccountID,同时每个账本都拥有不同的账本标识ledgerID。因此,用户所发送的成块条件更改指令可以是针对一个账本而言,也可以是针对该用户的所有账本而言。例如,用户可以在成块条件更改指令中包含更改对象指示字段,来指示该指令是对于更改对象指示字段所对应的账本生效。例如,更改对象指示字段的取值可以是“1”表征对于用户的所有账本生效,或者取值可以是“0”表征仅对于用户的当前账本生效。在更改对象指示字段缺省的时候即可以默认为仅对当前的账本生效。成块条件更改指令中可以包含多种类型的成块参数,以对成块条件在多个方面进行更改,以下列举几种成块条件更改指令的示例:示例1,Hintcommitwhenjsn=const1,其中,“jsn=const1”即为成块参数中的数据记录数量的绝对值;示例2,Hintcommitwhenacc_incremental=const2,其中,“acc_incremental=const2”,其中,“acc_incremental=const2”即为成块参数中的在该用户下数据记录数量的增长量;示例3,Hintcommitwhenclue=ABCandcount=const4,其中,“clue=ABC”指的是用户上传的各种数据记录中包含业务属性“ABC”的数据记录,“count=const4”即为包含业务属性“ABC”的数据记录的数量;示例4,Hintcommitwhentimefirstexceedconst5,其中,“timefirstexceedconst5”指的是成块时间间隔达到数值const5,这里的“time”可以是采用系统本身的时本文档来自技高网...

【技术保护点】
1.一种块链式账本中的成块方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:/n接收用户所发送的成块条件更改指令;/n根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,所述成块条件包括:待存储的数据记录数量达到数量阈值,或者,距离上一次成块时刻的时间间隔达到时间阈值;/n在所述块链式账本中,根据改变后的成块条件生成数据块。/n

【技术特征摘要】
1.一种块链式账本中的成块方法,应用于以块链式账本存储数据记录的中心化的数据库服务端中,包括:
接收用户所发送的成块条件更改指令;
根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,所述成块条件包括:待存储的数据记录数量达到数量阈值,或者,距离上一次成块时刻的时间间隔达到时间阈值;
在所述块链式账本中,根据改变后的成块条件生成数据块。


2.如权利要求1所述的方法,当所述成块条件更改指令包含有成块参数时,所述成块参数包括成块时间间隔或者数据记录数量,根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,包括:
改变所述块链式账本中的成块条件为:待存储的数据记录数量达到所述数据记录数量;或者,距离上一次成块时刻的时间间隔达到所述成块时间间隔。


3.如权利要求2所述的方法,当所述成块参数中还包括业务属性时,根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,包括:
改变所述块链式账本中的成块条件为:包含所述业务属性的数据记录达到所述数据记录数量。


4.如权利要求1所述的方法,根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,包括:
根据所述成块条件更改指令的指示,从指定路径获取预先设定的成块条件,将所述预先设定的成块条件确定为所述块链式账本中的成块条件。


5.如权利要求1所述的方法,当所述成块条件更改指令中包含有用户标识或者账本标识时,根据所述成块条件更改指令的指示,改变所述块链式账本中的成块条件,包括:
确定所述用户标识或者账本标识所对应的另一账本;
获取所述另一账本的成块条件,将所述另一账本的成块条件确定为所述块链式账本中的成块条件。


6.如权利要求1所述的方法,在所述块链式账本中,根据改变后的成块条件生成数据块,包括:
接收待存储的数据记录,确定各数据记录的哈希值;
当达到所述改变后的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。


7.如权利要求6所述的方法,所述方法还包括:生成包含所述成块条件更改指令的数据记录,将所述包含所述成...

【专利技术属性】
技术研发人员:杨新颖
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1