掌桥专利:专业的专利平台
掌桥专利
首页

金融应用程序中的对象标识生成方法及装置

文献发布时间:2024-01-17 01:13:28


金融应用程序中的对象标识生成方法及装置

技术领域

本申请涉及数据处理技术领域,具体涉及一种金融应用程序中的对象标识生成方法及装置。

背景技术

金融应用,如手机银行或其他金融理财的应用程序,通常可通过Spring进行开发。在这些金融应用中,构成其主干并由Spring IOC容器管理的bean,是一个由Spring IOC容器实例化、组装和管理的对象。在金融应用运行时,需要依赖对这些对象的准确调用。而为能够有效的调用到相应的对象以及进行对象的定位,相关技术中,需要对这些对象进行对象标识,以根据对象标识对相应的对象进行调用和定位,因此,对象标识是准确进行对象调用和定位的关键。而如何为对象进行准确标识,以减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位,是当前继续解决的技术问题。

发明内容

本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种金融应用程序中的对象标识生成方法,能够减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位的情况。

本申请还提出一种金融应用程序中的对象标识生成装置。

本申请还提出一种电子设备。

本申请还提出一种计算机可读存储介质。

根据本申请第一方面实施例的金融应用程序中的对象标识生成方法,包括:

确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

本申请实施例提供的金融应用程序中的对象标识生成方法,通过获取当前对象的上层对象的对象标识,以根据上层对象的对象标识以及上层对象的属性的字段名称,来生成当前对象的对象标识,从而通过上层对象的对象标识,可以标识两者之间的关联关系,而属性的字段名称,可以明确两者依赖的桥梁,同时避免依赖同一个上层对象的多个下层对象为同类时出现对象标识的重复隐患,进而能够减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位的情况。

根据本申请的一个实施例,还包括:

确定所述当前对象为顶层对象,根据所述当前对象的业务属性,生成所述当前对象的对象标识。

根据本申请的一个实施例,根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识,包括:

对所述上层对象的对象标识以及所述上层对象的属性的字段名称进行拼接,生成所述当前对象的初始标识;

确定所述当前对象不为包括多个对象的对象列表,根据所述初始标识生成所述当前对象的对象标识。

根据本申请的一个实施例,根据所述初始标识生成所述当前对象的对象标识,包括:

将所述初始标识与所述当前对象的类名进行拼接,生成所述当前对象的对象标识。

根据本申请的一个实施例,还包括:

确定所述当前对象为对象列表,根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的对象标识。

根据本申请的一个实施例,根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的对象标识,包括:

根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的前缀标识;

将所述对象列表的各对象中任一目标对象的前缀标识,与所述目标对象的类名进行拼接,生成所述目标对象的对象标识。

根据本申请的一个实施例,所述上层对象为bean。

根据本申请第二方面实施例的金融应用程序中的对象标识生成装置,包括:

对象标识获取模块,英语确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

对象标识生成模块,用于根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的金融应用程序中的对象标识生成方法。

根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的金融应用程序中的对象标识生成方法。

根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的金融应用程序中的对象标识生成方法。

本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:

通过获取当前对象的上层对象的对象标识,以根据上层对象的对象标识以及上层对象的属性的字段名称,来生成当前对象的对象标识,从而通过上层对象的对象标识,可以标识两者之间的关联关系,而属性的字段名称,可以明确两者依赖的桥梁,同时避免依赖同一个上层对象的多个下层对象为同类时出现对象标识的重复隐患,进而能够减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位的情况。

进一步的,通过在确定当前对象为顶层对象时,根据当前对象的业务属性,生成当前对象的对象标识,从而确保顶层对象的对象标识的唯一性,以对顶层对象所处的位置进行有效标识,进而确保不会出现顶层对象的调用出错或无法对异常的顶层对象进行定位的情况。

进一步的,通过对上层对象的对象标识以及上层对象的属性的字段名称进行拼接,生成当前对象的初始标识,并检测当前对象是否为对象列表,并在确定当前对象不为包括多个对象的对象列表后,再根据初始标识生成当前对象的对象标识,从而确保当前对象的对象标识的唯一性,避免在金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位。

附图说明

