CN113014506A - 一种生产运维方法、装置及系统 - Google Patents

一种生产运维方法、装置及系统 Download PDF

Info

Publication number
CN113014506A
CN113014506A CN202110182913.XA CN202110182913A CN113014506A CN 113014506 A CN113014506 A CN 113014506A CN 202110182913 A CN202110182913 A CN 202110182913A CN 113014506 A CN113014506 A CN 113014506A
Authority
CN
China
Prior art keywords
calling
scene
service
call
current
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.)
Granted
Application number
CN202110182913.XA
Other languages
English (en)
Other versions
CN113014506B (zh
Inventor
张�浩
陈静国
廖过房
彭倩茜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110182913.XA priority Critical patent/CN113014506B/zh
Publication of CN113014506A publication Critical patent/CN113014506A/zh
Application granted granted Critical
Publication of CN113014506B publication Critical patent/CN113014506B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本申请提供的一种生产运维方法、装置及系统,可用于金融领域或其它领域,方法包括:服务器接收至少一个调用终端发送的服务调用指令,并将当前所有调用服务发送至流量控制器,流量控制器对当前所有调用服务的调用量进行控制,并根据当前所有场景将当前所有调用服务发送给所有调用终端;每个调用终端对应一场景,每个服务的数据包内存储有调用字段,把实现该场景的所有服务的调用字段串起来,可以形成一个调用链,流量控制器根据调用链识别当前所有场景,并对当前所有场景进行流量控制,如果有一个场景的调用量发生异常,影响到整个系统的运行,流量控制器可以精确定位到这个场景,然后对这个场景进行控制。

Description

一种生产运维方法、装置及系统
技术领域
本申请涉及金融领域,具体涉及一种生产运维方法、装置及系统。
背景技术
新一代的金融机构的IT系统建设,是在对业务流程的梳理基础上提取出“服务”,不通层级的服务是IT系统的基本要素,各个应用之间,以及应用内部通过服务调用来实现业务功能的建设和闭环。
对服务的提供者来说,尤其是基础服务,调用方非常多,要做到不侵入调用方系统的前提下对调用方的精确管理并不容易。例如客户信息管理应用,提供了一个客户基本信息查询的公共服务,整个应用系统的数百个应用的上千个场景都会调用该服务。
对服务调用方进行精确管理的难度在于:银行本身对“场景”缺乏明确的定义,也缺乏有效的机制对场景进行管理。目前的调用方管理依赖于项目涉及过程中要求调用对服务调用登记台账,比如A应用调用了B应用的b服务,实际有10个场景,但A应用只登记了1条调用关系(即只记录了一个场景),这样调用关系就不准,无法了解实际有多少场景。
在生产运维的精确管理中,比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
发明内容
针对现有技术中的问题,本申请提供一种生产运维方法、装置及系统,让服务的提供方能够精准识别场景,实现对生产运维的精确、智能控制。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种生产运维方法,由流量控制器执行,其中每个调用终端对应一场景;所述生产运维方法包括:
接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
根据当前所有场景将当前所有调用服务发送给所有调用终端。
进一步地,所述根据调用链识别当前所有场景,包括:
所述流量控制器对所述调用链进行解析,得到实现该场景的所有服务的调用字段;
根据实现该场景的所有服务的调用字段以及预设的场景定义表,得到当前所有场景。
进一步地,所述对当前所有场景的调用量进行控制,包括:
根据一预设的场景流量管理表,对所述场景调用量进行控制,其中,所述场景流量管理表中设有场景流量上限。
第二方面,本申请提供一种生产运维方法,由服务器执行,其中每个调用终端对应一场景;所述生产运维方法包括:
接收至少一个调用终端发送的服务调用指令,其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
将当前待调用服务通过流量控制器发送至所有调用终端,其中,所述流量控制器根据所述调用链识别当前所有场景;所述流量控制器对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行。
第三方面,本申请提供一种流量控制装置,每个调用终端对应一场景;所述流量控制装置包括:
服务接收模块:接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
流量控制模块:根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
服务发送模块:根据当前所有场景将当前所有调用服务发送给所有调用终端。
进一步地,所述流量控制模块还包括:
调用链解析单元:所述流量控制器对所述调用链进行解析,得到实现该场景的所有服务的调用字段;
场景识别单元:根据实现该场景的所有服务的调用字段以及预设的场景定义表,得到当前所有场景。
进一步地,所述流量控制模块还包括:
流量控制单元:根据一预设的场景流量管理表,对所述场景调用量进行控制,其中,所述场景流量管理表中设有场景流量上限。
第四方面,本申请提供一种服务器,每个调用终端对应一场景;所述服务器包括:
指令接收模块:接收至少一个调用终端发送的服务调用指令,其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
服务调用模块:将当前待调用服务通过流量控制器发送至所有调用终端,其中,所述流量控制器根据所述调用链识别当前所有场景;所述流量控制器对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行。
第五方面,本申请提供一种生产运维系统,每个调用终端对应一场景,所述生产运维系统包括:
服务器,所述服务器接收至少一个调用终端发送的服务调用指令,并将当前待调用服务通过流量控制器发送至所有调用终端;
流量控制装置,所述流量控制装置接收所述服务器发送的当前待调用服务;根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,并根据当前所有场景将当前所有调用服务发送给所有调用终端,进而通过稳定当前所有场景调用量维护产品运行;
其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段。
第六方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的生产运维方法。
第七方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的生产运维方法。
由上述技术方案可知,本申请提供的一种生产运维方法、装置及系统,方法包括:服务器接收至少一个调用终端发送的服务调用指令,并将当前所有调用服务发送至流量控制器,流量控制器根据所述调用链识别当前所有场景,对当前所有调用服务的调用量进行控制,并根据当前所有场景将当前所有调用服务发送给所有调用终端,进而使得当前所有场景的调用量保持在稳定范围内;每个调用终端对应一场景,每个服务的数据包内存储有调用字段,每一次调用场景,把实现该场景的所有服务的调用字段串起来,形成一个调用链,流量控制器根据调用链识别当前所有场景,并对当前所有场景进行流量控制,如果有一个场景的调用量发生异常,影响到整个系统的运行,那么流量控制器可以精确定位到这个场景,然后对这个场景进行控制即可。这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中生产运维方法中流量控制流程示意图。
图2是本申请实施例中生产运维方法中场景识别流程示意图。
图3是本申请实施例中生产运维方法中服务调用流程示意图。
图4是本申请实施例中生产运维方法中场景调用链示意图。
图5是本申请实施例中一种流量控制装置的结构示意图。
图6是本申请实施例中一种流量控制装置中流量控制模块结构示意图。
图7是本申请实施例中一种生产运维方法流程示意图。
图8是本申请实施例中一种服务器的结构示意图。
图9是本申请实施例中一种生产运维装置的结构示意图。
图10是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请公开的一种生产运维方法、装置及系统可用于金融领域,也可用于除金融领域之外的任意领域,本申请公开的一种生产运维方法、装置及系统的应用领域不做限定。
在现有技术中,对服务调用方进行精确管理的难度在于:银行本身对“场景”缺乏明确的定义,也缺乏有效的机制对场景进行管理。目前的调用方管理依赖于项目涉及过程中要求调用对服务调用登记台账,比如A应用调用了B应用的b服务,实际有10个场景,但A应用只登记了1条调用关系(即只记录了一个场景),这样调用关系就不准,无法了解实际有多少场景。在生产运维的精确管理中,比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的生产运维装置,该生产运维装置可以与客户端设备之间通信连接,所述客户终端设备可以设有多个,生产运维装置具体可以通过应用服务器访问所述客户终端设备。
其中,所述生产运维装置可以将产品中场景及服务的流量数据传输给客户终端设备,所述客户终端为一搭载流量控制、分析程序的设备,所述客户终端根据生产运维装置提供的流量数据,对场景流量进行分析,判断生产过程中所有调用服务的流量是否稳定,如果有一个场景的调用量急剧上升,影响到整个系统的运行,可以精确定位到是这个场景,然后对这个场景进行限流,保证系统运维安全。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、便携式计算机、台式电脑、个人数字助理(PDA)。
在另一实际应用情形中,进行场景流量分析的部分可以在如上述内容所述的分类处理中心执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于进行生产运维中的场景流量分析的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的生产运维装置进行通信连接,实现与所述服务器的数据传输。例如,通信单元可以将客户终端设备对所有调用服务的流量分析结果发送至分类处理中心的服务器,以便流量控制器根据流量分析结果进行场景流量控制。通信单元还可以接收服务器返回的调用结果。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述流量控制装置与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
本申请提供的一种生产运维方法、装置、系统、电子设备和计算机可读存储介质,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用终端系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
具体通过下述多个实施例及应用实例分别进行说明。
在生产运维的精确管理中,比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。为了解决这一问题,第一方面,本申请提供一种生产运维方法,参见图1,由流量控制器执行,其中每个调用终端对应一场景;所述生产运维方法包括:
步骤100:接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
可以理解的是,服务器将带调用的服务发送至流量控制器,一个或多个服务可以构成一个场景,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。用调用链来区分和定义场景能够精准定位到场景。调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。作为源头的服务提供者,要管理场景,需要获取调用链,利用分布式服务平台(DSF)的底层机制,分布式服务平台DSF是管理服务之间调用的基础平台,负责服务的注册、服务调用关系的登记等。利用了DSF平台的现有机制,通过数据包头传递场景信息,调用方系统无需改造。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。
Figure BDA0002942622520000071
表1
下面结合具体示例说明,参见图4,客户信息应用提供了客户基本信息查询服务,该服务被个人金融业务应用的“现金支取服务”和“个人转账服务”调用,这两个服务有分别新终端、手机银行两个应用的四个功能调用。在这个例子中,我们可以定义出四个场景,分别是:
(F-SOCT+CashDraw)>(F-PRAS+CashDrawSv)>(F-ECIS+QryPersonComInfo)、(F-SOCT+PersonTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+ComTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo),
因此,作为服务提供者,可以从调用链路字段取到从最外层渠道到本层的调用链信息。
步骤101:根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
可以理解的是,获取调用方的java类名,应用号+调用java类名,可以唯一的定义一个调用方,从渠道端一直到核心服务,每一次的调用,把调用终端信息串起来,形成一个调用链。不同的调用链对应不同的场景,流量控制器根据调用链识别当前所有场景,这个方法,做到场景的区分,然后基于场景实现对场景的精细化管理,保证系统稳定运行。比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
步骤102:根据当前所有场景将当前所有调用服务发送给所有调用终端。
可以理解的是,流量控制器根据场景的调用链,得到服务的调用终端,将服务发送给对应的调用终端,如果有一个场景的调用量急剧上升,影响到整个系统的运行时,流量控制器将实现该场景的所有服务的流量进行限流后,再将这些服务发送给对应的调用终端,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用方系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
为了进一步提高流量控制器识别场景的准确性,在本申请提供一种生产运维方法的一个实施例中,提供一种场景识别的优选方式,参见图2,所述根据调用链识别当前所有场景,包括:
步骤200:所述流量控制器对所述调用链进行解析,得到实现该场景的所有服务的调用字段;
可以理解的是,调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。作为源头的服务提供者,要管理场景,需要获取调用链,利用分布式服务平台(DSF)的底层机制,分布式服务平台DSF是管理服务之间调用的基础平台,负责服务的注册、服务调用关系的登记等。利用了DSF平台的现有机制,通过数据包头传递场景信息,调用方系统无需改造。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。流量控制器对该调用链进行解析,得到实现该场景的所有服务的调用字段,以手机银行的“注册账户转账”为例,参见图4,该功能通过DSF调用“个人转账服务”时,调用链路字段为“(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)”,“个人转账服务”进一步调用“客户基本信息查询服务”时,调用链路字段为“(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>(F-ECIS+QryPersonComInfo)”,对该调用链进行解析,得到“注册账户转账”服务的调用字段(F-WABP+LclTransf)、“个人转账服务”的调用字段(F-PRAS+PersonTransfSv)以及“客户基本信息查询服务”的调用字段(F-ECIS+QryPersonComInfo)。
步骤201:根据实现该场景的所有服务的调用字段以及预设的场景定义表,得到当前所有场景;
可以理解的是,比如当流量控制器解析到的服务调用字段为“注册账户转账”服务的调用字段(F-WABP+LclTransf)、“个人转账服务”的调用字段(F-PRAS+PersonTransfSv)以及“客户基本信息查询服务”的调用字段(F-ECIS+QryPersonComInfo),将这三个调用字段传输至场景定义表,即可得到该调用链对应的场景为调用方在手机银行上进行注册账户转账服务。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用方系统进行改造,能够直接定位到具体的场景,既可以通过调用链解析得到当前调用的服务,也可以通过调用链得到当前调用的场景。
为了进一步提高场景流量管理的效率,在本申请提供一种生产运维方法的一个实施例中,提供了流量管理的一种优选方式,参见图2,所述对当前所有场景的调用量进行控制,包括:
步骤202:根据一预设的场景流量管理表,对所述场景调用量进行控制,其中,所述场景流量管理表中设有场景流量上限。
可以理解的是,流量控制器根据场景+地区来控制服务的开关和流量,设置场景流量控制表,如表2所示。
Figure BDA0002942622520000101
Figure BDA0002942622520000111
表2
当调用的所有场景的流量超过流量上限时,流量控制器将实现该场景的所有服务的流量进行限流,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响,否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
第二方面,在本申请提供一种生产运维方法的一个实施例中,提供一种场景调用优选方式,参见图3,由服务器执行,其中每个调用终端对应一场景;所述生产运维方法包括:
步骤300:接收至少一个调用终端发送的服务调用指令,其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
可以理解的是,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。一个场景可以包含一个或多个服务,调用终端根据实现该场景所需要的服务生成服务调用指令,服务器接收到调用指令后,调用实现该场景所需要的服务。例如以客户手机银行转账为例,该场景需要调用“注册账户转账”服务,“注册账户转账”服务进一步调用“个人转账服务”服务,“个人转账服务”服务进一步调用“客户基本信息查询服务”。
步骤301:将当前待调用服务通过流量控制器发送至所有调用终端,其中,所述流量控制器根据所述调用链识别当前所有场景;所述流量控制器对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行。
可以理解的是,服务器将当前待调用服务发送至流量控制器,流量控制器对当前待调用服务进行流量控制后,再将当前待调用服务发送至所有调用终端,如果有一个场景的调用量急剧上升,影响到整个系统的运行时,流量控制器根据该场景的调用链找到对应的服务,将对应服务的流量进行限流后,再将对应服务发送给对应的调用终端,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用方系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
下面结合具体实例,参见图7,对本申请一种生产运维方法进行具体说明。
步骤701:渠道端需要调用产品功能,调用DSF平台的注册中心,获取产品的地址信息。
步骤702:渠道端功能调用产品服务。
步骤703:产品服务,调用DSF平台的注册中心,获取基础服务的地址信息。
步骤704:产品服务,调用基础服务。
步骤705:基础应用的所有服务通过接入层对外连接,接入层从数据包头的调用链路字段,获取场景信息,调用自身的流量控制器,来进行场景流程控制。
步骤706:流量控制器,访问场景流量控制表,判断该场景(在某地区)下有没有打开开关,以及是否在支持的流量范围内。
步骤707:流量控制器判断通过后,接入层调用相关服务。
从上述描述可知,通过场景的识别,配置场景流量控制参数、关联场景定义表等参数,以及通过服务接入层的流量控制器,可实现服务调用的精确控制,以及智能流量控制。
第三方面,本申请提供一种用于执行所述生产运维方法中全部或部分内容的流量控制装置的实施例,参见图5,每个调用终端对应一场景;所述流量控制装置包括:
服务接收模块10:接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
可以理解的是,服务器将带调用的服务发送至流量控制器,一个或多个服务可以构成一个场景,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。用调用链来区分和定义场景能够精准定位到场景。调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。作为源头的服务提供者,要管理场景,需要获取调用链,利用分布式服务平台(DSF)的底层机制,分布式服务平台DSF是管理服务之间调用的基础平台,负责服务的注册、服务调用关系的登记等。利用了DSF平台的现有机制,通过数据包头传递场景信息,调用方系统无需改造。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。
下面结合具体示例说明,参见图4,客户信息应用提供了客户基本信息查询服务,该服务被个人金融业务应用的“现金支取服务”和“个人转账服务”调用,这两个服务有分别新终端、手机银行两个应用的四个功能调用。在这个例子中,我们可以定义出四个场景,分别是:
(F-SOCT+CashDraw)>(F-PRAS+CashDrawSv)>(F-ECIS+QryPersonComInfo)、(F-SOCT+PersonTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+ComTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo),
因此,作为服务提供者,可以从调用链路字段取到从最外层渠道到本层的调用链信息。
流量控制模块11:根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
可以理解的是,获取调用方的java类名,应用号+调用java类名,可以唯一的定义一个调用方,从渠道端一直到核心服务,每一次的调用,把调用终端信息串起来,形成一个调用链。不同的调用链对应不同的场景,这个方法,做到场景的区分,然后基于场景实现对场景的精细化管理,保证系统稳定运行。比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
服务发送模块12:根据当前所有场景将当前所有调用服务发送给所有调用终端。
可以理解的是,流量控制器根据场景的调用链,得到服务的调用终端,将服务发送给对应的调用终端,如果有一个场景的调用量急剧上升,影响到整个系统的运行时,流量控制器将实现该场景的所有服务的流量进行限流后,再将这些服务发送给对应的调用终端,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
从上述描述可知,本申请实施例提供的一种流量控制装置,流量控制器通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
为了进一步提高流量控制器识别场景的准确性,在本申请提供一种流量控制装置的一个实施例中,提供一种场景识别的优选方式,参见图6,所述流量控制模块还包括:
调用链解析单元20:所述流量控制器对所述调用链进行解析,得到实现该场景的所有服务的调用字段;
可以理解的是,调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。作为源头的服务提供者,要管理场景,需要获取调用链,利用分布式服务平台(DSF)的底层机制,分布式服务平台DSF是管理服务之间调用的基础平台,负责服务的注册、服务调用关系的登记等。利用了DSF平台的现有机制,通过数据包头传递场景信息,调用方系统无需改造。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。流量控制器对该调用链进行解析,得到实现该场景的所有服务的调用字段,以手机银行的“注册账户转账”为例,参见图4,该功能通过DSF调用“个人转账服务”时,调用链路字段为“(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)”,“个人转账服务”进一步调用“客户基本信息查询服务”时,调用链路字段为“(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>(F-ECIS+QryPersonComInfo)”,对该调用链进行解析,得到“注册账户转账”服务的调用字段(F-WABP+LclTransf)、“个人转账服务”的调用字段(F-PRAS+PersonTransfSv)以及“客户基本信息查询服务”的调用字段(F-ECIS+QryPersonComInfo)。
场景识别单元21:根据实现该场景的所有服务的调用字段以及预设的场景定义表,得到当前所有场景。
可以理解的是,比如当流量控制器解析到的服务调用字段为“注册账户转账”服务的调用字段(F-WABP+LclTransf)、“个人转账服务”的调用字段(F-PRAS+PersonTransfSv)以及“客户基本信息查询服务”的调用字段(F-ECIS+QryPersonComInfo),将这三个调用字段传输至场景定义表,即可得到该调用链对应的场景为调用方在手机银行上进行注册账户转账服务。
从上述描述可知,本申请实施例提供的一种流量控制装置,流量控制器通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
为了进一步提高场景流量管理的效率,在本申请实施例提供一种流量控制装置的一个实施例中,提供了流量管理的一种优选方式,参见图6,所述流量控制模块还包括:
流量控制单元22:根据一预设的场景流量管理表,对所述场景调用量进行控制,其中,所述场景流量管理表中设有场景流量上限。
可以理解的是,可以理解的是,流量控制器根据场景+地区来控制服务的开关和流量,设置场景流量控制表,如表2所示。
当调用的所有场景的流量超过流量上限时,流量控制器将实现该场景的所有服务的流量进行限流,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响,否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
第四方面,本申请提供一种用于执行所述生产运维方法中全部或部分内容的服务器的实施例,参见图8,每个调用终端对应一场景;所述服务器包括:
指令接收模块30:接收至少一个调用终端发送的服务调用指令,其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
可以理解的是,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。一个场景可以包含一个或多个服务,调用终端根据实现该场景所需要的服务生成服务调用指令,服务器接收到调用指令后,调用实现该场景所需要的服务。例如以客户手机银行转账为例,该场景需要调用“注册账户转账”服务,“注册账户转账”服务进一步调用“个人转账服务”服务,“个人转账服务”服务进一步调用“客户基本信息查询服务”。
服务调用模块31:将当前待调用服务通过流量控制器发送至所有调用终端,其中,所述流量控制器根据所述调用链识别当前所有场景;所述流量控制器对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行。
可以理解的是,服务器将当前待调用服务发送至流量控制器,流量控制器对当前待调用服务进行流量控制后,再将当前待调用服务发送至所有调用终端,如果有一个场景的调用量急剧上升,影响到整个系统的运行时,流量控制器根据该场景的调用链找到对应的服务,将对应服务的流量进行限流后,再将对应服务发送给对应的调用终端,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
从上述描述可知,本申请实施例提供的一种服务器,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用方系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
第五方面,为了能够使得上述实施例进行,本申请提供一种用于执行所述生产运维方法中全部或部分内容的生产运维系统的实施例,参见图9,每个调用终端对应一场景,所述生产运维系统包括:
服务器40,所述服务器接收至少一个调用终端发送的服务调用指令,并将当前待调用服务通过流量控制器发送至所有调用终端;
可以理解的是,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。一个场景可以包含一个或多个服务,调用终端根据实现该场景所需要的服务生成服务调用指令,服务器接收到调用指令后,调用实现该场景所需要的服务。例如以客户手机银行转账为例,该场景需要调用“注册账户转账”服务,“注册账户转账”服务进一步调用“个人转账服务”服务,“个人转账服务”服务进一步调用“客户基本信息查询服务”。服务器将当前待调用服务发送至流量控制器,流量控制器对当前待调用服务进行流量控制后,再将当前待调用服务发送至所有调用终端。
流量控制装置41,所述流量控制装置接收所述服务器发送的当前待调用服务;根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,并根据当前所有场景将当前所有调用服务发送给所有调用终端,进而通过稳定当前所有场景调用量维护产品运行;
可以理解的是,不同的调用链对应不同的场景,流量控制器根据调用链识别当前所有场景,这个方法,做到场景的区分,然后基于场景实现对场景的精细化管理,保证系统稳定运行。比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段。
可以理解的是,用调用链来区分和定义场景。调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。以手机银行的“注册账户转账”为例,参见图4,该功能通过DSF调用“个人转账服务”时,调用链路字段为“(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)”,“个人转账服务”进一步调用“客户基本信息查询服务”时,调用链路字段为“(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>(F-ECIS+QryPersonComInfo)”。
从上述描述可知,本申请实施例提供的一种生产运维系统,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用终端系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
下面结合具体实例,参见图7,对本申请一种生产运维系统进行具体说明。
步骤701:渠道端需要调用产品功能,调用DSF平台的注册中心,获取产品的地址信息。
步骤702:渠道端功能调用产品服务。
步骤703:产品服务,调用DSF平台的注册中心,获取基础服务的地址信息。
步骤704:产品服务,调用基础服务。
步骤705:基础应用的所有服务通过接入层对外连接,接入层从数据包头的调用链路字段,获取场景信息,调用自身的流量控制器,来进行场景流程控制。
步骤706:流量控制器,访问场景流量控制表,判断该场景(在某地区)下有没有打开开关,以及是否在支持的流量范围内。
步骤707:流量控制器判断通过后,接入层调用相关服务。
从上述描述可知,通过场景的识别,配置场景流量控制参数、关联场景定义表等参数,以及通过服务接入层的流量控制器,可实现服务调用的精确控制,以及智能流量控制。
从硬件层面来说,为了解决在生产运维的精确管理中,比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响的问题,本申请提供一种用于实现所述生产运维方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图10为本申请实施例的电子设备9600的系统构成的示意框图。如图10所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图10是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,生产运维功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
可以理解的是,服务器将带调用的服务发送至流量控制器,一个或多个服务可以构成一个场景,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。用调用链来区分和定义场景能够精准定位到场景。调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。作为源头的服务提供者,要管理场景,需要获取调用链,利用分布式服务平台(DSF)的底层机制,分布式服务平台DSF是管理服务之间调用的基础平台,负责服务的注册、服务调用关系的登记等。利用了DSF平台的现有机制,通过数据包头传递场景信息,调用方系统无需改造。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。
下面结合具体示例说明,参见图4,客户信息应用提供了客户基本信息查询服务,该服务被个人金融业务应用的“现金支取服务”和“个人转账服务”调用,这两个服务有分别新终端、手机银行两个应用的四个功能调用。在这个例子中,我们可以定义出四个场景,分别是:
(F-SOCT+CashDraw)>(F-PRAS+CashDrawSv)>(F-ECIS+QryPersonComInfo)、(F-SOCT+PersonTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+ComTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo),
因此,作为服务提供者,可以从调用链路字段取到从最外层渠道到本层的调用链信息。
步骤101:根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
可以理解的是,获取调用方的java类名,应用号+调用java类名,可以唯一的定义一个调用方,从渠道端一直到核心服务,每一次的调用,把调用终端信息串起来,形成一个调用链。不同的调用链对应不同的场景,流量控制器根据调用链识别当前所有场景,这个方法,做到场景的区分,然后基于场景实现对场景的精细化管理,保证系统稳定运行。比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
步骤102:根据当前所有场景将当前所有调用服务发送给所有调用终端。
可以理解的是,流量控制器根据场景的调用链,得到服务的调用终端,将服务发送给对应的调用终端,如果有一个场景的调用量急剧上升,影响到整个系统的运行时,流量控制器将实现该场景的所有服务的流量进行限流后,再将这些服务发送给对应的调用终端,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用方系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
在另一个实施方式中,用于生产运维的装置可以与中央处理器9100分开配置,例如可以将生产运维的装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现生产运维。
如图10所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图10中所示的所有部件;此外,电子设备9600还可以包括图10中没有示出的部件,可以参考现有技术。
如图10所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的生产运维方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器的流量控制方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
可以理解的是,服务器将带调用的服务发送至流量控制器,一个或多个服务可以构成一个场景,场景的区分应该以渠道应用的不同功能模块为粒度。因为渠道是面向客户的,而场景的定义需要以客户的感知为准。用调用链来区分和定义场景能够精准定位到场景。调用链是“(应用名1+程序类名1)>(应用名2+程序类名2)>(应用名3+程序类名3)...>(应用名n+程序类名n)”这种格式。作为源头的服务提供者,要管理场景,需要获取调用链,利用分布式服务平台(DSF)的底层机制,分布式服务平台DSF是管理服务之间调用的基础平台,负责服务的注册、服务调用关系的登记等。服务调用的数据包分为有数据包头和数据包体。数据包头包含了支持服务调用的技术字段,数据包体则是服务本身业务逻辑相关的字段。数据包头有预留空间,支持自定义字段,我们增加一个调用链路字段,用来存储调用链路,如表1所示。
下面结合具体示例说明,参见图4,客户信息应用提供了客户基本信息查询服务,该服务被个人金融业务应用的“现金支取服务”和“个人转账服务”调用,这两个服务有分别新终端、手机银行两个应用的四个功能调用。在这个例子中,我们可以定义出四个场景,分别是:
(F-SOCT+CashDraw)>(F-PRAS+CashDrawSv)>(F-ECIS+QryPersonComInfo)、(F-SOCT+PersonTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+LclTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo)、
(F-WABP+ComTransf)>(F-PRAS+PersonTransfSv)>
(F-ECIS+QryPersonComInfo),
因此,作为服务提供者,可以从调用链路字段取到从最外层渠道到本层的调用链信息。
步骤101:根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
可以理解的是,获取调用方的java类名,应用号+调用java类名,可以唯一的定义一个调用方,从渠道端一直到核心服务,每一次的调用,把调用终端信息串起来,形成一个调用链。不同的调用链对应不同的场景,流量控制器根据调用链识别当前所有场景,这个方法,做到场景的区分,然后基于场景实现对场景的精细化管理,保证系统稳定运行。比如一个服务有10个调用方,分10个场景,如果有一个场景的调用量急剧上升,影响到整个系统的运行,那么我们可以精确定位到是这个场景,然后对这个场景进行限流即可。这样即可以确保系统运维安全,也可以让其他9个场景的服务不受影响。否则如果不能对调用方场景进行精细管理,只能整个服务限流,那么所有的场景都会受到影响。
步骤102:根据当前所有场景将当前所有调用服务发送给所有调用终端。
可以理解的是,流量控制器根据场景的调用链,得到服务的调用终端,将服务发送给对应的调用终端,如果有一个场景的调用量急剧上升,影响到整个系统的运行时,流量控制器将实现该场景的所有服务的流量进行限流后,再将这些服务发送给对应的调用终端,这样即可以确保系统运维安全,也可以让其他场景的服务不受影响。
从上述描述可知,本申请实施例提供的一种生产运维方法,通过在每个服务的数据包内存储调用字段,调用字段构成了设定场景的调用链,不同的调用链对应不同的场景,不需要对调用方系统进行改造,能够直接定位到具体的场景,在生产运维过程中,通过调用链识别场景,同时配合流量控制器,对调用量异常的场景进行流量控制,可实现服务调用的精确控制,以及智能流量控制,否则如果不能对场景进行精细管理,只能控制整个服务的流量,那么所有的场景都会受到影响。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种生产运维方法,其特征在于,由流量控制器执行,其中每个调用终端对应一场景;所述生产运维方法包括:
接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
根据当前所有场景将当前所有调用服务发送给所有调用终端。
2.根据权利要求1所述的生产运维方法,其特征在于,所述根据调用链识别当前所有场景,包括:
所述流量控制器对所述调用链进行解析,得到实现该场景的所有服务的调用字段;
根据实现该场景的所有服务的调用字段以及预设的场景定义表,得到当前所有场景。
3.根据权利要求1所述的生产运维方法,其特征在于,所述对当前所有场景的调用量进行控制,包括:
根据一预设的场景流量管理表,对所述场景调用量进行控制,其中,所述场景流量管理表中设有场景流量上限。
4.一种生产运维方法,其特征在于,由服务器执行,其中每个调用终端对应一场景;所述生产运维方法包括:
接收至少一个调用终端发送的服务调用指令,其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
将当前待调用服务通过流量控制器发送至所有调用终端,其中,所述流量控制器根据所述调用链识别当前所有场景;所述流量控制器对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行。
5.一种流量控制装置,其特征在于,每个调用终端对应一场景;所述流量控制装置包括:
服务接收模块:接收服务器发送的当前待调用服务,其中,所述当前待调用服务构成至少一个场景,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
流量控制模块:根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行;
服务发送模块:根据当前所有场景将当前所有调用服务发送给所有调用终端。
6.根据权利要求5所述流量控制装置,其特征在于,所述流量控制模块还包括:
调用链解析单元:所述流量控制器对所述调用链进行解析,得到实现该场景的所有服务的调用字段;
场景识别单元:根据实现该场景的所有服务的调用字段以及预设的场景定义表,得到当前所有场景。
7.根据权利要求5所述的流量控制装置,其特征在于,所述流量控制模块还包括:
流量控制单元:根据一预设的场景流量管理表,对所述场景调用量进行控制,其中,所述场景流量管理表中设有场景流量上限。
8.一种服务器,其特征在于,其特征在于,每个调用终端对应一场景;所述服务器包括:
指令接收模块:接收至少一个调用终端发送的服务调用指令,其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段;
服务调用模块:将当前待调用服务通过流量控制器发送至所有调用终端,其中,所述流量控制器根据所述调用链识别当前所有场景;所述流量控制器对当前所有场景的调用量进行控制,进而通过稳定当前所有场景调用量维护产品运行。
9.一种生产运维系统,其特征在于,每个调用终端对应一场景,所述生产运维系统包括:
服务器,所述服务器接收至少一个调用终端发送的服务调用指令,并将当前待调用服务通过流量控制器发送至所有调用终端;
流量控制装置,所述流量控制装置接收所述服务器发送的当前待调用服务;根据调用链识别当前所有场景,对当前所有场景的调用量进行控制,并根据当前所有场景将当前所有调用服务发送给所有调用终端,进而通过稳定当前所有场景调用量维护产品运行;
其中,所述场景名通过一调用链表示,所述调用链包括实现该场景的所有服务的调用字段。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述生产运维方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述生产运维方法的步骤。
CN202110182913.XA 2021-02-10 2021-02-10 一种生产运维方法、装置及系统 Active CN113014506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110182913.XA CN113014506B (zh) 2021-02-10 2021-02-10 一种生产运维方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110182913.XA CN113014506B (zh) 2021-02-10 2021-02-10 一种生产运维方法、装置及系统

Publications (2)

Publication Number Publication Date
CN113014506A true CN113014506A (zh) 2021-06-22
CN113014506B CN113014506B (zh) 2023-04-07

Family

ID=76402153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110182913.XA Active CN113014506B (zh) 2021-02-10 2021-02-10 一种生产运维方法、装置及系统

Country Status (1)

Country Link
CN (1) CN113014506B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697456A (zh) * 2018-11-21 2019-04-30 华为技术有限公司 业务分析方法、装置、设备及存储介质
CN110417671A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 数据传输的限流方法和服务器
CN111367651A (zh) * 2018-12-26 2020-07-03 阿里巴巴集团控股有限公司 服务限流系统、方法、装置及电子设备
CN111651451A (zh) * 2020-04-25 2020-09-11 复旦大学 一种场景驱动的单体系统微服务拆分方法
CN111787073A (zh) * 2020-06-18 2020-10-16 多加网络科技(北京)有限公司 一种统一服务的限流熔断平台及其方法
CN111930507A (zh) * 2020-08-14 2020-11-13 中国工商银行股份有限公司 限流方法及装置
US20200364035A1 (en) * 2019-05-16 2020-11-19 Citrix Systems, Inc. Systems and methods for using a call chain to identify dependencies among a plurality of microservices
CN112306864A (zh) * 2020-10-19 2021-02-02 北京健康之家科技有限公司 基于微服务的Mock测试方法和系统、存储介质、计算设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697456A (zh) * 2018-11-21 2019-04-30 华为技术有限公司 业务分析方法、装置、设备及存储介质
CN111367651A (zh) * 2018-12-26 2020-07-03 阿里巴巴集团控股有限公司 服务限流系统、方法、装置及电子设备
US20200364035A1 (en) * 2019-05-16 2020-11-19 Citrix Systems, Inc. Systems and methods for using a call chain to identify dependencies among a plurality of microservices
CN110417671A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 数据传输的限流方法和服务器
CN111651451A (zh) * 2020-04-25 2020-09-11 复旦大学 一种场景驱动的单体系统微服务拆分方法
CN111787073A (zh) * 2020-06-18 2020-10-16 多加网络科技(北京)有限公司 一种统一服务的限流熔断平台及其方法
CN111930507A (zh) * 2020-08-14 2020-11-13 中国工商银行股份有限公司 限流方法及装置
CN112306864A (zh) * 2020-10-19 2021-02-02 北京健康之家科技有限公司 基于微服务的Mock测试方法和系统、存储介质、计算设备

Also Published As

Publication number Publication date
CN113014506B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US20150026477A1 (en) System and method for delivering application content
US8351914B2 (en) Method and system for registration of licensed modules in mobile devices
CN111031058A (zh) 基于WebSocket的分布式服务器集群交互方法及装置
US20080020755A1 (en) Method and system for international roaming using virtual sim card
US20110029671A1 (en) Terminal and method for managing secure devices
CN105701122A (zh) 一种日志收集方法、装置及系统
US20180247299A1 (en) Watch with SIM and Web browser
CN110990228A (zh) 数据接口监控方法及装置
CN113435989A (zh) 金融数据处理方法及装置
US20210144543A1 (en) Electronic device, external electronic device, and method for managing esim of external electronic device
CN113138995A (zh) 微服务集群中更新通知方法及装置
KR20050096930A (ko) 스마트카드와 서버 사이의 통신
CN116134798A (zh) 基于mqtt协议的通信方法及设备
US9521504B1 (en) Channel selection in a mobile communication device application framework
CN112769945B (zh) 分布式服务调用方法及装置
CA2902004C (en) System architecture for account-targeted mobile lockscreen offer generation and presentation
US8392588B2 (en) Terminal and method for selecting secure device
CN113014506B (zh) 一种生产运维方法、装置及系统
CN112689012A (zh) 跨网络的代理通讯方法及装置
US10587599B2 (en) Method of sending data from a secure token to a distant server
CN112968954B (zh) 一种服务迁移的流量控制方法、服务器及系统
CN112866268B (zh) 报文处理方法及系统
EP1978705A1 (en) Method and device to inform of database update on a terminal system of an end-user
CN109511118A (zh) 无线局域网访问异常处理方法、移动终端和usim卡
CN113159752A (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