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

资产数据处理方法及装置

文献发布时间:2023-06-19 15:47:50



技术领域

本申请涉及数据处理技术领域,尤其涉及一种资产数据处理方法及装置。

背景技术

金融机构发展到现阶段,机构内部积累了大量的资产数据;资产数据是非常重要的企业级数据,资产数据的维护必须经过多级审批,审批历程较长,同时,资产数据之间有复杂的关联关系,维护时必须保证关联关系的一致性。

目前业界的资产数据锁定机制为对存在关联关系的多个资产数据整体进行锁定,资产数据之间存在复杂的关联关系,应用该资产数据锁定机制将造成大量资产数据必须串行维护,影响资产数据的维护效率。

发明内容

针对现有技术中资产数据处理效率低的问题,本申请提出了一种资产数据处理方法及装置。

为了解决上述技术问题,本申请提供以下技术方案:

第一方面,本申请提供一种资产数据处理方法,包括:

接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;

确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;

确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

进一步地,所述预设的资产锁定数据表包括:多条资产锁定记录,每条资产锁定记录包括:资产唯一标识、关联资产唯一标识和锁状态。

进一步地,每条资产锁定记录还包括:基本属性数据的锁状态。

进一步地,在所述接收目标资产数据的处理请求之后,还包括:

根据所述处理对象信息确定是否处理所述目标资产数据中的基本属性数据,若是,则根据所述目标资产唯一标识从预设的资产锁定数据表中,得到所述目标资产数据对应的第一资产锁定记录;

确定所述第一资产锁定记录中所述基本属性数据对应的锁状态是否为解锁状态,若是,则将该锁状态变更为加锁状态,并完成所述基本属性数据的处理;

将所述第一资产锁定记录中所述基本属性数据对应的锁状态变更为解锁状态。

进一步地,在所述根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录之后,还包括:

若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态均为加锁状态,则中止当前操作。

进一步地,在所述根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录之后,还包括:

若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态不一致,则结束当前操作并输出所述关联资产唯一标识的报错信息。

进一步地,在所述根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录之后,还包括:

若确定所述第一资产锁定记录中所述基本属性数据对应的锁状态为加锁状态,则中止当前操作。

第二方面,本申请提供一种资产数据处理装置,包括:

接收模块,用于接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;

第一确定模块,用于确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;

第一处理模块,用于确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

进一步地,所述预设的资产锁定数据表包括:多条资产锁定记录,每条资产锁定记录包括:资产唯一标识、关联资产唯一标识和锁状态。

进一步地,每条资产锁定记录还包括:基本属性数据的锁状态。

进一步地,所述资产数据处理装置还包括:

第二确定模块,用于根据所述处理对象信息确定是否处理所述目标资产数据中的基本属性数据,若是,则根据所述目标资产唯一标识从预设的资产锁定数据表中,得到所述目标资产数据对应的第一资产锁定记录;

第二处理模块,用于确定所述第一资产锁定记录中所述基本属性数据对应的锁状态是否为解锁状态,若是,则将该锁状态变更为加锁状态,并完成所述基本属性数据的处理;

解锁模块,用于将所述第一资产锁定记录中所述基本属性数据对应的锁状态变更为解锁状态。

进一步地,所述资产数据处理装置还包括:

第一中止模块,用于若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态均为加锁状态,则中止当前操作。

进一步地,所述资产数据处理装置还包括:

报错模块,用于若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态不一致,则结束当前操作并输出所述关联资产唯一标识的报错信息。

进一步地,所述资产数据处理装置还包括:

第二中止模块,用于若确定所述第一资产锁定记录中所述基本属性数据对应的锁状态为加锁状态,则中止当前操作。

第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的资产数据处理方法。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的资产数据处理方法。

由上述技术方案可知,本申请提供一种资产数据处理方法及装置。其中,该方法包括:接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理,能够在避免多个用户同时处理资产数据的基础上,提高资产数据处理的效率;具体地,锁定粒度小,所有资产和关联关系可并行维护,能够提高大型资产数据库的维护效率;定义关系锁,每次锁定关系的双向数据,能够保证双向关系一致性和关系不会相互覆盖,保证数据质量;适用于所有资产建模场景,具有普适性。

附图说明

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

图1是本申请实施例中资产数据处理方法的流程示意图;

图2是本申请另一实施例中资产数据处理方法的流程示意图;

图3是本申请又一实施例中资产数据处理方法的流程示意图;

图4为本申请一种举例中的Eclipse绘制的元模型的示意图;

图5是本申请实施例中资产数据处理装置的结构示意图;

图6为本申请实施例的电子设备的系统构成示意框图。

具体实施方式

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

在现有技术中,目前业界的资产锁定机制为对整个资产进行锁定,主要包括:前端控制流程中的资产的修改按钮灰显;后端校验资产是否在审批中(锁定中),如在审批中(锁定中)则此次维护失败;目前的资产锁定机制容易造成大量数据必须串行维护,影响资产的维护效率;举例来说,存在3个资产数据A、B、C,资产数据A和资产数据B之间存在关系,资产数据B与资产数据C之间存在关系,资产数据A存储在数据库中的数据为{资产数据名:A,资产数据关系1:A与B存在此关系},资产数据B存储在数据库中的数据为{资产数据名:B,资产数据关系2:B与A存在此关系,资产数据关系3:B与C存在此关系},资产数据C存储在数据库中的数据为{资产数据名:C,资产数据关系4:C与B存在此关系}。用户编辑资产数据A时,资产数据A处于审批中,此时需要保证资产数据A不被其他用户编辑,所以锁定资产数据A。因为资产数据B与资产数据A存在关系,为保证资产数据关系1和资产数据关系2数据一致,所以必须同时锁定资产数据B。同理,必须锁定资产数据C;也就是说,在现有技术中,需要对资产数据进行串行维护,影响资产数据维护效率。

为了解决上述现有技术中存在的问题,本申请提供一种资产数据处理方法及装置,主要包括以下4个部分:1)配置元模型;2)根据元模型进行加锁;3)根据元模型进行锁校验;4)根据申请编号进行解锁。例如,假设系统中有两种资产数据,资产类型分别为业务领域和价值流;业务领域:体现企业对外提供服务的能力,遵循面向客户的理念,从价值创造的视角划分,每个业务领域完整的涵盖了计划、执行和监督的端到端的流程;价值流:多个价值流节点串联体现端到端的完成流程,说明业务领域的价值实现,体现出该如何创造并交付价值、实现价值的方式。例如,业务领域下有一个具体的数据叫做“个人存款”,价值流下有一个具体的数据叫做“存款计划”。价值流“存款计划”就是实现业务领域“个人存款”的一个价值交付点。

基于此,为了在避免多个用户同时处理资产数据的基础上,提高资产数据处理的效率,本申请实施例提供一种资产数据处理装置,该装置可以是一服务器或客户端设备,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备和智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表和智能手环等。

在实际应用中,进行资产数据处理的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。

上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。

所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。

需要说明的是,本申请公开的资产数据处理方法及装置可用于金融技术领域,也可用于除金融技术领域之外的任意领域,本申请公开的资产数据处理方法及装置的应用领域不做限定。

具体通过下述各个实施例进行说明。

为了在避免多个用户同时处理资产数据的基础上,提高资产数据处理的效率,本实施例提供一种执行主体是资产数据处理装置的资产数据处理方法,该资产数据处理装置包括但不限于服务器,如图1所示,该方法具体包含有如下内容:

步骤100:接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息。

具体地,可以接收当前用户从前端发送的目标资产数据的处理请求;所述目标资产数据可以是金融机构预先存储的数据,可以包含有:资产唯一标识、资产数据名称、关联关系名称、关联资产唯一标识和基础属性数据等。所述资产唯一标识可以是由字母和数字组成的字符串,用于区分不同的资产数据;关联资产唯一标识可以是由字母和数字组成的字符串,用于区分不同的关联资产数据;所述处理对象信息可以包含有目标关联资产唯一标识,也可以包含有基础属性数据;若所述处理对象信息包含有目标关联资产唯一标识,则可以表示所述处理请求用于处理目标资产数据对应的关联关系;若所述处理对象信息可以包含有基础属性数据,则可以表示所述处理请求用于处理目标资产数据对应的基本属性数据。

