CN106796642B - 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品 - Google Patents

设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品 Download PDF

Info

Publication number
CN106796642B
CN106796642B CN201680002965.1A CN201680002965A CN106796642B CN 106796642 B CN106796642 B CN 106796642B CN 201680002965 A CN201680002965 A CN 201680002965A CN 106796642 B CN106796642 B CN 106796642B
Authority
CN
China
Prior art keywords
driver
operating system
operating
instruction
program
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
Application number
CN201680002965.1A
Other languages
English (en)
Other versions
CN106796642A (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.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Chengdu Technologies 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 Cloudminds Chengdu Technologies Co ltd filed Critical Cloudminds Chengdu Technologies Co ltd
Publication of CN106796642A publication Critical patent/CN106796642A/zh
Application granted granted Critical
Publication of CN106796642B publication Critical patent/CN106796642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品,所述方法包括:在第一操作系统中,在监测到设备检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统;在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;在所述第一操作系统中,将所述操作结果返回至所述设备检测程序。本申请在进行设备检测的过程中,由第一操作系统向第二操作系统下发驱动程序操作指令,第二操作系统执行所述操作指令后向第一操作系统反馈操作结果,实现了第一操作系统对第二操作系统中设备的检测,一方面无需重启所述第二操作系统,便于用户操作,另一方面将第一操作系统的设备检测程序与第二操作系统中的应用程序相隔离,提升了安全性。

Description

设备检测方法、系统、电子设备、云端机器人系统和计算机程 序产品
技术领域
本申请涉及虚拟化技术领域,特别涉及设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品。
背景技术
现有技术中计算机可以调用系统设备的驱动程序接口运行驱动程序实现对系统设备的各种操作。在某些情况下,需要对驱动程序本身进行检测、设置或者修复等操作,这些操作通常需要更高的权限,通常仅开放给内核级应用程序,并且在进行对驱动程序的操作的过程中可能涉及这些驱动程序对应的系统设备的断电、上电和其他各种重复操作等,导致上层应用程序无法使用。因此,在对系统设备的驱动程序进行操作时通常需要重启计算机以进入具有更高权限的安全模式,安全模式的工作原理是在不加载第三方设备驱动程序的情况下启动计算机操作系统,使计算机操作系统运行在系统最小模式,使对系统设备驱动程序的操作不会被第三方设备影响。
现有技术的不足主要在于:当希望对系统设备的驱动程序进行检测时需要重启操作系统进入安全模式,导致原计算机系统中的很多应用程序将无法使用,直到重启操作系统恢复正常运行模式后这些应用程序才能正常使用,用户操作不便;而如果直接将对系统设备的驱动程序进行检测的权限开放给正常运行模式,那么虽然无需多次重启,但将带来巨大安全隐患。
发明内容
本申请实施例提出了设备调用方法、系统、电子设备、云端机器人系统和计算机程序产品,主要用以解决当希望对系统设备的驱动程序进行操作时需要重启操作系统进入安全模式,导致原计算机系统中的很多应用程序将无法使用,直到重启操作系统恢复正常运行模式后这些应用程序才能正常使用,用户操作不便;而如果直接将对系统设备的驱动程序进行操作的权限开放给正常运行模式,则虽然无需多次重启,但将带来巨大安全隐患的问题。
在一个方面,本申请实施例提供了一种设备检测方法,所述方法包括:
在第一操作系统中,在监测到设备检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统;
在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;
在所述第一操作系统中,将所述操作结果返回至所述设备检测程序。
在另一个方面,本申请实施例提供了一种设备检测系统,所述系统包括:
第一操作模块,用于在第一操作系统中,在监测到设备检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统;
第二操作模块,用于在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;
所述第一操作模块还用于,在所述第一操作系统中,将所述操作结果返回至所述设备检测程序。
在另一个方面,本申请实施例提供了一种电子设备,其特征在于,所述电子设备包括:外接设备,存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述方法中各个步骤的指令。
在另一个方面,本申请实施例提供了一种云端机器人系统,其特征在于,所述云端机器人系统包括:机器人终端设备和云服务器;
所述云服务器包括,第一通信设备,第一存储器,一个或多个第一处理器;以及一个或多个第一模块,所述一个或多个第一模块被存储在所述第一存储器中,并被配置成由所述一个或多个第一处理器执行,所述一个或多个第一模块包括用于执行权利要求1至5中任一所述方法中在第一操作系统中执行的各个步骤的指令。
所述机器人终端设备包括,外接设备,第二通信设备,第二存储器,一个或多个第二处理器;以及一个或多个第二模块,所述一个或多个第二模块被存储在所述第二存储器中,并被配置成由所述一个或多个第二处理器执行,所述一个或多个第二模块包括用于执行权利要求1至5中任一所述方法中在第二操作系统中执行的各个步骤的指令。
在另一个方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述方法中各个步骤的指令。
本申请的有益效果如下:
本申请提供了一种设备检测方法,在进行设备检测的过程中,由第一操作系统向第二操作系统下发驱动程序操作指令,第二操作系统执行所述操作指令后向第一操作系统反馈操作结果,实现了第一操作系统对第二操作系统中设备的检测,一方面无需重启所述第二操作系统,便于用户操作,另一方面将第一操作系统的设备检测程序与第二操作系统中的应用程序相隔离,提升了安全性。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了本申请实施例一中设备检测方法适用的系统架构示意图;
图2示出了本申请实施例一中设备检测方法的流程示意图;
图3示出了本申请实施例二中设备检测方法适用的系统架构示意图;
图4示出了本申请实施例三中设备检测系统的系统架构示意图;
图5示出了本申请实施例四中设备检测系统的结构示意图;
图6示出了本申请实施例五中电子设备的结构示意图;
图7示出了本申请实施例六中云端机器人系统的结构示意图。
具体实施方式
发明人在发明过程中注意到:当希望对系统设备的驱动程序进行检测时需要重启操作系统进入安全模式,导致原计算机系统中的很多应用程序将无法使用,直到重启操作系统恢复正常运行模式后这些应用程序才能正常使用,用户操作不便;而如果直接将对系统设备的驱动程序进行检测的权限开放给正常运行模式,那么虽然无需多次重启,但将带来巨大安全隐患。
针对上述不足,本申请提供了一种设备检测方法,在进行设备检测的过程中,由第一操作系统向第二操作系统下发驱动程序操作指令,第二操作系统执行所述操作指令后向第一操作系统反馈操作结果,实现了第一操作系统对第二操作系统中设备的检测,一方面无需重启所述第二操作系统,便于用户操作,另一方面将第一操作系统的设备检测程序与第二操作系统中的应用程序相隔离,提升了安全性。
在虚拟化系统架构中可以运行多个操作系统,其中包括一个主操作系统(hostOS),以及一个或者多个客户操作系统(guest OS),主操作系统运行于宿主机,在主操作系统上运行一个或者多个客户虚拟机,即客户机,各客户机作为主操作系统的应用程序运行,客户机可以为运行于该客户机上的客户操作系统模拟硬件设备以供客户操作系统使用,在各客户机运行的客户操作系统中可运行各种应用程序。基于虚拟化系统架构,多个操作系统之间可共享硬件设备包括系统设备和外设等。为了便于本申请在上述架构下的实施,下面以实例进行说明。
实施例一:
图1示出了本申请实施例一中设备检测方法适用的系统架构图。本实施例中虚拟化系统架构中运行了至少2个客户机,对于某一系统设备,在宿主机(Host)中运行了系统设备的驱动程序的后端,与所述系统设备的驱动程序的后端对应的,在客户机1中运行了所述系统设备的驱动程序的第一前端。当客户机1中的应用程序需要调用系统设备实现某些功能时,可以将对系统设备的操作指令通过所述第一前端转发至驱动程序的后端进而调用所述系统设备对应的驱动程序令系统设备执行所述操作指令。本实施例中,客户机2运行的客户操作系统2即为第一操作系统,宿主机操作系统(Host OS)即为第二操作系统。
图2示出了本申请实施例一中设备检测方法流程示意图,所述方法在如图1所示的虚拟化系统架构中实现,如图2所示,所述设备检测方法包括:
步骤101,在第一操作系统中,在监测到设备检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统;
步骤102,在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;
步骤103,在所述第一操作系统中,将所述操作结果返回至所述设备检测程序。
在步骤101中,客户机2运行的客户操作系统2中运行了设备驱动程序的检测程序,这些检测程序可以下发对驱动程序本身进行检测的指令,因为所述这些对驱动程序的操作程序需要的权限较高,因此通常运行于内核层。在某些情况下驱动程序的操作程序也可同时运行在操作系统的上层,以便用户获取操作结果进行后续处理。这些驱动程序的检测程序将检测指令下发至系统设备的驱动程序在客户机2中的驱动程序的第二前端,由第二前端将该检测指令对应操作指令转发至宿主机操作系统的驱动程序的后端。
在一些实施方式中,仅在确定所述驱动程序操作指令满足预设安全条件时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
因为对系统设备的驱动程序本身进行的操作通常会对严重影响系统的运行,所以通常需要限制发起这类操作,可以限制仅有满足预设安全条件的驱动程序操作指令才会被执行。这些预设安全条件可以是操作指令的发起方是特定的本地客户机的操作系统,或者是本地运行于特定的模式或者状态的客户机的操作系统;或者是非本地的,特定的远程终端中的操作系统,也可以是远程终端中运行于特定的模式或者状态的客户机的操作系统。
在一些实施方式中,所述预设安全条件包括,所述第一操作系统的安全级别大于预设级别。
即限定仅有满足安全级别要求的本地客户机中运行的内部操作系统下发的驱动程序操作指令满足预设安全条件。具有虚拟化系统架构的终端中,通常运行了多个客户机,并且这些客户机的安全级别不同,例如在用于工作的终端中,企业虚拟机用于处理工作相关事务,其安全级别通常高于用于处理用户个人事务的用户虚拟机;例如在一些终端中会运行专门的客户机用于监测其他各个客户机和宿主机的运行情况,防止虚拟化架构中的虚拟机被恶意窜改,这种专用于监测的客户机的安全级别通常也高于其他客户机。因为对系统设备的驱动程序本身进行的操作通常会严重影响系统的运行,所以如果发起方是该终端本地的某个客户机的操作系统,那么需要该操作系统运行的客户机达到一定安全级别要求,避免系统设备的驱动能够轻易的被操作。
在一些实施方式中,所述预设安全条件包括,所述第一操作系统为安全运行在系统最小模式的操作系统。
即限定仅有本地客户机中安全运行于系统最小模式的内部操作系统下发的驱动程序操作指令满足预设安全条件。通常对系统设备的驱动程序本身进行的操作通常会对严重影响系统的运行,即无法同时运行其他应用程序,并且在对驱动程序进行检测、修改或者修复的过程中也希望避免其他第三方应用程序对该操作过程的影响,所以如果发起方是终端本地的某个客户机的操作系统,那么需要操作系统运行在系统最小模式下,即未加载第三方设备驱动程序的模式下,类似于现有计算机操作系统的安全模式,处于这种模式的客户机操作系统对系统设备的驱动程序进行各种操作时不会被第三方设备影响,也更加安全。
在一些实施方式中,所述预设安全条件包括,所述第一操作系统为经过认证的操作系统。
为避免对驱动程序发起检测操作指令的操作系统存在安全隐患,在各客户机启动时,可对各客户机进行是软件安全排查或者系统安全评分等安全认证;或者在接收到操作指令后,可对所述操作指令的发起方进行如签名比对等形式的安全认证,即对操作指令发起方的客户操作系统进行签名运算,并与预存的签名结果进行对比,若相同则说明所客户操作系统未被篡改,为经过认证的操作系统。
在步骤102中,在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统。
宿主机操作系统根据客户操作系统2中第二前端转发的驱动程序操作指令对驱动程序进行的检测操作完成后,由驱动程序的后端将操作结果反馈客户机2的第二前端。
在一些实施方式中,仅在相应的驱动程序处于空闲状态时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
判断所述驱动程序是否处于空闲状态,即判断设备驱动程序后端当前是否被占用,最可能的一种占用方式是客户机1中的客户操作系统1运行的应用程序正经所述驱动程序的第一前端调用所述驱动程序的后端以对该驱动程序对应的系统设备进行操作。如果驱动程序当前未被驱动程序的后端占用,则执行客户机2对驱动程序操作的操作指令,使驱动程序完成相关操作,即将客户机2中驱动程序的第二前端转发的操作指令转发至设备驱动程序后端,以实现在驱动程序空闲时对驱动程序本身进行操作。
本步骤中,若驱动程序当前被客户机1中的客户操作系统1所占用,那么将暂不执行对系统设备的驱动程序的操作指令,不会影响操作系统1中应用程序对系统设备的调用。当客户操作系统1中的应用程序对系统设备的调用完成后,即可执行客户机2对驱动程序下发的操作指令,此时客户操作系统1不需要重启,并且由于在客户操作系统1中运行了驱动系统的第一前端,因此其仍能正常的对系统设备下发调用请求而不会崩溃。
在步骤103中,第二前端将操作结果也即检测结果反馈至客户机2中发起检测操作的检测程序,完成客户机2中客户操作系统2对系统设备的驱动程序的操作流程。
本实施例中,在进行设备检测的过程中,由第一操作系统向第二操作系统下发驱动程序操作指令,第二操作系统执行所述操作指令后向第一操作系统反馈操作结果,实现了第一操作系统对第二操作系统中设备的检测,一方面无需重启所述第二操作系统,便于用户操作,另一方面将第一操作系统的设备检测程序与第二操作系统中的应用程序相隔离,提升了安全性。当对驱动程序的操作发起方为本地客户机的操作系统时,可以限定驱动程序的操作指令需要满足预设安全条件,提升安全性;例如可要求该客户机具有较高的安全级别,避免系统设备的驱动程序被轻易篡改,也可要求该客户机的操作系统运行于系统最小模式,以避免第三方程序驱动对系统设备驱动程序的操作造成影响,还可以要求该客户机为经过安全认证的客户机,避免不安全的客户机对驱动程序进行非法操作。判断驱动程序是否空闲以对其进行相应操作,避免了系统中的冲突。
实施例二:
图3示出了本申请实施例二中设备检测方法适用的系统架构图。本实施例中本地的虚拟化系统架构中运行了至少1个客户机,对于某一系统设备,在宿主机(Host)中运行了系统设备的驱动程序的后端,与所述系统设备的驱动程序的后端对应的,在客户机1中运行了所述系统设备的驱动程序的第一前端。当客户机1中的应用程序需要调用系统设备实现某些功能时,可以将对系统设备的操作指令通过所述第一前端转发至驱动程序的后端进而调用所述系统设备对应的驱动程序令系统设备执行所述操作指令。
本实施例中设备检测方法可参见上述实施例一中步骤101至103的说明,区别在于本实施例中所述第一操作系统与所述第二操作系统位于不同的终端上,即对应的步骤101中操作发起方为外部终端的操作系统,在外部终端操作系统的内核层运行了驱动程序的第二前端,可以理解为一个虚拟前端,在该第二前端与本地终端的驱动程序的后端间建立通信连接,外部终端操作系统中运行的驱动程序的操作程序可将对驱动程序的操作指令通过驱动程序的第二前端转发至本地终端的驱动程序的后端,进而调用所述系统设备对应的驱动程序令系统设备执行所述操作指令。
在本实施例中,将对系统设备的驱动程序进行操作的权限提供给外部终端,外部终端可以为一平台服务器,便于维护人员在平台侧对某一终端中系统设备的驱动程序进行操作。相应的对系统设备的驱动程序进行操作的权限可以不再开放给本地的任一客户机,避免终端的某一客户机或者操作系统被篡改后对系统设备的驱动程序进行非法操作。
在一些实施方式中,仅在确定所述驱动程序操作指令满足预设安全条件时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
因为对系统设备的驱动程序本身进行的操作通常会对严重影响系统的运行,所以通常需要限制发起这类操作,可以限制仅有满足预设安全条件的驱动程序操作指令才会被执行。这些预设安全条件可以是操作指令的发起方是非本地的,特定的远程终端中的操作系统,也可以是远程终端中运行于特定的模式或者状态的客户机的操作系统。
在一些实施方式中,所述预设安全条件包括,所述第一操作系统的安全级别大于预设级别。
即限定仅有满足安全级别要求的外部终端中运行的外部操作系统下发的驱动程序操作指令满足预设安全条件。当系统中存在多个外部终端时,这些外部终端的安全级别不同,或者当各外部终端中运行了一个或者多个外部操作系统时,这些操作系统的安全级别也不同。因为对系统设备的驱动程序本身进行的操作通常会严重影响系统的运行,所以如果发起方是外部终端的某个外部操作系统时,那么需要该操作系统运行的外部终端达到一定安全级别要求,或者需要该外部操作系统达到一定安全级别要求,以避免系统设备的驱动能够轻易的被操作。
在一些实施方式中,所述预设安全条件包括,所述第一操作系统为安全运行在系统最小模式的操作系统。
即限定仅有外部终端中安全运行与系统最小模式的外部操作系统下发的驱动程序操作指令满足预设安全条件。通常对系统设备的驱动程序本身进行的操作通常会对严重影响系统的运行,即无法同时运行其他应用程序,并且在对驱动程序进行检测、修改或者修复的过程中也希望避免其他第三方应用程序对该操作过程的影响,所以如果发起方是外部终端的操作系统,那么需要该操作系统运行在系统最小模式下,即未加载第三方设备驱动程序的模式下,即由外部终端提供了类似于现有计算机操作系统的安全模式,处于这种模式的外部终端的操作系统在对当前终端系统设备的驱动程序进行各种操作时不会被外部终端的操作系统中第三方设备影响,也更加安全。
在一些实施方式中,所述预设安全条件包括,所述第一操作系统为经过认证的操作系统。
即限定仅有经安全认证的外部终端运行的外部操作系统中运行的外部操作系统下发的驱动程序操作指令满足预设安全条件。当前终端可以与多个外部终端建立连接,但这些外部终端的操作系统是否能够作为对当前终端系统设备驱动程序发起操作的操作发起方需要先经过安全认证。所述安全认证可以是根据所述外部终端的终端型号、终端标识进行的认证,即仅有运行在经认证的外部终端的操作系统才能够作为操作发起方。所述安全认证也可以是根据外部终端的操作系统的信息进行的认证,即一方面可以对操作系统运行的外部终端的权限进行限制,另一方面还可以对各终端上不同的操作系统的权限进行限制,例如某一外部终端上运行了多个客户机,仅有其中安全性能较高的客户机中的操作系统才能够基于与当前终端的通信连接对当前终端系统设备的驱动程序进行操作。
因为对当前终端的系统设备的驱动程序本身进行的操作通常会严重影响系统的运行,所以如果发起方是外部终端的操作系统,那么需要对该操作系统进行安全认证,避免系统设备的驱动能够轻易的被外部终端操作。
在一些实施方式中,仅在相应的驱动程序处于空闲状态时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
判断所述驱动程序是否处于空闲状态,即判断设备驱动程序后端当前是否被占用,最可能的一种占用方式是系统设备本地的客户机1中的客户操作系统1运行的应用程序正经所述驱动程序的第一前端调用所述驱动程序的后端以对该驱动程序对应的系统设备进行操作。如果驱动程序当前未被驱动程序的后端占用,则执行外部终端中外部操作系统对驱动程序操作的操作指令,使驱动程序完成相关操作,即将外部操作系统中驱动程序的第二前端转发的操作指令转发至宿主机中设备驱动程序后端,以实现在驱动程序空闲时对驱动程序本身进行操作。
本步骤中,若驱动程序当前被本地客户机所占用,那么将暂不执行外部终端对系统设备的驱动程序的操作指令,不会影响本地应用程序对系统设备的调用。当本地客户操作系统1中的应用程序对系统设备的调用完成后,即可执行外部终端对驱动程序下发的操作指令,此时本地客户操作系统1不需要重启,并且由于在本地客户操作系统1中运行了驱动系统的第一前端,因此其仍能正常的对系统设备下发调用请求而不会崩溃。
本实施例中,在进行设备检测的过程中,由第一操作系统向第二操作系统下发驱动程序操作指令,第二操作系统执行所述操作指令后向第一操作系统反馈操作结果,实现了第一操作系统对第二操作系统中设备的检测,一方面无需重启所述第二操作系统,便于用户操作,另一方面将第一操作系统的设备检测程序与第二操作系统中的应用程序相隔离,提升了安全性。当对驱动程序的操作发起方为外部终端的操作系统时,可以限定驱动程序的操作指令需要满足预设安全条件,提升安全性;例如可要求该外部终端或者运行与该外部终端的外部操作系统具有较高的安全级别,或者可要求该外部终端的操作系统经过安全认证,避免系统设备的驱动程序被任一外部终端轻易篡改,也可要求该外部终端的操作系统运行于系统最小模式,以避免第三方程序驱动对系统设备驱动程序的操作造成影响。
实施例三:
图4示出了本申请实施例三中设备驱动程序检测系统的结构示意图。本实施例中提供一机器人管理平台,其上运行了与机器人系统中各个机器人涉及设备的驱动程序检测程序,例如摄像头驱动检测程序和马达驱动检测程序等,当各机器人上设备的型号不同时,可能涉及不同驱动的不同检测程序。管理平台的操作系统通过平台侧和各机器人侧的通信设备基于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)协议与各机器人的宿主机操作系统建立网络连接,并在平台操作系统内核层中实现虚拟设备驱动程序前端。在管理平台的操作系统中对检测的机器人设备是本地还是远程设备并无感知,检测远程和本地机器人设备的代码和操作完全一致,对各机器人设备的检测结果可进一步进行汇总分析或者可视化展示。因此,机器人管理平台可以对远程机器人的设备状态进行实时检测,能够准确掌握远程设备和驱动的状态信息,从而实现对远程设备的实时调度,精细化操作以及维修保养等及时处理。
当机器人的操作系统运行于虚拟化架构中时,在宿主机中运行了机器人设备的驱动程序的后端例如摄像头驱动程序的后端或者马达驱动程序的后端等。一方面在机器人的客户机中运行了机器人设备的驱动程序的前端(附图中未示出),使机器人的客户机操作系统能够正常调用机器人的硬件设备执行相关操作,另一方面,在平台操作系统中同样运行了这些硬件设备的驱动程序的前端,使平台侧能够在各机器人空闲时对机器人的各种设备的驱动程序进行底层检测。本实施例中机器人不仅实现了正常业务与检测任务的隔离,更加安全,而且还在保证机器人可以正常、独立的控制机器人设备的情况下由远程管理平台在其空闲时进行检测任务,保证机器人本地的效率。
实施例四:
基于同一发明构思,本申请实施例中还提供了设备检测系统400,由于这些系统解决问题的原理与设备检测方法相似,因此这些系统的实施可以参见方法的实施,重复之处不再赘述。图5示出了本申请实施例四中设备检测系统400的结构示意图,如图所示,所述系统400应用于虚拟化系统架构中,所述虚拟化系统架构至少包括一个驱动程序的后端和所述驱动程序的第一前端,其特征在于,所述系统400包括:
第一操作模块401,用于在第一操作系统中,在监测到设备检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统;
第二操作模块402,用于在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;
所述第一操作模块401还用于,在所述第一操作系统中,将所述操作结果返回至所述设备检测程序。在一些实施方式中,所述根据所述驱动程序操作指令对相应的驱动程序进行操作,是指:
仅在确定所述驱动程序操作指令满足预设安全条件时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
在一些实施方式中,所述预设安全条件包括:
所述第一操作系统的安全级别大于预设级别;或者,
所述第一操作系统为安全运行在系统最小模式的操作系统;或者,
所述第一操作系统为经过认证的操作系统。
在一些实施方式中,所述第一操作系统与所述第二操作系统位于不同的终端上。
即所述第一操作模块与所述第二操作模块可位于不同的终端,此种情况图5未示出。
在一些实施方式中,所述根据所述驱动程序操作指令对相应的驱动程序进行操作,是指:仅在相应的驱动程序处于空闲状态时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
实施例五:
基于同一发明构思,本申请实施例中还提供了一种电子设备,由于其原理与设备检测方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。如图6所示,所述电子设备500包括:外接设备501,存储器502,一个或多个处理器503;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。
所述外接设备即与所述电子设备连接并且在所述电子设备中运行了其驱动程序的设备。
实施例六:
基于同一发明构思,本申请实施例中还提供了一种云端机器人系统,由于其原理与设备检测方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。如图7所示,所述云端机器人系统600包括:机器人终端设备602和云服务器601;
所述云服务器601包括,第一通信设备6011,第一存储器6012,一个或多个第一处理器6013;以及一个或多个第一模块,所述一个或多个第一模块被存储在所述第一存储器6012中,并被配置成由所述一个或多个第一处理器6013执行,所述一个或多个第一模块包括用于执行上述任一所述方法中在第一操作系统中执行的各个步骤的指令。
所述机器人终端设备602包括,外接设备6021,第二通信设备6022,第二存储器6023,一个或多个第二处理器6024;以及一个或多个第二模块,所述一个或多个第二模块被存储在所述第二存储器6023中,并被配置成由所述一个或多个第二处理器6024执行,所述一个或多个第二模块包括用于执行上述任一所述方法中在第二操作系统中执行的各个步骤的指令。
所述外接设备6021即与所述机器人终端连接并且在所述电子设备中运行了其驱动程序的设备。
实施例七:
基于同一发明构思,本申请实施例还提供了计算机程序产品,由于其原理与设备检测方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一前述方法中各个步骤的指令。
为了描述的方便,以上所述装置的各部分以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或设备中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全设备实施例、完全软件实施例、或结合软件和设备方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

