首页> 中国专利> 星地协同区块链系统中的通信广播自适应融合方法

星地协同区块链系统中的通信广播自适应融合方法

摘要

本发明实施例提供一种星地协同区块链系统中的通信广播自适应融合方法,包括:目标普通节点广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播目标数据,以供第一网关节点将目标数据发送到卫星,由卫星将目标数据进行全网广播;经过预设时间之后,若目标普通节点没有收到卫星广播的目标数据,则重新向第一网关节点发送,以供第一网关节点再次将目标数据发送到卫星,由卫星再次进行全网广播。本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

著录项

  • 公开/公告号CN109412677A

    专利类型发明专利

  • 公开/公告日2019-03-01

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201811340658.1

  • 发明设计人 冯伟;魏红鑫;葛宁;

    申请日2018-11-12

  • 分类号

  • 代理机构北京路浩知识产权代理有限公司;

  • 代理人王莹

  • 地址 100084 北京市海淀区清华园北京100084-82信箱

  • 入库时间 2024-02-19 08:37:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-14

    授权

    授权

  • 2019-03-26

    实质审查的生效 IPC(主分类):H04B7/185 申请日:20181112

    实质审查的生效

  • 2019-03-01

    公开

    公开

说明书

技术领域

本发明实施例涉及通信技术领域,尤其涉及一种星地协同区块链系统中的通信广播自适应融合方法。

背景技术

区块链是基于点对点传输网络技术、密码学技术、数据库存储技术、共识机制等技术来建立分布式的数字账本系统的技术。由于,现有的区块链系统的点对点传输是建立在应用层上的协议,区块链系统中的交易广播和区块广播需要对每一个节点都进行一次数据传输,这将会给网络带来很大的负担,在交易频繁的情况下很容易发生网络的拥塞。在以单位时间内的交易次数来衡量区块链系统性能的指标下,区块链系统的吞吐量由单个区块所容纳的交易数量和区块实现全网广播的延时来决定。由于现有的互联网架构下,区块链每次交易或者产生新的区块实现全网广播都需要一定的时间,因此现有的网络传输技术严重影响了区块链系统的交易速度。

现有技术中,由卫星和地面上的节点构成的区块链系统,称为星地协同区块链系统,在该系统中通常采用卫星通信来进行区块和交易的广播,利用卫星通信覆盖范围广、广播的特性实现了信息的快速全网广播。

但是,采用卫星广播,由于通信信道在时间和空间上的差异性,部分节点有可能丢失部分广播信息或者收到错误的广播信息。将使得星地协同区块链系统无法正常工作或者系统效率低下,系统的可靠性低。

发明内容

本发明实施例的目的是提供一种克服上述问题或者至少部分地解决上述问题的星地协同区块链系统中的通信广播自适应融合方法。

为了解决上述技术问题,一方面,本发明实施例提供一种星地协同区块链系统中的通信广播自适应融合方法,包括:

目标普通节点广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播所述目标数据,以供第一网关节点将所述目标数据发送到卫星,由所述卫星将所述目标数据进行全网广播;

经过预设时间之后,若所述目标普通节点没有收到所述卫星广播的所述目标数据,则重新向所述第一网关节点发送所述目标数据,以供所述第一网关节点再次将所述目标数据发送到所述卫星,由所述卫星再次将所述目标数据进行全网广播。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

附图说明

图1为本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法示意图;

图2为本发明实施例提供的普通节点重传交易的逻辑流程示意图;

图3为本发明实施例提供的普通节点重传区块的逻辑流程示意图;

图4为本发明实施例提供的普通节点收到普通节点发送的区块后的传输逻辑流程示意图;

图5为本发明实施例提供的网关节点收到普通节点发送的交易后的传输逻辑流程示意图;

图6为本发明实施例提供的网关节点收到普通节点发送的区块后的传输逻辑流程示意图;

图7为本发明实施例提供的网关节点收到卫星广播的交易后的传输逻辑流程示意图;

图8为本发明实施例提供的网关节点收到卫星广播的区块后的传输逻辑流程示意图;

图9为本发明实施例提供的网关节点收到区块请求后的传输逻辑流程示意图;

图10为本发明实施例提供的卫星收到网关节点发送的交易后的传输逻辑流程示意图;

图11为本发明实施例提供的卫星收到网关节点发送的区块后的传输逻辑流程示意图;

图12为本发明实施例提供的星地协同区块链系统中的通信广播自适应融合装置示意图;

图13为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法示意图,如图1所示,本发明实施例提供一种星地协同区块链系统中的通信广播自适应融合方法,该方法包括:

步骤S101、目标普通节点广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播所述目标数据,以供第一网关节点将所述目标数据发送到卫星,由所述卫星将所述目标数据进行全网广播;

步骤S102、经过预设时间之后,若所述目标普通节点没有收到所述卫星广播的所述目标数据,则重新向所述第一网关节点发送所述目标数据,以供所述第一网关节点再次将所述目标数据发送到所述卫星,由所述卫星再次将所述目标数据进行全网广播。

具体来说,星地协同区块链系统包括若干个运行区块链程序的普通节点,普通节点之间通过互联网形成点对点网络,每个普通节点都有自己的邻居节点,邻居节点也是普通节点,一对邻居节点可以通过互联网进行数据传输。同时,星地协同区块链系统还包括一个卫星和多个网关节点,卫星包括卫星主体和地面主站,卫星主体在空中绕地球按照预定轨道运行,网关节点能够通过地面网络和地面主站通信,地面主站可以向卫星主体发送数据。卫星主体可以向所有的节点(包括普通节点和网关节点)广播信息,每个节点(包括普通节点和网关节点)都可以接收卫星的无线广播信息。普通节点接入网络后本地保存着一定数量的邻居节点,并可以接入和自己传输路径最优的一个网关节点。网关节点能够和卫星的地面主站通信。网关节点之间可以互相通信。

网关节点、卫星地面主站在本地分别保存着一个数据缓存,称为本地缓存,本地缓存中保存收到的数据和数据的优先级,并可以按照数据的优先级将数据发送出去,数据可以是交易或者区块。缓存数据的优先级的高低可以通过优先级的值来衡量,优先级的值越大表示该数据的优先级越高,优先级更高的数据将会被优先从本地缓存中发送出去。

普通节点在本地设置有自己发送数据的一个缓存区,当一个目标普通节点在本地产生一个目标数据后,通过广播的形式向第一邻居节点和第一网关节点发送该目标数据,同时开始计时。其中,第一邻居节点是该目标普通节点的邻居节点,第一网关节点为该目标普通节点接入网络的、且和自己传输路径最优的一个网关节点。以供第一邻居节点继续广播该目标数据,并以供第一网关节点将该目标数据发送到卫星,由卫星将该目标数据进行全网广播。

经过预设时间之后,若目标普通节点没有收到卫星广播的目标数据,则重新向第一网关节点发送该目标数据,以供第一网关节点再次将该目标数据发送到卫星,由卫星再次将该目标数据进行全网广播,如此循环,直到目标普通节点收到卫星广播的该目标数据。其中,预设时间可以根据实际情况进行配置。

若目标普通节点收到了卫星广播的目标数据,则认为数据发送成功,不再重新发送。

图2为本发明实施例提供的普通节点重传交易的逻辑流程示意图,如图2所示,以普通节点重传的数据为交易为例,普通节点A1在本地产生一个新的交易A后,通过广播的形式向邻居节点A2和网关节点B1发送交易A,同时开始计时。邻居节点A2是普通节点A1的邻居节点,网关节点B1是普通节点A1接入网络的、且和自己传输路径最优的一个网关节点。以供邻居节点A2继续广播交易A,并以供网关节点B1将交易A发送到卫星,由卫星将交易A进行全网广播。

经过预设时间之后,例如,经过2秒后,如果普通节点A1判断获知没有收到卫星广播的交易A,则重新向网关节点B1发送交易A,以供网关节点B1再次将交易A发送到卫星,由卫星再次将交易A进行全网广播,如此循环,直到普通节点A1收到卫星广播的交易A。

图3为本发明实施例提供的普通节点重传区块的逻辑流程示意图,如图3所示,以普通节点重传的数据为区块为例,如果普通节点A1在本地产生的是新的区块A,普通节点A1通过广播的形式向邻居节点A2和网关节点B1发送区块A,同时开始计时。

经过2秒后,如果普通节点A1判断获知没有收到卫星广播的区块A,则重新向网关节点B1发送区块A,以供网关节点B1再次将区块A发送到卫星,由卫星再次将区块A进行全网广播,如此循环,直到普通节点A1收到卫星广播的区块A。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在上述实施例的基础上,进一步地,当所述目标数据为目标交易时,所述第一邻居节点接收到所述目标普通节点广播的所述目标交易后,执行如下步骤:

验证所述目标交易的合法性;

若验证通过,则将所述目标交易加入本地交易池中,否则丢弃所述目标交易。

具体来说,当目标数据为目标交易时,第一邻居节点接收到目标普通节点广播的目标交易后,执行如下步骤:

首先,验证该目标交易的合法性。

若验证通过,则将该目标交易加入本地交易池中,否则丢弃该目标交易。

例如,在上述实施例中的例子中,邻居节点A2在接收到普通节点A1广播的交易A后,对交易A的合法性进行验证,如果验证通过,则将交易A加入本地交易池中,否则丢弃交易A。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标区块时,所述第一邻居节点接收到所述目标普通节点广播的所述目标区块后,执行如下步骤:

验证所述目标区块的合法性;

若验证通过,则根据本地数据库中的保存的其他区块的编号和所述目标区块的编号,判断是否有缺少的区块;

若有缺少的区块,则向第二邻居节点和第二网关节点发送区块请求,以获取缺少的区块。

具体来说,图4为本发明实施例提供的普通节点收到普通节点发送的区块后的传输逻辑流程示意图,如图4所示,当目标数据为目标区块时,第一邻居节点接收到目标普通节点广播的该目标区块后,执行如下步骤:

首先,验证该目标区块的合法性。

若验证通过,则根据本地数据库中的保存的其他区块的编号和该目标区块的编号,判断是否有缺少的区块。

若有缺少的区块,则向第二邻居节点和第二网关节点发送区块请求,以获取缺少的区块。其中,第二邻居节点是第一邻居节点的邻居节点,第二网关节点是第二邻居节点接入网络的、且和自己传输路径最优的一个网关节点。

例如,在上述实施例中的例子中,邻居节点A2在接收到普通节点A1广播的区块A后,对区块A的合法性进行验证,如果验证通过,则将区块A保存到本地数据库中。

如果区块A的编号为8,而邻居节点A2的本地数据库中保存的其他区块的编号分别为:“1、2、3、4、5、6”,由于区块的编号是按照一定顺序编排的,邻居节点A2接收到区块A后,根据本地数据库中的保存的其他区块的编号和区块A的编号,即可判断出缺少编号为7的区块。

此时,邻居节点A2则向邻居节点A3和网关节点B2发送区块请求,以获取缺少的编号为7的区块。其中,邻居节点A3是邻居节点A2的邻居节点,网关节点B2是邻居节点A2接入网络的、且和自己传输路径最优的一个网关节点。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标交易时,所述第一网关节点接收到所述目标普通节点广播的所述目标交易后,执行如下步骤:

检查本地缓存中是否有所述目标交易;

若没有所述目标交易,则将所述目标交易保存到本地数据库中,并将所述目标交易加入到本地缓存中,且将所述目标交易在本地缓存中的优先级的值设置为第一预设值GTN。

具体来说,图5为本发明实施例提供的网关节点收到普通节点发送的交易后的传输逻辑流程示意图,如图5所示,当目标数据为目标交易时,第一网关节点接收到目标普通节点广播的该目标交易后,执行如下步骤:

首先,检查本地缓存中是否有该目标交易。

若没有该目标交易,则将该目标交易保存到本地数据库中,并将该目标交易加入到本地缓存中,且将该目标交易在本地缓存中的优先级的值设置为第一预设值GTN。

例如,在上述实施例中的例子中,网关节点B1接收到普通节点A1广播的交易A后,检查本地缓存中是否有交易A。

若没有交易A,则将交易A保存到本地数据库中,并将交易A加入到本地缓存中,且将交易A在本地缓存中的优先级的值设置为GTN,GTN=254。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标区块时,所述第一网关节点接收到所述目标普通节点广播的所述目标区块后,执行如下步骤:

将所述目标区块保存到本地数据库中,并将所述目标区块加入到本地缓存中,且将所述目标区块在本地缓存中的优先级的值设置为第二预设值GBN;

根据本地数据库中的保存的其他区块的编号和所述目标区块的编号,判断是否有缺少的区块;

若有缺少的区块,则向第二网关节点发送区块请求,以获取缺少的区块。

具体来说,图6为本发明实施例提供的网关节点收到普通节点发送的区块后的传输逻辑流程示意图,如图6所示,当目标数据为目标区块时,第一网关节点接收到目标普通节点广播的该目标区块后,执行如下步骤:

首先,将该目标区块保存到本地数据库中,并将该目标区块加入到本地缓存中,且将该目标区块在本地缓存中的优先级的值设置为第二预设值GBN。

根据本地数据库中的保存的其他区块的编号和该目标区块的编号,判断是否有缺少的区块。

若有缺少的区块,则向第二网关节点发送区块请求,以获取缺少的区块。

多个网关节点按照固定的周期向卫星的地面主站发送本地缓存中的交易信息和区块信息。网关节点从本地缓存中按照优先级的值从大到小的顺序选择交易和区块发送。如果优先级的值相同,则按照区块链系统中交易和区块的转发优先策略进行发送。

例如,在上述实施例中的例子中,网关节点B1接收到普通节点A1广播的区块A后,将区块A保存到本地数据库中,并将区块A加入到本地缓存中,且将区块A在本地缓存中的优先级的值设置为第二预设值GBN,GBN=255。

如果区块A的编号为8,而网关节点B1的本地数据库中保存的其他区块的编号分别为:“1、2、3、4、5、6”,由于区块的编号是按照一定顺序编排的,网关节点B1接收到区块A后,根据本地数据库中的保存的其他区块的编号和区块A的编号,即可判断出缺少编号为7的区块。

此时,网关节点B1则向网关节点B2发送区块请求,以获取缺少的编号为7的区块。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标交易时,所述第一网关节点接收到所述卫星广播的所述目标交易后,执行如下步骤:

检查本地缓存中是否有所述目标交易;

若没有所述目标交易,则将所述目标交易保存到本地数据库中;

若有所述目标交易,则将所述目标交易从本地缓存中删除。

具体来说,图7为本发明实施例提供的网关节点收到卫星广播的交易后的传输逻辑流程示意图,如图7所示,当目标数据为目标交易时,第一网关节点接收到卫星广播的该目标交易后,执行如下步骤:

首先,对该目标交易进行合法性验证。

如果验证通过,则检查本地缓存中是否有该目标交易。

若没有该目标交易,则将该目标交易保存到本地数据库中。

若有该目标交易,则将该目标交易从本地缓存中删除。

例如,在上述实施例中的例子中,网关节点B1接收到卫星广播的交易A后,对交易A进行合法性验证。如果验证通过,则检查本地缓存中是否有交易A。

若没有交易A,则将交易A保存到本地数据库中。若有交易A,则交易A也已经存在于本地数据库中,此时,将交易A从本地缓存中删除。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标区块时,所述第一网关节点接收到所述卫星广播的所述目标区块后,执行如下步骤:

检查本地缓存中是否有所述目标区块;

若没有所述目标区块,则将所述目标区块保存到本地数据库中,并根据本地数据库中的保存的其他区块的编号和所述目标区块的编号,判断是否有缺少的区块;

若有缺少的区块,则向第二网关节点发送区块请求,以获取缺少的区块。

具体来说,图8为本发明实施例提供的网关节点收到卫星广播的区块后的传输逻辑流程示意图,如图8所示,当目标数据为目标区块时,第一网关节点接收到卫星广播的该目标区块后,执行如下步骤:

首先,对该目标区块进行合法性验证。

如果验证通过,则检查本地缓存中是否有该目标区块。

若没有该目标区块,则将该目标区块保存到本地数据库中,并根据本地数据库中的保存的其他区块的编号和该目标区块的编号,判断是否有缺少的区块。若有缺少的区块,则向第二网关节点发送区块请求,以获取缺少的区块。

若有该目标区块,则将该目标区块从本地缓存中删除。

例如,在上述实施例中的例子中,网关节点B1接收到卫星广播的区块A后,对区块A的合法性进行验证,如果验证通过,则检查本地缓存中是否有区块A。

如果没有区块A,则将区块A保存到本地数据库中,如果区块A的编号为8,而网关节点B1的本地数据库中保存的其他区块的编号分别为:“1、2、3、4、5、6”,由于区块的编号是按照一定顺序编排的,网关节点B1接收到区块A后,根据本地数据库中的保存的其他区块的编号和区块A的编号,即可判断出缺少编号为7的区块。此时,网关节点B1向网关节点B2发送区块请求,以获取缺少的编号为7的区块。

如果本地缓存中有区块A,则将区块A从本地缓存中删除。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述第二网关节点收到所述区块请求后,执行如下步骤:

检查本地数据库中是否有所述目标区块;

若有所述目标区块,则将所述目标区块发送给请求方;

检查本地缓存中是否有所述目标区块;

若有所述目标区块,则将所述目标区块在本地缓存中的优先级的值增加一个单位。

具体来说,图9为本发明实施例提供的网关节点收到区块请求后的传输逻辑流程示意图,如图9所示,当所述第二网关节点收到针对目标区块的区块请求后,执行如下步骤:

首先,检查本地数据库中是否有该目标区块。

如果本地数据库中有该目标区块,则将该目标区块发送给请求方,然后,检查本地缓存中是否有该目标区块;若本地缓存中有该目标区块,则将该目标区块在本地缓存中的优先级的值增加一个单位,如果优先级的值已经为最大值,则保持最大值。

若本地缓存中没有该目标区块,则将该目标区块加入本地缓存中,并将该目标区块在本地缓存中的优先级的值设置为GB。

如果本地数据库中没有该目标区块,则向请求方返回查找失败的指令,用于指示查不到该目标区块,并向其他的网关节点发送针对该目标区块的区块请求。

例如,在上述实施例中的例子中,网关节点B2接收到邻居节点A2或者网关节点B1发送的针对区块A的区块请求后,检查本地数据库中是否有区块A。

如果本地数据库中有区块A,则将区块A发送给邻居节点A2或者网关节点B1,然后,检查本地缓存中是否有区块A;若本地缓存中有区块A,则将区块A在本地缓存中的优先级的值增加一,如果优先级的值已经为最大值255,则保持最大值255。

若本地缓存中没有区块A,则将区块A加入本地缓存中,并区块A在本地缓存中的优先级的值设置为GB,GB=0。

如果本地数据库中没有区块A,则向邻居节点A2或者网关节点B1返回查找失败的指令,用于指示查不到该目标区块,并向其他的网关节点,例如网关节点B3,发送针对该目标区块的区块请求。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标交易时,所述卫星接收到所述第一网关节点发送的所述目标交易后,执行如下步骤:

检查本地缓存中是否有所述目标交易;

若没有所述目标交易,则将所述目标交易加入到本地缓存中,并将所述目标交易在本地缓存中的优先级的值设置为第三预设值ST;

若有所述目标交易,则将所述目标交易在本地缓存中的优先级的值增加一个单位。

具体来说,图10为本发明实施例提供的卫星收到网关节点发送的交易后的传输逻辑流程示意图,如图10所示,当目标数据为目标交易时,卫星通过地面主站接收到第一网关节点发送的该目标交易后,执行如下步骤:

首先,对目标交易进行合法性验证,如果验证通过,则检查本地缓存中是否有该目标交易。

若没有该目标交易,则将该目标交易加入到本地缓存中,并将该目标交易在本地缓存中的优先级的值设置为第三预设值ST。

若有该目标交易,则将该目标交易在本地缓存中的优先级的值增加一个单位,如果优先级的值已经为最大值,则保持最大值。

例如,在上述实施例中的例子中,卫星通过地面主站接收到网关节点B1发送的交易A后,检查本地缓存中是否有交易A。

如果本地缓存中没有交易A,则将交易A加入到本地缓存中,并将交易A在本地缓存中的优先级的值设置为ST,ST=0。

如果本地缓存中有交易A,则将交易A在本地缓存中的优先级的值增加一,如果优先级的值已经为最大值255,则保持最大值255。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

在以上各实施例的基础上,进一步地,当所述目标数据为目标区块时,所述卫星接收到所述第一网关节点发送的所述目标区块后,执行如下步骤:

检查本地缓存中是否有所述目标区块;

若没有所述目标区块,则将所述目标区块加入到本地缓存中,并将所述目标区块在本地缓存中的优先级的值设置为第四预设值SB;

若有所述目标区块,则将所述目标区块在本地缓存中的优先级的值增加一个单位。

具体来说,图11为本发明实施例提供的卫星收到网关节点发送的区块后的传输逻辑流程示意图,如图11所示,当目标数据为目标区块时,卫星通过地面主站接收到第一网关节点发送的该目标区块后,执行如下步骤:

首先,对目标区块进行合法性验证,如果验证通过,则检查本地缓存中是否有该目标区块。

若没有该目标区块,则将该目标区块加入到本地缓存中,并将该目标区块在本地缓存中的优先级的值设置为第四预设值SB。

若有该目标区块,则将该目标区块在本地缓存中的优先级的值增加一个单位,如果优先级的值已经为最大值,则保持最大值。

例如,在上述实施例中的例子中,卫星通过地面主站接收到网关节点B1发送的区块A后,检查本地缓存中是否有区块A。

如果本地缓存中没有区块A,则将区块A加入到本地缓存中,并将区块A在本地缓存中的优先级的值设置为SB,SB=8。

如果本地缓存中有区块A,则将区块A在本地缓存中的优先级的值增加一,如果优先级的值已经为最大值255,则保持最大值255。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合方法,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

卫星主站收到多个网关节点的交易和区块后,发送给卫星主体,卫星主体以固定的时隙间隔向全部节点广播交易和区块信息,卫星主体从地面主站本地缓存区中按照优先级的值从大到小的顺序选择交易和区块发送,如果交易和区块的优先级相同,则按照区块链系统自身交易和区块广播的优先策略排序。卫星的地面主站发送完数据后从本地缓存区中删除该数据。

卫星主体要广播的交易数据和区块数据分别进行喷泉码编码再广播。

本发明实施例中优先级的值GB、GTN、GBN、ST和SB的大小可以根据实际的系统需要进行配置,也可以根据系统运行情况进行动态调整。

最后,再通过另外一个例子对本发明实施例的效果进行详细说明:

在一个具有2个网关节点,N个普通节点的卫星区块链系统,假设普通节点之间、普通节点和网关节点之间的平均传输延时为100ms,网关节点和卫星之间的传输时间为200ms。根据现有技术中给出的数据,采用传统的点对点广播的方案,从普通节点产生数据包到实现全网扩散平均时间为13s。本发明实施例中的方案需要的传输时间为100+100+200+200=600ms,本发明实施例中的总体传输时间只有传统方案的4.6%。

采用卫星的同时,由于有地面和卫星协同的重传机制,保证了交易和区块信息的可靠传输,在部分节点收不到广播数据的时候通过重传保证了数据的有效广播,兼顾效率和可靠性。假设D为每个区块中的交易数,T为广播一个区块需要的时间,则区块链系统的吞吐率可以用D/T来衡量。根据现有技术中的测试结果,对于传统的区块链系统,在D<20k时,增大D可以提高系统吞吐率。但是,当D足够大时,系统吞吐率趋于饱和,严重影响了区块链系统的实用性。本发明的区块传输方案中,D增大后只需要相应的提高传输的时频、功率等通信资源即可在一定范围内保持T不变,从而可以通过提高每次广播的交易量来大幅度提高区块链系统的吞吐率。

