Data computing method, device and terminal equipment

By establishing parallel operation branches and associated operation nodes in data operations, the problem of slow computing speed in traditional data operations is solved, and efficient parallel computing and direct utilization of dependencies is realized.

CN112988239BActive Publication Date: 2025-02-21UBTECH ROBOTICS CORP LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201911304816.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-12-17
Publication Date
2025-02-21
Estimated Expiration
2039-12-17

AI Technical Summary

Technical Problem

Traditional data computing methods perform single operations in sequence and need to recalculate the previous calculation results, resulting in slow operation speed and cannot meet the increasingly complex computing needs.

Method used

By establishing multiple parallel data operation branches according to preset operation rules, each branch contains multiple sequentially connected operation nodes, and the operation nodes are associated to receive and transmit operation results, thereby realizing parallel computing and avoiding repeated operations.

Benefits of technology

The data calculation speed is improved, and the calculated calculation results can be directly used in the case of dependencies without recalculating, thereby improving calculation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112988239B_ABST
    Figure CN112988239B_ABST
Patent Text Reader

Abstract

The present application is applicable to the field of data processing technology, and provides a data operation method, device and terminal equipment. The data operation method includes: obtaining a data operation request, which includes a preset operation rule for data processing; based on the preset operation rule, establishing multiple parallel data operation branches; each data operation branch includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node, each first operation node is associated with at least one first operation node in other data operation branches, and can receive the operation result of the associated first operation node and / or send the operation result to the associated first operation node; receiving data to be processed and inputting the data to be processed into multiple parallel data operation branches; performing operations on the data to be processed through multiple parallel data operation branches to obtain data operation results. The present application can improve the speed and efficiency of data operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of data processing technology, and in particular, relates to data computing methods, devices and terminal equipment. Background Art

[0002] With the development of AI (Artificial Intelligence) technology, data calculation and model training require a large number of calculation processes through computers. Traditional data calculation includes multiple single calculations. When executing multiple single calculations, each single calculation is usually performed in sequence. When the subsequent single calculation depends on the results of the previous single calculations, the previous single calculations need to be recalculated to obtain the results of the current single calculation. As a result, the entire data calculation process is slow and time-consuming, and such processing speed cannot meet the increasingly complex computing needs. Summary of the invention

[0003] To overcome the problems existing in the related art, the embodiments of the present application provide a data operation method, an apparatus and a terminal device.

[0004] This application is implemented through the following technical solutions:

[0005] In a first aspect, an embodiment of the present application provides a data computing method, including:

[0006] Obtaining a data operation request, wherein the data operation request includes a preset operation rule for data processing;

[0007] Based on the preset operation rules, multiple parallel data operation branches are established; wherein each of the data operation branches includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node, and each of the first operation nodes is associated with at least one first operation node in other data operation branches, and can receive the operation result of the associated first operation node and / or send the operation result to the associated first operation node;

[0008] Receiving data to be processed, and inputting the data to be processed into the plurality of parallel data operation branches;

[0009] The data to be processed are operated through the multiple parallel data operation branches to obtain data operation results.

[0010] In a possible implementation manner of the first aspect, receiving the data to be processed and inputting the data to be processed into the multiple parallel data operation branches includes:

[0011] receiving the data to be processed, wherein the data to be processed includes multiple parts of data;

[0012] Based on the preset operation rules, determine the data operation branch corresponding to each part of the data;

[0013] Input each part of the data into the corresponding data operation branch respectively.

[0014] In a possible implementation manner of the first aspect, the performing operations on the to-be-processed data by using the multiple parallel data operation branches includes:

[0015] For each of the data operation branches, any operation node operates on the input data and transmits a first operation result to the next operation node in the current data operation branch;

[0016] In the case where the next operation node is the first operation node, obtaining a second operation result sent by a first operation node associated with the next operation node, performing an operation based on the first operation result and the second operation result, and sending the operation result to the next operation node in the current data operation branch; wherein the second operation result is an operation result obtained by the associated first operation node on the input data; or

[0017] When the next operation node is the first operation node, the first operation node performs operation based on the first operation result to obtain a third operation result, and sends the third operation result to the associated first operation node and the next operation node in the current data operation branch.

[0018] In a possible implementation manner of the first aspect, obtaining the second operation result sent by the associated first operation node includes:

[0019] The first computing node sends a first computing result request to the associated first computing node;

[0020] The associated first computing node sends the second computing result to the first computing node based on the first computing result request.

[0021] In a possible implementation manner of the first aspect, sending the third operation result to the associated first operation node includes:

[0022] receiving a second computing result request sent by the associated first computing node;

[0023] Based on the second operation result request, the third operation result is sent to the associated first operation node.

[0024] In a possible implementation manner of the first aspect, obtaining the second operation result sent by the associated first operation node includes:

[0025] If the second operation result is not obtained, the first operation node and the operation nodes after the first operation node stop operation.

