CN109688174A - 一种基于多代理商服务的虚拟业务实现方法和装置 - Google Patents

一种基于多代理商服务的虚拟业务实现方法和装置 Download PDF

Info

Publication number
CN109688174A
CN109688174A CN201710970302.5A CN201710970302A CN109688174A CN 109688174 A CN109688174 A CN 109688174A CN 201710970302 A CN201710970302 A CN 201710970302A CN 109688174 A CN109688174 A CN 109688174A
Authority
CN
China
Prior art keywords
service
information
agent
external
exception rules
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
Application number
CN201710970302.5A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710970302.5A priority Critical patent/CN109688174A/zh
Publication of CN109688174A publication Critical patent/CN109688174A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/56Provisioning of proxy services
    • 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
    • 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/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于多代理商服务的虚拟业务实现方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收业务请求指令,以获取外部服务信息;根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息;通过预设的调用模板调用所述代理商服务信息对应的代理商服务。该实施方式能够便捷接入新的代理商服务,提高业务的可扩展性、可维护性,提高用户体验。

Description

一种基于多代理商服务的虚拟业务实现方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于多代理商服务的虚拟业务实现方法和装置。
背景技术
随着互联网线上业务的蓬勃发展,各大线上业务平台,都会包含在线话费充值、流量充值等与用户日常生活息息相关的虚拟业务。在电商平台上,虚拟业务能够有效获取新用户、增加用户粘性、提高电商平台用户活跃度,是电商平台上不可或缺的一部分。而在虚拟业务线中,为了满足业务需求的快速发展、提高用户体验,业务系统一般以平台化的方式构建,对接多个外部代理商,为用户提供服务。每个代理商提供多个服务,驱动业务系统业务流转。多个代理商的服务业务逻辑功能一致,可相互替换。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:目前服务获取逻辑如果新接入代理商需要在各个服务中新增判断逻辑,而且如果修改服务获取逻辑也需要修改多个代理商的多个服务。另外,服务获取逻辑与服务调用流程耦合在一起,服务获取与调用的修改都需要对整个服务交互流程进行验证。其次,业务系统在调用代理商服务时,每个服务都封装完整的流程,如果代理商修改交互协议,或在发起请求前后增加处理逻辑,都需要修改所有外部服务的服务调用流程。还有,业务系统调用外部服务,一般使用统一监控平台监控服务质量,而并没有针对业务逻辑维度的监控。而且如果服务异常,维护人员接收到告警、处理完异常,也不能恢复已失败的业务。其中,所述统一监控平台是指电商平台上对各个系统进行多维度监控的公共平台。
发明内容
有鉴于此,本发明实施例提供一种基于多代理商服务的虚拟业务实现方法和装置,能够便捷接入新的代理商服务,提高业务的可扩展性、可维护性,提高用户体验。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于多代理商服务的虚拟业务实现方法,包括:接收业务请求指令,以获取外部服务信息;根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息;通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
可选地,在服务注册中心查找到所述外部服务信息对应的代理商服务信息之前,包括:确定所述外部服务信息在所述服务注册中心已经注册;其中,当所述外部服务信息在所述服务注册中心没有注册时,则所述服务注册中心根据注册策略将所述外部服务信息进行注册。
可选地,所述服务注册中心根据注册策略将所述外部服务信息进行注册时,包括:根据所述外部服务信息,生产所述外部服务的策略键;存储所述外部服务信息与所述策略键的映射关系。
可选地,所述通过预设的调用模板调用所述代理商服务信息对应的代理商服务,包括:获取代理商配置信息,以封装服务请求并发起请求;接收代理商回应报文,将所述代理商回应报文转换成服务回应报文。
可选地,所述封装服务请求之前,包括:确定服务请求报文与代理商定义的服务请求报文一致;其中,当服务请求报文与代理商定义的服务请求报文不一致时,则提取服务请求的信息,然后封装成代理商定义的服务请求报文。
可选地,还包括:获取调用所述代理商服务的结果消息;对所述结果消息进行异常监控。
可选地,对所述结果消息进行异常监控,包括:对所述结果消息进行异常规则集的匹配;将与所述异常规则集匹配成功后的结果通过邮箱发送邮件,同时将所述代理商服务设置成异常状态。
可选地,所述对所述结果消息进行异常规则集的匹配时,包括:根据异常规则集中的时间间隔,对所述结果消息中的失败次数进行一次累加;然后,判断在所述异常规则集的每个时间间隔内失败的次数是否大于异常规则集的失败次数;根据判断结果,如果在异常规则集的每个时间间隔内失败的次数大于异常规则集的失败次数则异常规则集匹配成功;否则,异常规则集匹配失败。
可选地,还包括:展示所述服务注册中心注册的外部服务信息以及所述外部服务的状态。
根据本发明实施例的另一个方面,还提供了一种基于多代理商服务的虚拟业务实现装置,包括:获取模块,用于接收业务请求指令,以获取外部服务信息;查找模块,用于根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息;调用模块,用于通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
根据本发明实施例的另一个方面,还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为建立了服务注册中心,并且服务的获取、注册逻辑由服务注册中心统一管理。而且,服务调用时实现模板化、组件化。因此,本发明实现了新代理商服务的快速接入,具有更好的可扩展性和可维护性。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的基于多代理商服务的虚拟业务实现方法的主要流程的示意图;
图2是根据本发明可参考实施例的基于多代理商服务的虚拟业务实现方法的主要流程的示意图;
图3是根据本发明实施例的基于多代理商服务的虚拟业务实现装置的主要模块的示意图;
图4是根据本发明可参考实施例的基于多代理商服务的虚拟业务实现装置的主要模块的示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的基于多代理商服务的虚拟业务实现方法,如图1所示,所述基于多代理商服务的虚拟业务实现方法包括:
步骤S101,接收业务请求指令,以获取外部服务信息。
其中,接收业务请求指令之后可以解析所述业务请求指令,以获取外部服务信息。
步骤S102,根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息。
在实施例中,如果在服务注册中心没有查找所述外部服务信息对应的代理商服务信息,说明所述外部服务信息对应的代理商服务还没有在所述服务注册中心进行注册,则需要在服务注册中心根据注册策略将所述外部服务信息进行注册。
值得说明的是,所述实施例中构建了一个服务注册中心,外部服务可以以商家ID和服务名称为策略注册到所述服务注册中心。其中,商家ID是指代理商在电商平台上创建线上商家后分配的唯一标识。服务获取则交由所述服务注册中心根据注册策略统一处理。因此,在新接入代理商或者定制特定服务的获取逻辑,只需要在所述服务注册中心完成扩展与定制需求。
其中,所述的特定服务是指:如果业务系统中某个服务的服务注册策略不使用默认策略,则可根据该服务的需求制定特殊的注册策略。而所述的默认策略是指当前系统中服务注册的默认策略,例如:外部服务可以以商家ID和服务名称为策略注册到所述服务注册中心。
步骤S103,通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
在实施例中,对接的代理商服务一般都是外部资源,代理商服务的定义和调用方式不能完全统一。本发明为了屏蔽外部代理商服务声明的差异化和可能存在的变更,根据业务流程梳理出需要的外部服务,声明通用的外部服务定义。而外部服务声明和代理商服务声明的差异,在服务调用过程中完成转换。可以看出,服务调用流程以模板化方式构建,与所述服务注册中心服务接收逻辑隔离、解耦。其中,通用的外部服务定义是为了屏蔽各个代理商服务定义的差异。这个差异主要体现在服务的调用信息和服务的返回信息的差别。在实施例中所述的“在服务调用过程中完成转换”是指调用外部服务时将通用的服务声明转换成代理商的服务声明。
具体地,通用的外部服务包括:服务名称、服务请求/响应报文和服务功能。较佳地,多个代理商的多个服务封装成外部服务后,具体的服务调用流程包括:获取代理商配置信息,以封装服务请求。然后,根据封装的服务请求,发起请求。最后,接收代理商回应报文,将所述代理商回应报文转换成服务回应报文。
优选地,在调用所述代理商服务信息对应的代理商服务时,需要向代理商发送服务请求报文。较佳地,可以对服务请求报文进行封装然后再发送。优选地,在封装所述服务请求报文之前,需要确定发送的服务请求报文与代理商定义的服务请求报文是否一致。根据判断结果,若一致则可以直接封装所述的服务请求报文然后发送;若不一致则需要提取服务请求的信息,然后封装成代理商定义的服务请求报文。例如:业务服务A中声明了一个请求信息phone,含义为手机号;在代理商的服务A中,请求信息代表手机号的为telephone,那么这里的代理商请求报文的封装,就是将业务服务A的phone值赋予代理商服务A的telephone。另外,封装服务请求可以由各个代理商的各个服务根据需求定制实现。
较佳地,可以将服务调用流程进行组件化。进一步地,根据上面所述的服务调用流程可以包括代理商配置组件、封装服务请求组件、请求发送组件以及转换结果组件。因此,将服务的调用流程抽取成统一的调用模板,通用部分组件化,便于维护与扩展,个性化部分由各个代理商根据各自需求定制实现,便于维护。
优选地,代理商配置组件还可以用于提供代理商配置信息的获取与维护。代理商配置信息包括商家ID、服务请求地址、请求密钥、个性化配置等等。进一步地,代理商配置组件可以提供界面维护入口,配置信息最终存储到数据库中。更进一步地,代理商配置组件在获取代理商配置信息时,可以将数据库中的配置信息加载到Redis(Redis是一种基于内存的数据结构存储系统)中,以提高访问效率。
优选地,请求发送组件用于支持多种交互方式实现,并提供统一的请求入口。并且,可根据在代理商个性化配置中维护请求协议名称来切换请求方式,请求组件化能便于请求方式的扩展和切换。
还有,代理商响应报文与业务系统声明也可能存在不一致,各个代理商的各个服务根据需求定制实现,而转换结果组件将所述代理商回应报文转换成服务回应报文。
在本发明另一个实施例中,在进行完步骤S103之后可以进行外部服务质量的监控。进一步地,可以获取调用所述代理商服务的结果消息(即服务回应报文),对所述结果消息进行异常监控。
可以看出,在使用统一监控平台监控外部服务质量的基础上,构建适用业务维度的服务监控和容错机制,从而提高业务系统的健壮性和业务成功率。业务系统外部服务的成功与否一般直接导致业务的成功与否。因而,业务系统服务监控重点关注服务调用结果在业务上是否成功。
作为本发明的又一个实施例,所述基于多代理商服务的虚拟业务实现方法包括对代理商服务进行日常的管理工作。进一步地,服务管理主要是提供界面供运维人员管理、维护代理商服务。更进一步地,服务管理可以包括:注册服务展示、异常服务恢复、异常规则维护等功能。其中,注册服务展示可以展示注册的外部服务基本信息(商家ID、服务名称等)及服务的正常或异常状态。而异常服务恢复和异常规则维护分别可以通过操作界面对异常服务进行人工恢复以及对异常规则的维护。
另外,所述服务管理的异常服务恢复可以为在异常监控过程中,获得服务失败次数超过异常规则中规定的失败次数,则会设置服务为异常,会执行阻塞业务的任务。当运维人员修复问题后,可将服务手动修改为正常状态,并将当前时间之前的服务异常规则信息清空。同时,业务任务会自动重试,重新调用外部服务。
所述服务管理的异常规则维护可以为在服务管理中会提供界面维护异常规则集。
综上所述,可以看出,在各种实施例中所述基于多代理商服务的虚拟业务实现方法实现了业务系统代理商服务交互从整体模块设计上,声明服务定义,将获取、注册逻辑由服务注册中心统一管理,服务调用模板化、组件化,可有效提高系统的可扩展性,支撑业务快速发展,降低系统维护成本。另外,业务系统业务流程,依赖于代理商服务,代理商服务的可靠性,是业务系统正常运行的保障。针对业务系统外部服务,建立有效的业务维度的服务监控机制,能有效提高业务成交量和用户体验。
图2是根据本发明可参考实施例的基于多代理商服务的虚拟业务实现方法的主要流程的示意图,所述基于多代理商服务的虚拟业务实现方法可以包括:
步骤S201,接收业务请求指令,解析所述业务请求指令,以获取外部服务信息。
步骤S202,判断所述外部服务信息是否在服务注册中心已经注册,若在服务注册中心已经注册则直接进行步骤S204,否则进行步骤S203。
步骤S203,服务注册中心根据注册策略将所述外部服务信息进行注册。
在一个较佳地实施例中,服务注册中心包括策略键生成和服务注册容器。所述的策略键是外部服务注册和获取的凭证。而所述的策略键生成是指业务系统注册和获取外部服务,需要指定服务的策略键,这里的策略键生成就是根据生成指定服务的策略键。另外,所述的服务注册容器是指业务系统中维护服务映射关系的系统组件。服务注册中心以策略键为唯一标识,在外部服务注册容器中维护策略键与外部服务的映射关系。优选地,在启动外部服务之前,就要先完成在服务注册中心的服务注册。
其中,服务的注册/获取通过先获取服务策略键,然后根据策略键注册/获取服务的方式实现。策略键生成:通用策略键以商家ID和服务名称组成。进一步地,如果存在特殊的服务注册或获取需求,可以在获取策略键时制定特殊逻辑。例如:所述特殊的服务注册或获取需求是指策略键默认值是商家ID和服务名称,那么特殊的策略键则可以为只根据服务名称作为策略键。
步骤S204,根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息。
较佳地,在调用外部服务时,可以根据服务注册中心的策略键获取外部服务信息对应的代理商服务信息。即服务注册容器存储有外部服务的维护逻辑的键值对,所述的键值对就是策略键与服务一一对应的关系。
步骤S205,通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
步骤S206,获取调用所述代理商服务的结果消息。
步骤S207,对所述结果消息进行异常监控。
在实施例中,在对结果消息进行异常监控时可以在使用统一监控平台监控外部服务质量的基础上,构建适用业务维度的服务监控和容错机制,从而提高业务系统的健壮性和业务成功率。较佳地,在对所述结果消息进行异常监控时可以通过如下过程实现:
首先,在外部服务调用模板的入口增加代理商服务是否异常的校验接口。其中,当通过所述校验接口获得代理商服务状态异常(服务状态异常是系统定义的外部服务状态中的一种,根据外部服务监控的结果设置是否异常。当外部服务状态异常,则不调用代理商服务,暂停当前外部服务调用,待代理商服务恢复后,再次调用。)时,则直接返回调用服务阻塞错误,进而阻塞当前所述业务请求指令的执行。然后,通过所述校验接口获取结果消息并发送至消息中间件平台。其中,所述结果消息(即服务回应报文)可以包括商家ID、服务名称、请求开始时间、请求截止时间、调用时长、成功/失败标识、调用错误描述等信息。另外,所述的消息中间件平台是指电商平台上提供各系统间可靠传递消息及数据的平台。
作为实施例,从消息中间件平台获取所述结果消息,以将所述结果消息写入数据库,作为外部服务调用行为日志。然后,对所述结果消息进行异常规则集的匹配。最后,将与异常规则集匹配成功后的结果通过异常规则告警邮箱发送邮件(例如:可以将所述邮件发送至异常规则中配置的告警邮箱),同时将对应商家ID的代理商服务设置成异常状态。其中,所述的异常规则集包括:商家ID、服务名称、失败次数、时间间隔(例如时间间隔为1分钟、5分钟、30分钟、1小时、6小时或24小时)以及告警邮箱等等。较佳地,本发明还可以对异常监控的异常规则进行管理维护。例如:可以通过提供界面使运维人员对异常规则进行维护。
进一步地,对所述结果消息进行异常规则集匹配时可以通过如下过程:当服务调用的结果消息为失败时,需要匹配异常规则集。首先,获取异常规则集,然后根据所述结果消息中的商家ID和服务名称,轮询所述的异常规则集,以进行异常规则集的校验。
较佳地,进行异常规则集的校验时先根据异常规则集中的时间间隔,对所述结果消息中的失败次数进行一次累加。然后,判断在异常规则集的每个时间间隔内失败的次数是否大于异常规则集的失败次数。根据判断结果,如果在异常规则集的每个时间间隔内失败的次数大于异常规则集的失败次数则异常规则集匹配成功。否则,异常规则集匹配失败。
优选地,异常规则的时间间隔可以以零时零分零秒开始。例如:规则A设置的时间间隔是5分钟,服务调用结果消息中请求截止时间为2017-6-7 19:57:10,那么其中有一个异常规则的时间间隔则为2017-6-7 19:55:00到2017-6-7 19:59:59。
另一个优选地实施例,是将计算获得的在异常规则时间间隔内失败的次数存储在Redis中,以提高读写效率。
另外,在本发明可参考实施例中所述基于多代理商服务的虚拟业务实现方法的具体实施内容,在上面所述基于多代理商服务的虚拟业务实现方法中已经详细说明了,故在此重复内容不再说明。
图3是根据本发明实施例的基于多代理商服务的虚拟业务实现装置,如图3所示,所述基于多代理商服务的虚拟业务实现装置300包括获取模块301、查找模块302和调用模块303。其中,获取模块301接收业务请求指令,以获取外部服务信息。然后,查找模块302根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息。最后,调用模块303通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
作为一个较佳地实施例,获取模块301接收业务请求指令之后可以解析所述业务请求指令,以获取外部服务信息。进一步地,查找模块302在服务注册中心没有查找所述外部服务信息对应的代理商服务信息,说明所述外部服务信息对应的代理商服务还没有在所述服务注册中心进行注册,则需要在服务注册中心根据注册策略将所述外部服务信息进行注册。更进一步地,调用模块303为了屏蔽外部代理商服务声明的差异化和可能存在的变更,根据业务流程梳理出需要的外部服务,声明通用的外部服务定义。而外部服务声明和代理商服务声明的差异,在服务调用过程中完成转换。
优选地,调用模块303的服务调用流程包括:获取代理商配置信息,以封装服务请求。然后,根据封装的服务请求,发起请求。最后,接收代理商回应报文,将所述代理商回应报文转换成服务回应报文。
需要说明的是,在本发明所述基于多代理商服务的虚拟业务实现装置的具体实施内容,在上面所述基于多代理商服务的虚拟业务实现方法中已经详细说明了,故在此重复内容不再说明。
作为所述基于多代理商服务的虚拟业务实现装置可参考的实施例,如图4所示,所述基于多代理商服务的虚拟业务实现装置400包括获取模块401、查找模块402、调用模块403和监控模块404。其中,获取模块401接收业务请求指令,以获取外部服务信息。查找模块402根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息。然后,调用模块403通过预设的调用模板调用所述代理商服务信息对应的代理商服务。最后,监控模块404获取调用所述代理商服务的结果消息,以对所述结果消息进行异常监控。
进一步地,所述监控模块404可以进行外部服务质量的监控。具体地:首先,在外部服务调用模板的入口增加代理商服务是否异常的校验接口。其中,当通过所述校验接口获得代理商服务状态异常(服务状态异常是系统定义的外部服务状态中的一种,根据外部服务监控的结果设置是否异常。当外部服务状态异常,则不调用代理商服务,暂停当前外部服务调用,待代理商服务恢复后,再次调用。)时,则直接返回调用服务阻塞错误,进而阻塞当前所述业务请求指令的执行。然后,通过所述校验接口获取结果消息并发送至消息中间件平台。
从消息中间件平台获取所述结果消息,以将所述结果消息写入数据库,作为外部服务调用行为日志。然后,对所述结果消息进行异常规则集的匹配。最后,将与异常规则集匹配成功后的结果通过异常规则告警邮箱发送邮件(例如:可以将所述邮件发送至异常规则中配置的告警邮箱),同时将对应商家ID的代理商服务设置成异常状态。
较佳地,进行异常规则集的校验时先根据异常规则集中的时间间隔,对所述结果消息中的失败次数进行一次累加。然后,判断在异常规则集的每个时间间隔内失败的次数是否大于异常规则集的失败次数。根据判断结果,如果在异常规则集的每个时间间隔内失败的次数大于异常规则集的失败次数则异常规则集匹配成功。否则,异常规则集匹配失败。优选地,异常规则的时间间隔可以以零时零分零秒开始。另一个优选地实施例,是将计算获得的在异常规则时间间隔内失败的次数存储在Redis中,以提高读写效率。
在另一个实施例中,所述的基于多代理商服务的虚拟业务实现装置400还可以包括管理模块405,能够展示所述服务注册中心注册的外部服务信息以及所述外部服务的状态。进一步地,管理模块405还可以进行异常服务恢复和异常规则维护,而异常服务恢复和异常规则维护分别可以通过操作界面对异常服务进行人工恢复以及对异常规则的维护。
需要说明的是,在本发明所述可参考基于多代理商服务的虚拟业务实现装置的具体实施内容,在上面所述基于多代理商服务的虚拟业务实现方法中已经详细说明了,故在此重复内容不再说明。
图5示出了可以应用本发明实施例的基于多代理商服务的虚拟业务实现方法或基于多代理商服务的虚拟业务实现装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的基于多代理商服务的虚拟业务实现方法可以由服务器505执行,相应地,基于多代理商服务的虚拟业务实现装置可以由服务器505执行。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、查找模块和调用模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收业务请求指令,以获取外部服务信息;根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息;通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
根据本发明实施例的技术方案,因为建立了服务注册中心,并且服务的获取、注册逻辑由服务注册中心统一管理。而且,服务调用时实现模板化、组件化。因此,本发明实现了新代理商服务的快速接入,具有更好的可扩展性和可维护性。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种基于多代理商服务的虚拟业务实现方法,其特征在于,包括:
接收业务请求指令,以获取外部服务信息;
根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息;
通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
2.根据权利要求1所述的方法,其特征在于,在服务注册中心查找到所述外部服务信息对应的代理商服务信息之前,包括:
确定所述外部服务信息在所述服务注册中心已经注册;其中,当所述外部服务信息在所述服务注册中心没有注册时,则所述服务注册中心根据注册策略将所述外部服务信息进行注册。
3.根据权利要求2所述的方法,其特征在于,所述服务注册中心根据注册策略将所述外部服务信息进行注册时,包括:
根据所述外部服务信息,生产所述外部服务的策略键;
存储所述外部服务信息与所述策略键的映射关系。
4.根据权利要求1所述的方法,其特征在于,所述通过预设的调用模板调用所述代理商服务信息对应的代理商服务,包括:
获取代理商配置信息,以封装服务请求并发起请求;
接收代理商回应报文,将所述代理商回应报文转换成服务回应报文。
5.根据权利要求4所述的方法,其特征在于,所述封装服务请求之前,包括:
确定服务请求报文与代理商定义的服务请求报文一致;其中,当服务请求报文与代理商定义的服务请求报文不一致时,则提取服务请求的信息,然后封装成代理商定义的服务请求报文。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取调用所述代理商服务的结果消息;
对所述结果消息进行异常监控。
7.根据权利要求6所述的方法,其特征在于,对所述结果消息进行异常监控,包括:
对所述结果消息进行异常规则集的匹配;
将与所述异常规则集匹配成功后的结果通过邮箱发送邮件,同时将所述代理商服务设置成异常状态。
8.根据权利要求7所述的方法,其特征在于,所述对所述结果消息进行异常规则集的匹配时,包括:
根据异常规则集中的时间间隔,对所述结果消息中的失败次数进行一次累加;然后,判断在所述异常规则集的每个时间间隔内失败的次数是否大于异常规则集的失败次数;根据判断结果,如果在异常规则集的每个时间间隔内失败的次数大于异常规则集的失败次数则异常规则集匹配成功;否则,异常规则集匹配失败。
9.根据权利要求1-8任一所述的方法,其特征在于,还包括:
展示所述服务注册中心注册的外部服务信息以及所述外部服务的状态。
10.一种基于多代理商服务的虚拟业务实现装置,其特征在于,包括:
获取模块,用于接收业务请求指令,以获取外部服务信息;
查找模块,用于根据所述外部服务信息,在服务注册中心查找到所述外部服务信息对应的代理商服务信息;
调用模块,用于通过预设的调用模板调用所述代理商服务信息对应的代理商服务。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
CN201710970302.5A 2017-10-18 2017-10-18 一种基于多代理商服务的虚拟业务实现方法和装置 Pending CN109688174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710970302.5A CN109688174A (zh) 2017-10-18 2017-10-18 一种基于多代理商服务的虚拟业务实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710970302.5A CN109688174A (zh) 2017-10-18 2017-10-18 一种基于多代理商服务的虚拟业务实现方法和装置

Publications (1)

Publication Number Publication Date
CN109688174A true CN109688174A (zh) 2019-04-26

Family

ID=66182763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710970302.5A Pending CN109688174A (zh) 2017-10-18 2017-10-18 一种基于多代理商服务的虚拟业务实现方法和装置

Country Status (1)

Country Link
CN (1) CN109688174A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110650186A (zh) * 2019-09-06 2020-01-03 上海陆家嘴国际金融资产交易市场股份有限公司 接口调用方法、装置、计算机设备和存储介质
CN112286702A (zh) * 2020-10-29 2021-01-29 上海淇玥信息技术有限公司 一种机器人聚合平台的调用方法、装置和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080930A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Method and apparatus for processing service requests in a service-oriented architecture
CN101753477A (zh) * 2008-12-08 2010-06-23 华为技术有限公司 一种业务服务方法、业务服务器及业务服务系统
CN101771693A (zh) * 2010-01-15 2010-07-07 华为技术有限公司 一种传递虚拟运营商数据的方法、装置及系统
US20110302504A1 (en) * 2010-06-08 2011-12-08 Santosh Khare Mobile Application for Proximity Based Awareness System
CN102447708A (zh) * 2012-01-14 2012-05-09 杭州安恒信息技术有限公司 一种应用层透明代理技术的通信实现方法
CN103839135A (zh) * 2014-02-25 2014-06-04 湖州师范学院 一种面向增量制造的资源自主管理方法
CN106888129A (zh) * 2017-04-20 2017-06-23 国家电网公司 一种可弹性伸缩的分布式服务管理系统及其方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050080930A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Method and apparatus for processing service requests in a service-oriented architecture
CN101753477A (zh) * 2008-12-08 2010-06-23 华为技术有限公司 一种业务服务方法、业务服务器及业务服务系统
CN101771693A (zh) * 2010-01-15 2010-07-07 华为技术有限公司 一种传递虚拟运营商数据的方法、装置及系统
US20110302504A1 (en) * 2010-06-08 2011-12-08 Santosh Khare Mobile Application for Proximity Based Awareness System
CN102447708A (zh) * 2012-01-14 2012-05-09 杭州安恒信息技术有限公司 一种应用层透明代理技术的通信实现方法
CN103839135A (zh) * 2014-02-25 2014-06-04 湖州师范学院 一种面向增量制造的资源自主管理方法
CN106888129A (zh) * 2017-04-20 2017-06-23 国家电网公司 一种可弹性伸缩的分布式服务管理系统及其方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110650186A (zh) * 2019-09-06 2020-01-03 上海陆家嘴国际金融资产交易市场股份有限公司 接口调用方法、装置、计算机设备和存储介质
CN112286702A (zh) * 2020-10-29 2021-01-29 上海淇玥信息技术有限公司 一种机器人聚合平台的调用方法、装置和电子设备
CN112286702B (zh) * 2020-10-29 2023-09-22 上海淇玥信息技术有限公司 一种机器人聚合平台的调用方法、装置和电子设备

Similar Documents

Publication Publication Date Title
CN109274731A (zh) 基于多租户技术的web服务的部署、调用方法和装置
CN110245011A (zh) 一种任务调度方法和装置
CN105556919B (zh) 使用服务请求票据进行多因素认证
CN110337075A (zh) 一种基于app业务类型的短信消息发送方法、装置及电子设备
CN110019125A (zh) 数据库管理的方法和装置
CN108897854A (zh) 一种超时任务的监控方法和装置
CN110895472A (zh) 一种识别业务变更的方法和装置
CN110427304A (zh) 用于银行系统的运维方法、装置、电子设备以及介质
CN107729176A (zh) 一种配置文件管理系统的容灾方法及容灾系统
CN107634947A (zh) 限制恶意登录或注册的方法和装置
CN109783151A (zh) 规则变更的方法和装置
CN107835181A (zh) 服务器集群的权限管理方法、装置、介质和电子设备
CN108628669A (zh) 一种调度机器学习算法任务的方法和装置
CN110019158A (zh) 一种监控数据质量的方法和装置
CN109918191A (zh) 一种业务请求防频的方法和装置
CN112631924A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN110515741A (zh) 一种基于本地任务队列的降级处理方法和装置
CN109814957A (zh) 一种用于ios系统的标签添加方法和装置
CN109960212A (zh) 任务发送方法和装置
CN109688174A (zh) 一种基于多代理商服务的虚拟业务实现方法和装置
CN107347093A (zh) 用于分布式服务器系统的配置方法和装置
CN110083501A (zh) 接口调用计数方法和装置
CN110389976A (zh) 一种多接口数据的调度方法和装置
CN110309187A (zh) 一种在saas系统上应用流式计算的方法和装置
CN109145591A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190426