一种树形结构网络数据展现方法及系统的制作方法

文档序号:6341330阅读:666来源:国知局
专利名称:一种树形结构网络数据展现方法及系统的制作方法
技术领域
本发明属于网络数据展现技术领域,具体涉及一种树形结构网络数据展现方法及系统。
背景技术
B/S (Browser/Server)结构即浏览器和服务器结构。它是随着hternet技术的兴起,对C/S结构的一种变化或者改进的结构。随着对B/S结构的认识,更多的政府和企业都采用了这种结构来构建自己的应用系统。在这种应用系统中,经常需要展现存储在网络关系数据库中的树形结构数据。现有的展现方式大致分为如下两种一种是不做处理,网络服务器在数据库中查询数据后把数据推送到浏览器,浏览器构造为树形形式后一次展现给用户。这种方式的优点在于程序容易实现,客户基本上可以实时的查看数据,同步效果好;缺点在于浏览器与服务器交互多,服务器压力相对较大, 适合于数据量相对小、用户规模相对少的情况。另一种是采用异步的方式,该方式与第一种方式的区别是浏览器展现数据时只展现树形数据的第一层节点,当用户展开某个节点时再产生和服务器以及服务器和数据库服务器之间的交互,优点是浏览器反映快,用户感受好,基本上试用于数据量较大的情况;缺点是交互多、客户端脚本程序实现较难,开发调整周期长,不稳定等。

发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种数据请求少、服务器压力小的树形结构网络数据展现方法及系统。为解决上述技术问题,本发明采用的技术方案如下—种树形结构网络数据展现方法,包括以下步骤(1)浏览器向Web服务器发出获取树形结构数据的请求;(2)Web服务器在接收到浏览器请求后,查询内存中是否存在浏览器请求的数据; 如果存在,则将该数据直接推送给浏览器;如果不存在,则从数据库中获取浏览器请求的数据,推送给浏览器,同时将该数据保存在Web服务器的内存中;(3)浏览器接收Web服务器推送的数据后展示。一种树形结构网络数据展现系统,包括浏览器、Web服务器和数据库服务器;所述浏览器包括用于向Web服务器发出获取树形结构数据请求的请求单元;所述Web服务器包括用于接收浏览器请求的接收单元;用于查询Web服务器内存中是否存在浏览器请求的数据的查询单元;用于在Web服务器内存中不存在浏览器请求的数据时向数据库服务器发出请求,获取浏览器请求的数据的获取单元;用于将数据推送给浏览器的推送单元;所述浏览器还包括用于接收Web服务器推送的数据的接收单元;用于展示Web服务器推送的数据的展示单元。
本发明所述方法及系统,在浏览器第一次请求某数据时,Web服务器从数据库中查询数据后在服务器端构造树形结构脚本,将该脚本保存在Web服务器的内存中,同时将该脚本推送浏览器中,浏览器直接进行展现,当浏览器再次请求该脚本时,Web服务器直接从内存中取出该脚本推送到浏览器中,因此数据请求少,服务器压力小、程序实现简单、稳定和高效。


图1是具体实施方式
中树形结构网络数据展现系统的结构框图;图2是具体实施方式
中浏览器获取数据的数据流图;图3是具体实施方式
中树形结构网络数据展现方法的流程图。
具体实施例方式下面结合具体实施方式
和附图对本发明进行详细描述。如图1所示,本实施方式中树形结构网络数据展现系统包括浏览器1、Web服务器 2、数据库服务器3和同步装置4。浏览器1可为若干个,每个浏览器1包括请求单元11、接收单元12和展示单元13。Web服务器2可为单服务器,也可以为集群服务器。每个Web服务器2包括接收单元21、查询单元22、获取单元23、组织单元M、保存单元25、推送单元沈和清理单元27。浏览器1中的请求单元11用于向Web服务器发出获取树形结构数据的请求。接收单元12用于接收Web服务器推送的数据。展示单元13用于展示Web服务器推送的数据。Web服务器2中的接收单元21用于接收浏览器发送的请求。查询单元22用于查询Web服务器内存中是否存在浏览器请求的数据。获取单元23用于在Web服务器内存中不存在浏览器请求的数据时从数据库服务器3中获取浏览器请求的数据。组织单元25用于将从数据库服务器3中获取的浏览器请求的数据组织成相应的脚本,即HTML格式的数据。 保存单元沈用于将所述HTML格式数据保存在Web服务器内存中。推送单元M用于将数据推送给浏览器。清理单元27用于定时清理Web服务器内存中的数据。同步装置4用于同步Web服务器内存中存储的数据与数据库中存储的相应数据, 以及集群环境下的Web服务器与Web服务器之间的数据。如图3所示,采用图1所示系统对树形结构网络数据进行展现的方法包括以下步骤(1)浏览器1中的请求单元11向Web服务器2发出获取树形结构数据的请求。(2)Web服务器2中的接收单元21在接收到浏览器请求后,查询单元22查询内存中是否存在浏览器请求的数据。如果存在,则推送单元沈直接将该数据推送给浏览器。如果不存在,则获取单元23从数据库中获取浏览器请求的数据,推送单元沈将该数据推送给浏览器,同时保存单元25将该数据保存在Web服务器的内存中。如图2所示,浏览器第一次发出对某数据的请求需要经过a、b、c、d整个过程才能得到该数据并展示。当浏览器再次请求同样的数据时,由于Web服务器在接收第一次同样的请求时已经将该数据保存在其内存中,因此Web服务器可以直接将该数据从内存取出推送给浏览器,即浏览器从发出请求到获得数据并展示只需经过a、d两个过程。至此,如果数据本身没有变化,从第二次开始,所有对该数据的请求到获得该数据都只需经过a、d两个过程,大大提高了树形结构网络数据的获取速度。优选的,在获取单元23从数据库3获取浏览器请求的数据后,组织单元M将该数据组织成HTML格式数据,推送单元沈再将所述HTML格式数据推送给浏览器,同时保存单元25将所述HTML格式数据保存在Web服务器的内存中。在现有方法中,Web服务器在获取数据时只做简单的处理后推送到客户端,客户端通过浏览器进行动态解析(JAVASCRIPT、VBSCRIPT)后展现。而本发明在Web服务器获取数据后,对数据进行处理,将数据构造为HTML数据并保存在内存中,这样数据在推送到浏览器后可以直接进行展现,无需动态解析,加快了浏览器的展示速度。同步装置4在数据同步方面需要考虑两个层级。第一层级为Web服务器内存中数据和数据库中相应数据的同步问题。对于这种同步问题可以根据具体的应用场景进行相应处理,如果数据量相对较小可以采用动态的数据同步,即在对数据进行增、删、改时同步内存和数据库中的数据;如果数据量较大则可以进行手工同步或者定时同步,从而减轻Web 服务器和数据库的压力。所述手工同步或者定时同步的时间选择浏览器请求较少的时段进行,同步时将Web服务器内存中所有缓存的数据清空,重新从数据库读取。第二层级是在 Web服务器集群环境下的服务器与服务器之间的数据同步问题。对于这种同步问题可以单独部署消息服务器,当其中一个Web服务器的数据变化时发送消息到消息服务器,Web服务器定时到消息服务器中获取消息,根据获取到的消息对Web服务器之间的相应数据进行同
步ο当内存中存储大量的树形结构数据时,Web服务器需要花费比较多的内存进行数据的保存,随着数据量的逐渐增多,会出现内存溢满的情况,因此需要对Web服务器内存进行定时清理。本实施方式中,将所有需要保存的数据放在一个链表中,数据在链表中的位置根据数据查询的频率、修改频率以及数据量的加权计算结果动态调整,按照加权计算结果从大到小的顺序排列链表中的数据,即数据量较大、使用频率较高的数据放在链表的首部, 数据量较小、修改频率较大的数据放在链表的尾部。当链表数据量超过内存总量的10%时, 对链表尾部的数据由清理单元27进行清理,清理的数据量大小可由用户设定。(3)浏览器展示Web服务器推送的数据。本实施方式中,由于Web服务器将数据构造成了 HTML格式数据,因此浏览器可以直接进行展现,无需动态解析。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种树形结构网络数据展现方法,包括以下步骤(1)浏览器向Web服务器发出获取树形结构数据的请求;(2)Web服务器在接收到浏览器请求后,查询内存中是否存在浏览器请求的数据;如果存在,则将该数据直接推送给浏览器;如果不存在,则从数据库中获取浏览器请求的数据, 推送给浏览器,同时将该数据保存在Web服务器的内存中;(3)浏览器接收Web服务器推送的数据后展示。
2.如权利要求1所述的树形结构网络数据展现方法,其特征在于步骤O)中,Web服务器从数据库中获取浏览器请求的数据后,先将该数据组织成HTML格式数据,再将所述 HTML格式数据推送给浏览器,同时将所述HTML格式数据保存在Web服务器的内存中。
3.如权利要求1所述的树形结构网络数据展现方法,其特征在于所述方法还包括Web 服务器内存中存储的数据与数据库中存储的相应数据的同步步骤,以及在集群环境下Web 服务器与Web服务器之间的数据同步的步骤。
4.如权利要求3所述的树形结构网络数据展现方法,其特征在于所述Web服务器内存中存储的数据与数据库中存储的相应数据的同步方法如下如果数据量较小,则采用动态数据同步方式;如果数据量较大,则采用手工同步或者定时同步方式。
5.如权利要求3所述的树形结构网络数据展现方法,其特征在于所述集群环境下的 Web服务器与Web服务器之间的数据同步方法如下设置消息服务器,当一个Web服务器的数据变化时发送消息到消息服务器,Web服务器定时到消息服务器中获取消息,根据获取到的消息对Web服务器之间的相应数据进行同止少ο
6.如权利要求1 5中任一项所述的树形结构网络数据展现方法,其特征在于所述方法还包括定时清理Web服务器内存的步骤。
7.如权利要求6所述的树形结构网络数据展现方法,其特征在于所述清理Web服务器内存的方法如下将所有需要保存的数据放在一个链表中,数据在链表中的位置根据数据查询的频率、 修改频率以及数据量的加权计算结果动态调整,按照加权计算结果从大到小的顺序排列链表中的数据;当链表数据量超过内存总量的10%时,对链表尾部的数据进行清理。
8.一种树形结构网络数据展现系统,包括浏览器(l)、Web服务器(2)和数据库服务器 (3),其特征在于所述浏览器(1)包括用于向Web服务器发出获取树形结构数据请求的请求单元(11); 所述Web服务器( 包括用于接收浏览器请求的接收单元;用于查询Web服务器内存中是否存在浏览器请求的数据的查询单元02);用于在Web服务器内存中不存在浏览器请求的数据时向数据库服务器C3)发出请求,获取浏览器请求的数据的获取单元03); 用于将数据推送给浏览器的推送单元06);所述浏览器(1)还包括用于接收Web服务器推送的数据的接收单元(12);用于展示 Web服务器推送的数据的展示单元(13)。
9.如权利要求8所述的树形结构网络数据展现系统,其特征在于所述Web服务器还包括用于将从数据库服务器(3)中获取的浏览器请求的数据组织成HTML格式数据的组织单元(M),用于将所述HTML格式数据保存在Web服务器内存中的保存单元05)。
10.如权利要求8所述的树形结构网络数据展现系统,其特征在于所述系统还包括用于同步Web服务器内存中存储的数据与数据库中存储的相应数据,以及在集群环境下Web 服务器与Web服务器之间数据的同步装置0)。
11.如权利要求8 10中任一项所述的树形结构网络数据展现系统,其特征在于所述Web服务器( 还包括用于定时清理Web服务器内存中数据的清理单元07)。
全文摘要
本发明涉及一种树形结构网络数据展现方法及系统,属于网络数据展现技术领域。本发明首先由浏览器向Web服务器发出获取树形结构数据的请求;Web服务器在接收到浏览器请求后,查询内存中是否存在浏览器请求的数据;如果存在,则将该数据直接推送给浏览器;如果不存在,则从数据库中获取浏览器请求的数据,推送给浏览器,同时将该数据保存在Web服务器的内存中;浏览器接收Web服务器推送的数据后展示。本发明的数据请求少,服务器压力小、程序实现简单、稳定和高效。
文档编号G06F17/30GK102541953SQ20101062280
公开日2012年7月4日 申请日期2010年12月29日 优先权日2010年12月29日
发明者周智臻 申请人:北京北大方正电子有限公司, 北大方正集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1