[0026] In a possible implementation manner of the first aspect, the method further includes:

[0027] Outputting the data operation results obtained by each of the data operation branches to the report generation node;

[0028] Through the report generation node, each data operation result is generated into a data operation result report.

[0029] In a second aspect, an embodiment of the present application provides a data computing device, including:

[0030] A request acquisition module, used to acquire a data operation request, wherein the data operation request includes a preset operation rule for data processing;

[0031] An operation branch establishment module, used to establish multiple parallel data operation branches based on the preset operation rules; wherein each of the data operation branches includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node, each of the first operation nodes is associated with at least one first operation node in other data operation branches, and can receive the operation result of the associated first operation node and / or send the operation result to the associated first operation node;

[0032] A data receiving module, used for receiving data to be processed and inputting the data to be processed into the plurality of parallel data operation branches;

[0033] The operation module is used to operate the data to be processed through the multiple parallel data operation branches to obtain data operation results.

[0034] In a third aspect, an embodiment of the present application provides a terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the data calculation method as described in any one of the first aspects when executing the computer program.

[0035] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the network training method as described in any one of the first aspect, or the data calculation method as described in any one of the second aspect is implemented.

[0036] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device executes the network training method described in any one of the first aspects, or the data calculation method described in any one of the second aspects.

[0037] Compared with the prior art, the embodiments of the present invention have the following beneficial effects:

[0038] In an embodiment of the present application, multiple parallel data operation branches are established according to preset operation rules in a data operation request, each data operation branch includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node. Each first operation node is associated with at least one first operation node in other data operation branches, and can receive operation results of the associated first operation node and / or send operation results to the associated first operation node. Therefore, after the data to be processed is input into the multiple parallel data operation branches, the data to be processed can be calculated in parallel through the multiple data operation branches, and in the case that a certain data operation branch depends on the data of other data operation branches, the operation result data can be transmitted through the two associated first operation nodes without the need to re-calculate to obtain the operation result data, and the operation result data can be directly used, thereby improving the data operation speed.

[0039] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.

[0040] 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 present specification. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0042] Figure 1 It is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0043] Figure 2 It is a flowchart of a data calculation method provided by an embodiment of the present application;

[0044] Figure 3 is a schematic diagram of multiple parallel data operation branches provided by an embodiment of the present application;

[0045] Figure 4 It is a flowchart of a data calculation method provided by an embodiment of the present application;

[0046] Figure 5 It is a flowchart of a data calculation method provided by an embodiment of the present application;

[0047] Figure 6 It is a flowchart of a data calculation method provided by an embodiment of the present application;

[0048] Figure 7 is a schematic diagram of multiple parallel data operation branches provided by an embodiment of the present application;

[0049] Figure 8 is a structural schematic diagram of a data computing device provided by an embodiment of the present application;

[0050] Fig. 9 is a structural schematic diagram of a data computing device provided by an embodiment of the present application;

[0051] Fig.10 is a schematic diagram of the structure of a terminal device provided in an embodiment of the present application;

[0052] Fig.11 It is a schematic diagram of the structure of a computer to which the data calculation method provided in one embodiment of the present application is applicable. DETAILED DESCRIPTION

[0053] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0054] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0055] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0056] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0057] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0058] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0059] With the development of AI technology, data calculation and model training require a large number of computer calculation processes. Traditional data calculation includes multiple single calculations. When executing multiple single calculations, each single calculation is usually performed in sequence. When the subsequent single calculation depends on the results of the previous single calculations, the previous single calculations need to be recalculated to obtain the results of the current single calculation, which makes the entire data calculation process slower and more time-consuming.

[0060] Single operations are time-consuming and laborious, and the results cannot be matched. Moreover, when the result of an operation depends on the results of other single operations, the previous single operations can only be added to the new single operation, resulting in slower data operation results, and such processing speed cannot meet the increasingly complex computing needs.

[0061] Based on the above problems, a data calculation method is provided in an embodiment of the present application. Multiple parallel data calculation branches are established according to preset calculation rules in a data calculation request. Each data calculation branch includes multiple calculation nodes connected in sequence, and at least one calculation node is a first calculation node. Each first calculation node is associated with at least one first calculation node in other data calculation branches, and can receive calculation results of the associated first calculation node and / or send calculation results to the associated first calculation node. Therefore, after the data to be processed is input into the multiple parallel data calculation branches, the data to be processed can be calculated simultaneously through multiple data calculation branches, and when a data calculation branch depends on the data of other data calculation branches, there is no need to re-calculate to obtain the calculation result data. The calculation result data can be directly used by transferring the calculation result data through the two associated first calculation nodes, thereby improving the data calculation speed.

[0062] For example, the embodiments of the present application can be applied to Figure 1 In the exemplary scenario shown, data can be sent to the server 20 via the terminal 10, and the server performs operations according to certain operation rules based on the data sent by the terminal 10 to obtain data operation results.

[0063] For example, the terminal 10 may first send a data operation request including a preset operation rule for data processing to the server 20, and the server 20 may establish a plurality of parallel data operation branches according to the preset operation rule, each of which includes a plurality of sequentially connected operation nodes, and at least one operation node is a first operation node, and each first operation node is associated with at least one first operation node in other data operation branches, and is capable of receiving the operation result of the associated first operation node and / or sending the operation result to the associated first operation node;

[0064] The terminal 10 sends the data to be processed to the server 20 , and the server 20 inputs the data to be processed into a plurality of parallel data operation branches, and operates on the data to be processed through the plurality of parallel data operation branches to obtain a data operation result.

[0065] In this embodiment, the terminal 10 and the server 20 can be terminals such as robots, computers, tablet computers, laptop computers, netbooks, personal digital assistants (PDA), etc. The embodiment of the present application does not impose any restrictions on the specific types of the terminal 10 and the server 20.

[0066] In order to make those skilled in the art better understand the present invention, Figure 1, the technical solutions in the embodiments of the present application are clearly and completely described. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0067] Figure 2 is a schematic flow chart of a data operation method provided by an embodiment of the present application, with reference to Figure 2 The data operation method is described in detail as follows:

[0068] In step 101, a data operation request is obtained, wherein the data operation request includes preset operation rules for data processing.

[0069] Among them, the above-mentioned preset operation rules can be a certain algorithm. For example, the above-mentioned preset operation rules can be a neural network algorithm used in fields such as artificial intelligence.

[0070] Exemplarily, taking data A, data B and data C as an example, the above-mentioned preset operation rules can be an operation or a combination of two or more operations including addition, subtraction, multiplication, division, differentiation, integration, iteration, etc. on data A, data B and data C.

[0071] In step 102, a plurality of parallel data operation branches are established based on the preset operation rules.

[0072] Among them, each of the data operation branches includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node. Each of the first operation nodes is associated with at least one first operation node in other data operation branches, and can receive the operation results of the associated first operation node and / or send the operation results to the associated first operation node.

[0073] See also Figure 3 , taking three data operation branches as an example for explanation, the three data operation branches are data operation branch 1, data operation branch 2 and data operation branch 3, wherein each data operation branch includes three operation nodes.

[0074] Specifically, the three operation nodes of data operation branch 1 are operation node 11, operation node 12 and operation node 13, the three operation nodes of data operation branch 2 are operation node 21, operation node 22 and operation node 23, and the three operation nodes of data operation branch 3 are operation node 31, operation node 32 and operation node 33. In data operation branch 1, operation node 11 and operation node 12 are two first operation nodes; in data operation branch 2, operation node 22 and operation node 23 are two first operation nodes; in data operation branch 3, operation node 31 is the first operation node.

[0075] In this embodiment, the three operation nodes in each data operation branch are connected in sequence. In addition, operation node 11 is associated with operation node 22, operation node 22 is also associated with operation node 31, operation node 31 is also associated with operation node 23, and operation node 23 is also associated with operation node 12.

[0076] In one embodiment, Figure 3 The preset operation rules corresponding to the three data operation branches shown can be:

[0077] Perform operations A11, A12 and A13 on data A in sequence;

[0078] Perform operation B21 on data B, and then perform operation B22 on the result of operation A11 and the result of operation B21;

[0079] Perform operation C31 on data C and the result of operation B22, perform operation C32 on the result of operation C31, and perform operation C33 on the result of operation C32;

[0080] Operation B23 is performed on the result of operation A12, the result of operation B22, and the result of operation C31.

[0081] It should be noted that the result of operation A11 is the result of operation node 11, the result of operation B21 is the result of operation node 21, and so on. Each operation in this embodiment can be one operation or a combination of two or more operations including the aforementioned addition, subtraction, multiplication, division, differentiation, integration, iteration, etc., and each operation can be partially the same or completely different, which is not limited in this embodiment of the present application.

[0082] In step 103, data to be processed is received, and the data to be processed is input into the plurality of parallel data operation branches.

[0083] See also Figure 4 In some embodiments, step 103 may include the following steps:

[0084] In step 1031, the data to be processed is received, where the data to be processed includes multiple parts of data.

[0085] The data to be processed may be data corresponding to the preset operation rules described in step 101. Exemplarily, the data to be processed may include data corresponding to each data operation branch. For example, three data operation branches may be established according to the preset operation rules, and the corresponding data to be processed may include three parts of data, which correspond to the three data operation branches one by one.

[0086] In step 1032, based on the preset operation rule, the data operation branch corresponding to each part of the data is determined.

[0087] Specifically, when the number of the plurality of parallel data operation branches established based on the preset operation rule is N, the data to be processed also includes N parts of data, wherein each data operation branch corresponds to a part of the data to be processed.

[0088] For example, each data operation branch may correspond to a data feature, and based on the data feature corresponding to each data operation branch, the corresponding relationship between each part of the data to be processed and each data operation branch is determined. For example, each data operation branch may correspond to a data name information, and according to the data name information of each part of the data to be processed, the data operation branch corresponding to each part of the data is determined. For example, a data input interface may be set for each data calculation branch, and the corresponding data may be directly input into the corresponding data calculation branch through the data input interface for calculation.

[0089] In step 1033, each portion of data is input into a corresponding data operation branch.

[0090] After determining the data operation branch corresponding to each part of the data, each part of the data is input into the corresponding data operation branch, and the corresponding operation is performed according to the preset operation rules. The specific operation process can be referred to the content described in step 104, which will not be described in detail here.

[0091] In step 104, the data to be processed are operated by the multiple parallel data operation branches to obtain data operation results.

[0092] In this step, after each data operation branch receives the corresponding data, it operates the received data according to the preset operation rules to obtain the data operation result. Among them, between two associated first operation nodes, the first operation node in front can directly transfer the operation result to the first operation node in the back, and the first operation node in the back does not need to re-execute the operation process of the first operation node in front, but directly uses the operation result obtained by the first operation node in front, thereby improving the operation speed.

[0093] See also Figure 5 In some embodiments, step 104 may include the following process:

[0094] In step 1041, for each of the data operation branches, any operation node operates on the input data and transmits a first operation result to the next operation node in the current data operation branch.

[0095] like Figure 3 As shown, for data operation branch 1, operation node 11 operates on the input data, and its operation result serves as the input of operation node 12; operation node 12 operates on the input data, and its operation result serves as the input of operation node 13; operation node 13 operates on the input data.

[0096] For data operation branch 2, operation node 21 operates on the input data, and its operation result serves as the input of operation node 22; operation node 22 operates on the input data, and its operation result serves as the input of operation node 23; operation node 23 operates on the input data.

[0097] For data operation branch 3, operation node 31 operates on the input data, and its operation result serves as the input of operation node 32; operation node 32 operates on the input data, and its operation result serves as the input of operation node 33; operation node 33 operates on the input data.

[0098] In step 1042, when the next operation node is the first operation node, the second operation result sent by the first operation node associated with the next operation node is obtained, and an operation is performed based on the first operation result and the second operation result, and the operation result is sent to the next operation node in the current data operation branch.

[0099] The second operation result is the operation result obtained by the associated first operation node on the input data.

[0100] See also Figure 3For example, operation node 22 is the first operation node, and operation node 22 depends on the operation result of operation node 11. Therefore, before operation node 22 performs operation, it is necessary to obtain the operation result of the associated operation node 11, and then perform operation based on the operation result of operation node 12 and the operation result of operation node 11, and then send the operation result to the next operation node 23.

[0101] For example, operation node 31 is the first operation node, and operation node 31 depends on the operation result of operation node 22. Therefore, before operation node 31 performs operation, it needs to obtain the operation result of the associated operation node 22, then perform operation according to the operation result of operation node 22, and then send the operation result to the next operation node 32.

[0102] For example, operation node 23 is the first operation node, and operation node 23 depends on the operation results of operation node 12 and operation node 31. Therefore, before operation node 23 performs operation, it is necessary to obtain the operation results of the associated operation node 12 and operation node 31, and then perform operation based on the operation results of operation node 12 and operation node 31.

[0103] Exemplarily, the step of obtaining the second operation result sent by the associated first operation node in step 1042 may specifically include:

[0104] In step A1, the first computing node sends a first computing result request to the associated first computing node;

[0105] In step B1, the associated first computing node sends the second computing result to the first computing node based on the first computing result request.

[0106] In this embodiment, the first operation node that sends the operation result to the associated first operation node is the first operation node in front, and the first operation node that obtains the operation result sent by the associated first operation node is the first operation node in the back. Figure 3 As shown, the operation node 11 sends the operation result to the operation node 22 . Therefore, the operation node 11 is the first operation node in front of the operation node 22 , and the operation node 22 is the first operation node in the back of the operation node 11 .

[0107] Specifically, the subsequent first computing node may send a first computing result request to the preceding first computing node, so that the preceding first computing node sends the second computing result to the subsequent first computing node after the computing is completed and the second computing result is obtained.

[0108] Exemplarily, the first operation result request may include a first identifier of the subsequent first operation node, which is used to instruct the preceding first operation node to send the second operation result to the operation node corresponding to the first identifier.

[0109] For example, computing node 22 may send a first computing result request to computing node 11, wherein the first computing result request includes a first identifier of computing node 22. After computing node 11 completes the computing and obtains the computing result, it sends the computing result to computing node 22 according to the first identifier.

[0110] In one possible implementation, if the second operation result is not obtained, the first operation node and the operation nodes after the first operation node stop the operation, wait for the second operation result, and after receiving the second operation result sent by the associated first operation node, perform the operation based on the first operation result and the second operation result.

[0111] It can be understood that since the first operation node at the rear depends on the second operation result of the first operation node at the front, and when the second operation result of the first operation node at the front is not received, the first operation node at the rear and the operation node after the first operation node can be controlled to stop the operation to save resources, and when the second operation result of the first operation node at the front is received, the first operation node at the rear can be controlled to perform the operation based on the first operation result and the second operation result, and the operation result is sent to the next operation node in the current operation branch.

[0112] In step 1043, when the next operation node is the first operation node, the first operation node performs operation based on the first operation result to obtain a third operation result, and sends the third operation result to the associated first operation node and the next operation node in the current data operation branch.

[0113] See also Figure 3 For example, operation node 11 is the first operation node, and operation node 22 depends on the operation result of operation node 11. Therefore, after operation node 11 performs operation based on the first operation result to obtain the third operation result, the third operation result needs to be sent to operation node 22 so that operation node 22 can directly use the third operation result to perform the corresponding operation.

[0114] For example, operation node 12 is the first operation node, and operation node 23 depends on the operation result of operation node 12. Therefore, after operation node 12 performs operation based on the first operation result to obtain the third operation result, the third operation result needs to be sent to operation node 23 so that operation node 22 can directly use the third operation result to perform the corresponding operation.

[0115] Exemplarily, sending the third operation result to the associated first operation node in step 1043 may specifically include:

[0116] In step A2, receiving a second computing result request sent by the associated first computing node;

[0117] In step B2, based on the second operation result request, the third operation result is sent to the associated first operation node.

[0118] In this embodiment, since the first operation node behind depends on the operation result of the first operation node in front, the first operation node behind can send a second operation result request to the first operation node in front. After the first operation node in front completes the operation and obtains the third operation result, it sends the third operation result to the first operation node behind according to the second operation result request.

[0119] Exemplarily, the second operation result request may include a second identifier of the subsequent first operation node, and the preceding first operation node sends the third operation result to the subsequent first operation node according to the second identifier.

[0120] For example, computing node 22 may send a second computing result request to computing node 11, wherein the second computing result request includes a second identifier of computing node 22. After computing node 11 completes the computing and obtains computing result 11, computing node 11 sends computing result 11 to computing node 22 according to the second identifier.

[0121] For example, Figure 3 and Figure 7 As an example, step 104 is further described. Specifically, the data to be processed may include data A, data B, and data C, wherein data A needs to be input into data operation branch 1, data B needs to be input into data operation branch 2, and data C needs to be input into data operation branch 3. The following describes the operation process of data A, data B, and data C based on the above content.

[0122] After the data A in the input data operation branch 1 is processed by the operation node 11 through the operation A11, the result of the operation A11 is generated, and the result of the operation A11 is passed to the operation node 12 and the operation node 22 in the data operation branch 2; after the operation node 12 performs the operation A12 on the result of the operation A11, the result of the operation A12 is generated, and the result of the operation A12 is passed to the operation node 13 and the operation node 23 in the data operation branch 2; after the operation node 13 performs the operation A13 on the result of the operation A12, the result of the operation A13 is generated.

[0123] The data B in the input data operation branch 2 is processed by the operation node 21 through operation B21 to generate the result of operation B21, and the result of operation B21 is passed to the operation node 22; after the operation node 22 performs operation B22 on the result of operation B21 and the result of operation A11, the result of operation B22 is generated, and the result of operation B22 is passed to the operation node 23 and the operation node 31 in the data operation branch 3.

[0124] The operation node 31 in the data operation branch 3 performs operation C31 on the result of operation B22 and the data C in the input data operation branch 3 (in other embodiments, data C may not be included) to generate the result of operation C31, and passes the result of operation C31 to the operation node 32 and the operation node 23 in the data operation branch 2; the operation node 32 performs operation C32 on the result of operation C31, generates the result of operation C32, and passes the result of operation C32 to the operation node 33; the operation node 33 performs operation C33 on the result of operation C32, and generates the result of operation C33.

[0125] The operation node 23 in the data operation branch 2 performs the operation B23 on the result of the operation A12, the result of the operation B22, and the result of the operation C31, and generates a result of the operation B23.

[0126] The result of operation A13, the result of operation B23 and the result of operation C33 are the data operation results described in step 104.

[0127] In some embodiments, the above data calculation method may further include the step of generating a data calculation result report. Figure 6 ,based on Figure 2 In the embodiment shown, the data calculation method may further include:

[0128] In step 105, the data operation results obtained by each of the data operation branches are output to a report generation node, and a data operation result report is generated from each of the data operation results.

[0129] After the last operation node of each data operation branch obtains the data operation result, each data operation result is output to the report generation node, and the report generation node generates a data operation result report based on preset rules for each data operation result.

[0130] See also Figure 7The data operation result corresponding to data operation branch 1 is the result of operation A13, the data operation result corresponding to data operation branch 2 is the result of operation B23, and the data operation result corresponding to data operation branch 3 is the result of operation C33. The result of operation A13, the result of operation B23 and the result of operation C33 are input to the report generation node. The report generation node generates a data operation result report based on the preset rules using the result of operation A13, the result of operation B23 and the result of operation C33.

[0131] The above-mentioned data operation method, after inputting the data to be processed into the multiple parallel data operation branches, can perform parallel calculations on the data to be processed through the multiple data operation branches, and in the case that a certain data operation branch depends on the data of other data operation branches, the operation result data can be transmitted through the two associated first operation nodes, without the need to re-calculate to obtain the operation result data, but only need to directly use the operation result data, thereby improving the operation efficiency of the current computer as much as possible, and through dynamic resource allocation, the computer's operation efficiency is maximized, the algorithm's operation execution efficiency is improved, the operation time is continuously shortened, and the execution efficiency of the computer's operation tasks is improved; at the same time, the operation results between different linear operation nodes can be transmitted in multiple dimensions, avoiding unnecessary repeated operations in different linear operation nodes, and improving the overall speed of data operation.

[0132] It should be understood that the size of the serial numbers of each step in each embodiment of the above-mentioned vehicle head orientation recognition method does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0133] Corresponding to the data calculation method described in the above embodiment, Figure 8 A structural block diagram of a data computing device provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0134] See also Figure 8 The data operation device in the embodiment of the present application may include a request acquisition module 201, an operation branch establishment module 202, a data receiving module 203 and an operation module 204.

[0135] The request acquisition module 201 is used to acquire a data operation request, wherein the data operation request includes a preset operation rule for data processing;

[0136] The operation branch establishment module 202 is used to establish multiple parallel data operation branches based on the preset operation rules; wherein one of the data operation branches includes multiple operation nodes connected in sequence, and some of the operation nodes in the multiple data operation branches are first operation nodes, each of the first operation nodes is associated with at least one first operation node, and can receive the operation result of the associated first operation node and / or generate the operation result to the associated first operation node;

[0137] A data receiving module 203 is used to receive data to be processed and input the data to be processed into the multiple parallel data operation branches;

[0138] The operation module 204 is used to operate the data to be processed through the multiple parallel data operation branches to obtain data operation results.

[0139] In some embodiments, see Fig. 9 ,based on Figure 8 In the illustrated embodiment, the data receiving module 203 may include:

[0140] The receiving unit 2031 is used to receive the data to be processed, where the data to be processed includes multiple parts of data;

[0141] A determination unit 2032, configured to determine a data operation branch corresponding to each portion of data based on the preset operation rule;

[0142] The input unit 2033 is used to input each part of the data into the corresponding data operation branch.

[0143] In some embodiments, see Fig. 9 ,based on Figure 8 In the illustrated embodiment, the computing module 204 may include:

[0144] A first operation unit 2041, configured to operate any operation node on input data for each of the data operation branches, and transmit a first operation result to a next operation node in the current data operation branch;

[0145] The second operation unit 2042 is used for obtaining a second operation result sent by a first operation node associated with the next operation node when the next operation node is the first operation node, performing operation based on the first operation result and the second operation result, and sending the operation result to the next operation node in the current data operation branch; wherein the second operation result is the operation result obtained by the associated first operation node on the input data;

[0146] The third operation unit 2043 is used for, when the next operation node is the first operation node, the first operation node performs operation based on the first operation result to obtain a third operation result, and sends the third operation result to the associated first operation node and the next operation node in the current data operation branch.

[0147] Optionally, obtaining the second operation result sent by the associated first operation node includes:

[0148] The first computing node sends a first computing result request to the associated first computing node;

[0149] The associated first computing node sends the second computing result to the first computing node based on the first computing result request.

[0150] Optionally, sending the third operation result to the associated first operation node includes:

[0151] receiving a second computing result request sent by the associated first computing node;

[0152] Based on the second operation result request, the third operation result is sent to the associated first operation node.

[0153] Optionally, obtaining the second operation result sent by the associated first operation node includes:

[0154] If the second operation result is not obtained, the first operation node and the operation nodes after the first operation node stop operation.

[0155] In some embodiments, see Fig. 9 ,based on Figure 8 In the embodiment shown, the above device may further include:

[0156] The report generation module 205 is used to output the data operation results obtained by each of the data operation branches to the report generation node, and generate a data operation result report from each of the data operation results.

[0157] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0158] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0159] The present application also provides a terminal device, see Fig.10 The terminal device 300 may include: at least one processor 310, a memory 320, and a computer program stored in the memory 320 and executable on the at least one processor 310. When the processor 310 executes the computer program, the steps in any of the above-mentioned method embodiments are implemented, for example Figure 2 Steps 101 to 104 in the illustrated embodiment. Alternatively, when the processor 310 executes the computer program, the functions of each module / unit in the above-mentioned device embodiments are implemented, for example Figure 8 The functions of modules 201 to 204 are shown.

[0160] Exemplarily, the computer program may be divided into one or more modules / units, one or more modules / units are stored in the memory 320, and executed by the processor 310 to complete the present application. The one or more modules / units may be a series of computer program segments that can complete specific functions, and the program segments are used to describe the execution process of the computer program in the terminal device 300.

[0161] Those skilled in the art will understand that Fig.10 It is only an example of a terminal device and does not constitute a limitation on the terminal device. It may include more or fewer components than shown in the figure, or a combination of certain components, or different components, such as input and output devices, network access devices, buses, etc.

[0162] The processor 310 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0163] The memory 320 may be an internal storage unit of the terminal device, or an external storage device of the terminal device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. The memory 320 is used to store the computer program and other programs and data required by the terminal device. The memory 320 may also be used to temporarily store data that has been output or is to be output.

[0164] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.

[0165] The data calculation method provided in the embodiment of the present application can be applied to terminal devices such as computers, tablet computers, laptop computers, netbooks, personal digital assistants (PDAs), etc. The embodiment of the present application does not impose any restrictions on the specific type of terminal devices.

[0166] Take the terminal device as a computer as an example. Fig.11 FIG. 1 is a block diagram showing a partial structure of a computer provided in an embodiment of the present application. Fig.11The computer includes: a communication circuit 410, a memory 420, an input unit 430, a display unit 440, an audio circuit 450, a wireless fidelity (WiFi) module 460, a processor 470, and a power supply 480. Those skilled in the art will understand that Fig.11 The computer structure shown in the figure does not constitute a limitation of the computer, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.

[0167] Combine the following Fig.11 A detailed introduction to the various components of the computer:

[0168] The communication circuit 410 can be used to send and receive information for processing by the processor 470. Generally, the communication circuit includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (Low Noise Amplifier, LNA), a duplexer, etc. In addition, the communication circuit 410 can also communicate with the network and other devices through wireless communication. The above wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobilecommunication (Global System of Mobilecommunication, GSM), General Packet Radio Service (General Packet Radio Service, GPRS), Code Division Multiple Access (Code Division Multiple Access, CDMA), Wideband Code Division Multiple Access (Wideband Code Division Multiple Access, WCDMA), Long Term Evolution (Long Term Evolution, LTE)), email, Short Messaging Service (SMS), etc.

[0169] The memory 420 can be used to store software programs and modules. The processor 470 executes various functional applications and data processing of the computer by running the software programs and modules stored in the memory 420. The memory 420 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area can store data created according to the use of the computer (such as audio data, a phone book, etc.), etc. In addition, the memory 420 can include a high-speed random access memory, and can also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0170] The input unit 430 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the computer. Specifically, the input unit 430 may include a touch panel 431 and other input devices 432. The touch panel 431, also known as a touch screen, can collect the user's touch operation on or near it (such as the user's operation on the touch panel 431 or near the touch panel 431 using any suitable object or accessory such as a finger, stylus, etc.), and drive the corresponding connection device according to a pre-set program. Optionally, the touch panel 431 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch orientation, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into contact coordinates, and then sends it to the processor 470, and can receive and execute commands sent by the processor 470. In addition, the touch panel 431 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves. In addition to the touch panel 431, the input unit 430 may also include other input devices 432. Specifically, other input devices 432 may include but are not limited to one or more of a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, etc.

[0171] The display unit 440 may be used to display information input by the user or information provided to the user and various menus of the computer. The display unit 440 may include a display panel 441. Optionally, the display panel 441 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel 431 may cover the display panel 441. When the touch panel 431 detects a touch operation on or near it, it is transmitted to the processor 470 to determine the type of touch event. Subsequently, the processor 470 provides a corresponding visual output on the display panel 441 according to the type of touch event. Although in Fig.11 In the embodiment, the touch panel 431 and the display panel 441 are used as two independent components to implement the input and output functions of the computer, but in some embodiments, the touch panel 431 and the display panel 441 can be integrated to implement the input and output functions of the computer.

[0172] The audio circuit 450 can provide an audio interface between the user and the computer. The audio circuit 450 can convert the received audio data into an electrical signal, transmit it to the speaker, and convert it into a sound signal for output; on the other hand, the microphone converts the collected sound signal into an electrical signal, which is received by the audio circuit 450 and converted into audio data, and then the audio data is output to the processor 470 for processing, and then sent to another computer through the communication circuit 410, or the audio data is output to the memory 420 for further processing.

[0173] WiFi is a short-range wireless transmission technology. Computers can help users send and receive emails, browse web pages, and access streaming media through WiFi module 460, which provides users with wireless broadband Internet access. Fig.11 A WiFi module 460 is shown, but it is understandable that it is not an essential component of the computer and can be omitted as needed without changing the essence of the invention.

[0174] The processor 470 is the control center of the computer. It uses various interfaces and lines to connect various parts of the entire computer. It executes various functions of the computer and processes data by running or executing software programs and / or modules stored in the memory 420, and calling data stored in the memory 420, so as to monitor the computer as a whole. Optionally, the processor 470 may include one or more processing units; preferably, the processor 470 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 470.

[0175] The computer also includes a power supply 480 (such as a battery) for supplying power to various components. Preferably, the power supply 480 can be logically connected to the processor 470 through a power management system, so that the power management system can manage charging, discharging, and power consumption.

[0176] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in each embodiment of the above-mentioned data operation method can be implemented.

[0177] An embodiment of the present application provides a computer program product. When the computer program product runs on a mobile terminal, the mobile terminal can implement the steps in each embodiment of the above-mentioned data operation method when executing the computer program product.

[0178] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the camera / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, RandomAccess Memory), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0179] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0180] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0181] In the embodiments provided in the present application, it should be understood that the disclosed devices / network equipment and methods can be implemented in other ways. For example, the device / network equipment embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0182] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0183] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A data computing method, characterized in that: include: Obtaining a data operation request, wherein the data operation request includes a preset operation rule for data processing; Based on the preset operation rules, multiple parallel data operation branches are established; wherein each of the data operation branches includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node, each of the first operation nodes is associated with at least one first operation node in other data operation branches, and can receive the operation result of the associated first operation node and / or send the operation result to the associated first operation node, the first operation node in front directly transmits the operation result to the first operation node in the back, and the first operation node in the back directly uses the operation result obtained by the first operation node in front; Receiving data to be processed, and inputting the data to be processed into the plurality of parallel data operation branches; Performing operations on the data to be processed through the multiple parallel data operation branches to obtain data operation results; The receiving the data to be processed and inputting the data to be processed into the multiple parallel data operation branches includes: receiving the data to be processed, wherein the data to be processed includes multiple parts of data; Based on the preset operation rules, determine the data operation branch corresponding to each part of the data; Input each part of the data into the corresponding data operation branch respectively.

2. The data computing method according to claim 1, characterized in that: The performing operation on the data to be processed by using the multiple parallel data operation branches includes: For each of the data operation branches, any operation node operates on the input data and transmits a first operation result to the next operation node in the current data operation branch; In the case where the next operation node is the first operation node, obtaining a second operation result sent by a first operation node associated with the next operation node, performing an operation based on the first operation result and the second operation result, and sending the operation result to the next operation node in the current data operation branch; wherein the second operation result is an operation result obtained by the associated first operation node on the input data; or When the next operation node is the first operation node, the first operation node performs operation based on the first operation result to obtain a third operation result, and sends the third operation result to the associated first operation node and the next operation node in the current data operation branch.

3. The data operation method according to claim 2, characterized in that: The obtaining of the second operation result sent by the associated first operation node includes: The first computing node sends a first computing result request to the associated first computing node; The associated first computing node sends the second computing result to the first computing node based on the first computing result request.

4. The data operation method according to claim 2, characterized in that: The sending the third operation result to the associated first operation node includes: receiving a second computing result request sent by the associated first computing node; Based on the second operation result request, the third operation result is sent to the associated first operation node.

5. The data operation method according to claim 2, characterized in that: The obtaining of the second operation result sent by the associated first operation node includes: If the second operation result is not obtained, the first operation node and the operation nodes after the first operation node stop operation.

6. The data computing method according to any one of claims 1 to 5, characterized in that: The method further comprises: The data operation results obtained by each of the data operation branches are output to a report generation node, and each of the data operation results is used to generate a data operation result report.

7. A data computing device, characterized in that: include: A request acquisition module, used to acquire a data operation request, wherein the data operation request includes a preset operation rule for data processing; An operation branch establishment module, used to establish multiple parallel data operation branches based on the preset operation rules; wherein each of the data operation branches includes multiple operation nodes connected in sequence, and at least one operation node is a first operation node, each of the first operation nodes is associated with at least one first operation node in other data operation branches, and can receive the operation result of the associated first operation node and / or send the operation result to the associated first operation node, the first operation node in front directly transmits the operation result to the first operation node in the back, and the first operation node in the back directly uses the operation result obtained by the first operation node in front; A data receiving module, used for receiving data to be processed and inputting the data to be processed into the plurality of parallel data operation branches; A computing module, used for computing the data to be processed through the multiple parallel data computing branches to obtain a data computing result; The data receiving module comprises: A receiving unit, configured to receive the data to be processed, wherein the data to be processed includes multiple parts of data; A determination unit, configured to determine a data operation branch corresponding to each portion of data based on the preset operation rule; The input unit is used to input each part of the data into the corresponding data operation branch.

8. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 6 is implemented.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Distributed stream calculation system, method and device

    CN106293892A