Asset data processing method and apparatus

By receiving processing requests and performing locking and unlocking operations on locked records according to the asset lock data table, the problem of low asset data processing efficiency in the prior art is solved, parallel maintenance and data consistency are achieved, and the maintenance efficiency of large asset databases is improved.

CN114677204BActive Publication Date: 2026-04-28INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INDUSTRIAL AND COMMERCIAL BANK OF CHINA
Filing Date
2022-04-25
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

The low efficiency of asset data processing in existing technologies is due to the need to lock multiple related asset data as a whole, which necessitates serial maintenance and affects efficiency.

Method used

By receiving processing requests for target asset data, the system determines the unique identifier of the target associated asset, performs locking and unlocking operations on the locked records according to the preset asset lock data table, defines attribute locks and relationship locks to ensure data consistency and parallel maintenance, and adopts a two-way locking mechanism.

Benefits of technology

It improves the efficiency of asset data processing, avoids serial maintenance problems caused by multiple users processing simultaneously, ensures data quality and consistency, and is suitable for various asset modeling scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114677204B_ABST
    Figure CN114677204B_ABST
Patent Text Reader

Abstract

The application provides an asset data processing method and device, which can be used in the financial field or other fields. The method comprises the following steps: receiving a processing request of target asset data, wherein the processing request comprises a target asset unique identifier and processing object information; determining whether the target asset unique identifier in the processing object information contains a target associated asset unique identifier in the target asset data; if yes, determining a first asset locking record and a second asset locking record according to the processing request and a preset asset locking data table; determining whether the locking states corresponding to the associated asset unique identifiers in the first asset locking record and the second asset locking record are both in an unlocked state; if yes, changing the locking states to a locked state, and completing the processing of the associated asset unique identifiers corresponding to the first asset locking record and the second asset locking record. The application can improve the efficiency of asset data processing while avoiding simultaneous processing of asset data by multiple users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to an asset data processing method and apparatus. Background Technology

[0002] As financial institutions have developed to their current stage, they have accumulated a large amount of asset data. Asset data is very important enterprise-level data. The maintenance of asset data must go through multiple levels of approval, which is a lengthy process. At the same time, there are complex relationships between asset data, and the consistency of these relationships must be ensured during maintenance.

[0003] The current asset data locking mechanism in the industry locks multiple asset data sets that are related. Since there are complex relationships between asset data sets, applying this asset data locking mechanism will result in a large amount of asset data having to be maintained serially, which will affect the efficiency of asset data maintenance. Summary of the Invention

[0004] To address the problem of low efficiency in asset data processing in existing technologies, this application proposes an asset data processing method and apparatus.

[0005] To address the aforementioned technical problems, this application provides the following technical solution:

[0006] Firstly, this application provides an asset data processing method, including:

[0007] Receive a processing request for target asset data, which includes: the unique identifier of the target asset and the information of the object to be processed;

[0008] Determine whether the processing object information contains the unique identifier of the target associated asset in the target asset data. If so, determine the first asset lock record and the second asset lock record according to the processing request and the preset asset lock data table. The unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset. The unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset.

[0009] Determine whether the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both in an unlocked state. If so, change the lock status to a locked state and complete the processing of the unique identifier of the associated asset corresponding to the first asset lock record and the second asset lock record.

[0010] Furthermore, the preset asset lock data table includes: multiple asset lock records, each asset lock record including: unique asset identifier, unique identifier of associated asset, and lock status.

[0011] Furthermore, each asset lock record also includes the lock status of basic attribute data.

[0012] Furthermore, after receiving the processing request for target asset data, the process also includes:

[0013] Based on the processing object information, determine whether to process the basic attribute data in the target asset data. If so, obtain the first asset lock record corresponding to the target asset data from the preset asset lock data table based on the unique identifier of the target asset.

[0014] Determine whether the lock status corresponding to the basic attribute data in the first asset lock record is unlocked. If so, change the lock status to locked and complete the processing of the basic attribute data.

[0015] Change the lock status corresponding to the basic attribute data in the first asset lock record to the unlock status.

[0016] Furthermore, after determining the first asset lock record and the second asset lock record based on the processing request and the preset asset lock data table, the method further includes:

[0017] If the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both locked, then the current operation is terminated.

[0018] Furthermore, after determining the first asset lock record and the second asset lock record based on the processing request and the preset asset lock data table, the method further includes:

[0019] If the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent, then the current operation ends and an error message for the unique identifier of the associated asset is output.

[0020] Furthermore, after determining the first asset lock record and the second asset lock record based on the processing request and the preset asset lock data table, the method further includes:

[0021] If it is determined that the lock status corresponding to the basic attribute data in the first asset lock record is locked, then the current operation is terminated.

[0022] Secondly, this application provides an asset data processing apparatus, comprising:

[0023] The receiving module is used to receive processing requests for target asset data, which include: the unique identifier of the target asset and processing object information;

[0024] The first determining module is used to determine whether the processing object information contains a unique identifier of the target associated asset in the target asset data. If so, it determines a first asset lock record and a second asset lock record according to the processing request and a preset asset lock data table. The unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset. The unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset.

[0025] The first processing module is used to determine whether the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both in an unlocked state. If so, the lock status is changed to a locked state, and the processing of the unique identifier of the associated asset corresponding to the first asset lock record and the second asset lock record is completed.

[0026] Furthermore, the preset asset lock data table includes: multiple asset lock records, each asset lock record including: unique asset identifier, unique identifier of associated asset, and lock status.

[0027] Furthermore, each asset lock record also includes the lock status of basic attribute data.

[0028] Furthermore, the asset data processing device also includes:

[0029] The second determining module is used to determine whether to process the basic attribute data in the target asset data based on the processing object information. If so, it obtains the first asset lock record corresponding to the target asset data from the preset asset lock data table based on the unique identifier of the target asset.

[0030] The second processing module is used to determine whether the lock state corresponding to the basic attribute data in the first asset lock record is unlocked. If so, the lock state is changed to locked and the processing of the basic attribute data is completed.

[0031] The unlocking module is used to change the lock status corresponding to the basic attribute data in the first asset lock record to the unlock status.

[0032] Furthermore, the asset data processing device also includes:

[0033] The first abort module is used to abort the current operation if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both locked.

[0034] Furthermore, the asset data processing device also includes:

[0035] The error reporting module is used to end the current operation and output the error information of the associated asset unique identifier if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent.

[0036] Furthermore, the asset data processing device also includes:

[0037] The second abort module is used to abort the current operation if it is determined that the lock state corresponding to the basic attribute data in the first asset lock record is a locked state.

[0038] Thirdly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the asset data processing method described above.

[0039] Fourthly, this application provides a computer-readable storage medium having computer instructions stored thereon, which, when executed, implement the asset data processing method described above.

[0040] As can be seen from the above technical solution, this application provides an asset data processing method and apparatus. The method includes: receiving a processing request for target asset data, the processing request including: a unique identifier of the target asset and processing object information; determining whether the processing object information contains a unique identifier of a target associated asset in the target asset data; if so, determining a first asset lock record and a second asset lock record according to the processing request and a preset asset lock data table; the unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset; the unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset; determining the... If both the lock states corresponding to the unique identifiers of the associated assets in the first and second asset lock records are unlocked, then the lock states are changed to locked, and the processing of the unique identifiers of the associated assets corresponding to the first and second asset lock records is completed. This improves the efficiency of asset data processing while avoiding multiple users processing asset data simultaneously. Specifically, the locking granularity is small, and all assets and related relationships can be maintained in parallel, which can improve the maintenance efficiency of large asset databases. Defining relation locks, locking bidirectional data of relationships each time, can ensure the consistency of bidirectional relationships and prevent relationships from overwriting each other, thus ensuring data quality. It is applicable to all asset modeling scenarios and has universality. Attached Figure Description

[0041] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0042] Figure 1 This is a flowchart illustrating the asset data processing method in an embodiment of this application;

[0043] Figure 2 This is a flowchart illustrating an asset data processing method in another embodiment of this application;

[0044] Figure 3 This is a flowchart illustrating an asset data processing method in yet another embodiment of this application;

[0045] Figure 4 A schematic diagram of a metamodel drawn using an Eclipse example, as described in this application;

[0046] Figure 5 This is a schematic diagram of the structure of the asset data processing device in the embodiments of this application;

[0047] Figure 6 This is a schematic block diagram illustrating the system configuration of an electronic device according to an embodiment of this application. Detailed Implementation

[0048] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0049] In existing technologies, the current industry asset locking mechanism locks the entire asset. This mainly includes: graying out the asset modification button in the front-end control process; and back-end verification of whether the asset is under approval (locked). If it is under approval (locked), the maintenance fails. The current asset locking mechanism easily leads to a large amount of data needing to be maintained serially, affecting asset maintenance efficiency. For example, consider three asset data A, B, and C. Asset data A and B have a relationship, and asset data B and C have a relationship. Asset data A is stored in the database as {Asset data name: A, Asset data relationship 1: A and B have this relationship}. Asset data B is stored in the database as {Asset data name: B, Asset data relationship 2: B and A have this relationship, Asset data relationship 3: B and C have this relationship}. Asset data C is stored in the database as {Asset data name: C, Asset data relationship 4: C and B have this relationship}. When a user edits asset data A, it is under approval. To prevent other users from editing asset data A, asset data A is locked. Because asset data B is related to asset data A, asset data B must be locked simultaneously to ensure consistency between asset data relationship 1 and asset data relationship 2. Similarly, asset data C must be locked; that is to say, in the existing technology, asset data needs to be maintained serially, which affects the efficiency of asset data maintenance.

[0050] To address the problems existing in the prior art, this application provides an asset data processing method and apparatus, mainly comprising the following four parts: 1) configuring a meta-model; 2) locking based on the meta-model; 3) verifying the lock based on the meta-model; and 4) unlocking based on the application number. For example, suppose the system contains two types of asset data, with asset types being business domains and value streams. Business domains reflect an enterprise's ability to provide services, adhering to a customer-oriented approach and divided from a value creation perspective. Each business domain fully encompasses the end-to-end process of planning, execution, and monitoring. Value streams consist of multiple value stream nodes linked together, representing the end-to-end completion process, illustrating the value realization of the business domain, and demonstrating how value is created and delivered, and how it is realized. For example, under a business domain, there is specific data called "personal savings," and under a value stream, there is specific data called "deposit plan." The value stream "deposit plan" is a value delivery point for realizing the business domain "personal savings."

[0051] Therefore, in order to improve the efficiency of asset data processing while avoiding multiple users processing asset data simultaneously, embodiments of this application provide an asset data processing device. This device can be a server or a client device. The client device can include smartphones, tablet computers, network set-top boxes, portable computers, desktop computers, personal digital assistants (PDAs), in-vehicle devices, and smart wearable devices, etc. The smart wearable devices can include smart glasses, smartwatches, and smart bracelets, etc.

[0052] In practical applications, the asset data processing can be performed on the server side as described above, or all operations can be completed on the client device. The choice can be made based on the processing power of the client device and the limitations of the user's usage scenario. This application does not impose any limitations on this. If all operations are completed on the client device, the client device may further include a processor.

[0053] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.

[0054] The server and the client device can communicate using any suitable network protocol, including network protocols not yet developed as of the date of this application. Such network protocols may include, for example, TCP / IP, UDP / IP, HTTP, HTTPS, etc. Of course, the network protocols may also include, for example, RPC (Remote Procedure Call Protocol) and REST (Representational State Transfer) protocols used on top of the above protocols.

[0055] It should be noted that the asset data processing method and apparatus disclosed in this application can be used in the field of financial technology, or in any field other than financial technology. The application field of the asset data processing method and apparatus disclosed in this application is not limited.

[0056] The following examples illustrate this in detail.

[0057] To improve the efficiency of asset data processing while avoiding multiple users processing asset data simultaneously, this embodiment provides an asset data processing method whose execution entity is an asset data processing device, including but not limited to a server, such as... Figure 1 As shown, this method specifically includes the following:

[0058] Step 100: Receive a processing request for target asset data, which includes: the unique identifier of the target asset and the information of the object to be processed.

[0059] Specifically, the system can receive processing requests for target asset data sent by the current user from the front end. The target asset data can be data pre-stored by the financial institution and may include: a unique asset identifier, an asset data name, a relationship name, a unique identifier for the associated asset, and basic attribute data. The unique asset identifier can be a string composed of letters and numbers used to distinguish different asset data; the unique associated asset identifier can also be a string composed of letters and numbers used to distinguish different associated asset data; the processing object information may include the unique identifier of the target associated asset or basic attribute data. If the processing object information includes the unique identifier of the target associated asset, it indicates that the processing request is used to process the relationship corresponding to the target asset data; if the processing object information includes basic attribute data, it indicates that the processing request is used to process the basic attribute data corresponding to the target asset data.

[0060] In one example, taking the business domain "Personal Deposits" and the value stream "Personal Deposit Plan" as examples, the asset data of "Personal Deposits" in JSON structure is shown in Table 1; the asset data of "Personal Deposit Plan" in JSON structure is shown in Table 2. In this table, UUID represents the unique identifier of the asset, businessDomainRValueFlow represents the relationship between the business domain and the value stream, assetName represents the basic attribute of the asset data name, aimDesc represents the basic attribute of the purpose, businessDomainRApplicationPhysical represents the relationship between the business domain and the physical application, valueFlowRBusinessDomain represents the reverse relationship between the business domain and the value stream, valueFlowRActivity represents the relationship between the value stream and the activity, and the IDs in the square brackets "...": [...] represent the unique identifiers of the associated assets corresponding to the association relationship.

[0061] Table 1

[0062]

[0063] Table 2

[0064]

[0065] Step 200: Determine whether the processing object information contains the unique identifier of the target associated asset in the target asset data. If so, determine the first asset lock record and the second asset lock record according to the processing request and the preset asset lock data table. The unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset. The unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset.

[0066] Specifically, the preset asset lock data table includes: multiple asset lock records, each asset lock record may include: unique asset identifier, associated asset unique identifier and lock status; each asset lock record may also include: lock status of basic attribute data; the specific values ​​in the preset asset lock data table can be set according to the actual situation, and this application does not impose any restrictions on this.

[0067] In a relational database, define an asset lock data table `asset_lock_info` to record locked asset data. The table structure of the asset lock data table can be shown in Table 3:

[0068] Table 3

[0069]

[0070] Step 300: Determine whether the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both in the unlocked state. If so, change the lock status to the locked state and complete the processing of the unique identifier of the associated asset corresponding to the first asset lock record and the second asset lock record.

[0071] Specifically, if the lock status corresponding to the unique identifier of the associated asset in both the first and second asset lock records is unlocked, it indicates that the unique identifier of the associated asset is currently not being processed; if the lock status corresponding to the unique identifier of the associated asset in both the first and second asset lock records is locked, it indicates that the unique identifier of the associated asset is currently being processed, and to avoid processing by multiple users simultaneously, the current operation is suspended; after changing all lock statuses to locked, only the current user has the permission to process asset data; the processing object information may also include modification methods, such as deletion or changing the associated asset identifier to "***", etc.; correspondingly, the first asset lock record and the second asset lock record... The corresponding process for processing the unique identifier of the associated asset can be as follows: deleting the unique identifier of the associated asset from the first asset lock record, the target asset data, the second asset lock record, and the associated asset data; or, modifying the associated asset identifier in the first asset lock record and the target asset data to another associated asset identifier "***", deleting the unique identifier of the associated asset from the second asset lock record and the associated asset data, and adding the unique identifier of the asset in the first asset lock record as the associated asset identifier in the asset lock record and its corresponding asset data that uses the "***" associated asset identifier as the asset unique identifier; after modifying the unique identifier of the associated asset, the modified unique identifier of the associated asset can also be approved, and if the approval is approved, the lock status can be changed to the unlock status.

[0072] Specifically, the preset asset lock data table may include: multiple asset lock records, each asset lock record including: a unique asset identifier, a unique identifier of the associated asset, and a lock status. Each asset lock record may correspond to a unique identifier of the associated asset; each asset lock record may also include: the lock status of basic attribute data.

[0073] To further improve the flexibility and efficiency of asset data processing, see [link to relevant documentation]. Figure 2 In one embodiment of this application, the method further includes the following after step 100:

[0074] Step 500: Determine whether to process the basic attribute data in the target asset data based on the processing object information. If so, obtain the first asset lock record corresponding to the target asset data from the preset asset lock data table based on the unique identifier of the target asset.

[0075] Specifically, if the processing object information includes: the currently changed basic attribute name and its corresponding changed basic attribute data, then the basic attribute data in the processing target asset data is determined.

[0076] The basic attribute data may include: the asset name and purpose of the target asset data, etc.

[0077] Step 600: Determine whether the lock state corresponding to the basic attribute data in the first asset lock record is unlocked. If so, change the lock state to locked and complete the processing of the basic attribute data.

[0078] Step 700: Change the lock status corresponding to the basic attribute data in the first asset lock record to the unlock status.

[0079] To avoid multiple users processing the unique identifier of associated assets simultaneously, which could affect the reliability of the processing results, please refer to [link / reference]. Figure 3 In one embodiment of this application, after step 200, the method further includes:

[0080] Step 700: If the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both locked, then the current operation is terminated.

[0081] To provide timely warnings of abnormal data conditions, in one embodiment of this application, after step 200, the method further includes:

[0082] Step 800: If the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent, then end the current operation and output the error information of the unique identifier of the associated asset.

[0083] Specifically, since the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is adjusted simultaneously, if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent, it indicates that the data is abnormal, and the error information of the associated asset can be sent to the front end for display in real time.

[0084] To avoid multiple users processing basic attribute data simultaneously, which could affect the reliability of the processing results, in one embodiment of this application, after step 200, the following step is further included:

[0085] Step 900: If it is determined that the lock state corresponding to the basic attribute data in the first asset lock record is locked, then the current operation is terminated.

[0086] To further illustrate this solution, this application provides an application example of an asset data processing method, as described in detail below:

[0087] Step 001: Configure the metamodel. A metamodel is a model of models; it defines the specifications of the models. This application example uses a metamodel to define each asset in the system.

[0088] Draw the metamodel. First, install the AmaterasUML plugin on Eclipse to draw the metamodel using a plotting method, and then generate the ecore file to complete the metamodel configuration.

[0089] The metamodel of asset data generally includes: basic attribute fields of asset data, and fields representing the relationship between asset data itself and other asset data. In the ecore file, EClass is used to identify asset types, type=EAttribute is used to identify basic attributes, type=EReference is used to identify relationship fields, eType is used to identify asset types with reverse relationships, and eOpposite is used to identify reverse relationships.

[0090] Figure 4 This is a schematic diagram of a metamodel drawn using Eclipse, as exemplified in this application. It graphically displays the basic attributes and relationships of business domains, value streams, activities, and physical applications. Business domains, value streams, activities, and physical applications represent asset types, while asset names and purposes represent the basic attributes of assets. Relationships within business domains include the relationship between value streams and business domains, and the relationship between physical applications and business domains. The relationship between activities is the relationship between value streams and activities. Relationships within value streams include the relationship between business domains and value streams, and the relationship between activities and value streams. This drawing result can be exported as an ecore file for subsequent program parsing.

[0091] In one example, the ecore file contains a code snippet defining a metamodel for the business domain, as shown below:

[0092] <eClassifiers xsi:type="ecore:EClass"name="BusinessDomain"> / / The asset type in the business domain is BusinessDomain

[0093] <eStructuralFeatures xsi:type="ecore:EAttribute"name="assetName"eType="ecore:EDataType http: / / www.eclipse.org / emf / 2002 / Ecore# / / ***" / > / / The basic attribute field for asset names in the business domain is assetName

[0094] <eStructuralFeatures xsi:type="ecore:EAttribute"name="aimDesc"eType="ecore:EDataType http: / / www.eclipse.org / emf / 2002 / Ecore# / / EString" / > / / The basic attribute field for the purpose of the business domain is aimDesc

[0095] <eStructuralFeatures xsi:type="ecore:EReference"name="businessDomainRValueFlow"lowerBound="1"upperBound="-1"eType="# / / ValueFlow"eOpposite="# / / ValueFlow / valueFlowRBusinessDomain" / > / / The relationship between the business domain and the value stream is businessDomainRValueFlow, and the reverse asset of the business domain and value stream relationship is the value stream ValueFlow, with the reverse relationship being valueFlowRBusinessDomain.

[0096] <eStructuralFeatures xsi:type="ecore:EReference"name="businessDomainRApplicationPhysical"upperBound="-1"eType="# / / ApplicationPhysical"eOpposite="# / / ApplicationPhysical / applicationPhysicalRBusinessDomain" / > / / The relationship between the business domain and the physical application is businessDomainRApplicationPhysical, and the reverse asset of the business domain and physical application relationship is the physical application ApplicationPhysical, with the reverse relationship being applicationPhysicalRBusinessDomain.

[0097]

[0098] In other words, the ecore file defines the asset type of the business domain as BusinessDomain. The basic attribute fields include: assetName and aimDesc. The relationship fields include the relationship between business domain and value stream: businessDomainRValueFlow, the reverse relationship between business domain and value stream: valueFlowRBusinessDomain, the relationship between business domain and physical application: businessDomainRApplicationPhysical, and the reverse relationship between business domain and physical application: applicationPhysicalRBusinessDomain.

[0099] In this example, the ecore file also contains a code snippet defining the metamodel of the value stream, as shown below:

[0100] <eClassifiers xsi:type="ecore:EClass"name="ValueFlow"eSuperTypes="# / / AmsBase"> / / The asset type of ValueFlow is ValueFlow

[0101] <eStructuralFeatures xsi:type="ecore:EAttribute"name="assetName"eType="ecore:EDataType http: / / www.eclipse.org / emf / 2002 / Ecore# / / ***" / > / / The asset name attribute field in the value stream is assetName

[0102] <eStructuralFeatures xsi:type="ecore:EAttribute"name="aimDesc"eType="ecore:EDataType http: / / www.eclipse.org / emf / 2002 / Ecore# / / EString" / > / / The purpose attribute field of the value stream is aimDesc

[0103] <eStructuralFeatures xsi:type="ecore:EReference"name="valueFlowRBusinessDomain"lowerBound="1"eType="# / / BusinessDomain"eOpposite="# / / BusinessDomain / businessDomainRValueFlow" / > / / The relationship between value flow and business domain is valueFlowRBusinessDomain, and the reverse asset of the value flow-business domain relationship is the business domain, with the reverse relationship being businessDomainRValueFlow. <eStructuralFeatures xsi:type="ecore:EReference"name="valueFlowRActivity"lowerBound="1"upperBound="-1"eType="# / / Activity"eOpposite="# / / Activity / activityRValueFlow" / > / / The value flow and activity relationship is valueFlowRActivity, and the reverse asset of the value flow and activity relationship is activity, with the reverse relationship being activityRValueFlow.

[0104] In other words, the Ecore file defines the asset type of the value stream as ValueFlow. The basic attribute fields include: assetName and aimDesc. The relationship fields include the relationship between value stream and business domain: valueFlowRBusinessDomain, the reverse relationship between value stream and business domain is businessDomainRValueFlow, the relationship between value stream and activity: valueFlowRActivity, and the reverse relationship between value stream and activity is activityRValueFlow.

[0105] Asset data can be stored in relational or non-relational databases. This application example uses MongoDB.

[0106] From the businessDomainValueFlow and valueFlowRBusinessDomain fields of the business domain, it can be seen that the relationship between asset data is bidirectional, and this bidirectional relationship is stored separately in the two types of asset data. To ensure data quality, the relationship must be correct in both directions. Therefore, changes to the relationship need to update the bidirectional relationship simultaneously, and the bidirectional relationship must also be locked when the relationship is locked.

[0107] Step 002: Locking based on the meta-model. While ensuring asset data quality, the locking granularity is minimized to enable parallel maintenance of asset data. This application example defines two types of locks: attribute locks and relation locks.

[0108] An attribute lock is a mechanism that locks the fundamental attributes of asset data, preventing other applications from maintaining these attributes until an existing application is closed. The fundamental attributes of asset data form a unified whole; an attribute lock is defined as a lock that locks all the fundamental attributes of the asset data.

[0109] A relationship lock is a mechanism that locks the relationships between assets, preventing other applications from maintaining the locked relationships until an existing application is closed. Because asset data relationships are bidirectional and generally one-to-many, the granularity of a relationship lock must be as small as possible. A relationship lock is defined as a single bidirectional relationship line, meaning that one relationship lock only locks the bidirectional relationship between two asset data sets.

