Application program development processing method and device, equipment, storage medium and program product

Through automation tools and monitoring technology, the application is automatically developed using service tool information, service grid information and code information, and the changes and operating status of the application are monitored, solving the development and maintenance complexity caused by the lack of automation tools in the existing technology. Problem, achieving efficient and automated application development and processing processes.

CN119415136APending Publication Date: 2025-02-11CHINA CONSTRUCTION BANK +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411375648.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The lack of automation tools, public libraries or components in the prior art to automatically complete the development and update tasks of applications, resulting in duplicate work increasing the complexity of development and maintenance, cumbersome operational processes and time-consuming and labor-intensive, and high development and maintenance costs.

Method used

Automatically develop applications through service tool information, service grid information and code information related to program generation instructions, and use monitoring tools to monitor initial files and instruction functions in the application, and process applications based on change information and running status information. , generate target application and resource allocation results.

Benefits of technology

Simplifies the development and processing process of applications, and the reasonable resource allocation results meet the needs of high concurrency scenarios. It forms an automated framework that integrates application development, file monitoring and operation performance monitoring, reduces manual operations, and improves developers. The development experience further accelerates the development and processing progress of the project.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119415136A_ABST
    Figure CN119415136A_ABST
Patent Text Reader

Abstract

The invention provides an application program development processing method which can be applied to the technical field of software development and financial science and technology. The development processing method of the application program comprises the steps that in response to the fact that a program generation instruction is triggered, the application program is generated according to configuration information related to the program generation instruction, the configuration information comprises tool information and code information, and the tool information comprises service tool information and service grid information; an initial file and an instruction function in the application program are monitored through a monitoring tool, a monitoring result is obtained, the monitoring result comprises file monitoring information and running state information, and the file monitoring information represents change information of an initial code file and an initial configuration file in the application program; and processing the application program based on the monitoring result to generate a processing result. The invention further provides a development processing device and equipment of the application program, a storage medium and a program product.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the fields of software development and financial technology, and specifically to a method, device, equipment, medium and program product for developing and processing an application. Background Art

[0002] Developing applications using compiled languages ​​can be achieved through demand analysis and design, environment construction, code writing, testing and deployment, and operation and maintenance update related technologies. In related technologies, code modifications generally require developers to manually recompile and rerun the program, or compile and deploy by monitoring file changes.

[0003] The inventors have discovered that the development and processing methods for applications in the related art have the following defects: there is a lack of automated tools, common libraries or components to automatically complete development and update tasks, and there is repetitive work (such as repeated configuration of the environment, deployment of code or monitoring of the system), which increases the complexity of development and maintenance; compilation and operation are mainly performed manually, the operation process is cumbersome and time-consuming, and the development and maintenance costs are high. Summary of the invention

[0004] In view of the above problems, the present disclosure provides a method, apparatus, device, medium and program product for developing an application program.

[0005] According to a first aspect of the present disclosure, a method for developing and processing an application is provided, comprising: in response to a program generation instruction being triggered, generating an application according to configuration information related to the program generation instruction, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information; using a monitoring tool to monitor the initial files and instruction functions in the application to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents change information of the initial code files and initial configuration files in the application, the instruction function is associated with the running status information, the initial file includes at least one of the initial code file and the initial configuration file; and processing the application based on the monitoring result to generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on the target file.

[0006] According to an embodiment of the present disclosure, the above-mentioned monitoring tool includes a file monitoring tool; wherein, the monitoring tool is used to monitor the initial files and instruction functions in the above-mentioned application to obtain monitoring results, including: using the above-mentioned file monitoring tool to monitor the above-mentioned initial code file and / or the above-mentioned initial configuration file to obtain the above-mentioned file monitoring information.

[0007] According to an embodiment of the present disclosure, the above-mentioned application is processed based on the above-mentioned monitoring results to generate processing results, including: when the above-mentioned file monitoring information indicates that the above-mentioned initial file has changed, triggering a compilation tool to compile the above-mentioned initial file to generate the above-mentioned target file, wherein the above-mentioned target file includes at least one of a target code file and a target configuration file; and updating the above-mentioned application based on the above-mentioned target code file and the above-mentioned target configuration file to obtain the above-mentioned target application.

[0008] According to an embodiment of the present disclosure, the above-mentioned monitoring tool includes a status monitoring tool; wherein, the monitoring tool is used to monitor the initial files and instruction functions in the above-mentioned application to obtain monitoring results, including: using the above-mentioned status monitoring tool to monitor the above-mentioned instruction function to obtain function call information of the above-mentioned instruction function, wherein the above-mentioned function call information includes call frequency information, call duration information and call quantity information.

[0009] According to an embodiment of the present disclosure, the above-mentioned application is processed based on the above-mentioned monitoring results to generate processing results, including: determining resource utilization information, resource allocation information and the above-mentioned resource allocation results based on the above-mentioned call frequency information, the above-mentioned call duration information and the above-mentioned call quantity information.

[0010] According to an embodiment of the present disclosure, the above-mentioned resources include at least one of memory resources, disk resources and network resources; based on the above-mentioned call frequency information, the above-mentioned call duration information and the above-mentioned call quantity information, the resource utilization information, the resource allocation information and the above-mentioned resource allocation results are determined, including: determining the above-mentioned resource utilization information and the above-mentioned resource allocation information according to the above-mentioned call frequency information, the above-mentioned call duration information and the above-mentioned call quantity information; and determining the above-mentioned resource allocation results by using the above-mentioned resource utilization information, the above-mentioned resource allocation information and a preset allocation strategy.

[0011] According to an embodiment of the present disclosure, the method further includes: processing the function call information, the resource utilization information, the resource allocation information and the resource allocation result to generate chart information.

[0012] According to an embodiment of the present disclosure, the above-mentioned service tool information includes registration tool information, discovery tool information and tool library information; an application is generated according to configuration information related to the above-mentioned program generation instructions, including: based on the above-mentioned registration tool information, the above-mentioned discovery tool information, the above-mentioned tool library information, the above-mentioned service grid information and the above-mentioned code information, an application is generated so that the service items in the above-mentioned application meet preset project standards.

[0013] A second aspect of the present disclosure provides an application development and processing device, including: an application generation module, for generating an application in response to a program generation instruction being triggered according to configuration information related to the program generation instruction, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information; an application monitoring module, for monitoring the initial files and instruction functions in the application using a monitoring tool to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents change information of the initial code file and the initial configuration file in the application, the instruction function is associated with the running status information, and the initial file includes at least one of the initial code file and the initial configuration file; and a processing result generation module, for processing the application based on the monitoring result to generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on the target file.

[0014] A third aspect of the present disclosure provides an electronic device, comprising: one or more processors; and a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.

[0015] The fourth aspect of the present disclosure further provides a computer-readable storage medium having a computer program or instructions stored thereon, which implements the steps of the above method when the above computer program or instructions are executed by a processor.

[0016] The fifth aspect of the present disclosure further provides a computer program product, including a computer program or instructions, which implement the steps of the above method when the above computer program or instructions are executed by a processor.

[0017] According to the application development and processing method, apparatus, equipment, medium and program product provided by the present invention, the application can be automatically developed through the service tool information, service grid information and code information related to the program generation instruction, so that the initial file and instruction function in the application can be monitored by the monitoring tool, and then the application is processed based on the change information of the initial code file and the initial configuration file in the application, as well as the running status information, to obtain the target application and resource allocation results, thereby simplifying the development and processing flow of the application. Reasonable resource allocation results meet the needs of high-concurrency scenarios, and thus forming an automated framework for integrated application development, file monitoring and operation performance monitoring, thereby achieving the effect of reducing manual operations and improving the development experience of developers, further accelerating the development and processing progress of the project. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above contents and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0019] Figure 1 The application scenario diagram schematically shows the application development processing method, apparatus, device, storage medium and program product according to the embodiment of the present disclosure;

[0020] Figure 2 A flowchart schematically illustrates a method for developing an application according to an embodiment of the present disclosure;

[0021] Figure 3 A flowchart of a resource allocation method according to an embodiment of the present disclosure is schematically shown;

[0022] Figure 4 A system architecture diagram schematically illustrates a method for developing and processing an application program according to an embodiment of the present disclosure;

[0023] Figure 5 The structure block diagram of the application development processing device according to the embodiment of the present disclosure is schematically shown;

[0024] Figure 6 The block diagram schematically shows an electronic device suitable for implementing the application development processing method according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0025] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0026] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0027] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0028] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0029] In the process of conceiving the present disclosure, the inventors found that the development and processing of applications in the related technologies lacked automated tools, common libraries or components to automatically complete development and update tasks, and there was repetitive work (such as repeated configuration of the environment, deployment of code or monitoring of the system), which increased the complexity of development and maintenance; compilation and operation were mainly performed manually, and the operation process was cumbersome, time-consuming and labor-intensive, and the development and maintenance costs were high.

[0030] In view of this, the present invention can automatically develop applications through service tool information, service grid information and code information related to program generation instructions, so as to use monitoring tools to monitor the initial files and instruction functions in the application, and then process the application based on the change information of the initial code file and the initial configuration file in the application, as well as the running status information, to obtain the target application and resource allocation results, thereby simplifying the development and processing flow of the application, and the reasonable resource allocation results meet the needs of high-concurrency scenarios, thereby forming an automated framework for integrated application development, file monitoring and operation performance monitoring, thereby reducing manual operations and improving the development experience of developers, further accelerating the development and processing progress of the project.

[0031] Embodiments of the present disclosure provide a method, apparatus, device, storage medium and program product for developing and processing an application. The method includes, in response to a program generation instruction being triggered, generating an application according to configuration information related to the program generation instruction, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information; using a monitoring tool to monitor the initial files and instruction functions in the application to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents change information of the initial code files and initial configuration files in the application, the instruction function is associated with the running status information, the initial file includes at least one of the initial code file and the initial configuration file; and processing the application based on the monitoring result to generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on the target file.

[0032] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0033] In the technical solution of the present disclosure, the user information (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with relevant laws, regulations and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0034] In the scenario of using personal information for automated decision-making, the methods, devices, and systems provided by the embodiments of the present disclosure provide users with corresponding operation portals for users to choose to agree or reject the automated decision-making results; if the user chooses to reject, the expert decision-making process will be entered. The expression "automated decision-making" here refers to the activity of automatically analyzing and evaluating a person's behavioral habits, interests and hobbies, or economic, health, credit status, etc. through computer programs, and making decisions. The expression "expert decision-making" here refers to the activity of making decisions by people who specialize in a certain field, have specialized experience, knowledge and skills, and have reached a certain level of professionalism.

[0035] Figure 1 The application scenario diagram schematically shows the application development processing method, apparatus, device, storage medium and program product according to the embodiments of the present disclosure.

[0036] like Figure 1 As shown, the application scenario according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is used to provide a medium for a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.

[0037] The user can use the first terminal device 101, the second terminal device 102, and the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only for example).

[0038] The first terminal device 101, the second terminal device 102, and the third terminal device 103 may be various electronic devices having display screens and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, desktop computers, and the like.

[0039] The server 105 may be a server that provides various services, such as a background management server (only as an example) that provides support for websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as user requests, and feed back the processing results (such as web pages, information, or data obtained or generated according to user requests) to the terminal device.

[0040] It should be noted that the application development processing method provided in the embodiment of the present disclosure can generally be executed by the server 105. Accordingly, the application development processing device provided in the embodiment of the present disclosure can generally be set in the server 105. The application development processing method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103 and / or the server 105. Accordingly, the application development processing device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 105 and can communicate with the first terminal device 101, the second terminal device 102, the third terminal device 103 and / or the server 105.

[0041] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.

[0042] Figure 2 The flowchart schematically shows a method for developing an application according to an embodiment of the present disclosure.

[0043] like Figure 2 As shown, the application development processing method of this embodiment includes operations S210 to S230.

[0044] In operation S210, in response to the program generation instruction being triggered, an application is generated according to configuration information related to the program generation instruction, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information.

[0045] According to an embodiment of the present disclosure, the application may be an application developed using a compiled language (such as the Go language). The user may trigger the program to generate instructions by inputting corresponding instructions through a command line interface. Configuration information may include service tool information, service grid information, and code information. Service tool information may represent tool information used for automation, configuration management, and system maintenance, and may include service registration and discovery tools, command line tools, load balancing tools, and other third-party tools; service grid information may represent the provision of multiple functions to manage, monitor, and protect microservice communications, and may include services such as communication between services, traffic management, security, monitoring, and logging.

[0046] In operation S220, a monitoring tool is used to monitor the initial files and instruction functions in the application to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents the change information of the initial code file and the initial configuration file in the application, the instruction function is associated with the running status information, and the initial file includes at least one of the initial code file and the initial configuration file.

[0047] According to an embodiment of the present disclosure, the monitoring tool may include a file monitoring tool and a status monitoring tool. The file monitoring tool may include a file monitoring tool provided by the operating system itself and a third-party monitoring tool for monitoring changes in related files; the status monitoring tool may include a performance analysis tool, a tracking tool, an indicator monitoring tool, and a logging tool for monitoring the performance and status of the application from different angles; the initial file may include an initial code file and an initial configuration file in the application. The initial code file may represent a source code file for developing an application, containing code and logic, such as a .go file; the initial configuration file may represent configuration data for storing an application, such as a .yaml file. An instruction function may represent a collection of multiple instructions in an application. Based on the instruction function call information, the operating status information of the resources in the system called by the application may be determined.

[0048] In operation S230, the application is processed based on the monitoring result to generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on the target file.

[0049] According to an embodiment of the present disclosure, a target file may include a target code file and a target configuration file. The target code file may represent a file after the initial code file is updated according to demand, and the target configuration file may represent a file after the initial configuration file is modified according to the target code file and actual demand. The processing of the application may include processing corresponding to the monitored changes in related files and performance and operating status. In the case of monitoring changes in files in the application, the file can be recompiled to generate an executable file, and then the application can be updated to obtain the target application; after monitoring the function call information of the instruction function in the application, the resources can be rationally allocated and load balancing can be achieved based on the call frequency information, call duration information and call quantity information, thereby obtaining the resource allocation result.

[0050] It should be noted that in the embodiments of the present application, certain software, components, models, etc. may be mentioned for exemplary purposes only. The purpose is to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0051] According to the embodiments of the present disclosure, an application can be automatically developed through service tool information, service grid information and code information related to program generation instructions, so that the initial files and instruction functions in the application can be monitored by using monitoring tools, and then the application can be processed based on the change information of the initial code file and the initial configuration file in the application, as well as the running status information, to obtain the target application and resource allocation results, thereby simplifying the development and processing flow of the application. Reasonable resource allocation results meet the needs of high-concurrency scenarios, and thus forming an automated framework that integrates application development, file monitoring and operation performance monitoring, thereby achieving the effect of reducing manual operations and improving the development experience of developers, further accelerating the development and processing progress of the project.

[0052] According to an embodiment of the present disclosure, the monitoring tool includes a file monitoring tool; wherein, the monitoring tool is used to monitor the initial files and instruction functions in the application to obtain monitoring results, including: using the file monitoring tool to monitor the initial code file and / or initial configuration file to obtain file monitoring information.

[0053] According to an embodiment of the present disclosure, the file monitoring tool may include a monitoring tool provided by the operating system itself and a third-party monitoring tool. The initial file may include a code file and a configuration file, such as a .Go file and a .yaml file in the Go language. The change information of the file or directory can be analyzed by monitoring the duration of the instruction function call, the number of instruction function calls, and the number / frequency of instruction function calls.

[0054] According to the embodiments of the present disclosure, by monitoring the initial file through the operating system's own monitoring tool, the change information of the file or directory (such as creation, deletion, modification, etc.) can be obtained, and the monitoring efficiency is improved and resource consumption is reduced by monitoring through the native monitoring tool of the operating system; on the other hand, the file can also be monitored through a third-party monitoring tool for different application scenarios (such as between different operating systems), which can achieve cross-platform support for multiple operating systems, so that the code can be ported between different platforms, further facilitating subsequent processing and response.

[0055] According to an embodiment of the present disclosure, an application is processed based on a monitoring result to generate a processing result, including: when file monitoring information indicates that an initial file has changed, triggering a compilation tool to compile the initial file to generate a target file, wherein the target file includes at least one of a target code file and a target configuration file; and updating the application based on the target code file and the target configuration file to obtain a target application.

[0056] According to an embodiment of the present disclosure, by configuring corresponding mutation commands, the changed initial file is recompiled when file changes are detected to generate an executable file. On this basis, a system call termination or pause signal is used to stop the running application and restart the newly compiled executable file to achieve immediate effectiveness of the new code.

[0057] In a feasible embodiment, in the Go language, the monitored files can be recompiled to generate executable files by configuring the Golang compilation command and using the compilation tools provided by Golang. The method of obtaining the target application based on the target code file and the target configuration file may include: updating the .go file to implement new functions or fix problems; running tests to ensure that the modified code can pass unit tests and integration tests; using the go build command to generate a new executable file; modifying the .yaml configuration file to reflect the new parameters and settings; uploading the newly generated executable file and the updated configuration file to the target environment; restarting the application as needed to load the new code and configuration, and monitoring the application running status in real time to ensure that the application can work normally.

[0058] In a feasible embodiment, when configuring a system or tool, personalized configuration can be performed according to specific project requirements to optimize and adjust the behavior of the system according to actual conditions. For specified monitored file directories, a file monitoring tool can be used to automatically detect file changes and perform certain operations, and the specific directory or file to be monitored can be specified through a configuration file; for compilation parameters, different compilation options can be configured to meet specific needs when building and packaging projects. For example, a lower optimization level can be used in the development phase for easy debugging, while a higher optimization level can be enabled in the production environment to improve performance; for restart strategies, during the deployment and operation and maintenance process, applications may exit due to errors or exceptions. The restart strategy can be configured to ensure that the application can automatically restart after an error occurs. For example, the application can be configured to automatically restart after a crash, or restart after a certain delay after an error occurs, thereby improving the reliability and availability of the system.

[0059] According to the embodiments of the present disclosure, by monitoring file changes and automatically compiling and restarting, code modifications can be made effective immediately, and developers can view the modified effects in real time, thereby improving development efficiency and work fluency, and realizing automation of compilation, updating and restarting in the Go language application development process. Developers do not need to manually execute tedious compilation and restart commands, thus reducing errors and time costs of manual operations.

[0060] According to an embodiment of the present disclosure, the monitoring tool includes a status monitoring tool; wherein, the monitoring tool is used to monitor the initial files and instruction functions in the application to obtain monitoring results, including: using the status monitoring tool to monitor the instruction function to obtain function call information of the instruction function, wherein the function call information includes call frequency information, call duration information and call quantity information.

[0061] According to an embodiment of the present disclosure, an instruction function can represent a collection of multiple instructions in an application, the call frequency information can represent the number of times the instruction function is called within a target time period; the call duration information can represent the length of time the instruction function call lasts; and the call quantity information can represent the total number of instruction functions called within the target time period.

[0062] In a feasible embodiment, middleware can be used to monitor function calls, for example, by creating a middleware to wrap the target function and record information before and after the call; when there are multiple instruction functions to be monitored simultaneously, reflection can be used to dynamically monitor the function call information; you can also consider using third-party monitoring tools (such as Prometheus, Grafana) to collect and visualize function call information.

[0063] According to an embodiment of the present disclosure, the application is processed based on the monitoring result to generate a processing result, including: determining resource utilization information, resource allocation information and resource allocation result based on call frequency information, call duration information and call quantity information.

[0064] According to the embodiments of the present disclosure, by recording the frequency, duration and quantity information of instruction function calls, processor (CPU) intensive operations can be analyzed and optimized, and memory allocation can be recorded, including which objects occupy memory, the frequency of memory allocation, etc.; by counting memory usage information, such as the number of garbage collections, pause time, allocated objects, etc.; the number of currently running threads can be obtained to help monitor the overhead of concurrent operations; and thread stack traces can be generated to analyze deadlock, blocking and other problems.

[0065] In a feasible embodiment, when a Go language application is running, it is possible to detect how many threads are running, and the number of currently running threads can be obtained through the thread function in the toolkit. The function returns an integer (int) value, and the number of currently running threads can be obtained.

[0066] In a feasible embodiment, in the Go language, a method for determining resource utilization information, resource allocation information, and resource allocation results based on call frequency information, call duration information, and call quantity information may include: defining a structure to store monitoring data, and creating a monitoring function for wrapping the original function and recording the call information; thereby defining the instance function that needs to be monitored, using the monitoring function in the application, and regularly collecting and displaying the monitoring information; and then analyzing the system resource utilization and allocation based on the collected monitoring information, for example, calculating the average call duration based on the total time consumed and the number of calls, or adjusting the resource allocation strategy based on the call frequency; a timer may be used to periodically call the AnalyzeMetrics function to dynamically adjust resource allocation, for example, the number of instances of the backend service may be adjusted through the API, or resources may be increased during high loads.

[0067] According to an embodiment of the present disclosure, resources include at least one of memory resources, disk resources and network resources; resource utilization information, resource allocation information and resource allocation results are determined based on call frequency information, call duration information and call quantity information, including: determining resource utilization information and resource allocation information according to call frequency information, call duration information and call quantity information; and determining resource allocation results by using resource utilization information, resource allocation information and a preset allocation strategy.

[0068] According to the embodiments of the present disclosure, resource utilization information can characterize the actual usage of various resources (such as processors, memory, disks, and networks) in the system, and can reflect the degree of consumption of these resources during operation; resource allocation information can characterize how the system allocates various resources to different tasks or processes, and shows the resource allocation strategy. The preset allocation strategy can characterize the resource allocation strategy generated based on the asymmetry / irrationality between the current resource utilization information and the resource allocation information.

[0069] Figure 3 The flowchart of the resource allocation method according to the embodiment of the present disclosure is schematically shown.

[0070] like Figure 3 As shown, the method for performing resource allocation according to resource utilization information, resource allocation information and a preset allocation strategy may include operations S310 to S350.

[0071] In operation S310, a stack trace of a thread is generated. In the Go language, a stack trace of a thread can be generated to detect deadlock, blocking, and performance bottleneck problems.

[0072] In operation S320, the stack trace is analyzed. Deadlock is usually manifested as a thread waiting for resources and unable to continue execution. By analyzing the stack trace, it is possible to identify which code is waiting for the release of the lock or the result of other threads, thereby locating the source of the deadlock or the operation link (such as input / output operation, channel sending / receiving).

[0073] In operation S330, resource allocation is optimized. Resource usage, such as CPU and memory consumption, can be determined by analyzing the stack trace. If some threads are blocked or waiting too frequently, the corresponding code logic may need to be optimized or more system resources may need to be allocated.

[0074] In operation S340, the concurrency is adjusted to achieve load balancing. The concurrency can be adjusted by analyzing the usage of threads to ensure that system resources are effectively used. For example, by modifying the number of threads or adjusting the workload distribution, the concurrent processing capability of the program can be improved. In a distributed system, stack traces can help identify overload information of certain services or nodes, and through this information, the load can be redistributed or the service calling method can be optimized to achieve better load balancing.

[0075] In operation S350, the code is updated and optimized. According to the stack trace information, the code can be updated and optimized, such as reducing unnecessary lock contention, avoiding long input / output (I / O) operations, or improving the algorithm to improve performance. At the same time, according to the analysis results, the runtime configuration parameters can be adjusted, such as adjusting the size of the thread pool, optimizing the network configuration, etc., to improve the overall performance and stability of the system.

