WO2017167125A1 - Graphic composition method, information interaction method, and system - Google Patents

Graphic composition method, information interaction method, and system Download PDF

Info

Publication number
WO2017167125A1
WO2017167125A1 PCT/CN2017/078035 CN2017078035W WO2017167125A1 WO 2017167125 A1 WO2017167125 A1 WO 2017167125A1 CN 2017078035 W CN2017078035 W CN 2017078035W WO 2017167125 A1 WO2017167125 A1 WO 2017167125A1
Authority
WO
WIPO (PCT)
Prior art keywords
subsystem
control
information
graphics
graphic
Prior art date
Application number
PCT/CN2017/078035
Other languages
French (fr)
Chinese (zh)
Inventor
吴涛
吴昌松
Original Assignee
阿里巴巴集团控股有限公司
吴涛
吴昌松
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 阿里巴巴集团控股有限公司, 吴涛, 吴昌松 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2017167125A1 publication Critical patent/WO2017167125A1/en

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
    • 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/542Event management; Broadcasting; Multicasting; Notifications

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a graphics synthesis method, an information interaction method, and a system.
  • the cloud operating system also known as cloud OS, is an operating system supported by cloud computing and cloud storage technologies.
  • the cloud operating system will be widely used in the future because it can integrate massive computing power and provide powerful resource allocation capabilities.
  • Cloud operating systems can be used for both traditional desktop systems (such as PCs) and mobile devices.
  • Applications or services based on cloud operating systems, as well as applications or services based on traditional operating systems, will operate within the framework of the cloud operating system, which requires the cloud operating system framework to integrate applications or services based on different operating systems.
  • the embodiment of the present application provides a graphics synthesis method and system for implementing compatibility between different operating systems at a graphics processing level.
  • the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer;
  • the first control transmits the graphics data to a first subsystem graphics synthesizer.
  • the method further includes the first subsystem graphics synthesizer receiving graphics data transmitted by the graphics object in the first subsystem.
  • the method further includes: the first subsystem graphics synthesizer synthesizes the graphics data sent by the first control and the graphics data sent by the graphics object in the first subsystem.
  • the first control is a plurality, and the first control sends the graphic data to the first Subsystem graphics synthesizer, including:
  • the plurality of first controls send the respective received graphic data to the graphic objects in the first subsystem
  • the graphic object in the first subsystem sends the graphic data sent by the plurality of first controls to the first subsystem graphic synthesizer as the graphic data corresponding to the graphic object.
  • the method further includes: the first control receives graphic object setting information sent by the application component in the first subsystem; the first control sends the received graphic object setting information to the first subsystem graphic synthesis Device.
  • the graphic object is an application window, and the graphic object setting information includes window attribute information.
  • the method further includes: creating the first control.
  • the creating the first control includes: the application component in the first subsystem is configured to create a graphic object corresponding to the graphic object in the second subsystem for providing graphic data according to the request for using the graphic data in the second subsystem.
  • the first control is configured to create a graphic object corresponding to the graphic object in the second subsystem for providing graphic data according to the request for using the graphic data in the second subsystem.
  • the method further includes: destroying the first control.
  • Destroying the first control comprising: the application component in the first subsystem receiving the information that the graphic object corresponding to the first control in the second subsystem is destroyed, and destroying the first control; or The application component in the first subsystem receives an indication to end the use of the graphics data in the second subsystem, and then destroys the first control corresponding to the graphics object in the second subsystem for providing the graphics data.
  • the method further includes:
  • the first application component in the first subsystem sends control information to the first system service component in the first subsystem, the control information is used to indicate that the graphic data in the second subsystem is acquired;
  • the first system service component sends the control information to a second system service component of the second subsystem
  • the second system service component sends the control information to a second one of the second subsystems.
  • the first subsystem is a Host subsystem
  • the second subsystem is a Guest subsystem.
  • the graphics synthesis system includes: a first subsystem graphics synthesizer, a second subsystem graphics synthesizer, and a first control in the first subsystem;
  • a first control in the first subsystem configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and send the graphic data to the first subsystem graphic synthesis Device.
  • the first subsystem graphics synthesizer is further configured to: receive graphics data sent by the graphic object in the first subsystem.
  • the first subsystem graphic synthesizer is further configured to: synthesize the graphic data sent by the first control and the graphic data sent by the graphic object in the first subsystem.
  • the first control is a plurality of, the plurality of first controls send the respective received graphic data to the graphic object in the first subsystem;
  • the first subsystem graphics synthesizer is specifically configured to: receive graphic data sent by the graphic object in the first subsystem; wherein the graphic object corresponds to the graphic data sent by the plurality of first controls The graphics data is sent to the first subsystem graphics synthesizer.
  • first control is further configured to:
  • the received graphic object setting information is sent to the first subsystem graphic synthesizer.
  • the graphic object is an application window, and the graphic object setting information includes window attribute information.
  • the first subsystem further includes an application component; and the application component in the first subsystem is configured to create the first control.
  • the application component in the first subsystem is specifically configured to: create a first control corresponding to the graphic object for providing graphic data in the second subsystem according to the request for using the graphic data in the second subsystem .
  • the first subsystem further includes an application component; and the application component in the first subsystem is configured to destroy the first control.
  • the application component in the first subsystem is specifically configured to:
  • the first control corresponding to the graphical object in the second subsystem for providing the graphics data is destroyed.
  • the first subsystem further includes a first application component
  • the second subsystem further includes a second application component
  • a first application component in the first subsystem configured to send control information to the first system service component in the first subsystem, where the control information is used to indicate that the graphic data in the second subsystem is acquired;
  • the first system service component is specifically configured to: send the control information to a second system service component in the second subsystem;
  • the second system service component is specifically configured to send the control information to a second application component in the second subsystem.
  • the first subsystem is a Host subsystem
  • the second subsystem is a Guest subsystem.
  • the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and the first control will receive the graphic data.
  • Sending to the first subsystem graphics synthesizer it can be seen that, in the first subsystem, there is a corresponding first control corresponding to the graphic object in the second subsystem graphics synthesizer, and the first control provides between the two subsystems
  • the transfer function of graphic data enables compatibility between different operating systems at the graphics processing level.
  • the embodiment of the present application provides an information interaction method and system for implementing compatibility between different operating systems at a control level.
  • the first system service component in the first subsystem receives the first information sent by the first application component in the first subsystem
  • the first system service component sends the first information to a second system service component of the second subsystem
  • the second system service component transmits the first information to a second one of the second subsystems.
  • the method further comprises:
  • the second system service component receives the second information sent by the second application component, where the second information is obtained by the first application component according to the first information;
  • the second system service component sends the second information to the first system service component
  • the first system service component sends the second information to the first application component.
  • the first application component sends the first information to the first system service component in one or more of the following cases:
  • the application components in the second subsystem need to be notified for processing.
  • the method further comprises: creating the first system service component.
  • the first system service component is created when the first application component is created.
  • the method further comprises: destroying the first system service component.
  • the first system service component is destroyed when the first application component is destroyed.
  • the information comprises: control information and/or data.
  • the first subsystem is a Host subsystem
  • the second subsystem is a Guest subsystem
  • the first subsystem is a Guest subsystem
  • the second subsystem is a Host subsystem
  • a first system service component in the first subsystem configured to receive first information sent by the first application component in the first subsystem
  • the first system service component configured to send the first information to a second system service component in the second subsystem
  • the second system service component is configured to send the first information to a second application component in the second subsystem.
  • the second system service component is further configured to: receive second information sent by the second application component, and send the second information to the first system service component; wherein the second information Obtained for the first application component according to the first information;
  • the first system service component is further configured to: send the second information to the first application component.
  • the first application component is specifically configured to: in one or more of the following cases, The first system service component sends the first information:
  • the application components in the second subsystem need to be notified for processing.
  • the information comprises: control information and/or data.
  • the first subsystem is a Host subsystem
  • the second subsystem is a Guest subsystem
  • the first subsystem is a Guest subsystem
  • the second subsystem is a Host subsystem
  • the first system service component in the first subsystem receives the information sent by the first application component in the first subsystem; the first system service component sends the information to the second subsystem.
  • the second system service component, the second system service component sends the information to the second application component in the second subsystem, thereby implementing information interaction between the application components in the different subsystems.
  • FIG. 1 is a schematic diagram of an operating system framework applicable to an embodiment of the present application
  • FIG. 2 is a schematic diagram of an information interaction architecture of a cross-system according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a dual-system compatible architecture of a graphics synthesis layer according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of a user interface of a video playback application provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a graphics synthesis system according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of an information interaction system according to an embodiment of the present application.
  • the embodiment of the present application provides integration and unification at the graphics processing level in the framework of the first operating system. To provide users with a seamless dual system user experience.
  • the embodiment of the present application can be applied to an application that needs to run across operating systems, and is also applicable to a scenario in which graphics data or control information needs to be transmitted between applications based on different operating systems.
  • the first operating system and the second operating system are different operating systems.
  • the first operating system may be a cloud operating system
  • the second operating system may be a traditional operating system. More Specifically, the first operating system may be YunOS, and the second operating system may be Android.
  • FIG. 1 is a schematic diagram of an operating system framework applicable to an embodiment of the present application. Taking YunOS as the first operating system and Android as the second operating system as an example, FIG. 1 shows a dual system compatible architecture within the YunOS framework.
  • the system framework includes two subsystems: Host and Guest.
  • YunOS is the Host subsystem
  • Android is the Guest subsystem
  • the two subsystems are isolated by the container technology.
  • the Hardware Abstraction Layer (HAL) within the framework provides interfaces and driver services for graphical display and other aspects.
  • Glibc in the Host subsystem is the lowest API (Application Programming Interface) in Linux.
  • Bioric in the Guest subsystem is the Linux kernel library for Android.
  • Libhybris is a compatibility layer that enables Glibc-based operating systems to reuse existing Android driver services; in graphics processing, libhybris also implements the EGL platform.
  • EGL platform This is a backend-independent graphical platform that follows the EGL interface and multiple backend implementations.
  • the Gralloc module is located in the hardware abstraction layer and encapsulates all access operations to the framebuffer.
  • the InputManageerService (input management module) in the Guest subsystem is mainly used to monitor and manage input events.
  • Wayland Compositor (or Weston) is the graphics synthesizer of the Host subsystem, where Weston is the reference implementation of the Wayland Compositor.
  • the Wayland protocol can be used for communication between the graphics synthesizer of the Guest subsystem and the graphics synthesizer of the Host subsystem.
  • the Wayland protocol defines how to communicate with the kernel and how to communicate with the client; Wayland reuses the graphics, input and output technologies of all Linux kernels.
  • the Wayland protocol can be communicated between the graphic synthesizer of Andriod and the graphic synthesizer of YunOS, so that the graphics system in Android is overhead and bridged to the graphic system of YunOS, and the unified synthesis rendering of the dual system is realized. This provides better dual system compatibility and a seamless user experience for dual systems.
  • the embodiments of the present application provide dual system compatibility on the following two levels:
  • the Host subsystem is YunOS
  • the Guest subsystem is Android.
  • the embodiment of the present application establishes a connection path for data and/or control information of the cross-operating system environment from the first subsystem to the second subsystem, that is, provides an IPC (Inter -process communication, mechanism to implement information exchange between application components (or processes) of different subsystems.
  • IPC Inter -process communication, mechanism to implement information exchange between application components (or processes) of different subsystems.
  • an information interaction architecture provided by an embodiment of the present application is provided.
  • a Bridge Proxy is established in the Host subsystem, and a Bridge Service is established in the Guest subsystem.
  • Bridge Proxy and Bridge Service are system service components.
  • the Android system uses the Binder mechanism as the IPC (Inter-Process Communication) mechanism, and the YunOS uses the socket or dbus as the IPC communication mechanism, in order to make information between application components (that is, application processes) of different operating systems.
  • the Bridage Proxy is used as a system service to convert the IPC mechanism between the two systems.
  • An application component is one of the components of an application. It is called an Activity in the Android system and a Page in the YunOS. It is the main body of the application.
  • a process is an application or application component that is running.
  • the Bridge Service is usually a resident service and the Bridge Proxy can be created or enabled when needed.
  • Bridge Proxy when an application component (process) is created in the Host subsystem, Bridge Proxy is created or enabled to enable information interaction between different subsystems through the Bridge Proxy.
  • an application component (process) is destroyed in the Host subprocess, the Bridge Proxy is destroyed or closed.
  • the application component (process) described in the embodiment of the present application indicates that the application component and the process are in an alternative relationship, and the process herein can be understood as an application component in an operational state.
  • application components (processes) in the Host subsystem can send information, such as data and/or control information, to the Bridge Proxy, which sends the data and/or control information sent by the Bridge Proxy to Bridge.
  • the Service, Bridge Service sends the data and/or control information to the application components (processes) in the Guest subsystem.
  • the Bridge Proxy and the Bridge Service can communicate based on the Binder mechanism.
  • the Bridge Service can interact with application components (processes) in the Guest subsystem through intent or socket methods.
  • the data and/or control information as a result of the processing may be sent to the Bridge Service, and the Bridge Service compares the data and / or control information is sent to the Bridge Proxy, the Bridge Proxy sends the data and / or control information to the application components (processes) in the Host subsystem.
  • application components (processes) in the Guest subsystem may send information, such as data and/or control information, to the Bridge Service, which sends the data and/or control information to the Bridge Proxy, Bridge.
  • the Proxy sends the data and/or control information to the application components (processes) in the Host subsystem.
  • the application component (process) in the Host subsystem processes the received data and/or control information
  • the data and/or control information as a result of the processing may be sent to the Bridge Proxy
  • the Bridge Proxy may / or control information is sent to the Bridge Service
  • the Bridge Service sends the data and / or control information to the application components (processes) in the Guest subsystem.
  • the information exchanged between processes in different subsystems may be data or control information
  • the control information may include an event, or request information, or window attribute information.
  • the above information interaction method can be applied to some functions of an application that need to be implemented based on the Host subsystem, and some functions need to be based on the scenario implemented by the Guest subsystem.
  • a video playback app when a user submits a request to play a movie through the video playback app user interface, the event is acquired by the video playback app in the process of the Host subsystem due to the video content.
  • SDK Software Development Kit
  • the logic related to video content is developed in the Android environment, that is, the object requested by the event is in the Guse subsystem.
  • the process of the video playback app in the Host subsystem sends the event to the Bridge Proxy, which sends the event to the Bridge Service, which is sent by the Bridge Service to the video playback app in the Guest subsystem.
  • the process of the video playback app in the Guest subsystem sends the requested video data to the graphics synthesizer of the Host subsystem for processing.
  • the IPC architecture provided by the embodiment of the present application implements information exchange across operating systems, so that different operating systems are merged at the control level, thereby making the application-level fusion interactive experience seamless.
  • FIG. 3 is a schematic diagram of a dual-system compatible architecture of a graphics synthesis layer according to an embodiment of the present application.
  • a layer is created in the graphics synthesizer SurfaceFlinger of the Guest subsystem, and only two layers are exemplarily shown in the figure, namely layer1 and layer2.
  • p_surface1 and p_surface2 are created, where p_surface1 corresponds to layer1 in the Guest subsystem and corresponds to surface1 in the graphics synthesizer of the Host subsystem (not shown in the figure) for connecting layer1 And the graphics synthesizer Weston of the Host subsystem, more specifically for connecting surface1 in layer1 and Weston; P_surface2 corresponds to layer2 and corresponds to surface2 in the graphics synthesizer of the Host subsystem (not shown in the figure), the graphics synthesizer Weston for connecting layer2 and the Host subsystem, more specifically for connecting layer2 and Surface2 in Weston.
  • P_surface can be a control, which is used to connect the layer synthesizer of the layer and Host subsystem in the guest subsystem graphics synthesizer, as a proxy of the layer in the guest subsystem, and pass the graphics data of the guest subsystem to the host sub
  • the graphics synthesizer of the system Specifically, layer1 can send graphics data to p_surface1, p_surface1 can send graphics data sent by layer1 to the graphics synthesizer Weston of Host subsystem; layer2 can send graphics data to p_surface1, and p_surface2 can send graphics data sent by layer2 The graphics synthesizer Weston sent to the Host subsystem.
  • the application component can also create a local surface in the Host subsystem, and send the graphic data in the Host subsystem to the graphic synthesizer Weston of the Host subsystem through the local surface.
  • local surface is the surface in the Host subsystem.
  • the graphics synthesizer of the Host subsystem can synthesize the graphics data of the Host subsystem, and synthesize the graphics data of the Guest subsystem, and realize the graphics synthesis across operating systems.
  • the application component can also create layer3.
  • Layer3 can send the graphics data in the Guest subsystem to the graphics synthesizer Weston in the Host subsystem, and the graphics data is synthesized by Weston.
  • the embodiment of the present application uses layer content as the basic unit of the integration of the two subsystems, that is, the graphic data sent through the p_surface may be
  • the layer content more specifically, may be the graphics data stored in the GraphicBuffer queue corresponding to the layer.
  • a layer is a graphical object created by an application process. Generally, a layer represents a layer, and multiple layers can be superimposed in a Z-order order to form a user interface.
  • a layer can correspond to a GraphicBuffer queue, and a GraphicBuffer queue contains multiple GraphicBuffers.
  • the GraphicBuffer is created by the application component in the process of the Guest subsystem, where the graphic data is stored, such as the graphic data stored by the process of the application component in the Guest subsystem.
  • Figure 3 the architecture of Figure 3 is described by YunOS and Android, and the graphics data is The layer is submitted to the Surfaceflinger for synthesis.
  • the graphics object in the Guest subsystem and the control of the Host subsystem graphics synthesizer can be connected to other types of graphic objects.
  • the data is sent to the Host Subsystem Graphics Synthesizer for synthesis.
  • the p_surface may further receive graphic object setting information sent by the application component in the Host subsystem, and send the graphic object setting information to the graphic synthesizer Weston of the Host subsystem.
  • Weston can set or update graphic objects based on the graphic object setting information.
  • the graphic object may be an application window
  • the graphic object setting information may be window attribute information
  • Weston may update the corresponding window according to the window attribute information, such as changing a window transparency.
  • the p_surface may provide an interface for calling the application component in the Host subsystem.
  • the application component calls the graphic object to process the related interface
  • the corresponding operation of the interface is performed to implement the graphic object setting, such as window property update.
  • the application component in the Host subsystem receives the video window attribute update event (which can be triggered by the user by adjusting the video window size or transparency, the application component sends the updated window attribute information to the video)
  • the surface of the window corresponds to p_surface1, and the window attribute information is sent to Weston by p_surface1, and Weston redraws the window according to the window attribute information.
  • the lifecycle of p_surface can be managed by application components in the Host subsystem.
  • the application component in the Host subsystem may create p_surface1 according to the request for displaying the graphics data obtained by the Guest subsystem; when the graphic object corresponding to p_surface1 in the Guest subsystem is destroyed, p_surface1 is destroyed.
  • the p_surface1 corresponding to the graphics object in the Guest subsystem for providing the graphics data is destroyed.
  • p_surface can be created based on the classes provided by the system, such that the functional properties of the parent class (ie, the classes provided by the system) can be inherited. Further, considering different application scenarios, there may be different requirements. Therefore, when a p_surface is created based on a system-provided class, some parameters or attributes are reset in combination with the current application scenario.
  • the video playback application can be based on the system when creating p_surface
  • the class is created and set to the sub-surface of the h5surface, controlling the width, position, and so on.
  • graphics data sent by multiple p_surfaces may be sent to a local surface (ie, a surface in the Host subsystem) to obtain synthesized graphics data, which is sent to Weston by the local surface, and finally submitted.
  • a local surface ie, a surface in the Host subsystem
  • the above graphic synthesis method can be applied to some applications, and some functions need to be implemented based on the Host subsystem, and some functions need to be implemented based on the Guest subsystem.
  • the video playback app when the video playback app acquires a video play event in the process in the Host subsystem (this event can be triggered by the user submitting a video play request through the user interface), create p_surface1, P_surface1 corresponds to the surface of the video window in Weston; further, the process of the video playback app in the Host subsystem sends the event to the video playback app in the guest subsystem (see the information interaction between operating system processes)
  • the process of the video playback app in the guest subsystem acquires video data from the network side according to the event, and the video decoded content is transmitted to the VideoView control through the MediaCodec (media decoder), and then submitted to the surfaceflinger, and passed through the p_surface1.
  • the graphic data is sent to the weston for synthesis to
  • the process in the guest subsystem of the video playback app sends the event to the process in the video subsystem, and the process in the video subsystem app destroys p_surface1 according to the event.
  • the p_surface in the Host subsystem receives the graphics data sent by the layer corresponding to the p_surface in the guest subsystem graphics synthesizer by the above-mentioned embodiment of the present application, and the p_surface will receive the received data.
  • the graphics data is sent to the host subsystem graphics synthesizer.
  • the p_surface provides the transmission function of the graphics data between the two subsystems. This achieves compatibility between different operating systems at the graphics processing level.
  • Tom's mobile phone uses the YunOS system, and its system architecture is shown in Figure 1.
  • the video playback app is installed on the mobile phone.
  • the video data downloading and decoding related functions in the application are based on Android, and the playback control related functions are implemented based on YunOS.
  • the main interface of the video playback app is shown in FIG. 4, which mainly includes the video window 100.
  • the play control bar 200 and the window control bar 300 are displayed.
  • the play control bar 200 is provided with a play control button, and specifically includes a pause button 201, a stop button 202, a play button 203, and a process drag bar 204.
  • a window maximizer key 301 and a window restore key 302 are disposed on the window control strip 300.
  • the main interface of the video playback app also includes an exit key 400.
  • Tom selects a movie and submits a request to view the movie, after which the movie is played in the video window 100.
  • the video playback app process in the Host subsystem creates a p_surface; the video playback app process in the Guest subsystem creates a buffer queue, obtains video data of the movie from the network side, and performs the obtained video data. Decoding, the decoded video data is stored in the buffer queue.
  • the layer in the graphics synthesizer SurfaceFlinger sends the video data in the buffer queue to the p_surface; in the Host subsystem, the p_surface sends the video data to the graphics synthesizer weston, which combines the video data, and Displayed in the video window 100 by the display driver.
  • the video playback app process sends the relevant information of the maximized video window 100 (such as the indication information of the maximized window and/or the window attribute information, etc.) to the p_surface, which p_surface will The information is sent to weston, which repaints the video window 100 based on this information to maximize display.
  • relevant information of the maximized video window 100 such as the indication information of the maximized window and/or the window attribute information, etc.
  • the video playback app process in the Host subsystem sends an event generated by clicking the pause button 201 to the Bridge Proxy, and the Bridge Proxy sends the event to the Bridge corresponding to the video playback app process in the Guest subsystem.
  • Service, Bridge Service sends the event to the video playback app process in the Guest subsystem.
  • the video playback app process responds to the event and no longer sends video data to the p_surface through the layer.
  • the video playback app process in the Host subsystem sends an event generated by clicking the play button 203 to the Bridge Proxy, and the Bridge Proxy sends the event to the Bridge corresponding to the video playback app process in the Guest subsystem.
  • Service, Bridge Service sends the event to the video playback app process in the Guest subsystem.
  • the video playback app process responds to the event and continues to send video data to the p_surface through the layer.
  • the video window 100 is closed.
  • the video playback app process in the Guest subsystem sends the event to the Bridge Proxy through the Bridge Service, and the Bridge Proxy sends the event to the video playback app process in the Host subsystem; the video playback app process in the Host subsystem.
  • the video window 100 is closed and the p_surface is destroyed.
  • the video playback app process in the Host subsystem acquires the event of clicking the exit key 400, destroys the Bridge Proxy, and closes the video playback app.
  • the Android application when the embodiment of the present application is applied to a scenario in which the Android and the YunOS are integrated, the Android application can be made transparent, and the Android application can compile the corresponding APK or binary code through the SDK or the NDK without performing an Android application. Too many improvements.
  • the embodiments of the present application can implement diversification of cross-system integration.
  • Host SDKs for example, h5, qt, domoless, native, etc.
  • the input access method can be customized.
  • the embodiment of the present application provides a fusion of application-level content, which can display the content processed by the application process of YunOS and Android in one window, and organically integrate two different operating systems into one, and a unified interactive experience does not need to be performed. Switch windows to manage all content in a unified manner.
  • the embodiment of the present application provides a graphics synthesis system, which can implement the graphics synthesis process described in the foregoing embodiment.
  • FIG. 5 is a schematic structural diagram of a graphics synthesis system according to an embodiment of the present application.
  • the system may include: a first subsystem graphics synthesizer 51, a second subsystem graphics synthesizer 52, and a first one of the first subsystems. Control 53;
  • a first control 53 in the first subsystem configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphic synthesizer 52, and send the graphic data to the first subsystem Graphic synthesizer 51.
  • first subsystem graphics synthesizer 51 is further configured to: receive graphics data sent by the graphic object in the first subsystem.
  • first subsystem graphics synthesizer 51 is further configured to: synthesize the graphics data sent by the first control 53 and the graphics data sent by the graphics object in the first subsystem.
  • the first control is a plurality of, the plurality of first controls send the respective received graphics data to the graphic objects in the first subsystem; correspondingly, the first subsystem graphics synthesizer 51 is specifically configured to: And receiving the graphic data sent by the graphic object in the first subsystem; wherein the graphic object sends the graphic data sent by the plurality of first controls as the graphic data corresponding to the graphic object to the first subsystem graphic synthesizer.
  • the first control 53 is further configured to: receive graphic object setting information sent by the application component in the first subsystem; and send the received graphic object setting information to the first subsystem graphic synthesizer 51.
  • the graphic object is an application window, and the graphic object setting information includes window attribute information.
  • the first subsystem further includes an application component; and the application component in the first subsystem is configured to create the first control.
  • the application component in the first subsystem is specifically configured to: create a first control corresponding to the graphic object for providing graphic data in the second subsystem according to the request for using the graphic data in the second subsystem 53.
  • the first subsystem further includes an application component; and the application component in the first subsystem is configured to destroy the first control 53.
  • the application component in the first subsystem is specifically configured to: after receiving information that the graphic object corresponding to the first control 53 in the second subsystem is destroyed, destroying the first control 53; or Upon receiving an indication to end the use of the graphical data in the second subsystem, the first control 53 corresponding to the graphical object in the second subsystem for providing the graphical data is destroyed.
  • the first subsystem further includes a first application component
  • the second subsystem further includes a second application component; correspondingly, the first application component of the first subsystem is configured to be in the first subsystem
  • the first system service component 54 sends control information, the control information is used to indicate that the graphic data in the second subsystem is acquired; the first system service component 54 is specifically configured to send the control information to the second subsystem.
  • the second system service component 55 is configured to send the control information to the second application component in the second subsystem.
  • the first subsystem is a Host subsystem
  • the second subsystem is a Guest subsystem.
  • the embodiment of the present application provides an information interaction system, and the system The information interaction method described in the foregoing embodiment can be implemented.
  • FIG. 6 it is a schematic diagram of an information interaction system architecture provided by an embodiment of the present application.
  • the system may include: a first system service component 61 in the first subsystem, and a second system service component 62 in the second subsystem, where:
  • a first system service component 61 in the first subsystem configured to receive first information sent by the first application component in the first subsystem, and send the first information to a second system in the second subsystem Service component 62;
  • the second system service component 62 is configured to send the first information to a second application component in the second subsystem.
  • the second system service component 62 is further configured to: receive the second information sent by the second application component, and send the second information to the first system service component 61; wherein, the The second information is obtained by the first application component according to the first information.
  • the first system service component 61 is further configured to: send the second information to the first application component.
  • the first application component is specifically configured to: send the first information to the first system service component 61 in one or more of the following cases:
  • the application components in the second subsystem need to be notified for processing.
  • the information comprises: control information and/or data.
  • the first subsystem is a Host subsystem
  • the second subsystem is a Guest subsystem
  • the first subsystem is a Guest subsystem
  • the second subsystem is a Host subsystem
  • These computer program instructions can also be stored at a computer or other programmable data location.
  • the device is readable in a computer readable memory that operates in a particular manner such that instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device implemented in a flow or a flow and/or block diagram of the flowchart The function specified in the box or in multiple boxes.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Abstract

Disclosed are a graphics composition method, an information interaction method, and a system. In the present application, a first control element in a first subsystem receives graphical data transmitted by a graphical object corresponding to the first control element in a graphics compositor of a second subsystem. The first control element transmits the received graphical data to a graphics compositor of the first subsystem. The first control element in the first subsystem corresponds to the graphical object in the graphics compositor of the second subsystem. The first control element provides a function for transmitting graphical data between the two subsystems, thereby realizing compatibility between different operating systems in a graphics processing layer.

Description

一种图形合成方法、信息交互方法及系统Graphic synthesis method, information interaction method and system 技术领域Technical field
本申请涉及通信技术领域,尤其涉及一种图形合成方法、信息交互方法及系统。The present application relates to the field of communications technologies, and in particular, to a graphics synthesis method, an information interaction method, and a system.
背景技术Background technique
云操作系统又称云OS,是以云计算、云存储技术作为支撑的操作系统。云操作系统因其能够整合海量的计算能力并能够提供强大的资源调配能力,未来将得到更广泛的应用。The cloud operating system, also known as cloud OS, is an operating system supported by cloud computing and cloud storage technologies. The cloud operating system will be widely used in the future because it can integrate massive computing power and provide powerful resource allocation capabilities.
云操作系统既可以用于传统的桌面系统设备(比如PC)又适用于移动设备。基于云操作系统的应用或服务,以及基于传统操作系统的应用或服务,将会在云操作系统框架内运行,这就要求云操作系统框架能够将基于不同操作系统的应用或服务进行融合。Cloud operating systems can be used for both traditional desktop systems (such as PCs) and mobile devices. Applications or services based on cloud operating systems, as well as applications or services based on traditional operating systems, will operate within the framework of the cloud operating system, which requires the cloud operating system framework to integrate applications or services based on different operating systems.
目前,针对在一种操作系统框架内,基于不同操作系统的应用或服务如何在图形合成层面融合或者在控制层面融合,目前尚未有相应的解决方案。At present, there is no corresponding solution for how applications or services based on different operating systems are integrated at the graphics synthesis level or integrated at the control level within an operating system framework.
申请内容Application content
本申请实施例提供了一种图形合成方法及系统,用以在图形处理层面实现不同操作系统间的兼容。The embodiment of the present application provides a graphics synthesis method and system for implementing compatibility between different operating systems at a graphics processing level.
本申请实施例提供的图形合成方法,包括:The graphic synthesis method provided by the embodiment of the present application includes:
第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据;The first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer;
所述第一控件将所述图形数据发送给第一子系统图形合成器。The first control transmits the graphics data to a first subsystem graphics synthesizer.
进一步地,该方法还包括:第一子系统图形合成器接收第一子系统中的图形对象发送的图形数据。Further, the method further includes the first subsystem graphics synthesizer receiving graphics data transmitted by the graphics object in the first subsystem.
进一步地,该方法还包括:第一子系统图形合成器对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。Further, the method further includes: the first subsystem graphics synthesizer synthesizes the graphics data sent by the first control and the graphics data sent by the graphics object in the first subsystem.
优选地,第一控件为多个,所述第一控件将所述图形数据发送给第一 子系统图形合成器,包括:Preferably, the first control is a plurality, and the first control sends the graphic data to the first Subsystem graphics synthesizer, including:
所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;The plurality of first controls send the respective received graphic data to the graphic objects in the first subsystem;
所述第一子系统中的图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。The graphic object in the first subsystem sends the graphic data sent by the plurality of first controls to the first subsystem graphic synthesizer as the graphic data corresponding to the graphic object.
优选地,该方法还包括:所述第一控件接收第一子系统中的应用组件发送的图形对象设置信息;所述第一控件将接收到的图形对象设置信息发送给第一子系统图形合成器。Preferably, the method further includes: the first control receives graphic object setting information sent by the application component in the first subsystem; the first control sends the received graphic object setting information to the first subsystem graphic synthesis Device.
其中,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。The graphic object is an application window, and the graphic object setting information includes window attribute information.
进一步地,第一子系统中的第一控件接收第二子系统图形合成器发送的图形数据之前,还包括:创建所述第一控件。Further, before the first control in the first subsystem receives the graphic data sent by the second subsystem graphics synthesizer, the method further includes: creating the first control.
其中,创建所述第一控件,包括:第一子系统中的应用组件根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。The creating the first control includes: the application component in the first subsystem is configured to create a graphic object corresponding to the graphic object in the second subsystem for providing graphic data according to the request for using the graphic data in the second subsystem. The first control.
进一步地,第一控件将第二子系统图形合成器发送的图形数据发送给第一子系统图形合成器之后,还包括:销毁所述第一控件。Further, after the first control sends the graphic data sent by the second subsystem graphics synthesizer to the first subsystem graphics synthesizer, the method further includes: destroying the first control.
其中,销毁所述第一控件,包括:第一子系统中的应用组件接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,则销毁所述第一控件;或者,第一子系统中的应用组件接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。Destroying the first control, comprising: the application component in the first subsystem receiving the information that the graphic object corresponding to the first control in the second subsystem is destroyed, and destroying the first control; or The application component in the first subsystem receives an indication to end the use of the graphics data in the second subsystem, and then destroys the first control corresponding to the graphics object in the second subsystem for providing the graphics data.
进一步地,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据之前,还包括:Further, before the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, the method further includes:
第一子系统中的第一应用组件向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;The first application component in the first subsystem sends control information to the first system service component in the first subsystem, the control information is used to indicate that the graphic data in the second subsystem is acquired;
所述第一系统服务组件将所述控制信息发送给第二子系统中的第二系统服务组件;The first system service component sends the control information to a second system service component of the second subsystem;
所述第二系统服务组件将所述控制信息发送给第二子系统中的第二应用组件。 The second system service component sends the control information to a second one of the second subsystems.
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。Preferably, the first subsystem is a Host subsystem, and the second subsystem is a Guest subsystem.
本申请实施例提供的图形合成系统,包括:第一子系统图形合成器、第二子系统图形合成器,以及第一子系统中的第一控件;The graphics synthesis system provided by the embodiment of the present application includes: a first subsystem graphics synthesizer, a second subsystem graphics synthesizer, and a first control in the first subsystem;
第一子系统中的第一控件,用于接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,并将所述图形数据发送给第一子系统图形合成器。a first control in the first subsystem, configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and send the graphic data to the first subsystem graphic synthesis Device.
进一步地,第一子系统图形合成器还用于:接收第一子系统中的图形对象发送的图形数据。Further, the first subsystem graphics synthesizer is further configured to: receive graphics data sent by the graphic object in the first subsystem.
进一步地,第一子系统图形合成器还用于:对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。Further, the first subsystem graphic synthesizer is further configured to: synthesize the graphic data sent by the first control and the graphic data sent by the graphic object in the first subsystem.
优选地,第一控件为多个,所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;Preferably, the first control is a plurality of, the plurality of first controls send the respective received graphic data to the graphic object in the first subsystem;
第一子系统图形合成器具体用于:接收所述第一子系统中的图形对象发送的图形数据;其中,所述图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。The first subsystem graphics synthesizer is specifically configured to: receive graphic data sent by the graphic object in the first subsystem; wherein the graphic object corresponds to the graphic data sent by the plurality of first controls The graphics data is sent to the first subsystem graphics synthesizer.
进一步地,所述第一控件还用于:Further, the first control is further configured to:
接收第一子系统中的应用组件发送的图形对象设置信息;Receiving graphic object setting information sent by an application component in the first subsystem;
将接收到的图形对象设置信息发送给第一子系统图形合成器。The received graphic object setting information is sent to the first subsystem graphic synthesizer.
其中,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。The graphic object is an application window, and the graphic object setting information includes window attribute information.
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于创建所述第一控件。Preferably, the first subsystem further includes an application component; and the application component in the first subsystem is configured to create the first control.
其中,所述第一子系统中的应用组件具体用于:根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。The application component in the first subsystem is specifically configured to: create a first control corresponding to the graphic object for providing graphic data in the second subsystem according to the request for using the graphic data in the second subsystem .
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于销毁所述第一控件。Preferably, the first subsystem further includes an application component; and the application component in the first subsystem is configured to destroy the first control.
其中,所述第一子系统中的应用组件具体用于:The application component in the first subsystem is specifically configured to:
接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息, 则销毁所述第一控件;或者,Receiving information that the graphic object corresponding to the first control in the second subsystem is destroyed, Destroying the first control; or,
接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。Upon receiving an indication to end the use of graphics data in the second subsystem, the first control corresponding to the graphical object in the second subsystem for providing the graphics data is destroyed.
优选地,第一子系统中还包括第一应用组件,第二子系统中还包括第二应用组件;Preferably, the first subsystem further includes a first application component, and the second subsystem further includes a second application component;
第一子系统中的第一应用组件,用于向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;a first application component in the first subsystem, configured to send control information to the first system service component in the first subsystem, where the control information is used to indicate that the graphic data in the second subsystem is acquired;
第一系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二系统服务组件;The first system service component is specifically configured to: send the control information to a second system service component in the second subsystem;
所述第二系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二应用组件。The second system service component is specifically configured to send the control information to a second application component in the second subsystem.
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。Preferably, the first subsystem is a Host subsystem, and the second subsystem is a Guest subsystem.
本申请的上述实施例中,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,第一控件将接收到的图形数据发送给第一子系统图形合成器,可以看出,第一子系统中,对应于第二子系统图形合成器中的图形对象存在对应的第一控件,该第一控件提供了两个子系统间图形数据的传输功能,从而在图形处理层面实现了不同操作系统间的兼容。In the above embodiment of the present application, the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and the first control will receive the graphic data. Sending to the first subsystem graphics synthesizer, it can be seen that, in the first subsystem, there is a corresponding first control corresponding to the graphic object in the second subsystem graphics synthesizer, and the first control provides between the two subsystems The transfer function of graphic data enables compatibility between different operating systems at the graphics processing level.
本申请实施例提供了一种信息交互方法及系统,用以在控制层面实现不同操作系统间的兼容。The embodiment of the present application provides an information interaction method and system for implementing compatibility between different operating systems at a control level.
本申请实施例提供的信息交互方法,包括:The information interaction method provided by the embodiment of the present application includes:
第一子系统中的第一系统服务组件接收第一子系统中的第一应用组件发送的第一信息;The first system service component in the first subsystem receives the first information sent by the first application component in the first subsystem;
所述第一系统服务组件将所述第一信息发送给第二子系统中的第二系统服务组件;The first system service component sends the first information to a second system service component of the second subsystem;
所述第二系统服务组件将所述第一信息发送给第二子系统中的第二应用组件。The second system service component transmits the first information to a second one of the second subsystems.
优选地,该方法还包括: Preferably, the method further comprises:
所述第二系统服务组件接收所述第二应用组件发送的第二信息,所述第二信息为所述第一应用组件根据所述第一信息得到的;The second system service component receives the second information sent by the second application component, where the second information is obtained by the first application component according to the first information;
所述第二系统服务组件将所述第二信息发送给所述第一系统服务组件;The second system service component sends the second information to the first system service component;
所述第一系统服务组件将所述第二信息发送给所述第一应用组件。The first system service component sends the second information to the first application component.
优选地,所述第一应用组件在以下之一或多种情况下,向所述第一系统服务组件发送第一信息:Preferably, the first application component sends the first information to the first system service component in one or more of the following cases:
需要使用第二子系统中的图形数据;Need to use the graphic data in the second subsystem;
需要通知第二子系统中的应用组件进行处理。The application components in the second subsystem need to be notified for processing.
优选地,该方法还包括:创建所述第一系统服务组件。Preferably, the method further comprises: creating the first system service component.
其中,所述第一应用组件被创建时,创建所述第一系统服务组件。The first system service component is created when the first application component is created.
优选地,该方法还包括:销毁所述第一系统服务组件。Preferably, the method further comprises: destroying the first system service component.
其中,所述第一应用组件被销毁时,销毁所述第一系统服务组件。The first system service component is destroyed when the first application component is destroyed.
优选地,所述信息包括:控制信息和/或数据。Preferably, the information comprises: control information and/or data.
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者,所述第一子系统为Guest子系统,所述第二子系统为Host子系统。Preferably, the first subsystem is a Host subsystem, and the second subsystem is a Guest subsystem; or the first subsystem is a Guest subsystem, and the second subsystem is a Host subsystem.
本申请实施例提供的信息交互系统,包括:The information interaction system provided by the embodiment of the present application includes:
第一子系统中的第一系统服务组件,用于接收第一子系统中的第一应用组件发送的第一信息;a first system service component in the first subsystem, configured to receive first information sent by the first application component in the first subsystem;
所述第一系统服务组件,用于将所述第一信息发送给第二子系统中的第二系统服务组件;The first system service component, configured to send the first information to a second system service component in the second subsystem;
所述第二系统服务组件,用于将所述第一信息发送给第二子系统中的第二应用组件。The second system service component is configured to send the first information to a second application component in the second subsystem.
优选地,所述第二系统服务组件还用于:接收所述第二应用组件发送的第二信息,将所述第二信息发送给所述第一系统服务组件;其中,所述第二信息为所述第一应用组件根据所述第一信息得到的;Preferably, the second system service component is further configured to: receive second information sent by the second application component, and send the second information to the first system service component; wherein the second information Obtained for the first application component according to the first information;
所述第一系统服务组件还用于:将所述第二信息发送给所述第一应用组件。The first system service component is further configured to: send the second information to the first application component.
优选地,所述第一应用组件具体用于:在以下之一或多种情况下,向 所述第一系统服务组件发送第一信息:Preferably, the first application component is specifically configured to: in one or more of the following cases, The first system service component sends the first information:
需要使用第二子系统中的图形数据;Need to use the graphic data in the second subsystem;
需要通知第二子系统中的应用组件进行处理。The application components in the second subsystem need to be notified for processing.
优选地,所述信息包括:控制信息和/或数据。Preferably, the information comprises: control information and/or data.
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者,所述第一子系统为Guest子系统,所述第二子系统为Host子系统。Preferably, the first subsystem is a Host subsystem, and the second subsystem is a Guest subsystem; or the first subsystem is a Guest subsystem, and the second subsystem is a Host subsystem.
本申请的上述实施例中,第一子系统中的第一系统服务组件接收第一子系统中的第一应用组件发送的信息;第一系统服务组件将该信息发送给第二子系统中的第二系统服务组件,第二系统服务组件将该信息发送给第二子系统中的第二应用组件,从而实现了不同子系统中的应用组件之间的信息交互。In the above embodiment of the present application, the first system service component in the first subsystem receives the information sent by the first application component in the first subsystem; the first system service component sends the information to the second subsystem. The second system service component, the second system service component sends the information to the second application component in the second subsystem, thereby implementing information interaction between the application components in the different subsystems.
附图说明DRAWINGS
图1为本申请实施例所适用的操作系统框架示意图;1 is a schematic diagram of an operating system framework applicable to an embodiment of the present application;
图2为本申请实施例提供的跨系统的信息交互架构示意图;2 is a schematic diagram of an information interaction architecture of a cross-system according to an embodiment of the present application;
图3为本申请实施例提供的图形合成层面的双系统兼容架构示意图;FIG. 3 is a schematic diagram of a dual-system compatible architecture of a graphics synthesis layer according to an embodiment of the present application; FIG.
图4为本申请实施例提供的视频回放应用程序的用户界面示意图;4 is a schematic diagram of a user interface of a video playback application provided by an embodiment of the present application;
图5为本申请实施例提供的图形合成系统的结构示意图;FIG. 5 is a schematic structural diagram of a graphics synthesis system according to an embodiment of the present disclosure;
图6为本申请实施例提供的信息交互系统的结构示意图。FIG. 6 is a schematic structural diagram of an information interaction system according to an embodiment of the present application.
具体实施方式detailed description
为了在第一操作系统框架内更好地兼容第二操作系统,为用户提供更加自然平滑的体验过渡,本申请实施例提供了在第一操作系统框架内,在图形处理层面上的融合和统一,为用户提供无缝的双系统用户体验。本申请实施例可适用于针对需要跨操作系统运行的应用程序,也可适用于基于不同操作系统的应用程序之间需要传递图形数据或控制信息的场景,对此本申请实施例不作限制。In order to provide a more natural and smooth experience transition for the user in the framework of the first operating system, the embodiment of the present application provides integration and unification at the graphics processing level in the framework of the first operating system. To provide users with a seamless dual system user experience. The embodiment of the present application can be applied to an application that needs to run across operating systems, and is also applicable to a scenario in which graphics data or control information needs to be transmitted between applications based on different operating systems.
其中,第一操作系统和第二操作系统为不同的操作系统。具体地,第一操作系统可以是云操作系统,第二操作系统可以是传统的操作系统。更 具体地,第一操作系统可以是YunOS,第二操作系统可以是Android。The first operating system and the second operating system are different operating systems. Specifically, the first operating system may be a cloud operating system, and the second operating system may be a traditional operating system. More Specifically, the first operating system may be YunOS, and the second operating system may be Android.
下面结合附图对本申请实施例进行详细描述。The embodiments of the present application are described in detail below with reference to the accompanying drawings.
参见图1,为本申请实施例适用的操作系统框架示意图。以YunOS作为第一操作系统,Android为第二操作系统为例,图1示出了在YunOS框架内的双系统兼容架构。FIG. 1 is a schematic diagram of an operating system framework applicable to an embodiment of the present application. Taking YunOS as the first operating system and Android as the second operating system as an example, FIG. 1 shows a dual system compatible architecture within the YunOS framework.
如图1所示,系统框架中包括Host与Guest两个子系统,其中,YunOS即为Host子系统,Android即为Guest子系统,两个子系统通过container(容器)技术隔离。该框架内的硬件抽象层(Hardware Abstraction Layer,HAL)提供了图形显示等方面的接口和驱动服务。As shown in Figure 1, the system framework includes two subsystems: Host and Guest. Among them, YunOS is the Host subsystem, Android is the Guest subsystem, and the two subsystems are isolated by the container technology. The Hardware Abstraction Layer (HAL) within the framework provides interfaces and driver services for graphical display and other aspects.
Host子系统中的Glibc,即C运行库,是linux中最底层的API(Application Programming Interface,应用程序编程接口)。Guest子系统中的Bioric,是Android的linux内核库。Glibc in the Host subsystem, the C runtime library, is the lowest API (Application Programming Interface) in Linux. Bioric in the Guest subsystem is the Linux kernel library for Android.
Libhybris为兼容层,能够使基于Glibc的操作系统重用现有的Android的驱动(driver)服务;在图形(Graphics)处理方面,libhybris还实现了EGL platform。EGL platform这是一套后台(backend)无关的遵循EGL接口的图形平台,以及多个后台(backend)实现。Libhybris is a compatibility layer that enables Glibc-based operating systems to reuse existing Android driver services; in graphics processing, libhybris also implements the EGL platform. EGL platform This is a backend-independent graphical platform that follows the EGL interface and multiple backend implementations.
Gralloc模块位于硬件抽象层中,封装了对帧缓冲区的所有访问操作。The Gralloc module is located in the hardware abstraction layer and encapsulates all access operations to the framebuffer.
Guest子系统中的InputManageerService(输入管理模块)主要用于对输入事件进行监控和管理。The InputManageerService (input management module) in the Guest subsystem is mainly used to monitor and manage input events.
SurfaceFlinger是Guest子系统的图形合成器;Wayland Compositor(或Weston)是Host子系统的图形合成器,其中,Weston是Wayland Compositor的参考实现。SurfaceFlinger is the graphics synthesizer of the Guest subsystem; Wayland Compositor (or Weston) is the graphics synthesizer of the Host subsystem, where Weston is the reference implementation of the Wayland Compositor.
本申请实施例中,Guest子系统的图形合成器与Host子系统的图形合成器之间可采用Wayland协议进行通信。Wayland协议定义了如何与内核通信,如何与客户端(client)通信;Wayland复用了所有Linux内核的图形、输入输出技术。In the embodiment of the present application, the Wayland protocol can be used for communication between the graphics synthesizer of the Guest subsystem and the graphics synthesizer of the Host subsystem. The Wayland protocol defines how to communicate with the kernel and how to communicate with the client; Wayland reuses the graphics, input and output technologies of all Linux kernels.
本申请实施例中Andriod的图形合成器与YunOS的图形合成器之间可采用Wayland协议进行通信,使得Android中的图形系统架空,并桥接到YunOS的图形系统,实现了双系统的统一合成渲染,从而提供了较好地双系统兼容性,又实现了双系统的无缝用户体验。 In the embodiment of the present application, the Wayland protocol can be communicated between the graphic synthesizer of Andriod and the graphic synthesizer of YunOS, so that the graphics system in Android is overhead and bridged to the graphic system of YunOS, and the unified synthesis rendering of the dual system is realized. This provides better dual system compatibility and a seamless user experience for dual systems.
需要说明的是,上述系统架构仅以YunOS和Andriod为例进行说明,对于其他类型的操作系统,也可基于上述原理实现双系统在图形合成层面的兼容以及有效融合。It should be noted that the above system architecture is only illustrated by YunOS and Andriod. For other types of operating systems, the compatibility and effective integration of dual systems at the graphics synthesis level can also be realized based on the above principles.
基于上述框架,本申请实施例提供了在以下两个层面上的双系统兼容:Based on the above framework, the embodiments of the present application provide dual system compatibility on the following two levels:
(一)信息交互层面的双系统兼容方案(1) Dual system compatibility scheme at the information interaction level
(二)图形合成层面的双系统兼容方案(2) Dual system compatibility scheme at the graphics synthesis level
在实际应用场景中,上述两种双系统兼容方案可能独立使用,也可能结合使用。In the actual application scenario, the above two dual system compatibility schemes may be used independently or in combination.
下面以第一子系统为Host子系统、第二子系统为Guest子系统为例,分别对这两种双系统兼容方案进行描述。其中,Host子系统为YunOS,Guest子系统为Android。The following takes the first subsystem as the Host subsystem and the second subsystem as the Guest subsystem as an example to describe the two dual system compatibility schemes. Among them, the Host subsystem is YunOS, and the Guest subsystem is Android.
(一)信息交互层面的双系统兼容方案(1) Dual system compatibility scheme at the information interaction level
为了实现交互和控制上的统一,本申请实施例建立了从第一子系统到第二子系统的跨操作系统环境的数据和/或控制信息的连接通路,即,提供了一种IPC(Inter-process communication,进程间通信)机制,以实现不同子系统的应用组件(或进程)之间的信息交互。In order to achieve uniformity in interaction and control, the embodiment of the present application establishes a connection path for data and/or control information of the cross-operating system environment from the first subsystem to the second subsystem, that is, provides an IPC (Inter -process communication, mechanism to implement information exchange between application components (or processes) of different subsystems.
参见图2,为本申请实施例提供的信息交互架构。Referring to FIG. 2, an information interaction architecture provided by an embodiment of the present application is provided.
如图2所示,在Host子系统中建立有Bridge Proxy,在Guest子系统中建立有Bridge Service。其中,Bridge Proxy和Bridge Service均为系统服务组件。As shown in Figure 2, a Bridge Proxy is established in the Host subsystem, and a Bridge Service is established in the Guest subsystem. Among them, Bridge Proxy and Bridge Service are system service components.
通常,Android系统采用Binder机制作为IPC(Inter-Process Communication,进程间通信)机制,YunOS采用socket或dbus作为IPC通信机制,为了使信息在不同操作系统的应用组件(也即应用程序进程)间进行交互,本申请实施例采用Bridage Proxy作为系统服务对于这两个系统之间的IPC机制进行转换。Generally, the Android system uses the Binder mechanism as the IPC (Inter-Process Communication) mechanism, and the YunOS uses the socket or dbus as the IPC communication mechanism, in order to make information between application components (that is, application processes) of different operating systems. In the embodiment of the present application, the Bridage Proxy is used as a system service to convert the IPC mechanism between the two systems.
应用组件是应用程序(Application)的组件之一,在Android系统中称为Activity,在YunOS中称为Page,是实现应用程序的主体。进程是运行态的应用程序或应用组件。An application component is one of the components of an application. It is called an Activity in the Android system and a Page in the YunOS. It is the main body of the application. A process is an application or application component that is running.
Bridge Service通常为常驻服务,Bridge Proxy可在需要时创建或启用。例如,在一些实施例中,当在Host子系统中有应用组件(进程)被创建时, Bridge Proxy被创建或启用,从而通过该Bridge Proxy实现在不同子系统中的信息交互。进一步地,当在Host子进程中有应用组件(进程)被销毁时,该Bridge Proxy被销毁或关闭。其中,本申请实施例中所描述的“应用组件(进程)”表示应用组件和进程为可替代关系,这里的进程可理解为运行态的应用组件。The Bridge Service is usually a resident service and the Bridge Proxy can be created or enabled when needed. For example, in some embodiments, when an application component (process) is created in the Host subsystem, Bridge Proxy is created or enabled to enable information interaction between different subsystems through the Bridge Proxy. Further, when an application component (process) is destroyed in the Host subprocess, the Bridge Proxy is destroyed or closed. The application component (process) described in the embodiment of the present application indicates that the application component and the process are in an alternative relationship, and the process herein can be understood as an application component in an operational state.
在一些实施例中,Host子系统中的应用组件(进程)可将信息,比如数据和/或控制信息,发送给Bridge Proxy,Bridge Proxy将Bridge Proxy发送来的数据和/或控制信息发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Guest子系统中的应用组件(进程)。In some embodiments, application components (processes) in the Host subsystem can send information, such as data and/or control information, to the Bridge Proxy, which sends the data and/or control information sent by the Bridge Proxy to Bridge. The Service, Bridge Service sends the data and/or control information to the application components (processes) in the Guest subsystem.
其中,Bridge Proxy与Bridge Service之间可基于Binder机制进行通信。Bridge Service可通过intent或socket方式与Guest子系统中的应用组件(进程)进行交互。Among them, the Bridge Proxy and the Bridge Service can communicate based on the Binder mechanism. The Bridge Service can interact with application components (processes) in the Guest subsystem through intent or socket methods.
进一步地,Guest子系统中的应用组件(进程)根据接收到的数据和/或控制信息进行处理后,可将作为处理结果的数据和/或控制信息发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Bridge Proxy,Bridge Proxy将该数据和/或控制信息发送给Host子系统中的应用组件(进程)。Further, after the application component (process) in the guest subsystem processes according to the received data and/or control information, the data and/or control information as a result of the processing may be sent to the Bridge Service, and the Bridge Service compares the data and / or control information is sent to the Bridge Proxy, the Bridge Proxy sends the data and / or control information to the application components (processes) in the Host subsystem.
在另一些实施例中,Guest子系统中的应用组件(进程)可将信息,比如数据和/或控制信息,发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Bridge Proxy,Bridge Proxy将该数据和/或控制信息发送给Host子系统中的应用组件(进程)。In other embodiments, application components (processes) in the Guest subsystem may send information, such as data and/or control information, to the Bridge Service, which sends the data and/or control information to the Bridge Proxy, Bridge. The Proxy sends the data and/or control information to the application components (processes) in the Host subsystem.
进一步地,Host子系统中的应用组件(进程)根据接收到的数据和/或控制信息进行处理后,可将作为处理结果的数据和/或控制信息发送给Bridge Proxy,Bridge Proxy将该数据和/或控制信息发送给Bridge Service,Bridge Service将该数据和/或控制信息发送给Guest子系统中的应用组件(进程)。Further, after the application component (process) in the Host subsystem processes the received data and/or control information, the data and/or control information as a result of the processing may be sent to the Bridge Proxy, and the Bridge Proxy may / or control information is sent to the Bridge Service, the Bridge Service sends the data and / or control information to the application components (processes) in the Guest subsystem.
上述IPC架构中,不同子系统中的进程之间所交互的信息可以是数据也可以是控制信息,所述控制信息可包括事件,或者请求信息,或者窗口属性信息等。In the above IPC architecture, the information exchanged between processes in different subsystems may be data or control information, and the control information may include an event, or request information, or window attribute information.
在具体实施时,基于上述IPC架构,当Host子系统中的应用组件(进 程)需要使用Guest子系统中的图形对象的数据,或者需要通知Guest子系统中的应用组件(进程)进行某种或某些操作时,可通过Bridge Proxy将控制信息发送给Bridge Service,由Bridge Service发送给Guest子系统中的应用组件(进程),由该应用组件(进程)根据该控制信息进行相应处理,并将处理结果通过Bridge Service发送给Bridge Proxy,由Bridge Proxy发送给Host子系统中的应用组件(进程)。In the specific implementation, based on the above IPC architecture, when the application component in the Host subsystem If you need to use the data of the graphic object in the Guest subsystem, or you need to notify the application component (process) in the Guest subsystem to perform some or some operations, you can send the control information to the Bridge Service through Bridge Proxy, by Bridge. The service is sent to the application component (process) in the guest subsystem, and the application component (process) performs corresponding processing according to the control information, and sends the processing result to the Bridge Proxy through the Bridge Service, and is sent by the Bridge Proxy to the Host subsystem. Application component (process).
上述信息交互方法可适用于一个应用程序的部分功能需要基于Host子系统实现,部分功能需要基于Guest子系统实现的场景。例如,以视频回放应用程序(video playback app)为例,当用户通过video playback app用户界面提交播放影片的请求后,该事件被video playback app在Host子系统中的进程获取到,由于受到视频内容提供商加密及版权限制,只提供了Android平台的SDK(Software Development Kit,软件开发工具包),因此视频内容相关的逻辑在Android环境中开发,即,该事件所请求的对象是Guse子系统中的图形数据,因此,video playback app在Host子系统中的进程将该事件发送给Bridge Proxy,Bridge Proxy将该事件发送给Bridge Service,由Bridge Service发送给video playback app在Guest子系统中的进程,从而使video playback app在Guest子系统中的进程将所请求的视频数据发送给Host子系统的图形合成器进行处理。The above information interaction method can be applied to some functions of an application that need to be implemented based on the Host subsystem, and some functions need to be based on the scenario implemented by the Guest subsystem. For example, taking a video playback app as an example, when a user submits a request to play a movie through the video playback app user interface, the event is acquired by the video playback app in the process of the Host subsystem due to the video content. Provider encryption and copyright restrictions, only provide the SDK (Software Development Kit) of the Android platform, so the logic related to video content is developed in the Android environment, that is, the object requested by the event is in the Guse subsystem. Graphical data, therefore, the process of the video playback app in the Host subsystem sends the event to the Bridge Proxy, which sends the event to the Bridge Service, which is sent by the Bridge Service to the video playback app in the Guest subsystem. Thus, the process of the video playback app in the Guest subsystem sends the requested video data to the graphics synthesizer of the Host subsystem for processing.
可以看出,通过本申请实施例提供的IPC架构实现了跨操作系统的信息交互,使得不同操作系统之间在控制层面得到融合,从而使得应用级融合的交互体验变得无缝。It can be seen that the IPC architecture provided by the embodiment of the present application implements information exchange across operating systems, so that different operating systems are merged at the control level, thereby making the application-level fusion interactive experience seamless.
(二)图形合成层面的双系统兼容方案(2) Dual system compatibility scheme at the graphics synthesis level
参见图3,为本申请实施例提供的图形合成层面的双系统兼容架构示意图。FIG. 3 is a schematic diagram of a dual-system compatible architecture of a graphics synthesis layer according to an embodiment of the present application.
如图3所示,Guest子系统的图形合成器SurfaceFlinger中创建有layer,图中仅示例性地示出了两个layer,分别为layer1和layer2。As shown in FIG. 3, a layer is created in the graphics synthesizer SurfaceFlinger of the Guest subsystem, and only two layers are exemplarily shown in the figure, namely layer1 and layer2.
在Host子系统中,创建有p_surface1和p_surface2,其中,p_surface1与Guest子系统中的layer1对应,并与Host子系统的图形合成器中的surface1对应(未在图中示出),用于连接layer1和Host子系统的图形合成器Weston,更具体地是用于连接layer1和Weston中的surface1; p_surface2与layer2对应,并与Host子系统的图形合成器中的surface2对应(未在图中示出),用于连接layer2和Host子系统的图形合成器Weston,更具体地是用于连接layer2和Weston中的surface2。In the Host subsystem, p_surface1 and p_surface2 are created, where p_surface1 corresponds to layer1 in the Guest subsystem and corresponds to surface1 in the graphics synthesizer of the Host subsystem (not shown in the figure) for connecting layer1 And the graphics synthesizer Weston of the Host subsystem, more specifically for connecting surface1 in layer1 and Weston; P_surface2 corresponds to layer2 and corresponds to surface2 in the graphics synthesizer of the Host subsystem (not shown in the figure), the graphics synthesizer Weston for connecting layer2 and the Host subsystem, more specifically for connecting layer2 and Surface2 in Weston.
p_surface可以是控件,用于连接Guest子系统图形合成器中的layer与Host子系统的图形合成器,作为Guest子系统中的layer的代理(proxy),将Guest子系统的图形数据传递给Host子系统的图形合成器。具体地,layer1可将图形数据发送给p_surface1,p_surface1可将layer1发送来的图形数据发送给Host子系统的图形合成器Weston;layer2可将图形数据发送给p_surface1,p_surface2可将layer2发送来的图形数据发送给Host子系统的图形合成器Weston。P_surface can be a control, which is used to connect the layer synthesizer of the layer and Host subsystem in the guest subsystem graphics synthesizer, as a proxy of the layer in the guest subsystem, and pass the graphics data of the guest subsystem to the host sub The graphics synthesizer of the system. Specifically, layer1 can send graphics data to p_surface1, p_surface1 can send graphics data sent by layer1 to the graphics synthesizer Weston of Host subsystem; layer2 can send graphics data to p_surface1, and p_surface2 can send graphics data sent by layer2 The graphics synthesizer Weston sent to the Host subsystem.
进一步地,在Host子系统中,应用组件(进程)还可以在Host子系统中创建local surface,通过local surface将Host子系统中的图形数据发送给Host子系统的图形合成器Weston。其中,local surface是Host子系统中的surface。这样,Host子系统的图形合成器既可以对Host子系统的图形数据进行合成处理,又可以对Guest子系统的图形数据进行合成处理,实现了跨操作系统的图形合成。Further, in the Host subsystem, the application component (process) can also create a local surface in the Host subsystem, and send the graphic data in the Host subsystem to the graphic synthesizer Weston of the Host subsystem through the local surface. Where local surface is the surface in the Host subsystem. In this way, the graphics synthesizer of the Host subsystem can synthesize the graphics data of the Host subsystem, and synthesize the graphics data of the Guest subsystem, and realize the graphics synthesis across operating systems.
进一步地,在Guest子系统中,应用组件(进程)还可以创建layer3。layer3可将Guest子系统中的图形数据发送给Host子系统中的图形合成器Weston,由Weston对图形数据进行合成处理。Further, in the Guest subsystem, the application component (process) can also create layer3. Layer3 can send the graphics data in the Guest subsystem to the graphics synthesizer Weston in the Host subsystem, and the graphics data is synthesized by Weston.
基于Android框架特点,大部分的图形数据是以layer的形式提交给Surfaceflinger进行合成的,因此,本申请实施例以layer content作为两个子系统融合的基本单位,即,通过p_surface发送的图形数据可以是layer content,更具体地,可以是layer所对应的GraphicBuffer队列中存储的图形数据。layer是应用程序进程创建的图形对象,一般地,一个layer代表一个图层,多个layer可按照Z-order顺序叠加以形成用户界面。一个layer可对应一个GraphicBuffer队列,GraphicBuffer队列中包含多个GraphicBuffer。本实施例中,GraphicBuffer是应用组件在Guest子系统中的进程创建的,其中存储有图形数据,比如存储有应用组件在Guest子系统中的进程所渲染的图形数据。Based on the characteristics of the Android framework, most of the graphics data is submitted to the Surfaceflinger for composition in the form of a layer. Therefore, the embodiment of the present application uses layer content as the basic unit of the integration of the two subsystems, that is, the graphic data sent through the p_surface may be The layer content, more specifically, may be the graphics data stored in the GraphicBuffer queue corresponding to the layer. A layer is a graphical object created by an application process. Generally, a layer represents a layer, and multiple layers can be superimposed in a Z-order order to form a user interface. A layer can correspond to a GraphicBuffer queue, and a GraphicBuffer queue contains multiple GraphicBuffers. In this embodiment, the GraphicBuffer is created by the application component in the process of the Guest subsystem, where the graphic data is stored, such as the graphic data stored by the process of the application component in the Guest subsystem.
当然,图3的架构是以YunOS和Android为例描述的,且图形数据以 layer为单位提交给Surfaceflinger进行合成,在其他情况下,连接Guest子系统中的图形对象和Host子系统图形合成器的控件,也可以以其他类型的图形对象为单位,将该图形对象对应的图形数据发送给Host子系统图形合成器进行合成。Of course, the architecture of Figure 3 is described by YunOS and Android, and the graphics data is The layer is submitted to the Surfaceflinger for synthesis. In other cases, the graphics object in the Guest subsystem and the control of the Host subsystem graphics synthesizer can be connected to other types of graphic objects. The data is sent to the Host Subsystem Graphics Synthesizer for synthesis.
进一步地,p_surface还可以接收Host子系统中的应用组件发送的图形对象设置信息,并将该图形对象设置信息发送给Host子系统的图形合成器Weston。Weston可根据该图形对象设置信息进行图形对象设置或更新。具体地,该图形对象可以是应用程序窗口,该图形对象设置信息可以是窗口属性信息,Weston可根据该窗口属性信息对相应窗口进行更新,比如改变窗口透明度等。Further, the p_surface may further receive graphic object setting information sent by the application component in the Host subsystem, and send the graphic object setting information to the graphic synthesizer Weston of the Host subsystem. Weston can set or update graphic objects based on the graphic object setting information. Specifically, the graphic object may be an application window, and the graphic object setting information may be window attribute information, and Weston may update the corresponding window according to the window attribute information, such as changing a window transparency.
具体地,p_surface可提供接口给Host子系统中的应用组件进行调用,当应用组件调用其中的图形对象处理相关的接口时,执行该接口对应的操作以实现图形对象设置,比如窗口属性更新。Specifically, the p_surface may provide an interface for calling the application component in the Host subsystem. When the application component calls the graphic object to process the related interface, the corresponding operation of the interface is performed to implement the graphic object setting, such as window property update.
作为一个例子,Host子系统中的应用组件接收到视频窗口属性更新事件后(该事件可由用户通过调整视频窗口大小或透明度等操作触发),该应用组件将更新的窗口属性信息发送给与该视频窗口的surface对应的p_surface1,由p_surface1将窗口属性信息发送给Weston,Weston根据该窗口属性信息重绘窗口。As an example, after the application component in the Host subsystem receives the video window attribute update event (which can be triggered by the user by adjusting the video window size or transparency, the application component sends the updated window attribute information to the video) The surface of the window corresponds to p_surface1, and the window attribute information is sent to Weston by p_surface1, and Weston redraws the window according to the window attribute information.
p_surface的生命周期可由Host子系统中的应用组件进行管理。The lifecycle of p_surface can be managed by application components in the Host subsystem.
具体地,以p_surface1为例,Host子系统中的应用组件可根据显示Guest子系统获得的图形数据的请求,创建p_surface1;当Guest子系统中与p_surface1对应的图形对象被销毁时,则销毁p_surface1。Specifically, taking p_surface1 as an example, the application component in the Host subsystem may create p_surface1 according to the request for displaying the graphics data obtained by the Guest subsystem; when the graphic object corresponding to p_surface1 in the Guest subsystem is destroyed, p_surface1 is destroyed.
在另外的实施例中,当Host子系统中的应用组件接收到结束使用Guest子系统中的图形数据的指示时,则销毁与Guest子系统中用于提供该图形数据的图形对象所对应的p_surface1。In a further embodiment, when the application component in the Host subsystem receives an indication to end the use of the graphics data in the Guest subsystem, the p_surface1 corresponding to the graphics object in the Guest subsystem for providing the graphics data is destroyed. .
优选地,p_surface可基于系统提供的类来创建,这样可以继承父类(即系统提供的类)的功能特性。进一步地,考虑到不同的应用场景下可能有不同的需求,因此可在基于系统提供的类创建p_surface时,结合当前的应用场景对一些参数或属性进行重新设置。Preferably, p_surface can be created based on the classes provided by the system, such that the functional properties of the parent class (ie, the classes provided by the system) can be inherited. Further, considering different application scenarios, there may be different requirements. Therefore, when a p_surface is created based on a system-provided class, some parameters or attributes are reset in combination with the current application scenario.
例如,video playback应用程序可在创建p_surface时,基于系统提供 的类进行创建,并设置为h5surface的sub-surface(特殊surface),控制相应宽高、位置等。For example, the video playback application can be based on the system when creating p_surface The class is created and set to the sub-surface of the h5surface, controlling the width, position, and so on.
再例如,在另外一些实施例中,可将多个p_surface发送的图形数据发送给local surface(即Host子系统中的surface),以得到合成的图形数据,由local surface发送给Weston,从而最终提交一块surface到weston。For example, in other embodiments, graphics data sent by multiple p_surfaces may be sent to a local surface (ie, a surface in the Host subsystem) to obtain synthesized graphics data, which is sent to Weston by the local surface, and finally submitted. A surface to the weston.
上述图形合成方法可适用于一个应用程序的部分功能需要基于Host子系统实现,部分功能需要基于Guest子系统实现的场景。以视频回放应用程序(video playback app)为例来说,当video playback app在Host子系统中的进程获取到视频播放事件后(该事件可由用户通过用户界面提交视频播放请求触发),创建p_surface1,p_surface1与Weston中的视频窗口的surface对应;进一步地,video playback app在Host子系统中的进程将该事件发送给video playback app在Guest子系统中的进程(跨操作系统进程间的信息交互可参见前述实施例),video playback app在Guest子系统中的进程根据该事件从网络侧获取视频数据,视频解码后的内容通过MediaCodec(媒体解码器)传递到VideoView控件,然后提交到surfaceflinger,并通过p_surface1将图形数据发送给weston进行合成,从而在视频窗口中显示。The above graphic synthesis method can be applied to some applications, and some functions need to be implemented based on the Host subsystem, and some functions need to be implemented based on the Guest subsystem. Taking the video playback app as an example, when the video playback app acquires a video play event in the process in the Host subsystem (this event can be triggered by the user submitting a video play request through the user interface), create p_surface1, P_surface1 corresponds to the surface of the video window in Weston; further, the process of the video playback app in the Host subsystem sends the event to the video playback app in the guest subsystem (see the information interaction between operating system processes) In the foregoing embodiment, the process of the video playback app in the guest subsystem acquires video data from the network side according to the event, and the video decoded content is transmitted to the VideoView control through the MediaCodec (media decoder), and then submitted to the surfaceflinger, and passed through the p_surface1. The graphic data is sent to the weston for synthesis to be displayed in the video window.
当视频播放完成后,video playback app在Guest子系统中的进程将该事件发送给video playback app在Host子系统中的进程,video playback app在Host子系统中的进程根据该事件销毁p_surface1。When the video is played, the process in the guest subsystem of the video playback app sends the event to the process in the video subsystem, and the process in the video subsystem app destroys p_surface1 according to the event.
当用户再次请求播放视频时,可按照上述流程执行,以再次创建p_surface,并通过p_surface将图形数据从Guest子系统传输给Host子系统中的图形合成器。When the user requests to play the video again, it can be executed according to the above procedure to create p_surface again, and transfer the graphic data from the Guest subsystem to the graphics synthesizer in the Host subsystem through p_surface.
通过本申请上述实施例对于图形合成层面的双系统兼容方案可以看出,Host子系统中的p_surface接收Guest子系统图形合成器中与该p_surface对应的layer发送的图形数据,该p_surface将接收到的图形数据发送给Host子系统图形合成器,可以看出,Host子系统中,对应于Guest子系统图形合成器中的layer存在对应的p_surface,该p_surface提供了两个子系统间图形数据的传输功能,从而在图形处理层面实现了不同操作系统间的兼容。 It can be seen that the p_surface in the Host subsystem receives the graphics data sent by the layer corresponding to the p_surface in the guest subsystem graphics synthesizer by the above-mentioned embodiment of the present application, and the p_surface will receive the received data. The graphics data is sent to the host subsystem graphics synthesizer. It can be seen that in the Host subsystem, there is a corresponding p_surface corresponding to the layer in the guest subsystem graphics synthesizer, and the p_surface provides the transmission function of the graphics data between the two subsystems. This achieves compatibility between different operating systems at the graphics processing level.
为了更清楚地理解本申请的上述实施例,下面以视频回放应用程序(video playback app)为例,结合具体应用场景描述本申请实施例的实现过程。For a more clear understanding of the above-mentioned embodiments of the present application, the implementation process of the embodiment of the present application is described below by taking a video playback application as an example.
Tom的手机采用YunOS系统,其系统架构如图1所示。该手机上安装有video playback app,该应用程序中视频数据下载和解码相关功能基于Android实现,播放控制相关功能基于YunOS实现。Tom's mobile phone uses the YunOS system, and its system architecture is shown in Figure 1. The video playback app is installed on the mobile phone. The video data downloading and decoding related functions in the application are based on Android, and the playback control related functions are implemented based on YunOS.
Tom使用video playback app观看电影影片的操作以及手机响应Tom的操作行为的过程如下所述。The process by which Tom uses the video playback app to watch a movie movie and the mobile phone's response to Tom's operational behavior are described below.
Tom的操作行为1:Tom's operational behavior 1:
Tom点击手机屏幕上操作系统主界面中显示的video playback app图标,video playback app被启动,video playback app的主界面显示在手机屏幕上,该主界面如图4所示,其中主要包括视频窗口100、播放控制条200、窗口控制条300。播放控制条200上设置有播放控制键,具体可包括暂停键201、停止键202、播放键203以及进程拖动条204。窗口控制条300上设置有窗口最大化键301、窗口还原键302。video playback app的主界面中还包括退出键400。Tom clicks the video playback app icon displayed on the main interface of the operating system on the mobile phone screen, the video playback app is activated, and the main interface of the video playback app is displayed on the screen of the mobile phone. The main interface is shown in FIG. 4, which mainly includes the video window 100. The play control bar 200 and the window control bar 300 are displayed. The play control bar 200 is provided with a play control button, and specifically includes a pause button 201, a stop button 202, a play button 203, and a process drag bar 204. A window maximizer key 301 and a window restore key 302 are disposed on the window control strip 300. The main interface of the video playback app also includes an exit key 400.
基于Tom的上述操作行为1,点击video playback app图标的事件触发Host子系统开启video playback app,在Host子系统和Guest子系统中分别创建video playback app进程。在Host子系统中,创建该应用程序对应的local surface,通过weston绘制该应用程序的主界面并显示。此外,在Host子系统中,针对video playback app还创建Bridge Proxy,该Bridge Proxy能够与Guest子系统中的video playback app进程所对应的Bridge Service进行连接,以进行控制信息和/或数据的交互。Based on the above operation behavior of Tom 1, click the event of the video playback app icon to trigger the Host subsystem to open the video playback app, and create a video playback app process in the Host subsystem and the Guest subsystem respectively. In the Host subsystem, create the local surface corresponding to the application, draw the main interface of the application through the weston and display it. In addition, in the Host subsystem, a Bridge Proxy is also created for the video playback app, and the Bridge Proxy can be connected to the Bridge Service corresponding to the video playback app process in the Guest subsystem for control information and/or data interaction.
Tom的操作行为2:Tom's operational behavior 2:
Tom选取一影片后提交收看该电影的请求,此后,该影片在视频窗口100中播放。Tom selects a movie and submits a request to view the movie, after which the movie is played in the video window 100.
基于Tom的上述操作行为2,Host子系统中的video playback app进程创建p_surface;Guest子系统中的video playback app进程创建buffer队列,从网络侧获取该影片的视频数据,对获取到的视频数据进行解码,将解码后的视频数据存入buffer队列。 Based on Tom's above operation behavior 2, the video playback app process in the Host subsystem creates a p_surface; the video playback app process in the Guest subsystem creates a buffer queue, obtains video data of the movie from the network side, and performs the obtained video data. Decoding, the decoded video data is stored in the buffer queue.
Guest子系统中,图形合成器SurfaceFlinger中的layer将buffer队列中的视频数据发送给p_surface;在Host子系统中,p_surface将该视频数据发送给图形合成器weston,weston将该视频数据进行合成,并通过显示驱动显示于视频窗口100。In the Guest subsystem, the layer in the graphics synthesizer SurfaceFlinger sends the video data in the buffer queue to the p_surface; in the Host subsystem, the p_surface sends the video data to the graphics synthesizer weston, which combines the video data, and Displayed in the video window 100 by the display driver.
Tom的操作行为3:Tom's operational behavior 3:
Tom点击窗口控制条300上的窗口最大化键301,视频窗口100被最大化显示。Tom clicks on the window maximize button 301 on the window control bar 300 and the video window 100 is maximized.
基于Tom的上述操作行为3,在Host子系统中,video playback app进程将最大化视频窗口100的相关信息(比如最大化窗口的指示信息和/或窗口属性信息等)发送给p_surface,p_surface将该信息发送给weston,weston根据该信息重新绘制视频窗口100,以实现最大化显示。Based on Tom's above operational behavior 3, in the Host subsystem, the video playback app process sends the relevant information of the maximized video window 100 (such as the indication information of the maximized window and/or the window attribute information, etc.) to the p_surface, which p_surface will The information is sent to weston, which repaints the video window 100 based on this information to maximize display.
Tom的操作行为4:Tom's operational behavior 4:
Tom点击播放控制条200中的暂停键201,视频窗口100中正在播放的影片被暂停播放。Tom clicks the pause button 201 in the playback control bar 200, and the movie being played in the video window 100 is paused.
基于Tom的上述操作行为4,Host子系统中的video playback app进程将点击暂停键201所产生的事件发送给Bridge Proxy,Bridge Proxy将该事件发送给Guest子系统中的video playback app进程对应的Bridge Service,Bridge Service将该事件发送给Guest子系统中的video playback app进程,video playback app进程响应该事件,不再通过layer发送视频数据给p_surface。Based on the above operation behavior of Tom 4, the video playback app process in the Host subsystem sends an event generated by clicking the pause button 201 to the Bridge Proxy, and the Bridge Proxy sends the event to the Bridge corresponding to the video playback app process in the Guest subsystem. Service, Bridge Service sends the event to the video playback app process in the Guest subsystem. The video playback app process responds to the event and no longer sends video data to the p_surface through the layer.
Tom的操作行为5:Tom's operational behavior 5:
Tom点击播放控制条200中的播放键203,视频窗口100中的视频数据恢复播放。Tom clicks the play button 203 in the play control bar 200, and the video data in the video window 100 resumes playing.
基于Tom的上述操作行为5,Host子系统中的video playback app进程将点击播放键203所产生的事件发送给Bridge Proxy,Bridge Proxy将该事件发送给Guest子系统中的video playback app进程对应的Bridge Service,Bridge Service将该事件发送给Guest子系统中的video playback app进程,video playback app进程响应该事件,继续通过layer发送视频数据给p_surface。Based on Tom's above operation behavior 5, the video playback app process in the Host subsystem sends an event generated by clicking the play button 203 to the Bridge Proxy, and the Bridge Proxy sends the event to the Bridge corresponding to the video playback app process in the Guest subsystem. Service, Bridge Service sends the event to the video playback app process in the Guest subsystem. The video playback app process responds to the event and continues to send video data to the p_surface through the layer.
当影片播放完毕后,视频窗口100关闭。 When the movie is played, the video window 100 is closed.
基于该事件,Guest子系统中的video playback app进程将该事件通过Bridge Service发送给Bridge Proxy,Bridge Proxy将该事件发送给Host子系统中的video playback app进程;Host子系统中的video playback app进程响应该事件,将视频窗口100关闭,销毁p_surface。Based on the event, the video playback app process in the Guest subsystem sends the event to the Bridge Proxy through the Bridge Service, and the Bridge Proxy sends the event to the video playback app process in the Host subsystem; the video playback app process in the Host subsystem. In response to this event, the video window 100 is closed and the p_surface is destroyed.
Tom的操作行为6:Tom's operational behavior 6:
Tom点击退出video playback app的退出键400。Tom clicks to exit the exit button 400 of the video playback app.
基于Tom的上述操作行为6,Host子系统中的video playback app进程获取到点击退出键400的事件后,销毁Bridge Proxy,关闭video playback app。Based on the above operation behavior of Tom 6, the video playback app process in the Host subsystem acquires the event of clicking the exit key 400, destroys the Bridge Proxy, and closes the video playback app.
综上所述,在将本申请实施例应用于Android和YunOS融合的场景中时,可以使Android应用透明化,Android应用可通过SDK或NDK编译出相应的APK或二进制代码,无需对Android应用做过多改进。In summary, when the embodiment of the present application is applied to a scenario in which the Android and the YunOS are integrated, the Android application can be made transparent, and the Android application can compile the corresponding APK or binary code through the SDK or the NDK without performing an Android application. Too many improvements.
另外,本申请实施例可实现跨系统融合的多样化,针对不同类型的Host SDK,比如,h5、qt、domoless、native等,可以自定义输入接入方法。In addition, the embodiments of the present application can implement diversification of cross-system integration. For different types of Host SDKs, for example, h5, qt, domoless, native, etc., the input access method can be customized.
还有,本申请实施例提供了应用级内容的融合,可在一个窗口内展现YunOS和Android的应用程序进程处理的内容,将两种不同操作系统有机地融合为一体,统一的交互体验,无需切换窗口来统一管理所有的内容。In addition, the embodiment of the present application provides a fusion of application-level content, which can display the content processed by the application process of YunOS and Android in one window, and organically integrate two different operating systems into one, and a unified interactive experience does not need to be performed. Switch windows to manage all content in a unified manner.
基于相同的技术构思,本申请实施例提供了一种图形合成系统,可以实现前述实施例描述的图形合成流程。Based on the same technical concept, the embodiment of the present application provides a graphics synthesis system, which can implement the graphics synthesis process described in the foregoing embodiment.
参见图5,为本申请实施例提供的图形合成系统的结构示意图,该系统可包括:第一子系统图形合成器51、第二子系统图形合成器52,以及第一子系统中的第一控件53;5 is a schematic structural diagram of a graphics synthesis system according to an embodiment of the present application. The system may include: a first subsystem graphics synthesizer 51, a second subsystem graphics synthesizer 52, and a first one of the first subsystems. Control 53;
第一子系统中的第一控件53,用于接收第二子系统图形合成器52中与所述第一控件对应的图形对象发送的图形数据,并将所述图形数据发送给第一子系统图形合成器51。a first control 53 in the first subsystem, configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphic synthesizer 52, and send the graphic data to the first subsystem Graphic synthesizer 51.
进一步地,第一子系统图形合成器51还用于:接收第一子系统中的图形对象发送的图形数据。Further, the first subsystem graphics synthesizer 51 is further configured to: receive graphics data sent by the graphic object in the first subsystem.
进一步地,第一子系统图形合成器51还用于:对第一控件53发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。 Further, the first subsystem graphics synthesizer 51 is further configured to: synthesize the graphics data sent by the first control 53 and the graphics data sent by the graphics object in the first subsystem.
优选地,第一控件为多个,所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;相应地,第一子系统图形合成器51具体用于:接收第一子系统中的图形对象发送的图形数据;其中,所述图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。Preferably, the first control is a plurality of, the plurality of first controls send the respective received graphics data to the graphic objects in the first subsystem; correspondingly, the first subsystem graphics synthesizer 51 is specifically configured to: And receiving the graphic data sent by the graphic object in the first subsystem; wherein the graphic object sends the graphic data sent by the plurality of first controls as the graphic data corresponding to the graphic object to the first subsystem graphic synthesizer.
进一步地,第一控件53还用于:接收第一子系统中的应用组件发送的图形对象设置信息;将接收到的图形对象设置信息发送给第一子系统图形合成器51。Further, the first control 53 is further configured to: receive graphic object setting information sent by the application component in the first subsystem; and send the received graphic object setting information to the first subsystem graphic synthesizer 51.
其中,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。The graphic object is an application window, and the graphic object setting information includes window attribute information.
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于创建所述第一控件。Preferably, the first subsystem further includes an application component; and the application component in the first subsystem is configured to create the first control.
其中,所述第一子系统中的应用组件具体用于:根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件53。The application component in the first subsystem is specifically configured to: create a first control corresponding to the graphic object for providing graphic data in the second subsystem according to the request for using the graphic data in the second subsystem 53.
优选地,第一子系统中还包括应用组件;所述第一子系统中的应用组件,用于销毁所述第一控件53。Preferably, the first subsystem further includes an application component; and the application component in the first subsystem is configured to destroy the first control 53.
其中,所述第一子系统中的应用组件具体用于:接收到第二子系统中与所述第一控件53对应的图形对象被销毁的信息,则销毁所述第一控件53;或者,接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件53。The application component in the first subsystem is specifically configured to: after receiving information that the graphic object corresponding to the first control 53 in the second subsystem is destroyed, destroying the first control 53; or Upon receiving an indication to end the use of the graphical data in the second subsystem, the first control 53 corresponding to the graphical object in the second subsystem for providing the graphical data is destroyed.
优选地,第一子系统中还包括第一应用组件,第二子系统中还包括第二应用组件;相应地,第一子系统中的第一应用组件,用于向第一子系统中的第一系统服务组件54发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;第一系统服务组件54具体用于,将所述控制信息发送给第二子系统中的第二系统服务组件55;第二系统服务组件55具体用于,将所述控制信息发送给第二子系统中的第二应用组件。Preferably, the first subsystem further includes a first application component, and the second subsystem further includes a second application component; correspondingly, the first application component of the first subsystem is configured to be in the first subsystem The first system service component 54 sends control information, the control information is used to indicate that the graphic data in the second subsystem is acquired; the first system service component 54 is specifically configured to send the control information to the second subsystem. The second system service component 55 is configured to send the control information to the second application component in the second subsystem.
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。Preferably, the first subsystem is a Host subsystem, and the second subsystem is a Guest subsystem.
基于相同的技术构思,本申请实施例提供了一种信息交互系统,该系 统可实现前述实施例描述的信息交互方法。Based on the same technical concept, the embodiment of the present application provides an information interaction system, and the system The information interaction method described in the foregoing embodiment can be implemented.
参见图6,为本申请实施例提供的信息交互系统架构示意图,该系统可包括:第一子系统中的第一系统服务组件61、第二子系统中的第二系统服务组件62,其中:Referring to FIG. 6 , it is a schematic diagram of an information interaction system architecture provided by an embodiment of the present application. The system may include: a first system service component 61 in the first subsystem, and a second system service component 62 in the second subsystem, where:
第一子系统中的第一系统服务组件61,用于接收第一子系统中的第一应用组件发送的第一信息,并将所述第一信息发送给第二子系统中的第二系统服务组件62;a first system service component 61 in the first subsystem, configured to receive first information sent by the first application component in the first subsystem, and send the first information to a second system in the second subsystem Service component 62;
第二系统服务组件62,用于将所述第一信息发送给第二子系统中的第二应用组件。The second system service component 62 is configured to send the first information to a second application component in the second subsystem.
优选地,所述第二系统服务组件62还用于:接收所述第二应用组件发送的第二信息,将所述第二信息发送给所述第一系统服务组件61;其中,所述第二信息为所述第一应用组件根据所述第一信息得到的。相应地,第一系统服务组件61还用于:将所述第二信息发送给所述第一应用组件。Preferably, the second system service component 62 is further configured to: receive the second information sent by the second application component, and send the second information to the first system service component 61; wherein, the The second information is obtained by the first application component according to the first information. Correspondingly, the first system service component 61 is further configured to: send the second information to the first application component.
优选地,第一应用组件具体用于:在以下之一或多种情况下,向所述第一系统服务组件61发送第一信息:Preferably, the first application component is specifically configured to: send the first information to the first system service component 61 in one or more of the following cases:
需要使用第二子系统中的图形数据;Need to use the graphic data in the second subsystem;
需要通知第二子系统中的应用组件进行处理。The application components in the second subsystem need to be notified for processing.
优选地,所述信息包括:控制信息和/或数据。Preferably, the information comprises: control information and/or data.
优选地,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者,所述第一子系统为Guest子系统,所述第二子系统为Host子系统。Preferably, the first subsystem is a Host subsystem, and the second subsystem is a Guest subsystem; or the first subsystem is a Guest subsystem, and the second subsystem is a Host subsystem.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (system), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处 理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions can also be stored at a computer or other programmable data location. The device is readable in a computer readable memory that operates in a particular manner such that instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device implemented in a flow or a flow and/or block diagram of the flowchart The function specified in the box or in multiple boxes.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。While the preferred embodiment of the present application has been described, it will be apparent that those skilled in the art can make further changes and modifications to the embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and the modifications and
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。 It will be apparent to those skilled in the art that various modifications and changes can be made in the present application without departing from the spirit and scope of the application. Thus, it is intended that the present invention cover the modifications and variations of the present invention.

Claims (38)

  1. 一种图形合成方法,其特征在于,包括:A graphic synthesis method, comprising:
    第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据;The first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer;
    所述第一控件将所述图形数据发送给第一子系统图形合成器。The first control transmits the graphics data to a first subsystem graphics synthesizer.
  2. 如权利要求1所述的方法,其特征在于,还包括:The method of claim 1 further comprising:
    第一子系统图形合成器接收第一子系统中的图形对象发送的图形数据。The first subsystem graphics synthesizer receives graphics data transmitted by the graphics object in the first subsystem.
  3. 如权利要求2所述的方法,其特征在于,还包括:The method of claim 2, further comprising:
    第一子系统图形合成器对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。The first subsystem graphics synthesizer synthesizes the graphics data sent by the first control and the graphics data sent by the graphics object in the first subsystem.
  4. 如权利要求1所述的方法,其特征在于,第一控件为多个,所述第一控件将所述图形数据发送给第一子系统图形合成器,包括:The method of claim 1, wherein the first control is a plurality, and the first control sends the graphic data to the first subsystem graphics synthesizer, including:
    所述多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;The plurality of first controls send the respective received graphic data to the graphic objects in the first subsystem;
    所述第一子系统中的图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。The graphic object in the first subsystem sends the graphic data sent by the plurality of first controls to the first subsystem graphic synthesizer as the graphic data corresponding to the graphic object.
  5. 如权利要求1所述的方法,其特征在于,还包括:The method of claim 1 further comprising:
    所述第一控件接收第一子系统中的应用组件发送的图形对象设置信息;The first control receives graphic object setting information sent by an application component in the first subsystem;
    所述第一控件将接收到的图形对象设置信息发送给第一子系统图形合成器。The first control sends the received graphic object setting information to the first subsystem graphic synthesizer.
  6. 如权利要求5所述的方法,其特征在于,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。The method of claim 5 wherein said graphical object is an application window and said graphical object setting information comprises window attribute information.
  7. 如权利要求1所述的方法,其特征在于,第一子系统中的第一控件接收第二子系统图形合成器发送的图形数据之前,还包括:创建所述第一控件。The method of claim 1, wherein before the first control in the first subsystem receives the graphics data sent by the second subsystem graphics synthesizer, the method further comprises: creating the first control.
  8. 如权利要求7所述的方法,其特征在于,创建所述第一控件,包括:The method of claim 7 wherein creating the first control comprises:
    第一子系统中的应用组件根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。 An application component in the first subsystem creates a first control corresponding to the graphical object in the second subsystem for providing graphical data in accordance with a request to use the graphical data in the second subsystem.
  9. 如权利要求1所述的方法,其特征在于,第一控件将第二子系统图形合成器发送的图形数据发送给第一子系统图形合成器之后,还包括:销毁所述第一控件。The method of claim 1, wherein after the first control sends the graphic data sent by the second subsystem graphics synthesizer to the first subsystem graphics synthesizer, the method further comprises: destroying the first control.
  10. 如权利要求9所述的方法,其特征在于,销毁所述第一控件,包括:The method of claim 9 wherein destroying said first control comprises:
    第一子系统中的应用组件接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,则销毁所述第一控件;或者,The application component in the first subsystem receives the information that the graphic object corresponding to the first control in the second subsystem is destroyed, and then destroys the first control; or
    第一子系统中的应用组件接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。The application component in the first subsystem receives an indication to end the use of the graphical data in the second subsystem, and then destroys the first control corresponding to the graphical object in the second subsystem for providing the graphical data.
  11. 如权利要求1所述的方法,其特征在于,第一子系统中的第一控件接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据之前,还包括:The method of claim 1, wherein before the first control in the first subsystem receives the graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, the method further includes:
    第一子系统中的第一应用组件向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据;The first application component in the first subsystem sends control information to the first system service component in the first subsystem, the control information is used to indicate that the graphic data in the second subsystem is acquired;
    所述第一系统服务组件将所述控制信息发送给第二子系统中的第二系统服务组件;The first system service component sends the control information to a second system service component of the second subsystem;
    所述第二系统服务组件将所述控制信息发送给第二子系统中的第二应用组件。The second system service component sends the control information to a second one of the second subsystems.
  12. 如权利要求1至11中任一项所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。The method according to any one of claims 1 to 11, wherein the first subsystem is a Host subsystem and the second subsystem is a Guest subsystem.
  13. 一种信息交互方法,其特征在于,包括:An information interaction method, comprising:
    第一子系统中的第一系统服务组件接收第一子系统中的第一应用组件发送的第一信息;The first system service component in the first subsystem receives the first information sent by the first application component in the first subsystem;
    所述第一系统服务组件将所述第一信息发送给第二子系统中的第二系统服务组件;The first system service component sends the first information to a second system service component of the second subsystem;
    所述第二系统服务组件将所述第一信息发送给第二子系统中的第二应用组件。The second system service component transmits the first information to a second one of the second subsystems.
  14. 如权利要求13所述的方法,其特征在于,还包括:The method of claim 13 further comprising:
    所述第二系统服务组件接收所述第二应用组件发送的第二信息,所述第二信息为所述第一应用组件根据所述第一信息得到的; The second system service component receives the second information sent by the second application component, where the second information is obtained by the first application component according to the first information;
    所述第二系统服务组件将所述第二信息发送给所述第一系统服务组件;The second system service component sends the second information to the first system service component;
    所述第一系统服务组件将所述第二信息发送给所述第一应用组件。The first system service component sends the second information to the first application component.
  15. 如权利要求13所述的方法,其特征在于,所述第一应用组件在以下之一或多种情况下,向所述第一系统服务组件发送第一信息:The method of claim 13 wherein said first application component sends first information to said first system service component in one or more of the following cases:
    需要使用第二子系统中的图形数据;Need to use the graphic data in the second subsystem;
    需要通知第二子系统中的应用组件进行处理。The application components in the second subsystem need to be notified for processing.
  16. 如权利要求13所述的方法,其特征在于,还包括:创建所述第一系统服务组件。The method of claim 13 further comprising: creating said first system service component.
  17. 如权利要求16所述的方法,其特征在于,所述第一应用组件被创建时,创建所述第一系统服务组件。The method of claim 16 wherein said first system service component is created when said first application component is created.
  18. 如权利要求13所述的方法,其特征在于,还包括:销毁所述第一系统服务组件。The method of claim 13 further comprising: destroying said first system service component.
  19. 如权利要求18所述的方法,其特征在于,所述第一应用组件被销毁时,销毁所述第一系统服务组件。The method of claim 18 wherein said first system service component is destroyed when said first application component is destroyed.
  20. 如权利要求13至19中任一项所述的方法,其特征在于,所述信息包括:控制信息和/或数据。The method according to any of claims 13 to 19, wherein the information comprises: control information and/or data.
  21. 如权利要求13至19中任一项所述的方法,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者The method according to any one of claims 13 to 19, wherein the first subsystem is a Host subsystem and the second subsystem is a Guest subsystem; or
    所述第一子系统为Guest子系统,所述第二子系统为Host子系统。The first subsystem is a Guest subsystem, and the second subsystem is a Host subsystem.
  22. 一种图形合成系统,其特征在于,包括:第一子系统图形合成器、第二子系统图形合成器,以及第一子系统中的第一控件;A graphics synthesis system, comprising: a first subsystem graphics synthesizer, a second subsystem graphics synthesizer, and a first control in the first subsystem;
    第一子系统中的第一控件,用于接收第二子系统图形合成器中与所述第一控件对应的图形对象发送的图形数据,并将所述图形数据发送给第一子系统图形合成器。a first control in the first subsystem, configured to receive graphic data sent by the graphic object corresponding to the first control in the second subsystem graphics synthesizer, and send the graphic data to the first subsystem graphic synthesis Device.
  23. 如权利要求22所述的系统,其特征在于,第一子系统图形合成器还用于:接收第一子系统中的图形对象发送的图形数据。The system of claim 22 wherein the first subsystem graphics synthesizer is further configured to: receive graphics data transmitted by the graphics object in the first subsystem.
  24. 如权利要求23所述的系统,其特征在于,第一子系统图形合成器还用于:对所述第一控件发送的图形数据以及第一子系统中的图形对象发送的图形数据进行合成。The system of claim 23, wherein the first subsystem graphics synthesizer is further configured to: synthesize the graphics data sent by the first control and the graphics data sent by the graphics object in the first subsystem.
  25. 如权利要求22所述的系统,其特征在于,第一控件为多个,所述 多个第一控件将各自接收到的图形数据发送给第一子系统中的图形对象;The system of claim 22 wherein the first control is a plurality of The plurality of first controls send the respective received graphics data to the graphic objects in the first subsystem;
    第一子系统图形合成器具体用于:接收所述第一子系统中的图形对象发送的图形数据;其中,所述图形对象将所述多个第一控件发送的图形数据作为本图形对象对应的图形数据发送给第一子系统图形合成器。The first subsystem graphics synthesizer is specifically configured to: receive graphic data sent by the graphic object in the first subsystem; wherein the graphic object corresponds to the graphic data sent by the plurality of first controls The graphics data is sent to the first subsystem graphics synthesizer.
  26. 如权利要求22所述的系统,其特征在于,所述第一控件还用于:The system of claim 22 wherein said first control is further for:
    接收第一子系统中的应用组件发送的图形对象设置信息;Receiving graphic object setting information sent by an application component in the first subsystem;
    将接收到的图形对象设置信息发送给第一子系统图形合成器。The received graphic object setting information is sent to the first subsystem graphic synthesizer.
  27. 如权利要求26所述的系统,其特征在于,所述图形对象为应用程序窗口,所述图形对象设置信息包括窗口属性信息。The system of claim 26 wherein said graphical object is an application window and said graphical object setting information comprises window attribute information.
  28. 如权利要求22所述的系统,其特征在于,第一子系统中还包括应用组件;The system of claim 22, wherein the first subsystem further comprises an application component;
    所述第一子系统中的应用组件,用于创建所述第一控件。An application component in the first subsystem for creating the first control.
  29. 如权利要求28所述的系统,其特征在于,所述第一子系统中的应用组件具体用于:The system of claim 28 wherein the application component of the first subsystem is specifically for:
    根据使用第二子系统中的图形数据的请求,创建与第二子系统中用于提供图形数据的图形对象所对应的第一控件。A first control corresponding to the graphical object in the second subsystem for providing graphical data is created in accordance with a request to use the graphical data in the second subsystem.
  30. 如权利要求22所述的系统,其特征在于,第一子系统中还包括应用组件;The system of claim 22, wherein the first subsystem further comprises an application component;
    所述第一子系统中的应用组件,用于销毁所述第一控件。An application component in the first subsystem for destroying the first control.
  31. 如权利要求30所述的系统,其特征在于,所述第一子系统中的应用组件具体用于:The system of claim 30 wherein the application component of the first subsystem is specifically for:
    接收到第二子系统中与所述第一控件对应的图形对象被销毁的信息,则销毁所述第一控件;或者,Receiving information that the graphic object corresponding to the first control in the second subsystem is destroyed, destroying the first control; or
    接收到结束使用第二子系统中的图形数据的指示,则销毁与第二子系统中用于提供所述图形数据的图形对象所对应的第一控件。Upon receiving an indication to end the use of graphics data in the second subsystem, the first control corresponding to the graphical object in the second subsystem for providing the graphics data is destroyed.
  32. 如权利要求22所述的系统,其特征在于,第一子系统中还包括第一应用组件,第二子系统中还包括第二应用组件;The system of claim 22, wherein the first subsystem further comprises a first application component, and the second subsystem further comprises a second application component;
    第一子系统中的第一应用组件,用于向第一子系统中的第一系统服务组件发送控制信息,所述控制信息用于指示获取第二子系统中的图形数据; a first application component in the first subsystem, configured to send control information to the first system service component in the first subsystem, where the control information is used to indicate that the graphic data in the second subsystem is acquired;
    第一系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二系统服务组件;The first system service component is specifically configured to: send the control information to a second system service component in the second subsystem;
    所述第二系统服务组件具体用于,将所述控制信息发送给第二子系统中的第二应用组件。The second system service component is specifically configured to send the control information to a second application component in the second subsystem.
  33. 如权利要求22至32中任一项所述的系统,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统。A system according to any one of claims 22 to 32, wherein the first subsystem is a Host subsystem and the second subsystem is a Guest subsystem.
  34. 一种信息交互系统,其特征在于,包括:An information interaction system, comprising:
    第一子系统中的第一系统服务组件,用于接收第一子系统中的第一应用组件发送的第一信息;a first system service component in the first subsystem, configured to receive first information sent by the first application component in the first subsystem;
    所述第一系统服务组件,用于将所述第一信息发送给第二子系统中的第二系统服务组件;The first system service component, configured to send the first information to a second system service component in the second subsystem;
    所述第二系统服务组件,用于将所述第一信息发送给第二子系统中的第二应用组件。The second system service component is configured to send the first information to a second application component in the second subsystem.
  35. 如权利要求34所述的系统,其特征在于,The system of claim 34 wherein:
    所述第二系统服务组件还用于:接收所述第二应用组件发送的第二信息,将所述第二信息发送给所述第一系统服务组件;其中,所述第二信息为所述第一应用组件根据所述第一信息得到的;The second system service component is further configured to: receive second information sent by the second application component, and send the second information to the first system service component; wherein the second information is The first application component is obtained according to the first information;
    所述第一系统服务组件还用于:将所述第二信息发送给所述第一应用组件。The first system service component is further configured to: send the second information to the first application component.
  36. 如权利要求34所述的系统,其特征在于,所述第一应用组件具体用于:在以下之一或多种情况下,向所述第一系统服务组件发送第一信息:The system of claim 34, wherein the first application component is specifically configured to: send the first information to the first system service component in one or more of the following cases:
    需要使用第二子系统中的图形数据;Need to use the graphic data in the second subsystem;
    需要通知第二子系统中的应用组件进行处理。The application components in the second subsystem need to be notified for processing.
  37. 如权利要求34至36中任一项所述的系统,其特征在于,所述信息包括:控制信息和/或数据。The system of any of claims 34 to 36, wherein the information comprises control information and/or data.
  38. 如权利要求34至36中任一项所述的系统,其特征在于,所述第一子系统为Host子系统,所述第二子系统为Guest子系统;或者The system according to any one of claims 34 to 36, wherein the first subsystem is a Host subsystem and the second subsystem is a Guest subsystem; or
    所述第一子系统为Guest子系统,所述第二子系统为Host子系统。 The first subsystem is a Guest subsystem, and the second subsystem is a Host subsystem.
PCT/CN2017/078035 2016-03-31 2017-03-24 Graphic composition method, information interaction method, and system WO2017167125A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610202571.2A CN107291561B (en) 2016-03-31 2016-03-31 Graph synthesis method, information interaction method and system
CN201610202571.2 2016-03-31

Publications (1)

Publication Number Publication Date
WO2017167125A1 true WO2017167125A1 (en) 2017-10-05

Family

ID=59962568

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/078035 WO2017167125A1 (en) 2016-03-31 2017-03-24 Graphic composition method, information interaction method, and system

Country Status (2)

Country Link
CN (1) CN107291561B (en)
WO (1) WO2017167125A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851205A (en) * 2019-11-12 2020-02-28 成都九鼎瑞信科技股份有限公司 APP management method based on water affair cloud platform
CN117149341A (en) * 2023-10-31 2023-12-01 成都阿加犀智能科技有限公司 Method, device, equipment and medium for displaying Linux GUI program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1797345A (en) * 2004-12-30 2006-07-05 微软公司 Systems and methods for virtualizing graphics subsystems
CN101655798A (en) * 2008-08-18 2010-02-24 联想(北京)有限公司 Method for deployment and operation of application in computer and virtual machine environments
US20110154328A1 (en) * 2009-12-21 2011-06-23 Samsung Electronics Co., Ltd. Virtualization Apparatus and Method
CN102945169A (en) * 2012-12-05 2013-02-27 江苏鸿信系统集成有限公司 Native APP fused Web APP development system based on Android
CN103370689A (en) * 2010-10-01 2013-10-23 Flex Electronics ID Co.,Ltd. Cross-environment application compatibility

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296204B (en) * 2007-04-25 2010-11-03 财团法人工业技术研究院 System and method for sharing digital household electronic service resource
CN102053871B (en) * 2009-10-28 2013-03-13 中国移动通信集团公司 Application program image display method and device
US9354900B2 (en) * 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
CN102981894B (en) * 2011-09-05 2016-07-06 联想(北京)有限公司 Display packing and electronic equipment
CN104360900B (en) * 2014-11-03 2020-05-12 上海迈微软件科技有限公司 Method for operating multiple operating systems, corresponding system and mobile device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1797345A (en) * 2004-12-30 2006-07-05 微软公司 Systems and methods for virtualizing graphics subsystems
CN101655798A (en) * 2008-08-18 2010-02-24 联想(北京)有限公司 Method for deployment and operation of application in computer and virtual machine environments
US20110154328A1 (en) * 2009-12-21 2011-06-23 Samsung Electronics Co., Ltd. Virtualization Apparatus and Method
CN103370689A (en) * 2010-10-01 2013-10-23 Flex Electronics ID Co.,Ltd. Cross-environment application compatibility
CN102945169A (en) * 2012-12-05 2013-02-27 江苏鸿信系统集成有限公司 Native APP fused Web APP development system based on Android

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851205A (en) * 2019-11-12 2020-02-28 成都九鼎瑞信科技股份有限公司 APP management method based on water affair cloud platform
CN117149341A (en) * 2023-10-31 2023-12-01 成都阿加犀智能科技有限公司 Method, device, equipment and medium for displaying Linux GUI program
CN117149341B (en) * 2023-10-31 2024-01-05 成都阿加犀智能科技有限公司 Method, device, equipment and medium for displaying Linux GUI program

Also Published As

Publication number Publication date
CN107291561B (en) 2020-11-24
CN107291561A (en) 2017-10-24

Similar Documents

Publication Publication Date Title
US11347530B2 (en) Method, apparatus and system for transparent unification of virtual machines
US10976981B2 (en) Remote desktop exporting
Bierbaum et al. VR Juggler: A virtual platform for virtual reality application development
US9606629B2 (en) Systems and methods for gesture interaction with cloud-based applications
US10063430B2 (en) Systems and methods for workspace interaction with cloud-based applications
US9965151B2 (en) Systems and methods for graphical user interface interaction with cloud-based applications
CN104704448A (en) Reverse seamless integration between local and remote computing environments
WO2019007216A1 (en) Graphics layer processing method and device
CN103262057B (en) Cross-environment communication framework
US9197697B2 (en) Cloud computing system and method
US20150088982A1 (en) Load balanced inter-device messaging
US20140143305A1 (en) Apparatus and system for providing software service using software virtualization and method thereof
US20140026057A1 (en) Providing access to a remote application via a web client
US7463268B2 (en) Providing 3D graphics across partitions of computing device
WO2017167127A1 (en) Image compositing method, window configuration method, and system
US20130246513A1 (en) Systems and Methods for Object-Based Interaction with Cloud-Based Applications
EP2782038A1 (en) Resource management in a processor for trusted and untrusted applications
WO2017167126A1 (en) Window display method, information exchange method and system
JP2005209173A (en) System and method for inducing asynchronous behavioral change in managed application process
WO2017167125A1 (en) Graphic composition method, information interaction method, and system
CN114860401B (en) Heterogeneous cloud desktop scheduling system, heterogeneous cloud desktop scheduling method, heterogeneous cloud desktop scheduling service system, heterogeneous cloud desktop scheduling device and medium
US20150193284A1 (en) Host/hosted hybrid apps in multi-operating system mobile and other computing devices
EP2782010A1 (en) Hierarchical resource management
US11704159B2 (en) System and method for unified infrastructure architecture
WO2014064535A2 (en) Systems and methods for object-based interaction with cloud-based applications

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17773155

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17773155

Country of ref document: EP

Kind code of ref document: A1