[go: up one dir, main page]

CN106775934B - Input and output method and device based on multiple systems - Google Patents

Input and output method and device based on multiple systems Download PDF

Info

Publication number
CN106775934B
CN106775934B CN201611076307.5A CN201611076307A CN106775934B CN 106775934 B CN106775934 B CN 106775934B CN 201611076307 A CN201611076307 A CN 201611076307A CN 106775934 B CN106775934 B CN 106775934B
Authority
CN
China
Prior art keywords
container
input
module
container system
systems
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611076307.5A
Other languages
Chinese (zh)
Other versions
CN106775934A (en
Inventor
卜东超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
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 Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201611076307.5A priority Critical patent/CN106775934B/en
Publication of CN106775934A publication Critical patent/CN106775934A/en
Application granted granted Critical
Publication of CN106775934B publication Critical patent/CN106775934B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

The invention provides a multi-system-based input and output method and a device, wherein the method comprises the following steps: after receiving an input event, an input module in the kernel respectively sends the input event to more than two container systems in the equipment; after an input service module in the first container system receives an input event, if the first container system is detected to be in a foreground, the input event is sent to a corresponding application; after the input service modules in other container systems receive the input event, if the other container systems are detected to be in the background, the input event is ignored. In the invention, the input service module of each container system detects the foreground and background states of each container system; the input service module of the first container system positioned on the foreground monopolizes the input device of the terminal device to acquire the input event and respond, so that the confusion of the response of different container systems to the input event can be prevented, the interaction between the user and the expected container system can be ensured, and the experience of the user is improved.

Description

Input and output method and device based on multiple systems
Technical Field
The invention relates to the technical field of terminal equipment, in particular to a multi-system-based input and output method and device.
Background
With the progress of society and the development of science and technology, terminal devices such as smart phones, tablet computers, electronic readers and the like are widely popularized. These terminal devices are usually installed with an operating system. Currently, the operating system in the terminal device includes linux kernel as an operating system of a kernel, such as an Android (Android) system.
The input and output of the operating system in the existing terminal equipment comprise display output and input. Taking an Android system as an example, an input method of an existing operating system generally includes: and after receiving the input event of the user through the input hardware, the kernel is transmitted to the application of the application layer, and the application responds to the input event.
At present, terminal devices have become very popular, and with this, security problems of terminal devices are increasing frequently. A technician considers creating a plurality of containers in which an operating system is installed, using Linux container virtualization technology; the operating system in the container acts as a container system. The terminal equipment can simultaneously run a plurality of container systems, the processes of the container systems are isolated from each other, when one container system is invaded by unsafe information, the invasion result is limited in the container system, and other container systems cannot be influenced, so that the multi-operation system based on the Linux container virtualization technology has higher safety, and the safety of the terminal equipment can be improved.
However, the inventor of the present invention has found that, when the input/output method of the existing operating system is applied to the multi-container system of the terminal device, different container systems are likely to compete with the same input device or the same display/output device, which is likely to cause a confusing result.
For example, according to the input and output method of the existing operating system, when a user expects a certain container system to perform input operation on the terminal device to form an input event, another container system is likely to respond to the input event as a result, and the container system expected by the user does not respond to the input event, so that input response confusion is caused, great trouble is brought to human-computer interaction between the user and the terminal device, and user experience is seriously affected.
Disclosure of Invention
The invention provides a multi-system-based input and output method and device aiming at the defects of the prior art, and aims to solve the problem of disordered multi-system input response in the prior art.
According to a first aspect, an embodiment of the present invention provides a multisystem-based input/output method, including:
after receiving an input event, an input module in the kernel respectively sends the input event to more than two container systems in the equipment;
after receiving the input event, an input service module in the first container system sends the input event to a corresponding application if detecting that the first container system is in a foreground;
and after the input service modules in other container systems receive the input event, if the other container systems are detected to be in the background, the input event is ignored.
According to a second aspect, an embodiment of the present invention further provides a multisystem-based input/output method, including:
after receiving an input event, a main control input module in a main control system detects the foreground and background states of more than two container systems in the equipment and sends the input event to the container systems positioned on the foreground;
and after the input module in the first container system receives the input event, sending the input event to a corresponding application in the first container system.
According to a third aspect, an embodiment of the present invention further provides a multi-system based input/output apparatus, including: a kernel and more than two container systems;
the kernel includes:
the input module is used for respectively transmitting the input events to the more than two container systems after receiving the input events;
a first container system of the two or more container systems comprises:
the input service module is used for sending the input event to a corresponding application if the first container system is detected to be in a foreground after the input event is received;
other container systems of the two or more container systems include:
and the input service module is used for ignoring the input event if the other container systems are detected to be in the background after receiving the input event.
According to a fourth aspect, an embodiment of the present invention further provides a multi-system based input/output apparatus, including: the system comprises a main control system and more than two container systems;
the master control system comprises:
the main control input module is used for detecting the foreground and background states of the more than two container systems in the equipment after receiving an input event and sending the input event to the container system positioned at the foreground;
a first container system of the two or more container systems comprises:
and the input module is used for sending the input event to a corresponding application in the first container system after receiving the input event.
According to the first and/or third aspect of the present invention, the foreground and background status of each container system is detected by the respective input service module of each container system; and acquiring the input event by the input service module of the first container system positioned in the foreground exclusive to the input device of the terminal device, and responding. The confusion situation that different container systems carry out false response on input events can be prevented, the user can be ensured to interact with the expected container system (namely the first container system switched to the foreground), and the user experience is improved.
According to the second and/or fourth aspect of the present invention, the master input module in the master control system detects the foreground and background states of each container system, and sends the received input event only to the first container system located in the foreground, but not to other container systems located in the background, which is equivalent to the first container system monopolizing the input device to respond to the input event. The confusion situation that different container systems carry out false response on input events can be prevented, the user can be ensured to interact with the expected container system (namely the first container system switched to the foreground), and the user experience is improved.
Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Drawings
The foregoing and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
fig. 1 is a schematic frame diagram of an internal structure of a terminal device according to a first embodiment of the present invention;
FIG. 2 is a flowchart illustrating a multisystem-based input/output method according to an embodiment of the present invention;
FIG. 3 is a block diagram of an internal structure of a multisystem-based input/output apparatus according to a first embodiment of the present invention;
fig. 4 is a schematic frame diagram of an internal structure of a terminal device according to a second embodiment of the present invention;
FIG. 5 is a flowchart illustrating a multi-system based input/output method according to a second embodiment of the present invention;
fig. 6 is a schematic diagram of an internal structure of a multi-system-based input/output device according to a second embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative only and should not be construed as limiting the invention.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
It will be understood by those skilled in the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
As will be appreciated by those skilled in the art, a "terminal" as used herein includes both devices having a wireless signal receiver, which are devices having only a wireless signal receiver without transmit capability, and devices having receive and transmit hardware, which have devices having receive and transmit hardware capable of two-way communication over a two-way communication link. Such a device may include: a cellular or other communication device having a single line display or a multi-line display or a cellular or other communication device without a multi-line display; PCS (Personal Communications Service), which may combine voice, data processing, facsimile and/or data communication capabilities; a PDA (Personal Digital Assistant), which may include a radio frequency receiver, a pager, internet/intranet access, a web browser, a notepad, a calendar and/or a GPS (Global Positioning System) receiver; a conventional laptop and/or palmtop computer or other device having and/or including a radio frequency receiver. As used herein, a "terminal" or "terminal device" may be portable, transportable, installed in a vehicle (aeronautical, maritime, and/or land-based), or situated and/or configured to operate locally and/or in a distributed fashion at any other location(s) on earth and/or in space. As used herein, a "terminal Device" may also be a communication terminal, a web terminal, a music/video playing terminal, such as a PDA, an MID (Mobile Internet Device) and/or a Mobile phone with music/video playing function, or a smart tv, a set-top box, etc.
The inventor of the present invention also finds that the existing display output method of the operating system generally includes: a display synthesis module, such as a surface flag module, is further arranged on the upper layer of the kernel in the Android system; the SurfaceFlinger module synthesizes contents which need to be displayed, such as an application window, wallpaper, a status bar and the like which run in an operating system, and outputs the synthesized contents to be displayed to a kernel, and the synthesized contents are displayed by being driven by display hardware. However, according to the input/output method of the existing operating system, when both container systems need to occupy the display output device (including the screen) for display output, it is likely that the content of one container system is displayed on the screen for a while, and the content of the other container system is displayed for a while, which causes confusion of the displayed content, brings great trouble to the user in performing human-computer interaction with the terminal device, and seriously affects the user experience.
The inventors of the present invention considered that a function of recognizing the operation state of each container system may be added to the terminal device. According to the operation state of each container system, the container system in a certain operation state (for example, in the foreground) can perform display output and respond to the input event, and at the moment, other container systems cannot perform display output and cannot respond to the input event.
Based on the above considerations, the inventors of the present invention have provided two improved concepts. Firstly, detecting respective running states by each container system; and secondly, detecting the running state of each container system by a kernel outside each container system. The first and second concepts correspond to the first and second embodiments of the present invention, respectively.
Example one
A schematic frame diagram of an internal structure of a terminal device in the first embodiment of the present invention is shown in fig. 1, and includes: more than two container systems, a kernel, display hardware, and input hardware.
The container system in the present invention (including embodiments one and two) is an operating system provided in a container created by the Linux container virtualization technology. The operating system may be a Linux operating system or a Unix operating system in the conventional sense, an Android system, an Ubuntu system, and the like derived from the Linux operating system, or a Windows system based on a Windows platform, and the like. In fact, the container system of the present invention is not limited to the aforementioned exemplary operating systems, and may cover all operating systems capable of operating in a container. For convenience of description, the technical solution of the present invention is described below by taking an Android system as a container system as an example.
The container system of the first embodiment of the present invention includes: the device comprises a display service module and an input service module. Preferably, the display service module may be improved on the basis of a conventional surfefinger (appearance thrower) module. The input service module can be improved on the basis of the traditional input module. The display service module and the input service module interact with a plurality of applications in the container system, which are also called APPs (applications). Further, the solid line in fig. 1 represents data transmission (one kind of data interaction), and the dotted line represents data non-transmission (i.e., data interaction is not performed).
Preferably, for convenience of description, the container system located at the front stage is referred to as a first container system in the present invention; container systems located in the background are collectively referred to as other container systems.
The kernel in the first embodiment of the present invention may be a kernel. Preferably, the kernel may be a kernel of one of the plurality of versions. The kernel comprises a display module and an input module.
In the first embodiment of the present invention, the display service module and the input service module in the container system interact with the display module and the input module in the kernel, respectively.
The display hardware and the input hardware in the first embodiment of the invention interact with the display module and the input module in Kernel respectively.
Fig. 2 is a schematic flow chart of a multisystem-based input/output method according to a first embodiment of the present invention, which includes the following steps:
s201: and after receiving the input event, the input module in the kernel respectively sends the input event to more than two container systems in the equipment.
And the input module in the kernel packages input information of the user into an input event after receiving input operation of the user through input hardware in the terminal equipment.
And the input module in the kernel sends the packaged input event to an input service module in a first container system in a foreground and an input service module in other container systems in a background in the terminal equipment respectively.
S202: after receiving the input event, the input service module in the first container system sends the input event to the corresponding application if detecting that the first container system is in the foreground.
After an input service module in the first container system receives an input event, the operating state of the first container system where the input service module is located is detected.
When the input service module detects that the first container system is located at the foreground, determining a corresponding application of the received input event in the first container system, for example, determining the corresponding application according to an application identifier carried in the input event; and sending the received input event to a corresponding application in the first container system, and performing response processing on the input event by the application.
S203: after the input service modules in other container systems receive the input event, if the other container systems are detected to be in the background, the input event is ignored.
In fact, only one container system can be located in the foreground, usually in the terminal equipment. Thus, when the first container system is detected in the above step as being in the foreground, the other container systems that are running are actually in the background. This step and step 202 above are actually performed during the duration that the first container system is in the foreground and the other container systems are in the background.
Specifically, for each other operating container system, after the input service module in the other container system receives the input event, the operating state of the other container system in which the input service module is located is detected. The received input event is ignored when the input service module detects that the other container system in which it is located is in the background.
S204: after receiving the content to be displayed sent by at least one application in the first container system, if the display service module in the first container system detects that the first container system is in the foreground, the display service module sends the received content to be displayed of each application to the kernel.
And the display service module in the first container system detects the running state of the first container system in which the input service module is positioned after receiving the content to be displayed, which is sent by at least one application in the first container system in which the display service module is positioned. The content to be displayed of each application comprises: the system desktop of the desktop application, the respective user interfaces of the other applications.
And when the input service module detects that the first container system is positioned at the foreground, the received content to be displayed of each application is sent to a display module in the kernel.
Preferably, the display service module in the first container system determines the system desktop and the visible area of each user interface according to the position, size and stacking sequence of the system desktop and each user interface in the first container system on the screen; synthesizing each visible area to ensure that the synthesized visible area does not exceed the area of the screen; and sending the synthesized visual area to a display module in the kernel.
S205: and after detecting that the other container systems are in the background, the display service module in the other container systems stops receiving the content to be displayed applied in the other container systems.
In fact, only one container system can be located in the foreground, usually in the terminal equipment. Thus, when the first container system is detected in the above step as being in the foreground, the other container systems that are running are actually in the background. This step and step 204 above are actually performed during the duration that the first container system is in the foreground and the other container systems are in the background.
Specifically, for each of the other container systems that operate, the display service module in the other container system detects the operating state of the other container system in which the display service module is located. And when the display service module detects that the other container system where the display service module is located at the background, stopping receiving the content to be displayed applied in the other container system where the display service module is located.
Obviously, the content to be displayed of other container systems located in the background cannot be sent to the display module of the kernel, so that the display module of the kernel can only receive the content to be displayed of the first container system located in the foreground, and then the display module in the subsequent kernel actually only displays and outputs the content of the first container system located in the foreground, thereby solving the problem of disordered display and output of different container systems and improving the experience of a user.
Moreover, the display module of the kernel does not need to process the contents to be displayed of other container systems positioned at the background, thereby greatly reducing the workload of the display module of the kernel.
S206: and the display module in the kernel displays and outputs the received content to be displayed.
When the display module in the kernel only receives the content to be displayed of the first container system in the foreground, but does not receive the content to be displayed of other container systems in the background; therefore, the display module in the kernel performs display output according to the received content to be displayed from the first container system, and the specific method for display output is well known to those skilled in the art and is not described herein again.
In fact, the combination of step S201 to step S203 and the combination of step S204 to step S206 are independent of each other. In the first embodiment of the present invention, for the combination of performing step S201 to step S203 and the combination of step S204 to step S206, the two combinations may be performed simultaneously, only one of the combinations may be performed, the combinations may be performed alternately, or respective times may partially overlap during the execution.
According to the multi-system-based input/output method in the first embodiment of the present invention, a multi-system-based input/output device is further provided in the first embodiment of the present invention, the device is disposed inside the terminal device of the present invention, and a schematic frame diagram of an internal structure of the device is shown in fig. 3, where the method includes: a kernel and more than two container systems.
Wherein, the kernel includes: an input module 301. The input module 301 is configured to send the input event to more than two container systems, respectively, after receiving the input event.
A first container system of the two or more container systems comprising: the input service module 311. The input service module 311 is configured to, after receiving the input event, send the input event to the corresponding application if it is detected that the first container system is in the foreground.
Other container systems of the two or more container systems include: the input service module 321.
The input service module 321 is configured to, after receiving the input event, ignore the input event if detecting that the other container system is in the background.
Preferably, the first container system further comprises: a service module 312 is displayed. The display service module 312 is configured to, after receiving the content to be displayed, sent by at least one application in the first container system, if it is detected that the first container system is in the foreground, send the received content to be displayed of each application to the kernel.
Preferably, the other of the two or more container systems further comprises: the service module 322 is displayed. The display service module 322 is configured to stop receiving the content to be displayed applied in the other container system after detecting that the other container system is in the background.
And, the kernel further comprises: a display module 302. The display module 302 is configured to perform display output on the received content to be displayed.
In fact, when the first container system is switched to the background and one of the other container systems is switched to the foreground, the functions of the input service module 311 of the first container system and the input service module 321 of the other container system in the foreground are exchanged; the display service module 312 of the first container system is functionally interchangeable with the display service module 322 of the other container system located in the foreground. That is, in practice, the input service module 311 has the same function as the input service module 321, and the display service module 312 has the same function as the display service module 322; the reference numerals differ only to the extent that they belong to different container systems.
In the first embodiment of the invention, the states of the foreground and the background of each container system are detected by the input service module of each container system; and acquiring the input event by the input service module of the first container system positioned in the foreground exclusive to the input device of the terminal device, and responding. The confusion situation that different container systems carry out false response on input events can be prevented, the user can be ensured to interact with the expected container system (namely the first container system switched to the foreground), and the user experience is improved.
In addition, in the first embodiment of the present invention, the display service module of the first container system in the foreground determines to send the content to be displayed in the first container system to the display device through the display module of the kernel for display and output, and the display service modules in the other container systems in the background determine to ignore the content to be displayed in the other container systems in which the display service modules are respectively located. The display service module of the first container system, which is equivalent to the foreground, monopolizes the display device of the terminal device to perform display output, so that the situation that the display device alternately outputs contents of different container systems in a short time to cause display confusion can be prevented, a user can be ensured to view the display contents of the expected container system, interaction with the expected container system of the user can be realized, and the user experience is improved.
Further, in the first embodiment of the present invention, the kernel may directly adopt linux kernel, and only the framework layer (for example, the surfaceflag module) of the container system is modified. In addition, the cross-platform portability of the first embodiment of the invention is better without depending on a specific hardware platform.
In addition, in the first embodiment of the present invention, the display module of the kernel does not need to process the contents to be displayed of other container systems located in the background, which greatly reduces the workload of the display module of the kernel, is favorable for reducing power consumption, and prolongs the endurance time of the terminal device.
Example two
A frame schematic diagram of an internal structure of a terminal device in the second embodiment of the present invention is shown in fig. 4, and includes: more than two container systems, a master control system, display hardware, and input hardware.
The container system in the second embodiment of the present invention is an operating system installed in a container created by the Linux container virtualization technology. The operating system may be a Linux operating system or a Unix operating system in the conventional sense, an Android system, an Ubuntu system and the like derived from the Linux operating system, a win system based on a Windows platform and the like. In fact, the container system of the present invention is not limited to the aforementioned exemplary operating systems, and may cover all operating systems capable of operating in a container. For convenience of description, the technical solution of the present invention is described below by taking an Android system as a container system as an example.
The container system according to the second embodiment of the present invention includes: a surfefinger (appearance thrower) module and an input module. The surface flag module and the input module interact with a plurality of applications, also called APPs (applications), in the container system, respectively.
Preferably, for convenience of description, the container system located at the front stage is referred to as a first container system in the present invention; container systems located in the background are collectively referred to as other container systems.
The master control system in the second embodiment of the present invention includes: the device comprises a main control display module and a main control input module. Preferably, the master display module is modified from a display module in a conventional kernel. The master input module may be modified from the input module in a conventional kernel. Therefore, the master control system can be considered to be improved on the basis of the traditional kernel.
The surfafinger module and the input module in the container system in the second embodiment of the present invention interact with the main control display module and the main control input module in the main control system, respectively. Further, the solid line in fig. 4 represents data transmission (one kind of data interaction), and the dotted line represents data non-transmission (i.e., data interaction is not performed).
The display hardware and the input hardware in the second embodiment of the invention interact with the main control display module and the main control input module in the main control system respectively.
A flow chart of a multi-system-based input/output method according to a second embodiment of the present invention is shown in fig. 5, and includes the following steps:
s501: after receiving the input event, a main control input module in the main control system detects the foreground and background states of more than two container systems in the equipment and sends the input event to the container systems positioned on the foreground.
The main control input module in the main control system packages the input information of the user into an input event after receiving the input operation of the user through the input hardware in the terminal equipment, and detects the foreground and background states of all the running container systems in more than two container systems in the terminal equipment.
And the master control input module in the master control system sends the encapsulated input event to a first container system positioned in the foreground.
In fact, only one container system can be located in the foreground, usually in the terminal equipment. Thus, when the first container system is detected in the above step as being in the foreground, the other container systems that are running are actually in the background. The master input module in the master control system does not send the input event to other container systems in the background.
Therefore, in the step, the master control input module omits a container system which is used for inputting the event to the background, so that the workload of the master control input module is saved, and the power consumption of the master control input module is reduced.
S502: and when the input module in the first container system receives the input event, the input event is sent to the corresponding application in the first container system.
After an input module in the first container system receives an input event from the master control system, determining a corresponding application of the received input event in the first container system, for example, determining the corresponding application according to an application identifier carried in the input event; and sending the received input event to a corresponding application in the first container system, and performing response processing on the input event by the application.
Because the input module in other container systems does not receive the input event from the main control system, the workload for processing the input event can be saved, and the power consumption is reduced.
S503: and when the surfeFinger module in the first container system receives the content to be displayed, which is sent by at least one application in the first container system, sending the content to the master control system.
When the surfefinger module in the first container system receives the content to be displayed, which is sent by at least one application in the first container system where the surfefinger module is located, the received content to be displayed of each application is sent to a main control display module in the main control system. The content to be displayed of each application comprises: the system desktop of the desktop application, the respective user interfaces of the other applications.
Preferably, the surfefinger module in the first container system determines the visual areas of the system desktop and the user interfaces according to the positions, sizes and stacking sequence of the system desktop and the user interfaces on the screen in the first container system; synthesizing each visible area to ensure that the synthesized visible area does not exceed the area of the screen; and sending the synthesized visual area to a main control display module in a main control system.
S504: and when the surfeFinger module in the other container system receives the content to be displayed sent by at least one application in the other container system, sending the content to the master control system.
And when the surfeFinger module in other container system receives the content to be displayed sent by at least one application in other container system, sending the received content to be displayed of each application to the main control display module in the main control system. The content to be displayed of each application comprises: the system desktop of the desktop application, the respective user interfaces of the other applications.
Preferably, the surfefinger module in the other container system determines the visual area of the system desktop and each user interface according to the position, size and stacking sequence of the system desktop and each user interface on the screen in the other container system where the surfefinger module is located; synthesizing each visible area to ensure that the synthesized visible area does not exceed the area of the screen; and sending the synthesized visual area to a main control display module in a main control system.
S505: after receiving the contents to be displayed from the first container system and other container systems, a main control display module in the main control system detects the foreground and background states of the first container system and other container systems.
After receiving the contents to be displayed respectively sent by the surfeFinger module of the first container system and the surfeFinger modules of other container systems, the main control display module in the main control system detects the foreground and background states of the first container system and the other container systems which send the contents to be displayed.
S506: and if the main control display module detects that the first container system and the other container systems are respectively in the front and the back, the main control display module displays and outputs the content to be displayed from the first container system and ignores the content to be displayed from the other container systems.
In fact, only one container system can be located in the foreground, usually in the terminal equipment. Thus, when the first container system is detected as being in the foreground, the other container systems that are running are actually in the background.
And after detecting that the first container system and the other container systems are respectively in the front and the back, the main control display module displays and outputs the content to be displayed from the first container system and ignores the content to be displayed from the other container systems.
In fact, the combination of step S501 to step S502 and the combination of step S503 to step S506 are independent of each other. In the first embodiment of the present invention, for the combination of performing step S501 to step S502 and the combination of step S503 to step S506, the two combinations may be performed simultaneously, only one of the combinations may be performed, the combinations may be performed alternately, or respective times in the execution process may partially overlap.
According to the multi-system-based input/output method in the second embodiment of the present invention, the second embodiment of the present invention further provides a multi-system-based input/output device, which is disposed inside the terminal apparatus of the present invention, and a schematic frame diagram of an internal structure of the device is shown in fig. 6, where the method includes: a master control system and more than two container systems.
Wherein, master control system includes: the master input module 601.
The main control input module 601 is configured to detect foreground and background states of two or more container systems in the device after receiving an input event, and send the input event to the container system located in the foreground.
A first container system of the two or more container systems comprising: an input module 611.
The input module 611 is configured to send the input event to a corresponding application in the first container system after receiving the input event.
In fact, other container systems of the two or more container systems include: an input module 621. At this time, the other container system in which the input module 621 is located is in the background, and no input event is received.
Preferably, the first container system further comprises: a surfefinger module 612. The surfefinger module 612 is configured to send, after receiving the content to be displayed, sent by at least one application in the first container system, to the master control system.
And, other than the first container system, of the two or more containers, comprising: a surfefinger module 622. The surfefinger module 622 is configured to send, after receiving content to be displayed, sent by at least one application in another container system, to the master control system;
and the master control system further comprises: the display module 602 is hosted. The main control display module 602 is configured to detect foreground and background states of the first container system and the other container systems after receiving content to be displayed from the first container system and the other container systems; and if the first container system and the other container systems are detected to be in the front and the background respectively, displaying and outputting the content to be displayed from the first container system, and ignoring the content to be displayed from the other container systems.
In fact, the input module 611 of the first container system is functionally identical to the input service module 321 of the other container system; the display module 612 of the first container system is functionally consistent with the display service module 322 of the other container systems. Different reference numerals only refer to systems belonging to different containers.
In the second embodiment of the present invention, the master control input module in the master control system detects the foreground and background states of each container system, and sends the received input event only to the first container system located in the foreground, but not to other container systems located in the background, which is equivalent to that the first container system monopolizes the input device to respond to the input event. The confusion situation that different container systems carry out false response on input events can be prevented, the user can be ensured to interact with the expected container system (namely the first container system switched to the foreground), and the user experience is improved.
In addition, in the second embodiment of the present invention, when both the first container system located in the foreground and the other container systems located in the background send the content to be displayed to the main control display module of the main control system, the main control display module determines to send only the content to be displayed of the first container system located in the foreground to the display device for displaying, and ignores the content to be displayed of the other container systems located in the background; the display device which is equivalent to the first container system at the foreground monopolizing the terminal device for display output can prevent the display device from alternately outputting the contents of different container systems in a short time to cause display disorder, ensure that a user can watch the display contents of the expected container system and interact with the expected container system of the user, and improve the experience of the user.
Furthermore, in the second embodiment of the present invention, only the kernel of linux needs to be modified to obtain the master control system, and the container system does not need to be modified; compatibility is enhanced, and the number of container systems is convenient to expand; for example, from a two-container system to a three-container system, a container is newly created without modifying the code of the newly added container system, and the newly added container system is installed in the container.
In addition, in the second embodiment of the present invention, the master control system does not send the input event to the other container systems located in the background, so that the other container systems located in the background do not need to process additional input events that do not need to be responded, thereby reducing the workload of the other container systems, facilitating to reduce the power consumption, and prolonging the endurance time of the terminal device.
Those skilled in the art will appreciate that the present invention includes apparatus directed to performing one or more of the operations described in the present application. These devices may be specially designed and manufactured for the required purposes, or they may comprise known devices in general-purpose computers. These devices have stored therein computer programs that are selectively activated or reconfigured. Such a computer program may be stored in a device (e.g., computer) readable medium, including, but not limited to, any type of disk including floppy disks, hard disks, optical disks, CD-ROMs, and magnetic-optical disks, ROMs (Read-Only memories), RAMs (Random Access memories), EPROMs (Erasable Programmable Read-Only memories), EEPROMs (Electrically Erasable Programmable Read-Only memories), flash memories, magnetic cards, or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a bus. That is, a readable medium includes any medium that stores or transmits information in a form readable by a device (e.g., a computer).
It will be understood by those within the art that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by computer program instructions. Those skilled in the art will appreciate that the computer program instructions may be implemented by a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, implement the features specified in the block or blocks of the block diagrams and/or flowchart illustrations of the present disclosure.
Those of skill in the art will appreciate that various operations, methods, steps in the processes, acts, or solutions discussed in the present application may be alternated, modified, combined, or deleted. Further, various operations, methods, steps in the flows, which have been discussed in the present application, may be interchanged, modified, rearranged, decomposed, combined, or eliminated. Further, steps, measures, schemes in the various operations, methods, procedures disclosed in the prior art and the present invention can also be alternated, changed, rearranged, decomposed, combined, or deleted.
The foregoing is only a partial embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (2)

1. A multisystem-based input and output method is characterized by comprising the following steps:
after receiving an input event, a main control input module in a main control system detects the foreground and background states of more than two container systems in the equipment and sends the input event to the container systems positioned on the foreground;
when an input module in the first container system receives the input event, the input event is sent to a corresponding application in the first container system;
wherein, still include:
when an appearance thrower SurfaceFlinger module in a first container system receives content to be displayed, which is sent by at least one application in the first container system, the content is sent to a master control system;
when a surfaceFlinger module in other container systems receives content to be displayed, which is sent by at least one application in the other container systems, the content is sent to the master control system;
after receiving contents to be displayed from a first container system and the other container systems, a main control display module in the main control system detects foreground and background states of the first container system and the other container systems;
and if the main control display module detects that the first container system and the other container systems are respectively in the front and the background, the main control display module displays and outputs the content to be displayed from the first container system and ignores the content to be displayed from the other container systems.
2. A multi-system based input-output device, comprising: the system comprises a main control system and more than two container systems;
the master control system comprises:
the main control input module is used for detecting the foreground and background states of the more than two container systems in the equipment after receiving an input event and sending the input event to the container system positioned at the foreground;
a first container system of the two or more container systems comprises:
the input module is used for sending the input event to a corresponding application in the first container system after receiving the input event;
wherein the first container system further comprises:
the appearance thrower SurfaceFlinger module is used for receiving the content to be displayed sent by at least one application in the first container system and then sending the content to the master control system; and
other container systems of the two or more containers other than the first container system, comprising:
the surface Flinger module is used for sending the content to be displayed to the main control system after receiving the content to be displayed sent by at least one application in the other container systems; and
the master control system further comprises:
the main control display module is used for detecting the foreground and background states of the first container system and the other container systems after receiving the contents to be displayed from the first container system and the other container systems; and if the first container system and the other container systems are detected to be in the front and the background respectively, displaying and outputting the content to be displayed from the first container system, and ignoring the content to be displayed from the other container systems.
CN201611076307.5A 2016-11-29 2016-11-29 Input and output method and device based on multiple systems Active CN106775934B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611076307.5A CN106775934B (en) 2016-11-29 2016-11-29 Input and output method and device based on multiple systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611076307.5A CN106775934B (en) 2016-11-29 2016-11-29 Input and output method and device based on multiple systems

Publications (2)

Publication Number Publication Date
CN106775934A CN106775934A (en) 2017-05-31
CN106775934B true CN106775934B (en) 2020-12-11

Family

ID=58901004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611076307.5A Active CN106775934B (en) 2016-11-29 2016-11-29 Input and output method and device based on multiple systems

Country Status (1)

Country Link
CN (1) CN106775934B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086227A (en) * 2018-08-01 2018-12-25 长沙市极云网络科技有限公司 A kind of exclusive input method, inputting and transferring equipment, input unit and intelligent terminal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609792A (en) * 2003-10-24 2005-04-27 微软公司 Programming interface for a computer program
CN102906676A (en) * 2010-03-22 2013-01-30 美泰有限公司 Electronic device and the input and output of data
CN104778022A (en) * 2014-01-09 2015-07-15 联想(北京)有限公司 Data processing method and electronic equipment
CN105589732A (en) * 2014-11-07 2016-05-18 三星电子株式会社 Equipment And Method By Virtual Environment For Sharing Information

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527679B2 (en) * 2008-06-16 2013-09-03 Samsung Electronics Co., Ltd. Apparatus and method for adaptation of input/output interface in virtualization environment
CN101706742B (en) * 2009-11-20 2012-11-21 北京航空航天大学 Method for dispatching I/O of asymmetry virtual machine based on multi-core dynamic partitioning
US20160154673A1 (en) * 2014-07-23 2016-06-02 Sitting Man, Llc Methods, systems, and computer program products for providing a minimally complete operating environment
US9659313B2 (en) * 2010-09-27 2017-05-23 Unisys Corporation Systems and methods for managing interactive features associated with multimedia content
CN103593185B (en) * 2013-11-04 2017-01-04 浙江大学 The method that many android system based on single linux kernel share input display device
CN104268017A (en) * 2014-09-19 2015-01-07 福建升腾资讯有限公司 Method for simultaneously running Android/Linux operating systems
CN106020980A (en) * 2015-05-21 2016-10-12 中国科学院计算技术研究所 Virtual desktop oriented VCPU (Virtual Central Processing Unit) scheduling method
CN106126232B (en) * 2016-06-22 2018-07-27 广东欧珀移动通信有限公司 A kind of interface startup method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609792A (en) * 2003-10-24 2005-04-27 微软公司 Programming interface for a computer program
CN102906676A (en) * 2010-03-22 2013-01-30 美泰有限公司 Electronic device and the input and output of data
CN104778022A (en) * 2014-01-09 2015-07-15 联想(北京)有限公司 Data processing method and electronic equipment
CN105589732A (en) * 2014-11-07 2016-05-18 三星电子株式会社 Equipment And Method By Virtual Environment For Sharing Information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"新型嵌入式多媒体系统架构";周恕义等;《计算机工程与应用》;20101231(第01期);第64-73页 *

Also Published As

Publication number Publication date
CN106775934A (en) 2017-05-31

Similar Documents

Publication Publication Date Title
US12061833B2 (en) Multi-window display method, electronic device, and system
CN105630615B (en) cross-system application control method and intelligent terminal
US8396992B2 (en) System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable media with processing capability
CN105573753B (en) Multi-system switching method and device
US9525769B1 (en) Providing interactive alert information
CN105550002B (en) Interface display method based on system switching and intelligent terminal
CN101960485B (en) Type multiple-situation graphics process
US9367674B2 (en) Multi mode operation using user interface lock
US8978051B2 (en) Method and apparatus for displaying application image
CN104660687A (en) Realization method and system for virtual desktop display
US8959267B2 (en) Controlling an external device connected to user equipment
WO2012003464A1 (en) Mobile device configured to operate on multiple different networks
US9542338B2 (en) Controlling applications according to connection state and execution condition
KR20150031588A (en) Electronic Device And Method for Handling Incoming Call Of The Same
EP3726357B1 (en) Electronic apparatus and controlling method thereof
CN107729244B (en) Multi-system testing method and device, mobile terminal and testing equipment
CN106775934B (en) Input and output method and device based on multiple systems
US9530184B1 (en) N-patch image resizing
US8717375B1 (en) Graphics display coordination
KR20150074415A (en) Method for controlling an use of sim card and an electronic device thereof
US20180151156A1 (en) Method and terminal for displaying boot graphic and storage medium
CN115826897A (en) Desktop intelligent terminal with double platforms and double operating systems
CN103155526A (en) System and method for rotating a user interface for a mobile device
WO2021136011A1 (en) Display method and device
CN105511947B (en) Method and device for processing event information in multiple systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230512

Address after: Room 401, Floor 4, No. 2, Haidian East Third Street, Haidian District, Beijing 100080

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: YUANXIN TECHNOLOGY

TR01 Transfer of patent right