A data processing method, device, computer equipment and storage medium

By establishing a data transmission channel between the main process and the first child process in the adaptive client, the problem of unreal-time video data acquisition in the prior art is solved, and more efficient multimedia data acquisition and processing is achieved.

CN114268759BActive Publication Date: 2025-06-06TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010966840.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-09-15
Publication Date
2025-06-06
Estimated Expiration
2040-09-15

AI Technical Summary

Technical Problem

The existing Mac Catalyst technology system cannot use the UIKit framework on the original iOS platform when collecting video data, resulting in users needing to manually enable the shooting component, reducing the real-time nature of video data acquisition.

Method used

By starting the main process and the first child process in the adaptive client, a data transmission channel between the main process and the first child process is established, the multimedia data collected by the first child process is received and processed in real time, and the processed data is uploaded to the server.

Benefits of technology

It improves the real-timeness of multimedia data acquisition, avoids the step of users manually turning on the shooting components, and enhances the immediacy and efficiency of video data acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114268759B_ABST
    Figure CN114268759B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses a data processing method, device, computer equipment and storage medium, the method comprising: responding to a trigger operation for an adaptation client, starting a main process in the adaptation client and a first sub-process corresponding to the main process; the main process has the function of a first development framework of the adaptation client; the first sub-process has the function of a second development framework of the adaptation client; the first development framework is different from the second development framework; based on the communication strategy between the main process and the first sub-process, establishing a first data transmission channel between the first sub-process and the main process; receiving first multimedia data collected by the first sub-process through the first data transmission channel, processing the first multimedia data through the main process, and uploading the processed first multimedia data to a server corresponding to the adaptation client. The embodiment of the present application can improve the real-time performance of multimedia data collection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a data processing method, apparatus, computer equipment and storage medium. Background Art

[0002] Currently, computer devices can transplant the application development framework (e.g., UIKit framework) under the original platform (e.g., the first platform, which can be the iOS platform) to another platform (e.g., the second platform, which can be the Mac platform) through a transplantation technology (e.g., Mac Catalyet technology), so that the application client developed based on the UIKit framework on the original iOS platform can also run on the Mac platform after adaptation.

[0003] However, due to the incompleteness of the existing Mac Catalyet technical system, the transplanted application client cannot use the UIKit framework on the original iOS platform to collect video data in multimedia data. Therefore, the user needs to manually open the shooting component in the user terminal system to collect video data. This means that every time the user needs to collect a section of video data, he must manually open the shooting component in the user terminal system again. It can be seen that different video data can be collected intermittently through the existing Mac platform. Therefore, it is difficult to obtain these video data in real time during the collection process, thereby reducing the real-time nature of video data collection. Summary of the invention

[0004] The embodiments of the present application provide a data processing method, apparatus, computer equipment and storage medium, which can improve the real-time performance of multimedia data collection.

[0005] An embodiment of the present application provides a data processing method, including:

[0006] In response to a trigger operation on the adaptation client, a main process in the adaptation client and a first sub-process corresponding to the main process are started; the main process has a function of a first development framework of the adaptation client; the first sub-process has a function of a second development framework of the adaptation client; the first development framework is different from the second development framework;

[0007] Based on the communication strategy between the main process and the first sub-process, a first data transmission channel is established between the first sub-process and the main process;

[0008] The first multimedia data collected by the first sub-process is received through the first data transmission channel, the first multimedia data is processed through the main process, and the processed first multimedia data is uploaded to the server corresponding to the adaptation client.

[0009] An embodiment of the present application provides a data processing device, including:

[0010] The first sub-process starting module is used to respond to the trigger operation for the adaptation client, start the main process in the adaptation client and the first sub-process corresponding to the main process; the main process has the function of the first development framework of the adaptation client; the first sub-process has the function of the second development framework of the adaptation client; the first development framework is different from the second development framework;

[0011] A first channel establishing module, used for establishing a first data transmission channel between the first sub-process and the main process based on a communication strategy between the main process and the first sub-process;

[0012] The first data processing module is used to receive the first multimedia data collected by the first sub-process through the first data transmission channel, process the first multimedia data through the main process, and upload the processed first multimedia data to the server corresponding to the adaptation client.

[0013] Wherein, the first sub-process starting module includes:

[0014] The application interface acquisition unit is used to respond to the startup operation of the adaptation client, start the main process in the adaptation client, and acquire the application display interface corresponding to the adaptation client; there are N users to be communicated with who have an associated relationship with the first user in the application display interface; N is a positive integer;

[0015] A first conversation interface output unit, configured to respond to a trigger operation on a target user to be communicated with among the N users to be communicated with, take the target user to be communicated with as a second user, and output a first conversation display interface including the first user and the second user;

[0016] The first activation unit is used to respond to a trigger operation on a first business control in a first session display interface and activate a first sub-process corresponding to a main process; the first sub-process is a sub-process associated with the first business control found in a process mapping relationship table corresponding to the main process.

[0017] There are M communication groups associated with the first user in the application display interface; M is a positive integer;

[0018] The first sub-process startup module also includes:

[0019] a second conversation interface output unit, configured to respond to a trigger operation on a target group to be communicated among the M groups to be communicated, use users other than the first user in the target group to be communicated as third users, and output a second conversation display interface including the first user and the third user;

[0020] The second activation unit is used to respond to the trigger operation of the second business control in the second session display interface and activate the first sub-process corresponding to the main process; the first sub-process is the sub-process associated with the second business control found in the process mapping relationship table corresponding to the main process.

[0021] The first sub-process startup module further includes:

[0022] The communication interface output unit is used to receive a business communication request sent by the second user when starting the main process in the adaptation client, and control the adaptation client to output the communication interface based on the business communication request; the communication interface includes a communication start control for instructing the first user to conduct business communication with the second user;

[0023] The third activation unit is used to respond to the trigger operation on the communication start control and activate the first sub-process corresponding to the main process; the first sub-process is the sub-process associated with the business communication request found in the process mapping relationship table corresponding to the main process.

[0024] Wherein, the first channel establishing module includes:

[0025] A communication strategy acquisition unit, used to acquire a communication strategy between the main process and the first sub-process;

[0026] A transmission mode determination unit, configured to determine a first data transmission mode between the main process and the first sub-process based on a communication strategy, and to start a data receiver in the main process and a data transmitter in the first sub-process based on the first data transmission mode;

[0027] The channel establishing unit is used to establish a first data transmission channel between the first sub-process and the main process based on the data transmitter, the data receiver and the communication strategy.

[0028] The transmission mode determination unit includes:

[0029] The transmission mode determination subunit is used to determine the first data transmission mode between the main process and the first sub-process based on the communication strategy, and control the main process to send a service control parameter to the first sub-process based on the first data transmission mode; the service control parameter is used to instruct the first sub-process to initialize the acquisition controller to obtain an initialization processing result;

[0030] A first information sending subunit is used to control the first sub-process to send first notification information to the main process through the first data transmission mode if the initialization processing result indicates that the state of the acquisition controller is a successful initialization state;

[0031] A second information sending subunit is used to send second notification information to the first sub-process based on the first data transmission mode when the data receiver in the main process is started based on the first notification information;

[0032] The sender start subunit is used to start the data sender in the first sub-process based on the second notification information.

[0033] The second notification information carries K ports provided by the data receiver; K is a positive integer;

[0034] The channel establishing unit comprises:

[0035] The sending port determination subunit is used to determine the sending port corresponding to the data transmitter when the first subprocess obtains K ports, and traverse the K ports to find a port in an idle state;

[0036] The connection subunit is used to use the found idle port as the receiving port corresponding to the sending port, perform a socket connection between the receiving port and the sending port, and obtain a socket connection result;

[0037] The channel establishing subunit is used to establish a first data transmission channel between the first sub-process and the main process if the socket connection result indicates that the connection is successful.

[0038] The first subprocess includes a data collector with an image acquisition function; the data collector includes an initialized acquisition controller;

[0039] The first data processing module includes:

[0040] A collector starting unit, used to start the data collector in the first sub-process through the initialized collection controller when the first data transmission channel is successfully established;

[0041] A data acquisition unit, configured to acquire first multimedia data matching the service control parameters in the first sub-process based on an image acquisition function of the data acquisition device;

[0042] A data sending unit, configured to determine a second data transmission mode between a data receiver in a main process and a data transmitter in a first sub-process based on a communication strategy, and control the data transmitter to send the first multimedia data to the data receiver through the second data transmission mode;

[0043] The data processing unit is used to process the first multimedia data through a main process, and upload the processed first multimedia data to a server corresponding to the adaptation client.

[0044] The first multimedia data includes initial audio data and initial video data collected by the first sub-process;

[0045] The data processing unit includes:

[0046] The first encoding subunit is used to remove environmental noise data from the initial audio data through the main process, and adjust the volume of the initial audio data after the environmental data is removed to obtain target audio data, and perform audio encoding processing on the target audio data to obtain an audio encoding code stream;

[0047] The second encoding subunit is used to perform image optimization processing on the video frames in the initial video data through the main process, use the initial video data after the image optimization processing as the target video data, perform video encoding processing on the target video data, and obtain a video encoding code stream;

[0048] The data uploading subunit is used to take the audio encoding stream and the video encoding stream as the first multimedia data after data processing, and upload the first multimedia data after data processing to the server corresponding to the adaptation client.

[0049] The device further comprises:

[0050] The communication interface output module is used to take the target audio data and the target video data as target multimedia data, and output the target multimedia data to the instant messaging interface corresponding to the adaptation client;

[0051] A first notification information sending module is used to respond to a trigger operation on a communication end control in the instant messaging interface, and control the main process to send a third notification information to the first sub-process based on the first data transmission mode determined by the communication strategy;

[0052] A second notification information sending module is used to send fourth notification information to the main process based on the first data transmission mode when the first sub-process closes the data collector and the data transmitter based on the third notification information;

[0053] The receiver closing module is used to close the data receiver in the main process based on the fourth notification information.

[0054] Among them, the instant messaging interface includes a service selection control;

[0055] The device also includes:

[0056] A business control output module, used to respond to a trigger operation on a business selection control and output a third business control in the instant messaging interface;

[0057] A second sub-process starting module, used to respond to a trigger operation on the third business control and activate a second sub-process corresponding to the main process; the second sub-process is a sub-process associated with the third business control found in the process mapping relationship table corresponding to the main process;

[0058] A second channel establishing module, used for establishing a second data transmission channel between the second sub-process and the main process based on the communication strategy between the main process and the second sub-process;

[0059] The second data processing module is used to receive the second multimedia data collected by the second sub-process through the second data transmission channel, process the second multimedia data through the main process, and upload the processed second multimedia data to the server.

[0060] The device further comprises:

[0061] The end request generation module is used to generate a communication end request when the main process closes the data receiver; the communication end request is used to instruct the server to generate service end information associated with the communication end request; the service end information includes the communication duration;

[0062] The end information output module is used to receive the service end information sent by the server, and output the service end information including the communication duration to the corresponding session display interface of the adaptation client.

[0063] On one hand, the present application provides a computer device, including: a processor, a memory, and a network interface;

[0064] The processor is connected to a memory and a network interface, wherein the network interface is used to provide a data communication function, the memory is used to store a computer program, and the processor is used to call the computer program to execute the method in the above aspect of the embodiment of the present application.

[0065] In one aspect, the present application provides a computer-readable storage medium storing a computer program. The computer program includes program instructions. When the program instructions are executed by a processor, the method in the above aspect of the embodiment of the present application is executed.

[0066] In one aspect, the present application provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method in the above aspect.

[0067] In an embodiment of the present application, the adaptation client run by a computer device (e.g., a user terminal) is an application client including multiple processes. Among them, the multiple processes in the adaptation client may include at least a main process with a multimedia data processing function and a collection process with a multimedia data collection function. Among them, the number of collection processes will not be limited here. The user terminal can respond to a trigger operation for the adaptation client and start the main process in the adaptation client and the first sub-process (e.g., collection process) corresponding to the main process. Among them, the main process can have the function of the first development framework of the adaptation client; the first sub-process can have the function of the second development framework of the adaptation client; the first development framework here is different from the second development framework. Further, the user terminal can establish a first data transmission channel between the first sub-process and the main process based on the communication strategy between the main process and the first sub-process, so that inter-process communication can be performed between the main process and the first sub-process. It can be understood that the user terminal can receive the first multimedia data collected by the first sub-process in real time through the first data transmission channel, and then can process the first multimedia data through the main process, and upload the processed first multimedia data to the server corresponding to the adaptation client. It can be seen that, since the first sub-process can communicate with the main process, the user terminal can obtain the first multimedia data collected by the first sub-process in real time according to the first data transmission channel, thereby improving the real-time performance of multimedia data collection. BRIEF DESCRIPTION OF THE DRAWINGS

[0068] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0069] Figure 1 It is a structural diagram of a network architecture provided by an embodiment of the present application;

[0070] Figure 2 This is a schematic diagram of a scenario for data interaction provided by an embodiment of the present application;

[0071] Figure 3 It is a flowchart of a data processing method provided in an embodiment of the present application;

[0072] Figure 4 This is a schematic diagram of a scenario for initiating business communication in a single chat scenario provided by an embodiment of the present application;

[0073] Figure 5This is a schematic diagram of a scenario for initiating business communication in a group chat scenario provided by an embodiment of the present application;

[0074] Figure 6 This is a schematic diagram of a scenario for obtaining an application display interface provided in an embodiment of the present application;

[0075] Figure 7 This is a schematic diagram of a scenario for obtaining an interface to be communicated provided in an embodiment of the present application;

[0076] Figure 8 It is a software module architecture diagram of an application program provided in an embodiment of the present application;

[0077] Fig. 9 This is a schematic diagram of a scenario for ending a business communication provided in an embodiment of the present application;

[0078] Fig.10 It is a flowchart of a data processing method provided in an embodiment of the present application;

[0079] Fig.11a is a schematic diagram of a scenario for activating a second sub-process provided in an embodiment of the present application;

[0080] Fig.11b It is a schematic diagram of a scenario of uploading multimedia data after data processing provided by an embodiment of the present application;

[0081] Fig.12 is a timing diagram of data processing provided by an embodiment of the present application;

[0082] Fig.13 is a structural schematic diagram of a data processing device provided in an embodiment of the present application;

[0083] Fig.14 It is a schematic diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0084] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0085] See also Figure 1 , Figure 1 Schematic diagram of a network architecture provided by an embodiment of the present application. Figure 1As shown, the network architecture may include a server 10 and a user terminal cluster. The user terminal cluster may include one or more user terminals, and the number of user terminals is not limited here. Figure 1 As shown, it may specifically include user terminal 100a, user terminal 100b, user terminal 100c, ..., user terminal 100n. Figure 1 As shown, the user terminal 100a, the user terminal 100b, the user terminal 100c, ..., the user terminal 100n can respectively establish a network connection with the server 10, so that each user terminal can exchange data with the server 10 through the network connection.

[0086] Each user terminal in the user terminal cluster may include: a smart phone, a tablet computer, a laptop computer, a desktop computer, a wearable device, a smart home, a head-mounted device, and other smart terminals with data processing functions. Figure 1 Each user terminal in the user terminal cluster shown in FIG. 1 may be installed with a target application (i.e., an adaptation client). When the adaptation client runs in each user terminal, it may be respectively connected to the above-mentioned Figure 1 Data is exchanged between the servers 10 shown. The adaptation client may include a social client, a live broadcast client, an education client, an entertainment client (eg, a game client), a multimedia client (eg, a video client), and other application clients with a function of collecting multimedia data.

[0087] like Figure 1 As shown, the server 10 in the embodiment of the present application can be the server corresponding to the application client. The server 10 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0088] For ease of understanding, the embodiments of the present application can be Figure 1 Select one user terminal from the multiple user terminals shown as the target user terminal. For example, the embodiment of the present application can Figure 1 The user terminal 100a shown is used as a target user terminal, and the adaptation client (for example, client Q) may be run in the target user terminal. It can be understood that in the embodiment of the present application, the user who accesses the adaptation client through user account 1 in the target user terminal may be referred to as the first user, that is, the first user may be the user of the target user terminal.

[0089] It is understandable that the adapter client in the embodiment of the present application may be an application client including multiple processes, where the multiple processes may include at least a main process and a sub-process. It should be understood that the main process in the embodiment of the present application may have the function of the first development framework (e.g., UIKit framework) of the adapter client. The main process here refers to the process that plays a major functional role in the operation of the multi-process application or the process responsible for managing the life cycle of other processes. The main process may be a process that responds to user events and displays pages. For example, responding to user trigger operations (e.g., mouse clicks, keyboard input, etc.), interface display, etc. It should be understood that the relationship between the main process and the sub-process is generally a one-to-many relationship. The sub-process is generally used to share the tasks of the main process, such as: file download process, screenshot process, acquisition process. Among them, the number of sub-processes will not be limited here. The first sub-process and the second sub-process in the embodiment of the present application are both acquisition processes corresponding to the main process. The acquisition process here may have the function of the second development framework (e.g., APPKit framework) of the adapter client. Among them, the first development framework is different from the second development framework.

[0090] Among them, the UIKit framework can be an application development framework under the first platform (for example, the iOS platform), which has been ported to the second platform (for example, the Mac platform) through a porting technology (for example, the Mac Catalyst technology). The APPKit framework can be a traditional application development framework under the second platform. Here, Mac Catalyst can be an application development framework used in the second platform, which can help the development user quickly port the application client in the first platform to the second platform to obtain a ported application client. The ported application client can run on the second platform after adaptation, thereby obtaining an adapted client.

[0091] It can be understood that the adapter client in the embodiment of the present application improves the technical system of the Mac Catalyst application, and expands the operating environment of Mac Catalyst from a single operating environment based on the UIKit framework to a multi-process operating environment that combines the UIKit framework and the AppKit framework, thereby being able to obtain the multimedia data collected by the collection process in real time based on the communication strategy (i.e., inter-process communication technology).

[0092] For further understanding, please refer to Figure 2 , Figure 2 Schematic diagram of a scenario for data interaction provided by an embodiment of the present application. Figure 2 As shown, the user terminal 210 in the embodiment of the present application may be a user terminal running an adaptation client, and the user terminal 210 may be the above-mentioned Figure 1Any user terminal in the user terminal cluster shown, for example, user terminal 100a. The server corresponding to the adaptation client can be Figure 2 The server 200 shown in FIG. 2 may be the server 200 described above. Figure 1 The server 10 is shown.

[0093] It should be understood that when the user corresponding to the user terminal 210 (i.e., the first user) accesses the adaptation client, the user terminal 210 can start the main process in the adaptation client. It is understood that after the main process is started, the first user can perform a trigger operation in the adaptation client to actively initiate a business communication or agree to a received business communication request. At this time, the user terminal can respond to the trigger operation and start the collection process corresponding to the main process.

[0094] like Figure 2 As shown, the system basic library (e.g., Foudation library) in the embodiment of the present application is an easy-to-use, powerful and flexible framework that can be used to build applications on computer devices (e.g., the adaptation client in the user terminal 210). The adaptation client can include a main process and a collection process. The number of collection processes will not be limited here.

[0095] The main process may have the functions of a first development framework (e.g., UIKit framework) and other application layer support libraries that are adapted to the client. The acquisition process may have the functions of a second development framework (e.g., AppKit framework) and other application layer support libraries that are adapted to the client. The acquisition process may be a subprocess (e.g., first subprocess) subordinate to the main process. The first development framework is different from the second development framework.

[0096] It should be understood that other application layer support libraries here may include a network development framework (e.g., WebKit framework) and a scene development framework (e.g., SceneKit framework). Among them, the network development framework can be used to provide a network interface to access web pages in the adapted client; the scene development framework can be used to create game scenes in the adapted client.

[0097] in, Figure 2 The system graphics library (Core Graphics) shown is an advanced drawing engine that can be used for interface rendering in the adapted client. Figure 2 The system notification service (UserNotifications) shown can be used to generate a notification message in the adaptation client. For example, when the adaptation client receives a new message, the new information can be pushed to the first user corresponding to the user terminal 210. The notification method can include flashing the application icon of the adaptation client, playing a sound, etc.

[0098] in, Figure 2 The system kernel (Darwin) shown may refer to the core of the operating system running on the adapter client. Figure 2 The file coordination shown may refer to the function of providing file (e.g., file in ** record) saving and reading in the adaptation client. Figure 2 The clipboard shown can be used to paste text information in the adaptation client, so that the pasted text information can be quickly input into the text input area. Figure 2 The photo album (Photos) shown may have the function of sending the picture data or video data in the photo album, and may also have the function of saving the picture data or video data during business communication to the photo album. Figure 2 The contacts shown may be used to record users in the adaptation client that have an associated relationship (eg, a two-way friend relationship) with the first user. Figure 2 The settings (Prefs) shown can enable the first user to perform system settings in the adaptation client (for example, permissions for background running of programs, permissions for reading contacts, photo albums, etc.).

[0099] Furthermore, the user terminal 210 can establish a first data transmission channel between the acquisition process and the main process based on the communication strategy between the main process and the acquisition process, so as to realize inter-process communication. The acquisition process can use an audio and video acquisition and processing framework (e.g., AVFoundation framework) to capture multimedia data such as camera data, microphone data, screen images, and local albums.

[0100] It is understandable that the user terminal 210 can receive the multimedia data collected by the collection process through the first data transmission channel, and then process the multimedia data through the main process to obtain the processed multimedia data. It should be understood that the data processing here can include customized processing such as beauty and filters on the multimedia data process according to the user needs of the first user.

[0101] At this time, the user terminal 210 can output the multimedia data obtained after data processing to the instant messaging interface of the user terminal 210. Optionally, the user terminal 210 can also send the multimedia data after data processing to the server 200, so that the server 200 can send the multimedia data 1 to the receiving user who is conducting business communication with the first user.

[0102] It can be seen that since the user terminal in the embodiment of the present application can obtain the multimedia data collected by the collection process in real time through the communication strategy between the main process and the collection process, it can realize functions such as real-time video calls, real-time screen sharing, and real-time beauty shooting.

[0103] Among them, the computer device running the adaptation client in the embodiment of the present application controls the main process in the multi-process architecture to obtain the multimedia data collected by the collection process in real time based on the communication strategy in the multi-process architecture (for example, inter-process communication technology). For specific implementation methods, see the following Figure 3-Figure 12 The corresponding embodiment.

[0104] For further information, see Figure 3 , Figure 3 is a flow chart of a data processing method provided in an embodiment of the present application. Figure 3 As shown, the method can be executed by a computer device running an adaptation client, and the computer device can be a user terminal (for example, the above Figure 1 The user terminal 100a shown may also be a server, which is not limited here. For ease of understanding, the present application embodiment takes the method executed by the user terminal as an example for explanation, and the method may at least include the following steps S101-S103:

[0105] Step S101, in response to a trigger operation on the adaptation client, a main process in the adaptation client and a first sub-process corresponding to the main process are started.

[0106] Specifically, when the first user corresponding to the user terminal (for example, user A) accesses the adaptation client through user account 1, a trigger operation can be performed on the adaptation client. Among them, the trigger operation may include contact operations such as clicking and long pressing, and may also include non-contact operations such as voice and gestures, which are not limited here. In the embodiment of the present application, the trigger operation when the first user accesses the adaptation client may be referred to as a startup operation. At this time, the user terminal can respond to the startup operation and start the main process in the adaptation client. Furthermore, after the main process is started, the first user can perform a trigger operation in the adaptation client to actively initiate business communications or agree to the received business communication request. At this time, the user terminal can respond to the trigger operation and start the first sub-process corresponding to the main process.

[0107] It should be understood that the first user can actively initiate a service communication request in the adapter client to start the first sub-process corresponding to the main process. It can be understood that when the first user accesses the adapter client, the startup operation is performed on the adapter client. At this time, the user terminal can respond to the startup operation, start the main process in the adapter client, and then obtain the application display interface corresponding to the adapter client.

[0108] Among them, there may be N users to be communicated with who have an association relationship (for example, a two-way friend relationship) with the first user in the application display interface. Here, N can be a positive integer. Further, the first user can perform a trigger operation on the target user to be communicated among the N users to be communicated. At this time, the user terminal can respond to the trigger operation, use the target user to be communicated as the second user, and output a first session display interface including the first user and the second user. Among them, the first session display interface may include multiple business controls. These multiple business controls may specifically include a business control 1 for initiating audio communication (for example, a "voice call" control), a business control 2 for initiating video communication (for example, a "video call" control), a business control 3 for initiating screen sharing (for example, a "screen sharing" control), and a business control 4 for initiating local resource sharing (for example, a "local resource sharing" control), etc. Among them, each business control can correspond to a collection process.

[0109] Further, the first user can perform a trigger operation on a certain business control (for example, business control 2) in the first session display interface, and at this time, the user terminal can respond to the trigger operation and activate the first sub-process corresponding to the main process. In this embodiment of the present application, the business control (for example, business control 2) associated with the trigger operation in the first session display interface can be referred to as the first business control, and the first sub-process can be the sub-process (i.e., the collection process) associated with the first business control found in the process mapping relationship table corresponding to the main process.

[0110] For ease of understanding, please refer to Table 1, which is a process mapping relationship table corresponding to a main process provided in an embodiment of the present application. As shown in Table 1, the acquisition process corresponding to the main process may include multiple, and the embodiment of the present application may take 4 as an example, which may specifically include sub-process 1, sub-process 2, sub-process 3 and sub-process 4. Among them, sub-process 1 in the embodiment of the present application may be an acquisition process associated with business control 1 (for example, "voice call" control), for example, the sub-process 1 can be used to collect audio data in real time. Sub-process 2 in the embodiment of the present application may be an acquisition process associated with business control 2 (for example, "video call" control), for example, the sub-process 2 can be used to collect multimedia data corresponding to the camera in real time. Sub-process 3 in the embodiment of the present application may be an acquisition process associated with business control 3 (for example, "screen sharing" control), for example, the sub-process 3 can be used to collect multimedia data corresponding to the screen. Sub-process 4 in the embodiment of the present application may be an acquisition process associated with business control 4 (for example, "local resource sharing" control), for example, the sub-process 4 can be used to collect multimedia data stored locally such as albums.

[0111] Table 1

[0112] Business Controls Subprocess Business Control 1 Child process 1 Business Controls 2 Child process 2 Business Control 3 Child process 3 Business Controls 4 Child process 4

[0113] For further understanding, please refer to Figure 4 , Figure 4 Schematic diagram of a scenario for initiating business communication in a single chat scenario provided by an embodiment of the present application. Figure 4 As shown, the user terminal in the embodiment of the present application may run an adaptation client, and the user terminal may be the above Figure 1 Any user terminal in the user terminal cluster shown, for example, user terminal 100a.

[0114] It should be understood that the user corresponding to the user terminal in the embodiment of the present application (for example, user 4A) may be a user (ie, the first user) accessing the adaptation client through user account 1. Figure 4 As shown, when user 4A accesses the adaptation client, he can perform a trigger operation on the adaptation client, so that the user terminal can respond to the trigger operation, start the main process in the adaptation client, and then output the application display interface corresponding to the adaptation client (for example, application display interface 400). The trigger operation here can include contact operations such as click (for example, mouse click, finger click, etc.) and long press, and can also include non-contact operations such as gestures and voice, which are not limited here.

[0115] Among them, the application display interface 400 may contain N users to be communicated with who have a two-way friend association relationship with the user 4A, where N may be a positive integer. Figure 4 As shown, the application display interface 400 in the embodiment of the present application may include multiple groups, specifically including group 1 and group 2. Among them, both group 1 and group 2 may include multiple users to be communicated. It should be understood that the users to be communicated in group 1 here are not displayed temporarily, and the number of users to be communicated in group 2 can be 2 as an example, specifically including user 4B and user 4C. Among them, user 4B can be a user who accesses the adaptation client through user account 2, and user 4C can be a user who accesses the adaptation client through user account 3.

[0116] It can be understood that when user 4A needs to conduct business communication with user 4B (i.e., the target user to be communicated), user 4A can perform a trigger operation on user 4B in the application display interface 400. At this time, the user terminal can respond to the trigger operation, use the target user to be communicated as the second user, and output a first conversation display interface including user 4A and user 4B (e.g., Figure 4 The session display interface 410 shown in FIG. 4 shows a session display interface 410. The session display interface 410 may include a service selection control 4. Further, the user 4A may perform a trigger operation on the service selection control 4 to select a communication method for business communication with the user 4B. At this time, the user terminal may respond to the trigger operation and display multiple service controls in the session display interface 410. Taking four service controls as an example, the service controls may include a service control 1m (e.g., a "voice message" control), a service control 2m (e.g., a "voice call" control), a service control 3m (e.g., a "video call" control), and a service control 4m (e.g., a "screen sharing" control).

[0117] Furthermore, the user 4A performs a trigger operation on the business control 3m (i.e., the first business control) in the four business controls to initiate a business communication of a video call to the user 4B. At this time, the user terminal can respond to the trigger operation, search for the sub-process associated with the "video call" control (e.g., sub-process 2 in Table 1) in the process mapping relationship table shown in Table 1, and then activate the sub-process 2, and then, when the multimedia data corresponding to the camera collected by the sub-process 2 (i.e., the first multimedia data) is subsequently obtained, the first multimedia data can be output to the instant messaging interface corresponding to the adaptation client (e.g., the instant messaging interface corresponding to the adaptation client). Figure 4 In the instant messaging interface 420 shown, the user 4B is waiting to join the communication, thereby realizing the video call function.

[0118] Optionally, there may be M groups to be communicated that are associated with the first user in the application display interface corresponding to the adaptation client. Here, M may be a positive integer. It should be understood that the first user may perform a trigger operation on a target group to be communicated among the M groups to be communicated. At this time, the user terminal corresponding to the first user may respond to the trigger operation, treat the users in the target group to be communicated except the first user as the third user, and output a second session display interface including the first user and the third user. The second session interface may include multiple business controls.

[0119] Further, the user terminal may respond to a trigger operation of the first user on a certain business control in the second session display interface, and activate a first sub-process corresponding to the main process. In this embodiment of the present application, the business control associated with the trigger operation in the second session display interface may be referred to as a second business control, and the first sub-process may be a sub-process associated with the second business control found in the process mapping relationship table corresponding to the main process.

[0120] For further understanding, please refer to Figure 5 , Figure 5 Schematic diagram of a scenario for initiating business communication in a group chat scenario provided by an embodiment of the present application. Figure 5 As shown, the user terminal in the embodiment of the present application may run an adaptation client, and the user terminal may be the above Figure 1 Any user terminal in the user terminal cluster shown, for example, user terminal 100a.

[0121] It should be understood that the user corresponding to the user terminal in the embodiment of the present application (for example, user 5A) can be referred to as the first user. Figure 5 As shown, the user terminal can start the main process in the adaptation client in response to the user 5A performing a trigger operation on the adaptation client, thereby outputting the application display interface corresponding to the adaptation client (for example, application display interface 500). Among them, there may be M groups to be communicated that have a two-way friend association relationship with the user 5A in the application display interface 500, where M can be a positive integer. The embodiment of the present application can take 2 as an example, which can specifically include group 1 and group 2.

[0122] It can be understood that user 5A can perform a trigger operation on group 1 (i.e., the target group to be communicated) in the application display interface 500. At this time, the user terminal can respond to the trigger operation, treat the users in the target group to be communicated except user 5A as the third user, and output a second conversation display interface including the first user and the third user (e.g., Figure 5The session display interface 510 shown in FIG. 5A shows a session display interface 510. The session display interface 510 may include a service selection control 5. Further, the user 5A may perform a trigger operation on the service selection control 5 to select a communication method for performing service communication with the third user in the group 1. At this time, the user terminal may respond to the trigger operation and display multiple service controls in the session display interface 510. Taking four service controls as an example, the service controls may include service control 1n (for example, a "voice message" control), service control 2n (for example, a "voice call" control), service control 3n (for example, a "video call" control), and service control 4n (for example, a "screen sharing" control).

[0123] Furthermore, the user 5A performs a trigger operation on the business control 3n (i.e., the second business control) in the five business controls. At this time, the user terminal can respond to the trigger operation and search the process mapping relationship table shown in Table 1 for the sub-process associated with the "video call" control (e.g., sub-process 2 in Table 1), and then activate the sub-process 2, so that the multimedia data corresponding to the camera collected by the sub-process 2 (i.e., the first multimedia data) can be obtained later, and then the first multimedia data can be output to the instant messaging interface corresponding to the adaptation client (e.g., Figure 5 In the instant messaging interface 520 shown, the user waits for a third user to join the communication, thereby realizing the video call function.

[0124] For further information, see Figure 6 , Figure 6 Schematic diagram of a scenario for obtaining an application display interface provided by an embodiment of the present application. Figure 6 As shown, in the embodiment of the present application, the user terminal corresponding to the user 6A may run an adaptation client, and the user terminal may be the above-mentioned Figure 1 Any user terminal in the user terminal cluster shown, for example, user terminal 100a.

[0125] It should be understood that the application display interface 600i in the embodiment of the present application may be a display interface output by the user terminal when the user 6A (ie, the first user) accesses the adaptation client. The application display interface 600i may be the above Figure 4 The application display interface 400 is shown. Figure 7 As shown, the application display interface 600i may include a control 6. The control 6 may be used to switch the application display interface of the adaptation client.

[0126] It is understandable that the user 6A can perform a trigger operation (for example, a mouse click operation or a touch screen operation) on the control 6 to switch to the application display interface corresponding to the message list. At this time, the user terminal can respond to the trigger operation and switch the display interface of the adaptation client from the application display interface 600i to the display interface 600i. Figure 7 The application display interface 600j shown. The application display interface 600j may include multiple users who have had business communications with user 6A, for example, user 6B and user 6C in the application display interface 600j. The application display interface 600j may also include multiple groups to which the first user belongs, for example, group 60 and group 61.

[0127] It should be understood that user 6A can perform a trigger operation on the target user to be communicated (for example, user 6B) in the application display interface 600j, so as to conduct business communication with user 6B. The specific implementation method of business communication between user 6A and user 6B can be referred to above. Figure 4 The specific implementation of the business communication between user 4A and user 4B shown in the figure will not be described in detail here. In addition, user 6A can also perform a trigger operation on the target communication group (for example, group 60) in the application display interface 600j, so as to conduct business communication with users in the group 60. The specific implementation of the business communication between user 6A and group 60 can be referred to in the above Figure 5 The specific implementation method of the business communication between the user 5A and the group 1 will not be further described here.

[0128] Optionally, the user terminal corresponding to the first user can receive the business communication request sent by the second user when starting the main process in the adapter client. Further, the user terminal can control the adapter client to output a communication interface based on the business communication request. The communication interface may include a communication start control for indicating business communication between the first user and the second user. At this time, the first user can perform a trigger operation on the communication start control, so that the user terminal can respond to the trigger operation and activate the first sub-process corresponding to the main process. The first sub-process can be a sub-process associated with the business communication request found in the process mapping relationship table corresponding to the main process.

[0129] For further understanding, please refer to Figure 7 , Figure 7 Schematic diagram of a scenario for obtaining a communication interface provided by an embodiment of the present application. Figure 7 As shown, in the embodiment of the present application, both the user terminal 71 and the user terminal 72 run an adaptation client, and the user terminal 71 can be the above Figure 1Any user terminal in the user terminal cluster shown, for example, user terminal 100a. The user terminal 72 may be the above Figure 1 Another user terminal in the user terminal cluster shown is, for example, user terminal 100b. The server 70 may be a server corresponding to the adaptation client.

[0130] It should be understood that the user corresponding to the user terminal 71 (for example, user 7B, i.e., the second user) can communicate with the user associated with the user 7B (for example, user 7A, i.e., the first user) for business. It is understood that the user terminal 71 can respond to the trigger operation of the user 7B, generate a business communication request associated with the user 7A, and then send the business communication request to the server 70 corresponding to the adaptation client. At this time, the server 70 can forward the business communication request to the user terminal corresponding to the user 7A (for example, Figure 7 The user terminal 72 is shown).

[0131] Among them, the user terminal 72 corresponding to the user 7A can receive the business communication request forwarded by the server 70 when starting the main process in the adaptation client. Further, the user terminal 72 can control the adaptation client to output the communication interface (such as Figure 7 The communication waiting interface 700 shown in FIG. 1 may include a communication start control for instructing the user 7A to perform business communication with the user 7B.

[0132] It should be understood that the user 7A can perform a trigger operation on the communication start control, so that the user terminal 72 can respond to the trigger operation and activate the first sub-process corresponding to the main process. The first sub-process can be a sub-process associated with the business communication request found in the process mapping relationship table corresponding to the main process.

[0133] Step S102: establishing a first data transmission channel between the first sub-process and the main process based on the communication strategy between the main process and the first sub-process.

[0134] Specifically, the user terminal may obtain the communication strategy between the main process and the first sub-process, and then determine the first data transmission mode between the main process and the first sub-process based on the communication strategy. It should be understood that the user terminal may start the data receiver in the main process and the data transmitter in the first sub-process based on the first data transmission mode. Further, the user terminal may establish the first data transmission channel between the first sub-process and the main process based on the data transmitter, the data receiver and the communication strategy.

[0135] For further information, see Figure 8 , Figure 8 : is a software module architecture diagram of an application provided in an embodiment of the present application. Figure 8 As shown, the main process in the embodiment of the present application may be a function of a first development framework 80d (e.g., UIKit framework) having an adaptation client. The acquisition process in the embodiment of the present application may be a function of a second development framework 81d (e.g., AppKit framework) having the adaptation client, and the acquisition process here may be a subprocess (e.g., first subprocess) subordinate to the main process. The first development framework 80d is different from the second development framework 81d.

[0136] like Figure 8 As shown, in the embodiment of the present application, the first control module 80c in the main process may be referred to as the first controller, and the second control module 81c in the acquisition process may be referred to as the second controller. It should be understood that the user terminal may determine the first data transmission mode (for example, XPC technology) between the main process and the first sub-process based on the communication strategy, and then enable the first control module 80c and the second control module 81c to perform inter-process communication, thereby realizing two-way transmission between the main process and the acquisition process. Among them, the communication strategy in the embodiment of the present application may refer to an inter-process communication technology that can communicate between the main process and the acquisition process (i.e., the sub-process), such as XPC technology, Socket technology, DistributedObjects technology, Apple events technology, Memory Mapping technology, etc.

[0137] It should be understood that when the user terminal corresponding to the first user starts the acquisition process, the main process can be controlled by the first control module 80c to send business control parameters to the acquisition process, and then the acquisition controller in the audio and video data acquisition module 81a in the acquisition process can be initialized. Among them, the embodiment of the present application can refer to the audio and video data acquisition module 81a as a data collector in the acquisition process, and the data collector may include an initialized acquisition controller. The data collector can be used to collect multimedia data in the audio and video acquisition and processing framework 81e (for example, AVFoundation control). The multimedia data may include camera data, microphone data, screen images, etc.

[0138] It is understandable that the user terminal can also establish a data transmission channel between the data receiving module 80b and the data sending module 81b according to the communication strategy after the data receiving module 80b and the data sending module 81b are started, so as to obtain the multimedia data collected by the collection process in real time. In this embodiment of the application, the data receiving module 80b can be referred to as the data receiver in the main process, and the data sending module 81b can be referred to as the data transmitter in the collection process.

[0139] Among them, the user terminal can determine the second data transmission mode between the data receiving module 80b in the main process and the data sending module 81b in the collection process based on the communication strategy, and then control the data sending module 81b to send the multimedia data collected by the audio and video data collection module 81a to the data receiving module 80b in the main process through the second data transmission mode. At this time, the user terminal can process the multimedia data through the audio and video data processing module 80a to obtain the multimedia data after data processing.

[0140] It can be understood that the user terminal corresponding to the first user can determine the first data transmission mode (for example, XPC technology) between the main process and the first sub-process based on the communication strategy, and then can control the main process to send service control parameters to the first sub-process based on the first data transmission mode. The service control parameters here may include acquisition resolution and acquisition frame rate. The service control parameters can be used to instruct the first sub-process to initialize the acquisition controller to obtain the initialization processing result.

[0141] Wherein, if the initialization processing result indicates that the state of the acquisition controller is an initialization failure state, the user terminal can generate an abnormal prompt message to prompt the first user that the corresponding multimedia data cannot be obtained temporarily. Wherein, the cause of the initialization failure state may be a camera hardware abnormality, an operating system abnormality, or an internal crash of the acquisition process (for example, the first sub-process). If the initialization processing result indicates that the state of the acquisition controller is an initialization success state, the user terminal can control the first sub-process and send a first notification message to the main process through the first data transmission method. Wherein, the first notification message can be used to instruct the user terminal to start the data receiver in the main process. When the data receiver in the main process is started based on the first notification message, the user terminal can send a second notification message to the first sub-process based on the first data transmission method. Wherein, the second notification message can be used to instruct the user terminal to start the data transmitter in the first sub-process.

[0142] When the user terminal starts the data receiver based on the first notification information and starts the data transmitter based on the second notification information, the user terminal can establish a first data transmission channel between the first sub-process and the main process according to the second data transmission method (for example, Socket technology) in the communication strategy. It can be understood that the second notification information can carry K ports provided by the data receiver; K here can be a positive integer.

[0143] It should be understood that when the first sub-process obtains the K ports, the user terminal can determine the sending port corresponding to the data transmitter, and then traverse the K ports to find the port in an idle state. Further, the user terminal can use the port found in an idle state as the receiving port corresponding to the sending port, and perform a socket connection between the receiving port and the sending port to obtain a socket connection result. If the socket connection result indicates that the connection is successful, the user terminal can establish a first data transmission channel between the first sub-process and the main process.

[0144] Step S103: receiving the first multimedia data collected by the first sub-process through the first data transmission channel, processing the first multimedia data through the main process, and uploading the processed first multimedia data to the server corresponding to the adaptation client.

[0145] Among them, the first sub-process may include a data collector with an image acquisition function, and the data collector may include an initialized acquisition controller. Specifically, when the first data transmission channel is successfully established, the user terminal can start the data collector in the first sub-process through the initialized acquisition controller. Further, the user terminal can collect the first multimedia data that matches the business control parameters in the first sub-process based on the image acquisition function of the data collector. At this time, the user terminal can determine the second data transmission mode between the data receiver in the main process and the data transmitter in the first sub-process based on the communication strategy, and then control the data transmitter to send the first multimedia data to the data receiver through the second data transmission mode. Further, the user terminal can perform data processing on the first multimedia data through the main process, and upload the first multimedia data after data processing to the server corresponding to the adaptation client.

[0146] Among them, the first multimedia data may include initial audio data and initial video data collected by the first sub-process. The user terminal can remove the environmental noise data in the initial audio data through the main process. For example, LMS adaptive filter noise reduction, basic spectrum subtraction, Wiener filter noise reduction, etc. For example, the user terminal can use the LMS adaptive filter to automatically adjust the current filter parameters using the filter parameters obtained at the previous moment to adapt to the unknown or randomly changing statistical characteristics of the signal and noise, thereby achieving optimal filtering. Furthermore, the user terminal can adjust the volume of the initial audio data after removing the environmental data to obtain the target audio data, and then perform audio encoding processing on the target audio data to obtain an audio encoding code stream.

[0147] At the same time, the user terminal can perform image optimization processing on the video frames in the initial video data through the main process, and use the initial video data after image optimization processing as the target video data. For example, the user terminal can perform frame loss processing on the initial video data according to the network conditions to maintain the smoothness of the video data. Of course, the user terminal can also perform customized processing such as beauty and filters on the initial video data according to the needs of the first user to enhance the user experience and thereby enhance user stickiness. Furthermore, the user terminal can perform video encoding processing on the target video data to obtain a video encoding bit stream.

[0148] It should be understood that the user terminal can use the audio encoding stream and the video encoding stream as the first multimedia data after data processing, and upload the first multimedia data after data processing to the server corresponding to the adaptation client, so that the server can forward the first multimedia data after data processing to the user who conducts business communications with the first user.

[0149] For example, in an online conference scenario, a first user can initiate a business communication in a group (e.g., group 1) in the adapter client, so that a third user in group 1 other than the first user can join the business communication and conduct a video conference. The first user can be the leader of a group participating in the online conference, and the third user can be a member of a group participating in the online conference. The user terminal corresponding to the first user can process the first multimedia data collected from the first user, and send the processed first multimedia data to the server corresponding to the adapter client. At this time, the server can send the processed first multimedia data to the third user in group 1, so that the third user can obtain multimedia data with higher quality, thereby improving the user experience and the work efficiency of group 1.

[0150] It can be seen that the embodiment of the present application can improve the acquisition quality of multimedia data by removing environmental noise data and adjusting the volume of the initial audio data to obtain target audio data, and by performing image optimization processing on the initial video data to obtain target video data. In addition, before data transmission, the embodiment of the present application can reduce the amount of data during data transmission by performing audio encoding processing on the target audio data and performing video encoding processing on the target video data, thereby reducing bandwidth pressure and improving transmission efficiency.

[0151] It should be understood that the user terminal corresponding to the first user can use the target audio data and the target video data as target multimedia data, and can output the target multimedia data to the instant messaging interface corresponding to the adaptation client. At this time, when the first user ends the business communication, the first user can perform a trigger operation on the communication end control in the instant messaging interface, so that the user terminal can respond to the trigger operation, and control the main process to send a third notification message to the first sub-process based on the first data transmission mode determined by the communication strategy. Among them, the third notification message is used to instruct the user terminal to close the data collector and the data transmitter in the first sub-process. It should be understood that when the first sub-process closes the data collector and the data transmitter based on the third notification message, a fourth notification message is sent to the main process based on the first data transmission mode. Among them, the fourth notification message is used to instruct the user terminal to close the data terminator in the main process.

[0152] Further, the user terminal may close the data receiver in the main process based on the fourth notification information. When the main process closes the data receiver, the user terminal may generate a communication termination request. The communication termination request may be used to instruct the server to generate service termination information associated with the communication termination request, where the service termination information may include the communication duration. Further, the user terminal may receive the service termination information sent by the server, and output the service termination information including the communication duration to the session display interface corresponding to the adaptation client.

[0153] For further understanding, please refer to Fig. 9 , Fig. 9 Schematic diagram of a scenario for ending a business communication provided by an embodiment of the present application. Fig. 9 As shown, the instant messaging interface 900 in the embodiment of the present application can be a display interface for user 9A (i.e., the first user) and user 9B (i.e., the second user) corresponding to the user terminal to communicate with each other in the adaptation client. The server 90 in the embodiment of the present application can be a server corresponding to the adaptation client, and the server 90 can be the above-mentioned Figure 1 The server 10 is shown.

[0154] It should be understood that the instant messaging interface 900 may include a communication end control. When user 9A ends the business communication, a trigger operation may be performed on the communication end control. At this time, the user terminal may respond to the trigger operation to close the data receiver in the main process. At the same time, the user terminal may also generate a communication end request to be sent to the server 90. At this time, the server 90 may obtain the communication duration of the business communication between user 9A and user 9B based on the communication end request, and then may generate business end information for sending to the user terminal based on the communication duration. Further, the user terminal may receive the business end information sent by the server 90, and output the business end information including the communication duration to the session display interface corresponding to the adaptation client (for example, Fig. 9 As shown in the session display interface 910). For example, the service end information can be Fig. 9 The chat duration is 10:22.

[0155] For further information, see Fig.10 , Fig.10 is a flow chart of a data processing method provided in an embodiment of the present application. Fig.10 As shown, the method can be executed by a computer device running an adaptation client, and the computer device can be a user terminal (for example, the above Figure 1 The user terminal 100a shown in the figure may also be a server, which is not limited here. For ease of understanding, the embodiment of the present application takes the method executed by the user terminal as an example for explanation, and the method may at least include the following steps S201-S107:

[0156] Step S201, in response to a trigger operation on the adaptation client, a main process in the adaptation client and a first sub-process corresponding to the main process are started.

[0157] Step S202: establishing a first data transmission channel between the first sub-process and the main process based on the communication strategy between the main process and the first sub-process.

[0158] Step S203: receiving the first multimedia data collected by the first sub-process through the first data transmission channel, processing the first multimedia data through the main process, and uploading the processed first multimedia data to the server corresponding to the adaptation client.

[0159] The specific implementation of steps S201 to S203 can be found in the above Figure 3 The description of step S101 to step S103 in the corresponding embodiment will not be repeated here.

[0160] Step S204: In the instant messaging interface corresponding to the adaptation client, in response to the triggering operation on the service selection control, a third service control is output in the instant messaging interface.

[0161] Specifically, the user terminal corresponding to the first user can process the first multimedia data and obtain the target audio data and the target video data as the target multimedia data, and then output the target multimedia data to the instant messaging interface corresponding to the adaptation client (such as Fig. 9 Further, the first user may perform a trigger operation on the service selection control in the instant messaging interface, so that the user terminal may respond to the trigger operation and output a third service control in the instant messaging interface.

[0162] Step S205: In response to the triggering operation on the third service control, the second sub-process corresponding to the main process is activated.

[0163] Specifically, the first user can perform a trigger operation on the third business control, so that the user terminal can respond to the trigger operation, find the sub-process associated with the third business control from the process mapping relationship table corresponding to the main process, determine the found sub-process associated with the third business control as the second sub-process, and then activate the second sub-process.

[0164] Step S206: establishing a second data transmission channel between the second sub-process and the main process based on the communication strategy between the main process and the second sub-process.

[0165] Step S207: receiving the second multimedia data collected by the second sub-process through the second data transmission channel, processing the second multimedia data through the main process, and uploading the processed second multimedia data to the server.

[0166] Among them, the specific implementation methods of the user terminal in the embodiment of the present application establishing the second data transmission channel and obtaining the second multimedia data after data processing can refer to the above-mentioned specific implementation methods of establishing the first data transmission channel and obtaining the first multimedia data after data processing, and will not be further elaborated here.

[0167] For further understanding, please refer to Fig.11a , Fig.11a Schematic diagram of a scenario for activating a second sub-process provided in an embodiment of the present application. Fig.11aAs shown, the instant messaging interface 110x in the embodiment of the present application may be a display interface when user A (i.e., the first user) communicates with user B (i.e., the second user), and the instant messaging interface 110x may be a display interface of a user terminal X corresponding to user A. The user terminal X may run an adaptation client.

[0168] It should be understood that the multimedia data displayed in area 1 of the instant messaging interface 110x of the user terminal X may be target multimedia data 1. The target multimedia data 1 may be obtained by processing the first multimedia data collected by the first subprocess (e.g., the collection process associated with the camera) by the user terminal X. The multimedia data displayed in area 2 of the instant messaging interface 110x of the user terminal X may be target multimedia data 2. The target multimedia data 2 may be multimedia data collected by the user terminal corresponding to the user B (e.g., user terminal Y) and sent by the server corresponding to the adaptation client.

[0169] The instant messaging interface 110x may include Fig.11a It should be understood that user A can perform a trigger operation on the service selection control, so that the user terminal X can respond to the trigger operation and output multiple service controls, for example, Fig.11a The business control shown is 1 (e.g., "camera" control), business control 2 (e.g., "screen sharing" control), business control 3 (e.g., "special effects" control), business control 4 (e.g., "invite friends" control) and business control 5 (e.g., "personal theme" control).

[0170] It should be understood that user A can perform a trigger operation on business control 2 (for example, the "screen sharing" control, i.e., the third business control), so that the user terminal X can respond to the trigger operation, find the sub-process associated with the third business control from the process mapping relationship table corresponding to the main process, determine the sub-process associated with the third business control found as the second sub-process (for example, the sub-process associated with the screen image), and then activate the second sub-process. At this time, the user terminal can establish a second data transmission channel between the second sub-process and the main process based on the communication strategy between the main process and the second sub-process. Furthermore, user A can perform a trigger operation, so that the display interface of the user terminal X switches from the instant messaging interface 110x to the instant messaging interface 110x. Fig.11aThe screen display interface 100y shown. At this time, the user terminal X can control the second sub-process to collect the multimedia data (i.e., the second multimedia data) in the screen display interface 110y, and then send the second multimedia data to the main process through the second data transmission channel. It should be understood that the user terminal X can process the second multimedia data through the main process to obtain the processed second multimedia data.

[0171] Further, user terminal X can upload the processed first multimedia data and the processed second multimedia data to the server corresponding to the adaptation client, so that the server can send the two multimedia data to the user terminal corresponding to user B (for example, user terminal Y). For ease of understanding, further, see Fig.11b , Fig.11b Schematic diagram of a scenario of uploading multimedia data after data processing provided by an embodiment of the present application. Fig.11b As shown, in the embodiment of the present application, the user terminal X corresponding to the user A and the user terminal B corresponding to the user B can both run an adaptation client, and the server in the embodiment of the present application can be the server corresponding to the adaptation client.

[0172] like Fig.11b As shown, the user terminal X can perform special effects, beauty and other data processing on the multimedia data collected by the first sub-process to obtain the first multimedia data after data processing (for example, multimedia data 1). At the same time, the user terminal X can also perform data processing on the multimedia data collected by the second sub-process, so as to obtain the second multimedia data after data processing (for example, multimedia data 2). Further, the user terminal X can upload multimedia data 1 and multimedia data 2 to the server, so that the server can send the multimedia data 1 and multimedia data 2 to the user terminal Y corresponding to the user B. Further, the user terminal Y can perform data processing such as decoding processing on the multimedia data 1 and multimedia data 2, so as to obtain the target multimedia data 1 corresponding to the multimedia data 1 and the target multimedia data 2 corresponding to the multimedia data 2. Among them, the target multimedia data 1 (for example, multimedia data associated with user A) can be obtained by the user terminal X after performing data processing on the multimedia data collected by the first sub-process according to the user needs of user A. Further, the user terminal Y can output the target multimedia data 1 and the target multimedia data 2 to the instant messaging interface 110z corresponding to the user terminal Y. The instant messaging interface 100z may also display multimedia data associated with user B, wherein the multimedia data associated with user B may be obtained after user terminal Y processes the collected multimedia data.

[0173] For further information, see Fig.12 , Fig.12 This is a timing diagram of data processing provided by an embodiment of the present application. Fig.12 As shown, the main process in the embodiment of the present application may have the function of the first development framework (for example, UIKit framework) adapted to the client, and the acquisition process in the embodiment of the present application may have the function of the second development framework (for example, AppKit framework) adapted to the client, and the acquisition process here may be a sub-process (for example, the first sub-process) subordinate to the main process. The first development framework is different from the second development framework.

[0174] It can be understood that when the first user accesses a user terminal running an adapted client, the user terminal can start the main process. When the first user actively initiates a communication service or agrees to the received business communication request, the user terminal can execute step S11 to start business communication, and then determine the first data transmission mode between the main process and the acquisition process based on the communication strategy, thereby starting the acquisition process corresponding to the business communication. Further, the user terminal can execute step S12 to control the main process to send audio and video data acquisition control parameters (i.e., business control parameters) to the acquisition process through the first data transmission mode, so as to initialize the acquisition controller in the acquisition process and obtain the initialization processing result. If the initialization processing result indicates that the state of the acquisition controller is the initialization success state, the user terminal can execute step S13 to control the acquisition process to send the first notification information to the main process through the first data transmission mode, and then execute step S14 to start the data receiver in the main process based on the first notification information.

[0175] Further, the user terminal can execute step S15, and control the main process to send the second notification information to the acquisition process through the first data transmission mode, so as to start the data transmitter in the acquisition process, and then establish a data transmission channel between the main process and the acquisition process based on the communication strategy. When the data transmission channel is successfully established, the user terminal can execute step S16, and start the data collector in the acquisition process through the initialized acquisition controller, and then collect multimedia data matching the business control parameters in the acquisition process based on the image acquisition function of the data collector. At this time, the user terminal can cyclically execute step S17, and control the data transmitter to send the multimedia data to the data receiver through the second data transmission mode through the second data transmission mode between the data receiver in the main process and the data transmitter in the acquisition process, and then process the multimedia data, and send the processed multimedia data to the server corresponding to the adaptation client.

[0176] When the first user actively terminates the communication service or agrees to the received communication termination request, the user terminal can execute step S18 to terminate the current service communication, and then execute step S19 to control the main process to send a third notification message to the collection process based on the first data transmission method to close the data collector and data transmitter in the collection process. When the data collector and data transmitter in the collection process are closed, the user can actively execute step S20 to control the collection process to send a fourth notification message to the main process through the first data transmission method to close the data receiver in the main process.

[0177] For further information, see Fig.13 , Fig.13 Schematic diagram of a data processing device provided in an embodiment of the present application. Fig.13 As shown, the data processing device 1 may be a computer program (including program code) running in a computer device, for example, the data processing device 1 is an application software; the data processing device 1 may be used to execute the corresponding steps of the method provided in the embodiment of the present application. Fig.13 As shown, the data processing device 1 can be run on a computer device, for example, the computer device can be run as a user terminal running an adaptation client. The data processing device 1 may include: a first sub-process starting module 11, a first channel establishing module 12, a first data processing module 13, a communication interface output module 14, a first notification information sending module 15, a second notification information sending module 16, a receiver closing module 17, a business control output module 18, a second sub-process starting module 19, a second channel establishing module 20, a second data processing module 21, an end request generating module 22 and an end information output module 23.

[0178] The first sub-process starting module 11 is used to respond to the trigger operation for the adaptation client, start the main process in the adaptation client and the first sub-process corresponding to the main process; the main process has the function of the first development framework of the adaptation client; the first sub-process has the function of the second development framework of the adaptation client; the first development framework is different from the second development framework.

[0179] The first sub-process starting module 11 includes: an application interface acquiring unit 111 , a first conversation interface output unit 112 , a first activation unit 113 , a second conversation interface output unit 114 , a second activation unit 115 , a communication interface output unit 116 and a third activation unit 117 .

[0180] The application interface acquisition unit 111 is used to respond to the startup operation of the adaptation client, start the main process in the adaptation client, and acquire the application display interface corresponding to the adaptation client; there are N users to be communicated with who have an associated relationship with the first user in the application display interface; N is a positive integer;

[0181] The first conversation interface output unit 112 is used to respond to a trigger operation on a target user to be communicated with among the N users to be communicated with, take the target user to be communicated with as a second user, and output a first conversation display interface including the first user and the second user;

[0182] The first activation unit 113 is used to respond to a trigger operation on a first business control in the first session display interface and activate a first sub-process corresponding to the main process; the first sub-process is a sub-process associated with the first business control found in a process mapping relationship table corresponding to the main process.

[0183] There are M communication groups associated with the first user in the application display interface; M is a positive integer;

[0184] The second conversation interface output unit 114 is used to respond to the trigger operation on the target communication group among the M communication groups, use the users in the target communication group except the first user as the third user, and output the second conversation display interface including the first user and the third user;

[0185] The second activation unit 115 is used to respond to the trigger operation on the second business control in the second session display interface and activate the first sub-process corresponding to the main process; the first sub-process is the sub-process associated with the second business control found in the process mapping relationship table corresponding to the main process.

[0186] The communication interface output unit 116 is used to receive a business communication request sent by the second user when starting the main process in the adaptation client, and control the adaptation client to output the communication interface based on the business communication request; the communication interface includes a communication start control for instructing the first user to conduct business communication with the second user;

[0187] The third activation unit 117 is used to respond to the trigger operation on the communication start control and activate the first sub-process corresponding to the main process; the first sub-process is the sub-process associated with the business communication request found in the process mapping relationship table corresponding to the main process.

[0188] The specific implementation of the application interface acquisition unit 111, the first session interface output unit 112, the first activation unit 113, the second session interface output unit 114, the second activation unit 115, the communication interface output unit 116 and the third activation unit 117 can be referred to above. Figure 3 The description of step S101 in the corresponding embodiment will not be repeated here.

[0189] The first channel establishing module 12 is used to establish a first data transmission channel between the first sub-process and the main process based on the communication strategy between the main process and the first sub-process.

[0190] The first channel establishing module 12 includes: a communication strategy acquiring unit 121 , a transmission mode determining unit 122 and a channel establishing unit 123 .

[0191] The communication strategy acquisition unit 121 is used to acquire the communication strategy between the main process and the first sub-process;

[0192] The transmission mode determination unit 122 is used to determine the first data transmission mode between the main process and the first sub-process based on the communication strategy, and start the data receiver in the main process and the data transmitter in the first sub-process based on the first data transmission mode.

[0193] The transmission mode determination unit 122 includes: a transmission mode determination subunit 1221 , a first information sending subunit 1222 , a second information sending subunit 1223 and a transmitter activation subunit 1224 .

[0194] The transmission mode determination subunit 1221 is used to determine the first data transmission mode between the main process and the first sub-process based on the communication strategy, and control the main process to send a service control parameter to the first sub-process based on the first data transmission mode; the service control parameter is used to instruct the first sub-process to initialize the acquisition controller to obtain an initialization processing result;

[0195] The first information sending subunit 1222 is used to control the first sub-process to send the first notification information to the main process through the first data transmission method if the initialization processing result indicates that the state of the acquisition controller is the initialization success state;

[0196] The second information sending subunit 1223 is used to send the second notification information to the first sub-process based on the first data transmission mode when the data receiver in the main process is started based on the first notification information;

[0197] The transmitter start subunit 1224 is used to start the data transmitter in the first sub-process based on the second notification information.

[0198] The specific implementation of the transmission mode determination subunit 1221, the first information sending subunit 1222, the second information sending subunit 1223 and the transmitter activation subunit 1224 can be referred to above. Figure 3The description of the startup data transmitter and the startup data receiver in the corresponding embodiment will not be repeated here.

[0199] The channel establishing unit 123 is used to establish a first data transmission channel between the first sub-process and the main process based on the data transmitter, the data receiver and the communication strategy.

[0200] The second notification information carries K ports provided by the data receiver; K is a positive integer;

[0201] The channel establishing unit 123 includes: a sending port determining subunit 1231 , a connecting subunit 1232 and a channel establishing subunit 1233 .

[0202] The sending port determination subunit 1231 is used to determine the sending port corresponding to the data transmitter when the first subprocess obtains K ports, and traverse the K ports to find a port in an idle state;

[0203] The connection subunit 1232 is used to use the found idle port as the receiving port corresponding to the sending port, perform a socket connection between the receiving port and the sending port, and obtain a socket connection result;

[0204] The channel establishing subunit 1233 is used to establish a first data transmission channel between the first sub-process and the main process if the socket connection result indicates that the connection is successful.

[0205] The specific implementation of the sending port determination subunit 1231, the connection subunit 1232 and the channel establishment subunit 1233 can be found in the above Figure 3 The description of the first data transmission channel in the corresponding embodiment will not be repeated here.

[0206] The specific implementation of the communication strategy acquisition unit 121, the transmission mode determination unit 122 and the channel establishment unit 123 can be found in the above Figure 3 The description of step S102 in the corresponding embodiment will not be repeated here.

[0207] The first data processing module 13 is used to receive the first multimedia data collected by the first sub-process through the first data transmission channel, process the first multimedia data through the main process, and upload the processed first multimedia data to the server corresponding to the adaptation client.

[0208] The first subprocess includes a data collector with an image acquisition function; the data collector includes an initialized acquisition controller;

[0209] The first data processing module 13 includes: a collector starting unit 131 , a data collecting unit 132 , a data sending unit 133 and a data processing unit 134 .

[0210] The collector starting unit 131 is used to start the data collector in the first sub-process through the initialized collection controller when the first data transmission channel is successfully established;

[0211] The data acquisition unit 132 is used to acquire first multimedia data matching the service control parameters in the first sub-process based on the image acquisition function of the data collector;

[0212] The data sending unit 133 is used to determine the second data transmission mode between the data receiver in the main process and the data transmitter in the first sub-process based on the communication strategy, and control the data transmitter to send the first multimedia data to the data receiver through the second data transmission mode;

[0213] The data processing unit 134 is used to process the first multimedia data through a main process, and upload the processed first multimedia data to a server corresponding to the adaptation client.

[0214] The first multimedia data includes initial audio data and initial video data collected by the first sub-process;

[0215] The data processing unit 134 includes: a first encoding subunit 1341 , a second encoding subunit 1342 and a data uploading subunit 1343 .

[0216] The first encoding subunit 1341 is used to remove environmental noise data from the initial audio data through the main process, and adjust the volume of the initial audio data after the environmental data is removed to obtain target audio data, and perform audio encoding processing on the target audio data to obtain an audio encoding code stream;

[0217] The second encoding subunit 1342 is used to perform image optimization processing on the video frames in the initial video data through the main process, use the initial video data after the image optimization processing as the target video data, perform video encoding processing on the target video data, and obtain a video encoding code stream;

[0218] The data uploading subunit 1343 is used to use the audio coding stream and the video coding stream as the first multimedia data after data processing, and upload the first multimedia data after data processing to the server corresponding to the adaptation client.

[0219] The specific implementation of the first encoding subunit 1341, the second encoding subunit 1342 and the data uploading subunit 1343 can refer to the above Figure 3The description of the data processing of the first multimedia data in the corresponding embodiment will not be further elaborated here.

[0220] The specific implementation of the collector start unit 131, the data collection unit 132, the data sending unit 133 and the data processing unit 134 can be found in the above Figure 3 The description of step S103 in the corresponding embodiment will not be repeated here.

[0221] The communication interface output module 14 is used to take the target audio data and the target video data as target multimedia data and output the target multimedia data to the instant messaging interface corresponding to the adaptation client;

[0222] The first notification information sending module 15 is used to respond to the triggering operation of the communication end control in the instant messaging interface, and control the main process to send the third notification information to the first sub-process based on the first data transmission mode determined by the communication strategy;

[0223] The second notification information sending module 16 is used to send fourth notification information to the main process based on the first data transmission mode when the first sub-process closes the data collector and the data transmitter based on the third notification information;

[0224] The receiver closing module 17 is used to close the data receiver in the main process based on the fourth notification information.

[0225] Among them, the instant messaging interface includes a service selection control;

[0226] The business control output module 18 is used to respond to the trigger operation on the business selection control and output the third business control in the instant messaging interface;

[0227] The second sub-process starting module 19 is used to respond to the trigger operation for the third business control and activate the second sub-process corresponding to the main process; the second sub-process is the sub-process associated with the third business control found in the process mapping relationship table corresponding to the main process;

[0228] The second channel establishing module 20 is used to establish a second data transmission channel between the second sub-process and the main process based on the communication strategy between the main process and the second sub-process;

[0229] The second data processing module 21 is used to receive the second multimedia data collected by the second sub-process through the second data transmission channel, process the second multimedia data through the main process, and upload the processed second multimedia data to the server.

[0230] The end request generating module 22 is used to generate a communication end request when the main process closes the data receiver; the communication end request is used to instruct the server to generate service end information associated with the communication end request; the service end information includes the communication duration;

[0231] The end information output module 23 is used to receive the service end information sent by the server, and output the service end information including the communication duration to the corresponding session display interface of the adaptation client.

[0232] The specific implementation of the first sub-process starting module 11, the first channel establishing module 12, the first data processing module 13, the communication interface output module 14, the first notification information sending module 15, the second notification information sending module 16, the receiver closing module 17, the business control output module 18, the second sub-process starting module 19, the second channel establishing module 20, the second data processing module 21, the end request generating module 22 and the end information output module 23 can be referred to above. Fig.10 The description of steps S201 to S207 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated.

[0233] For further information, see Fig.14 , Fig.14 Schematic diagram of a computer device provided in an embodiment of the present application. Fig.14 As shown, the computer device 1000 may be a user terminal running an adapted client, and the computer device 1000 may include: at least one processor 1001, such as a CPU, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002. The communication bus 1002 is used to implement connection and communication between these components. The user interface 1003 may include a display screen (Display) and a keyboard (Keyboard), and the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 1005 may optionally also be at least one storage device located away from the aforementioned processor 1001. As Fig.14 As shown, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a device control application.

[0234] exist Fig.14In the computer device 1000 shown, the network interface 1004 is mainly used for network communication with the server; the user interface 1003 is mainly used for providing an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:

[0235] In response to a trigger operation on the adaptation client, a main process in the adaptation client and a first sub-process corresponding to the main process are started; the main process has a function of a first development framework of the adaptation client; the first sub-process has a function of a second development framework of the adaptation client; the first development framework is different from the second development framework;

[0236] Based on the communication strategy between the main process and the first sub-process, a first data transmission channel is established between the first sub-process and the main process;

[0237] The first multimedia data collected by the first sub-process is received through the first data transmission channel, the first multimedia data is processed through the main process, and the processed first multimedia data is uploaded to the server corresponding to the adaptation client.

[0238] It should be understood that the computer device 1000 described in the embodiment of the present application can execute the above Figure 3 and Fig.10 The description of the data processing method in the corresponding embodiment can also be performed as described above. Fig.13 The description of the data processing device 1 in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here either.

[0239] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the data processing device 1 mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the above-mentioned Figure 3 or Fig.10 The description of the data processing method in the corresponding embodiment will therefore not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer-readable storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application. As an example, program instructions may be deployed to be executed on one computing device, or on multiple computing devices located at one location, or on multiple computing devices distributed at multiple locations and interconnected by a communication network. Multiple computing devices distributed at multiple locations and interconnected by a communication network can constitute a blockchain system.

[0240] On one hand, the present application provides a computer program product or a computer program, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device can execute the above Figure 3 or Fig.10 The description of the data processing method in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of adopting the same method will not be repeated here.

[0241] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the above-mentioned program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the above-mentioned storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.

[0242] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.

Claims

1. A data processing method, It is characterized in that include: In response to a trigger operation on an adaptation client, a main process in the adaptation client and a first subprocess corresponding to the main process are started; the main process has the function of a first development framework of the adaptation client; the first subprocess has the function of a second development framework of the adaptation client; the first development framework is different from the second development framework; the first development framework is a development framework of a first platform, the second development framework is a development framework of a second platform, the adaptation client is an application client built via Mac Catalyst and running on the second platform, and MacCatalyst transplants the function of the first development framework on the first platform to the second platform and serves as the function of the main process of the adaptation client; Based on the communication strategy between the main process and the first sub-process, establish a first data transmission channel between the first sub-process and the main process; The first multimedia data collected by the first sub-process is received through the first data transmission channel, the first multimedia data is processed through the main process, and the processed first multimedia data is uploaded to the server corresponding to the adaptation client.

2. The method according to claim 1, It is characterized in that The step of responding to a trigger operation of the adaptation client and starting a main process in the adaptation client and a first subprocess corresponding to the main process includes: In response to a startup operation on the adaptation client, a main process in the adaptation client is started, and an application display interface corresponding to the adaptation client is obtained; the application display interface contains N users to be communicated that have an associated relationship with the first user; N is a positive integer; In response to a trigger operation on a target user to be communicated with among the N users to be communicated with, the target user to be communicated with is used as a second user, and a first conversation display interface including the first user and the second user is output; In response to a triggering operation on a first business control in the first session display interface, a first sub-process corresponding to the main process is activated; the first sub-process is a sub-process associated with the first business control found in a process mapping relationship table corresponding to the main process.

3. The method according to claim 2, It is characterized in that In the application display interface, there are M groups to be communicated that are associated with the first user; M is a positive integer; The method further comprises: In response to a trigger operation on a target group to be communicated among the M groups to be communicated, taking users in the target group to be communicated except the first user as third users, and outputting a second conversation display interface including the first user and the third user; In response to a triggering operation on a second business control in the second session display interface, a first sub-process corresponding to the main process is activated; the first sub-process is a sub-process associated with the second business control found in a process mapping relationship table corresponding to the main process.

4. The method according to claim 2, It is characterized in that The method further comprises: When starting the main process in the adaptation client, receiving a business communication request sent by the second user, and controlling the adaptation client to output a communication interface based on the business communication request; the communication interface includes a communication start control for instructing the first user to conduct business communication with the second user; In response to a trigger operation on the communication start control, a first sub-process corresponding to the main process is activated; the first sub-process is a sub-process associated with the business communication request found in a process mapping relationship table corresponding to the main process.

5. The method according to claim 1, It is characterized in that The establishing a first data transmission channel between the first sub-process and the main process based on the communication strategy between the main process and the first sub-process includes: Acquire a communication strategy between the main process and the first sub-process; Determine a first data transmission mode between the main process and the first sub-process based on the communication strategy, and start a data receiver in the main process and a data transmitter in the first sub-process based on the first data transmission mode; Based on the data transmitter, the data receiver and the communication strategy, a first data transmission channel is established between the first sub-process and the main process.

6. The method according to claim 5, It is characterized in that The determining a first data transmission mode between the main process and the first sub-process based on the communication strategy, and starting a data receiver in the main process and a data transmitter in the first sub-process based on the first data transmission mode, comprises: Determine a first data transmission mode between the main process and the first sub-process based on the communication strategy, and control the main process to send a service control parameter to the first sub-process based on the first data transmission mode; the service control parameter is used to instruct the first sub-process to initialize the acquisition controller to obtain an initialization processing result; If the initialization processing result indicates that the state of the acquisition controller is a successful initialization state, controlling the first sub-process to send a first notification message to the main process through the first data transmission method; When the data receiver in the main process is started based on the first notification information, second notification information is sent to the first sub-process based on the first data transmission mode; A data transmitter is started in the first sub-process based on the second notification information.

7. The method according to claim 6, It is characterized in that The second notification information carries K ports provided by the data receiver; K is a positive integer; The establishing a first data transmission channel between the first sub-process and the main process based on the data transmitter, the data receiver and the communication strategy includes: When the first subprocess obtains the K ports, determining the sending port corresponding to the data transmitter, and searching the K ports for a port in an idle state; Using the found idle port as the receiving port corresponding to the sending port, performing a socket connection between the receiving port and the sending port, and obtaining a socket connection result; If the socket connection result indicates that the connection is successful, a first data transmission channel is established between the first sub-process and the main process.

8. The method according to claim 1, It is characterized in that The first sub-process includes a data collector with an image acquisition function; the data collector includes an initialized acquisition controller; The receiving, through the first data transmission channel, the first multimedia data collected by the first sub-process, processing the first multimedia data through the main process, and uploading the processed first multimedia data to the server corresponding to the adaptation client includes: When the first data transmission channel is successfully established, starting the data collector in the first sub-process through the initialized acquisition controller; Based on the image acquisition function of the data collector, first multimedia data matching the service control parameters in the first sub-process is acquired; Determine a second data transmission mode between the data receiver in the main process and the data transmitter in the first sub-process based on the communication strategy, and control the data transmitter to send the first multimedia data to the data receiver through the second data transmission mode; The first multimedia data is processed by the main process, and the processed first multimedia data is uploaded to the server corresponding to the adaptation client.

9. The method according to claim 8, It is characterized in that The first multimedia data includes initial audio data and initial video data collected by the first sub-process; The processing of the first multimedia data by the main process and uploading the processed first multimedia data to the server corresponding to the adaptation client includes: The main process removes the environmental noise data in the initial audio data, and performs volume adjustment on the initial audio data after the environmental noise data is removed to obtain target audio data, and performs audio encoding processing on the target audio data to obtain an audio encoding code stream; Performing image optimization processing on the video frames in the initial video data through the main process, taking the initial video data after the image optimization processing as the target video data, performing video encoding processing on the target video data, and obtaining a video encoding bit stream; The audio encoding stream and the video encoding stream are used as the first multimedia data after data processing, and the first multimedia data after data processing is uploaded to the server corresponding to the adaptation client.

10. The method according to claim 9, It is characterized in that The method further comprises: Taking the target audio data and the target video data as target multimedia data, and outputting the target multimedia data to an instant messaging interface corresponding to the adaptation client; In response to a triggering operation on a communication end control in the instant messaging interface, based on a first data transmission mode determined by the communication strategy, controlling the main process to send a third notification message to the first sub-process; When the first sub-process closes the data collector and the data transmitter based on the third notification information, sending fourth notification information to the main process based on the first data transmission mode; The data receiver is closed in the main process based on the fourth notification information.

11. The method according to claim 10, It is characterized in that The instant messaging interface includes a service selection control; The method further comprises: In response to a triggering operation on the service selection control, outputting a third service control in the instant messaging interface; In response to a trigger operation on the third business control, activating a second sub-process corresponding to the main process; the second sub-process is a sub-process associated with the third business control found in a process mapping relationship table corresponding to the main process; Based on the communication strategy between the main process and the second sub-process, establishing a second data transmission channel between the second sub-process and the main process; The second multimedia data collected by the second sub-process is received through the second data transmission channel, the second multimedia data is processed through the main process, and the processed second multimedia data is uploaded to the server.

12. The method according to claim 10, It is characterized in that The method further comprises: When the main process closes the data receiver, a communication end request is generated; the communication end request is used to instruct the server to generate service end information associated with the communication end request; the service end information includes the communication duration; The service termination information sent by the server is received, and the service termination information including the communication duration is output to the session display interface corresponding to the adaptation client.

13. A data processing device, It is characterized in that include: A startup module, used to respond to a trigger operation on an adaptation client, start a main process in the adaptation client and a first subprocess corresponding to the main process; the main process has the function of a first development framework of the adaptation client; the first subprocess has the function of a second development framework of the adaptation client; the first development framework is different from the second development framework; the first development framework is a development framework of a first platform, the second development framework is a development framework of a second platform, the adaptation client is an application client built via Mac Catalyst and running on the second platform, and the Mac Catalyst transplants the function of the first development framework on the first platform to the second platform and serves as the function of the main process of the adaptation client; a channel establishing module, configured to establish a first data transmission channel between the first sub-process and the main process based on a communication strategy between the main process and the first sub-process; The data upload module is used to receive the first multimedia data collected by the first sub-process through the first data transmission channel, process the first multimedia data through the main process, and upload the processed first multimedia data to the server corresponding to the adaptation client.

14. A computer device, It is characterized in that include: Processor, memory, network interface; The processor is connected to a memory and a network interface, wherein the network interface is used to provide a data communication function, the memory is used to store a computer program, and the processor is used to call the computer program to execute the method described in any one of claims 1-12.

15. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions. When the program instructions are executed by a processor, the method according to any one of claims 1 to 12 is executed.

16. A computer program product comprising computer instructions, It is characterized in that The computer instructions are stored in a computer-readable storage medium, and are suitable for being read and executed by a processor of a computer device, so that the computer device executes the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Method and device for loading picture toolbar

    CN102981877A