CN105704194B - 远程控制方法、客服端、用户端以及系统 - Google Patents

远程控制方法、客服端、用户端以及系统 Download PDF

Info

Publication number
CN105704194B
CN105704194B CN201410710993.1A CN201410710993A CN105704194B CN 105704194 B CN105704194 B CN 105704194B CN 201410710993 A CN201410710993 A CN 201410710993A CN 105704194 B CN105704194 B CN 105704194B
Authority
CN
China
Prior art keywords
server
user terminal
customer side
speed
access
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.)
Expired - Fee Related
Application number
CN201410710993.1A
Other languages
English (en)
Other versions
CN105704194A (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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410710993.1A priority Critical patent/CN105704194B/zh
Publication of CN105704194A publication Critical patent/CN105704194A/zh
Application granted granted Critical
Publication of CN105704194B publication Critical patent/CN105704194B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种远程控制方法、客服端、用户端以及系统,涉及数据传输领域,主要目的在于在远程控制的过程中实现快速的接入,进而实现数据的顺畅传输。本发明的主要技术方案为:服务器侧的客服端和用户设备侧的用户端建立网络通信连接;当客服端需要远程控制用户端时,客服端获取远程控制接入速度最快的第二服务器,用户端获取远程控制接入速度最快的第三服务器;客服端接入第二服务器,用户端接入第三服务器,并将各自接入的服务器的信息发送给对端,以便客服端和用户端通过第二服务器和第三服务器建立远程控制连接;客服端和用户端通过第二服务器和第三服务器进行远程数据传输。本发明主要应用于远程控制接入以及远程控制数据传输过程中。

Description

远程控制方法、客服端、用户端以及系统
技术领域
本发明涉及数据传输领域,特别是涉及一种远程控制方法、客服端、用户端以及系统。
背景技术
随着网络技术的迅速发展,控制网络正把全世界的计算机系统、通信系统逐渐集成起来,形成信息高速公路。远程控制是在网络上由一台电脑远距离去控制另一台电脑,通过主控端电脑对被控端电脑进行配置、软件安装程序、系统修复等工作。例如,当用户电脑出现卡慢、数据恢复等问题时,可向对应的技术专家求救,技术专家通过远程控制故障电脑,对该故障电脑进行修复。在技术专家对故障电脑进行远程控制时,若技术专家或者故障电脑其中一个已连接在服务器上,要想实现两者间的远程控制,另一个必须与上述服务器进行连接,在建立远程连接时,由于该服务器同时服务多个甚至几十个用户,导致网络资源的占用量过多,使得技术专家无法或者较慢的建立与故障电脑的远程控制连接,并且即使建立了远程控制连接,远程控制过程也会存在卡慢的问题。
发明内容
有鉴于此,本发明实施例提供远程控制方法、客服端、用户端以及系统,主要目的在于在远程控制的过程中实现快速的接入,进而实现数据的顺畅传输。
依据本发明一个方面,提供了一种远程控制方法,包括:
服务器侧的客服端和用户设备侧的用户端通过第一服务器建立网络通信连接;
当所述客服端需要远程控制所述用户端时,所述客服端获取远程控制接入速度最快的第二服务器,以及所述用户端获取远程控制接入速度最快的第三服务器;
所述客服端接入所述第二服务器,以及所述用户端接入所述第三服务器,并将各自接入的服务器的信息发送给对端,以便所述客服端和用户端通过所述第二服务器和第三服务器建立远程控制连接;
所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输。
根据本发明的另一个方面,提供了一种客服端,用于服务器侧,包括:
建立单元,用于和用户设备侧的用户端通过第一服务器建立网络通信连接;
获取单元,用于当所述客服端需要远程控制所述用户端时,获取远程控制接入速度最快的第二服务器;
接入单元,用于接入获取单元获取的所述第二服务器;
发送单元,用于将所述接入单元接入的服务器的信息发送给所述用户端,以便通过所述第三服务器建立远程控制连接;
数据传输单元,用于将远程数据发送给所述第二服务器,以便所述第二服务器将所述远程数据通过用户端接入的第三服务器转发给所述用户端。
根据本发明的另一个方面,提供了一种用户端,包括:
建立单元,用于和客服端通过第一服务器建立网络通信连接;
获取单元,用于当所述客服端需要远程控制所述用户端时,获取远程控制接入速度最快的第三服务器;
接入单元,用于接入获取单元获取的所述第三服务器;
发送单元,用于并将所述接入单元接入的服务器的信息发送给所述客服端,以便通过第二服务器建立远程控制连接;
数据传输单元,用于将远程数据发送给所述第三服务器,以便所述第三服务器将所述远程数据通过客服端接入的第二服务器转发给所述客服端。
根据本发明的另一个方面,提供了一种远程控制系统,包括:如前所述的客服端、如前所述的用户端、第一服务器、第二服务器以及第三服务器;
所述第一服务器,用于建立所述客服端和所述用户端之间的网络通信连接;
所述第二服务器,用于当所述客服端需要远程控制所述用户端时,与所述客服端进行连接,并将其自身的信息发送给所述第三服务器端,以便用户端通过所述第三服务器建立远程控制连接,并进行远程数据传输;
所述第三服务器,用于当所述客服端需要远程控制所述用户端时,与所述用户端进行连接,并将其自身的信息发送给所述第二服务器端,以便客服端通过所述第二服务器建立远程控制连接,并进行远程数据传输。
借由上述技术方案,本发明提供的远程控制方法、客服端、用户端以及系统,在客服端和用户端建立网络连接的基础上,客服端和用户端分别获取并接入该客服端和用户端对应的远程控制接入速度最快的服务器,同时将各自接入的服务器的信息发送给对端,以便客服端和用户端通过接入的对应服务器建立远程控制连接,通过该远程控制连接进行远程数据传输;本发明采用的客服端和用户端与对应远程控制接入速度最快的服务器进行连接,提高了远程控制连接的接入速度,同时通过客服端和用户端相互发送的各自对应接入速度最快的服务器信息,实现数据的顺畅传输。与现有技术中技术专家和故障电脑必须同时连接在同一服务器上相比,本发明提供的方法建立远程控制连接的速度更快。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种远程控制方法的流程图;
图2示出了本发明实施例提供的一种远程控制接入服务器的获取方法的流程图;
图3示出了本发明实施例提供的一种获取远程控制接入速度最快的服务器方法的流程图;
图4示出了本发明实施例提供的另一种远程控制方法的流程图;
图5示出了本发明实施例提供的服务器间通过异步转发的方法流程图;
图6示出了本发明实施例提供的另一种远程控制方法的流程图;
图7示出了本发明实施例提供的另一种远程控制方法的流程图;
图8示出了本发明实施例提供的另一种远程控制方法的流程图;
图9示出了本发明实施例提供的一种客服端的组成框图;
图10示出了本发明实施例提供的另一种客服端的组成框图;
图11示出了本发明实施例提供的另一种客服端的组成框图;
图12示出了本发明实施例提供的另一种客服端的组成框图;
图13示出了本发明实施例提供的一种用户端的组成框图;
图14示出了本发明实施例提供的另一种用户端的组成框图;
图15示出了本发明实施例提供的另一种用户端的组成框图;
图16示出了本发明实施例提供的另一种用户端的组成框图;
图17示出了本发明实施例提供的一种远程控制系统的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种远程控制方法,如图1所示,该方法包括:
101、服务器侧的客服端和用户设备侧的用户端通过第一服务器建立网络通信连接。
当用户设备侧的用户出现问题的时候,首先需要和服务器侧的客服端建立网络通信连接,以便咨询和确认其出问题的原因,进而确认是否需要进行远程控制连接。当确定需要建立远程控制连接时,在客服端和用户端建立远程控制连接之前,还需要通过建立的该网络通信连接进行远程控制相关数据的传输。例如,客服端向用户端发送一个在进行远程控制连接时验证彼此身份的密钥等等,本发明实施例对通过建立的该网络通信连接进行远程控制相关数据传输的内容不进行限制。
102、当客服端需要远程控制用户端时,客服端获取远程控制接入速度最快的第二服务器,以及用户端获取远程控制接入速度最快的第三服务器。
在通过步骤101建立网络通信连接,并确定客服端需要远程控制用户端后,通过第一服务器发送远程控制连接的请求信息。在发送远程控制连接的请求信息时,可以采用但不局限于以下的方式,例如,可以由客服端向用户端发送远程控制连接的请求信息,也可以由用户端向客服端发送远程控制连接的请求信息,具体的,本发明实施例对此不进行限制。
本发明实施例以客服端向用户端发送远程控制连接的请求信息为例,进行具体的阐述。当客服端需要远程控制用户端时,客服端通过第一服务器向用户端发送远程控制连接的请求,以便用户端在接收到接入请求之后进行远程接入。在进行远程控制连接时,客服端首先测试可接入的所有服务器的接入速度,之后再根据测试得到的服务器接入速度确定一个接入速度最快的服务器作为第二服务器。
当用户端接收到客服端发送的远程控制连接的请求信息时,用户端测试可接入的所有服务器的接入速度,之后再根据测试得到的服务器接入速度确定一个接入速度最快的服务器作为第三服务器。
本发明实施例中,当第二服务器或者第三服务器同时为客服端和用户端接入速度最快的服务器时,该第二服务器和第三服务器可以为同一个服务器;当客服端获取的远程控制接入速度最快的是第二服务器,以及用户端获取远程控制接入速度最快的是第三服务器,该第二服务器和第三服务器可以为不同的服务器;当客服端或者用户端获取的远程控制接入速度最快的服务器为第一服务器时,该第一服务器可以为第二服务器或者第三服务器。具体的本发明实施例对此不进行限制。
103、客服端接入第二服务器,以及用户端接入第三服务器,并将各自接入的服务器的信息发送给对端,以便客服端和用户端通过第二服务器和第三服务器建立远程控制连接。
在该步骤中,用户端和客服端分别接入自己对应的服务器,但是彼此均不知道对方接入的是哪个服务器,因此需要将各自接入的服务器的信息发送给对方。但是,此时双方还没有建立连接,彼此之间还无法通信进行信息的传递,因此该信息的传递需要基于第一服务器进行,即客服端将其接入的第二服务器的信息通过第一服务器发送给用户端,用户端将其接入的第三服务器的信息通过第一服务器发送给客服端。客服端和用户端在接收到对方接入的服务器信息后,在进行远程发送时,将携带该信息,以便接收到信息的服务器知道将接收到数据包或信息发送给哪个服务器转发,这样便建立了远程控制连接。
104、客服端和用户端通过第二服务器和第三服务器进行远程数据传输。
当客服端向用户端发送远程数据时,客服端将远程数据发送给第二服务器,第二服务器将该远程数据通过用户端接入的第三服务器转发给用户端;当用户端向客服端发送远程数据时,用户端将远程数据发送给第三服务器,第三服务器将该远程数据通过客服端接入的第二服务器转发给客服端,由此完成用户端向客服端的数据传输。
本发明提供的远程控制方法,在客服端和用户端建立网络连接的基础上,客服端和用户端分别获取并接入该客服端和用户端对应的远程控制接入速度最快的服务器,同时将各自接入的服务器的信息发送给对端,以便客服端和用户端通过接入的对应服务器建立远程控制连接,通过该远程控制连接进行远程数据传输;本发明采用的客服端和用户端与对应远程控制接入速度最快的服务器进行连接,提高了远程控制连接的接入速度,同时通过客服端和用户端相互发送的各自对应接入速度最快的服务器信息,实现数据的顺畅传输。与现有技术中技术专家和故障电脑必须同时连接在同一服务器上相比,本发明提供的方法建立远程控制连接的速度更快。
进一步的,本发明实施例提供一种远程控制接入服务器的获取方法,该方法着重以服务器侧的客服端为例进行说明,如图2所示,该方法包括:
201、客服端获取其可进行远程接入的服务器列表。
在客服端与服务器建立网络通信时,不仅仅可以和一台服务器建立网络通信连接,还可以与所有服务器均建立网络通信连接,在建立远程控制连接时,为了方便获取客服端所接入服务器的具体信息,可以将服务器端的服务器信息记录在一个服务器列表中。该服务器列表中记录了用户可以接入的服务器的信息,该服务器列表信息至少包括服务器的互联网协议地址(Internet Protocol Address,IP地址)、媒体访问控制地址(MediaAccess Control Address,MAC地址)、默认网关。其中,服务器列表中所包含的内容仅为示例性的举例,本发明实施例不对其具体形式进行限制。
在获取到服务器列表后,客服端先获取配置文件中的静态地址,通过该静态地址获取服务器列表。其中,服务器列表是可变更的服务器列表,当服务器列表中记录的服务器信息发生变化时,服务器端会对该服务器列表进行更新。当客服端重新发送远程控制连接请求信息时,可通过配置文件中的静态地址查看是否存在更新的服务器列表,若存在,则将原服务器列表替换为更新后的服务器列表。
202、向服务器列表所包含的所有服务器发送测试包请求接入对应的服务器,并获取客服端接入对应服务器的速度。
由于客服端可以与服务器列表所包含的所有服务器进行连接,因此在获取服务器列表后,客服端可以向服务器列表所包含的所有服务器一一发送测试包请求接入对应的服务器,该测试包为测试接入服务器速度的数据包。
在客服端向服务器列表所包含的所有服务器发送测试包之后,该服务器列表所包含的所有服务器返回客服端发送的测试包,客服端通过计算发送和返回测试包的速度以及吞吐量,根据该速度和吞吐量判断客服端接入对应服务器的速度。
203、选择接入速度最快的服务器作为第二服务器。
客服端在判断可接入服务器列表所包含的所有服务器速度大小之后,选择接入速度最快的服务器作为第二服务器。
在选择接入速度最快的服务器作为第二服务器时,可能存在接入速度最快的服务器,距离客服端较远,而接入速度慢的服务器,距离客服端较近的情况,本发明实施例不局限于客服端与服务器列表所包含的所有服务器之间实际距离的远近,只要满足客服端能快速接入对应服务器即可。
基于上述方法,在客服端获取远程控制接入速度最快的服务器,首先测试可接入的所有服务器的接入速度,在客服端选择远程控制接入速度最快的服务器时可以通过但不局限于以下的方法实现,如图3所示,该方法包括:
301、获取客服端接入对应服务器的速度和吞吐量。
在向服务器发送测试包后,获取客服端接入对应服务器的速度和吞吐量,通过该客服端接入对应服务器的速度可以确定客服端接入哪个服务器的速度最快,从而提高了客服端和用户端建立远程控制连接的速度;通过该客服端接入对应服务器的吞吐量的大小,可以提高在建立远程控制连接后远程数据的传输速度。因此,在测试可接入的所有服务器的接入速度时,需获取客服端接入对应服务器的速度和吞吐量。本发明实施例中,客服端接入对应服务器的速度和吞吐量分别对应一个权值,该权值为经验值,根据用户的需求设定,在设置之后是可变更的。例如,客服端接入对应服务器的吞吐量为1-50比特/秒,设置权值为2,客服端接入对应服务器的吞吐量为51-100比特/秒,设置权值为4等等,客服端接入对应服务器的速度为1-100波特率,设置权值为1,客服端接入对应服务器的速度为101-1000波特率,设置权值为2等等,上述关于客服端接入对应服务器的速度和吞吐量权值的设置,仅为示例性的举例,具体的设置方式本发明实施例不进行限制。
302、将速度和吐吞量进行加权计算得到一个加权值,将加权值作为客服端接入对应服务器的速度。
将速度和吞吐量的权值相加得到一个加权值,该加权值越大,说明客服端接入对应服务器的速度越大。
上述图2至图3所示方法着重以服务器侧为例进行了说明,本发明实施例还提供一种远程控制方法,着重以用户设备侧的用户端为例进行说明,该方法对应于与图2至图3所示的远程控制接入服务器的方法,其中,有关用户端获取远程接入速度最快的第三服务器的详细过程,请参考上述服务器侧的客户端的有关描述,本发明实施例此处不进行赘述。
进一步的,为了确保客服端和用户端数据传输的稳定性,如图4所示,本发明实施例提供一种远程控制的方法,包括:
401、可进行远程接入的服务器列表中的服务器实时监听80端口以及一个1024以上端口。
在服务器端的服务器启动时,该服务器就处于实时监听端口状态。由于客服端和用户端在建立网络通信连接时,可能只允许用户端连接80端口,因此可进行远程接入的服务器列表中的服务器需要实时监听80端口,确保80端口网络通信连接的稳定性;客服端和用户端在建立网络通信连接时,也可能会禁止80端口进行非超文本传送协议(Hypertexttransfer protocol,HTTP协议)的通信,因此可进行远程接入的服务器列表中的服务器需要实时监听高端口,例如1024端口、8080端口等等,确保监听的1024端口、8080端口网络通信连接的稳定性。其中,可进行远程接入的服务器列表中的服务器可同时监控多个端口,当客服端和用户端在建立网络通信连接不上或者连接中断时,可通过该服务器监听的其他端口进行连接,确保数据传输的稳定性。
402、当服务器接收到客服端或者用户端的接入请求时,及时的实现客服端或者用户端的远程接入。
基于服务器实时监听多个端口,当客服端或者用户端请求接入服务器时,服务器会优选其监听的80端口与客服端或者用户端进行连接,当服务器监听的80端口不能与客服端或者用户端进行连接时,会选择其监听的任一个1024以上端口与客服端或者用户端进行连接,实现客服端或者用户端的远程接入。
进一步的,在客户端通过第二服务器建立远程控制连接以及用户端通过第三服务器建立远程控制连接后,为了实现远程控制数据的顺畅传输,本发明实施例将对此进行具体的描述:
当第二服务器和第三服务器为同一个服务器时,客服端和用户端通过第二服务器(即第三服务器)的转发进行数据传输。具体的本发明实施例不进行限制。
当第二服务器和第三服务器为相互独立的服务器时,客服端和用户端通过第二服务器和第三服务器的转发进行数据传输,第二服务器和第三服务器之间通过异步转发的方式进行数据传输。具体的,作为对第二服务器和第三服务器之间通过异步转发的方式进行数据传输进行具体描述,如图5所示,包括:
501、第二服务器或第三服务器接收远程数据信息,远程数据信息中包括数据包和数据包转发信息,数据包转发信息中记录了远程数据由哪个服务器传来以及发送到哪个服务器的信息。
客服端或者用户端向第二服务器或第三服务器发送远程数据信息,该数据信息至少包括数据包和数据包转发信息,其中,该数据包可为文本文档、压缩包、视频、音频以及应用程序等,具体的对数据包的内容和大小不进行限制;该数据包转发信息中包括远程数据由哪个服务器传来以及发送到哪个服务器的信息,其中,该远程数据由哪个服务器传来以及发送到哪个服务器的信息包括发送服务器和接收服务器的I P地址、端口号、网关等等,根据数据包提供的转发信息可大大提高远程控制传数据输的速度,本发明实施例对上述数据包转发信息中的具体内容不仅限制。
502、根据数据包转发信息将数据包发送给对应的服务器,并将数据包的转发关系保存在对应服务器中的数据包转发表中,转发表中记录了哪个服务器传来的数据发送到哪个服务器的数据转发关系。
根据数据包转发信息将数据包通过服务器之间异步转发的方式发送给对应的服务器,该异步转发的方式为:当客服端通过第二服务器向用户端连续发送数据包时,客服端无需等待用户端通过第三服务器对客服端发送的数据包的响应,可将需要发送的数据包通过第二服务器全部发送过去。客服端通过第二服务器向用户端连续发送数据包在没有得到用户端的一一响应之前,会将用户端没有响应的数据包保存在网络缓存中,当用户端通过第三服务器响应一个数据包后,保存在网络缓存中的数据包根据数据包的转发关系通过第三服务器自动发送给用户端,直到用户端响应完所有客服端向用户端发送数据包。
将数据包的转发关系保存在对应服务器中的数据包转发表中,以便后续在服务器间进行数据包转发时,提高获取数据包转发关系的速度,进而大大提高远程控制数据传输的速度。
进一步的,客服端和用户端通过第二服务器和第三服务器的转发进行数据传输时,本发明实施例还提供一种远程控制的方法,如图6,该方法包括:
601、当第二服务器或第三服务器接收到数据包时,获取自身存储的转发表,转发表中记录了哪个服务器传来的数据发送到哪个服务器的信息。
当第二服务器或第三服务器接收到数据包时,获取自身存储的转发表,使得第二服务器或第三服务器接收的数据包,不需要缓存在网络缓存中,可快速的实现服务器间的转发。
602、根据转发表,通过第二服务器和第三服务器的转发实现客服端和用户端数据的传输。
客服端和用户端通过第二服务器和第三服务器,根据转发表中记录发送信息进行数据传输。在第二服务器或者第三服务器进行转发数据时,可能存在多个用户共用第二服务器或者共用第三服务器的情况,本发明实施例以多个用户共用第二服务器为例进行说明。例如,当客服端用户1、客服端用户2、客服端用户3…同时通过第二服务器向各自对应的用户端用户1、用户端用户2、用户端用户3…进行数据传输时,需要将该数据包在服务器间进行异步转发;在服务器间进行转发数据包时,多个用户共用一个转发表,多个用户的转发信息保存在该转发表中,每当数据包传来时,先查询该转发表,根据该转发表中记录的数据包转发关系,将数据包发送对应的服务器上。
其中,上述多个用户共用一个转发表,该转发表可以加密的,也可以是不加密的,加密该转发表的目的在于防止服务器间进行转发数据时,被其他使用者盗用,但同时减慢了数据传输的速度;对该转发表不进行加密目的在于当都多个用户同时访问该转发表时,保持数据转发的顺畅。具体的本实施例对此不进行限制。
进一步的,为了确保需建立远程控制连接的双方是需要建立远程控制连接的客服端或者用户端,本发明实施例提供一种远程控制的方法,如图7所示,该方法包括:
701、第一服务器生成一个一次有效的权限认证识别码,识别码根据客服端与用户端用户的ID密钥通过哈希算法得到。
在客服端和用户端建立远程控制连接之前,对需要建立远程控制连接的客服端和用户端进行身份的权限认证,可以防止客服端和用户端的远程控制连接到其他客服端或者用户端,从而避免了恶意伪造用户身份。
第一服务器生成权限认证识别码是一次性使用的,即客服端和用户端在进行权限认证成功后,该识别码会失效。经过权限认证成功建立远程控制连接后,建立通信的客服端和用户端会一直处于长连接状态,不需要在每次进行数据传输时都要获得权限认证,使用一次性有效的识别码进行权限认证,可简化权限认证的过程;如果客服端和用户端在建立远程控制连接过程中出现远程控制中断,但还需要进行远程控制时,需要再次发送远程控制连接的请求,重新获取权限认证。
客服端和用户端在建立远程控制连接之前,会进行交互协商,相互发送一个自行设定的密钥,并将自身的用户ID、密钥以及当前时间发送给第一服务器,第一服务器会根据接收到的用户I D、密钥以及当前时间通过哈希算法计算出权限识别码。其中根据用户ID、密钥以及当前时间通过哈希算法计算出权限识别码,也可以根据用户ID、密钥通过哈希算法计算出权限识别码,本发明实施例对计算出识别码的内容不进行限制。
702、第一服务器将权限识别码分别发送给客服端和用户端,以便实现远程控制双方权限的认证。
第一服务器将权限识别码分别发送给客服端和用户端,可以采用但不局限于以下的方式实现:将该权限识别码直接发送给客服端和用户端,客服端和用户端分别确定该权限识别码准确无误后,实现远程控制双方权限的认证,进行远程控制连接;或者,第一服务器分别向客服端和用户端发送一个对话框,该对话框的内容为:是否进行远程控制连接,并对应一个是的按钮,和一个否的按钮;在客服端和用户端进行选择是或者否按钮时,完成对该权限认证的判定,当客服端和用户端分别确定该权限识别码准确无误后,实现远程控制双方权限的认证。
进一步的,为了确保远程控制连接时视频数据进行顺畅的传输,本发明实施例还提供一种远程控制数据传输的方法,如图8所示,该方法包括:
801、通过H.264视频压缩算法对视频数据进行压缩。
将H.264视频压缩算法应用于远程控制数据传输过程中,当需要传输的数据包内容上的差异较小时,H.264视频压缩算法中的编码器可在保持编码质量的前提下,获得最好的压缩性能。本发明实施例在对视频数据进行压缩时,可以采用但不局限于使用H.264视频压缩算法,还可以通过动态图像专家组技术等等对视频数据进行压缩。具体的,对视频压缩的方法,本发明实施例对此不进行限制。
802、客服端和用户端通过第二服务器和第三服务器将压缩后的视频数据进行传输。
通过传输压缩后的视频数据,可以节省远程控制连接过程中的网络资源占用量,从而提升远程控制数据传输的速度。
基于上述方法实施例,本发明实施例提供一种客服端,用于服务器侧,如图9所示,该方法包括:
建立单元91,用于和用户设备侧的用户端通过第一服务器建立网络通信连接,当用户设备侧的用户出现问题的时候,首先需要和服务器侧的客服端建立网络通信连接,以便咨询和确认其出问题的原因,进而确认是否需要进行远程控制连接。当确定需要建立远程控制连接时,在客服端和用户端建立远程控制连接之前,还需要通过建立的该网络通信连接进行远程控制相关数据的传输;
获取单元92,用于当客服端需要远程控制用户端时,获取远程控制接入速度最快的第二服务器,在进行远程控制连接时,客服端首先测试可接入的所有服务器的接入速度,之后再根据测试得到的服务器接入速度确定一个接入速度最快的服务器作为第二服务器。客服端通过测试可以接入的所有服务器的接入速度;
接入单元93,用于接入获取单元92获取的第二服务器,在获取客服端和用户端远程控制接入速度最快的服务器后,将客户端接入获取远程控制接入速度最快的第二服务器;
发送单元94,用于将接入单元93接入的服务器的信息发送给用户端,以便通过第三服务器建立远程控制连接,用户端和客服端分别接入自己对应的服务器,但是彼此均不知道对方接入的是哪个服务器,因此需要将各自接入的服务器的信息发送给对方。但是,此时双方还没有建立连接,彼此之间还无法通信进行信息的传递,因此该信息的传递需要基于第一服务器进行,即客服端将其接入的第二服务器的信息通过第一服务器发送给用户端,用户端将其接入的第三服务器的信息通过第一服务器发送给客服端。客服端和用户端在接收到对方接入的服务器信息后,在进行远程发送时,将携带该信息,以便接收到信息的服务器知道将接收到数据包或信息发送给哪个服务器转发,这样便建立了远程控制连接;
数据传输单元95,用于将远程数据发送给第二服务器,以便第二服务器将远程数据通过用户端接入的第三服务器转发给用户端,客服端根据用户端发送的接入的服务器的信息与用户端通过第三服务器建立远程控制连接,基于该远程控制连接进行数据传输;
进一步的,如图10所示,该获取单元92包括:
第一获取模块921,用于获取客服端可进行远程接入的服务器列表,在客服端与服务器建立网络通信时,不仅仅可以和一台服务器建立网络通信连接,还可以与所有服务器均建立网络通信连接,在建立远程控制连接时,为了方便获取客服端所接入服务器的具体信息,可以将服务器端的服务器信息记录在一个服务器列表中。该服务器列表中记录了用户可以接入的服务器的信息,该服务器列表信息至少包括服务器的互联网协议地址(Internet Protocol Address,IP地址)、媒体访问控制地址(Media Access ControlAddress,MAC地址)、默认网关。其中,服务器列表中所包含的内容仅为示例性的举例,本发明实施例不对其具体形式进行限制。
在获取到服务器列表后,客服端先获取配置文件中的静态地址,通过该静态地址获取服务器列表。其中,服务器列表是可变更的服务器列表,当服务器列表中记录的服务器信息发生变化时,服务器端会对该服务器列表进行更新。当客服端重新发送远程控制连接请求信息时,可通过配置文件中的静态地址查看是否存在更新的服务器列表,若存在,则将原服务器列表替换为更新后的服务器列表;
发送模块922,用于向第一获取模块921获取的服务器列表所包含的所有服务器发送测试包请求接入对应的服务器,由于客服端可以与服务器列表所包含的所有服务器进行连接,因此在获取服务器列表后,客服端可以向服务器列表所包含的所有服务器一一发送测试包请求接入对应的服务器,该测试包为测试接入服务器速度的数据包;
第二获取模块923,用于获取接入对应服务器的速度,在客服端向服务器列表所包含的所有服务器发送测试包之后,该服务器列表所包含的所有服务器返回客服端发送的测试包,客服端通过计算发送和返回测试包的速度以及吞吐量,根据该速度和吞吐量判断客服端接入对应服务器的速度;
选择模块924,用于选择第二获取模块923获取的接入速度最快的服务器作为第二服务器,在选择接入速度最快的服务器作为第二服务器时,可能存在接入速度最快的服务器,距离客服端较远,而接入速度慢的服务器,距离客服端较近的情况,本发明实施例不局限于客服端与服务器列表所包含的所有服务器之间实际距离的远近,只要满足客服端能快速接入对应服务器即可。
进一步的,如图11所示,该第二获取模块923包括:
获取子模块9231,用于获取接入对应服务器的速度和吞吐量,在向服务器发送测试包后,获取客服端接入对应服务器的速度和吞吐量,通过该客服端接入对应服务器的速度可以确定客服端接入哪个服务器的速度最快,从而提高了客服端和用户端建立远程控制连接的速度;通过该客服端接入对应服务器的吞吐量的大小,可以提高在建立远程控制连接后远程数据的传输速度。因此,在测试可接入的所有服务器的接入速度时,需获取客服端接入对应服务器的速度和吞吐量;
计算子模块9232,用于将获取子模块9231获取的速度和吐吞量进行加权计算得到一个加权值,将加权值作为客服端接入对应服务器的速度,将速度和吞吐量的权值相加得到一个加权值,该加权值越大,说明客服端接入对应服务器的速度越大。
进一步的,如图12所示,该客服端还包括:
压缩单元96,用于当远程数据为视频数据时,通过H.264视频压缩算法对视频数据进行压缩,将H.264视频压缩算法应用于远程控制数据传输过程中,当需要传输的数据包内容上的差异较小时,H.264视频压缩算法中的编码器可在保持编码质量的前提下,获得最好的压缩性能;
数据传输单元95还用于,将压缩后的视频数据发送给第二服务器,以便第二服务器将压缩后的视频数据通过用户端接入的第三服务器转发给用户端。
进一步的,本发明实施例还提供一种用户端,如图13所示,包括:
建立单元131,用于和客服端通过第一服务器建立网络通信连接;
获取单元132,用于当客服端需要远程控制用户端时,获取远程控制接入速度最快的第三服务器;
接入单元133,用于接入获取单元132获取的第三服务器;
发送单元134,用于并将接入单元133接入的服务器的信息发送给客服端,以便通过第二服务器建立远程控制连接;
数据传输单元135,用于将远程数据发送给第三服务器,以便第三服务器将远程数据通过客服端接入的第二服务器转发给客服端。
进一步的,如图14所示,该获取单元132包括:
第一获取模块1321,用于获取用户端可进行远程接入的服务器列表;
发送模块1322,用于向获取模块获取的服务器列表所包含的所有服务器发送测试包请求接入对应的服务器;
第二获取模块1323,用于获取用户端接入对应服务器的速度;
选择模块1324,用于选择第二获取模块1323获取的接入速度最快的服务器作为第三服务器。
进一步的,如图15所示,该第二获取模块1323包括:
获取子模块13231,用于获取用户端接入对应服务器的速度和吞吐量;
计算子模块13232,用于将所获取子模块13231获取的速度和吐吞量进行加权计算得到一个加权值,将加权值作为用户端接入对应服务器的速度。
进一步的,如图16所示,该用户端还包括:
压缩单元136,用于当远程数据为视频数据时,通过H.264视频压缩算法对视频数据进行压缩;
数据传输单元135还用于,将压缩后的视频数据发送给第三服务器,以便第三服务器将压缩后的视频数据通过客服端接入的第二服务器转发给客服端。
进一步的,本发明实施例还提供一种远程控制系统,如图17所示,包括:如前所述的客服端171、如前所述的用户端172、第一服务器173、第二服务器174以及第三服务器175;
第一服务器173,用于建立客服端171和用户端172之间的网络通信连接;
第二服务器174,用于当客服端171需要远程控制用户端172时,与客服端171进行连接,并将其自身的信息发送给第三服务端175,以便用户端172通过第三服务器175建立远程控制连接,并进行远程数据传输;
第三服务器175,用于当客服端171需要远程控制用户端172时,与用户端172进行连接,并将其自身的信息发送给第二服务端174,以便客服端171通过第二服务器174建立远程控制连接,并进行远程数据传输。
进一步的,第一服务器173还用于:
在客服端171和用户端172建立网络通信连接之后,建立客服端171和用户端172建立远程控制连接之前,生成一个一次有效的权限认证识别码,识别码根据客服端171与用户端172用户的I D、密钥通过哈希算法得到;
将生成的权限识别码分别发送给客服端171和用户端172,以便实现远程控制双方权限的认证。
进一步的,第二服务器174还用于:
当第二服务器174和第三服务器175为同一个服务器时,客服端171和用户端172通过第二服务器174的转发进行数据传输。
进一步的,第二服务器174和第三服务器175还用于:
当第二服务器174和第三服务器175为相互独立的服务器时,客服端171和用户端172通过第二服务器174和第三服务器175的转发进行数据传输,第二服务器174和第三服务器175之间通过异步转发的方式进行数据传输。
第二服务器174或第三服务器175接收远程数据信息,远程数据信息中包括数据包和数据包转发信息,数据包转发信息中记录了远程数据由哪个服务器传来以及发送到哪个服务器的信息;
根据数据包转发信息将数据包发送给对应的服务器,并将数据包的转发关系保存在对应服务器中的数据包转发表中,转发表中记录了哪个服务器传来的数据发送到哪个服务器的数据转发关系;当第二服务器174或第三服务器175接收到数据包时,获取自身存储的转发表,转发表中记录了哪个服务器传来的数据发送到哪个服务器的信息;根据转发表,通过第二服务器174和第三服务器175的转发实现客服端171和用户端172数据的传输。
本发明提供的客服端、用户端以及远程控制系统,本在客服端和用户端建立网络连接的基础上,客服端和用户端分别获取并接入该客服端和用户端对应的远程控制接入速度最快的服务器,同时将各自接入的服务器的信息发送给对端,以便客服端和用户端通过接入的对应服务器建立远程控制连接,通过该远程控制连接进行远程数据传输;本发明采用的客服端和用户端与对应远程控制接入速度最快的服务器进行连接,提高了远程控制连接的接入速度,同时通过客服端和用户端相互发送的各自对应接入速度最快的服务器信息,实现数据的顺畅传输。与现有技术中技术专家和故障电脑必须同时连接在同一服务器上相比,本发明提供的客服端、用户端以及远程控制系统建立远程控制连接的速度更快。
进一步的,可进行远程接入的服务器列表中的服务器可同时监控多个端口,当客服端和用户端在建立网络通信连接不上或者连接中断时,可通过该服务器监听的其他端口进行连接,确保数据传输的稳定性。
进一步的,本发明实施例中将数据包的转发关系保存在对应服务器中的数据包转发表中,以便后续在服务器间进行数据包转发时,快速的提高获取数据包转发关系,从而大大提高了远程控制数据传输的速度。
进一步的,在客服端和用户端建立远程控制连接之前,对需要建立远程控制连接的客服端和用户端进行身份的权限认证,可以防止客服端和用户端的远程控制连接到其他客服端或者用户端,从而避免了恶意伪造用户身份。
进一步的,通过传输压缩后的视频数据,可以节省远程控制连接过程中的网络资源占用量,从而提升远程控制数据传输的速度。
本发明公开了A1、一种远程控制方法,包括:
服务器侧的客服端和用户设备侧的用户端通过第一服务器建立网络通信连接;
当所述客服端需要远程控制所述用户端时,所述客服端获取远程控制接入速度最快的第二服务器,以及所述用户端获取远程控制接入速度最快的第三服务器;
所述客服端接入所述第二服务器,以及所述用户端接入所述第三服务器,并将各自接入的服务器的信息发送给对端,以便所述客服端和用户端通过所述第二服务器和第三服务器建立远程控制连接;
所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输。
A2、如A1所述的方法,所述客服端获取远程控制接入速度最快的第二服务器包括:
所述客服端获取其可进行远程接入的服务器列表;
向所述服务器列表所包含的所有服务器发送测试包请求接入对应的服务器,并获取所述客服端接入对应服务器的速度;
选择接入速度最快的服务器作为第二服务器。
A3、如A2所述的方法,获取所述客服端接入对应服务器的速度包括:
获取所述客服端接入对应服务器的速度和吞吐量;
将所述速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述客服端接入对应服务器的速度。
A4、如A1所述的方法,所述用户端获取远程控制接入速度最快的第三服务器包括:
所述用户端获取其可进行远程接入的服务器列表;
向所述服务器列表所包含的所有服务器发送测试包请求接入对应的服务器,并获取所述用户端接入对应服务器的速度;
选择接入速度最快的服务器作为第三服务器。
A5、如A4所述的方法,获取所述用户端接入对应服务器的速度包括:
获取所述用户端接入对应服务器的速度和吞吐量;
将所述速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述用户端接入对应服务器的速度。
A6、如A1-A5任一项所述的方法,还包括:
可进行远程接入的服务器列表中的服务器实时监听80端口以及一个1024以上端口;
当所述服务器接收到所述客服端或者用户端的接入请求时,及时的实现所述客服端或者用户端的远程接入。
A7、如A1-A5任一项所述的方法,若所述第二服务器和第三服务器为同一个服务器,则所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输具体为:
所述客服端和所述用户端通过所述第二服务器的转发进行数据传输。
A8、如A1-A5任一项所述的方法,若所述第二服务器和第三服务器为相互独立的服务器时,所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输具体为:
所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输,所述第二服务器和第三服务器之间通过异步转发的方式进行数据传输。
A9、如A8所述的方法,所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输包括:
所述第二服务器或第三服务器接收远程数据信息,所述远程数据信息中包括数据包和数据包转发信息,所述数据包转发信息中记录了所述远程数据由哪个所述服务器传来以及发送到哪个服务器的信息;
根据所述数据包转发信息将所述数据包发送给对应的服务器,并将数据包的转发关系保存在对应服务器中的数据包转发表中,所述转发表中记录了哪个服务器传来的数据发送到哪个服务器的数据转发关系。
A10、如A9所述的方法,所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输包括:
当所述第二服务器或第三服务器接收到数据包时,获取自身存储的转发表,所述转发表中记录了哪个服务器传来的数据发送到哪个服务器的信息;
根据所述转发表,通过所述第二服务器和第三服务器的转发实现所述客服端和所述用户端数据的传输。
A11、如A1-A5任一项所述的方法,在客服端和用户端通过第一服务器建立网络通信连接之后,建立所述客服端和用户的远程控制连接之前,还包括:
第一服务器生成一个一次有效的权限认证识别码,所述识别码根据所述客服端与所述用户端用户的I D、密钥通过哈希算法得到;
所述第一服务器将所述权限识别码分别发送给所述客服端和用户端,以便实现远程控制双方权限的认证。
A12、如A1-A5任一项所述的方法,当所述远程数据为视频数据时还包括:
通过H.264视频压缩算法对所述视频数据进行压缩;
所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输具体为:所述客服端和所述用户端通过所述第二服务器和第三服务器将压缩后的视频数据进行传输。
B13、一种客服端,用于服务器侧,所述客服端包括:
建立单元,用于和用户设备侧的用户端通过第一服务器建立网络通信连接;
获取单元,用于当所述客服端需要远程控制所述用户端时,获取远程控制接入速度最快的第二服务器;
接入单元,用于接入获取单元获取的所述第二服务器;
发送单元,用于将所述接入单元接入的服务器的信息发送给所述用户端,以便通过所述第三服务器建立远程控制连接;
数据传输单元,用于将远程数据发送给所述第二服务器,以便所述第二服务器将所述远程数据通过用户端接入的第三服务器转发给所述用户端。
B14、如B13所述的客服端,所述获取单元包括:
第一获取模块,用于获取所述客服端可进行远程接入的服务器列表;
发送模块,用于向所述第一获取模块获取的服务器列表所包含的所有服务器发送测试包请求接入对应的服务器;
第二获取模块,用于获取接入对应服务器的速度;
选择模块,用于选择所述第二获取模块获取的接入速度最快的服务器作为第二服务器。
B15、如B14所述的客服端,所述第二获取模块包括:
获取子模块,用于获取接入对应服务器的速度和吞吐量;
计算子模块,用于将所述获取子模块获取的速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述客服端接入对应服务器的速度。
B16、如B13-B15任一项所述的客服端,所述客服端还包括:
压缩单元,用于当所述远程数据为视频数据时,通过H.264视频压缩算法对所述视频数据进行压缩;
所述数据传输单元还用于,将压缩后的视频数据发送给所述第二服务器,以便所述第二服务器将所述压缩后的视频数据通过用户端接入的第三服务器转发给所述用户端。
C17、一种用户端,包括:
建立单元,用于和客服端通过第一服务器建立网络通信连接;
获取单元,用于当所述客服端需要远程控制所述用户端时,获取远程控制接入速度最快的第三服务器;
接入单元,用于接入获取单元获取的所述第三服务器;
发送单元,用于并将所述接入单元接入的服务器的信息发送给所述客服端,以便通过第二服务器建立远程控制连接;
数据传输单元,用于将远程数据发送给所述第三服务器,以便所述第三服务器将所述远程数据通过客服端接入的第二服务器转发给所述客服端。
C18、如C17所述的用户端,所述获取单元包括:
第一获取模块,用于获取所述用户端可进行远程接入的服务器列表;
发送模块,用于向所述获取模块获取的服务器列表所包含的所有服务器发送测试包请求接入对应的服务器;
第二获取模块,用于获取所述用户端接入对应服务器的速度;
选择模块,用于选择所述第二获取模块获取的接入速度最快的服务器作为第三服务器。
C19、如C18所述的用户端,所述第二获取模块包括:
获取子模块,用于获取所述用户端接入对应服务器的速度和吞吐量;
计算子模块,用于将所获取子模块获取的所述速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述用户端接入对应服务器的速度。
C20、如C17-C19任一项所述的用户端,所述用户端还包括:
压缩单元,用于当所述远程数据为视频数据时,通过H.264视频压缩算法对所述视频数据进行压缩;
所述数据传输单元还用于,将压缩后的视频数据发送给所述第三服务器,以便所述第三服务器将所述压缩后的视频数据通过客服端接入的第二服务器转发给所述客服端。
D21、一种远程控制系统,包括:如B13-B16中任一项所述的客服端、如C17-C20中任一项所述的用户端、第一服务器、第二服务器以及第三服务器;
所述第一服务器,用于建立所述客服端和所述用户端之间的网络通信连接;
所述第二服务器,用于当所述客服端需要远程控制所述用户端时,与所述客服端进行连接,并将其自身的信息发送给所述第三服务端,以便用户端通过所述第三服务器建立远程控制连接,并进行远程数据传输;
所述第三服务器,用于当所述客服端需要远程控制所述用户端时,与所述用户端进行连接,并将其自身的信息发送给所述第二服务端,以便客服端通过所述第二服务器建立远程控制连接,并进行远程数据传输。
D22、如D21所述的系统,所述第一服务器还用于:
在客服端和用户端建立网络通信连接之后,建立所述客服端和用户的远程控制连接之前,生成一个一次有效的权限认证识别码,所述识别码根据所述客服端与所述用户端用户的I D、密钥通过哈希算法得到;
将生成的权限识别码分别发送给所述客服端和用户端,以便实现远程控制双方权限的认证。
D23、如D21所述的系统,所述第二服务器还用于:
当所述第二服务器和第三服务器为同一个服务器时,所述客服端和所述用户端通过所述第二服务器的转发进行数据传输。
D24、如D21所述的系统,所述第二服务器和第三服务器还用于:
当所述第二服务器和第三服务器为相互独立的服务器时,所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输,所述第二服务器和第三服务器之间通过异步转发的方式进行数据传输。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的远程控制方法、客服端、用户端以及系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (20)

1.一种远程控制方法,其特征在于,包括:
服务器侧的客服端和用户设备侧的用户端通过第一服务器建立网络通信连接;
当所述客服端需要远程控制所述用户端时,所述客服端获取远程控制接入速度最快的第二服务器,以及所述用户端获取远程控制接入速度最快的第三服务器;
所述客服端接入所述第二服务器,以及所述用户端接入所述第三服务器,并将各自接入的服务器的信息发送给对端,以便所述客服端和用户端通过所述第二服务器和第三服务器建立远程控制连接;
所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输;
其中,所述客服端获取远程控制接入速度最快的第二服务器包括:所述客服端获取其可进行远程接入的服务器列表,向所述服务器列表所包含的所有服务器发送测试包请求接入对应的服务器,并获取所述客服端接入对应服务器的速度,选择接入速度最快的服务器作为第二服务器;
以及,所述用户端获取远程控制接入速度最快的第三服务器包括:所述用户端获取其可进行远程接入的服务器列表,向所述服务器列表所包含的所有服务器发送测试包请求接入对应的服务器,并获取所述用户端接入对应服务器的速度,选择接入速度最快的服务器作为第三服务器。
2.根据权利要求1所述的方法,其特征在于,获取所述客服端接入对应服务器的速度包括:
获取所述客服端接入对应服务器的速度和吞吐量;
将所述速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述客服端接入对应服务器的速度。
3.根据权利要求1所述的方法,其特征在于,获取所述用户端接入对应服务器的速度包括:
获取所述用户端接入对应服务器的速度和吞吐量;
将所述速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述用户端接入对应服务器的速度。
4.根据权利要求1-3中任一项所述的方法,其特征在于,还包括:
可进行远程接入的服务器列表中的服务器实时监听80端口以及一个1024以上端口;
当所述服务器接收到所述客服端或者用户端的接入请求时,及时的实现所述客服端或者用户端的远程接入。
5.权利要求1-3任一项所述的方法,其特征在于,若所述第二服务器和第三服务器为同一个服务器,则所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输具体为:
所述客服端和所述用户端通过所述第二服务器的转发进行数据传输。
6.根据权利要求1-3中任一项所述的方法,其特征在于,若所述第二服务器和第三服务器为相互独立的服务器时,所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输具体为:
所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输,所述第二服务器和第三服务器之间通过异步转发的方式进行数据传输。
7.根据权利要求6所述的方法,其特征在于,所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输包括:
所述第二服务器或第三服务器接收远程数据信息,所述远程数据信息中包括数据包和数据包转发信息,所述数据包转发信息中记录了所述远程数据由哪个所述服务器传来以及发送到哪个服务器的信息;
根据所述数据包转发信息将所述数据包发送给对应的服务器,并将数据包的转发关系保存在对应服务器中的数据包转发表中,所述转发表中记录了哪个服务器传来的数据发送到哪个服务器的数据转发关系。
8.根据权利要求7所述的方法,其特征在于,所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输包括:
当所述第二服务器或第三服务器接收到数据包时,获取自身存储的转发表,所述转发表中记录了哪个服务器传来的数据发送到哪个服务器的信息;
根据所述转发表,通过所述第二服务器和第三服务器的转发实现所述客服端和所述用户端数据的传输。
9.根据权利要求1-3中任一项所述的方法,其特征在于,在客服端和用户端通过第一服务器建立网络通信连接之后,建立所述客服端和用户的远程控制连接之前,还包括:
第一服务器生成一个一次有效的权限认证识别码,所述权限认证识别码根据所述客服端与所述用户端用户的ID、密钥通过哈希算法得到;
所述第一服务器将所述权限认证识别码分别发送给所述客服端和用户端,以便实现远程控制双方权限的认证。
10.根据权利要求1-3中任一项所述的方法,其特征在于,当所述远程数据为视频数据时还包括:
通过H.264视频压缩算法对所述视频数据进行压缩;
所述客服端和所述用户端通过所述第二服务器和第三服务器进行远程数据传输具体为:所述客服端和所述用户端通过所述第二服务器和第三服务器将压缩后的视频数据进行传输。
11.一种客服端,用于服务器侧,其特征在于,包括:
建立单元,用于和用户设备侧的用户端通过第一服务器建立网络通信连接;
获取单元,用于当所述客服端需要远程控制所述用户端时,获取远程控制接入速度最快的第二服务器;
接入单元,用于接入获取单元获取的所述第二服务器;
发送单元,用于将所述接入单元接入的服务器的信息发送给所述用户端,以便通过第三服务器建立远程控制连接,所述第三服务器为用户端获取远程控制接入速度最快的服务器;
数据传输单元,用于将远程数据发送给所述第二服务器,以便所述第二服务器将所述远程数据通过用户端接入的第三服务器转发给所述用户端;
其中,所述获取单元包括:
第一获取模块,用于获取所述客服端可进行远程接入的服务器列表;
发送模块,用于向所述第一获取模块获取的服务器列表所包含的所有服务器发送测试包请求接入对应的服务器;
第二获取模块,用于获取接入对应服务器的速度;
选择模块,用于选择所述第二获取模块获取的接入速度最快的服务器作为第二服务器。
12.根据权利要求11所述的客服端,其特征在于,所述第二获取模块包括:
获取子模块,用于获取接入对应服务器的速度和吞吐量;
计算子模块,用于将所述获取子模块获取的速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述客服端接入对应服务器的速度。
13.根据权利要求11-12任一项所述的客服端,其特征在于,所述客服端还包括:
压缩单元,用于当所述远程数据为视频数据时,通过H.264视频压缩算法对所述视频数据进行压缩;
所述数据传输单元还用于,将压缩后的视频数据发送给所述第二服务器,以便所述第二服务器将所述压缩后的视频数据通过用户端接入的第三服务器转发给所述用户端。
14.一种用户端,其特征在于,包括:
建立单元,用于和客服端通过第一服务器建立网络通信连接;
获取单元,用于当所述客服端需要远程控制所述用户端时,获取远程控制接入速度最快的第三服务器;
接入单元,用于接入获取单元获取的所述第三服务器;
发送单元,用于并将所述接入单元接入的服务器的信息发送给所述客服端,以便通过第二服务器建立远程控制连接,所述第二服务器为客服端获取远程控制接入速度最快的服务器;
数据传输单元,用于将远程数据发送给所述第三服务器,以便所述第三服务器将所述远程数据通过客服端接入的第二服务器转发给所述客服端;
其中,所述获取单元包括:
第一获取模块,用于获取所述用户端可进行远程接入的服务器列表;
发送模块,用于向所述获取模块获取的服务器列表所包含的所有服务器发送测试包请求接入对应的服务器;
第二获取模块,用于获取所述用户端接入对应服务器的速度;
选择模块,用于选择所述第二获取模块获取的接入速度最快的服务器作为第三服务器。
15.根据权利要求14所述的用户端,其特征在于,所述第二获取模块包括:
获取子模块,用于获取所述用户端接入对应服务器的速度和吞吐量;
计算子模块,用于将所获取子模块获取的所述速度和吐吞量进行加权计算得到一个加权值,将所述加权值作为所述用户端接入对应服务器的速度。
16.根据权利要求14-15任一项所述的用户端,其特征在于,所述用户端还包括:
压缩单元,用于当所述远程数据为视频数据时,通过H.264视频压缩算法对所述视频数据进行压缩;
所述数据传输单元还用于,将压缩后的视频数据发送给所述第三服务器,以便所述第三服务器将所述压缩后的视频数据通过客服端接入的第二服务器转发给所述客服端。
17.一种远程控制系统,其特征在于,包括:如权利要求11-13中任一项所述的客服端、如权利要求14-16中任一项所述的用户端、第一服务器、第二服务器以及第三服务器;
所述第一服务器,用于建立所述客服端和所述用户端之间的网络通信连接;
所述第二服务器,用于当所述客服端需要远程控制所述用户端时,与所述客服端进行连接,并将其自身的信息发送给所述第三服务器,以便用户端通过所述第三服务器建立远程控制连接,并进行远程数据传输;
所述第三服务器,用于当所述客服端需要远程控制所述用户端时,与所述用户端进行连接,并将其自身的信息发送给所述第二服务器,以便客服端通过所述第二服务器建立远程控制连接,并进行远程数据传输。
18.根据权利要求17所述的系统,其特征在于,所述第一服务器还用于:
在客服端和用户端建立网络通信连接之后,建立所述客服端和用户的远程控制连接之前,生成一个一次有效的权限认证识别码,所述权限认证识别码根据所述客服端与所述用户端用户的ID、密钥通过哈希算法得到;
将生成的权限认证识别码分别发送给所述客服端和用户端,以便实现远程控制双方权限的认证。
19.根据权利要求17所述的系统,其特征在于,所述第二服务器还用于:
当所述第二服务器和第三服务器为同一个服务器时,所述客服端和所述用户端通过所述第二服务器的转发进行数据传输。
20.根据权利要求17所述的系统,其特征在于,所述第二服务器和第三服务器还用于:
当所述第二服务器和第三服务器为相互独立的服务器时,所述客服端和所述用户端通过所述第二服务器和第三服务器的转发进行数据传输,所述第二服务器和第三服务器之间通过异步转发的方式进行数据传输。
CN201410710993.1A 2014-11-28 2014-11-28 远程控制方法、客服端、用户端以及系统 Expired - Fee Related CN105704194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410710993.1A CN105704194B (zh) 2014-11-28 2014-11-28 远程控制方法、客服端、用户端以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410710993.1A CN105704194B (zh) 2014-11-28 2014-11-28 远程控制方法、客服端、用户端以及系统

Publications (2)

Publication Number Publication Date
CN105704194A CN105704194A (zh) 2016-06-22
CN105704194B true CN105704194B (zh) 2019-06-18

Family

ID=56230539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410710993.1A Expired - Fee Related CN105704194B (zh) 2014-11-28 2014-11-28 远程控制方法、客服端、用户端以及系统

Country Status (1)

Country Link
CN (1) CN105704194B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150944A (zh) * 2017-06-28 2019-01-04 北大方正集团有限公司 远程控制连接方法、网络连接设备及电子终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459545C (zh) * 2005-09-30 2009-02-04 腾讯科技(深圳)有限公司 一种高速业务跨网通信建立方法和系统
CN101808096A (zh) * 2010-03-22 2010-08-18 北京大用科技有限责任公司 一种大规模异地局域网间屏幕共享及控制的方法
CN102761568A (zh) * 2011-04-27 2012-10-31 中兴通讯股份有限公司 远程控制方法及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101409790B1 (ko) * 2013-12-06 2014-06-24 알서포트 주식회사 이동통신단말기 탑재 프로그램을 이용한 이동통신단말기간 원격제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459545C (zh) * 2005-09-30 2009-02-04 腾讯科技(深圳)有限公司 一种高速业务跨网通信建立方法和系统
CN101808096A (zh) * 2010-03-22 2010-08-18 北京大用科技有限责任公司 一种大规模异地局域网间屏幕共享及控制的方法
CN102761568A (zh) * 2011-04-27 2012-10-31 中兴通讯股份有限公司 远程控制方法及服务器

Also Published As

Publication number Publication date
CN105704194A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN105100708B (zh) 请求处理方法及装置
CN106790420B (zh) 一种多会话通道建立方法和系统
CN108270882A (zh) 域名的解析方法和装置、存储介质、电子装置
CN108055312A (zh) 路由方法及其装置与计算机装置及其可读存储介质
CN103179104B (zh) 一种远程服务的访问方法、系统及其设备
CN103997479B (zh) 一种非对称服务ip代理方法和设备
CN109905474A (zh) 基于区块链的数据安全共享方法和装置
CN109542862A (zh) 用于控制文件系统的挂载的方法、装置和系统
CN103139137A (zh) 网络服务提供方法及装置
CN106453349B (zh) 账号登录方法及装置
CN104125303B (zh) 数据读写请求方法、客户端及系统
CN109743373A (zh) 终端的远程协助方法、设备、系统和介质
CN104239125B (zh) 对象处理方法、分布式文件系统及客户端设备
CN110377440A (zh) 信息处理方法和装置
CN105915529A (zh) 一种报文生成方法及装置
CN104837134B (zh) 一种Web认证用户登录方法、设备和系统
CN109862103A (zh) 基于区块链的文件数据安全共享方法和装置
CN105591959B (zh) 一种利用ssl会话重用进行负载均衡的系统及方法
CN106992893A (zh) 路由器的管理方法及装置
CN101247360A (zh) 一种信息显示方法、主机端及子机端
CN105704194B (zh) 远程控制方法、客服端、用户端以及系统
JP5211579B2 (ja) Sipを用いた認証システムおよび認証方法
JP2014057149A (ja) 通信装置、中継装置および通信方法
CN105721231B (zh) 一种业务质量感知探测方法及装置
CN105704109B (zh) 一种网络接入认证方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190618

Termination date: 20211128

CF01 Termination of patent right due to non-payment of annual fee