Data processing method, device, equipment, storage medium and program product

By using domain-specific language files to describe the dependence between data nodes and data flows, and generating detailed designs, the problems of complex and high maintenance costs in the existing technology are solved, and the effect of simplifying the generation process and improving the effectiveness of data state management is achieved.

CN114416030BActive Publication Date: 2025-04-25BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111601301.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-24
Publication Date
2025-04-25
Estimated Expiration
2041-12-24

AI Technical Summary

Technical Problem

The prior art is complex in the process of detailed design generation, with high maintenance costs, and it is difficult to effectively manage data state changes and data dependencies.

Method used

By providing domain-specific language files, describing the dependencies between data nodes and data flows, generating detailed designs without the need for users to call special graphics structures, simplifying the generation process.

Benefits of technology

It realizes simplified the detailed design generation process, improves the effectiveness of data state management, and reduces operational complexity and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114416030B_ABST
    Figure CN114416030B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data processing method, device, equipment, storage medium and program product, which relate to the field of computer application technology, and in particular to the field of data processing technology for Web applications. The specific implementation scheme is: obtaining a domain-specific language file corresponding to a target application; generating a detailed design of the target application based on the domain-specific language file; the domain-specific language file is used to describe the dependency relationship between data nodes and data flows. The present disclosure can improve the effectiveness of data state management.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer application technology, and in particular to the field of data processing technology for Web applications. Background Art

[0002] Web applications are interactive, event-driven, asynchronous applications. Web application design requires software development. During the software design phase of software development, detailed designs need to be generated. The data interactions involved in detailed designs are increasing and becoming more complex, and there are relatively more dependencies and state changes between data.

[0003] Currently, detailed design generation is mainly based on manual management of state changes and data dependency checks. In addition, software design developers also have great demands for concise documentation and maintenance of detailed designs. Summary of the invention

[0004] The present disclosure provides a method, apparatus, device, storage medium and program product for data processing.

[0005] According to one aspect of the present disclosure, there is provided a data processing method, comprising:

[0006] Obtain a domain-specific language file corresponding to a target application; generate a detailed design of the target application based on the domain-specific language file; the domain-specific language file is used to describe the dependency relationship between data nodes and data flows; the data nodes are nodes mapped after the target application is split according to the running function, and the data flow is a directed graph representing the data flow direction between data nodes, and the data flow direction of the directed graph represents the dependency relationship between the data nodes when driving the target application to run; the detailed design includes the data nodes described in the domain-specific language file, and the dependency relationship between the data nodes and the data flow.

[0007] According to another aspect of the present disclosure, there is provided a data processing device, comprising:

[0008] An acquisition unit, configured to acquire a domain specific language file corresponding to a target application; a generation unit, configured to generate a detailed design of the target application based on the domain specific language file;

[0009] The domain-specific language file is used to describe the dependency relationship between data nodes and data flows; the data nodes are nodes mapped after the target application is split according to the running function, and the data flow is a directed graph that represents the data flow direction between data nodes, and the data flow direction of the directed graph represents the dependency relationship between the data nodes when driving the target application to run; the detailed design includes the data nodes described in the domain-specific language file, and the dependency relationship between the data nodes and the data flow.

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

[0011] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can perform the above-mentioned method.

[0012] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned method.

[0013] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements the above-mentioned method when executed by a processor.

[0014] By applying the data processing method provided by the present disclosure, a more efficient data processing device can be provided.

[0015] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.

[0017] Figure 1 is a flow chart of a data processing method provided according to an exemplary embodiment of the present disclosure;

[0018] Figure 2 is a flow chart of a method for generating a domain-specific language file provided in an exemplary embodiment of the present disclosure;

[0019] Figure 3 is a flow chart of a method for generating a domain-specific language file provided in an exemplary embodiment of the present disclosure;

[0020] Figure 4 is a flow chart of a data processing method provided according to an exemplary embodiment of the present disclosure;

[0021] Figure 5 is a flow chart of a data processing method provided according to an exemplary embodiment of the present disclosure;

[0022] Figure 6 is a schematic diagram of a visualization image provided according to an exemplary embodiment of the present disclosure;

[0023] Figure 7 It is a block diagram of a data processing device provided according to the present disclosure.

[0024] Figure 8 It is a block diagram of an electronic device used to implement the data processing method of the embodiment of the present disclosure. DETAILED DESCRIPTION

[0025] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0026] The data processing method provided by the present disclosure can be applied to software development scenarios in application design. For example, it can be applied to the software design stage of a Web front-end application. A detailed design needs to be generated in the software design stage. The detailed design includes the running functions (modules) that drive the application to implement the corresponding functions, and more importantly, the designed processing process should be as simple and easy to understand as possible.

[0027] At present, there are several ways to generate detailed design: program flow chart, box diagram, PAD (problem analysis diagram) diagram, etc. However, the above-mentioned methods of generating detailed design require special flowchart editing software. Therefore, when generating detailed design, a special graphic structure is required. Moreover, in actual scenarios, the interaction between users and computers becomes more and more frequent, and the functions implemented become more and more complex. When the calculation or data of a running function changes state, the developer needs to manually update all other running functions that depend on the running function whose state has changed. Therefore, the current process of generating detailed design is complicated to operate and has high maintenance costs.

[0028] In view of this, the present disclosure provides a data processing method, providing a DSL (Domain-Specific Language, domain-specific language file) that describes the dependency relationship of application running functions, and generating a detailed design based on the domain-specific language file, without the need for users to call a special graphic structure, so the implementation process is relatively simple. In the present disclosure, the generated detailed design includes the dependency relationship of the running function, so that based on the dependency relationship, the data whose data state has changed, and other data that has a dependency relationship with the data whose data state has changed can be accurately determined, thereby improving the effectiveness of data state management.

[0029] Figure 1 is a flow chart of a data processing method provided according to an exemplary embodiment of the present disclosure. Figure 1 As shown, the data processing method includes the following steps S101 to S102.

[0030] In step S101, a domain specific language file corresponding to a target application is obtained.

[0031] In step S102, a detailed design of the target application is generated based on the domain specific language file.

[0032] The target application in the present disclosure is an application to be designed, for example, it may be a Web front-end application formed by software design.

[0033] In the present disclosure, developers can pre-make a domain-specific language file based on a target application to be designed, and describe the dependency relationship between data nodes and data flows in the domain-specific language file.

[0034] In the detailed design generation phase, a detailed design is generated based on the domain specific language file, which includes the data nodes described in the domain specific language file and the dependency relationship between the data nodes and the data flow.

[0035] In the data processing method provided by the present disclosure, a detailed design is generated based on a domain-specific language file, and the user does not need to call a special graphic structure, so the implementation process is relatively simple. In addition, in the present disclosure, the generated detailed design includes the data nodes described in the domain-specific language file, and the dependency relationship between the data nodes and the data flow, that is, the dependency relationship of the running function of the target application, so that based on the dependency relationship, the data whose data state has changed, and other data that has a dependency relationship with the data whose data state has changed can be accurately determined, thereby improving the effectiveness of data state management.

[0036] The target application in the present disclosure may be an asynchronous application that is rich in interaction and based on event-driven (Event-Driven). The asynchronous application includes a running function that drives the application to run, and the running function is also called a program module. The running function itself is independent, but the running functions can be called by each other.

[0037] In an exemplary embodiment, the target application is split according to the running function in the present disclosure, and the split running function is mapped to a data node. The data node can be a function or a program module, and each data node can be understood as an independent part of the target application, and there is no direct dependency relationship with any other data node. The data nodes from which the application is split can be arranged and used in any order. The data node can be called when the program is running. Multiple data nodes can be called in the order required when the target application is driven to run. When the target application is driven to run, the calling order of the multiple data nodes called can be understood as the dependency relationship or the dependency relationship between the data nodes. For example, after calling data node A, data node B is called, and the input of data node B is the output of data node A. Then there is a dependency relationship between data node A and data node B, data node B depends on data node A, and data node A is dependent on data node B. In the process of driving the target application to run, the calling order of multiple data nodes can be abstracted as a directed graph with a data flow direction. In the present disclosure, a directed graph with a data flow direction between data nodes is represented by a data flow. The data flow includes the dependency relationship or the dependency relationship between data nodes. There are multiple unique data flows in the target application.

[0038] Based on the above embodiments, in the present disclosure, data in the target application is processed in a data stream by data nodes that are not connected to each other and communicate using an external messaging system. An event may be generated in the external messaging system, and the event is used to trigger communication between data nodes to trigger the flow of the data stream. The event may represent the way in which changes in input data are processed.

[0039] The external messaging system can receive external responses, such as mouse clicks, and generate events that trigger communication calls between data nodes to generate data flow.

[0040] In the present disclosure, when a communication call is made between data nodes based on an event trigger, a corresponding communication connection will be generated between the data nodes, and data will be sent and received based on the communication connection. In the present disclosure, an input port for data sending and an output port for data receiving are further defined for the data node. A data node may include an input port, an output port, or both an input port and an output port.

[0041] Based on the above implementation, in the present disclosure, the target application can be abstracted as a directed graph (Graph), which includes data nodes (Node), and there are connections (Connection) between the data nodes. The data nodes communicate by accessing the connection through input ports (Input Port) or output ports (Output Port).

[0042] The data flow is a directed graph representing the direction of data flow between data nodes, and the data flow of the directed graph represents the dependency relationship between the data nodes when driving the target application at runtime.

[0043] Data nodes are nodes mapped after the target application is split according to the running function. The data node can be understood as an instance in a directed graph, usually a running function or program module. Data nodes can access the data inside the node, but cannot directly access the directed graph itself or the content of other nodes.

[0044] Connections allow nodes to communicate with each other and can be accessed by ports.

[0045] A port is a connection point between a node and a connection. A node can send or receive data to any port through a connection. Ports include input ports and output ports. Among them, input ports and output ports can be understood as default ports, and you can also customize ports. Usually, in actual applications, a port is an event defined for the node.

[0046] In the present disclosure, one or more data nodes may form a data node group (Group), and perform subsequent computing processing in the form of a group. That is, in the present disclosure, a data node group includes one or more data nodes with a connection relationship.

[0047] Based on the above implementation, in the present disclosure, a domain specific language file may be pre-generated based on the data nodes of the target application, the connections between the data nodes, the input ports and the output ports, etc.

[0048] Figure 2 is a flow chart of a method for generating a domain-specific language file provided in an exemplary embodiment of the present disclosure. Figure 2 As shown, the method for generating a domain-specific language file includes the following steps S201 to S203.

[0049] In step S201, the data node from which the target application is to be split and the input port and / or output port of the data node are determined.

[0050] Among them, the input port is used to access the connection and receive data, the output port is used to access the connection and send data, and the connection represents the connection relationship for communication between nodes.

[0051] In step S202, a data node group is generated based on the input ports and / or output ports of the data nodes, and the data node group includes one or more data nodes having a connection relationship.

[0052] In step S203, the data node groups are formed into domain specific language files according to the connection relationships between the data nodes.

[0053] When generating the domain-specific language file in the present disclosure, the connection between the data nodes can be determined by determining the data nodes into which the target application is split, and the input port and / or output port of the data node. Based on the input port and / or output port of the data node, the output port and the input port of the data are determined, and the data node of the data output port and the data node of the data input port can be used as a data node group. Furthermore, the data node group can generate a dependency relationship between the data nodes. Based on the data node group, a domain-specific language file is formed according to the connection relationship between the data nodes, and a domain-specific language file describing the dependency relationship between the data nodes and the data flow can be generated.

[0054] The domain-specific language file may be pre-made by developers based on the target application to be designed.

[0055] In order to facilitate developers to create domain-specific language files, the present disclosure provides a text input template for domain-specific language files. The document input template includes an entry for developers to input data nodes and data stage input ports and / or output ports.

[0056] Figure 3 is a flow chart of a method for generating a domain-specific language file provided in an exemplary embodiment of the present disclosure. Figure 3 As shown, the method for generating a domain-specific language file includes the following steps S301 to S302.

[0057] In step S301, in response to receiving a trigger operation for generating a detailed design, a text input template for a domain specific language file is provided.

[0058] In step S302, data nodes input based on the text input template and input ports and / or output ports of the data nodes are obtained.

[0059] In the present disclosure, a domain-specific language file is generated based on a text input template of a domain-specific language file, so that developers can complete the text input of data nodes, and input ports and / or output ports of data nodes based on the text input template in a text editing program or a word processing system. Therefore, developers no longer need to call the flowchart editing software separately, and can directly use the text editing method to generate the detailed design, which is convenient for completing the writing and editing of the detailed design, making the detailed design generation process operation more concise.

[0060] Furthermore, the text input template in the present disclosure has an editable function. Therefore, developers can modify and edit the completed domain-specific language file. In one example, the present disclosure can insert a new data node in the completed domain-specific language file. Among them, the data node in the present disclosure can be understood as the source program of the target application, so the newly inserted data node can be inserted between the source program as a comment, so that the developer can modify the corresponding comment while modifying the program code.

[0061] Furthermore, in the present disclosure, the text input template of the domain-specific language file may also provide an input entry for annotations, or may also provide an input entry for data node groups. In one example, in the present disclosure, the specific language file generated based on the text input template of the specific language file may include annotations, node declaration information (Node(fun)), and group declaration information (Group) in sequence, so that the functional division of each part in the domain-specific language file for generating the detailed design is more accurate, thereby improving the accuracy of generating the detailed design.

[0062] In the present disclosure, when generating a detailed design based on a specific language file, the data nodes described in the domain-specific language file can be merged and spliced ​​based on the dependency relationship between the data nodes and the data stream to obtain the final required detailed design. The detailed design includes the data nodes and the dependency relationship between the data nodes and the data stream.

[0063] In an exemplary implementation, assume that the target application designed by the specific language file created by the developer has a comment of "converting a string of all lowercase English characters to an English string with the first letter capitalized". The nodes declared in the specific language file include three data nodes: Split (split), Map (map) and Join (join). The data group is: IN Split OUT → IN Map OUT → IN Join.

[0064] The detailed design generated based on the specific language file can be as follows:

[0065] #title case a sentence / / (Convert a string containing all lowercase English letters to an English string with the first letter capitalized)

[0066] Split(split) / / (Split a string into a string array)

[0067] Map(map) / / (map the specified sequence)

[0068] Join(join) / / (Connect the elements in the sequence with the specified characters to generate a new string)

[0069] TitleCase = IN Split OUT-> IN Map OUT-> IN Join / / (Split a string into a string array, then map, and finally join)

[0070] The detailed design generation method provided by the present disclosure can be produced by the developer in a text form in a specific language file, and the calling relationship between modules or functions is described to clarify the dependency relationship between functions. In addition, the text of the detailed design can be written in the code in the form of comments, or placed in a separate file, without the need for special flowchart editing software, which is more concise and convenient to implement. When the application is running, the calls between modules or functions are executed in sequence through the description in the detailed design, so that the data state changes can be clarified and the state changes and data dependencies can be effectively managed.

[0071] In the present disclosure, after generating a detailed design, a coding file corresponding to a source program of a target application may be generated based on the detailed design.

[0072] Figure 4 is a flow chart of a data processing method provided according to an exemplary embodiment of the present disclosure. Figure 4 The method shown can be performed alone or in combination with other embodiments of the present disclosure. Figure 4 As shown, the method includes the following steps S401 to S402.

[0073] In step S401, based on the data nodes included in the detailed design and the dependency relationship between the data nodes and the data flows, the running functions mapped to the data nodes are determined.

[0074] In step S402, a coding file associated with the running function is generated.

[0075] In the present disclosure, the running function mapped by the data node can be understood as the target application part source program. The mapping relationship between the data node and the data stream can determine the function call relationship between the various parts of the source program, and then, based on the data node and the dependency relationship between the data node and the data stream, the encoding file associated with the running function can be generated.

[0076] Continuing with the above example, the encoding file generated based on the detailed design including data nodes and the dependency relationship between data nodes and data streams may be as follows:

[0077] import{create}from'detailed-design';

[0078] import TitleCaseDesign from'. / title-case-design';

[0079] function split=string=>string.split('');

[0080] function map=array=>array.map(v=>v.at(0).toUpperCase()+v.slice(1));

[0081] function join=array=>array.join('');

[0082] function TitleCase=create(TitleCaseDesign,{split,map,join});

[0083] In the present disclosure, a coding file is generated based on the detailed design. The coding file can be understood as a source program that drives the target application to run. Therefore, through the present disclosure, the design document generated in the detailed design phase of software development can be made consistent with the source code, and further, when the source code is updated and iterated, the detailed design can also be kept consistent with the source code, effectively solving the problem of the detailed design of the application being out of sync with the development code.

[0084] Through the present disclosure, calls between modules or functions of the target application can be executed sequentially according to the description in the detailed design. Developers only need to focus on the logic implementation within the module during the code development stage without having to pay too much manpower maintenance costs, thereby improving the quality of code development.

[0085] In the present disclosure, after the detailed design is generated, a visualization image for describing the data nodes and the connection relationship between the data nodes may be generated based on the detailed design.

[0086] Figure 5 is a flow chart of a data processing method provided according to an exemplary embodiment of the present disclosure. Figure 5 The method shown can be performed alone or in combination with other embodiments of the present disclosure. Figure 5 As shown, the method includes the following steps S501 to S502.

[0087] In step S501, data nodes included in the detailed design and dependencies between data nodes and data flows are determined.

[0088] In step S502, based on the data nodes included in the detailed design and the dependency relationship between the data nodes and the data flows, the data nodes with the dependency relationship are connected to generate a visualization image.

[0089] Among them, the visual image is used to describe the data nodes and the connection relationship between the data nodes.

[0090] In the present disclosure, the data nodes included in the detailed design can be understood as nodes in the visualization image. The mapping relationship between the data nodes and the data streams can be understood as the connection lines between the nodes in the visualization image.

[0091] Continuing with the above example, the data nodes included in the detailed design are Split, Map, and Join. The dependency relationship between the data nodes and the data flow included in the detailed design is: IN Split OUT→IN Map OUT→IN Join. Connect Split, Map, and Join with connecting lines and mark the input and output ports. Figure 6 shown. Figure 6 In the example, IN indicates an input port, and OUT indicates an output port. Node 1 indicates Split, Node 2 indicates Map, and Node 3 indicates Join. Figure 6 As shown, Split is connected to Map's input port through its output port, and MAP's output port is connected to Join's input port. Split, Map, and Join can independently determine the corresponding data state changes. When there are data nodes with data changes in Split, Map, and Join, the connected nodes (data nodes with dependencies) can be determined based on the connection lines.

[0092] The present disclosure can intuitively determine the data state change of the data node by visualizing the data node in the image. The dependency relationship between the data can be determined by the connection lines between the data nodes in the image. Therefore, the present disclosure can clearly and effectively manage the data state change and data dependency based on the visualization image generated by the detailed design.

[0093] Based on the same concept, an embodiment of the present disclosure also provides a data processing device.

[0094] It is understandable that the data processing device provided by the embodiment of the present disclosure includes hardware structures and / or software modules corresponding to the execution of each function in order to realize the above functions. In combination with the units and algorithm steps of each example disclosed in the embodiment of the present disclosure, the embodiment of the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the technical solution of the embodiment of the present disclosure.

[0095] As an exemplary embodiment, Figure 7 is a block diagram of a data processing device provided according to the present disclosure. Figure 7 As shown, the data processing device 700 provided by the present disclosure includes an acquisition unit 701 and a generation unit 702 .

[0096] The acquisition unit 701 is used to acquire the domain specific language file corresponding to the target application. The generation unit 702 is used to generate the detailed design of the target application based on the domain specific language file.

[0097] The domain-specific language file is used to describe the dependency relationship between data nodes and data flows.

[0098] The data node is the node mapped after the target application is split according to the running function. The data flow is a directed graph that represents the data flow between data nodes. The data flow of the directed graph represents the dependency relationship between the data nodes when driving the target application to run.

[0099] The detailed design includes data nodes described in domain-specific language files, as well as the dependencies between data nodes and data flows.

[0100] Among them, the acquisition unit 701 is used to obtain the data nodes from which the target application is split, and the input ports and / or output ports of the data nodes. The input port is used to access the connection and receive data, the output port is used to access the connection and send data, and the connection represents the connection relationship between the nodes for communication. The generation unit 702 is used to generate a data node group based on the input port and / or output port of the data node, and the data node group includes one or more data nodes with a connection relationship. The data node group is formed into a domain-specific language file according to the connection relationship between the data nodes.

[0101] In an exemplary embodiment, in response to receiving a trigger operation to generate a detailed design, the acquisition unit 701 is used to: provide a text input template of a domain-specific language file, and obtain data nodes that are split based on the target application input based on the text input template, as well as input ports and / or output ports of the data nodes.

[0102] In an exemplary implementation, the generating unit 702 is used to: determine the operation function mapped to the data node based on the data node included in the detailed design and the dependency relationship between the data node and the data flow, and generate a coding file associated with the operation function.

[0103] In an exemplary embodiment, the generation unit 702 is used to: based on the data nodes included in the detailed design and the dependencies between the data nodes and the data flows, connect the data nodes with dependencies to generate a visualization image, and the visualization image is used to describe the data nodes and the connection relationships between the data nodes.

