本申请公开了一种缓存功能的控制方法、装置、计算机设备及存储介质。本申请在目标Java进程需要数据缓存时,获取目标Java进程的标识,通过标识利用Java自带的Virtual Machine连接到目标进程,连接后得到一个Virtual Machine对象,调用该Virtual Machine对象的loadAgent,通过loadAgent将JavaAgent缓存控制功能的JAR包动态加载到目标Java进程中,并获取到JAVAInstrument对象,通过JAVA Instrument对象对目标JAVAagent的字节码进行修改,从而使得目标Java进程使用缓存相关功能,无需对目标Java进程重新进行开发,节省开发时间,从而提高开发效率。从而提高开发效率。从而提高开发效率。
【技术实现步骤摘要】
一种缓存功能的控制方法、装置、计算机设备及存储介质
[0001]本申请涉及计算机
,具体涉及一种缓存功能的控制方法、装置、计算机设备及存储介质。
技术介绍
[0002]随着信息网络技术的发展,基于Java开发了各种网络服务。为了提高查询接口的效率,往往会提供缓存功能的控制功能,在服务器上增加缓存功能的控制层,预先获取数据并且保存到存储器中,若用户查询的数据在缓存中,则直接从缓存中获取数据并返回给用户,以此,提高数据查询效率。
[0003]相关技术中,实现缓存功能的控制的方式主要通过在网络服务的实现代码中连接缓存系统、存储数据、查询数据、缓存过期失效,以及删除缓存数据等,增加系统的开发时间,同时,增加了系统的出错率,从而影响了网络服务系统的开发效率。
技术实现思路
[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]关联单元,用于基于所述进程标识将所述虚拟机与所述目标服务进程关联。
[0030]在一些实施例中,该装置还包括:
[0031]第二获取单元,用于获取当前目标服务进程对缓存数据中目标数据的访问信息;
[0032]更新单元,用于基于所述访问信息更新所述缓存数据。
[0033]相应的,本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在储存器上并可在处理器上运行的计算机程序,其中,处理器执行本申请实施例任一提供的缓存功能的控制方法。
[0034]相应的,本申请实施例还提供了一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行如上的缓存功能的控制方法。
[0035]本申请在目标Java进程需要数据缓存时,获取目标Java进程的标识,通过标识利用Java自带的Virtual Machine连接到目标进程,连接后得到一个Virtual Machine对象,调用该Virtual Machine对象的loadAgent,通过loadAgent将JavaAgent缓存控制功能的JAR包动态加载到目标Java进程中,并获取到JAVAInstrument对象,通过JAVA Instrument对象对目标JAVAagent的字节码进行修改,从而使得目标Java进程使用缓存相关功能,无需对目标Java进程重新进行开发,节省开发时间,从而提高开发效率。
附图说明
[0036]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1为本申请实施例提供的一种缓存功能的控制方法的流程示意图。
[0038]图2为本申请实施例提供的另一种缓存功能的控制方法的流程示意图。
[0039]图3为本申请实施例提供的一种缓存功能的控制装置的结构框图。
[0040]图4为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
[0041]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]本申请实施例提供一种缓存功能的控制方法、装置、存储介质及计算机设备。具体地,本申请实施例的缓存功能的控制方法可以由计算机设备执行,其中,该计算机设备可以为服务器等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0043]例如,该计算机设备可以是服务器,该服务器可以获取到目标服务进程的进程控制符,则基于虚拟机为目标服务进程创建目标虚拟机对象,其中,目标虚拟机对象包括提供数据缓存功能的第一方法;确定目标服务进程中需要数本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种缓存功能的控制方法,其特征在于,所述方法包括:获取到目标服务进程的进程控制符,则基于虚拟机为所述目标服务进程创建目标虚拟机对象,其中,所述目标虚拟机对象包括提供数据缓存功能的第一方法;确定目标服务进程中需要数据缓存功能的第二方法;基于所述第一方法,调整所述目标服务进程中所述第二方法的字节码,使得调整后的目标服务进程具有数据缓存功能;响应于数据缓存,通过所述调整后的目标服务进程实现数据缓存功能,以实现数据缓存写入、读取、修改或删除。2.根据权利要求1所述的方法,其特征在于,所述基于虚拟机为所述目标服务进程创建目标虚拟机对象,包括:基于所述虚拟机为所述目标服务进程创建一初始虚拟机对象;通过所述初始虚拟机对象调用所述第一方法,并将目标文件包配置为所述第一方法的参数,得到所述目标虚拟机对象,其中,所述目标文件包用于修改字节码。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一方法,调整所述目标服务进程中所述第二方法的字节码,包括:调用所述第一方法,通过所述第一方法中的所述目标文件包对所述第二方法的字节码进行修改。4.根据权利要求3所述的方法,其特征在于,所述通过所述第一方法中的所述目标文件包对所述第二方法的字节码进行修改,包括:通过所述目标文件包获取一修改对象;基于所述修改对象将目标字节码添加至所述第二方法中的字节码中,以使所述第二方法实现数据缓存功能。5.根据权利要求1所述的方法,其特征在于,所述确定目标服务进程中需要数据缓存功能的第二方法,包括:获取所述目标服务进程的接口配置信息;根据所述接口配置信...
【专利技术属性】
技术研发人员:李鹏程,
申请(专利权)人:平安银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。