数值整合方法、装置、电子设备及计算机可读存储介质与流程

文档序号:15934991发布日期:2018-11-14 02:14阅读:170来源:国知局

本申请涉及网络技术领域,特别涉及一种数值整合方法、装置、电子设备及计算机可读存储介质。

背景技术

随着网络技术的发展,越来越多的场景中涉及到数值转移。其中,电子支付就是一种数值转移过程。电子支付是指将用户通过网络将数值转移请求发送至某电子设备,由该电子设备根据数值转移请求中的信息,将该用户的账户中一定的数值转移到其他账户中。

在采用区块链技术对数值转移过程进行处理的场景中,通常是由用户通过网络将数值转移请求发送至区块链系统,由区块链系统基于该数值转移请求生成区块,并对区块进行共识,共识通过时,可以在账户表中将付款账户的待转出的未花费的交易输出(unspenttransactionoutput,utxo)删除,并在账户表中为该收款账户添加一定数值的utxo。例如,用户a需要向用户b支付3元,而用户a的账户中没有面额为3元的utxo,则区块链系统中节点设备可以将用户a的账户中面额为5元的utxo删除,在用户b的账户中添加的面额为3元的utxo,还要在用户a的账户中添加一个新的面额为2元的utxo。

但随着数值转移次数的增多,有些面额很小或不规则的utxo可能会不容易被花费,则会导致账户中的utxo数量越来越多,占用的存储空间也越来越大,使得区块链中节点设备的负载越来越大,因此,亟需一种数值整合方法来减少账户中的utxo数量,以减少账户中的utxo所占的存储空间。



技术实现要素:

本申请实施例提供了一种数值整合方法、装置、电子设备及计算机可读存储介质,可以解决相关技术中账户中utxo数量较多,占用过多存储空间的问题。所述技术方案如下:

一方面,提供了一种数值整合方法,应用于电子设备中,所述方法包括:

从区块链系统的账户表中获取目标账户的utxo信息;

当根据所述utxo信息,确定所述目标账户中的utxo符合数值整合条件时,向区块链系统发送数值整合请求,所述数值整合请求用于指示所述区块链系统将所述目标账户中的第一数量的utxo转换为第二数量的utxo,所述第二数量小于所述第一数量;

接收所述区块链系统发送的整合成功消息。

一方面,提供了一种数值整合方法,应用于区块链系统中任一节点设备中,所述方法包括:

获取数值整合请求,所述数值整合请求用于指示将目标账户中的第一数量的utxo转换为第二数量的utxo,所述数值整合请求由所述目标账户中的utxo符合数值整合条件触发;

基于所述数值整合请求,生成区块,对所述区块进行共识;

当所述区块通过共识时,将所述区块添加至区块链中;

在区块链系统的账户表中,将所述目标账户中的所述第一数量的utxo转换为所述第二数量的utxo。

一方面,提供了一种数值整合装置,应用于电子设备中,所述装置包括:

获取模块,用于从区块链系统的账户表中获取目标账户的utxo信息;

发送模块,用于当根据所述utxo信息,确定所述目标账户中的utxo符合数值整合条件时,向区块链系统发送数值整合请求,所述数值整合请求用于指示所述区块链系统将所述目标账户中的第一数量的utxo转换为第二数量的utxo,所述第二数量小于所述第一数量;

接收模块,用于接收所述区块链系统发送的整合成功消息。

一方面,提供了一种数值整合装置,应用于区块链系统中任一节点设备中,所述装置包括:

获取模块,用于获取数值整合请求,所述数值整合请求用于指示将目标账户中的第一数量的未花费的交易输出utxo转换为第二数量的utxo,所述数值整合请求由所述目标账户中的utxo符合数值整合条件触发;

共识模块,用于基于所述数值整合请求,生成区块,对所述区块进行共识;

添加模块,用于当所述区块通过共识时,将所述区块添加至区块链中;

数值整合模块,用于在区块链系统的账户表中,将所述目标账户中的所述第一数量的utxo转换为所述第二数量的utxo。

一方面,提供了一种电子装置,所述电子装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现所述任一方面所述的数值整合方法中任一项所执行的操作。

一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述任一方面所述的数值整合方法中任一项所执行的操作。

本申请实施例提供的技术方案带来的有益效果至少包括:

本申请实施例通过在检测到目标账户中的utxo符合数值整合条件时,通过区块链系统为其提供数值整合服务,将该目标账户中的数量较多的utxo转换为数量较少的utxo,从而减少了目标账户中的utxo的数量,从而降低了目标账户中的utxo所占用的存储空间,从而降低了区块链系统中节点设备的负载。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种数值整合方法的实施环境;

