首页> 中国专利> 一种基于联盟链网络的业务处理方法及系统

一种基于联盟链网络的业务处理方法及系统

摘要

公开了一种基于联盟链网络的业务处理方法及系统。联盟链网络中的服务节点之间可以彼此达成合作关系,针对一组具有合作关系的服务节点,如果其中有任一服务节点宕机导致无法受理业务相关交易,那么该服务节点对接的客户端就可以转而将业务相关交易发送给同组的其他服务节点进行受理。

著录项

  • 公开/公告号CN110012054A

    专利类型发明专利

  • 公开/公告日2019-07-12

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201811621431.4

  • 发明设计人 杨新颖;

    申请日2018-12-28

  • 分类号H04L29/08(20060101);

  • 代理机构11415 北京博思佳知识产权代理有限公司;

  • 代理人林祥

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2024-02-19 12:31:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-26

    授权

    授权

  • 2019-08-06

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20181228

    实质审查的生效

  • 2019-07-12

    公开

    公开

说明书

技术领域

本说明书实施例涉及信息技术领域,尤其涉及一种基于联盟链网络的业务处理方法及系统。

背景技术

随着区块链技术的发展,基于联盟链网络的业务处理模式较为常见。这种业务处理模式的优势在于,能够以去中心化的方式解决某个服务机构的客户对该服务机构不信任的问题。

具体地,多个服务机构可以组成一个联盟,每个服务机构的服务器(或服务器集群)实际上可视为联盟链网络中的一个节点。针对任一服务机构,该服务机构所管理的节点负责受理该服务机构的客户发起的业务相关交易,然后将该业务相关交易广播至全网,由各节点分别执行该业务相关交易,并将该业务相关交易写入区块链进行分布式存证。

然而在实践中,针对联盟中的任一服务机构,倘若该服务机构所管理的节点设备宕机,那么,在宕机期间,该服务机构的客户发起的业务相关交易将不会被受理,也即,联盟链网络无法为该服务机构的客户提供服务。

发明内容

为了解决联盟链网络中的任一节点设备宕机导致无法为该节点设备对接的客户提供服务的问题,本说明书实施例提供一种基于联盟链网络的业务处理方法及装置,技术方案如下:

根据本说明书实施例的第1方面,提供一种基于联盟链网络的业务发起方法,联盟链网络包括多个服务节点,目标服务节点为与至少一个服务节点具有合作关系的服务节点,目标客户端为所述目标服务节点负责对接的任一客户端,所述目标客户端存储有对应于所述目标服务节点的备选队列,对应于所述目标服务节点的备选队列中包含与所述目标服务节点具有合作关系的服务节点的节点标识;

所述业务发起方法包括:

所述目标客户端构建业务相关交易,并将所述业务相关交易发送给所述目标服务节点;

当确定所述目标服务节点未受理所述业务相关交易时,将存储的备选队列中的一个节点标识确定为指定节点标识;

将所述业务相关交易发送给所述指定节点标识对应的服务节点。

根据本说明书实施例的第2方面,提供一种确定第1方面的业务受理方法中所述的备选队列的方法,联盟链网络包括多个服务节点,目标服务节点为与至少一个服务节点具有合作关系的服务节点,所述方法包括:

所述目标服务节点针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的当前性能表征值;该服务节点对应的当前性能表征值与该服务节点的当前负载能力正相关,和/或,该服务节点对应的当前性能表征值与该服务节点的当前通信延迟负相关;

根据与所述目标服务节点具有合作关系的各服务节点对应的当前性能表征值的大小,由大到小对与所述目标服务节点具有合作关系的各服务节点进行排序,得到对应于所述目标服务节点的备选队列。

根据本说明书实施例的第3方面,提供一种基于联盟链网络的业务受理方法,基于上述第1方面的业务发起方法,所述业务受理方法包括:

目标服务节点接收合作服务节点负责对接的客户端所发送的业务相关交易;其中,所述合作服务节点是与所述目标服务节点具有合作关系的任一服务节点;

立即受理接收到的业务相关交易;

或延时受理接收到的业务相关交易;

或拒绝受理接收到的业务相关交易。

根据本说明书实施例的第4方面,提供一种业务处理系统,包括由多个服务节点组成的联盟链网络以及每个服务节点负责对接的若干客户端;其中,目标服务节点为与至少一个服务节点具有合作关系的服务节点,目标客户端为所述目标服务节点负责对接的任一客户端,所述目标客户端存储有对应于所述目标服务节点的备选队列,对应于所述目标服务节点的备选队列中包含与所述目标服务节点具有合作关系的服务节点的节点标识;

所述目标客户端,构建业务相关交易,并将所述业务相关交易发送给所述目标服务节点;当确定所述目标服务节点未受理所述业务相关交易时,将存储的备选队列中的一个节点标识确定为指定节点标识;将所述业务相关交易发送给所述指定节点标识对应的服务节点。

本说明书实施例所提供的技术方案,联盟链网络中的服务节点之间可以彼此达成合作关系,针对一组具有合作关系的服务节点,如果其中有任一服务节点宕机导致无法受理业务相关交易,那么该服务节点对接的客户端就可以转而将业务相关交易发送给同组的其他服务节点进行受理。

由于在联盟链网络中,不论是哪个服务节点受理的业务相关交易,都会被广播至全网,由各服务节点分别执行,因此,在基于联盟链网络的业务处理模式下,各服务节点存储的数据是天然一致的。也就是说,针对任一服务节点,在该服务节点宕机期间,由其他服务节点代为受理该服务节点对接的客户端所发起的业务并广播,这意味着联盟链网络本身就已具备容灾能力,可以为联盟中任一服务机构的客户不间断地提供服务(即联盟链网络服务的高可用性)。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是基于联盟链网络的业务处理模式的架构示意图;

图2是现有技术中具有服务高可用性的联盟链网络的架构示意图;

图3是本说明书实施例提供的一种基于联盟链网络的业务发起方法的流程示意图;

图4是本说明书实施例提供的另一种基于联盟链网络的业务发起方法的流程示意图;

图5是本说明书实施例提供的一种基于联盟链网络的业务受理方法的流程示意图;

图6是本说明书实施例提供的一种用户操作装置的结构示意图;

图7是本说明书实施例提供的一种服务装置的结构示意图;

图8是本说明书实施例提供的一种服务装置的结构示意图;

图9是用于配置本说明书实施例装置的一种计算机设备的结构示意图。

具体实施方式

需要说明的是,在本说明书中所描述的交易(transaction),是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。交易是区块链协议中所约定的一种数据结构,一笔数据要存入区块链,就需要被封装成交易。

