[go: up one dir, main page]

CN101408877B - Tree node loading system and method thereof - Google Patents

Tree node loading system and method thereof Download PDF

Info

Publication number
CN101408877B
CN101408877B CN2007101631612A CN200710163161A CN101408877B CN 101408877 B CN101408877 B CN 101408877B CN 2007101631612 A CN2007101631612 A CN 2007101631612A CN 200710163161 A CN200710163161 A CN 200710163161A CN 101408877 B CN101408877 B CN 101408877B
Authority
CN
China
Prior art keywords
node
data
tree
currently clicked
type
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.)
Expired - Fee Related
Application number
CN2007101631612A
Other languages
Chinese (zh)
Other versions
CN101408877A (en
Inventor
侯曼丽
李卓印
陈玄同
刘文涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN2007101631612A priority Critical patent/CN101408877B/en
Publication of CN101408877A publication Critical patent/CN101408877A/en
Application granted granted Critical
Publication of CN101408877B publication Critical patent/CN101408877B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种树节点加载(loading)系统及其方法,应用于一客户端与一服务器端。本发明首先获得一树对象的当前被点击节点的识别符(id)以及类型(type),然后初始化一数据容器,以存放自服务器断的指定数据源位置获取的数据于数据容器中。传送此当前被点击节点的识别符与类型至服务器端的指定数据源,并据此查询指定数据源,获得当前被点击节点下一层的所有子节点数据。利用获取数据对树对象的属性进行赋值,以加载当前被点击节点下一层的所有子节点。

The present invention discloses a tree node loading system and method, which are applied to a client and a server. The present invention first obtains the identifier (ID) and type (type) of the currently clicked node of a tree object, and then initializes a data container to store data obtained from a designated data source position of the server in the data container. The identifier and type of the currently clicked node are transmitted to the designated data source of the server, and the designated data source is queried accordingly to obtain all the child node data of the next layer of the currently clicked node. The acquired data is used to assign values to the attributes of the tree object to load all the child nodes of the next layer of the currently clicked node.

Description

树节点加载系统及其方法 Tree node loading system and method thereof

技术领域technical field

本发明涉及通过加载树节点以获取相应数据的方法,特别是涉及一种在基于客户端-服务器端(client-server)的架构下,客户端从服务器端加载具有巨大节点量的树节点的系统及其方法。The present invention relates to a method for obtaining corresponding data by loading tree nodes, in particular to a system in which a client loads tree nodes with a huge amount of nodes from a server under a client-server (client-server) architecture and its methods.

背景技术Background technique

通常,很多项目具有导航树功能,以实现界面操作及导航用途。但由于某些项目包含的树节点量巨大,例如节点数以万计或者更多,因此采用公知技术自服务器端一次性加载所有树节点的数据时,会对服务器造成数据采集以及传输压力。而且,在存在大量树节点的情况下,一次性加载全部节点数据还会导致加载时间过长,进而造成用户的等待时间较长。因此,公知技术的上述树节点加载方法存在效率低、页面显示速度慢以及树处理不灵活的问题。Usually, many items have a navigation tree function for interface operation and navigation purposes. However, because some projects contain a huge amount of tree nodes, such as tens of thousands or more nodes, when the data of all tree nodes is loaded from the server at one time using known technologies, it will cause data collection and transmission pressure on the server. Moreover, in the case of a large number of tree nodes, loading all node data at one time will also lead to a long loading time, which in turn will cause a long waiting time for the user. Therefore, the above-mentioned tree node loading method in the known technology has the problems of low efficiency, slow page display speed and inflexible tree processing.

此外,当点击某些树节点以打算从服务器端加载数据时,在客户端页面中无法从事其它操作。公知技术在加载树节点的同时不能实现用户的并行操作,因此存在缺乏界面友好性的问题。In addition, when clicking on some tree nodes to load data from the server side, no other operations can be performed in the client page. The known technology cannot realize the parallel operation of the user while loading the tree nodes, so there is a problem of lack of interface friendliness.

发明内容Contents of the invention

本发明的目的在于提供一种树节点加载系统及其方法,以降低存在大量树节点时服务器端的加载压力,进而提高树节点的加载效率,来解决上述公知技术中存在的问题。The object of the present invention is to provide a tree node loading system and method thereof, so as to reduce the loading pressure on the server side when there are a large number of tree nodes, and further improve the loading efficiency of the tree nodes, so as to solve the problems existing in the above-mentioned known technologies.

为了实现上述目的,本发明提供了一种树节点加载系统,应用于一客户端与一服务器端,包含一属性获取模块、一初始化模块、一查询模块、一传输模块以及一加载模块;在此,属性获取模块依照一实例化的树对象获取树对象的当前被点击节点的识别符(id)以及类型(type),初始化模块初始化一数据容器,以依照当前被点击节点指定此数据容器获取数据的数据源位置。查询模块依照当前被点击节点的识别符与类型查询此指定数据源,以获得当前被点击节点下一层的所有子节点数据。传输模块用于自客户端传送当前被点击节点的识别符与类型至服务器端中指定数据源,以及传送获取子节点数据至客户端的数据容器内。加载模块利用数据容器内的获取子节点数据对树对象的属性进行赋值,以加载当前被点击节点下一层的所有子节点。In order to achieve the above object, the present invention provides a tree node loading system, which is applied to a client and a server, and includes an attribute acquisition module, an initialization module, a query module, a transmission module and a loading module; here , the attribute acquisition module acquires the identifier (id) and type (type) of the currently clicked node of the tree object according to an instantiated tree object, and the initialization module initializes a data container, so as to specify this data container to acquire data according to the currently clicked node The location of the data source. The query module queries the specified data source according to the identifier and type of the currently clicked node, so as to obtain all child node data of the layer below the currently clicked node. The transmission module is used to transmit the identifier and type of the currently clicked node from the client to the specified data source in the server, and transmit the obtained child node data to the data container of the client. The loading module assigns values to the properties of the tree object by using the obtained sub-node data in the data container, so as to load all sub-nodes of the lower layer of the currently clicked node.

本发明的树节点加载系统还包含一显示模块,显示模块利用特殊符号在加载子节点的每个节点之间以及每个节点的属性之间进行分隔,组成加载子节点的节点数据为一字符串,并采用显示格式处理此字符串,以显示加载子节点。The tree node loading system of the present invention also includes a display module, and the display module uses special symbols to separate each node of the loaded sub-node and the attributes of each node, and the node data forming the loaded sub-node is a character string , and process this string in a display format to display the loading child node.

本发明的树节点加载系统,还包含一权限处理模块,依照识别符获取当前被点击节点权限,以提供给查询模块根据当前被点击节点权限、识别符与类型查询指定数据源。The tree node loading system of the present invention also includes a permission processing module, which obtains the permission of the currently clicked node according to the identifier, and provides it to the query module to query the specified data source according to the permission, identifier and type of the currently clicked node.

本发明的树节点加载系统,还包含一并行处理模块,用于在客户端执行一并行操作,进而在当前被点击节点自服务器端获取其下一层的所有子节点数据的同时处理其它操作。The tree node loading system of the present invention also includes a parallel processing module, which is used to execute a parallel operation on the client side, and then process other operations while the currently clicked node obtains all child node data of its next layer from the server side.

本发明所提供的一种树节点加载方法,应用于一客户端与一服务器端,此方法包含以下步骤:实例化一树对象,并获得树对象的当前被点击节点的识别符(id)以及类型(type);初始化一数据容器,以将从服务器端的指定数据源位置获取的数据存放于数据容器中;待初始化数据容器完成后,自客户端传送当前被点击节点的识别符与类型至服务器端的指定数据源;依照当前被点击节点的识别符与类型,查询指定数据源,以获得当前被点击节点下一层的所有子节点数据;传送获取子节点数据至客户端的数据容器内;以及利用数据容器内的获取子节点数据对树对象的属性进行赋值,以加载当前被点击节点下一层的所有子节点。A tree node loading method provided by the present invention is applied to a client and a server, and the method includes the following steps: instantiating a tree object, and obtaining the identifier (id) of the currently clicked node of the tree object and Type (type); initialize a data container to store the data obtained from the specified data source location on the server side in the data container; after the initialization of the data container is completed, send the identifier and type of the currently clicked node from the client to the server According to the identifier and type of the currently clicked node, query the specified data source to obtain all the sub-node data of the next layer of the currently clicked node; transmit the obtained sub-node data to the data container of the client; and use The acquired sub-node data in the data container assigns values to the properties of the tree object to load all sub-nodes under the currently clicked node.

本发明通过非一次性加载树对象的全部节点数据,而是针对某一需要节点采取分散处理,仅加载当前被点击节点下一层级的所有子节点数据。因此,不仅减少了服务器端的数据加载压力,还能够使得树节点的数据显示速度提高,减少用户等待时间,进而满足用户及时、快速的浏览需求。The present invention does not load all the node data of the tree object at one time, but adopts decentralized processing for a certain required node, and only loads all the sub-node data of the lower level of the currently clicked node. Therefore, not only the data loading pressure on the server side is reduced, but also the data display speed of the tree nodes can be increased, the user's waiting time can be reduced, and the user's timely and fast browsing needs can be satisfied.

此外,本发明通过增加当前被点击节点的权限处理,以作为服务器端的数据查询条件,筛选没有权限的数据,进而可以进一步减轻服务器获取数据的压力。In addition, the present invention can further reduce the pressure on the server to obtain data by increasing the authority processing of the currently clicked node as a data query condition on the server side to filter data without authority.

本发明在树节点量巨大的情况下,在获取子节点数据时,可使得用户在页面中同时进行其它操作,因此可以提供友好的用户界面。In the case of a huge amount of tree nodes, the present invention can enable the user to perform other operations on the page at the same time when acquiring sub-node data, thus providing a friendly user interface.

下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。The present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments, but not as a limitation of the present invention.

附图说明Description of drawings

图1为本发明一实施例的树节点加载系统的系统方块图;Fig. 1 is a system block diagram of a tree node loading system according to an embodiment of the present invention;

图2与图3为本发明的树节点加载方法的步骤流程图;以及Fig. 2 and Fig. 3 are the flow chart of steps of the tree node loading method of the present invention; And

图4为本发明的树节点加载与其它操作并行处理的流程图。FIG. 4 is a flowchart of parallel processing of tree node loading and other operations in the present invention.

其中,附图标记:Among them, reference signs:

10  客户端10 clients

12  属性获取模块12 Attribute acquisition module

14  初始化模块14 Initialize the module

16  数据容器16 data container

18  传输模块18 transmission module

20  服务器端20 server side

22  权限处理模块22 Authority processing module

24  查询模块24 query module

26  加载模块26 Loading modules

28  显示模块28 display module

步骤102  实例化树对象Step 102 Instantiate the tree object

步骤104  获得被点击节点识别符(id)以及类型(type)Step 104 Obtain the identifier (id) and type (type) of the clicked node

步骤106  初始化一树节点数据容器,以将从指定数据源位置获取的数据存放于数据容器中Step 106 Initialize a tree node data container to store the data obtained from the specified data source location in the data container

步骤108  在客户端传递节点识别符及类型至服务器端的指定数据源Step 108 Pass the node identifier and type on the client side to the specified data source on the server side

步骤110  根据节点识别符获取被点击节点权限内容Step 110 Obtain the permission content of the clicked node according to the node identifier

步骤112  判断用户权限Step 112 Determine user permissions

步骤114  根据节点的识别符、类型以及权限条件查询数据库Step 114 Query the database according to the node identifier, type and permission conditions

步骤116  获取符合条件的被点击节点下一层级的所有子节点数据Step 116 Obtain all sub-node data of the level below the clicked node that meets the conditions

步骤118  返回查找数据至客户端数据容器Step 118 Return the search data to the client data container

步骤120  自数据容器中取出获取的数据对树对象属性进行赋值,以加载子节点Step 120 Take out the acquired data from the data container and assign values to the properties of the tree object to load child nodes

步骤122  利用特殊符号分隔加载的子节点,以组成获取节点数据为完整字符串Step 122 Use special symbols to separate the loaded sub-nodes to form and obtain node data as a complete string

步骤124  通过显示方式对组成字符串进行处理Step 124 Process the composed string by displaying

步骤126  显示被点击节点的下一层子节点Step 126 Display the next layer of child nodes of the clicked node

步骤128  返回无权限信息Step 128 Return no permission information

步骤130  界面提示用户没有此节点权限Step 130 The interface prompts that the user does not have permission for this node

步骤200  点击某一树节点Step 200 Click on a tree node

步骤202  传递树节点类型与识别符Step 202 Pass tree node type and identifier

步骤204  自服务器端获取数据Step 204 Obtain data from the server

步骤206  加载数据状态Step 206 Load data status

步骤208  返回后高亮此节点Step 208 Highlight this node after returning

步骤210  操作按钮Step 210 Operation button

步骤212  执行增、删、改、查操作Step 212 Execute add, delete, modify, check operations

步骤214  后台服务器处理操作请求Step 214 The background server processes the operation request

步骤216  返回操作结果Step 216 returns the operation result

具体实施方式Detailed ways

请参考图1,图中表示了本发明一实施例的树节点加载系统,应用于一客户端10与一服务器端20。Please refer to FIG. 1 , which shows a tree node loading system according to an embodiment of the present invention, which is applied to a client 10 and a server 20 .

如图1所示,此系统包含有属性获取模块12、初始化模块14、传输模块18、查询模块24以及加载模块26。属性获取模块12自一实例化树对象获取其当前被点击树节点的识别符(id)以及类型(type)属性,初始化模块14用于初始化一数据容器16,其中数据容器16用于盛放自服务器端20获取的树节点数据。通过初始化数据容器16,将能够结合当前被点击节点识别符(id)以及类型(type),指定数据容器16获取数据的数据源位置。As shown in FIG. 1 , the system includes an attribute acquisition module 12 , an initialization module 14 , a transmission module 18 , a query module 24 and a loading module 26 . Attribute acquisition module 12 obtains the identifier (id) and the type (type) attribute of its currently clicked tree node from an instantiated tree object, and initialization module 14 is used for initializing a data container 16, and wherein data container 16 is used for holding self The tree node data obtained by the server end 20. By initializing the data container 16, it will be possible to designate the data source location of the data obtained by the data container 16 in combination with the currently clicked node identifier (id) and type (type).

传输模块18从客户端10传输被点击节点的id及type至服务器端20中的指定数据源,以提供服务器端20的数据库进行处理操作。例如实现上述操作的代码形式如下:The transmission module 18 transmits the id and type of the clicked node from the client 10 to the specified data source in the server 20 to provide the database of the server 20 for processing. For example, the code form to realize the above operation is as follows:

数据容器.URL=″指向数据源的具体的位置.do(例如一实施例应用采取strust的方式)?nodetype=″+类型+″&nodeuuid=″+id信息;Data container.URL="points to the specific location of the data source.do (for example, the application of an embodiment adopts the trust method)? nodetype="+type+"&nodeuuid="+id information;

数据容器.reset();datacontainer.reset();

服务器端20的查询模块24用于依照当前被点击节点的识别符与类型查询指定数据源,以获得当前被点击节点下一层的所有子节点数据。查询模块24首先根据从客户端10传递的树节点类型进行判断,在指定数据源的数据库中按照类型查找对应id的数据。查询模块24返回给客户端10的数据为包含树对象5个以特殊字符分开关键属性的数值。The query module 24 of the server side 20 is used to query the specified data source according to the identifier and type of the currently clicked node, so as to obtain all child node data of the layer below the currently clicked node. The query module 24 first judges according to the type of the tree node transmitted from the client 10, and searches the data corresponding to the id according to the type in the database of the specified data source. The data returned by the query module 24 to the client 10 is the value of five key attributes of the tree object separated by special characters.

在此实施例中,本发明的树节点加载系统还包含一权限处理模块22。权限处理模块22依照传输模块18传递的id,获取保存于session中的用于当前被点击节点的权限,以提供给查询模块24作为获取数据的查询条件。In this embodiment, the tree node loading system of the present invention further includes a permission processing module 22 . The authority processing module 22 obtains the authority for the currently clicked node stored in the session according to the id passed by the transmission module 18, and provides it to the query module 24 as a query condition for obtaining data.

因此,除了根据当前被点击节点的id与type检索指定数据源的数据库,以获得当前被点击节点的下一层的所有子节点数据之外,查询模块24还需要根据权限处理模块22传送的权限内容作判断处理,进而根据此条件对查询的数据作进一步筛选处理。对于权限不同的情况,则获取的数据也应不同。Therefore, in addition to retrieving the database of the specified data source according to the id and type of the currently clicked node, in order to obtain all the child node data of the next layer of the currently clicked node, the query module 24 also needs the authority transmitted by the authority processing module 22 The content is judged and processed, and then the queried data is further filtered according to this condition. For different permissions, the obtained data should also be different.

查询模块24将检索到的符合条件的数据内容返回给传输模块18,在由传输模块18将返回数据传递至数据容器16中。数据容器16作为一中间状态的层次,用于盛放树对象属性对应的数据。加载模块26用于初始化树对象,从数据容器16中取出与树对象属性对应的子节点数据,并放入用于树初始化数据的数组中,进而对树对象的属性进行赋值以及初始化操作,以加载当前被点击节点下一层的所有子节点。The query module 24 returns the retrieved qualified data content to the transmission module 18 , and the transmission module 18 transmits the returned data to the data container 16 . The data container 16 is used as an intermediate state hierarchy for containing data corresponding to tree object attributes. The loading module 26 is used for initializing the tree object, takes out the child node data corresponding to the tree object attribute from the data container 16, and puts it into an array for tree initialization data, and then assigns and initializes the attribute of the tree object, with Load all child nodes of the layer below the currently clicked node.

如图1所示,本实施例的树节点加载系统还可以包含一显示模块28。显示模块28在获取到能够保证当前被点击节点的子节点显示的属性信息之后,利用特殊符号在所有加载子节点的每个节点之间以及每个节点的属性之间进行分隔,组成加载子节点的节点数据为一字符串。并采用显示格式,例如html方式处理此字符串,以便通过网络传递此节点数据,进而结合当前被点击节点的节点数据显示其下一层级的全部子节点。As shown in FIG. 1 , the tree node loading system of this embodiment may further include a display module 28 . After the display module 28 obtains the attribute information that can ensure the display of the child nodes of the currently clicked node, it uses special symbols to separate each node of all loaded child nodes and the attributes of each node to form a loaded child node. The node data of is a string. And use the display format, such as html, to process this string, so as to transmit the node data through the network, and then combine the node data of the currently clicked node to display all the child nodes of the next level.

另外,本发明还可以包含一并行处理模块(图1中未显示),用于在客户端10执行一并行操作,进而在当前被点击节点自服务器端20获取其下一层的所有子节点数据的同时,处理其它操作。例如用户在点击某节点后,到服务器端20获取相应的节点数据的过程中,可以使得用户在页面中同时进行其它操作,例如增加、删除、修改、查找等。因此,能够提高用户的使用效率,还可以提高系统的灵活性以及用户界面友好性。In addition, the present invention can also include a parallel processing module (not shown in FIG. 1 ), which is used to execute a parallel operation on the client 10, and then obtain all sub-node data of the next layer from the server 20 at the currently clicked node. At the same time, other operations are processed. For example, after the user clicks on a certain node, the server 20 can be used to obtain corresponding node data, and the user can simultaneously perform other operations on the page, such as adding, deleting, modifying, searching, and the like. Therefore, the use efficiency of the user can be improved, and the flexibility and user interface friendliness of the system can also be improved.

现再请参考图2与图3,图中显示为本发明的树节点加载方法的步骤流程图。Please refer to FIG. 2 and FIG. 3 again, which show a flow chart of the steps of the tree node loading method of the present invention.

如图所示,本发明的树节点加载方法包含以下步骤:首先实例化一树对象(步骤102),然后获取树对象的当前被点击节点的识别符(id)与类型(type)属性(步骤104)。然后,初始化一数据容器,以准备好盛放自服务器端获取的节点数据。通过初始化数据容器,将能够结合当前被点击节点识别符(id)以及类型(type),以将从位于服务器端的指定数据源位置获取的数据存放于此数据容器中(步骤106)。As shown in the figure, the tree node loading method of the present invention comprises the following steps: first instantiate a tree object (step 102), then obtain the identifier (id) and type (type) attribute of the currently clicked node of the tree object (step 104). Then, a data container is initialized to be ready to contain the node data obtained from the server. By initializing the data container, the currently clicked node identifier (id) and type (type) can be combined to store the data obtained from the specified data source location on the server side in the data container (step 106 ).

关于指定服务器端数据源的实现代码形式例如下:The implementation code form of the specified server-side data source is as follows:

数据容器.URL=″指向数据源的具体的位置.do(例如一实施例应用采取strust的方式)?nodetype=″+类型+″&nodeuuid=″+id信息;Data container.URL="points to the specific location of the data source.do (for example, the application of an embodiment adopts the trust method)? nodetype="+type+"&nodeuuid="+id information;

数据容器.reset();datacontainer.reset();

通过指定数据容器的数据源,同时将查询条件:被点击节点的type和id传递给后台服务器端,进而可方便数据库的处理操作。By specifying the data source of the data container, at the same time, the query condition: the type and id of the clicked node is passed to the background server, which can facilitate the processing and operation of the database.

然后,需要从客户端传输被点击节点的id及type至服务器端中的指定数据源(步骤108),以提供服务器端的数据库进行处理操作。Then, it is necessary to transmit the id and type of the clicked node from the client to the designated data source in the server (step 108), so as to provide the database of the server for processing.

在依照被点击节点的id及type查询服务器端数据库之前,可以还包含一权限判断步骤,以作为获取数据的查询条件。例如,依照客户端传递的id,获取保存于session中的用于当前被点击节点的权限内容(步骤110),并根据获得的权限内容判断用户权限(步骤112)。若不存在此用户权限,则返回无权限信息(步骤128),并可以进一步在界面上提示用户没有此节点权限(130)。若存在用户权限,则依照查询条件查找指定数据源的数据库信息(步骤114)。查询条件除了当前被点击节点的id与type之外,还包含用户节点权限。因此,对于根据当前被点击节点的id与type获得的当前被点击节点的下一层的所有子节点数据,需要根据权限条件对查询的数据作进一步筛选处理。对于权限不同的情况,则获取的数据也相应不同。Before querying the server-side database according to the id and type of the clicked node, a permission judgment step may be included as a query condition for obtaining data. For example, according to the id passed by the client, obtain the permission content for the currently clicked node stored in the session (step 110), and judge the user permission according to the obtained permission content (step 112). If there is no such user authority, return no authority information (step 128), and may further prompt the user on the interface that the user does not have this node authority (130). If there is user authority, search the database information of the specified data source according to the query condition (step 114). In addition to the id and type of the currently clicked node, the query conditions also include user node permissions. Therefore, for all the sub-node data of the next layer of the currently clicked node obtained according to the id and type of the currently clicked node, further screening of the queried data is required according to the permission conditions. In the case of different permissions, the obtained data is also correspondingly different.

在依照当前被点击节点的识别符与类型查询指定数据源,以获得当前被点击节点下一层的所有子节点数据时,首先根据树节点类型进行判断,在指定数据源的数据库中按照类型查找对应id的数据。例如,依照传递过来的查询条件,即type和id后执行上述操作的实现代码如下:When querying the specified data source according to the identifier and type of the currently clicked node to obtain all the child node data of the next layer of the currently clicked node, first judge according to the type of the tree node, and search according to the type in the database of the specified data source Data corresponding to id. For example, the implementation code for performing the above operations according to the passed query conditions, namely type and id, is as follows:

if(type是“A”)if(type is "A")

 {{

       数据库搜索A类型节点,同时根据当前节点的id去获取对应数据(内部包含异常处理)The database searches for type A nodes, and at the same time obtains the corresponding data according to the id of the current node (including exception handling inside)

        得到返回数据。Get the returned data.

         return″success″:return "success":

    }}

    else if(type是“B”)Else if(type is "B")

    {{

      .............//等同于上面代码处理。   ..........//Equal to the above code processing.

    }}

然后,根据return值返回相应查找数据至客户端的数据容器(步骤118)。这里,返回给客户端的数据为包含树对象5个以特殊字符分开关键属性的数值。Then, return corresponding search data to the data container of the client according to the return value (step 118). Here, the data returned to the client is the value containing 5 key attributes of the tree object separated by special characters.

客户端在接收到返回数据之后,则初始化树对象,从数据容器中取出与树对象属性对应的子节点数据,并放入用于树初始化数据的数组中,进而对树对象的属性进行赋值以及初始化操作,以加载当前被点击节点下一层的所有子节点(步骤120)。After the client receives the returned data, it initializes the tree object, takes out the sub-node data corresponding to the properties of the tree object from the data container, and puts it into the array used for tree initialization data, and then assigns the properties of the tree object and The initialization operation is to load all child nodes of the layer below the currently clicked node (step 120).

最后,可以通过显示处理将加载的子节点显示于界面上。具体步骤如下:首先,在获取到能够保证当前被点击节点的子节点显示的属性信息之后,利用特殊符号在所有加载子节点的每个节点之间以及每个节点的属性之间进行分隔,组成加载子节点的节点数据为一字符串(步骤122)。并采用显示格式处理此字符串(步骤124),这里,显示格式例如html方式,进而结合当前被点击节点的节点数据显示其下一层级的全部子节点(步骤126)。对于html方式,则以网页形式显示节点。Finally, the loaded child nodes can be displayed on the interface through display processing. The specific steps are as follows: First, after obtaining the attribute information that can ensure the display of the child nodes of the currently clicked node, use special symbols to separate each node of all loaded child nodes and the attributes of each node to form a Load the node data of the child node as a character string (step 122). And adopt display format to process this character string (step 124), here, display format such as html mode, and then combine the node data of currently clicked node to display all child nodes of its next level (step 126). For the html mode, the nodes are displayed in the form of web pages.

需要指出的是,本发明的当前被点击节点可以是根节点,也可以是根节点下的子节点。对应根节点,页面初始显示为根节点,当前被节点是否包含子节点由其属性haschild决定。若被点击节点包含子节点,则通过传递此节点的id及type至服务器端获取相应节点数据,然后加载并显示其下一层的子节点;若此节点不包含子节点,则不执行上述逻辑操作。当前被点击节点的下层子节点显示之后,若继续点击其中一子节点,则同样执行上述步骤,以显示此节点下层的所有子节点。It should be pointed out that the currently clicked node in the present invention may be the root node or a child node under the root node. Corresponding to the root node, the page is initially displayed as the root node, and whether the current node contains child nodes is determined by its attribute haschild. If the clicked node contains child nodes, pass the id and type of the node to the server to obtain the corresponding node data, then load and display the child nodes of the next layer; if the node does not contain child nodes, the above logic will not be executed operate. After the lower child nodes of the currently clicked node are displayed, if you continue to click one of the child nodes, the above steps are also performed to display all the lower child nodes of this node.

另外,本发明还可以实现在当前被点击节点自服务器端获取子节点数据的同时,在客户端执行一并行操作,以处理其它操作的步骤。In addition, the present invention can also realize the step of executing a parallel operation on the client side to process other operations while the currently clicked node obtains child node data from the server side.

如图4所示,如上述树节点加载方法步骤中提到,在用户点击某一树节点(步骤200)后,会传递此树节点的类型及识别符至服务器端(步骤202),进而自服务器端获取相应节点数据(步骤204)。并于客户端加载获取数据(步骤206),然后返回此树节点下一单层子节点(步骤208)。在树节点量巨大的情况下,到服务器端获取相应数据可能存在一定的时间延迟。因此,用户可以利用这种时间延迟在页面中同时进行其它操作,操作与树无关的按钮(button)。例如启动可操作按钮(步骤210),然后执行例如增加、删除、修改、查找等操作(步骤212)。后台服务器依照用户操作请求进行相应处理(步骤214),并将操作结果返回予用户(步骤216)。As shown in Figure 4, as mentioned in the steps of the above-mentioned tree node loading method, after the user clicks on a certain tree node (step 200), the type and identifier of the tree node will be transmitted to the server (step 202), and then automatically The server side obtains corresponding node data (step 204). And load and obtain data on the client side (step 206), and then return the single-layer sub-node of this tree node (step 208). In the case of a huge number of tree nodes, there may be a certain time delay to obtain the corresponding data from the server. Therefore, the user can take advantage of this time delay to perform other operations on the page at the same time, and operate buttons (buttons) that are not related to the tree. For example, activate the operable button (step 210), and then perform operations such as adding, deleting, modifying, searching, etc. (step 212). The background server performs corresponding processing according to the user's operation request (step 214), and returns the operation result to the user (step 216).

这样能够在取回节点数据的时间内,完成按钮操作。上述节点与操作的并行实现没有做其它处理,属于网页显示支持的一种方式,只要在树取数据的过程中其它按钮没有屏蔽掉,则可以做点击按钮的操作。In this way, the button operation can be completed within the time of retrieving node data. The parallel implementation of the above nodes and operations does not do other processing, which belongs to a way of web page display support. As long as other buttons are not blocked during the process of tree fetching data, the operation of clicking the button can be performed.

本发明可针对某些项目中树节点量巨大(过万甚至十万),但是存在着加载速度慢、缺乏动态操作性以及接口友好性等问题,提供了一个能够解决动态性和提高节点加载速度的树节点加载系统及其方法。本发明通过降低服务端的压力,改变数据的获取方式来实现加载操作。同时此实现方式具有很强的兼容性和扩展性,能够应用于对树节点需求量大、效率要求高的很多项目中。The present invention can solve the problems that the number of tree nodes in some projects is huge (more than 10,000 or even 100,000), but there are problems such as slow loading speed, lack of dynamic operability, and interface friendliness. A tree node loading system and method thereof. The invention realizes the loading operation by reducing the pressure on the server end and changing the way of data acquisition. At the same time, this implementation method has strong compatibility and scalability, and can be applied to many projects that require a large number of tree nodes and high efficiency requirements.

当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。Certainly, the present invention also can have other multiple embodiments, without departing from the spirit and essence of the present invention, those skilled in the art can make various corresponding changes and deformations according to the present invention, but these corresponding changes All changes and modifications should belong to the scope of protection of the appended claims of the present invention.

Claims (8)

1.一种树节点加载系统,应用于一客户端与一服务器端,其特征在于,该系统包含:1. A tree node loading system applied to a client and a server, characterized in that the system comprises: 一属性获取模块,依照一实例化的树对象获取该树对象的当前被点击节点的识别符以及类型;An attribute acquisition module, which acquires the identifier and type of the currently clicked node of the tree object according to an instantiated tree object; 一初始化模块,初始化该客户端的一数据容器,以依照该当前被点击节点指定该数据容器获取数据的数据源位置;An initialization module, which initializes a data container of the client, so as to specify the data source position of the data container to obtain data according to the currently clicked node; 一传输模块,用于自该客户端传送该当前被点击节点的识别符与类型至该服务器端中该指定数据源;A transmission module, used to transmit the identifier and type of the currently clicked node from the client to the specified data source in the server; 一查询模块,依照该当前被点击节点的识别符与类型查询该指定数据源,以获得该当前被点击节点下一层的所有子节点数据,该传输模块传送该获取子节点数据至该客户端的该数据容器内;A query module, querying the specified data source according to the identifier and type of the currently clicked node, so as to obtain all sub-node data of the lower layer of the currently clicked node, and the transmission module transmits the obtained sub-node data to the client's within the data container; 一权限处理模块,依照该识别符获取该当前被点击节点权限,以提供给该查询模块根据该当前被点击节点权限、识别符与类型查询该指定数据源;An authority processing module, which obtains the authority of the currently clicked node according to the identifier, so as to provide it to the query module to query the specified data source according to the authority, identifier and type of the currently clicked node; 一加载模块,利用该数据容器内的该获取子节点数据对该树对象的属性进行赋值,以加载该当前被点击节点下一层的所有子节点;以及A loading module, which assigns values to the attributes of the tree object by using the acquired sub-node data in the data container, so as to load all sub-nodes of the lower layer of the currently clicked node; and 一显示模块,利用特殊符号在该加载子节点的每个节点之间以及每个节点的属性之间进行分隔,组成该加载子节点的节点数据为一字符串,并采用显示格式处理该字符串,以显示该加载子节点。A display module, using special symbols to separate each node of the loaded sub-node and the attributes of each node, the node data that composes the loaded sub-node is a string, and uses the display format to process the string , to display the loading subnode. 2.根据权利要求1所述的树节点加载系统,其特征在于,还包含一并行处理模块,用于在该客户端执行一并行操作,进而在该当前被点击节点自该服务器端获取其下一层的所有子节点数据的同时处理其它操作。2. The tree node loading system according to claim 1, further comprising a parallel processing module configured to perform a parallel operation on the client, and then obtain the current clicked node from the server side All sub-node data of a layer process other operations at the same time. 3.一种树节点加载方法,应用于一客户端与一服务器端,其特征在于,该方法包含以下步骤:3. A tree node loading method applied to a client and a server, characterized in that the method comprises the following steps: 实例化一树对象,并获得该树对象的当前被点击节点的识别符(id)以及类型(type);Instantiate a tree object, and obtain the identifier (id) and type (type) of the currently clicked node of the tree object; 初始化一数据容器,以将从该服务器端的指定数据源位置获取的数据存放于该数据容器中;Initialize a data container, so as to store the data obtained from the specified data source location on the server in the data container; 自该客户端传送该当前被点击节点的识别符与类型至该服务器端的该指定数据源;transmitting the identifier and type of the currently clicked node from the client to the designated data source of the server; 依照该当前被点击节点的识别符与类型,查询该指定数据源,以获得该当前被点击节点下一层的所有子节点数据;According to the identifier and type of the currently clicked node, query the specified data source to obtain all child node data of the layer below the currently clicked node; 传送该获取子节点数据至该客户端的该数据容器内;以及transmitting the obtained child node data into the data container of the client; and 利用该数据容器内的该获取子节点数据对该树对象的属性进行赋值,以加载该当前被点击节点下一层的所有子节点。Using the acquired child node data in the data container to assign values to the attributes of the tree object, so as to load all the child nodes of the layer below the currently clicked node. 4.根据权利要求3所述的树节点加载方法,其特征在于,还包含显示该加载子节点的步骤。4. The method for loading tree nodes according to claim 3, further comprising a step of displaying the loaded child nodes. 5.根据权利要求4所述的树节点加载方法,其特征在于,该显示该加载子节点的步骤包含:5. The tree node loading method according to claim 4, wherein the step of displaying the loaded child node comprises: 利用特殊符号在该加载子节点的每个节点之间以及每个节点的属性之间进行分隔,以组成该加载子节点的节点数据为一字符串;以及Use special symbols to separate each node of the loaded child node and the attributes of each node, so that the node data of the loaded child node is a string; and 采用显示格式处理该字符串,以显示该加载子节点。Processes the string in a display format to display the loaded child node. 6.根据权利要求5所述的树节点加载方法,其特征在于,该显示格式为html方式,以借助网页形式显示该加载子节点。6 . The tree node loading method according to claim 5 , wherein the display format is html, so as to display the loaded sub-node in the form of a web page. 7 . 7.根据权利要求3所述的树节点加载方法,其特征在于,该依照该当前被点击节点的识别符与类型查询该指定数据源的步骤,还包含:7. The tree node loading method according to claim 3, wherein the step of querying the designated data source according to the identifier and type of the currently clicked node further comprises: 依照该识别符获取该当前被点击节点权限;以及Obtain the currently clicked node permission according to the identifier; and 根据该当前被点击节点权限、识别符与类型查询该指定数据源,以获取该当前被点击节点下一层的所有子节点数据。Query the specified data source according to the permission, identifier and type of the currently clicked node, so as to obtain all child node data of the lower layer of the currently clicked node. 8.根据权利要求3所述的树节点加载方法,其特征在于,还包含在该客户端执行一并行操作的步骤,以在该当前被点击节点自该服务器端获取其下一层的所有子节点数据的同时处理其它操作。8. The tree node loading method according to claim 3, further comprising the step of performing a parallel operation on the client side, so as to obtain all the child nodes of the next layer from the server side at the currently clicked node. Node data while processing other operations.
CN2007101631612A 2007-10-10 2007-10-10 Tree node loading system and method thereof Expired - Fee Related CN101408877B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101631612A CN101408877B (en) 2007-10-10 2007-10-10 Tree node loading system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101631612A CN101408877B (en) 2007-10-10 2007-10-10 Tree node loading system and method thereof

Publications (2)

Publication Number Publication Date
CN101408877A CN101408877A (en) 2009-04-15
CN101408877B true CN101408877B (en) 2011-03-16

Family

ID=40571891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101631612A Expired - Fee Related CN101408877B (en) 2007-10-10 2007-10-10 Tree node loading system and method thereof

Country Status (1)

Country Link
CN (1) CN101408877B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346350A (en) * 2013-07-26 2015-02-11 南京中兴力维软件有限公司 Method and system for inquiring tree node of asynchronous tree

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411575A (en) * 2010-09-21 2012-04-11 北京大学 A webpage display method, system and server
CN102999608A (en) * 2012-11-21 2013-03-27 用友软件股份有限公司 System and method for tree table demonstration of large data
CN104298670B (en) * 2013-07-16 2019-08-23 腾讯科技(北京)有限公司 Carry out the method and device of hierarchical data reading
CN106503026A (en) * 2015-09-08 2017-03-15 华为技术有限公司 A kind of method and apparatus of video data
CN105468365B (en) * 2015-11-20 2021-04-23 厦门雅迅网络股份有限公司 Method for solving tree control node number limitation
CN105488123B (en) * 2015-11-23 2019-03-26 国云科技股份有限公司 Method for rapidly loading multi-level pull-down selection and linkage frame
CN105512338B (en) * 2015-12-31 2019-01-25 北京格林伟迪科技股份有限公司 The implementation method and device of a kind of big data quantity node navigation tree in web front-end
CN105740407A (en) * 2016-01-28 2016-07-06 深圳市佳创视讯技术股份有限公司 Tree structure generation method and system
CN107608664A (en) * 2017-09-22 2018-01-19 国云科技股份有限公司 A way to load large amounts of data using zTree
CN109582380A (en) * 2017-09-26 2019-04-05 北京国双科技有限公司 A kind of Node Processing Method and device, storage medium, processor
CN109063072A (en) * 2018-07-24 2018-12-21 西安科技大学 The querying method and device of information in a kind of engineering management
CN109344355B (en) * 2018-09-26 2022-03-15 北京因特睿软件有限公司 Automatic regression detection and block matching self-adaption method and device for webpage change
CN111523073A (en) * 2020-04-23 2020-08-11 深圳市商汤科技有限公司 Data management method and device, electronic equipment and storage medium
CN112540995B (en) * 2020-11-11 2022-12-02 上海赛美特软件科技有限公司 Data updating method, electronic device and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492361A (en) * 2002-10-25 2004-04-28 联想(北京)有限公司 Processing method for embedded data bank searching
CN1581098A (en) * 2004-05-20 2005-02-16 北京大学 Simulator structure method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492361A (en) * 2002-10-25 2004-04-28 联想(北京)有限公司 Processing method for embedded data bank searching
CN1581098A (en) * 2004-05-20 2005-02-16 北京大学 Simulator structure method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346350A (en) * 2013-07-26 2015-02-11 南京中兴力维软件有限公司 Method and system for inquiring tree node of asynchronous tree
CN104346350B (en) * 2013-07-26 2019-09-20 南京中兴力维软件有限公司 The tree node querying method and system of Asynchronous Tree

Also Published As

Publication number Publication date
CN101408877A (en) 2009-04-15

Similar Documents

Publication Publication Date Title
CN101408877B (en) Tree node loading system and method thereof
US11200229B2 (en) Expansion of a tree hierarchy
US11693833B2 (en) Computer-implemented method for storing unlimited amount of data as a mind map in relational database systems
US9164998B2 (en) Archive-system-independent archive-type objects
US20180032518A1 (en) Systems and methods for graphical exploration of forensic data
US20120089612A1 (en) Flexible fully integrated real-time document indexing
CA2783451A1 (en) Method and system of adapting a data model to a user interface component
US20140012988A1 (en) Provisioning computer resources on a network
US20110153582A1 (en) Handling of classification data by a search engine
CN106537347B (en) System and method for distributing and processing streams
US12197442B1 (en) Integration of cloud-based and non-cloud-based data in a data intake and query system
US7634486B2 (en) Systems management navigation and focus collection
CN108345691B (en) Data source general processing framework construction method, data source processing method and device
CN113407810B (en) City information and service integration system and method based on big data
CN108509544A (en) The acquisition methods and device of mind map, equipment and readable storage medium storing program for executing
CN109933589B (en) Data structure conversion method for data summarization based on ElasticSearch aggregation operation result
CN104598622A (en) Method and system for implementing data modification log as well as application server
CN103713930B (en) Method and device for graphically defining process map
CN111881220B (en) Data operation method and device under list storage, electronic equipment and storage medium
CN109951376B (en) Instant messaging software information acquisition method, device, system and storage medium
WO2019085591A1 (en) Intelligent hardware device, intelligent disk data processing method, and storage medium
KR100864537B1 (en) Query processing method of extensible display language document using tree label and query processing device
CN111444223B (en) Double buffering method, device, equipment and storage medium based on asynchronous decorator
CN104243201B (en) Network equipment detection use-case corresponds to the storage method and system of topological diagram
CN116483841B (en) Form data management method and device based on compact framework

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110316

Termination date: 20161010

CF01 Termination of patent right due to non-payment of annual fee