图2是本申请实施例提供的一种数值整合方法流程图;

图3是本申请实施例提供的一种数值整合方法流程图;

图4是本申请实施例提供的一种数值整合装置的结构示意图;

图5是本申请实施例提供的一种数值整合装置的结构示意图;

图6是本申请实施例提供的一种电子设备的结构框图;

图7是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1是本申请实施例提供的一种数值整合方法的实施环境,参见图1,该实施环境中可以包括终端101、服务器102和多个服务器103,其中,该终端101、服务器102和多个服务器103两两之间可以通过网络连接,以实现数据交互,该多个服务器103均为区块链系统中的节点设备,其中,该多个服务器103所组成的网络可以为对等(peertopeer,p2p)网络,在该p2p网络中的节点设备均为对等者,也即是地位相同。

该终端101是指用户设备,服务器102为区块链系统外的设备,该终端101可以直接与区块链系统之间进行数据交互,获取区块链系统提供的数值整合服务,也可以通过服务器102,从区块链系统中获取数值整合服务,本申请实施例对此不作限定。

在本申请实施例中,该区块链系统中每个服务器(节点设备)均具有自己的区块链,该区块链中包括多个区块,每个区块中可以记录有不同的数值转移请求的内容或数值整合请求的内容,当然,也可以记录有其它内容,本申请实施例对此不作限定。

下面对本申请中涉及的名词进行介绍:

智能合约:根据特定条件自动执行的合约程序,是用户与区块链进行交互,利用区块链实现业务逻辑的重要途径。

上述数值整合方法可以应用于电子设备中,该电子设备可以是上述终端101,也可以是上述服务器102,还可以是上述多个服务器103中任一个服务器103,下面通过图2所示实施例中以终端101或服务器102与服务器103进行交互为例进行说明。图2是本申请实施例提供的一种数值整合方法流程图,参见图2,该方法可以包括以下步骤:

201、电子设备从区块链系统的账户表中获取目标账户的utxo信息。

在本申请实施例中,电子设备可以检测目标账户中的utxo信息,在utxo符合数值整合条件时,对utxo进行数值整合,从而减少目标账户中的utxo的数量,以降低目标账户中的utxo所占用的存储空间。

其中,该目标账户可以是任一个用户账户。区块链系统的节点设备中一般存储有该账户表,该账户表用于存储账户中的utxo。在该账户表中,每个账户中通常有自己对应的索引信息,电子设备可以根据该索引信息,获取到某个账户的utxo信息。在本申请实施例中,电子设备可以根据该目标账户的索引信息,从区块链系统的账户表中获取该目标账户的utxo信息;其中,该索引信息为该目标账户的账户地址;或,该索引信息为交易哈希值。当然,该索引信息还可以是其它可以唯一标识目标账户的信息,本申请实施例对此不作限定。

具体地,该电子设备可以向区块链系统发送信息获取请求,由区块链系统根据该信息获取请求携带的索引信息,获取到目标账户的utxo信息,并将该utxo信息发送至该电子设备,当然,该电子设备还可以通过其他方式获取到该utxo信息,例如,该电子设备可以访问并读取区块链系统中任一节点设备存储的账户表,并根据读取的内容,在本地生成账户表副本,从而可以获取到目标账户的utxo信息,本申请实施例对此不作限定。

在本申请实施例中,该电子设备可以是上述图1中的终端101,也可以是服务器102。当该电子设备为服务器102时,该服务器102与终端101之间的关系也可能不同,其中,该终端101即是指用户设备。具体可以包括以下三种情况:

在一种情况中,该电子设备为上述终端101。

终端可以从区块链系统的账户表中获取目标账户的utxo信息,也即是用户设备可以访问账户表,从账户表中获取某个账户的utxo情况。

在一种可能实现方式中,终端可以通过已安装的客户端或通过门户网站访问区块链系统中的节点设备,以获取到目标账户的utxo信息。在一个具体的可能实施例中,该客户端中或门户网站中可以设置有该节点设备的一个访问接口,终端可以通过该访问接口访问节点设备上的账户表。在一种可能实现方式中,该终端还可以通过从账户表中获取目标账户的utxo信息,并为用户提供该目标账户的utxo管理功能。例如,该终端可以根据获取到的目标账户的utxo信息,为用户提供该目标账户的utxo的面额总和,也即是用户可以通过在终端中的“钱包”中获知自己某个账户中的“余额”。

在一种情况中,该电子设备为上述服务器102,在该服务器102中存储有终端101提供的目标账户的唯一密钥。

