CN110163756B - 一种基于联盟链的交易方法、系统、服务器及区块链系统 - Google Patents

一种基于联盟链的交易方法、系统、服务器及区块链系统 Download PDF

Info

Publication number
CN110163756B
CN110163756B CN201910451944.3A CN201910451944A CN110163756B CN 110163756 B CN110163756 B CN 110163756B CN 201910451944 A CN201910451944 A CN 201910451944A CN 110163756 B CN110163756 B CN 110163756B
Authority
CN
China
Prior art keywords
node
transaction
nodes
target
information
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.)
Active
Application number
CN201910451944.3A
Other languages
English (en)
Other versions
CN110163756A (zh
Inventor
李超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Onething Technology Co Ltd
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
Shenzhen Xunlei Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Onething Technology Co Ltd, Shenzhen Xunlei Network Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201910451944.3A priority Critical patent/CN110163756B/zh
Publication of CN110163756A publication Critical patent/CN110163756A/zh
Application granted granted Critical
Publication of CN110163756B publication Critical patent/CN110163756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

本申请公开了一种基于联盟链的交易方法、系统、服务器和介质及区块链系统,方法应用于基于proxy的服务器,包括:获取到路由查询请求后,确定路由查询请求对应的目标联盟链;基于目标联盟链上节点的运行状态及负载大小确定路由表;路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;将路由表下发至路由查询请求的发起方,使发起方根据路由表内节点信息发起目标交易。本申请在服务器获取到路由查询请求后,确定对应的目标联盟链,并根据目标联盟链上节点运行状态及负载大小确定节点,以便发起方利用运行正常且负载符合预设条件的节点发起目标交易,保证交易能够及时得到正常处理,同时有效降低了单个节点过载的概率。

Description

一种基于联盟链的交易方法、系统、服务器及区块链系统
技术领域
本申请涉及区块链技术领域,更具体地说,涉及一种基于联盟链的交易方法、系统、一种服务器和一种计算机可读存储介质及一种区块链系统。
背景技术
联盟链是介于公有链以及私有链之间的区块链,可实现部分去中心化。链上各个节点通常有与之相对应的实体机构或者组织,参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
目前联盟链主要是作为单链进行使用,通过证书以及链上的智能合约规则校验节点和用户的接入权限。用户在发送交易时看到的只是孤立的私有节点,如果用户私有节点出现故障,则无法自行找到其他可以节点对交易请求进行正常及时地处理;且由于用户间的请求量并不均衡,导致部分繁忙的节点存在大量交易堆积,而其他节点却空闲的节点负载不均衡问题。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种基于联盟链的交易方法、系统及一种服务器和一种计算机可读存储介质,保证交易请求能够及时得到正常处理,同时解决了节点间负载不均衡的问题,有效降低了单个节点过载的概率。
为实现上述目的,本申请提供了一种基于联盟链的交易方法,应用于基于proxy的服务器,所述方法包括:
当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;
基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易。
可选的,还包括:
对每条联盟链上的节点进行实时监控。
可选的,所述对每条联盟链上的节点进行实时监控,包括:
获取每条联盟链上的节点上传的节点运行状态。
可选的,所述获取每条联盟链上的节点自动上传的节点运行状态之后,还包括:
对上传运行状态的节点进行签名校验,以判断上报信息的准确性。
可选的,所述对每条联盟链上的节点进行实时监控,包括:
实时监测是否发生节点上线事件、节点下线事件或节点接入事件,并在监控到所述节点上线事件、所述节点下线事件或所述节点接入事件后推送对应的提示信息。
可选的,所述实时监测是否发生节点上线事件、节点下线事件或节点接入事件之后,还包括:
若监测到发生所述节点接入事件,则对新增节点的证书有效性进行校验;
若所述证书有效性校验通过,则对所述新增节点的节点权限进行校验;
若所述节点权限校验通过,则将新增节点保存至所述新增节点对应的待接入联盟链的路由信息中;
将所述新增节点的信息广播至所述待接入联盟链的其他节点,以使所述其他节点建立与所述新增节点的连接。
所述实时监测是否发生节点上线事件、节点下线事件或节点接入事件之后,还包括:
若监测到发生所述节点下线事件,则将下线节点从节点所在联盟链的路由信息中删除;
将所述下线节点的信息广播至所述节点所在联盟链的其他节点,以使所述其他节点断开与所述下线节点的连接。
可选的,所述基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表之前,还包括:
对发起方权限进行校验,并在所述发起方权限校验通过后启动所述基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表的步骤。
可选的,所述基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表,包括:
获取所述目标联盟链上运行正常的目标节点;
将所述目标节点中负载值小于预设值的节点添加至所述路由表中,并按照所述负载值从小到大的顺序进行排列。
可选的,还包括:
获取所述发起方根据所述路由表内的节点信息发起的所述目标交易;
对发起方权限以及所述交易请求对应交易账户的账户有效性进行校验;
若所述发起方权限和所述账户有效性均校验通过,则允许执行所述目标交易。
为实现上述目的,本申请提供了一种基于联盟链的交易系统,应用于基于proxy的服务器,所述系统包括:
第一确定模块,用于当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;
第二确定模块,用于基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
路由下发模块,用于将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易。
为实现上述目的,本申请提供了一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一项所述基于联盟链的交易方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一项所述基于联盟链的交易方法的步骤。
为实现上述目的,本申请提供了一种区块链系统,包括至少两条单链组成的联盟链以及前述公开的服务器。
通过以上方案可知,本申请提供的一种基于联盟链的交易方法,应用于基于proxy的服务器,包括:当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易。
本申请中,在基于proxy的服务器获取到路由查询请求后,首先从服务器连接的多条联盟链中确定当前路由请求对应的目标联盟链,并根据目标联盟链上节点实际的运行状态以及负载大小动态确定出用于处理目标交易的节点,以便发起方利用运行正常且负载符合预设条件的节点发起目标交易,保证交易请求能够及时得到正常处理,同时解决了节点间负载不均衡的问题,有效降低了单个节点过载的概率。本申请还公开了一种基于联盟链的交易系统、一种服务器和一种计算机可读存储介质及一种区块链系统,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种联盟链的示意图;
图2为本申请实施例公开的一种基于联盟链的交易方法的流程图;
图3为本申请实施例公开的一种客户端、联盟链与服务器的交互示意图;
图4为本申请实施例公开的节点实时监控过程的一种具体实施方式的流程图;
图5为本申请实施例公开的节点实时监控过程的另一种具体实施方式的流程图;
图6为本申请实施例公开的节点实时监控过程中监测到节点接入事件的流程图;
图7为本申请实施例公开的另一种基于联盟链的交易方法的流程图;
图8为本申请实施例公开的另一种基于联盟链的交易方法的流程图;
图9为本申请实施例公开的又一种基于联盟链的交易方法的流程图;
图10为本申请实施例公开的一种基于联盟链的交易系统的结构图;
图11为本申请实施例公开的一种服务器的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,联盟链主要是作为单链进行使用,通过证书以及链上的智能合约规则校验节点和用户的接入权限。参见图1所示,用户在发送交易时看到的只是孤立的私有节点,如果用户私有节点出现故障,则无法自行找到其他可以节点对交易请求进行正常及时地处理;且由于用户间的请求量并不均衡,导致部分繁忙的节点存在大量交易堆积,而其他节点却空闲的节点负载不均衡问题。
因此,本申请实施例公开了一种基于联盟链的交易方法,保证交易请求能够及时得到正常处理,同时解决了节点间负载不均衡的问题,有效降低了单个节点过载的概率。
参见图2所示,本申请实施例公开了一种基于联盟链的交易方法,应用于基于proxy的服务器,方法包括:
S11:当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;
本步骤中,在基于proxy的服务器获取到路由查询请求后,根据路由查询请求确定对应的目标联盟链。
proxy是分布式协调服务的一种实现,是一种采用raft协议(Replicated AndFault Tolerant,分布式一致性协议)的分布式数据存储服务,使用集群部署,能够实现分布式的配置共享和服务发现功能,并且能够保证集群中数据的一致性。本申请实施例中,基于proxy的服务器可以是在开源proxy的基础上进行相应的封装得到的服务器。
参见图3所示,本申请实施例利用基于proxy的服务器连接多条联盟链,用户通过客户端分别与联盟链节点以及服务器进行通信。
具体地,路由查询请求用于在用户在发起交易之前获取处理本次交易的节点信息,用户将路由查询请求发送至基于proxy的服务器,其中,路由查询请求中包含待处理的交易信息,服务器根据交易信息和路由查询请求从与服务器连接的多个联盟链中确定交易信息中交易账户所在的目标联盟链。
S12:基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
本步骤中,在获取到路由查询请求并确定对应的目标联盟链之后,根据目标联盟链上各个节点的运行状态以及负载值确定出用户处理待处理的目标交易的节点,并生成路由表。一种具体的实施方式中,基于目标联盟链上节点的运行状态及负载大小确定路由查询请求对应的路由表的过程可以具体为:获取目标联盟链上运行正常的目标节点;将目标节点中负载值小于预设值的节点添加至所述路由表中,并按照负载值从小到大的顺序进行排列。
可以理解的是,根据联盟链上节点的运行状态和负载值大小确定用于处理本次交易的节点,能够避免选择故障节点进行交易,进而避免节点无法及时正常处理交易;进一步确定正常节点中负载值小于预设值的节点,能够避免部分节点负载过高、而部分节点却较为空闲的情况。其中,预设值可以为预先通过人工或系统设定的值,该值为不影响节点正常运行的负载值,本发明对此不做具体限定。
由于需要基于联盟链节点的运行状态及负载大小确定路由表,本申请实施例还进一步包括:对每条联盟链上的节点进行实时监控。通过对节点的实时监控,能够及时掌握各节点的基本状态。
在现有技术节点的管理过程中,通过CA(Certification Authority,认证机构)签发的证书对节点进行管理。然而,由于CA证书有其对应的有效期,一经签发,节点在证书过期之前始终有权限接入链中,若某一节点作恶,由于其证书还有效,无法快速将作恶节点进行剔除。因而本申请对每条联盟链上的节点进行实时监控,能够快速识别作恶节点并剔除,保证了联盟链的安全性。
S13:将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易。
本实施例中,确定用于处理目标交易的路由表后,将路由表下发至路由查询请求的发起方,从而发起方能够利用路由表内的节点信息发起目标交易。一种具体的实施方式中,路由表中包含多个候选节点,节点均为运行状态正常的节点,且按照负载值从小到大的顺序进行排列。发起方接收到路由表后,首先利用第一个节点发起目标交易,若发起失败,可根据路由表中节点的顺序利用第二个节点发起交易,直至发送成功。
本申请中,在基于proxy的服务器获取到路由查询请求后,首先从服务器连接的多条联盟链中确定当前路由请求对应的目标联盟链,并根据目标联盟链上节点实际的运行状态以及负载大小动态确定出用于处理目标交易的节点,以便发起方利用运行正常且负载符合预设条件的节点发起目标交易,保证交易请求能够及时得到正常处理,同时解决了节点间负载不均衡的问题,有效降低了单个节点过载的概率。
本申请实施例中针对节点实时监控过程的一种具体实施方式进行了进一步的说明和优化。参见图4所示,具体的:
S21:获取每条联盟链上的节点上传的节点运行状态;
S22:对上传运行状态的节点进行签名校验,以判断上报信息的准确性。
本实施例中,在节点启动后可以自动上传对应的节点运行状态,从而实现对节点状态的监控。进一步地,在获取到节点上传的节点运行状态后,对上传信息的节点进行签名校验,若校验通过,则表征上报的信息为合法准确的信息,将其进行记录;若校验未通过,则表征节点为非法节点,上传的信息可能是错误的信息,此时忽略该上报信息,通过上述校验可以确保上报信息的准确性。
本申请实施例中针对节点实时监控过程的另一种具体实施方式进行了进一步的说明和优化。参见图5所示,具体的:
S31:实时监测是否发生节点上线事件、节点下线事件或节点接入事件,并在监控到所述节点上线事件、所述节点下线事件或所述节点接入事件后推送对应的提示信息;
本实施例中,利用基于proxy的服务器主动对节点进行监测,查看是否发生了节点上线事件、节点下线事件或节点接入事件。其中,节点上线事件可以为节点启动;节点下线事件可以包括节点因故障下线或节点被管理员强制下线,从而断开与服务器的连接;节点接入事件为在联盟链新增节点。
在监控到上述节点上线事件、节点下线事件或节点接入事件之后,本实施例可以向运维人员推送相应的提示信息,使得联盟链管理员可以及时了解系统运行状态,进一步确保服务的稳定可靠。
S32:若监测到发生节点接入事件,则对新增节点的证书有效性进行校验;
S33:若所述证书有效性校验通过,则对所述新增节点的节点权限进行校验;
S34:若所述节点权限校验通过,则将新增节点保存至所述新增节点对应的待接入联盟链的路由信息中;
S35:将所述新增节点的信息广播至所述待接入联盟链的其他节点,以使所述其他节点建立与所述新增节点的连接;
参见图6所示,若监测到发生了节点接入事件,即接收到节点申请接入的请求后,对该新增节点的证书有效性进行校验,从而检验节点的身份是否合法。若证书有效性的校验未通过,则节点接入失败;若证书有效性校验通过,则进一步对节点的权限进行校验,若节点权限校验未通过,则节点接入失败;若节点权限校验通过,则根据新增节点的信息对待接入联盟链的路由信息进行更新,其中,待接入联盟链为新增节点请求接入的联盟链。具体地,将新增节点的信息保存至待接入联盟链对应的路由信息中,并将新增节点的信息广播至待接入联盟链的其他节点上,以便其他节点记录新增节点的信息,并建立与新增节点的连接,节点接入成功。只有链上所有节点都添加了新增节点的路由信息,在用户发送交易请求获取交易路由信息时,才可能将新增节点的路由信息返回至用户。
S36:若监测到发生节点下线事件,则将下线节点从节点所在联盟链的路由信息中删除;
S37:将所述下线节点的信息广播至所述节点所在联盟链的其他节点,以使所述其他节点断开与所述下线节点的连接。
本实施例中,若监测到发生节点下线事件,则调整该下线节点所在联盟链对应的路由信息,即将下线节点从路由信息中删除,并将下线节点的信息广播至当前链上的其他节点,以便其他节点断开与下线节点的连接,完成节点的下线,并将节点的变化信息记录,推送对应的提示信息至管理员。
本申请实施例公开了另一种基于联盟链的交易方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图7、图8所示,具体的:
S41:当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;
S42:对所述路由查询请求的发起方进行权限校验;
S43:若权限校验通过,则基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
S44:将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易。
本实施例中,在获取到路由查询请求后,首先对路由查询请求对应的发起方进行权限校验,并在权限校验通过后才启动基于目标联盟链上节点的运行状态及负载大小确定路由查询请求对应的路由表的步骤。若权限校验未通过,则返回失败信息。通过对发起方的权限校验,能够进一步保证系统的安全性,避免非法用户对联盟链的访问。
本申请实施例公开了又一种基于联盟链的交易方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图9所示,具体的:
S51:当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;
S52:基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
S53:将所述路由表下发至所述路由查询请求的发起方;
S54:获取所述发起方根据所述路由表内的节点信息发起的所述目标交易;
S55:对发起方权限以及所述交易请求对应交易账户的账户有效性进行校验;
S56:若所述发起方权限和所述账户有效性均校验通过,则允许执行所述目标交易。
本申请实施例中,在将确定的路由表下发至路由查询请求的发起方之后,发起方将根据路由表的节点信息向对应的节点发起目标交易,该节点再将目标交易发送至服务器,当服务器接收到目标交易后,将对发起方权限以及交易请求中涉及到的交易账户的有效性进行校验,并在权限和有效性均校验通过后,方可允许执行目标交易。
需要说明的是,节点和用户(即请求发起方)均将自己的公钥通过管理平台注册到基于proxy的服务器中,同时管理员对公钥进行权限分配,在每个节点或用户与服务器进行交互时,需要使用自己的证书私钥进行签名,从而服务器通过预先注册的公钥对节点或用户的签名进行校验,并在校验通过后,根据公钥对应的权限校验当前发起方即将访问的接口是否属于设定的权限,如果属于,则校验通过。
下面对本申请实施例提供的一种基于联盟链的交易系统进行介绍,下文描述的一种基于联盟链的交易系统与上文描述的一种基于联盟链的交易方法可以相互参照。
参见图10所示,本申请实施例提供的一种基于联盟链的交易系统应用于基于proxy的服务器,所述系统包括:
第一确定模块101,用于当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;
第二确定模块102,用于基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
路由下发模块103,用于将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易。
关于上述模块101至103的具体内容可参考前述实施例公开的内容,在此不再进行赘述。
本申请还提供了一种服务器,参见图11所示,本申请实施例提供的一种服务器包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的任一种基于联盟链的交易方法的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为服务器提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一个实施例所公开的基于联盟链的交易方法的步骤。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种基于联盟链的交易方法的步骤。
本申请中,在基于proxy的服务器获取到路由查询请求后,首先从服务器连接的多条联盟链中确定当前路由请求对应的目标联盟链,并根据目标联盟链上节点实际的运行状态以及负载大小动态确定出用于处理目标交易的节点,以便发起方利用运行正常且负载符合预设条件的节点发起目标交易,保证交易请求能够及时得到正常处理,同时解决了节点间负载不均衡的问题,有效降低了单个节点过载的概率。
进一步地,本申请还提供了一种区块链系统,包括至少两条单链组成的联盟链以及前述公开的服务器。
关于该区块链系统的具体构造可以参考前述实施例中公开的相应内容,在此不再进行赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (14)

1.一种基于联盟链的交易方法,其特征在于,应用于基于proxy的服务器,所述方法包括:
当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;所述路由查询请求中包含待处理的交易信息;
基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易;
其中,所述根据所述路由查询请求确定对应的目标联盟链,包括:
根据所述交易信息和所述路由查询请求,从与所述基于proxy的服务器连接的多个联盟链中确定出所述交易信息中交易账户所在的目标联盟链。
2.根据权利要求1所述的交易方法,其特征在于,还包括:
对每条联盟链上的节点进行实时监控。
3.根据权利要求2所述的交易方法,其特征在于,所述对每条联盟链上的节点进行实时监控,包括:
获取每条联盟链上的节点上传的节点运行状态。
4.根据权利要求3所述的交易方法,其特征在于,所述获取每条联盟链上的节点自动上传的节点运行状态之后,还包括:
对上传运行状态的节点进行签名校验,以判断上报信息的准确性。
5.根据权利要求2所述的交易方法,其特征在于,所述对每条联盟链上的节点进行实时监控,包括:
实时监测是否发生节点上线事件、节点下线事件或节点接入事件,并在监控到所述节点上线事件、所述节点下线事件或所述节点接入事件后推送对应的提示信息。
6.根据权利要求5所述的交易方法,其特征在于,所述实时监测是否发生节点上线事件、节点下线事件或节点接入事件之后,还包括:
若监测到发生所述节点接入事件,则对新增节点的证书有效性进行校验;
若所述证书有效性校验通过,则对所述新增节点的节点权限进行校验;
若所述节点权限校验通过,则将新增节点保存至所述新增节点对应的待接入联盟链的路由信息中;
将所述新增节点的信息广播至所述待接入联盟链的其他节点,以使所述其他节点建立与所述新增节点的连接。
7.根据权利要求5所述的交易方法,其特征在于,所述实时监测是否发生节点上线事件、节点下线事件或节点接入事件之后,还包括:
若监测到发生所述节点下线事件,则将下线节点从节点所在联盟链的路由信息中删除;
将所述下线节点的信息广播至所述节点所在联盟链的其他节点,以使所述其他节点断开与所述下线节点的连接。
8.根据权利要求1所述的交易方法,其特征在于,所述基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表之前,还包括:
对发起方权限进行校验,并在所述发起方权限校验通过后启动所述基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表的步骤。
9.根据权利要求1所述的交易方法,其特征在于,所述基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表,包括:
获取所述目标联盟链上运行正常的目标节点;
将所述目标节点中负载值小于预设值的节点添加至所述路由表中,并按照所述负载值从小到大的顺序进行排列。
10.根据权利要求1至9任一项所述的交易方法,其特征在于,还包括:
获取所述发起方根据所述路由表内的节点信息发起的所述目标交易;
对发起方权限以及交易请求对应交易账户的账户有效性进行校验;
若所述发起方权限和所述账户有效性均校验通过,则允许执行所述目标交易。
11.一种基于联盟链的交易系统,其特征在于,应用于基于proxy的服务器,所述系统包括:
第一确定模块,用于当获取到路由查询请求后,根据所述路由查询请求确定对应的目标联盟链;所述路由查询请求中包含待处理的交易信息;
第二确定模块,用于基于所述目标联盟链上节点的运行状态及负载大小确定所述路由查询请求对应的路由表;所述路由表中包含运行状态正常且负载符合预设条件的用于处理目标交易的节点信息;
路由下发模块,用于将所述路由表下发至所述路由查询请求的发起方,以使所述发起方根据所述路由表内的节点信息发起所述目标交易;
其中,所述第一确定模块,用于根据所述交易信息和所述路由查询请求,从与所述基于proxy的服务器连接的多个联盟链中确定出所述交易信息中交易账户所在的目标联盟链。
12.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至10任一项所述基于联盟链的交易方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述基于联盟链的交易方法的步骤。
14.一种区块链系统,其特征在于,包括至少两条单链组成的联盟链以及如权利要求12所述的服务器。
CN201910451944.3A 2019-05-28 2019-05-28 一种基于联盟链的交易方法、系统、服务器及区块链系统 Active CN110163756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910451944.3A CN110163756B (zh) 2019-05-28 2019-05-28 一种基于联盟链的交易方法、系统、服务器及区块链系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910451944.3A CN110163756B (zh) 2019-05-28 2019-05-28 一种基于联盟链的交易方法、系统、服务器及区块链系统

Publications (2)

Publication Number Publication Date
CN110163756A CN110163756A (zh) 2019-08-23
CN110163756B true CN110163756B (zh) 2023-07-18

Family

ID=67629581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910451944.3A Active CN110163756B (zh) 2019-05-28 2019-05-28 一种基于联盟链的交易方法、系统、服务器及区块链系统

Country Status (1)

Country Link
CN (1) CN110163756B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708383B (zh) * 2019-10-12 2022-06-07 深圳市迅雷网络技术有限公司 区块链节点的网络连接方法及相关设备
CN110891050B (zh) * 2019-10-24 2021-12-14 中国科学技术大学 全链条的原子级主动安全路由方法
CN110797099B (zh) * 2019-10-28 2022-06-17 河北北方学院 一种基于区块链的医疗数据共享方法及系统
CN111262959B (zh) * 2020-01-13 2021-05-25 平安科技(深圳)有限公司 区块链节点访问方法、装置及存储介质
CN111401868B (zh) * 2020-03-19 2022-07-01 南开大学 一种费用最小的区块链链下交易路由算法
CN111541689B (zh) * 2020-04-21 2022-07-12 深圳大学 一种适用于pbft类共识协议的网络传输方法
CN111562984B (zh) * 2020-05-08 2024-04-16 中国工商银行股份有限公司 一种基于联盟链的交易分布式处理方法、装置及系统
CN111865993B (zh) * 2020-07-23 2022-04-01 北京天融信网络安全技术有限公司 身份认证管理方法、分布式系统及可读存储介质
CN115811498A (zh) * 2023-02-06 2023-03-17 北京微芯区块链与边缘计算研究院 一种联盟链的节点路由方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106504091A (zh) * 2016-10-27 2017-03-15 上海亿账通区块链科技有限公司 区块链上交易的方法及装置
CN107426157A (zh) * 2017-04-21 2017-12-01 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法
CN108616581A (zh) * 2018-04-11 2018-10-02 深圳纳实大数据技术有限公司 基于olap/oltp混合应用的数据存储系统及方法
CN108696594A (zh) * 2018-05-27 2018-10-23 佛山市虚拟现实大数据产业研究院有限公司 一种市场监管区块链的大数据传输负载均衡方法及装置
CN108762924A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种负载均衡的方法、装置和计算机可读存储介质
CN109067539A (zh) * 2018-06-13 2018-12-21 深圳前海微众银行股份有限公司 联盟链交易方法、设备及计算机可读存储介质
CN109104377A (zh) * 2018-09-21 2018-12-28 深圳前海微众银行股份有限公司 长连接负载均衡方法、设备、系统及计算机可读存储介质
CN109308223A (zh) * 2018-09-17 2019-02-05 平安科技(深圳)有限公司 一种服务请求的响应方法及设备
CN109558246A (zh) * 2018-12-04 2019-04-02 北京字节跳动网络技术有限公司 一种负载均衡方法、装置、电子设备及存储介质
CN109728954A (zh) * 2019-01-04 2019-05-07 深圳壹账通智能科技有限公司 联盟链节点管理系统以及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356098B2 (en) * 2003-11-10 2013-01-15 Hewlett-Packard Development Company, L.P. Dynamic management of workloads in clusters
US8073952B2 (en) * 2009-04-22 2011-12-06 Microsoft Corporation Proactive load balancing
CN106326008A (zh) * 2016-08-23 2017-01-11 成都卡莱博尔信息技术股份有限公司 一种面向集群系统的监控方法
CN107613030A (zh) * 2017-11-06 2018-01-19 网宿科技股份有限公司 一种处理业务请求的方法和系统
CN108600355A (zh) * 2018-04-13 2018-09-28 济南浪潮高新科技投资发展有限公司 一种雾计算负载均衡调度系统及方法
CN109120715A (zh) * 2018-09-21 2019-01-01 华南理工大学 一种云环境下动态负载均衡方法
CN109559223A (zh) * 2018-10-10 2019-04-02 远光软件股份有限公司 一种基于区块链技术的交易方法、装置及区块链网络

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106504091A (zh) * 2016-10-27 2017-03-15 上海亿账通区块链科技有限公司 区块链上交易的方法及装置
CN107426157A (zh) * 2017-04-21 2017-12-01 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法
CN108616581A (zh) * 2018-04-11 2018-10-02 深圳纳实大数据技术有限公司 基于olap/oltp混合应用的数据存储系统及方法
CN108696594A (zh) * 2018-05-27 2018-10-23 佛山市虚拟现实大数据产业研究院有限公司 一种市场监管区块链的大数据传输负载均衡方法及装置
CN108762924A (zh) * 2018-05-28 2018-11-06 郑州云海信息技术有限公司 一种负载均衡的方法、装置和计算机可读存储介质
CN109067539A (zh) * 2018-06-13 2018-12-21 深圳前海微众银行股份有限公司 联盟链交易方法、设备及计算机可读存储介质
CN109308223A (zh) * 2018-09-17 2019-02-05 平安科技(深圳)有限公司 一种服务请求的响应方法及设备
CN109104377A (zh) * 2018-09-21 2018-12-28 深圳前海微众银行股份有限公司 长连接负载均衡方法、设备、系统及计算机可读存储介质
CN109558246A (zh) * 2018-12-04 2019-04-02 北京字节跳动网络技术有限公司 一种负载均衡方法、装置、电子设备及存储介质
CN109728954A (zh) * 2019-01-04 2019-05-07 深圳壹账通智能科技有限公司 联盟链节点管理系统以及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
多区块链交易分发和事件处理的系统方案;刘雄文;;计算机科学(S2);全文 *
面向大数据的区块链在清算系统中的应用;蔡维德;郁莲;袁波;邓佑权;李琪;郭斌;;大数据(01);全文 *

Also Published As

Publication number Publication date
CN110163756A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110163756B (zh) 一种基于联盟链的交易方法、系统、服务器及区块链系统
WO2021036545A1 (zh) 一种基于智能合约的数据处理方法、设备及存储介质
CN108055138B (zh) 基于区块链的应用分发记录方法和系统
CN113169952B (zh) 一种基于区块链技术的容器云管理系统
CN111539750A (zh) 一种基于区块链和大数据技术的商品溯源系统
CN109040068B (zh) 宽带用户的异地认证方法、鉴权认证服务器和区块链
WO2022166637A1 (zh) 基于区块链网络的数据处理方法、装置及计算机设备
CN110602108B (zh) 基于区块链网络的数据通信方法、装置、设备及存储介质
WO2020253634A1 (zh) 一种数据处理方法、系统及装置
JP6954709B1 (ja) ブロックチェーンに基づくドメイン名管理システム
CN110334484B (zh) 一种版权验证方法、装置、计算机设备和存储介质
US11483158B2 (en) Distributed ledger device, distributed ledger system, and distributed ledger management method
CN115987697B (zh) 基于事件订阅机制的多层级情报数据共享方法及系统
CN109714363B (zh) 一种交换机密码修改方法及系统
CN112037055A (zh) 交易处理方法、装置、电子设备及可读存储介质
WO2023045532A1 (zh) 基于区块链的交易处理
JP5645891B2 (ja) ソフトウェア提供システム、ポータルサーバ、提供サーバ、認証方法、提供方法およびプログラム
WO2015194957A1 (en) Data verification in a distributed data processing system
KR102294569B1 (ko) 블록체인 네트워크를 구축할 수 있는 블록체인 관리시스템
CN112037062B (zh) 交易共识方法、装置、电子设备及可读存储介质
CN111209540B (zh) 信息验证方法、装置和存储介质
Li et al. DHBFT: dynamic hierarchical Byzantine fault-tolerant consensus mechanism based on credit
KR102253506B1 (ko) 블록체인 기반 분산 원장 관리 장치 및 방법
CN108038782B (zh) 一种用于证券交易的安全系统及用于证券交易的安全校验方法
US9830207B2 (en) Message communication system and operation method thereof

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210910

Address after: 518000 21 / f-23 / F, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, South Keji Road, high tech community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Xunlei Networking Technologies, Ltd.

Applicant after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Address before: 518052 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant