缓存代码处理方法、装置、存储介质及电子设备与流程

文档序号:13982825阅读:135来源:国知局
缓存代码处理方法、装置、存储介质及电子设备与流程

本发明涉及计算机技术的领域,尤其涉及一种缓存代码处理方法、装置、存储介质及电子设备。



背景技术:

缓存技术是java程序设计中最常用的技术之一,当需要读取数据时,java程序中的缓存技术会首先从电子设备的缓存中查找需要的数据,如果存在则直接执行,若不存在则再从电子设备的内存中查找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助程序更快地运行。

现有技术中,不同的电子设备使用不同的操作系统,由于每个操作系统都具备各自的业务数据和管理模式,在向每个系统中加入缓存代码时都需要针对该系统进行设置。

采用现有技术,由于每个操作系统的缓存方法不同,当开发的软件存在多个系统时,向不同的操作系统中加入缓存代码时的开发与管理需要大量投入,因此成本较高。



技术实现要素:

本发明实施例提供一种缓存代码处理方法、装置、存储介质及电子设备,降低了缓存代码开发与管理的投入与成本。

本发明实施例提供一种缓存代码处理方法,包括:

获取缓存代码的注解和预设程序语言类中第一函数的代码,所述第一函数为包括缓存功能的函数,所述缓存代码的注解用于标识执行所述缓存功能的缓存代码;

将所述缓存代码的注解写入所述预设程序语言类中的所述第一函数的代码前;

通过所述缓存代码的注解将所述缓存代码写入所述第一函数。

在本发明一实施例中,所述获取缓存代码的注解和预设程序语言类中第一函数的代码之前,还包括:

定义所述第一函数和所述缓存代码的注解,并在所述缓存代码中定义计算资源类型,所述计算资源类型包括:数据库、文件、缓存及服务信息。

在本发明一实施例中,所述通过所述缓存代码的注解将所述缓存代码写入所述第一函数,包括:

编译所述预设程序语言类所在的程序,当编译完成后,遍历所述程序中并获取被所述注解标识的所述第一函数,通过所述缓存代码的注解调用所述缓存代码的注解标识的所述缓存代码,将所述缓存代码写入所述第一函数。

在本发明一实施例中,所述通过所述缓存代码的注解将所述缓存代码写入所述第一函数,包括:

编译所述预设程序语言类所在的程序,当编译到所述缓存代码的注解时,通过所述缓存代码的注解调用所述缓存代码的注解标识的所述缓存代码,将所述缓存代码写入所述第一函数。

在本发明一实施例中,所述获取缓存代码的注解和预设程序语言类中第一函数的代码之前,还包括:

判断所述预设程序语言类中是否包括第一函数,若包括则获取缓存代码的注解和预设程序语言类中第一函数的代码。

在本发明一实施例中,

所述缓存代码的注解类型为资源类型;

所述缓存代码用于执行对缓存数据的查询、更新与修改操作;

所述缓存代码的更新场景包括缓存不更新、缓存按预设频率更新或缓存实时更新。

在本发明一实施例中,

所述预设程序语言类为java类;

所述java类通过javassist框架提供编译时运行机制。

本发明实施例提供一种缓存代码处理装置,包括:

获取模块,所述获取模块用于获取缓存代码的注解和预设程序语言类中第一函数的代码,所述第一函数为需要执行缓存功能的函数,所述缓存代码的注解用于标识执行缓存功能的缓存代码;

写入模块,所述写入模块用于将所述缓存代码的注解写入所述预设程序语言类中的所述第一函数的代码前;

处理模块,所述处理模块用于通过所述缓存代码的注解将所述缓存代码写入所述第一函数。

本发明实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各实施例中任一项所述的缓存代码处理方法。

本发明实施例提供一种电子设备,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行上述各实施例中任一项所述的缓存代码处理方法。

本发明实施例提供一种缓存代码处理方法、装置、存储介质及电子设备,其中方法包括:获取缓存代码的注解和预设程序语言类中的第一函数,第一函数为包括缓存功能的函数,缓存代码的注解用于标识执行缓存功能的缓存代码;将缓存代码的注解写入预设程序语言类中的第一函数前;编译预设程序语言类所在的程序,当编译到缓存代码的注解时,通过缓存代码的注解将缓存代码写入第一函数。本发明实施例提供的缓存代码处理方法、装置、存储介质及电子设备,在向不同的操作系统中加入缓存代码时不需要大量投入成本进行开发与管理,降低了缓存代码开发与管理的投入与成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,

显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明缓存代码处理方法实施例一的流程示意图;

