首页> 中国专利> 应用程序开发、运行方法、系统及智能分析设备

应用程序开发、运行方法、系统及智能分析设备

摘要

本发明实施例提供了一种应用程序开发、运行方法、系统及智能分析设备,应用程序开发系统包括模型训练服务器和程序开发主机。模型训练服务器利用样本数据对预设神经网络模型进行训练,得到智能算法模型,程序开发主机根据接收到的开发请求所携带的各基础操作标识,获取到各基础操作标识对应的软件程序,通过对各软件程序和智能算法模型进行编译,得到可执行程序,打包得到应用程序。程序开发主机在收到开发请求后,自动地获取到基础操作标识对应的软件程序,并且智能算法模型是由模型训练服务器训练得到的,减少了开发人员需进行应用程序编写的过程,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。

著录项

  • 公开/公告号CN112711409A

    专利类型发明专利

  • 公开/公告日2021-04-27

    原文格式PDF

  • 申请/专利号CN201911024556.3

  • 发明设计人 蔡博振;

    申请日2019-10-25

  • 分类号G06F8/35(20180101);G06F8/41(20180101);G06F21/12(20130101);G06N3/08(20060101);

  • 代理机构11413 北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人李欣;丁芸

  • 地址 310051 浙江省杭州市滨江区阡陌路555号

  • 入库时间 2023-06-19 10:46:31

说明书

技术领域

本发明涉及计算机技术领域,特别是涉及一种应用程序开发、运行方法、系统及智能分析设备。

背景技术

深度学习技术的应用,为传统监控领域的智能化提供了条件,碎片化的智能业务需求快速增长,除了常见的对人脸识别、车辆识别等已经较为成熟的业务需求以外,往往还有一些对小场景小领域的业务需求,例如,对天气进行识别、对景点进行识别、对工厂内物料进行识别、对工厂内员工安全行为进行识别等业务需求。

为了使得深度学习技术能够更深入监控领域,为各种场景提供智能业务、提升生产力,需要专业的开发团队(包括软件开发团队和硬件开发团队),基于实际的业务需求,编写相应的应用程序,将应用程序烧写到硬件设备上,由硬件设备实现具体的智能业务。

可见,如何更快捷地开发适应具体业务需求的具有深度学习模型的应用程序成为亟待解决的问题。

发明内容

本发明实施例的目的在于提供一种应用程序开发、运行方法、系统及智能分析设备,以实现更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。具体技术方案如下:

第一方面,本发明实施例提供了一种应用程序开发系统,所述系统包括:模型训练服务器和程序开发主机;

所述模型训练服务器,用于获取样本数据,利用所述样本数据,对预设神经网络模型进行训练,得到智能算法模型,并将所述智能算法模型发送至所述程序开发主机;

所述程序开发主机,用于根据接收到的开发请求所携带的各基础操作标识,获取所述各基础操作标识对应的软件程序;编译各软件程序及所述智能算法模型,得到可执行程序;将所述可执行程序打包为应用程序。

可选的,所述模型训练服务器,在用于利用所述样本数据,对预设神经网络模型进行训练,得到智能算法模型时,具体用于:

利用所述样本数据,对预设神经网络模型进行训练,得到训练后的神经网络模型;

利用预设模型转换工具,将所述训练后的神经网络模型转换为通用的智能算法模型。

可选的,所述程序开发主机,在用于编译各软件程序及所述智能算法模型,得到可执行程序时,具体用于:

获取智能分析设备的硬件平台对应的编译工具链;

利用所述编译工具链,对各软件程序及所述智能算法模型进行编译,得到可执行程序。

可选的,所述程序开发主机,在用于将所述可执行程序打包为应用程序时,具体用于:

将所述可执行程序与预设的配置信息加密打包为应用程序。

可选的,所述系统还包括:授权认证中心;

所述授权认证中心,用于从所述程序开发主机获取所述应用程序;根据针对所述应用程序预设的配置信息,判断所述应用程序是否为待认证的应用程序;若是,则根据预先配置的认证信息,生成所述应用程序对应的认证证书。

可选的,所述系统还包括:程序发布平台;

所述程序开发主机,还用于:

将所述应用程序发布至所述程序发布平台,以使智能分析设备从所述程序发布平台下载所述应用程序。

第二方面,本发明实施例提供了一种应用程序开发方法,应用于应用程序开发系统,所述系统包括模型训练服务器和程序开发主机;所述方法包括:

所述模型训练服务器获取样本数据,利用所述样本数据,对预设神经网络模型进行训练,得到智能算法模型,并将所述智能算法模型发送至所述程序开发主机;

所述程序开发主机根据接收到的开发请求所携带的各基础操作标识,获取所述各基础操作标识对应的软件程序;编译各软件程序及所述智能算法模型,得到可执行程序;将所述可执行程序打包为应用程序。

可选的,所述模型训练服务器利用所述样本数据,对预设神经网络模型进行训练,得到智能算法模型,包括:

所述模型训练服务器利用所述样本数据,对预设神经网络模型进行训练,得到训练后的神经网络模型;利用预设模型转换工具,将所述训练后的神经网络模型转换为通用的智能算法模型。

可选的,所述程序开发主机编译各软件程序及所述智能算法模型,得到可执行程序,包括:

所述程序开发主机获取智能分析设备的硬件平台对应的编译工具链;利用所述编译工具链,对所述各软件程序及所述智能算法模型进行编译,得到可执行程序。

可选的,所述程序开发主机将所述可执行程序打包为应用程序,包括:

所述程序开发主机将所述可执行程序与预设的配置信息加密打包为应用程序。

可选的,所述系统还包括:授权认证中心;

在所述程序开发主机将所述可执行程序打包为应用程序之后,所述方法还包括:

所述授权认证中心从所述程序开发主机获取所述应用程序;根据针对所述应用程序预设的配置信息,判断所述应用程序是否为待认证的应用程序;若是,则根据预先配置的认证信息,生成所述应用程序对应的认证证书。

可选的,所述系统还包括:程序发布平台;

在所述程序开发主机将所述可执行程序打包为应用程序之后,所述方法还包括:

所述程序开发主机将所述应用程序发布至所述程序发布平台,以使智能分析设备从所述程序发布平台下载所述应用程序。

第三方面,本发明实施例提供了一种应用程序运行方法,应用于智能分析设备,所述方法包括:

下载应用程序,所述应用程序为程序开发主机通过对开发请求携带的各基础操作标识对应的软件程序以及从模型训练服务器获取的智能算法模型进行编译,对编译后的可执行程序打包得到;

运行所述应用程序。

可选的,所述下载应用程序,包括:

从程序发布平台下载应用程序,所述应用程序为所述程序开发主机打包得到后发布至所述程序发布平台的。

可选的,所述应用程序为对所述可执行程序与预设的配置信息加密得到的;所述运行所述应用程序,包括:

对所述应用程序进行解密,根据解密后得到的应用程序及配置信息,判断所述应用程序是否完整以及所述应用程序是否适用于所述智能分析设备的硬件平台;

若所述应用程序完整且所述应用程序适用于所述智能分析设备的硬件平台,则运行所述应用程序。

可选的,所述运行所述应用程序,包括:

解析所述应用程序对应的认证证书,判断所述应用程序是否认证通过,所述认证证书为授权认证中心预先发送给所述智能分析设备的;

若认证通过,则运行所述应用程序。

可选的,所述智能分析设备包括多个嵌入式容器;在所述下载应用程序之后,所述方法还包括:

将所述应用程序导入预设嵌入式容器;

所述运行所述应用程序,包括:

通过主控程序访问所述预设嵌入式容器,对相应的动态库进行调用,运行所述应用程序,所述主控程序用于管理各嵌入式容器。

可选的,所述方法还包括:

将所述应用程序的运行结果上传至数据统计应用平台,以使所述数据统计应用平台对所述运行结果进行展示。

第四方面,本发明实施例提供了一种智能分析设备,包括处理器和存储器,其中,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述机器可执行指令由所述处理器加载并执行,以实现本发明实施例第三方面所提供的方法。

本发明实施例提供的一种应用程序开发、运行方法、系统及智能分析设备,其中,应用程序开发系统包括:模型训练服务器和程序开发主机。模型训练服务器,用于获取样本数据,利用样本数据,对预设神经网络模型进行训练,得到智能算法模型,并将智能算法模型发送至程序开发主机。程序开发主机,用于根据接收到的开发请求所携带的各基础操作标识,获取各基础操作标识对应的软件程序;编译各软件程序及智能算法模型,得到可执行程序;将可执行程序打包为应用程序。

模型训练服务器利用样本数据对预设神经网络模型进行训练,得到的智能算法模型具有需求的智能业务功能,智能分析设备实现某一智能业务,除了需要智能算法模型以外,还需要其他一些基础操作配合执行,这些基础操作标识可以携带在开发请求中,程序开发主机根据各基础操作标识,可以获取到各基础操作标识对应的软件程序,通过对各软件程序和智能算法模型进行编译,即可得到可执行程序,通过对可执行程序进行打包,得到应用程序。程序开发主机在收到开发请求后,可以自动地获取到基础操作标识对应的软件程序,并且智能算法模型是由模型训练服务器训练得到的,减少了开发人员需进行应用程序编写的过程,实现了应用程序开发的自动化,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例的应用程序开发系统的结构示意图;

图2为本发明实施例的模型训练服务器进行模型训练的流程示意图;

图3为本发明实施例的程序开发主机进行应用程序开发的流程示意图;

图4为本发明另一实施例的应用程序开发系统的结构示意图;

图5为本发明实施例的应用程序认证证书生成流程示意图;

图6为本发明再一实施例的应用程序开发系统的结构示意图;

图7为本发明实施例的应用程序的发布流程示意图;

图8为本发明实施例的应用程序开发方法的流程示意图;

图9为本发明实施例的应用程序运行方法的流程示意图;

图10为本发明实施例的应用程序导入流程示意图;

图11为本发明实施例的智能分析设备启动应用程序的流程示意图;

图12为本发明实施例的智能分析设备的物理结构示意图;

图13为本发明实施例的应用程序运行结果展示流程示意图;

图14为本发明实施例的应用程序运行装置的结构示意图;

图15为本发明实施例的智能分析设备的结构示意图;

图16为本发明实施例的应用程序开发、发布、运行的系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了实现更快捷地开发适应具体业务需求的具有深度学习模型的应用程序,本发明实施例提供了一种应用程序开发系统,如图1所示,该系统包括模型训练服务器110和程序开发主机120。

模型训练服务器110,用于获取样本数据,利用样本数据,对预设神经网络模型进行训练,得到智能算法模型,并将智能算法模型发送至程序开发主机120。

程序开发主机120,用于根据接收到的开发请求所携带的各基础操作标识,获取各基础操作标识对应的软件程序;编译各软件程序及智能算法模型,得到可执行程序;将可执行程序打包为应用程序。

模型训练服务器110作为一台神经网络训练服务器,能够根据导入的样本数据(例如图片样本、视频样本等),通过深度学习训练出要进行智能分析的智能算法模型。模型训练服务器110可以是一台通用的GPU(Graphics Processing Unit,图形处理器)服务器,能够运行神经网络算法,通过用户采集的图片、视频等样本数据,进行标定动作后,利用样本数据对预设神经网络模型进行训练,得到智能算法模型,预设神经网络模型可以采用常见的神经网络框架,例如,caffe keres、MXNet、TensorFlow、CNTK、PyTorch、CoreML等。

程序开发主机120可以是一台通用的电脑主机,用来进行应用程序开发,支持多种编程语言,程序开发主机120接收到的开发请求(也称为软件开发指南,是一种适配于不同智能分析设备的软件开发接口说明书,包含软件开发调用动态库、头文件和动态库接口说明等)可以是智能分析设备根据实际需求发送的,也可以是在程序开发初期由技术人员分析实际场景设定的,程序开发主机120根据各基础操作标识,获取要实现智能业务的软件程序,例如需要获取超脑NVR(Network Video Recorder,网络硬盘录像机)的码流数据进行智能事件分析,除了需要模型训练服务器训练得到的智能算法模型以外,还需要包含获取码流、分解结果上传等基础操作的软件程序。软件程序可以是预先编写好存储在程序开发主机中的,也可以是根据需求由开发人员实时编写的。

在获取到各软件程序和智能算法模型后,需要对各软件程序和智能算法模型进行编译,得到可执行程序,再将可执行程序打包,得到应用程序。程序开发主机120在得到应用程序后,可以将应用程序导入智能分析设备,由智能分析设备运行该应用程序,即可实现相应的智能业务。

应用本发明实施例,模型训练服务器利用样本数据对预设神经网络模型进行训练,得到的智能算法模型具有需求的智能业务功能,智能分析设备实现某一智能业务,除了需要智能算法模型以外,还需要其他一些基础操作配合执行,这些基础操作标识可以携带在开发请求中,程序开发主机根据各基础操作标识,可以获取到各基础操作标识对应的软件程序,通过对各软件程序和智能算法模型进行编译,即可得到可执行程序,通过对可执行程序进行打包,得到应用程序。程序开发主机在收到开发请求后,可以自动地获取到基础操作标识对应的软件程序,并且智能算法模型是由模型训练服务器训练得到的,减少了开发人员需进行应用程序编写的过程,实现了应用程序开发的自动化,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。

基于图1所示实施例,模型训练服务器110,在用于利用样本数据,对预设神经网络模型进行训练,得到智能算法模型时,具体可以用于:

利用样本数据,对预设神经网络模型进行训练,得到训练后的神经网络模型;利用预设模型转换工具,将训练后的神经网络模型转换为通用的智能算法模型。

预设模型转换工具可以为IDE(Integrated Development Environment,集成开发环境)工具软件,在IDE工具软件上输入硬件芯片的类型、待转换模型的网络结构描述文件、神经网络模型,通过网络拓扑解析,按照硬件芯片类型支持的深度学习网络框架进行转换,转换过程会根据不同的硬件芯片进行算法参数精度量化,最终输出一个适配于所选硬件芯片的bin文件,该bin文件中记录的即为通用的智能算法模型。

在本发明实施例中,提供了一种预设模型转换工具,利用该模型转换工具,可以将不同类型的神经网络模型转换为通过的智能算法模型。基于此,如图2所示,模型训练服务器110进行模型训练的过程具体可以包括:模型训练服务器110收集样本图片,建立神经网络模型,对样本图片进行标定并将样本图片导入神经网络模型进行训练,获取训练好的神经网络模型,利用预设模型转换工具对训练好的神经网络模型进行模型转换,判断是否转换成功,如果转换成功,则输出转换后的通用的智能算法模型,如果转换不成功,则结束模型训练流程。

基于图1所示实施例,程序开发主机120,在用于编译各软件程序及智能算法模型,得到可执行程序时,具体可以用于:

获取智能分析设备的硬件平台对应的编译工具链;利用编译工具链,对各软件程序及智能算法模型进行编译,得到可执行程序。

在获取到各软件程序及智能算法模型后,需要使用对应智能分析设备的编译工具链对各软件程序和智能算法模型进行编译,编译工具链往往与智能分析设备的硬件平台相对应,比如,应用程序是为超脑NVR开发的,那么编译工具链要使用超脑NVR的硬件平台对应的编译工具链。利用编译工具链,对各软件程序及智能算法模型进行编译,即可得到相应的可执行程序。

基于图1所示实施例,程序开发主机120,在用于将可执行程序打包为应用程序时,具体可以用于:将可执行程序与预设的配置信息加密打包为应用程序。

