CN115168065A - Communication method and device between heterogeneous applications and storage medium - Google Patents

Communication method and device between heterogeneous applications and storage medium Download PDF

Info

Publication number
CN115168065A
CN115168065A CN202210445926.6A CN202210445926A CN115168065A CN 115168065 A CN115168065 A CN 115168065A CN 202210445926 A CN202210445926 A CN 202210445926A CN 115168065 A CN115168065 A CN 115168065A
Authority
CN
China
Prior art keywords
application
communication
conference service
plug
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210445926.6A
Other languages
Chinese (zh)
Inventor
赵晓强
李斌
陈晓波
罗程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210445926.6A priority Critical patent/CN115168065A/en
Publication of CN115168065A publication Critical patent/CN115168065A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The application discloses a communication method and device among heterogeneous applications and a storage medium. Loading a conference service plug-in by responding to a conference request for initiating a multimedia conference service in a first application; then acquiring first format data generated for the multimedia conference service in the first application; converting the first format data into second format data; and then the conference service plug-in communicates with a second application based on the second format data so as to enable the multimedia conference service to be carried out in the first application. Therefore, the communication process among the heterogeneous applications is realized, the conference service plug-in is adopted for communication, and the data protocol formats among the heterogeneous applications are subjected to targeted conversion, so that the communication blockage caused by the difference of the architecture or the protocol formats is avoided, and the efficiency of the data communication among the heterogeneous applications is improved.

Description

Communication method and device between heterogeneous applications and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, an apparatus, and a storage medium for communication between heterogeneous applications.
Background
With the rapid development of internet technology, people have higher and higher requirements on software applications. And the cooperation calling between the applications is an important technical mode, and provides a convenient cross-application service calling function for the user.
Generally, for applications with different architectures, the codes of the two can be developed manually and synchronously, i.e. the two are compiled into mutually cooperative versions.
However, the code synchronization process is complicated, and the change of the proxy callback interface exists in the using process, which causes the compiling and linking problems, and needs to consume a large amount of time to solve one by one, thereby affecting the communication efficiency between heterogeneous applications.
Disclosure of Invention
In view of this, the present application provides a method for communication between heterogeneous applications, which can effectively improve communication efficiency between heterogeneous applications.
A first aspect of the present application provides a method for communication between heterogeneous applications, which may be applied to a system or a program that includes a communication function between heterogeneous applications in a terminal device, and specifically includes:
responding to a conference request of initiating multimedia conference service in a first application, and loading a conference service plug-in, wherein the first application is used for providing communication service for an object set, the conference service plug-in is a communication agent for interaction between a second application and the first application, the second application is used for providing the multimedia conference service, and the first application and the second application adopt different application architectures;
acquiring first format data generated for the multimedia conference service in the first application;
converting, by a target tool, the first format data into second format data, the second format data being adapted to the second application;
communicating, by the conferencing service plugin, with the second application based on the second format data to cause the multimedia conferencing service to be provided for the set of objects in the first application.
Optionally, in some possible implementation manners of the present application, the loading a conference service plug-in response to a conference request for initiating a multimedia conference service in a first application includes:
responding to a conference request for initiating multimedia conference service in the first application, and acquiring the conference service plug-in;
initializing the conference service plug-in and registering the conference service plug-in as a plug-in communication agent of the first application;
registering the conference service plug-in as a hosting communication agent for the second application;
and matching the contract interfaces of the plug-in communication agent and the host communication agent to load the conference service plug-in.
Optionally, in some possible implementation manners of the present application, the converting, by the target tool, the first format data into the second format data 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 matched with the target tool in the protocol formats adapted by the second application;
and converting the protocol format of the first format data into the target format through the target tool to obtain the second format data.
Optionally, in some possible implementation manners of the present application, the determining a protocol format adapted by the second application includes:
calling carrier data of the second application, which is communicated with the front end and the back end in the running process;
determining a protocol format corresponding to the carrier data;
and determining the protocol format adapted by the second application according to the protocol format corresponding to the carrier data.
Optionally, in some possible implementations of the present application, the communicating, by the conference service plug-in, 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 includes:
determining a plug-in process corresponding to the conference service plug-in through a contract interface;
determining a conference process configured for the multimedia conference service through a platform type corresponding to the first application;
if the plug-in process is different from the process to which the conference process belongs, transmitting the second format data by using an inter-process communication pipeline so as to enable the conference service plug-in to communicate with the second application;
providing the multimedia conferencing service for the set of objects in the first application based on communication between the conferencing service plug-in and the second application.
Optionally, in some possible implementations of the present application, the method further includes:
if the plug-in process is the same as the process to which the conference process belongs, a runtime instance is called to transmit the second format data, so that the conference service plug-in is communicated with the second application;
providing the multimedia conferencing service for the set of objects in the first application based on communication between the conferencing service plug-in and the second application.
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:
responding to a data request of the second application to the first application, and acquiring request data;
packaging the request data into a variable data object;
calling a second control in the conference service plug-in;
and transmitting the variable data object to the first application through the second control so as to call data in the first application.
A second aspect of the present application provides a device for communication between heterogeneous applications, including: a loading unit, configured to load a conference service plug-in response to a conference request for initiating a multimedia conference service in a first application, where the first application is configured to provide a communication service for an object set, the conference service plug-in is a communication agent for interacting a second application with the first application, the second application is configured to provide the multimedia conference service, and the first application and the second application adopt different application architectures;
an obtaining unit, configured to obtain first format data generated in the first application for the multimedia conference service;
a conversion unit, configured to convert, by a target tool, the first format data into second format data, where the second format data is adapted to the second application;
a communication unit, configured to communicate with the second application through the conference service plug-in based on the second format data, so that the multimedia conference service is provided for the set of objects in the first application.
Optionally, in some possible implementation manners of the present application, the loading unit is specifically configured to obtain the conference service plug-in response to a conference request for initiating a multimedia conference service in the first application;
the loading unit is specifically configured to initialize the conference service plug-in and register the conference service plug-in as a plug-in communication agent of the first application;
the loading unit is specifically configured to register the conference service plug-in as a host communication agent of the second application;
the loading unit is specifically configured to match the contract interfaces of the plug-in communication agent and the host communication agent, so as to load the conference service plug-in.
Optionally, in some possible implementations of the present application, the converting unit is specifically configured to determine a protocol format adapted to the second application;
the conversion unit is specifically configured to traverse the protocol formats adapted to the second application based on the target tool, so as to determine a target format matched with the target tool in the protocol formats adapted to the second application;
the conversion unit is specifically configured to convert the protocol format of the first format data into the target format by using the target tool, so as to obtain the second format data.
Optionally, in some possible implementation manners of the present application, the conversion unit is specifically configured to invoke carrier data of the second application, where the carrier data is used for performing communication between a front end and a back end in an operation process;
the conversion unit is specifically configured to determine a protocol format corresponding to the carrier data;
the conversion unit is specifically configured to determine a protocol format adapted to the second application according to a protocol format corresponding to the carrier data.
Optionally, in some possible implementation manners of the present application, the communication unit is specifically configured to determine, through a contract interface, a plug-in process corresponding to the conference service plug-in;
the communication unit is specifically configured to determine, through a platform type corresponding to the first application, a conference process configured for the multimedia conference service;
the communication unit is specifically configured to transmit the second format data by using an interprocess communication pipeline if the plug-in process is different from the process to which the conference process belongs, so that the conference service plug-in communicates with the second application;
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.
Optionally, in some possible implementation manners of the present application, the communication unit is specifically configured to invoke a runtime instance to transmit the second format data if the plug-in process is the same as the process to which the conference process belongs, so that the conference service plug-in communicates with the second application;
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.
Optionally, in some possible implementation manners of the present application, the first application invokes the second application through a first control in the conference service plug-in, and the communication unit is specifically configured to respond to a data request of the second application to the first application and acquire request data;
the communication unit is specifically configured to encapsulate the request data into a variable data object;
the communication unit is specifically used for calling a second control in the conference service plug-in;
the communication unit is specifically configured to transmit the variable data object to the first application through the second control, so as to invoke data in the first application.
A third aspect of the present application provides a computer device comprising: a memory, a processor, and a bus system; the memory is used for storing program codes; the processor is configured to execute the communication method between heterogeneous applications according to any one of the first aspect or the first aspect.
A fourth aspect of the present application provides a computer-readable storage medium, which stores instructions that, when executed on a computer, cause the computer to perform the method for communication between heterogeneous applications according to the first aspect or any one of the first aspects.
According to an aspect of the application, a computer program product or computer program is provided, comprising computer instructions, the computer instructions being stored in a computer readable storage medium. The processor of the 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 communication method between heterogeneous applications provided in the first aspect or the various alternative implementations of the first aspect.
According to the technical scheme, the embodiment of the application has the following advantages:
loading a conference service plug-in by responding to a conference request for initiating multimedia conference service in a first application, wherein the first application is used for providing communication service for an object set, the conference service plug-in is a communication agent for interacting a second application and the first application, the second application is used for providing the multimedia conference service, and the first application and the second application adopt different application architectures; then acquiring first format data generated for the multimedia conference service in the first application; converting the first format data into second format data through the target tool, wherein the second format data is suitable for a second application; and further communicating with a second application through the conference service plug-in based on the second format data so that the multimedia conference service is provided for the object set in the first application. Therefore, the communication process among the heterogeneous applications is realized, the conference service plug-in is adopted for communication, and the data protocol formats among the heterogeneous applications are subjected to targeted conversion, so that the communication blockage caused by the difference of the architecture or the protocol formats is avoided, and the efficiency of the data communication among the heterogeneous applications is improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a diagram of a network architecture for communication system operation between heterogeneous applications;
fig. 2 is a flowchart of communication between heterogeneous applications according to an embodiment of the present disclosure;
fig. 3 is a flowchart of a method for communication between heterogeneous applications according to an embodiment of the present application;
fig. 4 is a scene schematic diagram of a communication method between heterogeneous applications according to an embodiment of the present application;
fig. 5 is a schematic view of a scenario of another communication method between heterogeneous applications according to an embodiment of the present application;
fig. 6 is a schematic view of a scenario of another communication method between heterogeneous applications according to an embodiment of the present application;
fig. 7 is a schematic view of another scenario of a communication method between heterogeneous applications according to an embodiment of the present application;
fig. 8 is a schematic view of another scenario of a communication method between heterogeneous applications according to an embodiment of the present application;
fig. 9 is a schematic view of a scenario of another communication method between heterogeneous applications according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a communication device between heterogeneous applications according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a terminal device according to an embodiment of the present application;
fig. 12 is a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
The embodiment of the application provides a communication method and a related device among heterogeneous applications, which can be applied to a system or a program containing a communication function among the heterogeneous applications in terminal equipment, and can be used for loading a conference service plug-in by responding to a conference request of a multimedia conference service initiated in a first application, wherein the first application is used for providing a communication service for an object set, the conference service plug-in is a communication agent for interaction between a second application and the first application, the second application is used for providing the multimedia conference service, and the first application and the second application adopt different application architectures; then acquiring first format data generated for the multimedia conference service in the first application; converting the first format data into second format data through the target tool, wherein the second format data is suitable for a second application; and further communicating with a second application through the conference service plug-in based on the second format data, so that the multimedia conference service is provided for the object set in the first application. Therefore, the communication process among the heterogeneous applications is realized, the conference service plug-in is adopted for communication, and the data protocol formats among the heterogeneous applications are subjected to targeted conversion, so that the communication blockage caused by the difference of the architecture or the protocol formats is avoided, and the efficiency of the data communication among the heterogeneous applications is improved.
The terms "first," "second," "third," "fourth," and the like in the description and claims of this application and in the above-described drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged under appropriate circumstances such that the embodiments of the application described herein may be implemented, for example, in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "corresponding" and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
First, some nouns that may appear in the embodiments of the present application are explained.
Cooperative communication: the method refers to the exchange of data and states among different systems or different modules in the same system.
Protobuf is a language-independent, platform-independent, extensible method for serializing and structuring data, and is commonly used for communication protocols, data storage, and the like.
Json: is a lightweight data exchange format. To be based on a subset of the data exchange format specification, data is stored and represented in a text format that is completely independent of the programming language.
It should be understood that the communication method between heterogeneous applications provided in the present application may be applied to a system or a program that includes a communication function between heterogeneous applications in a terminal device, for example, a communication application, specifically, the communication system between heterogeneous applications may operate in a network architecture as shown in fig. 1, which is a network architecture diagram of the operation of the communication system between heterogeneous applications, and as can be seen from the diagram, the communication system between heterogeneous applications may provide a communication process between heterogeneous applications of multiple information sources, that is, a service function of another application in a server is invoked through a triggering operation for a current application on a terminal side; it can be understood that, fig. 1 shows various terminal devices, the terminal devices may be computer devices, in an actual scenario, there may be more or fewer types of terminal devices participating in the process of communication between heterogeneous applications, and the specific number and type are determined by the actual scenario, which is not limited herein, and in addition, fig. 1 shows one server, but in an actual scenario, there may also be participation of multiple servers, especially in a scenario of multi-application interaction, the specific number of servers is determined by the actual scenario.
In this embodiment, the server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, a middleware service, a domain name service, a security service, a CDN, a big data and artificial intelligence platform, and the like. The terminal may be a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, a smart voice interaction device, a smart home appliance, a vehicle-mounted terminal, and the like, but is not limited thereto. The terminal and the server may be directly or indirectly connected through a wired or wireless communication manner, and the terminal and the server may be connected to form a block chain network, which is not limited herein.
It is understood that the communication system between the heterogeneous applications may be operated in a personal mobile terminal, for example: the application such as the communication application can also be operated on a server, and can also be operated on third-party equipment to provide communication among heterogeneous applications so as to obtain a communication processing result among the heterogeneous applications of the information source; the specific communication system between heterogeneous applications may be operated in the above device in the form of a program, may also be operated as a system component in the above device, and may also be one of cloud service programs.
With the rapid development of internet technology, people have higher and higher requirements for software applications. And the cooperation calling between the applications is an important technical mode, and provides a convenient cross-application service calling function for the user.
Generally, for applications with different architectures, the codes of the two can be developed manually and synchronously, i.e. the two are compiled into mutually cooperative versions.
However, the code synchronization process is complicated, and the change of the proxy callback interface exists in the using process, which causes the problems of compiling and linking, and needs to consume a large amount of time to solve one by one, thereby affecting the communication efficiency among heterogeneous applications.
In order to solve the above problem, the present application provides a method for communication between heterogeneous applications, where the method is applied to a flow framework of communication between heterogeneous applications shown in fig. 2, and as shown in fig. 2, for a flow framework of communication between heterogeneous applications provided in an embodiment of the present application, a conference request is performed at a terminal, a conference service plug-in is triggered to register and load, and then a protocol format conversion between heterogeneous applications is performed through the conference service plug-in, so as to provide a functional service.
It can be understood that the protocol format difference can be conveniently smoothed by the conference service plug-in without changing the existing protocol framework, and the communication protocol interface is described by using the same document, so that the consistency of the interface is maintained. Furthermore, an agent communication model is provided, and is suitable for communication between modules in the same process or cross-process under a plug-in development mode, and convenient cross-layer high-efficiency communication is realized under the condition that the original architecture of software is not changed.
It can be understood that the method provided by the present application may be a program written to serve as a processing logic in a hardware system, and may also be a communication device between heterogeneous applications, and the processing logic is implemented in an integrated or external manner. As an implementation manner, the heterogeneous applications load a conference service plug-in by responding to a conference request for initiating a multimedia conference service in a first application, wherein the first application is used for providing a communication service for an object set, the conference service plug-in is a communication agent for interaction between a second application and the first application, the second application is used for providing the multimedia conference service, and the first application and the second application adopt different application architectures; then acquiring first format data generated for the multimedia conference service in the first application; converting the first format data into second format data through the target tool, wherein the second format data is suitable for a second application; and further communicating with a second application through the conference service plug-in based on the second format data so that the multimedia conference service is provided for the object set in the first application. Therefore, the communication process among the heterogeneous applications is realized, and the conference service plug-in is adopted for communication, and the data protocol formats among the heterogeneous applications are subjected to targeted conversion, so that the communication blockage caused by the difference of the architecture or the protocol formats is avoided, and the efficiency of the data communication among the heterogeneous applications is improved.
With reference to the above flow architecture, a communication method between heterogeneous applications in the present application will be described below, please refer to fig. 3, fig. 3 is a flow chart of a communication method between heterogeneous applications according to an embodiment of the present application, where the management method may be executed by a terminal or a server, and the embodiment of the present application at least includes the following steps:
301. and responding to a conference request for initiating the multimedia conference service in the first application, and loading the conference service plug-in.
In this embodiment, the first application is configured to provide a communication service for an object set, where the object set may be a user set, such as an enterprise employee and a school student; the conference service plug-in is a communication agent for the interaction between the first application and the second application, and the second application is used for providing multimedia conference service, namely realizing the multimedia conference service in the communication software.
It should be noted that in this embodiment, the first application and the second application use different application architectures, that is, this embodiment is a process for implementing a multimedia conference service in communication software for heterogeneous applications.
In one possible scenario, the first application acts as a communications software for office administration, which may be referred to as an office communications application. And the second application is an audio and video conference application, so that a cloud video conference service which is convenient, easy to use, high-definition, smooth, safe and reliable is provided, and a meeting can be efficiently carried out anytime and anywhere.
Specifically, from the aspect of application architecture, the office communication application adopts MVC-modular architecture, and the audio and video conference application adopts MVVM-modular architecture; in the aspect of protocol communication, protocol is widely used as a foreground and a background or in a data exchange mode between an end and an end in office communication application; audio-video conferencing applications heavily use xmpp, json, etc. as the primary formats for data exchange. Therefore, the integration of the conference project in the embodiment aims to apply main conference related functions of the audio and video conference, integrate the audio and video conference into office communication application, and complete seamless integration with the office communication application.
In a possible scenario, an architecture of the first application is shown in fig. 4, and fig. 4 is a scenario diagram of a communication method between heterogeneous applications according to an embodiment of the present application; the figure shows a Model View Controller (MVC) architecture, the bottom layer uses C + +, a logic layer cross-platform is implemented, and the UI layer implements specific UI interaction and related logic of each service by using each platform native UI component or a cross-platform framework. The system comprises a cross-platform base layer, a cross-platform service layer, a cross-platform business service layer and a platform interface (UI) layer.
In particular, the cross-platform base layer is used to provide basic capabilities for threads, files, synchronization, message looping, memory management, and the like. The cross-platform service layer is used for providing network service, database components, office communication application runtime environment threads and message circulation packaging. The cross-platform business service layer is used for realizing various specific business logics, such as account numbers, organization structures and the like, based on the service layer. And the platform UI layer is used for realizing specific UI interaction of various services and the like.
Therefore, the MVC framework organizes the codes by a method of separating service logic, data and interface display, the service logic is gathered into one component, and the service logic does not need to be rewritten while the interface is improved and personalized and the user interaction is realized. MVC was uniquely developed to map traditional input, processing, and output functions into a logical graphical user interface structure.
It will be appreciated that the Model (Model) in the graph is the portion of the application that handles the application data logic, and that Model objects are typically responsible for accessing data in the database. And View is the part of the application that handles the display of data, usually View is created from model data. The Controller is the part of the application that handles user interactions, and typically the Controller is responsible for reading data from the view, controlling user input, and sending data to the model.
Correspondingly, the architecture of the second application is shown in fig. 5, and fig. 5 is a scene schematic diagram of another communication method between heterogeneous applications according to the embodiment of the present application; the figure shows that the MVVM cross-platform architecture is a layered design, and specifically comprises an interface (UI) platform layer, a fixed protocol interface packaging layer (Wrapper layer), a cross-platform service logic layer (cross-platform layer-AppSDK), a conference service core logic development (cross-platform layer-WMSDK) and a cross-platform Base library (cross-platform layer-Base). Wherein the UI platform layer is developed using a platform dependent native language or a mainstream cross-platform UI framework. The Wrapper layer is used to provide cross-platform calls. The cross-platform layer-AppSDK is used for using the MVVM framework to take charge of business logic processing. The cross-platform layer-WMSDK is used for providing an asynchronous call interface based on service and adopting a single thread model. The cross-platform layer-Base is used for packaging a general model and providing a task mechanism.
Specifically, as shown in fig. 6, for a communication process in an MVVM architecture, fig. 6 is a scene schematic diagram of another communication method between heterogeneous applications according to an embodiment of the present application; view in the graph is responsible for UI presentation, binding properties in the ViewModel, triggering behavior commands in the ViewModel, and rendering data provided by the ViewModel. And the ViewModel is responsible for acquiring data required by the View from the Model, converting the data into data which can be displayed by the View, and exposing the published attribute and command for the View to bind. In addition, the Model is used to provide a data source from the network, database, and mainly refers to the relevant business Model in the conference.
Next, a description is given of a configuration process of the conference service plug-in, that is, the conference service plug-in needs to be loaded, and the initialization and registration of the plug-in are completed first. Specifically, a conference service plug-in is obtained in response to a conference request for initiating a multimedia conference service in a first application; then initializing the conference service plug-in and registering the conference service plug-in as a plug-in communication agent of the first application; registering the conference service plug-in as a host communication agent of the second application; and matching the contract interfaces of the plug-in communication agent and the host communication agent so as to load the conference service plug-in.
In a possible scenario, a configuration process of a conference service plug-in is shown in fig. 7, and fig. 7 is a schematic view of a scenario of another communication method between heterogeneous applications according to an embodiment of the present application; that is, for loading the conference service plug-in, the plug-in initialization and the registration of the communication agent are completed first. Then, after the initialization of the conference service plug-in is completed, the host communication agent is registered. In specific communication, a communication request is sent through a communication agent, and a response is obtained through the agent.
The embodiment can decouple the plug-in communication and the dependency on each other by introducing the communication agent and looking up the agent implementation at runtime. The development efficiency is improved, and the problem of communication between heterogeneous systems is effectively solved.
302. First format data generated for a multimedia conference service in a first application is obtained.
In this embodiment, the first application internal service and the terminal-background communication widely use protobuf as a data exchange format, and thus the first format data is in the protobuf format.
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, jumping to a meeting detail page, and the like.
303. The first format data is converted to second format data by the destination tool.
In this embodiment, the second format data is adapted to the second application; in one possible scenario, protobuf is widely used as a data exchange format due to the internal service of the first application, and the terminal-background communication; and json, xml and xmpp are widely used as communication protocols and data exchange carriers in the second application and the terminal-background, and json and xml are packaged into variable objects for circulation. In order to smooth the protocol and the difference of the data format, json is used as the final format of the data exchange of the two communication parties in the design of the proxy interface.
It is understood that the above protocol formats are only examples, and the specific format types are determined by actual situations.
Specifically, for the format conversion process, the protocol format adapted to the second application is determined first; traversing the protocol formats adapted to the second application based on the target tool to determine a target format matched with the target tool in the protocol formats adapted to the second application; and converting the protocol format of the first format data into a target format through a target tool to obtain second format data. The target tool is used for conversion between json and protobufmessage, for example, the target tool is completed by a conversion tool provided by protobuf officials.
In addition, for the determination of the protocol format adapted to the second application, json, xml and xmpp are widely used as communication protocols and data exchange carriers in the second application and the terminal-background, and json and xml are encapsulated into variable objects for circulation, so that carrier data for communication between the front end and the back end in the running process of the second application can be called; then determining a protocol format corresponding to the carrier data; and further determining the protocol format adapted by the second application according to the protocol format corresponding to the carrier data. The format of json, xml and xmpp is an example, and the specific format is determined by the format matched with the actual application.
In the embodiment, protocol data format differences faced by heterogeneous system communication are smoothed by introducing protobuf-json. Meanwhile, development quality can be well guaranteed through automatic conversion, and invisible errors caused by manual conversion are avoided.
304. And communicating, by the conferencing service plug-in, with the second application based on the second format data, such that the multimedia conferencing service is provided for the set of objects in the first application.
In this embodiment, the conference service plug-in communicates with the second application based on the second format data to use the same document, describe the communication protocol interface, and maintain the consistency of the interface, that is, the conference service plug-in indicates the contract interface, and performs interaction between heterogeneous applications through the contract interface.
Specifically, the specific communication mode of the contract interface may be different schemes according to different application platforms, that is, whether the plug-in process and the conference process in different platforms are consistent. Therefore, the plug-in process corresponding to the conference service plug-in can be determined through the contract interface; determining a conference process configured for the multimedia conference service through a platform type corresponding to the first application; if the plug-in process is different from the process to which the conference process belongs, transmitting the second format data by using an interprocess communication pipeline so as to enable the conference service plug-in to communicate with a second application; a multimedia conferencing service is then provided for the set of objects in the first application based on the communication between the conferencing service plug-in and the second application.
In one possible scenario, i.e., where the plug-in and host components belong to different processes, an inter-process communication pipe (IPC) implementation is used. Namely, the pipeline flowing from the conference process to the plug-in process, and after the anonymous pipeline is created in the conference process and the plug-in process is generated, the plug-in process has access rights at both ends of the pipeline. At this time, the pipeline output end (read end) of the conference process is closed, and the pipeline input end (write end) of the plug-in process is closed, so that a pipeline flow from the conference process to the plug-in process is formed, and data is written in by the conference process and read out from the plug-in process. The step of creating a pipe flowing from the conferencing process to the plug-in process comprises first creating a pipe, returning two file descriptors of the anonymous pipe. A plug-in process is then created, which inherits the anonymous pipe file descriptor. Further, the conference process closes the output of the pipe, i.e., closes the read-only file descriptor. And then the plug-in process closes the input end of the pipeline, namely closes the write-only file descriptor, thereby realizing the circulation of the interprocess communication pipeline.
In addition, if the plug-in process is the same as the process to which the conference process belongs, a runtime instance is called to transmit the second format data, so that the conference service plug-in communicates with the second application; a multimedia conferencing service is then provided for the set of objects in the first application based on the communication between the conferencing service plug-in and the second application. For example, in the iOS co-process environment, the RunTime instance (RunTime) of the iOS is used for implementation, so that the normal operation of the plug-in is ensured.
In another possible scenario, data may also be requested from the first application through the second application, for example, contact information of an office communication application object set is requested in an audio-video conference application. Specifically, the request data may be obtained in response to a data request of the second application to the first application; then packaging the request data into a variable data object; calling a second control in the conference service plug-in; and transmitting the variable data object to the first application through the second control so as to call the data in the first application. The management of different data request directions is carried out through different controls in the conference service plug-in, so that the bidirectional operation of communication interaction between applications is ensured, and communication blockage caused by frequent bidirectional interaction is avoided.
Specifically, an interaction process of a first application applied to a second application is shown in fig. 8, where fig. 8 is a scene schematic diagram of another communication method between heterogeneous applications provided in the embodiment of the present application; the figure shows the communication using a proxy agent. Namely, two communication parties do not depend on a specific communication entity and can depend on a contractual interface, wherein a conference service plug-in (IMeetService) is used for abstracting conference service interface capability and describing specific service capability provided by the conference service plug-in, and the conference service plug-in is described by a host and is realized by the conference service plug-in; such as initiating an immediate meeting, joining a meeting, ending a meeting, jumping to a meeting details page, etc. The communication agent (IMeetProvider) is an interface abstraction such as the capability provided by the conference service plug-in needed to host, and is described by the conference service plug-in, and is specifically implemented in an office communication application host, such as an initialization plug-in, a login plug-in and the like.
Specifically, in the two-way communication process, when the office communication application actively calls the plug-in service, the call is carried out and the callback is obtained through a first proxy control (HandleAction: withCallback). When the conference service plug-in calls the office communication application, the result is obtained through a second control (BindProperty: withCallback) of the communication agent.
The embodiment provides an agent communication model (control), which is suitable for communication between modules in the same process or cross-process in a plug-in development mode, and convenient cross-layer high-efficiency communication is realized under the condition of not changing the original architecture of software.
In addition, the development process of the conference service plug-in this embodiment is convenient to implement, as shown in fig. 9, fig. 9 is a scene schematic diagram of another communication method between heterogeneous applications provided in this embodiment of the present application; the figure shows that the fusion item of the embodiment is developed in a plug-in mode, namely, the conference related function is used as an independent plug-in and fused into office communication application. Office communication application and conference service plug-ins are respectively developed as host engineering and plug-in engineering. And by exporting an office communication application runtime environment WeComKit, the support of a conference service plug-in host environment is provided.
With reference to the foregoing embodiment, a conference service plug-in is loaded in response to a conference request for initiating a multimedia conference service in a first application, where the first application is configured to provide a communication service for an object set, the conference service plug-in is a communication agent for interacting between a second application and the first application, the second application is configured to provide the multimedia conference service, and the first application and the second application adopt different application architectures; then acquiring first format data generated for the multimedia conference service in the first application; converting the first format data into second format data through the target tool, wherein the second format data is suitable for a second application; and further communicating with a second application through the conference service plug-in based on the second format data, so that the multimedia conference service is provided for the object set in the first application. Therefore, the communication process among the heterogeneous applications is realized, and the conference service plug-in is adopted for communication, and the data protocol formats among the heterogeneous applications are subjected to targeted conversion, so that the communication blockage caused by the difference of the architecture or the protocol formats is avoided, and the efficiency of the data communication among the heterogeneous applications is improved.
In order to better implement the above-mentioned solution of the embodiments of the present application, the following also provides a related apparatus for implementing the above-mentioned solution. Referring to fig. 10, fig. 10 is a schematic structural diagram of a communication device between heterogeneous applications according to an embodiment of the present application, where the communication device 1000 between heterogeneous applications includes:
a loading unit 1001, configured to respond to a conference request for initiating a multimedia conference service in a first application, and load a conference service plug-in, where the first application is configured to provide a communication service for an object set, the conference service plug-in is a communication agent for a second application to interact with the first application, the second application is configured to provide the multimedia conference service, and the first application and the second application adopt different application architectures;
an obtaining unit 1002, configured to obtain first format data generated in the first application for the multimedia conference service;
a conversion unit 1003, configured to convert, by a target tool, the first format data into second format data, where the second format data is adapted to the second application;
a communication unit 1004, configured to communicate with the second application through the conference service plug-in based on the second format data, so that the multimedia conference service is provided for the set of objects in the first application.
Optionally, in some possible implementation manners of the present application, the loading unit 1001 is specifically configured to obtain the conference service plug-in response to a conference request for initiating a multimedia conference service in the first application;
the loading unit 1001 is specifically configured to initialize the conference service plug-in and register the conference service plug-in as a plug-in communication agent of the first application;
the loading unit 1001 is specifically configured to register the conference service plug-in as a host communication agent of the second application;
the loading unit 1001 is specifically configured to match the contract interfaces of the plug-in communication agent and the host communication agent, so as to load the conference service plug-in.
Optionally, in some possible implementation manners of the present application, the converting unit 1003 is specifically configured to determine a protocol format adapted to the second application;
the conversion unit 1003 is specifically configured to traverse the protocol format adapted to the second application based on the target tool, so as to determine a target format matched with the target tool in the protocol format adapted to the second application;
the converting unit 1003 is specifically configured to convert the protocol format of the first format data into the target format by using the target tool, so as to obtain the second format data.
Optionally, in some possible implementation manners of the present application, the conversion unit 1003 is specifically configured to invoke carrier data of the second application, where the carrier data is used for performing communication between a front end and a back end in an operation process;
the conversion unit 1003 is specifically configured to determine a protocol format corresponding to the carrier data;
the conversion unit 1003 is specifically configured to determine a protocol format adapted to the second application according to a protocol format corresponding to the carrier data.
Optionally, in some possible implementation manners of the present application, the communication unit 1004 is specifically configured to determine, through a contract interface, a plug-in process corresponding to the conference service plug-in;
the communication unit 1004 is specifically configured to determine, through a platform type corresponding to the first application, a conference process configured for the multimedia conference service;
the communication unit 1004 is specifically configured to, if the plug-in process is different from the process to which the conference process belongs, transmit the second format data using an inter-process communication pipe, so that the conference service plug-in communicates with the second application;
the communication unit 1004 is specifically configured to provide the multimedia conference service for the set of objects in the first application based on communication between the conference service plug-in and the second application.
Optionally, in some possible implementation manners of the present application, the communication unit 1004 is specifically configured to, if the plug-in process is the same as a process to which the conference process belongs, invoke a runtime instance to transmit the second format data, so that the conference service plug-in communicates with the second application;
the communication unit 1004 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.
Optionally, in some possible implementations of the present application, the first application invokes the second application through a first control in the conference service plug-in, and the communication unit 1004 is specifically configured to respond to a data request of the second application to the first application and acquire request data;
the communication unit 1004 is specifically configured to encapsulate the request data into a variable data object;
the communication unit 1004 is specifically configured to invoke a second control in the conference service plug-in;
the communication unit 1004 is specifically configured to transmit the variable data object to the first application through the second control, so as to invoke data in the first application.
Loading a conference service plug-in by responding to a conference request for initiating multimedia conference service in a first application, wherein the first application is used for providing communication service for an object set, the conference service plug-in is a communication agent for interacting a second application and the first application, the second application is used for providing the multimedia conference service, and the first application and the second application adopt different application architectures; then acquiring first format data generated for the multimedia conference service in the first application; converting the first format data into second format data through the target tool, wherein the second format data is suitable for a second application; and further communicating with a second application through the conference service plug-in based on the second format data, so that the multimedia conference service is provided for the object set in the first application. Therefore, the communication process among the heterogeneous applications is realized, the conference service plug-in is adopted for communication, and the data protocol formats among the heterogeneous applications are subjected to targeted conversion, so that the communication blockage caused by the difference of the architecture or the protocol formats is avoided, and the efficiency of the data communication among the heterogeneous applications is improved.
An embodiment of the present application further provides a terminal device, as shown in fig. 11, which is a schematic structural diagram of another terminal device provided in the embodiment of the present application, and for convenience of description, only a portion related to the embodiment of the present application is shown, and details of the specific technology are not disclosed, please refer to a method portion in the embodiment of the present application. The terminal may be any terminal device including a mobile phone, a tablet computer, a Personal Digital Assistant (PDA), a point of sale (POS), a vehicle-mounted computer, and the like, taking the terminal as the mobile phone as an example:
fig. 11 is a block diagram illustrating a partial structure of a mobile phone related to a terminal provided in an embodiment of the present application. Referring to fig. 11, the cellular phone includes: radio Frequency (RF) circuitry 1110, memory 1120, input unit 1130, display unit 1140, sensors 1150, audio circuitry 1160, wireless fidelity (WiFi) module 1170, processor 1180, and power supply 1190. Those skilled in the art will appreciate that the handset configuration shown in fig. 11 is not intended to be limiting and may include more or fewer components than shown, or some components may be combined, or a different arrangement of components.
The following specifically describes each component of the mobile phone with reference to fig. 11:
RF circuit 1110 may be used for receiving and transmitting signals during a message transmission or call, and in particular, for receiving downlink messages from a base station and then processing the received downlink messages to processor 1180; in addition, data for designing uplink is transmitted to the base station. In general, 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, and the like. In addition, the RF circuitry 1110 may also communicate with networks and other devices via wireless communications. The wireless communication may use any communication standard or protocol, including but not limited to global system for 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 Message Service (SMS), etc.
The memory 1120 may be used to store software programs and modules, and the processor 1180 may execute various functional applications and data processing of the mobile phone by operating the software programs and modules stored in the memory 1120. The memory 1120 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. Further, the memory 1120 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The input unit 1130 may be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the cellular phone. Specifically, the input unit 1130 may include a touch panel 1131 and other input devices 1132. The touch panel 1131, also referred to as a touch screen, can collect touch operations of a user on or near the touch panel 1131 (for example, operations of the user on or near the touch panel 1131 using any suitable object or accessory such as a finger, a stylus pen, etc., and a range of touch operations on the touch panel 1131 in an interval), and drive the corresponding connection device according to a preset program. Alternatively, the touch panel 1131 may include two parts, namely, a touch detection device and a touch controller. The touch detection device detects the touch direction of a user, detects a signal brought by touch operation and transmits the signal to the touch controller; the touch controller receives touch information from the touch sensing device, converts the touch information into touch point coordinates, sends the touch point coordinates to the processor 1180, and can receive and execute commands sent by the processor 1180. In addition, the touch panel 1131 can be implemented by various types, such as resistive, capacitive, infrared, and surface acoustic wave. The input unit 1130 may include other input devices 1132 in addition to the touch panel 1131. In particular, other input devices 1132 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and the like.
The display unit 1140 may be used to display information input by the user or information provided to the user and various menus of the cellular phone. The display unit 1140 may include a display panel 1141, and optionally, the display panel 1141 may be configured in the form of a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), or the like. Further, touch panel 1131 may cover display panel 1141, and when touch operation is detected on or near touch panel 1131, the touch operation is transmitted to processor 1180 to determine the type of touch event, and then processor 1180 provides corresponding visual output on display panel 1141 according to the type of touch event. Although in fig. 11, the touch panel 1131 and the display panel 1141 are two independent components to implement the input and output functions of the mobile phone, in some embodiments, the touch panel 1131 and the display panel 1141 may be integrated to implement the input and output functions of the mobile phone.
The handset may also include at least one sensor 1150, such as a light sensor, 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 ambient light, and the proximity sensor may turn off the display panel 1141 and/or the backlight when the mobile phone moves to the ear. As one of the motion sensors, the accelerometer sensor can detect the magnitude of acceleration in each direction (generally three axes), detect the magnitude and direction of gravity when stationary, and can be used for applications of recognizing gestures of a mobile phone (such as horizontal and vertical screen switching, related games, magnetometer gesture calibration), vibration recognition related functions (such as pedometers and taps), and the like; as for other sensors such as a gyroscope, a barometer, a hygrometer, a thermometer, and an infrared sensor, which can be configured on the mobile phone, further description is omitted here.
Audio circuitry 1160, speakers 1161, and microphone 1162 may provide an audio interface between a user and a cell phone. The audio circuit 1160 may transmit the electrical signal converted from the received audio data to the speaker 1161, and convert the electrical signal into a sound signal for output by the speaker 1161; on the other hand, the microphone 1162 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1160 and converted into audio data, which is then processed by the audio data output processor 1180 and then sent to, for example, another cellular phone via the RF circuit 1110, or the audio data is output to the memory 1120 for further processing.
WiFi belongs to short-distance wireless transmission technology, and the mobile phone can help a user to receive and send e-mails, browse webpages, access streaming media and the like through a WiFi module 1170, and provides wireless broadband internet access for the user. Although fig. 11 shows the WiFi module 1170, it is understood that it does not belong to the essential constitution of the handset, and can be omitted entirely as needed within the scope not changing the essence of the invention.
The processor 1180 is a control center of the mobile phone, and is connected to various parts of the whole mobile phone through various interfaces and lines, and executes various functions of the mobile phone and processes data by operating or executing software programs and/or modules stored in the memory 1120 and calling data stored in the memory 1120, thereby performing overall monitoring of the mobile phone. Optionally, processor 1180 may include one or more processing units; optionally, the processor 1180 may integrate an application processor and a modem processor, wherein the application processor mainly handles operating systems, user interfaces, application programs, and the like, and the modem processor mainly handles wireless communications. It will be appreciated that the modem processor described above may not be integrated within processor 1180.
The mobile phone further includes a power supply 1190 (e.g., a battery) for supplying power to each component, and optionally, the power supply may be logically connected to the processor 1180 through a power management system, so that functions of managing charging, discharging, power consumption management, and the like are implemented through the power management system.
Although not shown, the mobile phone may further include a camera, a bluetooth module, etc., which are not described herein.
In the embodiment of the present application, the processor 1180 included in the terminal further has a function of executing the steps of the page processing method.
Referring to fig. 12, fig. 12 is a schematic structural diagram of a server according to an embodiment of the present invention, and the server 1200 may have a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 1222 (e.g., one or more processors) and a memory 1232, and one or more storage media 1230 (e.g., one or more mass storage devices) storing an application program 1242 or data 1244. Memory 1232 and storage media 1230 can be, among other things, transient storage or persistent storage. The program stored in the storage medium 1230 may include one or more modules (not shown), each of which may include a series of instruction operations for the server. Still further, the central processor 1222 may 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.
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-output interfaces 1258, and/or one or more operating systems 1241, such as Windows Server, mac OS XTM, unixTM, linuxTM, freeBSDTM, etc.
The steps performed by the management apparatus in the above-described embodiment may be based on the server configuration shown in fig. 12.
In an embodiment of the present application, a computer-readable storage medium is further provided, where instructions for communication between heterogeneous applications are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the instructions cause the computer to perform the steps performed by the communication apparatus between heterogeneous applications in the method described in the foregoing embodiments shown in fig. 3 to 9.
Also provided in the embodiments of the present application is a computer program product including instructions for communicating between heterogeneous applications, which when executed on a computer, causes the computer to perform the steps performed by the communication apparatus between heterogeneous applications in the method described in the embodiments of fig. 3 to 9.
An embodiment of the present application further provides a communication system between heterogeneous applications, where the communication system between heterogeneous applications may include a communication apparatus between heterogeneous applications in the embodiment described in fig. 10, a terminal device in the embodiment described in fig. 11, or a server described in fig. 12.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one type of logical functional division, and other divisions may be realized in practice, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a communication device between heterogeneous applications, or a network device) to perform all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a portable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (10)

1. A method for communicating between heterogeneous applications, comprising:
responding to a conference request for initiating multimedia conference service in a first application, and loading a conference service plug-in, wherein the first application is used for providing communication service for an object set, the conference service plug-in is a communication agent for interacting a second application and the first application, the second application is used for providing the multimedia conference service, and the first application and the second application adopt different application architectures;
acquiring first format data generated for the multimedia conference service in the first application;
converting, by a target tool, the first format data into second format data, the second format data being adapted to the second application;
communicating, by the conferencing service plugin, with the second application based on the second format data to cause the multimedia conferencing service to be provided in the first application for the set of objects.
2. The method of claim 1, wherein loading a conference service plug-in response to a conference request to initiate a multimedia conference service in a first application comprises:
responding to a conference request for initiating multimedia conference service in the first application, and acquiring the conference service plug-in;
initializing the conference service plug-in and registering the conference service plug-in as a plug-in communication agent of the first application;
registering the conference service plug-in as a hosting communication agent for the second application;
and matching the contract interfaces of the plug-in communication agent and the host communication agent to load the conference service plug-in.
3. The method of claim 1, wherein converting the first format data into second format data by a target tool comprises:
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 matched with the target tool in the protocol formats adapted by the second application;
and converting the protocol format of the first format data into the target format through the target tool to obtain the second format data.
4. The method of claim 3, wherein determining the protocol format adapted by the second application comprises:
calling carrier data of the second application, which is communicated with the front end and the back end in the running process;
determining a protocol format corresponding to the carrier data;
and determining the protocol format adapted by the second application according to the protocol format corresponding to the carrier data.
5. The method of claim 1, wherein the communicating, by the conferencing service plugin, with the second application based on the second format data to cause the multimedia conferencing service to be provided in the first application for the set of objects comprises:
determining a plug-in process corresponding to the conference service plug-in through a contract interface;
determining a conference process configured for the multimedia conference service through a platform type corresponding to the first application;
if the plug-in process is different from the process to which the conference process belongs, transmitting the second format data by using an interprocess communication pipeline so as to enable the conference service plug-in to communicate with the second application;
providing the multimedia conferencing service for the set of objects in the first application based on communication between the conferencing service plug-in and the second application.
6. The method of claim 5, further comprising:
if the plug-in process is the same as the process to which the conference process belongs, calling a runtime instance to transmit the second format data so as to enable the conference service plug-in to communicate with the second application;
providing the multimedia conferencing service for the set of objects in the first application based on communication between the conferencing service plug-in and the second application.
7. The method of any of claims 1-6, wherein the first application invokes the second application through a first control in the conference service plug-in, the method further comprising:
responding to a data request of the second application to the first application, and acquiring request data;
packaging the request data into a variable data object;
calling a second control in the conference service plug-in;
and transmitting the variable data object to the first application through the second control so as to call data in the first application.
8. An apparatus for communicating between heterogeneous applications, comprising:
a loading unit, configured to load a conference service plug-in response to a conference request for initiating a multimedia conference service in a first application, where the first application is configured to provide a communication service for an object set, the conference service plug-in is a communication agent for interacting a second application with the first application, the second application is configured to provide the multimedia conference service, and the first application and the second application adopt different application architectures;
an obtaining unit, configured to obtain first format data generated in the first application for the multimedia conference service;
a conversion unit, configured to convert, by a target tool, the first format data into second format data, where the second format data is adapted to the second application;
a communication unit, configured to communicate with the second application through the conference service plug-in based on the second format data, so that the multimedia conference service is provided for the set of objects in the first application.
9. A computer device, the computer device comprising a processor and a memory:
the memory is used for storing program codes; the processor is configured to execute the communication method between heterogeneous applications according to any one of claims 1 to 7 according to instructions in the program code.
10. A computer program product comprising a computer program/instructions stored on a computer readable storage medium, wherein the computer program/instructions stored on the computer readable storage medium, when executed by a processor, implement the steps of the method for communication between heterogeneous applications according to any of the preceding claims 1 to 7.
CN202210445926.6A 2022-04-26 2022-04-26 Communication method and device between heterogeneous applications and storage medium Pending CN115168065A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210445926.6A CN115168065A (en) 2022-04-26 2022-04-26 Communication method and device between heterogeneous applications and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210445926.6A CN115168065A (en) 2022-04-26 2022-04-26 Communication method and device between heterogeneous applications and storage medium

