Service performance optimization methods, devices, electronic equipment, and media based on large models

By combining service performance monitoring units and large language models, the system automatically collects and analyzes operational data from fault instances, solving the problem of low efficiency in fault location and maintenance management, reducing labor costs, and improving operational efficiency.

CN119484237BActive Publication Date: 2026-01-30BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411524899.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-29
Publication Date
2026-01-30
Estimated Expiration
2044-10-29

AI Technical Summary

Technical Problem

During service operation, fault location and maintenance management are difficult. Existing technologies require manual intervention for data collection and analysis, resulting in low efficiency and high costs.

Method used

The service performance monitoring unit receives alarm information, automatically identifies fault instances, and collects operational data in the form of flame graphs. It then uses a large language model to generate analytical data, reducing manual analysis costs and improving operational efficiency.

Benefits of technology

It enables efficient data collection and automatic analysis when a fault occurs, reducing labor costs and improving operation and maintenance efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484237B_ABST
    Figure CN119484237B_ABST
Patent Text Reader

Abstract

This disclosure provides a service performance optimization method, apparatus, electronic device, computer-readable storage medium, and computer program product, relating to the computer field, particularly to the fields of deep learning, intelligent search, and natural language processing, and capable of being used in application scenarios such as generative search, intelligent document editing, intelligent assistants, and virtual assistants. The implementation scheme is as follows: In response to receiving alarm information from a service performance monitoring unit, a faulty instance is identified based on the alarm information; the port information used for data collection of the faulty instance is determined to obtain the data collection path corresponding to the faulty instance; based on the data collection path, the corresponding runtime data of the faulty instance is collected, and the runtime data is in the form of a flame graph; the runtime data is input into a large language model to obtain analysis data generated by the large language model for the alarm information. The service performance monitoring unit is used to monitor the performance of multiple instances in the service and trigger alarms when faults are detected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer science, and more particularly to the fields of deep learning, intelligent search, and natural language processing. Specifically, it relates to a service performance optimization method, apparatus, electronic device, computer-readable storage medium, and computer program product based on a large model. Background Technology

[0002] Artificial intelligence (AI) is the study of enabling computers to simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, and planning). It encompasses both hardware and software technologies. AI hardware technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, and big data processing. AI software technologies primarily include computer vision, speech recognition, natural language processing, machine learning / deep learning, big data processing, and knowledge graph technologies.

[0003] With the rapid development of internet technology, user-facing services are becoming increasingly diverse, and the architecture supporting these services is vast, with complex interdependencies between sub-services. During service operation, issues such as slow response times and service interruptions can arise, posing challenges to fault localization, service maintenance, and management. Summary of the Invention

[0004] This disclosure provides a service performance optimization method, apparatus, electronic device, computer-readable storage medium, and computer program product based on a large model.

[0005] According to one aspect of this disclosure, a service performance optimization method is provided, comprising: responding to receiving alarm information from a service performance monitoring unit; determining a fault instance based on the alarm information, wherein the service performance monitoring unit is used to monitor the performance of multiple instances in the service and trigger an alarm when a fault is detected; determining port information for data collection of the fault instance to obtain a data collection path corresponding to the fault instance; collecting operational data corresponding to the fault instance based on the data collection path, wherein the operational data is in the form of a flame graph; and inputting the operational data into a large language model to obtain analysis data generated by the large language model for the alarm information.

[0006] According to another aspect of this disclosure, a service performance optimization apparatus is provided, comprising: a first determining unit configured to determine a fault instance based on an alarm message received from a service performance monitoring unit, wherein the service performance monitoring unit is used to monitor the performance of multiple instances in the service and trigger an alarm when a fault is detected; a second determining unit configured to determine port information for data collection of the fault instance to obtain a data collection path corresponding to the fault instance; a collection unit configured to collect operational data corresponding to the fault instance based on the data collection path, wherein the operational data is in the form of a flame graph; and a generating unit configured to input the operational data into a large language model to obtain analysis data generated by the large language model for the alarm message.

[0007] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; the memory storing instructions executable by the at least one processor to enable the at least one processor to perform the methods described in this disclosure.

