首页 / 专利库 / 软件 / 后台任务 / 一种服务管理方法、装置、电子设备及存储介质

一种服务管理方法、装置、电子设备及存储介质

阅读:870发布:2020-05-15

专利汇可以提供一种服务管理方法、装置、电子设备及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种服务管理方法、装置、 电子 设备及存储介质,所述方法包括:获取待处理任务及所述待处理任务的标签,其中,所述待处理任务为客户端的 后台任务 ,所述标签为所述客户端为所述待处理任务设置的标签;确定所述待处理任务对应的服务实例,并为所述服务实例设置与所述待处理任务的标签相匹配的标签;将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。这样,在每个服务从开始运行到结束,均可以对应于服务实例的标签记录其运行状态,大大方便对服务进行调度和管理。,下面是一种服务管理方法、装置、电子设备及存储介质专利的具体信息内容。

1.一种服务管理方法,其特征在于,所述方法包括:
获取待处理任务及所述待处理任务的标签,其中,所述待处理任务为客户端的后台任务,所述标签为所述客户端为所述待处理任务设置的标签;
确定所述待处理任务对应的服务实例,并为所述服务实例设置与所述待处理任务的标签相匹配的标签;
将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;
在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
2.如权利要求1所述的方法,其特征在于,所述确定所述待处理任务对应的服务实例的步骤,包括:
确定预先设置的管理器中的服务池中是否具有空闲服务实例;
如果具有,从所述服务池中取出所述空闲服务实例,并将所述空闲服务实例确定为所述待处理任务对应的服务实例;
如果不具有,新建服务实例作为所述待处理任务对应的服务实例。
3.如权利要求2所述的方法,其特征在于,所述启动绑定后的所述服务实例运行所述待处理任务的步骤,包括:
将绑定后的所述服务实例存入所述预先设置的管理器中的运行中服务集合中运行所述待处理任务。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在所述服务实例运行完成时,去除所述服务实例的标签;
将去除标签后的所述服务实例从所述运行中服务集合中取出;
将取出的所述服务实例放入所述服务池。
5.如权利要求2所述的方法,其特征在于,所述在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态的步骤,包括:
在所述服务实例运行过程中,在所述预先设置的管理器中的状态记录集合中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
6.如权利要求2所述的方法,其特征在于,在所述启动绑定后的所述服务实例运行所述待处理任务的步骤之前,所述方法还包括:
获取所述待处理任务对应的通信句柄,其中,所述通信句柄为所述客户端确定的;
将所述通信句柄对应于所述待处理任务的标签保存至所述预先设置的管理器中的通信句柄集合中;
在所述服务实例运行过程中,所述方法还包括:
通过所述通信句柄集合中所述待处理任务的标签对应的通信句柄,向所述客户端推送所述待处理任务的运行状态。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
获取所述客户端通过所述通信句柄发送的查询请求,其中,所述查询请求携带所述待处理任务的标签;
在所述状态记录集合中查找所述标签对应的运行状态;
将所查找到的运行状态通过所述通信句柄返回所述客户端。
8.如权利要求6所述的方法,其特征在于,在所述启动绑定后的所述服务实例运行所述待处理任务的步骤之前,所述方法还包括:
获取所述待处理任务对应的检测参数,其中,所述检测参数为所述客户端确定的用于标识在所述待处理任务运行过程中是否需要检测所述客户端存活状态;
在所述服务实例运行过程中,所述方法还包括:
如果所述检测参数标识在所述待处理任务运行过程中需要检测所述客户端存活状态,定时通过通信句柄集合中所述待处理任务的标签对应的通信句柄检测所述客户端是否存活;
如果是,继续运行所述服务实例;
如果否,停止运行所述服务实例。
9.一种服务管理装置,其特征在于,所述装置包括:
待处理任务获取模,用于获取待处理任务及所述待处理任务的标签,其中,所述待处理任务为客户端的后台任务,所述标签为所述客户端为所述待处理任务设置的标签;
服务实例确定模块,用于确定所述待处理任务对应的服务实例,并为所述服务实例设置与所述待处理任务的标签相匹配的标签;
服务实例运行模块,用于将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;
运行状态记录模块,用于在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
10.一种电子设备,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。

说明书全文

一种服务管理方法、装置、电子设备及存储介质

技术领域

[0001] 本发明涉及软件服务管理技术领域,特别是涉及一种服务管理方法、装置、电子设备及存储介质。

背景技术

[0002] 客户端在运行时,一般会将一些不需要在前台和用户进行界面交互的任务放置到后台去静默地执行,例如,文件下载、视频下载、软件更新等任务。这时候客户端可以新建一个服务,将任务参数传递给该服务,然后将其启动起来以执行该任务。也就是说,服务是用于在后台执行某一任务的。
[0003] 在目前的技术中,客户端在需要用到服务时就临时新建一个服务,然后启动执行新建的服务。这样无法监控到客户端后台所有服务的运行状态,非常不方便对服务做统一的调度和管理。

发明内容

[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] 服务实例运行模块,用于将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;
[0041] 运行状态记录模块,用于在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0042] 可选的,所述服务实例确定模块包括:
[0043] 空闲服务实例确定子模块,用于确定预先设置的管理器中的服务池中是否具有空闲服务实例;
[0044] 服务实例获取子模块,用于如果具有空闲服务实例,从所述服务池中取出所述空闲服务实例,并将所述空闲服务实例确定为所述待处理任务对应的服务实例;
[0045] 服务实例新建子模块,用于如果不具有空闲服务实例,新建服务实例作为所述待处理任务对应的服务实例。
[0046] 可选的,所述服务实例运行模块包括:
[0047] 服务实例运行子模块,用于将绑定后的所述服务实例存入所述预先设置的管理器中的运行中服务集合中运行所述待处理任务。
[0048] 可选的,所述装置还包括:
[0049] 标签去除模块,用于在所述服务实例运行完成时,去除所述服务实例的标签;
[0050] 服务实例取出模块,用于将去除标签后的所述服务实例从所述运行中服务集合中取出;
[0051] 服务实例存放模块,用于将取出的所述服务实例放入所述服务池。
[0052] 可选的,所述运行状态记录模块包括:
[0053] 运行状态记录子模块,用于在所述服务实例运行过程中,在所述预先设置的管理器中的状态记录集合中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0054] 可选的,所述装置还包括:
[0055] 通信句柄获取模块,用于在所述启动绑定后的所述服务实例运行所述待处理任务之前,获取所述待处理任务对应的通信句柄,其中,所述通信句柄为所述客户端确定的;
[0056] 通信句柄存放模块,用于将所述通信句柄对应于所述待处理任务的标签保存至所述预先设置的管理器中的通信句柄集合中;
[0057] 在所述服务实例运行过程中,所述装置还包括:
[0058] 运行状态推送模块,用于通过所述通信句柄集合中所述待处理任务的标签对应的通信句柄,向所述客户端推送所述待处理任务的运行状态。
[0059] 可选的,所述装置还包括:
[0060] 查询请求获取模块,用于获取所述客户端通过所述通信句柄发送的查询请求,其中,所述查询请求携带所述待处理任务的标签;
[0061] 运行状态查找模块,用于在所述状态记录集合中运行状态所述标签对应的运行状态;
[0062] 运行状态返回模块,用于将所查找到的运行状态通过所述通信句柄返回所述客户端。
[0063] 可选的,所述装置还包括:
[0064] 检测参数获取模块,用于在所述启动绑定后的所述服务实例运行所述待处理任务之前,获取所述待处理任务对应的检测参数,其中,所述检测参数为所述客户端确定的用于标识在所述待处理任务运行过程中是否需要检测所述客户端存活状态;
[0065] 在所述服务实例运行过程中,所述装置还包括:
[0066] 定时检测模块,用于如果所述检测参数标识在所述待处理任务运行过程中需要检测所述客户端存活状态,定时通过通信句柄集合中所述待处理任务的标签对应的通信句柄检测所述客户端是否存活;
[0067] 服务实例继续运行模块,用于如果所述客户端存活,继续运行所述服务实例;
[0068] 服务实例停止运行模块,用于如果所述客户端未存活,停止运行所述服务实例。
[0069] 第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0070] 存储器,用于存放计算机程序
[0071] 处理器,用于执行存储器上所存放的程序时,实现上述任一所述的服务管理方法步骤。
[0072] 第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的服务管理方法步骤。
[0073] 本发明实施例所提供的方案中,首先可以获取待处理任务及待处理任务的标签,其中,待处理任务为客户端的后台任务,标签为客户端为待处理任务设置的标签,确定待处理任务对应的服务实例,并为服务实例设置与待处理任务的标签相匹配的标签,然后将待处理任务与服务实例绑定,并启动绑定后的服务实例运行待处理任务,在服务实例运行过程中,对应于服务实例的标签记录待处理任务的运行状态。这样,在每个服务从开始运行到结束,均可以对应于服务实例的标签记录其运行状态,大大方便对服务进行调度和管理。附图说明
[0074] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0075] 图1为本发明实施例所提供了的一种服务管理方法的流程图
[0076] 图2为图1所示实施例中步骤S102的一种具体流程图;
[0077] 图3为基于图2所示实施例的服务实例处理方式的一种流程图;
[0078] 图4为基于图1所示实施例的运行状态查询方式的一种流程图;
[0079] 图5为基于图1所示实施例的存活状态检测方式的一种流程图;
[0080] 图6为本发明实施例所提供了的一种服务管理装置的结构示意图;
[0081] 图7为本发明实施例所提供了的一种电子设备的结构示意图。

