[发明专利]一种基于车联网环境下轻量级区块链的协同缓存方法有效
申请号: | 201910691990.0 | 申请日: | 2019-07-30 |
公开(公告)号: | CN110535687B | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 丁男;赵雅文;葛宏伟 | 申请(专利权)人: | 大连理工大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08;H04L29/06 |
代理公司: | 大连星海专利事务所有限公司 21208 | 代理人: | 杨翠翠 |
地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 联网 环境 轻量级 区块 协同 缓存 方法 | ||
1.一种基于车联网环境下轻量级区块链的协同缓存方法,其特征在于:利用关键词描述向量算法表示车联网数据;依据每个关键词在每个区块内部的出现频率不同、每个关键词在所有区块上的出现频率的不同以及关键词之间的组合,为每个区块生成一个独特的关键词描述向量;两个关键词描述向量可以利用向量距离公式计算相似度;两个区块的关键词描述向量距离越近,说明两个区块内容越相近;路侧节点的关键词描述向量和区块的关键词描述向量越接近,则说明该区块所在路段请求的数据类型和内容与该区块的数据内容越匹配,则将来在路侧节点的替换共识中,该区块被替换出去的可能性就越低;按得分公式计算得出区块的分数;协同缓存,多个路侧节点共同缓存一条区块链;初始化过程依赖于云服务器运行遗传算法,其结果为每个路侧节点初始需要缓存的区块链列表;路侧节点在运行过程中得分公式,按照得分高低决定新区块是否替换旧区块以及替换何旧区块;具体包括以下步骤:
首先,轻量级区块链网络架构建立:
所述轻量级区块链网络架构包括位于底层的车辆层、位于中间层的路侧节点层和位于顶层的云服务层;位于底层的车辆层:车辆作为轻量级区块链中的轻量级节点角色,负责向中间层请求数据区块链中的数据、对数据区块链中的数据进行校验;位于中间层的路侧节点层:路侧节点协同保存数据区块链和验证区块链,提供对底层车辆的请求数据服务;位于顶层的云服务层:保存数据区块链和验证区块链的完整副本,对中间层提供区块链的查询服务;
其次,中间层路侧节点的数据协同缓存架构建立,其中底层的车辆层提供车辆相关数据,中间的路侧节点层负责对数据进行协同存储,顶层的云服务器层负责协同存储的初始化;
2.1关键词向量描述算法:
利用关键词来描述车联网数据,其具体过程如下:
利用分词工具或者人工的方法为某段车联网数据统计词汇列表;
统计每个关键词在该车联网数据内的频率,称之为内频率TF;
统计每个关键词在所有车联网数据内的频率的倒数,称之为外频率IDF;
每个关键词对车联网数据的描述能力TFIDF=TF × IDF;
用term0,term1,term2…term n来表示关键词,用TFIDF0,TFIDF1,TFIDF2…TFIDF n来表示对应的描述能力值,则该车联网数据的关键词向量描述为一个n×2矩阵,表示为:
;
利用关键词来描述路侧节点数据,其具体过程如下:
利用分词工具或者人工的方法为某路侧节点收集到的数据统计词汇列表,其中路侧节点收集到的数据包括车辆请求的数据;
统计每个关键词在该路侧节点数据内的频率,称之为内频率TF;
统计每个关键词在所有路侧节点数据内的频率的倒数,称之为外频率IDF;
每个关键词对路侧节点数据的描述能力TFIDF=TF × IDF;
用term0,term1,term2…term n来表示关键词,用TFIDF0,TFIDF1,TFIDF2…TFIDF n来表示对应的描述能力值,则该车联网数据的关键词向量描述为一个n×2矩阵,表示为:
利用关键词来描述区块数据,其具体过程为:区块的内容是车联网交易,每笔车联网交易都有一个关键词向量描述,那么区块的关键词向量描述就是所有交易的关键词向量的集合;
2.2关键词向量描述距离:利用向量间的距离公式即可计算出两个关键词向量距离,含义为两条车联网数据的相似程度,或者两个路侧节点之间的相似程度,或者路侧节点和车联网数据的相似程度,或者路侧节点和区块的相似度,其公式表示如下:
路侧节点和区块的距离等于路侧节点收集的数据和区块中每一笔车联网交易的距离的总和;
2.3得分公式:
其中,T:最近被访问时间与系统初始时间差值;△t:被设置为系统产生区块的平均时间,用于修正T值,防止T值过小,A、B、C:权重因子,可动态调节,权重越大,相应项的重要性越高;D:利用关键词向量公式计算出的距离,含义是某段车联网数据和路侧节点的相关性;Fn:访问次数;F:总访问次数;:最近一次得分;:本次得分;
2.4替换公式:当路侧节点的缓存位置已满时,需要利用上述得分公式寻找合适的位置替换不合适的数据,并用新的数据替代;
2.5协同缓存的具体过程如下:
(1)路侧节点在日常工作中记录车辆请求的数据和从云服务器收到的数据;
(2)每隔一段时间,所有路侧节点都会向云服务器汇报收集到的数据;
(3)云服务器将收集到的数据整理并运行遗传算法,其中遗传算法的具体过程如下:
个体:比特矩阵,每一行的每一位代表某个路侧节点是否缓存某个区块,0代表不缓存,1代表缓存;
训练输入数据为:某个区块在某个路侧节点被访问;
适应度:每个个体对于一条训练输入数据的延迟规则:如本地缓存了该区块,则延迟为0;若没有缓存该区块,则需向延迟最小的其余路侧节点请求;每个个体对于所有训练输入数据的总延迟的倒数为该个体的适应度;
变异规则:每个个体的随机位置改变 ,0-1 或者 1-0;
重组规则:每个个体交换对应位置的序列;
算法输出:最佳适应度的个体,含义为所有路侧节点的初始缓存区块列表;
(4)云服务器将最终结果发布给所有路侧节点,路侧节点更改本地缓存情况,若被分配到了新的区块,则需向云服务器请求;
(5)云服务器发布的列表只是路侧节点在一段时间内的初始化列表,而路侧节点在其余时间需要根据本身的运行情况,动态改变自身的缓存,过程为:路侧节点在收到云服务器发布的新区块后,根据得分公式,动态判断是否需要替换已在缓存中的;
最后,区块利用率优化:区块利用率优化的方式为对多条互相之间关联度高且在得分公式中得分高的交易重新组成新的区块,其具体过程如下:
(1)路侧节点可以为每一条交易标注分数,打分机制基于打分公式;路侧节点也可以为每一条交易创建关键词向量描述,两条交易之间的向量距离为两条交易间的关联度;
(2)路侧节点在空余的时候执行挖矿功能:对于新的从未被写区块的交易,路侧节点仅计算交易之间的关联度,将关联度高的交易写入区块;对于曾经被写入过的交易,路侧节点计算交易之间的关联度和每条交易的打分,将得分高且关联度高的交易重新写入新的区块;
所述挖矿功能的具体过程为:
1)当路侧节点存储在内存中的车联网数据达到一定规模后,路侧节点启动挖矿功能;路侧节点将内存中的车联网数据信息组织成车联网交易,并按照比特币区块的交易组织规则,组织成列表的形式,同时利用SHA256算法创建对应的Merkel树和树根;当交易信息组织好后,按照比特币区块的区块头组织规则,利用merkel树根、时间戳、难度目标、随机数、前一个区块的哈希值、版本号,创建对应的区块头;最后将区块头和交易信息拼接成完整的区块;
2)路侧节点将创建好的区块发送给云服务器,云服务器判断该区块是否和其他节点创建的区块冲突,冲突标准是二者是否共享同一个父区块;
3)如果区块尚未冲突,那么服务器发送成功通知给所有区块,即通知创建区块成功的节点可以继续创建新的区块,通知其他节点停止创建可能会产生冲突的区块并将最近区块作为父区块延伸区块链;如果区块已经冲突,那么通知创建区块的节点冲突消息,并告知其最新的区块,不必通知其他节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910691990.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:异常事件处理方法和装置
- 下一篇:一种探测与协同通信集成系统