首页 > 专利 > 常熟理工学院 > 一种动态的数据发布和网络通信实现方法专利详情

一种动态的数据发布和网络通信实现方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2018-10-24
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2019-03-05
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2020-11-27
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2038-10-24
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201811240574.0 申请日 2018-10-24
公开/公告号 CN109309622B 公开/公告日 2020-11-27
授权日 2020-11-27 预估到期日 2038-10-24
申请年 2018年 公开/公告年 2020年
缴费截止日
分类号 H04L12/727H04L29/06H04L9/08 主分类号 H04L12/727
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 4
权利要求数量 5 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2015.02.24周素萍.基于软交换技术的下一代网络及相关技术研究《.中国优秀硕士学位论文全文数据库》.2007,;
引用专利 US8966270B 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 常熟理工学院 当前专利权人 常熟理工学院
发明人 王晓喃、李燕丽、窦正雄 第一发明人 王晓喃
地址 江苏省苏州市常熟市常熟理工学院(东南校区) 邮编 215500
申请人数量 1 发明人数量 3
申请人所在省 江苏省 申请人所在市 江苏省苏州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
南京瑞弘专利商标事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
杨晓玲
摘要
本发明提供了一种动态的数据发布和网络通信实现方法,所述网络包括节点和路由器;节点分为订购节点和提供节点;一个节点配置一个接口,一个路由器配置两个以上的接口,所述接口划分为上游接口和下游接口,上游接口域路由器相连,下游接口与节点的接口相连;在本发明中,节点能够安全快速地获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。
  • 摘要附图
    一种动态的数据发布和网络通信实现方法
  • 说明书附图:图1
    一种动态的数据发布和网络通信实现方法
  • 说明书附图:图2
    一种动态的数据发布和网络通信实现方法
  • 说明书附图:图3
    一种动态的数据发布和网络通信实现方法
  • 说明书附图:图4
    一种动态的数据发布和网络通信实现方法
  • 说明书附图:图5
    一种动态的数据发布和网络通信实现方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-11-27 授权
2 2019-03-05 实质审查的生效 IPC(主分类): H04L 12/727 专利申请号: 201811240574.0 申请日: 2018.10.24
3 2019-02-05 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种动态的数据发布和网络通信实现方法,其特征在于,所述网络包括节点和路由器;节点分为订购节点和提供节点;一个节点配置一个接口,一个路由器配置两个以上的接口,所述接口划分为上游接口和下游接口,上游接口与路由器相连,下游接口与节点的接口相连;每个接口由接口ID标识,接口ID为f的接口记为接口f;
一种数据由一个名称唯一标识;订购节点为有权限获取一种或者多种类型数据的节点;提供节点为有权限产生和更新一种或者多种类型数据的节点;一种类型的数据只能有一个提供节点产生或者更新;一种类型的数据对应一个私钥和一个公钥,公钥为标识该数据的名称,私钥为第三方认证机构发布;
一个订购节点被授权获取一种类型的数据时,能够获得该类型数据的私钥和公钥,订购节点利用该类型数据的私钥加密该类型数据的名称得到加密后的名称,加密后的名称称为签名;当一个提供节点被授权产生和更新一种类型的数据时,能够获得该类型数据的私钥和公钥,提供节点利用该类型数据的私钥加密该类型数据的名称得到该数据的签名;
一个订购节点和提供节点分别保存一个密钥表,一个密钥表项由私钥、公钥和签名构成;一个提供节点对于自己有权限产生和更新的每种类型数据执行下述操作:该提供节点创建一个密钥表项,该密钥表项的私钥域值为该类型数据的私钥,公钥域值为标识该类型数据的名称,签名域值为该类型数据的签名;一个订购节点对于自己有权限获取的每种类型数据执行下述操作:该订购节点创建一个密钥表项,该密钥表项的私钥域值为该类型数据的私钥,公钥域值为标识该类型数据的名称,签名域值为该类型数据的签名;
节点通过消息进行通信;消息包含消息类型、签名和负载域;消息类型如下所示:
消息类型值 消息类型名称
1 提供消息
2 订购消息
3 请求消息
4 更新消息
5 发布消息
每个路由器维护一个转发表,一个转发表项包含接口ID,签名,角色和生命周期域;角色域值为1表示提供节点,角色域值为0表示订阅节点;
在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1,提供节点P1与路由器AR1相连的条件下,提供节点P1定期执行下述操作维护转发表:步骤101:开始;
步骤102:提供节点P1发送提供消息,该提供消息的消息类型值为1,签名为SG1,负载为角色值1;
步骤103:路由器AR1从接口f1接收到该提供消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤113,否则执行步骤104;最大生命周期TM远大于阈值TH;
步骤104:从接口f1接收到该提供消息的路由器AR1查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,则执行步骤105,否则执行步骤106;
步骤105:从接口f1接收到该提供消息的路由器AR1选择一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤107;
步骤106:从接口f1接收到该提供消息的路由器AR1创建一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,生命周期设置为最大值;
步骤107:从接口f1接收到该提供消息的路由器AR1从每个上游接口转发该提供消息;
步骤108:路由器从接口f2接收到该提供消息后查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤113,否则执行步骤109;
步骤109:从接口f2接收到该提供消息的路由器查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,则执行步骤110,否则执行步骤111;
步骤110:从接口f2接收到该提供消息的路由器选择一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤112;
步骤111:从接口f2接收到该提供消息的路由器创建一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,生命周期设置为最大值;
步骤112:从接口f2接收到该提供消息的路由器从除了接口f2以外的每个上游接口转发该提供消息,执行步骤108;
步骤113:结束。

2.根据权利要求1所述的一种动态的数据发布和网络通信实现方法,其特征在于,在订购节点S1有权限获取名称NA1标识的数据C1,名称NA1的签名为SG1,订购节点S1与路由器AR2相连的条件下,订购节点S1定期执行下述操作维护转发表:
步骤201:开始;
步骤202:订购节点S1发送订购消息,该订购消息的消息类型值为2,签名为SG1,负载为角色值0;
步骤203:路由器AR2从接口x1接收到该订购消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤213,否则执行步骤204;
步骤204:从接口x1接收到该订购消息的路由器AR2查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,则执行步骤205,否则执行步骤206;
步骤205:从接口x1接收到该订购消息的路由器AR2选择一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤207;
步骤206:从接口x1接收到该订购消息的路由器AR2创建一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,生命周期设置为最大值;
步骤207:从接口x1接收到该订购消息的路由器AR2从每个上游接口转发该订购消息;
步骤208:路由器从接口x2接收到该订购消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤213,否则执行步骤209;
步骤209:从接口x2接收到该订购消息的路由器查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,则执行步骤210,否则执行步骤211;
步骤210:从接口x2接收到该订购消息的路由器选择一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤212;
步骤211:从接口x2接收到该订购消息的路由器创建一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,生命周期设置为最大值;
步骤212:从接口x2接收到该订购消息的路由器从除了接口x2以外的每个上游接口转发该订购消息,执行步骤208;
步骤213:结束。

3.根据权利要求2所述的一种动态的数据发布和网络通信实现方法,其特征在于,每个路由器维护一个请求表,一个请求表项包含接口ID,签名和生命周期域;在订购节点S1有权限获取名称NA1标识的数据C1,名称NA1的签名为SG1,订购节点S1与路由器AR2相连的条件下,订购节点S1定期执行下述操作维护请求表:
步骤301:开始;
步骤302:订购节点S1发送请求消息,该请求消息的消息类型值为3,签名域值为SG1,负载为空;
步骤303:路由器AR2从接口y1接收到该请求消息后查看请求表,如果存在一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,则执行步骤304,否则执行步骤305;
步骤304:从接口y1接收到该请求消息的路由器AR2选择一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值,执行步骤306;
步骤305:从接口y1接收到该请求消息的路由器AR2创建一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值;
步骤306:从接口y1接收到该请求消息的路由器AR2选择一个转发表项,该转发表项的签名等于该请求消息的签名,且角色域值等于1,从该转发表项的接口ID域值所标识的接口转发该请求消息;
步骤307:判断是节点还是路由器从接口y2接收到该请求消息,如果是路由器从接口y2则执行步骤312,否则执行步骤308;
步骤308:路由器从接口y2接收到该请求消息后查看请求表,如果存在一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,则执行步骤309,否则执行步骤310;
步骤309:从接口y2接收到该请求消息的路由器选择一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值,执行步骤311;
步骤310:从接口y2接收到该请求消息的路由器创建一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值;
步骤311:从接口y2接收到该请求消息的路由器选择一个转发表项,该转发表项的签名等于该请求消息的签名,且角色域值等于1,从该转发表项的接口ID域值所标识的接口转发该请求消息,执行步骤307;
步骤312:结束。

4.根据权利要求3所述的一种动态的数据发布和网络通信实现方法,其特征在于,每个订购节点和提供节点分别维护一个数据表,一个数据表项包含名称域和数据域;在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1的条件下,如果提供节点P1更新了数据C1且网络性能稳定,则提供节点P1通过下述过程推送数据:
步骤401:开始;
步骤402:提供节点P1查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于SG1,选择一个数据表项,该数据表项的名称域值等于NA1,然后用该秘钥表项的公钥加密该数据表项的数据域值得到加密后的数据;提供节点P1发送一个更新消息,该更新消息的消息类型值为4,签名为SG1,负载为加密后的数据;
步骤403:判断是节点还是路由器接收到该更新消息,如果是路由器则执行步骤405,否则执行步骤404;
步骤404:路由器接收到该更新消息后,选择所有签名域值等于该更新消息的签名域值的请求表项,针对每个选中的请求表项,该路由器从该请求表项的接口ID域值所标识的接口转发该更新消息,执行步骤403;
步骤405:节点接收到该更新消息后,选择一个秘钥表项,该秘钥表项的签名等于该更新消息的签名域值,利用该秘钥表项的私钥域值解密该更新消息负载中的加密数据,并得到解密后的数据;节点查看数据表,判断是否存在一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值;如果存在,该节点则将该数据表项的数据域值更新为解密后的数据;否则,该节点创建一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值,数据域值等于解密后的数据;
步骤406:结束。

5.根据权利要求3所述的一种动态的数据发布和网络通信实现方法,其特征在于,在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1的条件下,如果提供节点P1更新了数据C1且网络性能稳定,则提供节点P1通过下述过程推送数据:
步骤501:开始;
步骤502:提供节点P1查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于SG1,提供节点P1选择一个数据表项,该数据表项的名称域值等于NA1,然后用该秘钥表项的公钥加密该数据表项的数据域值得到加密后的数据;提供节点P1发送一个发布消息,该发布消息的消息类型值为5,签名为SG1,负载为加密后的数据;
步骤503:判断是节点还是路由器接收到该更新消息,如果是路由器则执行步骤509,否则执行步骤504;
步骤504:路由器接收到该发布消息后,选择所有签名域值等于该发布消息的签名域值的请求表项,如果选中的请求表项的个数为0,则执行步骤505,否则执行步骤507;
步骤505:接收到该发布消息的路由器查看转发表,选择所有签名域值等于该发布消息的签名域值且角色域值等于0的转发表项,如果选中的转发表项的个数为0,则执行步骤
506,否则执行步骤508;
步骤506:接收到该发布消息的路由器从每个上游接口和下游接口转发该发布消息,执行步骤503;
步骤507:接收到该发布消息的路由器选择所有签名域值等于该发布消息的签名域值的请求表项,针对每个选中的请求表项,该路由器从该请求表项的接口ID域值所标识的接口转发该发布消息;
步骤508:接收到该发布消息的路由器查看转发表,选择所有签名域值等于该发布消息的签名域值且角色域值等于0的转发表项,针对每个选中的转发表项,该路由器执行下述操作:该路由器查看是否存在一个请求表,该请求表的签名域值和接口ID域值分别等于该转发表项的签名域值和接口ID域值,如果存在,则该路由器不执行任何操作,否则该路由器从该转发表项的接口ID所标识的接口转发该发布消息,执行步骤503;
步骤509:节点接收到该发布消息后,查看秘钥表,如果存在一个秘钥表项,该秘钥表项的签名等于该发布消息的签名域值,则执行步骤510,否则执行步骤511;
步骤510:节点接收到该发布消息后,查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于该发布消息的签名域值,利用该秘钥表项的私钥域值解密该发布消息负载中的加密数据,并等到解密后的数据;节点查看数据表,判断是否存在一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值;如果存在,该节点则将该数据表项的数据域值更新为解密后的数据;否则,该节点创建一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值,数据域值等于解密后的数据;
步骤511:结束。
说明书

技术领域

[0001] 本发明涉及一种实现方法,尤其涉及的是一种动态的数据发布和网络通信实现方法。

背景技术

[0002] 下一代网络中的节点之间通信通过中间节点的转发和路由来实现,因此,实现下一代网络需要解决的关键技术之一就是降低数据传输延迟,以便使用户能够快速获取网络服务。随着下一代网络技术的发展,下一代网络会成为未来网络提供服务的一种模式。
[0003] 目前,下一代网络的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低下一代网络提供服务的延迟和代价成为近年来研究的热点问题。

发明内容

[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种动态的数据发布和网络通信实现方法。
[0005] 技术方案:本发明公开了一种动态的数据发布和网络通信实现方法,所述网络包括节点和路由器;节点分为订购节点和提供节点;一个节点配置一个接口,一个路由器配置两个以上的接口,所述接口划分为上游接口和下游接口,上游接口域路由器相连,下游接口与节点的接口相连;每个接口由接口ID标识,接口ID为f的接口记为接口f;
[0006] 一种数据由一个名称唯一标识;订购节点为有权限获取一种或者多种类型数据的节点;提供节点为有权限产生和更新一种或者多种类型数据的节点;一种类型的数据只能有一个提供节点产生或者更新;一种类型的数据对应一个私钥和一个公钥,公钥为标识该数据的名称,私钥为第三方认证机构发布,例如电子商务认证授权机构(CA,Certificate Authority)的计算机中心;
[0007] 一个订购节点被授权获取一种类型的数据时,能够获得该类型数据的私钥和公钥,订购节点利用该类型数据的私钥加密该类型数据的名称得到加密后的名称,加密后的名称称为签名,加密算法可以采用任何非对称加密算法,例如RSA;当一个提供节点被授权产生和更新一种类型的数据时,能够获得该类型数据的私钥和公钥,提供节点利用该类型数据的私钥加密该类型数据的名称得到该数据的签名;
[0008] 一个订购节点和提供节点分别保存一个密钥表,一个密钥表项由私钥、公钥和签名构成;一个提供节点对于自己有权限产生和更新的每种类型数据执行下述操作:该提供节点创建一个密钥表项,该密钥表项的私钥域值为该类型数据的私钥,公钥域值为标识该类型数据的名称,签名域值为该类型数据的签名;一个订购节点对于自己有权限获取的每种类型数据执行下述操作:该订购节点创建一个密钥表项,该密钥表项的私钥域值为该类型数据的私钥,公钥域值为标识该类型数据的名称,签名域值为该类型数据的签名;
[0009] 节点通过消息进行通信;消息包含消息类型、签名和负载域;消息类型如下所示:
[0010] 消息类型值 消息类型名称1 提供消息
2 订购消息
3 请求消息
4 更新消息
5 发布消息
[0011] 每个路由器维护一个转发表,一个转发表项包含接口ID,签名,角色和生命周期域;角色域值为1表示提供节点,角色域值为0表示订阅节点;
[0012] 在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1,提供节点P1与路由器AR1相连的条件下,提供节点P1定期执行下述操作维护转发表:
[0013] 步骤101:开始;
[0014] 步骤102:提供节点P1发送提供消息,该提供消息的消息类型值为1,签名为SG1,负载为角色值1;
[0015] 步骤103:路由器AR1从接口f1接收到该提供消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤113,否则执行步骤104;最大生命周期TM远大于域值TH,例如TM取值为1s,TH取值为50ms;
[0016] 步骤104:从接口f1接收到该提供消息的路由器AR1查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,则执行步骤105,否则执行步骤106;
[0017] 步骤105:从接口f1接收到该提供消息的路由器AR1选择一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤107;
[0018] 步骤106:从接口f1接收到该提供消息的路由器AR1创建一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,生命周期设置为最大值;
[0019] 步骤107:从接口f1接收到该提供消息的路由器AR1从每个上游接口转发该提供消息;
[0020] 步骤108:路由器从接口f2接收到该提供消息后查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤113,否则执行步骤109;
[0021] 步骤109:从接口f2接收到该提供消息的路由器查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,则执行步骤110,否则执行步骤111;
[0022] 步骤110:从接口f2接收到该提供消息的路由器选择一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤112;
[0023] 步骤111:从接口f2接收到该提供消息的路由器创建一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,生命周期设置为最大值;
[0024] 步骤112:从接口f2接收到该提供消息的路由器从除了接口f2以外的每个上游接口转发该提供消息,执行步骤108;
[0025] 步骤113:结束。
[0026] 提供节点通过上述过程建立任一个路由器与自己的路由路径,由于每个路由器只处理第一个接收到的提供消息,根据该提供消息建立到达该提供节点的路由路径,因此确保了该路由器到达该提供节点的路径性能为最优,即延迟最小,从而降低了数据通信代价和延迟;另外路由器只保存一个名称的签名,因此实现了该数据的安全通信。
[0027] 本发明所述方法中,在订购节点S1有权限获取名称NA1标识的数据C1,名称NA1的签名为SG1,订购节点S1与路由器AR2相连的条件下,订购节点S1定期执行下述操作维护转发表:
[0028] 步骤201:开始;
[0029] 步骤202:订购节点S1发送订购消息,该订购消息的消息类型值为2,签名为SG1,负载为角色值0;
[0030] 步骤203:路由器AR2从接口x1接收到该订购消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤213,否则执行步骤204;
[0031] 步骤204:从接口x1接收到该订购消息的路由器AR2查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,则执行步骤205,否则执行步骤206;
[0032] 步骤205:从接口x1接收到该订购消息的路由器AR2选择一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤207;
[0033] 步骤206:从接口x1接收到该订购消息的路由器AR2创建一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,生命周期设置为最大值;
[0034] 步骤207:从接口x1接收到该订购消息的路由器AR2从每个上游接口转发该订购消息;
[0035] 步骤208:路由器从接口x2接收到该订购消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤213,否则执行步骤209;
[0036] 步骤209:从接口x2接收到该订购消息的路由器查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,则执行步骤210,否则执行步骤211;
[0037] 步骤210:从接口x2接收到该订购消息的路由器选择一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤212;
[0038] 步骤211:从接口x2接收到该订购消息的路由器创建一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,生命周期设置为最大值;
[0039] 步骤212:从接口x2接收到该订购消息的路由器从除了接口x2以外的每个上游接口转发该订购消息,执行步骤208;
[0040] 步骤213:结束。
[0041] 订购节点通过上述过程建立任一个路由器与自己的路由路径,由于每个路由器只处理第一个接收到的订购消息,根据该订购消息建立到达该订购节点的路由路径,因此确保了该路由器到达该订购节点的路径性能为最优,即延迟最小,从而降低了订购节点获取数据的延迟;另外路由器在转发表中只保存了签名,并不知道该签名对应的名称,因此实现了数据的安全通信。
[0042] 本发明所述方法中,每个路由器维护一个请求表,一个请求表项包含接口ID,签名和生命周期域;在订购节点S1有权限获取名称NA1标识的数据C1,名称NA1的签名为SG1,订购节点S1与路由器AR2相连的条件下,订购节点S1定期执行下述操作维护请求表:
[0043] 步骤301:开始;
[0044] 步骤302:订购节点S1发送请求消息,该请求消息的消息类型值为3,签名域值为SG1,负载为空;
[0045] 步骤303:路由器AR2从接口y1接收到该请求消息后查看请求表,如果存在一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,则执行步骤304,否则执行步骤305;
[0046] 步骤304:从接口y1接收到该请求消息的路由器AR2选择一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值,执行步骤306;
[0047] 步骤305:从接口y1接收到该请求消息的路由器AR2创建一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值;
[0048] 步骤306:从接口y1接收到该请求消息的路由器AR2选择一个转发表项,该转发表项的签名等于该请求消息的签名,且角色域值等于1,从该转发表项的接口ID域值所标识的接口转发该请求消息;
[0049] 步骤307:判断是节点还是路由器从接口y2接收到该请求消息,如果是路由器从接口y2则执行步骤312,否则执行步骤308;
[0050] 步骤308:路由器从接口y2接收到该请求消息后查看请求表,如果存在一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,则执行步骤309,否则执行步骤310;
[0051] 步骤309:从接口y2接收到该请求消息的路由器选择一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值,执行步骤311;
[0052] 步骤310:从接口y2接收到该请求消息的路由器创建一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值;
[0053] 步骤311:从接口y2接收到该请求消息的路由器选择一个转发表项,该转发表项的签名等于该请求消息的签名,且角色域值等于1,从该转发表项的接口ID域值所标识的接口转发该请求消息,执行步骤307;
[0054] 步骤312:结束。
[0055] 订购节点通过请求表建立自己到达提供节点之间的路由路径,由于该路由路径采用转发表来建立,而转发表中的路由器到达订购节点或者提供节点之间的路由路径性能为最优,因此该订购节点与提供节点之间的路由路径也最优,延迟最小,从而降低了订购节点获取数据的延迟;另外路由器在请求表中只保存了签名,并不知道该签名对应的名称,因此实现了数据的安全通信。
[0056] 本发明所述方法中,每个订购节点和提供节点分别维护一个数据表,一个数据表项包含名称域和数据域;在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1的条件下,如果提供节点P1更新了数据C1且网络性能稳定,例如丢包率小于1%,则提供节点P1通过下述过程推送数据:
[0057] 步骤401:开始;
[0058] 步骤402:提供节点P1查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于SG1,选择一个数据表项,该数据表项的名称域值等于NA1,然后用该秘钥表项的公钥加密该数据表项的数据域值得到加密后的数据;提供节点P1发送一个更新消息,该更新消息的消息类型值为4,签名为SG1,负载为加密后的数据;
[0059] 步骤403:判断是节点还是路由器接收到该更新消息,如果是路由器则执行步骤405,否则执行步骤404;
[0060] 步骤404:路由器接收到该更新消息后,选择所有签名域值等于该更新消息的签名域值的请求表项,针对每个选中的请求表项,该路由器从该请求表项的接口ID域值所标识的接口转发该更新消息,执行步骤403;
[0061] 步骤405:节点接收到该更新消息后,选择一个秘钥表项,该秘钥表项的签名等于该更新消息的签名域值,利用该秘钥表项的私钥域值解密该更新消息负载中的加密数据,并等到解密后的数据;节点查看数据表,判断是否存在一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值;如果存在,该节点则将该数据表项的数据域值更新为解密后的数据;否则,该节点创建一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值,数据域值等于解密后的数据;
[0062] 步骤406:结束。
[0063] 提供节点通过请求表将更新的数据推送给订购节点,由于请求表中提供节点到达订购节点之间的路由路径性能为最优,延迟最小,因此提供节点能够以最小的延迟将更新的数据发送给订购节点,大幅度降低了订购节点获取数据的延迟;另外路由器在请求表中只保存了签名,且更新的数据进行了加密,因此路由器并不知道该签名对应的名称以及更新的数据,因此实现了数据的安全通信。
[0064] 本发明所述方法中,在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1的条件下,如果提供节点P1更新了数据C1且网络性能稳定,例如丢包率大于1%,则提供节点P1通过下述过程推送数据:
[0065] 步骤501:开始;
[0066] 步骤502:提供节点P1查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于SG1,提供节点P1选择一个数据表项,该数据表项的名称域值等于NA1,然后用该秘钥表项的公钥加密该数据表项的数据域值得到加密后的数据;提供节点P1发送一个发布消息,该发布消息的消息类型值为5,签名为SG1,负载为加密后的数据;
[0067] 步骤503:判断是节点还是路由器接收到该更新消息,如果是路由器则执行步骤509,否则执行步骤504;
[0068] 步骤504:路由器接收到该发布消息后,选择所有签名域值等于该发布消息的签名域值的请求表项,如果选中的请求表项的个数为0,则执行步骤505,否则执行步骤507;
[0069] 步骤505:接收到该发布消息的路由器查看转发表,选择所有签名域值等于该发布消息的签名域值且角色域值等于0的转发表项,如果选中的转发表项的个数为0,则执行步骤506,否则执行步骤508;
[0070] 步骤506:接收到该发布消息的路由器从每个上游接口和下游接口转发该发布消息,执行步骤503;
[0071] 步骤507:接收到该发布消息的路由器选择所有签名域值等于该发布消息的签名域值的请求表项,针对每个选中的请求表项,该路由器从该请求表项的接口ID域值所标识的接口转发该发布消息;
[0072] 步骤508:接收到该发布消息的路由器查看转发表,选择所有签名域值等于该发布消息的签名域值且角色域值等于0的转发表项,针对每个选中的转发表项,该路由器执行下述操作:该路由器查看是否存在一个请求表,该请求表的签名域值和接口ID域值分别等于该转发表项的签名域值和接口ID域值,如果存在,则该路由器不执行任何操作,否则该路由器从该转发表项的接口ID所标识的接口转发该发布消息,执行步骤503;
[0073] 步骤509:节点接收到该发布消息后,查看秘钥表,如果存在一个秘钥表项,该秘钥表项的签名等于该发布消息的签名域值,则执行步骤510,否则执行步骤511;
[0074] 步骤510:节点接收到该发布消息后,查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于该发布消息的签名域值,利用该秘钥表项的私钥域值解密该发布消息负载中的加密数据,并等到解密后的数据;节点查看数据表,判断是否存在一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值;如果存在,该节点则将该数据表项的数据域值更新为解密后的数据;否则,该节点创建一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值,数据域值等于解密后的数据;
[0075] 步骤511:结束。
[0076] 在网络不稳定的情况下,为了确保每个订购节点能及时收到更新的数据,提供节点通过请求表和转发表将更新的数据推送给订购节点,由于请求表中提供节点到达订购节点之间的路由路径性能为最优,延迟最小,且转发表中任一路由器到达订购节点之间的路由路径性能也为最优,因此提供节点能够通过请求表和转发表以最小的延迟将更新的数据发送给订购节点,大幅度降低了订购节点获取数据的延迟;另外路由器在请求表中和转发表中只保存了签名,且更新的数据进行了加密,路由器并不知道该签名对应的名称以及更新的数据,因此实现了数据的安全通信。
[0077] 有益效果:本发明提供了一种动态的数据发布和网络通信实现方法,在本发明中,节点能够安全快速地获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

附图说明

[0078] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0079] 图1为本发明所述的建立转发表流程示意图。
[0080] 图2为本发明所述的维护转发表流程示意图。
[0081] 图3为本发明所述的维护请求表流程示意图。
[0082] 图4为本发明所述的推送数据流程示意图。
[0083] 图5为本发明所述的发布数据流程示意图。具体实施方式:
[0084] 本发明提供了一种动态的数据发布和网络通信实现方法,在本发明中,节点能够安全快速地获取数据,大幅度降低了数据通信延迟,提高了数据通信质量。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。
[0085] 图1为本发明所述的建立转发表流程示意图。所述网络包括节点和路由器;节点分为订购节点和提供节点;一个节点配置一个接口,一个路由器配置两个以上的接口,所述接口划分为上游接口和下游接口,上游接口域路由器相连,下游接口与节点的接口相连;每个接口由接口ID标识,接口ID为f的接口记为接口f;
[0086] 一种数据由一个名称唯一标识;订购节点为有权限获取一种或者多种类型数据的节点;提供节点为有权限产生和更新一种或者多种类型数据的节点;一种类型的数据只能有一个提供节点产生或者更新;一种类型的数据对应一个私钥和一个公钥,公钥为标识该数据的名称,私钥为第三方认证机构发布,例如电子商务认证授权机构(CA,Certificate Authority)的计算机中心;
[0087] 一个订购节点被授权获取一种类型的数据时,能够获得该类型数据的私钥和公钥,订购节点利用该类型数据的私钥加密该类型数据的名称得到加密后的名称,加密后的名称称为签名,加密算法可以采用任何非对称加密算法,例如RSA;当一个提供节点被授权产生和更新一种类型的数据时,能够获得该类型数据的私钥和公钥,提供节点利用该类型数据的私钥加密该类型数据的名称得到该数据的签名;
[0088] 一个订购节点和提供节点分别保存一个密钥表,一个密钥表项由私钥、公钥和签名构成;一个提供节点对于自己有权限产生和更新的每种类型数据执行下述操作:该提供节点创建一个密钥表项,该密钥表项的私钥域值为该类型数据的私钥,公钥域值为标识该类型数据的名称,签名域值为该类型数据的签名;一个订购节点对于自己有权限获取的每种类型数据执行下述操作:该订购节点创建一个密钥表项,该密钥表项的私钥域值为该类型数据的私钥,公钥域值为标识该类型数据的名称,签名域值为该类型数据的签名;
[0089] 节点通过消息进行通信;消息包含消息类型、签名和负载域;消息类型如下所示:
[0090]消息类型值 消息类型名称
1 提供消息
2 订购消息
3 请求消息
4 更新消息
5 发布消息
[0091] 每个路由器维护一个转发表,一个转发表项包含接口ID,签名,角色和生命周期域;角色域值为1表示提供节点,角色域值为0表示订阅节点;
[0092] 在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1,提供节点P1与路由器AR1相连的条件下,提供节点P1定期执行下述操作维护转发表:
[0093] 步骤101:开始;
[0094] 步骤102:提供节点P1发送提供消息,该提供消息的消息类型值为1,签名为SG1,负载为角色值1;
[0095] 步骤103:路由器AR1从接口f1接收到该提供消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤113,否则执行步骤104;最大生命周期TM远大于域值TH,例如TM取值为1s,TH取值为50ms;
[0096] 步骤104:从接口f1接收到该提供消息的路由器AR1查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,则执行步骤105,否则执行步骤106;
[0097] 步骤105:从接口f1接收到该提供消息的路由器AR1选择一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤107;
[0098] 步骤106:从接口f1接收到该提供消息的路由器AR1创建一个转发表项,该转发表项的接口ID等于f1,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,生命周期设置为最大值;
[0099] 步骤107:从接口f1接收到该提供消息的路由器AR1从每个上游接口转发该提供消息;
[0100] 步骤108:路由器从接口f2接收到该提供消息后查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤113,否则执行步骤109;
[0101] 步骤109:从接口f2接收到该提供消息的路由器查看转发表;如果存在一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,则执行步骤110,否则执行步骤111;
[0102] 步骤110:从接口f2接收到该提供消息的路由器选择一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤112;
[0103] 步骤111:从接口f2接收到该提供消息的路由器创建一个转发表项,该转发表项的接口ID等于f2,签名等于该提供消息的签名,角色域值等于该提供消息负载中的角色域值,生命周期设置为最大值;
[0104] 步骤112:从接口f2接收到该提供消息的路由器从除了接口f2以外的每个上游接口转发该提供消息,执行步骤108;
[0105] 步骤113:结束。
[0106] 提供节点通过上述过程建立任一个路由器与自己的路由路径,由于每个路由器只处理第一个接收到的提供消息,根据该提供消息建立到达该提供节点的路由路径,因此确保了该路由器到达该提供节点的路径性能为最优,即延迟最小,从而降低了数据通信代价和延迟;另外路由器只保存一个名称的签名,因此实现了该数据的安全通信。
[0107] 图2为本发明所述的维护转发表流程示意图。在订购节点S1有权限获取名称NA1标识的数据C1,名称NA1的签名为SG1,订购节点S1与路由器AR2相连的条件下,订购节点S1定期执行下述操作维护转发表:
[0108] 步骤201:开始;
[0109] 步骤202:订购节点S1发送订购消息,该订购消息的消息类型值为2,签名为SG1,负载为角色值0;
[0110] 步骤203:路由器AR2从接口x1接收到该订购消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤213,否则执行步骤204;
[0111] 步骤204:从接口x1接收到该订购消息的路由器AR2查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,则执行步骤205,否则执行步骤206;
[0112] 步骤205:从接口x1接收到该订购消息的路由器AR2选择一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤207;
[0113] 步骤206:从接口x1接收到该订购消息的路由器AR2创建一个转发表项,该转发表项的接口ID等于x1,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,生命周期设置为最大值;
[0114] 步骤207:从接口x1接收到该订购消息的路由器AR2从每个上游接口转发该订购消息;
[0115] 步骤208:路由器从接口x2接收到该订购消息后查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,且生命周期大于最大生命周期TM与阈值TH之差,则执行步骤213,否则执行步骤209;
[0116] 步骤209:从接口x2接收到该订购消息的路由器查看转发表,如果存在一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,则执行步骤210,否则执行步骤211;
[0117] 步骤210:从接口x2接收到该订购消息的路由器选择一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,将该转发表项的生命周期设置为最大值,执行步骤212;
[0118] 步骤211:从接口x2接收到该订购消息的路由器创建一个转发表项,该转发表项的接口ID等于x2,签名等于该订购消息的签名,角色域值等于该订购消息负载中的角色域值,生命周期设置为最大值;
[0119] 步骤212:从接口x2接收到该订购消息的路由器从除了接口x2以外的每个上游接口转发该订购消息,执行步骤208;
[0120] 步骤213:结束。
[0121] 订购节点通过上述过程建立任一个路由器与自己的路由路径,由于每个路由器只处理第一个接收到的订购消息,根据该订购消息建立到达该订购节点的路由路径,因此确保了该路由器到达该订购节点的路径性能为最优,即延迟最小,从而降低了订购节点获取数据的延迟;另外路由器在转发表中只保存了签名,并不知道该签名对应的名称,因此实现了数据的安全通信。
[0122] 图3为本发明所述的维护请求表流程示意图。每个路由器维护一个请求表,一个请求表项包含接口ID,签名和生命周期域;在订购节点S1有权限获取名称NA1标识的数据C1,名称NA1的签名为SG1,订购节点S1与路由器AR2相连的条件下,订购节点S1定期执行下述操作维护请求表:
[0123] 步骤301:开始;
[0124] 步骤302:订购节点S1发送请求消息,该请求消息的消息类型值为3,签名域值为SG1,负载为空;
[0125] 步骤303:路由器AR2从接口y1接收到该请求消息后查看请求表,如果存在一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,则执行步骤304,否则执行步骤305;
[0126] 步骤304:从接口y1接收到该请求消息的路由器AR2选择一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值,执行步骤306;
[0127] 步骤305:从接口y1接收到该请求消息的路由器AR2创建一个请求表项,该请求表项的接口ID等于y1,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值;
[0128] 步骤306:从接口y1接收到该请求消息的路由器AR2选择一个转发表项,该转发表项的签名等于该请求消息的签名,且角色域值等于1,从该转发表项的接口ID域值所标识的接口转发该请求消息;
[0129] 步骤307:判断是节点还是路由器从接口y2接收到该请求消息,如果是路由器从接口y2则执行步骤312,否则执行步骤308;
[0130] 步骤308:路由器从接口y2接收到该请求消息后查看请求表,如果存在一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,则执行步骤309,否则执行步骤310;
[0131] 步骤309:从接口y2接收到该请求消息的路由器选择一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值,执行步骤311;
[0132] 步骤310:从接口y2接收到该请求消息的路由器创建一个请求表项,该请求表项的接口ID等于y2,签名域值等于该请求消息的签名域值,将该请求表项的周期设置为最大值;
[0133] 步骤311:从接口y2接收到该请求消息的路由器选择一个转发表项,该转发表项的签名等于该请求消息的签名,且角色域值等于1,从该转发表项的接口ID域值所标识的接口转发该请求消息,执行步骤307;
[0134] 步骤312:结束。
[0135] 订购节点通过请求表建立自己到达提供节点之间的路由路径,由于该路由路径采用转发表来建立,而转发表中的路由器到达订购节点或者提供节点之间的路由路径性能为最优,因此该订购节点与提供节点之间的路由路径也最优,延迟最小,从而降低了订购节点获取数据的延迟;另外路由器在请求表中只保存了签名,并不知道该签名对应的名称,因此实现了数据的安全通信。
[0136] 图4为本发明所述的推送数据流程示意图。每个订购节点和提供节点分别维护一个数据表,一个数据表项包含名称域和数据域;在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1的条件下,如果提供节点P1更新了数据C1且网络性能稳定,例如丢包率小于1%,则提供节点P1通过下述过程推送数据:
[0137] 步骤401:开始;
[0138] 步骤402:提供节点P1查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于SG1,选择一个数据表项,该数据表项的名称域值等于NA1,然后用该秘钥表项的公钥加密该数据表项的数据域值得到加密后的数据;提供节点P1发送一个更新消息,该更新消息的消息类型值为4,签名为SG1,负载为加密后的数据;
[0139] 步骤403:判断是节点还是路由器接收到该更新消息,如果是路由器则执行步骤405,否则执行步骤404;
[0140] 步骤404:路由器接收到该更新消息后,选择所有签名域值等于该更新消息的签名域值的请求表项,针对每个选中的请求表项,该路由器从该请求表项的接口ID域值所标识的接口转发该更新消息,执行步骤403;
[0141] 步骤405:节点接收到该更新消息后,选择一个秘钥表项,该秘钥表项的签名等于该更新消息的签名域值,利用该秘钥表项的私钥域值解密该更新消息负载中的加密数据,并等到解密后的数据;节点查看数据表,判断是否存在一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值;如果存在,该节点则将该数据表项的数据域值更新为解密后的数据;否则,该节点创建一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值,数据域值等于解密后的数据;
[0142] 步骤406:结束。
[0143] 提供节点通过请求表将更新的数据推送给订购节点,由于请求表中提供节点到达订购节点之间的路由路径性能为最优,延迟最小,因此提供节点能够以最小的延迟将更新的数据发送给订购节点,大幅度降低了订购节点获取数据的延迟;另外路由器在请求表中只保存了签名,且更新的数据进行了加密,因此路由器并不知道该签名对应的名称以及更新的数据,因此实现了数据的安全通信。
[0144] 图5为本发明所述的发布数据流程示意图。在提供节点P1有权限产生和更新名称NA1标识的数据C1,名称NA1的签名为SG1的条件下,如果提供节点P1更新了数据C1且网络性能稳定,例如丢包率大于1%,则提供节点P1通过下述过程推送数据:
[0145] 步骤501:开始;
[0146] 步骤502:提供节点P1查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于SG1,提供节点P1选择一个数据表项,该数据表项的名称域值等于NA1,然后用该秘钥表项的公钥加密该数据表项的数据域值得到加密后的数据;提供节点P1发送一个发布消息,该发布消息的消息类型值为5,签名为SG1,负载为加密后的数据;
[0147] 步骤503:判断是节点还是路由器接收到该更新消息,如果是路由器则执行步骤509,否则执行步骤504;
[0148] 步骤504:路由器接收到该发布消息后,选择所有签名域值等于该发布消息的签名域值的请求表项,如果选中的请求表项的个数为0,则执行步骤505,否则执行步骤507;
[0149] 步骤505:接收到该发布消息的路由器查看转发表,选择所有签名域值等于该发布消息的签名域值且角色域值等于0的转发表项,如果选中的转发表项的个数为0,则执行步骤506,否则执行步骤508;
[0150] 步骤506:接收到该发布消息的路由器从每个上游接口和下游接口转发该发布消息,执行步骤503;
[0151] 步骤507:接收到该发布消息的路由器选择所有签名域值等于该发布消息的签名域值的请求表项,针对每个选中的请求表项,该路由器从该请求表项的接口ID域值所标识的接口转发该发布消息;
[0152] 步骤508:接收到该发布消息的路由器查看转发表,选择所有签名域值等于该发布消息的签名域值且角色域值等于0的转发表项,针对每个选中的转发表项,该路由器执行下述操作:该路由器查看是否存在一个请求表,该请求表的签名域值和接口ID域值分别等于该转发表项的签名域值和接口ID域值,如果存在,则该路由器不执行任何操作,否则该路由器从该转发表项的接口ID所标识的接口转发该发布消息,执行步骤503;
[0153] 步骤509:节点接收到该发布消息后,查看秘钥表,如果存在一个秘钥表项,该秘钥表项的签名等于该发布消息的签名域值,则执行步骤510,否则执行步骤511;
[0154] 步骤510:节点接收到该发布消息后,查看秘钥表,选择一个秘钥表项,该秘钥表项的签名等于该发布消息的签名域值,利用该秘钥表项的私钥域值解密该发布消息负载中的加密数据,并等到解密后的数据;节点查看数据表,判断是否存在一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值;如果存在,该节点则将该数据表项的数据域值更新为解密后的数据;否则,该节点创建一个数据表项,该数据表项的名称域值等于该秘钥表项的公钥域值,数据域值等于解密后的数据;
[0155] 步骤511:结束。
[0156] 在网络不稳定的情况下,为了确保每个订购节点能及时收到更新的数据,提供节点通过请求表和转发表将更新的数据推送给订购节点,由于请求表中提供节点到达订购节点之间的路由路径性能为最优,延迟最小,且转发表中任一路由器到达订购节点之间的路由路径性能也为最优,因此提供节点能够通过请求表和转发表以最小的延迟将更新的数据发送给订购节点,大幅度降低了订购节点获取数据的延迟;另外路由器在请求表中和转发表中只保存了签名,且更新的数据进行了加密,路由器并不知道该签名对应的名称以及更新的数据,因此实现了数据的安全通信。
[0157] 实施例1
[0158] 基于表1的仿真参数,本实施例模拟了本发明中的一种动态的数据发布和网络通信实现方法,性能分析如下:当数据传输量增加时,数据发布延迟增加,当数据传输量减少时,数据发布延迟减少,数据通信平均延迟为725ms。
[0159] 表1仿真参数
[0160]
[0161] 本发明提供了一种动态的数据发布和网络通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
专利联系人(活跃度排行)
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号