[0008] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions for causing a computer to perform the methods described in this disclosure.

[0009] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the methods described in this disclosure.

[0010] According to one or more embodiments of this disclosure, an immediate response can be made upon receiving alarm information, improving data acquisition efficiency when a fault occurs; furthermore, data acquisition paths are automatically generated, and large language models are used to analyze the collected operational data, reducing manual analysis costs and improving operation and maintenance efficiency.

[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0012] The accompanying drawings exemplify embodiments and form part of the specification, serving together with the textual description to explain exemplary implementations of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals refer to similar but not necessarily identical elements.

[0013] Figure 1A schematic diagram of an exemplary system in which the various methods described herein may be implemented according to embodiments of the present disclosure is shown;

[0014] Figure 2 A flowchart of a service performance optimization method according to an embodiment of the present disclosure is shown;

[0015] Figure 3 A structural block diagram of a service performance optimization apparatus according to an embodiment of the present disclosure is shown; and

[0016] Figure 4 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation

[0017] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0018] In this disclosure, unless otherwise stated, the use of terms such as "first," "second," etc., to describe various elements is not intended to limit the positional, temporal, or importance relationships of these elements; such terms are merely used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of that element, while in other cases, based on the context, they may refer to different instances.

[0019] The terminology used in the description of the various examples described in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context explicitly indicates otherwise, an element may be one or more unless the number of elements is specifically limited. Furthermore, the term "and / or" as used in this disclosure covers any one of the listed items and all possible combinations thereof.

[0020] The embodiments of this disclosure will now be described in detail with reference to the accompanying drawings.

[0021] Figure 1 A schematic diagram of an exemplary system 100 in which the various methods and apparatus described herein can be implemented according to embodiments of this disclosure is shown. Reference Figure 1The system 100 includes one or more client devices 101, 102, 103, 104, 105 and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105 and 106 can be configured to execute one or more applications.

[0022] In embodiments of this disclosure, server 120 may run one or more services or software applications that enable the execution of service exception handling methods.

[0023] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtual and virtual environments. In some embodiments, these services may be provided as web-based services or cloud services, such as to users of client devices 101, 102, 103, 104, 105, and / or 106 under a Software as a Service (SaaS) model.

[0024] exist Figure 1 In the configuration shown, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or combinations thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 can sequentially interact with server 120 using one or more client applications to utilize the services provided by these components. It should be understood that various different system configurations are possible and may differ from system 100. Therefore, Figure 1 This is an example of a system used to implement the various methods described herein, and is not intended to be limiting.

[0025] Users can use client devices 101, 102, 103, 104, 105, and / or 106 to input commands, view and analyze data, etc. The client devices provide an interface that allows users to interact with them. The client devices can also output information to the user through this interface. Although... Figure 1 Only six client devices are described, but those skilled in the art will understand that this disclosure can support any number of client devices.

[0026] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors, or other sensing devices. These computer devices can run various types and versions of software applications and operating systems, such as Microsoft Windows, Apple iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as Google Chrome OS); or include various mobile operating systems, such as Microsoft Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablets, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. Client devices are capable of executing various applications, such as various internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and can use various communication protocols.

[0027] Network 110 can be any type of network well known to those skilled in the art, and can use any of a variety of available protocols (including but not limited to TCP / IP, SNA, IPX, etc.) to support data communication. By way of example only, one or more networks 110 can be a local area network (LAN), an Ethernet-based network, a token ring network, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0028] Server 120 may include one or more general-purpose computers, special-purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0029] The computing unit in server 120 can run one or more operating systems, including any of the aforementioned operating systems and any commercially available server operating system. Server 120 can also run any of a variety of additional server applications and / or middleware applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

[0030] In some implementations, server 120 may include one or more applications to analyze and merge data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.

[0031] In some implementations, server 120 can be a server for a distributed system or a server integrated with blockchain. Server 120 can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in the cloud computing service system, designed to address the shortcomings of traditional physical hosts and Virtual Private Server (VPS) services, such as high management difficulty and weak business scalability.

[0032] System 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as operational data. Databases 130 may reside in various locations. For example, a database used by server 120 may be local to server 120, or it may be located away from server 120 and may communicate with server 120 via a network-based or dedicated connection. Databases 130 may be of different types. In some embodiments, the database used by server 120 may be, for example, a relational database. One or more of these databases may store, update, and retrieve data from and from the databases in response to commands.

[0033] In some embodiments, one or more of the databases 130 may also be used by an application to store application data. The databases used by the application may be of different types, such as key-value stores, object stores, or regular stores supported by a file system.

[0034] Figure 1The system 100 can be configured and operated in various ways to enable the application of the various methods and apparatus described in this disclosure.

[0035] pprof is a performance profiling tool in Go used to analyze and diagnose performance issues in Go programs. It helps developers understand CPU usage, memory allocation, blocking behavior, goroutine activity, and more, helping to identify performance bottlenecks and optimization points. Go is a statically typed, compiled language. Go's design goal is to combine the safety and performance of statically typed languages ​​with the ease of use of dynamic languages. Go provides language-level support for goroutines, making it particularly suitable for writing high-concurrency projects.

[0036] In some scenarios, the search service has experienced multiple instances of abnormal Go program memory usage leading to OutOfMemory (OOM) errors, impacting service stability. Obtaining real-time data at the time of the program error is extremely helpful in resolving these issues.

[0037] Currently, when monitoring systems detect abnormal CPU / memory resource usage in programs, manual intervention is usually required to collect pprof files, i.e., to collect relevant data. This process is prone to delays, leading to missed on-site data collection and increasing the difficulty of problem localization. Furthermore, after collecting the problem data, manual analysis is required to pinpoint the cause of the problem and provide corresponding solutions. This places high demands on the knowledge and skills of the operations and maintenance personnel, resulting in high labor costs.

[0038] Therefore, an embodiment of this disclosure provides a service performance optimization method. Figure 2 A flowchart of a service exception handling method according to an embodiment of the present disclosure is shown, such as... Figure 2 As shown, method 200 includes: in response to receiving alarm information from a service performance monitoring unit, determining a faulty instance based on the alarm information, wherein the service performance monitoring unit is used to perform performance monitoring on multiple instances in the service and trigger an alarm when a fault is detected (step 210); determining the port information for data collection of the faulty instance to obtain the data collection path corresponding to the faulty instance (step 220); collecting the running data corresponding to the faulty instance based on the data collection path, wherein the running data is in the form of a flame graph (step 230); and inputting the running data into a large language model to obtain analysis data generated by the large language model for the alarm information (step 240).

[0039] According to embodiments of this disclosure, an immediate response can be initiated upon receiving alarm information, improving data acquisition efficiency when a fault occurs; furthermore, data acquisition paths are automatically generated, and large language models are used to analyze the collected operational data, reducing manual analysis costs and improving operational efficiency.

[0040] In this disclosure, the service performance monitoring unit can be any suitable monitoring unit or system, such as one that can be configured to monitor the utilization of resources such as CPU and memory and issue alarm information when an anomaly is detected.

[0041] In this disclosure, a service can be a standalone physical server that users can configure and manage as needed, providing various operating systems and software environments that users can choose according to their requirements; or it can be an abstract software component that encapsulates a series of functions that are provided to the outside world through well-defined interfaces so that other software components (such as clients, other services, etc.) can access and use them.

[0042] An instance is a concrete implementation or copy of a service. It provides the functionality defined by the service and communicates with other instances or clients through a network interface. In object-oriented programming, an instance typically refers to an object created from a class; in distributed systems, an instance may refer to a running entity of a service. In distributed systems, services are often deployed as multiple instances to achieve high availability and load balancing. For example, a microservice might run as multiple instances on multiple servers to handle requests from clients.

[0043] In the performance analysis embodiment described above using the pprof tool, the CPU and memory usage of a program can be analyzed. In the field of performance analysis, profiling refers to creating a profile of an application, i.e., how the application uses CPU and memory. When using the pprof tool, data can be sampled by enabling CPU performance analysis or memory performance analysis. First, the pprof tool loads and analyzes the exported profile file. This can be done via command line, for example: pprof [binary][profile], where [binary] is the program's binary file, and [profile] is the profile file exported by the pprof tool.

[0044] After the pprof tool exports a profile file, it can be converted into a flame graph through a series of steps for more intuitive analysis of program performance bottlenecks. This can be done via command line, for example: `go toolpprof -svg cpu.pprof>cpu_flamegraph.svg` (usually in SVG format). The generated flame graph file can be opened in a browser for interactive analysis and viewing.

[0045] Therefore, in some examples, the pprof tool can be used to manage and connect services that require performance analysis, including the corresponding data collection ports and alarm policies. Then, when an alarm is received from the service performance monitoring unit, the alarm information is parsed. The pprof tool provides an interactive interface where users can view function call relationships, CPU and memory usage, etc.

[0046] According to some embodiments, determining the port information for data collection of the faulty instance to obtain the data collection path corresponding to the faulty instance includes: determining whether the instance in which the service is performing data collection has reached a preset threshold; and in response to determining that the preset threshold has not been reached, determining the port information for data collection of the faulty instance to obtain the data collection path corresponding to the faulty instance.

[0047] For example, determine whether the frequency control limit for data collection using the pprof tool has been reached, such as allowing a maximum of N (N is a positive integer) instances to collect data simultaneously, in order to prevent large-scale data collection from putting pressure on the service.

[0048] According to some embodiments, determining the port information for data acquisition of the fault instance to obtain the data acquisition path corresponding to the fault instance includes: obtaining the port information for data acquisition of the fault instance based on a preset mapping table, wherein the preset mapping table is used to characterize the correspondence between the corresponding instance and the port information; and generating the data acquisition path based on a preset template and the port information.

[0049] For example, as described above, if the frequency control limit is not reached, the port information for data collection of the fault instance, such as the IP address, is obtained based on a preset mapping table. Then, based on this port information and a preset template, an automated concatenation process is used to generate a data collection path, such as a URL, for the pprof tool to collect data. The pprof tool is then triggered to collect data and the obtained profile file is further converted into a flame graph for storage, for subsequent analysis by a large language model.

[0050] According to some embodiments, inputting the running data into a large language model to obtain analysis data for the alarm information generated by the large language model includes: inputting the running data and at least one preset instruction into the large language model to obtain the analysis data generated by the large language model, wherein the at least one preset instruction is used to guide the generation process of the analysis data.

[0051] In some embodiments, the preset instructions may be instructions for initiating the data generation process, such as instructions for causing the data to be generated in a specific form (e.g., in the form of a list or table).

[0052] Therefore, once the runtime data is obtained, at least one preset prompt can be introduced during the data generation process to guide the model to generate analysis content that better meets user expectations based on the runtime data, thereby improving the quality of the generated analysis content and enhancing the user experience.

[0053] For example, the preset instructions could be: "Please answer the question in Chinese, and avoid generating contradictory or semantically repetitive answers. Try to keep the answer content within 250 characters." or "Please try to use line breaks, hyphens, and other formatting or symbols to organize your answer so that it is easy to read and understand."

[0054] According to some embodiments, the at least one preset instruction includes a first preset instruction, which indicates that the runtime data is a flame graph, wherein the flame graph is an SVG format vector graphic. This facilitates the large language model's accurate understanding of the obtained runtime data, enabling more reasonable generation of analysis data.

[0055] According to some embodiments, the analysis data includes performance bottlenecks of the service and optimization suggestions corresponding to the performance bottlenecks.

[0056] At this point, the default prompt could be something like, "This is a flame graph of a service. Please analyze the performance bottlenecks and provide optimization suggestions."

[0057] For example, performance bottlenecks could be: .*net.(UDPConn).ReadFrom(23.53%), which reads UDP data; .*net.(UDPConn).WriteTo(17.65%), which sends data to UDP; and runtime.futex(11.76%), which is used for thread synchronization and locking.

[0058] For example, optimization suggestions could include: optimizing UDP read and write operations, considering using a more efficient UDP library or optimizing data structures; reducing thread synchronization, checking if reliance on futex can be reduced, for example, by using lock-free data structures or other concurrency mechanisms; checking socket configurations to ensure they are suitable for the application's needs (e.g., buffer size and number of connections); considering non-blocking I / O, as using non-blocking I / O may help improve throughput; and analyzing other parts of the program, as these bottlenecks may be caused by problems in other parts of the program, such as memory allocation or garbage collection.

[0059] According to some embodiments, the large language model is trained on at least a predetermined scale of knowledge resources and dialogue data.

[0060] In some embodiments, a large language model can be a knowledge-enhanced large language model for dialogue (e.g., ERNIEbot, etc.), which is trained on massive knowledge resources and dialogue data (e.g., including trillions of web pages, billions of search data, hundreds of millions of image data, billions of voice requests per day, over 50 billion text requests, and over 550 billion factual knowledge).

[0061] Therefore, applying this type of model as a large language model can not only directly process chat-type dialogue information, but also directly generate response information for dialogue information of logical reasoning, common sense, and image generation, thereby improving generation efficiency while generating higher quality response information.

[0062] According to embodiments of this disclosure, such as Figure 3 As shown, a service performance optimization device 300 is also provided, comprising: a first determining unit 310, configured to determine a fault instance based on an alarm message received from a service performance monitoring unit, wherein the service performance monitoring unit is used to monitor the performance of multiple instances in the service and trigger an alarm when a fault is detected; a second determining unit 320, configured to determine the port information for data collection of the fault instance to obtain the data collection path corresponding to the fault instance; a collection unit 330, configured to collect the running data corresponding to the fault instance based on the data collection path, wherein the running data is in the form of a flame graph; and a generating unit 340, configured to input the running data into a large language model to obtain analysis data generated by the large language model for the alarm message.

[0063] According to some embodiments, the second determining unit includes: a unit for determining whether an instance of the service that is collecting running data has reached a preset threshold; and a unit for determining the port information of the faulty instance for data collection in response to determining that the preset threshold has not been reached, to obtain the data collection path corresponding to the faulty instance.

[0064] According to some embodiments, the second determining unit includes: a unit for obtaining port information of the fault instance for data acquisition based on a preset mapping table, wherein the preset mapping table is used to characterize the correspondence between the corresponding instance and the port information; and a unit for generating the data acquisition path based on a preset template and the port information.

[0065] According to some embodiments, the generation unit includes: a unit for inputting the running data and at least one preset instruction into the large language model to obtain the analysis data generated by the large language model, wherein the at least one preset instruction is used to guide the generation process of the analysis data.

[0066] According to some embodiments, the at least one preset instruction includes a first preset instruction, which is used to indicate that the running data is a flame graph, wherein the flame graph is an SVG format data vector image.

[0067] According to some embodiments, the analysis data includes performance bottlenecks of the service and optimization suggestions corresponding to the performance bottlenecks.

[0068] Here, the operation of each of the above-mentioned units 310 to 340 of the service performance optimization device 300 is similar to the operation of steps 210 to 240 described above, and will not be repeated here.

[0069] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0070] According to embodiments of this disclosure, an electronic device, a readable storage medium, and a computer program product are also provided.

[0071] refer to Figure 4The present invention describes a structural block diagram of an electronic device 400 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, 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 processors, cellular phones, smartphones, 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 claimed herein.

[0072] like Figure 4 As shown, the electronic device 400 includes a computing unit 401, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 402 or a computer program loaded from a storage unit 408 into a random access memory (RAM) 403. The RAM 403 may also store various programs and data required for the operation of the electronic device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.

[0073] Multiple components in electronic device 400 are connected to I / O interface 405, including: input unit 406, output unit 407, storage unit 408, and communication unit 409. Input unit 406 can be any type of device capable of inputting information to electronic device 400. Input unit 406 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device, and may include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 407 can be any type of device capable of presenting information, and may include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 408 may include, but is not limited to, a hard disk and an optical disk. Communication unit 409 allows electronic device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets, such as Bluetooth devices, 802.11 devices, WiFi devices, WiMax devices, cellular communication devices, and / or the like.

[0074] The computing unit 401 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above, such as method 200. For example, in some embodiments, method 200 may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of method 200 described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to perform method 200 by any other suitable means (e.g., by means of firmware).

[0075] Various embodiments 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-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0076] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

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

[0078] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, 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 sound input, voice input, or tactile input).

[0079] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0080] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0081] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0082] While embodiments or examples of this disclosure have been described with reference to the accompanying drawings, it should be understood that the methods, systems, and devices described above are merely exemplary embodiments or examples, and the scope of the invention is not limited by these embodiments or examples, but only by the granted claims and their equivalents. Various elements in the embodiments or examples may be omitted or replaced by their equivalents. Furthermore, the steps may be performed in a different order than that described in this disclosure. Further, various elements in the embodiments or examples may be combined in various ways. Importantly, as the technology evolves, many elements described herein can be replaced by equivalents that appear after this disclosure.

Claims

1. A service performance optimization method, comprising: determining, in response to receiving alarm information from a service performance monitoring unit, a fault instance based on the alarm information, wherein the service performance monitoring unit is configured to monitor performance of multiple instances in the service and trigger an alarm when a fault is detected; determining port information for data collection of the fault instance to obtain a data collection path corresponding to the fault instance, comprising: determining whether an instance of the service that is performing data collection reaches a preset threshold; in response to determining that the preset threshold is not reached, obtaining the port information for data collection of the fault instance based on a preset mapping table, wherein the preset mapping table is configured to represent a corresponding relationship between a corresponding instance and port information; and generating the data collection path based on a preset template and the port information; collecting running data corresponding to the fault instance based on the data collection path, wherein the running data is in the form of a flame graph; and inputting the running data into a large language model to obtain analysis data generated by the large language model for the alarm information.

2. The method of claim 1, wherein, Inputting the running data into a large language model to obtain analysis data generated by the large language model for the alarm information comprises: inputting the running data and at least one preset instruction into the large language model to obtain the analysis data generated by the large language model, wherein the at least one preset instruction is used to guide the generation process of the analysis data.

3. The method of claim 2, wherein, The at least one preset instruction comprises a first preset instruction for indicating that the running data is a flame graph, wherein the flame graph is an SVG format data vector graph.

4. The method of claim 1, wherein, The analysis data comprises a performance bottleneck point of the service and an optimization suggestion corresponding to the performance bottleneck point.

5. A service performance optimization apparatus, comprising: a first determining unit configured to determine, in response to receiving alarm information from a service performance monitoring unit, a fault instance based on the alarm information, wherein the service performance monitoring unit is configured to monitor performance of multiple instances in the service and trigger an alarm when a fault is detected; a second determining unit configured to determine port information for data collection of the fault instance to obtain a data collection path corresponding to the fault instance, comprising: determining whether an instance of the service that is performing data collection reaches a preset threshold; in response to determining that the preset threshold is not reached, obtaining the port information for data collection of the fault instance based on a preset mapping table, wherein the preset mapping table is configured to represent a corresponding relationship between a corresponding instance and port information; and generating the data collection path based on a preset template and the port information; a collecting unit configured to collect running data corresponding to the fault instance based on the data collection path, wherein the running data is in the form of a flame graph; and a generating unit configured to input the running data into a large language model to obtain analysis data generated by the large language model for the alarm information.

6. The apparatus of claim 5, wherein, The generating unit comprises: a unit configured to input the running data and at least one preset instruction into the large language model to obtain the analysis data generated by the large language model, wherein the at least one preset instruction is used to guide the generation process of the analysis data.

7. The apparatus of claim 6, wherein, The at least one preset instruction comprises a first preset instruction, and the first preset instruction is used to indicate that the running data is a flame graph, and the flame graph is an SVG format data vector diagram.

8. The apparatus of claim 5, wherein, The analysis data comprises a performance bottleneck point of the service and an optimization suggestion corresponding to the performance bottleneck point.

9. An electronic device comprising: 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 to enable the at least one processor to perform the method of any one of claims 1-4.

10. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable the computer to perform the method of any one of claims 1-4.

11. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method of any one of claims 1-4.

Citation Information

Patent Citations

  • Fault self-recovery method and system based on large language model

    CN117909119A

  • Abnormal root cause determination method and system, storage medium and program product

    CN118473904A