Publications (1)

Publication Number Publication Date
CN115168065A true CN115168065A (en) 2022-10-11

Family

ID=83483753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210445926.6A Pending CN115168065A (en) 2022-04-26 2022-04-26 Communication method and device between heterogeneous applications and storage medium

Country Status (1)

Country Link
CN (1) CN115168065A (en)

Similar Documents

Publication Publication Date Title
WO2021057830A1 (en) Information processing method and electronic device
US11829787B2 (en) Multi-process model for cross-platform applications
WO2018103484A1 (en) Data processing method, apparatus and system for live broadcast page
US11864248B2 (en) Application function implementation method and electronic device
CN112257135B (en) Model loading method and device based on multithreading, storage medium and terminal
US20090225093A1 (en) Buffers for display acceleration
CN115454286A (en) Application data processing method and device and terminal equipment
WO2023030099A1 (en) Cross-device interaction method and apparatus, and screen projection system and terminal
WO2023124141A9 (en) Input method calling method and related device
CN111459565B (en) Client page rendering method and device and mobile terminal
CN110457621A (en) A kind of page display method, device and the medium of mixing application
JP2022506052A (en) Model file management method and terminal device
CN108874554B (en) Information communication method and device
CN110300047B (en) Animation playing method and device and storage medium
CN112965832A (en) Remote Procedure Call (RPC) service calling method and related device
CN116594616A (en) Component configuration method and device and computer readable storage medium
CN115168065A (en) Communication method and device between heterogeneous applications and storage medium
CN113886070A (en) Device information management method, device and computer readable storage medium
WO2022166553A1 (en) Method and apparatus for implementing batch system calls
WO2024099206A1 (en) Graphical interface processing method and apparatus
WO2024017211A1 (en) Task continuation method, electronic device, program product, and medium
WO2024061129A1 (en) Data access method, electronic device, and computer readable storage medium
WO2024037346A1 (en) Page management method and electronic device
WO2024055875A1 (en) Method for adding service card, and electronic device and computer-readable storage medium
WO2024093700A1 (en) Service hopping method and device, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40075316

Country of ref document: HK