具体实施方式

[0082] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0083] 为了监控客户端后台服务的运行状态,方便对服务进行调度和管理,本发明实施例提供了一种服务管理方法、装置、电子设备及计算机可读存储介质。
[0084] 下面对本发明实施例所提供的一种服务管理方法进行介绍。
[0085] 本发明实施例所提供的服务管理方法可以应用于电子设备中预先设置的用于管理服务的虚拟组件,例如,可以为预设的管理器、管理模块、管理单元等,在此不做具体限定。为了描述方便,以下将可以执行本发明实施例所提供的服务管理方法的虚拟组件称为管理器。
[0086] 如图1所示,一种服务管理方法,所述方法包括:
[0087] S101,获取待处理任务及所述待处理任务的标签;
[0088] 其中,所述待处理任务为客户端的后台任务,所述标签为所述客户端为所述待处理任务设置的标签。
[0089] S102,确定所述待处理任务对应的服务实例,并为所述服务实例设置与所述待处理任务的标签相匹配的标签;
[0090] S103,将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;
[0091] S104,在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0092] 可见,本发明实施例所提供的方案中,首先可以获取待处理任务及待处理任务的标签,其中,待处理任务为客户端的后台任务,标签为客户端为待处理任务设置的标签,确定待处理任务对应的服务实例,并为服务实例设置与待处理任务的标签相匹配的标签,然后将待处理任务与服务实例绑定,并启动绑定后的服务实例运行待处理任务,在服务实例运行过程中,对应于服务实例的标签记录待处理任务的运行状态。这样,在每个服务从开始运行到结束,均可以对应于服务实例的标签记录其运行状态,大大方便对服务进行调度和管理。
[0093] 在客户端进程需要执行一个无需在前台于用户进行交互的后台任务时,客户端可以将其确定为待处理任务,并为其设置标签,以使其与其他任务相区别。其中,该标签可以为数字、字母、符号或者其中至少两种的组合等形式,在此不做具体限定,只要可以唯一标识该待处理任务即可。
[0094] 进而,客户端可以将待处理任务及待处理任务的标签传输至管理器,那么在上述步骤S101中,管理器便可以获取待处理任务及待处理任务的标签。在一种实施方式中,客户端可以将待处理任务根据其具体逻辑封装成一个任务体,进而,将该任务体传输至管理器,这也是合理的。由于任务体包括待处理任务的具体逻辑,所以管理器可以对其进行处理以执行待处理任务。
[0095] 接下来,为了执行待处理任务,管理器可以确定待处理任务对应的服务实例,其中,该服务实例可以为预先建立的服务实例,也可以为新建的服务实例,这都是合理的。
[0096] 为了便于管理和调度服务,管理器确定待处理任务对应的服务实例后,可以为该服务实例设置与待处理任务的标签相匹配的标签。在一种实施方式中,管理器可以为该服务实例设置与待处理任务的标签相同的标签,这样更加方便操作。
[0097] 接下来,在上述步骤S103中,管理器可以将待处理任务与上述服务实例绑定,绑定后服务实例便与待处理任务建立绑定关系,服务实例运行时便可以执行该待处理任务,所以管理器可以启动绑定后的服务实例,以运行待处理任务。
[0098] 为了实现对服务进行管理河调度的目的,在服务实例运行过程中,管理器可以对应于服务实例的标签记录待处理任务的运行状态,也就是执行上述步骤S104。这样,管理器便可以记录每个服务实施对应的任务的运行状态,方便客户端进行查询、对服务进行管理等。
[0099] 其中,记录待处理任务的运行状态的具体方式可以为在服务实例运行的重要节点记录待处理任务的运行状态,例如,在开始运行时、运行的中点时刻及结束运行时等。也可以定时记录待处理任务的运行状态,例如,每隔1秒记录一次待处理任务的运行状态等,这都是合理的,在此不做具体限定。
[0100] 作为本发明实施例的一种实施方式,如图2所示,上述确定所述待处理任务对应的服务实例的步骤,可以包括:
[0101] S201,确定预先设置的管理器中的服务池中是否具有空闲服务实例,如果具有,执行步骤S202;如果不具有,执行步骤S203;
[0102] 为了便于服务的管理,管理器可以预设的服务池,服务池用于保存服务实例。其中,服务池中存储的服务实例的数量可以根据客户端运行后台服务的一般情况确定,在此不做具体限定。
[0103] 这样,在获取待处理任务及待处理任务的标签后,管理器可以判断服务池中当前是否具有空闲服务实例,如果具有空闲服务实例,说明服务实例的数量充足,不必新建服务实例,所以管理器可以执行步骤S201。
[0104] 如果服务池中不具有空闲服务实例,说明服务实例的数量不足,当前预先建立的所有服务实例均在运行中,那么管理器需要执行步骤S202,以对待处理任务进行处理。
[0105] S202,从所述服务池中取出所述空闲服务实例,并将所述空闲服务实例确定为所述待处理任务对应的服务实例;
[0106] 由于此时服务池中具有空闲服务实例,所以不必新建服务实例,管理器可以从服务池中取出一个空闲服务实例,将该空闲服务实例确定为待处理任务对应的服务实例,以对待处理任务进行处理。
[0107] S203,新建服务实例作为所述待处理任务对应的服务实例。
[0108] 由于此时服务池中不具有空闲服务实例,所以为了能够对待处理任务进行处理,管理器可以新建一个服务实例,将其作为待处理任务对应的服务实例。
[0109] 可见,在本实施例中,管理器可以确定预先设置的管理器中的服务池中是否具有空闲服务实例,如果具有,从服务池中取出空闲服务实例,并将空闲服务实例确定为待处理任务对应的服务实例;如果不具有,新建服务实例作为待处理任务对应的服务实例。这样,可以保证在服务池中没有空闲服务实例时才新建服务实例,避免资源的浪费,同时减少客户端后台运行的服务实施例的数量,避免造成客户端卡顿的问题。
[0110] 作为本发明实施例的一种实施方式,上述启动绑定后的所述服务实例运行所述待处理任务的步骤,可以包括:
[0111] 将绑定后的所述服务实例存入所述预先设置的管理器中的运行中服务集合中运行所述待处理任务。
[0112] 管理器中除了可以建立上述服务池外,为了进一步方便进行服务的管理,管理器中还可以包括运行中服务集合,运行中服务集合用于存储正在运行的服务实例。
[0113] 那么在将待处理任务与服务实例绑定后,管理器便可以将绑定后的服务实例存入运行中服务集合中,以运行绑定后的服务实例,也就是对待处理任务进行处理。
[0114] 当然,在管理器中不包括上述服务池时,管理器中也可以包括运行中服务集合,管理器是否包括上述服务池,并不影响运行中服务集合的功能。
[0115] 可见,在本实施例中,管理器可以将绑定后的服务实例存入预先设置的管理器中的运行中服务集合中运行待处理任务,这样,可以更加便于对运行中的服务进行管理和调度。
[0116] 针对管理器包括上述服务池及运行中服务集合的情况而言,作为本发明实施例的一种实施方式,如图3所示,上述方法还可以包括:
[0117] S301,在所述服务实例运行完成时,去除所述服务实例的标签;
[0118] 在上述服务实例运行完成时,说明待处理任务已经处理完成,处理过程中待处理任务的运行状态也已经记录完成,此时服务实例的标签已经没有其他作用,所以管理器可以将服务实例的标签去除。
[0119] S302,将去除标签后的所述服务实例从所述运行中服务集合中取出;
[0120] 由于服务实例已经运行完成,而运行中服务集合中存储的为正在运行的服务实例,所以为了避免出现混乱,管理器可以将去除标签后的服务实例从运行中服务集合中取出。
[0121] S303,将取出的所述服务实例放入所述服务池。
[0122] 为了循环利用服务实例,避免建立过多服务实例造成资源浪费,管理器可以将取出的服务实例放入上述服务池中作为空闲服务实例,以循环利用。当管理器再次获取其他待处理任务时,可以利用其进行处理。
[0123] 可见,在本实施例中,管理器可以在服务实例运行完成时,去除服务实例的标签,将去除标签后的服务实例从运行中服务集合中取出,然后将取出的服务实例放入服务池。这样,可以循环利用服务实例,避免建立过多服务实例造成资源浪费。
[0124] 作为本发明实施例的一种实施方式,上述在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态的步骤,可以包括:
[0125] 在所述服务实例运行过程中,在所述预先设置的管理器中的状态记录集合中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0126] 管理器中除了可以建立上述服务池外,为了进一步方便进行服务的管理,管理器中还可以包括状态记录集合,状态记录集合用于记录待处理任务的运行状态。那么在服务实例运行过程中,管理器便可以在状态记录集合中,对应于服务实例的标签记录待处理任务的运行状态。
[0127] 当然,在管理器中不包括上述服务池时,管理器中也可以包括状态记录集合,管理器是否包括上述服务池,并不影响状态记录集合的功能。同时,管理器还可以包括上述运行中服务集合,在此不做具体限定。
[0128] 可见,在本实施例中,在服务实例运行过程中,管理器可以在预先设置的状态记录集合中,对应于服务实例的标签记录待处理任务的运行状态,这样,可以更加便于对运行状态的查找和记录,更加便于服务的管理和调度。
[0129] 作为本发明实施例的一种实施方式,在上述启动绑定后的所述服务实例运行所述待处理任务的步骤之前,上述方法还可以包括:
[0130] 获取所述待处理任务对应的通信句柄;将所述通信句柄对应于所述待处理任务的标签保存至所述预先设置的管理器中的通信句柄集合中。
[0131] 为了便于与客户端通信,以告知客户端待处理任务的运行状态等,客户端可以确定待处理任务的通信句柄,并在启动绑定后的服务实例运行待处理任务之前,将该通信句柄发送至管理器,管理器也就是可以获取待处理任务对应的通信句柄。其中,通信句柄可以理解为与进程通信的指针,或者一个虚拟通道,通过通信句柄管理器与客户端进程可以进行通信。
[0132] 管理器中除了可以建立上述服务池、状态记录集合及运行中服务集合外,为了进一步方便进行服务的管理,管理器中还可以包括通信句柄集合,用于存储待处理任务的通信句柄。那么在获取待处理任务对应的通信句柄后,管理器便可以将该通信句柄对应于待处理任务的标签保存至预先设置的通信句柄集合中。
[0133] 当然,在管理器中,不包括上述服务池、状态记录集合、运行中服务集合及通信句柄集合之间并不存在影响。管理器可以包括其中至少一个,都是合理的。
[0134] 相应的,在所述服务实例运行过程中,上述方法还可以包括:
[0135] 通过所述通信句柄集合中所述待处理任务的标签对应的通信句柄,向所述客户端推送所述待处理任务的运行状态。
[0136] 在服务实例运行过程中,为了使客户端能够获知待处理任务的运行状态,管理器可以确定通信句柄集合中待处理任务的标签对应的通信句柄,进而,通过所确定的通信句柄向客户端推送待处理任务的运行状态,这样,客户端便可以获知待处理任务的运行状态。
[0137] 例如,待处理任务为更新软件A,其对应的标签为标签B,那么在更新软件A更新至50%时,管理器可以在通信句柄集合中查找标签B对应的通信句柄,进而,通过查找到的通信句柄向客户端推送更新软件A的运行状态为“已更新至50%”。
[0138] 可见,在本实施例中,在启动绑定后的服务实例运行待处理任务之前,管理器可以获取待处理任务对应的通信句柄,将通信句柄对应于待处理任务的标签保存至预先设置的管理器中的通信句柄集合中,进而,在服务实例运行过程中,通过通信句柄集合中待处理任务的标签对应的通信句柄,向客户端推送待处理任务的运行状态。这样,可以方便客户端获知待处理任务的运行状态,提高用户体验。
[0139] 针对上述管理器获取待处理任务对应的通信句柄的情况而言,作为本发明实施例的一种实施方式,如图4所示,上述方法还可以包括:
[0140] S401,获取所述客户端通过所述通信句柄发送的查询请求;
[0141] 在待处理任务的处理过程中,用户可能想要知道待处理任务是的处理状态,所以客户端在接收到用户发出的指令时,可以通过待处理任务的通信句柄发送查询请求至管理器,管理器也就是可以获取该查询请求。其中,该查询请求可以携带待处理任务的标签,以便管理器确定所要查询的待处理任务。
[0142] S402,在所述状态记录集合中查找所述标签对应的运行状态;
[0143] 接收到客户端发送的查询请求后,管理器便可以在上述状态记录集合中,查找查询请求所携带的标签所对应的运行状态,该运行状态即为客户端所要查询的待处理任务的运行状态。
[0144] S403,将所查找到的运行状态通过所述通信句柄返回所述客户端。
[0145] 进而,管理器便可以将所查找到的运行状态通过上述通信句柄返回该客户端,客户端也就可以输出该运行状态,以供用户查看。
[0146] 可见,在本实施例中,管理器可以获取客户端通过通信句柄发送的查询请求,在状态记录集合中查找标签对应的运行状态,进而将所查找到的运行状态通过通信句柄返回客户端。这样,用户可以随时查询待处理任务的运行状态,进一步提高用户体验。
[0147] 针对上述管理器获取待处理任务对应的通信句柄的情况而言,作为本发明实施例的一种实施方式,在上述启动绑定后的所述服务实例运行所述待处理任务的步骤之前,上述方法还可以包括:
[0148] 获取所述待处理任务对应的检测参数。
[0149] 由于对于某些待处理任务来说,如果在待处理任务运行过程中,客户端关闭,那么该待处理任务也就没有必要运行下去,例如,文件下载任务,一般在文件下载过程中客户关闭,则说明用户不需要下载该文件了。所以,客户端可以根据待处理任务的具体任务内容等因素确定待处理任务对应的检测参数,其中,检测参数用于标识在待处理任务运行过程中是否需要检测客户端存活状态。
[0150] 确定了待处理任务对应的检测参数后,客户端可以将其与待处理任务一同发送至管理器,管理器也就可以获取待处理任务对应的检测参数,进而根据待处理任务对应的检测参数确定在待处理任务运行过程中是否需要检测客户端存活状态。
[0151] 相应的,如图5所示,在所述服务实例运行过程中,所述方法还包括:
[0152] S501,如果所述检测参数标识在所述待处理任务运行过程中需要检测所述客户端存活状态,定时通过通信句柄集合中所述待处理任务的标签对应的通信句柄检测所述客户端是否存活,如果是,执行步骤S502;如果否,执行步骤S503;
[0153] 如果待处理任务的检测参数标识在待处理任务运行过程中需要检测客户端存活状态,那么在服务实例运行过程中,管理器可以定时通过通信句柄集合中待处理任务的标签所对应的通信句柄,检测客户端是否存活。
[0154] 如果待处理任务的检测参数标识在待处理任务运行过程中不需要检测客户端存活状态,那么在服务实例运行过程中,管理器便可以不检测客户端是否存活。其中,检测客户端是否存活的具体方式可以采用相关领域中任一检测应用程序是否存活的方式,在此不做具体限定及说明。
[0155] 如果客户端存活,那么说明客户端没有被关闭,满足待处理任务运行的条件,也就是说,待处理任务需要继续进行处理,所以可以执行步骤S502;如果客户端不是存活状态,那么说明客户端已经被关闭,不满足待处理任务运行的条件,也就是说,待处理任务不需要继续进行处理,所以可以执行步骤S503。
[0156] S502,继续运行所述服务实例;
[0157] 此时,由于待处理任务需要继续进行处理,所以管理器可以继续运行上述服务实例,以继续处理待处理任务,直到服务实例运行结束,或者,下一次检测时确定客户端不是存活状态。
[0158] S503,停止运行所述服务实例。
[0159] 此时,由于待处理任务不需要继续进行处理,所以管理器可以停止运行上述服务实例,避免造成资源的浪费。
[0160] 可见,在本实施例中,在启动绑定后的服务实例运行待处理任务之前,管理器可以获取待处理任务对应的检测参数,进而在服务实例运行过程中,如果检测参数标识在待处理任务运行过程中需要检测客户端存活状态,定时通过通信句柄集合中待处理任务的标签对应的通信句柄检测客户端是否存活,如果是,继续运行服务实例;如果否,停止运行服务实例。这样,可以在需要时继续运行服务实例,而在客户端不是存活状态时,停止运行服务实例,避免造成资源的浪费。
[0161] 下面以客户端进程有一个下载网络大文件的任务的情况进行举例说明。
[0162] 首先客户端可以将下载网络大文件的任务的具体逻辑封装成任务体T,然后给任务体T加上标签“file_load_task”,并且新建任务体T的回调实例,将其作为通信句柄B,并且设置任务体T的检测参数为G,其表示在待处理任务运行过程中需要检测客户端存活状态。
[0163] 接下来,客户端可以将任务体T及其标签“file_load_task”、通信句柄B及检测参数G放入管理器M中。管理器M可以从服务池中获取一个空闲服务实例,设置该服务实例的标签为“file_load_task”,并将该服务实例与任务T进行绑定,将绑定后的服务实例放入运行中服务集合中,以运行该绑定后的服务实例。同时,将通信句柄B存入通信句柄集合中,并保存检测参数G。
[0164] 在上述服务实例运行过程中,管理器M可以在状态记录集合中,对应于标签“file_load_task”,记录任务体T的运行状态。并在服务实例运行结束时,去除服务实例的标签,并将其从运行中服务集合中取出,放入服务池中。
[0165] 在服务实例运行过程中,管理器M可以通过通信句柄B向客户端推送任务体T的运行状态。客户端进程也可以以标签“file_load_task”作为查询关键词,通过管理器M提供的接口查询到网络大文件的下载进度,也可以通过预设接口终止任务体T的执行。
[0166] 同样在服务实例运行过程中,管理器M可以定时检测客户端是否存活,如果检测到客户端不是存活状态,那么便可以停止运行服务实例。
[0167] 相应于上述服务管理方法,本发明实施例还提供了一种服务管理装置。
[0168] 下面对本发明实施例所提供的一种服务管理装置进行介绍。
[0169] 如图6所示,一种服务管理装置,所述装置包括:
[0170] 待处理任务获取模块610,用于获取待处理任务及所述待处理任务的标签;
[0171] 其中,所述待处理任务为客户端的后台任务,所述标签为所述客户端为所述待处理任务设置的标签。
[0172] 服务实例确定模块620,用于确定所述待处理任务对应的服务实例,并为所述服务实例设置与所述待处理任务的标签相匹配的标签;
[0173] 服务实例运行模块630,用于将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;
[0174] 运行状态记录模块640,用于在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0175] 可见,本发明实施例所提供的方案中,首先可以获取待处理任务及待处理任务的标签,其中,待处理任务为客户端的后台任务,标签为客户端为待处理任务设置的标签,确定待处理任务对应的服务实例,并为服务实例设置与待处理任务的标签相匹配的标签,然后将待处理任务与服务实例绑定,并启动绑定后的服务实例运行待处理任务,在服务实例运行过程中,对应于服务实例的标签记录待处理任务的运行状态。这样,在每个服务从开始运行到结束,均可以对应于服务实例的标签记录其运行状态,大大方便对服务进行调度和管理。
[0176] 作为本发明实施例的一种实施方式,上述服务实例确定模块620可以包括:
[0177] 空闲服务实例确定子模块(图6中未示出),用于确定预先设置的管理器中的服务池中是否具有空闲服务实例;
[0178] 服务实例获取子模块(图6中未示出),用于如果具有空闲服务实例,从所述服务池中取出所述空闲服务实例,并将所述空闲服务实例确定为所述待处理任务对应的服务实例;
[0179] 服务实例新建子模块(图6中未示出),用于如果不具有空闲服务实例,新建服务实例作为所述待处理任务对应的服务实例。
[0180] 作为本发明实施例的一种实施方式,上述服务实例运行模块630可以包括:
[0181] 服务实例运行子模块(图6中未示出),用于将绑定后的所述服务实例存入所述预先设置的管理器中的运行中服务集合中运行所述待处理任务。
[0182] 作为本发明实施例的一种实施方式,上述装置还可以包括:
[0183] 标签去除模块(图6中未示出),用于在所述服务实例运行完成时,去除所述服务实例的标签;
[0184] 服务实例取出模块(图6中未示出),用于将去除标签后的所述服务实例从所述运行中服务集合中取出;
[0185] 服务实例存放模块(图6中未示出),用于将取出的所述服务实例放入所述服务池。
[0186] 作为本发明实施例的一种实施方式,上述运行状态记录模块640可以包括:
[0187] 运行状态记录子模块(图6中未示出),用于在所述服务实例运行过程中,在所述预先设置的管理器中的状态记录集合中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0188] 作为本发明实施例的一种实施方式,上述装置还可以包括:
[0189] 通信句柄获取模块(图6中未示出),用于在所述启动绑定后的所述服务实例运行所述待处理任务之前,获取所述待处理任务对应的通信句柄;
[0190] 其中,所述通信句柄为所述客户端确定的。
[0191] 通信句柄存放模块(图6中未示出),用于将所述通信句柄对应于所述待处理任务的标签保存至所述预先设置的管理器中的通信句柄集合中;
[0192] 在所述服务实例运行过程中,所述装置还包括:
[0193] 运行状态推送模块(图6中未示出),用于通过所述通信句柄集合中所述待处理任务的标签对应的通信句柄,向所述客户端推送所述待处理任务的运行状态。
[0194] 作为本发明实施例的一种实施方式,上述装置还可以包括:
[0195] 查询请求获取模块(图6中未示出),用于获取所述客户端通过所述通信句柄发送的查询请求;
[0196] 其中,所述查询请求携带所述待处理任务的标签。
[0197] 运行状态查找模块(图6中未示出),用于在所述状态记录集合中运行状态所述标签对应的运行状态;
[0198] 运行状态返回模块(图6中未示出),用于将所查找到的运行状态通过所述通信句柄返回所述客户端。
[0199] 作为本发明实施例的一种实施方式,上述装置还可以包括:
[0200] 检测参数获取模块(图6中未示出),用于在所述启动绑定后的所述服务实例运行所述待处理任务之前,获取所述待处理任务对应的检测参数;
[0201] 其中,所述检测参数为所述客户端确定的用于标识在所述待处理任务运行过程中是否需要检测所述客户端存活状态。
[0202] 在所述服务实例运行过程中,所述装置还包括:
[0203] 定时检测模块(图6中未示出),用于如果所述检测参数标识在所述待处理任务运行过程中需要检测所述客户端存活状态,定时通过通信句柄集合中所述待处理任务的标签对应的通信句柄检测所述客户端是否存活;
[0204] 服务实例继续运行模块(图6中未示出),用于如果所述客户端存活,继续运行所述服务实例;
[0205] 服务实例停止运行模块(图6中未示出),用于如果所述客户端未存活,停止运行所述服务实例。
[0206] 本发明实施例还提供了一种电子设备,如图7所示,电子设备可以包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0207] 存储器703,用于存放计算机程序;
[0208] 处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
[0209] 获取待处理任务及所述待处理任务的标签;
[0210] 其中,所述待处理任务为客户端的后台任务,所述标签为所述客户端为所述待处理任务设置的标签。
[0211] 确定所述待处理任务对应的服务实例,并为所述服务实例设置与所述待处理任务的标签相匹配的标签;
[0212] 将所述待处理任务与所述服务实例绑定,并启动绑定后的所述服务实例运行所述待处理任务;
[0213] 在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0214] 可见,本发明实施例所提供的方案中,电子设备首先可以获取待处理任务及待处理任务的标签,其中,待处理任务为客户端的后台任务,标签为客户端为待处理任务设置的标签,确定待处理任务对应的服务实例,并为服务实例设置与待处理任务的标签相匹配的标签,然后将待处理任务与服务实例绑定,并启动绑定后的服务实例运行待处理任务,在服务实例运行过程中,对应于服务实例的标签记录待处理任务的运行状态。这样,在每个服务从开始运行到结束,均可以对应于服务实例的标签记录其运行状态,大大方便对服务进行调度和管理。
[0215] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0216] 通信接口用于上述电子设备与其他设备之间的通信。
[0217] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0218] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0219] 其中,上述确定所述待处理任务对应的服务实例的步骤,可以包括:
[0220] 确定预先设置的管理器中的服务池中是否具有空闲服务实例;
[0221] 如果具有,从所述服务池中取出所述空闲服务实例,并将所述空闲服务实例确定为所述待处理任务对应的服务实例;
[0222] 如果不具有,新建服务实例作为所述待处理任务对应的服务实例。
[0223] 其中,上述启动绑定后的所述服务实例运行所述待处理任务的步骤,可以包括:
[0224] 将绑定后的所述服务实例存入所述预先设置的管理器中的运行中服务集合中运行所述待处理任务。
[0225] 其中,上述方法还可以包括:
[0226] 在所述服务实例运行完成时,去除所述服务实例的标签;
[0227] 将去除标签后的所述服务实例从所述运行中服务集合中取出;
[0228] 将取出的所述服务实例放入所述服务池。
[0229] 其中,上述在所述服务实例运行过程中,对应于所述服务实例的标签记录所述待处理任务的运行状态的步骤,可以包括:
[0230] 在所述服务实例运行过程中,在所述预先设置的管理器中的状态记录集合中,对应于所述服务实例的标签记录所述待处理任务的运行状态。
[0231] 其中,在上述启动绑定后的所述服务实例运行所述待处理任务的步骤之前,上述方法还可以包括:
[0232] 获取所述待处理任务对应的通信句柄;
[0233] 其中,所述通信句柄为所述客户端确定的。
[0234] 将所述通信句柄对应于所述待处理任务的标签保存至所述预先设置的管理器中的通信句柄集合中;
[0235] 在所述服务实例运行过程中,上述方法还可以包括:
[0236] 通过所述通信句柄集合中所述待处理任务的标签对应的通信句柄,向所述客户端推送所述待处理任务的运行状态。
[0237] 其中,上述方法还可以包括:
[0238] 获取所述客户端通过所述通信句柄发送的查询请求;
[0239] 其中,所述查询请求携带所述待处理任务的标签。
[0240] 在所述状态记录集合中查找所述标签对应的运行状态;
[0241] 将所查找到的运行状态通过所述通信句柄返回所述客户端。
[0242] 其中,在上述启动绑定后的所述服务实例运行所述待处理任务的步骤之前,上述方法还可以包括:
[0243] 获取所述待处理任务对应的检测参数;
[0244] 其中,所述检测参数为所述客户端确定的用于标识在所述待处理任务运行过程中是否需要检测所述客户端存活状态。
[0245] 在所述服务实例运行过程中,上述方法还可以包括:
[0246] 如果所述检测参数标识在所述待处理任务运行过程中需要检测所述客户端存活状态,定时通过通信句柄集合中所述待处理任务的标签对应的通信句柄检测所述客户端是否存活;
[0247] 如果是,继续运行所述服务实例;
[0248] 如果否,停止运行所述服务实例。
[0249] 本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的服务管理方法步骤。
[0250] 可见,本发明实施例所提供的方案中,计算机程序被处理器执行时,首先可以获取待处理任务及待处理任务的标签,其中,待处理任务为客户端的后台任务,标签为客户端为待处理任务设置的标签,确定待处理任务对应的服务实例,并为服务实例设置与待处理任务的标签相匹配的标签,然后将待处理任务与服务实例绑定,并启动绑定后的服务实例运行待处理任务,在服务实例运行过程中,对应于服务实例的标签记录待处理任务的运行状态。这样,在每个服务从开始运行到结束,均可以对应于服务实例的标签记录其运行状态,大大方便对服务进行调度和管理。
[0251] 需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于相应方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0252] 进一步需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0253] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0254] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