基于区块链的区域热力图处理方法、装置和计算机设备转让专利

申请号 : CN202110490286.6

文献号 : CN112988878B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 娄帅

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请涉及一种基于区块链的区域热力图处理方法、装置、计算机设备和存储介质。所述方法包括:当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上报节点的祖先节点的共识节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状态;在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每级上报的上报节点的地理位置,用于指示共识节点按照上报到共识节点的节点信息中的地理位置统计得到区域热力图。方案可应用的领域包括但不限于地图、区域规划、智慧城市、智慧交通等领域。

权利要求 :

1.一种基于区块链的区域热力图处理方法,其特征在于,所述方法包括:当终端进入目标地理围栏后,所述终端作为节点加入到所述目标地理围栏所对应的区块链网络;所述区块链网络中的节点包括至少一级的上报节点以及作为所述上报节点的祖先节点的共识节点,所述上报节点通过所述共识节点定期逐级下发的心跳包维持在线状态;

在所述终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到所述共识节点;上报到所述共识节点的节点信息,携带有每级上报的上报节点的地理位置,用于指示所述共识节点按照所述上报到所述共识节点的节点信息中的地理位置统计得到区域热力图。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述终端是所述区块链网络中的共识节点、且所述区块链网络中的上报节点处于在线状态的情况下,获得所述区块链网络中的上报节点逐级上报的节点信息中每级上报的上报节点的地理位置;

触发按照所述每级上报的上报节点的地理位置,统计获得区域热力图。

3.根据权利要求2所述的方法,其特征在于,所述获得所述区块链网络中的上报节点逐级上报的节点信息中每级上报的上报节点的地理位置,包括:触发从所述终端作为共识节点所对应的第一上报节点逐级上报的节点信息中,提取得到所述第一上报节点的第一地理位置;

基于共识机制,获得所述区块链网络中除所述终端外的共识节点所对应的第二上报节点的第二地理位置;

结合所述第一地理位置和所述第二地理位置,得到所述区块链网络中上报节点的地理位置。

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于共识机制,获得所述区块链网络中除所述终端外的共识节点统计得到的校验区域热力图;

当所述区域热力图与所述校验区域热力图校验通过时,基于所述区域热力图和所述校验区域热力图,得到所述目标地理围栏对应的区域热力图。

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述终端是所述区块链网络中的共识节点、且满足智能合约执行条件时,触发定期广播与智能合约对应的心跳包;

所述定期广播与智能合约对应的心跳包,用于指示所述目标地理围栏中接收到所述心跳包的目标终端作为上报节点加入到所述区块链网络,并触发所述目标终端逐级下发所述心跳包维持在线状态。

6.根据权利要求1所述的方法,其特征在于,所述当终端进入目标地理围栏后,所述终端作为节点加入到所述目标地理围栏所对应的区块链网络,包括:当终端进入目标地理围栏、且接收到所述目标地理围栏所对应的区块链网络中的节点发送的心跳包时,所述终端作为接收的心跳包所对应节点的子节点加入到所述区块链网络中。

7.根据权利要求6所述的方法,其特征在于,所述终端接收的心跳包所对应的节点多于一个;所述终端作为接收的心跳包所对应节点的子节点加入到所述区块链网络中包括:所述终端按照接收的各心跳包的接收顺序,依次与接收的各心跳包所对应的节点进行节点注册;

当所述终端注册成功时,触发作为节点注册成功所对应目标节点的子节点加入到所述区块链网络中。

8.根据权利要求1所述的方法,其特征在于,所述上报到所述共识节点的节点信息,包括每级上报的上报节点的地理位置经过对称加密处理的地理位置密文,以及与所述地理位置密文对应的密钥经过非对称加密处理获得的密钥密文;

所述上报到所述共识节点的节点信息,还用于指示所述共识节点依次对所述密钥密文和所述地理位置密文进行解密后,按照解密获得的每级上报的上报节点的地理位置统计得到区域热力图。

9.根据权利要求1至8任意一项所述的方法,其特征在于,所述方法还包括:在所述终端处于所述目标地理围栏内、且触发共识节点更新的情况下,触发基于共识算法进行共识节点申请;

当共识节点申请成功时,所述终端更新为所述区块链网络中的共识节点。

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:当满足共识节点更新条件时,触发共识节点更新;所述共识节点更新条件包括共识节点更新周期、共识节点离线和区域热力图校验未通过中的至少一项。

11.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述终端的子节点处于所述目标地理围栏外,且所述终端的子节点处于离线状态的情况下,触发终止向所述子节点下发所述共识节点定期逐级下发的心跳包。

12.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述终端的父节点处于所述目标地理围栏外,且所述终端的父节点处于离线状态的情况下,触发根据接收的所述共识节点定期逐级下发的心跳包,更新所述终端作为节点在所述区块链网络中的节点关系。

13.根据权利要求1所述的方法,其特征在于,所述方法还包括:在终端进入所述目标地理围栏、且所述终端作为节点加入到所述区块链网络失败的情况下,触发将所述终端的终端地理位置发送至服务器;

所述终端地理位置,用于指示所述服务器基于所述终端地理位置对所述共识节点统计得到的区域热力图进行更新,获得更新后的区域热力图。

14.根据权利要求3所述的方法,其特征在于,所述节点信息包括每级上报的第一上报节点的地理位置经过对称加密处理的地理位置密文,以及与所述地理位置密文对应的密钥经过非对称加密处理获得的密钥密文;

所述触发从所述终端作为共识节点所对应的第一上报节点逐级上报的节点信息中,提取得到所述第一上报节点的第一地理位置,包括:基于所述密钥密文对应的私钥对所述密钥密文进行解密,得到所述地理位置密文对应的密钥;

通过所述密钥对所述地理位置密文进行解密,得到所述第一上报节点的第一地理位置。

15.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述终端是所述区块链网络中的共识节点的情况下,触发将统计得到的区域热力图发送至服务器;所述区域热力图用于指示所述服务器将所述区域热力图发送至展示端进行展示。

16.一种区域热力图展示方法,其特征在于,所述方法包括:显示电子地图的地图页面;

响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;

在所述热力图显示模式下,在所述地图页面中标记目标地理围栏的地图区域内,显示所述目标地理围栏所对应的动态更新的区域热力图;

所述区域热力图,是所述目标地理围栏所对应的区块链网络中的共识节点按照上报到所述共识节点的节点信息中的地理位置统计得到的,所述上报到所述共识节点的节点信息,携带有每级上报的上报节点的地理位置;所述上报到所述共识节点的节点信息,是通过进入到所述目标地理围栏的终端作为节点加入到所述区块链网络后,在所述终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到所述共识节点的;所述区块链网络中的节点包括至少一级的上报节点以及作为所述上报节点的祖先节点的所述共识节点,所述上报节点通过所述共识节点定期逐级下发的心跳包维持在线状态。

17.根据权利要求16所述的方法,其特征在于,所述显示所述目标地理围栏所对应的动态更新的区域热力图包括:

通过不同的标记色表示所述目标地理围栏所对应的动态更新的区域热力图中的热力密度;

所述方法还包括:

响应于对所述区域热力图触发的缩放操作,显示通过所述缩放操作对所述区域热力图进行缩放处理后的区域热力图;

通过更新后的标记色表示所述缩放处理后的区域热力图中的热力密度。

18.一种基于区块链的区域热力图处理装置,其特征在于,所述装置包括:节点加入模块,用于当终端进入目标地理围栏后,所述终端作为节点加入到所述目标地理围栏所对应的区块链网络;所述区块链网络中的节点包括至少一级的上报节点以及作为所述上报节点的祖先节点的共识节点,所述上报节点通过所述共识节点定期逐级下发的心跳包维持在线状态;

位置上报模块,用于在所述终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到所述共识节点;上报到所述共识节点的节点信息,携带有每级上报的上报节点的地理位置,用于指示所述共识节点按照所述上报到所述共识节点的节点信息中的地理位置统计得到区域热力图。

19.根据权利要求18所述的装置,其特征在于,所述装置还包括:热力图统计模块,用于在所述终端是所述区块链网络中的共识节点、且所述区块链网络中的上报节点处于在线状态的情况下,获得所述区块链网络中的上报节点逐级上报的节点信息中每级上报的上报节点的地理位置;触发按照所述每级上报的上报节点的地理位置,统计获得区域热力图。

20.根据权利要求19所述的装置,其特征在于,所述热力图统计模块包括:第一位置提取模块,用于触发从所述终端作为共识节点所对应的第一上报节点逐级上报的节点信息中,提取得到所述第一上报节点的第一地理位置;

第二位置获取模块,用于基于共识机制,获得所述区块链网络中除所述终端外的共识节点所对应的第二上报节点的第二地理位置;

位置融合模块,用于结合所述第一地理位置和所述第二地理位置,得到所述区块链网络中上报节点的地理位置。

21.根据权利要求19所述的装置,其特征在于,所述装置还包括:热力图共识模块,用于基于共识机制,获得所述区块链网络中除所述终端外的共识节点统计得到的校验区域热力图;

热力图确定模块,用于当所述区域热力图与所述校验区域热力图校验通过时,基于所述区域热力图和所述校验区域热力图,得到所述目标地理围栏对应的区域热力图。

22.根据权利要求19所述的装置,其特征在于,所述装置还包括:智能合约处理模块,用于在所述终端是所述区块链网络中的共识节点、且满足智能合约执行条件时,触发定期广播与智能合约对应的心跳包;所述定期广播与智能合约对应的心跳包,用于指示所述目标地理围栏中接收到所述心跳包的目标终端作为上报节点加入到所述区块链网络,并触发所述目标终端逐级下发所述心跳包维持在线状态。

23.根据权利要求18所述的装置,其特征在于,所述节点加入模块,还用于当终端进入目标地理围栏、且接收到所述目标地理围栏所对应的区块链网络中的节点发送的心跳包时,所述终端作为接收的心跳包所对应节点的子节点加入到所述区块链网络中。

24.根据权利要求23所述的装置,其特征在于,所述终端接收的心跳包所对应的节点多于一个;

所述节点加入模块,还用于所述终端按照接收的各心跳包的接收顺序,依次与接收的各心跳包所对应的节点进行节点注册;当所述终端注册成功时,触发作为节点注册成功所对应目标节点的子节点加入到所述区块链网络中。

25.根据权利要求18所述的装置,其特征在于,所述上报到所述共识节点的节点信息,包括每级上报的上报节点的地理位置经过对称加密处理的地理位置密文,以及与所述地理位置密文对应的密钥经过非对称加密处理获得的密钥密文;

所述上报到所述共识节点的节点信息,还用于指示所述共识节点依次对所述密钥密文和所述地理位置密文进行解密后,按照解密获得的每级上报的上报节点的地理位置统计得到区域热力图。

26.根据权利要求18至25任意一项所述的装置,其特征在于,所述装置还包括:共识节点更新模块,用于在所述终端处于所述目标地理围栏内、且触发共识节点更新的情况下,触发基于共识算法进行共识节点申请;当共识节点申请成功时,所述终端更新为所述区块链网络中的共识节点。

27.根据权利要求26所述的装置,其特征在于,所述装置还包括:共识节点更新触发模块,用于当满足共识节点更新条件时,触发共识节点更新;所述共识节点更新条件包括共识节点更新周期、共识节点离线和区域热力图校验未通过中的至少一项。

28.根据权利要求18所述的装置,其特征在于,所述装置还包括:子节点舍弃模块,用于在所述终端的子节点处于所述目标地理围栏外,且所述终端的子节点处于离线状态的情况下,触发终止向所述子节点下发所述共识节点定期逐级下发的心跳包。

29.根据权利要求18所述的装置,其特征在于,所述装置还包括:节点关系更新模块,用于在所述终端的父节点处于所述目标地理围栏外,且所述终端的父节点处于离线状态的情况下,触发根据接收的所述共识节点定期逐级下发的心跳包,更新所述终端作为节点在所述区块链网络中的节点关系。

30.根据权利要求18所述的装置,其特征在于,所述装置还包括:孤立节点处理模块,用于在终端进入所述目标地理围栏、且所述终端作为节点加入到所述区块链网络失败的情况下,触发将所述终端的终端地理位置发送至服务器;

所述终端地理位置,用于指示所述服务器基于所述终端地理位置对所述共识节点统计得到的区域热力图进行更新,获得更新后的区域热力图。

31.根据权利要求20所述的装置,其特征在于,所述节点信息包括每级上报的第一上报节点的地理位置经过对称加密处理的地理位置密文,以及与所述地理位置密文对应的密钥经过非对称加密处理获得的密钥密文;

所述第一位置提取模块包括:

密钥解密模块,用于基于所述密钥密文对应的私钥对所述密钥密文进行解密,得到所述地理位置密文对应的密钥;

位置解密模块,用于通过所述密钥对所述地理位置密文进行解密,得到所述第一上报节点的第一地理位置。

32.根据权利要求18所述的装置,其特征在于,所述装置还包括:热力图存证模块,用于在所述终端是所述区块链网络中的共识节点的情况下,触发将统计得到的区域热力图发送至服务器;所述区域热力图用于指示所述服务器将所述区域热力图发送至展示端进行展示。

33.一种区域热力图展示装置,其特征在于,所述装置包括:地图页面显示模块,用于显示电子地图的地图页面;

热力图模式响应模块,用于响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;

热力图显示模块,用于在所述热力图显示模式下,在所述地图页面中标记目标地理围栏的地图区域内,显示所述目标地理围栏所对应的动态更新的区域热力图;

所述区域热力图,是所述目标地理围栏所对应的区块链网络中的共识节点按照上报到所述共识节点的节点信息中的地理位置统计得到的,所述上报到所述共识节点的节点信息,携带有每级上报的上报节点的地理位置;所述上报到所述共识节点的节点信息,是通过进入到所述目标地理围栏的终端作为节点加入到所述区块链网络后,在所述终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到所述共识节点的;所述区块链网络中的节点包括至少一级的上报节点以及作为所述上报节点的祖先节点的所述共识节点,所述上报节点通过所述共识节点定期逐级下发的心跳包维持在线状态。

34.根据权利要求33所述的装置,其特征在于,所述热力图显示模块,还用于通过不同的标记色表示所述目标地理围栏所对应的动态更新的区域热力图中的热力密度;

所述装置还包括:

缩放显示模块,用于响应于对所述区域热力图触发的缩放操作,显示通过所述缩放操作对所述区域热力图进行缩放处理后的区域热力图;通过更新后的标记色表示所述缩放处理后的区域热力图中的热力密度。

35.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至17中任一项所述的方法的步骤。

36.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至17中任一项所述的方法的步骤。

说明书 :

基于区块链的区域热力图处理方法、装置和计算机设备

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种基于区块链的区域热力图处理方法、装置、计算机设备和存储介质,以及一种区域热力图展示方法、装置、计算机设备和存储
介质。

背景技术

[0002] 随着计算机技术的发展,通过密度函数进行可视化用于表示地图中各位置点的密度的热力图得到了越来越广泛的应用,如可以通过区域的热力图直观表现区域中的人流
量,以便进行路线规划。在生成热力图时,一般通过采集区域中各终端的位置数据,如通过
移动基站对区域内各终端进行定位,再基于获得的位置数据生成相应的热力图。
[0003] 然而,各终端的位置数据的采集频率较低,且各终端在区域中的位置变化快,导致采集的位置数据存在延迟,使得根据采集的位置数据处理的热力图的实时性较低。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提高区域热力图实时性的基于区块链的区域热力图处理方法、装置、计算机设备和存储介质,以及一种区域热力图展示方
法、装置、计算机设备和存储介质。
[0005] 一种基于区块链的区域热力图处理方法,所述方法包括:
[0006] 当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上报节点的祖先节点的共识
节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状态;
[0007] 在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每级上报的上报节点的地
理位置,用于指示共识节点按照上报到共识节点的节点信息中的地理位置统计得到区域热
力图。
[0008] 在其中一个实施例中,基于区块链的区域热力图处理方法还包括:
[0009] 在终端的子节点处于目标地理围栏外,且终端的子节点处于离线状态的情况下,触发终止向子节点下发共识节点定期逐级下发的心跳包。
[0010] 在其中一个实施例中,基于区块链的区域热力图处理方法还包括:
[0011] 在终端的父节点处于目标地理围栏外,且终端的父节点处于离线状态的情况下,触发根据接收的共识节点定期逐级下发的心跳包,更新终端作为节点在区块链网络中的节
点关系。
[0012] 在其中一个实施例中,基于区块链的区域热力图处理方法还包括:
[0013] 在终端进入目标地理围栏、且终端作为节点加入到区块链网络失败的情况下,触发将终端的终端地理位置发送至服务器;
[0014] 终端地理位置,用于指示服务器基于终端地理位置对共识节点统计得到的区域热力图进行更新,获得更新后的区域热力图。
[0015] 在其中一个实施例中,节点信息包括每级上报的第一上报节点的地理位置经过对称加密处理的地理位置密文,以及与地理位置密文对应的密钥经过非对称加密处理获得的
密钥密文;
[0016] 触发从终端作为共识节点所对应的第一上报节点逐级上报的节点信息中,提取得到第一上报节点的第一地理位置,包括:
[0017] 基于密钥密文对应的私钥对密钥密文进行解密,得到地理位置密文对应的密钥;
[0018] 通过密钥对地理位置密文进行解密,得到第一上报节点的第一地理位置。
[0019] 在其中一个实施例中,基于区块链的区域热力图处理方法还包括:
[0020] 在终端是区块链网络中的共识节点的情况下,触发将统计得到的区域热力图发送至服务器;区域热力图用于指示服务器将区域热力图发送至展示端进行展示。
[0021] 一种基于区块链的区域热力图处理装置,所述装置包括:
[0022] 节点加入模块,用于当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上报节
点的祖先节点的共识节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状态;
[0023] 位置上报模块,用于在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每级
上报的上报节点的地理位置,用于指示共识节点按照上报到共识节点的节点信息中的地理
位置统计得到区域热力图。
[0024] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0025] 当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上报节点的祖先节点的共识
节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状态;
[0026] 在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每级上报的上报节点的地
理位置,用于指示共识节点按照上报到共识节点的节点信息中的地理位置统计得到区域热
力图。
[0027] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0028] 当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上报节点的祖先节点的共识
节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状态;
[0029] 在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每级上报的上报节点的地
理位置,用于指示共识节点按照上报到共识节点的节点信息中的地理位置统计得到区域热
力图。
[0030] 上述基于区块链的区域热力图处理方法、装置、计算机设备和存储介质,在终端进入目标地理围栏后作为节点加入对应的区块链网络,在终端是作为叶子节点的上报节点,
并通过区块链网络中共识节点定期逐级下发的心跳包维持在线状态时,触发逐级上报节点
信息直至上报至共识节点,以由共识节点根据获得的节点信息中每级上报的上报节点的地
理位置统计得到区域热力图。在区域热力图处理过程中,由处于目标地理围栏的终端作为
节点加入区块链网络,并通过共识节点定期逐级下发心跳包维持在线状态,由作为叶子节
点的上报节点触发逐级上报地理位置直至共识节点,以指示共识节点统计得到区域热力
图,从而通过构建的目标地理围栏对应区块链网络的上报节点进行地理位置逐级上报,由
共识节点进行区域热力图处理,可以降低获取地理位置数据的延迟,提高了区域热力图的
实时性。
[0031] 一种区域热力图展示方法,所述方法包括:
[0032] 显示电子地图的地图页面;
[0033] 响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;
[0034] 在热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图;
[0035] 区域热力图,是对目标地理围栏所对应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得到的,节点包括进入到目标地理围栏并通过心
跳包维持在区块链网络中在线状态的终端。
[0036] 在其中一个实施例中,显示目标地理围栏所对应的动态更新的区域热力图包括:
[0037] 通过不同的标记色表示目标地理围栏所对应的动态更新的区域热力图中的热力密度;
[0038] 区域热力图展示方法还包括:
[0039] 响应于对区域热力图触发的缩放操作,显示通过缩放操作对区域热力图进行缩放处理后的区域热力图;
[0040] 通过更新后的标记色表示缩放处理后的区域热力图中的热力密度。
[0041] 一种区域热力图展示装置,所述装置包括:
[0042] 地图页面显示模块,用于显示电子地图的地图页面;
[0043] 热力图模式响应模块,用于响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;
[0044] 热力图显示模块,用于在热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图;
[0045] 区域热力图,是对目标地理围栏所对应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得到的,节点包括进入到目标地理围栏并通过心
跳包维持在区块链网络中在线状态的终端。
[0046] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0047] 显示电子地图的地图页面;
[0048] 响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;
[0049] 在热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图;
[0050] 区域热力图,是对目标地理围栏所对应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得到的,节点包括进入到目标地理围栏并通过心
跳包维持在区块链网络中在线状态的终端。
[0051] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0052] 显示电子地图的地图页面;
[0053] 响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;
[0054] 在热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图;
[0055] 区域热力图,是对目标地理围栏所对应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得到的,节点包括进入到目标地理围栏并通过心
跳包维持在区块链网络中在线状态的终端。
[0056] 上述区域热力图展示方法、装置、计算机设备和存储介质,响应于针对目标地理围栏的热力图显示触发操作,在电子地图对应热力图显示模式下,在地图页面中标记目标地
理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图,区域热力图由
对目标地理围栏所对应区块链网络中,通过心跳包维持在线状态的节点基于区块链网络的
共识机制上报的地理位置统计得到,从而区域热力图对应的地理位置数据的延迟较低,提
高了展示的区域热力图的实时性。

附图说明

[0057] 图1为一个实施例中基于区块链的区域热力图处理方法的应用环境图;
[0058] 图2为一个实施例中基于区块链的区域热力图处理方法的流程示意图;
[0059] 图3为一个实施例中终端加入区块链网络的示意图;
[0060] 图4为另一个实施例中终端逐级上报节点信息的示意图;
[0061] 图5为一个实施例中终端接收逐级上报的节点信息的示意图;
[0062] 图6为一个实施例中获得地理位置的流程示意图;
[0063] 图7为一个实施例中区域热力图展示方法的流程示意图;
[0064] 图8为一个实施例中公园区域热力图的界面示意图;
[0065] 图9为一个实施例中缩放处理前后区域热力图的界面变化示意图;
[0066] 图10为另一个实施例中基于区块链的区域热力图处理方法的应用环境图;
[0067] 图11为图10示实施例中基于区块链的区域热力图处理方法的流程示意图;
[0068] 图12为一个实施例中区域热力图的界面示意图;
[0069] 图13为一个实施例中基于区块链的区域热力图处理装置的结构框图;
[0070] 图14为一个实施例中区域热力图展示装置的结构框图;
[0071] 图15为一个实施例中计算机设备的内部结构图。

具体实施方式

[0072] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不
用于限定本申请。
[0073] 本申请提供的基于区块链的区域热力图处理方法,可以应用于如图1所示的应用环境中。其中,区块链网络中的节点包括至少一级的上报节点104以及作为上报节点104的
祖先节点的共识节点106,上报节点104通过共识节点106定期逐级下发的心跳包维持在线
状态;共识节点106通过网络与服务器108进行通信,上报节点104和终端102也可以通过网
络与服务器108进行通信。在终端102进入目标地理围栏后作为节点加入对应的区块链网
络,在终端102是作为叶子节点的上报节点104,并通过区块链网络中共识节点106定期逐级
下发的心跳包维持在线状态时,触发逐级上报节点信息直至上报至共识节点106,以由共识
节点106根据获得的节点信息中每级上报的上报节点104的地理位置统计得到区域热力图。
共识节点106计算得到的区域热力图可以发送至服务器108,终端102和上报节点104可以向
服务器108获取得到的区域热力图进行展示。
[0074] 本申请提供的区域热力图展示方法,可以应用于如图1所示的应用环境中。终端102可以响应于针对目标地理围栏的热力图显示触发操作,在电子地图对应热力图显示模
式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更
新的区域热力图,区域热力图由终端102向服务器108请求获得,区域热力图由对目标地理
围栏所对应区块链网络中,通过心跳包维持在线状态的节点基于区块链网络的共识机制上
报的地理位置统计得到。
[0075] 其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、车载设备和便携式可穿戴设备;上报节点102和共识节点106可以为接入区块链网络中
的任意形式的计算机设备,如各种个人计算机、笔记本电脑、智能手机、平板电脑、车载设备
和便携式可穿戴设备等终端设备或服务器;服务器108可以用独立的服务器或者是多个服
务器组成的服务器集群来实现。
[0076] 本申请提供的区域热力图处理方法涉及区块链技术,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本
质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据
块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
[0077] 区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账
户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授
权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);
基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求
完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处
理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传
输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合
约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约
注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提
供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合
约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控
节点设备健康状态等。
[0078] 平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的
应用服务给业务参与方进行使用。
[0079] 在一个实施例中,如图2所示,提供了一种基于区块链的区域热力图处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0080] 步骤202,当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上报节点的祖先节
点的共识节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状态。
[0081] 其中,热力图是一种表现数据强弱大小及分布趋势的可视化类型,可以应用于人口密度分析、活跃度分析等。例如,对于城市热力图,可以对城市的人口分布进行分析,热力
图可以通过不同颜色标记人口密度,颜色越深表明人群流量越高。区域热力图为针对某一
区域的人群流量进行统计获得的热力图,用以对该区域中的人群分布进行分析。
[0082] 目标地理围栏指需要统计对应热力图的区域,具体可以为景区、商场、学校、医院、机场或车站等各种不同的场景区域。目标地理围栏根据实际需要进行设定,具体根据需要
分析人群密度的区域确定对应的目标地理围栏。确定目标地理围栏后,构建目标地理围栏
对应的区块链网络,区块链网络中的节点可以为位置处于目标地理围栏中的计算机设备,
如可以为目标地理围栏中的终端设备等。
[0083] 区块链网络中的节点包括至少一级的上报节点以及作为上报节点的祖先节点的共识节点,上报节点可以向上一级的节点,即向父节点逐级上报地理位置,直至上报至共识
节点,共识节点根据各级上报节点的地理位置可以统计得到区域热力图。在区块链网络中,
由父节点向子节点发送心跳包,由子节点向父节点上报地理位置,从而可以根据心跳包的
收发关系构建各节点之间的父子关系。上报节点通过共识节点定期逐级下发的心跳包维持
在线状态,从而确保区块链网络中的上报节点可以进行地理位置上报。在具体实现时,共识
节点可以通过在目标地理围栏范围内广播心跳包,使接收到心跳包的设备作为节点加入区
块链网络中,并继续广播心跳包,从而实现心跳包在目标地理围栏中的扩散,并使各节点形
成通过共识节点定期逐级下发的心跳包维持在线状态的拓扑结构。在一个具体应用中,区
块链网络中的各节点之间可以根据心跳包的发送接收关系,形成DAG(有向无环图,
Directed Acyclic Graph)拓扑结构,从而实现区块链网络中各节点的管理。
[0084] 具体地,终端在移动过程中,若终端进入目标地理围栏,则终端作为目标地理围栏范围内的计算机设备,在统计目标地理围栏的区域热力图时需要将该终端加入统计,则触
发终端作为节点加入到目标地理围栏所对应的区块链网络,从而使终端接入区块链网络,
以通过区块链网络中的各节点进行地理位置上报,从而实现目标地理围栏的区域热力图处
理。在一个具体应用中,如图3所示,在目标地理围栏对应的区块链网络中,包括共识节点A、
B和C,共识节点A的子节点包括3级上报节点a1、a2和a3,共识节点B的子节点包括1级上报节
点b1,共识节点C的子节点包括1级上报节点c1,共识节点A、B和C分别通过定期逐级下发心
跳包以维持相应上报节点的在线状态。终端S在进入目标地理围栏时,终端S作为节点加入
到目标地理围栏所对应的区块链网络中,如终端S作为上报节点a3的子节点加入区块链网
络中,终端S可以从上报节点a3接收共识节点A定期逐级下发的心跳包维持在线状态。
[0085] 步骤204,在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每级上报的上报
节点的地理位置,用于指示共识节点按照上报到共识节点的节点信息中的地理位置统计得
到区域热力图。
[0086] 其中,叶子节点指区块链网络中处于末级的上报节点,即叶子节点不存在对应的子节点,叶子节点不向其他节点发送共识节点定期逐级下发的心跳包。当区块链网络中的
上报节点均可以接收到共识节点定期逐级下发的心跳包,则可以保持区块链网络中的各节
点间的通信,即上报节点处于在线状态。节点信息携带每级上报的上报节点的地理位置,地
理位置可以为上报节点对应计算机设备的位置坐标。
[0087] 具体地,终端是作为叶子节点的上报节点并处于在线状态的情况下,则终端触发逐级上报节点信息,直至上报到共识节点,具体可以由终端将携带地理位置的节点信息上
报至父节点,父节点接收到节点信息后,将该父节点的地理位置添加至节点信息后,将更新
后的节点信息继续向父节点上报,直至上报至共识节点。共识节点可以按照上报到共识节
点的节点信息中的地理位置统计得到区域热力图,如可以对节点信息中的地理位置进行热
力分布计算,从而得到目标地理围栏对应的区域热力图。在具体实现时,目标地理围栏对应
区块链网络中的各共识节点可以基于共识机制对地理位置进行共识,从而获得目标地理围
栏中各节点的位置数据,进一步计算获得目标地理围栏对应的区域热力图。
[0088] 通过区块链网络中处于在线状态且作为叶子节点的上报节点触发逐级上报节点信息,直至上报至共识节点,从而使共识获得携带有每级上报的上报节点的地理位置的节
点信息,以便共识节点基于各节点的地理位置统计得到目标地理围栏对应的区域热力图,
可以通过目标地理围栏中的共识节点实现热力图分布式处理,各节点的地理位置采集的延
迟低,提高了区域热力图处理的实时性。
[0089] 在一个具体应用中,如图4所示,终端S作为叶子节点的上报节点,在终端S处于在线状态时,触发逐级上报携带有每级上报的上报节点的地理位置的节点信息直至上报至共
识节点A,共识节点A、B和C可以基于共识的地理位置统计得到目标地理围栏对应的区域热
力图,从而实现目标地理围栏的区域热力图的实时处理。
[0090] 上述基于区块链的区域热力图处理方法中,在终端进入目标地理围栏后作为节点加入对应的区块链网络,在终端是作为叶子节点的上报节点,并通过区块链网络中共识节
点定期逐级下发的心跳包维持在线状态时,触发逐级上报节点信息直至上报至共识节点,
以由共识节点根据获得的节点信息中每级上报的上报节点的地理位置统计得到区域热力
图。在区域热力图处理过程中,由处于目标地理围栏的终端作为节点加入区块链网络,并通
过共识节点定期逐级下发心跳包维持在线状态,由作为叶子节点的上报节点触发逐级上报
地理位置直至共识节点,以指示共识节点统计得到区域热力图,从而通过构建的目标地理
围栏对应区块链网络的上报节点进行地理位置逐级上报,由共识节点进行区域热力图处
理,可以降低获取地理位置数据的延迟,提高了区域热力图的实时性。
[0091] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端是区块链网络中的共识节点、且区块链网络中的上报节点处于在线状态的情况下,获得区块链网络中
的上报节点逐级上报的节点信息中每级上报的上报节点的地理位置;触发按照每级上报的
上报节点的地理位置,统计获得区域热力图。
[0092] 其中,终端作为节点加入目标地理围栏对应的区块链网络中,终端的节点身份可以为上报节点或共识节点,终端的节点身份可以根据区块链网络的共识节点更新机制进行
更新。在终端作为区块链网络中的上报节点时,则终端需要逐级上报节点信息直至上报至
共识节点,以由共识节点根据获得的节点信息进行区域热力图处理。在终端作为区块链网
络中的共识节点时,则需要终端通过定期逐级下发心跳包以维持各上报节点的在线状态,
并根据接收到的上报节点通过逐级上报的节点信息中的地理位置统计得到相应的区域热
力图。
[0093] 具体地,在终端是区块链网络中的共识节点、且区块链网络中的上报节点处于在线状态的情况下,表明区块链网络中的各上报节点可以正常上报节点信息,终端需要接收
上报的节点信息进行区域热力图处理。终端获得区块链网络中的上报节点逐级上报的节点
信息中每级上报的上报节点的地理位置,具体可以由终端从逐级上报的节点信息中提取得
到每级上报的上报节点的地理位置。终端按照每级上报的上报节点的地理位置进行统计处
理,得到目标地理围栏对应的区域热力图。
[0094] 在具体实现时,终端接收的上报的节点信息仅包括以终端作为祖先节点的各上报节点的地理位置,则终端需要基于共识机制获得区块链网络中其他共识节点的节点信息中
的地理位置,从而得到目标地理围栏中所有节点的地理位置,并根据目标地理围栏中所有
节点的地理位置统计得到区域热力图。此外,在各上报节点触发逐级上报节点信息时,各上
报节点可以对地理位置进行加密处理后得到节点信息,并将地理位置经过加密后得到的节
点信息进行逐级上报,共识节点接收到节点信息后,对节点信息进行解密处理从而获得各
上报节点对应的地理位置,以进行区域热力图处理。
[0095] 在一个具体应用中,如图5所示,终端S作为目标地理围栏对应的区块链网络中的共识节点,且区块链网络中的上报节点处于在线状态,终端S接收区块链网络中的上报节
点,包括上报节点a1‑a7逐级上报的节点信息中每级上报的上报节点的地理位置,并根据每
级上报的上报节点的地理位置统计获得目标地理围栏的区域热力图。
[0096] 本实施例中,在终端作为区块链网络中的共识节点,且各上报节点处于在线状态时,终端按照逐级上报的节点信息中每级上报的上报节点的地理位置统计获得区域热力
图,通过构建的目标地理围栏对应区块链网络的上报节点进行地理位置逐级上报,通过目
标地理围栏中的共识节点实现热力图分布式处理,各节点的地理位置采集的延迟低,提高
了区域热力图的实时性。
[0097] 在一个实施例中,如图6所示,获得地理位置的处理,即获得区块链网络中的上报节点逐级上报的节点信息中每级上报的上报节点的地理位置,包括:
[0098] 步骤602,触发从终端作为共识节点所对应的第一上报节点逐级上报的节点信息中,提取得到第一上报节点的第一地理位置。
[0099] 其中,第一上报节点指区块链网络中以终端作为祖先节点的上报节点。区块链网络中可以有多个共识节点,各共识节点分别在目标地理围栏中广播扩散心跳包,从而构建
各共识节点对应的节点链,如可以构建各共识节点分别对应的DAG拓扑结构。在图论中,如
果一个有向图从任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图。
有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成
树,但任何有向树均为有向无环图。不同的共识节点可以形成不同的DAG拓扑结构。第一上
报节点即为终端作为共识节点构建的DAG拓扑结构中的上报节点,第一上报节点均以终端
为祖先节点。第一地理位置为第一上报节点对应的地理位置。
[0100] 具体地,终端是区块链网络中的共识节点时,终端可以接收到以终端作为祖先节点的各上报节点逐级上报的节点信息,即获得第一上报节点逐级上报的节点信息,终端从
第一上报节点逐级上报的节点信息中,提取得到第一上报节点对应的第一地理位置。在具
体实现时,若第一上报节点上报的节点信息为第一地理位置经过加密处理的密文数据,则
可以对节点信息进行解密处理,从而从节点信息中获得第一上报节点的第一地理位置。
[0101] 步骤604,基于共识机制,获得区块链网络中除终端外的共识节点所对应的第二上报节点的第二地理位置。
[0102] 其中,共识机制是区块链必要元素及核心部分,是保障区块链系统不断运行的关键。区块链网络中没有中心化机构,在进行传输信息、价值转移时,基于共识机制可以解决
并保证每一笔交易在所有记帐节点上的一致性和正确性问题,在本实施例中,基于共识机
制可以对各共识节点的数据进行共识,从而实现地理位置的安全传输。第二上报节点为区
块链网络中除终端外的共识节点对应的节点链中的上报节点,即第二上报节点的祖先节点
不为终端,而是区块链网络中除终端外的共识节点。第二地理位置为第二上报节点对应的
地理位置,第二地理位置可以由第二上报节点相应作为祖先节点的共识节点从接收到的节
点信息中提取得到。
[0103] 具体地,除终端外,区块链网络中的其他共识节点分别接收相应第二上报节点逐级上报的节点信息,并从接收的节点信息中提取得到第二上报节点对应的第二地理位置。
基于共识机制,区块链网络中的各共识节点将获得的位置数据进行共识,从而使各共识节
点均获得所有的地理位置。对终端而言,基于共识机制将第一上报节点的第一地理位置共
识至其他共识节点,同时获得其他共识节点所对应的第二上报节点的第二地理位置。
[0104] 步骤606,结合第一地理位置和第二地理位置,得到区块链网络中上报节点的地理位置。
[0105] 具体地,终端获得第一地理位置和第二地理位置后,基于第一地理位置和第二地理位置得到区块链网络中上报节点的地理位置。在具体实现时,终端可以直接将第一地理
位置和第二地理位置进行融合,得到区块链网络中上报节点的地理位置。此外,终端也可以
在融合第一地理位置和第二地理位置后,对融合的地理位置进行去重处理、异常分析等,从
而从融合的地理位置中去除无效的位置数据,得到区块链网络中上报节点的地理位置。区
块链网络中上报节点的地理位置包括区块链网络中每级上报的上报节点的地理位置,基于
区块链网络中上报节点的地理位置可以统计获得目标地理围栏的区域热力图。
[0106] 本实施例中,基于共识机制,将区块链网络中各共识节点通过逐级上报的节点信息获取的地理位置进行共识后融合,得到区块链网络中各上报节点的地理位置,从而可以
通过目标地理围栏中的共识节点实现热力图分布式处理,各节点的地理位置采集的延迟
低,提高了区域热力图的实时性。
[0107] 在一个实施例中,基于区块链的区域热力图处理方法还包括:基于共识机制,获得区块链网络中除终端外的共识节点统计得到的校验区域热力图;当区域热力图与校验区域
热力图校验通过时,基于区域热力图和校验区域热力图,得到目标地理围栏对应的区域热
力图。
[0108] 其中,校验区域热力图为区块链网络中除终端外的其他共识节点基于每级上报的上报节点的地理位置统计得到的区域热力图,可以用于对终端统计得到的区域热力图进行
校验,从而验证区域热力图的可信程度。
[0109] 具体地,终端在触发按照每级上报的上报节点的地理位置,统计获得区域热力图后,可以基于共识机制获得区块链网络中其他共识节点统计得到的校验区域热力图。基于
共识机制,可以将区块链网络中各共识节点分别统计的区域热力图进行共识,并对各共识
节点分别统计的区域热力图分别进行校验,以验证区域热力图的可信程度。终端确定区域
热力图与校验区域热力图校验通过时,表明统计得到的区域热力图可信程度高,则终端基
于区域热力图和校验区域热力图得到目标地理围栏对应的区域热力图。例如,终端可以将
区域热力图和校验区域热力图进行加权融合,获得目标地理围栏对应的区域热力图。
[0110] 在具体实现时,终端基于共识机制区块链网络中除终端外的共识节点统计得到的校验区域热力图,同时终端统计得到的区域热力图也共识至其他共识节点。区块链网络中
的各共识节点可以分别基于获得的区域热力图进行校验,如可以计算区域热力图与校验区
域热力图之间的相似度,根据相似度与相似度阈值的比较结果,得到区域热力图与校验区
域热力图的校验结果,如相似度大于相似度阈值,如相似度大于98%时,可以认为区域热力
图与校验区域热力图的相似程度高,则校验结果为校验通过。
[0111] 此外,在区域热力图与校验区域热力图校验不通过时,表明区域热力图与校验区域热力图之间的相似程度低,区域热力图与校验区域热力图的差异大,当前统计的区域热
力图的可信程度低,则可以触发共识节点更新,以在区块链网络中重新选取共识节点进行
区域热力图处理,直至获得可信程度高的区域热力图。
[0112] 本实施例中,通过区块链网络中各共识节点分别统计得到的区域热力图进行校验,可以有效确保目标地理围栏对应的区域热力图的准确度。
[0113] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端是区块链网络中的共识节点、且满足智能合约执行条件时,触发定期广播与智能合约对应的心跳包;定
期广播与智能合约对应的心跳包,用于指示目标地理围栏中接收到心跳包的目标终端作为
上报节点加入到区块链网络,并触发目标终端逐级下发心跳包维持在线状态。
[0114] 其中,智能合约执行条件为触发执行智能合约的条件,智能合约执行条件可以根据实际需要进行设置,如可以为接收到触发执行指令时认为满足智能合约执行条件。智能
合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,智能合约允许在没有
第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约包含了有关交易的
所有信息,只有在满足要求后才会执行结果操作。即在满足预设的智能合约执行条件时,触
发执行智能合约,具体为定期广播心跳包,以通过心跳包将接收到心跳包的终端作为节点
加入区块链网络中,以共识节点作为祖先节点构建节点链,并通过心跳包维持各节点的在
线状态,以便各节点上报相应的节点信息进行区域热力图处理。
[0115] 具体地,终端是区块链网络中的共识节点时,若满足智能合约执行条件,如终端接收到服务器下发的智能合约参数,具体可以为服务器下发目标地理围栏的范围参数,终端
接收到智能合约参数时,认为满足智能合约执行条件,触发执行智能合约,终端生成与智能
合约对应的心跳包,并在目标地理围栏内定期广播该心跳包。与智能合约对应的心跳包指
示目标地理围栏中接收到心跳包的目标终端作为上报节点加入到区块链网络,并触发目标
终端逐级下发心跳包维持在线状态,即目标地理围栏中接收到心跳包的目标终端将作为终
端的上报节点加入区块链网络中,并通过逐级下发心跳包维持在线状态。
[0116] 在具体实现时,服务器可以从目标地理围栏中选取计算机设备作为区块链网络中的共识节点,如服务器可以从目标地理围栏中随机选取计算机设备区块链网络中的共识节
点,此时,若服务器选取到终端作为共识节点,则终端是区块链网络中的共识节点,服务器
向终端发智能合约参数以触发共识节点定期广播与智能合约对应的心跳包。此外,区块链
网络中的共识节点还可以在触发共识节点更新时进行更新处理,若终端原本为区块链网络
中的上报节点,经过共识节点更新后成为区块链网络中的共识节点,则在节点身份从上报
节点转移为共识节点时认为满足智能合约执行条件,触发定期广播与智能合约对应的心跳
包,以进行区域热力图处理。
[0117] 本实施例中,终端作为区块链网络中的共识节点且触发智能合约执行时,定期广播与智能合约对应的心跳包,从而通过下发心跳包构建包括至少一级上报节点的节点链,
并通过心跳包维持各上报节点的在线状态,从而确保各上报节点可以及时逐级上报携带地
理位置的节点信息,降低了地理位置数据采集的延迟,提高了区域热力图处理的实时性。
[0118] 在一个实施例中,当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络,包括:当终端进入目标地理围栏、且接收到目标地理围栏所对应的
区块链网络中的节点发送的心跳包时,终端作为接收的心跳包所对应节点的子节点加入到
区块链网络中。
[0119] 其中,目标地理围栏所对应的区块链网络中的共识节点定期逐级下发心跳包至各上报节点以维持在线状态,区块链网络中上报节点同时将获得的心跳包进行广播,广播的
心跳包可以指示接收到该心跳包的终端作为节点加入区块链网络中,从而实现区块链网络
的动态扩展。
[0120] 具体地,终端进入目标地理围栏后,若终端接收到目标地理围栏所对应的区块链网络中的节点发送的心跳包时,终端作为接收的心跳包所对应节点的子节点加入到区块链
网络中。例如,终端在进入目标地理围栏后,若接收到区块链网络中上报节点b4广播的心跳
包,则终端作为上报节点b4的子节点加入到区块链网络中;又如,终端在进入目标地理围栏
后,若接收到区块链网络中共识节点D广播的心跳包,则终端作为共识节点D的子节点加入
到区块链网络中。
[0121] 本实施例中,终端作为接收的心跳包所对应节点的子节点加入到区块链网络中,从而通过定期下发的心跳包维持区块链网络中各节点的在线状态外,还实现对区块链网络
的扩展,从而可以同区块链网络进行节点信息上报以实现区域热力图处理,可以降低地理
位置数据采集的延迟,从而提高区域热力图处理的实时性。
[0122] 在一个实施例中,终端接收的心跳包所对应的节点多于一个;终端作为接收的心跳包所对应节点的子节点加入到区块链网络中包括:终端按照接收的各心跳包的接收顺
序,依次与接收的各心跳包所对应的节点进行节点注册;当终端注册成功时,触发作为节点
注册成功所对应目标节点的子节点加入到区块链网络中。
[0123] 其中,终端接收的心跳包所对应的节点多于一个,即终端接收到多个节点发送的心跳包,如终端既接收到上报节点c2广播的心跳包,又接收到上报节点d3广播的心跳包,表
明终端处于上报节点c2和上报节点d3的通信范围内。此时,终端按照接收到心跳包的顺序
与对应的节点进行注册,在注册成功时作为相应目标节点的子节点加入到区块链网络中。
[0124] 具体地,在终端接收的心跳包所对应的节点多于一个时,终端按照接收的各心跳包的接收顺序,依次与接收的各心跳包所对应的节点进行节点注册。在具体实现时,终端可
以记录接收到的心跳包的接收顺序,如可以通过心跳包列表记录接收到的心跳包的时间,
终端按照从先到后的接收顺序依次对心跳包对应的节点进行节点注册。节点注册即为识别
过程,节点注册过程中需要实现终端与节点之间的双向识别。在注册成功过时,终端作为节
点注册成功所对应目标节点的子节点加入到区块链网络中,从而终端作为注册成功的目标
节点的子节点加入到区块链网络中。
[0125] 本实施例中,按照终端接收的各心跳包的接收顺序依次进行注册,直至注册成功时,终端触发作为注册成功的目标节点的子节点加入到区块链网络中,从可以避免终端同
时成为多个节点的子节点,可以简化区块链网络的节点结构,可以减低区块链网络中心跳
包和节点信息的数据量,从而提高区域热力图的处理效率。
[0126] 在一个实施例中,上报到共识节点的节点信息,包括每级上报的上报节点的地理位置经过对称加密处理的地理位置密文,以及与地理位置密文对应的密钥经过非对称加密
处理获得的密钥密文。
[0127] 其中,对称加密处理可以基于对称加密算法实现,如基于DES(Data Encryption Standard,数据加密标准)算法、AES(Advanced Encryption Standard,高级加密标准)算
法、3DES(Triple Data Encryption Algorithm,三重数据加密算法)等各种对称加密算法
实现对称加密处理。对称加密,也叫私钥加密,指加密和解密使用相同密钥的加密算法。对
称加密又叫传统密码算法,加密密钥能够从解密密钥中推算出,同时解密密钥也可以从加
密密钥中推算出。在大多数的对称算法中,加密密钥和解密密钥是相同的,所以也称这种加
密算法为秘密密钥算法或单密钥算法。对称加密算法要求发送方和接收方在安全通信之
前,商定一个密钥,对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对发送
或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。地理位置密文为每级上
报的上报节点的地理位置基于对称加密算法进行加密处理得到的密文数据。地理位置密文
对应的密钥为对地理位置进行对称加密中采用的加密密钥,通过该密钥可以对地理位置密
文进行解密,还原出每级上报的上报节点的地理位置。
[0128] 非对称加密处理可以基于非对称加密算法实现,如基于RSA(RSA algorithm)、DSA(Digital Signature Algorithm,数字签名算法)、ECDSA(Elliptic Curve Digital 
Signature Algorithm,椭圆曲线签名算法)等各种非对称加密算法实现非对称加密处理。
非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简
称公钥)和私有密钥(private key,简称私钥)。公开密钥与私有密钥是一对,如果用公开密
钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那
么只有用对应的公开密钥才能解密。密钥密文为通过非对称加密算法对地理位置密文对应
的密钥进行非对称加密处理后获得的密文数据,利用私钥对密钥密文进行解密可以获得地
理位置密文对应的密钥,从而通过该密钥进一步对地理位置密文进行解密,还原出每级上
报的上报节点的地理位置。
[0129] 具体地,每级上报的上报节点,对地理位置进行对称加密处理,得到地理位置密文,并对地理位置密文对应的密钥进行非对称加密处理,得到密钥密文,根据获得的地理位
置密文和密钥密文得到节点信息进行上报处理。
[0130] 进一步地,上报到共识节点的节点信息,还用于指示共识节点依次对密钥密文和地理位置密文进行解密后,按照解密获得的每级上报的上报节点的地理位置统计得到区域
热力图。
[0131] 具体地,共识节点接收到逐级上报的节点信息后,依次对密钥密文和地理位置密文进行解密,从而从节点信息中获得解密获得的每级上报的上报节点的地理位置,并基于
每级上报的上报节点的地理位置统计得到区域热力图。在具体实现时,共识节点接收到逐
级上报的节点信息后,通过非对称加密处理对应的私钥对密钥密文进行解密,得到地理位
置密文对应的密钥,进一步通过地理位置密文对应的密钥对地理位置密文进行解密,得到
每级上报的上报节点的地理位置。
[0132] 本实施例中,区块链网络中各上报节点逐级上报至共识节点的节点信息包括结合了对称加密处理和非对称加密处理的密文,从而确保了逐级上报的节点信息所携带的地理
位置的数据安全。
[0133] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端处于目标地理围栏内、且触发共识节点更新的情况下,触发基于共识算法进行共识节点申请;当共识节
点申请成功时,终端更新为区块链网络中的共识节点。
[0134] 其中,共识节点更新可以为在满足共识节点更新条件时触发对区块链网络中的共识节点进行更新,从而对区块链网络中的共识节点进行动态调整,以调整区块链网络中各
节点的节点关系,确保区域热力图的准确度。
[0135] 具体地,在终端处于目标地理围栏内、且触发共识节点更新的情况下,触发对区块链网络中的共识节点进行更新。具体由终端基于共识算法进行共识节点申请,如可以由终
端基于Raft共识算法进行共识节点申请,以申请终端作为新的共识节点,在终端共识节点
申请成功时,终端更新为区块链网络中的共识节点,从而实现终端节点身份的切换。在具体
应用时,区块链网络中的各节点均在触发共识节点更新时均可以触发基于共识算法进行共
识节点申请,对于共识节点申请成功的节点将切换为区块链网络中的共识节点,以进行区
域热力图处理。
[0136] 本实施例中,在触发共识节点更新时,基于共识算法对区块链网络中的共识节点进行更新,从而能对区块链网络中的共识节点进行动态调整,可以动态调整区块链网络中
各节点的节点关系,确保区域热力图的准确度。
[0137] 在一个实施例中,基于区块链的区域热力图处理方法还包括:当满足共识节点更新条件时,触发共识节点更新;共识节点更新条件包括共识节点更新周期、共识节点离线和
区域热力图校验未通过中的至少一项。
[0138] 具体地,终端可以监测是否满足共识节点更新条件,共识节点更新条件可以根据实际需要进行设置,如可以包括但不限于包括共识节点更新周期、共识节点离线和区域热
力图校验未通过中的至少一项。其中,共识节点更新周期可以实现对区块链网络中的共识
节点进行定时更新,如可以根据每隔5小时触发对区块链网络中的共识节点进行更新;共识
节点离线指区块链网络中的共识节点处于离线状态,如区块链网络中的共识节点离开目标
地理围栏或网络中断无法进行通信;区域热力图校验未通过指区块链网络中的共识节点分
别统计得到的区域热力图之间进行校验的校验结果为校验不通过,表明当前共识节点统计
的区域热力图可信程度有限,则触发共识节点更新,以对区块链网络中的共识节点进行更
新。
[0139] 本实施例中,终端监测共识节点更新条件,从而可以对区块链网络的共识节点及时进行更新调整,可以确保区域热力图的准确度。
[0140] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端的子节点处于目标地理围栏外,且终端的子节点处于离线状态的情况下,触发终止向子节点下发共识
节点定期逐级下发的心跳包。
[0141] 其中,终端的子节点处于目标地理围栏之外且处于离线状态,表明终端的子节点离开目标地理围栏,则终端抛弃该子节点,停止向该子节点发送共识节点逐级下发的心跳
包。具体地,在终端处于目标地理围栏内时,表明终端仍处于目标地理围栏范围内,需要参
与区域热力图处理,若终端的子节点处于目标地理围栏外且处于离线状态,则终端终止向
子节点下发共识节点定期逐级下发的心跳包。在终端的子节点处于目标地理围栏之外且处
于离线状态时,确定该子节点为废弃节点,则终端及时将该子节点抛弃,可以及时更新区块
链网络中的节点结构,确保区域热力图的准确度。
[0142] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端的父节点处于目标地理围栏外,且终端的父节点处于离线状态的情况下,触发根据接收的共识节点定
期逐级下发的心跳包,更新终端作为节点在区块链网络中的节点关系。
[0143] 其中,终端的父节点处于目标地理围栏之外且处于离线状态,表明终端的父节点离开目标地理围栏,则终端更新在区块链网络中的节点关系,如终端可以重新确定父节点
获取共识节点定期逐级下发的心跳包。具体地,在终端处于目标地理围栏内时,表明终端仍
处于目标地理围栏范围内,需要参与区域热力图处理,若终端的父节点处于目标地理围栏
之外且处于离线状态,则终端根据接收的共识节点定期逐级下发的心跳包更新终端作为节
点在区块链网络中的节点关系,具体可以由终端从接收到的心跳包中选择对应节点进行注
册,并将注册成功对应的目标节点作为父节点,从而更新终端作为节点在区块链网络中的
节点关系。
[0144] 本实施例中,在终端的父节点处于目标地理围栏之外且处于离线状态时,终端根据接收到的心跳包更新在区块链网络中的节点关系,可以及时更新区块链网络中的节点结
构,确保区域热力图的准确度。
[0145] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端进入目标地理围栏、且终端作为节点加入到区块链网络失败的情况下,触发将终端的终端地理位置发
送至服务器;终端地理位置,用于指示服务器基于终端地理位置对共识节点统计得到的区
域热力图进行更新,获得更新后的区域热力图。
[0146] 具体地,终端进入目标地理围栏后,终端处于目标地理围栏范围内,需要参与区域热力图的统计处理,而终端作为节点加入到区块链网络失败,即终端未作为节点加入目标
地理围栏对应的区块链网络,该终端无法通过逐级上报节点信息的方式进行地理位置信息
上报,则终端直接将终端地理位置发送至服务器。其中,终端地理位置为该终端的位置数
据,终端地理位置指示服务器基于终端地理位置对共识节点统计得到的区域热力图进行更
新,获得更新后的区域热力图。在具体实现时,目标地理围栏对应的区块链网络中的共识节
点统计得到区域热力图后,共识节点可以将区域热力图发送至服务器,服务器可以基于目
标地理围栏中未加入区块链网络中的孤立节点的地理位置对区域热力图更新,从而进一步
提高区域热力图的准确度。
[0147] 本实施例中,对于未作为节点加入到区块链网络的终端,作为孤立节点,触发将终端地理位置直接发送至服务器,以由服务器根据孤立节点的终端地理位置对共识节点统计
得到的区域热力图进行更新,从而进一步提高了区域热力图的准确度。
[0148] 在一个实施例中,节点信息包括每级上报的第一上报节点的地理位置经过对称加密处理的地理位置密文,以及与地理位置密文对应的密钥经过非对称加密处理获得的密钥
密文;触发从终端作为共识节点所对应的第一上报节点逐级上报的节点信息中,提取得到
第一上报节点的第一地理位置,包括:基于密钥密文对应的私钥对密钥密文进行解密,得到
地理位置密文对应的密钥;通过密钥对地理位置密文进行解密,得到第一上报节点的第一
地理位置。
[0149] 其中,第一上报节点指区块链网络中以终端作为祖先节点的上报节点。区块链网络中可以有多个共识节点,各共识节点分别在目标地理围栏中广播扩散心跳包,从而构建
各共识节点对应的节点链,不同的共识节点可以形成不同的DAG拓扑结构。第一上报节点即
为终端作为共识节点构建的DAG拓扑结构中的上报节点,第一上报节点均以终端为祖先节
点。第一地理位置为第一上报节点对应的地理位置。
[0150] 地理位置密文为每级上报的第一上报节点的第一地理位置基于对称加密算法进行加密处理得到的密文数据。地理位置密文对应的密钥为对第一地理位置进行对称加密中
采用的加密密钥,通过该密钥可以对地理位置密文进行解密,还原出每级上报的第一上报
节点的第一地理位置。密钥密文为通过非对称加密算法对地理位置密文对应的密钥进行非
对称加密处理后获得的密文数据,利用私钥对密钥密文进行解密可以获得地理位置密文对
应的密钥,从而通过该密钥进一步对第一地理位置密文进行解密,还原出每级上报的第一
上报节点的第一地理位置。
[0151] 具体地,终端获得上报节点逐级上报的节点信息后,终端基于节点信息中的密钥密文对应的私钥对密钥密文进行解密,得到节点信息中地理位置密文对应的密钥。得到地
理位置密文对应的密钥后,终端通过该密钥对地理位置密文进行解密处理,得到以终端作
为祖先节点的第一上报节点的第一地理位置,从而从第一上报节点逐级上报的节点信息
中,提取得到第一上报节点的第一地理位置。
[0152] 本实施例中,由终端通过私钥对密钥密文进行解密,通过解密获得的密钥进一步对地理位置密文进行解密,从而从节点信息中还原出第一上报节点的第一地理位置,可以
确保地理位置的数据安全。
[0153] 在一个实施例中,基于区块链的区域热力图处理方法还包括:在终端是区块链网络中的共识节点的情况下,触发将统计得到的区域热力图发送至服务器;区域热力图用于
指示服务器将区域热力图发送至展示端进行展示。
[0154] 具体地,终端是区块链网络中的共识节点时,终端根据区块链网络中上报节点逐级上报的节点信息统计得到区域热力图后,终端将区域热力图发送至服务器,以指示服务
器将区域热力图发送至展示端进行展示,展示端可以为向服务器请求热力图的计算机设
备。在具体应用中,终端将统计得到的区域热力图发送至服务器,服务器接收到区域热力图
后,可以基于目标地理围栏中未作为节点加入区块链网络的孤立节点直接上报的地理位
置,对该区域热力图更新,得到更新后的区域热力图。在展示端发送热力图请求时,服务器
可以响应于该热力图请求,将更新后的区域热力图发送至展示端,以由展示端将更新后的
区域热力图进行展示。
[0155] 本实施例中,由区块链网络中的共识节点将统计得到的区域热力图发送至服务器,以由服务器向展示端发送区域热力图,可以响应区域热力图的展示请求,将获得的区域
热力图在展示端进行直观地展示。
[0156] 在一个实施例中,如图7所示,提供了一种区域热力图展示方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0157] 步骤702,显示电子地图的地图页面。
[0158] 其中,电子地图是地图制作和应用的一个系统,是由电子计算机控制所生成的地图,是基于数字制图技术的屏幕地图,是可视化的实地图。地图页面为终端中显示电子地图
的页面,具体可以为终端启动电子地图应用时,显示电子地图的地图页面。
[0159] 步骤704,响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式。
[0160] 其中,目标地理围栏指需要统计对应热力图的区域,具体可以为景区、商场、学校、医院、机场或车站等各种不同的场景区域。目标地理围栏根据实际需要进行设定,具体根据
需要展示人群密度的区域确定对应的目标地理围栏。热力图显示触发操作可以由用户在终
端显示的地图页面中触发,用于触发进行热力图展示。在具体实现时,地图页面中可以设置
有热力图模式控件,用户可以通过点击该热力图模式控件,触发热力图显示触发操作,触发
电子地图进入热力图显示模式。热力图显示模式为显示热力图的模式,在热力图显示模式
下,可以在电子地图中标记处各区域的热力密度,如通过不同颜色表示不同的热力密度。
[0161] 步骤706,在热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图;区域热力图,是对目标地理围栏所对
应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得
到的,节点包括进入到目标地理围栏并通过心跳包维持在区块链网络中在线状态的终端。
[0162] 在进入热力图显示模式后,在该热力图显示模式下,终端在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图,从而展示目
标地理围栏对应的区域热力图。
[0163] 其中,区域热力图是对目标地理围栏所对应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得到的,节点包括进入到目标地理围栏并通
过心跳包维持在区块链网络中在线状态的终端。在具体实现时,区块链网络中的节点包括
至少一级的上报节点以及作为上报节点的祖先节点的共识节点,上报节点可以向上一级的
节点,即向父节点逐级上报地理位置,直至上报至共识节点,共识节点根据各级上报节点的
地理位置可以统计得到区域热力图。上报节点通过共识节点定期逐级下发的心跳包维持在
线状态,从而确保区块链网络中的上报节点可以进行地理位置上报。通过区块链网络中处
于在线状态的上报节点逐级上报节点信息至共识节点,从而使共识获得携带有每级上报的
上报节点的地理位置的节点信息,以便共识节点基于各节点的地理位置统计得到目标地理
围栏对应的区域热力图,可以通过目标地理围栏中的共识节点实现热力图分布式处理,各
节点的地理位置采集的延迟低,提高了终端展示的区域热力图的实时性。
[0164] 在一个具体应用中,如图8所示,目标地理围栏为城西公园,在终端触发进入热力图显示模式后,显示的城西公园所对应的动态更新的区域热力图中,标记了各个区域的人
群密度,具体通过不同颜色为每个区域的人群密度进行标记。
[0165] 上述区域热力图展示方法,响应于针对目标地理围栏的热力图显示触发操作,在电子地图对应热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目
标地理围栏所对应的动态更新的区域热力图,区域热力图由对目标地理围栏所对应区块链
网络中,通过心跳包维持在线状态的节点基于区块链网络的共识机制上报的地理位置统计
得到,从而区域热力图对应的地理位置数据的延迟较低,提高了展示的区域热力图的实时
性。
[0166] 在一个实施例中,显示目标地理围栏所对应的动态更新的区域热力图包括:通过不同的标记色表示目标地理围栏所对应的动态更新的区域热力图中的热力密度。
[0167] 其中,标记色可以不同的颜色,一般通过暖色调的标记色,如通过红色、橙色等表示人群密度高,通过冷色调的标记色,如通过蓝色、紫色等表示人群密度低。具体地,在显示
区域热力图时,终端通过不同的标记色表示目标地理围栏所对应的动态更新的区域热力图
中的热力密度。热力密度反映了对于区域的人群密度,热力密度越高,对应的人群密度也越
高。
[0168] 进一步地,区域热力图展示方法还包括:响应于对区域热力图触发的缩放操作,显示通过缩放操作对区域热力图进行缩放处理后的区域热力图;通过更新后的标记色表示缩
放处理后的区域热力图中的热力密度。
[0169] 其中,缩放操作可以由用户针对终端中显示的区域热力图触发,如用户可以通过缩放手势触发对区域热力图的缩放操作。在用户针对区域热力图触发的缩放操作时,终端
显示通过缩放操作对区域热力图进行缩放处理后的区域热力图,并通过更新后的标记色表
示缩放处理后的区域热力图中的热力密度,从而根据区域热力图的缩放对应调整热力密度
的标记色,以便更直观、准确地展示目标地理围栏中各个区域的热力密度。
[0170] 在一个具体应用中,如图9所示,通过不同的标记色表示公园所对应的动态更新的区域热力图中的热力密度,用户通过手势对区域热力图的右上角部分进行放大处理后,终
端显示通过放大操作对区域热力图进行放大处理后的区域热力图,并通过更新后的标记色
表示放大处理后的区域热力图中的热力密度。
[0171] 本申请还提供一种应用场景,该应用场景应用上述的基于区块链的区域热力图处理方法。具体地,该基于区块链的区域热力图处理方法在该应用场景的应用如下:
[0172] 当前,越来越多的地图平台支持热力图展示,热力图是一种表现数据强弱大小及分布趋势的可视化类型,主要应用于人口密度分析、活跃度分析等。目前关于热力图的实现
方案的数据源大多为基于位置数据,在展示端上实现大范围地理区域的热力图的展示,而
对于小区域的地理围栏的热力分布展示效果,由于自身采集数据的频率低、位置变化频率
高等影响数据实时性的延迟因素,热力图的实时性有限,无法有效地体现实时热力图的热
力分布效果。
[0173] 基于此,本实施例中的基于区块链的区域热力图处理方法,可广泛应用于移动端小地理围栏区域的位置数据可视化,在保护个人用户的数据隐私的同时,实现了行业内不
同场景如景区、商场、学校、医院等场景下的精准、实时的人口热力密度分析。不同于基于位
置成果数据,在展示端上实现大范围地理区域的热力图的展示,本实施例中的基于区块链
的区域热力图处理方法,基于DAG智能合约,在保障用户数据的前提下,在移动端之间进行
分布式的可信计算,移动端的位置实时变化可以进行实时计算展示,确保了热力图的实时
性。
[0174] 具体地,如图10和图11所示,云端服务器确定DAG智能合约的智能合约参数,智能合约参数包括需要展示区域热力图的目标地理围栏的范围参数。其中,如果一个有向图从
任意顶点出发无法经过若干条边回到该点,则这个图是一个有向无环图,即DAG,有向图中
一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何
有向树均为有向无环图。而智能合约提供了分布式的可信计算,DAG智能合约是通用形式的
区块链智能合约,由于其独特结构,DAG 内在支持高可扩展性,因此也得到了广泛的使用。
任何区块链系统都具有线性结构,因为区块是依次添加到链中的,相比于并行向链中添加
区块,线性区块链在本质上的更新非常缓慢。但是对于 DAG 而言,每个区块和交易只需数
个前期区块得到确认,就可以并行地添加到区块和交易中。所以,DAG 在本质上是高可扩展
的。
[0175] 云端服务器将智能合约参数,即将确定的目标地理围栏的范围参数下发至从目标地理围栏中随机选取的共识节点A和共识节点B,共识节点A和共识节点B对应的计算机设备
接收到智能合约参数后,触发执行智能合约,共识节点A和共识节点B分别向周围广播发送
与智能合约对应的心跳包,目标地理围栏中的终端设备接收到心跳包则构建一条DAG边,并
在子节点上持续发送心跳包,从而构建DAG有向无环图的拓扑结构。在构建的DAG有向无环
图的拓扑结构中,共识节点通过定时逐级下发心跳包以维持各上报节点的在线状态。
[0176] 进一步地,对于新进入目标地理围栏的终端,在终端即将进入地理围栏范围时,会接收到来自边缘附近的上报节点发送的心跳包,由于可能接收到多个上报节点发送的心跳
包,为免占用终端过多资源,不对所有心跳包对应的节点进行注册,则进行择一注册。具体
地,终端可以维护一个列表用于存储接收到心跳包的先后顺序,并从列表头开始进行双向
注册,即在上报节点和终端均建立相应的节点关系。在注册成功后,终端作为该上报节点的
子节点加入到该DAG有向无环图的拓扑结构中。
[0177] 在目标地理围栏中各节点的维护过程中,如果某一设备接收的心跳包超时,则依次从接收到的心跳包对应列表中取后续心跳包,试图建立心跳连接,如果所有心跳包都无
法建立连接,则判定当前设备是否在目标地理围栏的区域内,若在,则该当前设备单独成为
孤立节点,直接将孤立节点的地理位置发送给云端服务器,由云端服务器统一调配。若当前
设备不在当前设备的围栏内,若该当前设备为父节点,其子节点的心跳包超时,则子节点发
生心跳熔断,即子节点作为废弃节点,直接抛弃不参与热力图计算。如果当前设备的父节点
发生心跳熔断,则该父节点下的所有子节点需要重新调整DAG结构,在原有DAG结构基础上
选择一个新的临近节点作为父节点,完成心跳连接,从而实现目标地理围栏中各节点的注
册和熔断,确保DAG有向无环图的拓扑结构的有效性。
[0178] 进一步地,基于DAG拓扑结构,各上报节点将自身的地理坐标基于对称加密算法生成一组加密坐标,并基于RSA非对称加密算法对加密坐标的密钥进行二次加密,组合得到加
密数据包,形成上报的节点信息。具体地,由于计算热力图的必要数据为热力点坐标,而用
户的原始数据坐标属于用户的隐私数据,在数据传输的任何一环都要确保数据不被泄露、
窃听、篡改。因此需要对原始位置坐标进行相关加密、解密操作。本实施例中采取非对称加
密与对称加密相结合的方式对原始热力点坐标进行加密。由于非对称加密的算法复杂度较
高,不适用于大规模数据的频繁加密、解密过程,因此对于原始的坐标数据采取对称加密算
法的策略,需要保证对称加密算法的密钥不会在传输过程中泄露。由于通常对称加密算法
的密钥长度较短,因而适合采取非对称加密算法对密钥进行二次加密。非对称加密算法的
公钥对于所有节点可见,只有私钥存储在共识节点中,因此需要保证共识节点的安全性、不
可篡改性。基于此,可以通过对于共识节点最终计算结果的校验流程,确保共识节点计算结
果的一致性。
[0179] 进一步地,由DAG结构中的出度为0的节点逐级向上传输位置加密数据包,即由DAG结构中不存在子节点的叶子节点触发逐级上报加密数据包。DAG所有节点共用一组RSA公
钥,只有共识节点存储私钥,在收到所有位置加密数据包后,每个共识节点分别基于私钥进
行数据包的解密,并得到DAG结构的原始数据。每个共识节点基于原始数据进行热力图的分
布计算,具体可以基于通用高斯卷计算法计算区域内的热力图分布结果,并对热力结果进
行校验,如可以基于每个共识节点计算得到的区域热力图的像素密度,计算验证热力分布
的相似度,若相似度的值高于指定相似度阈值,则认为校验通过,校验通过后得到目标地理
围栏的区域内的区域热力图。若相似度的值低于指定相似度阈值,则校验不通过,触发更新
共识节点,重新构建DAG拓扑结构后进行区域热力图处理。在得到区域热力图后,共识节点
将区域热力图上传至云端服务器进行存证,展示端可以通过向云端服务器发送请求,以获
取区域热力图进行展示。
[0180] 在目标地理围栏范围内的各设备不断变化的过程中,将Raft共识算法的选举策略应用到DAG有向无环图结构中,端之间通过维护心跳消息实现节点的动态注册、熔断以及参
与计算的共识节点的选择,从而实现新进入区域内的设备的动态注册、离开区域的设备动
态熔断、共识节点更新机制,通过Raft算法动态调整DAG拓扑结构中的共识节点,持续更新
共识节点,从而获得更准确的区域热力图。
[0181] 其中,Raft 是一种共识算法。Raft 提供一种在计算系统集群中实现分布状态机的通用方式,确保了集群中的每个节点在同一组状态转移上取得一致。Raft 通过选取领导
者实现共识。在 Raft 集群中,一个服务器可以是领导者(leader),也可以是追随者
(follower),也可以作为一些特定选举情况下(例如缺少领导者)的候选者。领导者负责向
追随者发送日志副本。领导者通过发送心跳消息,定期通知追随者自身的存活情况。每位追
随者维护一个超时,正常情况下应在此时间范围内收到领导者的心跳。一旦收到心跳,超时
就会重置。如果没有收到心跳,那么追随者就将自身状态更改为候选者,并开始领导者选
举。Raft算法协议中,一个节点任一时刻处于以下三个状态之一:Leader、follower、
candidate。除见证节点外,其他所有节点启动时都是follower状态;在一段时间内如果没
有收到来自leader的心跳,则从follower切换到candidate,发起选举;如果收到majority
的造成票(含自身的一票)则该节点切换到leader状态;如果发现其他节点对节点自身的更
新,则主动切换到follower。如果在一段时间里发现没有leader,则大家通过选举‑投票选
出随机的几个leader。leader会不停的给follower发心跳消息,表明自己的存活状态。如果
leader故障,那么follower会转换成candidate,重新选出leader。
[0182] 在基于Raft算法定期更新调整共识节点时,若DAG拓扑结构中的节点监测到共识节点处于离线状态,则触发进行共识节点更新,各节点申请切换为共识节点,基于Raft算法
发起选举,根据选举结果确定领导者,并将领导者作为DAG拓扑结构中更新后的共识节点,
由共识节点继续定期逐级下发心跳包维持在线状态,并进行区域热力图处理。
[0183] 本实施例中,基于DAG智能合约的实现区域热力图实时计算,不同于通用的云端通过定时收集获取位置大数据进行聚合计算并将成果数据传输到移动端进行热力图渲染的
处理,本实施例中基于DAG结构的智能合约,在保障用户数据的前提下实现移动端之间的分
布式可信计算,在移动端上计算地理围栏范围内的实时热力数据,通过对子节点的位置数
据进行对称加密与非对称加密结合的方式,完成中间过程的数据传输,保护了用户的隐私
泄露问题,同时只在共识节点进行热力图的实时计算。对于共识节点的选择,将Raft共识算
法的选举策略应用到DAG结构中,端之间通过维护心跳消息实现节点的动态注册、熔断以及
参与计算的共识节点的选择,适用于小范围的地理围栏区域热力展示,热力图的展示效果
响应更加实时,计算角度更加微观,聚焦于特定地理围栏小范围区域,具有更好的时效性。
[0184] 本实施例中提供的基于区块链的区域热力图处理方法,解决了移动端之间位置数据传输的隐私问题以及解决了区域热力图展示的实时性、精细度问题,同时也节约了大部
分的云端计算资源,云端只需存储最终的数据存证,就可以提供热力图的展示。
[0185] 进一步地,本申请还提供一种应用场景,该应用场景应用上述的基于区块链的区域热力图处理方法和区域热力图展示方法,进行区域热力图展示。具体地,该区域热力图展
示方法在该应用场景的应用如下:
[0186] 在通过基于区块链的区域热力图处理方法获得目标地理围栏的区域热力图后,共识节点将区域热力图发送至云端服务器。展示终端可以向云端服务器发送热力图请求,以
请求从云端服务器获取区域热力图,终端将获得的区域热力图进行展示。如图12所示,在终
端通过热力图显示触发操作进入热力图显示模式后,在热力图显示模式下,在地图页面中
标记目标地理围栏的地图区域内,通过不同标记颜色显示目标地理围栏所对应的动态更新
的区域热力图。展示终端显示的区域热力图通过基于区块链的区域热力图处理方法获得,
可以提高展示的区域热力图的实时性。
[0187] 应该理解的是,虽然图2、图6、图7和图11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的
说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图
2、图6、图7和图11中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶
段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执
行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少
一部分轮流或者交替地执行。
[0188] 在一个实施例中,如图13所示,提供了一种基于区块链的区域热力图处理装置1300,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,
该装置具体包括:节点加入模块1302和位置上报模块1304,其中:
[0189] 节点加入模块1302,用于当终端进入目标地理围栏后,终端作为节点加入到目标地理围栏所对应的区块链网络;区块链网络中的节点包括至少一级的上报节点以及作为上
报节点的祖先节点的共识节点,上报节点通过共识节点定期逐级下发的心跳包维持在线状
态;
[0190] 位置上报模块1304,用于在终端是作为叶子节点的上报节点并处于在线状态的情况下,触发逐级上报节点信息直至上报到共识节点;上报到共识节点的节点信息,携带有每
级上报的上报节点的地理位置,用于指示共识节点按照上报到共识节点的节点信息中的地
理位置统计得到区域热力图。
[0191] 在一个实施例中,还包括热力图统计模块,用于在终端是区块链网络中的共识节点、且区块链网络中的上报节点处于在线状态的情况下,获得区块链网络中的上报节点逐
级上报的节点信息中每级上报的上报节点的地理位置;触发按照每级上报的上报节点的地
理位置,统计获得区域热力图。
[0192] 在一个实施例中,热力图统计模块还包括第一位置提取模块、第二位置获取模块和位置融合模块;其中:第一位置提取模块,用于触发从终端作为共识节点所对应的第一上
报节点逐级上报的节点信息中,提取得到第一上报节点的第一地理位置;第二位置获取模
块,用于基于共识机制,获得区块链网络中除终端外的共识节点所对应的第二上报节点的
第二地理位置;位置融合模块,用于结合第一地理位置和第二地理位置,得到区块链网络中
上报节点的地理位置。
[0193] 在一个实施例中,还包括热力图共识模块和热力图确定模块;其中:热力图共识模块,用于基于共识机制,获得区块链网络中除终端外的共识节点统计得到的校验区域热力
图;热力图确定模块,用于当区域热力图与校验区域热力图校验通过时,基于区域热力图和
校验区域热力图,得到目标地理围栏对应的区域热力图。
[0194] 在一个实施例中,还包括智能合约处理模块,用于在终端是区块链网络中的共识节点、且满足智能合约执行条件时,触发定期广播与智能合约对应的心跳包;定期广播与智
能合约对应的心跳包,用于指示目标地理围栏中接收到心跳包的目标终端作为上报节点加
入到区块链网络,并触发目标终端逐级下发心跳包维持在线状态。
[0195] 在一个实施例中,节点加入模块1302,还用于当终端进入目标地理围栏、且接收到目标地理围栏所对应的区块链网络中的节点发送的心跳包时,终端作为接收的心跳包所对
应节点的子节点加入到区块链网络中。
[0196] 在一个实施例中,终端接收的心跳包所对应的节点多于一个;节点加入模块1302,还用于按照接收的各心跳包的接收顺序,依次与接收的各心跳包所对应的节点进行节点注
册;当终端注册成功时,触发作为节点注册成功所对应目标节点的子节点加入到区块链网
络中。
[0197] 在一个实施例中,上报到共识节点的节点信息,包括每级上报的上报节点的地理位置经过对称加密处理的地理位置密文,以及与地理位置密文对应的密钥经过非对称加密
处理获得的密钥密文;上报到共识节点的节点信息,还用于指示共识节点依次对密钥密文
和地理位置密文进行解密后,按照解密获得的每级上报的上报节点的地理位置统计得到区
域热力图。
[0198] 在一个实施例中,还包括共识节点更新模块,用于在终端处于目标地理围栏内、且触发共识节点更新的情况下,触发基于共识算法进行共识节点申请;当共识节点申请成功
时,终端更新为区块链网络中的共识节点。
[0199] 在一个实施例中,还包括共识节点更新触发模块,用于当满足共识节点更新条件时,触发共识节点更新;共识节点更新条件包括共识节点更新周期、共识节点离线和区域热
力图校验未通过中的至少一项。
[0200] 在一个实施例中,还包括子节点舍弃模块,用于在终端的子节点处于目标地理围栏外,且终端的子节点处于离线状态的情况下,触发终止向子节点下发共识节点定期逐级
下发的心跳包。
[0201] 在一个实施例中,还包括节点关系更新模块,用于在终端的父节点处于目标地理围栏外,且终端的父节点处于离线状态的情况下,触发根据接收的共识节点定期逐级下发
的心跳包,更新终端作为节点在区块链网络中的节点关系。
[0202] 在一个实施例中,还包括孤立节点处理模块,用于在终端进入目标地理围栏、且终端作为节点加入到区块链网络失败的情况下,触发将终端的终端地理位置发送至服务器;
终端地理位置,用于指示服务器基于终端地理位置对共识节点统计得到的区域热力图进行
更新,获得更新后的区域热力图。
[0203] 在一个实施例中,节点信息包括每级上报的第一上报节点的地理位置经过对称加密处理的地理位置密文,以及与地理位置密文对应的密钥经过非对称加密处理获得的密钥
密文;第一位置提取模块包括密钥解密模块和位置解密模块;其中:密钥解密模块,用于基
于密钥密文对应的私钥对密钥密文进行解密,得到地理位置密文对应的密钥;位置解密模
块,用于通过密钥对地理位置密文进行解密,得到第一上报节点的第一地理位置。
[0204] 在一个实施例中,还包括热力图存证模块,用于在终端是区块链网络中的共识节点的情况下,触发将统计得到的区域热力图发送至服务器;区域热力图用于指示服务器将
区域热力图发送至展示端进行展示。
[0205] 在一个实施例中,如图14所示,提供了一种区域热力图展示装置1400,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
地图页面显示模块1402、热力图模式响应模块1404和热力图显示模块1406,其中:
[0206] 地图页面显示模块1402,用于显示电子地图的地图页面;
[0207] 热力图模式响应模块1404,用于响应于针对目标地理围栏的热力图显示触发操作,进入热力图显示模式;
[0208] 热力图显示模块1406,用于在热力图显示模式下,在地图页面中标记目标地理围栏的地图区域内,显示目标地理围栏所对应的动态更新的区域热力图;
[0209] 区域热力图,是对目标地理围栏所对应区块链网络中处于在线状态的节点通过区块链网络的共识机制上报的地理位置统计得到的,节点包括进入到目标地理围栏并通过心
跳包维持在区块链网络中在线状态的终端。
[0210] 在一个实施例中,热力图显示模块1406,还用于通过不同的标记色表示目标地理围栏所对应的动态更新的区域热力图中的热力密度;区域热力图展示装置1400还包括缩放
显示模块,用于响应于对区域热力图触发的缩放操作,显示通过缩放操作对区域热力图进
行缩放处理后的区域热力图;通过更新后的标记色表示缩放处理后的区域热力图中的热力
密度。
[0211] 关于基于区块链的区域热力图处理装置和区域热力图展示装置的具体限定可以参见上文中对于基于区块链的区域热力图处理方法和区域热力图展示方法的限定,在此不
再赘述。上述基于区块链的区域热力图处理装置和区域热力图展示装置中的各个模块可全
部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算
机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器
调用执行以上各个模块对应的操作。
[0212] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显
示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的
存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机
程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计
算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过
WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现
一种基于区块链的区域热力图处理方法或区域热力图展示方法。该计算机设备的显示屏可
以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触
摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触
控板或鼠标等。
[0213] 本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设
备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0214] 在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0215] 在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0216] 在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备
的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计
算机设备执行上述各方法实施例中的步骤。
[0217] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,
本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可
包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑
Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器
(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种
形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存
储器(Dynamic Random Access Memory,DRAM)等。
[0218] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
[0219] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护
范围。因此,本申请专利的保护范围应以所附权利要求为准。