一种基于容器的多系统交互通讯方法和装置的制造方法

文档序号:9887457阅读:191来源:国知局
一种基于容器的多系统交互通讯方法和装置的制造方法
【技术领域】
[0001]本申请涉及电数字数据处理领域,尤其涉及一种在基于容器技术的多系统移动终端中进行系统间交互通讯的方法和/或装置。
【背景技术】
[0002]通过容器技术,可以在一台移动终端如手机设备上同时运行两个以上操作系统。通常,多个操作系统中的一个操作系统是安全系统,支持的功能比较少但是安全;另外一个系统关注点不是安全,而是更多应用和丰富的功能。与安全相关的操作主要集中在安全操作系统上进行,其它的则可以在非安全系统上进行。每个系统分别在一容器中运行。
[0003]运行多个系统的设备一般只有唯一的显示设备和输入设备,各系统只能分时占用显示和输入设备。用户某一时刻只能与一个系统交互,如果想查看另外一个系统的内容,则需切换到另一系统,将显示和输入设备分配到另外一个系统,使用很不方便。

【发明内容】

[0004]本申请的目标在于提供一种使用方便、提高系统安全性和改善用户体验的多系统交互通讯方法和/或装置。
[0005]本申请的目标由一种基于容器的多系统交互通讯方法实现,其中一个主系统和一个以上子系统在同一移动终端中运行并共用内核,所述主系统和所述子系统均包括各自的显示服务模块和输入服务模块,内核中包括分别与所述移动终端的显示硬件和输入硬件交互通讯的主显示模块和主输入模块,该方法包括:
[0006]在内核中增加分别与子系统的显示服务模块交互通讯的虚拟显示模块;
[0007]使主显示模块仅与主系统的显示服务模块交互通讯;
[0008]在主系统中运行与子系统对应的子系统客户端,所述客户端分别与主系统的显不服务模块和输入服务模块及子系统的虚拟显示模块交互通讯。
[0009]本申请的目标还由一种基于容器的多系统交互通讯装置实现,其中一个主系统和一个以上子系统在同一移动终端中运行并共用内核,所述主系统和所述子系统均包括各自的显示服务模块和输入服务模块,内核中包括分别与所述移动终端的显示硬件和输入硬件交互通讯的主显示模块和主输入模块,该装置包括:
[0010]虚拟模块增加单元,用于在内核中增加分别与子系统的显示服务模块交互通讯的虚拟显示模块;
[0011 ]交互约束单元,用于使主显示模块仅与主系统的显示服务模块交互通讯;
[0012]子系统客户端,所述客户端在主系统中运行并分别与主系统的显示服务模块和输入服务模块及子系统的虚拟显示模块交互通讯。
[0013]本发明通过将显示和输入模块虚拟化,只让一个主系统使用实际的硬件设备,子系统使用虚拟化的显示设备与主系统交互,子系统的显示数据发送到虚拟的显示设备上,子系统的输入如触屏事件、按键事件等通过虚拟的输入设备获得或从主系统的输入模块直接获得,子系统的输入和显示完全被主系统控制。除主系统外,其它系统将不能占有显示和输入设备,避免了子系统对主系统的安全威胁。此外,多个子系统可以小窗口的形式在主系统内显示,用户可以快速的在多个子系统间切换和处理事务。
[0014]除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
【附图说明】
[0015]本发明将在下面参考附图并结合优选实施例进行更完全地说明。
[0016]图1为根据本发明方法的一实施例的流程图。
[0017]图2为根据本发明装置的一实施例的结构示意图。
[0018]图3为实施图1所示方法的系统示意图。
[0019]图4为实施本发明方法的另一实施例的系统示意图。
[0020]为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
【具体实施方式】
[0021]通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
[0022]在基于容器的多系统移动终端如手机中,每一容器作为操作系统环境内设备可以独立运行的一个子系统,子系统拥有自己的主界面、启动程序、应用程序以及各种小部件。通过容器技术,两个以上系统在同一移动终端中运行并共用内核。
[0023]图1示出了本发明方法的一实施例,其用于在基于容器的多系统移动终端如手机中进行系统间交互通讯。在此以手机中同时运行两个系统为例,分别记为A系统和B系统,其中A系统为主系统如Android系统,B系统为子系统如SyberOS(申请人开发的一种安全移动操作系统),两个系统共用内核。主系统A和子系统B均包括各自的显示服务模块和输入服务模块,内核中包括分别与手机的显示硬件和输入硬件交互通讯的主显示模块al和主输入模块a2。图3示出了实施图1所示方法的系统示意图。下面结合图3说明图1所示实施例的方法。该方法开始于步骤S10,在内核中增加子系统B的显示服务模块和输入服务模块交互通讯的虚拟显示模块bl和虚拟输入模块b2。虚拟显示模块bl和虚拟输入模块b2通过向B系统提供内核通用的显示和输入接口实现,如虚拟显示的:/dev/fb_virtualB,输入的:/dev/input_virtualB的设备文件。A系统和B系统都可以访问这些设备节点。之后,处理进行到步骤S20,使主显示模块al和主输入模块a2仅与主系统A的显示服务模块和输入服务模块交互通讯。之后,处理进行到步骤S30,在主系统A中安装并运行与子系统B对应的子系统客户端clientB程序,clientB程序可以同A系统的应用Appl、App2、App3同时运行。客户端clientB分别与主系统A的显示服务模块和输入服务模块及子系统B的虚拟显示模块bl和虚拟输入模块b2交互通讯。不管显示还是输入的数据,发送和接收的双方都为进程,所以虚拟显示模块b I和虚拟输入模块b2也可以利用通用的进程间通讯机制(IPC)实现,如so cke t通讯、共享内存等。在A系统和B系统中分别建立用于显示和输入的连接。A系统通过此连接向B系统发送输入数据,B系统向A系统发送显示数据。如A系统向/dev/inputjirtualB写入输入数据,B系统通过/dev/input_virtualB读取输入数据。A系统的clientB从/dev/fb_virtualB读取显示数据,B系统向/dev/fb_virtUalB写入数据。如图3中所示,按键、触屏等输入事件均通过内核中的主输入模块a2传输到A系统的输入服务模块,在A系统中的客户端cl ientB程序处于前台运行时,即当用户将输入焦点切换到clientB时,cl ientB执行下述处理:I)经主输入模块a2和A系统的输入服务模块接收A系统的输入事件;2)将接收的输入事件发送到虚拟输入模块b2』系统从虚拟输入模块b2中读取输入事件,并分发到B系统的应用程序。B系统的应用程序响应输入事件,并刷新UI显示,UI数据被B系统的显示服务模块合成处理后,发送到虚拟显示模块bldM系统的clientB读取虚拟显示模块bl的子系统显示数据;4)clientB将读取的子系统显示数据发送到A系统的显示服务模块合成处理,最终由A系统发送到内核中的主显示模块,输出到显示硬件上,完成真正的输出。
[0024]客户端clientB作为A系统中的一个应用,不断读取B系统的显示输入,但如果cl ientB在A系统中并未在前台,如当前用户正在使用A系统中Appl时,cl ientB的显示内容将不被用户看到,用户的输入也不会被cl ientB接收。只有当用户将cl ientB切换到前台时,clientB才显示和捕获输入。这样在用户看来,B系统就是A系统中的一个应用,用户可以在A系统中自由地控制B系统。
[0025]在其它实施例中,移动终端中可包括两个以上子系统。在该情形下,每一子系统对应一个客户端,及每一子系统对应一组虚拟显示模块和虚拟输入模块。所有子系统的客户端均在主系统上运行。
[0026]在其它实施例中,还可以使得B系统随clientB的打
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1