一种基于缓冲队列的页面树形数据获取装置及方法

文档序号:6546401阅读:163来源:国知局
一种基于缓冲队列的页面树形数据获取装置及方法
【专利摘要】本发明提供了一种基于缓冲队列的页面树形数据获取装置及方法,包括:数据存储单元存储树形数据的所有节点信息;客户端数据缓存单元存储客户端展示单元展示的相关联的导航节点信息、缓存过滤器子节点信息和结果集叶子节点信息;第一数据查询单元根据第一查询请求查询数据存储单元,获得导航节点信息中目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,将过滤器子节点信息和结果集叶子节点信息传输至客户端数据缓存单元;第二数据查询单元根据第二查询请求查询客户端数据缓存单元中缓存的结果集叶子节点信息,获取相应的结果集信息;客户端展示单元产生第一查询请求和第二查询请求;并展示导航节点信息、过滤器子节点信息以及结果集信息。
【专利说明】一种基于缓冲队列的页面树形数据获取装置及方法
【技术领域】
[0001]本发明涉及数据处理领域,特别涉及一种基于缓冲队列的页面树形数据获取装置及方法。
【背景技术】
[0002]在软件系统的研发过程中,基于Web的信息查询服务越来越多,而这些信息中大量存在组织结构上的树形关系。在信息爆炸的年代,随着信息量的爆炸式增长,信息的快速定位及展现效率已成为影响用户体验的重要指标,同时也对服务器的响应速度、客户端浏览器的展现速度和展现方式提出了更高的挑战。
[0003]这些大量存在的组织结构上存在树形关系的数据,往往以某一类对象为基准,可以严格地表述为一种树形结构,该基准为该树形结构的叶子节点。例如:查询一个具体的地理位置,一般情况下可以有类似“中国-浙江省-杭州市-西湖区-文一西路-70号”的表述形式,该地理位置可以对其严格分层并表述为树形数据。
[0004]目前,页面树形数据的获取主要有同步树和异步树两种方式。
[0005]同步树查询及展示方式:系统一次将整棵树的所有节点信息返回至客户端端。客户端根据节点之间的父子节点关系逐层展示每一层次的节点信息。用户在展开的所有节点中查找目标节点。
[0006]异步树查询及展示方式:系统初始仅为用户展示少量的上层节点信息。用户按照节点直接的父子节点关系,逐层展开节点,系统根据用户所展开的节点信息异步获取其子节点信息,并显示其子节点,直至叶子节点。用户如在叶子节点中为发现目标节点,则根据用户经验判断按照优先级逐个展开其他未被展开的节点至子节点,直到找到目标节点为止。
[0007]经过对以上两种主要的树形数据查询及展示方式的处理场景分析,可以发现:
[0008]同步树查询及展示方式,服务器一次将全量节点信息全部返回客户端。服务器端需耗费大量资源用于查询和组织全量节点信息;大量信息在客户端和浏览器之间传输将耗费较多带宽;客户端将消耗大量资源用于全量节点信息的展示。所以,该种方式暂用了过多的服务器和客户端资源,效率低下,查询耗时较长;当树形数据层次过多、节点数量过大时,页面展现难以控制,用户友好性较差。
[0009]异步树查询及展示方式,初始状态用户无法看到当前树形数据的叶子节点信息,必须凭经验要层层展开直至子节点,然后,在子节点中逐个查找目标节点;若未找到,还需再凭经验选定为展开的节点,直至子节点,子节点中查找目标节点,重复上述过程直至找到目标节点。所以,当查询到某一节点时,用户无法预知该节点对应的叶子节点信息,信息无法及时反馈;服务器与客户端交互次数过多;当树形数据层次过多、节点数量过大时,页面展现难以控制,用户友好性较差。

【发明内容】
[0010]为了解决现有技术在树形数据获取过程中,查询耗时长、信息响应不及时、交互次数多、界面展现难控制等问题,本发明提出一种基于缓冲队列的页面树形数据获取装置及方法。
[0011]为实现上述目的,本发明提供了一种基于缓冲队列的页面树形数据获取装置,包括:
[0012]客户端数据缓存单元、客户端展示单元、第一数据查询单元、第二数据查询单元和数据存储单元;
[0013]所述数据存储单元,用于存储树形数据的所有节点信息;
[0014]所述客户端数据缓存单元,用于存储所述客户端展示单元展示的相关联的导航节点信息,以及缓存过滤器子节点信息和结果集叶子节点信息;
[0015]所述第一数据查询单元,用于根据第一查询请求来查询所述数据存储单元,获得所述导航节点信息中目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,并将所述过滤器子节点信息和结果集叶子节点信息传输至所述客户端数据缓存单元;
[0016]所述第二数据查询单元,用于根据第二查询请求来查询所述客户端数据缓存单元中缓存的结果集叶子节点信息,获取符合第二查询请求的结果集信息;
[0017]所述客户端展示单元,用于产生第一查询请求和第二查询请求;并展示所述导航节点信息、过滤器子节点信息以及结果集信息。
[0018]可选的,在本发明一实施例中,所述客户端展示单元包括导航展示模块、过滤器展示模块、快速查询框展示模块和结果展示模块;其中,
[0019]所述导航展示模块,用于顺序展示相关联的所有导航节点信息,所述导航节点信息供用户点击操作;
[0020]所述过滤器展示模块,用于展示当前点击操作的导航节点下对应的所有子节点信息,过滤器中的子节点信息供用户点击操作;
[0021]所述快速查询框展示模块,用于展示查询框,所述查询框接受用户输入查询条件过滤所述客户端数据缓存单元中缓存的结果集叶子节点信息,获得结果集信息;
[0022]所述结果展示模块,用于展示所述结果集信息。
[0023]可选的,在本发明一实施例中,所述客户端数据缓存单元包括:导航数据缓存模块、过滤器数据缓存模块和结果集数据缓存模块;其中,
[0024]所述导航数据缓存模块,用于缓存导航展示单元关联的有序的导航节点信息;
[0025]所述过滤器数据缓存模块,用于缓存目标导航节点所对应地所有子节点的信息;
[0026]所述结果集数据缓存模块,用于缓存符合第一查询请求的过滤器子节点信息下所有的结果集叶子节点信息;
[0027]可选的,在本发明一实施例中,所述第一数据查询单元包括:过滤器信息查询模块和结果集信息查询模块;其中,
[0028]所述过滤器信息查询模块,用于根据所述第一查询请求,从所述数据存储单元中检索出目标导航节点所对应地子节点信息,按照检索到的子节点信息生成过滤器子节点信息,并将所述过滤器子节点信息传输至所述客户端数据缓存单元;
[0029]所述结果集信息查询模块,用于根据所述第一查询请求,从所述数据存储单元中检索出所述过滤器子节点信息对应结果集叶子结点信息;按照检索到的所述叶子节点信息生成结果集叶子节点信息,并将所述结果集叶子节点信息传输至所述客户端数据缓存单
J Li ο
[0030]可选的,在本发明一实施例中,所述结果展示模块通过翻页方式异步展示。
[0031]可选的,在本发明一实施例中,所述第二查询请求输入至所述客户端展示单元展示的查询框。
[0032]为实现上述目的,本发明还提供了一种基于缓冲队列的页面树形数据获取方法,包括:
[0033]数据存储单元存储树形数据的所有节点信息;
[0034]根据第一查询请求来查询所述数据存储单元,获得所述导航节点信息中目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,并将所述过滤器子节点信息和结果集叶子节点信息进行缓存;
[0035]存储展示的相关联的导航节点信息,缓存过滤器子节点信息和结果集叶子节点信息;
[0036]根据第二查询请求来查询缓存的结果集叶子节点信息,获取符合第二查询请求的结果集信息;
[0037]产生第一查询请求和第二查询请求;并展示所述导航节点信息、过滤器子节点信息以及结果集信息。
[0038]上述技术方案具有如下有益效果:本发明克服现有技术在页面树形数据获取过程中资源消耗高、响应不及时、展示不可控等缺点。
[0039]结果展示区异步展示当前节点下的部分叶子节点信息,用户不必依次展开各个层次的子节点即可查询到部分叶子节点信息,提高了资源的命中概率;异步翻页展示减少了系统开销,且使展示更加可控。
[0040]导航栏记录了从根节点至当前节点的整条节点路径,用户可通过点击节点快速实现切换,减少了操作次数和系统交互次数。
[0041]过滤器展示当前节点下的子节点,以供用户快速细化定位,操作过程中用户鼠标基本不用离开该区域,提高了用户友好性。
[0042]快速查询框基于当前节点叶子节点的快速过滤可以更加精准地定位信息,减少了系统开销。
【专利附图】

【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本发明提出的一种基于缓冲队列的页面树形数据获取装置框图;
[0045]图2为本发明提出的一种基于缓冲队列的页面树形数据获取方法流程图;
[0046]图3为本实施例提供的一种基于缓冲队列的页面树形数据获取装置结构图;
[0047]图4为本实施例的客户端数据缓存单元I的内部结构图;
[0048]图5为本实施例的客户展示单元2的内部结构图;[0049]图6为本实施例的客户端控制单元3的内部结构图;
[0050]图7为本实施例的服务器端数据查询单元4的内部结构图;
[0051]图8为本实施例的数据存储单元5的内部结构图;
[0052]图9为本实施例的使用导航栏快速检索结果集的流程图;
[0053]图10为本实施例的使用过滤器快速检索结果集的流程图;
[0054]图11为本实施例的使用快速查询框检索结果集的流程图;
[0055]图12为本实施例的过滤器信息检索的流程图;
[0056]图13为本实施例的结果集信息检索的流程图;
[0057]图14为本实施例的客户端界面展示的示意图。
【具体实施方式】
[0058]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059]如图1所示,为本发明提出的一种基于缓冲队列的页面树形数据获取装置框图。该装置包括:
[0060]本发明提供了一种基于缓冲队列的页面树形数据获取装置,包括:
[0061]客户端数据缓存单元、客户端展示单元、第一数据查询单元、第二数据查询单元和数据存储单元;
[0062]所述数据存储单元,用于存储树形数据的所有节点信息;
[0063]所述客户端数据缓存单元,用于存储所述客户端展示单元展示的相关联的导航节点信息,以及缓存过滤器子节点信息和结果集叶子节点信息;
[0064]所述第一数据查询单元,用于根据第一查询请求来查询所述数据存储单元,获得所述导航节点信息中目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,并将所述过滤器子节点信息和结果集叶子节点信息传输至所述客户端数据缓存单元;
[0065]所述第二数据查询单元,用于根据第二查询请求来查询所述客户端数据缓存单元中缓存的结果集叶子节点信息,获取符合第二查询请求的结果集信息;
[0066]所述客户端展示单元,用于产生第一查询请求和第二查询请求;并展示所述导航节点信息、过滤器子节点信息以及结果集信息。
[0067]可选的,在本发明一实施例中,所述客户端展示单元包括导航展示模块、过滤器展示模块、快速查询框展示模块和结果展示模块;其中,
[0068]所述导航展示模块,用于顺序展示相关联的所有导航节点信息,所述导航节点信息供用户点击操作;
[0069]所述过滤器展示模块,用于展示当前点击操作的导航节点下对应的所有子节点信息,过滤器中的子节点信息供用户点击操作;
[0070]所述快速查询框展示模块,用于展示查询框,所述查询框接受用户输入查询条件过滤所述客户端数据缓存单元中缓存的结果集叶子节点信息,获得结果集信息;
[0071]所述结果展示模块,用于展示所述结果集信息。[0072]可选的,在本发明一实施例中,所述客户端数据缓存单元包括:导航数据缓存模块、过滤器数据缓存模块和结果集数据缓存模块;其中,
[0073]所述导航数据缓存模块,用于缓存导航展示单元关联的有序的导航节点信息;
[0074]所述过滤器数据缓存模块,用于缓存目标导航节点所对应地所有子节点的信息;
[0075]所述结果集数据缓存模块,用于缓存符合第一查询请求的过滤器子节点信息下所有的结果集叶子节点信息;
[0076]可选的,在本发明一实施例中,所述第一数据查询单元包括:过滤器信息查询模块和结果集信息查询模块;其中,
[0077]所述过滤器信息查询模块,用于根据所述第一查询请求,从所述数据存储单元中检索出目标导航节点所对应地子节点信息,按照检索到的子节点信息生成过滤器子节点信息,并将所述过滤器子节点信息传输至所述客户端数据缓存单元;
[0078]所述结果集信息查询模块,用于根据所述第一查询请求,从所述数据存储单元中检索出所述过滤器子节点信息对应结果集叶子结点信息;按照检索到的所述叶子节点信息生成结果集叶子节点信息,并将所述结果集叶子节点信息传输至所述客户端数据缓存单
J Li ο
[0079]可选的,在本发明一实施例中,所述结果展示模块通过翻页方式异步展示。
[0080]可选的,在本发明一实施例中,所述第二查询请求输入至所述客户端展示单元展示的查询框。
[0081]如图2所示,为本发明提出的一种基于缓冲队列的页面树形数据获取方法流程图。包括:
[0082]步骤601):数据存储单元存储树形数据的所有节点信息;
[0083]步骤602):根据第一查询请求来查询所述数据存储单元,获得所述导航节点信息中目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,并将所述过滤器子节点信息和结果集叶子节点信息进行缓存;
[0084]步骤603):存储展示的相关联的导航节点信息,缓存过滤器子节点信息和结果集叶子节点信息;
[0085]步骤604):根据第二查询请求来查询缓存的结果集叶子节点信息,获取符合第二查询请求的结果集信息;
[0086]步骤605):产生第一查询请求和第二查询请求;并展示所述导航节点信息、过滤器子节点信息以及结果集信息。
[0087]实施例:
[0088]本实施例实时缓存并更新页面端的树形数据节点信息,并利用树形数据的树形层次关系,通过过滤器不断细化查询路径、导航快速切换查询路径,快速缩小叶子结点的查询范围,采用结果集提供实时结果预览,实现对页面树形数据的快速获取。
[0089]以下是本实施例中涉及的相关名词解释。
[0090]树形数据:能够按照某一维度明确分层,层次与层次的数据之间有明显的父子关系,可以从根开始严格展开为一棵树状结构。例如:地理位置“中国-浙江省-杭州市-西湖区-文一西路-70号”,从根(O层)开始,国家可视为I层,省级可视为2层,市可视为3层,区可视为4层,街道可视为5层,门牌号可视为末层。[0091]节点信息:树形数据中节点包含的信息,至少包括节点名、节点编号、节点深度、父节点编号等。节点编号全局唯一,根节点信息为约定的特殊值。例如,某树形数据的根节点可以表示为:节点名(root)、节点编号(root)、节点深度(O)、父节点编号(空)。
[0092]导航:用于展示从根节点至当前访问节点之间的所有节点信息,便于用户快速切换节点。
[0093]过滤器:用于展示导航中最后一个节点在树形数据中对应的子节点信息,便于用户快速缩小查询范围。
[0094]叶子结点:树形数据对应的末层节点信息。
[0095]结果集:对应树形数据的叶子结点,通过导航、过滤器快速变更结果范围,以供用户选择,结果集采用分页展示。
[0096]下面将对照附图,对本实施例的技术方案进行详细说明。
[0097]如图3所示,为本实施例提供的一种基于缓冲队列的页面树形数据获取装置结构图。至少包括:客户端数据缓存单元1、客户端展示单元2、客户端控制单元3、服务器端数据查询单元4及数据存储单元5。
[0098]客户端数据缓存单元1,用于缓存导航节点信息、过滤器节点信息和结果集节点信息以及查询请求数据等数据,为客户端控制单元3通过该单元提供的缓存数据访问服务器端数据查询单元4,接收到服务器端数据查询单元4的响应信息后再将数据缓存至该单元,并从该装置中获取缓存数据用于客户端展示单元2展示。客户端展示单元2接收一系列的用户事件,并传递给客户端控制单元3。客户端控制单元3捕获到用户事件,并从客户端数据缓存单元I中定位事件源对应的节点信息和与后台交互所需的其他信息,客户端控制单元3根据这些信息组织HTTP请求发送到服务器端数据查询单元4。服务器端数据查询单元4按照接收到的请求信息,按照数据存储单元5的存储结构,查询节点信息,并组织节点信息返回给客户端控制单元3。客户端控制单元3将节点信息刷新至客户端数据缓存单元I,并按照客户端数据缓存单元I中的节点信息刷新展示客户端展示单元2。
[0099]客户端展示单元2:负责展示导航、过滤器、快速查询框、结果等,并接受用户的点击、输入等操作。客户端控制单元3通过监听器监听到用户对该装置的操作后,将从客户端数据缓存单元I获取查询请求数据,访问服务器端数据查询单元4,在获取到响应信息后,更新客户端数据缓存单元1,并按照客户端数据缓存单元I中的数据信息刷新本装置所展示的信息。
[0100]客户端控制单元3:负责控制导航、过滤器、结果集的缓存数据、展示、数据查询等。在监听到用户操作后,该单元从客户端数据缓存单元I中获取查询请求信息,访问数据库端数据查询单元4,接收到响应信息后,更新客户端数据缓存单元I中缓存的数据,并在客户端展示单元2中刷新展示缓存数据。
[0101]服务器端数据查询单元4:负责提供过滤器信息和结果集信息的查询服务。在接收到客户端控制单元3的查询请求信息后,查询数据存储单元5获取信息,再将查询到的信息返回给客户端控制单元3。
[0102]数据存储单元5:负责存储树形信息,并按照查询规则(包含但不限于SQL)返回数据。在接收到服务器端数据查询单元4的查询规则后,按照查询规则查询存储于其中的树形信息,并将查询结果返回服务器端数据查询单元4。本单元至少提供查询某节点下的子节点和查询某节点下的叶子节点两种查询规则。
[0103]如图4所示,为本实施例的客户端数据缓存单元I的内部结构图。至少包括:导航数据缓存模块11、过滤器数据缓存模块12、结果集数据缓存模块13。
[0104]导航数据缓存模块11:用于缓存导航展示模块关联的有序的节点信息,该信息用于导航展示模块展示。所存储的节点包括根节点至当前访问节点和他们之间的所有节点,存储的节点之间按照节点的深度从低到高严格排序形成队列。这些节点存储的信息至少包括:节点名、节点编号、节点深度、父节点编号。
[0105]当用户点击导航中的某节点时,导航控制模块31将会截除导航数据缓存模块11中该节点之后的所有节点,并控制导航展示模块21刷新展示导航数据缓存模块11所缓存的数据,详细处理流程请参考图9。
[0106]当用户点击过滤器中的某节点,进一步缩小范围时,过滤器控制模块32调用导航控制模块31,导航控制模块31将被点击节点的信息添加至导航数据缓存模块11队尾,导航控制模块31控制导航展示模块21刷新展示导航数据缓存模块11缓存的数据,详细处理流程请参考图10。
[0107]过滤器数据缓存模块12:用于缓存导航数据缓存模块中最后一个节点所关联的子节点信息。这些子节点按照队列方式存储,子节点信息至少包括:节点名、节点编号、节点深度、父节点编号。
[0108]当用户点击导航中的某节点后,导航控制模块31先完成导航数据缓存模块11的更新及导航展示模块21的刷新,然后调用过滤器控制模块32完成过滤器数据缓存模块12的更新及展示,详细处理流程请参考图11。
[0109]当用户点击过滤器中某节点时,过滤器控制模块32调用导航控制模块31完成导航数据缓存模块11的更新和导航展示模块21的刷新,然后按照导航缓存模块11中最后一个节点信息,访问过滤信息查询模块41,获取数据后更新过滤器数据缓存模块12,并刷新展示过滤器展示模块22,详细处理流程请参考图12。
[0110]结果集数据缓存模块13:用于缓存当前查询条件下的部分叶子节点信息,这些叶子节点信息均与导航数据缓存模块11的末节点相关联。这些叶子节点信息至少包括:节点名、节点编号、节点深度、父节点编号。
[0111]当查询条件改变时,结果集控制模块33将按照导航缓存模块11中最后一个节点信息,访问结果集查询模块42,获取数据后更新结果集数据缓存模块13,并刷新展示结果集展示模块23。在相同查询条件下,可通过翻页方式异步获取和更新数据。
[0112]如图5所示,为本实施例的客户展示单元2的内部结构图。至少包括:导航展示模块21、过滤器展示模块22、快速查询框展示模块23、结果展示模块24。
[0113]导航展示模块21:用于顺序展示导航相关的节点信息,导航中的节点提供用户点击操作。其展示信息为导航数据缓存模块11,其展示行为由导航控制模块31控制。
[0114]过滤器展示模块22:用于展示导航最后一个节点下挂的所有子节点,过滤器中的节点提供用户点击操作。其展示信息为过滤器数据缓存模块12,其展示行为由过滤器控制模块32控制。
[0115]快速查询框展示模块23:用于展示查询框,该查询框接受用户输入,最终用于过滤结果集。结果集控制模块33在生成结果集查询请求时,将会过去查询框中用户的输入信息作为查询条件。
[0116]结果展示模块24:用于展示查询后的结果集信息。其展示信息为结果集数据缓存模块12,其展示行为由结果集控制模块32控制。其展示可通过翻页方式异步展示。
[0117]如图6所示,为本实施例的客户端控制单元3的内部结构图。至少包括:导航控制模块31、过滤器控制模块32、结果集控制模块33。
[0118]导航控制模块31:用于控制导航数据缓存模块11的变化和导航展示模块21的刷新展示。当导航中的节点或是过滤器中节点接收到用户点击后,将会触发导航控制模块31更新导航数据缓存模块11,并刷新展示导航展示模块21。
[0119]过滤器控制模块32:用于控制过滤器数据缓存模块12的变化和过滤器展示模块22的刷新展示。当导航中的节点或是过滤器中节点接收到用户点击后,将触发过滤器控制模块32访问过滤器信息查询模块41获取过滤器数据信息,并更新过滤器数据缓存模块12,刷新展示过滤器展示模块22。
[0120]结果集控制模块33:用于控制结果集缓存模块13的变化和结果集展示模块24的刷新展示。当导航中的节点接收到用户点击、过滤器中节点接收到用户点击或是快速查询框接收到用户输入后,将触发结果集控制模块33访问结果集信息查询模块42获取结果集数据信息,并更新结果集数据缓存模块13,刷新展示结果集展示模块24。
[0121]如图7所示,为本实施例的服务器端数据查询单元4的内部结构图。至少包括:过滤器信息查询模块41、结果集信息查询模块42。
[0122]过滤器信息查询模块41:用于接收过滤器控制模块32发起的过滤器信息查询请求,并将过滤器信息返回给过滤器控制模块32。其中,查询请求至少包括导航队尾节点的深度和编号。过滤器信息查询模块41从在树形信息存储模块51中检索导航队尾节点(通过深度和编号匹配)的所有节点,并按照检索到的节点生成过滤器信息返回给过滤器控制模块32。
[0123]结果集信息查询模块42:用于接收结果集控制模块33发起的结果集信息查询请求,并将结果集信息返回给结果集控制模块33。其中查询请求至少包括导航队尾节点的深度、编号和快速查询框的检索条件(记为检索关键字)。结果集信息查询模块42从树形信息存储模块51中检索导航队尾节点(通过深度和编号匹配)的叶子结点中名称包含检索关键字的所有节点,并按照检索到的节点生成结果集信息返回给结果集控制模块33。
[0124]如图8所示,为本明实施例的数据存储单元5的内部结构图。至少包括:树形信息存储模块51。
[0125]树形信息存储模块51:用于存储了树形数据的所有节点信息。其数据结构至少包括:节点编号、节点名称、节点层次、父节点编号。根节点为约定的特殊记录,例如:节点编号(root)、节点名称(root)、节点层次(O)、父节点编号(空)。叶子节点的节点层次为约定的特殊形式,例如:leef。
[0126]当过滤器信息查询模块41查询某节点的子节点信息时,按照该节点编号查询树形信息存储模块51中父节点编号与之匹配的子节点记录,并返回;当结果集信息查询模块42查询某节点的叶子节点时,按照该节点编号查询树形信息存储模块51中父节点编号与之匹配的子节点记录,再按照这些子节点记录进一步查询其对应的子节点记录,直到叶子节点,并按照翻页记录限制返回部分叶子节点信息(例如:返回记录为20条)。[0127]如图9所示,为本实施例的使用导航栏快速检索结果集的流程图。具体步骤如下:
[0128]步骤SlOl:导航展示模块11中展示的节点接收用户的点击,节点接收到用户点击后,执行步骤S102。
[0129]步骤S102:导航控制模块31获取用户点击的节点信息,执行步骤S103。
[0130]步骤S103:导航控制模块31修改导航数据缓存模块11,删除被点击节点之后的所有节点数据信息,执行步骤S104。
[0131]步骤S104:导航控制模块31使用导航数据缓存模块11中缓存的节点信息刷新导航展示模块21,执行步骤S105。
[0132]步骤S105:过滤器控制模块32获取导航数据缓存模块11的队尾节点信息,生成过滤器信息查询请求,访问过滤器信息查询模块41获取子节点作为过滤器信息,更新过滤器数据缓存模块12,并刷新过滤器展示模块22,详细流程请参考图12行步骤S106。
[0133]步骤S106:结果集控制模块33获取导航数据缓存模块11的队尾节点信息,获取快速查询框信息,生成结果集信息查询请求,访问结果集信息查询模块42获取队尾节点的所有子节点中名称包含快速查询框信息的所有节点信息作为结果集信息,更新结果集数据缓存模块13,并刷新结果集展示模块23,详细流程请参考图13行步骤S107。
[0134]步骤S107:处理结束,结束本流程。
[0135]如图11所示,为本实施例的使用快速查询框检索结果集的流程图。具体步骤如下:
[0136]步骤S301:快速查询框展示模块23接收用户的输入,当用户输入信息后,执行步骤 S302。
[0137]步骤S302:快速查询框展示模块23接收用户的确认,当用户确认后,执行步骤S303。
[0138]步骤S303:结果集控制模块33获取导航数据缓存模块11的队尾节点信息,获取快速查询框信息,生成结果集信息查询请求,访问结果集信息查询模块42获取队尾节点的所有子节点中名称包含快速查询框信息的所有节点信息作为结果集信息,更新结果集数据缓存模块13,并刷新结果集展示模块23,详细流程请参考图13行步骤S307。
[0139]步骤S307:处理结束,结束本流程。
[0140]如图12所示,为本实施例的过滤器信息检索的流程图。具体步骤如下:
[0141]步骤S401:过滤器控制模块32获取导航数据缓存模块11的最后一个节点的节点信息,执行步骤S402。
[0142]步骤S402:过滤器控制模块32按照获取的节点信息组装过滤器信息查询请求,执行步骤S403。
[0143]步骤S403:过滤器信息查询模块41接收查询请求,执行步骤S404。
[0144]步骤S404:过滤器信息查询模块41从树形信息存储模块51中查询匹配查询信息节点的所有子节点,并将获取到的所有子节点信息返回,执行步骤S405。
[0145]步骤S405:过滤器控制模块32获取过滤器信息查询模块41返回的过滤器信息,执行步骤S406。
[0146]步骤S406:过滤器控制模块32使用获取到的数据更新过滤器数据缓存模块12,执行步骤S406。[0147]步骤S407:过滤器控制模块32使用过滤器数据缓存模块12的数据刷新过滤器展示模块22,执行步骤S408。
[0148]步骤S408:处理结束,结束本流程。
[0149]如图13所示,为本实施例的结果集信息检索的流程图。具体步骤如下:
[0150]步骤S501:结果集控制模块33获取导航数据缓存模块11种最后一个节点的节点信息,执行步骤S502。
[0151]步骤S502:结果集控制模块33获取结果展示模块24中用户输入的查询信息(记为:查询关键字),执行步骤S503。
[0152]步骤S503:结果集控制模块33通过导航最后一个节点信息和用户输入的查询信息组装结果集信息查询请求,访问结果集信息查询模块42,执行步骤S504。
[0153]步骤S504:结果集信息查询模块42接受查询请求,执行步骤S505。
[0154]步骤S505:结果集信息查询模块42从树形信息存储模块51中查询匹配查询信息节点的所有叶子结点中名字包含查询关键字的所有节点,并将获取到的所有子节点信息返回,执行步骤S506。
[0155]步骤S506:结果集控制模块33获取结果集信息查询模块42返回的结果集信息,执行步骤S507。
[0156]步骤S507:结果集控制模块33使用获取到的数据更新结果集数据缓存模块13,执行步骤S508。
[0157]步骤S508:结果集控制模块33使用结果集数据缓存模块13的数据刷新结果集展示模块24,执行步骤S509。
[0158]步骤S509:处理结束,结束本流程。
[0159]如图14所示,为本实施例的客户端界面展示的示意图。在典型实现中,导航栏中展示从根节点至当前节点的节点信息,用户可直接点击导航栏中的节点,快速切换;过滤器中展示当前节点的子节点信息,用户可选择某节点信息,进一步细化结果;结果展示区域展示当前节点对应的叶子结点信息,通过翻页异步查询展示;快速输入框可通过关键字匹配进一步缩小范围。
[0160]最后需要说明的是:上述仅用以说明本发明而并非限制本发明所描述的技术方案;尽管本说明书对本发明已进行了详细的说明,但是,本领域的技术人员仍然可以对本发明进行修改或等同替换,一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围中。
【权利要求】
1.一种基于缓冲队列的页面树形数据获取装置,其特征在于,包括: 客户端数据缓存单元、客户端展示单元、第一数据查询单元、第二数据查询单元和数据存储单兀; 所述数据存储单元,用于存储树形数据的所有节点信息; 所述客户端数据缓存单元,用于存储所述客户端展示单元展示的相关联的导航节点信息,以及缓存过滤器子节点信息和结果集叶子节点信息; 所述第一数据查询单元,用于根据第一查询请求来查询所述数据存储单元,获得所述导航节点信息中 目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,并将所述过滤器子节点信息和结果集叶子节点信息传输至所述客户端数据缓存单元; 所述第二数据查询单元,用于根据第二查询请求来查询所述客户端数据缓存单元中缓存的结果集叶子节点信息,获取符合第二查询请求的结果集信息; 所述客户端展示单元,用于产生第一查询请求和第二查询请求;并展示所述导航节点信息、过滤器子节点信息以及结果集信息。
2.如权利要求1所述的装置,其特征在于,所述客户端展示单元包括导航展示模块、过滤器展示模块、快速查询框展示模块和结果展示模块;其中, 所述导航展示模块,用于顺序展示相关联的所有导航节点信息,所述导航节点信息供用户点击操作; 所述过滤器展示模块,用于展示当前点击操作的导航节点下对应的所有子节点信息,过滤器中的子节点信息供用户点击操作; 所述快速查询框展示模块,用于展示查询框,所述查询框接受用户输入查询条件过滤所述客户端数据缓存单元中缓存的结果集叶子节点信息,获得结果集信息; 所述结果展示模块,用于展示所述结果集信息。
3.如权利要求2所述的装置,其特征在于,所述客户端数据缓存单元包括:导航数据缓存模块、过滤器数据缓存模块和结果集数据缓存模块;其中, 所述导航数据缓存模块,用于缓存导航展示单元关联的有序的导航节点信息; 所述过滤器数据缓存模块,用于缓存目标导航节点所对应地所有子节点的信息; 所述结果集数据缓存模块,用于缓存符合第一查询请求的过滤器子节点信息下所有的结果集叶子节点信息。
4.如权利要求3所述的装置,其特征在于,所述第一数据查询单元包括:过滤器信息查询模块和结果集信息查询模块;其中, 所述过滤器信息查询模块,用于根据所述第一查询请求,从所述数据存储单元中检索出目标导航节点所对应地子节点信息,按照检索到的子节点信息生成过滤器子节点信息,并将所述过滤器子节点信息传输至所述客户端数据缓存单元; 所述结果集信息查询模块,用于根据所述第一查询请求,从所述数据存储单元中检索出所述过滤器子节点信息对应结果集叶子结点信息;按照检索到的所述叶子节点信息生成结果集叶子节点信息,并将所述结果集叶子节点信息传输至所述客户端数据缓存单元。
5.如权利要求2所述的装置,其特征在于,所述结果展示模块通过翻页方式异步展示。
6.如权利要求1所述的装置,其特征在于,所述第二查询请求输入至所述客户端展示单元展示的查询框。
7.一种基于缓冲队列的页面树形数据获取方法,其特征在于,包括: 数据存储单元存储树形数据的所有节点信息; 根据第一查询请求来查询所述数据存储单元,获得所述导航节点信息中目标导航节点对应的过滤器子节点信息和结果集叶子节点信息,并将所述过滤器子节点信息和结果集叶子节点信息进行缓存; 存储展示的相关联的导航节点信息,缓存过滤器子节点信息和结果集叶子节点信息;根据第二查询请求来查询缓存的结果集叶子节点信息,获取符合第二查询请求的结果集信息; 产生第一查询请求和第二查询请求;并展示所述导航节点信息、过滤器子节点信息以及结果集信息。
【文档编号】G06F17/30GK103955533SQ201410200645
【公开日】2014年7月30日 申请日期:2014年5月13日 优先权日:2014年5月13日
【发明者】张家宇, 吴斐, 邹然, 张彦祥 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1