首页 / 专利库 / 资料储存系统 / 树遍历 / 模块间消息状态同步方法、装置、电子设备及存储介质

间消息状态同步方法、装置、电子设备及存储介质

阅读:224发布:2020-05-12

专利汇可以提供间消息状态同步方法、装置、电子设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种模 块 间消息状态同步方法、装置、 电子 设备及存储介质,该方法包括:检测应用程序中模块的消息状态是否发生变化;当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息;根据所述目标模块的 节点 标识遍历所述节点树,获取与所述目标模块相关联的所有模块;响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。本发明提供的技术方案把相关模块放在节点树中,当目标模块的状态发生变化时,其他与该模块相关联的父级模块的状态也同步发生变化,使得用户可以及时获取到消息状态的变化,提高用户的体验。,下面是间消息状态同步方法、装置、电子设备及存储介质专利的具体信息内容。

1.一种模间消息状态同步方法,其特征在于,包括:
检测应用程序中模块的消息状态是否发生变化;
当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息,所述模块信息包括目标模块在节点树中的节点标识,所述节点树至少包含表示所述目标模块的节点,以及表示所述目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,所述目标模块没有子级模块;
根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块;
响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
2.根据权利要求1所述的一种模块间消息状态同步方法,其特征在于,在检测应用程序中目标模块的消息状态发生变化之后,所述方法还包括:
获取所有模块的结构体数据,所述结构体数据包括各模块对应节点的节点标识、所述节点的父节点标识以及所述节点的所有子节点标识;
根据各个模块的结构体数据构建节点树。
3.根据权利要求1所述的一种模块间消息状态同步方法,其特征在于,所述应用程序中目标模块的消息状态的变化为目标模块有消息提醒时,响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态,包括:
将所述目标模块,以及遍历得到的与所述目标模块相关联的所有模块添加到第一预设列表中;
响应于检测到的消息状态,为所述第一预设列表中的所有模块同步添加视图展示标识。
4.根据权利要求3所述的一种模块间消息状态同步方法,其特征在于,所述方法还包括:
获取所述目标模块的视图展示标识,所述视图展示标识包含多种形式;
将所述视图展示标识添加到与所述目标模块相关联的所有模块的视图中。
5.一种模块间消息状态同步装置,其特征在于,包括:
检测模块,用于检测应用程序中模块的消息状态是否发生变化;
第一获取模块,用于当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息,所述模块信息包括目标模块在节点树中的节点标识,所述节点树至少包含表示所述目标模块的节点,以及表示所述目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,所述目标模块没有子级模块;
第二获取模块,用于根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块;
同步模块,用于响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
6.根据权利要求5所述的一种模块间消息状态同步装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所有模块的结构体数据,所述结构体数据包括各模块对应节点的节点标识、所述节点的父节点标识以及所述节点的所有子节点标识;
构建模块,用于根据各个模块的结构体数据构建节点树。
7.根据权利要求5所述的一种模块间消息状态同步装置,其特征在于,所述同步模块,用于,
将所述目标模块,以及遍历得到的与所述目标模块相关联的所有模块添加到第一预设列表中;
响应于检测到的消息状态,为所述第一预设列表中的所有模块同步添加视图展示标识。
8.根据权利要求7所述的一种模块间消息状态同步装置,其特征在于,所述同步模块,进一步用于,
获取所述目标模块的视图展示标识,所述视图展示标识包含多种形式;
将所述视图展示标识添加到与所述目标模块相关联的所有模块的视图中。
9.一种电子设备,其特征在于,包括处理器.通信接口.存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的模块间消息状态同步方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有模块间消息状态同步方法程序,所述模块间消息状态同步方法程序被处理器执行时实现权利要求1-4任一所述的模块间消息状态同步方法的步骤。

说明书全文

间消息状态同步方法、装置、电子设备及存储介质

技术领域

[0001] 本发明实施例涉及计算机技术领域,具体涉及一种模块间消息状态同步方法、装置、电子设备及存储介质。

背景技术

[0002] 随着移动互联网技术的快速发展,终端设备如手机、平板电脑上的各种APP(Application,应用程序)越来越多。
[0003] APP包括多个模块,模块是指具有某些特定功能的控件,比如设置模块、版本更新模块、功能介绍模块等,当APP中的某个模块有消息的提醒时,就需要在该模块上以某种形式展示消息提醒,让用户在此模块的展示页面上看到有新的消息提醒。但是这种消息提醒的方式只能是在用户打开此模块所在的页面时才能看到此消息提醒,这就使得用户不能及时的获取新的消息,影响用户的体验。
[0004] 上述对问题的发现过程的描述,仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术

