本发明涉及计算机,尤其涉及一种服务提供方法、装置、电子设备及存储介质。
背景技术:
1、随着计算机和互联网技术的发展,各种应用服务层出不穷,但与此同时也带来一些问题。例如,一方面,很多不同的服务中会包括大量相同或类似的功能,造成浪费,另一方面,一些用户所需的功能并没有得到满足。因此,服务提供方式较为死板,不够灵活。
技术实现思路
1、有鉴于此,本发明实施例提供一种服务提供方法、装置、电子设备及存储介质,能够有效提高服务提供方式的灵活性。
2、第一方面,本发明实施例提供一种服务提供方法,包括:接收第一服务发送的至少一个第一触发信息,每个所述第一触发信息用于指示对应的第一事件被触发;响应于预设的订阅信息中存在订阅了所述第一事件的所述第二服务,将所述第一事件对应的所述第一触发信息向所述第二服务发送,以使所述第二服务基于所述第一触发信息运行;以所述第二服务作为新的所述第一服务,跳转到所述接收第一服务发送的第一触发信息的步骤继续执行,循环迭代直至所述订阅信息中不存在所述第二服务为止,以实现目标服务。
3、在一种实施方式中,所述将所述第一事件对应的所述第一触发信息向所述第二服务发送之前,所述方法还包括:接收预设的服务容器中的至少一个服务发送的事件订阅请求;根据所述事件订阅请求,生成所述订阅信息。
4、在一种实施方式中,所述第一服务和所述第二服务均部署于所述服务容器之中,所述服务容器中的各服务基于一种或多种编程语言实现;所述服务容器用于将基于各种编程语言实现的通信协议分别封装为统一格式。
5、在一种实施方式中,所述接收第一服务发送的至少一个第一触发信息包括:接收所述第一服务发送、并经所述服务容器封装的至少一个所述第一触发信息;所述接收预设的服务容器中的至少一个服务发送的事件订阅请求包括:接收所述服务容器中的至少一个服务发送、并经所述服务容器封装的所述事件订阅请求。
6、在一种实施方式中,所述第一触发信息包括所述第一事件的触发内容和所述第一事件的环境信息。
7、在一种实施方式中,所述环境信息包括所述第一事件的标识信息;所述将所述第一触发信息向所述第二服务发送之前,所述方法还包括:根据所述第一事件的标识信息,确定所述订阅信息中是否存在订阅了所述第一事件的第二服务。
8、在一种实施方式中,所述接收第一服务发送的至少一个第一触发信息之后,所述将所述第一事件对应的所述第一触发信息向所述第二服务发送之前,所述方法还包括:将各所述第一触发信息以预设数据结构保存,所述预设数据结构包括以下至少一种:链表、队列、堆栈;所述将所述第一触发信息向所述第二服务发送包括:基于所述预设数据结构调度各所述第一触发信息,以将各所述第一触发信息分别向所述第二服务发送。
9、在一种实施方式中,所述第一事件由用户的界面操作和/或操作系统的状态变化触发,在所述界面操作和/或所述状态变化符合预先定义的触发条件的情况下,触发所述第一事件。
10、在一种实施方式中,订阅同一个所述第一事件的所述第二服务的数量为一个或多个,不同的所述第二服务所订阅的所述第一事件相同或不同。
11、第二方面,本发明的实施例还提供一种服务提供装置,包括:第一接收单元,用于接收第一服务发送的至少一个第一触发信息,每个所述第一触发信息用于指示对应的第一事件被触发;发送单元,用于响应于预设的订阅信息中存在订阅了所述第一事件的所述第二服务,将所述第一事件对应的所述第一触发信息向所述第二服务发送,以使所述第二服务基于所述第一触发信息运行;触发单元,用于以所述第二服务作为新的所述第一服务,触发所述第一接收单元继续接收第一服务发送的第一触发信息,循环迭代直至所述订阅信息中不存在所述第二服务为止,以实现目标服务。
12、在一种实施方式中,所述装置还包括:第二接收单元,用于在将所述第一事件对应的所述第一触发信息向所述第二服务发送之前,接收预设的服务容器中的至少一个服务发送的事件订阅请求;生成单元,用于根据所述事件订阅请求,生成所述订阅信息。
13、在一种实施方式中,所述第一服务和所述第二服务均部署于所述服务容器之中,所述服务容器中的各服务基于一种或多种编程语言实现;所述服务容器用于将基于各种编程语言实现的通信协议分别封装为统一格式。
14、在一种实施方式中,所述第一接收单元,具体用于接收所述第一服务发送、并经所述服务容器封装的至少一个所述第一触发信息;所述第二接收单元,具体用于接收所述服务容器中的至少一个服务发送、并经所述服务容器封装的所述事件订阅请求。
15、在一种实施方式中,所述第一触发信息包括所述第一事件的触发内容和所述第一事件的环境信息。
16、在一种实施方式中,所述环境信息包括所述第一事件的标识信息;所述装置还包括确定单元,用于在将所述第一触发信息向所述第二服务发送之前,根据所述第一事件的标识信息,确定所述订阅信息中是否存在订阅了所述第一事件的第二服务。
17、在一种实施方式中,所述装置还包括:保存单元,用于在接收第一服务发送的至少一个第一触发信息之后,在将所述第一事件对应的所述第一触发信息向所述第二服务发送之前,将各所述第一触发信息以预设数据结构保存,所述预设数据结构包括以下至少一种:链表、队列、堆栈;所述发送单元,具体用于基于所述预设数据结构调度各所述第一触发信息,以将各所述第一触发信息分别向所述第二服务发送。
18、在一种实施方式中,所述第一事件由用户的界面操作和/或操作系统的状态变化触发,在所述界面操作和/或所述状态变化符合预先定义的触发条件的情况下,触发所述第一事件。
19、在一种实施方式中,订阅同一个所述第一事件的所述第二服务的数量为一个或多个,不同的所述第二服务所订阅的所述第一事件相同或不同。
20、第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的任一实施例提供的服务提供方法。
21、第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的任一实施例提供的服务提供方法。
22、本发明的实施例提供的服务提供方法、装置、电子设备及存储介质,能够接收第一服务发送的至少一个第一触发信息,每个所述第一触发信息用于指示对应的第一事件被触发,响应于预设的订阅信息中存在订阅了所述第一事件的所述第二服务,将所述第一事件对应的所述第一触发信息向所述第二服务发送,以使所述第二服务基于所述第一触发信息运行,以所述第二服务作为新的所述第一服务,跳转到所述接收第一服务发送的第一触发信息的步骤继续执行,循环迭代直至所述订阅信息中不存在所述第二服务为止,以实现目标服务。这样,在需要提供的较复杂的目标服务时,就可以通过第一事件的触发和订阅,在一个或多个这样的第一服务和第二服务之间进行通信,将相应的第一服务与第二服务松散地联系起来,从而利用第一服务和第二服务实现所需的目标服务,而无需将第一服务功能与第二服务功能绑定后创建独立的服务,因此,能够有效提高服务提供方式的灵活性。
1.一种服务提供方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述第一事件对应的所述第一触发信息向所述第二服务发送之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述第一服务和所述第二服务均部署于所述服务容器之中,所述服务容器中的各服务基于一种或多种编程语言实现;所述服务容器用于将基于各种编程语言实现的通信协议分别封装为统一格式。
4.根据权利要求3所述的方法,其特征在于,所述接收第一服务发送的至少一个第一触发信息包括:
5.根据权利要求1所述的方法,其特征在于,所述第一触发信息包括所述第一事件的触发内容和所述第一事件的环境信息。
6.根据权利要求5所述的方法,其特征在于,所述环境信息包括所述第一事件的标识信息;
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述接收第一服务发送的至少一个第一触发信息之后,所述将所述第一事件对应的所述第一触发信息向所述第二服务发送之前,所述方法还包括:
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一事件由用户的界面操作和/或操作系统的状态变化触发,在所述界面操作和/或所述状态变化符合预先定义的触发条件的情况下,触发所述第一事件。
9.根据权利要求1至6中任一项所述的方法,其特征在于,订阅同一个所述第一事件的所述第二服务的数量为一个或多个,不同的所述第二服务所订阅的所述第一事件相同或不同。
10.一种服务提供装置,其特征在于,包括:
