WO2016124102A1 - 一种服务管理方法和装置 - Google Patents

一种服务管理方法和装置 Download PDF

Info

Publication number
WO2016124102A1
WO2016124102A1 PCT/CN2016/072467 CN2016072467W WO2016124102A1 WO 2016124102 A1 WO2016124102 A1 WO 2016124102A1 CN 2016072467 W CN2016072467 W CN 2016072467W WO 2016124102 A1 WO2016124102 A1 WO 2016124102A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
application
target service
local
heat
Prior art date
Application number
PCT/CN2016/072467
Other languages
English (en)
French (fr)
Inventor
蔡明�
Original Assignee
阿里巴巴集团控股有限公司
蔡明�
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司, 蔡明� filed Critical 阿里巴巴集团控股有限公司
Priority to KR1020177024551A priority Critical patent/KR102004632B1/ko
Priority to EP16746097.1A priority patent/EP3255542A4/en
Priority to SG11201706256UA priority patent/SG11201706256UA/en
Priority to JP2017558606A priority patent/JP6564067B2/ja
Publication of WO2016124102A1 publication Critical patent/WO2016124102A1/zh
Priority to US15/661,099 priority patent/US10635454B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Definitions

  • the present invention relates to network technologies, and in particular, to a service management method and apparatus.
  • a distributed system is a computer system composed of a plurality of interconnected processing resources that cooperatively perform the same task under the control of the entire system.
  • the execution of a task may involve different service units in multiple application systems.
  • Most of these small service units perform information interaction through remote calls, and remote calls will generate large time consumption, which is developed in distributed systems. At a certain scale, this part of the consumption will seriously reduce the system response efficiency.
  • In the related art in order to save time consumed by remote calls, several application systems with service dependencies can be physically and centrally deployed through application analysis, but the flexibility and adaptability of this method is poor, and application changes are required. Re-analysis and redeployment both cost and impact business.
  • the present invention provides a service management method and apparatus to improve the response efficiency and adaptive capability of a distributed system.
  • a method of service management including:
  • the target service is loaded to the application local.
  • a service management apparatus including:
  • a heat detection module for detecting the heat of the application using the remote target service
  • a migration control module configured to load the target service to the application local when the heat detection module detects that the heat reaches a preset first threshold.
  • the service management method and apparatus of the present application improves the response efficiency and the adaptive capability of the distributed system by downloading the service to the application local when the service heat reaches a preset threshold.
  • FIG. 1 is a schematic diagram of a distributed system architecture provided by an embodiment of the present invention.
  • FIG. 2 is a flowchart of a service management method according to an embodiment of the present invention.
  • FIG. 3 is a structural diagram of a service management apparatus according to an embodiment of the present invention.
  • FIG. 4 is a structural diagram of another service management apparatus according to an embodiment of the present invention.
  • Figure 1 illustrates an alternative distributed system architecture in which multiple processing resources are included, such as a data storage server, a JAVA virtual machine, and the like.
  • processing resources such as a data storage server, a JAVA virtual machine, and the like.
  • Various application system services and data are distributed among the various processing resources described above. The following briefly describes the concepts involved in the service management method of the embodiment of the present application:
  • the service provided by the application system performs the first step of verification, and then locally calls the second step and the third step to finally complete the entire account opening process.
  • application is a division of a service and deployment as a "service”
  • an "application” can provide one or more "services” to a user or other "application”, at the request of the user.
  • application usage service or "application calling service” in this embodiment.
  • Service access data source In the logic execution process of the service, data access is generally involved; for example, in the above example, the ID card information is checked, and it is assumed that an ID card information base is used to check whether the library stores the information to be verified. ID card information, this involves the "check ID card information" service to access the data source "ID card information library", the data is normally accessed, the service can be executed normally.
  • the data source can come from the database Data Source, the file system File System, and the cache cache.
  • Local and remote services we can understand that physical, that is, the service invoked by the application is not on the resources deployed by the application, we believe that the service is a remote service, otherwise it is a local service; assuming the bank in the above example The application system is deployed on the processing resource A, and the public security application system is deployed on the processing resource B. Then the "check ID card information" service will be a remote service for the banking application system, and the other two services belong to the banking application system. So it belongs to the local service. That is to say, when the bank application system calls the "set new account information" service, the logic of the service is deployed on the processing resource A, and the resource A can be directly executed and executed, which is the local service.
  • the public security application system to which the called “checking identity card information” service belongs is deployed on another processing resource B, then the banking application system sends a service call request to the application on the processing resource B through the network, and waits for "checking the identity card information". "The service execution result returns, this is the remote service call.
  • the remote service call will bring the time consumption of the network transmission and the waiting time, especially when the application frequently calls the remote service, the execution efficiency of the application will be seriously affected; the service management method of the embodiment of the present application will be used to improve the distributed The system's response efficiency reduces the time spent on service calls.
  • it is necessary to manually analyze the services on the critical service path and the dependent services, and physically deploy the application systems where the services are located, which requires high requirements for the business analysts, and improves the deployment and operation and maintenance of the entire system. Degree; need to be redeployed when critical business path changes or dependency changes, will affect business stability, is also very inflexible, and has poor adaptability.
  • the service management method of this embodiment will also improve the adaptive capability of the distributed system, and flexibly adapt to the application's call to the service.
  • the embodiment reduces the granularity of the migration to the "service” compared to the physical proximity deployment. Will help reduce the cost of equipment.
  • the embodiment of the present application adds a service management apparatus to a distributed system, and the apparatus includes: a heat detection module and a migration control module.
  • the service management device can perform the method in FIG. 2
  • the flow of the illustrated service management method includes:
  • the heat detection module may detect the heat of the application using the remote target service.
  • the service management device is equivalent to a global management device. In actual implementation, it can count and record a lot of information. Table 1 below exemplarily shows some optional record information:
  • the application Y1 on the processing resource A is to be used to the service S3, and the logic of the service S3 is stored in the processing resource B, and if the application Y1 calls the service S3 on the processing resource B, it belongs to the service Remote call.
  • Service S3 can be migrated from processing resource B to processing resource A, where migration refers to the logical migration of the service.
  • the execution of the service may involve accessing the data source, then it can be considered a complete service.
  • the implementation includes two parts: "logic” and "data”, and the service migration of this embodiment refers to a logical migration, which is a logical copy of the target service, that is, the logic of the service S3 is also stored on the processing resource A.
  • the logic of the service S3 is also stored on the processing resource A, so that the logic flow of the service S3 can be executed locally in the processing resource A.
  • the service S3 belongs to Y2, but only Y1 is in use, even if a migration occurs (migration is a copy process of the service logic, and a logical copy of the service is migrated), the attribution of the service S3 is unchanged. Still belongs to Y2.
  • Migratable service It is precisely because, as mentioned above, the migration of a service refers to only the logical migration, that is, the logic of the processing flow defined by the service, therefore, if the service is migrated to an application (migrating to the corresponding application) Processing resources), the application needs to be able to access the resources on which the service is normally executed. For example, the normal execution of service S5 requires access to a data source (MySQL and Memcache), but If the application Y1 cannot access the data source, after the service S5 is migrated to the application Y1, the service S5 will not be executed normally, and the service S5 is not portable to the application Y1.
  • MySQL and Memcache data source
  • a service is a portable service for an application, it not only needs the application to access the data source needed by the service, but also limits other conditions.
  • the service is an independent service with clear logical boundaries, and there is no complex interdependence with other services, and the service is complete and compact, and easy to migrate. You can also request that the service be a stateless service and there is no interdependent state, all in order to make the service a convenient migration service.
  • it can be considered whether the access performance of the service will be affected when the service is migrated to the application. For example, the service is very efficient when accessing the data source before the migration, and the service execution efficiency is changed due to various reasons after the migration. If the slowness does not meet the business requirements of the application, the service can be considered unsuitable for migration.
  • the migratable service is usually a remote service for the application, and the local service does not need to be migrated.
  • the distributed system can include many applications.
  • the service management device can globally manage which services are portable for which applications, manage data sources that can be accessed by each application, and unify the data source names to facilitate determination. Whether the application contains the data source that the service requires.
  • the service management apparatus may also collect information such as the application usage heat of the migratable service, whether the application has loaded the service, and whether the service has been updated.
  • the "heat” is mainly used to indicate the frequency of use of the service by the application.
  • the application invokes the service 50 times within one hour; of course, the specific measurement method indicates the heat. It can be flexibly set according to the actual situation.
  • the first threshold and the second threshold may be set for the heat.
  • the first threshold is higher than the second threshold.
  • the first threshold is used to indicate that the application service has been used frequently when the heat value reaches or exceeds the threshold.
  • the tolerance of the application execution efficiency, the service migration can be performed, that is, the application loads the service; the second threshold is mainly used when the heat value reaches or falls below the threshold, indicating that the application is rarely used by the application, and the service uninstallation can be performed. To save processing resources.
  • a gap value may be set between the first threshold and the second threshold.
  • the first threshold is 100 times and the second threshold is 20 times. Then the two thresholds are used. The gap value is separated by 80 times. Doing so will not cause too frequent loading or Uninstalling the service caused the system to be unstable.
  • the application loading service refers to that the remote service has been migrated to the application local. For example, in the example of FIG. 1, the service S3 in the processing resource B is migrated to the processing resource A where the application Y1 is located, indicating that the application Y1 has been used. Load the service S3.
  • the logic of the service in the distributed system may be generated, for example, there may be different versions of the service; the service management device of this embodiment may monitor whether the service is updated; further, in order to reduce the resource consumption of the service management device, Only monitor the remote service that has been loaded by the application, because the purpose of monitoring the service update is that if the application loaded service has been updated, then the application's current service is already the old service, can't be used, and needs to uninstall the old service and reload in time. The new service, therefore, the service management device can only monitor the status of the service that the application has loaded.
  • a status monitoring module may be added to the service management device to monitor whether the target service loaded by the application is updated.
  • the service management apparatus at this time may include: a heat detection module 31, a migration control module 32, and a status monitoring module 33.
  • the heat detection module of the service management device detects the heat of the remote target service, and specifically monitors the heat of each application using a remote service, and continues to execute 202 according to the detected heat.
  • the target service when the heat detection module detects that the heat of the application using the target service reaches a preset first threshold, the target service may be loaded into the application local by the migration control module.
  • the migration control module may migrate the service S3 from the processing resource B to the processing resource A, and the The migration control module may be located on the processing resource A, and may be a module dedicated to loading or unloading the remote service, that is, two modules may be set on the processing resource A, one is a module dedicated to managing the local service, and the other is a module dedicated to managing the local service.
  • a module dedicated to loading or unloading remote services (such as the remote class loader on the JAVA virtual machine JVM) makes it easier to manage remote services.
  • the remote service needs to be loaded or uninstalled, only the heat detection module needs to be notified by the heat detection module.
  • the loading and unloading of the service in this embodiment may be performed asynchronously with the application, for example, When the current application is in the process of remotely invoking a service, but the heat of the application using the service has been detected to reach the first threshold, the migration control module performs the migration of the service, and the migration does not affect the execution of the application. The secondary application still performs the remote service invocation mode, and then uses the service loaded locally when the next application is executed again.
  • the heat detection module will continue to detect the heat of the application to the target service, and if the detected heat reaches the second threshold, the application subsequently uses the target service.
  • the migration control module can offload the target service from the application locally to save processing resources.
  • the status monitoring module of the service management device may notify the migration control module after detecting that the target service is updated, and the migration control module uninstalls the target local service of the application, and may load the update. After the target service.
  • the service management device may further include a service invoking module 34.
  • a service invoking module 34 when the service invoking module 34 is used to execute the application, it is determined whether the application locally stores the loaded target. Service; if the result of the judgment is that the target service is stored locally, the local target service is preferentially executed to reduce the time consumption caused by the remote call; if the result of the judgment is that the target service is not stored locally, the normal remote call is adopted.
  • the device can perform the service management method in the above embodiment, when the application uses the remote target service to reach a certain frequent threshold.
  • the remote service is migrated to the application local.
  • the service management device automatically determines the frequency of use of a service and performs automatic service migration, which saves the cost of manual analysis and deployment. It also improves the efficiency of service deployment.
  • the automatic service judgment and migration method is more flexible and quickly adapts to the actual application execution. By migrating the remote service to the application local, the time consumption of the remote service call is also saved, and the response efficiency of the distributed system is improved.
  • the method in this embodiment uses the service as the granularity of analysis, and the centralized deployment of the traditional application granularity is more precise, and the processing efficiency is further improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种服务管理方法和装置,其中方法包括:检测应用使用远程的目标服务的热度;在所述热度达到预设第一阈值时,将所述目标服务加载到应用本地。本发明提高了分布式***的响应效率以及自适应能力。

Description

一种服务管理方法和装置 技术领域
本发明涉及网络技术,特别涉及一种服务管理方法和装置。
背景技术
分布式***是由多个互相连接的处理资源组成的计算机***,它们在整个***的控制下协同执行同一个任务。任务的执行可能涉及到多个应用***中不同服务单元,这些小的服务单元之间大部分通过远程调用来完成信息的交互,而远程调用将产生很大的时间消耗,在分布式***发展到一定规模,这部分消耗将严重降低***响应效率。在相关技术中,为了节省远程调用消耗的时间,可以通过应用分析将具有服务依赖关系的几个应用***进行物理集中部署,但是这种方式的灵活性和适应力较差,应用变更时还要重新分析和重新部署,既耗费成本又影响业务进行。
发明内容
有鉴于此,本发明提供一种服务管理方法和装置,以提高分布式***的响应效率以及自适应能力。
具体地,本发明是通过如下技术方案实现的:
第一方面,提供一种服务管理方法,包括:
检测应用使用远程的目标服务的热度;
在所述热度达到预设第一阈值时,将所述目标服务加载到应用本地。
第二方面,提供一种服务管理装置,包括:
热度检测模块,用于检测应用使用远程的目标服务的热度;
迁移控制模块,用于在所述热度检测模块检测到所述热度达到预设第一阈值时,将所述目标服务加载到应用本地。
本申请的服务管理方法和装置,通过在服务的热度达到预设阈值时,将服务下载到应用本地,相对于远程调用,提高了分布式***的响应效率以及自适应能力。
附图说明
图1是本发明实施例提供的分布式***架构图;
图2是本发明实施例提供的服务管理方法的流程图;
图3是本发明实施例提供的一种服务管理装置的结构图;
图4是本发明实施例提供的另一种服务管理装置的结构图。
具体实施方式
图1示例了一种可选的分布式***架构,在该***中,包括多个处理资源,该处理资源例如是数据存储服务器、JAVA虚拟机等。各种应用***服务和数据分布于上述的各个处理资源中。如下简单说明本申请实施例的服务管理方法涉及到的几个概念:
服务和应用:以用户在银行开户为例(需要说明的是,该应用仅是示例),假设整个开户过程需要三个步骤:1、核对用户身份证信息;2、核对是否存在不良信用记录;3、“设置新开账户信息”,那么,可以将“核对身份证信息”、“核对信用记录”、“设置新账户信息”分别称为一个“服务”;“核对身份证信息”服务可能由公安的“应用”***提供,“核对信用记录”和“设置新账户信息”服务由银行的“应用”***提供,那么用户开户请求可以简单认为是由银行的应用***负责接入后远程调用公安应用***提供的服务进行第一步验证,然后本地调用第二步以及第三步来最终完成整个开户过程。在本方案中,我们可以简单理解“应用”是作为“服务”的一个业务和部署的划分方式,“应用”可给用户或者其他“应用”提供一个或者多个“服务”,在用户请求的执行过程中,应用***间的服务依赖在本实施例中称为“应用使用服务”或者“应用调用服务”。
服务访问数据源:服务的逻辑执行过程中,一般会涉及到数据的访问;比如,在上述例子中查验身份证信息,假设会使用到一个身份证信息库,查看该库中是否存储有待核实的身份证信息,这就涉及到“核对身份证信息”服务要访问数据源“身份证信息库”,数据正常访问,该服务才能正常执行。如图1所示,数据源可以来自数据库Data Source、文件***File System、高速缓存Cache。
本地服务和远程服务:本地和远程我们可以理解为物理上的,即应用调用的服务不在该应用部署的资源上面,我们认为该服务为远程服务,否则为本地服务;假设上述例子中的银行的应用***是部署在处理资源A上,而公安的应用***部署在处理资源B上,那么“核对身份证信息”服务对于银行应用***将是一个远程服务,而另外两个服务由于属于银行应用***,所以属于本地服务。也就是说,银行应用***在调用“设置新账户信息”服务时,该服务的逻辑部署在处理资源A上,直接在该资源A调用执行即可,这就是本地服务。而调用的“核对身份证信息”服务所属的公安应用***部署在另一个处理资源B上,那么银行应用***要通过网络向处理资源B上的应用发送服务调用请求,并等待“核对身份证信息”服务执行结果返回,这就是远程服务调用。
很显然,远程服务调用将带来网络传输及等待的时间消耗,尤其在应用频繁的调用远程服务时,将严重影响该应用的执行效率;本申请实施例的服务管理方法将用于提高分布式***的响应效率,降低服务调用的时间消耗。并且,传统方式中,需要人工分析关键业务路径上的服务以及依赖的服务,将这些服务所在应用***物理就近部署,这个对业务分析人员要求较高,并且提高了整个***的部署、运维复杂度;当关键业务路径变更或者依赖关系变更时需要重新部署,将影响业务稳定性,也非常不灵活,适应力较差。而本实施例的服务管理方法还将提高分布式***的自适应能力,灵活适应应用对服务的调用,此外,相较于物理就近部署,本实施例将迁移的粒度降低到了“服务”,这将有利于设备成本的降低。
如图1所示,本申请实施例在分布式***中增加了服务管理装置,该装置包括:热度检测模块和迁移控制模块。其中,该服务管理装置可以执行图2所 示的服务管理方法的流程,包括:
201、检测应用使用远程的目标服务的热度;
例如,本步骤中可以是由热度检测模块检测应用使用远程的目标服务的热度。需要说明的是,服务管理装置相当于一个全局的管理装置,实际实施中,其可以统计并记录很多信息,如下的表1示例性的示出一些可选的记录信息:
表1应用调用服务信息
Figure PCTCN2016072467-appb-000001
表2服务信息
Figure PCTCN2016072467-appb-000002
对于上述表1中的信息解释如下:应用和服务在前面已经说明过,不再详述,一个业务的执行可能会依赖多个服务提供协助。而本实施例的服务管理方法涉及到服务的迁移,并不是任何一个服务都可以迁移的。
服务的迁移:结合图1的示例,处理资源A上的应用Y1要使用到服务S3,而服务S3的逻辑是存储在处理资源B,如果应用Y1调用处理资源B上的服务S3,则属于服务的远程调用。可以将服务S3从处理资源B迁移到处理资源A,这里的迁移指的是服务的逻辑的迁移,如上面提到过的,服务的执行可能涉及到访问数据源,那么可以认为一个完整服务的执行包括“逻辑”和“数据”两部分,而本实施例的服务迁移指的是逻辑的迁移,迁移的是目标服务的一段逻辑副本,即将服务S3的逻辑也同时存储在处理资源A上,使得处理资源A上也存储有一份服务S3的逻辑,这样就可以在处理资源A本地执行服务S3的逻辑流程。此外,需要说明的是,服务S3归属于Y2,只是Y1在使用,即使产生迁移(迁移是一次服务逻辑的拷贝过程,迁移过来的是服务的逻辑副本),服务S3的归属是不变的,仍然属于Y2。
可迁移服务:正是由于如上述提到的,服务的迁移指的仅仅是逻辑的迁移,即该服务限定的处理流程的逻辑,因此,如果服务迁移到某个应用(迁移到该应用对应的处理资源上),需要该应用能够访问服务正常执行所依赖的资源。例如,服务S5正常执行需要访问某个数据源(MySQL和Memcache),但是如 果应用Y1是不能访问该数据源,那么服务S5迁移到该应用Y1后,将导致服务S5不能正常执行,则该服务S5对于应用Y1来说就是不可迁移的。
当然,如果一个服务对于应用来说,是可迁移服务,不仅需要应用能够访问服务需要的数据源,还可以限制其他条件。比如,该服务是有清晰的逻辑界限的独立服务,与其他服务不存在复杂的相互依赖关系,而且该服务完整和小巧,便于迁移。还可以要求该服务是无状态服务,不存在相互依赖的状态,这些都是为了使得服务是一个方便迁移的服务。此外,还可以考虑,当将服务迁移到应用后,服务的访问性能是否会受到影响,比如,在迁移前服务在访问数据源时效率很快,而迁移后由于各种原因导致服务执行效率变慢不符合应用的业务要求,则可以认为该服务是不适合迁移的。此外,需要说明的是,可迁移服务通常对于应用来说都是远程服务,本地服务是不需要迁移的。
分布式***可以包括很多应用,在本步骤中,服务管理装置可以从全局上管理哪些服务对于哪些应用是可迁移的,管理各个应用能够访问的数据源,并且将数据源名称统一,以方便确定应用是否包含服务需要的数据源。此外,该服务管理装置还可以统计应用对可迁移服务的使用热度、应用是否已经加载该服务、以及服务是否已经更新等信息。
应用对可迁移服务的使用热度:该“热度”主要用于表示应用对服务的使用频率,比如,在一小时内应用调用了该服务50次;当然,具体采用何种度量方式表示该热度,可以根据实际情况灵活设定。本实施例对于热度可以设定第一阈值和第二阈值,第一阈值高于第二阈值,第一阈值主要用于当热度值达到或高于该阈值时表示应用使用服务已经很频繁,达到了影响应用执行效率的容忍界限,可以执行服务迁移,即应用加载该服务;第二阈值主要用于当热度值达到或低于该阈值时表示应用当前很少使用该服务,可以执行服务卸载,以节省处理资源。
进一步的,为了避免频繁的加载和卸载,上述的第一阈值和第二阈值之间可以设定一个间隙值,比如,第一阈值是100次,第二阈值是20次,那么这两个阈值之间就间隔了80次的间隙值。这样做可以不会使得过于频繁的加载或者 卸载服务,造成***的不稳定。
应用加载服务:应用加载服务指的是已经将远程的服务迁移到了应用本地,比如图1中示例的,将处理资源B中的服务S3迁移到应用Y1所在的处理资源A,则表示应用Y1已经加载该服务S3。
服务更新:分布式***中的服务的逻辑可能会产生,比如可能会有不同版本的服务;本实施例的服务管理装置可以监测服务是否更新;进一步的,为了减少服务管理装置的资源消耗,可以仅仅监测已经被应用加载的远程服务,因为,监测服务更新的目的是,如果应用加载的服务已经更新,那么应用当前的服务就已经是旧的服务,不能使用了,需要及时卸载旧服务重新加载新服务,所以,服务管理装置可以只监测应用已加载的服务的状态。
具体实施中,可以在服务管理装置中增加一个状态监控模块,来监测应用加载的目标服务是否发生更新。参见图3所示,此时的服务管理装置可以包括:热度检测模块31、迁移控制模块32和状态监控模块33。
本步骤中,服务管理装置的热度检测模块将检测应用使用远程的目标服务的热度,具体可以是监测各个应用分别使用某个远程服务的热度,并根据检测的热度继续执行202。
202、在所述热度达到预设第一阈值时,将所述目标服务加载到应用本地。
例如,本步骤中,在热度检测模块检测到应用使用目标服务的热度达到预设第一阈值时,可以由迁移控制模块将目标服务加载到应用本地。可选的,假设处理资源A上的应用Y1使用处理资源B上的服务S3的热度已经达到第一阈值,则可以由迁移控制模块将服务S3由处理资源B迁移到处理资源A,并且,该迁移控制模块可以是位于处理资源A上,可以是一个专用于加载或卸载远程服务的模块,也就是说,在处理资源A上可以设置两个模块,一个是专用于管理本地服务的模块,另一个即专用于加载或卸载远程服务的模块(比如是JAVA虚拟机JVM上的远程class loader),这样更方便于对远程服务的管理。当需要加载或卸载远程服务时,只需要由热度检测模块通知迁移控制模块即可。
另外,本实施例的服务的加载与卸载,可以是与应用异步进行的,比如, 当前应用正在远程调用某个服务的过程中,但是已经检测到应用使用服务的热度达到了第一阈值,则迁移控制模块执行对服务的迁移,而该迁移不对本次应用的执行造成影响,本次应用仍然进行远程服务调用模式,等下次应用再执行时才使用加载到本地的服务。
进一步的,如上面已经提到的,在将目标服务加载到应用本地之后,热度检测模块仍然会继续检测应用对目标服务的热度,如果检测到热度达到第二阈值,即应用后续对目标服务使用频率较低,则迁移控制模块可以将目标服务从应用本地卸载,以节省处理资源。
进一步的,在将目标服务加载到应用本地之后,服务管理装置的状态监控模块在监测到目标服务发生更新后,可以通知迁移控制模块,由迁移控制模块卸载应用本地的目标服务,并可以加载更新后的目标服务。
而当将远程的服务加载到应用本地之后,该服务管理装置还可以包括服务调用模块34,如图4所示,服务调用模块34用于执行应用时,判断应用本地是否存储有已加载的目标服务;若判断结果为本地存储有目标服务,则优先使用本地的目标服务执行应用,减少远程调用带来的时间消耗;如果判断结果为本地未存储目标服务,则采用普通的远程调用。
由上述的本实施例可以看到,通过在分布式***中增加了服务管理装置,该装置可以执行上述实施例中的服务管理方法,当应用使用远程的目标服务的热度达到一定的频繁阈值时,就将该远程服务迁移到应用本地,这种方式相对于传统方式来说,是由服务管理装置自动判断某个服务的使用频率,并进行自动的服务迁移,节省了人工分析部署的成本,还提高了服务部署的效率,该自动服务判断和迁移的方式,灵活性更好,快速适应实际应用执行情况。通过将远程服务迁移到应用本地,也省去了远程服务调用的时间消耗,提高了分布式***的响应效率。此外,本实施例的方法是将服务作为分析的粒度,相对于传统的应用粒度的集中部署,迁移的粒度更加精准,也进一步提高了处理效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发 明保护的范围之内。

Claims (10)

  1. 一种服务管理方法,其特征在于,包括:
    检测应用使用远程的目标服务的热度;
    在所述热度达到预设第一阈值时,将所述目标服务加载到应用本地。
  2. 根据权利要求1所述的方法,其特征在于,在所述将目标服务加载到应用本地之前,还包括:
    确定所述目标服务符合可迁移条件,所述可迁移条件包括:所述应用包括所述目标服务需要的数据源,且所述目标服务为独立服务。
  3. 根据权利要求1所述的方法,其特征在于,在将所述目标服务加载到应用本地之后,还包括:
    在所述热度达到预设第二阈值时,将所述目标服务从应用本地卸载。
  4. 根据权利要求1所述的方法,其特征在于,在将所述目标服务加载到应用本地之后,还包括:
    在确定所述目标服务发生更新时,卸载应用本地的所述目标服务。
  5. 根据权利要求1所述的方法,其特征在于,在将所述目标服务加载到应用本地之后,还包括:
    执行应用时,判断本地是否存储有已加载的所述目标服务;
    若判断结果为本地存储有目标服务,则使用所述目标服务执行应用。
  6. 一种服务管理装置,其特征在于,包括:
    热度检测模块,用于检测应用使用远程的目标服务的热度;
    迁移控制模块,用于在所述热度检测模块检测到所述热度达到预设第一阈值时,将所述目标服务加载到应用本地。
  7. 根据权利要求6所述的装置,其特征在于,
    所述热度检测模块,还用于确定所述目标服务符合可迁移条件,所述可迁移条件包括:所述应用包括目标服务需要的数据源,且目标服务为独立服务。
  8. 根据权利要求6所述的装置,其特征在于,
    所述迁移控制模块,还用于在所述热度检测模块检测到所述热度达到预设第二阈值时,将所述目标服务从应用本地卸载。
  9. 根据权利要求6所述的装置,其特征在于,还包括:状态监控模块;
    所述状态监控模块,还用于监测到所述目标服务发生更新;
    所述迁移控制模块,还用于在所述状态监控模块确定所述目标服务发生更新时,卸载应用本地的所述目标服务。
  10. 根据权利要求6所述的装置,其特征在于,还包括:
    服务调用模块,用于执行应用时,判断本地是否存储有已加载的所述目标服务;若判断结果为本地存储有目标服务,则使用所述目标服务执行应用。
