多系统的全局配置同步方法及装置与流程

文档序号:12463320阅读:220来源:国知局
多系统的全局配置同步方法及装置与流程

本发明涉及终端技术领域,具体而言,本发明涉及一种多系统的全局配置同步方法及装置。



背景技术:

智能手机、平板电脑和电子阅读器等终端设备已经广泛普及。相当一部分数量的终端设备中安装了两个操作系统。

现有的终端设备中每个操作系统,通常设置有该操作系统独立的全局配置项目。以全局配置项目中的铃声和振动为例,当用户需要将整个终端设备的铃声和振动都设置为静音时,现有的多系统的全局配置同步方法通常是用户人工将当前的一个操作系统中的铃声和振动设置为静音,再由用户切换至另一个操作系统,对另一个操作系统中的铃声和振动设置为静音。

然而,现有的多系统的全局配置同步方法,需要用户付出大量的操作;而且,用户容易遗漏针对某一操作系统中的全局配置项目的设置,导致操作系统之间同一全局配置项目的不统一,无法达到用户将整个终端设备的某一全局配置项目进行统一设置的初衷;给用户带来不便,降低了用户的体验。



技术实现要素:

本发明针对现有方式的缺点,提出一种多系统的全局配置同步方法及装置,用以解决现有技术存在多系统的全局配置项目的同步设置人工步骤较多,较为繁琐且容易发生漏设置的问题。

本发明的实施例根据一个方面,提供了一种多系统的全局配置同步方法,包括:

第一容器系统接收到针对全局配置项目的设置指令时,根据所述设置指令中的全局配置项目的信息,更新第一容器系统中相应的全局配置项目的信息,并生成相应的设置请求通过容器通道进行发送;

主控系统根据接收到的所述设置请求中的全局配置项目的信息,更新所述主控系统中预先存储的相应的全局配置项目的信息,并生成相应的配置更新通知通过容器通道进行发送;

其它容器系统根据接收到的所述配置更新通知中的全局配置项目的信息,更新所述其它容器系统中相应的全局配置项目的信息。

本发明的实施例根据另一个方面,还提供了一种多系统的全局配置同步装置,包括:主控系统和至少两个容器系统;所述两个容器系统中包括第一容器系统和其它容器系统;

第一容器系统包括:

第一配置模块,用于接收到针对全局配置项目的设置指令时,根据所述设置指令中的全局配置项目的信息,更新第一容器系统中相应的全局配置项目的信息,并生成相应的设置请求通过容器通道进行发送;

所述主控系统包括:

主控配置模块,用于根据接收到的所述设置请求中的全局配置项目的信息,更新所述主控系统中预先存储的相应的全局配置项目的信息,并生成相应的配置更新通知通过容器通道进行发送;

所述其它容器系统包括:

其它配置模块,用于根据接收到的所述配置更新通知中的全局配置项目的信息,更新所述其它容器系统中相应的全局配置项目的信息。

较佳地,本发明实施例中的第一配置模块包括:

第一配置服务单元,用于将所述设置指令进行发送;以及根据更新后的全局配置项目的信息,对第一容器系统的相应的全局配置项目进行设置;

第一配置投递器单元,用于根据所述设置指令中的全局配置项目的信息,更新第一容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息。

较佳地,本发明实施例中的其它配置模块包括:

其它配置投递器单元,用于接收所述配置更新通知后,根据所述配置更新通知中的全局配置项目的信息,更新所述其它容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息,并转发所述配置更新通知;

其它配置服务单元,用于根据接收的所述配置更新通知中的全局配置项目的信息,对所述其它容器系统的相应的全局配置项目进行设置。

较佳地,本发明实施例中的主控系统还包括:

启动模块,用于启动包含第一容器系统和所述其它容器系统在内的预先指定的至少两个容器系统及其各自的配置投递器单元和配置服务单元;以及

第一配置投递器单元还用于启动后,创建第一容器系统的配置信息缓存区,并通过容器通道获取所述主控系统中预先存储的全局配置项目的信息后,暂存于所创建的配置信息缓存区中;

第一配置服务单元还用于启动后,根据第一容器系统的配置信息缓存区中的全局配置项目的信息,对第一容器系统的相应的全局配置项目进行设置。

较佳地,第一配置服务单元还用于接收到针对第一容器系统的关闭指令时,转发所述关闭指令;以及

第一配置投递器单元还用于接收到所述关闭指令后,删除第一容器系统的配置信息缓存区后,关闭第一容器系统。

较佳地,第一配置服务单元还用于接收到针对全局配置项目的查询指令时,调用第一配置投递器单元,获取第一容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息,作为查询结果进行展示。

本发明实施例中,接收到针对全局配置项目的设置指令的第一容器系统,不但更新了本系统中相应的全局配置项目的信息;还更新了主控系统中预存的全局配置项目的信息,并通过主控系统使得其它容器系统更新其相应的全局配置项目的信息。相当于用户只需针对终端设备中任一容器系统输入设置指令,就可以使得该终端设备的所有容器系统相应的全局配置项目都同步更新到相一致的状态;容器系统运行阶段的全局配置项目的信息整个同步更新过程无需用户干预自动执行,大大减少了用户的人工操作步骤,大大降低了某个容器系统遗漏对全局配置项目的更新的几率,实现用户一次更新操作就可以更新整个终端设备中各容器系统的同一全局配置项目的目的,可以提升用户的体验。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的终端设备的内部结构的框架示意图;

图2为本发明实施例的多容器系统运行阶段的全局配置同步方法的流程示意图;

图3为本发明实施例的终端设备的内部结构的一个实例的框架示意图;

图4为本发明实施例的多容器系统运行阶段的全局配置同步方法的一个实例的流程框图;

图5为本发明实施例的多系统的全局配置同步装置的内部结构的框架示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本发明实施例中,容器系统是与用户交互的操作系统,主控系统是控制容器系统并为容器系统提供服务的系统。第一容器系统接收到针对全局配置项目的设置指令时,根据设置指令中的全局配置项目的信息,更新第一容器系统中相应的全局配置项目的信息,并生成相应的设置请求通过容器通道进行发送;主控系统根据接收到的设置请求中的全局配置项目的信息,更新主控系统中预先存储的相应的全局配置项目的信息,并生成相应的配置更新通知通过容器通道进行发送;其它容器系统根据接收到的配置更新通知中的全局配置项目的信息,更新其它容器系统中相应的全局配置项目的信息。可见,本发明实施例中,接收到针对全局配置项目的设置指令的第一容器系统,不但更新了本系统中相应的全局配置项目的信息;还更新了主控系统中预存的全局配置项目的信息,并通过主控系统使得其它容器系统更新其相应的全局配置项目的信息。相当于用户只需针对终端设备中任一容器系统输入设置指令,就可以实现更新该终端设备的所有容器系统相应的全局配置项目的目的或意图;整个同步更新过程无需用户干预自动执行,大大减少了用户的人工操作步骤,大大降低了某个容器系统遗漏对全局配置项目的更新的几率,可以提升用户的体验。

下面结合附图具体介绍本发明实施例的技术方案。

本发明实施例的终端设备的内部结构的框架示意图如图1所示,包括:主控系统和两个以上容器系统。

其中,两个以上容器系统可以包括第一容器系统、第二容器系统、…、第N容器系统。N为大于2的正整数。

本发明实施例中的容器系统,是设置在以Linux container(容器)虚拟化技术创建的容器中的操作系统。操作系统可以为传统意义上的Linux操作系统或Unix操作系统,也可以是基于Linux操作系统衍生出来的操作系统,例如Android系统等,还可以为以Windows平台为基础的windows系统等等。实际上,本发明中的容器系统不限于前述例举的操作系统,可以涵盖所有能够在容器中运行的操作系统。为便于描述,下面以Android系统作为容器系统为例阐述本发明的技术方案。

较佳地,主控系统可以是上述操作系统,也可以是对传统的kernel进行改进和/或在kernel之外(例如框架层和应用层)增加功能模块之后,得到的操作系统。

主控系统主要用于对多个容器系统进行启动/关闭、前后台进行管理,与各容器系统进行交互等,具体功能将在后续详述,此处不再赘述。

较佳地,主控系统可以通过容器通道与容器系统进行通信。进一步,容器通道可以是socket(套接字)通道。一个容器系统向主控系统发送容器通道创建请求;主控系统接到该容器系统的请求后,创建一个socket文件及该socket文件的一对描述符(socketpair),并为该对描述符命名;将该对描述符及其名称注册在主控系统的NSS(Name Space Server,域名空间服务)虚拟设备中;将注册成功的一对描述符中的一个描述符的名称返回给该容器系统;该容器系统根据描述符的名称从NSS虚拟设备获取对应的描述符后,可以通过该描述符与拥有该socket文件另一个描述符的主控系统进行通信。

本发明实施例的终端设备中,多个容器系统之间或者任意两个容器系统之间都适用本发明实施例的技术方案。

较佳地,本发明实施例中,将当前可以与用户交互(通常处于前台)的容器系统称为第一容器系统;将当前暂时无法与用户交互(通常处于后台)的容器系统都称为其它容器系统。

本发明实施例中,每个容器系统中设有配置服务和配置投递器。配置服务位于应用层,主要用于向配置投递器转发全局配置项目的设置指令、查询指令,接收配置投递器发送的配置更新通知,更新所在的容器系统的相应的全局配置项目的信息等,具体功能将在后续详述,此处不再赘述。配置投递器位于native(本地)层,主要用于缓存、同步主控系统维护的全局配置项目及信息,向配置服务提供全局配置项目及信息的设置、查询服务等,具体功能将在后续详述,此处不再赘述。

本发明实施例中,主控系统中预先存储有所有容器系统都涉及的全局配置项目、以及全局配置项目的信息。

全局配置项目可以包括下述至少一项:运行模式、情景模式、屏幕亮屏时间、时区。

运行模式可以包括:普通模式、飞行模式、省电模式、勿扰模式和夜间护眼模式等。例如,飞行模式的信息包括将关闭终端设备的所有网络功能;勿扰模式的信息包括将屏蔽除闹钟之外的铃声、提示音和振动;夜间护眼模式的信息包括将屏幕亮度降低到设定亮度值以下等等。

情景模式包括:普通场景模式、会议模式、睡眠模式、离线模式、户外模式、家庭模式和车载模式等等。例如,普通场景模式的信息包括来电、信息、通知、多媒体和闹钟的铃声或提示音的种类和音量;会议模式的信息包括各种铃声或提示音设置为静音并开启振动;户外模式包括将各种铃声或提示音设置为渐响并开启振动,等等。

本发明实施例中提供一种多容器系统启动阶段的全局配置同步方法。

具体地,主控系统启动后,启动包含第一容器系统和其它容器系统在内的预先指定的至少两个容器系统及其各自的配置投递器和配置服务。较佳地,包含第一容器系统和其它容器系统在内的预先指定的至少两个容器系统,针对该至少两个容器系统中的每个容器系统,主控系统启动该容器系统中的配置投递器;该容器系统中的配置投递器启动后,启动该容器系统中的配置服务。

对于至少两个容器系统中的每个容器系统,该容器系统的配置投递器启动后,创建该容器系统的配置信息缓存区,并通过容器通道获取主控系统中预先存储的全局配置项目的信息后,暂存于所创建的配置信息缓存区中。

该容器系统的配置服务启动后,根据该容器系统的配置信息缓存区中的全局配置项目的信息,对该容器系统的相应的全局配置项目进行设置。

容易看出,本发明实施例中,各容器系统在启动过程中,会根据主控系统中预存的全局配置项目及信息,统一更新各自的全局配置项目的信息。使得各容器系统的全局配置项目的信息同步到一致的状态。

在多个容器系统启动后处于运行状态过程中,本发明实施例提供了一种多容器系统运行状态的全局配置方法,该方法的流程示意图如图2所示,包括下述步骤:

S201:第一容器系统接收到针对全局配置项目的设置指令时,根据设置指令中的全局配置项目的信息,更新第一容器系统中相应的全局配置项目的信息,并生成相应的设置请求通过容器通道进行发送。

全局配置项目可以包括下述至少一项:运行模式、情景模式、屏幕亮屏时间、时区。运行模式可以包括:普通模式、飞行模式、省电模式、勿扰模式和夜间护眼模式等。情景模式包括:普通场景模式、会议模式、睡眠模式、离线模式、户外模式、家庭模式和车载模式等等。例如,普通场景模式的信息包括来电、信息、通知、多媒体和闹钟的铃声或提示音的种类和音量;会议模式的信息包括各种铃声或提示音设置为静音并开启振动;户外模式包括将各种铃声或提示音设置为渐响并开启振动,等等。

第一容器系统可以通过多种方法接收用户针对全局配置项目的设置指令。

一种接收针对全局配置项目的设置指令的方法包括:第一容器系统显示全局配置项目;接收到用户针对全局配置项目的选择操作后,显示该全局配置项目的用户自定义信息输入框;通过该用户自定义信息输入框接收用户针对该全局配置项目输入的信息,确认接收到针对该全局配置项目的设置指令,且该设置指令中携带有用户输入的全局配置项目的信息。

另一种接收针对全局配置项目的设置指令的方法包括:第一容器系统显示全局配置项目及其至少一个待选信息;接收到用户针对该全局配置项目的一个待选信息的选择操作时,确认接收到针对该全局配置项目的设置指令,且该设置指令中携带有用户所选择的全局配置项目的信息。

第一容器系统根据接收到的设置指令中的全局配置项目及其信息,从第一容器系统中预存的至少一个全局配置项目中,查找出与设置指令中全局配置项目一致的全局配置项目;将查找出的全局配置项目的信息替换为设置指令中该全局配置项目的信息,或将查找出的全局配置项目的信息修改为与设置指令中该全局配置项目的信息一致。

第一容器系统根据接收到的设置指令生成相应的设置请求;将设置指令中的全局配置项目及其信息携带于该设置请求中后,通过容器通道向主控系统发送。

较佳地,第一容器系统中的第一配置服务接收到针对全局配置项目的设置指令时,将该设置指令发送至第一容器系统中的第一配置投递器。

第一配置投递器根据设置指令中的全局配置项目及其信息,更新第一容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息。

第一配置服务根据更新后的全局配置项目的信息,对第一容器系统的相应的全局配置项目进行设置;设置全局配置项目以使其生效的具体方法为本领域技术人员所熟知,此处不再赘述。

第一配置投递器根据设置指令中的全局配置项目的信息,生成相应的设置请求,通过容器通道向主控系统发送。

S202:主控系统根据接收到的设置请求中的全局配置项目的信息,更新主控系统中预先存储的相应的全局配置项目的信息,并生成相应的配置更新通知通过容器通道进行发送。

主控系统接收到设置请求后,从中解析出全局配置项目及其信息;从主控系统中预先存储的至少一个全局配置项目中,查找出与解析出的全局项目相一致的全局配置项目;将查找出的全局配置项目的信息替换为解析出的全局配置项目的信息,或者将查找出的全局配置项目的信息修改为与解析出的全局配置项目的信息一致。

较佳地,主控系统从预设在其中的全局配置项目数据库中预先存储的至少一个全局配置项目中,查找出与解析出的全局项目相一致的全局配置项目;将查找出的全局配置项目的信息替换为解析出的全局配置项目的信息,或者将查找出的全局配置项目的信息修改为与解析出的全局配置项目的信息一致。

并且,主控系统根据接收到的设置请求,生成相应的配置更新通知;将从设置请求中解析出的全局配置项目及其信息携带于配置信息通知中后,通过容器通道向其它容器系统发送。

较佳地,当存在两个以上其它容器系统时,主控系统对于每个其它容器系统,将生成的针对全局配置项目的配置更新通知,通过主控系统与该其它容器系统的容器通道,向该其它容器系统发送。

S203:其它容器系统根据接收到的配置更新通知中的全局配置项目的信息,更新其它容器系统中相应的全局配置项目的信息。

其它容器系统接收到配置更新通知后,从中解析出全局配置项目及其信息;从该其它容器系统中预存的至少一个全局配置项目中,查找出与解析出的全局配置项目相一致的全局配置项目;将查找出的全局配置项目的信息替换为解析出的全局配置项目的信息,或者将查找出的全局配置项目的信息修改为与解析出的全局配置项目的信息相一致。

较佳地,其它容器系统中的其它配置投递器接收到配置更新通知后,根据配置更新通知中的全局配置项目的信息,更新其它容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息,并转发配置更新通知。

同一其它容器系统中的其它配置服务根据接收的配置更新通知中的全局配置项目的信息,对其它容器系统的相应的全局配置项目进行设置。

通过上述步骤S201-203可以看出,本发明实施例中,对于处于运行状态的多个容器系统只需用户针对终端设备中运行的任一容器系统输入设置指令,就可以使得所有运行中的容器系统相应的全局配置项目的信息得到同步更新;使得整个终端设备中各容器系统相应的全局配置项目的信息同步到一致的状态;整个同步更新过程无需用户干预自动执行,大大减少了用户的人工操作步骤,大大降低了某个容器系统遗漏对全局配置项目的更新的几率,可以提升用户的体验。

本发明实施例还提供了一种容器系统关闭及再启动阶段的全局配置同步方法。

具体地,对于本发明实施例中包含第一容器系统和其它容器系统在内的预先指定的至少两个容器系统,针对该至少两个容器系统中的每个容器系统,该容器系统的配置服务接收到针对该容器系统的关闭指令时,进行转发;该容器系统的配置投递器根据关闭指令,删除该容器系统的配置信息缓存区后,关闭该容器系统。

当上述关闭的容器系统重新启动时,启动该容器系统的配置投递器和配置服务。较佳地,主控系统启动该容器系统中的配置投递器;该容器系统中的配置投递器启动后,启动该容器系统中的配置服务。

该容器系统的配置投递器启动后,创建该容器系统的配置信息缓存区,并通过容器通道获取主控系统中预先存储的全局配置项目的信息后,暂存于所创建的配置信息缓存区中。配置服务根据重新创建的配置信息缓存区中的全局配置项目的信息,对所属的容器系统的相应的全局配置项目进行设置。

容易看出,根据容器系统关闭及再启动阶段的全局配置同步方法,在删除容器系统的配置信息缓存区之前或过程中,该配置信息缓存区中存储的该容器系统的全局配置项目及其信息被删除;待该容器系统重新启动后,重新创建配置信息缓存区,将主控系统中长期存储的全局配置项目及其信息暂存到所重新创建的配置信息缓存区中。此时,重新启动的容器系统的全局配置项目及其信息与主控系统中的全局配置项目及其信息保持一致;由于已运行的其他容器系统的全局配置项目及其信息也与主控系统中的全局配置项目及其信息保持一致;因此,重新启动的容器系统的全局配置项目及其信息,与已运行的其他容器系统的全局配置项目及其信息同步到一致的状态。

本发明实施例还提供了一种多系统的全局配置查询方法。

具体地,对于包含第一容器系统和其它容器系统在内的预先指定的至少两个容器系统,针对该至少两个容器系统中的每个容器系统,该容器系统的配置服务接收到针对全局配置项目的查询指令时,调用该容器系统的配置投递器;由该容器系统的配置投递器,获取该容器系统的配置信息缓存区中预先暂存的相应的全局配置项目及其信息,作为查询结果向该容器系统的配置服务返回;该容器系统的配置服务根据接收到的全局配置项目及其信息进行展示,供用户查阅。

下面介绍本发明实施例的终端设备的内部结构的一个实例,该实例的框架示意图如图3所示。图3中的contanerA、B分别表示第一容器系统、其它容器系统。主控系统中包括config_service(主控配置服务)和configdb(全局配置项目数据库)。config_service的主要功能是长期存储所属终端设备的全局配置项目及其信息,向该终端设备中容器系统提供全局配置项目及其信息的初始化、更新和查询服务。Configdb主要功能是存储主控系统所属终端设备中所有操作系统的全局配置项目及其信息,即本发明实施例中的终端设备的全局配置项目及其信息。

每个容器系统,例如containA或B中都包括ConfigService(配置服务)、ConfigFlinger(配置投递器)、JNI(Java Native Interface,Jave本地接口)和HAL(Hardware Abstraction Layer,硬件抽象层)。ConfigFlinger位于容器系统的native(本地)层。ConfigService位于容器系统的framework(框架)层中的java层,即ConfigService的源代码可以由java语言编写而成。ConfigService与ConfigFlinger通过JNI进行交互。HAL层动态库,用于封装容器系统中的ConfigFlinger与主控系统中的config_service间交互的channel(容器通道),相当于主控系统中的config_service在HAL层中的接口。

下面介绍本发明实施例的多容器系统运行状态的全局配置方法的一个特例,该特例的流程示意图如图4所示。图4中containerA表示第一容器系统,containerB表示其它容器系统。containerA和B都为android(安卓)系统。

containerA中的android_set_config表示containerA接收到用户输入的针对某一全局配置项目的设置指令;将该设置指令传输至containerA中的java层ConfigServie;由该ConfigServie通过containerA中的JNI,将设置指令传输至containerA中的native层的ConfigFlinger;native ConfigFlinger set cache表示由该ConfigFlinger根据设置指令中的全局配置项目及其信息,对containerA中的配置信息缓存区cache中相应的全局配置项目的信息进行设置set更新;之后的native ConfigFlinger call HAL library表示,该ConfigFlinger根据设置指令生成设置请求,通过调用containerA与主控系统之间的容器通道channel封装在HAL library(库)中的接口,将设置请求通过该容器通道向主控系统发送。

config_service save configdb表示主控系统中的config_service接收到containerA发送的设置请求后,将设置请求中的全局设置项目及其信息,覆盖存储到主控系统中的全局设置项目数据库configdb中;具体而言,可以将设置请求中的全局设置项目的信息,替换全局设置项目数据库中同一全局设置项目的信息。config_service transmit config info表示主控系统中的config_service将设置请求转换为配置更新通知transmit config info后,通过主控系统与containerB之间的容器通道channel向containerB发送。

containerB中的transmit config info to HAL libray表示containerB中的ConfigFlinger通过主控系统与containerB之间的容器通道channel封装在HAL library(库)中的接口,接收到主控系统发送的配置更新通知transmit config info。native ConfigFlinger update cache表示containerB中native层的ConfigFlinger根据接收到的配置更新通知中的全局配置项目及其信息,对containerB中的配置信息缓存区cache中存储的相应的全局配置项目的信息进行更新update。之后,该ConfigFlinger将接收的配置更新通知通过containerB中的JNI发送至containerB中jave层的ConfigService。android update表示由该ConfigService根据接收的配置更新通知中的全局配置项目及其信息,对containerB相应的全局配置项目的信息的设置更新。

至此,containerA和B完成了全局配置项目的信息的同步更新;此时,containerA和B以及主控系统中同一全局配置项目的信息同步至相一致的状态。

基于上述各阶段的多系统的全局配置同步方法,本发明实施例还提供了一种多系统的全局配置同步装置,该装置设置于本发明实施例的终端设备中,该装置的内部结构的框架示意图如图5所示,包括:主控系统和至少两个容器系统。

其中,至少两个容器系统中包括第一容器系统和其它容器系统。

第一容器系统包括:第一配置模块511。

第一配置模块511用于接收到针对全局配置项目的设置指令时,根据设置指令中的全局配置项目的信息,更新第一容器系统中相应的全局配置项目的信息,并生成相应的设置请求通过容器通道进行发送。

主控系统包括:主控配置模块501。

主控配置模块501用于根据接收到的设置请求中的全局配置项目的信息,更新主控系统中预先存储的相应的全局配置项目的信息,并生成相应的配置更新通知通过容器通道进行发送。

其它容器系统包括:其它配置模块521。

其它配置模块521用于根据接收到的配置更新通知中的全局配置项目的信息,更新其它容器系统中相应的全局配置项目的信息。

更优的,如图5所示,本发明实施例中的第一配置模块511包括:第一配置服务单元5111和第一配置投递器单元5112。

其中,第一配置服务单元5111用于将设置指令进行发送;以及根据更新后的全局配置项目的信息,对第一容器系统的相应的全局配置项目进行设置。

第一配置投递器单元5112用于根据设置指令中的全局配置项目的信息,更新第一容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息。

更优的,如图5所示,本发明实施例中的其它配置模块521包括:其它配置服务单元5211和其它配置投递器单元5212。

其中,其它配置投递器单元5212用于接收配置更新通知后,根据配置更新通知中的全局配置项目的信息,更新其它容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息,并转发配置更新通知。

其它配置服务单元5211用于根据接收的配置更新通知中的全局配置项目的信息,对其它容器系统的相应的全局配置项目进行设置。

更优的,如图5所示,本发明实施例中的主控系统还包括:启动模块502。

启动模块502用于启动包含第一容器系统和其它容器系统在内的预先指定的至少两个容器系统及其各自的配置投递器单元和配置服务单元。

以及,第一配置投递器单元5112还用于启动后,创建第一容器系统的配置信息缓存区,并通过容器通道获取主控系统中预先存储的全局配置项目的信息后,暂存于所创建的配置信息缓存区中。

第一配置服务单元5111还用于启动后,根据第一容器系统的配置信息缓存区中的全局配置项目的信息,对第一容器系统的相应的全局配置项目进行设置。

其它配置投递器单元5212还用于启动后,创建其所属的其它容器系统的配置信息缓存区,并通过容器通道获取主控系统中预先存储的全局配置项目的信息后,暂存于所创建的配置信息缓存区中。

其它配置服务单元5211还用于启动后,根据其所属的其它容器系统的配置信息缓存区中的全局配置项目的信息,对该其它容器系统的相应的全局配置项目进行设置。

较佳地,第一配置服务单元5111还用于接收到针对第一容器系统的关闭指令时,转发关闭指令;以及,第一配置投递器单元5112还用于接收到关闭指令后,删除第一容器系统的配置信息缓存区后,关闭第一容器系统。

较佳地,其它配置服务单元5211还用于接收到针对其所属的其它容器系统的关闭指令时,转发关闭指令;以及,其它配置投递器单元5112还用于接收到关闭指令后,删除其所属的其它容器系统的配置信息缓存区后,关闭该其它容器系统。

较佳地,第一配置服务单元5111还用于接收到针对全局配置项目的查询指令时,调用第一配置投递器单元5112,获取第一容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息,作为查询结果进行展示。

较佳地,其它配置服务单元5211还用于接收到针对全局配置项目的查询指令时,调用其它配置投递器单元5212,获取其所属的其它容器系统的配置信息缓存区中预先暂存的相应的全局配置项目的信息,作为查询结果进行展示。

在实际操作中,当其它容器系统与第一容器系统发送切换,由其它容器系统直接与用户进行交互、且第一容器系统无法直接与用户进行交互时,上述其它容器系统中的其它配置模块521及其中的其它配置服务单元5211和其它配置投递器单元5212的功能,将与第一容器系统中的第一配置模块511及其第一配置服务单元5111和第一配置投递器单元5112的功能发生互换。

事实上,其它配置模块521及其中的其它配置服务单元5211和其它配置投递器单元5212,与第一配置模块511及其第一配置服务单元5111和第一配置投递器单元5112具有相同的功能;标号与名称前缀的不同,仅在于标识其属于不同的容器系统而已。

本发明实施例中,接收到针对全局配置项目的设置指令的第一容器系统,不但更新了本系统中相应的全局配置项目的信息;还更新了主控系统中预存的全局配置项目的信息,并通过主控系统使得其它容器系统更新其相应的全局配置项目的信息。相当于用户只需针对终端设备中任一容器系统输入设置指令,就可以使得该终端设备的所有容器系统相应的全局配置项目都同步更新到相一致的状态;容器系统运行阶段的全局配置项目的信息整个同步更新过程无需用户干预自动执行,大大减少了用户的人工操作步骤,大大降低了某个容器系统遗漏对全局配置项目的更新的几率,实现用户一次更新操作就可以更新整个终端设备中各容器系统的同一全局配置项目的目的,可以提升用户的体验。

而且,本发明实施例中,主控系统中长期存储有其所属的终端设备的全局设置项目及其信息,当终端设备启动时,首先启动主控系统,由主控系统启动容器系统,启动的容器系统可以将主控系统中的全局设置项目及其信息,暂存到本容器系统中,并根据暂存的全局设置项目及其信息进行设置。此时,启动后的容器系统中的全局设置项目的信息与运行中的容器系统以及主控系统中的全局设置项目的信息同步到相一致的状态。启动阶段的全局配置项目的信息同步更新过程无需用户干预自动执行,进一步减少用户的操作步骤,可以防止容器系统在启动阶段遗漏对全局配置项目的同步更新,实现用户一次更新操作就可以更新整个终端设备中各容器系统的同一全局配置项目的目的,可以提升用户的体验。

进一步,本发明实施例中,主控系统中长期存储有其所属的终端设备的全局设置项目及其信息,当容器系统关闭后重新启动时,重新启动的容器系统可以将主控系统中的全局设置项目及其信息,暂存到本容器系统中,并根据暂存的全局设置项目及其信息进行设置。此时,重新启动后的容器系统中的全局设置项目的信息与运行中的容器系统以及主控系统中的全局设置项目的信息同步到相一致的状态。关闭且重新启动阶段的全局配置项目的信息同步更新过程无需用户干预自动执行,进一步减少用户的操作步骤,可以防止容器系统在关闭且重新启动阶段遗漏对全局配置项目的同步更新,实现用户一次更新操作就可以更新整个终端设备中各容器系统的同一全局配置项的目的,可以提升用户的体验。

本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1