首页 / 专利库 / 资料储存系统 / 区块链 / 主动推送信息的方法和嵌入式节点操作系统

主动推送信息的方法和嵌入式节点操作系统

阅读:892发布:2023-09-25

专利汇可以提供主动推送信息的方法和嵌入式节点操作系统专利检索,专利查询,专利分析的服务。并且本 发明 申请 公开了主动推送信息的方法和嵌入式 节点 操作系统 ,方法包括:当采集节点采集的数据发生变化时,所述采集节点根据路由表规划出推送路径,将本次采集数据、 区 块 链 中末端信息 摘要 和推送路径进行封装,将封装好的信息主动推送到网络通信可以到达的第一邻居节点,并将本次采集的数据写入所述采集节点的区块链的末端,最后将封装好的信息发送至 云 端。,下面是主动推送信息的方法和嵌入式节点操作系统专利的具体信息内容。

1.一种基于事件驱动的网络节点主动推送信息的方法,其特征在于包括如下步骤:
a)检测节点采集的数据是否发生变化;
b)当节点采集的数据发生变化时,所述采集节点通过网络信息管理单元根据路由表规划出推送路径,将数据信息主动推送到网络通信可以到达的第一邻居节点;
c)所述节点通过网络信息管理单元将本次采集的数据更新到文件单元。
2.根据权利要求1所述的主动推送信息的方法,其特征在于所述数据信息的主动推送是将本次采集数据、链中末端信息摘要和推送路径进行封装后实施推送的。
3.根据权利要求2所述的主动推送信息的方法,其特征在于还包括如下步骤:
所述第一邻居节点收到所述封装好的信息后,将所述封装好的信息中的本次时间戳、采集节点标示以及数据按照时间戳的先后归并到区块链中;同时按照所述推送路径,将所述收到的封装好的信息主动推送到第二邻居节点。
4.根据权利要求1所述的主动推送信息的方法,其特征在于还包括:当新的节点加入联网之后,将更新的路由发送至全网络更新路由表。
5.根据权利要求2所述的主动推送信息的方法,其特征在于所述第一步中所述端收到所述封装好的数据后,将所述封装好的数据按照信息摘要进行区分。
6.根据权利要求3所述的主动推送信息的方法,其特征在于当所述节点收到的信息中,区块链末端的时间戳、末端节点采集个数以及末端采集节点标示与邻居节点的区块链中的区块不相符时,则所述节点向所述云端发出请求,所述请求包含区分信息版本的信息摘要;
所述云端收到所述请求后,按照信息摘要将相应版本的区块以及位于该区块之后的所有区块发送给所述节点。
7.根据权利要求6所述的主动推送信息的方法,其特征在于当所述节点接收到两个以上具有相同信息摘要的信息版本,且这些信息版本的内容不同时,则所述节点向所述云端发出请求,所述请求包含区分数据版本的信息摘要;所述云端收到所述请求后,按照信息摘要将相应版本的区块以及位于该区块之后的所有区块发送给所述节点。
8.根据权利要求1所述的主动推送信息的方法,其特征在于所述网络信息管理单元通过应用接口单元将其提供的信息推送服务转换成上层应用程序所能够使用的接口。
9.根据权利要求8所述的主动推送信息的方法,其特征在于所述应用接口单元调用位于MAC层的协议栈管理单元来调用不同网络协议,从而支持不同通信方式和组网方式的底层设备的信息推送。

说明书全文

主动推送信息的方法和嵌入式节点操作系统

技术领域

[0001] 本发明申请涉及一种主动推送信息的方法,本发明申请还涉及一种主动推送信息的嵌入式节点操作系统。

背景技术

[0002] 操作系统旨在为用户提供一个良好的用户接口。性能优良的操作系统可以使得整个系统在运行过程中资源配置优化合理、工作稳定可靠。
[0003] 当前主要的无线传感器网络操作系统如下:
[0004] (1)TinyOS是美国加州大学伯克利分校开发的一个开源嵌入式操作系统,它基于组件的架构方式,能够快速的实现各种应用,目前主要应用在无线传感器网络领域。
[0005] (2)MiniOS是基于传感器网络节点硬件环境的多任务操作系统,为用户提供简便易用的通用开发平台。
[0006] (3)MantisOS是美国科罗拉多大学研发的面向传感器网络的微型操作系统,提供多频率通信,适合多任务传感器节点。
[0007] 其中应用最为广泛的是TinyOS,目前国内外传感网应用方面的研发大都采用TinyOS的软件体系设计。但TinyOS在功能和硬件限制之间采用折中的办法。受到内存空间的限制,TinyOS在任务管理上采用先进先出的调度策略,这样很难适应日益复杂的传感器系统的应用要求。随着微控制器的发展,其处理能和存储容量逐渐增大,单任务的操作系统已经不能充分利用系统资源,满足复杂的用户需求。
[0008] 以上背景技术内容的公开仅用于辅助理解本发明申请的专利申请构思及技术方案,其并不必然属于本发明申请的现有技术,在没有明确的证据表明上述内容在本发明申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
[0009] 专利申请内容
[0010] 本发明申请(主要)目的在于提出一种主动推送信息的方法和嵌入式节点操作系统,以解决上述现有技术存在的效率低下的技术问题。
[0011] 为此,本发明申请提出一种主动推送信息的方法,包括如下步骤:第一步:当采集节点采集的数据发生变化时,所述采集节点根据路由表规划出推送路径,将本次采集数据、链中末端信息摘要和推送路径进行封装,将封装好的信息主动推送到网络通信可以到达的第一邻居节点,并将本次采集的数据写入所述采集节点的区块链的末端,最后将封装好的信息发送至端。
[0012] 所述的主动推送信息的方法还包括如下步骤:第二步:所述第一邻居节点收到所述封装好的信息后,将所述封装好的信息中的本次时间戳、采集节点标示以及数据按照时间戳的先后归并到区块链中;同时按照所述推送路径,将所述收到的封装好的信息主动推送到第二邻居节点。
[0013] 第一步之前还包括:所述采集节点联网之后,与云端通信,全网络更新路由表。
[0014] 所述第一步中所述云端收到所述封装好的数据后,将所述封装好的数据按照信息摘要进行区分。
[0015] 所述第一步或第二步中,节点收到的信息中,区块链末端的时间戳、末端节点采集个数以及末端采集节点标示与邻居节点的区块链中的区块不相符时,则所述节点向所述云端发出请求,所述请求包含区分信息版本的信息摘要;所述云端收到所述请求后,按照信息摘要将相应版本的区块以及位于该区块之后的所有区块发送给所述节点。
[0016] 当所述节点接收到两个以上具有相同信息摘要的信息版本,且这些信息版本的内容不同时,则所述节点向所述云端发出请求,所述请求包含区分数据版本的信息摘要;所述云端收到所述请求后,按照信息摘要将相应版本的区块以及位于该区块之后的所有区块发送给所述节点。
[0017] 一种主动推送信息的嵌入式节点操作系统,包括网络信息管理单元,所述网络信息管理单元适用于当采集节点采集的数据发生变化时,控制所述采集节点根据路由表规划出推送路径,将本次采集数据、区块链中末端信息摘要和推送路径进行封装,将封装好的信息主动推送到网络通信可以到达的第一邻居节点,并将本次采集的数据写入采集节点的区块链的末端,最后将封装好的信息发送至云端。
[0018] 所述第一邻居节点收到所述采集节点分享的所述封装好的信息后,网络信息管理单元将所述封装好的信息中的本次时间戳、采集节点标示以及数据按照时间戳的先后归并到区块链中;同时按照所述推送路径,将所述收到的封装好的信息主动推送到第二邻居节点。
[0019] 所述的主动推送信息的嵌入式节点操作系统,还包括应用接口单元、文件单元、硬件资源管理单元,所述文件单元管理和存储文件信息,所述硬件资源管理单元对硬件资源进行管理,所述应用接口单元将所述文件单元、硬件资源管理单元和网络信息管理单元所提供的服务转换成上层应用程序所能够使用的编程接口。
[0020] 所述的主动推送信息的嵌入式节点操作系统,还包括协议栈管理单元和设备驱动管理单元,所述协议栈管理单元封装了不同网络协议协议栈的库函数的集合,所述应用接口单元还提供与协议栈库函数进行交互的接口;所述设备驱动管理单元管理底层设备应用驱动,通过应用驱动来调用协议栈管理单元内的对应的协议栈库函数。
[0021] 本发明申请与现有技术对比的有益效果包括:本发明申请以事件驱动的方式主动传送和更新信息,不再需要发起基于“请求数据-确认收到请求-发送数据-确认收到数据”方式(相当于TCP方式),或“请求数据-发送数据”方式(相当于UDP方式)的多次应答通信过程,简化了通信流程,提高了通信效率。通过数据更新,保证了数据的准确可靠。附图说明
[0022] 图1是本发明申请的主动推送信息的嵌入式节点操作系统的组成示意图。
[0023] 图2是本发明申请的主动推送信息的嵌入式节点操作系统支持的一种网状网络示意图。
[0024] 图3是一种主动推送信息方法的过程示意图。
[0025] 图4是一种主动推送信息方法的流程图
[0026] 图5是一种主动推送信息方法中数据更新的流程图。
[0027] 图6是本发明申请主动推送信息的嵌入式节点操作系统设备驱动管理示意图。
[0028] 图7是本发明申请中的区块链的示意图。

具体实施方式

[0029] 下面结合具体实施方式并对照附图对本发明申请作进一步详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明申请的范围及其应用。
[0030] 参照以下附图,将描述非限制性和非排他性的实施例,其中相同的附图标记表示相同的部件,除非另外特别说明。
[0031] 本领域技术人员将认识到,对以上描述做出众多变通是可能的,所以实施例仅是用来描述一个或多个特定实施方式。
[0032] 本文中,第一邻居节点是指在采集节点一跳通信范围内的节点。本文中的归并,指的是当邻居节点收到两份或更多相同本次时间戳但不同采集节点标示发过来的信息时,邻居节点要将这些信息合并成时间戳、采集节点个数、采集节点标示、数据、采集节点标示、数据……的形式。其中采集节点个数根据采集节点标示的个数来确定,每个采集节点标示后面紧跟它的数据,采集节点标示的顺序可以事先约定,譬如采用升序排序等。
[0033] 如图1所示,一种主动推送信息的嵌入式节点操作系统,包括网络信息管理单元、应用接口单元、文件单元、硬件资源管理单元、协议栈管理单元和设备驱动管理单元。
[0034] 网络信息管理单元适用于当采集节点采集的数据发生变化时,控制采集节点根据路由表规划出推送路径,按照规定的格式将本次采集数据、区块链中末端信息摘要和推送路径进行封装,将封装好的信息主动推送到网络通信可以到达的第一邻居节点,并将本次采集的数据写入采集节点的区块链的末端,最后将封装好的信息发送至云端。在一个实施例中,信息摘要包括时间戳、采集节点个数及采集节点标示。
[0035] 第一邻居节点收到所述采集节点分享的所述封装好的信息后,网络信息管理单元将所述封装好的信息中的本次时间戳、采集节点标示以及数据按照时间戳的先后归并到区块链中;同时按照所述推送路径,将所述收到的封装好的信息主动推送到第二邻居节点。以此类推,第二邻居节点可以将封装好的信息主动推送到第三邻居节点。主动推送的次数可以根据网络的具体情况而定。
[0036] 硬件资源管理单元对硬件资源进行管理,应用接口单元将文件单元、硬件资源管理单元和网络信息管理单元所提供的服务转换成上层应用程序所能够使用的编程接口。
[0037] 协议栈管理单元封装了不同网络协议协议栈的库函数的集合,应用接口单元还提供与协议栈库函数进行交互的接口;设备驱动管理单元管理底层设备应用驱动,通过应用驱动来调用协议栈管理单元内的对应的协议栈库函数。本发明申请使协议栈封装了库函数,操作系统为协议栈提供调度接口。操作系统支持不同通信方式和组网方式的底层设备,并能够调用这些设备的应用驱动,在网络的路由和应用管理方面调用不同的协议栈库函数,实现对多种通信方式和协议的兼容。这保证了网络的通用性。
[0038] 上层应用程序位于操作系统之上的,是为用户提供某一特定服务的应用程序的集合。
[0039] 协议栈管理单元是指封装了不同网络协议协议栈的库函数的集合,可以认为它位于MAC层。
[0040] 应用接口单元为应用接口的集合,将文件单元、任务管理单元和信息管理单元所提供的服务包装成上层应用程序所能够使用的编程接口,并提供与协议栈库函数进行交互的接口。
[0041] 文件单元负责管理和存储文件信息,对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索。
[0042] 硬件资源管理单元负责对硬件资源进行管理,包括处理器管理、存储管理和IO(输入输出设备)管理。处理器管理子单元负责分配和控制处理器。存储器管理子单元负责内存的分配与回收。IO设备管理管理子单元负责IO设备的分配与操纵。
[0043] 网络信息管理单元负责对网络信息的管理,其包含数据推送子单元和数据更新子单元。数据推送子单元负责节点间信息的自动推送,数据更新子单元负责节点间数据的更新。
[0044] 设备驱动管理单元负责管理底层设备应用驱动,通过不同的应用驱动来调用不同的协议栈库函数,实现对多种通信方式和协议的兼容。如图6所示,通过设备驱动管理和协议栈管理,可以支持多种组网形式,包括但不限于星型网络、网状网络、环状网络等不同网络拓扑结构;也可以支持多种无线通信协议,包括但不限于WiFi、ZigBee、Bluetooth。根据不同通信方式和组网方式的底层设备,可以调用这些设备相应的应用驱动,在网络的路由和应用管理方面调用不同的协议栈库函数,实现对多种通信方式和协议的兼容。
[0045] 随着物联网技术的飞速发展,越来越多的物品被联网。但由于各阶段、各地区投入建设的信息系统的标准不同,难以实现互联互通,形成一个个所谓的“信息孤岛”。使用本申请可以兼容多种网络、多种协议,实现互联互通。
[0046] 主动推送信息,是指任何节点都可以在网络通信可以到达的范围内读取网络中各节点推送和更新的数据。各个节点以事件驱动的方式(Event-Driven)主动传送和更新,不再需要发起基于“请求数据-确认收到请求-发送数据-确认收到数据”方式(相当于TCP方式),或“请求数据-发送数据”方式(相当于UDP方式)的多次应答通信过程。事件驱动指的是当特定事件的取值发生变化时,会调用网络信息管理功能来进行处理,而特定事件的定义由网络信息管理功能来进行维护。
[0047] 下面给出一种可行的主动推送信息的方法,以网状网络为例,网络结构图如图2所示。
[0048] 如图2所示,一个网状网络包括六个节点,六个节点均可以和云端相互通信。节点1可以和节点2、3、6相互通信;节点2可以和节点1、3、4相互通信;节点3可以和节点1、2、4相互通信;节点4可以和节点2、3、5相互通信;节点5可以和节点4、6相互通信;节点6可以和节点1、5相互通信。
[0049] 如图2、3、4所示,一种主动推送信息的方法,包括如下步骤:
[0050] 第一步:当采集节点采集的数据发生变化时,所述采集节点根据路由表规划出推送路径,按照规定的格式将本次采集数据、区块链中末端信息摘要和推送路径进行封装,将封装好的信息主动推送到网络通信可以到达的第一邻居节点,并将本次采集的数据写入采集节点的区块链的末端,最后将封装好的信息发送至云端。
[0051] 如果采集节点和第一邻居节点实现了全网覆盖,则实现了数据的全网推送。
[0052] 信息摘要包括时间戳、采集节点个数及采集节点标示。
[0053] 第一邻居节点是指在采集节点一跳通信范围内的节点。
[0054] 规定格式可以为:
[0055]
[0056] 此格式仅为网络层示意,包括校验等其他部分请参见相应网络协议。因为数据包的其他部分不在本发明保护范围内,故未列出。
[0057] 区块链为一种存储历史数据的链表结构,通过记录时间戳、采集节点的个数、采集节点表示和数据,来达到记录的目的。区块链的示意图如图7所示。
[0058] 不同的区块大小不同,是因为某一个时间点可能有若干个节点采集数据,所以需要采集节点个数来记录此时刻数据变化的节点个数。
[0059] 上述主动推送信息的方法,还包括如下步骤:第二步:所述第一邻居节点收到所述封装好的信息后,将所述封装好的信息中的本次时间戳、采集节点标示以及数据按照时间戳的先后归并到区块链中;同时按照所述推送路径,将所述收到的封装好的信息主动推送到第二邻居节点。
[0060] 如果采集节点和第一邻居节点未实现了全网覆盖,则第二步可以进一步实现数据的进一步推送。第二步之后,还可以根据需要进行第三步:第二邻居节点收到所述封装好的信息后,将所述封装好的信息中的本次时间戳、采集节点标示以及数据按照时间戳的先后归并到区块链中;同时按照所述推送路径,将所述收到的封装好的信息主动推送到第三邻居节点。以此类推,直至完成推送路径中的所有节点。
[0061] 归并,指的是当邻居节点收到两份或更多相同本次时间戳但不同采集节点标示发过来的信息时,邻居节点要将这些信息合并成时间戳、采集节点个数、采集节点标示、数据、采集节点标示、数据……的形式。其中采集节点个数根据采集节点标示的个数来确定,每个采集节点标示后面紧跟它的数据,采集节点标示的顺序可以事先约定,譬如采用升序排序等。
[0062] 上述的主动推送信息的方法,在第一步之前还包括:采集节点联网之后,与云端通信,全网络更新路由表。
[0063] 如图3所示,在一个实施例中,主动推送信息的方法包括如下步骤:
[0064] 1)节点6作为新节点,加入网络。
[0065] 2)节点6与云端通信,请求更新路由。
[0066] 3)云端将节点6加入到路由当中,并将更新后的路由发送给全网络的所有节点;
[0067] 4)节点6采集信息,根据路由规划出推送路径,按照预设的格式将信息和推送路径将数据进行封装;
[0068] 5)节点6将数据发送给第一邻居节点(节点1、节点5)和云端;
[0069] 6)节点1按照推送路径将数据发送给节点2、节点3(第二邻居节点),节点5按照推送路径将数据发送给节点4(第二邻居节点)。
[0070] 如图4所示,在另一个实施例中,主动推送信息的方法包括如下步骤:
[0071] 第1步:节点接入网络;
[0072] 第2步:节点与云端进行通信,请求更新路由;
[0073] 第3步:接收云端更新的路由;
[0074] 第4步:节点采集数据;
[0075] 第5步:检测采集的数据是否发生变化,如果是,转向第6步;否则,转向第8步;
[0076] 第6步:节点根据路由规划出推送路径,封装完毕后,将信息推送到可以到达的节点并将信息加入区块链;
[0077] 第7步:节点将数据发送给云端;
[0078] 第8步:节点查看接收数据缓存中是否有新的数据,如果没有新数据,继续第4步;如果有新数据,转向第9步;
[0079] 第9步:节点将新收到的信息归并入区块链;
[0080] 第10步:将接收到的信息按照路由规划继续推送给其他节点,转向第4步。
[0081] 云端收到封装好的信息后,将封装好的信息按照信息摘要进行区分。所有的数据在云端处均有备份,以区块链的方式存储并按照信息摘要进行区分。数据的推送以采集数据变化作为事件驱动的方式,即在每当采集的数据发生变化,节点要进行一次数据推送。
[0082] 如果在主动推送数据的过程中,邻居节点收到的信息中,区块链末端的时间戳、末端节点采集个数以及末端采集节点标示与邻居节点的区块链中的区块不相符,则所述邻居节点向所述云端发出请求,所述请求包含区分信息版本的信息摘要;所述云端收到所述请求后,按照信息摘要将相应版本的区块以及位于该区块之后的所有区块发送给所述邻居节点。
[0083] 当邻居节点接收到两个以上具有相同信息摘要的信息版本,且这些信息版本的内容不同时,则所述邻居节点向所述云端发出请求,所述请求包含区分数据版本的信息摘要;所述云端收到所述请求后,按照信息摘要将相应版本的区块以及位于该区块之后的所有区块发送给所述邻居节点。
[0084] 如图5所示,在另一个实施例中,主动推送过程中还会进行如下数据更新操作:
[0085] 第1步:邻居节点收到信息;
[0086] 第2步:检测区块链末端的时间戳、末端节点采集个数以及末端采集节点标示与邻居节点的区块链中的区块是否相符,如果是,继续第3步;否则转向第6步;
[0087] 第3步:检测是否有本次时间戳相同但采集节点标示不同的信息,如果有,继续第4步;否则转向第5步;
[0088] 第4步:进行归并处理,即将信息合并成时间戳、采集节点个数、采集节点标示、数据、采集节点标示、数据······的形式。其中采集节点个数根据采集节点标示的个数来确定,每个采集节点标示后面紧跟它的数据;
[0089] 第5步:检测是否有本次时间戳相同、采集节点个数相同、采集节点标示相同但数据内容不同的信息,如果是,继续第6步;否则转向第8步;
[0090] 第6步:邻居节点向云端发出请求,请求包含区分数据版本的信息摘要(注意,如果是从第2步跳转过来,信息摘要是指区块链末端的时间戳、末端节点采集个数和末端采集节点标示;如果是从第5步跳转过来,信息摘要是指本次时间戳、采集节点个数和采集节点标示);
[0091] 第7步:云端根据需要将相应的区块发送;
[0092] 第6步:邻居节点将信息加入自己的区块链;
[0093] 数据更新是指通过管理区块链以记录各节点应用数据和有效时间等信息的方式来区分不同数据版本。所谓的特定标示包括但不限于时间戳、事件驱动。
[0094] 采用本发明申请可以形成一个高效可靠通用的无线网络。
[0095] 任何节点都可以通过该软件在网络通信可以到达的定义范围内读取网络中各节点推送和更新的数据,而这些能够读取的数据的定义可由网络信息管理功能来进行维护。
[0096] 尽管已经描述和叙述了被看作本发明申请的示范实施例,本领域技术人员将会明白,可以对其作出各种改变和替换,而不会脱离本专利申请的精神。另外,可以做出许多修改以将特定情况适配到本发明申请的教义,而不会脱离在此描述的本发明申请中心概念。所以,本发明申请不受限于在此披露的特定实施例,但本发明申请可能还包括属于本发明申请范围的所有实施例及其等同物。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