法律状态公告日
法律状态信息
法律状态
2020-08-21
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20150402
专利权人的姓名或者名称、地址的变更
2018-08-28
专利权的转移 IPC(主分类):G06F17/30 登记生效日:20180808 变更前: 变更后: 申请日:20150402
专利申请权、专利权的转移
2018-02-23
授权
授权
2015-09-09
实质审查的生效 IPC(主分类):G06F17/30 申请日:20150402
实质审查的生效
2015-08-12
公开
公开
技术领域
本发明涉及计算机应用技术领域,具体地说是一种实用性强、基于用户行为分析的查询性能优化方法。
背景技术
查询,在计算机领域是指从数据表中检索数据的方法。在管理软件领域,一般指企业出于经营管理需要,对应用系统中的交易数据、流水数据、记帐数据、借款数据、贷款数据等业务数据进行分类统计、综合整理,并按功能或主题以表格、图形形式进行结果呈现的方法或工具。
缓存,原指CPU架构设计中可以进行高速数据交换的存储器,也即缓冲区(称作Cache)。当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则再从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行,从而有效提升数据存取性能。随着计算机技术的快速发展,缓存技术和原理也被广泛应用其它硬件和架构,如:硬盘缓存、光驱缓存、系统缓存、数据库缓存、网络缓存等等,这些应用对数据存取性能和用户访问速度都有很大提升。
基于此,现提出了一种基于用户行为分析的查询性能优化方法。在该方法中,我们借鉴了缓存技术的实现原理,通过对用户访问记录的分析,将最常访问的内容、将要访问的内容加以预测和推断,并将这些数据写入缓存数据库,以备用户实际查询时快速读取和使用,有效优化和改善查询性能。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、基于用户行为分析的查询性能优化方法。
一种基于用户行为分析的查询性能优化方法,其具体实现过程为:
设置行为记录模块,该行为记录模块用以记录用户对特定查询的访问行为,包括:用户身份、访问时间、查询条件、停留时间、访问响应时间信息,用以确定查询访问频次,查询主要访问时点,用户对查询的兴趣程度信息;通过行为记录模块对用户查询的访问行为进行记录;
设置行为分析模块,在记录用户访问行为后,启动该行为分析模块对已记录的用户访问行为记录进行分析,结合数据和查询条件的时间序列特征,建立用户行为预测模型,进行用户查询条件组合、查询时间的预测,形成数据缓存任务列表;
运行在服务器上的数据计算服务,定时读取数据缓存任务列表,按不同的数据缓存条件,进行查询数据计算并保存到缓存数据库;
用户提交新的查询请求时,通过查询数据适配器对查询条件进行适配,或调用数据计算服务进行缓存数据计算,然后将对应的缓存数据作为查询结果返回给用户,并同时记录和分析用户访问行为。
所述行为分析模块对用户查询的访问行为记录进行分析的过程为:将查询访问行为的预测和推断结果,结合查询数据与时间序列的关系,形成预测的查询条件组合列表,再按冷热度优先级编排写入数据缓存任务列表。
所述行为分析模块对用户查询的访问行为记录进行详细分析的过程为:根据特定查询的访问频次、访问时段时间、停留时间进行冷热度计算,对不同查询赋予不同的冷热值;当查询达到一定热度,分析查询条件与时间序列的关系形成缓存条件,加入数据缓存任务列表,并根据热度、访问时段设置优先级和缓存计算时间。
所述数据计算服务通过调用数据服务组件读取行为分析模块形成的数据缓存任务列表,解析各个数据缓存条件,执行缓存数据计算,并调用数据服务组件保存计算结果到缓存数据库;同时接收查询数据适配器的请求,执行缓存数据计算,并调用数据服务组件保存计算结果到缓存数据库;该数据计算服务是运行于服务器端的计算机程序;
上述数据服务组件负责接收查询数据适配器的请求,返回缓存数据;接收数据计算服务的请求,进行数据库层的数据获取和缓存数据库的保存。
所述查询数据适配器接收用户客户端的查询请求后,首先调用行为记录模块对用户的查询访问行为进行记录,然后将查询条件和已缓存数据的数据缓存条件进行哈希值适配,适配成功时调用数据服务组件直接返回缓存数据;不成功时调用数据计算服务进行查询数据计算,返回查询结果,并保存到缓存数据库。
还包括数据缓存任务列表调整的步骤,该步骤的具体内容为:
行为记录模块在用户客户端关闭查询时调用数据服务组件记录用户对查询访问行为的有效停留时间,然后激活行为分析模块对冷热度进行重算,调整和更新数据缓存任务列表。
本发明的一种基于用户行为分析的查询性能优化方法,具有以下优点:
本发明提出的一种基于用户行为分析的查询性能优化方法,采用数据缓存技术和原理,通过对用户数据查询行为的记录和分析形成数据缓存任务列表,再通过服务器上的数据计算服务程序定期执行数据缓存任务将数据计算结果到缓存数据库,以方便用户提交查询请求时,能够快速从缓存数据库进行适配并返回结果,从而提高用户的查询请求响应速度,提升和优化查询性能;对于缓存冷热度算法,可以根据应用和特性变化,扩展变量因子和调整算法,以优化调整查询的优先计算顺序;加入时点推断,使缓存任务更有效更科学;数据计算服务可以调度在服务器空闲时运行,最大限度的利用资源和减少对业务系统的影响;通过不断对用户行为进行分析,调用查询性能的智能自动优化,实用性强,易于推广。
附图说明
附图1为本发明的实现步骤图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提供一种基于用户行为分析的查询性能优化方法,采用特定的冷热度算法,结合访问时点推断,形成数据缓存任务列表,并通过运行于服务器端数据计算服务定时对数据缓存任务列表进行扫描和计算,并不断优化缓存数据库。如附图1所示,其具体实现过程为,
首先设置以下模块:
1)行为记录模块:用以记录用户对特定查询的访问行为,包括:用户身份、访问时间、查询条件、停留时间、访问响应时间等信息,用以确定查询访问频次,查询主要访问时点,用户对查询的兴趣程度等信息。
行为记录模块完成记录后,再调用行为分析模块,对查询的访问冷热度进行重新计算,并优化和调整数据缓存任务列表。
2)行为分析模块:通过对已采集的用户行为信息进行分析,并结合查询数据的时间序列特征,建立用户行为预测模型,进行用户查询条件组合、查询时间的预测,形成数据缓存任务列表。
行为分析模块实现根据用户身份、查询访问频次、用户兴趣程度等变量,按照特定算法进行冷热度计算,并根据访问时间点的分布情况,完成查询访问行为的预测和推断。
3)数据计算服务:定时读取数据缓存任务列表,针对不同的查询条件组合,进行查询数据计算,并保存到缓存数据库。
数据计算服务通过调用数据服务组件实现数据缓存任务列表的定时读取,并根据缓存任务的查询条件组合进行数据计算,然后通过数据服务组件将数据写入缓存数据库。
数据计算服务可以接受查询数据适配器的请求,完成用户查询条件组合的解析和数据计算,并将计算结果数据写入缓存数据库。
4)查询数据适配器:接受用户客户端查询请求,对查询条件组合进行适配,调用数据服务组件,返回已缓存查询数据;未找到缓存数据时,调用数据计算服务,进行查询数据计算并保存到缓存数据库。
5)数据服务组件:负责接收查询数据适配器的请求,返回缓存数据;接收数据计算服务的请求,进行数据库层的数据获取和缓存数据库的保存。
通过行为分析模块对用户对查询的访问行为记录进行分析,根据特定查询的访问频次、访问时段时间、停留时间等进行冷热度计算,对不同查询赋予不同的冷热值;当查询达到一定热度,分析查询条件与时间序列的关系形成缓存条件,加入数据缓存任务列表,并根据热度、访问时段设置优先级和缓存计算时间。
数据计算服务通过调用数据服务组件读取行为分析模块形成的数据缓存任务列表,解析各个数据缓存条件,执行缓存数据计算,并调用数据服务组件保存计算结果到缓存数据库;同时也接受查询数据适配器的请求,执行缓存数据计算,并调用数据服务组件保存计算结果到缓存数据库;数据计算服务是运行于服务器端的计算机程序。
通过查询数据适配器接受用户客户端的查询请求,首先调用行为记录模块对用户访问行为进行记录,然后对查询条件和已缓存数据的数据缓存条件进行哈希值适配,适配成功调用数据服务组件直接返回缓存数据,不成功时调用数据计算服务进行计算,返回查询结果,并保存到缓存数据库。
通过行为记录模块在用户客户端提交查询请求时调用数据服务组件记录用户访问行为,在客户端关闭查询时调用数据服务组件记录用户对查询访问行为的有效停留时间,然后调用行为分析模块进行冷热度计算,调整数据缓存任务列表。
基于上述几个模块,该查询性能优化的具体过程包括以下实现步骤:
首先在用户客户端进行查询访问时,通过行为记录模块对用户的访问行为进行记录;
其次在记录用户行为后,通过行为分析模块进行查询冷热度计算,对已记录的用户访问行为记录进行分析,结合数据和查询条件的时间特性,形成和调整数据缓存任务列表;
再次通过运行在服务器上的数据计算服务,定时读取数据缓存任务列表,按不同的数据缓存条件,进行查询数据计算,并保存到缓存数据库;
最后在用户发出新的查询请求时,通过查询数据适配器对查询条件进行适配或调用数据计算服务进行缓存数据计算,然后将对应的缓存数据作为查询结果返回给用户,并同时记录和分析用户访问行为,通过不断优化缓存数据,优化和提升查询性能。
示例如下:
场景:在某企业管理软件中,各个业务系统都提供特定的业务查询功能,同时也可以通过其自定查询模块,实现客户查询统计的个性化定制。但在各查询功能的具体使用过程中,这些查询一般是在用户提交查询请求是临时组织业务数据,经过复杂的运算逻辑,再将计算结果以表格或图形的形式展现给用户。这样的数据组织形式,随着业务数据的不断增长,查询性能往往会逐渐下降,从而导致用户体验的下降。为了优化这些查询,提高响应速度和用户体验,需要对查询的程序逻辑进行重新设计,优化数据表的索引,开发存储过程等方式,但受业务系统数据数据结构设计的限制,性能难有大幅提升。
通过应用本发明的基于用户行为分析的查询性能优化方法,分如下步骤:
步骤一:
建立行为记录模块,以记录用户对查询的访问行为和特征信息:用户身份岗位、查询访问时间、所采用的查询条件、在该功能停留时间、返回查询结果的响应时间。
在用户打开查询,输入查询条件,点击查询请求返回结果时,调用行为记录模块进行用户行为记录。
步骤二:
建立行为分析模块,并设计冷热度算法,以用户身份、访问频次、查询相应时间为变量,对查询进行冷热度计算。
系统设定冷热度阈值,达到一定热度值的查询作为缓存数据备选列表。
通过在查询关闭时调用行为分析模块,计算查询的热度值,将缓存数据备选列表的查询,结合访问记录中的查询时间和查询条件,做出下次访问时间的预测和推断,并将推断的查询条件和缓存计算时间写入数据缓存任务列表,保存到数据库。
步骤三:
建立查询缓存数据库,已保存计算出的缓存数据。
增加数据计算服务程序,运行于服务器上,定时扫描数据缓存任务列表,根据缓存查询条件和排定的缓存计算时间先后顺序,对数据缓存进行计算,并保存到缓存数据库。
数据计算服务每完成一个数据缓存计算任务,都要进行缓存条件的记录。
步骤四:
增加缓存数据适配器程序,负责处理用户查询请求适配和发送数据计算请求。
用户通过打开查询,提交查询条件给缓存数据适配器,由其进行查询条件与已缓存数据的哈希适配,适配成功直接返回缓存数据作为查询结果。
进一步的,如果查询条件未适配成功,缓存数据适配器调用数据计算服务程序,进行缓存数据计算和保存,并返回计算结果。
更进一步的,缓存数据适配器程序会调用行为记录模块对用户查询行为进行记录。
最后,用户关闭查询时,行为记录模块会记录停留时间,并调用行为分析模块进行冷热度计算和数据缓存任务列表优化调整。
综上所述,通过行为记录模块对用户访问行为的不断记录,并调用行为分析模块对数据缓存任务持续优化,再通过运行在服务器端的数据计算服务程序,对缓存任务进行处理,保存缓存数据到缓存数据库,从而在用户发起新的查询请求时缓存数据适配器会大幅提高缓存数据的适配比例,有效减少临时计算加载数据的概率和时间,最终实现查询缓存数据的自动优化,达到通过应用缓存技术,提高用户查询响应速度,优化查询处理性能的目标。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种基于用户行为分析的查询性能优化方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
机译: SQL查询和优化器的一种优化方法
机译: 使用基于自然语言的查询的软件应用优化方法和系统
机译: 基于jit编译的数据库系统,其查询处理方法及其存储过程优化方法