为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的金融应用程序中的对象标识生成方法的流程示意图;

图2是本申请实施例中对图1的金融应用程序中的当前对象的对象标识的生成做进一步细化的流程示意图;

图3是本申请实施例提供的对象列表中各对象的对象标识生成的流程示意图;

图4是本申请实施例提供的金融应用程序中的对象标识生成装置的结构示意图;

图5是本申请实施例提供的电子设备的结构示意图。

具体实施方式

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

下面,将通过几个具体的实施例对本申请实施例提供的金融应用程序中的对象标识生成方法及装置进行详细介绍和说明。

现有的金融业务大多数是基于Spring进行开发。而在这些金融应用中,构成其主干并由Spring IOC容器管理的bean,是一个由Spring IOC容器实例化、组装和管理的对象,在实际的应用中,IOC容器中几乎不可能仅有单一的对象,一般都是由多个对象协作提供服务,且存在多层对象的依赖。当金融应用运行时,需要对这些对象进行调用或定位,因此需为这些对象设定一个对象标识,以根据对象标识对相应的对象进行调用和定位。

而对于对象标识的设定,可以是将对象的类名作为该对象的对象标识。然而,在各对象中,会存在依赖同一个上层对象的多个下层对象的情况,而这些下层对象可能是同类,使得将对象的类名作为该对象的对象标识时,会出现多个对象的对象标识重复的情况,从而导致在金融应用运行时由于对象标识重复而出现对象调用出错,或金融应用运行出错时无法对异常对象进行定位。

为此,可通过Spring IOC容器给对象标识赋值为类全名,若出现多个,则会按照出现的次序,在类全名后拼接#${次序},如“类全名#1”。该方式可以保证全局唯一,但是其对象标识包含的内容几乎为零,在各对象之间的依赖层次较深的情况下,即存在多层的对象依赖时,若出现报错,无法通过对象标识分辨哪一个是真正报错的对象。

因此,为能够减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位的情况,在一实施例中,提供了一种金融应用程序中的对象标识生成方法,该方法应用于终端设备,用于生成应用程序中各对象的对象标识。其中,终端设备可以是用户终端或服务器,用户终端可以是台式终端或便携式终端,如台式电脑、笔记本电脑等,服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能采样点设备等基础云计算服务的云服务器。

如图1所示,本实施例提供的一种金融应用程序中的对象标识生成方法包括:

步骤101,确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

步骤102,根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

通过获取当前对象的上层对象的对象标识,以根据上层对象的对象标识以及上层对象的属性的字段名称,来生成当前对象的对象标识,从而通过上层对象的对象标识,可以标识两者之间的关联关系,而属性的字段名称,可以明确两者依赖的桥梁,同时避免依赖同一个上层对象的多个下层对象为同类时出现对象标识的重复隐患,进而能够减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位的情况。

在一实施例中,在通过Spring构建的金融应用中的各对象进行对象标识生成时,可根据各对象之间的依赖关系,从最上层到最下层,依次获取每一层的对象进行对象标识的生成。如对象A为对象B的上层依赖对象,则先生成对象A的对象标识,再生成对象B的对象标识。对于处于同一层的多个对象,则可以并发进行对象标识的生成。

而针对具体的某一个对象,当需生成该对象的对象标识时,可将该对象作为当前对象,然后基于各对象之间的依赖关系,检测该当前对象是否存在上层对象,即该当前对象是否存在需要依赖的bean。若当前对象不存在上层对象,则表示该当前对象为最外层的bean,即为顶层对象。

若当前对象为顶层对象,考虑到顶层对象的数量不多,因此可以通过人工命名来形成顶层对象的唯一对象标识,即唯一bean id。

而为提高对象标识的生成效率,在一实施例中,当确定当前对象为顶层对象时,可根据当前对象的业务属性,来生成当前对象的对象标识。

由于顶层对象,即最外层的bean,其字段中存在与与其业务属性对应的特色字段,因此当确定当前对象为顶层对象时,可对该当前对象中与其业务属性对应的特色字段进行拼装,从而生成该顶层对象的唯一对象标识。

