Software compatibility testing method, system, electronic device and medium

By simulating pure system and video processing model combined with graph neural network analysis software compatibility, the problems of complexity and accuracy of software compatibility assessment in the prior art are solved, and fast and accurate compatibility assessment and risk identification are achieved.

CN118585454BActive Publication Date: 2025-02-07NANJING XIAN INFORMATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410922063.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-10
Publication Date
2025-02-07
Estimated Expiration
2044-07-10

AI Technical Summary

Technical Problem

It is difficult for prior art to quickly and accurately evaluate software compatibility in diverse operating environments, especially in environments where multiple software coexist.

Method used

By obtaining the user's software system information, determine the simulated pure system, obtain the operating and recorded video of the target software on the simulated pure system, use the gated loop unit video processing model to determine the software compatibility, and analyze the software between the graph neural network model Compatibility risks, ultimately determining software compatibility through weighted average.

Benefits of technology

It realizes rapid and accurate evaluation of software compatibility, and can effectively identify compatibility risks in complex multi-software coexistence environments, improving testing efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118585454B_ABST
    Figure CN118585454B_ABST
Patent Text Reader

Abstract

The present invention provides a software compatibility testing method, system, electronic device and medium, which relate to the technical field of software compatibility, and include obtaining software system information of a user, wherein the software system information of the user includes a user operating system and multiple software information on the user operating system; determining a simulated pure system based on the user operating system; obtaining a running recorded video of a target software on the simulated pure system; determining a first software compatibility based on the running recorded video of the target software on the simulated pure system using a first video processing model, wherein the first video processing model is a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; and determining software compatibility based on the target compatibility. The method quickly and accurately evaluates software compatibility.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of software technology, and in particular to a software compatibility testing method, system, electronic equipment and medium. Background Art

[0002] Software compatibility assessment is a key link in the software life cycle, especially when the software needs to be deployed in an unknown or unfamiliar system environment. The compatibility of software is not only related to whether it can run normally in the target system, but also directly affects the performance, stability and user experience of the software. Traditional software compatibility assessment methods usually rely on manual testing and static code analysis. When a software needs to be deployed in an unfamiliar system environment, the existence of different operating systems, hardware configurations, driver versions, middleware and third-party software forms an extremely diverse operating environment, which increases the complexity of compatibility assessment. The dynamic behavior of the software at runtime, such as resource competition, network communication, system calls, etc., is difficult to fully predict through static analysis, especially in an environment where multiple software coexist.

[0003] Therefore, how to quickly and accurately evaluate software compatibility is an urgent problem to be solved. Summary of the invention

[0004] The main technical problem solved by the present invention is how to quickly and accurately evaluate software compatibility.

[0005] According to a first aspect, the present invention provides a software compatibility testing method, comprising: obtaining a user's software system information, wherein the user's software system information includes a user operating system and multiple software information on the user operating system; determining a simulated pure system based on the user operating system; obtaining a recorded video of the operation of a target software on the simulated pure system; determining a first software compatibility based on the recorded video of the operation of the target software on the simulated pure system using a first video processing model, wherein the first video processing model is a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; and determining software compatibility based on the target compatibility.

[0006] Furthermore, the determining of the compatibility of the second software based on the target software and the multiple software information on the user system includes: determining multiple compatible risk software based on the target software and the multiple software information on the user system; obtaining a video of the target software and the multiple compatible risk software running together on a simulated pure system; and determining the compatibility of the second software based on the video of the target software and the multiple compatible risk software running together on the simulated pure system using a second video processing model, wherein the second video processing model is a gated loop unit.

[0007] Furthermore, the determining of multiple compatible risk software based on the target software and multiple software information on the user system includes: constructing a graph structure based on the target software and multiple software information on the user system, the graph structure including a target software node and multiple user system software nodes, wherein the target software node is a central node, and each user system software node establishes an edge with the target software node, the node feature of the target software includes the target software information, the node feature of each user system software includes each user system software information, and the feature of the edge established between each user system software node and the target software node is the similarity between the user system software and the target software; processing the graph structure based on a graph neural network model to determine multiple compatible risk software.

[0008] Furthermore, determining the target compatibility based on the first software compatibility and the second software compatibility includes:

[0009] The first software compatibility and the second software compatibility are weighted averaged according to predetermined weights to obtain a target compatibility, wherein the first software compatibility reflects the compatibility of the target software in a pure environment, and the second software compatibility reflects the compatibility of the target software in an environment with compatible risk software.

[0010] Furthermore, determining the software compatibility based on the target compatibility includes:

[0011] When the target compatibility is higher than a preset threshold, the target software compatibility is determined to be very compatible;

[0012] When the target compatibility is lower than the preset threshold but higher than the middle threshold, the target software compatibility is determined to be generally compatible;

[0013] When the target compatibility is lower than the minimum threshold, the target software compatibility is determined to be incompatible.

[0014] According to a second aspect, the present invention provides a software compatibility testing system, including: a first acquisition module, used to acquire a user's software system information, wherein the user's software system information includes a user operating system and a plurality of software information on the user operating system;

[0015] A simulated pure system determination module, used to determine a simulated pure system based on the user operating system;

[0016] The second acquisition module is used to obtain the running recording video of the target software on the simulated pure system;

[0017] A first software compatibility determination module, configured to determine the first software compatibility using a first video processing model based on a running recorded video of the target software on a simulated pure system, wherein the first video processing model is a gated loop unit;

[0018] A second software compatibility determination module, configured to determine the second software compatibility based on the target software and a plurality of software information on the user system;

[0019] a target compatibility determination module, configured to determine a target compatibility based on the first software compatibility and the second software compatibility;

[0020] The software compatibility determination module is used to determine the software compatibility based on the target compatibility.

[0021] Furthermore, the second software compatibility determination module is further used for:

[0022] Determine a plurality of compatible risk software based on the target software and a plurality of software information on the user system;

[0023] Obtain a video of the target software and multiple compatible risky software running together on a simulated clean system;

[0024] The compatibility of the second software is determined based on a video of the target software and a plurality of compatible risk software running together on a simulated pure system using a second video processing model, where the second video processing model is a gated loop unit.

[0025] Furthermore, the second software compatibility determination module is further used for:

[0026] A graph structure is constructed based on the target software and the multiple software information on the user system, wherein the graph structure includes a target software node and multiple user system software nodes, wherein the target software node is a central node, and each user system software node respectively establishes an edge with the target software node, the node feature of the target software includes the target software information, the node feature of each user system software includes each user system software information, and the feature of each user system software node establishing an edge with the target software node is the similarity between the user system software and the target software;

[0027] The graph structure is processed based on a graph neural network model to determine multiple compatible risk software.

[0028] According to a third aspect, an embodiment of the present invention provides an electronic device, comprising: a processor; a memory; and a computer program; wherein the computer program is stored in the memory and configured to be executed by the processor to implement a method as described above, the method comprising: obtaining a user's software system information, the user's software system information comprising a user operating system and multiple software information on the user operating system; determining a simulated pure system based on the user operating system; obtaining a recorded video of the operation of a target software on the simulated pure system; determining a first software compatibility based on the recorded video of the operation of the target software on the simulated pure system using a first video processing model, the first video processing model being a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; determining software compatibility based on the target compatibility.

[0029] According to the fourth aspect, the present embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the software compatibility testing method provided above, the method comprising: obtaining the user's software system information, the user's software system information comprising a user operating system and multiple software information on the user operating system; determining a simulated pure system based on the user operating system; obtaining a recorded video of the operation of the target software on the simulated pure system; determining a first software compatibility based on the recorded video of the operation of the target software on the simulated pure system using a first video processing model, the first video processing model being a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; determining software compatibility based on the target compatibility.

[0030] The present invention provides a software compatibility testing method, system, electronic device and medium, the method comprising obtaining the user's software system information, the user's software system information comprising the user's operating system and multiple software information on the user's operating system; determining a simulated pure system based on the user's operating system; obtaining a recorded video of the operation of a target software on the simulated pure system; determining a first software compatibility based on the recorded video of the operation of the target software on the simulated pure system using a first video processing model, the first video processing model being a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; and determining software compatibility based on the target compatibility. The method quickly and accurately evaluates software compatibility. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 A flowchart of a software compatibility testing method provided by an embodiment of the present invention;

[0032] Figure 2 A schematic diagram of a flow chart of determining the compatibility of second software based on target software and multiple software information on a user system provided by an embodiment of the present invention;

[0033] Figure 3 A schematic diagram of a process for determining multiple compatible risk software based on target software and multiple software information on a user system provided by an embodiment of the present invention;

[0034] Figure 4 A schematic diagram of a software compatibility testing system provided by an embodiment of the present invention;

[0035] Figure 5 A schematic diagram of an electronic device provided by an embodiment of the present invention;

[0036] Figure 6 A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0037] The present invention is further described in detail below by specific embodiments in conjunction with the accompanying drawings. Wherein similar elements in different embodiments adopt associated similar element numbers. In the following embodiments, many detailed descriptions are for making the present invention better understood. However, those skilled in the art can easily recognize that some features can be omitted in different situations, or can be replaced by other elements, materials, methods. In some cases, some operations related to the present invention are not shown or described in the specification, this is to avoid the core part of the present invention being overwhelmed by too much description, and for those skilled in the art, it is not necessary to describe these related operations in detail, and they can fully understand the related operations according to the description in the specification and the general technical knowledge in the art.

[0038] In addition, the features, operations or characteristics described in the specification can be combined in any appropriate manner to form various implementations. At the same time, the steps or actions in the method description can also be interchanged or adjusted in a manner that is obvious to those skilled in the art. Therefore, the various sequences in the specification and the drawings are only for the purpose of clearly describing a certain embodiment and are not meant to be a required sequence, unless otherwise specified that a certain sequence must be followed.

[0039] The serial numbers assigned to the components herein, such as "first", "second", etc., are only used to distinguish the objects described and do not have any order or technical meaning. The "connection" and "coupling" mentioned in the present invention include direct and indirect connections (couplings) unless otherwise specified.

[0040] In an embodiment of the present invention, there is provided Figure 1 A software compatibility testing method is shown, the software compatibility testing method comprises steps S1 to S7:

[0041] Step S1, obtaining the user's software system information, wherein the user's software system information includes the user's operating system and multiple software information on the user's operating system.

[0042] The user's software system information refers to the detailed information of the operating system installed on the user's device and all the software running on it. The user's software system information includes the user's operating system and multiple software information on the user's operating system.

[0043] The user operating system is the main operating system running on the user's device, such as Windows 10, macOS, Linux distributions (such as Ubuntu), Android, or iOS. The operating system is the basic environment for software to run, and its version and type have a significant impact on software compatibility.

[0044] The software information on the user's operating system includes the name, version number, installation path, etc. of all installed software. For example, if Microsoft Office is installed on the user's device, this part of the information will include the version numbers of different components of Office (such as Word, Excel, PowerPoint).

[0045] Step S2: determining a simulated pure system based on the user operating system.

[0046] This step involves creating a simulated environment that is identical to the user's operating system but without any third-party software installed. For example, if the user's operating system is Windows 10, the simulated pure system will also be Windows 10, but without any additional software installed except the software that comes with the operating system.

[0047] Step S3, obtaining a running recording video of the target software on the simulated pure system.

[0048] The target software running on the simulated pure system recording video is a screen recording video of the target software running in a pure system environment that is not affected by other software. For example, if the target software is a chat software, the target software running on the simulated pure system recording video will show the chat software sending messages, getting files, opening, editing documents, saving, and other operations in the simulated pure system.

[0049] Step S4, determining the compatibility of the first software using a first video processing model based on the running recorded video of the target software on the simulated pure system, wherein the first video processing model is a gated loop unit.

[0050] The Gated Recurrent Unit (GRU) is a variant of the Recurrent Neural Network (RNN) that is good at processing sequential data, such as video frame sequences, and can capture features that change over time in videos. By analyzing the running recorded video, the first video processing model can identify abnormal behaviors during software runtime, such as freezes, crashes, UI rendering errors, etc., to evaluate the basic compatibility and stability of the software. This step provides important baseline data for subsequent analysis of the compatibility of software in complex environments, helps testers understand the basic behavior of software in an interference-free environment, and lays the foundation for further compatibility testing and troubleshooting. By using a recurrent neural network model such as the gated recurrent unit, the timing information in the video data can be effectively processed, the dynamic characteristics of the software operation can be captured, and the compatibility of the software can be more accurately evaluated. Compared with traditional manual testing, this method can provide more objective and comprehensive compatibility evaluation results, which helps to improve testing efficiency and accuracy.

[0051] Step S5, determining the second software compatibility based on the target software and the multiple software information on the user system.

[0052] Figure 2 A flow chart of determining the compatibility of second software based on target software and multiple software information on a user system provided by an embodiment of the present invention, wherein determining the compatibility of the second software includes steps S21 to S23:

[0053] Step S21, determining a plurality of compatible risk software based on the target software and a plurality of software information on the user system;

[0054] In some embodiments, Figure 3 A flowchart of determining multiple compatible risk software based on target software and multiple software information on a user system is provided in an embodiment of the present invention. The determining multiple compatible risk software includes steps S31-S32:

[0055] Step S31, constructing a graph structure based on the target software and the multiple software information on the user system, the graph structure includes a target software node and multiple user system software nodes, wherein the target software node is a central node, each user system software node respectively establishes an edge with the target software node, the node feature of the target software includes the target software information, the node feature of each user system software includes each user system software information, and the feature of each user system software node establishing an edge with the target software node is the similarity between the user system software and the target software;

[0056] The graph structure is used to represent the relationship between the target software and other software on the user system. A central node is created in the graph structure as the target software node, and multiple peripheral nodes are created as user system software nodes.

[0057] In actual user environments, the relationships between software are often intricate and complex, and it is difficult to fully capture them through manual analysis alone. Graph structures provide a systematic way to organize and analyze these relationships, especially when the number of software is large, graph structures can effectively manage this complexity.

[0058] In some embodiments, the similarity between the user system software and the target software may be calculated using a commonly used similarity calculation algorithm, such as cosine similarity.

[0059] Step S32: Process the graph structure based on the graph neural network model to determine multiple compatible risk software.

[0060] The graph neural network model is specifically designed to process graph structured data and can analyze node features and edge features to classify or predict nodes in the graph. The neural network model learns high-level representations of nodes and edges through multi-layer message passing and aggregation operations to identify which nodes (i.e., user system software) have a higher compatibility risk with the central node (target software). The graph neural network model is able to process graph structured data and identify potential compatibility risks by learning node features and edge features. This capability enables machine learning algorithms to go beyond simple binary relationships and capture deeper dependency and conflict patterns in the software ecosystem.

[0061] Compatibility risk software is software that has a high degree of overlap with the target software in terms of function, type or usage scenario, and may cause conflicts or compatibility issues with the target software during operation.

[0062] Step S22, obtaining a video of the target software and multiple compatible risk software running together on a simulated pure system;

[0063] The video of the target software and multiple compatible risk software running together on a simulated pure system is a video recorded when the target software and multiple compatible risk software are running simultaneously in a simulated pure system, and is used to observe and analyze compatibility issues between software.

[0064] By recording the co-operation video, you can visually see whether the interaction between the software is smooth, and whether there are crashes, freezes, data loss or other abnormalities. This step is the basis for the subsequent analysis of software compatibility and provides key visual evidence and data support for determining the compatibility of the second software using the second video processing model.

[0065] Step S23, determining the compatibility of the second software using a second video processing model based on the video of the target software and multiple compatible risk software running together on the simulated pure system, wherein the second video processing model is a gated loop unit.

[0066] In some embodiments, the second video processing model includes an anomaly detection layer and a compatibility determination layer. The input of the anomaly detection layer is a video of the target software and a plurality of compatible risk software running together on a simulated pure system, the output of the anomaly detection layer is a software running abnormal mode and the severity of the software running abnormal mode, the input of the compatibility determination layer is a software running abnormal mode and the severity of the software running abnormal mode, and the output of the compatibility determination layer is the second software compatibility.

[0067] Step S6: determining a target compatibility based on the first software compatibility and the second software compatibility.

[0068] In some embodiments, the first software compatibility and the second software compatibility can be weighted averaged according to predetermined weights to obtain a target compatibility, wherein the first software compatibility reflects the compatibility of the target software in a pure environment, and the second software compatibility reflects the compatibility of the target software in an environment with compatibility risk software.

[0069] Step S7: determining software compatibility based on the target compatibility.

[0070] When the target compatibility is higher than a preset threshold, the target software compatibility is determined to be very compatible;

[0071] When the target compatibility is lower than the preset threshold but higher than the middle threshold, the target software compatibility is determined to be generally compatible;

[0072] When the target compatibility is lower than the minimum threshold, the target software compatibility is determined to be incompatible.

[0073] Preset thresholds can be manually entered in advance.

[0074] Based on the same inventive concept, Figure 4A schematic diagram of a software compatibility testing system provided by an embodiment of the present invention, the software compatibility testing system comprising:

[0075] A first acquisition module 41 is used to acquire the user's software system information, wherein the user's software system information includes the user's operating system and multiple software information on the user's operating system;

[0076] A simulated pure system determination module 42, configured to determine a simulated pure system based on the user operating system;

[0077] The second acquisition module 43 is used to acquire the running recorded video of the target software on the simulated pure system;

[0078] A first software compatibility determination module 44 is used to determine the first software compatibility based on the running recorded video of the target software on the simulated pure system using a first video processing model, wherein the first video processing model is a gated loop unit;

[0079] A second software compatibility determination module 45, configured to determine the second software compatibility based on the target software and the plurality of software information on the user system;

[0080] A target compatibility determination module 46, configured to determine a target compatibility based on the first software compatibility and the second software compatibility;

[0081] The software compatibility determination module 47 is used to determine the software compatibility based on the target compatibility.

[0082] Based on the same inventive concept, an embodiment of the present invention provides an electronic device, such as Figure 5 As shown, including:

[0083] It includes: a processor 51; a memory 52; and a computer program; wherein the computer program is stored in the memory 52 and is configured to be executed by the processor 51 to implement the software compatibility testing method provided above, the method including: obtaining the user's software system information, the user's software system information including the user's operating system and multiple software information on the user's operating system; determining a simulated pure system based on the user's operating system; obtaining a running recorded video of the target software on the simulated pure system; determining a first software compatibility based on the running recorded video of the target software on the simulated pure system using a first video processing model, the first video processing model being a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; determining software compatibility based on the target compatibility.

[0084] Based on the same inventive concept, this embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by the processor 51, implements the software compatibility testing method provided above, the method comprising: obtaining the user's software system information, the user's software system information comprising the user's operating system and multiple software information on the user's operating system; determining a simulated pure system based on the user's operating system; obtaining a running recorded video of the target software on the simulated pure system; determining a first software compatibility based on the running recorded video of the target software on the simulated pure system using a first video processing model, the first video processing model being a gated loop unit; determining a second software compatibility based on the target software and multiple software information on the user system; determining a target compatibility based on the first software compatibility and the second software compatibility; and determining software compatibility based on the target compatibility.

[0085] The software compatibility testing method provided in the embodiments of the present application can be applied to terminal devices (such as mobile phones), tablet computers, laptops, ultra-mobile personal computers (UMPCs), handheld computers, netbooks, personal digital assistants (PDAs), wearable devices (such as smart watches, smart glasses or smart helmets, etc.), augmented reality (AR) and virtual reality (VR) devices, smart home devices, car computers and other electronic devices, and the embodiments of the present application do not impose any restrictions on this.

[0086] Taking the mobile phone 100 as an example of the electronic device, Figure 6 A schematic structural diagram of the mobile phone 100 is shown.

[0087] like Figure 6 As shown, the mobile phone 100 may include a processing module 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.

[0088] The sensor module 180 may include a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor and other sensors.

[0089] It is to be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the mobile phone 100. In other embodiments of the present application, the mobile phone 100 may include more or fewer components than those illustrated, or combine certain components, or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0090] The processing module 110 may include one or more processing units, for example, the processing module 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0091] The controller can be the nerve center and command center of the mobile phone 100, and is the decision maker that commands the various components of the mobile phone 100 to work in coordination according to the instructions. The controller can generate an operation control signal according to the instruction operation code and timing signal to complete the control of fetching and executing instructions.

[0092] The application processor may be installed with an operating system of the mobile phone 100, which is used to manage the hardware and software resources of the mobile phone 100. For example, it may manage and configure memory, determine the priority of system resource supply and demand, manage file systems, manage drivers, etc. The operating system may also be used to provide an operating interface for users to interact with the system. Various types of software may be installed in the operating system, such as drivers, applications (applications, apps), etc. Exemplarily, the operating system of the mobile phone 100 may be an Android system, a Linux system, etc.

[0093] A memory may also be provided in the processing module 110 for storing instructions and data. In some embodiments, the memory in the processing module 110 is a cache memory. The memory may store instructions or data that have just been used or are cyclically used by the processing module 110. If the processing module 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processing module 110, and thus improves the efficiency of the system.

[0094] In some embodiments, the processing module 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuits sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0095] The processing module 110 can obtain chronic difficult-to-heal wound images and wound detection reports of multiple users.

[0096] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the mobile phone 100. While the charging management module 140 is charging the battery 142, it may also power the electronic device through the power management module 141.