[0104] Regarding the above-mentioned device involved in the present disclosure, the specific manner in which each module performs the operation has been described in detail in the embodiment of the method, and will not be elaborated here.

[0105] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0106] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.

[0107] Figure 8A schematic block diagram of an example electronic device 800 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0108] like Figure 8 As shown, the device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0109] A number of components in the device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0110] The computing unit 801 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 801 performs the various methods and processes described above, such as data processing methods. For example, in some embodiments, the data processing method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the data processing method in any other appropriate manner (e.g., by means of firmware).

[0111] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0112] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0113] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0114] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0115] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0116] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0117] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.

[0118] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A data processing method, comprising: Get the domain-specific language file corresponding to the target application; generating a detailed design of the target application based on the domain specific language file; The domain specific language file is used to describe the dependency relationship between data nodes and data flows; The data nodes are nodes mapped after the target application is split according to the running function, and the data flow is a directed graph representing the data flow between the data nodes, and the data flow of the directed graph represents the dependency relationship between the data nodes when driving the target application to run; The detailed design includes the data nodes described in the domain specific language file, and the dependency relationship between the data nodes and the data stream; The domain specific language file is pre-generated in the following manner: Determine the data nodes into which the target application is split, the connections between the data nodes, and the input ports and / or output ports of the data nodes; The input port is used to access a connection and receive data, and the output port is used to access a connection and send data, wherein the connection represents a connection relationship between nodes for communication; Based on the input port and / or output port of the data node, a data node group is generated, wherein the data node group includes one or more data nodes having a connection relationship; The data node groups are formed into domain specific language files according to the connection relationships between the data nodes.

2. The method according to claim 1, wherein: The step of determining the data node from which the target application is to be split, and the input port and / or output port of the data node, comprises: In response to receiving a triggering operation to generate a detailed design, providing a text input template for the domain specific language file; A data node input based on the text input template and an input port and / or an output port of the data node are obtained.

3. The method according to any one of claims 1 to 2, further comprising: Based on the data nodes included in the detailed design and the dependency relationship between the data nodes and the data streams, determining the running functions mapped to the data nodes; Generate a code file associated with the run function.

4. The method according to any one of claims 1 to 2, further comprising: Based on the data nodes included in the detailed design and the dependency relationship between the data nodes and the data streams, the data nodes with the dependency relationship are connected to generate a visualization image, and the visualization image is used to describe the data nodes and the connection relationship between the data nodes.

5. A data processing device, comprising: An acquisition unit, used to acquire a domain specific language file corresponding to a target application; A generating unit, configured to generate a detailed design of the target application based on the domain specific language file; The domain specific language file is used to describe the dependency relationship between data nodes and data flows; The data nodes are nodes mapped after the target application is split according to the running function, and the data flow is a directed graph representing the data flow between the data nodes, and the data flow of the directed graph represents the dependency relationship between the data nodes when driving the target application to run; The detailed design includes the data nodes described in the domain specific language file, and the dependency relationship between the data nodes and the data stream; in, The acquisition unit is used to acquire the data node from which the target application is split, and the input port and / or output port of the data node; the input port is used to access the connection and receive data, the output port is used to access the connection and send data, and the connection represents the connection relationship between the nodes for communication; The generating unit is used to generate a data node group based on the input port and / or output port of the data node, wherein the data node group includes one or more data nodes having a connection relationship; and form a domain-specific language file with the data node group according to the connection relationship between the data nodes.

6. The device according to claim 5, wherein: The acquisition unit is used for: In response to receiving a triggering operation to generate a detailed design, providing a text input template for the domain specific language file; The data nodes of the target application program split based on the text input template input and the input ports and / or output ports of the data nodes are obtained.

7. The device according to any one of claims 5 to 6, wherein the generating unit is configured to: Based on the data nodes included in the detailed design and the dependency relationship between the data nodes and the data streams, determining the running functions mapped to the data nodes; Generate a code file associated with the run function.

8. The device according to any one of claims 5 to 6, wherein the generating unit is configured to: Based on the data nodes included in the detailed design and the dependency relationship between the data nodes and the data streams, the data nodes with the dependency relationship are connected to generate a visualization image, and the visualization image is used to describe the data nodes and the connection relationship between the data nodes.

9. An electronic device, comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 4.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-4.

11. A computer program product, comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Software design method facing user operation flow

    CN105912338A

  • Xtext-based software engineering design method of domain specific language (DSL)

    CN107273143A