区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务(比如,租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。

在本文中,客户(客户端)发起业务,也就是客户(客户端)发起一笔与业务有关的交易(本文称之为业务相关交易)。

在现有的基于联盟链网络的业务处理模式下,联盟中每个服务机构都有自己的客户。针对任一服务机构,需要由该服务机构所管理的服务节点受理该服务机构的客户发起的业务相关交易。并且,不论是哪个服务机构的客户发起的业务相关交易,最终都会交由联盟链网络中的各服务节点进行分布式执行与存证。图1是基于联盟链网络的业务处理模式的架构示意图。

在现有技术中,针对任一服务节点,为了使得该服务节点可以不间断地受理客户发起的业务相关交易(即服务的高可用性),通常会针对每个服务节点进行容灾部署。

图2是现有技术中具有服务高可用性的联盟链网络的架构示意图。如图2所示,每个服务机构都需要对自己管理的服务节点进行容灾部署。例如,服务机构A可以采用“同城两地三中心”的容灾部署模式,在同一城市部署一个主机房和一个从机房,此外,在异地再部署一个从机房。正常情况下,由主机房运行服务节点A,当主机房发生故障时,由从同城的从机房继续运行服务节点A,当同城的主机房与从机房都故障时,由异地的从机房继续运行服务节点A,如此,可以基本保证服务节点A不间断地受理服务机构A的客户发起的业务相关交易,使得联盟链网络对外提供的服务高可用。

然而,在图2所示的架构中,针对每个服务机构,该服务机构需要花费高额的技术成本使得自己部署的三个机房实现数据一致,如此,该服务机构的三个机房才能在需要的时候进行服务切换。

而在本发明中,能够以较低的技术成本,实现联盟链网络的服务高可用。具体地,在本发明中,联盟链网络中的至少部分服务节点可以无需进行容灾部署,在没有进行容灾部署的服务节点中,可以划分出至少一个服务节点组。针对每个服务节点组,该服务节点组包括至少两个服务节点,该服务节点组内的服务节点之间具有合作关系。对于具有合作关系的一组服务节点而言,其中任一服务节点宕机,同组的其他服务节点可以作为备用节点,代替该宕机的服务节点受理该服务节点对接的客户端发起的业务相关交易。

并且,由于区块链架构的分布式机制,使得联盟链网络中的各服务节点具有天然的数据一致性,并不需要额外花费技术成本对各服务节点进行数据一致性部署。

例如,如图1所示,服务节点A可以与服务节点B达成合作关系。如此,服务节点A与服务节点B互为对方的容灾设备。当服务节点A宕机时,服务节点A的客户可以转而向服务节点B发起业务相关交易,服务节点B可以受理该业务相关交易并广播至全网进行分布式处理。如此,对于服务节点A的客户而言,并未感受到服务中断,对于联盟链网络而言,由于各服务节点之间具有共识机制,也就具备容错能力(可以容忍一定数量的宕机节点和/或恶意节点),因此,哪怕服务节点A宕机,服务节点B~C依然可以基于共识机制顺利将该业务相关交易写入区块链。

为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图3是本说明书实施例提供的一种基于联盟链网络的业务发起方法的流程示意图,包括如下步骤:

S300:目标客户端构建业务相关交易,并将所述业务相关交易发送给所述目标服务节点。

在本说明书实施例中,联盟链网络中包括多个服务节点。针对每个服务节点,该服务节点可以进行现有技术中的容灾部署,也可以不进行容灾部署。该服务节点如果不进行容灾部署,则可以与其他同样不进行容灾部署的服务节点达成合作关系。需要说明的是,在联盟链网络中,具有合作关系的服务节点组可以不止一个。

在本文中,目标服务节点是指与其他至少一个服务节点具有合作关系的服务节点。也就是说,为了描述的方便,本文将联盟链网络中的任一服务节点组中的任一服务节点称为目标节点。同样为了描述的方便,本文将目标服务节点负责对接的任一客户端称为目标客户端,将与目标服务节点具有合作关系的服务节点称为合作服务节点。

在本说明书实施例中,目标客户端上存储有对应于所述目标服务节点的备选队列。而对应于所述目标服务节点的备选队列中包含与所述目标服务节点具有合作关系的服务节点的节点标识。

这意味着,当目标服务节点宕机时,目标客户端可以从存储的备选队列中选择服务节点继续发起业务相关交易,服务不会中断。

其中,对应于所述目标服务节点的备选队列中各服务节点的排列顺序可以根据实际需要指定,也可以随机指定。

目标服务节点一般会预先将对应于自身的备选队列下发给自身对接的每个客户端进行存储。目标服务节点如果后续更新了对应于自身的备选队列,那么,还会将更新后的备选队列下发给自身对接的每个客户端,使得每个客户端将存储的更新前的备选队列删除,并存储更新后的备选队列。

S302:当确定所述目标服务节点未受理所述业务相关交易时,将存储的备选队列中的一个节点标识确定为指定节点标识。

S304:将所述业务相关交易发送给所述指定节点标识对应的服务节点。

实际应用中,目标服务节点可能由于宕机而未能受理所述业务相关交易,也可能由于其他原因(如负载过重)而未能受理所述业务相关交易。需要说明的是,在本文中,目标客户端在向目标服务节点发送业务相关交易起,经过指定时间间隔后,如果未收到目标服务节点返回的受理结果,就可以确定目标服务节点未受理所述业务相关交易。

目标客户端确定目标服务节点未受理业务相关交易之后,可以从存储的备选队列中选择一个节点标识(例如,选择第一个节点标识)作为指定节点标识,然后将业务相关交易发送给指定节点标识对应的服务节点,以请求该服务节点受理该业务相关交易。

图4是本说明书实施例提供的另一种基于联盟链网络的业务发起方法的流程示意图,包括以下步骤:

S400:目标客户端构建业务相关交易,并将所述业务相关交易发送给所述目标服务节点。

S402:当确定所述目标服务节点未受理所述业务相关交易时,将存储的备选队列中的第一个节点标识确定为指定节点标识。

S404:将所述业务相关交易发送给所述指定节点标识对应的服务节点。

S406:判断是否满足指定条件,若否,则执行步骤S408,若是,执行步骤S410。

S408:重新将存储的备选队列中的下一个节点标识确定为所述指定节点标识,并返回执行步骤S404。

S410:结束。

目标客户端确定目标服务节点未受理业务相关交易之后,可以按照存储的对应于目标服务节点的备选队列中各节点标识的先后顺序,由先到后针对每个节点标识对应的服务节点进行业务发起尝试,直至所述业务相关交易被受理,或者,直至存储的备选队列中的第N个节点标识对应的服务节点未受理所述业务相关交易;N∈(1,M+1),M为存储的备选队列中节点标识的数量。

通过图3或图4所示的业务发起方法,针对任一服务节点,在该服务节点宕机期间,由其他服务节点代为受理该服务节点对接的客户端所发起的业务并广播,这意味着联盟链网络本身就已具备容灾能力,可以为联盟中任一服务机构的客户不间断地提供服务(即联盟链网络服务的高可用性)。并且,联盟链网络具有容错能力,哪怕有服务节点宕机,也不会影响业务的正常执行。

此外,本文示例性的给出了一种确定备选队列的方法,如下:

步骤一:目标服务节点针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的当前性能表征值。

其中,该服务节点对应的当前性能表征值与该服务节点的当前负载能力正相关,和/或,该服务节点对应的当前性能表征值与该服务节点的当前通信延迟负相关。也就是说,对该服务节点的当前性能评价依据当前负载能力与当前通信延迟两个指标中的至少一个指标。该服务节点当前的资源空闲越多,意味着其当前负载能力越强,也就意味着其当前性能越强。目标服务节点当前连接到该服务节点的通信延迟越低,意味着该服务节点的当前性能越强。

步骤二:目标服务节点根据与所述目标服务节点具有合作关系的各服务节点对应的当前性能表征值的大小,由大到小对与所述目标服务节点具有合作关系的各服务节点进行排序,得到对应于所述目标服务节点的备选队列。

如此,目标服务节点会将当前性能较强的合作节点的排序靠前,将当前性能较弱的合作节点的排序靠后。

进一步地,由于目标服务节点对应的每个合作服务节点的性能往往是动态变化的,因此,对应于目标服务节点的备选队列也可以相应进行动态更新。具体地,目标服务节点可以针对与所述目标服务节点具有合作关系的每个服务节点,每当经过指定周期时,重新确定该服务节点对应的当前性能表征值,然后根据与所述目标服务节点具有合作关系的每个服务节点对应的当前性能表征值,更新对应于所述目标服务节点的备选队列。

具体地,目标服务节点可以根据与所述目标服务节点具有合作关系的每个服务节点对应的当前性能表征值的大小,重新由大到小对与该服务节点具有合作关系的各服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

在实践中,同一个服务节点组中的各服务节点可以定时向彼此发送自身的心跳信息,每个服务节点发送的心跳信息具体可以包含该服务节点的资源闲置信息、通信延时信息、单位时间的交易受理量、单位时间的交易广播量等等。

此外,本说明书实施例还提供了以下三种更新备选队列的方式:

方式一:

每当经过指定周期时,目标服务节点可以针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的第一当前关系表征值。

其中,该服务节点对应的第一当前关系表征值用于表征该服务节点受理目标客户端发送的业务相关交易的频繁程度,该服务节点越频繁受理目标客户端发送的业务相关交易,该服务节点对应的第一当前关系表征值越大。

随后,目标服务节点可以针对与所述目标服务节点具有合作关系的每个服务节点,根据该服务节点对应的当前性能表征值与该服务节点对应的第一当前关系表征值,确定该服务节点对应的第一当前综合表征值。其中,该服务节点对应的第一当前综合表征值与该服务节点对应的当前性能表征值正相关,与该服务节点对应的第一当前关系表征值负相关。

最后,目标服务节点可以根据与所述目标服务节点具有合作关系的每个服务节点对应的第一当前综合表征值的大小,由大到小重新对与所述目标服务节点具有合作关系的各个服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

在方式一中,目标服务节点在更新对应于自身的备选列表时,一般会将“帮助”自身较多的合作服务节点的顺位下调,将“帮助”自身较少的合作服务节点的顺位上调。于是,当目标服务节点宕机时,目标客户端会优先向顺位高的服务节点继续发送业务相关交易。

方式二:

每当经过指定周期时,针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的第二当前关系表征值。

其中,该服务节点对应的第二当前关系表征值用于表征该所述目标服务节点受理该服务节点对应的客户端发送的业务相关交易的频繁程度,所述目标服务节点越频繁受理该服务节点对应的客户端发送的业务相关交易,该服务节点对应的第二当前关系表征值越大。

然后,针对与所述目标服务节点具有合作关系的每个服务节点,根据该服务节点对应的当前性能表征值与该服务节点对应的第二当前关系表征值,确定该服务节点对应的第二当前综合表征值;其中,该服务节点对应的第二当前综合表征值与该服务节点对应的当前性能表征值正相关,与该服务节点对应的第二当前关系表征值正相关。

最后,根据与所述目标服务节点具有合作关系的每个服务节点对应的第二当前综合表征值的大小,由大到小重新对与所述目标服务节点具有合作关系的各个服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

在方式二中,目标服务节点在更新对应于自身的备选列表时,一般会将自身“帮助”较多的合作服务节点的顺位上调,将自身“帮助”较少的合作服务节点的顺位下调。于是,当目标服务节点宕机时,目标客户端会优先向顺位高的服务节点继续发送业务相关交易。

方式三:

每当经过指定周期时,针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的第一当前关系表征值与第二当前关系表征值。

然后,针对与所述目标服务节点具有合作关系的每个服务节点,根据该服务节点对应的当前性能表征值、该服务节点对应的第一当前关系表征值与第二当前关系表征值,确定该服务节点对应的第三当前综合表征值;其中,该服务节点对应的第三当前综合表征值与该服务节点对应的当前性能表征值正相关,与该服务节点对应的第一当前关系表征值负相关,与该服务节点对应的第二当前关系表征值正相关。

最后,根据与所述目标服务节点具有合作关系的每个服务节点对应的第三当前综合表征值的大小,由大到小重新对与所述目标服务节点具有合作关系的各个服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

当然,在本说明书实施例中,还可以有很多其他的更新备选队列的策略,例如,如果同一个服务节点组中的各服务节点互相提供的是“有偿帮助”,那么,在更新备选队列时,可以不受上述的第一当前关系表征值和/或第二当前关系表征值的约束。

图5是本说明书实施例提供的一种基于联盟链网络的业务受理方法的流程示意图,包括如下步骤:

S500:目标服务节点接收合作服务节点负责对接的客户端所发送的业务相关交易。

S502:立即受理接收到的业务相关交易;或延时受理接收到的业务相关交易;或拒绝受理接收到的业务相关交易。

在实际应用中,目标服务节点的合作服务节点可以受理目标客户端发送的业务相关交易(前文已有阐述),此外,目标服务节点当然也可以接收其合作服务节点负责对接的客户端所发送的业务相关交易。以下将从目标服务节点代替其合作服务节点受理业务的角度进行说明。

当目标服务节点的某个合作服务节点宕机时,该合作服务节点对接的客户端有可能转而向所述目标服务节点发送业务相关交易。目标服务节点可以有自身的交易受理策略,并依据自身的交易受理策略,选择立即受理、延时受理或拒绝受理。

所述交易受理策略可以根据实际需要进行配置。例如,目标服务节点可以随机决定立即受理、延时受理或拒绝受理。

此外,本说明书实施例示例性的给出以下交易受理策略:

策略一:若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不大于第一阈值,则立即受理接收到的业务相关交易。若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量大于第一阈值,则延时受理或拒绝受理。

策略二:若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量大于第一阈值且小于第二阈值,则延时受理接收到的业务相关交易。若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不大于第一阈值且不小于第二阈值,则立即受理或拒绝受理。

策略三:若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不小于第二阈值,则拒绝受理接收到的业务相关交易。若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量小于第二阈值,则立即受理或延时受理。

策略四:若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不大于第一阈值,则立即受理接收到的业务相关交易。若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量大于第一阈值且小于第二阈值,则延时受理接收到的业务相关交易;所述第一阈值小于所述第二阈值。若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不小于第二阈值,则拒绝受理接收到的业务相关交易。

需要说明的是,在本文中,所述第一阈值小于所述第二阈值。

图6是本说明书实施例提供的一种用户操作装置的结构示意图,联盟链网络包括多个服务节点,目标服务节点为与至少一个服务节点具有合作关系的服务节点,所述用户操作装置对接于所述目标服务节点,所述用户操作装置存储有对应于所述目标服务节点的备选队列,对应于所述目标服务节点的备选队列中包含与所述目标服务节点具有合作关系的服务节点的节点标识;

所述用户操作装置包括:

交易构建模块601,构建业务相关交易,并将所述业务相关交易发送给所述目标服务节点;

处理模块602,当确定所述目标服务节点未受理所述业务相关交易时,将存储的备选队列中的一个节点标识确定为指定节点标识;将所述业务相关交易发送给所述指定节点标识对应的服务节点。

所述处理模块602,将存储的备选队列中的第一个节点标识确定为指定节点标识;循环执行以下步骤,直至满足指定条件:

将所述业务相关交易发送给所述指定节点标识对应的服务节点;

若未满足所述指定条件,则重新将存储的备选队列中的下一个节点标识确定为所述指定节点标识;

其中,所述指定条件为,所述业务相关交易被受理,或,存储的备选队列中的第N个节点标识对应的服务节点未受理所述业务相关交易;N∈(1,M+1),M为存储的备选队列中节点标识的数量。

图7是本说明书实施例提供的一种服务装置的结构示意图,联盟链网络包括多个服务节点,所述服务装置为与至少一个服务节点具有合作关系的服务节点,所述服务装置包括:

第一确定模块701,针对与所述服务装置具有合作关系的每个服务节点,确定该服务节点对应的当前性能表征值;该服务节点对应的当前性能表征值与该服务节点的当前负载能力正相关,和/或,该服务节点对应的当前性能表征值与该服务节点的当前通信延迟负相关;

排序模块702,根据与所述服务装置具有合作关系的各服务节点对应的当前性能表征值的大小,由大到小对与所述目标服务节点具有合作关系的各服务节点进行排序,得到对应于所述服务装置的备选队列。

所述装置还包括:

更新模块703,针对与所述目标服务节点具有合作关系的每个服务节点,每当经过指定周期时,重新确定该服务节点对应的当前性能表征值;根据与所述目标服务节点具有合作关系的每个服务节点对应的当前性能表征值,更新对应于所述目标服务节点的备选队列。

所述更新模块703,根据与所述目标服务节点具有合作关系的每个服务节点对应的当前性能表征值的大小,重新由大到小对与该服务节点具有合作关系的各服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

目标客户端为所述服务装置负责对接的任一客户端;

所述装置还包括:

第二确定模块704,每当经过指定周期时,针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的第一当前关系表征值;其中,该服务节点对应的第一当前关系表征值用于表征该服务节点受理目标客户端发送的业务相关交易的频繁程度,该服务节点越频繁受理目标客户端发送的业务相关交易,该服务节点对应的第一当前关系表征值越大;

所述更新模块703,针对与所述目标服务节点具有合作关系的每个服务节点,根据该服务节点对应的当前性能表征值与该服务节点对应的第一当前关系表征值,确定该服务节点对应的第一当前综合表征值;其中,该服务节点对应的第一当前综合表征值与该服务节点对应的当前性能表征值正相关,与该服务节点对应的第一当前关系表征值负相关;根据与所述目标服务节点具有合作关系的每个服务节点对应的第一当前综合表征值的大小,由大到小重新对与所述目标服务节点具有合作关系的各个服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

所述装置还包括:

第三确定模块705,每当经过指定周期时,针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的第二当前关系表征值;其中,该服务节点对应的第二当前关系表征值用于表征该所述目标服务节点受理该服务节点对应的客户端发送的业务相关交易的频繁程度,所述目标服务节点越频繁受理该服务节点对应的客户端发送的业务相关交易,该服务节点对应的第二当前关系表征值越大;

所述更新模块703,针对与所述目标服务节点具有合作关系的每个服务节点,根据该服务节点对应的当前性能表征值与该服务节点对应的第二当前关系表征值,确定该服务节点对应的第二当前综合表征值;其中,该服务节点对应的第二当前综合表征值与该服务节点对应的当前性能表征值正相关,与该服务节点对应的第二当前关系表征值正相关;根据与所述目标服务节点具有合作关系的每个服务节点对应的第二当前综合表征值的大小,由大到小重新对与所述目标服务节点具有合作关系的各个服务节点进行排序,得到更新后的对应于所述目标服务节点的备选队列。

基于图3或4所示的业务发起方法,图8是本说明书实施例提供的一种服务装置的结构示意图,包括:

接收模块801,接收合作服务节点负责对接的客户端所发送的业务相关交易;其中,所述合作服务节点是与所述目标服务节点具有合作关系的任一服务节点;

处理模块802,立即受理接收到的业务相关交易;或延时受理接收到的业务相关交易;或拒绝受理接收到的业务相关交易。

所述处理模块802,若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不大于第一阈值,则立即受理接收到的业务相关交易。

所述处理模块802,若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量大于第一阈值且小于第二阈值,则延时受理接收到的业务相关交易;所述第一阈值小于所述第二阈值。

所述处理模块802,若在指定历史期间内,因受理所述合作服务节点对接的客户端所发送的业务相关交易而消耗的资源量不小于第二阈值,则拒绝受理接收到的业务相关交易。

此外,本说明书实施例还提供了一种业务处理系统,包括由多个服务节点组成的联盟链网络以及每个服务节点负责对接的若干客户端;其中,目标服务节点为与至少一个服务节点具有合作关系的服务节点,目标客户端为所述目标服务节点负责对接的任一客户端,所述目标客户端存储有对应于所述目标服务节点的备选队列,对应于所述目标服务节点的备选队列中包含与所述目标服务节点具有合作关系的服务节点的节点标识;

所述目标客户端,构建业务相关交易,并将所述业务相关交易发送给所述目标服务节点;当确定所述目标服务节点未受理所述业务相关交易时,将存储的备选队列中的一个节点标识确定为指定节点标识;将所述业务相关交易发送给所述指定节点标识对应的服务节点。

所述目标客户端,将存储的备选队列中的第一个节点标识确定为指定节点标识;循环执行以下步骤,直至满足指定条件:

将所述业务相关交易发送给所述指定节点标识对应的服务节点;

若未满足所述指定条件,则重新将存储的备选队列中的下一个节点标识确定为所述指定节点标识;

其中,所述指定条件为,所述业务相关交易被受理,或,存储的备选队列中的第N个节点标识对应的服务节点未受理所述业务相关交易;N∈(1,M+1),M为存储的备选队列中节点标识的数量。

所述目标服务节点,针对与所述目标服务节点具有合作关系的每个服务节点,确定该服务节点对应的当前性能表征值;该服务节点对应的当前性能表征值与该服务节点的当前负载能力正相关,和/或,该服务节点对应的当前性能表征值与该服务节点的当前通信延迟负相关;根据与所述目标服务节点具有合作关系的各服务节点对应的当前性能表征值的大小,由大到小对与所述目标服务节点具有合作关系的各服务节点进行排序,得到对应于所述目标服务节点的备选队列。

所述目标服务节点,接收合作服务节点负责对接的客户端所发送的业务相关交易,其中,所述合作服务节点是与所述目标服务节点具有合作关系的任一服务节点;立即受理接收到的业务相关交易;或延时受理接收到的业务相关交易;或拒绝受理接收到的业务相关交易。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现图3~5所示方法的功能。

图9示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1410、存储器1420、输入/输出接口1430、通信接口1440和总线1450。其中处理器1410、存储器1420、输入/输出接口1430和通信接口1440通过总线1450实现彼此之间在设备内部的通信连接。

处理器1410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1420可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1420中,并由处理器1410来调用执行。

输入/输出接口1430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1450包括一通路,在设备的各个组件(例如处理器1410、存储器1420、输入/输出接口1430和通信接口1440)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1410、存储器1420、输入/输出接口1430、通信接口1440以及总线1450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现图3~5所示方法的功能。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号