假设卫星广播的数据包丢失或者出错的概率是p,数据包大小为B比特。如果不采用卫星地面协同重传的策略,假设全部由地面重传,每个数据包带来的数据传输量为pBN。当用户数N较大时,重传数据量较大,容易造成网关节点的阻塞。如果全部由卫星重传,则卫星以概率p需要重传数据,降低了卫星广播效率。而采用本发明方案后,只有在有大量节点没有正确收到卫星广播的时候才通过卫星进行广播,并且可以根据实际卫星的带宽、数据传输量、实际传输信道特点进行动态调整重传参数,从而动态选择地面通信重传或卫星广播重传,提高地面通信和卫星广播整体的效率,实现高速可靠的全网数据同步。

图12为本发明实施例提供的星地协同区块链系统中的通信广播自适应融合装置示意图,如图12所示,本发明实施例提供一种星地协同区块链系统中的通信广播自适应融合装置,用于执行上述任一实施例中所述的方法,具体包括广播模块1201和判断模块1202,其中:

目标普通节点通过广播模块1201用于广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播所述目标数据,以供第一网关节点将所述目标数据发送到卫星,由所述卫星将所述目标数据进行全网广播;经过预设时间之后,若所述目标普通节点通过判断模块1202判断获知没有收到所述卫星广播的所述目标数据,则重新向所述第一网关节点发送所述目标数据,以供所述第一网关节点再次将所述目标数据发送到所述卫星,由所述卫星再次将所述目标数据进行全网广播。

本发明实施例提供一种星地协同区块链系统中的通信广播自适应融合装置,用于执行上述任一实施例中所述的方法,通过本实施例提供的装置执行上述某一实施例中所述的方法的具体步骤与上述相应实施例相同,此处不再赘述。

本发明实施例提供的星地协同区块链系统中的通信广播自适应融合装置,通过地面节点和卫星进行协同调度自适应重传广播,可以有效的利用卫星大范围广播的高效性和地面网络传输的灵活性,从而满足区块链系统对通信系统高速、可靠、全网同步的需求。

图13为本发明实施例提供的电子设备的结构示意图,如图13所示,所述设备包括:处理器1301、存储器1302和总线1303;

其中,处理器1301和存储器1302通过所述总线1303完成相互间的通信;

处理器1301用于调用存储器1302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:

目标普通节点广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播所述目标数据,以供第一网关节点将所述目标数据发送到卫星,由所述卫星将所述目标数据进行全网广播;

经过预设时间之后,若所述目标普通节点没有收到所述卫星广播的所述目标数据,则重新向所述第一网关节点发送所述目标数据,以供所述第一网关节点再次将所述目标数据发送到所述卫星,由所述卫星再次将所述目标数据进行全网广播。

本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:

目标普通节点广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播所述目标数据,以供第一网关节点将所述目标数据发送到卫星,由所述卫星将所述目标数据进行全网广播;

经过预设时间之后,若所述目标普通节点没有收到所述卫星广播的所述目标数据,则重新向所述第一网关节点发送所述目标数据,以供所述第一网关节点再次将所述目标数据发送到所述卫星,由所述卫星再次将所述目标数据进行全网广播。

本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:

目标普通节点广播自身产生的目标数据,并开始计时,以供第一邻居节点继续广播所述目标数据,以供第一网关节点将所述目标数据发送到卫星,由所述卫星将所述目标数据进行全网广播;

经过预设时间之后,若所述目标普通节点没有收到所述卫星广播的所述目标数据,则重新向所述第一网关节点发送所述目标数据,以供所述第一网关节点再次将所述目标数据发送到所述卫星,由所述卫星再次将所述目标数据进行全网广播。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

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

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号