CN109947780A - 一种利用代理程序更新缓存的方法、装置及系统 - Google Patents
一种利用代理程序更新缓存的方法、装置及系统 Download PDFInfo
- Publication number
- CN109947780A CN109947780A CN201710708043.9A CN201710708043A CN109947780A CN 109947780 A CN109947780 A CN 109947780A CN 201710708043 A CN201710708043 A CN 201710708043A CN 109947780 A CN109947780 A CN 109947780A
- Authority
- CN
- China
- Prior art keywords
- database
- caching
- data
- broker program
- operational order
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种利用代理程序更新缓存的方法、装置及系统,所述缓存为数据库对应的缓存,所述方法包括:利用所述代理程序拦截发送给所述数据库的操作命令;获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化;根据变化后的所述数据库中的数据更新所述缓存。该方法能够直接的对发送给数据库的操作命令进行分析,从而准确的得知数据库中的数据是否发生变化,进而能够在数据发生变化的同时灵活而及时的更新缓存,保证正确的使用最新的缓存来对数据库中的数据进行操作。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种利用代理程序更新缓存的方法,一种数据分析系统更新缓存的方法,一种利用代理程序更新缓存的装置和一种数据分析系统。
背景技术
在对数据库存储的数据进行处理时,为了提高调用数据时的响应速度,提高数据处理的效率,需要建立并使用缓存,例如使用根据查询条件建立查询结果的缓存。但是一般情况下,为了将缓存与数据库中的数据及时对应,会根据数据业务定时更新缓存,例如数据分析系统一般会建立数据库,数据库每天更新一次,那么缓存也会采用每天更新的办法,但这种定期的缓存更新办法不灵活,有时因为数据更新频繁而缓存没有及时更新而导致数据无法使用或出现错误,或者数据更新频率极低而缓存更新频率极高导致系统资源的浪费。
发明内容
本发明实施例的目的在于提供一种利用代理程序更新缓存的方法、装置及系统,该方法能够灵活而及时的更新缓存,保证正确的使用最新的缓存来对数据库中的数据进行操作。
为了解决上述技术问题,本发明实施例采用了如下技术方案:一种利用代理程序更新缓存的方法,所述缓存为数据库对应的缓存,所述方法包括:
利用所述代理程序拦截发送给所述数据库的操作命令;
获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化;
根据变化后的所述数据库中的数据更新所述缓存。
作为优选,所述代理程序为数据库端口代理程序,所述利用所述代理程序拦截发送给所述数据库的操作命令包括:将所述数据库端口代理程序安装在所述数据库上;利用所述数据库端口代理程序拦截发送至所述数据库的输入端口的操作命令。
作为优选,所述获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化具体为:分析所述操作命令,获取所述操作命令包含的命令种类;当所述命令种类中包含非查询命令类型时,判定所述数据库中的数据发生变化。
作为优选,所述缓存在更新过程中不间断运行。
作为优选,所述方法还包括:所述代理程序将所述操作命令转发给所述数据库。
本发明实施例还提供了一种数据分析系统更新缓存的方法,使用如上所述的利用代理程序更新缓存的方法,对所述数据分析系统的数据库对应的缓存进行更新操作。
本发明实施例还提供了一种利用代理程序更新缓存的装置,所述缓存为数据库对应的缓存,所述装置包括代理程序,监控模块和更新模块:
所述代理程序配置为拦截发送给所述数据库的操作命令;
所述监控模块配置为获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化;
所述更新模块与缓存连接,所述更新模块配置为根据变化后的所述数据库中的数据更新所述缓存。
作为优选,所述代理程序为数据库端口代理程序,所述数据库端口代理程序安装在所述数据库上,所述数据库端口代理程序配置为拦截发送至所述数据库的输入端口的操作命令。
作为优选,所述监控模块包括获取单元和判断单元,所述获取单元配置为分析所述操作命令,获取所述操作命令包含的命令种类;所述判断单元配置为当所述命令种类中包含非查询命令类型时,判定所述数据库中的数据发生变化。
作为优选,所述缓存在更新过程中不间断运行。
作为优选,所述代理程序进一步配置为将所述操作命令转发给所述数据库。
本发明实施例还提供了一种数据分析系统,包括如上所述的装置,并利用所述装置对所述数据分析系统的数据库对应的缓存进行更新操作。
本发明实施例的有益效果在于:该方法能够直接的对发送给数据库的操作命令进行分析,从而准确的得知数据库中的数据是否发生变化,进而能够在数据发生变化的同时灵活而及时的更新缓存,保证正确的使用最新的缓存来对数据库中的数据进行操作。
附图说明
图1为本发明实施例的利用代理程序更新缓存的方法的流程图;
图2为本发明实施例的拦截操作命令的流程图;
图3为本发明实施例的判定数据发生变化的流程图;
图4为本发明实施例的利用代理程序更新缓存的装置的结构示意图;
图5为本发明实施例的利用代理程序更新缓存的装置的连接关系示意图。
附图标记说明
1-利用代理程序更新缓存的装置 2-代理程序
3-监控模块 4-更新模块
5-缓存 6-数据库
7-数据分析模块 8-业务系统
具体实施方式
为使本领域技术人员更好地理解本发明,下面参照附图对本发明的实施例进行详细说明,但不作为对本发明的限定。
图1为本发明实施例的利用代理程序2更新缓存5的方法的流程图,本发明实施例的一种利用代理程序2更新缓存5的方法,缓存5为数据库6对应的缓存5,用户可以使用缓存5中记录的数据信息来对数据库6中的数据进行操作从而提高数据库6的响应速度,如图1所示,该方法包括:
S1,利用代理程序2(或代理软件)拦截发送给数据库6的操作命令。该操作命令可以有其他相应的数据库6操作设备或操作模块发送,例如可以由与数据库6有线或无线连接的业务系统8发送(如图5所示),该业务系统8能够操作数据库6并对存储的数据进行处理。该操作命令包括了对数据库6进行各种操作的相应命令,例如SQL语言的操作命令,如insert、update、delete等命令。在向数据库6发送操作命令时利用代理程序2对操作命令进行拦截,因此在操作命令发送至数据库6之前可以被代理程序2先行获取。
S2,获取操作命令包含的内容信息,并当内容信息符合预设条件时,判定数据库6中的数据发生变化。可以对获取的操作命令进行分析,得到其内容信息,该内容信息可以为操作命令的种类,对操作对象的执行次序,或预判断的执行后得到的结果等,如果这些内容信息符合预设条件则判定数据库6中的数据发生变化。预设条件可以根据用户的实际使用需求来设定,例如操作命令中一旦出现某一种类的操作命令即判定数据库6中的数据发生了变化;或者直接从命令的内容入手,直接判断该命令是否会导致数据库6中的数据发生变化,如果是则判定数据库6中的数据发生了变化。
S3,根据变化后的数据库6中的数据更新缓存5。一旦判定数据库6中的数据发生变化,则可以发出通知,要求相应的程序或软件立即对缓存5进行更新,相应的程序或软件接到通知后可以根据变化后的数据(当前数据)来更新缓存5,从而保证缓存5与当前数据相适应。在本发明的一个实施例中,在使用缓存5进行多种操作时,例如使用缓存5进行数据分析时可以提高数据的响应速度,并且提高分析数据时的准确度。
在本发明的一个实施例中,代理程序2为数据库端口代理程序2(可以为数据库端口代理软件),该数据库端口代理程序2可以对数据库6中所有的输入和输出端口进行监测,包括对流入和流出该输入和输出端口的数据进行检测,本申请的一个实施例中,如图2所示,利用代理程序2拦截发送给数据库6的操作命令包括:S11,将数据库端口代理程序2安装在数据库6上,也可以安装在数据库6的相应的操作平台上;S12,利用数据库端口代理程序2拦截发送至数据库6的输入端口的操作命令,由于数据库端口代理程序2直接安装在数据库6上,这样可以提高数据库端口代理程序2的运行效率,使得发送给数据库6的操作命令可以立即被数据库端口代理程序2所拦截,而不会造成数据库6响应的延迟拖慢响应速度的现象。
在本发明的一个实施例中,如图3所示,获取操作命令包含的内容信息,并当内容信息符合预设条件时,判定数据库6中的数据发生变化具体为:S21,分析操作命令,获取操作命令包含的命令种类。例如,该命令种类可以包括查询命令类型,插入命令类型,删除命令类型和更新命令类型等类型中的至少一个;S22,当命令种类中包含非查询命令类型时,判定数据库6中的数据发生变化。例如该命令种类为插入命令类型,删除命令类型和更新命令类型等类型中的至少一个(均为非查询命令类型),则数据库6接受操作命令后必然会发生数据的变化,此时判定数据发生变化是准确的。而对于查询命令类型的操作命令,数据库6并不会对存储的数据进行任何的改变,此时会判定的数据没有发生变化。
此外,缓存5在更新过程中可以不间断运行,进而保证随时可以使用该缓存5。例如在数据分析系统中,缓存5可以随该数据分析系统不间断运行,保证数据分析系统正常利用缓存5对相应的数据库6中的数据进行分析处理。
在本发明的一个实施例中,该方法还包括:代理程序2将操作命令转发给数据库6。代理程序2在对操作命令进行分析和处理的同时也能够保证数据库6正常的接收和执行操作命令,而且数据执行操作命令后如果存储的数据发生变化,则代理程序2也会直接或间接的将数据库6对应的缓存5更新,从而使得更新后的缓存5与变化后的数据相对应。
本发明实施例还提供了一种数据分析系统更新缓存5的方法,其使用如上所述的更新数据库6对应的缓存5的方法,对所述数据分析系统的数据库6进行更新操作。达到了及时更新缓存5,并使得数据分析系统的数据分析模块7能够有效利用缓存5进行快速的数据响应,和精准的数据分析的目的。
图4为利用代理程序2更新缓存5的装置1的结构框图,本发明实施例的一种利用代理程序2更新缓存5的装置1,如图4所示,缓存5为数据库6对应的缓存5,用户可以使用缓存5中记录的数据信息来对数据库6中的数据进行操作从而提高数据库6的响应速度,装置包括代理程序2,监控模块3和更新模块4:
代理程序2配置为拦截发送给数据库6的操作命令。该操作命令可以有其他相应的数据库6操作设备或操作模块发送,例如可以由与数据库6有线或无线连接的业务系统8发送,该业务系统8能够操作数据库6并对存储的数据进行处理。该操作命令包括了对数据库6进行各种操作的相应命令,例如SQL语言的操作命令,如insert、update、delete等命令。在向数据库6发送操作命令时代理程序2对操作命令进行拦截,因此在操作命令发送至数据库6之前可以被代理程序2先行获取。
监控模块3配置为获取操作命令包含的内容信息,并当内容信息符合预设条件时,判定数据库6中的数据发生变化。监控模块3可以对获取的操作命令进行分析,得到其内容信息,该内容信息可以为操作命令的种类,对操作对象的执行次序,或预判断的执行后得到的结果等,如果这些内容信息符合预设条件,监控模块3则判定数据库6中的数据发生变化。预设条件可以根据用户的实际使用需求来设定,例如操作命令中一旦出现某一种类的操作命令,监控模块3即判定数据库6中的数据发生了变化;或者监控模块3直接从命令的内容入手,直接判断该命令是否会导致数据库6中的数据发生变化,如果是则判定数据库6中的数据发生了变化。
更新模块4与缓存5连接,更新模块4配置为根据变化后的数据库6中的数据更新缓存5。一旦监控模块3判定数据库6中的数据发生变化,则可以发出通知,要求相应的更新模块4立即对缓存5进行更新,更新模块4接到通知后可以根据变化后的数据(当前数据)来更新缓存5,从而保证缓存5与当前数据相适应。本发明的一个实施例中使用上述代理程序2更新缓存5的装置对缓存5的更新,从而利用缓存5进行多种操作时,例如利用缓存5进行数据分析时可以提高数据的响应速度,并且提高分析数据时的准确度。
在本发明的一个实施例中,代理程序2为数据库端口代理程序2可以为数据库端口代理软件),该数据库端口代理程序2可以对数据库6中所有的输入和输出端口进行监测,包括对流入和流出该输入和输出端口的数据进行检测,本申请的一个实施例中,数据库端口代理程序2安装在数据库6上,数据库端口代理程序2配置为拦截发送至数据库6的输入端口的操作命令。由于数据库端口代理程序2直接安装在数据库6上,这样可以提高数据库端口代理程序2的运行效率,使得发送给数据库6的操作命令可以立即被数据库端口代理程序2所拦截,而不会造成数据库6响应的延迟拖慢响应速度的现象。
在本发明的一个实施例中,监控模块3包括获取单元和判断单元,获取单元配置为分析操作命令,获取操作命令包含的命令种类。例如,该命令种类可以包括查询命令类型,插入命令类型,删除命令类型和更新命令类型等类型中的至少一个,获取单元获取上述命令种类中的至少一个;判断单元配置为当命令种类中包含非查询命令类型时,判定数据库6中的数据发生变化。例如该命令种类为插入命令类型,删除命令类型和更新命令类型等类型中的至少一个(均为非查询命令类型),则数据库6接受操作命令后必然会发生数据的变化,此时判断单元判定数据发生变化是准确的。而对于查询命令类型的操作命令,数据库6并不会对存储的数据进行任何的改变,此时判断单元会判定的数据没有发生变化。
缓存5在更新过程中不间断运行,进而保证随时可以使用该缓存5。例如在数据分析系统中,缓存5可以随该数据分析系统不间断运行,保证数据分析系统正常利用缓存5对相应的数据库6中的数据进行分析处理。
代理程序2进一步配置为将操作命令转发给数据库6。代理程序2在对操作命令进行分析和处理的同时也能够保证数据库6正常的接收和执行操作命令,而且数据执行操作命令后如果存储的数据发生变化,则代理程序2也会直接或间接的将数据库6对应的缓存5更新,从而使得更新后的缓存5与变化后的数据相对应。
本发明实施例还提供了一种数据分析系统,如图5所示,该系统包括如上所述装置,并利用该装置对数据分析系统的数据库6对应的缓存5进行更新操作。达到了及时更新缓存5,并使得数据分析系统的数据分析模块7能够有效利用缓存5进行快速的数据响应,和精准的数据分析的目的。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (12)
1.一种利用代理程序更新缓存的方法,其特征在于,所述缓存为数据库对应的缓存,所述方法包括:
利用所述代理程序拦截发送给所述数据库的操作命令;
获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化;
根据变化后的所述数据库中的数据更新所述缓存。
2.根据权利要求1所述的方法,其特征在于,所述代理程序为数据库端口代理程序,所述利用所述代理程序拦截发送给所述数据库的操作命令包括:将所述数据库端口代理程序安装在所述数据库上;利用所述数据库端口代理程序拦截发送至所述数据库的输入端口的操作命令。
3.根据权利要求1所述的方法,其特征在于,所述获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化具体为:分析所述操作命令,获取所述操作命令包含的命令种类;当所述命令种类中包含非查询命令类型时,判定所述数据库中的数据发生变化。
4.根据权利要求1所述的方法,其特征在于,所述缓存在更新过程中不间断运行。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述代理程序将所述操作命令转发给所述数据库。
6.一种数据分析系统更新缓存的方法,其特征在于,使用如权利要求1至5任意一项所述的利用代理程序更新缓存的方法,对所述数据分析系统的数据库对应的缓存进行更新操作。
7.一种利用代理程序更新缓存的装置,其特征在于,所述缓存为数据库对应的缓存,所述装置包括代理程序,监控模块和更新模块:
所述代理程序配置为拦截发送给所述数据库的操作命令;
所述监控模块配置为获取所述操作命令包含的内容信息,并当所述内容信息符合预设条件时,判定所述数据库中的数据发生变化;
所述更新模块与缓存连接,所述更新模块配置为根据变化后的所述数据库中的数据更新所述缓存。
8.根据权利要求1所述的装置,其特征在于,所述代理程序为数据库端口代理程序,所述数据库端口代理程序安装在所述数据库上,所述数据库端口代理程序配置为拦截发送至所述数据库的输入端口的操作命令。
9.根据权利要求1所述的装置,其特征在于,所述监控模块包括获取单元和判断单元,所述获取单元配置为分析所述操作命令,获取所述操作命令包含的命令种类;所述判断单元配置为当所述命令种类中包含非查询命令类型时,判定所述数据库中的数据发生变化。
10.根据权利要求1所述的装置,其特征在于,所述缓存在更新过程中不间断运行。
11.根据权利要求1所述的装置,其特征在于,所述代理程序进一步配置为将所述操作命令转发给所述数据库。
12.一种数据分析系统,其特征在于,包括如权利要求7至11任意一项所述装置,并利用所述装置对所述数据分析系统的数据库对应的缓存进行更新操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710708043.9A CN109947780A (zh) | 2017-08-17 | 2017-08-17 | 一种利用代理程序更新缓存的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710708043.9A CN109947780A (zh) | 2017-08-17 | 2017-08-17 | 一种利用代理程序更新缓存的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109947780A true CN109947780A (zh) | 2019-06-28 |
Family
ID=67003896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710708043.9A Pending CN109947780A (zh) | 2017-08-17 | 2017-08-17 | 一种利用代理程序更新缓存的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947780A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760934A (zh) * | 2021-09-08 | 2021-12-07 | 福建天泉教育科技有限公司 | 一种数据读取方法及终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064650A1 (en) * | 2002-09-27 | 2004-04-01 | International Business Machines Corporation | Method, system, and program for maintaining data in distributed caches |
CN102789475A (zh) * | 2012-05-08 | 2012-11-21 | 华为技术有限公司 | 数据库服务器端结果集缓存的数据同步方法及装置 |
CN102968455A (zh) * | 2012-10-31 | 2013-03-13 | 山东浪潮齐鲁软件产业股份有限公司 | 一种应用层透明的数据库加密方法 |
CN105608229A (zh) * | 2016-01-29 | 2016-05-25 | 锐达互动科技股份有限公司 | 一种主从数据库同步系统及方法 |
CN107038222A (zh) * | 2017-03-24 | 2017-08-11 | 福建天泉教育科技有限公司 | 数据库缓存实现方法及其系统 |
-
2017
- 2017-08-17 CN CN201710708043.9A patent/CN109947780A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064650A1 (en) * | 2002-09-27 | 2004-04-01 | International Business Machines Corporation | Method, system, and program for maintaining data in distributed caches |
CN102789475A (zh) * | 2012-05-08 | 2012-11-21 | 华为技术有限公司 | 数据库服务器端结果集缓存的数据同步方法及装置 |
CN102968455A (zh) * | 2012-10-31 | 2013-03-13 | 山东浪潮齐鲁软件产业股份有限公司 | 一种应用层透明的数据库加密方法 |
CN105608229A (zh) * | 2016-01-29 | 2016-05-25 | 锐达互动科技股份有限公司 | 一种主从数据库同步系统及方法 |
CN107038222A (zh) * | 2017-03-24 | 2017-08-11 | 福建天泉教育科技有限公司 | 数据库缓存实现方法及其系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760934A (zh) * | 2021-09-08 | 2021-12-07 | 福建天泉教育科技有限公司 | 一种数据读取方法及终端 |
CN113760934B (zh) * | 2021-09-08 | 2024-04-12 | 福建天泉教育科技有限公司 | 一种数据读取方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582588B (zh) | 测试用例生成方法、装置及电子设备 | |
IL173424A (en) | Method, apparatus and computer program for processing a queue of messages | |
US20160364283A1 (en) | Hierarchical fault determination in an application performance management system | |
CN104778185A (zh) | 异常结构化查询语言sql语句确定方法及服务器 | |
CN104866619A (zh) | 数据仓库的数据监控方法和系统 | |
CN110995524B (zh) | 流量数据监控方法、装置、电子设备和计算机可读介质 | |
US20180143897A1 (en) | Determining idle testing periods | |
CN102609472A (zh) | 进行分布式数据库系统性能测试的方法及系统 | |
CN115769198A (zh) | 用于查询优化的自动反馈和连续学习 | |
CN112612680A (zh) | 一种消息告警方法、系统、计算机设备及存储介质 | |
CN109947780A (zh) | 一种利用代理程序更新缓存的方法、装置及系统 | |
CN112650656A (zh) | 性能监控方法、装置、设备、服务器及存储介质 | |
US11044319B2 (en) | Equipment analysis support apparatus, equipment analysis support method, and equipment analysis system | |
US20160366033A1 (en) | Compacted messaging for application performance management system | |
CN106970871B (zh) | 一种外挂程序检测的方法及装置 | |
CN109783284A (zh) | 信息获取方法、系统及服务器、计算机可读存储介质 | |
KR101968575B1 (ko) | 실시간 병목 자동 분석 방법 및 이러한 방법을 수행하는 장치 | |
CN113364625B (zh) | 一种数据传输方法、中间传输设备及存储介质 | |
CN114331688A (zh) | 一种银行柜面系统业务批量运行状态检测方法及装置 | |
CN106570193B (zh) | 一种时序大数据的加载方法 | |
CN111506422B (zh) | 事件分析方法及系统 | |
CN111221894B (zh) | 基于配置的时序数据库存储方法、装置及服务器 | |
US11487746B2 (en) | Business impact analysis | |
CN109857764A (zh) | 一种更新数据库对应的缓存的方法、装置及系统 | |
MX2023001462A (es) | Metodos y sistemas de analisis predictivo y/o control de procesos. |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190628 |