Data processing method and device, storage medium and electronic equipment
By displaying historical data of related controls in visual programming, the problem of high user operation complexity is solved, and the operation process is simplified and programming efficiency is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2026-03-10
AI Technical Summary
In visual programming, user operations are complex, requiring users to trigger operations and input valid values for each control separately. This is especially true when the same control is used repeatedly, which requires multiple operations and increases the number of operations.
By displaying historical control data of target associated controls that have a pre-configured relationship with the first control in the programming screen, users can directly select target data that meets the requirements, reducing repetitive input.
It reduces the complexity of operations for users in the visual programming process, simplifies the operation process, and improves programming efficiency.
Smart Images

Figure CN121635869A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the computer field, in particular, to a data processing method and device, a storage medium and an electronic device. BACKGROUND
[0002] In the visual programming process, the user can achieve the programming goal by selecting the required partial function blocks and inputting valid values to the control of the partial function blocks according to the execution logic configured in advance for the function blocks.
[0003] However, since the controls of the function blocks are independent of each other, and there is no any association between the data input by the user each time, the user needs to trigger the operation for each control used in the programming process respectively, and input the valid value of each control in turn. In particular, if the same control is repeatedly used in a programming process, the user needs to trigger the operation and input the operation for the same control multiple times, which consumes a lot of operation time and increases the number of user operations, thereby causing the technical problem of high user operation complexity in the visual programming process.
[0004] At present, no effective solution has been proposed for the above problems. SUMMARY
[0005] The embodiments of the present application provide a data processing method and device, a storage medium and an electronic device to at least solve the technical problem of high user operation complexity in the visual programming process.
[0006] According to an aspect of the embodiments of the present application, a data processing method is provided, comprising: in the running process of a visual programming application, displaying a first control in a control display area of a programming interface in response to a first trigger operation, wherein the first control is matched with a first data block, and the first data block carries a code paragraph for executing a target event according to a first control logic; adding a target associated control to the control display area in response to a second trigger operation, wherein the first control and the target associated control have a preconfigured association relationship, and the target associated control records historical control data input through the programming interface; displaying the historical control data in a data display area of the programming interface in response to a third trigger operation on the first control; selecting target control data from the historical control data, and executing the target event according to event description information indicated by the target control data to obtain a target execution result.
[0007] Optionally, the above-mentioned response to the second trigger operation to add a display target associated control in the control display area includes: responding to the second trigger operation on the target operation button in the toolbar to display the associated control in the candidate associated control set; and responding to the fourth trigger operation on the associated control in the candidate associated control to add a display target associated control in the control display area.
[0008] Optionally, before displaying historical control data in the data display area of the programming screen in response to the third trigger operation on the first control, the method further includes: in response to the fifth trigger operation on the target associated control, obtaining the attribute information of the target associated control; if the attribute information of the target associated control indicates that the data recording function has been enabled, obtaining M control data that match the data length field in the attribute information by traversing the historical control data list, where M is a positive integer greater than or equal to 1; in response to the third trigger operation on the target associated control, displaying the M control data in the data display area, wherein the historical control data includes the M control data.
[0009] Optionally, the above-mentioned traversal of the historical control data list to obtain M control data that match the data length field in the attribute information includes: responding to continuous triggering operations on the target associated control, sequentially inputting N control data at N time points and recording the N control data into the target associated control, where N is a positive integer greater than or equal to M; based on the chronological order between the N time points, traversing the historical control data list to obtain the M control data input at the M earlier time points.
[0010] Optionally, the above method further includes: when it is determined that the data recording function of the target associated control has been enabled, in response to the fourth trigger operation, determining the i-th control data entered in the data input box as the i-th value of the target data field, and recording the i-th control data to the historical control data list, wherein the target data field is the field in the historical control data list corresponding to the control identifier of the target associated control, and i is a positive integer greater than or equal to 1 and less than M.
[0011] Optionally, the above-mentioned response to a third trigger operation on the first control, displaying historical control data in the data display area of the programming screen, includes: responding to a third trigger operation on the first control, retrieving the attribute information of the first control from the control input information table; if the attribute information of the first control includes an association identifier field, obtaining historical control data based on a key attribute field that matches the association identifier field, wherein the association identifier field indicates a pre-configured associated control that has a mapping relationship with the first control; and displaying the historical control data in the data display area of the programming screen.
[0012] Optionally, the above-mentioned method of obtaining historical control data based on key attribute fields that match the associated identifier field includes: obtaining a first group of associated controls that match the control type of the first control based on the first attribute field in the key attribute field, wherein the first attribute field is a field used to represent the control type; filtering the first group of associated controls based on the second attribute field in the key attribute field to obtain a second group of associated controls, wherein the second attribute field is used to describe the control identifier of each associated control, and the second group of associated controls is the target associated control; and traversing the control data corresponding to each associated control in the control input information table based on the associated control identifier of each associated control in the second group of associated controls to obtain historical control data.
[0013] Optionally, the above-mentioned process of traversing the control data corresponding to each associated control in the second group of associated controls based on the associated control identifier of each associated control in the second group of associated controls to obtain historical control data includes: obtaining the j-th group of control data in the historical control data through the following steps, where j is a positive integer greater than or equal to 1: determining the j-th associated control in the second group of associated controls based on the j-th associated control identifier; finding the j-th group of control data corresponding to the j-th associated control from the control input information table, wherein the historical control data includes the j-th group of control data.
[0014] Optionally, the above-mentioned method of finding the j-th group of control data corresponding to the j-th associated control from the control input information table includes: finding the j-th group of initial control data of the j-th associated control from the control input information table based on the j-th associated control; sequentially obtaining each initial control data from the j-th group of initial control data as the current control data; and determining the current control data as the valid input data of the j-th associated control if the usage frequency of the current control data is greater than 0, wherein the j-th group of control data includes the valid input data of the j-th associated control.
[0015] Optionally, the above method further includes: in response to the sixth trigger operation on the first control, inputting the first control data of the first control in the data input box of the programming screen; searching for the target usage frequency field corresponding to the first control data from the control input information table, wherein the target usage frequency field is used to indicate the number of times the first control data is associated and used during the operation of the visual programming application; and incrementing the target usage frequency field by 1.
[0016] Optionally, the above-mentioned execution of the target event according to the attribute parameters identified by the target control data to obtain the target execution result includes: when the target event is a task type based on the task completed by the virtual character, and the virtual experience value of the target account is increased, in response to the virtual character completing the target task, selecting the target control data that matches the target task from the historical control data, wherein the target account is the account that controls the virtual character to perform operations in the virtual scene; and adjusting the experience value of the target account from the current experience value to the sum of the current experience value and the target experience value according to the target experience value identified by the target control data.
[0017] According to another aspect of the embodiments of this application, a data processing apparatus is also provided, comprising: a first display unit, configured to, in response to a first trigger operation during the operation of a visual programming application, display a first control in a control display area of a programming screen, wherein the first control is matched with a first data block, and the first data block carries a code segment for executing a target event according to a first control logic; a second display unit, configured to, in response to a second trigger operation, add and display a target-associated control in the control display area, wherein the first control and the target-associated control have a pre-configured association relationship, and the target-associated control records historical control data input through the programming screen; a third display unit, configured to, in response to a third trigger operation on the first control, display historical control data in a data display area of the programming screen; and a first processing unit, configured to select target control data from the historical control data and execute a target event according to the event description information identified by the target control data, thereby obtaining a target execution result.
[0018] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program for executing the above-described data processing method when the electronic device is run.
[0019] According to another aspect of the embodiments of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps of the above-described method.
[0020] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to execute the data processing method described above through the computer program.
[0021] Through the embodiments provided in this application, based on the fact that the input controls in the pre-configured visual programming process record historical input data, an association is created between the control data of the first control and the control data of the target associated control. This allows the historical control data of the target associated control to be displayed on the programming screen when a trigger operation is performed on the first control, making it convenient for the user to directly view and select the target data that meets the requirements. In other words, by creating an association between the input data of the controls, during the actual programming process, the historical control data of the target associated control that is related to the first control is directly displayed on the programming screen when the first control is triggered, reducing the number of user operations and avoiding repeated input of control data when performing the same event. This achieves the technical effect of reducing the complexity of user operations during visual programming. Attached Figure Description
[0022] The accompanying drawings, which are provided to further illustrate this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application.
[0023] Figure 1 This is a schematic diagram illustrating an application scenario of an optional data processing method according to an embodiment of this application;
[0024] Figure 2 This is a flowchart of an optional data processing method according to an embodiment of this application;
[0025] Figure 3 This is a specific example of an optional data processing method according to an embodiment of this application;
[0026] Figure 4 This is a schematic diagram illustrating an optional method for obtaining historical control data according to an embodiment of this application;
[0027] Figure 5 This is a schematic diagram of an optional block parameter configuration according to an embodiment of this application;
[0028] Figure 6 This is a schematic diagram of an optional control input information table according to an embodiment of this application;
[0029] Figure 7 This is a schematic diagram of an optional control for inputting data and recording historical data according to an embodiment of this application;
[0030] Figure 8 This is a schematic diagram of another optional control for inputting data and recording historical data according to an embodiment of this application;
[0031] Figure 9This is a schematic diagram illustrating an optional method of updating and displaying historical control data based on the maximum amount of historical data according to an embodiment of this application;
[0032] Figure 10 This is a flowchart of an optional backend implementation process for obtaining historical data of an input control according to an embodiment of this application;
[0033] Figure 11 This is a flowchart of an optional backend implementation process for obtaining valid input values of a control according to an embodiment of this application;
[0034] Figure 12 This is a flowchart of an optional post-processing procedure after the input control data is completed, according to an embodiment of this application.
[0035] Figure 13 This is a flowchart of an optional post-processing procedure after deleting a control, according to an embodiment of this application;
[0036] Figure 14 This is a schematic diagram of the structure of an optional data processing apparatus according to an embodiment of this application;
[0037] Figure 15 This is a schematic diagram of the structure of an optional electronic device according to an embodiment of this application. Detailed Implementation
[0038] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0039] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0040] The technical solutions in this application will comply with legal regulations during implementation. When performing operations according to the technical solutions in the embodiments, the data used will not involve user privacy, ensuring that the operation process is compliant and legal while guaranteeing data security.
[0041] In addition, when the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant regulations and standards of the relevant countries or regions.
[0042] According to one aspect of the embodiments of this application, a data processing method is provided. As an optional implementation, the above-described data processing method may be applied, but is not limited to, to applications such as... Figure 1 The application scenarios shown are as follows. In, for example... Figure 1 In the application scenario shown, the target terminal 102 can communicate with the server 106 via network 104, but is not limited to this. The server 106 can perform operations on the database 108, such as write or read data operations. The target terminal 102 may include, but is not limited to, a human-computer interaction screen, a processor, and a memory. The human-computer interaction screen may be used to display a programming screen for a visual programming application on the target terminal 102, or to display the target execution result obtained by executing a target event using the programming screen. The processor may be used to respond to the human-computer interaction operation, execute the corresponding operation, or generate corresponding instructions and send the generated instructions to the server 106. The memory is used to store relevant processing data, such as code segments carried by the first data block, historical control data, and target execution results.
[0043] Optionally, in this embodiment, the target terminal can be a terminal configured with a target client, which may include, but is not limited to, at least one of the following: mobile phone (such as Android phone, iOS phone, etc.), laptop computer, tablet computer, PDA, MID (Mobile Internet Devices), PAD, desktop computer, smart TV, etc. The target client may be a video client, instant messaging client, browser client, educational client, etc. The network may include, but is not limited to, wired network and wireless network, wherein the wired network includes: local area network, metropolitan area network and wide area network, and the wireless network includes: Bluetooth, WIFI and other networks that enable wireless communication. The server may be a single server, a server cluster composed of multiple servers, or a cloud server.
[0044] The technical solutions in this application embodiment can be applied, but are not limited to, visual programming solutions based on graphical interfaces. For example, for game events in a virtual game scene, by configuring the association between controls, when the user selects control 1 in the programming interface, the historical control data of control 2, which is associated with control 1, is automatically displayed on the programming screen. This allows the system to respond to target game events based on the target control data selected by the user from the historical control data. For example, if the user selects "Signal 1" from the historical control data, when the virtual character controlled by the target account defeats monster 1, the target account's experience points increase by 10; if the user selects "Signal 2" from the historical control data, when the virtual character controlled by the target account defeats monster 2, the target account's experience points increase by 20, and so on.
[0045] To address the issue of high user operation complexity during visual programming, this application proposes a data processing method. Figure 2 This is a flowchart of a data processing method according to an embodiment of this application, which includes the following steps S202 to S208.
[0046] It should be noted that the data processing methods shown in steps S202 to S208 can be, but are not limited to, executed by an electronic device. The electronic device can be, but is not limited to, [the following]. Figure 1 The target terminal or server shown.
[0047] Step S202: During the operation of the visual programming application, in response to the first trigger operation, a first control is displayed in the control display area of the programming screen, wherein the first control is matched with a first data block, and the first data block carries a code segment for executing the target event according to the first control logic;
[0048] Visual programming, also known as block programming, uses graphical blocks or modules to represent the logic and functionality of a program. It is a graphical interface-based programming method designed to reduce programming complexity, enabling non-professional developers to easily understand and create programs.
[0049] Graphical blocks can be, but are not limited to, a type of graphical block display code in a graphical programming tool, through which users can execute and run code that adds, combines, deletes, and adjusts parameters.
[0050] Visual programming applications provide users with a series of functional blocks, typically using input controls to receive user input as parameters, thus ensuring the flexibility and scalability of the block functionality. Visual programming applications offer a rich variety of input controls, such as text, numbers, colors, drop-down menus, etc. (referred to as controls).
[0051] Function blocks (which can also be understood as data blocks) contain code segments used to execute target events according to preset control logic. Each function block may contain, but is not limited to, one or more input controls.
[0052] Specifically, the number of input controls corresponding to a function block is determined based on the execution logic or combination of logic that can be implemented by the code segments in the function block. For example, for a function block that carries the login process for a target application based on account authentication information, it may include, but is not limited to, control 1 for carrying the account information input process and control 2 for carrying the password information input process.
[0053] Step S204: In response to the second trigger operation, add a display target associated control in the control display area, wherein the first control and the target associated control have a pre-configured association relationship, and the target associated control records historical control data input through the programming screen;
[0054] Step S206: In response to the third trigger operation on the first control, display historical control data in the data display area of the programming screen;
[0055] Step S208: Select target control data from historical control data, and execute the target event according to the event description information identified by the target control data to obtain the target execution result.
[0056] In related technologies, input controls are all stateless, meaning that there is no connection between each input from the user, and it is impossible to obtain the user's valid input value in real time. Especially in some related blocks, stateless input controls are used, which makes programming very difficult.
[0057] To address the aforementioned issues, this application embodiment implements a background process that enables input controls (also known as controls) in visual programming applications to record user input. For example, such as Figure 3 As shown, assuming that when the function block contains code segments for implementing the account login process, if the user has entered control data 1 "sky0820" and control data 2 "tony0203" for the second control in the historical period, control data 1 and control data 2 will be recorded when the control's recording function is enabled.
[0058] When the user edits the visual programming module used for the account login process again via the second control of the function block, in response to a triggering operation on the second control (e.g., a click), in... Figure 3The data display area shown in (a) (which can also be understood as) displays the historical control data of the second control data, where control data 1 "sky0820" corresponds to account 1 and control data 2 "tony0203" corresponds to account 2.
[0059] Responding to user actions such as Figure 3 The trigger operation is performed in the interface shown in (b). The user can select the target control data from the data display area as needed (e.g., select control data 1), avoiding the user having to enter the control data 1 of the second control again, thus simplifying the user operation process.
[0060] If the functionality of the building blocks is enabled to record historical data through backend implementation, assuming the first control is as follows: Figure 4 When using a signal receiving control in the form of an input box as shown in (a), by adding an operation, in such a way... Figure 4 Add four associated controls (hereinafter referred to as sending controls) that are related to the first control to send custom signals to the programming screen shown in (b).
[0061] Assume that each of the four sending controls has recorded corresponding historical data. For example, the historical data of sending control 1 is signal 4, the historical data of sending control 2 is signal 5, the historical data of sending control 3 is signal 6, and so on.
[0062] like Figure 4 As shown in (c), in response to a click on the first control (the control receiving the signal), the historical control data of the four sending controls associated with the first control are displayed first in the programming screen. Then, depending on the actual situation, the user can directly select the target control data from the historical control data, execute the receiving event according to the event description information identified by the target control data, and generate the target execution result according to the received control data.
[0063] For example, assuming based on Figure 4 The target event that can be achieved by the control data of the receiving control and the control data of the sending control shown is to increase the experience value of the target account based on the monster defeated by the virtual character controlled by the target account. Specifically, the control data of the receiving control indicates that the virtual character successfully defeats the monster, the historical data 1 "signal 4" of sending control 1 indicates that the experience value of the target account will be increased by 10, the historical data 2 "signal 5" of sending control 2 indicates that the experience value of the target account will be increased by 20, the historical data 3 "signal 6" of sending control 3 indicates that the experience value of the target account will be increased by 50, and the historical data 4 "signal 7" of sending control 4 indicates that the experience value of the target account will be increased by 100.
[0064] Suppose that the monster successfully defeated by the virtual character is of type 1, the user can select the target control data (e.g., signal 4) that matches the type 1 monster from the historical control data based on the pre-configured relationship between control data, thereby increasing the experience value of the target account by 10.
[0065] As can be seen, when a target event is executed through a set of related controls according to the same first control logic, different execution results are produced based on different input values (control data) of the set of controls (for example, different amounts of experience points are added depending on the type of monster defeated).
[0066] In other words, when the first data block contains code segments for executing the target event (defeating target type monsters, increasing target experience points) according to the first control logic (defeating different types of monsters, increasing target experience points), the historical control data of the target associated controls that are related to the first control are obtained based on the control data of the first control, and the historical control data is displayed on the programming screen. Users can directly select the target control data that matches the control data of the first control, solving the problem of redundant operation flow caused by users repeatedly inputting the same control data through multiple trigger operations when executing the same event, thus improving the operational efficiency of visual programming.
[0067] As an optional example, in response to the second triggering operation, the above-described method adds a display target associated control to the control display area, including:
[0068] In response to a second trigger action on the target action button in the toolbar, display the associated controls from the candidate associated control set;
[0069] In response to the fourth trigger operation on the associated control in the candidate associated controls, add the target associated control to the control display area.
[0070] To find the target associated control that is related to the first control, you need to click the toolbar in the programming screen and select the target operation button in the toolbar. Multiple controls are pre-configured for the target operation button.
[0071] In response to trigger operations on multiple controls, the required controls are added and displayed sequentially on the programming screen, for example, such as... Figure 4 As shown in (b), drag and drop the four send controls into the control display area in sequence.
[0072] After the target associated control is added and displayed in the programming screen, the historical control data of the target associated control is obtained sequentially according to the triggering operation in the above embodiment, and then the target event is executed according to the first control logic by running the code segment carried by the first data block.
[0073] As an optional example, the above method further includes, before displaying historical control data in the data display area of the programming screen in response to a third triggering operation on the first control:
[0074] In response to the fifth trigger operation on the target associated control, obtain the attribute information of the target associated control;
[0075] If the property information of the target associated control indicates that the data recording function has been enabled, by traversing the historical control data list, obtain M control data that match the data length field in the property information, where M is a positive integer greater than or equal to 1;
[0076] In response to a third trigger operation on the target associated control, display M control data in the data display area, where the historical control data includes M control data.
[0077] In this embodiment, one functional block corresponds to one JSON file. This correspondence is achieved by defining the attributes and behaviors of the functional block. The JSON file contains information such as the type, fields, inputs, and outputs of the functional block, which defines the block's representation and functionality in the visual programming tool.
[0078] For example, in visual programming tools (such as Blockly), the appearance and behavior of functional blocks can be customized through developer tools. The appearance of the blocks can be controlled through Blockly's Block Factory, while the behavior is defined by writing JavaScript code. After the design is complete, the custom blocks can be exported as JSON files and then loaded into the Blockly project, making the custom blocks usable in the Blockly editor.
[0079] Specifically, the JSON file defining the functional blocks mainly includes type, message, extension, and color. Among them, type is the unique identifier of the block; message can be, but is not limited to, text or image displayed on the block; extension can be, but is not limited to, defining the extended functions of the block, such as the type and quantity of input and output; color is used to distinguish different block types.
[0080] In practical applications, developers can customize functional blocks as needed and configure their properties and behaviors through JSON configuration files. When users drag and drop and combine blocks in a visual programming environment, they are actually manipulating the logic and functionality defined in the corresponding JSON configuration files.
[0081] like Figure 5As shown in (a), the basic configuration of a functional block (referred to as a block) includes the block type and parameter list. The block type includes strings, numbers, etc., and the block parameter configuration is as follows: Figure 5 As shown in (b), including but not limited to the parameter types and parameter names of the blocks.
[0082] In this embodiment, to implement dynamic data controls based on user input, the block parameters are expanded, and additional parameters are added to the block structure, such as... Figure 5 The inputState attribute shown in (c) contains key data such as history, historySize, and focusKeys.
[0083] Among the extended attribute fields, history indicates whether the function of recording historical data of the control is enabled, historySize indicates the maximum number of historical input data to be recorded (e.g., 6, 7, etc.), and focusKeys indicates which related controls' valid inputs the currently operated control is focusing on. For example, if it includes the selfKey of control A, it means that the currently operated control can dynamically collect the valid input values of control A.
[0084] To store the control's historical data, first define the following:
[0085] (1) A single input information of the control, denoted as valueRef, specifically includes the input value (control data) itself and the number of times the input value is used, refCount;
[0086] (2) The input information associated with each selfKey is denoted as inputValueRef. Among them, selfKey can be used to identify the ID of the control, valueRefs represents all the input values stored in a single control, and valueQueue represents the order of the input value list dynamically adjusted according to the latest input time.
[0087] (3) The input information associated with each type of control is denoted as typeInputValue, for example, all input values of each string control;
[0088] (4) Input information for all types of controls, denoted as inputHistoryData. The attribute information of this field includes values (representing the input values of all types of controls).
[0089] Using the fields defined above, construct a storage structure for storing the historical input values (historical data or historical control data) of the control, and generate a data structure based on this storage structure. Figure 6The table shown can be used to query the data input status of each control, but is not limited to this table.
[0090] For example, suppose we configure the input control of the "Send Custom Signal" block in the background. Specifically, we configure the history and historySize fields of the block. The value of the history field is used to determine whether to enable the input control's historical data. When the history field is true, it means that the input control's historical data is enabled; otherwise, it is not enabled.
[0091] The value of the historySize field indicates the maximum number of historical data that can be recorded. For example, when the value of this field is 6, it means that the maximum number of historical data that can be recorded at one time is 6.
[0092] Based on the values of the history and historySize fields in the attribute information of the target associated control, it is determined that the data recording function of the target associated control has been enabled, and the maximum number of historical input data that can be recorded is 6. If the user has entered a total of 3 control data within the historical period, then these 3 control data will be displayed in the data display area of the compiled screen.
[0093] For example, suppose the target associated control is as follows: Figure 7 The control shown in (a) that sends a custom signal can, but is not limited to, obtain historical control data (which can also be understood as historical input values) of the target associated control in the following ways.
[0094] (1) Upon first clicking the target associated control of the text type, i.e. the control that sends a custom signal, the right panel is pulled up and the text input area is displayed;
[0095] like Figure 7 As shown in (a), since the target associated control of this text type has not been populated with a value (i.e., there is no historical input value), the first panel corresponding to the string button is displayed by default. The content displayed in the first panel includes the text input area.
[0096] (2) Input signal 1 in the text input area and backfill signal 1 into the target associated data;
[0097] like Figure 7 As shown in (b), since the data recording function of the target associated control has been enabled, signal 1 is added to the historical control data list of the target associated control through this operation.
[0098] (3) Click the target associated control, and the historical control data "signal 1" entered in the above steps will be displayed first in the programming screen;
[0099] It should be noted that since historical input values already exist, the right panel will default to the "My Data" option in step (3). For details, please refer to... Figure 7 As shown in (c).
[0100] (4) When new data needs to be entered again, it can be done through methods such as Figure 8 As shown in (d), enter the new control data "signal 2" in the text input area;
[0101] (5) Fill “Signal 2” back into the target associated control, and add “Signal 2” to the historical control data list of the target associated control;
[0102] (6) In response to the trigger operation of the target associated control again, pull up the display content corresponding to the option [My Data], that is, display the two historical control data "Signal 1" and "Signal 2".
[0103] Since historical input values already exist, the right panel will default to "My Data" and display historical control data, showing Signal 2 and Signal 1 in order of most recent input time, as shown in the example below. Figure 8 As shown in (e).
[0104] In this way, when operating on the input value of the target associated control during the programming process, the user can directly select the target control data from the historical control data of the target associated control displayed in the programming screen, avoiding the user's repeated input of the same control data, saving operation time and simplifying the operation process.
[0105] As an optional example, the above iterates through the list of historical control data to obtain M control data that match the data length field in the attribute information, including:
[0106] In response to continuous triggering operations on the target associated control, N control data are input sequentially at N time points, and the N control data are recorded in the target associated control, where N is a positive integer greater than or equal to M;
[0107] Based on the chronological order of N time points, traverse the historical control data list to obtain the M control data entered at the M earliest time points.
[0108] As described in the above embodiments, when a target associated control is continuously triggered and multiple control data are entered sequentially, it is also necessary to update and display the historical control data of the target associated control by comparing the number of historical control data already entered with the value of the pre-configured field historySize.
[0109] Assuming the pre-configured value of the historySize field is 6, such as... Figure 9 As shown in (a), signals 1 to 6 were input sequentially at different time points, which means that the historical control data of the target associated control includes signals 1 to 6.
[0110] When you click to send a custom signal control, the right panel "My Data" will pop up, and the six most recently entered historical control data signals 1 to 6 will be displayed in order of the most recent input time.
[0111] When a custom signal control is triggered, and the amount of historical control data entered is greater than or equal to the total amount of control data that can be recorded (i.e., the value of the historySize field), then... Figure 9 As shown in (b), enter the new control data "signal 7" and populate it back into the send custom signal control.
[0112] Then the historical control data already recorded in the target control data list will be updated. For example, assuming that the number of historical data records is equal to the value t of the historySize field, when a new control data is entered, the oldest historical data will be deleted according to the order of the time points of the previous t historical data, and the latest input control data will be filled back into the target control's target control data list.
[0113] For example, assuming the number of recorded historical data is less than the value t of the historySize field, when new control data is entered, the latest entered control data is populated back into the target control's target control data list, and the number of the latest entered controls is displayed in the data display area of the visual programming application.
[0114] In this embodiment, since the latest input control data is only "Signal 7", the earliest time point "Signal 1" is deleted, and the latest recorded control data "Signal 7" is added to the end of the historical control data list. In other words, "Signal 7" is displayed at the first position in the historical control data sequence on the programming screen. See [link / reference] for details. Figure 9 As shown in (c).
[0115] The above method can create a correlation between multiple user inputs, and when obtaining the input value of the same control, it can directly select historical data that meets the current needs from the pre-recorded historical control data, avoiding manual repetitive input and improving operation efficiency.
[0116] When a custom signal control is triggered, and the amount of historical control data entered is less than the total number of control data records allowed (the value of the historySize field), if new control data is entered again, the currently entered historical control data can be displayed in, but is not limited to, the following ways:
[0117] If it is determined that the data recording function of the target associated control has been enabled, in response to the fourth trigger operation, the i-th control data entered in the data input box is determined as the i-th value of the target data field, and the i-th control data is recorded in the historical control data list. Here, the target data field is the field in the historical control data list that corresponds to the control identifier of the target associated control, and i is a positive integer greater than or equal to 1 and less than M.
[0118] In some embodiments, when the target associated control has not been filled with input data and the historySize is pre-configured to be M, the data of the first to Mth controls are sequentially filled back into the historical control data list of the target associated control by continuously triggering the target associated control.
[0119] In other words, for an input control, multiple control data can be input, but not limited to, and M control data can be recorded according to the maximum allowed number of records M.
[0120] To more clearly understand the implementation process of obtaining historical control data of the target associated control, the following will combine... Figure 10 The flowchart shown further describes the process from the perspective of backend implementation.
[0121] S1002, click inputA;
[0122] S1004, retrieve the configuration properties associated with the input control inputA;
[0123] The configuration properties associated with the input control inputA include, but are not limited to, type, selfKey, history, and historySize. type indicates the type of input control (e.g., text, dropdown list, etc.), selfKey is used to identify the ID of the control, history indicates whether the function of recording historical data of the control is enabled, and historySize indicates the maximum number of historical input data to be recorded.
[0124] S1006, Determine if the value of the history field is true;
[0125] If yes, then confirm that the data recording function is enabled and proceed to step S1008; otherwise, it means that the data recording function is not enabled and the process ends.
[0126] S1008, iterate through the values list of inputHistoryData and find the typeInputValue that meets the condition based on type;
[0127] The typeInputValue that meets the criteria based on type will be set as targetA.
[0128] S1010, determine whether typeInputValue is found;
[0129] If found, proceed to step S1012; otherwise, end the process.
[0130] S1012, based on selfKey, find the target inputValueRef from typeInputValue;
[0131] Here, typeInputValue represents the input information associated with each control of type type, and inputValueRef represents the input information associated with each selfKey.
[0132] The process of finding the target inputValueRef from typeInputValue based on selfKey is set as targetB.
[0133] S1014, Determine if inputValueRef is found;
[0134] If the match is found, proceed to step S1016; otherwise, end the process.
[0135] S1016: Retrieve at most the first historySize values from inputValueRef.ValueQueue and add the retrieved values to historyList;
[0136] Specifically, it iterates through the ValueQueue list of targetB, takes the first historySize data values, and records them in historyList. If there are fewer than historySize values, it takes all the values.
[0137] `ValueQueue(string list)` dynamically adjusts the order of input values according to their input time. `inputValueRef.ValueQueue` sorts the input values of `inputValueRef` according to their input time. For example, ... Figure 9 As shown in (c), the latest input signal 7 is placed before signal 6.
[0138] S1018, Display the history list corresponding to inputA in the programming screen.
[0139] As an optional example, the above response to a third trigger operation on the first control, displaying historical control data in the data display area of the programming screen, includes:
[0140] In response to a third trigger operation on the first control, the property information of the first control is retrieved from the control input information table;
[0141] If the attribute information of the first control includes an association identifier field, historical control data is obtained based on the key attribute field that matches the association identifier field. The association identifier field indicates that an associated control with a mapping relationship with the first control is pre-configured.
[0142] Historical control data is displayed in the data display area of the programming screen.
[0143] Suppose we configure the target associated control, for example, to mark the control as following all valid inputs with the selfKey set to "sendSignal". Here, selfKey is used to mark the key of the control, and each control's selfKey should be as unique as possible.
[0144] Assuming the first control is the "Receive Signal" control, and the focusKey configured for the "Receive Signal" control includes the selfKey of the "Send Signal" control, it means that the input control of the "Receive Signal" block will dynamically collect all input values from the "Send Signal" controls as valid input.
[0145] For example, when the focusKey configured for the "Receive Signals" control contains the selfKey of control A, it indicates that the "Receive Signals" control can dynamically collect valid input values from control A. The focusKey field is used to mark which associated controls' valid inputs this control is focusing on. For details, please refer to the above examples. Figure 3 The details of the previous descriptions will not be repeated here.
[0146] It should be noted that the above-mentioned association identifier field is the focusKey field. The key attribute fields that match the association identifier field represent multiple attribute fields of the target associated control that are related to the first control, such as type, selfKey, etc.
[0147] As an optional implementation, the above method retrieves historical control data based on key attribute fields that match the associated identifier field, including:
[0148] Based on the first attribute field in the key attribute fields, obtain the first group of associated controls that match the control type of the first control, where the first attribute field is a field used to represent the control type;
[0149] Based on the second attribute field in the key attribute field, the first group of associated controls is filtered to obtain the second group of associated controls. The second attribute field is used to describe the control identifier of each associated control, and the second group of associated controls are the target associated controls.
[0150] Based on the associated control identifier of each associated control in the second group of associated controls, the control data corresponding to each associated control in the control input information table is traversed to obtain the historical control data.
[0151] When the first attribute field is type and the second attribute field is selfKey, the valid input value (targetList) of the first control can be obtained through the following steps, but not limited to:
[0152] S11, based on the type field, retrieve the first group of associated controls that are of the same type as the first control;
[0153] In this embodiment of the application, the two controls that are related have the same type.
[0154] S12, based on the selfKey field, filter the first group of associated controls to obtain the filtered second group of associated controls;
[0155] For example, matching based on selfKey yields a second set of associated controls that meet the criteria.
[0156] For example, suppose that the first group of associated controls obtained through step S11 includes control 1 (control identifier a), control 2 (control identifier b), control 3 (control identifier b), and control 4 (control identifier d).
[0157] Determine whether focusKeys contains the selfKey (control identifier) of other controls. Assume that focusKeys has a total of 3 associated controls, and the controls of the 3 associated controls are a, b and c respectively. Check whether each control identifier from a to c is in the first group of associated controls. If it is in the first group of associated controls, then determine it as a control in the second group of associated controls. That is, determine control 1, control 2 and control 3 as controls in the second group of associated controls.
[0158] It should be noted that focusKeys can exist in array form, but is not limited to. By iterating through each value in focusKeys as described above, the second set of associated controls can be obtained. In other words, by matching selfKey, a second set of associated controls that matches the control ID (which can also be understood as the control identifier) of the first control can be obtained.
[0159] S13. Based on the associated control identifier of each associated control in the second group of associated controls, traverse the control input information table to obtain historical control data.
[0160] As another optional implementation, the above method of obtaining historical control data based on key attribute fields that match the associated identifier field also includes:
[0161] S21, based on the type field, retrieve the first group of associated controls that are of the same type as the first control;
[0162] In this embodiment of the application, the two controls that are related have the same type.
[0163] S22, Based on the selfKey field, filter the first group of associated controls to obtain the filtered second group of associated controls;
[0164] For specific implementation details, please refer to the description in the above embodiments, which will not be repeated here.
[0165] S23, determine whether the usage frequency of the control data of each associated control in the second group of associated controls is greater than 0, and determine the above historical control data based on the judgment result, that is, determine the valid input value of the first control.
[0166] Specifically, the control data of one of the associated controls in the second group is determined as a valid input value of the first control (historical control data of the first control) only when the frequency of use of the control data of the associated control is greater than 0.
[0167] As an optional example, the above method, based on the associated control identifier of each associated control in the second group of associated controls, iterates through the control data corresponding to each associated control in the control input information table to obtain historical control data, including:
[0168] The following steps are used to obtain the j-th group of control data from the historical control data, where j is a positive integer greater than or equal to 1:
[0169] Based on the identifier of the j-th associated control, determine the j-th associated control in the second group of associated controls;
[0170] Find the j-th group of control data corresponding to the j-th associated control from the control input information table. The historical control data includes the j-th group of control data.
[0171] Based on the associated control identifier of each associated control in the second group of associated controls, a set of control data corresponding to each associated control identifier is searched from the input information table, and the multiple sets of control data found in sequence are determined as historical control data, that is, as valid input values of the first control.
[0172] like Figure 4 As shown, assuming that four "Send Custom Signal" controls associated with the "Receive Signal" control are determined based on selfKey, the historical data (historical input value) corresponding to the current "Send Custom Signal" control is found based on the control identifier of each "Send Custom Signal" control, and used as a set of control data.
[0173] Using the same method, a total of 4 sets of control data corresponding to the 4 "Send Custom Signal" controls were found, and these 4 sets of control data were identified as historical control data.
[0174] Using the above method, when the control logic of the functional block is to receive data sent by the sending end, it is not necessary to repeatedly query which objects are on the sending end or what each sending object is sending each time a receiving task is executed. Instead, it can directly receive the control data of the four "Send Custom Signal" controls based on the pre-configured association between the "Send Custom Signal" control and the "Receive Signal" control.
[0175] Therefore, it can be seen that the technical solution in this application embodiment can quickly build the association between data between controls based on simple backend configuration, reduce the difficulty of user input operation, and achieve the technical effect of conveniently and quickly obtaining effective input from controls.
[0176] As an optional implementation, the above-mentioned method of retrieving the j-th group of control data corresponding to the j-th associated control from the control input information table includes:
[0177] Based on the j-th associated control, find the j-th set of initial control data for the j-th associated control from the control input information table;
[0178] Sequentially retrieve each initial control data from the j-th group of initial control data as the current control data;
[0179] If the usage frequency of the current control data is greater than 0, the current control data is determined as the valid input data of the j-th associated control, where the j-th group of control data includes the valid input data of the j-th associated control.
[0180] As can be seen from the description in the above embodiments, the input data of a control may be one or multiple. Therefore, in the process of obtaining the valid input data of the first control, in addition to filtering the data of the associated controls layer by layer based on type, selfKey and the frequency of use of the control data, it is also possible to control it again based on the frequency of use of the input data of each control.
[0181] In this context, a higher frequency of use for control data indicates a higher usage frequency or a higher weight among all control data. In other words, the frequency of use of control data reflects its importance to the user.
[0182] Therefore, after filtering the data of associated controls layer by layer based on type, selfKey and the frequency of use of control data, it is further determined whether the frequency of use of each historical data in multiple historical data of an associated control is greater than 0. If so, the historical data is determined as the valid input data of the associated control.
[0183] To more clearly understand the specific implementation process of retrieving historical control data, the following will combine... Figure 11 This will be further explained from the perspective of backend implementation.
[0184] S1102, click inputA;
[0185] S1104, Get the configuration properties associated with the input control inputA;
[0186] The configuration properties associated with the input control inputA include, but are not limited to, type, focusKeys, etc.
[0187] S1106, Iterate through the values list of inputHistoryData and find the typeInputValue that meets the condition based on type;
[0188] If a matching typeInputValue is found, the matching typeInputValue will be set as targetA. If no matching typeInputValue is found, the process ends.
[0189] S1108, Determine if there exists a typeInputValue that meets the conditions;
[0190] If it exists, proceed to step S1110; otherwise, proceed to step S1112.
[0191] S1110, iterate through each value (set as key) in the associated identifier field focusKeys, and determine whether the iteration has ended;
[0192] If the process is not completed, proceed to step S1114; otherwise, proceed to step S1112.
[0193] S1112, Display targetList;
[0194] S1114, iterate through each value of focusKeys and denote it as key;
[0195] The specific process of performing a query operation for each key is as follows: steps S1116 to S1120.
[0196] S1116, for typeInputValue, find the target inputValueRef based on selfKey;
[0197] Here, typeInputValue represents the input information associated with each control of type type, and inputValueRef represents the input information associated with each selfKey.
[0198] Based on selfKey, the target inputValueRef will be searched for in typeInputValue and set to targetB. If not found, the next key will be executed until all keys in focusKeys have been traversed.
[0199] S1118, Determine if inputValueRef is found;
[0200] If found, proceed to step S1120; otherwise, proceed to step S1110.
[0201] S1120: Iterate through inputValueRef.valueRefs, retrieve valid values, and add them to targetList.
[0202] Specifically, iterate through the valueRefs of targetB, and for each valueRef (let's call it valueRef), perform the following operation:
[0203] If valueRef.refCount > 0, add valueRef.value to targetList; then proceed to the next key, until all keys in focusKeys have been traversed.
[0204] As an optional example, the above method also includes:
[0205] In response to the sixth trigger operation on the first control, the first control data of the first control is entered in the data input box of the programming screen;
[0206] The target usage frequency field corresponding to the first control data is found in the control input information table. The target usage frequency field is used to indicate the number of times the first control data is associated and used during the operation of the visual programming application.
[0207] Increment the target usage frequency field by 1.
[0208] For example, such as Figure 7 As shown in (b), whenever the user enters "signal1" once in the programming screen, the valueRef.refCount field of the control data "signal1" will increase by 1.
[0209] Similarly, as Figure 8 As shown in (d), whenever the user enters "signal2" once in the programming screen, the valueRef.refCount field of the control data "signal2" will increase by 1.
[0210] The following is combined with Figure 12 The flowchart shown describes the processing of the above increment operation from the perspective of the backend implementation.
[0211] S1202, click inputA;
[0212] S1204, retrieve the value of the input control inputA, and the control properties;
[0213] Control properties include, but are not limited to, type and focusKeys.
[0214] S1206, iterate through the values list of inputHistoryData and find the typeInputValue that meets the condition based on type;
[0215] If a matching typeInputValue is found, the matching typeInputValue will be set as targetA. If no matching typeInputValue is found, the process ends.
[0216] S1208, Check if typeInputValue exists;
[0217] If it exists, proceed to step S1212; otherwise, proceed to step S1210.
[0218] S1210, Create a new typeInputValue;
[0219] That is, in such Figure 7 As shown in (a), when the first data is entered by clicking the "Send Custom Signal" control for the first time, a new typeInputValue corresponding to the control needs to be created.
[0220] S1212, for typeInputValue, find the target inputValueRef based on selfKey;
[0221] Specifically, it iterates through the refs list of targetA, finds the matching inputValueRef based on selfKey, and sets the matching inputValueRef as targetB; if no matching inputValueRef is found, a new targetB is created based on selfKey.
[0222] S1214, Determine if inputValueRef exists;
[0223] If it exists, proceed to step S1218; otherwise, proceed to step S1216.
[0224] S1216, Create a new inputValueRef;
[0225] If no matching inputValueRef is found, a new inputValueRef is created based on selfKey.
[0226] S1218, add the value to the end of inputValueRef.valueQueue;
[0227] Specifically, it retrieves the valueQueue from targetB. If the value exists in the valueQueue list, it moves the value to the end of the valueQueue; otherwise, it adds the value to the end of the valueQueue.
[0228] In this step, whether you move the value to the end of the valueQueue or add the value to the end of the valueQueue, the front-end will always display the data entered later at the beginning of the existing data sequence. This is because, by default, the information entered later is considered more important to the user.
[0229] S1220, for inputValueRef.valueRef, increment the reference count (which can also be understood as the frequency of use) of the corresponding value by 1.
[0230] Specifically, it iterates through the valueRefs of targetB, searches for the valueRef item corresponding to the value, and if found, increments refCount by 1; if not found, creates a new valueRef and sets the refCount corresponding to the value to 1.
[0231] In addition to incrementing the refCount of the first input control data by 1 when the first control data is entered, it also includes, for example: Figure 13 The post-processing flow shown after deleting the first control (or control inputA) specifically includes:
[0232] S1302, click inputA;
[0233] S1304, Get the value of the input control inputA, and the control properties;
[0234] Control properties include, but are not limited to, type and focusKeys.
[0235] S1306, Iterate through the values list of inputHistoryData and find the typeInputValue that meets the condition based on type;
[0236] If a matching typeInputValue is found, the matching typeInputValue will be set as targetA. If no matching typeInputValue is found, the process ends.
[0237] S1308, Check if typeInputValue exists;
[0238] If it exists, proceed to step S1310; otherwise, terminate the process.
[0239] S1310, for typeInputValue, find the target inputValueRef based on selfKey;
[0240] Specifically, the process involves iterating through the refs list of targetA, finding a matching inputValueRef based on selfKey, and setting that process to targetB; if no matching inputValueRef is found, the process ends.
[0241] S1312, Determine if an inputValueRef item exists;
[0242] If it exists, proceed to step S1314; otherwise, terminate the process.
[0243] S1314, for inputValueRef.valueRef, decrement the reference count of the corresponding value by 1.
[0244] As can be seen from the descriptions of the above embodiments, each control is configured with multiple attribute fields, and the data relationship between controls is simply configured and built through the values corresponding to each attribute field, thereby reducing the difficulty of input operations for users when programming with blocks.
[0245] In a specific embodiment, assuming the target event is a virtual monster defeated by a virtual character controlled by a target account, the target account's experience points are increased by a corresponding amount. The specific implementation process includes:
[0246] When the target event is a task type based on the completion of a task performed by a virtual character, and the virtual experience value of the target account is increased, in response to the completion of the target task by the virtual character, target control data matching the target task is selected from the historical control data, where the target account is the account that controls the virtual character to perform operations in the virtual scene;
[0247] Based on the target experience value identified by the target control data, adjust the target account's experience value from the current experience value to the sum of the current experience value and the target experience value.
[0248] In actual programming, assume that the first data of control 1 represents the type of virtual monster defeated by the virtual character, and the second data of control 2 represents the amount of experience points gained by the target account.
[0249] Assume the first data includes two values: when the virtual character defeats a first-type virtual monster and when it defeats a second-type virtual monster. The second data includes two values: experience points increased by 10 and experience points increased by 20. In actual programming, by creating a relationship between the values of the first and second data, when obtaining a valid input value for control 1, the target data will be directly selected based on the second data of control 2, which is automatically displayed on the programming screen.
[0250] In other words, in practical application scenarios, by utilizing the data recording function of the input controls in the blocks, as well as the pre-built relationships between control data, user input operations can be reduced, operation steps can be simplified, and the technical effect of improving the efficiency of visual programming can be achieved.
[0251] In addition to the solutions described in the above embodiments, the following processes can also be achieved using the technical solutions in the embodiments of this application:
[0252] For the target block, assuming there exists a first logic and a second logic corresponding to the target control logic implemented in the code segment it carries, where the first logic enables data sending and the second logic enables data receiving, then set up a first set of controls and a second set of controls corresponding to the target block.
[0253] Assuming that before using the technical solution in this application embodiment, the first logic is to receive user input data and then send the user input data; in response to the instruction of the data receiving signal, the second logic executes the following steps in order to receive the data sent by the sending end:
[0254] (1) Locate all controls in the first group whose type is "Send Signal";
[0255] (2) Determine which controls have executed the send command;
[0256] (3) For each control that has sent data, query what content it sent;
[0257] (4) Determine what data needs to be received;
[0258] (5) Receive some data sent by the control that sends the signal, as required.
[0259] In other words, when performing data sending and receiving tasks, multiple subroutines corresponding to the above steps (1) to (5) are written in the second part of the code corresponding to the second logic carried by the target block, which increases the workload of the user's background code writing and increases the complexity of the code structure carried by the target block.
[0260] However, by using the technical solution in the embodiments of this application, the process of sending and receiving data only needs to be simplified to the following three processing steps, that is, the developer only needs to write the corresponding subroutines for the three processing steps.
[0261] (1) Pre-configure the association between the input values of the first group of controls and the input values of the second group of controls;
[0262] (2) In response to the data receiving instruction, query a portion of the controls in the first group of controls that the kth control in the two groups of controls (used to receive data) is interested in;
[0263] (3) In response to the trigger operation performed on the k-th control, receive historical control data of some controls in the first group of controls.
[0264] By comparison, it can be found that, compared with the program segments of traditional data sending and receiving schemes, the technical solution in the embodiments of this application can simplify the processing flow of sending and receiving, that is, simplify the program structure of the code segments carried in the target building block, reduce code redundancy, and improve the efficiency of program writing.
[0265] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0266] According to another aspect of the embodiments of this application, as follows is also provided Figure 14 A data processing apparatus is shown, the apparatus comprising:
[0267] The first display unit 1402 is used to display a first control in the control display area of the programming screen in response to a first trigger operation during the operation of the visual programming application. The first control is matched with a first data block, and the first data block carries a code segment for executing a target event according to the first control logic.
[0268] The second display unit 1404 is used to add a display target associated control in the control display area in response to the second trigger operation, wherein the first control and the target associated control have a pre-configured association relationship, and the target associated control records historical control data input through the programming screen;
[0269] The third display unit 1406 is used to display historical control data in the data display area of the programming screen in response to a third trigger operation on the first control;
[0270] The first processing unit 1408 is used to select target control data from historical control data, execute target events according to the event description information identified by the target control data, and obtain the target execution result.
[0271] Optionally, the second display unit 1404 includes:
[0272] The first display module is used to display the associated controls in the candidate associated control set in response to a second trigger operation of the target operation button in the toolbar;
[0273] The second display module is used to add a display target associated control in the control display area in response to a fourth trigger operation on the associated control in the candidate associated control.
[0274] Optionally, the above-mentioned device further includes:
[0275] The first acquisition unit is used to acquire the attribute information of the target associated control in response to the fifth trigger operation of the target associated control before displaying historical control data in the data display area of the programming screen in response to the third trigger operation of the first control.
[0276] The second processing unit is used to obtain M control data that match the data length field in the attribute information when the attribute information of the target associated control indicates that the data recording function has been enabled, by traversing the historical control data list, where M is a positive integer greater than or equal to 1.
[0277] The fourth display unit is used to display M control data in the data display area in response to the third trigger operation on the target associated control, wherein the historical control data includes M control data.
[0278] Optionally, the second processing unit includes:
[0279] The first processing module is used to respond to continuous triggering operations on the target associated control, sequentially input N control data at N time points, and record the N control data into the target associated control, where N is a positive integer greater than or equal to M;
[0280] The second processing module is used to traverse the historical control data list based on the chronological order of N time points to obtain the M control data input at the M earliest time points.
[0281] Optionally, the above-mentioned device further includes:
[0282] The third processing unit, in response to the fourth trigger operation, determines the i-th control data entered in the data input box as the i-th value of the target data field when it is determined that the data recording function of the target associated control has been enabled, and records the i-th control data to the historical control data list. The target data field is the field in the historical control data list that corresponds to the control identifier of the target associated control, and i is a positive integer greater than or equal to 1 and less than M.
[0283] Optionally, the third display unit 1406 mentioned above includes:
[0284] The third processing module is used to respond to the third trigger operation on the first control and retrieve the attribute information of the first control from the control input information table;
[0285] The first acquisition module is used to acquire historical control data based on a key attribute field that matches the association identifier field when the attribute information of the first control contains an association identifier field. The association identifier field indicates that an associated control with a mapping relationship with the first control is pre-configured.
[0286] The third display module is used to display historical control data in the data display area of the programming screen.
[0287] Optionally, the first acquisition module mentioned above includes:
[0288] The first acquisition submodule is used to acquire the first set of associated controls that match the control type of the first control based on the first attribute field in the key attribute field. The first attribute field is a field used to represent the control type.
[0289] The first processing submodule is used to filter the first group of associated controls based on the second attribute field in the key attribute field to obtain the second group of associated controls. The second attribute field is a field used to describe the attributes of each associated control itself, and the second group of associated controls is the target associated controls.
[0290] The third processing submodule is used to traverse the control data corresponding to each associated control in the control input information table based on the associated control identifier of each associated control in the second group of associated controls, and obtain the historical control data.
[0291] Optionally, the first acquisition module mentioned above includes:
[0292] The fourth processing submodule is used to obtain the j-th group of control data from the historical control data through the following steps:
[0293] Based on the identifier of the j-th associated control, determine the j-th associated control in the second group of associated controls;
[0294] Find the j-th group of control data corresponding to the j-th associated control from the control input information table. The historical control data includes the j-th group of control data.
[0295] Optionally, the first acquisition module mentioned above includes:
[0296] The lookup submodule is used to find the j-th set of initial control data of the j-th associated control from the control input information table based on the j-th associated control;
[0297] The fifth processing submodule is used to sequentially obtain each initial control data from the j-th group of initial control data as the current control data;
[0298] The sixth processing submodule is used to determine the current control data as the valid input data of the j-th associated control when the usage frequency of the current control data is greater than 0. The j-th group of control data includes the valid input data of the j-th associated control.
[0299] Optionally, the above-mentioned device further includes:
[0300] The fourth processing unit is used to respond to the sixth trigger operation on the first control by inputting the first control data in the data input box of the programming screen;
[0301] The lookup unit is used to look up the target usage frequency field corresponding to the first control data from the control input information table. The target usage frequency field is used to indicate the number of times the first control data is associated and used during the operation of the visual programming application.
[0302] The fifth processing unit is used to increment the target usage frequency field by 1.
[0303] By applying the above-described device to the above-described method, and by creating a correlation between the input data of the controls, in the actual programming process, by triggering the first control, the historical control data of the target associated control that is related to the first control is directly displayed on the programming screen, reducing the number of user operations and avoiding repeated input of control data when executing the same event, thus achieving the technical effect of reducing the complexity of user operations in the process of visual programming.
[0304] It should be noted that the embodiments of the data processing device described here can refer to the embodiments of the data processing method described above, and will not be repeated here.
[0305] According to another aspect of the embodiments of this application, an electronic device for implementing the above-described data processing method is also provided. This electronic device may be... Figure 1 The target terminal or server is shown. This embodiment uses the electronic device as an example to illustrate the concept. Figure 15 As shown, the electronic device includes a memory 1502 and a processor 1504. The memory 1502 stores a computer program, and the processor 1504 is configured to execute the steps of any of the above method embodiments via the computer program.
[0306] Optionally, in this embodiment, the aforementioned electronic device may be located in at least one of a plurality of network devices in a computer network.
[0307] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:
[0308] S1, during the operation of the visual programming application, in response to the first trigger operation, the first control is displayed in the control display area of the programming screen, wherein the first control is matched with the first data block, and the first data block carries a code segment for executing the target event according to the first control logic;
[0309] S2, in response to the second trigger operation, add a display target associated control to the control display area, wherein the first control and the target associated control have a pre-configured association relationship, and the target associated control records the historical control data input through the programming screen;
[0310] S3, in response to the third trigger operation on the first control, displays historical control data in the data display area of the programming screen;
[0311] S4: Select the target control data from the historical control data, and execute the target event according to the event description information identified by the target control data to obtain the target execution result.
[0312] Alternatively, as those skilled in the art will understand, Figure 15 The structure shown is for illustrative purposes only. Figure 15 This does not limit the structure of the aforementioned electronic devices or electronic equipment. For example, electronic devices or electronic equipment may also include components that are more... Figure 15 The more or fewer components shown (such as network interfaces, etc.), or having the same Figure 15 The different configurations shown.
[0313] The memory 1502 can be used to store software programs and modules, such as the program instructions / modules corresponding to the data processing method and apparatus in this embodiment. The processor 1504 executes various functional applications and data processing by running the software programs and modules stored in the memory 1502, thereby implementing the aforementioned data processing method. The memory 1502 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1502 may further include memory remotely located relative to the processor 1504, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Specifically, the memory 1502 may be used, but is not limited to, to store historical control data, code segments corresponding to the first control logic, etc. As an example, such as... Figure 15As shown, the memory 1502 may include, but is not limited to, the first display unit 1402, the second display unit 1404, the third display unit 1406, and the first processing unit 1408 in the data processing device. Furthermore, it may include, but is not limited to, other module units in the data processing device, which will not be elaborated upon in this example.
[0314] Optionally, the transmission device 1506 described above is used to receive or send data via a network. Specific examples of the network described above may include wired networks and wireless networks. In one example, the transmission device 1506 includes a Network Interface Controller (NIC), which can be connected to other network devices and a router via a network cable to communicate with the Internet or a local area network. In another example, the transmission device 1506 is a Radio Frequency (RF) module, used for wireless communication with the Internet.
[0315] In addition, the aforementioned electronic device also includes: a display 1508 for displaying scene images of the aforementioned virtual three-dimensional scene and images of rendered virtual objects; and a connection bus 1510 for connecting various module components in the aforementioned electronic device.
[0316] In other embodiments, the target terminal or server can be a node in a distributed system, which can be a blockchain system. This blockchain system is formed by connecting multiple nodes through network communication. The nodes can form a point-to-point network, and any type of computing device, such as a server or target terminal, can become a node in the blockchain system by joining this point-to-point network.
[0317] According to another aspect of this application, a computer program product or computer program is provided, comprising 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 data processing methods provided in various optional implementations of the aforementioned server verification processing, wherein the computer program is configured to execute the steps in any of the above-described method embodiments at runtime.
[0318] Optionally, in this embodiment, the computer-readable storage medium described above may be configured to store a computer program for performing the following steps:
[0319] S1, during the operation of the visual programming application, in response to the first trigger operation, the first control is displayed in the control display area of the programming screen, wherein the first control is matched with the first data block, and the first data block carries a code segment for executing the target event according to the first control logic;
[0320] S2, in response to the second trigger operation, add a display target associated control to the control display area, wherein the first control and the target associated control have a pre-configured association relationship, and the target associated control records the historical control data input through the programming screen;
[0321] S3, in response to the third trigger operation on the first control, displays historical control data in the data display area of the programming screen;
[0322] S4: Select the target control data from the historical control data, and execute the target event according to the event description information identified by the target control data to obtain the target execution result.
[0323] Optionally, in embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0324] Optionally, in this embodiment, those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the target terminal. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0325] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0326] If the integrated units in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in the aforementioned computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods of the various embodiments of this application.
[0327] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0328] In the several embodiments provided in this application, it should be understood that the disclosed client can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or the indirect coupling or communication connection of units or modules may be electrical or other forms.
[0329] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0330] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0331] The above are merely preferred embodiments of this application. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A data processing method, characterized by, The method comprises the following steps: In the process of running the visual programming application, a first control is displayed in a control display area of a programming interface in response to a first trigger operation, wherein the first control matches a first data block, and the first data block carries a code paragraph for executing a target event according to a first control logic; In response to a second trigger operation, a target associated control is added and displayed in the control display area, wherein the first control and the target associated control have a preconfigured association relationship, and the target associated control records historical control data input through the programming interface; In response to a third trigger operation on the first control, the historical control data is displayed in a data display area of the programming interface; Target control data is selected from the historical control data, and a target event is executed according to event description information identified by the target control data, to obtain a target execution result.
2. The method of claim 1, wherein, The method further comprises the following steps: In response to a second trigger operation on a target operation button in a toolbar, an associated control in a candidate associated control set is displayed; In response to a fourth trigger operation on the associated control in the candidate associated control set, the target associated control is added and displayed in the control display area.
3. The method of claim 1, wherein, Before the historical control data is displayed in the data display area of the programming interface in response to the third trigger operation on the first control, the method further comprises the following steps: In response to a fifth trigger operation on the target associated control, attribute information of the target associated control is obtained; In a case where the attribute information of the target associated control indicates that a data recording function has been started, M control data matching a data length field in the attribute information are obtained by traversing a historical control data list, wherein M is a positive integer greater than or equal to 1; In response to a third trigger operation on the target associated control, the M control data are displayed in the data display area, wherein the historical control data comprises the M control data.
4. The method of claim 3, wherein, The method further comprises the following steps: In response to continuous trigger operations on the target associated control, N control data are input at N time points in sequence, and the N control data are recorded in the target associated control, wherein N is a positive integer greater than or equal to M; Based on the sequence of the N time points, the historical control data list is traversed to obtain the M control data input at the M time points in the front.
5. The method of claim 4, wherein, The method further comprises the following steps: In a case where it is determined that the data recording function of the target associated control has been started, in response to a fourth trigger operation, an i th control data input in a data input box is determined as an i th value of a target data field, and the i th control data is recorded in the historical control data list, wherein the target data field is a field corresponding to a control identifier of the target associated control in the historical control data list, and i is a positive integer greater than or equal to 1 and less than M.
6. The method of claim 1, wherein, The method further comprises: In response to a third triggering operation on the first control, displaying the historical control data in a data display area of the programming interface, including: In response to a third triggering operation on the first control, searching for attribute information of the first control from a control input information table; In a case where the attribute information of the first control contains an association identifier field, obtaining the historical control data based on a key attribute field matching the association identifier field, wherein the association identifier field indicates an associated control that is pre-configured to have a mapping relationship with the first control; 7. The method of claim 6, wherein, Displaying the historical control data in a data display area of the programming interface. The obtaining the historical control data based on the key attribute field matching the association identifier field includes: Based on a first attribute field in the key attribute field, obtaining a first set of associated controls matching a control type of the first control, wherein the first attribute field is a field for indicating a control type; Based on a second attribute field in the key attribute field, screening the first set of associated controls to obtain a second set of associated controls, wherein the second attribute field is used to describe a control identifier of each associated control, and the second set of associated controls is the target associated control; 8. The method of claim 7, wherein, Based on an associated control identifier of each associated control in the second set of associated controls, traversing control data corresponding to each associated control in the second set of associated controls in the control input information table to obtain the historical control data. The obtaining the historical control data based on the associated control identifier of each associated control in the second set of associated controls includes: The method further comprises: In response to a third triggering operation on the first control, displaying the historical control data in a data display area of the programming interface, including:
9. The method of claim 8, wherein, In response to a third triggering operation on the first control, searching for attribute information of the first control from a control input information table; In a case where the attribute information of the first control contains an association identifier field, obtaining the historical control data based on a key attribute field matching the association identifier field, wherein the association identifier field indicates an associated control that is pre-configured to have a mapping relationship with the first control; Displaying the historical control data in a data display area of the programming interface. The obtaining the historical control data based on the key attribute field matching the association identifier field includes:
10. The method according to any one of claims 1 to 9, characterized in that, Based on a first attribute field in the key attribute field, obtaining a first set of associated controls matching a control type of the first control, wherein the first attribute field is a field for indicating a control type; Based on a second attribute field in the key attribute field, screening the first set of associated controls to obtain a second set of associated controls, wherein the second attribute field is used to describe a control identifier of each associated control, and the second set of associated controls is the target associated control; Based on an associated control identifier of each associated control in the second set of associated controls, traversing control data corresponding to each associated control in the second set of associated controls in the control input information table to obtain the historical control data. The obtaining the historical control data based on the associated control identifier of each associated control in the second set of associated controls includes: The method further comprises: In response to a third triggering operation on the first control, displaying the historical control data in a data display area of the programming interface, including: In response to a third triggering operation on the first control, searching for attribute information of the first control from a control input information table; In a case where the attribute information of the first control contains an association identifier field, obtaining the historical control data based on a key attribute field matching the association identifier field, wherein the association identifier field indicates an associated control that is pre-configured to have a mapping relationship with the first control; Displaying the historical control data in a data display area of the programming interface. The obtaining the historical control data based on the key attribute field matching the association identifier field includes: Based on a first attribute field in the key attribute field, obtaining a first set of associated controls matching a control type of the first control, wherein the first attribute field is a field for indicating a control type; Based on a second attribute field in the key attribute field, screening the first set of associated controls to obtain a second set of associated controls, wherein the second attribute field is used to describe a control identifier of each associated control, and the second set of associated controls is the target associated control; Based on an associated control identifier of each associated control in the second set of associated controls, traversing control data corresponding to each associated control in the second set of associated controls in the control input information table to obtain the historical control data. The obtaining the historical control data based on the associated control identifier of each associated control in the second set of associated controls includes: The method further comprises: In response to a third triggering operation on the first control, displaying the historical control data in a data display area of the programming interface, including: In response to a third triggering operation on the first control, searching for attribute information of the first control from a control input information table; In a case where the attribute information of the first control contains an association identifier field, obtaining the historical control data based on a key attribute field matching the association identifier field, wherein the association identifier field indicates an associated control that is pre-configured to have a mapping relationship with the first control; Displaying the historical control data in a data display area of the programming interface. search, from a control input information table, a target usage frequency field corresponding to the first control data, wherein the target usage frequency field is used to indicate a number of times that the first control data is associatedly used in a running process of the visual programming application; perform a plus one operation on the target usage frequency field.
11. The method according to any one of claims 1 to 9, characterized in that, the target event according to the attribute parameter identified by the target control data, to obtain a target execution result, including: in a case where the target event is a task type of a task completed by a virtual character, and a virtual experience value of a target account is increased, in response to the virtual character completing a target task, selecting, from the historical control data, the target control data matched with the target task, wherein the target account is an account that controls the virtual character to perform an operation in a virtual scene; adjusting, according to a target experience value identified by the target control data, an experience value of the target account from a current experience value to a sum of the current experience value and the target experience value.
12. A data processing apparatus, characterized by including: a first display unit, configured to display, in a control display region of a programming picture, a first control in response to a first trigger operation in a running process of a visual programming application, wherein the first control is matched with a first data block, and the first data block carries a code paragraph used to execute a target event according to a first control logic; a second display unit, configured to add, in the control display region, a display of a target associated control in response to a second trigger operation, wherein the first control and the target associated control have a preconfigured association relationship, and the target associated control records historical control data input through the programming picture; a third display unit, configured to display, in a data display region of the programming picture, the historical control data in response to a third trigger operation on the first control; a first processing unit, configured to select, from the historical control data, target control data, and execute the target event according to event description information identified by the target control data, to obtain a target execution result.
13. A computer readable storage medium, characterized in that, The computer readable storage medium includes a stored program, wherein the program can be run by a terminal device or a computer to execute the method described in any one of claims 1 to 11.
14. A computer program product comprising computer programs / instructions, characterized in that, The computer program / instruction is executed by the processor to implement the steps of the method described in any one of claims 1 to 11.
15. An electronic device comprising a memory and a processor, characterized in that The memory stores a computer program, and the processor is configured to execute the method described in any one of claims 1 to 11 by using the computer program. The memory stores a computer program, and the processor is configured to execute the method described in any one of claims 1 to 11 by using the computer program.