Claims (13)

1.一种设备检测方法,其特征在于,所述方法包括:
在第一操作系统中,在监测到设备驱动程序的检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统,所述驱动程序操作指令为对所述驱动程序本身进行检测的指令;
在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;
在所述第一操作系统中,将所述操作结果返回至所述设备驱动程序的检测程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述驱动程序操作指令对相应的驱动程序进行操作,是指:
仅在确定所述驱动程序操作指令满足预设安全条件时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
3.根据权利要求2所述的方法,其特征在于,
所述预设安全条件包括:
所述第一操作系统的安全级别大于预设级别;或者,
所述第一操作系统为安全运行在系统最小模式的操作系统;或者,
所述第一操作系统为经过认证的操作系统。
4.根据权利要求1所述的方法,其特征在于,所述第一操作系统与所述第二操作系统位于不同的终端上。
5.根据权利要求1所述的方法,其特征在于,所述根据所述驱动程序操作指令对相应的驱动程序进行操作,是指:
仅在相应的驱动程序处于空闲状态时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
6.一种设备检测系统,其特征在于,所述系统包括:
第一操作模块,用于在第一操作系统中,在监测到设备驱动程序的检测程序发送的设备检测指令时,确定所述设备检测指令对应的驱动程序操作指令,并将所述驱动程序操作指令传递至第二操作系统,所述驱动程序操作指令为对所述驱动程序本身进行检测的指令;
第二操作模块,用于在第二操作系统中,根据所述驱动程序操作指令对相应的驱动程序进行操作;反馈操作结果至所述第一操作系统;
所述第一操作模块还用于,在所述第一操作系统中,将所述操作结果返回至所述设备驱动程序的检测程序。
7.根据权利要求6所述的系统,其特征在于,所述根据所述驱动程序操作指令对相应的驱动程序进行操作,是指:
仅在确定所述驱动程序操作指令满足预设安全条件时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
8.根据权利要求7所述的系统,其特征在于,
所述预设安全条件包括:
所述第一操作系统的安全级别大于预设级别;或者,
所述第一操作系统为安全运行在系统最小模式的操作系统;或者,
所述第一操作系统为经过认证的操作系统。
9.根据权利要求6所述的系统,其特征在于,所述第一操作系统与所述第二操作系统位于不同的终端上。
10.根据权利要求6所述的系统,其特征在于,所述根据所述驱动程序操作指令对相应的驱动程序进行操作,是指:
仅在相应的驱动程序处于空闲状态时,根据所述驱动程序操作指令对相应的驱动程序进行操作。
11.一种电子设备,其特征在于,所述电子设备包括:
外接设备,存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行权利要求1至5中任一所述方法中各个步骤的指令。
12.一种云端机器人系统,其特征在于,所述云端机器人系统包括机器人终端设备和云服务器;
所述云服务器包括,第一通信设备,第一存储器,一个或多个第一处理器;以及一个或多个第一模块,所述一个或多个第一模块被存储在所述第一存储器中,并被配置成由所述一个或多个第一处理器执行,所述一个或多个第一模块包括用于执行权利要求1至5中任一所述方法中在第一操作系统中执行的各个步骤的指令;
所述机器人终端设备包括,外接设备,第二通信设备,第二存储器,一个或多个第二处理器;以及一个或多个第二模块,所述一个或多个第二模块被存储在所述第二存储器中,并被配置成由所述一个或多个第二处理器执行,所述一个或多个第二模块包括用于执行权利要求1至5中任一所述方法中在第二操作系统中执行的各个步骤的指令。
13.一种计算机可读存储介质,所述存储介质存储有用于执行权利要求1至5中任一所述方法中的各个步骤的程序指令。
CN201680002965.1A 2016-12-22 2016-12-22 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品 Active CN106796642B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/111597 WO2018112862A1 (zh) 2016-12-22 2016-12-22 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品

Publications (2)

Publication Number Publication Date
CN106796642A CN106796642A (zh) 2017-05-31
CN106796642B true CN106796642B (zh) 2019-03-15

Family

ID=58952989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680002965.1A Active CN106796642B (zh) 2016-12-22 2016-12-22 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品

Country Status (3)

Country Link
US (1) US10824488B2 (zh)
CN (1) CN106796642B (zh)
WO (1) WO2018112862A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436840A (zh) * 2017-08-01 2017-12-05 北京奇虎科技有限公司 应用程序运行性能分析方法、装置及系统
CN107479957A (zh) * 2017-08-07 2017-12-15 广州视源电子科技股份有限公司 一种多系统应用的切换方法、装置、设备和存储介质
CN107480530A (zh) * 2017-08-23 2017-12-15 北京奇虎科技有限公司 安全检测的方法、装置、系统以及服务器
CN108536626A (zh) * 2018-03-28 2018-09-14 深圳市四季宏胜科技有限公司 通道桥接方法、桥接设备、计算机设备和计算机程序产品
CN109085839A (zh) * 2018-09-12 2018-12-25 苏州华兴源创科技股份有限公司 自动导引运输车及其控制方法及自动引导运输系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412709B2 (en) * 2003-11-07 2008-08-12 International Business Machines Corporation Method and apparatus for managing multiple data processing systems using existing heterogeneous systems management software
CN102469098B (zh) * 2010-11-11 2014-08-20 财团法人资讯工业策进会 信息安全防护主机
CN103036916A (zh) * 2011-09-29 2013-04-10 中国移动通信集团公司 远程硬件资源的调用方法及其装置、系统
CN103731309A (zh) * 2013-12-31 2014-04-16 深圳市科漫达智能管理科技有限公司 一种设备管理方法及装置
US9467329B2 (en) * 2014-05-29 2016-10-11 Blackberry Limited Coordinating activity views across operating system domains
US10265848B2 (en) * 2014-07-08 2019-04-23 Beihang University Robotic hybrid system application framework based on multi-core processor architecture
US10212596B2 (en) * 2015-06-05 2019-02-19 Apple Inc. System and method for migrating data between devices
CN105812364A (zh) * 2016-03-11 2016-07-27 深圳市全智达科技有限公司 一种数据传输方法及装置

Also Published As

Publication number Publication date
US10824488B2 (en) 2020-11-03
WO2018112862A1 (zh) 2018-06-28
CN106796642A (zh) 2017-05-31
US20190310904A1 (en) 2019-10-10

Similar Documents

Publication Publication Date Title
CN106796642B (zh) 设备检测方法、系统、电子设备、云端机器人系统和计算机程序产品
US10162661B2 (en) Interdependent virtual machine management
US8156253B2 (en) Computer system, device sharing method, and device sharing program
US11240317B2 (en) Diagnostic method and system for vehicle, and related device thereof
CN109800160B (zh) 机器学习系统中的集群服务器故障测试方法和相关装置
CN108121543B (zh) 一种软件代码编译处理方法及装置
CN105678164B (zh) 检测恶意软件的方法及装置
WO2017107656A1 (zh) 虚拟化网元故障自愈方法及装置
CN110221949B (zh) 自动化运维管理方法、装置、设备及可读存储介质
CN111367753B (zh) 基于网络通信引擎ice架构的云桌面录屏方法及装置
WO2021121407A1 (zh) 一种虚拟机的容量更改方法及装置
CN105045708A (zh) 软件运行错误处理方法及系统
CN111984975A (zh) 基于拟态防御机制的漏洞攻击检测系统、方法及介质
US20190138713A1 (en) Method for Detecting a Deviation of a Security State of a Computing Device from a Desired Security State
CN110505246B (zh) 客户端网络通讯检测方法、装置及存储介质
WO2019062066A1 (zh) 终端设备联机任务执行方法、服务器及可读存储介质
CN114184885A (zh) 一种故障检测方法、装置及存储介质
CN113765712A (zh) 服务器管理方法、装置、电子设备及可读存储介质
CN112235300B (zh) 云虚拟网络漏洞检测方法、系统、装置及电子设备
CN107277163B (zh) 一种设备远程映射方法及装置
CN104580135B (zh) 一种基于uefi的终端实时控制系统和方法
US9129124B2 (en) Dynamic provisioning of virtual systems
CN112751807B (zh) 安全通信方法、装置、系统和存储介质
CN112486755B (zh) 一种服务器检测方法、检测装置、电子设备及存储介质
CN105808411A (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
TA01 Transfer of patent application right

Effective date of registration: 20190124

Address after: 610094 West Fucheng Avenue Section 399, Chengdu High-tech Zone, Sichuan Province, Unit 1, Unit 7, 3

Applicant after: As the science and technology Chengdu Co. Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: CLOUDMINDS INC.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210210

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee after: Dalu Robot Co.,Ltd.

Address before: 610094 West Fucheng Avenue Section 399, Chengdu High-tech Zone, Sichuan Province, Unit 1, Unit 7, 3

Patentee before: CLOUDMINDS (CHENGDU) TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.

CP03 Change of name, title or address