CN111580811B - 技能代码的获取方法、装置及存储介质 - Google Patents
技能代码的获取方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111580811B CN111580811B CN202010250395.6A CN202010250395A CN111580811B CN 111580811 B CN111580811 B CN 111580811B CN 202010250395 A CN202010250395 A CN 202010250395A CN 111580811 B CN111580811 B CN 111580811B
- Authority
- CN
- China
- Prior art keywords
- skill
- target
- code
- target skill
- acquiring
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000012790 adhesive layer Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开揭示了一种技能代码的获取方法、装置及存储介质,属于人工智能技术领域。所述方法包括:运行服务器根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录,然后获取该技能目录中存储的目标技能代码,最后读取该目标技能代码。通过上述方案,各个产品设备的运行服务器可以通过从网络文件系统NFS中获取需要的技能代码,并且直接通过读取该技能代码运行该技能,从而在保证了技能代码获取的准确性的情况下,减少了下载复制技能代码的步骤,从而提高了通过技能代码运行技能的稳定性。
Description
技术领域
本公开涉及人工智能技术领域,特别是涉及一种技能代码的获取方法、装置及存储介质。
背景技术
如今,人工智能技术越来越多的出现在日常生活中,其中通过人工智能技术可以赋予音箱越来越多的技能,作为智能音箱为使用智能音箱的普通用户提供方便。
在相关技术中,由于使用智能音箱的普通用户对于智能音箱的需求会发生改变,智能音箱的技术人员需要在开发者网站上,通过在线编辑代码并且建立模拟器的方式调试该型号智能音箱的通用技能,调试技能的代码可以上传到开发服务器的多个Nodejs容器中,由产品服务器下载获取调试技能的代码。
然而,相关技术中的方案,产品设备从开发服务器下载调试技能的代码,这种方案会导致从编辑技能代码到产品设备下载调试技能代码已达到调试技能的目的的过程较为复杂,会发生为了达到预期技能调试的效果需要多次对调试技能代码进行保存复制的情况,从而导致技能开发维护的效率不高。
发明内容
本公开提供一种技能代码的获取方法、装置及存储介质。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种技能代码的获取方法,其特征在于,所述方法包括:
根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录;
获取所述技能目录中存储的目标技能代码,所述目标技能代码是由编辑服务器存储到所述技能目录中的代码;
读取所述目标技能代码。
可选的,所述根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录,包括:
从数据库中获取所述目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系;
通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
从所述网络文件系统NFS中获取确定的所述技能目录。
可选的,所述技能目录用来指示根据对应的所述目标技能或者技能代码编辑语言中的至少一种确定所述目标技能代码在网络文件系统NFS中的存储位置。
可选的,所述读取所述目标技能代码,包括:
响应于接收到所述目标技能运行指令,读取对应的所述目标技能代码。
可选的,所述方法还包括:
根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
运行所述目标技能脚本代码;
响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
根据本公开实施例的第二方面,提供了一种技能代码获取的装置,其特征在于,所述装置包括:
目录获取模块,用于根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录;
代码获取模块,用于获取所述技能目录中存储的目标技能代码;
代码读取模块,用于读取所述目标技能代码,所述目标技能代码是由编辑服务器存储到所述技能目录中的代码。
可选的,所述目录获取模块,包括:
信息获取子模块,用于从数据库中获取所述目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系;
目录确定子模块,用于通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
目录获取子模块,用于从所述网络文件系统NFS中获取确定的所述技能目录。
可选的,所述技能目录用来指示根据对应的所述目标技能或者技能代码编辑语言中的至少一种确定所述目标技能代码在网络文件系统NFS中的存储位置。
可选的,所述代码读取模块,包括:
代码读取子模块,用于响应于接收到所述目标技能运行指令,读取对应的所述目标技能代码。
可选的,所述装置还包括:
脚本获取模块,用于根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
脚本运行模块,用于运行所述目标技能脚本代码;
结果接收模块,用于响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
根据本公开实施例的第三方面,提供了一种技能代码获取的装置,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录;
获取所述技能目录中存储的目标技能代码,所述目标技能代码是由编辑服务器存储到所述技能目录中的代码;
读取所述目标技能代码。
根据本公开实施例的第四方面,提供了一种计算机设备可读存储介质,所述计算机设备可读存储介质中包含可执行指令,所述可执行指令由处理器调用执行,以实现上述第一方面或者第一方面的任一可选方案所述的技能代码的获取方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
运行服务器根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录,然后获取该技能目录中存储的目标技能代码,最后读取该目标技能代码。通过上述方案,各个产品设备的运行服务器可以通过从网络文件系统NFS中获取需要的技能代码,并且直接通过读取该技能代码运行该技能,从而在保证了技能代码获取的准确性的情况下,减少了下载复制技能代码的步骤,从而提高了通过技能代码运行技能的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种技能代码获取的系统的示意图;
图2是根据一示例性实施例示出的一种技能代码的获取方法的示意图;
图3是根据一示例性实施例示出的一种技能代码的获取方法的流程图;
图4是根据另一示例性实施例示出的一种技能代码的获取方法流程图;
图5是根据一示例性实施例示出的一种技能代码编辑发布的方法示意图;
图6是根据一示例性实施例示出的一种技能代码编辑共享的方法示意图;
图7是根据一示例性实施例示出的一种技能代码的获取装置的框图;
图8是根据一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了方便理解,下面对本公开实施例中涉及的名词进行说明。
1)技能(Skill)
技能是指在云端服务器系统中,可以完成某一逻辑功能的独立服务。在智能音箱中的技能是在能够在智能音响中独立运行,并且可以通过通讯协议与多模态交互智能操作系统进行交互。
2)开发者网站
开发者网站可以用来调试任意一种通用的技能和产品设备,开发人员可以在开发者网站上在线编辑代码,对通用的产品设备的技能进行调试。
3)虚拟文件系统(Virtual File System,VFS)
VFS可以用于采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即VFS可以为各类文件系统提供了一个统一的操作界面和应用编程接口。VFS可以使部分系统调用不用根据底层的存储介质和文件系统类型而工作的粘合层。
4)网络文件系统(Network File System,NFS)
网络文件系统可以是包括FreeBSD操作系统支持的文件系统中的一种,其中,FreeBSD是一种类Unix操作系统,FreeBSD允许网络中的计算机之间共享资源。
本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
5)网络附属存储(Network Attached Storage,NAS)
NAS是指连接在网络上,具备资料存储功能的装置,也可以称为“网络存储器”。NAS是一种专用数据存储服务器。
NAS可以支持多种协议,比如NFS、CIFS(Common Internet File System,通用网络文件系统)、FTP(File Transfer Protocol,文件传输协议)、HTTP(HyperText TransferProtocol,超文本传输协议)等,并且可以支持各种操作系统。通过任何一台工作站,采用IE(Internet Explorer,网页浏览器)或Firefox(网络信息浏览器)浏览器就可以对NAS设备进行直观方便的管理。NAS解决方案通常配置为作为文件服务的设备,由工作站或服务器通过网络协议和应用程序来进行文件访问。NAS可以应用于高效的文件共享任务中,不同的主机与客户端通过文件共享协定存取NAS上的资料,实现文件共享功能。
6)人工智能
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
7)语音技术(Speech Technology)
语音技术的关键技术有自动语音识别技术(Automatic Speech Recognition,ASR)和语音合成技术(text-to-speech,TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
图1是根据一示例性实施例示出的一种技能代码获取的系统的示意图。如图1所示,该系统包括终端110、编辑服务器120、运行服务器130、产品设备140以及NFS服务器150。
可选的,终端110和编辑服务器120之间可以通过有线或者无线网络相连。运行服务器130与产品设备140之间可以通过有线或者无线网络相连。运行服务器130以及编辑服务器120可以与NFS服务器150之间可以通过有线或者无线网络相连。
其中,产品设备140可以进行语音交互,并且可以进行语音识别。
其中,终端110上可以进行在线代码编辑。
可选的,编辑服务器120和运行服务器130可以分别是一台服务器,或者编辑服务器120和运行服务器130可以分别是由若干台服务器构成的服务器集群,或者编辑服务器120和运行服务器130分别可以包含一个或多个虚拟化平台,或者编辑服务器120和运行服务器130也可以分别是一个云计算服务中心。
编辑服务器120和运行服务器130可以根据算法对数据进行获取与运算。
编辑服务器120和运行服务器130可以由一个或多个功能单元组成。
可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(Hyper TextMark-upLanguage,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
图2是根据一示例性实施例示出的一种技能代码的获取方法的示意图。如图2所示,该技能代码的获取方法包括的步骤如下:
在步骤201中,代码编辑服务器建立虚拟目录。
在一种可能的实现方式中,代码编辑服务器可以建立NFS虚拟目录,比如,/skills/javascripts,虚拟目录挂载到开发者网站指定目录,比如,/www/javascripts。
在步骤202中,代码编辑服务器将技能代码存储在NFS中。
在一种可能的实现方式中,开发者网站中编辑和保存技能代码,可以按统一的目录结构,存入NFS中。
在步骤203中,运行服务器根据代码信息,获取对应的技能代码。
在一种可能的实现方式中,运行服务器可以挂载使用上述的NFS中的目录,运行服务器根据数据库中记录的技能代码信息,找到对应的技能代码。
在步骤204中,运行服务器从NFS中获取对应的技能代码。
在一种可能的实现方式中,运行服务器从NFS中如同读取本地文件一样,读取到技能代码。运行技能的脚本代码,等待技能的调用,返回技能处理的响应结果。
图3是根据一示例性实施例示出的一种技能代码的获取方法的流程图。该技能代码的获取方法可以应用于各个产品设备的运行服务器中,以对技能代码进行直接获取并且根据技能代码运行对应的技能。如图3所示,该技能代码的获取方法可以包括以下步骤:
在步骤301中,根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录。
在步骤302中,获取该技能目录中存储的目标技能代码,该目标技能代码是由编辑服务器存储到该技能目录中的代码。
在步骤303中,读取该目标技能代码。
可选的,该根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录,包括:
从数据库中获取该目标技能信息,该目标技能信息用来指示预先设定的目标技能与技能目录的对应关系;
通过获取该目标技能与该技能目录的对应关系,确定该目标技能信息对应的该技能目录;
从该网络文件系统NFS中获取确定的该技能目录。
可选的,该技能目录用来指示根据对应的该目标技能或者技能代码编辑语言中的至少一种确定该目标技能代码在网络文件系统NFS中的存储位置。
可选的,该读取该目标技能代码,包括:
响应于接收到该目标技能运行指令,读取对应的该目标技能代码。
可选的,该方法还包括:
根据读取的该目标技能代码,获取该目标技能代码对应的目标技能脚本代码;
运行该目标技能脚本代码;
响应于该目标技能脚本代码运行完成,接收该目标技能的运行结果,该运行结果用于指示该目标技能是否正常运行。
综上所述,本公开实施例中提供的技能代码的获取方法,运行服务器根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录,然后获取该技能目录中存储的目标技能代码,最后读取该目标技能代码。通过上述方案,各个产品设备的运行服务器可以通过从网络文件系统NFS中获取需要的技能代码,并且直接通过读取该技能代码运行该技能,从而在保证了技能代码获取的准确性的情况下,减少了下载复制技能代码的步骤,从而提高了通过技能代码运行技能的稳定性。
图4是根据另一示例性实施例示出的一种技能代码的获取方法流程图。该技能代码的获取方法可以应用于各个产品设备的运行服务器中,以对技能代码进行直接获取并且根据技能代码运行对应的技能。如图4所示,该技能代码的获取方法可以包括以下步骤:
在步骤401中,运行服务器从数据库中获取该目标技能信息。
在本公开实施例中,各个产品设备对应的运行服务器可以从数据库中获取需要获取的目标技能涉及到的目标技能信息。
其中,目标技能信息可以用来指示预先设定的目标技能与技能目录的对应关系。
可选的,开发人员可以在编辑各个技能的技能代码时,将各个技能代码存储在对应的目录中,并且将技能代码对应的技能种类信息与技能目录的对应关系存储在编辑服务器的数据库中,或者NAS中。
比如,开发人员预先设置技能A对应的技能代码,存储在X路径的技能目录下,技能B对应的技能代码,存储在Y路径的技能目录下。编辑服务器可以获取该对应关系作为技能信息存储在数据库中。当用户需要获取技能A的代码从而运行技能A时,该用户控制的产品设备对应的运行服务器从数据库中获取技能A对应的目标技能信息。
可选的,运行服务器可以根据用户发出的用户指令,获取需要获取的目标技能涉及到的目标技能信息。
其中,用户指令可以包括用户语音指令或者用户手动操作指令中的至少一种。
其中,当用户指令为用户语音指令时,用户可以根据产品设备预先设置的语音关键词,通过发出对应的语音关键词,经过语音设备识别成功,产品设备就可以根据该语音关键词,获取对应的目标技能信息。
比如,当某一种产品设备运行技能A的语音关键词预先设置为“启动技能A”,当用户发出语音“启动技能A”时,产品设备通过语音识别成功识别到该语音关键词,产品设备可以获取技能A对应的目标技能信息。
其中,当用户指令为用户手动操作指令时,产品设备上可以存在一个运行某一技能的开关按钮,用户可以通过开启该开关按钮使产品设备获取该技能对应的目标技能信息。
在步骤402中,运行服务器通过获取该目标技能与该技能目录的对应关系,确定该目标技能信息对应的该技能目录。
在本公开实施例中,运行服务器可以获取到目标技能信息中该技能对应的技能目录。
在步骤403中,运行服务器从该网络文件系统NFS中获取确定的该技能目录。
在本公开实施例中,终端侧的开发人员通过编辑服务器建立网络文件系统NFS中各个技能对应的技能目录,按照技能与技能目录的对应关系编辑服务器将在线编辑的技能代码存储在网络文件系统NFS中的对应技能目录下。运行服务器根据目标技能信息获取到的目标技能目录获取到网络文件系统NFS中存储的目标技能目录。
其中,技能目录用来指示根据对应的该目标技能或者技能代码编辑语言中的至少一种确定该目标技能代码在网络文件系统NFS中的存储位置。
可选的,使用不同的编辑技能代码的编辑语言编辑同一种技能,其技能代码可以存储在网络文件系统NFS中的不同的存储位置。
在步骤404中,运行服务器获取该技能目录中存储的目标技能代码。
在本公开实施例中,运行服务器可以在网络文件系统NFS中获取到的目录下获得存储的目标技能代码。
其中,目标技能代码可以用来指示由编辑服务器发送的该目标技能对应的代码。
在步骤405中,响应于接收到该目标技能运行指令,运行服务器读取对应的该目标技能代码。
在本公开实施例中,当产品设备接收到用户发送的目标技能运行指令时,运行服务器可以获取解析目标技能代码。
其中,目标技能运行指令可以是用来指示运行目标技能中的某一功能的指令。
比如,当用户需要运行的技能是产品设备的天气预报技能中,对当地温度的预报功能时,用户可以通过发送语音指令“现在的温度情况”作为目标技能运行指令,使运行服务器在接收到指令后获取解析天气预报的技能代码。
在步骤406中,根据读取的该目标技能代码,运行服务器获取该目标技能代码对应的目标技能脚本代码。
可选的,运行服务器可以按照目标技能运行指令将目标技能代码转化为可以执行某一部分功能的目标技能脚本代码。
在步骤407中,运行服务器运行该目标技能脚本代码。
在本公开实施例中,运行服务器可以该目标技能脚本代码可以实现目标技能的部分功能。
在步骤408中,响应于该目标技能脚本代码运行完成,运行服务器接收该目标技能的运行结果。
在本公开实施例中,当目标技能的部分功能按照目标技能脚本代码运行完成之后,产品设备发送运行响应给运行服务器,运行服务器接收到该响应判断运行结果。
其中,运行结果可以用于指示该目标技能是否正常运行。
可选的,当产品设备成功运行目标技能脚本代码时,运行服务器可以接收到运行成功的响应;当产品设备没有成功运行目标技能脚本代码时,运行服务器可以接收到运行失败的响应。
综上所述,本公开实施例中提供的技能代码的获取方法,运行服务器根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录,然后获取该技能目录中存储的目标技能代码,最后读取该目标技能代码。通过上述方案,各个产品设备的运行服务器可以通过从网络文件系统NFS中获取需要的技能代码,并且直接通过读取该技能代码运行该技能,从而在保证了技能代码获取的准确性的情况下,减少了下载复制技能代码的步骤,从而提高了通过技能代码运行技能的稳定性。
图5是根据一示例性实施例示出的一种技能代码编辑发布的方法示意图。如图5所示,在开发者网站侧,开发人员通过在开发者网站上在线编辑技能代码,将技能代码由编辑服务器发送到NAS中,并且存储在NAS中,在产品设备侧普通用户可以通过语音操控产品设备使产品设备对应的运行服务器通过语音服务(Azero Voice Service,AVS)使用产品设备的用户可以在正式环境下运行技能库中存储的技能,技能库中存储的技能可以从NAS中直接获取。通过这一过程,在线编辑的技能代码可以存储在NAS中,并由运行服务器直接从NAS中获取运行。
图6是根据一示例性实施例示出的一种技能代码编辑共享的方法示意图。如图6所示,在开发者网站侧,开发人员通过在开发者网站上在线编辑技能代码并且将技能代码发布存储在NAS中,不同的产品设备侧的普通用户可以分别通过语音操控产品设备使产品设备对应的运行服务器通过语音服务使用产品设备的用户可以在正式环境下运行技能库中存储的技能,技能库中存储的技能可以分别从NAS中直接获取。也就是说,NAS中存储的技能代码可以共享给各个产品设备对应的运行服务器。
图7是根据一示例性实施例示出的一种技能代码的获取装置的框图,如图7所示,该技能代码的获取方法可以由运行服务器执行,比如,该运行服务器可以是图1所示的运行服务器130。如图7所示,该技能代码的获取装置可以包括:
目录获取模块710,用于根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录;
代码获取模块720,用于获取所述技能目录中存储的目标技能代码,所述目标技能代码是由编辑服务器存储到所述技能目录中的代码;
代码读取模块730,用于读取所述目标技能代码。
可选的,所述目录获取模块710,包括:
信息获取子模块,用于从数据库中获取所述目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系;
目录确定子模块,用于通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
目录获取子模块,用于从所述网络文件系统NFS中获取确定的所述技能目录。
可选的,所述技能目录用来指示根据对应的所述目标技能或者技能代码编辑语言中的至少一种确定所述目标技能代码在网络文件系统NFS中的存储位置。
可选的,所述代码读取模块730,包括:
代码读取子模块,用于响应于接收到所述目标技能运行指令,读取对应的所述目标技能代码。
可选的,所述装置还包括:
脚本获取模块,用于根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
脚本运行模块,用于运行所述目标技能脚本代码;
结果接收模块,用于响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
综上所述,本公开实施例中提供的技能代码的获取方法,运行服务器根据目标技能信息,从网络文件系统NFS中获取该目标技能信息对应的技能目录,然后获取该技能目录中存储的目标技能代码,最后读取该目标技能代码。通过上述方案,各个产品设备的运行服务器可以通过从网络文件系统NFS中获取需要的技能代码,并且直接通过读取该技能代码运行该技能,从而在保证了技能代码获取的准确性的情况下,减少了下载复制技能代码的步骤,从而提高了通过技能代码运行技能的稳定性。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种技能代码的获取装置,该技能代码的获取装置可以通过硬件或者软硬结合的方式实现为计算机设备的全部或者部分,能够实现本公开上述图3或图4任一所示实施例中的全部或部分步骤,该技能代码的获取方法可以由运行服务器执行,比如,该运行服务器可以是图1所示的运行服务器130。该技能代码的获取装置还包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录;
获取所述技能目录中存储的目标技能代码,所述目标技能代码是由编辑服务器存储到所述技能目录中的代码;
读取所述目标技能代码。
可选的,所述根据目标技能信息,从网络文件系统NFS中获取所述目标技能信息对应的技能目录,包括:
从数据库中获取所述目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系;
通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
从所述网络文件系统NFS中获取确定的所述技能目录。
可选的,所述技能目录用来指示根据对应的所述目标技能或者技能代码编辑语言中的至少一种确定所述目标技能代码在网络文件系统NFS中的存储位置。
可选的,所述读取所述目标技能代码,包括:
响应于接收到所述目标技能运行指令,读取对应的所述目标技能代码。
可选的,所述方法还包括:
根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
运行所述目标技能脚本代码;
响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
图8是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备800包括中央处理单元(Central Processing Unit,CPU)801、包括随机存取存储器(Random Access Memory,RAM)802和只读存储器(Read-Only Memory,ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机设备可读介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本公开的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器801通过执行该一个或一个以上程序来实现图3或图4所示的方法的全部或者部分步骤。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机设备可读介质中或者作为计算机设备可读介质上的一个或多个指令或代码进行传输。计算机设备可读介质包括计算机设备存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机设备程序的任何介质。存储介质可以是通用或专用计算机设备能够存取的任何可用介质。
本公开实施例还提供了一种计算机设备存储介质,用于储存为上述测试装置所用的计算机设备软件指令,其包含用于执行上述技能代码的获取方法所设计的程序。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (6)
1.一种技能代码的获取方法,其特征在于,所述方法包括:
根据用户发出的用户指令,从数据库中获取与所述用户指令对应的目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系,所述技能目录是编辑服务器建立并挂载到开发者网站指定目录的NFS虚拟目录;
通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
从网络文件系统NFS中获取确定的所述技能目录;
获取所述技能目录中存储的目标技能代码,所述目标技能代码是由所述编辑服务器将在线编辑得到的技能代码,按照技能与技能目录的对应关系存储到所述技能目录中的,所述技能目录中的技能代码是按统一的目录结构存储的;
响应于接收到所述目标技能的运行指令,读取所述目标技能代码;
根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
运行所述目标技能脚本代码;
响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
2.根据权利要求1所述的方法,其特征在于,所述技能目录用来指示根据对应的所述目标技能或者技能代码编辑语言中的至少一种确定所述目标技能代码在网络文件系统NFS中的存储位置。
3.一种技能代码获取的装置,其特征在于,所述装置包括:
目录获取模块,包括信息获取子模块、目录确定子模块、目录获取子模块;
所述信息获取子模块,用于根据用户发出的用户指令,从数据库中获取与所述用户指令对应的目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系,所述技能目录是编辑服务器建立并挂载到开发者网站指定目录的NFS虚拟目录;
所述目录确定子模块,用于通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
所述目录获取子模块,用于从网络文件系统NFS中获取确定的所述技能目录;
代码获取模块,用于获取所述技能目录中存储的目标技能代码,所述目标技能代码是由所述编辑服务器将在线编辑得到的技能代码,按照技能与技能目录的对应关系存储到所述技能目录中的代码,所述技能目录中的技能代码是按统一的目录结构存储;
代码读取模块,用于响应于接收到所述目标技能的运行指令,读取所述目标技能代码;
脚本获取模块,用于根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
脚本运行模块,用于运行所述目标技能脚本代码;
结果接收模块,用于响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
4.根据权利要求3所述的装置,其特征在于,所述技能目录用来指示根据对应的所述目标技能或者技能代码编辑语言中的至少一种确定所述目标技能代码在网络文件系统NFS中的存储位置。
5.一种技能代码获取的装置,其特征在于,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
根据用户发出的用户指令,从数据库中获取与所述用户指令对应的目标技能信息,所述目标技能信息用来指示预先设定的目标技能与技能目录的对应关系,所述技能目录是编辑服务器建立并挂载到开发者网站指定目录的NFS虚拟目录;
通过获取所述目标技能与所述技能目录的对应关系,确定所述目标技能信息对应的所述技能目录;
从网络文件系统NFS中获取确定的所述技能目录;
获取所述技能目录中存储的目标技能代码,所述目标技能代码是由所述编辑服务器将在线编辑得到的技能代码,按照技能与技能目录的对应关系存储到所述技能目录中的代码,所述技能目录中的技能代码是按统一的目录结构存储的;
响应于接收到所述目标技能的运行指令,读取所述目标技能代码;
根据读取的所述目标技能代码,获取所述目标技能代码对应的目标技能脚本代码;
运行所述目标技能脚本代码;
响应于所述目标技能脚本代码运行完成,接收所述目标技能的运行结果,所述运行结果用于指示所述目标技能是否正常运行。
6.一种计算机设备可读存储介质,其特征在于,所述计算机设备可读存储介质中包含可执行指令,所述可执行指令由处理器调用执行,以实现上述权利要求1至2任一所述的技能代码的获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250395.6A CN111580811B (zh) | 2020-04-01 | 2020-04-01 | 技能代码的获取方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250395.6A CN111580811B (zh) | 2020-04-01 | 2020-04-01 | 技能代码的获取方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580811A CN111580811A (zh) | 2020-08-25 |
CN111580811B true CN111580811B (zh) | 2024-02-23 |
Family
ID=72126121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010250395.6A Active CN111580811B (zh) | 2020-04-01 | 2020-04-01 | 技能代码的获取方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580811B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938039B1 (en) * | 2000-06-30 | 2005-08-30 | Emc Corporation | Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol |
CN103797484A (zh) * | 2011-06-15 | 2014-05-14 | 亚马逊科技公司 | 与远程网络存储系统连接的本地网络存储 |
CN107894886A (zh) * | 2017-11-23 | 2018-04-10 | 北京九章云极科技有限公司 | 一种运行代码的方法、装置及终端设备 |
CN109189384A (zh) * | 2018-07-27 | 2019-01-11 | 武汉斗鱼网络科技有限公司 | 一种代码的复用方法及装置 |
CN110019041A (zh) * | 2019-04-12 | 2019-07-16 | 苏州浪潮智能科技有限公司 | Nfs服务端目录读取方法、装置、设备及存储介质 |
CN110149375A (zh) * | 2019-04-30 | 2019-08-20 | 广州微算互联信息技术有限公司 | 网络存储云手机间的数据共享方法、系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10642606B2 (en) * | 2017-09-28 | 2020-05-05 | International Business Machines Corporation | Re-use of code |
-
2020
- 2020-04-01 CN CN202010250395.6A patent/CN111580811B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938039B1 (en) * | 2000-06-30 | 2005-08-30 | Emc Corporation | Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol |
CN103797484A (zh) * | 2011-06-15 | 2014-05-14 | 亚马逊科技公司 | 与远程网络存储系统连接的本地网络存储 |
CN107894886A (zh) * | 2017-11-23 | 2018-04-10 | 北京九章云极科技有限公司 | 一种运行代码的方法、装置及终端设备 |
CN109189384A (zh) * | 2018-07-27 | 2019-01-11 | 武汉斗鱼网络科技有限公司 | 一种代码的复用方法及装置 |
CN110019041A (zh) * | 2019-04-12 | 2019-07-16 | 苏州浪潮智能科技有限公司 | Nfs服务端目录读取方法、装置、设备及存储介质 |
CN110149375A (zh) * | 2019-04-30 | 2019-08-20 | 广州微算互联信息技术有限公司 | 网络存储云手机间的数据共享方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111580811A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11915016B2 (en) | System and method for identifying, indexing, and navigating to deep states of mobile applications | |
US6886024B1 (en) | Distributed application control system, control method and a program | |
CN108293081B (zh) | 通过用户界面事件的程序重放深度链接到移动应用状态 | |
CN110083455B (zh) | 图计算处理方法、装置、介质及电子设备 | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
CN108763042A (zh) | 一种基于python的云服务器性能数据采集方法及装置 | |
CN111200595A (zh) | 一种访问容器的权限管理方法、装置和电子设备 | |
CN114461269A (zh) | 软件开发发布管理方法、装置、设备及存储介质 | |
CN112988165A (zh) | 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质 | |
CN115757014A (zh) | 一种功耗测试方法及装置 | |
CN111580811B (zh) | 技能代码的获取方法、装置及存储介质 | |
CN113448793B (zh) | 一种兼容多操作系统的系统监控方法及装置 | |
US20100287292A1 (en) | Method, apparatus and computer program product for generating a content website in a data communications network | |
US11449313B2 (en) | System and method applied to integrated development environment | |
CN114281341A (zh) | 数据结构定义文件的编译方法、装置、计算机设备及介质 | |
CN114389936A (zh) | 一种跨云多集群部署运维方法、系统、处理器和存储介质 | |
CN113535037A (zh) | 命令行终端交互展示方法、装置、计算机可读介质及设备 | |
CN113761402A (zh) | 一种链接调试方法、装置、设备和存储介质 | |
CN113791819A (zh) | 接口文档生成方法和装置、存储介质、电子设备 | |
CN113849186A (zh) | 脚本文件的处理方法、装置、存储介质与电子设备 | |
CN117648198B (zh) | 应用适配方法及装置、设备及存储介质 | |
JP2023534330A (ja) | ソフトウェア開発の補助処理方法、機器、電子機器、記憶媒体及びプログラム | |
CN115657949A (zh) | 本地存储数据的清除方法及装置、存储介质及电子设备 | |
CN112989233A (zh) | 文件下载方法、装置及存储介质 | |
CN116069381A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |