CN101008948A - 一种实现论坛的方法及系统 - Google Patents
一种实现论坛的方法及系统 Download PDFInfo
- Publication number
- CN101008948A CN101008948A CN 200610002625 CN200610002625A CN101008948A CN 101008948 A CN101008948 A CN 101008948A CN 200610002625 CN200610002625 CN 200610002625 CN 200610002625 A CN200610002625 A CN 200610002625A CN 101008948 A CN101008948 A CN 101008948A
- Authority
- CN
- China
- Prior art keywords
- subject
- content
- forum
- server
- index file
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种实现论坛的方法,该方法包括利用数据库存储论坛数据中由主题内容构成的版面和与主题相关的用户信息,利用索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联;至少从所述数据库中读取主题内容呈现论坛的版面,以及在通过该版面选择主题内容进入论坛时,根据该主题内容的主题标识从对应的索引文件读取并呈现与该主题内容相关的帖子内容。本发明还公开了一种实现论坛的系统。
Description
技术领域
本发明涉及通信及计算机技术领域,尤其涉及一种实现论坛的方法及系统。
背景技术
目前有两种实现论坛的方式,一种是基于数据库方式,另一种是基于纯索引文件方式。
基于数据库方式是将所有的版面、帖子内容和用户信息等都保存在数据库中,用户所有的发帖,回帖,版主对版面的管理等操作都对应数据库的存取。
基于纯索引文件方式是采用索引方式组织相关内容,即将所有的版面、帖子内容和用户信息等都存放在索引文件中,所有的操作都是对文件的添加,修改。
基于数据库实现方式存在以下缺点:
数据库存取的效率较低,不能支持大规模的用户存取,不能支持大规模的用户创建版面。
基于纯索引文件方式存在以下缺点:
实现复杂度高,进行统计时只有顺序遍历所有的文件,这个过程存在大量磁盘I/O操作,耗时太长并且对系统的压力大,不利于信息统计。
发明内容
本发明提供一种实现论坛的方法及系统,以解决现有技术中采用基于数据方式实现论坛存在存取效率较低和不支持大规模用户操作,以及采用纯索引文件方式实现论坛存在复杂度较高和不利于信息统计的问题。
本发明提供以下技术方案:
一种在网络系统中实现论坛的方法,包括如下步骤:
利用数据库存储论坛数据中由主题内容构成的版面和与主题相关的用户信息,利用索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联;
至少从所述数据库中读取主题内容呈现论坛的版面,以及在通过该版面选择主题内容进入论坛时,根据该主题内容的主题标识从对应的索引文件读取并呈现与该主题内容相关的帖子内容。
其中:
进一步从数据库中读取与主题内容相关的用户信息呈现在版面上。
所述与主题相关的用户信息至少包括创建主题的用户的用户信息。
所述与主题相关的用户信息进一步包括最后一个帖子的用户的用户信息。
当接收到用户通过所述版面提交的主题内容时生成该主题内容的主题标识,并将主题内容及其标识存储到数据库中,并更新所述版面以呈现用户提交的主题内容。
将用于存储一个索引文件的存储空间划分为多个存储块,每一个存储块仅存储相同主题的子帖内容,并且存储相同主题的帖子内容的存储块中的至少一个存储块与主题内容的主题标识形成关联。
当接收到用户通过论坛页面提交的与主题相关的帖子内容时,根据主题标识查找到对应的文件和其中存储块,并将帖子内容存储到该存储块中;进一步更新数据库中与该主题相关的用户信息。
由多个存储块存储与一个主题内容相关的帖子内容时,在该多个存储块之间形成关联。
一种实现论坛的系统,包括:
用于通过数据库方式存储论坛数据中由主题内容构成的版面和与主题相关的用户信息的数据库服务器;
用于通过索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联的索引文件服务器;
用于向所述数据库服务器中的数据库获取或存储主题内容和用户信息,以及根据主题内容的主题标识向索引文件服务器中对应的索引文件获取或存储与主题内容相关的帖子内容的业务服务器;
用于根据业务服务器提供的主题内容、用户信息和帖子内容形成论坛页面,以及将用户提交的主题内容和帖子内容传送给业务服务器的页面服务器。
所述业务服务器、页面服务器、数据库服务器和索引文件服务器为相互独立的物理实体;或者,所述业务服务器、索引文件服务器和数据库服务器为同一物理实体。
本发明采用数据库存储主题内容和相关的用户信息,具有易于维护和统计信息的优点;采用索引文件存储帖子内容,能够在较简单的实现方式下支持大规模用户进行操作。
附图说明
图1A为本发明实施例中实现论坛的系统结构示意图;
图1B为本发明实施例中业务服务器的结构示意图;
图2A、2B为本发明实施例中采用存储块存储帖子内容的示意图;
图3为本发明实施例中呈现论坛页面的流程图;
图4为本发明实施例中用户通过论坛页面提交回帖的流程图;
图5为本发明实施例中用户通过版面提交主题内容的流程图。
具体实施方式
为了在实现论坛时能够大规模用户进行操作并且易于维护和统计,本发明采用数据库存储论坛数据中由主题内容构成的版面和与主题相关的用户信息,采用索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联。
参阅图1A所示,实现论坛的系统包括数据库服务器10、索引文件服务器11、业务服务器12和页面(Web)服务器13。
数据库服务器10与业务服务器12连接,用于将论坛数据中由主题内容构成的版面和与主题相关的用户信息存储到数据库中。
索引文件服务器11与业务服务器12连接,用于通过索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联。
业务服务器12用于从所述数据库服务器10获取主题内容和用户信息,或者将主题内容和用户信息传送给数据库服务器12以存储到数据库中,以及根据主题内容的主题标识向索引文件服务器11中对应的索引文件获取与主题内容相关的帖子内容,或将帖子内容传送给索引文件服务器11以存储到相应的索引文件中。
页面服务器13与业务服务器12连接,用于根据业务服务器提供的主题内容、用户信息和帖子内容形成论坛页面,以及将用户提交的主题内容和帖子内容传送给业务服务器12。
数据库服务器10、索引文件服务器11和业务服务器12为相互独立的物理实体,相互之间可以直接连接,也可以通过网络连接;或者,数据库服务器10、索引文件服务器11和业务服务器12为同一物理实体,相互之间通过内部接口进行交互。
参阅图1B所示,业务服务器12进一步包括:并发服务器单元120、业务处理线程单元121和缓存单元122。
并发服务器单元120用于完成与通用网关接口(CGI),数据库,索引文件服务器的并发数据交互。
业务处理线程单元121用于完成每个业务逻辑的解析和组装。
缓存单元122用于缓存高频访问的业务数据。
在索引文件服务器11中,索引文件内部的组织可采用如下方式:
(1)帖子内容数据保存在索引文件中,索引文件的数量和每个索引文件大小根据实际情况确定。如,预先创建1024个512M大小的数据文件中。
(2)存储每个索引文件的存储空间区分为大小相等的若干存储块,每个存储块仅存储相同主题的帖子内容。如每个存储块的大小为4KByte(回帖的大小限制在4K-Chunk Header Byte以下),参阅图2A所示。
若存储块的空间不够,则在当前文件的起始可用空间创建一个新的存储块,存储块的大小按照一定的策略分配,存储相同主题的存储块之间进行关联,如采用单向连接,参阅图2B所示。
采用存储块存储帖子内容后,较佳的方式是同一个主题的回帖按照发表时间顺序依次写在存储块内。
数据库中存储的用户信息至少包含创建主题的用户的相关信息(如,用户注册时所提交的信息),进一步的可包含最后一个回帖的用户的相关信息。在论坛版面上可根据呈现与主题相关的用户的相关信息,当然也可以不显示用户信息。数据库根据其其性能,尽可能多的保存用户信息,大量的用户信息,有利于以后对用户数据的分析,和提供给网络使用者丰富的内容
参阅图3所示,呈现论坛页面的处理过程如下:
步骤300、页面服务器13向业务服务器12请求论坛页面。
请求论坛页面可以采用论坛名称,也可以采用论坛编号。在无法确定论坛编号的情况下一般采用论坛名称,若在在请求论坛页面时没有指定页面,则默认访问论坛首页(即第一个页面)。
步骤310、业务服务器12向数据库服务器10请求指定的论坛页面。
步骤320、数据库服务器10从数据库提取与指定的论坛页面相关的所有主题内容及创建该主题内容的用户的用户信息,并返回业务服务器12。
步骤330、业务服务器12将主题内容及用户信息返回给页面服务器13。
步骤340、页面服务器13生成论坛版面,在版面上呈现主题内容及用户信息。
步骤350、用户通过点击主题内容后,页面服务器13向业务服务器12请求与该主题内容相关的帖子内容,请求消息中包含主题内容标识。
步骤360、业务服务器12根据所述主题标识向索引文件服务器11请求帖子内容。
步骤370、索引文件服务器11根据所述主题标识定位到对应的索引文件,根据主题标识获取所有相关的帖子内容并传送给业务服务器12。
步骤380、业务服务器12将帖子内容传送给页面服务器13,由页面服务器13更新页面,在客户端上呈现包含帖子内容的论坛页面。
参阅图4所示,用户通过论坛页面提交回帖时的处理流程如下:
步骤400、用户通过客户端上呈现的论坛页面提交与主题相关的回帖。
步骤410、页面服务器13接收到回帖内容后,将回帖内容及主题标识传送给业务服务器12。
步骤420、业务服务器12将所述回帖内容及主题标识传送到索引文件服务器11。
步骤430、索引文件服务器11根据主题标识查找到对应的索引文件,并根据该主题标识定位到存储与该主题内容相关的帖子内容的存储块。
步骤440、将回帖内容保存到存储块中,并通知业务服务器12。
步骤450、业务服务器12向索引文件服务器12请求与所述主题内容的最后一页的回帖内容(此时业务服务器已经有了主题的编号,所以请求中的标示为主题的编号)。
步骤460、索引文件服务器11根据所述主题标识定位到对应的索引文件,根据主题标识获取当前主题的最后一页的回帖内容,并传送给业务服务器12。
步骤470、业务服务器12将帖子内容传送给页面服务器13,由页面服务器13更新用户端的论坛页面内容,用户提交的回帖内容在该页面呈现。
在图4的流程中,如果数据库中记录与主题相关的最后一个回帖的用户的用户信息,则在上述步骤410中,页面服务器13还进一步将提交回帖的用户的相关信息和主题标识传送给数据库服务器10,由数据库服务器10更新相应主题对应的用户信息。
参阅图5所示,用户通过版面提交主题内容的处理流程如下:
步骤500、用户通过客户端上呈现的论坛版面提交主题内容。
步骤510、页面服务器13接收到主题内容后将主题内容和创建主题的用户的用户信息传送给业务服务器12。
步骤520、业务服务器12将所述主题内容和用户信息传送到数据库服务器10。
步骤530、数据库服务器10为主题内容生成主题标识,将主题内容和用户信息记录到数据库中,并向业务服务器12返回包含主题标识的相关信息。
步骤540、业务服务器12向所述数据库服务器10请求论坛版面。
步骤550、数据库服务器10从数据库提取与指定的论坛页面相关的所有主题内容及创建该主题内容的用户的用户信息,并返回业务服务器12。
步骤560、业务服务器12将主题内容及用户信息返回给页面服务器13。
步骤570、页面服务器13更新论坛版面,在版面上呈现用户提交的主题内容及用户信息。
在上述流程中,业务服务器12还可进一步通知索引文件服务器11创建存储与主题内容相关的帖子内容的存储块。如果在用户新创建主题内容时不通知索引文件服务器11,则索引文件服务器11在收到用户提交的第一个与创建的主题内容相关的帖子内容时自动创建存储块。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1、一种实现论坛的方法,其特征在于,包括如下步骤:
利用数据库存储论坛数据中由主题内容构成的版面和与主题相关的用户信息,利用索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联;
至少从所述数据库中读取主题内容呈现论坛的版面,以及在通过该版面选择主题内容进入论坛时,根据该主题内容的主题标识从对应的索引文件读取并呈现与该主题内容相关的帖子内容。
2、如权利要求1所述的方法,其特征在于,进一步从数据库中读取与主题内容相关的用户信息呈现在版面上。
3、如权利要求2所述的方法,其特征在于,所述与主题相关的用户信息至少包括创建主题的用户的用户信息。
4、如权利要求3所述的方法,其特征在于,所述与主题相关的用户信息进一步包括最后一个帖子的用户的用户信息。
5、如权利要求1所述的方法,其特征在于,当接收到用户通过所述版面提交的主题内容时生成该主题内容的主题标识,并将主题内容及其标识存储到数据库中,并更新所述版面以呈现用户提交的主题内容。
6、如权利要求1至5任一项所述的方法,其特征在于,将用于存储一个索引文件的存储空间划分为多个存储块,每一个存储块仅存储相同主题的子帖内容,并且存储相同主题的帖子内容的存储块中的至少一个存储块与主题内容的主题标识形成关联。
7、如权利要求6所述的方法,其特征在于,当接收到用户通过论坛页面提交的与主题相关的帖子内容时,根据主题标识查找到对应的文件和其中存储块,并将帖子内容存储到该存储块中。
8、如权利要求7所述的方法,其特征在于,在存储块中按发表帖子的时间先后顺序依次存储帖子内容。
9、如权利要求7所述的方法,其特征在于,进一步更新数据库中与所述主题相关的用户信息。
10、如权利要求6所述的方法,其特征在于,由多个存储块存储与一个主题内容相关的帖子内容时,在该多个存储块之间形成关联。
11、一种实现论坛的系统,其特征在于,包括:
用于通过数据库方式存储论坛数据中由主题内容构成的版面和与主题相关的用户信息的数据库服务器;
用于通过索引文件方式存储论坛数据中与各主题相关的帖子内容,并通过索引文件的索引标识与相应主题内容的主题标识形成关联的索引文件服务器;
用于向所述数据库服务器中的数据库获取或存储主题内容和用户信息,以及根据主题内容的主题标识向索引文件服务器中对应的索引文件获取或存储与主题内容相关的帖子内容的业务服务器;
用于根据业务服务器提供的主题内容、用户信息和帖子内容形成论坛页面,以及将用户提交的主题内容和帖子内容传送给业务服务器的页面服务器。
12、如权利要求11所述的系统,其特征在于,所述业务服务器、页面服务器、数据库服务器和索引文件服务器为相互独立的物理实体;或者
所述业务服务器、索引文件服务器和数据库服务器为同一物理实体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100026257A CN100410945C (zh) | 2006-01-26 | 2006-01-26 | 一种实现论坛的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100026257A CN100410945C (zh) | 2006-01-26 | 2006-01-26 | 一种实现论坛的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101008948A true CN101008948A (zh) | 2007-08-01 |
CN100410945C CN100410945C (zh) | 2008-08-13 |
Family
ID=38697381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100026257A Active CN100410945C (zh) | 2006-01-26 | 2006-01-26 | 一种实现论坛的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100410945C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101997784A (zh) * | 2009-08-17 | 2011-03-30 | 埃森哲环球服务有限公司 | 用于将特定用户定向到讨论链的系统 |
CN101471890B (zh) * | 2007-12-25 | 2011-06-08 | 北大方正集团有限公司 | 一种实现网络信息匹配的方法和系统 |
CN103685429A (zh) * | 2012-09-25 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 一种信息展示的方法和装置 |
CN103885975A (zh) * | 2012-12-21 | 2014-06-25 | 腾讯科技(深圳)有限公司 | 进行推荐信息素引的方法及索引服务器 |
CN105354700A (zh) * | 2015-11-06 | 2016-02-24 | 广州拓欧信息技术有限公司 | 建筑信息文档的论坛式交互及管理的方法和系统 |
CN105512135A (zh) * | 2014-09-25 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种互联网用户发布信息的处理方法和系统 |
CN114238229A (zh) * | 2022-02-24 | 2022-03-25 | 北京辰光信安电子有限公司 | 一种打印文件的搜索方法、装置、电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100656150B1 (ko) * | 2000-06-09 | 2006-12-12 | 안종선 | 커뮤니티 자동 생성 시스템 및 방법 |
CA2353746C (en) * | 2000-07-28 | 2003-04-29 | Josam Company | Continuous level measurement for grease separator |
EP1402408A1 (en) * | 2001-07-04 | 2004-03-31 | Cogisum Intermedia AG | Category based, extensible and interactive system for document retrieval |
JP4217132B2 (ja) * | 2003-08-22 | 2009-01-28 | 日本電信電話株式会社 | コミュニティ位置インデックスサーバ |
-
2006
- 2006-01-26 CN CNB2006100026257A patent/CN100410945C/zh active Active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101471890B (zh) * | 2007-12-25 | 2011-06-08 | 北大方正集团有限公司 | 一种实现网络信息匹配的方法和系统 |
CN101997784A (zh) * | 2009-08-17 | 2011-03-30 | 埃森哲环球服务有限公司 | 用于将特定用户定向到讨论链的系统 |
CN101997784B (zh) * | 2009-08-17 | 2015-12-16 | 埃森哲环球服务有限公司 | 用于将特定用户定向到讨论链的系统 |
CN103685429A (zh) * | 2012-09-25 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 一种信息展示的方法和装置 |
CN103685429B (zh) * | 2012-09-25 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种信息展示的方法和装置 |
CN103885975A (zh) * | 2012-12-21 | 2014-06-25 | 腾讯科技(深圳)有限公司 | 进行推荐信息素引的方法及索引服务器 |
CN103885975B (zh) * | 2012-12-21 | 2017-12-15 | 腾讯科技(深圳)有限公司 | 进行推荐信息素引的方法及索引服务器 |
CN105512135A (zh) * | 2014-09-25 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种互联网用户发布信息的处理方法和系统 |
CN105512135B (zh) * | 2014-09-25 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 一种互联网用户发布信息的处理方法和系统 |
CN105354700A (zh) * | 2015-11-06 | 2016-02-24 | 广州拓欧信息技术有限公司 | 建筑信息文档的论坛式交互及管理的方法和系统 |
CN114238229A (zh) * | 2022-02-24 | 2022-03-25 | 北京辰光信安电子有限公司 | 一种打印文件的搜索方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100410945C (zh) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100410945C (zh) | 一种实现论坛的方法及系统 | |
CN103294710B (zh) | 一种数据存取方法和装置 | |
CN104346357B (zh) | 一种嵌入式终端的文件存取方法及系统 | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
CN103838830B (zh) | 一种HBase数据库的数据管理方法及系统 | |
US7411693B2 (en) | Image data dissemination system and method | |
CN102301349A (zh) | 数据库操作意识条带化技术 | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
JP2001022617A (ja) | ファイル管理方法 | |
CN1606004A (zh) | 从文本标识语义结构的方法和装置 | |
CN101799783A (zh) | 一种数据存储处理方法、查找方法及其装置 | |
CN102804168A (zh) | 在数据库系统中减少存储需求的数据压缩 | |
CN102541990A (zh) | 利用虚拟分区的数据库重新分布方法和系统 | |
CN107992492B (zh) | 一种数据区块的存储方法、读取方法、其装置及区块链 | |
CN102103630A (zh) | 数据压缩方法和装置以及数据解压缩方法和装置 | |
CN102270226B (zh) | 预算数据汇总系统 | |
CN101030165A (zh) | 一种磁盘空间管理方法及系统 | |
CN101520817A (zh) | 一种海量医学图像三维可视化处理系统 | |
CN102622434A (zh) | 数据存储方法、查找方法及装置 | |
CN103543959A (zh) | 海量数据高速缓存的方法及装置 | |
CN102867023A (zh) | 一种栅格数据的存储、读取方法及装置 | |
CN102792281A (zh) | 存储设备 | |
WO2008032992A1 (en) | Method for downloading multimedia contents to electronic picture frame | |
CN110489060A (zh) | 一种基于fuse技术的混合文件构建方法及其系统 | |
US11474981B2 (en) | Database dual-core storage system based on optical disk and method using the system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |