消息同步方法、电子设备、存储介质及计算机程序产品技术

技术编号:36968772 阅读:17 留言:0更新日期:2023-03-22 19:29
本公开提供了一种消息同步方法,包括:获取各个订阅主体的包含消息标识的订阅指令,其中订阅指令用于表征订阅主体待同步的事件信息;响应于存在消息标识的广播消息,分别判断订阅主体和各个广播消息的发出者之间的属性差异,其中广播消息为发出者执行目标事件所产生的事件信息,属性差异包括技术栈差异、构建引擎差异和无差异;根据属性差异,触发对应的通知机制将广播消息同步至各个订阅主体。本公开还提供一种电子设备、存储介质及计算机程序产品。产品。产品。

【技术实现步骤摘要】
消息同步方法、电子设备、存储介质及计算机程序产品


[0001]本公开涉及一种多技术栈的消息同步方法、电子设备、存储介质及计算机程序产品。

技术介绍

[0002]目前,在应用程序(APP)或者网页的开发过程中,大部分研发者会采用多种技术栈进行混合开发。对于混合有多种技术栈的APP或者网页而言,当某页面在执行一个事件时,准确、高效地将该事件的相关消息同步至APP或者网页的其他页面,对于提升用户体验、提高产品性能等方面具有重要意义。
[0003]假设有如下场景:在利用技术栈Native搭建的A页面中打开利用技术栈Flutter搭建的B页面,在B页面中打开利用技术栈Flutter搭建的C页面,在C页面中打开利用技术栈5H搭建的D页面,在D页面执行某个事件。相关技术中,只能将D页面执行的事件的相关消息传递给C页面,再由C页面将事件的相关消息传递给B页面,最后由B页面传递给A页面;这样逐级的点对点传递方式,链路长、消息交互过程中的计算过程繁琐,并且只能是一对一的传递,传递效率较低。另外,虽然B页面和C页面都是利用技术栈Flutter搭建的,但是若搭建二者时采用不同的引擎,那么将无法执行消息传递。

技术实现思路

[0004]本公开提供了一种消息同步方法、电子设备、存储介质及计算机程序产品。
[0005]根据本公开的一个方面提供了一种消息同步方法,可包括:获取各个订阅主体的包含消息标识的订阅指令,其中所述订阅指令用于表征所述订阅主体待同步的事件信息;响应于存在所述消息标识的广播消息,分别判断所述订阅主体和各个所述广播消息的发出者之间的属性差异,其中所述广播消息为所述发出者执行目标事件所产生的事件信息,所述属性差异包括技术栈差异、构建引擎差异和无差异;根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体。
[0006]在一些实施方式中,所述根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体,包括:当所述属性差异为技术栈差异时,利用消息插件中心进行搭建语言的切换,以将所述广播消息由所述发出者对应的搭建语言转换为所述订阅主体对应的搭建语言,其中所述技术栈差异为所述发出者的搭建语言和所述订阅主体的搭建语言不同;将进行搭建语言切换之后的广播消息同步至所述订阅主体。
[0007]在一些实施方式中,所述根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体,包括:当所述属性差异为构建引擎差异时,利用消息插件中心进行多引擎处理,以将经过多引擎处理之后的所述广播消息发送至所述订阅主体的消息通知中心,以同步至所述订阅主体,其中所述构建引擎差异为所述发出者和所述订阅主体具有相同的搭建语言,各个所述搭建语言对应的构建引擎不同。
[0008]在一些实施方式中,所述根据所述属性差异,触发对应的通知机制将所述广播消
息同步至各个所述订阅主体,包括:当所述属性差异为无差异时,将所述广播消息发送至所述订阅主体对应的消息通知中心,其中所述订阅主体和所述发出者共享消息通知中心;以及由所述消息通知中心将所述广播消息同步至所述订阅主体。
[0009]在一些实施方式中,在所述获取各个订阅主体的包含消息标识的订阅指令之后,包括:根据订阅指令的下达时刻,依时序构建或更新同步列表,其中所述同步列表包括下达所述订阅指令的多个所述订阅主体。
[0010]在一些实施方式中,所述根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体,包括:在所述同步列表中筛选对应的所述属性差异为无差异的多个订阅主体,将所述广播消息依时序逐一同步至各个所述订阅主体;以及在所述同步列表中筛选对应的所述属性差异为所述技术栈差异和所述构建引擎差异的多个订阅主体,将所述广播消息依时序逐一同步至各个所述订阅主体。
[0011]在一些实施方式中,在所述响应于存在所述消息标识的广播消息,分别判断所述订阅主体和各个所述广播消息的发出者之间的属性差异之前,包括:响应于所述发出者对应的技术栈为特定栈的判断结果,利用转换协议将所述发出者的广播消息发送至所述特定栈的容器中;以及利用所述目标栈对应的通知机制将所述广播消息同步至各个所述订阅主体。
[0012]根据本公开的另一个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,以实现如上述任一实施方式所述的消息同步方法。
[0013]根据本公开的又一个方面提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上述任一实施方式所述的消息同步方法。
[0014]根据本公开的再一个方面提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现上述任一实施方式所述的消息同步方法。
附图说明
[0015]附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
[0016]图1为本公开示例性实施方式的消息同步方法流程图。
[0017]图2为本公开示例性实施方式的消息同步过程示意图。
[0018]图3为本公开示例性实施方式的消息同步的时序图。
[0019]图4为本公开示例性实施方式的消息同步装置框图。
[0020]附图标记说明
[0021]1000 消息同步装置
[0022]1002 订阅指令获取模块
[0023]1004 属性差异判断模块
[0024]1006 消息同步模块
[0025]1100 总线
[0026]1200 处理器
[0027]1300 存储器
[0028]1400 其他电路。
具体实施方式
[0029]下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
[0030]需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
[0031]除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
[0032]本文使用的术语是为了描述具体实施例的目的,而不是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息同步方法,其特征在于,包括:获取各个订阅主体的包含消息标识的订阅指令,其中所述订阅指令用于表征所述订阅主体待同步的事件信息;响应于存在所述消息标识的广播消息,分别判断所述订阅主体和各个所述广播消息的发出者之间的属性差异,其中所述广播消息为所述发出者执行目标事件所产生的事件信息,所述属性差异包括技术栈差异、构建引擎差异和无差异;根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体。2.根据权利要求1所述的消息同步方法,其特征在于,所述根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体,包括:当所述属性差异为技术栈差异时,利用消息插件中心进行搭建语言的切换,以将所述广播消息由所述发出者对应的搭建语言转换为所述订阅主体对应的搭建语言,其中所述技术栈差异为所述发出者的搭建语言和所述订阅主体的搭建语言不同;将进行搭建语言切换之后的广播消息同步至所述订阅主体。3.根据权利要求1所述的消息同步方法,其特征在于,所述根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体,包括:当所述属性差异为构建引擎差异时,利用消息插件中心进行多引擎处理,以将经过多引擎处理之后的所述广播消息发送至所述订阅主体的消息通知中心,以同步至所述订阅主体,其中所述构建引擎差异为所述发出者和所述订阅主体具有相同的搭建语言,各个所述搭建语言对应的构建引擎不同。4.根据权利要求1所述的消息同步方法,其特征在于,所述根据所述属性差异,触发对应的通知机制将所述广播消息同步至各个所述订阅主体,包括:当所述属性差异为无差异时,将所述广播消息发送至所述订阅主体对应的消息通知中心,其中所述订阅主体和所述发出者共享消息通知中心;以及由所述消...

【专利技术属性】
技术研发人员:李福庆
申请(专利权)人:贝壳找房北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1