CN115580642A - 应用间的通信方法及装置、非易失性存储介质、处理器 - Google Patents
应用间的通信方法及装置、非易失性存储介质、处理器 Download PDFInfo
- Publication number
- CN115580642A CN115580642A CN202211152973.8A CN202211152973A CN115580642A CN 115580642 A CN115580642 A CN 115580642A CN 202211152973 A CN202211152973 A CN 202211152973A CN 115580642 A CN115580642 A CN 115580642A
- Authority
- CN
- China
- Prior art keywords
- application
- sub
- published event
- applications
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006870 function Effects 0.000 claims description 19
- 238000013515 script Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 11
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用间的通信方法及装置、非易失性存储介质、处理器。其中,该方法包括:检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收;当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件;当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件。本申请解决了由于微服务中各个应用之间未采用发布订阅的通信方式造成的通信质量差的技术问题。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种应用间的通信方法及装置、非易失性存储介质、处理器。
背景技术
相关技术中,前端微服务通过采用浏览器提供的postMessage的方式,来实现跨文本文档、多窗口、跨域消息传递。但是,随着应用体量上升,频繁的调用会导致项目通信模块的可维护性下降,也会存在应用之间的通信质量差的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种应用间的通信方法及装置、非易失性存储介质、处理器,以至少解决由于微服务中各个应用之间未采用发布订阅的通信方式造成的通信质量差的技术问题。
根据本申请实施例的一个方面,提供了一种应用间的通信方法,包括:检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收;当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件;当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件。
可选地,微服务为前端微服务,子应用为前端微服务将前端页面拆分得到的多个应用,其中,子应用注册在主应用中。
可选地,子应用之间的应用内数据为共享数据;主应用与子应用之间的应用内数据为共享数据。
可选地,子应用之间的脚本的执行栈处于相互隔离状态;主应用与子应用之间的脚本的执行栈处于相互隔离状态。
可选地,子应用由多个功能模块构成,其中,功能模块之间禁止通过浏览器的本地缓存进行通信。
可选地,目标函数至少包括微服务在生命周期内的回调函数。
可选地,子应用之间至少用于共享储存在目标对象本地终端上的数据中的计算机身份认证的临时令牌;主应用与子应用之间至少用于共享储存在目标对象本地终端上的数据中的计算机身份认证的临时令牌。
根据本申请实施例的再一方面,还提供了一种非易失性存储介质,存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的应用间的通信方法。
根据本申请实施例的再一方面,还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的应用间的通信方法。
在本申请实施例中,采用检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收;当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件;当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件的方式,通过应用间的发布订阅的通信方式,达到了减少应用间通信次数的目的,从而实现了应用间松耦合以及独立运行、独立部署的技术效果,进而解决了由于微服务中各个应用之间未采用发布订阅的通信方式造成的通信质量差技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种应用间的通信方法的流程图;
图2是根据本申请实施例的一种应用间的通信装置的结构图;
图3是根据本申请实施例的一种应用间的通信方法的计算机终端(或电子设备)的硬件结构框图。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种应用间的通信方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
web前端最常用的解决方案是使用iframe内嵌其他模块的前端页面进行实现,但是目前使用iframe主要存在一些问题:
1.页面通信问题:iframe和父窗口是不同源的情况,不能直接操作父窗口,这种场景只能使用postMessage来实现通信,传输的数据只能为字符串,使得页面之间的通信较为繁琐;
2.布局问题:iframe必须给出指定的高度,否则会塌陷,有些情况页面中会出现多个滚动条,导致用户体验不佳。
web前端项目,在初期并没有使用前端微服务,这就导致整体项目比较庞大冗余,更新部署发布也很繁琐,引入前端微服务之后主要解决了以下问题:
1.独立技术栈:主框架不限制接入子应用的技术栈,每个应用的技术栈选型可以配合业务团队选择使用;
2.独立开发、独立部署:子应用仓库独立,可以根据业务模块进行拆分,精炼各个子应用,前后端可独立开发,部署完成后主框架同步更新子应用;
3.独立运行:每个子应用之间状态隔离,单独子应用失败不会影响到其他项目;
4.数据共享:子应用可以共享主应用的数据,亦可共享兄弟子应用的数据。
微服务之间的主应用和子应用通过发布订阅的方式进行通信,实现了主应用和子应用之间约定尽量减少通讯,主应用和子应用之间松耦合,主应用和子应用之间独立运行和部署的效果。
在主应用和子应用通过发布订阅的方式进行通信时,如果某些订阅事件为异步任务,子应用无法预知异步任务完成的时间,可能存在主应用在发布时,子应用还没有完成订阅的情况。本申请针对此情况提供了有效的解决办法。其中,同步任务为没有被引擎挂起、在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务是为被引擎搁置,不进入主线程,而进入任务队列的任务,只有引擎认为某个异步任务可以执行时,该任务才会进入主线程执行。
图1是根据本申请实施例的一种应用间的通信方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收。
根据本申请的一个可选的实施例,如果某些订阅事件为异步任务,子应用无法预知异步任务完成的时间,可能存在主应用在发布时子应用还没有完成订阅的情况,此时,需要主应用上传发布事件之前,检查微服务的子应用是否完成对发布事件的订阅任务。
在软件架构中,发布订阅是一种消息范式,消息的发送者(发布者)不会将消息直接发送给特定的接收者(订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者可能存在。同样的,订阅者可以表达对一个或者多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者存在。在本申请实施例中,发布者为前端微服务的主应用,订阅者为前端微服务的子应用。
步骤S104,当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件。
根据本申请的另一个可选的实施例,在订阅者(子应用)没有完成对发布事件的订阅时,主应用会先把发布事件暂存在某一文件中,即第一目标文件中。子应用在订阅时检查该第一目标文件中是否存在主应用提前发布的任务,如果该第一目标文件中存在主应用提前发布的任务,子应用在执行订阅任务时同时执行该发布事件。需要说明的是,上述主应用提前发布的任务为子应用未完成对发布事件的订阅任务时,主应用发布的任务。
步骤S106,当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件。
在本申请的一些可选的实施例,在订阅者(子应用)完成对发布事件的订阅任务时,主应用通过initGlobalState定义全局状态,并将该订阅任务上传至第二目标文件中。其中,initGlobalState为qiankun框架下的应用程序编程接口。
作为本申请的一个可选的实施例,步骤S102至步骤S106提供的方法,可以通过以下代码实现:
其中,上述代码的布局处理为:
根据上述步骤,通过应用间的发布订阅的通信方式,达到了减少应用间通信次数的目的,从而实现了应用间松耦合以及独立运行、独立部署的技术效果,进而解决了由于微服务中各个应用之间未采用发布订阅的通信方式造成的通信质量差技术问题。
根据本申请的一个可选的实施例,微服务为前端微服务,子应用为前端微服务将前端页面拆分得到的多个应用,其中,子应用注册在主应用中。
在本申请的一些可选的实施例,子应用之间的应用内数据为共享数据;主应用与子应用之间的应用内数据为共享数据。
根据本申请的一个可选的实施例,应用内数据包括用户信息等数据,各个子应用之间的应用内的数据可以互相共享,同样的,主应用的应用内的数据与子应用的应用内的数据也可以互相共享。
在本申请的一些可选的实施例中,子应用之间的脚本的执行栈处于相互隔离状态;主应用与子应用之间的脚本的执行栈处于相互隔离状态。
作为本申请的另一个可选的实施例,脚本语言为JS,即javascript。javascript是一种Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言遗留的速度问题。
根据本申请的一个可选的实施例,子应用由多个功能模块构成,其中,功能模块之间禁止通过浏览器的本地缓存进行通信。
根据本申请的另一个可选的实施例,构成子应用的业务模块也称为组件,约定组件之间禁止通过浏览器的本地缓存来通讯。因为本地缓存的任何代码都可以更改,难以追踪更改历史,同时也会导致前端页面失去响应式布局。
作为本申请的一个可选的实施例,前端微服务的应用之间的通信还应遵循以下约定:所有子应用的微服务文件访问路径和微服务的统一资源定位符访问路径为统一路径。
在本申请的一些可选的实施例,目标函数至少包括微服务在生命周期内的回调函数。
作为本申请的另一个可选的实施例,微服务可以利用回调函数在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。回调函数又称钩子函数,钩子的本质是一段用以处理系统消息的程序。
在本申请的一些可选的实施例中,子应用之间至少用于共享储存在目标对象本地终端上的数据中的计算机身份认证的临时令牌;主应用与子应用之间至少用于共享储存在目标对象本地终端上的数据中的计算机身份认证的临时令牌。
根据上述步骤,达到了减少应用间通信次数的目的,从而实现了应用间松耦合以及独立运行、独立部署的技术效果,进而解决了由于微服务中各个应用之间未采用发布订阅的通信方式造成的通信质量差技术问题。
图2是根据本申请实施例的一种应用间的通信装置的结构图,如图2所示,该装置包括:
检查模块202,用于检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收;
保存模块204,用于当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件;
执行模块206,用于当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件。
需要说明的是,图2所示实施例的优选实施方式可以参见图1所示实施例的相关描述,此处不再赘述。
前端微服务主要解决了以下问题:
1.独立技术栈:主框架不限制接入子应用的技术栈,每个应用的技术栈选型可以配合业务团队选择使用;
2.独立开发、独立部署:子应用仓库独立,可以根据业务模块进行拆分,精炼各个子应用,前后端可独立开发,部署完成后主框架同步更新子应用;
3.独立运行:每个子应用之间状态隔离,单独子应用失败不会影响到其他项目;
4.数据共享:子应用可以共享主应用的数据,亦可共享兄弟子应用的数据。
图3根据本申请实施例提供一种应用间的通信方法的计算机终端(或电子设备)的硬件结构框图。如图3所示,计算机终端30(或电子设备30)可以包括一个或多个(图中采用302a、302b,……,302n来示出)处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器304、以及用于通信功能的传输模块306。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端30还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端30(或电子设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器304可用于存储应用软件的软件程序以及模块,如本申请实施例中的应用间的通信方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用间的通信方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端30。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端30的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端30(或电子设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图3所示的计算机设备(或电子设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图3仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或电子设备)中的部件的类型。
需要说明的是,图3所示的电子设备用于执行图1所示的应用间的通信方法,因此上述命令的执行方法中的相关解释说明也适用于该电子设备,此处不再赘述。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行以上的应用间的通信方法。
非易失性存储介质执行以下功能的程序:检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收;当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件;当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件。
本申请实施例还提供了一种处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行以上的应用间的通信方法。
处理器用于运行执行以下功能的程序:检查微服务的子应用是否完成对发布事件的订阅任务,其中,订阅任务为子应用对发布事件进行接收;当子应用未完成对发布事件的订阅任务时,主应用在第一目标文件中保存发布事件,当第一目标文件中存在发布事件时,子应用执行订阅任务以及发布事件;当子应用完成对发布事件的订阅任务时,主应用通过应用程序编程接口将发布事件上传至第二目标文件中,子应用通过对第二目标文件中微服务的目标函数进行监听,执行发布事件。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种应用间的通信方法,其特征在于,包括:
检查微服务的子应用是否完成对发布事件的订阅任务,其中,所述订阅任务为所述子应用对所述发布事件进行接收;
当所述子应用未完成对所述发布事件的订阅任务时,所述微服务的主应用在第一目标文件中保存所述发布事件,当所述第一目标文件中存在所述发布事件时,所述子应用执行所述订阅任务以及所述发布事件;
当所述子应用完成对所述发布事件的订阅任务时,所述主应用通过应用程序编程接口将所述发布事件上传至第二目标文件中,所述子应用通过对所述第二目标文件中所述微服务的目标函数进行监听,执行所述发布事件。
2.根据权利要求1所述的方法,其特征在于,
所述微服务为前端微服务,所述子应用为所述前端微服务将前端页面拆分得到的多个应用,其中,所述子应用注册在所述主应用中。
3.根据权利要求2述的方法,其特征在于,
所述子应用之间的应用内数据为共享数据;
所述主应用与所述子应用之间的所述应用内数据为共享数据。
4.根据权利要求3述的方法,其特征在于,
所述子应用之间的脚本的执行栈处于相互隔离状态;
所述主应用与所述子应用之间的所述脚本的执行栈处于相互隔离状态。
5.根据权利要求1所述的方法,其特征在于,所述子应用由多个功能模块构成,其中,所述功能模块之间禁止通过浏览器的本地缓存进行通信。
6.根据权利要求1所述的方法,其特征在于,所述目标函数至少包括所述微服务在生命周期内的回调函数。
7.根据权利要求1所述的方法,其特征在于,
所述子应用之间至少用于共享储存在目标对象本地终端上的数据中的所述计算机身份认证的临时令牌;
所述主应用与所述子应用之间至少用于共享储存在所述目标对象本地终端上的数据中的所述计算机身份认证的临时令牌。
8.一种应用间的通信装置,其特征在于,包括:
检查模块,用于检查所述微服务的子应用是否完成对所述发布事件的订阅任务,其中,所述订阅任务为所述子应用对所述发布事件进行接收;
保存模块,用于当所述子应用未完成对所述发布事件的订阅任务时,所述主应用在第一目标文件中保存所述发布事件,当所述第一目标文件中存在所述发布事件时,所述子应用执行所述订阅任务以及所述发布事件;
执行模块,用于当所述子应用完成对所述发布事件的订阅任务时,所述主应用通过应用程序编程接口将所述发布事件上传至第二目标文件中,所述子应用通过对所述第二目标文件中所述微服务的目标函数进行监听,执行所述发布事件。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的应用间的通信方法。
10.一种处理器,其特征在于,所述处理器用于运行存储在存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的应用间的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211152973.8A CN115580642A (zh) | 2022-09-21 | 2022-09-21 | 应用间的通信方法及装置、非易失性存储介质、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211152973.8A CN115580642A (zh) | 2022-09-21 | 2022-09-21 | 应用间的通信方法及装置、非易失性存储介质、处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115580642A true CN115580642A (zh) | 2023-01-06 |
Family
ID=84580651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211152973.8A Pending CN115580642A (zh) | 2022-09-21 | 2022-09-21 | 应用间的通信方法及装置、非易失性存储介质、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580642A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040254993A1 (en) * | 2001-11-13 | 2004-12-16 | Evangelos Mamas | Wireless messaging services using publish/subscribe systems |
US20110282921A1 (en) * | 2010-05-14 | 2011-11-17 | Qnx Software Systems Gmbh & Co. Kg | Publish-subscribe system |
CN106663039A (zh) * | 2014-07-08 | 2017-05-10 | 微软技术许可有限责任公司 | 利用虚拟处理代理的流处理 |
US20180129694A1 (en) * | 2016-11-04 | 2018-05-10 | Sap Se | Database trigger-based eventing for data changes based on a publish/subscribe mechanism |
CN112148501A (zh) * | 2020-08-28 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 多个子应用的通信方法、装置、电子装置和存储介质 |
CN113067831A (zh) * | 2021-03-26 | 2021-07-02 | 中国工商银行股份有限公司 | 通信方法、通信装置及通信系统 |
CN113448702A (zh) * | 2021-06-16 | 2021-09-28 | 浪潮软件股份有限公司 | 一种基于前端的微服务设计方法 |
-
2022
- 2022-09-21 CN CN202211152973.8A patent/CN115580642A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040254993A1 (en) * | 2001-11-13 | 2004-12-16 | Evangelos Mamas | Wireless messaging services using publish/subscribe systems |
US20110282921A1 (en) * | 2010-05-14 | 2011-11-17 | Qnx Software Systems Gmbh & Co. Kg | Publish-subscribe system |
CN106663039A (zh) * | 2014-07-08 | 2017-05-10 | 微软技术许可有限责任公司 | 利用虚拟处理代理的流处理 |
US20180129694A1 (en) * | 2016-11-04 | 2018-05-10 | Sap Se | Database trigger-based eventing for data changes based on a publish/subscribe mechanism |
CN112148501A (zh) * | 2020-08-28 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 多个子应用的通信方法、装置、电子装置和存储介质 |
CN113067831A (zh) * | 2021-03-26 | 2021-07-02 | 中国工商银行股份有限公司 | 通信方法、通信装置及通信系统 |
CN113448702A (zh) * | 2021-06-16 | 2021-09-28 | 浪潮软件股份有限公司 | 一种基于前端的微服务设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3732582B1 (en) | Platform-independent application publishing to a personalized front-end interface by encapsulating published content into a container | |
US20200379779A1 (en) | Program operating method and apparatus, computing device, and storage medium | |
US12056415B2 (en) | Desktop sharing method and mobile terminal | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
Wilson et al. | Orchestrated user interface mashups using w3c widgets | |
CN107766509B (zh) | 一种网页静态备份的方法和装置 | |
US20160344832A1 (en) | Dynamic bundling of web components for asynchronous delivery | |
CN103268319A (zh) | 一种基于网页的云浏览器 | |
CN112579048B (zh) | 小程序集成方法、装置、电子设备及存储介质 | |
CN111782209A (zh) | 页面管理方法、装置、电子设备及计算机存储介质 | |
CN102457579A (zh) | 一种在云终端上实现业务处理的方法和系统 | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
CN116243853A (zh) | 数据传输方法、装置、电子设备及非易失性存储介质 | |
CN110083466B (zh) | 一种小程序的数据传输方法和装置 | |
US9577967B2 (en) | Method and system for managing an informational site using a social networking application | |
CN106411718B (zh) | 一种基于即时通信应用的数据同步方法及装置 | |
CN117724803A (zh) | 云服务部署方法、装置和平台 | |
CN112764746B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN106161075A (zh) | 业务处理方法、装置及系统 | |
CN115580642A (zh) | 应用间的通信方法及装置、非易失性存储介质、处理器 | |
US20140040772A1 (en) | Highlighting graphical user interface components based on usage by other users | |
CN105917694B (zh) | 电信网络中的服务提供与激活 | |
CN111367561A (zh) | 软件程序远程开发方法及装置 | |
CN110599242A (zh) | 制作和发布营销图片的方法、装置和存储介质 | |
CN115225950A (zh) | 视频的播放控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |