A feature acquisition method, system, storage medium and terminal device

By constructing a directed graph of the calculation process and scheduling operation operators in sequence, the problem of the inability to decouple the feature calculation process in the existing technology is solved, and the hot update of the calculation process and the efficient acquisition of feature information are achieved.

CN115952344BActive Publication Date: 2025-09-12TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111178007.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-09
Publication Date
2025-09-12
Estimated Expiration
2041-10-09

AI Technical Summary

Technical Problem

Existing feature calculation methods cannot effectively decouple the calculation processes of static and dynamic features, resulting in the need to stop the entire feature information acquisition process when updating the calculation process, affecting efficiency and scalability.

Method used

By constructing a directed graph of the computing process, determining the direction between nodes, and scheduling and running the operation operators in sequence, the decoupling of feature information is achieved. When the directed graph of the computing process is updated, only the operation operators are updated without stopping the feature information acquisition process.

Benefits of technology

The hot update of the directed graph of the calculation process is realized, which improves the scalability and efficiency and ensures the continuity and accuracy of the feature information acquisition process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115952344B_ABST
    Figure CN115952344B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention discloses a feature acquisition method, system, storage medium and terminal device, which are applied to the field of information processing technology. When acquiring the feature information of the target object, it is necessary to first determine the corresponding computational process directed graph, and based on the directions between the nodes in the computational process directed graph, determine the scheduling information of the operation operators related to the nodes in sequence, and then run the corresponding operation operators in sequence according to the scheduling information to obtain at least one feature information of the target object. Since the nodes in the computational process directed graph represent feature operations based on the target object, and the operation operators corresponding to each node are run using their own processes, that is, the decoupling between the various feature operations of the target object, when the computational process directed graph is updated, it is only necessary to update the corresponding operation operators without stopping the current process of acquiring feature information, thereby realizing hot updates of the computational process directed graph, and having relatively strong scalability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information processing technology, and in particular to a feature acquisition method, system, storage medium and terminal device. Background Art

[0002] In the Internet search business, feature calculation is the cornerstone of the entire search business and often determines the quality of search results. The calculation of features generally includes the calculation of static features and dynamic features. Among them, dynamic features refer to features that are statistically analyzed based on the operation logs of users' operations on the target object, such as the attention and popularity of the target object, and their frequency of change is relatively high; while static features refer to features obtained after understanding the content of the target object itself, such as the type of the target object, and their frequency of change is relatively low.

[0003] Existing feature calculation methods mainly determine multiple features of a target object, ie, multiple attribute information, one by one according to a preset calculation process, and then apply the attribute information of the target object to a search service. Summary of the Invention

[0004] The embodiments of the present invention provide a feature acquisition method, system, storage medium and terminal device, which realize the decoupling of acquiring various feature information of a target object.

[0005] An embodiment of the present invention provides a feature acquisition method, including:

[0006] Determining a corresponding computational flow directed graph according to the target object, the computational flow directed graph including a plurality of nodes having directions, wherein each node is used to represent a feature operation based on the target object, and a direction between any two nodes is used to represent that one feature operation is performed based on an operation result of another feature operation;

[0007] Determining, based on the directions between nodes in the directed graph of the computational process, scheduling information for sequentially scheduling operation operators associated with the nodes in locally preset operation operators; the operation operators are computer executable files for obtaining feature information of the target object;

[0008] Corresponding operation operators are sequentially executed according to the scheduling information to obtain at least one feature information of the target object.

[0009] Another embodiment of the present invention provides a feature acquisition system, including:

[0010] A directed graph unit, configured to determine a corresponding computational flow directed graph according to a target object, wherein the computational flow directed graph includes a plurality of nodes having directions, wherein each node is used to represent a feature operation based on the target object, and a direction between any two nodes is used to represent that one feature operation is performed based on the result of another feature operation;

[0011] a scheduling determination unit, configured to determine, based on the directions between nodes in the directed graph of the computational process, scheduling information for sequentially scheduling operation operators associated with the nodes from among locally preset operation operators; the operation operators being computer executable files for obtaining feature information of the target object;

[0012] The feature acquisition unit is used to run corresponding operation operators in sequence according to the scheduling information to obtain at least one feature information of the target object.

[0013] Another aspect of an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a plurality of computer programs, wherein the computer programs are suitable for being loaded by a processor and executing the feature acquisition method as described in one aspect of an embodiment of the present invention.

[0014] Another aspect of the present invention provides a terminal device, including a processor and a memory;

[0015] The memory is used to store multiple computer programs, and the computer programs are used to be loaded by the processor and execute the feature acquisition method as described in one aspect of an embodiment of the present invention; the processor is used to implement each computer program in the multiple computer programs.

[0016] It can be seen that in the embodiment of the present invention, when obtaining the characteristic information of the target object, it is necessary to first determine the corresponding computational process directed graph, and based on the directions between the nodes in the computational process directed graph, determine the scheduling information for sequentially scheduling the operation operators related to the nodes, and then sequentially run the corresponding operation operators according to the scheduling information to obtain at least one characteristic information of the target object. Among them, since the nodes in the computational process directed graph represent characteristic operations based on the target object, and the operation operators corresponding to each node are run using their own processes, that is, the decoupling between the various characteristic operations of the target object, when the computational process directed graph is updated, it is only necessary to update the corresponding operation operators without stopping the current process of obtaining characteristic information to update the entire computational process of obtaining the characteristic information of the target object, thereby realizing hot updates of the computational process directed graph, which is relatively scalable. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0018] Figure 1 This is a flow chart of a feature acquisition method provided by one embodiment of the present invention;

[0019] Figure 2 is a schematic diagram of a directed graph of a calculation process determined in one embodiment of the present invention;

[0020] Figure 3 is a schematic diagram of a cache operation operator in one embodiment of the present invention;

[0021] Figure 4 is a flow chart of a feature acquisition method provided by another embodiment of the present invention;

[0022] Figure 5 This is a schematic diagram of the logical structure of a feature acquisition system in an application embodiment of the present invention;

[0023] Figure 6 This is a flow chart of a method for acquiring features provided by an application embodiment of the present invention;

[0024] Figure 7 This is a flow chart of a method for updating a directed graph of a calculation process in an application embodiment of the present invention;

[0025] Figure 8 is a schematic diagram of a distributed system to which a feature acquisition method in another application embodiment of the present invention is applied;

[0026] Figure 9 is a schematic diagram of a block structure in another application embodiment of the present invention;

[0027] Figure 10 This is a logical structure diagram of a feature acquisition system provided by an embodiment of the present invention;

[0028] Figure 11 This is a schematic diagram of the logical structure of a server provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0029] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0030] The terms "first", "second", "third", "fourth", etc. (if any) in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the invention described herein can, for example, be implemented in orders other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or apparatus that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or apparatus.

[0031] An embodiment of the present invention provides a feature acquisition method, which is mainly a method executed by a feature acquisition system. The feature acquisition system can be applied to any scenario, such as applying the feature information of any object acquired by the feature acquisition system to scenarios such as information search and content recommendation.

[0032] Specifically, if Figure 1 As shown, the feature acquisition system of this embodiment may include the following steps to achieve the acquisition of feature information:

[0033] Step 101: Determine a corresponding computational process directed graph based on the target object. The computational process directed graph includes a plurality of nodes with directions, wherein each node is used to represent a feature operation based on the target object, and the direction between any two nodes is used to represent that a feature operation is performed based on the result of another feature operation.

[0034] It can be understood that when it is necessary to obtain feature information of a target object, the process of this embodiment can be initiated. Here, the target object can be any multimedia data such as text, audio or video.

[0035] The feature acquisition system will first determine the computational flow directed graph corresponding to the target object. Specifically, the feature acquisition system will pre-set the association between the object type and the computational flow directed graph. For example, different computational flow directed graphs may be used for objects of different format types (such as text, audio, or video), or for objects of different source types (such as user uploads or content provider releases). In this way, when the process of this embodiment is initiated, the feature acquisition system can first obtain the type of the target object, and then, based on the target object type and the pre-set association, find the computational flow directed graph associated with the current target object type.

[0036] Among them, the computational process directed graph is used to indicate the order of various feature operations in the process of obtaining the feature information of the target object. Specifically, each node in the computational process directed graph is used to represent a feature operation based on the target object, and the direction between any two nodes is used to indicate that a feature operation is performed based on the result of another feature operation. Specifically, the computational process directed graph can be a directed acyclic graph (DAG), which includes multiple nodes, some of which are directed, but no loop is formed between any two nodes. Among them, a feature operation refers to a specific operation in the process of obtaining the feature information of the target object, such as a judgment operation, or a classification operation of a certain attribute.

[0037] For example Figure 2 The figure shows a directed graph of a computational process acquired by the feature acquisition system, including nodes A, B, C, and D. Node A points to node B and node C respectively, and node B and node C both point to node D. The feature operations represented by each node are: acquiring feature 1, feature 2, feature 3, and feature 4 of the target object. It can be seen that when acquiring feature 2 and feature 3 of the target object, they need to be acquired based on feature 1 respectively; and when acquiring feature 4 of the target object, it needs to be acquired based on features 2 and 3.

[0038] Step 102, according to the directions between nodes in the directed graph of the computational process, determine the scheduling information of the node-related operation operators in the locally preset operation operators, where the operation operators are computer executable files for obtaining feature information of the target object.

[0039] Among them, multiple operation operators are preset in the feature acquisition system, each operation operator is a computer executable file, such as a piece of code, and each operation operator can be reused and reused in the process of obtaining feature information of any target object.

[0040] The scheduling information here can include information about the operators that need to be scheduled and the order in which these operators are scheduled. The information about the operators that need to be scheduled is determined by each node, while the scheduling order is determined by the direction between the nodes. Specifically, if a node in a computational flow directed graph points to another node, it can be determined that an operator associated with one node will be scheduled first, followed by another operator associated with the other node. If there is no pointing relationship between two nodes in the computational flow directed graph, there is no scheduling order between the operators associated with the two nodes.

[0041] Step 103: Run corresponding operation operators in sequence according to the above scheduling information to obtain at least one feature information of the target object.

[0042] When running an operator, it is primarily loaded into the cache, which then initiates a corresponding process. This process then executes the operator's computational logic, resulting in the target object's feature information. Different processes are initiated for different operators to obtain different target object feature information, and the execution of any two processes does not affect each other.

[0043] Furthermore, in the directed graph of the computational process, the following situation may occur: both node A and node B point to node C, that is, node C depends on node A and node B, and the operations corresponding to nodes A and B respectively are executed in parallel and cannot sense whether the other has completed the computation. Only when the computation of these two operations is completed can the operation corresponding to node C be accurately scheduled. In order to ensure accurate scheduling of the operation operators in this case, in this embodiment, during the execution of the operation operators corresponding to each node in the directed graph of the computational process:

[0044] Based on this scheduling information, the feature acquisition system queues the operators corresponding to each node into the same cache area. These operators are then run sequentially in the order they were in the queue. This ensures that all operators corresponding to the same target object are loaded into the same cache area, and operators in the same cache area are run sequentially in the order they were in the queue, ensuring accurate execution of these operators.

[0045] For example Figure 3As shown, when two nodes (node ​​B and node C) in a directed graph of a computational flow each point to another node (node ​​A), the operators corresponding to nodes A, B, and C (the dotted double arrows in the figure indicate the correspondence between nodes and operators) are loaded into the same cache area. They are loaded in a queue, and the order in the queue is: operator 2 corresponding to node B --> operator 3 corresponding to node C --> operator 1 corresponding to node A. These operators are run in this order. This ensures that when operator 1 runs, operators 2 and 3 both obtain the results of their operations, ensuring the accuracy of operator 1's execution. Furthermore, operators 2 and 3 do not preempt resources during their execution, but instead run in the order of the queue. This reduces computational complexity while further ensuring the accuracy of operator scheduling.

[0046] It should also be noted that in this embodiment, when running the operation operators associated with each node, the operation results obtained by running each operation operator can be cached in the result message queue. Specifically, if a node in the computational flow directed graph points to another node, then when running the operation operator associated with one node and obtaining a first operation result, the first operation result can be cached in the result message queue; and when running the operation operator associated with another node, the first operation result will be extracted from the result message queue, and a second operation result will be obtained based on the first operation result, and the second operation result will be cached in the result message queue.

[0047] In this way, by starting different processes, the calculations between the two operators are decoupled, and the calculations between the two operators are connected through the message queue, so that the failure of the operator corresponding to a single node will not affect the operator of the upstream node, and there will be no back pressure and other problems.

[0048] It can be seen that in the embodiment of the present invention, when obtaining the characteristic information of the target object, it is necessary to first determine the corresponding computational process directed graph, and based on the directions between the nodes in the computational process directed graph, determine the scheduling information for sequentially scheduling the operation operators related to the nodes, and then sequentially run the corresponding operation operators according to the scheduling information to obtain at least one characteristic information of the target object. Among them, since the nodes in the computational process directed graph represent characteristic operations based on the target object, and the operation operators corresponding to each node are run using their own processes, that is, the decoupling between the various characteristic operations of the target object, when the computational process directed graph is updated, it is only necessary to update the corresponding operation operators without stopping the current process of obtaining characteristic information to update the entire computational process of obtaining the characteristic information of the target object, thereby realizing hot updates of the computational process directed graph, which is relatively scalable.

[0049] Another embodiment of the present invention provides a feature acquisition method, which is mainly a method executed by a feature acquisition system. The flow chart is as follows Figure 4 Shown, including:

[0050] Step 201: When new text, video or audio data is stored in the system, the feature acquisition system takes these text, video or audio data as target objects and initiates the feature acquisition process of this embodiment. It first obtains the type of the target object and determines which calculation process directed graph preset in the corresponding system is determined according to the type of the target object.

[0051] Step 202: According to the above determined directed graph of the computation process, scheduling information of sequentially scheduling the operation operators related to the node in the locally preset operation operators is determined.

[0052] Step 203: Run corresponding operation operators in sequence according to the scheduling information to obtain at least one feature information of the target object.

[0053] In this embodiment, in the process of obtaining the feature information of the target object using the above steps, the computational process directed graph corresponding to the target object can be updated, that is, a hot update of the computational process directed graph can be achieved. Specifically, the feature acquisition system can be implemented by the following steps:

[0054] Step 204 : providing a user interface, which includes a first user interface for updating the directed graph of the computational process, and may also include a second user interface for updating preset operation operators.

[0055] Specifically, the user can log in to the feature acquisition system through the application terminal corresponding to the feature acquisition system, and trigger the update process of the calculation process directed graph by operating the application terminal. In this way, the feature acquisition system will provide the user interface to the application terminal.

[0056] Step 205: Pull the calculation process directed graph through the first user interface, update the pulled calculation process directed graph to obtain an updated calculation process directed graph, and store the updated calculation process directed graph.

[0057] In specific implementation, when the calculation process directed graph is stored, the pointing relationships between each node and the nodes in the calculation process directed graph are stored in the form of a database. When the user operates the first user interface, the feature acquisition system will pull the information of the calculation process directed graph stored in the database, so that the database of the calculation process directed graph can be directly modified, thereby realizing the update of the calculation process directed graph.

[0058] Among them, the update of the directed graph of the calculation process may include but is not limited to the following update methods: modifying the characteristic operations represented by existing nodes and modifying the directions between existing nodes, adding new nodes and directions between nodes, and deleting existing nodes and directions between nodes.

[0059] Step 206: When an updated operation operator is received from the second user interface, the updated operation operator is stored, where the updated operation operator is obtained based on the updated calculation process directed graph.

[0060] Based on the update of the directed graph of the calculation process, the feature acquisition system can update the preset operation operators in the system accordingly. Specifically, the update of the operation operators can include but is not limited to the following modification methods: modifying the call information of certain parameters in the existing operation operators, adding new operation operators, deleting existing operation operators, etc.

[0061] Among them, if a new node is added to the directed graph of the calculation process, the corresponding operation operator can be added to the system. If the direction between nodes is modified in the directed graph of the calculation process, the calling information of certain parameters in the existing operation operator can be modified.

[0062] Step 207: After the calculation process directed graph and the corresponding operation operators are updated through the above user interface, the process of re-acquiring the feature information of the above target object can be triggered. Specifically, the feature acquisition system will first pull the updated calculation process directed graph.

[0063] Step 208 : Reacquire the feature information of the target object according to the updated calculation process directed graph to obtain updated feature information.

[0064] How the feature acquisition system specifically reacquires feature information based on the updated computational process directed graph is as described in steps 202 and 203 above. The difference is that the computational process directed graph used is different, which will not be described in detail here.

[0065] In step 209 , if the feature acquisition system has stored at least one feature information of the target object, the updated feature information will be used to replace the currently stored at least one feature information of the target object.

[0066] It should be noted that there is no absolute order relationship between steps 201 to 203 and steps 204 to 209, and they can be executed sequentially or simultaneously. For example, while the computational process directed graph is being updated using steps 204 to 209, the feature acquisition system can also use steps 201 to 203 to acquire feature information of a target object in real time without stopping the operations of steps 201 to 203, thereby achieving a hot update of the computational process directed graph.

[0067] It should also be noted that steps 204 to 206 above are when a user triggers an update of the computational flow directed graph through an application terminal. The feature acquisition system can initiate a process to update the computational flow directed graph and the corresponding operators. In a specific implementation, other users can also trigger an update of the computational flow directed graph through other application terminals. In this way, the feature acquisition system will simultaneously initiate another process to update the computational flow directed graph and the corresponding operators.

[0068] In this way, the feature acquisition system can simultaneously start multiple processes to update the computational process directed graph and the corresponding operation operators, so that the hot update of the computational process directed graph is decentralized, thereby improving the update efficiency of the computational process directed graph. In this case, different computational process directed graphs may be used for the same target object, thereby obtaining different feature information. In order to maintain the consistency of the feature information of the acquired target object, the feature acquisition system will initiate the process of re-acquiring the feature information in steps 207 to 209 according to a certain period. In this way, since the update of the computational process directed graph will eventually stop, and the feature information of the target object is periodically re-acquired, the feature information finally obtained can be based on the computational process directed graph obtained by the last update, thereby achieving the consistency of the feature information of the same target object.

[0069] It can be seen that in the method of this embodiment, while obtaining the characteristic information of a target object in real time, multiple processes can be triggered simultaneously to update the directed graph of the calculation process respectively, thereby realizing the hot update of the directed graph of the calculation process and improving the efficiency of updating the directed graph of the calculation process, and having strong scalability.

[0070] The following is a specific application example to illustrate the feature acquisition method of the present invention. The method of this embodiment can be applied to Figure 5 In the feature acquisition system shown, the system may include: a visualization control subsystem 10, an access subsystem 11, a calculation scheduling subsystem 12, an agent subsystem 13, and an operator management subsystem 14, wherein:

[0071] The visualization control subsystem 10 is a user interface for the user to interact with the feature acquisition system, such as displaying a visual user interface to the user. The user interface may include a user interface for pre-setting operation operators in the system, a user interface for pre-setting a calculation process directed graph in the system, a user interface for updating the preset calculation process directed graph, a user interface for initiating a feature acquisition process, a user number interface for updating the operation operator, and a user interface for updating the calculation process directed graph, etc.

[0072] Access subsystem 11 is used to obtain various target objects whose features need to be obtained, including real-time data and historical data. Real-time data refers to target objects whose feature information has not been obtained; and historical data refers to target objects whose feature information has been obtained by the system in the previous process, and the feature information of the target object has been stored in the system.

[0073] The computing scheduling subsystem 12 is used to determine the computing process directed graph corresponding to the target object obtained by the access subsystem 11, and then determine the scheduling information of the corresponding operation operator based on the computing process directed graph, and transmit the scheduling information to the agent subsystem 13. Here, the scheduling information may include which operation operators to schedule and the scheduling order of these operation operators.

[0074] The computing scheduling subsystem 12 stores the metadata of the computing process directed graph in the form of a database, including information about each node in the computing process directed graph and the pointing relationship between the nodes.

[0075] Proxy subsystem 13 is used to schedule the corresponding operators stored in operator management subsystem 14 based on the scheduling information determined by computation scheduling subsystem 12, and then execute the operators in sequence. Proxy subsystem 13 can start multiple executors, each of which targets a target object and obtains its feature information. The figure uses m executors as an example.

[0076] The operator management subsystem 14 is used to store and manage multiple operation operators (n operation operators are used as an example in the figure). Each operation operator is a computer executable file that implements a certain function. In this embodiment, the operation operator can be a computer executable file used to obtain feature information of a target object.

[0077] In a specific implementation, the user can initiate a process of obtaining characteristic information of a target object in real time through the visualization control subsystem 10. In this case, the access subsystem 11 will obtain the specific content of the target object from the visualization control subsystem 10, and the calculation scheduling subsystem 12 will schedule the operation operator based on the obtained target object.

[0078] Furthermore, in a specific implementation process, the feature acquisition system may further include a feature storage subsystem 15 and a distributed queue subsystem 16, wherein:

[0079] The feature storage subsystem 15 is used to store feature information of target objects obtained by running the operation operators. In this embodiment, the feature information of each target object stored in the feature storage subsystem 15 can be continuously updated. This is mainly done when the pre-set computational flow directed graph in the system is updated. After the feature information of the target object is re-acquired based on the updated computational flow directed graph, the feature information of the corresponding target object stored in the feature storage subsystem 15 can be updated accordingly.

[0080] The distributed queue subsystem 16 is used to cache the operation results obtained when each operator is running during the process of obtaining the characteristic information of the target object. It can also load each operator when the operator is running.

[0081] It should be noted that the various subsystems included in the feature acquisition system can be deployed in the same physical device or in different physical devices. The actual deployment of these subsystems needs to be determined based on the business scenarios in which the feature acquisition system is actually applied, and is not limited here.

[0082] Specifically, if Figure 6 As shown, the feature acquisition system of this embodiment can use the following steps to acquire feature information of the target object:

[0083] In step 301, the visualization control subsystem 10 provides a user interface to the user, so that the user can input a target object through the user interface and initiate a process of obtaining feature information of the target object to initiate a feature acquisition request. The target object can be any text, video or audio.

[0084] In step 302, the access subsystem 11 obtains the target object input from the user interface, and the calculation scheduling subsystem 12 determines the type of the target object corresponding to the feature acquisition request, such as the format type or source type, etc., based on the feature acquisition request sent by the visualization control subsystem 10, and determines the corresponding calculation process directed graph based on the type of the target object.

[0085] In step 303 , the calculation scheduling subsystem 12 determines the scheduling information of the relevant operation operators in the preset operation operators according to the calculation process directed graph, and transmits the scheduling information to the agent subsystem 13 .

[0086] In step 304 , after receiving the scheduling information, the proxy subsystem 13 starts an execution process, which loads the relevant operation operators in the operator management subsystem 14 into a cache area in the distributed queue subsystem 16 in the form of a queue according to the scheduling information.

[0087] In step 305 , the proxy subsystem 13 runs each operator in the order in which the operator is queued in the cache area. During this process, the operation results obtained by each operator are stored in the result message queue of the distributed queue subsystem 16 .

[0088] In this way, after the agent subsystem 13 runs all the operation operators corresponding to the directed graph of the above-mentioned calculation process, it can obtain the feature information of the target object and store it in the feature storage subsystem 15, wherein the feature information of the target object may include the category to which the content of the target object belongs (such as entertainment or sports), the quality information of the target object (such as high definition, etc.), etc.

[0089] Specifically, if Figure 7 As shown, the feature acquisition system of this embodiment can use the following steps to update the calculation process directed graph:

[0090] In step 401 , the visualization control subsystem 10 provides a user interface, which includes a first user interface for updating the directed graph of the computational process and a second user interface for updating the preset operation operators.

[0091] In step 402 , the user pulls the database of the computational process directed graph through the first user interface, and can directly update the database of the computational process directed graph to obtain an updated computational process directed graph, which is then stored by the computation scheduling subsystem 12 .

[0092] Step 403: When the updated operation operator is received from the second user interface, the operator management subsystem 14 stores the updated operation operator, where the updated operation operator is obtained based on the updated calculation process directed graph.

[0093] Step 404, after the calculation process directed graph and the corresponding operation operator are updated through the user interface provided by the visualization control subsystem 10, the access subsystem 11 can be triggered to obtain historical data, that is, the target object whose feature information has been obtained before, and initiate the process of re-acquiring the feature information of the above target object, and initiate a request to re-acquire the features.

[0094] In step 405, the computing scheduling subsystem 12 will pull the updated computing process directed graph according to the request to re-acquire features. The computing scheduling subsystem 12 cooperates with the proxy subsystem 13 to re-acquire the feature information of the target object according to the updated computing process directed graph to obtain the updated feature information.

[0095] In step 406 , if the feature acquisition system has already stored at least one feature information of the target object, the proxy subsystem 13 will replace the at least one feature information of the target object currently stored in the feature storage subsystem 15 with the updated feature information.

[0096] After obtaining the characteristic information of each target object through the above steps, the characteristic information can be applied to multiple application scenarios, such as information search and content recommendation scenarios. In the information search scenario, the characteristic information of the target object can be compared with the characteristic information of the keyword entered by the user to determine whether the target object is the content that the user needs to search for; in the content recommendation scenario, the characteristics of the information of interest to the user can be compared with the characteristic information of the target object to determine whether the target object needs to be recommended to the user.

[0097] It can be seen that in the method of the embodiment of the present invention, the acquisition of each feature information of the target object is achieved through different operation operators, and the calculations between the operation operators are decoupled through different processes. In this way, when the process of obtaining feature information changes, it is only necessary to update the changed calculation process directed graph and operation operator, without stopping the entire process of feature information acquisition that is currently running, thereby realizing hot update of the calculation process directed graph.

[0098] The following is another specific application example to illustrate the feature acquisition method in the present invention. The feature acquisition system in the embodiment of the present invention is mainly a distributed system 100, which may include a client 300 and multiple nodes 200 (any form of computing device in the access network, such as a server, a user terminal), and the client 300 and the node 200 are connected through network communication.

[0099] Taking the distributed system as the blockchain system as an example, see Figure 8 This is a schematic diagram of an optional architecture for a distributed system 100 provided in an embodiment of the present invention, applied to a blockchain system. The system consists of multiple nodes 200 (any type of computing device connected to a network, such as a server or user terminal) and clients 300. The nodes form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol that runs on top of the Transmission Control Protocol (TCP). In a distributed system, any machine, such as a server or terminal, can join and become a node. Nodes include hardware, middleware, operating system, and application layers.

[0100] See also Figure 8 The functions of each node in the blockchain system shown include:

[0101] 1) Routing: A basic function of a node, used to support communication between nodes.

[0102] In addition to the routing function, nodes can also have the following functions:

[0103] 2) Applications, deployed in the blockchain, implement specific services based on actual business needs, record data related to the implementation of functions to form record data, carry digital signatures in the record data to indicate the source of the task data, and send the record data to other nodes in the blockchain system for other nodes to add the record data to a temporary block when they successfully verify the source and integrity of the record data.

[0104] For example, the business implemented by the application includes code that implements the feature acquisition function, which mainly includes:

[0105] A corresponding computing process directed graph is determined according to the target object, wherein the computing process directed graph includes a plurality of nodes with directions, wherein each node is used to represent a feature operation based on the target object, and the direction between any two nodes is used to represent that a feature operation is performed based on the operation result of another feature operation; according to the nodes and the directions between the nodes in the computing process directed graph, scheduling information of the operation operators related to the nodes is determined in sequence in the locally preset operation operators; the operation operator is a computer executable file for obtaining the feature information of the target object; according to the scheduling information, the corresponding operation operators are run in sequence to obtain at least one feature information of the target object.

[0106] 3) Blockchain, including a series of blocks that are connected to each other in the order of their generation. Once a new block is added to the blockchain, it will not be removed. The block records the record data submitted by the nodes in the blockchain system.

[0107] See also Figure 9 This is an optional schematic diagram of the block structure provided by an embodiment of the present invention. Each block includes the hash value of the transaction records stored in the block (the hash value of the current block) and the hash value of the previous block. The blocks are connected by hash values ​​to form a blockchain. In addition, the block may also include information such as the timestamp when the block was generated. Blockchain is essentially a decentralized database, a series of data blocks generated using cryptographic methods. Each data block contains relevant information used to verify the validity of the information (anti-counterfeiting) and generate the next block.

[0108] The embodiment of the present invention also provides a feature acquisition system, the structural diagram of which is shown in FIG. Figure 10 Specifically, it may include:

[0109] The directed graph unit 20 is used to determine the corresponding computing process directed graph according to the target object, wherein the computing process directed graph includes a plurality of nodes with directions, wherein each node is used to represent a feature operation based on the target object, and the direction between any two nodes is used to represent that a feature operation is performed based on the operation result of another feature operation.

[0110] The directed graph unit 20 is specifically used to obtain the type of the target object; according to the type of the target object and the association relationship between the preset object type and the calculation process directed graph, find the calculation process directed graph associated with the type of the target object.

[0111] The scheduling determination unit 21 is used to determine the scheduling information of the operation operators related to the nodes in the locally preset operation operators according to the directions between the nodes in the calculation process directed graph determined by the directed graph unit 20; the operation operator is a computer executable file used to obtain the feature information of the target object.

[0112] The feature acquisition unit 22 is configured to sequentially execute corresponding operation operators according to the scheduling information determined by the scheduling determination unit 21 to acquire at least one feature information of the target object.

[0113] The feature acquisition unit 22 is specifically used to load the operation operators corresponding to each node in the directed graph of the calculation process into the same cache area in the form of a queue according to the scheduling information; the operation operators corresponding to each node are executed in sequence according to the order in the queue of the cache area.

[0114] The feature acquisition unit 22 is also used to, if a node in the directed graph of the calculation process points to another node, cache the first operation result in the result message queue after the operation operator related to one node is run to obtain the first operation result; when the operation operator related to another node is run, extract the first operation result from the result message queue, obtain the second operation result based on the first operation result, and cache the second operation result in the result message queue.

[0115] Furthermore, the feature acquisition system of this embodiment may further include:

[0116] The updating unit 23 is used to provide a user interface, which includes a first user interface for updating the calculation process directed graph; pulling the calculation process directed graph through the first user interface; updating the pulled calculation process directed graph to obtain an updated calculation process directed graph, and storing the updated calculation process directed graph.

[0117] The updating unit 23 is also used for the user interface to include: a second user interface for updating the preset operation operator; when the updated operation operator is received from the second user interface, the updated operation operator is stored, and the updated operation operator is obtained based on the updated calculation process directed graph.

[0118] The re-acquisition unit 24 is used to pull the calculation process directed graph updated by the updating unit 23; re-acquire the feature information of the target object according to the updated calculation process directed graph to obtain updated feature information; and replace at least one feature information of the target object previously acquired by the feature acquisition unit 22 with the updated feature information.

[0119] In the system of this embodiment, when acquiring the characteristic information of the target object, the directed graph unit 20 is required to first determine the corresponding computational process directed graph, and the scheduling determination unit 21 determines the scheduling information of the operation operators related to the nodes in sequence based on the directions between the nodes in the computational process directed graph, and then the characteristic acquisition unit 22 runs the corresponding operation operators in sequence according to the scheduling information to acquire at least one characteristic information of the target object. Among them, since the nodes in the computational process directed graph represent characteristic operations based on the target object, and the operation operators corresponding to each node are run using their own processes, that is, the decoupling between the various characteristic operations of the target object, when the computational process directed graph is updated, it is only necessary to update the corresponding operation operators without stopping the current process of acquiring characteristic information to update the entire computational process of acquiring the characteristic information of the target object, thereby realizing hot updates of the computational process directed graph, which is relatively scalable.

[0120] The embodiment of the present invention further provides a terminal device, the structural diagram of which is shown in FIG. Figure 11 As shown, the terminal device may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPUs) 30 (for example, one or more processors) and memory 31, and one or more storage media 32 (for example, one or more mass storage devices) storing application programs 321 or data 322. Memory 31 and storage medium 32 may be temporary storage or permanent storage. The program stored in the storage medium 32 may include one or more modules (not shown), each module may include a series of instruction operations in the terminal device. Furthermore, the central processing unit 30 may be configured to communicate with the storage medium 32 to execute a series of instruction operations in the storage medium 32 on the terminal device.

[0121] Specifically, the application 321 stored in the storage medium 32 includes a feature acquisition application, and the application may include the directed graph unit 20, the scheduling determination unit 21, the feature acquisition unit 22, the re-acquisition unit 24, and the update unit 23 in the feature acquisition system described above, which are not described in detail here. Furthermore, the central processing unit 30 can be configured to communicate with the storage medium 32 and execute a series of operations corresponding to the feature acquisition application stored in the storage medium 32 on the terminal device.

[0122] The terminal device may also include one or more power supplies 33, one or more wired or wireless network interfaces 34, one or more input and output interfaces 35, and / or one or more operating systems 323, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0123] The steps performed by the feature acquisition system in the above method embodiment can be based on the Figure 11 The structure of the terminal device shown.

[0124] In addition, another aspect of an embodiment of the present invention further provides a computer-readable storage medium, which stores a plurality of computer programs. The computer programs are suitable for being loaded by a processor and executing the feature acquisition method performed by the above-mentioned feature acquisition system.

[0125] Another aspect of the present invention provides a terminal device, including a processor and a memory;

[0126] The memory is used to store multiple computer programs, and the computer programs are used to be loaded by the processor and execute the feature acquisition method performed by the above-mentioned feature acquisition system; the processor is used to implement each computer program in the multiple computer programs.

[0127] In addition, according to one aspect of the present application, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the feature acquisition methods provided in the various optional implementations described above.

[0128] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

[0129] The above is a detailed introduction to a feature acquisition method, system, storage medium and terminal device provided in an embodiment of the present invention. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea; at the same time, for general technical personnel in this field, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A feature acquisition method, characterized in that: include: Determining a corresponding computational flow directed graph according to the target object, the computational flow directed graph including a plurality of nodes having directions, wherein each node is used to represent a feature operation based on the target object, and a direction between any two nodes is used to represent that one feature operation is performed based on an operation result of another feature operation; Determining, based on the directions between nodes in the directed graph of the computational process, scheduling information for sequentially scheduling operation operators associated with the nodes in locally preset operation operators; the operation operators are computer executable files for obtaining feature information of the target object; Running corresponding operation operators in sequence according to the scheduling information to obtain at least one feature information of the target object; wherein different operation operators will start different processes to obtain different feature information of the target object, and the running of any two processes will not affect each other; Simultaneously start multiple processes to update the computational flow directed graph and the corresponding operation operators; The feature information of the target object is reacquired according to the updated calculation process directed graph to obtain updated feature information.

2. The method according to claim 1, wherein Determining the corresponding computational process directed graph according to the target object specifically includes: Get the type of the target object; According to the type of the target object and the association relationship between the preset object type and the calculation process directed graph, the calculation process directed graph associated with the type of the target object is found.

3. The method according to claim 1, wherein The step of sequentially running corresponding operation operators according to the scheduling information specifically includes: According to the scheduling information, the operation operators corresponding to the nodes in the directed graph of the computational process are loaded into the same cache area in the form of queues; The operation operators corresponding to the nodes in the directed graph of the computational process are executed in sequence according to the order in which they are in the queue of the cache area.

4. The method according to claim 1, wherein If a node in the directed graph of the computational process points to another node, then executing corresponding operation operators in sequence according to the scheduling information to obtain at least one feature information of the target object specifically includes: After executing an operation operator related to a node and obtaining a first operation result, cache the first operation result in a result message queue; When running an operation operator related to another node, the first operation result is extracted from the result message queue, a second operation result is obtained according to the first operation result, and the second operation result is cached in the result message queue.

5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: Providing a user interface, the user interface including a first user interface for updating the computational process directed graph; Pulling the computing process directed graph through the first user interface; The pulled calculation process directed graph is updated to obtain an updated calculation process directed graph, and the updated calculation process directed graph is stored.

6. The method according to claim 5, wherein The method further comprises: The user interface further includes: a second user interface for updating a preset operation operator; When an updated operation operator is received from the second user interface, the updated operation operator is stored, where the updated operation operator is obtained based on the updated calculation process directed graph.

7. The method according to claim 5, wherein The method further comprises: Pulling the updated computational process directed graph; Reacquiring feature information of the target object according to the updated calculation process directed graph to obtain updated feature information; The updated feature information replaces the currently stored at least one feature information of the target object.

8. A feature acquisition system, characterized in that: include: A directed graph unit, configured to determine a corresponding computational flow directed graph according to a target object, wherein the computational flow directed graph includes a plurality of nodes having directions, wherein each node is used to represent a feature operation based on the target object, and a direction between any two nodes is used to represent that one feature operation is performed based on the result of another feature operation; a scheduling determination unit, configured to determine, based on the directions between nodes in the directed graph of the computational process, scheduling information for sequentially scheduling operation operators associated with the nodes from among locally preset operation operators; the operation operators being computer executable files for obtaining feature information of the target object; a feature acquisition unit, configured to sequentially execute corresponding operation operators according to the scheduling information to acquire at least one feature information of the target object; wherein different operation operators will start different processes to acquire different feature information of the target object, and the execution of any two processes will not affect each other; Simultaneously start multiple processes to update the computational flow directed graph and the corresponding operation operators; The feature information of the target object is reacquired according to the updated calculation process directed graph to obtain updated feature information.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a plurality of computer programs, and the computer programs are suitable for being loaded by a processor and executing the feature acquisition method according to any one of claims 1 to 7.

10. A terminal device, characterized in that: including processor and memory; The memory is used to store multiple computer programs, and the computer programs are used to be loaded by the processor and execute the feature acquisition method according to any one of claims 1 to 7; the processor is used to implement each computer program in the multiple computer programs.

Citation Information

Patent Citations

  • Feature extraction method and device, electronic equipment and computer readable medium

    CN111625692A