CN117240621A - 网络请求的处理方法、装置、计算机可读介质及电子设备 - Google Patents

网络请求的处理方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN117240621A
CN117240621A CN202311505070.8A CN202311505070A CN117240621A CN 117240621 A CN117240621 A CN 117240621A CN 202311505070 A CN202311505070 A CN 202311505070A CN 117240621 A CN117240621 A CN 117240621A
Authority
CN
China
Prior art keywords
node
network request
target
network
nodes
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.)
Granted
Application number
CN202311505070.8A
Other languages
English (en)
Other versions
CN117240621B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311505070.8A priority Critical patent/CN117240621B/zh
Publication of CN117240621A publication Critical patent/CN117240621A/zh
Application granted granted Critical
Publication of CN117240621B publication Critical patent/CN117240621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请的实施例提供了一种网络请求的处理方法、装置、计算机可读介质及电子设备,该方法由多个第二节点中的目标第二节点执行,节点网络包括第一节点层和第二节点层,第一节点层包括能够相互通信的多个第一节点,第二节点层包括能够相互通信的多个第二节点,该方法包括:接收目标第一节点发来的第二网络请求,第一网络请求是用户终端向目标第一节点发送,并通过第一限流控制策略后被目标第一节点接收的;第二网络请求是在第一网络请求通过目标第一节点的信息合法性校验后,由目标第一节点生成并发送至目标第二节点;对第二网络请求进行身份校验;若通过身份校验,对第二网络请求进行处理。本申请实施例可以使节点网络实现对安全性和性能的兼顾。

Description

网络请求的处理方法、装置、计算机可读介质及电子设备
技术领域
本申请涉及计算机网络技术领域,具体而言,涉及一种网络请求的处理方法、装置、计算机可读介质及电子设备。
背景技术
随着网络技术的发展,设计一个合理的网络架构已经成为实现业务应用的基础。
然而,目前提出的网络架构的能力往往只侧重于安全性或者性能其中一方面的能力,安全性高的网络架构的通常会限制网络请求的处理能力,因此在性能方面存在短板,性能高的网络架构在应用到一些特定的业务场景时则无法有效防御网络攻击,从而无法保证安全性。因而,目前的网络架构虽然能够满足常见的业务需求,但由于其能力存在短板,不能满足一些其他的业务需求。
因此,目前亟需一种同时具备较高的安全性和性能,能够满足其他更广泛的业务需求的网络架构方案。
发明内容
本申请的实施例提供了一种基于网络请求的处理方法、装置、计算机可读介质及电子设备,使用了一种包括两个节点层的节点网络,第一节点层具备开放性,其主要用于防御网络攻击,第二节点层则专注于对网络请求的处理,保证了处理性能,因而至少在一定程度上可以使网络架构实现对安全性和性能的兼顾。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种网络请求的处理方法,所述方法由节点网络的多个第二节点中的目标第二节点执行,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的多个第一节点,所述第二节点层包括能够相互通信的所述多个第二节点,所述第一节点能够与至少一个第二节点通信,所述方法包括:接收所述多个第一节点中的目标第一节点发来的第二网络请求;其中,所述第二网络请求是所述目标第一节点根据第一网络请求中携带的信息生成的;所述第一网络请求是由用户终端向所述目标第一节点发送,并在通过了为所述目标第一节点配置的第一限流控制策略之后被所述目标第一节点接收到的;所述第二网络请求是在所述第一网络请求中携带的信息通过所述目标第一节点的信息合法性校验后,由所述目标第一节点生成并发送至所述目标第二节点的;对所述第二网络请求的请求方进行身份校验;若通过身份校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
根据本申请实施例的一个方面,提供了一种网络请求的处理方法,所述方法由节点网络的多个第一节点中的目标第一节点执行,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的所述多个第一节点,所述第二节点层包括能够相互通信的多个第二节点,所述第一节点能够与至少一个第二节点通信,所述方法包括:若用户终端发来的第一网络请求通过了为所述目标第一节点配置的第一限流控制策略,则获取所述第一网络请求中携带的信息;对所述第一网络请求中携带的信息进行信息合法性校验;若所述第一网络请求中携带的信息通过了所述信息合法性校验,则根据所述第一网络请求中携带的信息生成第二网络请求;将所述第二网络请求向所述多个第二节点中的目标第二节点发送,以便所述目标第二节点对发来的所述第二网络请求的请求方进行身份校验,并在通过身份校验之后,基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
根据本申请实施例的一个方面,提供了一种网络请求的处理装置,所述装置应用于节点网络的多个第二节点中的目标第二节点,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的多个第一节点,所述第二节点层包括能够相互通信的所述多个第二节点,所述第一节点能够与至少一个第二节点通信,所述装置包括:接收单元,用于接收所述多个第一节点中的目标第一节点发来的第二网络请求;其中,所述第二网络请求是所述目标第一节点根据第一网络请求中携带的信息生成的;所述第一网络请求是由用户终端向所述目标第一节点发送,并在通过了为所述目标第一节点配置的第一限流控制策略之后被所述目标第一节点接收到的;所述第二网络请求是在所述第一网络请求中携带的信息通过所述目标第一节点的信息合法性校验后,由所述目标第一节点生成并发送至所述目标第二节点的;身份校验单元,用于对所述第二网络请求的请求方进行身份校验;处理单元,用于若通过身份校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
在本申请的一些实施例中,基于前述方案,所述节点网络为区块链网络,所述第一节点为第一区块链节点,所述第二节点为第二区块链节点,所述第一网络请求为携带有交易信息的第一交易上链请求,所述第二网络请求为携带有所述交易信息的第二交易上链请求;所述处理单元配置为:基于与所述第二节点层中其他第二区块链节点的交互对所述第二交易上链请求中的交易信息进行共识处理;当共识通过,将所述交易信息打包为新的区块,并将所述新的区块加入区块链中。
在本申请的一些实施例中,基于前述方案,所述身份校验单元配置为:通过下列至少一种方式对所述第二网络请求的请求方进行身份校验:检查所述第二网络请求的请求方是否位于白名单中;检查所述第二网络请求的请求方的IP地址是否为合法IP地址;对所述第二网络请求中携带的请求方的数字签名进行校验;对所述第二网络请求的请求方是否与所述目标第二节点匹配进行校验。
在本申请的一些实施例中,基于前述方案,所述处理单元配置为:若通过身份校验,则判断所述第二网络请求是否通过为所述目标第二节点配置的第二限流控制策略;若所述第二网络请求通过为所述目标第二节点配置的第二限流控制策略,则对所述第二网络请求中携带的信息进行信息合法性校验;若通过信息合法性校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
在本申请的一些实施例中,基于前述方案,所述目标第一节点对所述第一交易上链请求中携带的交易信息进行信息合法性校验的方式包括判断所述交易信息是否为重复请求上链的交易信息,所述目标第一节点还在所述交易信息通过所述信息合法性校验后将所述交易信息广播至所述第一节点层中的其他第一节点。
在本申请的一些实施例中,基于前述方案,所述目标第一节点对所述第一交易上链请求中携带的交易信息进行信息合法性校验的方式还包括以下中的至少一项:判断所述交易信息的结构是否符合预定规则;对所述交易信息的数字签名进行校验。
在本申请的一些实施例中,基于前述方案,所述目标第二节点是根据所述目标第一节点向所述至少一个第二节点广播所述第二网络请求而接收到所述第二网络请求的。
在本申请的一些实施例中,基于前述方案,所述第一节点层中的第一节点属于公链节点,所述第二节点层中的第二节点属于联盟链节点,所述节点网络为开放联盟链节点网络。
根据本申请实施例的一个方面,提供了一种网络请求的处理装置,所述装置应用于节点网络的多个第一节点中的目标第一节点,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的所述多个第一节点,所述第二节点层包括能够相互通信的多个第二节点,所述第一节点能够与至少一个第二节点通信,所述装置包括:获取单元,用于若用户终端发来的第一网络请求通过了为所述目标第一节点配置的第一限流控制策略,则获取所述第一网络请求中携带的信息;校验单元,用于对所述第一网络请求中携带的信息进行信息合法性校验;生成单元,用于若所述第一网络请求中携带的信息通过了所述信息合法性校验,则根据所述第一网络请求中携带的信息生成第二网络请求;发送单元,用于将所述第二网络请求向所述多个第二节点中的目标第二节点发送,以便所述目标第二节点对发来的所述第二网络请求的请求方进行身份校验,并在通过身份校验之后,基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的网络请求的处理方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的网络请求的处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述电子设备执行如上述实施例中所述的网络请求的处理方法。
在本申请的一些实施例所提供的技术方案中,通过提出一个包括第一节点层和第二节点层的两层架构的节点网络,第一节点层包括能够相互通信的多个第一节点,第二节点层包括能够相互通信的所述多个第二节点,而且第一节点能够与至少一个第二节点通信,用户终端向多个第一节点中的目标第一节点发送了第一网络请求之后,如果第一网络请求通过了为目标第一节点配置的第一限流控制策略,目标第一节点才会接收到该第一网络请求,而且第一网络请求中携带的信息通过了目标第一节点的信息合法性校验后,目标第一节点会根据第一网络请求中携带的信息生成第二网络请求,并将第二网络请求发送至目标第二节点,因此,通过第一节点层的第一限流控制策略和信息合法性校验,可以有效防御网络攻击,保证了网络架构的安全性;在此基础上,目标第二节点在接收到第二网络请求后,会对第二网络请求的请求方进行身份校验,并在通过身份校验时便可以对第二网络请求进行处理,目标第二节点的身份校验进一步提高了网络架构的安全性,由于目标第二节点在完成身份校验后便可以专注于对第二网络请求的处理,具有较高的处理性能。因此,本申请实施例的方案提出了采用两个节点层的设计的网络架构,第一节点层具备开放性,其主要用于防御网络攻击,提高了安全性,第二节点层则能够高效处理网络请求,保证了性能,可以使节点网络的网络架构实现对安全性和性能的兼顾,能力更加全面,可以适用于开放联盟链等业务场景,进而能够满足更广泛的业务需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了相关技术中公链的网络架构示意图。
图2示出了相关技术中联盟链的网络架构示意图。
图3示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图4示出了根据本申请的一个实施例的网络请求的处理方法的流程图。
图5示出了根据本申请的一个实施例的开放联盟链节点网络的网络架构示意图。
图6示出了根据本申请的一个实施例的用户与外层全节点的交互逻辑图。
图7示出了根据本申请的一个实施例的在通过身份校验时基于与第二节点层中其他第二节点的交互对所述第二网络请求进行处理的具体流程图。
图8示出了根据本申请的一个实施例的外层全节点与内层共识节点的交互逻辑图。
图9示出了根据本申请的一个实施例的图4实施例中步骤430的细节的流程图。
图10示出了根据本申请的另一个实施例的网络请求的处理方法的流程图。
图11示出了根据本申请的一个实施例的网络请求的处理装置的框图。
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例的方案涉及的关键术语的定义如下:
开放联盟链(Public Permissioned Blockchain):是一种介于公链和联盟链之间的区块链底层框架,在开放联盟链生态中支持节点开放、协议开放、合约开放,在合规框架下追求原生区块链技术模式。
拒绝服务攻击(DoS Attack):攻击者通过大量请求或恶意构造交易拥塞区块链网络,导致系统性能下降,影响正常用户的使用。
女巫攻击(Sybil Attack):是一种网络安全攻击,攻击者通过在网络中创建大量伪造或虚假的节点来欺骗其他网络参与者。女巫攻击是点对点网络(包括区块链网络)中常见的一种攻击手段。攻击者利用伪造节点试图淹没正常操作,从而实现某些不良目标,如篡改交易历史,操纵共识机制,或实施其他攻击。
在现有的区块链技术中,区块链可以分为公链和联盟链两种类型。公链和联盟链的网络架构具有显著的差异,具体如下所示:
图1示出了相关技术中公链的网络架构示意图。请参见图1所示,公链的网络架构包括多个相互连接的节点(node),公链采用的网络架构是完全去中心化并对所有人开放的区块链网络架构。在这种架构下,任何人都可以参与节点运行和交易验证,并且在部署在公网环境下。
图2示出了相关技术中联盟链的网络架构示意图。请参见图2所示,与公链不同,联盟链是仅面向特定组织和成员的区块链网络架构。在这种架构下,加入节点和参与交易验证的成员需经过许可。并且联盟链为了可以拥有更高的交易吞吐量(tps)所以节点数量不是很多,同时联盟链节点通常是运行在某些企业等机构的内网中。
虽然如上所述的两类区块链网络架构能够满足特定场景的需求,但是,随着区块链技术的发展,在将这两类区块链网络架构应用到开放联盟链时存在以下缺陷:
1、由于公链是完全去中心化,并且其节点是对所有人开放的,在这种区块链网络架下,任何人都可以参与节点运行和交易验证。因为公链本身具有的开放性的特性,它们的网络架构必须考虑到要面临的高度安全风险的问题,因此公链通常具有较强的安全性,例如公链的全球节点分布,以及所拥有的数百甚至数千共识节点,节点出块顺序具有随机性确定的特点保证了其具有较强的安全性,可以有效防止女巫攻击和DoS攻击。仅就网络开放层面而言,公链完全去中心化并对所有人开放的区块链网络架构是完全满足开放联盟链的需求的,但是公链所具有的开放和安全的特点往往是以牺牲性能为代价的。所以公链网络架构的低性能是开放联盟链采用公链网络的最大阻碍。
2、与公链不同,联盟链是仅面向特定组织和成员的区块链网络架构。在这种架构下,加入节点和参与交易验证的成员都需经过许可。相较于公链,由于联盟链的节点是有条件开放的,并且参与节点维护的用户都是实名的,所以联盟链面临的安全威胁较小,因此能够在性能方面有更多的侧重,可以保持较高的性能。比如在联盟链网络结构中,共识节点数量都很有限,同时为了实现高性能,共识节点的出块顺序都是有序的,虽然这样的设计在联盟链体系中是完全没有问题,并且还能够带来高效的交易吞吐量(tps)。联盟链带来的高效的交易吞吐量(tps)是完全满足开放联盟链的需求的,但是这种网络架构在开放联盟链带来的安全性问题却是致命的,比如当开放联盟链使用了联盟链的网络架构时,在面对女巫攻击和DoS攻击时完全没有防御能力,会直接导致开放联盟链网络无法正常出块甚至直接处于瘫痪状态。
为此,本申请首先提供了一种网络请求的处理方法。基于本申请实施例提供的网络请求的处理方法可以克服上述缺陷,提出了一种新型的节点网络的网络架构,其不仅具有公链所具有的安全性高的特点,而且具有能够与联盟链相媲美的性能,从而可以使节点网络的网络架构实现对安全性和性能的兼顾,能力更加全面,可以应用于开放联盟链,能够满足更广泛的业务需求。
图3示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。如图3所示,该系统架构300可以包括用户终端310、通信链路320和区块链网络330,区块链网络330包括第一节点层340和第二节点层350,第一节点层340包括多个第一区块链节点,第二节点层350包括多个第二区块链节点,多个第一区块链节点具体为第一区块链节点341-345,多个第二区块链节点具体为第二区块链节点351-353,用户终端310通过通信链路320与区块链网络330中的第一节点层340中的某个第一区块链节点(如第一区块链节点341)建立了通信连接,用户终端310无法与第二区块链节点直接进行通信,第一节点层340中的任意两个第一区块链节点之间可以进行相互通信,第二节点层350中的任意两个第二区块链节点之间可以进行相互通信,每个第一区块链节点能够与至少一个第二区块链节点建立连接,从而能够与至少一个第二区块链节点进行通信,用户终端310上部署有访问客户端,各第一区块链节点上部署有第一区块链客户端,各第二区块链节点上部署有第二区块链客户端,第一区块链节点或第二区块链节点可以为本申请实施例方案的执行主体。当本申请实施例提供的一种网络请求的处理方法应用于图3所示的系统架构中时,一个过程可以是这样的:首先,用户终端310向第一区块链节点345发送携带有交易信息的第一交易上链请求,以请求将交易信息上链;然后,第一区块链节点345通过为其配置的第一限流控制策略对接收到的交易上链请求进行过滤,当第一交易上链请求通过了第一限流控制策略的过滤之后,第一区块链节点345会接收到该第一交易上链请求;接着,第一区块链节点345上的第一区块链客户端对该第一交易上链请求中的交易信息进行信息合法性校验,并在完成信息合法性校验后,根据该第一交易上链请求中的交易信息生成第二交易上链请求,并将该第二交易上链请求向该第一区块链节点345所连接的第二区块链节点353发送;接下来,第二区块链节点353对该第二交易上链请求的请求方进行身份校验,并在确定其通过身份校验时,与第二节点层350中的其他第二区块链节点进行交互,以对交易信息进行共识操作,并在通过共识之后,将该交易信息打包上链。
在本申请的一些实施例中,第一区块链节点为公链的区块链节点,第二区块链节点为联盟链的区块链节点。
在本申请的一些实施例中,第一区块链节点也维护有区块链,第一区块链节点所维护的区块链与第二区块链节点所维护的区块链是两个相同的区块链。
在本申请的一些实施例中,第一区块链节点所维护的区块链中保存的交易为交易的标识;第一区块链节点所维护的区块链中保存的交易为包括交易的标识在内的完整交易信息。
在本申请的一些实施例中,第一区块链节点345是由于其为多个第一区块链节点中与用户终端310距离最近的区块链节点而被用户终端310选为第一交易上链请求的接收方的。
在本申请的一些实施例中,第一区块链节点345是由用户终端310从多个第一区块链节点中选择的第一交易上链请求的接收方。
应该理解,图3中的用户终端的数量、第一节点层包括的第一区块链节点的数量以及第二节点层包括的第二区块链节点的数量仅仅是示意性的。根据实现需要,可以具有任意数目的用户终端、第一区块链节点和第二区块链节点,即用户终端的数量可以为多个,第一节点层包括的第一区块链节点的数量可以超过5个,也可以低于5个;第二节点层包括的第二区块链节点的数量可以超过3个,也可以低于3个。
需要说明的是,图3示出的仅为本申请的一个实施例。虽然在图3实施例的方案中,区块链网络中的区块链节点均为服务器,而用户终端为台式计算机,并且不同区块链节点的设备类型是相同的,但在本申请的其他实施例中,区块链节点和用户终端还可以为智能手机、笔记本电脑、台式计算机、平板电脑、车载终端、飞行器、便携式可穿戴设备、工作站、智能音箱、智能手表、智能家电等各种类型的电子设备,并且不同区块链节点的设备类型可以不同;虽然在图3实施例的方案中,第一节点层包括的第一区块链节点的数量大于第二节点层包括的第二区块链节点的数量,但在本申请的其他实施例中,第一节点层包括的第一区块链节点的数量还可以小于或等于第二节点层包括的第二区块链节点的数量;虽然在图3实施例的方案中,每个第一区块链节点只能与一个或两个第二区块链节点建立连接,但在本申请的其他实施例中,每个第一区块链节点还可以与更多数量的第二区块链节点建立连接,甚至可以与所有第二区块链节点建立连接;虽然在图3实施例的方案中,每个第二区块链节点均与至少一个第一区块链节点建立了连接,但在本申请的其他实施例中,第二节点层中可以存在至少一个第二区块链节点不允许任何第一区块链节点与之建立连接。本申请实施例对此不作任何限定,本申请的保护范围也不应因此而受到任何限制。
易于理解,本申请实施例所提供的网络请求的处理方法一般由服务器执行,相应地,网络请求的处理装置一般设置于服务器中。但是,在本申请的其它实施例中,用户终端也可以与服务器具有相似的功能,从而执行本申请实施例所提供的网络请求的处理方案。
因此,本申请实施例可以应用于用户终端或服务器中。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。用户终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例的方案可以应用于区块链领域。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监测网络情况、监测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图4示出了根据本申请的一个实施例的网络请求的处理方法的流程图,该网络请求的处理方法由节点网络的多个第二节点中的目标第二节点执行,该节点网络包括第一节点层和第二节点层,第一节点层包括能够相互通信的多个第一节点,第二节点层包括能够相互通信的所述多个第二节点,第一节点能够与至少一个第二节点通信,第一节点和第二节点可以是各种能够计算和处理的电子设备来执行,比如可以是用户终端或服务器。节点网络可以是各种类型的计算机网络,比如可以是半公开网络。
当本申请实施例提供的一种网络请求的处理方法应用于区块链领域时,节点网络为区块链网络,第一节点为第一区块链节点,第二节点为第二区块链节点。具体来说,节点网络可以为开放联盟链节点网络,第一节点层中的第一节点可以属于公链节点,第二节点层中的第二节点属于联盟链节点。
图5示出了根据本申请的一个实施例的开放联盟链节点网络的网络架构示意图。请参见图5所示,开放联盟链节点网络架构是一种两层节点网络架构方案,其同时吸收了公链网络架构与联盟链网络架构的优点,开放联盟链节点网络架构包括第一节点层和第二节点层,第一节点层位于外层或外部,用户终端可以直接访问,第一节点层包括若干第一区块链节点,第一节点层中的任意两个第一区块链节点之间可以进行相互通信,第一区块链节点与公链的区块链节点一样可以支持在全球任意位置的任意设备上进行的节点部署,因此,其也可以被称为全节点(fnode),第一节点层也可以称为全节点层,全节点用于对网络请求进行验证和过滤,不进行共识和出块,全节点通常为个人计算机;第二节点层包括若干第二区块链节点,由于在通常情况下,第二区块链节点位于内网中,用户终端无法直接访问第二区块链节点,即第二区块链节点并不对普通用户开放,因此,第二节点层位于内层或内部,第二节点层中的任意两个第二区块链节点之间可以进行相互通信,第二节点层中的第二区块链节点采用了联盟链中的联盟链节点,即共识节点(cnode),第二节点层也可以称为共识节点层,共识节点层中的共识节点采用了联盟链中的共识节点所使用的权限控制体系,主要用于进行共识和出块,共识节点通常为服务器。每个第一区块链节点与一个或多个第二区块链节点建立了连接,即每个第一区块链节点可以与第二节点层中的部分特定的第二区块链节点或者全部第二区块链节点建立连接,每个第二区块链节点可以被一个或多个第一区块链节点连接,当然,还可以存在至少一个第二区块链节点无法被第一区块链节点连接。在一些特殊情况下,通过设置合适的权限管理策略,可以部分用户终端的用户有限度地访问第二区块链节点。第一区块链节点只会主动请求与第二区块链节点连接,第二区块链节点不能主动请求与第一区块链节点连接。
请参照图4所示,该网络请求的处理方法至少包括以下步骤:
在步骤410中,接收多个第一节点中的目标第一节点发来的第二网络请求;其中,第二网络请求是目标第一节点根据第一网络请求中携带的信息生成的;第一网络请求是由用户终端向目标第一节点发送,并在通过了为目标第一节点配置的第一限流控制策略之后被目标第一节点接收到的;第二网络请求是在第一网络请求中携带的信息通过目标第一节点的信息合法性校验后,由目标第一节点生成并发送至目标第二节点的。
目标第一节点可以是多个第一节点中的任意第一节点。目标第一节点可以是用户终端主动选择接入的第一节点,也可以是节点网络根据指定规则为用户终端分配的第一节点,比如目标第一节点可以是随机分配的第一节点或者距离用户终端最近的第一节点。
第一限流控制策略是用来防止攻击者将节点的资源消耗完毕,以避免节点崩溃的手段。
可以预先为第一节点层中的各个第一节点配置第一限流控制策略,为不同第一节点配置的第一限流控制策略可以相同,也可以不同。比如,可以对第一节点层中所有第一节点配置相同的第一限流控制策略;也可以针对每一第一节点,为该第一节点配置专属于该第一节点的第一限流控制策略;还可以对所有第一节点进行类型划分,并为每一类型的第一节点配置对应的第一限流控制策略,对第一节点的类型划分依据可以是第一节点的内存、CPU、网络等指标的性能。不同第一节点的性能可以不同。
易于理解,第一节点是由第一节点对应的电子设备的硬件和位于电子设备上的软件组成的,因此,第一限流控制策略可以是由第一节点对应的电子设备的硬件和/或位于电子设备上的软件来实现的。第一限流控制策略可以是第一节点能够同时接收的最大并发连接数。通过为第一节点配置第一限流控制策略,可以阻止恶意请求,从而有效防御女巫攻击和DoS攻击,提高了节点网络的安全性。
第一网络请求在通过了为目标第一节点配置的第一限流控制策略之后,目标第一节点才能真正接收到该第一网络请求。
在本申请的一个实施例中,第一网络请求为携带有交易信息的第一交易上链请求,第二网络请求为携带有交易信息的第二交易上链请求。
第一交易上链请求和第二交易上链请求是用来请求将其携带的交易信息存储至区块链中的网络请求。
在本申请的一个实施例中,目标第一节点对第一交易上链请求中携带的交易信息进行信息合法性校验的方式包括以下中的至少一项:判断交易信息是否为重复请求上链的交易信息;判断交易信息的结构是否符合预定规则;
对交易信息的数字签名进行校验。
根据上述实施例可知,信息合法性校验实际上为对交易信息的校验。
具体而言,第一节点层中的各个第一节点可以维护一个第一区块链,第一区块链可以存储已经上链的交易信息或者已经上链的交易信息的交易标识。交易信息中可以包括交易标识(交易ID),可以通过判断目标第一节点维护的第一区块链中是否已经存在交易信息中包括的交易标识来确定交易信息是否为重复请求上链的交易信息,如果存在,则确认交易信息为重复请求上链的交易信息;否则,确认交易信息不为重复请求上链的交易信息。
能够上链的交易信息的结构需要符合一定的规则才是能够确保交易信息的准确性,因此,有必要对交易信息的结构是否符合预定规则进行判断。
在本申请的一个实施例中,目标第一节点还在交易信息通过信息合法性校验后将交易信息广播至第一节点层中的其他第一节点。
目标第一节点通过将交易信息广播至第一节点层中的其他第一节点,可以使交易信息或者交易信息的交易标识存至其他第一节点维护的第一区块链中,其他第一节点也可以根据存储的交易信息或者交易信息的交易标识对其接收到的交易上链请求中携带的交易信息是否为重复请求上链的交易信息进行验证。
第一网络请求可以同时携带交易信息和交易信息的数字签名,用户终端先通过哈希运算生成交易信息的第一摘要,然后根据用户的私钥对第一摘要进行加密,得到交易信息的数字签名;目标第一节点对交易信息的数字签名进行校验的方式可以如下:首先,目标第一节点通过用户终端的用户的公钥对交易信息的数字签名进行解密,得到第一摘要;然后,通过对交易信息进行哈希运算,得到第二摘要;若判断第一摘要和第二摘要相同,确定通过校验;否则,确定未通过校验。
在本申请实施例中,通过进行信息合法性校验,保证了请求上链的交易信息的合法性。
如果第一交易上链请求中携带的交易信息通过了目标第一节点进行的信息合法性校验,目标第一节点会根据第一交易上链请求中携带的交易信息生成包含该交易信息的第二交易上链请求,并将第二交易上链请求发送至目标第二节点。
在本申请实施例中,只有在第一网络请求中携带的信息通过了目标第一节点的信息合法性校验的情况下,目标第一节点才会生成第二网络请求并将其至目标第二节点,可以有效将无效交易和不合法请求与第二节点隔离开来,降低了对第二节点造成影响的可能性。
在本申请的一个实施例中,目标第二节点是根据目标第一节点向至少一个第二节点广播第二网络请求而接收到第二网络请求的。
目标第一节点可以向其能够连接和进行通信的部分或者全部第二节点广播该第二网络请求。
图6示出了根据本申请的一个实施例的用户与外层全节点的交互逻辑图。请参见图6所示,用户向开放联盟链外部节点,即外层的全节点(fnode)发送交易,某个全节点会进行交易限流和交易校验,并在完成交易校验后进行交易的广播,可以向其他全节点进行广播,还会向内层的共识节点进行广播。
请继续参见图4,在步骤420中,对第二网络请求的请求方进行身份校验。
对第二网络请求的请求方进行身份校验的方式可以是各种各样的。
在本申请的一个实施例中,对第二网络请求的请求方进行身份校验,包括:通过下列至少一种方式对第二网络请求的请求方进行身份校验:检查第二网络请求的请求方是否位于白名单中;检查第二网络请求的请求方的IP地址是否为合法IP地址;对第二网络请求中携带的请求方的数字签名进行校验;对第二网络请求的请求方是否与目标第二节点匹配进行校验。
第二网络请求的请求方即目标第二节点,第二网络请求中除了包括交易信息之外,还可以包括第二网络请求的请求方的标识信息、数字签名等。
可以预先设置一个IP地址或者标识信息的白名单列表,检查第二网络请求的请求方的IP地址或者标识信息是否位于该白名单列表中,以此来判断第二网络请求的请求方是否位于白名单中,只有第二网络请求的请求方位于白名单中,才会确定其身份是合法的。可以预先设置一组IP过滤规则,通过判断第二网络请求的请求方的IP地址是否符合IP过滤规则来确定其是否为合法IP地址,IP过滤规则用来限制能够通过过滤的IP地址,比如,可以仅使位于指定地址段内的IP地址能够通过过滤。第二网络请求中携带的请求方的数字签名是对包括交易信息、交易信息的数字签名在内的整体报文进行的数字签名,对请求方的数字签名进行校验的方式与对交易信息的数字签名进行校验的方式可以是相同的,此处不再赘述。可以在目标第二节点上配置一个标识信息与第一节点类型的对应关系表,然后,根据该对应关系表确定与请求方的标识信息对应的第一节点类型,然后判断确定出的该第一节点类型是否为与目标第二节点匹配的第一节点类型,如果则确定第二网络请求的请求方与目标第二节点是匹配的,这样,使得只有属于指定第一节点类型的第一节点发送的第二网络请求才能够通过身份校验,从而保证了目标第二节点接收到的第二网络请求的可靠性。
在步骤430中,若通过身份校验,则基于与第二节点层中其他第二节点的交互对第二网络请求进行处理。
图7示出了根据本申请的一个实施例的在通过身份校验时基于与第二节点层中其他第二节点的交互对所述第二网络请求进行处理的具体流程图。请参见图7所示,若通过身份校验,则基于与第二节点层中其他第二节点的交互对第二网络请求进行处理,具体可以包括以下步骤:
在步骤710中,若通过身份校验,则判断第二网络请求是否通过为目标第二节点配置的第二限流控制策略。
第二限流控制策略与第一限流控制策略相比,两者可以相同,也可以不同。第二限流控制策略可以是目标第二节点能够同时接收的最大并发连接数。
在步骤720中,若第二网络请求通过为目标第二节点配置的第二限流控制策略,则对第二网络请求中携带的信息进行信息合法性校验。
对第二网络请求中携带的信息进行信息合法性校验的方式可以与前述实施例中部分或全部对第一交易上链请求中携带的交易信息进行信息合法性校验的方式的至少一部分相同,此处不再赘述。
在步骤730中,若通过信息合法性校验,则基于与第二节点层中其他第二节点的交互对第二网络请求进行处理。
在本申请实施例中,在通过身份校验,通过对第二网络请求是否通过第二限流控制策略以及第二网络请求中携带的信息是否通过信息合法性校验进行判断,可以避免因第二网络请求的请求方遭到劫持而带来的安全性问题。
图8示出了根据本申请的一个实施例的外层全节点与内层共识节点的交互逻辑图。请参见图8所示,外部节点(即外层全节点)向开放联盟链内网的某个或多个出块节点(即共识节点)转发验证后的交易,出块节点依次进行节点白名单的过滤、交易限流操作以及交易校验操作。共识节点可以允许有权限的全节点或者与该节点匹配的全节点与其连接。
图9示出了根据本申请的一个实施例的图4实施例中步骤430的细节的流程图。请参见图9所示,基于与第二节点层中其他第二节点的交互对第二网络请求进行处理,具体可以包括以下步骤:
在步骤431中,基于与第二节点层中其他第二区块链节点的交互对第二交易上链请求中的交易信息进行共识处理。
可以基于各种算法,如PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)算法进行共识处理。PBFT算法是一种高效的拜占庭容错算法,它具有较高的性能和低延迟,并且能够解决不信任节点的问题。PBFT算法的特点包括:领导者驱动:PBFT算法中只有一个领导者节点向外发送消息,其他节点被动接收消息。节点通信:所有节点之间相互通信,并将收到的消息转发给其他节点,以达成多数共识。消息安全性:节点之间的消息需要保证发送和接收的可靠性,确保消息不会被篡改。PBFT算法在保证可用性和安全性的前提下,能够容忍不超过总节点数三分之一的恶意或故障节点。具体而言,如果系统内有n个节点,那么最多能容忍的恶意或故障节点数量为(n-1)/3个。
在步骤432中,当共识通过,将交易信息打包为新的区块,并将新的区块加入区块链中。
当共识通过,需要将交易信息存储至第二节点层中第二区块链节点所维护的区块链中,实现交易上链。
根据本申请实施例的另一方面,还提供了一种网络请求的处理方法。
图10示出了根据本申请的另一个实施例的网络请求的处理方法的流程图。图10所示的网络请求的处理方法由节点网络的多个第一节点中的目标第一节点执行,该节点网络包括第一节点层和第二节点层,第一节点层包括能够相互通信的所述多个第一节点,第二节点层包括能够相互通信的多个第二节点,第一节点能够与至少一个第二节点通信,请参见图10所示,该网络请求的处理方法包括以下步骤:
在步骤1010中,若用户终端发来的第一网络请求通过了为目标第一节点配置的第一限流控制策略,则获取第一网络请求中携带的信息。
在步骤1020中,对第一网络请求中携带的信息进行信息合法性校验。
在步骤1030中,若第一网络请求中携带的信息通过了信息合法性校验,则根据第一网络请求中携带的信息生成第二网络请求。
在步骤1040中,将第二网络请求向多个第二节点中的目标第二节点发送,以便目标第二节点对发来的第二网络请求的请求方进行身份校验,并在通过身份校验之后,基于与第二节点层中其他第二节点的交互对第二网络请求进行处理。
综上所述,根据本申请实施例提供的网络请求的处理方法,可以取得以下有益效果:
1、显著提高了开放联盟链的安全性:提供的两层节点网络架构实现了对开放联盟链安全性的保障。在外层节点上验证外部用户发送的交易,有助于阻挡无效交易或恶意请求进入内层节点,同时内层节点验证外层节点的有效性,进而防止了网络受到女巫攻击或DoS攻击的风险。
2、保持高性能:当本申请实施例的方案应用于开放联盟链中时,其网络架构确保了联盟链的性能得以保持,同时提升了其安全性。这意味着在高性能的联盟链基础上,可以有效地保护网络免受女巫攻击和DoS攻击。
3、能够适应多种场景:两层节点的网络架构不仅能够满足现有的开放联盟链需求,也可以扩展应用到其他类似场景,如半公开网络和其他需要控制接入的区块链系统。
4、易于管理和扩展:本申请实施例提供的两层节点网络架构易于管理,同时支持开放联盟链的可扩展性。第一层节点可以根据需求增加或减少,而第二层节点可以根据共识和性能需求进行扩展。
5、抵御更多可能的攻击:在此技术方案中,内层节点仅接受来自外层节点的通过验证的交易,通过外层节点实现了内层节点与用户终端的隔离,使得内层的共识节点距离潜在攻击者更远。这种机制可以有效防范来自未知来源的攻击,并增强了节点网络的稳定性,保证了节点网络的安全可靠运行。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的网络请求的处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的网络请求的处理方法的实施例。
图11示出了根据本申请的一个实施例的网络请求的处理装置的框图。
参照图11所示,根据本申请的一个实施例的网络请求的处理装置1100,
该装置应用于节点网络的多个第二节点中的目标第二节点,节点网络包括第一节点层和第二节点层,第一节点层包括能够相互通信的多个第一节点,第二节点层包括能够相互通信的多个第二节点,第一节点能够与至少一个第二节点通信,该装置包括:接收单元1110、身份校验单元1120以及处理单元1130。其中,接收单元1110用于接收所述多个第一节点中的目标第一节点发来的第二网络请求;其中,所述第二网络请求是所述目标第一节点根据第一网络请求中携带的信息生成的;所述第一网络请求是由用户终端向所述目标第一节点发送,并在通过了为所述目标第一节点配置的第一限流控制策略之后被所述目标第一节点接收到的;所述第二网络请求是在所述第一网络请求中携带的信息通过所述目标第一节点的信息合法性校验后,由所述目标第一节点生成并发送至所述目标第二节点的;身份校验单元1120用于对所述第二网络请求的请求方进行身份校验;处理单元1130用于若通过身份校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
在本申请的一些实施例中,基于前述方案,所述节点网络为区块链网络,所述第一节点为第一区块链节点,所述第二节点为第二区块链节点,所述第一网络请求为携带有交易信息的第一交易上链请求,所述第二网络请求为携带有所述交易信息的第二交易上链请求;处理单元1130配置为:基于与所述第二节点层中其他第二区块链节点的交互对所述第二交易上链请求中的交易信息进行共识处理;当共识通过,将所述交易信息打包为新的区块,并将所述新的区块加入区块链中。
在本申请的一些实施例中,基于前述方案,身份校验单元1120配置为:通过下列至少一种方式对所述第二网络请求的请求方进行身份校验:检查所述第二网络请求的请求方是否位于白名单中;检查所述第二网络请求的请求方的IP地址是否为合法IP地址;对所述第二网络请求中携带的请求方的数字签名进行校验;对所述第二网络请求的请求方是否与所述目标第二节点匹配进行校验。
在本申请的一些实施例中,基于前述方案,处理单元1130配置为:若通过身份校验,则判断所述第二网络请求是否通过为所述目标第二节点配置的第二限流控制策略;若所述第二网络请求通过为所述目标第二节点配置的第二限流控制策略,则对所述第二网络请求中携带的信息进行信息合法性校验;若通过信息合法性校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
在本申请的一些实施例中,基于前述方案,所述目标第一节点对所述第一交易上链请求中携带的交易信息进行信息合法性校验的方式包括判断所述交易信息是否为重复请求上链的交易信息,所述目标第一节点还在所述交易信息通过所述信息合法性校验后将所述交易信息广播至所述第一节点层中的其他第一节点。
在本申请的一些实施例中,基于前述方案,所述目标第一节点对所述第一交易上链请求中携带的交易信息进行信息合法性校验的方式还包括以下中的至少一项:判断所述交易信息的结构是否符合预定规则;对所述交易信息的数字签名进行校验。
在本申请的一些实施例中,基于前述方案,所述目标第二节点是根据所述目标第一节点向所述至少一个第二节点广播所述第二网络请求而接收到所述第二网络请求的。
在本申请的一些实施例中,基于前述方案,所述第一节点层中的第一节点属于公链节点,所述第二节点层中的第二节点属于联盟链节点,所述节点网络为开放联盟链节点网络。
根据本申请实施例的另一方面,提供了一种网络请求的处理装置,所述装置应用于节点网络的多个第一节点中的目标第一节点,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的所述多个第一节点,所述第二节点层包括能够相互通信的多个第二节点,所述第一节点能够与至少一个第二节点通信,所述装置包括:获取单元,用于若用户终端发来的第一网络请求通过了为所述目标第一节点配置的第一限流控制策略,则获取所述第一网络请求中携带的信息;校验单元,用于对所述第一网络请求中携带的信息进行信息合法性校验;生成单元,用于若所述第一网络请求中携带的信息通过了所述信息合法性校验,则根据所述第一网络请求中携带的信息生成第二网络请求;发送单元,用于将所述第二网络请求向所述多个第二节点中的目标第二节点发送,以便所述目标第二节点对发来的所述第二网络请求的请求方进行身份校验,并在通过身份校验之后,基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input /Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
可以理解的是,在本申请的具体实施方式中,涉及到与用户交易相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (12)

1.一种网络请求的处理方法,其特征在于,所述方法由节点网络的多个第二节点中的目标第二节点执行,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的多个第一节点,所述第二节点层包括能够相互通信的所述多个第二节点,所述第一节点能够与至少一个第二节点通信,所述方法包括:
接收所述多个第一节点中的目标第一节点发来的第二网络请求;其中,所述第二网络请求是所述目标第一节点根据第一网络请求中携带的信息生成的;所述第一网络请求是由用户终端向所述目标第一节点发送,并在通过了为所述目标第一节点配置的第一限流控制策略之后被所述目标第一节点接收到的;所述第二网络请求是在所述第一网络请求中携带的信息通过所述目标第一节点的信息合法性校验后,由所述目标第一节点生成并发送至所述目标第二节点的;
对所述第二网络请求的请求方进行身份校验;
若通过身份校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
2.根据权利要求1所述的网络请求的处理方法,其特征在于,所述节点网络为区块链网络,所述第一节点为第一区块链节点,所述第二节点为第二区块链节点,所述第一网络请求为携带有交易信息的第一交易上链请求,所述第二网络请求为携带有所述交易信息的第二交易上链请求;
所述基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理,包括:
基于与所述第二节点层中其他第二区块链节点的交互对所述第二交易上链请求中的交易信息进行共识处理;
当共识通过,将所述交易信息打包为新的区块,并将所述新的区块加入区块链中。
3.根据权利要求1所述的网络请求的处理方法,其特征在于,所述对所述第二网络请求的请求方进行身份校验,包括:
通过下列至少一种方式对所述第二网络请求的请求方进行身份校验:
检查所述第二网络请求的请求方是否位于白名单中;
检查所述第二网络请求的请求方的IP地址是否为合法IP地址;
对所述第二网络请求中携带的请求方的数字签名进行校验;
对所述第二网络请求的请求方是否与所述目标第二节点匹配进行校验。
4.根据权利要求1所述的网络请求的处理方法,其特征在于,所述若通过身份校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理,包括:
若通过身份校验,则判断所述第二网络请求是否通过为所述目标第二节点配置的第二限流控制策略;
若所述第二网络请求通过为所述目标第二节点配置的第二限流控制策略,则对所述第二网络请求中携带的信息进行信息合法性校验;
若通过信息合法性校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
5.根据权利要求2所述的网络请求的处理方法,其特征在于,所述目标第一节点对所述第一交易上链请求中携带的交易信息进行信息合法性校验的方式包括判断所述交易信息是否为重复请求上链的交易信息,所述目标第一节点还在所述交易信息通过所述信息合法性校验后将所述交易信息广播至所述第一节点层中的其他第一节点。
6.根据权利要求5所述的网络请求的处理方法,其特征在于,所述目标第一节点对所述第一交易上链请求中携带的交易信息进行信息合法性校验的方式还包括以下中的至少一项:
判断所述交易信息的结构是否符合预定规则;
对所述交易信息的数字签名进行校验。
7.根据权利要求1所述的网络请求的处理方法,其特征在于,所述目标第二节点是根据所述目标第一节点向所述至少一个第二节点广播所述第二网络请求而接收到所述第二网络请求的。
8.根据权利要求1-7任意一项所述的网络请求的处理方法,其特征在于,所述第一节点层中的第一节点属于公链节点,所述第二节点层中的第二节点属于联盟链节点,所述节点网络为开放联盟链节点网络。
9.一种网络请求的处理方法,其特征在于,所述方法由节点网络的多个第一节点中的目标第一节点执行,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的所述多个第一节点,所述第二节点层包括能够相互通信的多个第二节点,所述第一节点能够与至少一个第二节点通信,所述方法包括:
若用户终端发来的第一网络请求通过了为所述目标第一节点配置的第一限流控制策略,则获取所述第一网络请求中携带的信息;
对所述第一网络请求中携带的信息进行信息合法性校验;
若所述第一网络请求中携带的信息通过了所述信息合法性校验,则根据所述第一网络请求中携带的信息生成第二网络请求;
将所述第二网络请求向所述多个第二节点中的目标第二节点发送,以便所述目标第二节点对发来的所述第二网络请求的请求方进行身份校验,并在通过身份校验之后,基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
10.一种网络请求的处理装置,其特征在于,所述装置应用于节点网络的多个第二节点中的目标第二节点,所述节点网络包括第一节点层和第二节点层,所述第一节点层包括能够相互通信的多个第一节点,所述第二节点层包括能够相互通信的所述多个第二节点,所述第一节点能够与至少一个第二节点通信,所述装置包括:
接收单元,用于接收所述多个第一节点中的目标第一节点发来的第二网络请求;其中,所述第二网络请求是所述目标第一节点根据第一网络请求中携带的信息生成的;所述第一网络请求是由用户终端向所述目标第一节点发送,并在通过了为所述目标第一节点配置的第一限流控制策略之后被所述目标第一节点接收到的;所述第二网络请求是在所述第一网络请求中携带的信息通过所述目标第一节点的信息合法性校验后,由所述目标第一节点生成并发送至所述目标第二节点的;
身份校验单元,用于对所述第二网络请求的请求方进行身份校验;
处理单元,用于若通过身份校验,则基于与所述第二节点层中其他第二节点的交互对所述第二网络请求进行处理。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的网络请求的处理方法。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任一项所述的网络请求的处理方法。
CN202311505070.8A 2023-11-13 2023-11-13 网络请求的处理方法、装置、计算机可读介质及电子设备 Active CN117240621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311505070.8A CN117240621B (zh) 2023-11-13 2023-11-13 网络请求的处理方法、装置、计算机可读介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311505070.8A CN117240621B (zh) 2023-11-13 2023-11-13 网络请求的处理方法、装置、计算机可读介质及电子设备

Publications (2)

Publication Number Publication Date
CN117240621A true CN117240621A (zh) 2023-12-15
CN117240621B CN117240621B (zh) 2024-02-02

Family

ID=89098753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311505070.8A Active CN117240621B (zh) 2023-11-13 2023-11-13 网络请求的处理方法、装置、计算机可读介质及电子设备

Country Status (1)

Country Link
CN (1) CN117240621B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3098767A1 (en) * 2019-10-16 2020-01-16 Alipay (Hangzhou) Information Technology Co., Ltd. Implementing a blockchain-based web service
US20200372154A1 (en) * 2019-05-21 2020-11-26 Jaroona Chain Ou Blockchain security
US20210399904A1 (en) * 2020-06-19 2021-12-23 Ricoh Company, Ltd. Method for managing consortium chain data structure network, management node, and non-transitory computer-readable recording medium
WO2022021997A1 (zh) * 2020-07-28 2022-02-03 厦门潭宏信息科技有限公司 一种网络融合及其组网方法、设备及存储介质
WO2022061599A1 (zh) * 2020-09-23 2022-03-31 中国科学院深圳先进技术研究院 一种基于区块链的分布式物联网指令管理方法和系统
CN116112506A (zh) * 2021-11-10 2023-05-12 腾讯科技(深圳)有限公司 基于联盟链系统的交易信息处理方法、装置、介质及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200372154A1 (en) * 2019-05-21 2020-11-26 Jaroona Chain Ou Blockchain security
CA3098767A1 (en) * 2019-10-16 2020-01-16 Alipay (Hangzhou) Information Technology Co., Ltd. Implementing a blockchain-based web service
US20210399904A1 (en) * 2020-06-19 2021-12-23 Ricoh Company, Ltd. Method for managing consortium chain data structure network, management node, and non-transitory computer-readable recording medium
WO2022021997A1 (zh) * 2020-07-28 2022-02-03 厦门潭宏信息科技有限公司 一种网络融合及其组网方法、设备及存储介质
WO2022061599A1 (zh) * 2020-09-23 2022-03-31 中国科学院深圳先进技术研究院 一种基于区块链的分布式物联网指令管理方法和系统
CN116112506A (zh) * 2021-11-10 2023-05-12 腾讯科技(深圳)有限公司 基于联盟链系统的交易信息处理方法、装置、介质及设备

Also Published As

Publication number Publication date
CN117240621B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
CN112073400B (zh) 一种访问控制方法、系统、装置及计算设备
CN111066286B (zh) 使用高可用性的可信执行环境检索区块链网络的公共数据
JP7426475B2 (ja) 分散化されたデータ認証
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
CN102611698B (zh) 证明的主题的自我调节
US9003519B2 (en) Verifying transactions using out-of-band devices
CN111164948A (zh) 使用区块链网络管理网络安全漏洞
US9881304B2 (en) Risk-based control of application interface transactions
CN112149105A (zh) 数据处理系统、方法、相关设备及存储介质
Soares et al. Cloud security: state of the art
CN114553540B (zh) 基于零信任的物联网系统、数据访问方法、装置及介质
CN110908786A (zh) 一种智能合约调用方法、装置及介质
US9432357B2 (en) Computer network security management system and method
CN110401640A (zh) 一种基于可信计算双体系架构的可信连接方法
CN116319024A (zh) 零信任系统的访问控制方法、装置及零信任系统
CN116896480A (zh) 一种基于区块链的网络安全管理系统
Kang et al. A strengthening plan for enterprise information security based on cloud computing
CN112037055A (zh) 交易处理方法、装置、电子设备及可读存储介质
CN117240621B (zh) 网络请求的处理方法、装置、计算机可读介质及电子设备
Li et al. A noninteractive multireplica provable data possession scheme based on smart contract
JP2004005377A (ja) 多重システム停止の再発防止方法
CN117811847B (zh) 一种基于公网与内网结合的人机验证方法以及装置
Bhandari et al. A Preliminary Study On Emerging Cloud Computing Security Challenges
CN117040929B (zh) 一种访问处理方法、装置、设备、介质及程序产品
Abhijith et al. Blockchain Security Solutions for IoT and Big Data

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
GR01 Patent grant
GR01 Patent grant