CN110233842B - 一种请求的校验方法和相关装置 - Google Patents
一种请求的校验方法和相关装置 Download PDFInfo
- Publication number
- CN110233842B CN110233842B CN201910504182.9A CN201910504182A CN110233842B CN 110233842 B CN110233842 B CN 110233842B CN 201910504182 A CN201910504182 A CN 201910504182A CN 110233842 B CN110233842 B CN 110233842B
- Authority
- CN
- China
- Prior art keywords
- request
- server
- field
- expression
- custom expression
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Abstract
本申请实施例公开了一种请求的校验方法和相关装置。本申请实施例方法包括:服务器先接收客户端的请求;服务器然后根据请求获取请求规范,请求规范中包含第一自定义表达式,第一自定义表达式用于表征校验规则,由于第一自定义表达式可以根据实际需求编写,所以服务器根据第一自定义表达式对请求进行校验,不仅可以满足单一字段的校验需求,还可以满足字段间关联关系等其他校验需求。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种请求的校验方法和相关装置。
背景技术
客户端在访问过程中,一般需要向服务器发送请求消息,服务器在接收到请求后通常需要判断请求的格式是否正确,以约束请求的数据结构。
客户端向服务器发送的请求有多种,其中一种是JS对象简谱(Java ScriptObject Notation,JSON),这是一种轻量级的数据交换格式,而JS对象简谱规范(JavaScript Object Notation Schema,JSON Schema)是约束JSON数据结构的一种规范,多用于校验JOSN请求的格式是否正确。
现有的JS对象简谱规范,定义了一个JSON数据体结构,并通过限制JSON请求中的各个字段实现对JSON请求的校验。例如,可以通过限制字段的最大值和最小值实现对JSON请求中数字类型字段的校验,也可以通过限制字段的最大长度和最小长度实现对JSON请求中字符串类型字段的校验。
然而,现有的JS对象简谱规范仅能对JSON请求中的单个字段进行校验,功能单一。
发明内容
本申请实施例提供了一种请求的校验方法和相关装置,能够对请求进行多种类型的校验,不仅可以满足单一字段的校验需求,还可以满足字段间关联关系等其他校验需求。
有鉴于此,本申请第一方面提供一种请求的校验方法,包括:
服务器接收客户端的请求;
所述服务器根据所述请求获取请求规范,所述请求规范中包含第一自定义表达式,所述第一自定义表达式用于表征校验规则;
所述服务器根据所述第一自定义表达式对所述请求进行校验。
本申请第二方面提供另一种请求的校验装置,包括:
接收单元,接收客户端的请求;
第一获取单元,用于根据所述请求获取请求规范,所述请求规范中包含第一自定义表达式,所述第一自定义表达式用于表征校验规则;
校验单元,用于根据所述第一自定义表达式对所述请求进行校验。
在一种可能的设计中,在本申请实施例的第二方面的第二种实现方式中,
所述校验单元用于:
获取所述请求中的所述第一字段;
若第一字段表示无对第二字段进行校验的标志位,则不对所述第二字段进行校验;
若第一字段表示有对第二字段进行校验的标志位,则校验所述第二字段的格式是否合格。
在一种可能的设计中,在本申请实施例的第二方面的第三种实现方式中,
所述装置还包括:
第二获取单元,用于从数据库中获取已存在的名称,所述已存在的名称与所述请求相关;
所述校验单元用于:
获取所述请求中的所述第三字段;
若所述已存在的名称中包括所述第三字段标识的名称,则判断所述第三字段标识的名称唯一;
若所述已存在的名称中不包括所述第三字段标识的名称,则判断所述第三字段标识的名称不唯一。
在一种可能的设计中,在本申请实施例的第二方面的第四种实现方式中,
所述校验单元用于:
所述服务器根据所述第一自定义表达式确定第二自定义表达式,所述第二自定义表达式由所述第一自定义表达式编译得到;
所述服务器执行所述第二自定义表达式以对所述请求进行校验。
在一种可能的设计中,在本申请实施例的第二方面的第五种实现方式中,
所述校验单元用于:
若缓存中存在所述第二自定义表达式,则所述服务器从缓存中获取所述第二自定义表达式,所述第二自定义表达式由所述第一自定义表达式编译得到;
所述服务器执行所述第二自定义表达式以对所述请求进行校验。
在一种可能的设计中,在本申请实施例的第二方面的第六种实现方式中,
所述校验单元用于:
若缓存中存在所述第二自定义表达式,则所述服务器从缓存中获取所述第二自定义表达式,所述第二自定义表达式由所述第一自定义表达式编译得到;
若缓存中不存在所述第二自定义表达式,则所述服务器编译所述第一自定义表达式得到所述第二自定义表达式,并将所述第二自定义表达式存入缓存;
所述服务器执行所述第二自定义表达式以对所述请求进行校验。
本申请第三方面提供一种服务器,该服务器可以包括终端设备或者芯片等实体,所述服务器包括:处理器、存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述服务器执行如前述第一方面中任一项所述的方法。
本申请第四方面提供一种请求的校验系统,所述校验系统包括服务器、客户端和规则配置设备;
所述规则配置设备用于根据规则配置指令进行校验规则的配置;
所述服务器从所述规则配置设备或者存储有所述规则配置设备所配置的校验规则的数据库获取所述校验规则;
所述客户端用于发送请求;
所述服务器还用于执行如前述第一方面中任一项所述的方法。
本申请第五方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一项所述的方法。
本申请的第六方面提供了一种包含指令的计算机程序产品,当其在计算机或处理器上运行时,使得所述计算机或处理器执行上述第一方面中任一项所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
服务器在接收到客户端的请求后,根据请求获取请求规范对请求进行校验,其中请求可以是JS对象简谱JSON请求,由于自定义表达式可以根据实际需求编写,所以通过请求规范中的第一自定义表达式灵活调整校验规则,第一自定义表达式中的校验规则不仅可以对请求数据中的单个字段进行校验,还可以对两个字段间的关联关系,以及请求与外部数据的关系进行校验,能够满足多种校验需求,不局限于对单一字段进行校验。
附图说明
图1为请求校验系统的框架图;
图2为本申请实施例请求的校验方法的一个实施例示意图;
图3为客户在客户端建立新账号的示意图;
图4为本申请实施例中校验过程的一个实施例示意图;
图5为本申请实施例中校验过程的另一个实施例示意图;
图6为本申请实施例提供了一种请求的校验装置的一个实施例的结构示意图;
图7为本申请实施例提供了一种请求的校验装置的另一个实施例的结构示意图;
图8为本申请实施例中服务器的结构示意图;
图9为本申请实施例中请求的校验系统的示意图。
具体实施方式
本申请实施例提供了一种请求的校验方法和相关装置,能够对请求进行多种类型的校验,不仅可以满足单一字段的校验需求,还可以满足字段间关联关系等其他校验需求。
本申请实施例可应用于如图1所示的请求校验系统的框架图,在该框架中,服务器分别与客户端、配置系统连接。
客户端由客户操控,当需要服务器执行业务时,会向服务器发送请求,以请求服务器执行请求对应的业务。
服务器用于接收客户端发送的请求,然后根据自身存储的请求规范对请求进行校验。再该校验过程中,可以对请求的单一字段进行校验,也可以对多字段之间的关联关系进行校验,还可以对请求中字段与外部数据的关系进行校验。在校验结束后,服务器会根据校验结果决定是否执行请求对应的业务,并向客户端返回校验结果。
例如,如果校验成功,服务器会执行请求对应的业务,并向客户端返回校验成功的结果;如果校验失败,服务器则不会执行请求对应的业务,并向客户端返回校验失败的结果,为了使客户了解到校验失败的问题所在,服务器还可以返回校验失败的原因。
配置系统由管理人员操控,通过编写自定义表达式配置校验规则,将包含自定义表达式的请求规范存储到服务器的数据库中,供服务器调用。
需要说明的是,该请求校验系统可以应用于多种场景。例如,可以应用在内容管理系统(Content Management System,CMS系统)、客户关系管理系统(Customerrelationship management,CRM系统)、办公自动化系统(Office Automation System,OA系统)和企业资源计划(Enterprise Resource Planning,ERP系统)。
为了更好地理解本申请实施例的技术方案,下面将从服务器的角度对本申请实施例中请求的校验方法进行具体介绍。
请参阅图2,本申请实施例提供了一种请求的校验方法,包括:
201,服务器接收客户端的请求。
可以理解的是,客户操控客户端的过程中,若需要配合服务器执行业务,会先向服务器发送请求,而该请求中包含服务器在执行业务之前所需要验证的信息,其中请求可以为JS对象简谱JSON请求。
例如,如图3所示,客户在客户端建立新账号的示意图。当客户在客户端建立一个新的用户账号时,需要输入图3所示的相关信息,在该示例中,相关信息包括账号昵称、账号密码以及再次输入的账号密码。客户端会将该相关信息会配置在请求的字段中,然后将请求发送给服务器,使得服务器对请求中的字段进行校验。
202,服务器根据请求获取请求规范,请求规范中包含第一自定义表达式,第一自定义表达式用于表征校验规则。
其中,当请求为JS对象简谱JSON请求时,请求规范对应为JSON规范。
需要说明的是,本申请实施例对现有的请求规范进行修改,使得请求规范中包含第一自定义表达式,然后通过第一自定义表达式配置校验规则。由于第一自定义表达式可以根据实际需求进行编写,所以在本申请实施例中,可以通过编写第一自定义表达式调整校验规则。
例如,第一自定义表达式中的校验规则,可以用来校验请求中单一字段的格式是否合格。
以图3所示的场景为例,在实际应用中,往往要求账户昵称中不能包含敏感信息和特殊字符,所以在对账号昵称进行校验时,可以通过第一自定义表达式校验请求中字段所标识的账号昵称是否包含敏感信息,以及是否包括特护字符;同样,如果需要防止账户密码太简单,在对账号密码进行校验时,可以通过第一自定义表达式校验请求中字段所标识的账号密码位数是否达到最小位数。
再例如,第一自定义表达式中的校验规则,也可以用来校验字段与外部数据的关系。
还以图3所示的场景为例,在实际应用中,账号昵称往往要求唯一,即不允许存在两个账号昵称相同的账号;所以在对账号昵称进行校验时,可以通过第一自定义表达式校验请求中字段所标识的账号昵称是否唯一。
除了以上提及的第一自定义表达式中校验规则的作用,第一自定义表达式中的校验规则还可以用来校验字段间的关联联系。
这里仍以图3所示的场景为例,其中校验规则可以包括:当账号昵称的位数超过10位时,不对请求中字段所标识的账号密码位数进行校验;当账号昵称的位数不超过10时,校验请求中字段所标识的账号密码位数是否超过6位。
另外,在本申请实施例中,在请求规范添加第一自定义表达式的方式有多种。例如,可以将第一自定义表达式嵌入请求规范原有的字段中,但工作量大,且破化了请求规范原有的字段结构,所以在本申请实施例中,还可以采用新增字段的方法,即在新增字段中输入第一自定义表达式。
而第一自定义表达式的类型也可以根据实际需要灵活选择,例如可以选用MVEL、OGNL和Groovy三种表达式引擎。
可以理解的是,请求规范配置完成后,会将请求规范存储在服务器的数据中,所以服务器在首次校验请求时,会从数据库中根据请求获取请求规范,此后的每次校验都可以从数据库中根据请求获取请求规范;而为了加快根据请求获取请求规范的速度,可以将获取到的请求规范存储到缓存中,供服务器后续调用,显然,从缓存中根据请求获取请求规范的速度会快于从数据库中根据请求获取请求规范。
因此,在本申请实施例中,对请求规范获取来源不做限定,可以从数据库中获取,也可以从缓存中获取。
步骤203,服务器根据第一自定义表达式对请求进行校验。
可以理解的是,第一自定义表达式不同,对应的校验规则就不同,相应地,校验过程也不同,所以在此不对校验过程详述,之后会基于具体校验规则对校验过程进行说明。
另外,校验结束后,服务器可以向客户端发送校验结果并根据校验结果决定是否进行执行请求对应的业务。
具体地,当校验成功后,服务器可以向客户端发送校验成功的通知,并执行请求对应的业务;当校验失败后,服务器可以向客户端发送校验失败的通知,还可以向客户端发送校验失败的原因,且不执行请求对应的业务。
在本申请实施例中,通过请求规范中的第一自定义表达式灵活调整校验规则,可以对请求数据中的单个字段进行校验,可以对两个字段间的关联关系进行校验,以及还可以对请求与外部数据的关系进行校验,因此能够满足多种校验需求,不局限于对单一字段进行校验;不仅如此,由于第一自定义表达式的调整不需要将请求规范的整套代码进行重新编写,所以本申请实施例中请求的校验方法还具备动态配置请求规范的特性,并且不需要重启服务器,从而提升了请求规范的配置效率、服务可用性及服务灵活性。
进一步地,当校验规则用于校验请求中字段间的关联关系时,校验规则包括多种,接下来仅以一种校验规则为例,对校验过程进行具体介绍。
请参阅图4,本申请实施例校验过程的一个实施例示意图。
本申请实施例中,校验规则用于校验第一字段和第二字段的关联关系。
具体地,服务器根据第一自定义表达式对请求进行校验可以包括:
401,获取请求中的第一字段。
402,若第一字段表示无对第二字段进行校验的标志位,则不对第二字段进行校验。
403,若第一字段表示有对第二字段进行校验的标志位,则校验第二字段的格式是否合格。
在本申请实施例中,第一字段用于表示是否有对第二字段进行校验的标志位;当第一字段标识有对第二字段进行校验的标志位时,需要对第二字段中数据进行校验,而当第一字段标识无对第二字段进行校验的标志位时,不需要对第二字段中数据进行校验。
例如,当本申请实施例中的请求校验系统应用在机器人对话系统中时,客户端为机器人,机器人与后台服务器通信连接;在客户与机器人对话的过程中,若客户询问机器人天气情况,机器人需要去特定地服务地址查询天气情况,则机器人会向服务器发送请求,该请求中会包含第一字段和第二字段,第一字段表示有对第二字段进行校验的标志位,第二字段标识的是查询天气情况的服务地址,所以服务器在接收到请求后,需要校验第二字段标识的服务地址的格式是否合格。
进一步地,当校验规则还可以用于校验请求中字段与外部数据的关系时,校验规则也包括多种,接下来仅以一种校验规则为例,对校验过程进行具体介绍。
需要说明的是,在本申请实施例中,外部数据为除请求外的数据,即该数据可以存储在服务器数据库中,也可以存在其他终端的数据库中。
在本申请实施例中,当校验规则具体为校验第三字段标识的名称是否唯一时,请求的校验方法还包括:
从数据库中获取已存在的名称,已存在的名称与请求相关。
在本申请实施例中,该数据库可以是服务器的本地数据库,还可以为其他终端或服务器的数据库。
需要说明的是,由于数据库中的名称有多种,例如,可以包括文件的名称、账号的名称、标题的名称以及其他等多种名称,而在实际应用中,判断第三字段标识的名称是否唯一,一般是将第三字段标识的名称与数据库中同类型的名称相比,例如当第三字段表示的名称为账号的名称时,已存在的名称也应当是已存在的账号名称,如果获取到的文件的名称,那么判断唯一性则没有意义。
因此,在本申请实施例中,已存在的名称与请求相关,具体可以为与第三字段所标识名称同类型的名称。
请参阅图5,本申请实施例校验过程的另一个实施例示意图。
在本申请实施例中,服务器根据第一自定义表达式对请求进行校验包括:
501,获取请求中的第三字段。
502,若已存在的名称中包括第三字段标识的名称,则判断第三字段标识的名称唯一;
503,若已存在的名称中不包括第三字段标识的名称,则判断第三字段标识的名称不唯一。
可以理解的是,校验第三字段标识的名称是否唯一可以应用在多种场景。
例如,客户在客户端创建新账号,账号包括名称、邮箱、手机号等多个字段。在请求中,一般使用“name”字段标识账号名称,但要求这个账号名称必须是全局唯一的,即不能重复,这在实际应用中是相当常见的。为此,服务器在校验“name”字段时,需要查询数据库中已存在的名称,从而判断该账号名称是否唯一。
上述是对校验过程的具体说明,为了增强用户体验感,当账号名称不唯一时,服务器还可以向客户端发送“账号名称已存在”的指示,而当账号名称唯一时,服务器可以向客户端发送“账号名称可使用”的指示。
进一步地,服务器根据第一自定义表达式对请求进行校验可以包括:
服务器根据第一自定义表达式确定第二自定义表达式,第二自定义表达式由第一自定义表达式编译得到。
需要说明的是,编译前后只是程序语言发生变化,实质不变,所以第一自定义表达式和第二自定义表达式是等同的,但相比于直接执行编译前的第一自定义表达式,服务器直接执行编译后的第二自定义表达式的效率较高,因为本申请实施例根据第一自定义表达式确定第二自定义表达式。
服务器执行第二自定义表达式以对请求进行校验。
进一步地,服务器根据第一自定义表达式确定第二自定义表达式的方式包括多种,可以包括:
若缓存中存在第二自定义表达式,则服务器从缓存中获取第二自定义表达式。
可以理解的是,当缓存中存在第二自定义表达式时,服务器可以根据第一自定义表达式查找缓存中的第二自定义表达式,例如可以根据第一自定义表达式和第二自定义表达式的映射关系查找第二自定义表达式,也可以通过第一自定义表达式与第二自定义表达式之间的共同标识查找第二自定义表达式。
进一步地,服务器根据第一自定义表达式确定第二自定义表达式还可以包括:
若缓存中不存在第二自定义表达式,则服务器编译第一自定义表达式得到第二自定义表达式,并将第二自定义表达式存入缓存。
需要说明的是,由于缓存中不存在第二自定义表达式,所以服务器对第一自定义表达式进行编译,得到第二自定义表达式,为了方便此后的校验可以直接从缓存中获取第二自定义表达式,本申请实施例将第二自定义表达式存入缓存,以避免每次执行第二自定义表达式之前都需要编译。
下面对本申请实施例中的请求的校验装置进行详细描述,请参阅图6,本申请实施例提供了一种请求的校验装置的一个实施例的结构示意图,校验装置包括:
接收单元601,接收客户端的请求;
第一获取单元602,用于根据请求获取请求规范,请求规范中包含第一自定义表达式,第一自定义表达式用于表征校验规则;
校验单元603,用于根据第一自定义表达式对请求进行校验。
进一步地,在校验装置的另一个实施例中,
校验单元603可以用于:
获取请求中的第一字段;
若第一字段表示无对第二字段进行校验的标志位,则不对第二字段进行校验;
若第一字段表示有对第二字段进行校验的标志位,则校验第二字段的格式是否合格。
进一步地,请参阅图7,本申请实施例提供了一种请求的校验装置的另一个实施例的结构示意图,在该实施例中,校验装置还可以包括:第二获取单元604,用于从数据库中获取已存在的名称,已存在的名称与请求相关;
校验单元603可以用于:
获取请求中的第三字段;
若已存在的名称中包括第三字段标识的名称,则判断第三字段标识的名称唯一;
若已存在的名称中不包括第三字段标识的名称,则判断第三字段标识的名称不唯一。
进一步地,在校验装置的另一个实施例中,校验单元603可以用于:
服务器根据第一自定义表达式确定第二自定义表达式,第二自定义表达式由第一自定义表达式编译得到;
服务器执行第二自定义表达式以对请求进行校验。
进一步地,在校验装置的另一个实施例中,校验单元603可以用于:
若缓存中存在第二自定义表达式,则服务器从缓存中获取第二自定义表达式,第二自定义表达式由第一自定义表达式编译得到;
服务器执行第二自定义表达式以对请求进行校验。
进一步地,在校验装置的另一个实施例中,
校验单元603可以用于:
若缓存中存在第二自定义表达式,则服务器从缓存中获取第二自定义表达式,第二自定义表达式由第一自定义表达式编译得到;
若缓存中不存在第二自定义表达式,则服务器编译第一自定义表达式得到第二自定义表达式,并将第二自定义表达式存入缓存;
服务器执行第二自定义表达式以对请求进行校验。
图8是本发明实施例提供的一种服务器的结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。
本实施例中,CPU 322用于执行上述实施例中请求的校验装置所执行的操作,具体此处不再赘述。
本实施例中,CPU 322中的具体功能模块划分可以与请求的校验装置中接收单元、第一获取单元、校验单元及第二获取单元等单元的功能模块划分方式类似,此处不再赘述。
请参阅图9,本申请实施例中请求的校验系统的示意图,该请求的校验系统包括服务器200、客户端300和规则配置设备100;
规则配置设备100用于根据规则配置指令进行校验规则的配置;
服务器200从规则配置设备100或者存储有规则配置设备100所配置的校验规则的数据库获取校验规则;
客户端300用于发送请求;
服务器200还用于执行上述实施例中请求的校验装置所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述请求的校验装置或服务器所用的计算机软件指令,其包括用于执行为请求的校验装置或服务器所设计的程序。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述请求的校验方法中的流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (9)
1.一种请求的校验方法,其特征在于,包括:
服务器接收客户端的请求;
所述服务器根据所述请求获取请求规范,所述请求规范中包含第一自定义表达式,所述第一自定义表达式用于表征校验规则,所述校验规则用于校验所述请求中字段间的关联关系;
所述服务器根据所述第一自定义表达式对所述请求进行校验;
所述服务器根据所述第一自定义表达式对所述请求进行校验包括:
获取所述请求中的第一字段;
若所述第一字段表示无对第二字段进行校验的标志位,则不对所述第二字段进行校验;
若所述第一字段表示有对所述第二字段进行校验的标志位,则校验所述第二字段的格式是否合格。
2.根据权利要求1所述的请求的校验方法,其特征在于,所述校验规则用于校验所述请求中字段与外部数据的关系,所述外部数据为除所述请求外的数据。
3.根据权利要求2所述的请求的校验方法,其特征在于,所述校验规则为校验第三字段标识的名称是否唯一;
所述方法还包括:从数据库中获取已存在的名称,所述已存在的名称与所述请求相关;
所述服务器根据所述第一自定义表达式对所述请求进行校验包括:
获取所述请求中的所述第三字段;
若所述已存在的名称中包括所述第三字段标识的名称,则判断所述第三字段标识的名称不唯一;
若所述已存在的名称中不包括所述第三字段标识的名称,则判断所述第三字段标识的名称唯一。
4.根据权利要求1所述的请求的校验方法,其特征在于,所述服务器根据所述第一自定义表达式对所述请求进行校验包括:
所述服务器根据所述第一自定义表达式确定第二自定义表达式,所述第二自定义表达式由所述第一自定义表达式编译得到;
所述服务器执行所述第二自定义表达式以对所述请求进行校验。
5.根据权利要求4所述的请求的校验方法,其特征在于,所述服务器根据所述第一自定义表达式确定第二自定义表达式包括:
若缓存中存在所述第二自定义表达式,则所述服务器从缓存中获取所述第二自定义表达式。
6.根据权利要求5所述的请求的校验方法,其特征在于,所述服务器根据所述第一自定义表达式确定第二自定义表达式还包括:
若缓存中不存在所述第二自定义表达式,则所述服务器编译所述第一自定义表达式得到所述第二自定义表达式,并将所述第二自定义表达式存入缓存。
7.一种请求的校验装置,其特征在于,包括:
接收单元,接收客户端的请求;
第一获取单元,用于根据所述请求获取请求规范,所述请求规范中包含第一自定义表达式,所述第一自定义表达式用于表征校验规则,所述校验规则用于校验所述请求中字段间的关联关系;
校验单元,用于根据所述第一自定义表达式对所述请求进行校验;
所述校验单元用于:
获取所述请求中的第一字段;
若所述第一字段表示无对第二字段进行校验的标志位,则不对所述第二字段进行校验;
若所述第一字段表示有对所述第二字段进行校验的标志位,则校验所述第二字段的格式是否合格。
8.一种服务器,其特征在于,包括:
一个或一个以上中央处理器,存储器,输入输出接口,有线或无线网络接口,电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述控制面功能实体上执行所述存储器中的指令操作以执行权利要求1至6中任意一项所述的方法。
9.一种请求的校验系统,其特征在于,所述校验系统包括服务器、客户端和规则配置设备;
所述规则配置设备用于根据规则配置指令进行校验规则的配置;
所述服务器从所述规则配置设备或者存储有所述规则配置设备所配置的校验规则的数据库获取所述校验规则;
所述客户端用于发送请求;
所述服务器还用于执行权利要求1-6任一项所述的校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910504182.9A CN110233842B (zh) | 2019-06-10 | 2019-06-10 | 一种请求的校验方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910504182.9A CN110233842B (zh) | 2019-06-10 | 2019-06-10 | 一种请求的校验方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110233842A CN110233842A (zh) | 2019-09-13 |
CN110233842B true CN110233842B (zh) | 2021-07-27 |
Family
ID=67858788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910504182.9A Active CN110233842B (zh) | 2019-06-10 | 2019-06-10 | 一种请求的校验方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110233842B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078512B (zh) * | 2019-11-05 | 2023-09-12 | 远景智能国际私人投资有限公司 | 告警记录生成方法、装置、告警设备及存储介质 |
CN115065516B (zh) * | 2022-06-06 | 2024-04-09 | 上海华信长安网络科技有限公司 | 一种voip设备自定义请求鉴权的方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103639A (zh) * | 2011-01-26 | 2011-06-22 | 北京京东世纪贸易有限公司 | 数据验证方法和装置 |
CN102685749A (zh) * | 2012-05-30 | 2012-09-19 | 杭州师范大学 | 面向移动终端的无线安全身份验证方法 |
CN102819766A (zh) * | 2011-06-09 | 2012-12-12 | 金蝶软件(中国)有限公司 | 一种表单校验方法、装置及企业系统 |
CN107315958A (zh) * | 2016-04-26 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 数据对象的合法性验证方法和装置 |
CN107483467A (zh) * | 2017-08-31 | 2017-12-15 | 四川长虹电器股份有限公司 | 面向互联网接口服务的json报文校验方法 |
CN107908725A (zh) * | 2017-11-14 | 2018-04-13 | 中国银行股份有限公司 | 一种批量数据校验方法、装置和系统 |
CN107979501A (zh) * | 2016-10-21 | 2018-05-01 | 华为数字技术(苏州)有限公司 | 一种bfd会话协商的方法、装置及系统 |
CN108132880A (zh) * | 2017-12-21 | 2018-06-08 | 武汉斑马快跑科技有限公司 | 一种参数校验方法及装置 |
CN109446208A (zh) * | 2018-09-03 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 一种数据存储方法、计算机可读存储介质及服务器 |
CN109542919A (zh) * | 2018-10-30 | 2019-03-29 | 福建省华渔教育科技有限公司 | 一种统一数据验证的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753605B (zh) * | 2008-12-02 | 2012-08-08 | 北大方正集团有限公司 | 一种数据验证方法及一种服务器 |
CN103888254B (zh) * | 2012-12-21 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 一种网络验证信息的方法和装置 |
US10402163B2 (en) * | 2017-02-14 | 2019-09-03 | Accenture Global Solutions Limited | Intelligent data extraction |
CN107341141B (zh) * | 2017-07-24 | 2020-11-10 | 上海网易小额贷款有限公司 | 表单管理方法、装置、介质和计算设备 |
-
2019
- 2019-06-10 CN CN201910504182.9A patent/CN110233842B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103639A (zh) * | 2011-01-26 | 2011-06-22 | 北京京东世纪贸易有限公司 | 数据验证方法和装置 |
CN102819766A (zh) * | 2011-06-09 | 2012-12-12 | 金蝶软件(中国)有限公司 | 一种表单校验方法、装置及企业系统 |
CN102685749A (zh) * | 2012-05-30 | 2012-09-19 | 杭州师范大学 | 面向移动终端的无线安全身份验证方法 |
CN107315958A (zh) * | 2016-04-26 | 2017-11-03 | 北京京东尚科信息技术有限公司 | 数据对象的合法性验证方法和装置 |
CN107979501A (zh) * | 2016-10-21 | 2018-05-01 | 华为数字技术(苏州)有限公司 | 一种bfd会话协商的方法、装置及系统 |
CN107483467A (zh) * | 2017-08-31 | 2017-12-15 | 四川长虹电器股份有限公司 | 面向互联网接口服务的json报文校验方法 |
CN107908725A (zh) * | 2017-11-14 | 2018-04-13 | 中国银行股份有限公司 | 一种批量数据校验方法、装置和系统 |
CN108132880A (zh) * | 2017-12-21 | 2018-06-08 | 武汉斑马快跑科技有限公司 | 一种参数校验方法及装置 |
CN109446208A (zh) * | 2018-09-03 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 一种数据存储方法、计算机可读存储介质及服务器 |
CN109542919A (zh) * | 2018-10-30 | 2019-03-29 | 福建省华渔教育科技有限公司 | 一种统一数据验证的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110233842A (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8290998B2 (en) | Systems and methods for generating cloud computing landscapes | |
US8856365B2 (en) | Computer-implemented method, computer system and computer readable medium | |
EP3376403A1 (en) | Method of accessing distributed database and device providing distributed data service | |
CN112766646B (zh) | 任务流程的生成、处理方法、装置、设备和存储介质 | |
WO2019223136A1 (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
CN110233842B (zh) | 一种请求的校验方法和相关装置 | |
US9141442B1 (en) | Automated connector creation for provisioning systems | |
CN114090113B (zh) | 数据源处理插件动态加载的方法、装置、设备及存储介质 | |
KR102583532B1 (ko) | 스케줄링 방법, 장치, 기기, 기록 매체 및 컴퓨터 프로그램 | |
CN108958933B (zh) | 任务执行器的配置参数更新方法、装置及设备 | |
CN113126999A (zh) | 参数校验方法、参数校验装置和电子设备 | |
US10467143B1 (en) | Event-driven cache | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN114489674A (zh) | 动态数据模型的数据校验方法和装置 | |
CN112261072A (zh) | 一种服务调用方法、装置、设备和存储介质 | |
CN114640652B (zh) | 一种信息处理方法及装置 | |
CN112988738A (zh) | 用于区块链的数据分片方法和装置 | |
CN113220282B (zh) | 小程序的开发处理方法、设备和存储介质 | |
CN116561106B (zh) | 一种配置项数据管理方法及系统 | |
US11579930B2 (en) | Resource determination based on resource definition data | |
CN113760886B (zh) | 提供数据服务的方法、装置、设备和计算机可读介质 | |
US20230247111A1 (en) | Runtime module conversion | |
CN117827369A (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 |