树节点加载系统及其方法

文档序号:7662749阅读:140来源:国知局
专利名称:树节点加载系统及其方法
技术领域
本发明涉及通过加载树节点以获取相应数据的方法,特别是涉及一种在基
于客户端-服务器端(client-server)的架构下,客户端从服务器端加载具有巨 大节点量的树节点的系统及其方法。
背景技术
通常,很多项目具有导航树功能,以实现界面操作及导航用途。但由于某 些项目包含的树节点量巨大,例如节点数以万计或者更多,因此采用公知技术 自服务器端一次性加载所有树节点的数据时,会对服务器造成数据采集以及传 输压力。而且,在存在大量树节点的情况下, 一次性加载全部节点数据还会导 致加载时间过长,进而造成用户的等待时间较长。因此,公知技术的上述树节 点加载方法存在效率低、页面显示速度慢以及树处理不灵活的问题。
此外,当点击某些树节点以打算从服务器端加载数据时,在客户端页面中 无法从事其它操作。公知技术在加载树节点的同时不能实现用户的并行操作, 因此存在缺乏界面友好性的问题。

发明内容
本发明的目的在于提供一种树节点加载系统及其方法,以降低存在大量树 节点时服务器端的加载压力,进而提高树节点的加载效率,来解决上述公知技 术中存在的问题。
为了实现上述目的,本发明提供了一种树节点加载系统,应用于一客户端 与一服务器端,包含一属性获取模块、 一初始化模块、 一查询模块、 一传输模 块以及一加载模块;在此,属性获取模块依照一实例化的树对象获取树对象的 当前被点击节点的识别符(id)以及类型(type),初始化模块初始化一数据 容器,以依照当前被点击节点指定此数据容器获取数据的数据源位置。查询模 块依照当前被点击节点的识别符与类型査询此指定数据源,以获得当前被点击节点下一层的所有子节点数据。传输模块用于自客户端传送当前被点击节点的 识别符与类型至服务器端中指定数据源,以及传送获取子节点数据至客户端的 数据容器内。加载模块利用数据容器内的获取子节点数据对树对象的属性进行 赋值,以加载当前被点击节点下一层的所有子节点。
本发明的树节点加载系统还包含一显示模块,显示模块利用特殊符号在加 载子节点的每个节点之间以及每个节点的属性之间进行分隔,组成加载子节点 的节点数据为一字符串,并采用显示格式处理此字符串,以显示加载子节点。
本发明的树节点加载系统,还包含一权限处理模块,依照识别符获取当前 被点击节点权限,以提供给査询模块根据当前被点击节点权限、识别符与类型 查询指定数据源。
本发明的树节点加载系统,还包含一并行处理模块,用于在客户端执行一 并行操作,进而在当前被点击节点自服务器端获取其下一层的所有子节点数据 的同时处理其它操作。
本发明所提供的一种树节点加载方法,应用于一客户端与一服务器端,此 方法包含以下步骤实例化一树对象,并获得树对象的当前被点击节点的识别 符(id)以及类型(type);初始化一数据容器,以将从服务器端的指定数据 源位置获取的数据存放于数据容器中;待初始化数据容器完成后,自客户端传 送当前被点击节点的识别符与类型至服务器端的指定数据源;依照当前被点击
节点的识别符与类型,查询指定数据源,以获得当前被点击节点下一层的所有
子节点数据;传送获取子节点数据至客户端的数据容器内;以及利用数据容器 内的获取子节点数据对树对象的属性进行赋值,以加载当前被点击节点下一层 的所有子节点。
本发明通过非一次性加载树对象的全部节点数据,而是针对某一需要节点 采取分散处理,仅加载当前被点击节点下一层级的所有子节点数据。因此,不 仅减少了服务器端的数据加载压力,还能够使得树节点的数据显示速度提高, 减少用户等待时间,进而满足用户及时、快速的浏览需求。
此外,本发明通过增加当前被点击节点的权限处理,以作为服务器端的数 据査询条件,筛选没有权限的数据,进而可以进一步减轻服务器获取数据的压 力。
本发明在树节点量巨大的情况下,在获取子节点数据时,可使得用户在页面中同时进行其它操作,因此可以提供友好的用户界面。
下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。