图2为本发明缓存代码处理方法实施例二的流程示意图;

图3为本发明缓存代码处理方法实施例三的流程示意图;

图4为本发明缓存代码处理装置实施例一的结构示意图。

附图标记说明:

401:获取模块;

402:写入模块;

403:处理模块。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明缓存代码处理方法实施例一的流程示意图。如图1所示,本实施例缓存代码处理方法包括如下步骤:

s101:获取缓存代码的注解和预设程序语言类中第一函数的代码,第一函数为包括缓存功能的函数,缓存代码的注解用于标识执行缓存功能的缓存代码。

具体地,本实施例执行主体为具备处理代码以及编译代码的电子设备。用户在编写预设程序语言类时,当编写到预设程序语言类中的第一函数时,若第一函数中需要执行缓存相关功能,则在s101中电子设备获取缓存代码的注解以及预设程序语言类中第一函数的代码,其中缓存代码的注解和第一函数可以由用户编程完成,也可以由电子设备自动生成。可选地,在本实施例中的预设程序语言可以为具备注解功能的编程语言,例如java语言,c语言或者其他面向对象的语言。

s102:将缓存代码的注解写入预设程序语言类中的第一函数的代码前。

本步骤从代码层实现,直接对缓存代码的注解与第一函数的代码进行处理。例如:当用户在编写办公用预设程序语言类时,其中的第一函数为文档处理方法,该文档处理方法要求每隔第一时间对文档进行缓存,则电子设备将s101中获取的缓存代码的注解写入该文档处理函数的代码之前。

此外,需要说明的是,当预设程序语言类中存在多个需要执行缓存功能的函数时,则将缓存代码的注解写入每一个需要执行缓存功能的函数前,此时的第一函数可以理解为多个需要执行缓存功能的函数的抽象集合。

s103:通过缓存代码的注解将缓存代码写入第一函数。

经过s102的将缓存代码的注解插入第一函数的代码前之后,通过第一函数之前的缓存代码的注解,将缓存代码写入第一函数中。

具体地,可以通过对预设程序语言类所在的程序进行编译的方式,在编译中或编译后,将缓存代码写入第一函数中。

可选地,s103一种可能的实现方式为:译预设程序语言类所在的程序,当编译到缓存代码的注解时,通过缓存代码的注解调用缓存代码的注解标识的缓存代码,将缓存代码写入第一函数。

可选地,s103另一种可能的实现方式为:编译预设程序语言类所在的程序,当编译完成后,遍历程序中并获取被注解标识的第一函数,通过缓存代码的注解调用缓存代码的注解标识的缓存代码,将缓存代码写入第一函数。具体地,在编译过程中编译的执行设备如编译器将遍所有程序中包括的预设程序语言类,查找每个预设程序语言类中代码前包括缓存代码的注解标注的方法,并根据缓存代码的注解将缓存代码的注解标识的缓存代码写入该函数中。

可选地,在s103之后还包括:接收指示信息,响应该指示信息执行s103中编译过的预设程序语言类所在的程序,其中第一函数可执行缓存代码对应的缓存功能例如缓存数据的查询、更新和/或修改等操作。

则其中可选地,在上述实施例中,缓存代码用于执行对缓存数据的查询、更新与修改操作。

可选地,在上述实施例中,缓存代码的注解类型为资源aresource类型,此时预设程序语言类为java类。

可选地,在上述实施例中,缓存代码的更新场景包括缓存不更新、缓存按预设频率更新或缓存实时更新。

可选地,上述实施例由javassist提供的编译时运行机制实现,其中在预设程序语言程序编译执行阶段可动态创建一个新的类,在预设程序语言程序编译执行到一定阶段时根据类的注解自动调用执行新的类。

可选地,在上述实施例中,预设程序语言类为java类,java类通过javassist框架提供编译时运行机制。

本实施例提供的缓存代码处理方法通过将缓存代码的注解写入需要执行缓存功能第一函数的代码前,并在编译时通过缓存代码的注解将其标注的缓存代码写入第一函数,以便第一函数所在程序在执行时能够通过缓存代码执行缓存相关功能。

本实施例提供的缓存代码处理方法,能够将缓存代码独立地插入第一函数,使得缓存代码的编写人员无需了解第一函数的程序特征、第一函数的编写操作人员无需了解缓存框架的细节,通过注解的方式将缓存代码插入方法,可以通过简单的配置即可实现在方法中增加缓存功能,在向不同的操作系统中加入缓存代码时不需要大量投入成本进行开发与管理,降低了缓存代码开发与管理的投入与成本。

图2为本发明缓存代码处理方法实施例二的流程示意图。如图2所示,在图1所示实施例的基础上s101之前还包括:

s201:定义和缓存代码的注解,并在缓存代码中定义计算资源类型,计算资源类型包括:数据库、文件、缓存及服务信息。

具体地,在s201中,可预先定义缓存代码的注解,以便s101中调用使用。同时,由于缓存代码在后续编译时才进行处理,则还能够在缓存代码中定义只有编译运行时才能获取的数据库、文件、缓存及服务信息等信息,从而提高了后续代码编译运行时的效率和速度。

图3为本发明缓存代码处理方法实施例三的流程示意图。如图3所示,在上述实施例的基础上,s101之前还包括:

s103:判断预设程序语言类中是否包括第一函数,若包括则获取缓存代码的注解和预设程序语言类中第一函数的代码。

具体地,s301可以为s201的并列步骤,可以在s101之前的任意时刻同时定义互不干涉,s201中定义好缓存代码的注解,s301中通过遍历的方式查找预设语言类中是否包括需要执行缓存功能的第一函数,若有,则在s101中同时获取s301中查找的第一函数与s201中定义的缓存代码的注解。

图4为本发明缓存代码处理装置实施例一的结构示意图。如图4所示,本实施例装置包括:获取模块401,写入模块402和处理模块403。

其中,获取模块401用于获取缓存代码的注解和预设程序语言类中第一函数的代码,第一函数为需要执行缓存功能的函数,缓存代码的注解用于标识执行缓存功能的缓存代码;

写入模块402用于将缓存代码的注解写入预设程序语言类中的第一函数的代码前;

处理模块403用于通过缓存代码的注解将缓存代码写入第一函数。

本实施例提供的缓存代码处理装置,用于执行图1所示实施例中的缓存代码处理方法,其具有相同的技术特征和技术效果,在此不再赘述。

可选地,在图4所示实施例基础上,本实施例装置还包括:定义模块。

其中,定义模块用于定义第一函数和缓存代码的注解,并在缓存代码中定义计算资源类型,计算资源类型包括:数据库、文件、缓存及服务信息。

本实施例提供的缓存代码处理装置,用于执行图2所示实施例中的缓存代码处理方法,其具有相同的技术特征和技术效果,在此不再赘述。

可选地,在图4所示实施例基础上,本实施例装置还包括:判断模块。

其中判断模块用于判断所述预设程序语言类中是否包括第一函数,若包括则获取缓存代码的注解和预设程序语言类中第一函数的代码。

本实施例提供的缓存代码处理装置,用于执行图3所示实施例中的缓存代码处理方法,其具有相同的技术特征和技术效果,在此不再赘述。

可选地,上述实施例中,处理模块403具体用于编译所述预设程序语言类所在的程序,当编译完成后,遍历所述程序中并获取被所述注解标识的所述第一函数,通过所述缓存代码的注解调用所述缓存代码的注解标识的所述缓存代码,将所述缓存代码写入所述第一函数。

可选地,上述实施例中,处理模块403具体用于编译所述预设程序语言类所在的程序,当编译到所述缓存代码的注解时,通过所述缓存代码的注解调用所述缓存代码的注解标识的所述缓存代码,将所述缓存代码写入所述第一函数。

本实施例提供的缓存代码处理装置,用于执行上述实施例中的缓存代码处理方法,其具有相同的技术特征和技术效果,在此不再赘述。

可选地,在上述实施例中,缓存代码的注解类型为资源aresource类型。

可选地,在上述实施例中,缓存代码用于执行对缓存数据的查询、更新与修改操作。

可选地,在上述实施例中,缓存代码的更新场景包括缓存不更新、缓存按预设频率更新或缓存实时更新。

可选地,在上述实施例中,预设程序语言类为java类,java类通过javassist框架提供编译时运行机制。

本实施例提供的缓存代码处理装置,用于执行上述实施例中的缓存代码处理方法,其具有相同的技术特征和技术效果,在此不再赘述。

本发明一实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一项所述的缓存代码处理方法。

本发明一实施例还提供一种存储介质,包括:可读存储介质和计算机程序;

所述计算机程序存储在可读存储介质上,所述计算机程序用于实现上述各实施例中任一项所述的缓存代码处理方法。

本发明一实施例还提供一种程序产品,该该程序产品包括计算机程序(即执行指令),该计算机程序存储在可读存储介质中。

所述编码设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得编码设备实施前述的各种实施方式提供的缓存代码处理方法。

本发明一实施例还提供一种电子设备,包括处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行上述各实施例中任一项所述的缓存代码处理方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1