专利名称:网络社区动态目录的构建系统和方法
技术领域:
本发明涉及网络社区目录的构建系统以及方法,属于互联网技术领域。
背景技术:
随着社区技术的高速发展和社区应用的普及成熟,互联网正逐步跨入社区时代。目前,中国目前有70万家独立网站,从门户到行业网站,从地区门户到个人站点,绝大多数网站均有独立专业社区。作为网站核心竞争力的重要体现之一,互联网社区在近些年取得了高速的发展。有关数据统计,在网民使用的各种网络应用中,社区应用在2005年排在第五位,而在2006年上半年已升至第三位。如何为用户提供方便快捷的互联网社区服务成为业界研究的重点之一。
传统的社区或电子公告牌系统(Bulletin Board System,以下简称BBS)目录结构的建立都以索引模式建立基于人工分类的静态讨论区目录或/和(分类讨论区下的)版面目录,用户在浏览交流时,判断该话题可能出现在什么讨论区、什么版面(该版面存在那个讨论区下),然后通过点击讨论区目录下讨论区名的超链接或/和版面目录下的版面名的超链接到达希望的讨论区或/和版面。
在传统的网络社区静态目录结构中,目录建立以后,目录中各讨论区或/和版面的目录位置相对固定。也就是说,一些访问量少的讨论区或/和版面可能由于建立时间较早或者首字母排名靠前等原因而位于目录的前页,反而,一些受关注度高的讨论区或/和版面则可能由于建立时间较晚或者首字母排名靠后等原因位于目录的后页。这样的目录结构对于拥有大量版面、访问量庞大的大型网络社区来说,不仅不方便用户查找讨论区或/和版面,还有可能因为用户根据目录查找讨论区或/和版面时产生的大量下拉、翻页等动作而消耗服务器资源、为服务器带来压力。并且,传统目录结构中一个版面只属于一个讨论区,这对于具有多属性的版面来说,不利于用户根据版面属性查找到该版面所属的讨论区,从而正确进入该版面。
发明内容
本发明所要解决的技术问题是克服上述现有的网络社区目录建立方法存在的缺陷,使网络社区目录可以根据用户群体的访问需求而进行动态调整,从而为用户提供方便快捷的网络社区服务,同时减小目录服务器的负担。
为实现上述目的,本发明提供了一种网络社区动态目录的构建系统,包括包括相互连接的网络社区数据存储模块和浏览页面生成模块,以及,目录排序模块,目录排序模块与所述网络社区数据存储模块连接,用于存储目录排序信息,对主题版面在目录内的链接位置做排序处理。
目录排序模块还可以包括目录信息存储模块及排名管理模块。
目录信息存储模块用于存储目录排序信息。排名管理模块与网络社区数据存储模块及目录信息存储模块连接,用于管理目录排序信息,从网络社区数据存储模块内读取主题版面的访问信息,通过该访问信息计算出主题版面的排序信息值,更新目录排序信息存储模块的主题版面的排序信息值,并根据该排序信息值对主题版面在目录内的链接位置做排序处理,并将排序结果发送至网络社区数据存储模块。
此外,本发明提供了一种网络社区动态目录的构建方法计算每个主题版面对应的版面排序信息值,并根据该版面的排序信息值,对目录列表内的主题版面的链接位置做排序处理。
其中,排序步骤可以为
步骤1、从网络社区数据存储模块内读取主题版面的访问信息;步骤2、根据主题版面的访问信息得出主题版面的排序信息值,更新主题版面的对应的排序信息值;步骤3、根据所述排序信息值对各所述主题版面在目录项的主题版面链表中的位置排列进行排序;步骤4、根据目录项主题版面链表生成相应的排序目录页面。
因此,本发明具有以下优点实现了网络社区目录的动态建立,使得受关注度高的版面位于目录的前页,合理了大型网络社区目录的布局,就访问人群整体而言,方便了访问者对于经常访问的版面的查找。同时,也使得目录信息熵达到最大,因此,将因为用户查找主题版面而产生的下拉、翻页等动作而消耗服务器的资源减小到最小,缓解了服务器压力。另外,对于具有多属性的版面来说,用户可以根据版面属性查找到该版面所属的讨论区,从而正确进入该版面。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明的网络社区动态目录的构建系统的结构图;图2为本发明的网络社区动态目录的构建系统实施例目录排序模块结构图;图3本发明的网络社区动态目录的构建系统实施例目录信息存储模块结构图;图4为本发明的网络社区动态目录的构建系统实施例网络社区目录结构图;图5为本发明的网络社区动态目录的构建方法的流程图。
具体实施例方式
为实现本发明首先需要建立一种网络社区动态目录的构建系统,如图1所示,包括相互连接的网络社区数据存储模块和浏览页面生成模块,以及,目录排序模块。
目录排序模块与所述网络社区数据存储模块连接,用于存储目录排序信息,主题版面在目录内的链接位置做排序处理。目录排序信息包括网络社区目录内各目录项的目录项信息,以及各主题版面的主题版面信息。主题版面信息中包括排序信息值,该排序信息值是反映主题版面受关注度的一个数值,目录排序模块根据该排序信息值对主题版面在目录内的链接位置做排序处理。
其中,网络社区数据存储模块、浏览页面生成模块都可以采用现有的方式实现。网络社区数据存储模块可以采用MySQL、Oracle等数据库,也可以采用另外的数据组织方式实现;浏览页面生成模块可以借用Apache、Zeus等Web服务器中的功能模块实现,也可以采用其它的方式。上述各模块之间的连接交互可以通过现有技术,如采用PHP、ASP等脚本语言编写的程序模块实现,也可以采用其它可行方式实现。目录排序模块可以采用软件、硬件、程序模块或其它方式实现。目录排序信息包括网络社区目录中各目录项的信息和各主题版面的信息。主题版面的信息中包含一个排序信息值,该排序信息值是反映版面受关注度的一个数值,目录排序模块根据这个数值对主题版面在目录内的链接位置做排序处理。
如图2所示,目录排序模块可以包括目录信息存储模块及排名管理模块。
目录信息存储模块用于存储目录排序信息。排名管理模块与网络社区数据存储模块及目录存储模块交互,用于管理目录排序信息,从网络社区数据存储模块内读取主题版面的访问信息,通过该访问信息计算出主题版面的排序信息值,更新目录排序信息存储模块的主题版面的排序信息值,并根据该排序信息值对主题版面在目录内的链接位置做排序处理,并将排序结果发送至网络社区数据存储模块。网络社区存储模块向浏览页面生成模块发送包含排序结果的数据,浏览页面生成模块根据该数据生成相应的目录浏览页面。
将目录排序模块分为目录信息存储模块及排名管理模块两部分,将存储与管理的功能分部在不同的模块上,优化了系统的配置。其中,目录信息存储模块可以通过现有数据库技术实现或者采用其它的数据组织方式实现。
排名管理模块可以包括排名计算模块及排名更新模块。
排名计算模块与网络社区数据存储及版面排序信息模块连接,用于从网络社区数据存储模块内读取主题版面的访问信息,通过访问信息得出所述主题版面的排序信息值,更目录信息存储模块的中各主题版面的排序信息值。排名更新模块,与目录排序模块连接,用于根据排序信息存储模块的所述版面排序信息中的排序信息值,根据排序信息值对主题版面在目录内的链接位置做排序处理,并将排序结果发送至网络社区数据存储模块。网络社区存储模块向浏览页面生成模块发送包含排序结果的数据,浏览页面生成模块根据该数据生成相应的目录浏览页面。
排名计算模块负责计算各主题版面的排序信息值,其中排序信息值,是反映版面受关注度的一个数值,通俗的来说为主题版面的“人气值”。排名计算模块从网络社区数据存储模块中获取每个主题版面的计算文章总量(通俗的说就是主题版面内的“帖子”数)、时段文章增量(通俗的说就是主题版面内最近某个时段,比如一周之类,增加的“帖子”数)、发表文章的不同用户数(通常采用不同的IP计算,即,假设一个用户对应一个独立的IP,来自同一个IP的文章,也视为同一个用户发出,以减小个别用户为提高主题版面“人气”而大规模发表无意义的文章对正常的排序信息值计算造成的影响,保证排序信息值能对主题版面的“受关注度”做出较为客观的反映)。接着,排名计算模块通过系统预设的公式或者逻辑电路计算排序信息值。
排名更新模块得到排序信息值更新的消息后,对网络社区目录内每一个目录项下的主题版面的链接根据主题版面对应的排序信息值做排序处理,并将排序结果发送至网络社区数据存储模块。网络社区存储模块向浏览页面生成模块发送包含排序结果的数据,浏览页面生成模块根据该数据生成相应的目录浏览页面。在目录浏览页面中,“人气值”越高的版面其链接地址在目录页的位置越靠前。方便了访问者对于经常访问的版面的查找。同时,也使得目录信息熵达到最大,因此,将因为用户查找主题版面而产生的下拉、翻页等动作而消耗服务器的资源减小到最小,缓解了服务器压力。
排名计算和排名更新分布到两个功能模块,分别完成计算和更新的任务,保持了模块间的松耦合。另外,排名计算模块和排名更新模块之间的消息传递可以通过如下方式进行排名计算模块在完成排序信息值的计算后生成一个锁标识保存在目录信息存储模块或者其它模块;排名更新模块检测是否存在锁标识,如果存在锁标识,则进行目录中主题版面排序的更新计算。其中锁标识可以是存储标识位、标识记号,或者一个文件。在本实施例中锁标识是一个空文件,仅用于消息的传递。
同大多数网络社区目录设置一样,在本实施例中目录采用两级分类制。由于排名管理模块对一级分类目录项、二级分类目录项及主题版面各自的信息调用和更新的频繁程度不一样,并且,由于它们的数据组织也可以有所不同,因此,为提高排名管理模块对目录排序处理的效率,目录信息存储模块可以再分为不同的存储模块。例如,如图3所示,包括一级分类目录信息存储模块、二级分类目录信息存储模块以及版面信息存储模块。一级分类目录信息存储模块与排名管理模块连接,用于存储一级分类目录的信息。二级分类目录信息存储模块与排名管理模块连接,用于存储二级分类目录的信息。版面信息存储模块,与排名管理模块连接,用于存储主题版面的信息。
在本实施例中的目录结构,如图4所示,分为两级一级分类目录和二级分类目录。一级分类目录中每一个目录项中链接若干个二级分类目录项,二级分类目录项中链接若干个主题版面。而每一个二级分类目录项可以属于多个一级分类目录项,每个一个主题版面可以属于多个二级分类目录项。由于一些二级分类目录项和主题版面可能拥有一个以上的属性,比如以“麦兜”为主题的版面,即具有“动漫人物”的属性又具有“动漫作品”的属性,因此,以“麦兜”为主题的版面,可以同时属于“动漫人物”和“动漫作品”两个二级分类目录项。这样的技术方案,对于具有多属性的主题版面来说,用户可以根据版面属性查找到该版面所属的讨论区,从而正确进入该主题版面。另外,每个主题版面的多个属性中可以选取一个为“主属性”,其它为“映射属性”,以方便以“映射属性”查找主题版面的用户返回“主属性”所属的二级分类目录项,查找到其它与该主题版面“主属性”相关的其它主题版面。在实际中,网络社区还可以设置更多级的多级目录分类,或者只采用单级目录分类,其技术方案与本实施例类似,不再赘述。
一级分类目录信息存储模块以节点的形式存储每个一级分类目录项的信息,一级分类目录节点信息包括一级分类名,二级分类目录项链表。其中,二级分类目录项链表存储属于该一级分类目录项所有二级分类目录项的链接。
相似的,二级分类目录信息存储模块以节点的形式存储每个二级分类目录项的信息。二级分类目录节点信息包括二级分类名,一级分类链表,主题版面链表。其中,一级分类链表存储该二级分类目录项所属于的所有一级分类目录项的链接,主题版面链表存储属于该一级分类目录项所有主题版面的链接。
版面信息存储模块以节点的形式存储每个主题版面的信息。主题版面节点信息包括版面名、二级分类链表以及排序信息值。其中,二级分类链表存储该主题版面所属于的所有二级分类目录项的链接。
由于本实例中,系统需要对二级分类目录项下的主题版面的链接位置做排序处理,因此二级分类目录节点信息中的主题版面链表,需要经常更新,而二级分类目录节点信息中的二级分类名及一级分类链表相对来说比较固定,因此,可以分别用动态和静态的形式存储它们。
所以,二级分类目录信息存储模块可以包括二级分类动态信息存储模块及二级分类静态信息存储模块。二级分类动态信息存储模块与排名管理模块连接,用于存储二级分类动态信息。二级分类静态信息存储模块与排名管理模块连接,用于存储二级分类静态信息。其中,二级分类动态信息包括二级分类目录节点信息中的主题版面链表,或者其它需要经常更新的信息,二级分类静态信息包括二级分类目录节点信息中的二级分类名及一级分类链表,或者其它相对不需要经常更新的信息。
对于大型网络社区来说,由于每天有大量的新建版面产生,而如果每当这些新建版面加入二级分类目录时都对二级分类目录节点信息中的主题版面链表重新进行一次排序以产生新的目录页面,系统的工作量将会过大,而且没有必要因此而加大系统负担。
所以,二级分类目录信息存储模块可以包括当前二级分类动态信息存储模块、增量二级分类动态信息存储模块及二级分类动态信息合并模块。
当前二级分类动态信息存储模块与排名管理模块连接,用于存储当前二级分类动态信息。增量二级分类动态信息存储模块,与排名管理模块连接,用于存储增量二级分类动态信息。二级分类动态信息合并模块,与当前二级分类动态信息存储模块及增量二级分类动态信息存储模块连接,用于将增量二级分类动态信息合并至当前二级分类动态信息。
其中增量二级存储的是最近某个时间段内增加的二级分类动态信息,二级分类动态信息合并模块定时的将它们合并至当前二级分类动态信息,即存储到当前二级分类动态信息存储模块中。然后,排名管理模块再对当前二级分类动态信息内的主题版面链表做更新排序处理,以便生成新的目录页面。
本发明的网络社区动态目录的构建方法主要思路为对每个主题版面对应的版面排序信息值进行计算,并根据该版面的排序信息值,对目录列表内的主题版面的链接位置做排序处理。
如图5所示,本发明的网络社区动态目录的构建方法,包括以下步骤步骤1、从网络社区数据存储模块内读取主题版面的访问信息;
步骤2、根据主题版面的访问信息得出所述版面的排序信息值,更新主题版面的对应的排序信息值;步骤3、根据所述排序信息值对各所述主题版面在目录项的主题版面链表中的位置排列进行排序;步骤4、根据目录项主题版面链表生成相应的排序目录页面。
由于排名计算和排名可以分布到两个功能模块,以保持系统模块之间的松耦合。为完成它们之间的消息传递,步骤2与步骤3之间包括步骤31、生成锁标识,将所述锁标识保存在目录排序模块中;步骤32、检测目录排序模块中是否存在锁标识,是,则执行步骤33,否则继续执行步骤32;步骤33、执行步骤3,删除锁标识。
其中锁标识可以是存储空间的某个标识位,某个标识记号,或者一个文件。在本实施例中锁标识是一个空文件,仅用于消息的传递。
在步骤1中从网络社区数据存储模块内读取主题版面的访问信息,可以包括,文章总量、时段文章增量、发表文章的不同用户数。文章总量通俗的说就是主题版面内的“帖子”数。时段文章增量通俗的说就是主题版面内最近某个时段,比如一周之类增加的“帖子”数。发表文章的不同用户数通常采用不同的IP计算,即,假设一个用户对应一个独立的IP,来自同一个IP的文章,也视为同一个用户发出,以减小个别用户为提高主题版面“人气”而大规模发表无意义的文章对正常的排序信息值计算造成的影响,保证排序信息值能对主题版面的“受关注度”做出较为客观的反映。对上述主题版面的访问信息均可以用来衡量主题版面的受关注度,因此,需要根据这些信息得到一个量化的数值,以完成排序信息值的计算。
相应上述步骤1,步骤2为通过所述文章总量、所述时段文章增量、所述发表文章的不同用户数加权计算,得出所述版面的排序信息值。
步骤2计算排序信息值的方法可以进一步具体为
对每一个主题版面计算c1×文章总量+c2×时段文章增量+c3×发表文章的不同用户数,得到的数值结果保存为排序信息值;其中c1、c2、c3是系统预计算出的参数;主题版面的文章总量是该主题版面下存在的所有文章的总数;主题版面的时段文章增量是某个时段内该主题版面内增加的文章的总数;主题版面的发表文章的不同用户数可以根据发表文章的独立IP数计算得出。
在本实施例中,设定时段文章增量为本周增加的文章数量,设定发表文章的不同用户数等于发表文章的独立IP数。
c1、c2、c3是一组无单位的系数,可以由系统根据网络社区的实际情况预先设定。比如,在本实施例中,系统根据网络社区的文章总量、时段文章增量、发表文章的独立IP数的比例情况为10∶5∶1,将c1设定为1、c2设定为5、c3设定为10。假设网络社区内某个主题版面的文章总量为10000,本周增加的文章数量为2000,发表文章的独立IP数为200,则,该主题版面对应的排序信息值为1×10000+5×2000+10×200=22000。c1、c2、c3也可以根据系统记录的访问信息的统计而灵活设定。
上述方案从总体上实现了网络社区目录的动态建立,使得受关注度高的版面位于目录的前页,合理了大型网络社区目录的布局,就访问人群整体而言,方便了访问者对于经常访问的版面的查找。同时,也使得目录信息熵达到最大,将因为用户查找主题版面而产生的下拉、翻页等动作而消耗服务器的资源减小到最小,缓解了服务器压力。
最后应说明的是以上实施例仅用以说明本发明的技术方案而非对本发明的技术方案进行限制,尽管参照上述的实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或替换依然不脱离本发明技术方案的精神和范围。
权利要求
1.一种网络社区动态目录的构建系统,包括相互连接的网络社区数据存储模块以及浏览页面生成模块,其特征在于,还包括目录排序模块,与所述网络社区数据存储模块连接,用于存储目录排序信息,对主题版面在目录内的链接位置做排序处理。
2.根据权利要求1所述的网络社区动态目录的构建系统,其特征在于,目录排序模块包括目录信息存储模块,用于存储目录排序信息;排名管理模块,与网络社区数据存储模块及目录排序模块交互,用于管理目录排序信息,从网络社区数据存储模块内读取主题版面的访问信息,通过该访问信息计算出主题版面的排序信息值,更新目录排序信息存储模块的主题版面的排序信息值,并根据该排序信息值对主题版面在目录内的链接位置做排序处理,并将排序结果发送至网络社区数据存储模块。
3.根据权利要求2所述的网络社区动态目录的构建系统,其特征在于,所述排名管理模块包括排名计算模块,与网络社区数据存储模块及目录信息存储模块连接,用于从网络社区数据存储模块内读取所述版面的访问信息,通过所述访问信息得出所述版面的排序信息值,更新目录信息存储模块的中各版面的排序信息值;排名更新模块,与目录排序模块及网络社区数据存储模块连接,用于根据目录信息存储模块的排序信息值,对主题版面在目录内的链接位置做排序处理,并将排序结果发送至网络社区数据存储模块。
4.根据权利要求2所述的网络社区动态目录的构建系统,其特征在于,目录信息存储模块包括一级分类目录信息存储模块,与排名管理模块连接,用于存储一级分类目录信息;二级分类目录信息存储模块,与排名管理模块连接,用于存储二级分类目录信息;版面信息存储模块,与排名管理模块连接,用于存储版面排名排序信息。
5.根据权利要求4所述的网络社区动态目录的构建系统,其特征在于,二级分类目录信息存储模块由二级分类动态信息存储模块以及二级分类静态信息存储模块构成;二级分类动态信息存储模块,用于存储二级分类动态信息;二级分类静态信息存储模块,用于存储二级分类静态信息。
6.根据权利要求5所述的网络社区动态目录的构建系统,其特征在于,二级分类目录信息存储模块包括当前二级分类动态信息存储模块,与排名管理模块连接,用于存储当前二级分类动态信息;增量二级分类动态信息存储模块,与排名管理模块连接,用于存储增量二级分类动态信息;二级分类动态信息合并模块,与当前二级分类动态信息存储模块及增量二级分类动态信息存储模块连接,用于将增量二级分类动态信息合并至当前二级分类动态信息。
7.一种网络社区动态目录的构建方法,其特征在于,包括以下步骤步骤1、从网络社区数据存储模块内读取主题版面的访问信息;步骤2、根据主题版面的访问信息得出主题版面的排序信息值,更新主题版面的对应的排序信息值;步骤3、根据所述排序信息值对各所述主题版面在目录项的主题版面链表中的位置排列进行排序;步骤4、根据目录项主题版面链表生成相应的排序目录页面。
8.根据权利要求7所述的网络社区动态目录的构建方法,其特征在于,步骤2与步骤3之间包括步骤31、生成锁标识,将所述锁标识保存在目录排序模块中;步骤32、检测目录排序模块中是否存在锁标识,是,则执行步骤33,否则继续执行步骤32;步骤33、执行步骤3,删除锁标识。
9.根据权利要求7所述的网络社区动态目录的构建方法,所述步骤1具体为从网络社区数据存储模块内读取主题版面的访问信息文章总量、时段文章增量、发表文章的不同用户数。
10.根据权利要求7所述的网络社区动态目录的构建方法,所述步骤2具体为通过所述文章总量、所述时段文章增量、所述发表文章的不同用户数加权计算,得出该主题版面的排序信息值。
11.根据权利要求10所述的网络社区动态目录的构建方法,其特征在于,步骤2所述排序信息值通过如下公式计算排序信息值=c1×文章总量+c2×时段文章增量+c3×发表文章的不同用户数;得到的数值结果系统保存为排序信息值;其中c1、c2、c3是系统预计算得出的参数;主题版面的发表文章的不同用户数可以根据发表文章的独立IP数计算得出。
全文摘要
本发明涉及一种网络社区动态目录的构建系统,包括相互连接的网络社区数据存储模块和浏览页面生成模块,以及,与网络社区数据存储模块连接的目录排序模块,目录排序模块用于存储目录排序信息,对目录内的主题版面的链接位置做排序处理。还涉及一种基于该系统的方法,计算每个主题版面对应的版面排序信息值,并根据该版面的排序信息值,对目录列表内的主题版面的链接位置做排序处理。实现了网络社区目录的动态建立,使得受关注度高的版面位于目录的前页,合理了大型网络社区目录的布局。另外,对于具有多属性的版面来说,用户可以根据版面属性查找到该版面所属的讨论区,从而正确进入该版面。
文档编号H04L12/16GK1949220SQ200610140848
公开日2007年4月18日 申请日期2006年10月12日 优先权日2006年10月12日
发明者齐玉杰, 俞军, 侯震宇, 李明远, 郭眈, 边江, 赵秀文, 商静, 王鹏云, 刘建国, 李彦宏 申请人:百度在线网络技术(北京)有限公司