具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明实施例提供的一种基于自组织网络的区域消息悬浮方法的实施环境图,详述如下。
在本发明实施例中,提出了由位于消息悬浮区域内的多个节点设备通过无线链路组成的自组织网络,其中节点设备分为存储有区域悬浮信息的信息节点设备110以及未存储有区域悬浮信息的非信息节点设备120。为便于区别,实线圆形为信息节点设备110的信息传输范围,而虚线圆形为非信息节点设备120的信息传输范围。
在本发明实施例中,当信息节点设备在锚区内移动时,会不断将区域悬浮信息转发至自组织网络中与该信息节点设备相邻的非信息节点设备,以使非信息节点设备转变为新的信息节点设备,并基于同样的方式实现信息的转发,从而保证了区域悬浮信息在锚区内的悬浮。
在本发明实施例中,需要说明的一点是,在自组织网络中,各节点设备是对等的,节点不仅具有终端的功能也具备路由的功能,每个节点能独立自主地存储与转发数据。此外,节点设备的身份可以互换,也就是说,当一个未存储有区域悬浮信息的非信息节点设备接收到其他信息节点设备发送的区域悬浮信息后,其身份将转化为信息节点设备,并以信息节点设备的身份执行区域消息悬浮方法。
在本发明实施例中,可以看出,本发明提供的区域消息悬浮方法主要是依赖于信息节点设备转发区域悬浮信息的过程所实现的,其中运行于所述信息节点设备上的区域消息悬浮方法的具体步骤,请参阅图2及其解释说明。
本发明提供的区域消息悬浮方法,利用自组织网络实现了区域悬浮信息在消息悬浮区域内的悬浮,具体的,当某节点设备产生区域悬浮信息后,通过无线链路与区域内相邻的其他节点设备组成自组织网络,并将该区域悬浮信息转发至其他节点设备,进一步的,携带有区域悬浮信息的信息节点设备在区域内移动会基于同样的转发规则将该区域悬浮信息转发至其他非信息节点设备,也就是说,当新节点设备进入锚区后,会接收到来自其他信息节点设备的区域悬浮信息,同时该节点设备将成为信息节点设备以向其他非信息节点设备转发区域悬浮信息。通过上述持续不断的转发区域悬浮信息的过程,就能够始终将区域悬浮信息便保留在锚区中的节点设备中,从而实现了信息在锚区中的悬浮,克服传统方案中用户需向服务器发送请求导致反馈周期长的技术问题。
如图2所示,为本发明实施例提供的一种区域消息悬浮方法的步骤流程图,该方法主要以运行于如图1所示的信息节点设备110上,具体包括以下步骤:
步骤S202,根据预设的邻居节点获取规则获取至少一个邻居节点设备。
在本发明实施例中,所述邻居节点设备可以是信息节点设备通过邻居发现程序来实现的,具体的,是通过交换信标消息发现邻居的存在,节点设备会不断向外广播信标消息,当接收到其他节点设备返回的响应信息后,两者互为邻居节点设备。
步骤S204,根据预设的信息节点判断规则判断所述邻居节点设备是否为非信息节点设备。当判断所述邻居节点设备是非信息节点设备时,执行步骤S206;当判断所述邻居节点设备不是非信息节点设备时,执行其他步骤。
在本发明实施例中,具体的可以是通过发送与区域悬浮信息关联的标识信息,并接收邻居节点设备返回的响应信息来判断邻居节点设备是否为非信息节点设备。具体请参阅图6及其解释说明内容。当然也可以是基于其他可行的方式来判断邻居节点设备是否为非信息节点设备,具体实现方式有很多种,本发明在此不做具体的阐述。
步骤S206,根据预设的信息转发规则将存储的区域悬浮信息转发至所述邻居节点设备。
在本发明实施例中,会直接将区域悬浮信息发送给作为非信息节点设备的邻居节点设备。
作为本发明的一个优选实施例,考虑到当非信息节点设备的邻居节点设备存在多个信息节点设备时,多个信息节点设备都会将区域悬浮信息发送给该非信息节点设备,导致自组织网络的数据交换量大,影响了自组织网络的性能,基于此,提出了一种改进的信息转发规则,该转发规则涉及到与信息节点设备和非信息节点设备的邻居节点设备所关联的转发概率,在能够有效降低信息转发量的前提下,保证了信息悬浮的效果,具体请参阅图3及其解释说明。
本发明实施例提供了一种基于自组织网络的区域消息悬浮方法,运行于自组织网络中的信息节点设备上,其中自组织网络由位于消息悬浮区域内的多个节点设备通过无线链路组成,并且节点设备分为存储有区域悬浮信息的信息节点设备以及未存储有区域悬浮信息的非信息节点设备,区域悬浮信息中携带有消息悬浮区域信息,信息节点设备用于按照预设的步骤实现将区域悬浮信息转发至非信息节点设备,从而实现消息在指定区域内的悬浮。本发明提供的区域消息悬浮方法,利用自组织网络实现了区域悬浮信息在消息悬浮区域内的悬浮,具体的,当某节点设备产生区域悬浮信息后,通过无线链路与区域内相邻的其他节点设备组成自组织网络,并将该区域悬浮信息转发至其他节点设备,进一步的,携带有区域悬浮信息的信息节点设备在区域内移动会基于同样的转发规则将该区域悬浮信息转发至其他非信息节点设备,也就是说,当新节点设备进入锚区后,会接收到来自其他信息节点设备的区域悬浮信息,同时该节点设备将成为信息节点设备以向其他非信息节点设备转发区域悬浮信息。通过上述持续不断的转发区域悬浮信息的过程,就能够始终将区域悬浮信息保留在锚区中的节点设备中,从而实现了信息在锚区中的悬浮,克服传统方案中用户需向服务器发送请求导致反馈周期长的技术问题。
如图3所示,为本发明实施例中提供的一种信息转发规则的具体实现步骤,具体包括以下步骤:
步骤S302,获取二跳邻居节点设备。
在本发明实施例中,所述二跳邻居节点设备是指邻居节点设备的邻居节点设备。具体到本发明,针对于信息节点设备而言,是其作为非信息节点设备的邻居节点设备的邻居节点设备。
步骤S304,确定二跳邻居节点设备中的信息节点设备数量以及邻居节点设备中的非信息节点设备数量。
在本发明实施例中,统计作为非信息节点设备的邻居节点设备的邻居节点设备中的信息节点设备数量x以及自身的邻居节点设备中的非信息节点设备数量y。
步骤S306,根据所述二跳邻居节点设备中的信息节点设备数量以及邻居节点设备中的非信息节点设备数量确定信息发送概率。
在本发明实施例中,信息发送概率p满足:
可以看出,当x越大,也就是作为非信息节点设备的邻居节点设备,其具有的作为信息节点设备的邻居节点设备越多,则信息发送概率p越小,以防止大量的区域悬浮信息同时发送至该非信息节点设备,而当x=0时,也就是作为非信息节点设备的邻居节点设备,除该信息节点设备外,不具有其他作为信息节点设备的邻居节点设备,则信息发送概率p=1,也就是保证了该非信息节点设备一定能够收到区域悬浮信息。
步骤S308,根据所述发送概率将存储的区域悬浮信息转发至所述邻居节点设备。
本发明实施例提出的一种信息发送规则,充分考察了作为非信息节点设备的邻居节点设备,其具有的作为信息节点设备的邻居节点设备的数量以及自身具有的作为非信息节点设备的邻居节点设备的数量,在某一非信息节点设备的邻居节点设备的数量中信息节点设备足够多时,将尽可能减小发送概率p,以防止大量的区域悬浮信息同时发送至该非信息节点设备,同时还能有效保证该非信息节点设备接收到区域悬浮信息的可能性,提高了自组织网络的性能。
如图4所示,为本发明实施例提供的另一种区域消息悬浮方法的步骤流程图,具体包括以下步骤:
步骤S402,获取当前位置信息。
在本发明实施例中,对于节点设备而言,通常可以是通过GPS定位或者其他方式来获取位置信息,本发明在此不做具体的阐述。
步骤S404,根据所述消息悬浮区域信息以及当前位置信息判断是否离开所述消息悬浮区域。当判断离开所述消息悬浮区域时,执行步骤S406;当判断未离开所述消息悬浮区域时,执行其他步骤。
在本发明实施例中,区域悬浮信息中通常携带有消息悬浮区域信息,以保证该区域悬浮信息所存在的区域是在该消息悬浮区域内。因此为了保证消息可以悬浮在锚区内,需要判断消息所存在的信息节点设备的位置是否还处于该消息悬浮区域内。显然,当判断消息所存在的信息节点设备的位置还处于该消息悬浮区域内时,也就是信息节点设备尚未离开消息悬浮区域,仍需要继续按照前述的信息转发规则,将区域悬浮信息转发至其他的非信息节点设备,
步骤S406,丢弃所述区域悬浮信息。
在本发明实施例中,当判断消息所存在的信息节点设备的位置不处于消息悬浮区域内时,也就是信息节点设备已经离开消息悬浮区域,则可以丢弃该区域悬浮信息。
本发明实施例提供的区域消息悬浮方法充分保证了区域悬浮信息一定是悬浮在与该区域悬浮信息关联的消息悬浮区域内。
如图5所示,为本发明实施例提供的又一种区域消息悬浮方法的步骤流程图,详述如下。
在本发明实施例中,与图4所示出的另一种区域消息悬浮方法的步骤流程图的区别在于,在所述步骤S402后,还包括:
步骤S502,将当前位置信息发送给区域消息悬浮服务端。
在本发明实施例中,所述节点设备还与区域消息悬浮服务端通讯。具体的,也就是各个节点设备可以将当前位置信息发送给区域消息悬浮服务端,此时当前位置信息发送给区域消息悬浮服务端可以根据节点设备发送的位置信息绘制出消息悬浮区域内的区域悬浮信息的悬浮情况,也就是区域悬浮信息的分布信息,从而便于后续的区域消息悬浮规则调整。
如图6所示,为本发明实施例提供的一种信息节点判断规则的具体实现步骤,具体包括以下步骤:
步骤S602,向所述邻居节点设备发送携带有与区域悬浮信息关联的标识信息。
步骤S604,根据所述邻居节点返回的对所述标识信息的响应信息判断所述邻居节点设备是否为非信息节点设备。
在本发明实施例中,通过向所述邻居节点设备发送携带有与区域悬浮信息关联的标识信息,当邻居节点设备是信息节点设备时,则可以识别所述标识信息,并返回特定的响应信息,若否,则无法返回特定的响应信息,因此基于该响应信息就可以方便的确定出邻居节点设备是否为非信息节点设备。
如图7所示,为本发明实施例提供的一种区域消息悬浮装置的结构示意图,该装置主要设置于如图1所示的信息节点设备110上,具体包括以下单元:
邻居节点设备获取单元710,用于根据预设的邻居节点获取规则获取至少一个邻居节点设备。
在本发明实施例中,所述邻居节点设备可以是信息节点设备通过邻居发现程序来实现的,具体的,是通过交换信标消息发现邻居的存在,节点设备会不断向外广播信标消息,当接收到其他节点设备返回的响应信息后,两者互为邻居节点设备。
信息节点设备判断单元720,用于根据预设的信息节点判断规则判断所述邻居节点设备是否为非信息节点设备。
在本发明实施例中,具体的可以是通过发送与区域悬浮信息关联的标识信息,并接收邻居节点设备返回的响应信息来判断邻居节点设备是否为非信息节点设备。具体请参阅图6及其解释说明内容。当然也可以是基于其他可行的方式来判断邻居节点设备是否为非信息节点设备,具体实现方式有很多种,本发明在此不做具体的阐述。
信息转发单元730,用于当判断所述邻居节点设备是非信息节点设备时,根据预设的信息转发规则将存储的区域悬浮信息转发至所述邻居节点设备。
在本发明实施例中,会直接将区域悬浮信息发送给作为非信息节点设备的邻居节点设备。
作为本发明的一个优选实施例,考虑到当非信息节点设备的邻居节点设备存在多个信息节点设备时,多个信息节点设备都会将区域悬浮信息发送给该非信息节点设备,导致自组织网络的数据交换量大,影响了自组织网络的性能,基于此,提出了一种改进的信息转发规则,该转发规则涉及到与信息节点设备和非信息节点设备的邻居节点设备所关联的转发概率,在能够有效降低信息转发量的前提下,保证了信息悬浮的效果,具体请参阅图3及其解释说明。
本发明实施例提供了一种基于自组织网络的区域消息悬浮装置,设置于自组织网络中的信息节点设备上,其中自组织网络由位于消息悬浮区域内的多个节点设备通过无线链路组成,并且节点设备分为存储有区域悬浮信息的信息节点设备以及未存储有区域悬浮信息的非信息节点设备,区域悬浮信息中携带有消息悬浮区域信息,信息节点设备用于按照预设的步骤实现将区域悬浮信息转发至非信息节点设备,从而实现消息在指定区域内的悬浮。本发明提供的区域消息悬浮装置,利用自组织网络实现了区域悬浮信息在消息悬浮区域内的悬浮,具体的,当某节点设备产生区域悬浮信息后,通过无线链路与区域内相邻的其他节点设备组成自组织网络,并将该区域悬浮信息转发至其他节点设备,进一步的,携带有区域悬浮信息的信息节点设备在区域内移动会基于同样的转发规则将该区域悬浮信息转发至其他非信息节点设备,也就是说,当新节点设备进入锚区后,会接收到来自其他信息节点设备的区域悬浮信息,同时该节点设备将成为信息节点设备以向其他非信息节点设备转发区域悬浮信息。通过上述持续不断的转发区域悬浮信息的过程,就能够始终将区域悬浮信息保留在锚区中的节点设备中,从而实现了信息在锚区中的悬浮,克服传统方案中用户需向服务器发送请求导致反馈周期长的技术问题。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的信息节点设备110。如图8所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现区域消息悬浮方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行区域消息悬浮方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的区域消息悬浮装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该区域消息悬浮装置的各个程序模块,比如,图7所示的邻居节点设备获取单元710、信息节点设备判断单元720以及信息转发单元730。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的区域消息悬浮方法中的步骤。
例如,图8所示的计算机设备可以通过如图7所示的区域消息悬浮装置中的邻居节点设备获取单元710执行步骤S202;计算机设备可通过信息节点设备判断单元720执行步骤S204;计算机设备可通过信息转发单元730执行步骤S206。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
根据预设的邻居节点获取规则获取至少一个邻居节点设备;
根据预设的信息节点判断规则判断所述邻居节点设备是否为非信息节点设备;
当判断所述邻居节点设备是非信息节点设备时,根据预设的信息转发规则将存储的区域悬浮信息转发至所述邻居节点设备。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
根据预设的邻居节点获取规则获取至少一个邻居节点设备;
根据预设的信息节点判断规则判断所述邻居节点设备是否为非信息节点设备;
当判断所述邻居节点设备是非信息节点设备时,根据预设的信息转发规则将存储的区域悬浮信息转发至所述邻居节点设备。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。