一种可扩展的计数方法与系统的制作方法

文档序号:6331296阅读:190来源:国知局
专利名称:一种可扩展的计数方法与系统的制作方法
技术领域
本发明涉及一种计数方法,特别是一种可扩展的计数方法与系统,适合于计数比 较频繁,更新比较快,实时性要求比较高的计数访问中。
背景技术
网络服务中,涉及到大量的计数,计数的种类多样。比如,用户个人主页的访客的 计数、一篇文章或者照片浏览人数的计数。这个计数面对的对象很离散,类型多样,单个的 量很大的,比如一个名人的主页,也有量很小的,比如一张普通照片页。有基于人的,比如用 户主页,有基于物的,比如日志访客计数。计数器是用来统计网页被访问次数的工具。传统的计数器是通过页面程序直接操 作数据库来实现的。当来访者的浏览器读到页面内的计数器代码时,会按代码内指定的数 据库中去读取一个数值。然后该数值会被CGI程序做加1的运算并得出新数值。新数值会 按代码内指定的形式显示在浏览器内,同时新数值被保存到原位置覆盖旧数值。以上过程 会在每次该页面被访问时重复一次,随之计数器显示的数值也会逐渐累加。在传统的计数方法中,一般不同的对象使用不同的计数器,用数据库为各种对象 直接保存各种对象的计数。当有访问而导致计数器发生变化时,就直接更改数据库记录。并 且当页面不断刷新时,计数也不断更新。这样带来三个问题
首先,使用多个计数器,计数器的可扩展性差; 其次是,对数据库的更新压力特别大;
再者是,频繁刷新带来的计数更新,是没有实质价值的,这为计数作弊的创造了条件, 产生了很多无效的计数。

发明内容
本发明的目的在于,提供一种可扩展的计数方法与系统,它可用于不同类型的计 数,可扩展性强,且能够减轻数据库服务器的压力,提高服务器的并发能力,还可以避免无 效计数的产生。为解决上述技术问题,本发明采用如下的技术方案一种可扩展的计数方法,通 过设置专门的计数服务器,并在计数服务器中设置计数缓存器来实现计数结果的写入和读 取,不同计数类型的计数结果分别存储,不同计数类型采用同一计数服务器,使计数服务器 所涉及的计数类型得以扩展,计数服务器用来进行网页中的计数操作,并写入和读取计数 结果,计数缓存器用来缓存网页中的计数结果;计数类型为对网页中不同浏览对象的计数。 计数类型包括日记技术、照片计数、个人主页计数等。前述的一种可扩展的计数方法,具体步骤如下包括写入方法和读取方法; 所述写入方法包括
web服务器接收用户发出的访问请求; 触发写入计数服务器的请求;
4计数服务器更新计数缓存器中的计数结果;
计数服务器将计数缓存器中的计数结果写入数据库服务器;
所述读取方法包括
web服务器接收用户发出的访问请求;
触发从计数服务器读取数据的请求;
计数服务器从计数缓存器中读取计数结果。前述的一种可扩展的计数方法中,所述的计数服务器将计数缓存器中的计数结果 写入数据库服务器的方法,包括计数服务器定时地将计数缓存器中的计数结果写入数据 库服务器,从而更新数据库服务器。定时,指不是每次都把计数结果立即写入数据库,而是 计数服务器以一定的频率将更新数据写入数据库。比如,可能同时有十个请求在更新计数, 而计数服务器,只有一个更新线程,将最近的更新依次写入数据库。这个时间可能最快几秒 钟,最长数分钟。前述的一种可扩展的计数方法中,所述触发写入计数服务器的请求的方法,包括 通过用户访问所涉及的计数类型,触发计数服务器写入相应的计数缓存器的请求。前述的一种可扩展的计数方法中,所述触发从计数服务器读取数据的请求的方 法,包括根据用户提出的访问请求信息,Web服务器确定页面中需要显示的计数类型,触 发计数服务器从相应的计数缓存器读取数据的请求。前述的一种可扩展的计数方法中,所述计数服务器对计数缓存器中的数据进行检 测,检查近期是否有访问,如果有访问,则不重复计数,可以有效避免频繁刷新带来无效计 数,并且在缓存中的这种检测,由于全在内存中进行,所以效率是相当高的。前述的一种可扩展的计数方法中,所述的计数结果包括访问次数、访问者基本信 息和访问时间。因此,本发明可以保存计数是由谁产生的记录,例如,在“我的主页”上可以 显示出谁访问过我的主页,确切的说,留下访问者的痕迹。实现权利要求前述方法的一种可扩展的计数系统,包括客户端、web服务器和设有 多个计数缓存器的计数服务器,客户端连接web服务器,web服务器连接计数服务器,计数 服务器连接数据库服务器。前述的一种可扩展的计数系统中,所述计数服务器上设有与计数缓存器连接的定 时交互模块,定时交互模块用于定时触发计数服务器将计数缓存器中的计数结果写入数 据库服务器。前述的一种可扩展的计数系统中,所述web服务器上设有触发请求模块,用于确 定页面中需要处理的计数类型,并触发计数服务器写入数据到相应的计数缓存器或从相应 的计数缓存器读取数据的请求。前述的一种可扩展的计数系统中,所述的计数服务器上设有检测模块,用于对计 数缓存器中的数据进行检测,检查近期是否有访问,如果有访问,则不重复计数,可以有效 避免频繁刷新带来无效计数。与现有技术相比,本发明由于设置了专门的计数服务器,使不同类型的计数可用 同一计数服务器来实现,相互之间不干扰,因此可扩展性增强;又由于设置了计数缓存设 备,用户访问计数页面时直接从计数缓存设备读取计数结果,可以支持大批量的用户同时 访问,提高了服务器的并发力。由于不需要直接从数据库中读取数据,减少了数据库服务器
5的访问量,减轻了数据库服务器的压力。它将计数结果放在缓存,在缓存中,可以先检查近 期是否有访问,如果有访问,则不重复计数,有效避免了频繁刷新带来无效计数,并且在缓 存中的这种检测,由于全在内存中进行,所以效率是相当高的。计数缓存设备中的数据会定 时的跟数据库服务器中的数据进行交互,保证数据库中的数据和计数缓存设备中的数据一 致,也保证了数据库服务器中的数据和计数缓存设备中的数据的更新。另外,由于计数结果 中包含用户基本信息和访问时间等,本发明的可扩展计数系统还可以保存历史记录,具体 来说,可以保存访问者的一些信息,最常见的一个用例就是保存谁访问过“我的主页”。


图1是本发明的一种实施例的结构示意图; 图2是本发明的实施例的写入工作流程图3是本发明的实施例的读取工作流程图。附图标记1_客户端,2-web服务器,3_计数缓存器,4_计数服务器,5_数据库服 务器,6-定时交互模块,7-访问请求模块,8-触发请求模块,9-检测模块。下面结合附图和具体实施方式
对本发明作进一步的说明。
具体实施例方式
具体实施例方式一种可扩展的计数方法,通过设置专门的计数服务器4,并在计 数服务器4中设置计数缓存器3来实现计数结果的写入和读取,不同计数类型的计数结果 分别存储,不同计数类型采用同一计数服务器4,使计数服务器4所涉及的计数类型得以扩 展,计数服务器4用来进行网页中的计数操作,并写入和读取计数结果,计数缓存器3用来 缓存网页中的计数结果;计数类型为对网页中不同浏览对象的计数。具体步骤如下包括写入方法和读取方法; 所述写入方法包括
web服务器2接收用户发出的访问请求;
触发写入计数服务器4的请求;
计数服务器4更新计数缓存器3中的计数结果;
计数服务器4将计数缓存器3中的计数结果写入数据库服务器5 ;
所述读取方法包括
web服务器2接收用户发出的访问请求; 触发从计数服务器4读取数据的请求; 计数服务器4从计数缓存器3中读取计数结果。所述的计数服务器4将计数缓存器3中的计数结果写入数据库服务器5的方法, 包括计数服务器4定时地将计数缓存器3中的计数结果写入数据库服务器5,从而更新数 据库服务器5,定时,指不是每次都把计数结果立即写入数据库,而是计数服务器以一定的 频率将更新数据写入数据库。比如,可能同时有十个请求在更新计数,而计数服务器,只有 一个更新线程,将最近的更新依次写入数据库。这个时间可能最快几秒钟,最长数分钟。本 实施例中,每隔Imin计数服务器4把将计数缓存器3中的计数结果写入数据库服务器5。所述触发写入计数服务器的请求的方法,包括通过用户访问所涉及的计数类型,触发计数服务器写入相应的计数缓存器的请求。所述触发从计数服务器读取数据的请求的方法,包括根据用户提出的访问请求 信息,web服务器确定页面中需要显示的计数类型,触发计数服务器从相应的计数缓存器读 取数据的请求。所述计数服务器4对计数缓存器3中的数据进行检测,检查近期是否有访问,如果 有访问,则不重复计数,并且在缓存中的这种检测,由于全在内存中进行,所以效率是相当高的。所述的计数结果包括访问次数、访问者基本信息和访问时间。实现前述方法的一种可扩展的计数系统,结构如图1所示;包括客户端l、web服务 器2、设有多个计数缓存器3的计数服务器4,客户端1连接web服务器2,web服务器2连 接计数服务器4,计数服务器4连接数据库服务器5。所述计数服务器4上设有与计数缓存器3连接的定时交互模块6,定时交互模块 6用于定时触发计数服务器4将计数缓存器3中的计数结果写入数据库服务器5。所述web服务器2上设有触发请求模块8,用于确定页面中需要处理的计数类型, 并触发计数服务器4写入数据到相应的计数缓存器3或从相应的计数缓存器3读取数据的 请求。所述的计数服务器4上设有检测模块9,对计数缓存器3中的数据进行检测,检查 近期是否有访问,如果有访问,则不重复计数。本发明实施例的写入工作流程(如图2)
510:web服务器2接收访问请求;
511触发计数服务器4中的写入请求;
512计数服务器4更新计数缓存器3中的计数结果;
513每隔Imin将计数缓存器3中的计数结果写入数据库服务器5。本发明的实施例的读取工作流程(如图3 )
520:web服务器2接收访问请求;
521触发计数服务器4中的读取请求;
522计数服务器4从计数缓存器3中读取计数结果。实例说明比如个人首页中有“最近来访”功能,这个功能就是通过本文所述的计 数服务器来实现的。当“张三”访问“李四”的主页的时候,网页中的“最近来访”这个功能 的计数服务器就被触发了,发出写入计数服务器请求,计数服务器收到这个请求之后,会将 计数缓存器中被访问者的来访计数加1,并将“张三”这个人的来访记录写入相应的计数缓 存器。每隔lmin,把“张三”的访问记录写入数据库服务器。网页输出的时候,会从计数缓 存器中读取“最近来访”人的记录,其中“张三”显示出来,并且显示在来访记录的最前面。当“张三”登陆自己的页面的时候,查看自己的“最近来访”时,就看不到自己的信 息,这个时候,只是从读取了计数缓存器中的“最近来访”的数值,并没有把自己的登录信息 写入“最近来访”的计数缓存器。而“张三”可以从“李四”的“最近来访”中看到自己的信 息,因为这个时候,先把“张三”的来访信息写入“最近来访”的计数缓存器,然后再从“最近 来访”的计数缓存器重读取了数据,这样“张三”就可以看到自己的来访信息了。
权利要求
一种可扩展的计数方法,其特征在于通过设置专门的计数服务器(4),并在计数服务器(4)中设置计数缓存器(3)来实现计数结果的写入和读取,不同计数类型的计数结果分别存储,不同计数类型采用同一计数服务器(4),使计数服务器(4)所涉及的计数类型得以扩展,计数服务器(4)用来进行网页中的计数操作,并写入和读取计数结果,计数缓存器(3)用来缓存网页中的计数结果;计数类型为对网页中不同浏览对象的计数。
2.根据权利要求1所述的一种可扩展的计数方法,其特征在于具体步骤如下包括写 入方法和读取方法;所述写入方法包括web服务器(2)接收用户发出的访问请求;触发写入计数服务器(4)的请求;计数服务器(4)更新计数缓存器(3)中的计数结果;计数服务器(4)将计数缓存器(3)中的计数结果写入数据库服务器(5);所述读取方法包括web服务器(2)接收用户发出的访问请求;触发从计数服务器(4)读取数据的请求;计数服务器(4)从计数缓存器(3)中读取计数结果。
3.根据权利要求2所述的一种可扩展的计数方法,其特征在于所述的计数服务器(4) 将计数缓存器(3)中的计数结果写入数据库服务器(5)的方法,包括计数服务器(4)定时 将计数缓存器(3 )中的计数结果写入数据库服务器(5 ),从而更新数据库服务器(5 )。
4.根据权利要求2所述的一种可扩展的计数方法,其特征在于所述触发写入计数服 务器(4)的请求的方法,包括通过用户访问所涉及的计数类型,触发计数服务器(4)写入 相应的计数缓存器(3)的请求。
5.根据权利要求2所述的一种可扩展的计数方法,其特征在于所述触发从计数服务 器(4)读取数据的请求的方法,包括根据用户提出的访问请求信息,web服务器(2)确定页 面中需要显示的计数类型,触发计数服务器(4)从相应的计数缓存器(3)读取数据的请求。
6.根据权利要求2所述的一种可扩展的计数方法,其特征在于所述计数服务器(4)对 计数缓存器(3 )中的数据进行检测,检查近期是否有访问,如果有访问,则不重复计数。
7.根据权利要求1或2所述的一种可扩展的计数方法,其特征在于所述的计数结果 包括访问次数、访问者基本信息和访问时间。
8.实现权利要求1 7所述方法的一种可扩展的计数系统,其特征在于包括客户端 (l)>web服务器(2)和设有多个计数缓存器(3)的计数服务器(4),客户端(1)连接web服 务器(2 ),web服务器(2 )连接计数服务器(4 ),计数服务器(4 )连接数据库服务器(5 )。
9.根据权利要求8所述的一种可扩展的计数系统,其特征在于所述计数服务器(4)上 设有与计数缓存器(3)连接的定时交互模块(6),定时交互模块(6)用于定时触发计数服务 器(4 )将计数缓存器(3 )中的计数结果写入数据库服务器(5 )。
10.根据权利要求8所述的一种可扩展的计数系统,其特征在于所述web服务器(2) 上设有触发请求模块(8),用于确定页面中需要处理的计数类型,并触发计数服务器(4)写 入数据到相应的计数缓存器(3)或从相应的计数缓存器(3)读取数据的请求。
11.根据权利要求8所述的一种可扩展的计数系统,其特征在于所述的计数服务器(4)上设有检测模块(9),用于对计数缓存器(3)中的数据进行检测,检查近期是否有访问, 如果有访问,则不重复计数。
全文摘要
本发明公开了一种可扩展的计数方法与系统,包括客户端、web服务器、设有计数缓存器的计数服务器,客户端连接web服务器,web服务器连接计数服务器,计数服务器连接数据库服务器;本发明由于设置了专门的计数服务器,使不同类型的计数可用同一计数服务器来实现,因此可扩展性增强;又由于设置了计数缓存设备,可以支持大批量的用户同时访问,提高了服务器的并发力。由于不需要直接从数据库中读取数据,减轻了数据库服务器的压力。它将计数结果放在缓存,先检查近期是否有访问,如果有访问,则不重复计数,有效避免了频繁刷新带来无效计数,另外,由于计数结果中包含用户基本信息和访问时间等,本发明的可扩展计数系统还可以保存历史记录。
文档编号G06F17/30GK101923577SQ20101027007
公开日2010年12月22日 申请日期2010年9月2日 优先权日2010年9月2日
发明者俞驰, 熊家贵 申请人:北京开心人信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1