CN113138764A - 代码运行方法及相关产品 - Google Patents

代码运行方法及相关产品 Download PDF

Info

Publication number
CN113138764A
CN113138764A CN202110466189.3A CN202110466189A CN113138764A CN 113138764 A CN113138764 A CN 113138764A CN 202110466189 A CN202110466189 A CN 202110466189A CN 113138764 A CN113138764 A CN 113138764A
Authority
CN
China
Prior art keywords
intelligent hardware
code
project
server
electronic equipment
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
CN202110466189.3A
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.)
Shanghai Sensetime Lingang Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Lingang Intelligent 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 Shanghai Sensetime Lingang Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Lingang Intelligent Technology Co Ltd
Priority to CN202110466189.3A priority Critical patent/CN113138764A/zh
Publication of CN113138764A publication Critical patent/CN113138764A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种代码运行方法及相关产品,该代码运行方法包括:电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,该在线编程平台提供所述标准计算机程序设计语言的在线编程环境;电子设备向与电子设备建立通信连接的智能硬件发送项目代码,智能硬件用于在标准化程序运行环境下运行项目代码;其中,智能硬件预置标准化程序运行环境,标准化程序运行环境支持项目代码的运行。本申请实施例降低基于智能硬件的编程教育的门槛。

Description

代码运行方法及相关产品
技术领域
本申请涉及编程教育技术领域,具体涉及一种代码运行方法及相关产品。
背景技术
目前,智能硬件的教育大多数是针对本科及以上的学生,并且相对门槛较高,而高职高专等涉及的智能硬件教育往往停留在基本的输入输出(input output,IO)控制等,涉及的智能硬件算力相对较弱。由于智能硬件的多种多样,从基础的IO控制、自动化控制、物联网通信、到结合人工智能算法的部署等,所需要用的硬件品类往往也大为不同,而每款智能硬件的学习所需要的入门环境、开发环境大为不同,使用者需要熟悉开发环境的搭建,给基于智能硬件的编程教育提高了门槛。
发明内容
本申请实施例提供一种代码运行方法及相关产品。
本申请实施例的第一方面提供了一种代码运行方法,所述方法应用于电子设备,所述方法包括:
所述电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,所述在线编程平台提供所述标准计算机程序设计语言的在线编程环境;
所述电子设备向与所述电子设备建立通信连接的智能硬件发送所述项目代码,所述智能硬件用于在标准化程序运行环境下运行所述项目代码;其中,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持所述项目代码的运行。
可选的,所述电子设备向与所述电子设备建立通信连接的智能硬件发送所述项目代码之后,所述方法还包括:
所述电子设备接收所述智能硬件发送的运行结果,所述运行结果是所述智能硬件在标准化程序运行环境下运行所述项目代码得到的。
可选的,所述电子设备安装客户端应用,所述客户端应用用于提供所述智能硬件的访问功能;所述电子设备向与所述电子设备建立通信连接的智能硬件发送所述项目代码之前,所述方法还包括:
所述电子设备通过所述客户端应用对所述智能硬件进行网络配置,将所述智能硬件和所述电子设备接入同一个局域网。
可选的,所述电子设备接收输入的采用标准计算机程序设计语言编写的项目代码之后,所述方法还包括:
所述电子设备扫描到所述智能硬件后,与所述智能硬件进行连接,连接成功后,显示所述智能硬件的监控信息。
可选的,所述电子设备用于对所述项目代码的编写版本进行管理。
本申请实施例的第二方面提供了一种代码运行方法,所述方法应用于智能硬件,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持标准计算机程序设计语言的代码运行,所述方法包括:
所述智能硬件接收电子设备发送的采用所述标准计算机程序设计语言编写的项目代码;
所述智能硬件在所述标准化程序运行环境下运行所述项目代码,得到运行结果。
可选的,所述智能硬件在所述标准化程序运行环境下运行所述项目代码,得到运行结果包括:
所述智能硬件获取所述项目代码所用的必要数据,所述必要数据包括第一数据集、第一模型文件和第一编程库中的至少一个,所述第一数据集为所述项目代码所用的至少一个数据集中的任一个,所述第一模型文件为所述项目代码所用的至少一个模型文件中的任一个,所述第一编程库为所述项目代码所用的至少一个编程库中的任一个;
所述智能硬件在所述标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
可选的,在所述必要数据包括第一数据集的情况下,所述智能硬件获取所述项目代码所用的必要数据包括:
所述智能硬件确定所述项目代码所用的所述第一数据集;
所述智能硬件判断是否存储所述第一数据集;
若否,所述智能硬件利用所述第一数据集在服务器的第一存储地址从所述服务器获取所述第一数据集。
可选的,在所述必要数据包括第一模型文件的情况下,所述智能硬件获取所述项目代码所用的必要数据包括:
所述智能硬件确定所述项目代码所用的所述第一模型文件;
所述智能硬件判断是否存储所述第一模型文件;
若否,所述智能硬件利用所述第一模型文件在服务器的第二存储地址从所述服务器获取所述第一模型文件。
可选的,在所述必要数据包括第一编程库的情况下,所述智能硬件获取所述项目代码所用的必要数据包括:
所述智能硬件确定所述项目代码所用的所述第一编程库;
所述智能硬件判断是否存储所述第一编程库;
若否,所述智能硬件利用所述第一编程库在服务器的第三存储地址从所述服务器获取所述第一编程库。
可选的,所述智能硬件在所述标准化程序运行环境下运行所述项目代码,得到运行结果之后,所述方法还包括:
所述智能硬件将所述运行结果发送给所述电子设备,所述电子设备用于显示所述运行结果;所述运行结果包括图片、视频以及项目代码运行中产生的文件中的至少一种。
本申请实施例的第三方面提供了一种代码运行方法,所述方法应用于服务器,所述方法包括:
所述服务器接收电子设备发送的针对项目代码所用的必要数据的查询指令,响应所述查询指令查询所述必要数据在所述服务器的存储地址;
所述服务器将所述必要数据在所述服务器的存储地址发送至所述电子设备,所述电子设备用于将所述必要数据在所述服务器的存储地址发送至智能硬件,以使所述智能硬件根据所述必要数据在所述服务器的存储地址从所述服务器获取所述必要数据,在标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
本申请实施例的第四方面提供了一种代码运行装置,所述装置应用于电子设备,所述装置包括:
第一接收单元,用于在所述电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,所述在线编程平台提供所述标准计算机程序设计语言的在线编程环境;
第一发送单元,用于向与所述电子设备建立通信连接的智能硬件发送所述项目代码,所述智能硬件用于在标准化程序运行环境下运行所述项目代码;其中,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持所述项目代码的运行。
其中,所述电子设备运行浏览器服务器BS架构,所述电子设备用于在所述BS架构下实现在线编程。
本申请实施例的第五方面提供了一种代码运行装置,所述装置应用于智能硬件,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持标准计算机程序设计语言的代码运行,所述装置包括:
第二接收单元,用于接收电子设备发送的采用所述标准计算机程序设计语言编写的项目代码;
代码运行单元,用于在所述标准化程序运行环境下运行所述项目代码,得到运行结果。
本申请实施例的第六方面提供了一种代码运行装置,所述装置应用于服务器,所述装置包括:
第三接收单元,用于接收电子设备发送的针对项目代码所用的必要数据的查询指令,响应所述查询指令查询所述必要数据在所述服务器的存储地址;
第三发送单元,用于将所述必要数据在所述服务器的存储地址发送至所述电子设备,所述电子设备用于将所述必要数据在所述服务器的存储地址发送至智能硬件,以使所述智能硬件根据所述必要数据在所述服务器的存储地址从所述服务器获取所述必要数据,在标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
本申请实施例的第七方面提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面中的步骤指令。
本申请实施例的第八方面提供了一种智能硬件,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第二方面中的步骤指令。
本申请实施例的第九方面提供了一种服务器,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第三方面中的步骤指令。
本申请实施例的第十方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面或第二方面或第三方面中所描述的部分或全部步骤。
本申请实施例的第十一方面提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面或第二方面或第三方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
本申请实施例中,电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,该在线编程平台提供标准计算机程序设计语言的在线编程环境;电子设备向与电子设备建立通信连接的智能硬件发送项目代码,智能硬件用于在标准化程序运行环境下运行项目代码;其中,智能硬件预置标准化程序运行环境,标准化程序运行环境支持项目代码的运行。本申请实施例的智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种电子设备和智能硬件的通信连接架构图;
图2是本申请实施例提供的一种代码运行方法的流程示意图;
图3是本申请实施例提供的另一种代码运行方法的流程示意图;
图4是本申请实施例提供的另一种代码运行方法的流程示意图;
图5是本申请实施例提供的另一种代码运行方法的流程示意图;
图6是本申请实施例提供的一种在线编程平台的展示界面示意图;
图7为本申请实施例提供的一种代码运行装置的结构示意图;
图8是本申请实施例提供的一种电子设备的结构示意图;
图9为本申请实施例提供的另一种代码运行装置的结构示意图;
图10是本申请实施例提供的一种智能硬件的结构示意图;
图11为本申请实施例提供的另一种代码运行装置的结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的电子设备可以包括各种具有软件代码输入能力、运算能力和通信能力的设备,比如,个人电脑。个人电脑也可以称为用户电脑,可以包括台式电脑、笔记本电脑等。为方便描述,上面提到的设备统称为电子设备。
本申请实施例所涉及到的智能硬件可以包括能够运行软件代码的智能手机、智能电视、智能家居设备、智能汽车、智能玩具、智能机器人、开发板等。为方便描述,上面提到的设备统称为智能硬件。在一些可能的实现方式中,本申请实施例提供的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
请参阅图1,图1是本申请实施例提供的一种电子设备和智能硬件的通信连接架构图。如图1所示,通信连接架构图包括电子设备100和与电子设备100通信连接的至少一个智能硬件101。电子设备100可以直接与智能硬件101建立通信连接,电子设备100也可以通过其他设备与智能硬件101建立通信连接。具体的。智能硬件101可以包括树莓派、Jetson、Arduino、Microbit等微型电脑,可以支持Java、python等标准计算机程序设计语言的运行。电子设备100可以通过串口连接、WiFi连接、蓝牙连接、网络直连等方式与智能硬件101进行通信连接。
其中,电子设备100可以登录在线编程平台,该在线编程平台提供标准计算机程序设计语言(比如,Java、python等)的在线编程环境。在线编程平台可以通过浏览器提供给编程人员在线编程界面,编程人员在电子设备100上打开浏览器,就可以利用浏览器提供的在线编程界面进行项目代码编辑,从而实现标准计算机程序设计语言的在线编程,编程人员不需要进行编程环境的搭建等繁琐操作,降低编程人员熟悉编程环境的难度。编程人员可以通过电子设备100的输入装置(比如,键盘、鼠标、触控显示屏)输入采用标准计算机程序设计语言编写的项目代码,电子设备100支持标准计算机程序设计语言的代码编写。电子设备100可以向与电子设备100建立通信连接的智能硬件101发送项目代码,智能硬件101接收电子设备100发送的项目代码后,在标准化程序运行环境下运行项目代码,得到运行结果。项目代码是实现项目功能的程序代码。智能硬件101预置标准化程序运行环境,该标准化程序运行环境是支持标准计算机程序设计语言的代码的运行的环境。
图1所示的架构可以用于在线编程教育。比如,可以用于人工智能的编程教育。可用于为K12(kindergarten through twelfth grade)和高职学校进行人工智能和智能硬件相关的项目制教学,实训课程教学等,还可以用于为学生提供课外探索拓展学习,基于智能硬件进行作品创作,还可以用于为用户提供简洁的配网、扫描、连接、监控硬件的流程,还可以用于为用户提供硬件文件管理、模型部署、代码运行等工具。
本申请实施例的智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
请参阅图2,图2是本申请实施例提供的一种代码运行方法的流程示意图。该方法应用于电子设备,如图2所示,该代码运行方法可以包括如下步骤。
201,电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,该在线编程平台提供标准计算机程序设计语言的在线编程环境。
本申请实施例中,电子设备上可以运行在线编程平台,该在线编程平台使用浏览器服务器(browser/server,B/S)架构,电子设备用于在B/S架构下实现在线编程。B/S架构也可以称为BS架构。BS架构下,只需要在电子设备上安装一个浏览器即可,将在线编程功能实现的核心部分集中到服务器上,简化了在线编程功能的开发、维护和使用。在线编程平台是一种计算机软件的操作环境,在该在线编程平台上,可以实现代码的输入,代码的管理、代码的运行、代码运行结果的展示等操作。服务器可以包括云端服务器或普通服务器。云端服务器也可以简称为:云服务器。
比如,BS架构下的在线编程可以包括如下流程:浏览器(browser)向服务器(server)发送统一资源定位符(uniform resource locator,URL),服务器根据该URL找到对应的超文本标记语言(hyper text markup language,HTML)页面,将该HTML页面返回给浏览器。
又比如,BS架构下的在线编程可以包括如下流程:浏览器上打开一个文本编辑器,编程人员编写完代码后提交给服务器进行动态编译运行,服务器向浏览器返回代码运行结果。
编程人员或者编程学习人员可以在电子设备上输入采用标准计算机程序设计语言编写的项目代码。标准计算机程序设计语言可以包括python、Java、C、C++等。
该在线编程平台具体可以是人工智能科创平台,也可以是人工智能实训平台。
可选的,电子设备(比如,用户电脑)可以安装助手客户端应用,提供智能硬件的访问功能。首先,用户利用在线编程平台对智能硬件进行网络配置,将智能硬件和电子设备接入同一个局域网中。然后,通过在线编程平台进行项目代码的编辑、版本的管理等,完成项目后,通过在线编程平台提供的硬件管理功能,进行扫描和连接,与智能硬件连接成功后,将显示智能硬件的一些监控信息,如中央处理器(central processing unit,CPU)和内存占用情况等。然后,就可以将项目在智能硬件上运行了,智能硬件上的服务会同步项目代码和数据集等信息,在智能硬件上执行后将结果推送到在线编程平台,根据项目代码的实际功能,显示图片、文字、视频等信息。在线编程平台提供了相应的软件开发工具包(softwaredevelopment kit,SDK)和应用程序编程接口(application programming interface,API)。该在线编程平台可以为智能硬件提供标准的平台SDK,用于简化编程难度,以及实现和在线编程环境的平台交互,如图片输出、视频输出、错误输出、标准输入输出、键盘输入等。该在线编程平台可以提供开放平台API(比如,基于开源或非开源SDK的开放平台API),用于智能硬件快速接入使用人工智能API,也可以使用在线编程环境进行模型训练,通过文件管理服务,将模型部署到智能硬件进行端上推理等。
202,电子设备向与电子设备建立通信连接的智能硬件发送项目代码,智能硬件用于在标准化程序运行环境下运行项目代码。
其中,智能硬件预置标准化程序运行环境,标准化程序运行环境支持项目代码的运行。比如,若该标准化程序运行环境为Python程序运行环境,则该标准化程序运行环境支持采用Python编写的项目代码的运行。
标准化程序运行环境是支持采用标准计算机程序设计语言程序运行的项目代码的运行所需的软件集合,例如智能硬件预置的人工智能框架和开发库等SDK。
本申请实施例中,智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,并将项目代码直接或者通过平台服务器发送给智能设备,从而使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
可选的,在执行步骤202之后,还可以执行如下步骤:
电子设备接收智能硬件发送的运行结果,该运行结果是智能硬件在标准化程序运行环境下运行项目代码得到的。
本申请实施例中,运行结果可以包括:图片、文字、视频等信息。对于不同的项目代码,由于实现目的不同,其运行结果可能会不同。比如,为了实现人脸图像搜索所编写的项目代码,其运行结果可能是一张人脸图片。又比如,为了实现视频剪辑所编写的项目代码,其运行结果可能是一段编辑好的视频。
本申请实施例中,智能硬件执行项目代码后,智能硬件可以主动向电子设备推送运行结果。可以在智能硬件上提供推送服务,具体的,可以给智能硬件提供了一套用于推送结果到在线编程平台的平台库,例如该平台库可以包括支持标准的Python API和SDK,使得在电子设备上运行的在线编程平台能够及时接收到智能硬件运行项目代码的运行结果。
本申请实施例中,智能硬件预置标准化程序运行环境,在电子设备侧采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
请参阅图3,图3是本申请实施例提供的另一种代码运行方法的流程示意图。该方法应用于电子设备,如图3所示,该代码运行方法可以包括如下步骤。
301,电子设备通过客户端应用对智能硬件进行网络配置,将智能硬件和电子设备接入同一个局域网。
在之前的方案中,电子设备通常需要安装离线软件,软件安装包一般较大,并且容易有兼容性问题。甚至每一款智能硬件需要安装对应的环境,部分智能硬件还需要Linux环境,很难适配不同的智能硬件的需求。
本申请实施例中,电子设备安装客户端应用,该客户端应用用于提供智能硬件的访问功能。客户端应用,也可称为客户端助手,电子设备安装客户端应用后,在线编程平台可以在电子设备端运行,只需在电子设备安装客户端应用即可,无需为不同的智能硬件安装不同的客户端。本申请实施例的客户端应用的功能相对较为独立和稳定,可以支持常见的windows、osx等系统,通用性较好。
电子设备开启客户端应用后,可以获取电子设备接入的局域网和智能硬件接入的局域网,若电子设备接入的局域网和智能硬件接入的局域网不同,通过客户端应用对智能硬件接入的网络进行修改,使得智能硬件和电子设备接入同一个局域网。或者,电子设备可以通过客户端将未接入网络的智能硬件接入电子设备接入的局域网。
步骤301可以在步骤302或步骤303之前执行。
302,电子设备接收输入的采用标准计算机程序设计语言编写的项目代码。
303,电子设备向与电子设备建立通信连接的智能硬件发送项目代码,智能硬件用于在标准化程序运行环境下运行项目代码。
其中,步骤302和步骤303的具体实施可以参见图2所示的步骤201和步骤202,此处不再赘述。
可选的,在执行步骤303之前,还可以执行如下步骤:
所述电子设备扫描到所述智能硬件后,与所述智能硬件进行连接,连接成功后,显示所述智能硬件的监控信息。
本申请实施例中,当电子设备与智能硬件接入同一个局域网后,电子设备可以扫描局域网内的智能硬件,与智能硬件通过局域网连接,当电子设备与智能硬件连接成功后,电子设备可以通过显示屏显示智能硬件的监控信息。该监控信息可以包括该智能硬件的CPU占用信息和内存占用信息等。
电子设备与智能硬件可以是通过无线方式连接,扫描智能硬件可以通过用户数据包协议(user datagram protocol,UDP)去广播来实现。
本申请实施例中,在线编程平台还提供标准智能硬件固件和系统镜像,电子设备与智能硬件进行网络配置或者进行连接时,可以将该镜像刷入智能硬件,之后智能硬件即可轻易使用云端在线编程平台功能。
本申请实施例开启客户端应用后,运行在线编程平台,可以直观的通过在线编程平台进行智能硬件的扫描和连接,直接在在线编程平台进行文件的操作和管理,并且在在线编程平台查看结果。电子设备无需使用安全外壳协议(secure shell,SSH)、远程桌面等方式与智能硬件连接,提高了电子设备与智能硬件连接的智能性。
请参阅图4,图4是本申请实施例提供的另一种代码运行方法的流程示意图。该方法应用于智能硬件,如图4所示,该代码运行方法可以包括如下步骤。
401,智能硬件接收电子设备发送的采用标准计算机程序设计语言编写的项目代码。
402,智能硬件在标准化程序运行环境下运行项目代码,得到运行结果。
运行结果可以包括图片、视频以及项目代码运行中产生的文件。
其中,智能硬件预置标准化程序运行环境,该标准化程序运行环境支持标准计算机程序设计语言的代码运行。
本申请实施例的智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备侧采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
可选的,步骤402可以包括如下步骤:
(11)智能硬件获取项目代码所用的必要数据,该必要数据包括第一数据集、第一模型文件和第一编程库中的至少一个,第一数据集为项目代码所用的至少一个数据集中的任一个,第一模型文件为项目代码所用的至少一个模型文件中的任一个,第一编程库为项目代码所用的至少一个编程库中的任一个;
(12)智能硬件在标准化程序运行环境下利用必要数据运行项目代码,得到运行结果。
其中,必要数据是运行该项目代码所必须使用的数据。智能硬件可以从电子设备获取该必要数据。但是,在必要数据占用的存储空间较大(比如,数据集可以有几个GB)的情况下,如果该必要数据跟随项目代码从电子设备传输到智能硬件,则会导致项目代码传输时间过长,影响编程人员的编程体验。如果电子设备采用BS架构,由于浏览器的数据传输能力有限,从服务器拉取必要数据会非常的慢。因此,为了进一步提高智能硬件开发效率,本申请实施例中,智能硬件可以根据约定的网络传输协议、地址和交互方式从服务器快速的获取必要数据,智能硬件从服务器获取必要数据会更为便捷,从而提高项目代码的运行速度。本申请实施例的服务器可以是云端服务器。
在项目代码的运行过程中,可以通过项目代码中包含的必要数据在服务器的存储地址,从服务器获取该必要数据,从而实现项目代码的正常运行。
可选的,在必要数据包括第一数据集的情况下,步骤(11)中,智能硬件获取项目代码所用的必要数据,可以包括如下步骤:
(111)所述智能硬件确定所述项目代码所用的所述第一数据集;
(112)所述智能硬件判断是否存储所述第一数据集;
(113)若否,所述智能硬件利用所述第一数据集在服务器的第一存储地址从所述服务器获取所述第一数据集。
(114)若是,所述智能硬件从本端获取所述第一数据集。
本申请实施例中,项目代码可以包括实现使用数据集相关的代码,如果项目代码中包含使用第一数据集相关的代码,则确定该项目代码所用的第一数据集。数据集一般存储在云端服务器中。该云端服务器可以是与客户端应用对应的云端个人空间。该云端个人空间用于存储用户的云端数据,可以通过云端个人空间保存模型文件、数据集、编程库等。
项目代码可以包含第一数据集在云端服务器的第一存储地址,该第一数据集在云端服务器的第一存储地址可以是用户在编写代码过程中写入的,也可以是电子设备通过BS架构(浏览器和云端服务器组成的BS架构)中的浏览器向上述云端服务器获取的。具体的,电子设备可以将第一数据集的第一存储地址、与云端服务器交互的协议、与云端服务器交互的交互方式告诉智能硬件,以便智能硬件采用上述交互方式与交互协议从云端服务器获取上述第一数据集。
其中,数据集(dataset)可以相当于资源,在人工智能(artificialintelligence,AI)编程一般都会有数据集的概念,数据集一般比较大(比如,几百兆甚至几个G),浏览器通常没有这种直接从云端服务器拉取较大的数据的能力。数据集一般不会和代码放在一起,而是存储在云端服务器,需要引用的时候,智能硬件可以从云端服务器拉取。举例来说,数据集可以包括人脸识别数据集、物体检测数据集、手势识别数据集等。数据集可以用于AI模型的训练和测试。
本申请的智能硬件可以与云端服务器交互,可以直接和云端服务器的个人空间进行复制粘贴操作。
可选的,在必要数据包括第一模型文件的情况下,步骤(11)中,智能硬件获取项目代码所用的必要数据,可以包括如下步骤:
(115)所述智能硬件确定所述项目代码所用的所述第一模型文件;
(116)所述智能硬件判断是否存储所述第一模型文件;
(117)若否,所述智能硬件利用所述第一模型文件在服务器的第二存储地址从所述服务器获取所述第一模型文件;
(118)若是,所述智能硬件从本端获取所述第一模型文件。
本申请实施例中,项目代码可以包括实现使用模型文件相关的代码,如果项目代码中包含使用第一模型文件的代码,则确定该项目代码所用的第一模型文件。模型文件一般存储在云端服务器中。该云端服务器可以是与客户端应用对应的云端个人空间。该云端个人空间用于存储用户的云端数据,可以通过云端个人空间保存模型文件、数据集、编程库等。
项目代码可以包含第一模型文件在云端服务器的第二存储地址,该第一模型文件在云端服务器的第二存储地址可以是用户在编写代码过程中写入的,也可以是电子设备通过BS架构(浏览器和云端服务器组成的BS架构)中的浏览器向上述云端服务器获取的。具体的,电子设备可以将第一模型文件的第二存储地址、与云端服务器交互的协议、与云端服务器交互的交互方式告诉智能硬件,以便智能硬件采用上述交互方式与交互协议从云端服务器获取上述第一模型文件。
其中,模型文件一般比较大,浏览器通常没有这种直接从云端服务器拉取模型文件的能力。模型文件一般不会和代码放在一起,而是存储在云端服务器,需要引用的时候,智能硬件可以从云端服务器拉取。举例来说,模型文件可以包括.h5文件、.keras文件等。模型文件可以包括模型的结构、模型的权重、训练配置、优化器的状态等。可以通过模型文件对AI模型进行训练。
可选的,在所述必要数据包括第一编程库的情况下,步骤(11)中,智能硬件获取项目代码所用的必要数据,可以包括如下步骤:
(119)所述智能硬件确定所述项目代码所用的所述第一编程库;
(120)所述智能硬件判断是否存储所述第一编程库;
(121)若否,所述智能硬件利用所述第一编程库在服务器的第三存储地址从所述服务器获取所述第一编程库。
(122)若是,所述智能硬件从本端获取所述第一编程库。
本申请实施例中,项目代码可以包括实现使用编程库相关的代码,如果项目代码中包含使用第一编程库的代码,则确定该项目代码所用的第一编程库。编程库一般存储在云端服务器中。该云端服务器可以是与客户端应用对应的云端个人空间。该云端个人空间用于存储用户的云端数据,可以通过云端个人空间保存编程库、数据集、编程库等。
项目代码可以包含第一编程库在云端服务器的第三存储地址,该第一编程库在云端服务器的第三存储地址可以是用户在编写代码过程中写入的,也可以是电子设备通过BS架构(浏览器和云端服务器组成的BS架构)中的浏览器向上述云端服务器获取的。具体的,电子设备可以将第一编程库的第三存储地址、与云端服务器交互的协议、与云端服务器交互的交互方式告诉智能硬件,以便智能硬件采用上述交互方式与交互协议从云端服务器获取上述第一编程库。
其中,编程库一般比较大,浏览器通常没有这种直接从云端服务器拉取编程库的能力。编程库一般不会和代码放在一起,而是存储在云端服务器,需要引用的时候,智能硬件可以从云端服务器拉取。编程库可以包括采用标准计算机程序设计语言编写的人工智能库。举例来说,编程库可以包括Python编程库、java编程库等。编程库可以实现环境管理、包管理、文件分发、文本处理等操作。
可选的,在执行步骤402之后,还可以执行如下步骤:
所述智能硬件将所述运行结果发送给所述电子设备,所述电子设备用于显示所述运行结果;所述运行结果包括图片、视频以及项目代码运行中产生的文件中的至少一种。
本申请实施例中,运行结果可以是标准的格式化结果。可以支持智能硬件统一的格式化结果的输入和输出。比如,可以支持标准的Python API进行输入输出交互。电子设备的在线编程平台支持图片、视频等丰富的输出格式,也支持键盘等输入交互方式。
请参阅图5,图5是本申请实施例提供的另一种代码运行方法的流程示意图。该方法应用于服务器,如图5所示,该代码运行方法可以包括如下步骤。
501,服务器接收电子设备发送的针对项目代码所用的必要数据的查询指令,响应查询指令查询必要数据在服务器的存储地址。
本申请实施例中,服务器可以是云端服务器。编程人员在电子设备侧编写项目代码时,如果该项目代码需要用到必要数据(比如,数据集、模型文件、编程库等),则可以通过在线编程平台访问云端服务器,从云端服务器查询该必要数据在云端服务器的存储地址。
502,服务器将必要数据在服务器的存储地址发送至电子设备,电子设备用于将必要数据在服务器的存储地址发送至智能硬件,以使智能硬件根据必要数据在服务器的存储地址从服务器获取必要数据,在标准化程序运行环境下利用必要数据运行项目代码,得到运行结果。
本申请实施例中,云端服务器只需查询必要数据在云端服务器的存储地址,将将必要数据在云端服务器的存储地址发送至电子设备即可,无需将必要数据传输至电子设备,降低编程所需的时间,提高编程效率。
请参阅图6,图5是本申请实施例提供的一种在线编程平台的展示界面示意图。整个在线编程平台由工具区、编辑查看区、结果输出、版本管理等子系统组成。整个在线编程平台分为在线云端环境、助手客户端、硬件固件和服务三层,其中,在线云端环境为B/S架构,提供了基于浏览器的使用体验,云端提供了项目管理、个人空间文件管理、数据集管理等功能。
如图6所示,左侧为工具区,提供了“项目文件”、“数据集管理”、“硬件管理”、“个人空间”四个主要的工具,其中项目文件为目录树的形式对代码进行管理,数据集管理用于在项目中引入数据集,硬件管理用于智能硬件的扫描、连接、监控、硬件文件管理等,个人空间用于存储用户的云端数据,可以通过它来保存模型文件等。中间区域为项目文件、个人空间文件等的编辑和查看区域,包括代码文件、图片文件、音视频等文件。右侧区域为结果输出和版本管理区域,运行项目过程中的结果将会在该区域进行展示和交互,同时,也可以对项目进行版本的管理,创建版本和切换到不同的版本。图6中,项目文件命名为“Main_py”,针对该项目文件,输入的项目代码为“Print(‘hello’)”,输出的结果为(0)Main_py;1hello。
举例来说,用户使用该在线编程平台进行项目创作的过程可以包括如下步骤:
1、项目创建;
2、项目文件的创建;
3、在项目中引用数据集;
4、在项目代码中,实现使用数据集相关的代码,路径为/data/<dataset id>/<files in dataset>;
5、扫描和连接硬件;
6、点击“运行”按钮运行代码;
7、如果代码中有文件的生成,如果模型文件的使用,数据的采集等,需要从云端下载或者从云端上传,通过个人空间和硬件文件之间进行复制粘贴即可;
8、项目开发过程中,如果需要进行版本快照的保存,通过版本管理进行版本创建、切换即可。
对于教育行业用户,智能硬件的入门门槛相对较高,往往会因为环境配置、多种硬件不一致的配置体验等原因,导致大量用户无法有效的进行智能硬件的编程和项目制作。一般而言,目前学校进行硬件教学,往往需要针对具体的硬件选择对应的工具,并且一般是离线应用,同时,硬件本身的系统设置、软件配置等,都各式各样,没有统一的规范操作,为项目创作造成了阻碍。而从教学的角度来说,快速上手,并且进阶到实质的编程教学、项目实践、人工智能物联网的结合等,才是真正要去关注的内容,以及希望学生去学习的部分,繁杂的硬件品类和上手体验,会导致学生失去学习和创作的兴趣和乐趣。相比于一般的智能硬件接入方案,本申请实施例涉及的在线编程平台具有以下优点:
用户可以在统一的在线编程平台中进行智能硬件的编程,并能结合人工智能进行学习和实践,无需复杂的硬件配置、环境配置等。
在在线编程平台上,能对智能硬件进行监控,观察智能硬件的资源消耗,能直接操作智能硬件的文件系统。
智能硬件提供了预置的编程SDK和第三方库,结合平台案例,能快速的完成原型开发和学习过程。
在线编程平台提供了版本管理功能,可以对项目的中间过程进行保存和快照。
在线编程平台提供了标准的平台结果输出SDK,实现代码在平台上的输入输出交互,如图片输出、文字输出、错误输出、视频输出、键盘输入等。
本申请实施例可以用于为用户提供简洁的配网、扫描、连接、监控硬件的流程,还可以为用户提供硬件文件管理、模型部署、代码运行等工具。本申请实施例可以应用于为K12和高职学校进行人工智能和智能硬件相关的项目制教学,实训课程教学等,还可以应用于为学生提供课外探索拓展学习,使学生可以基于智能硬件进行作品创作。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图7,图7为本申请实施例提供的一种代码运行装置的结构示意图,该代码运行装置700应用于电子设备,该代码运行装置700可以包括第一接收单元701和第一发送单元702,其中:
第一接收单元701,用于在所述电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,所述在线编程平台提供所述标准计算机程序设计语言的在线编程环境;
第一发送单元702,用于向与所述电子设备建立通信连接的智能硬件发送所述项目代码,所述智能硬件用于在标准化程序运行环境下运行所述项目代码;其中,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持所述项目代码的运行。
可选的,第一接收单元701,还用于在第一发送单元702向与所述电子设备建立通信连接的智能硬件发送所述项目代码之后,接收所述智能硬件发送的运行结果,所述运行结果是所述智能硬件在标准化程序运行环境下运行所述项目代码得到的。
可选的,所述电子设备安装客户端应用,所述客户端应用用于提供所述智能硬件的访问功能;该代码运行装置700还可以包括网络配置单元703;
网络配置单元703,用于通过所述客户端应用对所述智能硬件进行网络配置,将所述智能硬件和所述电子设备接入同一个局域网。
可选的,该代码运行装置700还可以包括连接单元704;
所述连接单元704,用于在所述电子设备扫描到所述智能硬件后,与所述智能硬件进行连接,连接成功后,显示所述智能硬件的监控信息。
其中,本申请实施例中的第一接收单元701、第一发送单元702可以是电子设备的输入输出装置,网络配置单元703和连接单元704可以是电子设备中的处理器。
本申请实施例中,智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
请参阅图8,图8是本申请实施例提供的一种电子设备的结构示意图,如图8所示,该电子设备800包括处理器801和存储器802,处理器801、存储器802可以通过通信总线803相互连接。通信总线803可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。通信总线803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器802用于存储计算机程序,计算机程序包括程序指令,处理器801被配置用于调用程序指令,上述程序包括用于执行图2或3所示的方法。
处理器801可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
该电子设备800还可以包括输入输出装置804,输入输出装置804可以包括键盘、鼠标、麦克风等输入装置,还可以包括显示屏、扬声器等输出装置,还可以包括射频电路、天线等输入输出装置。
本申请实施例中,智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
请参阅图9,图9为本申请实施例提供的另一种代码运行装置的结构示意图,该代码运行装置900应用于智能硬件,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持标准计算机程序设计语言的代码运行,该代码运行装置900可以包括第二接收单元901和代码运行单元902,其中:
第二接收单元901,用于接收电子设备发送的采用所述标准计算机程序设计语言编写的项目代码;
代码运行单元902,用于在所述标准化程序运行环境下运行所述项目代码,得到运行结果。
可选的,所述代码运行单元902在所述标准化程序运行环境下运行所述项目代码,得到运行结果包括:
获取所述项目代码所用的必要数据,所述必要数据包括第一数据集、第一模型文件和第一编程库中的至少一个,所述第一数据集为所述项目代码所用的至少一个数据集中的任一个,所述第一模型文件为所述项目代码所用的至少一个模型文件中的任一个,所述第一编程库为所述项目代码所用的至少一个编程库中的任一个;在所述标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
可选的,在所述必要数据包括第一数据集的情况下,所述代码运行单元902获取所述项目代码所用的必要数据包括:
确定所述项目代码所用的所述第一数据集;判断是否存储所述第一数据集;在智能硬件没有存储所述第一数据集的情况下,利用所述第一数据集在服务器的第一存储地址从所述服务器获取所述第一数据集;
在所述必要数据包括第一模型文件的情况下,所述代码运行单元902获取所述项目代码所用的必要数据包括:
确定所述项目代码所用的所述第一模型文件;判断是否存储所述第一模型文件;在智能硬件没有存储所述第一模型文件的情况下,利用所述第一模型文件在服务器的第二存储地址从所述服务器获取所述第一模型文件;
在所述必要数据包括第一编程库的情况下,所述代码运行单元902获取所述项目代码所用的必要数据包括:确定所述项目代码所用的所述第一编程库;判断是否存储所述第一编程库;在智能硬件没有存储所述第一编程库的情况下,利用所述第一编程库在服务器的第三存储地址从所述服务器获取所述第一编程库。
可选的,该代码运行装置900还包括第二发送单元903;
所述第二发送单元903,用于将所述运行结果发送给所述电子设备,所述电子设备用于显示所述运行结果;所述运行结果包括图片、视频以及项目代码运行中产生的文件中的至少一种。
其中,本申请实施例中的第二接收单元901和第二发送单元903可以是智能硬件的输入输出装置,代码运行单元902可以是智能硬件中的处理器。
本申请实施例中,智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在电子设备登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在电子设备侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
请参阅图10,图10是本申请实施例提供的一种智能硬件的结构示意图,如图10所示,该智能硬件1000包括处理器1001和存储器1002,处理器1001、存储器1002可以通过通信总线1003相互连接。通信总线1003可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。通信总线1003可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器1002用于存储计算机程序,计算机程序包括程序指令,处理器1001被配置用于调用程序指令,上述程序包括用于执行图4所示的方法。
处理器1001可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
存储器1002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
该智能硬件1000还可以包括输入输出装置1004,输入输出装置1004可以包括射频电路、天线等输入输出装置。
本申请实施例中,智能硬件预置标准化程序运行环境,该标准化程序运行环境支持项目代码的运行,在智能硬件登录在线编程平台后,编程人员可以借助在线编程平台提供的在线编程环境进行标准计算机程序设计语言的项目代码编写,使得采用标准计算机程序设计语言编写的项目代码可以在智能硬件侧运行,在智能硬件侧的在线编程教育无需考虑不同智能硬件之间的环境差异,从而降低基于智能硬件的编程教育的门槛。
请参阅图11,图11为本申请实施例提供的另一种代码运行装置的结构示意图,该代码运行装置1100应用于服务器,该代码运行装置1100可以包括第三接收单元1101、查询单元1102和第三发送单元1103,其中:
第三接收单元1101,用于接收电子设备发送的针对项目代码所用的必要数据的查询指令;
查询单元1102,用于响应所述查询指令查询所述必要数据在所述服务器的存储地址;
第三发送单元1103,用于将所述必要数据在所述服务器的存储地址发送至所述电子设备,所述电子设备用于将所述必要数据在所述服务器的存储地址发送至智能硬件,以使所述智能硬件根据所述必要数据在所述服务器的存储地址从所述服务器获取所述必要数据,在标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
其中,本申请实施例中的第三接收单元1101和第三发送单元1103可以是服务器的输入输出装置,查询单元1102可以是服务器中的处理器。
本申请实施例中,服务器可以响应电子设备发送的查询指令查询项目代码所用的必要数据的存储地址,便于电子设备将项目代码和该必要数据的存储地址发送至智能硬件后,智能硬件根据必要数据在服务器的存储地址从所述服务器获取必要数据,在标准化程序运行环境下利用必要数据运行项目代码,得到运行结果。智能硬件运行项目代码时可以直接从服务器获取必要数据,无需经过电子设备,可以提高项目代码的运行效率。
请参阅图12,图12是本申请实施例提供的一种服务器的结构示意图,如图12所示,该服务器1200包括处理器1201和存储器1202,处理器1201、存储器1202可以通过通信总线1203相互连接。通信总线1203可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。通信总线1203可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器1202用于存储计算机程序,计算机程序包括程序指令,处理器1201被配置用于调用程序指令,上述程序包括用于执行图4所示的方法。
处理器1201可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
存储器1202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
该服务器1200还可以包括输入输出装置1204,输入输出装置1204可以包括射频电路、天线等输入输出装置。本申请实施例中,服务器可以响应电子设备发送的查询指令查询项目代码所用的必要数据的存储地址,便于电子设备将项目代码和该必要数据的存储地址发送至智能硬件后,智能硬件根据必要数据在服务器的存储地址从所述服务器获取必要数据,在标准化程序运行环境下利用必要数据运行项目代码,得到运行结果。智能硬件运行项目代码时可以直接从服务器获取必要数据,无需经过电子设备,可以提高项目代码的运行效率。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种代码运行方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

1.一种代码运行方法,其特征在于,所述方法应用于电子设备,所述方法包括:
所述电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,所述在线编程平台提供所述标准计算机程序设计语言的在线编程环境;
所述电子设备向与所述电子设备建立通信连接的智能硬件发送所述项目代码,所述智能硬件用于在标准化程序运行环境下运行所述项目代码;其中,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持所述项目代码的运行。
2.根据权利要求1所述的方法,其特征在于,所述电子设备向与所述电子设备建立通信连接的智能硬件发送所述项目代码之后,所述方法还包括:
所述电子设备接收所述智能硬件发送的运行结果,所述运行结果是所述智能硬件在标准化程序运行环境下运行所述项目代码得到的。
3.根据权利要求1或2所述的方法,其特征在于,所述电子设备安装客户端应用,所述客户端应用用于提供所述智能硬件的访问功能;所述电子设备向与所述电子设备建立通信连接的智能硬件发送所述项目代码之前,所述方法还包括:
所述电子设备通过所述客户端应用对所述智能硬件进行网络配置,将所述智能硬件和所述电子设备接入同一个局域网。
4.根据权利要求3所述的方法,其特征在于,所述电子设备接收输入的采用标准计算机程序设计语言编写的项目代码之后,所述方法还包括:
所述电子设备扫描到所述智能硬件后,与所述智能硬件进行连接,连接成功后,显示所述智能硬件的监控信息。
5.一种代码运行方法,其特征在于,所述方法应用于智能硬件,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持标准计算机程序设计语言的代码运行,所述方法包括:
所述智能硬件接收电子设备发送的采用所述标准计算机程序设计语言编写的项目代码;
所述智能硬件在所述标准化程序运行环境下运行所述项目代码,得到运行结果。
6.根据权利要求5所述的方法,其特征在于,所述智能硬件在所述标准化程序运行环境下运行所述项目代码,得到运行结果包括:
所述智能硬件获取所述项目代码所用的必要数据,所述必要数据包括第一数据集、第一模型文件和第一编程库中的至少一个,所述第一数据集为所述项目代码所用的至少一个数据集中的任一个,所述第一模型文件为所述项目代码所用的至少一个模型文件中的任一个,所述第一编程库为所述项目代码所用的至少一个编程库中的任一个;
所述智能硬件在所述标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
7.根据权利要求6所述的方法,其特征在于,
在所述必要数据包括第一数据集的情况下,所述智能硬件获取所述项目代码所用的必要数据包括:
所述智能硬件确定所述项目代码所用的所述第一数据集;
所述智能硬件判断是否存储所述第一数据集;
若否,所述智能硬件利用所述第一数据集在服务器的第一存储地址从所述服务器获取所述第一数据集;和/或,
在所述必要数据包括第一模型文件的情况下,所述智能硬件获取所述项目代码所用的必要数据包括:
所述智能硬件确定所述项目代码所用的所述第一模型文件;
所述智能硬件判断是否存储所述第一模型文件;
若否,所述智能硬件利用所述第一模型文件在服务器的第二存储地址从所述服务器获取所述第一模型文件;和/或,
在所述必要数据包括第一编程库的情况下,所述智能硬件获取所述项目代码所用的必要数据包括:
所述智能硬件确定所述项目代码所用的所述第一编程库;
所述智能硬件判断是否存储所述第一编程库;
若否,所述智能硬件利用所述第一编程库在服务器的第三存储地址从所述服务器获取所述第一编程库。
8.根据权利要求5~7任一项所述的方法,其特征在于,所述智能硬件在所述标准化程序运行环境下运行所述项目代码,得到运行结果之后,所述方法还包括:
所述智能硬件将所述运行结果发送给所述电子设备,所述电子设备用于显示所述运行结果;所述运行结果包括图片、视频以及项目代码运行中产生的文件中的至少一种。
9.一种代码运行方法,其特征在于,所述方法应用于服务器,所述方法包括:
所述服务器接收电子设备发送的针对项目代码所用的必要数据的查询指令,响应所述查询指令查询所述必要数据在所述服务器的存储地址;
所述服务器将所述必要数据在所述服务器的存储地址发送至所述电子设备,所述电子设备用于将所述必要数据在所述服务器的存储地址发送至智能硬件,以使所述智能硬件根据所述必要数据在所述服务器的存储地址从所述服务器获取所述必要数据,在标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
10.一种代码运行装置,其特征在于,所述装置应用于电子设备,所述装置包括:
第一接收单元,用于在所述电子设备登录在线编程平台后,接收输入的采用标准计算机程序设计语言编写的项目代码,所述在线编程平台提供所述标准计算机程序设计语言的在线编程环境;
第一发送单元,用于向与所述电子设备建立通信连接的智能硬件发送所述项目代码,所述智能硬件用于在标准化程序运行环境下运行所述项目代码;其中,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持所述项目代码的运行。
11.一种代码运行装置,其特征在于,所述装置应用于智能硬件,所述智能硬件预置标准化程序运行环境,所述标准化程序运行环境支持标准计算机程序设计语言的代码运行,所述装置包括:
第二接收单元,用于接收电子设备发送的采用所述标准计算机程序设计语言编写的项目代码;
代码运行单元,用于在所述标准化程序运行环境下运行所述项目代码,得到运行结果。
12.一种代码运行装置,其特征在于,所述装置应用于服务器,所述装置包括:
第三接收单元,用于接收电子设备发送的针对项目代码所用的必要数据的查询指令;
查询单元,用于响应所述查询指令查询所述必要数据在所述服务器的存储地址;
第三发送单元,用于将所述必要数据在所述服务器的存储地址发送至所述电子设备,所述电子设备用于将所述必要数据在所述服务器的存储地址发送至智能硬件,以使所述智能硬件根据所述必要数据在所述服务器的存储地址从所述服务器获取所述必要数据,在标准化程序运行环境下利用所述必要数据运行所述项目代码,得到运行结果。
13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1~4任一项所述的方法。
14.一种智能硬件,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求5~8任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~9任一项所述的方法。
16.一种服务器,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求9所述的方法。
CN202110466189.3A 2021-04-28 2021-04-28 代码运行方法及相关产品 Pending CN113138764A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110466189.3A CN113138764A (zh) 2021-04-28 2021-04-28 代码运行方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110466189.3A CN113138764A (zh) 2021-04-28 2021-04-28 代码运行方法及相关产品

Publications (1)

Publication Number Publication Date
CN113138764A true CN113138764A (zh) 2021-07-20

Family

ID=76816295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110466189.3A Pending CN113138764A (zh) 2021-04-28 2021-04-28 代码运行方法及相关产品

Country Status (1)

Country Link
CN (1) CN113138764A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390045A (zh) * 2022-01-07 2022-04-22 北京思明启创科技有限公司 一种互动文件的传输方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390045A (zh) * 2022-01-07 2022-04-22 北京思明启创科技有限公司 一种互动文件的传输方法及系统
CN114390045B (zh) * 2022-01-07 2023-10-31 北京思明启创科技有限公司 一种互动文件的传输方法及系统

Similar Documents

Publication Publication Date Title
TWI453603B (zh) 平台無關之資訊處理系統,其通訊方法,及其電腦程式產品
CN111177617A (zh) 基于运维管理系统的web直接运维方法、装置及电子设备
WO2022057677A1 (zh) 振动控制方法、装置、电子设备和计算机可读存储介质
CN113505082B (zh) 应用程序测试方法及装置
CN112783748B (zh) 程序调试方法、装置、设备及计算机可读存储介质
CN103209203A (zh) 一种跨平台提供应用的方法以及客户端
CN113704590A (zh) 网页数据获取方法、装置、电子设备及存储介质
CN114036439A (zh) 网站搭建方法、装置、介质及电子设备
CN113138764A (zh) 代码运行方法及相关产品
CN113608997B (zh) 一种应用程序内嵌网页的远程调试方法、装置和电子设备
CN113014669B (zh) 基于rpa的代理服务方法、系统、服务器和存储介质
US20210182030A1 (en) System and method applied to integrated development environment
CN112614403A (zh) 硬件仿真方法及装置
CN110618811B (zh) 信息呈现方法和装置
CN115731319A (zh) 图形绘制方法、装置、设备及存储介质
CN113296759B (zh) 用户界面处理方法、用户界面处理系统、设备及存储介质
Walczak et al. Adaptable mobile user interfaces for e-learning repositories
CN109117283B (zh) 一种网络环境下遥控wps软件的方法
US7617482B2 (en) Method, system and program product for implementing java server page (JSP) containers as java server faces (JSF) components
CN109446352B (zh) 一种模型展示方法、装置、客户端及存储介质
CN113590564A (zh) 数据存储方法、装置、电子设备及存储介质
WO2020168570A1 (zh) 快应用的添加方法、装置、电子设备及存储介质
CN108459890B (zh) 用于应用的界面显示方法和装置
Bhaskar et al. Raspberry Pi based Smart Classroom Architecture with Local Network
CN112468829B (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