图1为本发明一实施例的树节点加载系统的系统方块图; 图2与图3为本发明的树节点加载方法的步骤流程图;以及 图4为本发明的树节点加载与其它操作并行处理的流程图。
其中,,附图标记
10客户端
12属性获取模块
14初始化模块
16数据容器
18传输模块
20服务器端
22权限处理模块
24查询模块
26加载模块
28显示模块
步骤102实例化树对象
步骤104获得被点击节点识别符(id)以及类型(type) 步骤106初始化一树节点数据容器,以将从指定数据源位置获取的数据 存放于数据容器中
步骤108在客户端传递节点识别符及类型至服务器端的指定数据源 步骤IIO根据节点识别符获取被点击节点权限内容 步骤112判断用户权限
步骤114根据节点的识别符、类型以及权限条件查询数据库 步骤116获取符合条件的被点击节点下一层级的所有子节点数据 步骤11S返回査找数据至客户端数据容器
步骤120自数据容器中取出获取的数据对树对象属性进行赋值,以加载利用特殊符号分隔加载的子节点,以组成获取节点数据为完整
通过显示方式对组成字符串进行处理 显示被点击节点的下一层子节点 返回无权限信息 界面提示用户没有此节点权限 点击某一树节点 传递树节点类型与识别符 自服务器端获取数据 加载数据状态 返回后高亮此节点 可操作按钮
执行增、删、改、查操作 后台服务器处理操作请求 返回操作结果
具体实施例方式
请参考图l,图中表示了本发明一实施例的树节点加载系统,应用于一客
户端10与一服务器端20。
如图1所示,此系统包含有属性获取模块12、初始化模块14、传输模块 18、查询模块24以及加载模块26。属性获取模块12自一实例化树对象获取 其当前被点击树节点的识别符(id)以及类型(type)属性,初始化模块14 用于初始化一数据容器16,其中数据容器16用于盛放自服务器端20获取的 树节点数据。通过初始化数据容器16,将能够结合当前被点击节点识别符(id) 以及类型(type),指定数据容器16获取数据的数据源位置。
传输模块18从客户端10传输被点击节点的id及type至服务器端20中 的指定数据源,以提供服务器端20的数据库进行处理操作。例如实现上述操 作的代码形式如下
数据容器.URL ="指向数据源的具体的位置.do (例如一实施例应用采
子节点
歩骤122
字符串
歩骤124 步骤126 步骤128 步骤130 步骤200 步骤202 歩骤204 歩骤206 步骤208 步骤210 步骤212 步骤214 步骤216取strust的方式)?nodetype +类型+ "&nodeuuid=" + id信息; 数据容器.reset 0 ;
服务器端20的查询模块24用于依照当前被点击节点的识别符与类型查询 指定数据源,以获得当前被点击节点下一层的所有子节点数据。查询模块24 首先根据从客户端10传递的树节点类型进行判断,在指定数据源的数据库中 按照类型查找对应id的数据。査询模块24返回给客户端10的数据为包含树 对象5个以特殊字符分开关键属性的数值。
在此实施例中,本发明的树节点加载系统还包含一权限处理模块22。权 限处理模块22依照传输模块18传递的id,获取保存于session中的用于当 前被点击节点的权限,以提供给查询模块24作为获取数据的查询条件。
因此,除了根据当前被点击节点的id与type检索指定数据源的数据库, 以获得当前被点击节点的下一层的所有子节点数据之外,查询模块24还需要 根据权限处理模块22传送的权限内容作判断处理,进而根据此条件对查询的 数据作进一步筛选处理。对于权限不同的情况,则获取的数据也应不同。
查询模块24将检索到的符合条件的数据内容返回给传输模块18,在由传 输模块18将返回数据传递至数据容器16中。数据容器16作为一中间状态的 层次,用于盛放树对象属性对应的数据。加载模块26用于初始化树对象,从 数据容器16中取出与树对象属性对应的子节点数据,并放入用于树初始化数 据的数组中,进而对树对象的属性进行赋值以及初始化操作,以加载当前被点 击节点下一层的所有子节点。
如图1所示,本实施例的树节点加载系统还可以包含一显示模块28。显 示模块28在获取到能够保证当前被点击节点的子节点显示的属性信息之后, 利用特殊符号在所有加载子节点的每个节点之间以及每个节点的属性之间进 行分隔,组成加载子节点的节点数据为一字符串。并采用显示格式,例如html 方式处理此字符串,以便通过网络传递此节点数据,进而结合当前被点击节点 的节点数据显示其下一层级的全部子节点。
另外,本发明还可以包含一并行处理模块(图1中未显示),用于在客户 端10执行一并行操作,进而在当前被点击节点自服务器端20获取其下一层的 所有子节点数据的同时,处理其它操作。例如用户在点击某节点后,到服务器 端20获取相应的节点数据的过程中,可以使得用户在页面中同时进行其它操作,例如增加、删除、修改、查找等。因此,能够提高用户的使用效率,还可 以提高系统的灵活性以及用户界面友好性。
现再请参考图2与图3,图中显示为本发明的树节点加载方法的步骤流程图。
如图所示,本发明的树节点加载方法包含以下步骤首先实例化一树对象
(歩骤102),然后获取树对象的当前被点击节点的识别符(id)与类型(type) 属性(歩骤104)。然后,初始化一数据容器,以准备好盛放自服务器端获取 的节点数据。通过初始化数据容器,将能够结合当前被点击节点识别符(id) 以及类型(type),以将从位于服务器端的指定数据源位置获取的数据存放于 此数据容器中(步骤106)。
关于指定服务器端数据源的实现代码形式例如下
数据容器.URL = 〃指向数据源的具体的位置.do (例如一实施例应用采 取strust的方式)?nodetype二" +类型+ "&nodeuuid=" + icH言息; 数据容器.reset ();
通过指定数据容器的数据源,同时将查询条件被点击节点的type和id 传递给后台服务器端,进而可方便数据库的处理操作。
然后,需要从客户端传输被点击节点的id及type至服务器端中的指定数 据源(步骤108),以提供服务器端的数据库进行处理操作。
在依照被点击节点的id及type査询服务器端数据库之前,可以还包含一 权限判断步骤,以作为获取数据的查询条件。例如,依照客户端传递的id, 获取保存于session中的用于当前被点击节点的权限内容(步骤110),并根 据获得的权限内容判断用户权限(步骤112)。若不存在此用户权限,则返回 无权限信息(步骤128),并可以进一步在界面上提示用户没有此节点权限 (130)。若存在用户权限,则依照査询条件查找指定数据源的数据库信息(步 骤114)。査询条件除了当前被点击节点的id与type之外,还包含用户节点 权限。因此,对于根据当前被点击节点的id与type获得的当前被点击节点的 下一层的所有子节点数据,需要根据权限条件对査询的数据作进一步筛选处 理。对于权限不同的情况,则获取的数据也相应不同。
在依照当前被点击节点的识别符与类型査询指定数据源,以获得当前被点 击节点下一层的所有子节点数据时,首先根据树节点类型进行判断,在指定数据源的数据库中按照类型查找对应id的数据。例如,依照传递过来的查询条 件,即type和id后执行上述操作的实现代码如下 if (type是"A")
数据库搜索A类型节点,同时根据当前节点的id去获取对应数据(内 部包含异常处理)
得到返回数据。 return "success";
else if (type是"B")
.............〃等同于上面代码处理。
然后,根据return值返回相应査找数据至客户端的数据容器(歩骤118)。 这里,返回给客户端的数据为包含树对象5个以特殊字符分开关键属性的数 值。
客户端在接收到返回数据之后,则初始化树对象,从数据容器中取出与树 对象属性对应的子节点数据,并放入用于树初始化数据的数组中,进而对树对 象的属性进行赋值以及初始化操作,以加载当前被点击节点下一层的所有子节 点(步骤120)。
最后,可以通过显示处理将加载的子节点显示于界面上。具体步骤如下 首先,在获取到能够保证当前被点击节点的子节点显示的属性信息之后,利用 特殊符号在所有加载子节点的每个节点之间以及每个节点的属性之间进行分 隔,组成加载子节点的节点数据为一字符串(歩骤122)。并采用显示格式处 理此字符串(歩骤124),这里,显示格式例如html方式,进而结合当前被 点击节点的节点数据显示其下一层级的全部子节点(步骤126)。对于html 方式,则以网页形式显示节点。
需要指出的是,本发明的当前被点击节点可以是根节点,也可以是根节点 下的子节点。对应根节点,页面初始显示为根节点,当前被节点是否包含子节 点由其属性haschild决定。若被点击节点包含子节点,则通过传递此节点的id及type至服务器端获取相应节点数据,然后加载并显示其下一层的子节点; 若此节点不包含子节点,则不执行上述逻辑操作。当前被点击节点的下层子节 点显示之后,若继续点击其中一子节点,则同样执行上述步骤,以显示此节点 下层的所有子节点。
另外,本发明还可以实现在当前被点击节点自服务器端获取子节点数据的 同时,在客户端执行一并行操作,以处理其它操作的步骤。
如图4所示,如上述树节点加载方法步骤中提到,在用户点击某一树节点 (步骤200)后,会传递此树节点的类型及识别符至服务器端(步骤202), 进而自服务器端获取相应节点数据(歩骤204)。并于客户端加载获取数据(步 骤206),然后返回此树节点下一单层子节点(步骤208)。在树节点量巨大 的情况下,到服务器端获取相应数据可能存在一定的时间延迟。因此,用户可 以利用这种时间延迟在页面中同时进行其它操作,操作与树无关的按钮 (button)。例如启动可操作按钮(步骤210),然后执行例如增加、删除、 修改、査找等操作(步骤212)。后台服务器依照用户操作请求进行相应处理 (步骤214),并将操作结果返回予用户(步骤216)。
这样能够在取回节点数据的时间内,完成按钮操作。上述节点与操作的并 行实现没有做其它处理,属于网页显示支持的一种方式,只要在树取数据的过 程中其它按钮没有屏蔽掉,则可以做点击按钮的操作。
本发明可针对某些项目中树节点量巨大(过万甚至十万),但是存在着加 载速度慢、缺乏动态操作性以及接口友好性等问题,提供了一个能够解决动态 性和提高节点加载速度的树节点加载系统及其方法。本发明通过降低服务端的 压力,改变数据的获取方式来实现加载操作。同时此实现方式具有很强的兼容 性和扩展性,能够应用于对树节点需求量大、效率要求高的很多项目中。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这 些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种树节点加载系统,应用于一客户端与一服务器端,其特征在于,该系统包含一属性获取模块,依照一实例化的树对象获取该树对象的当前被点击节点的识别符以及类型;一初始化模块,初始化一数据容器,以依照该当前被点击节点指定该数据容器获取数据的数据源位置;一查询模块,依照该当前被点击节点的识别符与类型查询该指定数据源,以获得该当前被点击节点下一层的所有子节点数据;一传输模块,用于自该客户端传送该当前被点击节点的识别符与类型至该服务器端中该指定数据源,以及传送该获取子节点数据至该客户端的该数据容器内;以及一加载模块,利用该数据容器内的该获取子节点数据对该树对象的属性进行赋值,以加载该当前被点击节点下一层的所有子节点。
2、 根据权利要求1所述的树节点加载系统,其特征在于,还包含一显示 模块,利用特殊符号在该加载子节点的每个节点之间以及每个节点的属性之间 进行分隔,组成该加载子节点的节点数据为一字符串,并采用显示格式处理该 字符串,以显示该加载子节点。
3、 根据权利要求1所述的树节点加载系统,其特征在于,还包含一权限 处理模块,依照该识别符获取该当前被点击节点权限,以提供给该查询模块根 据该当前被点击节点权限、识别符与类型查询该指定数据源。
4、 根据权利要求1所述的树节点加载系统,其特征在于,还包含一并行 处理模块,用于在该客户端执行一并行操作,进而在该当前被点击节点自该服 务器端获取其下一层的所有子节点数据的同时处理其它操作。
5、 一种树节点加载方法,应用于一客户端与一服务器端,其特征在于, 该方法包含以下步骤实例化一树对象,并获得该树对象的当前被点击节点的识别符(id)以及 类型(type);初始化一数据容器,以将从该服务器端的指定数据源位置获取的数据存放于该数据容器中;自该客户端传送该当前被点击节点的识别符与类型至该服务器端的该指 定数据源;依照该当前被点击节点的识别符与类型,查询该指定数据源,以获得该当前被点击节点下一层的所有子节点数据;传送该获取子节点数据至该客户端的该数据容器内;以及 利用该数据容器内的该获取子节点数据对该树对象的属性进行赋值,以加载该当前被点击节点下一层的所有子节点。
6、 根据权利要求5所述的树节点加载方法,其特征在于,还包含显示该 加载子节点的步骤。
7、 根据权利要求6所述的树节点加载方法,其特征在于,该显示该加载 子节点的步骤包含利用特殊符号在该加载子节点的每个节点之间以及每个节点的属性之间 进行分隔,以组成该加载子节点的节点数据为一字符串;以及 采用显示格式处理该字符串,以显示该加载子节点。
8、 根据权利要求7所述的树节点加载方法,其特征在于,该显示格式为 html方式,以借助网页形式显示该加载子节点。
9、 根据权利要求5所述的树节点加载方法,其特征在于,该依照该当前 被点击节点的识别符与类型査询该指定数据源的步骤,还包含依照该识别符获取该当前被点击节点权限;以及根据该当前被点击节点权限、识别符与类型査询该指定数据源,以获取该 当前被点击节点下一层的所有子节点数据。
10、 根据权利要求5所述的树节点加载方法,其特征在于,还包含在该客 户端执行一并行操作的步骤,以在该当前被点击节点自该服务器端获取其下一 层的所有子节点数据的同时处理其它操作。
全文摘要
本发明公开了一种树节点加载(loading)系统及其方法,应用于一客户端与一服务器端。本发明首先获得一树对象的当前被点击节点的识别符(id)以及类型(type),然后初始化一数据容器,以存放自服务器断的指定数据源位置获取的数据于数据容器中。传送此当前被点击节点的识别符与类型至服务器端的指定数据源,并据此查询指定数据源,获得当前被点击节点下一层的所有子节点数据。利用获取数据对树对象的属性进行赋值,以加载当前被点击节点下一层的所有子节点。
文档编号H04L29/06GK101408877SQ20071016316
公开日2009年4月15日 申请日期2007年10月10日 优先权日2007年10月10日
发明者侯曼丽, 刘文涵, 李卓印, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1