一种基于P2P的服务通信方法、装置及系统与流程

文档序号:21318678发布日期:2020-06-30 20:49阅读:210来源:国知局
一种基于P2P的服务通信方法、装置及系统与流程
本申请涉及监控领域,特别涉及一种基于p2p的服务通信方法、装置及系统。
背景技术
:在报警中心的业务场景中,一个报警中心会管理很多家庭或者商铺的监控设备,监控设备可以提供一个或多个服务。报警中心可以接收来自监控设备的报警,报警中心可以通知用户。用户使用终端请求该监控设备提供服务。例如监控设备可以是安装在家中的摄像头等,可以提供视频监控等服务,监控设备在检测到有人员闯入家时向报警中心发送报警,报警中心通知用户,用户可以使用手机或电脑等终端请求监控设备提供监控视频。终端可以建立与监控设备之间的点对点(peer-to-peer,p2p)链路,使用该p2p链路请求监控设备提供服务,监控设备使用该p2p链路向终端发送该服务的数据。其中,当该终端向监控设备请求多个服务时,终端需要建立与监控设备之间的多条p2p链路,在一条p2p链路上向监控设备请求一个服务。当多个终端向监控设备请求服务时,每个终端都与监控设备建立p2p链路。这样导致监控设备需要建立大量的p2p链路,导致监控设备需要大量资源维护p2p链路,使网络延时增加。技术实现要素:本申请实施例提供了一种基于p2p的服务通信方法、装置及系统,以减小网络延时。所述技术方案如下:一方面,本申请提供了一种基于p2p的服务通信方法,所述方法包括:接收第一报文,所述第一报文包括第一标识和第一数据,所述第一标识用于标识一设备和所述设备中的服务,所述第一数据用于请求所述设备中的用于提供所述服务的服务模块执行操作;确定所述第一标识所标识的服务对应的设备标识和服务类型;在与所述设备标识对应的设备之间存在p2p链路时,通过所述p2p链路向所述设备发送第二报文,所述第二报文包括所述服务类型和所述第一数据。另一方面,本申请提供了一种基于p2p的服务通信方法,所述方法包括:p2p模块通过设备与代理服务器之间的p2p链路接收第二报文,所述设备包括所述p2p模块和至少一个服务模块,每个服务模块用于提供服务,所述第二报文是所述代理服务器在终端请求所述设备提供服务时发送的,所述第二报文包括所述终端请求的服务的服务类型和第一数据;所述p2p模块通过第二连接向目标服务模块发送第五报文,所述目标服务模块是与所述服务类型相对应的服务模块,所述第五报文包括所述第一数据,所述第一数据用于所述目标服务模块获取属于所述服务的第二数据,所述第二连接为所述p2p模块与目标服务模块之间的虚拟连接。另一方面,本申请提供了一种基于p2p的服务通信装置,所述装置包括:接收模块,用于接收第一报文,所述第一报文包括第一标识和第一数据,所述第一标识用于标识一设备和所述设备中的服务,所述第一数据用于请求所述设备中的用于提供所述服务的服务模块执行操作;确定模块,用于确定所述第一标识所标识的服务对应的设备标识和服务类型;发送模块,用于在与所述设备标识对应的设备之间存在p2p链路时,通过所述p2p链路向所述设备发送第二报文,所述第二报文包括所述服务类型和所述第一数据。另一方面,本申请提供了一种基于p2p的服务通信装置,所述装置包括:接收模块,用于通过设备与代理服务器之间的p2p链路接收第二报文,所述设备包括所述p2p模块和至少一个服务模块,每个服务模块用于提供服务,所述第二报文是所述代理服务器在终端请求所述设备提供服务时发送的,所述第二报文包括所述终端请求的服务的服务类型和第一数据;发送模块,用于通过第二连接向目标服务模块发送第五报文,所述目标服务模块是与所述服务类型相对应的服务模块,所述第五报文包括所述第一数据,所述第一数据用于请求所述目标服务模块执行操作,所述第二连接为所述p2p模块与目标服务模块之间的虚拟连接。另一方面,本申请提供了一种基于p2p的服务通信系统,所述系统包括如一方面所述的装置和如另一方面所述的装置。另一方面,本申请提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述基于p2p的服务方法的指令。另一方面,本申请提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储至少一条指令,所述至少一条指令被所述处理器加载并执行,以实现上述基于p2p的服务方法。本申请实施例提供的技术方案可以包括以下有益效果:由于在接收到第一报文,确定第一报文中包括的第一标识所标识的服务对应的设备标识和服务类型,这样在与设备标识对应的设备之间存在p2p链路时,通过该p2p链路向设备发送第二报文,第二报文包括该服务类型和第一数据,如此设备只需要建立一条p2p链路即可,避免了给设备建立大量的p2p链路,只需要很少资源来维护该一条p2p链路,避免网络延时增加的现象发生。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1是本申请实施例提供的一种基于p2p的服务通信系统结构示意图;图2是本申请实施例提供的另一种基于p2p的服务通信系统结构示意图;图3是本申请实施例提供的另一种基于p2p的服务通信系统结构示意图;图4是本申请实施例提供的一种基于p2p的服务通信方法流程图;图5是本申请实施例提供的另一种基于p2p的服务通信方法流程图;图6是本申请实施例提供的另一种基于p2p的服务通信方法流程图;图7是本申请实施例提供的一种基于p2p的服务通信装置结构示意图;图8是本申请实施例提供的另一种基于p2p的服务通信装置结构示意图;图9是本申请实施例提供的一种基于p2p的服务通信系统结构示意图;图10是本申请实施例提供的一种终端结构示意图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。参见图1,本申请实施例提供了一种基于p2p的服务通信系统,该通信系统包括:终端1、代理服务器2和设备3,设备3可以提供至少一种服务,代理服务器2可以为设备3中的每个服务分配第一标识,将设备3的设备标识、设备3中的每个服务对应的服务类型和第一标识对应保存在设备标识、服务类型与第一标识的对应关系。例如,参见图1,设备3可以提供三种服务,该三种服务分别为网络(web)服务、实时流传输协议(realtimestreamingprotocol,rtsp)服务和私有协议服务。代理服务器2为设备3的web服务、rtsp服务和私有协议服务分配第一标识分别为10080、10554和18000。假设,设备3的设备标识为894eaw,将894eaw、web服务对应的第一标识“10080”和服务类型“web协议”对应保存在如下下表1所示的设备标识、服务类型与第一标识的对应关系中。将894eaw、rtsp服务对应的第一标识“10554”和服务类型“rtdp协议”对应保存在如下下表1所示的设备标识、服务类型与第一标识的对应关系中。将894eaw、私有协议服务对应的第一标识“18000”和服务类型“私有协议”对应保存在如下下表1所示的设备标识、服务类型与第一标识的对应关系中。表1设备标识服务类型第一标识894eawweb协议10080894eawrtsp协议10554894eaw私有协议18000………………设备3中的每个服务对应一个服务类型,服务对应的服务类型可以是该服务对应的协议类型。例如,服务类型可以为rtsp、超文本传输协议(hypertexttransferprotocol,http)和私有协议,rtsp、http和私有协议分别与设备3中的rtsp服务、web服务和私有协议服务一一对应。参见图1,代理服务器2中保存有设备标识、服务类型与第一标识的对应关系22和p2p模块21。设备3包括p2p模块31和至少一个服务模块32,每个服务模块32用于提供服务。对于每个服务模块,该服务模块与该服务模块提供的服务对应的服务类型相对应。例如,图2所示的设备3中包括web服务模块321、rtsp服务模块322和私有协议模块323,web服务模块321用于提供web服务,与服务类型“http”相对应;rtsp服务模块322用于提供rtsp服务,与服务类型“rtsp”相对应;私有协议模块323用于提供私有协议服务,与服务类型“私有协议”相对应。参见图2,该通信系统还可以包括报警中心4,报警中心4可以与每个设备3和每个终端1相连。设备3可以向报警中心4报警,报警中心4可以通知终端1,使终端1请求与设备3通信。例如,设备3可以是安装在家中的摄像头或门禁系统等,可以提供视频监控等服务,设备3在检测到有人员闯入时向报警中心4发送报警,报警中心4可以向终端1发送通知,该通知包括设备3的设备标识,终端1可以为手机或电脑等终端。终端1可以接收该通知后,向代理服务器2发送查询请求,该查询请求携带设备3的设备标识和终端1请求的服务对应的服务类型。代理服务器2接收该查询请求,根据该查询请求携带的设备的设备标识和服务类型,从设备标识、服务类型与第一标识的对应关系中获取对应的第一标识,向终端1发送查询响应,该查询响应携带该第一标识。可选的,终端1接收该查询响应后,可以与代理服务器2之间可以建立用于传输该服务类型对应服务的第一连接。第一连接可以为传输控制协议(transmissioncontrolprotocol,tcp)连接或http连接等。终端1接收该查询响应,通过第一连接向代理服务器2发送格式为第一格式的第一报文,第一报文包括该第一标识和第一数据。第一标识用于标识设备3和设备3中的一种服务,第一数据用于请求设备3中的用于提供该服务的服务模块执行操作。第一数据可以是用于请求该服务的请求消息或者可以是用于升级该服务模块的升级包,例如,该请求消息可以是web页面的请求消息、视频请求消息等。在第一数据为请求消息时,设备3中的用于提供该服务的服务模块可以提供该请求消息请求的数据。在第一数据为升级包时,设备3中的用于提供该服务的服务模块基于第一数据进行升级。可选的,第一报文的报文头包括该第一标识,第一报文的净荷部分包括第一数据。第一格式可以为实时传输协议(real-timetransportprotocol,rtp)或rtsp的报文格式。代理服务器2接收第一报文,根据该第一标识,从设备标识、服务类型与第一标识的对应关系中获取终端1请求的服务对应的服务类型和设备3的设备标识,根据该设备标识,判断与设备3是否存在p2p链路。在与设备3之间存在p2p链路时,通过该p2p链路向设备3发送第二报文,第二报文包括该服务类型。在与设备3之间不存在p2p链路时,建立与设备3之间的p2p链路,通过该建立的p2p链路向设备3发送第二报文,第二报文包括该服务类型和第一数据。作为一种示例,代理服务器2可以保存有设备标识与链路标识的对应关系,该对应关系中的每条记录包括一设备标识和与该一设备标识对应的设备之间当前存在的p2p链路的链路标识。例如,参见下表2所示的设备标识与链路标识的对应关系,该对应关系中的p2p链路的链路标识可以是该p2p链路对应的端口号。表2设备标识链路标识894eaw10090…………这样,代理服务器2可以根据设备3的设备标识,查询设备标识与链路标识的对应关系,在查询出对应的链路标识时,确定与设备3之间存在该链路标识对应的p2p链路,在没有查询出对应的链路标识时,确定与设备3之间不存在p2p链路。作为一种示例,代理服务器2中包括当前已存在的p2p链路对应的寄存器,p2p链路对应的寄存器用于保存与代理服务器建立该p2p链路的设备的设备标识。例如,对于设备标识“894eaw”对应的设备,代理服务器2中包括与该设备之间的p2p链路对应的寄存器,该寄存器保存该设备标识“894eaw”。这样,代理服务器根据设备3的设备标识,查找当前已存在的p2p链路对应的寄存器;在查询出保存有设备3的设备标识的寄存器时,确定与设备3之间存在查询出的寄存器对应的p2p链路;在没有查询出保存有设备3的设备标识的寄存器时,确定与设备3之间不存在p2p链路。参见图3,该通信系统还包括p2p服务器5,代理服务器2在判断出与设备3之间不存在p2p链路时,通过p2p服务器5建立与设备3之间的p2p链路。代理服务器2接收第一报文后,还可以分配第二标识,第二标识用于标识终端1和终端1请求的服务。代理服务器2将第二标识、该设备标识和终端1与代理服务器2之间的第一连接的连接标识保存在第二标识、设备标识与连接标识的对应关系中;以及通过该p2p链路向设备3发送格式为第二格式的第二报文,第二报文的报文头包括第二标识和该服务类型,第二报文的净荷部分包括第一数据。第二格式与第一格式不同,第二格式可以为在p2p链路上传输的报文格式,第一格式可以为在第一连接上传输的报文格式。可选的,代理服务器2中的p2p模块21可以通过该p2p链路向设备3发送格式为第二格式的第二报文。设备3的p2p模块31通过该p2p链路接收第二报文,确定与该服务类型相对应的目标服务模块,通过p2p模块31与目标服务模块之间的第二连接向目标服务模块发送格式为第一格式的第五报文,第五报文包括第一数据,以使目标服务模块根据第一数据获取属于该服务的第二数据,第二连接为p2p模块31与目标服务模块之间的虚拟连接。可选的,第五报文的净荷部分包括所述第一数据;p2p模块31将第二标识和第二连接的连接标识保存在第二标识与连接标识的对应关系中。第二连接的连接类型与第一连接的连接类型相同,所以第一格式和在第二连接上传输报文的报文格式相同。目标服务模块接收第五报文后,可以向终端1发送第二数据,第二数据属于该服务类型的服务,发送过程如下:目标服务模块通过p2p模块31与目标服务模块之间的第二连接向p2p模块31发送格式为第一格式的第六报文,第六报文的净荷部分包括第二数据。p2p模块31根据第二连接的连接标识,从第二标识与连接标识的对应关系中获取第二标识;通过该p2p链路向代理服务器2发送格式为第二格式的第三报文,第三报文的报文头包括第二标识,第三报文的净荷部分包括第二数据。代理服务器2通过该p2p链路接收设备3发送的第三报文,第三报文的报文头包括第二标识,第三报文的净荷部分包括第二数据;根据第二标识和设备3的设备标识,从第二标识、设备标识与连接标识的对应关系中获取第一连接的连接标识;通过第一连接的连接标识对应的第一连接向终端1发送格式为第一格式的第四报文,第四报文的净荷部分包括第二数据。第一连接的连接标识可以为第一连接的连接套接字,第二连接的连接标识可以为第二连接的连接套接字。参见图4,本申请提供了一种基于p2p的服务通信方法,所述方法包括:步骤101:接收第一报文,第一报文包括第一标识和第一数据,第一标识用于标识一设备和该设备中的服务,第一数据用于请求该设备中的用于提供该服务的服务模块执行操作。步骤102:确定第一标识所标识的服务对应的设备标识和服务类型。步骤103:在与该设备标识对应的设备之间存在p2p链路时,通过该p2p链路向该设备发送第二报文,第二报文包括该服务类型和第一数据。在本申请实施例中,接收到第一报文,确定第一报文中的第一标识所标识的服务对应的设备标识和服务类型,这样在与设备标识对应的设备之间存在p2p链路时,通过该p2p链路向设备发送第二报文,第二报文包括该服务类型和第一数据,如此设备只需要建立一条p2p链路即可,避免了给设备建立大量的p2p链路,导致网络延时增加的现象发生。参见图5,本申请提供了一种基于p2p的服务通信方法,所述方法应用于包括p2p模块和至少一个服务模块的设备,每个服务模块用于提供服务,所述方法包括:步骤201:p2p模块通过设备与代理服务器之间的p2p链路接收第二报文,该设备包括该p2p模块和至少一个服务模块,每个服务模块用于提供服务,第二报文是代理服务器在终端请求该设备提供服务时发送的,第二报文包括终端请求的服务的服务类型和第一数据。步骤202:p2p模块通过第二连接向目标服务模块发送第五报文,目标服务模块是与该服务类型相对应的服务模块,第五报文包括第一数据,第一数据用于请求目标服务模块执行操作,第二连接为p2p模块与目标服务模块之间的虚拟连接。在本申请实施例中,p2p模块通过该设备与代理服务器之间的一条p2p链路接收第二报文,这样设备只需要建立一条p2p链路即可,避免了给设备建立大量的p2p链路,导致网络延时增加的现象发生。参见图6,本申请提供了一种基于p2p的服务通信方法,该通信方法可以应用于如图1所示的通信系统,包括:步骤301:终端向代理服务器发送查询请求,该查询请求携带设备的设备标识和终端请求的服务对应的服务类型。参见图2,该通信系统包括报警中心,报警中心可以接收设备的报警,报警中心通知用户,使该用户对设备的报警进行处理。例如,报警中心向用户对应的终端发送通知,该通知包括该设备的设备标识。终端接收该通知,并向用户显示该通知。用户可以向终端输入请求设备提供的服务对应的服务类型。终端通过第一连接向代理服务器发送查询请求,该查询请求携带该设备的设备标识和终端请求的服务对应的服务类型。步骤302:代理服务器接收该查询请求,根据该查询请求携带的设备标识和服务类型,获取第一标识,向监控终端发送查询响应,该查询响应携带第一标识。第一标识用于标识该设备和该设备中提供的与该服务类型相对应的服务。代理服务器可以事先为设备中的每个服务分配第一标识,将设备的设备标识、设备中的每个服务对应的服务类型和第一标识对应保存在设备标识、服务类型与第一标识的对应关系。可选的,该设备在上电启动时可以向代理服务器发送用于分配第一标识的注册请求消息,该注册请求消息中包括该设备中的每个服务对应的服务类型。代理服务器接收该注册请求消息,根据该设备中的每个服务对应的服务类型,为该设备中的每个服务分配第一标识,该服务的第一标识可以在代理服务器中唯一标识该服务。作为一种示例,为服务分配的第一标识可以为端口号。代理服务器可以基于该端口号建立与终端之间的第一连接。终端与代理服务器之间的第一连接可以为tcp连接或rtsp连接等。在本步骤中,代理服务器根据该查询请求携带的设备标识和服务类型,从设备标识、服务类型与第一标识的对应关系获取对应的第一标识,向终端发送查询响应,该查询响应携带该第一标识。终端接收第一标识后,使用第一标识向设备发送报文。详细实现过程如下:步骤303:终端向代理服务器第一报文,第一报文包括第一标识和第一数据。第一报文的报文头可以包括第一标识,第一报文的净荷部分可以包括第一数据。第一报文的报文头中包括端口号字段,该端口号字段携带第一标识。第一报文的报文格式为第一格式,第一格式可以为rtp或rtsp的报文格式。第一标识标识用于标识一设备和该设备中的服务。第一数据可以用于请求该设备中的用于提供该服务的服务模块执行操作。第一数据可以是请求消息,例如可以是web页面的请求消息、视频请求消息等。第一数据用于请求该服务模块提供属于该服务的数据。或者,第一数据为用于升级该服务模块的升级包,第一数据用于请求该服务模块进行升级。参见下表3,第一格式的第一报文的报文头和净荷部件,第一报文的报文头包括互联网协议地址(internetprotocoladdress,ip)头和tcp头。表3ip头tcp头净荷部分第一格式可以为在第一连接上传输的报文的报文格式。第一格式可以为rtp或rtsp协议的报文格式。所以终端可以通过第一连接向代理服务器发送第一格式的第一报文。步骤304:代理服务器接收第一报文,确定第一标识所标识的服务对应的设备标识和服务类型。在本步骤中,代理服务器可以根据第一标识从第一标识、服务类型与设备标识的对应关系中获取终端请求的服务对应的服务类型和设备的设备标识。例如,假设第一报文的报文头中包括第一标识为10554,代理服务器根据该第一标识10554,从如表1所示的设备标识、服务类型与第一标识的对应关系中获取对应的设备的设备标识为“894eaw”和服务类型为rtsp协议。步骤305:代理服务器分配第二标识,第二标识用于标识该终端和终端请求的服务。终端可以请求设备提供多个服务,代理服务器可以在该p2p链路上传输用于请求每个服务的报文。或者,多个终端可以请求设备提供服务,代理服务器可以在该p2p链路上传输每个终端请求服务的报文。所以该一条p2p链路可以用于传输多个服务的数据或多个终端请求的服务的数据。对于每个终端请求的服务,可以使用第二标识来标识该终端和该终端提供的服务,从而可以使用第二标识来区分不同终端请求的不同服务,以实现在该一条p2p链路上传输多个服务的数据或多个终端请求服务的数据。步骤306:代理服务器将第二标识、该设备标识、以及终端与代理服务器之间的第一连接的连接标识保存在第二标识、设备标识与连接标识的对应关系中。可选的,第一连接的连接标识可以为第一连接的连接套接字等。步骤307:代理服务器根据该设备标识,判断与设备是否存在p2p链路,在与设备之间存在p2p链路时,执行如下步骤308,在与设备之间不存在p2p链路时,建立与设备之间的p2p链路。代理服务器可以保存有设备标识与链路标识的对应关系,该对应关系中的每条记录包括一设备标识和与该一设备标识对应的设备之间当前存在的p2p链路的链路标识。这样,在本步骤中:代理服务器可以根据该设备的设备标识,查询设备标识与链路标识的对应关系,在查询出对应的链路标识时,确定与设备之间存在该链路标识对应的p2p链路,在没有查询出对应的链路标识时,确定与设备之间不存在p2p链路。或者,代理服务器中包括当前已存在的p2p链路对应的寄存器,p2p链路对应的寄存器用于保存与代理服务器建立该p2p链路的设备的设备标识。这样,在本步骤中:代理服务器根据设备的设备标识,查找当前已存在的p2p链路对应的寄存器;在查询出保存有设备的设备标识的寄存器时,确定与设备之间存在查询出的寄存器对应的p2p链路;在没有查询出保存有设备的设备标识的寄存器时,确定与设备之间不存在p2p链路。步骤308:代理服务器通过该p2p链路向设备发送第二报文,第二报文包括第二标识、该服务类型和第一数据。第二报文的报文头包括第二标识和该服务类型,第二报文的净荷部分包括第一数据。第二报文的报文格式可以为第二格式,第一格式与第二格式不同,第二格式可以为在p2p链路上传输的报文格式。参见下表4,第二格式的第二报文的报文头和净荷部分,第二报文的报文头包括ip头、用户数据报协议(userdatagramprotocol,udp)头、p2p头和代理协议头。代理协议头中可以包括第二标识和该服务类型。表4ip头udp头p2p头代理协议头净荷部分步骤309:设备的p2p模块通过该p2p链路接收第二报文,确定与该服务类型相对应的目标服务模块,通过p2p模块与目标服务模块之间的第二连接向目标服务模块发送第五报文。可选的,第五报文的净荷部分包括第一数据。p2p模块确定该服务类型相对应的目标服务模块后,建立p2p模块与该目标服务模块之间的第二连接,第二连接用于传输属于该终端当前请求的服务的数据。第二连接可以为虚拟连接等。第五报文的报文格式为第一格式,可以在p2p模块与目标服务模块之间的第二连接上传输。步骤310:p2p模块将第二标识和第二连接的连接标识保存在第二标识与连接标识的对应关系中。第二连接的连接标识可以为第二连接的连接套接字等。目标服务模块接收第五报文,根据第五报文的净荷部分包括的第一数据执行操作。在第一数据为用于请求该服务的请求消息时,目标服务模块根据第一数据获取属于该服务的第二数据,通过第二连接向p2p模块发送格式为第一格式的第六报文,第六报文的净荷部分包括第二数据。或者,在第一数据为用于升级目标服务模块的升级包时,目标服务模块根据该升级包进行升级。目标服务模块在升级结束后,可以通过第二连接向p2p模块发送格式为第一格式的第六报文,第六报文的净荷部分包括第二数据,第二数据为升级结果。步骤311:p2p模块通过与目标服务模块之间的第二连接接收目标服务模块发送的第六报文。步骤312:p2p模块根据第二连接的连接标识,从第二标识与连接标识的对应关系中获取第二标识。步骤313:p2p模块通过该p2p链路向代理服务器发送格式为第二格式的第三报文,第三报文包括该设备的设备标识、第二标识和第二数据。第三报文的报文头可以包括第二标识,第三报文的净荷部分可以包括第二数据。步骤314:代理服务器通过该p2p链路接收第三报文,根据第三报文包括的第二标识和该设备的设备标识,从第二标识、设备标识与连接标识的对应关系中获取第一连接的连接标识。步骤315:代理服务器通过第一连接的连接标识对应的第一连接向终端发送格式为第一格式的第四报文,第四报文的净荷部分包括第二数据。终端从第一连接上接收第四报文。在本申请实施例中,由于代理服务器接收终端发送的第一报文时,分配用于标识终端和终端请求的服务的第二标识,将第二标识、该设备标识、第一连接的连接标识保存在第二标识、设备标识与连接标识的对应关系中。代理服务器通过该p2p链路向该设备发送包括第二标识和该服务类型的第二报文,这样该设备向代理服务器发送第三报文可以包括该设备标识和第二标识,代理服务器接收到第三报文后可以基于该设备标识和第二标识获取到第一连接的连接标识,从而基于该连接标识对应的第一连接向该监控终端发送报文。如此可以通过第一标识区别在代理服务器与设备之间的p2p链路上传输的终端请求的多个服务或多个终端请求的服务,如此设备只需要建立一条p2p链路即可,避免了给设备建立大量的p2p链路,导致网络延时增加的现象发生。下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。参见图7,本申请实施例提供了一种基于p2p的服务通信装置400,所述装置400可以部署上述任一实施例提供的代理服务器中,包括:接收模块401,用于接收第一报文,所述第一报文包括第一标识和第一数据,所述第一标识用于标识一设备和所述设备中的服务,所述第一数据用于请求所述设备中的用于提供所述服务的服务模块执行操作;确定模块402,用于确定所述第一标识所标识的服务对应的设备标识和服务类型;发送模块403,用于在与所述设备标识对应的设备之间存在p2p链路时,通过所述p2p链路向所述设备发送第二报文,所述第二报文包括所述服务类型和所述第一数据。可选的,所述装置400还包括:建立模块,用于在与所述设备标识对应的设备之间不存在p2p链路时,建立与所述设备之间的p2p链路;所述发送模块403,还用于通过所述建立的p2p链路向所述设备发送所述第二报文。可选的,所述装置400还包括:第一查询模块,用于根据所述设备的设备标识,查询设备标识与链路标识的对应关系,所述对应关系中的每条记录包括一设备标识和与所述一设备标识对应的设备之间当前存在的p2p链路的链路标识;在查询出对应的链路标识时,确定与所述设备之间存在所述链路标识对应的p2p链路,在没有查询出对应的链路标识时,确定与所述设备之间不存在p2p链路。可选的,所述装置还包括:第二查询模块,用于根据所述设备的设备标识,查询当前已存在的p2p链路对应的寄存器;在查询出保存有所述设备的设备标识的寄存器时,确定与所述设备之间存在所述查询出的寄存器对应的p2p链路;在没有查询出保存有所述设备的设备标识的寄存器时,确定与所述设备之间不存在p2p链路。可选的,所述第二报文还包括第二标识,所述第二标识用于标识发送所述第一报文的终端和所述服务;所述装置400还包括:第一保存模块,用于分配所述第二标识,将所述第二标识、所述设备标识、第一连接的连接标识保存在第一标识、设备标识与连接标识的对应关系中,所述第一连接为与所述终端之间的用于传输所述第一报文的连接。可选的,所述装置400还包括获取模块,所述接收模块401,还用于通过所述p2p链路接收所述设备发送的第三报文,所述第三报文包括所述第二标识、所述设备的设备标识和属于所述服务的第二数据;所述确定模块,用于根据所述第二标识和所述设备的设备标识,从所述第二标识、设备标识与连接标识的对应关系中获取所述第一连接的连接标识;所述发送模块403,还用于通过所述连接标识对应的第一连接向所述终端发送所述第四报文,所述第四报文包括所述第二数据。可选的,所述第一报文和所述第三报文的报文格式为第一格式,所述第一格式为在所述第一连接上传输的报文格式;所述第二报文的报文格式为第二格式,所述第二格式为在所述p2p链路上传输的报文格式,所述第一格式和所述第二格式不同。可选的,所述装置400还包括:第二保存模块,所述接收模块401,还用于接收所述设备发送的注册请求消息,所述注册请求消息包括所述设备的设备标识和所述设备提供的服务的服务类型;所述第二保存模块,用于分配第一标识,将所述第一标识、所述设备的设备标识和所述设备提供的服务的服务类型对应保存在第一标识、设备标识与服务类型的对应关系中。在本申请实施例中,接收接收终端发送的第一报文时,确定模块分配用于用于标识终端和终端请求的服务的第二标识,保存模块将第二标识、该设备标识、第一连接的连接标识保存在第二标识、设备标识与连接标识的对应关系中。这样在发送模块通过该p2p链路向该设备发送包括第二标识、服务类型和第一数据的第二报文后,如果接收模块接收到该设备返回的携带有该设备标识和第二标识的报文,则可以基于该设备标识和第二标识获取到第一连接的连接标识,从而基于该连接标识对应的第一连接向该终端发送该报文。如此可以通过第二标识区别在代理服务器与设备之间的p2p链路上传输的终端请求的多个服务或多个终端请求的服务,如此设备只需要建立一条p2p链路即可,避免了给设备建立大量的p2p链路,导致网络延时增加的现象发生。参见图8,本申请实施例提供了一种基于p2p的服务通信装置500,所述装置500用于包括所述装置500和至少一个服务模块的设备,每个服务模块用于提供服务,所述装置500包括:接收模块501,用于通过设备与代理服务器之间的p2p链路接收第二报文,所述第二报文是所述代理服务器在终端请求所述设备提供服务时发送的,所述第二报文包括所述终端请求的服务的服务类型和第一数据;发送模块502,用于通过第二连接向目标服务模块发送第五报文,所述目标服务模块是与所述服务类型相对应的服务模块,所述第五报文包括所述第一数据,所述第一数据用于请求所述目标服务模块执行操作,所述第二连接为与目标服务模块之间的虚拟连接。可选的,所述第二报文的报文头还包括第二标识,所述第二标识用于标识所述终端和所述终端请求的服务;所述装置500还包括:保存模块,用于将所述第二标识和所述第二连接的连接标识保存在第二标识与连接标识的对应关系中。可选的,所述装置500还包括获取模块,所述接收模块501,还用于通过所述第二连接接收第六报文,所述第六报文包括所述第二数据;所述获取模块,用于根据所述第二连接的连接标识,从第二标识与连接标识的对应关系中获取所述第二标识;所述发送模块502,还用于通过所述p2p链路向所述代理服务器发送第三报文,所述第三报文包括所述设备的设备标识、所述第二标识和所述第二数据。可选的,所述第五报文和所述第六报文的报文格式为第一格式,所述第一格式为在所述第二连接上传输的报文格式;所述第二报文的报文格式为第二格式,所述第二格式为在所述p2p链路上传输的报文格式,所述第一格式和所述第二格式不同。在本申请实施例中,接收模块通过该设备与代理服务器之间的p2p链路接收包括第二标识和服务类型的第二报文,这样在向代理服务器发送报文时,该报文可以包括该设备标识和第二标识,使得代理服务器可以基于该设备标识和第二标识获取到第一连接的连接标识,从而基于该连接标识对应的第一连接向该监控终端发送该报文。如此第二标识用于标识终端和终端请求的服务,这样可以通过第二标识区别在代理服务器与所述装置之间的p2p链路上传输的终端请求的多个服务或多个终端请求的服务,所述装置只需要建立一条p2p链路即可,避免了给所述装置建立大量的p2p链路,导致网络延时增加的现象发生。参见图9,本申请实施例提供了一种通信系统600,所述系统600包括如图6所述的装置和如图7所述的装置。如图6所述的装置可以为代理服务器601,如图7所述的装置可以为设备602。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。图10示出了本发明一个示例性实施例提供的终端700的结构框图。该终端700可以是监控终端,比如:智能手机、平板电脑、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。通常,终端700包括有:处理器701和存储器702。处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的一种通信方法。在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。射频电路704用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。显示屏705用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。定位组件708用于定位终端700的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件708可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3d动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商logo时,指纹传感器714可以与物理按键或厂商logo集成在一起。光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。本领域技术人员可以理解,图10中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1