一种提示方法、数据传输方法及设备与流程

文档序号:12600705阅读:167来源:国知局
一种提示方法、数据传输方法及设备与流程

本发明涉及通信技术领域,尤其涉及一种提示方法、数据传输方法及设备。



背景技术:

随着智能手机的普及和通讯技术的发展,不少可在手机上安装的应用如微信、微博等给开发这些应用的公司带来了巨大的商业利润。因此,开发手机应用(APP)的企业也越来越多。

对于一种应用,可能有多个客户端设备会选择安装,那么大量的客户端设备可能会同时与该应用的后台程序所在的管理设备进行通信,对于管理设备的性能要求较高,因此一般情况下开发手机应用的企业必须购买昂贵的高性能的服务器作为管理设备,以应对大量客户端设备在同一时刻发出的数据处理请求。但是这样庞大的开支对于创业初期的中小企业或是大企业中的小型团队来说是很难负担得起的。可见,如何降低对于管理设备性能的要求,以降低成本,是一个亟待解决的问题。



技术实现要素:

本发明实施例提供一种提示方法、数据传输方法及设备,用于降低对管理设备的性能的要求。

第一方面,提供一种提示方法,应用于管理设备,包括:

接收代理设备发送的第一数据包;其中,所述第一数据包携带第一数据,所述第一数据是由客户端设备发送给所述代理设备的数据;

根据所述第一数据包携带的时间信息,计算所述第一数据从所述客户端设备经所述代理设备发送到所述管理设备的时长;所述时间信息包括所述客户端设备向所述代理设备发送所述第一数据的时刻;

判断计算得到的时长是否大于第一预设时长;其中,所述第一预设时长为数据从所述客户端设备经由所述代理设备发送到所述管理设备的合理时长;

如果所述第一时长大于所述第一预设时长,向所述代理设备发送第一信息,以通过所述代理设备将所述第一信息发送给所述客户端设备;其中,所述第一信息用于提示所述客户端设备更换代理设备。

可选的,所述时间信息还包括所述代理设备从所述客户端设备接收所述第一数据的时刻,以及所述代理设备向所述管理设备发送所述第一数据包的时刻;计算所述第一数据从所述客户端设备经所述代理设备发送到所述管理设备的时长,包括:

计算第一时长;其中,所述第一时长为所述第一数据包从所述代理设备发送到所述管理设备的时长;

计算第二时长;其中,所述第二时长为所述第一数据从所述客户端设备发送到所述代理设备的时长;

计算所述第一时长和所述第二时长的和。

可选的,在计算所述第一时长之后,还包括:

判断所述第一时长是否大于第二预设时长;其中,所述第二预设时长为数据从所述代理设备发送到所述管理设备的合理时长;

如果所述第一时长大于所述第二预设时长,向所述代理设备发送第二信息;所述第二信息用于指示所述代理设备和所述管理设备之间的链路的质量差。

可选的,在接收代理设备发送的第一数据包之后,还包括:

获取所述第一数据包携带的第一标识,以确定所述第一数据来自所述客户端设备;其中,所述第一标识用于标识所述客户端设备。

可选的,所述第一标识包括第二标识和所述代理设备的地址;其中,所述第二标识为所述代理设备分配的用于指示第二数据包中携带的套接字的标识;所述第二数据包由所述客户端设备发送给所述代理设备,所述代理设备从所述第二数据包中提取所述第一数据并生成了所述第一数据包。

可选的,所述第一标识包括所述客户端设备的网际协议IP地址。

第二方面,提供一种数据传输方法,应用于代理设备,包括:

接收客户端设备发送的第二数据包;其中,所述第二数据包携带第一数据;

生成携带所述第一数据和第一标识的第一数据包;其中,所述第一标识用于标识所述客户端设备;

将所述第一数据包发送给管理设备。

可选的,所述第一标识包括第二标识和所述代理设备的地址;在生成携带所述第一数据和第一标识的第一数据包之前,还包括:

根据所述第二数据包携带的套接字,获取所述第二标识;其中,所述第二标识用于指示所述套接字。

可选的,所述第一标识包括所述客户端设备的网际协议IP地址。

可选的,在将所述第一数据包发送给管理设备之后,还包括:

接收所述管理设备发送的第三数据包;其中,所述第三数据包携带第二数据和所述第一标识;

根据所述第一标识获取所述客户端设备的地址;

生成携带第二数据的第四数据包;

根据所述客户端设备的地址将所述第四数据包发送给所述客户端设备。

可选的,所述第二数据携带第一信息,其中,所述第一信息用于提示所述客户端设备更换代理设备。

可选的,将所述第一数据包发送给管理设备之后,还包括:

接收所述管理设备发送的第二信息;其中,所述第二信息用于指示所述代理设备和所述管理设备之间的链路的质量差;

向所述客户端设备发送第三信息;其中,所述第三信息用于通知所述客户端设备所述代理设备和所述管理设备之间的链路的质量差。

第三方面,提供一种管理设备,包括:

接收模块,用于接收代理设备发送的第一数据包;其中,所述第一数据包携带第一数据,所述第一数据是由客户端设备发送给所述代理设备的数据;

计算模块,用于根据所述第一数据包携带的时间信息,计算所述第一数据从所述客户端设备经所述代理设备发送到所述管理设备的时长;所述时间信息包括所述客户端设备向所述代理设备发送所述第一数据的时刻;

判断模块,用于判断计算得到的时长是否大于第一预设时长;其中,所述第一预设时长为数据从所述客户端设备经由所述代理设备发送到所述管理设备的合理时长;

发送模块,用于如果所述第一时长大于所述第一预设时长,向所述代理设备发送第一信息,以通过所述代理设备将所述第一信息发送给所述客户端设备;其中,所述第一信息用于提示所述客户端设备更换代理设备。

可选的,所述时间信息还包括所述代理设备从所述客户端设备接收所述第一数据的时刻,以及所述代理设备向所述管理设备发送所述第一数据包的时刻;所述计算模块计算所述第一数据从所述客户端设备经所述代理设备发送到所述管理设备的时长,包括:

计算第一时长;其中,所述第一时长为所述第一数据包从所述代理设备发送到所述管理设备的时长;

计算第二时长;其中,所述第二时长为所述第一数据从所述客户端设备发送到所述代理设备的时长;

计算所述第一时长和所述第二时长的和。

可选的,在所述计算模块计算所述第一时长之后,所述判断模块还用于判断所述第一时长是否大于第二预设时长;其中,所述第二预设时长为数据从所述代理设备发送到所述管理设备的合理时长;

如果所述第一时长大于所述第二预设时长,所述发送模块还用于向所述代理设备发送第二信息;所述第二信息用于指示所述代理设备和所述管理设备之间的链路的质量差。

可选的,所述管理设备还包括获取模块,在所述接收模块接收代理设备发送的第一数据包之后,所述获取模块用于:

获取所述第一数据包携带的第一标识,以确定所述第一数据来自所述客户端设备;其中,所述第一标识用于标识所述客户端设备。

可选的,所述第一标识包括第二标识和所述代理设备的地址;其中,所述第二标识为所述代理设备分配的用于指示第二数据包中携带的套接字的标识;所述第二数据包由所述客户端设备发送给所述代理设备,所述代理设备从所述第二数据包中提取所述第一数据并生成了所述第一数据包。

可选的,所述第一标识包括所述客户端设备的网际协议IP地址。

第四方面,提供一种代理设备,包括:

接收模块,用于接收客户端设备发送的第二数据包;其中,所述第二数据包携带第一数据;

生成模块,用于生成携带所述第一数据和第一标识的第一数据包;其中,所述第一标识用于标识所述客户端设备;

发送模块,用于将所述第一数据包发送给管理设备。

可选的,所述代理设备还包括获取模块,所述第一标识包括第二标识和所述代理设备的地址;在所述生成模块生成携带所述第一数据和第一标识的第一数据包之前,所述获取模块用于:

根据所述第二数据包携带的套接字,获取所述第二标识;其中,所述第二标识用于指示所述套接字。

可选的,所述第一标识包括所述客户端设备的网际协议IP地址。

可选的,在所述发送模块将所述第一数据包发送给管理设备之后,

所述接收模块还用于接收所述管理设备发送的第三数据包;其中,所述第三数据包携带第二数据和所述第一标识;

所述获取模块还用于根据所述第一标识获取所述客户端设备的地址;

所述生成模块还用于生成携带第二数据的第四数据包;

所述发送模块还用于根据所述客户端设备的地址将所述第四数据包发送给所述客户端设备。

可选的,所述第二数据携带第一信息,其中,所述第一信息用于提示所述客户端设备更换所述代理设备。

可选的,在所述发送模块将所述第一数据包发送给管理设备之后,所述接收模块还用于接收所述管理设备发送的第二信息;其中,所述第二信息用于指示所述代理设备和所述管理设备之间的链路的质量差;

所述发送模块用于向所述客户端设备发送第三信息;其中,所述第三信息用于通知所述客户端设备所述代理设备和所述管理设备之间的链路的质量差。

本发明实施例提供的提示方法,通过增设代理设备,使得客户端设备通过代理设备与管理设备通信,一个代理设备可作为多个客户端设备与管理设备之间的中转设备,从而减少了可与管理设备直接进行通信的设备的数量,降低了对管理设备的性能的要求,有助于降低管理设备的成本。而且,管理设备还可以判断第一数据包从客户端设备发送到管理设备的传输时长是否大于合理传输时长,若该传输时长大于合理传输时长,则认为客户端设备和管理设备之间的链路的质量较差,如果继续通过该链路传输数据,可能传输效率较低,甚至可能出现传输错误或丢包等,因此,管理设备在这种情况下还可以提示客户端设备更换代理设备,实现了对链路的质量的实时监控以及对客户端设备的及时提醒。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例的一种应用场景的示意图;

图2为本发明实施例提供的数据传输方法的交互图;

图3为本发明实施例提供的管理设备的一种结构框图;

图4为本发明实施例提供的管理设备的一种结构框图;

图5为本发明实施例提供的代理设备的一种结构框图;

图6为本发明实施例提供的代理设备的一种结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。

本发明实施例中,管理设备和代理设备都可以通过服务器或个人计算机(PC)等设备来实现,客户端设备可以通过手机、PC或平板电脑(PAD)等设备来实现,本发明实施例对管理设备、代理设备和客户端设备的类型等不作限制。

请参见图1,介绍本发明实施例的一种应用场景。图1中,以管理设备30和代理设备20都是PC、客户端设备10是手机为例,客户端设备10通过代理设备20与管理设备30通信。在实际应用中,与管理设备30相连的代理设备20可以不止一个,与同一个代理设备20相连的客户端设备10也可以不止一个。在图1中,以代理设备20和客户端设备10均为一个为例。

为了更好的理解上述技术方案,下面将结合说明书附图对上述技术方案进行详细的说明。

请参见图2,本发明一实施例提供一种数据传输方法,以应用在图1所示的场景中为例。该方法的流程描述如下。

S201:客户端设备10向代理设备20发送第二数据包,其中,第二数据包携带第一数据。则代理设备20接收客户端设备10发送的第二数据包。

在本发明实施例中,客户端设备10如果要向管理设备30发送第一数据,则客户端设备10先将第一数据先发送给代理设备20,代理设备20再将第一数据发送给管理设备30。例如,客户端设备10将第一数据携带在第二数据包中发送给代理设备20,代理设备20解析第二数据包,得到第一数据,再将第一数据重新进行封装,得到第一数据包,并将第一数据包发送给管理设备30。如果有多个客户端设备10,这些客户端设备10都会先将数据发送给代理设备20,再由代理设备20将数据发送给管理设备30,这样,降低了直接与管理设备30通信的设备的数量,减少了管理设备30需要为直接与其通信的设备分配的资源,降低了对管理端性能的要求。

在本发明实施例中,如果与管理设备30相连的代理设备20不止一个,客户端设备10可以先选取一个代理设备20,通过该代理设备20与管理设备30通信,即向该代理设备20发送第二数据包。客户端设备10选取代理设备20的方式,可以是:

客户端设备10连接登录设备,并从登录设备获取最新的代理设备20列表。其中,代理设备20列表中包括至少一个代理设备20的地址。客户端设备10向代理设备20列表中的每个代理设备20分别发送信息,以测试每个代理设备20的响应时间,再选取响应时间最短的代理设备20。

通过以上方式可以令客户端设备10选择响应速度较快的代理设备20建立连接,进一步提高客户端设备10的工作效率。

选取代理设备20之后,客户端设备10封装第一数据,生成第二数据包,然后将第二数据包发送给代理设备20。

S202:代理设备20生成携带第一数据和第一标识的第一数据包。其中,第一标识用于标识客户端设备10。

由于客户端设备10并不直接与管理设备30通信,为了令管理设备30分辨接收到的数据来自哪个客户端设备10,在可能的实施过程中,代理设备20在接收第二数据包并提取出第一数据后,可以在重新封装第一数据得到的第一数据包中添加用于标识客户端设备10的第一标识,然后将第一数据包发送给管理设备30,以使得管理设备30在接收第一数据包之后,根据第一标识能够确定第一数据来自客户端设备10,方便管理设备30对客户端设备10发送的数据进行记录,以及再向客户端设备10发送数据。

其中,第一标识可以包括不同的内容。在可能的实施方式中,第一标识包括第二标识和代理设备20的地址,第二标识为代理设备20分配的用于指示第二数据包中携带的套接字的标识。或者,在可能的实施方式中,第一标识包括第二数据包携带的客户端设备10的网际协议(Internet Protocol,IP)地址。下面分别介绍。

1、第一标识包括第二标识和代理设备20的地址。

代理设备20在接收客户端设备10发送的第二数据包之后,可以根据第二数据包携带的套接字,判断客户端设备10是否首次通过套接字中包括的源端口号与代理设备20建立连接。如果是首次,则为该套接字分配一个索引身份标识(Identification,ID),即第二标识,并保存该套接字与第二标识之间的对应关系。如果不是首次,则根据之前存储的套接字与索引ID之间的对应关系,获取第二标识,即与该套接字匹配的索引ID。索引ID与套接字可以为一一对应的关系。

代理设备20为每个套接字分配的标识可以是唯一的,只对应于一个套接字,尽管如此,不同的代理设备20可能会使用相同的标识代表不同的套接字,也就是说第二标识对于管理设备30来说可能不是唯一的。不过,第二标识和代理设备20的地址的组合对于管理设备30来说是唯一的,因此代理设备20可以将第二标识和代理设备20的地址的组合作为第一标识,这样管理设备30接收携带第一标识的第一数据包之后,可以根据第一标识确定第一数据来自客户端设备10。

由于代理设备20在接收客户端设备10发送的第二数据包之后,还可以根据第二数据包携带的套接字,为该套接字分配相应的资源,如内存资源、内核资源和网卡驱动管理资源等。因此,第二标识不仅可以用于标识套接字,还可以用于标识代理设备20为套接字分配的资源。这样,若客户端设备10不是首次通过套接字中包括的源端口号与代理设备20建立连接,则代理设备20根据套接字获取第二标识之后,还可以对应获取为套接字分配的资源。

若不同的客户端设备10通过代理设备20与管理设备30建立连接,代理设备20需要为每个不同的套接字分配一套资源,即为每个客户端设备10与代理设备20之间的每个连接分配一套资源,例如有十个客户端设备10,代理设备20至少要分配十套不同的资源。而管理设备30只需要为管理设备30与代理设备20之间的每个连接分配一套资源,例如,代理设备20发送给管理设备30的数据包携带的套接字都一样,都与第一数据包携带的套接字相同,则管理设备30只需要根据该套接字为该代理设备20分配一套资源。

上述做法可以令管理设备30确定接收的每个数据来自哪个客户端设备10,还可以令管理设备30在接收和处理不同的客户端设备10经代理设备20发送的数据时以及向不同的客户端设备10发送数据时,只耗费较少的资源。通过将管理设备30的资源分配负担分摊到多个代理设备20上,降低了对管理设备30的性能的要求,只需要普通的计算机作为管理设备30就可以应对大量的客户端设备10的请求,降低了花费。

2、第一标识包括第二数据包携带的客户端设备10的IP地址。

代理设备20在接收客户端设备10发送的第二数据包之后,可以将第二数据包携带的客户端设备10的IP地址作为第一标识添加到第一数据包中,然后将第一数据包发送给管理设备30。

在实际应用中,第一数据包可以是请求类型的数据包,用于请求管理设备30进行响应。例如第一数据包可以是登录请求类型的数据包、退出登录请求类型的数据包、或心跳数据包,或者第一数据包可以包括任意的业务类型的请求数据。

S203:代理设备20将第一数据包发送给管理设备30,则管理设备30接收代理设备20发送的第一数据包。

在接收第一数据包之后,管理设备30可以根据第一标识确定第一数据来自客户端设备10,并可以为第一标识分配第三标识,如第三标识为32位的随机码。第三标识用于令管理设备30标识客户端设备10,方便管理设备30记录客户端设备10发送的数据,以及向客户端设备10发送数据。其中,第三标识与第一标识一一对应。

管理设备30接收第一数据包之后,针对第一数据包进行响应,然后根据第一数据包的类型,发送用于指示响应结果的第三数据给代理设备20。若代理设备20接收到第三数据,则代理设备20再将第三数据发送给客户端设备10。例如,第一数据包是退出登录请求类型的数据包,则管理设备30可以发送用于指示客户端设备10退出相应应用登录的第三数据给代理设备20,再由代理设备20将第三数据发送给客户端设备10,然后客户端设备10再退出相应应用的登录。或者,代理设备20对第一数据包进行响应后,也可以不向代理设备20发送用于指示响应结果的数据。例如,第一数据包是心跳数据包,第一数据是该心跳数据包中携带的心跳数据,则管理设备30可以维持管理设备30与代理设备20之间的连接作为对第一数据的响应,无需发送第三数据给代理设备20。具体的,管理设备30是否要向代理设备20发送第三数据,与管理设备30的响应第一数据包的方式等因素有关,本发明实施例不作限制。

S204:管理设备30根据第一数据包携带的时间信息,计算第一数据从客户端设备10经代理设备20发送到管理设备30的时长;时间信息包括客户端设备10向代理设备20发送第一数据的时刻。

在数据传输过程中,客户端设备10和代理设备20之间的链路,或代理设备20和管理设备30之间的链路不一定始终保持良好的质量,也可能会出现问题。为了在上述两条链路中任意一条的质量出现问题时及时对客户端设备10进行提醒,管理设备30可以在接收第一数据包之后对上述两条链路的质量进行判断,如果上述两条链路中任意一条链路的质量差,则管理设备30向代理设备20发送第一信息,代理设备20再将第一信息发送给客户端设备10。关于管理设备30如何判断链路质量,将在下文中进行介绍。其中,第一信息用于提示客户端设备10更换代理设备20,从而及时提高客户端设备10发送给管理设备30的数据的传输效率。

下面介绍管理设备30如何对上述两条链路的质量进行判断。

第一数据包可以携带时间信息,该时间信息可以包括客户端设备10向代理设备20发送第一数据的时刻。在可能的实施方式中,管理设备30对上述两条链路的质量进行判断,一种方式为:管理设备30可以根据客户端设备10向代理设备20发送第一数据的时刻以及管理设备30接收第一数据包的时刻,计算第一数据从客户端设备10经代理设备20发送到管理设备30的时长。

为了更准确地计算数据从客户端设备10经代理设备20发送到管理设备30的传输时长,在可能的实施方式中,第一数据包携带的时间信息还可以包括代理设备20从客户端设备10接收第一数据的时刻,以及代理设备20向管理设备30发送第一数据包的时刻。管理设备30可以根据该时间信息,分别计算第一时长和第二时长,再计算第一时长和第二时长的和。其中,第一时长为第一数据包从代理设备20发送到管理设备30的时长,第二时长为第一数据从客户端设备10发送到代理设备20的时长。这样计算得到的时长排除了代理设备20对第一数据进行处理并生成第一数据包的时长,只包括第一数据在上述两条链路中传输的时长,使得得到的结果更加准确。

S205:管理设备30判断计算得到的时长是否大于第一预设时长。其中,第一预设时长为数据从客户端设备10经由代理设备20发送到管理设备30的合理时长。

如果上述计算得到的时长大于第一预设时长,则管理设备30确定上述两条链路中至少一条链路的质量差。其中,第一预设时长为数据从客户端设备10经由代理设备20发送到管理设备30的合理时长。第一预设时长可以是一个根据上述两条链路的实际情况预先设定的值,例如第一预设时长位于[2ms,6ms]范围内。

或者,管理设备30对上述两条链路的质量进行判断,另一种方式为:管理设备30根据客户端设备10向代理设备20发送第一数据的时刻及管理设备30接收第一数据包的时刻,计算第一数据从客户端设备10经代理设备20发送到管理设备30的时长。再根据最近一段时间内管理设备30每次接收的、由客户端设备10通过代理设备20转发的数据的传输时长,计算在该最近一段时间内管理设备30接收的、从客户端设备10通过代理设备20转发的数据的平均传输时长。该最近一段时间可以根据需要提前设定,本发明实施例对此不做限制。其中,管理设备30接收第一数据包的时刻可以是该最近一段时间的终止时刻。如果该平均传输时长大于第三预设时长,则确定上述两条链路中的至少一条链路的质量差。其中,第三预设时长可以是一个根据上述两条链路的实际情况预先设定的值,且可以与第一预设时长相同。

在可能的实施方式中,在计算出第一时长之后,管理设备30可以首先根据第一时长,判断代理设备20与管理设备30之间的链路的质量,并在确定该链路的质量差时通过发送第二信息告知代理设备20,其中,第二信息用于指示代理设备20和管理设备30之间的链路的质量差。在接收第二信息后,代理设备20可以进一步将该链路的质量差的信息告知经该代理设备20与管理设备30通信的客户端设备10,以令客户端设备10及时更换代理设备20。这样做,首先,如果管理设备30先计算第一时长,则可能不必再计算第二时长,从而减少了管理设备30的工作量,另外还可以令代理设备20将代理设备20和管理设备30之间的链路的质量差的消息及时告知所有与代理设备20相连的客户端设备10,提高处理效率。

在可能的实施方式中,管理设备30判断代理设备20与管理设备30之间的链路的质量,一种方式为:管理设备30判断第一时长是否大于第二预设时长,其中,第二预设时长为数据从代理设备20发送到管理设备30的合理时长。如果第一时长大于第二预设时长,则确定代理设备20与管理设备30之间的链路的质量差。其中,第二预设时长为数据从代理设备20发送到管理设备30的合理时长。第二预设时长可以是一个根据代理设备20和管理设备30之间的链路的实际情况预先设定的值。

或者,在可能的实施方式中,管理设备30判断代理设备20与管理设备30之间的链路的质量,另一种方式为:管理设备30根据最近一段时间内管理设备30从代理设备20每次接收的数据的传输时长,计算在该最近一段时间内管理设备30接收的从代理设备20发送的数据的平均传输时长。该最近一段时间可以根据需要提前设定,本发明实施例对此不做限制。其中,管理设备30接收第一数据包的时刻可以是该最近一段时间的终止时刻。管理设备30判断该平均传输时长是否大于第四预设时长,如果该平均传输时长大于第四预设时长,则管理设备30确定代理设备20与管理设备30之间的链路的质量差。其中,第四预设时长可以是一个根据代理设备20和管理设备30之间的链路的实际情况预先设定的值,且可以与第二预设时长相同。

S206:如果第一时长大于第一预设时长,管理设备30向代理设备20发送第一信息,以通过代理设备20将第一信息发送给客户端设备10。其中,第一信息用于提示客户端设备10更换代理设备20。

在可能的实施方式中,在完成对第一数据包的处理以及判断链路质量之后,管理设备30可以将用于标识客户端设备10的第三标识转换为第一标识,再生成第三数据包发送给管理设备30。其中,第三数据包携带第二数据和第一标识。第二数据可以包括用于指示响应结果的第三数据和/或用于示客户端设备10更换代理设备20的第一信息。

如果第一标识包括第二标识,代理设备20可以接收管理设备30发送的第三数据包并根据第一标识获取套接字,然后根据套接字获取客户端设备10的地址。如果第一标识包括客户端设备10的地址,代理设备20可以接收管理设备30发送的第三数据包并根据第一标识获取客户端设备10的地址。

代理设备20还可以从第三数据包中解析出第二数据,重新封装生成携带第二数据的第四数据包,并根据客户端设备10的地址将第四数据包发送给客户端设备10。

本发明实施例提供的数据传输方法,通过增设代理设备20,使得客户端设备10通过代理设备20与管理设备30通信,一个代理设备20可作为多个客户端设备10与管理设备30之间的中转设备,从而减少了可与管理设备30直接进行通信的设备的数量,降低了对管理设备30的性能的要求,有助于降低管理设备30的成本。而且,管理设备30还可以判断第一数据包从客户端设备10发送到管理设备30的传输时长是否大于合理传输时长,若该传输时长大于合理传输时长,则认为客户端设备10和管理设备30之间的链路的质量较差,如果继续通过该链路传输数据,可能传输效率较低,甚至可能出现传输错误或丢包等,因此,管理设备30在这种情况下还可以提示客户端设备10更换代理设备20,实现了对链路的质量的实时监控以及对客户端设备10的及时提醒。

请参见图3,基于同一发明构思,本发明实施例提供一种管理设备30,包括:

接收模块301,用于接收代理设备20发送的第一数据包;其中,第一数据包携带第一数据,第一数据是由客户端设备10发送给代理设备20的数据;

计算模块302,用于根据第一数据包携带的时间信息,计算第一数据从客户端设备10经代理设备20发送到管理设备30的时长;时间信息包括客户端设备10向代理设备20发送第一数据的时刻;

判断模块303,用于判断计算得到的时长是否大于第一预设时长;其中,第一预设时长为数据从客户端设备10经由代理设备20发送到管理设备30的合理时长;

发送模块304,用于如果第一时长大于第一预设时长,向代理设备20发送第一信息,以通过代理设备20将第一信息发送给客户端设备10;其中,第一信息用于提示客户端设备10更换代理设备20。

可选的,时间信息还可以包括代理设备20从客户端设备10接收第一数据的时刻,以及代理设备20向管理设备30发送第一数据包的时刻;计算模块302计算第一数据从客户端设备10经代理设备20发送到管理设备30的时长,具体可以通过以下方式实现:

计算第一时长;其中,第一时长为第一数据包从代理设备20发送到管理设备30的时长;计算第二时长;其中,第二时长为第一数据从客户端设备10发送到代理设备20的时长;计算第一时长和第二时长的和。

可选的,在计算模块302计算第一时长之后,判断模块303还用于判断第一时长是否大于第二预设时长;其中,第二预设时长为数据从代理设备20发送到管理设备30的合理时长;

如果第一时长大于第二预设时长,发送模块304还用于向代理设备20发送第二信息;第二信息用于指示代理设备20和管理设备30之间的链路的质量差。

可选的,该管理设备30还可以包括获取模块401,请参见图4,接收模块301接收代理设备20发送的第一数据包之后,获取模块401可以用于:

获取第一数据包携带的第一标识,以确定第一数据来自客户端设备10;其中,第一标识用于标识客户端设备10。

可选的,第一标识可以包括第二标识和代理设备20的地址;其中,第二标识为代理设备20分配的用于指示第二数据包中携带的套接字的标识;第二数据包由客户端设备10发送给代理设备20,代理设备20从第二数据包中提取第一数据并生成了第一数据包。

可选的,第一标识包括客户端设备10的网际协议IP地址。

本发明实施例提供的管理设备30可以用于执行上述图2所示的实施例所提供的数据传输方法,因此,对于该管理设备30中的各单元所实现的功能等,可参考如前数据传输方法部分的描述,不多赘述。

请参见图5,基于同一发明构思,本发明实施例提供一种代理设备20,包括:

接收模块301,用于接收客户端设备10发送的第二数据包;其中,第二数据包携带第一数据;

生成模块501,用于生成携带第一数据和第一标识的第一数据包;其中,第一标识用于标识客户端设备10;

发送模块304,用于将第一数据包发送给管理设备30。

可选的,代理设备20还可以包括获取模块401,请参见图6,第一标识包括第二标识和代理设备20的地址;在生成模块501生成携带第一数据和第一标识的第一数据包之前,获取模块401可以用于:

根据第二数据包携带的套接字,获取第二标识;其中,第二标识用于指示套接字。

可选的,第一标识包括客户端设备10的网际协议IP地址。

可选的,在发送模块304将第一数据包发送给管理设备30之后,

接收模块301还可以用于接收管理设备30发送的第三数据包;其中,第三数据包携带第二数据和第一标识;

获取模块401还可以用于根据第一标识获取客户端设备10的地址;

生成模块501还可以用于生成携带第二数据的第四数据包;

发送模块304还可以用于根据客户端设备10的地址将第四数据包发送给客户端设备10。

可选的,第二数据可以携带第一信息,其中,第一信息用于提示客户端设备10更换代理设备20。

可选的,在发送模块304将第一数据包发送给管理设备30之后,接收模块301还可以用于接收管理设备30发送的第二信息;其中,第二信息用于指示代理设备20和管理设备30之间的链路的质量差;

发送模块304可以用于向客户端设备10发送第三信息;其中,第三信息用于通知客户端设备10和管理设备30之间的链路的质量差。

本发明实施例提供的代理设备20可以用于执行上述图2所示的实施例所提供的数据传输方法,因此,对于该代理设备20中的各单元所实现的功能等,可参考如前数据传输方法部分的描述,不多赘述。

本发明实施例提供的数据传输方法,通过增设代理设备20,使得客户端设备10通过代理设备20与管理设备30通信,一个代理设备20可作为多个客户端设备10与管理设备30之间的中转设备,从而减少了可与管理设备30直接进行通信的设备的数量,降低了对管理设备30的性能的要求,有助于降低管理设备30的成本。而且,管理设备30还可以判断第一数据包从客户端设备10发送到管理设备30的传输时长是否大于合理传输时长,若该传输时长大于合理传输时长,则认为客户端设备10和管理设备30之间的链路的质量较差,如果继续通过该链路传输数据,可能传输效率较低,甚至可能出现传输错误或丢包等,因此,管理设备30在这种情况下还可以提示客户端设备10更换代理设备20,实现了对链路的质量的实时监控以及对客户端设备10的及时提醒。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述提示方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和提示方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,设备,或者网络设备等)或处理器(processor)执行本发明各个实施例提示方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存驱动器(Universal Serial Bus flash drive,USB flash drive)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用以对本发明的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的提示方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1