[0110] Taking the value stream "deposit plan" as an example, the locking process is as follows:

[0111] ① The front end sends in the current asset data, such as the asset type (e.g., ValueFlow), the current asset's UUID, the name of the basic attribute that has changed (e.g., assetName), the name of the unidirectional relationship that has changed (e.g., valueFlowRBusinessDomain), and the UUID of the associated asset.

[0112] ②The backend receives the parameters passed from the frontend and parses the meta-model.

[0113] a. Based on the asset type passed in from the front end, the basic attributes and relationships are located in the metamodel using the name tag.

[0114] b. Find the reverse asset type BusinessDomain through the eType tag, and find the reverse relationship businessDomainRValueFlow through the eOpposite field.

[0115] c. Add attribute locks. Lock the basic attributes of ValueFlow. Add attribute locks in asset_lock_info as shown in Table 4 below.

[0116] Table 4

[0117]

[0118]

[0119] d. Add a two-way lock to this relationship. Simultaneously lock the associated relationship BusinessDomain of ValueFlow, and the reverse relationship businessDomainRValueFlow of BusinessDomain; for example, if an application is made to delete the relationship between the value stream "Deposit Plan" and the business domain "Personal Deposit", after the application is initiated, the new locks in asset_lock_info are shown in Tables 5 and 6.

[0120] Table 5

[0121] Field Name value class_name ValueFlow uuid 6f30e0d52b3e4ba6b770d69cd60a7cfc asset_lock 1 lock_type 2 ref_name valueFlowRBusinessDomain ref_uuid 6b4ec38695cb4c04acfe8609c11ecb37 approve_id application ID last_modify_user Initiator of the application last_modify_date Application initiation time

[0122] Table 6

[0123] Field Name value class_name BusinessDomain uuid 6b4ec38695cb4c04acfe8609c11ecb37 asset_lock 1 lock_type 2 ref_name businessDomainRValueFlow refuuid 6f30e0d52b3e4ba6b770d69cd60a7cfc approve_id application ID last_modify_user Initiator of the application last_modify_date Application initiation time

[0124] To add or modify asset data, only the content being maintained needs to be locked. For example, if basic attributes are modified, an attribute lock is added; if relationships are modified, a corresponding two-way relationship lock is added.

[0125] It's important to note that if asset data is deleted, an attribute lock must be added to this asset data, and all bidirectional relationships involving this asset data must be locked. This prevents data overwriting issues caused by duplicate maintenance of the asset data to be deleted or its associated relationships during the approval process. The front end provides the asset type (class_name), the unique identifier (uuid) of the current asset, all associated relationships (ref_name), and the unique identifier (ref_uuid) of the reverse asset. After receiving the above information, the back end searches the asset locking data table to find all reverse relationships and then locks the basic attributes and all bidirectional relationships.

[0126] Step 003: Perform lock verification based on the asset lock data table. Before creating an application, it is necessary to verify whether the asset content to be maintained is already locked. Specifically, this means verifying whether there are effective attribute locks on the asset, effective relationship locks on the related relationships, and effective relationship locks on the reverse relationships of the related relationships. If locked, the application will fail. Otherwise, the process will succeed, and locking will be performed as in Step 002. It is important to note that if asset data is deleted, the maintenance content will include all basic attributes and all related relationships of that asset data.

[0127] The criteria for determining an attribute lock can be the asset type (class_name), the asset's unique identifier (uuid), the lock type, and the lock status; the criteria for determining a relation lock can be the asset type (class_name), the asset's unique identifier (uuid), the lock type, the lock status, the association name (ref_name), and the associated asset's unique identifier (ref_uuid).

[0128] For example, 1) Apply to modify the basic attributes of the value stream "Deposit Plan"; the verification process is as follows:

[0129] ① Searching asset_lock_info reveals that there is no active attribute lock with class_name equal to 'ValueFlow' and asset unique identifier UUID equal to the UUID of ValueFlow "Deposit Plan".

[0130] ② Finally, it is determined that there are no unfinished applications for the asset value stream "Deposit Plan". The lock verification is passed, the application is successfully initiated, and a corresponding attribute lock is added.

[0131] 2) Apply to edit the relationship between the business area "Personal Deposits" and the value stream "Personal Deposit Plan"; the verification process is as follows:

[0132] ① By searching asset_lock_info, it was found that there is an active relationship lock between the business domain "personal deposits" and the value stream "personal deposit plan".

[0133] ② The final determination is that there is an unresolved application regarding the relationship between "Personal Deposits" in the asset business area and "Personal Deposit Plan" in the value stream, and maintenance is not allowed again, so the application will fail.

[0134] 3) Request to modify the basic attributes of the value stream "Deposit Plan", and simultaneously request to edit the association between the business domain "Personal Deposits" and the value stream "Personal Deposit Plan". The verification process is as follows:

[0135] ① Searching asset_lock_info reveals that there is no active attribute lock for the business domain "personal deposits".

[0136] ② Searching asset_lock_info reveals that there are no effective relationship locks between the business domain "personal deposits" and other value streams.

[0137] ③ Use the meta-model to find the inverse relationship between the business domain "Personal Deposits" and other value flows—the relationship between other value flows and the business domain "Personal Deposits" (businessDomainRValueFlow). A search of asset_lock_info reveals no active lock relationships.

[0138] ④ Finally, it was determined that there were no outstanding applications for the basic attributes of "personal deposits" in the asset business area, and there were no outstanding applications for the relationship between "personal deposits" and other value streams in the business area. The verification was successful.

[0139] Step 004: After the application is completed, unlock the locks according to the application number. When the application is rejected or approved by the last approver, unlock all attribute locks and relationship locks for this application according to the application number, that is, update the asset_lock field value of the corresponding record in asset_lock_info to 0.

[0140] From a software perspective, in order to improve the efficiency of asset data processing while avoiding multiple users processing asset data simultaneously, this application provides an embodiment of an asset data processing apparatus for implementing all or part of the aforementioned asset data processing method. See [link to relevant documentation]. Figure 5 The asset data processing device specifically includes the following components:

[0141] The receiving module 10 is used to receive a processing request for target asset data, which includes: a unique identifier of the target asset and processing object information;

[0142] The first determining module 20 is used to determine whether the processing object information contains a unique identifier of the target associated asset in the target asset data. If so, it determines a first asset lock record and a second asset lock record according to the processing request and a preset asset lock data table. The unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset. The unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset.

[0143] The first processing module 30 is used to determine whether the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both in an unlocked state. If so, the lock status is changed to a locked state, and the processing of the unique identifier of the associated asset corresponding to the first asset lock record and the second asset lock record is completed.

[0144] The preset asset lock data table includes multiple asset lock records, each of which includes: a unique asset identifier, a unique identifier of the associated asset, and a lock status.

[0145] Each asset lock record also includes the lock status of basic attribute data.

[0146] In one embodiment of this application, the asset data processing apparatus further includes:

[0147] The second determining module is used to determine whether to process the basic attribute data in the target asset data based on the processing object information. If so, it obtains the first asset lock record corresponding to the target asset data from the preset asset lock data table based on the unique identifier of the target asset.

[0148] The second processing module is used to determine whether the lock state corresponding to the basic attribute data in the first asset lock record is unlocked. If so, the lock state is changed to locked and the processing of the basic attribute data is completed.

[0149] The unlocking module is used to change the lock status corresponding to the basic attribute data in the first asset lock record to the unlock status.

[0150] In one embodiment of this application, the asset data processing apparatus further includes:

[0151] The first abort module is used to abort the current operation if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both locked.

[0152] In one embodiment of this application, the asset data processing apparatus further includes:

[0153] The error reporting module is used to end the current operation and output the error information of the associated asset unique identifier if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent.

[0154] In one embodiment of this application, the asset data processing apparatus further includes:

[0155] The second abort module is used to abort the current operation if it is determined that the lock state corresponding to the basic attribute data in the first asset lock record is a locked state.

[0156] The embodiments of the asset data processing apparatus provided in this specification can be used to execute the processing flow of the embodiments of the asset data processing method described above. Its functions will not be repeated here, but can be referred to the detailed description of the embodiments of the asset data processing method described above.

[0157] As described above, the asset data processing method and apparatus provided in this application can improve the efficiency of asset data processing while avoiding multiple users processing asset data simultaneously. Specifically, the locking granularity is small, and all assets and related relationships can be maintained in parallel, which can improve the maintenance efficiency of large asset databases. The definition of relationship locks, which lock bidirectional data of relationships each time, can ensure the consistency of bidirectional relationships and prevent relationships from overwriting each other, thus ensuring data quality. It is applicable to all asset modeling scenarios and has universality.

[0158] Figure 6 This is a schematic diagram of the physical structure of an electronic device provided in an embodiment of the present invention, as shown below. Figure 6As shown, the electronic device may include: a processor 401, a communication interface 402, a memory 403, and a communication bus 404, wherein the processor 401, the communication interface 402, and the memory 403 communicate with each other through the communication bus 404. The processor 401 can call logic instructions in the memory 403 to execute the following method: receiving a processing request for target asset data, the processing request including: a unique identifier of the target asset and processing object information; determining whether the processing object information contains a unique identifier of a target associated asset in the target asset data; if so, determining a first asset lock record and a second asset lock record according to the processing request and a preset asset lock data table; the unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset; the unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset; determining whether the lock states corresponding to the unique identifiers of the associated assets in the first asset lock record and the second asset lock record are both in an unlocked state; if so, changing the lock states to a locked state and completing the processing of the unique identifiers of the associated assets corresponding to the first asset lock record and the second asset lock record.

[0159] Furthermore, the logical instructions in the aforementioned memory 403 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0160] This embodiment discloses a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the methods provided in the above-described method embodiments, such as: receiving a processing request for target asset data, the processing request including: a unique identifier of the target asset and processing object information; determining whether the processing object information contains a unique identifier of a target associated asset in the target asset data; if so, determining a first asset lock record and a second asset lock record according to the processing request and a preset asset lock data table; the unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset; the unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset; determining whether the lock states corresponding to the unique identifiers of the associated assets in the first asset lock record and the second asset lock record are both in an unlocked state; if so, changing the lock states to a locked state and completing the processing of the unique identifiers of the associated assets corresponding to the first asset lock record and the second asset lock record.

[0161] This embodiment provides a computer-readable storage medium storing a computer program that causes the computer to execute the methods provided in the above-described method embodiments, including, for example:

[0162] The system receives a processing request for target asset data, which includes: a unique identifier for the target asset and processing object information. It then determines whether the processing object information contains a unique identifier for a target associated asset in the target asset data. If so, it determines a first asset lock record and a second asset lock record based on the processing request and a preset asset lock data table. The unique identifier for the asset in the first asset lock record is the unique identifier for the target asset, and the unique identifier for the associated asset is the unique identifier for the target associated asset. Similarly, the unique identifier for the asset in the second asset lock record is the unique identifier for the target associated asset, and the unique identifier for the associated asset is the unique identifier for the target asset. Finally, it determines whether the lock states corresponding to the unique identifiers for the associated assets in both the first and second asset lock records are both unlocked. If so, it changes all lock states to locked and completes the processing of the unique identifiers for the associated assets corresponding to the first and second asset lock records.

[0163] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0164] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0165] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0166] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0167] In the description of this specification, the references to terms such as "an embodiment," "a specific embodiment," "some embodiments," "for example," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0168] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. An asset data processing method, characterized in that, include: Receive a processing request for target asset data, which includes: the unique identifier of the target asset and the information of the object to be processed; Determine whether the processing object information contains the unique identifier of the target associated asset in the target asset data. If so, determine the first asset lock record and the second asset lock record according to the processing request and the preset asset lock data table. The unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset. The unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset. Determine whether the lock status corresponding to the unique identifier of the associated asset in both the first asset lock record and the second asset lock record is unlocked. If so, change the lock status to locked and complete the processing of the unique identifier of the associated asset in both the first asset lock record and the second asset lock record. If the lock status corresponding to the unique identifier of the associated asset in both the first asset lock record and the second asset lock record is locked, stop the current operation. If the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent, end the current operation and output the error information of the unique identifier of the associated asset. The preset asset locking data table includes: lock types, which include: attribute locks and relationship locks. The attribute locks are used to lock the basic attributes of asset data, and the relationship locks are used to lock the association between the target asset and the target related assets.

2. The asset data processing method according to claim 1, characterized in that, The preset asset lock data table includes multiple asset lock records, each of which includes: a unique asset identifier, a unique identifier of the associated asset, and a lock status.

3. The asset data processing method according to claim 1, characterized in that, Each asset lock record also includes the lock status of basic attribute data.

4. The asset data processing method according to claim 1, characterized in that, Following the processing request for receiving target asset data, the process also includes: Based on the processing object information, determine whether to process the basic attribute data in the target asset data. If so, obtain the first asset lock record corresponding to the target asset data from the preset asset lock data table based on the unique identifier of the target asset. Determine whether the lock status corresponding to the basic attribute data in the first asset lock record is unlocked. If so, change the lock status to locked and complete the processing of the basic attribute data. Change the lock status corresponding to the basic attribute data in the first asset lock record to the unlock status.

5. The asset data processing method according to claim 3, characterized in that, After determining whether the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both in an unlocked state, the method further includes: If it is determined that the lock status corresponding to the basic attribute data in the first asset lock record is locked, then the current operation is terminated.

6. An asset data processing device, characterized in that, include: The receiving module is used to receive processing requests for target asset data, which include: the unique identifier of the target asset and processing object information; The determining module is used to determine whether the processing object information contains a unique identifier for a target associated asset in the target asset data. If so, it determines a first asset lock record and a second asset lock record based on the processing request and a preset asset lock data table. The unique identifier of the asset in the first asset lock record is the unique identifier of the target asset, and the unique identifier of the associated asset is the unique identifier of the target associated asset. The unique identifier of the asset in the second asset lock record is the unique identifier of the target associated asset, and the unique identifier of the associated asset is the unique identifier of the target asset. The processing module is used to determine whether the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both in the unlocked state. If so, the lock status is changed to the locked state and the processing of the unique identifier of the associated asset corresponding to the first asset lock record and the second asset lock record is completed. The asset data processing device further includes: a first abort module, used to abort the current operation if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is both locked; and an error reporting module, used to end the current operation and output the error information of the unique identifier of the associated asset if the lock status corresponding to the unique identifier of the associated asset in the first asset lock record and the second asset lock record is inconsistent. The preset asset locking data table includes: lock types, which include: attribute locks and relationship locks. The attribute locks are used to lock the basic attributes of asset data, and the relationship locks are used to lock the association between the target asset and the target related assets.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the asset data processing method according to any one of claims 1 to 5.

8. A computer-readable storage medium storing computer instructions thereon, characterized in that, When the instruction is executed, it implements the asset data processing method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Database table record locking method and device

    CN102651006A