Application processing methods and electronic devices

By introducing an observer manager into the Super Workbench application, the number of IPC channels was reduced, which solved the problems of resource waste and information transmission errors, and improved communication efficiency and business development efficiency.

CN119597498BActive Publication Date: 2025-12-02HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In the Super Workbench application, existing technologies create too many IPC channels, leading to resource waste, information transmission errors, and low development efficiency.

Method used

An observer manager is used to manage IPC channels. Signal distribution is achieved by registering only two IPC channels for each service, which reduces the number of channels and improves communication efficiency.

Benefits of technology

It effectively reduces resource consumption, improves communication efficiency, avoids name duplication issues, and enhances the efficiency of business development and access to the super workbench.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119597498B_ABST
    Figure CN119597498B_ABST
Patent Text Reader

Abstract

This application provides an application processing method and an electronic device, relating to the field of terminal technology. This application enables a reduction in the number of IPC channels. The method is applied to a desktop application running on a main process and a rendering process, including an observer manager, a main process module, and a user interface module. The method includes: the rendering process determining an operation on a first service in a first user interface module; the rendering process sending a first parameter indicating the first service to the main process on a first IPC channel corresponding to the first user interface module; the main process sending a first signal to the observer manager based on the first parameter; the main process invoking a first main process module based on the first signal; the main process sending a second signal to the rendering process on a second IPC channel different from the first IPC channel and corresponding to the first main process module; and the rendering process determining the response status of the second signal by invoking a second user interface module based on the second signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of terminal technology, and in particular to an application processing method and an electronic device. Background Technology

[0002] With the development of terminal technology, super workbench applications can be installed on electronic devices (such as personal computers). These applications can integrate one or more services, such as smart connectivity, note-taking, file management, and calendar functions. In this way, electronic devices can provide users with a variety of service experiences through super workbench applications.

[0003] Currently, the Super Workbench application can implement corresponding business functions through inter-process communication (IPC) between the main process and the rendering process. The main process, for example, can access the underlying resources of the business function, while the rendering process can be used to implement the interface display and user interface interaction logic. For example, in response to an operation on business B within the user interface (UI) module of business A, the rendering process can create an IPC channel to send an operation request to the main process. Based on this operation request, the main process can call the corresponding main process module of business B to access the underlying resources of business B. Then, the main process creates another IPC channel to send a response to the above operation back to the rendering process. Based on this response, the rendering process can display the corresponding interface through the corresponding user interface (UI) module of business B.

[0004] Therefore, it can be seen that if one service in the Super Workbench application needs to interact with n other services, the rendering process needs to create 2n IPC channels to send corresponding operation requests to the main process. Furthermore, if the n services need to provide feedback to the user interface, the main process needs to create another 2n IPC channels to send corresponding responses to the rendering process. It's important to note that IPC channels are not released after creation, leading to resource waste due to the large number of channels created. Additionally, an excessive number of IPC channels may result in duplicate names, causing errors in the transmission of IPC channel information. Summary of the Invention

[0005] To address the aforementioned technical problems, this application provides an application processing method and an electronic device. The technical solution provided by this application is applied to a desktop application, which includes an observer manager. The observer manager enables signal distribution on the IPC channels of the corresponding service, effectively reducing the number of IPC channels and minimizing resource waste.

[0006] To achieve the above-mentioned technical objectives, this application provides the following technical solution:

[0007] Firstly, an application processing method is provided for a desktop application. The desktop application includes an observer manager, one or more main process modules, and one or more user interface modules. A main process module and a user interface module belong to the same business logic. The desktop application runs on a main process and a rendering process. The main process is used to call the observer manager and the main process modules, and the rendering process is used to call the user interface modules. The method includes: determining an operation on a first business logic in a first user interface module through the rendering process; sending a first parameter to the main process through a first inter-process communication (IPC) channel corresponding to the first user interface module, the first parameter indicating the first business logic; calling the observer manager based on the first parameter and sending a first signal to the observer manager through the main process; calling a first main process module based on the first signal, the first main process module being one or more main process modules; and sending a second signal to the rendering process through a second IPC channel different from the first IPC channel, the second IPC channel corresponding to the first main process module. The rendering process invokes the second user interface module based on the second signal, so that the second user interface module can determine the response status of the second signal. The second user interface module and the first main process module belong to the first service.

[0008] In this way, each service only needs to register two IPC channels to enable communication between the rendering process and the main process for different behaviors of the service, effectively reducing resource consumption and improving communication efficiency.

[0009] Furthermore, compared to the existing technology where each business activity needs to register an IPC channel with the main process, the application processing method provided in this application embodiment only requires the same business to encapsulate its own public IPC channel into its own observer module, and the main process to write an observer module, thereby improving the development efficiency of each business and the efficiency of business access to the super workbench.

[0010] In addition, the reduction in the number of IPC channels avoids the problem of duplicate names.

[0011] In some examples, optionally, the desktop application is, for example, a superwork platform, such as an executable .exe program.

[0012] According to the first aspect, the observer manager includes one or more observer modules, with each observer module corresponding to a specific business function. Sending a first signal to the observer manager by invoking it through the main process based on a first parameter includes: invoking the observer module corresponding to the first business function through the main process based on the first parameter, and sending a first signal to the observer module corresponding to the first business function.

[0013] In this way, the observer module corresponding to the business can be used to distribute the registered business behaviors, thereby improving the development efficiency of each business and the efficiency of business access to the super workbench.

[0014] According to the first aspect, or any implementation of the first aspect above, the first business includes public business and / or one or more distributed businesses.

[0015] For example, common services include main UI services, such as the sidebar used to display the super workbench. Distributed services include, for example, smart interconnection services, note-taking services, document management services, and calendar services.

[0016] According to the first aspect, or any implementation of the first aspect above, the desktop application includes: an observer manager, a main process module of a common service, a user interface module of a common service, a main process module of one or more distributed services, and a user interface module of one or more distributed services. The main process module of the distributed services is configured in the main process module of the common service, and the user interface module of the distributed services is configured in the user interface module of the common service. The observer manager includes an observer module of the common service and an observer module of one or more distributed services.

[0017] According to the first aspect, or any implementation of the first aspect above, the observer module for public services is registered after the main process module of public services starts; the observer module for distributed services is registered after being called by the user interface module and the main process module of distributed services.

[0018] Alternatively, calls between modules can also be described as initiating, loading, or pulling.

[0019] In this way, different distributed services can share the relevant resources of the common services.

[0020] According to the first aspect, or any implementation of the first aspect above, the desktop application includes: an observer manager, one or more main process modules of distributed services, and one or more user interface modules of distributed services; the observer manager includes one or more observer modules of distributed services.

[0021] According to the first aspect, or any of the implementations of the first aspect above, the observer module of the distributed business is registered after being called by the user interface module and the main process module of the distributed business.

[0022] Therefore, desktop applications may not include public resources.

[0023] In contrast to existing technologies where each business activity needs to register an IPC channel with the main process, the application processing method provided in this application embodiment only requires the same business to encapsulate its own public channel (such as a shared IPC channel) into its own observer module, and only the registration of the observer module needs to be written in the main process. This improves the development efficiency of each business and the efficiency of business access to the super workbench. In addition, the reduction in the number of IPC channels avoids the problem of duplicate names.

[0024] According to the first aspect, or any implementation of the first aspect above, the first user interface module is different from the second user interface module. Alternatively, the second user interface module includes at least the first user interface module.

[0025] In this way, the responsiveness of a UI module can be implemented in that UI module or in other UI modules.

[0026] According to the first aspect, or any implementation of the first aspect above, each user interface module has one IPC channel in the rendering process, and different user interface modules have different IPC channels in the rendering process. Each main process module has one IPC channel in the main process, and different main process modules have different IPC channels in the main process.

[0027] In this way, each service only needs to register two IPC channels to enable communication between the rendering process and the main process for different behaviors of the service, effectively reducing resource consumption and improving communication efficiency.

[0028] In a second aspect, an application processing apparatus is provided for use in a desktop application, the application processing apparatus comprising: a module for performing the method described in the first aspect and any of its possible implementations.

[0029] Thirdly, a computer device is provided. The computer device includes a processor and a memory. The memory is coupled to the processor and is used to store computer program code, including computer instructions. When the processor reads the computer instructions from the memory, the computer device performs the method of the first aspect or any embodiment of the first aspect.

[0030] Fourthly, an electronic device is provided. The electronic device includes a processor and a memory. The memory is coupled to the processor and is used to store computer program code, including computer instructions. When the processor reads the computer instructions from the memory, the electronic device causes it to perform the method of the first aspect or any embodiment of the first aspect.

[0031] Fifthly, an electronic device is provided that has the function of implementing the method described in the first aspect and any of its possible implementations. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the described function.

[0032] Sixthly, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program (also referred to as instructions or code) that, when executed by an electronic device, causes the electronic device to perform the method of the first aspect or any embodiment of the first aspect.

[0033] In a seventh aspect, a computer program product is provided that, when the computer program product is run on an electronic device, causes the electronic device to perform the method of the first aspect or any one of the embodiments of the first aspect.

[0034] Eighthly, a circuit system is provided, the circuit system including processing circuitry configured to perform the method of the first aspect or any embodiment of the first aspect.

[0035] A ninth aspect provides a chip system including at least one processor and at least one interface circuit, the at least one interface circuit being used to perform transceiver functions and send instructions to at least one processor, wherein when at least one processor executes instructions, at least one processor performs the method of the first aspect or any embodiment of the first aspect.

[0036] The technical effects of the aforementioned aspects can be referenced from each other, and will not be elaborated further here. Attached Figure Description

[0037] Figure 1A This is a schematic diagram of the Electron structure provided in an embodiment of this application;

[0038] Figure 1B This is a schematic diagram of the super workbench interface provided in an embodiment of this application;

[0039] Figure 2 This is a schematic diagram of the process function provided in the embodiments of this application;

[0040] Figure 3 A schematic diagram of inter-module interaction provided for an embodiment of this application;

[0041] Figure 4 A schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application;

[0042] Figure 5 Inter-module interaction diagram provided for embodiments of this application Figure 2 ;

[0043] Figure 6 Inter-module interaction diagram provided for embodiments of this application Figure 3 ;

[0044] Figure 7 Inter-module interaction diagram provided for embodiments of this application Figure 4 ;

[0045] Figure 8 A flowchart illustrating an application processing method provided in an embodiment of this application;

[0046] Figure 9 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application;

[0047] Figure 10 This is a schematic diagram illustrating the possible product form of the electronic device provided in the embodiments of this application. Detailed Implementation

[0048] The technical solutions of the embodiments of this application are described below with reference to the accompanying drawings. In the description of the embodiments of this application, the terminology used in the following embodiments is for the purpose of describing specific embodiments only and is not intended to be a limitation of this application. As used in the specification and appended claims of this application, the singular expressions "a," "the," "the," "the," and "this" are intended to also include expressions such as "one or more," unless the context clearly indicates otherwise. It should also be understood that in the following embodiments of this application, "at least one" and "one or more" refer to one or more (including two). The term "and / or" is used to describe the relationship between related objects, indicating that three relationships can exist; for example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship.

[0049] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The term "connection" includes direct connections and indirect connections, unless otherwise stated. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated.

[0050] In the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being preferred or superior to other embodiments or designs. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.

[0051] For ease of understanding, the technical concepts involved in the embodiments of this application will be introduced below.

[0052] 1. Process

[0053] A process is an instance of an application running on a specific set of data. It is the basic unit for resource allocation and scheduling by the operating system (such as Windows). Each process occupies a block of memory, and applications run on the operating system as one or more processes to perform their respective functions.

[0054] 2. Main process

[0055] The main process is the core of an Electron application, responsible for creating the application's windows, handling the application's lifecycle (such as startup and shutdown), and interacting with the system. The main process uses Node.js modules to execute these tasks, and there is only one instance of it. The main process typically contains the application's entry point file (such as main.js).

[0056] 3. Rendering process

[0057] The rendering process is responsible for displaying the application's user interface; each window has its own independent rendering process. Rendering processes use web technologies such as HTML, CSS, and JavaScript to create the user interface. Rendering processes are isolated from each other and cannot communicate directly, but they can communicate through the main process.

[0058] In other words, the main process is primarily responsible for the application's logic and management, while the rendering process is mainly responsible for the display and interaction of the user interface.

[0059] 4. Electron

[0060] Electron, as an alternative technology stack for front-end development of cross-platform desktop applications, is currently used in building cross-platform applications. Electron boasts extensive community support and a large number of plugins, such as... Figure 1A As shown, Electron consists of Chromium, Node.js, and a native API. Chromium and Node.js use inter-process communication (IPC) to build feature-rich desktop applications. For example, ... Figure 1B The Super Workbench application shown.

[0061] In the Electron framework, a system can include a main process and one or more renderer processes. The main process can be created by starting a local web service (HTTP server) using Node.js; that is, an HTTP server started using Node.js can serve as the main process. When creating the main process using Node.js, the necessary configuration information for its creation can be obtained through the Native API. Renderer processes can be implemented using Chromium.

[0062] In the Electron framework, the main process and the rendering process are separate processes with isolated contexts. That is, the main process and the rendering process exist in two independent contexts and can communicate via IPC. For example, user interactions such as dragging and dropping native files through a graphical user interface (GUI) and accessing devices (such as Bluetooth, Universal Serial Bus (USB), and other serial devices) through the GUI can be achieved through IPC.

[0063] In other words, Electron allows the development of desktop GUI applications using Node.js (as the backend) and Chromium (as the frontend). Electron can be used to build cross-platform desktop applications with HTML, CSS, and JavaScript by combining Chromium and Node.js into a single runtime environment. Desktop applications built with Electron can be packaged for macOS, Windows, and Linux systems, thus meeting the different requirements for startup, display, and system configuration on various operating systems, resulting in better visual presentation and interactive experiences.

[0064] like Figure 2 As shown, Electron's core mechanism for achieving efficient and stable operation is a dual-process mechanism consisting of a main process and a rendering process. Electron uses the main process to manage the lifecycle of the desktop application, primarily using the application programming interface (API) provided by Node.js to access underlying system resources, such as the file system. Each window in a desktop application built on the Electron framework corresponds to a rendering process, which is mainly responsible for building and displaying the user interface and handling user interaction logic. The main process and the rendering process interact through an IPC channel.

[0065] When users want to interact with desktop applications, they typically use a bidirectional communication method between the rendering process and the main process via the GUI. This means the GUI accesses methods in the main process through the rendering process to achieve the corresponding functionality. In Electron, because the main process and the rendering process communicate via IPC, methods defined in the main process cannot be directly accessed in the rendering process. This is because the main process and the rendering process run in different contexts. Therefore, to access methods defined in the main process from within the rendering process, different interfaces need to be registered to communicate with Node.js and native APIs. The more methods the rendering process accesses from the main process, the more interfaces need to be registered, leading to a large amount of code, low development efficiency, and consequently, difficulty in subsequent development and maintenance.

[0066] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the relevant scenarios involved in the embodiments of this application will be described below with reference to the accompanying drawings.

[0067] In this embodiment, a Super Workbench application (APP) can be built using the Electron framework. The Super Workbench APP is a desktop application, such as an executable (executable, .exe) program. An .exe program is an executable file containing instructions and data for performing a series of tasks on a computer. .exe files can be loaded and executed by the operating system and contain compiled computer instructions and data. .exe files can serve as a runtime environment for programs, storing various resources required by the program, such as images, audio, and video. Furthermore, .exe files are also commonly used for installing programs. When a user double-clicks an .exe file, the operating system reads the instructions in the file and executes them sequentially, thereby launching the corresponding application or process.

[0068] For example, such as Figure 1B As shown, the Super Workbench APP can be used on personal computers (PCs), enabling global device interconnection and service interoperability. It can also interoperate with notes, calendars, and globally collected data on mobile phones and tablets (PDAs). On the PC side, it provides users with a global interconnection and aggregated office service portal, improving users' work and study efficiency.

[0069] Figure 1B This is a schematic diagram of a super workbench interface provided in an embodiment of this application. Exemplarily, the super workbench integrates one or more services, such as smart connectivity, note-taking, file management, and calendar services, etc., without limitation. Of course, the super workbench may also include services other than those mentioned above, such as smart search, artificial intelligence (AI) captioning, etc., without limitation. For example, as... Figure 1B As shown, the Super Workbench interface displays the following service identifiers: Smart Interconnection Service Identifier 11, Notes Service Identifier 12, File Management Service Identifier 14, and Calendar Service Identifier 13.

[0070] In some examples, users can perform operations on one or more services integrated into the Super Workbench through the Super Workbench.

[0071] For example, users can leverage the smart interconnectivity services integrated into the Super Workbench to enable collaborative work between devices based on MagicRing (trust ring) technology. For instance, given devices A and B based on trust ring technology, a user can perform some work on device A using the smart interconnectivity services integrated into the Super Workbench, and then continue working on device B using the same services.

[0072] For example, the Super Workbench integrates document management (hereinafter referred to as document management) and note-taking. While displaying the document management interface, the Super Workbench receives user modifications to a document, saves the changes, and notifies the note-taking service of the changes. Afterward, the Super Workbench switches to display the note-taking interface to allow the user to confirm the document modifications.

[0073] In some embodiments, as described above, the Super Workbench is built on Electron, and the Electron framework may include a main process and a rendering process. The core mechanism enabling Electron to achieve efficient and stable operation is the dual-process mechanism of the main process and the rendering process.

[0074] For example, such as Figure 3 As shown, the Super Workbench includes a main workbench process and a workbench UI module. The main workbench process module integrates the main process modules for multiple business applications (such as the Smart Interconnection main process module, Notes main process module, Document Management main process module, Calendar main process module, etc.), while the workbench UI module integrates the UI modules for multiple business applications (such as the Smart Interconnection UI module, Notes UI module, Document Management UI module, Calendar UI module, etc.). The main workbench process module is used to call the main process, and the workbench UI module is used to call the rendering process. For example, the main workbench process module and the workbench UI module communicate via an IPC channel.

[0075] like Figure 3 As shown, in the document modification scenario above, the document management UI module determines the two business operations corresponding to the user's modifications to the document as document management and note-taking, requiring the triggering of the corresponding document management main process module and note-taking main process module. Then, the workbench UI module responds to the operation in the document management UI module by creating IPC channel A (as shown in label ①), through which the rendering process sends a document management business request to the main process. The main process calls the corresponding document management main process module based on this request. Furthermore, the workbench UI module responds to the operation in the document management UI module by creating IPC channel B (as shown in label ②), through which the rendering process sends a note-taking business request to the main process. The main process calls the corresponding note-taking main process module based on this request. Correspondingly, if both document management and note-taking services may generate corresponding feedback, the main process module of the workbench will create an IPC channel C (as shown in label ③) based on the response from the document management service, and use this IPC channel C to send the feedback from the document management service to the rendering process; the main process module of the workbench will create an IPC channel D (as shown in label ④) based on the response from the note-taking service, and use this IPC channel D to send the feedback from the note-taking service to the rendering process.

[0076] Therefore, it can be seen that if one service in the Super Workbench needs to interact with n services, the rendering process needs to create 2n IPC channels to send the corresponding service requests to the main process. Furthermore, if the n services need to provide feedback to the user interface, the main process needs to create another 2n IPC channels to send the corresponding responses to the rendering process.

[0077] One issue is that IPC channels are not released after creation, leading to resource waste due to the creation of a large number of channels. Furthermore, with an excessive number of IPC channels, duplicate names may occur during registration via the registration module, causing errors in IPC channel information transmission. Additionally, when multiple IPC channels are communicating simultaneously in the Super Workbench, it becomes difficult to pinpoint the source of a problem if one arises due to the sheer number of channels.

[0078] Therefore, this application provides an application processing method for a desktop application, which includes an observer manager. In this way, each service only needs to register two IPC channels in the main process. The observer manager can then distribute signals on the corresponding service's IPC channels, effectively reducing the number of IPC channels and minimizing resource waste.

[0079] Optionally, the application processing method provided in this application can be applied to electronic device 100. Optionally, electronic device 100 can be, for example, a personal computer, tablet computer, mobile phone, ultra-mobile personal computer (UMPC), netbook, personal digital assistant (PDA), artificial intelligence (AI) device, or other terminal device. The operating system installed on electronic device 100 includes, but is not limited to, […]. Alternatively, other operating systems may be used. This application does not limit the specific type of electronic device 100 or the operating system installed on it.

[0080] Optionally, Figure 4 This is a schematic diagram of the hardware structure of the electronic device 100 provided in an embodiment of this application.

[0081] like Figure 4 As shown, the electronic device 100 includes at least one processor 401, a communication line 402, a memory 403, at least one communication interface 404, an output device 405, and an output device 406. The memory 403 may also be included within the processor 401.

[0082] The processor 401 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.

[0083] Communication line 402 may include a path for transmitting information between the aforementioned components.

[0084] Communication interface 404 is used for communication with other devices. In this embodiment, the communication interface can be a module, circuit, bus, interface, transceiver, or other device capable of communication functions, used for communication with other devices. Optionally, when the communication interface is a transceiver, the transceiver can be a separately configured transmitter used to send information to other devices, or it can be a separately configured receiver used to receive information from other devices. The transceiver can also be a component that integrates sending and receiving information functions; this embodiment does not limit the specific implementation of the transceiver.

[0085] Memory 403 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. Memory may exist independently and be connected to the processor via communication line 402. Memory may also be integrated with the processor.

[0086] The memory 403 stores computer execution instructions for implementing the solutions of this application, and its execution is controlled by the processor 401. The processor 401 executes the computer execution instructions stored in the memory 403, thereby implementing the application processing method provided in the following embodiments of this application.

[0087] Optionally, the computer execution instructions in the embodiments of this application may also be referred to as application code, instructions, computer program or other names, and the embodiments of this application do not specifically limit them.

[0088] In a specific implementation, as one example, processor 401 may include one or more CPUs, for example... Figure 4 CPU0 and CPU1 in the CPU.

[0089] In a specific implementation, as one example, the electronic device 100 may include multiple processors, for example... Figure 4 Processors 401 and 407 are described herein. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here may refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0090] Output device 405 communicates with processor 401 and can display information in various ways. For example, output device 405 can be a display screen used to display images, videos, etc. The display screen includes a display panel. The display panel can be manufactured using liquid crystal display (LCD), such as organic light-emitting diode (OLED), active-matrix organic light-emitting diode (AMOLED), flexible light-emitting diode (FLED), Mini-led, Micro-led, Micro-oled, quantum dot light-emitting diodes (QLED), etc. In some embodiments, electronic device 100 may include one or N displays, where N is a positive integer greater than 1. Input device 406 communicates with processor 401 and can receive user input in various ways. For example, input device 406 can be a mouse, keyboard, touch screen device, or sensing device, etc.

[0091] It is understood that the embodiments illustrated in this application are as follows: Figure 4 The structure does not constitute the only limitation on the structural implementation of the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0092] The following section uses an electronic device 100 as a PC as an example to describe in detail the application processing method provided in the embodiments of this application.

[0093] In some embodiments, a SuperWorking Platform application is installed on the PC. This SuperWorking Platform is, for example, a desktop application, such as an executable (.exe) program. For simplicity, the SuperWorking Platform application will be described as a SuperWorking Platform below.

[0094] In some examples, the super work platform is designed using a distributed architecture. Optionally, the super work platform provides a common workbench main process module and a common workbench UI module (which can also be described as a rendering process module). The workbench main process module can be used to implement common behaviors such as creating windows, registering channels, and storing packaged resources. The workbench UI module can be used to render and display system-level pages such as sidebars, title bar buttons, and settings functions. Optionally, the super work platform can provide multiple services, each of which can provide its own main process module and integrate this module as a dependency library into the aforementioned workbench main process module, thus providing the corresponding capabilities to the workbench main process module. In addition, each service can also provide its own UI module and integrate this UI module as a business component into the aforementioned workbench UI module, thus providing the corresponding capabilities to the workbench UI module.

[0095] Optionally, the business logic may include one or more implementation methods such as applications, web pages, and web page plugins.

[0096] For example, such as Figure 5 As shown, the Super Work Platform includes a main workbench process module and a workbench UI module. The Super Work Platform integrates smart connectivity, note-taking, document management, and calendar services. Therefore, as... Figure 5 As shown, the workbench main process module can integrate the smart interconnection main process module provided by the smart interconnection service, the note-taking main process module provided by the note-taking service, the document management main process module provided by the document management service, and the calendar main process module provided by the calendar service. The workbench UI module can integrate the smart interconnection UI module provided by the smart interconnection service, the note-taking UI module provided by the note-taking service, the document management UI module provided by the document management service, and the calendar UI module provided by the calendar service.

[0097] It should be understood that the main process module and the UI module of the workbench, as common modules, can also implement common behaviors of various business functions, as well as the display of system-level pages. For example, ... Figure 1B The super work platform interface shown displays the interface for smart interconnection services, as well as a sidebar 15.

[0098] Thus, through the design of a distributed architecture, independent development based on business functions can be achieved. The results of these business developments can be integrated into common modules, enabling seamless integration between the business functions and the super work platform, thereby reducing the difficulty of business development and expansion. Furthermore, independent development and maintenance of each business function avoids redundancy within the entire super work platform.

[0099] In some embodiments, the super work platform integrates multiple services, and the implementation of these services may involve interactions between multiple modules. As mentioned above, the rendering process and the main process communicate via IPC channels. Therefore, to reduce the number of IPC channels corresponding to the super work platform, an Observer manager can be configured in the workbench main process module.

[0100] Optionally, when the main process module of the workbench starts up or a new business is added, the business registers the corresponding observer module with the main process module of the workbench. The business includes public businesses and / or one or more distributed businesses. Public businesses include, for example, public capabilities provided by the super work platform, and distributed businesses include, for example, businesses integrated into the super work platform such as the aforementioned smart interconnection business, note-taking business, document management business, and calendar business.

[0101] Optionally, the observer manager can be used to manage the observer modules corresponding to each business.

[0102] Optionally, during the registration process, the observer modules corresponding to each service can also register the ability to obtain IPC communication for the corresponding service. Optionally, each service registers two IPC channels belonging to its own service with its respective observer module to realize communication between the rendering process and the main process, as well as bidirectional inter-process communication between the main process and the rendering process.

[0103] Optionally, during the notification process to the observer manager, parameters can be passed to the observer manager to indicate which different services need to receive signals, thus enabling the observer manager to distribute signals. Optionally, this parameter could be, for example, a service identifier. In this way, multiple behaviors of the same service communicating through the same IPC channel can still be distributed to different services via the observer manager, thereby reducing the number of IPC channels and improving communication efficiency.

[0104] Optionally, when a UI module initiates IPC communication with a specific service, the UI module sends the parameters of that service to the main process module of the workbench through its own service's IPC channel. Based on these parameters, the main process module sends a first signal to the observer module corresponding to that service to trigger a call to the main process module corresponding to that service. Optionally, the UI module can also register a callback event with the main process module of the workbench. In response to the callback event, the main process module corresponding to that service can determine whether it needs to provide feedback on the first signal. For example, if feedback is required, the main process module corresponding to that service can also send a second signal to the corresponding UI module through another IPC channel corresponding to that service.

[0105] The following is based on Figure 5 The example demonstrates the distributed architecture of the superwork platform and provides a detailed introduction to the implementation of the observer manager.

[0106] In some embodiments, a service may have a behavior that can be implemented based on the IPC channel registered for that service.

[0107] For example, when the super platform is launched for the first time or when a new service is added to the super platform, the corresponding service can register with the workbench main process module through the registration module. For instance, the corresponding observer module can be registered in the observer manager of the workbench main process module. For example, such as... Figure 5 As shown, the observer manager of the main process module of the workbench includes the main UI observer module corresponding to common business operations, the note-taking observer module corresponding to note-taking business operations, and the document management observer module corresponding to document management business operations, etc. It should be understood that... Figure 5 The Smart Interconnection Observer module for the Smart Interconnection service and the Calendar Observer module for the Calendar service are not shown in the diagram.

[0108] When the document management UI module initiates communication with the workbench main process module for the first time, it creates an IPC channel A (as shown by label ①). This IPC channel A allows the rendering process to send parameters to the main process, which can point to the business logic that the document management UI module needs to invoke. All inter-process communication initiated by the document management UI module can use this IPC channel A. For example, based on this parameter, the main process determines that the indicated business logic is note-taking. Then, the main process can send a first signal to the note-taking observer module. The note-taking observer module can then invoke the note-taking main process module based on this first signal. In this way, the rendering process uses the IPC channel corresponding to the document management business to communicate with the main process, thereby accessing the underlying resources of the note-taking business.

[0109] If the document management business has already registered callback events, then, for example... Figure 5As shown, when the main note-taking module initiates communication with the rendering module for the first time, it creates an IPC channel B (as indicated by label ②). This IPC channel B is used to send callbacks from the main process to the rendering process. For example, it triggers the display of the page content corresponding to the note-taking service.

[0110] It should be understood that the main process module of the workbench is the note-taking main process module provided by the note-taking business, and the workbench UI module integrates the document management UI module provided by the document management business. IPC communication between the rendering process and the main process enables interaction between the workbench UI module and the workbench main process module. Therefore, Figure 5 In the diagram, the IPC channel indicated by ① should be understood as enabling inter-process communication between the rendering process corresponding to the workbench UI module and the main process corresponding to the workbench main process module. Similarly, the IPC channel indicated by ② should be understood as enabling inter-process communication between the main process corresponding to the workbench main process module and the rendering process corresponding to the workbench UI module. The arrow between the note observer module and the note main process module indicates that the observer module calls the corresponding module via a signal, not that it indicates an IPC channel. Other examples include... Figure 3 , Figure 6 , Figure 7 The meanings of the arrows between modules can be found above. Figure 5 The relevant content will not be elaborated upon here.

[0111] In addition, the Super Workbench can also include other modules such as napi, uikit, interface, and logger. napi, short for Node-API, is the API for Node.js, allowing native modules to be built and interact in a consistent way across different versions of Node.js. uikit is a framework primarily used for user interface design in system applications, providing various UI components and tools to help developers create application interfaces. interface can be an Application Programming Interface (API) used to store common constants used by the main process and rendering process. Logger is a tool or module used to record runtime information of the application, typically for debugging and monitoring, capable of logging errors, warnings, and other important events for developers to analyze.

[0112] In other embodiments, a service may have multiple behaviors, which can be implemented based on the IPC channel registered for that service.

[0113] For example, based on the above Figure 5 The aforementioned content indicates that observer modules corresponding to each business have been registered in the observer manager, and IPC channel A (as shown in label ①) for the document management UI module and IPC channel B (as shown in label ②) for the note-taking main process module have been created. Figure 6As shown, the rendering process determines the operations on document management and note-taking services within the document management UI module; that is, the current operation corresponds to two business behaviors. Therefore, the rendering process sends parameters 1 and 2 to the main process through the document management service's IPC channel A. The main process sends signal 1 to the document management observer module based on parameter 1, triggering the document management observer module to call the document management main process module; and the main process sends signal 2 to the note-taking observer module based on parameter 2, triggering the note-taking observer module to call the note-taking main process module.

[0114] Optionally, in response to the registration of the callback event, the main process can send feedback on the response status of signal 2 to the rendering process through IPC channel B of the note-taking service (as shown in label ②), and the note-taking UI module can obtain the response status of signal 2. In response to the registration of the callback event, the main process can also create IPC channel C (as shown in label ③) and send feedback on the response status of signal 1 to the rendering process through IPC channel C, and the document management UI module can obtain the response status of signal 1.

[0115] In this way, each service only needs to register two IPC channels to enable communication between the rendering process and the main process for different behaviors of the service, effectively reducing resource consumption and improving communication efficiency.

[0116] Furthermore, compared to the existing technology where each business activity needs to register an IPC channel with the main process, the application processing method provided in this application embodiment only requires the same business to encapsulate its own public channel (such as a business-shared IPC channel) into its own observer module, and only the registration of the observer module needs to be written in the main process, thereby improving the development efficiency of each business and the efficiency of business access to the super workbench.

[0117] In addition, the reduction in the number of IPC channels avoids the problem of duplicate names.

[0118] In some other embodiments, multiple services can have the same behavior, which can be achieved by using IPC channels registered by different services.

[0119] For example, based on the above Figure 5 The aforementioned content indicates that observer modules corresponding to each business have been registered in the observer manager, and IPC channel A (as shown in label ①) for the document management UI module and IPC channel B (as shown in label ②) for the note-taking main process module have been created. Figure 7As shown, the rendering process determines the operations related to note-taking within the document management UI module. Therefore, the rendering process sends parameter 2 to the main process via IPC channel A of the document management business. The main process then sends signal 2 to the note observer module based on parameter 2, triggering the note observer module to call the note main process module. Furthermore, the rendering process determines the operations related to note-taking within the note UI module. When the note UI module initiates communication with the workbench main process module for the first time, it creates an IPC channel D (as shown in label ④). Through this IPC channel D, the rendering process sends parameters to the main process; these parameters can point to the business that the note UI module needs to call. Therefore, the rendering process sends parameter 2 to the main process via IPC channel D of the note business. The main process then sends signal 2 to the note observer module based on parameter 2, triggering the note observer module to call the note main process module.

[0120] Optionally, in response to the registration of the callback event, the main process can send feedback on the response status of signal 2 to the rendering process through the IPC channel B of the note service (as shown in label ②), and the note UI module can obtain the response status of signal 2.

[0121] In this way, when multiple services exhibit the same behavior, the rendering process and the main process can communicate with each other through the corresponding IPC channel. This also makes it easier to pinpoint the source of the problem if an IPC channel malfunctions.

[0122] The above example, using the interaction between the rendering process and the main process to implement distributed business scenarios (such as smart interconnection business, note-taking business, document management business, and calendar business), introduces the relevant content of IPC channels. For example, in one scenario, the Super Work Platform opens some documents and modifies them according to user operations, then switches to the note-taking interface, and the user instructs to close the Super Work Platform. In this case, the Super Work Platform needs to jump to the document management business interface, save and confirm the unsaved documents, and then close the Super Work Platform. During this process, the rendering process determines the operation of the document management business in the note-taking UI module and sends parameter 1 (such as the document management business identifier) ​​indicating the document management business to the main process through the IPC channel corresponding to the note-taking UI module (such as one of the IPC channels of the note-taking business). The main process, based on parameter 1 of the document management business, sends signal 1 to the document management observer module to trigger the document management observer module to call the document management main process module to save the document.

[0123] Optionally, as mentioned above, the super work platform also integrates public services, such as main UI services, like the sidebar for displaying the super workbench. The interaction between the rendering process and the main process can then implement these main UI services. For example, in a scenario where an account is logged in within the public UI module, the note-taking service needs to be notified, and a pop-up message indicating that cloud synchronization can be enabled should be displayed to prompt the user. For instance, the workbench UI module integrates the public UI module. During this process, the rendering process determines the operation on the note-taking service within the public UI module and sends parameter 2 (e.g., the note-taking service identifier) ​​to the main process through the corresponding IPC channel of the public UI module (e.g., one of the IPC channels of the public service). Based on parameter 2 of the note-taking service, the main process sends signal 2 to the note observer module, triggering the note observer module to call the note main process module to synchronize the account. Furthermore, the public UI module registers corresponding callback events. After the main process module of the notes implements account synchronization, the main process can send the response status of signal 2 to the rendering process through the corresponding IPC channel of the main process module of the notes (such as the second IPC channel of the notes business). The notes UI module can obtain the response status of signal 2 and display the pop-up of cloud synchronization.

[0124] The following section provides a detailed description of how desktop applications run in the main process and the rendering process.

[0125] Figure 8 This is a flowchart illustrating an application processing method provided in an embodiment of this application. The application processing method provided in this embodiment is applied to a desktop application. Optionally, the desktop application includes: an observer manager, one or more main process modules, and one or more user interface modules. A main process module and a user interface module belong to the same business logic. The desktop application runs on a main process and a rendering process. The main process is used to call the observer manager and the main process modules, and the rendering process is used to call the user interface modules.

[0126] It should be noted that this method does not rely on... Figure 8 The specific order described below is a limitation. It should be understood that in other embodiments, the order of some steps in the method can be interchanged according to actual needs, or some steps can be omitted or deleted. The method includes the following steps:

[0127] S801. Determine the operation of the first service in the first user interface module through the rendering process.

[0128] The first user interface module is a user interface module.

[0129] Optionally, the first service includes public services and / or one or more distributed services.

[0130] For example, such as Figure 5 As shown, the first user interface module is, for example, the document management UI module. Common services include, for example, the main UI services, such as the sidebar used to display the super workbench. Distributed services include, for example, smart interconnection services, note-taking services, document management services, and calendar services.

[0131] Alternatively, the desktop application may be a superwork platform, such as an executable .exe program.

[0132] In some embodiments, the desktop application includes: an observer manager, a main process module for a common service, a user interface module for a common service, a main process module for one or more distributed services, and a user interface module for one or more distributed services. The main process module for the distributed services is configured within the main process module for the common service, and the user interface module for the distributed services is configured within the user interface module for the common service. The observer manager includes an observer module for a common service and an observer module for one or more distributed services.

[0133] In some examples, the observer module for the common business is registered after the main process module of the common business is started; the observer module for the distributed business is registered after being called by the user interface module and the main process module of the distributed business.

[0134] Alternatively, calls between modules can also be described as initiating, loading, or pulling.

[0135] For example, such as Figure 5 As shown, the super work platform includes an observer manager, a main process module for a common business, a UI module for a common business, main process modules for multiple distributed businesses (such as smart interconnection, note-taking, document management, and calendar businesses), and UI modules for multiple distributed businesses. The main process modules for the distributed businesses are configured within the main process module for the common business, and the UI modules for the distributed businesses are configured within the UI modules for the common business. The observer manager includes an observer module for a common business (such as the main UI observer module) and observer modules for multiple distributed businesses.

[0136] Optionally, the main UI observer module for public services is registered after the main workbench process module of the public services starts. The observer modules for distributed services are registered after being called by the UI module and the main workbench process module of the distributed services. For example, the note-taking observer module for the note-taking service is registered after being called by the note-taking UI module and the main workbench process module of the note-taking service.

[0137] In this way, different distributed services can share the relevant resources of the common services.

[0138] In other embodiments, the desktop application includes: an observer manager, one or more main process modules of distributed services, and one or more user interface modules of distributed services; the observer manager includes one or more observer modules of distributed services.

[0139] In some examples, the observer module for the distributed business is registered after being called by the user interface module and the main process module of the distributed business.

[0140] Therefore, desktop applications may not include public resources.

[0141] In contrast to existing technologies where each business activity needs to register an IPC channel with the main process, the application processing method provided in this application embodiment only requires the same business to encapsulate its own public channel (such as a shared IPC channel) into its own observer module, and only the registration of the observer module needs to be written in the main process. This improves the development efficiency of each business and the efficiency of business access to the super workbench. In addition, the reduction in the number of IPC channels avoids the problem of duplicate names.

[0142] S802, The rendering process sends the first parameter to the main process through the first inter-process communication (IPC) channel.

[0143] The first IPC channel is the channel corresponding to the first user interface module, and the first parameter is used to indicate the first service.

[0144] In some embodiments, each user interface module has one IPC channel in the rendering process, and different user interface modules have different IPC channels in the rendering process.

[0145] For example, such as Figure 5 As shown, when the document management UI module initiates communication with the workbench main process module for the first time, it creates an IPC channel A (as indicated by label ①). This IPC channel A, for example, is used for the first IPC communication, enabling the rendering process to send a first parameter to the main process. This first parameter can point to the business function that the document management UI module needs to invoke. All inter-process communication initiated by the document management UI module can use this IPC channel A. For example, the first adoption count can be used as an identifier for the note-taking business; the main process determines the indicated business as the note-taking business based on this first parameter.

[0146] For example, such as Figure 7As shown, the rendering process determines the operation of the note-taking service in the document management UI module. Therefore, the rendering process sends parameter 2 to the main process through IPC channel A of the document management service. The main process sends signal 2 to the note observer module based on parameter 2, triggering the note observer module to call the note main process module. Furthermore, the rendering process determines the operation of the note-taking service in the note UI module. When the note UI module initiates communication with the workbench main process module for the first time, it creates an IPC channel D (as shown in label ④). Through IPC channel D, the rendering process sends parameters to the main process, which can point to the service that the note UI module needs to call. Therefore, the rendering process sends parameter 2 to the main process through IPC channel D of the note-taking service. The main process sends signal 2 to the note observer module based on parameter 2, triggering the note observer module to call the note main process module. Here, IPC channels A and D are different IPC channels corresponding to different user interface modules.

[0147] In this way, each service only needs to register one IPC channel to enable communication between the rendering process and the main process for different behaviors of that service, effectively reducing resource consumption and improving communication efficiency.

[0148] S803: The main process calls the observer manager based on the first parameter and sends the first signal to the observer manager.

[0149] The observer manager in the main process module is used to manage observer modules corresponding to multiple business functions.

[0150] In some embodiments, the observer manager includes one or more observer modules, with each observer module corresponding to a specific service. Sending a first signal to the observer manager by invoking it through the main process based on a first parameter includes: invoking the observer module corresponding to the first service through the main process based on the first parameter, and sending a first signal to the observer module corresponding to the first service.

[0151] S804: The main process calls the first main process module based on the first signal.

[0152] The first main process module can be one or more main process modules;

[0153] For example, such as Figure 5 As shown, the main process calls the note observer module corresponding to the note-taking service based on the first parameter, and sends a first signal to the note observer module corresponding to the note-taking service. The note observer module then calls the note-taking main process module based on the first signal.

[0154] In this way, the observer module corresponding to the business can be used to distribute the registered business behaviors, thereby improving the development efficiency of each business and the efficiency of business access to the super workbench.

[0155] S805, the main process sends a second signal to the rendering process on the second IPC channel.

[0156] The second IPC channel is different from the first IPC channel; the second IPC channel is the channel corresponding to the first main process module.

[0157] In some embodiments, each main process module has one IPC channel on the main process, and different main process modules have different IPC channels on the main process.

[0158] For example, such as Figure 5 As shown, if the document management business has already registered callback events, then when the main note-taking module initiates communication with the rendering module for the first time, an IPC channel B (as shown in label ②) is created. Through this IPC channel B, the main process sends callbacks to the rendering process, such as the second signal.

[0159] For example, in response to the registration of a callback event, the main process can send feedback on the response status of signal 2 to the rendering process through IPC channel B of the note-taking service (as shown in label ②), and the note-taking UI module can obtain the response status of signal 2. In response to the registration of a callback event, the main process can also create IPC channel C (as shown in label ③) and send feedback on the response status of signal 1 to the rendering process through IPC channel C, and the document management UI module can obtain the response status of signal 1.

[0160] In this way, each service only needs to register one IPC channel to enable communication between the main process and the rendering process for different behaviors of that service, effectively reducing resource consumption and improving communication efficiency.

[0161] S806. The rendering process calls the second user interface module based on the second signal, so that the second user interface module can determine the response status of the second signal.

[0162] Among them, the second user interface module and the first main process module both belong to the first business.

[0163] In some embodiments, the first user interface module is different from the second user interface module. Alternatively, the second user interface module may include at least the first user interface module.

[0164] For example, such as Figure 5 In the scenario shown, the first user interface module is the document management UI module, and the second user interface module is the note-taking UI module.

[0165] For example, such as Figure 6 In the scenario shown, the first user interface module is the document management UI module, and the second user interface module consists of the document management UI module and the note-taking UI module.

[0166] In this way, the responsiveness of a UI module can be implemented in that UI module or in other UI modules.

[0167] In some solutions, multiple embodiments of this application can be combined, and the combined solution can be implemented. Optionally, some operations in the processes of each method embodiment may be combined, and / or the order of some operations may be changed. Furthermore, the execution order between the steps of each process is merely exemplary and does not constitute a limitation on the execution order between steps; other execution orders are also possible. It is not intended to indicate that the execution order is the only possible order in which these operations can be performed. Those skilled in the art will conceive of various ways to reorder the operations described herein. In addition, it should be noted that the process details involved in one embodiment of this document are similarly applicable to other embodiments, or different embodiments may be combined.

[0168] Furthermore, some steps in the method embodiments can be equivalently replaced with other possible steps. Alternatively, some steps in the method embodiments may be optional and can be deleted in certain use cases. Or, other possible steps may be added to the method embodiments.

[0169] Furthermore, the various method embodiments can be implemented individually or in combination.

[0170] The above combination Figures 5-8 The application processing method provided in the embodiments of this application is described in detail below. Figure 9 and Figure 10 This application provides a detailed description of the electronic device provided in its embodiments.

[0171] In one possible design, Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 9 As shown, the electronic device 900 may include a processing unit 901, a transceiver unit 902, and a display unit 903. The electronic device 900 can be used to implement the functions of the electronic device involved in the above method embodiments. Optionally, the electronic device is equipped with a desktop application. The electronic device 900 can be implemented as an application processing device, applied to the desktop application.

[0172] Optionally, the processing unit 901 is used to support the electronic device 900 in performing [operations]. Figure 8 S801-S806 in the series.

[0173] Optionally, the transceiver unit 902 is used to support the electronic device 900 in receiving user operations.

[0174] Optionally, the display unit 903 is used to support the electronic device 900 in displaying the interface.

