HK1247301B - 一种基於区块链的数据处理方法及设备 - Google Patents
一种基於区块链的数据处理方法及设备 Download PDFInfo
- Publication number
- HK1247301B HK1247301B HK18106425.2A HK18106425A HK1247301B HK 1247301 B HK1247301 B HK 1247301B HK 18106425 A HK18106425 A HK 18106425A HK 1247301 B HK1247301 B HK 1247301B
- Authority
- HK
- Hong Kong
- Prior art keywords
- processing
- data
- business
- level
- queue
- Prior art date
Links
Description
技术领域
本申请涉及互联网信息处理技术及计算机技术领域,尤其涉及一种基于区块链的数据处理方法及设备。
背景技术
区块链技术也称为分布式账本技术,是一种分布式互联网数据库技术,其特点是去中心化、公开透明、不可篡改、可信任。基于区块链技术构建的网络可以称之为区块链网络,在该区块链网络中包含网络节点(也可以称之为区块链节点),每一个网络节点对应至少一个区块链,每一个区块链上至少包含一个区块。
由于网络节点在接收到待存储的数据时,通过广播的方式发送给区块链网络中的其他网络节点,所以区块链网络中的每一个网络节点都存储了该区块链网络的全量数据,且各个网络节点上存储的数据一致。
具体地,在区块链网络中存储数据一般分为两个阶段:第一个阶段,区块链网络接收到待存储的数据,并将该数据通过广播的方式在区块链网络中进行全网广播,这样区块链网络中的所有节点接收到该待存储的数据,此时,区块链网络中各个网络节点将该待存储的数据写入缓存中;第二个阶段,对于区块链网络中获取该待存储的数据的存储权的网络节点,在获取记录权时,将该待存储数据写入某一区块中,并将该区块上链至已存在的区块链上。由此可见,在区块链网络中采用异步写入策略存储数据。
然而,在实际业务场景中,采用异步写入策略将业务数据存储至区块链网络中,通常在第一个阶段维护一个数据处理队列,按照待存储数据的时间戳依次将待存储的数据写入数据处理队列中,这样,在第二阶段,按照先进先出的原则将数据处理队列中的待存储数据写入区块中。
经研究发现,按照上述方式在区块链网络中存储数据存在以下问题:对于业务优先级比较高的业务,业务数据处理效率比较低,进而导致这些业务的处理效率也比较低。
发明内容
有鉴于此,本申请实施例提供了一种基于区块链的数据处理方法及设备,用于解决现有技术中存在的业务优先级比较高的业务的业务数据处理效率比较低的问题。
本申请实施例提供了一种基于区块链的数据处理方法,包括:
所述区块链中的节点获取设定时间周期中产生的至少一个业务数据,所述业务数据中包含用于表征产生所述业务数据的业务的处理等级;
所述节点根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中;
在新的区块产生时,所述节点分别从不同的所述数据处理队列中读取满足设定条件的业务数据,并将读取到的所述业务数据存储至所述区块中。
本申请实施例还提供了一种基于区块链的数据处理设备,包括:
获取单元,获取设定时间周期中产生的至少一个业务数据,所述业务数据中包含用于表征产生所述业务数据的业务的处理等级;
存储单元,根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中;
处理单元,在新的区块产生时,分别从不同的所述数据处理队列中读取满足设定条件的业务数据,并将读取到的所述业务数据存储至所述区块中。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过按照处理等级将不同的业务数据存储至不同的数据处理队列中,以及在向区块中存储数据时,按照设定条件从不同的数据处理队列中读取一定数量的业务数据,以实现不同处理等级的业务数据都可以得到处理,打破了现有技术中单一按照时间因素处理业务数据的规定,避免了现有技术中业务优先级比较高的业务的处理效率比较低的问题,本申请实施例提供出的方案既保证了业务优先级高的业务的业务数据的处理效率,也保证了业务优先级低的业务的业务数据的处理效率,在满足业务处理优先级时,增加了区块链中业务数据处理的灵活性,也提升了区块链在业务应用领域的使用价值。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图2(a)为本申请实施例提供的不同处理等级的业务数据对应的数据处理队列的示意图;
图2(b)为本申请实施例提供的不同处理等级的业务数据对应的数据处理队列的示意图;
图3为本申请实施例提供的一种基于区块链的数据处理方法的场景示意图;
图4为本申请实施例提供的一种基于区块链的数据处理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种基于区块链的数据处理方法的流程示意图。所述方法可以如下所示。本申请实施例中的执行主体可以为区块链中的任一业务节点(又可以称之为区块链节点,以下简称为节点),这里不做具体限定。在本申请实施例中以执行主体为节点为例进行详细说明。
步骤101:所述区块链中的节点获取设定时间周期中产生的至少一个业务数据。
其中,所述业务数据中包含用于表征产生所述业务数据的业务的处理等级。
在本申请实施例中,首先,为不同的业务确定业务优先级。这里的业务优先级与业务数据的处理等级相对应,即业务优先级越高,那么该业务所产生的业务数据的处理等级越高。其次,在业务数据中增加一个表征产生该业务数据的业务的业务优先级(或者处理等级)的字段,这样节点在接收到该业务数据,能够通过该字段确定该业务数据的处理等级。
通常业务数据中包含的字段包含但不限于:哈希值、版本号、公钥、签名、所属区块的哈希值、时间戳(即节点受理该业务数据的时间)等,那么本申请实施例中所记载的业务数据中包含的字段包含但不限于:如表1所示。表1中描述各个字段的具体属性:
表1
较优地,本申请实施例中,还可以根据确定的业务优先级,为不同业务优先级配置数据处理队列,这样在接收到业务数据时,可以按照业务优先级进行分开存储。
在本申请实施例中,以业务优先级分为“高”和“低”两种为例进行后续内容的说明。如果业务优先级分为“高”和“低”两种,那么相应地处理等级也分为“高”和“低”两种,即高处理等级和低处理等级。
需要说明的是,由于区块链中产生相邻两个区块之间存在一个时间间隔,那么这个时间间隔可以作为本申请实施例中设定时间周期的参考条件,这里不做具体限定。
步骤102:所述节点根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中。
在本申请实施例中,由于预先可以根据业务的业务优先级(或者业务的处理等级)创建不同的数据处理队列,那么建立处理等级与数据处理队列的标识之间的映射关系。
节点在接收到业务数据时,提取该业务数据的处理等级(这里提取的方式可以是读取该业务数据中的处理等级字段,根据该处理等级字段确定该业务数据的处理等级);根据预先建立的处理等级与数据处理队列的标识之间的映射关系,确定与所述业务数据中包含的处理等级对应的数据处理队列;并将所述业务数据存储至确定的所述数据处理队列中。
图2(a)为本申请实施例提供的不同处理等级的业务数据对应的数据处理队列的示意图。从图2(a)中可以看出包含两个数据处理队列,其中,一个数据处理队列对应于高处理等级,即在该数据处理队列中存储的业务数据属于业务优先级高(或者业务处理等级高)的业务产生的;另一个数据处理队列对应于低处理等级,即在该数据处理队列中存储的业务数据属于业务优先级低(或者业务处理等级低)的业务产生的。
需要说明的是,数据处理队列中存储的业务数据可以按照业务数据的受理时间进行排列,也可以按照业务数据中包含的业务属性进行排列,还可以按照队列的原理(先进先出)进行排列,这里不做具体限定。
步骤103:在新的区块产生时,所述节点分别从不同的所述数据处理队列中读取满足设定条件的业务数据,并将读取到的所述业务数据存储至所述区块中。
在本申请实施例中,区块链网络中的各节点在处理业务数据时分为两个阶段,第一个阶段可以对应于本申请实施例的步骤101和步骤102,第二个阶段可以对应于本申请实施例的步骤103,即如何将业务数据存储至区块中。需要说明的是,本申请实施例所记载的方案的重点在于描述从不同数据处理队列中读取哪些业务数据以存储在区块中,所以在本申请实施例中不再详细介绍验证、共识等情形,这些处理方式可以按照现有技术的方式进行。
较优地,本申请实施例中所记载的所述设定条件可以根据所述区块的存储容量和预设的不同处理等级的业务数据的处理比例确定,也可以采取其他方式,只要保证不同业务处理等级的业务数据能够均衡写入区块中即可。
下面详细描述所述节点如何分别从不同的所述数据处理队列中读取满足设定条件的业务数据。
具体地,所述节点针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级;
若所述处理等级为第一处理等级,那么确定预设的第二处理等级的业务数据的处理比例,所述第一处理等级高于所述第二处理等级;
根据确定的所述处理比例和所述区块的存储容量,确定所述第一处理等级的业务数据的第一处理数量;
根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述处理数量的业务数据。
需要说明的是,本申请实施例中所记载的“第一数据处理队列”和“第二数据处理队列”中的“第一”和“第二”没有特殊含义,仅表示两个不同的数据处理队列。
本申请实施例中所记载的“第一处理等级”和“第二处理等级”中的“第一”和“第二”没有特殊含义,仅表示两个不同的处理等级,在本申请实施例中假设第一处理等级高于第二处理等级。
需要说明的是,本申请实施例中所记载的“第一处理数量”和“第二处理数量”中的“第一”和“第二”没有特殊含义,仅表示两个不同的数值。
以第一数据处理队列为研究对象。
第一,确定第一数据处理队列对应的处理等级。
第二,判断该处理等级是第一处理等级还是第二处理等级,若是第一处理等级,则执行第三;若是第二处理等级,则执行第四。
第三,确定预设的第二处理等级的业务数据的处理比例,根据确定的所述处理比例和所述区块的存储容量,确定所述第一处理等级的业务数据的第一处理数量;并根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
第四,确定预设的第二处理等级的业务数据的处理比例,根据确定的所述处理比例和所述区块的存储容量,确定第二处理等级的业务数据的第二处理数量;并根据所述第二处理数量,从所述第一数据处理队列中依次读取满足所述第二处理数量的业务数据。
需要说明的是,本申请实施例中“预设的第二处理等级的业务数据的处理比例”可以理解为本申请实施例中对于处理等级较低的业务数据的最少比例,即在本次向区块中存储数据时,最少需要存储的处理等级较低的业务数据占区块的存储容量的比例,这里处理比例可以根据实际需要进行调整,这里不做限定。
假设预设的第二处理等级的业务数据的处理比例为p,区块的存储容量(还可以理解区块所能转载的业务数据的上限数值)为x,那么确定所述第一处理等级的业务数据的第一处理数量可以表示为(1-p)x,确定第二处理等级的业务数据的第二处理数量可以表示为px。
在本申请实施例中,还存在另外一种情况,即所述第一数据处理队列中存储的业务数据的处理数量小于所述第一处理数量,也就意味着,在确定第一处理数量之后,第一数据处理队列中存储的业务数据不能够满足第一处理数量的要求,为了实现资源的合理使用,那么在这种情况下,按照所述第一数据处理队列中存储的业务数据的处理数量,从所述第一数据处理队列中依次读取业务数据。即将第一数据处理队列中存储的业务数据全部读取出。
那么此时根据所述第一数据处理队列中存储的业务数据的处理数量和所述区块的存储容量,确定从第二数据处理队列中读取业务数据的处理数量;并根据确定的从第二数据处理队列中读取业务数据的处理数量,依次从所述第二数据处理队列中读取业务数据。
仍以上述方式表示的话,假设所述第一数据处理队列中存储的业务数据的处理数量为m,由于(1-p)x对应的数值大于m,那么此时第一处理数量应该为m,这样确定的第二处理数量应该为(x-m)。也就是说,当业务优先级比较高的业务数据量较小时,在保证业务优先级较高的业务数据优先被处理的同时,可以尽可能多的处理业务优先级较低的业务数据。
在本申请实施例中,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
根据所述业务数据对应的受理时间的先后,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
同样,也可以按照所述业务数据对应的受理时间的先后,从所述第二数据处理队列中依次读取满足所述第二处理数量的业务数据。
在本申请实施例中,将读取到的所述业务数据存储至所述区块中,包括:
根据所述业务数据对应的受理时间的先后,依次将读取到的所述业务数据存储至所述区块中。
例如:图2(b)为本申请实施例提供的不同处理等级的业务数据对应的数据处理队列的示意图。从图2(b)中可以看出,按照步骤103中记载的方式依次从两个数据处理队列中读取不同数量的业务数据。
假设预设的每次处理等级低的业务数据存储至区块中的处理比例为30%,区块的存储容量为10,即可以存储10个业务数据。其中,处理等级高的数据处理队列中存储4个业务数据,处理等级低的数据处理队列中存储8个业务数据。通过判断,按照系统配置的策略需要选择的处理等级高的业务数据的处理量为(1-30%)*10=7个,显然4小于7,因此,从处理等级高的数据处理队列中将存储的4个业务数据全部取出,再从处理等级低的数据处理队列中取出6个业务数据,将得到的10个业务数据按照业务数据的受理时间的先后存储至区块中。
假设预设的每次处理等级低的业务数据存储至区块中的处理比例为30%,区块的存储容量为10,即可以存储10个业务数据。其中,处理等级高的数据处理队列中存储8个业务数据,处理等级低的数据处理队列中存储8个业务数据。通过判断,按照系统配置的策略需要选择的处理等级高的业务数据的处理量为(1-30%)*10=7个,显然8大于7,因此,从处理等级高的数据处理队列中读取出7个业务数据,再从处理等级低的数据处理队列中取出3个业务数据,将得到的10个业务数据按照业务数据的受理时间的先后存储至区块中。
在本申请实施例中,所述节点分别从不同的所述数据处理队列中读取满足设定条件的业务数据,还可以按照如下方式执行:
所述节点针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级,并获取预设的所述处理等级对应的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定处理数量,并从所述第一数据处理队列中依次读取满足所述处理数量的业务数据。
具体地,针对每一个数据处理队列,确定该数据处理队列对应的处理等级,进而按照预设的处理等级对应的处理比例,确定该数据处理队列对应的处理比例。根据确定的所述处理比例和所述区块的存储容量,确定处理数量,并从该数据处理队列中依次读取满足所述处理数量的业务数据。
例如:包含n个数据处理队列,那么这n个数据处理队列对应n个处理等级,不同处理等级对应的处理比例可以用ai表示,即第一处理等级对应的处理比例为a1,第i处理等级对应的处理比例为ai,第n处理等级对应的处理比例为an,那么(a1+a2+......+ai+......+an)=1。针对每一个数据处理队列,若区块的存储容量为X,那么第一处理等级对应的数据处理队列所对应的处理数量为a1*X;第i处理等级对应的数据处理队列所对应的处理数量为ai*X;第n处理等级对应的数据处理队列所对应的处理数量为an*X。
通过本申请实施例提供的技术方案,通过按照处理等级将不同的业务数据存储至不同的数据处理队列中,以及在向区块中存储数据时,按照设定条件从不同的数据处理队列中读取一定数量的业务数据,以实现不同处理等级的业务数据都可以得到处理,打破了现有技术中单一按照时间因素处理业务数据的规定,避免了现有技术中业务优先级比较高的业务的处理效率比较低的问题,本申请实施例提供出的方案既保证了业务优先级高的业务的业务数据的处理效率,也保证了业务优先级低的业务的业务数据的处理效率,在满足业务处理优先级时,增加了区块链中业务数据处理的灵活性,也提升了区块链在业务应用领域的使用价值。
图3为本申请实施例提供的一种基于区块链的数据处理方法的场景示意图。从图3中可以看出,区块链中的节点在接收到业务数据时,可以根据业务数据的处理等级为其选择数据处理队列,并将该业务数据写入该数据处理队列中。当产生新的区块时,按照业务数据选择策略(即上述实施例中步骤103中所记载的方式)从不同的数据处理队列中选择业务数据,并将选择的业务数据存储至区块中。
实施例2
图4为本申请实施例提供的一种基于区块链的数据处理设备的结构示意图。所述数据处理设备包括:获取单元401、存储单元402和处理单元403,其中:
获取单元401,获取设定时间周期中产生的至少一个业务数据,所述业务数据中包含用于表征产生所述业务数据的业务的处理等级;
存储单元402,根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中;
处理单元403,在新的区块产生时,分别从不同的所述数据处理队列中读取满足设定条件的业务数据,并将读取到的所述业务数据存储至所述区块中。
在本申请的另一个实施例中,所述设定条件根据所述区块的存储容量和预设的不同处理等级的业务数据的处理比例确定。
在本申请的另一个实施例中,所述处理单元403分别从不同的所述数据处理队列中读取满足设定条件的业务数据,包括:
针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级;
若所述处理等级为第一处理等级,那么确定预设的第二处理等级的业务数据的处理比例,所述第一处理等级高于所述第二处理等级;
根据确定的所述处理比例和所述区块的存储容量,确定所述第一处理等级的业务数据的第一处理数量;
根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
在本申请的另一个实施例中,所述处理单元403根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
在所述第一数据处理队列中存储的业务数据的处理数量小于所述第一处理数量时,按照所述第一数据处理队列中存储的业务数据的处理数量,从所述第一数据处理队列中依次读取业务数据。
在本申请的另一个实施例中,所述数据处理设备还包括:确定单元404,其中:
所述确定单元404,根据所述第一数据处理队列中存储的业务数据的处理数量和所述区块的存储容量,确定从第二数据处理队列中读取业务数据的处理数量;
根据确定的从第二数据处理队列中读取业务数据的处理数量,依次从所述第二数据处理队列中读取业务数据。
在本申请的另一个实施例中,所述处理单元403,还若所述处理等级为第二处理等级,那么确定预设的第二处理等级的业务数据的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定第二处理等级的业务数据的第二处理数量;
根据所述第二处理数量,从所述第一数据处理队列中依次读取满足所述第二处理数量的业务数据。
在本申请的另一个实施例中,所述处理单元403从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
根据所述业务数据对应的受理时间的先后,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
在本申请的另一个实施例中,所述处理单元403将读取到的所述业务数据存储至所述区块中,包括:
根据所述业务数据对应的受理时间的先后,依次将读取到的所述业务数据存储至所述区块中。
在本申请的另一个实施例中,所述数据处理设备还包括:创建单元405,其中:
所述创建单元405,预先根据业务的处理等级创建不同的数据处理队列;
所述存储单元402根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中,包括:
根据处理等级与数据处理队列之间的对应关系,确定与所述业务数据中包含的处理等级对应的数据处理队列;
将所述业务数据存储至确定的所述数据处理队列中。
在本申请的另一个实施例中,所述处理单元403分别从不同的所述数据处理队列中读取满足设定条件的业务数据,包括:
针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级,并获取预设的所述处理等级对应的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定处理数量,并从所述第一数据处理队列中依次读取满足所述处理数量的业务数据。
需要说明的是,本申请实施例提供的数据处理设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。数据处理设备通过按照处理等级将不同的业务数据存储至不同的数据处理队列中,以及在向区块中存储数据时,按照设定条件从不同的数据处理队列中读取一定数量的业务数据,以实现不同处理等级的业务数据都可以得到处理,打破了现有技术中单一按照时间因素处理业务数据的规定,避免了现有技术中业务优先级比较高的业务的处理效率比较低的问题,本申请实施例提供出的方案既保证了业务优先级高的业务的业务数据的处理效率,也保证了业务优先级低的业务的业务数据的处理效率,在满足业务处理优先级时,增加了区块链中业务数据处理的灵活性,也提升了区块链在业务应用领域的使用价值。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种基于区块链的数据处理方法,其特征在于,包括:
所述区块链中的节点获取设定时间周期中产生的至少一个业务数据,所述业务数据中包含用于表征产生所述业务数据的业务的处理等级;其中,为不同的业务预先确定业务优先级,所述业务优先级与业务数据的处理等级相对应,即业务优先级越高,该业务所产生的业务数据的处理等级越高;
所述节点根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中,使得所述业务数据的处理等级与所述数据处理队列的处理等级对应;其中,数据处理队列存在对应的处理等级;
在新的区块产生时,所述节点分别从不同的所述数据处理队列中读取满足设定条件的业务数据,并将读取到的所述业务数据存储至所述区块中,以便保证不同业务处理等级的业务数据能够均衡写入区块中;其中,所述设定条件为根据所述区块的存储容量和预设的不同处理等级的业务数据的处理比例所确定的。
2.根据权利要求1所述的数据处理方法,其特征在于,所述节点分别从不同的所述数据处理队列中读取满足设定条件的业务数据,包括:
所述节点针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级;
若所述处理等级为第一处理等级,那么确定预设的第二处理等级的业务数据的处理比例,所述第一处理等级高于所述第二处理等级;
根据确定的所述处理比例和所述区块的存储容量,确定所述第一处理等级的业务数据的第一处理数量;
根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
3.根据权利要求2所述的数据处理方法,其特征在于,根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
在所述第一数据处理队列中存储的业务数据的处理数量小于所述第一处理数量时,按照所述第一数据处理队列中存储的业务数据的处理数量,从所述第一数据处理队列中依次读取业务数据。
4.根据权利要求3所述的数据处理方法,其特征在于,所述方法还包括:
根据所述第一数据处理队列中存储的业务数据的处理数量和所述区块的存储容量,确定从第二数据处理队列中读取业务数据的处理数量;
根据确定的从第二数据处理队列中读取业务数据的处理数量,依次从所述第二数据处理队列中读取业务数据。
5.根据权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
若所述处理等级为第二处理等级,那么确定预设的第二处理等级的业务数据的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定第二处理等级的业务数据的第二处理数量;
根据所述第二处理数量,从所述第一数据处理队列中依次读取满足所述第二处理数量的业务数据。
6.根据权利要求2至5任一项所述的数据处理方法,其特征在于,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
根据所述业务数据对应的受理时间的先后,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
7.根据权利要求6所述的数据处理方法,其特征在于,将读取到的所述业务数据存储至所述区块中,包括:
根据所述业务数据对应的受理时间的先后,依次将读取到的所述业务数据存储至所述区块中。
8.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
预先根据业务的处理等级创建不同的数据处理队列;
根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中,包括:
根据处理等级与数据处理队列之间的对应关系,确定与所述业务数据中包含的处理等级对应的数据处理队列;
将所述业务数据存储至确定的所述数据处理队列中。
9.根据权利要求1所述的数据处理方法,其特征在于,所述节点分别从不同的所述数据处理队列中读取满足设定条件的业务数据,包括:
所述节点针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级,并获取预设的所述处理等级对应的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定处理数量,并从所述第一数据处理队列中依次读取满足所述处理数量的业务数据。
10.一种基于区块链的数据处理设备,其特征在于,包括:
获取单元,获取设定时间周期中产生的至少一个业务数据,所述业务数据中包含用于表征产生所述业务数据的业务的处理等级;其中,为不同的业务预先确定业务优先级,所述业务优先级与业务数据的处理等级相对应,即业务优先级越高,该业务所产生的业务数据的处理等级越高;
存储单元,根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中,使得所述业务数据的处理等级与所述数据处理队列的处理等级对应;其中,数据处理队列存在对应的处理等级;
处理单元,在新的区块产生时,分别从不同的所述数据处理队列中读取满足设定条件的业务数据,并将读取到的所述业务数据存储至所述区块中,以便保证不同业务处理等级的业务数据能够均衡写入区块中;其中,所述设定条件为根据所述区块的存储容量和预设的不同处理等级的业务数据的处理比例所确定的。
11.根据权利要求10所述的数据处理设备,其特征在于,所述处理单元分别从不同的所述数据处理队列中读取满足设定条件的业务数据,包括:
针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级;
若所述处理等级为第一处理等级,那么确定预设的第二处理等级的业务数据的处理比例,所述第一处理等级高于所述第二处理等级;
根据确定的所述处理比例和所述区块的存储容量,确定所述第一处理等级的业务数据的第一处理数量;
根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
12.根据权利要求11所述的数据处理设备,其特征在于,所述处理单元根据所述第一处理数量,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
在所述第一数据处理队列中存储的业务数据的处理数量小于所述第一处理数量时,按照所述第一数据处理队列中存储的业务数据的处理数量,从所述第一数据处理队列中依次读取业务数据。
13.根据权利要求12所述的数据处理设备,其特征在于,所述数据处理设备还包括:确定单元,其中:
所述确定单元,根据所述第一数据处理队列中存储的业务数据的处理数量和所述区块的存储容量,确定从第二数据处理队列中读取业务数据的处理数量;
根据确定的从第二数据处理队列中读取业务数据的处理数量,依次从所述第二数据处理队列中读取业务数据。
14.根据权利要求11所述的数据处理设备,其特征在于,
所述处理单元,若所述处理等级为第二处理等级,那么确定预设的第二处理等级的业务数据的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定第二处理等级的业务数据的第二处理数量;
根据所述第二处理数量,从所述第一数据处理队列中依次读取满足所述第二处理数量的业务数据。
15.根据权利要求11至14任一项所述的数据处理设备,其特征在于,所述处理单元从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据,包括:
根据所述业务数据对应的受理时间的先后,从所述第一数据处理队列中依次读取满足所述第一处理数量的业务数据。
16.根据权利要求15所述的数据处理设备,其特征在于,所述处理设备将读取到的所述业务数据存储至所述区块中,包括:
根据所述业务数据对应的受理时间的先后,依次将读取到的所述业务数据存储至所述区块中。
17.根据权利要求10所述的数据处理设备,其特征在于,所述数据处理设备还包括:创建单元,其中:
所述创建单元,预先根据业务的处理等级创建不同的数据处理队列;
所述存储单元根据所述处理等级,将所述业务数据存储至与所述处理等级匹配的数据处理队列中,包括:
根据处理等级与数据处理队列之间的对应关系,确定与所述业务数据中包含的处理等级对应的数据处理队列;
将所述业务数据存储至确定的所述数据处理队列中。
18.根据权利要求10所述的数据处理设备,其特征在于,所述处理单元分别从不同的所述数据处理队列中读取满足设定条件的业务数据,包括:
针对不同的所述数据处理队列,分别执行以下操作:
确定第一数据处理队列对应的处理等级,并获取预设的所述处理等级对应的处理比例;
根据确定的所述处理比例和所述区块的存储容量,确定处理数量,并从所述第一数据处理队列中依次读取满足所述处理数量的业务数据。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| HK18106425.2A HK1247301B (zh) | 2018-05-17 | 一种基於区块链的数据处理方法及设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| HK18106425.2A HK1247301B (zh) | 2018-05-17 | 一种基於区块链的数据处理方法及设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1247301A1 HK1247301A1 (zh) | 2018-09-21 |
| HK1247301B true HK1247301B (zh) | 2021-07-23 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113282659B (zh) | 一种基于区块链的数据处理方法及设备 | |
| TWI660274B (zh) | 基於區塊鏈的資料處理方法及設備 | |
| CN107402824B (zh) | 一种数据处理的方法及装置 | |
| CN107196989B (zh) | 一种业务请求的处理方法及装置 | |
| TW201837735A (zh) | 一種區塊鏈共識方法及裝置 | |
| CN107450981A (zh) | 一种区块链共识方法及设备 | |
| WO2024250650A1 (zh) | 一种基于序列生成的异构芯片任务调度方法以及装置 | |
| CN111967767A (zh) | 一种业务风险识别方法、装置、设备及介质 | |
| CN113590490B (zh) | 一种自动化测试方法、装置以及设备 | |
| HK1247301B (zh) | 一种基於区块链的数据处理方法及设备 | |
| CN114296709A (zh) | 一种代码处理方法、装置、设备及介质 | |
| HK1247300B (zh) | 一种基於区块链的数据处理方法及设备 | |
| HK1247301A1 (zh) | 一种基於区块链的数据处理方法及设备 | |
| HK1248349B (zh) | 一种基於区块链的数据处理方法及设备 | |
| HK1247300A1 (zh) | 一种基於区块链的数据处理方法及设备 | |
| HK1247357B (zh) | 一种区块链共识方法及装置 | |
| HK1247359B (zh) | 一种区块链共识方法及设备 | |
| HK1248378B (zh) | 一种业务发布方法、装置及设备 | |
| HK1248841B (zh) | 一种基於区块链的数据处理方法及设备 | |
| HK1247717B (zh) | 一种发送电子券的方法及装置 | |
| HK1247325B (zh) | 一种数据处理的方法及装置 | |
| HK1247457B (zh) | 一种区块链业务受理及业务共识方法及装置 | |
| HK1245450B (zh) | 一种数据库状态确定方法、一致性验证方法及装置 | |
| HK1247358B (zh) | 一种基於区块链的数据处理方法及设备 | |
| HK1249678B (zh) | 一种web应用包处理方法、装置及设备 |