CN115514750A - 电子设备远程控制方法、服务器、***、介质和设备 - Google Patents
电子设备远程控制方法、服务器、***、介质和设备 Download PDFInfo
- Publication number
- CN115514750A CN115514750A CN202110684560.3A CN202110684560A CN115514750A CN 115514750 A CN115514750 A CN 115514750A CN 202110684560 A CN202110684560 A CN 202110684560A CN 115514750 A CN115514750 A CN 115514750A
- Authority
- CN
- China
- Prior art keywords
- equipment
- information
- server
- service agent
- edge node
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004891 communication Methods 0.000 claims abstract description 67
- 230000002452 interceptive effect Effects 0.000 claims abstract description 48
- 230000000149 penetrating effect Effects 0.000 claims abstract description 12
- 230000010365 information processing Effects 0.000 claims description 59
- 230000035515 penetration Effects 0.000 claims description 53
- 238000004590 computer program Methods 0.000 claims description 11
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 239000003795 chemical substances by application Substances 0.000 description 127
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种电子设备远程控制方法、服务器、***、介质和计算机设备,该方法应用于边缘节点服务器,其上部署的内网穿透客户端与互联网数据中心的内网穿透服务器建立通信连接;边缘节点服务器上部署的服务代理模块获取链接到边缘节点服务器的电子设备的设备信息,将设备信息传输至互联网数据中心,以使互联网数据中心的Web服务器基于设备信息绘制电子设备的交互界面;服务代理模块从Web服务器接收设备控制信息,设备控制信息由Web服务器基于交互界面的输入操作生成;服务代理模块将设备控制信息下发至电子设备以使电子设备执行相应操作。本发明方案提高了电子设备远程控制方案的通用性和可靠性。
Description
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种电子设备远程控制方法,边缘节点服务器,互联网数据中心,电子设备远程控制***,实现电子设备远程控制方法的计算机可读存储介质和计算机设备。
背景技术
随着信息技术的高速发展,智能电子设备逐渐普及,用户可以通过在电子设备上安装远程控制应用实现远程控制其他设备,目前,不同设备所运行的操作***之间的差别较大,例如Android***和iOS***,其中iOS***(苹果公司开发的移动操作***)属于一种较为封闭的操作***,其无法直接与其他非iOS***例如Android***进行通信,从而用户也就无法通过Android设备远程控制iOS设备。
相关技术中,实现iOS设备远程控制时,需要将控制设备如Mac设备与被控设备如iOS设备连接到同一WiFi网络,且在两个设备上使用同一账号登录到iCloud,然后才可以在Mac设备上来操作实现iOS设备的远程控制。
但是,上述方案中控制设备必需为Mac设备,且控制设备与被控设备都需要登录同一账号且处于同一网络环境,同时在一些情况下,被控设备可能会因为一些意外因素导致自身网络关闭无法上网,也即目前的方案依赖被控设备自身的网络,且受限于例如苹果账号及局域网等条件,导致电子设备远程控制方案的通用性和可靠性较差。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种电子设备远程控制方法,边缘节点服务器,互联网数据中心,电子设备远程控制***,实现电子设备远程控制方法的计算机可读存储介质和计算机设备。
第一方面,本公开实施例提供了一种电子设备远程控制方法,应用于边缘节点服务器,所述边缘节点服务器上部署有内网穿透客户端和服务代理模块,所述方法包括:
所述内网穿透客户端与互联网数据中心的内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道;
所述服务代理模块获取链接到所述边缘节点服务器的电子设备的设备信息;
所述服务代理模块将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面;
所述服务代理模块从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成;
所述服务代理模块将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
在本公开的一些实施例中,所述电子设备是iOS设备,所述服务代理模块将所述设备控制信息下发至所述电子设备的步骤,包括:
所述服务代理模块通过UI自动化测试框架XCUITest的接口将设备控制信息下发至所述电子设备。
在本公开的一些实施例中,所述设备信息至少包括CPU信息、内存信息、电池电量、设备屏幕尺寸中的一个或多;和/或,所述输入操作包括点击、滑动、拖拽中的任意一个或多个操作。
第二方面,本公开实施例提供一种边缘节点服务器,包括内网穿透客户端和服务代理模块:
所述内网穿透客户端,用于与互联网数据中心的内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道;
所述服务代理模块,用于获取链接到所述边缘节点服务器的电子设备的设备信息;将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面;从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成;将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
第三方面,本公开实施例提供一种电子设备远程控制方法,应用于互联网数据中心,所述互联网数据中心包括内网穿透服务器和Web服务器,所述方法包括:
所述内网穿透服务器与边缘节点服务器上的内网穿透客户端建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道;
所述Web服务器接收所述边缘节点服务器上的服务代理模块通过所述通信通道传输来的设备信息,所述设备信息是链接到所述边缘节点服务器的电子设备的设备信息;
所述Web服务器基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息;
所述Web服务器将所述设备控制信息传输至所述服务代理模块,以使所述服务代理模块将所述设备控制信息下发至所述电子设备,进而使所述电子设备基于所述设备控制信息执行相应操作。
在本公开的一些实施例中,所述互联网数据中心配置有设备信息处理模块,所述方法还包括:
所述设备信息处理模块接收所述服务代理模块通过所述通信通道传输来的设备信息,将所述设备信息存储于数据库中;
所述Web服务器从所述数据库中获取所述设备信息。
在本公开的一些实施例中,所述互联网数据中心配置有消息队列,所述方法还包括:
所述消息队列接收所述服务代理模块通过所述通信通道传输来的设备信息;
所述设备信息处理模块从所述消息队列获取所述设备信息后,存储所述设备信息至所述数据库中;
或者,所述Web服务器通过所述消息队列转发所述设备控制信息至所述设备信息处理模块;
所述设备信息处理模块通过所述消息队列转发所述设备控制信息至所述服务代理模块。
在本公开的一些实施例中,所述Web服务器是基于容器引擎部署的虚拟Web服务器;和/或,所述设备信息处理模块部署于容器引擎上。
在本公开的一些实施例中,所述边缘节点服务器有多个,所述互联网数据中心配置有多个虚拟机节点,所述方法还包括:
每个所述边缘节点服务器上的服务代理模块在初次上线时,在所述内网穿透服务器上注册自身服务信息;
基于预设选举策略从多个虚拟机节点中选举出主节点,剩余虚拟机节点作为从节点,所述预设选举策略与虚拟机节点的负载相关;
所述主节点获取注册到所述内网穿透服务器上的服务信息的数量,根据所述服务信息的数量为每个所述从节点分配预设数量的待启动的设备信息处理模块;
每个所述从节点启动所述预设数量的设备信息处理模块,每个所述设备信息处理模块用于处理一个边缘节点服务器上的服务代理模块上传的设备信息。
在本公开的一些实施例中,所述基于预设选举策略从多个虚拟机节点中选举出主节点,包括:
获取每个所述虚拟机节点的负载信息;
基于所述预设选举策略、每个所述虚拟机节点的负载信息以及分布式锁机制,从多个虚拟机节点中选举出抢到锁的虚拟机节点为主节点;其中,所述预设选举策略指示负载大于预设负载阈值的虚拟机节点抢锁的频率低于预设频率。
在本公开的一些实施例中,所述电子设备是iOS设备,所述方法还包括:
将所述设备控制信息转换为XCUITest能够识别的控制指令;
所述设备信息处理模块通过所述消息队列将所述控制指令下发至所述服务代理模块,以使所述服务代理模块基于XCUITest的接口将所述控制指令下发至所述电子设备。
在本公开的一些实施例中,所述方法还包括:
获取在所述交互界面的输入操作的坐标;
基于所述交互界面的尺寸与所述电子设备的屏幕的尺寸之间的比例关系,将所述坐标转换为实际坐标;
所述基于所述交互界面的输入操作生成设备控制信息的步骤,包括:
基于所述实际坐标以及所述输入操作生成设备控制信息。
第四方面,本公开实施例提供一种网络服务器,所述网络服务器包括内网穿透服务器和Web服务器,其中:
所述内网穿透服务器,用于与边缘节点服务器上的内网穿透客户端建立通信连接,以在所述边缘节点服务器与所述网络服务器之间建立通信通道;
所述Web服务器,用于接收所述边缘节点服务器上的服务代理模块通过所述通信通道传输来的设备信息,所述设备信息是链接到所述边缘节点服务器的电子设备的设备信息;
所述Web服务器,用于基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息;
所述Web服务器,还用于将所述设备控制信息传输至所述服务代理模块,以使所述服务代理模块将所述设备控制信息下发至所述电子设备,进而使所述电子设备基于所述设备控制信息执行相应操作。
第五方面,本公开实施例提供一种电子设备远程控制***,包括:
边缘节点服务器,包括内网穿透客户端和服务代理模块;
网络服务器,包括内网穿透服务器和Web服务器;
其中,所述内网穿透客户端用于与所述内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述网络服务器之间建立通信通道;
所述服务代理模块,用于获取链接到所述边缘节点服务器的电子设备的设备信息,将所述设备信息通过所述通信通道传输至所述Web服务器;
所述Web服务器,用于基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息;
所述服务代理模块,还用于接收所述Web服务器下发的所述设备控制信息,将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
第六方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述电子设备远程控制方法的步骤。
第七方面,本公开实施例提供一种计算机设备,包括:
处理器;以及
存储器,用于存储计算机程序;
其中,所述处理器配置为经由执行所述计算机程序来执行上述任一实施例所述电子设备远程控制方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的方案中,边缘节点服务器部署内网穿透客户端和服务代理模块,内网穿透客户端与互联网数据中心的内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道,所述服务代理模块获取链接到所述边缘节点服务器的电子设备的设备信息,将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面;所述服务代理模块从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成;所述服务代理模块将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。这样,通过边缘节点服务器连接被控的电子设备,通过边缘节点服务器和互联网数据中心构建的***实现对电子设备的远程控制操作,无需依赖电子设备自身的网络,避免电子设备自身网络意外关闭导致例如远程控制中断的问题,且可不受限于例如苹果账号及局域网等条件,支持非局域网的接入方案,在一定程度上提高电子设备远程控制方案的通用性和可靠性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例电子设备远程控制方法流程图;
图2为本公开实施例电子设备远程控制***架构示意图;
图3为本公开另一实施例电子设备远程控制方法流程图;
图4为本公开又一实施例电子设备远程控制方法流程图;
图5为本公开实施例实现电子设备远程控制方法的计算机设备示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
应当理解,在下文中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
图1为本公开实施例示出的一种电子设备远程控制方法流程图,其可以应用于例如图2中所示的边缘节点服务器,所述边缘节点服务器上可以部署有内网穿透客户端(Proxy Client)和服务代理模块(Agent)。在本实施例中,客户端和服务代理模块的功能可以软件程序代码方式实现,在其他实施例中,也可以由一个或多个硬件实现其功能。所述方法可以包括以下步骤:
步骤S101:所述内网穿透客户端与互联网数据中心的内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道。
示例性的,互联网数据中心IDC(Internet Data Center)可以是任意云服务商的机房,或者是各种自建机房,对此不作限制。IDC上可以提供远程控制服务,同时可部署内网穿透服务器(Proxy Server)。边缘节点服务器可以是独立于IDC部署的硬件设施,包括但不限于一台Mac电脑等,其可以根据需要部署于一个区域。边缘节点服务器可以通过数据线与被控的一个或多个电子设备如iOS设备连接。边缘节点服务器上部署的内网穿透客户端(Proxy Client),作为服务代理模块Agent与IDC中线上提供的远程控制服务之间的桥梁,该内网穿透客户端可以主动与IDC上的内网穿透服务器Proxy Server通过例如互联网建立通信连接,从而实现与线上提供的远程控制服务建立联系。
步骤S102:所述服务代理模块获取链接到所述边缘节点服务器的电子设备的设备信息。
示例性的,边缘节点服务器上部署的服务代理模块Agent,作为电子设备管理/控制的核心服务,达到开箱即用的目的。服务代理模块Agent负责在边缘节点服务器上发现连接到边缘节点服务器上的电子设备如iOS设备,获取电子设备的设备信息,设备信息可以是例如CPU信息、内存信息、电池电量、设备屏幕尺寸中的一个或多,但也不限于此。
步骤S103:所述服务代理模块将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面。
具体的,服务代理模块Agent获取电子设备的设备信息后,将设备信息通过上述通信通道传输至IDC中。IDC中可以部署Web服务器来提供远程控制服务,Web服务器接收到设备信息如CPU信息、内存信息、电池电量、设备屏幕尺寸等时,可以基于设备信息绘制所述电子设备的交互界面,例如在Web页面绘制屏幕区域呈现显示电子设备的屏幕。
步骤S104:所述服务代理模块从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成。
具体的,作为示例,用户可以基于浏览器访问Web服务器的Web页面,在Web页面绘制的屏幕区域通过输入操作生成设备控制信息,其中输入操作可以包括但不限于例如鼠标的点击、滑动、拖拽中的任意一个或多个操作。设备控制信息例如可以是关机或开机控制信息,或者卸载应用控制信息等,对此也不作限制。Web服务器生成设备控制信息后下发至服务代理模块Agent。
步骤S105:所述服务代理模块将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
具体的,服务代理模块Agent将收到的设备控制信息再下发至电子设备如iOS设备,以使电子设备基于设备控制信息执行相应操作,如开机、关机、卸载应用等等。
本公开上述实施例中,通过边缘节点服务器连接被控的电子设备,通过边缘节点服务器和互联网数据中心构建的***实现对电子设备的远程控制操作,无需依赖电子设备自身的网络,避免电子设备自身网络意外关闭导致例如远程控制中断的问题,且可不受限于例如苹果账号及局域网等条件,支持非局域网的接入方案,在一定程度上提高电子设备远程控制方案的通用性和可靠性。
可选的,在本公开的一些实施例中,所述电子设备是iOS设备,相应的,步骤S105中所述服务代理模块将所述设备控制信息下发至所述电子设备的步骤,包括:所述服务代理模块通过UI自动化测试框架XCUITest的接口将设备控制信息下发至所述电子设备。
具体的,XCUITest是苹果公司提供的UI自动化测试框架,由于iOS***属于一种较为封闭的操作***,为了简单方便地对iOS设备进行远程控制,边缘节点服务器上的服务代理模块Agent可以通过XCUITest的接口将设备控制信息下发至iOS设备。
图3示出本公开另一实施例的电子设备远程控制方法流程图,其可应用于例如图2中所示的互联网数据中心IDC,所述互联网数据中心IDC可以包括内网穿透服务器ProxyServer和Web服务器。IDC中部署Web服务器可用来提供远程控制服务,例如可以部署Server1~ServerM共M个Web服务器,Web服务器的部署数量M与用户数正相关,具体可以根据需要部署,本实施例中对此不作限制。所述方法可以包括以下步骤:
步骤S301:所述内网穿透服务器与边缘节点服务器上的内网穿透客户端建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道。
示例性的,IDC中的内网穿透服务器Proxy Server可以与边缘节点服务器上的内网穿透客户端Proxy Client建立通信连接,从而为边缘节点服务器上的服务代理模块Agent与IDC中线上提供的远程控制服务建立联系。
步骤S302:所述Web服务器接收所述边缘节点服务器上的服务代理模块通过所述通信通道传输来的设备信息,所述设备信息是链接到所述边缘节点服务器的电子设备的设备信息。
具体的,边缘节点服务器上部署的服务代理模块Agent,作为电子设备管理/控制的核心服务,达到开箱即用的目的。服务代理模块Agent负责在边缘节点服务器上发现链接到边缘节点服务器上的电子设备如iOS设备,获取电子设备的设备信息,设备信息可以是例如CPU、内存、电池电量、设备屏幕尺寸中的一个或多,但也不限于此。服务代理模块Agent获取电子设备的设备信息后,将设备信息通过上述通信通道传输至IDC中的Web服务器,也即Web服务器接收边缘节点服务器上的服务代理模块Agent通过通信通道传输来的设备信息。
步骤S303:所述Web服务器基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息。
具体的,Web服务器接收到设备信息如CPU信息、内存信息、电池电量、设备屏幕尺寸等时,可以基于设备信息在Web页面绘制屏幕区域呈现显示电子设备的屏幕,用户可以基于浏览器访问Web服务器的Web页面,在Web页面绘制的屏幕区域通过输入操作生成设备控制信息,其中输入操作可以包括但不限于例如鼠标的点击、滑动、拖拽中的任意一个或多个操作。设备控制信息例如可以是关机或开机控制信息,或者卸载应用控制信息等,对此也不作限制。
步骤S304:所述Web服务器将所述设备控制信息传输至所述服务代理模块,以使所述服务代理模块将所述设备控制信息下发至所述电子设备,进而使所述电子设备基于所述设备控制信息执行相应操作。
具体的,Web服务器生成设备控制信息后下发至服务代理模块Agent。服务代理模块Agent将收到的设备控制信息再下发至电子设备如iOS设备,以使电子设备基于设备控制信息执行相应操作,如开机、关机、卸载应用等等。
本公开上述实施例中,通过边缘节点服务器连接被控的电子设备,通过边缘节点服务器和互联网数据中心构建的***实现对电子设备的远程控制操作,无需依赖电子设备自身的网络,避免电子设备自身网络意外关闭导致例如远程控制中断的问题,且可不受限于例如苹果账号及局域网等条件,支持非局域网的接入方案,在一定程度上提高电子设备远程控制方案的通用性和可靠性。
可选的,在本公开的一些实施例中,所述互联网数据中心可以配置有设备信息处理模块Provider,一个Provider对应一个边缘节点服务器也即一个服务代理模块Agent,当有多个边缘节点服务器如Edge1~Edge1N共N个边缘节点服务器,也即有多个Agent时,可以配置对应的多个设备信息处理模块Provider1~ProviderN。所述方法还包括以下步骤:所述设备信息处理模块Provider接收所述服务代理模块Agent通过所述通信通道传输来的设备信息,将所述设备信息存储于数据库中,所述Web服务器从所述数据库中获取所述设备信息。之后,跳转执行步骤S303。
示例性的,数据库可以是MySQL数据库,但并不限于此。在本实施例中,服务代理模块Agent上传的设备信息由设备信息处理模块Provider接收,然后存入数据库中供上游服务使用,之后,Web服务器再从数据库中获取设备信息并执行后续步骤。通过数据库的设置,可以解耦Provider侧与Web服务器侧的服务,从而便于在IDC中部署扩容Provider或Web服务器,从而使得该实施方案具备良好的横向扩展性,支持快速地边缘节点服务器及电子设备的接入,适用范围广。
可选的,在本公开的一些实施例中,所述互联网数据中心IDC中可以配置有消息队列MQ(Message Queue),相应的,所述方法还包括以下步骤:
步骤i):所述消息队列MQ接收所述服务代理模块Agent通过所述通信通道传输来的设备信息。
具体的,也即服务代理模块Agent上传的设备信息先到达MQ。
步骤ii):所述设备信息处理模块从所述消息队列获取所述设备信息后,存储所述设备信息至所述数据库中。
具体的,设备信息处理模块Provider从MQ中获取设备信息,然后存入数据库中。之后,Web服务器再从数据库中获取设备信息并执行后续步骤。
本实施例中,通过进一步设置消息队列,使用消息队列作为边缘节点服务器与在线远程控制服务通讯的通道,设备信息由边缘节点服务器上的Agent进行收集并通过消息队列通知在线远程控制服务。这样,可以起到缓冲作用,Agent收集的设备信息先到达MQ中,再由设备信息处理模块Provider从MQ中获取设备信息,在此过程中如有新的边缘节点服务器加入,也方便及时对设备信息处理模块Provider的扩容操作,扩容后新的Provider可以从MQ中获取新的边缘节点服务器上的Agent上传的设备信息。
进一步可选的,在本公开的一些实施例中,所述方法还可以包括以下步骤:
步骤a):所述Web服务器通过所述消息队列转发所述设备控制信息至所述设备信息处理模块。
具体的,Web服务器在生成设备控制信息后,将设备控制信息发送至消息队列MQ,设备信息处理模块Provider从MQ中获取设备控制信息。
步骤b):所述设备信息处理模块通过所述消息队列转发所述设备控制信息至所述服务代理模块。
具体的,设备信息处理模块Provider将获取的设备控制信息发送至消息队列MQ,由消息队列MQ将设备控制信息下发至服务代理模块Agent。
本实施例中,用户的所有控制操作产生的设备控制信息都通过消息队列下发到边缘节点服务器上的Agent,并由Agent下发控制电子设备如iOS设备。边缘节点服务器通过Proxy Client发现并使用IDC中的MQ服务,并通过MQ与IDC中其他服务通讯。通过上述实施方案,进一步解耦了Provider侧与Web服务器侧的服务,从而便于在IDC中部署扩容Provider或Web服务器,从而使得该实施方案具备良好的横向扩展性,支持快速地边缘节点服务器及电子设备的接入。
可选的,为了便于扩容部署,在本公开的一些实施例中,所述Web服务器可以是基于容器引擎如Docker部署的虚拟Web服务器。在一些实施例中,所述设备信息处理模块Provider可以部署于容器引擎如Docker上。关于容器引擎可以参考现有技术理解,此处不再赘述。基于容器技术可以快速方便地实现部署扩容Provider或Web服务器,使得该实施方案的横向扩展性进一步提升,支持更加快速地进行边缘节点服务器及电子设备的接入。
可选的,在本公开的一些实施例中,所述边缘节点服务器有多个,所述互联网数据中心IDC可配置有多个虚拟机节点(图未示),所述方法还可以包括以下步骤:
步骤S401:每个所述边缘节点服务器上的服务代理模块在初次上线时,在所述内网穿透服务器上注册自身服务信息。
示例性的,例如边缘节点服务器Edge1~Edge1N分别在初次上线时,在所述内网穿透服务器Proxy Server上注册自身服务信息,使得Proxy Server知晓当前共有N个服务代理模块在运行,从而使设备信息处理模块Provider可以主动发现边缘节点服务器。
步骤S402:基于预设选举策略从多个虚拟机节点中选举出主节点,剩余虚拟机节点作为从节点,所述预设选举策略与虚拟机节点的负载相关。
示例性的,虚拟机节点可以部署于IDC上的容器引擎如Docker上,设备信息处理模块Provider可以是一个进程,每个虚拟机节点可以启动一个或多个Provider,每个Provider对应一个边缘节点服务器。Provider初次启动时,会选举出启动Provider的主节点,如基于虚拟机节点的负载如CPU和/或内存资源情况选举出一个虚拟机节点作为主节点,如负载小的虚拟机节点作为主节点,其余虚拟机节点作为从节点,从节点的总数例如为P个。
步骤S403:所述主节点获取注册到所述内网穿透服务器上的服务信息的数量,根据所述服务信息的数量为每个所述从节点分配预设数量的待启动的设备信息处理模块。
示例性的,主节点可以定期如30秒获取最新注册到所述内网穿透服务器ProxyServer上的服务信息的数量N,然后基于服务信息的数量N为P个从节点分配预设数量的待启动的设备信息处理模块Provider。
在一个实施例中,主节点会做简单的任务分配,例如前(P-1)个从节点均分到T个Provider服务,T=floor(P/N),floor()是向下取整函数,而第P个从节点获取到T+mod(P/N)个Provider服务,mod()表示取余函数,此处仅为举例说明,并不限于此。
步骤S404:每个所述从节点启动所述预设数量的设备信息处理模块,每个所述设备信息处理模块用于处理一个边缘节点服务器上的服务代理模块上传的设备信息。
示例性的,每个从节点根据获取到的预设数量启动相应数量的Provider进程,并与MQ建立通讯通道。例如前(P-1)个从节点均启动T个Provider进程,该T个Provider进程与MQ建立通讯通道,而第P个从节点启动T+mod(P/N)个Provider进程,并与MQ建立通讯通道。
Provider进程启动后即可从MQ中获取Agent上传的设备信息。设备信息可以携带设备标识及边缘节点服务器的标识。基于边缘节点服务器的节点标识,每个从节点启动Provider进程时可以指定一个Provider进程处理指定节点标识对应的一个边缘节点服务器上的Agent上传的设备信息。
本实施例的方案中,通过选举主节点,由主节点对各从节点进行任务分配后由各从节点启动相应数量的设备信息处理模块Provider,使得各个从节点的负载尽可能均衡,如此可以提高实施方案运行的效率和稳定性。
可选的,在本公开的一些实施例中,步骤S402中基于预设选举策略从多个虚拟机节点中选举出主节点,具体可以包括以下步骤:
步骤1):获取每个所述虚拟机节点的负载信息。
示例性的,负载信息可以包括但不限于CPU信息和/或内存信息。
步骤2):基于所述预设选举策略、每个所述虚拟机节点的负载信息以及分布式锁机制,从多个虚拟机节点中选举出抢到锁的虚拟机节点为主节点。其中,所述预设选举策略指示负载大于预设负载阈值的虚拟机节点抢锁的频率低于预设频率。
示例性的,Provider代码会进行多虚拟机部署,本实施例中可以利用分布式锁的机制确定唯一的主节点,抢到锁的节点会成为主节点,预设选举策略指示各个虚拟机节点中负载大于预设负载阈值的虚拟机节点抢锁的频率低于预设频率,其中预设负载阈值以及预设频率可以根据具体需要设置,对此不作限制。当一个虚拟机节点的负载大于预设负载阈值即负载过大时,则其抢锁的频率配置为低于预设频率,也即抢锁的频率变低,因此抢到锁的概率降低,从而在一定程度上使得负载小的虚拟机节点尽可能抢到锁,最终确定的主节点的负载最小或相对小一些,然后由主节点对各从节点做任务分配。
本实施例的上述实施方案,确定的主节点的负载最小或相对小一些,可以在部署启动Provider时提高整体的处理效率。
可选的,在本公开的一些实施例中,所述电子设备是iOS设备,时,相应的,所述方法还可以包括以下步骤:
步骤c):将所述设备控制信息转换为XCUITest能够识别的控制指令。
示例性的,Web服务器会基于设备信息如设备屏幕实际信息将电子设备如iOS设备的实时屏幕绘制在Web网页上,例如通过使用Canvas(画布)工具进行绘制。用户可以访问Web服务器在Web网页观察到iOS设备屏幕的变化。然后用户可以像操作iOS设备一样,通过例如鼠标等在Web网页上绘制的实时屏幕区域进行点击、滑动、拖拽等操作,这些操作可以生成设备控制信息,如卸载应用控制信息等。
为了简单方便实现对iOS设备的远程控制,对所有用户操作即设备控制信息会统一转换为XCUITest可以识别的控制指令。
步骤d):所述设备信息处理模块通过所述消息队列将所述控制指令下发至所述服务代理模块,以使所述服务代理模块基于XCUITest的接口将所述控制指令下发至所述电子设备。
具体的,控制指令首先通过Websocket发送至Web服务器侧,Web服务器通过MQ转发控制指令到Provider,Provider再将控制指令通过MQ转发至Agent侧。Agent收到控制指令后,选择对应的iOS设备执行控制指令,达到远程控制iOS设备的目的。
在一些情况下,绘制在Web网页上的iOS设备的实时屏幕区域的尺寸与iOS设备的实际屏幕区域的尺寸可能不同,这会导致用户在Web网页上绘制的实时屏幕区域操作生成的设备控制信息不够准确,进而导致远程控制操作设备的准确性降低。因此,在本公开的一些实施例中,所述方法还可以包括以下步骤:
步骤f):获取在所述交互界面的输入操作的坐标。
具体的,Web服务器可以获取用户在Web网页上绘制的iOS设备的实时屏幕区域内的输入操作如点击、滑动操作的坐标信息。
步骤g):基于所述交互界面的尺寸与所述电子设备的屏幕的尺寸之间的比例关系,将所述坐标转换为实际坐标。
示例性的,该比例关系可以预先配置好,也可以由例如Web服务器在Web网页上绘制iOS设备的实时屏幕区域后,基于绘制的实时屏幕区域的尺寸(如宽度和长度)与iOS设备的实际屏幕的尺寸(如宽度和长度)计算确定。
具体的,Web服务器可以基于上述比例关系,将上述预设操作如点击、滑动操作的坐标信息转换为实际坐标信息。
相应的,步骤S303中基于所述交互界面的输入操作生成设备控制信息的步骤,具体可包括:基于所述实际坐标以及所述输入操作生成设备控制信息。
示例性的,Web服务器基于转换后的实际坐标信息以及预设操作如点击操作生成设备控制信息。在一个示例场景下,例如卸载某个应用程序A,用户点击应用程序A的虚拟按钮“卸载”时,获取该点击操作的坐标信息(X,Y),基于上述比例关系将该坐标信息(X,Y)转换为实际坐标信息(X’,Y’),然后基于实际坐标信息(X’,Y’)以及点击虚拟按钮“卸载”的点击操作生成设备控制信息如卸载iOS设备中的应用程序A的控制信息,之后可以下发卸载iOS设备中的应用程序A的控制信息到对应边缘节点服务器上的Agent,再由Agent下发至对应的iOS设备从而执行卸载iOS设备中的应用程序A的操作。
本实施例的上述方案使得在交互界面操作生成的设备控制信息比较准确,进而使得远程控制操作设备的准确性提高,在一定程度上可以避免误操作或无效操作。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
本公开实施例提供一种边缘节点服务器,参考图2中所示的边缘节点服务器Edge1,其可包括内网穿透客户端Proxy Client和服务代理模块Agent,其中,所述内网穿透客户端用于与互联网数据中心IDC的内网穿透服务器Proxy Server建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道。所述服务代理模块用于获取链接到所述边缘节点服务器的电子设备的设备信息;将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面;从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成;将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
本公开上述实施例中,通过边缘节点服务器连接被控的电子设备,通过边缘节点服务器和互联网数据中心构建的***实现对电子设备的远程控制操作,无需依赖电子设备自身的网络,避免电子设备自身网络意外关闭导致例如远程控制中断的问题,且可不受限于例如苹果账号及局域网等条件,支持非局域网的接入方案,在一定程度上提高电子设备远程控制方案的通用性和可靠性。
在本公开的一些实施例中,所述电子设备是iOS设备,所述服务代理模块通过UI自动化测试框架XCUITest的接口将设备控制信息下发至所述电子设备。
可选的,在本公开的一些实施例中,所述设备信息至少可以包括但不限于CPU信息、内存信息、电池电量、设备屏幕尺寸中的一个或多。在一些实施例中,所述输入操作可以包括但不限于点击、滑动、拖拽中的任意一个或多个操作。
本公开实施例还提供一种网络服务器,参考图2中所示,网络服务器具体可以是但不限于互联网数据中心IDC,该网络服务器可包括内网穿透服务器Proxy Server和Web服务器。其中,所述内网穿透服务器用于与边缘节点服务器上的内网穿透客户端Proxy Client建立通信连接,以在所述边缘节点服务器与所述网络服务器如互联网数据中心IDC之间建立通信通道。所述Web服务器用于接收所述边缘节点服务器上的服务代理模块Agent通过所述通信通道传输来的设备信息,所述设备信息是链接到所述边缘节点服务器的电子设备的设备信息。所述Web服务器,用于基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息。所述Web服务器,还用于将所述设备控制信息传输至所述服务代理模块,以使所述服务代理模块将所述设备控制信息下发至所述电子设备,进而使所述电子设备基于所述设备控制信息执行相应操作。
本公开上述实施例中,通过边缘节点服务器连接被控的电子设备,通过边缘节点服务器和互联网数据中心构建的***实现对电子设备的远程控制操作,无需依赖电子设备自身的网络,避免电子设备自身网络意外关闭导致例如远程控制中断的问题,且可不受限于例如苹果账号及局域网等条件,支持非局域网的接入方案,在一定程度上提高电子设备远程控制方案的通用性和可靠性。
在本公开的一些实施例中,IDC还可包括设备信息处理模块Provider,用于接收所述服务代理模块通过所述通信通道传输来的设备信息,将所述设备信息存储于数据库中。所述Web服务器,还用于从所述数据库中获取所述设备信息。
在本公开的一些实施例中,所述互联网数据中心配置有消息队列MQ,所述消息队列,用于接收所述服务代理模块通过所述通信通道传输来的设备信息。所述设备信息处理模块,还用于从所述消息队列获取所述设备信息后,存储所述设备信息至所述数据库中。
或者,在本公开的另一些实施例中,所述Web服务器,还用于通过所述消息队列转发所述设备控制信息至所述设备信息处理模块;所述设备信息处理模块,还用于通过所述消息队列转发所述设备控制信息至所述服务代理模块。
在本公开的一些实施例中,所述Web服务器是基于容器引擎部署的虚拟Web服务器;和/或,所述设备信息处理模块部署于容器引擎上。
在本公开的一些实施例中,所述边缘节点服务器有多个,所述互联网数据中心配置有多个虚拟机节点和节点选择模块。所述内网穿透服务器,用于接收每个所述边缘节点服务器上的服务代理模块在初次上线时发送的自身的服务信息。所述节点选择模块,用于基于预设选举策略从多个虚拟机节点中选举出主节点,剩余虚拟机节点作为从节点,所述预设选举策略与虚拟机节点的负载相关。所述主节点,用于获取注册到所述内网穿透服务器上的服务信息的数量,根据所述服务信息的数量为每个所述从节点分配预设数量的待启动的设备信息处理模块。所述从节点,用于启动各自的预设数量的设备信息处理模块,每个所述设备信息处理模块用于处理一个边缘节点服务器上的服务代理模块上传的设备信息。
在本公开的一些实施例中,所述节点选择模块,具体用于:获取每个所述虚拟机节点的负载信息;基于所述预设选举策略、每个所述虚拟机节点的负载信息以及分布式锁机制,从多个虚拟机节点中选举出抢到锁的虚拟机节点为主节点;其中,所述预设选举策略指示负载大于预设负载阈值的虚拟机节点抢锁的频率低于预设频率。
可选的,在本公开的一些实施例中,所述电子设备是iOS设备,所述中心还包括:信息转换模块,用于将所述设备控制信息转换为XCUITest能够识别的控制指令;所述设备信息处理模块,还用于通过所述消息队列将所述控制指令下发至所述服务代理模块,以使所述服务代理模块基于XCUITest的接口将所述控制指令下发至所述电子设备。
可选的,在本公开的一些实施例中,还包括:坐标获取模块,用于获取在所述交互界面的输入操作的坐标;坐标转换模块,用于基于所述交互界面的尺寸与所述电子设备的屏幕的尺寸之间的比例关系,将所述坐标转换为实际坐标;所述Web服务器,还用于基于所述实际坐标以及所述预设操作生成设备控制信息。
关于上述各实施例中各个模块执行操作的具体方式以及带来的相应技术效果已经在有关该方法的实施例中进行了对应的详细描述,此处将不做详细阐述说明。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
第五方面,本公开实施例提供一种电子设备远程控制***,参考图2中所示电子设备远程控制***,其可包括边缘节点服务器和网络服务器,该网络服务器可以作为但不限于互联网数据中心IDC,缘节点服务器可以包括内网穿透客户端Proxy Client和服务代理模块Agent,网络服务器如IDC可以包括内网穿透服务器Proxy Server和Web服务器。其中,所述内网穿透客户端用于与所述内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述网络服务器如互联网数据中心之间建立通信通道。所述服务代理模块,用于获取链接到所述边缘节点服务器的电子设备的设备信息,将所述设备信息通过所述通信通道传输至所述Web服务器。所述Web服务器,用于基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息。所述服务代理模块,还用于接收所述Web服务器下发的所述设备控制信息,将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
本公开上述实施例中,通过边缘节点服务器连接被控的电子设备,通过边缘节点服务器和互联网数据中心构建的***实现对电子设备的远程控制操作,无需依赖电子设备自身的网络,避免电子设备自身网络意外关闭导致例如远程控制中断的问题,且可不受限于例如苹果账号及局域网等条件,支持非局域网的接入方案,在一定程度上提高电子设备远程控制方案的通用性和可靠性。
在本公开的一些实施例中,网络服务器如互联网数据中心还可包括设备信息处理模块Provider,用于接收所述服务代理模块通过所述通信通道传输来的设备信息,将所述设备信息存储于数据库中。所述Web服务器,还用于从所述数据库中获取所述设备信息。
在本公开的一些实施例中,所述互联网数据中心配置有消息队列MQ,所述消息队列,用于接收所述服务代理模块通过所述通信通道传输来的设备信息。所述设备信息处理模块,还用于从所述消息队列获取所述设备信息后,存储所述设备信息至所述数据库中。
或者,在本公开的另一些实施例中,所述Web服务器,还用于通过所述消息队列转发所述设备控制信息至所述设备信息处理模块;所述设备信息处理模块,还用于通过所述消息队列转发所述设备控制信息至所述服务代理模块。
在本公开的一些实施例中,所述Web服务器是基于容器引擎部署的虚拟Web服务器;和/或,所述设备信息处理模块部署于容器引擎上。
在本公开的一些实施例中,所述边缘节点服务器有多个,所述互联网数据中心配置有多个虚拟机节点和节点选择模块。所述内网穿透服务器,用于接收每个所述边缘节点服务器上的服务代理模块在初次上线时发送的自身的服务信息。所述节点选择模块,用于基于预设选举策略从多个虚拟机节点中选举出主节点,剩余虚拟机节点作为从节点,所述预设选举策略与虚拟机节点的负载相关。所述主节点,用于获取注册到所述内网穿透服务器上的服务信息的数量,根据所述服务信息的数量为每个所述从节点分配预设数量的待启动的设备信息处理模块。所述从节点,用于启动各自的预设数量的设备信息处理模块,每个所述设备信息处理模块用于处理一个边缘节点服务器上的服务代理模块上传的设备信息。
在本公开的一些实施例中,所述节点选择模块,具体用于:获取每个所述虚拟机节点的负载信息;基于所述预设选举策略、每个所述虚拟机节点的负载信息以及分布式锁机制,从多个虚拟机节点中选举出抢到锁的虚拟机节点为主节点;其中,所述预设选举策略指示负载大于预设负载阈值的虚拟机节点抢锁的频率低于预设频率。
可选的,在本公开的一些实施例中,所述电子设备是iOS设备,所述互联网数据中心还包括:信息转换模块,用于将所述设备控制信息转换为XCUITest能够识别的控制指令;所述设备信息处理模块,还用于通过所述消息队列将所述控制指令下发至所述服务代理模块,以使所述服务代理模块基于XCUITest的接口将所述控制指令下发至所述电子设备。
可选的,在本公开的一些实施例中,所述***还包括:坐标获取模块,用于获取在所述交互界面的输入操作的坐标;坐标转换模块,用于基于所述交互界面的尺寸与所述电子设备的屏幕的尺寸之间的比例关系,将所述坐标转换为实际坐标;所述Web服务器,还用于基于所述实际坐标以及所述预设操作生成设备控制信息。
关于上述各实施例中各个模块执行操作的具体方式以及带来的相应技术效果已经在有关该方法的实施例中进行了对应的详细描述,此处将不做详细阐述说明。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项实施例所述电子设备远程控制方法的步骤。
示例性的,该可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
如图5中所示,本公开实施例还提供一种计算机设备50,包括处理器501以及存储器502,存储器502用于存储计算机程序。其中,所述处理器501配置为经由执行所述计算机程序来执行上述任一项实施例中所述电子设备远程控制方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (16)
1.一种电子设备远程控制方法,其特征在于,应用于边缘节点服务器,所述边缘节点服务器上部署有内网穿透客户端和服务代理模块,所述方法包括:
所述内网穿透客户端与互联网数据中心的内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道;
所述服务代理模块获取链接到所述边缘节点服务器的电子设备的设备信息;
所述服务代理模块将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面;
所述服务代理模块从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成;
所述服务代理模块将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
2.根据权利要求1所述的远程控制方法,其特征在于,所述电子设备是iOS设备,所述服务代理模块将所述设备控制信息下发至所述电子设备的步骤,包括:
所述服务代理模块通过UI自动化测试框架XCUITest的接口将设备控制信息下发至所述电子设备。
3.根据权利要求1或2所述的远程控制方法,其特征在于,所述设备信息包括CPU信息、内存信息、电池电量、设备屏幕尺寸中的一个或多;和/或,所述输入操作包括点击、滑动、拖拽中的一个或多个操作。
4.一种边缘节点服务器,其特征在于,包括内网穿透客户端和服务代理模块:
所述内网穿透客户端,用于与互联网数据中心的内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道;
所述服务代理模块,用于获取链接到所述边缘节点服务器的电子设备的设备信息;将所述设备信息通过所述通信通道传输至所述互联网数据中心,以使所述互联网数据中心的Web服务器基于所述设备信息绘制所述电子设备的交互界面;从所述Web服务器接收设备控制信息,所述设备控制信息由所述Web服务器基于所述交互界面的输入操作生成;将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
5.一种电子设备远程控制方法,其特征在于,应用于互联网数据中心,所述互联网数据中心包括内网穿透服务器和Web服务器,所述方法包括:
所述内网穿透服务器与边缘节点服务器上的内网穿透客户端建立通信连接,以在所述边缘节点服务器与所述互联网数据中心之间建立通信通道;
所述Web服务器接收所述边缘节点服务器上的服务代理模块通过所述通信通道传输来的设备信息,所述设备信息是链接到所述边缘节点服务器的电子设备的设备信息;
所述Web服务器基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息;
所述Web服务器将所述设备控制信息传输至所述服务代理模块,以使所述服务代理模块将所述设备控制信息下发至所述电子设备,进而使所述电子设备基于所述设备控制信息执行相应操作。
6.根据权利要求5所述的远程控制方法,其特征在于,所述互联网数据中心配置有设备信息处理模块,所述方法还包括:
所述设备信息处理模块接收所述服务代理模块通过所述通信通道传输来的设备信息,将所述设备信息存储于数据库中;
所述Web服务器从所述数据库中获取所述设备信息。
7.根据权利要求6所述的远程控制方法,其特征在于,所述互联网数据中心配置有消息队列,所述方法还包括:
所述消息队列接收所述服务代理模块通过所述通信通道传输来的设备信息;
所述设备信息处理模块从所述消息队列获取所述设备信息后,存储所述设备信息至所述数据库中;
或者,所述Web服务器通过所述消息队列转发所述设备控制信息至所述设备信息处理模块;
所述设备信息处理模块通过所述消息队列转发所述设备控制信息至所述服务代理模块。
8.根据权利要求6或7所述的远程控制方法,其特征在于,所述Web服务器是基于容器引擎部署的虚拟Web服务器;和/或,所述设备信息处理模块部署于容器引擎上。
9.根据权利要求8所述的远程控制方法,其特征在于,所述边缘节点服务器有多个,所述互联网数据中心配置有多个虚拟机节点,所述方法还包括:
每个所述边缘节点服务器上的服务代理模块在初次上线时,在所述内网穿透服务器上注册自身服务信息;
基于预设选举策略从多个虚拟机节点中选举出主节点,剩余虚拟机节点作为从节点,所述预设选举策略与虚拟机节点的负载相关;
所述主节点获取注册到所述内网穿透服务器上的服务信息的数量,根据所述服务信息的数量为每个所述从节点分配预设数量的待启动的设备信息处理模块;
每个所述从节点启动所述预设数量的设备信息处理模块,每个所述设备信息处理模块用于处理一个边缘节点服务器上的服务代理模块上传的设备信息。
10.根据权利要求9所述的远程控制方法,其特征在于,所述基于预设选举策略从多个虚拟机节点中选举出主节点,包括:
获取每个所述虚拟机节点的负载信息;
基于所述预设选举策略、每个所述虚拟机节点的负载信息以及分布式锁机制,从多个虚拟机节点中选举出抢到锁的虚拟机节点为主节点;其中,所述预设选举策略指示负载大于预设负载阈值的虚拟机节点抢锁的频率低于预设频率。
11.根据权利要求5~7任一项所述的远程控制方法,其特征在于,所述电子设备是iOS设备,所述方法还包括:
将所述设备控制信息转换为XCUITest能够识别的控制指令;
所述设备信息处理模块通过所述消息队列将所述控制指令下发至所述服务代理模块,以使所述服务代理模块基于XCUITest的接口将所述控制指令下发至所述电子设备。
12.根据权利要求5~7任一项所述的远程控制方法,其特征在于,所述方法还包括:
获取在所述交互界面的输入操作的坐标;
基于所述交互界面的尺寸与所述电子设备的屏幕的尺寸之间的比例关系,将所述坐标转换为实际坐标;
所述基于所述交互界面的输入操作生成设备控制信息的步骤,包括:
基于所述实际坐标以及所述输入操作生成设备控制信息。
13.一种网络服务器,其特征在于,所述网络服务器包括内网穿透服务器和Web服务器,其中:
所述内网穿透服务器,用于与边缘节点服务器上的内网穿透客户端建立通信连接,以在所述边缘节点服务器与所述网络服务器之间建立通信通道;
所述Web服务器,用于接收所述边缘节点服务器上的服务代理模块通过所述通信通道传输来的设备信息,所述设备信息是链接到所述边缘节点服务器的电子设备的设备信息;
所述Web服务器,用于基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息;
所述Web服务器,还用于将所述设备控制信息传输至所述服务代理模块,以使所述服务代理模块将所述设备控制信息下发至所述电子设备,进而使所述电子设备基于所述设备控制信息执行相应操作。
14.一种电子设备远程控制***,其特征在于,包括:
边缘节点服务器,包括内网穿透客户端和服务代理模块;
网络服务器,包括内网穿透服务器和Web服务器;
其中,所述内网穿透客户端用于与所述内网穿透服务器建立通信连接,以在所述边缘节点服务器与所述网络服务器之间建立通信通道;
所述服务代理模块,用于获取链接到所述边缘节点服务器的电子设备的设备信息;将所述设备信息通过所述通信通道传输至所述Web服务器;
所述Web服务器,用于基于所述设备信息绘制所述电子设备的交互界面,基于所述交互界面的输入操作生成设备控制信息;
所述服务代理模块,还用于接收所述Web服务器下发的所述设备控制信息,将所述设备控制信息下发至所述电子设备,以使所述电子设备基于所述设备控制信息执行相应操作。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1~3任一项所述电子设备远程控制方法的步骤,或者实现权利要求5~12任一项所述电子设备远程控制方法的步骤。
16.一种计算机设备,其特征在于,包括:
处理器;以及
存储器,用于存储计算机程序;
其中,所述处理器配置为经由执行所述计算机程序来实现权利要求1~3任一项所述电子设备远程控制方法的步骤,或者实现权利要求5~12任一项所述电子设备远程控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110684560.3A CN115514750A (zh) | 2021-06-21 | 2021-06-21 | 电子设备远程控制方法、服务器、***、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110684560.3A CN115514750A (zh) | 2021-06-21 | 2021-06-21 | 电子设备远程控制方法、服务器、***、介质和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514750A true CN115514750A (zh) | 2022-12-23 |
Family
ID=84499478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110684560.3A Pending CN115514750A (zh) | 2021-06-21 | 2021-06-21 | 电子设备远程控制方法、服务器、***、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115514750A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455868A (zh) * | 2023-03-29 | 2023-07-18 | 成都康胜思科技有限公司 | 一种基于泛域名解析加私有协议内网穿透的集成服务*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645910B1 (en) * | 2015-03-12 | 2017-05-09 | Amazon Technologies, Inc. | Cross platform mobile HTML debugging |
CN107168841A (zh) * | 2017-05-25 | 2017-09-15 | 北京云测信息技术有限公司 | 一种移动设备的远程测试方法和装置 |
US20180234479A1 (en) * | 2015-07-13 | 2018-08-16 | Benjamin Howard Lilienthal | Systems and methods for remote interaction |
CN109213674A (zh) * | 2017-07-07 | 2019-01-15 | 博彦科技股份有限公司 | 测试***、方法、存储介质和处理器 |
CN109634856A (zh) * | 2018-12-04 | 2019-04-16 | 北京云测信息技术有限公司 | 基于云服务的iOS智能终端远程真机调试***及方法 |
CN110365741A (zh) * | 2019-06-13 | 2019-10-22 | 网宿科技股份有限公司 | 一种连接建立方法及中转服务器 |
CN111629016A (zh) * | 2019-02-28 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 控制方法、装置及*** |
CN111698333A (zh) * | 2020-06-24 | 2020-09-22 | 上海泽众软件科技有限公司 | 远程控制方法、服务器和*** |
CN111767176A (zh) * | 2019-11-26 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 一种远程控制终端设备的方法和装置 |
CN112799891A (zh) * | 2021-01-15 | 2021-05-14 | 网易(杭州)网络有限公司 | iOS设备测试方法、装置、***、存储介质及计算机设备 |
CN112860572A (zh) * | 2021-03-12 | 2021-05-28 | 网易(杭州)网络有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
-
2021
- 2021-06-21 CN CN202110684560.3A patent/CN115514750A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645910B1 (en) * | 2015-03-12 | 2017-05-09 | Amazon Technologies, Inc. | Cross platform mobile HTML debugging |
US20180234479A1 (en) * | 2015-07-13 | 2018-08-16 | Benjamin Howard Lilienthal | Systems and methods for remote interaction |
CN107168841A (zh) * | 2017-05-25 | 2017-09-15 | 北京云测信息技术有限公司 | 一种移动设备的远程测试方法和装置 |
CN109213674A (zh) * | 2017-07-07 | 2019-01-15 | 博彦科技股份有限公司 | 测试***、方法、存储介质和处理器 |
CN109634856A (zh) * | 2018-12-04 | 2019-04-16 | 北京云测信息技术有限公司 | 基于云服务的iOS智能终端远程真机调试***及方法 |
CN111629016A (zh) * | 2019-02-28 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 控制方法、装置及*** |
CN110365741A (zh) * | 2019-06-13 | 2019-10-22 | 网宿科技股份有限公司 | 一种连接建立方法及中转服务器 |
CN111767176A (zh) * | 2019-11-26 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 一种远程控制终端设备的方法和装置 |
CN111698333A (zh) * | 2020-06-24 | 2020-09-22 | 上海泽众软件科技有限公司 | 远程控制方法、服务器和*** |
CN112799891A (zh) * | 2021-01-15 | 2021-05-14 | 网易(杭州)网络有限公司 | iOS设备测试方法、装置、***、存储介质及计算机设备 |
CN112860572A (zh) * | 2021-03-12 | 2021-05-28 | 网易(杭州)网络有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455868A (zh) * | 2023-03-29 | 2023-07-18 | 成都康胜思科技有限公司 | 一种基于泛域名解析加私有协议内网穿透的集成服务*** |
CN116455868B (zh) * | 2023-03-29 | 2023-11-07 | 成都康胜思科技有限公司 | 一种基于泛域名解析加私有协议内网穿透的集成服务*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110752947B (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
WO2017161984A1 (zh) | 数据集群的部署方法、装置、***及计算机存储介质 | |
EP2893443B1 (en) | Re-configuration in cloud computing environments | |
US20140280805A1 (en) | Two-Sided Declarative Configuration for Cloud Deployment | |
CN113742031B (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN110149409B (zh) | 云主机元数据服务管理方法、***、设备及存储介质 | |
US9130943B1 (en) | Managing communications between client applications and application resources of on-premises and cloud computing nodes | |
CN105744008B (zh) | 智能家居平台、应用于该平台的***更新方法和装置 | |
US7937406B2 (en) | Mechanism for automatically establishing a resource grid | |
US20180176289A1 (en) | Information processing device, information processing system, computer-readable recording medium, and information processing method | |
CN113645262A (zh) | 云计算服务***和方法 | |
CN112698952A (zh) | 计算资源统一管理方法、装置、计算机设备及存储介质 | |
CN109905431A (zh) | 消息处理方法及***、存储介质、电子设备 | |
CN115357198B (zh) | 存储卷的挂载方法及装置、存储介质及电子设备 | |
CN111177160B (zh) | 服务更新方法、装置、服务器及介质 | |
CN115514667A (zh) | 接入服务处理方法、***、装置、电子设备以及存储介质 | |
CN115514750A (zh) | 电子设备远程控制方法、服务器、***、介质和设备 | |
CN114296953A (zh) | 一种多云异构***及任务处理方法 | |
CN114938365A (zh) | 功能模块的更新方法、装置、存储介质及电子装置 | |
CN109491762B (zh) | 容器状态控制方法及装置、存储介质、电子设备 | |
CN115543793A (zh) | 一种目标服务器的***部署方法、装置和运维中台 | |
CN112910956B (zh) | 一种资源创建方法、装置及电子设备 | |
CN115309062A (zh) | 设备的控制方法、装置、存储介质及电子装置 | |
CN112783757B (zh) | 测试***、方法、计算机***和计算机可读存储介质 | |
CN114745757A (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 |