Index calculation system and method, computer readable storage medium and electronic equipment

Through the collaborative work of the distributed storage system and the indicator calculation client, the problem of graph indicator calculation relying on graph database server resources is solved, efficient graph indicator calculation and low server pressure are achieved, and computing efficiency and performance are improved.

CN120705228APending Publication Date: 2025-09-26TONGDUN NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510815110.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-18
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

In the existing technology, graph metric calculations rely on graph database server resources, resulting in performance degradation and excessive server pressure when calculating high concurrency and complex metrics.

Method used

Adopting a distributed storage system and indicator calculation client, the entity data acquisition request is generated through merging processing, the target entity data is extracted using a distributed key-value database, and aggregation calculation is performed on the client to reduce network resource waste and server pressure.

Benefits of technology

It improves the efficiency of graph metric calculation and query performance, reduces server load, and avoids the waste of network resources caused by multiple entity data acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120705228A_ABST
    Figure CN120705228A_ABST
Patent Text Reader

Abstract

The invention relates to an index calculation system and method, a computer readable storage medium and electronic equipment, and relates to the technical field of big data processing, the system comprises a distributed storage system and an index calculation client; wherein the index calculation client is used for determining original index groups in response to an input operation for an index configuration page, and performing merging processing on the original index groups to generate a first entity data acquisition request; the distributed storage system is used for determining an entity data acquisition rule based on the first entity data acquisition request, and extracting target entity data from a preset distributed key value database based on the entity data acquisition rule; and the index calculation client is also used for extracting original entity data corresponding to the original index group from the target entity data, and performing aggregation calculation on the original entity data to obtain an index calculation result corresponding to the original index group. The index calculation efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present disclosure relate to the field of big data processing technology, and in particular, to an indicator calculation system, an indicator calculation method, a computer-readable storage medium, and an electronic device. Background Art

[0002] In existing indicator calculation schemes, the aggregation operator of the graph query statement of the graph database can be used to directly calculate the graph indicator; in the actual application process, this scheme fully utilizes the graph database and the server resources where it is located. There is no need to return detailed point and edge data. Instead, the results are directly aggregated after querying the data on the graph database, and the returned results are directly the indicator values ​​of the graph indicators.

[0003] However, the above solution has the following defects: since the query process and the calculation process both rely on the graph database itself, a large amount of computing resources of the server where the graph database is located are required; therefore, when the concurrency is large and / or the indicators are complex, not only is the execution performance of the graph query statement low, but it will also cause excessive pressure on the server, resulting in a decrease in throughput and performance.

[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in this field. Summary of the Invention

[0005] The purpose of the present disclosure is to provide an indicator calculation system, an indicator calculation method, a computer-readable storage medium and an electronic device, thereby overcoming, at least to a certain extent, the problem of low indicator calculation efficiency caused by the limitations and defects of related technologies.

[0006] According to one aspect of the present disclosure, there is provided an indicator calculation system, comprising:

[0007] A distributed storage system and an indicator calculation client, wherein the distributed storage system is in communication with the indicator calculation client; wherein:

[0008] The indicator calculation client is used to determine the original indicator group in response to the input operation on the indicator configuration page, and merge the original indicator group to generate a first entity data acquisition request;

[0009] The distributed storage system is configured to determine an entity data acquisition rule based on the first entity data acquisition request, and extract target entity data from a preset distributed key-value database based on the entity data acquisition rule;

[0010] The indicator calculation client is further used to extract original entity data corresponding to the original indicator group from the target entity data, and perform aggregation calculation on the original entity data to obtain indicator calculation results corresponding to the original indicator group.

[0011] In an exemplary embodiment of the present disclosure, the first entity data acquisition request is generated in the following manner: in response to an input operation on the indicator configuration page, determining the original calculation indicator, the main entity category and main entity identifier of the main entity associated with the original calculation indicator, the subordinate entity level and subordinate entity category of the subordinate entity, and the filtering condition of the subordinate entity; forming an original indicator group corresponding to the original calculation indicator according to the original calculation indicator, the main entity category and main entity identifier, the subordinate entity level and subordinate entity category, and the filtering condition of the subordinate entity; grouping and merging the original indicator group according to the main entity category and main entity identifier to obtain a target indicator group, and generating the first entity data acquisition request according to the target indicator group.

[0012] In an exemplary embodiment of the present disclosure, the subordinate entity levels include a first subordinate entity level, a second subordinate entity level, ..., an Nth subordinate entity level; the subordinate entity categories include a first subordinate entity category, a second subordinate entity category, ..., an Nth subordinate entity category; wherein the target indicator group is determined in the following manner: traversing the main entity category and the main entity identifier in the original indicator group, classifying the original indicator group according to the main entity category and the main entity identifier, and obtaining an indicator group classification result; determining the category of the first-degree association relationship between the main entity level and the first subordinate entity level according to the main entity category of the original indicator group in the indicator group classification result and the first subordinate entity category; repeating the process of determining the category of the first-degree association relationship in sequence to obtain the category of the second-degree association relationship, ..., the category of the Nth-degree association relationship, and aggregating the original indicator group in the indicator group classification result according to the category of the association relationship between each entity level to obtain the target indicator group.

[0013] In an exemplary embodiment of the present disclosure, the entity data acquisition rule is determined in the following manner: parsing the first entity data acquisition request to obtain the target indicator group and the main entity category and main entity identifier, the subordinate entity hierarchy, the subordinate entity category corresponding to the subordinate entity hierarchy, and the filtering conditions of the subordinate entities corresponding to the subordinate entity category in the target indicator group; calling a preset custom function function, and filling the main entity category and main entity identifier, the subordinate entity hierarchy, the subordinate entity category corresponding to the subordinate entity hierarchy, and the filtering conditions of the subordinate entities corresponding to the subordinate entity category into the custom function to obtain the entity data acquisition rule.

[0014] In an exemplary embodiment of the present disclosure, target entity data is determined as follows: extracting a first candidate entity identifier of a first subordinate candidate entity having a one-degree association relationship with the main entity identifier from a preset distributed key-value database based on the main entity category and the main entity identifier; filtering the first subordinate candidate entity based on the first candidate entity identifier to obtain a first subordinate target entity, and generating first subordinate target entity data based on the first target entity attribute of the first subordinate target entity; extracting a second candidate entity identifier of a second subordinate candidate entity having a one-degree association relationship with the first target entity identifier from a preset distributed key-value database based on the first target entity identifier and the first target entity category of the first subordinate target entity; filtering the second subordinate candidate entity based on the second candidate entity identifier to obtain a second subordinate target entity, and generating second subordinate target entity data based on the second target entity attribute of the second subordinate target entity; repeating the generation process of the second subordinate target data in sequence to obtain other subordinate target entity data of other subordinate entity levels in the subordinate entity hierarchy except the first subordinate entity level and the second subordinate entity level.

[0015] In an exemplary embodiment of the present disclosure, the first sub-level target entity is determined by: determining, based on the first candidate entity identifier, whether the first sub-level candidate entity corresponding to the first candidate entity identifier exists in the current storage node;

[0016] If so, the first candidate entity attribute information of the first sub-level candidate entity is obtained from the current storage node according to the first candidate entity identifier; if not, the first sub-level candidate entity is marked to obtain the first sub-level entity marking result; according to the first sub-level entity category, the first sub-level entity filtering condition and the first candidate entity attribute information, the unmarked first sub-level candidate entities are filtered to obtain the first sub-level entity filtering result, and the first sub-level target entity is generated according to the first sub-level entity marking result and the first sub-level entity filtering result.

[0017] In an exemplary embodiment of the present disclosure, the indicator calculation client is also used to: parse the target entity data and extract the sub-level entity labeling results included in the target entity data; and send a second entity data acquisition request to the storage node corresponding to the labeled sub-level entity based on the labeled entity identifier of the labeled sub-level entity in the sub-level entity labeling results.

[0018] In an exemplary embodiment of the present disclosure, the original entity data is extracted in the following manner: a memory tree diagram is constructed based on the target entity data; wherein the root node of the memory tree diagram is the master entity, and the leaf nodes of the memory tree diagram are the slave entities and the indicator group to which the slave entities belong; the data extraction path of the original indicator group in the target indicator group is determined based on the indicator group identifier of the original indicator group, and the original entity data corresponding to the original indicator group is extracted from the memory tree diagram based on the data extraction path.

[0019] According to one aspect of the present disclosure, there is provided an indicator calculation method, which is configured on an indicator calculation client, and the indicator calculation method includes:

[0020] In response to an input operation on the indicator configuration page, determining an original indicator group, and merging the original indicator group to generate a first entity data acquisition request;

[0021] Sending the first entity data acquisition request to a distributed storage system, and receiving target entity data fed back by the distributed storage system in response to the first entity data acquisition request;

[0022] Original entity data corresponding to the original indicator group is extracted from the target entity data, and aggregation calculation is performed on the original entity data to obtain an indicator calculation result corresponding to the original indicator group.

[0023] In an exemplary embodiment of the present disclosure, in response to an input operation on an indicator configuration page, determining an original indicator group, and merging the original indicator group to generate a first entity data acquisition request includes:

[0024] In response to an input operation on the indicator configuration page, determining an original calculation indicator, a main entity category and a main entity identifier of a main entity associated with the original calculation indicator, a sub-entity level and a sub-entity category of a sub-entity, and a screening condition for the sub-entities;

[0025] Generate an original indicator group corresponding to the original calculation indicator according to the original calculation indicator, the main entity category and the main entity identifier, the sub-entity level and the sub-entity category, and the sub-entity screening condition;

[0026] The original indicator groups are grouped and merged according to the main entity category and the main entity identifier to obtain a target indicator group, and the first entity data acquisition request is generated according to the target indicator group.

[0027] In an exemplary embodiment of the present disclosure, the sub-entity level includes a first sub-entity level, a second sub-entity level, ..., and an Nth sub-entity level; the sub-entity category includes a first sub-level entity category, a second sub-level entity category, ..., and an Nth sub-level entity category;

[0028] The original indicator groups are grouped and merged according to the main entity category and the main entity identifier to obtain the target indicator group, including:

[0029] Traversing the main entity categories and main entity identifiers in the original indicator group, classifying the original indicator group according to the main entity categories and main entity identifiers, and obtaining an indicator group classification result;

[0030] Determine the category of the first-degree association relationship between the primary entity level and the first secondary entity level according to the primary entity category of the original indicator group and the first secondary entity category in the indicator group classification result;

[0031] The process of determining the category of the first-degree association relationship is repeated in sequence to obtain the category of the second-degree association relationship, ..., and the category of the N-degree association relationship. According to the category of the association relationship between each entity level, the original indicator group in the indicator group classification result is aggregated to obtain the target indicator group.

[0032] In an exemplary embodiment of the present disclosure, extracting original entity data corresponding to the original indicator group from the target entity data includes:

[0033] Constructing a memory tree diagram according to the target entity data; wherein the root node of the memory tree diagram is the master entity, and the leaf nodes of the memory tree diagram are the slave entities and the indicator groups to which the slave entities belong;

[0034] The data extraction path of the original indicator group in the target indicator group is determined according to the indicator group identifier of the original indicator group, and the original entity data corresponding to the original indicator group is extracted from the memory tree diagram according to the data extraction path.

[0035] According to one aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the computer program implements any one of the above-mentioned indicator calculation methods.

[0036] According to one aspect of the present disclosure, there is provided an electronic device, including:

[0037] processor; and

[0038] a memory for storing executable instructions of the processor;

[0039] The processor is configured to execute any one of the above-mentioned indicator calculation methods by executing the executable instructions.

[0040] An embodiment of the present disclosure provides an indicator calculation system. On the one hand, an indicator calculation client determines an original indicator group in response to an input operation on an indicator configuration page, and merges the original indicator group to generate a first entity data acquisition request; then, a distributed storage system determines an entity data acquisition rule based on the first entity data acquisition request, and extracts target entity data from a preset distributed key-value database based on the entity data acquisition rule; finally, the indicator calculation client extracts the original entity data corresponding to the original indicator group from the target entity data, and performs aggregation calculation on the original entity data to obtain an indicator calculation result corresponding to the original indicator group; because the original indicator group can be merged, the number of entity data acquisition requests is reduced, thereby avoiding the problem of network resource waste caused by the need to obtain entity data multiple times; on the other hand, because the distributed storage system only needs to execute a single query process and does not need to execute a filtering process, it can reduce the pressure on the server while improving the query efficiency of the target entity data; on the other hand, because aggregation calculation can be performed based on the indicator calculation client to obtain the corresponding indicator calculation effect, the indicator calculation efficiency is improved.

[0041] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0043] Figure 1 An exemplary diagram schematically illustrates an indicator calculation system according to an exemplary embodiment of the present disclosure.

[0044] Figure 2 An example diagram schematically illustrates an indicator configuration page according to an example embodiment of the present disclosure.

[0045] Figure 3 A diagram schematically illustrates a scenario example of a process for merging and grouping original indicator groups according to an exemplary embodiment of the present disclosure.

[0046] Figure 4 A diagram schematically illustrates a scenario example of a configuration structure of a filtering condition according to an exemplary embodiment of the present disclosure.

[0047] Figure 5 A diagram schematically illustrates an example scenario of a preset distributed key-value database according to an example embodiment of the present disclosure.

[0048] Figure 6 A diagram schematically illustrates an example scenario of an entity query according to an example embodiment of the present disclosure.

[0049] Figure 7 A diagram schematically illustrates a scenario example of a data structure of returned target entity data according to an exemplary embodiment of the present disclosure.

[0050] Figure 8 An example diagram of a memory tree diagram according to an example embodiment of the present disclosure is schematically shown.

[0051] Figure 9 A flowchart schematically illustrates an indicator calculation method according to an exemplary embodiment of the present disclosure.

[0052] Figure 10 A diagram schematically illustrates a structural example of an electronic device for implementing an indicator calculation method according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION

[0053] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the present disclosure will be more comprehensive and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or that other methods, components, devices, steps, etc. may be employed. In other cases, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.

[0054] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0055] In the process of actual application, a graph database is used to store the graph data structure when describing the graph data structure; specifically, the graph database recorded here can not only well describe and store the graph data structure, but also well handle the association (topology) relationship between graph data; further, the graph data structure recorded here is a storage engine that can be specifically used to store and retrieve a huge information network. It can efficiently store data as nodes and edges corresponding to the nodes, and allow high-performance retrieval and query of these node and edge structures.

[0056] In some related technical solutions, the calculation of graph indicators also needs to be based on a graph database to store data, and then the retrieval and calculation of graph indicators are realized based on the graph database. The existing graph indicator calculation process can be implemented through the following solutions: One implementation method is to query the graph data structure from the graph database to other systems to calculate the corresponding graph indicators; specifically, under this solution, a business system for calculation will be customized at the upper level, and then some associations in the graph data structure will be queried through the retrieval capability provided by the graph database, and then transmitted to the upper-level computing system through the network to perform operations such as indicator filtering or aggregation calculation to obtain the graph indicator calculation results. The advantages of this method are: the calculation of graph indicators can be realized through the retrieval capability provided by the graph database and custom calculations, which is very flexible and general, and can customize a lot of custom operator logic to calculate different types of graph indicators. The disadvantages of this approach are: since the solution requires the storage of graph data structures through a graph database, the queried relationship details data needs to be uploaded to the upper-level system when calculating graph indicators; in this process, a large amount of serialization and deserialization of relationship details data is involved, and it is transmitted to the upper-level system through the network; therefore, when there are many graph indicators that need to be calculated or the relationship required to calculate the graph indicators is large, the serialization, deserialization and network will have a greater impact on the system performance, resulting in a decrease in indicator calculation performance.

[0057] Another implementation method involves directly calculating graph metrics using the aggregation operators in the graph database's graph query statements. Compared to the first implementation method described above, this method allows the calculation of graph metrics to be moved down to the graph database layer, achieving a unified storage and computing solution. This method has the advantage of utilizing the graph query statements and aggregation operators provided by the graph database to calculate graph metrics, thus avoiding the waste of network resources and low transmission efficiency caused by transmitting large amounts of detailed data over the network to upper-level business systems. Therefore, it offers better computing performance in certain scenarios. However, the metric calculation operators also rely on the aggregation operators provided by the graph database. The disadvantage of this method is that while this solution addresses the data serialization and deserialization issues and data transmission issues of the first solution through the concept of unified storage and computing, it also fully utilizes the resources of the graph database and its server, eliminating the need to return detailed vertex and edge data. Instead, the query results are directly aggregated after the graph database is retrieved, and the returned results are directly the graph metric values. Therefore, the data transmitted is only the metric, significantly reducing the data transmission burden. The disadvantage of this method is that the computing pressure of this method is all on the graph database itself, so it requires a large amount of computing resources of the server where the graph database is located. Under this premise, when the concurrency is large and / or the indicators are complex, not only will the execution performance of the graph query statement be low, but it will also cause excessive pressure on the server, resulting in a decrease in throughput and performance.

[0058] Based on this, the exemplary embodiment of the present disclosure first provides an indicator calculation system. Specifically, refer to Figure 1 As shown, the indicator calculation system may include a terminal device end 110 where an indicator calculation client is located and a server end 120 where a distributed storage system is located; wherein the terminal device end can be connected to the server end in a wired communication or wireless communication manner; in the actual application process, the indicator calculation client is used to respond to the input operation for the indicator configuration page, determine the original indicator group, and merge the original indicator group to generate a first entity data acquisition request; the distributed storage system is used to determine the entity data acquisition rule based on the first entity data acquisition request, and extract the target entity data from the preset distributed key-value database based on the entity data acquisition rule; the indicator calculation client is also used to extract the original entity data corresponding to the original indicator group from the target entity data, and perform aggregation calculation on the original entity data to obtain the indicator calculation result corresponding to the original indicator group.

[0059] In the indicator calculation system described above, on the one hand, the indicator calculation client determines the original indicator group in response to the input operation on the indicator configuration page, and merges the original indicator group to generate a first entity data acquisition request; then, the distributed storage system determines the entity data acquisition rule based on the first entity data acquisition request, and extracts the target entity data from the preset distributed key-value database based on the entity data acquisition rule; finally, the indicator calculation client extracts the original entity data corresponding to the original indicator group from the target entity data, and performs aggregation calculation on the original entity data to obtain the indicator calculation result corresponding to the original indicator group; since the original indicator group can be merged, the number of entity data acquisition requests is reduced, thereby avoiding the problem of network resource waste caused by the need to obtain entity data multiple times; on the other hand, since the distributed storage system only needs to execute a single query process and does not need to execute a filtering process; therefore, the server pressure can be reduced on the basis of improving the query efficiency of the target entity data; on the other hand, since aggregation calculation can be performed based on the indicator calculation client to obtain the corresponding indicator calculation effect, the indicator calculation efficiency is improved.

[0060] Hereinafter, the indicator calculation system described in the exemplary embodiments of the present disclosure will be explained and illustrated in detail with reference to the accompanying drawings.

[0061] First, the terms involved in the exemplary embodiments of the present disclosure are explained and illustrated.

[0062] Distributed storage: Distributed storage is a technology that stores data in a decentralized manner across multiple independent devices or nodes. In practice, these devices or nodes are typically connected via a network. Unlike traditional centralized storage, distributed storage improves system reliability and scalability by distributing data across multiple locations, reducing the overall storage burden and improving overall system performance.

[0063] Serialization: Serialization is the process of converting the state information of an object into a form that can be stored or transmitted. In the process of calculating graph indicators, serialization is the process of converting objects in the graph data structure into byte streams. These byte streams can be saved in files or databases, and can also be transmitted over the network.

[0064] Deserialization: Deserialization is the reverse process of serialization. It is the process of converting a serialized byte stream back into an object, that is, restoring the byte stream obtained from storage or transmission into an object in memory (that is, an object in the graph data structure).

[0065] UDF: In database systems, a user-defined function (UDF) is a custom function created by users based on their business needs. It is used to extend the functionality of the database system. In actual applications, the built-in functions of the database system often cannot meet all business needs. In such cases, users can write UDFs to implement specific data processing logic.

[0066] VID: Vendor ID, the unique identifier of an entity. In a graph database, each entity point has a unique VID corresponding to it.

[0067] Secondly, Figure 1 The indicator calculation system shown in is further explained and illustrated.

[0068] In an example embodiment, the first entity data acquisition request recorded above is generated in the following manner: in response to the input operation on the indicator configuration page, the original calculation indicator, the main entity category and main entity identifier of the main entity associated with the original calculation indicator, the subordinate entity level and subordinate entity category of the subordinate entity, and the screening condition of the subordinate entity are determined; according to the original calculation indicator, the main entity category and main entity identifier, the subordinate entity level and subordinate entity category, and the screening condition of the subordinate entity, an original indicator group corresponding to the original calculation indicator is formed; according to the main entity category and main entity identifier, the original indicator group is grouped and merged to obtain the target indicator group, and the first entity data acquisition request is generated according to the target indicator group. Specifically, the indicator configuration page recorded here can be specifically referred to. Figure 2As shown; in the actual application process, the indicator configuration page can be displayed based on the page where the indicator calculation client is located; if it is necessary to generate an original indicator group, it is necessary to configure the original calculation indicator (that is, the name of the indicator to be calculated, for example, determining the credit risk of a user, determining the enterprise or bank card associated with the user, etc.; for example, determining the credit risk of a certain enterprise or the development prospects of a certain enterprise, etc.); the main entity recorded here can be, for example, a person or a certain enterprise, of course, it can also be other entities, and this example does not impose special restrictions on this; the entity identifier recorded here can be, for example, the user's ID number, telephone number or other unique identifier, or it can be the unified social credit code of the enterprise, etc., this example There is no special restriction on this; the subordinate entity level recorded here can be, for example, the first subordinate entity level having a first-degree association with the main entity, the second subordinate entity level having a second-degree association, ..., the Nth subordinate entity level having an N-degree association, etc.; the subordinate entity category can include the subordinate entity category including the first subordinate entity category, the second subordinate entity category, ..., the Nth subordinate entity category; the specific category can include but is not limited to enterprises or individuals or cards (such as bank cards) or assets, etc., and this example does not impose special restrictions on this; the filtering conditions of the subordinate entities recorded here can be, for example, date filtering conditions, type filtering conditions, region filtering conditions, etc., which can be set according to actual needs, and this example does not impose special restrictions on this. Furthermore, after obtaining the original calculation indicators, the main entity category and main entity identifier of the main entity associated with the original calculation indicators, the sub-entity level and sub-entity category of the sub-entity, and the screening conditions of the sub-entity, the association relationship between the original calculation indicators and the main entity category and main entity identifier, the sub-entity level and sub-entity category of the sub-entity, and the screening conditions of the sub-entity can be established to generate an original indicator group; wherein, the obtained original indicator group can be referred to, for example Figure 3 As shown in 301.

[0069] In an example embodiment, the target indicator group described above is determined in the following manner: traversing the main entity category and main entity identifier in the original indicator group, classifying the original indicator group according to the main entity category and main entity identifier to obtain an indicator group classification result; determining the category of the first-degree association relationship between the main entity level and the first subordinate entity level according to the main entity category of the original indicator group and the first subordinate entity category in the indicator group classification result; repeating the process of determining the category of the first-degree association relationship in sequence to obtain the category of the second-degree association relationship,..., the category of the N-degree association relationship, and aggregating the original indicator group in the indicator group classification result according to the category of the association relationship between each entity level to obtain the target indicator group. That is, in actual application, in order to reduce the number of requests for target entity data, the client will group and merge all calculation indicators in advance; in the actual merging process, first, based on the subject identifier, the original indicator groups corresponding to the same subject identifier are aggregated together; then, if the first-degree association relationship is all person-enterprise, they can be merged into one path; if the first-degree association relationship is person-person, another path is required; and so on, the association relationships of other degrees are aggregated. For example, refer to Figure 3 From the original indicator group shown, we can see that by merging the three indicator groups and marking the original group to which each path configuration belongs, the merged configuration will be used to query the data. It is possible to query all indicator data of the three indicator groups at the same time with one configuration. The specific target indicator group can be referred to Figure 3 As shown in 302 in the figure, based on this, it is not necessary to make a network request for each indicator group. In addition, in the process of returning data, the data with the same configuration will be returned in a unified query, thereby achieving the purpose of reducing the transmission of duplicate data. Furthermore, by merging the same indicators, a new filter condition configuration will be constructed. This filter condition configuration is also the parameter passed to the server-side UDF. The configuration structure of the new filter condition can be referred to Figure 4 shown.

[0070] In an exemplary embodiment, the entity data acquisition rule described above is determined by: parsing the first entity data acquisition request to obtain a target indicator group and the primary entity category and primary entity identifier, the secondary entity level, the secondary entity category corresponding to the secondary entity level, and the filtering conditions of the secondary entities corresponding to the secondary entity category in the target indicator group; calling a preset custom function and filling the primary entity category and primary entity identifier, the secondary entity level, the secondary entity category corresponding to the secondary entity level, and the filtering conditions of the secondary entities corresponding to the secondary entity category into the custom function to obtain the entity data acquisition rule. That is, in actual application, a UDF (User-Defined Function) of a distributed storage system can be called, and then the parsed information can be written into the user-defined function to obtain the corresponding entity data acquisition rule; in the specific entity data extraction process, the entity data acquisition rule can be executed to obtain the corresponding target entity data.

[0071] In an exemplary embodiment, the target entity data described above is determined as follows: extracting a first candidate entity identifier of a first subordinate candidate entity having a one-degree association relationship with the main entity identifier from a preset distributed key-value database based on the main entity category and the main entity identifier; filtering the first subordinate candidate entity based on the first candidate entity identifier to obtain a first subordinate target entity, and generating first subordinate target entity data based on the first target entity attribute of the first subordinate target entity; extracting a second candidate entity identifier of a second subordinate candidate entity having a one-degree association relationship with the first target entity identifier from a preset distributed key-value database based on the first target entity identifier and the first target entity category of the first subordinate target entity; filtering the second subordinate candidate entity based on the second candidate entity identifier to obtain a second subordinate target entity, and generating second subordinate target entity data based on the second target entity attribute of the second subordinate target entity; repeating the second subordinate target data generation process in sequence to obtain other subordinate target entity data of other subordinate entity levels in the subordinate entity hierarchy except the first subordinate entity level and the second subordinate entity level.

[0072] In an example embodiment, the preset distributed key-value database described above can store graph data in a key-value manner; wherein the key is the unique entity identifier (VID) of the entity, and the value is the entity attribute information of the entity and the first-degree association relationship between the entity and other entities; the specific storage scenario example diagram can be referred to Figure 5As shown; it should also be noted that the reason why graph data needs to be stored in a key-value format is that the advantage of replacing it with KV storage is that you can customize the server-side UDF to filter data in advance. By leveraging a feature provided by the underlying distributed KV storage, you can read other local related data in the UDF. Based on this, the number of network interactions in subsequent queries can be reduced, thereby achieving the goal of improving data query efficiency.

[0073] In an exemplary embodiment, the first sub-level target entity described above is determined in the following manner: determining whether the first sub-level candidate entity corresponding to the first candidate entity identifier exists in the current storage node based on the first candidate entity identifier; if so, obtaining the first candidate entity attribute information of the first sub-level candidate entity from the current storage node based on the first candidate entity identifier; if not, marking the first sub-level candidate entity to obtain a first sub-level entity marking result; filtering the unmarked first sub-level candidate entities based on the first sub-level entity category, the first sub-level entity filtering conditions and the first candidate entity attribute information to obtain a first sub-level entity filtering result, and generating the first sub-level target entity based on the first sub-level entity marking result and the first sub-level entity filtering result.

[0074] The following will further explain and illustrate the specific extraction process of the target entity data. Specifically, in the actual application process, the API (Application Programming Interface) provided by the distributed key-value database can be called, and finally the target entity data can be extracted in the UDF logic; further, in the UDF, the first-degree relationship query will be performed and filtering will be performed according to the configuration. After the first-degree relationship query is completed, the next-degree point VID will be obtained, and the query will continue to be executed by reading the local records until the maximum level required by the indicator is traversed, and the query will be ended. The entity relationship that finally meets the conditions will be returned to the client. At the same time, it will also include the entity point VID that the local machine has failed to query, and will be routed to the specified machine by the API for query in the next query. For details, refer to Figure 6 As shown in the figure, assuming the starting point is V0, when querying and filtering in the UDF, the local point V1 will be read first, and it meets the filtering conditions. Starting from V1 again, the local points V2 and V4 are read and filtered, and so on. Subsequently, starting from V2 and V4, the next data that meets the requirements is read. If the local point cannot be read, such as V3, it will be included in the return result and marked as unread. The client will initiate another network request and route it to the machine where V3 is located for a new round of reading. The overall internal execution process of the UDF is as follows:

[0075] S001, obtain the Level parameter and obtain the corresponding Level condition from Condition;

[0076] S002, looping through the conditional rule group (i.e., the filtering conditions in the entity data acquisition rule);

[0077] S003, determine whether it is L0; if so, jump to S004; if not, jump to S006;

[0078] S004, determine whether priLabel (pre-stored VID, that is, VID in the distributed key-value database) is consistent with the current point Label (that is, the master node identifier); if not, jump to S005; if so, jump to S006;

[0079] S005, continue to execute the next condition and jump to S002 after execution is completed;

[0080] S006, obtaining the filtering condition of the current point;

[0081] S007, judging whether the current point has no tag (identification) or whether the group code (code of the indicator group) included in the tag of the current point is the same as the condition group code; if so, jump to S008; if not, jump to S002;

[0082] S008, non-L0 needs to encapsulate the points of the corresponding level;

[0083] S009, obtain edge filtering conditions and start looping through all edges;

[0084] S010, whether the edge meets the conditions; if not, continue to the next edge and jump to S009;

[0085] S011, if yes, remove the loop to prevent repeated queries; and tag the filtered target points;

[0086] S012, determine whether the variable loop is completed; if not, jump to S009; if so, jump to S013;

[0087] S013, determine whether the conditional loop is finished; if so, jump to S014; if not, jump to S002;

[0088] S014, obtaining a batch of marked target points;

[0089] S015, determine whether the traversed target point meets the maximum number of layers; if so, return the encapsulation result; if not, start the loop sub-read query to mark the target point until the self-reading is completed and the encapsulation result is returned. Among them, the specific data structure of the target entity data fed back can be referred to Figure 7 shown.

[0090] In an exemplary embodiment, the indicator calculation client described above is also used to: parse the target entity data, extract the sub-level entity labeling results included in the target entity data; based on the labeled entity identifier of the labeled sub-level entity in the sub-level entity labeling results, send a second entity data acquisition request to the storage node corresponding to the labeled sub-level entity. That is, after the indicator calculation client receives the target entity data, it can parse the target entity data. If the target entity data includes the labeled entity identifier (that is, the storage party is not the current storage node), it is necessary to send a data acquisition request again to obtain the target entity data corresponding to the node; for example, by Figure 6 From the example diagram shown, it can be seen that entities stored in non-local devices (or current storage nodes) include V13, V3, V7, V9, V10, V11, and so on.

[0091] In an example embodiment, the original entity data recorded above is extracted in the following manner: a memory tree diagram is constructed based on the target entity data; wherein the root node of the memory tree diagram is the master entity, and the leaf nodes of the memory tree diagram are the slave entities and the indicator group to which the slave entity belongs; the data extraction path of the original indicator group in the target indicator group is determined based on the indicator group identifier of the original indicator group, and the original entity data corresponding to the original indicator group is extracted from the memory tree diagram based on the data extraction path. That is, in the actual application process, each UDF execution will return the following Figure 7 The data format shown is sent to the client system. The client system will parse the returned format after each query is returned and add it to the built memory tree diagram. The node is each entity and the entity's tag group set. At the same time, the memory will eventually form a Figure 8 The structure shown in the figure is as follows. Finally, after all entity points have been queried and executed, the indicator calculation logic will be performed in the client system. At the same time, the calculation logic only needs to filter the data that meets the requirements of the original indicator group in the final result. After filtering the data that meets the requirements, the final indicator calculation result can be obtained by direct aggregation calculation.

[0092] At this point, the indicator calculation system described in the exemplary embodiments of the present disclosure has been fully implemented. Based on the aforementioned content, it can be seen that the indicator calculation system described in the exemplary embodiments of the present disclosure has at least the following advantages: on the one hand, by grouping and merging indicators, the number of network interactions and data transmission overhead are reduced; on the other hand, by utilizing the characteristics of reading local data, all data that meets the results can be queried simultaneously to reduce the number of network interactions; on the other hand, by utilizing the group tagging mechanism, all data can be queried at once and a minimum in-memory tree diagram that meets all structures can be constructed to support data screening for subsequent indicator calculations.

[0093] The exemplary embodiment of the present disclosure also provides an indicator calculation method, which can be run on a terminal device where the indicator calculation client is located; of course, those skilled in the art can also run the method of the present disclosure on other platforms as needed, and this exemplary embodiment does not specifically limit this. Figure 9 As shown, the indicator calculation method may include the following steps:

[0094] Step S910: In response to an input operation on the indicator configuration page, determining an original indicator group, and merging the original indicator group to generate a first entity data acquisition request;

[0095] Step S920: sending a first entity data acquisition request to a distributed storage system, and receiving target entity data fed back by the distributed storage system in response to the first entity data acquisition request;

[0096] Step S930 : extracting original entity data corresponding to the original indicator group from the target entity data, and performing aggregation calculation on the original entity data to obtain an indicator calculation result corresponding to the original indicator group.

[0097] In the indicator calculation method described above, on the one hand, the original indicator group is determined in response to the input operation on the indicator configuration page, and the original indicator group is merged to generate a first entity data acquisition request; the first entity data acquisition request is then sent to the distributed storage system, and the target entity data fed back by the distributed storage system in response to the first entity data acquisition request is received; finally, the original entity data corresponding to the original indicator group is extracted from the target entity data, and the original entity data is aggregated and calculated to obtain the indicator calculation result corresponding to the original indicator group; since the original indicator group can be merged, the number of entity data acquisition requests is reduced, thereby avoiding the problem of network resource waste caused by the need to acquire entity data multiple times; on the other hand, since the distributed storage system only needs to execute a single query process, there is no need to execute a filtering process; therefore, the server pressure can be reduced on the basis of improving the query efficiency of the target entity data; on the other hand, since aggregation calculation can be performed based on the indicator calculation client to obtain the corresponding indicator calculation effect, the indicator calculation efficiency is improved.

[0098] In an exemplary embodiment of the present disclosure, in response to an input operation on an indicator configuration page, an original indicator group is determined, and the original indicator group is merged to generate a first entity data acquisition request, including: in response to an input operation on the indicator configuration page, an original calculation indicator, a main entity category and a main entity identifier of a main entity associated with the original calculation indicator, a subordinate entity hierarchy and a subordinate entity category of a subordinate entity, and a filtering condition of the subordinate entity are determined; based on the original calculation indicator, the main entity category and the main entity identifier, the subordinate entity hierarchy and the subordinate entity category, and the filtering condition of the subordinate entity, an original indicator group corresponding to the original calculation indicator is generated; based on the original calculation indicator, the main entity category and the main entity identifier, the subordinate entity hierarchy and the subordinate entity category, and the filtering condition of the subordinate entity, the original indicator group is grouped and merged according to the main entity category and the main entity identifier to obtain a target indicator group, and the first entity data acquisition request is generated based on the target indicator group.

[0099] In an exemplary embodiment of the present disclosure, the slave entity levels include a first slave entity level, a second slave entity level, ..., an Nth slave entity level; the slave entity categories include a first slave entity category, a second slave entity category, ..., an Nth slave entity category; wherein, the original indicator group is grouped and merged according to the main entity category and the main entity identifier to obtain a target indicator group, including: traversing the main entity category and the main entity identifier in the original indicator group, classifying the original indicator group according to the main entity category and the main entity identifier to obtain an indicator group classification result; determining the category of the first-degree association relationship between the main entity level and the first slave entity level according to the main entity category of the original indicator group in the indicator group classification result and the first slave entity category; repeating the process of determining the category of the first-degree association relationship in sequence to obtain the category of the second-degree association relationship, ..., the category of the Nth-degree association relationship, and aggregating the original indicator group in the indicator group classification result according to the category of the association relationship between each entity level to obtain the target indicator group.

