CN117312455A - 区块链数据的处理方法、装置、电子设备和存储介质 - Google Patents
区块链数据的处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117312455A CN117312455A CN202311348077.3A CN202311348077A CN117312455A CN 117312455 A CN117312455 A CN 117312455A CN 202311348077 A CN202311348077 A CN 202311348077A CN 117312455 A CN117312455 A CN 117312455A
- Authority
- CN
- China
- Prior art keywords
- user
- target
- blockchain
- task
- executed
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003672 processing method Methods 0.000 claims abstract description 14
- 230000006399 behavior Effects 0.000 claims description 25
- 230000008901 benefit Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种区块链数据的处理方法、装置、电子设备和存储介质,属于区块链技术领域,所述区块链数据的处理方法应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,所述方法包括:在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略;执行所述待执行任务,得到至少一个目标执行信息;基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。本申请技术方案有利于提高区块链***的写入性能,进而满足业务处理的超高并发的诉求。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种区块链数据的处理方法、装置、电子设备和存储介质。
背景技术
区块链技术,是一种由若干台计算设备共同参与分布式账本技术,共同维护一份完整的分布式智能数据库的技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步、一致性执行等特性,使得区块链技术已得到广泛应用。然而,现有的区块链技术节点设备达成共识的用时通常较长,尤其是对于定时任务分库并发执行过程中的数据上链,使用传统共识算法写入性能不够,不能满足业务处理的超高并发的诉求。
发明内容
本申请实施例的目的是提供及一种区块链数据的处理方法、装置、电子设备和存储介质,能够提高区块链***的写入性能,进而满足业务处理的超高并发的诉求。
第一方面,本申请实施例提供了一种区块链数据的处理方法,应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,其中,所述一级区块链账本块与所述至少两个二级区块链账本块对应,所述一级区块链账本块用于存储路由策略,所述二级区块链账本块用于存储执行信息,所述执行信息用于指示任务的执行状态,所述方法包括:
在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略,其中,所述待执行任务为用于向目标名单分配目标权益的任务,所述目标名单包括至少一个用户,所述路由策略用于指示所述目标名单中每个用户对应的一个目标区块链账本块,所述目标区块链账本块为所述至少两个二级区块链账本块中的任意一个二级区块链账本块;
执行所述待执行任务,得到至少一个目标执行信息,其中,一个目标执行信息对应所述目标名单中的一个用户;
基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。
第二方面,本申请实施例提供了一种区块链数据的处理装置,应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,其中,所述一级区块链账本块与所述至少两个二级区块链账本块对应,所述一级区块链账本块用于存储路由策略,所述二级区块链账本块用于存储执行信息,所述执行信息用于指示任务的执行状态,所述装置包括:
上链模块,用于在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略,其中,所述待执行任务为用于向目标名单分配目标权益的任务,所述目标名单包括至少一个用户,所述路由策略用于指示所述目标名单中每个用户对应的一个目标区块链账本块,所述目标区块链账本块为所述至少两个二级区块链账本块中的任意一个二级区块链账本块;
执行模块,用于执行所述待执行任务,得到至少一个目标执行信息,其中,一个目标执行信息对应所述目标名单中的一个用户;
存储模块,用于基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
在本申请实施例中,通过设置一级区块链账本块、至少两个二级区块链账本块,且通过一级区块链账本块存储路由策略,二级区块链账本块存储执行信息,如此,在进行任务执行过程中,至少两个二级区块链账本块可以同步记账,从而有利于提高区块链***的写入性能,进而满足业务处理的超高并发的诉求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的区块链数据的处理方法的流程示意图;
图2为本申请实施例提供的区块链数据的处理***的结构示意图;
图3为本申请实施例提供的区块链数据的处理装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的方法进行详细地说明。
请参见图1,图1为本申请实施例提供的一种区块链数据的处理方法的流程图,所述区块链数据的处理方法应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,其中,所述一级区块链账本块与所述至少两个二级区块链账本块对应,所述一级区块链账本块用于存储路由策略,所述二级区块链账本块用于存储执行信息,所述执行信息用于指示任务的执行状态,所述方法包括以下步骤:
步骤101、在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略,其中,所述待执行任务为用于向目标名单分配目标权益的任务,所述目标名单包括至少一个用户,所述路由策略用于指示所述目标名单中每个用户对应的一个目标区块链账本块,其中,所述目标区块链账本块为所述至少两个二级区块链账本块中的任意一个二级区块链账本块;
步骤102、执行所述待执行任务,得到至少一个目标执行信息,其中,一个目标执行信息对应所述目标名单中的一个用户;
步骤103、基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。
可以理解的是,上述区块链***还可以包括用于存储待执行任务的数据库,例如,请参见图2,所述数据库可以包括数据库1(DB1)和DB2。上述待执行任务可以为所述DB1或DB2中的任意待执行任务。
其中,上述待执行任务可以是用户订阅的权益的自动续订任务或者优惠劵发放任务,例如,所述待执行任务可以是下表1中的三方自动续订任务、话费自动续订任务、发放通看劵任务:
表1:
定时任务名称 | 任务描述 | 执行周期 |
三方自动续订 | 非话费支付方式的自动续订任务 | 10分钟/次 |
话费自动续订 | 话费支付方式的自动续订任务 | 1个月/次 |
发放通看券 | 会员权益,需要给会员发放通看券 | 30分钟/次 |
其中,上述三方自动续订任务可以是用户在客户端订阅了某一项三方权益,并开通了针对该三方权益的到期自动续费功能的情况下产生的定时任务,其中,所述三方权益可以是订阅会员的权益、购买优惠劵的权益等。上述定时任务可以存储于上述数据库,当所述定时任务到期时,该定时任务将按照本申请提供的数据处理方法进行执行,且该定时任务被执行完成之后,将完成对所述三方权益的自动续订,其中,所述三方自动续订任务的执行周期可以为10分钟一次。当上述待执行任务为所述三方自动续订任务时,所述待执行任务可以包括多个已到期用户的所述三方自动续订任务。所述多个已到期的用户的三方自动续订任务可以是区块链***中的服务端预先从所述数据库中筛选到期的三方自动续订任务之后所得到的任务。
相应地,上述话费自动续订任务即用户在客户端开启的自动续费功能之后自动生成的定时任务,该话费自动续订任务的执行周期可以为1个月一次。当上述待执行任务为所述话费自动续订任务时,所述待执行任务可以包括多个需要续费的用户的所述话费自动续订任务。所述多个需要续费的用户的话费自动续订任务可以是区块链***中的服务端预先从所述数据库中筛选到期的话费自动续订任务之后所得到的任务。
上述通看券可以是各种类型的优惠劵,上述发放通看券任务可以是向开通会员的用户发放通看劵的任务,在此情况下,上述目标名单可以包括所有已开通会员的用户。所述发放通看券任务的执行周期可以为30分钟一次。
上述路由策略可以是包括一种路由规则,具体地,在确定某一用户对应的目标区块链账本块时,可以基于该用户的属性信息和所述路由策略进行确定,例如,所述属性信息可以包括用户id(userid)或者用户的手机号等。具体地,若上述区块链***包括n个与一级区块链账本块对应的二级区块链账本块,并可以将n个二级区块链账本块分别编号为1~n,则可以将userid的最后一位对n取模,得到的数值+1为所对应的二级区块链账本块的编号。或者,将用户的手机号的最后一位对n取模,得到的数值+1为所对应的二级区块链账本块的编号。然后,将所得到的编号所指示的二级区块链账本块确定为所述用户对应的目标区块链账本块。例如,请参见下表2为本申请实施例提供的两种基于用户的属性信息和所述路由策略进行确定用户对应的目标区块链账本块的方式,其中,本实施例中,所述n的取值为3:
表2:
可以理解的是,由于上述目标名单中的各个用户的属性信息不同,因此,上述目标名单中可能存在部分用户对应同一个二级区块链账本块,也可能存在部分用户对应不同的耳机区块链账本块。
上述目标执行信息可以包括执行过程信息和执行结果信息,过程信息可以包括执行日志,所述执行日志具体可以包括执行时间和执行的主机等日志信息。
上述基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块,具体是指,将各个用户的执行信息存储于用户自身所对应的目标区块链账本块。
可以理解的是,上述区块链***可以作为目标应用平台的权益分配***,且所述区块链***可以用户向安装有目标应用的客户端分配各种权益。
该实施方式中,通过设置一级区块链账本块、至少两个二级区块链账本块,且通过一级区块链账本块存储路由策略,二级区块链账本块存储执行信息,如此,在进行任务执行过程中,至少两个二级区块链账本块可以同步记账,从而有利于提高区块链***的写入性能,进而满足业务处理的超高并发的诉求。
可选地,所述至少一个目标执行信息包括第一用户对应的目标执行信息,所述第一用户为所述目标名单中的任意用户;
所述基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块包括:
在所述第一用户为预设名单之内的用户的情况下,将所述第一用户对应的目标执行信息存储于所述第一用户对应的目标区块链账本块和所述一级区块链账本块;
在所述第一用户为预设名单之外的用户的情况下,将所述第一用户对应的目标执行信息存储于所述第一用户对应的目标区块链账本块。
上述预设名单可以包括一些重要用户的名单,例如,所述预设名单可以包括VIP用户和本阶段需要重点发展的用户等。即上述预设名单为按照一定的规则预先筛选得到的重要客户的名单。如此,可以根据所述预设名单将所有用户划分为重要用户和普通用户。
该实施方式中,通过将预设名单中的用户的目标执行信息同时存储于目标区块链账本块和所述一级区块链账本块,这样,在进行权益交付时,由于可以直接从一级区块链账本块中获取到预设名单中的用户的目标执行信息,而无需基于路由策略在二级区块链账本块中获取预设名单中的用户的目标执行信息,因此,可以减少交付过程的路由时长,进而提高对预设名单中的用户的效益交付效率。
可选地,所述执行所述待执行任务,得到至少一个目标执行信息之后,所述方法还包括:
查询第二用户对应的目标执行信息,其中,所述第二用户为所述目标名单中的任意用户;
在所述目标执行信息指示所述待执行任务执行成功的情况下,向所述第二用户分配所述目标权益;
在所述目标执行信息指示所述待执行任务执行失败的情况下,拒绝向所述第二用户分配所述目标权益。
可以理解的是,在执行上述待执行任务的过程中,可能存在执行成功和执行失败两种情况,例如,上述待执行任务需要在第二用户关联的账号中扣除特定金额的费用时,若所述第二用户关联的账号中的金额足够,则可以执行成功;反之,若所述第二用户关联的账号中的金额不足,则可能执行失败。
由于针对所述目标名单中的每个用户均需要执行上述待执行任务,因此,上述目标执行信息指示所述待执行任务执行成功具体是指:针对所述第二用户所述待执行任务执行成功,即已经完成对第二用户的自动续费或自动缴费等任务的扣款动作等。相应地,上述目标执行信息指示所述待执行任务执行失败具体是指:针对所述第二用户所述待执行任务执行失败。
由于上述第二用户的目标执行信息可以表征针对所述第二用户的待执行任务是否执行成功,而所述第二用户的目标执行信息可能存储于一级区块链账本块或所述第二用户对应的目标区块链账本块,因此,上述查询第二用户对应的目标执行信息具体可以是从一级区块链账本块中查询得到的执行信息,也可以是从所述第二用户对应的目标区块链账本块中查询得到的执行信息。
可选地,所述查询第二用户对应的目标执行信息,包括:
在所述一级区块链账本块中进行查询,且查询到第二用户对应的目标执行信息的情况下,得到所述第二用户对应的目标执行信息,其中,所述第二用户为所述目标名单中的任意用户;
在所述一级区块链账本块中进行查询,且未查询到第二用户对应的目标执行信息的情况下,基于所述路由策略确定所述第二用户对应的目标区块链账本块;在所述第二用户对应的目标区块链账本块进行查询,得到所述第二用户对应的目标执行信息。
具体地,在对第二用户进行目标权益分配时,可以先在一级区块链账本块中进行查询,若在一级区块链账本块中查询到第二用户目标执行信息,则根据目标执行信息指示待执行任务是否执行成功,确定是否向第二用户分配目标权益。相应地,若在所述一级区块链账本块中进行查询,且未查询到第二用户对应的目标执行信息,则基于所述路由策略确定所述第二用户对应的目标区块链账本块;在所述第二用户对应的目标区块链账本块进行查询,得到所述第二用户对应的目标执行信息。
该实施方式中,通过先在一级区块链账本块中进行查询,如此,在一级区块链账本块中查询到目标执行信息的情况下,无需基于路由策略在二级区块链账本块中获取预设名单中的用户的目标执行信息,因此,可以减少交付过程的路由时长,进而提高对预设名单中的用户的效益交付效率。
可选地,所述执行所述待执行任务之前,所述方法还包括:
获取所述目标名单中的每个用户的特征信息,所述特征信息至少包括:所对应的用户的属性信息和所对应的用户的历史行为信息;
在所述特征信息表征第三用户的用户级别高于预设级别的情况下,将所述第三用户的用户信息添加至所述预设名单;或者,在所述特征信息表征所述第三用户存在预设历史行为的情况下,将所述第三用户的用户信息添加至所述预设名单,其中,所述第三用户为所述目标名单中的任意用户。
可以理解的是,可以预先设置多个用户级别,例如,所述多个用户级别可以包括:普通用户、黄金会员用户、钻石会员用户等,此时,黄金会员用户的用户级别高于普通用户的用户级别,钻石会员用户的用户级别高于黄金会员用户的用户级别,上述预设级别可以是普通用户或黄金会员用户。由于用户级别越高,相应地用户的重要程度也越高,因此,可以将用户级别高于预设级别的用户的用户信息添加至所述预设名单,这样,后续可以将用户级别高于预设级别的用户对应的目标执行信息同步存储于一级区块链账本块,以便于提高对高级别用户的权益交付效率。
上述预设历史行为可以包括用户在客户端使用上述目标应用过程中的各种负面反馈行为,例如,所述预设历史行为可以包括对各种权益发放的投诉行为等。上述历史行为信息可以包括用户在客户端的如下行为:是否查看过帮助与客服记录、是否有投诉记录,历史执行的相关行为记录等。如此,可以基于所述历史行为信息确定所述目标用户是否存在上述预设历史行为。可以将存在预设历史行为的用户的用户信息添加至所述预设名单,这样,后续可以将存在预设历史行为的用户对应的目标执行信息同步存储于一级区块链账本块,以提高对存在负面反馈行为的用户的权益交付效率,进而降低用户投诉的概率。
可选地,所述区块链***还包括至少两个执行主机,所述执行所述待执行任务,得到至少一个目标执行信息,包括:
获取所述至少两个执行主机中每个执行主机执行任务的平均等待时长;
将所述至少两个执行主机中所述平均等待时长最小的执行主机确定为目标主机;
基于所述目标执行主机执行所述待执行任务,得到至少一个目标执行信息。
具体地,当各个主机存在多个用于执行上述待执行任务的线程时,可以每隔5分钟获取各个执行主机上当前线程的总数N以及每个线程获取到CPU时间片的等待时间Ti。假设当前执行主机线程总数N=3,则根据如下公式计算该执行主机的平均等待时间TA:(T1+T2+T3)/3=TA,TA值越小,说明执行主机资源越空闲,可以提供性能更好的执行线程。
该实施方式中,二级区块链记账权也不需竞争,根据周期内任务数据分配的线程数,根据线程状态采集模块统计的执行主机的资源情况,比如在执行这个任务的时候,主机1的TA值最小,则智能解析模块分配主机1针对这个任务周期内拥有记账权,即将该主机1确定为目标主机,直接将任务执行过程和执行结果上链到二级区块链。且一级和二级区块账本记账无任何依赖,可以按照策略单独入一级或者二级区块链,一级区块策略上链,二级区块数据上链。由于二级区块链生成块是批量的,根据分布式线程数量批量生成区块链的记账块。
可选地,所述目标主机包括用于执行所述待执行任务的至少两个线程,所述至少两个线程与所述至少两个二级区块链账本块一一对应;所述待执行任务包括与所述至少一个用户一一对应的至少一个子任务,所述路由策略用于均衡所述至少两个线程执行的子任务的数量。
上述子任务可以是指为对应的用户分配目标权益的任务。可以理解的是,上待执行任务中的各个子任务可以均匀的分配至各个线程进行执行,即各个线程可以同步执行所述待执行任务中的不同子任务,以提高任务执行的效率。请参见上述表2,由于按照userid最后一位取模的方式可以更为均衡的将所述子任务分配至各个线程,因此,可以按照userid最后一位取模的方式确定各个用户对应的目标区块链账本块。可以理解的是,各个线程在完成对子任务的处理得到对应的目标执行信息之后,可以将所得到的目标执行信息存储于本线程对应的二级区块链账本块。
可以理解的是,上述区块链***可以包括多个不同的一级区块链账本块,其中,每个一级区块链账本块可以对应至少两个二级区块链账本块,其中,不同的一级区块链账本块可以对应不同的待执行任务。请参见图2,所述区块链***包括N1-N4四个一级区块链账本块,每个一级区块链账本块对应n个二级区块链账本块,如图2所示,N1对应的n个二级区块链账本块为N1-1至N1-n,N2对应的n个二级区块链账本块为N2-1至N2-n。N3和N4对应的n个二级区块链账本块图中未示出。
请参见图2,为本申请一些实施例提供的区块链***的结构示意图,所述区块链***包括如下组成部分:
N1-N4:一级区块链账本块,根据不同的数据特征上链不同的路由策略,例如,如图2,所示,N1对应的路由策略为根据userid路由,即按照userid的最后一位取模确定各个用户对应的目标区块链账本块。相应地,N2对应的路由策略为根据手机号路由,即按照手机号的最后一位取模确定各个用户对应的目标区块链账本块。
N1-1-N2-n:二级区块链账本块,根据数据库中定时任务数据量动态批量分配二级区块账本块个数,并存储任务执行过程数据和任务执行结果数据。
节点1-n:执行定时任务的线程,若线程池启动100个线程从DB1中按照不同路由策略拉取数据并执行任务,则二级区块链账本块根据线程数量批量分配100个账本。二级账本的记账权根据运行线程的主机资源情况动态分配。
DB:记录客户端请求到服务端后存储的业务数据,其中有业务数据需要按照周期定时交付。
路由策略分配模块:根据每个定时任务的执行周期,按周期获取当前周期内需要跑定时任务的数据,并分析数据特征,根据不同的数据特征分配不同的路由策略。
交付中心模块:读取上链以后的路由策略,读取一级区块链账本块路由策略,通过不同的路由策略获取二级区块链账本定时任务执行结果,如果任务执行成功,则给用户交付不同类型权益。
行为轨迹采集模块:采集用户的账户级别、是否查看过帮助与客服记录、是否有投诉记录,历史执行的相关行为记录等。
线程状态采集模块:从所有提供执行线程的主机上每5分钟收集一次主机上当前线程的总数N以及每个线程获取到CPU时间片的等待时间Ti。假设当前主机线程总数N=3,计算平均等待时间:(T1+T2+T3)/3=TA,TA值越小,说明主机资源越空闲,可以提供性能更好的执行线程。
智能解析模块:通过行为轨迹采集模块和线程状态采集模块确认TA值越小的节点,可以有更多资源可以被使用,则可以获得二级区块的这个时间段的记账权。另外记账的时候基于行为轨迹采集模块中对于特定用户标签数据也可以将其存储到一级区块链账本,比如用户A对于上个月对客服有过发券情况投诉,投诉发券速度太慢;用户B是这个阶段重点发展客户。
如下为本申请一些实施例提供的一种基于图2所示的区块链***的区块链数据处理方法的具体实现流程,包括以下步骤:
区块链账本N1-N4之前区块已经出块,N1需要将数据路由策略上链。
客户端请求服务端,服务端处理相关业务数据并将数据记录入库,其中存在需要定时交付的三方自动续订、话费自动续订和通看券发放任务数据。
三方自动续订数据入表DB1-Table1,话费自动续订数据入表DB1-Table2,发放通看券入表DB1-Table3,以三方自动续订任务数据为例,在10分钟执行周期内有如有表2中的6条数据需要执行定时任务,通过userid最后一位取模后可以平均将数据分配到3个区块链节点,通过手机号最后一位取模,数据分配到区块链节点不平均。两种策略比较以后,路由策略分配针对这个任务10分钟的周期内数据分配按照userid取模策略路由记录到一级区块链N1账本。
处理10分钟周期的这批数据业务***启动了3个线程,每个线程按照userid的路由策略从DB1-Table1获取数据,将任务过程和结果数据入二级区块链N1-1-N1-n账本。入账本的过程不依赖一级区块链处理节点和账本数据。由于一级区块链入账本数据量比较小,只是入一个路由策略,可以大大加快入账本的效率,且获取记账权的节点也无需竞争,由路由分配策略模块负责。
二级区块链记账权也不需竞争,根据周期内任务数据分配的线程数,由对应执行任务数据的根据线程状态采集模块统计的主机的资源情况,比如在执行这个任务的时候,主机1的TA值最小,则智能解析模块分配主机1针对这个任务周期内拥有记账权,直接将任务执行过程和执行结果上链到二级区块链。且一级和二级区块账本记账无任何依赖,可以按照策略单独入一级或者二级区块链,一级区块策略上链,二级区块数据上链。由于二级区块链生成块是批量的,根据分布式线程数量批量生成区块链的记账块。
一级二级区块链记录账本,由于一级区块只需要将路由策略记录账本,二级区块记录账本又是通过多线程的方式进行,所以可以大大提高记录账本的效率和性能。
针对行为轨迹采集模块中采集的重点用户数据,比如用户A对于上个月对客服有过发券情况投诉,投诉发券速度太慢;用户B是这个阶段重点发展客户。在记录到二级账本的同时自动将其保存一份数据到一级账本块中。
交付中心模块只需要从一级区块节点获取任务执行结果,一级区块节点优先从本地获取任务执行情况,如果没有执行情况数据,则可以根据路由策略从二级区块节点获取任务执行结果,根据任务执行结果发放用户订购的相关权益。由于一级二级区块记录账本性能可以提升几倍,甚至几十倍,则交付中心发放权益的性能也可以同步提升,另外由于区块账本的不能修改,也可以确保任务执行结果的不可纂改。对于自动扣费和交付高价值权益的过程数据可以防止人为篡改,保证了各方结算的准确。
本申请实施例至少具备如下有益效果:
区块链采用两级模型,一级区块策略上链,二级区块数据上链,分级记录不同的数据。一级区块链入账本数据量比较小,只是记录一个路由策略,二级区块链生成块是批量的,根据分布式线程数量批量生成区块链记账块,大大提高了数据上链的性能和效率。
根据线程状态采集模块统计主机的资源情况,智能解析模块分配这个任务周期内记账权,越空闲的主机可以获取这个周期的记账权,直接将任务执行过程和执行结果上链到二级区块链。
针对行为轨迹采集模块中采集到的重点用户数据,在记录到二级账本的同时自动将其保存一份数据到一级账本块中,提高重点用户的数据记录等级。
区块链将在数据隐私、数据安全以及信任构建等方面发挥重要的作用。使用分布式数据存储、点对点传输、共识机制、加密算法等技术,具有去中心化,开放透明,防篡改、可追溯和匿名性等特点。本申请通过将区块链分成二级架构,大大提高了数据上链的性能和效率。根据线程状态采集模块统计主机的资源情况分配这个任务周期内二级区块的记账权,空闲的主机可以获取这个周期的记账权,直接将任务执行过程和执行结果业务数据记录到二级区块链。针对行为轨迹采集模块中采集到的重点用户数据,在记录到二级账本的同时自动将其保存一份数据到一级账本块中,提高重点用户的数据记录等级,交付中心在读取区块数据的时候根据存储到的不同区块等级对于重点用户可以侧重处理或运营,具有一定的商业价值。
请参见图3,图3为本申请实施例提供的一种区块链数据的处理装置300的结构示意图,所述区块链数据的处理装置300应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,其中,所述一级区块链账本块与所述至少两个二级区块链账本块对应,所述一级区块链账本块用于存储路由策略,所述二级区块链账本块用于存储执行信息,所述执行信息用于指示任务的执行状态,所述装置包括:
上链模块301,用于在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略,其中,所述待执行任务为用于向目标名单分配目标权益的任务,所述目标名单包括至少一个用户,所述路由策略用于指示所述目标名单中每个用户对应的一个目标区块链账本块,其中,所述目标区块链账本块为所述至少两个二级区块链账本块中的任意一个二级区块链账本块;
执行模块302,用于执行所述待执行任务,得到至少一个目标执行信息,其中,一个目标执行信息对应所述目标名单中的一个用户;
存储模块303,用于基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。
可选地,所述至少一个目标执行信息包括第一用户对应的目标执行信息,所述第一用户为所述目标名单中的任意用户;
所述存储模块303,具体用于在所述第一用户为预设名单之内的用户的情况下,将所述第一用户对应的目标执行信息存储于所述第一用户对应的目标区块链账本块和所述一级区块链账本块;
所述存储模块303,具体还用于在所述第一用户为预设名单之外的用户的情况下,将所述第一用户对应的目标执行信息存储于所述第一用户对应的目标区块链账本块。
可选地,所述装置还包括:
查询模块,用于查询第二用户对应的目标执行信息,其中,所述第二用户为所述目标名单中的任意用户;
分配模块,用于在所述目标执行信息指示所述待执行任务执行成功的情况下,向所述第二用户分配所述目标权益;
所述分配模块,还用于在所述目标执行信息指示所述待执行任务执行失败的情况下,拒绝向所述第二用户分配所述目标权益。
可选地,所述查询模块,具体用于在所述一级区块链账本块中进行查询,且查询到第二用户对应的目标执行信息的情况下,得到所述第二用户对应的目标执行信息,其中,所述第二用户为所述目标名单中的任意用户;
所述查询模块,具体还用于在所述一级区块链账本块中进行查询,且未查询到第二用户对应的目标执行信息的情况下,基于所述路由策略确定所述第二用户对应的目标区块链账本块;在所述第二用户对应的目标区块链账本块进行查询,得到所述第二用户对应的目标执行信息。
可选地,所述装置还包括:
获取模块,用于获取所述目标名单中的每个用户的特征信息,所述特征信息至少包括:所对应的用户的属性信息和所对应的用户的历史行为信息;
添加模块,用于在所述特征信息表征第三用户的用户级别高于预设级别的情况下,将所述第三用户的用户信息添加至所述预设名单;或者,在所述特征信息表征所述第三用户存在预设历史行为的情况下,将所述第三用户的用户信息添加至所述预设名单,其中,所述第三用户为所述目标名单中的任意用户。
可选地,所述区块链***还包括至少两个执行主机,所述获取模块,还用于获取所述至少两个执行主机中每个执行主机执行任务的平均等待时长;
所述装置还包括:
确定模块,用于将所述至少两个执行主机中所述平均等待时长最小的执行主机确定为所述目标主机;
所述执行模块,具体用于基于所述目标执行主机执行所述待执行任务,得到至少一个目标执行信息。
可选地,所述目标主机包括用于执行所述待执行任务的至少两个线程,所述至少两个线程与所述至少两个二级区块链账本块一一对应;所述待执行任务包括与所述至少一个用户一一对应的至少一个子任务,所述路由策略用于均衡所述至少两个线程执行的子任务的数量。
需要说明的是,本申请实施例提供的区块链数据的处理装置300能够实现上述实施例所示的区块链数据的处理方法的全部技术过程,并达到相同的技术效果,为避免重复,在此不再赘述。
本申请实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述图1所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图4所示,本申请实施例还提供了一种电子设备,包括总线401、收发机402、天线403、总线接口404、处理器405和存储器406。
在该实施方式中,所述电子设备还包括:存储在存储器406上并可在处理器405上运行的计算机程序。其中,所述计算机程序被处理器405执行时可实现如图1实施例所示的区块链数据的处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
在图4中,总线架构(用总线401来代表),总线401可以包括任意数量的互联的总线和桥,总线401将包括由处理器405代表的一个或多个处理器和存储器406代表的存储器的各种电路链接在一起。总线401还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口404在总线401和收发机402之间提供接口。收发机402可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器405处理的数据通过天线403在无线介质上进行传输,进一步,天线403还接收数据并将数据传送给处理器405。
处理器405负责管理总线401和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器406可以被用于存储处理器405在执行操作时所使用的数据。
可选的,处理器405可以是CPU、ASIC、FPGA或CPLD。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述区块链数据的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种区块链数据的处理方法,其特征在于,应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,其中,所述一级区块链账本块与所述至少两个二级区块链账本块对应,所述一级区块链账本块用于存储路由策略,所述二级区块链账本块用于存储执行信息,所述执行信息用于指示任务的执行状态,所述方法包括:
在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略,其中,所述待执行任务为用于向目标名单分配目标权益的任务,所述目标名单包括至少一个用户,所述路由策略用于指示所述目标名单中每个用户对应的一个目标区块链账本块,所述目标区块链账本块为所述至少两个二级区块链账本块中的任意一个二级区块链账本块;
执行所述待执行任务,得到至少一个目标执行信息,其中,一个目标执行信息对应所述目标名单中的一个用户;
基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。
2.根据权利要求1所述的方法,其特征在于,所述至少一个目标执行信息包括第一用户对应的目标执行信息,所述第一用户为所述目标名单中的任意用户;
所述基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块包括:
在所述第一用户为预设名单之内的用户的情况下,将所述第一用户对应的目标执行信息存储于所述第一用户对应的目标区块链账本块和所述一级区块链账本块;
在所述第一用户为预设名单之外的用户的情况下,将所述第一用户对应的目标执行信息存储于所述第一用户对应的目标区块链账本块。
3.根据权利要求2所述的方法,其特征在于,所述执行所述待执行任务,得到至少一个目标执行信息之后,所述方法还包括:
查询第二用户对应的目标执行信息,其中,所述第二用户为所述目标名单中的任意用户;
在所述目标执行信息指示所述待执行任务执行成功的情况下,向所述第二用户分配所述目标权益;
在所述目标执行信息指示所述待执行任务执行失败的情况下,拒绝向所述第二用户分配所述目标权益。
4.根据权利要求3所述的方法,其特征在于,所述查询第二用户对应的目标执行信息,包括:
在所述一级区块链账本块中进行查询,且查询到第二用户对应的目标执行信息的情况下,得到所述第二用户对应的目标执行信息,其中,所述第二用户为所述目标名单中的任意用户;
在所述一级区块链账本块中进行查询,且未查询到第二用户对应的目标执行信息的情况下,基于所述路由策略确定所述第二用户对应的目标区块链账本块;在所述第二用户对应的目标区块链账本块进行查询,得到所述第二用户对应的目标执行信息。
5.根据权利要求2所述的方法,其特征在于,所述执行所述待执行任务之前,所述方法还包括:
获取所述目标名单中的每个用户的特征信息,所述特征信息至少包括:所对应的用户的属性信息和所对应的用户的历史行为信息;
在所述特征信息表征第三用户的用户级别高于预设级别的情况下,将所述第三用户的用户信息添加至所述预设名单;或者,在所述特征信息表征所述第三用户存在预设历史行为的情况下,将所述第三用户的用户信息添加至所述预设名单,其中,所述第三用户为所述目标名单中的任意用户。
6.根据权利要求1所述的方法,其特征在于,所述区块链***还包括至少两个执行主机,所述执行所述待执行任务,得到至少一个目标执行信息,包括:
获取所述至少两个执行主机中每个执行主机执行任务的平均等待时长;
将所述至少两个执行主机中所述平均等待时长最小的执行主机确定为目标主机;
基于所述目标执行主机执行所述待执行任务,得到至少一个目标执行信息。
7.根据权利要求6所述的方法,其特征在于,所述目标主机包括用于执行所述待执行任务的至少两个线程,所述至少两个线程与所述至少两个二级区块链账本块一一对应;所述待执行任务包括与所述至少一个用户一一对应的至少一个子任务,所述路由策略用于均衡所述至少两个线程执行的子任务的数量。
8.一种区块链数据的处理装置,其特征在于,应用于区块链***,所述区块链***包括一级区块链账本块和至少两个二级区块链账本块,其中,所述一级区块链账本块与所述至少两个二级区块链账本块对应,所述一级区块链账本块用于存储路由策略,所述二级区块链账本块用于存储执行信息,所述执行信息用于指示任务的执行状态,所述装置包括:
上链模块,用于在获取到待执行任务的情况下,在所述一级区块链账本块中上链所述待执行任务的路由策略,其中,所述待执行任务为用于向目标名单分配目标权益的任务,所述目标名单包括至少一个用户,所述路由策略用于指示所述目标名单中每个用户对应的一个目标区块链账本块,所述目标区块链账本块为所述至少两个二级区块链账本块中的任意一个二级区块链账本块;
执行模块,用于执行所述待执行任务,得到至少一个目标执行信息,其中,一个目标执行信息对应所述目标名单中的一个用户;
存储模块,用于基于所述路由策略,将各个目标执行信息存储于所对应的目标区块链账本块。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至7中任一项所述的区块链数据的处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的区块链数据的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311348077.3A CN117312455A (zh) | 2023-10-18 | 2023-10-18 | 区块链数据的处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311348077.3A CN117312455A (zh) | 2023-10-18 | 2023-10-18 | 区块链数据的处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312455A true CN117312455A (zh) | 2023-12-29 |
Family
ID=89237079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311348077.3A Pending CN117312455A (zh) | 2023-10-18 | 2023-10-18 | 区块链数据的处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312455A (zh) |
-
2023
- 2023-10-18 CN CN202311348077.3A patent/CN117312455A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017203274B2 (en) | Burst mode control | |
Yu et al. | Challenges and opportunities for trust management in crowdsourcing | |
US20150262111A1 (en) | Apparatus and method for efficient task allocation in crowdsourcing | |
KR101678123B1 (ko) | 실시간 일용직 중개 서비스 시스템 및 방법 | |
CN103810045B (zh) | 资源分配方法、资源管理器、资源服务器及*** | |
CN110599148B (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN107241380A (zh) | 用于基于时间调整的负载均衡的方法和设备 | |
CN108171488B (zh) | 数据处理方法、装置和*** | |
WO2022267715A1 (zh) | 一种预言机节点筛选方法、装置、存储介质及电子装置 | |
CA2973874A1 (en) | Adaptive resource allocation | |
CN104616110A (zh) | 一种信息的处理方法及装置 | |
CN112016009B (zh) | 数据处理方法、余额获取方法、装置、设备和存储介质 | |
US10901801B2 (en) | Distributed monitoring of network computers for dynamically updating assignments of tasks | |
CN115879889A (zh) | 基于区块链的业务处理方法、装置和计算机设备 | |
CN117312455A (zh) | 区块链数据的处理方法、装置、电子设备和存储介质 | |
CN110866813A (zh) | 管理会计用智能记账*** | |
CN101071489A (zh) | 工作流管理***及实现工作过程自动化的方法 | |
CN106993008B (zh) | 一种资源调度方法及装置 | |
CN111429125B (zh) | 账户管理方法、装置、存储介质及电子设备 | |
CN113822704A (zh) | 计算优惠费用的方法、装置、电子设备及可读存储介质 | |
CN111367680A (zh) | 一种作业任务分配方法、装置、服务器、***及存储介质 | |
CN111353766A (zh) | 分布式业务***的业务流程处理***及方法 | |
CN113837593B (zh) | 虚拟数据分配方法、装置、设备以及存储介质 | |
WO2019024492A1 (zh) | 坐席***的名单分配方法、可读存储介质、服务器及装置 | |
CN116258304A (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 |