CN110022315B - 一种块链式账本中的权重管理方法、装置及设备 - Google Patents

一种块链式账本中的权重管理方法、装置及设备 Download PDF

Info

Publication number
CN110022315B
CN110022315B CN201910234779.6A CN201910234779A CN110022315B CN 110022315 B CN110022315 B CN 110022315B CN 201910234779 A CN201910234779 A CN 201910234779A CN 110022315 B CN110022315 B CN 110022315B
Authority
CN
China
Prior art keywords
data block
account
weight
configuration
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.)
Active
Application number
CN201910234779.6A
Other languages
English (en)
Other versions
CN110022315A (zh
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
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN202110951196.2A priority Critical patent/CN113726751B/zh
Priority to CN201910234779.6A priority patent/CN110022315B/zh
Publication of CN110022315A publication Critical patent/CN110022315A/zh
Application granted granted Critical
Publication of CN110022315B publication Critical patent/CN110022315B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

公开了一种块链式账本中的权重管理方法、装置及设备。通过权重配置指令的形式,对用户以及操作指令的权重进行配置,并存储至相应的配置文件中,同时,将本次配置的相关内容生成数据记录,并写入账本中进行存证。本申请实施例可以便利的对块链式账本进行权重管理。

Description

一种块链式账本中的权重管理方法、装置及设备
技术领域
本说明书实施例涉及信息技术领域,尤其涉及一种块链式账本中的权重管理方法、装置及设备。
背景技术
在服务方以数据块链的方式对数据记录进行中心化的存储的场景下,账本基于用户数据产生,用户以及服务方均可通过操作指令的形式,发起对于数据的增删查等操作。
在这种数据存储方式下,由于对于账本的参与方可能是多名用户,同时在对数据进行操作时,一些指令对于账本的影响可能会比较大,例如清除指令、隐藏指令等等较为特殊的指令。出于业务需要,需要对不同的用户和操作指令进行相应的权限管理。
基于此,需要一种更为灵活的在块链式账本中进行权重管理的方案。
发明内容
本申请实施例的目的是提供一种在中心化的块链式账本中进行权重管理的方法。
为解决上述技术问题,本申请实施例是这样实现的:
一种块链式账本中的权重管理方法,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述方法包括:
接收权重配置指令,所述指令中包含配置目标和配置目标的权重值,其中,所述配置目标包括账户标识或者操作指令标识;
将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,并存储;
生成包含配置文件的变更内容的数据记录,其中,所述配置文件的变更内容与所述权重配置指令相关,包括配置目标、变更前的权重值、变更后的权重值和变更时间;
将所述数据记录写入所述账本的数据块中,确定所述数据记录的哈希值,返回所述哈希值至权重配置指令的发送方;
其中,在所述块链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。
对应的,本说明书实施例还提供一种块链式账本中的权重管理装置,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述装置包括:
接收模块,接收权重配置指令,所述指令中包含配置目标和配置目标的权重值,其中,所述配置目标包括账户标识或者操作指令标识;
存储模块,将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,并存储;
生成模块,生成包含配置文件的变更内容的数据记录,其中,所述配置文件的变更内容与所述权重配置指令相关,包括配置目标、变更前的权重值、变更后的权重值和变更时间;
写入模块,将所述数据记录写入所述账本的数据块中;
返回模块,确定所述数据记录的哈希值,返回所述哈希值至权重配置指令的发送方;
其中,在所述块链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增
由以上本申请实施例提供的技术方案可见,通过权重配置指令的形式,对用户以及操作指令的权重进行配置,并存储至相应的配置文件中,同时,将本次配置的相关内容生成数据记录,并写入账本中进行存证。本申请实施例可以便利的对块链式账本进行权重管理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例所涉及的一种块链式账本的结构示意图;
图2是本说明书实施例提供的一种块链式账本中的权重管理方法的流程示意图;
图3为本说明书实施例所涉及的账本服务的系统架构示意图;
图4是本说明书实施例提供的一种块链式账本中的权重管理装置的结构示意图;
图5是用于配置本说明书实施例方法的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
通常意义上,块链式账本包含两种:区块链和类区块链账本。区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。而类区块链的账本则是一种在中心化的场景下进行数据存储的方式,但其同样具有不可篡改的性质。
类区块链的账本,其形式上都可以如图1所示。图1是本说明书实施例所涉及的一种块链式账本的结构示意图。一个块链式账本,由多个数据块组成,数据块之间按照成块时间顺序排列。从初始数据块开始,每一个数据块有一个子数据块,每一数据块的哈希值由前一数据块的哈希值和自身所包含的数据记录而确定。在每一个数据块,包含有块头和块体,块头用于存储一些数据块的元数据(例如块高、父数据块哈希、块体中的数据记录构成的默克尔树的根哈希等等),块体则用于存储具体的数据记录。
为使本说明书实施例的方案更加浅显易懂,首先对本说明书实施例中所涉及的中心化的类区块链账本的生成方法和形式给予说明。在一个具体的实施例中,类区块链的账本可以由如下方式生成:
首先,中心化的数据库服务提供方接收待存储的数据记录,确定各数据记录的哈希值。此处的待存储的数据记录,可以是客户端个人用户的各种消费记录,也可以是应用服务器基于用户的指令,在执行业务逻辑时产生的业务结果、中间状态以及操作记录等等。具体的业务场景可以包括消费记录、审计日志、供应链条、政府监管记录、医疗记录等等。
然后,当达到预设的成块条件时,数据库服务提供方确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块。
所述预设的成块条件包括:待存储的数据记录数量达到数量阈值,例如,每接收到一千条数据记录时,生成一个新数据块,将一千条数据记录写入块中;或者,距离上一次成块时刻的时间间隔达到时间阈值,例如,每隔5分钟,生成一个新数据块,将在这5分钟内接收到的数据记录写入块中。
此处的N指的是数据块的序号,换言之,在本说明书实施例中,数据块是以块链的形式,基于成块时间的顺序先后排列,具有很强的时序特征。其中,数据块的块高基于成块时间的先后顺序单调递增。块高可以是序号,此时第N个数据块的块高即为N;块高也可以其它方式生成,例如,将块高的生成时间转化为一系列单调递增的大整数(一般为12到15位整型数据),作为块高。
当N=1时,即此时的数据块为为初始数据块。初始数据块的哈希值和块高基于预设方式给定。例如,初始数据块中不包含数据记录,哈希值则为任一给定的哈希值,块高blknum=0;又例如,初始数据块的生成触发条件与其它数据块的触发条件一致,但是初始数据块的哈希值由对初始数据块中的所有数据记录的内容取哈希确定。
当N>1时,由于前一数据块的内容和哈希值已经确定,则此时,可以基于前一数据块(即第N-1个数据块)的哈希值生成当前数据块(第N个数据块)的哈希值,例如,一种可行的方式为,确定每一条将要写入第N个块中的数据记录的哈希值,按照在块中的排列顺序,生成一个默克尔树,将默克尔树的根哈希值和前一数据块的哈希值拼接在一起,再次采用哈希算法,生成当前块的哈希值。又例如,还可以按照块中数据记录的顺序进行拼接并取哈希得到整体数据记录的哈希值,拼接前一数据块的哈希值和整体数据记录的哈希值,并对拼接得到的字串进行哈希运算,生成数据块的哈希值。
通过前述的数据块的生成方式,在中心化的数据库服务提供方,无需进行节点的共识,每一个数据块通过哈希值确定,数据块的哈希值由数据块中的数据记录的内容、顺序以及前一数据块的哈希值决定。
在一个最小的验证粒度下,每一条数据记录均有一个对应的哈希值,用户可以随时基于数据记录或者数据块的哈希值发起验证,对于数据块中任何内容(包括对于数据块中数据记录内容或者顺序)的修改都会造成在验证时计算得到的数据块的哈希值和数据块生成时的哈希值不一致,而导致验证失败,从而实现了中心化下的不可篡改。
需要说明的是,在类块链式的账本中,账本中的数据记录难以被篡改。但是,这并不意味着用户不能对数据记录进行某些特定的操作。
例如,在中心化的类区块链账本中,用户则可以通过预先定义的不同指令对于数据块中的数据进行诸如添加、清除、隐匿等等操作。不同的操作方式对于账本的影响是不一样的,具体的操作方式将在下文进行详细描述。在实际应用中,一个类区块链的账本往往有可能有多方用户进行参与,因此,有必要对不同的用户以及不同的操作方式进行相应权限管理。
以下结合附图,详细说明本说明书各实施例提供的技术方案。如图2所示,图2是本说明书实施例提供的一种块链式账本中的权重管理方法的流程示意图,该流程具体包括如下步骤:
S201,接收权重配置指令,所述指令中包含配置目标和配置目标的权重值,其中,所述配置目标包括账户标识或者操作指令标识。
权重配置指令的发送方可以是数据库服务提供方,也可以是对于账本有权重配置权限的用户,例如,对账本具有管理员权限的用户。
权重配置指令的形式可以根据需要自行设定,只需其中包含有配置目标和配置目标的权重值即可。以下示例性的给出几种权重配置指令。
第一种,GRANT(userid,&v):给与userid所对应的用户权重值v;
第二种,GRANT(‘OPRD’,&v):给与OPRD所对应的操作命令相应的权重值v。
此处的OPRD即为用户所输入的操作指令标识,其可以包括诸如添加(APPEND)、清除(PURGE)、隐匿(OCCULT)、验证(VERIFY)、查询(RETRIEVE)等等。
以下示例性给出几种具体的操作指令及其形式,以及简略说明各自的实现方式。
添加指令,APPEND(v,&khash):用户向账本中添加数据记录“v”,中心化的服务方返回数据记录的哈希值“khash”给用户。
验证指令,VERIFY(‘khash’,&v):用户输入哈希值“khash”,对由哈希值所确定的数据块或者数据记录执行验证,返回验证结果“&v”。验证的方式,即根据数据块中的数据记录构建默克尔树,得到默克尔树的根哈希,根据该根哈希和父数据块的哈希值计算得到一个哈希值,并与该数据块的哈希值对比是否一致。
清除指令,PURGE(lgid,blkbound):用户指定账本标识“lgid”以及块高“blkbound”,服务方基于块高确定块高之前的数据块均为需要清除的数据块,然后清除这些确定需要清除的数据块。并且生成一个伪初始数据块,伪初始数据块的哈希值等于被确定的需要清除的最后一个数据块的哈希值,这样,可以避免在以后进行验证时出现错误。被清除的数据实际上在一定时间的窗口期内(例如,72小时)仍然存在于数据库服务方中,只是形式上已经被从该账本中移出。在清除窗口期内的账本可以通过RECALL指令找回。
隐匿指令,OCCULT(blkheight,txoff):用户指定由块高“blkheight”和指定偏移量“txoff”所确定的一条数据记录,用隐匿化数据替换所述数据记录,隐匿化数据中包含所述数据记录的交易哈希。
查询指令,RETRIEVE(khash,&v):用户输入一个数据记录的哈希值“khash”,查询得到该哈希值所对应的数据记录所处的数据块的块高和数据记录在该数据块中的偏移量“&v”。
上述部分只是对于操作指令简单的给出了几个示例,在实际应用中,数据库服务方还可以基于业务需要给出更多的可执行的操作指令,以及在操作指令中加入其它参数,以实现更复杂的数据库服务。
在一个具体的实施例中,由于一份账本可能是多个业务方共同相关的,例如,一个关于产品供应链的账本,一般就有多方用户共同参与。因此,某些对于账本有较大影响的操作指令,一般需要多方用户共同确认,才可执行,例如清除、隐匿等等。
当配置目标为操作指令标识时,所述权重配置指令还包括参与方数量。即对于权重配置指令,GRANT(‘OPRD’,&v),此时还可以在其中包含有数量参数,用于指定参与方数量,用于确定一个指定的执行人数。
一种可实施方式为参与方数量为一个固定的数值,此时,操作指令的形式可以是:GRANT(‘OPRD’,&v,N),其中的N即用于指定参与方人数,N为自然数。
另一种可实施方式即为参与方数量为一个区间,此时,操作指令的形式可以是:GRANT(‘OPRD’,&v,N1,N2),其中的自然数N1和N2即用于确定闭区间[N1,N2],操作指令的OPRD的参与方数量即被重新配置为在该区间之内。
此外,在上述对于操作指令的配置过程中,还可以只包含操作指令标识和参与方数量,而缺省对于权重值的配置。此时操作指令的形式可以是:GRANT(‘OPRD’,N),或者GRANT(‘OPRD’,N1,N2)。在这种方式下,即表示对于操作指令的权限不做变动,只改变相应的参与方数量。
S203,将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,并存储。
由于配置目标可以包含账户标识,也可以包含操作指令标识。因此,配置文件可以是一个同时包含账户标识和操作指令标识的配置文件。在一种实施方式中,为便于管理,也可以是分别包含账户标识和操作指令标识的两个配置文件。例如,存在操作指令与操作权限阈值系统表SYS_TABLE1,以及,用于存储账户与权限阈值表的SYS_TABLE2。以下示例性的给出两个配置表的形式:
SYS_TABLE1:操作指令、权重值与参与方数量系统表
Figure GDA0002925143690000081
Figure GDA0002925143690000091
SYS_TABLE2:账户与权重值系统表
账户名 权重值
SYSADM 100
ROLE01 50
ROLE02 25
需要说明的是,在SYS_TABLE1中的权重值指的是执行该操作指令时所需要达到的权重值,在SYS_TABLE2中的权重值指的是该账户所有用的权限值。
S205,生成包含配置文件的变更内容的数据记录,其中,所述数据记录中包括配置目标、变更前的权重值、变更后的权重值和变更时间。
配置文件的变更内容指的即为根据本次权重配置指令,对于配置文件做了哪些修改,具体而言,即包括配置目标、变更前的权重值、变更后的权重值和变更时间。此外,生成的数据记录中还可以包括本次进行权重配置指令的账户,一般而言,即为具有管理员权限的账户。
S207,将所述数据记录写入所述账本的数据块中,确定所述数据记录的哈希值,返回所述哈希值至权重配置指令的发送方。
由于该数据记录包含本次操作指令的相关内容,通过该数据记录写入账本,即相当于对本次操作记录进行了存证。同时,返回数据记录相应的哈希值至用户,用户随时可以基于该哈希值进行验证本次权重变更的真实性,提高了权重配置的可靠性。
由以上本申请实施例提供的技术方案可见,通过权重配置指令的形式,对用户以及操作指令的权重进行配置,并存储至相应的配置文件中,同时,将本次配置的相关内容生成数据记录,并写入账本中进行存证。本申请实施例可以便利的对块链式账本进行权重管理。
在实际应用中,中心化的数据库服务提供方可能同时需要对多个账本提供服务。因此,在一种实施方式中,一个账本的配置文件可以是在该账本被创建时(即生成初始数据块时)同时生成的。配置文件被创建时,对于操作指令的权重值可以分别赋予一个默认的初始权重值,对于账户而言,则应该至少存在一名账户拥有权重配置的权限(即具有SYSADM管理员权限),即初始配置文件中至少存在一名账户的权重值不低于权重配置指令标识的权重值。通常而言,可以赋予向初始数据块中写入第一条数据的人具有管理员权限,以便其进行个性化的权限配置。
在本申请所提供的实施例中,由于一个中心化的数据库服务方可以同时对多个账本提供服务,一个账本中则可以有多个用户参与,如图3所示,图3为本说明书实施例所涉及的账本服务的系统架构示意图。因此,在业务执行过程中,随时可能会有新的业务方要参与进来。此时,为便于各用户对账本的使用,不限制只有SYSADM账户才能创建账户,而是任何人都能创建账户,但只能创建出小于自身权重值的账户。
一种具体的创建账户的方法为通过创建账户指令来实现,以下示例性的给出创建账户指令的一种形式:CREATEROLE(&name,&weight),即创建出权重值为“weight”的第二账户“name”。数据库服务方在接收到该指令时,即从配置文件中获取第一账户的权重值,判断所述第二账户的权重值是否小于所述第一账户的权重值,若小于,创建对所述块链式账本具有操作权限的第二账户。并且,将第二账户和其对应的权重值写入配置文件中。
在确定了各操作指令和各账户的权重值后,每当数据库服务方接收到操作指令时,即首先需要确定该指令的执行账户。
一些指令,例如添加APPEDN、验证VERIFY只需要一个账户参与,此时,指令的发送方即为执行账户。此时直接判断,若执行账户的权重值小于操作指令的权重值,则不进行本次操作。
另一些指令可能需要多方参与,例如清除PURGE、找回RECALL、隐匿RECALL等等,此时,数据库服务方可以基于预先设定发起确认请求至其执行户。例如,通过部署智能合约的方式,智能合约中的代码功能被设置为,每当接收到清除指令所对应的参数PURGE时,即发起确认请求至其它相关的3位用户方,前述的3位用户包括清除指令发起账户即为执行账户。当执行账户返回确认指令后,即对执行账户的权重值进行求和,如果执行账户的权重值的和小于操作指令的权重值,则不执行本次操作。通过上述方式,可以进一步方便管理不同账户对于账本的操作。
对应的,本说明书实施例还提供一种块链式账本中的权重管理装置,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,如图4所示,图4是本说明书实施例提供的一种块链式账本中的权重管理装置的结构示意图,包括:
接收模块401,接收权重配置指令,所述指令中包含配置目标和配置目标的权重值,其中,所述配置目标包括账户标识或者操作指令标识;
存储模块403,将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,并存储;
生成模块405,生成包含配置文件的变更内容的数据记录,其中,所述配置文件的变更内容与所述权重配置指令相关,包括配置目标、变更前的权重值、变更后的权重值和变更时间;
写入模块407,将所述数据记录写入所述账本的数据块中;
返回模块409,确定所述数据记录的哈希值,返回所述哈希值至权重配置指令的发送方;
其中,在所述块链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。
进一步地,当所述配置目标为操作指令标识时,所述权重配置指令还包括参与方数量;相应的,所述存储模块403,将所述配置目标的权重值和参与方数量,写入用于存储操作指令标识、操作指令标识的权重值和参与方数量的配置文件。
进一步地,所述装置还包括数据块生成模块411,接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:当N=1时,初始数据块的哈希值和块高基于预设方式给定;当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
进一步地,所述装置还包括初始配置文件生成模块413,当生成初始数据块时,生成初始配置文件,所述初始配置文件中至少存在一名账户的权重值不低于权重配置指令标识的权重值。
进一步地,所述装置还包括用户创建模块415,接收第一账户所发送的创建用户指令,所述创建用户指令中包含被创建的第二账户和第二账户的权重值;从所述配置文件中获取第一账户的权重值,判断所述第二账户的权重值是否小于所述第一账户的权重值,若小于,创建对所述块链式账本具有操作权限的第二账户;将所述第二账户和第二账户的权重值的对应关系写入所述配置文件。
进一步地,在执行任一操作指令之前,所述装置还包括权重判断模块417,确定所述操作指令的执行账户,以及,从所述配置文件中,确定各执行账户的权重值,和,确定所述操作指令的权重值;确定各执行账户的权重值之和,若各执行账户的权重值之和小于所述操作指令的权重值,不执行所述操作指令。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图2所示的权重管理方法。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器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,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图2所示的权重管理方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (13)

1.一种块链式账本中的权重管理方法,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述方法包括:
接收权重配置指令,所述指令中包含配置目标和配置目标的权重值,其中,所述配置目标包括账户标识或者操作指令标识;
将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,并存储;
生成包含配置文件的变更内容的数据记录,其中,所述数据记录中包括配置目标、变更前的权重值、变更后的权重值和变更时间;
将所述数据记录写入所述账本的数据块中,确定所述数据记录的哈希值,返回所述哈希值至权重配置指令的发送方;
其中,在所述块链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。
2.如权利要求1所述的方法,当所述配置目标为操作指令标识时,所述权重配置指令还包括参与方数量;
相应的,所述将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,包括:
将所述配置目标的权重值和参与方数量,写入用于存储操作指令标识、操作指令标识的权重值和参与方数量的配置文件。
3.如权利要求1所述的方法,在中心化的数据库服务提供方,数据块通过如下方式预先生成:
接收待存储的数据记录,确定各数据记录的哈希值;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
4.如权利要求3所述的方法,还包括:
当生成初始数据块时,生成初始配置文件,所述初始配置文件中至少存在一名账户的权重值不低于权重配置指令标识的权重值。
5.如权利要求1所述的方法,还包括:
接收第一账户所发送的创建用户指令,所述创建用户指令中包含被创建的第二账户和第二账户的权重值;
从所述配置文件中获取第一账户的权重值,判断所述第二账户的权重值是否小于所述第一账户的权重值,若小于,创建对所述块链式账本具有操作权限的第二账户;
将所述第二账户和第二账户的权重值的对应关系写入所述配置文件。
6.如权利要求1至5任一所述的方法,在执行任一操作指令之前,还包括:
确定所述操作指令的执行账户,以及,从所述配置文件中,确定各执行账户的权重值,和,确定所述操作指令的权重值;
确定各执行账户的权重值之和,若各执行账户的权重值之和小于所述操作指令的权重值,不执行所述操作指令。
7.一种块链式账本中的权重管理装置,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述装置包括:
接收模块,接收权重配置指令,所述指令中包含配置目标和配置目标的权重值,其中,所述配置目标包括账户标识或者操作指令标识;
存储模块,将所述配置目标的权重值,写入用于存储配置目标和配置目标的权重值的对应关系的配置文件,并存储;
生成模块,生成包含配置文件的变更内容的数据记录,其中,所述配置文件的变更内容与所述权重配置指令相关,包括配置目标、变更前的权重值、变更后的权重值和变更时间;
写入模块,将所述数据记录写入所述账本的数据块中;
返回模块,确定所述数据记录的哈希值,返回所述哈希值至权重配置指令的发送方;
其中,在所述块链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。
8.如权利要求7所述的装置,当所述配置目标为操作指令标识时,所述权重配置指令还包括参与方数量;相应的,所述存储模块,将所述配置目标的权重值和参与方数量,写入用于存储操作指令标识、操作指令标识的权重值和参与方数量的配置文件。
9.如权利要求7所述的装置,还包括数据块生成模块,接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:当N=1时,初始数据块的哈希值和块高基于预设方式给定;当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块。
10.如权利要求9所述的装置,还包括初始配置文件生成模块,当生成初始数据块时,生成初始配置文件,所述初始配置文件中至少存在一名账户的权重值不低于权重配置指令标识的权重值。
11.如权利要求8所述的装置,还包括用户创建模块,接收第一账户所发送的创建用户指令,所述创建用户指令中包含被创建的第二账户和第二账户的权重值;从所述配置文件中获取第一账户的权重值,判断所述第二账户的权重值是否小于所述第一账户的权重值,若小于,创建对所述块链式账本具有操作权限的第二账户;将所述第二账户和第二账户的权重值的对应关系写入所述配置文件。
12.如权利要求7至11任一所述的装置,在执行任一操作指令之前,还包括权重判断模块,确定所述操作指令的执行账户,以及,从所述配置文件中,确定各执行账户的权重值,和,确定所述操作指令的权重值;确定各执行账户的权重值之和,若各执行账户的权重值之和小于所述操作指令的权重值,不执行所述操作指令。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至6任一项所述的方法。
CN201910234779.6A 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备 Active CN110022315B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110951196.2A CN113726751B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备
CN201910234779.6A CN110022315B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910234779.6A CN110022315B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110951196.2A Division CN113726751B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110022315A CN110022315A (zh) 2019-07-16
CN110022315B true CN110022315B (zh) 2021-06-29

Family

ID=67190077

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110951196.2A Active CN113726751B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备
CN201910234779.6A Active CN110022315B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110951196.2A Active CN113726751B (zh) 2019-03-26 2019-03-26 一种块链式账本中的权重管理方法、装置及设备

Country Status (1)

Country Link
CN (2) CN113726751B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249987B2 (en) 2019-08-14 2022-02-15 Advanced New Technologies Co., Ltd. Data storage in blockchain-type ledger
CN110597462A (zh) * 2019-08-14 2019-12-20 阿里巴巴集团控股有限公司 块链式账本中的数据存储方法、系统、装置及设备
CN110597461B (zh) * 2019-08-14 2020-08-18 阿里巴巴集团控股有限公司 块链式账本中的数据存储方法、装置及设备
CN110688664B (zh) * 2019-09-25 2021-03-23 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的权限管理方法、装置及设备
CN110717172B (zh) * 2019-09-25 2021-04-27 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的权限移交方法、装置及设备
CN110825737A (zh) * 2019-10-18 2020-02-21 支付宝(杭州)信息技术有限公司 索引创建和数据查询方法、装置及设备
CN111444193B (zh) * 2020-06-12 2020-09-25 支付宝(杭州)信息技术有限公司 一种块链式账本中的权重分配方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273760A (zh) * 2017-06-09 2017-10-20 济南浪潮高新科技投资发展有限公司 一种基于区块链多ca应用认证方法
CN108306887A (zh) * 2018-02-05 2018-07-20 徐正伟 基于区块链的物联网安全与数据隐私保护系统
CN109491996A (zh) * 2018-09-27 2019-03-19 上海点融信息科技有限责任公司 用于区块链网络的区块生成方法、区块数据访问方法、计算设备、存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170228371A1 (en) * 2016-02-05 2017-08-10 Manifold Technology, Inc. Blockchain-enhanced database
US20190238550A1 (en) * 2016-12-26 2019-08-01 Cloudminds (Shenzhen) Robotics Systems Co., Ltd. Permission control method, apparatus and system for block chain, and node device
CN106796685A (zh) * 2016-12-30 2017-05-31 深圳前海达闼云端智能科技有限公司 区块链权限控制方法、装置及节点设备
CA3000340A1 (en) * 2017-04-06 2018-10-06 Stronghold Labs, Llc Account platform for a distributed network of nodes
CN109299616A (zh) * 2018-09-07 2019-02-01 北明软件有限公司 一种基于连接池的数据安全管控系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273760A (zh) * 2017-06-09 2017-10-20 济南浪潮高新科技投资发展有限公司 一种基于区块链多ca应用认证方法
CN108306887A (zh) * 2018-02-05 2018-07-20 徐正伟 基于区块链的物联网安全与数据隐私保护系统
CN109491996A (zh) * 2018-09-27 2019-03-19 上海点融信息科技有限责任公司 用于区块链网络的区块生成方法、区块数据访问方法、计算设备、存储介质

Also Published As

Publication number Publication date
CN113726751B (zh) 2023-08-18
CN110022315A (zh) 2019-07-16
CN113726751A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN110022315B (zh) 一种块链式账本中的权重管理方法、装置及设备
CN109902086B (zh) 一种索引创建方法、装置及设备
CN110188096B (zh) 一种数据记录的索引创建方法、装置及设备
CN110162662B (zh) 一种块链式账本中数据记录的验证方法、装置及设备
CN109951290B (zh) 一种链式账本的授时认证方法、装置及设备
CN110008743B (zh) 一种块链式账本中的数据属性标识方法、装置及设备
CN110334153B (zh) 块链式账本中的授权方法、系统、装置及设备
US11070379B2 (en) Signature verification for a blockchain ledger
CN110061843B (zh) 一种链式账本中的块高创建方法、装置及设备
CN111352935B (zh) 一种块链式账本中的索引创建方法、装置及设备
CN110190963B (zh) 一种针对授时证书生成请求的监控方法、装置及设备
CN110147685B (zh) 数据验证方法、系统、装置及设备
CN110266494B (zh) 一种块链式账本中的授时认证方法、装置及设备
CN110474775B (zh) 一种块链式账本中的用户创建方法、装置及设备
TWI762851B (zh) 塊鏈式帳本中的資料驗證方法、系統、裝置及設備
CN110837502A (zh) 一种块链式账本中的数据存储方法、装置及设备
CN110059088B (zh) 一种块链式账本中的数据属性标识方法、装置及设备
CN110059087B (zh) 一种块链式账本中的数据属性标识方法、装置及设备
CN110225103B (zh) 一种业务推荐方法、装置及设备
CN110727679A (zh) 法院案卷的协同追踪方法、系统、装置及设备
CN110717172B (zh) 一种块链式账本中的权限移交方法、装置及设备
CN110688664B (zh) 一种块链式账本中的权限管理方法、装置及设备
CN110636042B (zh) 一种服务端已验证块高的更新方法、装置及设备
CN111444215A (zh) 一种块链式账本中的成块方法、装置及设备
CN111444193B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200925

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: 20200925

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.

GR01 Patent grant
GR01 Patent grant