CN114528140A - 一种业务降级的方法和装置 - Google Patents
一种业务降级的方法和装置 Download PDFInfo
- Publication number
- CN114528140A CN114528140A CN202210138210.1A CN202210138210A CN114528140A CN 114528140 A CN114528140 A CN 114528140A CN 202210138210 A CN202210138210 A CN 202210138210A CN 114528140 A CN114528140 A CN 114528140A
- Authority
- CN
- China
- Prior art keywords
- service
- degradation
- degraded
- rule
- field
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种业务降级的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系;根据所述降级条件判断所述业务是否需要降级;在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;根据所述降级规则对所述待降级的业务节点进行降级处理。该实施方式不仅实现了精细到业务节点的降级方法,而且提升了用户的体验感,将业务降级的影响降低到最小范围。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务降级的方法和装置。
背景技术
随着互联网信息化的广泛应用,网络线上业务得到了快速的发展。当线上业务遇到业务异常或者系统问题时,会直接影响业务的正常处理流程,致使业务暂时中断。
为了降低上述突发的业务异常或系统问题对线上业务的影响,目前通用的方法是通过在业务流程的关键节点嵌入降级开关,进行一刀切式的业务降级,从而实现业务流程的快速恢复。然而采用一刀切式的业务降级,容易导致其它正常用户无法使用此业务,不仅降低了用户的体验感,造成用户的流失而且还有可能直接影响业务收益。
发明内容
有鉴于此,本发明实施例提供一种业务降级的方法和装置,基于配置的降级条件和规则,确定待降级的业务节点,根据降级规则对待降级业务节点进行精细化降级处理,不仅完成了业务节点级别的精细化降级,而且提升了用户的体验感,避免了因业务降级而影响业务收益的风险,将业务降级的影响降低到最小范围。
为实现所述目的,根据本发明实施例的一个方面,提供了一种业务降级的方法,包括:
根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系;
根据所述降级条件判断所述业务是否需要降级;
在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;
根据所述降级规则对所述待降级的业务节点进行降级处理。
可选地,所述降级条件包括业务方法名;根据所述降级条件判断所述业务是否需要降级,包括:从所述业务的业务程序中获取业务方法名;将所述业务方法名与所述降级条件进行匹配;在匹配成功的情况下,确定所述业务需要降级。
可选地,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,包括:根据所述降级业务字段获取与所述降级业务字段相关的第一业务节点集合;根据所述字段值和规则类型,从所述第一业务节点集合中选取待降级的业务节点。
可选地,在所述降级规则是由多个子规则组成的情况下,所述降级规则还包括:子规则之间的关系;所述方法还包括:根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点。
可选地,根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点包括:对每个子规则,根据所述降级业务字段、字段值和规则类型确定第二业务节点集合;根据所述子规则之间的关系,和每个子规则对应的第二业务节点集合,确定待降级的业务节点。
可选地,在根据业务请求获取业务的降级配置信息之前,包括:基于管理端的管理运维界面配置业务的降级配置信息,且所述降级配置包括:降级授权配置、降级开关配置、降级条件配置和降级规则配置。
可选地,在根据业务请求获取所述业务的降级配置信息之前,还包括:确定业务降级开关已经开启;所述业务降级开关的开启方式包括:自动开启和手动开启;所述自动开启包括:根据预先设置的开启时间开启所述业务降级开关。
可选地,所述业务请求包括授权秘钥;在根据业务请求获取所述业务的降级配置信息之前,还包括:根据所述业务请求对应的客户端标识从数据库中获取所述客户端的第一授权秘钥;根据所述第一授权秘钥和所述授权秘钥对所述客户端进行授权验证。
可选地,在根据所述降级规则对所述待降级的业务节点进行降级处理之后,还包括:通知管理端各业务节点的降级信息,将所述业务节点的降级信息经数据服务存储到信息存储单元中。
根据本发明实施例的第二方面,提供一种业务降级装置,包括:
配置信息获取模块,用于根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系;
判断模块,用于根据所述降级条件判断所述业务是否需要降级;
待降级节点获取模块,用于在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;
降级模块,用于根据所述降级规则对所述待降级的业务节点进行降级处理。
根据本发明实施例的第三方面,提供一种业务降级的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
所述发明中的一个实施例具有如下优点或有益效果:通过根据业务请求获取业务的降级配置信息,降级配置信息包括降级条件和降级规则,降级规则包括降级业务字段、字段值和规则类型,规则类型标示了降级业务字段和字段值之间的关系;根据降级条件判断所述业务是否需要降级;在业务需要降级的情况下,根据降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;根据降级规则对待降级的业务节点进行降级处理的技术方案,实现了基于配置的降级条件和规则,确定待降级的业务节点,根据降级规则对待降级业务节点进行精细化降级处理,不仅完成了业务节点级别的精细化降级,而且提升了用户的体验感,避免了因业务降级而影响业务收益的风险,将业务降级的影响降低到最小范围。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的业务降级方法的主要流程的示意图;
图2是本发明实施例业务降级的原理示意图;
图3是根据本发明实施例的业务降级装置的主要模块示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
以现有的技术进行业务降级,由于采用一刀切式的业务降级,导致其它正常用户无法使用此业务,不仅降低了用户的体验感,造成用户的流失而且还有可能直接影响业务收益,不能很好的满足实际应用。
为了解决现有技术中存在的上述问题,本发明提出一种业务降级方法,基于配置的降级条件和规则,确定待降级的业务节点,根据降级规则对待降级业务节点进行精细化降级处理,不仅完成了业务节点级别的精细化降级,而且提升了用户的体验感,避免了因业务降级而影响业务收益的风险,将业务降级的影响降低到最小范围。
在本发明的实施例介绍中,所涉及的名词及其含义如下:
MySQL:一种关系型数据库。
JES:一种分布式全文搜索集群,在本发明中它提供了一个分布式多用户能力的全文搜索引擎;
DUCC:一个动态分布式配置中心,在本发明中能够集中化的管理配置,配置修改后能准实时的推送到应用端;
Schedule:一种基于Quartz任务调度框架的分布式任务调度系统;
CGLIB:一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口,Hibernate(一个开放源代码的对象关系映射框架)支持它来实现PO(Persistent Object持久化对象)字节码的动态生成;
JMQ:一种消息队列,在本发明中提供可靠传递消息及数据的消息中间件平台,具有高的可用性、扩展性和运维性。
图1是根据本发明实施例的业务降级方法的主要流程的示意图,如图1所示,本发明实施例的业务降级方法包括如下的步骤S101至步骤S104。
步骤S101、根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系。
具体地,本发明的业务降级方法可以用于因业务层面的原因对部分业务节点进行主动降级,也可以用于因系统异常等问题对部分业务节点进行被动降级。在客户端业务请求开始处理之前,获取由管理端的配置中心下发的降级配置信息,所述降级配置信息包括降级条件和降级规则,其中降级规则包括降级涉及的业务字段,相应的业务字段值和规则类型,所述规则类型标示了降级涉及的业务字段和相应的业务字段值之间的关系,例如:相等、包含、不包含等规则类型。
根据本发明的一个实施例,在根据业务请求获取业务的降级配置信息之前,包括:基于管理端的管理运维界面配置业务的降级配置信息,且所述降级配置包括:降级授权配置、降级开关配置、降级条件配置和降级规则配置。
具体地,在实际的业务降级处理中,业务降级通过业务开关来实现,由于业务包括不少于一个业务节点,因此需要在每个业务流程中创建多个降级开关,这些开关散落分布在业务系统程序中,对于业务的更新、嵌套或者开发人员的更迭,由于缺少对降级开关的管理,容易引起疏忽或者遗漏,不利于降级开关的后期维护和使用。为了解决此技术问题,本发明中管理端通过统一的管理运维界面对业务降级开关进行创建和维护,业务系统只需要接入使用即可,无需重复开发和维护,通过在管理端创建的管理运维界面,进行业务降级配置,配置包括降级授权配置、降级开关配置、降级条件配置和降级规则配置,上述管理运维界面还支持对业务降级结果进行查询。
降级授权配置包括:配置业务的基本信息、业务降级操作的授权成员;生成所述授权成员的使用秘钥,并将所述秘钥持久化至数据库。
具体地,在管理运维界面的接入应用管理模块进行降级授权配置,具体配置包括:填写业务类型编码,配置业务降级操作的授权成员,只有该成员才可以操作业务应用下的降级开关,以保证业务降级开关的安全规范使用;随后管理端根据授权的成员,使用算法随机生成客户端授权成员的使用秘钥,并将所述秘钥持久化保存至MySQL关系型数据库。
通过上述的降级授权配置,实现了管理端对业务应用的基础信息的记录、业务应用降级用户的授权,以及业务降级开关的归属的管理。
另外地,在完成上述降级授权配置后,还需要在上述的管理运维界面中进行降级条件配置和降级开关配置,其中降级条件配置用于确定业务是否需要进行降级处理,降级开关的配置通过在管理运维界面的降级开关管理模块中创建降级开关,填写基础配置说明信息,包括:所属业务线、业务应用、影响等必要信息便于后期维护使用。
相应地,在上述管理运维界面的降级开关管理模块创建的降级开关中配置业务降级规则,降级规则配置包括:配置所述降级规则涉及的业务字段、字段值、规则类型,在所述降级规则是由多个子规则组成的情况下,配置子规则之间的关系;配置业务降级后的默认响应结果,便于后续对业务节点降级结果的查询。
另外地,降级规则配置还包括:配置业务降级开关的开启方式,所述开启方式包括:自动开启和手动开启。对于需要自动开启的业务降级,在上述的管理运维界面配置业务降级开关的开启时间;在满足开启时间时,自动将上述降级开关的状态变更为开启;客户端的配置中心将上述配置的业务的降级信息下发至客户端。对于需要手动开启的业务降级,在上述的管理运维界面创建并发布业务降级开关后,降级开关的状态即为开启;类似地,客户端的配置中心将上述配置的业务的降级信息下发至客户端。
通过上述统一的管理运维界面,实现了业务降级开关的维护和管理,解决了现有技术中降级开关缺乏统一维护和管理的问题,降低了业务降级的开发成本和维护成本。
根据本发明的另一个实施例,在根据业务请求获取所述业务的降级配置信息之前,还包括:确定业务降级开关已经开启;所述业务降级开关的开启方式包括:自动开启和手动开启;所述自动开启包括:根据预先设置的开启时间开启所述业务降级开关。
具体地,在业务请求获取所述业务的降级配置信息之前,需要确定业务降级的开关是否已经开启,只有业务降级开关开启,将上述管理运维界面的配置信息经配置中心下发到客户端,才能获取业务降级配置信息;根据业务需要业务降级开关可以是自动开启也可以手动开启,管理端根据上述的业务降级开关的开启方式,在自动开启时,根据预先设置的开启时间,通过任务调度平台Schedule创建定时任务,任务触发执行时判断开关开启时间是否到达,在到达开启时间时开关状态开启,将配置信息经配置中心下发到客户端;在手动开启时,降级开关发布后开关状态开启,将配置信息经配置中心下发到客户端。
根据本发明的再一个实施例,所述业务请求包括授权秘钥;在根据业务请求获取所述业务的降级配置信息之前,还包括:根据所述业务请求对应的客户端标识从数据库中获取所述客户端的第一授权秘钥;根据所述第一授权秘钥和所述授权秘钥对所述客户端进行授权验证。
具体地,由于业务降级具有个性化的降级方案,所以不同的客户端成员有不同的业务降级方案,通过上述管理运维界面的授权配置可以得到授权配置信息,在根据业务请求获取所述业务的降级配置信息之前,管理端根据业务请求获取所述业务请求中的授权秘钥以及客户端标识,从存储秘钥的数据库中获取与客户端标识相对应的第一授权秘钥;根据第一授权秘钥对业务请求中的授权秘钥进行验证,如果验证通过,则客户端具有相应的业务降级使用权限。
步骤S102、根据所述降级条件判断所述业务是否需要降级。
根据本发明的一个实施例,所述降级条件包括业务方法名;根据所述降级条件判断所述业务是否需要降级,包括:从所述业务的业务程序中获取业务方法名;将所述业务方法名与所述降级条件进行匹配;在匹配成功的情况下,确定所述业务需要降级。
具体地,所述降级条件包括业务方法名,在业务执行前先拦截其程序,获取业务程序的业务方法名,例如:getGoodsInfo方法名;按照拦截获取的业务方法名与降级条件进行匹配,如果匹配成功,此业务是需要降级的,如果未匹配到,此业务不需要降级,按照业务正常执行流程进行执行即可。
步骤S103、在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点。
根据本发明的一个实施例,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,包括:根据所述降级业务字段获取与所述降级业务字段相关的第一业务节点集合;根据所述字段值和规则类型,从所述第一业务节点集合中选取待降级的业务节点。
具体地,一个业务中包括多个业务节点,在确定所述业务需要进行业务降级时,基于配置信息中的降级规则,根据降级规则中的业务字段,获取与所述降级业务字段相关的第一业务节点集合,此第一业务节点集合中包括了待降级的业务节点;根据所在降级规则的字段值和规则类型(EQUAL:相等,IN:包含,NOT IN:不包含等类型),从第一业务节点集合中选取符合字段值和规则类型要求的业务节点,得到待降级的业务节点。
根据本发明的另一个实施例,在所述降级规则是由多个子规则组成的情况下,所述降级规则还包括:子规则之间的关系;所述方法还包括:根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点。
根据本发明的再一个实施例,根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点包括:对每个子规则,根据所述降级业务字段、字段值和规则类型确定第二业务节点集合;根据所述子规则之间的关系,和每个子规则对应的第二业务节点集合,确定待降级的业务节点。
具体地,降级规则可以是一个规则,也可以是多个子规则的集合,在所述降级规则是由多个子规则组成的情况下,上述降级规则还包括:子规则之间的逻辑关系,如:与、或;相应地,确定待降级业务节点的方法包括:对每个子规则,确定每个子规则的满足降级子规则中的降级业务字段、字段值、规则类型要求的第二业务节点集合;根据子规则之间的逻辑关系,结合每个子规则对应的第二业务节点集合,确定待降级的业务节点;例如:拟建立降级规则为:店铺ShopId为字段值1且商品SKU为字段值2则触发降级开关,此规则包含两个子规则,主要配置如下:规则一、商品SKU–>IN->字段值1,规则二、店铺ShopId->IN->字段值2,规则一与规则二的关系为与,其中商品SKU和店铺ShopId为降级业务字段,IN为规则类型,此举例规则可以用于当业务运营发现某个商品信息有问题时,通过设置商铺ShopId的商品SKU的降级规则来实现过滤掉此问题商品的业务,而不影响商铺ShopId的其它商品业务,从而实现了精细化的业务降级。
步骤S104、根据所述降级规则对所述待降级的业务节点进行降级处理。
具体地,根据上述确定的待降级的业务节点,调用业务降级程序或者业务降级逻辑进行降级处理,此中的降级程序/逻辑可以是恢复业务节点初始化,也可以将待降级的业务节点置空处理等,具体降级程序/逻辑根据降级要求设计,此中不做限定。
根据本发明的一个实施例,在根据所述降级规则对所述待降级的业务节点进行降级处理之后,还包括:通知管理端各业务节点的降级信息,将所述业务节点的降级信息经数据服务存储到信息存储单元中。
具体地,客户端在业务节点降级执行完毕后,通过管理端的数据交互接口或者MQ消息,将业务节点降级信息通知管理端各业务节点,并把业务降级信息经数据服务存储到信息存储单元ES(JES)中,以便管理端监控实际业务节点降级生效的情况。
另外地,本发明所述业务降级方法被实现为客户端专用的软件工具包。
具体地,对客户端JAR包的配置项进行配置,包括接入业务应用的开关、接入应用的ID和秘钥,以便管理端对客户端接入业务应用的区分以及成员的授权使用;客户端JAR包内部采用CGLIB动态代理方式,用于实现上述具体业务降级的处理方法。
通过引用专有客户端JAR包,JAR包根据配置的规则值,对业务系统的业务程序进行拦截,如果降级条件匹配,按照降级规则进行业务节点级别的精细化业务降级,而业务系统只需要接入使用即可,无需重复开发及维护相关逻辑,降低了业务降级的开发和维护成本。
图2是本发明实施例业务降级的原理示意图,其中数据交互接口、数据服务、管理运维界面、配置中心、任务调度平台、信息存储和配置存储均在管理端,客户端接入是引用客户端JAR包的接入应用。在执行业务降级之前,需要在管理运维界面新建接入应用,用于降级授权配置,并通过数据服务持久化到配置存储的MySQL数据库中,便于后续的业务降级对配置信息的读取;通过管理运维界面创建降级开关,并在此降级开关中进行降级规则配置,在降级开关设置为自动开启时,后端应用通过任务调度平台创建定时任务,在业务执行时间满足定时时间时,降级开关开启,随后调用配置中心下发降级配置信息至客户端接入,在降级开关设置为手动开启时,管理运维界面对降级开关发布后即立即生效,配置中心下发降级配置信息至客户端接入;客户端接入获取业务降级配置信息后,在满足设定的降级条件的情况下,根据降级配置信息的降级规则进行业务节点的精细化降级,降级完成后将降级信息通过回调管理端的数据交互接口,调用数据服务存储至信息存储(JES)中;同时当管理运维界面中需要查询已经配置的业务降级开关的降级结果时,通过读取信息存储(JES)中的降级信息来获取业务节点的降级生效情况。
图3是根据本发明实施例的业务降级装置的主要模块示意图。如图3所示,业务降级装置300主要包括配置信息获取模块301、判断模块302、待降级节点获取模块303和降级模块304。
配置信息获取模块301,用于根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系;
判断模块302,用于根据所述降级条件判断所述业务是否需要降级;
待降级节点获取模块303,用于在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;
降级模块304,用于根据所述降级规则对所述待降级的业务节点进行降级处理。
具体地,所述降级条件包括业务方法名;判断模块302用于:从所述业务的业务程序中获取业务方法名;将所述业务方法名与所述降级条件进行匹配;在匹配成功的情况下,确定所述业务需要降级。
具体地,待降级节点获取模块303用于:根据所述降级业务字段获取与所述降级业务字段相关的第一业务节点集合;根据所述字段值和规则类型,从所述第一业务节点集合中选取待降级的业务节点。
具体地,在所述降级规则是由多个子规则组成的情况下,所述降级规则还包括:子规则之间的关系;所述业务降级装置300还包括待降级节点获取子模块(图中未示出)用于:根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点。
具体地,所述待降级节点获取子模块(图中未示出)用于:对每个子规则,根据所述降级业务字段、字段值和规则类型确定第二业务节点集合;根据所述子规则之间的关系,和每个子规则对应的第二业务节点集合,确定待降级的业务节点。
具体地,所述业务降级装置300还包括配置模块(图中未示出)用于:在根据业务请求获取业务的降级配置信息之前,基于管理端的管理运维界面配置业务的降级配置信息,且所述降级配置包括:降级授权配置、降级开关配置、降级条件配置和降级规则配置。
具体地,所述业务降级装置300还包括降级开关开启模块(图中未示出)用于:在根据业务请求获取所述业务的降级配置信息之前,确定业务降级开关已经开启;所述业务降级开关的开启方式包括:自动开启和手动开启;所述自动开启包括:根据预先设置的开启时间开启所述业务降级开关。
具体地,所述业务降级装置300还包括授权验证模块(图中未示出)用于:在根据业务请求获取所述业务的降级配置信息之前,根据所述业务请求对应的客户端标识从数据库中获取所述客户端的第一授权秘钥;根据所述第一授权秘钥和所述授权秘钥对所述客户端进行授权验证。
具体地,所述业务降级装置300还包括结果存储模块(图中未示出)用于:在根据所述降级规则对所述待降级的业务节点进行降级处理之后,通知管理端各业务节点的降级信息,将所述业务节点的降级信息经数据服务存储到信息存储单元中。
图4是本发明实施例可以应用于其中的示例性系统架构图400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如业务降级应用、业务精细降级应用等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所进行的业务降级提供支持的后台管理服务器(仅为示例)。后台管理服务器可以根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系;根据所述降级条件判断所述业务是否需要降级;在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;根据所述降级规则对所述待降级的业务节点进行降级处理等处理,并将处理结果(例如业务降级信息等--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的业务降级的方法一般由服务器405执行,相应地,业务降级装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是所述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者所述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或所述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者所述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括:配置信息获取模块、判断模块、待降级节点获取模块和降级模块。
其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,降级模块还可以被描述为“用于根据所述降级规则对所述待降级的业务节点进行降级处理的模块”。
另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是所述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。所述计算机可读介质承载有一个或者多个程序,当所述一个或者多个程序被一个该设备执行时,使得该设备包括:根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段之间的关系;根据所述降级条件判断所述业务是否需要降级;在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;根据所述降级规则对所述待降级的业务节点进行降级处理。
根据本发明实施例的技术方案,具有如下优点或有益效果:通过根据业务请求获取业务的降级配置信息,降级配置信息包括降级条件和降级规则,降级规则包括降级业务字段、字段值和规则类型,规则类型标示了降级业务字段和字段值之间的关系;根据降级条件判断所述业务是否需要降级;在业务需要降级的情况下,根据降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;根据降级规则对待降级的业务节点进行降级处理的技术方案,实现了基于配置的降级条件和规则,确定待降级的业务节点,根据降级规则对待降级业务节点进行精细化降级处理,不仅完成了业务节点级别的精细化降级,而且提升了用户的体验感,避免了因业务降级而影响业务收益的风险,将业务降级的影响降低到最小范围。所述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种业务降级的方法,其特征在于,包括:
根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段之间的关系;
根据所述降级条件判断所述业务是否需要降级;
在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;
根据所述降级规则对所述待降级的业务节点进行降级处理。
2.根据权利要求1所述的方法,其特征在于,所述降级条件包括业务方法名;
根据所述降级条件判断所述业务是否需要降级,包括:
从所述业务的业务程序中获取业务方法名;
将所述业务方法名与所述降级条件进行匹配;
在匹配成功的情况下,确定所述业务需要降级。
3.根据权利要求1所述的方法,其特征在于,
根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,包括:
根据所述降级业务字段获取与所述降级业务字段相关的第一业务节点集合;
根据所述字段值和规则类型,从所述第一业务节点集合中选取待降级的业务节点。
4.根据权利要求1所述的方法,其特征在于,在所述降级规则是由多个子规则组成的情况下,所述降级规则还包括:子规则之间的关系;
所述方法还包括:
根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点。
5.根据权利要求4所述的方法,其特征在于,根据所述降级业务字段、字段值、规则类型和子规则之间的关系确定待降级的业务节点包括:
对每个子规则,根据所述降级业务字段、字段值和规则类型确定第二业务节点集合;
根据所述子规则之间的关系,和每个子规则对应的第二业务节点集合,确定待降级的业务节点。
6.根据权利要求1所述的方法,其特征在于,在根据业务请求获取业务的降级配置信息之前,包括:
基于管理端的管理运维界面配置业务的降级配置信息,且所述降级配置包括:降级授权配置、降级开关配置、降级条件配置和降级规则配置。
7.根据权利要求1所述的方法,其特征在于,在根据业务请求获取所述业务的降级配置信息之前,还包括:
确定业务降级开关已经开启;
所述业务降级开关的开启方式包括:自动开启和手动开启;
所述自动开启包括:根据预先设置的开启时间开启所述业务降级开关。
8.根据权利要求1所述的方法,其特征在于,所述业务请求包括授权秘钥;
在根据业务请求获取所述业务的降级配置信息之前,还包括:
根据所述业务请求对应的客户端标识从数据库中获取所述客户端的第一授权秘钥;
根据所述第一授权秘钥和所述授权秘钥对所述客户端进行授权验证。
9.根据权利要求1所述的方法,其特征在于,在根据所述降级规则对所述待降级的业务节点进行降级处理之后,还包括:
通知管理端各业务节点的降级信息,将所述业务节点的降级信息经数据服务存储到信息存储单元中。
10.一种业务降级装置,其特征在于,包括:
配置信息获取模块,用于根据业务请求获取业务的降级配置信息,所述降级配置信息包括降级条件和降级规则,所述降级规则包括降级业务字段、字段值和规则类型,所述规则类型标示了降级业务字段和字段值之间的关系;
判断模块,用于根据所述降级条件判断所述业务是否需要降级;
待降级节点获取模块,用于在所述业务需要降级的情况下,根据所述降级业务字段、字段值和规则类型确定待降级的业务节点,所述业务包括不少于一个业务节点;
降级模块,用于根据所述降级规则对所述待降级的业务节点进行降级处理。
11.一种移动电子设备终端,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138210.1A CN114528140A (zh) | 2022-02-15 | 2022-02-15 | 一种业务降级的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210138210.1A CN114528140A (zh) | 2022-02-15 | 2022-02-15 | 一种业务降级的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114528140A true CN114528140A (zh) | 2022-05-24 |
Family
ID=81622782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210138210.1A Pending CN114528140A (zh) | 2022-02-15 | 2022-02-15 | 一种业务降级的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114528140A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023083066A1 (zh) * | 2021-11-11 | 2023-05-19 | 北京沃东天骏信息技术有限公司 | 数据同步方法和装置 |
-
2022
- 2022-02-15 CN CN202210138210.1A patent/CN114528140A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023083066A1 (zh) * | 2021-11-11 | 2023-05-19 | 北京沃东天骏信息技术有限公司 | 数据同步方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113495921B (zh) | 一种数据库集群的路由方法和装置 | |
CN111460129B (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN107835181B (zh) | 服务器集群的权限管理方法、装置、介质和电子设备 | |
CN109783151B (zh) | 规则变更的方法和装置 | |
US11765112B2 (en) | Context driven dynamic actions embedded in messages | |
CN110795741A (zh) | 对数据进行安全性处理的方法和装置 | |
CN111831503B (zh) | 一种基于监控代理的监控方法和监控代理装置 | |
CN114528140A (zh) | 一种业务降级的方法和装置 | |
CN113765871B (zh) | 堡垒机管理的方法和装置 | |
CN113010238A (zh) | 一种微应用调用接口的权限确定方法、装置和系统 | |
CN112953719B (zh) | 一种令牌认证方法和装置 | |
CN114374657B (zh) | 一种数据处理方法和装置 | |
CN109213815B (zh) | 控制执行次数的方法、装置、服务器终端以及可读介质 | |
US10346626B1 (en) | Versioned access controls | |
CN114051029B (zh) | 授权方法、授权装置、电子设备和存储介质 | |
CN112559001B (zh) | 更新应用的方法和装置 | |
CN114237765A (zh) | 功能组件处理方法、装置、电子设备和介质 | |
US11526499B2 (en) | Adaptively updating databases of publish and subscribe systems using optimistic updates | |
CN113448602A (zh) | 版本更新的方法和装置 | |
US10771586B1 (en) | Custom access controls | |
CN113742617A (zh) | 一种缓存更新的方法和装置 | |
CN113824675A (zh) | 管理登录态的方法和装置 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 | |
CN113760481A (zh) | 一种分布式定时任务调度系统和方法 | |
CN113821519B (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 |