CN111414156A - 基于开放平台的嵌入式设备和服务系统以及服务开发方法 - Google Patents

基于开放平台的嵌入式设备和服务系统以及服务开发方法 Download PDF

Info

Publication number
CN111414156A
CN111414156A CN201910015739.2A CN201910015739A CN111414156A CN 111414156 A CN111414156 A CN 111414156A CN 201910015739 A CN201910015739 A CN 201910015739A CN 111414156 A CN111414156 A CN 111414156A
Authority
CN
China
Prior art keywords
service
application
party
party application
embedded device
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.)
Granted
Application number
CN201910015739.2A
Other languages
English (en)
Other versions
CN111414156B (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910015739.2A priority Critical patent/CN111414156B/zh
Publication of CN111414156A publication Critical patent/CN111414156A/zh
Application granted granted Critical
Publication of CN111414156B publication Critical patent/CN111414156B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于开放平台的嵌入式设备、一种基于开放平台的服务系统、以及一种基于开放平台的服务开发方法。基于本发明,嵌入式设备可以通过运行设备主应用来提供用于第三方应用接入的开放平台,因而嵌入式设备可以灵活地接受第三方的服务开发,而且,由于接入开放平台的第三方应用可以通过调用内部集成的软件开发工具包而获取嵌入式设备的设备服务,因而使得嵌入式设备可以借助第三方应用提供基于设备服务的第三方开发服务,从而使嵌入式设备的服务范围易于扩展。

Description

基于开放平台的嵌入式设备和服务系统以及服务开发方法
技术领域
本发明涉及安防领域,尤其涉及适用于安防领域的一种基于开放平台的嵌入式设备、一种基于开放平台的服务系统、以及一种基于开放平台的服务开发方法。
背景技术
在安防领域中,通常会在监控场景中布设嵌入式设备,例如IPC(IP Camera,网络摄像机),用以提供例如视频流等基于信息采集的设备服务。
若需要引入例如算法应用等其他服务对采集的信息做进一步处理,则需要在嵌入设备做开发。因此,如何能快速便利的对嵌入式设备进行服务开发,成为现有技术中有待解决的技术问题。
发明内容
本发明的一个实施例提供了一种基于开放平台的嵌入式设备,所述嵌入式设备包括处理器,所述处理器用于运行共享硬件资源的设备主应用和第三方应用,其中:
所述主设备应用用于提供所述第三方应用接入的开放平台;
所述第三方应用用于基于所述嵌入式设备的设备服务提供第三方开发服务;
其中,所述第三方应用中集成有软件开发工具包,所述第三方应用通过调用所述软件开发工具包与所述设备主应用通讯,以实现所述设备服务与所述第三方开发服务的对接。
可选地,所述软件开发工具包中包含有多个OpenAPI和权限管理及许可校验模块,其中:所述OpenAPI用于被所述第三方应用调用以获取所述设备服务;所述权限管理及许可校验模块用于对所述第三方应用在所述嵌入式设备的运行进行许可校验、以及对所述第三方应用调用所述多个OpenAPI的权限进行权限控制。
可选地,所述多个OpenAPI包括:服务调用API,用于为所述第三方应用获取对应的所述设备服务提供调用接口;协议调用API,用于为所述第三方应用与所述设备主应用通讯使用对应的通讯协议提供调用接口。
可选地,所述服务调用API对应的所述设备服务包括下述之一或任意组合:视频流、报警、录像、图片、日志、网络、时间、元数据结构化信息。
可选地,所述第三方应用与所述设备主应用支持的通讯协议包括下述之一或任意组合:RTSP、ONVIF协议、ISAPI协议、以及可扩展的自定义ISAPI协议。
可选地,所述第三方开发服务包括下述之一或任意组合:云服务、智能AI、终端体验、智能家居、第三方平台接入。
可选地,被调用的所述软件开发工具包对所述第三方应用在所述嵌入式设备的运行进行许可校验。
可选地,所述软件开发工具包利用导入至所述嵌入式设备的License Key执行所述许可校验。
可选地,被调用的所述软件开发工具包对所述第三方应用获取所述设备服务的权限进行权限控制。
可选地,所述软件开发工具包根据所述设备主应用对所述第三方应用的权限鉴权执行所述权限控制。
可选地,所述设备主应用对所述第三方应用对所述共享硬件资源的占用情况进行安全监测。
可选地,所述共享硬件资源包括网卡、外设接口、存储介质、运算芯片以及所述处理器。
本发明的另一个实施例提供了一种基于开放平台的服务系统,包括如上所述的嵌入式设备、以及设备客户端和第三方客户端,其中,所述设备客户端通过所述设备主应用管理所述嵌入式设备,所述第三方客户端通过所述第三方应用获取所述第三方开发服务。
本发明的另一个实施例提供了一种开放平台的服务融合方法,所述服务开发方法应用于提供设备服务的嵌入式设备,所述嵌入式设备装载有共享硬件资源的设备主应用和第三方应用,并且,所述服务开发方法包括如下步骤:
所述嵌入式设备通过运行所述设备主应用提供所述第三方应用接入的开放平台;
所述嵌入式设备通过运行所述第三方应用提供基于所述设备服务的第三方开发服务;
其中,所述第三方应用中集成有软件开发工具包,所述第三方应用通过调用所述软件开发工具包与所述设备主应用通讯,以实现所述设备服务与所述第三方开发服务的对接。
可选地,所述服务开发方法进一步包括:所述嵌入式设备通过运行被所述第三方应用调用的所述软件开发工具包对所述第三方应用在所述嵌入式设备的运行进行许可校验。
可选地,所述服务开发方法进一步包括在所述嵌入式设备执行的如下步骤:所述嵌入式设备通过运行被所述第三方应用调用的所述软件开发工具包对所述第三方应用获取所述设备服务的权限进行权限控制。
如上可见,基于上述实施例,嵌入式设备可以通过运行设备主应用来提供用于第三方应用接入的开放平台,因而嵌入式设备可以灵活地接受第三方的服务开发,而且,由于接入开放平台的第三方应用可以通过调用内部集成的软件开发工具包而获取嵌入式设备的设备服务,因而使得嵌入式设备可以借助第三方应用提供基于设备服务的第三方开发服务,从而使嵌入式设备的服务范围易于扩展。
附图说明
图1为一个实施例中基于开放平台的服务系统的框架结构示意图;
图2为基于如图1所示服务系统的服务开发机制的原理性示意图;
图3为如图1所示服务系统中的嵌入式设备基于软件开发工具包的内部服务框架的原理性示意图;
图4为图3中示出的软件开发工具包的内部架构的示意图;
图5为如图4所示内部架构的一实例示意图;
图6为如图1所示服务系统中对第三方应用的授权许可机制的原理性示意图;
图7为基于如图6所示授权许可机制的许可校验流程的示意图;
图8为如图1所示服务系统中对第三方应用的权限管理机制的原理性示意图;
图9a和图9b为如图1所示服务系统中的第三方应用的数据结构示意图;
图10为基于如图8所示权限管理机制以及如图9a所示数据结构的权限管理流程的示意图;
图11a和图11b为基于如图8所示权限管理机制以及如图9b所示数据结构的权限管理流程的示意图;
图12为如图1所示服务系统中的嵌入式设备的内部安全监测的原理性示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图1为一个实施例中基于开放平台的服务系统的框架结构示意图。请参见图1,在一个实施例中,一种基于开放平台的服务系统包括嵌入式设备10、设备客户端20以及第三方客户端30。
在图1中,嵌入式设备10装载有设备主应用200和第三方应用300。设备主应用200则是嵌入式设备10出厂自带的应用,可选地,嵌入式设备10还可以装在出厂自带的设备子应用210。第三方应用300则是嵌入式设备10出厂后导入的应用。或者,设备主应用200和设备子应用210可以认为是嵌入式设备10的植入应用,第三方应用300可以认为是嵌入式设备10的导入应用。
设备主应用200、设备子应用210以及第三方应用300可以共享嵌入式设备10的硬件资源100。例如,共享的硬件资源100可以包括:处理器110,用于运行设备主应用200、设备子应用210以及第三方应用300的处理器110;AI(Artificial Intelligence,人工智能)芯片120,用于提供智能分析算法(Intelligent Analysis Algorithm)的硬件支持;非易失性存储介质130,例如FLASH(闪存)等,用于存储设备主应用200、设备子应用210以及第三方应用300的应用包;易失性存储介质140,例如DDR(Double Data Rate,双倍速率)内存等,用于设备主应用200、设备子应用210、第三方应用300运行缓存;网卡150,用于嵌入式设备10的网络交互;以及,外设接口160,用于嵌入式设备10的报警输出。
嵌入式设备10通过运行设备主应用200或者同时运行设备主应用200和设备子应用210,可以支持各种设备服务的正常提供,设备服务具体可以包括视频流(例如YUV视频流)、报警、录像、图片、日志、网络、时间、元数据(metadata)结构化信息等。可以理解的是,此处仅仅是对设备服务的举例说明,设备服务的范围可以不限于此。
嵌入式设备10通过运行设备主应用200还可以与设备客户端20交互,以接受设备客户端20对嵌入式设备10的管理。
另外,嵌入式设备10通过运行设备主应用200,可以提供用于第三方应用300接入的开放平台(Open Platform)。在本实施例中,开放平台可以认为是开放给第三方集成商基于第三方应用300进行服务开发的平台,第三方集成商提供的每个第三方应用300可以通过集成的SDK(Software Development Kit,软件开发工具包)400接入开放平台,从而集成到嵌入式设备10中。由于第三方应用300中集成的用于第三方应用300与设备主应用200的对接的SDK 400是对第三方开放的,因此,SDK 400也可以称为OpenSDK(Open SoftwareDevelopment Kit,开放式软件开发工具包)。
嵌入式设备10通过运行第三方应用300可以基于嵌入式设备10的设备服务而提供第三方开发服务310,即,可以允许第三方集成商利用第三方应用300而在嵌入式设备10开发处可提供给第三方客户端30的第三方开发服务310。
图2为基于如图1所示服务系统的服务开发机制的原理性示意图。请参见图2,嵌入式设备10的设备厂商51为了支持第三方应用300的接入,可以向第三方集成商53提供用于接入开放平台的OpenSDK 400;第三方集成商53可以根据开发需求从应用开发者52选择相应的第三方应用300、并将OpenSDK 400与第三方应用300编译封装在一个应用包中,然后即可导入至嵌入式设备10。例如,设备厂商51可以提供一个门户平台,用于第三方集成商53在线执行应用包的封装以及向嵌入式设备10的导入。
由此,通过在嵌入式设备10导入集成有OpenSDK 400的各种第三方应用300,即可由导入的第三方应用300通过OpenSDK 400在嵌入式设备10获取设备服务、并基于设备服务提供相应的第三方开发服务310。
第三方开发服务310可以包括智能AI、云服务(Cloud Service)、终端体验、智能家居(Smart Home)、第三方平台接入(Third Party Platform Access)等,其中,智能AI可以提供更精准的智能算法服务,例如分析算法(Intelligent Analysis Algorithm);云服务可以对接各种定制化协议用于云存储、健康监测服务等;终端体验可以提供报警推送、可视化数据分析等服务。从而,基于各种第三方开发服务310,可以构建形成基于开放平台的智能生态圈。
如前所述,每个第三方应用300中集成有OpenSDK 400,并且,每个第三方应用300通过调用其集成的OpenSDK 400与设备主应用200通讯,以实现设备服务与第三方开发服务310的对接。
图3为如图1所示服务系统中的嵌入式设备基于软件开发工具包的内部服务框架的原理性示意图。如图3所示,每个第三方应用300集成的OpenSDK 400可以看作使该第三方应用300与设备主应用200之间的通讯桥梁。
图4为图3中示出的软件开发工具包的内部架构的示意图。如图4所示,作为第三方应用300与设备主应用200之间的通讯桥梁的OpenSDK 400,其中可以包含多个OpenAPI(Open Application Programming Interface,开放应用程序编程接口)420,这些OpenAPI420用于被第三方应用300调用以获取设备服务。
具体地,OpenSDK 400中的OpenAPI 420可以包括服务调用API 421和协议调用API422,其中,服务调用API 421用于为第三方应用300获取对应的设备服务提供调用接口,协议调用API 422用于为第三方应用300与设备主应用200通讯使用对应的通讯协议提供调用接口。
并且,OpenSDK 400中还可以包含权限管理及许可校验模块410,用于对第三方应用300在嵌入式设备10的运行进行许可校验、以及对第三方应用300调用多个OpenAPI420的权限进行权限控制。
图5为如图4所示内部架构的一实例示意图。请参见图5,在一个具体实例中,以服务调用API 421包括对应如下设备服务的API为例:包括视频流(例如YUV视频流)、报警、录像、图片、日志、网络、时间、元数据结构化信息。并且,在如图5所示的实例中,还以协议调用API 422包括对应如下通讯协议的API为例:RTSP(Real Time Streaming Protocol,实时流传输协议)、ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛)协议、ISAPI(Internet Server Application Programming Interface,互联网服务器应用程序接口)协议、以及可扩展的自定义ISAPI协议,其中,自定义ISAPI动态扩展协议支持第三方APP通过扩展URL的方式自定义ISAPI协议。
假设权限管理及许可校验模块410对第三方应用300的许可校验通过、并且通过权限鉴权过程确认第三方应用300具有使用ONVIF协议获取报警组件这一设备服务的权限,则该第三方应用300可以调用服务调用API 421中对应报警组件的API,从而通过与设备主应用200之间基于ONVIF协议的交互而与报警服务对接,例如报警事件的注册和注销、报警联动能力的获取、报警事件的触发。
假设权限管理及许可校验模块410对第三方应用300的许可校验通过、并且通过权限鉴权过程确认第三方应用300具有ISAPI协议获取智能结构化信息的权限,则该第三方应用300可以调用服务调用API 421中对应元数据智能结构化信息的API,从而通过与设备主应用200之间基于ISAPI协议的交互而与元数据智能结构化信息服务对接。元数据结构化信息服务可以是提供对视频流分析得到的目标位置、目标停留时间等智能结构化目标信息,并且,对视频流分析得到智能结构化目标信息需要使用智能算法。其中,使用的算法可以是由嵌入式设备自带的算法,例如,设备子应用210,或者,也可以利用由第三方应用300提供的第三方算法。因此,第三方应用300提供的第三方算法服务与元数据智能结构化信息服务对接,即可获取基于第三方算法的智能结构化目标信息。
如上可见,OpenAPI 420可以看作是第三方应用300与设备主应用200之间的通道,权限管理及许可校验模块410则可以看作是第三方应用300与设备主应用200之间的防火墙,第三方应用300是否被允许在嵌入式设备10中运行、以及OpenAPI 420中的哪些允许被第三方应用300调用,都由权限管理及许可校验模块410来控制。
图6为如图1所示服务系统中对第三方应用的授权许可机制的原理性示意图。请参见图6,被第三方应用300调用的OpenSDK 400(即,权限管理及许可校验模块410)可以对第三方应用300在嵌入式设备10的运行进行许可校验,具体地,OpenSDK 400可以利用导入至嵌入式设备10的License Key(许可密钥)500执行许可校验,导入嵌入式设备10的LicenseKey 500作为第三方应用300在嵌入式设备10的运行许可证,其可以由License服务器50产生。
实际应用中,可以不是所有的第三方应用300都需要授权才可在嵌入式设备10运行,即,上述的授权许可机制并不是必须应用于所有导入至嵌入式设备10的第三方应用300。对于以编译封装方式集成有OpenSDK 400的第三方应用300而言,其应用包中可以带有表示是否需要授权许可的字段,相应地,在集成有OpenSDK 400的第三方应用300导入至嵌入式设备10后,当第三方应用300的主进程启动调用OpenSDK 400时,被调用的OpenSDK 400会根据应用包中的字段来识别是否需要对该第三方应用300在嵌入式设备10的运行执行许可校验。
图7为基于如图6所示授权许可机制的许可校验流程的示意图。请参见图7,在第三方应用300导入至嵌入式设备10后,该许可校验流程包括:
S710:OpenSDK读取第三方应用的应用包的包头,即,读取包头中表示是否需要授权许可的字段。
S720:OpenSDK根据从包头读取到的该字段判断第三方应用是否需要授权许可,若需要,则跳转至S730,若不需要,则可以直接结束本流程并允许第三方应用在嵌入式设备运行。
S730:OpenSDK读取导入至嵌入式设备的LicenseKey。
S740:OpenSDK对读取到的LicenseKey进行校验。其中,对LicenseKey的校验可以包括对LicenseKey中的密文解密以及对解密信息的校验,如果LicenseKey设定有生命周期,则校验还可以包括对其生命周期是否终止的校验。若校验通过,则跳转至S750,否则,确定校验失败并禁止第三方应用在嵌入式设备启动进程。
S750:OpenSDK将第三方应用的授权许可状态刷新为已授权,并允许第三方应用在嵌入式设备运行。
至此,在第三方应用300导入嵌入式设备10后利用LicenseKey的许可校验流程结束。
对于校验通过的情况,OpenSDK 400可以将表示校验通过的校验结果存储在嵌入式设备的非易失性存储介质中,以便于在嵌入式设备10的设备重启后直接从非易失性存储介质读取、而无需再次执行上述的许可校验流程。可以理解的是,也可以在嵌入式设备10每次设备重启后都执行上述的许可校验流程。
另外,第三方应用300的授权许可状态也可以通告给设备主应用200。
图8为如图1所示服务系统中对第三方应用的权限管理机制的原理性示意图。请参见图8,被第三方应用300调用的OpenSDK 400可以对该第三方应用300获取设备服务的权限进行权限控制,而这样的权限控制是根据设备主应用200对第三方应用300的权限鉴权执行的,并且,设备主应用200对第三方应用300的权限鉴权依据的是来自设备客户端20的权限配置。
实际应用中,可以不是所有第三方应用300对设备服务的获取都需要权限管理。而且,对于需要权限管理的第三方应用300而言,权限管理机制可能会涉及到这些设备服务中的全部或者部分。第三方应用300对设备服务的获取是否需要权限管理,或者,哪些设备服务需要对第三方应用300进行权限管理,可以根据第三方应用300的应用包中的相应字段来判断。
图9a和图9b为如图1所示服务系统中的第三方应用的应用包数据结构示意图。
请参见图9a,作为一种实现方式,第三方应用300的应用包包括包头811和应用包主体812,应用包主体812中包括第三方应用主程序813和OpenSDK 400,包头811中则包括第三方应用300的应用名811a、应用ID 811b、开发者信息811c、等基本信息,包头811中还包括表示是否需要权限配置的字段811d、以及前文提及的表示是否需要授权许可的字段811e。基于如图9a所示的数据结构,OpenSDK 400可以判断处第三方应用300对设备服务的访问是否需要权限配置。
请参见图9b,作为另一种实现方式,第三方应用300的应用包包括包头821和应用包主体822,应用包主体822中包括第三方应用主程序823和OpenSDK 400,包头821中包括第三方应用300的应用名821a、应用ID 821b、开发者信息821c等基本信息、以及前文提及的表示是否需要授权许可的字段821e,即,应用包中的前述内容与图9a基本相同。但不同于图9a的是,包头811中还包括表示需要访问的设备服务的字段821d。基于如图9b所示的数据结构,OpenSDK 400可以将第三方应用需要访问的设备服务通告给设备主应用200,以辅助设备客户端20进行权限配置。
图10为基于如图8所示权限管理机制以及如图9a所示数据结构的权限管理流程的示意图。请参见图10,在第三方应用300导入至嵌入式设备10后,OpenSDK 400读取第三方应用300的应用包的包头811,即,读取包头811中表示是否需要权限配置的字段811e并传送给设备主应用200,此后,该权限管理流程包括:
S911:设备主应用获取OpenSDK读取的包头信息。
S912:设备主应用根据OpenSDK传送的包头信息判断第三方应用是否需要权限配置,若需要,则跳转至S913,若不需要,则可以直接结束本流程,并按照允许第三方应用访问嵌入式设备提供的设备服务的原则指示OpenSDK进行权限控制。
S913:设备主应用接收设备客户端传送的权限配置。
S914:设备主应用解析接收到的权限配置。
S915:设备主应用保存解析后的权限配置,用于基于保存的权限配置指示OpenSDK对第三方应用进行权限控制。
图11a和图11b为基于如图8所示权限管理机制以及如图9b所示数据结构的权限管理流程的示意图。
请参见图11a,在第三方应用300导入至嵌入式设备10后,OpenSDK 400读取第三方应用300的应用包的包头821,即,读取包头821中表示需要访问的设备服务的字段821e并传送给设备主应用200,此后,该权限管理流程包括:
S921:设备主应用获取OpenSDK读取的包头信息。
S922:设备主应用根据OpenSDK传送的包头信息识别第三方应用需要访问的设备服务。
S923:设备主应用根据识别出的设备服务向设备客户端提示需要配置的权限。
S924:设备主应用接收设备客户端传送的权限配置。
S925:设备主应用解析接收到的权限配置。
S926:设备主应用保存解析后的权限配置,用于基于保存的权限配置指示OpenSDK对第三方应用进行权限控制。
请参见图11b,作为如图11a所示流程的一种替代方案,该权限管理流程包括:
S931:设备主应用获取OpenSDK读取的包头信息。
S932:设备主应用根据OpenSDK传送的包头信息识别第三方应用需要访问的设备服务。
S933:设备主应用向设备客户端提示识别出的设备服务。
S934:设备主应用接收设备客户端传送的权限配置。
S935:设备主应用解析接收到的权限配置。
S936:设备主应用保存解析后的权限配置,用于基于保存的权限配置指示OpenSDK对第三方应用进行权限控制。
如图10以及图11a和图11b所示的三种权限管理流程相比:如图10所示的权限管理流程的权限管理范围不是由设备客户端200完全主导,而如图11a和图11b所示的权限管理流程产生的配置结果则基本是由设备客户端200主导。
无论采用哪一种权限管理流程,权限配置都可以是实时更新的,这样的实时更新只需要设备主应用200刷新在数据库中保存的权限配置,可以不需要重新卸载、打包、或安装第三方应用300。
在上述实施例的服务系统中,嵌入式设备10可以通过运行设备主应用200来提供用于第三方应用300接入的开放平台,因而嵌入式设备10可以灵活地接受第三方的服务开发,而且,由于接入开放平台的第三方应用300可以通过调用内部集成的OpenSDK 400而获取嵌入式设备10的设备服务,因而使得嵌入式设备10可以借助第三方应用300提供基于设备服务的第三方开发服务310,从而使嵌入式设备10的服务范围易于扩展,并可以此减轻嵌入式设备10对后端服务器的依赖程度以及后端服务器的处理负担。
如前文所述,第三方应用300与设备主应用200共享嵌入式设备10的硬件资源100,但相比于第三方应用300提供的第三方开发服务310,允许第三方应用300接入的开放平台的稳定性和安全性更为重要,因此,设备主应用200可以对第三方应用303对共享的硬件资源100的占用情况进行安全监测。
图12为如图1所示服务系统中的嵌入式设备的内部安全监测的原理性示意图。参见图12,设备主应用200对第三方应用300安全监测可以包括:
设备主程序200可以对第三方应用300占用的处理器110的处理资源进行监测200_M1,以防止第三方应用300影响嵌入式设备10的性能甚至导致嵌入式设备10发生卡死;
设备主应用200可以对第三方应用300访问例如FLASH等非易失性存储介质130的情况进行监测200_M2,以防止第三方应用300通过获取存储在非易失性存储介质130中的固件程序(例如设备主应用200的代码)进行恶意攻击;
设备主应用200可以对第三方应用300访问例如DDR内存等易失性存储介质的情况进行监测200_M3,以防止第三方应用300的运行占用过多内存资源而导致嵌入式设备异常;
设备主应用200还可以对第三方应用300访问网卡150的情况进行监测200_M4,以禁止被入侵的第三方应用300访问网络,同时还能监测网络流量以保证第三方应用300的网络访问正常。
可以理解的是,设备主应用200对第三方应用300的安全监测可以不限于上述列举的监测项目,只要是以确保开放平台的稳定性和安全性为前提的监测,都属于安全监测的范围内。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种基于开放平台的嵌入式设备,其特征在于,所述嵌入式设备包括处理器,所述处理器用于运行共享硬件资源的设备主应用和第三方应用,其中:
所述主设备应用用于提供所述第三方应用接入的开放平台;
所述第三方应用用于基于所述嵌入式设备的设备服务提供第三方开发服务;
其中,所述第三方应用中集成有软件开发工具包,所述第三方应用通过调用所述软件开发工具包与所述设备主应用通讯,以实现所述设备服务与所述第三方开发服务的对接。
2.根据权利要求1所述的嵌入式设备,其特征在于,所述软件开发工具包中包含有多个OpenAPI和权限管理及许可校验模块,其中:
所述OpenAPI用于被所述第三方应用调用以获取所述设备服务;
所述权限管理及许可校验模块用于对所述第三方应用在所述嵌入式设备的运行进行许可校验、以及对所述第三方应用调用所述多个OpenAPI的权限进行权限控制。
3.根据权利要求2所述的嵌入式设备,其特征在于,所述多个OpenAPI包括:
服务调用API,用于为所述第三方应用获取对应的所述设备服务提供调用接口;
协议调用API,用于为所述第三方应用与所述设备主应用通讯使用对应的通讯协议提供调用接口。
4.根据权利要求3所述的嵌入式设备,其特征在于,所述服务调用API对应的所述设备服务包括下述之一或任意组合:视频流、报警、录像、图片、日志、网络、时间、元数据结构化信息。
5.根据权利要求3所述的嵌入式设备,其特征在于,所述第三方应用与所述设备主应用支持的通讯协议包括下述之一或任意组合:RTSP、ONVIF协议、ISAPI协议、以及可扩展的自定义ISAPI协议。
6.根据权利要求1所述的嵌入式设备,其特征在于,所述第三方开发服务包括下述之一或任意组合:云服务、智能AI、终端体验、智能家居、第三方平台接入。
7.根据权利要求1所述的嵌入式设备,其特征在于,被调用的所述软件开发工具包对所述第三方应用在所述嵌入式设备的运行进行许可校验。
8.根据权利要求7所述的嵌入式设备,其特征在于,所述软件开发工具包利用导入至所述嵌入式设备的License Key执行所述许可校验。
9.根据权利要求1所述的嵌入式设备,其特征在于,被调用的所述软件开发工具包对所述第三方应用获取所述设备服务的权限进行权限控制。
10.根据权利要求9所述的嵌入式设备,其特征在于,所述软件开发工具包根据所述设备主应用对所述第三方应用的权限鉴权执行所述权限控制。
11.根据权利要求1所述的嵌入式设备,其特征在于,所述设备主应用对所述第三方应用对所述共享硬件资源的占用情况进行安全监测。
12.根据权利要求1所述的嵌入式设备,其特征在于,所述共享硬件资源包括网卡、外设接口、存储介质、运算芯片以及所述处理器。
13.一种基于开放平台的服务系统,其特征在于,包括如权利要求1至12中任一项所述的嵌入式设备、以及设备客户端和第三方客户端,其中,所述设备客户端通过所述设备主应用管理所述嵌入式设备,所述第三方客户端通过所述第三方应用获取所述第三方开发服务。
14.一种基于开放平台的服务开发方法,其特征在于,所述服务开发方法应用于提供设备服务的嵌入式设备,所述嵌入式设备装载有共享硬件资源的设备主应用和第三方应用,并且,所述服务开发方法包括如下步骤:
所述嵌入式设备通过运行所述设备主应用提供所述第三方应用接入的开放平台;
所述嵌入式设备通过运行所述第三方应用提供基于所述设备服务的第三方开发服务;
其中,所述第三方应用中集成有软件开发工具包,所述第三方应用通过调用所述软件开发工具包与所述设备主应用通讯,以实现所述设备服务与所述第三方开发服务的对接。
15.根据权利要求14所述的服务开发方法,其特征在于,所述服务开发方法进一步包括:
所述嵌入式设备通过运行被所述第三方应用调用的所述软件开发工具包对所述第三方应用在所述嵌入式设备的运行进行许可校验。
16.根据权利要求14所述的服务开发方法,其特征在于,所述服务开发方法进一步包括在所述嵌入式设备执行的如下步骤:
所述嵌入式设备通过运行被所述第三方应用调用的所述软件开发工具包对所述第三方应用获取所述设备服务的权限进行权限控制。
CN201910015739.2A 2019-01-08 2019-01-08 基于开放平台的嵌入式设备和服务系统以及服务开发方法 Active CN111414156B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910015739.2A CN111414156B (zh) 2019-01-08 2019-01-08 基于开放平台的嵌入式设备和服务系统以及服务开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910015739.2A CN111414156B (zh) 2019-01-08 2019-01-08 基于开放平台的嵌入式设备和服务系统以及服务开发方法

Publications (2)

Publication Number Publication Date
CN111414156A true CN111414156A (zh) 2020-07-14
CN111414156B CN111414156B (zh) 2023-09-22

Family

ID=71492598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910015739.2A Active CN111414156B (zh) 2019-01-08 2019-01-08 基于开放平台的嵌入式设备和服务系统以及服务开发方法

Country Status (1)

Country Link
CN (1) CN111414156B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1313562A (zh) * 2001-05-15 2001-09-19 北京慧讯信息技术有限公司 嵌入式开放平台的体系结构
US20030135842A1 (en) * 2002-01-16 2003-07-17 Jan-Erik Frey Software development tool for embedded computer systems
US20120124548A1 (en) * 2010-11-16 2012-05-17 Electronics And Telecommunications Research Institute Apparatus and method for reconstructing embedded software development environment
CN102662648A (zh) * 2012-03-05 2012-09-12 广东天波信息技术股份有限公司 一种通讯终端的嵌入式软件开发仿真平台及其应用
CN103078827A (zh) * 2011-10-25 2013-05-01 腾讯数码(天津)有限公司 第三方应用调用的开放平台系统和实现方法
CN105260186A (zh) * 2015-10-19 2016-01-20 厦门骐俊物联科技股份有限公司 用于嵌入式系统的应用程序sdk的构建方法及装置
CN105933766A (zh) * 2016-01-21 2016-09-07 上海东方明珠新媒体股份有限公司 基于机顶盒的WebOS系统及机顶盒
CN107977369A (zh) * 2016-10-21 2018-05-01 北京计算机技术及应用研究所 便于移植的嵌入式数据库管理系统
WO2018209554A1 (zh) * 2017-05-16 2018-11-22 深圳中兴力维技术有限公司 一种接入第三方平台协议的装置
US20180365004A1 (en) * 2017-06-14 2018-12-20 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for calling software development kit

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1313562A (zh) * 2001-05-15 2001-09-19 北京慧讯信息技术有限公司 嵌入式开放平台的体系结构
US20030135842A1 (en) * 2002-01-16 2003-07-17 Jan-Erik Frey Software development tool for embedded computer systems
US20120124548A1 (en) * 2010-11-16 2012-05-17 Electronics And Telecommunications Research Institute Apparatus and method for reconstructing embedded software development environment
CN103078827A (zh) * 2011-10-25 2013-05-01 腾讯数码(天津)有限公司 第三方应用调用的开放平台系统和实现方法
CN102662648A (zh) * 2012-03-05 2012-09-12 广东天波信息技术股份有限公司 一种通讯终端的嵌入式软件开发仿真平台及其应用
CN105260186A (zh) * 2015-10-19 2016-01-20 厦门骐俊物联科技股份有限公司 用于嵌入式系统的应用程序sdk的构建方法及装置
CN105933766A (zh) * 2016-01-21 2016-09-07 上海东方明珠新媒体股份有限公司 基于机顶盒的WebOS系统及机顶盒
CN107977369A (zh) * 2016-10-21 2018-05-01 北京计算机技术及应用研究所 便于移植的嵌入式数据库管理系统
WO2018209554A1 (zh) * 2017-05-16 2018-11-22 深圳中兴力维技术有限公司 一种接入第三方平台协议的装置
US20180365004A1 (en) * 2017-06-14 2018-12-20 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for calling software development kit

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
万相奎;陈建明;: "改进的嵌入式软件架构及其应用层开发模式", no. 23 *
侯德艳;: "基于层次模型的嵌入式开发平台系统的设计", no. 01 *
赵艳领;闫晓风;刘丹;: "基于SDK嵌入式OPCUA服务器设计与实现", 制造业自动化, no. 01 *

Also Published As

Publication number Publication date
CN111414156B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
KR102224379B1 (ko) 일반적 상호연동 및 확장성을 위한 서비스 계층 리소스 관리
US20220141262A1 (en) Automated service enrollment in a machine-to-machine communications network
US11356450B2 (en) Managing data access
KR20210149576A (ko) 에지 컴퓨팅 배치에서 다중 엔티티 자원, 보안 및 서비스 관리
CN103491056B (zh) 应用权限的控制方法及装置
US11765586B2 (en) Context aware authorization for data and services in the IoT/M2M service layer
US20210021594A1 (en) Biometric security for edge platform management
CN111416793B (zh) 基于开放平台的权限控制方法和嵌入式设备
US20160366127A1 (en) Network node, device and methods for providing an authentication module
US20210089685A1 (en) Monitoring memory status using configurable hardware secured by a dice root of trust
CN111414156B (zh) 基于开放平台的嵌入式设备和服务系统以及服务开发方法
CN110650132A (zh) 边缘计算节点的接入方法、装置、计算机设备和存储介质
CN114567678B (zh) 一种云安全服务的资源调用方法、装置及电子设备
US8707330B2 (en) Method and system for controlled communication between applications
WO2022243956A1 (en) Method, mobile equipment, and system for vulnerability detection in a sim
CN106485104B (zh) 终端安全策略的自动修复方法和装置、系统
US11368850B2 (en) Data model visibility in IoT network implementations
CN110769065A (zh) 一种远程管理方法、系统、终端设备及服务器
CN111416792A (zh) 嵌入式设备的内部免认证方法以及嵌入式设备
US11558376B1 (en) Identifying internet of things devices
US20230308467A1 (en) Home Gateway Monitoring for Vulnerable Home Internet of Things Devices
WO2024065816A1 (en) High fidelity attestation-based artificial intelligence inference system
KR102049889B1 (ko) 하드웨어 보안 모듈을 이용한 데이터 위변조 방지장치 및 그 방법
Karamchandani Mutation based protocol fuzzer for IoT
Azzoni et al. Security, Privacy, and Dependability Technologies

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