CN116400962A - 指令处理方法、装置及计算机程序产品 - Google Patents

指令处理方法、装置及计算机程序产品 Download PDF

Info

Publication number
CN116400962A
CN116400962A CN202310331395.2A CN202310331395A CN116400962A CN 116400962 A CN116400962 A CN 116400962A CN 202310331395 A CN202310331395 A CN 202310331395A CN 116400962 A CN116400962 A CN 116400962A
Authority
CN
China
Prior art keywords
instruction
target
determining
center
response
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
CN202310331395.2A
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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202310331395.2A priority Critical patent/CN116400962A/zh
Publication of CN116400962A publication Critical patent/CN116400962A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供了一种指令处理方法、装置、电子设备、存储介质及程序产品,涉及计算机技术领域,具体为人工智能、语音交互等技术领域,可应用于语音交互场景下。具体实现方案为:通过指令中心统一执行如下指令处理操作:接收针对目标产品对象中的各页面的目标指令;解析目标指令,得到目标指令信息;根据目标指令信息,确定目标指令对应的指令响应方法;根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。本公开提高了目标产品对象的代码的可读性,降低了目标产品对象的代码的开发难度和维护难度。

Description

指令处理方法、装置及计算机程序产品
技术领域
本公开涉及计算机技术领域,具体为人工智能、语音交互等技术领域,尤其涉及指令处理方法、装置、电子设备、存储介质以及计算机程序产品,可应用于语音交互场景下。
背景技术
语音交互是人工智能产品通常具备的功能,需要人工智能产品支持各种各样的语音指令。语音指令,不仅包括应用启动、功能页面跳转、返回、退出等全局生效的指令,也包括在某一个页面或某一项功能中生效的局部指令。随着指令类型种类的增加,使得人工智能产品的代码可读性差,开发难度大,可维护性差。
发明内容
本公开提供了一种指令处理方法、装置、电子设备、存储介质以及计算机程序产品。
根据第一方面,提供了一种指令处理方法,包括:通过指令中心统一执行如下指令处理操作:接收针对目标产品对象中的各页面的目标指令;解析目标指令,得到目标指令信息;根据目标指令信息,确定目标指令对应的指令响应方法;根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
根据第二方面,提供了一种指令处理装置,包括:通过指令中心统一执行如下指令处理操作:接收单元,被配置成接收针对目标产品对象中的各页面的目标指令;解析单元,被配置成解析目标指令,得到目标指令信息;确定单元,被配置成根据目标指令信息,确定目标指令对应的指令响应方法;响应单元,被配置成根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面任一实现方式描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面任一实现方式描述的方法。
根据第五方面,提供了一种计算机程序产品,包括:计算机程序,计算机程序在被处理器执行时实现如第一方面任一实现方式描述的方法。
根据本公开的技术,提供了一种指令处理方法,通过目标产品对象中设置的指令中心统一执行指令的接收、解析、响应等指令处理操作;对于目标产品对象所支持的各种指令,目标产品对象中的各页面中不必设置对应的指令处理逻辑,目标产品对象所支持的所有指令的处理逻辑均设置于指令中心,技术人员可以在指令中心中进行指令的开发、维护,提高了目标产品对象的代码的可读性,降低了目标产品对象的代码的开发难度和维护难度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例可以应用于其中的示例性***架构图;
图2是根据本公开的指令处理方法的一个实施例的流程图;
图3是根据本实施例的指令处理方法的应用场景的示意图;
图4是根据本公开的指令处理方法的又一个实施例的流程图;
图5根据本公开的指令处理方法的指令中心的结构流程图;
图6是根据本公开的指令处理装置的一个实施例的结构图;
图7是适于用来实现本公开实施例的计算机***的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的指令处理方法及装置的示例性架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。终端设备101、102、103之间通信连接构成拓扑网络,网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103可以是支持网络连接从而进行数据交互和数据处理的硬件设备或软件。当终端设备101、102、103为硬件时,其可以是支持网络连接,信息获取、交互、显示、处理等功能的各种电子设备,包括但不限于智能音箱、智能显示屏、智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如,基于终端设备101、102、103接收指令,通过目标产品对象中设置的指令中心统一执行指令的接收、解析、响应等指令处理操作的后台处理服务器。作为示例,服务器105可以是云端服务器。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
还需要说明的是,本公开的实施例所提供的指令处理方法可以由服务器执行,也可以由终端设备执行,还可以由服务器和终端设备彼此配合执行。相应地,指令处理装置包括的各个部分(例如各个单元)可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。当指令处理方法运行于其上的电子设备不需要与其他电子设备进行数据传输时,该***架构可以仅包括指令处理方法运行于其上的电子设备(例如服务器或终端设备)。
请参考图2,图2为本公开实施例提供的一种指令处理方法的流程图,其中,在流程200中,指令处理方法的执行主体(例如,图1中的终端设备或服务器)通过指令中心统一执行指令处理操作,指令处理操作包括以下步骤:
步骤201,接收针对目标产品对象中的各页面的目标指令。
本实施例中,指令处理方法的执行主体(例如,图1中的终端设备或服务器)可以通过有线网络连接或无线网络连接从远程,或从本地获取接收针对目标产品对象中的各页面的目标指令。
目标产品对象可以是接收并执行指令的各种产品,例如智能音箱、智能显示屏等产品。目标产品对象中设置有指令中心,通过指令中心对针对于目标产品对象的所有指令进行统一处理。
目标指令可以是各种形式的指令,包括但不限于是基于语音表征的语音指令、基于文本表征的文本指令、基于动作表征的动作指令。每种形式的指令包括Query直达指令、全局指令、局部指令等多种类型。以Query直达指令为例,其表征用户明确具体动作可直达目标页面的指令,比如,在医疗相关类应用中,接收到的Query直达指令为“打开测血糖”后,应用从后台打开时直接进入测血糖页面。
全局指令为对目标产品对象中的各页面全局生效的指令,例如云端指令、本地指令、Push指令等,具体例如是应用启动、功能页面跳转、返回、退出等指令;局部指令为在应用的某一个页面或某一项功能中生效的指令,例如,对于测血糖页面的局部指令可以是“报告血糖值”。
对于大部分的目标产品对象而言,初始版本产品所支持的指令的数量一般较少,都是在页面中使用指令的地方对指令类型进行过滤判断。具体的,Query直达指令全部以switch case的形式在MainActivity中进行判断处理;APK(Android applicationpackage,Android应用程序包)指令都是在使用的页面中用字符串进行判断,获取到指令信息后做出对应的业务处理。
但是,随着产品版本迭代,指令数量激增,越来越多的Query直达指令需要判断,越来越多的APK指令需要处理,并且指令类型也没有进行统一维护,就会导致如下很多问题:
(1)代码可读性差:
Query直达指令的判断越来越多,页面中的switch case判断也越来越多,大量的判断堆积在MainActivity类中。由于MainActivity类本身就是就是应用启动页面,所以里边的逻辑本身就多,再加上大量指令的判断,就造成MainActivity类的代码行数激增,导致代码的可维护性和可读性大大降低。
(2)增加了开发难度:
没有对指令类型统一进行维护,每个使用指令的地方都以字符串的形式进行判断,导致工程出现大量重复的指令类型定义。并且,由于每个使用指令的地方都是直接写的字符串,所以有可能会出现类型拼写错误的情况,类型拼接错误就会导致指令识别失效,无法正确响应相应动作。
(3)可维护性差,不便于扩展:
对于全局指令,在每一个页面都要响应同样的动作,需要在每一个页面中对同样的指令进行重复的处理,每增加一个页面都需要添加同样的逻辑。并且,每增加一个全局指令都需要调整全局指令,以适应于所增加位置的逻辑。
本实施例中,通过指令中心统一对针对于目标产品对象的指令进行处理。指令中心通过应用提供的BotSdk进行指令监听的注册,可以在BotSdk获取应用下发的APK指令;获取指令之后,将指令流转入指令中心中的分发子中心。在入口Activity中添加Query直达方法实现,接收到Query直达指令后同样流转入指令中心,之后进入指令中心中的分发子中心。分发子中心可以执行步骤201接收针对目标产品对象中的各页面的目标指令,并执行后步骤202。
步骤202,解析目标指令,得到目标指令信息。
本实施例中,上述执行主体可以解析目标指令,得到目标指令信息。
目标指令信息主要包括指令名称、槽位信息和自定义数据。槽位信息为配置的指令槽位对应的信息,根据预先配置的槽位对用户的目标指令进行解析,解析出当前槽位的具体值。比如,预设配置为打开“XXX”,当用户的目标指令为打开测血压、打开测血糖,指令中心会将“XXX”这个槽位解析为测血压、测血糖。
以云端指令为例,其解析过程为:通过应用提供的BotSdk注册的onHandleIntent方法获取云端指令;云端指令的参数为botIntent,类型为BotIntent,其中含有name(指令名称)字段、slots(槽位信息)字段和s1字段。s1字段类型为json字符串,内部含有自定义数据。应用接收到云端指令后携带name字段、slots字段调用指令中心的handleBotIntent方法进行指令解析。handleBotIntent方法内部将BotIntent内容以及s1表征的自定义内容转为应用内共用的IntentBean类型。IntentBean包含name(指令名称)字段、slots(槽位信息)字段和customData(自定义数据)字段,针对云端指令的所有后续判断及业务处理均采用应用内的IntentBean类型。
以Click指令为例,其解析过程为:通过应用提供的BotSdk注册的onClickLink方法可以获取本地配置的Click指令;Click指令的参数为s,类型为字符串,其中包括Click指令名称和hashMap,hashMap类型为HashMap<String,String>,为指令中携带的自定义数据。S应用接收到Click指令后携带Click指令名称和hashMap这两个字段调用指令中心的handleClickLink方法进行指令解析。handleClickLink方法内部将所有信息转换为IntentBean类型数据,针对Click指令的所后续有判断及业务处理均采用应用内的IntentBean类型。
步骤203,根据目标指令信息,确定目标指令对应的指令响应方法。
本实施例中,上述执行主体可以根据目标指令信息,确定目标指令对应的指令响应方法。指令响应方法用于表征对指令的响应动作。
作为示例,上述执行主体,或与上述执行主体通信连接的电子设备中设置有表征指令信息和指令响应方法之间的对应关系的对应关系表。在确定目标指令信息之后,将目标指令信息与对应关系表中的指令信息进行匹配;进而,将与目标指令置信最匹配的指令信息对应的指令响应方法,确定为目标指令对应的指令响应方法。
作为又一示例,上述执行主体根据目标指令信息确定目标指令的意图;进而,根据目标指令的意图,确定目标指令对应的指令响应方法。其中,意图表征目标指令当前指令要执行的具体动作,例如返回上一页面。具体的,意图可以根据指令的指令名称和槽位信息进行确定。
在本实施例的一些可选的实现方式中,指令中心中设置有配置子中心。配置子中心中包括指令中心所支持的所有类型的指令的指令信息。本实现方式中,上述执行主体可以通过如下方式执行上述步骤203:
第一,通过指令中心中的配置子中心,根据目标指令信息,确定目标指令是否为指令中心支持的指令。
作为示例,上述执行主义可以将目标指令信息与配置子中心中的指令信息进行匹配,确定配置子中心中是否包括与目标指令信息一致的指令信息,以确定目标指令是否为指令中心支持的指令。
配置子中心中保存着当前应用支持的所有指令,每种指令的类型在应用开发之前就已根据业务确定。当解析得到目标指令信息之后,确定目标指令的指令类型;在配置子中心中对应的指令类型下,将目标指令信息与该指令类型下的指令信息进行匹配。
第二,响应于确定是,根据目标指令信息,确定目标指令对应的指令响应方法。
本实现方式中,响应于确定配置子中心中包括与目标指令信息一致的指令信息,确定目标指令是指令中心支持的指令,则可以采用上述确定指令响应方法示例来确定目标指令对应的指令响应方法。
本实现方式中,上述执行主体基于配置子中心筛选目标产品对象所支持的指令,避免了对于不支持的指令的无效处理,提高了指令处理过程的有效性。
在本实施例的一些可选的实现方式中,上述执行主体还可以执行如下操作:接收针对于配置子中心的指令信息配置操作;根据指令信息配置操作更新配置子中心中的指令信息。
其中,指令信息配置操作包括对于指令信息的增加、删除、编辑等配置操作。本实现方式中,对于目标产品对象对应的应用中所有页面的指令,统一从配置中心中进行配置,而无需对业务进行侵入式的修改,提高了指令配置的便捷性和高效性。
在本实施例的一些可选的实现方式中,配置子中心中包括的指令信息为常量形式的指令信息。本实现方式中,上述执行主体可以通过如下方式执行上述第二步骤:
首先,响应于确定是,通过配置子中心确定目标指令对应的常量形式的目标指令信息;然后,根据常量形式的目标指令信息,确定目标指令对应的指令响应方法。
本实现方式中,响应于确定配置子中心中包括与目标指令信息一致的指令信息,将该常量形式的指令信息确定为目标指令的目标指令信息。
配置子中心中,对于不同的指令配置,以常量的类型进行导出,外部业务或指令中心只能对配置进行读取使用,不允许外部修改,可以防止个别页面对配置篡改导致其他指令识别失效的情况发生,提高了指令配置、处理过程的安全性和有效性。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述步骤203:
第一,根据目标指令信息,确定目标指令所属的指令类型。
指令类型包括Query直达指令、全局指令和局部指令。每种指令的类型在应用开发之前就已根据业务确定。当解析得到目标指令信息之后,确定目标指令的指令类型。
第二,基于指令类型,确定目标指令对应的指令响应方法。
不同的指令类型的指令对应的指令响应方法不同。例如,对于Query直达指令,其对应的指令响应方法应该是跳转至Query直达指令所指示的页面;对于全局指令,其对应的指令响应方法应该是确定全局指令所针对的目标页面,并基于目标页面执行目标指令;对于局部指令,其对应的指令响应方法应该是将局部指令分发至局部指令对应的页面。
作为示例,上述执行主体或与上述执行主体通信连接的电子设备中设置有包括指令类型和指令响应方法之间的对应关系的对应关系表;进而,将与目标指令所属的指令类型对应的指令响应方法,确定为目标指令对应的指令响应方法。
本实现方式中,基于目标指令所属的指令类型确定目标指令对应的指令响应方法,提高了指令响应方法的准确度。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第二步骤:响应于确定指令类型为直达指令类型,通过指令中心中的分发子中心,根据目标指令信息所表征的意图,确定目标指令对应的指令响应方法。
意图表征直达指令要执行的具体动作,比如,在医疗相关类应用中,接收到的Query直达指令为“打开测血糖”后,确定Query直达指令对应的槽位信息为“测血糖”,进而更具指令名称和槽位信息进行其意图为进入“测血糖”页面,从而确定其对应的响应方法为打开“测血糖”页面。
本实现方式中,提供了针对于直达指令的指令响应方法的确定方式,利用直达指令的特性,直接根据直达指令所表征的意图确定指令响应方法,提高了所确定的指令响应方法的准确度。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第二步骤:首先,响应于确定指令类型为局部指令类型,通过指令中心中的分发子中心,根据目标指令信息确定目标指令所针对的目标页面;然后,根据目标页面,确定目标指令对应的指令响应方法。
具体的,配置子中心中保存着所有指令的名称,指令中心判断如果目标指令不是全局指令,则会以固定常量为key,具体目标指令的IntentBean为value的形式,采用RxBus的方式进行消息分发。应用中的各页面会对上述固定常量的key消息进行监听,获取到指令信息后判断是不是当前页面要响应的指令,如果是则执行,不是则放弃。
不同页面对应的局部指令的指令响应方法不同,例如,在“测血糖”页面中,“播报测量值”表征播报血糖的测量值;而在“测血压”页面中,“播报测量值”表征播报血压的测量值。
针对于局部指令,基于局部指令所针对的目标页面,确定局部指令对应的指令响应方法,提高了所确定的指令响应方法的准确度。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式执行上述第二步骤:响应于确定指令类型为全局指令类型,通过指令中心中的处理子中心,确定目标指令对应的指令响应方法,其中,处理子中心中包括全局指令类型下的指令对应的指令响应方法。
本实现方式中,指令中心中设置有处理子中心,处理子中心中保存所有全局指令的指令响应方法,并配置指令与指令响应方法之间的映射关系,可以直接通过指令信息读取到该全局指令的指令响应方法。如此,提供统一的指令响应方法用于触发不同指令的响应,使得指令的解析与指令的执行解耦,做到功能的单一性管理,进一步提高了指令处理过程中的便捷性。
在本实施例的一些可选的实现方式中,上述执行主体可以通过如下方式确定目标指令对应的指令响应方法:首先,响应于确定指令类型为全局指令类型,基于处理子中心确定目标指令对应的方法字符串;然后,映射方法字符串,确定目标指令对应的指令响应方法。
具体的,以key为全局指令的名称,value为指令响应方法对应的方法字符串,初始化全局指令和指令响应方法之间的对应关系。进而,根据指令名称,找到对应的指令响应方法的方法字符串,将方法字符串反射为对应的指令响应方法。
本实现方式中,基于先确定目标指令对应的方法字符串,进而根据方法字符串确定指令响应方法的方式,在保证确定准确度的基础上,进一步提高了指令响应方法的确定过程的确定效率。
步骤204,根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
本实施例中,上述执行主体可以根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
作为示例,对于Query直达指令,其对应的指令响应方法应该是跳转至Query直达指令所指示的页面,则执行对于目标页面的跳转操作;对于全局指令,其对应的指令响应方法应该是确定全局指令所针对的目标页面,则在所对应的目标页面,执行对应的返回、退出等动作;对于局部指令,其对应的指令响应方法应该是将局部指令分发至局部指令对应的页面,则将目标指令分发至对应的页面。
在本实施例的一些可选的实现方式中,针对于局部指令,上述执行主体可以通过如下方式执行上述步骤204:首先,将目标指令分发至目标页面;然后,在目标页面中,根据指令响应方法,执行目标指令。
对于局部指令而言,不同的页面中可能不支持属于其他页面的局部指令,或者其他页面的局部指令在当前页面的执行达不到用户期望的效果。因此,需要将目标指令分发至其针对的目标页面,以在目标页面中执行指令响应方法,执行目标指令,从而达到用户期望的效果。如此,提高了针对于局部指令的执行效果和准确度。
继续参见图3,图3是根据本实施例的指令处理方法的应用场景的一个示意图300。在图3的应用场景中,首先,用户301向智能音箱302发出了语音指令;然后,为智能音箱302提供语音交互服务的服务器303通过指令中心304统一执行如下指令处理操作:接收针对目标产品对象中的各页面的目标指令;解析目标指令,得到目标指令信息;根据目标指令信息,确定目标指令对应的指令响应方法;根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
本实施例中,提供了一种指令处理方法,通过目标产品对象中设置的指令中心统一执行指令的接收、解析、响应等指令处理操作;对于目标产品对象所支持的各种指令,目标产品对象中的各页面中不必设置对应的指令处理逻辑,目标产品对象所支持的所有指令的处理逻辑均设置于指令中心,技术人员可以在指令中心中进行指令的开发、维护,提高了目标产品对象的代码的可读性,降低了目标产品对象的代码的开发难度和维护难度。
继续参考图4,示出了根据本公开的指令处理方法的又一个实施例的示意性流程400。在流程400中,指令处理方法的执行主体(例如,图1中的终端设备或服务器)通过指令中心统一执行指令处理操作,指令处理操作包括以下步骤:
步骤401,通过指令中心中的分发子中心,接收针对目标产品对象中的各页面的目标指令。
步骤402,通过分发子中心,解析目标指令,得到目标指令信息。
步骤403,通过指令中心中的配置子中心,根据目标指令信息,确定目标指令是否为指令中心支持的指令。
其中,配置子中心中包括指令中心所支持的所有类型的指令的指令信息,指令信息为常量形式的指令信息。
步骤404,响应于确定是,通过配置子中心确定目标指令对应的常量形式的目标指令信息。
步骤405,根据常量形式的目标指令信息,确定目标指令所属的指令类型。
步骤406,响应于确定指令类型为直达指令类型,通过指令中心中的分发子中心,根据目标指令信息所表征的意图,确定目标指令对应的指令响应方法。
步骤407,响应于确定指令类型为局部指令类型,通过指令中心中的分发子中心,根据目标指令信息确定目标指令所针对的目标页面。
步骤408,根据目标页面,确定目标指令对应的指令响应方法。
步骤409,响应于确定指令类型为全局指令类型,基于处理子中心确定目标指令对应的方法字符串。
其中,处理子中心中包括全局指令类型下的指令对应的指令响应方法。
步骤410,映射方法字符串,确定目标指令对应的指令响应方法。
步骤411,根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
从本实施例中可以看出,与图2对应的实施例相比,本实施例中的指令处理方法的流程400具体说明了不同指令类型下的指令的指令响应方法的确定过程,通过指令中心中的分发子中心、配置子中心和处理子中心相互配合,进一步提高了目标产品对象的代码的可读性,降低了目标产品对象的代码的开发难度和维护难度。
继续参考图5,示出了适用于本公开的指令处理方法的指令中心的结构流程图。指令中心500中包括分发子中心501、配置子中心502和处理子中心503。指令中心主要用来支持端上指令的处理,对全局指令进行统一处理,对局部指令进行统一分发,并且对指令配置进行统一维护。
业务开发时将所有端上支持的指令类型配置到指令中心的配置子中心中,指令信息以常量的形式进行导出,供指令中心或者业务进行使用。
将所有全局指令需要响应的动作以方法的形式写入处理中心中,得到指令响应方法,并在处理子中心的映射关系中配置指令与指令响应方法的映射。当外部的全局指令触发指令响应方法时,处理子中心内部根据映射关系读取到当前指令需要执行的指令响应方法,并执行。
指令中心通过应用提供的BotSdk进行指令监听的注册,可以在BotSdk获取目标产品下发的APK指令,并将指令流转入分发子中心。在入口Activity中添加Query直达方法实现,接收到Query直达指令后同样将其流转入指令中心中的分发子中心。
分发子中心接收到APK指令后,首先解析APK指令,根据配置子中心的全局指令配置,对解析后的APK指令信息进行匹配;匹配到对应的指令后调用处理子中心的指令响应方法,指令响应方法会根据不同的指令类型进行不同的响应。如果配置子中心匹配不到全局指令,则按照局部指令处理目标指令,对局部指令进行分发。分发子中心接收到Query直达指令后,会首先对Query直达指令进行解析,解析出指令的具体意图;然后按照对应的意图执行对应的动作。
局部指令分发到各页面后,各页面按照自己的使用需求对局部指令做出对应的处理。
继续参考图6,作为对上述各图所示方法的实现,本公开提供了一种指令处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,指令处理装置600包括:通过指令中心统一执行如下指令处理操作:接收单元601,被配置成接收针对目标产品对象中的各页面的目标指令;解析单元602,被配置成解析目标指令,得到目标指令信息;确定单元603,被配置成根据目标指令信息,确定目标指令对应的指令响应方法;响应单元604,被配置成根据指令响应方法,响应针对于目标产品对象中的各页面的目标指令。
在本实施例的一些可选的实现方式中,确定单元603,进一步被配置成:通过指令中心中的配置子中心,根据目标指令信息,确定目标指令是否为指令中心支持的指令,其中,配置子中心中包括指令中心所支持的所有类型的指令的指令信息;响应于确定是,根据目标指令信息,确定目标指令对应的指令响应方法。
在本实施例的一些可选的实现方式中,配置子中心中包括的指令信息为常量形式的指令信息,以及确定单元603,进一步被配置成:响应于确定是,通过配置子中心确定目标指令对应的常量形式的目标指令信息;根据常量形式的目标指令信息,确定目标指令对应的指令响应方法。
在本实施例的一些可选的实现方式中,确定单元603,进一步被配置成:根据目标指令信息,确定目标指令所属的指令类型;基于指令类型,确定目标指令对应的指令响应方法。
在本实施例的一些可选的实现方式中,确定单元603,进一步被配置成:响应于确定指令类型为直达指令类型,通过指令中心中的分发子中心,根据目标指令信息所表征的意图,确定目标指令对应的指令响应方法。
在本实施例的一些可选的实现方式中,确定单元603,进一步被配置成:响应于确定指令类型为局部指令类型,通过指令中心中的分发子中心,根据目标指令信息确定目标指令所针对的目标页面;根据目标页面,确定目标指令对应的指令响应方法。
在本实施例的一些可选的实现方式中,响应单元604,进一步被配置成:将目标指令分发至目标页面;在目标页面中,根据指令响应方法,执行目标指令。
在本实施例的一些可选的实现方式中,确定单元603,进一步被配置成:响应于确定指令类型为全局指令类型,通过指令中心中的处理子中心,确定目标指令对应的指令响应方法,其中,处理子中心中包括全局指令类型下的指令对应的指令响应方法。
在本实施例的一些可选的实现方式中,确定单元603,进一步被配置成:响应于确定指令类型为全局指令类型,基于处理子中心确定目标指令对应的方法字符串;映射方法字符串,确定目标指令对应的指令响应方法。
本实施例中,提供了一种指令处理装置,通过目标产品对象中设置的指令中心统一执行指令的接收、解析、响应等指令处理操作;对于目标产品对象所支持的各种指令,目标产品对象中的各页面中不必设置对应的指令处理逻辑,目标产品对象所支持的所有指令的处理逻辑均设置于指令中心,技术人员可以在指令中心中进行指令的开发、维护,提高了目标产品对象的代码的可读性,降低了目标产品对象的代码的开发难度和维护难度。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的指令处理方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的指令处理方法。
本公开实施例提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的指令处理方法。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如指令处理方法。例如,在一些实施例中,指令处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的指令处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行指令处理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷;也可以为分布式***的服务器,或者是结合了区块链的服务器。
根据本公开实施例的技术方案,提供了一种指令处理方法,通过目标产品对象中设置的指令中心统一执行指令的接收、解析、响应等指令处理操作;对于目标产品对象所支持的各种指令,目标产品对象中的各页面中不必设置对应的指令处理逻辑,目标产品对象所支持的所有指令的处理逻辑均设置于指令中心,技术人员可以在指令中心中进行指令的开发、维护,提高了目标产品对象的代码的可读性,降低了目标产品对象的代码的开发难度和维护难度。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (21)

1.一种指令处理方法,包括:
通过指令中心统一执行如下指令处理操作:
接收针对目标产品对象中的各页面的目标指令;
解析所述目标指令,得到目标指令信息;
根据所述目标指令信息,确定所述目标指令对应的指令响应方法;
根据所述指令响应方法,响应针对于所述目标产品对象中的各页面的所述目标指令。
2.根据权利要求1所述的方法,其中,所述根据所述目标指令信息,确定所述目标指令对应的指令响应方法,包括:
通过所述指令中心中的配置子中心,根据所述目标指令信息,确定所述目标指令是否为所述指令中心支持的指令,其中,所述配置子中心中包括所述指令中心所支持的所有类型的指令的指令信息;
响应于确定是,根据所述目标指令信息,确定所述目标指令对应的指令响应方法。
3.根据权利要求2所述的方法,其中,所述配置子中心中包括的指令信息为常量形式的指令信息,以及
所述响应于确定是,根据所述目标指令信息,确定所述目标指令对应的指令响应方法,包括:
响应于确定是,通过所述配置子中心确定所述目标指令对应的常量形式的目标指令信息;
根据所述常量形式的目标指令信息,确定所述目标指令对应的指令响应方法。
4.根据权利要求1-3中任一项所述的方法,其中,所述根据所述目标指令信息,确定所述目标指令对应的指令响应方法,包括:
根据所述目标指令信息,确定所述目标指令所属的指令类型;
基于所述指令类型,确定所述目标指令对应的指令响应方法。
5.根据权利要求4所述的方法,其中,所述基于所述指令类型,确定所述目标指令对应的指令响应方法,包括:
响应于确定所述指令类型为直达指令类型,通过所述指令中心中的分发子中心,根据所述目标指令信息所表征的意图,确定所述目标指令对应的指令响应方法。
6.根据权利要求4所述的方法,其中,所述基于所述指令类型,确定所述目标指令对应的指令响应方法,包括:
响应于确定所述指令类型为局部指令类型,通过所述指令中心中的分发子中心,根据所述目标指令信息确定所述目标指令所针对的目标页面;
根据所述目标页面,确定所述目标指令对应的指令响应方法。
7.根据权利要求6所述的方法,其中,所述根据所述指令响应方法,执行所述目标指令,包括:
将所述目标指令分发至所述目标页面;
在所述目标页面中,根据所述指令响应方法,执行所述目标指令。
8.根据权利要求4所述的方法,其中,所述基于所述指令类型,确定所述目标指令对应的指令响应方法,包括:
响应于确定所述指令类型为全局指令类型,通过所述指令中心中的处理子中心,确定所述目标指令对应的指令响应方法,其中,所述处理子中心中包括所述全局指令类型下的指令对应的指令响应方法。
9.根据权利要求8所述的方法,其中,所述响应于确定所述指令类型为全局指令类型,通过所述指令中心中的处理子中心,确定所述目标指令对应的指令响应方法,包括:
响应于确定所述指令类型为全局指令类型,基于所述处理子中心确定所述目标指令对应的方法字符串;
映射所述方法字符串,确定所述目标指令对应的指令响应方法。
10.一种指令处理装置,包括:
通过指令中心统一执行如下指令处理操作:
接收单元,被配置成接收针对目标产品对象中的各页面的目标指令;
解析单元,被配置成解析所述目标指令,得到目标指令信息;
确定单元,被配置成根据所述目标指令信息,确定所述目标指令对应的指令响应方法;
响应单元,被配置成根据所述指令响应方法,响应针对于所述目标产品对象中的各页面的所述目标指令。
11.根据权利要求10所述的装置,其中,所述确定单元,进一步被配置成:
通过所述指令中心中的配置子中心,根据所述目标指令信息,确定所述目标指令是否为所述指令中心支持的指令,其中,所述配置子中心中包括所述指令中心所支持的所有类型的指令的指令信息;响应于确定是,根据所述目标指令信息,确定所述目标指令对应的指令响应方法。
12.根据权利要求11所述的装置,其中,所述配置子中心中包括的指令信息为常量形式的指令信息,以及
所述确定单元,进一步被配置成:
响应于确定是,通过所述配置子中心确定所述目标指令对应的常量形式的目标指令信息;根据所述常量形式的目标指令信息,确定所述目标指令对应的指令响应方法。
13.根据权利要求10-12中任一项所述的装置,其中,所述确定单元,进一步被配置成:
根据所述目标指令信息,确定所述目标指令所属的指令类型;基于所述指令类型,确定所述目标指令对应的指令响应方法。
14.根据权利要求13所述的装置,其中,所述确定单元,进一步被配置成:
响应于确定所述指令类型为直达指令类型,通过所述指令中心中的分发子中心,根据所述目标指令信息所表征的意图,确定所述目标指令对应的指令响应方法。
15.根据权利要求13所述的装置,其中,所述确定单元,进一步被配置成:
响应于确定所述指令类型为局部指令类型,通过所述指令中心中的分发子中心,根据所述目标指令信息确定所述目标指令所针对的目标页面;根据所述目标页面,确定所述目标指令对应的指令响应方法。
16.根据权利要求15所述的装置,其中,所述响应单元,进一步被配置成:
将所述目标指令分发至所述目标页面;在所述目标页面中,根据所述指令响应方法,执行所述目标指令。
17.根据权利要求13所述的装置,其中,所述确定单元,进一步被配置成:
响应于确定所述指令类型为全局指令类型,通过所述指令中心中的处理子中心,确定所述目标指令对应的指令响应方法,其中,所述处理子中心中包括所述全局指令类型下的指令对应的指令响应方法。
18.根据权利要求17所述的装置,其中,所述确定单元,进一步被配置成:
响应于确定所述指令类型为全局指令类型,基于所述处理子中心确定所述目标指令对应的方法字符串;映射所述方法字符串,确定所述目标指令对应的指令响应方法。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
21.一种计算机程序产品,包括:计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
CN202310331395.2A 2023-03-30 2023-03-30 指令处理方法、装置及计算机程序产品 Pending CN116400962A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310331395.2A CN116400962A (zh) 2023-03-30 2023-03-30 指令处理方法、装置及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310331395.2A CN116400962A (zh) 2023-03-30 2023-03-30 指令处理方法、装置及计算机程序产品

Publications (1)

Publication Number Publication Date
CN116400962A true CN116400962A (zh) 2023-07-07

Family

ID=87017229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310331395.2A Pending CN116400962A (zh) 2023-03-30 2023-03-30 指令处理方法、装置及计算机程序产品

Country Status (1)

Country Link
CN (1) CN116400962A (zh)

Similar Documents

Publication Publication Date Title
CN109766082A (zh) 应用程序页面跳转的方法和装置
CN113766487A (zh) 云手机信息获取方法、装置、设备和介质
CN114025037B (zh) 一种云手机的检修方法、装置、电子设备和存储介质
CN115329170A (zh) 网页抓取方法、装置、设备以及存储介质
CN113724398A (zh) 增强现实方法、装置、设备以及存储介质
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
CN116594621A (zh) 实时流处理***、方法和装置、电子设备、计算机介质
CN116400962A (zh) 指令处理方法、装置及计算机程序产品
CN113722037B (zh) 一种用户界面的刷新方法、装置、电子设备及存储介质
CN112052152A (zh) 一种模拟测试的方法和装置
CN113590447B (zh) 埋点处理方法和装置
CN115599571A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113760274B (zh) 一种前端组件逻辑注入方法和装置
CN115145748A (zh) 跨进程通信方法、装置、设备以及存储介质
CN114780361A (zh) 日志生成方法、装置、计算机***及可读存储介质
CN113779018A (zh) 一种数据处理方法和装置
CN114286343B (zh) 多路外呼***、风险识别方法、设备、介质及产品
CN113032040B (zh) 用于处理任务的方法、装置、设备、介质和产品
CN114978786B (zh) 一种将第三方接口转化为***标准接口的方法及装置
CN116166253A (zh) 一种车辆域间通信方法、数据网关、设备及存储介质
CN116521170A (zh) 一种客户端原生应用的转化方法、装置、设备及介质
CN115525276A (zh) 一种回调校验方法和装置
CN116319716A (zh) 信息处理方法、无服务***、电子设备及存储介质
CN114217837A (zh) 用于云手机的软件更新方法、装置、设备和介质
CN116339745A (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