在一种举例中,以业务领域“个人存款”和价值流“个人存款计划”为例,json结构的“个人存款”资产数据如表1所示;json结构的“个人存款计划”资产数据如表2所示,其中,uuid表示资产唯一标识,businessDomainRValueFlow表示业务领域与价值流关系,assetName表示资产数据名称基本属性,aimDesc表示目的基本属性,businessDomainRApplicationPhysical表示业务领域与物理应用关系;valueFlowRBusinessDomain表示业务领域与价值流关系的反向关系;valueFlowRActivity表示价值流与活动关系;“"……":[……]”中方括号内的ID分别表示关联关系对应的关联资产唯一标识。

表1

表2

步骤200:确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识。

具体地,所述预设的资产锁定数据表包括:多条资产锁定记录,每条资产锁定记录可以包括:资产唯一标识、关联资产唯一标识和锁状态;每条资产锁定记录还可以包括:基本属性数据的锁状态;所述预设的资产锁定数据表中具体的值可以根据实际情况进行设置,本申请对此不作限制。

在关系型数据库中定义资产锁定数据表asset_lock_info用于记录被锁定的资产数据。资产锁定数据表的表结构可以如表3所示:

表3

步骤300:确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

具体地,若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态均为解锁状态,则可以表示当前所述关联资产唯一标识当前未处理;若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态均为加锁状态,则可以表示当前所述关联资产唯一标识当前正在处理中,为避免同时被多个用户处理,则中止当前操作;在将所述锁状态均变更为加锁状态之后,仅当前用户拥有处理资产数据的权限;所述处理对象信息中还可以包含有修改方式,修改方式可以为删除或将关联资产标识修改为“***”等;相对应的,所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理过程可以为:删除所述第一资产锁定记录、目标资产数据、第二资产锁定记录和关联资产数据中的关联资产唯一标识;或者,将所述第一资产锁定记录和目标资产数据中的关联资产标识修改为其它关联资产标识“***”,删除第二资产锁定记录和关联资产数据中的关联资产唯一标识,并在将“***”关联资产标识作为资产唯一标识的资产锁定记录及其对应的资产数据中增加第一资产锁定记录中的资产唯一标识作为关联资产标识;在修改所述关联资产唯一标识之后,还可以对修改后的关联资产唯一标识进行审批,若审批通过则将可以所述锁状态均变更为解锁状态。

具体地,所述预设的资产锁定数据表可以包括:多条资产锁定记录,每条资产锁定记录包括:资产唯一标识、关联资产唯一标识和锁状态。,每条资产锁定记录可以对应唯一的关联资产唯一标识;每条资产锁定记录还可以包括:基本属性数据的锁状态。

为了进一步提高资产数据处理的灵活性和效率,参见图2,在本申请一个实施例中,在步骤100之后还包括:

步骤500:根据所述处理对象信息确定是否处理所述目标资产数据中的基本属性数据,若是,则根据所述目标资产唯一标识从预设的资产锁定数据表中,得到所述目标资产数据对应的第一资产锁定记录。

具体地,若所述处理对象信息包含有:当前发生变动的基本属性名称及其对应的变动后的基本属性数据,则确定处理目标资产数据中的基本属性数据。

所述基本属性数据可以包括:所述目标资产数据的资产名称和目的等。

步骤600:确定所述第一资产锁定记录中所述基本属性数据对应的锁状态是否为解锁状态,若是,则将该锁状态变更为加锁状态,并完成所述基本属性数据的处理。

步骤700:将所述第一资产锁定记录中所述基本属性数据对应的锁状态变更为解锁状态。

为了避免多个用户同时处理关联资产唯一标识,影响处理结果的可靠性,参见图3,在本申请一个实施例中,在步骤200之后,还包括:

步骤700:若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态均为加锁状态,则中止当前操作。

为了对数据异常状态及时预警,在本申请一个实施例中,在步骤200之后,还包括:

步骤800:若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态不一致,则结束当前操作并输出所述关联资产唯一标识的报错信息。

具体地,由于所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是同时调整的,若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态不一致,则表示数据异常,可以实时将所述关联资产的报错信息发送至前端显示。

