CN110442584B - 一种基于异步加载的树形结构资源检索的方法 - Google Patents
一种基于异步加载的树形结构资源检索的方法 Download PDFInfo
- Publication number
- CN110442584B CN110442584B CN201910764028.5A CN201910764028A CN110442584B CN 110442584 B CN110442584 B CN 110442584B CN 201910764028 A CN201910764028 A CN 201910764028A CN 110442584 B CN110442584 B CN 110442584B
- Authority
- CN
- China
- Prior art keywords
- node
- resource
- search
- resources
- tree
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于异步加载的树形结构资源检索的方法,属于软件应用技术领域,本发明以用户的输入的检索关键字为依据,模糊匹配到所有符合检索条件的资源,并将该检索结果返回至用户界面,在树形结构上依次展示检索结果。该方法为层级多、资源多的树形结构提供了一种便利的、快捷的检索方法,既能快速地定位到所要查找的资源,又不会破坏原有树形结构异步加载的特性。
Description
技术领域
本发明涉及软件应用技术,尤其涉及一种基于异步加载的树形结构资源检索的方法。
背景技术
在传统软件产品中树形结构是必不可少的部分,作为展示层级结构的主要展现方式,它被应用到软件的各个场景。但是随着业务的增加,数据的累积,树形结构层级会不断增多,每个层级下的数据资源也会逐渐增加,当数据资源达到一定程度时,对于数据的检索就成为了必不可少的一部分。
在一般的检索方式中,是通过用户输入的关键字,到数据库查找到相应的数据,并通过分页或组合直接显示到用户界面上。显然这种传统的检索方式并不适合当前这个树形结构的检索,一方面用户需要在树形结构上直接定位到所需要的资源,而非单独的一个功能查找数据;另一方面树形结构的数据为异步加载的,因此需要做到最小的资源开销,以达到用户最大的便利。
发明内容
为了解决以上技术问题,本发明提出了一种基于异步加载的树形结构资源检索的方法,增加了树形资源查找的便利性,提升用户体验。
本发明的技术方案是:
一种基于异步加载的树形结构资源检索的方法,
主要通过以下步骤完成:
1、后台定义返回树形资源节点接口,该接口接受传入一个节点ID参数,接口返回该节点的直接下级的所有节点资源;
2、后台定义返回所有符合检索条件的资源节点ID接口,该接口接受一个字符串参数,该参数即为检索关键字,该接口返回一个字符串数组集合,数组集合中的每个元素为资源ID;
3、客户端接收后台返回的资源节点ID的数组集合,并将该数组集合及相关的参数初始化为一个检索环境,该环境除了记录了所有符合检索条件的资源ID集合,还记录了用户当前定位的资源节点在集合中的位置、某一节点在树上的路径,即该节点所有父级ID的集合、路径节点所处位置、用户上次搜索(存在匹配项)的文本等关键信息;
4、后台定义返回某个节点所有父级节点ID集合,该接口用于在节点未在树形结构加载时,作为递归获取子级节点的依据;
5、当用户进行检索资源时,首先会调用步骤2的接口返回数据到台前,通过步骤3的逻辑处理形成检索环境,并依据检索环境中的配置信息依次定位到用户所要检索的资源。如果需要的检查资源在当前状态下还没有在树形结构上加载,则通过步骤4,获取到该资源在树形结构上的一个路径,然后依据该路径,依次展开资源节点,直到指定位置。
本发明的有益效果是
可以满足背景技术中提到的两点要求,检索到的数据资源直接定位到树形上的节点,需要单独界面展示;树形结构上的资源依然保持按需加载的特性,无额外开销,给用户带来极大的便利。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种基于异步加载的树形结构资源检索的方法包括以下内容和步骤:
A、系统的整体架构,如附图1所示。
B、定义树形结构的数据结构如下:
在该结构中树形的层级结构主要是依据uniqueId与PID进行关联,而用户进行资源的检查主要是针对caption与code字段进行搜索,检索结果的排序是依据orderId字段进行排序。
C、当用户开始搜索时,会初始化检索环境,该环境为整个资源检索方法的核心,该环境包含了以下内容:
var allSearchNodeIDs=[];//所有与搜索内容相匹配的节点集合
var currSearchIndex=0;//当前节点在集合中的位置
var nodePath=[];//某个节点在树上的路径,即该节点所有父id的集合
var pathIndex=0;//路径节点所处位置
var lastSearchText=undefined;//上次搜索(存在匹配项)的文本,如果不存在匹配项则此变量不会改变
检索环境初始化方法的具体实现如下:
D、初始化环境完成以后,即可开始对环境中的配置进行结果的展示,具体的算法过程如下:
该方法中对结果资源集合中的每个元素进行依次遍历,展示结果。在方法最后,如果要定位的节点在当前的树形结构还没有加载,则需要请求该节点的所有父级ID,依据该ID集合,对节点依次展开,具体方法见步骤E。
E、方法E:
在该方法中如果到达了搜索目标则直接返回,如果没有到达,则依据节点的父级节点ID的集合,依次展开节点,直到到达目标节点。这个用到了easyui-tree的几个特性:
如果节点的状态为closed说明其子节点未展开,调用expand方法时会再次到后台请台其子节点的数据,这里就形成了一个递归的调用,直到树形节点展开到最终的结果。
检索行为的触发既可以通过点击搜索按钮进行,也可以通过按键盘Enter键进行;
(1)用户通过点击搜索按钮开始搜索或定位已检索内容的下一个目标;
(2)用户通过按键盘Enter键,即监听Enter键的keydown事件处理开始搜索或定位已检索内容的下一个目标。
检索的结果应模糊匹配到用户输入的关键字;
所有包含用户输入的关键字的资源都应该被返回。
检索结果的展示会依据检索内容的先后顺序依次定位到指定资源。
(1)所有符合检索的结果不会一次性展示在树形结构上,当用户第一次触发了检索的事件后,仅会定位到第一个符合条件的资源上;
(2)当用户在步骤(1)的基础上再次触发检索事件程序将结果定准到第二个符合同一条件的结果资源上,直至用户找到目标资源或所有符合条件的资源被依次定位到,则该次的检索流程结束;
(3)由于树形结构上资源是异步加载的,因此在步骤(1)或步骤(2)的检索过程中,被检索到的资源不一定已经加载到了当前树形结构上。如果某个被定位的资源在当前状态下没有被加载,则需要到后台请求数据首先将将该资源加载到树形结构上,然后再定位到该资源节点。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (3)
1.一种基于异步加载的树形结构资源检索的方法,其特征在于,
以用户的输入的检索关键字为依据,模糊匹配到所有符合检索条件的资源,并将该资源返回至用户界面,在树形结构上依次展示检索结果;
后台定义返回树形资源节点接口,该接口接受传入一个节点ID参数,接口返回该节点的直接下级的所有节点资源;
后台定义返回所有符合检索条件的资源节点ID接口,该接口接受一个字符串参数,该参数即为检索关键字,该接口返回一个字符串数组集合,数组集合中的每个元素为资源ID;
客户端接收后台返回的资源节点ID的数组集合,并将该数组集合及相关的参数初始化为一个检索环境,该环境除了记录了所有符合检索条件的资源ID集合,还记录了用户当前定位的资源节点在集合中的位置、某一节点在树上的路径,即该节点所有父级ID的集合、路径节点所处位置、用户上次搜索的文本信息;
后台定义返回一个节点所有父级节点ID集合接口,该接口用于在节点未在树形结构加载时,作为递归获取子级节点的依据;
当用户进行检索资源时,首先会调用后台定义返回所有符合检索条件的资源节点ID接口返回数据到台前,形成检索环境,并依据检索环境中的配置信息依次定位到用户所要检索的资源。
2.根据权利要求1所述的方法,其特征在于,
如果需要的检查资源在当前状态下还没有在树形结构上加载,则通过后台定义返回一个节点所有父级节点ID集合接口,获取到该资源在树形结构上的一个路径,然后依据该路径,依次展开资源节点,直到指定位置。
3.根据权利要求2所述的方法,其特征在于,
如果到达了搜索目标则直接返回,如果没有到达,则依据节点的父级节点ID的集合,依次展开节点,直到到达目标节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764028.5A CN110442584B (zh) | 2019-08-19 | 2019-08-19 | 一种基于异步加载的树形结构资源检索的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910764028.5A CN110442584B (zh) | 2019-08-19 | 2019-08-19 | 一种基于异步加载的树形结构资源检索的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442584A CN110442584A (zh) | 2019-11-12 |
CN110442584B true CN110442584B (zh) | 2023-07-18 |
Family
ID=68436365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910764028.5A Active CN110442584B (zh) | 2019-08-19 | 2019-08-19 | 一种基于异步加载的树形结构资源检索的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442584B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625570B (zh) * | 2020-05-25 | 2024-04-02 | 浪潮通用软件有限公司 | 列表数据资源检索方法及装置 |
CN112000381B (zh) * | 2020-08-20 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种资源加载方法、装置、电子设备和介质 |
CN112182310B (zh) * | 2020-11-04 | 2023-11-17 | 上海德拓信息技术股份有限公司 | 一种内置实时搜索的通用树形组件实现方法 |
CN113032646B (zh) * | 2021-03-30 | 2022-08-09 | 同济大学 | 基于多粒度资源统一模型的资源分类搜索方法 |
CN113822710A (zh) * | 2021-09-15 | 2021-12-21 | 欧冶云商股份有限公司 | 一种引导式资源推荐及用户诉求记录方法、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699648A (zh) * | 2013-12-26 | 2014-04-02 | 成都市卓睿科技有限公司 | 用于快速检索的树形数据结构及其实现方法 |
CN104346350A (zh) * | 2013-07-26 | 2015-02-11 | 南京中兴力维软件有限公司 | 异步树的树节点查询方法及系统 |
CN109408699A (zh) * | 2018-09-14 | 2019-03-01 | 厦门天锐科技股份有限公司 | 一种同步缓存zTree树实现树节点快速检索的方法 |
-
2019
- 2019-08-19 CN CN201910764028.5A patent/CN110442584B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346350A (zh) * | 2013-07-26 | 2015-02-11 | 南京中兴力维软件有限公司 | 异步树的树节点查询方法及系统 |
CN103699648A (zh) * | 2013-12-26 | 2014-04-02 | 成都市卓睿科技有限公司 | 用于快速检索的树形数据结构及其实现方法 |
CN109408699A (zh) * | 2018-09-14 | 2019-03-01 | 厦门天锐科技股份有限公司 | 一种同步缓存zTree树实现树节点快速检索的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110442584A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442584B (zh) | 一种基于异步加载的树形结构资源检索的方法 | |
US11972203B1 (en) | Using anchors to generate extraction rules | |
US10394946B2 (en) | Refining extraction rules based on selected text within events | |
US9594814B2 (en) | Advanced field extractor with modification of an extracted field | |
US6185550B1 (en) | Method and apparatus for classifying documents within a class hierarchy creating term vector, term file and relevance ranking | |
US20180101621A1 (en) | Identifier vocabulary data access method and system | |
US8516357B1 (en) | Link based clustering of hyperlinked documents | |
US6738678B1 (en) | Method for ranking hyperlinked pages using content and connectivity analysis | |
US7865495B1 (en) | Word deletion for searches | |
US6035303A (en) | Object management system for digital libraries | |
US7269593B2 (en) | Data processing apparatus and method | |
US20060167851A1 (en) | Systems and methods for providing a user interface with an automatic search menu | |
US20090106286A1 (en) | Method of Hybrid Searching for Extensible Markup Language (XML) Documents | |
US11609942B2 (en) | Expanding search engine capabilities using AI model recommendations | |
US20040015485A1 (en) | Method and apparatus for improved internet searching | |
WO2012088706A1 (zh) | 一种检索的方法和系统 | |
CN112269816B (zh) | 一种政务预约事项相关性检索方法 | |
US20120022855A1 (en) | Searching and Browsing of Contextual Information | |
WO2005008534A2 (en) | System and method for generating sql using templates | |
CN114547253A (zh) | 一种基于知识库应用的语义搜索方法 | |
US6938050B2 (en) | Content management system and methodology employing a tree-based table hierarchy which accomodates opening a dynamically variable number of cursors therefor | |
JP2002007461A (ja) | 個人向け情報収集サーバ、個人向け情報収集方法および記録媒体 | |
CN109408713B (zh) | 一种基于用户反馈信息的软件需求检索系统 | |
CN109614467B (zh) | 一种基于片段相似度的知识关联与动态组织方法和系统 | |
CN113268683A (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 |