CN115002185A - 数据的处理方法、装置、电子设备及存储介质 - Google Patents
数据的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115002185A CN115002185A CN202210499711.2A CN202210499711A CN115002185A CN 115002185 A CN115002185 A CN 115002185A CN 202210499711 A CN202210499711 A CN 202210499711A CN 115002185 A CN115002185 A CN 115002185A
- Authority
- CN
- China
- Prior art keywords
- service
- request
- service provider
- address list
- target service
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种数据的处理方法、装置、电子设备及存储介质,所述方法包括:获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端的运行状态为正常状态或停用状态的一种;将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
Description
技术领域
本发明涉及Java技术领域,特别是涉及一种数据的处理方法、一种数据的处理装置、一种电子设备以及一种计算机可读存储介质。
背景技术
RPC(RemoteProcedureCall,远程过程调用),其是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。举例来说,部署在A节点上的应用调用部署在B节点上的应用提供的接口,A节点需要将调用的数据信息通过网络传递到B节点,B节点根据接收到的数据信息找到具体的接口执行,并将执行的结果通过网络返回给节点A。其中,在上述过程中,其涉及服务提供端以及服务消费端等,服务提供端可以向服务消费端提供对应的服务。然而,对于服务提供端,其通常运行于Java虚拟机中,由于Java虚拟机自身内存的管理机制,使得Java虚拟机在触发垃圾回收机制时停用服务提供端,进而导致服务提供端暂停向服务消费端提供服务,给服务消费端带来较长的等待时间,而服务消费端对应的是用户,则给用户带来不良的使用体验,如页面加载缓慢、内容显示卡顿等情况。
发明内容
本发明实施例是提供一种数据的处理方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决远程调用服务的过程中存在服务调用超时的问题。
本发明实施例公开了一种数据的处理方法,应用于数据管理端,所述方法包括:
获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;
根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端的运行状态为正常状态或停用状态的一种;
将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
可选地,还包括:
获取注册请求,所述注册请求为所述目标服务提供端在内存使用量小于预设使用阈值的情况下发送的请求;
根据所述注册请求对所述服务提供端进行注册,并将所述目标服务提供端的当前状态标识置为正常。
可选地,还包括:
获取停用请求,所述停用请求为所述目标服务提供端在所述内存使用量大于或等于所述预设使用阈值的情况下发送的请求;
根据所述停用请求将所述目标服务提供端的当前状态标识置为停用。
可选地,所述服务提供端对应于第一虚拟机,所述停用请求为所述目标服务提供端在所述第一虚拟机中第一老年代的第一内存使用量大于或等于第一预设使用阈值的情况下,执行垃圾回收并向发送的请求。
可选地,所述目标服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述停用请求为所述监控程序在所述第二虚拟机中第二老年代的第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值的情况下,向所述目标服务提供端发送垃圾回收指令,并在所述目标服务提供端执行所述垃圾回收指令对应的垃圾回收操作后发送的请求。
可选地,所述根据所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,包括:
将当前状态标识为正常的目标服务提供端作为第一目标服务提供端;
获取各个所述第一目标服务提供端的地址信息,并采用各个所述第一目标服务提供端的地址信息,生成针对所述服务订阅请求的第一地址列表。
可选地,还包括:
若接收到停用请求,则将所述停用请求对应的第一目标服务提供端作为第二目标服务提供端,并获取所述第二目标服务提供端的目标地址信息,将所述目标地址信息从所述第一地址列表移除,获得第二地址列表;
将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
可选地,还包括:
获取所述第二目标服务提供端发送的恢复请求,所述恢复请求为所述第二目标服务提供端在第一虚拟机中第一老年代的第一内存使用量小于第二预设使用阈值的情况下向所述数据管理端发送的请求;
根据所述恢复请求将所述第二目标服务提供端的当前状态标识置为正常,并将所述目标地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
本发明实施例还公开了一种数据的处理方法,包括:
获取内存使用量,若所述内存使用量小于预设使用阈值,则向数据管理端发送注册请求,以便所述数据管理端对服务提供端进行注册,将所述服务提供端的当前状态标识置为正常,并在获取到服务消费端发送的服务订阅请求时,根据所述当前状态标识和所述服务提供端的地址信息生成针对所述服务订阅请求的第一地址列表,将所述第一地址列表发送至所述服务消费端;
获取服务调用请求,将所述服务调用请求对应的目标服务返回所述服务消费端。
可选地,还包括:
若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,以便所述数据管理端根据所述停用请求将所述服务提供端的当前状态标识置为停用,并将所述服务提供端对应的地址信息从所述第一地址列表移除,获得第二地址列表,并将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表中的地址信息调用与所述服务订阅请求对应的目标服务。
可选地,所述服务提供端对应于第一虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
获取所述第一虚拟机中第一老年代的第一内存使用量;
若所述第一内存使用量大于或等于第一预设使用阈值,则执行垃圾回收,并向所述数据管理端发送停用请求。
可选地,所述服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
通过所述监控程序获取所述第二虚拟机中第二老年代的第二内存使用量,若所述第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则生成垃圾回收指令;
执行与所述垃圾回收指令对应的垃圾回收操作,并向所述数据管理端发送停用请求。
可选地,还包括:
获取第一老年代的第一内存使用量;
若所述第一内存使用量小于第二预设使用阈值,则向所述数据管理端发送恢复请求,以便所述数据管理端根据所述恢复请求将所述服务提供端的当前状态标识置为正常,并将所述服务提供端的地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述服务提供端调用与所述服务订阅请求对应的目标服务。
本发明实施例还公开了一种数据的处理方法,包括:
向数据管理端发送服务订阅请求,以便所述数据管理端确定与所述服务订阅请求对应的至少一个目标服务提供端,并根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
获取所述数据管理端发送的所述第一地址列表;
根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
本发明实施例还公开了一种数据的处理装置,应用于数据管理端,所述装置包括:
提供方确定模块,用于获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;
地址列表生成模块,用于根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端的运行状态为正常状态或停用状态的一种;
地址列表发送模块,用于将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
可选地,还包括:
注册请求获取模块,用于获取注册请求,所述注册请求为所述目标服务提供端在内存使用量小于预设使用阈值的情况下发送的请求;
第一状态标记模块,用于根据所述注册请求对所述服务提供端进行注册,并将所述目标服务提供端的当前状态标识置为正常。
可选地,还包括:
停用请求获取模块,用于获取停用请求,所述停用请求为所述目标服务提供端在所述内存使用量大于或等于所述预设使用阈值的情况下发送的请求;
第二状态标记模块,用于根据所述停用请求将所述目标服务提供端的当前状态标识置为停用。
可选地,所述服务提供端对应于第一虚拟机,所述停用请求为所述目标服务提供端在所述第一虚拟机中第一老年代的第一内存使用量大于或等于第一预设使用阈值的情况下,执行垃圾回收并发送的请求。
可选地,所述目标服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述停用请求为所述监控程序在所述第二虚拟机中第二老年代的第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值的情况下,向所述目标服务提供端发送垃圾回收指令,并在所述目标服务提供端执行所述垃圾回收指令对应的垃圾回收操作后发送的请求。
可选地,所述地址列表生成模块具体用于:
将当前状态标识为正常的目标服务提供端作为第一目标服务提供端;
获取各个所述第一目标服务提供端的地址信息,并采用各个所述第一目标服务提供端的地址信息,生成针对所述服务订阅请求的第一地址列表。
可选地,还包括:
地址移除模块,用于若接收到停用请求,则将所述停用请求对应的第一目标服务提供端作为第二目标服务提供端,并获取所述第二目标服务提供端的目标地址信息,将所述目标地址信息从所述第一地址列表移除,获得第二地址列表;
列表更新模块,用于将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
可选地,还包括:
恢复请求获取模块,用于获取所述第二目标服务提供端发送的恢复请求,所述恢复请求为所述第二目标服务提供端在第一虚拟机中第一老年代的第一内存使用量小于第二预设使用阈值的情况下向所述数据管理端发送的请求;
地址列表处理模块,用于根据所述恢复请求将所述第二目标服务提供端的当前状态标识置为正常,并将所述目标地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
本发明实施例还公开了一种数据的处理装置,包括:
获取内存使用量,若所述内存使用量小于预设使用阈值,则向数据管理端发送注册请求,以便所述数据管理端对服务提供端进行注册,将所述服务提供端的当前状态标识置为正常,并在获取到服务消费端发送的服务订阅请求时,根据所述当前状态标识和所述服务提供端的地址信息生成针对所述服务订阅请求的第一地址列表,将所述第一地址列表发送至所述服务消费端;
服务返回模块,用于获取服务调用请求,将所述服务调用请求对应的目标服务返回所述服务消费端。
可选地,还包括:
停用请求发送模块,用于若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,以便所述数据管理端根据所述停用请求将所述服务提供端的当前状态标识置为停用,并将所述服务提供端对应的地址信息从所述第一地址列表移除,获得第二地址列表,并将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表中的地址信息调用与所述服务订阅请求对应的目标服务。
可选地,所述服务提供端对应于第一虚拟机,所述停用请求发送模块具体用于:
获取所述第一虚拟机中第一老年代的第一内存使用量;
若所述第一内存使用量大于或等于第一预设使用阈值,则执行垃圾回收,并向所述数据管理端发送停用请求。
可选地,所述服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述停用请求发送模块具体用于:
通过所述监控程序获取所述第二虚拟机中第二老年代的第二内存使用量,若所述第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则生成垃圾回收指令;
执行与所述垃圾回收指令对应的垃圾回收操作,并向所述数据管理端发送停用请求。
可选地,还包括:
内存使用量获取模块,用于获取第一老年代的第一内存使用量;
恢复请求发送模块,用于若所述第一内存使用量小于第二预设使用阈值,则向所述数据管理端发送恢复请求,以便所述数据管理端根据所述恢复请求将所述服务提供端的当前状态标识置为正常,并将所述服务提供端的地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述服务提供端调用与所述服务订阅请求对应的目标服务。
本发明实施例还公开了一种数据的处理装置,包括:
订阅请求发送模块,用于向数据管理端发送服务订阅请求,以便所述数据管理端确定与所述服务订阅请求对应的至少一个目标服务提供端,并根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
地址列表获取模块,用于获取所述数据管理端发送的所述第一地址列表;
服务调用模块,用于根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
在本发明实施例中,在集群环境下,当服务消费端向服务提供端调用某项服务时,服务消费端可以先向数据管理端发送服务订阅请求,由数据管理端线确定可以提供相应服务的目标服务提供端,并根据目标服务提供端的当前状态标识生成对应的地址列表,其中,当前状态标识可以用于表征目标服务提供端在数据管理端的运行状态为正常状态或停用状态中的一种,数据管理端通过状态标识可以对能够提供服务的服务提供端进行筛选,使得筛选后生成的地址列表所对应的服务提供端均是可以为服务消费端提供相应服务的服务提供端,从而服务消费端可以根据数据管理端发送的地址列表向对应的服务提供端调用与服务订阅请求对应的目标服务,进而通过在服务调用过程中,对服务提供端的状态进行监测,数据管理端可以将实时将可提供服务的服务提供端的地址通知给服务消费端,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
附图说明
图1是本发明实施例中提供的一种远程调用的结构示意图;
图2是本发明实施例中提供的一种数据的处理方法的步骤流程图;
图3是本发明实施例中提供的一种数据的处理方法的步骤流程图;
图4是本发明实施例中提供的一种数据的处理方法的步骤流程图;
图5是本发明实施例中提供的一种数据的处理装置的结构框图;
图6是本发明实施例中提供的一种数据的处理装置的结构框图;
图7是本发明实施例中提供的一种数据的处理装置的结构框图;
图8是本发明实施例中提供的一种电子设备的框图;
图9是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
作为一种示例,对于日常的Java应用,最令开发人员头疼的FullGC(垃圾回收)是其中之一,由于JVM(Java Virtual Machine,Java虚拟机)自身内存管理机制,FullGC不可避免的。在远程过程调用中,服务提供端由于运行在JVM上,经常有FullGC的出现,每当出现FullGC的时候,服务消费端调用服务提供端的线程就会暂停执行,等待FullGC完成后再执行,这时调用服务耗时就会增加,系统会触发超时报警,用户打开页面时间变长,影响用户体验。
对此,本发明的核心发明点之一在于不降低FullGC的时间与频率,而是在发生FullGC时,利用远程过程调用的架构动态调整向服务消费端提供服务的服务提供端,使得服务消费端可以向能够提供服务的服务提供端调用相应的服务,具体的,在集群环境下,当服务消费端向服务提供端调用某项服务时,服务消费端可以先向数据管理端发送服务订阅请求,由数据管理端线确定可以提供相应服务的目标服务提供端,并根据目标服务提供端的当前状态标识生成对应的地址列表,其中,当前状态标识可以用于表征目标服务提供端在数据管理端的运行状态为正常状态或停用状态中的一种,数据管理端通过状态标识可以对能够提供服务的服务提供端进行筛选,使得筛选后生成的地址列表所对应的服务提供端均是可以为服务消费端提供相应服务的服务提供端,从而服务消费端可以根据数据管理端发送的地址列表向对应的服务提供端调用与服务订阅请求对应的目标服务,进而通过在服务调用过程中,对服务提供端的状态进行监测,数据管理端可以将实时将可提供服务的服务提供端的地址通知给服务消费端,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
为了使本领域技术人员更好地理解本发明实施例的技术方案,下面对本发明实施例所涉及的部分技术名词进行解释与说明:
服务消费端,其可以为服务调用的客户端,通过使用服务来提供自身所需的场景摄取,例如,其可以为运行在用户终端中的应用程序或用户终端自身等。
服务提供端,其可以为服务的提供者,包括列表服务、详情服务、查询服务等线上服务,其可以为服务器或者用于提供服务的终端等。
数据管理端,其可以为中心化管理整个调用链路的终端或服务器,包括对服务消费端、服务提供端进行配置,对服务提供端进行注册、状态监测等。
参照图1,示出了本发明实施例中提供的一种远程调用的结构示意图,其中,数据管理端负责服务地址的注册与查找,相当于目录服务,服务提供端和服务消费端只在启动时与数据管理端交互,数据管理端不转发请求,压力较小。调用关系说明,服务提供端负责启动,加载,运行服务提供端,服务提供端在启动时,向数据管理端注册自己提供的服务。服务消费端在启动时,向数据管理端订阅自己所需的服务。数据管理端返回服务提供端地址列表给服务消费端,如果有变更,数据管理端将基于长连接推送变更数据给服务消费端,服务消费端从提供者地址列表中,基于软负载均衡算法,选一个提供者进行调用,如果调用失败,再选另一个调用。
需要说明的是,本发明实施例中以服务提供端提供服务,服务消费方调用服务,以及数据管理端对服务提供端、服务消费端之间的数据传输以及服务调用进行配置等为例进行示例性说明,可以理解的是,本发明对此不作限制。
具体的,参照图2,示出了本发明实施例中提供的一种数据的处理方法的步骤流程图,可以应用于数据管理端,具体可以包括如下步骤:
步骤201,获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;
对于服务消费端,其可以在启动时,向数据管理端发送服务订阅请求,以订阅至少一项服务,例如,若服务消费端根据自身所需的场景,需要调用服务提供端提供的列表服务、查询服务以及详情服务等,则可以在一个服务订阅请求中将所订阅的服务的服务标识,发送至数据管理端,由数据管理端根据服务标识返回相应的服务提供端地址列表,以便服务消费端可以根据地址列表中的服务器地址调用相应的服务。
步骤202,根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端运行状态为正常状态或停用状态的一种;
对于服务提供端,其在启动后可以向数据管理端注册自己提供的服务,则数据管理端在接收到服务消费端发送的服务订阅请求后,可以先确定与服务订阅请求对应的目标服务提供端,目标服务提供端可以为在数据管理端中已经注册并提供某项服务的服务提供端,例如,提供列表服务的服务提供端、提供查询服务的服务提供端以及提供详情服务的服务提供端等。
当数据管理端确定了与服务订阅请求对应的目标服务提供端后,由于服务提供端已经在数据管理端中进行注册,且记录有对应的状态标识,则数据管理端可以获取各个目标服务提供端的当前状态标识,当前状态标识用于表征目标服务提供端在数据管理端的运行状态为正常状态或停用状态的一种,从而数据管理端可以根据目标服务提供端处于正常状态或停用状态进行筛选,以便保证向服务消费端发送的地址列表中的地址信息的有效性。
在具体实现中,数据管理端可以将当前状态标识为正常的目标服务提供端作为第一目标服务提供端,接着获取各个第一目标服务提供端的地址信息,并采用各个第一目标服务提供端的地址信息,生成针对服务订阅请求的第一地址列表,从而数据管理端可以在获取了与服务订阅请求对应的目标服务提供端之后,可以根据当前状态标识做进一步的筛选,将能够提供服务的服务提供端所对应的地址信息组成针对服务订阅请求的第一地址列表,以便服务消费端通过第一地址列表调用相应的服务,进而数据管理端可以根据目标服务提供端对应的运行状态筛选出可以提供服务的服务提供端,以便保证向服务消费端发送的地址列表中的地址信息的有效性。
例如,假设服务订阅请求为查询服务请求,在数据管理端中一共注册了服务提供端A、服务提供端B、服务提供端C、服务提供端D以及服务提供端E,其中,服务提供端A、C、E为提供查询服务的服务提供端,则数据管理端可以分别获取服务提供端A、C、E对应的当前状态标识,具体如下:
服务提供端A,正常运行;
服务提供端C,停用;
服务提供端E,正常运行。
可见,服务提供端C由于处于FullGC,若此时服务消费端向其调用查询服务,则会由于处于FullGC,导致服务调用超时的情况,因此,数据管理端可以将获取服务提供端A、服务提供端E对应的地址信息,并组成第一地址列表,然后将第一地址列表发送至服务消费端,以便服务消费端根据第一地址列表调用相应的服务,进而数据管理端可以根据目标服务提供端对应的运行状态筛选出可以提供服务的服务提供端,以便保证向服务消费端发送的地址列表中的地址信息的有效性。
可选地,对于服务提供端,其除了可以在启动时向数据管理端发送注册请求,还可以在启动之后,通过检测内存使用量,并在内存使用量满足条件的情况下,向数据管理端发送注册请求,以在数据管理端中注册自己提供的服务。在具体实现中,服务提供端可以获取内存使用量,若内存使用量小于预设使用阈值,则向数据管理端发送注册请求,接着数据管理端根据注册请求对服务提供端进行注册,并将服务提供端的当前状态标识置为正常。同时,在数据管理端中记录的服务提供端对应的当前状态标识为正常的情况下,服务提供端可以实时对自身的状态进行监测,若内存使用量大于或等于预设使用阈值,则向数据管理端发送停用请求,从而数据管理端可以根据停用请求将服务提供端的当前状态标识置为停用,进而服务提供端可以根据自身的状态实时向数据管理端请求更新自身的运行状态,以便数据管理端可以实时调整向服务消费端发送的地址信息,保证向服务消费端发送的地址列表中的地址信息的有效性。
其中,对于服务提供端的状态监测,其可以通过自身的监测判断是否更新运行状态,也可以通过监控程序进行监测判断是否更新运行状态。具体的,服务提供端可以运行于第一虚拟机中,则服务提供端获取虚拟机中第一老年代的第一内存使用量,若第一内存使用量大于或等于第一预设使用阈值,则服务提供端执行垃圾回收,并向数据管理端发送停用请求。或者,监控程序可以运行于第二虚拟机,则监控程序可以获取第二虚拟机中第二老年代的第二内存使用量,若第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则监控程序向服务提供端发送垃圾回收指令,然后服务提供端执行与垃圾回收指令对应的垃圾回收操作,并向数据管理端发送停用请求。
需要说明的是,对于JVM,堆可以划分为两个不同的区域:新生代(Young)、老年代(Old)。新生代(Young)又被划分为三个区域:Eden、S0、S1,通过划分可以使JVM能够更好的管理堆内存中的对象,包括内存的分配以及回收。其中,新生代用来存放新近创建的对象,尺寸随堆大小的增大和减小而相应的变化,默认值是保持为堆大小的1/15,可以通过-Xmn参数设置新生代为固定大小,也可以通过-XX:NewRatio来设置新生代与老年代的大小比例,新生代的特点是对象更新速度快,在短时间内产生大量的“死亡对象”,新生代的特点是产生大量的死亡对象,并且要是产生连续可用的空间,所以使用复制清除算法和并行收集器进行垃圾回收;堆内存中的老年代(Old)不同于新生代,老年代里面的对象均为Survivor区域中持续存储的,不会轻易被删除,因此,FullGC发生的次数不会有MinorGC那么频繁,并且做一次FullGC要比进行一次MinorGC的时间更长。基于上述原因,对于老年代的FullGC,不仅频率低而且执行时间长,容易导致服务消费端在调用相应服务时出现延时的问题,对此,通过监测JVM的老年代内存使用量,并根据内存使用量判断是否需要对服务提供端进行运行状态变更,可以有效地在服务消费端调用服务提供端提供的服务之前,剔除无法提供服务的服务提供端,避免服务消费端在调用服务的过程中服务提供端出现Full GC的情况,有效避免了服务调用延时的问题。
在一种示例中,可以针对服务提供者上的JVM老年代设置第一阈值T1,在服务提供者成功在数据管理端注册了自己的服务后,每当老年代的内存使用量达到T1时,JVM自身会触发Full GC;此外,还可以给监控程序设置JVM老年代的内存使用量为第二阈值T2(T2<T1),每当老年代内存使用量大于或等于T2时,则监控程序强制触发服务提供端进行FullGC。服务提供者在启动时,向数据管理端注册自己提供的服务,数据管理端可以将服务提供端对应的状态标识置为正常。同时,通过定时监测服务提供者上老年代内存使用情况,每当监测到老年代内存使用量U超过T2,即U>=T2时,服务提供者改变自己在数据管理端提供服务的状态,置为未启动,从而有效地在服务消费端调用服务提供端提供的服务之前,剔除无法提供服务的服务提供端,有效避免了服务调用延时的问题。
步骤203,将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
当确定了针对服务订阅请求的第一地址列表后,数据管理端可以将第一地址列表发送至服务消费端,以便服务消费端根据第一地址列表中的地址信息,向对应的目标服务提供端调用相应的服务。
对于第一地址列表,其可以包括若干个与可以提供与服务订阅请求对应服务的服务提供端的地址信息,则服务消费端可以从中选择一个地址信息向对应的服务提供端调用对应的服务,如调用查询服务、列表服务以及详情服务等,从而服务消费端可以根据数据管理端发送的地址列表向对应的服务提供端调用与服务订阅请求对应的目标服务,进而通过在服务调用过程中,对服务提供端的状态进行监测,数据管理端可以将实时将可提供服务的服务提供端的地址通知给服务消费端,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
可选地,数据管理端在根据服务提供端的当前状态标识发送了第一地址列表后,由于服务提供端可以实时对自身的状态进行监测,则当服务提供端监测到第一虚拟机中老年代的内存使用量大于或等于第一预设使用阈值,或者监控程序监测到第二虚拟机中老年代的内存使用量大于第二预设使用阈值且小于第一预设使用阈值的情况下,服务提供端可以向数据管理端发送停用请求,以告知数据管理端,需要进行Full GC,无法提供相应的服务。若数据管理端接收到停用请求,则将停用请求对应的第一目标服务提供端作为第二目标服务提供端,并获取第二目标服务提供端的目标地址信息,将目标地址信息从第一地址列表移除,获得第二地址列表,接着将第二地址列表发送至服务消费端,服务消费端可以根据更新后的第二地址列表向第一目标服务提供端调用与服务订阅请求对应的目标服务,从而在远程服务调用的过程中,通过实时对服务提供端的状态进行监测,并实时更新服务提供端在数据管理端中的提供服务的状态,使得数据管理端可以实时根据服务提供端提供服务的状态动态调整已经发送至服务消费端的地址信息,进而保证服务消费端所获取的地址信息为有效的信息,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
此外,对于在数据管理端中提供服务的状态为停用的服务提供端,其在满足条件的情况下,可以重新启动。具体的,对于上述已经停用的第二目标服务提供端,可以获取第一老年代的第一内存使用量,若第一内存使用量小于第二预设使用阈值,则向数据管理端发送恢复请求,接着数据管理端根据恢复请求将第二目标服务提供端的当前状态标识置为正常,并将目标地址信息添加至第二地址列表,获得第三地址列表,将第三地址列表发送至服务消费端,然后服务消费端根据第三地址列表向第一目标服务提供端调用与服务订阅请求对应的目标服务。
需要说明的是,本发明实施例包括但不限于上述示例,可以理解的是,本领域技术人员在本发明实施例的思想指导下,还可以根据实际需求进行设置,本发明对此不作限制。
在本发明实施例中,在集群环境下,当服务消费端向服务提供端调用某项服务时,服务消费端可以先向数据管理端发送服务订阅请求,由数据管理端线确定可以提供相应服务的目标服务提供端,并根据目标服务提供端的当前状态标识生成对应的地址列表,其中,当前状态标识可以用于表征目标服务提供端在数据管理端的运行状态为正常状态或停用状态中的一种,数据管理端通过状态标识可以对能够提供服务的服务提供端进行筛选,使得筛选后生成的地址列表所对应的服务提供端均是可以为服务消费端提供相应服务的服务提供端,从而服务消费端可以根据数据管理端发送的地址列表向对应的服务提供端调用与服务订阅请求对应的目标服务,进而通过在服务调用过程中,对服务提供端的状态进行监测,数据管理端可以将实时将可提供服务的服务提供端的地址通知给服务消费端,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
参照图3,示出了本发明实施例中提供的一种数据的处理方法的步骤流程图,应用于服务提供端,具体可以包括如下步骤:
步骤301,获取内存使用量,若所述内存使用量小于预设使用阈值,则向数据管理端发送注册请求,以便所述数据管理端对服务提供端进行注册,将所述服务提供端的当前状态标识置为正常,并在获取到服务消费端发送的服务订阅请求时,根据所述当前状态标识和所述服务提供端的地址信息生成针对所述服务订阅请求的第一地址列表,将所述第一地址列表发送至所述服务消费端;
获取服务调用请求,将所述服务调用请求对应的目标服务返回所述服务消费端。
在一种可选实施例中,还包括:
若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,以便所述数据管理端根据所述停用请求将所述服务提供端的当前状态标识置为停用,并将所述服务提供端对应的地址信息从所述第一地址列表移除,获得第二地址列表,并将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表中的地址信息调用与所述服务订阅请求对应的目标服务。
在一种可选实施例中,所述服务提供端对应于第一虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
获取所述第一虚拟机中第一老年代的第一内存使用量;
若所述第一内存使用量大于或等于第一预设使用阈值,则执行垃圾回收,并向所述数据管理端发送停用请求。
在一种可选实施例中,所述服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
通过所述监控程序获取所述第二虚拟机中第二老年代的第二内存使用量,若所述第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则生成垃圾回收指令;
执行与所述垃圾回收指令对应的垃圾回收操作,并向所述数据管理端发送停用请求。
在一种可选实施例中,还包括:
获取第一老年代的第一内存使用量;
若所述第一内存使用量小于第二预设使用阈值,则向所述数据管理端发送恢复请求,以便所述数据管理端根据所述恢复请求将所述服务提供端的当前状态标识置为正常,并将所述服务提供端的地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述服务提供端调用与所述服务订阅请求对应的目标服务。
在本发明实施例中,在集群环境下,当服务消费端向服务提供端调用某项服务时,服务消费端可以先向数据管理端发送服务订阅请求,由数据管理端线确定可以提供相应服务的目标服务提供端,并根据目标服务提供端的当前状态标识生成对应的地址列表,其中,当前状态标识可以用于表征目标服务提供端在数据管理端的运行状态为正常状态或停用状态中的一种,数据管理端通过状态标识可以对能够提供服务的服务提供端进行筛选,使得筛选后生成的地址列表所对应的服务提供端均是可以为服务消费端提供相应服务的服务提供端,从而服务消费端可以根据数据管理端发送的地址列表向对应的服务提供端调用与服务订阅请求对应的目标服务,进而通过在服务调用过程中,对服务提供端的状态进行监测,数据管理端可以将实时将可提供服务的服务提供端的地址通知给服务消费端,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
参照图4,示出了本发明实施例中提供的一种数据的处理方法的步骤流程图,应用于服务消费端,具体可以包括如下步骤:
步骤401,向数据管理端发送服务订阅请求,以便所述数据管理端确定与所述服务订阅请求对应的至少一个目标服务提供端,并根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
步骤402,获取所述数据管理端发送的所述第一地址列表;
步骤403,根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
在本发明实施例中,在集群环境下,当服务消费端向服务提供端调用某项服务时,服务消费端可以先向数据管理端发送服务订阅请求,由数据管理端线确定可以提供相应服务的目标服务提供端,并根据目标服务提供端的当前状态标识生成对应的地址列表,其中,当前状态标识可以用于表征目标服务提供端在数据管理端的运行状态为正常状态或停用状态中的一种,数据管理端通过状态标识可以对能够提供服务的服务提供端进行筛选,使得筛选后生成的地址列表所对应的服务提供端均是可以为服务消费端提供相应服务的服务提供端,从而服务消费端可以根据数据管理端发送的地址列表向对应的服务提供端调用与服务订阅请求对应的目标服务,进而通过在服务调用过程中,对服务提供端的状态进行监测,数据管理端可以将实时将可提供服务的服务提供端的地址通知给服务消费端,避免在服务消费端调用服务的过程中,由于服务体用方自身发生其他异常情况,造成调用超时或调用中断等情况,有效地保证了服务消费端调用服务的稳定性与有效性,以及降低了服务调用时延。
为了使本领域技术人员更好地理解本发明实施例的技术方案,下面通过一个例子进行示例性说明。
1.给服务提供端上的JVM老年代设置阈值T1,每当老年代内存使用量达到T1时,JVM自身会触发Full GC;给监控程序设置JVM老年代阈值T2(T2<T1),每当老年代内存使用量达到T2时,监控程序强制触发Full GC。
2.服务提供端在启动时,向数据管理端注册自己提供的服务,状态置为正常。
3.定时监测服务提供端上老年代内存使用情况,每当监测到老年代内存使用量U超过T2,即U>=T2时,服务提供端改变自己在数据管理端提供服务的状态,置为未启动。
4.数据管理端感知到服务提供端有变更,推送变更数据给服务消费端。
5.服务服务消费端获得新的服务提供端地址列表,选一个提供者进行调用,此时地址列表中正在进行Full GC的服务提供端不可用,消除了调用时服务端Full GC造成的影响。
6.在数据管理端改变了服务状态的提供者调用系统函数,强制JVM进行一次FullGC。
7.定时监测服务提供端上老年代内存使用情况,当监测到老年代内存使用量U低于T2时,即U<T2时,服务提供端向数据管理端恢复注册自己提供的服务,状态置为正常。
8.数据管理端感知到服务提供端有变更,推送变更数据给服务消费端。
9.服务服务消费端获得新的服务提供端地址列表,此时的地址列表中完成FullGC的服务提供端重新可用。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例中提供的一种数据的处理装置的结构框图,应用于数据管理端,所述装置包括:
提供方确定模块501,用于获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;
地址列表生成模块502,用于根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端的运行状态为正常状态或停用状态的一种;
地址列表发送模块503,用于将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
在一种可选实施例中,还包括:
注册请求获取模块,用于获取注册请求,所述注册请求为所述目标服务提供端在内存使用量小于预设使用阈值的情况下向所述数据管理端发送的请求;
第一状态标记模块,用于根据所述注册请求对所述服务提供端进行注册,并将所述目标服务提供端的当前状态标识置为正常。
在一种可选实施例中,还包括:
停用请求获取模块,用于获取停用请求,所述停用请求为所述目标服务提供端在所述内存使用量大于或等于所述预设使用阈值的情况下发送的请求;
第二状态标记模块,用于根据所述停用请求将所述目标服务提供端的当前状态标识置为停用。
在一种可选实施例中,所述服务提供端对应于第一虚拟机,所述停用请求为所述目标服务提供端在所述第一虚拟机中第一老年代的第一内存使用量大于或等于第一预设使用阈值的情况下,执行垃圾回收并发送的请求。
在一种可选实施例中,所述目标服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述停用请求为所述监控程序在所述第二虚拟机中第二老年代的第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值的情况下,向所述目标服务提供端发送垃圾回收指令,并在所述目标服务提供端执行所述垃圾回收指令对应的垃圾回收操作后发送的请求。
在一种可选实施例中,所述地址列表生成模块502具体用于:
将当前状态标识为正常的目标服务提供端作为第一目标服务提供端;
获取各个所述第一目标服务提供端的地址信息,并采用各个所述第一目标服务提供端的地址信息,生成针对所述服务订阅请求的第一地址列表。
在一种可选实施例中,还包括:
地址移除模块,用于若接收到停用请求,则将所述停用请求对应的第一目标服务提供端作为第二目标服务提供端,并获取所述第二目标服务提供端的目标地址信息,将所述目标地址信息从所述第一地址列表移除,获得第二地址列表;
列表更新模块,用于将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
在一种可选实施例中,还包括:
恢复请求获取模块,用于获取所述第二目标服务提供端发送的恢复请求,所述恢复请求为所述第二目标服务提供端在第一虚拟机中第一老年代的第一内存使用量小于第二预设使用阈值的情况下向所述数据管理端发送的请求;
地址列表处理模块,用于根据所述恢复请求将所述第二目标服务提供端的当前状态标识置为正常,并将所述目标地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
参照图6,示出了本发明实施例中提供的一种数据的处理装置的结构框图,可以应用于服务提供端,所述装置包括:
注册请求发送模块601,用于获取内存使用量,若所述内存使用量小于预设使用阈值,则向数据管理端发送注册请求,以便所述数据管理端对服务提供端进行注册,将所述服务提供端的当前状态标识置为正常,并在获取到服务消费端发送的服务订阅请求时,根据所述当前状态标识和所述服务提供端的地址信息生成针对所述服务订阅请求的第一地址列表,将所述第一地址列表发送至所述服务消费端;
服务返回模块602,用于获取服务调用请求,将所述服务调用请求对应的目标服务返回所述服务消费端。
在一种可选实施例中,还包括:
停用请求发送模块,用于若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,以便所述数据管理端根据所述停用请求将所述服务提供端的当前状态标识置为停用,并将所述服务提供端对应的地址信息从所述第一地址列表移除,获得第二地址列表,并将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表中的地址信息调用与所述服务订阅请求对应的目标服务。
在一种可选实施例中,所述服务提供端对应于第一虚拟机,所述停用请求发送模块具体用于:
获取所述第一虚拟机中第一老年代的第一内存使用量;
若所述第一内存使用量大于或等于第一预设使用阈值,则执行垃圾回收,并向所述数据管理端发送停用请求。
在一种可选实施例中,所述服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述停用请求发送模块具体用于:
通过所述监控程序获取所述第二虚拟机中第二老年代的第二内存使用量,若所述第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则生成垃圾回收指令;
执行与所述垃圾回收指令对应的垃圾回收操作,并向所述数据管理端发送停用请求。
在一种可选实施例中,还包括:
内存使用量获取模块,用于获取第一老年代的第一内存使用量;
恢复请求发送模块,用于若所述第一内存使用量小于第二预设使用阈值,则向所述数据管理端发送恢复请求,以便所述数据管理端根据所述恢复请求将所述服务提供端的当前状态标识置为正常,并将所述服务提供端的地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述服务提供端调用与所述服务订阅请求对应的目标服务。
参照图7,示出了本发明实施例中提供的一种数据的处理装置的结构框图,应用于服务消费端,所述装置包括:
订阅请求发送模块701,用于向数据管理端发送服务订阅请求,以便所述数据管理端确定与所述服务订阅请求对应的至少一个目标服务提供端,并根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
地址列表获取模块702,用于获取所述数据管理端发送的所述第一地址列表;
服务调用模块703,用于根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线808,其中,处理器801,通信接口802,存储器803通过通信总线808完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
所述服务消费端向所述数据管理端发送服务订阅请求;
所述数据管理端确定与所述服务订阅请求对应的目标服务提供端,并根据所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
所述数据管理端将所述第一地址列表发送至所述服务消费端;
所述服务消费端根据所述第一地址列表向所述目标服务提供端,调用与所述服务订阅请求对应的目标服务。
在一种可选的实施例中,还包括:
所述服务提供端获取内存使用量,若所述内存使用量小于预设使用阈值,则所述服务提供端向所述数据管理端发送注册请求;
所述数据管理端根据所述注册请求对所述服务提供端进行注册,并将所述服务提供端的当前状态标识置为正常。
在一种可选的实施例中,还包括:
若所述内存使用量大于或等于预设使用阈值,则所述服务提供端向所述数据管理端发送停用请求;
所述数据管理端根据所述停用请求将所述服务提供端的当前状态标识置为停用。
在一种可选的实施例中,所述服务提供端对应于第一虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
所述服务提供端获取所述虚拟机中第一老年代的第一内存使用量,若所述第一内存使用量大于或等于第一预设使用阈值,则所述服务提供端执行垃圾回收,并向所述数据管理端发送停用请求。
在一种可选的实施例中,所述服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
所述监控程序获取所述第二虚拟机中第二老年代的第二内存使用量,若所述第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则所述监控程序向所述服务提供端发送垃圾回收指令;
所述服务提供端执行与所述垃圾回收指令对应的垃圾回收操作,并向所述数据管理端发送停用请求。
在一种可选的实施例中,所述根据所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,包括:
将当前状态标识为正常的目标服务提供端作为第一目标服务提供端;
获取各个所述第一目标服务提供端的地址信息,并采用各个所述第一目标服务提供端的地址信息,生成针对所述服务订阅请求的第一地址列表。
在一种可选的实施例中,还包括:
若所述数据管理端接收到停用请求,则将所述停用请求对应的第一目标服务提供端作为第二目标服务提供端,并获取所述第二目标服务提供端的目标地址信息,将所述目标地址信息从所述第一地址列表移除,获得第二地址列表;
所述数据管理端将所述第二地址列表发送至所述服务消费端;
所述服务消费端根据所述第二地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
在一种可选的实施例中,还包括:
所述第二目标服务提供端获取第一老年代的第一内存使用量,若所述第一内存使用量小于第二预设使用阈值,则向所述数据管理端发送恢复请求;
所述数据管理端根据所述恢复请求将所述第二目标服务提供端的当前状态标识置为正常,并将所述目标地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端;
所述服务消费端根据所述第三地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图9所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质901,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的数据的处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的数据的处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务提供端或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务提供端或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务提供端、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (19)
1.一种数据的处理方法,其特征在于,包括:
获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;
根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端的运行状态为正常状态或停用状态的一种;
将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取注册请求,所述注册请求为所述目标服务提供端在内存使用量小于预设使用阈值的情况下发送的请求;
根据所述注册请求对所述服务提供端进行注册,并将所述目标服务提供端的当前状态标识置为正常。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取停用请求,所述停用请求为所述目标服务提供端在所述内存使用量大于或等于所述预设使用阈值的情况下发送的请求;
根据所述停用请求将所述目标服务提供端的当前状态标识置为停用。
4.根据权利要求3所述的方法,其特征在于,所述服务提供端对应于第一虚拟机,所述停用请求为所述目标服务提供端在所述第一虚拟机中第一老年代的第一内存使用量大于或等于第一预设使用阈值的情况下,执行垃圾回收并发送的请求。
5.根据权利要求3所述的方法,其特征在于,所述目标服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述停用请求为所述监控程序在所述第二虚拟机中第二老年代的第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值的情况下,向所述目标服务提供端发送垃圾回收指令,并在所述目标服务提供端执行所述垃圾回收指令对应的垃圾回收操作后发送的请求。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,包括:
将当前状态标识为正常的目标服务提供端作为第一目标服务提供端;
获取各个所述第一目标服务提供端的地址信息,并采用各个所述第一目标服务提供端的地址信息,生成针对所述服务订阅请求的第一地址列表。
7.根据权利要求6所述的方法,其特征在于,还包括:
若接收到停用请求,则将所述停用请求对应的第一目标服务提供端作为第二目标服务提供端,并获取所述第二目标服务提供端的目标地址信息,将所述目标地址信息从所述第一地址列表移除,获得第二地址列表;
将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
8.根据权利要求7所述的方法,其特征在于,还包括:
获取恢复请求,所述恢复请求为所述第二目标服务提供端在第一虚拟机中第一老年代的第一内存使用量小于第二预设使用阈值的情况下向发送的请求;
根据所述恢复请求将所述第二目标服务提供端的当前状态标识置为正常,并将所述目标地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述第一目标服务提供端调用与所述服务订阅请求对应的目标服务。
9.一种数据的处理方法,其特征在于,包括:
获取内存使用量,若所述内存使用量小于预设使用阈值,则向数据管理端发送注册请求,以便所述数据管理端对服务提供端进行注册,将所述服务提供端的当前状态标识置为正常,并在获取到服务消费端发送的服务订阅请求时,根据所述当前状态标识和所述服务提供端的地址信息生成针对所述服务订阅请求的第一地址列表,将所述第一地址列表发送至所述服务消费端;
获取服务调用请求,将所述服务调用请求对应的目标服务返回所述服务消费端。
10.根据权利要求9所述的方法,其特征在于,还包括:
若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,以便所述数据管理端根据所述停用请求将所述服务提供端的当前状态标识置为停用,并将所述服务提供端对应的地址信息从所述第一地址列表移除,获得第二地址列表,并将所述第二地址列表发送至所述服务消费端,以便所述服务消费端根据所述第二地址列表中的地址信息调用与所述服务订阅请求对应的目标服务。
11.根据权利要求10所述的方法,其特征在于,所述服务提供端对应于第一虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
获取所述第一虚拟机中第一老年代的第一内存使用量;
若所述第一内存使用量大于或等于第一预设使用阈值,则执行垃圾回收,并向所述数据管理端发送停用请求。
12.根据权利要求10所述的方法,其特征在于,所述服务提供端对应一监控程序,所述监控程序对应于第二虚拟机,所述若所述内存使用量大于或等于预设使用阈值,则向所述数据管理端发送停用请求,包括:
通过所述监控程序获取所述第二虚拟机中第二老年代的第二内存使用量,若所述第二内存使用量小于第一预设使用阈值且大于第二预设使用阈值,则生成垃圾回收指令;
执行与所述垃圾回收指令对应的垃圾回收操作,并向所述数据管理端发送停用请求。
13.根据权利要求10或11或12所述的方法,其特征在于,还包括:
获取第一老年代的第一内存使用量;
若所述第一内存使用量小于第二预设使用阈值,则向所述数据管理端发送恢复请求,以便所述数据管理端根据所述恢复请求将所述服务提供端的当前状态标识置为正常,并将所述服务提供端的地址信息添加至所述第二地址列表,获得第三地址列表,将所述第三地址列表发送至所述服务消费端,以便所述服务消费端根据所述第三地址列表向所述服务提供端调用与所述服务订阅请求对应的目标服务。
14.一种数据的处理方法,其特征在于,包括:
向数据管理端发送服务订阅请求,以便所述数据管理端确定与所述服务订阅请求对应的至少一个目标服务提供端,并根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端的运行状态为正常状态或停用状态的一种;
获取所述数据管理端发送的所述第一地址列表;
根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
15.一种数据的处理装置,其特征在于,包括:
提供方确定模块,用于获取服务订阅请求,并确定与所述服务订阅请求对应的至少一个目标服务提供端;
地址列表生成模块,用于根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
地址列表发送模块,用于将所述第一地址列表发送至所述服务订阅请求对应的服务消费端,以便所述服务消费端根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
16.一种数据的处理装置,其特征在于,包括:
注册请求发送模块,用于获取内存使用量,若所述内存使用量小于预设使用阈值,则向数据管理端发送注册请求,以便所述数据管理端对服务提供端进行注册,将所述服务提供端的当前状态标识置为正常,并在获取到服务消费端发送的服务订阅请求时,根据所述当前状态标识和所述服务提供端的地址信息生成针对所述服务订阅请求的第一地址列表,将所述第一地址列表发送至所述服务消费端;
服务返回模块,用于获取服务调用请求,将所述服务调用请求对应的目标服务返回所述服务消费端。
17.一种数据的处理装置,其特征在于,包括:
订阅请求发送模块,用于向数据管理端发送服务订阅请求,以便所述数据管理端确定与所述服务订阅请求对应的至少一个目标服务提供端,并根据各所述目标服务提供端的当前状态标识,生成针对所述服务订阅请求的第一地址列表,所述当前状态标识用于表征所述目标服务提供端在所述数据管理端的运行状态为正常状态或停用状态的一种;
地址列表获取模块,用于获取所述数据管理端发送的所述第一地址列表;
服务调用模块,用于根据所述第一地址列表向所述目标服务提供端调用与所述服务订阅请求对应的目标服务。
18.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-8或9-13或14任一项所述的方法。
19.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-8或9-13或14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210499711.2A CN115002185A (zh) | 2022-05-09 | 2022-05-09 | 数据的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210499711.2A CN115002185A (zh) | 2022-05-09 | 2022-05-09 | 数据的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115002185A true CN115002185A (zh) | 2022-09-02 |
Family
ID=83025710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210499711.2A Pending CN115002185A (zh) | 2022-05-09 | 2022-05-09 | 数据的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115002185A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141452A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种基于cxf的高性能服务系统及方法 |
US20160142369A1 (en) * | 2014-11-18 | 2016-05-19 | Alibaba Group Holding Limited | Service addressing in distributed environment |
CN109542641A (zh) * | 2018-11-14 | 2019-03-29 | 中国联合网络通信集团有限公司 | 服务调用方法、装置及系统 |
CN110908802A (zh) * | 2019-11-18 | 2020-03-24 | 北京三快在线科技有限公司 | 调用服务的方法、装置、设备及存储介质 |
CN111741108A (zh) * | 2020-06-19 | 2020-10-02 | 中国银行股份有限公司 | 一种信息采集方法及装置 |
CN112202605A (zh) * | 2020-09-27 | 2021-01-08 | 中国建设银行股份有限公司 | 服务配置方法、装置、设备及存储介质 |
WO2021109640A1 (zh) * | 2019-12-06 | 2021-06-10 | 华为技术有限公司 | 一种注册方法及装置 |
CN113242297A (zh) * | 2021-05-08 | 2021-08-10 | 中国邮政储蓄银行股份有限公司 | 服务系统及服务状态的调整方法 |
CN113542217A (zh) * | 2021-06-07 | 2021-10-22 | 广发银行股份有限公司 | 一种服务订阅系统 |
CN113742108A (zh) * | 2021-09-07 | 2021-12-03 | 中国工商银行股份有限公司 | 服务调用方法和装置、电子设备和计算机可读存储介质 |
-
2022
- 2022-05-09 CN CN202210499711.2A patent/CN115002185A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160142369A1 (en) * | 2014-11-18 | 2016-05-19 | Alibaba Group Holding Limited | Service addressing in distributed environment |
CN105635331A (zh) * | 2014-11-18 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式环境下的服务寻址方法及装置 |
CN105141452A (zh) * | 2015-08-07 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种基于cxf的高性能服务系统及方法 |
CN109542641A (zh) * | 2018-11-14 | 2019-03-29 | 中国联合网络通信集团有限公司 | 服务调用方法、装置及系统 |
CN110908802A (zh) * | 2019-11-18 | 2020-03-24 | 北京三快在线科技有限公司 | 调用服务的方法、装置、设备及存储介质 |
WO2021109640A1 (zh) * | 2019-12-06 | 2021-06-10 | 华为技术有限公司 | 一种注册方法及装置 |
CN111741108A (zh) * | 2020-06-19 | 2020-10-02 | 中国银行股份有限公司 | 一种信息采集方法及装置 |
CN112202605A (zh) * | 2020-09-27 | 2021-01-08 | 中国建设银行股份有限公司 | 服务配置方法、装置、设备及存储介质 |
CN113242297A (zh) * | 2021-05-08 | 2021-08-10 | 中国邮政储蓄银行股份有限公司 | 服务系统及服务状态的调整方法 |
CN113542217A (zh) * | 2021-06-07 | 2021-10-22 | 广发银行股份有限公司 | 一种服务订阅系统 |
CN113742108A (zh) * | 2021-09-07 | 2021-12-03 | 中国工商银行股份有限公司 | 服务调用方法和装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832100B (zh) | 一种apk插件的加载方法及其终端 | |
US7266726B1 (en) | Methods and apparatus for event logging in an information network | |
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
JPH08286989A (ja) | ネットワーク管理システム | |
CN112039710B (zh) | 服务故障处理方法、终端设备及可读存储介质 | |
CN111163159A (zh) | 消息订阅方法、装置、服务器及计算机可读存储介质 | |
US20060277429A1 (en) | Handling restart attempts for high availability managed resources | |
CN114629883B (zh) | 服务请求的处理方法、装置、电子设备及存储介质 | |
CN113067875A (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN113141412A (zh) | 域名切换方法、系统、装置、设备及存储介质 | |
CN113867915A (zh) | 任务调度方法、电子设备及存储介质 | |
CN111240760B (zh) | 基于注册中心的应用发布方法、系统、存储介质及设备 | |
CN115002185A (zh) | 数据的处理方法、装置、电子设备及存储介质 | |
CN112118352A (zh) | 通知触发消息的处理方法和装置 | |
CN111414247A (zh) | 一种服务器切换方法、装置、管理节点及存储介质 | |
CN114117280A (zh) | 页面静态资源使用方法、装置、终端设备及存储介质 | |
CN115766715A (zh) | 一种高可用的超融合集群监控方法和系统 | |
CN114443438A (zh) | 节点状态的检测方法、节点异常的处理方法及装置 | |
CN115314361A (zh) | 一种服务器集群管理方法及其相关组件 | |
CN111049938B (zh) | 消息通知方法、装置、电子设备及可读存储介质 | |
CN114710494B (zh) | 应用管理方法、装置和存储介质 | |
CN111614747B (zh) | 一种信息处理方法及装置 | |
CN112988471B (zh) | 一种工业互联网系统中的数据备份方法、装置及电子设备 | |
CN111475807A (zh) | 可移动存储设备的检测方法及装置 | |
CN110716841A (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 |