[0175] The transceiver unit may include a receiving unit and a transmitting unit, and may be implemented by a transceiver or transceiver-related circuit components, and may be a transceiver or transceiver module. The operation and / or function of each unit in the electronic device 900 are respectively to implement the corresponding flow of the application processing method described in the above method embodiments. All relevant content of each step involved in the above method embodiments can be referred to the functional description of the corresponding functional unit, and for the sake of brevity, it will not be repeated here.

[0176] Optionally, Figure 9 The electronic device 900 shown may also include a storage unit ( Figure 9 (not shown in the image), this storage unit stores a program or instruction. When the processing unit 901, transceiver unit 902, and display unit 903 execute the program or instruction, it causes... Figure 9 The electronic device 900 shown can execute the application processing method described in the above method embodiments.

[0177] Figure 9 The technical effects of the electronic device 900 shown can be referred to the technical effects of the application processing method described in the above method embodiments, and will not be repeated here.

[0178] In addition to being in the form of an electronic device 900, the technical solution provided in this application can also be a functional unit or chip in an electronic device, or a device used in conjunction with an electronic device.

[0179] Figure 10 This is a schematic diagram illustrating the possible product form of the electronic device 100 provided in the embodiments of this application.

[0180] As one possible product form, the electronic device 100 described in this application embodiment can be a communication device.

[0181] The communication device includes a processor 1001. Optionally, the communication device further includes a transceiver 1002, a memory 1003, and a bus. The processor 1001 is used to execute... Figure 8 S801-S806 in the present application, and / or other processing operations that the electronic device 100 needs to perform in the embodiments of this application.

[0182] As another possible product form, the electronic device 100 described in this application embodiment can also be implemented by a general-purpose processor or a dedicated processor, that is, a chip.

[0183] The chip includes a processing circuit 1001. Optionally, the communication device further includes transceiver pins 1002. The processing circuit 1001 is used to perform... Figure 8 S801-S806 in the present application, and / or other processing operations that the electronic device 100 needs to perform in the embodiments of this application.

[0184] This application also provides a chip system, including: a processor coupled to a memory, the memory being used to store programs or instructions, wherein when the program or instructions are executed by the processor, the chip system implements the methods in any of the above method embodiments.

[0185] Optionally, the chip system may contain one or more processors. These processors can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor, implemented by reading software code stored in memory.

[0186] Optionally, the chip system may contain one or more memories. The memory may be integrated with the processor or disposed separately from it; this application embodiment does not limit this. For example, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or disposed separately on different chips. This application embodiment does not specifically limit the type of memory or the arrangement of the memory and processor.

[0187] For example, the chip system may be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips.

[0188] It should be understood that each step in the above method embodiments can be completed by integrated logic circuits in the processor hardware or by instructions in software form. The method steps disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or being executed by a combination of hardware and software modules in the processor.

[0189] This application also provides a computer-readable storage medium storing a computer program. When the computer program is run on a computer, it causes the computer to perform the aforementioned steps to implement the application processing method described in the above embodiments.

[0190] This application also provides a computer program product that, when run on a computer, causes the computer to perform the aforementioned steps to implement the application processing method described above.

[0191] In addition, this application also provides an apparatus. Specifically, the apparatus may be a component or module, and may include one or more processors and a memory connected together. The memory is used to store a computer program. When the computer program is executed by one or more processors, the apparatus performs the application processing methods described in the above-described method embodiments.

[0192] The apparatus, computer-readable storage medium, computer program product, or chip provided in the embodiments of this application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.

[0193] The steps of the methods or algorithms described in conjunction with the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an application-specific integrated circuit (ASIC).

[0194] Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, the division of the above functional modules is only used as an example. In practical applications, the above functions can be assigned to different functional modules as needed; that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0195] In the several embodiments provided in this application, it should be understood that the disclosed methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical functional division, and there may be other division methods in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of modules or units may be electrical, mechanical or other forms.

[0196] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0197] Computer-readable storage media include, but are not limited to, any of the following: USB flash drive, portable hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, and other media capable of storing program code.

[0198] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. An application processing method, characterized in that, This is applied to a desktop application, which includes: an observer manager, one or more main process modules for distributed services, and one or more user interface modules for distributed services. The desktop application runs on a main process and a rendering process. The main process is used to call the observer manager and the main process modules, and the rendering process is used to call the user interface modules. The observer manager includes one or more distributed service observer modules, with each observer module corresponding to one service. Each service registers two inter-process communication (IPC) channels belonging to its own service with its respective observer module. The method includes: The rendering process determines the operation of the first service in the first user interface module, where the first user interface module is a user interface module; the rendering process sends a first parameter to the main process on the first IPC channel, where the first IPC channel is a channel corresponding to the first user interface module, and the first parameter is used to indicate the first service. The main process calls the observer module corresponding to the first service based on the first parameter, and sends a first signal to the observer module corresponding to the first service. The main process invokes a first main process module based on the first signal, whereby the first main process module may be one or more main process modules. The main process sends a second signal to the rendering process via a second IPC channel, which is different from the first IPC channel and is a channel corresponding to the first main process module. The rendering process invokes a second user interface module based on the second signal, so that the second user interface module can determine the response status of the second signal. The second user interface module and the first main process module both belong to the first service. The first user interface module and the second user interface module are different; or the second user interface module includes at least the first user interface module.

2. The method according to claim 1, characterized in that, The desktop application also includes: a main process module for a common service, a user interface module for a common service, and a main process module for the distributed service configured in the main process module for the common service; the user interface module for the distributed service is configured in the user interface module for the common service; the observer manager also includes an observer module for the common service.

3. The method according to claim 2, characterized in that, The observer module for the public service is registered after the main process module of the public service starts.

4. The method according to any one of claims 1-3, characterized in that, The observer module for the distributed service is registered after being called by the user interface module and the main process module of the distributed service.

5. The method according to any one of claims 1-4, characterized in that, Each user interface module has one IPC channel in the rendering process, and different user interface modules have different IPC channels in the rendering process. Each main process module has one IPC channel on the main process, and different main process modules have different IPC channels on the main process.

6. An application processing apparatus, characterized in that, For use in desktop applications, the application processing apparatus includes: a module for performing the method as described in any one of claims 1-5.

7. A computer device, characterized in that, include: A memory and a processor, the memory being used to store computer programs or instructions, and the processor being used to invoke the computer programs or instructions in the memory to perform the method as described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, It includes a computer program or instructions that, when run on a computer, cause the computer to perform the method as described in any one of claims 1-5.

9. A computer program product, characterized in that, The computer program product includes: a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-5.

Citation Information

Patent Citations

  • Data processing method and device, electronic equipment and storage medium

    CN115525401A

  • Message transmission method and device, equipment and storage medium

    CN118672795A