[0097] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processing module 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processing module 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processing module 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0098] The wireless communication function of the mobile phone 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0099] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in mobile phone 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0100] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the mobile phone 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be arranged in the processing module 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be arranged in the same device as at least some of the modules of the processing module 110.

[0101] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processing module 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0102] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the mobile phone 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processing module 110. The wireless communication module 160 can also receive the signal to be sent from the processing module 110, modulate the frequency of the signal, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0103] In some embodiments, the antenna 1 of the mobile phone 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the mobile phone 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0104] The mobile phone 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which is connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processing module 110 may include one or more GPUs, which execute program instructions to generate or change display information.

[0105] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the mobile phone 100 may include 1 or N display screens 194, where N is a positive integer greater than 1. In the embodiment of the present application, the display screen 194 can be used to display a remote session window, an image of a chronic, difficult-to-heal wound, and a wound detection report.

[0106] The mobile phone 100 can realize the shooting function through the ISP, the camera 193, the video codec, the GPU, the display screen 194 and the application processor. In some embodiments, the mobile phone 100 can realize the video communication function through the ISP, the camera 193, the video codec, the GPU and the application processor.

[0107] ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, ISP can be set in camera 193.

[0108] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the mobile phone 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0109] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the mobile phone 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0110] Video codecs are used to compress or decompress digital videos. Mobile phone 100 may support one or more video codecs. Thus, mobile phone 100 may play or record videos in various coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0111] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, the intelligent cognition of the mobile phone 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.

[0112] In some embodiments, the NPU computing processor can run a convolutional neural network model and classify the multiple users to obtain multiple user groups.

[0113] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 100. The external memory card communicates with the processing module 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.

[0114] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processing module 110 executes various functional applications and data processing of the mobile phone 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the mobile phone 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0115] The mobile phone 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor.

[0116] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processing module 110, or some functional modules of the audio module 170 can be arranged in the processing module 110.

[0117] The speaker 170A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The mobile phone 100 can listen to music or listen to a hands-free call through the speaker 170A.

[0118] The receiver 170B, also called a "earpiece", is used to convert audio electrical signals into sound signals. When the mobile phone 100 receives a call or voice message, the voice can be received by placing the receiver 170B close to the ear.

[0119] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The mobile phone 100 can be provided with at least one microphone 170C. In other embodiments, the mobile phone 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the mobile phone 100 can also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify the sound source, realize directional recording function, etc.

[0120] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0121] The key 190 includes a power key, a volume key, etc. The key 190 can be a mechanical key or a touch key. The mobile phone 100 can receive key input and generate key signal input related to the user settings and function control of the mobile phone 100.

[0122] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0123] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.

[0124] The SIM card interface 195 is used to connect the SIM card. The SIM card can be connected to and separated from the mobile phone 100 by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195. The mobile phone 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The mobile phone 100 interacts with the network through the SIM card to realize functions such as calls and data communications. In some embodiments, the mobile phone 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the mobile phone 100 and cannot be separated from the mobile phone 100.

[0125] The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only for example and does not constitute a limitation of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and corrections to this specification. Such modifications, improvements and corrections are suggested in this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.

[0126] At the same time, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and / or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that "one embodiment" or "an embodiment" or "an alternative embodiment" mentioned twice or more in different positions in this specification does not necessarily refer to the same embodiment. In addition, certain features, structures or characteristics in one or more embodiments of this specification can be appropriately combined.

[0127] In addition, unless explicitly stated in the claims, the order of the processing elements and sequences described in this specification, the use of alphanumeric characters, or the use of other names are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some invention embodiments that are currently considered useful through various examples, it should be understood that such details are only for illustrative purposes, and the attached claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the essence and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0128] Similarly, it should be noted that in order to simplify the description disclosed in this specification and thus help understand one or more embodiments of the invention, in the above description of the embodiments of this specification, multiple features are sometimes combined into one embodiment, figure or description thereof. However, this disclosure method does not mean that the features required by the subject matter of this specification are more than the features mentioned in the claims. In fact, the features of the embodiments are less than all the features of the single embodiment disclosed above.

[0129] Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, as an example and not a limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.

Claims

1. A software compatibility testing method, characterized in that: include: Acquire the user's software system information, wherein the user's software system information includes the user's operating system and multiple software information on the user's operating system; Determining a simulated pure system based on the user operating system; Obtain the running recording video of the target software on the simulated pure system; Determining the compatibility of the first software using a first video processing model based on a running recorded video of the target software on a simulated pure system, wherein the first video processing model is a gated loop unit; Determining the compatibility of the second software based on the target software and the multiple software information on the user operating system, wherein determining the compatibility of the second software based on the target software and the multiple software information on the user operating system comprises: Determining a plurality of compatible risk software based on the target software and a plurality of software information on the user operating system, wherein determining a plurality of compatible risk software based on the target software and a plurality of software information on the user operating system comprises: A graph structure is constructed based on the target software and the multiple software information on the user operating system, wherein the graph structure includes a target software node and multiple user system software nodes, wherein the target software node is a central node, and each user system software node respectively establishes an edge with the target software node, the node feature of the target software includes the target software information, the node feature of each user system software includes each user system software information, and the feature of each user system software node establishing an edge with the target software node is the similarity between the user system software and the target software; Processing the graph structure based on a graph neural network model to determine a plurality of compatible risk software; Obtain a video of the target software and multiple compatible risky software running together on a simulated clean system; Determining the compatibility of the second software using a second video processing model based on a video of the target software and a plurality of compatible risk software running together on a simulated clean system, wherein the second video processing model is a gated loop unit; determining a target compatibility based on the first software compatibility and the second software compatibility; Software compatibility is determined based on the target compatibility.

2. The software compatibility testing method according to claim 1, characterized in that: The determining the target compatibility based on the first software compatibility and the second software compatibility comprises: The first software compatibility and the second software compatibility are weighted averaged according to predetermined weights to obtain a target compatibility, wherein the first software compatibility reflects the compatibility of the target software in a pure environment, and the second software compatibility reflects the compatibility of the target software in an environment with compatible risk software.

3. The software compatibility testing method according to claim 1, characterized in that: Determining the software compatibility based on the target compatibility includes: When the target compatibility is higher than a preset threshold, the target software compatibility is determined to be very compatible; When the target compatibility is lower than the preset threshold but higher than the middle threshold, the target software compatibility is determined to be generally compatible; When the target compatibility is lower than the minimum threshold, the target software compatibility is determined to be incompatible.

4. A software compatibility testing system, characterized in that: include: A first acquisition module is used to acquire the user's software system information, wherein the user's software system information includes the user's operating system and multiple software information on the user's operating system; A simulated pure system determination module, used to determine a simulated pure system based on the user operating system; The second acquisition module is used to obtain the running recording video of the target software on the simulated pure system; A first software compatibility determination module, configured to determine the first software compatibility using a first video processing model based on a running recorded video of the target software on a simulated pure system, wherein the first video processing model is a gated loop unit; The second software compatibility determination module is used to determine the second software compatibility based on the target software and the multiple software information on the user operating system, and the second software compatibility determination module is also used to: Determine a plurality of compatible risk software based on the target software and a plurality of software information on the user operating system; Obtain a video of the target software and multiple compatible risky software running together on a simulated clean system; Determining the compatibility of the second software using a second video processing model based on a video of the target software and a plurality of compatible risk software running together on a simulated clean system, wherein the second video processing model is a gated loop unit; The second software compatibility determination module is also used for: A graph structure is constructed based on the target software and the multiple software information on the user operating system, wherein the graph structure includes a target software node and multiple user system software nodes, wherein the target software node is a central node, and each user system software node respectively establishes an edge with the target software node, the node feature of the target software includes the target software information, the node feature of each user system software includes each user system software information, and the feature of each user system software node establishing an edge with the target software node is the similarity between the user system software and the target software; Processing the graph structure based on a graph neural network model to determine a plurality of compatible risk software; a target compatibility determination module, configured to determine a target compatibility based on the first software compatibility and the second software compatibility; The software compatibility determination module is used to determine the software compatibility based on the target compatibility.

5. An electronic device, characterized in that: include: processor; Memory; And a computer program; wherein the computer program is stored in the memory and is configured to be executed by the processor to implement the software compatibility testing method as described in any one of claims 1 to 3.

6. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the software compatibility testing method as described in any one of claims 1 to 3 is implemented.

Citation Information

Patent Citations

  • Method and system for analyzing software operation abnormity based on artificial intelligence

    CN115994098A

  • Method and device for automatically testing compatibility of target software

    CN116820946A