终端可以提供目标账户的唯一密钥给服务器,该服务器可以根据该唯一密钥全权管理该目标账户。例如,这种情况可以为账户托管,终端将目标账户托管给服务器,也即是终端将该目标账户的管理权给了服务器,该服务器可以通过该唯一密钥对该目标账户做任何操作。

在一种情况中,该电子设备为上述服务器102,在该服务器102中存储有终端101提供的具有该目标账户部分权限的密钥。

终端可以将目标账户的一部分业务功能委托给服务器,由服务器完成。具体可以采用多重签名技术实现,其中,该多重签名技术可以是m-n的多重签名技术,其中,n是公钥的总数量,m是至少需要n个公钥中的m个公钥才能进行解锁。例如,可以采用1-2的多重签名技术,也即是终端为该目标账户生成两对密钥,其中,有两个私钥,两个公钥,使用其中一个公钥即可进行解锁,当然,该公钥需要是与锁定所采用的私钥对应的公钥。则终端可以向服务器提供其中一对密钥,还可以为该密钥设置有操作权限,也即是该密钥具有该目标账户的部分权限。在一种可能实现方式中,终端也可以为该目标账户生成多个私钥和一个公钥,该公钥可以用于对该多个私钥中任一个私钥锁定的信息进行解锁,本申请实施例具体采用哪种可能实现方式不作限定,且对采用多重签名技术时m与n的取值不作具体限定。

202、当根据该utxo信息,确定该目标账户中的utxo符合数值整合条件时,电子设备根据该utxo信息和数值整合规则,确定该目标账户中待转出的第一数量的utxo和待转进的第二数量的utxo。

该电子设备可以根据获取到的utxo信息,检测目标账户中的utxo是否符合数值整合条件,如果是,则可以执行下述数值整合的相关步骤,如果否,则可以在后续执行上述步骤201和步骤202,继续检测。在一种可能实现方式中,该电子设备可以周期性执行上述步骤201,并执行检测目标账户中的utxo是否符合数值整合条件的步骤。

其中,目标账户中的utxo符合数值整合条件的情况可以包括:该目标账户中的utxo的数量大于第一数量阈值;或,该目标账户中的面额小于面额阈值的utxo的数量大于第二数量阈值;或,该目标账户中的utxo所占存储空间大于预设容量。其中,该第一数量阈值、第二数量阈值、面额阈值或预设容量等均可以由相关技术人员预先设置,也可以由用户根据自身的实际使用需求进行调整。需要说明的是,上述仅为几种目标账户中的utxo符合数值整合条件的几种示例,该数值整合条件可以由相关技术人员根据实际业务功能或需求预先设置,或由用户根据自身的utxo实际使用需求设定,在一种可能实现方式中,不同账户的数值整合条件也可以不同,本申请实施例对此不作限定。

例如,可以在电子设备中设置有数量上限,电子设备检测到账户中的utxo的数量很多,已经达到数量上限,则可以确定需要进行数值整合。或者,电子设备检测到小面额的utxo的数量很多,已经达到数量上限,则可以确定需要进行数值整合。或者在电子设备中还可以设置有容量上限,电子设备可以检测账户中的utxo所占的存储空间,如果占用的存储空间很大,达到容量上限,则可以确定需要进行数值整合。

电子设备在根据utxo信息,确定该目标账户中的utxo符合数值整合条件时,可以向区块链系统发送数值整合请求,其中,该数值整合请求用于指示该区块链系统将该目标账户中的第一数量的utxo转换为第二数量的utxo,该第二数量小于该第一数量,这样可以减少该目标账户中的utxo的数量,以减少该目标账户中的utxo所占用的存储空间,从而减少区块链中节点设备的负载。

在发送数值整合请求前,电子设备可以先确定该数值整合请求的具体内容,其中,该具体内容可以包括该目标账户中待转出的第一数量的utxo和待转进的第二数量的utxo。具体地,该电子设备确定第一数量的utxo和第二数量的utxo的过程所采用的数值整合规则可以由相关技术人员预先设置,本申请实施例对此不作具体限定,以下仅给出几种可能性示例:

在一种可能实现方式中,电子设备可以将该目标账户中的所有utxo作为该待转出的第一数量的utxo,并根据该第一数量的utxo的面额总和,确定该第二数量的utxo的面额总和。其中,电子设备根据该第一数量的utxo的面额总和,确定该第二数量的utxo的面额总和的过程可以为:电子设备根据该目标账户中每个utxo的面额所属的面额范围,确定每个面额范围中的最大值作为该第二数量的utxo的面额,该第二数量为一或该第二数量大于一。

