CN103533042B - 基于位置的信息发布方法和装置 - Google Patents
基于位置的信息发布方法和装置 Download PDFInfo
- Publication number
- CN103533042B CN103533042B CN201310470318.1A CN201310470318A CN103533042B CN 103533042 B CN103533042 B CN 103533042B CN 201310470318 A CN201310470318 A CN 201310470318A CN 103533042 B CN103533042 B CN 103533042B
- Authority
- CN
- China
- Prior art keywords
- user
- information
- area
- caching
- validity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种基于位置的信息发布方法和装置;其中的信息发布方法包括:接收来自信息发布用户的用户发布信息;将用户发布信息存储在预定存储区内,且预定存储区存储的存储记录包括:用户发布的信息所针对的地区信息、信息发布时间以及用户发布内容;根据预定存储区中的存储记录为不同地区分别维护一缓存区,且该维护包括:为各缓存区分别动态设置缓存有效期,在需要更新缓存有效期失效的缓存区中的缓存记录时,从预定存储区中获取相应地区的用户发布信息,以更新缓存有效期失效的缓存区中的缓存记录;从信息接收用户所属地区对应的缓存区中获取缓存记录并生成推送消息;将推送消息发送给信息接收用户。
Description
技术领域
本发明涉及网络通讯技术,具体涉及一种基于位置的信息发布方法和装置。
背景技术
在网络通讯系统中,信息发布技术的应用是非常广泛的,例如,现有的各种聊天室系统以及微博系统等,都采用了信息发布技术。
聊天室系统是一种实时信息发布系统,能够很好的满足信息发布的实时性要求。为了满足聊天的可靠性要求,现有的聊天室系统通常会采用客户端与服务器端长连接的模式,如客户端和服务器端之间基于TCP(传输控制协议)建立连接,且持续保持该连接,以使用户发布的信息可以及时地显示给聊天室中的其他用户。
微博系统是一种准实时信息发布系统。具体的,客户端通过“刷新”操作向服务器端请求获取分页的订阅信息,服务器端根据客户端的请求向客户端返回按照时间排列的指定数量的信息条目。
发明人在实现本发明过程中发现,现有的信息发布技术针对网络通讯中的某些应用来说并不能很好的适用,例如,上述信息发布技术在时效性很强的瞬时评论应用中就不能够很好的适用,下面以针对天气的瞬时评论(如对天气预报的瞬时评论以及对实际天气情况的瞬时评论等)为例进行详细说明。
天气预报由于其本身的不准确性,会使用户产生对天气预报进行评论(也可以称为吐槽或者抱怨)的需求;另外,在发生极端天气现象或者突发天气现象时,用户也会有发表评论的需求。为了满足用户的这种需求,需要一种基于位置的瞬时评论系统(LBICS,Location Based Instant Comments System)来管理用户的评论信息。
现有的聊天室系统并不能很好的适用于针对天气的瞬时评论这一实际应用中,其原因为:用户对天气的评论属于突发行为,在天气评论密度较高的情况下,用户通常并不需要获得所有用户的天气评论信息,且用户通常也不可能有充足的时间去查看所有的天气评论信息,而只需要从最具有时效性的天气评论中筛选出一定数量的天气评论提供给用户即可。因此,聊天室的长连接模式不但会大大增加用户设备尤其是移动用户设备的负担,也会使服务器压力过大,还会存在为用户提供大量的没有过多意义的冗余信息的问题。
现有的微博系统也不能很好的适用于针对天气的瞬时评论这一实际应用中,其原因为:微博系统中的信息没有时效性概念,微博系统对每一条信息均同等看待,服务器端通常会“永久”的保存所有的信息,以保证所有的信息均可以随时被获取。因此,微博系统对服务器端的硬件要求很高,而如果使服务器端保存大量的具有高时效性的信息无疑是一种资源浪费;另外,服务器的向用户发送一些已经失去有效期属性的信息,对用户来说通常是没有意义的,而对服务器端来说又是一种资源浪费。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于位置的信息发布方法和相应的基于位置的信息发布装置。
依据本发明的一个方面,提供了一种基于位置的信息发布方法,所述方法包括:
接收来自信息发布用户的用户发布信息;
将所述用户发布信息存储在预定存储区内,且所述预定存储区存储的存储记录包括:用户所属地区信息、信息发布时间以及用户发布内容;
根据所述预定存储区中的存储记录为不同地区分别维护一缓存区,且所述维护包括:为各缓存区分别动态设置缓存有效期,在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录;
从信息接收用户所属地区对应的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息;
将所述推送消息发送给所述信息接收用户。
可选的,在上述基于位置的信息发布方法中,所述为各缓存区分别动态设置缓存有效期包括:
根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期。
可选的,在上述基于位置的信息发布方法中,所述根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期包括:
设定一地区对应的缓存区的缓存空间为存储N条缓存记录所需的缓存空间,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则将该地区对应的缓存区的缓存有效期动态设置为P,且P=(N/X)T;
其中,N为大于零的整数,且P在小于最小缓存有效期时,将P的取值调整为最小缓存有效期,P在大于最大缓存有效期时,将P的取值调整为最大缓存有效期。
可选的,在上述基于位置的信息发布方法中,所述在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录包括:
在接收到来自信息接收用户的发布信息请求消息时,判断所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间是否达到缓存有效期,如果缓存时间达到缓存有效期,则从所述预定存储区中获取相应地区的发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录。
可选的,在上述基于位置的信息发布方法中,所述从与信息接收用户所属地区相关联的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息包括:
在接收到来自信息接收用户的发布信息请求消息且在判断出所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间达到缓存有效期的情况下,从更新前的缓存区中获取缓存记录并生成推送消息;之后,从更新后的缓存区中获取缓存记录并再次生成推送消息。
可选的,在上述基于位置的信息发布方法中,所述从所述预定存储区中获取相应地区的用户发布信息包括:
根据所述信息接收用户所属地区从预定存储区中获取预定数量的最新存储记录,且在本次获取到的最新存储记录的数量没有达到预定数量的情况下,根据所述信息接收用户所属地区的相邻地区从预定存储区中获取最新存储记录,以使获取的总的存储记录达到所述预定数量。
可选的,在上述基于位置的信息发布方法中,所述推送消息包括:发布信息的用户ID、用户发布内容、用户发布的信息所针对的地区信息(即用户发布内容所针对的地区编码)、信息发布时间以及本次推送的用户发布信息的有效期。
可选的,在上述基于位置的信息发布方法中,所述方法还包括:
信息接收用户在接收到所述推送消息后,针对所述推送消息中的本次推送的用户发布信息的有效期进行计时,并在计时值达到本次推送的用户发布信息的有效期且所述信息接收用户仍持续处于运行状态下,所述信息接收用户生成推送用户发布信息请求消息并发送。
可选的,在上述基于位置的信息发布方法中,所述方法还包括:
信息接收用户在确定出信息接收用户退出后又再次运行,且确定出当前时间与其前次接收到的推送消息中的信息发布时间的时间差达到本次推送的用户发布信息的有效期时,所述信息接收用户生成推送发布信息请求消息并发送。
可选的,在上述基于位置的信息发布方法中,所述方法还包括:
所述预定存储区内的各存储记录在其存储时间达到预定存储时限时,被删除。
可选的,在上述基于位置的信息发布方法中,所述方法还包括:
提供用户发布信息的纠错窗口,且所述信息接收用户/信息发布用户在通过所述用户发布信息纠错窗口接收到用户输入的纠错信息后,产生用户发布信息,并发送。
根据本发明的另一方面,提供了一种基于位置的信息发布装置,其中,所述装置包括:
接收模块,用于接收来自信息发布用户的用户发布信息;
存储模块,用于将所述用户发布信息存储在预定存储区内,且所述预定存储区存储的存储记录包括:用户所属地区信息、信息发布时间以及用户发布内容;
维护模块,用于根据所述预定存储区中的存储记录为不同地区分别维护一缓存区,且所述维护包括:为各缓存区分别动态设置缓存有效期,在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录;
消息生成模块,用于从信息接收用户所属地区对应的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息;
发送模块,用于将所述推送消息发送给所述信息接收用户。
可选的,在上述基于位置的信息发布装置中,所述为各缓存区分别动态设置缓存有效期包括:
所述维护模块根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期。
可选的,在上述基于位置的信息发布装置中,所述维护模块根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期包括:
所述维护模块设定一地区对应的缓存区的缓存空间为存储N条缓存记录所需的缓存空间,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则所述维护模块将该地区对应的缓存区的缓存有效期动态设置为P,且P=(N/X)T;
其中,N为大于零的整数,且P在小于最小缓存有效期时,将P的取值调整为最小缓存有效期,P在大于最大缓存有效期时,将P的取值调整为最大缓存有效期。
可选的,在上述基于位置的信息发布装置中,所述在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录包括:
在所述接收模块接收到来自信息接收用户的发布信息请求消息时,维护模块判断所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间是否达到缓存有效期,如果缓存时间达到缓存有效期,则维护模块从所述预定存储区中获取相应地区的发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录。
可选的,在上述基于位置的信息发布装置中,所述消息生成模块具体用于:
在所述接收模块接收到来自信息接收用户的发布信息请求消息且在维护模块判断出所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间达到缓存有效期的情况下,消息生成模块从更新前的缓存区中获取缓存记录并生成推送消息;之后,消息生成模块从更新后的缓存区中获取缓存记录并再次生成推送消息。
可选的,在上述基于位置的信息发布装置中,所述从所述预定存储区中获取相应地区的用户发布信息包括:
所述维护模块根据所述信息接收用户所属地区从预定存储区中获取预定数量的最新存储记录,且在本次获取到的最新存储记录的数量没有达到预定数量的情况下,根据所述信息接收用户所属地区的相邻地区从预定存储区中获取最新存储记录,以使获取的总的存储记录达到所述预定值。
可选的,在上述基于位置的信息发布装置中,所述推送消息包括:发布信息的用户ID、用户发布内容、用户发布的信息所针对的地区信息(即用户发布内容所针对的地区编码)、信息发布时间以及本次推送的用户发布信息的有效期。
本发明的基于位置的信息发布方法和装置通过针对不同地区分别维护缓存区,并为各缓存区动态设置缓存有效期,使用户发布信息可以得到区别对待,各缓冲区中存储的缓存记录通常为针对各地区筛选出的非常具有推送价值的用户发布信息,这样,在网络侧(如服务器端)需要向用户发送(如根据用户的请求而向用户发送)包含有用户发布信息的推送消息时,网络侧可以便捷地从相应的缓存区中直接获取到筛选出的值得推送的缓存记录,以便捷地产生向用户发送的推送消息;从而本发明可以避免向用户推送冗余信息的现象,还可以避免长连接模式给用户设备尤其是移动用户设备带来的负担,同时也可以避免网络侧(如服务器端)压力过大以及资源浪费的现象。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的基于位置的信息发布方法流程图;
图2示出了根据本发明一个实施例的基于位置的天气评论信息发布方法中收集天气评论信息部分的流程图;
图3示出了根据本发明一个实施例的基于位置的天气评论信息发布方法中获取天气评论信息部分的流程图;
图4示出了根据本发明一个实施例的用户设备显示天气评论信息的显示画面示意图;
图5示出了根据本发明一个实施例的基于位置的信息发布装置示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一、基于位置的信息发布方法。下面结合图1对该方法进行说明。
图1中,S1、接收来自信息发布用户的用户发布信息。
具体的,上述信息发布用户实际上对应用户设备中安装的一应用程序客户端。上述用户发布信息应具有位置特性,也就是说,一用户发布信息通常只会被信息发布用户所属地区(或称区域)的用户关注,而其他地区的用户通常并不会关注该用户发布信息。上述用户发布信息通常还具有较强的时效性,也就是说,在过了一定的时间(通常较短暂,有时候不超过1天甚至不超过几个小时)之后,该用户发布信息基本上不会再被用户所关注。
上述用户发布信息可以具体包括:信息发布用户标识、用户发布的信息所针对的地区信息(即用户发布内容所针对的地区编码/标识)以及用户发布内容等。可选的,用户发布信息还可以包括:信息发布用户所在地理位置的经纬度信息和/或用户发布信息的时间戳等。
上述用户发布的信息所针对的地区信息可以具体为省标识信息,也可以为城市标识信息(citycode),还可以为城市标识信息和城市内的区标识信息等;而且用户发布的信息所针对的地区可以为信息发布用户当前所在的地区,也可以不是信息发布用户当前所在的地区,而是信息发布用户所选择的除其当前所在地区之外的其他地区(如信息发布用户的家庭所在的地区等)。地区的具体划分可以根据实际应用灵活确定。
上述用户发布内容可以具体为针对天气预报的评论信息、针对天气实际情况的评论信息或者针对本地区市场的商品的评论信息等等。本发明实施例不限制用户发布内容所涉及的具体评论领域。
S2、将上述接收到的用户发布信息存储在预定存储区内。
具体的,上述预定存储区可以设置于服务器的本地硬盘或者磁盘阵列等存储装置中。该预定存储区中所存储的存储记录主要包括:用户发布的信息所针对的地区信息、信息发布时间以及用户发布内容等。上述存储记录中还可以包括:信息发布用户所在地理位置的经纬度信息等。本发明实施例可以将上述存储记录以表或者数据库等形式存储在预定存储区中。
上述信息发布时间可以是信息发布用户发送用户发布信息的时间(即上述时间戳),也可以是网络侧接收到用户发布信息的时间。另外,在接收到用户发布信息时,可以对该用户发布信息进行敏感词过滤处理,以决定该用户发布信息是否可以存储在预定存储区内,如果该用户发布信息包含敏感词,则可以直接丢弃该用户发布信息。
在将用户发布信息存储在预定存储区的过程中,可以按照用户发布的信息所针对的地区信息将用户发布信息插入到相应的存储位置,以使针对同一地区的用户发布信息实现连续存储;而且在用户发布信息的存储过程中,还可以参照信息发布时间来决定用户发布信息的存储位置,以便于使预定存储区中存储的存储记录可以按照信息发布时间进行顺序排序。需要特别说明的是,在用户发布信息的存储过程中,本发明实施例可以参照用户发布的信息所针对的地区信息和/或信息发布时间进行存储。
由于本发明实施例中的用户发布信息具有较强的时效性,因此,可以为预定存储区内的各存储记录设置存储时限,从而在一条存储记录在预定存储区内的存储时间达到其对应的预定存储时限的情况下,该条存储记录会从预定存储区中删除。另外,不同存储记录对应的预定存储时限可以相同,也可以不相同;一个具体的例子,针对用户发布信息相对较多的热点地区(如北京、深圳、广东以及上海等大城市),可以将这些热点地区的用户发布信息对应的预定存储时限设置的稍短一些,而针对用户发布信息相对较少的非热点地区,可以将这些非热点地区的用户发布信息对应的预定存储时限设置的稍长一些。
S3、根据预定存储区中的存储记录为不同地区分别维护一缓存区。
具体的,上述维护操作主要包括:为不同地区分别设定一用于存储用户发布信息的缓存区,并为各缓存区分别动态设置缓存有效期,在存在缓存有效期失效的缓存区且需要更新其中的缓存记录的情况下,从预定存储区中获取该有效期失效的缓存区对应的地区的当前最新的预定数量的用户发布信息,从而可以利用获取到的当前最新的预定数量的用户发布信息来更新该缓存有效期失效的缓存区中的所有缓存记录。
上述动态设置缓存有效期是指针对一个缓存区而言,该缓存区的缓存有效期并不是一个常量,而是会随着实际情况的变化而发生变化,即本次为该缓存区设置的缓存有效期和上一次为该缓存区设置的缓存有效期很可能不相同。另外,不同地区对应的缓存区的缓存空间可以相同,也可以不相同。
为各缓存区分别动态设置缓存有效期的一种方式为:在每次更新缓存区中的缓存记录时,可根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区设置当前的缓存有效期。当然,本发明实施例也可以根据不同地区的用户发布信息的流量等参数来动态设置缓存有效期。
针对某一个具体的缓存区而言,设置该缓存区的缓存有效期的一个具体例子为:如果该缓存区可以存储N(N为大于零的整数)条缓存记录,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则该缓存区的缓存有效期P可以根据下述公式(1)来设置:
P=(N/X)T; 公式(1)
需要说明的是,为了避免过于频繁的更新缓存区中的缓存记录以及缓存区中的缓存记录长时间得不到更新等现象,本发明实施例可以为缓存有效期P设置最小缓存有效期以及最大缓存有效期,也就是说,在当前计算出的P的数值小于最小缓存有效期时,可以将P的取值调整为最小缓存有效期,而在当前计算出的P的数值大于最大缓存有效期时,可以将P的取值调整为最大缓存有效期。
另外,在本发明实施例中,可以在判断出缓存有效期失效时,即确定出需要更新该缓存区中的缓存记录;也可以在接收到信息接收用户发送来的发布信息请求消息,并判断出该信息请求消息对应的缓存区的缓存有效期已失效时,即确定出需要更新该缓存区中的缓存记录;也就是说,在接收到来自信息接收用户的发布信息请求消息时,判断该信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中存储的缓存时间是否达到缓存有效期,如果缓存时间已达到缓存有效期,则从预定存储区中获取该地区的当前最新发布的预定数量的存储记录,并利用这些存储记录更新该地区对应的缓存区中的所有缓存记录;而在没有接收到信息接收用户发送来的发布信息请求消息的情况下,即便是缓存区中的缓存记录在缓存区中存储的缓存时间已经达到了缓存有效期,也可以认为不需要更新该缓存区中的缓存记录,而不对该缓存区中的缓存记录进行更新。
还有,在更新信息接收用户所述地区对应的缓存区中的缓存记录的过程中,如果从预定存储区中获取到的用户发布的信息所针对的地区(如北京市的朝阳区)的当前最新存储记录的数量没有达到预定数量(如没有达到100条存储记录),则可以根据用户发布的信息所针对的地区的相邻地区(如北京市的海淀区和/或昌平区等)从预定存储区中获取当前最新的存储记录,以使获取到的总的存储记录达到预定数量(如达到100条存储记录)。上述相邻地区和用户发布的信息所针对的地区最好属于同一父地区。
S4、从信息接收用户所属地区相关联的缓存区中获取缓存记录,并生成包含有该缓存记录的推送消息。
具体的,在接收到来自信息接收用户的发布信息请求消息且在判断出该信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间没有达到缓存有效期的情况下,可以从对应的缓存区中获取缓存记录,并利用该获取到的缓存记录生成推送消息即可;而在接收到来自信息接收用户的发布信息请求消息且在判断出该信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间已经达到缓存有效期的情况下,可以先从对应的缓冲区(即更新前的缓存区)中获取缓存记录,并生成推送消息;之后,在该缓存区中的缓存记录更新后,再从更新后的缓存区中获取缓存记录,并再次生成推送消息;先后生成的这两条推送消息会先后发送给信息接收用户。
上述推送消息主要包括:信息发布用户标识(即用户ID)、用户发布内容、用户发布的信息所针对的地区信息、信息发布用户所在地理位置的经纬度信息、信息发布时间以及本次推送的用户发布信息的有效期等;而且,本次推送的用户发布信息的有效期最好不小于当前的缓存有效期。
上述信息接收用户所属地区通常为信息接收用户当前所在的地区,当然,信息接收用户所属地区也可以为信息接收用户所选择的地区,且信息接收用户所选择的地区可以不同于信息接收用户当前所在的地区。
S5、将上述生成的推送消息发送给信息接收用户,以使信息接收用户可以显示推送消息中所包含的具体内容,且信息接收用户可以使用多种方式进行画面显示,如可以采用弹幕方式或者跑马灯方式或者文字列表方式等进行用户发布信息的画面显示。
另外,信息接收用户在接收到推送消息后,会针对推送消息中承载的本次推送的用户发布信息的有效期进行计时,在计时值达到本次推送的用户发布信息的有效期,且信息接收用户仍持续处于运行状态(即客户端始终在运行)的情况下,信息接收用户会主动生成推送用户发布信息请求消息,并向网络侧发送该请求消息,以使信息接收用户可以获得新的用户发布信息;然而,在上述计时过程中,如果信息接收用户退出客户端后又再次运行该客户端,则应计算出再次运行该客户端的当前时间与信息接收用户前次接收到的推送消息中的信息发布时间(任一信息发布时间或者最新的一个信息发布时间)之间的时间差,并判定该时间差是否达到本次推送的用户发布信息的有效期,如果达到该有效期,则信息接收用户不但会显示其前次接收到的推送消息中承载的用户发布信息的画面,还会立即主动生成一条推送发布信息请求消息,并向网络侧发送该请求消息;如果没有达到该有效期,则信息接收用户可以仅显示其前次接收到的推送消息中承载的用户发布信息的画面,而不会执行前述的立即主动生成一条推送发布信息请求消息的操作。
还有,本发明实施例可以为用户提供用户发布信息的纠错窗口,信息接收用户和信息发布用户均可以利用该纠错窗口产生相应的用户发布信息,例如,无论是信息接收用户还是信息发布用户,在通过其用户发布信息纠错窗口获取到用户输入的纠错信息后,将该纠错信息作为信息发布信息中的用户发布内容,并基于此生成完整的用户发布信息,之后,向网络侧发送该用户发布信息。
针对上述实施例一需要特别说明的是,在上述实施例一的描述中,虽然步骤S1至S4是按照S1到S4的先后顺序依次进行说明的,但是,在实际应用中,步骤S1、S2、S3和S4之间是相互并行的操作。
实施例二、基于位置的天气评论信息发布方法。本实施例是实施例一的一个具体的应用,下面结合图2、图3和图4对该方法进行说明。
天气评论信息具有非常明显的位置特性。由于不同地区(如城市)的用户通常只希望获取或者发布其所在地区或者所选择的地区(如城市)的天气评论(如对天气预报的评论以及对实际天气情况的评论等),而不希望获取或者发布除此之外的其他地区(如城市)的天气评论,因此,本实施例应针对天气评论信息进行地理位置的区分,如可以为每个城市设立一个单独的“频道”或者“版块”等。
天气评论信息还具有非常明显的实时性(即时效性)。由于天气情况瞬息万变,而用户通常只关注最近一段时间的天气评论信息,因此,用户发布的天气评论信息具有较强的时效性,从而本发明实施例应记录每条天气评论信息的发布时间,并应将最具时效性的若干条天气评论信息发送给用户。
由于不同地区(如城市)的活跃用户的数量千差万别,因此,不同地区的天气评论信息的发布密度存在区别,且即使是在同一个城市内,由于天气现象的突发性,天气评论信息的发布密度也会随时发生变化;因此,在向用户发送天气评论信息过程中,如果所有地区在所有时段均使用相同的信息筛选策略,那么会出现大幅增加网络侧(如服务器)负载或者浪费网络资源的现象。本发明实施例提供的技术方案可以尽量避免上述不良现象的发生。
在本发明的实施例中,移动设备(如智能型移动电话或者IPAD或者笔记本电脑)中安装有客户端,用户可以利用客户端提供的界面输入天气评论信息,在用户点击发送按钮后,客户端向服务器发送包含该天气评论信息的消息,用户的本次输入操作结束(如图2的左侧流程所示)。
客户端向服务器发送的天气评论信息可以包括如下内容:
Uid,用户ID;
Citycode,天气评论所针对的城市编码;
Lon,lat,移动设备在发送天气评论信息时所在的地理位置的经纬度;
Comment,天气评论内容;
服务器在接收到移动设备发送来的该消息后,先对消息中的天气评论内容进行敏感词过滤处理,在天气评论内容不包含敏感词的情况下,服务器执行天气评论信息的入库操作,如按照天气评论信息中的citycode将该条天气评论信息插入到数据库中;在天气评论内容不包含敏感词的情况下,服务器可以直接将该天气评论信息丢弃;本次接收存储过程结束(如图2的右侧流程所示)。
在客户端需要获取本城市的天气评论内容时,向服务器发起请求。考虑到并发效应,为了减轻服务器的负担,服务器并不会直接从其数据库中为该请求提供相应的天气评论信息,而是利用缓存机制为该请求提供相应的天气评论信息;具体的,服务器可以为每个城市生成缓存快照,并为每个缓存快照分别动态维护缓存有效期,从而服务器可以基于缓存有效期对各缓存快照进行更新操作,这样,服务器可以直接从相应的缓存快照中为上述请求提供相应的天气评论信息。
上述动态维护缓存有效期的一个具体的例子为:设定服务器为一城市设置的缓存区可以存储N=100条天气评论信息,设定最近1个小时(60分钟)内该城市已经积累了X条天气评论信息,则表示每积累N条评论需要时间P,且P=(N/X)×60分钟。
考虑到特殊情况,可以对P值进行限制,即:5min<=P<=6hour;也就是说,P的最小取值为5分钟,P的最大取值为6小时(6小时以前的天气评论信息已失去了存在的意义),从而当该城市每小时积累的天气评论信息的数量超过1200条时,服务器应该将该城市对应的缓存区的缓存有效期设置为5分钟;而6小时以前的天气评论信息应从服务器中彻底删除。
客户端从服务器处获取天气评论信息的过程如图3所示。
图3中,客户端的操作如左侧的流程所示,具体的,在用户开机并首次启动客户端时,客户端会进行初始化操作,如为本次推送的用户发布信息的有效期(即下述的validtime)对应的定时器设置定时时长(如设置定时时长为0),如果不是用户开机后的首次启动客户端,则可以不进行初始化操作,且为本次推送的用户发布信息的有效期对应的定时器的定时时长通常为上次用户退出客户端时的定时时长;客户端检查该定时器的计时值以及当前时间与天气评论发布时间(即下述的createtime)的差值是否超过了该组天气评论信息的有效期(即下述的validtime),以判断有效期是否失效(定时器超时或者差值超过了有效期),如果有效期已经失效,则客户端向服务器发送请求消息,以请求新的天气评论信息;如果有效期没有失效,则等待该定时器超时,在定时器的计时值达到上述有效期时,返回到上述客户端检查该定时器的计时值的步骤;客户端在接收到服务器传输来的天气评论信息后,刷新其显示界面,并判断用户是否退出该客户端,如果用户没有退出客户端,则客户端根据天气评论信息中携带的本次推送的用户发布信息的有效期来设置定时器的定时时长,并到等待定时器超时的步骤;如果用户退出客户端,则客户端可以进行相应的参数保存操作,且客户端本次操作结束。
另外,客户端在显示天气评论信息时可以以弹幕、跑马灯或者文字列表等形式来显示。以弹幕方式显示的一个具体例子如图4所示。具体的,100条天气评论信息被均匀的散落在若干条文字轨道上,这些文字信息可以按照不同的速度沿着预定轨道从屏幕的右侧滚动到屏幕的左侧。文字的滚动速度以及文字大小等可以与该条天气评论内容的字数相关。文字的颜色以及透明程度可以与该条天气评论的新旧程度相关,如最新的天气评论内容为不透明白色,而最旧的天气评论内容为半透明白色,其他时间的天气评论内容的透明程度应介于不透明白色与半透明白色之间。这样,用户可以直观地感知某条天气评论信息的实时程度。
图3中,服务器的操作如右侧的流程所示,具体的,服务器运行天气评论信息发布的主线程,在接收到用户发送来的请求消息后,判断用户所属城市对应的缓存区是否已失效(及缓存记录的缓存时间是否超时),如果已经失效,则服务器从数据库中获取该城市最新的100条存储记录(如果不足100条存储记录的话,则可以获取相邻城市的最新的存储记录,以凑足100条存储记录),之后,一方面应为该最新的100条存储记录设置缓存有效期,并利用最新的存储记录覆盖缓存区中存储的旧的缓存记录,另一方面,服务器应将旧的缓存记录承载在推送消息中发送给客户端,并在缓存区更新后,将新的缓存记录承载在推送消息中发送给客户端。服务器的本次推送天气评论信息的过程结束。
其中,服务器可以将100条缓存记录以天气评论数组的形式承载在送的推送消息中,该天气评论数组的结构可以为:
comment[100],天气评论数组;
uid:用户ID;
comment:天气评论内容;
citycode:天气评论所针对的城市编码;
lon,lat:移动设备在发送天气评论信息时所在的地理位置的经纬度;
creatTime:天气评论信息发布时间;
extra:其他信息;
validtime:该组天气评论信息的有效期(即本次推送的用户发布信息的有效期);
timestamp:该组天气评论信息对应的缓存有效期。
另外,服务器可以定期(例如每天闲时)启动线程来对其数据库进行清理操作,以删除数据库中已经过时(超过6小时)的历史数据,以保持充足的存储空间。
实施例三、基于位置的信息发布装置。下面结合图5对该装置进行说明。
图5中的基于位置的信息发布装置可以设置于服务器中,且该装置主要包括:接收模块100、存储模块110、维护模块120、消息生成模块130、发送模块140、预定存储区200以及多个缓存区210;其中,存储模块110与接收模块100和预定存储区200分别连接,维护模块120与预定存储区200以及多个缓存区210分别连接,消息生成模块130与多个缓存区210以及发送模块140分别连接。
接收模块100主要用于接收来自信息发布用户的用户发布信息。
接收模块100接收到的用户发布信息通常包括:信息发布用户标识、用户发布的信息所针对的地区信息以及用户发布内容等。可选的,用户发布信息还可以包括:信息发布用户所在地理位置的经纬度信息和/或用户发布信息的时间戳等。
上述用户发布的信息所针对的地区信息可以具体为省标识信息,也可以为城市标识信息(citycode),还可以为城市标识信息和城市内的区标识信息等;而且用户发布的信息所针对的地区可以为信息发布用户当前所在的地区,也可以不是信息发布用户当前所在的地区,而是信息发布用户所选择的除其当前所在地区之外的其他地区(如信息发布用户的家庭所在的地区等)。
上述用户发布内容可以具体为针对天气预报的评论信息、针对天气实际情况的评论信息或者针对本地区市场的商品的评论信息等等。
存储模块110主要用于将接收模块100接收到的用户发布信息存储在预定存储区200内,且预定存储区200存储的存储记录主要包括:用户发布的信息所针对的地区信息、信息发布时间以及用户发布内容等。上述存储记录中还可以包括:信息发布用户所在地理位置的经纬度信息等。存储模块110可以将上述存储记录以表或者数据库等形式存储在预定存储区200中。
上述信息发布时间可以是信息发布用户发送用户发布信息的时间(即上述时间戳),也可以是接收模块100接收到用户发布信息的时间。另外,存储模块110可以对接收模块100接收到的用户发布信息进行敏感词过滤处理,以决定该用户发布信息是否可以存储在预定存储区200内,如果该用户发布信息包含敏感词,则存储模块110可以直接丢弃该用户发布信息。
在将用户发布信息存储在预定存储区200的过程中,存储模块110可以按照用户发布的信息所针对的地区信息将用户发布信息插入到相应的存储位置,以使针对同一地区的用户发布信息实现连续存储;而且,在用户发布信息的存储过程中,存储模块110还可以参照信息发布时间来决定用户发布信息的存储位置,以便于使预定存储区200中存储的存储记录可以按照信息发布时间进行顺序排序。需要特别说明的是,在用户发布信息的存储过程中,存储模块110可以参照用户发布的信息所针对的地区信息和/或信息发布时间进行存储。
由于本发明实施例中的用户发布信息具有较强的时效性,因此,存储模块110可以为预定存储区200内的各存储记录设置存储时限,从而在一条存储记录在预定存储区200内的存储时间达到其对应的预定存储时限的情况下,存储模块110会将该条存储记录从预定存储区200中删除。
维护模块120主要用于根据预定存储区200中的存储记录为不同地区分别维护一缓存区。
具体的,维护模块120所执行的维护操作主要包括:维护模块120为不同地区分别设定一用于存储用户发布信息的缓存区210,并为各缓存区210分别动态设置缓存有效期,在存在缓存有效期失效的缓存区且需要更新其中的缓存记录的情况下,维护模块120从预定存储区200中获取该有效期失效的缓存区210对应的地区的当前最新的预定数量的用户发布信息,从而维护模块120可以利用获取到的当前最新的预定数量的用户发布信息来更新该缓存有效期失效的缓存区210中的所有缓存记录。
上述动态设置缓存有效期是指针对一个缓存区210而言,该缓存区210的缓存有效期并不是一个常量,而是会随着实际情况的变化而发生变化,即本次维护模块120为该缓存区210设置的缓存有效期和上一次维护模块120为该缓存区210设置的缓存有效期很可能不相同。另外,维护模块120为不同地区设置的缓存区210的缓存空间可以相同,也可以不相同。
维护模块120为各缓存区210分别动态设置缓存有效期的一种失效方式为:在每次更新缓存区中的缓存记录时,维护模块120可根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区设置当前的缓存有效期,具体设置方式的一个具体例子如上述实施例一中针对公式(1)及相关内容的描述,在此不再重复说明。当然,维护模块120也可以根据不同地区的用户发布信息的流量等参数来动态设置缓存有效期。
另外,在本发明实施例中,维护模块120可以在判断出缓存有效期失效时,即确定出需要更新该缓存区中的缓存记录;维护模块120也可以在接收模块100接收到信息接收用户发送来的发布信息请求消息,并判断出该信息请求消息对应的缓存区的缓存有效期已失效时,即确定出需要更新该缓存区中的缓存记录;也就是说,在接收模块100接收到来自信息接收用户的发布信息请求消息时,维护模块120判断该信息接收用户所属地区对应的缓存区210中的缓存记录在缓存区210中存储的缓存时间是否达到缓存有效期,如果缓存时间已达到缓存有效期,则维护模块120从预定存储区200中获取该地区的当前最新发布的预定数量的存储记录,并利用这些存储记录更新该地区对应的缓存区210中的所有缓存记录;而在接收模块100没有接收到信息接收用户发送来的发布信息请求消息的情况下,即便是缓存区中的缓存记录在缓存区中存储的缓存时间已经达到了缓存有效期,维护模块120也可以认为不需要更新该缓存区210中的缓存记录,而不对该缓存区210中的缓存记录进行更新。
还有,在更新信息接收用户所述地区对应的缓存区210中的缓存记录的过程中,如果维护模块120从预定存储区200中获取到的用户发布的信息所针对的地区(如北京市的朝阳区)的当前最新存储记录的数量没有达到预定数量(如没有达到100条存储记录),则维护模块120可以根据用户发布的信息所针对的地区的相邻地区(如北京市的海淀区和/或昌平区等)从预定存储区200中获取当前最新的存储记录,以使获取到的总的存储记录达到预定数量(如达到100条存储记录)。上述相邻地区和用户发布的信息所针对的地区最好属于同一父地区。
消息生成模块130主要用于从信息接收用户所属地区对应的缓存区中获取缓存记录,并生成包含有缓存记录的推送消息。
具体的,在接收模块100接收到来自信息接收用户的发布信息请求消息且在维护模块120判断出该信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间没有达到缓存有效期的情况下,消息生成模块130可以从对应的缓存区210中获取缓存记录,并利用该获取到的缓存记录生成推送消息即可;而在接收模块100接收到来自信息接收用户的发布信息请求消息且在维护模块120判断出该信息接收用户所属地区对应的缓存区210中的缓存记录在缓存区210中的缓存时间已经达到缓存有效期的情况下,消息生成模块130可以先从对应的缓冲区(即更新前的缓存区)210中获取缓存记录,并生成推送消息;之后,在该缓存区210中的缓存记录更新后,消息生成模块130再从更新后的缓存区210中获取缓存记录,并再次生成推送消息;消息生成模块130先后生成的这两条推送消息会由发送模块140先后发送给信息接收用户。
上述推送消息主要包括:信息发布用户标识(即用户ID)、用户发布内容、用户发布的信息所针对的地区信息、信息发布用户所在地理位置的经纬度信息、信息发布时间以及本次推送的用户发布信息的有效期等;而且,本次推送的用户发布信息的有效期最好不小于当前的缓存有效期。
上述信息接收用户所属地区通常为信息接收用户当前所在的地区,当然,信息接收用户所属地区也可以为信息接收用户所选择的地区,且信息接收用户所选择的地区可以不同于信息接收用户当前所在的地区。
发送模块140主要用于将消息生成模块130生成的推送消息发送给信息接收用户,以使信息接收用户可以显示推送消息中所包含的具体内容。
A1、一种基于位置的信息发布方法,所述方法包括:
接收来自信息发布用户的用户发布信息;
将所述用户发布信息存储在预定存储区内,且所述预定存储区存储的存储记录包括:用户发布的信息所针对的地区信息、信息发布时间以及用户发布内容;
根据所述预定存储区中的存储记录为不同地区分别维护一缓存区,且所述维护包括:为各缓存区分别动态设置缓存有效期,在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录;
从信息接收用户所属地区对应的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息;
将所述推送消息发送给所述信息接收用户。
A2、如A1所述的方法,其中,所述为各缓存区分别动态设置缓存有效期包括:
根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期。
A3、如A2所述的方法,其中,所述根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期包括:
设定一地区对应的缓存区的缓存空间为存储N条缓存记录所需的缓存空间,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则将该地区对应的缓存区的缓存有效期动态设置为P,且P=(N/X)T;
其中,N为大于零的整数,且P在小于最小缓存有效期时,将P的取值调整为最小缓存有效期,P在大于最大缓存有效期时,将P的取值调整为最大缓存有效期。
A4、如A1所述的方法,其中,所述在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录包括:
在接收到来自信息接收用户的发布信息请求消息时,判断所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间是否达到缓存有效期,如果缓存时间达到缓存有效期,则从所述预定存储区中获取相应地区的发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录。
A5、如A4所述的方法,其中,所述从与信息接收用户所属地区相关联的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息包括:
在接收到来自信息接收用户的发布信息请求消息且在判断出所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间达到缓存有效期的情况下,从更新前的缓存区中获取缓存记录并生成推送消息;之后,从更新后的缓存区中获取缓存记录并再次生成推送消息。
A6、如A1所述的方法,其中,所述从所述预定存储区中获取相应地区的用户发布信息包括:
根据所述信息接收用户所属地区从预定存储区中获取预定数量的最新存储记录,且在本次获取到的最新存储记录的数量没有达到预定数量的情况下,根据所述信息接收用户所属地区的相邻地区从预定存储区中获取最新存储记录,以使获取的总的存储记录达到所述预定数量。
A7、如A1所述的方法,其中,所述推送消息包括:发布信息的用户ID、用户发布内容、用户发布的信息所针对的地区信息、信息发布时间以及本次推送的用户发布信息的有效期。
A8、如A7所述的方法,其中,所述方法还包括:
信息接收用户在接收到所述推送消息后,针对所述推送消息中的本次推送的用户发布信息的有效期进行计时,并在计时值达到本次推送的用户发布信息的有效期且所述信息接收用户仍持续处于运行状态下,所述信息接收用户生成推送用户发布信息请求消息并发送。
A9、如A7所述的方法,其中,所述方法还包括:
信息接收用户在确定出信息接收用户退出后又再次运行,且确定出当前时间与其前次接收到的推送消息中的信息发布时间的时间差达到本次推送的用户发布信息的有效期时,所述信息接收用户生成推送发布信息请求消息并发送。
A10、如A1至A9中任一所述的方法,其中,所述方法还包括:
所述预定存储区内的各存储记录在其存储时间达到预定存储时限时,被删除。
A11、如A1至A9中任一所述的方法,其中,所述方法还包括:
提供用户发布信息的纠错窗口,且所述信息接收用户/信息发布用户在通过所述用户发布信息纠错窗口接收到用户输入的纠错信息后,产生用户发布信息,并发送。
B12、一种基于位置的信息发布装置,其包括:
接收模块,用于接收来自信息发布用户的用户发布信息;
存储模块,用于将所述用户发布信息存储在预定存储区内,且所述预定存储区存储的存储记录包括:用户发布的信息所针对的地区信息、信息发布时间以及用户发布内容;
维护模块,用于根据所述预定存储区中的存储记录为不同地区分别维护一缓存区,且所述维护包括:为各缓存区分别动态设置缓存有效期,在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录;
消息生成模块,用于从信息接收用户所属地区对应的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息;
发送模块,用于将所述推送消息发送给所述信息接收用户。
B13、如B12所述的装置,其中,所述为各缓存区分别动态设置缓存有效期包括:
所述维护模块根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期。
B14、如B13所述的装置,其中,所述维护模块根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期包括:
所述维护模块设定一地区对应的缓存区的缓存空间为存储N条缓存记录所需的缓存空间,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则所述维护模块将该地区对应的缓存区的缓存有效期动态设置为P,且P=(N/X)T;
其中,N为大于零的整数,且P在小于最小缓存有效期时,将P的取值调整为最小缓存有效期,P在大于最大缓存有效期时,将P的取值调整为最大缓存有效期。
B15、如B12所述的装置,其中,所述在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录包括:
在所述接收模块接收到来自信息接收用户的发布信息请求消息时,维护模块判断所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间是否达到缓存有效期,如果缓存时间达到缓存有效期,则维护模块从所述预定存储区中获取相应地区的发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录。
B16、如B15所述的装置,其中,所述消息生成模块具体用于:
在所述接收模块接收到来自信息接收用户的发布信息请求消息且在维护模块判断出所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间达到缓存有效期的情况下,消息生成模块从更新前的缓存区中获取缓存记录并生成推送消息;之后,消息生成模块从更新后的缓存区中获取缓存记录并再次生成推送消息。
B17、如B12所述的装置,其中,所述从所述预定存储区中获取相应地区的用户发布信息包括:
所述维护模块根据所述信息接收用户所属地区从预定存储区中获取预定数量的最新存储记录,且在本次获取到的最新存储记录的数量没有达到预定数量的情况下,根据所述信息接收用户所属地区的相邻地区从预定存储区中获取最新存储记录,以使获取的总的存储记录达到所述预定值。
B18、如B12所述的装置,其中,所述推送消息包括:发布信息的用户ID、用户发布内容、用户发布的信息所针对的地区信息、信息发布时间以及本次推送的用户发布信息的有效期。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于位置的信息发布装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (18)
1.一种基于位置的信息发布方法,其包括:
接收来自信息发布用户的用户发布信息,所述用户发布信息至少包括用户发布的信息所针对的地区编码/标识,所述所针对的地区不是信息发布用户当前所在的地区;
按照用户发布的信息所针对的地区编码/标识和信息发布时间,将所述用户发布信息存储在预定存储区内,且所述预定存储区存储的存储记录包括:用户发布的信息所针对的地区编码/标识、信息发布时间以及用户发布内容;所述信息发布时间是信息发布用户发送用户发布信息的时间或网络侧接收到用户发布信息的时间;
根据所述预定存储区中的存储记录服务器为不同地区分别维护一缓存区,且所述维护包括:为各缓存区分别动态设置缓存有效期,使用户发布信息得到区别对待,在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应针对地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录;
从信息接收用户所选择地区对应的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息;
将所述推送消息发送给所述信息接收用户。
2.如权利要求1所述的方法,其中,所述为各缓存区分别动态设置缓存有效期包括:
根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期。
3.如权利要求2所述的方法,其中,所述根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期包括:
设定一地区对应的缓存区的缓存空间为存储N条缓存记录所需的缓存空间,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则将该地区对应的缓存区的缓存有效期动态设置为P,且P=(N/X)T;
其中,N为大于零的整数,且P在小于最小缓存有效期时,将P的取值调整为最小缓存有效期,P在大于最大缓存有效期时,将P的取值调整为最大缓存有效期。
4.如权利要求1所述的方法,其中,所述在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录包括:
在接收到来自信息接收用户的发布信息请求消息时,判断所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间是否达到缓存有效期,如果缓存时间达到缓存有效期,则从所述预定存储区中获取相应地区的发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录。
5.如权利要求4所述的方法,其中,从与信息接收用户所属地区相关联的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息包括:
在接收到来自信息接收用户的发布信息请求消息且在判断出所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间达到缓存有效期的情况下,从更新前的缓存区中获取缓存记录并生成推送消息;之后,从更新后的缓存区中获取缓存记录并再次生成推送消息。
6.如权利要求1所述的方法,其中,所述从所述预定存储区中获取相应地区的用户发布信息包括:
根据所述信息接收用户所属地区从预定存储区中获取预定数量的最新存储记录,且在本次获取到的最新存储记录的数量没有达到预定数量的情况下,根据所述信息接收用户所属地区的相邻地区从预定存储区中获取最新存储记录,以使获取的总的存储记录达到所述预定数量。
7.如权利要求1所述的方法,其中,所述推送消息包括:发布信息的用户ID、用户发布内容、用户发布的信息所针对的地区信息、信息发布时间以及本次推送的用户发布信息的有效期。
8.如权利要求7所述的方法,其中,所述方法还包括:
信息接收用户在接收到所述推送消息后,针对所述推送消息中的本次推送的用户发布信息的有效期进行计时,并在计时值达到本次推送的用户发布信息的有效期且所述信息接收用户仍持续处于运行状态下,所述信息接收用户生成推送用户发布信息请求消息并发送。
9.如权利要求7所述的方法,其中,所述方法还包括:
信息接收用户在确定出信息接收用户退出后又再次运行,且确定出当前时间与其前次接收到的推送消息中的信息发布时间的时间差达到本次推送的用户发布信息的有效期时,所述信息接收用户生成推送发布信息请求消息并发送。
10.如权利要求1至9中任一权利要求所述的方法,其中,所述方法还包括:
所述预定存储区内的各存储记录在其存储时间达到预定存储时限时,被删除。
11.如权利要求1至9中任一权利要求所述的方法,其中,所述方法还包括:
提供用户发布信息的纠错窗口,且所述信息接收用户/信息发布用户在通过所述用户发布信息纠错窗口接收到用户输入的纠错信息后,产生用户发布信息,并发送。
12.一种基于位置的信息发布装置,其包括:
接收模块,用于接收来自信息发布用户的用户发布信息,所述用户发布信息至少包括用户发布的信息所针对的地区编码/标识,所述所针对的地区不是信息发布用户当前所在的地区;
存储模块,用于按照用户发布的信息所针对的地区编码/标识和信息发布时间将所述用户发布信息存储在预定存储区内,且所述预定存储区存储的存储记录包括:用户发布的信息所针对的地区编码/标识、信息发布时间以及用户发布内容;所述信息发布时间是信息发布用户发送用户发布信息的时间或网络侧接收到用户发布信息的时间;
维护模块,用于根据所述预定存储区中的存储记录服务器为不同地区分别维护一缓存区,且所述维护包括:为各缓存区分别动态设置缓存有效期,使用户发布信息得到区别对待,在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应针对地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录;
消息生成模块,用于从信息接收用户所选择地区对应的缓存区中获取缓存记录并生成包含有所述缓存记录的推送消息;
发送模块,用于将所述推送消息发送给所述信息接收用户。
13.如权利要求12所述的装置,其中,所述为各缓存区分别动态设置缓存有效期包括:
所述维护模块根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期。
14.如权利要求13所述的装置,其中,所述维护模块根据不同地区的用户发布信息的发布速度以及不同地区的缓存区的缓存空间分别为各缓存区动态设置缓存有效期包括:
所述维护模块设定一地区对应的缓存区的缓存空间为存储N条缓存记录所需的缓存空间,且在预定时间间隔T内该地区的用户发布信息的当前发布数量为X条,则所述维护模块将该地区对应的缓存区的缓存有效期动态设置为P,且P=(N/X)T;
其中,N为大于零的整数,且P在小于最小缓存有效期时,将P的取值调整为最小缓存有效期,P在大于最大缓存有效期时,将P的取值调整为最大缓存有效期。
15.如权利要求12所述的装置,其中,所述在需要更新缓存有效期失效的缓存区中的缓存记录时,从所述预定存储区中获取相应地区的用户发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录包括:
在所述接收模块接收到来自信息接收用户的发布信息请求消息时,维护模块判断所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间是否达到缓存有效期,如果缓存时间达到缓存有效期,则维护模块从所述预定存储区中获取相应地区的发布信息,以更新所述缓存有效期失效的缓存区中的缓存记录。
16.如权利要求15所述的装置,其中,所述消息生成模块具体用于:
在所述接收模块接收到来自信息接收用户的发布信息请求消息且在维护模块判断出所述信息接收用户所属地区对应的缓存区中的缓存记录在缓存区中的缓存时间达到缓存有效期的情况下,消息生成模块从更新前的缓存区中获取缓存记录并生成推送消息;之后,消息生成模块从更新后的缓存区中获取缓存记录并再次生成推送消息。
17.如权利要求12所述的装置,其中,所述从所述预定存储区中获取相应地区的用户发布信息包括:
所述维护模块根据所述信息接收用户所属地区从预定存储区中获取预定数量的最新存储记录,且在本次获取到的最新存储记录的数量没有达到预定数量的情况下,根据所述信息接收用户所属地区的相邻地区从预定存储区中获取最新存储记录,以使获取的总的存储记录达到所述预定数量。
18.如权利要求12所述的装置,其中,所述推送消息包括:发布信息的用户ID、用户发布内容、用户发布的信息所针对的地区信息、信息发布时间以及本次推送的用户发布信息的有效期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310470318.1A CN103533042B (zh) | 2013-10-10 | 2013-10-10 | 基于位置的信息发布方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310470318.1A CN103533042B (zh) | 2013-10-10 | 2013-10-10 | 基于位置的信息发布方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103533042A CN103533042A (zh) | 2014-01-22 |
CN103533042B true CN103533042B (zh) | 2018-06-22 |
Family
ID=49934707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310470318.1A Expired - Fee Related CN103533042B (zh) | 2013-10-10 | 2013-10-10 | 基于位置的信息发布方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103533042B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469165B (zh) * | 2015-08-18 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 弹幕展示方法及弹幕展示装置 |
CN106651442B (zh) * | 2016-12-16 | 2020-10-27 | 阿里巴巴(中国)有限公司 | 一种广告投放控制方法及装置 |
CN106777403B (zh) * | 2017-03-28 | 2020-07-28 | 百度在线网络技术(北京)有限公司 | 信息推送方法和装置 |
CN108667916B (zh) * | 2018-04-24 | 2021-08-13 | 百度在线网络技术(北京)有限公司 | 一种Web应用的数据访问方法及系统 |
CN109547563B (zh) * | 2018-12-14 | 2023-02-07 | 中国平安人寿保险股份有限公司 | 消息推送处理方法、装置、存储介质及服务器 |
CN110795457B (zh) * | 2019-09-24 | 2023-05-05 | 苏宁云计算有限公司 | 数据缓存处理方法、装置、计算机设备和存储介质 |
CN113364830B (zh) * | 2021-04-26 | 2023-07-07 | 福建天泉教育科技有限公司 | 一种长链接的缓存优化方法及系统 |
CN116257718B (zh) * | 2023-05-15 | 2023-07-14 | 飞狐信息技术(天津)有限公司 | 数据更新方法、装置、电子设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112075A (en) * | 1994-11-07 | 2000-08-29 | Weiser; Douglas Diedrich | Method of communicating emergency warnings through an existing cellular communication network, and system for communicating such warnings |
CN1427588A (zh) * | 2001-11-30 | 2003-07-02 | 株式会社Ntt都科摩 | 内容发布系统、描述数据发布设备和内容发布方法 |
CN101056187A (zh) * | 2006-04-14 | 2007-10-17 | 王伟珣 | 一种网络内容定位定向定制发布的系统和方法 |
CN102843306A (zh) * | 2011-06-21 | 2012-12-26 | 腾讯科技(深圳)有限公司 | 微博信息发布方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938525B (zh) * | 2010-10-09 | 2013-03-20 | 安和创新科技(北京)有限公司 | 基于订阅/推送的缓存机制的无线企业应用的系统及方法 |
CN102137145B (zh) * | 2010-12-03 | 2015-03-18 | 华为技术有限公司 | 分布式内容管理的方法、装置及系统 |
CN103002397A (zh) * | 2011-09-08 | 2013-03-27 | 中兴通讯股份有限公司 | 一种基于位置的移动广告分发方法、装置和系统 |
-
2013
- 2013-10-10 CN CN201310470318.1A patent/CN103533042B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6112075A (en) * | 1994-11-07 | 2000-08-29 | Weiser; Douglas Diedrich | Method of communicating emergency warnings through an existing cellular communication network, and system for communicating such warnings |
CN1427588A (zh) * | 2001-11-30 | 2003-07-02 | 株式会社Ntt都科摩 | 内容发布系统、描述数据发布设备和内容发布方法 |
CN101056187A (zh) * | 2006-04-14 | 2007-10-17 | 王伟珣 | 一种网络内容定位定向定制发布的系统和方法 |
CN102843306A (zh) * | 2011-06-21 | 2012-12-26 | 腾讯科技(深圳)有限公司 | 微博信息发布方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103533042A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103533042B (zh) | 基于位置的信息发布方法和装置 | |
US8364611B2 (en) | System and method for precaching information on a mobile device | |
CN104065565B (zh) | 推送消息的方法、服务器、客户端装置和系统 | |
CN103500218A (zh) | 信息展示方法、装置和系统 | |
CN107294801B (zh) | 基于海量实时互联网dpi数据的流式处理方法及系统 | |
AU2002305714B2 (en) | System and method for scheduling an event over a network | |
CN105095480B (zh) | 社交网络更新中到媒体对象部分的链接的实时提供 | |
CN108156265B (zh) | 一种应用程序控制方法及移动设备 | |
CN105706042B (zh) | 聚集和呈现事件信息的方法和系统 | |
CN106462362A (zh) | 存储内容项 | |
CN105814931A (zh) | 基于移动网络信号的网络建模 | |
CN106657228A (zh) | 一种利用云端进行并发采集的爬虫实现方法 | |
CN104239179B (zh) | 一种终端及其实现应用管理的方法 | |
CN101068341B (zh) | 流媒体调度系统及其媒体文件调度方法 | |
CN103378978A (zh) | 推送消息的方法和服务器 | |
CN104838662A (zh) | 过滤内容流 | |
CN103646169B (zh) | 一种游戏的提醒方法和装置 | |
CN114356581A (zh) | 一种内存的清理方法及相关设备 | |
CN109525487A (zh) | 任务信息分发方法、装置、可读存储介质及计算机设备 | |
CN107707621B (zh) | 一种实现智能缓存的方法及装置 | |
CN112231589A (zh) | 信息管理方法及装置 | |
US20080222625A1 (en) | Smart contact list | |
CN105849704B (zh) | 缓存管理装置和缓存管理方法 | |
WO2017139530A1 (en) | Method for scheduled delivery of social media messaging | |
CN109769027A (zh) | 一种消息推送方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180622 Termination date: 20211010 |