服务器通信方法及装置与流程

文档序号:11156548阅读:852来源:国知局
服务器通信方法及装置与制造工艺
本发明涉及计算机领域,具体而言,涉及一种服务器通信方法及装置。
背景技术
:目前,在现有的通信过程中,服务器与服务器之间在通信时,常常可以采用不同的通信协议,例如protobuf协议、http协议、redis协议、jce协议等,其中,这些协议可能是文本协议,也可能是二进制协议,不同的通信协议往往具有不同的通信机制和通信编码要求。然而,当服务器在不同场景下执行数据通信,需要采用不同的通信协议时,就需要分别学习不同的通信协议的通信机制,这样不仅学习的时间成本较高,而且由于对新学习的通信协议并不熟悉,对于产生出来的代码质量将难以保证,从而导致编码后的业务数据的错误率将升高,使得服务器之间通信数据的重传次数增加,进而影响服务器之间的通信效率。针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种服务器通信方法及装置,以至少解决现有的服务器在采用不同的通信协议进行通信的过程中存在的通信效率较低的技术问题。根据本发明实施例的一个方面,提供了一种服务器通信方法,包括:接收第一服务器与第二服务器进行通信的通信请求,其中,上述通信请求中携带有上述第一服务器与上述第二服务器进行通信时所采用的通信协议的协议标识;根据上述协议标识查找与上述通信协议相匹配的通信模板,其中,上述通信模板中包括与上述通信协议相匹配的编码工具;利用查找到的上述通信模板调用上述编码工具对上述通信请求进行编码;将编码后的上述通信请求发送给上述第二服务器。根据本发明实施例的另一方面,还提供了一种服务器通信装置,包括:第一接收单元,用于接收第一服务器与第二服务器进行通信的通信请求,其中,上述通信请求中携带有上述第一服务器与上述第二服务器进行通信时所采用的通信协议的协议标识;查找单元,用于根据上述协议标识查找与上述通信协议相匹配的通信模板,其中,上述通信模板中包括与上述通信协议相匹配的编码工具;编码单元,用于利用查找到的上述通信模板调用上述编码工具对上述通信请求进行编码;发送单元,用于将编码后的上述通信请求发送给上述第二服务器。在本发明实施例中,在接收到第一服务器与第二服务器的通信请求之后,通过通信请求中携带的第一服务器与第二服务器进行通信时所采用的通信协议的协议标识,查找与通信协议相匹配的通信模板,以利用查找到的该通信模板调用与通信协议相匹配的编码工具对上述通信请求进行编码,从而实现将编码后的通信请求发送给第二服务器,而无需第一服务器再学习多种不同的通信协议的通信机制,不仅节省了学习成本,而且由机器自动编码通信请求,还将减低编码后的业务数据的错误率,避免服务器之间进行多次数据重传,进而实现提高服务器之间的通信效率的效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的一种可选的服务器通信方法的应用环境示意图;图2是根据本发明实施例的一种可选的服务器通信方法的流程图;图3是根据本发明实施例的一种可选的服务器通信装置的示意图;图4是根据本发明实施例的一种可选的服务器通信装置中第一接收单元的示意图;图5是根据本发明实施例的一种可选的服务器通信装置中编码单元的示意图;图6是根据本发明实施例的另一种可选的服务器通信方法的流程图;图7是根据本发明实施例的一种可选的用于实施上述服务器通信方法的服务器的示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1在本发明实施例中,提供了一种上述服务器通信方法的实施例。作为一种可选的实施方式,该服务器通信方法可以但不限于应用于如图1所示的应用环境中,作为请求服务器的第一服务器104通过网络106与作为目的服务器的第二服务器108进行通信,代理服务器102通过网络106实现对上述服务器通信过程的控制。具体的,代理服务器102接收第一服务器104与第二服务器108进行通信的通信请求,根据协议标识查找与通信协议相匹配的通信模板,其中,通信模板中包括与通信协议相匹配的编码工具;利用查找到的通信模板调用编码工具对通信请求进行编码;将编码后的通信请求发送给第二服务器。作为一种可选的实施方式,也可以不单独配置上述代理服务器,本实施方式未在图中示出,而是在第一服务器中内置一个硬件装置,或内置一个应用程序或一段程序代码,来实现上述代理服务器的执行步骤。在本实施例中,在接收到第一服务器与第二服务器的通信请求之后,通过通信请求中携带的第一服务器与第二服务器进行通信时所采用的通信协议的协议标识,查找与通信协议相匹配的通信模板,以利用查找到的该通信模板调用与通信协议相匹配的编码工具对上述通信请求进行编码,从而实现将编码后的通信请求发送给第二服务器,而无需第一服务器再学习多种不同的通信协议的通信机制,不仅节省了学习成本,而且由机器自动编码通信请求,还将减低编码后的业务数据的错误率,避免服务器之间进行多次数据重传,进而实现提高服务器之间的通信效率的效果。可选地,在本实施例中,上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述仅是一种示例,本实施例中对此不做任何限定。根据本发明实施例,提供了一种服务器通信方法,如图2所示,该方法包括:S202,接收第一服务器与第二服务器进行通信的通信请求,其中,通信请求中携带有第一服务器与第二服务器进行通信时所采用的通信协议的协议标识;S204,根据协议标识查找与通信协议相匹配的通信模板,其中,通信模板中包括与通信协议相匹配的编码工具;S206,利用查找到的通信模板调用编码工具对通信请求进行编码;S208,将编码后的通信请求发送给第二服务器。可选地,在本实施例中,上述服务器通信方法可以但不限于应用于通过服务器集群进行业务开发的过程中,其中,上述服务器通信方法可以但不限于应用于服务器集群中独立于第一服务器和第二服务器的代理服务器中,也可以但不限于应用于第一服务器中内置的一个硬件装置,或第一服务器中内置一个应用程序或一段程序代码中。也就是说,上述服务器通信方法可以集成于一个硬件装置中,也可以为一段软件程序代码,来实现上述服务器之间的高效通信;此外,通过直接添加对应的通信模板,以实现采用新增类型的通信协议进行通信,还可以达到扩展通信范围的目的。可选地,上述服务器集群中可以包括但不限于多个服务器,本实施例中对此不做任何限定。例如,以代理服务器为例进行说明,用于开发的服务器(即第一服务器)通过该代理服务器向用于测试的服务器(即第二服务器)发送通信请求,其中,通信请求中携带有通信时所采用的通信协议的协议标识,代理服务器通过上述协议标识查找与上述通信协议相匹配的通信模板,并利用该通信模板调用对应的编码工具对上述通信请求进行编码,以使编码后的通信请求满足上通信协议的通信要求和通信机制,从而实现将编码后的通信请求发送至用于测试的服务器。而无需在用于开发的服务器上分别学习不同类型的通信协议的通信机制,不仅节省了学习成本,而且也无需在完成开发的过程后,再登录到用于测试的服务器上进行多次测试,以达到提高服务器之间的通信效率的效果。上述仅是一种示例,本实施例中对此不做任何限定。需要说明的是,在本实施例中,在接收到第一服务器与第二服务器的通信请求之后,通过通信请求中携带的第一服务器与第二服务器进行通信时所采用的通信协议的协议标识,查找与通信协议相匹配的通信模板,以利用查找到的该通信模板调用与通信协议相匹配的编码工具对上述通信请求进行编码,从而实现将编码后的通信请求发送给第二服务器,而无需第一服务器再学习多种不同的通信协议的通信机制,不仅节省了学习成本,而且由机器自动编码通信请求,还将减低编码后的业务数据的错误率,避免服务器之间进行多次数据重传,进而实现提高服务器之间的通信效率的效果。可选地,在本实施例中,上述通信模板中还包括与通信协议相匹配的解码工具,在接收到第二服务器发送的返回数据后,可利用上述解码工具对返回数据进行解码,以得到所请求的目标数据。也就是说,上述通信模板可以通过调用与通信协议相匹配的编码工具,直接对来自第一服务器的通信请求进行编码;也可以通过调用与通信协议相匹配的解码工具,直接对来自第二服务器的返回数据进行解码,从而实现将与不同通信协议相匹配的编码工具和/或解码工具集成在一起,而无需分别学习和测试,以节省服务器之间通信的时间,达到提高服务器之间的通信效率的效果。此外,利用通信模板实现自动编解码操作,还将进一步保证通信数据的准确率,进而避免由于数据出错导致数据重传的次数增加的问题。需要说明的是,利用编码和/或解码工具执行编码和/或解码操作可以但不限于为相关技术中记载的方式,本实施例中对此不再赘述。可选地,在本实施例中,上述在接收第一服务器与第二服务器进行通信的通信请求之前,还可以包括但不限于:配置一个或多个通信模板,其中,一个通信模板与一个通信协议相匹配。也就是说,在本实施例中,可以但不限于预先配置协议标识与通信模板之间的映射关系,其中,一个通信协议与一个通信模板相匹配,该通信模板中将包括与该通信协议相匹配的编码工具和/或解码工具。也就是说,根据不同通信协议的通信机制,预先配置不同的通信模板,及其中对应的编码/解码工具,通过将不同的通信协议集成在一起,以便于在进行通信时,直接查找对应的通信模板,调用与通信协议相匹配的编码/解码工具,从而避免在通信时再临时学习不同的通信协议的通信机制。例如,如表1示出了预存的映射关系:表1协议标识通信模板编码/解码工具ID-1模板A位置L1ID-2模板B位置L2ID-3模板C位置L3假设从通信请求中解析获取到的协议标识为ID-1,则可以利用上述映射关系查找到对应的通信模板A,进而调用与通信模板A对应的位置L1上存储的编码/解码工具,实现上述服务器通信过程。可选地,在本实施例中,第一服务器与第二服务器进行通信的通信请求可以但不限于具有预定格式,利用该预定格式的格式特点,实现快速对通信请求中携带的请求参数的解析,以至少获取上述请求参数中包括的协议标识,便于快速查找到与上述协议标识相匹配的通信模板,保证服务器之间的通信效率。其中,上述预定格式可以但不限于具有被快速拆分解析的格式特点,例如,上述预定格式可以为统一资源定位符(UniformResourceLocator,URL)格式。可选地,在本实施例中,上述通信请求中携带的请求参数可以包括但不限于:协议标识、第一服务器的主机名、第一服务器的端口号、第一服务器的请求键值对、第一服务器与第二服务器之间的通信路径、第二服务器的登录用户名及密码。通过从上述通信请求中解析出上述请求参数,从而实现利用通信模板调用的编码工具对上述请求参数进行编码,以使编码后的通信请求满足通信协议的通信机制。需要说明的是,在本实施例中,可以但不限于在第二服务器需要验证登录时,例如,第一服务器需要访问第二服务器中的数据库时,就需要在通信请求中配置服务器的登录用户名及密码。在第二服务器对上述登录信息验证通过后,再开始进行正常的通信过程。具体结合以下示例进行说明,例如,以在服务器S1与服务器S2之间进行通信,通过服务器S1中的控制装置来执行上述步骤为例,该控制装置接收服务器S1发送的URL格式的通信请求,解析上述URL格式的通信请求,获取通信请求中携带的所采用的通信协议的协议标识ID-1,根据该协议标识ID-1查找到对应的通信模板B,利用该通信模板B调用对应的编码工具对通信请求中的请求参数进行编码,然后发送给服务器S2。服务器S2响应编码后的通信请求进行数据处理,向服务器S1发送返回数据,通信模板抓取到返回数据后,利用解码工具进行解码,以得到所请求的目标数据。通过本申请提供的实施例,在接收到第一服务器与第二服务器的通信请求之后,通过通信请求中携带的第一服务器与第二服务器进行通信时所采用的通信协议的协议标识,查找与通信协议相匹配的通信模板,以利用查找到的该通信模板调用与通信协议相匹配的编码工具对上述通信请求进行编码,从而实现将编码后的通信请求发送给第二服务器,而无需第一服务器再学习多种不同的通信协议的通信机制,不仅节省了学习成本,而且由机器自动编码通信请求,还将减低编码后的业务数据的错误率,避免服务器之间进行多次数据重传,进而实现提高服务器之间的通信效率的效果。作为一种可选的方案,接收第一服务器与第二服务器进行通信的通信请求包括:S1,接收具有预定格式的通信请求;S2,按照预定格式解析获取通信请求中携带的请求参数,其中,请求参数中至少包括协议标识。可选地,在本实施例中,在接收具有预定格式的通信请求之前,还包括:将通信请求的格式配置为统一资源定位符URL格式,其中,通信请求中还包括以下至少之一:第一服务器的主机名、第一服务器的端口号、第一服务器的请求键值对、第一服务器与第二服务器之间的通信路径、第二服务器的登录用户名及密码。需要说明的是,上述预定格式的格式转换过程可以在第一服务器中执行,例如,在第一服务器中生成初始通信请求,并进行格式转换,得到具有预定格式的通信请求。此外,上述预定格式的格式转换过程还可以在独立的处理服务器中执行,例如,代理服务器。具体结合以下示例进行说明,假设服务器S1中生成用于与服务器S2进行通信的初始通信请求,例如,请求内容如下:经过格式转换后,将上述通信请求的格式配置为统一资源定位符URL格式,URL格式的通信请求如下:‘www.baidu.com.80/s?’no_ready_check:=0&keepAlive=true’也就是说,通过将服务器的通信请求统一抽象转换为URL格式,将更利于对上述通信请求进行拆分解析。例如,URL格式可以按照以下方式拆分:[协议:]//[用户名]:[密码]@[服务器名]:[服务器端口名]/[请求路径]?[请求键值对]。从而实现对上述格式拆分后,达到快速解析获取协议标识的目的。通过本申请提供的实施例,通过传输具有预定格式的通信请求,以实现利用预定格式的格式特点,达到更高效地解析出用于获取通信模板中协议标识的目的,从而实现保证通信效率的效果。作为一种可选的方案,利用查找到的通信模板调用编码工具对通信请求进行编码包括:S1,调用查找到的通信模板中与通信协议相匹配的编码工具;S2,利用编码工具对通信请求中的请求参数进行编码,得到编码后的通信请求。具体结合以下示例进行说明,以在服务器S1与服务器S2之间进行通信,通过服务器S1中的控制装置来执行上述步骤为例。上述控制装置可以但不限于根据不同的协议标识(例如http协议),查找对应的通信模板(例如,http模板),以调用与通信协议相匹配的编码工具,通过利用该编码工具可以将接收到的通信请求编码成与通信协议的通信机制相符的数据包。例如,上述编码/解码工具分别对应不同的程序库,通过调用对应的程序库,来执行数据编码过程。具体的编码过程可以参见相关技术,本实施例中对此不再赘述。通过本申请提供的实施例,利用预存的通信模板来调用编码工具对通信请求进行自动编码,从而实现降低编码后的数据出错率,在保证服务器之间数据传输正确率的情况下,达到降低数据重传次数的效果。作为一种可选的方案,通信模板中还包括与通信协议相匹配的解码工具,其中,在将编码后的通信请求发送给第二服务器之后,还包括:S1,接收第二服务器响应编码后的通信请求发送的返回数据;S2,根据与通信协议相匹配的解码工具对返回数据进行解码得到所请求的目标数据。可选地,在本实施例中,在接收第二服务器响应编码后的通信请求发送的返回数据之前,还包括:通过预设定时器判断等待接收到返回数据的等待时长是否超过预定时长;在判断出等待时长超过预定时长时,则返回响应消息,其中,响应消息用于指示第一服务器与第二服务器进行通信的请求失败。需要说明的是,服务器之间在进行通信的过程中,第一服务器与第二服务器之间要经过网线进行数据传输。目前相关技术中在物理连接建立超时的情况下,会触发延时响应,而在连接建立成功后,对于返回数据并未提供超时检测。对此,在本实施例中,在服务器进行通信的过程中,对第一服务器等待网络通信回包的过程中出现的延时等待,将通过配置预设定时器,实现对延时的时长的控制,如在检测到返回数据返回超时的情况下,向第一服务器返回超时响应消息,如该响应消息用于指示请求失败。具体结合以下示例进行说明,通过调用预定的网络接口来获取第二服务器发送的返回数据,对应的,查找与返回数据中所携带的协议标识相匹配的通信模板,以调用通信模板中与通信协议相匹配的解码工具,从而实现对返回数据的快速解码。通过本申请提供的实施例,在接收到第二服务器发送的返回数据后,可以通过调用对应的解码工具实现对返回数据的自动解码,不仅保证了解码后的数据的准确性,还节省了数据解码学习测试的时间,达到提高通信效率的效果。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。实施例2根据本发明实施例,还提供了一种用于实施上述服务器通信方法的服务器通信装置,如图3所示,该装置包括:1)第一接收单元302,用于接收第一服务器与第二服务器进行通信的通信请求,其中,通信请求中携带有第一服务器与第二服务器进行通信时所采用的通信协议的协议标识;2)查找单元304,用于根据协议标识查找与通信协议相匹配的通信模板,其中,通信模板中包括与通信协议相匹配的编码工具;3)编码单元306,用于利用查找到的通信模板调用编码工具对通信请求进行编码;4)发送单元308,用于将编码后的通信请求发送给第二服务器。可选地,在本实施例中,上述服务器通信装置可以但不限于应用于通过服务器集群进行业务开发的过程中,其中,上述服务器通信装置可以但不限于应用于服务器集群中独立于第一服务器和第二服务器的代理服务器中,也可以但不限于应用于第一服务器中内置的一个硬件装置,或第一服务器中内置一个应用程序或一段程序代码中。也就是说,上述服务器通信装置可以集成于一个硬件装置中,也可以为一段软件程序代码,来实现上述服务器之间的高效通信;此外,通过直接添加对应的通信模板,以实现采用新增类型的通信协议进行通信,还可以达到扩展通信范围的目的。可选地,上述服务器集群中可以包括但不限于多个服务器,本实施例中对此不做任何限定。例如,以代理服务器为例进行说明,用于开发的服务器(即第一服务器)通过该代理服务器向用于测试的服务器(即第二服务器)发送通信请求,其中,通信请求中携带有通信时所采用的通信协议的协议标识,代理服务器通过上述协议标识查找与上述通信协议相匹配的通信模板,并利用该通信模板调用对应的编码工具对上述通信请求进行编码,以使编码后的通信请求满足上通信协议的通信要求和通信机制,从而实现将编码后的通信请求发送至用于测试的服务器。而无需在用于开发的服务器上分别学习不同类型的通信协议的通信机制,不仅节省了学习成本,而且也无需在完成开发的过程后,再登录到用于测试的服务器上进行多次测试,以达到提高服务器之间的通信效率的效果。上述仅是一种示例,本实施例中对此不做任何限定。需要说明的是,在本实施例中,在接收到第一服务器与第二服务器的通信请求之后,通过通信请求中携带的第一服务器与第二服务器进行通信时所采用的通信协议的协议标识,查找与通信协议相匹配的通信模板,以利用查找到的该通信模板调用与通信协议相匹配的编码工具对上述通信请求进行编码,从而实现将编码后的通信请求发送给第二服务器,而无需第一服务器再学习多种不同的通信协议的通信机制,不仅节省了学习成本,而且由机器自动编码通信请求,还将减低编码后的业务数据的错误率,避免服务器之间进行多次数据重传,进而实现提高服务器之间的通信效率的效果。可选地,在本实施例中,上述通信模板中还包括与通信协议相匹配的解码工具,在接收到第二服务器发送的返回数据后,可利用上述解码工具对返回数据进行解码,以得到所请求的目标数据。也就是说,上述通信模板可以通过调用与通信协议相匹配的编码工具,直接对来自第一服务器的通信请求进行编码;也可以通过调用与通信协议相匹配的解码工具,直接对来自第二服务器的返回数据进行解码,从而实现将与不同通信协议相匹配的编码工具和/或解码工具集成在一起,而无需分别学习和测试,以节省服务器之间通信的时间,达到提高服务器之间的通信效率的效果。此外,利用通信模板实现自动编解码操作,还将进一步保证通信数据的准确率,进而避免由于数据出错导致数据重传的次数增加的问题。需要说明的是,利用编码和/或解码工具执行编码和/或解码操作可以但不限于为相关技术中记载的方式,本实施例中对此不再赘述。可选地,在本实施例中,上述装置还包括:配置单元,用于在接收第一服务器与第二服务器进行通信的通信请求之前,配置一个或多个通信模板,其中,一个通信模板与一个通信协议相匹配。也就是说,在本实施例中,可以但不限于预先配置协议标识与通信模板之间的映射关系,其中,一个通信协议与一个通信模板相匹配,该通信模板中将包括与该通信协议相匹配的编码工具和/或解码工具。也就是说,根据不同通信协议的通信机制,预先配置不同的通信模板,及其中对应的编码/解码工具,通过将不同的通信协议集成在一起,以便于在进行通信时,直接查找对应的通信模板,调用与通信协议相匹配的编码/解码工具,从而避免在通信时再临时学习不同的通信协议的通信机制。例如,如表2示出了预存的映射关系:表2协议标识通信模板编码/解码工具ID-1模板A位置L1ID-2模板B位置L2ID-3模板C位置L3假设从通信请求中解析获取到的协议标识为ID-1,则可以利用上述映射关系查找到对应的通信模板A,进而调用与通信模板A对应的位置L1上存储的编码/解码工具,实现上述服务器通信过程。可选地,在本实施例中,第一服务器与第二服务器进行通信的通信请求可以但不限于具有预定格式,利用该预定格式的格式特点,实现快速对通信请求中携带的请求参数的解析,以至少获取上述请求参数中包括的协议标识,便于快速查找到与上述协议标识相匹配的通信模板,保证服务器之间的通信效率。其中,上述预定格式可以但不限于具有被快速拆分解析的格式特点,例如,上述预定格式可以为统一资源定位符(UniformResourceLocator,简称为URL)格式。可选地,在本实施例中,上述通信请求中携带的请求参数可以包括但不限于:协议标识、第一服务器的主机名、第一服务器的端口号、第一服务器的请求键值对、第一服务器与第二服务器之间的通信路径、第二服务器的登录用户名及密码。通过从上述通信请求中解析出上述请求参数,从而实现利用通信模板调用的编码工具对上述请求参数进行编码,以使编码后的通信请求满足通信协议的通信机制。需要说明的是,在本实施例中,可以但不限于在第二服务器需要验证登录时,例如,第一服务器需要访问第二服务器中的数据库时,就需要在通信请求中配置服务器的登录用户名及密码。在第二服务器对上述登录信息验证通过后,再开始进行正常的通信过程。具体结合以下示例进行说明,例如,以在服务器S1与服务器S2之间进行通信,通过服务器S1中的控制装置来执行上述步骤为例,该控制装置接收服务器S1发送的URL格式的通信请求,解析上述URL格式的通信请求,获取通信请求中携带的所采用的通信协议的协议标识ID-1,根据该协议标识ID-1查找到对应的通信模板B,利用该通信模板B调用对应的编码工具对通信请求中的请求参数进行编码,然后发送给服务器S2。服务器S2响应编码后的通信请求进行数据处理,向服务器S1发送返回数据,通信模板抓取到返回数据后,利用解码工具进行解码,以得到所请求的目标数据。通过本申请提供的实施例,在接收到第一服务器与第二服务器的通信请求之后,通过通信请求中携带的第一服务器与第二服务器进行通信时所采用的通信协议的协议标识,查找与通信协议相匹配的通信模板,以利用查找到的该通信模板调用与通信协议相匹配的编码工具对上述通信请求进行编码,从而实现将编码后的通信请求发送给第二服务器,而无需第一服务器再学习多种不同的通信协议的通信机制,不仅节省了学习成本,而且由机器自动编码通信请求,还将减低编码后的业务数据的错误率,避免服务器之间进行多次数据重传,进而实现提高服务器之间的通信效率的效果。作为一种可选的方案,如图4所示,第一接收单元302包括:1)接收模块402,用于接收具有预定格式的通信请求;2)获取模块404,用于按照预定格式解析获取通信请求中携带的请求参数,其中,请求参数中至少包括协议标识。可选地,在本实施例中,上述装置还包括:配置模块,用于在接收具有预定格式的通信请求之前,将通信请求的格式配置为统一资源定位符URL格式,其中,通信请求中还包括以下至少之一:第一服务器的主机名、第一服务器的端口号、第一服务器的请求键值对、第一服务器与第二服务器之间的通信路径、第二服务器的登录用户名及密码。需要说明的是,上述预定格式的格式转换过程可以在第一服务器中执行,例如,在第一服务器中生成初始通信请求,并进行格式转换,得到具有预定格式的通信请求。此外,上述预定格式的格式转换过程还可以在独立的处理服务器中执行,例如,代理服务器。具体结合以下示例进行说明,假设服务器S1中生成用于与服务器S2进行通信的初始通信请求,例如,请求内容如下:经过格式转换后,将上述通信请求的格式配置为统一资源定位符URL格式,URL格式的通信请求如下:‘www.baidu.com.80/s?’no_ready_check:=0&keepAlive=true’也就是说,通过将服务器的通信请求统一抽象转换为URL格式,将更利于对上述通信请求进行拆分解析。例如,URL格式可以按照以下方式拆分:[协议:]//[用户名]:[密码]@[服务器名]:[服务器端口名]/[请求路径]?[请求键值对]。从而实现对上述格式拆分后,达到快速解析获取协议标识的目的。通过本申请提供的实施例,通过传输具有预定格式的通信请求,以实现利用预定格式的格式特点,达到更高效地解析出用于获取通信模板中协议标识的目的,从而实现保证通信效率的效果。作为一种可选的方案,如图5所示,编码单元306包括:1)调用模块502,用于调用查找到的通信模板中与通信协议相匹配的编码工具;2)编码模块504,用于利用编码工具对通信请求中的请求参数进行编码,得到编码后的通信请求。具体结合以下示例进行说明,以在服务器S1与服务器S2之间进行通信,通过服务器S1中的控制装置来执行上述步骤为例。上述控制装置可以但不限于根据不同的协议标识(例如http协议),查找对应的通信模板(例如,http模板),以调用与通信协议相匹配的编码工具,通过利用该编码工具可以将接收到的通信请求编码成与通信协议的通信机制相符的数据包。例如,上述编码/解码工具分别对应不同的程序库,通过调用对应的程序库,来执行数据编码过程。具体的编码过程可以参见相关技术,本实施例中对此不再赘述。通过本申请提供的实施例,利用预存的通信模板来调用编码工具对通信请求进行自动编码,从而实现降低编码后的数据出错率,在保证服务器之间数据传输正确率的情况下,达到降低数据重传次数的效果。作为一种可选的方案,通信模板中还包括与通信协议相匹配的解码工具,其中,还包括:1)第二接收单元,用于在将编码后的通信请求发送给第二服务器之后,接收第二服务器响应编码后的通信请求发送的返回数据;2)解码单元,用于根据与通信协议相匹配的解码工具对返回数据进行解码得到所请求的目标数据。可选地,在本实施例中,上述装置还包括:1)判断单元,用于在接收第二服务器响应编码后的通信请求发送的返回数据之前,通过预设定时器判断等待接收到返回数据的等待时长是否超过预定时长;2)返回单元,用于在判断出等待时长超过预定时长时,则返回响应消息,其中,响应消息用于指示第一服务器与第二服务器进行通信的请求失败。需要说明的是,服务器之间在进行通信的过程中,第一服务器与第二服务器之间要经过网线进行数据传输。目前相关技术中在物理连接建立超时的情况下,会触发延时响应,而在连接建立成功后,对于返回数据并未提供超时检测。对此,在本实施例中,在服务器进行通信的过程中,对第一服务器等待网络通信回包的过程中出现的延时等待,将通过配置预设定时器,实现对延时时长的控制,如在检测到返回数据返回超时的情况下,向第一服务器返回超时响应消息,如该响应消息用于指示请求失败。具体结合以下示例进行说明,通过调用预定的网络接口来获取第二服务器发送的返回数据,对应的,查找与返回数据中所携带的协议标识相匹配的通信模板,以调用通信模板中与通信协议相匹配的解码工具,从而实现对返回数据的快速解码。通过本申请提供的实施例,在接收到第二服务器发送的返回数据后,可以通过调用对应的解码工具实现对返回数据的自动解码,不仅保证了解码后的数据的准确性,还节省了数据解码学习测试的时间,达到提高通信效率的效果。实施例3本发明实施例的应用环境可以但不限于参照实施例1中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述服务器通信方法的一种可选的具体应用示例。作为一种可选的实施例,上述服务器通信方法可以但不限于应用于业务开发系统中,其中,上述业务开发系统可以包括但不限于多个服务器构成的服务器集群,假设以用于开发的服务器602、代理服务器604及用于测试的服务器606为例,上述通信过程的执行步骤可以如下:假设在第一服务器中生成初始的通信请求,并对该通信请求进行了URL格式转换,如步骤S602,将URL格式的通信请求发送给代理服务器604;代理服务器604利用URL格式的格式特点解析上述通信请求,以获取请求参数,如协议标识。然后,利用该协议标识查找与通信协议相匹配的通信模板,如步骤S606;进一步,如步骤S608调用与通信协议相匹配的编码工具进行编码,并如步骤S610发送编码后的通信请求至服务器606。服务器606响应编码后的通信请求进行数据处理,得到返回数据,如步骤S612。然后,服务器606发送返回数据至代理服务器604,进一步,如步骤S614-S618,代理服务器604将调用与通信协议相匹配的解码工具进行解码,并将解码得到的目标数据发送至服务器602。上述仅是一种示例,对于代理服务器也可以但不限于由第一服务器中内置的应用或程序代码替换,本实施例中在此不再赘述。实施例4根据本发明实施例,还提供了一种用于实施上述服务器通信方法的服务器,如图7所示,该服务器包括:1)通讯接口702,设置为接收第一服务器与第二服务器进行通信的通信请求,其中,通信请求中携带有第一服务器与第二服务器进行通信时所采用的通信协议的协议标识;2)处理器704,与通讯接口702连接,设置为根据协议标识查找与通信协议相匹配的通信模板,其中,通信模板中包括与通信协议相匹配的编码工具;还设置为利用查找到的通信模板调用编码工具对通信请求进行编码;其中,通讯接口702,还设置为将编码后的通信请求发送给第二服务器;3)存储器706,与通讯接口702及处理器704连接,设置为存储与通信协议相匹配的通信模板。可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。实施例5本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:S1,接收第一服务器与第二服务器进行通信的通信请求,其中,通信请求中携带有第一服务器与第二服务器进行通信时所采用的通信协议的协议标识;S2,接收第一服务器与第二服务器进行通信的通信请求,其中,通信请求中携带有第一服务器与第二服务器进行通信时所采用的通信协议的协议标识;S3,利用查找到的通信模板调用编码工具对通信请求进行编码;S4,将编码后的通信请求发送给第二服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1