信息聚合系统及其实现方法

文档序号:6337905阅读:210来源:国知局
专利名称:信息聚合系统及其实现方法
技术领域
本发明涉及一种信息的聚合及方法,特別是涉及一种信息聚合系统及其实现方法。
背景技术
微博,即微博客(MicroBlog)的简称,是ー个基于用户关系的信息分享、传播以及获取平台。在微博中,用户可以关注好友,可以看到好友最新动态;用户也可以产生动态信息,系统把动态信息及时的推送给关注该用户的用户。游戏社区中动态推送系统原理与微博类似,但是与一般微薄最大的不同是游戏社区会接入很多游戏,用户在玩游戏的过程中也会产生动态信息。游戏中短时间内产生大量相似动态信息的可能性比较高,比如一个用户连续发了 10次求救信号,产生10个动态信息,把这些动态信息一一展示会比较浪费版面。当多个游戏动态信息在时序上有交叉时展示的版面也比较乱。聚合就是要把这类重复或相似的动态信息聚合起来,有选择的展示其中一部分。常规可能的聚合需求如下1)強制不聚合,比如用户主动输入的推他动态信息;2)游戏A的每两小时的动态信息聚合在一起,不同类型的动态信息在该游戏内再按类型聚合在ー块,每种类型显示最新一条,同时告知另外还有几条;3)游戏B的每两小时的动态信息聚合在一起,不区分类型,显示最新五条;4)游戏D、E、F的类型X的动态信息(比如开通游戏动态)聚合在ー块,每个游戏显示最新一条;5)系统动态中的头像更换动态聚合后只显示最新一条。关于聚合,目前最常用的解决方法是为每个或每类聚合需求实现ー套独立代码, 当新的聚合需求吋,需要新开发代码,因此,这类方法具有如下缺点1)需要长期的开发类人力投入,每接入一个游戏动态都要升级程序;2)由于需要开发,从需求提出到实现的周期较长;3)当动态类型越多吋,开发周期上的劣势越明显;4)代码过多,不易维护,如果某个聚合需求撤销了,会留下垃圾代码。

发明内容
本发明要解决的技术问题是提供ー种信息聚合系统及其实现方法。利用该系统可以很方便地完成信息聚合,而且如果以后増加聚合需求,只需要配置语法描述规则就能达到目的,在开发上减少了的人力投入。为解决上述技术问题,本发明的信息聚合系统,包括集合模块,用于描述需要聚合的动态范围,并根据该动态范围进行信息聚合;优先级模块,用于多级聚合吋,描述信息聚合的优先级,并根据优先级进行信息聚合;约束条件模块,用于描述不同的应用场景,并根据应用场景进行信息聚合;所述集合模块、优先级模块、约束条件模块,根据情况组合应用完成信息聚合。动态具有各种属性,而聚合的集合模块和优先级模块正是通过属性来描述,该属性包含动态属性。如可用游戏社区常用的动态属性来描述,但属性在不同应用中是可扩展的,因此本发明描述模块中的ー种语法,涉及的属性包含(但不限干)如下属性1)产生动态的游戏每个游戏有个独立的数字ID表示,用A表示该属性名;2)动态的类型每个游戏产生的动态有不同类型,每种类型用数字ID表示,用T 表示该属性名;3)产生动态的主体用户用F表示该属性名。集合模块的语法描述如下A ? T ? , A ? T ?,…用“,”分割各个子集合,所有子集合的并集完整的表示ー个集合。每个子集合的语法含义如下A ?指定游戏ID ;T ?指定动态类型ID ;如上语法可根据属性扩展如A ? T ? X ? Y ?,A ? T ? X ? Y ?,…(X、Y根据具体应用添加)。优先级模块的语法描述如下?或? > 或? > > 或? >…?“?”用属性名替换,有几个?表示有几个聚合层级,左边的属性优先级高于右边的属性。约束条件模块的语法可根据实际应用场景自定义。另外,本发明的信息聚合系统的实现方法(即算法),包括步骤第一歩,载入信息聚合系统的语法描述配置和待聚合的动态;第二步,获取下一个动态,如果不成功(即所有动态都遍历完了),则根据动态的层级结构进行深度优先遍历,编码成前端可显示的数据包结构,完成聚合;获取下ー个动态,如果成功,则按下述步骤进行1)根据集合模块中的语法描述,确定该动态符合哪个模块的语法描述;2)根据约束条件模块中的语法描述,找到该语法描述下对应的数据包,如不存在, 新建一个数据包;3)如果是多级聚合吋,根据优先级模块中的语法描述,找到归属的子包,如不存在,新建ー个子包,对于子包,需要记录子包所属父包,以维持层级结构;4)当找到最小聚合力度子包吋,根据显示条数目数和包内已存在的条数,决定把动态加入包或只增加计数;第三歩,再进行获取下ー个动态,重复第二步的操作。本发明设计的信息聚合系统,针对不同的聚合需求,只需根据模块的语法配置即可表达需要聚合的效果,同时实现了信息聚合方法。根据该方法,以后增加聚合需求,只需要配置模块中的语法描述就能达到目的,大大减少了在开发上的人力投入。
因此,本发明最大的优点就是语言逻辑清晰,支持通用聚合语法配置,无需重复开发代码。本发明虽然是应游戏社区的需求而设计,但设计比较通用,也可用于其它需要对信息进行聚合的领域。


下面结合附图与具体实施方式
对本发明作进ー步详细的说明附图是本发明的信息聚合系统的实现方法流程图。
具体实施例方式本实施例中,以游戏社区为例,说明本发明的信息聚合系统及其实现方法。本发明的信息聚合系统,包括集合模块,用于描述需要聚合的动态范围,并根据该动态范围进行信息聚合;优先级模块,用于多级聚合吋,描述信息聚合的优先级,并根据优先级进行信息聚合;约束条件模块,用于描述不同的应用场景,并根据应用场景进行信息聚合;该3个模块,能根据情况(实际情况)组合应用完成信息聚合。其中,约束条件模块根据不同的应用场景,可以扩展,在本实施例的游戏社区中主要四个①是否聚合不聚合时,优先级等无用信息描述被无视;②时间分段长度落在不同时段动态会聚合在两个独立的数据包里面;③显示条目数把需要显示的动态内容放在聚合包里不显示,只显示统计数字;④是否多好友聚合多个好友的动态是聚合在同一个数据包里、还是各自独立的数据包里。聚合的集合模块和优先级模块,通过游戏社区常用的动态属性来描述,包含1)产生动态的游戏每个游戏有个独立的数字ID表示,用A表示该属性名;2)动态的类型每个游戏产生的动态有不同类型(如打怪、升级等等),每种类型用数字ID表示,用T表示该属性名;3)产生动态的主体用户用F表示该属性名。集合模块的语法描述如下A ? T ? , A ? T ?,…用“,”分割各个子集合,所有子集合的并集完整的表示ー个集合。每个子集合的语法含义如下A ?:指定游戏10,如41001、六1003;T 指定动态类型ID,如Tl、T8、T*(表示该游戏下的所有类型)。完整的集合模块语法描述举例如下Α1001Τ* 游戏1001下所有类型的动态;Α1002Τ1, Α1003Τ1, Α1004Τ1 游戏 1002、1003、1004 的类型 ID 为 1 的动态;Α1005Τ3, Α1006Τ* 游戏1005的类型ID为3的动态和游戏1006的所有动态。
如上语法可根据属性扩展如A ? T ? X ? Y ?,A ? T ? X ? Y ?,…(X、Y根据具体应用添加)。优先级模块的语法描述如下?或? > 或? > > 或? >…?“?”用属性名替换,有几个?表示有几个聚合层级,左边的属性优先级高于右边的属性。举例如下A 按游戏聚合;A > T 按游戏聚合成包后,每个包内的动态再按类型聚合成子包;T > A 按类型聚合成包后,每个包内的动态再按游戏聚合成子包;A > T > F 按游戏聚合成包后,每个包内的动态再按类型聚合成子包,子包内的动态在按用户聚合成更小カ度的子包。约束条件模块的语法可根据实际应用场景自定义。根据上述系统,本发明的实现信息聚合的方法,其流程图如说明书附图所示,具体步骤包括第一歩,载入信息聚合系统的语法描述配置(即关于上述集合模块、优先级模块和约束条件模块的语法描述)和待聚合的动态;第二步,获取下一个动态,如果不成功(即所有动态都遍历完了),则根据动态的层级结构进行深度优先遍历,编码成前端可显示的数据包(如XML格式)结构,完成聚合;获取下ー个动态,如果成功,则按下述步骤进行1)根据集合模块中的语法描述,确定该动态符合哪个模块的语法描述;如有一条语法定义为集合是A1001T*,聚合优先级是A>T ;那么所有应用ID为1001的动态都符合该语法,这些动态都要先按应用再按类型进行两级聚合;2)根据约束条件中的语法描述(如是否聚合、时间分段长度、显示条目数、是否多好友聚合),找到该语法下对应的数据包,如不存在,新建一个数据包;对于属于同一集合的动态,约束条件可以导致其属于不同的包,比如每两个小时聚一次,那么间隔两小时的以上的动态会分属于两个包;再比如单用户聚合要求不同用户的动态聚合到不同的包;3)如果是多级聚合吋,根据优先级模块中的语法描述(即根据属性和聚合层级), 找到归属的子包,如不存在,新建ー个子包,记录子包所属父包,以维持层级结构;比如应用 ID为1001类型为2的动态,按“A > T”优先级聚合,那么所有应用ID为1001类型为2的动态形成ー个子包,其父包是所有应用ID为1001的动态数据包;4)当找到最小聚合力度子包时(优先级模块中定义的所有属性都相同的动态形成最小力度子包),根据显示条数目数和包内已存在的条数,决定把动态加入包或只增加计数(当动态条数大于显示条数时只增加计数);第三歩,再进行获取下ー个动态,重复第二步的操作。本实施例可以把相似动态比较多时,只显示最新的几条,而且需要聚合在ー块展
7J\ ο
权利要求
1.一种信息聚合系统,其特征在干该系统包括集合模块,用于描述需要聚合的动态范围,并根据该动态范围进行信息聚合; 优先级模块,用于多级聚合时,描述信息聚合的优先级,并根据优先级进行信息聚合; 约束条件模块,用于描述不同的应用场景,并根据应用场景进行信息聚合; 所述集合模块、优先级模块、约束条件模块,根据情况组合应用完成信息聚合。
2.如权利要求1所述的信息聚合系统,其特征在于所述约束条件模块,在游戏社区中的应用场景包括是否聚合、时间分段长度、显示条目数、是否多好友聚合。
3.如权利要求1所述的信息聚合系统,其特征在于所述集合模块和优先级模块是通过属性来描述,该属性包含动态属性。
4.如权利要求3所述的信息聚合系统,其特征在于所述动态属性包含1)产生动态的游戏每个游戏有独立的数字ID表示,用A表示该属性名;2)动态的类型每个游戏产生的动态有不同类型,每种类型用数字ID表示,用T表示该属性名;3)产生动态的主体用户用F表示该属性名。
5.如权利要求4所述的信息聚合系统,其特征在干所述集合模块的语法描述为 A ? T ? , A ? T ?,…用“,”分割各个子集合,所有子集合的并集完整的表示ー个集合,其中,每个子集合的语法含义,A ?指定游戏ID;T 指定动态类型ID; 优先级模块的语法描述为 ?或? > 或? > > 或? >…?“ ? ”用属性名替换,有几个?表示有几个聚合层级,左边的属性优先级高于右边的属性;约束条件模块的语法根据实际应用场景自定义。
6.如权利要求5所述的信息聚合系统,其特征在于所述集合模块的语法描述,根据属性扩展为A ? T ? X ? Y ? , A ? T ? X ? Y ?,…其中,X、Y根据具体应用添加。
7.如权利要求1-6任意一项所述的信息聚合系统的实现方法,包括步骤 第一歩,载入信息聚合系统的语法描述配置和待聚合的动态;第二歩,获取下ー个动态,如果不成功,则根据动态的层级结构进行深度优先遍历,编码成前端可显示的数据包结构,完成聚合;获取下一个动态,如果成功,则按下述步骤进行1)根据集合模块中的语法描述,确定该动态符合哪个模块的语法描述;2)根据约束条件模块中的语法描述,找到该语法描述下对应的数据包,如不存在,新建一个数据包;3)如果是多级聚合吋,根据优先级模块中的语法描述,找到归属的子包,如不存在,新建一个子包;4)当找到最小聚合力度子包吋,根据显示条数目数和包内已存在的条数,决定把动态加入包或只增加计数;第三歩,再进行获取下ー个动态,重复第二步的操作。
8.如权利要求7所述的信息聚合系统的实现方法,其特征在干所述步骤3)中,对于子包,需要记录子包所属父包,以维持层级结构。
全文摘要
本发明公开了一种信息聚合系统及其实现方法,该系统包括集合模块、优先级模块、约束条件模块,这3个模块根据情况组合应用完成信息聚合。该方法,包括步骤第一步,载入信息聚合系统的语法描述配置和待聚合的动态;第二步,获取下一个动态是否成功,进行不同的步骤;第三步,再进行获取下一个动态,重复第二步的操作。利用本发明可以很方便地完成信息聚合,而且如果以后增加聚合需求,只需要配置语法描述就能达到目的,在开发上减少了的人力投入。
文档编号G06F17/30GK102541846SQ20101057673
公开日2012年7月4日 申请日期2010年12月7日 优先权日2010年12月7日
发明者童舟 申请人:盛乐信息技术(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1