CN113434452A - 一种硬件设备共享方法、系统、计算设备及存储介质 - Google Patents

一种硬件设备共享方法、系统、计算设备及存储介质 Download PDF

Info

Publication number
CN113434452A
CN113434452A CN202110987053.7A CN202110987053A CN113434452A CN 113434452 A CN113434452 A CN 113434452A CN 202110987053 A CN202110987053 A CN 202110987053A CN 113434452 A CN113434452 A CN 113434452A
Authority
CN
China
Prior art keywords
computing
computing device
distance
hardware
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
CN202110987053.7A
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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202110987053.7A priority Critical patent/CN113434452A/zh
Publication of CN113434452A publication Critical patent/CN113434452A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种硬件设备共享方法、系统、计算设备及存储介质,该方法在第一计算设备中执行,该方法包括:监测硬件设备与各计算设备之间的距离,各计算设备包括分别与硬件设备建立第一连接的第一计算设备和至少一个第二计算设备;基于所监测到的距离,构建无向图;基于无向图,从各计算设备中,确定出与硬件设备距离最小的计算设备;指示硬件设备与所确定的计算设备建立第二连接,以便用户利用硬件设备来操作所确定的计算设备,其中,硬件设备通过近距离无线通信与各计算设备建立连接。

Description

一种硬件设备共享方法、系统、计算设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种硬件设备共享方法、系统、计算设备及存储介质。
背景技术
目前,用户对同时使用多台电脑主机的需求日益旺盛,在同时使用多台电脑时,需要给多个电脑都接入鼠标和键盘等硬件设备,过多的硬件设备在造成资源浪费的同时,还容易扰乱使用者,影响办公效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种硬件设备共享方法、系统、计算设备及存储介质。
根据本发明的一个方面,提供一种硬件设备共享方法,在第一计算设备中执行,该方法包括:监测硬件设备与各计算设备之间的距离,各计算设备包括与硬件设备建立第一连接的第一计算设备和至少一个第二计算设备;基于所监测到的距离,构建无向图;基于无向图,从各计算设备中,确定出与硬件设备距离最小的计算设备;指示硬件设备与所确定的计算设备建立第二连接,以便用户利用硬件设备来操作所确定的计算设备,其中,硬件设备通过近距离无线通信与各计算设备建立连接。
可选地,在根据本发明的硬件设备共享方法中,其中,基于所监测到的距离,构建无向图的步骤包括:将硬件设备、第一计算设备和第二计算设备,作为顶点,构建顶点集;将硬件设备与第一计算设备的距离、硬件设备与各第二计算设备的距离,作为边,构建边集;基于顶点集和边集,生成无向图。
可选地,在根据本发明的硬件设备共享方法中,其中,监测硬件设备与各计算设备之间的距离,各计算设备包括与硬件设备建立第一连接的第一计算设备和至少一个第二计算设备的步骤包括:当硬件设备与各计算设备中的其中一个计算设备之间的距离不大于距离阈值时,将硬件设备与其中一个计算设备进行第一连接,其中,距离阈值为无向图的边集中任一边对应的最大距离。
可选地,在根据本发明的硬件设备共享方法中,其中,在基于所监测到的距离,构建无向图的步骤之后,还包括步骤:当监测到硬件设备与各计算设备中的其中一个计算设备之间的距离大于距离阈值时,从顶点集中删除其中一个计算设备对应的顶点,其中,距离阈值为无向图的边集中任一边对应的最大距离。
可选地,在根据本发明的硬件设备共享方法中,其中,该方法还包括:当监测到有新的第二计算设备与硬件设备之间的距离不大于距离阈值时,在顶点集中增加一个新的顶点,新的顶点为新的第二计算设备对应的顶点,其中,距离阈值为所述无向图的边集中任一边对应的最大距离。
根据本发明的又一个方面,提供一种硬件设备共享系统,包括:硬件设备;第一计算设备,适于监测硬件设备与各计算设备之间的距离,各计算设备包括分别与硬件设备建立第一连接的第一计算设备和至少一个第二计算设备;基于所监测到的距离,构建无向图;基于无向图,从各计算设备中,确定出与硬件设备距离最小的计算设备;指示硬件设备与所确定的计算设备建立第二连接,以便用户利用硬件设备来操作所确定的计算设备;至少一个第二计算设备;其中,硬件设备通过近距离无线通信与各计算设备建立连接,且通过与距离最小的计算设备建立第二连接,便于用户通过硬件设备来操作该距离最小的计算设备。
可选地,在根据本发明的硬件设备共享系统中,第一计算设备包括:构建模块,适于构建无向图;其中,将硬件设备、第一计算设备和第二计算设备,作为顶点,构建顶点集;将硬件设备与第一计算设备的距离、硬件设备与各第二计算设备的距离,作为边,构建边集;基于顶点集和所述边集,生成无向图。
可选地,在根据本发明的硬件设备共享系统中,其中,构建模块包括:删除子模块,适于当监测到硬件设备与各计算设备中的其中一个计算设备之间的距离大于距离阈值时,从顶点集中删除其中一个计算设备对应的顶点;其中,距离阈值为无向图的边集中任一边对应的最大距离。
可选地,在根据本发明的硬件设备共享系统中,其中,第一计算设备还适于监测是否有新的第二计算设备设备与硬件设备之间的距离不大于距离阈值,以及,构建模块还包括:增加子模块,适于在第一计算设备监测到新的第二计算设备设备与硬件设备之间的距离不大于距离阈值时,向顶点集中增加一个新的顶点,新的顶点为新的第二计算设备设备对应的顶点;其中,距离阈值为无向图的边集中任一边对应的最大距离。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行上述方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的方法。
根据本发明的方案,通过构建硬件设备与各计算设备的无向图,可实时监测各计算设备中与硬件设备距离最短的计算设备,并自动使硬件设备与其距离最短的计算设备进行控制连接。减少硬件设备的数量,符合轻办公的用户理念,增加办公的易用性,提高用户使用的便利性。
根据本发明的方案,操作简单,设置方便,仅仅对第一计算设备进行相关配置即可,减少用户配置,提高自动化操作。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的硬件设备共享系统100的示意图;
图2示出了根据本发明一个实施例的无向图的示意图;
图3示出了根据本发明另一个实施例的无向图的示意图;
图4示出了根据本发明一个实施例的应用场景及对应的无向图的示意图;
图5示出了根据本发明另一个实施例的应用场景及对应的无向图的示意图;
图6示出了根据本发明又一个实施例的应用场景及对应的无向图的示意图;
图7示出了根据本发明一个实施例的计算设备700的结构图;
图8示出了根据本发明一个实施例的硬件设备共享方法800的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第三次科技革命后,计算机已经进入了千家万户中,被普遍使用,从原来的大型机发展到现在的微型家用机,现在基本上已经成了大众的一个必须品。并且,随着办公需求,用户对同时使用多台电脑主机的需求也日益旺盛。
在用户需要同时操作多台计算设备(电脑)的场景中,在一台计算设备上操作后,需要切换到另一台计算设备上继续操作。现有技术中,针对此种场景大多采用的是硬件设备(鼠标、键盘、KVM切换器等)相接合的方法,或者是利用软件的方法,一般有如下几种选择:
1)给每一个计算设备均配备一套硬件设备,当用户在一个计算设备上操作完成后,放下正在操作的计算设备对应的硬件设备,切换至将要操作的计算设备对应的硬件设备继续使用。这样要进行快速的切换操作比较难以实现,而且多个计算设备在一起会出现混乱的情况。
2)使用KVM切换器,将一套硬件设备连接在KVM切换器上,同时将KVM切换器连接到多个计算设备上,在需要切换到某一计算设备上工作时,人工在KVM切换器操作以达到控制指定计算设备的目的。需要说明的是, KVM是键盘(Keyboard)、显示器(Video)、鼠标(Mouse)的缩写。KVM切换器简单的讲,就是让系统管理员可以通过一组键盘、鼠标、显示器控制多台服务器或电脑主机的计算机外围设备。
3)采用软件的方式,例如Synergy和Barrier,这两种软件都是通过局域网配置多台计算设备,Synergy和Barrier都是开放源代码软件,能让用户通过网络在视线范围内使用一套硬件设备控制多个计算设备。当硬件设备移动满足切换条件时,自动切换操作的计算设备来达到共享一套硬件设备的目的。
对于方案1)和2)而言,这两种方式都比较冗余,也有很多人工的操作痕迹,更重要是比较占用办公桌空间,还需要手动去点击切换。
对于方案3)而言,虽然通过软件可以达到自动切换计算设备的目的,但是它们都需要设置多台计算设备,将主控计算设备与受控计算设备进行连接配置,例如,IP、参数等配置。
为解决上述现有技术中存在的问题,提出本发明的方案。本发明的一个实施例提供了一种硬件设备共享系统。图1示出了根据本发明一个实施例的硬件设备共享系统100的示意图。系统100包括硬件设备110、第一计算设备120和至少一个第二计算设备130。其中,硬件设备、第一计算设备和第二计算设备中均设置有无线通信模块,各无线通信模块之间可以进行无线连接。优选地,各无线通信模块之间可以构建近距离的无线通信。近距离的无线通信技术,又称近场通信技术,通信收发双方(例如,硬件设备与计算设备)通过无线电波传输信息且传输距离限制在较短范围(几十米)以内的无线通信技术。例如,蓝牙、NFC、ZigBee、局域网等。根据本发明的实施方式,不同的计算设备之间具有不同的空间位置。应当理解,图1所示的硬件设备共享系统100仅仅是示例性的,在具体实现中可以有不同数量的硬件设备110、第一计算设备120和第二计算设备130,本发明对硬件设备110、第一计算设备120和第二计算设备130的数量和部署不做限制。
硬件设备110即鼠标和键盘等外接设备。
第一计算设备120和第二计算设备130即用户所要操控的主机设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。
根据一种实现方式,第一计算设备120可监测硬件设备110与各计算设备之间的距离,各计算设备包括与硬件设备110建立第一连接的第一计算设备120和至少一个第二计算设备130。基于所监测到的距离,构建无向图;基于无向图,从各计算设备中,确定出与硬件设备110距离最小的计算设备;指示硬件设备110与所确定的计算设备建立第二连接,以便用户利用硬件设备来操作所确定的计算设备。
在一个具体示例中,无向图为图表算法中的一种数据结构,无向图是若干个顶点(Vertices)和边(Edges)相互连接组成的。边仅由两个顶点连接,并且没有方向的图。如图2所示,图2示出根据本发明一个实施例的无向图的示意图。可知,无向图的边是没有方向的,即两个相连的顶点可以互相抵达。构建无向图有两个关键点,1、这个无向图有哪些顶点。2、哪些顶点可以通往哪些顶点(即无向图的边)。在图2所示的无向图中有3个顶点,其中,顶点1可通往顶点2(即形成边12),顶点1可通往顶点3(即形成边13)。
在本实施例中,将硬件设备110、第一计算设备120和多个第二计算设备130,作为顶点,构建顶点集。将硬件设备110与第一计算设备120的距离、硬件设备110与多个第二计算设备130的距离,作为边,构建边集。基于顶点集合边集,生成无向图。在该无向图中,各边表征硬件设备110与对应的计算设备之间的距离。
需要说明的是,上述第一连接区别与前述提到的近距离通信连接。以蓝牙为例,蓝牙的辐射距离可达到十几米甚至几十米,在蓝牙连接范围内的各种设备都可以相互接收到蓝牙信号。而该第一连接是对近距离通信所覆盖的距离的更细化表征。第一连接的依据是根据用户在构建无向图时,预先设置的无向图的边所能承受的距离。例如,用户在构建无向图时,为了减小计算设备的负载或者是简化计算复杂程度等目的,会预先设置一个距离阈值(比如,0.5m),当计算设备与硬件设备之间的距离大于该距离阈值时,则在构建无向图时,不将该计算设备考虑进来。换言之,该距离阈值为在构建无向图时,无向图中的边对应的最大距离。只有在计算设备与硬件设备之间的距离小于该距离阈值时,才会将该计算设备作为无向图中的一个顶点。
在一个具体示例中,如图3所示,图3示出了根据本发明又一个实施例的无向图的示意图。在图3中,顶点0表示硬件设备110,顶点1表示第一计算设备120,顶点2-5分别表示一个第二计算设备130。
dis(0,1)、dis(0,2)、dis(0,3)和dis(0,4)分别表示顶点0与顶点1、2、3和4之间的边。其中,dis(0,1)、dis(0,2)、dis(0,3)和dis(0,4)指示的硬件设备110与对应的计算设备之间的距离小于或等于距离阈值,即dis(0,1)、dis(0,2)、dis(0,3)和dis(0,4)指示的硬件设备110与对应的计算设备之间建立了第一连接。而顶点0与顶点5之间的距离大于了距离阈值,则顶点5指示的计算设备无法与硬件设备110建立第一连接。
需要说明的是,在第一计算设备120与硬件设备110之间的距离大于距离阈值时,第一计算设备120与硬件设备110也无法建立第一连接。但是,由于第一计算设备120与硬件设备110之间仍然处在近距离无线通信网络中,这并不影响第一计算设备120对硬件设备110与各计算设备之间的距离的监测,并且,无向图结构是驻留在第一计算设备120中的,也不影响第一计算设备120从无向图中确定与硬件设备110距离最小的计算设备。以及控制硬件设备110 与该距离最小的计算设备建立第二连接。
另外,还需要说明的是,在本实施例提供的硬件设备共享系统100中,任一计算设备与硬件设备120进行第一连接和第二连接的工作,均由第一计算设备执行。为了方便理解,可以将第一计算设备120等同理解为服务器,多个第二计算设备130理解为多个客户端,不同与通过软件实现硬件设备共享的现有技术(即前述提到的方案3)),本实施例提供的方案,只对服务器(第一计算设备120)进行了相关配置,并不对其他客户端(第二计算设备130)进行配置。实现了操作简单,设置方便,减少了用户配置,并提高自动化操作等目的。
还需要说明的是,在本实施例中,第二连接表示的是将硬件设备110与相应的计算设备(与硬件设备110之间距离最短的计算设备)建立控制连接。换言之,若硬件设备110与某一计算设备建立了第二连接,则说明该硬件设备110可操作该计算设备。
在一些实施例中,该第一计算设备120还可以在监测到各计算设备中与硬件设备110之间的距离大于距离阈值时,将该计算设备对应的顶点从无向图的顶点集中删除,以更新该无向图。另外,与之对应的是,第一计算设备120在监测到有新加入近场无向通信网络中的新的计算设备时,判断该计算设备与硬件设备110之间的距离是否不大于距离阈值,若不大于,则将新加入的计算设备与硬件设备110进行第一连接,并且,在无向图的顶点集合中添加一个指示该新加入的计算设备的顶点,以更新该无向图。
在一个具体示例中,如下示出一种构建无向图结构的关键代码段:
struct graph {
map<node,int> maps ; //拓扑数据,里面存储的是计算涉笔以及计算设备和硬件设备的距离
node mouse; //硬件设备顶点(以鼠标为例)
vector<node > computers; //无向图中的所有计算设备顶点
addNodeConnect(node); //在范围内时增加一台计算设备顶点到无向图中
removeNodeConnect(node); //计算设备与硬件设备的距离大于距离阈值后从连接中删除该计算设备顶点
updateEdgeDistance(node, distance); //计算设备移动时如果还在距离阈值范围内更新其到鼠标的距离
emit activationNode(computer); //发送通知当前需要激活的计算设备信息。
如上graph结构体所示,在这个无向图中维护着一个鼠标和已连接上的计算设备数据,并且存储已连接上的计算设备和鼠标的距离属性。当鼠标移动时该无向图会实时计算连接计算设备、脱离连接、距离等信息,当最短距离发生变化时会发送变更激活计算设备的事件。
在一个具体示例中,如图4所示,图4示出了根据本发明一个实施例的应用场景及对应的无向图的示意图。在该应用场景中,包括1个鼠标和3个电脑,并且,3个电脑与鼠标之间的距离均不大于距离阈值,即3个电脑与鼠标之间建立了第一连接,对应的无向图中,包括4个顶点和3条边。由图可知,在当前时刻,电脑B与鼠标之间的距离最短,此时,鼠标可以操作电脑B。当鼠标发生移动时,如图5所示,图5示出了根据本发明另一个实施例的应用场景及对应的无向图的示意图。从图4所示的应用场景变化至图5所示的应用场景,此时电脑A与鼠标的距离小于了电脑B,且小于电脑C与鼠标的距离,则控制鼠标与电脑B断开第二连接,并与电脑A进行第二连接,并且更新无向图。继续移动鼠标,如图6所示,图6示出了根据本发明又一个实施例的应用场景及对应的无向图的示意图。从图5所示的应用场景变化至图6所示的应用场景,此时,电脑C与鼠标之间的距离最小,控制鼠标与电脑C进行第二连接,并且,电脑A与鼠标之间的距离大于了距离阈值,则将该电脑A与鼠标断开第一连接,并且在无向图中删除电脑A的顶点。
本实施例提供的硬件设备共享系统,解决同时使用多台计算设备时需要切换硬件设备的需求,提出自动化共享硬件设备的概念,节省办公空间,提高办公效率,提升科技感,提出轻办公的理念。除此之外,减少用户配置,提高自动化操作。
本发明的另一个实施例提供了一种硬件设备共享方法。该方法可以在计算设备中执行。图7示出了根据本发明一个实施例的计算设备700的结构图。如图7所示,在基本的配置702中,计算设备700典型地包括系统存储器706和一个或者多个处理器704。存储器总线708可以用于在处理器704和系统存储器706之间的通信。
取决于期望的配置,处理器704可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器704可以包括诸如一级高速缓存710和二级高速缓存712之类的一个或者多个级别的高速缓存、处理器核心714和寄存器716。示例的处理器核心714可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器718可以与处理器704一起使用,或者在一些实现中,存储器控制器718可以是处理器704的一个内部部分。
取决于期望的配置,系统存储器706可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器704读取。系统存储器706可以包括操作系统720、一个或者多个应用722以及程序数据724。应用722实际上是多条程序指令,其用于指示处理器704执行相应的操作。在一些实施方式中,在一些实施方式中,应用722可以布置为在操作系统上由一个或多个处理器704利用程序数据724执行指令。操作系统720例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用722包括用于实现各种用户期望的功能的程序指令,应用722例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用722被安装到计算设备700中时,可以向操作系统720添加驱动模块。
在计算设备700启动运行时,处理器704会从存储器706中读取操作系统720的程序指令并执行。应用722运行在操作系统720之上,利用操作系统720以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用722时,应用722会加载至存储器706中,处理器704从存储器706中读取并执行应用722的程序指令。计算设备700还包括储存设备732,储存设备732包括可移除储存器736和不可移除储存器738,可移除储存器736和不可移除储存器738均与储存接口总线734连接。
计算设备700还可以包括有助于从各种接口设备(例如,输出设备742、外设接口744和通信设备746)到基本配置702经由总线/接口控制器730的通信的接口总线740。示例的输出设备742包括图形处理单元748和音频处理单元750。它们可以被配置为有助于经由一个或者多个A/V端口752与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口744可以包括串行接口控制器754和并行接口控制器756,它们可以被配置为有助于经由一个或者多个I/O端口758和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备746可以包括网络控制器760,其可以被布置为便于经由一个或者多个通信端口764与一个或者多个其他计算设备762通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备700还包括与总线/接口控制器730相连的储存接口总线734。储存接口总线734与储存设备732相连,储存设备732适于进行数据存储。示例的储存设备732可以包括可移除储存器736(例如CD、DVD、U盘、可移动硬盘等)和不可移除储存器738(例如硬盘驱动器HDD等)。
在根据本发明的计算设备700中,应用722包括执行方法800的多条程序指令。
图8示出了根据本发明一个实施例的硬件设备共享方法800的流程图。方法800适于在计算设备(例如前述计算设备700)中执行。该计算设备与硬件设备通过近距离无线通信连接,且硬件设备还与至少一个其他计算设备通过近距离无线通信连接。为方便理解与叙述,以下将该计算设备称为第一计算设备,将其他计算设备称为第二计算设备。
如图8所示,方法800的目的是实现一种硬件设备共享的方法,始于步骤S802,在步骤S802中,监测硬件设备与各计算设备之间的距离,各计算设备包括与硬件设备建立第一连接的第一计算设备和至少一个第二计算设备。优选地,当硬件设备与各计算设备中的其中一个计算设备之间的距离不大于距离阈值时,将硬件设备与其中一个计算设备进行第一连接,其中,距离阈值为预构建的无向图的边对应的最大距离。
在步骤S804中,基于所监测到的距离,构建无向图。
在一些实施例中,无向图可通过以下方法构建:
首先,将硬件设备、第一计算设备和所述第二计算设备,作为顶点,构建顶点集;
然后,将硬件设备与第一计算设备的距离、硬件设备与各第二计算设备的距离,作为边,构建边集;
最后,基于顶点集和所述边集,生成无向图。
在一些实施例中,当监测到硬件设备与各计算设备中的其中一个计算设备之间的距离大于距离阈值时,从顶点集中删除其中一个计算设备对应的顶点。
在步骤S806中,基于无向图,从各计算设备中,确定出与硬件设备距离最小的计算设备。
在步骤S808中,指示硬件设备与所确定的计算设备建立第二连接,以便用户利用所述硬件设备来操作所确定的计算设备。其中,硬件设备通过近距离无线通信与各计算设备建立连接。
在一些实施例中,当监测到有新的第二计算设备与硬件设备之间的距离不大于距离阈值时,在顶点集中增加一个新的顶点,新的顶点为新的第二计算设备对应的顶点。
需要说明的是,本实施例提供的方法800的流程与前述系统100的原理相似,相关之处,可参考对上述系统100的描述。在此不再赘述。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种硬件设备共享方法,在第一计算设备中执行,所述方法包括:
监测所述硬件设备与各计算设备之间的距离,所述各计算设备包括分别与所述硬件设备建立第一连接的第一计算设备和至少一个第二计算设备;
基于所监测到的距离,构建无向图;
基于所述无向图,从所述各计算设备中,确定出与所述硬件设备距离最小的计算设备;
指示所述硬件设备与所确定的计算设备建立第二连接,以便用户利用所述硬件设备来操作所确定的计算设备,其中,所述硬件设备通过近距离无线通信与各计算设备建立连接。
2.如权利要求1所述的方法,其中,所述基于所监测到的距离,构建无向图的步骤包括:
将所述硬件设备、所述第一计算设备和所述第二计算设备,作为顶点,构建顶点集;
将所述硬件设备与所述第一计算设备的距离、所述硬件设备与各所述第二计算设备的距离,作为边,构建边集;
基于所述顶点集和所述边集,生成无向图。
3.如权利要求2所述的方法,其中,所述监测所述硬件设备与各计算设备之间的距离,所述各计算设备包括分别与所述硬件设备建立第一连接的第一计算设备和至少一个第二计算设备的步骤包括:
当所述硬件设备与各计算设备中的其中一个计算设备之间的距离不大于距离阈值时,将所述硬件设备与所述其中一个计算设备进行第一连接,其中,所述距离阈值为所述无向图的边集中任一边对应的最大距离。
4.如权利要求2所述的方法,其中,在所述基于所监测到的距离,构建无向图的步骤之后,还包括步骤:
当监测到所述硬件设备与各计算设备中的其中一个计算设备之间的距离大于距离阈值时,从所述顶点集中删除所述其中一个计算设备对应的顶点,其中,所述距离阈值为所述无向图的边集中任一边对应的最大距离。
5.如权利要求2所述的方法,其中,所述方法还包括:
当监测到有新的第二计算设备与所述硬件设备之间的距离不大于距离阈值时,在所述顶点集中增加一个新的顶点,所述新的顶点为所述新的第二计算设备对应的顶点,其中,所述距离阈值为所述无向图的边集中任一边对应的最大距离。
6.一种硬件设备共享系统,包括:
硬件设备;
第一计算设备,适于监测所述硬件设备与各计算设备之间的距离,所述各计算设备包括分别与所述硬件设备建立第一连接的第一计算设备和至少一个第二计算设备;基于所监测到的距离,构建无向图;基于所述无向图,从所述各计算设备中,确定出与所述硬件设备距离最小的计算设备;指示所述硬件设备与所确定的计算设备建立第二连接,以便用户利用所述硬件设备来操作所确定的计算设备;
至少一个第二计算设备;
其中,所述硬件设备通过近距离无线通信与各计算设备建立连接,且通过与距离最小的计算设备建立第二连接,便于用户通过所述硬件设备来操作该距离最小的计算设备。
7.如权利要求6所述的系统,其中,所述第一计算设备包括:
构建模块,适于构建所述无向图;
其中,将所述硬件设备、所述第一计算设备和所述第二计算设备,作为顶点,构建顶点集;
将所述硬件设备与所述第一计算设备的距离、所述硬件设备与各所述第二计算设备的距离,作为边,构建边集;
基于所述顶点集和所述边集,生成无向图。
8.如权利要求7所述的系统,其中,所述构建模块包括:
删除子模块,适于当监测到所述硬件设备与各计算设备中的其中一个计算设备之间的距离大于距离阈值时,从所述顶点集中删除所述其中一个计算设备对应的顶点;
其中,所述距离阈值为所述无向图的边集中任一边对应的最大距离。
9.一种计算设备,包括:
至少一个处理器;和
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-5中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-5中任一项所述的方法。
CN202110987053.7A 2021-08-26 2021-08-26 一种硬件设备共享方法、系统、计算设备及存储介质 Pending CN113434452A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110987053.7A CN113434452A (zh) 2021-08-26 2021-08-26 一种硬件设备共享方法、系统、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110987053.7A CN113434452A (zh) 2021-08-26 2021-08-26 一种硬件设备共享方法、系统、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN113434452A true CN113434452A (zh) 2021-09-24

Family

ID=77798039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110987053.7A Pending CN113434452A (zh) 2021-08-26 2021-08-26 一种硬件设备共享方法、系统、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN113434452A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708228B1 (en) * 2000-11-09 2004-03-16 Microsoft Corporation Automatic computer input device association
US20090125654A1 (en) * 2007-11-12 2009-05-14 Tony Lou KVM Switch
CN101661344A (zh) * 2008-08-29 2010-03-03 联想(北京)有限公司 无线鼠标、鼠标切换方法及计算机
CN104574899A (zh) * 2014-12-15 2015-04-29 惠州Tcl移动通信有限公司 一种智能控制方法及其终端
CN106210275A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 一种多终端控制方法及装置
CN106534955A (zh) * 2015-09-10 2017-03-22 阿里巴巴集团控股有限公司 智能电视设备的切换控制方法和移动终端
CN107908296A (zh) * 2017-11-28 2018-04-13 深圳市东微智能科技股份有限公司 Kvm控制方法、装置、存储介质和计算机设备
US20190146595A1 (en) * 2016-06-23 2019-05-16 Innopresso, Inc. Electronic device having multi-functional human interface
CN111459307A (zh) * 2020-03-30 2020-07-28 北京英格福科贸有限公司 一种多主机和显示器的控制切换系统
CN111638804A (zh) * 2019-03-01 2020-09-08 昆山亚得利工控技术开发有限公司 一种可切换控制多台计算机的无线键盘鼠标装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708228B1 (en) * 2000-11-09 2004-03-16 Microsoft Corporation Automatic computer input device association
US20090125654A1 (en) * 2007-11-12 2009-05-14 Tony Lou KVM Switch
CN101661344A (zh) * 2008-08-29 2010-03-03 联想(北京)有限公司 无线鼠标、鼠标切换方法及计算机
CN104574899A (zh) * 2014-12-15 2015-04-29 惠州Tcl移动通信有限公司 一种智能控制方法及其终端
CN106534955A (zh) * 2015-09-10 2017-03-22 阿里巴巴集团控股有限公司 智能电视设备的切换控制方法和移动终端
US20190146595A1 (en) * 2016-06-23 2019-05-16 Innopresso, Inc. Electronic device having multi-functional human interface
CN106210275A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 一种多终端控制方法及装置
CN107908296A (zh) * 2017-11-28 2018-04-13 深圳市东微智能科技股份有限公司 Kvm控制方法、装置、存储介质和计算机设备
CN111638804A (zh) * 2019-03-01 2020-09-08 昆山亚得利工控技术开发有限公司 一种可切换控制多台计算机的无线键盘鼠标装置
CN111459307A (zh) * 2020-03-30 2020-07-28 北京英格福科贸有限公司 一种多主机和显示器的控制切换系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
S. HAN: "Investigation of the parallel efficiency of a PC cluster for the simulation of a CFD problem", 《PERSONAL AND UBIQUITOUS COMPUTING》 *
沈峥嵘: "解放日报社融媒体指挥中心建设", 《中国传媒科技》 *
董萍萍: "《数据结构》", 31 August 2017 *

Similar Documents

Publication Publication Date Title
US10579544B2 (en) Virtualized trusted storage
JP7510429B2 (ja) ゼロタッチプロビジョニングおよびエンタープライズ・アズ・ア・サービス向けのレガシー信頼性ネットワークデバイスのクラウド対応
KR20140027741A (ko) 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치
KR20220151585A (ko) 업무 데이터 처리 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램
CN114217900B (zh) 一种远程控制方法、装置、系统、计算设备及存储介质
CN112416505A (zh) 一种远程控制系统、方法及计算设备
US20140067915A1 (en) Terminal device and data communication method thereof
WO2017211260A1 (zh) 一种访问数据的方法及相关设备
CN106933646B (zh) 一种创建虚拟机的方法及装置
CN113434452A (zh) 一种硬件设备共享方法、系统、计算设备及存储介质
CN105511787B (zh) 输入方法、电子设备和输入系统
US11593279B2 (en) Graph-based data flow control system
CN103401721A (zh) 基于网络虚拟化的tor交换机配置方法及装置
CN113885758B (zh) 一种虚拟屏幕生成方法、计算设备及存储介质
JPWO2009044876A1 (ja) データを処理するシステムおよび方法
US8650330B2 (en) Self-tuning input output device
US11606457B2 (en) Technology and method for selectively providing network function to application of device
CN114868368A (zh) 动态硬件转发流水线压缩
JP5651778B2 (ja) モバイル機器ユーザのためのパソコンシステム及びそのパソコンシステムの運用方法
WO2023241258A1 (zh) 设备建立连接的方法和终端设备
US20240143387A1 (en) Handoff of executing application between local and cloud-based computing devices
WO2023241257A1 (zh) 设备建立连接的方法和终端设备
JP2018147257A (ja) 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム
CN110209481B (zh) 一种命令队列优化管理的实现方法和系统以及设备
JP5005921B2 (ja) アクセス制限されたバッファを用いる際のセッション状態を保持するためのメカニズム

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