[0100] In an exemplary embodiment of the present disclosure, extracting original entity data corresponding to the original indicator group from the target entity data includes: constructing a memory tree diagram based on the target entity data; wherein the root node of the memory tree diagram is the master entity, and the leaf nodes of the memory tree diagram are the slave entities and the indicator group to which the slave entities belong; determining the data extraction path of the original indicator group in the target indicator group based on the indicator group identifier of the original indicator group, and extracting the original entity data corresponding to the original indicator group from the memory tree diagram based on the data extraction path.

[0101] The specific details of the above indicator calculation method have been described in detail in the corresponding indicator calculation system, so they will not be repeated here.

[0102] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0103] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided. Those skilled in the art will appreciate that various aspects of the present disclosure can be implemented as a system, method, or program product. Therefore, various aspects of the present disclosure can be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software aspects, which can be collectively referred to herein as a circuit, module, or system.

[0104] Refer to the following Figure 10 1000 according to this embodiment of the present disclosure will be described. Figure 10 The electronic device 1000 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0105] like Figure 10 As shown, electronic device 1000 is implemented as a general-purpose computing device. Components of electronic device 1000 may include, but are not limited to, the aforementioned at least one processing unit 1010, the aforementioned at least one storage unit 1020, a bus 1030 connecting various system components (including storage unit 1020 and processing unit 1010), and a display unit 1040.

[0106] The storage unit stores program codes, which can be executed by the processing unit 1010, so that the processing unit 1010 performs the steps described in the "Exemplary Method" section of the present disclosure according to various exemplary embodiments. For example, the processing unit 1010 can perform the following steps: Figure 9 Step S910 shown in: in response to an input operation on the indicator configuration page, determining the original indicator group, and merging the original indicator group to generate a first entity data acquisition request; step S920: sending the first entity data acquisition request to the distributed storage system, and receiving the target entity data fed back by the distributed storage system in response to the first entity data acquisition request; step S930: extracting the original entity data corresponding to the original indicator group from the target entity data, and performing aggregation calculation on the original entity data to obtain the indicator calculation result corresponding to the original indicator group.

[0107] The storage unit 1020 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 10201 and / or a cache memory unit 10202 , and may further include a read-only memory unit (ROM) 10203 .

[0108] The storage unit 1020 may also include a program / utility 10204 having a set (at least one) of program modules 10205, such program modules 10205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0109] Bus 1030 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0110] The electronic device 1000 can also communicate with one or more external devices 1100 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 1000, and / or any device that enables the electronic device 1000 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 1050. Furthermore, the electronic device 1000 can also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 1060. As shown, the network adapter 1060 communicates with other modules of the electronic device 1000 via a bus 1030. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device 1000, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0111] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0112] In exemplary embodiments of the present disclosure, a computer-readable storage medium is also provided, on which is stored a program product capable of implementing the aforementioned methods of this specification. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product comprising program code. When the program product is executed on a terminal device, the program code is configured to cause the terminal device to execute the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of the present disclosure.

[0113] According to an embodiment of the present disclosure, a program product for implementing the above-mentioned method can be a portable compact disc read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0114] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0115] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0116] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0117] The program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0118] Furthermore, the figures above are merely illustrative of the processes included in the methods according to exemplary embodiments of the present disclosure and are not intended to be limiting. It is readily understood that the processes illustrated in the figures above do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0119] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow from the general principles of the present disclosure and include common knowledge or customary techniques in the art not invented herein. The specification and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.

Claims

1. An indicator calculation system, characterized in that: include: A distributed storage system and an indicator calculation client, wherein the distributed storage system is in communication with the indicator calculation client; wherein: The indicator calculation client is used to determine the original indicator group in response to the input operation on the indicator configuration page, and merge the original indicator group to generate a first entity data acquisition request; The distributed storage system is configured to determine an entity data acquisition rule based on the first entity data acquisition request, and extract target entity data from a preset distributed key-value database based on the entity data acquisition rule; The indicator calculation client is further used to extract original entity data corresponding to the original indicator group from the target entity data, and perform aggregation calculation on the original entity data to obtain indicator calculation results corresponding to the original indicator group.

2. The indicator calculation system according to claim 1, characterized in that: The first entity data acquisition request is generated in the following manner: In response to an input operation on the indicator configuration page, determining an original calculation indicator, a main entity category and a main entity identifier of a main entity associated with the original calculation indicator, a sub-entity level and a sub-entity category of a sub-entity, and a screening condition for the sub-entities; Generating an original indicator group corresponding to the original calculation indicator according to the original calculation indicator, the main entity category and the main entity identifier, the sub-entity level and the sub-entity category, and the sub-entity screening condition; The original indicator groups are grouped and merged according to the main entity category and the main entity identifier to obtain a target indicator group, and the first entity data acquisition request is generated according to the target indicator group.

3. The indicator calculation system according to claim 2, characterized in that: The subordinate entity levels include a first subordinate entity level, a second subordinate entity level, ..., and an Nth subordinate entity level; the subordinate entity categories include a first subordinate entity category, a second subordinate entity category, ..., and an Nth subordinate entity category; The target indicator group is determined in the following manner: Traversing the main entity categories and main entity identifiers in the original indicator group, classifying the original indicator group according to the main entity categories and main entity identifiers, and obtaining an indicator group classification result; Determine the category of the first-degree association relationship between the primary entity level and the first secondary entity level according to the primary entity category of the original indicator group and the first secondary entity category in the indicator group classification result; The process of determining the category of the first-degree association relationship is repeated in sequence to obtain the category of the second-degree association relationship, ..., and the category of the N-degree association relationship. According to the category of the association relationship between each entity level, the original indicator group in the indicator group classification result is aggregated to obtain the target indicator group.

4. The indicator calculation system according to claim 1, characterized in that: The entity data acquisition rule is determined as follows: Parsing the first entity data acquisition request to obtain a target indicator group and a main entity category and main entity identifier, a sub-entity level, a sub-level entity category corresponding to the sub-entity level, and a screening condition for the sub-entities corresponding to the sub-level entity category in the target indicator group; Call a preset custom function function, and fill the main entity category and main entity identifier, the subordinate entity hierarchy, the subordinate entity category corresponding to the subordinate entity hierarchy, and the filtering conditions of the subordinate entity corresponding to the subordinate entity category into the custom function to obtain the entity data acquisition rule.

5. The indicator calculation system according to claim 1, characterized in that: The target entity data is determined as follows: Extracting, from a preset distributed key-value database according to the main entity category and the main entity identifier, a first candidate entity identifier of a first subordinate-level candidate entity having a first-degree association relationship with the main entity identifier; Filtering the first sub-level candidate entities according to the first candidate entity identifier to obtain a first sub-level target entity, and generating first sub-level target entity data according to the first target entity attribute of the first sub-level target entity; Extracting, from a preset distributed key-value database, a second candidate entity identifier of a second sub-level candidate entity having a first-degree association relationship with the first target entity identifier, according to the first target entity identifier and the first target entity category of the first sub-level target entity; Filtering the second sub-level candidate entities according to the second candidate entity identifier to obtain a second sub-level target entity, and generating second sub-level target entity data according to the second target entity attribute of the second sub-level target entity; The process of generating the second sub-level target data is repeated sequentially to obtain other sub-level target entity data of other sub-levels in the sub-entity hierarchy except the first sub-entity hierarchy and the second sub-entity hierarchy.

6. The indicator calculation system according to claim 5, characterized in that: The first sub-level target entity is determined in the following manner: Determine, according to the first candidate entity identifier, whether a first sub-level candidate entity corresponding to the first candidate entity identifier exists in the current storage node; If so, obtaining the first candidate entity attribute information of the first sub-level candidate entity from the current storage node according to the first candidate entity identifier; if not, marking the first sub-level candidate entity to obtain a first sub-level entity marking result; According to the first sub-level entity category, the first sub-level entity screening conditions and the first candidate entity attribute information, the unlabeled first sub-level candidate entities are filtered to obtain the first sub-level entity filtering results, and the first sub-level target entity is generated according to the first sub-level entity labeling results and the first sub-level entity filtering results.

7. The indicator calculation system according to claim 1, characterized in that: The indicator calculation client is also used to: Parsing the target entity data, and extracting the sub-level entity tagging results included in the target entity data; Based on the marked entity identifier of the marked sub-level entity in the sub-level entity marking result, a second entity data acquisition request is sent to a storage node corresponding to the marked sub-level entity.

8. The indicator calculation system according to claim 1, characterized in that: The original entity data is extracted in the following way: Constructing a memory tree diagram according to the target entity data; wherein the root node of the memory tree diagram is the master entity, and the leaf nodes of the memory tree diagram are the slave entities and the indicator groups to which the slave entities belong; The data extraction path of the original indicator group in the target indicator group is determined according to the indicator group identifier of the original indicator group, and the original entity data corresponding to the original indicator group is extracted from the memory tree diagram according to the data extraction path.

9. A method for calculating an indicator, characterized in that: Configured on the indicator calculation client, the indicator calculation method includes: In response to an input operation on the indicator configuration page, determining an original indicator group, and merging the original indicator group to generate a first entity data acquisition request; Sending the first entity data acquisition request to a distributed storage system, and receiving target entity data fed back by the distributed storage system in response to the first entity data acquisition request; Original entity data corresponding to the original indicator group is extracted from the target entity data, and aggregation calculation is performed on the original entity data to obtain an indicator calculation result corresponding to the original indicator group.

10. The index calculation method according to claim 9, characterized in that: In response to an input operation on the indicator configuration page, determining an original indicator group, and merging the original indicator group to generate a first entity data acquisition request, including: In response to an input operation on the indicator configuration page, determining an original calculation indicator, a main entity category and a main entity identifier of a main entity associated with the original calculation indicator, a sub-entity level and a sub-entity category of a sub-entity, and a screening condition for the sub-entities; Generate an original indicator group corresponding to the original calculation indicator according to the original calculation indicator, the main entity category and the main entity identifier, the sub-entity level and the sub-entity category, and the sub-entity screening condition; The original indicator groups are grouped and merged according to the main entity category and the main entity identifier to obtain a target indicator group, and the first entity data acquisition request is generated according to the target indicator group.

11. The index calculation method according to claim 10, characterized in that: The sub-entity levels include a first sub-entity level, a second sub-entity level, ..., and an Nth sub-entity level; the sub-entity categories include a first sub-level entity category, a second sub-level entity category, ..., and an Nth sub-level entity category; The original indicator groups are grouped and merged according to the main entity category and the main entity identifier to obtain the target indicator group, including: Traversing the main entity categories and main entity identifiers in the original indicator group, classifying the original indicator group according to the main entity categories and main entity identifiers, and obtaining an indicator group classification result; Determine the category of the first-degree association relationship between the primary entity level and the first secondary entity level according to the primary entity category of the original indicator group and the first secondary entity category in the indicator group classification result; The process of determining the category of the first-degree association relationship is repeated in sequence to obtain the category of the second-degree association relationship, ..., and the category of the N-degree association relationship. According to the category of the association relationship between each entity level, the original indicator group in the indicator group classification result is aggregated to obtain the target indicator group.

12. The index calculation method according to claim 9, characterized in that: Extracting original entity data corresponding to the original indicator group from the target entity data includes: Constructing a memory tree diagram according to the target entity data; wherein the root node of the memory tree diagram is the master entity, and the leaf nodes of the memory tree diagram are the slave entities and the indicator groups to which the slave entities belong; The data extraction path of the original indicator group in the target indicator group is determined according to the indicator group identifier of the original indicator group, and the original entity data corresponding to the original indicator group is extracted from the memory tree diagram according to the data extraction path.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the indicator calculation method described in any one of claims 9 to 12 is implemented.

14. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; Wherein, the processor is configured to execute the indicator calculation method described in any one of claims 9-12 by executing the executable instructions.