CN115879889A - 基于区块链的业务处理方法、装置和计算机设备 - Google Patents
基于区块链的业务处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN115879889A CN115879889A CN202211709297.XA CN202211709297A CN115879889A CN 115879889 A CN115879889 A CN 115879889A CN 202211709297 A CN202211709297 A CN 202211709297A CN 115879889 A CN115879889 A CN 115879889A
- Authority
- CN
- China
- Prior art keywords
- participating
- execution
- contract
- node
- service request
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种基于区块链的业务处理方法、装置、计算机设备、存储介质和计算机程序产品,应用于区块链中的任一参与节点。所述方法包括:接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。采用本方法能够提高业务处理的效率。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于区块链的业务处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在区块链相关的多方参与的联盟链应用场景中,智能合约自动化触发难以实现,因为很多场景下依赖现实世界的时间,另外对智能合约的执行需要由参与方背书。目前,基于区块链的业务处理方法主要依赖联盟方自己的***来实现,然而由盟主方为主导建设区块链***,盟主方在***资源贡献中也占有极大的比重,各参与方仅部署数据节点甚至完全调用盟主方服务,并没有体现区块链去中心化的优势,一旦盟主方***出现问题,可能导致相关与盟主方无关的业务无法正常开展;同时,各参与方对区块链***资源的贡献也极少,导致盟主方需要付出更多的资源去保障***正常运行。因此,现有的基于区块链的业务处理方法存在业务处理效率低的问题。
发明内容
基于此,有必要针对现有的基于区块链的业务处理方法存在业务处理效率低的问题,提供一种能够提高业务处理效率的基于区块链的业务处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种基于区块链的业务处理方法。应用于区块链中的任一参与节点,所述方法包括:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;
获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;
将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
在其中一个实施例中,多个参与节点中每个参与节点获取积分的步骤,包括:
接收区块链中的盟主节点广播的智能合约;
从智能合约中提取合约执行方法;
将合约执行方法添加至合约方法表中,得到更新后的合约方法表;
周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;
基于执行结果,更新参与节点对应的积分。
在其中一个实施例中,将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,包括:
对多个参与节点的积分进行排序,获得参与方积分顺序;
将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
在其中一个实施例中,基于业务请求确定用于处理业务请求的多个参与节点,包括:
根据业务请求,确定业务请求所属的业务类型;
从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
在其中一个实施例中,从智能合约中提取合约执行方法,包括:
接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的;
判断目标区块是否包括自动执行标识;
若包括,则从智能合约中提取合约执行方法。
在其中一个实施例中,周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果,包括:
针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率;
若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于上次执行完成时刻,确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;
若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
第二方面,本申请还提供了一种基于区块链的业务处理装置。应用于区块链中的任一参与节点,所述装置包括:
请求接收模块,用于接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;
积分获取模块,用于获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;
请求处理模块,用于将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;
获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;
将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;
获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;
将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;
获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;
将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
上述基于区块链的业务处理方法、装置、计算机设备、存储介质和计算机程序产品,通过接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。这种基于多个参与节点各自对应的积分使得目标参与节点对应的参与方对业务请求进行处理的方法,有利于提高各个参与节点对应的参与方对区块链建设的积极性,同时提高了业务处理的效率。
附图说明
图1为一个实施例中基于区块链的业务处理方法的应用环境图;
图2为一个实施例中基于区块链的业务处理方法的流程示意图;
图3为一个实施例中S204的子流程示意图;
图4为一个实施例中S202的子流程示意图;
图5为一个实施例中S304的子流程示意图;
图6为一个实施例中S308的子流程示意图;
图7为一个实施例中基于区块链的业务处理方法的总体流程示意图;
图8为一个实施例中基于区块链的业务处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的基于区块链的业务处理方法,应用于区块链中的任一参与节点,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他网络服务器上。本申请实施例提供的基于区块链的业务处理方法,可由终端102或者服务器104单独执行,也可由终端102和服务器104协作执行,以由终端102单独执行为例:接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于区块链的业务处理方法,以该方法应用于计算机设备(该计算机设备可以为图1中的终端102或者服务器104)为例进行说明,包括以下步骤:
S202,接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点。
其中,参与节点指的是联盟区块链的参与节点。联盟区块链是指有若干组织或机构共同参与管理的区块链,每个组织或机构控制一个或多个节点,共同记录交易数据,要想在联盟链节点上进行数据读写或者发送交易,也只有联盟内的组织机构能够做到。盟主方创建好自己的节点作为盟主节点,盟主方可以邀请其他参与方加入该联盟区块链。联盟区块链中包括盟主节点和至少一个参与节点。盟主节点对应的盟主方主要负责管理区块链,例如,联盟管理以及通道管理。参与节点对应的参与方主要负责管理各自的智能合约和配合盟主节点的区块链管理操作。
计算机设备接收到业务请求后,需要确定该业务需求是否需要联盟区块链的各个参与方共同处理。若不需要联盟区块链,则直接处理业务请求,所需要联盟区块链,则基于业务请求,确定用于处理业务请求的多个参与节点。由多个参与节点对应的参与方共同处理业务请求。
S204,获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度。
其中,积分是用于表征相应参与节点对区块链的贡献度。各个参与节点的积分越高,表明相应参与方对区块链的贡献度越大。通常的联盟区块链中,盟主方为主导创建区块链,盟主方在***资源贡献中占极大的比重,各个参与方仅部署数据节点,对区块链***资源的贡献度极少,本申请通过设置多个参与节点各自对应的积分,计算机设备获取多个参与节点各个对应的积分,从而提高各个参与方的区块链贡献的积极性,有利于提高业务请求的处理效率。
S206,将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
其中,计算机设备将多个参与节点中积分满足预设条件的参与节点作为目标参与节点。示例性地,可以将多个参与节点中积分最高的参与节点作为目标参与节点,或者将多个参与节点中积分排名靠前的预设数量的参与节点作为目标参与节点,又或者将多个参与节点中积分大于多个参与节点的积分平均数的参与节点作为目标参与节点。目标参与节点对应的参与方是能够对业务请求进行处理的联盟区块链中的参与方。计算机设备将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
上述基于区块链的业务处理方法中,通过接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。这种基于多个参与节点各自对应的积分使得目标参与节点对应的参与方对业务请求进行处理的方法,有利于提高各个参与节点对应的参与方对区块链建设的积极性,同时提高了业务处理的效率。
在一个实施例中,如图3所示,多个参与节点中每个参与节点获取积分的步骤,包括:
S302,接收区块链中的盟主节点广播的智能合约。
其中,智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约在盟主节点创建,各个参与节点接收区块链中盟主节点广播的智能合约。
S304,从智能合约中提取合约执行方法。
其中,合约执行方法是用于执行智能合约的方法。智能合约中包括至少一个合约执行方法。盟主节点在盟主方的新区块中部署新的智能合约,计算机设备中的各个参与节点在接收到盟主方新区块产生的事件之后,首先判断当前新区块中的智能合约是否具有自动化模块,若具有,则从新区块的智能合约中提取合约执行方法。
S306,将合约执行方法添加至合约方法表中,得到更新后的合约方法表。
其中,计算机设备中的各个参与节点依次提取智能合约中的合约执行方法,将合约执行方法分别添加到各自对应的合约方法表中,得到各个参与节点对应的更新后的合约方法表。
S308,周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;基于执行结果,更新参与节点对应的积分。
其中,计算机设备周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到各个合约执行方法对应的执行结果。在一些实施例中,合约执行方法可以是定期清算各个参与节点中的票据是否在有效期内。执行条件可以是各个票据的有效期。计算机设备周期性清算各个参与节点中的票据的有效期是否在对应票据的有效期内,获得各个合约执行方法的执行结果。通过各个合约方法的执行结果,更新参与节点对应的积分。具体地,若任一合约执行方法的执行结果指示该合约执行方法执行成功,则将执行该合约执行方法的参与节点对应的积分增加预设值。示例性地,若任一参与节点在执行清算操作时,检测得到该参与方的各个票据均在有效期内,则将该参与方对应的积分加1。
本实施例中,通过接收区块链中的盟主节点广播的智能合约,从智能合约中提取合约执行方法,将合约执行方法添加至合约方法表中,得到更新后的合约方法表,周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;基于执行结果,更新参与节点对应的积分。这种参与节点通过接收盟主节点广播的智能合约,从而执行智能合约中的合约执行方法,能够提高各个参与节点对区块链的参与度。各个参与节点将合约执行方法添加到对应的合约方法表中,并周期性执行,进一步提高了各个参与节点对智能合约方法的执行频率,有效提高了各个参与节点的参与度,并且,各个合约执行方法的执行结果能够更新对应参与节点的积分,提高了各个参与节点的贡献度,有利于提高各个参与方参与区块链建设的积极性,进而提高业务处理的效率。
在一个实施例中,将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,包括:对多个参与节点的积分进行排序,获得参与方积分顺序;将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
其中,计算机设备获取多个参与节点的积分,并对多个参与节点的积分进行排序,可以按照从大到小的顺序,或者从小到大的顺序进行排序,获得参与方积分顺序。参与方积分顺序用于表征各个参与方的积分大小顺序。计算机设备将参与方积分顺序中排在前面的预设数量的参与节点作为目标参与节点。参与方积分顺序中排在前面的参与节点为积分较多的参与方。
本实施例中,通过对多个参与节点的积分进行排序,获得参与方积分顺序,将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点,有利于将积分较多的参与节点选取出来。积分较多的参与节点即为对区块链贡献度较多的参与节点,采用这种方法有利于提高各个参与方对区块链建设的积极性,有利于提高业务处理的效率。
在一个实施例中,如图4所示,基于业务请求确定用于处理业务请求的多个参与节点,包括:
S402,根据业务请求,确定业务请求所属的业务类型。
其中,业务请求所述的业务类型包括需要参与节点的类型和不需要参与方的类型。计算机设备根据业务请求,确定业务请求所述的业务类型。
S404,从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
其中,每种业务类型需要不同的参与节点参与。计算机设备从区块链中所有参与节点中查找业务类型与对应的参与节点,将查找到的参与节点作为用于处理业务群请求的多个参与节点。示例性地,业务请求为资源转移请求,能够进行资源转移请求的参与方包括参与方A,参与方B和参与方C,计算机设备从区块链所有的参与节点中查找出资源转移请求对应的参与节点,从而基于资源转移请求对应的参与节点进行业务请求处理。
本实施例中,通过业务请求,确定业务请求所属的业务类型,从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点,这种通过查找业务类型对应的参与节点的方法,有利于提高业务处理的效率。
在一个实施例中,如图5所示,从智能合约中提取合约执行方法,包括:
S502,接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的。
其中,盟主节点部署新的智能合约需要生成新的区块,即根据智能合约生成目标区块。盟主节点将生成的目标区块通过广播发送至各个参与节点,各个参与节点接收盟主节点广播的目标区块。
S504,判断目标区块是否包括自动执行标识;若包括,则从智能合约中提取合约执行方法。
其中,自动执行标识是用于指示目标区块是否具有自动化模块的标识。计算机设备中的各个参与节点分别对目标区块进行判断,确定目标区块是否包括自动执行标识。若目标区块中不包括自动执行标识,则表明该目标区块中的智能合约不存在合约执行方法。若目标区块中包括自动执行标识,则表明该目标区块中的智能合约包括合约执行方法,计算机设备中的对应参与节点从智能合约中提取合约执行方法。
本实施例中,通过接收盟主节点广播的目标区块,在目标区块包括自动执行标识的情况下,从智能合约中提取合约执行方法,有利于提高各个参与方对区块链建设的积极性,通过标识判断的方法,能够识别出包含合约执行方法的智能合约,有利于提高业务处理的效率。
在一个实施例中,如图6所示,周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果,包括:
S602,针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率。
其中,合约方法表中的合约执行方法将周期性执行,有利于提高各个参与方的参与度。执行频率即为预设时间内的执行次数。针对每个周期,计算机设备获取多个参与节点中的每个参与节点在预设时间内的执行频率。
S604,若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于上次执行完成时刻,确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
其中,执行频率超过预设执行频率,表明该参与方的对合约执行方法的执行频率过高,为了避免来自同一参与方高频调用合约执行方法造成的交易拥堵,计算机设备在任一参与节点对应的执行频率超过预设执行频率时,对相应的合约执行方法进行限流,将有效提高业务处理的效率。具体地,若任一参与节点对应的执行频率超过预设执行频率,则计算机设备获取相应参与节点的上次执行完成时刻,将上次执行完成时刻加上预设时长,得到相应的参与方的下次执行时刻,从而在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果,避免了参与节点对某个合约执行方法的高频调度导致的业务拥堵。
S606,若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
其中,若每个参与节点对应的执行频率均未超过预设执行频率,表明各个合约执行方法的执行频率符合预设要求,业务运行正常,计算机设备将继续周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
本实施例中,通过针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率,若任一参与节点对应的执行频率超过预设执行频率,则重新确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果,若每个参与节点对应的执行频率未超过预设执行频率,则继续周期性执行合约执行方法。这种通过判断参与方在预设时间内的执行频率的方法,能够避免参与节点对某个合约执行方法的高频调度导致的业务拥堵,有利于提高业务处理的效率。
为详细说明本方案中基于区块链的业务处理方法及效果,下面以一个最详细实施例进行说明:
针对金融领域常见的资源转移应用场景,区块链上部署有智能合约,智能合约上的方法能够被各个参与节点自动化调用,能够调动参与方积极性,并且降低盟主方维系***压力。如图7所示为链上合约与链下服务的结构示意图。其中,区块链的链上合约为区块链上的智能合约,通过集成自动化合约模块加入***,作为基本实体单元。自动化合约模块包括管理器和自动化方法。管理器用于提供获取该合约自动化方法的接口,为自动化方法的调用统一接口。自动化方法包括至少一个方法,每个方法具有唯一的标识,还提供了方法执行与否的条件检查接口以及方法的执行接口。限流器的作用是用于限制来自单一参与节点的自动化方法执行请求的调用频率。策略可自定义,以避免来自同一组织高频调用自动化方法执行造成的交易拥堵。事件通知是区块链产生新区块时通过事件通知给链下服务。链下服务为区块链下的接入服务,通过集成自动化服务模块作为该***的基本驱动单元。自动化服务模块包括调度器、合约扫描器、条件检查器、触发器以及定时器。其中,调度器是同步链上区块,进行合约扫描器、条件检查器以及触发器的综合调用。合约扫描器是扫描区块链上集成自动化模块的目标链上合约。条件检查器是调用合约对应自动化方法的条件检查接口。触发器是调用合约对应自动化方法的执行接口。定时器是定时触发调度器完成链上自动化方法条件检查。***还包括激励模块,每次自动化方法的执行请求的成功调用,给相应参与方增加一定量的奖励积分,同时,激励模块可以提供时间范围内的积分查询以及积分排序功能。
盟主节点区块链部署智能合约时,将产生新区块。链下服务在收到新区块产生事件时,由调度器调用合约扫描器,判断当前新区块中的智能合约是否包括具有自动化模块。若具有,则更新合约方法表。自动化方法的触发是定时器定时触发链下服务调度器,链下服务调度器调用条件检查器,依次调用合约方法表中的合约执行方法的条件检查接口。链下服务调度器调用触发器,进行链上合约执行方法执行接口,条件不通过则跳过。若链上合约执行方法执行接口调用成功,则获得一定量的奖励积分。参与方调用合约执行方法执行接口时,限流器根据自定义策略验证参与方的执行权限,若验证通过则正常调用合约执行方法的执行接口,若验证不通过则返回策略验证失败,并返回下次可正常调用的时间。参与方收到信息则更新定时器,以确保下一次能正常调用。
针对金融领域常见的资源转移场景,供应商发起资源转移业务请求。计算机设备接收到业务请求后,根据业务请求,确定业务请求所属的业务类型。从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度。其中,多个参与节点中每个参与节点获取积分的步骤,包括:接收区块链中的盟主节点广播的智能合约,从智能合约中提取合约执行方法,将合约执行方法添加至合约方法表中,得到更新后的合约方法表。周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。具体地,针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率,若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻。基于上次执行完成时刻,确定参与方的下次执行时刻,在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果,若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
基于执行结果,更新参与节点对应的积分。其中,从智能合约中提取合约执行方法,包括:接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的,判断目标区块是否包括自动执行标识,若包括,则从智能合约中提取合约执行方法。
对多个参与节点的积分进行排序,获得参与方积分顺序,将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。对于进行中的业务,资源转移过程中不受各个参与节点积分条件的限制,各个参与节点可以正常进行资源转移。积分条件限制仅在新业务开展时做限制。
上述基于区块链的业务处理方法,通过接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。这种基于多个参与节点各自对应的积分使得目标参与节点对应的参与方对业务请求进行处理的方法,有利于提高各个参与节点对区块链建设的积极性,同时提高了业务处理的效率。本申请中的基于区块链的业务处理方法,可进行链上方法的自动化调用,尽可能避免方法执行业务请求高频调用发生带来的业务拥堵。调用部分参与节点的积极性,降低盟主节点的压力。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于区块链的业务处理方法的基于区块链的业务处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于区块链的业务处理装置实施例中的具体限定可以参见上文中对于基于区块链的业务处理方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种基于区块链的业务处理装置100,应用于区块链中的任一参与节点,包括:请求接收模块120、积分获取模块140和请求处理模块160,其中:
请求接收模块120,用于接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点。
积分获取模块140,用于获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度。
请求处理模块160,用于将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
上述基于区块链的业务处理装置,通过接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。这种基于多个参与节点各自对应的积分使得目标参与节点对应的参与方对业务请求进行处理的方法,有利于提高各个参与节点对区块链建设的积极性,同时提高了业务处理的效率。
在一个实施例中,在多个参与节点中每个参与节点获取积分方面,积分获取模块140还用于:接收区块链中的盟主节点广播的智能合约;从智能合约中提取合约执行方法;将合约执行方法添加至合约方法表中,得到更新后的合约方法表;周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;基于执行结果,更新参与节点对应的积分。
在一个实施例中,在将多个参与节点中积分满足预设条件的参与节点作为目标参与节点方面,请求处理模块160还用于:对多个参与节点的积分进行排序,获得参与方积分顺序;将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
在一个实施例中,在基于业务请求确定用于处理业务请求的多个参与节点方面,请求接收模块120还用于:根据业务请求,确定业务请求所属的业务类型;从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
在一个实施例中,在从智能合约中提取合约执行方法方面,积分获取模块140还用于:接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的;判断目标区块是否包括自动执行标识;若包括,则从智能合约中提取合约执行方法。
在一个实施例中,在周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果方面,积分获取模块140还用于:针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率;若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于上次执行完成时刻,确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
上述基于区块链的业务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于区块链的业务处理方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收区块链中的盟主节点广播的智能合约;从智能合约中提取合约执行方法;将合约执行方法添加至合约方法表中,得到更新后的合约方法表;周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;基于执行结果,更新参与节点对应的积分。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对多个参与节点的积分进行排序,获得参与方积分顺序;将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据业务请求,确定业务请求所属的业务类型;从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的;判断目标区块是否包括自动执行标识;若包括,则从智能合约中提取合约执行方法。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率;若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于上次执行完成时刻,确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收区块链中的盟主节点广播的智能合约;从智能合约中提取合约执行方法;将合约执行方法添加至合约方法表中,得到更新后的合约方法表;周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;基于执行结果,更新参与节点对应的积分。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对多个参与节点的积分进行排序,获得参与方积分顺序;将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据业务请求,确定业务请求所属的业务类型;从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的;判断目标区块是否包括自动执行标识;若包括,则从智能合约中提取合约执行方法。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率;若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于上次执行完成时刻,确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
接收到业务请求后,基于业务请求确定用于处理业务请求的多个参与节点;获取多个参与节点各自对应的积分,积分用于表征相应参与节点对区块链的贡献度;将多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将业务请求发送至目标参与节点,以使得目标参与节点对应的参与方对业务请求进行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收区块链中的盟主节点广播的智能合约;从智能合约中提取合约执行方法;将合约执行方法添加至合约方法表中,得到更新后的合约方法表;周期性执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;基于执行结果,更新参与节点对应的积分。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对多个参与节点的积分进行排序,获得参与方积分顺序;将参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据业务请求,确定业务请求所属的业务类型;从区块链中所有参与节点中查找业务类型对应的参与节点,将查找到的参与节点作为用于处理业务请求的多个参与节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收盟主节点广播的目标区块,目标区块为盟主节点根据智能合约生成的;判断目标区块是否包括自动执行标识;若包括,则从智能合约中提取合约执行方法。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率;若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于上次执行完成时刻,确定参与方的下次执行时刻;在下次执行时刻,执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;若每个参与节点对应的执行频率未超过预设执行频率,则执行更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链的业务处理方法,应用于区块链中的任一参与节点,其特征在于,所述方法包括:
接收到业务请求后,基于所述业务请求确定用于处理所述业务请求的多个参与节点;
获取所述多个参与节点各自对应的积分,所述积分用于表征相应参与节点对区块链的贡献度;
将所述多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将所述业务请求发送至所述目标参与节点,以使得所述目标参与节点对应的参与方对所述业务请求进行处理。
2.根据权利要求1所述的方法,其特征在于,所述多个参与节点中每个参与节点获取积分的步骤,包括:
接收所述区块链中的盟主节点广播的智能合约;
从所述智能合约中提取合约执行方法;
将所述合约执行方法添加至合约方法表中,得到更新后的合约方法表;
周期性执行所述更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;
基于所述执行结果,更新所述参与节点对应的积分。
3.根据权利要求1所述的方法,其特征在于,所述将所述多个参与节点中积分满足预设条件的参与节点作为目标参与节点,包括:
对所述多个参与节点的积分进行排序,获得参与方积分顺序;
将所述参与方积分顺序排在前面的预设数量的参与节点,作为目标参与节点。
4.根据权利要求1所述的方法,其特征在于,所述基于所述业务请求确定用于处理所述业务请求的多个参与节点,包括:
根据所述业务请求,确定所述业务请求所属的业务类型;
从所述区块链中所有参与节点中查找所述业务类型对应的参与节点,将查找到的参与节点作为用于处理所述业务请求对应的多个参与节点。
5.根据权利要求2所述的方法,其特征在于,所述从所述智能合约中提取合约执行方法,包括:
接收所述盟主节点广播的目标区块,所述目标区块为所述盟主节点根据所述智能合约生成的;
判断所述目标区块是否包括自动执行标识;
若包括,则从所述智能合约中提取合约执行方法。
6.根据权利要求2所述的方法,其特征在于,所述周期性执行所述更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果,包括:
针对每个周期,获取多个参与节点中每个参与节点对应的参与方在预设时间内的执行频率;
若任一参与节点对应的执行频率超过预设执行频率,则获取相应参与节点的上次执行完成时刻;基于所述上次执行完成时刻,确定所述参与方的下次执行时刻;在所述下次执行时刻,执行所述更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果;
若每个参与节点对应的执行频率未超过所述预设执行频率,则执行所述更新后的合约方法表中满足执行条件的合约执行方法,得到相应的执行结果。
7.一种基于区块链的业务处理装置,其特征在于,应用于区块链中的任一参与节点,所述装置包括:
请求接收模块,用于接收到业务请求后,基于所述业务请求确定用于处理所述业务请求的多个参与节点;
积分获取模块,用于获取所述多个参与节点各自对应的积分,所述积分用于表征相应参与节点对区块链的贡献度;
请求处理模块,用于将所述多个参与节点中积分满足预设条件的参与节点作为目标参与节点,将所述业务请求发送至所述目标参与节点,以使得所述目标参与节点对应的参与方对所述业务请求进行处理。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211709297.XA CN115879889A (zh) | 2022-12-29 | 2022-12-29 | 基于区块链的业务处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211709297.XA CN115879889A (zh) | 2022-12-29 | 2022-12-29 | 基于区块链的业务处理方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115879889A true CN115879889A (zh) | 2023-03-31 |
Family
ID=85757203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211709297.XA Pending CN115879889A (zh) | 2022-12-29 | 2022-12-29 | 基于区块链的业务处理方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115879889A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862586A (zh) * | 2023-06-25 | 2023-10-10 | 北京信大融金教育科技有限公司 | 金融业务的积分生成和管理方法、装置、终端设备及介质 |
-
2022
- 2022-12-29 CN CN202211709297.XA patent/CN115879889A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862586A (zh) * | 2023-06-25 | 2023-10-10 | 北京信大融金教育科技有限公司 | 金融业务的积分生成和管理方法、装置、终端设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110443614B (zh) | 节点设备删除方法、装置、计算机设备及存储介质 | |
CN108805627B (zh) | 媒体资源分配方法、装置、***、介质及设备 | |
CN113347164B (zh) | 基于区块链的分布式共识***及方法、设备、存储介质 | |
CN109859043B (zh) | 一种交易清算方法和交易清算*** | |
CN110163755B (zh) | 基于区块链的数据压缩、查询方法及装置和电子设备 | |
CN101997894A (zh) | 一种信息推送方法及其***和网络*** | |
CN111367965B (zh) | 目标对象确定方法、装置、电子设备及存储介质 | |
WO2022267715A1 (zh) | 一种预言机节点筛选方法、装置、存储介质及电子装置 | |
CN111222922B (zh) | 一种广告投放方法、装置、广告投放服务器及存储介质 | |
CN112767113A (zh) | 基于区块链的对账数据处理方法、装置、*** | |
CN111210340A (zh) | 一种自动任务处理方法、装置、服务器及存储介质 | |
CN115879889A (zh) | 基于区块链的业务处理方法、装置和计算机设备 | |
CN114282011B (zh) | 知识图谱的构建方法和装置、图计算方法及装置 | |
CN111311395A (zh) | 公积金冲还贷业务的管理***、方法、设备及存储介质 | |
US20230259930A1 (en) | Cross-chain transaction processing method and apparatus, electronic device, and storage medium | |
CN113966602A (zh) | 区块链中区块的分布式存储 | |
CN110555764A (zh) | 一种去中心化环境下区块链达成一致性的方法及*** | |
CN113495982B (zh) | 交易节点管理方法、装置、计算机设备及存储介质 | |
CN111507787A (zh) | 商品交易方法、***、计算机装置及可读存储介质 | |
CN113411761B (zh) | 话单计费方法及*** | |
CN117439982A (zh) | 资源管理方法、装置、计算机设备和存储介质 | |
CN117312455A (zh) | 区块链数据的处理方法、装置、电子设备和存储介质 | |
WO2024138207A1 (en) | Cryptographic protocol including paired cryptographic events associated with a blockchain | |
CN116308705A (zh) | 资源存管方法、装置、计算机设备和存储介质 | |
CN115063133A (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 |