PCT/CN2016/072467 2015-02-03 2016-01-28 一种服务管理方法和装置 WO2016124102A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020177024551A KR102004632B1 (ko) 2015-02-03 2016-01-28 서비스 관리 방법 및 디바이스
EP16746097.1A EP3255542A4 (en) 2015-02-03 2016-01-28 Service management method and the device
SG11201706256UA SG11201706256UA (en) 2015-02-03 2016-01-28 Service management method and the device
JP2017558606A JP6564067B2 (ja) 2015-02-03 2016-01-28 サービス管理方法及び装置
US15/661,099 US10635454B2 (en) 2015-02-03 2017-07-27 Service management method and the device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510055949.6A CN105991687B (zh) 2015-02-03 2015-02-03 一种服务管理方法和装置
CN201510055949.6 2015-02-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/661,099 Continuation US10635454B2 (en) 2015-02-03 2017-07-27 Service management method and the device

Publications (1)

Publication Number Publication Date
WO2016124102A1 true WO2016124102A1 (zh) 2016-08-11

Family

ID=56563449

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/072467 WO2016124102A1 (zh) 2015-02-03 2016-01-28 一种服务管理方法和装置

Country Status (7)

Country Link
US (1) US10635454B2 (zh)
EP (1) EP3255542A4 (zh)
JP (1) JP6564067B2 (zh)
KR (1) KR102004632B1 (zh)
CN (1) CN105991687B (zh)
SG (1) SG11201706256UA (zh)
WO (1) WO2016124102A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930315A (zh) * 2020-08-21 2020-11-13 北京天融信网络安全技术有限公司 数据访问方法、数据访问装置及存储介质
CN112559380A (zh) * 2021-02-19 2021-03-26 鹏城实验室 项目的测试方法、装置及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077798A1 (fr) * 2001-03-27 2002-10-03 Sony Corporation Systeme et dispositif de traitement de donnees, dispositif et procede de traitement d'informations, et support de stockage
CN1474269A (zh) * 2002-08-08 2004-02-11 力捷电脑股份有限公司 程序模块加载***的方法
CN102279759A (zh) * 2010-06-11 2011-12-14 任天堂株式会社 信息处理终端、信息处理***、信息处理方法
CN103473085A (zh) * 2013-08-22 2013-12-25 卓易畅游(北京)科技有限公司 一种用于在移动终端上加载目标应用的方法与设备
CN103870470A (zh) * 2012-12-11 2014-06-18 腾讯科技(深圳)有限公司 一种加载应用程序的资源文件的方法和加载装置

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231148A (ja) 1996-02-28 1997-09-05 Toshiba Corp 分散システム
JP2001067325A (ja) 1998-09-30 2001-03-16 Hitachi Software Eng Co Ltd 分散オブジェクト管理方法およびシステム
JP2000215180A (ja) 1999-01-26 2000-08-04 Ando Electric Co Ltd デ―タ通信装置、デ―タ通信システム及びデ―タ通信方法
US7325047B2 (en) 2001-05-23 2008-01-29 International Business Machines Corporation Dynamic undeployment of services in a computing network
JP2003022189A (ja) 2001-07-06 2003-01-24 Mitsubishi Electric Corp 分散ネットワークコンピューティングシステム
US20030192028A1 (en) * 2002-04-04 2003-10-09 International Business Machines Corporation System and method for determining software object migration sequences
US7299468B2 (en) 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
JP2005141441A (ja) 2003-11-06 2005-06-02 Hitachi Ltd 負荷分散システム
US7424632B2 (en) 2004-02-13 2008-09-09 Microsoft Corporation Systems and methods that facilitate state machine power and wake state management
US7607129B2 (en) 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US8627345B2 (en) * 2007-06-13 2014-01-07 International Business Machines Corporation Apparatus, system, and method for soap access to data source procedures
IL185224A0 (en) 2007-08-13 2008-01-06 C S L Computing Solutions Lead System and method for managing a virtual machine environment
JP2009169473A (ja) * 2008-01-10 2009-07-30 Nec Corp モジュール配置装置並びにモジュール配置方法並びにプログラム
US8935692B2 (en) 2008-05-22 2015-01-13 Red Hat, Inc. Self-management of virtual machines in cloud-based networks
US8112526B2 (en) * 2008-06-24 2012-02-07 International Business Machines Corporation Process migration based on service availability in a multi-node environment
US20090326970A1 (en) 2008-06-30 2009-12-31 Microsoft Corporation Awarding users for discoveries of content based on future popularity in a social network
US8327349B2 (en) * 2008-07-11 2012-12-04 Internationanl Business Machines Corporation Matching plug-ins to users
US8239526B2 (en) 2008-11-14 2012-08-07 Oracle International Corporation System and method for performance data collection in a virtual environment
US8429650B2 (en) 2008-11-14 2013-04-23 Oracle International Corporation System and method of security management for a virtual environment
US8627328B2 (en) 2008-11-14 2014-01-07 Oracle International Corporation Operation control for deploying and managing software service in a virtual environment
US9542222B2 (en) 2008-11-14 2017-01-10 Oracle International Corporation Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
US8397229B2 (en) * 2009-01-25 2013-03-12 Netspectrum Inc. System and methods for migrating independently executing program into and out of an operating system
US7904540B2 (en) 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
CN101510167B (zh) * 2009-03-31 2016-04-20 阿里巴巴集团控股有限公司 一种插件运行的方法、装置及***
KR101338282B1 (ko) * 2009-04-24 2014-01-02 레벨 3 커뮤니케이션즈 엘엘씨 미디어 자원 저장 및 관리
US8316125B2 (en) 2009-08-31 2012-11-20 Red Hat, Inc. Methods and systems for automated migration of cloud processes to external clouds
US8751844B2 (en) 2009-09-24 2014-06-10 Citrix Systems, Inc. Systems and methods for attributing an amount of power consumption to a workload
US20110126192A1 (en) * 2009-10-26 2011-05-26 Simon Frost Systems and methods for providing and updating a unified client
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US8583945B2 (en) 2010-01-14 2013-11-12 Muse Green Investments LLC Minimizing power consumption in computers
US8627123B2 (en) 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
JP5449044B2 (ja) 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
US8601129B2 (en) 2010-06-30 2013-12-03 International Business Machines Corporation Hypervisor selection for hosting a virtual machine image
JP2012088797A (ja) 2010-10-15 2012-05-10 Kddi Corp サーバ負荷分散方式
US8745233B2 (en) * 2010-12-14 2014-06-03 International Business Machines Corporation Management of service application migration in a networked computing environment
US8868749B2 (en) * 2011-01-18 2014-10-21 International Business Machines Corporation Workload placement on an optimal platform in a networked computing environment
US8589557B1 (en) 2011-02-22 2013-11-19 Intuit Inc. Automatic provisioning of resources to software offerings
US20120222037A1 (en) 2011-02-24 2012-08-30 Intuit Inc. Dynamic reprovisioning of resources to software offerings
US9015710B2 (en) 2011-04-12 2015-04-21 Pivotal Software, Inc. Deployment system for multi-node applications
US8904384B2 (en) * 2011-06-14 2014-12-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing data transfer overhead during live migration of a virtual machine
US20130019015A1 (en) * 2011-07-12 2013-01-17 International Business Machines Corporation Application Resource Manager over a Cloud
US8874781B2 (en) * 2011-10-17 2014-10-28 Qualcomm Incorporated System and apparatus for power efficient delivery of social network updates to a receiver device in a broadcast network
CN102497428A (zh) * 2011-12-13 2012-06-13 方正国际软件有限公司 远程存储***及其进行远程存储的方法
US8862744B2 (en) 2012-02-14 2014-10-14 Telefonaktiebolaget L M Ericsson (Publ) Optimizing traffic load in a communications network
US8892779B2 (en) * 2012-05-10 2014-11-18 International Business Machines Corporation Virtual machine allocation at physical resources
US20130311597A1 (en) * 2012-05-16 2013-11-21 Apple Inc. Locally backed cloud-based storage
US8972969B2 (en) * 2012-06-08 2015-03-03 Adobe Systems Incorporated Out of band services updates
US9104461B2 (en) * 2012-06-15 2015-08-11 Oracle International Corporation Hypervisor-based management and migration of services executing within virtual environments based on service dependencies and hardware requirements
US9003395B2 (en) * 2012-08-10 2015-04-07 Adobe Systems Incorporated Directing plug-in updates for a software application to a target audience using manifest parameters
CN104281621A (zh) * 2013-07-11 2015-01-14 腾讯科技(深圳)有限公司 网页浏览方法及装置
CN103649915B (zh) * 2013-07-31 2016-11-02 华为技术有限公司 关联插件管理方法、设备及***
CN103795606A (zh) * 2014-02-26 2014-05-14 北京邮电大学 一种光网络中基于sdn的服务迁移控制方法
CN104239122B (zh) * 2014-09-04 2018-05-11 华为技术有限公司 一种虚拟机迁移方法和装置
JP2016110183A (ja) * 2014-12-02 2016-06-20 富士通株式会社 情報処理システム及び情報処理システムの制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002077798A1 (fr) * 2001-03-27 2002-10-03 Sony Corporation Systeme et dispositif de traitement de donnees, dispositif et procede de traitement d'informations, et support de stockage
CN1474269A (zh) * 2002-08-08 2004-02-11 力捷电脑股份有限公司 程序模块加载***的方法
CN102279759A (zh) * 2010-06-11 2011-12-14 任天堂株式会社 信息处理终端、信息处理***、信息处理方法
CN103870470A (zh) * 2012-12-11 2014-06-18 腾讯科技(深圳)有限公司 一种加载应用程序的资源文件的方法和加载装置
CN103473085A (zh) * 2013-08-22 2013-12-25 卓易畅游(北京)科技有限公司 一种用于在移动终端上加载目标应用的方法与设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3255542A4 *

Also Published As

Publication number Publication date
KR102004632B1 (ko) 2019-07-26
US20170322814A1 (en) 2017-11-09
CN105991687A (zh) 2016-10-05
US10635454B2 (en) 2020-04-28
JP2018507499A (ja) 2018-03-15
EP3255542A4 (en) 2018-09-19
CN105991687B (zh) 2019-09-17
EP3255542A1 (en) 2017-12-13
SG11201706256UA (en) 2017-08-30
JP6564067B2 (ja) 2019-08-21
KR20170110670A (ko) 2017-10-11

Similar Documents

Publication Publication Date Title
US11108859B2 (en) Intelligent backup and recovery of cloud computing environment
US10678585B2 (en) Methods and apparatus to automatically configure monitoring of a virtual machine
US20210294672A1 (en) Methods, systems and apparatus to trigger a workflow in a cloud computing environment
US10824484B2 (en) Event-driven computing
US20210111957A1 (en) Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment
KR102277715B1 (ko) 가상 머신들을 관리하는 장치 및 방법
US9483314B2 (en) Systems and methods for fault tolerant batch processing in a virtual environment
US9509553B2 (en) System and methods for management virtualization
CN112650576B (zh) 资源调度方法、装置、设备、存储介质及计算机程序产品
US9397953B2 (en) Operation managing method for computer system, computer system and computer-readable storage medium having program thereon
US20140089736A1 (en) Distributed system, server computer, distributed management server, and failure prevention method
US8918776B2 (en) Self-adapting software system
CN109614167B (zh) 一种管理插件的方法和***
US20200310779A1 (en) Validating a firmware compliance policy prior to use in a production system
US7979867B2 (en) Managing a device in a distributed file system, using plug and play
WO2016124102A1 (zh) 一种服务管理方法和装置
TWI608377B (zh) 監控管理系統及方法
US20080216057A1 (en) Recording medium storing monitoring program, monitoring method, and monitoring system
US11544091B2 (en) Determining and implementing recovery actions for containers to recover the containers from failures
CN115543393B (zh) 升级方法、电子设备及存储介质
CN106027591B (zh) 一种服务优化的计算机***及其方法
US11126504B2 (en) System and method for dynamic configuration of backup agents
US11323315B1 (en) Automated host management service
EP3070610B1 (en) Information processing device, control method thereof, and recording medium
US20230244558A1 (en) Life cycle management of run time services in edge computing environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16746097

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016746097

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11201706256U

Country of ref document: SG

ENP Entry into the national phase

Ref document number: 2017558606

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20177024551

Country of ref document: KR

Kind code of ref document: A