CN111026962B - 层级关系查询响应时间降低方法、服务器和用户前端 - Google Patents
层级关系查询响应时间降低方法、服务器和用户前端 Download PDFInfo
- Publication number
- CN111026962B CN111026962B CN201911219777.6A CN201911219777A CN111026962B CN 111026962 B CN111026962 B CN 111026962B CN 201911219777 A CN201911219777 A CN 201911219777A CN 111026962 B CN111026962 B CN 111026962B
- Authority
- CN
- China
- Prior art keywords
- data
- level data
- redis
- user
- server
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种层级关系查询响应时间降低方法、服务器和用户前端,其中,该方法包括:接收用户前端发送的数据分配请求、其它层级数据查看请求、数据分配开始请求;根据数据分配请求从数据库中获取第一层级数据,异步获取其它层级数据并缓存在Redis中,根据其它层级数据查看请求判断Redis中是否有存储,若有则获取相应层级数据,若没有则从数据库中获取相应层级数据并缓存在Redis中,基于Redis中缓存的其它层级数据,根据数据分配开始请求进行数据分配,将数据分配结果返回至用户前端。该方案使用了异步数据查询,在后续操作中仅使用Redis中的数据进行,屏蔽了db层,降低了响应时间,提升了效率。
Description
技术领域
本发明涉及数据查询技术领域,特别涉及一种层级关系查询响应时间降低方法、服务器和用户前端。
背景技术
高端客户资源分配系统在进行客户分配的时候,系统将根据业务给定的既定规则筛选出离职业务员所在的六个层级(推荐人,同推荐人,同组,同处,同区,同四级机构)中满足条件的在职高端客户服务业务员,并将其分页后展示给用户,由用户做出最终确认。具体的分配操作流程如图1所示。
首先,用户在前端向服务器请求JSP页面,服务器返回JSP页面。
然后,由于筛选规则比较复杂,需要从“业务员架构轨迹表”中找出选定的业务员离职前一天的架构轨迹信息,并找寻当天的同组、处、区、四级机构的高端客户服务人员,要求这些人员当前在职,十三个月保费继续率需要满足既定条件,入职日期需要大于六个月,不在分配黑名单中,且后一层级需要排除前一层级的人员。然后按照已接受家庭数量和入职日期降序排列,再做分页以后传入前端展示。
再然后,用户在前端操作的时候,所有满足条件的业务员默认为勾选状态(参与分配),用户可以将不希望参与分配的人员取消勾选。业务方要求被取消勾选的业务员末尾显示,即如果有多页,则第一个被取消勾选的业务员将放在最后一页最后一行,这样就需要每次勾选操作后都将操作信息传入服务器,交由服务器重新进行分页。
最后,所有层级的业务员选择完成以后,点击确认分配,服务器将再次查询数据库,查出满足条件的全量人员,并排除掉被取消勾选的人员以后,对剩余人员进行分配。
高端客户资源分配系统在实现上述逻辑的时候存在如下不足:
由于业务逻辑复杂,在分页展示、确认分配、层级切换甚至是每一次勾选框的操作都会触发服务器对数据库的查询,对数据库过于依赖,严重影响性能。再加上SQL逻辑比较复杂,这些都将大大增加操作后的等待时间,用户体验不佳。最严重的当属客户分配,在原有系统中进行客户分配的时候,都需要近乎长时间的等待。
发明内容
本发明实施例提供了一种层级关系查询响应时间降低方法、服务器和用户前端,解决了现有技术中对数据库进行多次查询影响性能的技术问题。
本发明实施例还提供了一种层级关系查询响应时间降低方法,该方法包括:
接收用户前端发送的数据分配请求,根据所述数据分配请求从数据库中获取第一层级数据,返回包括所述第一层级数据的JSP页面至用户前端,根据所述数据分配请求从数据库中异步获取其它层级数据,将获取到的其它层级数据排序后缓存在缓存数据库Redis中;
接收用户前端对所述第一层级数据查验无误后发送的其它层级数据查看请求,根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据进行逻辑分页后返回至用户前端;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据,将相应层级数据排序后缓存在Redis中,并将所述相应层级数据进行逻辑分页后返回至用户前端;
接收用户前端对全部的所述相应层级数据查验无误后发送的数据分配开始请求,基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配,将数据分配结果返回至用户前端。
本发明实施例还提供了一种层级关系查询响应时间降低方法,该方法包括:
发送数据分配请求至服务器;
接收服务器根据所述数据分配请求从数据库中获取的第一层级数据,所述第一层级数据以JSP页面形式展示;
查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
接收服务器根据所述其它层级数据查看请求返回的相应层级数据,所述相应层级数据经过排序后以逻辑分页进行展示;
查验全部的所述相应层级数据,若查验无误,发送数据分配开始请求至服务器;
接收服务器基于Redis中缓存的其它层级数据并根据数据分配开始请求进行数据分配的数据分配结果。
本发明实施例还提供了一种服务器,包括:缓存数据库Redis和数据库,还包括:
接收模块,用于接收用户前端发送的数据分配请求;接收用户前端对所述第一层级数据查验无误后发送的其它层级数据查看请求;接收用户前端对全部的所述相应层级数据查验无误后发送的数据分配开始请求;
数据查询模块,用于根据所述数据分配请求从数据库中获取第一层级数据;根据所述数据分配请求从数据库中异步获取其它层级数据;
返回模块,用于返回包括所述第一层级数据的JSP页面至用户前端;
Redis用于:缓存排序后的其它层级数据;
数据获取模块,用于根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据;
所述返回模块,还用于将所述相应层级数据进行逻辑分页后返回至用户前端;
数据分配模块,用于基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配;
所述返回模块,还用于将数据分配结果返回至用户前端。
本发明实施例还提供了一种用户前端,包括:
请求发送模块,用于发送数据分配请求至服务器;
数据接收模块,用于接收服务器根据所述数据分配请求从数据库中获取的第一层级数据,所述第一层级数据以JSP页面形式展示;
数据查验模块,用于查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
所述数据接收模块,还用于接收服务器根据所述其它层级数据查看请求返回的相应层级数据,所述相应层级数据经过排序后以逻辑分页进行展示;
所述数据查验模块,还用于查验全部的所述相应层级数据,若查验无误,发送数据分配开始请求至服务器;
所述数据接收模块,还用于接收服务器基于Redis中缓存的其它层级数据并根据数据分配开始请求进行数据分配的数据分配结果。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述方法的计算机程序。
在本发明实施例中,服务器在进行数据查询时,通过异步查询与缓存的结合,降低对数据库的依赖,提升响应时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是一种高端客户资源分配系统进行数据分配的流程图;
图2是本发明实施例提供的一种层级关系查询响应时间降低方法(系统角度)流程图;
图3是本发明实施例提供的一种等待查询设置方法流程;
图4是本发明实施例提供的一种延迟提交方法流程;
图5是本发明实施例提供的一种高端客户资源分配方法中的数据交互示意图;
图6是本发明实施例提供的一种高端客户资源分配方法步骤示意图(一);
图7是本发明实施例提供的一种高端客户资源分配方法步骤示意图(二);
图8是本发明实施例提供的一种高端客户资源分配方法步骤示意图(三);
图9是本发明实施例提供的一种高端客户资源分配方法步骤示意图(四);
图10是本发明实施例提供的一种高端客户资源分配方法步骤示意图(五);
图11是本发明实施例提供的一种高端客户资源分配方法步骤示意图(六);
图12是本发明实施例提供的一种层级关系查询响应时间降低方法(服务器端)流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中,基于现有技术中存在的问题,提供了一种层级关系查询响应时间降低方法(系统角度),如图2所示,该方法包括:
步骤201:用户前端发送数据分配请求至服务器;
步骤202:服务器接收所述数据分配请求,根据所述数据分配请求从数据库中获取第一层级数据,返回包括所述第一层级数据的JSP页面至用户前端,根据所述数据分配请求从数据库中异步获取其它层级数据,将获取到的其它层级数据排序后缓存在缓存数据库Redis中;
步骤203:用户前端展示并查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
步骤204:服务器根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据进行逻辑分页后返回至用户前端;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据,将相应层级数据排序后缓存在Redis中,并将所述相应层级数据进行逻辑分页后返回至用户前端;
步骤205:用户前端对全部的所述相应层级数据进行分页展示并查验,若查验无误,发送数据分配开始请求至服务器;
步骤206:服务器基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配,将数据分配结果返回至用户前端。
该方法利用用户浏览不同层级数据的时间差来进行数据库查询,通过Redis作缓存屏蔽后续的数据库操作。
在在本发明实施例中,如图3所示,该方法还包括:
若Redis没有存储,将当前查询线程置为等待状态,并设置等待时长阈值(比如,10秒钟),若在等待时长阈值内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在等待时长阈值内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
或,若Redis没有存储,将当前查询线程置为等待状态,并设置等待次数和每次的等待时长(比如,重复20次,每次等待0.5秒共计10秒钟),若在多次的等待时长内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在多次的等待时长内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
在本发明实施例中,如图3所示,该方法还包括:服务器在获取第一层级数据后、返回包括所述第一层级数据的JSP页面至用户前端之前,清除Redis中的缓存数据(这样可以保证结果的时效性),在线程池中添加所述数据分配请求中的其它层级数据查询任务。
这样,当用户需要查看一个数据的多层级信息,且这些信息查询逻辑复杂,又相互独立的时候可以采用本方法进行处理,将查询压力分散。
在本发明实施例中,前服务器若有间隔性的频繁操作,可以采用间隔性传输来降低与服务器的交互次数。如图4所示,该方法还包括:
用户前端进行数据删除操作,启动延迟提交计时,判断在设定的延迟提交时间之内是否再次进行数据删除操作,若否,则在达到延迟提交时间时将数据删除操作记录发送至服务器,若是,则重新启动延迟提交计时,直至在设定的延迟提交时间之内不在进行数据删除操作,将多次的数据删除操作记录发送至服务器;
服务器根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除,将删除后的其它层级数据返回至用户前端。
比如,数据删除操作可以采用取消勾选来实现,因为取消勾选可能会连续操作,为进一步降低服务器压力,前端使用批量延迟提交——即当一个操作完成以后,并不着急提交,而是设置一个定时器,当用户操作了勾选框以后,触发定时器,计时1秒钟,如果1秒内再次触发了定时器则会将之前的定时器清除,并重设一个新的定时器计实1秒。这样可以将高频率的多次点击合并成一次提交,降低了服务器压力。
在本发明实施例中,由于前端展示的数据需要分页展示,因此服务器要根据用户传入的当前页码和每页展示的数据量计算需要返回的数据内容。由于该方案是从缓存中获取数据,分页逻辑需要自己实现。
因此,该方法还包括:
用户前端将当前页码和每页展示的数据量发送至服务器;
服务器根据当前页码和每页展示的数据量计算需要返回的相应其它层级数据。
下面以高端客户资源分配来说明本方法,具体的流程步骤如图5所示:
用户在选定了离职业务员以后,点击“客户分配”,如图6所示。用户在点击“客户分配”的时候,向服务器请求JSP页面。服务器在接收到该离职业务员信息以后,会查询其推荐人信息(因为推荐人只有一人,且不进行排序,所以查询速度比较快),并返回包含推荐人信息的JSP页面。同时删除缓存中该离职业务员的架构轨迹信息,并异步的查询该离职业务员的同推荐人,同组,同处,同区,同四级机构的架构信息。筛选排序完成以后存入Redis缓存中,key取自被查询信息的特征码,需要保证唯一性。
用户审查完推荐人信息,确认没有问题之后,会点击如图7所示的上面的其它选项卡,切换选项卡查询同组人员信息,将不希望参与分配的人员排除掉。在用户进行推荐人信息确认的时候,服务器正在异步的处理其它五个层级的人员信息。
服务器接收到同组人员的查询请求后会根据特征码去Redis缓存中获取数据,若取不到,说明数据库的查询还没有结束,这种情况出现的原因可能是:用户切换选项卡查询的操作比较快,服务器缓存数据还没有准备好,如图8所示,则查询会进行等待,此时将当前线程置为等待状态,重复20次,每次等待0.5秒共计10秒钟,如果在这些间隔的时间段内还是没能获取到Redis缓存中的数据的话,则会向数据库中查询全量同组人员信息,并将获取到的数据存入Redis缓存中,逻辑分页处理后返回给前端,如图3所示。
用户前端可以将那些不希望参与分配的人员取消勾选,如图9和图10所示,被取消勾选的业务员将会在末尾显示。在操作勾选框的时候使用了消抖(debounce)来降低与后台交互的频率,如图4所示,如果用户频繁点击勾选框,则数据的提交将会在用户操作勾选后的1秒执行,如果在这期间用户又进行了勾选操作,那么将取消上一次的提交,并将其在结束本次操作的1秒统一执行。
与服务器的交互就是传输被取消勾选人员的工号,服务器在接收到这些人员的工号后,会按照“是否勾选,已分配家庭数量降序,入职日期升序”的排序规则重新计算当前页所应该显示的数据,并返回前端进行展示。这样被勾选与被取消勾选的业务员将会有明显区分。提升了用户体验。
当所有的人员都查验完成以后,点击完成进行数据分配,如图11所示。最终在进行客户分配的时候,由于业务员信息都保存在Redis缓存中,直接屏蔽了DB层,这样就可以直接拿缓存中的数据进行分配处理,降低时间开销,基本都在两秒内处理完成,对比之前的效率,性能有了明显的提升。
当用户继续下次层级信息的展示或直接进行家庭分配的时候,可以直接从Redis缓存中获取数据,屏蔽了数据库层,提升了效率。
基于同一发明构思,本发明实施例中还提供了一种层级关系查询响应时间降低系统,该系统包括:用户前端和服务器,其中服务器包括缓存数据库Redis和数据库;
所述用户和服务器用于:实现如上所述的层级关系查询响应时间降低方法。
基于同一发明构思,本发明实施例中还提供了一种层级关系查询响应时间降低方法(服务器角度),如图12所示,包括:
S11:接收用户前端发送的数据分配请求,根据所述数据分配请求从数据库中获取第一层级数据,返回包括所述第一层级数据的JSP页面至用户前端,根据所述数据分配请求从数据库中异步获取其它层级数据,将获取到的其它层级数据排序后缓存在缓存数据库Redis中;
S12:接收用户前端对所述第一层级数据查验无误后发送的其它层级数据查看请求,根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据进行逻辑分页后返回至用户前端;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据,将相应层级数据排序后缓存在Redis中,并将所述相应层级数据进行逻辑分页后返回至用户前端;
S13:接收用户前端对全部的所述相应层级数据查验无误后发送的数据分配开始请求,基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配,将数据分配结果返回至用户前端。
在本发明实施例中,该方法还包括:若Redis没有存储,将当前查询线程置为等待状态,并设置等待时长阈值,若在等待时长阈值内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在等待时长阈值内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
在本发明实施例中,该方法还包括:若Redis没有存储,将当前查询线程置为等待状态,并设置等待次数和每次的等待时长,若在多次的等待时长内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在多次的等待时长内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
在本发明实施例中,该方法还包括:在获取第一层级数据后、返回包括所述第一层级数据的JSP页面至用户前端之前,清除Redis中的缓存数据,在线程池中添加所述数据分配请求中的其它层级数据查询任务。
在本发明实施例中,该方法还包括:接收用户前端发送的数据删除操作记录,根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除,将删除后的其它层级数据返回至用户前端。
基于同一发明构思,本发明实施例中还提供了一种服务器,包括:缓存数据库Redis和数据库,还包括:
接收模块,用于接收用户前端发送的数据分配请求;接收用户前端对所述第一层级数据查验无误后发送的其它层级数据查看请求;接收用户前端对全部的所述相应层级数据查验无误后发送的数据分配开始请求;
数据查询模块,用于根据所述数据分配请求从数据库中获取第一层级数据;根据所述数据分配请求从数据库中异步获取其它层级数据;
返回模块,用于返回包括所述第一层级数据的JSP页面至用户前端;
Redis用于:缓存排序后的其它层级数据;
数据获取模块,用于根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据;
所述返回模块,还用于将所述相应层级数据进行逻辑分页后返回至用户前端;
数据分配模块,用于基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配;
所述返回模块,还用于将数据分配结果返回至用户前端。
在本发明实施例中,所述数据获取模块还用于:若Redis没有存储,将当前查询线程置为等待状态,并设置等待时长阈值,若在等待时长阈值内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在等待时长阈值内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
在本发明实施例中,所述数据获取模块还用于:若Redis没有存储,将当前查询线程置为等待状态,并设置等待次数和每次的等待时长,若在多次的等待时长内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在多次的等待时长内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
在本发明实施例中,所述数据查询模块还用于:在获取第一层级数据后、返回包括所述第一层级数据的JSP页面至用户前端之前,清除Redis中的缓存数据,在线程池中添加所述数据分配请求中的其它层级数据查询任务。
在本发明实施例中,所述数据获取模块还用于:接收用户前端发送的数据删除操作记录,根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除,将删除后的其它层级数据返回至用户前端。
基于同一发明构思,本发明实施例中还提供了一种层级关系查询响应时间降低方法(用户前端角度),包括:
S21:发送数据分配请求至服务器;
S22:接收服务器根据所述数据分配请求从数据库中获取的第一层级数据,所述第一层级数据以JSP页面形式展示;
S23:查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
S24:接收服务器根据所述其它层级数据查看请求返回的相应层级数据,所述相应层级数据经过排序后以逻辑分页进行展示;
S25:查验全部的所述相应层级数据,若查验无误,发送数据分配开始请求至服务器;
S26:接收服务器基于Redis中缓存的其它层级数据并根据数据分配开始请求进行数据分配的数据分配结果。
在本发明实施例中,该方法还包括:
进行数据删除操作,启动延迟提交计时,判断在设定的延迟提交时间之内是否再次进行数据删除操作,若否,则在达到延迟提交时间时将数据删除操作记录发送至服务器,若是,则重新启动延迟提交计时,直至在设定的延迟提交时间之内不在进行数据删除操作,将多次的数据删除操作记录发送至服务器;
接收服务器返回的根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除后的相应其它层级数据。
在本发明实施例中,该方法还包括:
将当前页码和每页展示的数据量发送至服务器;
接收服务器根据当前页码和每页展示的数据量计算的需要返回的相应其它层级数据。
基于同一发明构思,本发明实施例中还提供了一种用户前端,包括:
请求发送模块,用于发送数据分配请求至服务器;
数据接收模块,用于接收服务器根据所述数据分配请求从数据库中获取的第一层级数据,所述第一层级数据以JSP页面形式展示;
数据查验模块,用于查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
所述数据接收模块,还用于接收服务器根据所述其它层级数据查看请求返回的相应层级数据,所述相应层级数据经过排序后以逻辑分页进行展示;
所述数据查验模块,还用于查验全部的所述相应层级数据,若查验无误,发送数据分配开始请求至服务器;
所述数据接收模块,还用于接收服务器基于Redis中缓存的其它层级数据并根据数据分配开始请求进行数据分配的数据分配结果。
在本发明实施例中,该用户前端还包括:
数据删除操作模块,用于进行数据删除操作,启动延迟提交计时,判断在设定的延迟提交时间之内是否再次进行数据删除操作,若否,则在达到延迟提交时间时将数据删除操作记录发送至服务器,若是,则重新启动延迟提交计时,直至在设定的延迟提交时间之内不在进行数据删除操作,将多次的数据删除操作记录发送至服务器;
所述数据接收模块,还用于接收服务器返回的根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除后的相应其它层级数据。
在本发明实施例中,所述请求发送模块还用于:将当前页码和每页展示的数据量发送至服务器;
所述数据接收模块,还用于接收服务器根据当前页码和每页展示的数据量计算的需要返回的相应其它层级数据。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述所述方法的计算机程序。
综上所述,本发明方案具有如下优点:
(1)该方案可以大大提升用户的体验,原方案中,用户在操作的过程中会进行多次数据库查询——在组处区人员信息切换的时候、在确认进行分配的时候、在勾选与取消勾选的时候都会处发数据库的查询。增加数据库压力不说,“业务员架构轨迹表”中的信息量大起来以后查询时间有明显的增长。本发明方案利用用户浏览不同层级数据的时间差来进行数据库异步查询,通过Redis作缓存屏蔽后续的数据库操作,屏蔽了db层,降低了响应时间,提升了效率。并在前端使用批量延迟提交的方式(消抖)来降低与服务器的交互频率,将多次点选统一发送出去,防止频繁的数据查询。通过这样前服务器联合的方式来降低响应时间,提升用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种层级关系查询响应时间降低方法,其特征在于,包括
接收用户前端发送的数据分配请求,根据所述数据分配请求从数据库中获取第一层级数据,返回包括所述第一层级数据的JSP页面至用户前端,根据所述数据分配请求从数据库中异步获取其它层级数据,将获取到的其它层级数据排序后缓存在缓存数据库Redis中;
接收用户前端对所述第一层级数据查验无误后发送的其它层级数据查看请求,根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据进行逻辑分页后返回至用户前端;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据,将相应层级数据排序后缓存在Redis中,并将所述相应层级数据进行逻辑分页后返回至用户前端;
接收用户前端对全部的所述相应层级数据查验无误后发送的数据分配开始请求,基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配,将数据分配结果返回至用户前端。
2.如权利要求1所述的层级关系查询响应时间降低方法,其特征在于,还包括:
若Redis没有存储,将当前查询线程置为等待状态,并设置等待时长阈值,若在等待时长阈值内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在等待时长阈值内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
3.如权利要求1所述的层级关系查询响应时间降低方法,其特征在于,还包括:若Redis没有存储,将当前查询线程置为等待状态,并设置等待次数和每次的等待时长,若在多次的等待时长内获取到相应层级数据,则将相应层级数据进行逻辑分页后返回至用户前端;若在多次的等待时长内未获取到相应层级数据,则根据所述其它层级数据查看请求从数据库中获取相应层级数据。
4.如权利要求1所述的层级关系查询响应时间降低方法,其特征在于,还包括:在获取第一层级数据后、返回包括所述第一层级数据的JSP页面至用户前端之前,清除Redis中的缓存数据,在线程池中添加所述数据分配请求中的其它层级数据查询任务。
5.如权利要求1所述的层级关系查询响应时间降低方法,其特征在于,还包括:
接收用户前端发送的数据删除操作记录,根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除,将删除后的其它层级数据返回至用户前端。
6.如权利要求1所述的层级关系查询响应时间降低方法,其特征在于,还包括:
接收用户前端发送的当前页码和每页展示的数据量,根据当前页码和每页展示的数据量计算需要返回的相应其它层级数据。
7.一种层级关系查询响应时间降低方法,其特征在于,包括:
发送数据分配请求至服务器;
接收服务器根据所述数据分配请求从数据库中获取的第一层级数据,所述第一层级数据以JSP页面形式展示;
查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
接收服务器根据所述其它层级数据查看请求返回的相应层级数据,所述相应层级数据经过排序后以逻辑分页进行展示,其中,服务器根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据进行逻辑分页后返回至用户前端;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据;
查验全部的所述相应层级数据,若查验无误,发送数据分配开始请求至服务器;
接收服务器基于Redis中缓存的其它层级数据并根据数据分配开始请求进行数据分配的数据分配结果。
8.如权利要求7所述的层级关系查询响应时间降低方法,其特征在于,还包括:
进行数据删除操作,启动延迟提交计时,判断在设定的延迟提交时间之内是否再次进行数据删除操作,若否,则在达到延迟提交时间时将数据删除操作记录发送至服务器,若是,则重新启动延迟提交计时,直至在设定的延迟提交时间之内不在进行数据删除操作,将多次的数据删除操作记录发送至服务器;
接收服务器返回的根据数据删除操作记录将其它层级数据中包括的相应删除数据进行删除后的相应其它层级数据。
9.一种服务器,其特征在于,包括:缓存数据库Redis和数据库,还包括:
接收模块,用于接收用户前端发送的数据分配请求;接收用户前端对第一层级数据查验无误后发送的其它层级数据查看请求;接收用户前端对全部的相应层级数据查验无误后发送的数据分配开始请求;
数据查询模块,用于根据所述数据分配请求从数据库中获取第一层级数据;根据所述数据分配请求从数据库中异步获取其它层级数据;
返回模块,用于返回包括所述第一层级数据的JSP页面至用户前端;
Redis用于:缓存排序后的其它层级数据;
数据获取模块,用于根据所述其它层级数据查看请求判断Redis中是否存储有相应层级数据,若Redis中有存储,则从Redis中获取相应层级数据;若Redis没有存储,则根据所述其它层级数据查看请求从数据库中获取相应层级数据;
所述返回模块,还用于将所述相应层级数据进行逻辑分页后返回至用户前端;
数据分配模块,用于基于Redis中缓存的其它层级数据,根据所述数据分配开始请求进行数据分配;
所述返回模块,还用于将数据分配结果返回至用户前端。
10.一种用户前端,其特征在于,包括:
请求发送模块,用于发送数据分配请求至服务器;
数据接收模块,用于接收服务器根据所述数据分配请求从数据库中获取的第一层级数据,所述第一层级数据以JSP页面形式展示;
数据查验模块,用于查验所述第一层级数据,若查验无误,发送其它层级数据查看请求至服务器;
所述数据接收模块,还用于接收服务器根据所述其它层级数据查看请求返回的相应层级数据,所述相应层级数据经过排序后以逻辑分页进行展示;
所述数据查验模块,还用于查验全部的所述相应层级数据,若查验无误,发送数据分配开始请求至服务器;
所述数据接收模块,还用于接收服务器基于Redis中缓存的其它层级数据并根据数据分配开始请求进行数据分配的数据分配结果。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至8任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219777.6A CN111026962B (zh) | 2019-12-03 | 2019-12-03 | 层级关系查询响应时间降低方法、服务器和用户前端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911219777.6A CN111026962B (zh) | 2019-12-03 | 2019-12-03 | 层级关系查询响应时间降低方法、服务器和用户前端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026962A CN111026962A (zh) | 2020-04-17 |
CN111026962B true CN111026962B (zh) | 2023-09-22 |
Family
ID=70204034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911219777.6A Active CN111026962B (zh) | 2019-12-03 | 2019-12-03 | 层级关系查询响应时间降低方法、服务器和用户前端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026962B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112100553B (zh) * | 2020-08-11 | 2023-11-17 | 深圳市拓邦软件技术有限公司 | 一种网页页面配置方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1378163A (zh) * | 2001-04-05 | 2002-11-06 | 杨承喜 | 资源管理的个人化首页系统 |
CN103425708A (zh) * | 2012-05-25 | 2013-12-04 | 金蝶软件(中国)有限公司 | 一种优化的web分页查询方法及装置 |
CN104573025A (zh) * | 2015-01-12 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 一种提高页面加载速度的方法及系统 |
CN105718592A (zh) * | 2016-01-27 | 2016-06-29 | 北京铭万智达科技有限公司 | 基于Redis的数据调用方法及其系统 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
CN106649435A (zh) * | 2016-09-07 | 2017-05-10 | 努比亚技术有限公司 | 数据查询装置及方法 |
CN107679077A (zh) * | 2017-08-28 | 2018-02-09 | 平安科技(深圳)有限公司 | 分页的实现方法、装置、计算机设备及存储介质 |
CN109492148A (zh) * | 2018-11-22 | 2019-03-19 | 北京明朝万达科技股份有限公司 | 基于Redis的ElasticSearch分页查询方法和设备 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7953722B2 (en) * | 2007-12-21 | 2011-05-31 | Sap Ag | Query response service for business objects |
US8024285B2 (en) * | 2007-12-27 | 2011-09-20 | Microsoft Corporation | Determining quality of tier assignments |
-
2019
- 2019-12-03 CN CN201911219777.6A patent/CN111026962B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1378163A (zh) * | 2001-04-05 | 2002-11-06 | 杨承喜 | 资源管理的个人化首页系统 |
CN103425708A (zh) * | 2012-05-25 | 2013-12-04 | 金蝶软件(中国)有限公司 | 一种优化的web分页查询方法及装置 |
CN104573025A (zh) * | 2015-01-12 | 2015-04-29 | 北京京东尚科信息技术有限公司 | 一种提高页面加载速度的方法及系统 |
CN105718592A (zh) * | 2016-01-27 | 2016-06-29 | 北京铭万智达科技有限公司 | 基于Redis的数据调用方法及其系统 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
CN106649435A (zh) * | 2016-09-07 | 2017-05-10 | 努比亚技术有限公司 | 数据查询装置及方法 |
CN107679077A (zh) * | 2017-08-28 | 2018-02-09 | 平安科技(深圳)有限公司 | 分页的实现方法、装置、计算机设备及存储介质 |
CN109684358A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 数据查询的方法和装置 |
CN109492148A (zh) * | 2018-11-22 | 2019-03-19 | 北京明朝万达科技股份有限公司 | 基于Redis的ElasticSearch分页查询方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111026962A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515326B2 (en) | Database systems and related queue management methods | |
CN1126033C (zh) | 将事件动态相关的系统 | |
US8635250B2 (en) | Methods and systems for deleting large amounts of data from a multitenant database | |
US7801281B2 (en) | Collecting and delivering call data associated with court ordered traps | |
US7117491B2 (en) | Method, system, and program for determining whether data has been modified | |
US20160055042A1 (en) | Detecting and Managing Flooding of Multi-tenant Message Queues | |
US9251212B2 (en) | Profiling in a massive parallel processing environment | |
CN107146012B (zh) | 风险事件处理方法及系统 | |
MXPA01002852A (es) | Sistema para la sincronizacion y organizacion de bases de datos y metodo para el mismo. | |
US20130031491A1 (en) | System, method and computer program product for progressive rendering of report results | |
AU2010336363A9 (en) | Managing queries | |
CN110637292B (zh) | 用于查询资源高速缓存的系统和方法 | |
CN110738479A (zh) | 基于多人点单的订单管理方法及系统 | |
CN110471749A (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
WO2011091144A1 (en) | System and method for aggregating information and delivering user specific content | |
CN111026962B (zh) | 层级关系查询响应时间降低方法、服务器和用户前端 | |
CN111625527A (zh) | 乱序数据处理方法、装置、设备及可读存储介质 | |
CN112967091A (zh) | 营销服务事件的智能分发方法、系统及存储介质 | |
CN108520401B (zh) | 用户名单管理方法、装置、平台及存储介质 | |
CN110347915A (zh) | 一种信息推送方法和装置 | |
CN111259045B (zh) | 一种数据处理方法、装置、服务器及介质 | |
JP2538756B2 (ja) | 確認通知方法及び確認通知伝送装置 | |
CN111581087B (zh) | 应用程序测试方法和装置 | |
US11556515B2 (en) | Artificially-intelligent, continuously-updating, centralized-database-identifier repository system | |
CN110727674A (zh) | 一种电网gis云平台的性能优化系统及方法 |
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 |