通过在确定当前对象为顶层对象时,根据当前对象的业务属性,生成当前对象的对象标识,从而确保顶层对象的对象标识的唯一性,以对顶层对象所处的位置进行有效标识,进而确保不会出现顶层对象的调用出错或无法对异常的顶层对象进行定位的情况。

若该当前对象存在上层对象,则表示其存在需要依赖的bean,此时该当前对象不为最外层的bean,即为非顶层对象。由于各对象的对象标识的生成是由从最上层到最下层依次生成,因此若当前对象为非顶层对象,则表示该当前对象的上层对象已经生成了对象标识,此时则可获取该当前对象的上层对象的对象标识。

如当前对象为对象B,其依赖的上层对象为对象A。由于对象A为对象B的上层依赖对象,而各对象的对象标识的生成顺序是先生成上层对象的对象标识后,再生成下层对象的对象标识,因此当需要生成对象B的对象标识时,必然已生成了对象A的对象标识,此时则可获取到对象A的对象标识。

由于当前对象依赖于上层对象,即上层对象的属性是当前对象,而通过上层对象的对象标识,可以标识两者之间的关联关系,而上层对象的属性的字段名称,可以明确两者依赖的桥梁。如上层对象lights=new Light[1],则此时new Light()即为上层对象的属性得到字段名称。因此在获取到上层对象的对象标识后,可将上层对象的对象标识,与属性的字段名称进行拼接,从而得到当前对象的对象标识。

而考虑到当前对象可能是包括多个对象的对象列表,此时若直接由上层对象的对象标识以及上层对象的属性的字段名称进行拼接,来生成当前对象的对象标识,会导致对象列表中所有对象的对象标识重复,影响对象的调用或定位。为此,在一实施例中,如图2所示,根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识,包括:

步骤201,对所述上层对象的对象标识以及所述上层对象的属性的字段名称进行拼接,生成所述当前对象的初始标识;

步骤202,确定所述当前对象不为包括多个对象的对象列表,根据所述初始标识生成所述当前对象的对象标识。

在一实施例中,在获取到上层对象的对象标识后,先对上层对象的对象标识,与上层对象的属性的字段名称进行拼接,来得到一个前缀名作为当前对象的初始标识。同时,检测当前对象是否为包括多个对象的对象列表。若当前对象不为包括多个对象的对象列表,则表示当前对象为单一的一个bean,此时可根据该初始标识,作为该当前对象的对象标识。

通过对上层对象的对象标识以及上层对象的属性的字段名称进行拼接,生成当前对象的初始标识,并检测当前对象是否为对象列表,并在确定当前对象不为包括多个对象的对象列表后,再根据初始标识生成当前对象的对象标识,从而确保当前对象的对象标识的唯一性,避免在金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位。

其中,根据初始标识生成当前对象的对象标识,可以是将初始标识直接作为当前对象的对象标识。而为能够更准确地对对象进行定位,在一实施例中,在确定当前对象不为包括多个对象的对象列表后,还可以获取当前对象的类名,然后将初始标识与当前对象的类名进行拼接,以生成当前对象的对象标识。这样,当前对象的对象标识即是唯一的,又可以通过其中的类名明确标识该当前对象的类属性信息,从而能够在当前对象出现异常时,能够利用带有其类属性信息的对象标识,准确地分辨其为哪一个对象,实现对当前对象进行更准确的定位。

若确定当前对象为对象列表,此时为避免对象列表中的对象的对象标识出现重复,则可根据初始标识以及对象列表中各对象的次序,生成对象列表中各对象的对象标识。

由于对象列表中的每个对象均设定有对应的次序,因此若当前对象为对象列表,则可根据该初始标识以及对象列表中任一对象的次序,来生成该对象的对象标识。如对象列表中包括对象A和对象B,对象A在对象列表中的次序为1,此时则可将初始标识与对象A在对象列表中的次序字段进行拼接,从而得到该对象A得到对象标识。

由于每个对象在对象列表中的次序不同,因此当确定当前对象为对象列表时,根据初始标识以及对象列表中各对象的次序,生成对象列表中各对象的对象标识,从而确保生成的对象标识的唯一性,进而能够确保金融应用程序中各对象的对象标识唯一,避免出现金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位。

而为能够更准确地对对象进行定位,在一实施例中,如图3所示,根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的对象标识,包括:

步骤301,根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的前缀标识;

步骤302,将所述对象列表的各对象中任一目标对象的前缀标识,与所述目标对象的类名进行拼接,生成所述目标对象的对象标识。

在确定当前对象为包括多个对象的对象列表时,可先将对象列表中各对象的次序,分别与初始标识进行拼接,得到对象列表中各对象的前缀标识。如对象列表中包括对象A和对象B,则将对象A的次序字段与初始标识拼接,得到对象A的前缀标识。同时,将对象B的次序字段与初始标识拼接,得到对象B的前缀标识。

在得到对象列表中每个对象的前缀标识后,针对对象列表的各对象中的任一个对象,将该对象标记为目标对象,然后获取该目标对象的类名,并将该目标对象的前缀标识,与该目标对象的类名进行拼接,从而确定该目标对象最终的对象标识。这样,生成的对象列表中各对象的对象标识,便能够明确标识各对象的类属性信息,从而能够在当前对象出现异常时,能够利用带有其类属性信息和次序字段的对象标识,准确地分辨其为哪一个对象,方便后续在金融应用运行出现异常时进行快速排障。

下面对本申请提供的金融应用程序中的对象标识生成装置进行描述,下文描述的金融应用程序中的对象标识生成装置与上文描述的金融应用程序中的对象标识生成方法可相互对应参照。

在一实施例中,如图4所示,提供了一种金融应用程序中的对象标识生成装置,包括:

对象标识获取模块210,英语确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

对象标识生成模块220,用于根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

通过获取当前对象的上层对象的对象标识,以根据上层对象的对象标识以及上层对象的属性的字段名称,来生成当前对象的对象标识,从而通过上层对象的对象标识,可以标识两者之间的关联关系,而属性的字段名称,可以明确两者依赖的桥梁,同时避免依赖同一个上层对象的多个下层对象为同类时出现对象标识的重复隐患,进而能够减少金融应用运行时,对象调用出错或金融应用运行出错时无法对异常对象进行定位的情况。

在一实施例中,对象标识获取模块210还用于:

确定所述当前对象为顶层对象,根据所述当前对象的业务属性,生成所述当前对象的对象标识。

在一实施例中,对象标识生成模块220具体用于:

对所述上层对象的对象标识以及所述上层对象的属性的字段名称进行拼接,生成所述当前对象的初始标识;

确定所述当前对象不为包括多个对象的对象列表,根据所述初始标识生成所述当前对象的对象标识。

在一实施例中,对象标识生成模块220具体用于:

将所述初始标识与所述当前对象的类名进行拼接,生成所述当前对象的对象标识。

在一实施例中,对象标识生成模块220还用于:

确定所述当前对象为对象列表,根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的对象标识。

在一实施例中,对象标识生成模块220具体用于:

根据所述初始标识以及所述对象列表中各对象的次序,生成所述对象列表中各对象的前缀标识;

将所述对象列表的各对象中任一目标对象的前缀标识,与所述目标对象的类名进行拼接,生成所述目标对象的对象标识。

在一实施例中,所述上层对象为bean。

图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)810、通信接口(Communication Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行金融应用程序中的对象标识生成方法,例如包括:

确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本申请实施例还提供一种存储介质,存储介质包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的金融应用程序中的对象标识生成方法,例如包括:

确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

另一方面,本申请实施例还提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的方法,例如包括:

确定金融应用程序中的当前对象为非顶层对象,获取当前对象的上层对象的对象标识;

根据所述上层对象的对象标识以及所述上层对象的属性的字段名称,生成所述当前对象的对象标识;

其中,所述上层对象为所述当前对象依赖的对象,所述上层对象在所述金融应用程序被调用时,先于所述当前对象被调用。

处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

相关技术
  • 一种多功能身份标识的生成方法和装置
  • 一种防伪标识生成方法和装置
  • 设备标识生成方法和装置
  • 用于光学验证的对象标识和用于生成所述对象标识的方法
  • 用于光学验证的对象标识和用于生成所述对象标识的方法
技术分类

06120116065654