CN112153037A - 一种rest请求响应方法、装置、设备及介质 - Google Patents

一种rest请求响应方法、装置、设备及介质 Download PDF

Info

Publication number
CN112153037A
CN112153037A CN202010989180.6A CN202010989180A CN112153037A CN 112153037 A CN112153037 A CN 112153037A CN 202010989180 A CN202010989180 A CN 202010989180A CN 112153037 A CN112153037 A CN 112153037A
Authority
CN
China
Prior art keywords
request
interaction
rest
stored
application
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.)
Granted
Application number
CN202010989180.6A
Other languages
English (en)
Other versions
CN112153037B (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 Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology 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 Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202010989180.6A priority Critical patent/CN112153037B/zh
Publication of CN112153037A publication Critical patent/CN112153037A/zh
Application granted granted Critical
Publication of CN112153037B publication Critical patent/CN112153037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种REST请求响应方法、装置、设备、介质,该方法包括:获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成;对所述交互ID进行校验;在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续;如果是,则利用当前请求序号更新所述已存储序号;对所述REST请求进行响应,并将响应结果反馈到所述客户端。这样能够保证REST请求交互过程中的安全,且不需要消耗较多的服务端资源以及增加服务端开销。

Description

一种REST请求响应方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,特别涉及一种REST请求响应方法、装置、设备、介质。
背景技术
随着互联网数据高速增长,存储阵列应运而生,存储阵列可以为企业提供安全可靠的数据存储服务。客户端使用简单方便的REST接口来监控和管理存储阵列,因此提供REST接口几乎成了存储阵列的必备功能。
客户端通过REST接口管理或监控存储阵列依托于网络传输,如果传输报文被第三方拦截,然后不停地将拦截的报文原封不动的重复发送到存储阵列,存储阵列收到后无法辨别报文是否被拦截过,会按照请求执行指令,这会造成数据损坏,造成较大的损失。
对于上述问题,现有技术中主要包括为客户端每次发送REST请求时,携带一个不一样的Token,服务端(存储阵列)收到请求后,判断是否收到过这个Token,如果之前未收到过才会响应请求。
发明人在实现本发明的过程中发现上述现有技术可能存储以下问题:采用上述方法时,需要服务端保存每次发来的Token,需要消耗较多的存储空间等资源,增加了服务端开销。
发明内容
有鉴于此,本申请的目的在于提供一种REST请求响应方法、装置、设备、介质,能够保证REST请求交互过程中的安全,且不需要消耗较多的服务端资源以及增加服务端开销。其具体方案如下:
第一方面,本申请公开了一种REST请求响应方法,应用于服务端,包括:
获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成;
对所述交互ID进行校验;
在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续;
如果是,则利用当前请求序号更新所述已存储序号;
对所述REST请求进行响应,并将响应结果反馈到所述客户端。
可选地,所述获取客户端发送的REST请求之前,还包括:
获取所述客户端发送的应用ID生成请求;
根据所述应用ID生成请求生成第一唯一ID,并对所述第一唯一ID进行加密,得到应用ID;
将所述应用ID发送给所述客户端,以便所述客户端根据所述应用ID发送交互ID生成请求。
可选地,所述将所述应用ID发送给所述客户端之后,还包括:
获取所述客户端发送的交互ID生成请求,其中,所述交互ID生成请求中包括所述应用ID;
对所述应用ID进行校验;
在所述应用ID校验通过时,生成第二唯一ID,并对所述应用ID和所述第二唯一ID进行加密,得到所述交互ID;
将所述交互ID发送给所述客户端。
可选地,所述判断当前请求序号与所述服务端中保存的、与所述交互ID关联的已存储序号是否连续的过程中,还包括:
如果所述服务端中未保存所述交互ID以及与所述交互ID关联的已存储序号;
将对所述交互ID进行解密得到的所述应用ID、所述交互ID以及当前请求序号保存到所述服务端中,并对所述交互ID和当前请求序号进行关联。
可选地,所述REST请求响应方法,还包括:
获取所述客户端发送的数据删除请求,其中,所述数据删除请求中包括所述应用ID或所述交互ID;
当所述数据删除请求中包括所述应用ID时,将所述服务端中保存的所述应用ID、所述应用ID对应的全部交互ID以及与各个交互ID关联的已存储序号删除;
当所述数据删除请求中包括所述交互ID时,将所述服务端中保存的所述交互ID以及与所述交互ID关联的已存储序号删除。
可选地,所述REST请求响应方法,还包括:
定时轮询所述服务端中保存的全部应用ID、全部交互ID以及与各个交互ID关联的已存储序号;
如果存在已存储序号超过预设时间间隔未更新,则将与超过预设时间间隔未更新的已存储序号关联的交互ID删除;
如果所述服务端中保存的应用ID对应的全部交互ID已被删除,则将全部交互ID已被删除的应用ID删除。
可选地,所述判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续之后,还包括:
如果判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号不连续,则向所述客户端反馈相应的错误提示信息。
第二方面,本申请公开了一种REST请求响应装置,应用于服务端,包括:
请求获取模块,用于获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成;
校验模块,用于对所述交互ID进行校验;
判断模块,用于在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续;
数据更新模块,用于在所述判断模块的判断结果为是时,则利用当前请求序号更新所述已存储序号;
请求响应模块,用于对所述REST请求进行响应,并将响应结果反馈到所述客户端。
第三方面,本申请公开了一种电子设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的REST请求响应方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的REST请求响应方法。
可见,本申请先获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成,然后对所述交互ID进行校验,在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续,如果是,则利用当前请求序号更新所述已存储序号,然后再对所述REST请求进行响应,并将响应结果反馈到所述客户端。这样在接收到REST请求之后,需要先对REST请求中的交互ID进行校验,并在校验成功之后才进行下一步操作,可以保证接收到的REST请求来自服务端对应的客户端,然后在交互ID校验通过之后,还需要判断REST请求中的当前请求序号和服务端中保存的、与REST请求中的交互ID关联的已存储序号是否连续,如果连续,则表明当前接收到的REST请求为客户端中REST线程直接发送到服务端的,由此避免了由于REST请求被第三方拦截之后,如果不停地、重复向服务端发送拦截下来的REST请求导致的数据损坏问题,较少损失,能够保证REST请求交互过程中的安全,且不同REST请求中包括的交互ID以及请求序号等不需要进行多次存储,只需要利用当前请求序号更新已存储序号即可,避免了消耗较多的服务端存储资源以及增加服务端开销。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种REST请求响应方法流程图;
图2为本申请公开的一种具体的REST请求响应方法部分流程图;
图3为本申请公开的一种具体的REST请求响应方法部分流程图;
图4为本申请公开的一种具体的REST请求响应方法部分流程图;
图5为本申请公开的一种具体的REST请求响应方法部分流程图;
图6为本申请公开的一种具体的REST请求响应方法部分流程图;
图7为本申请公开的一种具体的REST请求响应方法部分流程图;
图8为本申请公开的一种REST请求响应装置结构示意图;
图9为本申请公开的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请实施例公开了一种REST请求响应方法,应用于服务端,该方法包括:
步骤S11:获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成。
在实际应用过程中,需要先获取客户端发送的REST(Representational StateTransfer,表述性状态传递)请求,其中,所述REST请求中包括交互ID(identity,身份标识)和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成。
也即,客户端中可以包括不同的REST线程,不同的REST线程均可以向所述服务端发送REST请求,不同的REST线程拥有不同的交互ID,不同的REST线程向所述服务端发送REST请求时,携带自身线程对应的交互ID,以及根据自身上次向所述服务端中发送REST请求时携带的请求序号生成的当前请求序号。例如,REST线程1对应的交互ID为A,REST线程2对应的交互ID为B,REST线程1已经发送过10次REST请求,REST线程2已经发送过5次REST请求,则下次REST线程1再次向所述服务端发送REST请求时,发送的REST请求中需要携带A以及序号11,下次REST线程2再向所述服务端发送REST请求时,发送的REST请求中需要携带B以及序号6。
其中,所述交互ID为RSET线程在向所述服务端发送REST请求之前,根据所述客户端的应用ID向所述服务端请求得到的一个加密后的唯一ID。也即,所述客户端在向所述服务端发送REST请求之前,需要先向所述服务端请求应用ID,然后再向所述服务端为各个REST线程请求交互ID,其中,所述交互ID为根据所述应用ID生成。
步骤S12:对所述交互ID进行校验。
在获取到所述REST请求之后,还需要对所述REST请求中的交互ID进行校验,以便确定所述REST请求是否由所述服务端对应的客户端发出。
具体的,对所述交互ID进行校验,包括:对所述交互ID进行解密。对所述交互ID解密成功,则判定所述交互ID校验通过,如果解密失败,则判定所述交互ID校验失败,并向所述客户端返回对应的错误信息。
步骤S13:在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续。
可以理解的是,在对所述交互ID进行校验之后,如果所述交互ID校验通过,则需要判断所述REST请求中的当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续。
在第一次接收到所述REST线程发送的REST请求时,所述服务端便会对所述REST请求中的交互ID和请求序号进行存储,并建立存储的交互ID和对应的请求序号之间的关联关系,然后再次接收到同一个REST线程发送的REST请求时,便可以根据接收到的REST请求中的交互ID在服务端的存储区域中查询到已经存储的交互ID以及关联的已存储序号,然后判断当前REST请求中的当前请求序号和查询到的已存储序号是否连续。
例如,接收到的REST请求中包括的交互ID为C,当前请求序号为12,则在所述服务端的存储区域中查找是否存在交互ID C,如果存在,则读取与交互ID C关联的已存储序号,如果与交互ID C关联的已存储序号为11,则判定当前请求序号与所述服务端中保存的、与所述交互ID关联的已存储序号连续。
在判断当前请求序号与所述服务端中保存的、与所述交互ID关联的已存储序号是否连续的过程中,还包括:如果所述服务端中未保存所述交互ID以及与所述交互ID关联的已存储序号;将对所述交互ID进行解密得到的应用ID、所述交互ID以及当前请求序号保存到所述服务端中,并对所述交互ID和当前请求序号进行关联。
也即,当所述服务端中还未保存接收到的REST请求中的交互ID以及与所述交互ID关联的已存储序号时,则表明所述服务端是首次接收到该REST线程发送的REST请求,所以需要对所述交互ID进行解密,得到对应的应用ID,然后将解密得到的应用ID、所述交互ID以及当前接收到的REST请求中包括的当前请求序号存储到所述服务端中,并建立所述交互ID和当前请求序号之间的关联关系,以便根据所述交互ID便可以找到当前请求序号。
步骤S14:如果是,则利用当前请求序号更新所述已存储序号。
相应的,在判断当前请求序号与所述服务端中保存的、与所述交互ID关联的已存储序号是否连续之后,如果当前请求序号与所述服务端中保存的、与所述交互ID关联的已存储序号连续,则表明接收到的REST请求为所述服务端对应的客户端直接发送的,而不是客户端发送之后,被第三方拦截并不停地重复发送的,所以可以对接收到的REST请求进行相关的响应操作。
具体的,就是在当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号连续时,先利用当前请求序号更新所述服务端中对应的已存储序号。如果当前请求序号与本地保存的所述交互ID关联的已存储序号不连续,则向所述客户端反馈相应的错误提示信息。
步骤S15:对所述REST请求进行响应,并将响应结果反馈到所述客户端。
还需要对所述REST请求进行响应,并将响应结果反馈到所述客户端。也即,根据所述REST请求进行相应的处理,然后将得到的结果反馈给所述客户端。
可见,本申请先获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成,然后对所述交互ID进行校验,在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续,如果是,则利用当前请求序号更新所述已存储序号,然后再对所述REST请求进行响应,并将响应结果反馈到所述客户端。这样在接收到REST请求之后,需要先对REST请求中的交互ID进行校验,并在校验成功之后才进行下一步操作,可以保证接收到的REST请求来自服务端对应的客户端,然后在交互ID校验通过之后,还需要判断REST请求中的当前请求序号和服务端中保存的、与REST请求中的交互ID关联的已存储序号是否连续,如果连续,则表明当前接收到的REST请求为客户端中REST线程直接发送到服务端的,由此避免了由于REST请求被第三方拦截之后,如果不停地、重复向服务端发送拦截下来的REST请求导致的数据损坏问题,较少损失,能够保证REST请求交互过程中的安全,且不同REST请求中包括的交互ID以及请求序号等不需要进行多次存储,只需要利用当前请求序号更新已存储序号即可,避免了消耗较多的服务端存储资源以及增加服务端开销。
参见图2所示,在所述获取客户端发送的REST请求之前,还包括:
步骤S21:获取所述客户端发送的应用ID生成请求。
具体的,就是需要先获取所述客户端发送的应用ID生成请求,以便所述服务端中在接收到所述应用ID生成请求之后,可以为所述客户端生成应用ID。
步骤S22:根据所述应用ID生成请求生成第一唯一ID,并对所述第一唯一ID进行加密,得到应用ID。
可以理解的是,在获取到所述应用ID生成请求之后,便可以根据所述应用ID生成请求生成第一唯一ID,并对所述第一唯一ID进行加密,得到应用ID。在实际应用中,可以是接收到所述应用ID之后,直接生成一个唯一ID,生成的唯一ID中不包括所述客户端的身份标识等信息。也可以在所述应用ID生成请求包括客户端信息时,根据所述应用ID生成请求中的客户端的身份信息生成一个唯一ID,生成的唯一ID中包括所述客户端的身份信息。
生成所述第一唯一ID之后,对所述第一唯一ID进行加密,便可以得到所述应用ID,在此不限定对所述第一唯一ID进行加密过程中所用到的加密算法,可以根据实际情况具体确定。
步骤S23:将所述应用ID发送给所述客户端,以便所述客户端根据所述应用ID发送交互ID生成请求。
相应的,得到所述应用ID之后,还需要将所述应用ID返回给所述客户端,所述客户端在接收到所述应用ID之后,对所述应用ID进行保存。
参见图3所示,为REST请求响应方法的部分流程图。客户端向服务端发发送获取“应用ID”请求,所述服务端在获取到所述获取“应用ID”请求之后,生成应用ID,然后向所述客户端返回应用ID,所述客户端在接收到所述应用ID之后,对所述应用ID进行保存。
参见图4所示,将所述应用ID发送给所述客户端之后,还包括:
步骤S31:获取所述客户端发送的交互ID生成请求,其中,所述交互ID生成请求中包括所述应用ID。
在客户端获取到所述应用ID之后,还会向所述服务端发送交互ID生成请求,所述交互ID生成请求中包括所述应用ID,所以所述服务端就需要获取所述客户端发送的交互ID生成请求。
步骤S32:对所述应用ID进行校验。
在获取到所述客户端发送的交互ID生成请求之后,还需要对所述交互ID生成请求中携带的应用ID进行校验。具体的,就是对所述应用ID进行解密,如果解密成功,则判定所述应用ID校验成功,如果解密失败,则判定所述应用ID校验失败。
步骤S33:在所述应用ID校验通过时,生成第二唯一ID,并对所述应用ID和所述第二唯一ID进行加密,得到所述交互ID。
在所述应用ID校验通过时,生成第二唯一ID,并对所述应用ID和所述第二唯一ID进行加密,得到交互ID。具体的,就是先生成一个唯一ID,然后将生成的这个唯一ID和应用ID一起进行加密,得到交互ID。
步骤S34:将所述交互ID发送给所述客户端。
在得到所述交互ID之后,便可以将所述交互ID返回给所述客户端。如果客户端有多个REST线程,需为每个线程获取一个交互ID,也可以获取更多留着交互ID备用。
参见图5所示,为REST请求响应方法的部分流程图。客户端向服务端发送获取交互ID请求,其中,所述获取交互ID请求中携带应用ID,所述服务端在获取到所述获取交互ID请求之后,校验所述应用ID,在所述应用ID校验通过后,生成交互ID,并向所述客户端返回所述交互ID,所述客户端在接收到所述交互ID之后,对所述交互ID进行保存。
参见图6所示,本申请实施例公开的一种REST请求响应方法的部分流程图,包括:
步骤S41:获取所述客户端发送的数据删除请求,其中,所述数据删除请求中包括所述应用ID或所述交互ID。
在实际应用中,获取所述客户端发送的数据删除请求,其中,所述数据删除请求中包括所述应用ID或所述交互ID。获取所述数据删除请求中可以包括一个应用ID以及另外一个应用ID对应的交互ID,例如,所述数据删除请求中可以包括第一应用ID以及第二应用ID对应的交互ID。
步骤S42:当所述数据删除请求中包括所述应用ID时,将所述服务端中保存的所述应用ID、所述应用ID对应的全部交互ID以及与各个交互ID关联的已存储序号删除。
当所述数据删除请求中包括应用ID时,表明需要将所述服务端中所述应用ID以及与接收到的应用ID对应的全部交互ID以及与各个交互ID关联的已存储序号均删除。
步骤S43:当所述数据删除请求中包括所述交互ID时,将所述服务端中保存的所述交互ID以及与所述交互ID关联的已存储序号删除。
当所述数据删除请求中包括交互ID时,将所述服务端中保存的和获取到的交互ID相同的交互ID以及相关联的已存储序号删除。
当所述数据删除请求中既包括应用ID,也包括交互ID时,将所述服务端中所述应用ID以及与接收到的应用ID对应的全部交互ID以及与各个交互ID关联的已存储序号均删除,并将所述服务端中保存的和获取到的交互ID相同的交互ID以及相关联的已存储序号删除。例如,所述数据删除请求中包括第一应用ID和第二应用ID对应的交互ID时,将所述服务端中保存的第一应用ID、第一应用ID对应的全部交互ID、与各个交互ID关联的已存储序号均删除,并将所述服务端中第二应用ID对应的交互ID、与第二应用ID对应的交互ID关联的已存储序号删除。
所述数据删除请求中可以携带多个应用ID或交互ID,也可以同时携带应用ID和交互ID,例如客户端期望删除某应用ID关联的全部交互ID,并同时删除其它应用ID的某些交互ID时,则需要在请求中同时携带应用ID和交互ID。
由于交互ID可能较多,客户端不容易维护,因此可以使用应用ID删除其关联的全部交互ID。
参见图7所示,为REST请求响应方法的部分流程图。客户端发送删除请求,其中,删除请求中携带应用ID或交互ID,服务端在获取到删除请求时,如果删除请求中包括应用ID,则删除对应的全部交互ID和序号,如果删除请求中包括交互ID,则删除交互ID以及对应的序号,并向所述客户端返回处理结果。
为了防止客户端未主动删除服务端已保存的应用ID或交互ID,服务端提供一套自动清除机制,具体包括:
定时轮询所述服务端中保存的全部应用ID、全部交互ID以及与各个交互ID关联的已存储序号;如果存在已存储序号超过预设时间间隔未更新,则将与超过预设时间间隔未更新的已存储序号关联的交互ID删除;如果所述服务端中保存的应用ID对应的全部交互ID已被删除,则将全部交互ID已被删除的应用ID删除。
具体的,就是定时轮询所述服务端中保存的全部应用ID、全部交互ID以及与各个交互ID关联的已存储序号,如果有的已存储序号超过预设时间间隔未更新,则将其删除,如果有的应用ID对应的全部交互ID已被删除,则将其删除。这样可以及时将不需要再利用的应用ID、交互ID以及已存储序号删除,避免服务端的资源被一直占用着,减少服务端的开销。
参见图8所示,本申请实施例公开了一种REST请求响应装置,应用于服务端,包括:
请求获取模块11,用于获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成;
校验模块12,用于对所述交互ID进行校验;
判断模块13,用于在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续;
数据更新模块14,用于在所述判断模块的判断结果为是时,则利用当前请求序号更新所述已存储序号;
请求响应模块15,用于对所述REST请求进行响应,并将响应结果反馈到所述客户端。
可见,本申请先获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成,然后对所述交互ID进行校验,在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续,如果是,则利用当前请求序号更新所述已存储序号,然后再对所述REST请求进行响应,并将响应结果反馈到所述客户端。这样在接收到REST请求之后,需要先对REST请求中的交互ID进行校验,并在校验成功之后才进行下一步操作,可以保证接收到的REST请求来自服务端对应的客户端,然后在交互ID校验通过之后,还需要判断REST请求中的当前请求序号和服务端中保存的、与REST请求中的交互ID关联的已存储序号是否连续,如果连续,则表明当前接收到的REST请求为客户端中REST线程直接发送到服务端的,由此避免了由于REST请求被第三方拦截之后,如果不停地、重复向服务端发送拦截下来的REST请求导致的数据损坏问题,较少损失,能够保证REST请求交互过程中的安全,且不同REST请求中包括的交互ID以及请求序号等不需要进行多次存储,只需要利用当前请求序号更新已存储序号即可,避免了消耗较多的服务端存储资源以及增加服务端开销。
参见图9所示,为本申请实施例提供的一种电子设备20的结构示意图,该电子设备20可以实现前述实施例中公开的REST请求响应方法步骤。
通常,本实施例中的电子设备20包括:处理器21和存储器22。
其中,处理器21可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器21可以采用DSP(digital signal processing,数字信号处理)、FPGA(field-programmable gate array,现场可编程们阵列)、PLA(programmable logic array,可编程逻辑阵列)中的至少一种硬件来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有GPU(graphics processing unit,图像处理器),GPU用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器21可以包括AI(artificialintelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器22可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器22还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器22至少用于存储以下计算机程序221,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例中公开的REST请求响应方法步骤。
在一些实施例中,电子设备20还可包括有显示屏23、输入输出接口24、通信接口25、传感器26、电源27以及通信总线28。
本技术领域人员可以理解,图9中示出的结构并不构成对电子设备20的限定,可以包括比图示更多或更少的组件。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述任一实施例中公开的REST请求响应方法。
其中,关于上述REST请求响应方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种REST请求响应方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种REST请求响应方法,其特征在于,应用于服务端,包括:
获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成;
对所述交互ID进行校验;
在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续;
如果是,则利用当前请求序号更新所述已存储序号;
对所述REST请求进行响应,并将响应结果反馈到所述客户端。
2.根据权利要求1所示的REST请求响应方法,其特征在于,所述获取客户端发送的REST请求之前,还包括:
获取所述客户端发送的应用ID生成请求;
根据所述应用ID生成请求生成第一唯一ID,并对所述第一唯一ID进行加密,得到应用ID;
将所述应用ID发送给所述客户端,以便所述客户端根据所述应用ID发送交互ID生成请求。
3.根据权利要求2所示的REST请求响应方法,其特征在于,所述将所述应用ID发送给所述客户端之后,还包括:
获取所述客户端发送的交互ID生成请求,其中,所述交互ID生成请求中包括所述应用ID;
对所述应用ID进行校验;
在所述应用ID校验通过时,生成第二唯一ID,并对所述应用ID和所述第二唯一ID进行加密,得到所述交互ID;
将所述交互ID发送给所述客户端。
4.根据权利要求3所示的REST请求响应方法,其特征在于,所述判断当前请求序号与所述服务端中保存的、与所述交互ID关联的已存储序号是否连续的过程中,还包括:
如果所述服务端中未保存所述交互ID以及与所述交互ID关联的已存储序号;
将对所述交互ID进行解密得到的所述应用ID、所述交互ID以及当前请求序号保存到所述服务端中,并对所述交互ID和当前请求序号进行关联。
5.根据权利要求3所示的REST请求响应方法,其特征在于,还包括:
获取所述客户端发送的数据删除请求,其中,所述数据删除请求中包括所述应用ID或所述交互ID;
当所述数据删除请求中包括所述应用ID时,将所述服务端中保存的所述应用ID、所述应用ID对应的全部交互ID以及与各个交互ID关联的已存储序号删除;
当所述数据删除请求中包括所述交互ID时,将所述服务端中保存的所述交互ID以及与所述交互ID关联的已存储序号删除。
6.根据权利要求3所示的REST请求响应方法,其特征在于,还包括:
定时轮询所述服务端中保存的全部应用ID、全部交互ID以及与各个交互ID关联的已存储序号;
如果存在已存储序号超过预设时间间隔未更新,则将与超过预设时间间隔未更新的已存储序号关联的交互ID删除;
如果所述服务端中保存的应用ID对应的全部交互ID已被删除,则将全部交互ID已被删除的应用ID删除。
7.根据权利要求1所示的REST请求响应方法,其特征在于,所述判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续之后,还包括:
如果判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号不连续,则向所述客户端反馈相应的错误提示信息。
8.一种REST请求响应装置,其特征在于,应用于服务端,包括:
请求获取模块,用于获取客户端发送的REST请求,其中,所述REST请求中包括交互ID和当前请求序号,当前请求序号为所述客户端中发送所述REST请求的REST线程基于上次发送REST请求时的序号生成;
校验模块,用于对所述交互ID进行校验;
判断模块,用于在所述交互ID校验通过时,判断当前请求序号与所述服务端中保存的与所述交互ID关联的已存储序号是否连续;
数据更新模块,用于在所述判断模块的判断结果为是时,则利用当前请求序号更新所述已存储序号;
请求响应模块,用于对所述REST请求进行响应,并将响应结果反馈到所述客户端。
9.一种电子设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至7任一项所述的REST请求响应方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的REST请求响应方法。
CN202010989180.6A 2020-09-18 2020-09-18 一种rest请求响应方法、装置、设备及介质 Active CN112153037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010989180.6A CN112153037B (zh) 2020-09-18 2020-09-18 一种rest请求响应方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010989180.6A CN112153037B (zh) 2020-09-18 2020-09-18 一种rest请求响应方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112153037A true CN112153037A (zh) 2020-12-29
CN112153037B CN112153037B (zh) 2023-07-14

Family

ID=73893981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010989180.6A Active CN112153037B (zh) 2020-09-18 2020-09-18 一种rest请求响应方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112153037B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812235A (zh) * 2016-03-04 2016-07-27 百度在线网络技术(北京)有限公司 消息处理方法、装置及系统
US20170180513A1 (en) * 2015-12-16 2017-06-22 Mastercard International Incorporated Method and system of processing a transaction on a server
CN108702393A (zh) * 2015-12-30 2018-10-23 亚马逊科技有限公司 服务授权握手
CN109120616A (zh) * 2018-08-16 2019-01-01 上海达梦数据库有限公司 一种身份认证方法、装置、代理服务端和存储介质
CN109639564A (zh) * 2018-12-12 2019-04-16 金瓜子科技发展(北京)有限公司 一种获取离线消息的方法、装置及计算机可读存储介质
CN110413420A (zh) * 2019-01-23 2019-11-05 腾讯科技(深圳)有限公司 数据传输方法、装置、终端及存储介质
CN110753037A (zh) * 2019-09-27 2020-02-04 苏州浪潮智能科技有限公司 一种令牌的管理方法、设备以及存储介质
CN110795288A (zh) * 2019-11-06 2020-02-14 杭州复杂美科技有限公司 数据获取方法、设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170180513A1 (en) * 2015-12-16 2017-06-22 Mastercard International Incorporated Method and system of processing a transaction on a server
CN108702393A (zh) * 2015-12-30 2018-10-23 亚马逊科技有限公司 服务授权握手
CN105812235A (zh) * 2016-03-04 2016-07-27 百度在线网络技术(北京)有限公司 消息处理方法、装置及系统
CN109120616A (zh) * 2018-08-16 2019-01-01 上海达梦数据库有限公司 一种身份认证方法、装置、代理服务端和存储介质
CN109639564A (zh) * 2018-12-12 2019-04-16 金瓜子科技发展(北京)有限公司 一种获取离线消息的方法、装置及计算机可读存储介质
CN110413420A (zh) * 2019-01-23 2019-11-05 腾讯科技(深圳)有限公司 数据传输方法、装置、终端及存储介质
CN110753037A (zh) * 2019-09-27 2020-02-04 苏州浪潮智能科技有限公司 一种令牌的管理方法、设备以及存储介质
CN110795288A (zh) * 2019-11-06 2020-02-14 杭州复杂美科技有限公司 数据获取方法、设备和存储介质

Also Published As

Publication number Publication date
CN112153037B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
KR102556741B1 (ko) 서로 다른 파티들 사이에서 객체들을 추적하는 기법
US9712327B1 (en) System and method for remote storage auditing
US20160253517A1 (en) File storage system and user terminal
US11804961B1 (en) Secure video content transmission over a computer network
CN109565518A (zh) 可互换的内容取回
CN109408486B (zh) 文件发布方法和系统、发布服务器和文件生成装置
CN109120576B (zh) 数据分享方法及装置、计算机设备及存储介质
CN111181905B (zh) 文件加密方法及装置
CN112153037A (zh) 一种rest请求响应方法、装置、设备及介质
US10558412B2 (en) Content delivery network including mobile devices
CN109525747B (zh) 图片上传方法、加解密方法、装置、系统及电子设备
CN112165381B (zh) 密钥管理系统和方法
CN112818408A (zh) 数据管理系统、数据管理装置、存储介质及数据管理方法
CN111786936A (zh) 用于鉴权的方法和装置
CN116405319B (zh) 基于区块链的碳金融凭证共享方法和装置、设备和介质
CN112822175B (zh) 一种信息访问方法、装置及电子设备
CN113297605B (zh) 复制数据管理方法、装置、电子设备及计算机可读介质
CN110912720B (zh) 信息生成方法和装置
CN114584556A (zh) 文件传输方法和装置
CN115222525A (zh) 一种数字货币的导出方法、装置及系统
CN114386073A (zh) 创建安全证书方法、装置、电子设备及存储介质
CN115865422A (zh) 网络中待监管密文监管方法和系统
CN116993334A (zh) 无卡取款方法、装置、设备、介质和计算机程序产品
KR100620385B1 (ko) 핀패드 공유 시스템 및 방법과 그 프로그램을 기록한기록매체
CN113870416A (zh) 基于全链路加密的三维实景模型展示方法以及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant