CN111222882A - 基于区块链的数据传输方法、装置、设备及可读存储介质 - Google Patents
基于区块链的数据传输方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111222882A CN111222882A CN202010006920.XA CN202010006920A CN111222882A CN 111222882 A CN111222882 A CN 111222882A CN 202010006920 A CN202010006920 A CN 202010006920A CN 111222882 A CN111222882 A CN 111222882A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction data
- window information
- receiving
- message packet
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Environmental & Geological Engineering (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种基于区块链的数据传输方法、装置、设备及可读存储介质,本申请属于计算机技术领域,方法包括:第一节点发送第一消息包至第二节点;第一消息包携带目标交易数据;目标交易数据为第一节点中的交易池中的交易数据;接收第二节点根据第一消息包返回的第一应答消息;若第一应答消息包含第二节点的接收窗口信息,则根据第一应答消息中的接收窗口信息调整发送窗口信息;根据调整后的发送窗口信息,获取交易池中的待传输交易数据,根据待传输交易数据生成第二消息包,将第二消息包发送至第二节点。采用本申请,可以减少交易数据的损失,提高交易数据传递的可靠性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链的数据传输方法、装置、设备及可读存储介质。
背景技术
区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链还可以进行数据加密传输、节点识别和安全访问,是一种先进的分布式基础架构。
在区块链网络中,对于交易数据被写入账本的流程为客户端向连接区块链网络的数据节点或者轻节点发送,随后交易在区块链网络传递直到共识节点或者旷工收到该节点,并将该交易数据打包进区块进行共识后写入账本,然后返回至客户端,也就是说,在该交易数据的传递过程中,采用的是广播的方式即一个节点将交易数据不断地广播至目的节点,随后由目的节点校验该交易数据后按接力棒方式传递至下一个节点直到共识节点,这种广播方式会存在网络阻塞状况以及目的节点因为交易池缓存达到上限而丢弃该交易数据的情况,也会存在目的节点因为性能原因来不及处理该交易数据的情况,导致交易数据易丢失,无法保证交易数据传递的可靠性。
申请内容
本申请实施例提供一种基于区块链的数据传输方法、装置、设备及可读存储介质,可以减少交易数据的损失,提高交易数据传递的可靠性。
本申请实施例一方面提供了一种基于区块链的数据传输方法,包括:
第一节点发送第一消息包至第二节点;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
接收上述第二节点根据上述第一消息包返回的第一应答消息;
若上述第一应答消息包含上述第二节点的接收窗口信息,则根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
根据调整后的发送窗口信息,获取上述交易池中的待传输交易数据,根据上述待传输交易数据生成第二消息包,将上述第二消息包发送至上述第二节点。
本申请实施例一方面提供了另一种基于区块链的数据传输方法,包括:
第二节点接收第一节点发送的第一消息包;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
根据上述第一消息包,确定接收窗口信息,根据上述接收窗口信息生成第一应答消息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;
将上述第一应答消息返回至上述第一节点,以使上述第一节点根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
接收上述第一节点发送的第二消息包;上述第二消息包包括上述交易池中的待传输交易数据以及上述待传输交易数据对应的序号;上述待传输交易数据是由上述第一节点根据调整后的发送窗口信息从上述交易池中所获取得到的。
本申请一方面提供了一种基于区块链的数据传输装置,包括:
消息包发送模块,用于第一节点发送第一消息包至第二节点;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
应答消息接收模块,用于接收上述第二节点根据上述第一消息包返回的第一应答消息;
窗口调整模块,用于若上述第一应答消息包含上述第二节点的接收窗口信息,则根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
数据获取模块,用于根据调整后的发送窗口信息,获取上述交易池中的待传输交易数据;
消息包生成模块,用于根据上述待传输交易数据生成第二消息包;
消息包发送模块,用于将上述第二消息包发送至上述第二节点。
其中,上述窗口调整模块,包括:
窗口信息获取单元,用于获取用于生成上述第一消息包的上述发送窗口信息;
期望数量获取单元,用于获取上述接收窗口信息中的期望接收数量;上述期望接收数量为上述第二节点针对下一个消息包所期望接收到的交易数据的数量;
窗口信息调整单元,用于根据上述期望接收数量调整上述发送窗口信息。
其中,上述数据获取模块,包括:
序号确定单元,用于根据上述起始序号与上述期望接收数量,确定结束序号;
数据确定单元,用于将上述交易池中上述起始序号对应的交易数据、上述结束序号对应的交易数据以及上述起始序号与上述结束序号之间的序号所对应的交易数据,确定为上述待传输交易数据;
则上述消息包生成模块,用于根据上述待传输交易数据以及上述待传输交易数据对应的序号,生成上述第二消息包。
其中,还包括:
上述应答消息接收模块,还用于接收上述第二节点根据上述第二消息包返回的第二应答消息;
发送窗口状态设置模块,用于若上述第二应答消息包含暂停接收信息,则将上述发送窗口信息设置为暂停发送状态,以停止对上述第二节点发送交易数据。
其中,还包括:
通知接收模块,用于接收上述第二节点发送的心跳恢复通知;上述心跳恢复通知用于请求上述第一节点恢复传输交易数据;上述心跳恢复通知包含调整后的接收窗口信息;
状态检测模块,用于根据上述调整后的接收窗口信息,检测上述第二节点接收数据的传输状态;
状态恢复模块,用于若上述第二节点的传输状态为正常状态,则将处于暂停发送状态的发送窗口信息恢复为正常发送状态,得到恢复发送窗口信息,根据调整后的接收窗口信息调整上述恢复发送窗口信息;
上述状态恢复模块,还用于若上述第二节点的传输状态为异常状态,则保持上述发送窗口信息为上述暂停发送状态。
其中,上述状态检测模块,还用于若上述调整后的接收窗口信息大于或等于接收阈值,则确定上述第二节点的传输状态为正常状态;
其中,上述状态检测模块,还用于若上述调整后的接收窗口信息小于上述接收阈值,则确定上述第二节点的传输状态为异常状态。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
本申请实施例一方面提供了另一种基于区块链的数据传输装置,包括:
消息包接收模块,用于第二节点接收第一节点发送的第一消息包;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
窗口确定模块,用于根据上述第一消息包,确定接收窗口信息;
应答消息生成模块,用于根据上述接收窗口信息生成第一应答消息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;
应答消息返回模块,用于将上述第一应答消息返回至上述第一节点,以使上述第一节点根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
上述消息包接收模块,还用于接收上述第一节点发送的第二消息包;上述第二消息包包括上述交易池中的待传输交易数据以及上述待传输交易数据对应的序号;上述待传输交易数据是由上述第一节点根据调整后的发送窗口信息从上述交易池中所获取得到的。
其中,上述窗口确定模块,包括:
质量参数触发单元,用于根据上述第一消息包,触发检测第一网络质量参数;
装载数量确定单元,用于根据上述第一网络质量参数,确定上述第二节点的最大装载数量,根据上述最大装载数量确定上述接收窗口信息。
其中,还包括:
参数触发模块,用于根据上述第二消息包,触发检测第二网络质量参数;
窗口更新模块,用于根据上述第二网络质量参数对上述接收窗口信息进行更新;
接收窗口状态设置模块,用于若上述更新后的接收窗口信息小于接收阈值,则将上述更新后的接收窗口信息设置为暂停接收状态,得到暂停接收信息;
上述应答消息返回模块,还用于根据上述暂停接收信息生成第二应答消息,将上述第二应答消息返回至上述第一节点,以使上述第一节点根据上述暂停接收信息停止对上述第二节点发送交易数据。
其中,还包括:
存储空间检测模块,用于根据上述第二消息包,检测上述第二节点的剩余存储空间;
接收信息生成模块,用于在上述剩余存储空间小于存储阈值时,生成暂停接收信息;
上述应答消息返回模块,还用于根据上述暂停接收信息生成第二应答消息,将上述第二应答消息返回至上述第一节点,以使上述第一节点根据上述暂停接收信息停止对上述第二节点发送交易数据。
其中,还包括:
接收窗口调整模块,用于当检测到上述剩余存储空间大于上述存储阈值时,调整上述接收窗口信息;
恢复通知生成模块,用于根据上述调整后的接收窗口信息生成心跳恢复通知,将上述心跳恢复通知发送至上述第一节点,以使上述第一节点根据上述调整后的接收窗口信息对处于暂停发送状态的发送窗口信息进行调整。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
在本申请实施例中,第一节点可以根据第二节点的接收窗口信息控制交易数据的发送数量,所以本申请实施例通过接收第二节点返回的接收窗口信息,可以准确地获取到第二节点针对下一个消息包所期望接收到的交易数据数量,从而第一节点可以根据该交易数据数量来调整发送窗口信息,进而确定下一次传输至第二节点的交易数据的发送数量,使得第一节点可以在知道第二节点的接收窗口大小的前提下传输交易数据,这样可以减少第一节点盲目发送交易数据,导致第二节点因接收窗口过小而丢弃该传输过来的部分交易数据,造成交易数据损失的情况。所以,本申请可以减少交易数据在传输过程中的损失,进而提高交易数据传递的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2是本申请实施例提供的一种基于区块链的数据传输方法的流程示意图;
图3是本申请实施例提供的一种传输数据的场景示意图;
图4是本申请实施例提供的一种基于区块链的数据传输方法的流程示意图;
图5a是本申请实施例提供的一种传输数据的场景示意图;
图5b是本申请实施例提供的一种传输数据的场景示意图;
图6是本申请实施例提供的一种基于区块链的数据传输装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的示意图;
图8是本申请实施例提供的一种基于区块链的数据传输装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的示意图;
图10是本申请实施例提供的一种基于区块链的数据传输系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,是本申请实施例提供的一种系统架构示意图。区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链,区块链网络将节点区分为核心节点、数据节点以及轻节点,其中核心节点负责区块链全网的共识,也就是说核心节点为区块链网络中的共识节点。对于区块链网络中的交易数据被写入账本的流程可以为,首先客户端向连接区块链网络的数据节点或轻节点发送,随后交易数据在区块链网络中传递(也就是节点以接力棒的方式进行传递),直到共识节点收到该交易数据,共识节点再将该交易数据打包进区块,进行执行共识,待共识完成后将该交易数据写入账本,随后返回至客户端。如图1所示,以客户端将交易数据发送至数据节点为例,该系统架构可以包括核心节点(共识节点)1000、数据节点集群100和客户端集群10,该数据节点集群100可以包括至少两个数据节点,该客户端集群10可以包括至少两个客户端,如图1所示,数据节点集群100具体可以包括数据节点100a、数据节点100b、…、数据节点100c,客户端集群10具体可以包括客户端10a、客户端10b、…、客户端10c。
如图1所示,客户端10a、客户端10b、…、客户端10c可以分别与数据节点100a、数据节点100b、…、数据节点100c进行网络连接,以便于客户端可以通过该网络连接与数据节点进行数据交互;数据节点100a、数据节点100b、…、数据节点100c互相连接,以便于数据节点之间可以进行数据交互。以客户端10a与数据节点100a为例,客户端10a与数据节点100a连接,则客户端10a可以将交易数据发送至数据节点100a,数据节点100a可以将该交易数据存储至交易池中,数据节点100a可以在交易池中获取到该交易数据并将该交易数据传递至数据节点100b,数据节点100b可以将该交易数据发送至数据节点100c,数据节点100c可以将该交易数据发送至核心节点1000,核心节点1000可以对该交易数据进行校验,完成校验后,核心节点1000可以将该交易数据存储至内存池中,并更新其用于记录输入数据的哈希树;之后,将更新时间戳更新为接收到该交易数据的时间,并尝试不同的随机数进行特征值计算,当得到特征值时,便可将该交易数据对应存储,生成区块头和区块主体,得到新生成的区块;随后,核心节点1000可以根据区块链网络中其他核心节点的节点标识,将上述新生成的区块分别发送给其所在的区块链网络中的其他核心节点,由其他核心节点对新生成的区块进行校验,并在完成校验后将上述新生成的区块添加至其存储的区块链中。其中,区块链网络中的每个核心节点,均具有与其对应的节点标识,而且区块链网络中的每个核心节点均可以存储有区块链网络中其他核心节点的节点标识,以便后续根据其他核心节点的节点标识,将生成的区块广播至区块链网络中的其他核心节点,使得区块链网络中全部核心节点上存储的交易数据均一致。
对于区块链网络系统中的交易数据的传递过程(包括数据节点将交易数据传递至下一个数据节点直至传递至共识节点的过程),以数据节点100a将交易数据传递至数据节点100b为例,本申请的方法流程具体为:数据节点100a(即第一节点)可以在交易池的交易数据中获取到目标交易数据,数据节点100a可以根据该目标交易数据生成第一消息包,随后将该携带有该目标交易数据的第一消息包发送至数据节点100b,数据节点100b可以根据该第一消息包确定接收窗口信息,其中,该接收窗口信息可以用于确定数据节点100b针对一个消息包所接收的交易数据的数量,数据节点100b可以根据该接收窗口信息生成第一应答消息,并将该第一应答消息返回至数据节点100a,数据节点100a在收到该第一应答消息时,可以根据该第一应答消息中的接收窗口信息调整发送窗口信息,其中,该发送窗口信息用于确定该数据节点100a针对一个消息包所发送的交易数据的数量,数据节点100a可以根据该调整后的发送窗口信息,在交易池中获取到待传输交易数据,根据该待传输交易数据生成第二消息包,数据节点100a可以将该第二消息包发送至数据节点100b。
可以理解的是,数据节点100a从交易池中获取到交易数据x1、交易数据x2以及交易数据x3,数据节点100a可以根据交易数据x1、交易数据x2以及交易数据x3生成第一消息包{x1,x2,x3},数据节点将该第一消息包{x1,x2,x3}发送至数据节点100b,数据节点100b在收到该第一消息包{x1,x2,x3}后,可以基于自身的网络状态和处理能力等因素确定接收窗口信息为5,数据节点100b可以根据该为5的接收窗口信息生成第一应答消息,并将该第一应答消息返回至数据节点100a,数据节点100a可以根据该为5的接收窗口信息将发送窗口信息调整为5(即下一次发送的交易数据的数量为5),则数据节点100a可以从交易池中获取到交易数据x4、交易数据x5、交易数据x6、交易数据x7以及交易数据x8,数据节点100a可以将该交易数据x4、交易数据x5、交易数据x6、交易数据x7以及交易数据x8作为待传输交易数据,根据该待传输交易数据生成第二消息包{x4,x5,x6,x7,x8},数据节点100a可以将该第二消息包{x4,x5,x6,x7,x8}发送至数据节点100b。
可选的,可以理解的是,数据节点100b在收到该第一消息包后,可以检测网络质量参数或剩余存储空间,当网络质量参数低于阈值时,则可以确定数据节点100b的性能低,数据节点100b不支持再接收交易数据,则数据节点100b返回至数据节点100a的第一应答消息中可以包含为0的接收窗口信息,或者该第一应答消息中不包含接收窗口信息,只包含消息包已成功收到的确认消息。数据节点100a在收到该第一应答消息后,检测到第一应答消息中包含为0的接收窗口信息(或者未检测到包含接收窗口信息),则数据节点100a会停止对数据节点100b发送交易数据。
可以理解的是,本发明实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于终端或服务器。本发明实施例中的节点可以为计算机设备。
请参见图2,是本申请实施例提供的一种基于区块链的数据传输方法的流程示意图。如图2所示,该方法的流程可以包括:
步骤S101,第一节点发送第一消息包至第二节点;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据。
本申请中,第一节点可以为区块链的数据节点或轻节点,第二节点可以为区块链的数据节点或轻节点,该第二节点也可以为区块链中的核心节点(共识节点)。第一节点可以在交易池中获取到一个或至少两个交易数据,为降低消息包的个数,第一节点可以将该一个或至少两个交易数据作为目标交易数据,再根据该目标交易数据生成一个消息包,使得一个消息包里具备一个或至少两个交易数据,第一节点可以将该消息包发送至第二节点。
步骤S102,接收上述第二节点根据上述第一消息包返回的第一应答消息。
本申请中,第二节点在接收到该第一消息包后,可以根据该第一消息包触发检测第一网络质量参数,根据该第一网络质量参数确定第二节点的网络的阻塞状态,根据阻塞状态可以确定出第二节点的最大装载数量,其中,该最大装载数量可以为该第二节点可以装载交易数据的最大个数,如,第二节点的网络畅通,处理交易数据的速度很快,则第二节点可以确定自己还可以装载10个交易数据,则这里的10就是第二节点的最大装载数量。第二节点可以将该最大装载数量确定为期望接收数量(下一次希望接收到的交易数据的数量),根据该期望接收数量确定该第二节点的接收窗口信息,根据该接收窗口信息生成第一应答消息,并将该第一应答消息返回至该第一节点。
可以理解的是,第二节点在接收到第一消息包后,触发检测第一网络质量参数,例如,检测到的第一网络质量参数为10,该第一网络质量参数10大于了网络参数阈值6,则可以确定该第二节点的网络畅通,无阻塞情况,状态良好,则可以根据这里的第一网络质量参数10确定出该第二节点的最大装载数量为8,其中,该最大装载数量8与该第一网络质量参数10相对应,也就是说,每一个网络质量参数都具有其对应的最大装载数量。该第二节点可以将该最大装载数量8确定为期望接收数量,也就是说,第二节点希望下一次第一节点发送8个交易数据过来,第二节点可以根据该期望接收数量8确定接收窗口信息,根据该接收窗口信息生成第一应答消息,将该第一应答消息返回至第一节点。
步骤S103,若上述第一应答消息包含上述第二节点的接收窗口信息,则根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量。
本申请中,第一节点接收到该第二节点返回的该包含接收窗口信息的第一应答消息后,可以获取到用于生成该第一消息包的发送窗口信息,其中,该发送窗口信息是由该第一节点根据该第一消息包中的发送数量所确定的,如,第一节点要发送的交易数据的发送数量为3,则第一节点可以根据该发送数量3确定发送窗口信息,再根据该发送窗口信息生成第一消息包。该第一节点可以从第一应答消息中的接收窗口信息中获取到第二节点的期望接收数量,根据该期望接收数量,第一节点可以调整该发送窗口信息。如,第二节点的期望接收数量为4,该发送窗口信息为5,则第一节点可以将该发送窗口信息调整为3,使得第一节点下一次发送的交易数据的数量是该第二节点所期望接收到的交易数据的数量。
步骤S104,根据调整后的发送窗口信息,获取上述交易池中的待传输交易数据,根据上述待传输交易数据生成第二消息包,将上述第二消息包发送至上述第二节点。
本申请中,该第一节点可以对交易池中的交易数据根据进入交易池的时间顺序而进行编号排序,如交易池中的交易数据为{a,b,c,d},其中,交易数据a进入交易池中的时间戳为最早,交易数据d进入交易池中的时间戳为最晚,则第一节点可以将a的序号确定为1,将b的序号确定为2,将c的序号确定为3,将d的序号确定为4,该第一节点在根据交易数据生成消息包时,可以将交易数据的序号一并放入消息包中,则该第一消息包中不仅包含目标交易数据,还包含目标交易数据分别对应的序号。该第一节点将该第一消息包发送至该第二节点后,该第二节点可以对该目标交易数据对应的序号进行递增更新,其中,这里的递增更新是对该目标交易数据中的最大序号进行递增更新,通过递增更新后,可以得到一个新的序号,第二节点可以将该新的序号确定为下一次接收的交易数据的起始序号,第二节点可以将该起始序号一并放入第一应答消息中,将该第一应答消息返回至该第一节点。该第一节点可以根据该第一应答消息中的该起始序号与上述该第二节点的期望接收数量,确定出结束序号,该第一节点可以从交易池中获取到起始序号对应的交易数据、结束序号对应的交易数据以及该起始序号与结束序号之间的序号所对应的交易数据,该第一节点可以将该起始序号对应的交易数据、该结束序号对应的交易数据以及该起始序号与结束序号之间的序号所对应的交易数据确定为待传输交易数据,根据该待传输交易数据以及该待传输交易数据对应的序号,生成第二消息包。其中,该第二消息包可以该为第一节点在将该第一消息包发送至该第二节点后,下一次希望发送至第二节点的消息包。
可以理解的是,该第一消息包为{<a,1>,<b,2>,<c,3>,<d,4>},其中,交易数据a的序号为1、交易数据b的序号为2、交易数据c的序号为3以及交易数据d的序号为4,第二节点在接收到该第一消息包后,可以确定交易数据d的序号4为最大序号,则该第二节点可以对序号4进行递增更新得到起始序号5,第二节点可以将该起始序号5放入包含期望接收数量为3的第一应答消息中,该第二节点可以将该第一应答消息返回至该第一节点,该第一节点在接收到该第一应答消息后,可以确定该第二节点已成功接收到该发送数量为4的第一消息包,且下一次希望接收到从起始序号5开始且数量为3的交易数据。则该第一节点可以将该起始序号与该期望接收数量进行相加得到相加结果为8,再将该相加结果减去数值1得到结果为7,则该第一节点可以将该结果7确定为结束序号,该起始序号5与结束序号7之间的序号为序号6,则该第一节点可以从交易池中获取到序号5对应的交易数据e、序号6对应的交易数据f以及序号7对应的交易数据7,该第一节点可以将该交易数据e、交易数据f以及交易数据g确定为待传输数据,该第一节点可以根据该交易数据e、交易数据f以及交易数据g以及序号5、序号6以及序号7生成第二消息包,即{<e,5>,<f,6>,<g,7>},该第一节点可以将该第二消息包{<e,5>,<f,6>,<g,7>}发送至该第二节点。
在本申请实施例中,第一节点可以根据第二节点的接收窗口信息控制交易数据的发送数量,所以本申请实施例通过接收第二节点返回的接收窗口信息,可以准确地获取到第二节点针对下一个消息包所期望接收到的交易数据数量,从而第一节点可以根据该交易数据数量来调整发送窗口信息,进而确定下一次传输至第二节点的交易数据的发送数量,使得第一节点可以在知道第二节点的接收窗口大小的前提下传输交易数据,这样可以减少第一节点盲目发送交易数据,导致第二节点因接收窗口过小而丢弃该传输过来的部分交易数据,造成交易数据损失的情况。所以,本申请可以减少交易数据在传输过程中的损失,进而提高交易数据传递的可靠性。
为便于理解,进一步地,请参见图3,是本申请实施例提供的一种传输数据的场景示意图。如图3所示,服务器3001可以为第一节点,服务器3002可以为第二节点,服务器3001的交易池中存储有服务器3001接收到的交易数据,服务器3001可以将交易数据进行编号,编号依次递增,服务器3001可以将编号作为交易数据对应的序号,然后按序号对交易数据进行排序,如,交易池中已有的交易数据中,最大的序号为500,若交易池中新进入一个交易数据,则服务器3001可以将序号500进行序号递增,递增后得到的序号为501,则服务器3001可以将该序号501作为该新进入交易池的交易数据的序号。服务器3001可以从交易池中获取到交易数据,并将该交易数据发送至服务器3002,如图3所示,服务器3001从交易池中获取到交易数据a、交易数据b以及交易数据c,其中,交易数据a对应的序号为5、交易数据b对应的序号为6以及交易数据c对应的序号为7,服务器3001可以根据该交易数据a、该交易数据b、该交易数据c以及序号5、序号6与序号7生成消息包301,服务器3001可以将该消息包301发送至服务器3002,服务器3002可以根据该消息包301,确定接收窗口信息,并根据接收窗口信息生成应答消息并将该应答消息返回至服务器3001,其中,服务器3002生成应答消息的具体实现过程可以参见上述图2所对应实施例中的步骤S102中的描述,这里不再进行赘述。如图3所示,服务器3002确定的接收窗口信息为数值3,也就是说,服务器3002希望下一次接收到的交易数据的数量为3,根据该接收窗口信息,服务器3002可以生成应答消息30a,其中,该应答消息30a中包含期望下次收到的交易数据的起始序号为8以及期望接收到的交易数据的数量为3,服务器3001可以根据该应答消息30a中的接收窗口信息调整发送窗口信息,其中,服务器3001调整发送窗口信息的具体实现过程可以参见上述图2所对应实施例中的步骤S103中的描述,这里不再进行赘述。服务器3001可以调整发送窗口信息,得到新的发送窗口信息30b,根据该发送窗口信息30b,服务器3001可以从交易池中获取到待传输交易数据,其中,该传输交易数据包括交易数据o、交易数据p以及交易数据q,根据该待传输交易数据,服务器3001可以生成消息包302,其中,消息包302中包括交易数据o与其对应的序号8、交易数据p与其对应的序号9以及交易数据q与其对应的序号10,服务器3001可以将该消息包302发送至服务器3002,其中,服务器3001获取待传输交易数据并生成消息包302的具体实现过程可以参见上述图2所对应实施例中的步骤S104的描述,这里不再进行赘述。
进一步地,请参见图4,是本申请实施例提供的一种基于区块链的数据传输方法的流程示意图。如图4所示,该方法的流程可以包括:
步骤S401,第一节点发送第一消息包至第二节点。
步骤S402,第二节点根据上述第一消息包,确定接收窗口信息,根据上述接收窗口信息生成第一应答消息。
步骤S403,第二节点返回上述第一应答消息至第一节点。
步骤S404,第一节点根据上述应答消息中的上述接收窗口信息调整发送窗口信息。
步骤S405,第一节点根据上述调整后的发送窗口信息获取交易池中的待传输交易数据,根据上述待传输交易数据生成第二消息包。
步骤S406,第一节点发送上述第二消息包至第二节点。
其中,步骤S401-步骤S406的具体实现过程可以参见上述图2所对应实施例中的步骤S101-步骤S104的描述,这里不再进行赘述。
步骤S407,第二节点根据上述第二消息包,检测上述第二节点的剩余存储空间。
具体的,可以理解的是,第二节点的交易数据处理性能可以根据处理交易数据的时间长短而变化,如,第二节点长时间的处理交易数据,则第二节点处理交易数据的性能会降低,导致第二节点的交易数据堆积,剩余存储空间无法再支持第二节点接收交易数据,若第一节点继续发送交易数据过来,第二节点会丢弃掉该交易数据,造成交易数据的损失,则在本申请中,为了减少交易数据的损失,第二节点在接收到第二消息包后,可以对剩余存储空间进行检测。
步骤S408,第二节点在上述剩余存储空间小于存储阈值时,生成暂停接收信息。
具体的,当检测到的剩余存储空间小于存储阈值时,则第二节点可以生成暂停接收信息。可以理解的是,第二节点检测到的剩余存储空间为3,而存储阈值为4,则可以确定该第二节点的存储空间不足以支持第二节点再继续接收交易数据,则第二节点可以生成暂停接收信息。其中,在本申请中,这里的暂停接收信息可以为暂停接收的指令,也可以为包含期望接收数量为零的接收窗口信息。
步骤S409,第二节点根据上述暂停接收信息生成第二应答消息。
步骤S410,第二节点返回上述第二应答消息至第一节点。
具体的,可以理解的是,上述的暂停接收信息用于提示第二节点的剩余存储空间不足,希望第一节点停止发送交易数据。则第二节点可以将该包含暂停接收信息的第二应答消息返回至第一节点,以使第一节点停止发送。
步骤S411,第一节点将上述发送窗口信息设置为暂停发送状态。
具体的,第一节点在接收到该包含有上述暂停接收信息的第二应答消息后,可以将上述发送窗口信息设置为暂停发送状态,则第一节点在发送窗口信息处于暂停发送状态时,可以停止发送交易数据至第二节点。
步骤S412,第二节点当检测上述剩余存储空间大于上述存储阈值时,调整上述接收窗口信息。
具体的,可以理解的是,第二节点可以定期的检测剩余存储空间,在检测到剩余存储空间大于了上述存储阈值时,则可以确定该第二节点可以继续接收交易数据,则第二节点可以对上述的接收窗口信息进行调整,第二节点可以计算得到该剩余存储空间多于上述存储阈值的存储空间,将上述接收窗口信息调整为该存储空间对应的窗口信息。其中,这里的存储阈值可以为大于或等于0的数值,如,该剩余存储空间为8,存储阈值为4,则第二节点可以确定出剩余存储空间8与存储阈值4之间的差值为4,根据该差值4,第二节点可以将期望接收数量调整为4,即希望下一次第一节点发送4个交易数据到该第二节点,则第二节点可以根据该期望接收数量4调整上述接收窗口信息,将上述接收窗口信息中的期望接收数量调整为4。
步骤S413,第二节点根据上述调整后的接收窗口信息,生成心跳恢复通知。
具体的,可以理解的是,为了使第一节点继续发送交易数据至第二节点,第二节点可以根据该调整后的接收窗口信息,生成心跳恢复通知。其中,该心跳恢复通知用于请求该第一节点恢复传输交易数据。
步骤S414,第二节点发送上述心跳恢复通知至第一节点。
具体的,可以理解的是,第二节点可以将上述心跳恢复通知发送至第一节点,以使该第一节点可以根据该心跳恢复通知中的该调整后的接收窗口信息,对上述处于暂停发送状态的发送窗口信息进行调整,进而继续对第二节点发送交易数据。
步骤S415,第一节点根据上述调整后的接收窗口信息,检测上述第二节点接收数据的传输状态。
具体的,可以理解的是,为了确保第二节点具备接收交易数据的存储空间,第一节点可以根据该调整后的接收窗口信息,对第二节点接收数据的传输状态进行检测,根据检测后的确定的第二节点的传输状态,对上述处于暂停发送状态的发送窗口进行调整。若该调整后的接收窗口信息大于或等于接收阈值,则确定该第二节点的传输状态为正常状态,若该调整后的接收窗口信息小于接收阈值,则确定该第二节点的传输装填为异常状态。
步骤S416,第一节点调整处于暂停发送状态的发送窗口信息。
具体的,可以理解的是,若该第二节点的传输状态为正常状态,则第一节点可以将处于暂停状态的发送窗口信息恢复为正常发送状态,得到恢复发送窗口信息,再根据上述调整后的接收窗口信息对该恢复发送窗口信息进行调整;若该第二节点的传输装填为异常状态,则第一节点可以确定该第二节点并不具备接收交易数据的存储空间,则第一节点会继续保持该发送窗口信息为暂停发送状态,不会恢复传输交易数据。如,第二节点返回的调整后的接收窗口信息为数量0.7,接收阈值为1,该调整后的接收窗口信息0.7小于接收阈值1,则第一节点可以将第二节点的传输状态为异常装填,会将发送窗口信息保持为暂停发送状态。
可选的,针对上述S407-S416步骤还有另一种处理方式,即上述第二节点在接收到该第二消息包后,可以触发检测第二网络质量参数,根据该第二网络质量参数对该接收窗口信息进行更新,若更新后的接收窗口信息小于接收阈值(这里的接收阈值可以为大于或等于0的数值,这里的接收阈值与上述存储阈值可以为相同的值,也可以为不同的值),则将该更新后的接收窗口信息设置为暂停接收状态,得到暂停接收信息,第二节点根据该暂停接收信息生成第二应答信息,将该第二应答信息返回至上述第一节点,以使上述第一节点根据该暂停接收信息停止对该第二节点发送交易数据。在本申请中,第二节点在检测到剩余存储空间大于上述存储阈值后,可以直接生成心跳恢复通知,将该心跳恢复通知发送至第一节点,以使该第一节点恢复传输交易数据;第二节点也可以在检测到网络质量参数大于了网络质量参数阈值后,生成心跳恢复通知,将该心跳恢复通知发送至第一节点;第二节点也可以在检测到剩余存储空间大于上述存储阈值后,再触发检测第二节点的网络质量参数,在网络质量参数大于了网络质量参数阈值后,才生成心跳恢复通知,再将该心跳恢复通知发送至第一节点。
为便于理解,进一步地,请参见图5a,是本申请实施例提供的一种传输数据的场景示意图。如图5a所示,服务器3001可以为第一节点,服务器3002可以为第二节点,服务器3001将消息包303发送至服务器3002后,服务器3002可以根据消息包303,检测剩余存储空间,如图5a所示,服务器3002检测到的剩余存储空间为3,服务器3002可以将剩余存储空间3与存储阈值4进行对比,剩余存储空间3小于存储阈值4,则服务器3002可以生成暂停接收信息,根据该暂停接收信息生成应答消息,并将该应答消息返回至服务器3001,服务器3001可以根据该应答消息中的该暂停接收信息而将发送窗口信息设置为暂停发送状态,以停止对服务器3002发送交易数据。
进一步地,请一并请参见图5b,是本申请实施例提供的一种传输数据的场景示意图。如图5b所示,服务器3002在检测到剩余存储空间大于存储阈值时,服务器3002可以将该剩余存储空间6与上述存储阈值4之间的差值作为期望接收数量,根据该期望接收数量可以确定接收窗口信息,根据该接收窗口信息可以生成心跳恢复通知,服务器3002可以将该心跳恢复通知发送至服务器3001,以通知服务器3001服务器3002已具备存储空间用于接收交易数据,希望服务器3001可以恢复传输数据,服务器3001在接收到该心跳恢复通知后,可以确定该接收窗口信息2是大于接收阈值1的,则服务器3001可以将处于暂停发送状态的发送窗口信息设置为恢复发送状态,得到恢复发送窗口信息,服务器3002再将该恢复发送窗口信息调整为接收窗口信息对应的数量2,从而恢复对服务器3002传输数据。
进一步地,请参见图6,是本申请实施例提供的一种基于区块链的数据传输装置的结构示意图。上述基于区块链的数据传输装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据传输装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。该数据传输装置1可以应用于第一节点,该数据传输装置1可以包括:消息发送模块11、应答消息接收模块12、窗口调整模块13、数据获取模块14、消息包生成模块15以及消息包发送模块16。
消息发送模块11,用于第一节点发送第一消息包至第二节点;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
应答消息接收模块12,用于接收上述第二节点根据上述第一消息包返回的第一应答消息;
窗口调整模块13,用于若上述第一应答消息包含上述第二节点的接收窗口信息,则根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
数据获取模块14,用于根据调整后的发送窗口信息,获取上述交易池中的待传输交易数据;
消息包生成模块15,用于根据上述待传输交易数据生成第二消息包;
消息包发送模块16,用于将上述第二消息包发送至上述第二节点。
其中,消息发送模块11、应答消息接收模块12、窗口调整模块13、数据获取模块14、消息包生成模块15以及消息包发送模块16的具体实现过程可以参见上述图2所对应实施例中步骤S101-步骤S104的描述,这里不再进行赘述。
请参见图6,上述窗口调整模块13可以包括:窗口信息获取单元131、期望数量获取单元132以及窗口信息调整单元133。
窗口信息获取单元131,用于获取用于生成上述第一消息包的上述发送窗口信息;
期望数量获取单元132,用于获取上述接收窗口信息中的期望接收数量;上述期望接收数量为上述第二节点针对下一个消息包所期望接收到的交易数据的数量;
窗口信息调整单元133,用于根据上述期望接收数量调整上述发送窗口信息。
其中,窗口信息获取单元131、期望数量获取单元132以及窗口信息调整单元133的具体实现过程可以参见上述图2所对应实施例中步骤S103的描述,这里不再进行赘述。
轻参见图6,上述数据获取模块14可以包括:序号确定单元141与数据确定单元142。
序号确定单元141,用于根据上述起始序号与上述期望接收数量,确定结束序号;
数据确定单元142,用于将上述交易池中上述起始序号对应的交易数据、上述结束序号对应的交易数据以及上述起始序号与上述结束序号之间的序号所对应的交易数据,确定为上述待传输交易数据;
则上述消息包生成模块15,还用于根据上述待传输交易数据以及上述待传输交易数据对应的序号,生成上述第二消息包。
其中,序号确定单元141与数据确定单元142的具体实现方式可以参见上述图2所对应实施例中步骤S104的描述,这里不再进行赘述。
请参见图6,该数据传输装置1可以包括消息发送模块11、应答消息接收模块12、窗口调整模块13、数据获取模块14、消息包生成模块15以及消息包发送模块16,还可以包括发送窗口状态设置模块17。
上述应答消息接收模块12,还用于接收上述第二节点根据上述第二消息包返回的第二应答消息;
发送窗口状态设置模块17,用于若上述第二应答消息包含暂停接收信息,则将上述发送窗口信息设置为暂停发送状态,以停止对上述第二节点发送交易数据。
其中,发送窗口状态设置模块17的具体实现方式可以参见上述图4所对应实施例中步骤S411的描述,这里不再进行赘述。
请参见图6,该该数据传输装置1可以包括消息发送模块11、应答消息接收模块12、窗口调整模块13、数据获取模块14、消息包生成模块15、消息包发送模块16以及发送窗口状态设置模块17,还可以包括:通知接收模块18、状态检测模块19以及状态恢复模块20。
通知接收模块18,用于接收上述第二节点发送的心跳恢复通知;上述心跳恢复通知用于请求上述第一节点恢复传输交易数据;上述心跳恢复通知包含调整后的接收窗口信息;
状态检测模块19,用于根据上述调整后的接收窗口信息,检测上述第二节点接收数据的传输状态;
状态恢复模块20,用于若上述第二节点的传输状态为正常状态,则将处于暂停发送状态的发送窗口信息恢复为正常发送状态,得到恢复发送窗口信息,根据调整后的接收窗口信息调整上述恢复发送窗口信息;
上述状态恢复模块20,还用于若上述第二节点的传输状态为异常状态,则保持上述发送窗口信息为上述暂停发送状态。
上述状态检测模块19,还用于若上述调整后的接收窗口信息大于或等于接收阈值,则确定上述第二节点的传输状态为正常状态;
上述状态检测模块19,还用于若上述调整后的接收窗口信息小于上述接收阈值,则确定上述第二节点的传输状态为异常状态。
其中,通知接收模块18、状态检测模块19以及状态恢复模块20的具体实现方式可以参见上述图4所对应实施例中步骤S415-步骤S416的描述,这里不再进行赘述。
在本申请实施例中,第一节点可以根据第二节点的接收窗口信息控制交易数据的发送数量,所以本申请实施例通过接收第二节点返回的接收窗口信息,可以准确地获取到第二节点针对下一个消息包所期望接收到的交易数据数量,从而第一节点可以根据该交易数据数量来调整发送窗口信息,进而确定下一次传输至第二节点的交易数据的发送数量,使得第一节点可以在知道第二节点的接收窗口大小的前提下传输交易数据,这样可以减少第一节点盲目发送交易数据,导致第二节点因接收窗口过小而丢弃该传输过来的部分交易数据,造成交易数据损失的情况。所以,本申请可以减少交易数据在传输过程中的损失,进而提高交易数据传递的可靠性。
进一步地,请参见图7,是本申请实施例提供的一种计算机设备的示意图。如图7所示,上述计算机设备1000可以为上述图3对应实施例中的第一节点,上述计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图7所示的计算机设备1000中,网络接口1004主要用于与业务服务器进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
第一节点发送第一消息包至第二节点;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
接收上述第二节点根据上述第一消息包返回的第一应答消息;
若上述第一应答消息包含上述第二节点的接收窗口信息,则根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
根据调整后的发送窗口信息,获取上述交易池中的待传输交易数据,根据上述待传输交易数据生成第二消息包,将上述第二消息包发送至上述第二节点。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图5b所对应实施例中对该视频数据处理方法的描述,也可执行前文图6所对应实施例中对该视频数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备1000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图5b所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步地,请参见图8,是本申请实施例提供的一种基于区块链的数据传输装置的结构示意图。上述基于区块链的数据传输装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据传输装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。该数据传输装置2可以应用于第二节点,该数据传输装置2可以包括:消息包接收模块21、窗口确定模块22、应答消息生成模块23以及应答消息返回模块24。
消息包接收模块21,用于第二节点接收第一节点发送的第一消息包;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
窗口确定模块22,用于根据上述第一消息包,确定接收窗口信息;
应答消息生成模块23,用于根据上述接收窗口信息生成第一应答消息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;
应答消息返回模块24,用于将上述第一应答消息返回至上述第一节点,以使上述第一节点根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
上述消息包接收模块21,还用于接收上述第一节点发送的第二消息包;上述第二消息包包括上述交易池中的待传输交易数据以及上述待传输交易数据对应的序号;上述待传输交易数据是由上述第一节点根据调整后的发送窗口信息从上述交易池中所获取得到的。
其中,消息包接收模块21、窗口确定模块22、应答消息生成模块23以及应答消息返回模块24的具体实现方式可以参见上述图3所对应实施例中步骤S102的描述,这里不再进行赘述。
请参见图8,上述窗口确定模块22可以包括:质量参数触发单元221与装载数量确定单元222。
质量参数触发单元221,用于根据上述第一消息包,触发检测第一网络质量参数;
装载数量确定单元222,用于根据上述第一网络质量参数,确定上述第二节点的最大装载数量,根据上述最大装载数量确定上述接收窗口信息。
其中,质量参数触发单元221与装载数量确定单元222的具体实现方式可以参见上述图3所对应实施例中步骤S102的描述,这里不再进行赘述。
请参见图8,该数据传输装置2可以包括消息包接收模块21、窗口确定模块22、应答消息生成模块23以及应答消息返回模块24,还可以包括:参数触发模块25、窗口更新模块26以及接收窗口状态设置模块27。
参数触发模块25,用于根据上述第二消息包,触发检测第二网络质量参数;
窗口更新模块26,用于根据上述第二网络质量参数对上述接收窗口信息进行更新;
接收窗口状态设置模块27,用于若上述更新后的接收窗口信息小于接收阈值,则将上述更新后的接收窗口信息设置为暂停接收状态,得到暂停接收信息;
上述应答消息返回模块24,还用于根据上述暂停接收信息生成第二应答消息,将上述第二应答消息返回至上述第一节点,以使上述第一节点根据上述暂停接收信息停止对上述第二节点发送交易数据。
其中,参数触发模块25、窗口更新模块26以及接收窗口状态设置模块27的具体实现方式可以参见上述图4所对应实施例中第二节点根据第二消息包触发检测网络质量参数的描述,这里不再进行赘述。
请参见图8,该数据传输装置2可以包括消息包接收模块21、窗口确定模块22、应答消息生成模块23、应答消息返回模块24、参数触发模块25、窗口更新模块26以及接收窗口状态设置模块27,还可以包括:存储空间检测模块28与接收信息生成模块29。
存储空间检测模块28,用于根据上述第二消息包,检测上述第二节点的剩余存储空间;
接收信息生成模块29,用于在上述剩余存储空间小于存储阈值时,生成暂停接收信息;
上述应答消息返回模块24,还用于根据上述暂停接收信息生成第二应答消息,将上述第二应答消息返回至上述第一节点,以使上述第一节点根据上述暂停接收信息停止对上述第二节点发送交易数据。
其中,存储空间检测模块28与接收信息生成模块29的具体实现方式可以参见上述图4所对应实施例中步骤S407-步骤S409的描述,这里不再进行赘述。
请参见图8,该数据传输装置2可以包括消息包接收模块21、窗口确定模块22、应答消息生成模块23、应答消息返回模块24、参数触发模块25、窗口更新模块26、接收窗口状态设置模块27、存储空间检测模块28以及接收信息生成模块29,还可以包括:接收窗口调整模块30与恢复通知生成模块31。
接收窗口调整模块30,用于当检测到上述剩余存储空间大于上述存储阈值时,调整上述接收窗口信息;
恢复通知生成模块31,用于根据上述调整后的接收窗口信息生成心跳恢复通知,将上述心跳恢复通知发送至上述第一节点,以使上述第一节点根据上述调整后的接收窗口信息对处于暂停发送状态的发送窗口信息进行调整。
其中,接收窗口调整模块30与恢复通知生成模块31的具体实现方式可以参见上述图4所对应实施例中步骤S412-步骤S414,这里不再进行赘述。
在本申请实施例中,第一节点可以根据第二节点的接收窗口信息控制交易数据的发送数量,所以本申请实施例通过接收第二节点返回的接收窗口信息,可以准确地获取到第二节点针对下一个消息包所期望接收到的交易数据数量,从而第一节点可以根据该交易数据数量来调整发送窗口信息,进而确定下一次传输至第二节点的交易数据的发送数量,使得第一节点可以在知道第二节点的接收窗口大小的前提下传输交易数据,这样可以减少第一节点盲目发送交易数据,导致第二节点因接收窗口过小而丢弃该传输过来的部分交易数据,造成交易数据损失的情况。所以,本申请可以减少交易数据在传输过程中的损失,进而提高交易数据传递的可靠性。
进一步地,请参见图9,是本申请实施例提供的一种计算机设备的示意图。如图9所示,上述计算机设备4000可以为上述图3对应实施例中的第二节点,上述计算机设备4000可以包括:至少一个处理器4001,例如CPU,至少一个网络接口4004,用户接口4003,存储器4005,至少一个通信总线4002。其中,通信总线4002用于实现这些组件之间的连接通信。其中,用户接口4003可以包括显示屏(Display)、键盘(Keyboard),网络接口4004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器4005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器4005可选地还可以是至少一个位于远离前述处理器4001的存储装置。如图9所示,作为一种计算机存储介质的存储器4005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图9所示的计算机设备4000中,网络接口4004主要用于与用户终端进行网络通信;而用户接口4003主要用于为用户提供输入的接口;而处理器4001可以用于调用存储器4005中存储的设备控制应用程序,以实现:
第二节点接收第一节点发送的第一消息包;上述第一消息包携带目标交易数据;上述目标交易数据为上述第一节点中的交易池中的交易数据;
根据上述第一消息包,确定接收窗口信息,根据上述接收窗口信息生成第一应答消息;上述接收窗口信息用于确定上述第二节点针对一个消息包所接收的交易数据的数量;
将上述第一应答消息返回至上述第一节点,以使上述第一节点根据上述第一应答消息中的上述接收窗口信息调整发送窗口信息;上述发送窗口信息用于确定上述第一节点针对一个消息包所发送的交易数据的数量;
接收上述第一节点发送的第二消息包;上述第二消息包包括上述交易池中的待传输交易数据以及上述待传输交易数据对应的序号;上述待传输交易数据是由上述第一节点根据调整后的发送窗口信息从上述交易池中所获取得到的。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图5b所对应实施例中对该视频数据处理方法的描述,也可执行前文图8所对应实施例中对该视频数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备1000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图5b所对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图10,是本申请实施例提供的一种基于区块链的数据传输系统的结构示意图。该数据传输系统3可以包含数据传输装置1a和数据传输装置2a。其中,上述数据传输装置1a可以为上述图6所对应实施例中的数据传输装置1,可以理解的是,该数据传输装置1a可以集成在上述图3所对应实施例中的第一节点,因此,这里将不再进行赘述。其中,上述数据传输装置2a可以为上述图8所对应实施例中的数据传输装置2,可以理解的是,该数据传输装置2a可以集成在上述图3所对应实施例中的第二节点,因此,这里不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据传输系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种基于区块链的数据传输方法,其特征在于,包括:
第一节点发送第一消息包至第二节点;所述第一消息包携带目标交易数据;所述目标交易数据为所述第一节点中的交易池中的交易数据;
接收所述第二节点根据所述第一消息包返回的第一应答消息;
若所述第一应答消息包含所述第二节点的接收窗口信息,则根据所述第一应答消息中的所述接收窗口信息调整发送窗口信息;所述接收窗口信息用于确定所述第二节点针对一个消息包所接收的交易数据的数量;所述发送窗口信息用于确定所述第一节点针对一个消息包所发送的交易数据的数量;
根据调整后的发送窗口信息,获取所述交易池中的待传输交易数据,根据所述待传输交易数据生成第二消息包,将所述第二消息包发送至所述第二节点。
2.根据权利要求1所述的方法,其特征在于,所述根据所述应答消息中的所述接收窗口信息调整发送窗口信息,包括:
获取用于生成所述第一消息包的所述发送窗口信息;
获取所述接收窗口信息中的期望接收数量;所述期望接收数量为所述第二节点针对下一个消息包所期望接收到的交易数据的数量;
根据所述期望接收数量调整所述发送窗口信息。
3.根据权利要求2所述的方法,其特征在于,所述第一消息包还包括所述目标交易数据对应的序号;所述第一应答消息还包括起始序号,所述起始序号是由所述第二节点对所述目标交易数据对应的序号进行递增更新得到的;
所述根据调整后的发送窗口信息,获取所述交易池中的待传输交易数据,包括:
根据所述起始序号与所述期望接收数量,确定结束序号;
将所述交易池中所述起始序号对应的交易数据、所述结束序号对应的交易数据以及所述起始序号与所述结束序号之间的序号所对应的交易数据,确定为所述待传输交易数据;
则所述根据所述待传输交易数据生成第二消息包,包括:
根据所述待传输交易数据以及所述待传输交易数据对应的序号,生成所述第二消息包。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第二节点根据所述第二消息包返回的第二应答消息;
若所述第二应答消息包含暂停接收信息,则将所述发送窗口信息设置为暂停发送状态,以停止对所述第二节点发送交易数据。
5.根据权利要求4所述的方法,其特征在于,还包括:
接收所述第二节点发送的心跳恢复通知;所述心跳恢复通知用于请求所述第一节点恢复传输交易数据;所述心跳恢复通知包含调整后的接收窗口信息;
根据所述调整后的接收窗口信息,检测所述第二节点接收数据的传输状态;
若所述第二节点的传输状态为正常状态,则将处于暂停发送状态的发送窗口信息恢复为正常发送状态,得到恢复发送窗口信息,根据调整后的接收窗口信息调整所述恢复发送窗口信息;
若所述第二节点的传输状态为异常状态,则保持所述发送窗口信息为所述暂停发送状态。
6.根据权利要求5所述的方法,其特征在于,所述根据所述调整后的接收窗口信息,检测所述第二节点接收数据的传输状态,包括:
若所述调整后的接收窗口信息大于或等于接收阈值,则确定所述第二节点的传输状态为正常状态;
若所述调整后的接收窗口信息小于所述接收阈值,则确定所述第二节点的传输状态为异常状态。
7.一种基于区块链的数据传输方法,其特征在于,包括:
第二节点接收第一节点发送的第一消息包;所述第一消息包携带目标交易数据;所述目标交易数据为所述第一节点中的交易池中的交易数据;
根据所述第一消息包,确定接收窗口信息,根据所述接收窗口信息生成第一应答消息;所述接收窗口信息用于确定所述第二节点针对一个消息包所接收的交易数据的数量;
将所述第一应答消息返回至所述第一节点,以使所述第一节点根据所述第一应答消息中的所述接收窗口信息调整发送窗口信息;所述发送窗口信息用于确定所述第一节点针对一个消息包所发送的交易数据的数量;
接收所述第一节点发送的第二消息包;所述第二消息包包括所述交易池中的待传输交易数据以及所述待传输交易数据对应的序号;所述待传输交易数据是由所述第一节点根据调整后的发送窗口信息从所述交易池中所获取得到的。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第一消息包,确定接收窗口信息,包括:
根据所述第一消息包,触发检测第一网络质量参数;
根据所述第一网络质量参数,确定所述第二节点的最大装载数量,根据所述最大装载数量确定所述接收窗口信息。
9.根据权利要求7所述的方法,其特征在于,还包括:
根据所述第二消息包,触发检测第二网络质量参数;
根据所述第二网络质量参数对所述接收窗口信息进行更新;
若所述更新后的接收窗口信息小于接收阈值,则将所述更新后的接收窗口信息设置为暂停接收状态,得到暂停接收信息;
根据所述暂停接收信息生成第二应答消息,将所述第二应答消息返回至所述第一节点,以使所述第一节点根据所述暂停接收信息停止对所述第二节点发送交易数据。
10.根据权利要求7所述的方法,其特征在于,还包括:
根据所述第二消息包,检测所述第二节点的剩余存储空间;
在所述剩余存储空间小于存储阈值时,生成暂停接收信息;
根据所述暂停接收信息生成第二应答消息,将所述第二应答消息返回至所述第一节点,以使所述第一节点根据所述暂停接收信息停止对所述第二节点发送交易数据。
11.根据权利要求10所述的方法,其特征在于,还包括:
当检测到所述剩余存储空间大于所述存储阈值时,调整所述接收窗口信息;
根据所述调整后的接收窗口信息生成心跳恢复通知,将所述心跳恢复通知发送至所述第一节点,以使所述第一节点根据所述调整后的接收窗口信息对处于暂停发送状态的发送窗口信息进行调整。
12.一种基于区块链的数据传输装置,其特征在于,包括:
消息包发送模块,用于第一节点发送第一消息包至第二节点;所述第一消息包携带目标交易数据;所述目标交易数据为所述第一节点中的交易池中的交易数据;
应答消息接收模块,用于接收所述第二节点根据所述第一消息包返回的第一应答消息;
窗口调整模块,用于若所述第一应答消息包含所述第二节点的接收窗口信息,则根据所述第一应答消息中的所述接收窗口信息调整发送窗口信息;所述接收窗口信息用于确定所述第二节点针对一个消息包所接收的交易数据的数量;所述发送窗口信息用于确定所述第一节点针对一个消息包所发送的交易数据的数量;
数据获取模块,用于根据调整后的发送窗口信息,获取所述交易池中的待传输交易数据;
消息包生成模块,用于根据所述待传输交易数据生成第二消息包;
消息包发送模块,用于将所述第二消息包发送至所述第二节点。
13.一种基于区块链的数据传输装置,其特征在于,包括:
消息包接收模块,用于第二节点接收第一节点发送的第一消息包;所述第一消息包携带目标交易数据;所述目标交易数据为所述第一节点中的交易池中的交易数据;
窗口确定模块,用于根据所述第一消息包,确定接收窗口信息;
应答消息生成模块,用于根据所述接收窗口信息生成第一应答消息;所述接收窗口信息用于确定所述第二节点针对一个消息包所接收的交易数据的数量;
应答消息返回模块,用于将所述第一应答消息返回至所述第一节点,以使所述第一节点根据所述第一应答消息中的所述接收窗口信息调整发送窗口信息;所述发送窗口信息用于确定所述第一节点针对一个消息包所发送的交易数据的数量;
所述消息包接收模块,还用于接收所述第一节点发送的第二消息包;所述第二消息包包括所述交易池中的待传输交易数据以及所述待传输交易数据对应的序号;所述待传输交易数据是由所述第一节点根据调整后的发送窗口信息从所述交易池中所获取得到的。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1至11中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010006920.XA CN111222882A (zh) | 2020-01-03 | 2020-01-03 | 基于区块链的数据传输方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010006920.XA CN111222882A (zh) | 2020-01-03 | 2020-01-03 | 基于区块链的数据传输方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111222882A true CN111222882A (zh) | 2020-06-02 |
Family
ID=70829301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010006920.XA Pending CN111222882A (zh) | 2020-01-03 | 2020-01-03 | 基于区块链的数据传输方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222882A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291372A (zh) * | 2020-12-28 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 区块链的异步落账方法、装置、介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512634A (zh) * | 2017-02-28 | 2018-09-07 | 北京华为数字技术有限公司 | 一种数据处理的方法及相关设备 |
CN109803315A (zh) * | 2017-11-17 | 2019-05-24 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN110351198A (zh) * | 2019-07-05 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种流量调节方法、数据传输系统、存储介质及设备 |
CN110599136A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链交易池流量管控方法以及装置 |
-
2020
- 2020-01-03 CN CN202010006920.XA patent/CN111222882A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512634A (zh) * | 2017-02-28 | 2018-09-07 | 北京华为数字技术有限公司 | 一种数据处理的方法及相关设备 |
CN109803315A (zh) * | 2017-11-17 | 2019-05-24 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN110351198A (zh) * | 2019-07-05 | 2019-10-18 | 视联动力信息技术股份有限公司 | 一种流量调节方法、数据传输系统、存储介质及设备 |
CN110599136A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链交易池流量管控方法以及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291372A (zh) * | 2020-12-28 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 区块链的异步落账方法、装置、介质及电子设备 |
CN112291372B (zh) * | 2020-12-28 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 区块链的异步落账方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437680B2 (en) | Relay apparatus, relay method, and computer program product | |
EP0471090B1 (en) | Message communication processing system | |
CN110719318B (zh) | 消息处理方法和系统 | |
CN108023829B (zh) | 报文处理方法及装置、存储介质、电子设备 | |
US20170331699A1 (en) | Ecu for transmitting large data in hil test environment, system including the same and method thereof | |
CN111385269B (zh) | 数据传输方法和装置 | |
CN112367149B (zh) | 消息获取方法、装置、设备及存储介质 | |
US20070255823A1 (en) | Method for low-overhead message tracking in a distributed messaging system | |
KR101714227B1 (ko) | 차량의 데이터 통신 방법 및 이를 위한 장치 | |
CN108134713B (zh) | 一种通信方法及装置 | |
CN110633168A (zh) | 一种分布式存储系统的数据备份方法和系统 | |
CN107547505B (zh) | 一种报文处理方法及装置 | |
CN109525542A (zh) | 数据恢复方法、发送/接收装置和计算机可读存储介质 | |
CN112184436B (zh) | 数据同步方法、电子设备及可读存储介质 | |
CN111159233A (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN115174490B (zh) | 一种数据传输方法及网络应用终端 | |
CN113452770B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN111222882A (zh) | 基于区块链的数据传输方法、装置、设备及可读存储介质 | |
CN113645248B (zh) | 一种跨网环境下数据交换系统及方法 | |
CN111917859B (zh) | 数据传输方法、装置、计算机设备以及存储介质 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN110460486B (zh) | 服务节点的监控方法及系统 | |
CN114422227B (zh) | 一种基于网络安全的数据采集分析系统 | |
US20160261476A1 (en) | Message system for avoiding processing-performance decline | |
CN113645103B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024832 Country of ref document: HK |