CN109359147A - 业务组件处理方法、组件服务器和系统 - Google Patents
业务组件处理方法、组件服务器和系统 Download PDFInfo
- Publication number
- CN109359147A CN109359147A CN201811127025.2A CN201811127025A CN109359147A CN 109359147 A CN109359147 A CN 109359147A CN 201811127025 A CN201811127025 A CN 201811127025A CN 109359147 A CN109359147 A CN 109359147A
- Authority
- CN
- China
- Prior art keywords
- component
- service component
- calling
- service
- application module
- 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
Links
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
Abstract
本公开提供了一种业务组件处理方法、组件服务器和系统,涉及聊天机器人技术领域。该业务组件处理方法可以包括:将业务组件的注册信息存储在数据库中;响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将该调用信息与在数据库中所存储的注册信息进行匹配;在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件;以及将所获取的业务组件通过统一的接口发送到应答系统应用模块。本公开实现了对业务组件的复用共享,而且在调用过程中,实现了应答系统应用模块对具有不同调用方式的组件的调用。
Description
技术领域
本公开涉及聊天机器人技术领域,特别涉及一种业务组件处理方法、组件服务器和系统。
背景技术
聊天机器人在不同业务场景下需要有不同业务组件支撑以完成具体业务场景的应答。例如在电商场景下需要查询商品组件,用户订单列表组件等,在医疗场景下需要查询病历组件等。在应答逻辑上配置不同的组件就可以完成特定场景业务应答,可以快速复制出不同业务场景的聊天机器人。
在相关技术中,在应答系统应用中开发业务组件代码,应用启动时扫描开发的组件信息并写入数据库。运营人员即在配置平台查看已有组件并可自由配置在不同的机器人中。调用时根据配置找到该组件类信息,本地进行实例化并调用默认组件方法。该方法在单业务场景且业务比较简单的情况下是一种快速方法,一个或少量研发人员在同一个应答系统中根据业务增加组件代码分别上线部署,逐步完成业务需求。但是,当业务量暴增,或需要支持不同业务场景应答时,这时可能会有多个业务团队共同开发组件,不同业务上线时间不一致。
在上述相关技术中,组件只能在应答系统应用本地进行调用,其他应用无法复用共享已有的组件。另外,在调用过程中,应答系统应用可能只能通过一种调用方式调用组件,对于具有其他调用方式的组件则无法调用。
发明内容
本公开的实施例解决的一个技术问题是:提供一种用于聊天机器人的业务组件处理方法,从而实现对具有不同调用方式的组件的调用。
根据本公开实施例的一个方面,提供了一种用于聊天机器人的业务组件处理方法,包括:将业务组件的注册信息存储在数据库中;响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将所述调用信息与在所述数据库中所存储的注册信息进行匹配;在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件;以及将所获取的业务组件通过统一的接口发送到所述应答系统应用模块。
在一些实施例中,所述注册信息包括:业务组件的组件编码和组件方法名称中的至少一个、以及该业务组件的调用方式和调用参数。
在一些实施例中,在将业务组件的注册信息存储在数据库中之前,所述业务组件处理方法还包括:按照所述注册信息所包含的调用方式和调用参数调用业务组件以对所述业务组件进行调用验证;在调用验证成功的情况下,将该业务组件的注册信息存储在数据库中;在调用验证失败的情况下,返回注册失败信息。
在一些实施例中,所述调用信息包括所需要调用的业务组件的组件编码和组件方法名称中的至少一个。
在一些实施例中,将所述调用信息与在所述数据库中所存储的注册信息进行匹配的步骤包括:将所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码进行比较,或者将所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称进行比较;若所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码存在一致的情况,或者所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称存在一致的情况,则匹配成功;否则匹配失败。
在一些实施例中,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件的步骤包括:根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
在一些实施例中,所述调用信息还包括上下文参数;所述业务组件处理方法还包括:根据所述上下文参数和所获取的业务组件查找对应的业务数据,以及将所述业务数据发送到所述应答系统应用模块。
在一些实施例中,所述业务组件处理方法还包括:在所需要调用的业务组件被降级的情况下,向所述应答系统应用模块返回空结果。
在一些实施例中,所述业务组件处理方法还包括:对所获取的业务组件进行监控;对所获取的业务组件进行缓存;和/或在向应答系统应用模块返回的业务组件中添加组件埋点信息,从而对组件调用进行埋点。
根据本公开实施例的另一个方面,提供了一种组件服务器,包括:存储单元,用于将业务组件的注册信息存储在数据库中;匹配单元,用于响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将所述调用信息与在所述数据库中所存储的注册信息进行匹配;获取单元,用于在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件;以及发送单元,用于将所获取的业务组件通过统一的接口发送到所述应答系统应用模块。
在一些实施例中,所述注册信息包括:业务组件的组件编码和组件方法名称中的至少一个、以及该业务组件的调用方式和调用参数。
在一些实施例中,所述组件服务器还包括:验证单元,用于按照所述注册信息所包含的调用方式和调用参数调用业务组件以对所述业务组件进行调用验证,在调用验证成功的情况下,通过所述存储单元将该业务组件的注册信息存储在数据库中,在调用验证失败的情况下,返回注册失败信息。
在一些实施例中,所述调用信息包括所需要调用的业务组件的组件编码和组件方法名称中的至少一个。
在一些实施例中,所述匹配单元用于:将所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码进行比较,或者将所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称进行比较;若所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码存在一致的情况,或者所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称存在一致的情况,则匹配成功;否则匹配失败。
在一些实施例中,所述获取单元用于根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
在一些实施例中,所述调用信息还包括上下文参数;所述获取单元还用于根据所述上下文参数和所获取的业务组件查找对应的业务数据;所述发送单元还用于将所述业务数据发送到所述应答系统应用模块。
在一些实施例中,所述发送单元还用于在所需要调用的业务组件被降级的情况下,向所述应答系统应用模块返回空结果。
在一些实施例中,所述组件服务器还包括:监控单元,用于对所获取的业务组件进行监控;缓存单元,用于对所获取的业务组件进行缓存;和/或埋点单元,用于在向应答系统应用模块返回的业务组件中添加组件埋点信息,从而对组件调用进行埋点。
根据本公开实施例的另一个方面,提供了一种组件服务器,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方法。
根据本公开实施例的另一个方面,提供了一种用于聊天机器人的业务组件处理系统,包括:组件应用模块、应答系统应用模块和如前所述的组件服务器。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的方法的步骤。
在上述业务组件处理方法中,将业务组件的注册信息存储在数据库中。响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将该调用信息与在数据库中所存储的注册信息进行匹配。在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件。将所获取的业务组件通过统一的接口发送到所述应答系统应用模块。该方法可以实现应答系统应用模块对业务组件的复用共享,而且在调用过程中,实现了应答系统应用模块对具有不同调用方式的组件的调用。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是示出根据本公开一些实施例的用于聊天机器人的业务组件处理方法的流程图;
图2是示出根据本公开另一些实施例的用于聊天机器人的业务组件处理方法的流程图;
图3是示出根据本公开一些实施例的组件服务器的结构图;
图4是示出根据本公开另一些实施例的组件服务器的结构图;
图5是示出根据本公开另一些实施例的组件服务器的结构图;
图6是示出根据本公开另一些实施例的组件服务器的结构图;
图7是示出根据本公开一些实施例的用于聊天机器人的业务组件处理系统的结构图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本公开一些实施例的用于聊天机器人的业务组件处理方法的流程图。如图1所示,该业务组件处理方法可以包括步骤S102~S108。
在步骤S102,将业务组件的注册信息存储在数据库中。
例如,可以利用组件应用模块根据组件开发规范开发业务组件代码并发布到线上。组件应用模块可以根据自身需求部署成RPC(Remote Procedure Call,远程过程调用)服务、http(HyperText Transfer Protocol,超文本传输协议)服务或者打包成包由组件服务器(或者称为组件市场服务器)本地进行加载运行。
在一些实施例中,业务组件可以是用于生成订单列表、商品列表、优惠券列表、价保申请、促销活动、催单申请、医生列表或病例信息等的业务组件代码。
在一些实施例中,开发者可以在界面上填写该业务组件的注册信息。例如,该注册信息可以包括:业务组件的组件编码和组件方法名称中的至少一个、以及该业务组件的调用方式和调用参数。例如,该调用方式可以包括:RPC方式、http方式或本地调用方式等。在一些实施例中,该调用参数可以包括调用接口名称和调用接口参数等。例如,调用接口名称可以包括http的URL(Uniform Resource Locator、统一资源定位符)、RPC的程序类等。例如,调用接口参数可以包括接口token(令牌)等。在另一些实施例中,该调用参数还可以包括业务固定参数。例如,可以通过业务固定参数标识是否为虚拟订单业务组件,或者可以通过不同的业务固定参数标识不同的业务组件等。
在本公开的实施例中,可以设置组件服务器。该组件服务器在通过界面接收到业务组件的注册信息后,将该业务组件的注册信息存储在数据库中。
在一些实施例中,在将业务组件的注册信息存储在数据库中之前,所述业务组件处理方法还可以包括:按照注册信息所包含的调用方式和调用参数调用业务组件以对该业务组件进行调用验证;在调用验证成功的情况下,将该业务组件的注册信息存储在数据库中;在调用验证失败的情况下,返回注册失败信息。
例如,组件服务器在接收到业务组件的注册信息后,利用该注册信息对业务组件进行调用验证,即按照注册信息所包含的调用方式和调用参数调用业务组件。如果调用成功,则表明该注册信息正确,将该注册信息存储在数据库中。如果调用失败,表明该注册信息错误,则返回注册失败信息。这样可以保证组件服务器利用注册信息实现对业务组件的调用。
在步骤S104,响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将该调用信息与在数据库中所存储的注册信息进行匹配。
在一些实施例中,调用信息可以包括所需要调用的业务组件的组件编码和组件方法名称中的至少一个。
例如,应答系统应用模块可以将该调用信息发送到组件服务器。例如,在数据库存储业务组件的组件编码的情况下,应答系统应用模块所发送的调用信息可以包括所需要调用的业务组件的组件编码。又例如,在数据库存储业务组件的组件方法名称的情况下,应答系统应用模块所发送的调用信息可以包括所需要调用的业务组件的组件方法名称。该组件服务器将该调用信息与在数据库中所存储的注册信息进行匹配。
在一些实施例中,将调用信息与在数据库中所存储的注册信息进行匹配的步骤可以包括:将所需要调用的业务组件的组件编码与在数据库中所存储的业务组件的组件编码进行比较,或者将所需要调用的业务组件的组件方法名称与在数据库中所存储的业务组件的组件方法名称进行比较;若所需要调用的业务组件的组件编码与在数据库中所存储的业务组件的组件编码存在一致的情况,或者所需要调用的业务组件的组件方法名称与在数据库中所存储的业务组件的组件方法名称存在一致的情况,则匹配成功;否则匹配失败。
例如,组件服务器查询数据库中是否存在与所需要调用的业务组件的组件编码或组件方法名称是否一致的组件编码或组件方法名称,如果存在,则表示匹配成功;否则匹配失败。
在步骤S106,在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件。
在一些实施例中,该步骤S106可以包括:根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
例如,所匹配成功的注册信息所包括的业务组件的调用方式是http方式,则组件服务器从对应的组件应用模块利用该http方式和相应的调用参数调用业务组件。该被调用的业务组件就是应答系统应用模块所需要的业务组件。
在步骤S108,将所获取的业务组件通过统一的接口发送到应答系统应用模块。
例如,组件服务器在从组件应用模块获取到所需要调用的业务组件后,将该业务组件发送到应答系统应用模块。这样该应答系统应用模块就实现了对业务组件的调用。
至此,提供了根据本公开一些实施例的用于聊天机器人的业务组件处理方法。在该方法中,将业务组件的注册信息存储在数据库中。响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将该调用信息与在数据库中所存储的注册信息进行匹配。在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件。将所获取的业务组件通过统一的接口发送到应答系统应用模块。该方法可以实现应答系统应用模块对业务组件的复用共享,而且在调用过程中,实现了应答系统应用模块对具有不同调用方式的组件的调用。
在一些实施例中,调用信息还可以包括上下文参数。例如该上下文参数可以包括与应答系统应用模块交流的用户的信息。所述业务组件处理方法还可以包括:根据上下文参数和所获取的业务组件(例如从数据库)查找对应的业务数据,以及将该业务数据发送到应答系统应用模块。
例如,应答系统应用模块获取到用户身份信息,将该信息作为上下文参数发送到组件服务器。组件服务器在获取到业务组件后,根据该上下文参数和所获取的业务组件从数据库查找对应的订单数据,生成该用户的订单列表,并将该订单列表发送到应答系统应用模块。
在一些实施例中,所述业务组件处理方法还可以包括:在所需要调用的业务组件被降级的情况下,向应答系统应用模块返回空结果。
例如,对于某个或某些业务组件,组件服务器发现这些业务组件出现错误或者容易造成系统崩溃等,则将这些业务组件的使用等级降低。当应答系统应用模块请求调用这些业务组件时,组件服务器向应答系统应用模块返回空结果。从而防止由这些业务组件造成的不良结果。
在一些实施例中,所述业务组件处理方法还可以包括:对所获取的业务组件进行监控。
例如,组件服务器可以对业务组件的使用或调用情况进行监控,例如统计业务组件的使用次数等。这样当应答系统应用模块请求调用业务组件时,可以方便组件服务器向应答系统应用模块返回使用次数比较多的业务组件。
在一些实施例中,所述业务组件处理方法还可以包括:对所获取的业务组件进行缓存。
例如,组件服务器在获取到业务组件后,可以对该业务组件进行缓存。这样当应答系统应用模块请求调用该业务组件时,可以使得组件服务器及时地向应答系统应用模块返回该业务组件,提高响应速度和效率。
在一些实施例中,所述业务组件处理方法还可以包括:在向应答系统应用模块返回的业务组件中添加组件埋点信息,从而对组件调用进行埋点。
通过上述这些实施例,可以实现对业务组件调用进行基础服务治理。例如调用监控、结果数据缓存、组件埋点、降级、限流等。
图2是示出根据本公开另一些实施例的用于聊天机器人的业务组件处理方法的流程图。如图2所示,该方法可以包括步骤S202~S216。
在步骤S202,按照注册信息所包含的调用方式和调用参数调用业务组件以对业务组件进行调用验证。
例如,该注册信息可以包括:业务组件的组件编码、调用方式和调用参数。
在步骤S204,判断是否调用验证成功。如果是,则过程进入步骤206,否则过程进入步骤S208。
在步骤S206,将业务组件的注册信息存储在数据库中。
在一些实施例中,在调用验证的过程中,可以从系统自动获取业务组件的组件方法名称。在调用验证成功后,将业务组件的组件编码、组件方法名称、调用方式和调用参数均存储在数据库中。
在步骤S208,返回注册失败信息。
在步骤S210,接收来自于应答系统应用模块的所需要调用的业务组件的调用信息。
例如,该调用信息可以包括上下文参数、业务组件的组件编码和组件方法名称等。
在步骤S212,将调用信息与在数据库中所存储的注册信息进行匹配。如果匹配成功,则过程进入步骤S214。如果匹配失败,则过程返回步骤S210。
例如,将所需要调用的业务组件的组件编码和组件方法名称与在数据库中所存储的业务组件的组件编码和组件方法名称进行比较。若存在一致的情况,则匹配成功;否则匹配失败。
在步骤S214,根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
在步骤S216,将所获取的业务组件通过统一的接口发送到应答系统应用模块。
至此,提供了根据本公开另一些实施例的用于聊天机器人的业务组件处理方法。该方法可以提供统一的组件调用服务,对注册的各种组件进行规范调用,其他系统需要调用组件时可以通过该服务进行调用。这样无需重复开发业务代码,并降低应答系统应用模块与组件应用模块的耦合性。
图3是示出根据本公开一些实施例的组件服务器的结构图。如图3所示,该组件服务器可以包括存储单元302、匹配单元304、获取单元306和发送单元308。
该存储单元302可以用于将业务组件的注册信息存储在数据库中。
在一些实施例中,该注册信息可以包括:业务组件的组件编码和组件方法名称中的至少一个、以及该业务组件的调用方式和调用参数。
该匹配单元304可以用于响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将该调用信息与在数据库中所存储的注册信息进行匹配。
在一些实施例中,调用信息可以包括所需要调用的业务组件的组件编码和组件方法名称中的至少一个。
该获取单元306可以用于在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件。
该发送单元308可以用于将所获取的业务组件通过统一的接口发送到应答系统应用模块。
在上述实施例中,提供了根据本公开一些实施例的组件服务器。在该组件服务器中,存储单元将业务组件的注册信息存储在数据库中。匹配单元响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将该调用信息与在数据库中所存储的注册信息进行匹配。获取单元在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件。发送单元将所获取的业务组件通过统一的接口发送到应答系统应用模块。该组件服务器可以实现应答系统应用模块对业务组件的复用共享,而且在调用过程中,实现了对具有不同调用方式的组件的调用。
在一些实施例中,匹配单元304可以用于:将所需要调用的业务组件的组件编码与在数据库中所存储的业务组件的组件编码进行比较,或者将所需要调用的业务组件的组件方法名称与在数据库中所存储的业务组件的组件方法名称进行比较;若所需要调用的业务组件的组件编码与在数据库中所存储的业务组件的组件编码存在一致的情况,或者所需要调用的业务组件的组件方法名称与在数据库中所存储的业务组件的组件方法名称存在一致的情况,则匹配成功;否则匹配失败。
在一些实施例中,获取单元306可以用于根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
在一些实施例中,调用信息还可以包括上下文参数。获取单元306还可以用于根据该上下文参数和所获取的业务组件查找对应的业务数据。发送单元308还可以用于将该业务数据发送到应答系统应用模块。
在一些实施例中,发送单元308还可以用于在所需要调用的业务组件被降级的情况下,向应答系统应用模块返回空结果。
图4是示出根据本公开另一些实施例的组件服务器的结构图。如图4所示,该组件服务器可以包括存储单元302、匹配单元304、获取单元306和发送单元308。
在一些实施例中,如图4所示,该组件服务器还可以包括验证单元410。该验证单元410可以用于按照注册信息所包含的调用方式和调用参数调用业务组件以对业务组件进行调用验证,在调用验证成功的情况下,通过存储单元302将该业务组件的注册信息存储在数据库中,在调用验证失败的情况下,返回注册失败信息。
在一些实施例中,如图4所示,该组件服务器还可以包括监控单元412。该监控单元412可以用于对所获取的业务组件进行监控。
在一些实施例中,如图4所示,该组件服务器还可以包括缓存单元414。该缓存单元414可以用于对所获取的业务组件进行缓存。
在一些实施例中,如图4所示,该组件服务器还可以包括埋点单元416。该埋点单元416可以用于在向应答系统应用模块返回的业务组件中添加组件埋点信息,从而对组件调用进行埋点。
图5是示出根据本公开另一些实施例的组件服务器的结构图。该组件服务器包括存储器510和处理器520。其中:
存储器510可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1和/或图2所对应实施例中的指令。
处理器520耦接至存储器510,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器520用于执行存储器中存储的指令,从而实现应答系统应用模块对业务组件的复用共享,而且在调用过程中,实现了对具有不同调用方式的组件的调用。
在一些实施例中,还可以如图6所示,该组件服务器600包括存储器610和处理器620。处理器620通过BUS总线630耦合至存储器610。该组件服务器600还可以通过存储接口640连接至外部存储装置650以便调用外部数据,还可以通过网络接口660连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,从而实现应答系统应用模块对业务组件的复用共享,而且在调用过程中,实现了对具有不同调用方式的组件的调用。
在本公开的一些实施例中,各业务组件可以独立开发,可通过自由热插拔的方式注册到组件服务器,且支持多种方式注册。提供统一的组件调用服务,对注册到组件服务器的各种组件进行规范调用,任何系统需要调用组件都可以通过该服务进行调用,无需重复开发业务代码,而且降低应答系统与业务的耦合性。支持方法级别的组件开发,同种业务不同组件可以以不同方法进行提供,以减少冗余代码,提升开发效率。组件支持传参和多次注册,同一个组件类可以根据传参重复注册为不同业务组件,减少重复代码开发工作量。
图7是示出根据本公开一些实施例的用于聊天机器人的业务组件处理系统的结构图。
例如,如图7所示,业务组件处理系统可以包括组件应用模块711~714、应答系统应用模块721~724和组件服务器730。例如,该组件服务器730可以包括图3、图4、图5或图6所示的组件服务器。例如,应答系统应用模块可以包括规则树配置应用模块或者答案配置应用模块等。
需要说明的是,这里组件应用模块711~714、应答系统应用模块721~724仅是示例性的。本公开的范围并不仅限于这里所公开的组件应用模块和应答系统应用模块。
在一些实施例中,组件应用模块(例如组件应用模块711~714)可以用于按照组件规范开发业务组件并提供组件服务。例如,组件应用模块可以根据组件开发规范开发组件代码并发布到线上,可根据自身需求部署成RPC服务、http服务或打包成包由组件服务器在本地进行加载运行。
当组件开发测试完并发布到线上后,可以到组件服务器730进行注册操作。根据组件应用模块的部署方式选择不同组件调用方式,并配置组件调用信息,如RPC调用的分组别名,token参数或者http服务地址等。这里还可以配置组件业务具体参数,当组件被调用时会自动将配置的参数加入到参数列表进行调用。
例如,组件调用服务可以支持:RPC远程调用、http服务调用、以及本地代码加载等方式。另外,支持方式可以根据需要动态扩展。
在一些实施例中,组件服务器730可以管理注册的组件信息。当一个业务组件成功注册到该组件服务器后,应答系统应用模块(例如应答系统应用模块721~724)可以查看该业务组件的基本信息,如组件入参出参、功能描述、使用限制等。组件服务器可以提供调用该组件所需的组件编码和组件方法名称等基本参数。应答系统应用模块可以根据需要选择合适组件进行配置使用。例如,推送模板可以选择配置邀评组件,向客户推送服务评价的邀请。
在一些实施例中,组件服务器730还可以提供组件缓存策略配置、组件的调用监控报表数据查看等功能,以管理和维护已注册的组件。
在一些实施例中,可以将对组件的调用形成一个独立的服务,外部应用可以通过该服务统一的对组件进行调用。例如,该服务调用参数包括组件编码、组件方法名称以及上下文参数等。该调用服务可以根据组件编码及组件方法名称从数据库中查询组件配置信息(注册时提供的),根据调用类型找到不同的执行器,并进行组件真实服务调用。
如果该组件被降级则直接返回空结果。在调用过程中该调用服务可以自动为其添加监控。如果组件配置缓存策略,则可以对调用结果进行缓存。如果返回结果包含组件埋点信息,则可以对组件调用进行埋点。
在一些实施例中,应答系统应用模块(例如应答系统应用模块721~724)可以在用户发送一条消息后,对这条消息进行语义分析、意图判断、业务分类、答案生成、消息投递等一系列后台主流程应用。为了实现业务应答能力,其中一个或多个应用模块都可以调用业务组件。
在一些实施例中,应答系统应用模块可以从规则树配置或者答案配置中获取需要调用组件的组件编码和方法名,调用组件调用服务获取组件结果数据,用于规则判断或出答案。或者,应答系统应用模块也可以根据业务需要从组件服务器查找符合自己业务需求的组件编码和组件方法名称,通过组件服务调用获取需要的业务数据。这样解耦业务与应答系统的耦合性,也避免应答系统应用模块重复与外部系统进行数据对接,提升业务支持效率。
在本公开的一些实施例中,将组件注册和组件调用分别作为独立的服务。组件应用模块可独立开发组件并注册到组件服务器,解决组件开发并行问题。多种接入方式支持,研发可以按需使用接入方式开发组件,极大提升组件开发效率。组件服务器对注册组件提供统一查询服务和管理功能,支持监控缓存以及限流等自由配置。
该组件服务器可以实现统一的组件调用服务。应答系统可以标准化调用组件,无需与外部业务系统进行不同类型数据对接,降低应答系统业务耦合性。组件支持传参并可多次注册,减少重复代码开发,提升组件复用性。提供多样化的组件服务治理,调用监控、结果缓存、业务埋点以及限流降级。另外,组件开发和调用只需关心业务,省时省力。
在另一些实施例中,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1和/或图2所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
Claims (21)
1.一种用于聊天机器人的业务组件处理方法,包括:
将业务组件的注册信息存储在数据库中;
响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将所述调用信息与在所述数据库中所存储的注册信息进行匹配;
在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件;以及
将所获取的业务组件通过统一的接口发送到所述应答系统应用模块。
2.根据权利要求1所述的业务组件处理方法,其中,
所述注册信息包括:业务组件的组件编码和组件方法名称中的至少一个、以及该业务组件的调用方式和调用参数。
3.根据权利要求2所述的业务组件处理方法,其中,在将业务组件的注册信息存储在数据库中之前,所述业务组件处理方法还包括:
按照所述注册信息所包含的调用方式和调用参数调用业务组件以对所述业务组件进行调用验证;
在调用验证成功的情况下,将该业务组件的注册信息存储在数据库中;
在调用验证失败的情况下,返回注册失败信息。
4.根据权利要求2所述的业务组件处理方法,其中,
所述调用信息包括所需要调用的业务组件的组件编码和组件方法名称中的至少一个。
5.根据权利要求4所述的业务组件处理方法,其中,
将所述调用信息与在所述数据库中所存储的注册信息进行匹配的步骤包括:
将所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码进行比较,或者将所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称进行比较;
若所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码存在一致的情况,或者所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称存在一致的情况,则匹配成功;否则匹配失败。
6.根据权利要求2所述的业务组件处理方法,其中,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件的步骤包括:
根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
7.根据权利要求4所述的业务组件处理方法,其中,
所述调用信息还包括上下文参数;
所述业务组件处理方法还包括:根据所述上下文参数和所获取的业务组件查找对应的业务数据,以及将所述业务数据发送到所述应答系统应用模块。
8.根据权利要求1所述的业务组件处理方法,还包括:
在所需要调用的业务组件被降级的情况下,向所述应答系统应用模块返回空结果。
9.根据权利要求1所述的业务组件处理方法,还包括:
对所获取的业务组件进行监控;
对所获取的业务组件进行缓存;和/或
在向应答系统应用模块返回的业务组件中添加组件埋点信息,从而对组件调用进行埋点。
10.一种组件服务器,包括:
存储单元,用于将业务组件的注册信息存储在数据库中;
匹配单元,用于响应于来自于应答系统应用模块的所需要调用的业务组件的调用信息,将所述调用信息与在所述数据库中所存储的注册信息进行匹配;
获取单元,用于在匹配成功情况下,通过对应的业务组件的调用方式从对应的组件应用模块获取所需要调用的业务组件;以及
发送单元,用于将所获取的业务组件通过统一的接口发送到所述应答系统应用模块。
11.根据权利要求10所述的组件服务器,其中,
所述注册信息包括:业务组件的组件编码和组件方法名称中的至少一个、以及该业务组件的调用方式和调用参数。
12.根据权利要求11所述的组件服务器,还包括:
验证单元,用于按照所述注册信息所包含的调用方式和调用参数调用业务组件以对所述业务组件进行调用验证,在调用验证成功的情况下,通过所述存储单元将该业务组件的注册信息存储在数据库中,在调用验证失败的情况下,返回注册失败信息。
13.根据权利要求11所述的组件服务器,其中,
所述调用信息包括所需要调用的业务组件的组件编码和组件方法名称中的至少一个。
14.根据权利要求13所述的组件服务器,其中,
所述匹配单元用于:将所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码进行比较,或者将所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称进行比较;若所需要调用的业务组件的组件编码与在所述数据库中所存储的业务组件的组件编码存在一致的情况,或者所需要调用的业务组件的组件方法名称与在所述数据库中所存储的业务组件的组件方法名称存在一致的情况,则匹配成功;否则匹配失败。
15.根据权利要求11所述的组件服务器,其中,
所述获取单元用于根据所匹配成功的注册信息所包括的业务组件的调用方式和调用参数从对应的组件应用模块获取所需要调用的业务组件。
16.根据权利要求13所述的组件服务器,其中,
所述调用信息还包括上下文参数;
所述获取单元还用于根据所述上下文参数和所获取的业务组件查找对应的业务数据;
所述发送单元还用于将所述业务数据发送到所述应答系统应用模块。
17.根据权利要求10所述的组件服务器,其中,
所述发送单元还用于在所需要调用的业务组件被降级的情况下,向所述应答系统应用模块返回空结果。
18.根据权利要求10所述的组件服务器,还包括:
监控单元,用于对所获取的业务组件进行监控;
缓存单元,用于对所获取的业务组件进行缓存;和/或
埋点单元,用于在向应答系统应用模块返回的业务组件中添加组件埋点信息,从而对组件调用进行埋点。
19.一种组件服务器,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至9任意一项所述的方法。
20.一种用于聊天机器人的业务组件处理系统,包括:
组件应用模块、应答系统应用模块和如权利要求10至19任意一项所述的组件服务器。
21.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如权利要求1至9任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811127025.2A CN109359147B (zh) | 2018-09-27 | 2018-09-27 | 业务组件处理方法、组件服务器和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811127025.2A CN109359147B (zh) | 2018-09-27 | 2018-09-27 | 业务组件处理方法、组件服务器和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359147A true CN109359147A (zh) | 2019-02-19 |
CN109359147B CN109359147B (zh) | 2021-01-26 |
Family
ID=65347780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811127025.2A Active CN109359147B (zh) | 2018-09-27 | 2018-09-27 | 业务组件处理方法、组件服务器和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359147B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110244990A (zh) * | 2019-04-29 | 2019-09-17 | 五八有限公司 | 应用组件调用方法、装置、电子设备及存储介质 |
CN110502551A (zh) * | 2019-08-02 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 数据读写方法、系统及架构组件 |
CN110597972A (zh) * | 2019-09-16 | 2019-12-20 | 京东数字科技控股有限公司 | 对话机器人生成方法、对话机器人管理平台及存储介质 |
CN110825448A (zh) * | 2019-09-18 | 2020-02-21 | 五八有限公司 | 实现多业务模块相互调用的方法、装置、电子设备和存储介质 |
CN111158777A (zh) * | 2019-12-12 | 2020-05-15 | 中移(杭州)信息技术有限公司 | 组件调用方法、装置及计算机可读存储介质 |
CN113204483A (zh) * | 2021-04-21 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 应用检测方法、装置、服务器、检测程序组件以及存储介质 |
CN114938387A (zh) * | 2022-07-22 | 2022-08-23 | 浙江中控技术股份有限公司 | 一种数据传输方法、装置、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078995A (zh) * | 2012-12-18 | 2013-05-01 | 苏州思必驰信息科技有限公司 | 一种在移动终端使用的可定制的个性化应答方法和系统 |
CN104160389A (zh) * | 2012-03-05 | 2014-11-19 | 国际商业机器公司 | 通过具有非例示内容的智能事件的动态用户界面聚合 |
CN105681254A (zh) * | 2014-11-18 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种用户身份验证方法及装置 |
CN106599015A (zh) * | 2016-08-31 | 2017-04-26 | 重庆车杰盟科技有限公司 | 一种数据服务管理系统及其方法 |
CN106951491A (zh) * | 2017-03-14 | 2017-07-14 | 广东工业大学 | 一种应用于机器人的智能对话控制方法及装置 |
CN107797854A (zh) * | 2017-06-26 | 2018-03-13 | 平安科技(深圳)有限公司 | 交易文件处理方法、装置、存储介质和计算机设备 |
-
2018
- 2018-09-27 CN CN201811127025.2A patent/CN109359147B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104160389A (zh) * | 2012-03-05 | 2014-11-19 | 国际商业机器公司 | 通过具有非例示内容的智能事件的动态用户界面聚合 |
CN103078995A (zh) * | 2012-12-18 | 2013-05-01 | 苏州思必驰信息科技有限公司 | 一种在移动终端使用的可定制的个性化应答方法和系统 |
CN105681254A (zh) * | 2014-11-18 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种用户身份验证方法及装置 |
CN106599015A (zh) * | 2016-08-31 | 2017-04-26 | 重庆车杰盟科技有限公司 | 一种数据服务管理系统及其方法 |
CN106951491A (zh) * | 2017-03-14 | 2017-07-14 | 广东工业大学 | 一种应用于机器人的智能对话控制方法及装置 |
CN107797854A (zh) * | 2017-06-26 | 2018-03-13 | 平安科技(深圳)有限公司 | 交易文件处理方法、装置、存储介质和计算机设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110244990A (zh) * | 2019-04-29 | 2019-09-17 | 五八有限公司 | 应用组件调用方法、装置、电子设备及存储介质 |
CN110502551A (zh) * | 2019-08-02 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 数据读写方法、系统及架构组件 |
CN110597972A (zh) * | 2019-09-16 | 2019-12-20 | 京东数字科技控股有限公司 | 对话机器人生成方法、对话机器人管理平台及存储介质 |
US11979361B2 (en) | 2019-09-16 | 2024-05-07 | Jingdong Technology Holding Co., Ltd. | Dialogue robot generation method, dialogue robot management platform, and storage medium |
CN110825448A (zh) * | 2019-09-18 | 2020-02-21 | 五八有限公司 | 实现多业务模块相互调用的方法、装置、电子设备和存储介质 |
CN110825448B (zh) * | 2019-09-18 | 2023-10-27 | 五八有限公司 | 实现多业务模块相互调用的方法、装置、电子设备和存储介质 |
CN111158777A (zh) * | 2019-12-12 | 2020-05-15 | 中移(杭州)信息技术有限公司 | 组件调用方法、装置及计算机可读存储介质 |
CN111158777B (zh) * | 2019-12-12 | 2023-10-27 | 中移(杭州)信息技术有限公司 | 组件调用方法、装置及计算机可读存储介质 |
CN113204483A (zh) * | 2021-04-21 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 应用检测方法、装置、服务器、检测程序组件以及存储介质 |
CN114938387A (zh) * | 2022-07-22 | 2022-08-23 | 浙江中控技术股份有限公司 | 一种数据传输方法、装置、系统及存储介质 |
CN114938387B (zh) * | 2022-07-22 | 2022-11-11 | 浙江中控技术股份有限公司 | 一种数据传输方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109359147B (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359147A (zh) | 业务组件处理方法、组件服务器和系统 | |
CN108415784B (zh) | 跨区块链的交互方法及装置、系统、电子设备 | |
CN101313495B (zh) | 数据同步方法、系统及装置 | |
CN109117097A (zh) | 一种基于区块链的数据存储方法及系统 | |
CN109558748A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112488679A (zh) | 一种区块链的跨链合约解析方法、中继链及跨链系统 | |
CN108550041A (zh) | 保护原创作品的方法、装置和终端 | |
CN108809932A (zh) | 一种基于区块链的存证系统、方法及可读介质 | |
CN104346365A (zh) | 确定与特定业务相关的关联日志的方法和装置 | |
CN112000730B (zh) | 基于区块链的溯源信息写入、溯源信息验证的方法、系统 | |
CN109829726A (zh) | 一种基于区块链的药品信息管理方法及系统 | |
CN108512821A (zh) | 数据传输方法、装置和系统及网闸以及交易数据存储方法 | |
CN102834806A (zh) | 系统结构管理设备、系统结构管理方法和程序 | |
CN109376172A (zh) | 基于区块链的数据获取方法和系统 | |
CN109101241A (zh) | 一种区块链安装包生成方法及其装置、电子设备 | |
CN105471968A (zh) | 一种数据交换方法、系统以及数据平台服务器 | |
CN109005208A (zh) | 用于推送信息的方法和装置 | |
CN113095825B (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
CN104054308B (zh) | 应用层资源选择的方法、装置和系统 | |
WO2023125773A1 (zh) | 大规模微服务集群场景下的全局异常处理方法和平台 | |
WO2023092986A1 (zh) | 基于分布式身份标识的数据跨链转移和系统 | |
CN112804357B (zh) | 一种基于中继设备网络跨链读取数据的方法和装置 | |
CN113095824B (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
US11582345B2 (en) | Context data management interface for contact center | |
US20050076135A1 (en) | UDDI web service registry system based on an ebXML registry and management method therefor |
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 |