一种微前端跨应用信息共享方法与微前端架构与流程
- 国知局
- 2024-07-31 23:14:12
本申请涉及微前端技术,具体而言,涉及一种微前端跨应用信息共享方法与微前端架构。
背景技术:
1、随着网站、web app功能复杂度越来越高,微服务作为被广泛应用于服务端的技术范式,已被广泛地扩展到前端领域,即微前端。在微前端的实现方式中,微应用容器化方案往往采用专门的微前端框架,例如,single-spa、qiankun等,来进行多个微应用的生命周期管理与调度。
2、而在一些复杂的应用场景下,例如存在主子应用、跨子应用的场景时,往往需要保证不同子应用之间数据状态的快速、准确地传递及下发。
3、在现有技术中,往往需要利用微前端自带的监听机制来实现。对于上述场景,子应用通常内嵌在基座应用中,而在具体的数据状态的传递流程中,子应用之间的信息传递,都需要基于基座应用的情况与需求而定。即对于主子应用、跨子应用等场景,信息的传递与基座应用具有较强的耦合关系,从而导致其处理流程效率较低。
技术实现思路
1、本申请的目的在于提供一种微前端跨应用信息共享方法与微前端架构,其用于提高跨应用场景的数据通信效率。
2、为了实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本申请实施例提供一种微前端跨应用信息共享方法,所述方法应用于微前端架构,所述微前端架构包括:数据中心、基座模块与多个子应用,所述方法包括:
4、数据中心中的事件中心确认观察者池中是否存在观察者;所述观察者为由所述基座模块或任意一个所述子应用注册生成的;
5、若存在所述观察者,则通过全局监听事件对目标值进行监听;
6、若所述目标值发生变化,则根据目标值下发关系池向对应的目标子应用或基座模块发送所述目标值的变化值。
7、可选地,在所述数据中心中的事件中心确认观察者池中是否存在观察者的步骤之前,还包括:
8、所述事件中心接收基座模块或任意一个子应用发送的绑定请求;
9、所述事件中心根据所述绑定请求为对应的基座模块或任意一个子应用在所述观察者池中建立对应的观察者;
10、所述事件中心判断所述全局监听事件是否已建立;
11、若否,则所述事件中心建立所述全局监听事件。
12、可选地,所述针对目标值进行事件监听的步骤,包括:
13、所述事件中心接收已注册子应用的更新数据状态消息;所述更新数据状态消息包含所述目标值与指定标识信息;所述指定标识信息为当所述目标值发生变化时,可获得所述变化值的子应用或基座模块的标识信息;
14、所述事件中心将所述目标值在全局状态池中进行维护;
15、所述事件中心通过过滤器维护所述目标值对应的指定标识信息,以建立所述目标值下发关系池;
16、所述数据中心对所述全局状态池中的所述目标值进行事件监听。
17、可选地,所述若所述目标值发生变化,则根据目标值下发关系池向对应的目标子应用发送所述目标值的变化值的步骤,包括:
18、所述事件中心监听到所述目标值发生变化时,获得所述目标值的变化值;
19、所述事件中心通过所述过滤器维护的所述目标值下发关系池,确认所述变化值对应的指定标识信息;
20、所述事件中心将所述变化值发送至所述指定标识信息对应的子应用和/或所述基座模块。
21、可选地,还包括:
22、所述数据中心接收任一子应用或所述基座模块发送的数据获取消息;所述数据获取消息包含所述目标值的获取指示;
23、所述数据中心向所述子应用所述基座模块发送的所述目标值。
24、可选地,还包括:
25、当所述全局监听事件被销毁时,所述事件中心删除对应的全部观察者;
26、当任一子应用销毁时,所述事件中心删除所述观察者池中对应的观察者。
27、第二方面,本申请实施例提供一种微前端架构,所述微前端架构包括:数据中心、基座模块与多个子应用;
28、所述数据中心中的事件中心,用于确认观察者池中是否存在观察者;所述观察者为由所述基座模块或任意一个所述子应用注册生成的;若存在所述观察者,则通过全局监听事件对目标值进行监听;若所述目标值发生变化,则根据目标值下发关系池向对应的目标子应用或基座模块发送所述目标值的变化值。
29、第三方面,本申请实施例提供一种电子设备,包括:
30、存储器,用于存储一个或多个程序;
31、处理器;
32、当所述一个或多个程序被所述处理器执行时,实现如上述第一个方面中任一项所述的方法。
33、第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一个方面中任一项所述的方法。
34、第五方面,本申请实施例提供一种程序产品,所述程序产品被处理器执行时,实现如上述第一个方面中任一项所述的方法。
35、相对于现有技术,本申请实施例所提供的一种微前端跨应用信息共享方法与微前端架构,不对基座模块是否发起监听的注册进行约束。仅仅通过判断观察者池是否为零,来触发后续数据的通信。进而由于利用了目标值下发关系池,可以使得目标值变化时,变化值仅向对应的子应用、基座模块进行传输。在保证数据传输的效率的同时,提供了更加灵活的数据通信方式。
36、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
技术特征:1.一种微前端跨应用信息共享方法,其特征在于,所述方法应用于微前端架构,所述微前端架构包括:数据中心、基座模块与多个子应用,所述方法包括:
2.如权利要求1所述的方法,其特征在于,在所述数据中心中的事件中心确认观察者池中是否存在观察者的步骤之前,还包括:
3.如权利要求1所述的方法,其特征在于,所述针对目标值进行事件监听的步骤,包括:
4.如权利要求3所述的方法,其特征在于,所述若所述目标值发生变化,则根据目标值下发关系池向对应的目标子应用发送所述目标值的变化值的步骤,包括:
5.如权利要求1所述的方法,其特征在于,还包括:
6.如权利要求1所述的方法,其特征在于,还包括:
7.一种微前端架构,其特征在于,所述微前端架构包括:数据中心、基座模块与多个子应用;
8.一种电子设备,其特征在于,包括:
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
10.一种程序产品,其特征在于,所述程序产品被处理器执行时,实现如权利要求1-6中任一项所述的方法。
技术总结本申请提出一种微前端跨应用信息共享方法与微前端架构,通过解耦基座模块与监听注册的关系。通过判断观察者池是否为零,来触发后续数据的通信。进而利用目标值下发关系池,可以使得目标值变化时,变化值仅向目标值下发关系池中对应的子应用、基座模块进行传输。在保证数据传输的效率的同时,提供了更加灵活的数据通信方式。技术研发人员:范霄,朱龙,唐力,赵建华受保护的技术使用者:恒生电子股份有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/196575.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表