[0076] According to the embodiments of the present disclosure, by generating and analyzing thread stack traces, deadlock, blocking and other problems can be effectively located and resolved, thereby achieving optimal resource configuration and load balancing.

[0077] According to an embodiment of the present disclosure, the method further includes: processing the function call information, resource utilization information, resource allocation information and resource allocation results to generate graph information.

[0078] According to the embodiments of the present disclosure, function call information, resource utilization information, resource allocation information and resource allocation results can be processed and summarized, and these data can be displayed using charts through network product interface design, which can help developers optimize code performance.

[0079] In a feasible embodiment, the steps of displaying resource call and allocation results through network product interface design may include: data collection, collecting relevant data on resource call and allocation from the system or application, such as the number of application programming interface (API) calls, resource usage, etc.; storing the collected data in a database or data storage system for processing and access; when developing back-end services, an API interface can be provided to query and process the stored data, and return the required data format according to front-end requirements; processing and summarizing the data, such as calculating the average and total amount, to generate the information required for the chart; using application-related development technologies to create a user interface and integrating a chart library to draw charts.

[0080] According to the embodiments of the present disclosure, by displaying resource allocation information and results in graphs, the results of resource calling and allocation can be reflected more accurately. Through visual graphs, users can easily understand and analyze data, and optimization can be performed based on user feedback, thereby improving user experience.

[0081] According to an embodiment of the present disclosure, the service tool information includes registration tool information, discovery tool information and tool library information; an application is generated according to configuration information related to program generation instructions, including: generating an application based on the registration tool information, discovery tool information, tool library information, service grid information and code information so that the service items in the application meet preset project standards.

[0082] According to an embodiment of the present disclosure, a service tool may also be referred to as a system service component, which may be used to implement service registration and discovery, load balancing, and service mesh functions. Registration tool information and discovery tool information may include a registration tool, a discovery tool, and a strategy for implementing service registration and discovery. In the present disclosure, a tool that can interact with a program through a command line interface may perform various operations (e.g., project initialization).

[0083] In a feasible embodiment, the service registration and discovery method can represent the strategy for managing service instances in a distributed system, can help services in the system find and connect to other services, and implement and support service registration and discovery through service discovery and configuration management tools or technologies; for load balancing, requests can be evenly distributed to all service instances through polling, least connections, and weighted polling; for service grid integration, service grid tools can be used to manage, monitor, and protect microservice communications.

[0084] In a feasible embodiment, the code information and tool library information can respectively represent the code snippets and third-party tool libraries introduced in the project initialization phase. By introducing commonly used third-party libraries and code snippets, the development efficiency can be improved; the request flow, performance bottlenecks and problems in the system can be automatically tracked through the tracking tool; and the database object-relational mapping (ORM) code generation function can also be provided to automatically generate the corresponding ORM and related query code according to the database table, so that users can complete project initialization, module addition, code generation and other operations through relatively simple commands.

[0085] Figure 4 The system architecture diagram of the application development processing method according to the embodiment of the present disclosure is schematically shown.

[0086] like Figure 4 As shown, based on the configuration information 410 related to the program generation instructions, the application 420 can be automatically generated; the monitoring tool is used to monitor the application 420 to obtain the monitoring result 430, which may include file monitoring information 431 and operation status information 432; the application 420 is then updated and / or load balanced according to the monitoring result to obtain the processing result 440, which may include the target application 441 and the resource allocation result 442, and finally an automated framework for integrated application development, file monitoring and operation performance monitoring is formed.

[0087] Based on the above-mentioned application development and processing method, the present disclosure also provides an application development and processing device. Figure 5 The device is described in detail.

[0088] Figure 5 The structure block diagram of the application development processing device according to the embodiment of the present disclosure is schematically shown.

[0089] like Figure 5 As shown, the application development processing device of this embodiment includes an application generation module 510 , an application monitoring module 520 and a processing result generation module 530 .

[0090] The application generation module 510 is used to generate an application according to configuration information related to the program generation instruction in response to the program generation instruction being triggered, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information. In one embodiment, the application generation module 510 can be used to perform the operation S210 described above, which will not be repeated here.

[0091] The application monitoring module 520 is used to monitor the initial files and instruction functions in the application using a monitoring tool to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents the change information of the initial code file and the initial configuration file in the application, the instruction function is associated with the running status information, and the initial file includes at least one of the initial code file and the initial configuration file. In one embodiment, the application monitoring module 520 can be used to perform the operation S220 described above, which will not be repeated here.

[0092] The processing result generation module 530 is used to process the application based on the monitoring result and generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on the target file. In one embodiment, the processing result generation module 530 can be used to perform the operation S230 described above, which will not be repeated here.

[0093] According to the embodiments of the present disclosure, through the application generation module 510, the application monitoring module 520 and the processing result generation module 530 in the application development and processing device, the application can be automatically developed through the service tool information, service grid information and code information related to the program generation instructions, so that the initial files and instruction functions in the application are monitored by the monitoring tool, and then the application is processed based on the change information of the initial code file and the initial configuration file in the application, as well as the running status information, to obtain the target application and resource allocation results, thereby simplifying the development and processing flow of the application, and the reasonable resource allocation results meet the needs of high-concurrency scenarios, thereby forming an automated framework that integrates application development, file monitoring and operation performance monitoring, thereby reducing manual operations and improving the development experience of developers, further accelerating the development and processing progress of the project.

[0094] According to an embodiment of the present disclosure, the monitoring tool includes a file monitoring tool; wherein the application monitoring module includes: an initial file monitoring submodule, which is used to monitor the initial code file and / or initial configuration file using the file monitoring tool to obtain file monitoring information.

[0095] According to an embodiment of the present disclosure, the processing result generation module includes: a target file generation submodule and an application update submodule. The target file generation submodule is used to trigger the compilation tool to compile the initial file and generate a target file when the file monitoring information indicates that the initial file has changed, wherein the target file includes at least one of a target code file and a target configuration file. The application update submodule is used to update the application based on the target code file and the target configuration file to obtain a target application.

[0096] According to an embodiment of the present disclosure, the monitoring tool includes a status monitoring tool; wherein, the application monitoring module includes: a function monitoring sub-module, which is used to use the status monitoring tool to monitor the instruction function and obtain function call information of the instruction function, wherein the function call information includes call frequency information, call duration information and call quantity information.

[0097] According to an embodiment of the present disclosure, the processing result generation module includes: a result determination submodule for determining resource utilization information, resource allocation information and resource allocation results based on call frequency information, call duration information and call quantity information.

[0098] According to an embodiment of the present disclosure, resources include at least one of memory resources, disk resources, and network resources; the result determination submodule includes: an information determination unit and a result determination unit. The information determination unit is used to determine resource utilization information and resource allocation information according to the call frequency information, the call duration information, and the call quantity information; the result determination unit is used to determine the resource allocation result by using the resource utilization information, the resource allocation information, and the preset allocation strategy.

[0099] According to an embodiment of the present disclosure, the device further includes: a chart information generation module, which is used to process function call information, resource utilization information, resource allocation information and resource allocation results to generate chart information.

[0100] According to an embodiment of the present disclosure, the service tool information includes registration tool information, discovery tool information and tool library information; the application generation module includes: a program generation sub-module, which is used to generate an application based on the registration tool information, discovery tool information, tool library information, service grid information and code information, so that the service items in the application meet the preset project standards.

[0101] According to an embodiment of the present disclosure, any multiple modules of the application generation module 510, the application monitoring module 520, and the processing result generation module 530 can be combined into one module for implementation, or any one of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules can be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the application generation module 510, the application monitoring module 520, and the processing result generation module 530 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation methods of software, hardware, and firmware, or in any appropriate combination of any of them. Alternatively, at least one of the application generation module 510, the application monitoring module 520, and the processing result generation module 530 can be at least partially implemented as a computer program module, and when the computer program module is run, the corresponding function can be performed.

[0102] Figure 6 The block diagram schematically shows an electronic device suitable for implementing the application development processing method according to an embodiment of the present disclosure.

[0103] like Figure 6 As shown, the electronic device 600 according to an embodiment of the present disclosure includes a processor 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 to a random access memory (RAM) 603. The processor 601 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 601 may also include an onboard memory for caching purposes. The processor 601 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0104] In RAM 603, various programs and data required for the operation of electronic device 600 are stored. Processor 601, ROM 602 and RAM 603 are connected to each other via bus 604. Processor 601 performs various operations of the method flow according to the embodiment of the present disclosure by executing the program in ROM 602 and / or RAM 603. It should be noted that the program can also be stored in one or more memories other than ROM 602 and RAM 603. Processor 601 can also perform various operations of the method flow according to the embodiment of the present disclosure by executing the program stored in the one or more memories.

[0105] According to an embodiment of the present disclosure, the electronic device 600 may further include an input / output (I / O) interface 605, which is also connected to the bus 604. The electronic device 600 may further include one or more of the following components connected to the input / output (I / O) interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 608 including a hard disk, etc.; and a communication portion 609 including a network interface card such as a LAN card, a modem, etc. The communication portion 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the input / output (I / O) interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage portion 608 as needed.

[0106] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or may exist independently without being assembled into the device / apparatus / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present disclosure is implemented.

[0107] According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, for example, it may include but is not limited to: 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), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device. For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 602 and / or RAM 603 described above and / or one or more memories other than ROM 602 and RAM 603.

[0108] The embodiment of the present disclosure also includes a computer program product, which includes a computer program, and the computer program contains program code for executing the method shown in the flowchart. When the computer program product is run in a computer system, the program code is used to enable the computer system to implement the development and processing method of the application provided by the embodiment of the present disclosure.

[0109] The above functions defined in the system / device of the embodiment of the present disclosure are performed when the computer program is executed by the processor 601. According to the embodiment of the present disclosure, the system, device, module, unit, etc. described above can be implemented by a computer program module.

[0110] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices, magnetic storage devices, etc. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication part 609, and / or installed from a removable medium 611. The program code contained in the computer program may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0111] In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 609, and / or installed from the removable medium 611. When the computer program is executed by the processor 601, the above functions defined in the system of the embodiment of the present disclosure are performed. According to the embodiment of the present disclosure, the system, device, apparatus, module, unit, etc. described above can be implemented by a computer program module.

[0112] According to an embodiment of the present disclosure, the program code for executing the computer program provided by the embodiment of the present disclosure can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level process and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, Java, C++, python, "C" language or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on the remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, using an Internet service provider to connect through the Internet).

[0113] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0114] It will be appreciated by those skilled in the art that the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, without departing from the spirit and teachings of the present disclosure, the features described in the various embodiments of the present disclosure may be combined and / or combined in a variety of ways. All of these combinations and / or combinations fall within the scope of the present disclosure.

[0115] The embodiments of the present disclosure are described above. However, these embodiments are only for illustrative purposes and are not intended to limit the scope of the present disclosure. Although the embodiments are described above, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. Without departing from the scope of the present disclosure, those skilled in the art may make a variety of substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A method for developing an application, characterized in that: The method comprises: In response to the program generation instruction being triggered, generating an application program according to configuration information related to the program generation instruction, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information; Using a monitoring tool to monitor the initial files and instruction functions in the application to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents change information of the initial code file and the initial configuration file in the application, the instruction function is associated with the running status information, and the initial file includes at least one of the initial code file and the initial configuration file; and The application is processed based on the monitoring result to generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on the target file.

2. The method according to claim 1, characterized in that The monitoring tool includes a file monitoring tool; The monitoring tool is used to monitor the initial files and instruction functions in the application program to obtain monitoring results, including: The file monitoring tool is used to monitor the initial code file and / or the initial configuration file to obtain the file monitoring information.

3. The method according to claim 2, characterized in that The application is processed based on the monitoring result to generate a processing result, including: When the file monitoring information indicates that the initial file has changed, triggering a compilation tool to compile the initial file to generate the target file, wherein the target file includes at least one of a target code file and a target configuration file; and The application is updated based on the target code file and the target configuration file to obtain the target application.

4. The method according to claim 1, characterized in that: The monitoring tool includes a condition monitoring tool; The monitoring tool is used to monitor the initial files and instruction functions in the application program to obtain monitoring results, including: The status monitoring tool is used to monitor the instruction function to obtain function call information of the instruction function, wherein the function call information includes call frequency information, call duration information and call quantity information.

5. The method according to claim 4, characterized in that The application is processed based on the monitoring result to generate a processing result, including: Resource utilization information, resource allocation information and the resource allocation result are determined based on the call frequency information, the call duration information and the call quantity information.

6. The method according to claim 5, characterized in that The resource includes at least one of a memory resource, a disk resource, and a network resource; Determining resource utilization information, resource allocation information, and the resource allocation result based on the call frequency information, the call duration information, and the call quantity information includes: Determine the resource utilization information and the resource allocation information according to the call frequency information, the call duration information and the call quantity information; as well as The resource allocation result is determined by using the resource utilization information, the resource allocation information and a preset allocation strategy.

7. The method according to claim 5, characterized in that The method further comprises: The function call information, the resource utilization information, the resource allocation information and the resource allocation result are processed to generate graph information.

8. The method according to claim 1, characterized in that The service tool information includes registration tool information, discovery tool information and tool library information; Generate an application program according to the configuration information related to the program generation instruction, including: Based on the registration tool information, the discovery tool information, the tool library information, the service grid information and the code information, an application is generated so that the service items in the application meet preset item standards.

9. An application development and processing device, characterized in that: The device comprises: An application generation module, configured to generate an application according to configuration information related to the program generation instruction in response to the program generation instruction being triggered, wherein the configuration information includes tool information and code information, and the tool information includes service tool information and service grid information; an application monitoring module, configured to monitor the initial files and instruction functions in the application using a monitoring tool to obtain monitoring results, wherein the monitoring results include file monitoring information and running status information, the file monitoring information represents change information of the initial code files and initial configuration files in the application, the instruction functions are associated with the running status information, and the initial files include at least one of the initial code files and the initial configuration files; and A processing result generating module is used to process the application based on the monitoring result to generate a processing result, wherein the processing result includes a target application and a resource allocation result corresponding to the target application, and the target application is obtained based on a target file.

10. An electronic device comprising: one or more processors; a memory for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 8.

11. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.

12. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.