应用管理方法、应用订阅方法及相关设备与流程

文档序号:31607700发布日期:2022-09-21 11:30阅读:96来源:国知局
应用管理方法、应用订阅方法及相关设备与流程

1.本技术涉及软件技术领域,尤其涉及一种应用管理方法、应用订阅方法及相关设备。


背景技术:

2.应用程序(application,app)也称应用,是指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,可以具有可视的用户界面。
3.随着app的功能越来越多,app与app之间的功能会相互依赖。在对相互依赖的多个app进行再次开发时,如果要对其中的一个app进行修改,则也需要对与该app相互依赖的app进行修改。从而导致app的开发效率较低。因此,在对app进行再次开发时,需要先对相互依赖的app进行解耦。


技术实现要素:

4.本技术提供一种应用管理方法、应用订阅方法及相关设备,可以解耦存在相互依赖的多个app。
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.可选地,第一查询信息还用于查询第一应用是否发生预设事件和/或第一应用的属性更新信息;当第一应用发生预设事件时,第一查询结果还包括所述预设事件的标识;当第一应用的属性发生变更时,第一查询结果还包括变更后的属性值。
37.一些实现方式中,该方法还包括:接收用于查询第二应用的属性信息的第二查询信息,该第二查询信息包括第二应用的标识;发送包括第二应用的属性信息的第二查询结果,该属性信息包括第二应用的运行状态。
38.第七方面,本技术提供一种应用管理装置,该装置应用于控制模块,该应用控制模块用于控制第一应用和第二应用的部署,第一应用和第二应用之间具有关联关系,第一应用能够应用控制模块控制第二应用的运行状态,该装置可以用于实现如第六方面及第六方面的任意一种可能的实现方式所述的应用订阅方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与第六方面及第六方面的任意一种可能的实现方式所述的应用管理方法中的步骤相对应的模块或模块。
39.例如,所述装置包括:接收模块,用于订阅应用更新信息的订阅信息;发送模块,用于当确定第一应用和/或第二应用更新时,发送用于指示存在应用更新的第一通知信息。
40.可选地,第一通知信息包括第一应用和/或第二应用的属性的更新信息。
41.可选地,第一通知信息还用于指示存在新的应用。
42.一些实现方式中,接收模块,还用于查询第一应用的属性的信息的第一查询信息,该第一查询信息包括一个或多个第二字段,一个或第二字段对应的第一应用的属性的信息中的一个属性;发送模块,还用于发送包括与一个或多个第二字段对应的属性的第一查询结果。
43.可选地,第一查询信息还用于查询第一应用是否发生预设事件和/或第一应用的属性更新信息;当第一应用发生预设事件时,第一查询结果还包括所述预设事件的标识;当第一应用的属性发生变更时,第一查询结果还包括变更后的属性值。
44.一些实现方式中,接收模块,还用于接收用于查询第二应用的属性信息的第二查询信息,该第二查询信息包括第二应用的标识;发送模块,还用于发送包括第二应用的属性信息的第二查询结果,该属性信息包括第二应用的运行状态。
45.第八方面,本技术提供一种电子设备,包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
46.第九方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
47.第十方面,本技术提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第六方面及第六方面的任意一种可能的实现方式所述的方法。
48.基于上述第一方面至第十方面中的任一方面,本技术至少具备如下有益效果:
49.本技术中,对于具有关联关系的第一应用和第二应用,第一应用可以通过应用控制模块控制第二应用的运行状态。如此,第一应用不需要直接控制第二应用的运行状态。也即,第一应用和第二应用的运行状态互不关联。因此,可以实现第一应用和第二应用的解耦。
50.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
51.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理,并不构成对本技术的不当限定。
52.图1为本技术实施例提供的应用管理方法的流程示意图;
53.图2为本技术实施例提供的一种第一应用的配置信息和第二应用的配置信息之间的关联关系的示意图;
54.图3为本技术实施例提供的模型和预定义的关系示意图;
55.图4为本技术实施例提供的第一应用的运行对象和第二应用的运行对象之间的关联关系的示意图;
56.图5为本技术实施例提供的一种应用管理方法的流程示意图;
57.图6为本技术实施例提供的应用管理方法的又一流程示意图;
58.图7为本技术实施例提供的应用管理方法的又一流程示意图;
59.图8为本技术实施例提供的一种数据存储结构的示意图;
60.图9为本技术实施例提供的应用管理方法的又一流程示意图;
61.图10为本技术实施例提供的一种应用订阅方法的流程示意图;
62.图11为本技术实施例提供的应用订阅方法的又一流程示意图;
63.图12为本技术实施例提供的应用管理装置的结构示意图;
64.图13为本技术实施例提供的应用订阅装置的结构示意图。
具体实施方式
65.为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。
66.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
67.还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
[0068]“和/或”用于描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0069]
应用程序(application,app)也称应用,是指为完成某项或多项特定工作的计算机程序,可以运行在用户模式和用户进行交互,可以具有可视的用户界面。
[0070]
通常情况下,app之间主要包括以下多个耦合点:
[0071]
1、app之间静态结构耦合。也即,app直接依赖另一个app对外的接口或数据结构,在被依赖的app的接口或结构数据变化时,依赖着需要重新升级编译,其代码和程序结构也需要进行修改。
[0072]
2、app之间的功能耦合。app使用另一个app的功能。
[0073]
3、app与所使用的数据对象的耦合。app访问数据对象时,会依赖数据对象的数据结构。如果数据对象的数据结构变化,则app的功能逻辑代码就需要进行修改。数据对象可以包括用于描述应用的属性的数据。
[0074]
4、app部署耦合。app在部署其依赖的app时,需要考虑被依赖app的程序结构,并根据被依赖app的结构和类型针对性的进行部署。
[0075]
例如,以应用可以包括单体应用和多进程的应用为例,单体应用可以是指一个应用可以具有多个模块。该多个模块可以通过模块的导出成员、方法或者接口协作完成应用的一个功能。也即应用的多个模块之间存在耦合和结构依赖。多进程的应用可以是指多个应用相互调用,实现某个功能。例如,多进程的应用可以包括第一应用和第二应用。第一应
用可以调用第二应用以实现第二应用的功能。也即,多个应用之间存在耦合和功能依赖。
[0076]
目前,为了实现应用的解耦,可以采用下述方式一和方式二。其中,方式一用于对单体应用进行解耦,方式二用于对多进程的程序进行解耦。
[0077]
方式一、对于单体应用,需要将被其他模块依赖的模块前置,然后对该模块的成员、方法和接口。同时,也对其他模块的的成员、方法及接口进行修改。
[0078]
方式二、对于多进程的应用,可以采用面向服务架构(service-oriented architecture,soa)架构或微服务架构解耦应用。soa架构或微服务架构使用不同的语言和开发工具,为多个应用提供并行开发服务。
[0079]
其中,soa架构关注应用的可重用性的最大化,通过企业数据总线进行通信解耦。服务之间遵守相同的通信协议,就可以实现服务间的交互,从而实现应用的结构解耦。微服务架构通过轻量级的通信机协议进行通信。例如:超文本传输协议(hypertext transfer protocol,http)、表述性状态传递(representational state transfer,rest)或thrift应用程序接口(i(application programming interface,api)。
[0080]
soa架构和微服务架构,基于通信协议实现交互,因此需要完整通信协议的设计和消息系统(例如,soa的企业数据总线)的开发。开发人员都需要了解通信协议。一旦通信协议改变,则需要对使用通信协议的系统一起进行修改,提供了开发成本,且效率较慢。而且,通过soa架构和微服务架构可以对app之间的结构进行解耦,但app之间仍然存在功能的依赖。
[0081]
基于此,本技术实施例提供了一种应用管理方法,该方法可以解耦app之间的功能依赖关系,以实现多个app之间的并行开发和app的单独部署运行。
[0082]
示例性地,该方法具体可以在应用对应的硬件设备上实现,如:硬件设备可以包括服务器、计算机、电子设备等。其中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本技术对应用对应的硬件设备的具体实现方式不作限制。需要说明的是,本技术实施例中涉及到的应用侧实现步骤,均可以是由应用对应的硬件设备来实现。
[0083]
图1为本技术实施例提供的应用管理方法的流程示意图。如图1所示,该应用管理方法可以包括:
[0084]
s101、第一应用建立与第二应用之间的关联关系。
[0085]
其中,第一应用与第二应用之间的关联关系可以包括父子关系。第一应用为第二应用的父应用。第一应用与第二应用之间的关联关系可以包括第一应用的配置信息和第二应用的配置信息之间的关联关系、第一应用的运行对象和第二应用的运行对象之间的关联关系。
[0086]
其中,应用的配置信息可以是指应用的数据模型的属性值。例如,应用的配置信息可以包括应用的标识信息(如全局唯一标识符(globally unique identifier,guid))或应用的版本号中的一个或多个。应用的配置信息还可以包括应用的属性。比如,应用的属性可以包括应用的名称、应用的配置信息的标识信息、应用的数据模型的标识信息和版本号、或应用的配置信息中的配置参数值中的一个或多个。应用的数据模型可以包括应用的程序代码。应用的程序代码可以用于实现应用的功能。
[0087]
其中,应用的运行对象可以是指将应用的配置信息加载运行的实体。
[0088]
一种可能的实现方式中,第一应用可以将第二应用的配置信息或第二应用的配置信息的标识信息写入第一应用的配置信息列表中,得到第一应用的配置信息和第二应用的配置信息之间的关联关系。
[0089]
如此,第一应用在调用第一应用的配置信息时,可以根据该配置信息列表中第二应用的配置信息或第二应用的配置信息的标识信息,调用第二应用的配置信息。也即,第一应用可以建立第一应用的配置信息与第二应用的配置信息之间的关联关系。
[0090]
一种示例中,如图2所示,为本技术实施例提供的第一应用(app1)的配置信息和第二应用(app2)的配置信息之间的关联关系的示意图。图2中,第一应用的数据模型为根据第一应用的配置信息生成,第一应用的配置信息列表中的第二应用的配置信息可以生成第二应用的数据模型。
[0091]
又一种可能的实现方式中,第一应用可以响应于开发操作,将第二应用的程序代码作为第一应用的程序代码的运行脚本或功能函数。如此,在运行第一应用的程序代码时,可以调用第二应用的程序代码,得到具有关联关系的第一应用的运行对象和第二应用的运行对象。
[0092]
一种示例中,如图3所示,为本技术实施例中提供的第一应用的运行对象和第二应用的运行对象之间的关联关系。
[0093]
又一种可能的实现方式中,第一应用的开发者在开发第一应用时,可以在第一应用中增加第二应用的标识信息,或者,增加能够指示第二应用的一些字段。如此,可以建立第一应用和第二应用之间的关联关系。
[0094]
s102、第一应用通过应用控制模块控制第二应用的运行状态。
[0095]
其中,应用控制模块也可以称为应用运维系统,或者,也可以为应用运维系统中的设备。应用控制模块用于控制第一应用和第二应用的部署。应用控制模块还可以存储应用的部署配置信息(如应用的部署节点、运行资源等),以及用于提供应用的部署控制、调试、运行监视等功能。
[0096]
一种可能的实现方式中,第一应用可以向应用控制模块发送第一控制指令。相应的,应用控制模块可以根据第一控制指令控制第二应用的启动或停止运行。
[0097]
其中,第一控制指令可以用于控制第二应用的启动或停止运行。例如第一控制指令可以包括第一指示符,第一指示符可以用于指示启动第二应用或停止运行第二应用。第一指示符可以为数字、字符或数字与字符的组合。例如,当第一指示符为第一字符时,第一指示符用于指示启动第二应用;当第一指示符为第二字符时,第一指示符用于指示停止运行第二应用。第一指示符与第二指示符不同。比如,第一指示符可以为“start-app2”,第二指示符可以为“stop-app2”。
[0098]
又一种可能的实现方式中,第一应用可以在部署运行时,通过应用控制模块控制第二应用的启动。
[0099]
一种示例中,如图4所示,该可能的实现方式可以包括下述s401~s404。
[0100]
s401、应用控制模块接收第一指示信息。
[0101]
其中,第一指示信息用于指示部署第一应用。例如,第一指示信息可以包括第一应用的配置信息。
[0102]
s402、应用控制模块向第一应用发送第一配置信息。相应的,第一应用接收来自应
用控制模块的第一配置信息。
[0103]
其中,第一配置信息可以用于启动第一应用。例如,第一配置信息可以包括第一应用的配置信息。
[0104]
s403、第一应用向应用控制模块发送第二配置信息。相应的,应用控制模块接收来自第一应用的第二配置信息。
[0105]
其中,第二配置信息可以用于启动第二应用。例如,第二配置信息可以包括第二应用的配置信息。第二配置信息还可以用于指示待处理数据以及处理结果。
[0106]
一种示例中,第二配置信息还可以包括待处理数据。如此,第二应用在接收到第二配置信息之后,可以对该待处理数据进行处理,得到对应的处理结果。例如,如图4所示,第二应用还可以具有配置项列表,该配置项列表用于存储待处理数据和对应的处理结果。比如,图4中的数据对象1可以是指待处理数据,数据对象2可以是指对应的处理结果。
[0107]
进一步的,图4中的应用控制模块在接收到应用的配置信息之后,还可以用于存储应用的配置信息。例如,可以用于存储第一应用的配置信息和第二应用的配置信息。
[0108]
s404、应用控制模块向第二应用发送第二配置信息。相应的,第二应用接收来自应用控制模块的第二配置信息。
[0109]
基于上述s401~s404,基于应用控制模块,当第一应用部署启动时,为了使得与第一应用相关的第二应用能够部署启动,第一应用可以将部署启动指令发送给应用控制模块,进而应用控制模块可以将该指令转发给第二应用,以使得第二应用部署启动。由于第一应用的部署和第二应该的部署没有直接关系。因此,实现了第一应用和第二应用之间的部署解耦。
[0110]
基于上述实施例的技术方案,对于具有关联关系的第一应用和第二应用,第一应用可以通过应用控制模块控制第二应用的运行状态。如此,第一应用不需要直接控制第二应用的运行状态。也即,第一应用和第二应用的运行状态互不关联。因此,可以实现第一应用和第二应用的解耦。
[0111]
一种可能的实施例中,为了实现应用之间的数据解耦,如图5所示,本技术实施例的方法还可以包括s501。
[0112]
s501、第一应用将待处理数据上传至数据存储模块,用以第二应用从数据存储模块中获取待处理数据。
[0113]
其中,待处理数据可以是指第一应用在调用第二应用时实现第二应用的功能时需要处理的数据。也即,第二应用的功能可以包括处理数据。
[0114]
其中,数据存储模块可以称为数据存储系统,也可以为数据存储系统中的设备。数据存储系统可以用于存储和管理数据。例如,数据存储系统可以用于提供数据对象的增加、删除、查询、修改等功能。
[0115]
一种可能的实现方式中,如图6所示,数据存储模块可以包括第一存储区域和第二存储区域。第一存储区域用于存储待处理数据。s501具体可以包括s601~s603。
[0116]
s601、数据存储模块接收来自第一应用的请求信息。
[0117]
其中,该请求信息可以用于请求待处理数据。例如,该请求信息可以包括待处理数据的标识(如名称)。
[0118]
s602、数据存储模块从第一存储区域中获取待处理数据,并向第一应用发送待处
理数据。相应的,第一应用接收来自数据存储模块的待处理数据。
[0119]
其中,数据存储模块可以根据待处理数据的标识在第一存储区域中进行搜索,以获取待处理数据,并向第一应用发送待处理数据。第一应用在接收到待处理数据之后,可以对该待处理数据进行处理,得到对应的处理结果。
[0120]
s603、数据存储模块接收来自第一应用对待处理数据的处理结果,并将该处理结果存储至第二存储区域。
[0121]
进一步的,当数据存储模块的第二存储区域存储有数据的处理结果时,第一应用可以从第二存储区域中获取存储的处理结果。例如,第一应用可以向数据存储模块发送用于获取待处理数据的处理结果的请求信息。数据存储模块在接收到该请求信息之后,可以向第一应用发送待处理数据的处理结果。
[0122]
基于上述实施例,第一应用和第二应用可以通过数据存储模块进行数据的交互,第一应用和第二应用之间没有直接的数据交互。由于第一应用和第二应用之间的功能耦合主要是基于数据耦合,因此,当第一应用和第二应用的数据解耦时,第一应用和第二应用在功能上也实现了解耦。
[0123]
一种可能的实施例中,如图7所示,第一应用从数据存储模块中获取处理结果可以包括s701。
[0124]
s701、第一应用获取数据存储模块的数据存储结构,并根据该数据存储结构从数据存储模块中获取处理结果。
[0125]
其中,数据存储结构是指数据存储模块存储数据时使用的存储形式。例如,存储形式可以为分布式。分布式可以是指数据存储模块可以将数据划分为多个子数据。该多个子数据具有各自对应的标识。
[0126]
一种示例中,数据存储结构可以如图8所示。图8中,数据存储结构的存储区域可以包括多个成员(member),比如,成员1~成员8。一个成员用于表示一个子存储区域,可以用于存储子数据。该存储区域可以为第一存储区域,也可以为第二存储区域。
[0127]
例如,数据存储模块可以将待处理数据划分为多个子数据,并将该多个子数据分别存储至第一存储区域的多个成员中。
[0128]
又例如,数据存储模块可以将处理结果划分为多个子数据,并将该多个子数据分别存储至第二存储区域的多个member中。
[0129]
一种可能的实现方式中,如图9所示,第一应用从数据存储模块中获取处理结果的方法可以包括s901~s903。
[0130]
s901、第一应用向数据存储模块发送第一请求信息。相应的,数据存储模块接收来自第一应用的第一请求信息。
[0131]
其中,第一请求信息可以包括一个或多个第一字段,一个第一字段对应的处理结果的一个子数据。例如,一个第一字段可以为处理结果的一个子数据的标识。
[0132]
s902、数据存储模块根据该一个或多个第一字段,获取每个第一字段对应的处理结果的一个子数据。
[0133]
s903、数据存储模块向第一应用发送第一响应信息。相应的,第一应用接收来自数据存储模块的第一响应信息。
[0134]
其中,第一响应信息可以包括该一个或多个第一字段中每个第一字段对应的子数
据。
[0135]
进一步的,当处理结果的一个或多个子数据不包括与第一请求信息中某个第一字段对应的子数据时,第一响应消息中该第一字段对应数据可以为预设参数。比如,可以为“null”或者,可以为默认值。默认值可以根据需要设置,不予限制。
[0136]
基于上述实施例,当第一应用需要访问数据存储模块中存储的第二应用对待处理数据的处理结果时,可以将需要的处理结果的标识发送给数据存储模块,如此,数据存储模块可以根据处理结果的子数据的标识,将对应的子数据返回给第一应用,如此,可以实现第一应用和第二应用之间的数据结构的耦合。
[0137]
一种可能的实施例中,为了便于支持用户对应用进行访问和查询,如图10所示,本技术实施例还提供了一种应用订阅方法,该方法可以应用于应用控制模块,该方法可以包括s1001和s1002。
[0138]
s1001、建立第一应用和第二应用之间的关联关系。
[0139]
其中,s1001可以参照上述s101的描述,不予赘述。
[0140]
s1002、接收订阅信息。
[0141]
其中,订阅信息可以用于订阅应用更新信息。应用更新信息可以是指应用的属性的更新信息。例如,可以包括应用的属性的增加、删除、修改等信息。
[0142]
s1003、当确定第一应用和/或第二应用更新时,发送第一通知信息。
[0143]
其中,第一通知信息可以用于指示存在应用更新。例如,第一通知信息可以包括第一应用更新后的信息和/或第二应用更新后的信息。又例如,第一通知信息可以包括第一标识。第一标识可以用于指示存在应用更新。第一标识可以为数字、字符或数字与字符的组合等,不予限制。
[0144]
一种可能的实现方式中,当应用控制模块检测到第一应用或第二应用的属性变更时,可以向订阅用户使用的电子设备发送第一通知信息,以使得订阅用户可以及时了解到应用的更新信息。
[0145]
进一步的,在一些场景下,当应用控制模块新增了可以控制部署的应用时,第一通知信息还可以用于指示存在新的应用。例如,第一通知信息可以包括该新的应用的标识(如名称、功能等)。又例如,第一通知信息可以包括第三标识。第三标识可以用于指示存在新的应用。
[0146]
基于上述图10所示的技术方式,为了便于用户查看应用控制模块中的应用更新信息,应用控制模块可以支持用户订阅需求。如此,当检测到应用更新时,应用控制模块可以向订阅用户发送用于指示存在应用更新的通知,保住了订阅用户能够尽快获悉应用更新的信息。
[0147]
一种可能的实施例中,如图11所示,该方法还可以包括s1101和s1102。
[0148]
s1101、接收第一查询信息。
[0149]
其中,第一查询信息可以用于查询第一应用的属性的信息。第一查询信息可以包括一个或多个第二字段。一个第二字段对应第一应用的一个属性。
[0150]
其中,第一查询信息还可以用于查询第一应用是否发生预设事件和/或第一应用的属性更新信息。预设事件可以包括添加事件、修改事件、删除事件等。
[0151]
s1102、发送第一查询结果。
[0152]
其中,第一查询结果包括与该一个或多个第二字段对应的属性。例如,第一查询结果可以是键值(key-value)的形式。一个key可以标识一个第二字段,value为属性。
[0153]
一种可能的实现方式中,当第一应用发生预设事件时,数据控制模块可以向订阅用户使用的电子设备发送包括预设事件的标识;当第一应用的属性发生变更时,数据控制模块可以向订阅用户使用的电子设备发送包括第一应用变更后的属性值。
[0154]
进一步的,该方法还可以包括:接收第二查询信息,第二查询信息可以用于查询第二应用的属性信息,第二查询信息可以包括第二应用的标识。发送第二查询结果,第二查询结果可以包括第二应用的属性信息。第二应用的属性信息可以包括第二应用的运行状态。
[0155]
基于图11所述的技术方案,当用户想查看应用的某些属性或数据时,可以向应用控制模块发送需要的应用的属性或数据的字段,如此,应用控制模块只需根据字段返回相应的属性或数据即可,无需将整个数据对象都返回给用户,实现了数据结构的解耦。
[0156]
可以理解的,在实际实施时,本技术实施例所述的第一应用、应用控制模块等可以包含有用于实现前述对应的应用管理方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所申请的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0157]
基于这样的理解,以第一应用所在的设备包含的硬件结构和/或软件模块为例,本技术实施例还对应提供一种应用管理装置,可以应用于上述第一应用(如应用商店对应的设备)。图12为本技术实施例提供的应用管理装置的结构示意图。如图12所示,该应用管理装置可以包括:建立模块1201,用于建立与第二应用之间的关联关系。控制模块1202,用于通过应用控制模块控制第二应用的运行状态,该应用控制模块用于控制第一应用和第二应用的部署。
[0158]
可选地,通过应用控制模块控制第二应用的运行状态,该应用控制模块用于控制第一应用和第二应用的部署
[0159]
一些实现方式中,控制模块1202,向应用控制模块第一控制指令,以使得应用控制模块根据第一控制指令控制第二应用的启动或停止运行。
[0160]
一些实现方式中,如图12所示,该装置还包括:接收模块1203,用于接收来自应用控制模块的第一配置信息,第一配置信息用于启动第一应用;发送模块1204,用于向第二应用发送第二配置信息,第二配置信息用于启动第二应用。
[0161]
可选地,第二应用的配置信息包括待处理数据以及处理结果。
[0162]
一些实现方式中,发送模块1204,用于将待处理数据上传至数据存储模块,用以第二应用从数据处理模块中获取待处理数据。
[0163]
一些实现方式中,如图12所示,该装置还包括获取模块1205,用于从数据处理模块中获取处理结果,该处理模块为第二应用对待处理模块进行处理得到并上传至数据存储模块中的。
[0164]
一些实现方式中,获取模块1205,具体用于:获取数据存储模块的数据存储结构,并根据数据存储结构从数据存储模块中获取处理结果,该数据存储结构是指数据存储模块
存储数据时使用的存储形式;获取数据存储模块的数据存储结构,并根据数据存储结构从数据存储模块中获取处理结果,该数据存储结构是指数据存储模块存储数据时使用的存储形式;
[0165]
可选地,数据存储模块中存储的数据包括多个子数据,每个子数据具有对应的标识,存储的数据包括待处理数据和处理结果。
[0166]
一些实现方式中,获取模块1205,具体用于:向数据存储模块发送第一请求信息,第一请求信息包括一个或多个第一字段,一个第一字段对应一个子数据;接收来自数据存储模块的第一响应信息,第一响应信息包括与一个或多个第一字段中每个第一字段对应的子数据。
[0167]
可选地,当处理结果不包括与第一字段对应的子数据时,第一响应信息包括子数据对应的预设参数。
[0168]
本技术实施例还对应提供一种应用订阅装置,可以应用于上述应用控制模块,该应用控制模块用于控制第一应用和第二应用的部署,第一应用和第二应用之间具有关联关系,第一应用能够通过应用控制模块控制第二应用的运行状态。图13为本技术实施例提供的一种应用订阅装置的结构示意图。如图13所示,该应用订阅装置可以包括:接收模块1301,用于接收用于订阅应用更新信息的订阅信息。发送模块1302,用于当确定第一应用和/或第二应用更新时,发送用于指示存在应用更新的第一通知信息。
[0169]
可选地,第一通知信息包括第一应用和/或第二应用的属性的更新信息。
[0170]
可选地,第一通知信息还用于指示存在新的应用。
[0171]
一些实现方式中,接收模块1301,还用于查询第一应用的属性的信息的第一查询信息,该第一查询信息包括一个或多个第二字段,一个或第二字段对应的第一应用的属性的信息中的一个属性。发送模块1302,还用于发送包括与一个或多个第二字段对应的属性的第一查询结果。
[0172]
可选地,第一查询信息还用于查询第一应用是否发生预设事件和/或第一应用的属性更新信息;当第一应用发生预设事件时,第一查询结果还包括所述预设事件的标识;当第一应用的属性发生变更时,第一查询结果还包括变更后的属性值。
[0173]
一些实现方式中,接收模块1301,还用于接收用于查询第二应用的属性信息的第二查询信息,该第二查询信息包括第二应用的标识。发送模块1302,还用于发送包括第二应用的属性信息的第二查询结果,该属性信息包括第二应用的运行状态。
[0174]
如上所述,本技术实施例可以根据上述方法示例对应用管理方法中涉及到的各执行主体进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
[0175]
关于上述实施例中的应用管理装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
[0176]
本技术实施例还提供一种电子设备,该电子设备可以是应用商店对应的硬件设备,或者开发侧的设备,又或者上述用户设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如前述实施例所述
的方法。
[0177]
在示例性实施例中,本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如前述实施例所述的方法。
[0178]
可选地,上述计算机可读存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0179]
在示例性实施例中,本技术实施例还提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如前述实施例所述的方法。
[0180]
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。
[0181]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1