例如,电子设备可以将目标账户中所有的utxo均进行整合,对于第二数量的utxo的面额,当第二数量为一时,电子设备可以将目标账户中所有的utxo均整合为一个utxo,则该第二数量的utxo的面额也即固定。当该第二数量大于一时,电子设备可以将目标账户中所有的utxo整合为第二数量的utxo,在该电子设备中可以设置有不同的面额范围,例如,[0,5],(5-10],……,如果第一数量的utxo的面额分别为4、6、3和2,则可以将5和10作为第二数量的utxo。该第二数量小于第一数量,通过数值整合可以有效减少目标账户中的utxo的数量,以降低节点设备的负载。

在一种可能实现方式中,该第二数量可以根据目标账户的历史交易信息确定,例如,可以将历史交易信息中并行进行的交易最大数量确定为第二数量。当然,该第二数量也可以是一个预设的数值,或该第二数量可以根据上述确定的第二数量的utxo的面额以及第一数量的utxo的面额总和确定,本申请实施例对此不作限定。

在一种可能实现方式中,电子设备可以将该目标账户中面额小于面额阈值的utxo作为第一数量的utxo,并根据该第一数量的utxo的面额总和,确定该第二数量的utxo的面额总和。

例如,该目标账户中包括的utxo的面额分别为20、13、8、5、4、1和9,以该面额阈值为10为例,电子设备可以将面额小于10的utxo作为待转出的utxo,也即是第一数量可以为5,第一数量的utxo可以为8、5、4、1和9,第二数量的utxo的确定过程与上述实现方式中同理,在此不多做赘述。

在一种可能实现方式中,电子设备可以根据该目标账户的历史交易信息,将该目标账户中第一面额范围内的utxo作为第一数量的utxo,将第二面额范围内的utxo作为第二数量的utxo,该第一面额范围为该历史交易信息中作为交易输入的频率小于第一频率阈值的utxo的面额范围,该第二面额范围为该历史交易信息中作为交易输入的频率大于第二频率阈值的utxo的面额范围。

例如,该目标账户的历史交易信息中可以确定用户经常使用面额为20、50或100的utxo或者用户经常使用面额范围为[20,100]的utxo,而很少使用[0,20]的utxo,则电子设备可以将当前账户中面额范围位于[0,20]内的utxo作为待转出的utxo,将面额20、50或100确定待转入的utxo的面额,或将[20,100]作为待转入的utxo的面额范围。

在一种可能实现方式中,电子设备在确定上述第一数量的utxo和第二数量的utxo时,该第一数量的utxo的面额总和与第二数量的utxo的面额总和的大小关系可以包括两种情况:

在一种情况中,该第一数量的utxo与该第二数量的utxo的面额总和相同。

一般地,区块链中节点设备为用户提供数值转移服务时,会收取一定费用,在本申请实施例提供的数值整合方法中,为了减少区块链中节点设备的负载情况,对用户的账户中的utxo进行数值整合,可以是一种对区块链系统中设备的维护方式,可能用户其实并没有主动进行数值整合的意愿,因此,还可以设置有:对目标账户进行数值整合时,不收取数值整合服务的费用。也即是该目标账户在进行数值整合时,转入和转出的utxo的面额总和相同。

具体地,可以通过智能合约实现,或在建立区块链系统时即规定数值整合请求的转入和转出的面额相同,不收取费用,从而可以提高该数值整合服务的实用性。当然,上述过程也可以通过其他方式实现,例如,将收取的费用的转入地址均改写为目标账户的账户地址,本申请实施例对此不作限定。

在一种情况中,该第一数量的utxo的面额总和为该第二数量的utxo的面额总和与预设面额的和值。

该预设面额是通过该区块链系统进行整合所需费用。例如,由区块链系统进行数值转移需要手续费,该数值整合过程也即是一种数值转移过程,该预设面额可以被转入区块链系统的账户中。则该目标账户中的第一数量的utxo中的一部分被整合后,可以转回至该目标账户,另一部分则被转入上述收取预设面额的账户中。其中,该预设面额由相关技术人员预先设置于区块链系统中,当然,还可以设置该数值整合过程收取的utxo的预设面额小于数值转移过程收取的utxo的面额,本申请实施例对该预设面额的具体取值不作限定。

基于上述数值整合条件和数值整合规则,对目标账户中的utxo进行数值整合,不仅可以减少目标账户中的utxo的数量,以降低节点设备的负载,整合后的utxo更易于花费,也为用户的utxo使用提供了便利。

203、电子设备向区块链系统发送数值整合请求。

电子设备在确定数值整合请求的内容后,可以向区块链系统发送数值整合请求。一般地,在该电子设备中可以存储有区块链系统中任一节点设备的地址,该电子设备可以获取该地址,将该数值整合请求发送至该地址。

在一种可能实现方式中,该数值整合请求可以携带有该目标账户的密钥,需要说明的是,该电子设备可以使用私钥将数值整合请求进行锁定后发送至区块链系统,也即是进行签名后发送,该区块链系统可以使用对应的公钥对该数值整合请求进行解锁。

对应于上述步骤201中的三种情况,在前两种情况中,该密钥为用户设备提供的该目标账户的唯一密钥。在最后一种情况中,该密钥为用户设备提供的具有该目标账户部分权限的密钥。则如果采用多重签名技术,终端将目标账户委托给服务器,则该终端可以使用自己的私钥对数值整合请求进行锁定,服务器也可以使用终端提供的具有目标账户部分权限的私钥对数值整合请求进行锁定,则区块链系统可以采用私钥对应的公钥进行解锁,则区块链系统可以在后续对解锁所采用的公钥与该数值整合请求对应存储,从而可以获知具体由谁发起的数值整合任务。

其中,由私钥对数值整合请求进行锁定的过程也即是生成签名信息,由数值整合请求携带该签名信息的过程。如果电子设备采用多个私钥和一个公钥对目标账户进行管理的方式,则区块链系统可以在后续将该数值整合请求携带的签名信息与该数值整合请求对应存储,从而可以获知该数值整合请求的发起者。当然,该步骤203中,该数值整合请求还可以包括其他内容,例如,数值整合过程所参照的规则或交易发起时间等,本申请实施例对此不作限定。

上述步骤202和步骤203是当根据该utxo信息,确定该目标账户中的utxo符合数值整合条件时,向区块链系统发送数值整合请求的过程,从而区块链系统后续可以根据该数值整合请求,为电子设备提供数值整合服务。

204、当接收到数值整合请求时,区块链系统基于该数值整合请求,生成区块,对该区块进行共识,该数值整合请求由该目标账户中的utxo符合数值整合条件触发。

在一种可能实现方式中,电子设备可以向区块链系统中任一节点设备发送数值整合请求,该节点设备接收到数值整合请求后,可以基于该数值整合请求,生成区块,该区块中包括该数值整合请求的内容。当然,该节点设备还可以基于多个数值整合请求或数值转移请求,生成区块,并向其他节点设备广播该区块,从而区块链系统可以对该区块进行共识。

例如,该节点设备生成区块的过程可以为:将当前区块链中最后一个区块称为第一区块,也即是第一区块为当前区块链中区块高度最高的区块,将该节点设备正在生成的区块称为第二区块。节点设备可以从区块链中获取第一区块的所有信息,从而可以基于该第一区块的所有信息,得到第一区块的区块头特征值,并将要存入第二区块中的合约的信息和数值整合请求进行特征值计算,得到第二区块的区块主体特征值,进而,节点设备可以将第一区块的区块头特征值、第二区块的区块主体特征值(还可以包括版本号、难度值和时间戳)存储至第二区块的区块头,并将合约的信息和数值整合请求存储至第二区块的区块主体,从而生成第二区块。这样该第一区块和第二区块通过第一区块的区块头特征值相关,可以实现在区块链中区块串联起来的目的。当然,上述仅为一种生成区块的示例,本申请实施例对该区块的具体生成过程不作限定。

其中,区块链系统对该区块进行共识时,可以确定该区块的信息是否准确,对于该区块中上述数值整合请求的内容,区块链系统中任一节点设备可以在本地存储的账户表中查询第一数量的utxo中每个utxo是否存在,且每个utxo是否被使用过,且可以确定数值整合请求的转入和转出的面额总和是否相同,其中,该utxo需要能够在账户表中查询到,且没有被使用过,且数值整合请求的转入和转出的面额总和相同时,数值整合请求可能有效,当然,还可以验证该数值整合请求的发送者的身份信息等,在一种可能实现方式中,每个节点设备对该区块进行验证后,可以向其他节点设备广播验证结果,当该区块链系统中大于预设比例的节点设备的验证结果为通过时,该区块链系统可以确定该区块通过共识,当然,该广播验证结果的具体实现过程以及该预设比例可以由相关技术人员预先设置,也可以由相关技术人员进行调整,本申请实施例对此不作限定,对该共识过程也不作具体限定。区块链系统在确定该区块通过共识时,可以执行下述步骤205至步骤206。

205、当该区块通过共识时,区块链系统将该区块添加至区块链中。

206、区块链系统在该区块链系统的账户表中,将该目标账户中的该第一数量的utxo转换为该第二数量的utxo。

该步骤205和步骤206是在该区块通过共识时,区块链系统进行数值整合,并记录本次数值整合内容的过程。该区块链系统中每个节点设备可以在该区块通过共识时,将该区块添加至区块链中。该节点设备还可以更新自身的账户表信息,该节点设备可以将第一数量的utxo从该账户表中删除,并在第二数量的utxo添加在该账户表中,也即是将已花费的utxo从该账户表中删除,并将未使用的utxo添加在该账户表中。这样,该账户表中包括各个账户中的utxo,该区块链系统中每个节点设备中的区块链中的区块添加步骤与账户表中的utxo信息更新同步进行,可以保证账户信息的准确性。需要说明的是,区块链系统可以先执行步骤205,再执行步骤206,也可以先执行步骤206,再执行步骤205,也可以同时执行步骤205和步骤206,本申请实施例对此不作限定。

需要说明的是,对于该区块链系统中任一节点设备,当该区块通过共识时,节点设备均可以执行该步骤205和步骤206,这样各个节点设备所记录的信息均一致,可以保证账户信息的准确性。

在一种可能实现方式中,在上述步骤202中的后一种情况中,第一数量的utxo的面额总和为该第二数量的utxo的面额总和与预设面额的和值,该区块链系统还可以在账户表中,在区块链系统的账户中添加面额为该预设面额的utxo。

207、区块链系统向电子设备发送整合成功消息。

该整合成功消息用于告知电子设备已成功将目标账户中的第一数量的utxo转换为第二数量的utxo。

208、电子设备接收该区块链系统发送的整合成功消息。

电子设备在接收到该整合成功消息时,还可以在界面中显示整合成功提示信息,以提示用户目标账户中的utxo的变化情况。

上述步骤204至步骤208均为区块通过共识时区块链系统或电子设备所执行的步骤,在一种可能实现方式中,上述区块可能没有通过共识,当该区块没有通过共识时,区块链系统可以忽略该数值整合请求。也即是如果该区块没有通过共识,区块链系统则可以不将该区块添加至区块链中,例如,可以丢弃该区块,当然,区块链系统也无需对账户表进行修改。

相应地,该区块链系统还可以向电子设备发送整合失败消息。其中,该整合失败消息用于告知电子设备该目标账户中的utxo未成功进行数值整合。从而电子设备可以接收到该区块链系统发送的整合失败消息。在一种可能实现方式中,电子设备接收到整合失败消息,也可以在界面中显示整合失败提示信息,以提示用户目标账户中的utxo的整合过程失败。该电子设备还可以显示提示信息,以提示用户可以重新进行数值整合操作。当然,该电子设备还可以无需用户触发,重新执行上述步骤201至步骤203,本申请实施例对此不作限定。

本申请实施例通过在检测到目标账户中的utxo符合数值整合条件时,通过区块链系统为其提供数值整合服务,将该目标账户中的数量较多的utxo转换为数量较少的utxo,从而减少了目标账户中的utxo的数量,从而降低了目标账户中的utxo所占用的存储空间,从而降低了区块链系统中节点设备的负载。

上述通过图2所示实施例对数值整合请求由区块链系统外的电子设备发送至区块链系统中任一节点设备为例进行了说明,在一种可能实现方式中,该区块链系统中任一节点设备还可以在检测到该目标账户中的utxo符合数值整合条件时生成数值整合请求,从而获取到数值整合请求。下面通过图3所示实施例对该实现方式进行详细说明。图3是本申请实施例提供的一种数值整合方法流程图,在本申请实施例中,该数值整合方法应用于电子设备中,该电子设备可以为上述多个服务器103中的任一个服务器,也即是区块链系统中任一节点设备,参见图3,该方法可以包括以下步骤:

301、节点设备从该区块链系统的账户表中获取目标账户的utxo信息。

该区块链系统中每个节点设备中均存储有账户表,节点设备可以从本地存储的账户表中获取目标账户的utxo信息,该步骤301与上述步骤201同理,本申请实施例对此不多做赘述。

在一种可能实现方式中,该节点设备可以周期性执行该步骤301,并基于获取到的utxo信息,检测目标账户中的utxo是否符合数值整合条件,如果是,则可以执行下述步骤302,如果否,则可以继续执行获取并检测的步骤。

302、当根据该utxo信息,确定该目标账户中的utxo符合数值整合条件时,节点设备根据该utxo信息和数值整合规则,确定该目标账户中待转出的第一数量的utxo和待转进的第二数量的utxo。