为了避免多个用户同时处理基本属性数据,影响处理结果的可靠性,在本申请一个实施例中,在步骤200之后,还包括:

步骤900:若确定所述第一资产锁定记录中所述基本属性数据对应的锁状态为加锁状态,则中止当前操作。

为了进一步说明本方案,本申请提供一种资产数据处理方法的应用实例,具体描述如下:

步骤001:配置元模型。元模型是关于模型的模型,它定义模型的规范。本应用实例应用元模型对系统中的每种资产进行定义。

绘制元模型。首先在Eclipse上安装AmaterasUML插件,通过绘图的方式绘制元模型,然后生成ecore文件,完成元模型配置。

资产数据的元模型一般包括:资产数据的基本属性字段、资产数据本身与其他资产数据的关联关系字段;在ecore文件中使用EClass标识资产类型,使用type=EAttribute标识基本属性,使用type=EReference标识关联关系字段,使用eType标识关联关系反向关系的资产类型、使用eOpposite标识关联关系的反向关系。

图4为本申请一种举例中的Eclipse绘制的元模型的示意图,可以图形化展示业务领域、价值流、活动、物理应用的基本属性及关联关系,其中,业务领域、价值流、活动和物理应用分别为资产类型,资产名称和目的分别为资产的基本属性,业务领域的关联关系包括:价值流与业务领域关系,物理应用与业务领域关系,物理应用的关联关系为业务领域与物理应用关系,活动的关联关系为价值流与活动关系,价值流的关联关系包括:业务领域与价值流关系以及活动与价值流关系;可以将此绘制结果导出为ecore文件,供后续程序解析。

在一种举例中,ecore文件中包含有定义业务领域的元模型的代码片段,该代码片段如下所示:

//业务领域的资产类型为BusinessDomain

//业务领域的资产名称基本属性字段为assetName

//业务领域的目的基本属性字段为aimDesc

//业务领域与价值流关系为businessDomainRValueFlow,业务领域与价值流关系的反向资产为价值流ValueFlow,反向关系为valueFlowRBusinessDomain

//业务领域与物理应用关系为businessDomainRApplicationPhysical,业务领域与物理应用关系的反向资产为物理应用ApplicationPhysical,反向关系为applicationPhysicalRBusinessDomain

也就是说,ecore文件定义了业务领域的资产类型为BusinessDomain,基本属性字段包括:业务领域名称assetName和目的aimDesc,关联关系字段包括业务领域与价值流关系businessDomainRValueFlow,业务领域与价值流关系的反向关系valueFlowRBusinessDomain、业务领域与物理应用关系businessDomainRApplicationPhysical以及业务领域与物理应用关系的反向关系applicationPhysicalRBusinessDomain。

在本举例中,ecore文件还包含有定义价值流的元模型的代码片段,该代码片段如下所示:

//价值流的资产类型为ValueFlow

//价值流的资产名称属性字段为assetName

//价值流的目的属性字段为aimDesc

//价值流与业务领域关系为valueFlowRBusinessDomain,价值流与业务领域关系的反向资产为业务领域,反向关系为businessDomainRValueFlow//价值流与活动关系为valueFlowRActivity,价值流与活动关系的反向资产为活动,反向关系为activityRValueFlow

也就是说,Ecore文件定义了价值流的资产类型为ValueFlow,基本属性字段包括:价值流名称assetName和目的aimDesc,关联关系字段包括价值流与业务领域关系valueFlowRBusinessDomain、价值流与业务领域关系的反向关系是businessDomainRValueFlow、价值流与活动关系valueFlowRActivity,价值流与活动关系的反向关系是activityRValueFlow。

资产数据可以存储到关系型数据库或非关系型数据库中。本应用实例应用mongodb数据库。

由业务领域的businessDomainValueFlow和价值流的valueFlowRBusinessDomain字段,可以看出资产数据之间的关联关系是双向的,且该双向关系是分别存储在两种资产数据中的;必须保证关系双向正确,才能保证数据质量,所以关联关系的变动需要同时更新双向关系,关联关系锁定时也必须将双向关系同时锁定。

步骤002:根据元模型加锁。在保证资产数据质量的前提下,最大限度缩小锁定粒度,使资产数据能够并行维护,本应用实例定义了两种锁,分别为属性锁和关系锁。

属性锁即对资产数据的基本属性进行锁定,在已有申请未结束前,不允许其他申请对此资产数据的基本属性进行维护。资产数据的基本属性是一个整体,定义属性锁为锁定资产数据的所有基本属性的锁。

关系锁即对资产关联关系进行锁定,在已有申请未结束前,不允许其他申请维护锁定的关联关系。因为资产数据的关联关系是双向的,且关联关系一般是一对多的,所以关系锁的粒度必须尽量小,定义关系锁的粒度为一条双向关系线,即一个关系锁只锁定两个资产数据之间的双向关系。

以价值流“存款计划”为例,加锁流程如下:

①前端送入当前资产数据的资产类型如ValueFlow、当前资产的uuid、当前发生变动的基本属性名称如assetName、当前发生变动的单向关系的名称如valueFlowRBusinessDomain和关联资产的uuid。

②后端接收到前端传参,解析元模型。

a.通过前端传入的资产类型,在元模型中通过name标签,定位基本属性和关联关系。

b.通过eType标签找到关联关系的反向资产类型BusinessDomain,通过eOpposite字段找到关联关系的反向关系businessDomainRValueFlow。

c.增加属性锁。锁定ValueFlow的基本属性,在asset_lock_info中增加属性锁如下表4所示。

表4

d.增加此关联关系的双向锁。同时加锁ValueFlow的关联关系BusinessDomain,以及BusinessDomain的反向关系businessDomainRValueFlow;例如,若申请删除价值流“存款计划”与业务领域“个人存款”的关联关系,发起申请后,asset_lock_info中新增锁如表5和表6所示。

表5

表6

对资产数据进行新增或修改,只需加锁此次维护的内容,如修改基本属性则增加属性锁,修改关联关系则增加对应的双向关系锁。

需要注意的是,如果删除资产数据,则需对此资产数据增加属性锁并锁定涉及此资产数据的所有双向关系,防止在审批过程中,待删除资产数据或待删除资产数据的关联关系被重复维护导致数据覆盖问题。前端传入当前维护资产的资产类型——class_name,当前资产的唯一标识uuid,所有关联关系ref_name及反向资产唯一标识ref_uuid。后端接收到如上信息后,查找资产锁定数据表找到所有反向关系后,对基本属性和所有双向关系进行加锁。

步骤003:根据资产锁定数据表进行锁校验。在创建申请前,需校验本次维护的资产内容是否已锁定,即本次维护的资产是否存在生效的属性锁,本次维护的关联关系是否存在生效的关系锁,本次维护的关联关系的反向关系是否存在生效的关系锁;如果已锁定则发起申请失败。否则发起流程成功,同时如步骤002进行加锁。需要注意的是,若删除资产数据,则维护内容为此资产数据的所有基本属性和所有关联关系。

属性锁判断依据可以为资产类型class_name、资产唯一标识uuid、锁类型和锁状态;关系锁判断依据可以为资产类型class_name、资产唯一标识uuid、锁类型、锁状态、关联关系名称ref_name以及关联资产唯一标识ref_uuid。

举例来说,1)申请修改价值流“存款计划”的基本属性;校验过程如下:

①查找asset_lock_info,发现不存在class_name等于'ValueFlow'且资产唯一标识uuid等于价值流“存款计划”的uuid的生效属性锁。

②最终判断资产价值流“存款计划”不存在未结束申请,锁校验通过,发起申请成功,并新增对应属性锁。

2)申请编辑业务领域“个人存款”与价值流“个人存款计划”的关联关系;校验过程如下:

①查找asset_lock_info,发现业务领域“个人存款”与价值流“个人存款计划”的关联关系存在生效的关系锁。

②最终判断资产业务领域“个人存款”与价值流“个人存款计划”的关联关系存在未结束的申请,不允许再次维护,发起申请失败。

3)申请修改价值流“存款计划”的基本属性,同时申请编辑业务领域“个人存款”与价值流“个人存款计划”的关联关系。校验流程如下:

①查找asset_lock_info,发现业务领域“个人存款”不存在生效属性锁。

②查找asset_lock_info,发现业务领域“个人存款”与其他价值流的关联关系不存在生效关系锁。

③通过元模型找到业务领域“个人存款”与其他价值流的关联关系的反向关系——其他价值流与业务领域“个人存款”的关联关系(businessDomainRValueFlow)。查找asset_lock_info发现不存在生效关系锁。

④最终判断资产业务领域“个人存款”的基本属性无未结束申请且业务领域“个人存款”与其他价值流的关联关系无未结束申请,校验通过。

步骤004:在申请完成之后,根据申请编号进行解锁。当审批否决或最后一位审批人审批通过后,根据申请编号,解锁本次申请所有的属性锁和关系锁,即将asset_lock_info中对应记录的asset_lock字段值更新为0。

从软件层面来说,为了在避免多个用户同时处理资产数据的基础上,提高资产数据处理的效率,本申请提供一种用于实现所述资产数据处理方法中全部或部分内容的资产数据处理装置的实施例,参见图5,所述资产数据处理装置具体包含有如下内容:

接收模块10,用于接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;

第一确定模块20,用于确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;

第一处理模块30,用于确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

其中,所述预设的资产锁定数据表包括:多条资产锁定记录,每条资产锁定记录包括:资产唯一标识、关联资产唯一标识和锁状态。

其中,每条资产锁定记录还包括:基本属性数据的锁状态。

在本申请一个实施例中,所述资产数据处理装置还包括:

第二确定模块,用于根据所述处理对象信息确定是否处理所述目标资产数据中的基本属性数据,若是,则根据所述目标资产唯一标识从预设的资产锁定数据表中,得到所述目标资产数据对应的第一资产锁定记录;

第二处理模块,用于确定所述第一资产锁定记录中所述基本属性数据对应的锁状态是否为解锁状态,若是,则将该锁状态变更为加锁状态,并完成所述基本属性数据的处理;

解锁模块,用于将所述第一资产锁定记录中所述基本属性数据对应的锁状态变更为解锁状态。

在本申请一个实施例中,所述资产数据处理装置还包括:

第一中止模块,用于若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态均为加锁状态,则中止当前操作。

在本申请一个实施例中,所述资产数据处理装置还包括:

报错模块,用于若所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态不一致,则结束当前操作并输出所述关联资产唯一标识的报错信息。

在本申请一个实施例中,所述资产数据处理装置还包括:

第二中止模块,用于若确定所述第一资产锁定记录中所述基本属性数据对应的锁状态为加锁状态,则中止当前操作。

本说明书提供的资产数据处理装置的实施例具体可以用于执行上述资产数据处理方法的实施例的处理流程,其功能在此不再赘述,可以参照上述资产数据处理方法实施例的详细描述。

由上述描述可知,本申请提供的资产数据处理方法及装置,能够在避免多个用户同时处理资产数据的基础上,提高资产数据处理的效率;具体地,锁定粒度小,所有资产和关联关系可并行维护,能够提高大型资产数据库的维护效率;定义关系锁,每次锁定关系的双向数据,能够保证双向关系一致性和关系不会相互覆盖,保证数据质量;适用于所有资产建模场景,具有普适性。

图6为本发明一实施例提供的电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行如下方法:接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

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

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法,例如包括:

接收目标资产数据的处理请求,该处理请求包括:目标资产唯一标识和处理对象信息;确定所述处理对象信息中是否包含有所述目标资产数据中的目标关联资产唯一标识,若是,则根据所述处理请求和预设的资产锁定数据表,确定第一资产锁定记录和第二资产锁定记录;所述第一资产锁定记录中的资产唯一标识为所述目标资产唯一标识,关联资产唯一标识为所述目标关联资产唯一标识;所述第二资产锁定记录中的资产唯一标识为所述目标关联资产唯一标识,关联资产唯一标识为所述目标资产唯一标识;确定所述第一资产锁定记录和第二资产锁定记录中的关联资产唯一标识对应的锁状态是否均为解锁状态,若是,则将所述锁状态均变更为加锁状态,并完成所述第一资产锁定记录和第二资产锁定记录对应的关联资产唯一标识处理。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120114582641