Communication method, device and storage medium between heterogeneous applications

By introducing conference service plug-ins for data format conversion and communication between heterogeneous applications, the problem of low communication efficiency between heterogeneous applications is solved and efficient cross-layer communication is achieved.

CN115168065BActive Publication Date: 2025-09-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210445926.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-26
Publication Date
2025-09-26
Estimated Expiration
2042-04-26

AI Technical Summary

Technical Problem

Communication efficiency between heterogeneous applications is low, mainly due to cumbersome code synchronization and frequent compilation and linking problems caused by changes in proxy callback interfaces.

Method used

By introducing conference service plug-ins between heterogeneous applications, using target tools to convert data formats, and communicating through plug-ins, data protocol format conversion between heterogeneous applications can be achieved, avoiding communication blockages caused by differences in architecture or protocol formats.

Benefits of technology

It improves the communication efficiency between heterogeneous applications, simplifies the code synchronization process, and reduces communication congestion caused by protocol format differences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115168065B_ABST
    Figure CN115168065B_ABST
Patent Text Reader

Abstract

This application discloses a communication method, device, and storage medium between heterogeneous applications. By responding to a conference request for a multimedia conference service in a first application, a conference service plug-in is loaded; then, first-format data generated for the multimedia conference service in the first application is obtained; and the first-format data is converted into second-format data; and then, based on the second-format data, the conference service plug-in communicates with the second application, thereby enabling the multimedia conference service to be provided in the first application. This enables the communication process between heterogeneous applications. By using the conference service plug-in for communication and performing targeted conversion of the data protocol formats between heterogeneous applications, communication blockages caused by differences in architecture or protocol formats are avoided, thereby improving the efficiency of data communication between heterogeneous applications.
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 communication method, device, and storage medium between heterogeneous applications. Background Art

[0002] With the rapid development of Internet technology, people's requirements for software applications are getting higher and higher. Collaborative calling between applications is an important technical method, providing users with convenient cross-application service calling functions.

[0003] Generally, for applications with different architectures, the codes of the two can be developed manually and synchronously, that is, the two can be compiled into versions that can cooperate with each other.

[0004] However, the code synchronization process is cumbersome, and changes to the proxy callback interface during use can lead to compilation and linking problems, which require a lot of time to solve one by one, affecting the communication efficiency between heterogeneous applications. Summary of the Invention

[0005] In view of this, the present application provides a communication method between heterogeneous applications, which can effectively improve the communication efficiency between heterogeneous applications.

[0006] In a first aspect, the present application provides a method for communication between heterogeneous applications, which can be applied to a system or program in a terminal device that includes a communication function between heterogeneous applications, specifically comprising:

[0007] In response to a conference request for a multimedia conferencing service initiated in a first application, loading a conference service plug-in, the first application being used to provide a communication service for a collection of objects, the conference service plug-in being a communication agent for a second application to interact with the first application, the second application being used to provide the multimedia conferencing service, the first application and the second application using different application architectures;

[0008] Acquire first format data generated by the first application for the multimedia conferencing service;

[0009] converting the first format data into second format data by a target tool, where the second format data is adapted to the second application;

[0010] The conference service plug-in communicates with the second application based on the second format data, so that the multimedia conference service is provided for the object set in the first application.

[0011] Optionally, in some possible implementations of the present application, in response to initiating a conference request for a multimedia conference service in the first application, loading a conference service plug-in includes:

[0012] In response to a conference request for a multimedia conference service initiated by the first application, obtaining the conference service plug-in;

[0013] Initializing the conference service plug-in and registering it as a plug-in communication agent for the first application;

[0014] registering the conference service plug-in as a host communication agent for the second application;

[0015] The contract interface of the plug-in communication agent is matched with the contract interface of the host communication agent to load the conference service plug-in.

[0016] Optionally, in some possible implementations of the present application, converting the first format data into the second format data by a target tool includes:

[0017] Determining a protocol format adapted by the second application;

[0018] Traversing the protocol formats adapted by the second application based on the target tool to determine a target format that matches the target tool among the protocol formats adapted by the second application;

[0019] The protocol format of the first format data is converted into the target format by the target tool to obtain the second format data.

[0020] Optionally, in some possible implementations of the present application, determining the protocol format adapted by the second application includes:

[0021] Calling carrier data for communication between the front-end and the back-end during the operation of the second application;

[0022] Determining a protocol format corresponding to the carrier data;

[0023] The protocol format adapted by the second application is determined according to the protocol format corresponding to the carrier data.

[0024] Optionally, in some possible implementations of the present application, communicating with the second application based on the second format data through the conference service plug-in, so as to provide the multimedia conference service for the object set in the first application, includes:

[0025] Determine the plug-in process corresponding to the conference service plug-in through the contract interface;

[0026] Determining a conference process configured for the multimedia conferencing service based on the platform type corresponding to the first application;

[0027] If the plug-in process and the conference process belong to different processes, transmitting the second format data using an inter-process communication channel so that the conference service plug-in communicates with the second application;

[0028] Based on the communication between the conference service plug-in and the second application, the multimedia conference service is provided for the object set in the first application.

[0029] Optionally, in some possible implementations of the present application, the method further includes:

[0030] If the plug-in process and the process to which the conference process belongs are the same, calling the runtime instance to transmit the second format data, so that the conference service plug-in communicates with the second application;

[0031] Based on the communication between the conference service plug-in and the second application, the multimedia conference service is provided for the object set in the first application.

[0032] Optionally, in some possible implementations of the present application, the first application calls the second application through a first control in the conference service plug-in, and the method further includes:

[0033] In response to a data request from the second application to the first application, obtaining requested data;

[0034] Encapsulating the request data into a variable data object;

[0035] Calling a second control in the conference service plug-in;

[0036] The variable data object is transmitted to the first application through the second control to call data in the first application.

[0037] A second aspect of the present application provides a communication device between heterogeneous applications, including: a loading unit, configured to load a conference service plug-in in response to a conference request for a multimedia conference service initiated in a first application, wherein the first application is configured to provide a communication service for a collection of objects, the conference service plug-in being a communication agent for a second application to interact with the first application, the second application being configured to provide the multimedia conference service, and the first application and the second application using different application architectures;

[0038] An acquiring unit, configured to acquire first format data generated by the first application for the multimedia conferencing service;

[0039] a conversion unit, configured to convert the first format data into a second format data through a target tool, wherein the second format data is adapted to the second application;

[0040] A communication unit is configured to communicate with the second application based on the second format data through the conference service plug-in, so as to provide the multimedia conference service for the object set in the first application.

[0041] Optionally, in some possible implementations of the present application, the loading unit is specifically configured to obtain the conference service plug-in in response to a conference request for initiating a multimedia conference service in the first application;

[0042] The loading unit is specifically configured to initialize the conference service plug-in and register it as a plug-in communication agent of the first application;

[0043] The loading unit is specifically configured to register the conference service plug-in as a host communication agent of the second application;

[0044] The loading unit is specifically configured to match the contract interface between the plug-in communication agent and the host communication agent to load the conference service plug-in.

[0045] Optionally, in some possible implementations of the present application, the conversion unit is specifically configured to determine a protocol format adapted by the second application;

[0046] The conversion unit is specifically configured to traverse the protocol format adapted by the second application based on the target tool to determine a target format that matches the target tool among the protocol formats adapted by the second application;

[0047] The conversion unit is specifically configured to convert the protocol format of the first format data into the target format through the target tool to obtain the second format data.

[0048] Optionally, in some possible implementations of the present application, the conversion unit is specifically configured to call carrier data for communication between the front end and the back end of the second application during operation;

[0049] The conversion unit is specifically used to determine the protocol format corresponding to the carrier data;

[0050] The conversion unit is specifically configured to determine a protocol format adapted by the second application according to a protocol format corresponding to the carrier data.

[0051] Optionally, in some possible implementations of the present application, the communication unit is specifically configured to determine a plug-in process corresponding to the conference service plug-in through a contract interface;

[0052] The communication unit is specifically configured to determine the conference process configured for the multimedia conference service according to the platform type corresponding to the first application;

[0053] The communication unit is specifically configured to transmit the second format data using an inter-process communication pipe if the plug-in process and the conference process belong to different processes, so that the conference service plug-in communicates with the second application;

[0054] The communication unit is specifically configured to provide the multimedia conference service for the object set in the first application based on communication between the conference service plug-in and the second application.

[0055] Optionally, in some possible implementations of the present application, the communication unit is specifically configured to, if the plug-in process and the conference process belong to the same process, call the runtime instance to transmit the second format data, so that the conference service plug-in communicates with the second application;

[0056] The communication unit is specifically configured to provide the multimedia conference service for the object set in the first application based on communication between the conference service plug-in and the second application.

[0057] Optionally, in some possible implementations of the present application, the first application calls the second application through the first control in the conference service plug-in, and the communication unit is specifically configured to obtain the requested data in response to the data request of the second application to the first application;

[0058] The communication unit is specifically configured to encapsulate the request data into a variable data object;

[0059] The communication unit is specifically configured to call the second control in the conference service plug-in;

[0060] The communication unit is specifically configured to transmit the variable data object to the first application through the second control, so as to call data in the first application.

[0061] The third aspect of the present application provides a computer device, comprising: a memory, a processor and a bus system; the memory is used to store program code; the processor is used to execute the communication method between heterogeneous applications described in the first aspect or any one of the first aspects according to the instructions in the program code.

[0062] In a fourth aspect, the present application provides a computer-readable storage medium, wherein instructions are stored in the computer-readable storage medium. When the computer-readable storage medium is executed on a computer, the computer executes the communication method between heterogeneous applications described in the first aspect or any one of the first aspects.

[0063] According to one aspect of the present application, a computer program product or computer program is provided, comprising 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 executes the computer instructions, causing the computer device to perform the method for communication between heterogeneous applications provided in the first aspect or various optional implementations of the first aspect.

[0064] It can be seen from the above technical solutions that the embodiments of the present application have the following advantages:

[0065] By responding to a conference request for a multimedia conference service initiated in a first application, loading a conference service plug-in, wherein the first application is used to provide communication services for a collection of objects, and the conference service plug-in is a communication agent for a second application to interact with the first application, the second application is used to provide multimedia conference services, and the first application and the second application use different application architectures; then obtaining first-format data generated in the first application for the multimedia conference service; and converting the first-format data into second-format data through a target tool, the second-format data being adapted for the second application; and then communicating with the second application based on the second-format data through the conference service plug-in, so as to provide multimedia conference services for the collection of objects in the first application. Thus, the communication process between heterogeneous applications is realized. Since the conference service plug-in is used for communication and the data protocol format between heterogeneous applications is converted in a targeted manner, communication blockage caused by differences in architecture or protocol format is avoided, thereby improving the efficiency of data communication between heterogeneous applications. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.

[0067] Figure 1 A network architecture diagram for communication systems between heterogeneous applications;

[0068] Figure 2 A flow chart of communication between heterogeneous applications provided in an embodiment of the present application;

[0069] Figure 3 A flowchart of a method for communication between heterogeneous applications provided in an embodiment of the present application;

[0070] Figure 4 A schematic diagram of a scenario of a communication method between heterogeneous applications provided in an embodiment of the present application;

[0071] Figure 5 A schematic diagram of another scenario of a communication method between heterogeneous applications provided in an embodiment of the present application;

[0072] Figure 6 A schematic diagram of another scenario of a communication method between heterogeneous applications provided in an embodiment of the present application;

[0073] Figure 7 A schematic diagram of another scenario of a communication method between heterogeneous applications provided in an embodiment of the present application;

[0074] Figure 8 A schematic diagram of another scenario of a communication method between heterogeneous applications provided in an embodiment of the present application;

[0075] Figure 9 A schematic diagram of another scenario of a communication method between heterogeneous applications provided in an embodiment of the present application;

[0076] Figure 10 A schematic diagram of the structure of a communication device between heterogeneous applications provided in an embodiment of the present application;

[0077] Figure 11 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application;

[0078] Figure 12 A schematic diagram of the structure of a server provided in an embodiment of the present application. DETAILED DESCRIPTION

[0079] The present application provides a method and related apparatus for communication between heterogeneous applications, which can be applied to a system or program containing communication functions between heterogeneous applications in a terminal device. The method comprises: responding to a conference request for a multimedia conference service initiated by a first application, loading a conference service plug-in, wherein the first application is used to provide communication services for a collection of objects, and the conference service plug-in is a communication agent for a second application to interact with the first application, wherein the second application is used to provide multimedia conference services, and the first application and the second application use different application architectures; then obtaining first format data generated by the first application for the multimedia conference service; and converting the first format data into second format data through a target tool, wherein the second format data is adapted to the second application; and then communicating with the second application based on the second format data through the conference service plug-in, so that the multimedia conference service is provided for the collection of objects in the first application. Thus, the communication process between heterogeneous applications is realized. Since the conference service plug-in is used for communication and the data protocol format between the heterogeneous applications is converted in a targeted manner, communication congestion caused by differences in architecture or protocol format is avoided, thereby improving the efficiency of data communication between heterogeneous applications.

[0080] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the numbers used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "corresponding to" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0081] First, some terms that may appear in the embodiments of this application are explained.

[0082] Collaborative communication: refers to the exchange of data and status between different systems, or different modules in the same system.

[0083] Protobuf: It is a language-independent, platform-independent, extensible method for serializing and structuring data, commonly used in communication protocols, data storage, etc.

[0084] Json: A lightweight data exchange format. Based on a subset of the data exchange format specification, it uses a text format that is completely independent of the programming language to store and represent data.

[0085] It should be understood that the communication method between heterogeneous applications provided in this application can be applied to a system or program in a terminal device that includes a communication function between heterogeneous applications, such as a communication application. Specifically, the communication system between heterogeneous applications can be run on Figure 1 In the network architecture shown in Figure 1 As shown in FIG, it is a network architecture diagram of the operation of the communication system between heterogeneous applications. As can be seen from the figure, the communication system between heterogeneous applications can provide a communication process between heterogeneous applications with multiple information sources, that is, the service functions of other applications in the server are called through the trigger operation of the current application on the terminal side; it can be understood that Figure 1 A variety of terminal devices are shown in FIG. 4 . The terminal devices may be computer devices. In actual scenarios, there may be more or fewer types of terminal devices participating in the communication process between heterogeneous applications. The specific number and type depend on the actual scenario and are not limited here. In addition, Figure 1 One server is shown in the figure, but in actual scenarios, multiple servers may be involved, especially in scenarios where multiple applications interact. The specific number of servers depends on the actual scenario.

[0086] In this embodiment, the server can be a standalone physical server, a server cluster or distributed system consisting 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. The terminal can be, but is not limited to, a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smartwatch, intelligent voice interaction device, smart home appliance, or in-vehicle terminal. The terminal and server can be connected directly or indirectly via wired or wireless communication, and the terminal and server can be connected to form a blockchain network, which is not limited in this application.

[0087] It can be understood that the communication system between the above-mentioned heterogeneous applications can run on a personal mobile terminal, for example: as an application such as a communication application, it can also run on a server, and it can also run on a third-party device to provide communication between heterogeneous applications to obtain the communication processing results between heterogeneous applications of the information source; the specific communication system between heterogeneous applications can be run in the above-mentioned device in the form of a program, or it can be run as a system component in the above-mentioned device, or it can be used as a cloud service program. This embodiment can be applied to cloud technology, autonomous driving and other scenarios. The specific operation mode depends on the actual scenario and is not limited here.

[0088] With the rapid development of Internet technology, people's requirements for software applications are getting higher and higher. Collaborative calling between applications is an important technical method, providing users with convenient cross-application service calling functions.

[0089] Generally, for applications with different architectures, the codes of the two can be developed manually and synchronously, that is, the two can be compiled into versions that can cooperate with each other.

[0090] However, the code synchronization process is cumbersome, and changes to the proxy callback interface during use can lead to compilation and linking problems, which require a lot of time to solve one by one, affecting the communication efficiency between heterogeneous applications.

[0091] In order to solve the above problems, this application proposes a communication method between heterogeneous applications. Figure 2 In the process framework of communication between heterogeneous applications shown in Figure 2 As shown, this is a process architecture diagram for communication between heterogeneous applications provided in an embodiment of the present application. By making a conference request on the terminal, the conference service plug-in is triggered to register and load, and then the protocol format between heterogeneous applications is converted through the conference service plug-in to provide functional services.

[0092] It's understandable that the conference service plug-in conveniently smooths out protocol format differences without changing the existing protocol framework. It also uses a single document to describe the communication protocol interface, maintaining interface consistency. Furthermore, a proxy communication model is proposed, suitable for communication between modules within or across processes within the plug-in development model. This enables convenient and efficient cross-layer communication without changing the original software architecture.

[0093] It is understandable that the method provided by the present application can be written as a program to serve as a processing logic in a hardware system, or as a communication device between heterogeneous applications, and the above processing logic can be implemented in an integrated or external manner. As an implementation method, the heterogeneous applications load a conference service plug-in in response to a conference request for a multimedia conference service initiated in a first application, wherein the first application is used to provide communication services for a collection of objects, and the conference service plug-in is a communication agent for a second application to interact with the first application, and the second application is used to provide multimedia conference services, and the first application and the second application use different application architectures; then obtain the first format data generated for the multimedia conference service in the first application; and convert the first format data into second format data through a target tool, and the second format data is adapted to the second application; and then communicate with the second application based on the second format data through the conference service plug-in, so that the multimedia conference service is provided for the object collection in the first application. In this way, the communication process between heterogeneous applications is realized. Since the conference service plug-in is used for communication and the data protocol format between heterogeneous applications is converted in a targeted manner, communication blockage caused by differences in architecture or protocol format is avoided, and the efficiency of data communication between heterogeneous applications is improved.

[0094] In combination with the above process architecture, the following will introduce the communication method between heterogeneous applications in this application. Figure 3 , Figure 3 This is a flowchart of a communication method between heterogeneous applications provided in an embodiment of the present application. The management method can be executed by a terminal or a server. The embodiment of the present application includes at least the following steps:

[0095] 301. In response to a conference request for a multimedia conference service initiated by a first application, load a conference service plug-in.

[0096] In this embodiment, the first application is used to provide communication services for an object set, which may be a user set, such as corporate employees, school students, etc.; and the conference service plug-in is a communication agent for the second application to interact with the first application, and the second application is used to provide multimedia conference services, that is, to implement multimedia conference services in the communication software.

[0097] It should be noted that the first application and the second application in this embodiment adopt different application architectures, that is, this embodiment is a process of implementing multimedia conferencing services in communication software for heterogeneous applications.

[0098] In one possible scenario, the first application is a communication software used for office management, which can be called an office communication application. The second application is an audio and video conferencing application, providing a convenient, easy-to-use, high-definition, smooth, secure and reliable cloud video conferencing service, allowing efficient meetings anytime, anywhere.

[0099] Specifically, from an application architecture perspective, office communication applications employ an MVC (componentized) architecture, while audio and video conferencing applications employ an MVVM (modularized) architecture. Regarding protocol communication, office communication applications widely utilize protocol buffers for front-end and back-end data exchange, or for end-to-end data exchange. Audio and video conferencing applications, on the other hand, make extensive use of XML, JSON, and other formats as primary data exchange formats. Clearly, office communication applications and audio and video conferencing applications are two heterogeneous systems with completely different architectures and communication methods. Therefore, the goal of the converged conferencing project in this embodiment is to integrate the key conferencing functions of audio and video conferencing applications into office communication applications, achieving seamless integration with them.

[0100] In one possible scenario, the architecture of the first application is as follows Figure 4 As shown, Figure 4 This is a scenario diagram of a method for communication between heterogeneous applications provided in an embodiment of the present application. The diagram shows a Model View Controller (MVC) architecture. The underlying layer uses C++ to implement a cross-platform logic layer. The UI layer uses native UI components from each platform or a cross-platform framework to implement specific UI interactions and related logic for each business. This includes a cross-platform foundation layer, a cross-platform service layer, a cross-platform business service layer, and a platform interface (UI) layer.

[0101] Specifically, the cross-platform foundation layer provides fundamental capabilities such as threads, files, synchronization, message loops, and memory management. The cross-platform service layer provides network services, database components, office communication application runtime environment threads, and message loop encapsulation. The cross-platform business service layer implements specific business logic, such as accounts and organizational structures, based on the service layer. The platform UI layer implements specific UI interactions for various business functions.

[0102] As you can see, the MVC architecture organizes code by separating business logic, data, and interface display, concentrating business logic into a single component. This allows for improved and personalized interface customization and user interaction without rewriting the business logic. MVC was uniquely developed to map traditional input, processing, and output functions into a logical graphical user interface structure.

[0103] As you can understand, the Model in the diagram is the part of the application that handles data logic. Typically, the Model object is responsible for storing and retrieving data from the database. The View, on the other hand, is the part of the application that displays data. Views are typically created based on model data. The Controller is the part of the application that handles user interactions. Typically, the Controller is responsible for reading data from the View, handling user input, and sending data to the Model.

[0104] Correspondingly, the architecture of the second application is as follows Figure 5 As shown, Figure 5 A scenario diagram of another communication method between heterogeneous applications provided in an embodiment of the present application; the figure shows that the MVVM cross-platform architecture is a layered design, specifically including an interface (UI) platform layer, a fixed protocol interface encapsulation layer (Wrapper layer), a cross-platform business logic layer (cross-platform layer-AppSDK), conference business core logic development (cross-platform layer-WMSDK) and a cross-platform basic library (cross-platform layer-Base). Among them, the UI platform layer is developed using platform-related native languages ​​or mainstream cross-platform UI frameworks. The Wrapper layer is used to provide cross-platform calls. The cross-platform layer-AppSDK is used to use the MVVM framework to handle business logic. The cross-platform layer-WMSDK is used to provide an asynchronous call interface based on the service, using a single-threaded model. The cross-platform layer-Base is used to encapsulate common models and provide a task mechanism.

[0105] Specifically, for the communication process in the MVVM architecture, such as Figure 6 As shown, Figure 6 A schematic diagram of another scenario for communication between heterogeneous applications provided in an embodiment of the present application. The View in the diagram is responsible for UI display, binding to properties in the ViewModel, triggering behavior commands in the ViewModel, and presenting data provided by the ViewModel. The ViewModel, on the other hand, is responsible for obtaining the data required by the View from the Model, converting it into data that the View can display, and exposing public properties and commands for the View to bind to. Furthermore, the Model is used to provide data sources from the network and database, primarily referring to the relevant business models within the meeting.

[0106] The following describes the configuration process for the conference service plug-in. Specifically, to load the conference service plug-in, you must first initialize the plug-in and register the communication agent. Specifically, in response to a conference request for a multimedia conferencing service from a first application, the conference service plug-in is retrieved. The conference service plug-in is then initialized and registered as the plug-in communication agent for the first application. The conference service plug-in is then registered as the host communication agent for the second application. Finally, the contract interfaces between the plug-in communication agent and the host communication agent are matched to load the conference service plug-in.

[0107] In one possible scenario, the configuration process of the conference service plug-in is as follows: Figure 7 As shown, Figure 7 This diagram illustrates another scenario for a method for communication between heterogeneous applications, as provided in an embodiment of the present application. Specifically, to load a conference service plug-in, the plug-in is first initialized and a communication proxy is registered. Then, after the conference service plug-in is initialized, the host communication proxy is registered. During actual communication, communication requests are sent through the communication proxy, and responses are received through the proxy.

[0108] This embodiment introduces a communication proxy and searches for the proxy implementation at runtime, thereby decoupling plug-in communication and dependencies on each other, improving development efficiency and effectively solving communication problems between heterogeneous systems.

[0109] 302. Obtain first format data generated in a first application for a multimedia conference service.

[0110] In this embodiment, the first application internal business and terminal-backend communication widely use protobuf as the data exchange format, so the first format data is in protobuf format.

[0111] Specifically, the content of the first format data includes but is not limited to data corresponding to operations such as initiating an immediate meeting, joining a meeting, ending a meeting, and jumping to a meeting details page.

[0112] 303. Convert the first format data into the second format data using a target tool.

[0113] In this embodiment, the second format data is adapted for the second application. In one possible scenario, the first application's internal operations and terminal-backend communication widely use Protobuf as the data exchange format. Meanwhile, the second application and its terminal-backend communication widely use JSON, XML, and XMPP as communication protocols and data exchange carriers, encapsulating JSON and XML as mutable objects for internal communication. To smooth out differences in protocols and data formats, the proxy interface design uses JSON as the final data exchange format between the communicating parties.

[0114] It is understandable that the above protocol formats are only examples, and the specific format type depends on the actual scenario.

[0115] Specifically, the format conversion process involves first determining the protocol format adapted by the second application; then, using a target tool, traversing the protocol formats adapted by the second application to determine a target format that matches the target tool; and finally, using the target tool, converting the protocol format of the first format data to the target format to obtain the second format data. The target tool is used for mutual conversion between JSON and protobuf message, for example, the target tool is the official protobuf conversion tool.

[0116] In addition, regarding the determination of the protocol format adapted by the second application, since JSON, XML, and XMPP are widely used within the second application and in the terminal-backend as communication protocols and data exchange carriers, and JSON and XML are internally encapsulated as variable objects for circulation, the carrier data used for communication between the front-end and back-end during the second application's operation can be called; the protocol format corresponding to the carrier data is then determined; and then the protocol format adapted by the second application is determined based on the protocol format corresponding to the carrier data. The formats of JSON, XML, and XMPP are examples; the specific format depends on the format matched by the actual application.

[0117] This embodiment introduces protobuf-json to smooth out the differences in protocol data formats faced by heterogeneous system communications. At the same time, automatic conversion can effectively ensure development quality and avoid hidden errors caused by manual conversion.

[0118] 304. Communicate with the second application based on the second format data through the conference service plug-in, so as to provide a multimedia conference service for the object set in the first application.

[0119] In this embodiment, the conference service plug-in communicates with the second application based on the second format data using the same document to describe the communication protocol interface and maintain interface consistency. That is, the conference service plug-in indicates the contract interface and interaction between heterogeneous applications is carried out through the contract interface.

[0120] Specifically, the specific communication method of the contract interface can be selected based on different application platforms, specifically, whether the plug-in process and conference process on different platforms are consistent. Therefore, the contract interface can be used to first determine the plug-in process corresponding to the conference service plug-in; then, the conference process configured for the multimedia conference service can be determined based on the platform type corresponding to the first application; if the plug-in process and the conference process belong to different processes, the second format data can be transmitted using an inter-process communication channel to enable communication between the conference service plug-in and the second application; then, based on the communication between the conference service plug-in and the second application, multimedia conference services can be provided for the object collection in the first application.

[0121] In one possible scenario, where the plugin and host belong to different processes, inter-process communication (IPC) is implemented using a pipe. Specifically, a pipe flows from the conference process to the plugin process. After the conference process creates an anonymous pipe and spawns a plugin process, the plugin process has access to both ends of the pipe. At this point, the output end (read end) of the pipe in the conference process is closed, and the input end (write end) of the pipe in the plugin process is closed, forming a pipe flow from the conference process to the plugin process. Data is written by the conference process and read from the plugin process. The steps for creating a pipe flow from the conference process to the plugin process include first creating the pipe and returning two file descriptors for the anonymous pipe. Then, the plugin process is created, which inherits the anonymous pipe file descriptors. Furthermore, the conference process closes the output end of the pipe, that is, the read-only file descriptor. The plugin process then closes the input end of the pipe, that is, the write-only file descriptor, thus achieving the transfer of the inter-process communication pipe.

[0122] Additionally, if the plug-in process and the conference process belong to the same process, the runtime instance is called to transmit the second format data, enabling communication between the conference service plug-in and the second application. Based on this communication, multimedia conferencing services are provided to the object collection in the first application. For example, in an iOS same-process environment, this is achieved using the iOS runtime instance (Runtime), ensuring the normal operation of the plug-in.

[0123] In another possible scenario, a second application can request data from a first application, for example, requesting contact information for an office communication application object collection from an audio / video conferencing application. Specifically, the second application can first respond to the data request from the first application and obtain the requested data. The requested data can then be encapsulated as a variable data object, and a second control in the conference service plug-in can be invoked. The second control then transmits the variable data object to the first application, thereby accessing the data in the first application. By managing different data request directions through different controls in the conference service plug-in, bidirectional communication between applications is ensured, avoiding communication congestion caused by frequent bidirectional interactions.

[0124] Specifically, the interaction process between the first application and the second application is as follows: Figure 8 As shown, Figure 8 A scenario diagram of another communication method between heterogeneous applications provided in an embodiment of the present application; the figure shows a communication method using a delegate agent. That is, the two communicating parties do not rely on a specific communication entity, but can rely on the interface of the contract, where the conference service plug-in (IMeetService) is an abstraction of the conference service interface capability, which describes the specific service capabilities provided by the conference service plug-in, is described by the host, and implemented by the conference service plug-in; such as initiating an immediate meeting, joining a meeting, ending a meeting, jumping to the meeting details page, etc. The communication agent (IMeetProvider) is an interface abstraction of the capabilities that the conference service plug-in requires the host to provide, which is described by the conference service plug-in and is specifically implemented inside the office communication application host, such as the initialization plug-in, the login plug-in, etc.

[0125] Specifically, for two-way communication, when the office communication application actively calls the plug-in service, it calls and obtains the callback through the proxy's first control (HandleAction:withCallback). When the conference service plug-in calls the office communication application, it obtains the result through the communication proxy's second control (BindProperty:withCallback).

[0126] This embodiment proposes a proxy communication model (control), which is suitable for communication between modules in the same process or across processes in the plug-in development mode, and realizes convenient and efficient cross-layer communication without changing the original software architecture.

[0127] In addition, the development process of the conference service plug-in in this embodiment is easy to implement, such as Figure 9 As shown, Figure 9 This is a schematic diagram of another scenario for a communication method between heterogeneous applications provided in an embodiment of the present application. The diagram shows that the integration item in this embodiment is developed using a plug-in approach, that is, the conference-related functions are integrated into the office communication application as an independent plug-in. The office communication application and the conference service plug-in are developed as a host project and a plug-in project, respectively. By exporting the office communication application runtime environment WeComKit, support for the conference service plug-in host environment is provided.

[0128] In combination with the above embodiments, it can be seen that by responding to a conference request for a multimedia conference service initiated in a first application, a conference service plug-in is loaded, wherein the first application is used to provide communication services for a collection of objects, and the conference service plug-in is a communication agent for a second application to interact with the first application, the second application is used to provide multimedia conference services, and the first application and the second application use different application architectures; then, first format data generated for the multimedia conference service in the first application is obtained; and the first format data is converted into second format data through a target tool, and the second format data is adapted to the second application; and then, the conference service plug-in communicates with the second application based on the second format data, so that multimedia conference services are provided for the collection of objects in the first application. In this way, the communication process between heterogeneous applications is realized. Since the conference service plug-in is used for communication and the data protocol format between heterogeneous applications is converted in a targeted manner, communication blockage caused by differences in architecture or protocol format is avoided, and the efficiency of data communication between heterogeneous applications is improved.

[0129] In order to better implement the above solution of the embodiment of the present application, the following also provides related devices for implementing the above solution. Figure 10 , Figure 10 This is a schematic diagram of a communication device between heterogeneous applications provided in an embodiment of the present application. The communication device 1000 between heterogeneous applications includes:

[0130] A loading unit 1001 is configured to load a conference service plug-in in response to a conference request for a multimedia conference service initiated by a first application, wherein the first application is configured to provide a communication service for a collection of objects, and the conference service plug-in is configured to serve as a communication agent for a second application to interact with the first application, wherein the second application is configured to provide the multimedia conference service, and the first application and the second application utilize different application architectures;

[0131] An acquiring unit 1002 is configured to acquire first format data generated by the first application for the multimedia conferencing service;

[0132] A conversion unit 1003, configured to convert the first format data into a second format data through a target tool, where the second format data is adapted to the second application;

[0133] The communication unit 1004 is configured to communicate with the second application based on the second format data through the conference service plug-in, so as to provide the multimedia conference service for the object set in the first application.

[0134] Optionally, in some possible implementations of the present application, the loading unit 1001 is specifically configured to obtain the conference service plug-in in response to a conference request for initiating a multimedia conference service in the first application;

[0135] The loading unit 1001 is specifically configured to initialize the conference service plug-in and register it as a plug-in communication agent of the first application;

[0136] The loading unit 1001 is specifically configured to register the conference service plug-in as a host communication agent of the second application;

[0137] The loading unit 1001 is specifically configured to match the contract interface between the plug-in communication agent and the host communication agent to load the conference service plug-in.

[0138] Optionally, in some possible implementations of the present application, the conversion unit 1003 is specifically configured to determine a protocol format adapted by the second application;

[0139] The conversion unit 1003 is specifically configured to traverse the protocol formats adapted by the second application based on the target tool to determine a target format that matches the target tool among the protocol formats adapted by the second application;

[0140] The conversion unit 1003 is specifically configured to convert the protocol format of the first format data into the target format through the target tool to obtain the second format data.

[0141] Optionally, in some possible implementations of the present application, the conversion unit 1003 is specifically configured to call carrier data for communication between the front end and the back end of the second application during operation;

[0142] The conversion unit 1003 is specifically configured to determine a protocol format corresponding to the carrier data;

[0143] The conversion unit 1003 is specifically configured to determine a protocol format adapted by the second application according to a protocol format corresponding to the carrier data.

[0144] Optionally, in some possible implementations of the present application, the communication unit 1004 is specifically configured to determine a plug-in process corresponding to the conference service plug-in through a contract interface;

[0145] The communication unit 1004 is specifically configured to determine the conference process configured for the multimedia conference service according to the platform type corresponding to the first application;

[0146] The communication unit 1004 is specifically configured to transmit the second format data using an inter-process communication channel if the plug-in process and the conference process belong to different processes, so that the conference service plug-in communicates with the second application;

[0147] The communication unit 1004 is specifically configured to provide the multimedia conference service for the object set in the first application based on the communication between the conference service plug-in and the second application.

[0148] Optionally, in some possible implementations of the present application, the communication unit 1004 is specifically configured to, if the plug-in process and the conference process belong to the same process, call the runtime instance to transmit the second format data, so that the conference service plug-in communicates with the second application;

[0149] The communication unit 1004 is specifically configured to provide the multimedia conference service for the object set in the first application based on the communication between the conference service plug-in and the second application.

[0150] Optionally, in some possible implementations of the present application, the first application calls the second application through the first control in the conference service plug-in, and the communication unit 1004 is specifically configured to obtain the requested data in response to the data request of the second application to the first application;

[0151] The communication unit 1004 is specifically configured to encapsulate the request data into a variable data object;

[0152] The communication unit 1004 is specifically configured to call the second control in the conference service plug-in;

[0153] The communication unit 1004 is specifically configured to transmit the variable data object to the first application through the second control, so as to call data in the first application.

[0154] By responding to a conference request for a multimedia conference service initiated in a first application, loading a conference service plug-in, wherein the first application is used to provide communication services for a collection of objects, and the conference service plug-in is a communication agent for a second application to interact with the first application, the second application is used to provide multimedia conference services, and the first application and the second application use different application architectures; then obtaining first-format data generated in the first application for the multimedia conference service; and converting the first-format data into second-format data through a target tool, the second-format data being adapted for the second application; and then communicating with the second application based on the second-format data through the conference service plug-in, so as to provide multimedia conference services for the collection of objects in the first application. Thus, the communication process between heterogeneous applications is realized. Since the conference service plug-in is used for communication and the data protocol format between heterogeneous applications is converted in a targeted manner, communication blockage caused by differences in architecture or protocol format is avoided, thereby improving the efficiency of data communication between heterogeneous applications.

[0155] The present application also provides a terminal device, such as Figure 11 The figure is a schematic diagram of the structure of another terminal device provided by an embodiment of the present application. For ease of explanation, only the parts related to the embodiment of the present application are shown. For specific technical details not disclosed, please refer to the method section of the embodiment of the present application. The terminal can be any terminal device including a mobile phone, tablet computer, personal digital assistant (PDA), point of sales (POS), car computer, etc. Taking the mobile phone as an example:

[0156] Figure 11 The block diagram shows a partial structure of a mobile phone related to the terminal provided in the embodiment of the present application. Figure 11 The mobile phone includes components such as a radio frequency (RF) circuit 1110, a memory 1120, an input unit 1130, a display unit 1140, a sensor 1150, an audio circuit 1160, a wireless fidelity (WiFi) module 1170, a processor 1180, and a power supply 1190. Those skilled in the art will appreciate that Figure 11 The mobile phone structure shown in the figure does not constitute a limitation to the mobile phone, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0157] The following combination Figure 11 A detailed introduction to the various components of a mobile phone:

[0158] The RF circuit 1110 can be used to receive and send signals during information transmission or calls. In particular, after receiving the downlink information from the base station, it is sent to the processor 1180 for processing; in addition, the designed uplink data is sent to the base station. Generally, the RF circuit 1110 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 1110 can also communicate with the network and other devices through wireless communication. The above-mentioned wireless communication can use any communication standard or protocol, including but not limited to the global system of mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), email, short messaging service (SMS), etc.

[0159] The memory 1120 can be used to store software programs and modules. The processor 1180 executes the various functional applications and data processing of the mobile phone by running the software programs and modules stored in the memory 1120. The memory 1120 may mainly include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function (such as a sound playback function, an image playback function, etc.); the data storage area may store data created based on the use of the mobile phone (such as audio data, a phone book, etc.). In addition, the memory 1120 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage device.

[0160] The input unit 1130 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the mobile phone. Specifically, the input unit 1130 may include a touch panel 1131 and other input devices 1132. The touch panel 1131, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using any suitable object or accessory such as a finger, stylus, etc. on or near the touch panel 1131, as well as air touch operations within a certain range on the touch panel 1131) and drive the corresponding connection device according to a pre-set program. Optionally, the touch panel 1131 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch direction, detects the signal caused by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into touch point coordinates, and then sends it to the processor 1180, and can receive commands sent by the processor 1180 and execute them. In addition, the touch panel 1131 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1131, the input unit 1130 can also include other input devices 1132. Specifically, the other input devices 1132 can include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power keys, etc.), a trackball, a mouse, a joystick, and the like.

[0161] The display unit 1140 can be used to display information input by the user or information provided to the user and various menus of the mobile phone. The display unit 1140 may include a display panel 1141. Optionally, the display panel 1141 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch panel 1131 may cover the display panel 1141. When the touch panel 1131 detects a touch operation on or near it, it is transmitted to the processor 1180 to determine the type of touch event. Subsequently, the processor 1180 provides corresponding visual output on the display panel 1141 according to the type of touch event. Although in Figure 11 In the embodiment, the touch panel 1131 and the display panel 1141 are used as two independent components to realize the input and output functions of the mobile phone, but in some embodiments, the touch panel 1131 and the display panel 1141 can be integrated to realize the input and output functions of the mobile phone.

[0162] The mobile phone may also include at least one sensor 1150, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 1141 according to the brightness of the ambient light, and the proximity sensor may turn off the display panel 1141 and / or the backlight when the mobile phone is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that identify the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that the mobile phone can also be configured with, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described here.

[0163] Audio circuit 1160, speaker 1161, and microphone 1162 provide an audio interface between the user and the phone. Audio circuit 1160 converts received audio data into electrical signals and transmits them to speaker 1161, which then converts them into sound signals for output. Microphone 1162, on the other hand, converts collected sound signals into electrical signals, which are then received by audio circuit 1160 and converted into audio data. The audio data is then processed by processor 1180 and transmitted to, for example, another phone via RF circuit 1110, or stored in memory 1120 for further processing.

[0164] WiFi is a short-range wireless transmission technology. The mobile phone can help users send and receive emails, browse the web and access streaming media through the WiFi module 1170. It provides users with wireless broadband Internet access. Figure 11 A WiFi module 1170 is shown, but it is understandable that it is not an essential component of the mobile phone and can be omitted as needed without changing the essence of the invention.

[0165] Processor 1180 is the control center of the phone, connecting all parts of the phone using various interfaces and circuits. It executes software programs and / or modules stored in memory 1120 and accesses data stored in memory 1120 to perform various phone functions and process data. Optionally, processor 1180 may include one or more processing units. Alternatively, processor 1180 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 1180.

[0166] The mobile phone also includes a power supply 1190 (such as a battery) for supplying power to various components. Optionally, the power supply can be logically connected to the processor 1180 through a power management system, thereby managing charging, discharging, and power consumption through the power management system.

[0167] Although not shown, the mobile phone may also include a camera, a Bluetooth module, etc., which will not be described in detail here.

[0168] In the embodiment of the present application, the processor 1180 included in the terminal also has the function of executing each step of the above-mentioned page processing method.

[0169] The present application also provides a server. Figure 12 , Figure 12 This is a structural diagram of a server provided in an embodiment of the present application. The server 1200 may have relatively large differences due to different configurations or performances, and may include one or more central processing units (CPU) 1222 (for example, one or more processors) and memory 1232, and one or more storage media 1230 (for example, one or more mass storage devices) for storing application programs 1242 or data 1244. Among them, the memory 1232 and the storage medium 1230 can be short-term storage or persistent storage. The program stored in the storage medium 1230 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Furthermore, the central processing unit 1222 can be configured to communicate with the storage medium 1230 to execute a series of instruction operations in the storage medium 1230 on the server 1200.

[0170] The server 1200 may also include one or more power supplies 1226, one or more wired or wireless network interfaces 1250, one or more input and output interfaces 1258, and / or one or more operating systems 1241, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0171] The steps performed by the management device in the above embodiment can be based on the Figure 12 The server structure shown.

[0172] The embodiment of the present application also provides a computer-readable storage medium, which stores communication instructions between heterogeneous applications. When the computer is run on the computer, the computer executes the above-mentioned Figures 3 to 9 The illustrated embodiment describes the steps performed by the communication apparatus between heterogeneous applications in the method.

[0173] The present application also provides a computer program product including communication instructions between heterogeneous applications. When the computer is run on the computer, the computer executes the above-mentioned Figures 3 to 9 The illustrated embodiment describes the steps performed by the communication apparatus between heterogeneous applications in the method.

[0174] The embodiment of the present application also provides a communication system between heterogeneous applications, and the communication system between heterogeneous applications may include Figure 10 The communication device between heterogeneous applications in the described embodiment, or Figure 11 The terminal device in the described embodiment, or Figure 12 The server being described.

[0175] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0176] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0177] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0178] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0179] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a communication device between heterogeneous applications, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc., various media that can store program code.

[0180] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A communication method between heterogeneous applications, characterized in that: include: In response to a conference request for a multimedia conference service initiated in the first application, obtaining a conference service plug-in; Initializing the conference service plug-in and registering it as a plug-in communication agent for the first application; registering the conference service plug-in as a host communication agent for the second application; Matching the contract interface of the plug-in communication agent with the host communication agent to load the conference service plug-in, wherein the first application is used to provide communication services for the object collection, the conference service plug-in is a communication agent for a second application to interact with the first application, the second application is used to provide the multimedia conferencing service, and the first application and the second application use different application architectures; Acquire first format data generated by the first application for the multimedia conferencing service; converting the first format data into second format data by a target tool, where the second format data is adapted to the second application; The conference service plug-in communicates with the second application based on the second format data, so that the multimedia conference service is provided for the object set in the first application.

2. The method according to claim 1, characterized in that The converting the first format data into the second format data by the target tool includes: Determining a protocol format adapted by the second application; Traversing the protocol formats adapted by the second application based on the target tool to determine a target format that matches the target tool among the protocol formats adapted by the second application; The protocol format of the first format data is converted into the target format by the target tool to obtain the second format data.

3. The method according to claim 2, characterized in that The determining the protocol format adapted by the second application includes: Calling carrier data for communication between the front-end and the back-end during the operation of the second application; Determining a protocol format corresponding to the carrier data; The protocol format adapted by the second application is determined according to the protocol format corresponding to the carrier data.

4. The method according to claim 1, wherein The communicating with the second application based on the second format data through the conference service plug-in, so as to provide the multimedia conference service for the object set in the first application, includes: Determine the plug-in process corresponding to the conference service plug-in through the contract interface; Determining a conference process configured for the multimedia conferencing service based on the platform type corresponding to the first application; If the plug-in process and the conference process belong to different processes, transmitting the second format data using an inter-process communication channel so that the conference service plug-in communicates with the second application; Based on the communication between the conference service plug-in and the second application, the multimedia conference service is provided for the object set in the first application.

5. The method according to claim 4, characterized in that The method further comprises: If the plug-in process and the process to which the conference process belongs are the same, calling the runtime instance to transmit the second format data, so that the conference service plug-in communicates with the second application; Based on the communication between the conference service plug-in and the second application, the multimedia conference service is provided for the object set in the first application.

6. The method according to any one of claims 1 to 5, characterized in that The first application calls the second application through a first control in the conference service plug-in, and the method further includes: In response to a data request from the second application to the first application, obtaining requested data; Encapsulating the request data into a variable data object; Calling a second control in the conference service plug-in; The variable data object is transmitted to the first application through the second control to call data in the first application.

7. A communication device between heterogeneous applications, characterized in that: include: A loading unit is configured to obtain a conference service plug-in in response to a conference request for initiating a multimedia conference service in a first application; initialize the conference service plug-in and register it as a plug-in communication agent for the first application; and register the conference service plug-in as a host communication agent for a second application; Matching the contract interface of the plug-in communication agent with the host communication agent to load the conference service plug-in, wherein the first application is used to provide communication services for the object collection, the conference service plug-in is a communication agent for a second application to interact with the first application, the second application is used to provide the multimedia conferencing service, and the first application and the second application use different application architectures; An acquiring unit, configured to acquire first format data generated by the first application for the multimedia conferencing service; a conversion unit, configured to convert the first format data into a second format data through a target tool, wherein the second format data is adapted to the second application; A communication unit is configured to communicate with the second application based on the second format data through the conference service plug-in, so as to provide the multimedia conference service for the object set in the first application.

8. The communication device according to claim 7, wherein: The conversion unit is specifically used to: Determining a protocol format adapted by the second application; Traversing the protocol formats adapted by the second application based on the target tool to determine a target format that matches the target tool among the protocol formats adapted by the second application; The protocol format of the first format data is converted into the target format by the target tool to obtain the second format data.

9. The communication device according to claim 8, wherein: The conversion unit is specifically used to: Calling carrier data for communication between the front-end and the back-end during the operation of the second application; Determining a protocol format corresponding to the carrier data; The protocol format adapted by the second application is determined according to the protocol format corresponding to the carrier data.

10. The communication device according to claim 7, wherein: The communication unit is specifically configured to: Determine the plug-in process corresponding to the conference service plug-in through the contract interface; Determining a conference process configured for the multimedia conferencing service based on the platform type corresponding to the first application; If the plug-in process and the conference process belong to different processes, transmitting the second format data using an inter-process communication channel so that the conference service plug-in communicates with the second application; Based on the communication between the conference service plug-in and the second application, the multimedia conference service is provided for the object set in the first application. The communication device according to claim 10 , wherein: The communication unit is specifically configured to: If the plug-in process and the process to which the conference process belongs are the same, calling the runtime instance to transmit the second format data, so that the conference service plug-in communicates with the second application; Based on the communication between the conference service plug-in and the second application, the multimedia conference service is provided for the object set in the first application.

12. The communication device according to any one of claims 7 to 11, characterized in that: The first application calls the second application through the first control in the conference service plug-in, and the communication unit is specifically configured to: In response to a data request from the second application to the first application, obtaining requested data; Encapsulating the request data into a variable data object; Calling a second control in the conference service plug-in; The variable data object is transmitted to the first application through the second control to call data in the first application.

13. A computer device, characterized in that: The computer device includes a processor and a memory: The memory is used to store program code; the processor is used to execute the communication method between heterogeneous applications according to any one of claims 1 to 6 according to instructions in the program code.

14. A computer program product comprising a computer program / instructions stored in a computer-readable storage medium, characterized in that: The computer program / instructions in the computer-readable storage medium, when executed by a processor, implement the steps of the method for communication between heterogeneous applications as described in any one of claims 1 to 6.

15. A computer program product, characterized in that The method comprises computer instructions, which 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 executes the steps of the communication method between heterogeneous applications as described in any one of claims 1 to 6 above.

Citation Information

Patent Citations

  • Participating method, control method, transmission method, transmission device and transmission system for multimedia meeting

    CN103973721A

  • Service request processing method, device and equipment of different protocols and storage medium

    CN109445968A