节点设备在确定目标账户中的utxo需要进行数值整合时,也可以确定数值整合请求的具体内容,具体确定过程与上述步骤202同理,在此不多做赘述。

303、节点设备生成数值整合请求,并基于该数值整合请求,生成区块。

该步骤301至步骤303为节点设备获取数值整合请求的过程,该步骤303与上述步骤203不同的是,该节点设备可以在确定数值整合请求的具体内容后,可以生成数值整合请求,也可以生成区块,该区块中包括该数值整合请求的内容,从而可以执行下述步骤304,将该区块广播给其他节点设备。

304、节点设备向区块链系统中其它节点设备发送该区块。

节点设备将该区块广播给区块链系统中其它节点设备,从而该区块链系统可以执行下述步骤305,对该区块进行共识。

305、该节点设备与区块链系统中其他节点设备对该区块进行共识。

该步骤303至步骤305是基于该数值整合请求,生成区块,对该区块进行共识的过程,其中,该区块的生成过程与上述步骤204同理,区块链系统可以对该区块中数值整合请求的内容进行共识,也可以对该区块中其它内容进行共识,在此不多做赘述。当该区块通过共识时,各个节点设备可以执行下述步骤306和步骤307。

306、当该区块通过共识时,节点设备将该区块添加至区块链中。

307、节点设备在该区块链系统的账户表中,将该目标账户中的该第一数量的utxo转换为该第二数量的utxo。

该步骤306和步骤307与上述步骤205和步骤206同理,区块链系统中任一节点设备均可以执行该步骤306和步骤307,在此不多做赘述。与上述步骤205和步骤206同理,本申请实施例对该步骤306和步骤307的执行顺序也不作限定。

在一种可能实现方式中,该区块还可能没有通过共识,区块链系统中各个节点设备可以忽略该数值整合请求,且该节点设备可以丢弃该区块,不将该区块添加至区块链中,也不对账户表进行修改。

本申请实施例通过区块链系统在检测到目标账户中的utxo符合数值整合条件时,直接进行数值整合,将该目标账户中的数量较多的utxo转换为数量较少的utxo,从而在无需用户操作,无需区块链系统外的设备进行操作,即可减少目标账户中的utxo的数量,从而降低了目标账户中的utxo所占用的存储空间,从而降低了区块链系统中节点设备的负载。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

图4是本申请实施例提供的一种数值整合装置的结构示意图,应用于电子设备中,参见图4,该装置包括:

获取模块401,用于从区块链系统的账户表中获取目标账户的utxo信息;

发送模块402,用于当根据该utxo信息,确定该目标账户中的utxo符合数值整合条件时,向区块链系统发送数值整合请求,该数值整合请求用于指示该区块链系统将该目标账户中的第一数量的utxo转换为第二数量的utxo,该第二数量小于该第一数量;

接收模块403,用于接收该区块链系统发送的整合成功消息。

在一种可能实现方式中,该获取模块401,用于根据该目标账户的索引信息,从区块链系统的账户表中获取该目标账户的utxo信息;其中,该索引信息为该目标账户的账户地址;或,该索引信息为交易哈希值。

在一种可能实现方式中,该目标账户中的utxo符合数值整合条件,包括:

该目标账户中的utxo的数量大于第一数量阈值;或,该目标账户中的面额小于面额阈值的utxo的数量大于第二数量阈值;或,该目标账户中的utxo所占存储空间大于预设容量。

在一种可能实现方式中,该装置还包括:

确定模块,用于当根据该utxo信息,确定该目标账户中的utxo符合数值整合条件时,根据该utxo信息和数值整合规则,确定该目标账户中待转出的第一数量的utxo和待转进的第二数量的utxo。

在一种可能实现方式中,该确定模块用于:

将该目标账户中的所有utxo作为该待转出的第一数量的utxo,并根据该第一数量的utxo的面额总和,确定该第二数量的utxo的面额总和;或,

将该目标账户中面额小于面额阈值的utxo作为第一数量的utxo,并根据该第一数量的utxo的面额总和,确定该第二数量的utxo的面额总和;或,

根据该目标账户的历史交易信息,将该目标账户中第一面额范围内的utxo作为第一数量的utxo,将第二面额范围内的utxo作为第二数量的utxo,该第一面额范围为该历史交易信息中作为交易输入的频率小于第一频率阈值的utxo的面额范围,该第二面额范围为该历史交易信息中作为交易输入的频率大于第二频率阈值的utxo的面额范围;

其中,该根据该第一数量的utxo的面额总和,确定该第二数量的utxo的面额总和,还包括:

根据该目标账户中每个utxo的面额所属的面额范围,确定每个面额范围中的最大值作为该第二数量的utxo的面额,该第二数量为一或该第二数量大于一。

在一种可能实现方式中,该第一数量的utxo与该第二数量的utxo的面额总和相同;或,该第一数量的utxo的面额总和为该第二数量的utxo的面额总和与预设面额的和值。

在一种可能实现方式中,该数值整合请求携带有该目标账户的密钥,该密钥为用户设备提供的该目标账户的唯一密钥;或,该密钥为用户设备提供的具有该目标账户部分权限的密钥。

本申请实施例提供的装置通过在检测到目标账户中的utxo符合数值整合条件时,通过区块链系统为其提供数值整合服务,将该目标账户中的数量较多的utxo转换为数量较少的utxo,从而减少了目标账户中的utxo的数量,从而降低了目标账户中的utxo所占用的存储空间,从而降低了区块链系统中节点设备的负载。

需要说明的是:上述实施例提供的数值整合装置在整合数值时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数值整合装置与数值整合方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图5是本申请实施例提供的一种数值整合装置的结构示意图,应用于区块链系统中任一节点设备中,参见图5,该装置包括:

获取模块501,用于获取数值整合请求,该数值整合请求用于指示将目标账户中的第一数量的utxo转换为第二数量的utxo,该数值整合请求由该目标账户中的utxo符合数值整合条件触发;

共识模块502,用于基于该数值整合请求,生成区块,对该区块进行共识;

添加模块503,用于当该区块通过共识时,将该区块添加至区块链中;

数值整合模块504,用于在该区块链系统的账户表中,将该目标账户中的该第一数量的utxo转换为该第二数量的utxo。

在一种可能实现方式中,获取模块501,用于:

接收电子设备发送的数值整合请求;或,

当检测到该目标账户中的utxo符合数值整合条件时,生成数值整合请求。

在一种可能实现方式中,该目标账户中的utxo符合数值整合条件,包括:

该目标账户中的utxo的数量大于第一数量阈值;或,该目标账户中的面额小于面额阈值的utxo的数量大于第二数量阈值;或,该目标账户中的utxo所占存储空间大于预设容量。

在一种可能实现方式中,该第一数量的utxo与该第二数量的utxo的面额总和相同。

在一种可能实现方式中,该第一数量的utxo的面额总和为该第二数量的utxo的面额总和与预设面额的和值;

该数值整合模块504还用于当该区块通过共识时,在该账户表中,在该区块链系统的账户中添加面额为该预设面额的utxo。

在一种可能实现方式中,该数值整合请求携带有该目标账户的密钥,该密钥为用户设备提供的该目标账户的唯一密钥;或,该密钥为用户设备提供的具有该目标账户部分权限的密钥。

本申请实施例提供的装置通过在检测到目标账户中的utxo符合数值整合条件时,通过区块链系统为其提供数值整合服务,将该目标账户中的数量较多的utxo转换为数量较少的utxo,从而减少了目标账户中的utxo的数量,从而降低了目标账户中的utxo所占用的存储空间,从而降低了区块链系统中节点设备的负载。

需要说明的是:上述实施例提供的数值整合装置在整合数值时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数值整合装置与数值整合方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图6是本申请实施例提供的一种电子设备的结构框图。该电子设备600可以被提供为一终端。该电子设备600可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,电子设备600包括有:处理器601和存储器602。

处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的数值整合方法。

在一些实施例中,电子设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。

外围设备接口603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路604用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它电子设备进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏605用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置电子设备600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在电子设备600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在电子设备600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在电子设备的前面板,后置摄像头设置在电子设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。

定位组件608用于定位电子设备600的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件608可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源609用于为电子设备600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,电子设备600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。

加速度传感器611可以检测以电子设备600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器612可以检测电子设备600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对电子设备600的3d动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器613可以设置在电子设备600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在电子设备600的侧边框时,可以检测用户对电子设备600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置电子设备600的正面、背面或侧面。当电子设备600上设置有物理按键或厂商logo时,指纹传感器614可以与物理按键或厂商logo集成在一起。

光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。

接近传感器616,也称距离传感器,通常设置在电子设备600的前面板。接近传感器616用于采集用户与电子设备600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图6中示出的结构并不构成对电子设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

图7是本申请实施例提供的一种电子设备的结构示意图,该电子设备可以被提供为一服务器,该电子设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)701和一个或一个以上的存储器702,其中,该存储器702中存储有至少一条指令,该至少一条指令由该处理器701加载并执行以实现上述各个方法实施例提供的方法。当然,该电子设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述实施例中的数值整合方法。例如,该计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1