程序开发主机120进行应用程序开发的流程如图3所示,程序开发主机按照开发请求获取各软件程序和智能算法模型,利用智能分析设备的硬件平台对应的编译工具链对各软件程序和智能算法模型进行编译,将编译后得到的可执行程序与预设的配置信息加密打包,获得应用程序。配置信息中包括应用程序有多大、适用于那些智能分析设备的硬件平台等信息,并且通过加密打包,保证了应用程序在传输过程中的安全性。

在图1所示的应用程序开发系统的基础上,除了包括模型训练服务器110和程序开发主机120以外,如图4所示,还包括授权认证中心130。

授权认证中心130,用于从程序开发主机120获取应用程序;根据针对该应用程序预设的配置信息,判断该应用程序是否为待认证的应用程序;若是,则根据预先配置的认证信息,生成该应用程序对应的认证证书。

授权认证中心130可以保护应用程序的软件著作权。在应用程序发布前,需要在授权认证中心上进行认证,针对应用程序可以预先设置该应用程序是免费试用的还是授权使用的,这些可以是开发人员在配置信息中设置的,如果应用程序时授权使用的,则该应用程序为待认证的应用程序,相应的,开发人员还会设置认证信息,例如应用程序试用的期限等,则根据认证信息可以相应的生成认证证书。

应用程序认证证书生成流程如图5所示,授权认证中心获取应用程序标识信息,作为打包参数和认证证书加密编码,判断应用程序是否为免费试用版本,若否则输入有效期,生成认证证书,导入认证证书至智能分析设备。如果是免费试用版本,则不用生成认证证书,直接结束流程。

在图1所示的应用程序开发系统的基础上,除了包括模型训练服务器110和程序开发主机120以外,如图6所示,还包括程序发布平台140。

程序开发主机120,还可以用于:将应用程序发布至程序发布平台140,以使智能分析设备从程序发布平台140导入该应用程序。

程序发布平台作为一个应用商店,在开发一款应用程序后,如果该应用程序在硬件设备上验证可以使用后,可以将该应用程序发布到程序发布平台上,在进行发布时,还可以添加应用程序的信息,例如适用的智能分析设备、应用程序的功能、性能描述、版本以及认证证书价格等。应用程序在发布到程序发布平台上后,智能分析设备可以从程序发布平台下载该应用程序导入。应用程序的发布流程如图7所示。

对开发的应用程序进行验证,验证成功后,判断是否发布到程序发布平台,若是,则添加应用程序的信息并导入应用程序,程序发布平台验证导入的应用程序与添加的信息是否一致,若是,则将该应用程序发布到程序发布平台。如果不需要发布到程序发布平台或者程序发布平台验证导入的应用程序与添加的信息不一致,则会停止发布应用程序至程序发布平台,结束应用程序发布流程。

本发明实施例还提供了一种应用程序开发方法,应用于应用程序开发系统,该系统包括模型训练服务器和程序开发主机,如图8所示,应用程序开发方法可以包括如下步骤:

S801,模型训练服务器获取样本数据,利用样本数据,对预设神经网络模型进行训练,得到智能算法模型,并将智能算法模型发送至程序开发主机。

S802,程序开发主机根据接收到的开发请求所携带的各基础操作标识,获取各基础操作标识对应的软件程序;编译各软件程序及智能算法模型,得到可执行程序;将可执行程序打包为应用程序。

应用本发明实施例,模型训练服务器利用样本数据对预设神经网络模型进行训练,得到的智能算法模型具有需求的智能业务功能,智能分析设备实现某一智能业务,除了需要智能算法模型以外,还需要其他一些基础操作配合执行,这些基础操作标识可以携带在开发请求中,程序开发主机根据各基础操作标识,可以获取到各基础操作标识对应的软件程序,通过对各软件程序和智能算法模型进行编译,即可得到可执行程序,通过对可执行程序进行打包,得到应用程序。程序开发主机在收到开发请求后,可以自动地获取到基础操作标识对应的软件程序,并且智能算法模型是由模型训练服务器训练得到的,减少了开发人员需进行应用程序编写的过程,实现了应用程序开发的自动化,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。

可选的,S801中模型训练服务器利用样本数据,对预设神经网络模型进行训练,得到智能算法模型的步骤,具体可以为:

模型训练服务器利用样本数据,对预设神经网络模型进行训练,得到训练后的神经网络模型;利用预设模型转换工具,将训练后的神经网络模型转换为通用的智能算法模型。

可选的,S802中程序开发主机编译各软件程序及智能算法模型,得到可执行程序的步骤,具体可以为:

程序开发主机获取智能分析设备的硬件平台对应的编译工具链;利用编译工具链,对各软件程序及智能算法模型进行编译,得到可执行程序。

可选的,S802中程序开发主机将可执行程序打包为应用程序的步骤,具体可以为:

程序开发主机将可执行程序与预设的配置信息加密打包为应用程序。

可选的,该系统还可以包括:授权认证中心。

在程序开发主机将可执行程序打包为应用程序的步骤之后,本发明实施例所提供的方法还可以执行如下步骤:

授权认证中心从程序开发主机获取应用程序;根据针对应用程序预设的配置信息,判断应用程序是否为待认证的应用程序;若是,则根据预先配置的认证信息,生成应用程序对应的认证证书。

可选的,该系统还可以包括:程序发布平台。

在程序开发主机将可执行程序打包为应用程序的步骤之后,本发明实施例所提供的方法还可以执行如下步骤:

程序开发主机将应用程序发布至程序发布平台,以使智能分析设备从程序发布平台下载应用程序。

本发明实施例所提供的方法与上述系统实施例相同或相似,具体参见上述系统实施例,这里不再赘述。

本发明实施例还提供了一种应用程序运行方法,应用于智能分析设备,如图9所示,应用程序运行方法可以包括如下步骤:

S901,下载应用程序,其中,应用程序为程序开发主机通过对开发请求携带的各基础操作标识对应的软件程序以及从模型训练服务器获取的智能算法模型进行编译,对编译后的可执行程序打包得到。

S902,运行应用程序。

智能分析设备作为应用程序的运行载体,提供硬件资源、CPU(CentralProcessing Unit,中央处理器)、内存、GPU等资源,智能分析设备有具体的业务需求时,可以下载应用程序,并运行。应用程序是程序开发主机通过对开发请求携带的各基础操作标识对应的软件程序以及从模型训练服务器获取的智能算法模型进行编译,对编译后的可执行程序打包得到。智能分析设备下载应用程序的方式可以是通过网络、USB数据线等方式从程序开发设备进行下载。智能分析设备运行应用程序,即可实现相应的智能业务。

应用本发明实施例,由于应用程序是程序开发主机对各基础操作标识对应的软件程序和模型训练服务器训练得到的智能算法模型进行编译得到可执行程序,再打包得到的,减少了开发人员需进行应用程序编写的过程,实现了应用程序开发的自动化,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。进一步的,智能分析设备在下载运行时,能够根据自身的业务需求快速运行需要的应用程序,提高了智能分析设备的运行效率和对场景的适用性。

可选的,S901具体可以为:从程序发布平台下载应用程序,其中,应用程序为程序开发主机打包得到后发布至程序发布平台的。

程序开发主机在开发出应用程序后,可以将应用程序发布到程序发布平台,智能分析设备可以根据实际需求,到程序发布平台下载应用程序。

可选的,应用程序为对可执行程序与预设的配置信息加密得到的;S902具体可以通过如下步骤实现:

对应用程序进行解密,根据解密后得到的应用程序及配置信息,判断应用程序是否完整以及应用程序是否适用于所述智能分析设备的硬件平台;若应用程序完整且应用程序适用于所述智能分析设备的硬件平台,则运行应用程序。

智能分析设备接收到的应用程序可能是加密后的应用程序,因此在下周应用程序后,需要对应用程序进行解密,基于解密后得到的应用程序和配置信息,能够判断出应用程序是否完整,以及应用程序是否适用于智能分析设备的硬件平台,例如解密后得到的应用程序为20M,而配置信息中的应用程序大小为30M,说明应用程序不完整,则无法运行该应用程序,只有在应用程序完整且应用程序适用于智能分析设备的硬件平台时,智能分析设备130才可以运行该应用程序。

可选的,S902具体可以通过如下步骤实现:

解析应用程序对应的认证证书,判断应用程序是否认证通过,其中,认证证书为授权认证中心预先发送给智能分析设备的;若认证通过,则运行应用程序。

为了对应用程序的软件著作权进行保护,通常需要由授权认证中心生成应用程序的认证证书,并将认证证书导入至智能分析设备。智能分析设备在接收到应用程序后,需要根据配置信息判断该应用程序是免费试用版本还是授权版本,如果是免费试用版本,则不需要解析认证证书可以直接运行,如果是授权版本,则需要解析认证证书,当无证书或者试用超期时(即认证不通过时)则无法运行该应用程序,只有在认证通过后,才可以运行该应用程序。每一个应用程序有一个唯一的标识信息用作生成认证证书,可以根据需求生成一个有期限效力的认证证书用于授权智能分析设备使用,甚至可以对认证证书进行标价出售。

本发明实施例提供了应用程序导入流程,如图10所示,本地USB、网页或平台通过网络导入应用程序到智能分析设备,智能分析设备对应用程序进行解密确认程序包是否完整、试用硬件平台是否正确,如果解密确认程序包完整且试用硬件平台正确,则保存应用程序到智能分析设备的存储单元,判断是否需要导入认证证书,如果是,则导入并解析认证证书,同时,智能分析设备能够显示或返回导入的应用程序的信息和状态。

智能分析设备启动应用程序的流程如图11所示,允许通过本地GUI(GraphicalUser Interface,图形用户界面)操作、网页或平台网络接口启动导入的应用程序,设置应用程序的运行权限,比如获取设备码流、网络权限、串口输出权限等,启动应用程序,判断认证证书是否到期,如果没到期,则执行应用程序具体的智能业务,显示应用程序执行状态。

可选的,智能分析设备可以包括多个嵌入式容器;在执行S901之后,本发明实施例所提供的应用程序运行方法还可以包括:将应用程序导入预设嵌入式容器。则S902具体可以为:通过主控程序访问预设嵌入式容器,对相应的动态库进行调用,运行应用程序,其中,主控程序用于管理各嵌入式容器。

智能分析设备运行了一个主控程序(也称为HOST程序),能够管理智能分析设备上嵌入式容器的创建和应用程序的加载。应用程序在嵌入式容器中,是一个轻量级的嵌入式虚拟环境,能够为开发的应用程序提供独立的嵌入式运行空间,包括CPU占比、内存占比、存储空间占比、独立的系统命名空间、网络地址和端口等。应用程序无法看到主控程序的可执行文件,运行过程中也不会干扰主控程序的运行,比如应用程序崩溃不会影响主控程序的运行。

图12为智能分析设备的物理结构示意图,最基础的需要有网口、存储模块、内存芯片和CPU或GPU芯片,能够保证智能分析设备的正常运行。其他硬件接口与智能NVR、智能IPC场景接口一致,都可以开放调用接口给应用程序使用。

可选的,本发明实施例所提供的应用程序运行方法还可以包括:将应用程序的运行结果上传至数据统计应用平台,以使数据统计应用平台对运行结果进行展示。

应用程序的运行结果可以上传到数据统计应用平台上进行展示,比如对人脸识别的结果进行展示,用户可以直观地观察到总共有多少位男士、多少位女士。

当然,智能分析设备也可以自己有显示功能,因此,应用程序的运行结果可以上传到数据统计应用平台上展示,也可以调用本地GUI或者网页,对运行结果进行展示。

如图13所示,在获得到应用程序运行结果后,判断是否上报运行结果至数据统计应用平台,若是则通过网络协议上传运行结果给数据统计应用平台进行展示,若否,则在本地界面展示运行结果。

相应于上述应用程序运行方法,本发明实施例还提供了一种应用程序运行装置,如图14所示,应用于智能分析设备,该装置可以包括:

下载模块1410,用于下载应用程序,其中,应用程序为程序开发主机通过对开发请求携带的各基础操作标识对应的软件程序以及从模型训练服务器获取的智能算法模型进行编译,对编译后的可执行程序打包得到;

运行模块1420,用于运行应用程序。

可选的,下载模块1410,具体可以用于:从程序发布平台下载应用程序,其中,应用程序为程序开发主机打包得到后发布至程序发布平台的。

可选的,应用程序为对可执行程序与预设的配置信息加密得到的;运行模块1420,具体可以用于:

对应用程序进行解密,根据解密后得到的应用程序及配置信息,判断应用程序是否完整以及应用程序是否适用于智能分析设备的硬件平台;若应用程序完整且应用程序适用于智能分析设备的硬件平台,则运行应用程序。

可选的,运行模块1420,具体可以用于:解析应用程序对应的认证证书,判断应用程序是否认证通过,其中,认证证书为授权认证中心预先发送给智能分析设备的;若认证通过,则运行应用程序。

可选的,智能分析设备包括多个嵌入式容器;该装置还可以包括:

导入模块,用于将应用程序导入预设嵌入式容器;

运行模块1420,具体可以用于:通过主控程序访问预设嵌入式容器,对相应的动态库进行调用,运行应用程序,其中,主控程序用于管理各嵌入式容器。

可选的,该装置还可以包括:

上传模块,用于将应用程序的运行结果上传至数据统计应用平台,以使数据统计应用平台对运行结果进行展示。

本发明实施例还提供了一种智能分析设备,如图15所示,包括处理器1501和存储器1502,其中,所述存储器1502存储有能够被所述处理器1501执行的机器可执行指令,所述机器可执行指令由所述处理器1501加载并执行,以实现本发明实施例所提供的应用程序运行方法。

上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器1502与处理器1501之间可以通过有线连接或者无线连接的方式进行数据传输,并且智能分析设备与其他设备之间可以通过有线通信接口或者无线通信接口进行通信。图15所示的仅为通过总线进行数据传输的示例,不作为具体连接方式的限定。

本发明实施例中,处理器通过读取存储器中存储的机器可执行指令,并通过加载和执行机器可执行指令,能够实现:由于应用程序是程序开发主机对各基础操作标识对应的软件程序和模型训练服务器训练得到的智能算法模型进行编译得到可执行程序,再打包得到的,减少了开发人员需进行应用程序编写的过程,实现了应用程序开发的自动化,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。进一步的,智能分析设备在下载运行时,能够根据自身的业务需求快速运行需要的应用程序,提高了智能分析设备的运行效率和对场景的适用性。

另外,本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的应用程序运行方法。

本发明实施例中,机器可读存储介质存储有在运行时执行本发明实施例所提供的应用程序运行方法的机器可执行指令,因此能够实现:由于应用程序是程序开发主机对各基础操作标识对应的软件程序和模型训练服务器训练得到的智能算法模型进行编译得到可执行程序,再打包得到的,减少了开发人员需进行应用程序编写的过程,实现了应用程序开发的自动化,能够更快捷地开发适应具体业务需求的具有深度学习模型的应用程序。进一步的,智能分析设备在下载运行时,能够根据自身的业务需求快速运行需要的应用程序,提高了智能分析设备的运行效率和对场景的适用性。

基于如上实施例,图16为一个完整的应用程序开发、发布、运行的系统,该系统包括:模型训练服务器、程序开发主机、智能分析设备、授权认证中心、程序发布平台和数据统计应用平台。

模型训练服务器作为一台神经网络训练服务器,能够根据导入的样本图片,通过深度学习训练出智能算法模型,将该智能算法模型在程序开发主机上根据具体的智能业务开发应用程序。将应用程序在授权认证中心认证授权使用时间后,可以发布到程序发布平台,程序发布平台相当于一个应用商店。智能分析设备(例如超脑NVR或者智能IPC等)导入从程序发布平台上下载的应用程序,并执行对应的智能业务,在运行应用程序后,可以将运行结果发送至数据统计应用平台,由数据统计应用平台对运行结果进行展示。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号