CN107783850B - 一种节点树勾选记录的解析方法、装置、服务器及系统 - Google Patents
一种节点树勾选记录的解析方法、装置、服务器及系统 Download PDFInfo
- Publication number
- CN107783850B CN107783850B CN201710897684.3A CN201710897684A CN107783850B CN 107783850 B CN107783850 B CN 107783850B CN 201710897684 A CN201710897684 A CN 201710897684A CN 107783850 B CN107783850 B CN 107783850B
- Authority
- CN
- China
- Prior art keywords
- list
- node
- checking
- entity
- determining
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种节点树勾选记录的解析方法、装置、服务器及系统。所述方法包括:接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。本发明实施例提供的节点树勾选记录的解析方法,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
Description
技术领域
本发明实施例涉及网页应用技术领域,具体涉及一种节点树勾选记录的解析方法、装置、服务器及系统。
背景技术
BS架构由于其便捷性,广泛应用于网页应用技术领域中。树形控件的使用是网页应用开发过程中必不可少的,用户通过对节点树中的节点进行勾选或去勾选操作进行数据查询处理等,前台浏览器根据用户操作获取用户勾选的节点信息,后台服务器根据前台传输的节点信息进行相关处理,例如根据用户勾选的节点信息进行查询操作等。
现有技术对于节点树的操作和记录常采用的方案为,直接根据用户对节点树的操作进行解析,生成勾选实体列表,将勾选实体列表传送至后台服务器,然而在BS交互架构下,在多层关系嵌套的场景下,当用户勾选父节点后,又跨层级的去勾选子节点,此时勾选实体列表包含了该父节点下除去勾选子节点之外的其他所有节点,或者在复杂搜索过滤场景下,用户设置过滤条件,可以得到多个满足过滤条件的勾选节点,那么勾选的实体列表是非常庞大的,在这些复杂场景下,对于实体列表的完全解析十分消耗前台浏览器的性能和时间,并且前后台需要交互大量的数据,此外也会产生后台服务器后续业务处理逻辑重复的大数据量查询。
发明内容
针对现有技术中的缺陷,本发明实施例提供了节点树勾选记录的解析方法、装置、服务器及系统。
第一方面,本发明实施例提供一种节点树勾选记录的解析方法,包括:
获取节点树的操作记录,所述操作记录至少包括操作节点信息和操作节点勾选方式;
根据所述操作节点信息和操作节点勾选方式,确定最简操作列表;
将所述最简操作列表发送至服务器,以供所述服务器根据所述最简操作列表,确定所述节点树的各层级完全勾选的实体列表。
第二方面,本发明又一实施例提供一种节点树勾选记录的解析方法,包括:
接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;
根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;
获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;
根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;
根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
第三方面,本发明实施例提供一种节点树勾选记录的解析装置,包括:
第一获取模块,用于获取节点树的操作记录,所述操作记录至少包括操作节点信息和操作节点勾选方式;
简化模块,用于根据所述操作节点信息和操作节点勾选方式,确定最简操作列表;
发送模块,用于将所述最简操作列表发送至服务器,以供所述服务器根据所述最简操作列表,确定所述节点树的各层级完全勾选的实体列表。
第四方面,本发明实施例提供一种服务器,包括:
接收模块,用于接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;
解析模块,用于根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;
第二获取模块,用于获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;
拆解模块,用于根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;
处理模块,用于根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
第五方面,本发明实施例提供一种节点树勾选记录的解析系统,包括上述解析装置和上述服务器。
第六方面,本发明实施例提供一种电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
第七方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
本发明实施例提供的节点树勾选记录的解析方法,通过接收客户端发送的最简操作列表,确定拆解链列表,根据拆解链列表确定节点树的各层级完全勾选的实体列表,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的节点树勾选记录的解析方法流程示意图;
图2为本发明又一实施例提供的节点树勾选记录的解析方法流程示意图;
图3为本发明又一实施例提供的节点树勾选记录的解析方法;
图4为本发明实施例提供的节点树勾选记录回显方法流程示意图;
图5为本发明实施例提供的节点树勾选记录的解析装置的结构示意图;
图6为本发明实施例提供的服务器结构示意图;
图7为本发明实施例提供的节点树勾选记录的解析系统的结构示意图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的节点树勾选记录的解析方法流程示意图,如图1所示,所述方法包括:
步骤S11、获取节点树的操作记录,所述操作记录至少包括操作节点信息和操作节点勾选方式;
具体地,节点树是网页应用中常见的展示和选择数据的形式,节点树信息主要包括:各层级类型数据、各层级节点实体数据、各层级类型之间的关系数据、各层级节点实体之间的关系数据。节点树层级最低为1,最高无上限,各层级之间的节点实体关系可以为1:1、1:N、N:N等,节点树展示可以通过不同的方式组织,如汇总关系路径,静态或动态分组等。节点树各级节点信息独立存储于数据库中,即各层的类型和各层的实体信息分别存储在不同的数据表中的,数据库可以存储在第三方存储服务器上。
以设备(Device)和接口(Interface)为例,Device或Interface为层级类型,实体数据为该类型的一个实例,例如对于Device可以有张三的笔记本电脑、李四的Thinkpad等,对于接口可以是一号USB接口、二号USB接口、耳机接口、网线接口等。接口必然会属于某个设备,因此Interface和Device之间是有N:1关系的模型数据的,即一个Device可以拥有多个Interface,但是一个Interface只能属于一个Device。实体间的关系例如:一号USB接口和耳机接口是属于张三的笔记本电脑的;二号USB接口和网线接口属于李四的thinkpad。
在展示节点树时,以关系视图的方式展示整棵树,例如存在类型分别为A、B、C、D或E的五种实体类型,其关系路径有上层到下层的关系视图为A->B->C->D->E,各层关系之间均可能为N:1或者N:N关系,各类型下的实体全局唯一ID分别为小写字母加数字格式,例如a1,b2,c2等。
用户在客户端对节点树中的节点进行勾选或去勾选操作,确定需要处理的数据,例如,通过勾选确定需要查询的数据等。此时,客户端对用户操作进行记录。客户端主要记录的信息为操作序号(seq),实体类型(例如D),实体ID(例如d1),实体路径(fullPath),实体的勾选方式,实体勾选时的过滤字符串(searchName),实体过滤时过滤的实体类型(searchType)等。其中,实体路径指以全部实体(ALL)为起点、该实体节点为终点、以及其间经过的各实体ID共同组成的路径信息如ALL-a1-b2-c1-d1;勾选方式主要有两种:勾选(check),或者去勾选(uncheck),在实际应用中,若有其他业务信息记录需求,客户端也可以同时记录。
步骤S12、根据所述操作节点信息和操作节点勾选方式,确定最简操作列表;
具体地,对操作记录做去重合并处理得到最简操作列表,在实际应用中,用户可能的勾选方式有五种:(1)直接勾选叶子节点;(2)直接勾选父节点;(3)勾选叶子节点后,再去勾选叶子节点;(4)勾选父节点后,再去勾选叶子节点;(5)勾选叶子节点后,再去勾选父节点。此时需要做的去重合并主要针对操作方式(3)-(5)。其中合并操作一为:相同节点的勾选与去勾选相互抵消;合并操作二为:全部叶子节点的去勾选,可以与父节点勾选抵消;合并操作三为:全部叶子节点的勾选可合并为父节点勾选。对操作记录中的每一个已勾选节点,直接参照节点树,查看选择状态,若为去勾选状态,则表示其下所有的叶子节点都被去勾选了,则从勾选记录中移除,否则保留;对操作记录中每一个去勾选节点,查找是否有最近的上层勾选父节点,若没有,则表示父节点已经被去勾选操作移除,则移除该节点;若有,则保留,其中最近的上层勾选父节点可以通过实体路径确定。
步骤S13、将所述最简操作列表发送至服务器,以供所述服务器根据所述最简操作列表,确定所述节点树的各层级完全勾选的实体列表。
具体地,将最简操作列表发送至服务器,服务器接收到最简操作列表之后,对最简操作列表进行解析,得到最简操作列表对应的数据,然后持久化解析后的数据。持久化时可以打破顺序关系,将操作记录列表直接拆分为勾选实体与去勾选实体,也可以原样存储。服务器通过解析后的数据可以确定节点树的各层级完全勾选的实体列表,客户端还可以通过读取解析后的数据回显用户操作记录和再次显示已勾选的节点。此外,服务器还可以对最简列表建立索引,将最简列表与持久化数据关联,当获取到最简列表后,首先建立索引,然后查看数据库中是否有与该索引相对应的持久化数据,若有,则直接使用,不再对最简列表重复解析,节约服务器性能开销。
由于用户可实际进行的操作次数有限,因此,最简操作列表的数据量必然可控有限。例如,勾选全部节点后去勾选单一节点场景下,客户端与服务器仅传输两条记录,即勾选的节点记录和去勾选的节点记录,又如,跨层级的勾选与去勾选操作,客户端不再解析跨层间所有的勾选实体,然后向服务器传输所有勾选实体,而是客户端与服务器仅传输两条记录,另外,对于过滤勾选场景下,客户端与服务器也只传输了过滤操作和勾选或去勾选记录,优化了客户端与服务器的传输效率。其次,在节点树的实体模型信息变更后,通过对操作记录的存储依然可以最大程度上的兼容用户的选择意图。如勾选父节点后,去勾选某些实体,则表示用户希望查询剩余实体,在父节点下的实体数量动态增减后,由于后台服务器解析的即时性,可以适应此类变更。
本发明实施例提供的节点树勾选记录的解析方法,根据节点树的操作记录确定最简操作列表,将最简操作列表发送至服务器,服务器根据所述最简操作列表,确定节点树的各层级完全勾选的实体列表,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
图2为本发明又一实施例提供的节点树勾选记录的解析方法流程示意图,如图2所示,所述方法包括:
步骤S21、接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;
具体地,用户在客户端对节点树中的节点进行勾选或去勾选操作,确定需要处理的数据,例如,通过勾选确定需要查询的数据等。此时,客户端对用户操作进行记录。客户端主要记录的信息为操作序号(seq),实体类型(例如D),实体ID(例如d1),实体路径(fullPath),实体的勾选方式,实体勾选时的过滤字符串(searchName),实体过滤时过滤的实体类型(searchType)等。其中,实体路径指以全部实体(ALL)为起点、该实体节点为终点、以及其间经过的各实体ID共同组成的路径信息如ALL-a1-b2-c1-d1;勾选方式主要有两种:勾选(check),或者去勾选(uncheck),在实际应用中,若有其他业务信息记录需求,客户端也可以同时记录,之后客户端对操作记录做去重合并处理得到最简操作列表,将最简操作列表发送至服务器,服务器接收最简操作列表。
步骤S22、根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;
具体地,解析最简操作列表,确定操作节点信息和操作节点勾选方式,按照勾选方式,将操作节点分为两组:勾选节点和去勾选节点,并分别对勾选节点、去勾选节点排序,按照下层节点在前的原则,根据节点的实体路径信息,得到已排序的勾选列表和去勾选列表。
步骤S23、获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;
具体地,根据最简操作列表中的操作节点信息中的实体路径信息,确定最简操作列表对应的节点树,获取数据库中存储的该节点树的各层级节点信息,例如节点树各层级类型关系信息,各层级实体存储表等信息。
步骤S24、根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;
具体地,勾选列表和去勾选列表只记录了用户操作的节点信息,在实际应用中,用户未操作的节点也可能是勾选节点,例如,用户勾选了父节点之后,又去勾选了下层的其中一个子节点,此时用户操作的勾选节点是父节点,实际上,用户选择的数据是父节点之下除了去勾选节点以外的其他节点的实体数据,因此需要根据各层级节点信息、勾选列表中的节点和去勾选列表中的节点,确定拆解链列表。具体地,根据勾选列表中的节点的实体路径和去勾选列表中的节点的实体路径,以及实体路径中对应的各层级节点信息,确定拆解链列表。
步骤S25、根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
具体地,根据拆解链列表对勾选列表进行处理,得到节点树的各层级完全勾选的实体列表,然后将该实体列表存储在数据库的缓存表中。这样便可以在后台服务器得到各层完全勾选的节点列表,并且该列表中的各实体均包含了其完整的路径信息,后续的叶子节点解析、向上的聚合等均可以依据此信息进行匹配筛选,得到完整正确的数据结果。
在实际应用中,还可以对最简操作列表建立索引,通过索引查询数据库中是否存在该索引的缓存表,若存在,则直接读取该缓存表中的数据。若不存在,则新建缓存表,并将解析后的节点树的各层级完全勾选的实体列表数据存储在新建缓存表中。
具体地,预处理,构建入参,入参中包含节点勾选信息,各层级类型关系信息,各层级实体存储表等信息。以xml格式字符串构建入参数据,以入参xml生成hashcode作为索引,进行缓存判断和读取。若存在缓存表,则直接使用;若不存在,则新建缓存表。考虑实际的使用场景,对于节点的勾选可能会保存为模板,进行定时任务的数据查询和导出,因此该缓存机制可以节约性能开销。
本发明实施例提供的节点树勾选记录的解析方法,通过接收客户端发送的最简操作列表,确定拆解链列表,根据拆解链列表确定节点树的各层级完全勾选的实体列表,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
在上述实施例的基础上,进一步地,所述根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表,包括:
匹配所述勾选列表和所述去勾选列表,生成匹配映射表;
确定所述匹配映射表途经的节点列表;
根据所述节点列表确定各层级的拆解实体和去除实体;
根据所述拆解实体和所述去除实体确定拆解链列表。
具体地,匹配勾选列表和去勾选列表,生成匹配映射表pairMap(Map<String,List<String>>),存储去勾选节点与距其最近的勾选节点的匹配信息,其key值为最近的勾选节点的实体路径,value为其下的去勾选节点的实体路径列表,并复制该pairMap为dismantlingMap以备后续使用。
确定匹配映射表途经的节点列表,细化拆解映射对象。具体地,由dismantlingMap生成拆解片映射对象dismantlingSliceMap(Map<String,Map<String,List<String>>)。由原先可能跨层级的去勾选-勾选节点映射解析为,按照各级节点类型分组的,各匹配映射表途经实体的直接上下层映射关系列表。其中外层Map对象的key值为上层实体类型typeId,value中Map对象的Key值为上层节点的实体路径fullPath,value为该节点对应的直接下层中所有被拆解片映射对象经过的节点的fullPath列表。经过这一步,便得到了任意一层中,需要拆解至其直接下层的实体列表,以及其对应拆解后,要排除的实体列表,被排除的实体主要是由于其下层有去勾选节点,要被继续进一步拆解至下层类型节点列表。这样就可以得到各层级的拆解实体和去除实体,根据拆解实体和去除实体确定拆解链列表。
本发明实施例提供的节点树勾选记录的解析方法,通过匹配勾选列表和去勾选列表,生成匹配映射表,根据匹配映射表确定各层级的拆解实体和去除实体,根据所述拆解实体和所述去除实体确定拆解链列表,确定拆解链列表,根据拆解链列表确定节点树的各层级完全勾选的实体列表,提高了解析勾选记录的正确率,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
在上述各实施例的基础上,进一步地,所述根据所述各层级拆解链列表确定所述节点树的各层级完全勾选的实体列表,包括:
根据所述拆解链列表确定拆解数据;
向所述勾选列表中插入所述拆解数据,确定各层级完全勾选的实体列表。
具体地,由拆解链列表生成各层级拆解实体数据的查询SQL列表,即拆解数据,并将拆解后的实体的实体路径信息补全,根据拆解链列表生成下层无去勾选的勾选节点的插入SQL。执行插入SQL,插入拆解数据得到最终完全勾选节点的列表。其中查询SQL主要形式有以下几种:
去勾选非others下的节点:
select motypeid as motypeid,
objid as objid,
'[refLevelFullPath];'||objid as fullpath,
[treeNodeMap.get(refLevelFullPath).getMoSearchName]as mosearchname,
[treeNodeMap.get(refLevelFullPath).getMoSearchType]as mosearchtype
from pm4h_mo.obj_OBJlevel
where reference_REFlevel not in
(objlevelid1,objlevelid2,objlevelid3,...);
去勾选Others下的实体节点:
select...
from obj_C t
where t.verendtime is null
and t.ref_B is null
and t.objid not in(c1,c2,c3)
去勾选Others下的others节点:
select...
from obj_C t
where t.verendtime is null
and t.ref_B is null。
图3为本发明又一实施例提供的节点树勾选记录的解析方法,如图3所示,所述方法包括:
步骤S31、接收最简操作列表;
步骤S32、判断是否存在缓存,若不存在,则新建缓存表,并执行步骤S33;
步骤S33、对最简操作列表中的实体进行分组;
步骤S34、根据实体分组生成匹配映射表;
步骤S35、根据匹配映射表生成拆解片映射对象;
步骤S36、生成查询SQL;
步骤S37、生成插入SQL;
步骤S38、插入数据到新建缓存表中。
本发明实施例提供的节点树勾选记录的解析方法,根据拆解链列表确定拆解数据,向勾选列表中插入拆解数据,确定各层级完全勾选的实体列表,提高了解析勾选记录的正确率,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
在上述各实施例的基础上,进一步地,所述方法还包括:
解析所述最简操作列表,确定操作数据;
根据所述操作数据确定勾选展示数据;
向所述客户端发送所述操作数据和所述勾选展示数据,以供所述客户端展示所述最简操作列表对应的操作记录和已勾选记录。
具体地,获取最简操作列表,此列表中的各个实体之间无必要的顺序关系。反向解析最简操作列表,.按照勾选列表得到勾选记录,由去勾选列表得到去勾选记录,按照勾选记录在前,去勾选记录在后,以及实体节点路径高在前,低在后的顺序进行排列得到操作数据。将数据回传至客户端,客户端结合懒加载的方式,进行实体树展示。在展开一层父节点时,先加载父节点下全量的实体信息,对每一个下层节点进行判断,若节点本身或其下层在勾选列表中存在,则表示为选中状态;若不存在则表示为未勾选状态。若为选中状态,进而再判断若去勾选列表中有其下层实体存在,则表示为半勾选,若没有,则为全勾选状态。判断下层时,可以将fullPath通过字符串startWith的方式进行快速的比较。得到每个节点的勾选状态后,便可以设置展示该级完整的节点树了。
图4为本发明实施例提供的节点树勾选记录回显方法流程示意图,如图4所示,所述方法包括:
步骤S41、读取缓存表;
步骤S42、重构节点树操作列表;
步骤S43、展开一层节点;
步骤S44、获取节点实体路径,判断勾选列表中的节点是否为选中状态,若是,则执行步骤S45;
步骤S45、确认去勾选列表中的节点是全勾选还是半勾选。
展示已勾选记录具体为,根据最简操作列表,数据库中的节点信息,获取每层节点的实体类型对应的勾选、去勾选实体集合列表。根据实体类型对应的勾选、去勾选实体集合,获取到所有fullPath中涉及到的实体信息。对每一个去勾选节点,反向寻找其上层最近的勾选节点。对于其中进过的每一个层级的实体都进行分页展开,并拼接实体树展示格式的勾选展示数据。对于去勾选层实体,将去勾选的实体排除。对于完全勾选的实体,即无下层去勾选的情况,则不再需要展开勾选节点的下层,合并实体树展示格式的勾选展示数据,交付客户端展示。
本发明实施例提供的节点树勾选记录的解析方法,解析最简操作列表,确定操作数据,根据操作数据确定勾选展示数据,客户端展示最简操作列表对应的操作记录和已勾选记录,提高了解析勾选记录的正确率,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
图5为本发明实施例提供的节点树勾选记录的解析装置的结构示意图,如图5所示,所述解析装置包括:第一获取模块51、简化模块52和发送模块53,其中:
第一获取模块51用于获取节点树的操作记录,所述操作记录至少包括操作节点信息和操作节点勾选方式;简化模块52用于根据所述操作节点信息和操作节点勾选方式,确定最简操作列表;发送模块53用于将所述最简操作列表发送至服务器,以供所述服务器根据所述最简操作列表,确定所述节点树的各层级完全勾选的实体列表。
具体地,用户在客户端对节点树中的节点进行勾选或去勾选操作,确定需要处理的数据,例如,通过勾选确定需要查询的数据等。此时,第一获取模块51获取用户操作进行记录。用户操作进行记录信息为操作序号(seq),实体类型(例如D),实体ID(例如d1),实体路径(fullPath),实体的勾选方式,实体勾选时的过滤字符串(searchName),实体过滤时过滤的实体类型(searchType)等。其中,实体路径指以全部实体(ALL)为起点、该实体节点为终点、以及其间经过的各实体ID共同组成的路径信息如ALL-a1-b2-c1-d1;勾选方式主要有两种:勾选(check),或者去勾选(uncheck)。简化模块52对操作记录做去重合并处理得到最简操作列表,发送模块53将最简操作列表发送至服务器,服务器接收到最简操作列表之后,对最简操作列表进行解析,得到最简操作列表对应的数据,然后持久化解析后的数据。本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
本发明实施例提供的节点树勾选记录的解析装置,根据节点树的操作记录确定最简操作列表,将最简操作列表发送至服务器,服务器根据所述最简操作列表,确定节点树的各层级完全勾选的实体列表,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
图6为本发明实施例提供的服务器结构示意图,如图6所示,所述服务器包括:接收模块61、解析模块62、第二获取模块63、拆解模块64和处理模块65,其中:
接收模块61用于接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;解析模块62用于根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;第二获取模块63用于获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;拆解模块64用于根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;处理模块65用于根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
具体地,用户在客户端对节点树中的节点进行勾选或去勾选操作,确定需要处理的数据,例如,通过勾选确定需要查询的数据等。此时,客户端对用户操作进行记录。客户端主要记录的信息为操作序号(seq),实体类型(例如D),实体ID(例如d1),实体路径(fullPath),实体的勾选方式,实体勾选时的过滤字符串(searchName),实体过滤时过滤的实体类型(searchType)等。其中,实体路径指以全部实体(ALL)为起点、该实体节点为终点、以及其间经过的各实体ID共同组成的路径信息如ALL-a1-b2-c1-d1;勾选方式主要有两种:勾选(check),或者去勾选(uncheck),之后客户端对操作记录做去重合并处理得到最简操作列表,将最简操作列表发送至接收模块61,接收模块61接收最简操作列表。解析模块62解析最简操作列表,确定操作节点信息和操作节点勾选方式,按照勾选方式,将操作节点分为两组:勾选节点和去勾选节点,并分别对勾选节点、去勾选节点排序,按照下层节点在前的原则,根据节点的实体路径信息,得到已排序的勾选列表和去勾选列表。第二获取模块63根据最简操作列表中的操作节点信息中的实体路径信息,确定最简操作列表对应的节点树,获取数据库中存储的该节点树的各层级节点信息,拆解模块64根据勾选列表中的节点的实体路径和去勾选列表中的节点的实体路径,以及实体路径中对应的各层级节点信息,确定拆解链列表。处理模块65根据拆解链列表对勾选列表进行处理,得到节点树的各层级完全勾选的实体列表,然后将该实体列表存储在数据库的缓存表中。本发明实施例提供的服务器,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
本发明实施例提供的服务器,通过接收客户端发送的最简操作列表,确定拆解链列表,根据拆解链列表确定节点树的各层级完全勾选的实体列表,适用于各种复杂场景,减少了客户端与服务器之间的传输数据,提高了传输效率。
图7为本发明实施例提供的节点树勾选记录的解析系统的结构示意图,如图7所示,所述解析系统包括:解析装置71和服务器72,所述解析系统中的解析装置71,其功能具体参照上述解析装置实施例,所述解析系统中的服务器72,其功能具体参照上述服务器实施例,此处不再赘述。
图8为本发明实施例提供的电子设备的结构示意图,如图8所示,所述设备包括:处理器(processor)801、存储器(memory)802和总线803;
其中,处理器801和存储器802通过所述总线803完成相互间的通信;
处理器801用于调用存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式;根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的实施例各实施例技术方案的范围。
Claims (8)
1.一种节点树勾选记录的解析方法,其特征在于,包括:
接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式,所述最简操作列表通过对操作记录进行去重得到;所述操作记录至少包括操作节点信息和操作节点勾选方式;
根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;
获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;
根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;
根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表,包括:
匹配所述勾选列表和所述去勾选列表,生成匹配映射表;
确定所述匹配映射表途经的节点列表;
根据所述节点列表确定各层级的拆解实体和去除实体;
根据所述拆解实体和所述去除实体确定拆解链列表。
3.根据权利要求1所述的方法,其特征在于,所述根据所述各层级拆解链列表确定所述节点树的各层级完全勾选的实体列表,包括:
根据所述拆解链列表确定拆解数据;
向所述勾选列表中插入所述拆解数据,确定各层级完全勾选的实体列表。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
解析所述最简操作列表,确定操作数据;
根据所述操作数据确定勾选展示数据;
向所述客户端发送所述操作数据和所述勾选展示数据,以供所述客户端展示所述最简操作列表对应的操作记录和已勾选记录。
5.一种服务器,其特征在于,包括:
接收模块,用于接收客户端发送的最简操作列表,所述最简操作列表至少携带操作节点信息和操作节点勾选方式,所述最简操作列表通过对操作记录进行去重得到;所述操作记录至少包括操作节点信息和操作节点勾选方式;
解析模块,用于根据所述操作节点信息和所述操作节点勾选方式,确定勾选列表和去勾选列表;
第二获取模块,用于获取数据库中存储的所述最简操作列表对应的节点树的各层级节点信息;
拆解模块,用于根据所述各层级节点信息、所述勾选列表和所述去勾选列表,确定拆解链列表;
处理模块,用于根据所述拆解链列表确定所述节点树的各层级完全勾选的实体列表。
6.一种节点树勾选记录的解析系统,其特征在于,包括解析装置和如权利要求5所述的服务器;
所述解析装置包括:
第一获取模块,用于获取节点树的操作记录,所述操作记录至少包括操作节点信息和操作节点勾选方式;
简化模块,用于根据所述操作节点信息和操作节点勾选方式,确定最简操作列表;
发送模块,用于将所述最简操作列表发送至服务器,以供所述服务器根据所述最简操作列表,确定所述节点树的各层级完全勾选的实体列表。
7.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710897684.3A CN107783850B (zh) | 2017-09-28 | 2017-09-28 | 一种节点树勾选记录的解析方法、装置、服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710897684.3A CN107783850B (zh) | 2017-09-28 | 2017-09-28 | 一种节点树勾选记录的解析方法、装置、服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107783850A CN107783850A (zh) | 2018-03-09 |
CN107783850B true CN107783850B (zh) | 2020-10-16 |
Family
ID=61433954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710897684.3A Active CN107783850B (zh) | 2017-09-28 | 2017-09-28 | 一种节点树勾选记录的解析方法、装置、服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107783850B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134663B (zh) * | 2019-04-02 | 2020-04-28 | 北京三快在线科技有限公司 | 组织结构数据处理方法、装置、电子设备 |
CN110690997A (zh) * | 2019-10-10 | 2020-01-14 | 深圳前海微众银行股份有限公司 | 节点格式化方法、装置、设备及可读存储介质 |
CN112416213B (zh) * | 2020-12-02 | 2022-05-17 | 浙江诺诺网络科技有限公司 | 列表勾选方法、列表勾选装置、列表勾选设备及存储介质 |
CN113032401B (zh) * | 2021-03-31 | 2023-09-08 | 合安科技技术有限公司 | 基于异形结构树的大数据处理方法、装置及相关设备 |
CN115328366B (zh) * | 2022-08-11 | 2023-09-19 | 北京智慧星光信息技术有限公司 | 基于全路径计算的千万级树形节点搜索展示方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919606A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种基于树结构实现sql查询条件的方法和系统 |
CN107092656A (zh) * | 2017-03-23 | 2017-08-25 | 中国科学院计算技术研究所 | 一种树状结构数据处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140098606A (ko) * | 2013-01-31 | 2014-08-08 | 한국전자통신연구원 | 발행-구독형 통신 미들웨어를 이용한 노드 탐색 시스템 및 노드 탐색 방법 |
-
2017
- 2017-09-28 CN CN201710897684.3A patent/CN107783850B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919606A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种基于树结构实现sql查询条件的方法和系统 |
CN107092656A (zh) * | 2017-03-23 | 2017-08-25 | 中国科学院计算技术研究所 | 一种树状结构数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107783850A (zh) | 2018-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107783850B (zh) | 一种节点树勾选记录的解析方法、装置、服务器及系统 | |
CN104391725B (zh) | 页面展示方法和页面展示装置 | |
US10089595B2 (en) | Systems and methods for supply chain event visualization | |
CA2952938A1 (en) | Indirect filtering in blended data operations | |
US9251212B2 (en) | Profiling in a massive parallel processing environment | |
CN102314460A (zh) | 数据分析方法、系统及服务器 | |
CN104199881A (zh) | 数据库集群、数据查询方法、数据同步方法和装置 | |
CN109740129B (zh) | 基于区块链的报表生成方法、装置、设备及可读存储介质 | |
US20140019454A1 (en) | Systems and Methods for Caching Data Object Identifiers | |
CN107015987A (zh) | 一种更新和搜索数据库的方法及设备 | |
US9697272B2 (en) | Data reference assistant apparatus, and data reference assistant method | |
CN114328981B (zh) | 基于模式映射的知识图谱建立和数据获取方法、装置 | |
CN102521713B (zh) | 数据处理装置和数据处理方法 | |
US20190005073A1 (en) | Automatic drift detection and handling | |
CN116680354A (zh) | 锂电池生产制造业元数据管理方法及系统 | |
US9390131B1 (en) | Executing queries subject to different consistency requirements | |
US10185757B2 (en) | Non-uniform multi-row text file loading | |
US8577814B1 (en) | System and method for genetic creation of a rule set for duplicate detection | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN116823464B (zh) | 数据资产管理平台、电子设备及计算机可读存储介质 | |
CN104750834A (zh) | 一种规则的存储方法、匹配方法及装置 | |
CN112905627B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US20170277738A1 (en) | Temporal representation of structured information in an object model | |
CN113407678B (zh) | 知识图谱构建方法、装置和设备 | |
CN112861060A (zh) | 页面创建方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |