发明内容
为了至少解决现有技术中语音对话平台对程序的发布和调用会浪费一定的存储空间,同时,由于功能需求的不同,无法在语音对话平台直接显示开发者上传程序的核心代码的问题。
第一方面,本发明实施例提供一种用于语音对话平台的程序发布方法,包括:
响应于程序的上传,验证所述程序的编写格式是否与所述语音对话平台预设格式一致;
响应于所述编写格式与所述预设格式一致,在与所述预设格式关联的执行框架上试运行所述程序,
若试运行通过,基于所述预设格式提取所述程序的核心代码,生成与所述核心代码相对应的ID,并将所述ID与所述执行框架关联;
存储所述核心代码以及相对应的ID,发布所述ID以供调用。
第二方面,本发明实施例提供一种用于语音对话平台的程序调用方法,包括:
响应于程序调用指令,解析并获取所述程序调用指令中的ID以及发送所述程序调用指令的设备信息,查询与所述ID相对应的核心代码,及适配的执行框架;
将所述核心代码在所述适配的执行框架中运行,以达到在所述语音对话平台的调用。
第三方面,本发明实施例提供一种用于语音对话平台的程序发布系统,包括:
程序验证程序模块,用于响应于程序的上传,验证所述程序的编写格式是否与所述语音对话平台预设格式一致;
试运行程序模块,用于响应于所述编写格式与所述预设格式一致,在与所述预设格式关联的执行框架上试运行所述程序,
若试运行通过,基于所述预设格式提取所述程序的核心代码,生成与所述核心代码相对应的ID,并将所述ID与所述执行框架关联;
发布程序模块,用于存储所述核心代码以及相对应的ID,发布所述ID以供调用。
第四方面,本发明实施例提供一种用于语音对话平台的程序调用系统,包括:
查询程序模块,用于响应于程序调用指令,解析并获取所述程序调用指令中的ID以及发送所述程序调用指令的设备信息,查询与所述ID相对应的核心代码,及适配的执行框架;
调用程序模块,用于将所述核心代码在所述适配的执行框架中运行,以达到在所述语音对话平台的调用。
第五方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于语音对话平台的程序发布和调用方法的步骤。
第六方面,本发明实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现本发明任一实施例的用于语音对话平台的程序发布方法和调用的步骤。
本发明实施例的有益效果在于:通过为开发者规范程序编写格式,语音对话平台提取开发者根据所述编写格式开发的程序的核心代码,进行存储,可以减少所述程序在语音对话平台的存储空间,由于核心代码可以提取,开发者可以在浏览器或客户端中直接查看所述程序的核心代码,便于后续的开发。通过ID在语音对话平台对相应的核心代码进行调用,并且获取与请求调用的设备提供适配的执行框架,达到程序的跨平台调用。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本发明一实施例提供的一种用于语音对话平台的程序发布方法的流程图,包括如下步骤:
S11:响应于程序的上传,验证所述程序的编写格式是否与所述语音对话平台预设格式一致;
S12:响应于所述编写格式与所述预设格式一致,在与所述预设格式关联的执行框架上试运行所述程序,
若试运行通过,基于所述预设格式提取所述程序的核心代码,生成与所述核心代码相对应的ID,并将所述ID与所述执行框架关联;
S13:存储所述核心代码以及相对应的ID,发布所述ID以供调用。
在本实施方式中,语音对话平台接收程序的页面中,会提供工程参考文件程序包的下载地址,以及所述语音对话平台程序编写的说明文档的链接,开发者通过点击所述说明文档的链接,可以了解到所述语音对话平台的开发相关信息,例如开发环境、目录结构、开发流程、功能示例等等,从而帮助开发者了解所述语音对话平台的信息。通过这些信息,使得开发者了解在开发时,重要的核心代码应该在何处编写。
开发者根据工程参考文件程序包的下载地址进行下载工程参考文件,开发者可以根据所述工程参考文件,直接修改其代码,这样也就也进一步的降低了程序的开发难度,提高了程序的开发效率,并且也能避免由于开发者的失误,导致会出现的一些错误,例如,文档命名错误、目录结构错误等。
通过语音对话平台提供的编写帮助,开发者根据其工程项目需求,在本地开发,在开发完成后,编译运行,确保程序在本地运行无误后,进行工程导出,得到了开发的程序压缩文件。
对于步骤S11,响应于开发者在语音对话平台上传的程序,语音对话平台验证开发者上传的程序的编写格式是否与所述语音对话平台预设格式一致,检测所述程序文件的大小以及检测所述程序的格式,避免由于开发者上传的失误,将明显远大于正常开发程序大小的文件上传,或者,开发者误将程序的测试版或其他版本的目录结构不正确的程序上传,通过这一道验证,保证了程序的正常读取以及后续核心代码的提取,同时也保证了语音对话平台的平稳运行,防止由于运行错误的程序而导致语音对话平台的服务器出现问题。
对于步骤S12,响应于所述编写格式与所述预设格式一致,在与所述预设格式关联的执行框架上运行所述程序,由于语音对话平台已经在接收程序的页面提供了工程参考文件以及编写的说明文档的链接,开发者对其运行环境也有所了解,在验证预设格式步骤中,提高了程序的验证成功率,当部分程序验证失败时,会在语音对话平台显示验证错误。
在试运行中,由于所述程序是按照语音开发平台预设的格式编写,当运行通过时,语音对话平台会基于所述预设格式来提取所述程序的核心代码,并且,生成与所述核心代码相对应的ID,并将所述ID与所述执行框架进行关联。
对于步骤S13,存储核心代码以及相对应的ID,通过将ID发布,以供开发者或者其它开发者在使用语音对话平台时进行程序调用。
通过该实施方法可以看出,通过为开发者规范程序编写格式,语音对话平台提取开发者根据所述编写格式开发的程序的核心代码,进行存储,可以减少所述程序在语音对话平台的存储空间,由于核心代码可以提取,开发者可以在浏览器或客户端中直接查看所述程序的核心代码,便于后续的开发。
作为一种实施方式,在本实施例中,当试运行错误时,在所述语音对话平台生成对话框,在所述对话框内显示错误类型。
在本实施方式中,当开发者上传的程序在语音对话平台中试运行错误时,语音对话平台会生成运行错误的对话框,在所述对话框内报出试运行错误的错误类型。根据所述错误类型,提示开发者了解其上传的程序的错误,以便于开发者对程序的修改。
通过该实施方法可以看出,当开发者上传的程序在语音对话平台无法试运行的时候,语音对话平台会向开发者提示程序是由于哪种类型的错误导致程序在语音对话平台无法试运行,通过语音对话平台对开发者提示的错误信息,帮助开发者定位错误的部分,便于修改,提高了开发效率。
如图2所示为本发明一实施例提供的一种用于语音对话平台的程序调用方法的流程图,包括如下步骤:
S21:响应于程序调用指令,解析并获取所述程序调用指令中的ID以及发送所述程序调用指令的设备信息,查询与所述ID相对应的核心代码,及适配的执行框架;
S22:将所述核心代码在所述适配的执行框架中运行,以达到在所述语音对话平台的调用。
在本实施方式中,当不同的开发者都在所述语音对话平台中发布程序,所述语音对话平台会存储大量的程序供开发者来进行调用,当开发者确定需要调用哪个程序时,通过ID来调用相应的程序。
对于步骤S21,响应于开发者发送的请求程序调用指令,解析所述程序调用指令中的ID,以及开发者当前发送请求指令的设备信息,通过所述ID来查找相对应的核心代码,并根据发送请求指令的设备信息来确定适配的执行框架,以保证程序的完整执行。
对于步骤S22,将在步骤S21中确定的核心代码在所述适配的执行框架中运行,以使得开发者在特定的设备上调用所述语音对话平台中的程序。
通过该实施方法可以看出,通过ID在语音对话平台对相应的核心代码进行调用,并且获取与请求调用的设备提供适配的执行框架,达到程序的跨平台调用。
作为一种实施方式,在本实施例中,所述解析并获取所述程序调用指令中的ID以及发送所述程序调用指令的设备信息,查询与所述ID相对应的核心代码,及适配的执行框架包括:
根据发送所述程序调用指令的设备信息以及所述ID确定适配的执行框架。
在本实施方式中,语音对话平台根据发送所述程序调用指令的设备信息,以及所述ID共同确定适配的执行框架,其中,ID主要确定可以执行对应的核心代码的执行框架,设备信息来确定所述设备可以运行的执行框架。
作为一种实施方式,在本实施例中,所述程序调用指令的设备信息包括设备的操作系统,所述设备的操作系统包括:安卓、IOS、嵌入式系统。
在本实施方式中,针对于设备的操作系统,进而选择安卓或IOS或嵌入式系统作为适配的执行框架。
通过该实施方法可以看出,针对于不同的操作系统,提供了不同操作系统的执行框架来对开发者进行视频,达到了跨平台运行。
如图3所示为本发明一实施例提供的一种用于语音对话平台的程序发布系统的结构示意图,本实施例的技术方案可适用于对设备的用于语音对话平台的程序发布方法,该系统可执行上述任意实施例所述的用于语音对话平台的程序发布方法,并配置在终端中。
本实施例提供的一种用于语音对话平台的程序发布系统包括:程序验证程序模块11,试运行程序模块12和UI发布程序模块13。
其中,程序验证程序模块11用于响应于程序的上传,验证所述程序的编写格式是否与所述语音对话平台预设格式一致;试运行程序模块12用于响应于所述编写格式与所述预设格式一致,在与所述预设格式关联的执行框架上试运行所述程序,若试运行通过,基于所述预设格式提取所述程序的核心代码,生成与所述核心代码相对应的ID,并将所述ID与所述执行框架关联;发布程序模块13用于存储所述核心代码以及相对应的ID,发布所述ID以供调用。
进一步地,当试运行错误时,在所述语音对话平台生成对话框,在所述对话框内显示错误类型。
如图4所示为本发明一实施例提供的一种用于语音对话平台的程序调用系统的结构示意图,本实施例的技术方案可适用于对设备的用于语音对话平台的程序调用方法,该系统可执行上述任意实施例所述的用于语音对话平台的程序调用方法,并配置在终端中。
本实施例提供的一种用于语音对话平台的程序调用系统包括:查询程序模块21和调用程序模块22。
其中,查询程序模块21用于响应于程序调用指令,解析并获取所述程序调用指令中的ID以及发送所述程序调用指令的设备信息,查询与所述ID相对应的核心代码,及适配的执行框架;调用程序模块22用于将所述核心代码在所述适配的执行框架中运行,以达到在所述语音对话平台的调用。
进一步地,所述查询程序模块用于:
根据发送所述程序调用指令的设备信息以及所述ID确定适配的执行框架。
进一步地,所述程序调用指令的设备信息包括设备的操作系统,所述设备的操作系统包括:安卓、IOS、嵌入式系统。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于语音对话平台的程序发布方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
响应于程序的上传,验证所述程序的编写格式是否与所述语音对话平台预设格式一致;
响应于所述编写格式与所述预设格式一致,在与所述预设格式关联的执行框架上试运行所述程序,
若试运行通过,基于所述预设格式提取所述程序的核心代码,生成与所述核心代码相对应的ID,并将所述ID与所述执行框架关联;
存储所述核心代码以及相对应的ID,发布所述ID以供调用。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于语音对话平台的程序调用方法;
作为一种实施方式,本发明的非易失性计算机存储介质存储有计算机可执行指令,计算机可执行指令设置为:
响应于程序调用指令,解析并获取所述程序调用指令中的ID以及发送所述程序调用指令的设备信息,查询与所述ID相对应的核心代码,及适配的执行框架;
将所述核心代码在所述适配的执行框架中运行,以达到在所述语音对话平台的调用。
作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的测试软件的方法对应的程序指令/模块。一个或者多个程序指令存储在非易失性计算机可读存储介质中,当被处理器执行时,执行上述任意方法实施例中的用于语音对话平台的程序发布和调用方法。
非易失性计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据测试软件的装置的使用所创建的数据等。此外,非易失性计算机可读存储介质可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,非易失性计算机可读存储介质可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至测试软件的装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例的用于语音对话平台的程序发布和调用方法的步骤。
本申请实施例的客户端以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)其他具有处理功能的电子装置。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。