CN112181501B - 应用的服务框架、服务控制方法、装置及计算机可读存储介质 - Google Patents
应用的服务框架、服务控制方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112181501B CN112181501B CN202010910297.0A CN202010910297A CN112181501B CN 112181501 B CN112181501 B CN 112181501B CN 202010910297 A CN202010910297 A CN 202010910297A CN 112181501 B CN112181501 B CN 112181501B
- Authority
- CN
- China
- Prior art keywords
- service
- business service
- request message
- resource
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000001419 dependent effect Effects 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了应用的服务框架、服务控制方法、装置及计算机可读存储介质,该应用的服务框架包括:第一资源管理器,被配置为用于根据预定义配置文件创建资源对象,并在资源列表中维护资源对象,资源对象包括管理服务和至少一个业务服务;管理服务,被配置为用于通过服务接口接收请求消息,根据请求消息对至少一个业务服务中的目标业务服务进行启停管理;至少一个业务服务,被配置为用于执行对应的业务功能。利用上述应用的服务框架、服务控制方法、装置及计算机可读存储介质,能够在不停止应用的情况下实现业务服务的独立启停,避免了在启停过程中对其它正常运行的服务造成影响。
Description
技术领域
本发明属于计算机领域,具体涉及一种应用的服务框架以及服务控制方法、装置及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着业务场景需求的复杂性不断提升,经常出现一个Java网关应用程序中启动了多个网络服务的情况。在生产环境中,经常出现需要通过重启服务来刷新服务配置的情况。
目前,对于同时启动多个网络服务的应用,如果要对其中的某一个服务进行重启通常需要重启整个应用,使其他原本正常运行的服务受到影响,并且需要花费较长时间重新加载服务所需的各种资源。
发明内容
针对上述现有技术中存在的问题,提出了应用的服务框架、应用的服务控制方法、装置及计算机可读存储介质,利用这种框架和方法,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供一种应用的服务框架,包括:第一资源管理器,被配置为用于根据预定义配置文件创建资源对象,并在资源列表中维护资源对象,资源对象包括管理服务和至少一个业务服务;管理服务,被配置为用于通过服务接口接收请求消息,根据请求消息对至少一个业务服务中的目标业务服务进行启停管理;至少一个业务服务,被配置为用于执行对应的业务功能。
在一种可能的实施方式中,管理服务被配置为用于:在目标业务服务对应的目标配置更改后,通过服务接口获取第一请求消息,第一请求消息包括刷新指令和目标业务服务的标识信息;根据第一请求消息调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器的资源列表中移除;创建第二资源管理器以读取更改后的目标配置,从而重新创建目标业务服务;根据目标业务服务的标识信息确定对应的依赖资源,并将重新创建的目标业务服务动态注册到第一资源管理器;调用重新创建的目标业务服务的启动方法以启动服务线程。
在一种可能的实施方式中,管理服务被配置为用于:在目标业务服务对应的目标配置被移除后,通过服务接口获取第二请求消息,第二请求消息包括刷新指令和目标业务服务的标识信息;根据第二请求消息调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器维护的资源列表中移除。
在一种可能的实施方式中,管理服务被配置为用于:在预定义配置文件中添加新增业务服务对应的新增配置后,通过服务接口获取第三请求消息,第三请求消息包括刷新指令和新增业务服务的标识信息;创建第二资源管理器以读取新增配置,从而创建新增业务服务;根据新增配置载入新增业务服务的依赖资源,将新增业务服务动态注册到第一资源管理器;调用新增业务服务的启动方法以启动服务线程。
在一种可能的实施方式中,第一资源管理器被配置为用于:根据预定义配置文件中各个服务的类名,利用java反射机制创建资源对象。
在一种可能的实施方式中,第一资源管理器在资源列表中维护的资源对象还包括多种类型的依赖资源,第一资源管理器被配置为还用于:在应用启动时加载各种类型的依赖资源,在应用启动之后复用所需的依赖资源,其中,多种类型的依赖资源包括:读配置文件、读缓存、创建连接池中的一种或多种。
第二方面,提供一种服务控制方法,包括:当系统启动时,根据预定义的配置文件创建第一资源管理器,其中,第一资源管理器在资源列表中维护的资源对象包括管理服务和至少一个业务服务;通过管理服务的服务接口接收请求消息,根据请求消息对至少一个业务服务中的目标业务服务进行启停管理;以及,通过至少一个业务服务执行对应的业务功能。
在一种可能的实施方式中,方法还包括:在目标业务服务对应的目标配置更改后,通过管理服务的服务接口获取第一请求消息,第一请求消息包括刷新指令和目标业务服务的标识信息;管理服务根据第一请求消息调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器的资源列表中移除;创建第二资源管理器以读取更改后的目标配置,从而重新创建目标业务服务;根据目标业务服务的标识信息确定对应的依赖资源,并将重新创建的目标业务服务动态注册到第一资源管理器;调用重新创建的目标业务服务的启动方法以启动服务线程。
在一种可能的实施方式中,方法还包括:在目标业务服务对应的目标配置被移除后,管理服务通过服务接口获取第二请求消息,第二请求消息包括刷新指令和目标业务服务的标识信息;根据第二请求调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器维护的资源列表中移除。
在一种可能的实施方式中,方法还包括:在预定义配置文件中添加新增业务服务对应的新增配置后,管理服务通过服务接口获取第三请求消息,第三请求消息包括刷新指令和新增业务服务的标识信息;创建第二资源管理器以读取新增配置,从而创建新增业务服务;根据新增配置载入新增业务服务的依赖资源,将新增业务服务和新增业务服务的依赖资源动态注册到第一资源管理器;调用新增业务服务的启动方法以启动服务线程。
在一种可能的实施方式中,方法还包括:第一资源管理器根据预定义配置文件中的类名,利用java反射机制创建资源对象。
在一种可能的实施方式中,第一资源管理器在资源列表中维护的资源对象还包括多种类型的依赖资源,方法还包括:第一资源管理器在应用启动时加载各种类型的依赖资源,在应用启动之后复用所需的依赖资源,其中,多种类型的依赖资源包括:读配置文件、读缓存、创建连接池中的一种或多种。
第三方面,提供一种应用服务的控制装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如第二方面所述的方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被多核处理器执行时,使得所述多核处理器执行如第二方面所述的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本实施例中,通过将管理服务、业务服务作为第一资源管理器的资源对象统一管理,利用管理服务的服务接口可以在不停止应用的情况下实现业务服务的独立启停,避免了在启停过程中对其它正常运行的服务造成影响。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为现有技术中的应用的服务框架的结构示意图;
图2为根据本发明一实施例的应用的服务框架的结构示意图;
图3为根据本发明一实施例的应用的服务框架进行业务服务启停的示意图;
图4为根据本发明一实施例的应用的服务控制方法的流程示意图;
图5为根据本发明又一实施例的应用服务的控制装置的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1为现有技术中的java应用的服务框架10,其中同一个java应用中包含多个业务服务(业务服务11、业务服务12),启动或停止业务服务必须重启应用。每个业务服务中包含依赖的资源,不同业务服务之间的资源相互独立。管理服务13主要用于刷新资源、展示服务状态等。上述现有技术存在的缺点或问题包括:无法复用资源,当服务重启时需要重新加载资源,造成系统启动时间增加。管理服务功能单一,无法管理业务服务的启停。并且无法单独重启某一个服务,只能通过重启应用来重启服务,重启应用会影响其他正常服务运行。
图2为根据本申请一实施例的应用的服务框架20的框架示意图,该应用例如可以是java应用,如图2所示,该应用的服务框架20可以包括以下实体:
第一资源管理器21,被配置为用于根据预定义配置文件创建资源对象,并在资源列表中维护资源对象,资源对象包括管理服务22和至少一个业务服务(23、24);
管理服务22,被配置为用于通过服务接口接收请求消息,根据请求消息对至少一个业务服务中的目标业务服务进行启停管理;
第一业务服务23和第二业务服务24,被配置为用于执行对应的业务功能。
本实施例中,管理服务22、业务服务(第一业务服务23、第二业务服务24)作为第一资源管理器21统一管理的资源对象。第一资源管理器21内部维护了一个资源列表(Map),并且提供了资源注册和移除的方法。当资源对象被创建时会动态地注册到第一资源管理器21内部维护的资源列表(Map)中,资源对象销毁时则从资源列表(Map)中移除。管理服务22包括刷新资源功能、展示服务状态功能、对业务服务(第一业务服务23和第二业务服务24)的启停管理功能。本实施例仅以两个业务服务作为示例进行描述,业务服务(第一业务服务23和第二业务服务24)可以根据实际需要配置,一个应用系统中可以包含一个或更多个业务服务。由此,可以在不停止应用的情况下实现业务服务的独立启停,避免了在启停过程中对其它正常运行的服务造成影响。
一个示例中,在预定义配置文件中定义各类服务(Server)的配置内容。服务(Server)的属性包括标识信息(id),用于唯一标识服务(Server),Port是服务(Server)监听的端口号,handlers是服务(Server)的handler列表,其中包括了统一资源标识符(uri)和其具体的业务handler。其中,Handler是指具体业务逻辑的执行类,在本文中,“类”是指后缀名为“.class”的文件。服务(Server)的配置文件示例如下,其中mngServer是指管理服务,httpServer1是指第一业务服务、httpServer1是指第二业务服务。
其中,当应用启动时,资源管理器21会根据预定义配置文件中的端口号和Handler配置并启动各项服务。当请求到达服务(Server)后,系统根据uri匹配handler执行具体的业务逻辑。其中,管理服务(mngServer)中的refreshSVR的Handler类实现了刷新业务服务的功能。
在一种可能的实施方式中,第一资源管理器21被配置为用于:根据预定义配置文件中各个服务的类名,利用java反射机制创建资源对象。其中,Java反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。
在一种可能的实施方式中,管理服务可以被配置为用于:在目标业务服务对应的目标配置更改后,通过服务接口获取第一请求消息,第一请求消息包括刷新指令和目标业务服务的标识信息;根据第一请求消息调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器的资源列表中移除;创建第二资源管理器以读取更改后的目标配置,从而重新创建目标业务服务;根据目标业务服务的标识信息确定对应的依赖资源,并将重新创建的目标业务服务动态注册到第一资源管理器;调用重新创建的目标业务服务的启动方法以启动服务线程。
在一个示例中,参见图3,事先利用上述预定义配置文件中定义服务(Server),包括管理服务22,第一业务服务23和第二业务服务24。应用启动之后,根据预定义配置文件内容创建资源管理器21,服务(Server)是资源管理器中的一种资源。当需要改变第一业务服务23的服务功能时,需要更改预定义配置文件中第一业务服务23对应的配置文件,并向管理服务22的服务接口发送第一请求消息,该第一请求消息例如可以是:http://ip:port/refreshSVR?id=Server1,其中,refreshSVR为管理服务22的刷新功能的执行类,id=Server1为第一业务服务23的标识信息,该第一请求消息用于请求刷新第一业务服务23的配置文件。参见图3,管理服务收到第一请求消息后,基于refreshSVR执行以下步骤a至e:(a)首先调用第一业务服务23的停止接口;(b)将第一业务服务23从资源管理器21维护的资源列表中移除;(c)创建第二资源管理器25读取更改后的配置文件,从而重新创建第一业务服务23;(d)通过第一请求消息中的ID=Server1获取指定的依赖资源,并将重新创建的第一业务服务23动态注册到第一资源管理器21中;(e)调用第一业务服务23的启动方法启动服务线程。调用管理服务的refreshSVR接口可以在不停止应用的情况下实现服务的独立启停,服务独立的启停功能避免了在启停过程中对其它正常运行的服务造成影响。
可选的,也可以不创建第二资源管理器而重新创建第一业务服务。
在一种可能的实施方式中,管理服务22被配置为用于:在目标业务服务对应的目标配置被移除后,通过服务接口获取第二请求消息,第二请求消息包括刷新指令和目标业务服务的标识信息;根据第二请求消息调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器维护的资源列表中移除。
在一个示例中,第二请求消息用于请求停止目标业务服务,停止服务首先需要将目标业务服务的定义从预定义配置文件中移除,然后请求管理服务的refreshSVR接口。第二请求消息例如http://ip:port/refreshSVR?id=serverId,其中ip是机器的实际ip,端口号为管理服务的实际端口号,id是需要停止的目标业务服务的ID。
在一种可能的实施方式中,管理服务被配置为用于:在预定义配置文件中添加新增业务服务对应的新增配置后,通过服务接口获取第三请求消息,第三请求消息包括刷新指令和新增业务服务的标识信息;创建第二资源管理器以读取新增配置,从而创建新增业务服务;根据新增配置载入新增业务服务的依赖资源,将新增业务服务动态注册到第一资源管理器;调用新增业务服务的启动方法以启动服务线程。
一个示例中,第三请求消息用于请求启动新增业务服务,启动服务时要将对应服务的定义添加到配置文件中,然后请求管理服务的refreshSVR接口。第三请求消息例如http://ip:port/refreshSVR?id=serverId,其中ip是机器的实际ip,端口号为管理服务的实际端口号,id是需要启动的新增业务服务的ID。
在一种可能的实施方式中,第一资源管理器在资源列表中维护的资源对象还包括多种类型的依赖资源,第一资源管理器被配置为还用于:在应用启动时加载各种类型的依赖资源,在应用启动之后复用所需的依赖资源,其中,多种类型的依赖资源包括:读配置文件、读缓存、创建连接池中的一种或多种。
在一个示例中,在预定义配置文件中定义依赖资源如下所示:
其中,当应用启动时会根据预定义配置文件自动载入依赖资源。当重启服务时,无需重新加载依赖资源,从而可以减少了服务启动用时。
可选地,也可以采用spring等其他方式管理上述资源资源对象。
基于相同的技术构思,本发明实施例还提供一种应用的服务控制方法。图4为本发明实施例提供的一种应用的服务控制方法的流程示意图。
如图4所示,方法400包括:
步骤401、当系统启动时,根据预定义的配置文件创建第一资源管理器,其中,第一资源管理器在资源列表中维护的资源对象包括管理服务和至少一个业务服务;
步骤402、通过管理服务的服务接口接收请求消息,根据请求消息对至少一个业务服务中的目标业务服务进行启停管理;以及,
步骤403、通过至少一个业务服务执行对应的业务功能。
在一种可能的实施方式中,方法400还包括:在目标业务服务对应的目标配置更改后,通过管理服务的服务接口获取第一请求消息,第一请求消息包括刷新指令和目标业务服务的标识信息;管理服务根据第一请求消息调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器的资源列表中移除;创建第二资源管理器以读取更改后的目标配置,从而重新创建目标业务服务;根据目标业务服务的标识信息确定对应的依赖资源,并将重新创建的目标业务服务动态注册到第一资源管理器;调用重新创建的目标业务服务的启动方法以启动服务线程。
在一种可能的实施方式中,方法400还包括:在目标业务服务对应的目标配置被移除后,管理服务通过服务接口获取第二请求消息,第二请求消息包括刷新指令和目标业务服务的标识信息;根据第二请求调用目标业务服务的停止接口,并将目标业务服务从第一资源管理器维护的资源列表中移除。
在一种可能的实施方式中,方法400还包括:在预定义配置文件中添加新增业务服务对应的新增配置后,管理服务通过服务接口获取第三请求消息,第三请求消息包括刷新指令和新增业务服务的标识信息;创建第二资源管理器以读取新增配置,从而创建新增业务服务;根据新增配置载入新增业务服务的依赖资源,将新增业务服务和新增业务服务的依赖资源动态注册到第一资源管理器;调用新增业务服务的启动方法以启动服务线程。
在一种可能的实施方式中,方法400还包括:第一资源管理器根据预定义配置文件中的类名,利用java反射机制创建资源对象。
在一种可能的实施方式中,第一资源管理器在资源列表中维护的资源对象还包括多种类型的依赖资源,方法还包括:第一资源管理器在应用启动时加载各种类型的依赖资源,在应用启动之后复用所需的依赖资源,其中,多种类型的依赖资源包括:读配置文件、读缓存、创建连接池中的一种或多种。
需要说明的是,本申请实施例中的应用的服务控制方法可以实现前述应用的服务框架的实施例的各个方面,并达到相同的效果和功能,这里不再赘述。
图5为根据本申请一实施例的应用服务的控制装置,用于执行图4所示出的应用的服务控制方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例所示的方法。
根据本申请的一些实施例,提供了应用的服务控制方法的非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行:上述实施例所示的方法。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。
本申请实施例提供的装置、设备和计算机可读存储介质与方法是一一对应的,因此,装置、设备和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和计算机可读存储介质的有益技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (12)
1.一种应用的服务框架,其特征在于,包括:
第一资源管理器,被配置为用于根据预定义配置文件创建资源对象,并在资源列表中维护所述资源对象,所述资源对象包括管理服务和至少一个业务服务;
所述管理服务,被配置为用于通过服务接口接收请求消息,根据所述请求消息对所述至少一个业务服务中的目标业务服务进行启停管理;
所述至少一个业务服务,被配置为用于执行对应的业务功能;
其中,所述管理服务被配置为用于:在所述目标业务服务对应的目标配置更改后,通过服务接口获取第一请求消息,所述第一请求消息包括刷新指令和所述目标业务服务的标识信息;根据所述第一请求消息调用所述目标业务服务的停止接口,并将所述目标业务服务从所述第一资源管理器的所述资源列表中移除;创建第二资源管理器以读取更改后的所述目标配置,从而重新创建所述目标业务服务;根据所述目标业务服务的标识信息确定对应的依赖资源,并将所述重新创建的所述目标业务服务动态注册到所述第一资源管理器;调用所述重新创建的所述目标业务服务的启动方法以启动服务线程。
2.根据权利要求1所述的框架,其特征在于,所述管理服务被配置为用于:
在所述目标业务服务对应的目标配置移除后,通过服务接口获取第二请求消息,所述第二请求消息包括刷新指令和所述目标业务服务的标识信息;
根据所述第二请求消息调用所述目标业务服务的停止接口,并将所述目标业务服务从所述第一资源管理器维护的所述资源列表中移除。
3.根据权利要求1所述的框架,其特征在于,所述管理服务被配置为用于:
在所述预定义配置文件中添加新增业务服务对应的新增配置后,通过服务接口获取第三请求消息,所述第三请求消息包括刷新指令和所述新增业务服务的标识信息;
创建第二资源管理器以读取所述新增配置,从而创建所述新增业务服务;
根据所述新增配置载入所述新增业务服务的依赖资源,将所述新增业务服务动态注册到所述第一资源管理器;
调用所述新增业务服务的启动方法以启动服务线程。
4.根据权利要求1所述的框架,其特征在于,所述第一资源管理器被配置为用于:
根据所述预定义配置文件中各个服务的类名,利用java反射机制创建所述资源对象。
5.根据权利要求1-4中任一项所述的框架,其特征在于,所述第一资源管理器在所述资源列表中维护的所述资源对象还包括多种类型的依赖资源,所述第一资源管理器被配置为还用于:
在应用启动时加载所述各种类型的依赖资源,在所述应用启动之后复用所需的所述依赖资源,其中,所述多种类型的依赖资源包括:读配置文件、读缓存、创建连接池中的一种或多种。
6.一种应用的服务控制方法,其特征在于,包括:
当系统启动时,根据预定义的配置文件创建第一资源管理器,其中,所述第一资源管理器在资源列表中维护的资源对象包括管理服务和至少一个业务服务;
通过所述管理服务的服务接口接收请求消息,根据所述请求消息对所述至少一个业务服务中的目标业务服务进行启停管理;以及,
通过所述至少一个业务服务执行对应的业务功能;
所述方法还包括:
在所述目标业务服务对应的目标配置更改后,通过所述管理服务的服务接口获取第一请求消息,所述第一请求消息包括刷新指令和所述目标业务服务的标识信息;
所述管理服务根据所述第一请求消息调用所述目标业务服务的停止接口,并将所述目标业务服务从所述第一资源管理器的资源列表中移除;
创建第二资源管理器以读取更改后的所述目标配置,从而重新创建所述目标业务服务;
根据所述目标业务服务的标识信息确定对应的依赖资源,并将所述重新创建的所述目标业务服务动态注册到所述第一资源管理器;
调用所述重新创建的所述目标业务服务的启动方法以启动服务线程。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述目标业务服务对应的目标配置被移除后,所述管理服务通过服务接口获取第二请求消息,所述第二请求消息包括刷新指令和所述目标业务服务的标识信息;
根据所述第二请求调用所述目标业务服务的停止接口,并将所述目标业务服务从所述第一资源管理器维护的所述资源列表中移除。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在预定义配置文件中添加新增业务服务对应的新增配置后,所述管理服务通过服务接口获取第三请求消息,所述第三请求消息包括刷新指令和所述新增业务服务的标识信息;
创建第二资源管理器以读取所述新增配置,从而创建所述新增业务服务;
根据所述新增配置载入所述新增业务服务的依赖资源,将所述新增业务服务和所述新增业务服务的依赖资源动态注册到所述第一资源管理器;
调用所述新增业务服务的启动方法以启动服务线程。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述第一资源管理器根据预定义配置文件中的类名,利用java反射机制创建所述资源对象。
10.根据权利要求6-9中任一项所述的方法,其特征在于,所述第一资源管理器在所述资源列表中维护的所述资源对象还包括多种类型的依赖资源,所述方法还包括:
所述第一资源管理器在应用启动时加载所述各种类型的依赖资源,在所述应用启动之后复用所需的所述依赖资源,其中,所述多种类型的依赖资源包括:读配置文件、读缓存、创建连接池中的一种或多种。
11.一种应用服务的控制装置,其特征在于,包括:
至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:如权利要求6-10中任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被多核处理器执行时,使得所述多核处理器执行如权利要求6-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010910297.0A CN112181501B (zh) | 2020-09-02 | 2020-09-02 | 应用的服务框架、服务控制方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010910297.0A CN112181501B (zh) | 2020-09-02 | 2020-09-02 | 应用的服务框架、服务控制方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181501A CN112181501A (zh) | 2021-01-05 |
CN112181501B true CN112181501B (zh) | 2024-02-23 |
Family
ID=73924646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010910297.0A Active CN112181501B (zh) | 2020-09-02 | 2020-09-02 | 应用的服务框架、服务控制方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181501B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481114A (zh) * | 2002-09-06 | 2004-03-10 | 联想(北京)有限公司 | 在家庭网络中设备进行服务注册的方法 |
CN1997032A (zh) * | 2006-12-05 | 2007-07-11 | 中兴通讯股份有限公司 | 一种基于wap浏览请求的首页定制系统及其方法 |
US7546313B1 (en) * | 2003-06-17 | 2009-06-09 | Novell, Inc. | Method and framework for using XML files to modify network resource configurations |
US7788477B1 (en) * | 2007-01-31 | 2010-08-31 | Hewlett-Packard Development Company, L.P. | Methods, apparatus and articles of manufacture to control operating system images for diskless servers |
CN102984012A (zh) * | 2012-12-10 | 2013-03-20 | 青岛海信传媒网络技术有限公司 | 管理服务资源的方法及服务资源管理系统 |
CN103024065A (zh) * | 2012-12-25 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 用于云存储系统的系统配置管理方法 |
CN103200225A (zh) * | 2013-02-25 | 2013-07-10 | 汉柏科技有限公司 | 一种服务器集群中服务的集中管理方法和系统 |
CN106375132A (zh) * | 2016-11-01 | 2017-02-01 | Tcl集团股份有限公司 | 一种云服务器系统的管理方法及云服务器系统 |
CN106657054A (zh) * | 2016-12-19 | 2017-05-10 | 中国人民解放军国防信息学院 | 一种基于虚拟机服务跳变的网络安全防御方法 |
CN108268324A (zh) * | 2016-12-30 | 2018-07-10 | 航天信息股份有限公司 | 一种远程多业务管理方法和系统 |
CN110537169A (zh) * | 2017-04-28 | 2019-12-03 | 微软技术许可有限责任公司 | 分布式计算系统中的集群资源管理 |
CN111143069A (zh) * | 2019-12-27 | 2020-05-12 | 杭州数梦工场科技有限公司 | 服务管理方法、装置、电子设备、存储介质 |
CN111416844A (zh) * | 2020-03-12 | 2020-07-14 | 北京金山云网络技术有限公司 | 一种服务的启停方法、系统、装置及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201878B2 (en) * | 2008-03-27 | 2015-12-01 | International Business Machines Corporation | Object-oriented systems and methods for remotely controlling storage management services |
US7836185B2 (en) * | 2008-06-27 | 2010-11-16 | International Business Machines Corporation | Common resource management in a server cluster |
US20100250314A1 (en) * | 2009-03-25 | 2010-09-30 | International Business Machines Corporation | Service portfolio approach for soa governance |
-
2020
- 2020-09-02 CN CN202010910297.0A patent/CN112181501B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481114A (zh) * | 2002-09-06 | 2004-03-10 | 联想(北京)有限公司 | 在家庭网络中设备进行服务注册的方法 |
US7546313B1 (en) * | 2003-06-17 | 2009-06-09 | Novell, Inc. | Method and framework for using XML files to modify network resource configurations |
CN1997032A (zh) * | 2006-12-05 | 2007-07-11 | 中兴通讯股份有限公司 | 一种基于wap浏览请求的首页定制系统及其方法 |
US7788477B1 (en) * | 2007-01-31 | 2010-08-31 | Hewlett-Packard Development Company, L.P. | Methods, apparatus and articles of manufacture to control operating system images for diskless servers |
CN102984012A (zh) * | 2012-12-10 | 2013-03-20 | 青岛海信传媒网络技术有限公司 | 管理服务资源的方法及服务资源管理系统 |
CN103024065A (zh) * | 2012-12-25 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 用于云存储系统的系统配置管理方法 |
CN103200225A (zh) * | 2013-02-25 | 2013-07-10 | 汉柏科技有限公司 | 一种服务器集群中服务的集中管理方法和系统 |
CN106375132A (zh) * | 2016-11-01 | 2017-02-01 | Tcl集团股份有限公司 | 一种云服务器系统的管理方法及云服务器系统 |
CN106657054A (zh) * | 2016-12-19 | 2017-05-10 | 中国人民解放军国防信息学院 | 一种基于虚拟机服务跳变的网络安全防御方法 |
CN108268324A (zh) * | 2016-12-30 | 2018-07-10 | 航天信息股份有限公司 | 一种远程多业务管理方法和系统 |
CN110537169A (zh) * | 2017-04-28 | 2019-12-03 | 微软技术许可有限责任公司 | 分布式计算系统中的集群资源管理 |
CN111143069A (zh) * | 2019-12-27 | 2020-05-12 | 杭州数梦工场科技有限公司 | 服务管理方法、装置、电子设备、存储介质 |
CN111416844A (zh) * | 2020-03-12 | 2020-07-14 | 北京金山云网络技术有限公司 | 一种服务的启停方法、系统、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
云联络中心服务监控管理平台的设计与实现;庞超;信息科技(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181501A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020238751A1 (zh) | 无服务器架构下的资源访问方法、设备、系统及存储介质 | |
US8949791B2 (en) | Distributed software testing using cloud computing resources | |
US8996506B2 (en) | Duplicate search optimization | |
US11567802B2 (en) | Resource monitor for monitoring long-standing computing resources | |
US20170024251A1 (en) | Scheduling method and apparatus for distributed computing system | |
CN114253535A (zh) | H5页面多语言渲染方法及装置 | |
WO2022083512A1 (zh) | 一种信息共享方法、装置、服务器及存储介质 | |
CN107423942B (zh) | 一种业务流转的方法及装置 | |
US20230229496A1 (en) | Allocating resources for network function virtualization | |
CN115098112B (zh) | 一种金融云应用资源的部署方法、设备及介质 | |
CN108132807B (zh) | 参数加载方法及装置 | |
CN112181501B (zh) | 应用的服务框架、服务控制方法、装置及计算机可读存储介质 | |
US9893936B2 (en) | Dynamic management of restful endpoints | |
CN112987936A (zh) | 一种互动处理方法、系统、装置、设备及介质 | |
CN111147291B (zh) | 一种服务维护方法及装置 | |
US10394619B2 (en) | Signature-based service manager with dependency checking | |
CN116339908A (zh) | 虚拟机启动方法、装置、计算机设备和存储介质 | |
CN112910980B (zh) | 一种数据库访问系统和方法 | |
CN114968482A (zh) | 无服务器处理方法、装置和网络设备 | |
US10417041B2 (en) | Moving a software application in a system cluster | |
US20160380855A1 (en) | Efficient replacement of clients running large scale applications | |
CN112328598A (zh) | Id生成方法、装置、电子设备及存储介质 | |
CN114826919B (zh) | 一种基于sdn的负载均衡软件纳管方法、装置、设备及介质 | |
US11853783B1 (en) | Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance | |
CN116627775B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |