欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种通信系统中服务器响应请求消息的方法及设备独创技术95305字

一种通信系统中服务器响应请求消息的方法及设备

2021-02-13 16:34:31

一种通信系统中服务器响应请求消息的方法及设备

  本申请是发明名称为“一种通信系统中服务器响应请求消息的方法及设备”,申请号为201710114800.X,申请日为2017年2月28日的分案申请。

  技术领域

  本发明实施例涉及通信技术领域,尤其涉及一种通信系统中服务器响应请求消息的方法及设备。

  背景技术

  物联网依托于互联网和传统电信网等承载体,让所有能行使独立功能的普通物体实现互联互通的网络。国际电信联盟(ITU)发布的ITU互联网报告,对物联网做了如下定义:通过二维码识读设备、射频识别(RFID)装置、红外感应器、全球定位系统和激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相联接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。也就是,利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物,物与物相联,实现信息化、远程管理控制和智能化的网络。

  当前主流的物联网应用层协议为受限应用协议(Constrained ApplicationProtocol,CoAP),CoAP采用的是客户端(Client)/服务器(Server)的模式,其存在消息可能被延迟或阻塞情况,下面进行介绍。

  例如,客户端向服务器发送PUT消息,该PUT消息可能被中间设备恶意拦截,在拦截后该中间设备延迟一段时间后再将该PUT消息发送给服务器,那么服务器接收的就是被中间设备延迟后的PUT消息。但服务器无法识别PUT消息是否被延迟,则服务器会照常响应该PUT消息。但由于该PUT消息已被延迟,可能已经失效,那么服务器响应这种潜在失效的消息,就会存在安全风险。举例来说,该PUT消息是门锁打开请求,该门锁打开请求被中间设备延迟后发送给服务器,服务器收到该PUT消息后将门打开。然而,因为客户端迟迟没有等到服务器响应该PUT消息,在门前等候的人已经离开,如果服务器此时再打开门,给其他潜在的恶意人有进入门内的机会,存在安全隐患。

  发明内容

  本发明实施例提供一种通信系统中服务器响应请求消息的方法及设备,用以解决服务器响应失效的请求消息而导致安全隐患的技术问题。

  第一方面,提供一种通信系统中服务器响应请求消息的方法,该方法由服务器执行。这里的服务器是指客户端/服务器架构中的服务器,是逻辑概念,而非物理意义上的服务器,只要具有客户端/服务器架构中的服务器的功能的设备都可以作为本发明实施例的服务器。另外该方法还涉及客户端,这里的客户端是指客户端/服务器架构中的服务器,也是逻辑概念,只要具有客户端/服务器架构中的客户端的功能的设备都可以作为本发明实施例的客户端。该方法包括:服务器接收客户端发送的请求消息,获得针对请求消息的第一有效时间信息。其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为服务器开始响应请求消息的时间,第一有效结束时间为服务器结束响应请求消息的时间。服务器确定对请求消息的响应策略,并根据响应策略以及第一有效时间信息处理请求消息。

  本发明实施例中,服务器接收客户端发送的请求消息后,可以获得该请求消息对应的第一有效时间信息,服务器根据第一有效时间信息就可以确定响应请求消息的第一有效起始时间和第一有效结束时间,也就是确定应该在何时响应请求消息。那么,如果当前的时间不是第一有效时间信息所规定的时间,则服务器显然不会响应请求消息,也就是说,本发明实施例中的服务器能够识别接收的消息是否有效,从而不会响应失效的消息,减少了安全隐患,提高了整个系统的安全性。

  结合第一方面,在第一方面的第一种可能的实现方式中,服务器确定对请求消息的响应策略,包括:服务器确定响应策略为按时响应策略。那么,服务器根据响应策略以及第一有效时间信息处理请求消息,包括:服务器根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息。

  其中一种响应策略为按时响应策略,按时响应策略是指根据当前的时间与第一有效时间信息之间的先后关系处理请求消息的策略。那么,如果当前的时间位于第一有效结束时间之前,表明该请求消息还处于有效期内,还未失效,则服务器会响应请求消息,保证请求消息的及时响应。

  结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,服务器根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息,包括:若当前的时间位于第一有效结束时间之前,则服务器根据按时响应策略中的等待响应方式或直接响应方式响应请求消息。

  对于当前的时间位于第一有效结束时间之前的情况,服务器又有不同的响应方式,例如服务器可根据等待响应方式或直接响应方式来响应请求消息。从而,根据不同的情况有不同的响应方式,较为灵活,也使得请求消息能够得到最合适的响应。

  结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,若当前的时间位于第一有效结束时间之前,则服务器根据按时响应策略中的等待响应方式响应请求消息,包括:若当前的时间位于第一有效起始时间之前,则服务器启动第一定时器,其中,第一定时器的计时时长大于或等于第一有效起始时间与当前的时间之间的差值,且小于或等于第一有效结束时间与当前的时间之间的差值。在第一定时器的计时时长到达时,服务器响应请求消息。

  第一有效起始时间是规定的服务器开始响应请求消息的时间,而服务器按照规定的时间来响应请求消息自然是最好的。因此,如果当前的时间还位于第一有效起始时间之前,那么服务器可以先等待,即启动第一定时器,并设置第一定时器的计时时长到达的时间还位于该请求消息的有效期内,那么在第一定时器的计时时长到达时,服务器开始响应该请求消息,使得该请求消息尽量在第一有效时间信息所规定的时间被响应。

  结合第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,若当前的时间位于第一有效结束时间之前,则服务器根据按时响应策略中的直接响应方式响应请求消息,包括:若当前的时间与第一有效起始时间一致,或当前的时间位于第一有效起始时间之后以及第一有效结束时间之前,则服务器响应请求消息。

  如果当前的时间与第一有效起始时间一致,即当前的时间就是第一有效起始时间,或者当前的时间位于第一有效起始时间之后以及第一有效结束时间之前,表明已经到了规定的响应该请求消息的时间,那么服务器会直接响应请求消息,以保证请求消息能够及时被响应。

  结合第一方面的第一种可能的实现方式,在第一方面的第五种可能的实现方式中,服务器根据响应策略以及第一有效时间信息处理请求消息,还包括:服务器根据按时响应策略,若当前的时间位于第一有效结束时间之后,则丢弃请求消息。

  如果当前的时间位于第一有效结束时间之后,表明已经过了该请求消息的有效期,该请求消息可能已经失效,此时若还响应该请求消息则可能存在安全风险。因此服务器会丢弃该请求消息,不再响应,提高系统的安全性和可靠性。

  结合第一方面的第一种可能的实现方式至第五种可能的实现方式中的任一种可能的实现,在第一方面的第六种可能的实现方式中,该方法还包括:服务器向客户端发送响应消息,响应消息用于指示请求消息已响应完毕,或用于指示请求消息已加入待响应队列,或用于指示请求消息已被丢弃。其中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  服务器对请求消息进行处理后,都可以向客户端发送响应消息,以使得客户端能够及时知道服务器的处理情况。其中,如果响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则服务器还可以在响应消息中携带时间偏移值,客户端可以根据接收的响应消息携带的时间偏移值来设置后续的请求消息携带的有效时间信息。例如,如果请求消息总是被延迟,则说明系统存在延迟情况,客户端可以将一定周期内接收的时间偏移值求平均值,并根据求得的平均值来设置后续的请求消息携带的有效时间信息。其中,建议客户端设置的有效时间信息指示的响应请求消息的有效时长小于该平均值。通过这种方式,使得客户端为请求消息所设置的有效时间信息更为合理。

  结合第一方面,在第一方面的第七种可能的实现方式中,该请求消息还携带序列号。那么,服务器确定对请求消息的响应策略,包括:若请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的客户端发送的请求消息携带的序列号,则服务器确定响应策略为抢占响应策略、顺序响应策略、或顺序并丢弃响应策略。

  如果请求消息携带序列号,那么服务器就能够根据序列号来确定客户端发送的请求消息的先后顺序。根据接收的请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号之间的关系,服务器可以选择不同的响应策略,较为灵活。其中,如上只介绍了序列号不连续的情况,如果请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号连续,且请求消息携带的序列号小于服务器最近一次接收的客户端发送的请求消息携带的序列号,那么服务器就可以响应该请求消息,服务器在响应该请求消息时可以采用如前介绍的按时响应策略来进行响应,不多赘述。

  结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,若服务器确定响应策略为抢占响应策略,则,服务器根据响应策略以及第一有效时间信息处理请求消息,包括:服务器根据抢占响应策略以及第一有效时间信息响应请求消息。另外,在响应请求消息之后,还包括:若服务器接收到的后续请求消息携带的序列号小于请求消息携带的序列号,则服务器丢弃后续请求消息。

  所谓抢占响应策略,就是先接收先响应的策略,即,就算先接收的请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的客户端发送的请求消息携带的序列号,但因为该请求消息已经先接收,所以服务器也会先处理该请求消息。具体的,服务器可按照如前介绍的按时响应策略来处理该请求消息,不多赘述。在这种响应策略下,服务器不会考虑请求消息之间的先后顺序,较为适用于不要求顺序的应用场景。另外,如果服务器先响应了之前接收的请求消息,那么,如果服务器后续又接收了请求消息,这里称为后续请求消息,后续请求消息携带的序列号小于之前的请求消息携带的序列号,那么为了避免乱序,服务器会丢弃后续请求消息,以避免出现混乱。

  结合第一方面的第七种可能的实现方式,在第一方面的第九种可能的实现方式中,若服务器确定响应策略为顺序响应策略或顺序并丢弃响应策略,则服务器根据响应策略以及第一有效时间信息处理请求消息,包括:服务器根据顺序响应策略或顺序并丢弃响应策略,不响应请求消息,且等待接收后续请求消息。其中,后续请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号连续。

  所谓顺序响应策略,就是服务器一定要按照请求消息携带的序列号的先后顺序进行响应的策略,所谓顺序并丢弃响应策略,就是服务器尽量按照请求消息携带的序列号的先后顺序进行响应的策略。那么,如果服务器确定响应策略为顺序响应策略或顺序并丢弃响应策略,而当前的时间又位于第一有效结束时间之前,则服务器都会选择暂时不响应请求消息,而等待接收后续请求消息,尽量保证按照客户端发送请求消息的顺序来进行响应。

  结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,该方法还包括:服务器接收后续请求消息,后续请求消息携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。若当前的时间位于第二有效结束时间之前,则服务器响应后续请求消息。

  如果服务器接收了后续请求消息,且当前的时间位于第二有效结束时间之前,表明后续请求消息还处于有效期内,那么服务器就可以响应后续请求消息,尽量保证按照顺序响应接收的请求消息,且通过第二有效时间信息也可以避免响应失效的消息。其中,服务器可按照如前介绍的按时响应策略响应后续请求消息。

  结合第一方面的第十种可能的实现方式,在第一方面的第十一种可能的实现方式中,在服务器响应后续请求消息之后,还包括:若当前的时间位于第一有效结束时间之前,则服务器响应请求消息;或,若当前的时间位于第一有效结束时间之后,服务器丢弃请求消息。

  服务器响应后续请求消息之后,如果当前的时间位于第一有效结束时间之前,表明请求消息还未失效,则服务器响应请求消息,而如果当前的时间位于第一有效结束时间之后,表明请求消息已失效,则服务器丢弃请求消息。通过这种方式,服务器不会响应失效的请求消息,提高了系统的安全性。

  结合第一方面的第十种可能的实现方式,在第一方面的第十二种可能的实现方式中,该方法还包括:若当前的时间位于第二有效结束时间之后,则服务器丢弃后续请求消息。

  服务器接收后续请求消息时,如果当前的时间已经位于第二有效时间之后,表明后续请求消息已失效,如果继续响应后续请求消息则可能会有安全风险。因此服务器丢弃后续请求消息,以保护系统安全。

  结合第一方面的第十二种可能的实现方式,在第一方面的第十三种可能的实现方式中,若服务器确定响应策略为顺序响应策略,且当前的时间位于第二有效结束时间之后,则服务器丢弃请求消息;或,若服务器确定响应策略为顺序并丢弃响应策略,且当前的时间位于第二有效结束时间之后,则,若当前的时间位于第一有效结束时间之前,服务器响应请求消息。

  如果服务器确定响应策略为顺序响应策略,且当前的时间位于第二有效结束时间之后,则服务器会丢弃后续请求消息,而因为是顺序响应策略,如果携带的序列号较小的请求消息,即后续请求消息,都已被丢弃,则服务器也不再执行序列号较大的请求消息,因此服务器也会丢弃请求消息,通过这种方式避免乱序。而在顺序并丢弃响应策略下,服务器会先选择等待接收后续请求消息,如果未收到后续请求消息,或者接收后续请求消息时后续请求消息已失效,则服务器也会选择响应之前接收的请求消息。因此,如果服务器确定响应策略为顺序并丢弃响应策略,且当前的时间位于第二有效结束时间之后,则服务器会丢弃后续请求消息,此时服务器还会确定当前的时间是否位于第一有效结束时间之前,如果当前的时间位于第一有效结束时间之前,服务器会响应请求消息,尽量保证客户端发送的消息能够被响应。其中,服务器可按照如前介绍的按时响应策略响应请求消息。当然,如果当前的时间位于第一有效结束时间之后,表明请求消息已失效,则服务器会丢弃请求消息,保护系统安全。

  结合第一方面的第九种可能的实现方式,在第一方面的第十四种可能的实现方式中,该方法还包括:若服务器确定响应策略为顺序响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则服务器丢弃请求消息;或,若服务器确定响应策略为顺序并丢弃响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则,若当前的时间位于第一有效结束时间之前,服务器响应请求消息。

  如前介绍的是服务器接收了后续请求消息的情况,而在顺序响应策略下,如果在第一有效结束时间到达时服务器未接收后续请求消息,那么服务器会丢弃请求消息,即,即使不响应客户端发送的消息,也不会进行乱序响应。而在顺序并丢弃响应策略下,服务器会先选择等待接收后续请求消息,如果未收到后续请求消息,则服务器也会选择响应之前接收的请求消息,尽量保证客户端发送的消息能够被响应。其中,服务器可按照如前介绍的按时响应策略响应请求消息。当然,如果当前的时间位于第一有效结束时间之后,表明请求消息已失效,则服务器会丢弃请求消息,保护系统安全。

  结合第一方面的第九种可能的实现方式,在第一方面的第十五种可能的实现方式中,在服务器响应请求消息之后,还包括:服务器接收后续请求消息,服务器丢弃后续请求消息。

  在顺序并丢弃响应模式下,如果服务器先响应了请求消息,那么即使服务器又接收了后续请求消息,则服务器也会直接丢弃后续请求消息,通过这种方式避免乱序响应。

  结合第一方面或第一方面的第一种可能的实现方式至第十四种可能的实现方式中的任一种可能的实现方式,在第一方面的第十六种可能的实现方式中,服务器获得针对请求消息的第一有效时间信息,包括:服务器获得请求消息携带的第一有效时间信息;或,服务器根据请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素确定第一有效时间信息。

  即,第一有效时间信息可以由客户端来设置,客户端可根据用户的需求进行设置,这种设置方式较为简单易行,也较为符合用户的需求。或者第一有效时间信息也可以由服务器来设置,例如服务器可事先根据经验设置请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素与有效时间信息之间的映射关系,则后续接收请求消息后直接查询该映射关系就可以确定请求消息的有效时间信息,这种方式减轻了客户端的负担,特别是对于功能不够完善的客户端来说这种方式就更为适合。通过提供不同的有效时间信息的设置方式,也使得本发明实施例的应用范围更为广泛。

  第二方面,提供一种通信系统中向服务器发送请求消息的方法,该方法由客户端执行,这里的客户端是指客户端/服务器架构中的服务器,是逻辑概念,只要具有客户端/服务器架构中的客户端的功能的设备都可以作为本发明实施例的客户端。另外该方法还涉及服务器,这里的服务器是指客户端/服务器架构中的服务器,是逻辑概念,而非物理意义上的服务器,只要具有客户端/服务器架构中的服务器的功能的设备都可以作为本发明实施例的服务器。该方法包括:客户端向服务器发送请求消息,请求消息携带第一有效时间信息。其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为服务器开始响应请求消息的时间,第一有效结束时间为服务器结束响应请求消息的时间。客户端接收服务器发送的响应消息,响应消息用于指示请求消息已响应完毕,或用于指示请求消息已加入待响应队列,或用于指示请求消息已被丢弃。

  本发明实施例中,客户端发送给服务器的请求消息可携带第一有效时间信息,从而服务器可以获得该第一有效时间信息,服务器根据第一有效时间信息就可以确定响应请求消息的第一有效起始时间和第一有效结束时间,也就是确定应该在何时响应请求消息。那么,如果当前的时间不是第一有效时间信息所规定的时间,则服务器显然不会响应请求消息,也就是说,本发明实施例中的服务器能够识别接收的消息是否有效,从而不会响应失效的消息,减少了安全隐患,提高了整个系统的安全性。

  结合第二方面,在第二方面的第一种可能的实现方式中,该请求消息还携带序列号。该方法还包括:客户端向服务器发送后续请求消息,后续请求消息携带序列号。

  在本发明实施例中,客户端发送的请求消息还可以携带序列号,以使得服务器能够识别请求消息之间的顺序,便于服务器确定是否要按照顺序来执行。

  结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,后续请求消息还携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。

  也就是说,客户端发送的请求消息都可以携带有效时间信息,这样服务器就可以确定接收的请求消息是否还有效,避免服务器响应已失效的消息。

  结合第二方面或第二方面的第一种可能的实现方式或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  如果响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则服务器还可以在响应消息中携带时间偏移值,客户端可以根据接收的响应消息携带的时间偏移值来设置后续的请求消息携带的有效时间信息。例如,如果请求消息总是被延迟,则说明系统存在延迟情况,客户端可以将一定周期内接收的时间偏移值求平均值,并根据求得的平均值来设置后续的请求消息携带的有效时间信息。其中,建议客户端设置的有效时间信息指示的响应请求消息的有效时长小于该平均值。通过这种方式,使得客户端为请求消息所设置的有效时间信息更为合理。

  结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,该方法还包括:客户端根据时间偏移值调整之后发送的请求消息携带的有效时间信息。

  第三方面,提供一种服务器,该服务器包括接收器和处理器。其中,接收器用于接收客户端发送的请求消息。处理器用于获得针对请求消息的第一有效时间信息,确定对请求消息的响应策略,根据响应策略以及第一有效时间信息处理请求消息。其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为服务器开始响应请求消息的时间,第一有效结束时间为服务器结束响应请求消息的时间。

  结合第三方面,在第三方面的第一种可能的实现方式中,处理器用于确定对请求消息的响应策略,包括:确定响应策略为按时响应策略。处理器用于根据响应策略以及第一有效时间信息处理请求消息,包括:根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息。

  结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,处理器用于根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息,包括:若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的等待响应方式或直接响应方式响应请求消息。

  结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,处理器用于若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的等待响应方式响应请求消息,包括:若当前的时间位于第一有效起始时间之前,则启动第一定时器,在第一定时器的计时时长到达时,响应请求消息。第一定时器的计时时长大于或等于第一有效起始时间与当前的时间之间的差值,且小于或等于第一有效结束时间与当前的时间之间的差值。

  结合第三方面的第一种可能的实现方式,在第三方面的第四种可能的实现方式中,处理器用于若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的直接响应方式响应请求消息,包括:若当前的时间与第一有效起始时间一致,或当前的时间位于第一有效起始时间之后以及第一有效结束时间之前,则响应请求消息。

  结合第三方面的第一种可能的实现方式,在第三方面的第五种可能的实现方式中,处理器用于根据响应策略以及第一有效时间信息处理请求消息,还包括:根据按时响应策略,若当前的时间位于第一有效结束时间之后,则丢弃请求消息。

  结合第三方面的第一种可能的实现方式至第五种可能的方式中的任一种可能的实现方式,在第三方面的第六种可能的实现方式中,该服务器还包括发送器。发送器用于:向客户端发送响应消息,响应消息用于指示请求消息已响应完毕,或用于指示请求消息已加入待响应队列,或用于指示请求消息已被丢弃。其中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  结合第三方面,在第三方面的第七种可能的实现方式中,该请求消息还携带序列号。那么,处理器用于确定对请求消息的响应策略,包括:若请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的客户端发送的请求消息携带的序列号,则确定响应策略为抢占响应策略、顺序响应策略、或顺序并丢弃响应策略。

  结合第三方面的第七种可能的实现方式,在第三方面的第八种可能的实现方式中,若处理器确定响应策略为抢占响应策略,则,处理器根据响应策略以及第一有效时间信息处理请求消息,包括:根据抢占响应策略以及第一有效时间信息响应请求消息。另外,处理器还用于:在响应请求消息之后,若接收器接收到的后续请求消息携带的序列号小于请求消息携带的序列号,则丢弃后续请求消息。

  结合第三方面的第七种可能的实现方式,在第三方面的第九种可能的实现方式中,处理器用于若确定响应策略为顺序响应策略或顺序并丢弃响应策略,则根据响应策略以及第一有效时间信息处理请求消息,包括:根据顺序响应策略或顺序并丢弃响应策略,不响应请求消息,且等待接收后续请求消息。后续请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号连续。

  结合第三方面的第九种可能的实现方式,在第三方面的第十种可能的实现方式中,接收器还用于:接收后续请求消息,后续请求消息携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为服务器开始响应后续请求消息的时间,第二有效结束时间为服务器结束响应后续请求消息的时间。处理器还用于:若当前的时间位于第二有效结束时间之前,则响应后续请求消息。

  结合第三方面的第十种可能的实现方式,在第三方面的第十一种可能的实现方式中,处理器还用于:在响应后续请求消息之后,若当前的时间位于第一有效结束时间之前,则响应请求消息;或,若当前的时间位于第一有效结束时间之后,丢弃请求消息。

  结合第三方面的第十种可能的实现方式,在第三方面的第十二种可能的实现方式中,该方法还包括:若当前的时间位于第二有效结束时间之后,则丢弃后续请求消息。

  结合第三方面的第十二种可能的实现方式,在第三方面的第十三种可能的实现方式中,处理器还用于:若确定响应策略为顺序响应策略,且当前的时间位于第二有效结束时间之后,则丢弃请求消息;或,若确定响应策略为顺序并丢弃响应策略,且当前的时间位于第二有效结束时间之后,则,若当前的时间位于第一有效结束时间之前,响应请求消息。

  结合第三方面的第九种可能的实现方式,在第三方面的第十四种可能的实现方式中,处理器还用于:若确定响应策略为顺序响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则丢弃请求消息;或,若确定响应策略为顺序并丢弃响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则,若当前的时间位于第一有效结束时间之前,响应请求消息。

  结合第三方面的第十四种可能的实现方式,在第三方面的第十五种可能的实现方式中,接收器还用于:在处理器响应请求消息之后,接收后续请求消息。处理器还用于:丢弃后续请求消息。

  结合第三方面或第三方面的第一种可能的实现方式至第十五种可能的实现方式中的任一种可能的实现方式,在第三方面的第十六种可能的实现方式中,处理器用于获得针对请求消息的第一有效时间信息,包括:获得请求消息携带的第一有效时间信息;或,根据请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素确定第一有效时间信息。

  第四方面,提供一种客户端,该客户端包括发送器和接收器。其中,发送器用于向服务器发送请求消息,请求消息携带第一有效时间信息。其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为服务器开始响应请求消息的时间,第一有效结束时间为服务器结束响应请求消息的时间。接收器用于:接收服务器发送的响应消息,响应消息用于指示请求消息已响应完毕,或用于指示请求消息已加入待响应队列,或用于指示请求消息已被丢弃。

  结合第四方面,在第四方面的第一种可能的实现方式中,该请求消息还携带序列号。发送器还用于:向服务器发送后续请求消息,后续请求消息携带序列号。

  结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,后续请求消息还携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。

  结合第四方面或第四方面的第一种可能的实现方式或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,该客户端还包括处理器。处理器用于:根据时间偏移值调整之后发送的请求消息携带的有效时间信息。

  第五方面,提供一种服务器,该服务器包括用于执行第一方面或第一方面的任一种可能的实现方式所提供的方法的功能单元。

  第六方面,提供一种客户端,该客户端包括用于执行第一方面或第一方面的任一种可能的实现方式所提供的方法的功能单元。

  第七方面,提供一种计算机存储介质,用于储存为上述服务器所用的计算机软件指令,其包含用于执行第一方面或第一方面的任一种可能的实现方式为服务器所设计的程序。

  第八方面,提供一种计算机存储介质,用于储存为上述客户端所用的计算机软件指令,其包含用于执行第一方面或第一方面的任一种可能的实现方式为客户端所设计的程序。

  本发明实施例中的服务器能够识别接收的消息是否有效,从而不会响应失效的消息,减少了安全隐患,提高了整个系统的安全性。

  附图说明

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

  图2为本发明实施例提供一种通信系统中服务器响应请求消息的方法的流程图;

  图3为本发明实施例提供的根据按时响应策略来响应请求消息的方法的流程图;

  图4为本发明实施例提供的根据抢占响应策略来响应请求消息的方法的流程图;

  图5为本发明实施例提供的根据顺序响应策略来响应请求消息的方法的流程图;

  图6为本发明实施例提供的根据顺序并丢弃响应策略来响应请求消息的方法的流程图;

  图7-图8为本发明实施例提供的服务器的两种结构示意图;

  图9-图10为本发明实施例提供的客户端的两种结构示意图。

  具体实施方式

  为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例作进一步地详细描述。

  以下,对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

  (1)客户端,即物联网系统中的客户端/服务器架构中的客户端,用于向该架构中的服务器发送请求消息。

  (2)服务器,即物联网系统中的客户端/服务器架构中的服务器,用于接收该架构中的客户端发送的请求消息,并响应所接收的请求消息。

  需要理解的是,客户端/服务器架构指的是一种逻辑架构,即只要能够完成客户端的功能的设备都可以作为该架构中的客户端,只要能够完成服务器的功能的设备都可以作为该架构中的服务器,即使是同一个设备,在不同的场景下,或者在不同的时刻,其既可以作为客户端也可以作为服务器。例如在实际应用中,终端设备可以作为客户端,也可以作为服务器,物理意义上的服务器设备也是既可以作为该架构中的客户端,也可以作为该架构中的服务器。

  (3)终端设备,是指向用户提供语音和/或数据连通性的设备,特别的,本发明实施例中涉及的终端设备可以是受限设备,例如功耗较低的设备,或存储能力有限的设备,或计算能力有限的设备等。具体的,条码、射频识别(RFID)、传感器、全球定位系统(GPS)、激光扫描器等信息传感设备都可以作为本发明实施例中的终端设备。另外,有些终端设备可能与网关设备通信,例如通过网关设备接入网络,在这种场景下,网关设备也可以作为本发明实施例所介绍的终端设备。

  (4)服务器设备,不同于如前的第(2)条所介绍的逻辑意义上的服务器,这里的服务器设备是指物理意义上的服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、及系统总线等,和通用的计算机架构类似。

  (5)本发明实施例中,“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。

  下面结合附图介绍本发明实施例的应用场景。

  请参见图1,为本发明实施例的一种应用场景示意图。图1中包括云平台、终端设备、子设备(Child Device)、以及网关设备(Gateway Device)。其中,终端设备或子设备可以直接与服务器连接,或者也可以通过就近的网关设备与服务器连接。其中,对于云平台和终端设备来说,云平台可以充当服务器的角色,终端设备充当客户端的角色,或者云平台充当客户端的角色,终端设备充当服务器的角色。对于云平台和网关设备来说,云平台可以充当服务器的角色,网关设备充当客户端的角色,或者云平台充当客户端的角色,网关设备充当服务器的角色。对于网关设备和子设备来说,网关设备可以充当服务器的角色,子设备充当客户端的角色,或者网关设备充当客户端的角色,子设备充当服务器的角色。云平台上会运行多种应用(APP),这些应用可对应于不同的垂直行业,例如智能家居、智能电网、或车联网等,从而形成小型的物联网系统。

  图1中,云平台与应用之间的连线表明应用安装在云平台上,或者安装在其他设备上的应用能够与云平台通信。图1中的设备之间的连线是指设备之间能够通信,至于通信方式可以是有线方式也可以是无线方式。

  当然,图1只是一种示例,本发明实施例的应用场景不限于此,例如终端设备和网关设备等不一定是连接到云平台,也可以连接到其他的设备,例如物理意义上的服务器设备等。

  下面结合附图介绍本发明实施例提供的技术方案。在下面的介绍过程中,以本发明实施例提供的方案应用于图1所示的应用场景为例,那么,下文的实施例中所述的客户端可理解为图1中的终端设备,服务器可理解为图1中的云平台,或,客户端可理解为图1中的云平台,服务器可理解为图1中的终端设备,或,客户端可理解为图1中的云平台,服务器可理解为图1中的网关设备,或,客户端可理解为图1中的网关设备,服务器可理解为图1中的云平台,或,客户端可理解为图1中的网关设备,服务器可理解为图1中的子设备,或,客户端可理解为图1中的子设备,服务器可理解为图1中的网关设备。

  请参见图2,本发明一实施例提供一种通信系统中服务器响应请求消息的方法,该方法的过程描述如下。

  S21、客户端向服务器发送请求消息,服务器接收请求消息。

  S22、服务器获得针对请求消息的第一有效时间信息。

  其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为规定的服务器开始响应请求消息的时间,第一有效结束时间为规定的服务器结束响应请求消息的时间。也就是说,第一有效时间信息规定了响应请求消息的有效时间,服务器需要按照该有效时间来响应请求消息,这样才能保证请求消息是按照规定响应,使得请求消息发挥应有的作用,也避免服务器响应失效的消息。

  本发明实施例对于第一有效时间信息包括的内容不作限制。例如第一有效时间信息包括第一有效起始时间和第一有效结束时间,即第一有效时间信息就包括两个时刻信息,分别是第一有效起始时间和第一有效结束时间,则服务器得到第一有效时间信息就是得到了第一有效起始时间和第一有效结束时间。或者,第一有效时间信息包括第一有效起始时间和第一有效时长,第一有效时长为规定的响应请求消息的时长。那么,服务器得到第一有效时间信息后可直接得到第一有效起始时间,再将第一有效起始时间和第一有效时长求和,就得到了第一有效结束时间。或者,第一有效时间信息包括第一有效结束时间和第一有效时长,第一有效时长为规定的响应请求消息的时长。那么,服务器得到第一有效时间信息后可直接得到第一有效结束时间,再用第一有效结束时间减去第一有效时长,就得到了第一有效起始时间。

  在本发明实施例中,服务器可通过不同的方式获得第一有效时间信息,下面进行介绍。

  第一种方式,请求消息中携带第一有效时间信息,那么服务器通过解析请求消息就可以获得第一有效时间信息。

  在这种方式中,可以由客户端自行确定第一有效时间信息,也就是客户端在发送请求消息时自行确定请求消息的有效时间信息。一般来说,客户端都是有目的地发送请求消息,那么客户端也就很清楚请求消息应该在什么时候开始执行以及在什么时候应该执行完毕,因此由客户端自行确定有效时间信息较为符合实际情况,实现较为方便。

  第二种方式,服务器根据请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素确定第一有效时间信息。其中,客户端的标识可以包括客户端的身份识别号(ID)以及客户端的地址中的至少一种,当然还可能包括用于唯一标识该客户端的其他信息。

  在这种方式中,服务器可以预先存储请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素与有效时间信息之间的映射关系,从而根据请求消息以及该映射关系就可以确定第一有效时间信息。例如服务器预先存储了请求消息的内容和有效时间信息之间的映射关系,那么服务器接收该请求消息后,直接在该映射关系中查询该请求消息的内容对应有效时间信息即可,该映射关系中存储的该请求消息的内容对应的有效时间信息就是第一有效时间信息。

  另外在这种方式中,有效时间信息也需要指示请求消息的有效起始时间,而服务器实际上是不确定何时接收该请求消息的,那么可采用如下方式:第一有效时间信息包括第一间隔和第二间隔,第一间隔用于指示服务器接收该请求消息的时间与服务器开始执行该请求消息的时间之差,第二间隔用于指示服务器接收该请求消息的时间与服务器结束执行该请求消息的时间之差,或第二间隔用于指示该请求消息的有效时长,即响应该请求消息的时长,那么服务器根据第一间隔就能确定第一有效起始时间,根据第二间隔和/或第一间隔就能确定第一有效结束时间。

  例如,对于一些优先级较高的客户端,则映射关系中这些客户端对应的有效时间信息的有效起始时间和有效结束时间之间的时差较小,或映射关系中这些客户端对应的第一间隔会比较短,以保证这些客户端发送的请求消息能够及时快速地被执行。或者对于一些对时延要求较高的消息类型或消息内容,则映射关系中这些消息类型或消息内容对应的有效时间信息的有效起始时间和有效结束时间之间的时差较小,或映射关系中这些消息类型或消息内容对应的第一间隔会比较短,以保证这些请求消息能够及时快速地被执行。

  通过这种方式,由服务器来确定有效时间信息,减轻了客户端的负担,特别是对于一些功能不够完善的客户端来说,只需发送请求消息即可,降低了对客户端的要求,使得本发明实施例的应用更为广泛。

  但是,如果系统的时延比较大,或者客户端发送的请求消息在到达服务器之前被恶意拦截,则服务器接收请求消息后可能已经过了该请求消息应该被响应的时间,而请求消息本身又是有时限要求的,显然这种情况就不再适用于第二种方式。因此第二种方式更适用于系统时延较小的情况,或系统的可靠性较高的情况。可见,第二种方式的效果更多的是体现在服务器能够对不同的请求消息采取不同的时间响应,相当于对不同的请求消息采取不同的处理方式,有助于体现不同的请求消息的层次性,更突出重点消息或重点客户端的优势。

  总之,对于以上两种方式,系统可选择使用,本发明实施例不作限制。

  S23、服务器确定对请求消息的响应策略。

  S24、服务器根据该响应策略以及第一有效时间信息处理请求消息。

  本发明实施例中,在客户端发送给服务器的请求消息中携带了第一有效时间信息,服务器根据第一有效时间信息就可以确定响应请求消息的第一有效起始时间和第一有效结束时间,也就是确定应该在何时响应请求消息。那么,如果当前的时间不是第一有效时间信息所规定的时间,则服务器显然不会响应请求消息,也就是说,本发明实施例中的服务器能够识别接收的消息是否有效,从而不会响应失效的消息,减少了安全隐患,提高了整个系统的安全性。

  至于针对请求消息究竟有哪些响应策略,以及服务器如何根据响应策略来处理请求消息,将在接下来的实施例中介绍。

  请参见图3,本发明一实施例提供一种通信系统中服务器响应请求消息的方法,该方法的过程描述如下。

  S31、服务器确定对请求消息的响应策略为按时响应策略。

  其中,S31可以理解为对S22的细化过程。其中,按时响应策略可理解为服务器需按照请求消息携带的有效时间信息进行响应的策略。

  S32、服务器根据按时响应策略以及第一有效时间信息处理请求消息。

  服务器接收请求消息后识别当前的时间,那么根据按时响应策略,在第一有效信息不同时则对请求消息的处理方式也会有所不同。

  在可能的实施方式中,服务器根据按时响应策略以及第一有效时间信息处理请求消息,一种处理方式为:

  S3201、根据按时响应策略,如果当前的时间位于第一有效结束时间之后,则服务器丢弃请求消息。

  其中,如果当前的时间位于第一有效结束时间之后,表明响应请求消息的有效时间已经过了,此时请求消息就是已失效的请求消息,如果服务器响应请求消息就会存在安全隐患,因此本发明实施例中,服务器会丢弃请求消息,以提高安全性。

  在服务器丢弃请求消息之后,服务器可以向客户端发送响应消息,该响应消息用于指示请求消息已被丢弃。在该响应消息中还携带时间偏移值,该时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值,也就是第一有效起始时间与服务器丢弃请求消息的时间之间的差值。客户端可以根据接收的响应消息携带的时间偏移值来设置后续的请求消息携带的有效时间信息。例如,如果请求消息总是被延迟,则说明系统存在延迟情况,客户端可以将一定周期内接收的时间偏移值求平均值,并根据求得的平均值来设置后续的请求消息携带的有效时间信息。其中,建议客户端设置的有效时间信息指示的响应请求消息的有效时长小于该平均值。

  在可能的实施方式中,服务器根据按时响应策略以及第一有效时间信息处理请求消息,另一种处理方式为:如果当前的时间位于第一有效结束时间之前,则服务器响应请求消息。而根据按时响应策略,下面介绍服务器在这种情况下的几种响应方式。

  A、等待响应方式。

  这种方式下,对S32细化如下:

  S3202、服务器启动第一定时器,在第一定时器的计时时长到达时,服务器响应请求消息。

  其中,服务器接收请求消息后识别当前的时间,如果当前的时间位于第一有效起始时间之前,表明规定的开始响应请求消息的时间还没到,则根据按时响应策略,服务器还不能响应请求消息。那么服务器就启动定时器,该定时器称为第一定时器,以在定时器的计时时间到达时响应请求消息。

  在本发明实施例中,第一定时器的计时时长大于或等于第一有效起始时间与当前的时间之间的差值,且小于或等于第一有效结束时间与当前的时间之间的差值,这样才能保证服务器能够在第一有效时间信息所指示的时间范围内响应请求消息。优选的,第一定时器的计时时长等于第一有效起始时间与当前的时间之间的差值,使得服务器能够在第一有效起始时间开始响应请求消息。

  另外,服务器除了启动定时器之外,还将请求消息加入待响应队列,待响应队列用于存放等待服务器响应的消息。在这种情况下,服务器还可以向客户端发送响应消息,该响应消息用于指示请求消息已加入待响应队列。

  在服务器响应请求消息之后,服务器还可以向客户端发送响应消息,该响应消息就用于指示请求消息已响应完毕。在该响应消息中还携带时间偏移值,该时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值,也就是第一有效起始时间与服务器响应请求消息的时间之间的差值。客户端可以根据接收的响应消息携带的时间偏移值来设置后续的请求消息携带的有效时间信息。

  例如,如果时间偏移值较小,表明客户端设置的有效时间信息较为合理,则后续的请求消息携带的有效时间信息可继续按照之前的有效时间信息来设置。如果时间偏移值较大,表明系统存在延迟情况,那么客户端可以重新设置后续的请求消息携带的有效时间范围,例如可延长响应请求消息的有效时长,或者可将响应请求消息的有效起始时间延后等,以保证请求消息能够被正常响应。

  B、直接响应方式。

  这种方式下,对S32细化如下:

  S3203、若当前的时间与第一有效起始时间一致,或当前的时间位于第一有效起始时间之后以及第一有效结束时间之前,则服务器响应请求消息。

  也就是说,如果当前的时间已经位于规定的响应请求消息的有效时间范围内,那么服务器就直接响应请求消息。

  同样的,在服务器响应请求消息之后,服务器可以向客户端发送响应消息,该响应消息用于指示请求消息已响应完毕。在该响应消息中还携带时间偏移值,该时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值,也就是第一有效起始时间与服务器响应请求消息的时间之间的差值。客户端同样可以根据接收的响应消息携带的时间偏移值来设置后续的请求消息携带的有效时间信息,不多赘述。

  在前面介绍了,现有技术中,消息可能被延迟或阻塞,服务器可能会响应失效的消息,导致安全隐患。因此本发明实施例中服务器可以确定应该在何时响应请求消息,如果当前的时间不是第一有效时间信息所规定的时间,则服务器不会响应请求消息,也就是说,本发明实施例中的服务器能够识别接收的消息是否有效,从而不会响应失效的消息,减少了安全隐患,提高了整个系统的安全性。

  除此之外,在现有技术中,还可能存在消息乱序的情况。例如,客户端先后向服务器发送两个PUT消息,这两个PUT消息都被中间设备恶意拦截,该中间设备在拦截两个PUT消息后,先将第二个PUT消息发送给服务器,服务器响应第二个PUT消息完毕后会向客户端发送响应消息,中间设备继续拦截该响应消息,之后再将第一个PUT消息发送给服务器,则服务器再响应第一个PUT消息,也就是说,服务器没有按照PUT消息的顺序来进行响应。那么,如果这两个PUT消息是对服务器的执行顺序有严格要求的,例如这两个PUT消息对应的是制动器的先后两个动作,不能乱序,那么服务器先执行第二个PUT消息再执行第一个PUT消息,就造成了乱序,同样存在安全风险。

  为了解决该技术问题,本发明实施例提出,请求消息可以携带序列号,服务器根据序列号就可以识别请求消息的顺序,即请求消息可以携带序列号。那么,S22可细化为:若请求消息携带的序列号与服务器最近一次接收的客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的客户端发送的请求消息携带的序列号,则服务器确定响应策略为“抢占响应策略”、“顺序响应策略”、或“顺序并丢弃响应策略”。

  其中,所谓的抢占响应策略,就是服务器直接响应接收的请求消息,如果后续又接收了序列号位于已响应的请求消息携带的序列号之前的请求消息,则服务器丢弃后续又接收的请求消息,避免乱序。所谓的顺序响应策略,就是服务器必须按照序列号所指示的顺序响应请求消息。所谓的顺序并丢弃响应策略,就是服务器如果先接收了序列号较大的请求消息,则服务器暂不响应,继续等待接收序列号较小的请求消息。下面详细介绍服务器如何按照不同的响应策略处理请求消息。

  请参见图4,服务器确定响应策略为抢占响应策略。。

  S41、服务器根据抢占响应策略以及第一有效时间信息响应请求消息。

  其中,S41可理解为对S23的细化。

  在抢占响应策略下,服务器接收请求消息后,即使请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的该客户端发送的请求消息携带的序列号,服务器也直接响应请求消息。通过这种方式可以较为及时地响应接收的请求消息。

  当然,请求消息携带了第一有效时间信息,服务器还需根据第一有效时间信息来响应请求消息。具体的服务器如何根据第一有效时间信息来响应请求消息,可参考图2所示的实施例以及图3所示的实施例的介绍,不多赘述。

  在响应请求消息之后,服务器还可能接收后续请求消息,也就是本该在请求消息之前响应的请求消息,下面介绍服务器的处理方式。

  S42、客户端向服务器发送后续请求消息,则服务器接收后续请求消息。其中,后续请求消息也携带序列号,此时,后续请求消息携带的序列号与请求消息携带的序列号可以连续,也可以不连续。

  S43、若后续请求消息携带的序列号小于请求消息携带的序列号,则服务器丢弃后续请求消息。

  也就是说,服务器先响应了序列号较大的请求消息,如果又接收了序列号较小的消息,为了避免乱序,则服务器不再响应序列号较小的请求消息。

  当然,服务器丢弃后续请求消息后可以向客户端发送响应消息,以告知客户端,后续请求消息已被丢弃,该响应消息中也可携带时间偏移值,关于这部分内容可参考如前的相关介绍,不多赘述。

  其中,S42和S43不一定会执行,也就是说在服务器响应请求消息之后不一定会接收后续请求消息。这里只是说,如果服务器接收了,就可按照S42和S43所提供的方式进行处理。

  请参见图5,服务器确定响应策略为顺序响应策略。其中,为了更便于理解,将图5画为普通的流程图模式。

  S51、服务器根据顺序响应策略,不响应请求消息,且等待接收后续请求消息。其中,后续请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号连续。

  其中,S51可理解为对S23的细化。

  顺序响应策略规定服务器要按照序列号所指示的顺序来响应请求消息,因此服务器如果接收请求消息后识别请求消息的序列号,确定请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的该客户端发送的请求消息携带的序列号,则服务器先不响应请求消息。例如服务器将请求消息加入待响应队列,并等待接收后续请求消息。在这种情况下,服务器还可以向客户端发送响应消息,该响应消息用于指示请求消息已加入待响应队列。

  S52、服务器接收该客户端发送的后续请求消息。其中,后续请求消息携带第二有效时间信息,第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。

  这是在第一有效结束时间到达之前服务器接收了后续请求消息的情况。

  需注意的是,一般来说服务器对不同消息的响应顺序是针对同一个客户端而言的,即,序列号是否连续,是针对同一个客户端发送的请求消息而言的,因此本发明实施例中的多条请求消息都是同一客户端发送的。

  S53、若当前的时间位于第二有效结束时间之前,则服务器响应后续请求消息。

  其中,如果当前的时间位于第二有效结束时间之前,则服务器是直接响应后续请求消息还是先将后续请求消息加入待响应队列,与当前的时间是否位于第二有效起始时间之前有关,关于这部分内容可参考如前对于服务器响应请求消息的描述,不多赘述。

  在服务器响应后续请求消息之后,还包括下面的步骤:

  S54、若当前的时间位于第一有效结束时间之前,则服务器响应请求消息。

  当然,请求消息携带了第一有效时间信息,服务器还需根据第一有效时间信息来响应请求消息。具体的服务器如何根据第一有效时间信息来响应请求消息,可参考图2所示的实施例以及图3所示的实施例的介绍,不多赘述。

  S55、或者,若当前的时间位于第一有效结束时间之后,服务器丢弃请求消息。

  如果当前的时间位于第一有效结束时间之后,表明请求消息已失效,则服务器直接丢弃请求消息。

  前面介绍的是当前的时间位于第二有效结束时间之前的情况,下面介绍S56:若当前的时间位于第二有效结束时间之后,则服务器丢弃后续请求消息。

  如果当前的时间位于第二有效结束时间之后,表明后续请求消息已失效,则服务器直接丢弃后续请求消息。

  S57、服务器丢弃请求消息。

  S57是接续S56的,也就是说,在顺序响应策略下,如果服务器丢弃了后续请求消息,则服务器也必须丢弃请求消息,否则就会造成响应的乱序。

  S52-S57介绍的都是服务器在第一有效结束时间到达之前接收了后续请求消息的情况,下面介绍S58:若在第一有效结束时间到达时服务器未接收后续请求消息,则服务器丢弃请求消息。

  S58是接续S51的,也就是说,在顺序响应模式下,必须按照序列号指示的顺序来响应,如果服务器没有接收到应该先响应的后续请求消息,那么服务器就丢弃请求消息,即,宁愿不响应,也不会进行乱序响应。

  请参见图6,服务器确定响应策略为顺序并丢弃响应策略。其中,为了更便于理解,将图6画为普通的流程图模式。

  S61、服务器根据顺序并丢弃响应策略,不响应请求消息,且等待接收后续请求消息。其中,后续请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号连续。

  其中,S61可理解为对S23的细化。

  顺序并丢弃响应策略规定服务器优先选择按照序列号所指示的顺序来响应请求消息,因此服务器如果接收请求消息后识别请求消息的序列号,确定请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的该客户端发送的请求消息携带的序列号,则服务器先不响应请求消息。例如服务器将请求消息加入待响应队列,并等待接收后续请求消息。在这种情况下,服务器还可以向客户端发送响应消息,该响应消息用于指示请求消息已加入待响应队列。

  S62、服务器接收后续请求消息。其中,后续请求消息携带第二有效时间信息,第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。

  这是在第一有效结束时间到达之前服务器接收了后续请求消息的情况。

  S63、若当前的时间位于第二有效结束时间之前,则服务器响应后续请求消息。

  其中,如果当前的时间位于第二有效结束时间之前,则服务器是直接响应后续请求消息还是先将后续请求消息加入待响应队列,与当前的时间是否位于第二有效起始时间之前有关,关于这部分内容可参考如前对于服务器响应请求消息的描述,不多赘述。

  在服务器响应后续请求消息之后,还包括下面的步骤:

  S64、若当前的时间位于第一有效结束时间之前,则服务器响应请求消息。

  当然,请求消息携带了第一有效时间信息,服务器还需根据第一有效时间信息来响应请求消息。具体的服务器如何根据第一有效时间信息来响应请求消息,可参考图2所示的实施例以及图3所示的实施例的介绍,不多赘述。

  S65、或者,若当前的时间位于第一有效结束时间之后,服务器丢弃请求消息。

  如果当前的时间位于第一有效结束时间之后,表明请求消息已失效,则服务器直接丢弃请求消息。

  前面介绍的是当前的时间位于第二有效结束时间之前的情况,下面介绍S66:若当前的时间位于第二有效结束时间之后,则服务器丢弃后续请求消息。

  如果当前的时间位于第二有效结束时间之后,表明后续请求消息已失效,则服务器直接丢弃后续请求消息。

  S67、若当前的时间位于第一有效结束时间之前,服务器响应请求消息。

  S67是接续S66的,也就是说,在顺序并丢弃响应策略下,服务器是优先按照序列号所指示的顺序进行响应,但在无法按照序列号所指示的顺序进行响应的情况下,服务器会选择按照接收消息的先后顺序来响应。那么,如果服务器丢弃了后续请求消息,就是无法再按照序列号指示的顺序来响应,那么服务器会选择按照接收消息的先后顺序来响应,也就是服务器会选择响应请求消息。

  当然,请求消息携带了第一有效时间信息,服务器还需根据第一有效时间信息来响应请求消息。具体的服务器如何根据第一有效时间信息来响应请求消息,可参考图2所示的实施例以及图3所示的实施例的介绍,不多赘述。

  S62-S67介绍的都是服务器在第一有效结束时间到达之前接收了后续请求消息的情况,下面介绍S68:若在第一有效结束时间到达时服务器未接收后续请求消息,则,若当前的时间位于第一有效结束时间之前,服务器响应请求消息。

  S68是接续S61的,即,同样的,在无法按照序列号所指示的顺序进行响应的情况下,服务器会选择按照接收消息的先后顺序来响应。如果服务器没有能够接收后续请求消息,那么服务器会选择处理请求消息。在处理请求消息时,自然是根据第一有效时间信息进行处理,不多赘述。

  在S68之后,也就是在服务器响应请求消息之后,还可能包括下面的步骤:

  S69、服务器接收后续请求消息。

  S70、服务器丢弃后续请求消息。

  也就是说,在服务器先响应请求消息之后,服务器又接收了后续请求消息。在这种情况下,为了避免乱序,则服务器就丢弃后续请求消息,不再进行响应。

  根据如上的介绍可知,如果对客户端发送的请求消息要求有比较严格的执行顺序,即必须按照序列号所指示的顺序执行,或者如果不按照序列号所指示的顺序执行就会造成某些不良后果,那么服务器就可以选择顺序响应策略,通过这种方式可避免乱序执行所带来的不良后果。而如果对客户端发送的请求消息不要求严格的执行顺序,那么服务器就可以选择抢占响应策略或顺序并丢弃响应策略,以能够尽量响应所接收的请求消息。其中,顺序并丢弃响应策略又比抢占响应策略的顺序性更强一些,服务器在选择时也可以根据不同的实际情况来选择。

  通过本发明实施例所提供的方案,服务器根据请求消息携带的序列号就可识别请求消息的顺序,从而选择合适的响应策略,在不应出现乱序响应的情况下尽量避免乱序响应,减少可能出现的安全等问题,提高系统的可靠性。

  请参见图7,基于同一发明构思,本发明一实施例提供一种服务器,该服务器可以包括处理器701和接收器702。

  其中,处理器701可以包括中央处理器(CPU)或特定应用集成电路(ApplicationSpecific Integrated Circuit,ASIC),可以包括一个或多个用于控制程序执行的集成电路,可以包括使用现场可编程门阵列(Field Programmable Gate Array,FPGA)开发的硬件电路,可以包括基带芯片。

  可能的实施方式中,该服务器还可以包括存储器703,均在图7中一并示出,因为存储器703不是必选器件,因此在图7中画为虚线框的形式,以与必选器件进行区分。存储器703的数量可以是一个或多个。存储器703可以包括只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)和磁盘存储器,等等。存储器703可以用于存储处理器701执行任务所需的程序代码,还可以用于存储数据。

  其中,接收器702用于接收客户端发送的请求消息。处理器701用于:获得针对该请求消息的第一有效时间信息,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为规定的开始响应请求消息的时间,第一有效结束时间为规定的结束响应请求消息的时间;确定对请求消息的响应策略,及根据该响应策略以及第一有效时间信息处理请求消息。

  在可能的实施方式中,处理器701用于确定对请求消息的响应策略,包括:确定对请求消息的响应策略为按时响应策略。处理器701用于根据该响应策略以及第一有效时间信息处理请求消息,包括:根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息。

  在可能的实施方式中,处理器701用于根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息,包括:若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的等待响应方式或直接响应方式响应请求消息。

  在可能的实施方式中,处理器701用于若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的等待响应方式响应请求消息,包括:若当前的时间位于第一有效起始时间之前,则启动第一定时器,在第一定时器的计时时长到达时,响应请求消息。第一定时器的计时时长大于或等于第一有效起始时间与当前的时间之间的差值,且小于或等于第一有效结束时间与当前的时间之间的差值。

  在可能的实施方式中,处理器701用于若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的直接响应方式响应请求消息,包括:若当前的时间与第一有效起始时间一致,或当前的时间位于第一有效起始时间之后以及第一有效结束时间之前,则响应请求消息。

  在可能的实施方式中,处理器701用于根据该响应策略以及第一有效时间信息处理请求消息,还包括:根据按时响应策略,若当前的时间位于第一有效结束时间之后,则丢弃请求消息。

  在可能的实施方式中,该服务器还可以包括发送器704,均在图7中一并示出,因为发送器704不是必选器件,因此在图7中画为虚线框的形式,以与必选器件进行区分。发送器704可以属于射频系统,用于与外部设备进行网络通信,例如可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。

  本发明实施例中,发送器704用于向客户端发送响应消息,响应消息用于指示请求消息已响应完毕,或用于指示请求消息已加入待响应队列,或用于指述请求消息已被丢弃。其中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  在可能的实施方式中,请求消息还携带序列号。那么,处理器701用于确定对请求消息的响应策略,包括:若请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的该客户端发送的请求消息携带的序列号,则确定响应策略为抢占响应策略、顺序响应策略、或顺序并丢弃响应策略。

  在可能的实施方式中,若处理器701确定响应策略为抢占响应策略,则,处理器701用于根据该响应策略以及第一有效时间信息处理请求消息,包括:根据抢占响应策略以及第一有效时间信息响应请求消息。处理器701还用于:在响应请求消息之后,若通过接收器702接收到的后续请求消息携带的序列号小于请求消息携带的序列号,则丢弃该后续请求消息。

  在可能的实施方式中,若处理器701确定响应策略为顺序响应策略或顺序并丢弃响应策略,则处理器701用于根据该响应策略以及第一有效时间信息处理请求消息,包括:根据顺序响应策略或顺序并丢弃响应策略,不响应请求消息,且等待接收后续请求消息。后续请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号连续。

  在可能的实施方式中,接收器702还用于接收后续请求消息,后续请求消息携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。处理器701还用于若当前的时间位于第二有效结束时间之前,则响应后续请求消息。

  在可能的实施方式中,处理器701还用于:在响应后续请求消息之后,若当前的时间位于第一有效结束时间之前,则响应请求消息;或,在响应后续请求消息之后,若当前的时间位于第一有效结束时间之后,则丢弃请求消息。

  在可能的实施方式中,处理器701还用于:若当前的时间位于第二有效结束时间之后,则丢弃后续请求消息。

  在可能的实施方式中,处理器701还用于:若确定响应策略为顺序响应策略,且当前的时间位于第二有效结束时间之后,则丢弃请求消息;或,若确定响应策略为顺序并丢弃响应策略,且当前的时间位于第二有效结束时间之后,则,若当前的时间位于第一有效结束时间之前,响应请求消息。

  在可能的实施方式中,处理器701还用于:若确定响应策略为顺序响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则丢弃该请求消息;或,若确定响应策略为顺序并丢弃响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则,若当前的时间位于第一有效结束时间之前,响应该请求消息。

  在可能的实施方式中,接收器702还用于:在处理器701响应请求消息之后,接收该后续请求消息。处理器701还用于:丢弃该后续请求消息。

  在可能的实施方式中,处理器701用于获得针对请求消息的第一有效时间信息,包括:获得请求消息携带的第一有效时间信息;或,根据请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素确定第一有效时间信息。

  其中,接收器702、存储器703和发送器704可以通过总线700与处理器701相连接(图7以此为例),或者也可以通过专门的连接线与处理器701连接。

  通过对处理器701进行设计编程,将前述所示的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述实施例中的所示的方法。如何对处理器701进行设计编程为本领域技术人员所公知的技术,这里不再赘述。

  该服务器可以用于执行上述图2所示的实施例-图6所示的实施例中的任意一个实施例所提供的方法,例如是如前所述的服务器。因此,对于该服务器中的各功能单元所实现的功能等,可参考如前方法部分的描述,不多赘述。

  请参见图8,基于同一发明构思,本发明一实施例提供一种服务器,该服务器可以包括处理单元801和接收单元802。

  其中,接收单元802用于接收客户端发送的请求消息。处理单元801用于:获得针对该请求消息的第一有效时间信息,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为规定的开始响应该请求消息的时间,第一有效结束时间为规定的结束响应该请求消息的时间;确定对请求消息的响应策略,及根据该响应策略以及第一有效时间信息处理该请求消息。

  在可能的实施方式中,处理单元801用于确定对请求消息的响应策略,包括:确定该响应策略为按时响应策略。处理单元801用于根据响应策略以及第一有效时间信息处理请求消息,包括:根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应该请求消息。

  在可能的实施方式中,处理单元801用于根据按时响应策略,若当前的时间位于第一有效结束时间之前,则响应请求消息,包括:若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的等待响应方式或直接响应方式响应该请求消息。

  在可能的实施方式中,处理单元801用于若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的等待响应方式响应该请求消息,包括:若当前的时间位于第一有效起始时间之前,则启动第一定时器,在第一定时器的计时时长到达时,响应该请求消息。第一定时器的计时时长大于或等于第一有效起始时间与当前的时间之间的差值,且小于或等于第一有效结束时间与当前的时间之间的差值。

  在可能的实施方式中,处理单元801用于若当前的时间位于第一有效结束时间之前,则根据按时响应策略中的直接响应方式响应该请求消息,包括:若当前的时间与第一有效起始时间一致,或当前的时间位于第一有效起始时间之后以及第一有效结束时间之前,则响应该请求消息。

  在可能的实施方式中,处理单元801用于根据响应策略以及第一有效时间信息处理请求消息,还包括:根据按时响应策略,若当前的时间位于第一有效结束时间之后,则丢弃请求消息。

  在可能的实施方式中,该服务器还可以包括发送单元803,均在图8中一并示出,因为发送单元803不是必选器件,因此在图8中画为虚线框的形式,以与必选器件进行区分。

  本发明实施例中,发送单元803用于向客户端发送响应消息,响应消息用于指示请求消息已响应完毕,或用于指示请求消息已加入待响应队列,或用于指述请求消息已被丢弃。其中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  在可能的实施方式中,请求消息还携带序列号。那么,处理单元801用于确定对请求消息的响应策略,包括:若请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号不连续,且请求消息携带的序列号大于服务器最近一次接收的该客户端发送的请求消息携带的序列号,则确定响应策略为抢占响应策略、顺序响应策略、或顺序并丢弃响应策略。

  在可能的实施方式中,若处理单元801确定响应策略为抢占响应策略,则,处理单元801用于根据响应策略以及第一有效时间信息处理请求消息,包括:根据抢占响应策略以及第一有效时间信息响应该请求消息。处理单元801还用于:在响应该请求消息之后,若接收单元802接收到的后续请求消息携带的序列号小于该请求消息携带的序列号,则丢弃该后续请求消息。

  在可能的实施方式中,若处理单元801确定响应策略为顺序响应策略或顺序并丢弃响应策略,则处理单元801用于根据响应策略以及第一有效时间信息处理请求消息,包括:根据顺序响应策略或顺序并丢弃响应策略,不响应请求消息,且等待接收后续请求消息。后续请求消息携带的序列号与服务器最近一次接收的该客户端发送的请求消息携带的序列号连续。

  在可能的实施方式中,接收单元802还用于接收后续请求消息,后续请求消息携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。处理单元801还用于若当前的时间位于第二有效结束时间之前,则响应后续请求消息。

  在可能的实施方式中,处理单元801还用于:在响应后续请求消息之后,若当前的时间位于第一有效结束时间之前,则响应请求消息;或,在响应后续请求消息之后,若当前的时间位于第一有效结束时间之后,则丢弃请求消息。

  在可能的实施方式中,处理单元801还用于:若当前的时间位于第二有效结束时间之后,则丢弃后续请求消息。

  在可能的实施方式中,处理单元801还用于:若确定响应策略为顺序响应策略,且当前的时间位于第二有效结束时间之后,则丢弃请求消息;或,若确定响应策略为顺序并丢弃响应策略,且当前的时间位于第二有效结束时间之后,则,若当前的时间位于第一有效结束时间之前,响应请求消息。

  在可能的实施方式中,处理单元801还用于:若确定响应策略为顺序响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则丢弃请求消息;或,若确定响应策略为顺序并丢弃响应策略,且在第一有效结束时间到达时服务器未接收后续请求消息,则,若当前的时间位于第一有效结束时间之前,响应请求消息。

  在可能的实施方式中,接收单元802还用于:在处理单元801响应请求消息之后,接收后续请求消息。处理单元801还用于:丢弃后续请求消息。

  在可能的实施方式中,处理单元801用于获得针对请求消息的第一有效时间信息,包括:获得请求消息携带的第一有效时间信息;或,根据请求消息的类型、请求消息的内容、以及客户端的标识中的至少一种因素确定第一有效时间信息。

  在实际应用中,接收单元802对应的实体设备可以是图7中的接收器702,处理单元801对应的实体设备可以是图7中的处理器701,发送单元803对应的实体设备可以是图7中的发送器704。

  该服务器可以用于执行上述图2所示的实施例-图6所示的实施例中的任意一个实施例所提供的方法,例如是如前所述的服务器。因此,对于该服务器中的各功能单元所实现的功能等,可参考如前方法部分的描述,不多赘述。

  请参见图9,基于同一发明构思,本发明一实施例提供一种客户端,该客户端可以包括发送器901和接收器902。

  其中,发送器901用于向服务器发送请求消息,该请求消息携带第一有效时间信息。其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为服务器开始响应请求消息的时间,第一有效结束时间为服务器结束响应请求消息的时间。接收器902用于接收服务器发送的响应消息,响应消息用于指示该请求消息已响应完毕,或用于指示该请求消息已加入待响应队列,或用于指示该请求消息已被丢弃。

  在可能的实施方式中,该请求消息还携带序列号。那么,发送器901还用于:向服务器发送后续请求消息,该后续请求消息携带序列号。

  在可能的实施方式中,该后续请求消息还携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。

  在可能的实施方式中,若响应消息用于指示该请求消息已响应完成或用于指示该请求消息已被丢弃,则该响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理该请求消息的时间之间的差值。

  在可能的实施方式中,该客户端还包括处理器903。处理器903可以包括CPU或ASIC,可以包括一个或多个用于控制程序执行的集成电路,可以包括使用FPGA开发的硬件电路,可以包括基带芯片。

  可能的实施方式中,该客户端还可以包括存储器904,均在图9中一并示出,存储器904的数量可以是一个或多个。存储器904可以包括ROM、RAM和磁盘存储器,等等。存储器904可以用于存储处理器903执行任务所需的程序代码,还可以用于存储数据。

  其中,因为处理器903和存储器904都不是必选器件,因此在图9中画为虚线框的形式,以与必选器件进行区分。

  处理器903用于根据时间偏移值调整之后发送的请求消息携带的有效时间信息。

  其中,接收器902、存储器904和发送器901可以通过总线900与处理器903相连接(图9以此为例),或者也可以通过专门的连接线与处理器903连接。

  通过对处理器903进行设计编程,将前述所示的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述实施例中的所示的方法。如何对处理器903进行设计编程为本领域技术人员所公知的技术,这里不再赘述。

  该客户端可以用于执行上述图2所示的实施例-图6所示的实施例中的任意一个实施例所提供的方法,例如是如前所述的客户端。因此,对于该客户端中的各功能单元所实现的功能等,可参考如前方法部分的描述,不多赘述。

  请参见图10,基于同一发明构思,本发明一实施例提供一种客户端,该客户端可以包括发送单元1001和接收单元1002。

  其中,发送单元1001用于向服务器发送请求消息,该请求消息携带第一有效时间信息。其中,第一有效时间信息用于指示第一有效起始时间及第一有效结束时间,第一有效起始时间为服务器开始响应请求消息的时间,第一有效结束时间为服务器结束响应请求消息的时间。接收单元1002用于接收服务器发送的响应消息,响应消息用于指示该请求消息已响应完毕,或用于指示该请求消息已加入待响应队列,或用于指示该请求消息已被丢弃。

  在可能的实施方式中,该请求消息还携带序列号。那么,发送单元1001还用于向服务器发送后续请求消息,该后续请求消息携带序列号。

  在可能的实施方式中,后续请求消息还携带第二有效时间信息。第二有效时间信息用于指示第二有效起始时间及第二有效结束时间,第二有效起始时间为规定的开始响应后续请求消息的时间,第二有效结束时间为规定的结束响应后续请求消息的时间。

  在可能的实施方式中,若响应消息用于指示请求消息已响应完成或用于指示请求消息已被丢弃,则响应消息还携带时间偏移值,时间偏移值为第一有效起始时间与服务器处理请求消息的时间之间的差值。

  在可能的实施方式中,该服务器还可以包括处理单元1003,均在图10中一并示出,因为处理单元1003不是必选器件,因此在图10中画为虚线框的形式,以与必选器件进行区分。

  其中,处理单元1003用于根据时间偏移值调整之后发送的请求消息携带的有效时间信息。

  在实际应用中,接收单元1002对应的实体设备可以是图9中的接收器902,处理单元1003对应的实体设备可以是图9中的处理器903,发送单元1001对应的实体设备可以是图9中的发送器901。

  该客户端可以用于执行上述图2所示的实施例-图6所示的实施例中的任意一个实施例所提供的方法,例如是如前所述的客户端。因此,对于该客户端中的各功能单元所实现的功能等,可参考如前方法部分的描述,不多赘述。

  本发明实施例中,服务器接收客户端发送的请求消息后,可以获得该请求消息对应的第一有效时间信息,服务器根据第一有效时间信息就可以确定响应请求消息的第一有效起始时间和第一有效结束时间,也就是确定应该在何时响应请求消息。那么,如果当前的时间不是第一有效时间信息所规定的时间,则服务器显然不会响应请求消息,也就是说,本发明实施例中的服务器能够识别接收的消息是否有效,从而不会响应失效的消息,减少了安全隐患,提高了整个系统的安全性。

  本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括如前的任意一个方法实施例中记载的服务器所执行的全部步骤。

  本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括如前的任意一个方法实施例中记载的客户端所执行的全部步骤。

  本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

  本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

  这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

  这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

  显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

《一种通信系统中服务器响应请求消息的方法及设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)