发明内容

[0005] 为了解决上述技术问题或者至少部分地解决上述技术问题,本发明实施例提供了一种模块间消息状态同步方法、装置、电子设备及存储介质。
[0006] 根据本公开实施例的第一方面,提供一种模块间消息状态同步方法,包括:
[0007] 检测应用程序中模块的消息状态是否发生变化;
[0008] 当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息,所述模块信息包括目标模块在节点树中的节点标识,所述节点树至少包含表示所述目标模块的节点,以及表示所述目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,所述目标模块没有子级模块;
[0009] 根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块;
[0010] 响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
[0011] 进一步地,在检测应用程序中目标模块的消息状态发生变化之后,所述方法还包括:
[0012] 获取所有模块的结构体数据,所述结构体数据包括各模块对应节点的节点标识、所述节点的父节点标识以及所述节点的所有子节点标识;
[0013] 根据各个模块的结构体数据构建节点树。
[0014] 进一步地,所述应用程序中目标模块的消息状态的变化为目标模块有消息提醒时,响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态,包括:
[0015] 将所述目标模块,以及遍历得到的与所述目标模块相关联的所有模块添加到第一预设列表中;
[0016] 响应于检测到的消息状态,为所述第一预设列表中的所有模块同步添加视图展示标识。
[0017] 进一步地,所述方法还包括:
[0018] 获取所述目标模块的视图展示标识,所述视图展示标识包含多种形式;
[0019] 将所述视图展示标识添加到与所述目标模块相关联的所有模块的视图中。
[0020] 根据本公开实施例的第二方面,提供了一种模块间消息状态同步装置,包括:
[0021] 检测模块,用于检测应用程序中模块的消息状态是否发生变化;
[0022] 第一获取模块,用于当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息,所述模块信息包括目标模块在节点树中的节点标识,所述节点树至少包含表示所述目标模块的节点,以及表示所述目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,所述目标模块没有子级模块;
[0023] 第二获取模块,用于根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块;
[0024] 同步模块,用于响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
[0025] 进一步地,所述装置还包括:
[0026] 第三获取模块,用于获取所有模块的结构体数据,所述结构体数据包括各模块对应节点的节点标识、所述节点的父节点以及所述节点的所有子节点标识;
[0027] 构建模块,用于根据各个模块的结构体数据构建节点树。
[0028] 进一步地,所述同步模块,用于,
[0029] 将所述目标模块,以及遍历得到的与所述目标模块相关联的所有模块添加到第一预设列表中;
[0030] 响应于检测到的消息状态,为所述第一预设列表中的所有模块同步添加视图展示标识。
[0031] 进一步地,所述同步模块,进一步用于,
[0032] 获取所述目标模块的视图展示标识,所述视图展示标识包含多种形式;
[0033] 将所述视图展示标识添加到与所述目标模块相关联的所有模块的视图中。
[0034] 根据本公开实施例的第三方面,提供了一种电子设备,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0035] 存储器,用于存放计算机程序
[0036] 处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法的步骤。
[0037] 根据本公开实施例的第四方面,提供了一种存储介质,所述存储介质上存储有模块间消息状态同步方法程序,所述模块间消息状态同步方法程序被处理器执行时实现上述任一所述的模块间消息状态同步方法的步骤。
[0038] 与最接近的现有技术相比,本发明实施例首先检测应用程序中模块的消息状态是否发生变化;若检测到应用程序中目标模块的消息状态发生变化,获取目标模块的模块信息;然后根据目标模块的节点标识遍历节点树,获取与目标模块相关联的所有模块;最后将上述所有模块的状态同步成目标模块的状态。本方案把状态发生变化的模块和与该模块相关联的各父级模块放在节点树中,当目标模块的状态发生变化时,其他与该模块相关联的父级模块的状态也同步发生变化,与现有技术中,当目标模块状态发生变化时,只能是在用户打开此模块所在的页面时才能看到此状态变化相比,使得用户可以及时获取到消息状态的变化,提高用户的体验。附图说明
[0039] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0040] 图1是根据一示例性实施例示出的一种模块间消息状态同步方法的流程图
[0041] 图2是根据一示例性实施例示出的一种将模块对应成节点的方法流程图;
[0042] 图3是根据一示例性实施例示出的补充节点树的方法流程图;
[0043] 图4是根据一示例性实施例示出的另一种模块间消息状态同步方法的流程图;
[0044] 图5是根据一示例性实施例示出的一种目标模块的视图展示标识的示意图;
[0045] 图6是根据一示例性实施例示出的一种目标模块的父级模块的视图展示标识的示意图;
[0046] 图7是根据一示例性实施例示出的另一种模块间消息状态同步方法的流程图;
[0047] 图8是根据一示例性实施例示出的一种目标模块的视图展示标识消失的示意图;
[0048] 图9是根据一示例性实施例示出的一种目标模块的父级模块的视图展示标识消失的示意图;
[0049] 图10是根据一示例性实施例示出的一种模块间消息状态同步装置的结构示意图;
[0050] 图11是根据一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

[0051] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 现在将参考附图描述实现本发明各个实施例的移动客户端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
[0053] 本公开的各步骤的执行主体是终端设备。该终端设备可以是诸如手机、平板电脑、笔记本电脑、掌上电脑、PAD(Personal Digital Assistant,个人数字助理)、PMP(Portable Media Player,便捷式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
[0054] 本发明实施例提供了一种模块间消息状态同步方法。如图1所示,为本发明实施例示出的一种模块间消息状态同步方法的流程图。
[0055] 在步骤S101中,检测应用程序中模块的消息状态是否发生变化。
[0056] 在本发明实施例中,模块的消息状态可以是有新消息提醒,也可以是用户已经查看了消息后的消息提醒被读取。例如,某应用程序发生更新时,会有新版本的更新消息提醒,相应的检查更新模块的状态会发生变化。
[0057] 其中,模块是应用程序中具有某种功能的控件。例如,设置模块、更新模块等等。
[0058] 在步骤S102中,当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息。
[0059] 具体地,模块信息包括目标模块在节点树中的节点标识,该节点树至少包含表示目标模块的节点,以及表示目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,该目标模块没有子级模块。
[0060] 进一步地,应用程序中包含很多具有某种功能的控件,这些控件称为模块,各模块间具有层级关系,父级模块是指当前模块的上一级模块。也就是,当点击父级模块后,应用程序会展示一个页面,这个页面中展示的模块即为父级模块的子级模块。
[0061] 在本发明实施例中,当检测到应用程序中的某个模块的消息状态发生变化时,将该模块定义为目标模块,同时获取目标模块的节点标识信息。目标模块的模块信息包括目标模块在节点树中对应的节点,目标模块的各级父级模块在节点树中对应的节点等。
[0062] 在步骤S103中,根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块。
[0063] 在本发明实施例中,节点树是在检测到目标应用程序中目标模块的消息状态发生变化后,根据目标模块节点、与目标模块相关联的各级父级模块的节点以及各父级模块的所有子级模块的节点建立的。
[0064] 通过遍历节点树,可以将目标模块的各级父级模块查找出来。目标模块的各级父级模块是指目标模块的父级模块、目标模块的父级模块的父级模块,一直到根模块。
[0065] 具体地,每个模块都是独立的功能模块,互相之间是不存在关系的,他们之间的关系是设置的,也可以根据不同情况进行改变,所以将赋予关系的各个模块放置到树形结构上。然后可以通过遍历节点树,找到与目标模块相关联的各个模块,通过这种寻找方式,可以更加方便、快捷的寻找,效率更高。
[0066] 在步骤S104中,响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
[0067] 在本发明实施例中,把上一步骤中获取的与目标模块相关联的所有模块的状态同步成目标模块的状态。也就是,有新消息提醒时就将与目标模块相关联的所有模块的状态都同步成新消息提醒状态,以方便用户及时获取到新的消息;当消息提醒被用户读取时,将目标模块的消息提醒取消,同时判断与目标模块相关联的所有模块的子级模块中是否有新消息提醒,若是某个父级模块的子级模块有新消息提醒,此时就把与目标模块相关联的所有模块中没有子级模块有新消息提醒的模块的状态同步成消息提醒取消状态。
[0068] 本发明实施例,首先检测应用程序中模块的消息状态是否发生变化;若检测到应用程序中目标模块的消息状态发生变化,获取目标模块的模块信息;然后根据目标模块的节点标识遍历节点树,获取与目标模块相关联的所有模块;最后将上述所有模块的状态同步成目标模块的状态。本方案把状态发生变化的模块和与该模块相关联的各父级模块放在节点树中,当目标模块的状态发生变化时,其他与该模块相关联的父级模块的状态也同步发生变化,与现有技术中,当目标模块状态发生变化时,只能是在用户打开此模块所在的页面时才能看到此状态变化相比,使得用户可以及时获取到消息状态的变化,提高用户的体验。
[0069] 在本发明一个可能的实施方式中,如图2所示,为本发明实施例示出的将模块对应成节点的方法流程图。
[0070] 在步骤S201中,获取所有模块的结构体数据。
[0071] 在本发明实施例中,首先获取各个模块的结构体数据,其中结构体数据包括各模块对应到节点树中的节点的节点标识、节点的父节点的节点标识,以及节点的所有子节点的节点标识。
[0072] 在步骤S202中,根据各个模块的结构体数据构建节点树。
[0073] 在本发明实施例中,根据上述获取的各个模块的结构体数据,也就是,各模块对应节点的节点标识、节点的父节点标识以及节点的所有子节点标识,生成与应用程序中各个模块对应的节点树。
[0074] 在本发明的一个可能的实施方式中,根据模块间的层级关系将应用程序中的各个模块都设置成相关联的节点,也就是将各个模块的结构体数据关联到一起形成节点树。例如,应用程序包含多个层级时,设置模块是检查更新模块的父级模块,用户模块是设置模块的父级模块,应用程序根模块是用户模块的父级模块,其中,检查更新模块没有子级模块,应用程序根模块没有父级模块。
[0075] 具体地,当检测到应用程序中目标模块的消息状态发生变化后,将该目标模块的节点标识设置成第一节点标识,然后根据应用程序中各模块的层级关系,获取目标模块的各级父级模块直到应用程序的根级模块,也就是,获取目标模块的父级模块、目标模块的父级模块的父级模块、……、应用程序的根模块。
[0076] 通过将各个模块的节点标识设置成节点树中的节点标识,将模块与节点树中的节点一一对应,以便后续查找使用。
[0077] 在本发明的另一可能的实施方式中,如图3所示,为本发明实施例示出的补充节点树的方法流程图。
[0078] 在步骤S301中,判断所述节点树中是否包含与所述第一节点标识对应的第一节点。
[0079] 在本发明实施例中,通过上述步骤中与模块对应的节点标识查找节点树中是否包含此节点,也就是,在节点树中查找与目标模块相对应的节点。
[0080] 在步骤S302中,若所述节点树中不包含所述第一节点,则将所述第一节点添加到所述节点树中。
[0081] 在本发明实施例中,若是在节点树中查找不到与目标模块对应的节点,则将目标模块对应的第一节点添加到节点树中,然后进行下一步骤;若是在节点树中找到与目标模块对应的节点,则直接进行下一步骤。
[0082] 在步骤S303中,根据所述第一节点的各级父节点标识,判断所述节点树中是否包含与所述各级父节点标识对应的父节点。
[0083] 在本发明实施例中,根据目标模块的各级父级模块对应的各级父节点标识,在节点树中查找是否包含与上述各级父节点标识对应的父节点,若是查找到与父节点标识对应的父节点,则直接进入下一步骤;若是在节点数中查找不到某些父节点标识对应的父节点,则将该父节点标识对应的父节点添加到节点树中,然后进入下一个步骤。
[0084] 在步骤S304中,获取各级父节点标识对应的所有子节点标识。
[0085] 在本发明实施例中,在节点树中查找到目标模块的各级父级模块对应的节点标识后,获取该各级父节点标识对应的所有子节点标识。
[0086] 在步骤S305中,判断所述节点树中是否包含所述所有子节点标识对应的子节点。
[0087] 在本发明实施例中,在节点树中查找与上一步骤获取的所有子节点标识对应的节点,若是找到对应的节点则判定节点树中包含此子节点标识对应的节点,若是查找不到,说明节点树中不包含该子节点标识对应的节点,则进行下一步骤。
[0088] 在步骤S306中,将不包含在所述节点树中的子节点添加到所述节点树中。
[0089] 进一步地,由于可能存在多个模块的节点需要同时添加到树形结构中,为了使得各个节点的添加不出现混乱加错的情况,需要对树形存储结构中的对象加护斥,来防止生成的树叶子节点错误的情况发生。
[0090] 在本发明中,应用程序中的目标模块的消息状态的变化包括两种,一种是目标模块有消息提醒,另一种是目标模块的消息提醒被读取。
[0091] 在本发明的另一可能的实施方式中,如图4所示,为本发明实施例示出的另一种模块间消息状态同步方法的流程图。
[0092] 当应用程序中目标模块的消息状态的变化为目标模块有消息提醒时,响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态,具体包括:
[0093] 在步骤S401中,将所述目标模块,以及遍历得到的与所述目标模块相关联的所有模块添加到第一预设列表中。
[0094] 具体地,遍历节点树找到所有与目标模块相关联的模块,然后将这些模块和目标模块一起添加到第一预设列表中,让这些模块与目标模块关联在一起。
[0095] 在步骤S402中,响应于检测到的消息状态,为所述第一预设列表中的所有模块同步添加视图展示标识。
[0096] 具体地,将上述关联在一起的模块同步添加视图展示标识。
[0097] 在本发明的一个可能的实施方式中,为所述第一预设列表中的所有模块同步添加视图展示标识,具体包括:
[0098] 获取所述目标模块的视图展示标识,所述视图展示标识包括多种形式;
[0099] 将所述视图展示标识添加到与所述目标模块相关联的所有模块的视图中。
[0100] 具体地,视图展示标识可以是在目标模块所在页面的目标模块的位置上显示小圆点,或是其他的标识,用来提醒用户此模块有新的消息。视图展示标识的种类是多种多样的,在有消息需要同步时,可以获取其中一种视图展示标识进行展示,该种视图展示标识可以是应用程序固定设置的一种形式,也可以是用户从应用程序设置的多种视图展示标识中选择的一种形式,或是通过其它方式确定的形式。
[0101] 如图5所示,为本发明实施例示出的一种目标模块的视图展示标识的示意图。图中是以设置字体模块时需要同步模块的一个实施例。
[0102] 当有新的字体更新时,此时会在字体模块的展示界面的右上显示一个小圆点,用户进入此界面就会看到此圆点,就会知道有新的消息提醒。
[0103] 如图6所示,为本发明实施例示出的一种目标模块的父级模块的视图展示标识的示意图。
[0104] 具体地,上述步骤有字体更新时,此时其父模块也会将上述的消息提醒同步到该父模块,即设置模块所在的视图中,也就是,在设置模块所在的界面的右上角显示一个小圆点,用户不用进入字体模块的展示界面,就可以在设置界面查看到更新提醒。
[0105] 在本发明的实施例中,当目标模块有新的消息提醒时,将目标模块以及获取的与目标模块相关联的所有模块放到一个列表中,然后获取目标模块的视图展示标识,最后将该视图展示标识添加到列表中的所有模块的视图上。当有新消息提醒时,用户可以在与目标模块相关联的任何界面都可以获取到该新的消息提醒,也就是,可以在与目标模块相关联的各级父级模块所在的页面的父级模块的位置上显示小圆点,或是其他的视图展示标识,使得用户不错过任何消息,用户体验更佳。
[0106] 在本发明的另一可能的实施方式中,如图7所示,为本发明实施例示出的另一种模块间消息状态同步方法的流程图。
[0107] 当应用程序中目标模块的消息状态的变化为目标模块的消息提醒被读取时,响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态,具体包括:
[0108] 在步骤S601中,判断所述所有模块中的模块是否存在待消息提醒的子级模块。
[0109] 在步骤S602中,若所述所有模块中的模块均不存在待消息提醒的子级模块,则将所述目标模块以及与所述目标模块相关联的所有模块添加到第二预设列表中。
[0110] 在步骤S603中,响应于检测到的消息状态,为所述第二预设列表中的所有模块同步取消视图展示标识。
[0111] 具体地,当目标模块上显示的新消息被用户读取时,该模块所在视图的视图展示标识就会消失,此时需要将目标模块的各级父级模块上显示的提醒消息的视图展示标记删除。
[0112] 在本发明的实施例中,当目标模块的视图展示标记消失,将目标模块的各级父级模块的视图展示标识进行同步时,首先需要判断各级父级模块的所有子模块中是否有视图展示标识存在的子模块,若是有,则该父级模块上的视图展示标识不能被删除,还需要以此来提示用户还有未读取的消息;若是父级模块的所有子模块都没有未被读取的消息,则可以将该父级模块上的视图展示标识删除。具体地,如图8和图9所示。
[0113] 在本发明的一个可能的实施方式中,父级模块的子模块中有消息提醒的情况的处理方法,具体包括:
[0114] 若所述所有模块中的模块存在待消息提醒的子级模块,则将所述目标模块以及不存在待消息提醒的子级模块的与所述目标模块相关联的模块添加到所述第二预设列表中;
[0115] 响应于检测到的消息状态,为所述第二预设列表中的所有模块同步取消所述视图展示标识。
[0116] 基于与上述方法相同的发明构思,在本发明另一实施例中,还公开了一种模块间消息状态同步装置,如图10所示,该模块间消息状态同步装置包括:检测模块101、第一获取模块102、第二获取模块103和同步模块104。
[0117] 该检测模块101被配置为检测应用程序中模块的消息状态是否发生变化。
[0118] 该第一获取模块102被配置为当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息,所述模块信息包括目标模块在节点树中的节点标识,所述节点树至少包含表示所述目标模块的节点,以及表示所述目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,所述目标模块没有子级模块。
[0119] 该第二获取模块103被配置为根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块。
[0120] 该同步模块104被配置为响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
[0121] 在本发明的一个可能的实施方式中,该模块间消息状态同步装置还包括:第三获取模块和构建模块。
[0122] 该第三获取模块被配置为获取所有模块的结构体数据,所述结构体数据包括各模块对应节点的节点标识、所述节点的父节点标识以及所述节点的所有子节点标识。
[0123] 该构建模块被配置为根据各个模块的结构体数据构建节点树。
[0124] 当目标模块的消息状态的变化为目标模块有消息提醒时,该同步模块104,具体用于:
[0125] 将所述目标模块以及与所述目标模块相关联的所有模块添加到第一预设列表中;
[0126] 响应于检测到的消息状态,为所述第一预设列表中的所有模块同步添加视图展示标识。
[0127] 进一步地,该同步模块104,还用于:
[0128] 获取所述目标模块的视图展示标识,所述视图展示标识包括多种形式;
[0129] 将所述视图展示标识添加到与所述目标模块相关联的所有模块的视图中。
[0130] 在本发明另一实施例中,还提供了一种电子设备,如图11所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
[0131] 存储器503,用于存放计算机程序;
[0132] 处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
[0133] 检测应用程序中模块的消息状态是否发生变化;
[0134] 当检测到应用程序中目标模块的消息状态发生变化时,获取所述目标模块的模块信息,所述模块信息包括目标模块在节点树中的节点标识,所述节点树至少包含表示所述目标模块的节点,以及表示所述目标模块的各级父级模块的节点,其中,节点树中每个节点的父节点为该节点所对应的模块的父级模块对应的节点,所述目标模块没有子级模块;
[0135] 根据所述目标模块的节点标识遍历所述节点树,获取与所述目标模块相关联的所有模块;
[0136] 响应于检测到的消息状态,将与所述目标模块相关联的所有模块的状态同步成所述目标模块的状态。
[0137] 本发明实施例,首先检测应用程序中模块的消息状态是否发生变化;若检测到应用程序中目标模块的消息状态发生变化,获取目标模块的模块信息;然后根据目标模块的节点标识遍历节点树,获取与目标模块相关联的所有模块;最后将上述所有模块的状态同步成目标模块的状态。本方案把状态发生变化的模块和与该模块相关联的各父级模块放在节点树中,当目标模块的状态发生变化时,其他与该模块相关联的父级模块的状态也同步发生变化,与现有技术中,当目标模块状态发生变化时,只能是在用户打开此模块所在的页面时才能看到此状态变化相比,使得用户可以及时获取到消息状态的变化,提高用户的体验。
[0138] 上述电子设备提到的通信总线504可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线504可以分为地址总线数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0139] 通信接口502用于上述电子设备与其他设备之间的通信。
[0140] 存储器503可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0141] 上述的处理器501可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0142] 在本发明另一实施例中,还提供了一种存储介质,其特征在于,所述存储介质上存储有模块间消息状态同步方法程序,所述模块间消息状态同步方法程序被处理器执行时实现上述任一所述的模块间消息状态同步方法的步骤。
[0143] 本发明实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
[0144] 可以理解的是,本文描述的这些实施例可以用硬件、软件固件中间件微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器微控制器微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
[0145] 对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0146] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0147] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0148] 在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0149] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0150] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0151] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0152] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0153] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0154] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明各个实施例所述的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台客户端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法或者实施例的某些部分所述的方法。
[0155] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