法律状态公告日
法律状态信息
法律状态
2017-09-22
授权
授权
2015-08-26
实质审查的生效 IPC(主分类):H04L12/58 申请日:20150519
实质审查的生效
2015-07-29
公开
公开
技术领域
本发明涉及数据通讯技术领域,尤其涉及一种基于地理位置与空间范围的 多用户通讯方法。
背景技术
目前,对于特定空间范围内、受众比较广泛且比较正式的通知、公告,一 般采用比较传统的方式进行信息传播,比如,社区内的通知、公告等,一般是 通过张贴或橱窗的形式传播,又比如,园区、市区内的通知、公告等,一般是 通过报纸、广播等形式告知。
而现在社会,随着互联网技术和各种移动终端技术的不断发展,人们已经习 惯于使用移动终端,通过互联网传播信息,而对于上述传统的信息传播方式, 显得越来越淡漠,且不乐于使用。
为了适应现在社会中人们对于信息传播的习惯,急需一种信息传播方法,基 于地理位置信息和空间范围,利用互联网移动终端技术来完成对受众比较广泛 且比较正式的通知、公告等信息的传播。
另外,目前的一些通讯软件一般是针对于好友或熟悉的人之间进行交流使 用,通过添加好友一对一通讯,或者出于某个目的,比如相同的爱好,建立好 友群进行通讯,而对于非好友或不熟悉的人之间没有合适的软件使用。
人们所处的地理位置反应了人们居住与工作环境、社会活动的区域,从一个 层面也体现了其社会交往、经济活动的特征,所以,处于同一地理区域范围内 的人们之间,即便没有相同的目的,也具有交互的需求,而目前的通讯软件中, 对于没有相同的目的,比如兴趣爱好的人们之间无法建立通讯联系,进行交互。
所以,针对上述这些情况,需要一种基于地理位置与空间范围的可进行多用 户之间通讯的方法。
发明内容
本发明的目的在于提供一种基于地理位置与空间范围的多用户通讯方法, 从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种基于地理位置与空间范围的多用户通讯方法,包括如下步骤:
S1,将一个地区所覆盖的范围划分成若干不交叠的区域块;
S2,获取每个区域块的所有邻居块以及连接权重,所述连接权重为区域块与 邻居块之间的距离;
S3,获取每个区域块内的所有用户;
S4,确定发送信息的用户所在的区域块和信息传播距离权限;
S5,比较发送信息的用户所在的区域块的连接权重和信息传播距离权限之间 的大小,确定接收信息的邻居块;
S6,将信息发送至所述接收信息的邻居块和发送信息的用户所在的区域块内 的所有用户。
优选地,S1包括如下步骤:
S101,设定划分区域块的起点P,并将起点P的二维坐标置为:x=0,y=0;
S102,以起点P为地区的左上角起点,划分出长度为Height、宽度为Width 的区域块;
S103,比较起点P的x坐标与地区宽度范围值的大小,如果起点P的x坐 标大于地区宽度范围值,则执行S104,否则转到S102;其中,x坐标为: x=x+Width;
S104,将起点P的x坐标置为0,比较起点P的y坐标与地区高度范围值 的大小,如果起点P的y坐标大于地区高度范围值,则结束,否则转到S102; 其中,y的坐标为:y=y+Height。
优选地,区域块的Height和Width根据地区人口稠密度进行取值,人口越 稠密取值越低,人口越稀疏取值高,Height的取值为:100-500m,Width的取 值为:100-500m。
进一步地,S102中还包括步骤,指定所述区域块的编号属性和位置范围属性, 其中,编号属性为生成的UUID编号,位置范围属性包括起点、长度和宽度。
优选地,S2包括如下步骤:
S201,建立区域块的邻居列表NeighborList,并初始化邻居列表,邻居列表 包含0个表项;
S202,建立区域块的边列表BorderList,并初始化边列表,边列表的每一 个表项存储区域块的一条边,将区域块的所有边均放入边列表中;设置添加数 量计数器AddedCount,且置为0;
S203,获取与边列表BorderList中的边相交,且不在邻居列表NeighborList 中的所有区域块,并放入到列表TestList之中;
S204,从列表TestList中取出一个区域块放入变量TempArea中;
S205,计算变量TempArea的中心点到区域块中心点的距离,如果该距离小 于设定的最大邻居阈值MaxDistance,则执行S026,否则执行S207;
S206,构造一个邻居列表的表项,邻居编号为TempArea的编号,连接权重 为TempArea中心点到Area中心点的距离,将该表项加入到邻居列表 NeighborList中;将TempArea的所有边加入到BorderList之中, AddedCount=AddedCount+1;
S207,判断TestList中是否还存在区域块,如果有,则转到S204,否则转 到S208;
S208,判断AddedCount是否大于0,如果是,则转到S203,否则结束。
优选地,S3包括如下步骤:
S301,获取用户所在的地理位置;
S302,根据用户所在的地理位置,确定覆盖用户所在的地理位置的区域块;
S303,将用户ID添加到区域块对应的用户列表中,根据用户列表,获取区 域块内的所有用户。
进一步地,S303之后还包括步骤S304:对每个用户列表进行定时轮询和更新。
优选地,S304包括如下步骤:
S3041,等待轮询时间;
S3042,从原用户列表中取出一个用户放入变量user之中;
S3043,判断变量user的地理位置是否在原用户列表对应的区域块所覆盖的 范围内,如果否,则转到S3044,否则转到S3046;
S3044,根据变量user的地理位置,确定覆盖变量user的地理位置的区域块, 并将变量user的ID添加到该区域块对应的用户列表中
S3045,在原用户列表中删除放入变量user中的用户;
S3046,遍历原用户列表中的所有用户,重复执行S3042-S3045。
具体地,S4中,所述信息传播距离权限由用户设定或由服务商设定。
优选地,S5具体为:如果连接权重小于信息传播距离权限,则该连接权重 对应的邻居块为接收信息的邻居块。
本发明的有益效果是:采用本发明实施例提供的基于地理位置与空间范围 的多用户通讯方法,使用户在发出信息之后,该信息可以在其周边一定空间、 时间范围内进行传播,处于该范围内的用户可以接收到该信息;还可以设定发 出信息传播的距离权限,利用该权限可以控制消息的传播距离。因此,可以使 得邻居之间、同一街道社区之间、同一办公大楼或园区之间的用户进行大范围 的交互通讯、同时在区域内可以发布知、公告、广告;带来较好的用户体验。
附图说明
图1是本发明实施例一提供的基于地理位置与空间范围的多用户通讯方法 的流程示意图;
图2是本发明实施例二提供的划分区域块的方法;
图3是本发明实施例二提供的区域块的结构示意图;
图4是本发明实施例三提供的获取每个区域块的所有邻居块以及连接权重 的方法的流程示意图;
图5是本发明实施例四提供的获取每个区域块内的所有用户方法的流程示 意图;
图6是本发明实施例四提供的用户列表轮询更新的方法流程示意图;
图7是本发明实施例五提供的向邻居块发送消息的方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本 发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解 释本发明,并不用于限定本发明。
随着计算机技术的发展,通过计算机和移动互联网终端进行通讯变得更加容 易。人们也逐渐适应了使用这种通讯方式进行信息的传播。
通讯软件的用户所在地理位置反映了其居住与工作环境、社会活动的区域, 从一个层面也体现了其社会交往、经济活用的特征,因此在通讯过程中利用地 理位置与空间范围可以进一步为用户提供更加贴近其需求的使用体验,而且可 以带来基于一定区域内的通知、公告、广告的便利,具有重要的社会与经济价 值。
目前,已经出现了一些具备一定地理位置处理功能通讯软件,在软件中,可 以通过“查找周边的用户”或者“按距离远近进行排序”向用户提供备选好友 的列表,用户可以基于该列表,选择一对一交流或者建立群组进行交流。
但是,这些软件需要与用户进行交互,通过用户选择交流对象或者管理者允 许用户进入,用户才能参与在一定空间范围内的多用户之间的交流,如果用户 未加入该群组,或者管理者未同意该用户加入,则用户无法接收到所处空间范 围内的信息,从而导致公告或通知无法及时的送达到该区域的所有用户,比如, 一个社区内的所有用户,只能都加入社区管委会建立的社区交流群组,才能使 社区内的所有用户均能接收到社区对所有用户发送的通知或公告,而实际生活 中,有很多社区业主不知晓需要加入该群组,从而未加入,导致无法接收到社 区的通知或公告。又比如,而处于同一区域范围内的人们由于具有相同的生活 或工作环境,可能具有交互的需求,而由于人们不认识或不熟悉,则无法通过 添加好友等方式进行交互。
可见,现有技术的通讯软件,虽然具备一定的地理位置处理功能,但是无法 保证一定空间范围内的所有用户均能接收到该空间范围内的用户发送的信息。
同时,现有技术的通讯软件,也无法对群组之外的用户进行扩展,给群组之 外的用户发送信息。从而割裂了位置相邻群体之间的直接联系,使得邻居之间、 同一街道多个社区之间、同一办公大楼多个办公室之间或同一园区不同的公司 之间无法无障碍的进行群体交互;进而无法扩大用户发送信息的传播距离、扩 大信息的影响范围、使更多的用户获知信息。从而无法使得本欲在一个空间范 围内传播的信息,在该空间范围内,以及与该空间范围相邻的空间范围内均能 够得到传播。
本实施例提供的技术方案,解决了现有通讯软件在一定空间范围传播信息 时,需要进行用户交互,以及无法进行扩展,使相邻空间范围的用户也能接收 信息的问题。
实施例一
如图1所示,本发明实施例提供了一种基于地理位置与空间范围的多用户通 讯方法,包括如下步骤:
S1,将一个地区所覆盖的范围划分成若干不交叠的区域块;
S2,获取每个区域块的所有邻居块以及连接权重,所述连接权重为区域块与 邻居块之间的距离;
S3,获取每个区域块内的所有用户;
S4,确定发送信息的用户所在的区域块和信息传播距离权限;
S5,比较发送信息的用户所在的区域块的连接权重和信息传播距离权限之间 的大小,确定接收信息的邻居块;
S6,将信息发送至所述接收信息的邻居块和发送信息的用户所在的区域块内 的所有用户。
上述方法中,为了实现特定空间范围以及与之相邻的空间范围内的所有用户 之间的通讯,首先将一个地区所覆盖的范围划分成多个区域块,且每个区域块 覆盖的范围没有重叠,从而保证信息能够有效的发送至所有的用户;然后,对 于每个区域块,都计算其与相邻的区域块,即邻居块之间的距离,该距离为区 域块的连接权重,如本领域技术人员可以理解的,在计算连接权重时,需要按 照一定的规则,对于每个区域块的连接权重都按照该设定的规则进行计算,从 而保证区域块的连接权重有效可用,进而保证后续向区域块以及邻居块内的用 户发送消息时有效准确;确定了区域块以及邻居块之后,当需要通讯的用户连 接到系统后,系统就可以获取用户的地理位置,从而确定该用户是否在区域块 内,以及处于哪个区域块内,按照这种方式对每个连接到系统的用户进行定位, 就可以获取到每个区域块内的所有用户。其中,地理位置是用户经常出现的位 置,比如居住地、工作地等,可以使用定位工具获取到用户的地理位置,从而 将用户加入到相应的区域块内;确定了每个区域块内所有的用户,以及每个区 域块的所有相邻的邻居块之后,当处于该地区范围内的一个用户发送信息时, 系统就可以确定该用户所在的区域块,以及设定的信息传播距离权限,其中, 传播距离权限可以由用户设定,包含在用户发送的信息之中,则用户发送的信 息除了包括文本内容之外,还包括该文本内容可传播的距离,则信息发送出去 后,处于该传播距离之内的区域块以及邻居块内的所有用户就可以接收到该信 息了;另外,传播距离权限还可以由服务商设定,设定用户发送的信息在该距 离权限内传播,处于该距离权限内的区域块内的用户以及邻居块的用户均能收 到该信息。而传播距离权限是针对于邻居块设定的,即与区域块的连接权重相 比较的,所以,该传播距离权限只是用于限定邻居块内的用户是否为接受信息 的用户,而不用于限定该区域块内的用户接收信息,即与发送信息的用户处于 同一区域块内的用户始终是可以接收到信息的。根据连接权重和信息传播距离 权限比较的结果,确定了接受信息的邻居块后,本区域块内的用户以及确定的 能接收信息的邻居块内的用户均能够接收到该信息。
可见,利用本实施例提供的多用户通讯方法,可以实现区域范围内的用户之 间的通讯,也可以根据设定不同的距离权限值,实现与相邻的区域范围内的用 户之间的通讯,从而实现了位置相邻群体之间的直接联系,扩大了信息的传播 范围,保证需要接收信息的用户均能有效的接收到信息,比如通知或公告等。 同时,系统会根据用户的地理位置自动将用户放在区域范围内的用户组中,无 需用户的交互操作,所以,用户的体验会更好。
实施例二
如图2和图3所示,本实施例中,S1可以包括如下步骤:
S101,设定划分区域块的起点P,并将起点P的二维坐标置为:x=0,y=0;
S102,以起点P为地区的左上角起点,划分出长度为Height、宽度为Width 的区域块;
S103,比较起点P的x坐标与地区宽度范围值的大小,如果起点P的x坐 标大于地区宽度范围值,则执行S104,否则转到S102;其中,x坐标为: x=x+Width;
S104,将起点P的x坐标置为0,比较起点P的y坐标与地区高度范围值 的大小,如果起点P的y坐标大于地区高度范围值,则结束,否则转到S102; 其中,y的坐标为:y=y+Height。
其中,区域块的Height和Width根据地区人口稠密度进行取值,人口越稠 密取值越低,人口越稀疏取值高,Height的取值为:100-500m,Width的取值 为:100-500m。比如,在人口密集的社区、工业园区、商业地区,Height的取 值可以为100米,Width的取值可以为100米,在人口稀疏的郊区,Height的取 值可以为500米,Width的取值可以为500米。
本发明的一个优选实施例中,S102中还包括步骤,指定所述区域块的编号属 性和位置范围属性,其中,编号属性为生成的UUID编号,位置范围属性包括起 点、长度和宽度。
其中,每一个区域块可以包含以下属性:
编号:唯一的编号;
位置范围:记录其所在空间位置、覆盖范围;
邻居列表:一个记录着相邻区域块的列表,列表的每一个项目格式可以包 括邻居编号:某相邻区域块的编号;连接权重:邻居块中心点到本区域块中心 点的距离;
用户列表:所有处于区域块覆盖范围内用户的ID列表。
如本领域技术人员可以理解的,在将一个地区划分成若干区域块时,还可 以采用其他的方法,比如区域块之间不相邻,或者区域块为其他的形状。
实施例三
如图4所示,本实施例中,S2可以包括如下步骤:
S201,建立区域块的邻居列表NeighborList,并初始化邻居列表,邻居列表 包含0个表项;
S202,建立区域块的边列表BorderList,并初始化边列表,边列表的每一 个表项存储区域块的一条边,将区域块的所有边均放入边列表中;设置添加数 量计数器AddedCount,且置为0;
S203,获取与边列表BorderList中的边相交,且不在邻居列表NeighborList 中的所有区域块,并放入到列表TestList之中;
S204,从列表TestList中取出一个区域块放入变量TempArea中;
S205,计算变量TempArea的中心点到区域块中心点的距离,如果该距离小 于设定的最大邻居阈值MaxDistance,则执行S026,否则执行S207;
S206,构造一个邻居列表的表项,邻居编号为TempArea的编号,连接权重 为TempArea中心点到Area中心点的距离,将该表项加入到邻居列表 NeighborList中;将TempArea的所有边加入到BorderList之中, AddedCount=AddedCount+1;
S207,判断TestList中是否还存在区域块,如果有,则转到S204,否则转 到S208;
S208,判断AddedCount是否大于0,如果是,则转到S203,否则结束。
实施例四
如图5所示,本实施例中,S3可以包括如下步骤:
S301,获取用户所在的地理位置;
S302,根据用户所在的地理位置,确定覆盖用户所在的地理位置的区域块;
S303,将用户ID添加到区域块对应的用户列表中,根据用户列表,获取区 域块内的所有用户。
其中,本实施例中,可以根据本领域的常用技术手段来获取用户的地理位 置,比如卫星定位系统或GPS定位系统等。
本实施例中,S303之后还包括步骤S304:对每个用户列表进行定时轮询和更 新。
优选地,如图6所示,S304可以包括如下步骤:
S3041,等待轮询时间;
S3042,从原用户列表中取出一个用户放入变量user之中;
S3043,判断变量user的地理位置是否在原用户列表对应的区域块所覆盖的 范围内,如果否,则转到S3044,否则转到S3046;
S3044,根据变量user的地理位置,确定覆盖变量user的地理位置的区域块, 并将变量user的ID添加到该区域块对应的用户列表中
S3045,在原用户列表中删除放入变量user中的用户;
S3046,遍历原用户列表中的所有用户,重复执行S3042-S3045。
本实施例中,S4中,所述信息传播距离权限由用户设定或由服务商设定。
实施例五
本实施例中,S5具体为:如果连接权重小于信息传播距离权限,则该连接 权重对应的邻居块为接收信息的邻居块。
可以采用如下方法进行实施:
S501,用户发送一个消息,其内容为Text,其信息传播距离权限为 DistanceWeight;
S502,找到用户所在的区域块Area,获取其用户列表UserList,将消息内容 Text发送给列表中的所有用户;
S503,对于Area的邻居列表NeighborList的所有连接权重小于信息传播距离 权限的所有邻居块的所有用户接收到该消息,如图7所示,其执行以下步骤:
S5031,取出邻居列表中的一个邻居块的编号和连接权重;
S5032,如果连接权重小于DistanceWeight,那么转到S5033,否则转到S5035;
S5033,根据S5031中取出的邻居块的编号找到该邻居块NeighborArea;
S5034,将消息内容Text发送给NeighborArea的用户列表UserList中的所有用 户;
S5035,该邻居块NeighborArea的信息处理结束,转到S5031。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:采用本发明 实施例提供的基于地理位置与空间范围的多用户通讯方法,使用户在发出信息 之后,该信息可以在其周边一定空间、时间范围内进行传播,处于该范围内的 用户可以接收到该信息;还可以设定发出信息传播的距离权限,利用该权限可 以控制消息的传播距离。因此,可以使得邻居之间、同一街道社区之间、同一 办公大楼或园区之间的用户进行大范围的交互通讯、同时在区域内可以发布知、 公告、广告;带来较好的用户体验。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的 都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际 情况进行适应性调整,也可根据实际情况并发进行。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬 件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行 上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算 机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车 载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪 存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅 仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者 暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、 “包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素 的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的 其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在 没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所 述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技 术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这 些改进和润饰也应视本发明的保护范围。
机译: 一种基于地理位置的定位系统,用于通过基于Web的门户提供由多个无线通信设备生成的地理数据和非地理数据的管理信息,以及相关方法
机译: 一种基于多异氰酸酯/聚硅酸的合成树脂的制备方法,该方法在可控制的加工范围和凝固时间范围内
机译: 本发明提供了一种基于云的经由电子设备联网的方法和系统,其利用日期和时间可用性,预定技能要求,地理位置和实时技术的系统将企业(雇主)与个人(雇员/求职者)连接。